@skyux/forms 10.0.0-alpha.2 → 10.0.0-alpha.3

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.
Files changed (40) hide show
  1. package/documentation.json +3432 -2622
  2. package/esm2022/lib/modules/character-counter/character-counter-indicator.component.mjs +3 -3
  3. package/esm2022/lib/modules/checkbox/checkbox-label-text-label.component.mjs +30 -0
  4. package/esm2022/lib/modules/checkbox/checkbox-label.component.mjs +2 -1
  5. package/esm2022/lib/modules/checkbox/checkbox.component.mjs +49 -4
  6. package/esm2022/lib/modules/checkbox/checkbox.module.mjs +10 -3
  7. package/esm2022/lib/modules/file-attachment/file-attachment-label.component.mjs +11 -3
  8. package/esm2022/lib/modules/file-attachment/file-attachment.component.mjs +12 -3
  9. package/esm2022/lib/modules/form-error/form-errors.component.mjs +3 -3
  10. package/esm2022/lib/modules/input-box/input-box-help-inline.component.mjs +3 -3
  11. package/esm2022/lib/modules/input-box/input-box-hint-text.pipe.mjs +23 -0
  12. package/esm2022/lib/modules/input-box/input-box-host.service.mjs +13 -1
  13. package/esm2022/lib/modules/input-box/input-box.component.mjs +14 -3
  14. package/esm2022/lib/modules/input-box/input-box.module.mjs +4 -1
  15. package/esm2022/lib/modules/radio/radio-group.component.mjs +6 -6
  16. package/esm2022/lib/modules/radio/radio.component.mjs +2 -2
  17. package/esm2022/lib/modules/toggle-switch/toggle-switch-label.component.mjs +11 -3
  18. package/esm2022/lib/modules/toggle-switch/toggle-switch.component.mjs +38 -5
  19. package/esm2022/testing/checkbox/checkbox-harness.mjs +26 -4
  20. package/esm2022/testing/checkbox/checkbox-label-text-label.harness.mjs +19 -0
  21. package/fesm2022/skyux-forms-testing.mjs +42 -3
  22. package/fesm2022/skyux-forms-testing.mjs.map +1 -1
  23. package/fesm2022/skyux-forms.mjs +205 -26
  24. package/fesm2022/skyux-forms.mjs.map +1 -1
  25. package/lib/modules/checkbox/checkbox-label-text-label.component.d.ts +12 -0
  26. package/lib/modules/checkbox/checkbox-label.component.d.ts +1 -0
  27. package/lib/modules/checkbox/checkbox.component.d.ts +13 -3
  28. package/lib/modules/checkbox/checkbox.module.d.ts +9 -8
  29. package/lib/modules/file-attachment/file-attachment-label.component.d.ts +2 -0
  30. package/lib/modules/file-attachment/file-attachment.component.d.ts +11 -1
  31. package/lib/modules/input-box/input-box-hint-text.pipe.d.ts +10 -0
  32. package/lib/modules/input-box/input-box-host.service.d.ts +2 -0
  33. package/lib/modules/input-box/input-box.component.d.ts +4 -0
  34. package/lib/modules/input-box/input-box.module.d.ts +3 -2
  35. package/lib/modules/radio/radio-group.component.d.ts +2 -1
  36. package/lib/modules/toggle-switch/toggle-switch-label.component.d.ts +2 -0
  37. package/lib/modules/toggle-switch/toggle-switch.component.d.ts +14 -2
  38. package/package.json +7 -7
  39. package/testing/checkbox/checkbox-harness.d.ts +6 -1
  40. package/testing/checkbox/checkbox-label-text-label.harness.d.ts +16 -0
@@ -25,14 +25,14 @@ export class SkyCharacterCounterIndicatorComponent {
25
25
  this.#changeDetector.markForCheck();
26
26
  }
27
27
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyCharacterCounterIndicatorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: SkyCharacterCounterIndicatorComponent, selector: "sky-character-counter-indicator", inputs: { characterCount: "characterCount", characterCountLimit: "characterCountLimit" }, ngImport: i0, template: "<span\n class=\"sky-character-count-label sky-deemphasized\"\n [ngClass]=\"{ 'sky-error-label': characterCount > characterCountLimit }\"\n>\n {{ characterCount + '/' + characterCountLimit }}\n</span>\n<span aria-live=\"polite\" class=\"sky-screen-reader-only\">\n <ng-container\n *ngIf=\"characterCount > characterCountLimit; else screenReaderCountMessage\"\n >{{ 'skyux_character_count_over_limit' | skyLibResources }}</ng-container\n >\n <ng-template #screenReaderCountMessage>\n <ng-container\n *ngIf=\"\n characterCount\n | skyCharacterCounterScreenReader\n : characterCountLimit as screenReaderCount\n \"\n >{{\n 'skyux_character_count_message'\n | skyLibResources : screenReaderCount : characterCountLimit\n }}</ng-container\n >\n </ng-template>\n</span>\n", styles: [":host{flex-shrink:.0001}.sky-character-count-label.sky-error-label{margin:0}.sky-character-count-label.sky-error-label:before{font-style:normal}.sky-screen-reader-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);outline:none;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.SkyCharacterCounterScreenReaderPipe, name: "skyCharacterCounterScreenReader" }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: SkyCharacterCounterIndicatorComponent, selector: "sky-character-counter-indicator", inputs: { characterCount: "characterCount", characterCountLimit: "characterCountLimit" }, ngImport: i0, template: "<span\n class=\"sky-character-count-label sky-deemphasized\"\n [ngClass]=\"{ 'sky-error-label': characterCount > characterCountLimit }\"\n>\n {{ characterCount + '/' + characterCountLimit }}\n</span>\n<span aria-live=\"polite\" class=\"sky-screen-reader-only\">\n <ng-container\n *ngIf=\"characterCount > characterCountLimit; else screenReaderCountMessage\"\n >{{ 'skyux_character_count_over_limit' | skyLibResources }}</ng-container\n >\n <ng-template #screenReaderCountMessage>\n <ng-container\n *ngIf=\"\n characterCount\n | skyCharacterCounterScreenReader\n : characterCountLimit as screenReaderCount\n \"\n >{{\n 'skyux_character_count_message'\n | skyLibResources: screenReaderCount : characterCountLimit\n }}</ng-container\n >\n </ng-template>\n</span>\n", styles: [":host{flex-shrink:.0001}.sky-character-count-label.sky-error-label{margin:0}.sky-character-count-label.sky-error-label:before{font-style:normal}.sky-screen-reader-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);outline:none;white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.SkyCharacterCounterScreenReaderPipe, name: "skyCharacterCounterScreenReader" }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29
29
  }
30
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyCharacterCounterIndicatorComponent, decorators: [{
31
31
  type: Component,
32
- args: [{ selector: 'sky-character-counter-indicator', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n class=\"sky-character-count-label sky-deemphasized\"\n [ngClass]=\"{ 'sky-error-label': characterCount > characterCountLimit }\"\n>\n {{ characterCount + '/' + characterCountLimit }}\n</span>\n<span aria-live=\"polite\" class=\"sky-screen-reader-only\">\n <ng-container\n *ngIf=\"characterCount > characterCountLimit; else screenReaderCountMessage\"\n >{{ 'skyux_character_count_over_limit' | skyLibResources }}</ng-container\n >\n <ng-template #screenReaderCountMessage>\n <ng-container\n *ngIf=\"\n characterCount\n | skyCharacterCounterScreenReader\n : characterCountLimit as screenReaderCount\n \"\n >{{\n 'skyux_character_count_message'\n | skyLibResources : screenReaderCount : characterCountLimit\n }}</ng-container\n >\n </ng-template>\n</span>\n", styles: [":host{flex-shrink:.0001}.sky-character-count-label.sky-error-label{margin:0}.sky-character-count-label.sky-error-label:before{font-style:normal}.sky-screen-reader-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);outline:none;white-space:nowrap}\n"] }]
32
+ args: [{ selector: 'sky-character-counter-indicator', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n class=\"sky-character-count-label sky-deemphasized\"\n [ngClass]=\"{ 'sky-error-label': characterCount > characterCountLimit }\"\n>\n {{ characterCount + '/' + characterCountLimit }}\n</span>\n<span aria-live=\"polite\" class=\"sky-screen-reader-only\">\n <ng-container\n *ngIf=\"characterCount > characterCountLimit; else screenReaderCountMessage\"\n >{{ 'skyux_character_count_over_limit' | skyLibResources }}</ng-container\n >\n <ng-template #screenReaderCountMessage>\n <ng-container\n *ngIf=\"\n characterCount\n | skyCharacterCounterScreenReader\n : characterCountLimit as screenReaderCount\n \"\n >{{\n 'skyux_character_count_message'\n | skyLibResources: screenReaderCount : characterCountLimit\n }}</ng-container\n >\n </ng-template>\n</span>\n", styles: [":host{flex-shrink:.0001}.sky-character-count-label.sky-error-label{margin:0}.sky-character-count-label.sky-error-label:before{font-style:normal}.sky-screen-reader-only{width:0;height:0;padding:0;opacity:0;position:absolute;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);outline:none;white-space:nowrap}\n"] }]
33
33
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { characterCount: [{
34
34
  type: Input
35
35
  }], characterCountLimit: [{
36
36
  type: Input
37
37
  }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcmFjdGVyLWNvdW50ZXItaW5kaWNhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvY2hhcmFjdGVyLWNvdW50ZXIvY2hhcmFjdGVyLWNvdW50ZXItaW5kaWNhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvY2hhcmFjdGVyLWNvdW50ZXIvY2hhcmFjdGVyLWNvdW50ZXItaW5kaWNhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFRdkIsTUFBTSxPQUFPLHFDQUFxQztJQUNoRCxxQkFBcUIsR0FBRyxDQUFDLENBQUM7SUFDMUIsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0lBRXJCLGVBQWUsQ0FBb0I7SUFFbkMsWUFBWSxjQUFpQztRQUMzQyxJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUNXLGNBQWMsQ0FBQyxLQUFhO1FBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ1csbUJBQW1CLENBQUMsS0FBYTtRQUMxQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQ25DLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQzs4R0E1QlUscUNBQXFDO2tHQUFyQyxxQ0FBcUMsaUtDYmxELDgwQkF5QkE7OzJGRFphLHFDQUFxQztrQkFOakQsU0FBUzsrQkFDRSxpQ0FBaUMsbUJBRzFCLHVCQUF1QixDQUFDLE1BQU07c0ZBaUJwQyxjQUFjO3NCQUR4QixLQUFLO2dCQVdLLG1CQUFtQjtzQkFEN0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1jaGFyYWN0ZXItY291bnRlci1pbmRpY2F0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hhcmFjdGVyLWNvdW50ZXItaW5kaWNhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hhcmFjdGVyLWNvdW50ZXItaW5kaWNhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lDaGFyYWN0ZXJDb3VudGVySW5kaWNhdG9yQ29tcG9uZW50IHtcbiAgI19jaGFyYWN0ZXJDb3VudExpbWl0ID0gMDtcbiAgI19jaGFyYWN0ZXJDb3VudCA9IDA7XG5cbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICBjb25zdHJ1Y3RvcihjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFyYWN0ZXJDb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfY2hhcmFjdGVyQ291bnQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNoYXJhY3RlckNvdW50KGNvdW50OiBudW1iZXIpIHtcbiAgICB0aGlzLiNfY2hhcmFjdGVyQ291bnQgPSBjb3VudDtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hhcmFjdGVyQ291bnRMaW1pdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfY2hhcmFjdGVyQ291bnRMaW1pdDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2hhcmFjdGVyQ291bnRMaW1pdChsaW1pdDogbnVtYmVyKSB7XG4gICAgdGhpcy4jX2NoYXJhY3RlckNvdW50TGltaXQgPSBsaW1pdDtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIiwiPHNwYW5cbiAgY2xhc3M9XCJza3ktY2hhcmFjdGVyLWNvdW50LWxhYmVsIHNreS1kZWVtcGhhc2l6ZWRcIlxuICBbbmdDbGFzc109XCJ7ICdza3ktZXJyb3ItbGFiZWwnOiBjaGFyYWN0ZXJDb3VudCA+IGNoYXJhY3RlckNvdW50TGltaXQgfVwiXG4+XG4gIHt7IGNoYXJhY3RlckNvdW50ICsgJy8nICsgY2hhcmFjdGVyQ291bnRMaW1pdCB9fVxuPC9zcGFuPlxuPHNwYW4gYXJpYS1saXZlPVwicG9saXRlXCIgY2xhc3M9XCJza3ktc2NyZWVuLXJlYWRlci1vbmx5XCI+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cImNoYXJhY3RlckNvdW50ID4gY2hhcmFjdGVyQ291bnRMaW1pdDsgZWxzZSBzY3JlZW5SZWFkZXJDb3VudE1lc3NhZ2VcIlxuICAgID57eyAnc2t5dXhfY2hhcmFjdGVyX2NvdW50X292ZXJfbGltaXQnIHwgc2t5TGliUmVzb3VyY2VzIH19PC9uZy1jb250YWluZXJcbiAgPlxuICA8bmctdGVtcGxhdGUgI3NjcmVlblJlYWRlckNvdW50TWVzc2FnZT5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cIlxuICAgICAgICBjaGFyYWN0ZXJDb3VudFxuICAgICAgICAgIHwgc2t5Q2hhcmFjdGVyQ291bnRlclNjcmVlblJlYWRlclxuICAgICAgICAgICAgOiBjaGFyYWN0ZXJDb3VudExpbWl0IGFzIHNjcmVlblJlYWRlckNvdW50XG4gICAgICBcIlxuICAgICAgPnt7XG4gICAgICAgICdza3l1eF9jaGFyYWN0ZXJfY291bnRfbWVzc2FnZSdcbiAgICAgICAgICB8IHNreUxpYlJlc291cmNlcyA6IHNjcmVlblJlYWRlckNvdW50IDogY2hhcmFjdGVyQ291bnRMaW1pdFxuICAgICAgfX08L25nLWNvbnRhaW5lclxuICAgID5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvc3Bhbj5cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcmFjdGVyLWNvdW50ZXItaW5kaWNhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvY2hhcmFjdGVyLWNvdW50ZXIvY2hhcmFjdGVyLWNvdW50ZXItaW5kaWNhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvY2hhcmFjdGVyLWNvdW50ZXIvY2hhcmFjdGVyLWNvdW50ZXItaW5kaWNhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFRdkIsTUFBTSxPQUFPLHFDQUFxQztJQUNoRCxxQkFBcUIsR0FBRyxDQUFDLENBQUM7SUFDMUIsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0lBRXJCLGVBQWUsQ0FBb0I7SUFFbkMsWUFBWSxjQUFpQztRQUMzQyxJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUNXLGNBQWMsQ0FBQyxLQUFhO1FBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ1csbUJBQW1CLENBQUMsS0FBYTtRQUMxQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQ25DLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQzs4R0E1QlUscUNBQXFDO2tHQUFyQyxxQ0FBcUMsaUtDYmxELDYwQkF5QkE7OzJGRFphLHFDQUFxQztrQkFOakQsU0FBUzsrQkFDRSxpQ0FBaUMsbUJBRzFCLHVCQUF1QixDQUFDLE1BQU07c0ZBaUJwQyxjQUFjO3NCQUR4QixLQUFLO2dCQVdLLG1CQUFtQjtzQkFEN0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1jaGFyYWN0ZXItY291bnRlci1pbmRpY2F0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hhcmFjdGVyLWNvdW50ZXItaW5kaWNhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hhcmFjdGVyLWNvdW50ZXItaW5kaWNhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lDaGFyYWN0ZXJDb3VudGVySW5kaWNhdG9yQ29tcG9uZW50IHtcbiAgI19jaGFyYWN0ZXJDb3VudExpbWl0ID0gMDtcbiAgI19jaGFyYWN0ZXJDb3VudCA9IDA7XG5cbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICBjb25zdHJ1Y3RvcihjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGFyYWN0ZXJDb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfY2hhcmFjdGVyQ291bnQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNoYXJhY3RlckNvdW50KGNvdW50OiBudW1iZXIpIHtcbiAgICB0aGlzLiNfY2hhcmFjdGVyQ291bnQgPSBjb3VudDtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2hhcmFjdGVyQ291bnRMaW1pdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfY2hhcmFjdGVyQ291bnRMaW1pdDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgY2hhcmFjdGVyQ291bnRMaW1pdChsaW1pdDogbnVtYmVyKSB7XG4gICAgdGhpcy4jX2NoYXJhY3RlckNvdW50TGltaXQgPSBsaW1pdDtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIiwiPHNwYW5cbiAgY2xhc3M9XCJza3ktY2hhcmFjdGVyLWNvdW50LWxhYmVsIHNreS1kZWVtcGhhc2l6ZWRcIlxuICBbbmdDbGFzc109XCJ7ICdza3ktZXJyb3ItbGFiZWwnOiBjaGFyYWN0ZXJDb3VudCA+IGNoYXJhY3RlckNvdW50TGltaXQgfVwiXG4+XG4gIHt7IGNoYXJhY3RlckNvdW50ICsgJy8nICsgY2hhcmFjdGVyQ291bnRMaW1pdCB9fVxuPC9zcGFuPlxuPHNwYW4gYXJpYS1saXZlPVwicG9saXRlXCIgY2xhc3M9XCJza3ktc2NyZWVuLXJlYWRlci1vbmx5XCI+XG4gIDxuZy1jb250YWluZXJcbiAgICAqbmdJZj1cImNoYXJhY3RlckNvdW50ID4gY2hhcmFjdGVyQ291bnRMaW1pdDsgZWxzZSBzY3JlZW5SZWFkZXJDb3VudE1lc3NhZ2VcIlxuICAgID57eyAnc2t5dXhfY2hhcmFjdGVyX2NvdW50X292ZXJfbGltaXQnIHwgc2t5TGliUmVzb3VyY2VzIH19PC9uZy1jb250YWluZXJcbiAgPlxuICA8bmctdGVtcGxhdGUgI3NjcmVlblJlYWRlckNvdW50TWVzc2FnZT5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cIlxuICAgICAgICBjaGFyYWN0ZXJDb3VudFxuICAgICAgICAgIHwgc2t5Q2hhcmFjdGVyQ291bnRlclNjcmVlblJlYWRlclxuICAgICAgICAgICAgOiBjaGFyYWN0ZXJDb3VudExpbWl0IGFzIHNjcmVlblJlYWRlckNvdW50XG4gICAgICBcIlxuICAgICAgPnt7XG4gICAgICAgICdza3l1eF9jaGFyYWN0ZXJfY291bnRfbWVzc2FnZSdcbiAgICAgICAgICB8IHNreUxpYlJlc291cmNlczogc2NyZWVuUmVhZGVyQ291bnQgOiBjaGFyYWN0ZXJDb3VudExpbWl0XG4gICAgICB9fTwvbmctY29udGFpbmVyXG4gICAgPlxuICA8L25nLXRlbXBsYXRlPlxuPC9zcGFuPlxuIl19
@@ -0,0 +1,30 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ /**
5
+ @internal
6
+ */
7
+ export class SkyCheckboxLabelTextLabelComponent {
8
+ constructor() {
9
+ this.labelHidden = false;
10
+ this.#_labelText = '';
11
+ }
12
+ set labelText(value) {
13
+ this.#_labelText = value.trim();
14
+ }
15
+ get labelText() {
16
+ return this.#_labelText;
17
+ }
18
+ #_labelText;
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyCheckboxLabelTextLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: SkyCheckboxLabelTextLabelComponent, selector: "sky-checkbox-label-text-label", inputs: { labelHidden: "labelHidden", labelText: "labelText" }, ngImport: i0, template: "<span *ngIf=\"!labelHidden\" class=\"sky-switch-label\">{{ labelText }}</span>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyCheckboxLabelTextLabelComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: 'sky-checkbox-label-text-label', template: "<span *ngIf=\"!labelHidden\" class=\"sky-switch-label\">{{ labelText }}</span>\n" }]
25
+ }], propDecorators: { labelHidden: [{
26
+ type: Input
27
+ }], labelText: [{
28
+ type: Input
29
+ }] } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtbGFiZWwtdGV4dC1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LWxhYmVsLXRleHQtbGFiZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9jaGVja2JveC9jaGVja2JveC1sYWJlbC10ZXh0LWxhYmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFFakQ7O0dBRUc7QUFLSCxNQUFNLE9BQU8sa0NBQWtDO0lBSi9DO1FBTVMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFXM0IsZ0JBQVcsR0FBRyxFQUFFLENBQUM7S0FDbEI7SUFWQyxJQUNXLFNBQVMsQ0FBQyxLQUFhO1FBQ2hDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxXQUFXLENBQU07OEdBYk4sa0NBQWtDO2tHQUFsQyxrQ0FBa0MscUlDVC9DLGtGQUNBOzsyRkRRYSxrQ0FBa0M7a0JBSjlDLFNBQVM7K0JBQ0UsK0JBQStCOzhCQUtsQyxXQUFXO3NCQURqQixLQUFLO2dCQUlLLFNBQVM7c0JBRG5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1jaGVja2JveC1sYWJlbC10ZXh0LWxhYmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LWxhYmVsLXRleHQtbGFiZWwuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lDaGVja2JveExhYmVsVGV4dExhYmVsQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsSGlkZGVuID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBsYWJlbFRleHQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuI19sYWJlbFRleHQgPSB2YWx1ZS50cmltKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhYmVsVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfbGFiZWxUZXh0O1xuICB9XG5cbiAgI19sYWJlbFRleHQgPSAnJztcbn1cbiIsIjxzcGFuICpuZ0lmPVwiIWxhYmVsSGlkZGVuXCIgY2xhc3M9XCJza3ktc3dpdGNoLWxhYmVsXCI+e3sgbGFiZWxUZXh0IH19PC9zcGFuPlxuIl19
@@ -5,6 +5,7 @@ import * as i1 from "@skyux/core";
5
5
  * Specifies a label for the checkbox. To display a help button beside the label, include a help button element, such as
6
6
  * `sky-help-inline`, in the `sky-checkbox-label` element and a `sky-control-help` CSS class on that help button
7
7
  * element.
8
+ * @deprecated Use `labelText` input on `sky-checkbox-component` instead.
8
9
  */
9
10
  export class SkyCheckboxLabelComponent {
10
11
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyCheckboxLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
@@ -14,4 +15,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
14
15
  type: Component,
15
16
  args: [{ selector: 'sky-checkbox-label', template: "<span class=\"sky-switch-label\"\n ><span skyTrim><ng-content /></span\n ><span class=\"sky-control-help-container\"\n ><ng-content select=\".sky-control-help\" /></span\n></span>\n" }]
16
17
  }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtbGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9jaGVja2JveC9jaGVja2JveC1sYWJlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LWxhYmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUUxQzs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLHlCQUF5Qjs4R0FBekIseUJBQXlCO2tHQUF6Qix5QkFBeUIsMERDWHRDLDRMQUtBOzsyRkRNYSx5QkFBeUI7a0JBSnJDLFNBQVM7K0JBQ0Usb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogU3BlY2lmaWVzIGEgbGFiZWwgZm9yIHRoZSBjaGVja2JveC4gVG8gZGlzcGxheSBhIGhlbHAgYnV0dG9uIGJlc2lkZSB0aGUgbGFiZWwsIGluY2x1ZGUgYSBoZWxwIGJ1dHRvbiBlbGVtZW50LCBzdWNoIGFzXG4gKiBgc2t5LWhlbHAtaW5saW5lYCwgaW4gdGhlIGBza3ktY2hlY2tib3gtbGFiZWxgIGVsZW1lbnQgYW5kIGEgYHNreS1jb250cm9sLWhlbHBgIENTUyBjbGFzcyBvbiB0aGF0IGhlbHAgYnV0dG9uXG4gKiBlbGVtZW50LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktY2hlY2tib3gtbGFiZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hlY2tib3gtbGFiZWwuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lDaGVja2JveExhYmVsQ29tcG9uZW50IHt9XG4iLCI8c3BhbiBjbGFzcz1cInNreS1zd2l0Y2gtbGFiZWxcIlxuICA+PHNwYW4gc2t5VHJpbT48bmctY29udGVudCAvPjwvc3BhblxuICA+PHNwYW4gY2xhc3M9XCJza3ktY29udHJvbC1oZWxwLWNvbnRhaW5lclwiXG4gICAgPjxuZy1jb250ZW50IHNlbGVjdD1cIi5za3ktY29udHJvbC1oZWxwXCIgLz48L3NwYW5cbj48L3NwYW4+XG4iXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gtbGFiZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9jaGVja2JveC9jaGVja2JveC1sYWJlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LWxhYmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUUxQzs7Ozs7R0FLRztBQUtILE1BQU0sT0FBTyx5QkFBeUI7OEdBQXpCLHlCQUF5QjtrR0FBekIseUJBQXlCLDBEQ1p0Qyw0TEFLQTs7MkZET2EseUJBQXlCO2tCQUpyQyxTQUFTOytCQUNFLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFNwZWNpZmllcyBhIGxhYmVsIGZvciB0aGUgY2hlY2tib3guIFRvIGRpc3BsYXkgYSBoZWxwIGJ1dHRvbiBiZXNpZGUgdGhlIGxhYmVsLCBpbmNsdWRlIGEgaGVscCBidXR0b24gZWxlbWVudCwgc3VjaCBhc1xuICogYHNreS1oZWxwLWlubGluZWAsIGluIHRoZSBgc2t5LWNoZWNrYm94LWxhYmVsYCBlbGVtZW50IGFuZCBhIGBza3ktY29udHJvbC1oZWxwYCBDU1MgY2xhc3Mgb24gdGhhdCBoZWxwIGJ1dHRvblxuICogZWxlbWVudC5cbiAqIEBkZXByZWNhdGVkIFVzZSBgbGFiZWxUZXh0YCBpbnB1dCBvbiBgc2t5LWNoZWNrYm94LWNvbXBvbmVudGAgaW5zdGVhZC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWNoZWNrYm94LWxhYmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LWxhYmVsLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Q2hlY2tib3hMYWJlbENvbXBvbmVudCB7fVxuIiwiPHNwYW4gY2xhc3M9XCJza3ktc3dpdGNoLWxhYmVsXCJcbiAgPjxzcGFuIHNreVRyaW0+PG5nLWNvbnRlbnQgLz48L3NwYW5cbiAgPjxzcGFuIGNsYXNzPVwic2t5LWNvbnRyb2wtaGVscC1jb250YWluZXJcIlxuICAgID48bmctY29udGVudCBzZWxlY3Q9XCIuc2t5LWNvbnRyb2wtaGVscFwiIC8+PC9zcGFuXG4+PC9zcGFuPlxuIl19
@@ -8,13 +8,49 @@ import * as i0 from "@angular/core";
8
8
  import * as i1 from "@angular/common";
9
9
  import * as i2 from "../form-error/form-errors.component";
10
10
  import * as i3 from "@skyux/indicators";
11
- import * as i4 from "./checkbox-label.component";
11
+ import * as i4 from "./checkbox-label-text-label.component";
12
12
  import * as i5 from "@skyux/i18n";
13
13
  /**
14
14
  * Replaces the HTML input element with `type="checkbox"`. When users select a checkbox, its value
15
15
  * is driven through an `ngModel` attribute that you specify on the `sky-checkbox` element.
16
16
  */
17
17
  export class SkyCheckboxComponent {
18
+ /**
19
+ * The ARIA label for the checkbox. This sets the checkbox's `aria-label` attribute
20
+ * [to support accessibility](https://developer.blackbaud.com/skyux/components/checkbox#accessibility)
21
+ * when the checkbox does not include a visible label. You must set this property for icon
22
+ * checkboxes. If the checkbox includes a visible label, use `labelledBy` instead.
23
+ * @deprecated Use `labelText` instead.
24
+ */
25
+ set label(value) {
26
+ this.#_label = value;
27
+ if (value) {
28
+ this.#logger.deprecated('SkyCheckboxComponent.label', {
29
+ deprecationMajorVersion: 9,
30
+ });
31
+ }
32
+ }
33
+ get label() {
34
+ return this.#_label;
35
+ }
36
+ /**
37
+ * The HTML element ID of the element that labels the
38
+ * checkbox. This sets the checkbox's `aria-labelledby` attribute
39
+ * [to support accessibility](https://developer.blackbaud.com/skyux/components/checkbox#accessibility).
40
+ * If the checkbox does not include a visible label, use `label` instead.
41
+ * @deprecated Use `labelText` instead.
42
+ */
43
+ set labelledBy(value) {
44
+ this.#_labelledBy = value;
45
+ if (value) {
46
+ this.#logger.deprecated('SkyCheckboxComponent.labelledBy', {
47
+ deprecationMajorVersion: 9,
48
+ });
49
+ }
50
+ }
51
+ get labelledBy() {
52
+ return this.#_labelledBy;
53
+ }
18
54
  /**
19
55
  * The ID for the checkbox.
20
56
  * If a value is not provided, an autogenerated ID is used.
@@ -167,6 +203,8 @@ export class SkyCheckboxComponent {
167
203
  #_inputEl;
168
204
  #_name;
169
205
  #_required;
206
+ #_label;
207
+ #_labelledBy;
170
208
  #changeDetector;
171
209
  #idSvc;
172
210
  #defaultId;
@@ -181,6 +219,11 @@ export class SkyCheckboxComponent {
181
219
  * Fires when the selected value changes.
182
220
  */
183
221
  this.change = new EventEmitter();
222
+ /**
223
+ * Indicates whether to hide the `labelText`.
224
+ * @preview
225
+ */
226
+ this.labelHidden = false;
184
227
  this.inputId = '';
185
228
  this.#_checked = false;
186
229
  this.#_checkboxType = 'info';
@@ -289,11 +332,11 @@ export class SkyCheckboxComponent {
289
332
  }
290
333
  }
291
334
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
292
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: SkyCheckboxComponent, selector: "sky-checkbox", inputs: { label: "label", labelledBy: "labelledBy", id: "id", disabled: "disabled", tabindex: "tabindex", name: "name", icon: "icon", checkboxType: "checkboxType", checked: "checked", indeterminate: "indeterminate", required: "required", labelText: "labelText" }, outputs: { change: "change", checkedChange: "checkedChange", disabledChange: "disabledChange", indeterminateChange: "indeterminateChange" }, providers: [{ provide: SKY_FORM_ERRORS_ENABLED, useValue: true }], viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["inputEl"], descendants: true, read: ElementRef }], ngImport: i0, template: "<label\n class=\"sky-checkbox-wrapper sky-switch\"\n [ngClass]=\"{\n 'sky-control-label-required': required,\n 'sky-switch-disabled': disabled\n }\"\n>\n <input\n class=\"sky-checkbox-input sky-switch-input\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [required]=\"required\"\n [tabIndex]=\"tabindex\"\n [attr.aria-label]=\"label\"\n [attr.aria-labelledby]=\"labelledBy\"\n [attr.aria-required]=\"required ? true : null\"\n [attr.aria-invalid]=\"!!ngControl?.errors\"\n [attr.aria-errormessage]=\"\n labelText && ngControl?.errors ? errorId : undefined\n \"\n (blur)=\"onInputBlur()\"\n (change)=\"onInteractionEvent($event)\"\n #inputEl\n />\n <span\n class=\"sky-switch-control sky-rounded-corners\"\n [ngClass]=\"{\n 'sky-switch-control-icon': icon,\n 'sky-switch-control-info': checkboxType === 'info',\n 'sky-switch-control-success': checkboxType === 'success',\n 'sky-switch-control-warning': checkboxType === 'warning',\n 'sky-switch-control-danger': checkboxType === 'danger'\n }\"\n >\n <sky-icon\n *ngIf=\"icon; else checkedOrIndeterminateTemplate\"\n [fixedWidth]=\"true\"\n [icon]=\"icon\"\n />\n <ng-template #checkedOrIndeterminateTemplate>\n <sky-icon\n *ngIf=\"!indeterminate && checked\"\n class=\"sky-checkbox-icon-modern-checked\"\n [fixedWidth]=\"true\"\n icon=\"check\"\n />\n <sky-icon\n *ngIf=\"indeterminate\"\n class=\"sky-checkbox-icon-indeterminate sky-checkbox-icon-modern-indeterminate\"\n [fixedWidth]=\"true\"\n icon=\"square\"\n />\n </ng-template>\n </span>\n <ng-container *ngIf=\"labelText; else labelElement\">\n <sky-checkbox-label>{{ labelText }}</sky-checkbox-label>\n </ng-container>\n <ng-template #labelElement>\n <ng-content select=\"sky-checkbox-label\" />\n </ng-template>\n</label>\n<sky-form-errors\n *ngIf=\"labelText && ngControl?.errors\"\n [id]=\"errorId\"\n [errors]=\"ngControl?.errors\"\n [labelText]=\"'skyux_checkbox_required_label_text' | skyLibResources\"\n [showErrors]=\"ngControl?.touched || ngControl?.dirty\"\n>\n <ng-content select=\"sky-form-error\" />\n</sky-form-errors>\n", styles: [".sky-checkbox-icon-indeterminate{font-size:14px}:host-context(.sky-theme-modern) .sky-checkbox-icon-modern-checked,:host-context(.sky-theme-modern) .sky-checkbox-icon-modern-indeterminate{color:#1870b8}:host-context(.sky-theme-modern) .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-checked,:host-context(.sky-theme-modern) .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-indeterminate{color:#212327}:host-context(.sky-theme-modern) .sky-switch-control{border-radius:6px}.sky-theme-modern .sky-checkbox-icon-modern-checked,.sky-theme-modern .sky-checkbox-icon-modern-indeterminate{color:#1870b8}.sky-theme-modern .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-checked,.sky-theme-modern .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-indeterminate{color:#212327}.sky-theme-modern .sky-switch-control{border-radius:6px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SkyFormErrorsComponent, selector: "sky-form-errors", inputs: ["errors", "labelText", "showErrors"] }, { kind: "component", type: i3.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i4.SkyCheckboxLabelComponent, selector: "sky-checkbox-label" }, { kind: "pipe", type: i5.SkyLibResourcesPipe, name: "skyLibResources" }] }); }
335
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: SkyCheckboxComponent, selector: "sky-checkbox", inputs: { label: "label", labelledBy: "labelledBy", id: "id", disabled: "disabled", tabindex: "tabindex", name: "name", icon: "icon", checkboxType: "checkboxType", checked: "checked", indeterminate: "indeterminate", required: "required", labelText: "labelText", labelHidden: "labelHidden" }, outputs: { change: "change", checkedChange: "checkedChange", disabledChange: "disabledChange", indeterminateChange: "indeterminateChange" }, providers: [{ provide: SKY_FORM_ERRORS_ENABLED, useValue: true }], viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["inputEl"], descendants: true, read: ElementRef }], ngImport: i0, template: "<label\n class=\"sky-checkbox-wrapper sky-switch\"\n [ngClass]=\"{\n 'sky-control-label-required': required,\n 'sky-switch-disabled': disabled\n }\"\n>\n <input\n class=\"sky-checkbox-input sky-switch-input\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [required]=\"required\"\n [tabIndex]=\"tabindex\"\n [attr.aria-label]=\"labelText || label\"\n [attr.aria-labelledby]=\"labelText ? undefined : labelledBy\"\n [attr.aria-required]=\"required ? true : null\"\n [attr.aria-invalid]=\"!!ngControl?.errors\"\n [attr.aria-errormessage]=\"\n labelText && ngControl?.errors ? errorId : undefined\n \"\n (blur)=\"onInputBlur()\"\n (change)=\"onInteractionEvent($event)\"\n #inputEl\n />\n <span\n class=\"sky-switch-control sky-rounded-corners\"\n [ngClass]=\"{\n 'sky-switch-control-icon': icon,\n 'sky-switch-control-info': checkboxType === 'info',\n 'sky-switch-control-success': checkboxType === 'success',\n 'sky-switch-control-warning': checkboxType === 'warning',\n 'sky-switch-control-danger': checkboxType === 'danger'\n }\"\n >\n <sky-icon\n *ngIf=\"icon; else checkedOrIndeterminateTemplate\"\n [fixedWidth]=\"true\"\n [icon]=\"icon\"\n />\n <ng-template #checkedOrIndeterminateTemplate>\n <sky-icon\n *ngIf=\"!indeterminate && checked\"\n class=\"sky-checkbox-icon-modern-checked\"\n [fixedWidth]=\"true\"\n icon=\"check\"\n />\n <sky-icon\n *ngIf=\"indeterminate\"\n class=\"sky-checkbox-icon-indeterminate sky-checkbox-icon-modern-indeterminate\"\n [fixedWidth]=\"true\"\n icon=\"square\"\n />\n </ng-template>\n </span>\n\n <ng-container *ngIf=\"labelText; else labelElement\">\n <sky-checkbox-label-text-label\n [labelText]=\"labelText\"\n [labelHidden]=\"labelHidden\"\n />\n </ng-container>\n <ng-template #labelElement>\n <ng-content select=\"sky-checkbox-label\" />\n </ng-template>\n</label>\n<sky-form-errors\n *ngIf=\"labelText && ngControl?.errors\"\n [id]=\"errorId\"\n [errors]=\"ngControl?.errors\"\n [labelText]=\"'skyux_checkbox_required_label_text' | skyLibResources\"\n [showErrors]=\"ngControl?.touched || ngControl?.dirty\"\n>\n <ng-content select=\"sky-form-error\" />\n</sky-form-errors>\n", styles: [".sky-checkbox-icon-indeterminate{font-size:14px}:host-context(.sky-theme-modern) .sky-checkbox-icon-modern-checked,:host-context(.sky-theme-modern) .sky-checkbox-icon-modern-indeterminate{color:#1870b8}:host-context(.sky-theme-modern) .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-checked,:host-context(.sky-theme-modern) .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-indeterminate{color:#212327}:host-context(.sky-theme-modern) .sky-switch-control{border-radius:6px}.sky-theme-modern .sky-checkbox-icon-modern-checked,.sky-theme-modern .sky-checkbox-icon-modern-indeterminate{color:#1870b8}.sky-theme-modern .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-checked,.sky-theme-modern .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-indeterminate{color:#212327}.sky-theme-modern .sky-switch-control{border-radius:6px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SkyFormErrorsComponent, selector: "sky-form-errors", inputs: ["errors", "labelText", "showErrors"] }, { kind: "component", type: i3.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i4.SkyCheckboxLabelTextLabelComponent, selector: "sky-checkbox-label-text-label", inputs: ["labelHidden", "labelText"] }, { kind: "pipe", type: i5.SkyLibResourcesPipe, name: "skyLibResources" }] }); }
293
336
  }
294
337
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyCheckboxComponent, decorators: [{
295
338
  type: Component,
296
- args: [{ selector: 'sky-checkbox', providers: [{ provide: SKY_FORM_ERRORS_ENABLED, useValue: true }], template: "<label\n class=\"sky-checkbox-wrapper sky-switch\"\n [ngClass]=\"{\n 'sky-control-label-required': required,\n 'sky-switch-disabled': disabled\n }\"\n>\n <input\n class=\"sky-checkbox-input sky-switch-input\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [required]=\"required\"\n [tabIndex]=\"tabindex\"\n [attr.aria-label]=\"label\"\n [attr.aria-labelledby]=\"labelledBy\"\n [attr.aria-required]=\"required ? true : null\"\n [attr.aria-invalid]=\"!!ngControl?.errors\"\n [attr.aria-errormessage]=\"\n labelText && ngControl?.errors ? errorId : undefined\n \"\n (blur)=\"onInputBlur()\"\n (change)=\"onInteractionEvent($event)\"\n #inputEl\n />\n <span\n class=\"sky-switch-control sky-rounded-corners\"\n [ngClass]=\"{\n 'sky-switch-control-icon': icon,\n 'sky-switch-control-info': checkboxType === 'info',\n 'sky-switch-control-success': checkboxType === 'success',\n 'sky-switch-control-warning': checkboxType === 'warning',\n 'sky-switch-control-danger': checkboxType === 'danger'\n }\"\n >\n <sky-icon\n *ngIf=\"icon; else checkedOrIndeterminateTemplate\"\n [fixedWidth]=\"true\"\n [icon]=\"icon\"\n />\n <ng-template #checkedOrIndeterminateTemplate>\n <sky-icon\n *ngIf=\"!indeterminate && checked\"\n class=\"sky-checkbox-icon-modern-checked\"\n [fixedWidth]=\"true\"\n icon=\"check\"\n />\n <sky-icon\n *ngIf=\"indeterminate\"\n class=\"sky-checkbox-icon-indeterminate sky-checkbox-icon-modern-indeterminate\"\n [fixedWidth]=\"true\"\n icon=\"square\"\n />\n </ng-template>\n </span>\n <ng-container *ngIf=\"labelText; else labelElement\">\n <sky-checkbox-label>{{ labelText }}</sky-checkbox-label>\n </ng-container>\n <ng-template #labelElement>\n <ng-content select=\"sky-checkbox-label\" />\n </ng-template>\n</label>\n<sky-form-errors\n *ngIf=\"labelText && ngControl?.errors\"\n [id]=\"errorId\"\n [errors]=\"ngControl?.errors\"\n [labelText]=\"'skyux_checkbox_required_label_text' | skyLibResources\"\n [showErrors]=\"ngControl?.touched || ngControl?.dirty\"\n>\n <ng-content select=\"sky-form-error\" />\n</sky-form-errors>\n", styles: [".sky-checkbox-icon-indeterminate{font-size:14px}:host-context(.sky-theme-modern) .sky-checkbox-icon-modern-checked,:host-context(.sky-theme-modern) .sky-checkbox-icon-modern-indeterminate{color:#1870b8}:host-context(.sky-theme-modern) .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-checked,:host-context(.sky-theme-modern) .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-indeterminate{color:#212327}:host-context(.sky-theme-modern) .sky-switch-control{border-radius:6px}.sky-theme-modern .sky-checkbox-icon-modern-checked,.sky-theme-modern .sky-checkbox-icon-modern-indeterminate{color:#1870b8}.sky-theme-modern .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-checked,.sky-theme-modern .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-indeterminate{color:#212327}.sky-theme-modern .sky-switch-control{border-radius:6px}\n"] }]
339
+ args: [{ selector: 'sky-checkbox', providers: [{ provide: SKY_FORM_ERRORS_ENABLED, useValue: true }], template: "<label\n class=\"sky-checkbox-wrapper sky-switch\"\n [ngClass]=\"{\n 'sky-control-label-required': required,\n 'sky-switch-disabled': disabled\n }\"\n>\n <input\n class=\"sky-checkbox-input sky-switch-input\"\n type=\"checkbox\"\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [name]=\"name\"\n [required]=\"required\"\n [tabIndex]=\"tabindex\"\n [attr.aria-label]=\"labelText || label\"\n [attr.aria-labelledby]=\"labelText ? undefined : labelledBy\"\n [attr.aria-required]=\"required ? true : null\"\n [attr.aria-invalid]=\"!!ngControl?.errors\"\n [attr.aria-errormessage]=\"\n labelText && ngControl?.errors ? errorId : undefined\n \"\n (blur)=\"onInputBlur()\"\n (change)=\"onInteractionEvent($event)\"\n #inputEl\n />\n <span\n class=\"sky-switch-control sky-rounded-corners\"\n [ngClass]=\"{\n 'sky-switch-control-icon': icon,\n 'sky-switch-control-info': checkboxType === 'info',\n 'sky-switch-control-success': checkboxType === 'success',\n 'sky-switch-control-warning': checkboxType === 'warning',\n 'sky-switch-control-danger': checkboxType === 'danger'\n }\"\n >\n <sky-icon\n *ngIf=\"icon; else checkedOrIndeterminateTemplate\"\n [fixedWidth]=\"true\"\n [icon]=\"icon\"\n />\n <ng-template #checkedOrIndeterminateTemplate>\n <sky-icon\n *ngIf=\"!indeterminate && checked\"\n class=\"sky-checkbox-icon-modern-checked\"\n [fixedWidth]=\"true\"\n icon=\"check\"\n />\n <sky-icon\n *ngIf=\"indeterminate\"\n class=\"sky-checkbox-icon-indeterminate sky-checkbox-icon-modern-indeterminate\"\n [fixedWidth]=\"true\"\n icon=\"square\"\n />\n </ng-template>\n </span>\n\n <ng-container *ngIf=\"labelText; else labelElement\">\n <sky-checkbox-label-text-label\n [labelText]=\"labelText\"\n [labelHidden]=\"labelHidden\"\n />\n </ng-container>\n <ng-template #labelElement>\n <ng-content select=\"sky-checkbox-label\" />\n </ng-template>\n</label>\n<sky-form-errors\n *ngIf=\"labelText && ngControl?.errors\"\n [id]=\"errorId\"\n [errors]=\"ngControl?.errors\"\n [labelText]=\"'skyux_checkbox_required_label_text' | skyLibResources\"\n [showErrors]=\"ngControl?.touched || ngControl?.dirty\"\n>\n <ng-content select=\"sky-form-error\" />\n</sky-form-errors>\n", styles: [".sky-checkbox-icon-indeterminate{font-size:14px}:host-context(.sky-theme-modern) .sky-checkbox-icon-modern-checked,:host-context(.sky-theme-modern) .sky-checkbox-icon-modern-indeterminate{color:#1870b8}:host-context(.sky-theme-modern) .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-checked,:host-context(.sky-theme-modern) .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-indeterminate{color:#212327}:host-context(.sky-theme-modern) .sky-switch-control{border-radius:6px}.sky-theme-modern .sky-checkbox-icon-modern-checked,.sky-theme-modern .sky-checkbox-icon-modern-indeterminate{color:#1870b8}.sky-theme-modern .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-checked,.sky-theme-modern .sky-checkbox-input:disabled+.sky-switch-control .sky-checkbox-icon-modern-indeterminate{color:#212327}.sky-theme-modern .sky-switch-control{border-radius:6px}\n"] }]
297
340
  }], ctorParameters: () => [], propDecorators: { label: [{
298
341
  type: Input
299
342
  }], labelledBy: [{
@@ -320,6 +363,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
320
363
  type: Input
321
364
  }], labelText: [{
322
365
  type: Input
366
+ }], labelHidden: [{
367
+ type: Input
323
368
  }], checkedChange: [{
324
369
  type: Output
325
370
  }], disabledChange: [{
@@ -330,4 +375,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
330
375
  type: ViewChild,
331
376
  args: ['inputEl', { read: ElementRef }]
332
377
  }] } });
333
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFELE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0FBSTFEOzs7R0FHRztBQU9ILE1BQU0sT0FBTyxvQkFBb0I7SUFtQi9COzs7T0FHRztJQUNILElBQ1csRUFBRSxDQUFDLEtBQXlCO1FBQ3JDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixJQUFJLENBQUMsT0FBTyxHQUFHLGdCQUFnQixLQUFLLFFBQVEsQ0FBQztRQUMvQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsZ0JBQWdCLElBQUksQ0FBQyxVQUFVLFFBQVEsQ0FBQztRQUN6RCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7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U0FBUyxDQUFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxDQUFDO1FBQ25ELENBQUM7SUFDSCxDQUFDOzhHQS9WVSxvQkFBb0I7a0dBQXBCLG9CQUFvQiw0YkFGcEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMseUdBNk1uQyxVQUFVLDZCQzFPMUMsMHhFQXlFQTs7MkZEMUNhLG9CQUFvQjtrQkFOaEMsU0FBUzsrQkFDRSxjQUFjLGFBR2IsQ0FBQyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7d0RBVTFELEtBQUs7c0JBRFgsS0FBSztnQkFVQyxVQUFVO3NCQURoQixLQUFLO2dCQVFLLEVBQUU7c0JBRFosS0FBSztnQkFlSyxRQUFRO3NCQURsQixLQUFLO2dCQXFCQyxRQUFRO3NCQURkLEtBQUs7Z0JBUUssSUFBSTtzQkFEZCxLQUFLO2dCQWtCQyxNQUFNO3NCQUZaLE1BQU07Z0JBVUEsSUFBSTtzQkFEVixLQUFLO2dCQWFLLFlBQVk7c0JBRHRCLEtBQUs7Z0JBb0JLLE9BQU87c0JBRGpCLEtBQUs7Z0JBcUJLLGFBQWE7c0JBRHZCLEtBQUs7Z0JBc0JLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBZUMsU0FBUztzQkFEZixLQUFLO2dCQU9LLGFBQWE7c0JBRHZCLE1BQU07Z0JBU0ksY0FBYztzQkFEeEIsTUFBTTtnQkFVSSxtQkFBbUI7c0JBRDdCLE1BQU07Z0JBTUksT0FBTztzQkFEakIsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lJZFNlcnZpY2UsIFNreUxvZ1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTS1lfRk9STV9FUlJPUlNfRU5BQkxFRCB9IGZyb20gJy4uL2Zvcm0tZXJyb3IvZm9ybS1lcnJvcnMtZW5hYmxlZC10b2tlbic7XG5pbXBvcnQgeyBTa3lGb3Jtc1V0aWxpdHkgfSBmcm9tICcuLi9zaGFyZWQvZm9ybXMtdXRpbGl0eSc7XG5cbmltcG9ydCB7IFNreUNoZWNrYm94Q2hhbmdlIH0gZnJvbSAnLi9jaGVja2JveC1jaGFuZ2UnO1xuXG4vKipcbiAqIFJlcGxhY2VzIHRoZSBIVE1MIGlucHV0IGVsZW1lbnQgd2l0aCBgdHlwZT1cImNoZWNrYm94XCJgLiBXaGVuIHVzZXJzIHNlbGVjdCBhIGNoZWNrYm94LCBpdHMgdmFsdWVcbiAqIGlzIGRyaXZlbiB0aHJvdWdoIGFuIGBuZ01vZGVsYCBhdHRyaWJ1dGUgdGhhdCB5b3Ugc3BlY2lmeSBvbiB0aGUgYHNreS1jaGVja2JveGAgZWxlbWVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWNoZWNrYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3guY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBTS1lfRk9STV9FUlJPUlNfRU5BQkxFRCwgdXNlVmFsdWU6IHRydWUgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUNoZWNrYm94Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBUaGUgQVJJQSBsYWJlbCBmb3IgdGhlIGNoZWNrYm94LiBUaGlzIHNldHMgdGhlIGNoZWNrYm94J3MgYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZVxuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvY2hlY2tib3gjYWNjZXNzaWJpbGl0eSlcbiAgICogd2hlbiB0aGUgY2hlY2tib3ggZG9lcyBub3QgaW5jbHVkZSBhIHZpc2libGUgbGFiZWwuIFlvdSBtdXN0IHNldCB0aGlzIHByb3BlcnR5IGZvciBpY29uXG4gICAqIGNoZWNrYm94ZXMuIElmIHRoZSBjaGVja2JveCBpbmNsdWRlcyBhIHZpc2libGUgbGFiZWwsIHVzZSBgbGFiZWxsZWRCeWAgaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgSFRNTCBlbGVtZW50IElEIG9mIHRoZSBlbGVtZW50IHRoYXQgbGFiZWxzIHRoZVxuICAgKiBjaGVja2JveC4gVGhpcyBzZXRzIHRoZSBjaGVja2JveCdzIGBhcmlhLWxhYmVsbGVkYnlgIGF0dHJpYnV0ZVxuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvY2hlY2tib3gjYWNjZXNzaWJpbGl0eSkuXG4gICAqIElmIHRoZSBjaGVja2JveCBkb2VzIG5vdCBpbmNsdWRlIGEgdmlzaWJsZSBsYWJlbCwgdXNlIGBsYWJlbGAgaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYWJlbGxlZEJ5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBmb3IgdGhlIGNoZWNrYm94LlxuICAgKiBJZiBhIHZhbHVlIGlzIG5vdCBwcm92aWRlZCwgYW4gYXV0b2dlbmVyYXRlZCBJRCBpcyB1c2VkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBpZCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmlucHV0SWQgPSBgc2t5LWNoZWNrYm94LSR7dmFsdWV9LWlucHV0YDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnB1dElkID0gYHNreS1jaGVja2JveC0ke3RoaXMuI2RlZmF1bHRJZH0taW5wdXRgO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRpc2FibGUgdGhlIGNoZWNrYm94IG9uIHRlbXBsYXRlLWRyaXZlbiBmb3Jtcy4gRG9uJ3QgdXNlIHRoaXMgaW5wdXQgb24gcmVhY3RpdmUgZm9ybXMgYmVjYXVzZSB0aGV5IG1heSBvdmVyd3JpdGUgdGhlIGlucHV0IG9yIGxlYXZlIHRoZSBjb250cm9sIG91dCBvZiBzeW5jLlxuICAgKiBUbyBzZXQgdGhlIGRpc2FibGVkIHN0YXRlIG9uIHJlYWN0aXZlIGZvcm1zLCB1c2UgdGhlIGBGb3JtQ29udHJvbGAgaW5zdGVhZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBjb2VyY2VkVmFsdWUgPSBTa3lGb3Jtc1V0aWxpdHkuY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICBpZiAoY29lcmNlZFZhbHVlICE9PSB0aGlzLiNfZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuI19kaXNhYmxlZCA9IGNvZXJjZWRWYWx1ZTtcbiAgICAgIHRoaXMuI2Rpc2FibGVkQ2hhbmdlLm5leHQoY29lcmNlZFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggaXMgZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGluZGV4IGZvciB0aGUgY2hlY2tib3guIElmIG5vdCBkZWZpbmVkLCB0aGUgaW5kZXggaXMgc2V0IHRvIHRoZSBwb3NpdGlvbiBvZiB0aGVcbiAgICogY2hlY2tib3ggb24gbG9hZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWJpbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkID0gMDtcblxuICAvKipcbiAgICogVGhlIG5hbWUgZm9yIHRoZSBjaGVja2JveC5cbiAgICogSWYgYSB2YWx1ZSBpcyBub3QgcHJvdmlkZWQsIGFuIGF1dG9nZW5lcmF0ZWQgSUQgaXMgdXNlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlICYmIHZhbHVlICE9PSB0aGlzLiNkZWZhdWx0SWQpIHtcbiAgICAgIHRoaXMuI19uYW1lID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI19uYW1lID0gYHNreS1jaGVja2JveC0ke3RoaXMuI2RlZmF1bHRJZH1gO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfbmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBzZWxlY3RlZCB2YWx1ZSBjaGFuZ2VzLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBwdWJsaWMgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lDaGVja2JveENoYW5nZT4oKTtcblxuICAvKipcbiAgICogVGhlIGljb24gdG8gZGlzcGxheSBpbiBwbGFjZSBvZiB0aGUgY2hlY2tib3guIFRvIGdyb3VwIGljb24gY2hlY2tib3hlc1xuICAgKiBsaWtlIGluIHRoZSBkZW1vLCBwbGFjZSB0aGUgYHNreS1zd2l0Y2gtaWNvbi1ncm91cGAgY2xhc3Mgb24gdGhlIGRpcmVjdCBwYXJlbnRcbiAgICogZWxlbWVudCBvZiB0aGUgY2hlY2tib3hlcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpY29uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIHR5cGUgYWZ0ZXIgdXNlcnMgc2VsZWN0IGEgY2hlY2tib3ggd2hlcmUgdGhlXG4gICAqIGBpY29uYCBwcm9wZXJ0eSBkaXNwbGF5cyBhbiBpY29uIGluIHBsYWNlIG9mIHRoZSBjaGVja2JveC4gVGhlIHZhbGlkIG9wdGlvbnMgY29ycmVzcG9uZCB0b1xuICAgKiBbdGhlIGxhYmVsIGNvbXBvbmVudCdzXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvbGFiZWwpXG4gICAqIGxhYmVsIHR5cGVzLiBgXCJpbmZvXCJgIGNyZWF0ZXMgYSBibHVlIGJhY2tncm91bmQsIGBcInN1Y2Nlc3NcImAgY3JlYXRlcyBhIGdyZWVuXG4gICAqIGJhY2tncm91bmQsIGBcIndhcm5pbmdcImAgY3JlYXRlcyBhbiBvcmFuZ2UgYmFja2dyb3VuZCwgYW5kIGBcImRhbmdlclwiYCBjcmVhdGVzIGEgcmVkIGJhY2tncm91bmQuXG4gICAqIEBkZWZhdWx0IFwiaW5mb1wiXG4gICAqIEBkZXByZWNhdGVkIGNoZWNrYm94VHlwZSBpcyBubyBsb25nZXIgc3VwcG9ydGVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNoZWNrYm94VHlwZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLiNsb2dnZXIuZGVwcmVjYXRlZCgnU2t5Q2hlY2tib3hDb21wb25lbnQuY2hlY2tib3hUeXBlJywge1xuICAgICAgICBkZXByZWNhdGlvbk1ham9yVmVyc2lvbjogNyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuI19jaGVja2JveFR5cGUgPSB2YWx1ZSA/IHZhbHVlLnRvTG93ZXJDYXNlKCkgOiAnaW5mbyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoZWNrYm94VHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfY2hlY2tib3hUeXBlO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIHNlbGVjdGVkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjaGVja2VkKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgY2hlY2tlZCA9ICEhdmFsdWU7XG4gICAgaWYgKGNoZWNrZWQgIT09IHRoaXMuI19jaGVja2VkKSB7XG4gICAgICB0aGlzLiNfY2hlY2tlZCA9IGNoZWNrZWQ7XG4gICAgICB0aGlzLiNjaGVja2VkQ2hhbmdlLm5leHQoY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIHNlbGVjdGVkLlxuICAgKi9cbiAgcHVibGljIGdldCBjaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfY2hlY2tlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBpcyBpbiB0aGUgaW5kZXRlcm1pbmF0ZSBzdGF0ZS4gVGhpcyBoYXMgbm8gdmlzdWFsIGVmZmVjdCBmb3IgaWNvbiBjaGVja2JveGVzLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaW5kZXRlcm1pbmF0ZSh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19pbmRldGVybWluYXRlID0gISF2YWx1ZTtcbiAgICB0aGlzLiNpbmRldGVybWluYXRlQ2hhbmdlLm5leHQodGhpcy4jX2luZGV0ZXJtaW5hdGUpO1xuICAgIGlmICh0aGlzLmlucHV0RWwpIHtcbiAgICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LmluZGV0ZXJtaW5hdGUgPSB0aGlzLiNfaW5kZXRlcm1pbmF0ZTtcbiAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW5kZXRlcm1pbmF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2luZGV0ZXJtaW5hdGU7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgaW5wdXQgaXMgcmVxdWlyZWQgZm9yIGZvcm0gdmFsaWRhdGlvbi5cbiAgICogV2hlbiB5b3Ugc2V0IHRoaXMgcHJvcGVydHkgdG8gYHRydWVgLCB0aGUgY29tcG9uZW50IGFkZHMgYGFyaWEtcmVxdWlyZWRgIGFuZCBgcmVxdWlyZWRgXG4gICAqIGF0dHJpYnV0ZXMgdG8gdGhlIGlucHV0IGVsZW1lbnQgc28gdGhhdCBmb3JtcyBkaXNwbGF5IGFuIGludmFsaWQgc3RhdGUgdW50aWwgdGhlIGlucHV0IGVsZW1lbnRcbiAgICogaXMgY29tcGxldGUuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJlcXVpcmVkKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX3JlcXVpcmVkID0gU2t5Rm9ybXNVdGlsaXR5LmNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgdGhpcy4jc2V0VmFsaWRhdG9ycygpO1xuICB9XG5cbiAgcHVibGljIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX3JlcXVpcmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IHRvIGRpc3BsYXkgYXMgdGhlIGNoZWNrYm94J3MgbGFiZWwuIFVzZSB0aGlzIGluc3RlYWQgb2YgdGhlIGBza3ktY2hlY2tib3gtbGFiZWxgIHdoZW4gdGhlIGxhYmVsIGlzIHRleHQtb25seS5cbiAgICogU3BlY2lmeWluZyBgbGFiZWxUZXh0YCBhbHNvIGVuYWJsZXMgYXV0b21hdGljIGVycm9yIG1lc3NhZ2UgaGFuZGxpbmcgZm9yIGNoZWNrYm94LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHNlbGVjdCBvciBkZXNlbGVjdCB0aGUgY2hlY2tib3guXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBjaGVja2VkQ2hhbmdlKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLiNjaGVja2VkQ2hhbmdlT2JzO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHNlbGVjdGVkIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBkaXNhYmxlZENoYW5nZSgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy4jZGlzYWJsZWRDaGFuZ2VPYnM7XG4gIH1cblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgaW5kZXRlcm1pbmF0ZSBzdGF0ZSBjaGFuZ2VzLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IGluZGV0ZXJtaW5hdGVDaGFuZ2UoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuI2luZGV0ZXJtaW5hdGVDaGFuZ2VPYnM7XG4gIH1cblxuICBAVmlld0NoaWxkKCdpbnB1dEVsJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHB1YmxpYyBzZXQgaW5wdXRFbChlbDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19pbnB1dEVsID0gZWw7XG4gICAgaWYgKGVsICYmIHRoaXMuaW5kZXRlcm1pbmF0ZSkge1xuICAgICAgZWwubmF0aXZlRWxlbWVudC5pbmRldGVybWluYXRlID0gdGhpcy5pbmRldGVybWluYXRlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW5wdXRFbCgpOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2lucHV0RWw7XG4gIH1cblxuICBwcm90ZWN0ZWQgaW5wdXRJZCA9ICcnO1xuXG4gICNjaGVja2VkQ2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG4gICNjaGVja2VkQ2hhbmdlT2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAjZGlzYWJsZWRDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcbiAgI2Rpc2FibGVkQ2hhbmdlT2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAjaW5kZXRlcm1pbmF0ZUNoYW5nZTogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuICAjaW5kZXRlcm1pbmF0ZUNoYW5nZU9iczogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAjX2NoZWNrZWQgPSBmYWxzZTtcbiAgI19jaGVja2JveFR5cGUgPSAnaW5mbyc7XG4gICNfZGlzYWJsZWQgPSBmYWxzZTtcbiAgI19pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICNfaW5wdXRFbDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcbiAgI19uYW1lID0gJyc7XG4gICNfcmVxdWlyZWQgPSBmYWxzZTtcblxuICAjY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAjaWRTdmMgPSBpbmplY3QoU2t5SWRTZXJ2aWNlKTtcbiAgI2RlZmF1bHRJZCA9IHRoaXMuI2lkU3ZjLmdlbmVyYXRlSWQoKTtcbiAgI2xvZ2dlciA9IGluamVjdChTa3lMb2dTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmdDb250cm9sID0gaW5qZWN0KE5nQ29udHJvbCwge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIHNlbGY6IHRydWUsXG4gIH0pO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXJyb3JJZCA9IHRoaXMuI2lkU3ZjLmdlbmVyYXRlSWQoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgIH1cblxuICAgIHRoaXMuI2NoZWNrZWRDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRoaXMuY2hlY2tlZCk7XG4gICAgdGhpcy4jZGlzYWJsZWRDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRoaXMuZGlzYWJsZWQpO1xuICAgIHRoaXMuI2luZGV0ZXJtaW5hdGVDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRoaXMuZGlzYWJsZWQpO1xuXG4gICAgdGhpcy4jY2hlY2tlZENoYW5nZU9icyA9IHRoaXMuI2NoZWNrZWRDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy4jZGlzYWJsZWRDaGFuZ2VPYnMgPSB0aGlzLiNkaXNhYmxlZENoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLiNpbmRldGVybWluYXRlQ2hhbmdlT2JzID0gdGhpcy4jaW5kZXRlcm1pbmF0ZUNoYW5nZS5hc09ic2VydmFibGUoKTtcblxuICAgIHRoaXMuaWQgPSB0aGlzLiNkZWZhdWx0SWQ7XG4gICAgdGhpcy5uYW1lID0gdGhpcy4jZGVmYXVsdElkO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgc3VwcG9ydCBmb3IgYW55b25lIHN0aWxsIHVzaW5nIFZhbGlkYXRvcnMuUmVxdWlyZWQuXG4gICAgICB0aGlzLnJlcXVpcmVkID1cbiAgICAgICAgdGhpcy5yZXF1aXJlZCB8fCBTa3lGb3Jtc1V0aWxpdHkuaGFzUmVxdWlyZWRWYWxpZGF0aW9uKHRoaXMubmdDb250cm9sKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICovXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrZWQgPSAhIXZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLiNjb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuID0gZm47XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICovXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKi9cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEV2ZW50IGhhbmRsZXIgZm9yIGNoZWNrYm94IGlucHV0IGVsZW1lbnQuXG4gICAqIFRvZ2dsZXMgY2hlY2tlZCBzdGF0ZSBpZiBlbGVtZW50IGlzIG5vdCBkaXNhYmxlZC5cbiAgICovXG4gIHB1YmxpYyBvbkludGVyYWN0aW9uRXZlbnQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgLy8gV2UgYWx3YXlzIGhhdmUgdG8gc3RvcCBwcm9wYWdhdGlvbiBvbiB0aGUgY2hhbmdlIGV2ZW50LlxuICAgIC8vIE90aGVyd2lzZSB0aGUgY2hhbmdlIGV2ZW50LCBmcm9tIHRoZSBpbnB1dCBlbGVtZW50LCB3aWxsIGJ1YmJsZSB1cCBhbmRcbiAgICAvLyBlbWl0IGl0cyBldmVudCBvYmplY3QgdG8gdGhlIGBjaGFuZ2VgIG91dHB1dC5cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICB0aGlzLiN0b2dnbGUoKTtcbiAgICAgIHRoaXMuI2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4odGhpcy5jaGVja2VkKTtcbiAgICAgIHRoaXMuI2VtaXRDaGFuZ2VFdmVudCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbklucHV0Qmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG5cbiAgLyoqIENhbGxlZCB3aGVuIHRoZSBjaGVja2JveCBpcyBibHVycmVkLiBOZWVkZWQgdG8gcHJvcGVybHkgaW1wbGVtZW50IENvbnRyb2xWYWx1ZUFjY2Vzc29yLiAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gIHB1YmxpYyBvblRvdWNoZWQ6ICgpID0+IGFueSA9ICgpID0+IHt9O1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgI2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm46ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKHZhbHVlKSA9PiB7fTtcblxuICAjZW1pdENoYW5nZUV2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlLmVtaXQoeyBjaGVja2VkOiB0aGlzLmNoZWNrZWQgfSk7XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlcyB0aGUgYGNoZWNrZWRgIHZhbHVlIGJldHdlZW4gdHJ1ZSBhbmQgZmFsc2VcbiAgICovXG4gICN0b2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2VkID0gIXRoaXMuY2hlY2tlZDtcbiAgfVxuXG4gICNzZXRWYWxpZGF0b3JzKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMucmVxdWlyZWQgJiZcbiAgICAgICF0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWRUcnVlKVxuICAgICkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZFRydWUpO1xuICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgIXRoaXMucmVxdWlyZWQgJiZcbiAgICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZFRydWUpXG4gICAgKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sLnJlbW92ZVZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZFRydWUpO1xuICAgICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH1cbiAgfVxufVxuIiwiPGxhYmVsXG4gIGNsYXNzPVwic2t5LWNoZWNrYm94LXdyYXBwZXIgc2t5LXN3aXRjaFwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnc2t5LWNvbnRyb2wtbGFiZWwtcmVxdWlyZWQnOiByZXF1aXJlZCxcbiAgICAnc2t5LXN3aXRjaC1kaXNhYmxlZCc6IGRpc2FibGVkXG4gIH1cIlxuPlxuICA8aW5wdXRcbiAgICBjbGFzcz1cInNreS1jaGVja2JveC1pbnB1dCBza3ktc3dpdGNoLWlucHV0XCJcbiAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICBbY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW3RhYkluZGV4XT1cInRhYmluZGV4XCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwibGFiZWxsZWRCeVwiXG4gICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZCA/IHRydWUgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwiISFuZ0NvbnRyb2w/LmVycm9yc1wiXG4gICAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdPVwiXG4gICAgICBsYWJlbFRleHQgJiYgbmdDb250cm9sPy5lcnJvcnMgPyBlcnJvcklkIDogdW5kZWZpbmVkXG4gICAgXCJcbiAgICAoYmx1cik9XCJvbklucHV0Qmx1cigpXCJcbiAgICAoY2hhbmdlKT1cIm9uSW50ZXJhY3Rpb25FdmVudCgkZXZlbnQpXCJcbiAgICAjaW5wdXRFbFxuICAvPlxuICA8c3BhblxuICAgIGNsYXNzPVwic2t5LXN3aXRjaC1jb250cm9sIHNreS1yb3VuZGVkLWNvcm5lcnNcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdza3ktc3dpdGNoLWNvbnRyb2wtaWNvbic6IGljb24sXG4gICAgICAnc2t5LXN3aXRjaC1jb250cm9sLWluZm8nOiBjaGVja2JveFR5cGUgPT09ICdpbmZvJyxcbiAgICAgICdza3ktc3dpdGNoLWNvbnRyb2wtc3VjY2Vzcyc6IGNoZWNrYm94VHlwZSA9PT0gJ3N1Y2Nlc3MnLFxuICAgICAgJ3NreS1zd2l0Y2gtY29udHJvbC13YXJuaW5nJzogY2hlY2tib3hUeXBlID09PSAnd2FybmluZycsXG4gICAgICAnc2t5LXN3aXRjaC1jb250cm9sLWRhbmdlcic6IGNoZWNrYm94VHlwZSA9PT0gJ2RhbmdlcidcbiAgICB9XCJcbiAgPlxuICAgIDxza3ktaWNvblxuICAgICAgKm5nSWY9XCJpY29uOyBlbHNlIGNoZWNrZWRPckluZGV0ZXJtaW5hdGVUZW1wbGF0ZVwiXG4gICAgICBbZml4ZWRXaWR0aF09XCJ0cnVlXCJcbiAgICAgIFtpY29uXT1cImljb25cIlxuICAgIC8+XG4gICAgPG5nLXRlbXBsYXRlICNjaGVja2VkT3JJbmRldGVybWluYXRlVGVtcGxhdGU+XG4gICAgICA8c2t5LWljb25cbiAgICAgICAgKm5nSWY9XCIhaW5kZXRlcm1pbmF0ZSAmJiBjaGVja2VkXCJcbiAgICAgICAgY2xhc3M9XCJza3ktY2hlY2tib3gtaWNvbi1tb2Rlcm4tY2hlY2tlZFwiXG4gICAgICAgIFtmaXhlZFdpZHRoXT1cInRydWVcIlxuICAgICAgICBpY29uPVwiY2hlY2tcIlxuICAgICAgLz5cbiAgICAgIDxza3ktaWNvblxuICAgICAgICAqbmdJZj1cImluZGV0ZXJtaW5hdGVcIlxuICAgICAgICBjbGFzcz1cInNreS1jaGVja2JveC1pY29uLWluZGV0ZXJtaW5hdGUgc2t5LWNoZWNrYm94LWljb24tbW9kZXJuLWluZGV0ZXJtaW5hdGVcIlxuICAgICAgICBbZml4ZWRXaWR0aF09XCJ0cnVlXCJcbiAgICAgICAgaWNvbj1cInNxdWFyZVwiXG4gICAgICAvPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvc3Bhbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsVGV4dDsgZWxzZSBsYWJlbEVsZW1lbnRcIj5cbiAgICA8c2t5LWNoZWNrYm94LWxhYmVsPnt7IGxhYmVsVGV4dCB9fTwvc2t5LWNoZWNrYm94LWxhYmVsPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNsYWJlbEVsZW1lbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LWNoZWNrYm94LWxhYmVsXCIgLz5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbGFiZWw+XG48c2t5LWZvcm0tZXJyb3JzXG4gICpuZ0lmPVwibGFiZWxUZXh0ICYmIG5nQ29udHJvbD8uZXJyb3JzXCJcbiAgW2lkXT1cImVycm9ySWRcIlxuICBbZXJyb3JzXT1cIm5nQ29udHJvbD8uZXJyb3JzXCJcbiAgW2xhYmVsVGV4dF09XCInc2t5dXhfY2hlY2tib3hfcmVxdWlyZWRfbGFiZWxfdGV4dCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICBbc2hvd0Vycm9yc109XCJuZ0NvbnRyb2w/LnRvdWNoZWQgfHwgbmdDb250cm9sPy5kaXJ0eVwiXG4+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1mb3JtLWVycm9yXCIgLz5cbjwvc2t5LWZvcm0tZXJyb3JzPlxuIl19
378
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFELE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7O0FBSTFEOzs7R0FHRztBQU9ILE1BQU0sT0FBTyxvQkFBb0I7SUFDL0I7Ozs7OztPQU1HO0lBQ0gsSUFDVyxLQUFLLENBQUMsS0FBeUI7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFFckIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLDRCQUE0QixFQUFFO2dCQUNwRCx1QkFBdUIsRUFBRSxDQUFDO2FBQzNCLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBVyxLQUFL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QURmLEtBQUs7Z0JBdUJLLFVBQVU7c0JBRHBCLEtBQUs7Z0JBb0JLLEVBQUU7c0JBRFosS0FBSztnQkFlSyxRQUFRO3NCQURsQixLQUFLO2dCQXFCQyxRQUFRO3NCQURkLEtBQUs7Z0JBUUssSUFBSTtzQkFEZCxLQUFLO2dCQWtCQyxNQUFNO3NCQUZaLE1BQU07Z0JBVUEsSUFBSTtzQkFEVixLQUFLO2dCQWFLLFlBQVk7c0JBRHRCLEtBQUs7Z0JBb0JLLE9BQU87c0JBRGpCLEtBQUs7Z0JBcUJLLGFBQWE7c0JBRHZCLEtBQUs7Z0JBc0JLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBZ0JDLFNBQVM7c0JBRGYsS0FBSztnQkFRQyxXQUFXO3NCQURqQixLQUFLO2dCQU9LLGFBQWE7c0JBRHZCLE1BQU07Z0JBU0ksY0FBYztzQkFEeEIsTUFBTTtnQkFVSSxtQkFBbUI7c0JBRDdCLE1BQU07Z0JBTUksT0FBTztzQkFEakIsU0FBUzt1QkFBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lJZFNlcnZpY2UsIFNreUxvZ1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTS1lfRk9STV9FUlJPUlNfRU5BQkxFRCB9IGZyb20gJy4uL2Zvcm0tZXJyb3IvZm9ybS1lcnJvcnMtZW5hYmxlZC10b2tlbic7XG5pbXBvcnQgeyBTa3lGb3Jtc1V0aWxpdHkgfSBmcm9tICcuLi9zaGFyZWQvZm9ybXMtdXRpbGl0eSc7XG5cbmltcG9ydCB7IFNreUNoZWNrYm94Q2hhbmdlIH0gZnJvbSAnLi9jaGVja2JveC1jaGFuZ2UnO1xuXG4vKipcbiAqIFJlcGxhY2VzIHRoZSBIVE1MIGlucHV0IGVsZW1lbnQgd2l0aCBgdHlwZT1cImNoZWNrYm94XCJgLiBXaGVuIHVzZXJzIHNlbGVjdCBhIGNoZWNrYm94LCBpdHMgdmFsdWVcbiAqIGlzIGRyaXZlbiB0aHJvdWdoIGFuIGBuZ01vZGVsYCBhdHRyaWJ1dGUgdGhhdCB5b3Ugc3BlY2lmeSBvbiB0aGUgYHNreS1jaGVja2JveGAgZWxlbWVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWNoZWNrYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3guY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBTS1lfRk9STV9FUlJPUlNfRU5BQkxFRCwgdXNlVmFsdWU6IHRydWUgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUNoZWNrYm94Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBUaGUgQVJJQSBsYWJlbCBmb3IgdGhlIGNoZWNrYm94LiBUaGlzIHNldHMgdGhlIGNoZWNrYm94J3MgYGFyaWEtbGFiZWxgIGF0dHJpYnV0ZVxuICAgKiBbdG8gc3VwcG9ydCBhY2Nlc3NpYmlsaXR5XShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvY2hlY2tib3gjYWNjZXNzaWJpbGl0eSlcbiAgICogd2hlbiB0aGUgY2hlY2tib3ggZG9lcyBub3QgaW5jbHVkZSBhIHZpc2libGUgbGFiZWwuIFlvdSBtdXN0IHNldCB0aGlzIHByb3BlcnR5IGZvciBpY29uXG4gICAqIGNoZWNrYm94ZXMuIElmIHRoZSBjaGVja2JveCBpbmNsdWRlcyBhIHZpc2libGUgbGFiZWwsIHVzZSBgbGFiZWxsZWRCeWAgaW5zdGVhZC5cbiAgICogQGRlcHJlY2F0ZWQgVXNlIGBsYWJlbFRleHRgIGluc3RlYWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGxhYmVsKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfbGFiZWwgPSB2YWx1ZTtcblxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy4jbG9nZ2VyLmRlcHJlY2F0ZWQoJ1NreUNoZWNrYm94Q29tcG9uZW50LmxhYmVsJywge1xuICAgICAgICBkZXByZWNhdGlvbk1ham9yVmVyc2lvbjogOSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFiZWwoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2xhYmVsO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBIVE1MIGVsZW1lbnQgSUQgb2YgdGhlIGVsZW1lbnQgdGhhdCBsYWJlbHMgdGhlXG4gICAqIGNoZWNrYm94LiBUaGlzIHNldHMgdGhlIGNoZWNrYm94J3MgYGFyaWEtbGFiZWxsZWRieWAgYXR0cmlidXRlXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9jaGVja2JveCNhY2Nlc3NpYmlsaXR5KS5cbiAgICogSWYgdGhlIGNoZWNrYm94IGRvZXMgbm90IGluY2x1ZGUgYSB2aXNpYmxlIGxhYmVsLCB1c2UgYGxhYmVsYCBpbnN0ZWFkLlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgYGxhYmVsVGV4dGAgaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbGFiZWxsZWRCeSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2xhYmVsbGVkQnkgPSB2YWx1ZTtcblxuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy4jbG9nZ2VyLmRlcHJlY2F0ZWQoJ1NreUNoZWNrYm94Q29tcG9uZW50LmxhYmVsbGVkQnknLCB7XG4gICAgICAgIGRlcHJlY2F0aW9uTWFqb3JWZXJzaW9uOiA5LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBsYWJlbGxlZEJ5KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19sYWJlbGxlZEJ5O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBmb3IgdGhlIGNoZWNrYm94LlxuICAgKiBJZiBhIHZhbHVlIGlzIG5vdCBwcm92aWRlZCwgYW4gYXV0b2dlbmVyYXRlZCBJRCBpcyB1c2VkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBpZCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmlucHV0SWQgPSBgc2t5LWNoZWNrYm94LSR7dmFsdWV9LWlucHV0YDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnB1dElkID0gYHNreS1jaGVja2JveC0ke3RoaXMuI2RlZmF1bHRJZH0taW5wdXRgO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRpc2FibGUgdGhlIGNoZWNrYm94IG9uIHRlbXBsYXRlLWRyaXZlbiBmb3Jtcy4gRG9uJ3QgdXNlIHRoaXMgaW5wdXQgb24gcmVhY3RpdmUgZm9ybXMgYmVjYXVzZSB0aGV5IG1heSBvdmVyd3JpdGUgdGhlIGlucHV0IG9yIGxlYXZlIHRoZSBjb250cm9sIG91dCBvZiBzeW5jLlxuICAgKiBUbyBzZXQgdGhlIGRpc2FibGVkIHN0YXRlIG9uIHJlYWN0aXZlIGZvcm1zLCB1c2UgdGhlIGBGb3JtQ29udHJvbGAgaW5zdGVhZC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBjb2VyY2VkVmFsdWUgPSBTa3lGb3Jtc1V0aWxpdHkuY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICBpZiAoY29lcmNlZFZhbHVlICE9PSB0aGlzLiNfZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuI19kaXNhYmxlZCA9IGNvZXJjZWRWYWx1ZTtcbiAgICAgIHRoaXMuI2Rpc2FibGVkQ2hhbmdlLm5leHQoY29lcmNlZFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2hlY2tib3ggaXMgZGlzYWJsZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGluZGV4IGZvciB0aGUgY2hlY2tib3guIElmIG5vdCBkZWZpbmVkLCB0aGUgaW5kZXggaXMgc2V0IHRvIHRoZSBwb3NpdGlvbiBvZiB0aGVcbiAgICogY2hlY2tib3ggb24gbG9hZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWJpbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkID0gMDtcblxuICAvKipcbiAgICogVGhlIG5hbWUgZm9yIHRoZSBjaGVja2JveC5cbiAgICogSWYgYSB2YWx1ZSBpcyBub3QgcHJvdmlkZWQsIGFuIGF1dG9nZW5lcmF0ZWQgSUQgaXMgdXNlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbmFtZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlICYmIHZhbHVlICE9PSB0aGlzLiNkZWZhdWx0SWQpIHtcbiAgICAgIHRoaXMuI19uYW1lID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI19uYW1lID0gYHNreS1jaGVja2JveC0ke3RoaXMuI2RlZmF1bHRJZH1gO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfbmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBzZWxlY3RlZCB2YWx1ZSBjaGFuZ2VzLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBwdWJsaWMgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lDaGVja2JveENoYW5nZT4oKTtcblxuICAvKipcbiAgICogVGhlIGljb24gdG8gZGlzcGxheSBpbiBwbGFjZSBvZiB0aGUgY2hlY2tib3guIFRvIGdyb3VwIGljb24gY2hlY2tib3hlc1xuICAgKiBsaWtlIGluIHRoZSBkZW1vLCBwbGFjZSB0aGUgYHNreS1zd2l0Y2gtaWNvbi1ncm91cGAgY2xhc3Mgb24gdGhlIGRpcmVjdCBwYXJlbnRcbiAgICogZWxlbWVudCBvZiB0aGUgY2hlY2tib3hlcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpY29uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIHR5cGUgYWZ0ZXIgdXNlcnMgc2VsZWN0IGEgY2hlY2tib3ggd2hlcmUgdGhlXG4gICAqIGBpY29uYCBwcm9wZXJ0eSBkaXNwbGF5cyBhbiBpY29uIGluIHBsYWNlIG9mIHRoZSBjaGVja2JveC4gVGhlIHZhbGlkIG9wdGlvbnMgY29ycmVzcG9uZCB0b1xuICAgKiBbdGhlIGxhYmVsIGNvbXBvbmVudCdzXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvbGFiZWwpXG4gICAqIGxhYmVsIHR5cGVzLiBgXCJpbmZvXCJgIGNyZWF0ZXMgYSBibHVlIGJhY2tncm91bmQsIGBcInN1Y2Nlc3NcImAgY3JlYXRlcyBhIGdyZWVuXG4gICAqIGJhY2tncm91bmQsIGBcIndhcm5pbmdcImAgY3JlYXRlcyBhbiBvcmFuZ2UgYmFja2dyb3VuZCwgYW5kIGBcImRhbmdlclwiYCBjcmVhdGVzIGEgcmVkIGJhY2tncm91bmQuXG4gICAqIEBkZWZhdWx0IFwiaW5mb1wiXG4gICAqIEBkZXByZWNhdGVkIGNoZWNrYm94VHlwZSBpcyBubyBsb25nZXIgc3VwcG9ydGVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGNoZWNrYm94VHlwZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLiNsb2dnZXIuZGVwcmVjYXRlZCgnU2t5Q2hlY2tib3hDb21wb25lbnQuY2hlY2tib3hUeXBlJywge1xuICAgICAgICBkZXByZWNhdGlvbk1ham9yVmVyc2lvbjogNyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuI19jaGVja2JveFR5cGUgPSB2YWx1ZSA/IHZhbHVlLnRvTG93ZXJDYXNlKCkgOiAnaW5mbyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoZWNrYm94VHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfY2hlY2tib3hUeXBlO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIHNlbGVjdGVkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBjaGVja2VkKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgY2hlY2tlZCA9ICEhdmFsdWU7XG4gICAgaWYgKGNoZWNrZWQgIT09IHRoaXMuI19jaGVja2VkKSB7XG4gICAgICB0aGlzLiNfY2hlY2tlZCA9IGNoZWNrZWQ7XG4gICAgICB0aGlzLiNjaGVja2VkQ2hhbmdlLm5leHQoY2hlY2tlZCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIHNlbGVjdGVkLlxuICAgKi9cbiAgcHVibGljIGdldCBjaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfY2hlY2tlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGVja2JveCBpcyBpbiB0aGUgaW5kZXRlcm1pbmF0ZSBzdGF0ZS4gVGhpcyBoYXMgbm8gdmlzdWFsIGVmZmVjdCBmb3IgaWNvbiBjaGVja2JveGVzLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaW5kZXRlcm1pbmF0ZSh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19pbmRldGVybWluYXRlID0gISF2YWx1ZTtcbiAgICB0aGlzLiNpbmRldGVybWluYXRlQ2hhbmdlLm5leHQodGhpcy4jX2luZGV0ZXJtaW5hdGUpO1xuICAgIGlmICh0aGlzLmlucHV0RWwpIHtcbiAgICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LmluZGV0ZXJtaW5hdGUgPSB0aGlzLiNfaW5kZXRlcm1pbmF0ZTtcbiAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW5kZXRlcm1pbmF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2luZGV0ZXJtaW5hdGU7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgaW5wdXQgaXMgcmVxdWlyZWQgZm9yIGZvcm0gdmFsaWRhdGlvbi5cbiAgICogV2hlbiB5b3Ugc2V0IHRoaXMgcHJvcGVydHkgdG8gYHRydWVgLCB0aGUgY29tcG9uZW50IGFkZHMgYGFyaWEtcmVxdWlyZWRgIGFuZCBgcmVxdWlyZWRgXG4gICAqIGF0dHJpYnV0ZXMgdG8gdGhlIGlucHV0IGVsZW1lbnQgc28gdGhhdCBmb3JtcyBkaXNwbGF5IGFuIGludmFsaWQgc3RhdGUgdW50aWwgdGhlIGlucHV0IGVsZW1lbnRcbiAgICogaXMgY29tcGxldGUuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJlcXVpcmVkKHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX3JlcXVpcmVkID0gU2t5Rm9ybXNVdGlsaXR5LmNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgdGhpcy4jc2V0VmFsaWRhdG9ycygpO1xuICB9XG5cbiAgcHVibGljIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX3JlcXVpcmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IHRvIGRpc3BsYXkgYXMgdGhlIGNoZWNrYm94J3MgbGFiZWwuIFVzZSB0aGlzIGluc3RlYWQgb2YgdGhlIGBza3ktY2hlY2tib3gtbGFiZWxgIHdoZW4gdGhlIGxhYmVsIGlzIHRleHQtb25seS5cbiAgICogU3BlY2lmeWluZyBgbGFiZWxUZXh0YCBhbHNvIGVuYWJsZXMgYXV0b21hdGljIGVycm9yIG1lc3NhZ2UgaGFuZGxpbmcgZm9yIGNoZWNrYm94LlxuICAgKiBAcHJldmlld1xuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBoaWRlIHRoZSBgbGFiZWxUZXh0YC5cbiAgICogQHByZXZpZXdcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYWJlbEhpZGRlbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHNlbGVjdCBvciBkZXNlbGVjdCB0aGUgY2hlY2tib3guXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBjaGVja2VkQ2hhbmdlKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLiNjaGVja2VkQ2hhbmdlT2JzO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHNlbGVjdGVkIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGdldCBkaXNhYmxlZENoYW5nZSgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy4jZGlzYWJsZWRDaGFuZ2VPYnM7XG4gIH1cblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgaW5kZXRlcm1pbmF0ZSBzdGF0ZSBjaGFuZ2VzLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZ2V0IGluZGV0ZXJtaW5hdGVDaGFuZ2UoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuI2luZGV0ZXJtaW5hdGVDaGFuZ2VPYnM7XG4gIH1cblxuICBAVmlld0NoaWxkKCdpbnB1dEVsJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIHB1YmxpYyBzZXQgaW5wdXRFbChlbDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19pbnB1dEVsID0gZWw7XG4gICAgaWYgKGVsICYmIHRoaXMuaW5kZXRlcm1pbmF0ZSkge1xuICAgICAgZWwubmF0aXZlRWxlbWVudC5pbmRldGVybWluYXRlID0gdGhpcy5pbmRldGVybWluYXRlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW5wdXRFbCgpOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2lucHV0RWw7XG4gIH1cblxuICBwcm90ZWN0ZWQgaW5wdXRJZCA9ICcnO1xuXG4gICNjaGVja2VkQ2hhbmdlOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG4gICNjaGVja2VkQ2hhbmdlT2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAjZGlzYWJsZWRDaGFuZ2U6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcbiAgI2Rpc2FibGVkQ2hhbmdlT2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAjaW5kZXRlcm1pbmF0ZUNoYW5nZTogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xuICAjaW5kZXRlcm1pbmF0ZUNoYW5nZU9iczogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAjX2NoZWNrZWQgPSBmYWxzZTtcbiAgI19jaGVja2JveFR5cGUgPSAnaW5mbyc7XG4gICNfZGlzYWJsZWQgPSBmYWxzZTtcbiAgI19pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICNfaW5wdXRFbDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcbiAgI19uYW1lID0gJyc7XG4gICNfcmVxdWlyZWQgPSBmYWxzZTtcbiAgI19sYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAjX2xhYmVsbGVkQnk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAjY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAjaWRTdmMgPSBpbmplY3QoU2t5SWRTZXJ2aWNlKTtcbiAgI2RlZmF1bHRJZCA9IHRoaXMuI2lkU3ZjLmdlbmVyYXRlSWQoKTtcbiAgI2xvZ2dlciA9IGluamVjdChTa3lMb2dTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbmdDb250cm9sID0gaW5qZWN0KE5nQ29udHJvbCwge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIHNlbGY6IHRydWUsXG4gIH0pO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXJyb3JJZCA9IHRoaXMuI2lkU3ZjLmdlbmVyYXRlSWQoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgIH1cblxuICAgIHRoaXMuI2NoZWNrZWRDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRoaXMuY2hlY2tlZCk7XG4gICAgdGhpcy4jZGlzYWJsZWRDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRoaXMuZGlzYWJsZWQpO1xuICAgIHRoaXMuI2luZGV0ZXJtaW5hdGVDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRoaXMuZGlzYWJsZWQpO1xuXG4gICAgdGhpcy4jY2hlY2tlZENoYW5nZU9icyA9IHRoaXMuI2NoZWNrZWRDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy4jZGlzYWJsZWRDaGFuZ2VPYnMgPSB0aGlzLiNkaXNhYmxlZENoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLiNpbmRldGVybWluYXRlQ2hhbmdlT2JzID0gdGhpcy4jaW5kZXRlcm1pbmF0ZUNoYW5nZS5hc09ic2VydmFibGUoKTtcblxuICAgIHRoaXMuaWQgPSB0aGlzLiNkZWZhdWx0SWQ7XG4gICAgdGhpcy5uYW1lID0gdGhpcy4jZGVmYXVsdElkO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgc3VwcG9ydCBmb3IgYW55b25lIHN0aWxsIHVzaW5nIFZhbGlkYXRvcnMuUmVxdWlyZWQuXG4gICAgICB0aGlzLnJlcXVpcmVkID1cbiAgICAgICAgdGhpcy5yZXF1aXJlZCB8fCBTa3lGb3Jtc1V0aWxpdHkuaGFzUmVxdWlyZWRWYWxpZGF0aW9uKHRoaXMubmdDb250cm9sKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICovXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrZWQgPSAhIXZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcGxlbWVudGVkIGFzIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLiNjb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuID0gZm47XG4gIH1cblxuICAvKipcbiAgICogSW1wbGVtZW50ZWQgYXMgcGFydCBvZiBDb250cm9sVmFsdWVBY2Nlc3Nvci5cbiAgICovXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBsZW1lbnRlZCBhcyBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKi9cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEV2ZW50IGhhbmRsZXIgZm9yIGNoZWNrYm94IGlucHV0IGVsZW1lbnQuXG4gICAqIFRvZ2dsZXMgY2hlY2tlZCBzdGF0ZSBpZiBlbGVtZW50IGlzIG5vdCBkaXNhYmxlZC5cbiAgICovXG4gIHB1YmxpYyBvbkludGVyYWN0aW9uRXZlbnQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgLy8gV2UgYWx3YXlzIGhhdmUgdG8gc3RvcCBwcm9wYWdhdGlvbiBvbiB0aGUgY2hhbmdlIGV2ZW50LlxuICAgIC8vIE90aGVyd2lzZSB0aGUgY2hhbmdlIGV2ZW50LCBmcm9tIHRoZSBpbnB1dCBlbGVtZW50LCB3aWxsIGJ1YmJsZSB1cCBhbmRcbiAgICAvLyBlbWl0IGl0cyBldmVudCBvYmplY3QgdG8gdGhlIGBjaGFuZ2VgIG91dHB1dC5cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5pbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICB0aGlzLiN0b2dnbGUoKTtcbiAgICAgIHRoaXMuI2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm4odGhpcy5jaGVja2VkKTtcbiAgICAgIHRoaXMuI2VtaXRDaGFuZ2VFdmVudCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbklucHV0Qmx1cigpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG5cbiAgLyoqIENhbGxlZCB3aGVuIHRoZSBjaGVja2JveCBpcyBibHVycmVkLiBOZWVkZWQgdG8gcHJvcGVybHkgaW1wbGVtZW50IENvbnRyb2xWYWx1ZUFjY2Vzc29yLiAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gIHB1YmxpYyBvblRvdWNoZWQ6ICgpID0+IGFueSA9ICgpID0+IHt9O1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgI2NvbnRyb2xWYWx1ZUFjY2Vzc29yQ2hhbmdlRm46ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKHZhbHVlKSA9PiB7fTtcblxuICAjZW1pdENoYW5nZUV2ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuY2hhbmdlLmVtaXQoeyBjaGVja2VkOiB0aGlzLmNoZWNrZWQgfSk7XG4gIH1cblxuICAvKipcbiAgICogVG9nZ2xlcyB0aGUgYGNoZWNrZWRgIHZhbHVlIGJldHdlZW4gdHJ1ZSBhbmQgZmFsc2VcbiAgICovXG4gICN0b2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5jaGVja2VkID0gIXRoaXMuY2hlY2tlZDtcbiAgfVxuXG4gICNzZXRWYWxpZGF0b3JzKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMucmVxdWlyZWQgJiZcbiAgICAgICF0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWRUcnVlKVxuICAgICkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZFRydWUpO1xuICAgICAgdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgIXRoaXMucmVxdWlyZWQgJiZcbiAgICAgIHRoaXMubmdDb250cm9sPy5jb250cm9sPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZFRydWUpXG4gICAgKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sLnJlbW92ZVZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZFRydWUpO1xuICAgICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIH1cbiAgfVxufVxuIiwiPGxhYmVsXG4gIGNsYXNzPVwic2t5LWNoZWNrYm94LXdyYXBwZXIgc2t5LXN3aXRjaFwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnc2t5LWNvbnRyb2wtbGFiZWwtcmVxdWlyZWQnOiByZXF1aXJlZCxcbiAgICAnc2t5LXN3aXRjaC1kaXNhYmxlZCc6IGRpc2FibGVkXG4gIH1cIlxuPlxuICA8aW5wdXRcbiAgICBjbGFzcz1cInNreS1jaGVja2JveC1pbnB1dCBza3ktc3dpdGNoLWlucHV0XCJcbiAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgIFtpZF09XCJpbnB1dElkXCJcbiAgICBbY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW3RhYkluZGV4XT1cInRhYmluZGV4XCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsVGV4dCB8fCBsYWJlbFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImxhYmVsVGV4dCA/IHVuZGVmaW5lZCA6IGxhYmVsbGVkQnlcIlxuICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwicmVxdWlyZWQgPyB0cnVlIDogbnVsbFwiXG4gICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIiEhbmdDb250cm9sPy5lcnJvcnNcIlxuICAgIFthdHRyLmFyaWEtZXJyb3JtZXNzYWdlXT1cIlxuICAgICAgbGFiZWxUZXh0ICYmIG5nQ29udHJvbD8uZXJyb3JzID8gZXJyb3JJZCA6IHVuZGVmaW5lZFxuICAgIFwiXG4gICAgKGJsdXIpPVwib25JbnB1dEJsdXIoKVwiXG4gICAgKGNoYW5nZSk9XCJvbkludGVyYWN0aW9uRXZlbnQoJGV2ZW50KVwiXG4gICAgI2lucHV0RWxcbiAgLz5cbiAgPHNwYW5cbiAgICBjbGFzcz1cInNreS1zd2l0Y2gtY29udHJvbCBza3ktcm91bmRlZC1jb3JuZXJzXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LXN3aXRjaC1jb250cm9sLWljb24nOiBpY29uLFxuICAgICAgJ3NreS1zd2l0Y2gtY29udHJvbC1pbmZvJzogY2hlY2tib3hUeXBlID09PSAnaW5mbycsXG4gICAgICAnc2t5LXN3aXRjaC1jb250cm9sLXN1Y2Nlc3MnOiBjaGVja2JveFR5cGUgPT09ICdzdWNjZXNzJyxcbiAgICAgICdza3ktc3dpdGNoLWNvbnRyb2wtd2FybmluZyc6IGNoZWNrYm94VHlwZSA9PT0gJ3dhcm5pbmcnLFxuICAgICAgJ3NreS1zd2l0Y2gtY29udHJvbC1kYW5nZXInOiBjaGVja2JveFR5cGUgPT09ICdkYW5nZXInXG4gICAgfVwiXG4gID5cbiAgICA8c2t5LWljb25cbiAgICAgICpuZ0lmPVwiaWNvbjsgZWxzZSBjaGVja2VkT3JJbmRldGVybWluYXRlVGVtcGxhdGVcIlxuICAgICAgW2ZpeGVkV2lkdGhdPVwidHJ1ZVwiXG4gICAgICBbaWNvbl09XCJpY29uXCJcbiAgICAvPlxuICAgIDxuZy10ZW1wbGF0ZSAjY2hlY2tlZE9ySW5kZXRlcm1pbmF0ZVRlbXBsYXRlPlxuICAgICAgPHNreS1pY29uXG4gICAgICAgICpuZ0lmPVwiIWluZGV0ZXJtaW5hdGUgJiYgY2hlY2tlZFwiXG4gICAgICAgIGNsYXNzPVwic2t5LWNoZWNrYm94LWljb24tbW9kZXJuLWNoZWNrZWRcIlxuICAgICAgICBbZml4ZWRXaWR0aF09XCJ0cnVlXCJcbiAgICAgICAgaWNvbj1cImNoZWNrXCJcbiAgICAgIC8+XG4gICAgICA8c2t5LWljb25cbiAgICAgICAgKm5nSWY9XCJpbmRldGVybWluYXRlXCJcbiAgICAgICAgY2xhc3M9XCJza3ktY2hlY2tib3gtaWNvbi1pbmRldGVybWluYXRlIHNreS1jaGVja2JveC1pY29uLW1vZGVybi1pbmRldGVybWluYXRlXCJcbiAgICAgICAgW2ZpeGVkV2lkdGhdPVwidHJ1ZVwiXG4gICAgICAgIGljb249XCJzcXVhcmVcIlxuICAgICAgLz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L3NwYW4+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsVGV4dDsgZWxzZSBsYWJlbEVsZW1lbnRcIj5cbiAgICA8c2t5LWNoZWNrYm94LWxhYmVsLXRleHQtbGFiZWxcbiAgICAgIFtsYWJlbFRleHRdPVwibGFiZWxUZXh0XCJcbiAgICAgIFtsYWJlbEhpZGRlbl09XCJsYWJlbEhpZGRlblwiXG4gICAgLz5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjbGFiZWxFbGVtZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1jaGVja2JveC1sYWJlbFwiIC8+XG4gIDwvbmctdGVtcGxhdGU+XG48L2xhYmVsPlxuPHNreS1mb3JtLWVycm9yc1xuICAqbmdJZj1cImxhYmVsVGV4dCAmJiBuZ0NvbnRyb2w/LmVycm9yc1wiXG4gIFtpZF09XCJlcnJvcklkXCJcbiAgW2Vycm9yc109XCJuZ0NvbnRyb2w/LmVycm9yc1wiXG4gIFtsYWJlbFRleHRdPVwiJ3NreXV4X2NoZWNrYm94X3JlcXVpcmVkX2xhYmVsX3RleHQnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgW3Nob3dFcnJvcnNdPVwibmdDb250cm9sPy50b3VjaGVkIHx8IG5nQ29udHJvbD8uZGlydHlcIlxuPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktZm9ybS1lcnJvclwiIC8+XG48L3NreS1mb3JtLWVycm9ycz5cbiJdfQ==
@@ -6,12 +6,15 @@ import { SkyIconModule } from '@skyux/indicators';
6
6
  import { SkyFormErrorModule } from '../form-error/form-error.module';
7
7
  import { SkyFormErrorsModule } from '../form-error/form-errors.module';
8
8
  import { SkyFormsResourcesModule } from '../shared/sky-forms-resources.module';
9
+ import { SkyCheckboxLabelTextLabelComponent } from './checkbox-label-text-label.component';
9
10
  import { SkyCheckboxLabelComponent } from './checkbox-label.component';
10
11
  import { SkyCheckboxComponent } from './checkbox.component';
11
12
  import * as i0 from "@angular/core";
12
13
  export class SkyCheckboxModule {
13
14
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: SkyCheckboxModule, declarations: [SkyCheckboxComponent, SkyCheckboxLabelComponent], imports: [CommonModule,
15
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.1", ngImport: i0, type: SkyCheckboxModule, declarations: [SkyCheckboxComponent,
16
+ SkyCheckboxLabelComponent,
17
+ SkyCheckboxLabelTextLabelComponent], imports: [CommonModule,
15
18
  FormsModule,
16
19
  SkyFormErrorModule,
17
20
  SkyFormErrorsModule,
@@ -31,7 +34,11 @@ export class SkyCheckboxModule {
31
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyCheckboxModule, decorators: [{
32
35
  type: NgModule,
33
36
  args: [{
34
- declarations: [SkyCheckboxComponent, SkyCheckboxLabelComponent],
37
+ declarations: [
38
+ SkyCheckboxComponent,
39
+ SkyCheckboxLabelComponent,
40
+ SkyCheckboxLabelTextLabelComponent,
41
+ ],
35
42
  imports: [
36
43
  CommonModule,
37
44
  FormsModule,
@@ -48,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImpor
48
55
  ],
49
56
  }]
50
57
  }] });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9jaGVja2JveC9jaGVja2JveC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQW1CNUQsTUFBTSxPQUFPLGlCQUFpQjs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBaEJiLG9CQUFvQixFQUFFLHlCQUF5QixhQUU1RCxZQUFZO1lBQ1osV0FBVztZQUNYLGtCQUFrQjtZQUNsQixtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLGFBQWE7WUFDYixhQUFhLGFBR2Isb0JBQW9CO1lBQ3BCLHlCQUF5QjtZQUN6QixrQkFBa0I7K0dBR1QsaUJBQWlCLFlBZDFCLFlBQVk7WUFDWixXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsYUFBYTtZQUNiLGFBQWEsRUFLYixrQkFBa0I7OzJGQUdULGlCQUFpQjtrQkFqQjdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLEVBQUUseUJBQXlCLENBQUM7b0JBQy9ELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsYUFBYTt3QkFDYixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCxvQkFBb0I7d0JBQ3BCLHlCQUF5Qjt3QkFDekIsa0JBQWtCO3FCQUNuQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lUcmltTW9kdWxlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzJztcblxuaW1wb3J0IHsgU2t5Rm9ybUVycm9yTW9kdWxlIH0gZnJvbSAnLi4vZm9ybS1lcnJvci9mb3JtLWVycm9yLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lGb3JtRXJyb3JzTW9kdWxlIH0gZnJvbSAnLi4vZm9ybS1lcnJvci9mb3JtLWVycm9ycy5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5Rm9ybXNSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWZvcm1zLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lDaGVja2JveExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5Q2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrYm94LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1NreUNoZWNrYm94Q29tcG9uZW50LCBTa3lDaGVja2JveExhYmVsQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBTa3lGb3JtRXJyb3JNb2R1bGUsXG4gICAgU2t5Rm9ybUVycm9yc01vZHVsZSxcbiAgICBTa3lGb3Jtc1Jlc291cmNlc01vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreVRyaW1Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTa3lDaGVja2JveENvbXBvbmVudCxcbiAgICBTa3lDaGVja2JveExhYmVsQ29tcG9uZW50LFxuICAgIFNreUZvcm1FcnJvck1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Q2hlY2tib3hNb2R1bGUge31cbiJdfQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9jaGVja2JveC9jaGVja2JveC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQXVCNUQsTUFBTSxPQUFPLGlCQUFpQjs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBbkIxQixvQkFBb0I7WUFDcEIseUJBQXlCO1lBQ3pCLGtDQUFrQyxhQUdsQyxZQUFZO1lBQ1osV0FBVztZQUNYLGtCQUFrQjtZQUNsQixtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLGFBQWE7WUFDYixhQUFhLGFBR2Isb0JBQW9CO1lBQ3BCLHlCQUF5QjtZQUN6QixrQkFBa0I7K0dBR1QsaUJBQWlCLFlBZDFCLFlBQVk7WUFDWixXQUFXO1lBQ1gsa0JBQWtCO1lBQ2xCLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsYUFBYTtZQUNiLGFBQWEsRUFLYixrQkFBa0I7OzJGQUdULGlCQUFpQjtrQkFyQjdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLG9CQUFvQjt3QkFDcEIseUJBQXlCO3dCQUN6QixrQ0FBa0M7cUJBQ25DO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsYUFBYTt3QkFDYixhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCxvQkFBb0I7d0JBQ3BCLHlCQUF5Qjt3QkFDekIsa0JBQWtCO3FCQUNuQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lUcmltTW9kdWxlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzJztcblxuaW1wb3J0IHsgU2t5Rm9ybUVycm9yTW9kdWxlIH0gZnJvbSAnLi4vZm9ybS1lcnJvci9mb3JtLWVycm9yLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lGb3JtRXJyb3JzTW9kdWxlIH0gZnJvbSAnLi4vZm9ybS1lcnJvci9mb3JtLWVycm9ycy5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5Rm9ybXNSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWZvcm1zLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lDaGVja2JveExhYmVsVGV4dExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC1sYWJlbC10ZXh0LWxhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lDaGVja2JveExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5Q2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrYm94LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNreUNoZWNrYm94Q29tcG9uZW50LFxuICAgIFNreUNoZWNrYm94TGFiZWxDb21wb25lbnQsXG4gICAgU2t5Q2hlY2tib3hMYWJlbFRleHRMYWJlbENvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBTa3lGb3JtRXJyb3JNb2R1bGUsXG4gICAgU2t5Rm9ybUVycm9yc01vZHVsZSxcbiAgICBTa3lGb3Jtc1Jlc291cmNlc01vZHVsZSxcbiAgICBTa3lJY29uTW9kdWxlLFxuICAgIFNreVRyaW1Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTa3lDaGVja2JveENvbXBvbmVudCxcbiAgICBTa3lDaGVja2JveExhYmVsQ29tcG9uZW50LFxuICAgIFNreUZvcm1FcnJvck1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Q2hlY2tib3hNb2R1bGUge31cbiJdfQ==
@@ -1,20 +1,28 @@
1
- import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, ViewChild, inject, } from '@angular/core';
2
+ import { SkyLogService } from '@skyux/core';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "@skyux/core";
4
5
  /**
5
6
  * Displays a label above the file attachment element. To display a help button beside the label, include a help button
6
7
  * element, such as `sky-help-inline`, in the `sky-file-attachment-label` element and a `sky-control-help` CSS class on
7
8
  * that help button element.
9
+ * @deprecated use the `labelText` input on the single file attachment component instead.
8
10
  */
9
11
  export class SkyFileAttachmentLabelComponent {
12
+ constructor() {
13
+ inject(SkyLogService).deprecated('SkyFileAttachmentLabelComponent', {
14
+ deprecationMajorVersion: 9,
15
+ replacementRecommendation: 'To add a label to single file attachment, use the `labelText` input on the `sky-file-attachment` component instead.',
16
+ });
17
+ }
10
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyFileAttachmentLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
19
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.1", type: SkyFileAttachmentLabelComponent, selector: "sky-file-attachment-label", viewQueries: [{ propertyName: "labelContentId", first: true, predicate: ["labelContentId"], descendants: true }], ngImport: i0, template: "<span class=\"sky-control-label\"\n ><span skyId skyTrim #labelContentId=\"skyId\"><ng-content /></span\n ><span class=\"sky-control-help-container\"\n ><ng-content select=\".sky-control-help\" /></span\n></span>\n", styles: [":host-context(.sky-theme-modern) .sky-control-label{color:#686c73;font-size:13px}.sky-theme-modern .sky-control-label{color:#686c73;font-size:13px}\n"], dependencies: [{ kind: "directive", type: i1.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "directive", type: i1.λ4, selector: "[skyTrim]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
20
  }
13
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.1", ngImport: i0, type: SkyFileAttachmentLabelComponent, decorators: [{
14
22
  type: Component,
15
23
  args: [{ selector: 'sky-file-attachment-label', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"sky-control-label\"\n ><span skyId skyTrim #labelContentId=\"skyId\"><ng-content /></span\n ><span class=\"sky-control-help-container\"\n ><ng-content select=\".sky-control-help\" /></span\n></span>\n", styles: [":host-context(.sky-theme-modern) .sky-control-label{color:#686c73;font-size:13px}.sky-theme-modern .sky-control-label{color:#686c73;font-size:13px}\n"] }]
16
- }], propDecorators: { labelContentId: [{
24
+ }], ctorParameters: () => [], propDecorators: { labelContentId: [{
17
25
  type: ViewChild,
18
26
  args: ['labelContentId']
19
27
  }] } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hdHRhY2htZW50LWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC1sYWJlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWF0dGFjaG1lbnQtbGFiZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUU5RTs7OztHQUlHO0FBT0gsTUFBTSxPQUFPLCtCQUErQjs4R0FBL0IsK0JBQStCO2tHQUEvQiwrQkFBK0IsbUxDYjVDLDZOQUtBOzsyRkRRYSwrQkFBK0I7a0JBTjNDLFNBQVM7K0JBQ0UsMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUl4QyxjQUFjO3NCQURwQixTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIERpc3BsYXlzIGEgbGFiZWwgYWJvdmUgdGhlIGZpbGUgYXR0YWNobWVudCBlbGVtZW50LiBUbyBkaXNwbGF5IGEgaGVscCBidXR0b24gYmVzaWRlIHRoZSBsYWJlbCwgaW5jbHVkZSBhIGhlbHAgYnV0dG9uXG4gKiBlbGVtZW50LCBzdWNoIGFzIGBza3ktaGVscC1pbmxpbmVgLCBpbiB0aGUgYHNreS1maWxlLWF0dGFjaG1lbnQtbGFiZWxgIGVsZW1lbnQgYW5kIGEgYHNreS1jb250cm9sLWhlbHBgIENTUyBjbGFzcyBvblxuICogdGhhdCBoZWxwIGJ1dHRvbiBlbGVtZW50LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZmlsZS1hdHRhY2htZW50LWxhYmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtYXR0YWNobWVudC1sYWJlbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydmaWxlLWF0dGFjaG1lbnQtbGFiZWwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreUZpbGVBdHRhY2htZW50TGFiZWxDb21wb25lbnQge1xuICBAVmlld0NoaWxkKCdsYWJlbENvbnRlbnRJZCcpXG4gIHB1YmxpYyBsYWJlbENvbnRlbnRJZDogeyBpZDogc3RyaW5nIH0gfCB1bmRlZmluZWQ7XG59XG4iLCI8c3BhbiBjbGFzcz1cInNreS1jb250cm9sLWxhYmVsXCJcbiAgPjxzcGFuIHNreUlkIHNreVRyaW0gI2xhYmVsQ29udGVudElkPVwic2t5SWRcIj48bmctY29udGVudCAvPjwvc3BhblxuICA+PHNwYW4gY2xhc3M9XCJza3ktY29udHJvbC1oZWxwLWNvbnRhaW5lclwiXG4gICAgPjxuZy1jb250ZW50IHNlbGVjdD1cIi5za3ktY29udHJvbC1oZWxwXCIgLz48L3NwYW5cbj48L3NwYW4+XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hdHRhY2htZW50LWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC1sYWJlbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWF0dGFjaG1lbnQtbGFiZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsU0FBUyxFQUNULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUFFNUM7Ozs7O0dBS0c7QUFPSCxNQUFNLE9BQU8sK0JBQStCO0lBRzFDO1FBQ0UsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxpQ0FBaUMsRUFBRTtZQUNsRSx1QkFBdUIsRUFBRSxDQUFDO1lBQzFCLHlCQUF5QixFQUN2QixxSEFBcUg7U0FDeEgsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FUVSwrQkFBK0I7a0dBQS9CLCtCQUErQixtTENwQjVDLDZOQUtBOzsyRkRlYSwrQkFBK0I7a0JBTjNDLFNBQVM7K0JBQ0UsMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNO3dEQUl4QyxjQUFjO3NCQURwQixTQUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIFZpZXdDaGlsZCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUxvZ1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbi8qKlxuICogRGlzcGxheXMgYSBsYWJlbCBhYm92ZSB0aGUgZmlsZSBhdHRhY2htZW50IGVsZW1lbnQuIFRvIGRpc3BsYXkgYSBoZWxwIGJ1dHRvbiBiZXNpZGUgdGhlIGxhYmVsLCBpbmNsdWRlIGEgaGVscCBidXR0b25cbiAqIGVsZW1lbnQsIHN1Y2ggYXMgYHNreS1oZWxwLWlubGluZWAsIGluIHRoZSBgc2t5LWZpbGUtYXR0YWNobWVudC1sYWJlbGAgZWxlbWVudCBhbmQgYSBgc2t5LWNvbnRyb2wtaGVscGAgQ1NTIGNsYXNzIG9uXG4gKiB0aGF0IGhlbHAgYnV0dG9uIGVsZW1lbnQuXG4gKiBAZGVwcmVjYXRlZCB1c2UgdGhlIGBsYWJlbFRleHRgIGlucHV0IG9uIHRoZSBzaW5nbGUgZmlsZSBhdHRhY2htZW50IGNvbXBvbmVudCBpbnN0ZWFkLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZmlsZS1hdHRhY2htZW50LWxhYmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtYXR0YWNobWVudC1sYWJlbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydmaWxlLWF0dGFjaG1lbnQtbGFiZWwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreUZpbGVBdHRhY2htZW50TGFiZWxDb21wb25lbnQge1xuICBAVmlld0NoaWxkKCdsYWJlbENvbnRlbnRJZCcpXG4gIHB1YmxpYyBsYWJlbENvbnRlbnRJZDogeyBpZDogc3RyaW5nIH0gfCB1bmRlZmluZWQ7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGluamVjdChTa3lMb2dTZXJ2aWNlKS5kZXByZWNhdGVkKCdTa3lGaWxlQXR0YWNobWVudExhYmVsQ29tcG9uZW50Jywge1xuICAgICAgZGVwcmVjYXRpb25NYWpvclZlcnNpb246IDksXG4gICAgICByZXBsYWNlbWVudFJlY29tbWVuZGF0aW9uOlxuICAgICAgICAnVG8gYWRkIGEgbGFiZWwgdG8gc2luZ2xlIGZpbGUgYXR0YWNobWVudCwgdXNlIHRoZSBgbGFiZWxUZXh0YCBpbnB1dCBvbiB0aGUgYHNreS1maWxlLWF0dGFjaG1lbnRgIGNvbXBvbmVudCBpbnN0ZWFkLicsXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxzcGFuIGNsYXNzPVwic2t5LWNvbnRyb2wtbGFiZWxcIlxuICA+PHNwYW4gc2t5SWQgc2t5VHJpbSAjbGFiZWxDb250ZW50SWQ9XCJza3lJZFwiPjxuZy1jb250ZW50IC8+PC9zcGFuXG4gID48c3BhbiBjbGFzcz1cInNreS1jb250cm9sLWhlbHAtY29udGFpbmVyXCJcbiAgICA+PG5nLWNvbnRlbnQgc2VsZWN0PVwiLnNreS1jb250cm9sLWhlbHBcIiAvPjwvc3BhblxuPjwvc3Bhbj5cbiJdfQ==