UNPKG

fundamental-ngx

Version:

SAP Fundamentals, implemented in Angular

274 lines 16.7 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, ElementRef, EventEmitter, forwardRef, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; /** @type {?} */ var toggleUniqueId = 0; /** * The Toggle component is used to activate or deactivate an element. * It uses a visual metaphor to inform the user of the state of the toggle. */ var ToggleComponent = /** @class */ (function () { function ToggleComponent() { /** * Whether the toggle is disabled. */ this.disabled = false; /** * Id for the toggle component. If omitted, a unique one is generated. */ this.id = 'fd-toggle-' + toggleUniqueId++; /** * Whether the toggle is checked. */ this.checked = false; /** * aria-label attribute of the inner input element. */ this.ariaLabel = null; /** * aria-labelledby attribute of the inner input element. */ this.ariaLabelledby = null; /** * Event fired when the state of the toggle changes. * *$event* can be used to retrieve the new state of the toggle. */ this.checkedChange = new EventEmitter(); /** * @hidden */ this.onChange = (/** * @return {?} */ function () { }); /** * @hidden */ this.onTouched = (/** * @return {?} */ function () { }); } /** @hidden */ /** * @hidden * @return {?} */ ToggleComponent.prototype.ngOnInit = /** * @hidden * @return {?} */ function () { if (this.size && this.size !== 'xs' && this.size !== 's' && this.size !== 'l') { this.size = null; } }; /** Set focus on the input element. */ /** * Set focus on the input element. * @return {?} */ ToggleComponent.prototype.focus = /** * Set focus on the input element. * @return {?} */ function () { this.inputElement.nativeElement.focus(); }; Object.defineProperty(ToggleComponent.prototype, "innerInputId", { /** Get the id of the inner input element of the toggle. */ get: /** * Get the id of the inner input element of the toggle. * @return {?} */ function () { return this.id + "-input"; }, enumerable: true, configurable: true }); Object.defineProperty(ToggleComponent.prototype, "isChecked", { /** Get the isChecked property of the toggle. */ get: /** * Get the isChecked property of the toggle. * @return {?} */ function () { return this.checked; }, /** Set the isChecked property of the toggle. */ set: /** * Set the isChecked property of the toggle. * @param {?} value * @return {?} */ function (value) { this.checked = value; this.onChange(value); this.onTouched(); this.checkedChange.emit(value); }, enumerable: true, configurable: true }); /** * @hidden * @param value Sets the value of the *checked* property of the toggle. */ /** * @hidden * @param {?} value Sets the value of the *checked* property of the toggle. * @return {?} */ ToggleComponent.prototype.writeValue = /** * @hidden * @param {?} value Sets the value of the *checked* property of the toggle. * @return {?} */ function (value) { this.checked = value; }; /** * @hidden * @param fn User defined function that handles the *onChange* event of the toggle. */ /** * @hidden * @param {?} fn User defined function that handles the *onChange* event of the toggle. * @return {?} */ ToggleComponent.prototype.registerOnChange = /** * @hidden * @param {?} fn User defined function that handles the *onChange* event of the toggle. * @return {?} */ function (fn) { this.onChange = fn; }; /** * @hidden * @param fn User defined function that handles the *onTouch* event of the toggle. */ /** * @hidden * @param {?} fn User defined function that handles the *onTouch* event of the toggle. * @return {?} */ ToggleComponent.prototype.registerOnTouched = /** * @hidden * @param {?} fn User defined function that handles the *onTouch* event of the toggle. * @return {?} */ function (fn) { this.onTouched = fn; }; /** * @hidden * @param isDisabled Sets the value of the *disabled* property of the toggle. */ /** * @hidden * @param {?} isDisabled Sets the value of the *disabled* property of the toggle. * @return {?} */ ToggleComponent.prototype.setDisabledState = /** * @hidden * @param {?} isDisabled Sets the value of the *disabled* property of the toggle. * @return {?} */ function (isDisabled) { this.disabled = isDisabled; }; ToggleComponent.decorators = [ { type: Component, args: [{ selector: 'fd-toggle', template: "<label class=\"fd-form__label\" [attr.for]=\"innerInputId\">\n <span class=\"fd-toggle fd-form__control\" [ngClass]=\"(this.size ? ('fd-toggle--' + this.size) : '')\">\n <input #input\n type=\"checkbox\"\n [id]=\"innerInputId\"\n [disabled]=\"this.disabled\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-label]=\"this.ariaLabel\"\n [attr.aria-labelledby]=\"this.ariaLabelledby\"\n [(ngModel)]=\"this.isChecked\">\n <span class=\"fd-toggle__switch\" role=\"presentation\"></span>\n </span>\n <ng-content></ng-content>\n</label>\n", providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((/** * @return {?} */ function () { return ToggleComponent; })), multi: true } ], host: { class: 'fd-form__item fd-form__item--check fd-toggle-custom', '[attr.id]': 'id', }, encapsulation: ViewEncapsulation.None, styles: [".fd-toggle-custom{display:block}"] }] } ]; ToggleComponent.propDecorators = { inputElement: [{ type: ViewChild, args: ['input',] }], size: [{ type: Input }], disabled: [{ type: Input }], id: [{ type: Input }], checked: [{ type: Input }], ariaLabel: [{ type: Input }], ariaLabelledby: [{ type: Input }], checkedChange: [{ type: Output }] }; return ToggleComponent; }()); export { ToggleComponent }; if (false) { /** * @hidden * @type {?} */ ToggleComponent.prototype.inputElement; /** * The size of the toggle. * Can be one of the four *xs*, *s*, *l*, *error* or default. * @type {?} */ ToggleComponent.prototype.size; /** * Whether the toggle is disabled. * @type {?} */ ToggleComponent.prototype.disabled; /** * Id for the toggle component. If omitted, a unique one is generated. * @type {?} */ ToggleComponent.prototype.id; /** * Whether the toggle is checked. * @type {?} */ ToggleComponent.prototype.checked; /** * aria-label attribute of the inner input element. * @type {?} */ ToggleComponent.prototype.ariaLabel; /** * aria-labelledby attribute of the inner input element. * @type {?} */ ToggleComponent.prototype.ariaLabelledby; /** * Event fired when the state of the toggle changes. * *$event* can be used to retrieve the new state of the toggle. * @type {?} */ ToggleComponent.prototype.checkedChange; /** * @hidden * @type {?} */ ToggleComponent.prototype.onChange; /** * @hidden * @type {?} */ ToggleComponent.prototype.onTouched; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2Z1bmRhbWVudGFsLW5neC8iLCJzb3VyY2VzIjpbImxpYi90b2dnbGUvdG9nZ2xlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNySSxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0lBRXJFLGNBQWMsR0FBVyxDQUFDOzs7OztBQU05QjtJQUFBOzs7O1FBK0JJLGFBQVEsR0FBWSxLQUFLLENBQUM7Ozs7UUFJMUIsT0FBRSxHQUFXLFlBQVksR0FBRyxjQUFjLEVBQUUsQ0FBQzs7OztRQUk3QyxZQUFPLEdBQVksS0FBSyxDQUFDOzs7O1FBSXpCLGNBQVMsR0FBVyxJQUFJLENBQUM7Ozs7UUFJekIsbUJBQWMsR0FBVyxJQUFJLENBQUM7Ozs7O1FBT3JCLGtCQUFhLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7Ozs7UUFHNUUsYUFBUTs7O1FBQVEsY0FBTyxDQUFDLEVBQUM7Ozs7UUFHekIsY0FBUzs7O1FBQVEsY0FBTyxDQUFDLEVBQUM7SUFnRTlCLENBQUM7SUE5REcsY0FBYzs7Ozs7SUFDZCxrQ0FBUTs7OztJQUFSO1FBQ0ksSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssR0FBRyxFQUFFO1lBQzNFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1NBQ3BCO0lBQ0wsQ0FBQztJQUVELHNDQUFzQzs7Ozs7SUFDL0IsK0JBQUs7Ozs7SUFBWjtRQUNJLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFHRCxzQkFBSSx5Q0FBWTtRQURoQiwyREFBMkQ7Ozs7O1FBQzNEO1lBQ0ksT0FBVSxJQUFJLENBQUMsRUFBRSxXQUFRLENBQUM7UUFDOUIsQ0FBQzs7O09BQUE7SUFHRCxzQkFBSSxzQ0FBUztRQURiLGdEQUFnRDs7Ozs7UUFDaEQ7WUFDSSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDeEIsQ0FBQztRQUVELGdEQUFnRDs7Ozs7O1FBQ2hELFVBQWMsS0FBSztZQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLENBQUM7OztPQVJBO0lBVUQ7OztPQUdHOzs7Ozs7SUFDSCxvQ0FBVTs7Ozs7SUFBVixVQUFXLEtBQVU7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7T0FHRzs7Ozs7O0lBQ0gsMENBQWdCOzs7OztJQUFoQixVQUFpQixFQUFFO1FBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVEOzs7T0FHRzs7Ozs7O0lBQ0gsMkNBQWlCOzs7OztJQUFqQixVQUFrQixFQUFFO1FBQ2hCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7O09BR0c7Ozs7OztJQUNILDBDQUFnQjs7Ozs7SUFBaEIsVUFBaUIsVUFBbUI7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQzs7Z0JBMUhKLFNBQVMsU0FBQztvQkFDUCxRQUFRLEVBQUUsV0FBVztvQkFDckIsdXBCQUFzQztvQkFFdEMsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVOzs7NEJBQUMsY0FBTSxPQUFBLGVBQWUsRUFBZixDQUFlLEVBQUM7NEJBQzlDLEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKO29CQUNELElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUscURBQXFEO3dCQUM1RCxXQUFXLEVBQUUsSUFBSTtxQkFDcEI7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7O2lCQUN4Qzs7OytCQUdJLFNBQVMsU0FBQyxPQUFPO3VCQU9qQixLQUFLOzJCQUlMLEtBQUs7cUJBSUwsS0FBSzswQkFJTCxLQUFLOzRCQUlMLEtBQUs7aUNBSUwsS0FBSztnQ0FPTCxNQUFNOztJQXVFWCxzQkFBQztDQUFBLEFBNUhELElBNEhDO1NBM0dZLGVBQWU7Ozs7OztJQUV4Qix1Q0FDMkM7Ozs7OztJQU0zQywrQkFDYTs7Ozs7SUFHYixtQ0FDMEI7Ozs7O0lBRzFCLDZCQUM2Qzs7Ozs7SUFHN0Msa0NBQ3lCOzs7OztJQUd6QixvQ0FDeUI7Ozs7O0lBR3pCLHlDQUM4Qjs7Ozs7O0lBTTlCLHdDQUM0RTs7Ozs7SUFHNUUsbUNBQXlCOzs7OztJQUd6QixvQ0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmxldCB0b2dnbGVVbmlxdWVJZDogbnVtYmVyID0gMDtcblxuLyoqXG4gKiBUaGUgVG9nZ2xlIGNvbXBvbmVudCBpcyB1c2VkIHRvIGFjdGl2YXRlIG9yIGRlYWN0aXZhdGUgYW4gZWxlbWVudC5cbiAqIEl0IHVzZXMgYSB2aXN1YWwgbWV0YXBob3IgdG8gaW5mb3JtIHRoZSB1c2VyIG9mIHRoZSBzdGF0ZSBvZiB0aGUgdG9nZ2xlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLXRvZ2dsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RvZ2dsZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdG9nZ2xlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVG9nZ2xlQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZC1mb3JtX19pdGVtIGZkLWZvcm1fX2l0ZW0tLWNoZWNrIGZkLXRvZ2dsZS1jdXN0b20nLFxuICAgICAgICAnW2F0dHIuaWRdJzogJ2lkJyxcbiAgICB9LFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgVG9nZ2xlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAVmlld0NoaWxkKCdpbnB1dCcpXG4gICAgaW5wdXRFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgLyoqXG4gICAgICogVGhlIHNpemUgb2YgdGhlIHRvZ2dsZS5cbiAgICAgKiBDYW4gYmUgb25lIG9mIHRoZSBmb3VyICp4cyosICpzKiwgKmwqLCAqZXJyb3IqIG9yIGRlZmF1bHQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzaXplOiBzdHJpbmc7XG5cbiAgICAvKiogV2hldGhlciB0aGUgdG9nZ2xlIGlzIGRpc2FibGVkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKiBJZCBmb3IgdGhlIHRvZ2dsZSBjb21wb25lbnQuIElmIG9taXR0ZWQsIGEgdW5pcXVlIG9uZSBpcyBnZW5lcmF0ZWQuICovXG4gICAgQElucHV0KClcbiAgICBpZDogc3RyaW5nID0gJ2ZkLXRvZ2dsZS0nICsgdG9nZ2xlVW5pcXVlSWQrKztcblxuICAgIC8qKiBXaGV0aGVyIHRoZSB0b2dnbGUgaXMgY2hlY2tlZC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGNoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKiBhcmlhLWxhYmVsIGF0dHJpYnV0ZSBvZiB0aGUgaW5uZXIgaW5wdXQgZWxlbWVudC4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFMYWJlbDogc3RyaW5nID0gbnVsbDtcblxuICAgIC8qKiBhcmlhLWxhYmVsbGVkYnkgYXR0cmlidXRlIG9mIHRoZSBpbm5lciBpbnB1dCBlbGVtZW50LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxhYmVsbGVkYnk6IHN0cmluZyA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBmaXJlZCB3aGVuIHRoZSBzdGF0ZSBvZiB0aGUgdG9nZ2xlIGNoYW5nZXMuXG4gICAgICogKiRldmVudCogY2FuIGJlIHVzZWQgdG8gcmV0cmlldmUgdGhlIG5ldyBzdGF0ZSBvZiB0aGUgdG9nZ2xlLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGNoZWNrZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHt9O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuc2l6ZSAmJiB0aGlzLnNpemUgIT09ICd4cycgJiYgdGhpcy5zaXplICE9PSAncycgJiYgdGhpcy5zaXplICE9PSAnbCcpIHtcbiAgICAgICAgICAgIHRoaXMuc2l6ZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogU2V0IGZvY3VzIG9uIHRoZSBpbnB1dCBlbGVtZW50LiAqL1xuICAgIHB1YmxpYyBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIC8qKiBHZXQgdGhlIGlkIG9mIHRoZSBpbm5lciBpbnB1dCBlbGVtZW50IG9mIHRoZSB0b2dnbGUuICovXG4gICAgZ2V0IGlubmVySW5wdXRJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5pZH0taW5wdXRgO1xuICAgIH1cblxuICAgIC8qKiBHZXQgdGhlIGlzQ2hlY2tlZCBwcm9wZXJ0eSBvZiB0aGUgdG9nZ2xlLiAqL1xuICAgIGdldCBpc0NoZWNrZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoZWNrZWQ7XG4gICAgfVxuXG4gICAgLyoqIFNldCB0aGUgaXNDaGVja2VkIHByb3BlcnR5IG9mIHRoZSB0b2dnbGUuICovXG4gICAgc2V0IGlzQ2hlY2tlZCh2YWx1ZSkge1xuICAgICAgICB0aGlzLmNoZWNrZWQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICAgIHRoaXMuY2hlY2tlZENoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQHBhcmFtIHZhbHVlIFNldHMgdGhlIHZhbHVlIG9mIHRoZSAqY2hlY2tlZCogcHJvcGVydHkgb2YgdGhlIHRvZ2dsZS5cbiAgICAgKi9cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5jaGVja2VkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSBmbiBVc2VyIGRlZmluZWQgZnVuY3Rpb24gdGhhdCBoYW5kbGVzIHRoZSAqb25DaGFuZ2UqIGV2ZW50IG9mIHRoZSB0b2dnbGUuXG4gICAgICovXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbikge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSBmbiBVc2VyIGRlZmluZWQgZnVuY3Rpb24gdGhhdCBoYW5kbGVzIHRoZSAqb25Ub3VjaCogZXZlbnQgb2YgdGhlIHRvZ2dsZS5cbiAgICAgKi9cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbikge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBAcGFyYW0gaXNEaXNhYmxlZCBTZXRzIHRoZSB2YWx1ZSBvZiB0aGUgKmRpc2FibGVkKiBwcm9wZXJ0eSBvZiB0aGUgdG9nZ2xlLlxuICAgICAqL1xuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB9XG5cbn1cbiJdfQ==