@beeq/angular 1.11.0 → 1.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/beeq-angular-standalone.mjs +151 -150
- package/fesm2022/beeq-angular-standalone.mjs.map +1 -1
- package/fesm2022/beeq-angular.mjs +171 -184
- package/fesm2022/beeq-angular.mjs.map +1 -1
- package/index.d.ts +18 -31
- package/package.json +1 -1
- package/standalone/index.d.ts +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"beeq-angular.mjs","sources":["../tmp-esm2022/directives/value-accessor.js","../tmp-esm2022/directives/boolean-value-accessor.js","../tmp-esm2022/directives/number-value-accessor.js","../tmp-esm2022/directives/radio-value-accessor.js","../tmp-esm2022/directives/select-value-accessor.js","../tmp-esm2022/directives/text-value-accessor.js","../tmp-esm2022/directives/angular-component-lib/utils.js","../tmp-esm2022/directives/components.js","../tmp-esm2022/directives/index.js","../tmp-esm2022/beeq.module.js","../tmp-esm2022/index.js","../tmp-esm2022/beeq-angular.js"],"sourcesContent":["import { Directive, ElementRef, HostListener } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class ValueAccessor {\n constructor(el) {\n this.el = el;\n this.onChange = () => { };\n this.onTouched = () => { };\n }\n writeValue(value) {\n this.el.nativeElement.value = this.lastValue = value == null ? '' : value;\n }\n handleChangeEvent(value) {\n if (value !== this.lastValue) {\n this.lastValue = value;\n this.onChange(value);\n }\n }\n _handleBlurEvent() {\n this.onTouched();\n }\n registerOnChange(fn) {\n this.onChange = fn;\n }\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n setDisabledState(isDisabled) {\n this.el.nativeElement.disabled = isDisabled;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: ValueAccessor, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.7\", type: ValueAccessor, isStandalone: true, host: { listeners: { \"focusout\": \"_handleBlurEvent()\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: ValueAccessor, decorators: [{\n type: Directive,\n args: [{}]\n }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { _handleBlurEvent: [{\n type: HostListener,\n args: ['focusout']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtYWNjZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9iZWVxLWFuZ3VsYXIvc3JjL2RpcmVjdGl2ZXMvdmFsdWUtYWNjZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUlwRSxNQUFNLE9BQU8sYUFBYTtJQU14QixZQUFzQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUo1QixhQUFRLEdBQXlCLEdBQUcsRUFBRSxHQUFNLENBQUMsQ0FBQztRQUM5QyxjQUFTLEdBQWUsR0FBRyxFQUFFLEdBQU0sQ0FBQyxDQUFDO0lBR04sQ0FBQztJQUV4QyxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM1RSxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBVTtRQUMxQixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUdELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBd0I7UUFDdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNELGlCQUFpQixDQUFDLEVBQWM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDOUMsQ0FBQztpSUFqQ1UsYUFBYTtxSEFBYixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixTQUFTO21CQUFDLEVBQUU7K0VBcUJYLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBEaXJlY3RpdmUoe30pXG5leHBvcnQgY2xhc3MgVmFsdWVBY2Nlc3NvciBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICBwcml2YXRlIG9uQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICgpID0+IHsvKiovfTtcbiAgcHJpdmF0ZSBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7LyoqL307XG4gIHByb3RlY3RlZCBsYXN0VmFsdWU6IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZWw6IEVsZW1lbnRSZWYpIHt9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5sYXN0VmFsdWUgPSB2YWx1ZSA9PSBudWxsID8gJycgOiB2YWx1ZTtcbiAgfVxuXG4gIGhhbmRsZUNoYW5nZUV2ZW50KHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMubGFzdFZhbHVlKSB7XG4gICAgICB0aGlzLmxhc3RWYWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZm9jdXNvdXQnKVxuICBfaGFuZGxlQmx1ckV2ZW50KCkge1xuICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCkge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG59XG4iXX0=","import { Directive, ElementRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ValueAccessor } from './value-accessor';\nimport * as i0 from \"@angular/core\";\nexport class BooleanValueAccessor extends ValueAccessor {\n constructor(el) {\n super(el);\n }\n writeValue(value) {\n this.el.nativeElement.checked = this.lastValue = value == null ? false : value;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BooleanValueAccessor, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BooleanValueAccessor, isStandalone: false, selector: \"bq-checkbox, bq-switch\", host: { listeners: { \"bqChange\": \"handleChangeEvent($event.target?.[\\\"checked\\\"])\" } }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: BooleanValueAccessor,\n multi: true\n }\n ], usesInheritance: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BooleanValueAccessor, decorators: [{\n type: Directive,\n args: [{\n /* tslint:disable-next-line:directive-selector */\n selector: 'bq-checkbox, bq-switch',\n host: {\n '(bqChange)': 'handleChangeEvent($event.target?.[\"checked\"])'\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: BooleanValueAccessor,\n multi: true\n }\n ],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi12YWx1ZS1hY2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2JlZXEtYW5ndWxhci9zcmMvZGlyZWN0aXZlcy9ib29sZWFuLXZhbHVlLWFjY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFpQmpELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxhQUFhO0lBQ3JELFlBQVksRUFBYztRQUN4QixLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDWixDQUFDO0lBQ1EsVUFBVSxDQUFDLEtBQVU7UUFDNUIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDakYsQ0FBQztpSUFOVSxvQkFBb0I7cUhBQXBCLG9CQUFvQiw4SkFUcEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsb0JBQW9CO2dCQUNqQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7OzJGQUdVLG9CQUFvQjtrQkFmaEMsU0FBUzttQkFBQztvQkFDVCxpREFBaUQ7b0JBQ2pELFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLElBQUksRUFBRTt3QkFDSixZQUFZLEVBQUUsK0NBQStDO3FCQUM5RDtvQkFDRCxTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxzQkFBc0I7NEJBQ2pDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO29CQUNILFVBQVUsRUFBRSxLQUFLO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFZhbHVlQWNjZXNzb3IgfSBmcm9tICcuL3ZhbHVlLWFjY2Vzc29yJztcblxuQERpcmVjdGl2ZSh7XG4gIC8qIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkaXJlY3RpdmUtc2VsZWN0b3IgKi9cbiAgc2VsZWN0b3I6ICdicS1jaGVja2JveCwgYnEtc3dpdGNoJyxcbiAgaG9zdDoge1xuICAgICcoYnFDaGFuZ2UpJzogJ2hhbmRsZUNoYW5nZUV2ZW50KCRldmVudC50YXJnZXQ/LltcImNoZWNrZWRcIl0pJ1xuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBCb29sZWFuVmFsdWVBY2Nlc3NvcixcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQm9vbGVhblZhbHVlQWNjZXNzb3IgZXh0ZW5kcyBWYWx1ZUFjY2Vzc29yIHtcbiAgY29uc3RydWN0b3IoZWw6IEVsZW1lbnRSZWYpIHtcbiAgICBzdXBlcihlbCk7XG4gIH1cbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNoZWNrZWQgPSB0aGlzLmxhc3RWYWx1ZSA9IHZhbHVlID09IG51bGwgPyBmYWxzZSA6IHZhbHVlO1xuICB9XG59XG4iXX0=","import { Directive, ElementRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ValueAccessor } from './value-accessor';\nimport * as i0 from \"@angular/core\";\nexport class NumericValueAccessor extends ValueAccessor {\n constructor(el) {\n super(el);\n }\n registerOnChange(fn) {\n super.registerOnChange(value => {\n fn(value === '' ? null : parseFloat(value));\n });\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: NumericValueAccessor, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.7\", type: NumericValueAccessor, isStandalone: false, selector: \"bq-input[type=\\\"number\\\"], bq-slider:not[type=\\\"range\\\"]\", host: { listeners: { \"bqChange\": \"handleChangeEvent($event.target?.[\\\"value\\\"])\" } }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NumericValueAccessor,\n multi: true\n }\n ], usesInheritance: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: NumericValueAccessor, decorators: [{\n type: Directive,\n args: [{\n /* tslint:disable-next-line:directive-selector */\n selector: 'bq-input[type=\"number\"], bq-slider:not[type=\"range\"]',\n host: {\n '(bqChange)': 'handleChangeEvent($event.target?.[\"value\"])'\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NumericValueAccessor,\n multi: true\n }\n ],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXZhbHVlLWFjY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYmVlcS1hbmd1bGFyL3NyYy9kaXJlY3RpdmVzL251bWJlci12YWx1ZS1hY2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBaUJqRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsYUFBYTtJQUNyRCxZQUFZLEVBQWM7UUFDeEIsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ1osQ0FBQztJQUNRLGdCQUFnQixDQUFDLEVBQThCO1FBQ3RELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM3QixFQUFFLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7aUlBUlUsb0JBQW9CO3FIQUFwQixvQkFBb0IsOExBVHBCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLG9CQUFvQjtnQkFDakMsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGOzsyRkFHVSxvQkFBb0I7a0JBZmhDLFNBQVM7bUJBQUM7b0JBQ1QsaURBQWlEO29CQUNqRCxRQUFRLEVBQUUsc0RBQXNEO29CQUNoRSxJQUFJLEVBQUU7d0JBQ0osWUFBWSxFQUFFLDZDQUE2QztxQkFDNUQ7b0JBQ0QsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsc0JBQXNCOzRCQUNqQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtvQkFDSCxVQUFVLEVBQUUsS0FBSztpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi92YWx1ZS1hY2Nlc3Nvcic7XG5cbkBEaXJlY3RpdmUoe1xuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLXNlbGVjdG9yICovXG4gIHNlbGVjdG9yOiAnYnEtaW5wdXRbdHlwZT1cIm51bWJlclwiXSwgYnEtc2xpZGVyOm5vdFt0eXBlPVwicmFuZ2VcIl0nLFxuICBob3N0OiB7XG4gICAgJyhicUNoYW5nZSknOiAnaGFuZGxlQ2hhbmdlRXZlbnQoJGV2ZW50LnRhcmdldD8uW1widmFsdWVcIl0pJ1xuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBOdW1lcmljVmFsdWVBY2Nlc3NvcixcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgTnVtZXJpY1ZhbHVlQWNjZXNzb3IgZXh0ZW5kcyBWYWx1ZUFjY2Vzc29yIHtcbiAgY29uc3RydWN0b3IoZWw6IEVsZW1lbnRSZWYpIHtcbiAgICBzdXBlcihlbCk7XG4gIH1cbiAgb3ZlcnJpZGUgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IG51bWJlciB8IG51bGwpID0+IHZvaWQpIHtcbiAgICBzdXBlci5yZWdpc3Rlck9uQ2hhbmdlKHZhbHVlID0+IHtcbiAgICAgIGZuKHZhbHVlID09PSAnJyA/IG51bGwgOiBwYXJzZUZsb2F0KHZhbHVlKSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==","import { Directive, ElementRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ValueAccessor } from './value-accessor';\nimport * as i0 from \"@angular/core\";\nexport class RadioValueAccessor extends ValueAccessor {\n constructor(el) {\n super(el);\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: RadioValueAccessor, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.7\", type: RadioValueAccessor, isStandalone: false, selector: \"bq-radio-group\", host: { listeners: { \"bqChange\": \"handleChangeEvent($event.target?.[\\\"value\\\"])\" } }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: RadioValueAccessor,\n multi: true\n }\n ], usesInheritance: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: RadioValueAccessor, decorators: [{\n type: Directive,\n args: [{\n /* tslint:disable-next-line:directive-selector */\n selector: 'bq-radio-group',\n host: {\n '(bqChange)': 'handleChangeEvent($event.target?.[\"value\"])'\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: RadioValueAccessor,\n multi: true\n }\n ],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tdmFsdWUtYWNjZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9iZWVxLWFuZ3VsYXIvc3JjL2RpcmVjdGl2ZXMvcmFkaW8tdmFsdWUtYWNjZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQWlCakQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGFBQWE7SUFDbkQsWUFBWSxFQUFjO1FBQ3hCLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNaLENBQUM7aUlBSFUsa0JBQWtCO3FIQUFsQixrQkFBa0Isb0pBVGxCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLGtCQUFrQjtnQkFDL0IsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGOzsyRkFHVSxrQkFBa0I7a0JBZjlCLFNBQVM7bUJBQUM7b0JBQ1QsaURBQWlEO29CQUNqRCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixJQUFJLEVBQUU7d0JBQ0osWUFBWSxFQUFFLDZDQUE2QztxQkFDNUQ7b0JBQ0QsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsb0JBQW9COzRCQUMvQixLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtvQkFDSCxVQUFVLEVBQUUsS0FBSztpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi92YWx1ZS1hY2Nlc3Nvcic7XG5cbkBEaXJlY3RpdmUoe1xuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLXNlbGVjdG9yICovXG4gIHNlbGVjdG9yOiAnYnEtcmFkaW8tZ3JvdXAnLFxuICBob3N0OiB7XG4gICAgJyhicUNoYW5nZSknOiAnaGFuZGxlQ2hhbmdlRXZlbnQoJGV2ZW50LnRhcmdldD8uW1widmFsdWVcIl0pJ1xuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBSYWRpb1ZhbHVlQWNjZXNzb3IsXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXSxcbnN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIFJhZGlvVmFsdWVBY2Nlc3NvciBleHRlbmRzIFZhbHVlQWNjZXNzb3Ige1xuICBjb25zdHJ1Y3RvcihlbDogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKGVsKTtcbiAgfVxufVxuIl19","import { Directive, ElementRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ValueAccessor } from './value-accessor';\nimport * as i0 from \"@angular/core\";\nexport class SelectValueAccessor extends ValueAccessor {\n constructor(el) {\n super(el);\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: SelectValueAccessor, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.7\", type: SelectValueAccessor, isStandalone: false, selector: \"bq-select\", host: { listeners: { \"bqChange\": \"handleChangeEvent($event.target?.[\\\"value\\\"])\" } }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SelectValueAccessor,\n multi: true\n }\n ], usesInheritance: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: SelectValueAccessor, decorators: [{\n type: Directive,\n args: [{\n /* tslint:disable-next-line:directive-selector */\n selector: 'bq-select',\n host: {\n '(bqChange)': 'handleChangeEvent($event.target?.[\"value\"])'\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SelectValueAccessor,\n multi: true\n }\n ],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXZhbHVlLWFjY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvYmVlcS1hbmd1bGFyL3NyYy9kaXJlY3RpdmVzL3NlbGVjdC12YWx1ZS1hY2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBaUJqRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsYUFBYTtJQUNwRCxZQUFZLEVBQWM7UUFDeEIsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ1osQ0FBQztpSUFIVSxtQkFBbUI7cUhBQW5CLG1CQUFtQiwrSUFUbkI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsbUJBQW1CO2dCQUNoQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7OzJGQUdVLG1CQUFtQjtrQkFmL0IsU0FBUzttQkFBQztvQkFDVCxpREFBaUQ7b0JBQ2pELFFBQVEsRUFBRSxXQUFXO29CQUNyQixJQUFJLEVBQUU7d0JBQ0osWUFBWSxFQUFFLDZDQUE2QztxQkFDNUQ7b0JBQ0QsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcscUJBQXFCOzRCQUNoQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtvQkFDSCxVQUFVLEVBQUUsS0FBSztpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi92YWx1ZS1hY2Nlc3Nvcic7XG5cbkBEaXJlY3RpdmUoe1xuICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6ZGlyZWN0aXZlLXNlbGVjdG9yICovXG4gIHNlbGVjdG9yOiAnYnEtc2VsZWN0JyxcbiAgaG9zdDoge1xuICAgICcoYnFDaGFuZ2UpJzogJ2hhbmRsZUNoYW5nZUV2ZW50KCRldmVudC50YXJnZXQ/LltcInZhbHVlXCJdKSdcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogU2VsZWN0VmFsdWVBY2Nlc3NvcixcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0VmFsdWVBY2Nlc3NvciBleHRlbmRzIFZhbHVlQWNjZXNzb3Ige1xuICBjb25zdHJ1Y3RvcihlbDogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKGVsKTtcbiAgfVxufVxuIl19","import { Directive, ElementRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ValueAccessor } from './value-accessor';\nimport * as i0 from \"@angular/core\";\nexport class TextValueAccessor extends ValueAccessor {\n constructor(el) {\n super(el);\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: TextValueAccessor, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.7\", type: TextValueAccessor, isStandalone: false, selector: \"bq-date-picker, bq-input:not[type=\\\"number\\\"], bq-slider[type=\\\"range\\\"], bq-textarea\", host: { listeners: { \"bqChange\": \"handleChangeEvent($event.target?.[\\\"value\\\"])\" } }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: TextValueAccessor,\n multi: true\n }\n ], usesInheritance: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: TextValueAccessor, decorators: [{\n type: Directive,\n args: [{\n /* tslint:disable-next-line:directive-selector */\n selector: 'bq-date-picker, bq-input:not[type=\"number\"], bq-slider[type=\"range\"], bq-textarea',\n host: {\n '(bqChange)': 'handleChangeEvent($event.target?.[\"value\"])'\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: TextValueAccessor,\n multi: true\n }\n ],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC12YWx1ZS1hY2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2JlZXEtYW5ndWxhci9zcmMvZGlyZWN0aXZlcy90ZXh0LXZhbHVlLWFjY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFpQmpELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBQ2xELFlBQVksRUFBYztRQUN4QixLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDWixDQUFDO2lJQUhVLGlCQUFpQjtxSEFBakIsaUJBQWlCLDJOQVRqQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxpQkFBaUI7Z0JBQzlCLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRjs7MkZBR1UsaUJBQWlCO2tCQWY3QixTQUFTO21CQUFDO29CQUNULGlEQUFpRDtvQkFDakQsUUFBUSxFQUFFLG1GQUFtRjtvQkFDN0YsSUFBSSxFQUFFO3dCQUNKLFlBQVksRUFBRSw2Q0FBNkM7cUJBQzVEO29CQUNELFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLG1CQUFtQjs0QkFDOUIsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7b0JBQ0gsVUFBVSxFQUFFLEtBQUs7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgVmFsdWVBY2Nlc3NvciB9IGZyb20gJy4vdmFsdWUtYWNjZXNzb3InO1xuXG5ARGlyZWN0aXZlKHtcbiAgLyogdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRpcmVjdGl2ZS1zZWxlY3RvciAqL1xuICBzZWxlY3RvcjogJ2JxLWRhdGUtcGlja2VyLCBicS1pbnB1dDpub3RbdHlwZT1cIm51bWJlclwiXSwgYnEtc2xpZGVyW3R5cGU9XCJyYW5nZVwiXSwgYnEtdGV4dGFyZWEnLFxuICBob3N0OiB7XG4gICAgJyhicUNoYW5nZSknOiAnaGFuZGxlQ2hhbmdlRXZlbnQoJGV2ZW50LnRhcmdldD8uW1widmFsdWVcIl0pJ1xuICB9LFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBUZXh0VmFsdWVBY2Nlc3NvcixcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgVGV4dFZhbHVlQWNjZXNzb3IgZXh0ZW5kcyBWYWx1ZUFjY2Vzc29yIHtcbiAgY29uc3RydWN0b3IoZWw6IEVsZW1lbnRSZWYpIHtcbiAgICBzdXBlcihlbCk7XG4gIH1cbn1cbiJdfQ==","/* eslint-disable */\n/* tslint:disable */\nimport { fromEvent } from 'rxjs';\nexport const proxyInputs = (Cmp, inputs) => {\n const Prototype = Cmp.prototype;\n inputs.forEach((item) => {\n Object.defineProperty(Prototype, item, {\n get() {\n return this.el[item];\n },\n set(val) {\n this.z.runOutsideAngular(() => (this.el[item] = val));\n },\n /**\n * In the event that proxyInputs is called\n * multiple times re-defining these inputs\n * will cause an error to be thrown. As a result\n * we set configurable: true to indicate these\n * properties can be changed.\n */\n configurable: true,\n });\n });\n};\nexport const proxyMethods = (Cmp, methods) => {\n const Prototype = Cmp.prototype;\n methods.forEach((methodName) => {\n Prototype[methodName] = function () {\n const args = arguments;\n return this.z.runOutsideAngular(() => this.el[methodName].apply(this.el, args));\n };\n });\n};\nexport const proxyOutputs = (instance, el, events) => {\n events.forEach((eventName) => (instance[eventName] = fromEvent(el, eventName)));\n};\nexport const defineCustomElement = (tagName, customElement) => {\n if (customElement !== undefined && typeof customElements !== 'undefined' && !customElements.get(tagName)) {\n customElements.define(tagName, customElement);\n }\n};\n// tslint:disable-next-line: only-arrow-functions\nexport function ProxyCmp(opts) {\n const decorator = function (cls) {\n const { defineCustomElementFn, inputs, methods } = opts;\n if (defineCustomElementFn !== undefined) {\n defineCustomElementFn();\n }\n if (inputs) {\n proxyInputs(cls, inputs);\n }\n if (methods) {\n proxyMethods(cls, methods);\n }\n return cls;\n };\n return decorator;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9iZWVxLWFuZ3VsYXIvc3JjL2RpcmVjdGl2ZXMvYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9CQUFvQjtBQUNwQixvQkFBb0I7QUFDcEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVqQyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFRLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO0lBQ3hELE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUM7SUFDaEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3RCLE1BQU0sQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRTtZQUNyQyxHQUFHO2dCQUNELE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QixDQUFDO1lBQ0QsR0FBRyxDQUFDLEdBQVE7Z0JBQ1YsSUFBSSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN4RCxDQUFDO1lBQ0Q7Ozs7OztlQU1HO1lBQ0gsWUFBWSxFQUFFLElBQUk7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxHQUFRLEVBQUUsT0FBaUIsRUFBRSxFQUFFO0lBQzFELE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUM7SUFDaEMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1FBQzdCLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRztZQUN0QixNQUFNLElBQUksR0FBRyxTQUFTLENBQUM7WUFDdkIsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNsRixDQUFDLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLFFBQWEsRUFBRSxFQUFPLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO0lBQ3ZFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xGLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsT0FBZSxFQUFFLGFBQWtCLEVBQUUsRUFBRTtJQUN6RSxJQUFJLGFBQWEsS0FBSyxTQUFTLElBQUksT0FBTyxjQUFjLEtBQUssV0FBVyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ3pHLGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ2hELENBQUM7QUFDSCxDQUFDLENBQUM7QUFFRixpREFBaUQ7QUFDakQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxJQUF5RTtJQUNoRyxNQUFNLFNBQVMsR0FBRyxVQUFVLEdBQVE7UUFDbEMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFeEQsSUFBSSxxQkFBcUIsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QyxxQkFBcUIsRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFFRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsV0FBVyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBQ0QsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLFlBQVksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxDQUFDO0lBQ0YsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICovXG4vKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBwcm94eUlucHV0cyA9IChDbXA6IGFueSwgaW5wdXRzOiBzdHJpbmdbXSkgPT4ge1xuICBjb25zdCBQcm90b3R5cGUgPSBDbXAucHJvdG90eXBlO1xuICBpbnB1dHMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShQcm90b3R5cGUsIGl0ZW0sIHtcbiAgICAgIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxbaXRlbV07XG4gICAgICB9LFxuICAgICAgc2V0KHZhbDogYW55KSB7XG4gICAgICAgIHRoaXMuei5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiAodGhpcy5lbFtpdGVtXSA9IHZhbCkpO1xuICAgICAgfSxcbiAgICAgIC8qKlxuICAgICAgICogSW4gdGhlIGV2ZW50IHRoYXQgcHJveHlJbnB1dHMgaXMgY2FsbGVkXG4gICAgICAgKiBtdWx0aXBsZSB0aW1lcyByZS1kZWZpbmluZyB0aGVzZSBpbnB1dHNcbiAgICAgICAqIHdpbGwgY2F1c2UgYW4gZXJyb3IgdG8gYmUgdGhyb3duLiBBcyBhIHJlc3VsdFxuICAgICAgICogd2Ugc2V0IGNvbmZpZ3VyYWJsZTogdHJ1ZSB0byBpbmRpY2F0ZSB0aGVzZVxuICAgICAgICogcHJvcGVydGllcyBjYW4gYmUgY2hhbmdlZC5cbiAgICAgICAqL1xuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIH0pO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBwcm94eU1ldGhvZHMgPSAoQ21wOiBhbnksIG1ldGhvZHM6IHN0cmluZ1tdKSA9PiB7XG4gIGNvbnN0IFByb3RvdHlwZSA9IENtcC5wcm90b3R5cGU7XG4gIG1ldGhvZHMuZm9yRWFjaCgobWV0aG9kTmFtZSkgPT4ge1xuICAgIFByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGFyZ3MgPSBhcmd1bWVudHM7XG4gICAgICByZXR1cm4gdGhpcy56LnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHRoaXMuZWxbbWV0aG9kTmFtZV0uYXBwbHkodGhpcy5lbCwgYXJncykpO1xuICAgIH07XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHByb3h5T3V0cHV0cyA9IChpbnN0YW5jZTogYW55LCBlbDogYW55LCBldmVudHM6IHN0cmluZ1tdKSA9PiB7XG4gIGV2ZW50cy5mb3JFYWNoKChldmVudE5hbWUpID0+IChpbnN0YW5jZVtldmVudE5hbWVdID0gZnJvbUV2ZW50KGVsLCBldmVudE5hbWUpKSk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmaW5lQ3VzdG9tRWxlbWVudCA9ICh0YWdOYW1lOiBzdHJpbmcsIGN1c3RvbUVsZW1lbnQ6IGFueSkgPT4ge1xuICBpZiAoY3VzdG9tRWxlbWVudCAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiBjdXN0b21FbGVtZW50cyAhPT0gJ3VuZGVmaW5lZCcgJiYgIWN1c3RvbUVsZW1lbnRzLmdldCh0YWdOYW1lKSkge1xuICAgIGN1c3RvbUVsZW1lbnRzLmRlZmluZSh0YWdOYW1lLCBjdXN0b21FbGVtZW50KTtcbiAgfVxufTtcblxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBvbmx5LWFycm93LWZ1bmN0aW9uc1xuZXhwb3J0IGZ1bmN0aW9uIFByb3h5Q21wKG9wdHM6IHsgZGVmaW5lQ3VzdG9tRWxlbWVudEZuPzogKCkgPT4gdm9pZDsgaW5wdXRzPzogYW55OyBtZXRob2RzPzogYW55IH0pIHtcbiAgY29uc3QgZGVjb3JhdG9yID0gZnVuY3Rpb24gKGNsczogYW55KSB7XG4gICAgY29uc3QgeyBkZWZpbmVDdXN0b21FbGVtZW50Rm4sIGlucHV0cywgbWV0aG9kcyB9ID0gb3B0cztcblxuICAgIGlmIChkZWZpbmVDdXN0b21FbGVtZW50Rm4gIT09IHVuZGVmaW5lZCkge1xuICAgICAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuKCk7XG4gICAgfVxuXG4gICAgaWYgKGlucHV0cykge1xuICAgICAgcHJveHlJbnB1dHMoY2xzLCBpbnB1dHMpO1xuICAgIH1cbiAgICBpZiAobWV0aG9kcykge1xuICAgICAgcHJveHlNZXRob2RzKGNscywgbWV0aG9kcyk7XG4gICAgfVxuICAgIHJldHVybiBjbHM7XG4gIH07XG4gIHJldHVybiBkZWNvcmF0b3I7XG59XG4iXX0=","import { __decorate, __metadata } from \"tslib\";\n/* tslint:disable */\n/* auto-generated angular directive proxies */\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Output, NgZone } from '@angular/core';\nimport { ProxyCmp } from './angular-component-lib/utils';\nimport * as i0 from \"@angular/core\";\nlet BqAccordion = class BqAccordion {\n /**\n * The appearance style of the Accordion @default 'filled'\n */\n set appearance(_) { }\n ;\n /**\n * If true, the Accordion is disabled @default false\n */\n set disabled(_) { }\n ;\n /**\n * If true, the Accordion is expanded @default false\n */\n set expanded(_) { }\n ;\n /**\n * Animation is set through JS when the browser does not support CSS calc-size()\nIf true, the Accordion animation, will be disabled. No animation will be applied. @default false\n */\n set noAnimation(_) { }\n ;\n /**\n * If true, the Accordion expand icon is rotate 180deg when expanded @default false\n */\n set rotate(_) { }\n ;\n /**\n * The size of the Accordion @default 'medium'\n */\n set size(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqBlur = new EventEmitter();\n this.bqFocus = new EventEmitter();\n this.bqOpen = new EventEmitter();\n this.bqAfterOpen = new EventEmitter();\n this.bqClose = new EventEmitter();\n this.bqAfterClose = new EventEmitter();\n this.bqClick = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqAccordion, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqAccordion, isStandalone: false, selector: \"bq-accordion\", inputs: { appearance: \"appearance\", disabled: \"disabled\", expanded: \"expanded\", noAnimation: \"noAnimation\", rotate: \"rotate\", size: \"size\" }, outputs: { bqBlur: \"bqBlur\", bqFocus: \"bqFocus\", bqOpen: \"bqOpen\", bqAfterOpen: \"bqAfterOpen\", bqClose: \"bqClose\", bqAfterClose: \"bqAfterClose\", bqClick: \"bqClick\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqAccordion = __decorate([\n ProxyCmp({\n inputs: ['appearance', 'disabled', 'expanded', 'noAnimation', 'rotate', 'size']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqAccordion);\nexport { BqAccordion };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqAccordion, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-accordion',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['appearance', 'disabled', 'expanded', 'noAnimation', 'rotate', 'size'],\n outputs: ['bqBlur', 'bqFocus', 'bqOpen', 'bqAfterOpen', 'bqClose', 'bqAfterClose', 'bqClick'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqBlur: [{\n type: Output\n }], bqFocus: [{\n type: Output\n }], bqOpen: [{\n type: Output\n }], bqAfterOpen: [{\n type: Output\n }], bqClose: [{\n type: Output\n }], bqAfterClose: [{\n type: Output\n }], bqClick: [{\n type: Output\n }] } });\nlet BqAccordionGroup = class BqAccordionGroup {\n /**\n * The appearance style of accordion to be applied to all accordions @default 'filled'\n */\n set appearance(_) { }\n ;\n /**\n * If true all accordions are expanded\n */\n set expandAll(_) { }\n ;\n /**\n * Animation is set through JS when the browser does not support CSS calc-size()\nIf true, the accordion animation, will be disabled. No animation will be applied. @default false\n */\n set noAnimation(_) { }\n ;\n /**\n * If true multiple accordions can be expanded at the same time @default false\n */\n set multiple(_) { }\n ;\n /**\n * The size of accordion to be applied to all accordions @default 'medium'\n */\n set size(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqAccordionGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqAccordionGroup, isStandalone: false, selector: \"bq-accordion-group\", inputs: { appearance: \"appearance\", expandAll: \"expandAll\", multiple: \"multiple\", noAnimation: \"noAnimation\", size: \"size\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqAccordionGroup = __decorate([\n ProxyCmp({\n inputs: ['appearance', 'expandAll', 'multiple', 'noAnimation', 'size']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqAccordionGroup);\nexport { BqAccordionGroup };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqAccordionGroup, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-accordion-group',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['appearance', 'expandAll', 'multiple', 'noAnimation', 'size'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });\nlet BqAlert = class BqAlert {\n /**\n * If true, the alert will automatically hide after the specified amount of time\n */\n set autoDismiss(_) { }\n ;\n /**\n * The corner radius of the alert component @default 's'\n */\n set border(_) { }\n ;\n /**\n * If true, the close button at the top right of the alert won't be shown\n */\n set disableClose(_) { }\n ;\n /**\n * If true, the alert icon won't be shown\n */\n set hideIcon(_) { }\n ;\n /**\n * If true, the alert will be shown\n */\n set open(_) { }\n ;\n /**\n * The length of time, in milliseconds, after which the alert will close itself. Only valid if `autoDismiss=\"true\"` @default 3000\n */\n set time(_) { }\n ;\n /**\n * Type of Alert @default 'default'\n */\n set type(_) { }\n ;\n /**\n * If true, the alert component will remain fixed at the top of the page, occupying the full viewport\n */\n set sticky(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqHide = new EventEmitter();\n this.bqShow = new EventEmitter();\n this.bqAfterShow = new EventEmitter();\n this.bqAfterHide = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqAlert, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqAlert, isStandalone: false, selector: \"bq-alert\", inputs: { autoDismiss: \"autoDismiss\", border: \"border\", disableClose: \"disableClose\", hideIcon: \"hideIcon\", open: \"open\", sticky: \"sticky\", time: \"time\", type: \"type\" }, outputs: { bqHide: \"bqHide\", bqShow: \"bqShow\", bqAfterShow: \"bqAfterShow\", bqAfterHide: \"bqAfterHide\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqAlert = __decorate([\n ProxyCmp({\n inputs: ['autoDismiss', 'border', 'disableClose', 'hideIcon', 'open', 'sticky', 'time', 'type'],\n methods: ['hide', 'show']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqAlert);\nexport { BqAlert };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqAlert, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-alert',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autoDismiss', 'border', 'disableClose', 'hideIcon', 'open', 'sticky', 'time', 'type'],\n outputs: ['bqHide', 'bqShow', 'bqAfterShow', 'bqAfterHide'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqHide: [{\n type: Output\n }], bqShow: [{\n type: Output\n }], bqAfterShow: [{\n type: Output\n }], bqAfterHide: [{\n type: Output\n }] } });\nlet BqAvatar = class BqAvatar {\n /**\n * Alternate text for the avatar image if the image cannot be displayed\n */\n set altText(_) { }\n ;\n /**\n * The image source to load on the avatar (this can be also a base64 encoded image)\n */\n set image(_) { }\n ;\n /**\n * A text to use for describing the avatar on assistive devices\n */\n set label(_) { }\n ;\n /**\n * The text to display on avatar\n */\n set initials(_) { }\n ;\n /**\n * The shape of the avatar @default 'circle'\n */\n set shape(_) { }\n ;\n /**\n * The size of the avatar @default 'medium'\n */\n set size(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqAvatar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqAvatar, isStandalone: false, selector: \"bq-avatar\", inputs: { altText: \"altText\", image: \"image\", initials: \"initials\", label: \"label\", shape: \"shape\", size: \"size\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqAvatar = __decorate([\n ProxyCmp({\n inputs: ['altText', 'image', 'initials', 'label', 'shape', 'size']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqAvatar);\nexport { BqAvatar };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqAvatar, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-avatar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['altText', 'image', 'initials', 'label', 'shape', 'size'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });\nlet BqBadge = class BqBadge {\n /**\n * Badge background color. The value should be a valid value of the palette color\n */\n set backgroundColor(_) { }\n ;\n /**\n * Badge number color. The value should be a valid value of the palette color\n */\n set textColor(_) { }\n ;\n /**\n * The size of the badge. Relevant if badge has no content. @default 'small'\n */\n set size(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqBadge, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqBadge, isStandalone: false, selector: \"bq-badge\", inputs: { backgroundColor: \"backgroundColor\", size: \"size\", textColor: \"textColor\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqBadge = __decorate([\n ProxyCmp({\n inputs: ['backgroundColor', 'size', 'textColor']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqBadge);\nexport { BqBadge };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqBadge, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-badge',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['backgroundColor', 'size', 'textColor'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });\nlet BqBreadcrumb = class BqBreadcrumb {\n /**\n * The `aria-label` attribute to describe the type of navigation @default 'Breadcrumbs'\n */\n set label(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqBreadcrumb, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqBreadcrumb, isStandalone: false, selector: \"bq-breadcrumb\", inputs: { label: \"label\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqBreadcrumb = __decorate([\n ProxyCmp({\n inputs: ['label']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqBreadcrumb);\nexport { BqBreadcrumb };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqBreadcrumb, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-breadcrumb',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['label'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });\nlet BqBreadcrumbItem = class BqBreadcrumbItem {\n /**\n * If set, the breadcrumb item will be rendered as an `<a>` with this `href`, otherwise, a `<button>` will be rendered.\n */\n set href(_) { }\n ;\n /**\n * Where to display the link in the browser context. Relevant only if `href` is set.\n */\n set target(_) { }\n ;\n /**\n * Where to display the link in the browser context. Relevant only if `href` is set. @default 'noreferrer noopener'\n */\n set rel(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqBlur = new EventEmitter();\n this.bqFocus = new EventEmitter();\n this.bqClick = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqBreadcrumbItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqBreadcrumbItem, isStandalone: false, selector: \"bq-breadcrumb-item\", inputs: { href: \"href\", rel: \"rel\", target: \"target\" }, outputs: { bqBlur: \"bqBlur\", bqFocus: \"bqFocus\", bqClick: \"bqClick\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqBreadcrumbItem = __decorate([\n ProxyCmp({\n inputs: ['href', 'rel', 'target']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqBreadcrumbItem);\nexport { BqBreadcrumbItem };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqBreadcrumbItem, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-breadcrumb-item',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['href', 'rel', 'target'],\n outputs: ['bqBlur', 'bqFocus', 'bqClick'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqBlur: [{\n type: Output\n }], bqFocus: [{\n type: Output\n }], bqClick: [{\n type: Output\n }] } });\nlet BqButton = class BqButton {\n /**\n * The appearance style to apply to the button @default 'primary'\n */\n set appearance(_) { }\n ;\n /**\n * If `true`, it will make the button fit to its parent width. @default false\n */\n set block(_) { }\n ;\n /**\n * The corner radius of the button @default 'm'\n */\n set border(_) { }\n ;\n /**\n * If true, the button will be disabled (no interaction allowed) @default false\n */\n set disabled(_) { }\n ;\n /**\n * Tells the browser to treat the linked URL as a download. Only used when `href` is set.\nDetails: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-download\n */\n set download(_) { }\n ;\n /**\n * When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`\n */\n set href(_) { }\n ;\n /**\n * It determinate how the content should be aligned @default 'center'\n */\n set justifyContent(_) { }\n ;\n /**\n * If `true` it will display the button in a loading state @default false\n */\n set loading(_) { }\n ;\n /**\n * The size of the button @default 'medium'\n */\n set size(_) { }\n ;\n /**\n * Where to display the linked URL, as the name for a browsing context (a `tab`, `window`, or `<iframe>`)\nDetails: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\n */\n set target(_) { }\n ;\n /**\n * The default behavior of the button @default 'button'\n */\n set type(_) { }\n ;\n /**\n * The variant of button to apply on top of the appearance (applicable only to `appearance=\"primary\"`) @default 'standard'\n */\n set variant(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqBlur = new EventEmitter();\n this.bqFocus = new EventEmitter();\n this.bqClick = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqButton, isStandalone: false, selector: \"bq-button\", inputs: { appearance: \"appearance\", block: \"block\", border: \"border\", disabled: \"disabled\", download: \"download\", href: \"href\", justifyContent: \"justifyContent\", loading: \"loading\", size: \"size\", target: \"target\", type: \"type\", variant: \"variant\" }, outputs: { bqBlur: \"bqBlur\", bqFocus: \"bqFocus\", bqClick: \"bqClick\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqButton = __decorate([\n ProxyCmp({\n inputs: ['appearance', 'block', 'border', 'disabled', 'download', 'href', 'justifyContent', 'loading', 'size', 'target', 'type', 'variant']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqButton);\nexport { BqButton };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqButton, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['appearance', 'block', 'border', 'disabled', 'download', 'href', 'justifyContent', 'loading', 'size', 'target', 'type', 'variant'],\n outputs: ['bqBlur', 'bqFocus', 'bqClick'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqBlur: [{\n type: Output\n }], bqFocus: [{\n type: Output\n }], bqClick: [{\n type: Output\n }] } });\nlet BqCard = class BqCard {\n /**\n * Type of card component @default 'default'\n */\n set type(_) { }\n ;\n /**\n * The corner radius of the card component @default 'm'\n */\n set border(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqCard, isStandalone: false, selector: \"bq-card\", inputs: { border: \"border\", type: \"type\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqCard = __decorate([\n ProxyCmp({\n inputs: ['border', 'type']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqCard);\nexport { BqCard };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqCard, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-card',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['border', 'type'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });\nlet BqCheckbox = class BqCheckbox {\n /**\n * If true checkbox displays background on hover @default false\n */\n set backgroundOnHover(_) { }\n ;\n /**\n * The form ID that the checkbox is associated with\n */\n set formId(_) { }\n ;\n /**\n * The native form validation message\n */\n set formValidationMessage(_) { }\n ;\n /**\n * If true checkbox is checked\n */\n set checked(_) { }\n ;\n /**\n * If true checkbox is disabled @default false\n */\n set disabled(_) { }\n ;\n /**\n * A state that is neither checked nor unchecked @default false\n */\n set indeterminate(_) { }\n ;\n /**\n * Name of the HTML input form control. Submitted with the form as part of a name/value pair.\n */\n set name(_) { }\n ;\n /**\n * If `true`, it will indicate that the user must specify a value for the checkbox before the owning form can be submitted\n */\n set required(_) { }\n ;\n /**\n * A string representing the value of the checkbox. Primarily used to differentiate a list of related checkboxes that have the same name.\n */\n set value(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqChange = new EventEmitter();\n this.bqFocus = new EventEmitter();\n this.bqBlur = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqCheckbox, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqCheckbox, isStandalone: false, selector: \"bq-checkbox\", inputs: { backgroundOnHover: \"backgroundOnHover\", checked: \"checked\", disabled: \"disabled\", formId: \"formId\", formValidationMessage: \"formValidationMessage\", indeterminate: \"indeterminate\", name: \"name\", required: \"required\", value: \"value\" }, outputs: { bqChange: \"bqChange\", bqFocus: \"bqFocus\", bqBlur: \"bqBlur\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqCheckbox = __decorate([\n ProxyCmp({\n inputs: ['backgroundOnHover', 'checked', 'disabled', 'formId', 'formValidationMessage', 'indeterminate', 'name', 'required', 'value'],\n methods: ['vClick', 'vFocus', 'vBlur']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqCheckbox);\nexport { BqCheckbox };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqCheckbox, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-checkbox',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['backgroundOnHover', 'checked', 'disabled', 'formId', 'formValidationMessage', 'indeterminate', { name: 'name', required: true }, 'required', { name: 'value', required: true }],\n outputs: ['bqChange', 'bqFocus', 'bqBlur'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqChange: [{\n type: Output\n }], bqFocus: [{\n type: Output\n }], bqBlur: [{\n type: Output\n }] } });\nlet BqDatePicker = class BqDatePicker {\n /**\n * If `true`, the Date picker input will be focused on component render\n */\n set autofocus(_) { }\n ;\n /**\n * The clear button aria label @default 'Clear value'\n */\n set clearButtonLabel(_) { }\n ;\n /**\n * If `true`, the clear button won't be displayed @default false\n */\n set disableClear(_) { }\n ;\n /**\n * Indicates whether the Date picker input is disabled or not.\nIf `true`, the Date picker is disabled and cannot be interacted with. @default false\n */\n set disabled(_) { }\n ;\n /**\n * Represents the distance (gutter or margin) between the Date picker panel and the input element. @default 8\n */\n set distance(_) { }\n ;\n /**\n * The first day of the week, where Sunday is 0, Monday is 1, etc @default 1\n */\n set firstDayOfWeek(_) { }\n ;\n /**\n * The options to use when formatting the displayed value.\nDetails: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat#using_options @default {\n day: 'numeric',\n month: 'short',\n year: 'numeric',\n }\n */\n set formatOptions(_) { }\n ;\n /**\n * The ID of the form that the Date picker input belongs to.\n */\n set form(_) { }\n ;\n /**\n * The native form validation message (mandatory if `required` is set)\n */\n set formValidationMessage(_) { }\n ;\n /**\n * A function that takes a date and returns true if the date should not be selectable\n */\n set isDateDisallowed(_) { }\n ;\n /**\n * The locale for formatting dates. If not set, will use the browser's locale.\nDetails: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locales_argument @default 'en-GB'\n */\n set locale(_) { }\n ;\n /**\n * The latest date that can be selected\n */\n set max(_) { }\n ;\n /**\n * The earliest date that can be selected\n */\n set min(_) { }\n ;\n /**\n * Number of months to show when range is `true`\n */\n set months(_) { }\n ;\n /**\n * Specifies how the next/previous buttons should navigate the calendar.\n- single: The buttons will navigate by a single month at a time.\n- months: The buttons will navigate by the number of months displayed per view. @default 'single'\n */\n set monthsPerView(_) { }\n ;\n /**\n * The Date picker input name.\n */\n set name(_) { }\n ;\n /**\n * If `true`, the Date picker panel will be visible. @default false\n */\n set open(_) { }\n ;\n /**\n * When set, it will override the height of the Date picker panel. @default 'auto'\n */\n set panelHeight(_) { }\n ;\n /**\n * The Date picker input placeholder text value\n */\n set placeholder(_) { }\n ;\n /**\n * Position of the Date picker panel @default 'bottom-end'\n */\n set placement(_) { }\n ;\n /**\n * Indicates whether or not the Date picker input is required to be filled out before submitting the form.\n */\n set required(_) { }\n ;\n /**\n * Represents the skidding between the Date picker panel and the input element. @default 0\n */\n set skidding(_) { }\n ;\n /**\n * Whether to show days outside the month @default false\n */\n set showOutsideDays(_) { }\n ;\n /**\n * Defines the strategy to position the Date picker panel @default 'fixed'\n */\n set strategy(_) { }\n ;\n /**\n * The date that is tentatively selected e.g. the start of a range selection\n */\n set tentative(_) { }\n ;\n /**\n * It defines how the calendar will behave, allowing single date selection, range selection, or multiple date selection @default 'single'\n */\n set type(_) { }\n ;\n /**\n * The validation status of the Select input. @remarks This property is used to indicate the validation status of the select input. It can be set to one of the following values:\n- `'none'`: No validation status is set.\n- `'error'`: The input has a validation error.\n- `'warning'`: The input has a validation warning.\n- `'success'`: The input has passed validation.,@default 'none'\n */\n set validationStatus(_) { }\n ;\n /**\n * The select input value represents the currently selected date or range and can be used to reset the field to a previous value.\nAll dates are expected in ISO-8601 format (YYYY-MM-DD).\n */\n set value(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqBlur = new EventEmitter();\n this.bqChange = new EventEmitter();\n this.bqClear = new EventEmitter();\n this.bqFocus = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqDatePicker, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqDatePicker, isStandalone: false, selector: \"bq-date-picker\", inputs: { autofocus: \"autofocus\", clearButtonLabel: \"clearButtonLabel\", disableClear: \"disableClear\", disabled: \"disabled\", distance: \"distance\", firstDayOfWeek: \"firstDayOfWeek\", form: \"form\", formValidationMessage: \"formValidationMessage\", formatOptions: \"formatOptions\", isDateDisallowed: \"isDateDisallowed\", locale: \"locale\", max: \"max\", min: \"min\", months: \"months\", monthsPerView: \"monthsPerView\", name: \"name\", open: \"open\", panelHeight: \"panelHeight\", placeholder: \"placeholder\", placement: \"placement\", required: \"required\", showOutsideDays: \"showOutsideDays\", skidding: \"skidding\", strategy: \"strategy\", tentative: \"tentative\", type: \"type\", validationStatus: \"validationStatus\", value: \"value\" }, outputs: { bqBlur: \"bqBlur\", bqChange: \"bqChange\", bqClear: \"bqClear\", bqFocus: \"bqFocus\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqDatePicker = __decorate([\n ProxyCmp({\n inputs: ['autofocus', 'clearButtonLabel', 'disableClear', 'disabled', 'distance', 'firstDayOfWeek', 'form', 'formValidationMessage', 'formatOptions', 'isDateDisallowed', 'locale', 'max', 'min', 'months', 'monthsPerView', 'name', 'open', 'panelHeight', 'placeholder', 'placement', 'required', 'showOutsideDays', 'skidding', 'strategy', 'tentative', 'type', 'validationStatus', 'value'],\n methods: ['clear']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqDatePicker);\nexport { BqDatePicker };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqDatePicker, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-date-picker',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autofocus', 'clearButtonLabel', 'disableClear', 'disabled', 'distance', 'firstDayOfWeek', 'form', 'formValidationMessage', 'formatOptions', 'isDateDisallowed', 'locale', 'max', 'min', 'months', 'monthsPerView', { name: 'name', required: true }, 'open', 'panelHeight', 'placeholder', 'placement', 'required', 'showOutsideDays', 'skidding', 'strategy', 'tentative', 'type', 'validationStatus', 'value'],\n outputs: ['bqBlur', 'bqChange', 'bqClear', 'bqFocus'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqBlur: [{\n type: Output\n }], bqChange: [{\n type: Output\n }], bqClear: [{\n type: Output\n }], bqFocus: [{\n type: Output\n }] } });\nlet BqDialog = class BqDialog {\n /**\n * Border radius of the dialog component @default 'm'\n */\n set border(_) { }\n ;\n /**\n * If true, the backdrop overlay won't be shown when the dialog opens @default false\n */\n set disableBackdrop(_) { }\n ;\n /**\n * If true, the dialog will not close when the [Esc] key is press @default false\n */\n set disableCloseEscKeydown(_) { }\n ;\n /**\n * If true, the dialog will not close when clicking on the backdrop overlay @default false\n */\n set disableCloseClickOutside(_) { }\n ;\n /**\n * The appearance of footer @default 'standard'\n */\n set footerAppearance(_) { }\n ;\n /**\n * If true, it hides the close button @default false\n */\n set hideCloseButton(_) { }\n ;\n /**\n * If true, the dialog will be shown as open @default false\n */\n set open(_) { }\n ;\n /**\n * The size of the dialog @default 'medium'\n */\n set size(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqCancel = new EventEmitter();\n this.bqClose = new EventEmitter();\n this.bqOpen = new EventEmitter();\n this.bqAfterOpen = new EventEmitter();\n this.bqAfterClose = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqDialog, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqDialog, isStandalone: false, selector: \"bq-dialog\", inputs: { border: \"border\", disableBackdrop: \"disableBackdrop\", disableCloseClickOutside: \"disableCloseClickOutside\", disableCloseEscKeydown: \"disableCloseEscKeydown\", footerAppearance: \"footerAppearance\", hideCloseButton: \"hideCloseButton\", open: \"open\", size: \"size\" }, outputs: { bqCancel: \"bqCancel\", bqClose: \"bqClose\", bqOpen: \"bqOpen\", bqAfterOpen: \"bqAfterOpen\", bqAfterClose: \"bqAfterClose\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqDialog = __decorate([\n ProxyCmp({\n inputs: ['border', 'disableBackdrop', 'disableCloseClickOutside', 'disableCloseEscKeydown', 'footerAppearance', 'hideCloseButton', 'open', 'size'],\n methods: ['show', 'hide', 'cancel']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqDialog);\nexport { BqDialog };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqDialog, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-dialog',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['border', 'disableBackdrop', 'disableCloseClickOutside', 'disableCloseEscKeydown', 'footerAppearance', 'hideCloseButton', 'open', 'size'],\n outputs: ['bqCancel', 'bqClose', 'bqOpen', 'bqAfterOpen', 'bqAfterClose'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqCancel: [{\n type: Output\n }], bqClose: [{\n type: Output\n }], bqOpen: [{\n type: Output\n }], bqAfterOpen: [{\n type: Output\n }], bqAfterClose: [{\n type: Output\n }] } });\nlet BqDivider = class BqDivider {\n /**\n * If true, the divider has a dashed pattern @default false\n */\n set dashed(_) { }\n ;\n /**\n * The default orientation of the divider @default 'horizontal'\n */\n set orientation(_) { }\n ;\n /**\n * Set the stroke color of the divider. The value should be a valid value of the palette color @default 'stroke--primary'\n */\n set strokeColor(_) { }\n ;\n /**\n * Set the alignment of the title on the main axis of the divider (horizontal / vertical) @default 'middle'\n */\n set titleAlignment(_) { }\n ;\n /**\n * Set the width of each dash of the divider's stroke. This is applicable when the stroke is dashed @default 12\n */\n set strokeDashWidth(_) { }\n ;\n /**\n * Set the gap of the divider's stroke. This is applicable when the stroke is dashed @default 7\n */\n set strokeDashGap(_) { }\n ;\n /**\n * Set the thickness of the divider's stroke. Value expressed in px @default 1\n */\n set strokeThickness(_) { }\n ;\n /**\n * Set the min width of the divider's stroke when text is not centered. Value expressed in px @default 0\n */\n set strokeBasis(_) { }\n ;\n /**\n * Set the line of the divider's stroke. This is applicable when the stroke is dashed @default 'butt'\n */\n set strokeLinecap(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqDivider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqDivider, isStandalone: false, selector: \"bq-divider\", inputs: { dashed: \"dashed\", orientation: \"orientation\", strokeBasis: \"strokeBasis\", strokeColor: \"strokeColor\", strokeDashGap: \"strokeDashGap\", strokeDashWidth: \"strokeDashWidth\", strokeLinecap: \"strokeLinecap\", strokeThickness: \"strokeThickness\", titleAlignment: \"titleAlignment\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqDivider = __decorate([\n ProxyCmp({\n inputs: ['dashed', 'orientation', 'strokeBasis', 'strokeColor', 'strokeDashGap', 'strokeDashWidth', 'strokeLinecap', 'strokeThickness', 'titleAlignment']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqDivider);\nexport { BqDivider };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqDivider, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-divider',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['dashed', 'orientation', 'strokeBasis', 'strokeColor', 'strokeDashGap', 'strokeDashWidth', 'strokeLinecap', 'strokeThickness', 'titleAlignment'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });\nlet BqDrawer = class BqDrawer {\n /**\n * If true, the backdrop overlay will be shown when the drawer opens @default false\n */\n set enableBackdrop(_) { }\n ;\n /**\n * If true, the drawer will not close when clicking outside the panel @default false\n */\n set closeOnClickOutside(_) { }\n ;\n /**\n * If true, the dialog will not close when the [Esc] key is pressed @default false\n */\n set closeOnEsc(_) { }\n ;\n /**\n * If true, the drawer component will be shown\n */\n set open(_) { }\n ;\n /**\n * @deprecated Defines the position of the drawer,@default 'right'\n */\n set placement(_) { }\n ;\n /**\n * Defines the position of the drawer @default 'end'\n */\n set position(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqClose = new EventEmitter();\n this.bqOpen = new EventEmitter();\n this.bqAfterOpen = new EventEmitter();\n this.bqAfterClose = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqDrawer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqDrawer, isStandalone: false, selector: \"bq-drawer\", inputs: { closeOnClickOutside: \"closeOnClickOutside\", closeOnEsc: \"closeOnEsc\", enableBackdrop: \"enableBackdrop\", open: \"open\", placement: \"placement\", position: \"position\" }, outputs: { bqClose: \"bqClose\", bqOpen: \"bqOpen\", bqAfterOpen: \"bqAfterOpen\", bqAfterClose: \"bqAfterClose\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqDrawer = __decorate([\n ProxyCmp({\n inputs: ['closeOnClickOutside', 'closeOnEsc', 'enableBackdrop', 'open', 'placement', 'position'],\n methods: ['hide', 'show']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqDrawer);\nexport { BqDrawer };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqDrawer, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-drawer',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['closeOnClickOutside', 'closeOnEsc', 'enableBackdrop', 'open', 'placement', 'position'],\n outputs: ['bqClose', 'bqOpen', 'bqAfterOpen', 'bqAfterClose'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqClose: [{\n type: Output\n }], bqOpen: [{\n type: Output\n }], bqAfterOpen: [{\n type: Output\n }], bqAfterClose: [{\n type: Output\n }] } });\nlet BqDropdown = class BqDropdown {\n /**\n * If true, the dropdown panel will not lock the page body scroll when open. @default false\n */\n set disableScrollLock(_) { }\n ;\n /**\n * If true, the dropdown panel will be visible and won't be shown. @default false\n */\n set disabled(_) { }\n ;\n /**\n * Represents the distance (gutter or margin) between the panel and the trigger element. @default 4\n */\n set distance(_) { }\n ;\n /**\n * If true, the panel will remain open after a selection is made. @default false\n */\n set keepOpenOnSelect(_) { }\n ;\n /**\n * Position of the panel @default 'bottom-start'\n */\n set placement(_) { }\n ;\n /**\n * If true, the panel will be visible. @default false\n */\n set open(_) { }\n ;\n /**\n * When set, it will override the height of the dropdown panel\n */\n set panelHeight(_) { }\n ;\n /**\n * Whether the panel should have the same width as the trigger element @default false\n */\n set sameWidth(_) { }\n ;\n /**\n * Represents the skidding between the panel and the trigger element. @default 0\n */\n set skidding(_) { }\n ;\n /**\n * Defines the strategy to position the panel @default 'fixed'\n */\n set strategy(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqOpen = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqDropdown, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqDropdown, isStandalone: false, selector: \"bq-dropdown\", inputs: { disableScrollLock: \"disableScrollLock\", disabled: \"disabled\", distance: \"distance\", keepOpenOnSelect: \"keepOpenOnSelect\", open: \"open\", panelHeight: \"panelHeight\", placement: \"placement\", sameWidth: \"sameWidth\", skidding: \"skidding\", strategy: \"strategy\" }, outputs: { bqOpen: \"bqOpen\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqDropdown = __decorate([\n ProxyCmp({\n inputs: ['disableScrollLock', 'disabled', 'distance', 'keepOpenOnSelect', 'open', 'panelHeight', 'placement', 'sameWidth', 'skidding', 'strategy']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqDropdown);\nexport { BqDropdown };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqDropdown, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-dropdown',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['disableScrollLock', 'disabled', 'distance', 'keepOpenOnSelect', 'open', 'panelHeight', 'placement', 'sameWidth', 'skidding', 'strategy'],\n outputs: ['bqOpen'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqOpen: [{\n type: Output\n }] } });\nlet BqEmptyState = class BqEmptyState {\n /**\n * The size of the empty state component @default 'medium'\n */\n set size(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqEmptyState, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqEmptyState, isStandalone: false, selector: \"bq-empty-state\", inputs: { size: \"size\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqEmptyState = __decorate([\n ProxyCmp({\n inputs: ['size']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqEmptyState);\nexport { BqEmptyState };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqEmptyState, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-empty-state',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['size'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });\nlet BqIcon = class BqIcon {\n /**\n * Label for the icon, used for accessibility\n */\n set label(_) { }\n ;\n /**\n * Set the stroke color of the SVG. The value should be a valid value of the palette color\n */\n set color(_) { }\n ;\n /**\n * Icon name to load. Please check all available icons [here](https://phosphoricons.com/)\n */\n set name(_) { }\n ;\n /**\n * Set the size of the SVG @default 24\n */\n set size(_) { }\n ;\n /**\n * Set the source of the SVG. If the source is set, the name property will be ignored\n */\n set src(_) { }\n ;\n /**\n * @deprecated It set the icon weight/style,@default undefined\n */\n set weight(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.svgLoaded = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqIcon, isStandalone: false, selector: \"bq-icon\", inputs: { color: \"color\", label: \"label\", name: \"name\", size: \"size\", src: \"src\", weight: \"weight\" }, outputs: { svgLoaded: \"svgLoaded\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqIcon = __decorate([\n ProxyCmp({\n inputs: ['color', 'label', 'name', 'size', 'src', 'weight']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqIcon);\nexport { BqIcon };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqIcon, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-icon',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color', 'label', 'name', 'size', 'src', 'weight'],\n outputs: ['svgLoaded'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { svgLoaded: [{\n type: Output\n }] } });\nlet BqInput = class BqInput {\n /**\n * Controls whether or not the input field should be capitalized and how.\nPossible values are 'off', 'none', 'on', 'sentences', 'words', and 'characters'.\nSee: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autocapitalize @default 'off'\n */\n set autocapitalize(_) { }\n ;\n /**\n * Specifies whether or not the input field should have autocomplete enabled.\nSee: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#values @default 'off'\n */\n set autocomplete(_) { }\n ;\n /**\n * Controls whether or not the input field should have autocorrect enabled.\nPossible values are 'on' and 'off'. @default 'off'\n */\n set autocorrect(_) { }\n ;\n /**\n * If true, the input will be focused on component render\n */\n set autofocus(_) { }\n ;\n /**\n * The clear button aria label @default 'Clear value'\n */\n set clearButtonLabel(_) { }\n ;\n /**\n * The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the input value changes.\nA value of 0 means no debouncing will occur. @default 0\n */\n set debounceTime(_) { }\n ;\n /**\n * Indicates whether the input is disabled or not.\nIf `true`, the input is disabled and cannot be interacted with. @default false\n */\n set disabled(_) { }\n ;\n /**\n * If true, the clear button won't be displayed @default false\n */\n set disableClear(_) { }\n ;\n /**\n * The ID of the form that the input field belongs to.\n */\n set form(_) { }\n ;\n /**\n * The native form validation message (mandatory if `required` is set)\n */\n set formValidationMessage(_) { }\n ;\n /**\n * The inputmode attribute specifies what kind of input mechanism would be most helpful for users entering content into the input field.\nThis allows a browser to display an appropriate virtual keyboard while editing.\nPossible values are 'none', 'text', 'decimal', 'numeric', 'tel', 'search', 'email', 'url', and 'date'.\n */\n set inputmode(_) { }\n ;\n /**\n * The maximum value that the input field can accept.\nOnly applies to date and number input types.\n */\n set max(_) { }\n ;\n /**\n * The maximum number of characters that the input field can accept.\n */\n set maxlength(_) { }\n ;\n /**\n * The minimum value that the input field can accept.\nOnly applies to date and number input types.\n */\n set min(_) { }\n ;\n /**\n * The minimum number of characters that the input field can accept.\n */\n set minlength(_) { }\n ;\n /**\n * The input field name.\n */\n set name(_) { }\n ;\n /**\n * Specifies a regular expression the form control's value should match.\nSee: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/pattern\n */\n set pattern(_) { }\n ;\n /**\n * The input placeholder text value\n */\n set placeholder(_) { }\n ;\n /**\n * If true, the input field cannot be modified.\n */\n set readonly(_) { }\n ;\n /**\n * Indicates whether or not the input field is required to be filled out before submitting the form.\n */\n set required(_) { }\n ;\n /**\n * A number that specifies the granularity that the value must adhere to.\nValid for date, month, week, time, datetime-local, number, and range.\nSee: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#step\n */\n set step(_) { }\n ;\n /**\n * The type attribute specifies the type of input field to display.\nPossible values are 'text', 'password', 'email', 'number', 'tel', 'search', 'url', and more.\nSee: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types @default 'text'\n */\n set type(_) { }\n ;\n /**\n * The validation status of the input. @remarks This property is used to indicate the validation status of the input. It can be set to one of the following values:\n- `'none'`: No validation status is set.\n- `'error'`: The input has a validation error.\n- `'warning'`: The input has a validation warning.\n- `'success'`: The input has passed validation.,@default 'none'\n */\n set validationStatus(_) { }\n ;\n /**\n * The input value, it can be used to reset the input to a previous value\n */\n set value(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqBlur = new EventEmitter();\n this.bqChange = new EventEmitter();\n this.bqClear = new EventEmitter();\n this.bqFocus = new EventEmitter();\n this.bqInput = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqInput, isStandalone: false, selector: \"bq-input\", inputs: { autocapitalize: \"autocapitalize\", autocomplete: \"autocomplete\", autocorrect: \"autocorrect\", autofocus: \"autofocus\", clearButtonLabel: \"clearButtonLabel\", debounceTime: \"debounceTime\", disableClear: \"disableClear\", disabled: \"disabled\", form: \"form\", formValidationMessage: \"formValidationMessage\", inputmode: \"inputmode\", max: \"max\", maxlength: \"maxlength\", min: \"min\", minlength: \"minlength\", name: \"name\", pattern: \"pattern\", placeholder: \"placeholder\", readonly: \"readonly\", required: \"required\", step: \"step\", type: \"type\", validationStatus: \"validationStatus\", value: \"value\" }, outputs: { bqBlur: \"bqBlur\", bqChange: \"bqChange\", bqClear: \"bqClear\", bqFocus: \"bqFocus\", bqInput: \"bqInput\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqInput = __decorate([\n ProxyCmp({\n inputs: ['autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'clearButtonLabel', 'debounceTime', 'disableClear', 'disabled', 'form', 'formValidationMessage', 'inputmode', 'max', 'maxlength', 'min', 'minlength', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'step', 'type', 'validationStatus', 'value']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqInput);\nexport { BqInput };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqInput, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-input',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'clearButtonLabel', 'debounceTime', 'disableClear', 'disabled', 'form', 'formValidationMessage', 'inputmode', 'max', 'maxlength', 'min', 'minlength', { name: 'name', required: true }, 'pattern', 'placeholder', 'readonly', 'required', 'step', 'type', 'validationStatus', 'value'],\n outputs: ['bqBlur', 'bqChange', 'bqClear', 'bqFocus', 'bqInput'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqBlur: [{\n type: Output\n }], bqChange: [{\n type: Output\n }], bqClear: [{\n type: Output\n }], bqFocus: [{\n type: Output\n }], bqInput: [{\n type: Output\n }] } });\nlet BqNotification = class BqNotification {\n /**\n * If true, the notification will automatically hide after the specified amount of time\n */\n set autoDismiss(_) { }\n ;\n /**\n * The corder radius of the notification component @default 's'\n */\n set border(_) { }\n ;\n /**\n * If true, the close button at the top right of the notification won't be shown\n */\n set disableClose(_) { }\n ;\n /**\n * If true, the notification icon won't be shown\n */\n set hideIcon(_) { }\n ;\n /**\n * If true, the notification will be shown\n */\n set open(_) { }\n ;\n /**\n * The length of time, in milliseconds, after which the notification will close itself. Only valid if `autoDismiss=\"true\"` @default 3000\n */\n set time(_) { }\n ;\n /**\n * Type of Notification @default 'info'\n */\n set type(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqHide = new EventEmitter();\n this.bqShow = new EventEmitter();\n this.bqAfterOpen = new EventEmitter();\n this.bqAfterClose = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqNotification, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqNotification, isStandalone: false, selector: \"bq-notification\", inputs: { autoDismiss: \"autoDismiss\", border: \"border\", disableClose: \"disableClose\", hideIcon: \"hideIcon\", open: \"open\", time: \"time\", type: \"type\" }, outputs: { bqHide: \"bqHide\", bqShow: \"bqShow\", bqAfterOpen: \"bqAfterOpen\", bqAfterClose: \"bqAfterClose\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqNotification = __decorate([\n ProxyCmp({\n inputs: ['autoDismiss', 'border', 'disableClose', 'hideIcon', 'open', 'time', 'type'],\n methods: ['hide', 'show', 'toast']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqNotification);\nexport { BqNotification };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqNotification, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-notification',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autoDismiss', 'border', 'disableClose', 'hideIcon', 'open', 'time', 'type'],\n outputs: ['bqHide', 'bqShow', 'bqAfterOpen', 'bqAfterClose'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqHide: [{\n type: Output\n }], bqShow: [{\n type: Output\n }], bqAfterOpen: [{\n type: Output\n }], bqAfterClose: [{\n type: Output\n }] } });\nlet BqOption = class BqOption {\n /**\n * If true, the option is hidden. @default false\n */\n set hidden(_) { }\n ;\n /**\n * If true, the option is disabled. @default false\n */\n set disabled(_) { }\n ;\n /**\n * A string representing the value of the option. Can be used to identify the item\n */\n set value(_) { }\n ;\n /**\n * If true, the option is selected and active. @default false\n */\n set selected(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqBlur = new EventEmitter();\n this.bqFocus = new EventEmitter();\n this.bqClick = new EventEmitter();\n this.bqEnter = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqOption, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqOption, isStandalone: false, selector: \"bq-option\", inputs: { disabled: \"disabled\", hidden: \"hidden\", selected: \"selected\", value: \"value\" }, outputs: { bqBlur: \"bqBlur\", bqFocus: \"bqFocus\", bqClick: \"bqClick\", bqEnter: \"bqEnter\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqOption = __decorate([\n ProxyCmp({\n inputs: ['disabled', 'hidden', 'selected', 'value']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqOption);\nexport { BqOption };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqOption, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-option',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['disabled', 'hidden', 'selected', 'value'],\n outputs: ['bqBlur', 'bqFocus', 'bqClick', 'bqEnter'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqBlur: [{\n type: Output\n }], bqFocus: [{\n type: Output\n }], bqClick: [{\n type: Output\n }], bqEnter: [{\n type: Output\n }] } });\nlet BqOptionGroup = class BqOptionGroup {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqOptionGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqOptionGroup, isStandalone: false, selector: \"bq-option-group\", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqOptionGroup = __decorate([\n ProxyCmp({}),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqOptionGroup);\nexport { BqOptionGroup };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqOptionGroup, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-option-group',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: [],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });\nlet BqOptionList = class BqOptionList {\n /**\n * Aria label for the list. @default 'Options'\n */\n set ariaLabel(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqSelect = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqOptionList, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqOptionList, isStandalone: false, selector: \"bq-option-list\", inputs: { ariaLabel: \"ariaLabel\" }, outputs: { bqSelect: \"bqSelect\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqOptionList = __decorate([\n ProxyCmp({\n inputs: ['ariaLabel']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqOptionList);\nexport { BqOptionList };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqOptionList, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-option-list',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['ariaLabel'],\n outputs: ['bqSelect'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqSelect: [{\n type: Output\n }] } });\nlet BqPageTitle = class BqPageTitle {\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqPageTitle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqPageTitle, isStandalone: false, selector: \"bq-page-title\", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqPageTitle = __decorate([\n ProxyCmp({}),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqPageTitle);\nexport { BqPageTitle };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqPageTitle, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-page-title',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: [],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });\nlet BqPanel = class BqPanel {\n /**\n * If true, the panel will not lock the page body scroll when open. @default false\n */\n set disableScrollLock(_) { }\n ;\n /**\n * Represents the distance (gutter or margin) between the panel and the trigger element. @default 4\n */\n set distance(_) { }\n ;\n /**\n * Position of the panel @default 'bottom-start'\n */\n set placement(_) { }\n ;\n /**\n * If true, the panel will be visible. @default false\n */\n set open(_) { }\n ;\n /**\n * Whether the panel should have the same width as the trigger element @default false\n */\n set sameWidth(_) { }\n ;\n /**\n * Represents the skidding between the panel and the trigger element. @default 0\n */\n set skidding(_) { }\n ;\n /**\n * Defines the strategy to position the panel @default 'fixed'\n */\n set strategy(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqPanel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqPanel, isStandalone: false, selector: \"bq-panel\", inputs: { disableScrollLock: \"disableScrollLock\", distance: \"distance\", open: \"open\", placement: \"placement\", sameWidth: \"sameWidth\", skidding: \"skidding\", strategy: \"strategy\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqPanel = __decorate([\n ProxyCmp({\n inputs: ['disableScrollLock', 'distance', 'open', 'placement', 'sameWidth', 'skidding', 'strategy']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqPanel);\nexport { BqPanel };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqPanel, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-panel',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['disableScrollLock', 'distance', 'open', 'placement', 'sameWidth', 'skidding', 'strategy'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });\nlet BqProgress = class BqProgress {\n /**\n * It will set the border style of the progress bar @default 'rounded'\n */\n set borderShape(_) { }\n ;\n /**\n * If `true`, a tooltip will be shown displaying the progress value @default false\n */\n set enableTooltip(_) { }\n ;\n /**\n * If `true` the indeterminate state of progress bar is enabled @default false\n */\n set indeterminate(_) { }\n ;\n /**\n * If `true, a label text showing the value (in percentage) will be shown @default false\n */\n set label(_) { }\n ;\n /**\n * Progress bar thickness @default 'medium'\n */\n set thickness(_) { }\n ;\n /**\n * Progress type @default 'default'\n */\n set type(_) { }\n ;\n /**\n * A number representing the current value of the progress bar @default 0\n */\n set value(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqProgress, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqProgress, isStandalone: false, selector: \"bq-progress\", inputs: { borderShape: \"borderShape\", enableTooltip: \"enableTooltip\", indeterminate: \"indeterminate\", label: \"label\", thickness: \"thickness\", type: \"type\", value: \"value\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqProgress = __decorate([\n ProxyCmp({\n inputs: ['borderShape', 'enableTooltip', 'indeterminate', 'label', 'thickness', 'type', 'value']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqProgress);\nexport { BqProgress };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqProgress, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-progress',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['borderShape', 'enableTooltip', 'indeterminate', 'label', 'thickness', 'type', 'value'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });\nlet BqRadio = class BqRadio {\n /**\n * If true radio displays background on hover @default false\n */\n set backgroundOnHover(_) { }\n ;\n /**\n * If true radio input is checked @default false\n */\n set checked(_) { }\n ;\n /**\n * If true radio input is disabled @default false\n */\n set disabled(_) { }\n ;\n /**\n * The form ID that the radio input is associated with\n */\n set formId(_) { }\n ;\n /**\n * Name of the HTML input form control. Submitted with the form as part of a name/value pair.\n */\n set name(_) { }\n ;\n /**\n * If `true`, it will indicate that the user must specify a value for the radio before the owning form can be submitted\n */\n set required(_) { }\n ;\n /**\n * A string representing the value of the radio.\n */\n set value(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqClick = new EventEmitter();\n this.bqFocus = new EventEmitter();\n this.bqBlur = new EventEmitter();\n this.bqKeyDown = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqRadio, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqRadio, isStandalone: false, selector: \"bq-radio\", inputs: { backgroundOnHover: \"backgroundOnHover\", checked: \"checked\", disabled: \"disabled\", formId: \"formId\", name: \"name\", required: \"required\", value: \"value\" }, outputs: { bqClick: \"bqClick\", bqFocus: \"bqFocus\", bqBlur: \"bqBlur\", bqKeyDown: \"bqKeyDown\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqRadio = __decorate([\n ProxyCmp({\n inputs: ['backgroundOnHover', 'checked', 'disabled', 'formId', 'name', 'required', 'value'],\n methods: ['vClick', 'vFocus', 'vBlur', 'getNativeInput']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqRadio);\nexport { BqRadio };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqRadio, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-radio',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['backgroundOnHover', 'checked', 'disabled', 'formId', { name: 'name', required: true }, 'required', { name: 'value', required: true }],\n outputs: ['bqClick', 'bqFocus', 'bqBlur', 'bqKeyDown'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqClick: [{\n type: Output\n }], bqFocus: [{\n type: Output\n }], bqBlur: [{\n type: Output\n }], bqKeyDown: [{\n type: Output\n }] } });\nlet BqRadioGroup = class BqRadioGroup {\n /**\n * If true, all radio inputs in the group will display a background on hover @default false\n */\n set backgroundOnHover(_) { }\n ;\n /**\n * A number representing the delay time (in milliseconds) that `bqChange` event handler gets triggered once the value change @default 0\n */\n set debounceTime(_) { }\n ;\n /**\n * If true radio inputs are disabled @default false\n */\n set disabled(_) { }\n ;\n /**\n * If true displays fieldset @default false\n */\n set fieldset(_) { }\n ;\n /**\n * Name of the HTML input form control. Submitted with the form as part of a name/value pair.\n */\n set name(_) { }\n ;\n /**\n * The display orientation of the radio inputs @default 'vertical'\n */\n set orientation(_) { }\n ;\n /**\n * If true, the radio group is required @default false\n */\n set required(_) { }\n ;\n /**\n * The native form validation message when the radio group is required\n */\n set requiredValidationMessage(_) { }\n ;\n /**\n * A string representing the value of the radio.\n */\n set value(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqChange = new EventEmitter();\n this.bqBlur = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqRadioGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqRadioGroup, isStandalone: false, selector: \"bq-radio-group\", inputs: { backgroundOnHover: \"backgroundOnHover\", debounceTime: \"debounceTime\", disabled: \"disabled\", fieldset: \"fieldset\", name: \"name\", orientation: \"orientation\", required: \"required\", requiredValidationMessage: \"requiredValidationMessage\", value: \"value\" }, outputs: { bqChange: \"bqChange\", bqBlur: \"bqBlur\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqRadioGroup = __decorate([\n ProxyCmp({\n inputs: ['backgroundOnHover', 'debounceTime', 'disabled', 'fieldset', 'name', 'orientation', 'required', 'requiredValidationMessage', 'value']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqRadioGroup);\nexport { BqRadioGroup };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqRadioGroup, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-radio-group',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['backgroundOnHover', 'debounceTime', 'disabled', 'fieldset', { name: 'name', required: true }, 'orientation', 'required', 'requiredValidationMessage', 'value'],\n outputs: ['bqChange', 'bqBlur'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqChange: [{\n type: Output\n }], bqBlur: [{\n type: Output\n }] } });\nlet BqSelect = class BqSelect {\n /**\n * If true, the Select input will be focused on component render\n */\n set autofocus(_) { }\n ;\n /**\n * The clear button aria label @default 'Clear value'\n */\n set clearButtonLabel(_) { }\n ;\n /**\n * The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the input value changes.\nA value of 0 means no debouncing will occur. @default 0\n */\n set debounceTime(_) { }\n ;\n /**\n * If true, the Select panel will not lock the page body scroll when open. @default false\n */\n set disableScrollLock(_) { }\n ;\n /**\n * Indicates whether the Select input is disabled or not.\nIf `true`, the Select is disabled and cannot be interacted with. @default false\n */\n set disabled(_) { }\n ;\n /**\n * If true, the clear button won't be displayed @default false\n */\n set disableClear(_) { }\n ;\n /**\n * Represents the distance (gutter or margin) between the Select panel and the input element. @default 8\n */\n set distance(_) { }\n ;\n /**\n * The ID of the form that the Select input belongs to.\n */\n set form(_) { }\n ;\n /**\n * If true, the Select panel will remain open after a selection is made. @default false\n */\n set keepOpenOnSelect(_) { }\n ;\n /**\n * The Select input name.\n */\n set name(_) { }\n ;\n /**\n * The maximum number of tags to display when multiple selection is enabled @default 2\n */\n set maxTagsVisible(_) { }\n ;\n /**\n * If true, the Select input will allow multiple selections. @default false\n */\n set multiple(_) { }\n ;\n /**\n * If true, the Select panel will be visible. @default false\n */\n set open(_) { }\n ;\n /**\n * When set, it will override the height of the Select panel.\n */\n set panelHeight(_) { }\n ;\n /**\n * The Select input placeholder text value\n */\n set placeholder(_) { }\n ;\n /**\n * Position of the Select panel @default 'bottom'\n */\n set placement(_) { }\n ;\n /**\n * If true, the list of options cannot be filtered (searching won't be available)\n */\n set readonly(_) { }\n ;\n /**\n * Indicates whether or not the Select input is required to be filled out before submitting the form.\n */\n set required(_) { }\n ;\n /**\n * Whether the panel should have the Select same width as the input element @default true\n */\n set sameWidth(_) { }\n ;\n /**\n * Represents the skidding between the Select panel and the input element. @default 0\n */\n set skidding(_) { }\n ;\n /**\n * Defines the strategy to position the Select panel @default 'fixed'\n */\n set strategy(_) { }\n ;\n /**\n * The validation status of the Select input. @remarks This property is used to indicate the validation status of the select input. It can be set to one of the following values:\n- `'none'`: No validation status is set.\n- `'error'`: The input has a validation error.\n- `'warning'`: The input has a validation warning.\n- `'success'`: The input has passed validation.,@default 'none'\n */\n set validationStatus(_) { }\n ;\n /**\n * The select input value, it can be used to reset the field to a previous value\n */\n set value(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqBlur = new EventEmitter();\n this.bqClear = new EventEmitter();\n this.bqFocus = new EventEmitter();\n this.bqSelect = new EventEmitter();\n this.bqInput = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqSelect, isStandalone: false, selector: \"bq-select\", inputs: { autofocus: \"autofocus\", clearButtonLabel: \"clearButtonLabel\", debounceTime: \"debounceTime\", disableClear: \"disableClear\", disableScrollLock: \"disableScrollLock\", disabled: \"disabled\", distance: \"distance\", form: \"form\", keepOpenOnSelect: \"keepOpenOnSelect\", maxTagsVisible: \"maxTagsVisible\", multiple: \"multiple\", name: \"name\", open: \"open\", panelHeight: \"panelHeight\", placeholder: \"placeholder\", placement: \"placement\", readonly: \"readonly\", required: \"required\", sameWidth: \"sameWidth\", skidding: \"skidding\", strategy: \"strategy\", validationStatus: \"validationStatus\", value: \"value\" }, outputs: { bqBlur: \"bqBlur\", bqClear: \"bqClear\", bqFocus: \"bqFocus\", bqSelect: \"bqSelect\", bqInput: \"bqInput\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqSelect = __decorate([\n ProxyCmp({\n inputs: ['autofocus', 'clearButtonLabel', 'debounceTime', 'disableClear', 'disableScrollLock', 'disabled', 'distance', 'form', 'keepOpenOnSelect', 'maxTagsVisible', 'multiple', 'name', 'open', 'panelHeight', 'placeholder', 'placement', 'readonly', 'required', 'sameWidth', 'skidding', 'strategy', 'validationStatus', 'value'],\n methods: ['clear', 'reset']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqSelect);\nexport { BqSelect };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqSelect, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-select',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autofocus', 'clearButtonLabel', 'debounceTime', 'disableClear', 'disableScrollLock', 'disabled', 'distance', 'form', 'keepOpenOnSelect', 'maxTagsVisible', 'multiple', { name: 'name', required: true }, 'open', 'panelHeight', 'placeholder', 'placement', 'readonly', 'required', 'sameWidth', 'skidding', 'strategy', 'validationStatus', 'value'],\n outputs: ['bqBlur', 'bqClear', 'bqFocus', 'bqSelect', 'bqInput'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqBlur: [{\n type: Output\n }], bqClear: [{\n type: Output\n }], bqFocus: [{\n type: Output\n }], bqSelect: [{\n type: Output\n }], bqInput: [{\n type: Output\n }] } });\nlet BqSideMenu = class BqSideMenu {\n /**\n * It sets a predefined appearance of the side menu @default 'default'\n */\n set appearance(_) { }\n ;\n /**\n * If true, the container will reduce its width @default false\n */\n set collapse(_) { }\n ;\n /**\n * It sets the size of the navigation menu items @default 'medium'\n */\n set size(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqCollapse = new EventEmitter();\n this.bqSelect = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqSideMenu, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqSideMenu, isStandalone: false, selector: \"bq-side-menu\", inputs: { appearance: \"appearance\", collapse: \"collapse\", size: \"size\" }, outputs: { bqCollapse: \"bqCollapse\", bqSelect: \"bqSelect\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqSideMenu = __decorate([\n ProxyCmp({\n inputs: ['appearance', 'collapse', 'size'],\n methods: ['toggleCollapse']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqSideMenu);\nexport { BqSideMenu };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqSideMenu, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-side-menu',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['appearance', 'collapse', 'size'],\n outputs: ['bqCollapse', 'bqSelect'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqCollapse: [{\n type: Output\n }], bqSelect: [{\n type: Output\n }] } });\nlet BqSideMenuItem = class BqSideMenuItem {\n /**\n * If true, the menu item will be shown as active/selected. @default false\n */\n set active(_) { }\n ;\n /**\n * If true, the item label and suffix will be hidden and the `width` will be reduced according to its parent. @default false\n */\n set collapse(_) { }\n ;\n /**\n * If true, the menu item will be disabled (no interaction allowed) @default false\n */\n set disabled(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqBlur = new EventEmitter();\n this.bqFocus = new EventEmitter();\n this.bqClick = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqSideMenuItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqSideMenuItem, isStandalone: false, selector: \"bq-side-menu-item\", inputs: { active: \"active\", collapse: \"collapse\", disabled: \"disabled\" }, outputs: { bqBlur: \"bqBlur\", bqFocus: \"bqFocus\", bqClick: \"bqClick\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqSideMenuItem = __decorate([\n ProxyCmp({\n inputs: ['active', 'collapse', 'disabled']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqSideMenuItem);\nexport { BqSideMenuItem };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqSideMenuItem, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-side-menu-item',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['active', 'collapse', 'disabled'],\n outputs: ['bqBlur', 'bqFocus', 'bqClick'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqBlur: [{\n type: Output\n }], bqFocus: [{\n type: Output\n }], bqClick: [{\n type: Output\n }] } });\nlet BqSlider = class BqSlider {\n /**\n * The amount of time, in milliseconds, to wait to trigger the `bqChange` event after each value change. @default 0\n */\n set debounceTime(_) { }\n ;\n /**\n * If `true` the slider is disabled. @default false\n */\n set disabled(_) { }\n ;\n /**\n * If `true` it will show the value label on a side of the slider track area @default false\n */\n set enableValueIndicator(_) { }\n ;\n /**\n * A number representing the amount to remain between the minimum and maximum values (only for range type). @default 0\n */\n set gap(_) { }\n ;\n /**\n * A number representing the max value of the slider. @default 100\n */\n set max(_) { }\n ;\n /**\n * A number representing the min value of the slider. @default 0\n */\n set min(_) { }\n ;\n /**\n * Name of the form control. Submitted with the form as part of a name/value pair\n */\n set name(_) { }\n ;\n /**\n * A number representing the step of the slider.\n⚠️ Please notice that the value (or list of values if the slider type is `range`) will be rounded to the nearest multiple of `step`. @default 1\n */\n set step(_) { }\n ;\n /**\n * It defines the type of slider to display @default 'single'\n */\n set type(_) { }\n ;\n /**\n * The value of the slider.\n- If the slider type is `single`, the value is a number.\n- If the slider type is `range`, the value is an array of two numbers (the first number represents the `min` value and the second number represents the `max` value).\n */\n set value(_) { }\n ;\n /**\n * If `true`, a tooltip will be shown displaying the progress value @default false\n */\n set enableTooltip(_) { }\n ;\n /**\n * If `true`, a tooltip will always display the progress value.\nIt relies on enableTooltip and if enableTooltip is false, tooltipAlwaysVisible cannot be true. @default false\n */\n set tooltipAlwaysVisible(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqChange = new EventEmitter();\n this.bqBlur = new EventEmitter();\n this.bqFocus = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqSlider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqSlider, isStandalone: false, selector: \"bq-slider\", inputs: { debounceTime: \"debounceTime\", disabled: \"disabled\", enableTooltip: \"enableTooltip\", enableValueIndicator: \"enableValueIndicator\", gap: \"gap\", max: \"max\", min: \"min\", name: \"name\", step: \"step\", tooltipAlwaysVisible: \"tooltipAlwaysVisible\", type: \"type\", value: \"value\" }, outputs: { bqChange: \"bqChange\", bqBlur: \"bqBlur\", bqFocus: \"bqFocus\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqSlider = __decorate([\n ProxyCmp({\n inputs: ['debounceTime', 'disabled', 'enableTooltip', 'enableValueIndicator', 'gap', 'max', 'min', 'name', 'step', 'tooltipAlwaysVisible', 'type', 'value']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqSlider);\nexport { BqSlider };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqSlider, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-slider',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['debounceTime', 'disabled', 'enableTooltip', 'enableValueIndicator', 'gap', 'max', 'min', 'name', 'step', 'tooltipAlwaysVisible', 'type', 'value'],\n outputs: ['bqChange', 'bqBlur', 'bqFocus'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqChange: [{\n type: Output\n }], bqBlur: [{\n type: Output\n }], bqFocus: [{\n type: Output\n }] } });\nlet BqSpinner = class BqSpinner {\n /**\n * If `false`, the animation on the icon element will be stopped @default true\n */\n set animation(_) { }\n ;\n /**\n * It defines the position of the label text @default 'none'\n */\n set textPosition(_) { }\n ;\n /**\n * It defines the size of the icon element displayed @default 'medium'\n */\n set size(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqSpinner, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqSpinner, isStandalone: false, selector: \"bq-spinner\", inputs: { animation: \"animation\", size: \"size\", textPosition: \"textPosition\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqSpinner = __decorate([\n ProxyCmp({\n inputs: ['animation', 'size', 'textPosition']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqSpinner);\nexport { BqSpinner };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqSpinner, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-spinner',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['animation', 'size', 'textPosition'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });\nlet BqStatus = class BqStatus {\n /**\n * It defines the type of status to display @default 'neutral'\n */\n set type(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqStatus, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqStatus, isStandalone: false, selector: \"bq-status\", inputs: { type: \"type\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqStatus = __decorate([\n ProxyCmp({\n inputs: ['type']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqStatus);\nexport { BqStatus };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqStatus, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-status',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['type'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });\nlet BqStepItem = class BqStepItem {\n /**\n * It defines prefix size @default 'medium'\n */\n set size(_) { }\n ;\n /**\n * It defines step item appearance based on its status @default 'default'\n */\n set status(_) { }\n ;\n /**\n * It defines the step item type used\n */\n set type(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqClick = new EventEmitter();\n this.bqFocus = new EventEmitter();\n this.bqBlur = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqStepItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqStepItem, isStandalone: false, selector: \"bq-step-item\", inputs: { size: \"size\", status: \"status\", type: \"type\" }, outputs: { bqClick: \"bqClick\", bqFocus: \"bqFocus\", bqBlur: \"bqBlur\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqStepItem = __decorate([\n ProxyCmp({\n inputs: ['size', 'status', 'type']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqStepItem);\nexport { BqStepItem };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqStepItem, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-step-item',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['size', 'status', 'type'],\n outputs: ['bqClick', 'bqFocus', 'bqBlur'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqClick: [{\n type: Output\n }], bqFocus: [{\n type: Output\n }], bqBlur: [{\n type: Output\n }] } });\nlet BqSteps = class BqSteps {\n /**\n * The color of the line that connects the steps. It should be a valid declarative color token. @default 'stroke--primary'\n */\n set dividerColor(_) { }\n ;\n /**\n * The size of the steps @default 'medium'\n */\n set size(_) { }\n ;\n /**\n * The type of prefix element to use on the step items\n */\n set type(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqSteps, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqSteps, isStandalone: false, selector: \"bq-steps\", inputs: { dividerColor: \"dividerColor\", size: \"size\", type: \"type\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqSteps = __decorate([\n ProxyCmp({\n inputs: ['dividerColor', 'size', 'type'],\n methods: ['setCurrentStepItem']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqSteps);\nexport { BqSteps };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqSteps, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-steps',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['dividerColor', 'size', 'type'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });\nlet BqSwitch = class BqSwitch {\n /**\n * If true, a background will be displayed on hover @default false\n */\n set backgroundOnHover(_) { }\n ;\n /**\n * It indicates whether if the switch is `ON` by default (when the page loads) @default false\n */\n set checked(_) { }\n ;\n /**\n * If true, the switch control will be disabled and no interaction will be allowed @default false\n */\n set disabled(_) { }\n ;\n /**\n * The native form validation message\n */\n set formValidationMessage(_) { }\n ;\n /**\n * If true, the component will take the full width space available on the parent container @default false\n */\n set fullWidth(_) { }\n ;\n /**\n * It indicates how to to display the on/off marks inside the control, with icons or none (default) @default 'default'\n */\n set innerLabel(_) { }\n ;\n /**\n * It defines how to distribute the space between and around the control and the label text\n(https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content) @default 'start'\n */\n set justifyContent(_) { }\n ;\n /**\n * Name of the form control. Submitted with the form as part of a name/value pair\n */\n set name(_) { }\n ;\n /**\n * If `true`, it will indicate that the user must switch `ON` the element before the owning form can be submitted @default false\n */\n set required(_) { }\n ;\n /**\n * If true, the order of the control and the label text will be changed @default false\n */\n set reverseOrder(_) { }\n ;\n /**\n * The input control's value, submitted as a name/value pair with form data.\n */\n set value(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqChange = new EventEmitter();\n this.bqFocus = new EventEmitter();\n this.bqBlur = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqSwitch, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqSwitch, isStandalone: false, selector: \"bq-switch\", inputs: { backgroundOnHover: \"backgroundOnHover\", checked: \"checked\", disabled: \"disabled\", formValidationMessage: \"formValidationMessage\", fullWidth: \"fullWidth\", innerLabel: \"innerLabel\", justifyContent: \"justifyContent\", name: \"name\", required: \"required\", reverseOrder: \"reverseOrder\", value: \"value\" }, outputs: { bqChange: \"bqChange\", bqFocus: \"bqFocus\", bqBlur: \"bqBlur\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqSwitch = __decorate([\n ProxyCmp({\n inputs: ['backgroundOnHover', 'checked', 'disabled', 'formValidationMessage', 'fullWidth', 'innerLabel', 'justifyContent', 'name', 'required', 'reverseOrder', 'value'],\n methods: ['vClick', 'vFocus', 'vBlur']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqSwitch);\nexport { BqSwitch };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqSwitch, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-switch',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['backgroundOnHover', 'checked', 'disabled', 'formValidationMessage', 'fullWidth', 'innerLabel', 'justifyContent', { name: 'name', required: true }, 'required', 'reverseOrder', 'value'],\n outputs: ['bqChange', 'bqFocus', 'bqBlur'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqChange: [{\n type: Output\n }], bqFocus: [{\n type: Output\n }], bqBlur: [{\n type: Output\n }] } });\nlet BqTab = class BqTab {\n /**\n * If true tab is active\n */\n set active(_) { }\n ;\n /**\n * The tab panel id that the tab controls\n */\n set controls(_) { }\n ;\n /**\n * If true tab is disabled @default false\n */\n set disabled(_) { }\n ;\n /**\n * The direction that tab should be render @default 'horizontal'\n */\n set orientation(_) { }\n ;\n /**\n * The placement that tab should be render @default 'start'\n */\n set placement(_) { }\n ;\n /**\n * The size of the tab @default 'medium'\n */\n set size(_) { }\n ;\n /**\n * The id of the tab\n */\n set tabId(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqClick = new EventEmitter();\n this.bqFocus = new EventEmitter();\n this.bqBlur = new EventEmitter();\n this.bqKeyDown = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqTab, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqTab, isStandalone: false, selector: \"bq-tab\", inputs: { active: \"active\", controls: \"controls\", disabled: \"disabled\", orientation: \"orientation\", placement: \"placement\", size: \"size\", tabId: \"tabId\" }, outputs: { bqClick: \"bqClick\", bqFocus: \"bqFocus\", bqBlur: \"bqBlur\", bqKeyDown: \"bqKeyDown\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqTab = __decorate([\n ProxyCmp({\n inputs: ['active', 'controls', 'disabled', 'orientation', 'placement', 'size', 'tabId'],\n methods: ['vClick', 'vFocus', 'vBlur']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqTab);\nexport { BqTab };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqTab, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-tab',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['active', { name: 'controls', required: true }, 'disabled', 'orientation', 'placement', 'size', { name: 'tabId', required: true }],\n outputs: ['bqClick', 'bqFocus', 'bqBlur', 'bqKeyDown'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqClick: [{\n type: Output\n }], bqFocus: [{\n type: Output\n }], bqBlur: [{\n type: Output\n }], bqKeyDown: [{\n type: Output\n }] } });\nlet BqTabGroup = class BqTabGroup {\n /**\n * A number representing the delay value applied to bqChange event handler @default 0\n */\n set debounceTime(_) { }\n ;\n /**\n * If true, the underline divider below the tabs won't be shown @default false\n */\n set disableDivider(_) { }\n ;\n /**\n * The direction that tab should be render @default 'horizontal'\n */\n set orientation(_) { }\n ;\n /**\n * The placement that tab should be render @default 'start'\n */\n set placement(_) { }\n ;\n /**\n * The size of the tab @default 'medium'\n */\n set size(_) { }\n ;\n /**\n * A string representing the id of the selected tab.\n */\n set value(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqChange = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqTabGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqTabGroup, isStandalone: false, selector: \"bq-tab-group\", inputs: { debounceTime: \"debounceTime\", disableDivider: \"disableDivider\", orientation: \"orientation\", placement: \"placement\", size: \"size\", value: \"value\" }, outputs: { bqChange: \"bqChange\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqTabGroup = __decorate([\n ProxyCmp({\n inputs: ['debounceTime', 'disableDivider', 'orientation', 'placement', 'size', 'value']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqTabGroup);\nexport { BqTabGroup };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqTabGroup, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-tab-group',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['debounceTime', 'disableDivider', 'orientation', 'placement', 'size', 'value'],\n outputs: ['bqChange'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqChange: [{\n type: Output\n }] } });\nlet BqTag = class BqTag {\n /**\n * The corner radius of the Tag (will override size's predefined border)\n */\n set border(_) { }\n ;\n /**\n * If true, the Tag can be clickable @default false\n */\n set clickable(_) { }\n ;\n /**\n * The color style of the Tag\n */\n set color(_) { }\n ;\n /**\n * If true, the Tag will be disabled (only if clickable = `true`, no interaction allowed) @default false\n */\n set disabled(_) { }\n ;\n /**\n * If true, the Tag component will hidden (only if removable = `true`)\n */\n set hidden(_) { }\n ;\n /**\n * If true, the Tag component can be removed @default false\n */\n set removable(_) { }\n ;\n /**\n * If true, the Tag is selected (only if clickable = `true`) @default false\n */\n set selected(_) { }\n ;\n /**\n * The size of the Tag component @default 'medium'\n */\n set size(_) { }\n ;\n /**\n * The variant of Tag to apply on top of the variant @default 'filled'\n */\n set variant(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqClose = new EventEmitter();\n this.bqOpen = new EventEmitter();\n this.bqBlur = new EventEmitter();\n this.bqClick = new EventEmitter();\n this.bqFocus = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqTag, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqTag, isStandalone: false, selector: \"bq-tag\", inputs: { border: \"border\", clickable: \"clickable\", color: \"color\", disabled: \"disabled\", hidden: \"hidden\", removable: \"removable\", selected: \"selected\", size: \"size\", variant: \"variant\" }, outputs: { bqClose: \"bqClose\", bqOpen: \"bqOpen\", bqBlur: \"bqBlur\", bqClick: \"bqClick\", bqFocus: \"bqFocus\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqTag = __decorate([\n ProxyCmp({\n inputs: ['border', 'clickable', 'color', 'disabled', 'hidden', 'removable', 'selected', 'size', 'variant'],\n methods: ['hide', 'show']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqTag);\nexport { BqTag };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqTag, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-tag',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['border', 'clickable', 'color', 'disabled', 'hidden', 'removable', 'selected', 'size', 'variant'],\n outputs: ['bqClose', 'bqOpen', 'bqBlur', 'bqClick', 'bqFocus'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqClose: [{\n type: Output\n }], bqOpen: [{\n type: Output\n }], bqBlur: [{\n type: Output\n }], bqClick: [{\n type: Output\n }], bqFocus: [{\n type: Output\n }] } });\nlet BqTextarea = class BqTextarea {\n /**\n * Controls whether or not the textarea field should be capitalized and how.\nPossible values are 'off', 'none', 'on', 'sentences', 'words', and 'characters'.\nSee: https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autocapitalize @default 'off'\n */\n set autocapitalize(_) { }\n ;\n /**\n * Specifies whether or not the textarea field should have autocomplete enabled.\nSee: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#values @default 'off'\n */\n set autocomplete(_) { }\n ;\n /**\n * Controls whether or not the textarea field should have autocorrect enabled.\nPossible values are 'on' and 'off'. @default 'off'\n */\n set autocorrect(_) { }\n ;\n /**\n * If true, the textarea will be focused on component render\n */\n set autofocus(_) { }\n ;\n /**\n * If `true`, the textarea will automatically grow and shrink to fit its contents.\nIf `false`, the textarea will have a fixed height specified by the `rows` property. @default false\n */\n set autoGrow(_) { }\n ;\n /**\n * The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the textarea value changes.\nA value of 0 means no debouncing will occur. @default 0\n */\n set debounceTime(_) { }\n ;\n /**\n * If `true`, the user cannot interact with the textarea. @default false\n */\n set disabled(_) { }\n ;\n /**\n * If `true`, it will block the user's ability to resize the textarea. @default false\n */\n set disableResize(_) { }\n ;\n /**\n * The ID of the form that the textarea field belongs to.\n */\n set form(_) { }\n ;\n /**\n * The native form validation message\n */\n set formValidationMessage(_) { }\n ;\n /**\n * The maximum number of characters that can be entered into the textarea (`0`: no limit).\nWhen enabled, a character counter will be shown underneath the textarea.\n */\n set maxlength(_) { }\n ;\n /**\n * The name of the textarea element.\n */\n set name(_) { }\n ;\n /**\n * The placeholder text to show when there is no value.\n */\n set placeholder(_) { }\n ;\n /**\n * If true, the textarea field cannot be modified. @default false\n */\n set readonly(_) { }\n ;\n /**\n * Indicates whether or not the textarea field is required to be filled out before submitting the form. @default false\n */\n set required(_) { }\n ;\n /**\n * The number of visible text lines for the control. It must be a positive integer. @default 5\n */\n set rows(_) { }\n ;\n /**\n * If true, the textarea content may be checked for spelling errors. @default false\n */\n set spellcheck(_) { }\n ;\n /**\n * The validation status of the textarea. @remarks This property is used to indicate the validation status of the textarea. It can be set to one of the following values:\n- `'none'`: No validation status is set.\n- `'error'`: The textarea has a validation error.\n- `'warning'`: The textarea has a validation warning.\n- `'success'`: The textarea has passed validation.,@default 'none'\n */\n set validationStatus(_) { }\n ;\n /**\n * The value of the textarea. It can be used to reset the textarea to a previous value.\n */\n set value(_) { }\n ;\n /**\n * Specifies how the text in a text area is to be wrapped when submitted in a form @default 'soft'\n */\n set wrap(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqBlur = new EventEmitter();\n this.bqChange = new EventEmitter();\n this.bqClear = new EventEmitter();\n this.bqFocus = new EventEmitter();\n this.bqInput = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqTextarea, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqTextarea, isStandalone: false, selector: \"bq-textarea\", inputs: { autoGrow: \"autoGrow\", autocapitalize: \"autocapitalize\", autocomplete: \"autocomplete\", autocorrect: \"autocorrect\", autofocus: \"autofocus\", debounceTime: \"debounceTime\", disableResize: \"disableResize\", disabled: \"disabled\", form: \"form\", formValidationMessage: \"formValidationMessage\", maxlength: \"maxlength\", name: \"name\", placeholder: \"placeholder\", readonly: \"readonly\", required: \"required\", rows: \"rows\", spellcheck: \"spellcheck\", validationStatus: \"validationStatus\", value: \"value\", wrap: \"wrap\" }, outputs: { bqBlur: \"bqBlur\", bqChange: \"bqChange\", bqClear: \"bqClear\", bqFocus: \"bqFocus\", bqInput: \"bqInput\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqTextarea = __decorate([\n ProxyCmp({\n inputs: ['autoGrow', 'autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'debounceTime', 'disableResize', 'disabled', 'form', 'formValidationMessage', 'maxlength', 'name', 'placeholder', 'readonly', 'required', 'rows', 'spellcheck', 'validationStatus', 'value', 'wrap']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqTextarea);\nexport { BqTextarea };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqTextarea, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-textarea',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autoGrow', 'autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'debounceTime', 'disableResize', 'disabled', 'form', 'formValidationMessage', 'maxlength', { name: 'name', required: true }, { name: 'placeholder', required: true }, 'readonly', 'required', 'rows', 'spellcheck', 'validationStatus', 'value', 'wrap'],\n outputs: ['bqBlur', 'bqChange', 'bqClear', 'bqFocus', 'bqInput'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqBlur: [{\n type: Output\n }], bqChange: [{\n type: Output\n }], bqClear: [{\n type: Output\n }], bqFocus: [{\n type: Output\n }], bqInput: [{\n type: Output\n }] } });\nlet BqToast = class BqToast {\n /**\n * The corder radius of the toast component @default 's'\n */\n set border(_) { }\n ;\n /**\n * Type of toast @default 'info'\n */\n set type(_) { }\n ;\n /**\n * Placement of toast @default 'bottom-center'\n */\n set placement(_) { }\n ;\n /**\n * If true will hide toast icon @default false\n */\n set hideIcon(_) { }\n ;\n /**\n * If true, the toast will be shown\n */\n set open(_) { }\n ;\n /**\n * The length of time, in milliseconds, after which the toast will close itself @default 3000\n */\n set time(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqHide = new EventEmitter();\n this.bqShow = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqToast, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqToast, isStandalone: false, selector: \"bq-toast\", inputs: { border: \"border\", hideIcon: \"hideIcon\", open: \"open\", placement: \"placement\", time: \"time\", type: \"type\" }, outputs: { bqHide: \"bqHide\", bqShow: \"bqShow\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqToast = __decorate([\n ProxyCmp({\n inputs: ['border', 'hideIcon', 'open', 'placement', 'time', 'type'],\n methods: ['show', 'hide', 'toast']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqToast);\nexport { BqToast };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqToast, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-toast',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['border', 'hideIcon', 'open', 'placement', 'time', 'type'],\n outputs: ['bqHide', 'bqShow'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqHide: [{\n type: Output\n }], bqShow: [{\n type: Output\n }] } });\nlet BqTooltip = class BqTooltip {\n /**\n * If true, the tooltip will always be visible @default false\n */\n set alwaysVisible(_) { }\n ;\n /**\n * Distance between trigger element and tooltip @default 10\n */\n set distance(_) { }\n ;\n /**\n * If true, the arrow on the tooltip content won't be shown @default false\n */\n set hideArrow(_) { }\n ;\n /**\n * @default 'top'\n */\n set placement(_) { }\n ;\n /**\n * Whether the tooltip should have the same width as the trigger element\n(applicable only for content shorter than the trigger element) @default false\n */\n set sameWidth(_) { }\n ;\n /**\n * Set the action when the tooltip should be displayed, on hover (default) or click @default 'hover'\n */\n set displayOn(_) { }\n ;\n /**\n * Indicates whether or not the tooltip is visible when the component is first rendered,\nand when interacting with the trigger @default false\n */\n set visible(_) { }\n ;\n constructor(c, r, z) {\n this.z = z;\n this.bqClick = new EventEmitter();\n this.bqFocusIn = new EventEmitter();\n this.bqFocusOut = new EventEmitter();\n this.bqHoverIn = new EventEmitter();\n this.bqHoverOut = new EventEmitter();\n c.detach();\n this.el = r.nativeElement;\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqTooltip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }\n /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.7\", type: BqTooltip, isStandalone: false, selector: \"bq-tooltip\", inputs: { alwaysVisible: \"alwaysVisible\", displayOn: \"displayOn\", distance: \"distance\", hideArrow: \"hideArrow\", placement: \"placement\", sameWidth: \"sameWidth\", visible: \"visible\" }, outputs: { bqClick: \"bqClick\", bqFocusIn: \"bqFocusIn\", bqFocusOut: \"bqFocusOut\", bqHoverIn: \"bqHoverIn\", bqHoverOut: \"bqHoverOut\" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n};\nBqTooltip = __decorate([\n ProxyCmp({\n inputs: ['alwaysVisible', 'displayOn', 'distance', 'hideArrow', 'placement', 'sameWidth', 'visible'],\n methods: ['show', 'hide']\n }),\n __metadata(\"design:paramtypes\", [ChangeDetectorRef, ElementRef, NgZone])\n], BqTooltip);\nexport { BqTooltip };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BqTooltip, decorators: [{\n type: Component,\n args: [{\n selector: 'bq-tooltip',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['alwaysVisible', 'displayOn', 'distance', 'hideArrow', 'placement', 'sameWidth', 'visible'],\n outputs: ['bqClick', 'bqFocusIn', 'bqFocusOut', 'bqHoverIn', 'bqHoverOut'],\n standalone: false\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { bqClick: [{\n type: Output\n }], bqFocusIn: [{\n type: Output\n }], bqFocusOut: [{\n type: Output\n }], bqHoverIn: [{\n type: Output\n }], bqHoverOut: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2JlZXEtYW5ndWxhci9zcmMvZGlyZWN0aXZlcy9jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhJLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFpQmxELElBQU0sV0FBVyxHQUFqQixNQUFNLFdBQVc7SUFFcEI7O0tBRUM7SUFDSCxJQUFJLFVBQVUsQ0FBQyxDQUF1QyxJQUFHLENBQUM7SUFBQSxDQUFDO0lBQ3pEOztLQUVDO0lBQ0gsSUFBSSxRQUFRLENBQUMsQ0FBcUMsSUFBRyxDQUFDO0lBQUEsQ0FBQztJQUNyRDs7S0FFQztJQUNILElBQUksUUFBUSxDQUFDLENBQXFDLElBQUcsQ0FBQztJQUFBLENBQUM7SUFDckQ7OztLQUdDO0lBQ0gsSUFBSSxXQUFXLENBQUMsQ0FBd0MsSUFBRyxDQUFDO0lBQUEsQ0FBQztJQUMzRDs7S0FFQztJQUNILElBQUksTUFBTSxDQUFDLENBQW1DLElBQUcsQ0FBQztJQUFBLENBQUM7SUFDakQ7O0tBRUM7SUFDSCxJQUFJLElBQUksQ0FBQyxDQUFpQyxJQUFHLENBQUM7SUFBQSxDQUFDO0lBUS9DLFlBQVksQ0FBb0IsRUFBRSxDQUFhLEVBQVksQ0FBUztRQUFULE1BQUMsR0FBRCxDQUFDLENBQVE7UUFQMUQsV0FBTSxHQUFHLElBQUksWUFBWSxFQUF1QyxDQUFDO1FBQ2pFLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBdUMsQ0FBQztRQUNsRSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQXVDLENBQUM7UUFDakUsZ0JBQVcsR0FBRyxJ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QUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxDQUFDO29CQUMxRSxVQUFVLEVBQUUsS0FBSztpQkFDbEI7b0lBaUNXLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQcm94eUNtcCB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuaW1wb3J0IHsgQ29tcG9uZW50cyB9IGZyb20gJ0BiZWVxL2NvcmUnO1xuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcHBlYXJhbmNlJywgJ2Rpc2FibGVkJywgJ2V4cGFuZGVkJywgJ25vQW5pbWF0aW9uJywgJ3JvdGF0ZScsICdzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1hY2NvcmRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FwcGVhcmFuY2UnLCAnZGlzYWJsZWQnLCAnZXhwYW5kZWQnLCAnbm9BbmltYXRpb24nLCAncm90YXRlJywgJ3NpemUnXSxcbiAgb3V0cHV0czogWydicUJsdXInLCAnYnFGb2N1cycsICdicU9wZW4nLCAnYnFBZnRlck9wZW4nLCAnYnFDbG9zZScsICdicUFmdGVyQ2xvc2UnLCAnYnFDbGljayddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCcUFjY29yZGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEJxQWNjb3JkaW9uRWxlbWVudDtcbiAgICAvKipcbiAgICogVGhlIGFwcGVhcmFuY2Ugc3R5bGUgb2YgdGhlIEFjY29yZGlvbiBAZGVmYXVsdCAnZmlsbGVkJ1xuICAgKi9cbiAgc2V0IGFwcGVhcmFuY2UoXzogQ29tcG9uZW50cy5CcUFjY29yZGlvblsnYXBwZWFyYW5jZSddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIEFjY29yZGlvbiBpcyBkaXNhYmxlZCBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2V0IGRpc2FibGVkKF86IENvbXBvbmVudHMuQnFBY2NvcmRpb25bJ2Rpc2FibGVkJ10pIHt9O1xuICAgIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgQWNjb3JkaW9uIGlzIGV4cGFuZGVkIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgZXhwYW5kZWQoXzogQ29tcG9uZW50cy5CcUFjY29yZGlvblsnZXhwYW5kZWQnXSkge307XG4gICAgLyoqXG4gICAqIEFuaW1hdGlvbiBpcyBzZXQgdGhyb3VnaCBKUyB3aGVuIHRoZSBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgQ1NTIGNhbGMtc2l6ZSgpXG5JZiB0cnVlLCB0aGUgQWNjb3JkaW9uIGFuaW1hdGlvbiwgd2lsbCBiZSBkaXNhYmxlZC4gTm8gYW5pbWF0aW9uIHdpbGwgYmUgYXBwbGllZC4gQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBub0FuaW1hdGlvbihfOiBDb21wb25lbnRzLkJxQWNjb3JkaW9uWydub0FuaW1hdGlvbiddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIEFjY29yZGlvbiBleHBhbmQgaWNvbiBpcyByb3RhdGUgMTgwZGVnIHdoZW4gZXhwYW5kZWQgQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCByb3RhdGUoXzogQ29tcG9uZW50cy5CcUFjY29yZGlvblsncm90YXRlJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgQWNjb3JkaW9uIEBkZWZhdWx0ICdtZWRpdW0nXG4gICAqL1xuICBzZXQgc2l6ZShfOiBDb21wb25lbnRzLkJxQWNjb3JkaW9uWydzaXplJ10pIHt9O1xuICBAT3V0cHV0KCkgYnFCbHVyID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFBY2NvcmRpb25FbGVtZW50Pj4oKTtcbiAgQE91dHB1dCgpIGJxRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUFjY29yZGlvbkVsZW1lbnQ+PigpO1xuICBAT3V0cHV0KCkgYnFPcGVuID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFBY2NvcmRpb25FbGVtZW50Pj4oKTtcbiAgQE91dHB1dCgpIGJxQWZ0ZXJPcGVuID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFBY2NvcmRpb25FbGVtZW50Pj4oKTtcbiAgQE91dHB1dCgpIGJxQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUFjY29yZGlvbkVsZW1lbnQ+PigpO1xuICBAT3V0cHV0KCkgYnFBZnRlckNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFBY2NvcmRpb25FbGVtZW50Pj4oKTtcbiAgQE91dHB1dCgpIGJxQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUFjY29yZGlvbkVsZW1lbnQ+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcUFjY29yZGlvbiBleHRlbmRzIENvbXBvbmVudHMuQnFBY2NvcmRpb24ge1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgYWNjb3JkaW9uIGxvc2VzIGZvY3VzXG4gICAqL1xuICBicUJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFBY2NvcmRpb25FbGVtZW50Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBhY2NvcmRpb24gZ2V0cyBmb2N1c1xuICAgKi9cbiAgYnFGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUFjY29yZGlvbkVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGFjY29yZGlvbiBpcyBvcGVuZWRcbiAgICovXG4gIGJxT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUFjY29yZGlvbkVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIGFmdGVyIHRoZSBhY2NvcmRpb24gaXMgb3BlbmVkXG4gICAqL1xuICBicUFmdGVyT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUFjY29yZGlvbkVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGFjY29yZGlvbiBpcyBjbG9zZWRcbiAgICovXG4gIGJxQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFBY2NvcmRpb25FbGVtZW50Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCBhZnRlciB0aGUgYWNjb3JkaW9uIGlzIGNsb3NlZFxuICAgKi9cbiAgYnFBZnRlckNsb3NlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxQWNjb3JkaW9uRWxlbWVudD4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgYWNjb3JkaW9uIGlzIGNsaWNrZWRcbiAgICovXG4gIGJxQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFBY2NvcmRpb25FbGVtZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FwcGVhcmFuY2UnLCAnZXhwYW5kQWxsJywgJ211bHRpcGxlJywgJ25vQW5pbWF0aW9uJywgJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLWFjY29yZGlvbi1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXBwZWFyYW5jZScsICdleHBhbmRBbGwnLCAnbXVsdGlwbGUnLCAnbm9BbmltYXRpb24nLCAnc2l6ZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCcUFjY29yZGlvbkdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQnFBY2NvcmRpb25Hcm91cEVsZW1lbnQ7XG4gICAgLyoqXG4gICAqIFRoZSBhcHBlYXJhbmNlIHN0eWxlIG9mIGFjY29yZGlvbiB0byBiZSBhcHBsaWVkIHRvIGFsbCBhY2NvcmRpb25zIEBkZWZhdWx0ICdmaWxsZWQnXG4gICAqL1xuICBzZXQgYXBwZWFyYW5jZShfOiBDb21wb25lbnRzLkJxQWNjb3JkaW9uR3JvdXBbJ2FwcGVhcmFuY2UnXSkge307XG4gICAgLyoqXG4gICAqIElmIHRydWUgYWxsIGFjY29yZGlvbnMgYXJlIGV4cGFuZGVkXG4gICAqL1xuICBzZXQgZXhwYW5kQWxsKF86IENvbXBvbmVudHMuQnFBY2NvcmRpb25Hcm91cFsnZXhwYW5kQWxsJ10pIHt9O1xuICAgIC8qKlxuICAgKiBBbmltYXRpb24gaXMgc2V0IHRocm91Z2ggSlMgd2hlbiB0aGUgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IENTUyBjYWxjLXNpemUoKVxuSWYgdHJ1ZSwgdGhlIGFjY29yZGlvbiBhbmltYXRpb24sIHdpbGwgYmUgZGlzYWJsZWQuIE5vIGFuaW1hdGlvbiB3aWxsIGJlIGFwcGxpZWQuIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgbm9BbmltYXRpb24oXzogQ29tcG9uZW50cy5CcUFjY29yZGlvbkdyb3VwWydub0FuaW1hdGlvbiddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSBtdWx0aXBsZSBhY2NvcmRpb25zIGNhbiBiZSBleHBhbmRlZCBhdCB0aGUgc2FtZSB0aW1lIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgbXVsdGlwbGUoXzogQ29tcG9uZW50cy5CcUFjY29yZGlvbkdyb3VwWydtdWx0aXBsZSddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIHNpemUgb2YgYWNjb3JkaW9uIHRvIGJlIGFwcGxpZWQgdG8gYWxsIGFjY29yZGlvbnMgQGRlZmF1bHQgJ21lZGl1bSdcbiAgICovXG4gIHNldCBzaXplKF86IENvbXBvbmVudHMuQnFBY2NvcmRpb25Hcm91cFsnc2l6ZSddKSB7fTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFBY2NvcmRpb25Hcm91cCBleHRlbmRzIENvbXBvbmVudHMuQnFBY2NvcmRpb25Hcm91cCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvRGlzbWlzcycsICdib3JkZXInLCAnZGlzYWJsZUNsb3NlJywgJ2hpZGVJY29uJywgJ29wZW4nLCAnc3RpY2t5JywgJ3RpbWUnLCAndHlwZSddLFxuICBtZXRob2RzOiBbJ2hpZGUnLCAnc2hvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtYWxlcnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dG9EaXNtaXNzJywgJ2JvcmRlcicsICdkaXNhYmxlQ2xvc2UnLCAnaGlkZUljb24nLCAnb3BlbicsICdzdGlja3knLCAndGltZScsICd0eXBlJ10sXG4gIG91dHB1dHM6IFsnYnFIaWRlJywgJ2JxU2hvdycsICdicUFmdGVyU2hvdycsICdicUFmdGVySGlkZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCcUFsZXJ0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQnFBbGVydEVsZW1lbnQ7XG4gICAgLyoqXG4gICAqIElmIHRydWUsIHRoZSBhbGVydCB3aWxsIGF1dG9tYXRpY2FsbHkgaGlkZSBhZnRlciB0aGUgc3BlY2lmaWVkIGFtb3VudCBvZiB0aW1lXG4gICAqL1xuICBzZXQgYXV0b0Rpc21pc3MoXzogQ29tcG9uZW50cy5CcUFsZXJ0WydhdXRvRGlzbWlzcyddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIGNvcm5lciByYWRpdXMgb2YgdGhlIGFsZXJ0IGNvbXBvbmVudCBAZGVmYXVsdCAncydcbiAgICovXG4gIHNldCBib3JkZXIoXzogQ29tcG9uZW50cy5CcUFsZXJ0Wydib3JkZXInXSkge307XG4gICAgLyoqXG4gICAqIElmIHRydWUsIHRoZSBjbG9zZSBidXR0b24gYXQgdGhlIHRvcCByaWdodCBvZiB0aGUgYWxlcnQgd29uJ3QgYmUgc2hvd25cbiAgICovXG4gIHNldCBkaXNhYmxlQ2xvc2UoXzogQ29tcG9uZW50cy5CcUFsZXJ0WydkaXNhYmxlQ2xvc2UnXSkge307XG4gICAgLyoqXG4gICAqIElmIHRydWUsIHRoZSBhbGVydCBpY29uIHdvbid0IGJlIHNob3duXG4gICAqL1xuICBzZXQgaGlkZUljb24oXzogQ29tcG9uZW50cy5CcUFsZXJ0WydoaWRlSWNvbiddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIGFsZXJ0IHdpbGwgYmUgc2hvd25cbiAgICovXG4gIHNldCBvcGVuKF86IENvbXBvbmVudHMuQnFBbGVydFsnb3BlbiddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIGxlbmd0aCBvZiB0aW1lLCBpbiBtaWxsaXNlY29uZHMsIGFmdGVyIHdoaWNoIHRoZSBhbGVydCB3aWxsIGNsb3NlIGl0c2VsZi4gT25seSB2YWxpZCBpZiBgYXV0b0Rpc21pc3M9XCJ0cnVlXCJgIEBkZWZhdWx0IDMwMDBcbiAgICovXG4gIHNldCB0aW1lKF86IENvbXBvbmVudHMuQnFBbGVydFsndGltZSddKSB7fTtcbiAgICAvKipcbiAgICogVHlwZSBvZiBBbGVydCBAZGVmYXVsdCAnZGVmYXVsdCdcbiAgICovXG4gIHNldCB0eXBlKF86IENvbXBvbmVudHMuQnFBbGVydFsndHlwZSddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIGFsZXJ0IGNvbXBvbmVudCB3aWxsIHJlbWFpbiBmaXhlZCBhdCB0aGUgdG9wIG9mIHRoZSBwYWdlLCBvY2N1cHlpbmcgdGhlIGZ1bGwgdmlld3BvcnRcbiAgICovXG4gIHNldCBzdGlja3koXzogQ29tcG9uZW50cy5CcUFsZXJ0WydzdGlja3knXSkge307XG4gIEBPdXRwdXQoKSBicUhpZGUgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+KCk7XG4gIEBPdXRwdXQoKSBicVNob3cgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+KCk7XG4gIEBPdXRwdXQoKSBicUFmdGVyU2hvdyA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj4oKTtcbiAgQE91dHB1dCgpIGJxQWZ0ZXJIaWRlID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcUFsZXJ0IGV4dGVuZHMgQ29tcG9uZW50cy5CcUFsZXJ0IHtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGFsZXJ0IGlzIGhpZGRlblxuICAgKi9cbiAgYnFIaWRlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBhbGVydCBpcyBzaG93blxuICAgKi9cbiAgYnFTaG93OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIHRvIGJlIGNhbGxlZCBhZnRlciB0aGUgYWxlcnQgaGFzIGJlZW4gc2hvd25cbiAgICovXG4gIGJxQWZ0ZXJTaG93OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIHRvIGJlIGNhbGxlZCBhZnRlciB0aGUgYWxlcnQgaGFzIGJlZW4gaGlkZGVuXG4gICAqL1xuICBicUFmdGVySGlkZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbHRUZXh0JywgJ2ltYWdlJywgJ2luaXRpYWxzJywgJ2xhYmVsJywgJ3NoYXBlJywgJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLWF2YXRhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYWx0VGV4dCcsICdpbWFnZScsICdpbml0aWFscycsICdsYWJlbCcsICdzaGFwZScsICdzaXplJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJxQXZhdGFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQnFBdmF0YXJFbGVtZW50O1xuICAgIC8qKlxuICAgKiBBbHRlcm5hdGUgdGV4dCBmb3IgdGhlIGF2YXRhciBpbWFnZSBpZiB0aGUgaW1hZ2UgY2Fubm90IGJlIGRpc3BsYXllZFxuICAgKi9cbiAgc2V0IGFsdFRleHQoXzogQ29tcG9uZW50cy5CcUF2YXRhclsnYWx0VGV4dCddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIGltYWdlIHNvdXJjZSB0byBsb2FkIG9uIHRoZSBhdmF0YXIgKHRoaXMgY2FuIGJlIGFsc28gYSBiYXNlNjQgZW5jb2RlZCBpbWFnZSlcbiAgICovXG4gIHNldCBpbWFnZShfOiBDb21wb25lbnRzLkJxQXZhdGFyWydpbWFnZSddKSB7fTtcbiAgICAvKipcbiAgICogQSB0ZXh0IHRvIHVzZSBmb3IgZGVzY3JpYmluZyB0aGUgYXZhdGFyIG9uIGFzc2lzdGl2ZSBkZXZpY2VzXG4gICAqL1xuICBzZXQgbGFiZWwoXzogQ29tcG9uZW50cy5CcUF2YXRhclsnbGFiZWwnXSkge307XG4gICAgLyoqXG4gICAqIFRoZSB0ZXh0IHRvIGRpc3BsYXkgb24gYXZhdGFyXG4gICAqL1xuICBzZXQgaW5pdGlhbHMoXzogQ29tcG9uZW50cy5CcUF2YXRhclsnaW5pdGlhbHMnXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBzaGFwZSBvZiB0aGUgYXZhdGFyIEBkZWZhdWx0ICdjaXJjbGUnXG4gICAqL1xuICBzZXQgc2hhcGUoXzogQ29tcG9uZW50cy5CcUF2YXRhclsnc2hhcGUnXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSBhdmF0YXIgQGRlZmF1bHQgJ21lZGl1bSdcbiAgICovXG4gIHNldCBzaXplKF86IENvbXBvbmVudHMuQnFBdmF0YXJbJ3NpemUnXSkge307XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxQXZhdGFyIGV4dGVuZHMgQ29tcG9uZW50cy5CcUF2YXRhciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3InLCAnc2l6ZScsICd0ZXh0Q29sb3InXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLWJhZGdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydiYWNrZ3JvdW5kQ29sb3InLCAnc2l6ZScsICd0ZXh0Q29sb3InXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQnFCYWRnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEJxQmFkZ2VFbGVtZW50O1xuICAgIC8qKlxuICAgKiBCYWRnZSBiYWNrZ3JvdW5kIGNvbG9yLiBUaGUgdmFsdWUgc2hvdWxkIGJlIGEgdmFsaWQgdmFsdWUgb2YgdGhlIHBhbGV0dGUgY29sb3JcbiAgICovXG4gIHNldCBiYWNrZ3JvdW5kQ29sb3IoXzogQ29tcG9uZW50cy5CcUJhZGdlWydiYWNrZ3JvdW5kQ29sb3InXSkge307XG4gICAgLyoqXG4gICAqIEJhZGdlIG51bWJlciBjb2xvci4gVGhlIHZhbHVlIHNob3VsZCBiZSBhIHZhbGlkIHZhbHVlIG9mIHRoZSBwYWxldHRlIGNvbG9yXG4gICAqL1xuICBzZXQgdGV4dENvbG9yKF86IENvbXBvbmVudHMuQnFCYWRnZVsndGV4dENvbG9yJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgYmFkZ2UuIFJlbGV2YW50IGlmIGJhZGdlIGhhcyBubyBjb250ZW50LiBAZGVmYXVsdCAnc21hbGwnXG4gICAqL1xuICBzZXQgc2l6ZShfOiBDb21wb25lbnRzLkJxQmFkZ2VbJ3NpemUnXSkge307XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxQmFkZ2UgZXh0ZW5kcyBDb21wb25lbnRzLkJxQmFkZ2Uge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbGFiZWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLWJyZWFkY3J1bWInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2xhYmVsJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJxQnJlYWRjcnVtYiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEJxQnJlYWRjcnVtYkVsZW1lbnQ7XG4gICAgLyoqXG4gICAqIFRoZSBgYXJpYS1sYWJlbGAgYXR0cmlidXRlIHRvIGRlc2NyaWJlIHRoZSB0eXBlIG9mIG5hdmlnYXRpb24gQGRlZmF1bHQgJ0JyZWFkY3J1bWJzJ1xuICAgKi9cbiAgc2V0IGxhYmVsKF86IENvbXBvbmVudHMuQnFCcmVhZGNydW1iWydsYWJlbCddKSB7fTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFCcmVhZGNydW1iIGV4dGVuZHMgQ29tcG9uZW50cy5CcUJyZWFkY3J1bWIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaHJlZicsICdyZWwnLCAndGFyZ2V0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1icmVhZGNydW1iLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2hyZWYnLCAncmVsJywgJ3RhcmdldCddLFxuICBvdXRwdXRzOiBbJ2JxQmx1cicsICdicUZvY3VzJywgJ2JxQ2xpY2snXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQnFCcmVhZGNydW1iSXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEJxQnJlYWRjcnVtYkl0ZW1FbGVtZW50O1xuICAgIC8qKlxuICAgKiBJZiBzZXQsIHRoZSBicmVhZGNydW1iIGl0ZW0gd2lsbCBiZSByZW5kZXJlZCBhcyBhbiBgPGE+YCB3aXRoIHRoaXMgYGhyZWZgLCBvdGhlcndpc2UsIGEgYDxidXR0b24+YCB3aWxsIGJlIHJlbmRlcmVkLlxuICAgKi9cbiAgc2V0IGhyZWYoXzogQ29tcG9uZW50cy5CcUJyZWFkY3J1bWJJdGVtWydocmVmJ10pIHt9O1xuICAgIC8qKlxuICAgKiBXaGVyZSB0byBkaXNwbGF5IHRoZSBsaW5rIGluIHRoZSBicm93c2VyIGNvbnRleHQuIFJlbGV2YW50IG9ubHkgaWYgYGhyZWZgIGlzIHNldC5cbiAgICovXG4gIHNldCB0YXJnZXQoXzogQ29tcG9uZW50cy5CcUJyZWFkY3J1bWJJdGVtWyd0YXJnZXQnXSkge307XG4gICAgLyoqXG4gICAqIFdoZXJlIHRvIGRpc3BsYXkgdGhlIGxpbmsgaW4gdGhlIGJyb3dzZXIgY29udGV4dC4gUmVsZXZhbnQgb25seSBpZiBgaHJlZmAgaXMgc2V0LiBAZGVmYXVsdCAnbm9yZWZlcnJlciBub29wZW5lcidcbiAgICovXG4gIHNldCByZWwoXzogQ29tcG9uZW50cy5CcUJyZWFkY3J1bWJJdGVtWydyZWwnXSkge307XG4gIEBPdXRwdXQoKSBicUJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUJyZWFkY3J1bWJJdGVtRWxlbWVudD4+KCk7XG4gIEBPdXRwdXQoKSBicUZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFCcmVhZGNydW1iSXRlbUVsZW1lbnQ+PigpO1xuICBAT3V0cHV0KCkgYnFDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxQnJlYWRjcnVtYkl0ZW1FbGVtZW50Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFCcmVhZGNydW1iSXRlbSBleHRlbmRzIENvbXBvbmVudHMuQnFCcmVhZGNydW1iSXRlbSB7XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIGl0ZW0gbG9zZXMgZm9jdXNcbiAgICovXG4gIGJxQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUJyZWFkY3J1bWJJdGVtRWxlbWVudD4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiBpdGVtIGlzIGZvY3VzZWRcbiAgICovXG4gIGJxRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFCcmVhZGNydW1iSXRlbUVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gaXRlbSBpcyBjbGlja2VkXG4gICAqL1xuICBicUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxQnJlYWRjcnVtYkl0ZW1FbGVtZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FwcGVhcmFuY2UnLCAnYmxvY2snLCAnYm9yZGVyJywgJ2Rpc2FibGVkJywgJ2Rvd25sb2FkJywgJ2hyZWYnLCAnanVzdGlmeUNvbnRlbnQnLCAnbG9hZGluZycsICdzaXplJywgJ3RhcmdldCcsICd0eXBlJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXBwZWFyYW5jZScsICdibG9jaycsICdib3JkZXInLCAnZGlzYWJsZWQnLCAnZG93bmxvYWQnLCAnaHJlZicsICdqdXN0aWZ5Q29udGVudCcsICdsb2FkaW5nJywgJ3NpemUnLCAndGFyZ2V0JywgJ3R5cGUnLCAndmFyaWFudCddLFxuICBvdXRwdXRzOiBbJ2JxQmx1cicsICdicUZvY3VzJywgJ2JxQ2xpY2snXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQnFCdXR0b24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxCcUJ1dHRvbkVsZW1lbnQ7XG4gICAgLyoqXG4gICAqIFRoZSBhcHBlYXJhbmNlIHN0eWxlIHRvIGFwcGx5IHRvIHRoZSBidXR0b24gQGRlZmF1bHQgJ3ByaW1hcnknXG4gICAqL1xuICBzZXQgYXBwZWFyYW5jZShfOiBDb21wb25lbnRzLkJxQnV0dG9uWydhcHBlYXJhbmNlJ10pIHt9O1xuICAgIC8qKlxuICAgKiBJZiBgdHJ1ZWAsIGl0IHdpbGwgbWFrZSB0aGUgYnV0dG9uIGZpdCB0byBpdHMgcGFyZW50IHdpZHRoLiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2V0IGJsb2NrKF86IENvbXBvbmVudHMuQnFCdXR0b25bJ2Jsb2NrJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgY29ybmVyIHJhZGl1cyBvZiB0aGUgYnV0dG9uIEBkZWZhdWx0ICdtJ1xuICAgKi9cbiAgc2V0IGJvcmRlcihfOiBDb21wb25lbnRzLkJxQnV0dG9uWydib3JkZXInXSkge307XG4gICAgLyoqXG4gICAqIElmIHRydWUsIHRoZSBidXR0b24gd2lsbCBiZSBkaXNhYmxlZCAobm8gaW50ZXJhY3Rpb24gYWxsb3dlZCkgQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBkaXNhYmxlZChfOiBDb21wb25lbnRzLkJxQnV0dG9uWydkaXNhYmxlZCddKSB7fTtcbiAgICAvKipcbiAgICogVGVsbHMgdGhlIGJyb3dzZXIgdG8gdHJlYXQgdGhlIGxpbmtlZCBVUkwgYXMgYSBkb3dubG9hZC4gT25seSB1c2VkIHdoZW4gYGhyZWZgIGlzIHNldC5cbkRldGFpbHM6IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0hUTUwvRWxlbWVudC9hI2F0dHItZG93bmxvYWRcbiAgICovXG4gIHNldCBkb3dubG9hZChfOiBDb21wb25lbnRzLkJxQnV0dG9uWydkb3dubG9hZCddKSB7fTtcbiAgICAvKipcbiAgICogV2hlbiBzZXQsIHRoZSB1bmRlcmx5aW5nIGJ1dHRvbiB3aWxsIGJlIHJlbmRlcmVkIGFzIGFuIGA8YT5gIHdpdGggdGhpcyBgaHJlZmAgaW5zdGVhZCBvZiBhIGA8YnV0dG9uPmBcbiAgICovXG4gIHNldCBocmVmKF86IENvbXBvbmVudHMuQnFCdXR0b25bJ2hyZWYnXSkge307XG4gICAgLyoqXG4gICAqIEl0IGRldGVybWluYXRlIGhvdyB0aGUgY29udGVudCBzaG91bGQgYmUgYWxpZ25lZCBAZGVmYXVsdCAnY2VudGVyJ1xuICAgKi9cbiAgc2V0IGp1c3RpZnlDb250ZW50KF86IENvbXBvbmVudHMuQnFCdXR0b25bJ2p1c3RpZnlDb250ZW50J10pIHt9O1xuICAgIC8qKlxuICAgKiBJZiBgdHJ1ZWAgaXQgd2lsbCBkaXNwbGF5IHRoZSBidXR0b24gaW4gYSBsb2FkaW5nIHN0YXRlIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgbG9hZGluZyhfOiBDb21wb25lbnRzLkJxQnV0dG9uWydsb2FkaW5nJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgYnV0dG9uIEBkZWZhdWx0ICdtZWRpdW0nXG4gICAqL1xuICBzZXQgc2l6ZShfOiBDb21wb25lbnRzLkJxQnV0dG9uWydzaXplJ10pIHt9O1xuICAgIC8qKlxuICAgKiBXaGVyZSB0byBkaXNwbGF5IHRoZSBsaW5rZWQgVVJMLCBhcyB0aGUgbmFtZSBmb3IgYSBicm93c2luZyBjb250ZXh0IChhIGB0YWJgLCBgd2luZG93YCwgb3IgYDxpZnJhbWU+YClcbkRldGFpbHM6IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0hUTUwvRWxlbWVudC9hI2F0dHItdGFyZ2V0XG4gICAqL1xuICBzZXQgdGFyZ2V0KF86IENvbXBvbmVudHMuQnFCdXR0b25bJ3RhcmdldCddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGJ1dHRvbiBAZGVmYXVsdCAnYnV0dG9uJ1xuICAgKi9cbiAgc2V0IHR5cGUoXzogQ29tcG9uZW50cy5CcUJ1dHRvblsndHlwZSddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIHZhcmlhbnQgb2YgYnV0dG9uIHRvIGFwcGx5IG9uIHRvcCBvZiB0aGUgYXBwZWFyYW5jZSAoYXBwbGljYWJsZSBvbmx5IHRvIGBhcHBlYXJhbmNlPVwicHJpbWFyeVwiYCkgQGRlZmF1bHQgJ3N0YW5kYXJkJ1xuICAgKi9cbiAgc2V0IHZhcmlhbnQoXzogQ29tcG9uZW50cy5CcUJ1dHRvblsndmFyaWFudCddKSB7fTtcbiAgQE91dHB1dCgpIGJxQmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxQnV0dG9uRWxlbWVudD4+KCk7XG4gIEBPdXRwdXQoKSBicUZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFCdXR0b25FbGVtZW50Pj4oKTtcbiAgQE91dHB1dCgpIGJxQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUJ1dHRvbkVsZW1lbnQ+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcUJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuQnFCdXR0b24ge1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgYnV0dG9uIGxvc2VzIGZvY3VzLlxuICAgKi9cbiAgYnFCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxQnV0dG9uRWxlbWVudD4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgYnV0dG9uIGdldHMgZm9jdXMuXG4gICAqL1xuICBicUZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxQnV0dG9uRWxlbWVudD4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgYnV0dG9uIGlzIGNsaWNrZWQuXG4gICAqL1xuICBicUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxQnV0dG9uRWxlbWVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydib3JkZXInLCAndHlwZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtY2FyZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYm9yZGVyJywgJ3R5cGUnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQnFDYXJkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQnFDYXJkRWxlbWVudDtcbiAgICAvKipcbiAgICogVHlwZSBvZiBjYXJkIGNvbXBvbmVudCBAZGVmYXVsdCAnZGVmYXVsdCdcbiAgICovXG4gIHNldCB0eXBlKF86IENvbXBvbmVudHMuQnFDYXJkWyd0eXBlJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgY29ybmVyIHJhZGl1cyBvZiB0aGUgY2FyZCBjb21wb25lbnQgQGRlZmF1bHQgJ20nXG4gICAqL1xuICBzZXQgYm9yZGVyKF86IENvbXBvbmVudHMuQnFDYXJkWydib3JkZXInXSkge307XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxQ2FyZCBleHRlbmRzIENvbXBvbmVudHMuQnFDYXJkIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRPbkhvdmVyJywgJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnZm9ybUlkJywgJ2Zvcm1WYWxpZGF0aW9uTWVzc2FnZScsICdpbmRldGVybWluYXRlJywgJ25hbWUnLCAncmVxdWlyZWQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWyd2Q2xpY2snLCAndkZvY3VzJywgJ3ZCbHVyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1jaGVja2JveCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFja2dyb3VuZE9uSG92ZXInLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdmb3JtSWQnLCAnZm9ybVZhbGlkYXRpb25NZXNzYWdlJywgJ2luZGV0ZXJtaW5hdGUnLCB7IG5hbWU6ICduYW1lJywgcmVxdWlyZWQ6IHRydWUgfSwgJ3JlcXVpcmVkJywgeyBuYW1lOiAndmFsdWUnLCByZXF1aXJlZDogdHJ1ZSB9XSxcbiAgb3V0cHV0czogWydicUNoYW5nZScsICdicUZvY3VzJywgJ2JxQmx1ciddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCcUNoZWNrYm94IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQnFDaGVja2JveEVsZW1lbnQ7XG4gICAgLyoqXG4gICAqIElmIHRydWUgY2hlY2tib3ggZGlzcGxheXMgYmFja2dyb3VuZCBvbiBob3ZlciBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2V0IGJhY2tncm91bmRPbkhvdmVyKF86IENvbXBvbmVudHMuQnFDaGVja2JveFsnYmFja2dyb3VuZE9uSG92ZXInXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBmb3JtIElEIHRoYXQgdGhlIGNoZWNrYm94IGlzIGFzc29jaWF0ZWQgd2l0aFxuICAgKi9cbiAgc2V0IGZvcm1JZChfOiBDb21wb25lbnRzLkJxQ2hlY2tib3hbJ2Zvcm1JZCddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIG5hdGl2ZSBmb3JtIHZhbGlkYXRpb24gbWVzc2FnZVxuICAgKi9cbiAgc2V0IGZvcm1WYWxpZGF0aW9uTWVzc2FnZShfOiBDb21wb25lbnRzLkJxQ2hlY2tib3hbJ2Zvcm1WYWxpZGF0aW9uTWVzc2FnZSddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSBjaGVja2JveCBpcyBjaGVja2VkXG4gICAqL1xuICBzZXQgY2hlY2tlZChfOiBDb21wb25lbnRzLkJxQ2hlY2tib3hbJ2NoZWNrZWQnXSkge307XG4gICAgLyoqXG4gICAqIElmIHRydWUgY2hlY2tib3ggaXMgZGlzYWJsZWQgQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBkaXNhYmxlZChfOiBDb21wb25lbnRzLkJxQ2hlY2tib3hbJ2Rpc2FibGVkJ10pIHt9O1xuICAgIC8qKlxuICAgKiBBIHN0YXRlIHRoYXQgaXMgbmVpdGhlciBjaGVja2VkIG5vciB1bmNoZWNrZWQgQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBpbmRldGVybWluYXRlKF86IENvbXBvbmVudHMuQnFDaGVja2JveFsnaW5kZXRlcm1pbmF0ZSddKSB7fTtcbiAgICAvKipcbiAgICogTmFtZSBvZiB0aGUgSFRNTCBpbnB1dCBmb3JtIGNvbnRyb2wuIFN1Ym1pdHRlZCB3aXRoIHRoZSBmb3JtIGFzIHBhcnQgb2YgYSBuYW1lL3ZhbHVlIHBhaXIuXG4gICAqL1xuICBzZXQgbmFtZShfOiBDb21wb25lbnRzLkJxQ2hlY2tib3hbJ25hbWUnXSkge307XG4gICAgLyoqXG4gICAqIElmIGB0cnVlYCwgaXQgd2lsbCBpbmRpY2F0ZSB0aGF0IHRoZSB1c2VyIG11c3Qgc3BlY2lmeSBhIHZhbHVlIGZvciB0aGUgY2hlY2tib3ggYmVmb3JlIHRoZSBvd25pbmcgZm9ybSBjYW4gYmUgc3VibWl0dGVkXG4gICAqL1xuICBzZXQgcmVxdWlyZWQoXzogQ29tcG9uZW50cy5CcUNoZWNrYm94WydyZXF1aXJlZCddKSB7fTtcbiAgICAvKipcbiAgICogQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSB2YWx1ZSBvZiB0aGUgY2hlY2tib3guIFByaW1hcmlseSB1c2VkIHRvIGRpZmZlcmVudGlhdGUgYSBsaXN0IG9mIHJlbGF0ZWQgY2hlY2tib3hlcyB0aGF0IGhhdmUgdGhlIHNhbWUgbmFtZS5cbiAgICovXG4gIHNldCB2YWx1ZShfOiBDb21wb25lbnRzLkJxQ2hlY2tib3hbJ3ZhbHVlJ10pIHt9O1xuICBAT3V0cHV0KCkgYnFDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgY2hlY2tlZDogYm9vbGVhbiB9Pj4oKTtcbiAgQE91dHB1dCgpIGJxRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUNoZWNrYm94RWxlbWVudD4+KCk7XG4gIEBPdXRwdXQoKSBicUJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUNoZWNrYm94RWxlbWVudD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxQ2hlY2tib3ggZXh0ZW5kcyBDb21wb25lbnRzLkJxQ2hlY2tib3gge1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgY2hlY2tib3ggc3RhdGUgY2hhbmdlc1xuICAgKi9cbiAgYnFDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGNoZWNrZWQ6IGJvb2xlYW4gfT4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgY2hlY2tib3ggZ2V0cyBmb2N1c1xuICAgKi9cbiAgYnFGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUNoZWNrYm94RWxlbWVudD4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgY2hlY2tib3ggbG9zZXMgZm9jdXNcbiAgICovXG4gIGJxQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUNoZWNrYm94RWxlbWVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvZm9jdXMnLCAnY2xlYXJCdXR0b25MYWJlbCcsICdkaXNhYmxlQ2xlYXInLCAnZGlzYWJsZWQnLCAnZGlzdGFuY2UnLCAnZmlyc3REYXlPZldlZWsnLCAnZm9ybScsICdmb3JtVmFsaWRhdGlvbk1lc3NhZ2UnLCAnZm9ybWF0T3B0aW9ucycsICdpc0RhdGVEaXNhbGxvd2VkJywgJ2xvY2FsZScsICdtYXgnLCAnbWluJywgJ21vbnRocycsICdtb250aHNQZXJWaWV3JywgJ25hbWUnLCAnb3BlbicsICdwYW5lbEhlaWdodCcsICdwbGFjZWhvbGRlcicsICdwbGFjZW1lbnQnLCAncmVxdWlyZWQnLCAnc2hvd091dHNpZGVEYXlzJywgJ3NraWRkaW5nJywgJ3N0cmF0ZWd5JywgJ3RlbnRhdGl2ZScsICd0eXBlJywgJ3ZhbGlkYXRpb25TdGF0dXMnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydjbGVhciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtZGF0ZS1waWNrZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dG9mb2N1cycsICdjbGVhckJ1dHRvbkxhYmVsJywgJ2Rpc2FibGVDbGVhcicsICdkaXNhYmxlZCcsICdkaXN0YW5jZScsICdmaXJzdERheU9mV2VlaycsICdmb3JtJywgJ2Zvcm1WYWxpZGF0aW9uTWVzc2FnZScsICdmb3JtYXRPcHRpb25zJywgJ2lzRGF0ZURpc2FsbG93ZWQnLCAnbG9jYWxlJywgJ21heCcsICdtaW4nLCAnbW9udGhzJywgJ21vbnRoc1BlclZpZXcnLCB7IG5hbWU6ICduYW1lJywgcmVxdWlyZWQ6IHRydWUgfSwgJ29wZW4nLCAncGFuZWxIZWlnaHQnLCAncGxhY2Vob2xkZXInLCAncGxhY2VtZW50JywgJ3JlcXVpcmVkJywgJ3Nob3dPdXRzaWRlRGF5cycsICdza2lkZGluZycsICdzdHJhdGVneScsICd0ZW50YXRpdmUnLCAndHlwZScsICd2YWxpZGF0aW9uU3RhdHVzJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsnYnFCbHVyJywgJ2JxQ2hhbmdlJywgJ2JxQ2xlYXInLCAnYnFGb2N1cyddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCcURhdGVQaWNrZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxCcURhdGVQaWNrZXJFbGVtZW50O1xuICAgIC8qKlxuICAgKiBJZiBgdHJ1ZWAsIHRoZSBEYXRlIHBpY2tlciBpbnB1dCB3aWxsIGJlIGZvY3VzZWQgb24gY29tcG9uZW50IHJlbmRlclxuICAgKi9cbiAgc2V0IGF1dG9mb2N1cyhfOiBDb21wb25lbnRzLkJxRGF0ZVBpY2tlclsnYXV0b2ZvY3VzJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgY2xlYXIgYnV0dG9uIGFyaWEgbGFiZWwgQGRlZmF1bHQgJ0NsZWFyIHZhbHVlJ1xuICAgKi9cbiAgc2V0IGNsZWFyQnV0dG9uTGFiZWwoXzogQ29tcG9uZW50cy5CcURhdGVQaWNrZXJbJ2NsZWFyQnV0dG9uTGFiZWwnXSkge307XG4gICAgLyoqXG4gICAqIElmIGB0cnVlYCwgdGhlIGNsZWFyIGJ1dHRvbiB3b24ndCBiZSBkaXNwbGF5ZWQgQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBkaXNhYmxlQ2xlYXIoXzogQ29tcG9uZW50cy5CcURhdGVQaWNrZXJbJ2Rpc2FibGVDbGVhciddKSB7fTtcbiAgICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIERhdGUgcGlja2VyIGlucHV0IGlzIGRpc2FibGVkIG9yIG5vdC5cbklmIGB0cnVlYCwgdGhlIERhdGUgcGlja2VyIGlzIGRpc2FibGVkIGFuZCBjYW5ub3QgYmUgaW50ZXJhY3RlZCB3aXRoLiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2V0IGRpc2FibGVkKF86IENvbXBvbmVudHMuQnFEYXRlUGlja2VyWydkaXNhYmxlZCddKSB7fTtcbiAgICAvKipcbiAgICogUmVwcmVzZW50cyB0aGUgZGlzdGFuY2UgKGd1dHRlciBvciBtYXJnaW4pIGJldHdlZW4gdGhlIERhdGUgcGlja2VyIHBhbmVsIGFuZCB0aGUgaW5wdXQgZWxlbWVudC4gQGRlZmF1bHQgOFxuICAgKi9cbiAgc2V0IGRpc3RhbmNlKF86IENvbXBvbmVudHMuQnFEYXRlUGlja2VyWydkaXN0YW5jZSddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIGZpcnN0IGRheSBvZiB0aGUgd2Vlaywgd2hlcmUgU3VuZGF5IGlzIDAsIE1vbmRheSBpcyAxLCBldGMgQGRlZmF1bHQgMVxuICAgKi9cbiAgc2V0IGZpcnN0RGF5T2ZXZWVrKF86IENvbXBvbmVudHMuQnFEYXRlUGlja2VyWydmaXJzdERheU9mV2VlayddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIG9wdGlvbnMgdG8gdXNlIHdoZW4gZm9ybWF0dGluZyB0aGUgZGlzcGxheWVkIHZhbHVlLlxuRGV0YWlsczogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvSW50bC9EYXRlVGltZUZvcm1hdCN1c2luZ19vcHRpb25zIEBkZWZhdWx0IHtcbiAgICBkYXk6ICdudW1lcmljJyxcbiAgICBtb250aDogJ3Nob3J0JyxcbiAgICB5ZWFyOiAnbnVtZXJpYycsXG4gIH1cbiAgICovXG4gIHNldCBmb3JtYXRPcHRpb25zKF86IENvbXBvbmVudHMuQnFEYXRlUGlja2VyWydmb3JtYXRPcHRpb25zJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIGZvcm0gdGhhdCB0aGUgRGF0ZSBwaWNrZXIgaW5wdXQgYmVsb25ncyB0by5cbiAgICovXG4gIHNldCBmb3JtKF86IENvbXBvbmVudHMuQnFEYXRlUGlja2VyWydmb3JtJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgbmF0aXZlIGZvcm0gdmFsaWRhdGlvbiBtZXNzYWdlIChtYW5kYXRvcnkgaWYgYHJlcXVpcmVkYCBpcyBzZXQpXG4gICAqL1xuICBzZXQgZm9ybVZhbGlkYXRpb25NZXNzYWdlKF86IENvbXBvbmVudHMuQnFEYXRlUGlja2VyWydmb3JtVmFsaWRhdGlvbk1lc3NhZ2UnXSkge307XG4gICAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdGhhdCB0YWtlcyBhIGRhdGUgYW5kIHJldHVybnMgdHJ1ZSBpZiB0aGUgZGF0ZSBzaG91bGQgbm90IGJlIHNlbGVjdGFibGVcbiAgICovXG4gIHNldCBpc0RhdGVEaXNhbGxvd2VkKF86IENvbXBvbmVudHMuQnFEYXRlUGlja2VyWydpc0RhdGVEaXNhbGxvd2VkJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgbG9jYWxlIGZvciBmb3JtYXR0aW5nIGRhdGVzLiBJZiBub3Qgc2V0LCB3aWxsIHVzZSB0aGUgYnJvd3NlcidzIGxvY2FsZS5cbkRldGFpbHM6IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0ludGwjbG9jYWxlc19hcmd1bWVudCBAZGVmYXVsdCAnZW4tR0InXG4gICAqL1xuICBzZXQgbG9jYWxlKF86IENvbXBvbmVudHMuQnFEYXRlUGlja2VyWydsb2NhbGUnXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBsYXRlc3QgZGF0ZSB0aGF0IGNhbiBiZSBzZWxlY3RlZFxuICAgKi9cbiAgc2V0IG1heChfOiBDb21wb25lbnRzLkJxRGF0ZVBpY2tlclsnbWF4J10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgZWFybGllc3QgZGF0ZSB0aGF0IGNhbiBiZSBzZWxlY3RlZFxuICAgKi9cbiAgc2V0IG1pbihfOiBDb21wb25lbnRzLkJxRGF0ZVBpY2tlclsnbWluJ10pIHt9O1xuICAgIC8qKlxuICAgKiBOdW1iZXIgb2YgbW9udGhzIHRvIHNob3cgd2hlbiByYW5nZSBpcyBgdHJ1ZWBcbiAgICovXG4gIHNldCBtb250aHMoXzogQ29tcG9uZW50cy5CcURhdGVQaWNrZXJbJ21vbnRocyddKSB7fTtcbiAgICAvKipcbiAgICogU3BlY2lmaWVzIGhvdyB0aGUgbmV4dC9wcmV2aW91cyBidXR0b25zIHNob3VsZCBuYXZpZ2F0ZSB0aGUgY2FsZW5kYXIuXG4tIHNpbmdsZTogVGhlIGJ1dHRvbnMgd2lsbCBuYXZpZ2F0ZSBieSBhIHNpbmdsZSBtb250aCBhdCBhIHRpbWUuXG4tIG1vbnRoczogVGhlIGJ1dHRvbnMgd2lsbCBuYXZpZ2F0ZSBieSB0aGUgbnVtYmVyIG9mIG1vbnRocyBkaXNwbGF5ZWQgcGVyIHZpZXcuIEBkZWZhdWx0ICdzaW5nbGUnXG4gICAqL1xuICBzZXQgbW9udGhzUGVyVmlldyhfOiBDb21wb25lbnRzLkJxRGF0ZVBpY2tlclsnbW9udGhzUGVyVmlldyddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIERhdGUgcGlja2VyIGlucHV0IG5hbWUuXG4gICAqL1xuICBzZXQgbmFtZShfOiBDb21wb25lbnRzLkJxRGF0ZVBpY2tlclsnbmFtZSddKSB7fTtcbiAgICAvKipcbiAgICogSWYgYHRydWVgLCB0aGUgRGF0ZSBwaWNrZXIgcGFuZWwgd2lsbCBiZSB2aXNpYmxlLiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2V0IG9wZW4oXzogQ29tcG9uZW50cy5CcURhdGVQaWNrZXJbJ29wZW4nXSkge307XG4gICAgLyoqXG4gICAqIFdoZW4gc2V0LCBpdCB3aWxsIG92ZXJyaWRlIHRoZSBoZWlnaHQgb2YgdGhlIERhdGUgcGlja2VyIHBhbmVsLiBAZGVmYXVsdCAnYXV0bydcbiAgICovXG4gIHNldCBwYW5lbEhlaWdodChfOiBDb21wb25lbnRzLkJxRGF0ZVBpY2tlclsncGFuZWxIZWlnaHQnXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBEYXRlIHBpY2tlciBpbnB1dCBwbGFjZWhvbGRlciB0ZXh0IHZhbHVlXG4gICAqL1xuICBzZXQgcGxhY2Vob2xkZXIoXzogQ29tcG9uZW50cy5CcURhdGVQaWNrZXJbJ3BsYWNlaG9sZGVyJ10pIHt9O1xuICAgIC8qKlxuICAgKiBQb3NpdGlvbiBvZiB0aGUgRGF0ZSBwaWNrZXIgcGFuZWwgQGRlZmF1bHQgJ2JvdHRvbS1lbmQnXG4gICAqL1xuICBzZXQgcGxhY2VtZW50KF86IENvbXBvbmVudHMuQnFEYXRlUGlja2VyWydwbGFjZW1lbnQnXSkge307XG4gICAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCB0aGUgRGF0ZSBwaWNrZXIgaW5wdXQgaXMgcmVxdWlyZWQgdG8gYmUgZmlsbGVkIG91dCBiZWZvcmUgc3VibWl0dGluZyB0aGUgZm9ybS5cbiAgICovXG4gIHNldCByZXF1aXJlZChfOiBDb21wb25lbnRzLkJxRGF0ZVBpY2tlclsncmVxdWlyZWQnXSkge307XG4gICAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIHNraWRkaW5nIGJldHdlZW4gdGhlIERhdGUgcGlja2VyIHBhbmVsIGFuZCB0aGUgaW5wdXQgZWxlbWVudC4gQGRlZmF1bHQgMFxuICAgKi9cbiAgc2V0IHNraWRkaW5nKF86IENvbXBvbmVudHMuQnFEYXRlUGlja2VyWydza2lkZGluZyddKSB7fTtcbiAgICAvKipcbiAgICogV2hldGhlciB0byBzaG93IGRheXMgb3V0c2lkZSB0aGUgbW9udGggQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBzaG93T3V0c2lkZURheXMoXzogQ29tcG9uZW50cy5CcURhdGVQaWNrZXJbJ3Nob3dPdXRzaWRlRGF5cyddKSB7fTtcbiAgICAvKipcbiAgICogRGVmaW5lcyB0aGUgc3RyYXRlZ3kgdG8gcG9zaXRpb24gdGhlIERhdGUgcGlja2VyIHBhbmVsIEBkZWZhdWx0ICdmaXhlZCdcbiAgICovXG4gIHNldCBzdHJhdGVneShfOiBDb21wb25lbnRzLkJxRGF0ZVBpY2tlclsnc3RyYXRlZ3knXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBkYXRlIHRoYXQgaXMgdGVudGF0aXZlbHkgc2VsZWN0ZWQgZS5nLiB0aGUgc3RhcnQgb2YgYSByYW5nZSBzZWxlY3Rpb25cbiAgICovXG4gIHNldCB0ZW50YXRpdmUoXzogQ29tcG9uZW50cy5CcURhdGVQaWNrZXJbJ3RlbnRhdGl2ZSddKSB7fTtcbiAgICAvKipcbiAgICogSXQgZGVmaW5lcyBob3cgdGhlIGNhbGVuZGFyIHdpbGwgYmVoYXZlLCBhbGxvd2luZyBzaW5nbGUgZGF0ZSBzZWxlY3Rpb24sIHJhbmdlIHNlbGVjdGlvbiwgb3IgbXVsdGlwbGUgZGF0ZSBzZWxlY3Rpb24gQGRlZmF1bHQgJ3NpbmdsZSdcbiAgICovXG4gIHNldCB0eXBlKF86IENvbXBvbmVudHMuQnFEYXRlUGlja2VyWyd0eXBlJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgdmFsaWRhdGlvbiBzdGF0dXMgb2YgdGhlIFNlbGVjdCBpbnB1dC4gQHJlbWFya3MgVGhpcyBwcm9wZXJ0eSBpcyB1c2VkIHRvIGluZGljYXRlIHRoZSB2YWxpZGF0aW9uIHN0YXR1cyBvZiB0aGUgc2VsZWN0IGlucHV0LiBJdCBjYW4gYmUgc2V0IHRvIG9uZSBvZiB0aGUgZm9sbG93aW5nIHZhbHVlczpcbi0gYCdub25lJ2A6IE5vIHZhbGlkYXRpb24gc3RhdHVzIGlzIHNldC5cbi0gYCdlcnJvcidgOiBUaGUgaW5wdXQgaGFzIGEgdmFsaWRhdGlvbiBlcnJvci5cbi0gYCd3YXJuaW5nJ2A6IFRoZSBpbnB1dCBoYXMgYSB2YWxpZGF0aW9uIHdhcm5pbmcuXG4tIGAnc3VjY2VzcydgOiBUaGUgaW5wdXQgaGFzIHBhc3NlZCB2YWxpZGF0aW9uLixAZGVmYXVsdCAnbm9uZSdcbiAgICovXG4gIHNldCB2YWxpZGF0aW9uU3RhdHVzKF86IENvbXBvbmVudHMuQnFEYXRlUGlja2VyWyd2YWxpZGF0aW9uU3RhdHVzJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgc2VsZWN0IGlucHV0IHZhbHVlIHJlcHJlc2VudHMgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBkYXRlIG9yIHJhbmdlIGFuZCBjYW4gYmUgdXNlZCB0byByZXNldCB0aGUgZmllbGQgdG8gYSBwcmV2aW91cyB2YWx1ZS5cbkFsbCBkYXRlcyBhcmUgZXhwZWN0ZWQgaW4gSVNPLTg2MDEgZm9ybWF0IChZWVlZLU1NLUREKS5cbiAgICovXG4gIHNldCB2YWx1ZShfOiBDb21wb25lbnRzLkJxRGF0ZVBpY2tlclsndmFsdWUnXSkge307XG4gIEBPdXRwdXQoKSBicUJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcURhdGVQaWNrZXJFbGVtZW50Pj4oKTtcbiAgQE91dHB1dCgpIGJxQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHZhbHVlOiBzdHJpbmc7IGVsOiBIVE1MQnFEYXRlUGlja2VyRWxlbWVudCB9Pj4oKTtcbiAgQE91dHB1dCgpIGJxQ2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcURhdGVQaWNrZXJFbGVtZW50Pj4oKTtcbiAgQE91dHB1dCgpIGJxRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcURhdGVQaWNrZXJFbGVtZW50Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFEYXRlUGlja2VyIGV4dGVuZHMgQ29tcG9uZW50cy5CcURhdGVQaWNrZXIge1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciBlbWl0dGVkIHdoZW4gdGhlIGlucHV0IGxvc2VzIGZvY3VzXG4gICAqL1xuICBicUJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFEYXRlUGlja2VyRWxlbWVudD4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciBlbWl0dGVkIHdoZW4gdGhlIGlucHV0IHZhbHVlIGhhcyBjaGFuZ2VkIGFuZCB0aGUgaW5wdXQgbG9zZXMgZm9jdXMuXG5UaGlzIGhhbmRsZXIgaXMgY2FsbGVkIHdoZW5ldmVyIHRoZSB1c2VyIGZpbmlzaGVzIHR5cGluZyBvciBwYXN0aW5nIHRleHQgaW50byB0aGUgaW5wdXQgZmllbGQgYW5kIHRoZW4gY2xpY2tzIG91dHNpZGUgb2YgdGhlIGlucHV0IGZpZWxkLlxuICAgKi9cbiAgYnFDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHZhbHVlOiBzdHJpbmc7IGVsOiBIVE1MQnFEYXRlUGlja2VyRWxlbWVudCB9Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgdmFsdWUgaGFzIGJlZW4gY2xlYXJlZFxuICAgKi9cbiAgYnFDbGVhcjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcURhdGVQaWNrZXJFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgaGFzIHJlY2VpdmVkIGZvY3VzXG4gICAqL1xuICBicUZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxRGF0ZVBpY2tlckVsZW1lbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYm9yZGVyJywgJ2Rpc2FibGVCYWNrZHJvcCcsICdkaXNhYmxlQ2xvc2VDbGlja091dHNpZGUnLCAnZGlzYWJsZUNsb3NlRXNjS2V5ZG93bicsICdmb290ZXJBcHBlYXJhbmNlJywgJ2hpZGVDbG9zZUJ1dHRvbicsICdvcGVuJywgJ3NpemUnXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2hpZGUnLCAnY2FuY2VsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1kaWFsb2cnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JvcmRlcicsICdkaXNhYmxlQmFja2Ryb3AnLCAnZGlzYWJsZUNsb3NlQ2xpY2tPdXRzaWRlJywgJ2Rpc2FibGVDbG9zZUVzY0tleWRvd24nLCAnZm9vdGVyQXBwZWFyYW5jZScsICdoaWRlQ2xvc2VCdXR0b24nLCAnb3BlbicsICdzaXplJ10sXG4gIG91dHB1dHM6IFsnYnFDYW5jZWwnLCAnYnFDbG9zZScsICdicU9wZW4nLCAnYnFBZnRlck9wZW4nLCAnYnFBZnRlckNsb3NlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJxRGlhbG9nIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQnFEaWFsb2dFbGVtZW50O1xuICAgIC8qKlxuICAgKiBCb3JkZXIgcmFkaXVzIG9mIHRoZSBkaWFsb2cgY29tcG9uZW50IEBkZWZhdWx0ICdtJ1xuICAgKi9cbiAgc2V0IGJvcmRlcihfOiBDb21wb25lbnRzLkJxRGlhbG9nWydib3JkZXInXSkge307XG4gICAgLyoqXG4gICAqIElmIHRydWUsIHRoZSBiYWNrZHJvcCBvdmVybGF5IHdvbid0IGJlIHNob3duIHdoZW4gdGhlIGRpYWxvZyBvcGVucyBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2V0IGRpc2FibGVCYWNrZHJvcChfOiBDb21wb25lbnRzLkJxRGlhbG9nWydkaXNhYmxlQmFja2Ryb3AnXSkge307XG4gICAgLyoqXG4gICAqIElmIHRydWUsIHRoZSBkaWFsb2cgd2lsbCBub3QgY2xvc2Ugd2hlbiB0aGUgW0VzY10ga2V5IGlzIHByZXNzIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgZGlzYWJsZUNsb3NlRXNjS2V5ZG93bihfOiBDb21wb25lbnRzLkJxRGlhbG9nWydkaXNhYmxlQ2xvc2VFc2NLZXlkb3duJ10pIHt9O1xuICAgIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgZGlhbG9nIHdpbGwgbm90IGNsb3NlIHdoZW4gY2xpY2tpbmcgb24gdGhlIGJhY2tkcm9wIG92ZXJsYXkgQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBkaXNhYmxlQ2xvc2VDbGlja091dHNpZGUoXzogQ29tcG9uZW50cy5CcURpYWxvZ1snZGlzYWJsZUNsb3NlQ2xpY2tPdXRzaWRlJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgYXBwZWFyYW5jZSBvZiBmb290ZXIgQGRlZmF1bHQgJ3N0YW5kYXJkJ1xuICAgKi9cbiAgc2V0IGZvb3RlckFwcGVhcmFuY2UoXzogQ29tcG9uZW50cy5CcURpYWxvZ1snZm9vdGVyQXBwZWFyYW5jZSddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgaXQgaGlkZXMgdGhlIGNsb3NlIGJ1dHRvbiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2V0IGhpZGVDbG9zZUJ1dHRvbihfOiBDb21wb25lbnRzLkJxRGlhbG9nWydoaWRlQ2xvc2VCdXR0b24nXSkge307XG4gICAgLyoqXG4gICAqIElmIHRydWUsIHRoZSBkaWFsb2cgd2lsbCBiZSBzaG93biBhcyBvcGVuIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgb3BlbihfOiBDb21wb25lbnRzLkJxRGlhbG9nWydvcGVuJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgZGlhbG9nIEBkZWZhdWx0ICdtZWRpdW0nXG4gICAqL1xuICBzZXQgc2l6ZShfOiBDb21wb25lbnRzLkJxRGlhbG9nWydzaXplJ10pIHt9O1xuICBAT3V0cHV0KCkgYnFDYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PigpO1xuICBAT3V0cHV0KCkgYnFDbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+KCk7XG4gIEBPdXRwdXQoKSBicU9wZW4gPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PigpO1xuICBAT3V0cHV0KCkgYnFBZnRlck9wZW4gPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PigpO1xuICBAT3V0cHV0KCkgYnFBZnRlckNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFEaWFsb2cgZXh0ZW5kcyBDb21wb25lbnRzLkJxRGlhbG9nIHtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBkaWFsb2cgaGFzIGJlZW4gY2FuY2VsZWQgb3IgZGlzbWlzc2VkXG4gICAqL1xuICBicUNhbmNlbDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBkaWFsb2cgd2lsbCBjbG9zZVxuICAgKi9cbiAgYnFDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBkaWFsb2cgd2lsbCBvcGVuXG4gICAqL1xuICBicU9wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgZGlhbG9nIGZpbmlzaCBvcGVuaW5nXG4gICAqL1xuICBicUFmdGVyT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBkaWFsb2cgZmluaXNoIGNsb3NpbmdcbiAgICovXG4gIGJxQWZ0ZXJDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGFzaGVkJywgJ29yaWVudGF0aW9uJywgJ3N0cm9rZUJhc2lzJywgJ3N0cm9rZUNvbG9yJywgJ3N0cm9rZURhc2hHYXAnLCAnc3Ryb2tlRGFzaFdpZHRoJywgJ3N0cm9rZUxpbmVjYXAnLCAnc3Ryb2tlVGhpY2tuZXNzJywgJ3RpdGxlQWxpZ25tZW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1kaXZpZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkYXNoZWQnLCAnb3JpZW50YXRpb24nLCAnc3Ryb2tlQmFzaXMnLCAnc3Ryb2tlQ29sb3InLCAnc3Ryb2tlRGFzaEdhcCcsICdzdHJva2VEYXNoV2lkdGgnLCAnc3Ryb2tlTGluZWNhcCcsICdzdHJva2VUaGlja25lc3MnLCAndGl0bGVBbGlnbm1lbnQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQnFEaXZpZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQnFEaXZpZGVyRWxlbWVudDtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIGRpdmlkZXIgaGFzIGEgZGFzaGVkIHBhdHRlcm4gQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBkYXNoZWQoXzogQ29tcG9uZW50cy5CcURpdmlkZXJbJ2Rhc2hlZCddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIGRlZmF1bHQgb3JpZW50YXRpb24gb2YgdGhlIGRpdmlkZXIgQGRlZmF1bHQgJ2hvcml6b250YWwnXG4gICAqL1xuICBzZXQgb3JpZW50YXRpb24oXzogQ29tcG9uZW50cy5CcURpdmlkZXJbJ29yaWVudGF0aW9uJ10pIHt9O1xuICAgIC8qKlxuICAgKiBTZXQgdGhlIHN0cm9rZSBjb2xvciBvZiB0aGUgZGl2aWRlci4gVGhlIHZhbHVlIHNob3VsZCBiZSBhIHZhbGlkIHZhbHVlIG9mIHRoZSBwYWxldHRlIGNvbG9yIEBkZWZhdWx0ICdzdHJva2UtLXByaW1hcnknXG4gICAqL1xuICBzZXQgc3Ryb2tlQ29sb3IoXzogQ29tcG9uZW50cy5CcURpdmlkZXJbJ3N0cm9rZUNvbG9yJ10pIHt9O1xuICAgIC8qKlxuICAgKiBTZXQgdGhlIGFsaWdubWVudCBvZiB0aGUgdGl0bGUgb24gdGhlIG1haW4gYXhpcyBvZiB0aGUgZGl2aWRlciAoaG9yaXpvbnRhbCAvIHZlcnRpY2FsKSBAZGVmYXVsdCAnbWlkZGxlJ1xuICAgKi9cbiAgc2V0IHRpdGxlQWxpZ25tZW50KF86IENvbXBvbmVudHMuQnFEaXZpZGVyWyd0aXRsZUFsaWdubWVudCddKSB7fTtcbiAgICAvKipcbiAgICogU2V0IHRoZSB3aWR0aCBvZiBlYWNoIGRhc2ggb2YgdGhlIGRpdmlkZXIncyBzdHJva2UuIFRoaXMgaXMgYXBwbGljYWJsZSB3aGVuIHRoZSBzdHJva2UgaXMgZGFzaGVkIEBkZWZhdWx0IDEyXG4gICAqL1xuICBzZXQgc3Ryb2tlRGFzaFdpZHRoKF86IENvbXBvbmVudHMuQnFEaXZpZGVyWydzdHJva2VEYXNoV2lkdGgnXSkge307XG4gICAgLyoqXG4gICAqIFNldCB0aGUgZ2FwIG9mIHRoZSBkaXZpZGVyJ3Mgc3Ryb2tlLiBUaGlzIGlzIGFwcGxpY2FibGUgd2hlbiB0aGUgc3Ryb2tlIGlzIGRhc2hlZCBAZGVmYXVsdCA3XG4gICAqL1xuICBzZXQgc3Ryb2tlRGFzaEdhcChfOiBDb21wb25lbnRzLkJxRGl2aWRlclsnc3Ryb2tlRGFzaEdhcCddKSB7fTtcbiAgICAvKipcbiAgICogU2V0IHRoZSB0aGlja25lc3Mgb2YgdGhlIGRpdmlkZXIncyBzdHJva2UuIFZhbHVlIGV4cHJlc3NlZCBpbiBweCBAZGVmYXVsdCAxXG4gICAqL1xuICBzZXQgc3Ryb2tlVGhpY2tuZXNzKF86IENvbXBvbmVudHMuQnFEaXZpZGVyWydzdHJva2VUaGlja25lc3MnXSkge307XG4gICAgLyoqXG4gICAqIFNldCB0aGUgbWluIHdpZHRoIG9mIHRoZSBkaXZpZGVyJ3Mgc3Ryb2tlIHdoZW4gdGV4dCBpcyBub3QgY2VudGVyZWQuIFZhbHVlIGV4cHJlc3NlZCBpbiBweCBAZGVmYXVsdCAwXG4gICAqL1xuICBzZXQgc3Ryb2tlQmFzaXMoXzogQ29tcG9uZW50cy5CcURpdmlkZXJbJ3N0cm9rZUJhc2lzJ10pIHt9O1xuICAgIC8qKlxuICAgKiBTZXQgdGhlIGxpbmUgb2YgdGhlIGRpdmlkZXIncyBzdHJva2UuIFRoaXMgaXMgYXBwbGljYWJsZSB3aGVuIHRoZSBzdHJva2UgaXMgZGFzaGVkIEBkZWZhdWx0ICdidXR0J1xuICAgKi9cbiAgc2V0IHN0cm9rZUxpbmVjYXAoXzogQ29tcG9uZW50cy5CcURpdmlkZXJbJ3N0cm9rZUxpbmVjYXAnXSkge307XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxRGl2aWRlciBleHRlbmRzIENvbXBvbmVudHMuQnFEaXZpZGVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Nsb3NlT25DbGlja091dHNpZGUnLCAnY2xvc2VPbkVzYycsICdlbmFibGVCYWNrZHJvcCcsICdvcGVuJywgJ3BsYWNlbWVudCcsICdwb3NpdGlvbiddLFxuICBtZXRob2RzOiBbJ2hpZGUnLCAnc2hvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtZHJhd2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjbG9zZU9uQ2xpY2tPdXRzaWRlJywgJ2Nsb3NlT25Fc2MnLCAnZW5hYmxlQmFja2Ryb3AnLCAnb3BlbicsICdwbGFjZW1lbnQnLCAncG9zaXRpb24nXSxcbiAgb3V0cHV0czogWydicUNsb3NlJywgJ2JxT3BlbicsICdicUFmdGVyT3BlbicsICdicUFmdGVyQ2xvc2UnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQnFEcmF3ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxCcURyYXdlckVsZW1lbnQ7XG4gICAgLyoqXG4gICAqIElmIHRydWUsIHRoZSBiYWNrZHJvcCBvdmVybGF5IHdpbGwgYmUgc2hvd24gd2hlbiB0aGUgZHJhd2VyIG9wZW5zIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgZW5hYmxlQmFja2Ryb3AoXzogQ29tcG9uZW50cy5CcURyYXdlclsnZW5hYmxlQmFja2Ryb3AnXSkge307XG4gICAgLyoqXG4gICAqIElmIHRydWUsIHRoZSBkcmF3ZXIgd2lsbCBub3QgY2xvc2Ugd2hlbiBjbGlja2luZyBvdXRzaWRlIHRoZSBwYW5lbCBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2V0IGNsb3NlT25DbGlja091dHNpZGUoXzogQ29tcG9uZW50cy5CcURyYXdlclsnY2xvc2VPbkNsaWNrT3V0c2lkZSddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIGRpYWxvZyB3aWxsIG5vdCBjbG9zZSB3aGVuIHRoZSBbRXNjXSBrZXkgaXMgcHJlc3NlZCBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2V0IGNsb3NlT25Fc2MoXzogQ29tcG9uZW50cy5CcURyYXdlclsnY2xvc2VPbkVzYyddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIGRyYXdlciBjb21wb25lbnQgd2lsbCBiZSBzaG93blxuICAgKi9cbiAgc2V0IG9wZW4oXzogQ29tcG9uZW50cy5CcURyYXdlclsnb3BlbiddKSB7fTtcbiAgICAvKipcbiAgICogIEBkZXByZWNhdGVkIERlZmluZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSBkcmF3ZXIsQGRlZmF1bHQgJ3JpZ2h0J1xuICAgKi9cbiAgc2V0IHBsYWNlbWVudChfOiBDb21wb25lbnRzLkJxRHJhd2VyWydwbGFjZW1lbnQnXSkge307XG4gICAgLyoqXG4gICAqIERlZmluZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSBkcmF3ZXIgQGRlZmF1bHQgJ2VuZCdcbiAgICovXG4gIHNldCBwb3NpdGlvbihfOiBDb21wb25lbnRzLkJxRHJhd2VyWydwb3NpdGlvbiddKSB7fTtcbiAgQE91dHB1dCgpIGJxQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+KCk7XG4gIEBPdXRwdXQoKSBicU9wZW4gPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+KCk7XG4gIEBPdXRwdXQoKSBicUFmdGVyT3BlbiA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj4oKTtcbiAgQE91dHB1dCgpIGJxQWZ0ZXJDbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFEcmF3ZXIgZXh0ZW5kcyBDb21wb25lbnRzLkJxRHJhd2VyIHtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGRyYXdlciBpcyBjbG9zZWRcbiAgICovXG4gIGJxQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGRyYXdlciBpcyBvcGVuZWRcbiAgICovXG4gIGJxT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciB0byBiZSBjYWxsZWQgYWZ0ZXIgdGhlIGRyYXdlciBoYXMgYmVlbiBvcGVuZWRcbiAgICovXG4gIGJxQWZ0ZXJPcGVuOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIHRvIGJlIGNhbGxlZCBhZnRlciB0aGUgZHJhd2VyIGhhcyBiZWVuIGNsb3NlZFxuICAgKi9cbiAgYnFBZnRlckNsb3NlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVTY3JvbGxMb2NrJywgJ2Rpc2FibGVkJywgJ2Rpc3RhbmNlJywgJ2tlZXBPcGVuT25TZWxlY3QnLCAnb3BlbicsICdwYW5lbEhlaWdodCcsICdwbGFjZW1lbnQnLCAnc2FtZVdpZHRoJywgJ3NraWRkaW5nJywgJ3N0cmF0ZWd5J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1kcm9wZG93bicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZVNjcm9sbExvY2snLCAnZGlzYWJsZWQnLCAnZGlzdGFuY2UnLCAna2VlcE9wZW5PblNlbGVjdCcsICdvcGVuJywgJ3BhbmVsSGVpZ2h0JywgJ3BsYWNlbWVudCcsICdzYW1lV2lkdGgnLCAnc2tpZGRpbmcnLCAnc3RyYXRlZ3knXSxcbiAgb3V0cHV0czogWydicU9wZW4nXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQnFEcm9wZG93biB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEJxRHJvcGRvd25FbGVtZW50O1xuICAgIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgZHJvcGRvd24gcGFuZWwgd2lsbCBub3QgbG9jayB0aGUgcGFnZSBib2R5IHNjcm9sbCB3aGVuIG9wZW4uIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgZGlzYWJsZVNjcm9sbExvY2soXzogQ29tcG9uZW50cy5CcURyb3Bkb3duWydkaXNhYmxlU2Nyb2xsTG9jayddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIGRyb3Bkb3duIHBhbmVsIHdpbGwgYmUgdmlzaWJsZSBhbmQgd29uJ3QgYmUgc2hvd24uIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgZGlzYWJsZWQoXzogQ29tcG9uZW50cy5CcURyb3Bkb3duWydkaXNhYmxlZCddKSB7fTtcbiAgICAvKipcbiAgICogUmVwcmVzZW50cyB0aGUgZGlzdGFuY2UgKGd1dHRlciBvciBtYXJnaW4pIGJldHdlZW4gdGhlIHBhbmVsIGFuZCB0aGUgdHJpZ2dlciBlbGVtZW50LiBAZGVmYXVsdCA0XG4gICAqL1xuICBzZXQgZGlzdGFuY2UoXzogQ29tcG9uZW50cy5CcURyb3Bkb3duWydkaXN0YW5jZSddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIHBhbmVsIHdpbGwgcmVtYWluIG9wZW4gYWZ0ZXIgYSBzZWxlY3Rpb24gaXMgbWFkZS4gQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBrZWVwT3Blbk9uU2VsZWN0KF86IENvbXBvbmVudHMuQnFEcm9wZG93blsna2VlcE9wZW5PblNlbGVjdCddKSB7fTtcbiAgICAvKipcbiAgICogUG9zaXRpb24gb2YgdGhlIHBhbmVsIEBkZWZhdWx0ICdib3R0b20tc3RhcnQnXG4gICAqL1xuICBzZXQgcGxhY2VtZW50KF86IENvbXBvbmVudHMuQnFEcm9wZG93blsncGxhY2VtZW50J10pIHt9O1xuICAgIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgcGFuZWwgd2lsbCBiZSB2aXNpYmxlLiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2V0IG9wZW4oXzogQ29tcG9uZW50cy5CcURyb3Bkb3duWydvcGVuJ10pIHt9O1xuICAgIC8qKlxuICAgKiBXaGVuIHNldCwgaXQgd2lsbCBvdmVycmlkZSB0aGUgaGVpZ2h0IG9mIHRoZSBkcm9wZG93biBwYW5lbFxuICAgKi9cbiAgc2V0IHBhbmVsSGVpZ2h0KF86IENvbXBvbmVudHMuQnFEcm9wZG93blsncGFuZWxIZWlnaHQnXSkge307XG4gICAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHBhbmVsIHNob3VsZCBoYXZlIHRoZSBzYW1lIHdpZHRoIGFzIHRoZSB0cmlnZ2VyIGVsZW1lbnQgQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBzYW1lV2lkdGgoXzogQ29tcG9uZW50cy5CcURyb3Bkb3duWydzYW1lV2lkdGgnXSkge307XG4gICAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIHNraWRkaW5nIGJldHdlZW4gdGhlIHBhbmVsIGFuZCB0aGUgdHJpZ2dlciBlbGVtZW50LiBAZGVmYXVsdCAwXG4gICAqL1xuICBzZXQgc2tpZGRpbmcoXzogQ29tcG9uZW50cy5CcURyb3Bkb3duWydza2lkZGluZyddKSB7fTtcbiAgICAvKipcbiAgICogRGVmaW5lcyB0aGUgc3RyYXRlZ3kgdG8gcG9zaXRpb24gdGhlIHBhbmVsIEBkZWZhdWx0ICdmaXhlZCdcbiAgICovXG4gIHNldCBzdHJhdGVneShfOiBDb21wb25lbnRzLkJxRHJvcGRvd25bJ3N0cmF0ZWd5J10pIHt9O1xuICBAT3V0cHV0KCkgYnFPcGVuID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IG9wZW46IGJvb2xlYW4gfT4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxRHJvcGRvd24gZXh0ZW5kcyBDb21wb25lbnRzLkJxRHJvcGRvd24ge1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgZHJvcGRvd24gcGFuZWwgaXMgb3BlbmVkIG9yIGNsb3NlZC5cbiAgICovXG4gIGJxT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgb3BlbjogYm9vbGVhbiB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLWVtcHR5LXN0YXRlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzaXplJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJxRW1wdHlTdGF0ZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEJxRW1wdHlTdGF0ZUVsZW1lbnQ7XG4gICAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSBlbXB0eSBzdGF0ZSBjb21wb25lbnQgQGRlZmF1bHQgJ21lZGl1bSdcbiAgICovXG4gIHNldCBzaXplKF86IENvbXBvbmVudHMuQnFFbXB0eVN0YXRlWydzaXplJ10pIHt9O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcUVtcHR5U3RhdGUgZXh0ZW5kcyBDb21wb25lbnRzLkJxRW1wdHlTdGF0ZSB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xvcicsICdsYWJlbCcsICduYW1lJywgJ3NpemUnLCAnc3JjJywgJ3dlaWdodCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sb3InLCAnbGFiZWwnLCAnbmFtZScsICdzaXplJywgJ3NyYycsICd3ZWlnaHQnXSxcbiAgb3V0cHV0czogWydzdmdMb2FkZWQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQnFJY29uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQnFJY29uRWxlbWVudDtcbiAgICAvKipcbiAgICogTGFiZWwgZm9yIHRoZSBpY29uLCB1c2VkIGZvciBhY2Nlc3NpYmlsaXR5XG4gICAqL1xuICBzZXQgbGFiZWwoXzogQ29tcG9uZW50cy5CcUljb25bJ2xhYmVsJ10pIHt9O1xuICAgIC8qKlxuICAgKiBTZXQgdGhlIHN0cm9rZSBjb2xvciBvZiB0aGUgU1ZHLiBUaGUgdmFsdWUgc2hvdWxkIGJlIGEgdmFsaWQgdmFsdWUgb2YgdGhlIHBhbGV0dGUgY29sb3JcbiAgICovXG4gIHNldCBjb2xvcihfOiBDb21wb25lbnRzLkJxSWNvblsnY29sb3InXSkge307XG4gICAgLyoqXG4gICAqIEljb24gbmFtZSB0byBsb2FkLiBQbGVhc2UgY2hlY2sgYWxsIGF2YWlsYWJsZSBpY29ucyBbaGVyZV0oaHR0cHM6Ly9waG9zcGhvcmljb25zLmNvbS8pXG4gICAqL1xuICBzZXQgbmFtZShfOiBDb21wb25lbnRzLkJxSWNvblsnbmFtZSddKSB7fTtcbiAgICAvKipcbiAgICogU2V0IHRoZSBzaXplIG9mIHRoZSBTVkcgQGRlZmF1bHQgMjRcbiAgICovXG4gIHNldCBzaXplKF86IENvbXBvbmVudHMuQnFJY29uWydzaXplJ10pIHt9O1xuICAgIC8qKlxuICAgKiBTZXQgdGhlIHNvdXJjZSBvZiB0aGUgU1ZHLiBJZiB0aGUgc291cmNlIGlzIHNldCwgdGhlIG5hbWUgcHJvcGVydHkgd2lsbCBiZSBpZ25vcmVkXG4gICAqL1xuICBzZXQgc3JjKF86IENvbXBvbmVudHMuQnFJY29uWydzcmMnXSkge307XG4gICAgLyoqXG4gICAqICBAZGVwcmVjYXRlZCBJdCBzZXQgdGhlIGljb24gd2VpZ2h0L3N0eWxlLEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgc2V0IHdlaWdodChfOiBDb21wb25lbnRzLkJxSWNvblsnd2VpZ2h0J10pIHt9O1xuICBAT3V0cHV0KCkgc3ZnTG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcUljb24gZXh0ZW5kcyBDb21wb25lbnRzLkJxSWNvbiB7XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBTVkcgaGFzIGxvYWRlZFxuICAgKi9cbiAgc3ZnTG9hZGVkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9jYXBpdGFsaXplJywgJ2F1dG9jb21wbGV0ZScsICdhdXRvY29ycmVjdCcsICdhdXRvZm9jdXMnLCAnY2xlYXJCdXR0b25MYWJlbCcsICdkZWJvdW5jZVRpbWUnLCAnZGlzYWJsZUNsZWFyJywgJ2Rpc2FibGVkJywgJ2Zvcm0nLCAnZm9ybVZhbGlkYXRpb25NZXNzYWdlJywgJ2lucHV0bW9kZScsICdtYXgnLCAnbWF4bGVuZ3RoJywgJ21pbicsICdtaW5sZW5ndGgnLCAnbmFtZScsICdwYXR0ZXJuJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3N0ZXAnLCAndHlwZScsICd2YWxpZGF0aW9uU3RhdHVzJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1pbnB1dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b2NhcGl0YWxpemUnLCAnYXV0b2NvbXBsZXRlJywgJ2F1dG9jb3JyZWN0JywgJ2F1dG9mb2N1cycsICdjbGVhckJ1dHRvbkxhYmVsJywgJ2RlYm91bmNlVGltZScsICdkaXNhYmxlQ2xlYXInLCAnZGlzYWJsZWQnLCAnZm9ybScsICdmb3JtVmFsaWRhdGlvbk1lc3NhZ2UnLCAnaW5wdXRtb2RlJywgJ21heCcsICdtYXhsZW5ndGgnLCAnbWluJywgJ21pbmxlbmd0aCcsIHsgbmFtZTogJ25hbWUnLCByZXF1aXJlZDogdHJ1ZSB9LCAncGF0dGVybicsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzdGVwJywgJ3R5cGUnLCAndmFsaWRhdGlvblN0YXR1cycsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JxQmx1cicsICdicUNoYW5nZScsICdicUNsZWFyJywgJ2JxRm9jdXMnLCAnYnFJbnB1dCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCcUlucHV0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQnFJbnB1dEVsZW1lbnQ7XG4gICAgLyoqXG4gICAqIENvbnRyb2xzIHdoZXRoZXIgb3Igbm90IHRoZSBpbnB1dCBmaWVsZCBzaG91bGQgYmUgY2FwaXRhbGl6ZWQgYW5kIGhvdy5cblBvc3NpYmxlIHZhbHVlcyBhcmUgJ29mZicsICdub25lJywgJ29uJywgJ3NlbnRlbmNlcycsICd3b3JkcycsIGFuZCAnY2hhcmFjdGVycycuXG5TZWU6IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0hUTUwvR2xvYmFsX2F0dHJpYnV0ZXMvYXV0b2NhcGl0YWxpemUgQGRlZmF1bHQgJ29mZidcbiAgICovXG4gIHNldCBhdXRvY2FwaXRhbGl6ZShfOiBDb21wb25lbnRzLkJxSW5wdXRbJ2F1dG9jYXBpdGFsaXplJ10pIHt9O1xuICAgIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciBvciBub3QgdGhlIGlucHV0IGZpZWxkIHNob3VsZCBoYXZlIGF1dG9jb21wbGV0ZSBlbmFibGVkLlxuU2VlOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVE1ML0F0dHJpYnV0ZXMvYXV0b2NvbXBsZXRlI3ZhbHVlcyBAZGVmYXVsdCAnb2ZmJ1xuICAgKi9cbiAgc2V0IGF1dG9jb21wbGV0ZShfOiBDb21wb25lbnRzLkJxSW5wdXRbJ2F1dG9jb21wbGV0ZSddKSB7fTtcbiAgICAvKipcbiAgICogQ29udHJvbHMgd2hldGhlciBvciBub3QgdGhlIGlucHV0IGZpZWxkIHNob3VsZCBoYXZlIGF1dG9jb3JyZWN0IGVuYWJsZWQuXG5Qb3NzaWJsZSB2YWx1ZXMgYXJlICdvbicgYW5kICdvZmYnLiBAZGVmYXVsdCAnb2ZmJ1xuICAgKi9cbiAgc2V0IGF1dG9jb3JyZWN0KF86IENvbXBvbmVudHMuQnFJbnB1dFsnYXV0b2NvcnJlY3QnXSkge307XG4gICAgLyoqXG4gICAqIElmIHRydWUsIHRoZSBpbnB1dCB3aWxsIGJlIGZvY3VzZWQgb24gY29tcG9uZW50IHJlbmRlclxuICAgKi9cbiAgc2V0IGF1dG9mb2N1cyhfOiBDb21wb25lbnRzLkJxSW5wdXRbJ2F1dG9mb2N1cyddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIGNsZWFyIGJ1dHRvbiBhcmlhIGxhYmVsIEBkZWZhdWx0ICdDbGVhciB2YWx1ZSdcbiAgICovXG4gIHNldCBjbGVhckJ1dHRvbkxhYmVsKF86IENvbXBvbmVudHMuQnFJbnB1dFsnY2xlYXJCdXR0b25MYWJlbCddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIGFtb3VudCBvZiB0aW1lLCBpbiBtaWxsaXNlY29uZHMsIHRvIHdhaXQgYmVmb3JlIGVtaXR0aW5nIHRoZSBgYnFJbnB1dGAgZXZlbnQgYWZ0ZXIgdGhlIGlucHV0IHZhbHVlIGNoYW5nZXMuXG5BIHZhbHVlIG9mIDAgbWVhbnMgbm8gZGVib3VuY2luZyB3aWxsIG9jY3VyLiBAZGVmYXVsdCAwXG4gICAqL1xuICBzZXQgZGVib3VuY2VUaW1lKF86IENvbXBvbmVudHMuQnFJbnB1dFsnZGVib3VuY2VUaW1lJ10pIHt9O1xuICAgIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgaW5wdXQgaXMgZGlzYWJsZWQgb3Igbm90LlxuSWYgYHRydWVgLCB0aGUgaW5wdXQgaXMgZGlzYWJsZWQgYW5kIGNhbm5vdCBiZSBpbnRlcmFjdGVkIHdpdGguIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgZGlzYWJsZWQoXzogQ29tcG9uZW50cy5CcUlucHV0WydkaXNhYmxlZCddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIGNsZWFyIGJ1dHRvbiB3b24ndCBiZSBkaXNwbGF5ZWQgQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBkaXNhYmxlQ2xlYXIoXzogQ29tcG9uZW50cy5CcUlucHV0WydkaXNhYmxlQ2xlYXInXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgZm9ybSB0aGF0IHRoZSBpbnB1dCBmaWVsZCBiZWxvbmdzIHRvLlxuICAgKi9cbiAgc2V0IGZvcm0oXzogQ29tcG9uZW50cy5CcUlucHV0Wydmb3JtJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgbmF0aXZlIGZvcm0gdmFsaWRhdGlvbiBtZXNzYWdlIChtYW5kYXRvcnkgaWYgYHJlcXVpcmVkYCBpcyBzZXQpXG4gICAqL1xuICBzZXQgZm9ybVZhbGlkYXRpb25NZXNzYWdlKF86IENvbXBvbmVudHMuQnFJbnB1dFsnZm9ybVZhbGlkYXRpb25NZXNzYWdlJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgaW5wdXRtb2RlIGF0dHJpYnV0ZSBzcGVjaWZpZXMgd2hhdCBraW5kIG9mIGlucHV0IG1lY2hhbmlzbSB3b3VsZCBiZSBtb3N0IGhlbHBmdWwgZm9yIHVzZXJzIGVudGVyaW5nIGNvbnRlbnQgaW50byB0aGUgaW5wdXQgZmllbGQuXG5UaGlzIGFsbG93cyBhIGJyb3dzZXIgdG8gZGlzcGxheSBhbiBhcHByb3ByaWF0ZSB2aXJ0dWFsIGtleWJvYXJkIHdoaWxlIGVkaXRpbmcuXG5Qb3NzaWJsZSB2YWx1ZXMgYXJlICdub25lJywgJ3RleHQnLCAnZGVjaW1hbCcsICdudW1lcmljJywgJ3RlbCcsICdzZWFyY2gnLCAnZW1haWwnLCAndXJsJywgYW5kICdkYXRlJy5cbiAgICovXG4gIHNldCBpbnB1dG1vZGUoXzogQ29tcG9uZW50cy5CcUlucHV0WydpbnB1dG1vZGUnXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIHZhbHVlIHRoYXQgdGhlIGlucHV0IGZpZWxkIGNhbiBhY2NlcHQuXG5Pbmx5IGFwcGxpZXMgdG8gZGF0ZSBhbmQgbnVtYmVyIGlucHV0IHR5cGVzLlxuICAgKi9cbiAgc2V0IG1heChfOiBDb21wb25lbnRzLkJxSW5wdXRbJ21heCddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIG1heGltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnMgdGhhdCB0aGUgaW5wdXQgZmllbGQgY2FuIGFjY2VwdC5cbiAgICovXG4gIHNldCBtYXhsZW5ndGgoXzogQ29tcG9uZW50cy5CcUlucHV0WydtYXhsZW5ndGgnXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIHZhbHVlIHRoYXQgdGhlIGlucHV0IGZpZWxkIGNhbiBhY2NlcHQuXG5Pbmx5IGFwcGxpZXMgdG8gZGF0ZSBhbmQgbnVtYmVyIGlucHV0IHR5cGVzLlxuICAgKi9cbiAgc2V0IG1pbihfOiBDb21wb25lbnRzLkJxSW5wdXRbJ21pbiddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIG1pbmltdW0gbnVtYmVyIG9mIGNoYXJhY3RlcnMgdGhhdCB0aGUgaW5wdXQgZmllbGQgY2FuIGFjY2VwdC5cbiAgICovXG4gIHNldCBtaW5sZW5ndGgoXzogQ29tcG9uZW50cy5CcUlucHV0WydtaW5sZW5ndGgnXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBpbnB1dCBmaWVsZCBuYW1lLlxuICAgKi9cbiAgc2V0IG5hbWUoXzogQ29tcG9uZW50cy5CcUlucHV0WyduYW1lJ10pIHt9O1xuICAgIC8qKlxuICAgKiBTcGVjaWZpZXMgYSByZWd1bGFyIGV4cHJlc3Npb24gdGhlIGZvcm0gY29udHJvbCdzIHZhbHVlIHNob3VsZCBtYXRjaC5cblNlZTogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRNTC9BdHRyaWJ1dGVzL3BhdHRlcm5cbiAgICovXG4gIHNldCBwYXR0ZXJuKF86IENvbXBvbmVudHMuQnFJbnB1dFsncGF0dGVybiddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIGlucHV0IHBsYWNlaG9sZGVyIHRleHQgdmFsdWVcbiAgICovXG4gIHNldCBwbGFjZWhvbGRlcihfOiBDb21wb25lbnRzLkJxSW5wdXRbJ3BsYWNlaG9sZGVyJ10pIHt9O1xuICAgIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgaW5wdXQgZmllbGQgY2Fubm90IGJlIG1vZGlmaWVkLlxuICAgKi9cbiAgc2V0IHJlYWRvbmx5KF86IENvbXBvbmVudHMuQnFJbnB1dFsncmVhZG9ubHknXSkge307XG4gICAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCB0aGUgaW5wdXQgZmllbGQgaXMgcmVxdWlyZWQgdG8gYmUgZmlsbGVkIG91dCBiZWZvcmUgc3VibWl0dGluZyB0aGUgZm9ybS5cbiAgICovXG4gIHNldCByZXF1aXJlZChfOiBDb21wb25lbnRzLkJxSW5wdXRbJ3JlcXVpcmVkJ10pIHt9O1xuICAgIC8qKlxuICAgKiBBIG51bWJlciB0aGF0IHNwZWNpZmllcyB0aGUgZ3JhbnVsYXJpdHkgdGhhdCB0aGUgdmFsdWUgbXVzdCBhZGhlcmUgdG8uXG5WYWxpZCBmb3IgZGF0ZSwgbW9udGgsIHdlZWssIHRpbWUsIGRhdGV0aW1lLWxvY2FsLCBudW1iZXIsIGFuZCByYW5nZS5cblNlZTogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRNTC9FbGVtZW50L2lucHV0I3N0ZXBcbiAgICovXG4gIHNldCBzdGVwKF86IENvbXBvbmVudHMuQnFJbnB1dFsnc3RlcCddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIHR5cGUgYXR0cmlidXRlIHNwZWNpZmllcyB0aGUgdHlwZSBvZiBpbnB1dCBmaWVsZCB0byBkaXNwbGF5LlxuUG9zc2libGUgdmFsdWVzIGFyZSAndGV4dCcsICdwYXNzd29yZCcsICdlbWFpbCcsICdudW1iZXInLCAndGVsJywgJ3NlYXJjaCcsICd1cmwnLCBhbmQgbW9yZS5cblNlZTogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRNTC9FbGVtZW50L2lucHV0I2lucHV0X3R5cGVzIEBkZWZhdWx0ICd0ZXh0J1xuICAgKi9cbiAgc2V0IHR5cGUoXzogQ29tcG9uZW50cy5CcUlucHV0Wyd0eXBlJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgdmFsaWRhdGlvbiBzdGF0dXMgb2YgdGhlIGlucHV0LiBAcmVtYXJrcyBUaGlzIHByb3BlcnR5IGlzIHVzZWQgdG8gaW5kaWNhdGUgdGhlIHZhbGlkYXRpb24gc3RhdHVzIG9mIHRoZSBpbnB1dC4gSXQgY2FuIGJlIHNldCB0byBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6XG4tIGAnbm9uZSdgOiBObyB2YWxpZGF0aW9uIHN0YXR1cyBpcyBzZXQuXG4tIGAnZXJyb3InYDogVGhlIGlucHV0IGhhcyBhIHZhbGlkYXRpb24gZXJyb3IuXG4tIGAnd2FybmluZydgOiBUaGUgaW5wdXQgaGFzIGEgdmFsaWRhdGlvbiB3YXJuaW5nLlxuLSBgJ3N1Y2Nlc3MnYDogVGhlIGlucHV0IGhhcyBwYXNzZWQgdmFsaWRhdGlvbi4sQGRlZmF1bHQgJ25vbmUnXG4gICAqL1xuICBzZXQgdmFsaWRhdGlvblN0YXR1cyhfOiBDb21wb25lbnRzLkJxSW5wdXRbJ3ZhbGlkYXRpb25TdGF0dXMnXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBpbnB1dCB2YWx1ZSwgaXQgY2FuIGJlIHVzZWQgdG8gcmVzZXQgdGhlIGlucHV0IHRvIGEgcHJldmlvdXMgdmFsdWVcbiAgICovXG4gIHNldCB2YWx1ZShfOiBDb21wb25lbnRzLkJxSW5wdXRbJ3ZhbHVlJ10pIHt9O1xuICBAT3V0cHV0KCkgYnFCbHVyID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFJbnB1dEVsZW1lbnQ+PigpO1xuICBAT3V0cHV0KCkgYnFDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IHN0cmluZ1tdOyBlbDogSFRNTEJxSW5wdXRFbGVtZW50IH0+PigpO1xuICBAT3V0cHV0KCkgYnFDbGVhciA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxSW5wdXRFbGVtZW50Pj4oKTtcbiAgQE91dHB1dCgpIGJxRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUlucHV0RWxlbWVudD4+KCk7XG4gIEBPdXRwdXQoKSBicUlucHV0ID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBzdHJpbmdbXTsgZWw6IEhUTUxCcUlucHV0RWxlbWVudCB9Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFJbnB1dCBleHRlbmRzIENvbXBvbmVudHMuQnFJbnB1dCB7XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgbG9zZXMgZm9jdXNcbiAgICovXG4gIGJxQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUlucHV0RWxlbWVudD4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciBlbWl0dGVkIHdoZW4gdGhlIGlucHV0IHZhbHVlIGhhcyBjaGFuZ2VkIGFuZCB0aGUgaW5wdXQgbG9zZXMgZm9jdXMuXG5UaGlzIGhhbmRsZXIgaXMgY2FsbGVkIHdoZW5ldmVyIHRoZSB1c2VyIGZpbmlzaGVzIHR5cGluZyBvciBwYXN0aW5nIHRleHQgaW50byB0aGUgaW5wdXQgZmllbGQgYW5kIHRoZW4gY2xpY2tzIG91dHNpZGUgb2YgdGhlIGlucHV0IGZpZWxkLlxuICAgKi9cbiAgYnFDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBzdHJpbmdbXTsgZWw6IEhUTUxCcUlucHV0RWxlbWVudCB9Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgdmFsdWUgaGFzIGJlZW4gY2xlYXJlZFxuICAgKi9cbiAgYnFDbGVhcjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUlucHV0RWxlbWVudD4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciBlbWl0dGVkIHdoZW4gdGhlIGlucHV0IGhhcyByZWNlaXZlZCBmb2N1c1xuICAgKi9cbiAgYnFGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUlucHV0RWxlbWVudD4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciBlbWl0dGVkIHdoZW4gdGhlIGlucHV0IHZhbHVlIGNoYW5nZXMuXG5UaGlzIGhhbmRsZXIgaXMgY2FsbGVkIHdoZW5ldmVyIHRoZSB1c2VyIHR5cGVzIG9yIHBhc3RlcyB0ZXh0IGludG8gdGhlIGlucHV0IGZpZWxkLlxuICAgKi9cbiAgYnFJbnB1dDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IHN0cmluZ1tdOyBlbDogSFRNTEJxSW5wdXRFbGVtZW50IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b0Rpc21pc3MnLCAnYm9yZGVyJywgJ2Rpc2FibGVDbG9zZScsICdoaWRlSWNvbicsICdvcGVuJywgJ3RpbWUnLCAndHlwZSddLFxuICBtZXRob2RzOiBbJ2hpZGUnLCAnc2hvdycsICd0b2FzdCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtbm90aWZpY2F0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvRGlzbWlzcycsICdib3JkZXInLCAnZGlzYWJsZUNsb3NlJywgJ2hpZGVJY29uJywgJ29wZW4nLCAndGltZScsICd0eXBlJ10sXG4gIG91dHB1dHM6IFsnYnFIaWRlJywgJ2JxU2hvdycsICdicUFmdGVyT3BlbicsICdicUFmdGVyQ2xvc2UnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQnFOb3RpZmljYXRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxCcU5vdGlmaWNhdGlvbkVsZW1lbnQ7XG4gICAgLyoqXG4gICAqIElmIHRydWUsIHRoZSBub3RpZmljYXRpb24gd2lsbCBhdXRvbWF0aWNhbGx5IGhpZGUgYWZ0ZXIgdGhlIHNwZWNpZmllZCBhbW91bnQgb2YgdGltZVxuICAgKi9cbiAgc2V0IGF1dG9EaXNtaXNzKF86IENvbXBvbmVudHMuQnFOb3RpZmljYXRpb25bJ2F1dG9EaXNtaXNzJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgY29yZGVyIHJhZGl1cyBvZiB0aGUgbm90aWZpY2F0aW9uIGNvbXBvbmVudCBAZGVmYXVsdCAncydcbiAgICovXG4gIHNldCBib3JkZXIoXzogQ29tcG9uZW50cy5CcU5vdGlmaWNhdGlvblsnYm9yZGVyJ10pIHt9O1xuICAgIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgY2xvc2UgYnV0dG9uIGF0IHRoZSB0b3AgcmlnaHQgb2YgdGhlIG5vdGlmaWNhdGlvbiB3b24ndCBiZSBzaG93blxuICAgKi9cbiAgc2V0IGRpc2FibGVDbG9zZShfOiBDb21wb25lbnRzLkJxTm90aWZpY2F0aW9uWydkaXNhYmxlQ2xvc2UnXSkge307XG4gICAgLyoqXG4gICAqIElmIHRydWUsIHRoZSBub3RpZmljYXRpb24gaWNvbiB3b24ndCBiZSBzaG93blxuICAgKi9cbiAgc2V0IGhpZGVJY29uKF86IENvbXBvbmVudHMuQnFOb3RpZmljYXRpb25bJ2hpZGVJY29uJ10pIHt9O1xuICAgIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgbm90aWZpY2F0aW9uIHdpbGwgYmUgc2hvd25cbiAgICovXG4gIHNldCBvcGVuKF86IENvbXBvbmVudHMuQnFOb3RpZmljYXRpb25bJ29wZW4nXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBsZW5ndGggb2YgdGltZSwgaW4gbWlsbGlzZWNvbmRzLCBhZnRlciB3aGljaCB0aGUgbm90aWZpY2F0aW9uIHdpbGwgY2xvc2UgaXRzZWxmLiBPbmx5IHZhbGlkIGlmIGBhdXRvRGlzbWlzcz1cInRydWVcImAgQGRlZmF1bHQgMzAwMFxuICAgKi9cbiAgc2V0IHRpbWUoXzogQ29tcG9uZW50cy5CcU5vdGlmaWNhdGlvblsndGltZSddKSB7fTtcbiAgICAvKipcbiAgICogVHlwZSBvZiBOb3RpZmljYXRpb24gQGRlZmF1bHQgJ2luZm8nXG4gICAqL1xuICBzZXQgdHlwZShfOiBDb21wb25lbnRzLkJxTm90aWZpY2F0aW9uWyd0eXBlJ10pIHt9O1xuICBAT3V0cHV0KCkgYnFIaWRlID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PigpO1xuICBAT3V0cHV0KCkgYnFTaG93ID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PigpO1xuICBAT3V0cHV0KCkgYnFBZnRlck9wZW4gPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+KCk7XG4gIEBPdXRwdXQoKSBicUFmdGVyQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxTm90aWZpY2F0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5CcU5vdGlmaWNhdGlvbiB7XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBub3RpZmljYXRpb24gaXMgaGlkZGVuXG4gICAqL1xuICBicUhpZGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIG5vdGlmaWNhdGlvbiBpcyBzaG93blxuICAgKi9cbiAgYnFTaG93OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIHRvIGJlIGNhbGxlZCBhZnRlciB0aGUgbm90aWZpY2F0aW9uIGhhcyBiZWVuIG9wZW5lZFxuICAgKi9cbiAgYnFBZnRlck9wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgdG8gYmUgY2FsbGVkIGFmdGVyIHRoZSBub3RpZmljYXRpb24gaGFzIGJlZW4gY2xvc2VkXG4gICAqL1xuICBicUFmdGVyQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaGlkZGVuJywgJ3NlbGVjdGVkJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1vcHRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2hpZGRlbicsICdzZWxlY3RlZCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JxQmx1cicsICdicUZvY3VzJywgJ2JxQ2xpY2snLCAnYnFFbnRlciddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCcU9wdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEJxT3B0aW9uRWxlbWVudDtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIG9wdGlvbiBpcyBoaWRkZW4uIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgaGlkZGVuKF86IENvbXBvbmVudHMuQnFPcHRpb25bJ2hpZGRlbiddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIG9wdGlvbiBpcyBkaXNhYmxlZC4gQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBkaXNhYmxlZChfOiBDb21wb25lbnRzLkJxT3B0aW9uWydkaXNhYmxlZCddKSB7fTtcbiAgICAvKipcbiAgICogQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSB2YWx1ZSBvZiB0aGUgb3B0aW9uLiBDYW4gYmUgdXNlZCB0byBpZGVudGlmeSB0aGUgaXRlbVxuICAgKi9cbiAgc2V0IHZhbHVlKF86IENvbXBvbmVudHMuQnFPcHRpb25bJ3ZhbHVlJ10pIHt9O1xuICAgIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgb3B0aW9uIGlzIHNlbGVjdGVkIGFuZCBhY3RpdmUuIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgc2VsZWN0ZWQoXzogQ29tcG9uZW50cy5CcU9wdGlvblsnc2VsZWN0ZWQnXSkge307XG4gIEBPdXRwdXQoKSBicUJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcU9wdGlvbkVsZW1lbnQ+PigpO1xuICBAT3V0cHV0KCkgYnFGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxT3B0aW9uRWxlbWVudD4+KCk7XG4gIEBPdXRwdXQoKSBicUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFPcHRpb25FbGVtZW50Pj4oKTtcbiAgQE91dHB1dCgpIGJxRW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcU9wdGlvbkVsZW1lbnQ+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcU9wdGlvbiBleHRlbmRzIENvbXBvbmVudHMuQnFPcHRpb24ge1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiBpdGVtIGxvc2VzIGZvY3VzXG4gICAqL1xuICBicUJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFPcHRpb25FbGVtZW50Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIGl0ZW0gaXMgZm9jdXNlZFxuICAgKi9cbiAgYnFGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcU9wdGlvbkVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gaXRlbSBpcyBjbGlja2VkXG4gICAqL1xuICBicUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxT3B0aW9uRWxlbWVudD4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgb24gZW50ZXIga2V5IHByZXNzXG4gICAqL1xuICBicUVudGVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxT3B0aW9uRWxlbWVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtb3B0aW9uLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJxT3B0aW9uR3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxCcU9wdGlvbkdyb3VwRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFPcHRpb25Hcm91cCBleHRlbmRzIENvbXBvbmVudHMuQnFPcHRpb25Hcm91cCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhcmlhTGFiZWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLW9wdGlvbi1saXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhcmlhTGFiZWwnXSxcbiAgb3V0cHV0czogWydicVNlbGVjdCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCcU9wdGlvbkxpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxCcU9wdGlvbkxpc3RFbGVtZW50O1xuICAgIC8qKlxuICAgKiBBcmlhIGxhYmVsIGZvciB0aGUgbGlzdC4gQGRlZmF1bHQgJ09wdGlvbnMnXG4gICAqL1xuICBzZXQgYXJpYUxhYmVsKF86IENvbXBvbmVudHMuQnFPcHRpb25MaXN0WydhcmlhTGFiZWwnXSkge307XG4gIEBPdXRwdXQoKSBicVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nOyBpdGVtOiBIVE1MQnFPcHRpb25FbGVtZW50IH0+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcU9wdGlvbkxpc3QgZXh0ZW5kcyBDb21wb25lbnRzLkJxT3B0aW9uTGlzdCB7XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIGBicS1vcHRpb25gIGlzIHNlbGVjdGVkIChvbiBjbGljay9lbnRlciBwcmVzcykuXG4gICAqL1xuICBicVNlbGVjdDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdmFsdWU6IHN0cmluZzsgaXRlbTogSFRNTEJxT3B0aW9uRWxlbWVudCB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1wYWdlLXRpdGxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJxUGFnZVRpdGxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQnFQYWdlVGl0bGVFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcVBhZ2VUaXRsZSBleHRlbmRzIENvbXBvbmVudHMuQnFQYWdlVGl0bGUge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZVNjcm9sbExvY2snLCAnZGlzdGFuY2UnLCAnb3BlbicsICdwbGFjZW1lbnQnLCAnc2FtZVdpZHRoJywgJ3NraWRkaW5nJywgJ3N0cmF0ZWd5J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1wYW5lbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZVNjcm9sbExvY2snLCAnZGlzdGFuY2UnLCAnb3BlbicsICdwbGFjZW1lbnQnLCAnc2FtZVdpZHRoJywgJ3NraWRkaW5nJywgJ3N0cmF0ZWd5J10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJxUGFuZWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxCcVBhbmVsRWxlbWVudDtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIHBhbmVsIHdpbGwgbm90IGxvY2sgdGhlIHBhZ2UgYm9keSBzY3JvbGwgd2hlbiBvcGVuLiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2V0IGRpc2FibGVTY3JvbGxMb2NrKF86IENvbXBvbmVudHMuQnFQYW5lbFsnZGlzYWJsZVNjcm9sbExvY2snXSkge307XG4gICAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIGRpc3RhbmNlIChndXR0ZXIgb3IgbWFyZ2luKSBiZXR3ZWVuIHRoZSBwYW5lbCBhbmQgdGhlIHRyaWdnZXIgZWxlbWVudC4gQGRlZmF1bHQgNFxuICAgKi9cbiAgc2V0IGRpc3RhbmNlKF86IENvbXBvbmVudHMuQnFQYW5lbFsnZGlzdGFuY2UnXSkge307XG4gICAgLyoqXG4gICAqIFBvc2l0aW9uIG9mIHRoZSBwYW5lbCBAZGVmYXVsdCAnYm90dG9tLXN0YXJ0J1xuICAgKi9cbiAgc2V0IHBsYWNlbWVudChfOiBDb21wb25lbnRzLkJxUGFuZWxbJ3BsYWNlbWVudCddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIHBhbmVsIHdpbGwgYmUgdmlzaWJsZS4gQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBvcGVuKF86IENvbXBvbmVudHMuQnFQYW5lbFsnb3BlbiddKSB7fTtcbiAgICAvKipcbiAgICogV2hldGhlciB0aGUgcGFuZWwgc2hvdWxkIGhhdmUgdGhlIHNhbWUgd2lkdGggYXMgdGhlIHRyaWdnZXIgZWxlbWVudCBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2V0IHNhbWVXaWR0aChfOiBDb21wb25lbnRzLkJxUGFuZWxbJ3NhbWVXaWR0aCddKSB7fTtcbiAgICAvKipcbiAgICogUmVwcmVzZW50cyB0aGUgc2tpZGRpbmcgYmV0d2VlbiB0aGUgcGFuZWwgYW5kIHRoZSB0cmlnZ2VyIGVsZW1lbnQuIEBkZWZhdWx0IDBcbiAgICovXG4gIHNldCBza2lkZGluZyhfOiBDb21wb25lbnRzLkJxUGFuZWxbJ3NraWRkaW5nJ10pIHt9O1xuICAgIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBzdHJhdGVneSB0byBwb3NpdGlvbiB0aGUgcGFuZWwgQGRlZmF1bHQgJ2ZpeGVkJ1xuICAgKi9cbiAgc2V0IHN0cmF0ZWd5KF86IENvbXBvbmVudHMuQnFQYW5lbFsnc3RyYXRlZ3knXSkge307XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxUGFuZWwgZXh0ZW5kcyBDb21wb25lbnRzLkJxUGFuZWwge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYm9yZGVyU2hhcGUnLCAnZW5hYmxlVG9vbHRpcCcsICdpbmRldGVybWluYXRlJywgJ2xhYmVsJywgJ3RoaWNrbmVzcycsICd0eXBlJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1wcm9ncmVzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYm9yZGVyU2hhcGUnLCAnZW5hYmxlVG9vbHRpcCcsICdpbmRldGVybWluYXRlJywgJ2xhYmVsJywgJ3RoaWNrbmVzcycsICd0eXBlJywgJ3ZhbHVlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJxUHJvZ3Jlc3Mge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxCcVByb2dyZXNzRWxlbWVudDtcbiAgICAvKipcbiAgICogSXQgd2lsbCBzZXQgdGhlIGJvcmRlciBzdHlsZSBvZiB0aGUgcHJvZ3Jlc3MgYmFyIEBkZWZhdWx0ICdyb3VuZGVkJ1xuICAgKi9cbiAgc2V0IGJvcmRlclNoYXBlKF86IENvbXBvbmVudHMuQnFQcm9ncmVzc1snYm9yZGVyU2hhcGUnXSkge307XG4gICAgLyoqXG4gICAqIElmIGB0cnVlYCwgYSB0b29sdGlwIHdpbGwgYmUgc2hvd24gZGlzcGxheWluZyB0aGUgcHJvZ3Jlc3MgdmFsdWUgQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBlbmFibGVUb29sdGlwKF86IENvbXBvbmVudHMuQnFQcm9ncmVzc1snZW5hYmxlVG9vbHRpcCddKSB7fTtcbiAgICAvKipcbiAgICogSWYgYHRydWVgIHRoZSBpbmRldGVybWluYXRlIHN0YXRlIG9mIHByb2dyZXNzIGJhciBpcyBlbmFibGVkIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgaW5kZXRlcm1pbmF0ZShfOiBDb21wb25lbnRzLkJxUHJvZ3Jlc3NbJ2luZGV0ZXJtaW5hdGUnXSkge307XG4gICAgLyoqXG4gICAqIElmIGB0cnVlLCBhIGxhYmVsIHRleHQgc2hvd2luZyB0aGUgdmFsdWUgKGluIHBlcmNlbnRhZ2UpIHdpbGwgYmUgc2hvd24gQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBsYWJlbChfOiBDb21wb25lbnRzLkJxUHJvZ3Jlc3NbJ2xhYmVsJ10pIHt9O1xuICAgIC8qKlxuICAgKiBQcm9ncmVzcyBiYXIgdGhpY2tuZXNzIEBkZWZhdWx0ICdtZWRpdW0nXG4gICAqL1xuICBzZXQgdGhpY2tuZXNzKF86IENvbXBvbmVudHMuQnFQcm9ncmVzc1sndGhpY2tuZXNzJ10pIHt9O1xuICAgIC8qKlxuICAgKiBQcm9ncmVzcyB0eXBlIEBkZWZhdWx0ICdkZWZhdWx0J1xuICAgKi9cbiAgc2V0IHR5cGUoXzogQ29tcG9uZW50cy5CcVByb2dyZXNzWyd0eXBlJ10pIHt9O1xuICAgIC8qKlxuICAgKiBBIG51bWJlciByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHByb2dyZXNzIGJhciBAZGVmYXVsdCAwXG4gICAqL1xuICBzZXQgdmFsdWUoXzogQ29tcG9uZW50cy5CcVByb2dyZXNzWyd2YWx1ZSddKSB7fTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFQcm9ncmVzcyBleHRlbmRzIENvbXBvbmVudHMuQnFQcm9ncmVzcyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydiYWNrZ3JvdW5kT25Ib3ZlcicsICdjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2Zvcm1JZCcsICduYW1lJywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsndkNsaWNrJywgJ3ZGb2N1cycsICd2Qmx1cicsICdnZXROYXRpdmVJbnB1dCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtcmFkaW8nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRPbkhvdmVyJywgJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnZm9ybUlkJywgeyBuYW1lOiAnbmFtZScsIHJlcXVpcmVkOiB0cnVlIH0sICdyZXF1aXJlZCcsIHsgbmFtZTogJ3ZhbHVlJywgcmVxdWlyZWQ6IHRydWUgfV0sXG4gIG91dHB1dHM6IFsnYnFDbGljaycsICdicUZvY3VzJywgJ2JxQmx1cicsICdicUtleURvd24nXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQnFSYWRpbyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEJxUmFkaW9FbGVtZW50O1xuICAgIC8qKlxuICAgKiBJZiB0cnVlIHJhZGlvIGRpc3BsYXlzIGJhY2tncm91bmQgb24gaG92ZXIgQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBiYWNrZ3JvdW5kT25Ib3ZlcihfOiBDb21wb25lbnRzLkJxUmFkaW9bJ2JhY2tncm91bmRPbkhvdmVyJ10pIHt9O1xuICAgIC8qKlxuICAgKiBJZiB0cnVlIHJhZGlvIGlucHV0IGlzIGNoZWNrZWQgQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBjaGVja2VkKF86IENvbXBvbmVudHMuQnFSYWRpb1snY2hlY2tlZCddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSByYWRpbyBpbnB1dCBpcyBkaXNhYmxlZCBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2V0IGRpc2FibGVkKF86IENvbXBvbmVudHMuQnFSYWRpb1snZGlzYWJsZWQnXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBmb3JtIElEIHRoYXQgdGhlIHJhZGlvIGlucHV0IGlzIGFzc29jaWF0ZWQgd2l0aFxuICAgKi9cbiAgc2V0IGZvcm1JZChfOiBDb21wb25lbnRzLkJxUmFkaW9bJ2Zvcm1JZCddKSB7fTtcbiAgICAvKipcbiAgICogTmFtZSBvZiB0aGUgSFRNTCBpbnB1dCBmb3JtIGNvbnRyb2wuIFN1Ym1pdHRlZCB3aXRoIHRoZSBmb3JtIGFzIHBhcnQgb2YgYSBuYW1lL3ZhbHVlIHBhaXIuXG4gICAqL1xuICBzZXQgbmFtZShfOiBDb21wb25lbnRzLkJxUmFkaW9bJ25hbWUnXSkge307XG4gICAgLyoqXG4gICAqIElmIGB0cnVlYCwgaXQgd2lsbCBpbmRpY2F0ZSB0aGF0IHRoZSB1c2VyIG11c3Qgc3BlY2lmeSBhIHZhbHVlIGZvciB0aGUgcmFkaW8gYmVmb3JlIHRoZSBvd25pbmcgZm9ybSBjYW4gYmUgc3VibWl0dGVkXG4gICAqL1xuICBzZXQgcmVxdWlyZWQoXzogQ29tcG9uZW50cy5CcVJhZGlvWydyZXF1aXJlZCddKSB7fTtcbiAgICAvKipcbiAgICogQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSB2YWx1ZSBvZiB0aGUgcmFkaW8uXG4gICAqL1xuICBzZXQgdmFsdWUoXzogQ29tcG9uZW50cy5CcVJhZGlvWyd2YWx1ZSddKSB7fTtcbiAgQE91dHB1dCgpIGJxQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdmFsdWU6IHN0cmluZzsgdGFyZ2V0OiBIVE1MQnFSYWRpb0VsZW1lbnQgfT4+KCk7XG4gIEBPdXRwdXQoKSBicUZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFSYWRpb0VsZW1lbnQ+PigpO1xuICBAT3V0cHV0KCkgYnFCbHVyID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFSYWRpb0VsZW1lbnQ+PigpO1xuICBAT3V0cHV0KCkgYnFLZXlEb3duID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGtleTogc3RyaW5nOyB0YXJnZXQ6IEhUTUxCcVJhZGlvRWxlbWVudCB9Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFSYWRpbyBleHRlbmRzIENvbXBvbmVudHMuQnFSYWRpbyB7XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSByYWRpbyBzdGF0ZSBjaGFuZ2VzXG4gICAqL1xuICBicUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nOyB0YXJnZXQ6IEhUTUxCcVJhZGlvRWxlbWVudCB9Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSByYWRpbyBnZXRzIGZvY3VzXG4gICAqL1xuICBicUZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxUmFkaW9FbGVtZW50Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSByYWRpbyBsb3NlcyBmb2N1c1xuICAgKi9cbiAgYnFCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxUmFkaW9FbGVtZW50Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSByYWRpbyBrZXkgaXMgcHJlc3NlZFxuICAgKi9cbiAgYnFLZXlEb3duOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBrZXk6IHN0cmluZzsgdGFyZ2V0OiBIVE1MQnFSYWRpb0VsZW1lbnQgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydiYWNrZ3JvdW5kT25Ib3ZlcicsICdkZWJvdW5jZVRpbWUnLCAnZGlzYWJsZWQnLCAnZmllbGRzZXQnLCAnbmFtZScsICdvcmllbnRhdGlvbicsICdyZXF1aXJlZCcsICdyZXF1aXJlZFZhbGlkYXRpb25NZXNzYWdlJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1yYWRpby1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFja2dyb3VuZE9uSG92ZXInLCAnZGVib3VuY2VUaW1lJywgJ2Rpc2FibGVkJywgJ2ZpZWxkc2V0JywgeyBuYW1lOiAnbmFtZScsIHJlcXVpcmVkOiB0cnVlIH0sICdvcmllbnRhdGlvbicsICdyZXF1aXJlZCcsICdyZXF1aXJlZFZhbGlkYXRpb25NZXNzYWdlJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsnYnFDaGFuZ2UnLCAnYnFCbHVyJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJxUmFkaW9Hcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEJxUmFkaW9Hcm91cEVsZW1lbnQ7XG4gICAgLyoqXG4gICAqIElmIHRydWUsIGFsbCByYWRpbyBpbnB1dHMgaW4gdGhlIGdyb3VwIHdpbGwgZGlzcGxheSBhIGJhY2tncm91bmQgb24gaG92ZXIgQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBiYWNrZ3JvdW5kT25Ib3ZlcihfOiBDb21wb25lbnRzLkJxUmFkaW9Hcm91cFsnYmFja2dyb3VuZE9uSG92ZXInXSkge307XG4gICAgLyoqXG4gICAqIEEgbnVtYmVyIHJlcHJlc2VudGluZyB0aGUgZGVsYXkgdGltZSAoaW4gbWlsbGlzZWNvbmRzKSB0aGF0IGBicUNoYW5nZWAgZXZlbnQgaGFuZGxlciBnZXRzIHRyaWdnZXJlZCBvbmNlIHRoZSB2YWx1ZSBjaGFuZ2UgQGRlZmF1bHQgMFxuICAgKi9cbiAgc2V0IGRlYm91bmNlVGltZShfOiBDb21wb25lbnRzLkJxUmFkaW9Hcm91cFsnZGVib3VuY2VUaW1lJ10pIHt9O1xuICAgIC8qKlxuICAgKiBJZiB0cnVlIHJhZGlvIGlucHV0cyBhcmUgZGlzYWJsZWQgQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBkaXNhYmxlZChfOiBDb21wb25lbnRzLkJxUmFkaW9Hcm91cFsnZGlzYWJsZWQnXSkge307XG4gICAgLyoqXG4gICAqIElmIHRydWUgZGlzcGxheXMgZmllbGRzZXQgQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBmaWVsZHNldChfOiBDb21wb25lbnRzLkJxUmFkaW9Hcm91cFsnZmllbGRzZXQnXSkge307XG4gICAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIEhUTUwgaW5wdXQgZm9ybSBjb250cm9sLiBTdWJtaXR0ZWQgd2l0aCB0aGUgZm9ybSBhcyBwYXJ0IG9mIGEgbmFtZS92YWx1ZSBwYWlyLlxuICAgKi9cbiAgc2V0IG5hbWUoXzogQ29tcG9uZW50cy5CcVJhZGlvR3JvdXBbJ25hbWUnXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBkaXNwbGF5IG9yaWVudGF0aW9uIG9mIHRoZSByYWRpbyBpbnB1dHMgQGRlZmF1bHQgJ3ZlcnRpY2FsJ1xuICAgKi9cbiAgc2V0IG9yaWVudGF0aW9uKF86IENvbXBvbmVudHMuQnFSYWRpb0dyb3VwWydvcmllbnRhdGlvbiddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIHJhZGlvIGdyb3VwIGlzIHJlcXVpcmVkIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgcmVxdWlyZWQoXzogQ29tcG9uZW50cy5CcVJhZGlvR3JvdXBbJ3JlcXVpcmVkJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgbmF0aXZlIGZvcm0gdmFsaWRhdGlvbiBtZXNzYWdlIHdoZW4gdGhlIHJhZGlvIGdyb3VwIGlzIHJlcXVpcmVkXG4gICAqL1xuICBzZXQgcmVxdWlyZWRWYWxpZGF0aW9uTWVzc2FnZShfOiBDb21wb25lbnRzLkJxUmFkaW9Hcm91cFsncmVxdWlyZWRWYWxpZGF0aW9uTWVzc2FnZSddKSB7fTtcbiAgICAvKipcbiAgICogQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSB2YWx1ZSBvZiB0aGUgcmFkaW8uXG4gICAqL1xuICBzZXQgdmFsdWUoXzogQ29tcG9uZW50cy5CcVJhZGlvR3JvdXBbJ3ZhbHVlJ10pIHt9O1xuICBAT3V0cHV0KCkgYnFDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdmFsdWU6IHN0cmluZzsgdGFyZ2V0OiBIVE1MQnFSYWRpb0VsZW1lbnQgfT4+KCk7XG4gIEBPdXRwdXQoKSBicUJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVJhZGlvRWxlbWVudD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxUmFkaW9Hcm91cCBleHRlbmRzIENvbXBvbmVudHMuQnFSYWRpb0dyb3VwIHtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHJhZGlvIHN0YXRlIGNoYW5nZXNcbiAgICovXG4gIGJxQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nOyB0YXJnZXQ6IEhUTUxCcVJhZGlvRWxlbWVudCB9Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSByYWRpbyBsb3NlcyBmb2N1c1xuICAgKi9cbiAgYnFCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxUmFkaW9FbGVtZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9mb2N1cycsICdjbGVhckJ1dHRvbkxhYmVsJywgJ2RlYm91bmNlVGltZScsICdkaXNhYmxlQ2xlYXInLCAnZGlzYWJsZVNjcm9sbExvY2snLCAnZGlzYWJsZWQnLCAnZGlzdGFuY2UnLCAnZm9ybScsICdrZWVwT3Blbk9uU2VsZWN0JywgJ21heFRhZ3NWaXNpYmxlJywgJ211bHRpcGxlJywgJ25hbWUnLCAnb3BlbicsICdwYW5lbEhlaWdodCcsICdwbGFjZWhvbGRlcicsICdwbGFjZW1lbnQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2FtZVdpZHRoJywgJ3NraWRkaW5nJywgJ3N0cmF0ZWd5JywgJ3ZhbGlkYXRpb25TdGF0dXMnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydjbGVhcicsICdyZXNldCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtc2VsZWN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvZm9jdXMnLCAnY2xlYXJCdXR0b25MYWJlbCcsICdkZWJvdW5jZVRpbWUnLCAnZGlzYWJsZUNsZWFyJywgJ2Rpc2FibGVTY3JvbGxMb2NrJywgJ2Rpc2FibGVkJywgJ2Rpc3RhbmNlJywgJ2Zvcm0nLCAna2VlcE9wZW5PblNlbGVjdCcsICdtYXhUYWdzVmlzaWJsZScsICdtdWx0aXBsZScsIHsgbmFtZTogJ25hbWUnLCByZXF1aXJlZDogdHJ1ZSB9LCAnb3BlbicsICdwYW5lbEhlaWdodCcsICdwbGFjZWhvbGRlcicsICdwbGFjZW1lbnQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2FtZVdpZHRoJywgJ3NraWRkaW5nJywgJ3N0cmF0ZWd5JywgJ3ZhbGlkYXRpb25TdGF0dXMnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydicUJsdXInLCAnYnFDbGVhcicsICdicUZvY3VzJywgJ2JxU2VsZWN0JywgJ2JxSW5wdXQnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQnFTZWxlY3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxCcVNlbGVjdEVsZW1lbnQ7XG4gICAgLyoqXG4gICAqIElmIHRydWUsIHRoZSBTZWxlY3QgaW5wdXQgd2lsbCBiZSBmb2N1c2VkIG9uIGNvbXBvbmVudCByZW5kZXJcbiAgICovXG4gIHNldCBhdXRvZm9jdXMoXzogQ29tcG9uZW50cy5CcVNlbGVjdFsnYXV0b2ZvY3VzJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgY2xlYXIgYnV0dG9uIGFyaWEgbGFiZWwgQGRlZmF1bHQgJ0NsZWFyIHZhbHVlJ1xuICAgKi9cbiAgc2V0IGNsZWFyQnV0dG9uTGFiZWwoXzogQ29tcG9uZW50cy5CcVNlbGVjdFsnY2xlYXJCdXR0b25MYWJlbCddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIGFtb3VudCBvZiB0aW1lLCBpbiBtaWxsaXNlY29uZHMsIHRvIHdhaXQgYmVmb3JlIGVtaXR0aW5nIHRoZSBgYnFJbnB1dGAgZXZlbnQgYWZ0ZXIgdGhlIGlucHV0IHZhbHVlIGNoYW5nZXMuXG5BIHZhbHVlIG9mIDAgbWVhbnMgbm8gZGVib3VuY2luZyB3aWxsIG9jY3VyLiBAZGVmYXVsdCAwXG4gICAqL1xuICBzZXQgZGVib3VuY2VUaW1lKF86IENvbXBvbmVudHMuQnFTZWxlY3RbJ2RlYm91bmNlVGltZSddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIFNlbGVjdCBwYW5lbCB3aWxsIG5vdCBsb2NrIHRoZSBwYWdlIGJvZHkgc2Nyb2xsIHdoZW4gb3Blbi4gQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBkaXNhYmxlU2Nyb2xsTG9jayhfOiBDb21wb25lbnRzLkJxU2VsZWN0WydkaXNhYmxlU2Nyb2xsTG9jayddKSB7fTtcbiAgICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIFNlbGVjdCBpbnB1dCBpcyBkaXNhYmxlZCBvciBub3QuXG5JZiBgdHJ1ZWAsIHRoZSBTZWxlY3QgaXMgZGlzYWJsZWQgYW5kIGNhbm5vdCBiZSBpbnRlcmFjdGVkIHdpdGguIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgZGlzYWJsZWQoXzogQ29tcG9uZW50cy5CcVNlbGVjdFsnZGlzYWJsZWQnXSkge307XG4gICAgLyoqXG4gICAqIElmIHRydWUsIHRoZSBjbGVhciBidXR0b24gd29uJ3QgYmUgZGlzcGxheWVkIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgZGlzYWJsZUNsZWFyKF86IENvbXBvbmVudHMuQnFTZWxlY3RbJ2Rpc2FibGVDbGVhciddKSB7fTtcbiAgICAvKipcbiAgICogUmVwcmVzZW50cyB0aGUgZGlzdGFuY2UgKGd1dHRlciBvciBtYXJnaW4pIGJldHdlZW4gdGhlIFNlbGVjdCBwYW5lbCBhbmQgdGhlIGlucHV0IGVsZW1lbnQuIEBkZWZhdWx0IDhcbiAgICovXG4gIHNldCBkaXN0YW5jZShfOiBDb21wb25lbnRzLkJxU2VsZWN0WydkaXN0YW5jZSddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBmb3JtIHRoYXQgdGhlIFNlbGVjdCBpbnB1dCBiZWxvbmdzIHRvLlxuICAgKi9cbiAgc2V0IGZvcm0oXzogQ29tcG9uZW50cy5CcVNlbGVjdFsnZm9ybSddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIFNlbGVjdCBwYW5lbCB3aWxsIHJlbWFpbiBvcGVuIGFmdGVyIGEgc2VsZWN0aW9uIGlzIG1hZGUuIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQga2VlcE9wZW5PblNlbGVjdChfOiBDb21wb25lbnRzLkJxU2VsZWN0WydrZWVwT3Blbk9uU2VsZWN0J10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgU2VsZWN0IGlucHV0IG5hbWUuXG4gICAqL1xuICBzZXQgbmFtZShfOiBDb21wb25lbnRzLkJxU2VsZWN0WyduYW1lJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGFncyB0byBkaXNwbGF5IHdoZW4gbXVsdGlwbGUgc2VsZWN0aW9uIGlzIGVuYWJsZWQgQGRlZmF1bHQgMlxuICAgKi9cbiAgc2V0IG1heFRhZ3NWaXNpYmxlKF86IENvbXBvbmVudHMuQnFTZWxlY3RbJ21heFRhZ3NWaXNpYmxlJ10pIHt9O1xuICAgIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgU2VsZWN0IGlucHV0IHdpbGwgYWxsb3cgbXVsdGlwbGUgc2VsZWN0aW9ucy4gQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBtdWx0aXBsZShfOiBDb21wb25lbnRzLkJxU2VsZWN0WydtdWx0aXBsZSddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIFNlbGVjdCBwYW5lbCB3aWxsIGJlIHZpc2libGUuIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgb3BlbihfOiBDb21wb25lbnRzLkJxU2VsZWN0WydvcGVuJ10pIHt9O1xuICAgIC8qKlxuICAgKiBXaGVuIHNldCwgaXQgd2lsbCBvdmVycmlkZSB0aGUgaGVpZ2h0IG9mIHRoZSBTZWxlY3QgcGFuZWwuXG4gICAqL1xuICBzZXQgcGFuZWxIZWlnaHQoXzogQ29tcG9uZW50cy5CcVNlbGVjdFsncGFuZWxIZWlnaHQnXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBTZWxlY3QgaW5wdXQgcGxhY2Vob2xkZXIgdGV4dCB2YWx1ZVxuICAgKi9cbiAgc2V0IHBsYWNlaG9sZGVyKF86IENvbXBvbmVudHMuQnFTZWxlY3RbJ3BsYWNlaG9sZGVyJ10pIHt9O1xuICAgIC8qKlxuICAgKiBQb3NpdGlvbiBvZiB0aGUgU2VsZWN0IHBhbmVsIEBkZWZhdWx0ICdib3R0b20nXG4gICAqL1xuICBzZXQgcGxhY2VtZW50KF86IENvbXBvbmVudHMuQnFTZWxlY3RbJ3BsYWNlbWVudCddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIGxpc3Qgb2Ygb3B0aW9ucyBjYW5ub3QgYmUgZmlsdGVyZWQgKHNlYXJjaGluZyB3b24ndCBiZSBhdmFpbGFibGUpXG4gICAqL1xuICBzZXQgcmVhZG9ubHkoXzogQ29tcG9uZW50cy5CcVNlbGVjdFsncmVhZG9ubHknXSkge307XG4gICAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIG9yIG5vdCB0aGUgU2VsZWN0IGlucHV0IGlzIHJlcXVpcmVkIHRvIGJlIGZpbGxlZCBvdXQgYmVmb3JlIHN1Ym1pdHRpbmcgdGhlIGZvcm0uXG4gICAqL1xuICBzZXQgcmVxdWlyZWQoXzogQ29tcG9uZW50cy5CcVNlbGVjdFsncmVxdWlyZWQnXSkge307XG4gICAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHBhbmVsIHNob3VsZCBoYXZlIHRoZSBTZWxlY3Qgc2FtZSB3aWR0aCBhcyB0aGUgaW5wdXQgZWxlbWVudCBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBzZXQgc2FtZVdpZHRoKF86IENvbXBvbmVudHMuQnFTZWxlY3RbJ3NhbWVXaWR0aCddKSB7fTtcbiAgICAvKipcbiAgICogUmVwcmVzZW50cyB0aGUgc2tpZGRpbmcgYmV0d2VlbiB0aGUgU2VsZWN0IHBhbmVsIGFuZCB0aGUgaW5wdXQgZWxlbWVudC4gQGRlZmF1bHQgMFxuICAgKi9cbiAgc2V0IHNraWRkaW5nKF86IENvbXBvbmVudHMuQnFTZWxlY3RbJ3NraWRkaW5nJ10pIHt9O1xuICAgIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBzdHJhdGVneSB0byBwb3NpdGlvbiB0aGUgU2VsZWN0IHBhbmVsIEBkZWZhdWx0ICdmaXhlZCdcbiAgICovXG4gIHNldCBzdHJhdGVneShfOiBDb21wb25lbnRzLkJxU2VsZWN0WydzdHJhdGVneSddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIHZhbGlkYXRpb24gc3RhdHVzIG9mIHRoZSBTZWxlY3QgaW5wdXQuIEByZW1hcmtzIFRoaXMgcHJvcGVydHkgaXMgdXNlZCB0byBpbmRpY2F0ZSB0aGUgdmFsaWRhdGlvbiBzdGF0dXMgb2YgdGhlIHNlbGVjdCBpbnB1dC4gSXQgY2FuIGJlIHNldCB0byBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXM6XG4tIGAnbm9uZSdgOiBObyB2YWxpZGF0aW9uIHN0YXR1cyBpcyBzZXQuXG4tIGAnZXJyb3InYDogVGhlIGlucHV0IGhhcyBhIHZhbGlkYXRpb24gZXJyb3IuXG4tIGAnd2FybmluZydgOiBUaGUgaW5wdXQgaGFzIGEgdmFsaWRhdGlvbiB3YXJuaW5nLlxuLSBgJ3N1Y2Nlc3MnYDogVGhlIGlucHV0IGhhcyBwYXNzZWQgdmFsaWRhdGlvbi4sQGRlZmF1bHQgJ25vbmUnXG4gICAqL1xuICBzZXQgdmFsaWRhdGlvblN0YXR1cyhfOiBDb21wb25lbnRzLkJxU2VsZWN0Wyd2YWxpZGF0aW9uU3RhdHVzJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgc2VsZWN0IGlucHV0IHZhbHVlLCBpdCBjYW4gYmUgdXNlZCB0byByZXNldCB0aGUgZmllbGQgdG8gYSBwcmV2aW91cyB2YWx1ZVxuICAgKi9cbiAgc2V0IHZhbHVlKF86IENvbXBvbmVudHMuQnFTZWxlY3RbJ3ZhbHVlJ10pIHt9O1xuICBAT3V0cHV0KCkgYnFCbHVyID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFTZWxlY3RFbGVtZW50Pj4oKTtcbiAgQE91dHB1dCgpIGJxQ2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVNlbGVjdEVsZW1lbnQ+PigpO1xuICBAT3V0cHV0KCkgYnFGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxU2VsZWN0RWxlbWVudD4+KCk7XG4gIEBPdXRwdXQoKSBicVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgc3RyaW5nW107IGl0ZW06IEhUTUxCcU9wdGlvbkVsZW1lbnQgfT4+KCk7XG4gIEBPdXRwdXQoKSBicUlucHV0ID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBzdHJpbmdbXSB9Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFTZWxlY3QgZXh0ZW5kcyBDb21wb25lbnRzLkJxU2VsZWN0IHtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBTZWxlY3QgaW5wdXQgbG9zZXMgZm9jdXNcbiAgICovXG4gIGJxQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVNlbGVjdEVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBzZWxlY3RlZCB2YWx1ZSBoYXMgYmVlbiBjbGVhcmVkXG4gICAqL1xuICBicUNsZWFyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxU2VsZWN0RWxlbWVudD4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciBlbWl0dGVkIHdoZW4gdGhlIFNlbGVjdCBpbnB1dCBoYXMgcmVjZWl2ZWQgZm9jdXNcbiAgICovXG4gIGJxRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFTZWxlY3RFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgc2VsZWN0ZWQgdmFsdWUgaGFzIGNoYW5nZWRcbiAgICovXG4gIGJxU2VsZWN0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgc3RyaW5nW107IGl0ZW06IEhUTUxCcU9wdGlvbkVsZW1lbnQgfT4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciBlbWl0dGVkIHdoZW4gdGhlIFNlbGVjdCBpbnB1dCBjaGFuZ2VzIGl0cyB2YWx1ZSB3aGlsZSB0eXBpbmdcbiAgICovXG4gIGJxSW5wdXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBzdHJpbmdbXSB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FwcGVhcmFuY2UnLCAnY29sbGFwc2UnLCAnc2l6ZSddLFxuICBtZXRob2RzOiBbJ3RvZ2dsZUNvbGxhcHNlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1zaWRlLW1lbnUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FwcGVhcmFuY2UnLCAnY29sbGFwc2UnLCAnc2l6ZSddLFxuICBvdXRwdXRzOiBbJ2JxQ29sbGFwc2UnLCAnYnFTZWxlY3QnXSxcbiAgc3RhbmRhbG9uZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgQnFTaWRlTWVudSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEJxU2lkZU1lbnVFbGVtZW50O1xuICAgIC8qKlxuICAgKiBJdCBzZXRzIGEgcHJlZGVmaW5lZCBhcHBlYXJhbmNlIG9mIHRoZSBzaWRlIG1lbnUgQGRlZmF1bHQgJ2RlZmF1bHQnXG4gICAqL1xuICBzZXQgYXBwZWFyYW5jZShfOiBDb21wb25lbnRzLkJxU2lkZU1lbnVbJ2FwcGVhcmFuY2UnXSkge307XG4gICAgLyoqXG4gICAqIElmIHRydWUsIHRoZSBjb250YWluZXIgd2lsbCByZWR1Y2UgaXRzIHdpZHRoIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgY29sbGFwc2UoXzogQ29tcG9uZW50cy5CcVNpZGVNZW51Wydjb2xsYXBzZSddKSB7fTtcbiAgICAvKipcbiAgICogSXQgc2V0cyB0aGUgc2l6ZSBvZiB0aGUgbmF2aWdhdGlvbiBtZW51IGl0ZW1zIEBkZWZhdWx0ICdtZWRpdW0nXG4gICAqL1xuICBzZXQgc2l6ZShfOiBDb21wb25lbnRzLkJxU2lkZU1lbnVbJ3NpemUnXSkge307XG4gIEBPdXRwdXQoKSBicUNvbGxhcHNlID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGNvbGxhcHNlOiBib29sZWFuIH0+PigpO1xuICBAT3V0cHV0KCkgYnFTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVNpZGVNZW51SXRlbUVsZW1lbnQ+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcVNpZGVNZW51IGV4dGVuZHMgQ29tcG9uZW50cy5CcVNpZGVNZW51IHtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIFNpZGUgbWVudSBjaGFuZ2VzIGl0cyB3aWR0aCBmcm9tIGV4cGFuZGVkIHRvIGNvbGxhcHNlIGFuZCB2aWNlIHZlcnNhXG4gICAqL1xuICBicUNvbGxhcHNlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBjb2xsYXBzZTogYm9vbGVhbiB9Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBhY3RpdmUvc2VsZWN0ZWQgbWVudSBpdGVtIGNoYW5nZXNcbiAgICovXG4gIGJxU2VsZWN0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxU2lkZU1lbnVJdGVtRWxlbWVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnY29sbGFwc2UnLCAnZGlzYWJsZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLXNpZGUtbWVudS1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhY3RpdmUnLCAnY29sbGFwc2UnLCAnZGlzYWJsZWQnXSxcbiAgb3V0cHV0czogWydicUJsdXInLCAnYnFGb2N1cycsICdicUNsaWNrJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJxU2lkZU1lbnVJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQnFTaWRlTWVudUl0ZW1FbGVtZW50O1xuICAgIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgbWVudSBpdGVtIHdpbGwgYmUgc2hvd24gYXMgYWN0aXZlL3NlbGVjdGVkLiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2V0IGFjdGl2ZShfOiBDb21wb25lbnRzLkJxU2lkZU1lbnVJdGVtWydhY3RpdmUnXSkge307XG4gICAgLyoqXG4gICAqIElmIHRydWUsIHRoZSBpdGVtIGxhYmVsIGFuZCBzdWZmaXggd2lsbCBiZSBoaWRkZW4gYW5kIHRoZSBgd2lkdGhgIHdpbGwgYmUgcmVkdWNlZCBhY2NvcmRpbmcgdG8gaXRzIHBhcmVudC4gQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBjb2xsYXBzZShfOiBDb21wb25lbnRzLkJxU2lkZU1lbnVJdGVtWydjb2xsYXBzZSddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIG1lbnUgaXRlbSB3aWxsIGJlIGRpc2FibGVkIChubyBpbnRlcmFjdGlvbiBhbGxvd2VkKSBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2V0IGRpc2FibGVkKF86IENvbXBvbmVudHMuQnFTaWRlTWVudUl0ZW1bJ2Rpc2FibGVkJ10pIHt9O1xuICBAT3V0cHV0KCkgYnFCbHVyID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFTaWRlTWVudUl0ZW1FbGVtZW50Pj4oKTtcbiAgQE91dHB1dCgpIGJxRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVNpZGVNZW51SXRlbUVsZW1lbnQ+PigpO1xuICBAT3V0cHV0KCkgYnFDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxU2lkZU1lbnVJdGVtRWxlbWVudD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxU2lkZU1lbnVJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5CcVNpZGVNZW51SXRlbSB7XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBidXR0b24gbG9zZXMgZm9jdXNcbiAgICovXG4gIGJxQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVNpZGVNZW51SXRlbUVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGJ1dHRvbiBpcyBjbGlja2VkXG4gICAqL1xuICBicUZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxU2lkZU1lbnVJdGVtRWxlbWVudD4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiBidXR0b24gZ2V0cyBmb2N1c1xuICAgKi9cbiAgYnFDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVNpZGVNZW51SXRlbUVsZW1lbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGVib3VuY2VUaW1lJywgJ2Rpc2FibGVkJywgJ2VuYWJsZVRvb2x0aXAnLCAnZW5hYmxlVmFsdWVJbmRpY2F0b3InLCAnZ2FwJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdzdGVwJywgJ3Rvb2x0aXBBbHdheXNWaXNpYmxlJywgJ3R5cGUnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLXNsaWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGVib3VuY2VUaW1lJywgJ2Rpc2FibGVkJywgJ2VuYWJsZVRvb2x0aXAnLCAnZW5hYmxlVmFsdWVJbmRpY2F0b3InLCAnZ2FwJywgJ21heCcsICdtaW4nLCAnbmFtZScsICdzdGVwJywgJ3Rvb2x0aXBBbHdheXNWaXNpYmxlJywgJ3R5cGUnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydicUNoYW5nZScsICdicUJsdXInLCAnYnFGb2N1cyddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCcVNsaWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEJxU2xpZGVyRWxlbWVudDtcbiAgICAvKipcbiAgICogVGhlIGFtb3VudCBvZiB0aW1lLCBpbiBtaWxsaXNlY29uZHMsIHRvIHdhaXQgdG8gdHJpZ2dlciB0aGUgYGJxQ2hhbmdlYCBldmVudCBhZnRlciBlYWNoIHZhbHVlIGNoYW5nZS4gQGRlZmF1bHQgMFxuICAgKi9cbiAgc2V0IGRlYm91bmNlVGltZShfOiBDb21wb25lbnRzLkJxU2xpZGVyWydkZWJvdW5jZVRpbWUnXSkge307XG4gICAgLyoqXG4gICAqIElmIGB0cnVlYCB0aGUgc2xpZGVyIGlzIGRpc2FibGVkLiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2V0IGRpc2FibGVkKF86IENvbXBvbmVudHMuQnFTbGlkZXJbJ2Rpc2FibGVkJ10pIHt9O1xuICAgIC8qKlxuICAgKiBJZiBgdHJ1ZWAgaXQgd2lsbCBzaG93IHRoZSB2YWx1ZSBsYWJlbCBvbiBhIHNpZGUgb2YgdGhlIHNsaWRlciB0cmFjayBhcmVhIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgZW5hYmxlVmFsdWVJbmRpY2F0b3IoXzogQ29tcG9uZW50cy5CcVNsaWRlclsnZW5hYmxlVmFsdWVJbmRpY2F0b3InXSkge307XG4gICAgLyoqXG4gICAqIEEgbnVtYmVyIHJlcHJlc2VudGluZyB0aGUgYW1vdW50IHRvIHJlbWFpbiBiZXR3ZWVuIHRoZSBtaW5pbXVtIGFuZCBtYXhpbXVtIHZhbHVlcyAob25seSBmb3IgcmFuZ2UgdHlwZSkuIEBkZWZhdWx0IDBcbiAgICovXG4gIHNldCBnYXAoXzogQ29tcG9uZW50cy5CcVNsaWRlclsnZ2FwJ10pIHt9O1xuICAgIC8qKlxuICAgKiBBIG51bWJlciByZXByZXNlbnRpbmcgdGhlIG1heCB2YWx1ZSBvZiB0aGUgc2xpZGVyLiBAZGVmYXVsdCAxMDBcbiAgICovXG4gIHNldCBtYXgoXzogQ29tcG9uZW50cy5CcVNsaWRlclsnbWF4J10pIHt9O1xuICAgIC8qKlxuICAgKiBBIG51bWJlciByZXByZXNlbnRpbmcgdGhlIG1pbiB2YWx1ZSBvZiB0aGUgc2xpZGVyLiBAZGVmYXVsdCAwXG4gICAqL1xuICBzZXQgbWluKF86IENvbXBvbmVudHMuQnFTbGlkZXJbJ21pbiddKSB7fTtcbiAgICAvKipcbiAgICogTmFtZSBvZiB0aGUgZm9ybSBjb250cm9sLiBTdWJtaXR0ZWQgd2l0aCB0aGUgZm9ybSBhcyBwYXJ0IG9mIGEgbmFtZS92YWx1ZSBwYWlyXG4gICAqL1xuICBzZXQgbmFtZShfOiBDb21wb25lbnRzLkJxU2xpZGVyWyduYW1lJ10pIHt9O1xuICAgIC8qKlxuICAgKiBBIG51bWJlciByZXByZXNlbnRpbmcgdGhlIHN0ZXAgb2YgdGhlIHNsaWRlci5cbuKaoO+4jyBQbGVhc2Ugbm90aWNlIHRoYXQgdGhlIHZhbHVlIChvciBsaXN0IG9mIHZhbHVlcyBpZiB0aGUgc2xpZGVyIHR5cGUgaXMgYHJhbmdlYCkgd2lsbCBiZSByb3VuZGVkIHRvIHRoZSBuZWFyZXN0IG11bHRpcGxlIG9mIGBzdGVwYC4gQGRlZmF1bHQgMVxuICAgKi9cbiAgc2V0IHN0ZXAoXzogQ29tcG9uZW50cy5CcVNsaWRlclsnc3RlcCddKSB7fTtcbiAgICAvKipcbiAgICogSXQgZGVmaW5lcyB0aGUgdHlwZSBvZiBzbGlkZXIgdG8gZGlzcGxheSBAZGVmYXVsdCAnc2luZ2xlJ1xuICAgKi9cbiAgc2V0IHR5cGUoXzogQ29tcG9uZW50cy5CcVNsaWRlclsndHlwZSddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBzbGlkZXIuXG4tIElmIHRoZSBzbGlkZXIgdHlwZSBpcyBgc2luZ2xlYCwgdGhlIHZhbHVlIGlzIGEgbnVtYmVyLlxuLSBJZiB0aGUgc2xpZGVyIHR5cGUgaXMgYHJhbmdlYCwgdGhlIHZhbHVlIGlzIGFuIGFycmF5IG9mIHR3byBudW1iZXJzICh0aGUgZmlyc3QgbnVtYmVyIHJlcHJlc2VudHMgdGhlIGBtaW5gIHZhbHVlIGFuZCB0aGUgc2Vjb25kIG51bWJlciByZXByZXNlbnRzIHRoZSBgbWF4YCB2YWx1ZSkuXG4gICAqL1xuICBzZXQgdmFsdWUoXzogQ29tcG9uZW50cy5CcVNsaWRlclsndmFsdWUnXSkge307XG4gICAgLyoqXG4gICAqIElmIGB0cnVlYCwgYSB0b29sdGlwIHdpbGwgYmUgc2hvd24gZGlzcGxheWluZyB0aGUgcHJvZ3Jlc3MgdmFsdWUgQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBlbmFibGVUb29sdGlwKF86IENvbXBvbmVudHMuQnFTbGlkZXJbJ2VuYWJsZVRvb2x0aXAnXSkge307XG4gICAgLyoqXG4gICAqIElmIGB0cnVlYCwgYSB0b29sdGlwIHdpbGwgYWx3YXlzIGRpc3BsYXkgdGhlIHByb2dyZXNzIHZhbHVlLlxuSXQgcmVsaWVzIG9uIGVuYWJsZVRvb2x0aXAgYW5kIGlmIGVuYWJsZVRvb2x0aXAgaXMgZmFsc2UsIHRvb2x0aXBBbHdheXNWaXNpYmxlIGNhbm5vdCBiZSB0cnVlLiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2V0IHRvb2x0aXBBbHdheXNWaXNpYmxlKF86IENvbXBvbmVudHMuQnFTbGlkZXJbJ3Rvb2x0aXBBbHdheXNWaXNpYmxlJ10pIHt9O1xuICBAT3V0cHV0KCkgYnFDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdmFsdWU6IEV4Y2x1ZGU8SUJxU2xpZGVyVFNsaWRlclZhbHVlLCBzdHJpbmc+OyBlbDogSFRNTEJxU2xpZGVyRWxlbWVudCB9Pj4oKTtcbiAgQE91dHB1dCgpIGJxQmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxU2xpZGVyRWxlbWVudD4+KCk7XG4gIEBPdXRwdXQoKSBicUZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFTbGlkZXJFbGVtZW50Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFRTbGlkZXJWYWx1ZSBhcyBJQnFTbGlkZXJUU2xpZGVyVmFsdWUgfSBmcm9tICdAYmVlcS9jb3JlJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxU2xpZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5CcVNsaWRlciB7XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIGNoYW5nZSB0aGUgdmFsdWUgb24gcmFuZ2UgaW5wdXRzXG4gICAqL1xuICBicUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdmFsdWU6IEV4Y2x1ZGU8SUJxU2xpZGVyVFNsaWRlclZhbHVlLCBzdHJpbmc+OyBlbDogSFRNTEJxU2xpZGVyRWxlbWVudCB9Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBzbGlkZXIgbG9zZXMgZm9jdXNcbiAgICovXG4gIGJxQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVNsaWRlckVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHNsaWRlciBnZXRzIGZvY3VzZWRcbiAgICovXG4gIGJxRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFTbGlkZXJFbGVtZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdzaXplJywgJ3RleHRQb3NpdGlvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtc3Bpbm5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5pbWF0aW9uJywgJ3NpemUnLCAndGV4dFBvc2l0aW9uJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJxU3Bpbm5lciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEJxU3Bpbm5lckVsZW1lbnQ7XG4gICAgLyoqXG4gICAqIElmIGBmYWxzZWAsIHRoZSBhbmltYXRpb24gb24gdGhlIGljb24gZWxlbWVudCB3aWxsIGJlIHN0b3BwZWQgQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgc2V0IGFuaW1hdGlvbihfOiBDb21wb25lbnRzLkJxU3Bpbm5lclsnYW5pbWF0aW9uJ10pIHt9O1xuICAgIC8qKlxuICAgKiBJdCBkZWZpbmVzIHRoZSBwb3NpdGlvbiBvZiB0aGUgbGFiZWwgdGV4dCBAZGVmYXVsdCAnbm9uZSdcbiAgICovXG4gIHNldCB0ZXh0UG9zaXRpb24oXzogQ29tcG9uZW50cy5CcVNwaW5uZXJbJ3RleHRQb3NpdGlvbiddKSB7fTtcbiAgICAvKipcbiAgICogSXQgZGVmaW5lcyB0aGUgc2l6ZSBvZiB0aGUgaWNvbiBlbGVtZW50IGRpc3BsYXllZCBAZGVmYXVsdCAnbWVkaXVtJ1xuICAgKi9cbiAgc2V0IHNpemUoXzogQ29tcG9uZW50cy5CcVNwaW5uZXJbJ3NpemUnXSkge307XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxU3Bpbm5lciBleHRlbmRzIENvbXBvbmVudHMuQnFTcGlubmVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3R5cGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLXN0YXR1cycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsndHlwZSddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCcVN0YXR1cyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEJxU3RhdHVzRWxlbWVudDtcbiAgICAvKipcbiAgICogSXQgZGVmaW5lcyB0aGUgdHlwZSBvZiBzdGF0dXMgdG8gZGlzcGxheSBAZGVmYXVsdCAnbmV1dHJhbCdcbiAgICovXG4gIHNldCB0eXBlKF86IENvbXBvbmVudHMuQnFTdGF0dXNbJ3R5cGUnXSkge307XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxU3RhdHVzIGV4dGVuZHMgQ29tcG9uZW50cy5CcVN0YXR1cyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzaXplJywgJ3N0YXR1cycsICd0eXBlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1zdGVwLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3NpemUnLCAnc3RhdHVzJywgJ3R5cGUnXSxcbiAgb3V0cHV0czogWydicUNsaWNrJywgJ2JxRm9jdXMnLCAnYnFCbHVyJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJxU3RlcEl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxCcVN0ZXBJdGVtRWxlbWVudDtcbiAgICAvKipcbiAgICogSXQgZGVmaW5lcyBwcmVmaXggc2l6ZSBAZGVmYXVsdCAnbWVkaXVtJ1xuICAgKi9cbiAgc2V0IHNpemUoXzogQ29tcG9uZW50cy5CcVN0ZXBJdGVtWydzaXplJ10pIHt9O1xuICAgIC8qKlxuICAgKiBJdCBkZWZpbmVzIHN0ZXAgaXRlbSBhcHBlYXJhbmNlIGJhc2VkIG9uIGl0cyBzdGF0dXMgQGRlZmF1bHQgJ2RlZmF1bHQnXG4gICAqL1xuICBzZXQgc3RhdHVzKF86IENvbXBvbmVudHMuQnFTdGVwSXRlbVsnc3RhdHVzJ10pIHt9O1xuICAgIC8qKlxuICAgKiBJdCBkZWZpbmVzIHRoZSBzdGVwIGl0ZW0gdHlwZSB1c2VkXG4gICAqL1xuICBzZXQgdHlwZShfOiBDb21wb25lbnRzLkJxU3RlcEl0ZW1bJ3R5cGUnXSkge307XG4gIEBPdXRwdXQoKSBicUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFTdGVwSXRlbUVsZW1lbnQ+PigpO1xuICBAT3V0cHV0KCkgYnFGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxU3RlcEl0ZW1FbGVtZW50Pj4oKTtcbiAgQE91dHB1dCgpIGJxQmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxU3RlcEl0ZW1FbGVtZW50Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFTdGVwSXRlbSBleHRlbmRzIENvbXBvbmVudHMuQnFTdGVwSXRlbSB7XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIHRyaWdnZXJlZCB3aGVuIHRoZSBzdGVwIGl0ZW0gaXMgY2xpY2tlZFxuICAgKi9cbiAgYnFDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVN0ZXBJdGVtRWxlbWVudD4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciB0cmlnZ2VyZWQgd2hlbiB0aGUgc3RlcCBpdGVtIGlzIGZvY3VzZWRcbiAgICovXG4gIGJxRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFTdGVwSXRlbUVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgdHJpZ2dlcmVkIHdoZW4gdGhlIHN0ZXAgaXRlbSBsb3NlcyBmb2N1c1xuICAgKi9cbiAgYnFCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxU3RlcEl0ZW1FbGVtZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RpdmlkZXJDb2xvcicsICdzaXplJywgJ3R5cGUnXSxcbiAgbWV0aG9kczogWydzZXRDdXJyZW50U3RlcEl0ZW0nXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLXN0ZXBzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXZpZGVyQ29sb3InLCAnc2l6ZScsICd0eXBlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJxU3RlcHMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxCcVN0ZXBzRWxlbWVudDtcbiAgICAvKipcbiAgICogVGhlIGNvbG9yIG9mIHRoZSBsaW5lIHRoYXQgY29ubmVjdHMgdGhlIHN0ZXBzLiBJdCBzaG91bGQgYmUgYSB2YWxpZCBkZWNsYXJhdGl2ZSBjb2xvciB0b2tlbi4gQGRlZmF1bHQgJ3N0cm9rZS0tcHJpbWFyeSdcbiAgICovXG4gIHNldCBkaXZpZGVyQ29sb3IoXzogQ29tcG9uZW50cy5CcVN0ZXBzWydkaXZpZGVyQ29sb3InXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSBzdGVwcyBAZGVmYXVsdCAnbWVkaXVtJ1xuICAgKi9cbiAgc2V0IHNpemUoXzogQ29tcG9uZW50cy5CcVN0ZXBzWydzaXplJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBwcmVmaXggZWxlbWVudCB0byB1c2Ugb24gdGhlIHN0ZXAgaXRlbXNcbiAgICovXG4gIHNldCB0eXBlKF86IENvbXBvbmVudHMuQnFTdGVwc1sndHlwZSddKSB7fTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFTdGVwcyBleHRlbmRzIENvbXBvbmVudHMuQnFTdGVwcyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydiYWNrZ3JvdW5kT25Ib3ZlcicsICdjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2Zvcm1WYWxpZGF0aW9uTWVzc2FnZScsICdmdWxsV2lkdGgnLCAnaW5uZXJMYWJlbCcsICdqdXN0aWZ5Q29udGVudCcsICduYW1lJywgJ3JlcXVpcmVkJywgJ3JldmVyc2VPcmRlcicsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3ZDbGljaycsICd2Rm9jdXMnLCAndkJsdXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLXN3aXRjaCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFja2dyb3VuZE9uSG92ZXInLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdmb3JtVmFsaWRhdGlvbk1lc3NhZ2UnLCAnZnVsbFdpZHRoJywgJ2lubmVyTGFiZWwnLCAnanVzdGlmeUNvbnRlbnQnLCB7IG5hbWU6ICduYW1lJywgcmVxdWlyZWQ6IHRydWUgfSwgJ3JlcXVpcmVkJywgJ3JldmVyc2VPcmRlcicsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JxQ2hhbmdlJywgJ2JxRm9jdXMnLCAnYnFCbHVyJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJxU3dpdGNoIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQnFTd2l0Y2hFbGVtZW50O1xuICAgIC8qKlxuICAgKiBJZiB0cnVlLCBhIGJhY2tncm91bmQgd2lsbCBiZSBkaXNwbGF5ZWQgb24gaG92ZXIgQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBiYWNrZ3JvdW5kT25Ib3ZlcihfOiBDb21wb25lbnRzLkJxU3dpdGNoWydiYWNrZ3JvdW5kT25Ib3ZlciddKSB7fTtcbiAgICAvKipcbiAgICogSXQgaW5kaWNhdGVzIHdoZXRoZXIgaWYgdGhlIHN3aXRjaCBpcyBgT05gIGJ5IGRlZmF1bHQgKHdoZW4gdGhlIHBhZ2UgbG9hZHMpIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgY2hlY2tlZChfOiBDb21wb25lbnRzLkJxU3dpdGNoWydjaGVja2VkJ10pIHt9O1xuICAgIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgc3dpdGNoIGNvbnRyb2wgd2lsbCBiZSBkaXNhYmxlZCBhbmQgbm8gaW50ZXJhY3Rpb24gd2lsbCBiZSBhbGxvd2VkIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgZGlzYWJsZWQoXzogQ29tcG9uZW50cy5CcVN3aXRjaFsnZGlzYWJsZWQnXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBuYXRpdmUgZm9ybSB2YWxpZGF0aW9uIG1lc3NhZ2VcbiAgICovXG4gIHNldCBmb3JtVmFsaWRhdGlvbk1lc3NhZ2UoXzogQ29tcG9uZW50cy5CcVN3aXRjaFsnZm9ybVZhbGlkYXRpb25NZXNzYWdlJ10pIHt9O1xuICAgIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgY29tcG9uZW50IHdpbGwgdGFrZSB0aGUgZnVsbCB3aWR0aCBzcGFjZSBhdmFpbGFibGUgb24gdGhlIHBhcmVudCBjb250YWluZXIgQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBmdWxsV2lkdGgoXzogQ29tcG9uZW50cy5CcVN3aXRjaFsnZnVsbFdpZHRoJ10pIHt9O1xuICAgIC8qKlxuICAgKiBJdCBpbmRpY2F0ZXMgaG93IHRvIHRvIGRpc3BsYXkgdGhlIG9uL29mZiBtYXJrcyBpbnNpZGUgdGhlIGNvbnRyb2wsIHdpdGggaWNvbnMgb3Igbm9uZSAoZGVmYXVsdCkgQGRlZmF1bHQgJ2RlZmF1bHQnXG4gICAqL1xuICBzZXQgaW5uZXJMYWJlbChfOiBDb21wb25lbnRzLkJxU3dpdGNoWydpbm5lckxhYmVsJ10pIHt9O1xuICAgIC8qKlxuICAgKiBJdCBkZWZpbmVzIGhvdyB0byBkaXN0cmlidXRlIHRoZSBzcGFjZSBiZXR3ZWVuIGFuZCBhcm91bmQgdGhlIGNvbnRyb2wgYW5kIHRoZSBsYWJlbCB0ZXh0XG4oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2p1c3RpZnktY29udGVudCkgQGRlZmF1bHQgJ3N0YXJ0J1xuICAgKi9cbiAgc2V0IGp1c3RpZnlDb250ZW50KF86IENvbXBvbmVudHMuQnFTd2l0Y2hbJ2p1c3RpZnlDb250ZW50J10pIHt9O1xuICAgIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBmb3JtIGNvbnRyb2wuIFN1Ym1pdHRlZCB3aXRoIHRoZSBmb3JtIGFzIHBhcnQgb2YgYSBuYW1lL3ZhbHVlIHBhaXJcbiAgICovXG4gIHNldCBuYW1lKF86IENvbXBvbmVudHMuQnFTd2l0Y2hbJ25hbWUnXSkge307XG4gICAgLyoqXG4gICAqIElmIGB0cnVlYCwgaXQgd2lsbCBpbmRpY2F0ZSB0aGF0IHRoZSB1c2VyIG11c3Qgc3dpdGNoIGBPTmAgdGhlIGVsZW1lbnQgYmVmb3JlIHRoZSBvd25pbmcgZm9ybSBjYW4gYmUgc3VibWl0dGVkIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgcmVxdWlyZWQoXzogQ29tcG9uZW50cy5CcVN3aXRjaFsncmVxdWlyZWQnXSkge307XG4gICAgLyoqXG4gICAqIElmIHRydWUsIHRoZSBvcmRlciBvZiB0aGUgY29udHJvbCBhbmQgdGhlIGxhYmVsIHRleHQgd2lsbCBiZSBjaGFuZ2VkIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgcmV2ZXJzZU9yZGVyKF86IENvbXBvbmVudHMuQnFTd2l0Y2hbJ3JldmVyc2VPcmRlciddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIGlucHV0IGNvbnRyb2wncyB2YWx1ZSwgc3VibWl0dGVkIGFzIGEgbmFtZS92YWx1ZSBwYWlyIHdpdGggZm9ybSBkYXRhLlxuICAgKi9cbiAgc2V0IHZhbHVlKF86IENvbXBvbmVudHMuQnFTd2l0Y2hbJ3ZhbHVlJ10pIHt9O1xuICBAT3V0cHV0KCkgYnFDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgY2hlY2tlZDogYm9vbGVhbiB9Pj4oKTtcbiAgQE91dHB1dCgpIGJxRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVN3aXRjaEVsZW1lbnQ+PigpO1xuICBAT3V0cHV0KCkgYnFCbHVyID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFTd2l0Y2hFbGVtZW50Pj4oKTtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFTd2l0Y2ggZXh0ZW5kcyBDb21wb25lbnRzLkJxU3dpdGNoIHtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHN3aXRjaCBzdGF0ZSBjaGFuZ2VzXG4gICAqL1xuICBicUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgY2hlY2tlZDogYm9vbGVhbiB9Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBzd2l0Y2ggZ2V0cyBmb2N1c1xuICAgKi9cbiAgYnFGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVN3aXRjaEVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHN3aXRjaCBsb3NlcyBmb2N1c1xuICAgKi9cbiAgYnFCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxU3dpdGNoRWxlbWVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnY29udHJvbHMnLCAnZGlzYWJsZWQnLCAnb3JpZW50YXRpb24nLCAncGxhY2VtZW50JywgJ3NpemUnLCAndGFiSWQnXSxcbiAgbWV0aG9kczogWyd2Q2xpY2snLCAndkZvY3VzJywgJ3ZCbHVyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS10YWInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsIHsgbmFtZTogJ2NvbnRyb2xzJywgcmVxdWlyZWQ6IHRydWUgfSwgJ2Rpc2FibGVkJywgJ29yaWVudGF0aW9uJywgJ3BsYWNlbWVudCcsICdzaXplJywgeyBuYW1lOiAndGFiSWQnLCByZXF1aXJlZDogdHJ1ZSB9XSxcbiAgb3V0cHV0czogWydicUNsaWNrJywgJ2JxRm9jdXMnLCAnYnFCbHVyJywgJ2JxS2V5RG93biddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCcVRhYiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEJxVGFiRWxlbWVudDtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSB0YWIgaXMgYWN0aXZlXG4gICAqL1xuICBzZXQgYWN0aXZlKF86IENvbXBvbmVudHMuQnFUYWJbJ2FjdGl2ZSddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIHRhYiBwYW5lbCBpZCB0aGF0IHRoZSB0YWIgY29udHJvbHNcbiAgICovXG4gIHNldCBjb250cm9scyhfOiBDb21wb25lbnRzLkJxVGFiWydjb250cm9scyddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSB0YWIgaXMgZGlzYWJsZWQgQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBkaXNhYmxlZChfOiBDb21wb25lbnRzLkJxVGFiWydkaXNhYmxlZCddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIGRpcmVjdGlvbiB0aGF0IHRhYiBzaG91bGQgYmUgcmVuZGVyIEBkZWZhdWx0ICdob3Jpem9udGFsJ1xuICAgKi9cbiAgc2V0IG9yaWVudGF0aW9uKF86IENvbXBvbmVudHMuQnFUYWJbJ29yaWVudGF0aW9uJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgcGxhY2VtZW50IHRoYXQgdGFiIHNob3VsZCBiZSByZW5kZXIgQGRlZmF1bHQgJ3N0YXJ0J1xuICAgKi9cbiAgc2V0IHBsYWNlbWVudChfOiBDb21wb25lbnRzLkJxVGFiWydwbGFjZW1lbnQnXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSB0YWIgQGRlZmF1bHQgJ21lZGl1bSdcbiAgICovXG4gIHNldCBzaXplKF86IENvbXBvbmVudHMuQnFUYWJbJ3NpemUnXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBpZCBvZiB0aGUgdGFiXG4gICAqL1xuICBzZXQgdGFiSWQoXzogQ29tcG9uZW50cy5CcVRhYlsndGFiSWQnXSkge307XG4gIEBPdXRwdXQoKSBicUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFUYWJFbGVtZW50Pj4oKTtcbiAgQE91dHB1dCgpIGJxRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRhYkVsZW1lbnQ+PigpO1xuICBAT3V0cHV0KCkgYnFCbHVyID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFUYWJFbGVtZW50Pj4oKTtcbiAgQE91dHB1dCgpIGJxS2V5RG93biA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxVGFiIGV4dGVuZHMgQ29tcG9uZW50cy5CcVRhYiB7XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSB0YWIgc3RhdGUgY2hhbmdlc1xuICAgKi9cbiAgYnFDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRhYkVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHRhYiBnZXRzIGZvY3VzXG4gICAqL1xuICBicUZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxVGFiRWxlbWVudD4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgdGFiIGxvc2VzIGZvY3VzXG4gICAqL1xuICBicUJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFUYWJFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSB0YWIga2V5IGlzIHByZXNzZWRcbiAgICovXG4gIGJxS2V5RG93bjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEtleWJvYXJkRXZlbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGVib3VuY2VUaW1lJywgJ2Rpc2FibGVEaXZpZGVyJywgJ29yaWVudGF0aW9uJywgJ3BsYWNlbWVudCcsICdzaXplJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS10YWItZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RlYm91bmNlVGltZScsICdkaXNhYmxlRGl2aWRlcicsICdvcmllbnRhdGlvbicsICdwbGFjZW1lbnQnLCAnc2l6ZScsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JxQ2hhbmdlJ10sXG4gIHN0YW5kYWxvbmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIEJxVGFiR3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxCcVRhYkdyb3VwRWxlbWVudDtcbiAgICAvKipcbiAgICogQSBudW1iZXIgcmVwcmVzZW50aW5nIHRoZSBkZWxheSB2YWx1ZSBhcHBsaWVkIHRvIGJxQ2hhbmdlIGV2ZW50IGhhbmRsZXIgQGRlZmF1bHQgMFxuICAgKi9cbiAgc2V0IGRlYm91bmNlVGltZShfOiBDb21wb25lbnRzLkJxVGFiR3JvdXBbJ2RlYm91bmNlVGltZSddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIHVuZGVybGluZSBkaXZpZGVyIGJlbG93IHRoZSB0YWJzIHdvbid0IGJlIHNob3duIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgZGlzYWJsZURpdmlkZXIoXzogQ29tcG9uZW50cy5CcVRhYkdyb3VwWydkaXNhYmxlRGl2aWRlciddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIGRpcmVjdGlvbiB0aGF0IHRhYiBzaG91bGQgYmUgcmVuZGVyIEBkZWZhdWx0ICdob3Jpem9udGFsJ1xuICAgKi9cbiAgc2V0IG9yaWVudGF0aW9uKF86IENvbXBvbmVudHMuQnFUYWJHcm91cFsnb3JpZW50YXRpb24nXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBwbGFjZW1lbnQgdGhhdCB0YWIgc2hvdWxkIGJlIHJlbmRlciBAZGVmYXVsdCAnc3RhcnQnXG4gICAqL1xuICBzZXQgcGxhY2VtZW50KF86IENvbXBvbmVudHMuQnFUYWJHcm91cFsncGxhY2VtZW50J10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgdGFiIEBkZWZhdWx0ICdtZWRpdW0nXG4gICAqL1xuICBzZXQgc2l6ZShfOiBDb21wb25lbnRzLkJxVGFiR3JvdXBbJ3NpemUnXSkge307XG4gICAgLyoqXG4gICAqIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgaWQgb2YgdGhlIHNlbGVjdGVkIHRhYi5cbiAgICovXG4gIHNldCB2YWx1ZShfOiBDb21wb25lbnRzLkJxVGFiR3JvdXBbJ3ZhbHVlJ10pIHt9O1xuICBAT3V0cHV0KCkgYnFDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdGFyZ2V0OiBIVE1MQnFUYWJFbGVtZW50OyB2YWx1ZTogc3RyaW5nIH0+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcVRhYkdyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5CcVRhYkdyb3VwIHtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHRhYiB2YWx1ZSBjaGFuZ2VzXG4gICAqL1xuICBicUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdGFyZ2V0OiBIVE1MQnFUYWJFbGVtZW50OyB2YWx1ZTogc3RyaW5nIH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYm9yZGVyJywgJ2NsaWNrYWJsZScsICdjb2xvcicsICdkaXNhYmxlZCcsICdoaWRkZW4nLCAncmVtb3ZhYmxlJywgJ3NlbGVjdGVkJywgJ3NpemUnLCAndmFyaWFudCddLFxuICBtZXRob2RzOiBbJ2hpZGUnLCAnc2hvdyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtdGFnJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydib3JkZXInLCAnY2xpY2thYmxlJywgJ2NvbG9yJywgJ2Rpc2FibGVkJywgJ2hpZGRlbicsICdyZW1vdmFibGUnLCAnc2VsZWN0ZWQnLCAnc2l6ZScsICd2YXJpYW50J10sXG4gIG91dHB1dHM6IFsnYnFDbG9zZScsICdicU9wZW4nLCAnYnFCbHVyJywgJ2JxQ2xpY2snLCAnYnFGb2N1cyddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCcVRhZyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEJxVGFnRWxlbWVudDtcbiAgICAvKipcbiAgICogVGhlIGNvcm5lciByYWRpdXMgb2YgdGhlIFRhZyAod2lsbCBvdmVycmlkZSBzaXplJ3MgcHJlZGVmaW5lZCBib3JkZXIpXG4gICAqL1xuICBzZXQgYm9yZGVyKF86IENvbXBvbmVudHMuQnFUYWdbJ2JvcmRlciddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIFRhZyBjYW4gYmUgY2xpY2thYmxlIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgY2xpY2thYmxlKF86IENvbXBvbmVudHMuQnFUYWdbJ2NsaWNrYWJsZSddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIGNvbG9yIHN0eWxlIG9mIHRoZSBUYWdcbiAgICovXG4gIHNldCBjb2xvcihfOiBDb21wb25lbnRzLkJxVGFnWydjb2xvciddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIFRhZyB3aWxsIGJlIGRpc2FibGVkIChvbmx5IGlmIGNsaWNrYWJsZSA9IGB0cnVlYCwgbm8gaW50ZXJhY3Rpb24gYWxsb3dlZCkgQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBkaXNhYmxlZChfOiBDb21wb25lbnRzLkJxVGFnWydkaXNhYmxlZCddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIFRhZyBjb21wb25lbnQgd2lsbCBoaWRkZW4gKG9ubHkgaWYgcmVtb3ZhYmxlID0gYHRydWVgKVxuICAgKi9cbiAgc2V0IGhpZGRlbihfOiBDb21wb25lbnRzLkJxVGFnWydoaWRkZW4nXSkge307XG4gICAgLyoqXG4gICAqIElmIHRydWUsIHRoZSBUYWcgY29tcG9uZW50IGNhbiBiZSByZW1vdmVkIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgcmVtb3ZhYmxlKF86IENvbXBvbmVudHMuQnFUYWdbJ3JlbW92YWJsZSddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIFRhZyBpcyBzZWxlY3RlZCAob25seSBpZiBjbGlja2FibGUgPSBgdHJ1ZWApIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgc2VsZWN0ZWQoXzogQ29tcG9uZW50cy5CcVRhZ1snc2VsZWN0ZWQnXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSBUYWcgY29tcG9uZW50IEBkZWZhdWx0ICdtZWRpdW0nXG4gICAqL1xuICBzZXQgc2l6ZShfOiBDb21wb25lbnRzLkJxVGFnWydzaXplJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgdmFyaWFudCBvZiBUYWcgdG8gYXBwbHkgb24gdG9wIG9mIHRoZSB2YXJpYW50IEBkZWZhdWx0ICdmaWxsZWQnXG4gICAqL1xuICBzZXQgdmFyaWFudChfOiBDb21wb25lbnRzLkJxVGFnWyd2YXJpYW50J10pIHt9O1xuICBAT3V0cHV0KCkgYnFDbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj4oKTtcbiAgQE91dHB1dCgpIGJxT3BlbiA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj4oKTtcbiAgQE91dHB1dCgpIGJxQmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxVGFnRWxlbWVudD4+KCk7XG4gIEBPdXRwdXQoKSBicUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFUYWdFbGVtZW50Pj4oKTtcbiAgQE91dHB1dCgpIGJxRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRhZ0VsZW1lbnQ+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcVRhZyBleHRlbmRzIENvbXBvbmVudHMuQnFUYWcge1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgdGFnIGlzIGNsb3NlL2hpZGRlblxuICAgKi9cbiAgYnFDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgdGFnIGlzIG5vdCBvcGVuL3Nob3duXG4gICAqL1xuICBicU9wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGFnIGxvc2VzIGZvY3VzXG4gICAqL1xuICBicUJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFUYWdFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRhZyBpcyBjbGlja2VkXG4gICAqL1xuICBicUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxVGFnRWxlbWVudD4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0YWcgaXMgZm9jdXNlZFxuICAgKi9cbiAgYnFGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRhZ0VsZW1lbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXV0b0dyb3cnLCAnYXV0b2NhcGl0YWxpemUnLCAnYXV0b2NvbXBsZXRlJywgJ2F1dG9jb3JyZWN0JywgJ2F1dG9mb2N1cycsICdkZWJvdW5jZVRpbWUnLCAnZGlzYWJsZVJlc2l6ZScsICdkaXNhYmxlZCcsICdmb3JtJywgJ2Zvcm1WYWxpZGF0aW9uTWVzc2FnZScsICdtYXhsZW5ndGgnLCAnbmFtZScsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdyb3dzJywgJ3NwZWxsY2hlY2snLCAndmFsaWRhdGlvblN0YXR1cycsICd2YWx1ZScsICd3cmFwJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS10ZXh0YXJlYScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXV0b0dyb3cnLCAnYXV0b2NhcGl0YWxpemUnLCAnYXV0b2NvbXBsZXRlJywgJ2F1dG9jb3JyZWN0JywgJ2F1dG9mb2N1cycsICdkZWJvdW5jZVRpbWUnLCAnZGlzYWJsZVJlc2l6ZScsICdkaXNhYmxlZCcsICdmb3JtJywgJ2Zvcm1WYWxpZGF0aW9uTWVzc2FnZScsICdtYXhsZW5ndGgnLCB7IG5hbWU6ICduYW1lJywgcmVxdWlyZWQ6IHRydWUgfSwgeyBuYW1lOiAncGxhY2Vob2xkZXInLCByZXF1aXJlZDogdHJ1ZSB9LCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAncm93cycsICdzcGVsbGNoZWNrJywgJ3ZhbGlkYXRpb25TdGF0dXMnLCAndmFsdWUnLCAnd3JhcCddLFxuICBvdXRwdXRzOiBbJ2JxQmx1cicsICdicUNoYW5nZScsICdicUNsZWFyJywgJ2JxRm9jdXMnLCAnYnFJbnB1dCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCcVRleHRhcmVhIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQnFUZXh0YXJlYUVsZW1lbnQ7XG4gICAgLyoqXG4gICAqIENvbnRyb2xzIHdoZXRoZXIgb3Igbm90IHRoZSB0ZXh0YXJlYSBmaWVsZCBzaG91bGQgYmUgY2FwaXRhbGl6ZWQgYW5kIGhvdy5cblBvc3NpYmxlIHZhbHVlcyBhcmUgJ29mZicsICdub25lJywgJ29uJywgJ3NlbnRlbmNlcycsICd3b3JkcycsIGFuZCAnY2hhcmFjdGVycycuXG5TZWU6IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0hUTUwvR2xvYmFsX2F0dHJpYnV0ZXMvYXV0b2NhcGl0YWxpemUgQGRlZmF1bHQgJ29mZidcbiAgICovXG4gIHNldCBhdXRvY2FwaXRhbGl6ZShfOiBDb21wb25lbnRzLkJxVGV4dGFyZWFbJ2F1dG9jYXBpdGFsaXplJ10pIHt9O1xuICAgIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciBvciBub3QgdGhlIHRleHRhcmVhIGZpZWxkIHNob3VsZCBoYXZlIGF1dG9jb21wbGV0ZSBlbmFibGVkLlxuU2VlOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVE1ML0F0dHJpYnV0ZXMvYXV0b2NvbXBsZXRlI3ZhbHVlcyBAZGVmYXVsdCAnb2ZmJ1xuICAgKi9cbiAgc2V0IGF1dG9jb21wbGV0ZShfOiBDb21wb25lbnRzLkJxVGV4dGFyZWFbJ2F1dG9jb21wbGV0ZSddKSB7fTtcbiAgICAvKipcbiAgICogQ29udHJvbHMgd2hldGhlciBvciBub3QgdGhlIHRleHRhcmVhIGZpZWxkIHNob3VsZCBoYXZlIGF1dG9jb3JyZWN0IGVuYWJsZWQuXG5Qb3NzaWJsZSB2YWx1ZXMgYXJlICdvbicgYW5kICdvZmYnLiBAZGVmYXVsdCAnb2ZmJ1xuICAgKi9cbiAgc2V0IGF1dG9jb3JyZWN0KF86IENvbXBvbmVudHMuQnFUZXh0YXJlYVsnYXV0b2NvcnJlY3QnXSkge307XG4gICAgLyoqXG4gICAqIElmIHRydWUsIHRoZSB0ZXh0YXJlYSB3aWxsIGJlIGZvY3VzZWQgb24gY29tcG9uZW50IHJlbmRlclxuICAgKi9cbiAgc2V0IGF1dG9mb2N1cyhfOiBDb21wb25lbnRzLkJxVGV4dGFyZWFbJ2F1dG9mb2N1cyddKSB7fTtcbiAgICAvKipcbiAgICogSWYgYHRydWVgLCB0aGUgdGV4dGFyZWEgd2lsbCBhdXRvbWF0aWNhbGx5IGdyb3cgYW5kIHNocmluayB0byBmaXQgaXRzIGNvbnRlbnRzLlxuSWYgYGZhbHNlYCwgdGhlIHRleHRhcmVhIHdpbGwgaGF2ZSBhIGZpeGVkIGhlaWdodCBzcGVjaWZpZWQgYnkgdGhlIGByb3dzYCBwcm9wZXJ0eS4gQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBhdXRvR3JvdyhfOiBDb21wb25lbnRzLkJxVGV4dGFyZWFbJ2F1dG9Hcm93J10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIHRpbWUsIGluIG1pbGxpc2Vjb25kcywgdG8gd2FpdCBiZWZvcmUgZW1pdHRpbmcgdGhlIGBicUlucHV0YCBldmVudCBhZnRlciB0aGUgdGV4dGFyZWEgdmFsdWUgY2hhbmdlcy5cbkEgdmFsdWUgb2YgMCBtZWFucyBubyBkZWJvdW5jaW5nIHdpbGwgb2NjdXIuIEBkZWZhdWx0IDBcbiAgICovXG4gIHNldCBkZWJvdW5jZVRpbWUoXzogQ29tcG9uZW50cy5CcVRleHRhcmVhWydkZWJvdW5jZVRpbWUnXSkge307XG4gICAgLyoqXG4gICAqIElmIGB0cnVlYCwgdGhlIHVzZXIgY2Fubm90IGludGVyYWN0IHdpdGggdGhlIHRleHRhcmVhLiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2V0IGRpc2FibGVkKF86IENvbXBvbmVudHMuQnFUZXh0YXJlYVsnZGlzYWJsZWQnXSkge307XG4gICAgLyoqXG4gICAqIElmIGB0cnVlYCwgaXQgd2lsbCBibG9jayB0aGUgdXNlcidzIGFiaWxpdHkgdG8gcmVzaXplIHRoZSB0ZXh0YXJlYS4gQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBkaXNhYmxlUmVzaXplKF86IENvbXBvbmVudHMuQnFUZXh0YXJlYVsnZGlzYWJsZVJlc2l6ZSddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBmb3JtIHRoYXQgdGhlIHRleHRhcmVhIGZpZWxkIGJlbG9uZ3MgdG8uXG4gICAqL1xuICBzZXQgZm9ybShfOiBDb21wb25lbnRzLkJxVGV4dGFyZWFbJ2Zvcm0nXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBuYXRpdmUgZm9ybSB2YWxpZGF0aW9uIG1lc3NhZ2VcbiAgICovXG4gIHNldCBmb3JtVmFsaWRhdGlvbk1lc3NhZ2UoXzogQ29tcG9uZW50cy5CcVRleHRhcmVhWydmb3JtVmFsaWRhdGlvbk1lc3NhZ2UnXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRoYXQgY2FuIGJlIGVudGVyZWQgaW50byB0aGUgdGV4dGFyZWEgKGAwYDogbm8gbGltaXQpLlxuV2hlbiBlbmFibGVkLCBhIGNoYXJhY3RlciBjb3VudGVyIHdpbGwgYmUgc2hvd24gdW5kZXJuZWF0aCB0aGUgdGV4dGFyZWEuXG4gICAqL1xuICBzZXQgbWF4bGVuZ3RoKF86IENvbXBvbmVudHMuQnFUZXh0YXJlYVsnbWF4bGVuZ3RoJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgdGV4dGFyZWEgZWxlbWVudC5cbiAgICovXG4gIHNldCBuYW1lKF86IENvbXBvbmVudHMuQnFUZXh0YXJlYVsnbmFtZSddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIHBsYWNlaG9sZGVyIHRleHQgdG8gc2hvdyB3aGVuIHRoZXJlIGlzIG5vIHZhbHVlLlxuICAgKi9cbiAgc2V0IHBsYWNlaG9sZGVyKF86IENvbXBvbmVudHMuQnFUZXh0YXJlYVsncGxhY2Vob2xkZXInXSkge307XG4gICAgLyoqXG4gICAqIElmIHRydWUsIHRoZSB0ZXh0YXJlYSBmaWVsZCBjYW5ub3QgYmUgbW9kaWZpZWQuIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgcmVhZG9ubHkoXzogQ29tcG9uZW50cy5CcVRleHRhcmVhWydyZWFkb25seSddKSB7fTtcbiAgICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgb3Igbm90IHRoZSB0ZXh0YXJlYSBmaWVsZCBpcyByZXF1aXJlZCB0byBiZSBmaWxsZWQgb3V0IGJlZm9yZSBzdWJtaXR0aW5nIHRoZSBmb3JtLiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2V0IHJlcXVpcmVkKF86IENvbXBvbmVudHMuQnFUZXh0YXJlYVsncmVxdWlyZWQnXSkge307XG4gICAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgdmlzaWJsZSB0ZXh0IGxpbmVzIGZvciB0aGUgY29udHJvbC4gSXQgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIuIEBkZWZhdWx0IDVcbiAgICovXG4gIHNldCByb3dzKF86IENvbXBvbmVudHMuQnFUZXh0YXJlYVsncm93cyddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIHRleHRhcmVhIGNvbnRlbnQgbWF5IGJlIGNoZWNrZWQgZm9yIHNwZWxsaW5nIGVycm9ycy4gQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNldCBzcGVsbGNoZWNrKF86IENvbXBvbmVudHMuQnFUZXh0YXJlYVsnc3BlbGxjaGVjayddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIHZhbGlkYXRpb24gc3RhdHVzIG9mIHRoZSB0ZXh0YXJlYS4gQHJlbWFya3MgVGhpcyBwcm9wZXJ0eSBpcyB1c2VkIHRvIGluZGljYXRlIHRoZSB2YWxpZGF0aW9uIHN0YXR1cyBvZiB0aGUgdGV4dGFyZWEuIEl0IGNhbiBiZSBzZXQgdG8gb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOlxuLSBgJ25vbmUnYDogTm8gdmFsaWRhdGlvbiBzdGF0dXMgaXMgc2V0LlxuLSBgJ2Vycm9yJ2A6IFRoZSB0ZXh0YXJlYSBoYXMgYSB2YWxpZGF0aW9uIGVycm9yLlxuLSBgJ3dhcm5pbmcnYDogVGhlIHRleHRhcmVhIGhhcyBhIHZhbGlkYXRpb24gd2FybmluZy5cbi0gYCdzdWNjZXNzJ2A6IFRoZSB0ZXh0YXJlYSBoYXMgcGFzc2VkIHZhbGlkYXRpb24uLEBkZWZhdWx0ICdub25lJ1xuICAgKi9cbiAgc2V0IHZhbGlkYXRpb25TdGF0dXMoXzogQ29tcG9uZW50cy5CcVRleHRhcmVhWyd2YWxpZGF0aW9uU3RhdHVzJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIHRleHRhcmVhLiBJdCBjYW4gYmUgdXNlZCB0byByZXNldCB0aGUgdGV4dGFyZWEgdG8gYSBwcmV2aW91cyB2YWx1ZS5cbiAgICovXG4gIHNldCB2YWx1ZShfOiBDb21wb25lbnRzLkJxVGV4dGFyZWFbJ3ZhbHVlJ10pIHt9O1xuICAgIC8qKlxuICAgKiBTcGVjaWZpZXMgaG93IHRoZSB0ZXh0IGluIGEgdGV4dCBhcmVhIGlzIHRvIGJlIHdyYXBwZWQgd2hlbiBzdWJtaXR0ZWQgaW4gYSBmb3JtIEBkZWZhdWx0ICdzb2Z0J1xuICAgKi9cbiAgc2V0IHdyYXAoXzogQ29tcG9uZW50cy5CcVRleHRhcmVhWyd3cmFwJ10pIHt9O1xuICBAT3V0cHV0KCkgYnFCbHVyID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFUZXh0YXJlYUVsZW1lbnQ+PigpO1xuICBAT3V0cHV0KCkgYnFDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdmFsdWU6IHN0cmluZzsgZWw6IEhUTUxCcVRleHRhcmVhRWxlbWVudCB9Pj4oKTtcbiAgQE91dHB1dCgpIGJxQ2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRleHRhcmVhRWxlbWVudD4+KCk7XG4gIEBPdXRwdXQoKSBicUZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFUZXh0YXJlYUVsZW1lbnQ+PigpO1xuICBAT3V0cHV0KCkgYnFJbnB1dCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nOyBlbDogSFRNTEJxVGV4dGFyZWFFbGVtZW50IH0+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcVRleHRhcmVhIGV4dGVuZHMgQ29tcG9uZW50cy5CcVRleHRhcmVhIHtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSB0ZXh0YXJlYSBsb3NlcyBmb2N1c1xuICAgKi9cbiAgYnFCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxVGV4dGFyZWFFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgdGV4dGFyZWEgdmFsdWUgaGFzIGNoYW5nZWQgYW5kIHRoZSB0ZXh0YXJlYSBsb3NlcyBmb2N1cy5cblRoaXMgaGFuZGxlciBpcyBjYWxsZWQgd2hlbmV2ZXIgdGhlIHVzZXIgZmluaXNoZXMgdHlwaW5nIG9yIHBhc3RpbmcgdGV4dCBpbnRvIHRoZSB0ZXh0YXJlYSBmaWVsZCBhbmQgdGhlbiBjbGlja3Mgb3V0c2lkZSBvZiB0aGUgdGV4dGFyZWEgZmllbGQuXG4gICAqL1xuICBicUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdmFsdWU6IHN0cmluZzsgZWw6IEhUTUxCcVRleHRhcmVhRWxlbWVudCB9Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgdGV4dGFyZWEgdmFsdWUgaGFzIGJlZW4gY2xlYXJlZFxuICAgKi9cbiAgYnFDbGVhcjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRleHRhcmVhRWxlbWVudD4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciBlbWl0dGVkIHdoZW4gdGhlIHRleHRhcmVhIGhhcyByZWNlaXZlZCBmb2N1c1xuICAgKi9cbiAgYnFGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRleHRhcmVhRWxlbWVudD4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciBlbWl0dGVkIHdoZW4gdGhlIHRleHRhcmVhIHZhbHVlIGNoYW5nZXMuXG5UaGlzIGhhbmRsZXIgaXMgY2FsbGVkIHdoZW5ldmVyIHRoZSB1c2VyIHR5cGVzIG9yIHBhc3RlcyB0ZXh0IGludG8gdGhlIHRleHRhcmVhIGZpZWxkLlxuICAgKi9cbiAgYnFJbnB1dDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdmFsdWU6IHN0cmluZzsgZWw6IEhUTUxCcVRleHRhcmVhRWxlbWVudCB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2JvcmRlcicsICdoaWRlSWNvbicsICdvcGVuJywgJ3BsYWNlbWVudCcsICd0aW1lJywgJ3R5cGUnXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2hpZGUnLCAndG9hc3QnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLXRvYXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydib3JkZXInLCAnaGlkZUljb24nLCAnb3BlbicsICdwbGFjZW1lbnQnLCAndGltZScsICd0eXBlJ10sXG4gIG91dHB1dHM6IFsnYnFIaWRlJywgJ2JxU2hvdyddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCcVRvYXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MQnFUb2FzdEVsZW1lbnQ7XG4gICAgLyoqXG4gICAqIFRoZSBjb3JkZXIgcmFkaXVzIG9mIHRoZSB0b2FzdCBjb21wb25lbnQgQGRlZmF1bHQgJ3MnXG4gICAqL1xuICBzZXQgYm9yZGVyKF86IENvbXBvbmVudHMuQnFUb2FzdFsnYm9yZGVyJ10pIHt9O1xuICAgIC8qKlxuICAgKiBUeXBlIG9mIHRvYXN0IEBkZWZhdWx0ICdpbmZvJ1xuICAgKi9cbiAgc2V0IHR5cGUoXzogQ29tcG9uZW50cy5CcVRvYXN0Wyd0eXBlJ10pIHt9O1xuICAgIC8qKlxuICAgKiBQbGFjZW1lbnQgb2YgdG9hc3QgQGRlZmF1bHQgJ2JvdHRvbS1jZW50ZXInXG4gICAqL1xuICBzZXQgcGxhY2VtZW50KF86IENvbXBvbmVudHMuQnFUb2FzdFsncGxhY2VtZW50J10pIHt9O1xuICAgIC8qKlxuICAgKiBJZiB0cnVlIHdpbGwgaGlkZSB0b2FzdCBpY29uIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgaGlkZUljb24oXzogQ29tcG9uZW50cy5CcVRvYXN0WydoaWRlSWNvbiddKSB7fTtcbiAgICAvKipcbiAgICogSWYgdHJ1ZSwgdGhlIHRvYXN0IHdpbGwgYmUgc2hvd25cbiAgICovXG4gIHNldCBvcGVuKF86IENvbXBvbmVudHMuQnFUb2FzdFsnb3BlbiddKSB7fTtcbiAgICAvKipcbiAgICogVGhlIGxlbmd0aCBvZiB0aW1lLCBpbiBtaWxsaXNlY29uZHMsIGFmdGVyIHdoaWNoIHRoZSB0b2FzdCB3aWxsIGNsb3NlIGl0c2VsZiBAZGVmYXVsdCAzMDAwXG4gICAqL1xuICBzZXQgdGltZShfOiBDb21wb25lbnRzLkJxVG9hc3RbJ3RpbWUnXSkge307XG4gIEBPdXRwdXQoKSBicUhpZGUgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRvYXN0RWxlbWVudD4+KCk7XG4gIEBPdXRwdXQoKSBicVNob3cgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRvYXN0RWxlbWVudD4+KCk7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxVG9hc3QgZXh0ZW5kcyBDb21wb25lbnRzLkJxVG9hc3Qge1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgbm90aWZpY2F0aW9uIGlzIGhpZGRlblxuICAgKi9cbiAgYnFIaWRlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxVG9hc3RFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBub3RpZmljYXRpb24gaXMgc2hvd25cbiAgICovXG4gIGJxU2hvdzogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRvYXN0RWxlbWVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbHdheXNWaXNpYmxlJywgJ2Rpc3BsYXlPbicsICdkaXN0YW5jZScsICdoaWRlQXJyb3cnLCAncGxhY2VtZW50JywgJ3NhbWVXaWR0aCcsICd2aXNpYmxlJ10sXG4gIG1ldGhvZHM6IFsnc2hvdycsICdoaWRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS10b29sdGlwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbHdheXNWaXNpYmxlJywgJ2Rpc3BsYXlPbicsICdkaXN0YW5jZScsICdoaWRlQXJyb3cnLCAncGxhY2VtZW50JywgJ3NhbWVXaWR0aCcsICd2aXNpYmxlJ10sXG4gIG91dHB1dHM6IFsnYnFDbGljaycsICdicUZvY3VzSW4nLCAnYnFGb2N1c091dCcsICdicUhvdmVySW4nLCAnYnFIb3Zlck91dCddLFxuICBzdGFuZGFsb25lOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBCcVRvb2x0aXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxCcVRvb2x0aXBFbGVtZW50O1xuICAgIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgdG9vbHRpcCB3aWxsIGFsd2F5cyBiZSB2aXNpYmxlIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgYWx3YXlzVmlzaWJsZShfOiBDb21wb25lbnRzLkJxVG9vbHRpcFsnYWx3YXlzVmlzaWJsZSddKSB7fTtcbiAgICAvKipcbiAgICogRGlzdGFuY2UgYmV0d2VlbiB0cmlnZ2VyIGVsZW1lbnQgYW5kIHRvb2x0aXAgQGRlZmF1bHQgMTBcbiAgICovXG4gIHNldCBkaXN0YW5jZShfOiBDb21wb25lbnRzLkJxVG9vbHRpcFsnZGlzdGFuY2UnXSkge307XG4gICAgLyoqXG4gICAqIElmIHRydWUsIHRoZSBhcnJvdyBvbiB0aGUgdG9vbHRpcCBjb250ZW50IHdvbid0IGJlIHNob3duIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgaGlkZUFycm93KF86IENvbXBvbmVudHMuQnFUb29sdGlwWydoaWRlQXJyb3cnXSkge307XG4gICAgLyoqXG4gICAqICBAZGVmYXVsdCAndG9wJ1xuICAgKi9cbiAgc2V0IHBsYWNlbWVudChfOiBDb21wb25lbnRzLkJxVG9vbHRpcFsncGxhY2VtZW50J10pIHt9O1xuICAgIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB0b29sdGlwIHNob3VsZCBoYXZlIHRoZSBzYW1lIHdpZHRoIGFzIHRoZSB0cmlnZ2VyIGVsZW1lbnRcbihhcHBsaWNhYmxlIG9ubHkgZm9yIGNvbnRlbnQgc2hvcnRlciB0aGFuIHRoZSB0cmlnZ2VyIGVsZW1lbnQpIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBzZXQgc2FtZVdpZHRoKF86IENvbXBvbmVudHMuQnFUb29sdGlwWydzYW1lV2lkdGgnXSkge307XG4gICAgLyoqXG4gICAqIFNldCB0aGUgYWN0aW9uIHdoZW4gdGhlIHRvb2x0aXAgc2hvdWxkIGJlIGRpc3BsYXllZCwgb24gaG92ZXIgKGRlZmF1bHQpIG9yIGNsaWNrIEBkZWZhdWx0ICdob3ZlcidcbiAgICovXG4gIHNldCBkaXNwbGF5T24oXzogQ29tcG9uZW50cy5CcVRvb2x0aXBbJ2Rpc3BsYXlPbiddKSB7fTtcbiAgICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgb3Igbm90IHRoZSB0b29sdGlwIGlzIHZpc2libGUgd2hlbiB0aGUgY29tcG9uZW50IGlzIGZpcnN0IHJlbmRlcmVkLFxuYW5kIHdoZW4gaW50ZXJhY3Rpbmcgd2l0aCB0aGUgdHJpZ2dlciBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgc2V0IHZpc2libGUoXzogQ29tcG9uZW50cy5CcVRvb2x0aXBbJ3Zpc2libGUnXSkge307XG4gIEBPdXRwdXQoKSBicUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFUb29sdGlwRWxlbWVudD4+KCk7XG4gIEBPdXRwdXQoKSBicUZvY3VzSW4gPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRvb2x0aXBFbGVtZW50Pj4oKTtcbiAgQE91dHB1dCgpIGJxRm9jdXNPdXQgPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRvb2x0aXBFbGVtZW50Pj4oKTtcbiAgQE91dHB1dCgpIGJxSG92ZXJJbiA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxVG9vbHRpcEVsZW1lbnQ+PigpO1xuICBAT3V0cHV0KCkgYnFIb3Zlck91dCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxVG9vbHRpcEVsZW1lbnQ+PigpO1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcVRvb2x0aXAgZXh0ZW5kcyBDb21wb25lbnRzLkJxVG9vbHRpcCB7XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHRvb2x0aXAgdHJpZ2dlciBpcyBjbGlja2VkXG4gICAqL1xuICBicUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxVG9vbHRpcEVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgdG9vbHRpcCB0cmlnZ2VyIGlzIGZvY3VzZWQgaW5cbiAgICovXG4gIGJxRm9jdXNJbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRvb2x0aXBFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHRvb2x0aXAgdHJpZ2dlciBpcyBmb2N1c2VkIG91dFxuICAgKi9cbiAgYnFGb2N1c091dDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRvb2x0aXBFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHRvb2x0aXAgdHJpZ2dlciBpcyBob3ZlcmVkIGluXG4gICAqL1xuICBicUhvdmVySW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFUb29sdGlwRWxlbWVudD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSB0b29sdGlwIHRyaWdnZXIgaXMgaG92ZXJlZCBvdXRcbiAgICovXG4gIGJxSG92ZXJPdXQ6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFUb29sdGlwRWxlbWVudD4+O1xufVxuXG5cbiJdfQ==","import * as d from './components';\nexport const DIRECTIVES = [\n d.BqAccordion,\n d.BqAccordionGroup,\n d.BqAlert,\n d.BqAvatar,\n d.BqBadge,\n d.BqBreadcrumb,\n d.BqBreadcrumbItem,\n d.BqButton,\n d.BqCard,\n d.BqCheckbox,\n d.BqDatePicker,\n d.BqDialog,\n d.BqDivider,\n d.BqDrawer,\n d.BqDropdown,\n d.BqEmptyState,\n d.BqIcon,\n d.BqInput,\n d.BqNotification,\n d.BqOption,\n d.BqOptionGroup,\n d.BqOptionList,\n d.BqPageTitle,\n d.BqPanel,\n d.BqProgress,\n d.BqRadio,\n d.BqRadioGroup,\n d.BqSelect,\n d.BqSideMenu,\n d.BqSideMenuItem,\n d.BqSlider,\n d.BqSpinner,\n d.BqStatus,\n d.BqStepItem,\n d.BqSteps,\n d.BqSwitch,\n d.BqTab,\n d.BqTabGroup,\n d.BqTag,\n d.BqTextarea,\n d.BqToast,\n d.BqTooltip\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9iZWVxLWFuZ3VsYXIvc3JjL2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLENBQUMsTUFBTSxjQUFjLENBQUM7QUFFbEMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLENBQUMsQ0FBQyxXQUFXO0lBQ2IsQ0FBQyxDQUFDLGdCQUFnQjtJQUNsQixDQUFDLENBQUMsT0FBTztJQUNULENBQUMsQ0FBQyxRQUFRO0lBQ1YsQ0FBQyxDQUFDLE9BQU87SUFDVCxDQUFDLENBQUMsWUFBWTtJQUNkLENBQUMsQ0FBQyxnQkFBZ0I7SUFDbEIsQ0FBQyxDQUFDLFFBQVE7SUFDVixDQUFDLENBQUMsTUFBTTtJQUNSLENBQUMsQ0FBQyxVQUFVO0lBQ1osQ0FBQyxDQUFDLFlBQVk7SUFDZCxDQUFDLENBQUMsUUFBUTtJQUNWLENBQUMsQ0FBQyxTQUFTO0lBQ1gsQ0FBQyxDQUFDLFFBQVE7SUFDVixDQUFDLENBQUMsVUFBVTtJQUNaLENBQUMsQ0FBQyxZQUFZO0lBQ2QsQ0FBQyxDQUFDLE1BQU07SUFDUixDQUFDLENBQUMsT0FBTztJQUNULENBQUMsQ0FBQyxjQUFjO0lBQ2hCLENBQUMsQ0FBQyxRQUFRO0lBQ1YsQ0FBQyxDQUFDLGFBQWE7SUFDZixDQUFDLENBQUMsWUFBWTtJQUNkLENBQUMsQ0FBQyxXQUFXO0lBQ2IsQ0FBQyxDQUFDLE9BQU87SUFDVCxDQUFDLENBQUMsVUFBVTtJQUNaLENBQUMsQ0FBQyxPQUFPO0lBQ1QsQ0FBQyxDQUFDLFlBQVk7SUFDZCxDQUFDLENBQUMsUUFBUTtJQUNWLENBQUMsQ0FBQyxVQUFVO0lBQ1osQ0FBQyxDQUFDLGNBQWM7SUFDaEIsQ0FBQyxDQUFDLFFBQVE7SUFDVixDQUFDLENBQUMsU0FBUztJQUNYLENBQUMsQ0FBQyxRQUFRO0lBQ1YsQ0FBQyxDQUFDLFVBQVU7SUFDWixDQUFDLENBQUMsT0FBTztJQUNULENBQUMsQ0FBQyxRQUFRO0lBQ1YsQ0FBQyxDQUFDLEtBQUs7SUFDUCxDQUFDLENBQUMsVUFBVTtJQUNaLENBQUMsQ0FBQyxLQUFLO0lBQ1AsQ0FBQyxDQUFDLFVBQVU7SUFDWixDQUFDLENBQUMsT0FBTztJQUNULENBQUMsQ0FBQyxTQUFTO0NBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0ICogYXMgZCBmcm9tICcuL2NvbXBvbmVudHMnO1xuXG5leHBvcnQgY29uc3QgRElSRUNUSVZFUyA9IFtcbiAgZC5CcUFjY29yZGlvbixcbiAgZC5CcUFjY29yZGlvbkdyb3VwLFxuICBkLkJxQWxlcnQsXG4gIGQuQnFBdmF0YXIsXG4gIGQuQnFCYWRnZSxcbiAgZC5CcUJyZWFkY3J1bWIsXG4gIGQuQnFCcmVhZGNydW1iSXRlbSxcbiAgZC5CcUJ1dHRvbixcbiAgZC5CcUNhcmQsXG4gIGQuQnFDaGVja2JveCxcbiAgZC5CcURhdGVQaWNrZXIsXG4gIGQuQnFEaWFsb2csXG4gIGQuQnFEaXZpZGVyLFxuICBkLkJxRHJhd2VyLFxuICBkLkJxRHJvcGRvd24sXG4gIGQuQnFFbXB0eVN0YXRlLFxuICBkLkJxSWNvbixcbiAgZC5CcUlucHV0LFxuICBkLkJxTm90aWZpY2F0aW9uLFxuICBkLkJxT3B0aW9uLFxuICBkLkJxT3B0aW9uR3JvdXAsXG4gIGQuQnFPcHRpb25MaXN0LFxuICBkLkJxUGFnZVRpdGxlLFxuICBkLkJxUGFuZWwsXG4gIGQuQnFQcm9ncmVzcyxcbiAgZC5CcVJhZGlvLFxuICBkLkJxUmFkaW9Hcm91cCxcbiAgZC5CcVNlbGVjdCxcbiAgZC5CcVNpZGVNZW51LFxuICBkLkJxU2lkZU1lbnVJdGVtLFxuICBkLkJxU2xpZGVyLFxuICBkLkJxU3Bpbm5lcixcbiAgZC5CcVN0YXR1cyxcbiAgZC5CcVN0ZXBJdGVtLFxuICBkLkJxU3RlcHMsXG4gIGQuQnFTd2l0Y2gsXG4gIGQuQnFUYWIsXG4gIGQuQnFUYWJHcm91cCxcbiAgZC5CcVRhZyxcbiAgZC5CcVRleHRhcmVhLFxuICBkLkJxVG9hc3QsXG4gIGQuQnFUb29sdGlwXG5dO1xuIl19","// @ts-nocheck\n/**\n * The directives folder containing the value accessors is generated dynamically\n * when compiling the `beeq` package.\n * ⚠️ Since this file won't change that much, it is safe to disable TypeScript checking.\n */\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport { APP_INITIALIZER, NgModule, NgZone } from '@angular/core';\nimport { defineCustomElements } from '@beeq/core/dist/loader';\nimport { DIRECTIVES } from './directives';\nimport { BooleanValueAccessor } from './directives/boolean-value-accessor';\nimport { NumericValueAccessor } from './directives/number-value-accessor';\nimport { RadioValueAccessor } from './directives/radio-value-accessor';\nimport { SelectValueAccessor } from './directives/select-value-accessor';\nimport { TextValueAccessor } from './directives/text-value-accessor';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./directives/components\";\nconst DECLARATIONS = [\n ...DIRECTIVES,\n // ngModel Accessors\n BooleanValueAccessor,\n NumericValueAccessor,\n RadioValueAccessor,\n SelectValueAccessor,\n TextValueAccessor,\n];\nexport class BeeQModule {\n static forRoot() {\n return {\n ngModule: BeeQModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: () => defineCustomElements,\n multi: true,\n deps: [DOCUMENT, NgZone],\n },\n ],\n };\n }\n /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BeeQModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.7\", ngImport: i0, type: BeeQModule, declarations: [i1.BqAccordion, i1.BqAccordionGroup, i1.BqAlert, i1.BqAvatar, i1.BqBadge, i1.BqBreadcrumb, i1.BqBreadcrumbItem, i1.BqButton, i1.BqCard, i1.BqCheckbox, i1.BqDatePicker, i1.BqDialog, i1.BqDivider, i1.BqDrawer, i1.BqDropdown, i1.BqEmptyState, i1.BqIcon, i1.BqInput, i1.BqNotification, i1.BqOption, i1.BqOptionGroup, i1.BqOptionList, i1.BqPageTitle, i1.BqPanel, i1.BqProgress, i1.BqRadio, i1.BqRadioGroup, i1.BqSelect, i1.BqSideMenu, i1.BqSideMenuItem, i1.BqSlider, i1.BqSpinner, i1.BqStatus, i1.BqStepItem, i1.BqSteps, i1.BqSwitch, i1.BqTab, i1.BqTabGroup, i1.BqTag, i1.BqTextarea, i1.BqToast, i1.BqTooltip, \n // ngModel Accessors\n BooleanValueAccessor,\n NumericValueAccessor,\n RadioValueAccessor,\n SelectValueAccessor,\n TextValueAccessor], imports: [CommonModule], exports: [i1.BqAccordion, i1.BqAccordionGroup, i1.BqAlert, i1.BqAvatar, i1.BqBadge, i1.BqBreadcrumb, i1.BqBreadcrumbItem, i1.BqButton, i1.BqCard, i1.BqCheckbox, i1.BqDatePicker, i1.BqDialog, i1.BqDivider, i1.BqDrawer, i1.BqDropdown, i1.BqEmptyState, i1.BqIcon, i1.BqInput, i1.BqNotification, i1.BqOption, i1.BqOptionGroup, i1.BqOptionList, i1.BqPageTitle, i1.BqPanel, i1.BqProgress, i1.BqRadio, i1.BqRadioGroup, i1.BqSelect, i1.BqSideMenu, i1.BqSideMenuItem, i1.BqSlider, i1.BqSpinner, i1.BqStatus, i1.BqStepItem, i1.BqSteps, i1.BqSwitch, i1.BqTab, i1.BqTabGroup, i1.BqTag, i1.BqTextarea, i1.BqToast, i1.BqTooltip, \n // ngModel Accessors\n BooleanValueAccessor,\n NumericValueAccessor,\n RadioValueAccessor,\n SelectValueAccessor,\n TextValueAccessor] }); }\n /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BeeQModule, imports: [CommonModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: BeeQModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n declarations: DECLARATIONS,\n exports: DECLARATIONS,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVlcS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9iZWVxLWFuZ3VsYXIvc3JjL2JlZXEubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWM7QUFFZDs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUF1QixRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7OztBQUVyRSxNQUFNLFlBQVksR0FBRztJQUNuQixHQUFHLFVBQVU7SUFDYixvQkFBb0I7SUFDcEIsb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGlCQUFpQjtDQUNsQixDQUFDO0FBT0YsTUFBTSxPQUFPLFVBQVU7SUFDckIsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLFVBQVU7WUFDcEIsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxlQUFlO29CQUN4QixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsb0JBQW9CO29CQUN0QyxLQUFLLEVBQUUsSUFBSTtvQkFDWCxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDO2lCQUN6QjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7aUlBYlUsVUFBVTtrSUFBVixVQUFVO1lBYnJCLG9CQUFvQjtZQUNwQixvQkFBb0I7WUFDcEIsb0JBQW9CO1lBQ3BCLGtCQUFrQjtZQUNsQixtQkFBbUI7WUFDbkIsaUJBQWlCLGFBSVAsWUFBWTtZQVR0QixvQkFBb0I7WUFDcEIsb0JBQW9CO1lBQ3BCLG9CQUFvQjtZQUNwQixrQkFBa0I7WUFDbEIsbUJBQW1CO1lBQ25CLGlCQUFpQjtrSUFRTixVQUFVLFlBSlgsWUFBWTs7MkZBSVgsVUFBVTtrQkFMdEIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRSxZQUFZO29CQUMxQixPQUFPLEVBQUUsWUFBWTtpQkFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtbm9jaGVja1xuXG4vKipcbiAqIFRoZSBkaXJlY3RpdmVzIGZvbGRlciBjb250YWluaW5nIHRoZSB2YWx1ZSBhY2Nlc3NvcnMgaXMgZ2VuZXJhdGVkIGR5bmFtaWNhbGx5XG4gKiB3aGVuIGNvbXBpbGluZyB0aGUgYGJlZXFgIHBhY2thZ2UuXG4gKiDimqDvuI8gU2luY2UgdGhpcyBmaWxlIHdvbid0IGNoYW5nZSB0aGF0IG11Y2gsIGl0IGlzIHNhZmUgdG8gZGlzYWJsZSBUeXBlU2NyaXB0IGNoZWNraW5nLlxuICovXG5cbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50cyB9IGZyb20gJ0BiZWVxL2NvcmUvZGlzdC9sb2FkZXInO1xuXG5pbXBvcnQgeyBESVJFQ1RJVkVTIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IEJvb2xlYW5WYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Jvb2xlYW4tdmFsdWUtYWNjZXNzb3InO1xuaW1wb3J0IHsgTnVtZXJpY1ZhbHVlQWNjZXNzb3IgfSBmcm9tICcuL2RpcmVjdGl2ZXMvbnVtYmVyLXZhbHVlLWFjY2Vzc29yJztcbmltcG9ydCB7IFJhZGlvVmFsdWVBY2Nlc3NvciB9IGZyb20gJy4vZGlyZWN0aXZlcy9yYWRpby12YWx1ZS1hY2Nlc3Nvcic7XG5pbXBvcnQgeyBTZWxlY3RWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NlbGVjdC12YWx1ZS1hY2Nlc3Nvcic7XG5pbXBvcnQgeyBUZXh0VmFsdWVBY2Nlc3NvciB9IGZyb20gJy4vZGlyZWN0aXZlcy90ZXh0LXZhbHVlLWFjY2Vzc29yJztcblxuY29uc3QgREVDTEFSQVRJT05TID0gW1xuICAuLi5ESVJFQ1RJVkVTLFxuICAvLyBuZ01vZGVsIEFjY2Vzc29yc1xuICBCb29sZWFuVmFsdWVBY2Nlc3NvcixcbiAgTnVtZXJpY1ZhbHVlQWNjZXNzb3IsXG4gIFJhZGlvVmFsdWVBY2Nlc3NvcixcbiAgU2VsZWN0VmFsdWVBY2Nlc3NvcixcbiAgVGV4dFZhbHVlQWNjZXNzb3IsXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBERUNMQVJBVElPTlMsXG4gIGV4cG9ydHM6IERFQ0xBUkFUSU9OUyxcbn0pXG5leHBvcnQgY2xhc3MgQmVlUU1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QmVlUU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQmVlUU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IGRlZmluZUN1c3RvbUVsZW1lbnRzLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgIGRlcHM6IFtET0NVTUVOVCwgTmdab25lXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxufVxuIl19","// @ts-nocheck\n/**\n * The directives folder containing the value accessors is generated dynamically\n * when compiling the `beeq` package.\n * ⚠️ Since this file won't change that much, it is safe to disable TypeScript checking.\n */\n/* -------------------------------------------------------------------------- */\n/* DIRECTIVES */\n/* -------------------------------------------------------------------------- */\nexport { BooleanValueAccessor } from './directives/boolean-value-accessor';\nexport { NumericValueAccessor } from './directives/number-value-accessor';\nexport { RadioValueAccessor } from './directives/radio-value-accessor';\nexport { SelectValueAccessor } from './directives/select-value-accessor';\nexport { TextValueAccessor } from './directives/text-value-accessor';\nexport * from './directives/components';\n/* -------------------------------------------------------------------------- */\n/* PACKAGE MODULE */\n/* -------------------------------------------------------------------------- */\nexport { BeeQModule } from './beeq.module';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9iZWVxLWFuZ3VsYXIvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWM7QUFFZDs7OztHQUlHO0FBRUgsZ0ZBQWdGO0FBQ2hGLGdGQUFnRjtBQUNoRixnRkFBZ0Y7QUFFaEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDM0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFckUsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxnRkFBZ0Y7QUFDaEYsZ0ZBQWdGO0FBQ2hGLGdGQUFnRjtBQUVoRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLW5vY2hlY2tcblxuLyoqXG4gKiBUaGUgZGlyZWN0aXZlcyBmb2xkZXIgY29udGFpbmluZyB0aGUgdmFsdWUgYWNjZXNzb3JzIGlzIGdlbmVyYXRlZCBkeW5hbWljYWxseVxuICogd2hlbiBjb21waWxpbmcgdGhlIGBiZWVxYCBwYWNrYWdlLlxuICog4pqg77iPIFNpbmNlIHRoaXMgZmlsZSB3b24ndCBjaGFuZ2UgdGhhdCBtdWNoLCBpdCBpcyBzYWZlIHRvIGRpc2FibGUgVHlwZVNjcmlwdCBjaGVja2luZy5cbiAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBESVJFQ1RJVkVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmV4cG9ydCB7IEJvb2xlYW5WYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Jvb2xlYW4tdmFsdWUtYWNjZXNzb3InO1xuZXhwb3J0IHsgTnVtZXJpY1ZhbHVlQWNjZXNzb3IgfSBmcm9tICcuL2RpcmVjdGl2ZXMvbnVtYmVyLXZhbHVlLWFjY2Vzc29yJztcbmV4cG9ydCB7IFJhZGlvVmFsdWVBY2Nlc3NvciB9IGZyb20gJy4vZGlyZWN0aXZlcy9yYWRpby12YWx1ZS1hY2Nlc3Nvcic7XG5leHBvcnQgeyBTZWxlY3RWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NlbGVjdC12YWx1ZS1hY2Nlc3Nvcic7XG5leHBvcnQgeyBUZXh0VmFsdWVBY2Nlc3NvciB9IGZyb20gJy4vZGlyZWN0aXZlcy90ZXh0LXZhbHVlLWFjY2Vzc29yJztcblxuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2NvbXBvbmVudHMnO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEFDS0FHRSBNT0RVTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmV4cG9ydCB7IEJlZVFNb2R1bGUgfSBmcm9tICcuL2JlZXEubW9kdWxlJztcbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVlcS1hbmd1bGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvYmVlcS1hbmd1bGFyL3NyYy9iZWVxLWFuZ3VsYXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["d.BqAccordion","d.BqAccordionGroup","d.BqAlert","d.BqAvatar","d.BqBadge","d.BqBreadcrumb","d.BqBreadcrumbItem","d.BqButton","d.BqCard","d.BqCheckbox","d.BqDatePicker","d.BqDialog","d.BqDivider","d.BqDrawer","d.BqDropdown","d.BqEmptyState","d.BqIcon","d.BqInput","d.BqNotification","d.BqOption","d.BqOptionGroup","d.BqOptionList","d.BqPageTitle","d.BqPanel","d.BqProgress","d.BqRadio","d.BqRadioGroup","d.BqSelect","d.BqSideMenu","d.BqSideMenuItem","d.BqSlider","d.BqSpinner","d.BqStatus","d.BqStepItem","d.BqSteps","d.BqSwitch","d.BqTab","d.BqTabGroup","d.BqTag","d.BqTextarea","d.BqToast","d.BqTooltip","i1.BqAccordion","i1.BqAccordionGroup","i1.BqAlert","i1.BqAvatar","i1.BqBadge","i1.BqBreadcrumb","i1.BqBreadcrumbItem","i1.BqButton","i1.BqCard","i1.BqCheckbox","i1.BqDatePicker","i1.BqDialog","i1.BqDivider","i1.BqDrawer","i1.BqDropdown","i1.BqEmptyState","i1.BqIcon","i1.BqInput","i1.BqNotification","i1.BqOption","i1.BqOptionGroup","i1.BqOptionList","i1.BqPageTitle","i1.BqPanel","i1.BqProgress","i1.BqRadio","i1.BqRadioGroup","i1.BqSelect","i1.BqSideMenu","i1.BqSideMenuItem","i1.BqSlider","i1.BqSpinner","i1.BqStatus","i1.BqStepItem","i1.BqSteps","i1.BqSwitch","i1.BqTab","i1.BqTabGroup","i1.BqTag","i1.BqTextarea","i1.BqToast","i1.BqTooltip"],"mappings":";;;;;;;;AAEO,MAAM,aAAa,CAAC;AAC3B,IAAI,WAAW,CAAC,EAAE,EAAE;AACpB,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE;AACpB,QAAQ,IAAI,CAAC,QAAQ,GAAG,MAAM,EAAE,CAAC;AACjC,QAAQ,IAAI,CAAC,SAAS,GAAG,MAAM,EAAE,CAAC;AAClC,IAAI;AACJ,IAAI,UAAU,CAAC,KAAK,EAAE;AACtB,QAAQ,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK,IAAI,IAAI,GAAG,EAAE,GAAG,KAAK;AACjF,IAAI;AACJ,IAAI,iBAAiB,CAAC,KAAK,EAAE;AAC7B,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE;AACtC,YAAY,IAAI,CAAC,SAAS,GAAG,KAAK;AAClC,YAAY,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AAChC,QAAQ;AACR,IAAI;AACJ,IAAI,gBAAgB,GAAG;AACvB,QAAQ,IAAI,CAAC,SAAS,EAAE;AACxB,IAAI;AACJ,IAAI,gBAAgB,CAAC,EAAE,EAAE;AACzB,QAAQ,IAAI,CAAC,QAAQ,GAAG,EAAE;AAC1B,IAAI;AACJ,IAAI,iBAAiB,CAAC,EAAE,EAAE;AAC1B,QAAQ,IAAI,CAAC,SAAS,GAAG,EAAE;AAC3B,IAAI;AACJ,IAAI,gBAAgB,CAAC,UAAU,EAAE;AACjC,QAAQ,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,GAAG,UAAU;AACnD,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC1N,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,oBAAoB,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AACnO;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AACvH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE;AACrB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,gBAAgB,EAAE,CAAC;AAClG,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,IAAI,EAAE,CAAC,UAAU;AACjC,aAAa,CAAC,EAAE,EAAE,CAAC;;AClCZ,MAAM,oBAAoB,SAAS,aAAa,CAAC;AACxD,IAAI,WAAW,CAAC,EAAE,EAAE;AACpB,QAAQ,KAAK,CAAC,EAAE,CAAC;AACjB,IAAI;AACJ,IAAI,UAAU,CAAC,KAAK,EAAE;AACtB,QAAQ,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,KAAK;AACtF,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACjO,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,wBAAwB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,iDAAiD,EAAE,EAAE,EAAE,SAAS,EAAE;AACvS,YAAY;AACZ,gBAAgB,OAAO,EAAE,iBAAiB;AAC1C,gBAAgB,WAAW,EAAE,oBAAoB;AACjD,gBAAgB,KAAK,EAAE;AACvB;AACA,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AAClD;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC;AAC9H,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB;AACA,oBAAoB,QAAQ,EAAE,wBAAwB;AACtD,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,YAAY,EAAE;AACtC,qBAAqB;AACrB,oBAAoB,SAAS,EAAE;AAC/B,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,iBAAiB;AACtD,4BAA4B,WAAW,EAAE,oBAAoB;AAC7D,4BAA4B,KAAK,EAAE;AACnC;AACA,qBAAqB;AACrB,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;;ACjCvD,MAAM,oBAAoB,SAAS,aAAa,CAAC;AACxD,IAAI,WAAW,CAAC,EAAE,EAAE;AACpB,QAAQ,KAAK,CAAC,EAAE,CAAC;AACjB,IAAI;AACJ,IAAI,gBAAgB,CAAC,EAAE,EAAE;AACzB,QAAQ,KAAK,CAAC,gBAAgB,CAAC,KAAK,IAAI;AACxC,YAAY,EAAE,CAAC,KAAK,KAAK,EAAE,GAAG,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AACvD,QAAQ,CAAC,CAAC;AACV,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACjO,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,0DAA0D,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,+CAA+C,EAAE,EAAE,EAAE,SAAS,EAAE;AACvU,YAAY;AACZ,gBAAgB,OAAO,EAAE,iBAAiB;AAC1C,gBAAgB,WAAW,EAAE,oBAAoB;AACjD,gBAAgB,KAAK,EAAE;AACvB;AACA,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AAClD;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC;AAC9H,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB;AACA,oBAAoB,QAAQ,EAAE,sDAAsD;AACpF,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,YAAY,EAAE;AACtC,qBAAqB;AACrB,oBAAoB,SAAS,EAAE;AAC/B,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,iBAAiB;AACtD,4BAA4B,WAAW,EAAE,oBAAoB;AAC7D,4BAA4B,KAAK,EAAE;AACnC;AACA,qBAAqB;AACrB,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;;ACnCvD,MAAM,kBAAkB,SAAS,aAAa,CAAC;AACtD,IAAI,WAAW,CAAC,EAAE,EAAE;AACpB,QAAQ,KAAK,CAAC,EAAE,CAAC;AACjB,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC/N,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,+CAA+C,EAAE,EAAE,EAAE,SAAS,EAAE;AAC3R,YAAY;AACZ,gBAAgB,OAAO,EAAE,iBAAiB;AAC1C,gBAAgB,WAAW,EAAE,kBAAkB;AAC/C,gBAAgB,KAAK,EAAE;AACvB;AACA,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AAClD;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC;AAC5H,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB;AACA,oBAAoB,QAAQ,EAAE,gBAAgB;AAC9C,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,YAAY,EAAE;AACtC,qBAAqB;AACrB,oBAAoB,SAAS,EAAE;AAC/B,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,iBAAiB;AACtD,4BAA4B,WAAW,EAAE,kBAAkB;AAC3D,4BAA4B,KAAK,EAAE;AACnC;AACA,qBAAqB;AACrB,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;;AC9BvD,MAAM,mBAAmB,SAAS,aAAa,CAAC;AACvD,IAAI,WAAW,CAAC,EAAE,EAAE;AACpB,QAAQ,KAAK,CAAC,EAAE,CAAC;AACjB,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAChO,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,+CAA+C,EAAE,EAAE,EAAE,SAAS,EAAE;AACvR,YAAY;AACZ,gBAAgB,OAAO,EAAE,iBAAiB;AAC1C,gBAAgB,WAAW,EAAE,mBAAmB;AAChD,gBAAgB,KAAK,EAAE;AACvB;AACA,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AAClD;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,CAAC;AAC7H,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB;AACA,oBAAoB,QAAQ,EAAE,WAAW;AACzC,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,YAAY,EAAE;AACtC,qBAAqB;AACrB,oBAAoB,SAAS,EAAE;AAC/B,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,iBAAiB;AACtD,4BAA4B,WAAW,EAAE,mBAAmB;AAC5D,4BAA4B,KAAK,EAAE;AACnC;AACA,qBAAqB;AACrB,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;;AC9BvD,MAAM,iBAAiB,SAAS,aAAa,CAAC;AACrD,IAAI,WAAW,CAAC,EAAE,EAAE;AACpB,QAAQ,KAAK,CAAC,EAAE,CAAC;AACjB,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC9N,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,uFAAuF,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,+CAA+C,EAAE,EAAE,EAAE,SAAS,EAAE;AACjW,YAAY;AACZ,gBAAgB,OAAO,EAAE,iBAAiB;AAC1C,gBAAgB,WAAW,EAAE,iBAAiB;AAC9C,gBAAgB,KAAK,EAAE;AACvB;AACA,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AAClD;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC;AAC3H,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB;AACA,oBAAoB,QAAQ,EAAE,mFAAmF;AACjH,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,YAAY,EAAE;AACtC,qBAAqB;AACrB,oBAAoB,SAAS,EAAE;AAC/B,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,iBAAiB;AACtD,4BAA4B,WAAW,EAAE,iBAAiB;AAC1D,4BAA4B,KAAK,EAAE;AACnC;AACA,qBAAqB;AACrB,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;;AClC9D;AACA;AAEO,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK;AAC5C,IAAI,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS;AACnC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AAC7B,QAAQ,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,EAAE;AAC/C,YAAY,GAAG,GAAG;AAClB,gBAAgB,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;AACpC,YAAY,CAAC;AACb,YAAY,GAAG,CAAC,GAAG,EAAE;AACrB,gBAAgB,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;AACrE,YAAY,CAAC;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,YAAY,EAAE,IAAI;AAC9B,SAAS,CAAC;AACV,IAAI,CAAC,CAAC;AACN,CAAC;AACM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK;AAC9C,IAAI,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS;AACnC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU,KAAK;AACpC,QAAQ,SAAS,CAAC,UAAU,CAAC,GAAG,YAAY;AAC5C,YAAY,MAAM,IAAI,GAAG,SAAS;AAClC,YAAY,OAAO,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAC3F,QAAQ,CAAC;AACT,IAAI,CAAC,CAAC;AACN,CAAC;AACM,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,KAAK;AACtD,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,MAAM,QAAQ,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;AACnF,CAAC;AACM,MAAM,mBAAmB,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK;AAC/D,IAAI,IAAI,aAAa,KAAK,SAAS,IAAI,OAAO,cAAc,KAAK,WAAW,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;AAC9G,QAAQ,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC;AACrD,IAAI;AACJ,CAAC;AACD;AACO,SAAS,QAAQ,CAAC,IAAI,EAAE;AAC/B,IAAI,MAAM,SAAS,GAAG,UAAU,GAAG,EAAE;AACrC,QAAQ,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI;AAC/D,QAAQ,IAAI,qBAAqB,KAAK,SAAS,EAAE;AACjD,YAAY,qBAAqB,EAAE;AACnC,QAAQ;AACR,QAAQ,IAAI,MAAM,EAAE;AACpB,YAAY,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC;AACpC,QAAQ;AACR,QAAQ,IAAI,OAAO,EAAE;AACrB,YAAY,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC;AACtC,QAAQ;AACR,QAAQ,OAAO,GAAG;AAClB,IAAI,CAAC;AACL,IAAI,OAAO,SAAS;AACpB;;ACnDG,IAAC,WAAW,GAAG,MAAM,WAAW,CAAC;AACpC;AACA;AACA;AACA,IAAI,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE;AACxB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE;AACzB;AACA;AACA;AACA;AACA,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE;AACpB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,YAAY,EAAE;AAC7C,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,EAAE;AAC9C,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC/Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACjmB;AACA,WAAW,GAAG,UAAU,CAAC;AACzB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM;AACtF,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,WAAW,CAAC;AAEf,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACrH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,cAAc;AAC5C,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC;AACnG,oBAAoB,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,CAAC;AACjH,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC;AAC7I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;AACzB,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;AAC9B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;AAC/B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,gBAAgB,GAAG,MAAM,gBAAgB,CAAC;AAC9C;AACA;AACA;AACA,IAAI,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE;AACxB;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE;AACzB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACpR,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACrb;AACA,gBAAgB,GAAG,UAAU,CAAC;AAC9B,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM;AAC7E,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,gBAAgB,CAAC;AAEpB,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;AAC1H,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,oBAAoB;AAClD,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC;AAC1F,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;AAChH,IAAC,OAAO,GAAG,MAAM,OAAO,CAAC;AAC5B;AACA;AACA;AACA,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE;AACzB;AACA;AACA;AACA;AACA,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE;AACpB;AACA;AACA;AACA;AACA,IAAI,IAAI,YAAY,CAAC,CAAC,EAAE,EAAE;AAC1B;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE;AACpB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,YAAY,EAAE;AAC7C,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,YAAY,EAAE;AAC7C,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC3Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACvjB;AACA,OAAO,GAAG,UAAU,CAAC;AACrB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;AACvG,QAAQ,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM;AAChC,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,OAAO,CAAC;AAEX,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,UAAU;AACxC,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;AACnH,oBAAoB,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,CAAC;AAC/E,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC;AAC7I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;AACzB,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;AAC9B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;AAC9B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC;AAC9B;AACA;AACA;AACA,IAAI,IAAI,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE;AACnB;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE;AACnB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE;AACnB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC5Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AAC1Z;AACA,QAAQ,GAAG,UAAU,CAAC;AACtB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;AACzE,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,QAAQ,CAAC;AAEZ,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,WAAW;AACzC,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC;AACtF,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;AAChH,IAAC,OAAO,GAAG,MAAM,OAAO,CAAC;AAC5B;AACA;AACA;AACA,IAAI,IAAI,eAAe,CAAC,CAAC,EAAE,EAAE;AAC7B;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC3Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AAC1X;AACA,OAAO,GAAG,UAAU,CAAC;AACrB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,iBAAiB,EAAE,MAAM,EAAE,WAAW;AACvD,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,OAAO,CAAC;AAEX,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,UAAU;AACxC,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,iBAAiB,EAAE,MAAM,EAAE,WAAW,CAAC;AACpE,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;AAChH,IAAC,YAAY,GAAG,MAAM,YAAY,CAAC;AACtC;AACA;AACA;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE;AACnB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAChR,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AAC1U;AACA,YAAY,GAAG,UAAU,CAAC;AAC1B,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,OAAO;AACxB,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,YAAY,CAAC;AAEhB,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AACtH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,eAAe;AAC7C,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,OAAO,CAAC;AACrC,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;AAChH,IAAC,gBAAgB,GAAG,MAAM,gBAAgB,CAAC;AAC9C;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE;AACpB;AACA;AACA;AACA;AACA,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE;AACjB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACpR,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACtb;AACA,gBAAgB,GAAG,UAAU,CAAC;AAC9B,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ;AACxC,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,gBAAgB,CAAC;AAEpB,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;AAC1H,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,oBAAoB;AAClD,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC;AACrD,oBAAoB,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;AAC7D,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC;AAC7I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC;AAC9B;AACA;AACA;AACA,IAAI,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE;AACxB;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE;AACnB;AACA;AACA;AACA;AACA,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE;AACpB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,cAAc,CAAC,CAAC,EAAE,EAAE;AAC5B;AACA;AACA;AACA;AACA,IAAI,IAAI,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE;AACpB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC5Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACvmB;AACA,QAAQ,GAAG,UAAU,CAAC;AACtB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS;AAClJ,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,QAAQ,CAAC;AAEZ,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,WAAW;AACzC,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC;AAC/J,oBAAoB,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;AAC7D,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC;AAC7I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,MAAM,GAAG,MAAM,MAAM,CAAC;AAC1B;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE;AACpB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC1Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9U;AACA,MAAM,GAAG,UAAU,CAAC;AACpB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM;AACjC,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,MAAM,CAAC;AAEV,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAChH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,SAAS;AACvC,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;AAC9C,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;AAChH,IAAC,UAAU,GAAG,MAAM,UAAU,CAAC;AAClC;AACA;AACA;AACA,IAAI,IAAI,iBAAiB,CAAC,CAAC,EAAE,EAAE;AAC/B;AACA;AACA;AACA;AACA,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE;AACpB;AACA;AACA;AACA;AACA,IAAI,IAAI,qBAAqB,CAAC,CAAC,EAAE,EAAE;AACnC;AACA;AACA;AACA;AACA,IAAI,IAAI,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,aAAa,CAAC,CAAC,EAAE,EAAE;AAC3B;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE;AACnB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE;AAC1C,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC9Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,aAAa,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACvmB;AACA,UAAU,GAAG,UAAU,CAAC;AACxB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,mBAAmB,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;AAC7I,QAAQ,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO;AAC7C,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,UAAU,CAAC;AAEd,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AACpH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,aAAa;AAC3C,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,mBAAmB,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,uBAAuB,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC7M,oBAAoB,OAAO,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC;AAC9D,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC;AAC/I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;AACzB,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,YAAY,GAAG,MAAM,YAAY,CAAC;AACtC;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,gBAAgB,CAAC,CAAC,EAAE,EAAE;AAC9B;AACA;AACA;AACA;AACA,IAAI,IAAI,YAAY,CAAC,CAAC,EAAE,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,cAAc,CAAC,CAAC,EAAE,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,aAAa,CAAC,CAAC,EAAE,EAAE;AAC3B;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,qBAAqB,CAAC,CAAC,EAAE,EAAE;AACnC;AACA;AACA;AACA;AACA,IAAI,IAAI,gBAAgB,CAAC,CAAC,EAAE,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE;AACpB;AACA;AACA;AACA;AACA,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE;AACjB;AACA;AACA;AACA;AACA,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE;AACjB;AACA;AACA;AACA;AACA,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,aAAa,CAAC,CAAC,EAAE,EAAE;AAC3B;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE;AACzB;AACA;AACA;AACA;AACA,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE;AACzB;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,eAAe,CAAC,CAAC,EAAE,EAAE;AAC7B;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,gBAAgB,CAAC,CAAC,EAAE,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE;AACnB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE;AAC1C,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAChR,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AAChlC;AACA,YAAY,GAAG,UAAU,CAAC;AAC1B,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,uBAAuB,EAAE,eAAe,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC;AACxY,QAAQ,OAAO,EAAE,CAAC,OAAO;AACzB,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,YAAY,CAAC;AAEhB,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AACtH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,gBAAgB;AAC9C,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,uBAAuB,EAAE,eAAe,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC;AAC9a,oBAAoB,OAAO,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC;AACzE,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC;AAC7I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC3B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC;AAC9B;AACA;AACA;AACA,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE;AACpB;AACA;AACA;AACA;AACA,IAAI,IAAI,eAAe,CAAC,CAAC,EAAE,EAAE;AAC7B;AACA;AACA;AACA;AACA,IAAI,IAAI,sBAAsB,CAAC,CAAC,EAAE,EAAE;AACpC;AACA;AACA;AACA;AACA,IAAI,IAAI,wBAAwB,CAAC,CAAC,EAAE,EAAE;AACtC;AACA;AACA;AACA;AACA,IAAI,IAAI,gBAAgB,CAAC,CAAC,EAAE,EAAE;AAC9B;AACA;AACA;AACA;AACA,IAAI,IAAI,eAAe,CAAC,CAAC,EAAE,EAAE;AAC7B;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE;AAC1C,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,YAAY,EAAE;AAC7C,QAAQ,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,EAAE;AAC9C,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC5Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACzrB;AACA,QAAQ,GAAG,UAAU,CAAC;AACtB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,CAAC;AAC1J,QAAQ,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ;AAC1C,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,QAAQ,CAAC;AAEZ,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,WAAW;AACzC,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,CAAC;AACtK,oBAAoB,OAAO,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,CAAC;AAC7F,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC;AAC/I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;AACzB,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;AAC9B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;AAC/B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,SAAS,GAAG,MAAM,SAAS,CAAC;AAChC;AACA;AACA;AACA,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE;AACpB;AACA;AACA;AACA;AACA,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE;AACzB;AACA;AACA;AACA;AACA,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE;AACzB;AACA;AACA;AACA;AACA,IAAI,IAAI,cAAc,CAAC,CAAC,EAAE,EAAE;AAC5B;AACA;AACA;AACA;AACA,IAAI,IAAI,eAAe,CAAC,CAAC,EAAE,EAAE;AAC7B;AACA;AACA;AACA;AACA,IAAI,IAAI,aAAa,CAAC,CAAC,EAAE,EAAE;AAC3B;AACA;AACA;AACA;AACA,IAAI,IAAI,eAAe,CAAC,CAAC,EAAE,EAAE;AAC7B;AACA;AACA;AACA;AACA,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE;AACzB;AACA;AACA;AACA;AACA,IAAI,IAAI,aAAa,CAAC,CAAC,EAAE,EAAE;AAC3B;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC7Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACpkB;AACA,SAAS,GAAG,UAAU,CAAC;AACvB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB;AAChK,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,SAAS,CAAC;AAEb,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACnH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,YAAY;AAC1C,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,CAAC;AAC7K,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;AAChH,IAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC;AAC9B;AACA;AACA;AACA,IAAI,IAAI,cAAc,CAAC,CAAC,EAAE,EAAE;AAC5B;AACA;AACA;AACA;AACA,IAAI,IAAI,mBAAmB,CAAC,CAAC,EAAE,EAAE;AACjC;AACA;AACA;AACA;AACA,IAAI,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE;AACxB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,YAAY,EAAE;AAC7C,QAAQ,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,EAAE;AAC9C,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC5Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACnkB;AACA,QAAQ,GAAG,UAAU,CAAC;AACtB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,qBAAqB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC;AACxG,QAAQ,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM;AAChC,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,QAAQ,CAAC;AAEZ,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,WAAW;AACzC,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,qBAAqB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC;AACpH,oBAAoB,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,CAAC;AACjF,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC;AAC9I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;AACzB,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;AAC9B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;AAC/B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,UAAU,GAAG,MAAM,UAAU,CAAC;AAClC;AACA;AACA;AACA,IAAI,IAAI,iBAAiB,CAAC,CAAC,EAAE,EAAE;AAC/B;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,gBAAgB,CAAC,CAAC,EAAE,EAAE;AAC9B;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE;AACzB;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC9Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACrlB;AACA,UAAU,GAAG,UAAU,CAAC;AACxB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,mBAAmB,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU;AACzJ,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,UAAU,CAAC;AAEd,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AACpH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,aAAa;AAC3C,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,mBAAmB,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC;AACtK,oBAAoB,OAAO,EAAE,CAAC,QAAQ,CAAC;AACvC,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC;AAC7I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,YAAY,GAAG,MAAM,YAAY,CAAC;AACtC;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAChR,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACzU;AACA,YAAY,GAAG,UAAU,CAAC;AAC1B,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,MAAM;AACvB,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,YAAY,CAAC;AAEhB,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AACtH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,gBAAgB;AAC9C,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,MAAM,CAAC;AACpC,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;AAChH,IAAC,MAAM,GAAG,MAAM,MAAM,CAAC;AAC1B;AACA;AACA;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE;AACnB;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE;AACnB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE;AACjB;AACA;AACA;AACA;AACA,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE;AACpB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,SAAS,GAAG,IAAI,YAAY,EAAE;AAC3C,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC1Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AAC7a;AACA,MAAM,GAAG,UAAU,CAAC;AACpB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ;AAClE,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,MAAM,CAAC;AAEV,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAChH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,SAAS;AACvC,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC;AAC/E,oBAAoB,OAAO,EAAE,CAAC,WAAW,CAAC;AAC1C,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,CAAC;AAChJ,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,OAAO,GAAG,MAAM,OAAO,CAAC;AAC5B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,cAAc,CAAC,CAAC,EAAE,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,YAAY,CAAC,CAAC,EAAE,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE;AACzB;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,gBAAgB,CAAC,CAAC,EAAE,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,YAAY,CAAC,CAAC,EAAE,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,YAAY,CAAC,CAAC,EAAE,EAAE;AAC1B;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,qBAAqB,CAAC,CAAC,EAAE,EAAE;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE;AACjB;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE;AACjB;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB;AACA;AACA;AACA;AACA,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE;AACzB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,gBAAgB,CAAC,CAAC,EAAE,EAAE;AAC9B;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE;AACnB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE;AAC1C,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC3Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACv+B;AACA,OAAO,GAAG,UAAU,CAAC;AACrB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO;AAC1U,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,OAAO,CAAC;AAEX,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,UAAU;AACxC,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC;AACjX,oBAAoB,OAAO,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AACpF,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC;AAC7I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC3B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,cAAc,GAAG,MAAM,cAAc,CAAC;AAC1C;AACA;AACA;AACA,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE;AACzB;AACA;AACA;AACA;AACA,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE;AACpB;AACA;AACA;AACA;AACA,IAAI,IAAI,YAAY,CAAC,CAAC,EAAE,EAAE;AAC1B;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI,YAAY,EAAE;AAC7C,QAAQ,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,EAAE;AAC9C,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAClR,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACrjB;AACA,cAAc,GAAG,UAAU,CAAC;AAC5B,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;AAC7F,QAAQ,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO;AACzC,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,cAAc,CAAC;AAElB,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AACxH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,iBAAiB;AAC/C,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;AACzG,oBAAoB,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,CAAC;AAChF,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC;AAC7I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;AACzB,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;AAC9B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;AAC/B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC;AAC9B;AACA;AACA;AACA,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE;AACpB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE;AACnB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC5Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AAC3d;AACA,QAAQ,GAAG,UAAU,CAAC;AACtB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO;AAC1D,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,QAAQ,CAAC;AAEZ,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,WAAW;AACzC,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC;AACvE,oBAAoB,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AACxE,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC;AAC7I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,aAAa,GAAG,MAAM,aAAa,CAAC;AACxC,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACjR,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACjT;AACA,aAAa,GAAG,UAAU,CAAC;AAC3B,IAAI,QAAQ,CAAC,EAAE,CAAC;AAChB,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,aAAa,CAAC;AAEjB,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AACvH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,iBAAiB;AAC/C,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,EAAE;AAC9B,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;AAChH,IAAC,YAAY,GAAG,MAAM,YAAY,CAAC;AACtC;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE;AAC1C,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAChR,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACtX;AACA,YAAY,GAAG,UAAU,CAAC;AAC1B,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,WAAW;AAC5B,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,YAAY,CAAC;AAEhB,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AACtH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,gBAAgB;AAC9C,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,WAAW,CAAC;AACzC,oBAAoB,OAAO,EAAE,CAAC,UAAU,CAAC;AACzC,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC;AAC/I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,WAAW,GAAG,MAAM,WAAW,CAAC;AACpC,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC/Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AAC7S;AACA,WAAW,GAAG,UAAU,CAAC;AACzB,IAAI,QAAQ,CAAC,EAAE,CAAC;AAChB,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,WAAW,CAAC;AAEf,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACrH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,eAAe;AAC7C,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,EAAE;AAC9B,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;AAChH,IAAC,OAAO,GAAG,MAAM,OAAO,CAAC;AAC5B;AACA;AACA;AACA,IAAI,IAAI,iBAAiB,CAAC,CAAC,EAAE,EAAE;AAC/B;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC3Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACxd;AACA,OAAO,GAAG,UAAU,CAAC;AACrB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU;AAC1G,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,OAAO,CAAC;AAEX,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,UAAU;AACxC,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC;AACvH,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;AAChH,IAAC,UAAU,GAAG,MAAM,UAAU,CAAC;AAClC;AACA;AACA;AACA,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE;AACzB;AACA;AACA;AACA;AACA,IAAI,IAAI,aAAa,CAAC,CAAC,EAAE,EAAE;AAC3B;AACA;AACA;AACA;AACA,IAAI,IAAI,aAAa,CAAC,CAAC,EAAE,EAAE;AAC3B;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE;AACnB;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE;AACnB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC9Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACxd;AACA,UAAU,GAAG,UAAU,CAAC;AACxB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO;AACvG,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,UAAU,CAAC;AAEd,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AACpH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,aAAa;AAC3C,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC;AACpH,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;AAChH,IAAC,OAAO,GAAG,MAAM,OAAO,CAAC;AAC5B;AACA;AACA;AACA,IAAI,IAAI,iBAAiB,CAAC,CAAC,EAAE,EAAE;AAC/B;AACA;AACA;AACA;AACA,IAAI,IAAI,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE;AACpB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE;AACnB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,IAAI,CAAC,SAAS,GAAG,IAAI,YAAY,EAAE;AAC3C,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC3Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACviB;AACA,OAAO,GAAG,UAAU,CAAC;AACrB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,mBAAmB,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC;AACnG,QAAQ,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB;AAC/D,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,OAAO,CAAC;AAEX,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,UAAU;AACxC,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,mBAAmB,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACnK,oBAAoB,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC;AAC1E,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC;AAC9I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;AACzB,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;AAC5B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,YAAY,GAAG,MAAM,YAAY,CAAC;AACtC;AACA;AACA;AACA,IAAI,IAAI,iBAAiB,CAAC,CAAC,EAAE,EAAE;AAC/B;AACA;AACA;AACA;AACA,IAAI,IAAI,YAAY,CAAC,CAAC,EAAE,EAAE;AAC1B;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE;AACzB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,yBAAyB,CAAC,CAAC,EAAE,EAAE;AACvC;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE;AACnB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE;AAC1C,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAChR,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AAC1mB;AACA,YAAY,GAAG,UAAU,CAAC;AAC1B,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,mBAAmB,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,2BAA2B,EAAE,OAAO;AACrJ,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,YAAY,CAAC;AAEhB,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AACtH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,gBAAgB;AAC9C,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,mBAAmB,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,2BAA2B,EAAE,OAAO,CAAC;AAC5L,oBAAoB,OAAO,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;AACnD,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC;AAC/I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;AACzB,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC;AAC9B;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,gBAAgB,CAAC,CAAC,EAAE,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,YAAY,CAAC,CAAC,EAAE,EAAE;AAC1B;AACA;AACA;AACA;AACA,IAAI,IAAI,iBAAiB,CAAC,CAAC,EAAE,EAAE;AAC/B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,YAAY,CAAC,CAAC,EAAE,EAAE;AAC1B;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,gBAAgB,CAAC,CAAC,EAAE,EAAE;AAC9B;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,cAAc,CAAC,CAAC,EAAE,EAAE;AAC5B;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE;AACzB;AACA;AACA;AACA;AACA,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE;AACzB;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,gBAAgB,CAAC,CAAC,EAAE,EAAE;AAC9B;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE;AACnB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE;AAC1C,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC5Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AAC/+B;AACA,QAAQ,GAAG,UAAU,CAAC;AACtB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,OAAO,CAAC;AAC7U,QAAQ,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO;AAClC,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,QAAQ,CAAC;AAEZ,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,WAAW;AACzC,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,OAAO,CAAC;AACnX,oBAAoB,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC;AACpF,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC;AAC7I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC3B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,UAAU,GAAG,MAAM,UAAU,CAAC;AAClC;AACA;AACA;AACA,IAAI,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE;AACxB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI,YAAY,EAAE;AAC5C,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE;AAC1C,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC9Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AAClb;AACA,UAAU,GAAG,UAAU,CAAC;AACxB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC;AAClD,QAAQ,OAAO,EAAE,CAAC,gBAAgB;AAClC,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,UAAU,CAAC;AAEd,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AACpH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,cAAc;AAC5C,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC;AAC9D,oBAAoB,OAAO,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;AACvD,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,UAAU,EAAE,CAAC;AACjJ,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC3B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,cAAc,GAAG,MAAM,cAAc,CAAC;AAC1C;AACA;AACA;AACA,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE;AACpB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAClR,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACrc;AACA,cAAc,GAAG,UAAU,CAAC;AAC5B,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU;AACjD,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,cAAc,CAAC;AAElB,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC;AACxH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,mBAAmB;AACjD,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC;AAC9D,oBAAoB,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;AAC7D,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC;AAC7I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC;AAC9B;AACA;AACA;AACA,IAAI,IAAI,YAAY,CAAC,CAAC,EAAE,EAAE;AAC1B;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,oBAAoB,CAAC,CAAC,EAAE,EAAE;AAClC;AACA;AACA;AACA;AACA,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE;AACjB;AACA;AACA;AACA;AACA,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE;AACjB;AACA;AACA;AACA;AACA,IAAI,IAAI,GAAG,CAAC,CAAC,EAAE,EAAE;AACjB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE;AACnB;AACA;AACA;AACA;AACA,IAAI,IAAI,aAAa,CAAC,CAAC,EAAE,EAAE;AAC3B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,oBAAoB,CAAC,CAAC,EAAE,EAAE;AAClC;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE;AAC1C,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC5Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACzoB;AACA,QAAQ,GAAG,UAAU,CAAC;AACtB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,OAAO;AAClK,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,QAAQ,CAAC;AAEZ,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,WAAW;AACzC,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,eAAe,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,OAAO,CAAC;AAC/K,oBAAoB,OAAO,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC;AAC9D,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC;AAC/I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;AACzB,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,SAAS,GAAG,MAAM,SAAS,CAAC;AAChC;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,YAAY,CAAC,CAAC,EAAE,EAAE;AAC1B;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC7Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACxX;AACA,SAAS,GAAG,UAAU,CAAC;AACvB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc;AACpD,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,SAAS,CAAC;AAEb,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACnH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,YAAY;AAC1C,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC;AACjE,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;AAChH,IAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC;AAC9B;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC5Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AAChU;AACA,QAAQ,GAAG,UAAU,CAAC;AACtB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,MAAM;AACvB,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,QAAQ,CAAC;AAEZ,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,WAAW;AACzC,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,MAAM,CAAC;AACpC,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;AAChH,IAAC,UAAU,GAAG,MAAM,UAAU,CAAC;AAClC;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE;AACpB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC9Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5a;AACA,UAAU,GAAG,UAAU,CAAC;AACxB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM;AACzC,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,UAAU,CAAC;AAEd,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AACpH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,cAAc;AAC5C,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;AACtD,oBAAoB,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC;AAC7D,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC;AAC9I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;AACzB,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,OAAO,GAAG,MAAM,OAAO,CAAC;AAC5B;AACA;AACA;AACA,IAAI,IAAI,YAAY,CAAC,CAAC,EAAE,EAAE;AAC1B;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC3Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AAC1W;AACA,OAAO,GAAG,UAAU,CAAC;AACrB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC;AAChD,QAAQ,OAAO,EAAE,CAAC,oBAAoB;AACtC,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,OAAO,CAAC;AAEX,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,UAAU;AACxC,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC;AAC5D,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;AAChH,IAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC;AAC9B;AACA;AACA;AACA,IAAI,IAAI,iBAAiB,CAAC,CAAC,EAAE,EAAE;AAC/B;AACA;AACA;AACA;AACA,IAAI,IAAI,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,qBAAqB,CAAC,CAAC,EAAE,EAAE;AACnC;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,cAAc,CAAC,CAAC,EAAE,EAAE;AAC5B;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,YAAY,CAAC,CAAC,EAAE,EAAE;AAC1B;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE;AACnB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE;AAC1C,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC5Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACnqB;AACA,QAAQ,GAAG,UAAU,CAAC;AACtB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,mBAAmB,EAAE,SAAS,EAAE,UAAU,EAAE,uBAAuB,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC;AAC/K,QAAQ,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO;AAC7C,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,QAAQ,CAAC;AAEZ,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAClH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,WAAW;AACzC,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,mBAAmB,EAAE,SAAS,EAAE,UAAU,EAAE,uBAAuB,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC;AACrN,oBAAoB,OAAO,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC;AAC9D,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC;AAC/I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;AACzB,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,KAAK,GAAG,MAAM,KAAK,CAAC;AACxB;AACA;AACA;AACA,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE;AACpB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE;AACzB;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE;AACnB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,IAAI,CAAC,SAAS,GAAG,IAAI,YAAY,EAAE;AAC3C,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACzQ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AAC3hB;AACA,KAAK,GAAG,UAAU,CAAC;AACnB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC;AAC/F,QAAQ,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO;AAC7C,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,KAAK,CAAC;AAET,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC/G,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,QAAQ;AACtC,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC/J,oBAAoB,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC;AAC1E,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC;AAC9I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;AACzB,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;AAC5B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,UAAU,GAAG,MAAM,UAAU,CAAC;AAClC;AACA;AACA;AACA,IAAI,IAAI,YAAY,CAAC,CAAC,EAAE,EAAE;AAC1B;AACA;AACA;AACA;AACA,IAAI,IAAI,cAAc,CAAC,CAAC,EAAE,EAAE;AAC5B;AACA;AACA;AACA;AACA,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE;AACzB;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE;AACnB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE;AAC1C,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC9Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AAC5e;AACA,UAAU,GAAG,UAAU,CAAC;AACxB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO;AAC9F,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,UAAU,CAAC;AAEd,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AACpH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,cAAc;AAC5C,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC;AAC3G,oBAAoB,OAAO,EAAE,CAAC,UAAU,CAAC;AACzC,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC;AAC/I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,KAAK,GAAG,MAAM,KAAK,CAAC;AACxB;AACA;AACA;AACA,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE;AACpB;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE;AACnB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE;AACpB;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACzQ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AAC3kB;AACA,KAAK,GAAG,UAAU,CAAC;AACnB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC;AAClH,QAAQ,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM;AAChC,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,KAAK,CAAC;AAET,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAC/G,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,QAAQ;AACtC,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC;AAC9H,oBAAoB,OAAO,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;AAClF,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC;AAC9I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;AACzB,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;AACzB,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,UAAU,GAAG,MAAM,UAAU,CAAC;AAClC;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,cAAc,CAAC,CAAC,EAAE,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,YAAY,CAAC,CAAC,EAAE,EAAE;AAC1B;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE;AACzB;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,YAAY,CAAC,CAAC,EAAE,EAAE;AAC1B;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,aAAa,CAAC,CAAC,EAAE,EAAE;AAC3B;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,qBAAqB,CAAC,CAAC,EAAE,EAAE;AACnC;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,EAAE;AACzB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,gBAAgB,CAAC,CAAC,EAAE,EAAE;AAC9B;AACA;AACA;AACA;AACA,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,EAAE;AACnB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE;AAC1C,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC9Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AAC75B;AACA,UAAU,GAAG,UAAU,CAAC;AACxB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM;AAC9R,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,UAAU,CAAC;AAEd,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AACpH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,aAAa;AAC3C,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,uBAAuB,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,CAAC;AAC/V,oBAAoB,OAAO,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AACpF,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC;AAC7I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC3B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,OAAO,GAAG,MAAM,OAAO,CAAC;AAC5B;AACA;AACA;AACA,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,EAAE;AACpB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA;AACA;AACA;AACA,IAAI,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE;AAClB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,EAAE;AACxC,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC3Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AAC3c;AACA,OAAO,GAAG,UAAU,CAAC;AACrB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC;AAC3E,QAAQ,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO;AACzC,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,OAAO,CAAC;AAEX,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACjH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,UAAU;AACxC,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC;AACvF,oBAAoB,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;AACjD,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC;AAC7I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;AACzB,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;AAChB,IAAC,SAAS,GAAG,MAAM,SAAS,CAAC;AAChC;AACA;AACA;AACA,IAAI,IAAI,aAAa,CAAC,CAAC,EAAE,EAAE;AAC3B;AACA;AACA;AACA;AACA,IAAI,IAAI,QAAQ,CAAC,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,CAAC,CAAC,EAAE,EAAE;AACvB;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,OAAO,CAAC,CAAC,EAAE,EAAE;AACrB;AACA,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;AAClB,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC,QAAQ,IAAI,CAAC,SAAS,GAAG,IAAI,YAAY,EAAE;AAC3C,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI,YAAY,EAAE;AAC5C,QAAQ,IAAI,CAAC,SAAS,GAAG,IAAI,YAAY,EAAE;AAC3C,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI,YAAY,EAAE;AAC5C,QAAQ,CAAC,CAAC,MAAM,EAAE;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,aAAa;AACjC,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC7Q,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;AACnmB;AACA,SAAS,GAAG,UAAU,CAAC;AACvB,IAAI,QAAQ,CAAC;AACb,QAAQ,MAAM,EAAE,CAAC,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC;AAC5G,QAAQ,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM;AAChC,KAAK,CAAC;AACN,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC;AAC3E,CAAC,EAAE,SAAS,CAAC;AAEb,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACnH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,YAAY;AAC1C,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,QAAQ,EAAE,2BAA2B;AACzD;AACA,oBAAoB,MAAM,EAAE,CAAC,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC;AACxH,oBAAoB,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC;AAC9F,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC;AAC9I,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;AAC5B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;AAC7B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;AAC5B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;AAC7B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;;ACh/FZ,MAAM,UAAU,GAAG;AAC1B,IAAIA,WAAa;AACjB,IAAIC,gBAAkB;AACtB,IAAIC,OAAS;AACb,IAAIC,QAAU;AACd,IAAIC,OAAS;AACb,IAAIC,YAAc;AAClB,IAAIC,gBAAkB;AACtB,IAAIC,QAAU;AACd,IAAIC,MAAQ;AACZ,IAAIC,UAAY;AAChB,IAAIC,YAAc;AAClB,IAAIC,QAAU;AACd,IAAIC,SAAW;AACf,IAAIC,QAAU;AACd,IAAIC,UAAY;AAChB,IAAIC,YAAc;AAClB,IAAIC,MAAQ;AACZ,IAAIC,OAAS;AACb,IAAIC,cAAgB;AACpB,IAAIC,QAAU;AACd,IAAIC,aAAe;AACnB,IAAIC,YAAc;AAClB,IAAIC,WAAa;AACjB,IAAIC,OAAS;AACb,IAAIC,UAAY;AAChB,IAAIC,OAAS;AACb,IAAIC,YAAc;AAClB,IAAIC,QAAU;AACd,IAAIC,UAAY;AAChB,IAAIC,cAAgB;AACpB,IAAIC,QAAU;AACd,IAAIC,SAAW;AACf,IAAIC,QAAU;AACd,IAAIC,UAAY;AAChB,IAAIC,OAAS;AACb,IAAIC,QAAU;AACd,IAAIC,KAAO;AACX,IAAIC,UAAY;AAChB,IAAIC,KAAO;AACX,IAAIC,UAAY;AAChB,IAAIC,OAAS;AACb,IAAIC;AACJ,CAAC;;AC5CD;AACA;AACA;AACA;AACA;AACA;AAYA,MAAM,YAAY,GAAG;AACrB,IAAI,GAAG,UAAU;AACjB;AACA,IAAI,oBAAoB;AACxB,IAAI,oBAAoB;AACxB,IAAI,kBAAkB;AACtB,IAAI,mBAAmB;AACvB,IAAI,iBAAiB;AACrB,CAAC;AACM,MAAM,UAAU,CAAC;AACxB,IAAI,OAAO,OAAO,GAAG;AACrB,QAAQ,OAAO;AACf,YAAY,QAAQ,EAAE,UAAU;AAChC,YAAY,SAAS,EAAE;AACvB,gBAAgB;AAChB,oBAAoB,OAAO,EAAE,eAAe;AAC5C,oBAAoB,UAAU,EAAE,MAAM,oBAAoB;AAC1D,oBAAoB,KAAK,EAAE,IAAI;AAC/B,oBAAoB,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;AAC5C,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,IAAI;AACJ,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC9L,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,CAACC,WAAc,EAAEC,gBAAmB,EAAEC,OAAU,EAAEC,QAAW,EAAEC,OAAU,EAAEC,YAAe,EAAEC,gBAAmB,EAAEC,QAAW,EAAEC,MAAS,EAAEC,UAAa,EAAEC,YAAe,EAAEC,QAAW,EAAEC,SAAY,EAAEC,QAAW,EAAEC,UAAa,EAAEC,YAAe,EAAEC,MAAS,EAAEC,OAAU,EAAEC,cAAiB,EAAEC,QAAW,EAAEC,aAAgB,EAAEC,YAAe,EAAEC,WAAc,EAAEC,OAAU,EAAEC,UAAa,EAAEC,OAAU,EAAEC,YAAe,EAAEC,QAAW,EAAEC,UAAa,EAAEC,cAAiB,EAAEC,QAAW,EAAEC,SAAY,EAAEC,QAAW,EAAEC,UAAa,EAAEC,OAAU,EAAEC,QAAW,EAAEC,KAAQ,EAAEC,UAAa,EAAEC,KAAQ,EAAEC,UAAa,EAAEC,OAAU,EAAEC,SAAY;AACxvB;AACA,YAAY,oBAAoB;AAChC,YAAY,oBAAoB;AAChC,YAAY,kBAAkB;AAC9B,YAAY,mBAAmB;AAC/B,YAAY,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAACzC,WAAc,EAAEC,gBAAmB,EAAEC,OAAU,EAAEC,QAAW,EAAEC,OAAU,EAAEC,YAAe,EAAEC,gBAAmB,EAAEC,QAAW,EAAEC,MAAS,EAAEC,UAAa,EAAEC,YAAe,EAAEC,QAAW,EAAEC,SAAY,EAAEC,QAAW,EAAEC,UAAa,EAAEC,YAAe,EAAEC,MAAS,EAAEC,OAAU,EAAEC,cAAiB,EAAEC,QAAW,EAAEC,aAAgB,EAAEC,YAAe,EAAEC,WAAc,EAAEC,OAAU,EAAEC,UAAa,EAAEC,OAAU,EAAEC,YAAe,EAAEC,QAAW,EAAEC,UAAa,EAAEC,cAAiB,EAAEC,QAAW,EAAEC,SAAY,EAAEC,QAAW,EAAEC,UAAa,EAAEC,OAAU,EAAEC,QAAW,EAAEC,KAAQ,EAAEC,UAAa,EAAEC,KAAQ,EAAEC,UAAa,EAAEC,OAAU,EAAEC,SAAY;AAC9pB;AACA,YAAY,oBAAoB;AAChC,YAAY,oBAAoB;AAChC,YAAY,kBAAkB;AAC9B,YAAY,mBAAmB;AAC/B,YAAY,iBAAiB,CAAC,EAAE,CAAC,CAAC;AAClC,uBAAuB,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;AACzK;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AACpH,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,OAAO,EAAE,CAAC,YAAY,CAAC;AAC3C,oBAAoB,YAAY,EAAE,YAAY;AAC9C,oBAAoB,OAAO,EAAE,YAAY;AACzC,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;AC/Db;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;;;;"}
|
|
1
|
+
{"version":3,"file":"beeq-angular.mjs","sources":["../../../packages/beeq-angular/src/directives/value-accessor.ts","../../../packages/beeq-angular/src/directives/boolean-value-accessor.ts","../../../packages/beeq-angular/src/directives/number-value-accessor.ts","../../../packages/beeq-angular/src/directives/radio-value-accessor.ts","../../../packages/beeq-angular/src/directives/select-value-accessor.ts","../../../packages/beeq-angular/src/directives/text-value-accessor.ts","../../../packages/beeq-angular/src/directives/angular-component-lib/utils.ts","../../../packages/beeq-angular/src/directives/components.ts","../../../packages/beeq-angular/src/directives/index.ts","../../../packages/beeq-angular/src/beeq.module.ts","../../../packages/beeq-angular/src/index.ts","../../../packages/beeq-angular/src/beeq-angular.ts"],"sourcesContent":["import { Directive, ElementRef, HostListener } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\n\n@Directive({})\nexport class ValueAccessor implements ControlValueAccessor {\n\n private onChange: (value: any) => void = () => {/**/};\n private onTouched: () => void = () => {/**/};\n protected lastValue: any;\n\n constructor(protected el: ElementRef) {}\n\n writeValue(value: any) {\n this.el.nativeElement.value = this.lastValue = value == null ? '' : value;\n }\n\n handleChangeEvent(value: any) {\n if (value !== this.lastValue) {\n this.lastValue = value;\n this.onChange(value);\n }\n }\n\n @HostListener('focusout')\n _handleBlurEvent() {\n this.onTouched();\n }\n\n registerOnChange(fn: (value: any) => void) {\n this.onChange = fn;\n }\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.el.nativeElement.disabled = isDisabled;\n }\n}\n","import { Directive, ElementRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ValueAccessor } from './value-accessor';\n\n@Directive({\n /* tslint:disable-next-line:directive-selector */\n selector: 'bq-checkbox, bq-switch',\n host: {\n '(bqChange)': 'handleChangeEvent($event.target?.[\"checked\"])'\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: BooleanValueAccessor,\n multi: true\n }\n ],\nstandalone: false\n})\nexport class BooleanValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n override writeValue(value: any) {\n this.el.nativeElement.checked = this.lastValue = value == null ? false : value;\n }\n}\n","import { Directive, ElementRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ValueAccessor } from './value-accessor';\n\n@Directive({\n /* tslint:disable-next-line:directive-selector */\n selector: 'bq-input[type=\"number\"], bq-slider:not[type=\"range\"]',\n host: {\n '(bqChange)': 'handleChangeEvent($event.target?.[\"value\"])'\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NumericValueAccessor,\n multi: true\n }\n ],\nstandalone: false\n})\nexport class NumericValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n override registerOnChange(fn: (_: number | null) => void) {\n super.registerOnChange(value => {\n fn(value === '' ? null : parseFloat(value));\n });\n }\n}\n","import { Directive, ElementRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ValueAccessor } from './value-accessor';\n\n@Directive({\n /* tslint:disable-next-line:directive-selector */\n selector: 'bq-radio-group',\n host: {\n '(bqChange)': 'handleChangeEvent($event.target?.[\"value\"])'\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: RadioValueAccessor,\n multi: true\n }\n ],\nstandalone: false\n})\nexport class RadioValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n}\n","import { Directive, ElementRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ValueAccessor } from './value-accessor';\n\n@Directive({\n /* tslint:disable-next-line:directive-selector */\n selector: 'bq-select',\n host: {\n '(bqChange)': 'handleChangeEvent($event.target?.[\"value\"])'\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SelectValueAccessor,\n multi: true\n }\n ],\nstandalone: false\n})\nexport class SelectValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n}\n","import { Directive, ElementRef } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { ValueAccessor } from './value-accessor';\n\n@Directive({\n /* tslint:disable-next-line:directive-selector */\n selector: 'bq-date-picker, bq-input:not[type=\"number\"], bq-slider[type=\"range\"], bq-textarea',\n host: {\n '(bqChange)': 'handleChangeEvent($event.target?.[\"value\"])'\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: TextValueAccessor,\n multi: true\n }\n ],\nstandalone: false\n})\nexport class TextValueAccessor extends ValueAccessor {\n constructor(el: ElementRef) {\n super(el);\n }\n}\n","/* eslint-disable */\n/* tslint:disable */\nimport { fromEvent } from 'rxjs';\n\nexport const proxyInputs = (Cmp: any, inputs: string[]) => {\n const Prototype = Cmp.prototype;\n inputs.forEach((item) => {\n Object.defineProperty(Prototype, item, {\n get() {\n return this.el[item];\n },\n set(val: any) {\n this.z.runOutsideAngular(() => (this.el[item] = val));\n },\n /**\n * In the event that proxyInputs is called\n * multiple times re-defining these inputs\n * will cause an error to be thrown. As a result\n * we set configurable: true to indicate these\n * properties can be changed.\n */\n configurable: true,\n });\n });\n};\n\nexport const proxyMethods = (Cmp: any, methods: string[]) => {\n const Prototype = Cmp.prototype;\n methods.forEach((methodName) => {\n Prototype[methodName] = function () {\n const args = arguments;\n return this.z.runOutsideAngular(() => this.el[methodName].apply(this.el, args));\n };\n });\n};\n\nexport const proxyOutputs = (instance: any, el: any, events: string[]) => {\n events.forEach((eventName) => (instance[eventName] = fromEvent(el, eventName)));\n};\n\nexport const defineCustomElement = (tagName: string, customElement: any) => {\n if (customElement !== undefined && typeof customElements !== 'undefined' && !customElements.get(tagName)) {\n customElements.define(tagName, customElement);\n }\n};\n\n// tslint:disable-next-line: only-arrow-functions\nexport function ProxyCmp(opts: { defineCustomElementFn?: () => void; inputs?: any; methods?: any }) {\n const decorator = function (cls: any) {\n const { defineCustomElementFn, inputs, methods } = opts;\n\n if (defineCustomElementFn !== undefined) {\n defineCustomElementFn();\n }\n\n if (inputs) {\n proxyInputs(cls, inputs);\n }\n if (methods) {\n proxyMethods(cls, methods);\n }\n return cls;\n };\n return decorator;\n}\n","/* tslint:disable */\n/* auto-generated angular directive proxies */\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Output, NgZone } from '@angular/core';\n\nimport { ProxyCmp } from './angular-component-lib/utils';\n\nimport { Components } from '@beeq/core';\n\n\n@ProxyCmp({\n inputs: ['appearance', 'disabled', 'expanded', 'noAnimation', 'rotate', 'size']\n})\n@Component({\n selector: 'bq-accordion',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['appearance', 'disabled', 'expanded', 'noAnimation', 'rotate', 'size'],\n outputs: ['bqBlur', 'bqFocus', 'bqOpen', 'bqAfterOpen', 'bqClose', 'bqAfterClose', 'bqClick'],\n standalone: false\n})\nexport class BqAccordion {\n protected el: HTMLBqAccordionElement;\n /**\n * The appearance style of the Accordion @default 'filled'\n */\n set appearance(_: Components.BqAccordion['appearance']) {};\n /**\n * If true, the Accordion is disabled @default false\n */\n set disabled(_: Components.BqAccordion['disabled']) {};\n /**\n * If true, the Accordion is expanded @default false\n */\n set expanded(_: Components.BqAccordion['expanded']) {};\n /**\n * Animation is set through JS when the browser does not support CSS calc-size()\nIf true, the Accordion animation, will be disabled. No animation will be applied. @default false\n */\n set noAnimation(_: Components.BqAccordion['noAnimation']) {};\n /**\n * If true, the Accordion expand icon is rotate 180deg when expanded @default false\n */\n set rotate(_: Components.BqAccordion['rotate']) {};\n /**\n * The size of the Accordion @default 'medium'\n */\n set size(_: Components.BqAccordion['size']) {};\n @Output() bqBlur = new EventEmitter<CustomEvent<HTMLBqAccordionElement>>();\n @Output() bqFocus = new EventEmitter<CustomEvent<HTMLBqAccordionElement>>();\n @Output() bqOpen = new EventEmitter<CustomEvent<HTMLBqAccordionElement>>();\n @Output() bqAfterOpen = new EventEmitter<CustomEvent<HTMLBqAccordionElement>>();\n @Output() bqClose = new EventEmitter<CustomEvent<HTMLBqAccordionElement>>();\n @Output() bqAfterClose = new EventEmitter<CustomEvent<HTMLBqAccordionElement>>();\n @Output() bqClick = new EventEmitter<CustomEvent<HTMLBqAccordionElement>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqAccordion extends Components.BqAccordion {\n /**\n * Handler to be called when the accordion loses focus\n */\n bqBlur: EventEmitter<CustomEvent<HTMLBqAccordionElement>>;\n /**\n * Handler to be called when the accordion gets focus\n */\n bqFocus: EventEmitter<CustomEvent<HTMLBqAccordionElement>>;\n /**\n * Handler to be called when the accordion is opened\n */\n bqOpen: EventEmitter<CustomEvent<HTMLBqAccordionElement>>;\n /**\n * Handler to be called after the accordion is opened\n */\n bqAfterOpen: EventEmitter<CustomEvent<HTMLBqAccordionElement>>;\n /**\n * Handler to be called when the accordion is closed\n */\n bqClose: EventEmitter<CustomEvent<HTMLBqAccordionElement>>;\n /**\n * Handler to be called after the accordion is closed\n */\n bqAfterClose: EventEmitter<CustomEvent<HTMLBqAccordionElement>>;\n /**\n * Handler to be called when the accordion is clicked\n */\n bqClick: EventEmitter<CustomEvent<HTMLBqAccordionElement>>;\n}\n\n\n@ProxyCmp({\n inputs: ['appearance', 'expandAll', 'multiple', 'noAnimation', 'size']\n})\n@Component({\n selector: 'bq-accordion-group',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['appearance', 'expandAll', 'multiple', 'noAnimation', 'size'],\n standalone: false\n})\nexport class BqAccordionGroup {\n protected el: HTMLBqAccordionGroupElement;\n /**\n * The appearance style of accordion to be applied to all accordions @default 'filled'\n */\n set appearance(_: Components.BqAccordionGroup['appearance']) {};\n /**\n * If true all accordions are expanded\n */\n set expandAll(_: Components.BqAccordionGroup['expandAll']) {};\n /**\n * Animation is set through JS when the browser does not support CSS calc-size()\nIf true, the accordion animation, will be disabled. No animation will be applied. @default false\n */\n set noAnimation(_: Components.BqAccordionGroup['noAnimation']) {};\n /**\n * If true multiple accordions can be expanded at the same time @default false\n */\n set multiple(_: Components.BqAccordionGroup['multiple']) {};\n /**\n * The size of accordion to be applied to all accordions @default 'medium'\n */\n set size(_: Components.BqAccordionGroup['size']) {};\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqAccordionGroup extends Components.BqAccordionGroup {}\n\n\n@ProxyCmp({\n inputs: ['autoDismiss', 'border', 'disableClose', 'hideIcon', 'open', 'sticky', 'time', 'type'],\n methods: ['hide', 'show']\n})\n@Component({\n selector: 'bq-alert',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autoDismiss', 'border', 'disableClose', 'hideIcon', 'open', 'sticky', 'time', 'type'],\n outputs: ['bqHide', 'bqShow', 'bqAfterShow', 'bqAfterHide'],\n standalone: false\n})\nexport class BqAlert {\n protected el: HTMLBqAlertElement;\n /**\n * If true, the alert will automatically hide after the specified amount of time\n */\n set autoDismiss(_: Components.BqAlert['autoDismiss']) {};\n /**\n * The corner radius of the alert component @default 's'\n */\n set border(_: Components.BqAlert['border']) {};\n /**\n * If true, the close button at the top right of the alert won't be shown\n */\n set disableClose(_: Components.BqAlert['disableClose']) {};\n /**\n * If true, the alert icon won't be shown\n */\n set hideIcon(_: Components.BqAlert['hideIcon']) {};\n /**\n * If true, the alert will be shown\n */\n set open(_: Components.BqAlert['open']) {};\n /**\n * The length of time, in milliseconds, after which the alert will close itself. Only valid if `autoDismiss=\"true\"` @default 3000\n */\n set time(_: Components.BqAlert['time']) {};\n /**\n * Type of Alert @default 'default'\n */\n set type(_: Components.BqAlert['type']) {};\n /**\n * If true, the alert component will remain fixed at the top of the page, occupying the full viewport\n */\n set sticky(_: Components.BqAlert['sticky']) {};\n @Output() bqHide = new EventEmitter<CustomEvent<any>>();\n @Output() bqShow = new EventEmitter<CustomEvent<any>>();\n @Output() bqAfterShow = new EventEmitter<CustomEvent<any>>();\n @Output() bqAfterHide = new EventEmitter<CustomEvent<any>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqAlert extends Components.BqAlert {\n /**\n * Callback handler to be called when the alert is hidden\n */\n bqHide: EventEmitter<CustomEvent<any>>;\n /**\n * Callback handler to be called when the alert is shown\n */\n bqShow: EventEmitter<CustomEvent<any>>;\n /**\n * Callback handler to be called after the alert has been shown\n */\n bqAfterShow: EventEmitter<CustomEvent<any>>;\n /**\n * Callback handler to be called after the alert has been hidden\n */\n bqAfterHide: EventEmitter<CustomEvent<any>>;\n}\n\n\n@ProxyCmp({\n inputs: ['altText', 'image', 'initials', 'label', 'shape', 'size']\n})\n@Component({\n selector: 'bq-avatar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['altText', 'image', 'initials', 'label', 'shape', 'size'],\n standalone: false\n})\nexport class BqAvatar {\n protected el: HTMLBqAvatarElement;\n /**\n * Alternate text for the avatar image if the image cannot be displayed\n */\n set altText(_: Components.BqAvatar['altText']) {};\n /**\n * The image source to load on the avatar (this can be also a base64 encoded image)\n */\n set image(_: Components.BqAvatar['image']) {};\n /**\n * A text to use for describing the avatar on assistive devices\n */\n set label(_: Components.BqAvatar['label']) {};\n /**\n * The text to display on avatar\n */\n set initials(_: Components.BqAvatar['initials']) {};\n /**\n * The shape of the avatar @default 'circle'\n */\n set shape(_: Components.BqAvatar['shape']) {};\n /**\n * The size of the avatar @default 'medium'\n */\n set size(_: Components.BqAvatar['size']) {};\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqAvatar extends Components.BqAvatar {}\n\n\n@ProxyCmp({\n inputs: ['backgroundColor', 'size', 'textColor']\n})\n@Component({\n selector: 'bq-badge',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['backgroundColor', 'size', 'textColor'],\n standalone: false\n})\nexport class BqBadge {\n protected el: HTMLBqBadgeElement;\n /**\n * Badge background color. The value should be a valid value of the palette color\n */\n set backgroundColor(_: Components.BqBadge['backgroundColor']) {};\n /**\n * Badge number color. The value should be a valid value of the palette color\n */\n set textColor(_: Components.BqBadge['textColor']) {};\n /**\n * The size of the badge. Relevant if badge has no content. @default 'small'\n */\n set size(_: Components.BqBadge['size']) {};\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqBadge extends Components.BqBadge {}\n\n\n@ProxyCmp({\n inputs: ['label']\n})\n@Component({\n selector: 'bq-breadcrumb',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['label'],\n standalone: false\n})\nexport class BqBreadcrumb {\n protected el: HTMLBqBreadcrumbElement;\n /**\n * The `aria-label` attribute to describe the type of navigation @default 'Breadcrumbs'\n */\n set label(_: Components.BqBreadcrumb['label']) {};\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqBreadcrumb extends Components.BqBreadcrumb {}\n\n\n@ProxyCmp({\n inputs: ['href', 'rel', 'target']\n})\n@Component({\n selector: 'bq-breadcrumb-item',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['href', 'rel', 'target'],\n outputs: ['bqBlur', 'bqFocus', 'bqClick'],\n standalone: false\n})\nexport class BqBreadcrumbItem {\n protected el: HTMLBqBreadcrumbItemElement;\n /**\n * If set, the breadcrumb item will be rendered as an `<a>` with this `href`, otherwise, a `<button>` will be rendered.\n */\n set href(_: Components.BqBreadcrumbItem['href']) {};\n /**\n * Where to display the link in the browser context. Relevant only if `href` is set.\n */\n set target(_: Components.BqBreadcrumbItem['target']) {};\n /**\n * Where to display the link in the browser context. Relevant only if `href` is set. @default 'noreferrer noopener'\n */\n set rel(_: Components.BqBreadcrumbItem['rel']) {};\n @Output() bqBlur = new EventEmitter<CustomEvent<HTMLBqBreadcrumbItemElement>>();\n @Output() bqFocus = new EventEmitter<CustomEvent<HTMLBqBreadcrumbItemElement>>();\n @Output() bqClick = new EventEmitter<CustomEvent<HTMLBqBreadcrumbItemElement>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqBreadcrumbItem extends Components.BqBreadcrumbItem {\n /**\n * Handler to be called when item loses focus\n */\n bqBlur: EventEmitter<CustomEvent<HTMLBqBreadcrumbItemElement>>;\n /**\n * Handler to be called when item is focused\n */\n bqFocus: EventEmitter<CustomEvent<HTMLBqBreadcrumbItemElement>>;\n /**\n * Handler to be called when item is clicked\n */\n bqClick: EventEmitter<CustomEvent<HTMLBqBreadcrumbItemElement>>;\n}\n\n\n@ProxyCmp({\n inputs: ['appearance', 'block', 'border', 'disabled', 'download', 'href', 'justifyContent', 'loading', 'size', 'target', 'type', 'variant']\n})\n@Component({\n selector: 'bq-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['appearance', 'block', 'border', 'disabled', 'download', 'href', 'justifyContent', 'loading', 'size', 'target', 'type', 'variant'],\n outputs: ['bqBlur', 'bqFocus', 'bqClick'],\n standalone: false\n})\nexport class BqButton {\n protected el: HTMLBqButtonElement;\n /**\n * The appearance style to apply to the button @default 'primary'\n */\n set appearance(_: Components.BqButton['appearance']) {};\n /**\n * If `true`, it will make the button fit to its parent width. @default false\n */\n set block(_: Components.BqButton['block']) {};\n /**\n * The corner radius of the button @default 'm'\n */\n set border(_: Components.BqButton['border']) {};\n /**\n * If true, the button will be disabled (no interaction allowed) @default false\n */\n set disabled(_: Components.BqButton['disabled']) {};\n /**\n * Tells the browser to treat the linked URL as a download. Only used when `href` is set.\nDetails: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-download\n */\n set download(_: Components.BqButton['download']) {};\n /**\n * When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`\n */\n set href(_: Components.BqButton['href']) {};\n /**\n * It determinate how the content should be aligned @default 'center'\n */\n set justifyContent(_: Components.BqButton['justifyContent']) {};\n /**\n * If `true` it will display the button in a loading state @default false\n */\n set loading(_: Components.BqButton['loading']) {};\n /**\n * The size of the button @default 'medium'\n */\n set size(_: Components.BqButton['size']) {};\n /**\n * Where to display the linked URL, as the name for a browsing context (a `tab`, `window`, or `<iframe>`)\nDetails: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target\n */\n set target(_: Components.BqButton['target']) {};\n /**\n * The default behavior of the button @default 'button'\n */\n set type(_: Components.BqButton['type']) {};\n /**\n * The variant of button to apply on top of the appearance (applicable only to `appearance=\"primary\"`) @default 'standard'\n */\n set variant(_: Components.BqButton['variant']) {};\n @Output() bqBlur = new EventEmitter<CustomEvent<HTMLBqButtonElement>>();\n @Output() bqFocus = new EventEmitter<CustomEvent<HTMLBqButtonElement>>();\n @Output() bqClick = new EventEmitter<CustomEvent<HTMLBqButtonElement>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqButton extends Components.BqButton {\n /**\n * Handler to be called when the button loses focus.\n */\n bqBlur: EventEmitter<CustomEvent<HTMLBqButtonElement>>;\n /**\n * Handler to be called when the button gets focus.\n */\n bqFocus: EventEmitter<CustomEvent<HTMLBqButtonElement>>;\n /**\n * Handler to be called when the button is clicked.\n */\n bqClick: EventEmitter<CustomEvent<HTMLBqButtonElement>>;\n}\n\n\n@ProxyCmp({\n inputs: ['border', 'type']\n})\n@Component({\n selector: 'bq-card',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['border', 'type'],\n standalone: false\n})\nexport class BqCard {\n protected el: HTMLBqCardElement;\n /**\n * Type of card component @default 'default'\n */\n set type(_: Components.BqCard['type']) {};\n /**\n * The corner radius of the card component @default 'm'\n */\n set border(_: Components.BqCard['border']) {};\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqCard extends Components.BqCard {}\n\n\n@ProxyCmp({\n inputs: ['backgroundOnHover', 'checked', 'disabled', 'formId', 'formValidationMessage', 'indeterminate', 'name', 'required', 'value'],\n methods: ['vClick', 'vFocus', 'vBlur']\n})\n@Component({\n selector: 'bq-checkbox',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['backgroundOnHover', 'checked', 'disabled', 'formId', 'formValidationMessage', 'indeterminate', { name: 'name', required: true }, 'required', { name: 'value', required: true }],\n outputs: ['bqChange', 'bqFocus', 'bqBlur'],\n standalone: false\n})\nexport class BqCheckbox {\n protected el: HTMLBqCheckboxElement;\n /**\n * If true checkbox displays background on hover @default false\n */\n set backgroundOnHover(_: Components.BqCheckbox['backgroundOnHover']) {};\n /**\n * The form ID that the checkbox is associated with\n */\n set formId(_: Components.BqCheckbox['formId']) {};\n /**\n * The native form validation message\n */\n set formValidationMessage(_: Components.BqCheckbox['formValidationMessage']) {};\n /**\n * If true checkbox is checked\n */\n set checked(_: Components.BqCheckbox['checked']) {};\n /**\n * If true checkbox is disabled @default false\n */\n set disabled(_: Components.BqCheckbox['disabled']) {};\n /**\n * A state that is neither checked nor unchecked @default false\n */\n set indeterminate(_: Components.BqCheckbox['indeterminate']) {};\n /**\n * Name of the HTML input form control. Submitted with the form as part of a name/value pair.\n */\n set name(_: Components.BqCheckbox['name']) {};\n /**\n * If `true`, it will indicate that the user must specify a value for the checkbox before the owning form can be submitted\n */\n set required(_: Components.BqCheckbox['required']) {};\n /**\n * A string representing the value of the checkbox. Primarily used to differentiate a list of related checkboxes that have the same name.\n */\n set value(_: Components.BqCheckbox['value']) {};\n @Output() bqChange = new EventEmitter<CustomEvent<{ checked: boolean }>>();\n @Output() bqFocus = new EventEmitter<CustomEvent<HTMLBqCheckboxElement>>();\n @Output() bqBlur = new EventEmitter<CustomEvent<HTMLBqCheckboxElement>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqCheckbox extends Components.BqCheckbox {\n /**\n * Handler to be called when the checkbox state changes\n */\n bqChange: EventEmitter<CustomEvent<{ checked: boolean }>>;\n /**\n * Handler to be called when the checkbox gets focus\n */\n bqFocus: EventEmitter<CustomEvent<HTMLBqCheckboxElement>>;\n /**\n * Handler to be called when the checkbox loses focus\n */\n bqBlur: EventEmitter<CustomEvent<HTMLBqCheckboxElement>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autofocus', 'clearButtonLabel', 'disableClear', 'disabled', 'distance', 'firstDayOfWeek', 'form', 'formValidationMessage', 'formatOptions', 'isDateDisallowed', 'locale', 'max', 'min', 'months', 'monthsPerView', 'name', 'open', 'panelHeight', 'placeholder', 'placement', 'required', 'showOutsideDays', 'skidding', 'strategy', 'tentative', 'type', 'validationStatus', 'value'],\n methods: ['clear']\n})\n@Component({\n selector: 'bq-date-picker',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autofocus', 'clearButtonLabel', 'disableClear', 'disabled', 'distance', 'firstDayOfWeek', 'form', 'formValidationMessage', 'formatOptions', 'isDateDisallowed', 'locale', 'max', 'min', 'months', 'monthsPerView', { name: 'name', required: true }, 'open', 'panelHeight', 'placeholder', 'placement', 'required', 'showOutsideDays', 'skidding', 'strategy', 'tentative', 'type', 'validationStatus', 'value'],\n outputs: ['bqBlur', 'bqChange', 'bqClear', 'bqFocus'],\n standalone: false\n})\nexport class BqDatePicker {\n protected el: HTMLBqDatePickerElement;\n /**\n * If `true`, the Date picker input will be focused on component render\n */\n set autofocus(_: Components.BqDatePicker['autofocus']) {};\n /**\n * The clear button aria label @default 'Clear value'\n */\n set clearButtonLabel(_: Components.BqDatePicker['clearButtonLabel']) {};\n /**\n * If `true`, the clear button won't be displayed @default false\n */\n set disableClear(_: Components.BqDatePicker['disableClear']) {};\n /**\n * Indicates whether the Date picker input is disabled or not.\nIf `true`, the Date picker is disabled and cannot be interacted with. @default false\n */\n set disabled(_: Components.BqDatePicker['disabled']) {};\n /**\n * Represents the distance (gutter or margin) between the Date picker panel and the input element. @default 8\n */\n set distance(_: Components.BqDatePicker['distance']) {};\n /**\n * The first day of the week, where Sunday is 0, Monday is 1, etc @default 1\n */\n set firstDayOfWeek(_: Components.BqDatePicker['firstDayOfWeek']) {};\n /**\n * The options to use when formatting the displayed value.\nDetails: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat#using_options @default {\n day: 'numeric',\n month: 'short',\n year: 'numeric',\n }\n */\n set formatOptions(_: Components.BqDatePicker['formatOptions']) {};\n /**\n * The ID of the form that the Date picker input belongs to.\n */\n set form(_: Components.BqDatePicker['form']) {};\n /**\n * The native form validation message (mandatory if `required` is set)\n */\n set formValidationMessage(_: Components.BqDatePicker['formValidationMessage']) {};\n /**\n * A function that takes a date and returns true if the date should not be selectable\n */\n set isDateDisallowed(_: Components.BqDatePicker['isDateDisallowed']) {};\n /**\n * The locale for formatting dates. If not set, will use the browser's locale.\nDetails: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl#locales_argument @default 'en-GB'\n */\n set locale(_: Components.BqDatePicker['locale']) {};\n /**\n * The latest date that can be selected\n */\n set max(_: Components.BqDatePicker['max']) {};\n /**\n * The earliest date that can be selected\n */\n set min(_: Components.BqDatePicker['min']) {};\n /**\n * Number of months to show when range is `true`\n */\n set months(_: Components.BqDatePicker['months']) {};\n /**\n * Specifies how the next/previous buttons should navigate the calendar.\n- single: The buttons will navigate by a single month at a time.\n- months: The buttons will navigate by the number of months displayed per view. @default 'single'\n */\n set monthsPerView(_: Components.BqDatePicker['monthsPerView']) {};\n /**\n * The Date picker input name.\n */\n set name(_: Components.BqDatePicker['name']) {};\n /**\n * If `true`, the Date picker panel will be visible. @default false\n */\n set open(_: Components.BqDatePicker['open']) {};\n /**\n * When set, it will override the height of the Date picker panel. @default 'auto'\n */\n set panelHeight(_: Components.BqDatePicker['panelHeight']) {};\n /**\n * The Date picker input placeholder text value\n */\n set placeholder(_: Components.BqDatePicker['placeholder']) {};\n /**\n * Position of the Date picker panel @default 'bottom-end'\n */\n set placement(_: Components.BqDatePicker['placement']) {};\n /**\n * Indicates whether or not the Date picker input is required to be filled out before submitting the form.\n */\n set required(_: Components.BqDatePicker['required']) {};\n /**\n * Represents the skidding between the Date picker panel and the input element. @default 0\n */\n set skidding(_: Components.BqDatePicker['skidding']) {};\n /**\n * Whether to show days outside the month @default false\n */\n set showOutsideDays(_: Components.BqDatePicker['showOutsideDays']) {};\n /**\n * Defines the strategy to position the Date picker panel @default 'fixed'\n */\n set strategy(_: Components.BqDatePicker['strategy']) {};\n /**\n * The date that is tentatively selected e.g. the start of a range selection\n */\n set tentative(_: Components.BqDatePicker['tentative']) {};\n /**\n * It defines how the calendar will behave, allowing single date selection, range selection, or multiple date selection @default 'single'\n */\n set type(_: Components.BqDatePicker['type']) {};\n /**\n * The validation status of the Select input. @remarks This property is used to indicate the validation status of the select input. It can be set to one of the following values:\n- `'none'`: No validation status is set.\n- `'error'`: The input has a validation error.\n- `'warning'`: The input has a validation warning.\n- `'success'`: The input has passed validation.,@default 'none'\n */\n set validationStatus(_: Components.BqDatePicker['validationStatus']) {};\n /**\n * The select input value represents the currently selected date or range and can be used to reset the field to a previous value.\nAll dates are expected in ISO-8601 format (YYYY-MM-DD).\n */\n set value(_: Components.BqDatePicker['value']) {};\n @Output() bqBlur = new EventEmitter<CustomEvent<HTMLBqDatePickerElement>>();\n @Output() bqChange = new EventEmitter<CustomEvent<{ value: string; el: HTMLBqDatePickerElement }>>();\n @Output() bqClear = new EventEmitter<CustomEvent<HTMLBqDatePickerElement>>();\n @Output() bqFocus = new EventEmitter<CustomEvent<HTMLBqDatePickerElement>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqDatePicker extends Components.BqDatePicker {\n /**\n * Callback handler emitted when the input loses focus\n */\n bqBlur: EventEmitter<CustomEvent<HTMLBqDatePickerElement>>;\n /**\n * Callback handler emitted when the input value has changed and the input loses focus.\nThis handler is called whenever the user finishes typing or pasting text into the input field and then clicks outside of the input field.\n */\n bqChange: EventEmitter<CustomEvent<{ value: string; el: HTMLBqDatePickerElement }>>;\n /**\n * Callback handler emitted when the input value has been cleared\n */\n bqClear: EventEmitter<CustomEvent<HTMLBqDatePickerElement>>;\n /**\n * Callback handler emitted when the input has received focus\n */\n bqFocus: EventEmitter<CustomEvent<HTMLBqDatePickerElement>>;\n}\n\n\n@ProxyCmp({\n inputs: ['border', 'disableBackdrop', 'disableCloseClickOutside', 'disableCloseEscKeydown', 'footerAppearance', 'hideCloseButton', 'open', 'size'],\n methods: ['show', 'hide', 'cancel']\n})\n@Component({\n selector: 'bq-dialog',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['border', 'disableBackdrop', 'disableCloseClickOutside', 'disableCloseEscKeydown', 'footerAppearance', 'hideCloseButton', 'open', 'size'],\n outputs: ['bqCancel', 'bqClose', 'bqOpen', 'bqAfterOpen', 'bqAfterClose'],\n standalone: false\n})\nexport class BqDialog {\n protected el: HTMLBqDialogElement;\n /**\n * Border radius of the dialog component @default 'm'\n */\n set border(_: Components.BqDialog['border']) {};\n /**\n * If true, the backdrop overlay won't be shown when the dialog opens @default false\n */\n set disableBackdrop(_: Components.BqDialog['disableBackdrop']) {};\n /**\n * If true, the dialog will not close when the [Esc] key is press @default false\n */\n set disableCloseEscKeydown(_: Components.BqDialog['disableCloseEscKeydown']) {};\n /**\n * If true, the dialog will not close when clicking on the backdrop overlay @default false\n */\n set disableCloseClickOutside(_: Components.BqDialog['disableCloseClickOutside']) {};\n /**\n * The appearance of footer @default 'standard'\n */\n set footerAppearance(_: Components.BqDialog['footerAppearance']) {};\n /**\n * If true, it hides the close button @default false\n */\n set hideCloseButton(_: Components.BqDialog['hideCloseButton']) {};\n /**\n * If true, the dialog will be shown as open @default false\n */\n set open(_: Components.BqDialog['open']) {};\n /**\n * The size of the dialog @default 'medium'\n */\n set size(_: Components.BqDialog['size']) {};\n @Output() bqCancel = new EventEmitter<CustomEvent<void>>();\n @Output() bqClose = new EventEmitter<CustomEvent<void>>();\n @Output() bqOpen = new EventEmitter<CustomEvent<void>>();\n @Output() bqAfterOpen = new EventEmitter<CustomEvent<void>>();\n @Output() bqAfterClose = new EventEmitter<CustomEvent<void>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqDialog extends Components.BqDialog {\n /**\n * Callback handler emitted when the dialog has been canceled or dismissed\n */\n bqCancel: EventEmitter<CustomEvent<void>>;\n /**\n * Callback handler emitted when the dialog will close\n */\n bqClose: EventEmitter<CustomEvent<void>>;\n /**\n * Callback handler emitted when the dialog will open\n */\n bqOpen: EventEmitter<CustomEvent<void>>;\n /**\n * Callback handler emitted when the dialog finish opening\n */\n bqAfterOpen: EventEmitter<CustomEvent<void>>;\n /**\n * Callback handler emitted when the dialog finish closing\n */\n bqAfterClose: EventEmitter<CustomEvent<void>>;\n}\n\n\n@ProxyCmp({\n inputs: ['dashed', 'orientation', 'strokeBasis', 'strokeColor', 'strokeDashGap', 'strokeDashWidth', 'strokeLinecap', 'strokeThickness', 'titleAlignment']\n})\n@Component({\n selector: 'bq-divider',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['dashed', 'orientation', 'strokeBasis', 'strokeColor', 'strokeDashGap', 'strokeDashWidth', 'strokeLinecap', 'strokeThickness', 'titleAlignment'],\n standalone: false\n})\nexport class BqDivider {\n protected el: HTMLBqDividerElement;\n /**\n * If true, the divider has a dashed pattern @default false\n */\n set dashed(_: Components.BqDivider['dashed']) {};\n /**\n * The default orientation of the divider @default 'horizontal'\n */\n set orientation(_: Components.BqDivider['orientation']) {};\n /**\n * Set the stroke color of the divider. The value should be a valid value of the palette color @default 'stroke--primary'\n */\n set strokeColor(_: Components.BqDivider['strokeColor']) {};\n /**\n * Set the alignment of the title on the main axis of the divider (horizontal / vertical) @default 'middle'\n */\n set titleAlignment(_: Components.BqDivider['titleAlignment']) {};\n /**\n * Set the width of each dash of the divider's stroke. This is applicable when the stroke is dashed @default 12\n */\n set strokeDashWidth(_: Components.BqDivider['strokeDashWidth']) {};\n /**\n * Set the gap of the divider's stroke. This is applicable when the stroke is dashed @default 7\n */\n set strokeDashGap(_: Components.BqDivider['strokeDashGap']) {};\n /**\n * Set the thickness of the divider's stroke. Value expressed in px @default 1\n */\n set strokeThickness(_: Components.BqDivider['strokeThickness']) {};\n /**\n * Set the min width of the divider's stroke when text is not centered. Value expressed in px @default 0\n */\n set strokeBasis(_: Components.BqDivider['strokeBasis']) {};\n /**\n * Set the line of the divider's stroke. This is applicable when the stroke is dashed @default 'butt'\n */\n set strokeLinecap(_: Components.BqDivider['strokeLinecap']) {};\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqDivider extends Components.BqDivider {}\n\n\n@ProxyCmp({\n inputs: ['closeOnClickOutside', 'closeOnEsc', 'enableBackdrop', 'open', 'placement', 'position'],\n methods: ['hide', 'show']\n})\n@Component({\n selector: 'bq-drawer',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['closeOnClickOutside', 'closeOnEsc', 'enableBackdrop', 'open', 'placement', 'position'],\n outputs: ['bqClose', 'bqOpen', 'bqAfterOpen', 'bqAfterClose'],\n standalone: false\n})\nexport class BqDrawer {\n protected el: HTMLBqDrawerElement;\n /**\n * If true, the backdrop overlay will be shown when the drawer opens @default false\n */\n set enableBackdrop(_: Components.BqDrawer['enableBackdrop']) {};\n /**\n * If true, the drawer will not close when clicking outside the panel @default false\n */\n set closeOnClickOutside(_: Components.BqDrawer['closeOnClickOutside']) {};\n /**\n * If true, the dialog will not close when the [Esc] key is pressed @default false\n */\n set closeOnEsc(_: Components.BqDrawer['closeOnEsc']) {};\n /**\n * If true, the drawer component will be shown\n */\n set open(_: Components.BqDrawer['open']) {};\n /**\n * @deprecated Defines the position of the drawer,@default 'right'\n */\n set placement(_: Components.BqDrawer['placement']) {};\n /**\n * Defines the position of the drawer @default 'end'\n */\n set position(_: Components.BqDrawer['position']) {};\n @Output() bqClose = new EventEmitter<CustomEvent<any>>();\n @Output() bqOpen = new EventEmitter<CustomEvent<any>>();\n @Output() bqAfterOpen = new EventEmitter<CustomEvent<any>>();\n @Output() bqAfterClose = new EventEmitter<CustomEvent<any>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqDrawer extends Components.BqDrawer {\n /**\n * Callback handler to be called when the drawer is closed\n */\n bqClose: EventEmitter<CustomEvent<any>>;\n /**\n * Callback handler to be called when the drawer is opened\n */\n bqOpen: EventEmitter<CustomEvent<any>>;\n /**\n * Callback handler to be called after the drawer has been opened\n */\n bqAfterOpen: EventEmitter<CustomEvent<any>>;\n /**\n * Callback handler to be called after the drawer has been closed\n */\n bqAfterClose: EventEmitter<CustomEvent<any>>;\n}\n\n\n@ProxyCmp({\n inputs: ['disableScrollLock', 'disabled', 'distance', 'keepOpenOnSelect', 'open', 'panelHeight', 'placement', 'sameWidth', 'skidding', 'strategy']\n})\n@Component({\n selector: 'bq-dropdown',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['disableScrollLock', 'disabled', 'distance', 'keepOpenOnSelect', 'open', 'panelHeight', 'placement', 'sameWidth', 'skidding', 'strategy'],\n outputs: ['bqOpen'],\n standalone: false\n})\nexport class BqDropdown {\n protected el: HTMLBqDropdownElement;\n /**\n * If true, the dropdown panel will not lock the page body scroll when open. @default false\n */\n set disableScrollLock(_: Components.BqDropdown['disableScrollLock']) {};\n /**\n * If true, the dropdown panel will be visible and won't be shown. @default false\n */\n set disabled(_: Components.BqDropdown['disabled']) {};\n /**\n * Represents the distance (gutter or margin) between the panel and the trigger element. @default 4\n */\n set distance(_: Components.BqDropdown['distance']) {};\n /**\n * If true, the panel will remain open after a selection is made. @default false\n */\n set keepOpenOnSelect(_: Components.BqDropdown['keepOpenOnSelect']) {};\n /**\n * Position of the panel @default 'bottom-start'\n */\n set placement(_: Components.BqDropdown['placement']) {};\n /**\n * If true, the panel will be visible. @default false\n */\n set open(_: Components.BqDropdown['open']) {};\n /**\n * When set, it will override the height of the dropdown panel\n */\n set panelHeight(_: Components.BqDropdown['panelHeight']) {};\n /**\n * Whether the panel should have the same width as the trigger element @default false\n */\n set sameWidth(_: Components.BqDropdown['sameWidth']) {};\n /**\n * Represents the skidding between the panel and the trigger element. @default 0\n */\n set skidding(_: Components.BqDropdown['skidding']) {};\n /**\n * Defines the strategy to position the panel @default 'fixed'\n */\n set strategy(_: Components.BqDropdown['strategy']) {};\n @Output() bqOpen = new EventEmitter<CustomEvent<{ open: boolean }>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqDropdown extends Components.BqDropdown {\n /**\n * Callback handler to be called when the dropdown panel is opened or closed.\n */\n bqOpen: EventEmitter<CustomEvent<{ open: boolean }>>;\n}\n\n\n@ProxyCmp({\n inputs: ['size']\n})\n@Component({\n selector: 'bq-empty-state',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['size'],\n standalone: false\n})\nexport class BqEmptyState {\n protected el: HTMLBqEmptyStateElement;\n /**\n * The size of the empty state component @default 'medium'\n */\n set size(_: Components.BqEmptyState['size']) {};\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqEmptyState extends Components.BqEmptyState {}\n\n\n@ProxyCmp({\n inputs: ['color', 'label', 'name', 'size', 'src', 'weight']\n})\n@Component({\n selector: 'bq-icon',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['color', 'label', 'name', 'size', 'src', 'weight'],\n outputs: ['svgLoaded'],\n standalone: false\n})\nexport class BqIcon {\n protected el: HTMLBqIconElement;\n /**\n * Label for the icon, used for accessibility\n */\n set label(_: Components.BqIcon['label']) {};\n /**\n * Set the stroke color of the SVG. The value should be a valid value of the palette color\n */\n set color(_: Components.BqIcon['color']) {};\n /**\n * Icon name to load. Please check all available icons [here](https://phosphoricons.com/)\n */\n set name(_: Components.BqIcon['name']) {};\n /**\n * Set the size of the SVG @default 24\n */\n set size(_: Components.BqIcon['size']) {};\n /**\n * Set the source of the SVG. If the source is set, the name property will be ignored\n */\n set src(_: Components.BqIcon['src']) {};\n /**\n * @deprecated It set the icon weight/style,@default undefined\n */\n set weight(_: Components.BqIcon['weight']) {};\n @Output() svgLoaded = new EventEmitter<CustomEvent<any>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqIcon extends Components.BqIcon {\n /**\n * Callback handler to be called when the SVG has loaded\n */\n svgLoaded: EventEmitter<CustomEvent<any>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autocapitalize', 'autocomplete', 'autofocus', 'clearButtonLabel', 'debounceTime', 'disableClear', 'disabled', 'form', 'formValidationMessage', 'inputmode', 'max', 'maxlength', 'min', 'minlength', 'name', 'pattern', 'placeholder', 'readonly', 'required', 'step', 'type', 'validationStatus', 'value']\n})\n@Component({\n selector: 'bq-input',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autocapitalize', 'autocomplete', 'autofocus', 'clearButtonLabel', 'debounceTime', 'disableClear', 'disabled', 'form', 'formValidationMessage', 'inputmode', 'max', 'maxlength', 'min', 'minlength', { name: 'name', required: true }, 'pattern', 'placeholder', 'readonly', 'required', 'step', 'type', 'validationStatus', 'value'],\n outputs: ['bqBlur', 'bqChange', 'bqClear', 'bqFocus', 'bqInput'],\n standalone: false\n})\nexport class BqInput {\n protected el: HTMLBqInputElement;\n /**\n * Controls whether or not the input field should be capitalized and how.\nPossible values are 'off', 'none', 'on', 'sentences', 'words', and 'characters'. @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autocapitalize,@default 'off'\n */\n set autocapitalize(_: Components.BqInput['autocapitalize']) {};\n /**\n * Specifies whether or not the input field should have autocomplete enabled. @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#values,@default 'off'\n */\n set autocomplete(_: Components.BqInput['autocomplete']) {};\n /**\n * If true, the input will be focused on component render @default false\n */\n set autofocus(_: Components.BqInput['autofocus']) {};\n /**\n * The clear button aria label @default 'Clear value'\n */\n set clearButtonLabel(_: Components.BqInput['clearButtonLabel']) {};\n /**\n * The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the input value changes.\nA value of 0 means no debouncing will occur. @default 0\n */\n set debounceTime(_: Components.BqInput['debounceTime']) {};\n /**\n * Indicates whether the input is disabled or not.\nIf `true`, the input is disabled and cannot be interacted with. @default false\n */\n set disabled(_: Components.BqInput['disabled']) {};\n /**\n * If true, the clear button won't be displayed @default false\n */\n set disableClear(_: Components.BqInput['disableClear']) {};\n /**\n * The ID of the form that the input field belongs to.\n */\n set form(_: Components.BqInput['form']) {};\n /**\n * The native form validation message (mandatory if `required` is set)\n */\n set formValidationMessage(_: Components.BqInput['formValidationMessage']) {};\n /**\n * The inputmode attribute specifies what kind of input mechanism would be most helpful for users entering content into the input field.\nThis allows a browser to display an appropriate virtual keyboard while editing.\nPossible values are 'none', 'text', 'decimal', 'numeric', 'tel', 'search', 'email', 'url', and 'date'.\n */\n set inputmode(_: Components.BqInput['inputmode']) {};\n /**\n * The maximum value that the input field can accept.\nOnly applies to date and number input types.\n */\n set max(_: Components.BqInput['max']) {};\n /**\n * The maximum number of characters that the input field can accept.\n */\n set maxlength(_: Components.BqInput['maxlength']) {};\n /**\n * The minimum value that the input field can accept.\nOnly applies to date and number input types.\n */\n set min(_: Components.BqInput['min']) {};\n /**\n * The minimum number of characters that the input field can accept.\n */\n set minlength(_: Components.BqInput['minlength']) {};\n /**\n * The input field name.\n */\n set name(_: Components.BqInput['name']) {};\n /**\n * Specifies a regular expression the form control's value should match. @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/pattern\n */\n set pattern(_: Components.BqInput['pattern']) {};\n /**\n * The input placeholder text value\n */\n set placeholder(_: Components.BqInput['placeholder']) {};\n /**\n * If true, the input field cannot be modified.\n */\n set readonly(_: Components.BqInput['readonly']) {};\n /**\n * Indicates whether or not the input field is required to be filled out before submitting the form.\n */\n set required(_: Components.BqInput['required']) {};\n /**\n * A number that specifies the granularity that the value must adhere to.\nValid for date, month, week, time, datetime-local, number, and range. @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#step\n */\n set step(_: Components.BqInput['step']) {};\n /**\n * The type attribute specifies the type of input field to display.\nPossible values are 'text', 'password', 'email', 'number', 'tel', 'search', 'url', and more. @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types,@default 'text'\n */\n set type(_: Components.BqInput['type']) {};\n /**\n * The validation status of the input. @remarks This property is used to indicate the validation status of the input. It can be set to one of the following values:\n- `'none'`: No validation status is set.\n- `'error'`: The input has a validation error.\n- `'warning'`: The input has a validation warning.\n- `'success'`: The input has passed validation.,@default 'none'\n */\n set validationStatus(_: Components.BqInput['validationStatus']) {};\n /**\n * The input value, it can be used to reset the input to a previous value\n */\n set value(_: Components.BqInput['value']) {};\n @Output() bqBlur = new EventEmitter<CustomEvent<HTMLBqInputElement>>();\n @Output() bqChange = new EventEmitter<CustomEvent<{ value: string | number | string[]; el: HTMLBqInputElement }>>();\n @Output() bqClear = new EventEmitter<CustomEvent<HTMLBqInputElement>>();\n @Output() bqFocus = new EventEmitter<CustomEvent<HTMLBqInputElement>>();\n @Output() bqInput = new EventEmitter<CustomEvent<{ value: string | number | string[]; el: HTMLBqInputElement }>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqInput extends Components.BqInput {\n /**\n * Callback handler emitted when the input loses focus\n */\n bqBlur: EventEmitter<CustomEvent<HTMLBqInputElement>>;\n /**\n * Callback handler emitted when the input value has changed and the input loses focus.\nThis handler is called whenever the user finishes typing or pasting text into the input field and then clicks outside of the input field.\n */\n bqChange: EventEmitter<CustomEvent<{ value: string | number | string[]; el: HTMLBqInputElement }>>;\n /**\n * Callback handler emitted when the input value has been cleared\n */\n bqClear: EventEmitter<CustomEvent<HTMLBqInputElement>>;\n /**\n * Callback handler emitted when the input has received focus\n */\n bqFocus: EventEmitter<CustomEvent<HTMLBqInputElement>>;\n /**\n * Callback handler emitted when the input value changes.\nThis handler is called whenever the user types or pastes text into the input field.\n */\n bqInput: EventEmitter<CustomEvent<{ value: string | number | string[]; el: HTMLBqInputElement }>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autoDismiss', 'border', 'disableClose', 'hideIcon', 'open', 'time', 'type'],\n methods: ['hide', 'show', 'toast']\n})\n@Component({\n selector: 'bq-notification',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autoDismiss', 'border', 'disableClose', 'hideIcon', 'open', 'time', 'type'],\n outputs: ['bqHide', 'bqShow', 'bqAfterOpen', 'bqAfterClose'],\n standalone: false\n})\nexport class BqNotification {\n protected el: HTMLBqNotificationElement;\n /**\n * If true, the notification will automatically hide after the specified amount of time\n */\n set autoDismiss(_: Components.BqNotification['autoDismiss']) {};\n /**\n * The corder radius of the notification component @default 's'\n */\n set border(_: Components.BqNotification['border']) {};\n /**\n * If true, the close button at the top right of the notification won't be shown\n */\n set disableClose(_: Components.BqNotification['disableClose']) {};\n /**\n * If true, the notification icon won't be shown\n */\n set hideIcon(_: Components.BqNotification['hideIcon']) {};\n /**\n * If true, the notification will be shown\n */\n set open(_: Components.BqNotification['open']) {};\n /**\n * The length of time, in milliseconds, after which the notification will close itself. Only valid if `autoDismiss=\"true\"` @default 3000\n */\n set time(_: Components.BqNotification['time']) {};\n /**\n * Type of Notification @default 'info'\n */\n set type(_: Components.BqNotification['type']) {};\n @Output() bqHide = new EventEmitter<CustomEvent<any>>();\n @Output() bqShow = new EventEmitter<CustomEvent<any>>();\n @Output() bqAfterOpen = new EventEmitter<CustomEvent<any>>();\n @Output() bqAfterClose = new EventEmitter<CustomEvent<any>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqNotification extends Components.BqNotification {\n /**\n * Callback handler to be called when the notification is hidden\n */\n bqHide: EventEmitter<CustomEvent<any>>;\n /**\n * Callback handler to be called when the notification is shown\n */\n bqShow: EventEmitter<CustomEvent<any>>;\n /**\n * Callback handler to be called after the notification has been opened\n */\n bqAfterOpen: EventEmitter<CustomEvent<any>>;\n /**\n * Callback handler to be called after the notification has been closed\n */\n bqAfterClose: EventEmitter<CustomEvent<any>>;\n}\n\n\n@ProxyCmp({\n inputs: ['disabled', 'displayValue', 'hidden', 'selected', 'value']\n})\n@Component({\n selector: 'bq-option',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['disabled', 'displayValue', 'hidden', 'selected', 'value'],\n outputs: ['bqBlur', 'bqFocus', 'bqClick', 'bqEnter'],\n standalone: false\n})\nexport class BqOption {\n protected el: HTMLBqOptionElement;\n /**\n * If true, the option is hidden. @default false\n */\n set hidden(_: Components.BqOption['hidden']) {};\n /**\n * If true, the option is disabled. @default false\n */\n set disabled(_: Components.BqOption['disabled']) {};\n /**\n * The display value of the option. It can be used to override the default displayed value.\n */\n set displayValue(_: Components.BqOption['displayValue']) {};\n /**\n * If true, the option is selected and active. @default false\n */\n set selected(_: Components.BqOption['selected']) {};\n /**\n * A string representing the value of the option. Can be used to identify the item\n */\n set value(_: Components.BqOption['value']) {};\n @Output() bqBlur = new EventEmitter<CustomEvent<HTMLBqOptionElement>>();\n @Output() bqFocus = new EventEmitter<CustomEvent<HTMLBqOptionElement>>();\n @Output() bqClick = new EventEmitter<CustomEvent<HTMLBqOptionElement>>();\n @Output() bqEnter = new EventEmitter<CustomEvent<HTMLBqOptionElement>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqOption extends Components.BqOption {\n /**\n * Handler to be called when item loses focus\n */\n bqBlur: EventEmitter<CustomEvent<HTMLBqOptionElement>>;\n /**\n * Handler to be called when item is focused\n */\n bqFocus: EventEmitter<CustomEvent<HTMLBqOptionElement>>;\n /**\n * Handler to be called when item is clicked\n */\n bqClick: EventEmitter<CustomEvent<HTMLBqOptionElement>>;\n /**\n * Handler to be called on enter key press\n */\n bqEnter: EventEmitter<CustomEvent<HTMLBqOptionElement>>;\n}\n\n\n@ProxyCmp({\n})\n@Component({\n selector: 'bq-option-group',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: [],\n standalone: false\n})\nexport class BqOptionGroup {\n protected el: HTMLBqOptionGroupElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqOptionGroup extends Components.BqOptionGroup {}\n\n\n@ProxyCmp({\n inputs: ['ariaLabel']\n})\n@Component({\n selector: 'bq-option-list',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['ariaLabel'],\n outputs: ['bqSelect'],\n standalone: false\n})\nexport class BqOptionList {\n protected el: HTMLBqOptionListElement;\n /**\n * Aria label for the list. @default 'Options'\n */\n set ariaLabel(_: Components.BqOptionList['ariaLabel']) {};\n @Output() bqSelect = new EventEmitter<CustomEvent<{ value: string; item: HTMLBqOptionElement }>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqOptionList extends Components.BqOptionList {\n /**\n * Handler to be called when `bq-option` is selected (on click/enter press).\n */\n bqSelect: EventEmitter<CustomEvent<{ value: string; item: HTMLBqOptionElement }>>;\n}\n\n\n@ProxyCmp({\n})\n@Component({\n selector: 'bq-page-title',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: [],\n standalone: false\n})\nexport class BqPageTitle {\n protected el: HTMLBqPageTitleElement;\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqPageTitle extends Components.BqPageTitle {}\n\n\n@ProxyCmp({\n inputs: ['disableScrollLock', 'distance', 'open', 'placement', 'sameWidth', 'skidding', 'strategy']\n})\n@Component({\n selector: 'bq-panel',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['disableScrollLock', 'distance', 'open', 'placement', 'sameWidth', 'skidding', 'strategy'],\n standalone: false\n})\nexport class BqPanel {\n protected el: HTMLBqPanelElement;\n /**\n * If true, the panel will not lock the page body scroll when open. @default false\n */\n set disableScrollLock(_: Components.BqPanel['disableScrollLock']) {};\n /**\n * Represents the distance (gutter or margin) between the panel and the trigger element. @default 4\n */\n set distance(_: Components.BqPanel['distance']) {};\n /**\n * Position of the panel @default 'bottom-start'\n */\n set placement(_: Components.BqPanel['placement']) {};\n /**\n * If true, the panel will be visible. @default false\n */\n set open(_: Components.BqPanel['open']) {};\n /**\n * Whether the panel should have the same width as the trigger element @default false\n */\n set sameWidth(_: Components.BqPanel['sameWidth']) {};\n /**\n * Represents the skidding between the panel and the trigger element. @default 0\n */\n set skidding(_: Components.BqPanel['skidding']) {};\n /**\n * Defines the strategy to position the panel @default 'fixed'\n */\n set strategy(_: Components.BqPanel['strategy']) {};\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqPanel extends Components.BqPanel {}\n\n\n@ProxyCmp({\n inputs: ['borderShape', 'enableTooltip', 'indeterminate', 'label', 'thickness', 'type', 'value']\n})\n@Component({\n selector: 'bq-progress',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['borderShape', 'enableTooltip', 'indeterminate', 'label', 'thickness', 'type', 'value'],\n standalone: false\n})\nexport class BqProgress {\n protected el: HTMLBqProgressElement;\n /**\n * It will set the border style of the progress bar @default 'rounded'\n */\n set borderShape(_: Components.BqProgress['borderShape']) {};\n /**\n * If `true`, a tooltip will be shown displaying the progress value @default false\n */\n set enableTooltip(_: Components.BqProgress['enableTooltip']) {};\n /**\n * If `true` the indeterminate state of progress bar is enabled @default false\n */\n set indeterminate(_: Components.BqProgress['indeterminate']) {};\n /**\n * If `true, a label text showing the value (in percentage) will be shown @default false\n */\n set label(_: Components.BqProgress['label']) {};\n /**\n * Progress bar thickness @default 'medium'\n */\n set thickness(_: Components.BqProgress['thickness']) {};\n /**\n * Progress type @default 'default'\n */\n set type(_: Components.BqProgress['type']) {};\n /**\n * A number representing the current value of the progress bar @default 0\n */\n set value(_: Components.BqProgress['value']) {};\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqProgress extends Components.BqProgress {}\n\n\n@ProxyCmp({\n inputs: ['backgroundOnHover', 'checked', 'disabled', 'formId', 'name', 'required', 'value'],\n methods: ['vClick', 'vFocus', 'vBlur', 'getNativeInput']\n})\n@Component({\n selector: 'bq-radio',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['backgroundOnHover', 'checked', 'disabled', 'formId', { name: 'name', required: true }, 'required', { name: 'value', required: true }],\n outputs: ['bqClick', 'bqFocus', 'bqBlur', 'bqKeyDown'],\n standalone: false\n})\nexport class BqRadio {\n protected el: HTMLBqRadioElement;\n /**\n * If true radio displays background on hover @default false\n */\n set backgroundOnHover(_: Components.BqRadio['backgroundOnHover']) {};\n /**\n * If true radio input is checked @default false\n */\n set checked(_: Components.BqRadio['checked']) {};\n /**\n * If true radio input is disabled @default false\n */\n set disabled(_: Components.BqRadio['disabled']) {};\n /**\n * The form ID that the radio input is associated with\n */\n set formId(_: Components.BqRadio['formId']) {};\n /**\n * Name of the HTML input form control. Submitted with the form as part of a name/value pair.\n */\n set name(_: Components.BqRadio['name']) {};\n /**\n * If `true`, it will indicate that the user must specify a value for the radio before the owning form can be submitted\n */\n set required(_: Components.BqRadio['required']) {};\n /**\n * A string representing the value of the radio.\n */\n set value(_: Components.BqRadio['value']) {};\n @Output() bqClick = new EventEmitter<CustomEvent<{ value: string; target: HTMLBqRadioElement }>>();\n @Output() bqFocus = new EventEmitter<CustomEvent<HTMLBqRadioElement>>();\n @Output() bqBlur = new EventEmitter<CustomEvent<HTMLBqRadioElement>>();\n @Output() bqKeyDown = new EventEmitter<CustomEvent<{ key: string; target: HTMLBqRadioElement }>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqRadio extends Components.BqRadio {\n /**\n * Handler to be called when the radio state changes\n */\n bqClick: EventEmitter<CustomEvent<{ value: string; target: HTMLBqRadioElement }>>;\n /**\n * Handler to be called when the radio gets focus\n */\n bqFocus: EventEmitter<CustomEvent<HTMLBqRadioElement>>;\n /**\n * Handler to be called when the radio loses focus\n */\n bqBlur: EventEmitter<CustomEvent<HTMLBqRadioElement>>;\n /**\n * Handler to be called when the radio key is pressed\n */\n bqKeyDown: EventEmitter<CustomEvent<{ key: string; target: HTMLBqRadioElement }>>;\n}\n\n\n@ProxyCmp({\n inputs: ['backgroundOnHover', 'debounceTime', 'disabled', 'fieldset', 'name', 'orientation', 'required', 'requiredValidationMessage', 'value']\n})\n@Component({\n selector: 'bq-radio-group',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['backgroundOnHover', 'debounceTime', 'disabled', 'fieldset', { name: 'name', required: true }, 'orientation', 'required', 'requiredValidationMessage', 'value'],\n outputs: ['bqChange', 'bqBlur'],\n standalone: false\n})\nexport class BqRadioGroup {\n protected el: HTMLBqRadioGroupElement;\n /**\n * If true, all radio inputs in the group will display a background on hover @default false\n */\n set backgroundOnHover(_: Components.BqRadioGroup['backgroundOnHover']) {};\n /**\n * A number representing the delay time (in milliseconds) that `bqChange` event handler gets triggered once the value change @default 0\n */\n set debounceTime(_: Components.BqRadioGroup['debounceTime']) {};\n /**\n * If true radio inputs are disabled @default false\n */\n set disabled(_: Components.BqRadioGroup['disabled']) {};\n /**\n * If true displays fieldset @default false\n */\n set fieldset(_: Components.BqRadioGroup['fieldset']) {};\n /**\n * Name of the HTML input form control. Submitted with the form as part of a name/value pair.\n */\n set name(_: Components.BqRadioGroup['name']) {};\n /**\n * The display orientation of the radio inputs @default 'vertical'\n */\n set orientation(_: Components.BqRadioGroup['orientation']) {};\n /**\n * If true, the radio group is required @default false\n */\n set required(_: Components.BqRadioGroup['required']) {};\n /**\n * The native form validation message when the radio group is required\n */\n set requiredValidationMessage(_: Components.BqRadioGroup['requiredValidationMessage']) {};\n /**\n * A string representing the value of the radio.\n */\n set value(_: Components.BqRadioGroup['value']) {};\n @Output() bqChange = new EventEmitter<CustomEvent<{ value: string; target: HTMLBqRadioElement }>>();\n @Output() bqBlur = new EventEmitter<CustomEvent<HTMLBqRadioElement>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqRadioGroup extends Components.BqRadioGroup {\n /**\n * Handler to be called when the radio state changes\n */\n bqChange: EventEmitter<CustomEvent<{ value: string; target: HTMLBqRadioElement }>>;\n /**\n * Handler to be called when the radio loses focus\n */\n bqBlur: EventEmitter<CustomEvent<HTMLBqRadioElement>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autofocus', 'clearButtonLabel', 'debounceTime', 'disableClear', 'disableScrollLock', 'disabled', 'distance', 'form', 'keepOpenOnSelect', 'maxTagsVisible', 'multiple', 'name', 'open', 'panelHeight', 'placeholder', 'placement', 'readonly', 'required', 'sameWidth', 'skidding', 'strategy', 'validationStatus', 'value'],\n methods: ['clear', 'reset']\n})\n@Component({\n selector: 'bq-select',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autofocus', 'clearButtonLabel', 'debounceTime', 'disableClear', 'disableScrollLock', 'disabled', 'distance', 'form', 'keepOpenOnSelect', 'maxTagsVisible', 'multiple', { name: 'name', required: true }, 'open', 'panelHeight', 'placeholder', 'placement', 'readonly', 'required', 'sameWidth', 'skidding', 'strategy', 'validationStatus', 'value'],\n outputs: ['bqBlur', 'bqClear', 'bqFocus', 'bqSelect', 'bqInput'],\n standalone: false\n})\nexport class BqSelect {\n protected el: HTMLBqSelectElement;\n /**\n * If true, the Select input will be focused on component render\n */\n set autofocus(_: Components.BqSelect['autofocus']) {};\n /**\n * The clear button aria label @default 'Clear value'\n */\n set clearButtonLabel(_: Components.BqSelect['clearButtonLabel']) {};\n /**\n * The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the input value changes.\nA value of 0 means no debouncing will occur. @default 0\n */\n set debounceTime(_: Components.BqSelect['debounceTime']) {};\n /**\n * If true, the Select panel will not lock the page body scroll when open. @default false\n */\n set disableScrollLock(_: Components.BqSelect['disableScrollLock']) {};\n /**\n * Indicates whether the Select input is disabled or not.\nIf `true`, the Select is disabled and cannot be interacted with. @default false\n */\n set disabled(_: Components.BqSelect['disabled']) {};\n /**\n * If true, the clear button won't be displayed @default false\n */\n set disableClear(_: Components.BqSelect['disableClear']) {};\n /**\n * Represents the distance (gutter or margin) between the Select panel and the input element. @default 8\n */\n set distance(_: Components.BqSelect['distance']) {};\n /**\n * The ID of the form that the Select input belongs to.\n */\n set form(_: Components.BqSelect['form']) {};\n /**\n * If true, the Select panel will remain open after a selection is made. @default false\n */\n set keepOpenOnSelect(_: Components.BqSelect['keepOpenOnSelect']) {};\n /**\n * The Select input name.\n */\n set name(_: Components.BqSelect['name']) {};\n /**\n * The maximum number of tags to display when multiple selection is enabled @default 2\n */\n set maxTagsVisible(_: Components.BqSelect['maxTagsVisible']) {};\n /**\n * If true, the Select input will allow multiple selections. @default false\n */\n set multiple(_: Components.BqSelect['multiple']) {};\n /**\n * If true, the Select panel will be visible. @default false\n */\n set open(_: Components.BqSelect['open']) {};\n /**\n * When set, it will override the height of the Select panel.\n */\n set panelHeight(_: Components.BqSelect['panelHeight']) {};\n /**\n * The Select input placeholder text value\n */\n set placeholder(_: Components.BqSelect['placeholder']) {};\n /**\n * Position of the Select panel @default 'bottom'\n */\n set placement(_: Components.BqSelect['placement']) {};\n /**\n * If true, the list of options cannot be filtered (searching won't be available)\n */\n set readonly(_: Components.BqSelect['readonly']) {};\n /**\n * Indicates whether or not the Select input is required to be filled out before submitting the form.\n */\n set required(_: Components.BqSelect['required']) {};\n /**\n * Whether the panel should have the Select same width as the input element @default true\n */\n set sameWidth(_: Components.BqSelect['sameWidth']) {};\n /**\n * Represents the skidding between the Select panel and the input element. @default 0\n */\n set skidding(_: Components.BqSelect['skidding']) {};\n /**\n * Defines the strategy to position the Select panel @default 'fixed'\n */\n set strategy(_: Components.BqSelect['strategy']) {};\n /**\n * The validation status of the Select input. @remarks This property is used to indicate the validation status of the select input. It can be set to one of the following values:\n- `'none'`: No validation status is set.\n- `'error'`: The input has a validation error.\n- `'warning'`: The input has a validation warning.\n- `'success'`: The input has passed validation.,@default 'none'\n */\n set validationStatus(_: Components.BqSelect['validationStatus']) {};\n /**\n * The select input value, it can be used to reset the field to a previous value\n */\n set value(_: Components.BqSelect['value']) {};\n @Output() bqBlur = new EventEmitter<CustomEvent<HTMLBqSelectElement>>();\n @Output() bqClear = new EventEmitter<CustomEvent<HTMLBqSelectElement>>();\n @Output() bqFocus = new EventEmitter<CustomEvent<HTMLBqSelectElement>>();\n @Output() bqSelect = new EventEmitter<CustomEvent<{ value: string | number | string[]; item: HTMLBqOptionElement }>>();\n @Output() bqInput = new EventEmitter<CustomEvent<{ value: string | number | string[] }>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqSelect extends Components.BqSelect {\n /**\n * Callback handler emitted when the Select input loses focus\n */\n bqBlur: EventEmitter<CustomEvent<HTMLBqSelectElement>>;\n /**\n * Callback handler emitted when the selected value has been cleared\n */\n bqClear: EventEmitter<CustomEvent<HTMLBqSelectElement>>;\n /**\n * Callback handler emitted when the Select input has received focus\n */\n bqFocus: EventEmitter<CustomEvent<HTMLBqSelectElement>>;\n /**\n * Callback handler emitted when the selected value has changed\n */\n bqSelect: EventEmitter<CustomEvent<{ value: string | number | string[]; item: HTMLBqOptionElement }>>;\n /**\n * Callback handler emitted when the Select input changes its value while typing\n */\n bqInput: EventEmitter<CustomEvent<{ value: string | number | string[] }>>;\n}\n\n\n@ProxyCmp({\n inputs: ['appearance', 'collapse', 'size'],\n methods: ['toggleCollapse']\n})\n@Component({\n selector: 'bq-side-menu',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['appearance', 'collapse', 'size'],\n outputs: ['bqCollapse', 'bqSelect'],\n standalone: false\n})\nexport class BqSideMenu {\n protected el: HTMLBqSideMenuElement;\n /**\n * It sets a predefined appearance of the side menu @default 'default'\n */\n set appearance(_: Components.BqSideMenu['appearance']) {};\n /**\n * If true, the container will reduce its width @default false\n */\n set collapse(_: Components.BqSideMenu['collapse']) {};\n /**\n * It sets the size of the navigation menu items @default 'medium'\n */\n set size(_: Components.BqSideMenu['size']) {};\n @Output() bqCollapse = new EventEmitter<CustomEvent<{ collapse: boolean }>>();\n @Output() bqSelect = new EventEmitter<CustomEvent<HTMLBqSideMenuItemElement>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqSideMenu extends Components.BqSideMenu {\n /**\n * Callback handler to be called when the Side menu changes its width from expanded to collapse and vice versa\n */\n bqCollapse: EventEmitter<CustomEvent<{ collapse: boolean }>>;\n /**\n * Callback handler to be called when the active/selected menu item changes\n */\n bqSelect: EventEmitter<CustomEvent<HTMLBqSideMenuItemElement>>;\n}\n\n\n@ProxyCmp({\n inputs: ['active', 'collapse', 'disabled']\n})\n@Component({\n selector: 'bq-side-menu-item',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['active', 'collapse', 'disabled'],\n outputs: ['bqBlur', 'bqFocus', 'bqClick'],\n standalone: false\n})\nexport class BqSideMenuItem {\n protected el: HTMLBqSideMenuItemElement;\n /**\n * If true, the menu item will be shown as active/selected. @default false\n */\n set active(_: Components.BqSideMenuItem['active']) {};\n /**\n * If true, the item label and suffix will be hidden and the `width` will be reduced according to its parent. @default false\n */\n set collapse(_: Components.BqSideMenuItem['collapse']) {};\n /**\n * If true, the menu item will be disabled (no interaction allowed) @default false\n */\n set disabled(_: Components.BqSideMenuItem['disabled']) {};\n @Output() bqBlur = new EventEmitter<CustomEvent<HTMLBqSideMenuItemElement>>();\n @Output() bqFocus = new EventEmitter<CustomEvent<HTMLBqSideMenuItemElement>>();\n @Output() bqClick = new EventEmitter<CustomEvent<HTMLBqSideMenuItemElement>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqSideMenuItem extends Components.BqSideMenuItem {\n /**\n * Handler to be called when the button loses focus\n */\n bqBlur: EventEmitter<CustomEvent<HTMLBqSideMenuItemElement>>;\n /**\n * Handler to be called when the button is clicked\n */\n bqFocus: EventEmitter<CustomEvent<HTMLBqSideMenuItemElement>>;\n /**\n * Handler to be called when button gets focus\n */\n bqClick: EventEmitter<CustomEvent<HTMLBqSideMenuItemElement>>;\n}\n\n\n@ProxyCmp({\n inputs: ['debounceTime', 'disabled', 'enableTooltip', 'enableValueIndicator', 'gap', 'max', 'min', 'name', 'step', 'tooltipAlwaysVisible', 'type', 'value']\n})\n@Component({\n selector: 'bq-slider',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['debounceTime', 'disabled', 'enableTooltip', 'enableValueIndicator', 'gap', 'max', 'min', 'name', 'step', 'tooltipAlwaysVisible', 'type', 'value'],\n outputs: ['bqChange', 'bqBlur', 'bqFocus'],\n standalone: false\n})\nexport class BqSlider {\n protected el: HTMLBqSliderElement;\n /**\n * The amount of time, in milliseconds, to wait to trigger the `bqChange` event after each value change. @default 0\n */\n set debounceTime(_: Components.BqSlider['debounceTime']) {};\n /**\n * If `true` the slider is disabled. @default false\n */\n set disabled(_: Components.BqSlider['disabled']) {};\n /**\n * If `true` it will show the value label on a side of the slider track area @default false\n */\n set enableValueIndicator(_: Components.BqSlider['enableValueIndicator']) {};\n /**\n * A number representing the amount to remain between the minimum and maximum values (only for range type). @default 0\n */\n set gap(_: Components.BqSlider['gap']) {};\n /**\n * A number representing the max value of the slider. @default 100\n */\n set max(_: Components.BqSlider['max']) {};\n /**\n * A number representing the min value of the slider. @default 0\n */\n set min(_: Components.BqSlider['min']) {};\n /**\n * Name of the form control. Submitted with the form as part of a name/value pair\n */\n set name(_: Components.BqSlider['name']) {};\n /**\n * A number representing the step of the slider.\n⚠️ Please notice that the value (or list of values if the slider type is `range`) will be rounded to the nearest multiple of `step`. @default 1\n */\n set step(_: Components.BqSlider['step']) {};\n /**\n * It defines the type of slider to display @default 'single'\n */\n set type(_: Components.BqSlider['type']) {};\n /**\n * The value of the slider.\n- If the slider type is `single`, the value is a number.\n- If the slider type is `range`, the value is an array of two numbers (the first number represents the `min` value and the second number represents the `max` value).\n */\n set value(_: Components.BqSlider['value']) {};\n /**\n * If `true`, a tooltip will be shown displaying the progress value @default false\n */\n set enableTooltip(_: Components.BqSlider['enableTooltip']) {};\n /**\n * If `true`, a tooltip will always display the progress value.\nIt relies on enableTooltip and if enableTooltip is false, tooltipAlwaysVisible cannot be true. @default false\n */\n set tooltipAlwaysVisible(_: Components.BqSlider['tooltipAlwaysVisible']) {};\n @Output() bqChange = new EventEmitter<CustomEvent<{ value: Exclude<IBqSliderTSliderValue, string>; el: HTMLBqSliderElement }>>();\n @Output() bqBlur = new EventEmitter<CustomEvent<HTMLBqSliderElement>>();\n @Output() bqFocus = new EventEmitter<CustomEvent<HTMLBqSliderElement>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nimport type { TSliderValue as IBqSliderTSliderValue } from '@beeq/core';\n\nexport declare interface BqSlider extends Components.BqSlider {\n /**\n * Handler to be called when change the value on range inputs\n */\n bqChange: EventEmitter<CustomEvent<{ value: Exclude<IBqSliderTSliderValue, string>; el: HTMLBqSliderElement }>>;\n /**\n * Handler to be called when the slider loses focus\n */\n bqBlur: EventEmitter<CustomEvent<HTMLBqSliderElement>>;\n /**\n * Handler to be called when the slider gets focused\n */\n bqFocus: EventEmitter<CustomEvent<HTMLBqSliderElement>>;\n}\n\n\n@ProxyCmp({\n inputs: ['animation', 'size', 'textPosition']\n})\n@Component({\n selector: 'bq-spinner',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['animation', 'size', 'textPosition'],\n standalone: false\n})\nexport class BqSpinner {\n protected el: HTMLBqSpinnerElement;\n /**\n * If `false`, the animation on the icon element will be stopped @default true\n */\n set animation(_: Components.BqSpinner['animation']) {};\n /**\n * It defines the position of the label text @default 'none'\n */\n set textPosition(_: Components.BqSpinner['textPosition']) {};\n /**\n * It defines the size of the icon element displayed @default 'medium'\n */\n set size(_: Components.BqSpinner['size']) {};\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqSpinner extends Components.BqSpinner {}\n\n\n@ProxyCmp({\n inputs: ['type']\n})\n@Component({\n selector: 'bq-status',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['type'],\n standalone: false\n})\nexport class BqStatus {\n protected el: HTMLBqStatusElement;\n /**\n * It defines the type of status to display @default 'neutral'\n */\n set type(_: Components.BqStatus['type']) {};\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqStatus extends Components.BqStatus {}\n\n\n@ProxyCmp({\n inputs: ['size', 'status', 'type']\n})\n@Component({\n selector: 'bq-step-item',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['size', 'status', 'type'],\n outputs: ['bqClick', 'bqFocus', 'bqBlur'],\n standalone: false\n})\nexport class BqStepItem {\n protected el: HTMLBqStepItemElement;\n /**\n * It defines prefix size @default 'medium'\n */\n set size(_: Components.BqStepItem['size']) {};\n /**\n * It defines step item appearance based on its status @default 'default'\n */\n set status(_: Components.BqStepItem['status']) {};\n /**\n * It defines the step item type used\n */\n set type(_: Components.BqStepItem['type']) {};\n @Output() bqClick = new EventEmitter<CustomEvent<HTMLBqStepItemElement>>();\n @Output() bqFocus = new EventEmitter<CustomEvent<HTMLBqStepItemElement>>();\n @Output() bqBlur = new EventEmitter<CustomEvent<HTMLBqStepItemElement>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqStepItem extends Components.BqStepItem {\n /**\n * Callback handler triggered when the step item is clicked\n */\n bqClick: EventEmitter<CustomEvent<HTMLBqStepItemElement>>;\n /**\n * Callback handler triggered when the step item is focused\n */\n bqFocus: EventEmitter<CustomEvent<HTMLBqStepItemElement>>;\n /**\n * Callback handler triggered when the step item loses focus\n */\n bqBlur: EventEmitter<CustomEvent<HTMLBqStepItemElement>>;\n}\n\n\n@ProxyCmp({\n inputs: ['dividerColor', 'size', 'type'],\n methods: ['setCurrentStepItem']\n})\n@Component({\n selector: 'bq-steps',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['dividerColor', 'size', 'type'],\n standalone: false\n})\nexport class BqSteps {\n protected el: HTMLBqStepsElement;\n /**\n * The color of the line that connects the steps. It should be a valid declarative color token. @default 'stroke--primary'\n */\n set dividerColor(_: Components.BqSteps['dividerColor']) {};\n /**\n * The size of the steps @default 'medium'\n */\n set size(_: Components.BqSteps['size']) {};\n /**\n * The type of prefix element to use on the step items\n */\n set type(_: Components.BqSteps['type']) {};\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqSteps extends Components.BqSteps {}\n\n\n@ProxyCmp({\n inputs: ['backgroundOnHover', 'checked', 'disabled', 'formValidationMessage', 'fullWidth', 'innerLabel', 'justifyContent', 'name', 'required', 'reverseOrder', 'value'],\n methods: ['vClick', 'vFocus', 'vBlur']\n})\n@Component({\n selector: 'bq-switch',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['backgroundOnHover', 'checked', 'disabled', 'formValidationMessage', 'fullWidth', 'innerLabel', 'justifyContent', { name: 'name', required: true }, 'required', 'reverseOrder', 'value'],\n outputs: ['bqChange', 'bqFocus', 'bqBlur'],\n standalone: false\n})\nexport class BqSwitch {\n protected el: HTMLBqSwitchElement;\n /**\n * If true, a background will be displayed on hover @default false\n */\n set backgroundOnHover(_: Components.BqSwitch['backgroundOnHover']) {};\n /**\n * It indicates whether if the switch is `ON` by default (when the page loads) @default false\n */\n set checked(_: Components.BqSwitch['checked']) {};\n /**\n * If true, the switch control will be disabled and no interaction will be allowed @default false\n */\n set disabled(_: Components.BqSwitch['disabled']) {};\n /**\n * The native form validation message\n */\n set formValidationMessage(_: Components.BqSwitch['formValidationMessage']) {};\n /**\n * If true, the component will take the full width space available on the parent container @default false\n */\n set fullWidth(_: Components.BqSwitch['fullWidth']) {};\n /**\n * It indicates how to to display the on/off marks inside the control, with icons or none (default) @default 'default'\n */\n set innerLabel(_: Components.BqSwitch['innerLabel']) {};\n /**\n * It defines how to distribute the space between and around the control and the label text\n(https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content) @default 'start'\n */\n set justifyContent(_: Components.BqSwitch['justifyContent']) {};\n /**\n * Name of the form control. Submitted with the form as part of a name/value pair\n */\n set name(_: Components.BqSwitch['name']) {};\n /**\n * If `true`, it will indicate that the user must switch `ON` the element before the owning form can be submitted @default false\n */\n set required(_: Components.BqSwitch['required']) {};\n /**\n * If true, the order of the control and the label text will be changed @default false\n */\n set reverseOrder(_: Components.BqSwitch['reverseOrder']) {};\n /**\n * The input control's value, submitted as a name/value pair with form data.\n */\n set value(_: Components.BqSwitch['value']) {};\n @Output() bqChange = new EventEmitter<CustomEvent<{ checked: boolean }>>();\n @Output() bqFocus = new EventEmitter<CustomEvent<HTMLBqSwitchElement>>();\n @Output() bqBlur = new EventEmitter<CustomEvent<HTMLBqSwitchElement>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqSwitch extends Components.BqSwitch {\n /**\n * Handler to be called when the switch state changes\n */\n bqChange: EventEmitter<CustomEvent<{ checked: boolean }>>;\n /**\n * Handler to be called when the switch gets focus\n */\n bqFocus: EventEmitter<CustomEvent<HTMLBqSwitchElement>>;\n /**\n * Handler to be called when the switch loses focus\n */\n bqBlur: EventEmitter<CustomEvent<HTMLBqSwitchElement>>;\n}\n\n\n@ProxyCmp({\n inputs: ['active', 'controls', 'disabled', 'orientation', 'placement', 'size', 'tabId'],\n methods: ['vClick', 'vFocus', 'vBlur']\n})\n@Component({\n selector: 'bq-tab',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['active', { name: 'controls', required: true }, 'disabled', 'orientation', 'placement', 'size', { name: 'tabId', required: true }],\n outputs: ['bqClick', 'bqFocus', 'bqBlur', 'bqKeyDown'],\n standalone: false\n})\nexport class BqTab {\n protected el: HTMLBqTabElement;\n /**\n * If true tab is active\n */\n set active(_: Components.BqTab['active']) {};\n /**\n * The tab panel id that the tab controls\n */\n set controls(_: Components.BqTab['controls']) {};\n /**\n * If true tab is disabled @default false\n */\n set disabled(_: Components.BqTab['disabled']) {};\n /**\n * The direction that tab should be render @default 'horizontal'\n */\n set orientation(_: Components.BqTab['orientation']) {};\n /**\n * The placement that tab should be render @default 'start'\n */\n set placement(_: Components.BqTab['placement']) {};\n /**\n * The size of the tab @default 'medium'\n */\n set size(_: Components.BqTab['size']) {};\n /**\n * The id of the tab\n */\n set tabId(_: Components.BqTab['tabId']) {};\n @Output() bqClick = new EventEmitter<CustomEvent<HTMLBqTabElement>>();\n @Output() bqFocus = new EventEmitter<CustomEvent<HTMLBqTabElement>>();\n @Output() bqBlur = new EventEmitter<CustomEvent<HTMLBqTabElement>>();\n @Output() bqKeyDown = new EventEmitter<CustomEvent<KeyboardEvent>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqTab extends Components.BqTab {\n /**\n * Handler to be called when the tab state changes\n */\n bqClick: EventEmitter<CustomEvent<HTMLBqTabElement>>;\n /**\n * Handler to be called when the tab gets focus\n */\n bqFocus: EventEmitter<CustomEvent<HTMLBqTabElement>>;\n /**\n * Handler to be called when the tab loses focus\n */\n bqBlur: EventEmitter<CustomEvent<HTMLBqTabElement>>;\n /**\n * Handler to be called when the tab key is pressed\n */\n bqKeyDown: EventEmitter<CustomEvent<KeyboardEvent>>;\n}\n\n\n@ProxyCmp({\n inputs: ['debounceTime', 'disableDivider', 'orientation', 'placement', 'size', 'value']\n})\n@Component({\n selector: 'bq-tab-group',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['debounceTime', 'disableDivider', 'orientation', 'placement', 'size', 'value'],\n outputs: ['bqChange'],\n standalone: false\n})\nexport class BqTabGroup {\n protected el: HTMLBqTabGroupElement;\n /**\n * A number representing the delay value applied to bqChange event handler @default 0\n */\n set debounceTime(_: Components.BqTabGroup['debounceTime']) {};\n /**\n * If true, the underline divider below the tabs won't be shown @default false\n */\n set disableDivider(_: Components.BqTabGroup['disableDivider']) {};\n /**\n * The direction that tab should be render @default 'horizontal'\n */\n set orientation(_: Components.BqTabGroup['orientation']) {};\n /**\n * The placement that tab should be render @default 'start'\n */\n set placement(_: Components.BqTabGroup['placement']) {};\n /**\n * The size of the tab @default 'medium'\n */\n set size(_: Components.BqTabGroup['size']) {};\n /**\n * A string representing the id of the selected tab.\n */\n set value(_: Components.BqTabGroup['value']) {};\n @Output() bqChange = new EventEmitter<CustomEvent<{ target: HTMLBqTabElement; value: string }>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqTabGroup extends Components.BqTabGroup {\n /**\n * Handler to be called when the tab value changes\n */\n bqChange: EventEmitter<CustomEvent<{ target: HTMLBqTabElement; value: string }>>;\n}\n\n\n@ProxyCmp({\n inputs: ['border', 'clickable', 'color', 'disabled', 'hidden', 'removable', 'selected', 'size', 'variant'],\n methods: ['hide', 'show']\n})\n@Component({\n selector: 'bq-tag',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['border', 'clickable', 'color', 'disabled', 'hidden', 'removable', 'selected', 'size', 'variant'],\n outputs: ['bqClose', 'bqOpen', 'bqBlur', 'bqClick', 'bqFocus'],\n standalone: false\n})\nexport class BqTag {\n protected el: HTMLBqTagElement;\n /**\n * The corner radius of the Tag (will override size's predefined border)\n */\n set border(_: Components.BqTag['border']) {};\n /**\n * If true, the Tag can be clickable @default false\n */\n set clickable(_: Components.BqTag['clickable']) {};\n /**\n * The color style of the Tag\n */\n set color(_: Components.BqTag['color']) {};\n /**\n * If true, the Tag will be disabled (only if clickable = `true`, no interaction allowed) @default false\n */\n set disabled(_: Components.BqTag['disabled']) {};\n /**\n * If true, the Tag component will hidden (only if removable = `true`)\n */\n set hidden(_: Components.BqTag['hidden']) {};\n /**\n * If true, the Tag component can be removed @default false\n */\n set removable(_: Components.BqTag['removable']) {};\n /**\n * If true, the Tag is selected (only if clickable = `true`) @default false\n */\n set selected(_: Components.BqTag['selected']) {};\n /**\n * The size of the Tag component @default 'medium'\n */\n set size(_: Components.BqTag['size']) {};\n /**\n * The variant of Tag to apply on top of the variant @default 'filled'\n */\n set variant(_: Components.BqTag['variant']) {};\n @Output() bqClose = new EventEmitter<CustomEvent<any>>();\n @Output() bqOpen = new EventEmitter<CustomEvent<any>>();\n @Output() bqBlur = new EventEmitter<CustomEvent<HTMLBqTagElement>>();\n @Output() bqClick = new EventEmitter<CustomEvent<HTMLBqTagElement>>();\n @Output() bqFocus = new EventEmitter<CustomEvent<HTMLBqTagElement>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqTag extends Components.BqTag {\n /**\n * Callback handler to be called when the tag is close/hidden\n */\n bqClose: EventEmitter<CustomEvent<any>>;\n /**\n * Callback handler to be called when the tag is not open/shown\n */\n bqOpen: EventEmitter<CustomEvent<any>>;\n /**\n * Handler to be called when tag loses focus\n */\n bqBlur: EventEmitter<CustomEvent<HTMLBqTagElement>>;\n /**\n * Handler to be called when tag is clicked\n */\n bqClick: EventEmitter<CustomEvent<HTMLBqTagElement>>;\n /**\n * Handler to be called when tag is focused\n */\n bqFocus: EventEmitter<CustomEvent<HTMLBqTagElement>>;\n}\n\n\n@ProxyCmp({\n inputs: ['autoGrow', 'autocapitalize', 'autocomplete', 'autofocus', 'debounceTime', 'disableResize', 'disabled', 'form', 'formValidationMessage', 'maxlength', 'name', 'placeholder', 'readonly', 'required', 'rows', 'spellcheck', 'validationStatus', 'value', 'wrap']\n})\n@Component({\n selector: 'bq-textarea',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['autoGrow', 'autocapitalize', 'autocomplete', 'autofocus', 'debounceTime', 'disableResize', 'disabled', 'form', 'formValidationMessage', 'maxlength', { name: 'name', required: true }, { name: 'placeholder', required: true }, 'readonly', 'required', 'rows', 'spellcheck', 'validationStatus', 'value', 'wrap'],\n outputs: ['bqBlur', 'bqChange', 'bqClear', 'bqFocus', 'bqInput'],\n standalone: false\n})\nexport class BqTextarea {\n protected el: HTMLBqTextareaElement;\n /**\n * Controls whether or not the textarea field should be capitalized and how.\nPossible values are 'off', 'none', 'on', 'sentences', 'words', and 'characters'. @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autocapitalize,@default 'off'\n */\n set autocapitalize(_: Components.BqTextarea['autocapitalize']) {};\n /**\n * Specifies whether or not the textarea field should have autocomplete enabled. @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#values,@default 'off'\n */\n set autocomplete(_: Components.BqTextarea['autocomplete']) {};\n /**\n * If true, the textarea will be focused on component render @default false\n */\n set autofocus(_: Components.BqTextarea['autofocus']) {};\n /**\n * If `true`, the textarea will automatically grow and shrink to fit its contents.\nIf `false`, the textarea will have a fixed height specified by the `rows` property. @default false\n */\n set autoGrow(_: Components.BqTextarea['autoGrow']) {};\n /**\n * The amount of time, in milliseconds, to wait before emitting the `bqInput` event after the textarea value changes.\nA value of 0 means no debouncing will occur. @default 0\n */\n set debounceTime(_: Components.BqTextarea['debounceTime']) {};\n /**\n * If `true`, the user cannot interact with the textarea. @default false\n */\n set disabled(_: Components.BqTextarea['disabled']) {};\n /**\n * If `true`, it will block the user's ability to resize the textarea. @default false\n */\n set disableResize(_: Components.BqTextarea['disableResize']) {};\n /**\n * The ID of the form that the textarea field belongs to.\n */\n set form(_: Components.BqTextarea['form']) {};\n /**\n * The native form validation message\n */\n set formValidationMessage(_: Components.BqTextarea['formValidationMessage']) {};\n /**\n * The maximum number of characters that can be entered into the textarea (`0`: no limit).\nWhen enabled, a character counter will be shown underneath the textarea.\n */\n set maxlength(_: Components.BqTextarea['maxlength']) {};\n /**\n * The name of the textarea element.\n */\n set name(_: Components.BqTextarea['name']) {};\n /**\n * The placeholder text to show when there is no value.\n */\n set placeholder(_: Components.BqTextarea['placeholder']) {};\n /**\n * If true, the textarea field cannot be modified. @default false\n */\n set readonly(_: Components.BqTextarea['readonly']) {};\n /**\n * Indicates whether or not the textarea field is required to be filled out before submitting the form. @default false\n */\n set required(_: Components.BqTextarea['required']) {};\n /**\n * The number of visible text lines for the control. It must be a positive integer. @default 5\n */\n set rows(_: Components.BqTextarea['rows']) {};\n /**\n * If true, the textarea content may be checked for spelling errors. @default false\n */\n set spellcheck(_: Components.BqTextarea['spellcheck']) {};\n /**\n * The validation status of the textarea. @remarks This property is used to indicate the validation status of the textarea. It can be set to one of the following values:\n- `'none'`: No validation status is set.\n- `'error'`: The textarea has a validation error.\n- `'warning'`: The textarea has a validation warning.\n- `'success'`: The textarea has passed validation.,@default 'none'\n */\n set validationStatus(_: Components.BqTextarea['validationStatus']) {};\n /**\n * The value of the textarea. It can be used to reset the textarea to a previous value.\n */\n set value(_: Components.BqTextarea['value']) {};\n /**\n * Specifies how the text in a text area is to be wrapped when submitted in a form @default 'soft'\n */\n set wrap(_: Components.BqTextarea['wrap']) {};\n @Output() bqBlur = new EventEmitter<CustomEvent<HTMLBqTextareaElement>>();\n @Output() bqChange = new EventEmitter<CustomEvent<{ value: string; el: HTMLBqTextareaElement }>>();\n @Output() bqClear = new EventEmitter<CustomEvent<HTMLBqTextareaElement>>();\n @Output() bqFocus = new EventEmitter<CustomEvent<HTMLBqTextareaElement>>();\n @Output() bqInput = new EventEmitter<CustomEvent<{ value: string; el: HTMLBqTextareaElement }>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqTextarea extends Components.BqTextarea {\n /**\n * Callback handler emitted when the textarea loses focus\n */\n bqBlur: EventEmitter<CustomEvent<HTMLBqTextareaElement>>;\n /**\n * Callback handler emitted when the textarea value has changed and the textarea loses focus.\nThis handler is called whenever the user finishes typing or pasting text into the textarea field and then clicks outside of the textarea field.\n */\n bqChange: EventEmitter<CustomEvent<{ value: string; el: HTMLBqTextareaElement }>>;\n /**\n * Callback handler emitted when the textarea value has been cleared\n */\n bqClear: EventEmitter<CustomEvent<HTMLBqTextareaElement>>;\n /**\n * Callback handler emitted when the textarea has received focus\n */\n bqFocus: EventEmitter<CustomEvent<HTMLBqTextareaElement>>;\n /**\n * Callback handler emitted when the textarea value changes.\nThis handler is called whenever the user types or pastes text into the textarea field.\n */\n bqInput: EventEmitter<CustomEvent<{ value: string; el: HTMLBqTextareaElement }>>;\n}\n\n\n@ProxyCmp({\n inputs: ['border', 'hideIcon', 'open', 'placement', 'time', 'type'],\n methods: ['show', 'hide', 'toast']\n})\n@Component({\n selector: 'bq-toast',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['border', 'hideIcon', 'open', 'placement', 'time', 'type'],\n outputs: ['bqHide', 'bqShow'],\n standalone: false\n})\nexport class BqToast {\n protected el: HTMLBqToastElement;\n /**\n * The corder radius of the toast component @default 's'\n */\n set border(_: Components.BqToast['border']) {};\n /**\n * Type of toast @default 'info'\n */\n set type(_: Components.BqToast['type']) {};\n /**\n * Placement of toast @default 'bottom-center'\n */\n set placement(_: Components.BqToast['placement']) {};\n /**\n * If true will hide toast icon @default false\n */\n set hideIcon(_: Components.BqToast['hideIcon']) {};\n /**\n * If true, the toast will be shown\n */\n set open(_: Components.BqToast['open']) {};\n /**\n * The length of time, in milliseconds, after which the toast will close itself @default 3000\n */\n set time(_: Components.BqToast['time']) {};\n @Output() bqHide = new EventEmitter<CustomEvent<HTMLBqToastElement>>();\n @Output() bqShow = new EventEmitter<CustomEvent<HTMLBqToastElement>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqToast extends Components.BqToast {\n /**\n * Callback handler to be called when the notification is hidden\n */\n bqHide: EventEmitter<CustomEvent<HTMLBqToastElement>>;\n /**\n * Callback handler to be called when the notification is shown\n */\n bqShow: EventEmitter<CustomEvent<HTMLBqToastElement>>;\n}\n\n\n@ProxyCmp({\n inputs: ['alwaysVisible', 'displayOn', 'distance', 'hideArrow', 'placement', 'sameWidth', 'visible'],\n methods: ['show', 'hide']\n})\n@Component({\n selector: 'bq-tooltip',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: '<ng-content></ng-content>',\n // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property\n inputs: ['alwaysVisible', 'displayOn', 'distance', 'hideArrow', 'placement', 'sameWidth', 'visible'],\n outputs: ['bqClick', 'bqFocusIn', 'bqFocusOut', 'bqHoverIn', 'bqHoverOut'],\n standalone: false\n})\nexport class BqTooltip {\n protected el: HTMLBqTooltipElement;\n /**\n * If true, the tooltip will always be visible @default false\n */\n set alwaysVisible(_: Components.BqTooltip['alwaysVisible']) {};\n /**\n * Distance between trigger element and tooltip @default 10\n */\n set distance(_: Components.BqTooltip['distance']) {};\n /**\n * If true, the arrow on the tooltip content won't be shown @default false\n */\n set hideArrow(_: Components.BqTooltip['hideArrow']) {};\n /**\n * @default 'top'\n */\n set placement(_: Components.BqTooltip['placement']) {};\n /**\n * Whether the tooltip should have the same width as the trigger element\n(applicable only for content shorter than the trigger element) @default false\n */\n set sameWidth(_: Components.BqTooltip['sameWidth']) {};\n /**\n * Set the action when the tooltip should be displayed, on hover (default) or click @default 'hover'\n */\n set displayOn(_: Components.BqTooltip['displayOn']) {};\n /**\n * Indicates whether or not the tooltip is visible when the component is first rendered,\nand when interacting with the trigger @default false\n */\n set visible(_: Components.BqTooltip['visible']) {};\n @Output() bqClick = new EventEmitter<CustomEvent<HTMLBqTooltipElement>>();\n @Output() bqFocusIn = new EventEmitter<CustomEvent<HTMLBqTooltipElement>>();\n @Output() bqFocusOut = new EventEmitter<CustomEvent<HTMLBqTooltipElement>>();\n @Output() bqHoverIn = new EventEmitter<CustomEvent<HTMLBqTooltipElement>>();\n @Output() bqHoverOut = new EventEmitter<CustomEvent<HTMLBqTooltipElement>>();\n constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {\n c.detach();\n this.el = r.nativeElement;\n }\n}\n\n\nexport declare interface BqTooltip extends Components.BqTooltip {\n /**\n * Emitted when the tooltip trigger is clicked\n */\n bqClick: EventEmitter<CustomEvent<HTMLBqTooltipElement>>;\n /**\n * Emitted when the tooltip trigger is focused in\n */\n bqFocusIn: EventEmitter<CustomEvent<HTMLBqTooltipElement>>;\n /**\n * Emitted when the tooltip trigger is focused out\n */\n bqFocusOut: EventEmitter<CustomEvent<HTMLBqTooltipElement>>;\n /**\n * Emitted when the tooltip trigger is hovered in\n */\n bqHoverIn: EventEmitter<CustomEvent<HTMLBqTooltipElement>>;\n /**\n * Emitted when the tooltip trigger is hovered out\n */\n bqHoverOut: EventEmitter<CustomEvent<HTMLBqTooltipElement>>;\n}\n\n\n","\nimport * as d from './components';\n\nexport const DIRECTIVES = [\n d.BqAccordion,\n d.BqAccordionGroup,\n d.BqAlert,\n d.BqAvatar,\n d.BqBadge,\n d.BqBreadcrumb,\n d.BqBreadcrumbItem,\n d.BqButton,\n d.BqCard,\n d.BqCheckbox,\n d.BqDatePicker,\n d.BqDialog,\n d.BqDivider,\n d.BqDrawer,\n d.BqDropdown,\n d.BqEmptyState,\n d.BqIcon,\n d.BqInput,\n d.BqNotification,\n d.BqOption,\n d.BqOptionGroup,\n d.BqOptionList,\n d.BqPageTitle,\n d.BqPanel,\n d.BqProgress,\n d.BqRadio,\n d.BqRadioGroup,\n d.BqSelect,\n d.BqSideMenu,\n d.BqSideMenuItem,\n d.BqSlider,\n d.BqSpinner,\n d.BqStatus,\n d.BqStepItem,\n d.BqSteps,\n d.BqSwitch,\n d.BqTab,\n d.BqTabGroup,\n d.BqTag,\n d.BqTextarea,\n d.BqToast,\n d.BqTooltip\n];\n","// @ts-nocheck\n\n/**\n * The directives folder containing the value accessors is generated dynamically\n * when compiling the `beeq` package.\n * ⚠️ Since this file won't change that much, it is safe to disable TypeScript checking.\n */\n\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport { APP_INITIALIZER, type ModuleWithProviders, NgModule, NgZone } from '@angular/core';\nimport { defineCustomElements } from '@beeq/core/dist/loader';\n\nimport { DIRECTIVES } from './directives';\nimport { BooleanValueAccessor } from './directives/boolean-value-accessor';\nimport { NumericValueAccessor } from './directives/number-value-accessor';\nimport { RadioValueAccessor } from './directives/radio-value-accessor';\nimport { SelectValueAccessor } from './directives/select-value-accessor';\nimport { TextValueAccessor } from './directives/text-value-accessor';\n\nconst DECLARATIONS = [\n ...DIRECTIVES,\n // ngModel Accessors\n BooleanValueAccessor,\n NumericValueAccessor,\n RadioValueAccessor,\n SelectValueAccessor,\n TextValueAccessor,\n];\n\n@NgModule({\n imports: [CommonModule],\n declarations: DECLARATIONS,\n exports: DECLARATIONS,\n})\nexport class BeeQModule {\n static forRoot(): ModuleWithProviders<BeeQModule> {\n return {\n ngModule: BeeQModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: () => defineCustomElements,\n multi: true,\n deps: [DOCUMENT, NgZone],\n },\n ],\n };\n }\n}\n","// @ts-nocheck\n/** biome-ignore-all assist/source/organizeImports: we want to keep the exports as is */\n\n/**\n * The directives folder containing the value accessors is generated dynamically\n * when compiling the `beeq` package.\n * ⚠️ Since this file won't change that much, it is safe to disable TypeScript checking.\n */\n\n/* -------------------------------------------------------------------------- */\n/* DIRECTIVES */\n/* -------------------------------------------------------------------------- */\n\nexport { BooleanValueAccessor } from './directives/boolean-value-accessor';\nexport { NumericValueAccessor } from './directives/number-value-accessor';\nexport { RadioValueAccessor } from './directives/radio-value-accessor';\nexport { SelectValueAccessor } from './directives/select-value-accessor';\nexport { TextValueAccessor } from './directives/text-value-accessor';\n\nexport * from './directives/components';\n\n/* -------------------------------------------------------------------------- */\n/* PACKAGE MODULE */\n/* -------------------------------------------------------------------------- */\n\nexport { BeeQModule } from './beeq.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["d.BqAccordion","d.BqAccordionGroup","d.BqAlert","d.BqAvatar","d.BqBadge","d.BqBreadcrumb","d.BqBreadcrumbItem","d.BqButton","d.BqCard","d.BqCheckbox","d.BqDatePicker","d.BqDialog","d.BqDivider","d.BqDrawer","d.BqDropdown","d.BqEmptyState","d.BqIcon","d.BqInput","d.BqNotification","d.BqOption","d.BqOptionGroup","d.BqOptionList","d.BqPageTitle","d.BqPanel","d.BqProgress","d.BqRadio","d.BqRadioGroup","d.BqSelect","d.BqSideMenu","d.BqSideMenuItem","d.BqSlider","d.BqSpinner","d.BqStatus","d.BqStepItem","d.BqSteps","d.BqSwitch","d.BqTab","d.BqTabGroup","d.BqTag","d.BqTextarea","d.BqToast","d.BqTooltip","i1.BqAccordion","i1.BqAccordionGroup","i1.BqAlert","i1.BqAvatar","i1.BqBadge","i1.BqBreadcrumb","i1.BqBreadcrumbItem","i1.BqButton","i1.BqCard","i1.BqCheckbox","i1.BqDatePicker","i1.BqDialog","i1.BqDivider","i1.BqDrawer","i1.BqDropdown","i1.BqEmptyState","i1.BqIcon","i1.BqInput","i1.BqNotification","i1.BqOption","i1.BqOptionGroup","i1.BqOptionList","i1.BqPageTitle","i1.BqPanel","i1.BqProgress","i1.BqRadio","i1.BqRadioGroup","i1.BqSelect","i1.BqSideMenu","i1.BqSideMenuItem","i1.BqSlider","i1.BqSpinner","i1.BqStatus","i1.BqStepItem","i1.BqSteps","i1.BqSwitch","i1.BqTab","i1.BqTabGroup","i1.BqTag","i1.BqTextarea","i1.BqToast","i1.BqTooltip"],"mappings":"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"}
|