@skyux/indicators 9.3.0 → 9.4.0

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.
@@ -89,11 +89,11 @@ export class SkyStatusIndicatorComponent {
89
89
  }
90
90
  }
91
91
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyStatusIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
92
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: SkyStatusIndicatorComponent, selector: "sky-status-indicator", inputs: { indicatorType: "indicatorType", descriptionType: "descriptionType", customDescription: "customDescription" }, ngImport: i0, template: "<div *ngIf=\"descriptionType\" class=\"sky-status-indicator\">\n <div\n aria-hidden=\"true\"\n class=\"sky-margin-inline-xs sky-status-indicator-icon\"\n [ngClass]=\"'sky-status-indicator-icon-' + indicatorTypeOrDefault\"\n >\n <span class=\"sky-status-indicator-icon-default\">\n <sky-icon [icon]=\"icon\"></sky-icon>\n </span>\n <span class=\"sky-status-indicator-icon-modern\">\n <sky-icon-stack size=\"xs\" [baseIcon]=\"baseIcon\" [topIcon]=\"topIcon\">\n </sky-icon-stack>\n </span>\n </div>\n <div class=\"sky-status-indicator-message-wrapper\">\n <span *ngIf=\"descriptionComputed\" class=\"sky-screen-reader-only\">\n {{ descriptionComputed }}\n </span>\n <span class=\"sky-status-indicator-message\" skyTrim\n ><ng-content></ng-content></span\n ><span class=\"sky-control-help-container\"\n ><ng-content select=\".sky-control-help\"></ng-content\n ></span>\n </div>\n</div>\n", styles: [".sky-status-indicator{align-items:baseline;display:flex}.sky-status-indicator-icon{flex-shrink:1}.sky-status-indicator-icon-modern{display:none}.sky-status-indicator-icon-info{color:#00b4f1}.sky-status-indicator-icon-success{color:#72bf44}.sky-status-indicator-icon-warning{color:#fbb034}.sky-status-indicator-icon-danger{color:#ef4044}:host-context(.sky-theme-modern) .sky-status-indicator-icon:not(.sky-status-indicator-icon-danger){--sky-icon-stack-top-icon-color-override: #212327}:host-context(.sky-theme-modern) .sky-status-indicator-icon-default{display:none}:host-context(.sky-theme-modern) .sky-status-indicator-icon-modern{display:inline}.sky-theme-modern .sky-status-indicator-icon:not(.sky-status-indicator-icon-danger){--sky-icon-stack-top-icon-color-override: #212327}.sky-theme-modern .sky-status-indicator-icon-default{display:none}.sky-theme-modern .sky-status-indicator-icon-modern{display:inline}\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.SkyIconComponent, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i3.SkyIconStackComponent, selector: "sky-icon-stack", inputs: ["size", "baseIcon", "topIcon"] }, { kind: "directive", type: i4.λ4, selector: "[skyTrim]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: SkyStatusIndicatorComponent, selector: "sky-status-indicator", inputs: { indicatorType: "indicatorType", descriptionType: "descriptionType", customDescription: "customDescription" }, ngImport: i0, template: "<div *ngIf=\"descriptionType\" class=\"sky-status-indicator\">\n <div\n aria-hidden=\"true\"\n class=\"sky-margin-inline-xs sky-status-indicator-icon\"\n [ngClass]=\"'sky-status-indicator-icon-' + indicatorTypeOrDefault\"\n >\n <span class=\"sky-status-indicator-icon-default\">\n <sky-icon [icon]=\"icon\" />\n </span>\n <span class=\"sky-status-indicator-icon-modern\">\n <sky-icon-stack size=\"xs\" [baseIcon]=\"baseIcon\" [topIcon]=\"topIcon\">\n </sky-icon-stack>\n </span>\n </div>\n <div class=\"sky-status-indicator-message-wrapper\">\n <span *ngIf=\"descriptionComputed\" class=\"sky-screen-reader-only\">\n {{ descriptionComputed }}\n </span>\n <span class=\"sky-status-indicator-message\" skyTrim><ng-content /></span\n ><span class=\"sky-control-help-container\"\n ><ng-content select=\".sky-control-help\"></ng-content\n ></span>\n </div>\n</div>\n", styles: [".sky-status-indicator{align-items:baseline;display:flex}.sky-status-indicator-icon{flex-shrink:1}.sky-status-indicator-icon-modern{display:none}.sky-status-indicator-icon-info{color:#00b4f1}.sky-status-indicator-icon-success{color:#72bf44}.sky-status-indicator-icon-warning{color:#fbb034}.sky-status-indicator-icon-danger{color:#ef4044}:host-context(.sky-theme-modern) .sky-status-indicator-icon:not(.sky-status-indicator-icon-danger){--sky-icon-stack-top-icon-color-override: #212327}:host-context(.sky-theme-modern) .sky-status-indicator-icon-default{display:none}:host-context(.sky-theme-modern) .sky-status-indicator-icon-modern{display:inline}.sky-theme-modern .sky-status-indicator-icon:not(.sky-status-indicator-icon-danger){--sky-icon-stack-top-icon-color-override: #212327}.sky-theme-modern .sky-status-indicator-icon-default{display:none}.sky-theme-modern .sky-status-indicator-icon-modern{display:inline}\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.SkyIconComponent, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i3.SkyIconStackComponent, selector: "sky-icon-stack", inputs: ["size", "baseIcon", "topIcon"] }, { kind: "directive", type: i4.λ4, selector: "[skyTrim]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
93
93
  }
94
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyStatusIndicatorComponent, decorators: [{
95
95
  type: Component,
96
- args: [{ selector: 'sky-status-indicator', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"descriptionType\" class=\"sky-status-indicator\">\n <div\n aria-hidden=\"true\"\n class=\"sky-margin-inline-xs sky-status-indicator-icon\"\n [ngClass]=\"'sky-status-indicator-icon-' + indicatorTypeOrDefault\"\n >\n <span class=\"sky-status-indicator-icon-default\">\n <sky-icon [icon]=\"icon\"></sky-icon>\n </span>\n <span class=\"sky-status-indicator-icon-modern\">\n <sky-icon-stack size=\"xs\" [baseIcon]=\"baseIcon\" [topIcon]=\"topIcon\">\n </sky-icon-stack>\n </span>\n </div>\n <div class=\"sky-status-indicator-message-wrapper\">\n <span *ngIf=\"descriptionComputed\" class=\"sky-screen-reader-only\">\n {{ descriptionComputed }}\n </span>\n <span class=\"sky-status-indicator-message\" skyTrim\n ><ng-content></ng-content></span\n ><span class=\"sky-control-help-container\"\n ><ng-content select=\".sky-control-help\"></ng-content\n ></span>\n </div>\n</div>\n", styles: [".sky-status-indicator{align-items:baseline;display:flex}.sky-status-indicator-icon{flex-shrink:1}.sky-status-indicator-icon-modern{display:none}.sky-status-indicator-icon-info{color:#00b4f1}.sky-status-indicator-icon-success{color:#72bf44}.sky-status-indicator-icon-warning{color:#fbb034}.sky-status-indicator-icon-danger{color:#ef4044}:host-context(.sky-theme-modern) .sky-status-indicator-icon:not(.sky-status-indicator-icon-danger){--sky-icon-stack-top-icon-color-override: #212327}:host-context(.sky-theme-modern) .sky-status-indicator-icon-default{display:none}:host-context(.sky-theme-modern) .sky-status-indicator-icon-modern{display:inline}.sky-theme-modern .sky-status-indicator-icon:not(.sky-status-indicator-icon-danger){--sky-icon-stack-top-icon-color-override: #212327}.sky-theme-modern .sky-status-indicator-icon-default{display:none}.sky-theme-modern .sky-status-indicator-icon-modern{display:inline}\n"] }]
96
+ args: [{ selector: 'sky-status-indicator', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"descriptionType\" class=\"sky-status-indicator\">\n <div\n aria-hidden=\"true\"\n class=\"sky-margin-inline-xs sky-status-indicator-icon\"\n [ngClass]=\"'sky-status-indicator-icon-' + indicatorTypeOrDefault\"\n >\n <span class=\"sky-status-indicator-icon-default\">\n <sky-icon [icon]=\"icon\" />\n </span>\n <span class=\"sky-status-indicator-icon-modern\">\n <sky-icon-stack size=\"xs\" [baseIcon]=\"baseIcon\" [topIcon]=\"topIcon\">\n </sky-icon-stack>\n </span>\n </div>\n <div class=\"sky-status-indicator-message-wrapper\">\n <span *ngIf=\"descriptionComputed\" class=\"sky-screen-reader-only\">\n {{ descriptionComputed }}\n </span>\n <span class=\"sky-status-indicator-message\" skyTrim><ng-content /></span\n ><span class=\"sky-control-help-container\"\n ><ng-content select=\".sky-control-help\"></ng-content\n ></span>\n </div>\n</div>\n", styles: [".sky-status-indicator{align-items:baseline;display:flex}.sky-status-indicator-icon{flex-shrink:1}.sky-status-indicator-icon-modern{display:none}.sky-status-indicator-icon-info{color:#00b4f1}.sky-status-indicator-icon-success{color:#72bf44}.sky-status-indicator-icon-warning{color:#fbb034}.sky-status-indicator-icon-danger{color:#ef4044}:host-context(.sky-theme-modern) .sky-status-indicator-icon:not(.sky-status-indicator-icon-danger){--sky-icon-stack-top-icon-color-override: #212327}:host-context(.sky-theme-modern) .sky-status-indicator-icon-default{display:none}:host-context(.sky-theme-modern) .sky-status-indicator-icon-modern{display:inline}.sky-theme-modern .sky-status-indicator-icon:not(.sky-status-indicator-icon-danger){--sky-icon-stack-top-icon-color-override: #212327}.sky-theme-modern .sky-status-indicator-icon-default{display:none}.sky-theme-modern .sky-status-indicator-icon-modern{display:inline}\n"] }]
97
97
  }], propDecorators: { indicatorType: [{
98
98
  type: Input
99
99
  }], descriptionType: [{
@@ -101,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
101
101
  }], customDescription: [{
102
102
  type: Input
103
103
  }] } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWluZGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5kaWNhdG9ycy9zcmMvbGliL21vZHVsZXMvc3RhdHVzLWluZGljYXRvci9zdGF0dXMtaW5kaWNhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy9zdGF0dXMtaW5kaWNhdG9yL3N0YXR1cy1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBS3JELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7QUFFM0UsTUFBTSxzQkFBc0IsR0FBeUIsU0FBUyxDQUFDO0FBQy9EOzs7OztHQUtHO0FBT0gsTUFBTSxPQUFPLDJCQUEyQjtJQU54QztRQXNEUywyQkFBc0IsR0FBeUIsc0JBQXNCLENBQUM7UUFJN0Usb0JBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0tBNkNoRDtJQWpHQzs7O09BR0c7SUFDSCxJQUNXLGFBQWEsQ0FBQyxLQUEyQjtRQUNsRCxJQUFJLENBQUMsc0JBQXNCO1lBQ3pCLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFdkQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFDVyxlQUFlLENBQUMsS0FBOEM7UUFDdkUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMvQixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNXLGlCQUFpQixDQUFDLEtBQXlCO1FBQ3BELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xDLENBQUM7SUFZRCxlQUFlLENBQTZCO0lBQzVDLGFBQWEsQ0FBa0M7SUFFL0MsaUJBQWlCLENBQTBDO0lBQzNELG1CQUFtQixDQUFxQjtJQUVqQyxRQUFRO1FBQ2IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxhQUFhLEdBQUcsdUJBQXVCLENBQUMsZUFBZSxDQUMzRCxJQUFJLENBQUMsc0JBQXNCLENBQzVCLENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQztRQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQztRQUNsRCxJQUFJLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztJQUNsRCxDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixRQUFRLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQzVCLEtBQUssTUFBTTtvQkFDVCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO29CQUM5QixNQUFNO2dCQUNSLEtBQUssUUFBUTtvQkFDWCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO29CQUNsRCxNQUFNO2dCQUNSO29CQUNFLElBQUksQ0FBQyxhQUFhO3lCQUNmLFNBQVMsQ0FDUiw0QkFBNEI7d0JBQzFCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FDMUM7eUJBQ0EsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7d0JBQ25CLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7d0JBQ2pDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQ3RDLENBQUMsQ0FBQyxDQUFDO29CQUVMLE1BQU07YUFDVDtTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQzs4R0FqR1UsMkJBQTJCO2tHQUEzQiwyQkFBMkIsb0xDNUJ4Qyw2N0JBeUJBOzsyRkRHYSwyQkFBMkI7a0JBTnZDLFNBQVM7K0JBQ0Usc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU07OEJBUXBDLGFBQWE7c0JBRHZCLEtBQUs7Z0JBY0ssZUFBZTtzQkFEekIsS0FBSztnQkFlSyxpQkFBaUI7c0JBRDNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUxpYlJlc291cmNlc1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7IFNreUljb25TdGFja0l0ZW0gfSBmcm9tICcuLi9pY29uL2ljb24tc3RhY2staXRlbSc7XG5pbXBvcnQgeyBTa3lJbmRpY2F0b3JEZXNjcmlwdGlvblR5cGUgfSBmcm9tICcuLi9zaGFyZWQvaW5kaWNhdG9yLWRlc2NyaXB0aW9uLXR5cGUnO1xuaW1wb3J0IHsgU2t5SW5kaWNhdG9ySWNvblR5cGUgfSBmcm9tICcuLi9zaGFyZWQvaW5kaWNhdG9yLWljb24tdHlwZSc7XG5pbXBvcnQgeyBTa3lJbmRpY2F0b3JJY29uVXRpbGl0eSB9IGZyb20gJy4uL3NoYXJlZC9pbmRpY2F0b3ItaWNvbi11dGlsaXR5JztcblxuY29uc3QgSU5ESUNBVE9SX1RZUEVfREVGQVVMVDogU2t5SW5kaWNhdG9ySWNvblR5cGUgPSAnd2FybmluZyc7XG4vKipcbiAqIERpc3BsYXlzIHN0YXR1cyB0ZXh0IHdpdGggYW4gaWNvbiBtYXRjaGluZyB0aGUgc3BlY2lmaWVkIGluZGljYXRvciB0eXBlLlxuICogVG8gZGlzcGxheSBhIGhlbHAgYnV0dG9uIGJlc2lkZSB0aGUgbGFiZWwsIGluY2x1ZGUgYSBoZWxwIGJ1dHRvbiBlbGVtZW50LCBzdWNoIGFzXG4gKiBgc2t5LWhlbHAtaW5saW5lYCwgaW4gdGhlIGBza3ktc3RhdHVzLWluZGljYXRvcmAgZWxlbWVudCBhbmQgYSBgc2t5LWNvbnRyb2wtaGVscGBcbiAqIENTUyBjbGFzcyBvbiB0aGF0IGhlbHAgYnV0dG9uIGVsZW1lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1zdGF0dXMtaW5kaWNhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0YXR1cy1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdGF0dXMtaW5kaWNhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lTdGF0dXNJbmRpY2F0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogVGhlIHN0eWxlIGZvciB0aGUgc3RhdHVzIGluZGljYXRvciwgd2hpY2ggZGV0ZXJtaW5lcyB0aGUgaWNvbi5cbiAgICogQGRlZmF1bHQgXCJ3YXJuaW5nXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaW5kaWNhdG9yVHlwZSh2YWx1ZTogU2t5SW5kaWNhdG9ySWNvblR5cGUpIHtcbiAgICB0aGlzLmluZGljYXRvclR5cGVPckRlZmF1bHQgPVxuICAgICAgdmFsdWUgPT09IHVuZGVmaW5lZCA/IElORElDQVRPUl9UWVBFX0RFRkFVTFQgOiB2YWx1ZTtcblxuICAgIHRoaXMuI3VwZGF0ZUljb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgcHJlZGVmaW5lZCB0ZXh0IHRvIGJlIHJlYWQgYnkgc2NyZWVuIHJlYWRlcnMgZm9yIHVzZXJzXG4gICAqIHdobyBjYW5ub3Qgc2VlIHRoZSBpbmRpY2F0b3IgaWNvbi5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRlc2NyaXB0aW9uVHlwZSh2YWx1ZTogU2t5SW5kaWNhdG9yRGVzY3JpcHRpb25UeXBlIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2Rlc2NyaXB0aW9uVHlwZSA9IHZhbHVlO1xuICAgIHRoaXMuI3VwZGF0ZURlc2NyaXB0aW9uQ29tcHV0ZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGVzY3JpcHRpb25UeXBlKCk6IFNreUluZGljYXRvckRlc2NyaXB0aW9uVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19kZXNjcmlwdGlvblR5cGU7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRleHQgdG8gYmUgcmVhZCBieSBzY3JlZW4gcmVhZGVycyBmb3IgdXNlcnMgd2hvIGNhbm5vdCBzZWVcbiAgICogdGhlIGluZGljYXRvciBpY29uIHdoZW4gYGRlc2NyaXB0aW9uVHlwZWAgaXMgYGN1c3RvbWAuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGN1c3RvbURlc2NyaXB0aW9uKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfY3VzdG9tRGVzY3JpcHRpb24gPSB2YWx1ZTtcbiAgICB0aGlzLiN1cGRhdGVEZXNjcmlwdGlvbkNvbXB1dGVkKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1c3RvbURlc2NyaXB0aW9uKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19jdXN0b21EZXNjcmlwdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBkZXNjcmlwdGlvbkNvbXB1dGVkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGJhc2VJY29uOiBTa3lJY29uU3RhY2tJdGVtIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBpY29uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGluZGljYXRvclR5cGVPckRlZmF1bHQ6IFNreUluZGljYXRvckljb25UeXBlID0gSU5ESUNBVE9SX1RZUEVfREVGQVVMVDtcblxuICBwdWJsaWMgdG9wSWNvbjogU2t5SWNvblN0YWNrSXRlbSB8IHVuZGVmaW5lZDtcblxuICAjY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAjcmVzb3VyY2VzU3ZjID0gaW5qZWN0KFNreUxpYlJlc291cmNlc1NlcnZpY2UpO1xuXG4gICNfZGVzY3JpcHRpb25UeXBlOiBTa3lJbmRpY2F0b3JEZXNjcmlwdGlvblR5cGUgfCB1bmRlZmluZWQ7XG4gICNfY3VzdG9tRGVzY3JpcHRpb246IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jdXBkYXRlSWNvbigpO1xuICB9XG5cbiAgI3VwZGF0ZUljb24oKTogdm9pZCB7XG4gICAgY29uc3QgaW5kaWNhdG9ySWNvbiA9IFNreUluZGljYXRvckljb25VdGlsaXR5LmdldEljb25zRm9yVHlwZShcbiAgICAgIHRoaXMuaW5kaWNhdG9yVHlwZU9yRGVmYXVsdFxuICAgICk7XG5cbiAgICB0aGlzLmljb24gPSBpbmRpY2F0b3JJY29uLmRlZmF1bHRUaGVtZUljb247XG4gICAgdGhpcy5iYXNlSWNvbiA9IGluZGljYXRvckljb24ubW9kZXJuVGhlbWVCYXNlSWNvbjtcbiAgICB0aGlzLnRvcEljb24gPSBpbmRpY2F0b3JJY29uLm1vZGVyblRoZW1lVG9wSWNvbjtcbiAgfVxuXG4gICN1cGRhdGVEZXNjcmlwdGlvbkNvbXB1dGVkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRlc2NyaXB0aW9uVHlwZSkge1xuICAgICAgc3dpdGNoICh0aGlzLmRlc2NyaXB0aW9uVHlwZSkge1xuICAgICAgICBjYXNlICdub25lJzpcbiAgICAgICAgICB0aGlzLmRlc2NyaXB0aW9uQ29tcHV0ZWQgPSAnJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnY3VzdG9tJzpcbiAgICAgICAgICB0aGlzLmRlc2NyaXB0aW9uQ29tcHV0ZWQgPSB0aGlzLmN1c3RvbURlc2NyaXB0aW9uO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRoaXMuI3Jlc291cmNlc1N2Y1xuICAgICAgICAgICAgLmdldFN0cmluZyhcbiAgICAgICAgICAgICAgJ3NreXV4X3N0YXR1c19pbmRpY2F0b3Jfc3JfJyArXG4gICAgICAgICAgICAgICAgdGhpcy5kZXNjcmlwdGlvblR5cGUucmVwbGFjZSgvLS9nLCAnXycpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmRlc2NyaXB0aW9uQ29tcHV0ZWQgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlc2NyaXB0aW9uQ29tcHV0ZWQgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZGVzY3JpcHRpb25UeXBlXCIgY2xhc3M9XCJza3ktc3RhdHVzLWluZGljYXRvclwiPlxuICA8ZGl2XG4gICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICBjbGFzcz1cInNreS1tYXJnaW4taW5saW5lLXhzIHNreS1zdGF0dXMtaW5kaWNhdG9yLWljb25cIlxuICAgIFtuZ0NsYXNzXT1cIidza3ktc3RhdHVzLWluZGljYXRvci1pY29uLScgKyBpbmRpY2F0b3JUeXBlT3JEZWZhdWx0XCJcbiAgPlxuICAgIDxzcGFuIGNsYXNzPVwic2t5LXN0YXR1cy1pbmRpY2F0b3ItaWNvbi1kZWZhdWx0XCI+XG4gICAgICA8c2t5LWljb24gW2ljb25dPVwiaWNvblwiPjwvc2t5LWljb24+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwic2t5LXN0YXR1cy1pbmRpY2F0b3ItaWNvbi1tb2Rlcm5cIj5cbiAgICAgIDxza3ktaWNvbi1zdGFjayBzaXplPVwieHNcIiBbYmFzZUljb25dPVwiYmFzZUljb25cIiBbdG9wSWNvbl09XCJ0b3BJY29uXCI+XG4gICAgICA8L3NreS1pY29uLXN0YWNrPlxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJza3ktc3RhdHVzLWluZGljYXRvci1tZXNzYWdlLXdyYXBwZXJcIj5cbiAgICA8c3BhbiAqbmdJZj1cImRlc2NyaXB0aW9uQ29tcHV0ZWRcIiBjbGFzcz1cInNreS1zY3JlZW4tcmVhZGVyLW9ubHlcIj5cbiAgICAgIHt7IGRlc2NyaXB0aW9uQ29tcHV0ZWQgfX1cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJza3ktc3RhdHVzLWluZGljYXRvci1tZXNzYWdlXCIgc2t5VHJpbVxuICAgICAgPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L3NwYW5cbiAgICA+PHNwYW4gY2xhc3M9XCJza3ktY29udHJvbC1oZWxwLWNvbnRhaW5lclwiXG4gICAgICA+PG5nLWNvbnRlbnQgc2VsZWN0PVwiLnNreS1jb250cm9sLWhlbHBcIj48L25nLWNvbnRlbnRcbiAgICA+PC9zcGFuPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWluZGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5kaWNhdG9ycy9zcmMvbGliL21vZHVsZXMvc3RhdHVzLWluZGljYXRvci9zdGF0dXMtaW5kaWNhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy9zdGF0dXMtaW5kaWNhdG9yL3N0YXR1cy1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBS3JELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7QUFFM0UsTUFBTSxzQkFBc0IsR0FBeUIsU0FBUyxDQUFDO0FBQy9EOzs7OztHQUtHO0FBT0gsTUFBTSxPQUFPLDJCQUEyQjtJQU54QztRQXNEUywyQkFBc0IsR0FBeUIsc0JBQXNCLENBQUM7UUFJN0Usb0JBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM1QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0tBNkNoRDtJQWpHQzs7O09BR0c7SUFDSCxJQUNXLGFBQWEsQ0FBQyxLQUEyQjtRQUNsRCxJQUFJLENBQUMsc0JBQXNCO1lBQ3pCLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFdkQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFDVyxlQUFlLENBQUMsS0FBOEM7UUFDdkUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMvQixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNXLGlCQUFpQixDQUFDLEtBQXlCO1FBQ3BELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDakMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xDLENBQUM7SUFZRCxlQUFlLENBQTZCO0lBQzVDLGFBQWEsQ0FBa0M7SUFFL0MsaUJBQWlCLENBQTBDO0lBQzNELG1CQUFtQixDQUFxQjtJQUVqQyxRQUFRO1FBQ2IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxhQUFhLEdBQUcsdUJBQXVCLENBQUMsZUFBZSxDQUMzRCxJQUFJLENBQUMsc0JBQXNCLENBQzVCLENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQztRQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQztRQUNsRCxJQUFJLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztJQUNsRCxDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixRQUFRLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQzVCLEtBQUssTUFBTTtvQkFDVCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO29CQUM5QixNQUFNO2dCQUNSLEtBQUssUUFBUTtvQkFDWCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO29CQUNsRCxNQUFNO2dCQUNSO29CQUNFLElBQUksQ0FBQyxhQUFhO3lCQUNmLFNBQVMsQ0FDUiw0QkFBNEI7d0JBQzFCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FDMUM7eUJBQ0EsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7d0JBQ25CLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7d0JBQ2pDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQ3RDLENBQUMsQ0FBQyxDQUFDO29CQUVMLE1BQU07YUFDVDtTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQzs4R0FqR1UsMkJBQTJCO2tHQUEzQiwyQkFBMkIsb0xDNUJ4QyxpNkJBd0JBOzsyRkRJYSwyQkFBMkI7a0JBTnZDLFNBQVM7K0JBQ0Usc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU07OEJBUXBDLGFBQWE7c0JBRHZCLEtBQUs7Z0JBY0ssZUFBZTtzQkFEekIsS0FBSztnQkFlSyxpQkFBaUI7c0JBRDNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUxpYlJlc291cmNlc1NlcnZpY2UgfSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmltcG9ydCB7IFNreUljb25TdGFja0l0ZW0gfSBmcm9tICcuLi9pY29uL2ljb24tc3RhY2staXRlbSc7XG5pbXBvcnQgeyBTa3lJbmRpY2F0b3JEZXNjcmlwdGlvblR5cGUgfSBmcm9tICcuLi9zaGFyZWQvaW5kaWNhdG9yLWRlc2NyaXB0aW9uLXR5cGUnO1xuaW1wb3J0IHsgU2t5SW5kaWNhdG9ySWNvblR5cGUgfSBmcm9tICcuLi9zaGFyZWQvaW5kaWNhdG9yLWljb24tdHlwZSc7XG5pbXBvcnQgeyBTa3lJbmRpY2F0b3JJY29uVXRpbGl0eSB9IGZyb20gJy4uL3NoYXJlZC9pbmRpY2F0b3ItaWNvbi11dGlsaXR5JztcblxuY29uc3QgSU5ESUNBVE9SX1RZUEVfREVGQVVMVDogU2t5SW5kaWNhdG9ySWNvblR5cGUgPSAnd2FybmluZyc7XG4vKipcbiAqIERpc3BsYXlzIHN0YXR1cyB0ZXh0IHdpdGggYW4gaWNvbiBtYXRjaGluZyB0aGUgc3BlY2lmaWVkIGluZGljYXRvciB0eXBlLlxuICogVG8gZGlzcGxheSBhIGhlbHAgYnV0dG9uIGJlc2lkZSB0aGUgbGFiZWwsIGluY2x1ZGUgYSBoZWxwIGJ1dHRvbiBlbGVtZW50LCBzdWNoIGFzXG4gKiBgc2t5LWhlbHAtaW5saW5lYCwgaW4gdGhlIGBza3ktc3RhdHVzLWluZGljYXRvcmAgZWxlbWVudCBhbmQgYSBgc2t5LWNvbnRyb2wtaGVscGBcbiAqIENTUyBjbGFzcyBvbiB0aGF0IGhlbHAgYnV0dG9uIGVsZW1lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1zdGF0dXMtaW5kaWNhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0YXR1cy1pbmRpY2F0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdGF0dXMtaW5kaWNhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lTdGF0dXNJbmRpY2F0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogVGhlIHN0eWxlIGZvciB0aGUgc3RhdHVzIGluZGljYXRvciwgd2hpY2ggZGV0ZXJtaW5lcyB0aGUgaWNvbi5cbiAgICogQGRlZmF1bHQgXCJ3YXJuaW5nXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaW5kaWNhdG9yVHlwZSh2YWx1ZTogU2t5SW5kaWNhdG9ySWNvblR5cGUpIHtcbiAgICB0aGlzLmluZGljYXRvclR5cGVPckRlZmF1bHQgPVxuICAgICAgdmFsdWUgPT09IHVuZGVmaW5lZCA/IElORElDQVRPUl9UWVBFX0RFRkFVTFQgOiB2YWx1ZTtcblxuICAgIHRoaXMuI3VwZGF0ZUljb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgcHJlZGVmaW5lZCB0ZXh0IHRvIGJlIHJlYWQgYnkgc2NyZWVuIHJlYWRlcnMgZm9yIHVzZXJzXG4gICAqIHdobyBjYW5ub3Qgc2VlIHRoZSBpbmRpY2F0b3IgaWNvbi5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRlc2NyaXB0aW9uVHlwZSh2YWx1ZTogU2t5SW5kaWNhdG9yRGVzY3JpcHRpb25UeXBlIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX2Rlc2NyaXB0aW9uVHlwZSA9IHZhbHVlO1xuICAgIHRoaXMuI3VwZGF0ZURlc2NyaXB0aW9uQ29tcHV0ZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGVzY3JpcHRpb25UeXBlKCk6IFNreUluZGljYXRvckRlc2NyaXB0aW9uVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19kZXNjcmlwdGlvblR5cGU7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRleHQgdG8gYmUgcmVhZCBieSBzY3JlZW4gcmVhZGVycyBmb3IgdXNlcnMgd2hvIGNhbm5vdCBzZWVcbiAgICogdGhlIGluZGljYXRvciBpY29uIHdoZW4gYGRlc2NyaXB0aW9uVHlwZWAgaXMgYGN1c3RvbWAuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGN1c3RvbURlc2NyaXB0aW9uKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfY3VzdG9tRGVzY3JpcHRpb24gPSB2YWx1ZTtcbiAgICB0aGlzLiN1cGRhdGVEZXNjcmlwdGlvbkNvbXB1dGVkKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1c3RvbURlc2NyaXB0aW9uKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19jdXN0b21EZXNjcmlwdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBkZXNjcmlwdGlvbkNvbXB1dGVkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGJhc2VJY29uOiBTa3lJY29uU3RhY2tJdGVtIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBpY29uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGluZGljYXRvclR5cGVPckRlZmF1bHQ6IFNreUluZGljYXRvckljb25UeXBlID0gSU5ESUNBVE9SX1RZUEVfREVGQVVMVDtcblxuICBwdWJsaWMgdG9wSWNvbjogU2t5SWNvblN0YWNrSXRlbSB8IHVuZGVmaW5lZDtcblxuICAjY2hhbmdlRGV0ZWN0b3IgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAjcmVzb3VyY2VzU3ZjID0gaW5qZWN0KFNreUxpYlJlc291cmNlc1NlcnZpY2UpO1xuXG4gICNfZGVzY3JpcHRpb25UeXBlOiBTa3lJbmRpY2F0b3JEZXNjcmlwdGlvblR5cGUgfCB1bmRlZmluZWQ7XG4gICNfY3VzdG9tRGVzY3JpcHRpb246IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jdXBkYXRlSWNvbigpO1xuICB9XG5cbiAgI3VwZGF0ZUljb24oKTogdm9pZCB7XG4gICAgY29uc3QgaW5kaWNhdG9ySWNvbiA9IFNreUluZGljYXRvckljb25VdGlsaXR5LmdldEljb25zRm9yVHlwZShcbiAgICAgIHRoaXMuaW5kaWNhdG9yVHlwZU9yRGVmYXVsdFxuICAgICk7XG5cbiAgICB0aGlzLmljb24gPSBpbmRpY2F0b3JJY29uLmRlZmF1bHRUaGVtZUljb247XG4gICAgdGhpcy5iYXNlSWNvbiA9IGluZGljYXRvckljb24ubW9kZXJuVGhlbWVCYXNlSWNvbjtcbiAgICB0aGlzLnRvcEljb24gPSBpbmRpY2F0b3JJY29uLm1vZGVyblRoZW1lVG9wSWNvbjtcbiAgfVxuXG4gICN1cGRhdGVEZXNjcmlwdGlvbkNvbXB1dGVkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRlc2NyaXB0aW9uVHlwZSkge1xuICAgICAgc3dpdGNoICh0aGlzLmRlc2NyaXB0aW9uVHlwZSkge1xuICAgICAgICBjYXNlICdub25lJzpcbiAgICAgICAgICB0aGlzLmRlc2NyaXB0aW9uQ29tcHV0ZWQgPSAnJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnY3VzdG9tJzpcbiAgICAgICAgICB0aGlzLmRlc2NyaXB0aW9uQ29tcHV0ZWQgPSB0aGlzLmN1c3RvbURlc2NyaXB0aW9uO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRoaXMuI3Jlc291cmNlc1N2Y1xuICAgICAgICAgICAgLmdldFN0cmluZyhcbiAgICAgICAgICAgICAgJ3NreXV4X3N0YXR1c19pbmRpY2F0b3Jfc3JfJyArXG4gICAgICAgICAgICAgICAgdGhpcy5kZXNjcmlwdGlvblR5cGUucmVwbGFjZSgvLS9nLCAnXycpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmRlc2NyaXB0aW9uQ29tcHV0ZWQgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlc2NyaXB0aW9uQ29tcHV0ZWQgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiZGVzY3JpcHRpb25UeXBlXCIgY2xhc3M9XCJza3ktc3RhdHVzLWluZGljYXRvclwiPlxuICA8ZGl2XG4gICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICBjbGFzcz1cInNreS1tYXJnaW4taW5saW5lLXhzIHNreS1zdGF0dXMtaW5kaWNhdG9yLWljb25cIlxuICAgIFtuZ0NsYXNzXT1cIidza3ktc3RhdHVzLWluZGljYXRvci1pY29uLScgKyBpbmRpY2F0b3JUeXBlT3JEZWZhdWx0XCJcbiAgPlxuICAgIDxzcGFuIGNsYXNzPVwic2t5LXN0YXR1cy1pbmRpY2F0b3ItaWNvbi1kZWZhdWx0XCI+XG4gICAgICA8c2t5LWljb24gW2ljb25dPVwiaWNvblwiIC8+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwic2t5LXN0YXR1cy1pbmRpY2F0b3ItaWNvbi1tb2Rlcm5cIj5cbiAgICAgIDxza3ktaWNvbi1zdGFjayBzaXplPVwieHNcIiBbYmFzZUljb25dPVwiYmFzZUljb25cIiBbdG9wSWNvbl09XCJ0b3BJY29uXCI+XG4gICAgICA8L3NreS1pY29uLXN0YWNrPlxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJza3ktc3RhdHVzLWluZGljYXRvci1tZXNzYWdlLXdyYXBwZXJcIj5cbiAgICA8c3BhbiAqbmdJZj1cImRlc2NyaXB0aW9uQ29tcHV0ZWRcIiBjbGFzcz1cInNreS1zY3JlZW4tcmVhZGVyLW9ubHlcIj5cbiAgICAgIHt7IGRlc2NyaXB0aW9uQ29tcHV0ZWQgfX1cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJza3ktc3RhdHVzLWluZGljYXRvci1tZXNzYWdlXCIgc2t5VHJpbT48bmctY29udGVudCAvPjwvc3BhblxuICAgID48c3BhbiBjbGFzcz1cInNreS1jb250cm9sLWhlbHAtY29udGFpbmVyXCJcbiAgICAgID48bmctY29udGVudCBzZWxlY3Q9XCIuc2t5LWNvbnRyb2wtaGVscFwiPjwvbmctY29udGVudFxuICAgID48L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -77,11 +77,11 @@ export class SkyTokenComponent {
77
77
  this.closeActive = closeActive;
78
78
  }
79
79
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyTokenComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
80
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: SkyTokenComponent, selector: "sky-token", inputs: { disabled: "disabled", ariaLabel: "ariaLabel", dismissible: "dismissible", focusable: "focusable", role: "role" }, outputs: { dismiss: "dismiss", tokenFocus: "tokenFocus" }, viewQueries: [{ propertyName: "actionButtonRef", first: true, predicate: ["actionButton"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-token sky-btn sky-btn-default\"\n [attr.role]=\"role\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled,\n 'sky-token-disabled': disabled,\n 'sky-token-dismissible': dismissible,\n 'sky-token-active': tokenActive && !closeActive,\n 'sky-token-focused': isFocused\n }\"\n (document:mouseup)=\"setTokenActive(false)\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut($event)\"\n (mousedown)=\"setTokenActive(true)\"\n>\n <span\n [attr.role]=\"role === 'row' ? 'gridcell' : undefined\"\n class=\"sky-token-cell\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-token-btn sky-token-btn-action\"\n type=\"button\"\n [attr.tabindex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled\n }\"\n #actionButton\n >\n <ng-content></ng-content>\n </button>\n </span>\n <span\n *ngIf=\"dismissible\"\n class=\"sky-token-cell\"\n [attr.role]=\"role === 'row' ? 'gridcell' : undefined\"\n >\n <button\n class=\"sky-btn sky-token-btn sky-token-btn-close\"\n type=\"button\"\n [attr.aria-label]=\"\n ariaLabel || ('skyux_tokens_dismiss_button_title' | skyLibResources)\n \"\n [attr.tabindex]=\"tabIndex\"\n [attr.title]=\"\n ariaLabel || ('skyux_tokens_dismiss_button_title' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled,\n 'sky-token-btn-close-active': closeActive\n }\"\n (click)=\"dismissToken($event)\"\n (document:mouseup)=\"setCloseActive(false)\"\n (mousedown)=\"setCloseActive(true)\"\n >\n <sky-icon class=\"sky-token-btn-close-icon\" icon=\"close\"></sky-icon>\n </button>\n </span>\n</div>\n", styles: [".sky-token{background-color:#c1e8fb;border:1px solid #00b4f1;padding:0;display:inline-block}.sky-token:hover,.sky-token.sky-token-focused{background-color:#91d6f8;border-color:#008ebe;cursor:pointer}.sky-token.sky-token-focused{box-shadow:0 0 8px #00b4f199;border:1px solid var(--sky-highlight-color-info);outline:none}.sky-token.sky-btn-disabled .sky-btn-disabled{opacity:1}.sky-btn-disabled{cursor:default;-webkit-user-select:none;user-select:none}.sky-token-btn{background-color:transparent;border:0;padding:2px 8px}.sky-token-btn-action:focus-visible{outline:none}.sky-token-btn-close{margin-left:-2px;opacity:.9}.sky-token-btn-close:hover,.sky-token-btn-close:focus-visible{opacity:1}.sky-token-dismissible .sky-token-btn-action{padding-right:0}:host-context(.sky-theme-modern) .sky-token{align-items:center;display:inline-flex;font-size:14px}:host-context(.sky-theme-modern) .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7;background-color:#ebfbff}:host-context(.sky-theme-modern) .sky-token.sky-token-dismissible{padding-right:1px}:host-context(.sky-theme-modern) .sky-token.sky-token-dismissible .sky-token-btn-action{padding-right:0}:host-context(.sky-theme-modern) .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}:host-context(.sky-theme-modern) .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token.sky-token-focused:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token.sky-token-focused,:host-context(.sky-theme-modern) .sky-token:hover{background-color:#ebfbff}:host-context(.sky-theme-modern) .sky-token-btn{padding:1px 5px;border:0;box-shadow:none;background-color:transparent}:host-context(.sky-theme-modern) .sky-token-btn.sky-btn-disabled{color:#212327}:host-context(.sky-theme-modern) .sky-token-btn-action{font-size:14px}:host-context(.sky-theme-modern) .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px;padding:0}:host-context(.sky-theme-modern) .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}:host-context(.sky-theme-modern) .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token-btn-close:focus-visible{outline:none}:host-context(.sky-theme-modern) .sky-token-btn-close:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token-btn-close-icon{width:100%}.sky-theme-modern .sky-token{align-items:center;display:inline-flex;font-size:14px}.sky-theme-modern .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7;background-color:#ebfbff}.sky-theme-modern .sky-token.sky-token-dismissible{padding-right:1px}.sky-theme-modern .sky-token.sky-token-dismissible .sky-token-btn-action{padding-right:0}.sky-theme-modern .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}.sky-theme-modern .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token.sky-token-focused:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token.sky-token-focused,.sky-theme-modern .sky-token:hover{background-color:#ebfbff}.sky-theme-modern .sky-token-btn{padding:1px 5px;border:0;box-shadow:none;background-color:transparent}.sky-theme-modern .sky-token-btn.sky-btn-disabled{color:#212327}.sky-theme-modern .sky-token-btn-action{font-size:14px}.sky-theme-modern .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px;padding:0}.sky-theme-modern .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}.sky-theme-modern .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token-btn-close:focus-visible{outline:none}.sky-theme-modern .sky-token-btn-close:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token-btn-close-icon{width:100%}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token{background-color:#c1e8fb}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token-btn-close{color:#212327}.sky-theme-modern.sky-theme-mode-dark .sky-token{background-color:#c1e8fb}.sky-theme-modern.sky-theme-mode-dark .sky-token,.sky-theme-modern.sky-theme-mode-dark .sky-token-btn-close{color:#212327}\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.SkyIconComponent, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
80
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: SkyTokenComponent, selector: "sky-token", inputs: { disabled: "disabled", ariaLabel: "ariaLabel", dismissible: "dismissible", focusable: "focusable", role: "role" }, outputs: { dismiss: "dismiss", tokenFocus: "tokenFocus" }, viewQueries: [{ propertyName: "actionButtonRef", first: true, predicate: ["actionButton"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-token sky-btn sky-btn-default\"\n [attr.role]=\"role\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled,\n 'sky-token-disabled': disabled,\n 'sky-token-dismissible': dismissible,\n 'sky-token-active': tokenActive && !closeActive,\n 'sky-token-focused': isFocused\n }\"\n (document:mouseup)=\"setTokenActive(false)\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut($event)\"\n (mousedown)=\"setTokenActive(true)\"\n>\n <span\n [attr.role]=\"role === 'row' ? 'gridcell' : undefined\"\n class=\"sky-token-cell\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-token-btn sky-token-btn-action\"\n type=\"button\"\n [attr.tabindex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled\n }\"\n #actionButton\n >\n <ng-content />\n </button>\n </span>\n <span\n *ngIf=\"dismissible\"\n class=\"sky-token-cell\"\n [attr.role]=\"role === 'row' ? 'gridcell' : undefined\"\n >\n <button\n class=\"sky-btn sky-token-btn sky-token-btn-close\"\n type=\"button\"\n [attr.aria-label]=\"\n ariaLabel || ('skyux_tokens_dismiss_button_title' | skyLibResources)\n \"\n [attr.tabindex]=\"tabIndex\"\n [attr.title]=\"\n ariaLabel || ('skyux_tokens_dismiss_button_title' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled,\n 'sky-token-btn-close-active': closeActive\n }\"\n (click)=\"dismissToken($event)\"\n (document:mouseup)=\"setCloseActive(false)\"\n (mousedown)=\"setCloseActive(true)\"\n >\n <sky-icon class=\"sky-token-btn-close-icon\" icon=\"close\" />\n </button>\n </span>\n</div>\n", styles: [".sky-token{background-color:#c1e8fb;border:1px solid #00b4f1;padding:0;display:inline-block}.sky-token:hover,.sky-token.sky-token-focused{background-color:#91d6f8;border-color:#008ebe;cursor:pointer}.sky-token.sky-token-focused{box-shadow:0 0 8px #00b4f199;border:1px solid var(--sky-highlight-color-info);outline:none}.sky-token.sky-btn-disabled .sky-btn-disabled{opacity:1}.sky-btn-disabled{cursor:default;-webkit-user-select:none;user-select:none}.sky-token-btn{background-color:transparent;border:0;padding:2px 8px}.sky-token-btn-action:focus-visible{outline:none}.sky-token-btn-close{margin-left:-2px;opacity:.9}.sky-token-btn-close:hover,.sky-token-btn-close:focus-visible{opacity:1}.sky-token-dismissible .sky-token-btn-action{padding-right:0}:host-context(.sky-theme-modern) .sky-token{align-items:center;display:inline-flex;font-size:14px}:host-context(.sky-theme-modern) .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7;background-color:#ebfbff}:host-context(.sky-theme-modern) .sky-token.sky-token-dismissible{padding-right:1px}:host-context(.sky-theme-modern) .sky-token.sky-token-dismissible .sky-token-btn-action{padding-right:0}:host-context(.sky-theme-modern) .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}:host-context(.sky-theme-modern) .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token.sky-token-focused:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token.sky-token-focused,:host-context(.sky-theme-modern) .sky-token:hover{background-color:#ebfbff}:host-context(.sky-theme-modern) .sky-token-btn{padding:1px 5px;border:0;box-shadow:none;background-color:transparent}:host-context(.sky-theme-modern) .sky-token-btn.sky-btn-disabled{color:#212327}:host-context(.sky-theme-modern) .sky-token-btn-action{font-size:14px}:host-context(.sky-theme-modern) .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px;padding:0}:host-context(.sky-theme-modern) .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}:host-context(.sky-theme-modern) .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token-btn-close:focus-visible{outline:none}:host-context(.sky-theme-modern) .sky-token-btn-close:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token-btn-close-icon{width:100%}.sky-theme-modern .sky-token{align-items:center;display:inline-flex;font-size:14px}.sky-theme-modern .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7;background-color:#ebfbff}.sky-theme-modern .sky-token.sky-token-dismissible{padding-right:1px}.sky-theme-modern .sky-token.sky-token-dismissible .sky-token-btn-action{padding-right:0}.sky-theme-modern .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}.sky-theme-modern .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token.sky-token-focused:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token.sky-token-focused,.sky-theme-modern .sky-token:hover{background-color:#ebfbff}.sky-theme-modern .sky-token-btn{padding:1px 5px;border:0;box-shadow:none;background-color:transparent}.sky-theme-modern .sky-token-btn.sky-btn-disabled{color:#212327}.sky-theme-modern .sky-token-btn-action{font-size:14px}.sky-theme-modern .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px;padding:0}.sky-theme-modern .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}.sky-theme-modern .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token-btn-close:focus-visible{outline:none}.sky-theme-modern .sky-token-btn-close:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token-btn-close-icon{width:100%}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token{background-color:#c1e8fb}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token-btn-close{color:#212327}.sky-theme-modern.sky-theme-mode-dark .sky-token{background-color:#c1e8fb}.sky-theme-modern.sky-theme-mode-dark .sky-token,.sky-theme-modern.sky-theme-mode-dark .sky-token-btn-close{color:#212327}\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.SkyIconComponent, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
81
81
  }
82
82
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyTokenComponent, decorators: [{
83
83
  type: Component,
84
- args: [{ selector: 'sky-token', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"sky-token sky-btn sky-btn-default\"\n [attr.role]=\"role\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled,\n 'sky-token-disabled': disabled,\n 'sky-token-dismissible': dismissible,\n 'sky-token-active': tokenActive && !closeActive,\n 'sky-token-focused': isFocused\n }\"\n (document:mouseup)=\"setTokenActive(false)\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut($event)\"\n (mousedown)=\"setTokenActive(true)\"\n>\n <span\n [attr.role]=\"role === 'row' ? 'gridcell' : undefined\"\n class=\"sky-token-cell\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-token-btn sky-token-btn-action\"\n type=\"button\"\n [attr.tabindex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled\n }\"\n #actionButton\n >\n <ng-content></ng-content>\n </button>\n </span>\n <span\n *ngIf=\"dismissible\"\n class=\"sky-token-cell\"\n [attr.role]=\"role === 'row' ? 'gridcell' : undefined\"\n >\n <button\n class=\"sky-btn sky-token-btn sky-token-btn-close\"\n type=\"button\"\n [attr.aria-label]=\"\n ariaLabel || ('skyux_tokens_dismiss_button_title' | skyLibResources)\n \"\n [attr.tabindex]=\"tabIndex\"\n [attr.title]=\"\n ariaLabel || ('skyux_tokens_dismiss_button_title' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled,\n 'sky-token-btn-close-active': closeActive\n }\"\n (click)=\"dismissToken($event)\"\n (document:mouseup)=\"setCloseActive(false)\"\n (mousedown)=\"setCloseActive(true)\"\n >\n <sky-icon class=\"sky-token-btn-close-icon\" icon=\"close\"></sky-icon>\n </button>\n </span>\n</div>\n", styles: [".sky-token{background-color:#c1e8fb;border:1px solid #00b4f1;padding:0;display:inline-block}.sky-token:hover,.sky-token.sky-token-focused{background-color:#91d6f8;border-color:#008ebe;cursor:pointer}.sky-token.sky-token-focused{box-shadow:0 0 8px #00b4f199;border:1px solid var(--sky-highlight-color-info);outline:none}.sky-token.sky-btn-disabled .sky-btn-disabled{opacity:1}.sky-btn-disabled{cursor:default;-webkit-user-select:none;user-select:none}.sky-token-btn{background-color:transparent;border:0;padding:2px 8px}.sky-token-btn-action:focus-visible{outline:none}.sky-token-btn-close{margin-left:-2px;opacity:.9}.sky-token-btn-close:hover,.sky-token-btn-close:focus-visible{opacity:1}.sky-token-dismissible .sky-token-btn-action{padding-right:0}:host-context(.sky-theme-modern) .sky-token{align-items:center;display:inline-flex;font-size:14px}:host-context(.sky-theme-modern) .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7;background-color:#ebfbff}:host-context(.sky-theme-modern) .sky-token.sky-token-dismissible{padding-right:1px}:host-context(.sky-theme-modern) .sky-token.sky-token-dismissible .sky-token-btn-action{padding-right:0}:host-context(.sky-theme-modern) .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}:host-context(.sky-theme-modern) .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token.sky-token-focused:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token.sky-token-focused,:host-context(.sky-theme-modern) .sky-token:hover{background-color:#ebfbff}:host-context(.sky-theme-modern) .sky-token-btn{padding:1px 5px;border:0;box-shadow:none;background-color:transparent}:host-context(.sky-theme-modern) .sky-token-btn.sky-btn-disabled{color:#212327}:host-context(.sky-theme-modern) .sky-token-btn-action{font-size:14px}:host-context(.sky-theme-modern) .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px;padding:0}:host-context(.sky-theme-modern) .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}:host-context(.sky-theme-modern) .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token-btn-close:focus-visible{outline:none}:host-context(.sky-theme-modern) .sky-token-btn-close:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token-btn-close-icon{width:100%}.sky-theme-modern .sky-token{align-items:center;display:inline-flex;font-size:14px}.sky-theme-modern .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7;background-color:#ebfbff}.sky-theme-modern .sky-token.sky-token-dismissible{padding-right:1px}.sky-theme-modern .sky-token.sky-token-dismissible .sky-token-btn-action{padding-right:0}.sky-theme-modern .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}.sky-theme-modern .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token.sky-token-focused:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token.sky-token-focused,.sky-theme-modern .sky-token:hover{background-color:#ebfbff}.sky-theme-modern .sky-token-btn{padding:1px 5px;border:0;box-shadow:none;background-color:transparent}.sky-theme-modern .sky-token-btn.sky-btn-disabled{color:#212327}.sky-theme-modern .sky-token-btn-action{font-size:14px}.sky-theme-modern .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px;padding:0}.sky-theme-modern .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}.sky-theme-modern .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token-btn-close:focus-visible{outline:none}.sky-theme-modern .sky-token-btn-close:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token-btn-close-icon{width:100%}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token{background-color:#c1e8fb}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token-btn-close{color:#212327}.sky-theme-modern.sky-theme-mode-dark .sky-token{background-color:#c1e8fb}.sky-theme-modern.sky-theme-mode-dark .sky-token,.sky-theme-modern.sky-theme-mode-dark .sky-token-btn-close{color:#212327}\n"] }]
84
+ args: [{ selector: 'sky-token', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"sky-token sky-btn sky-btn-default\"\n [attr.role]=\"role\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled,\n 'sky-token-disabled': disabled,\n 'sky-token-dismissible': dismissible,\n 'sky-token-active': tokenActive && !closeActive,\n 'sky-token-focused': isFocused\n }\"\n (document:mouseup)=\"setTokenActive(false)\"\n (focusin)=\"onFocusIn()\"\n (focusout)=\"onFocusOut($event)\"\n (mousedown)=\"setTokenActive(true)\"\n>\n <span\n [attr.role]=\"role === 'row' ? 'gridcell' : undefined\"\n class=\"sky-token-cell\"\n >\n <button\n class=\"sky-btn sky-btn-default sky-token-btn sky-token-btn-action\"\n type=\"button\"\n [attr.tabindex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled\n }\"\n #actionButton\n >\n <ng-content />\n </button>\n </span>\n <span\n *ngIf=\"dismissible\"\n class=\"sky-token-cell\"\n [attr.role]=\"role === 'row' ? 'gridcell' : undefined\"\n >\n <button\n class=\"sky-btn sky-token-btn sky-token-btn-close\"\n type=\"button\"\n [attr.aria-label]=\"\n ariaLabel || ('skyux_tokens_dismiss_button_title' | skyLibResources)\n \"\n [attr.tabindex]=\"tabIndex\"\n [attr.title]=\"\n ariaLabel || ('skyux_tokens_dismiss_button_title' | skyLibResources)\n \"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-btn-disabled': disabled,\n 'sky-token-btn-close-active': closeActive\n }\"\n (click)=\"dismissToken($event)\"\n (document:mouseup)=\"setCloseActive(false)\"\n (mousedown)=\"setCloseActive(true)\"\n >\n <sky-icon class=\"sky-token-btn-close-icon\" icon=\"close\" />\n </button>\n </span>\n</div>\n", styles: [".sky-token{background-color:#c1e8fb;border:1px solid #00b4f1;padding:0;display:inline-block}.sky-token:hover,.sky-token.sky-token-focused{background-color:#91d6f8;border-color:#008ebe;cursor:pointer}.sky-token.sky-token-focused{box-shadow:0 0 8px #00b4f199;border:1px solid var(--sky-highlight-color-info);outline:none}.sky-token.sky-btn-disabled .sky-btn-disabled{opacity:1}.sky-btn-disabled{cursor:default;-webkit-user-select:none;user-select:none}.sky-token-btn{background-color:transparent;border:0;padding:2px 8px}.sky-token-btn-action:focus-visible{outline:none}.sky-token-btn-close{margin-left:-2px;opacity:.9}.sky-token-btn-close:hover,.sky-token-btn-close:focus-visible{opacity:1}.sky-token-dismissible .sky-token-btn-action{padding-right:0}:host-context(.sky-theme-modern) .sky-token{align-items:center;display:inline-flex;font-size:14px}:host-context(.sky-theme-modern) .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7;background-color:#ebfbff}:host-context(.sky-theme-modern) .sky-token.sky-token-dismissible{padding-right:1px}:host-context(.sky-theme-modern) .sky-token.sky-token-dismissible .sky-token-btn-action{padding-right:0}:host-context(.sky-theme-modern) .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}:host-context(.sky-theme-modern) .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token.sky-token-focused:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token.sky-token-focused,:host-context(.sky-theme-modern) .sky-token:hover{background-color:#ebfbff}:host-context(.sky-theme-modern) .sky-token-btn{padding:1px 5px;border:0;box-shadow:none;background-color:transparent}:host-context(.sky-theme-modern) .sky-token-btn.sky-btn-disabled{color:#212327}:host-context(.sky-theme-modern) .sky-token-btn-action{font-size:14px}:host-context(.sky-theme-modern) .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px;padding:0}:host-context(.sky-theme-modern) .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}:host-context(.sky-theme-modern) .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}:host-context(.sky-theme-modern) .sky-token-btn-close:focus-visible{outline:none}:host-context(.sky-theme-modern) .sky-token-btn-close:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}:host-context(.sky-theme-modern) .sky-token-btn-close-icon{width:100%}.sky-theme-modern .sky-token{align-items:center;display:inline-flex;font-size:14px}.sky-theme-modern .sky-token:not(.sky-btn-disabled){border:none;box-shadow:inset 0 0 0 1px #81d4f7;background-color:#ebfbff}.sky-theme-modern .sky-token.sky-token-dismissible{padding-right:1px}.sky-theme-modern .sky-token.sky-token-dismissible .sky-token-btn-action{padding-right:0}.sky-theme-modern .sky-token:hover:not(:active){border:none;box-shadow:inset 0 0 0 1px #1870b8}.sky-theme-modern .sky-token.sky-token-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token.sky-token-focused:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token.sky-token-focused,.sky-theme-modern .sky-token:hover{background-color:#ebfbff}.sky-theme-modern .sky-token-btn{padding:1px 5px;border:0;box-shadow:none;background-color:transparent}.sky-theme-modern .sky-token-btn.sky-btn-disabled{color:#212327}.sky-theme-modern .sky-token-btn-action{font-size:14px}.sky-theme-modern .sky-token-btn-close{align-items:center;border-radius:5px;display:flex;height:20px;margin-left:5px;width:20px;padding:0}.sky-theme-modern .sky-token-btn-close:hover{border:none;box-shadow:inset 0 0 0 1px transparent}.sky-theme-modern .sky-token-btn-close.sky-token-btn-close-active{border:none;box-shadow:inset 0 0 0 2px #1870b8}.sky-theme-modern .sky-token-btn-close:focus-visible{outline:none}.sky-theme-modern .sky-token-btn-close:focus-visible:not(:active){border:none;box-shadow:inset 0 0 0 2px #1870b8,0 1px 3px #0000004d}.sky-theme-modern .sky-token-btn-close-icon{width:100%}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token{background-color:#c1e8fb}:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token,:host-context(.sky-theme-modern.sky-theme-mode-dark) .sky-token-btn-close{color:#212327}.sky-theme-modern.sky-theme-mode-dark .sky-token{background-color:#c1e8fb}.sky-theme-modern.sky-theme-mode-dark .sky-token,.sky-theme-modern.sky-theme-mode-dark .sky-token-btn-close{color:#212327}\n"] }]
85
85
  }], propDecorators: { disabled: [{
86
86
  type: Input
87
87
  }], ariaLabel: [{
@@ -100,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
100
100
  type: ViewChild,
101
101
  args: ['actionButton', { read: ElementRef, static: true }]
102
102
  }] } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2luZGljYXRvcnMvc3JjL2xpYi9tb2R1bGVzL3Rva2Vucy90b2tlbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5kaWNhdG9ycy9zcmMvbGliL21vZHVsZXMvdG9rZW5zL3Rva2VuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOzs7OztBQVF2QixNQUFNLE9BQU8saUJBQWlCO0lBTjlCO1FBNkRFOztXQUVHO1FBRUksWUFBTyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFMUM7O1dBRUc7UUFFSSxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUt0QyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFFcEIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFakMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixrQkFBYSxHQUFHLElBQUksQ0FBQztLQStCdEI7SUE1R0M7Ozs7O09BS0c7SUFDSCxJQUNXLFFBQVEsQ0FBQyxLQUEwQjtRQUM1QyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQVdEOzs7T0FHRztJQUNILElBQ1csV0FBVyxDQUFDLEtBQTBCO1FBQy9DLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxLQUFLLEtBQUssQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQ1csU0FBUyxDQUFDLEtBQTBCO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBNkJELFdBQVcsQ0FBc0I7SUFFakMsVUFBVSxDQUFTO0lBQ25CLGFBQWEsQ0FBUTtJQUVYLFNBQVM7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFUyxVQUFVLENBQUMsS0FBaUI7UUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQ3RELEtBQUssQ0FBQyxhQUFhLENBQ3BCLENBQUM7SUFDSixDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQVk7UUFDOUIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVNLGNBQWMsQ0FBQyxXQUFvQjtRQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0lBRU0sY0FBYyxDQUFDLFdBQW9CO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7OEdBNUdVLGlCQUFpQjtrR0FBakIsaUJBQWlCLG9VQW1FTyxVQUFVLDJDQ3BGL0MsNndEQTREQTs7MkZEM0NhLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxXQUFXLG1CQUdKLHVCQUF1QixDQUFDLE1BQU07OEJBVXBDLFFBQVE7c0JBRGxCLEtBQUs7Z0JBZ0JDLFNBQVM7c0JBRGYsS0FBSztnQkFRSyxXQUFXO3NCQURyQixLQUFLO2dCQWVLLFNBQVM7c0JBRG5CLEtBQUs7Z0JBVUMsSUFBSTtzQkFEVixLQUFLO2dCQU9DLE9BQU87c0JBRGIsTUFBTTtnQkFPQSxVQUFVO3NCQURoQixNQUFNO2dCQUlBLGVBQWU7c0JBRHJCLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS10b2tlbicsXG4gIHRlbXBsYXRlVXJsOiAnLi90b2tlbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rva2VuLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUb2tlbkNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRpc2FibGUgdGhlIHRva2VuIHRvIHByZXZlbnQgdXNlcnMgZnJvbSBzZWxlY3RpbmcgaXQsIGRpc21pc3NpbmcgaXQsXG4gICAqIG9yIG5hdmlnYXRpbmcgdG8gaXQgd2l0aCB0aGUgYXJyb3cga2V5cy4gV2hlbiB0aGUgdG9rZW4gaXMgZGlzYWJsZWQsXG4gICAqIHVzZXJzIGNhbiBzdGlsbCBwbGFjZSBmb2N1cyBvbiBpdCB1c2luZyB0aGUgYFRhYmAga2V5LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kaXNhYmxlZCA9ICEhdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIEFSSUEgbGFiZWwgZm9yIHRoZSB0b2tlbidzIGNsb3NlIGJ1dHRvbi4gVGhpcyBzZXRzIHRoZSBidXR0b24ncyBgYXJpYS1sYWJlbGAgdG8gcHJvdmlkZSBhIHRleHQgZXF1aXZhbGVudCBmb3Igc2NyZWVuIHJlYWRlcnNcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KS5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUsIHNlZSB0aGUgW1dBSS1BUklBIGRlZmluaXRpb25dKGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS8jYXJpYS1sYWJlbCkuXG4gICAqIEBkZWZhdWx0IFwiUmVtb3ZlIGl0ZW1cIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFyaWFMYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHVzZXJzIGNhbiByZW1vdmUgdGhlIHRva2VuIGZyb20gdGhlIGxpc3QgYnkgc2VsZWN0aW5nIHRoZSBjbG9zZSBidXR0b24uXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzbWlzc2libGUodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGlzbWlzc2libGUgPSB2YWx1ZSAhPT0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc21pc3NpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfZGlzbWlzc2libGU7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB1c2VycyBjYW4gcGxhY2UgZm9jdXMgb24gdGhlIHRva2VuIHVzaW5nIHRoZSBgVGFiYC4gVGhpcyBkb2VzIG5vdFxuICAgKiBhZmZlY3QgdGhlIGFiaWxpdHkgdG8gc2VsZWN0IHRoZSB0b2tlbiwgZGlzbWlzcyBpdCwgb3IgbmF2aWdhdGUgdG8gaXQgd2l0aCB0aGUgYXJyb3cga2V5cy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmb2N1c2FibGUodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnRhYkluZGV4ID0gdmFsdWUgIT09IGZhbHNlID8gMCA6IC0xO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgYnkgdGhlIHRva2VucyBjb21wb25lbnQgdG8gc2V0IHRoZSBhcHByb3ByaWF0ZSByb2xlIGZvciBlYWNoIHRva2VuLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb2xlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgY2xpY2sgdGhlIGNsb3NlIGJ1dHRvbi5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZGlzbWlzcyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBwbGFjZSBmb2N1cyBvbiB0aGUgdG9rZW4gYnkgbmF2aWdhdGluZyB0byBpdCB3aXRoIHRoZSBgVGFiYCBrZXkuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHRva2VuRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgnYWN0aW9uQnV0dG9uJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGFjdGlvbkJ1dHRvblJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaXNGb2N1c2VkID0gZmFsc2U7XG4gIHB1YmxpYyB0b2tlbkFjdGl2ZSA9IGZhbHNlO1xuICBwdWJsaWMgY2xvc2VBY3RpdmUgPSBmYWxzZTtcbiAgcHVibGljIHRhYkluZGV4ID0gMDtcblxuICAjZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICAjX2Rpc2FibGVkID0gZmFsc2U7XG4gICNfZGlzbWlzc2libGUgPSB0cnVlO1xuXG4gIHByb3RlY3RlZCBvbkZvY3VzSW4oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRm9jdXNlZCkge1xuICAgICAgdGhpcy50b2tlbkZvY3VzLmVtaXQoKTtcbiAgICAgIHRoaXMuaXNGb2N1c2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb25Gb2N1c091dChldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaXNGb2N1c2VkID0gdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKFxuICAgICAgZXZlbnQucmVsYXRlZFRhcmdldFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZGlzbWlzc1Rva2VuKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuZGlzbWlzcy5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgZm9jdXNFbGVtZW50KCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aW9uQnV0dG9uUmVmPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0VG9rZW5BY3RpdmUodG9rZW5BY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnRva2VuQWN0aXZlID0gdG9rZW5BY3RpdmU7XG4gIH1cblxuICBwdWJsaWMgc2V0Q2xvc2VBY3RpdmUoY2xvc2VBY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlQWN0aXZlID0gY2xvc2VBY3RpdmU7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktdG9rZW4gc2t5LWJ0biBza3ktYnRuLWRlZmF1bHRcIlxuICBbYXR0ci5yb2xlXT1cInJvbGVcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ3NreS1idG4tZGlzYWJsZWQnOiBkaXNhYmxlZCxcbiAgICAnc2t5LXRva2VuLWRpc2FibGVkJzogZGlzYWJsZWQsXG4gICAgJ3NreS10b2tlbi1kaXNtaXNzaWJsZSc6IGRpc21pc3NpYmxlLFxuICAgICdza3ktdG9rZW4tYWN0aXZlJzogdG9rZW5BY3RpdmUgJiYgIWNsb3NlQWN0aXZlLFxuICAgICdza3ktdG9rZW4tZm9jdXNlZCc6IGlzRm9jdXNlZFxuICB9XCJcbiAgKGRvY3VtZW50Om1vdXNldXApPVwic2V0VG9rZW5BY3RpdmUoZmFsc2UpXCJcbiAgKGZvY3VzaW4pPVwib25Gb2N1c0luKClcIlxuICAoZm9jdXNvdXQpPVwib25Gb2N1c091dCgkZXZlbnQpXCJcbiAgKG1vdXNlZG93bik9XCJzZXRUb2tlbkFjdGl2ZSh0cnVlKVwiXG4+XG4gIDxzcGFuXG4gICAgW2F0dHIucm9sZV09XCJyb2xlID09PSAncm93JyA/ICdncmlkY2VsbCcgOiB1bmRlZmluZWRcIlxuICAgIGNsYXNzPVwic2t5LXRva2VuLWNlbGxcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktdG9rZW4tYnRuIHNreS10b2tlbi1idG4tYWN0aW9uXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiSW5kZXhcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3NreS1idG4tZGlzYWJsZWQnOiBkaXNhYmxlZFxuICAgICAgfVwiXG4gICAgICAjYWN0aW9uQnV0dG9uXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvYnV0dG9uPlxuICA8L3NwYW4+XG4gIDxzcGFuXG4gICAgKm5nSWY9XCJkaXNtaXNzaWJsZVwiXG4gICAgY2xhc3M9XCJza3ktdG9rZW4tY2VsbFwiXG4gICAgW2F0dHIucm9sZV09XCJyb2xlID09PSAncm93JyA/ICdncmlkY2VsbCcgOiB1bmRlZmluZWRcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS10b2tlbi1idG4gc2t5LXRva2VuLWJ0bi1jbG9zZVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgICAgIGFyaWFMYWJlbCB8fCAoJ3NreXV4X3Rva2Vuc19kaXNtaXNzX2J1dHRvbl90aXRsZScgfCBza3lMaWJSZXNvdXJjZXMpXG4gICAgICBcIlxuICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiSW5kZXhcIlxuICAgICAgW2F0dHIudGl0bGVdPVwiXG4gICAgICAgIGFyaWFMYWJlbCB8fCAoJ3NreXV4X3Rva2Vuc19kaXNtaXNzX2J1dHRvbl90aXRsZScgfCBza3lMaWJSZXNvdXJjZXMpXG4gICAgICBcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3NreS1idG4tZGlzYWJsZWQnOiBkaXNhYmxlZCxcbiAgICAgICAgJ3NreS10b2tlbi1idG4tY2xvc2UtYWN0aXZlJzogY2xvc2VBY3RpdmVcbiAgICAgIH1cIlxuICAgICAgKGNsaWNrKT1cImRpc21pc3NUb2tlbigkZXZlbnQpXCJcbiAgICAgIChkb2N1bWVudDptb3VzZXVwKT1cInNldENsb3NlQWN0aXZlKGZhbHNlKVwiXG4gICAgICAobW91c2Vkb3duKT1cInNldENsb3NlQWN0aXZlKHRydWUpXCJcbiAgICA+XG4gICAgICA8c2t5LWljb24gY2xhc3M9XCJza3ktdG9rZW4tYnRuLWNsb3NlLWljb25cIiBpY29uPVwiY2xvc2VcIj48L3NreS1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L3NwYW4+XG48L2Rpdj5cbiJdfQ==
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2luZGljYXRvcnMvc3JjL2xpYi9tb2R1bGVzL3Rva2Vucy90b2tlbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvaW5kaWNhdG9ycy9zcmMvbGliL21vZHVsZXMvdG9rZW5zL3Rva2VuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDOzs7OztBQVF2QixNQUFNLE9BQU8saUJBQWlCO0lBTjlCO1FBNkRFOztXQUVHO1FBRUksWUFBTyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFMUM7O1dBRUc7UUFFSSxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUt0QyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFFcEIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFakMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixrQkFBYSxHQUFHLElBQUksQ0FBQztLQStCdEI7SUE1R0M7Ozs7O09BS0c7SUFDSCxJQUNXLFFBQVEsQ0FBQyxLQUEwQjtRQUM1QyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQVdEOzs7T0FHRztJQUNILElBQ1csV0FBVyxDQUFDLEtBQTBCO1FBQy9DLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxLQUFLLEtBQUssQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQ1csU0FBUyxDQUFDLEtBQTBCO1FBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBNkJELFdBQVcsQ0FBc0I7SUFFakMsVUFBVSxDQUFTO0lBQ25CLGFBQWEsQ0FBUTtJQUVYLFNBQVM7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFUyxVQUFVLENBQUMsS0FBaUI7UUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQ3RELEtBQUssQ0FBQyxhQUFhLENBQ3BCLENBQUM7SUFDSixDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQVk7UUFDOUIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVNLGNBQWMsQ0FBQyxXQUFvQjtRQUN4QyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0lBRU0sY0FBYyxDQUFDLFdBQW9CO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7OEdBNUdVLGlCQUFpQjtrR0FBakIsaUJBQWlCLG9VQW1FTyxVQUFVLDJDQ3BGL0MseXZEQTREQTs7MkZEM0NhLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxXQUFXLG1CQUdKLHVCQUF1QixDQUFDLE1BQU07OEJBVXBDLFFBQVE7c0JBRGxCLEtBQUs7Z0JBZ0JDLFNBQVM7c0JBRGYsS0FBSztnQkFRSyxXQUFXO3NCQURyQixLQUFLO2dCQWVLLFNBQVM7c0JBRG5CLEtBQUs7Z0JBVUMsSUFBSTtzQkFEVixLQUFLO2dCQU9DLE9BQU87c0JBRGIsTUFBTTtnQkFPQSxVQUFVO3NCQURoQixNQUFNO2dCQUlBLGVBQWU7c0JBRHJCLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS10b2tlbicsXG4gIHRlbXBsYXRlVXJsOiAnLi90b2tlbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rva2VuLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUb2tlbkNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRpc2FibGUgdGhlIHRva2VuIHRvIHByZXZlbnQgdXNlcnMgZnJvbSBzZWxlY3RpbmcgaXQsIGRpc21pc3NpbmcgaXQsXG4gICAqIG9yIG5hdmlnYXRpbmcgdG8gaXQgd2l0aCB0aGUgYXJyb3cga2V5cy4gV2hlbiB0aGUgdG9rZW4gaXMgZGlzYWJsZWQsXG4gICAqIHVzZXJzIGNhbiBzdGlsbCBwbGFjZSBmb2N1cyBvbiBpdCB1c2luZyB0aGUgYFRhYmAga2V5LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kaXNhYmxlZCA9ICEhdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIEFSSUEgbGFiZWwgZm9yIHRoZSB0b2tlbidzIGNsb3NlIGJ1dHRvbi4gVGhpcyBzZXRzIHRoZSBidXR0b24ncyBgYXJpYS1sYWJlbGAgdG8gcHJvdmlkZSBhIHRleHQgZXF1aXZhbGVudCBmb3Igc2NyZWVuIHJlYWRlcnNcbiAgICogW3RvIHN1cHBvcnQgYWNjZXNzaWJpbGl0eV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9sZWFybi9hY2Nlc3NpYmlsaXR5KS5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUsIHNlZSB0aGUgW1dBSS1BUklBIGRlZmluaXRpb25dKGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS8jYXJpYS1sYWJlbCkuXG4gICAqIEBkZWZhdWx0IFwiUmVtb3ZlIGl0ZW1cIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFyaWFMYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHVzZXJzIGNhbiByZW1vdmUgdGhlIHRva2VuIGZyb20gdGhlIGxpc3QgYnkgc2VsZWN0aW5nIHRoZSBjbG9zZSBidXR0b24uXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzbWlzc2libGUodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGlzbWlzc2libGUgPSB2YWx1ZSAhPT0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc21pc3NpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfZGlzbWlzc2libGU7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB1c2VycyBjYW4gcGxhY2UgZm9jdXMgb24gdGhlIHRva2VuIHVzaW5nIHRoZSBgVGFiYC4gVGhpcyBkb2VzIG5vdFxuICAgKiBhZmZlY3QgdGhlIGFiaWxpdHkgdG8gc2VsZWN0IHRoZSB0b2tlbiwgZGlzbWlzcyBpdCwgb3IgbmF2aWdhdGUgdG8gaXQgd2l0aCB0aGUgYXJyb3cga2V5cy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmb2N1c2FibGUodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnRhYkluZGV4ID0gdmFsdWUgIT09IGZhbHNlID8gMCA6IC0xO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgYnkgdGhlIHRva2VucyBjb21wb25lbnQgdG8gc2V0IHRoZSBhcHByb3ByaWF0ZSByb2xlIGZvciBlYWNoIHRva2VuLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByb2xlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgY2xpY2sgdGhlIGNsb3NlIGJ1dHRvbi5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZGlzbWlzcyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBwbGFjZSBmb2N1cyBvbiB0aGUgdG9rZW4gYnkgbmF2aWdhdGluZyB0byBpdCB3aXRoIHRoZSBgVGFiYCBrZXkuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHRva2VuRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgnYWN0aW9uQnV0dG9uJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSlcbiAgcHVibGljIGFjdGlvbkJ1dHRvblJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaXNGb2N1c2VkID0gZmFsc2U7XG4gIHB1YmxpYyB0b2tlbkFjdGl2ZSA9IGZhbHNlO1xuICBwdWJsaWMgY2xvc2VBY3RpdmUgPSBmYWxzZTtcbiAgcHVibGljIHRhYkluZGV4ID0gMDtcblxuICAjZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICAjX2Rpc2FibGVkID0gZmFsc2U7XG4gICNfZGlzbWlzc2libGUgPSB0cnVlO1xuXG4gIHByb3RlY3RlZCBvbkZvY3VzSW4oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRm9jdXNlZCkge1xuICAgICAgdGhpcy50b2tlbkZvY3VzLmVtaXQoKTtcbiAgICAgIHRoaXMuaXNGb2N1c2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb25Gb2N1c091dChldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaXNGb2N1c2VkID0gdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKFxuICAgICAgZXZlbnQucmVsYXRlZFRhcmdldFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZGlzbWlzc1Rva2VuKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuZGlzbWlzcy5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgZm9jdXNFbGVtZW50KCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aW9uQnV0dG9uUmVmPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0VG9rZW5BY3RpdmUodG9rZW5BY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnRva2VuQWN0aXZlID0gdG9rZW5BY3RpdmU7XG4gIH1cblxuICBwdWJsaWMgc2V0Q2xvc2VBY3RpdmUoY2xvc2VBY3RpdmU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlQWN0aXZlID0gY2xvc2VBY3RpdmU7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktdG9rZW4gc2t5LWJ0biBza3ktYnRuLWRlZmF1bHRcIlxuICBbYXR0ci5yb2xlXT1cInJvbGVcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ3NreS1idG4tZGlzYWJsZWQnOiBkaXNhYmxlZCxcbiAgICAnc2t5LXRva2VuLWRpc2FibGVkJzogZGlzYWJsZWQsXG4gICAgJ3NreS10b2tlbi1kaXNtaXNzaWJsZSc6IGRpc21pc3NpYmxlLFxuICAgICdza3ktdG9rZW4tYWN0aXZlJzogdG9rZW5BY3RpdmUgJiYgIWNsb3NlQWN0aXZlLFxuICAgICdza3ktdG9rZW4tZm9jdXNlZCc6IGlzRm9jdXNlZFxuICB9XCJcbiAgKGRvY3VtZW50Om1vdXNldXApPVwic2V0VG9rZW5BY3RpdmUoZmFsc2UpXCJcbiAgKGZvY3VzaW4pPVwib25Gb2N1c0luKClcIlxuICAoZm9jdXNvdXQpPVwib25Gb2N1c091dCgkZXZlbnQpXCJcbiAgKG1vdXNlZG93bik9XCJzZXRUb2tlbkFjdGl2ZSh0cnVlKVwiXG4+XG4gIDxzcGFuXG4gICAgW2F0dHIucm9sZV09XCJyb2xlID09PSAncm93JyA/ICdncmlkY2VsbCcgOiB1bmRlZmluZWRcIlxuICAgIGNsYXNzPVwic2t5LXRva2VuLWNlbGxcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tZGVmYXVsdCBza3ktdG9rZW4tYnRuIHNreS10b2tlbi1idG4tYWN0aW9uXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiSW5kZXhcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ3NreS1idG4tZGlzYWJsZWQnOiBkaXNhYmxlZFxuICAgICAgfVwiXG4gICAgICAjYWN0aW9uQnV0dG9uXG4gICAgPlxuICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8L2J1dHRvbj5cbiAgPC9zcGFuPlxuICA8c3BhblxuICAgICpuZ0lmPVwiZGlzbWlzc2libGVcIlxuICAgIGNsYXNzPVwic2t5LXRva2VuLWNlbGxcIlxuICAgIFthdHRyLnJvbGVdPVwicm9sZSA9PT0gJ3JvdycgPyAnZ3JpZGNlbGwnIDogdW5kZWZpbmVkXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktdG9rZW4tYnRuIHNreS10b2tlbi1idG4tY2xvc2VcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICBhcmlhTGFiZWwgfHwgKCdza3l1eF90b2tlbnNfZGlzbWlzc19idXR0b25fdGl0bGUnIHwgc2t5TGliUmVzb3VyY2VzKVxuICAgICAgXCJcbiAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYkluZGV4XCJcbiAgICAgIFthdHRyLnRpdGxlXT1cIlxuICAgICAgICBhcmlhTGFiZWwgfHwgKCdza3l1eF90b2tlbnNfZGlzbWlzc19idXR0b25fdGl0bGUnIHwgc2t5TGliUmVzb3VyY2VzKVxuICAgICAgXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICdza3ktYnRuLWRpc2FibGVkJzogZGlzYWJsZWQsXG4gICAgICAgICdza3ktdG9rZW4tYnRuLWNsb3NlLWFjdGl2ZSc6IGNsb3NlQWN0aXZlXG4gICAgICB9XCJcbiAgICAgIChjbGljayk9XCJkaXNtaXNzVG9rZW4oJGV2ZW50KVwiXG4gICAgICAoZG9jdW1lbnQ6bW91c2V1cCk9XCJzZXRDbG9zZUFjdGl2ZShmYWxzZSlcIlxuICAgICAgKG1vdXNlZG93bik9XCJzZXRDbG9zZUFjdGl2ZSh0cnVlKVwiXG4gICAgPlxuICAgICAgPHNreS1pY29uIGNsYXNzPVwic2t5LXRva2VuLWJ0bi1jbG9zZS1pY29uXCIgaWNvbj1cImNsb3NlXCIgLz5cbiAgICA8L2J1dHRvbj5cbiAgPC9zcGFuPlxuPC9kaXY+XG4iXX0=
@@ -256,7 +256,7 @@ export class SkyTokensComponent {
256
256
  });
257
257
  }
258
258
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: SkyTokensComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
259
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: SkyTokensComponent, selector: "sky-tokens", inputs: { disabled: "disabled", dismissible: "dismissible", displayWith: "displayWith", trackWith: "trackWith", focusable: "focusable", tokens: "tokens", messageStream: "messageStream" }, outputs: { focusIndexOverRange: "focusIndexOverRange", focusIndexUnderRange: "focusIndexUnderRange", tokenSelected: "tokenSelected", tokensChange: "tokensChange", tokensRendered: "tokensRendered" }, viewQueries: [{ propertyName: "tokenComponents", predicate: SkyTokenComponent, descendants: true }], ngImport: i0, template: "<div\n class=\"sky-tokens\"\n [@blockAnimationOnLoad]\n [attr.role]=\"tokens.length ? 'grid' : null\"\n>\n <!--\n The role must use square brackets otherwise Angular sets the native 'role'\n attribute as well as the input attribute of the token, which fails accessibility rules.\n -->\n <sky-token\n *ngFor=\"let token of tokens; let i = index; trackBy: trackTokenFn\"\n [@.disabled]=\"!trackWith\"\n [@dismiss]\n [disabled]=\"disabled\"\n [dismissible]=\"dismissible\"\n [focusable]=\"focusable\"\n [role]=\"'row'\"\n (@dismiss.done)=\"animationDone()\"\n (dismiss)=\"removeToken(token)\"\n (click)=\"onTokenClick(token)\"\n (keydown)=\"onTokenKeyDown($event)\"\n (keyup.enter)=\"selectToken(token); $event.preventDefault()\"\n (tokenFocus)=\"activeIndex = i\"\n >\n {{ token.value[displayWith] }}\n </sky-token>\n <div class=\"sky-tokens-content\" [attr.role]=\"tokens.length ? 'row' : null\">\n <div [attr.role]=\"tokens.length ? 'gridcell' : null\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.sky-tokens{display:flex;flex-wrap:wrap;align-items:baseline;margin:-2px}.sky-tokens .sky-tokens-content,.sky-tokens ::ng-deep sky-token{flex:0 0 auto;display:inline-flex;padding:2px}.sky-tokens .sky-tokens-content{flex-grow:1;flex-basis:0px}.sky-tokens .sky-tokens-content>div{display:contents}.sky-tokens .sky-tokens-content>div:before{content:\"\\200b\"}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.SkyTokenComponent, selector: "sky-token", inputs: ["disabled", "ariaLabel", "dismissible", "focusable", "role"], outputs: ["dismiss", "tokenFocus"] }], animations: [
259
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: SkyTokensComponent, selector: "sky-tokens", inputs: { disabled: "disabled", dismissible: "dismissible", displayWith: "displayWith", trackWith: "trackWith", focusable: "focusable", tokens: "tokens", messageStream: "messageStream" }, outputs: { focusIndexOverRange: "focusIndexOverRange", focusIndexUnderRange: "focusIndexUnderRange", tokenSelected: "tokenSelected", tokensChange: "tokensChange", tokensRendered: "tokensRendered" }, viewQueries: [{ propertyName: "tokenComponents", predicate: SkyTokenComponent, descendants: true }], ngImport: i0, template: "<div\n class=\"sky-tokens\"\n [@blockAnimationOnLoad]\n [attr.role]=\"tokens.length ? 'grid' : null\"\n>\n <!--\n The role must use square brackets otherwise Angular sets the native 'role'\n attribute as well as the input attribute of the token, which fails accessibility rules.\n -->\n <sky-token\n *ngFor=\"let token of tokens; let i = index; trackBy: trackTokenFn\"\n [@.disabled]=\"!trackWith\"\n [@dismiss]\n [disabled]=\"disabled\"\n [dismissible]=\"dismissible\"\n [focusable]=\"focusable\"\n [role]=\"'row'\"\n (@dismiss.done)=\"animationDone()\"\n (dismiss)=\"removeToken(token)\"\n (click)=\"onTokenClick(token)\"\n (keydown)=\"onTokenKeyDown($event)\"\n (keyup.enter)=\"selectToken(token); $event.preventDefault()\"\n (tokenFocus)=\"activeIndex = i\"\n >\n {{ token.value[displayWith] }}\n </sky-token>\n <div class=\"sky-tokens-content\" [attr.role]=\"tokens.length ? 'row' : null\">\n <div [attr.role]=\"tokens.length ? 'gridcell' : null\">\n <ng-content />\n </div>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.sky-tokens{display:flex;flex-wrap:wrap;align-items:baseline;margin:-2px}.sky-tokens .sky-tokens-content,.sky-tokens ::ng-deep sky-token{flex:0 0 auto;display:inline-flex;padding:2px}.sky-tokens .sky-tokens-content{flex-grow:1;flex-basis:0px}.sky-tokens .sky-tokens-content>div{display:contents}.sky-tokens .sky-tokens-content>div:before{content:\"\\200b\"}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.SkyTokenComponent, selector: "sky-token", inputs: ["disabled", "ariaLabel", "dismissible", "focusable", "role"], outputs: ["dismiss", "tokenFocus"] }], animations: [
260
260
  trigger('blockAnimationOnLoad', [transition(':enter', [])]),
261
261
  trigger('dismiss', [
262
262
  transition(':enter', [
@@ -300,7 +300,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
300
300
  })),
301
301
  ]),
302
302
  ]),
303
- ], template: "<div\n class=\"sky-tokens\"\n [@blockAnimationOnLoad]\n [attr.role]=\"tokens.length ? 'grid' : null\"\n>\n <!--\n The role must use square brackets otherwise Angular sets the native 'role'\n attribute as well as the input attribute of the token, which fails accessibility rules.\n -->\n <sky-token\n *ngFor=\"let token of tokens; let i = index; trackBy: trackTokenFn\"\n [@.disabled]=\"!trackWith\"\n [@dismiss]\n [disabled]=\"disabled\"\n [dismissible]=\"dismissible\"\n [focusable]=\"focusable\"\n [role]=\"'row'\"\n (@dismiss.done)=\"animationDone()\"\n (dismiss)=\"removeToken(token)\"\n (click)=\"onTokenClick(token)\"\n (keydown)=\"onTokenKeyDown($event)\"\n (keyup.enter)=\"selectToken(token); $event.preventDefault()\"\n (tokenFocus)=\"activeIndex = i\"\n >\n {{ token.value[displayWith] }}\n </sky-token>\n <div class=\"sky-tokens-content\" [attr.role]=\"tokens.length ? 'row' : null\">\n <div [attr.role]=\"tokens.length ? 'gridcell' : null\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.sky-tokens{display:flex;flex-wrap:wrap;align-items:baseline;margin:-2px}.sky-tokens .sky-tokens-content,.sky-tokens ::ng-deep sky-token{flex:0 0 auto;display:inline-flex;padding:2px}.sky-tokens .sky-tokens-content{flex-grow:1;flex-basis:0px}.sky-tokens .sky-tokens-content>div{display:contents}.sky-tokens .sky-tokens-content>div:before{content:\"\\200b\"}\n"] }]
303
+ ], template: "<div\n class=\"sky-tokens\"\n [@blockAnimationOnLoad]\n [attr.role]=\"tokens.length ? 'grid' : null\"\n>\n <!--\n The role must use square brackets otherwise Angular sets the native 'role'\n attribute as well as the input attribute of the token, which fails accessibility rules.\n -->\n <sky-token\n *ngFor=\"let token of tokens; let i = index; trackBy: trackTokenFn\"\n [@.disabled]=\"!trackWith\"\n [@dismiss]\n [disabled]=\"disabled\"\n [dismissible]=\"dismissible\"\n [focusable]=\"focusable\"\n [role]=\"'row'\"\n (@dismiss.done)=\"animationDone()\"\n (dismiss)=\"removeToken(token)\"\n (click)=\"onTokenClick(token)\"\n (keydown)=\"onTokenKeyDown($event)\"\n (keyup.enter)=\"selectToken(token); $event.preventDefault()\"\n (tokenFocus)=\"activeIndex = i\"\n >\n {{ token.value[displayWith] }}\n </sky-token>\n <div class=\"sky-tokens-content\" [attr.role]=\"tokens.length ? 'row' : null\">\n <div [attr.role]=\"tokens.length ? 'gridcell' : null\">\n <ng-content />\n </div>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.sky-tokens{display:flex;flex-wrap:wrap;align-items:baseline;margin:-2px}.sky-tokens .sky-tokens-content,.sky-tokens ::ng-deep sky-token{flex:0 0 auto;display:inline-flex;padding:2px}.sky-tokens .sky-tokens-content{flex-grow:1;flex-basis:0px}.sky-tokens .sky-tokens-content>div{display:contents}.sky-tokens .sky-tokens-content>div:before{content:\"\\200b\"}\n"] }]
304
304
  }], ctorParameters: function () { return []; }, propDecorators: { disabled: [{
305
305
  type: Input
306
306
  }], dismissible: [{
@@ -329,4 +329,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
329
329
  type: ViewChildren,
330
330
  args: [SkyTokenComponent]
331
331
  }] } });
332
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy90b2tlbnMvdG9rZW5zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy90b2tlbnMvdG9rZW5zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBR04sWUFBWSxFQUNaLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFFbkUsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUM7QUFFcEM7Ozs7R0FJRztBQWtDSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCOzs7OztPQUtHO0lBQ0gsSUFDVyxRQUFRLENBQUMsS0FBMEI7UUFDNUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNX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QUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQzt3QkFDM0QsT0FBTyxDQUFDLFNBQVMsRUFBRTs0QkFDakIsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsS0FBSyxDQUFDO29DQUNKLE9BQU8sRUFBRSxDQUFDO29DQUNWLEtBQUssRUFBRSxDQUFDO2lDQUNULENBQUM7Z0NBQ0YsT0FBTyxDQUNMLGVBQWUsRUFDZixLQUFLLENBQUM7b0NBQ0osT0FBTyxFQUFFLENBQUM7b0NBQ1YsS0FBSyxFQUFFLEdBQUc7aUNBQ1gsQ0FBQyxDQUNIOzZCQUNGLENBQUM7NEJBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsT0FBTyxDQUNMLGVBQWUsRUFDZixLQUFLLENBQUM7b0NBQ0osT0FBTyxFQUFFLENBQUM7b0NBQ1YsS0FBSyxFQUFFLENBQUM7aUNBQ1QsQ0FBQyxDQUNIOzZCQUNGLENBQUM7eUJBQ0gsQ0FBQztxQkFDSDswRUFVVSxRQUFRO3NCQURsQixLQUFLO2dCQWNLLFdBQVc7c0JBRHJCLEtBQUs7Z0JBY0ssV0FBVztzQkFEckIsS0FBSztnQkFjQyxTQUFTO3NCQURmLEtBQUs7Z0JBVUssU0FBUztzQkFEbkIsS0FBSztnQkFhSyxNQUFNO3NCQURoQixLQUFLO2dCQW1CSyxhQUFhO3NCQUR2QixLQUFLO2dCQWVDLG1CQUFtQjtzQkFEekIsTUFBTTtnQkFRQSxvQkFBb0I7c0JBRDFCLE1BQU07Z0JBT0EsYUFBYTtzQkFEbkIsTUFBTTtnQkFRQSxZQUFZO3NCQURsQixNQUFNO2dCQVFBLGNBQWM7c0JBRHBCLE1BQU07Z0JBOEJBLGVBQWU7c0JBRHJCLFlBQVk7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBUcmFja0J5RnVuY3Rpb24sXG4gIFZpZXdDaGlsZHJlbixcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVRva2VuQ29tcG9uZW50IH0gZnJvbSAnLi90b2tlbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5VG9rZW4gfSBmcm9tICcuL3R5cGVzL3Rva2VuJztcbmltcG9ydCB7IFNreVRva2VuU2VsZWN0ZWRFdmVudEFyZ3MgfSBmcm9tICcuL3R5cGVzL3Rva2VuLXNlbGVjdGVkLWV2ZW50LWFyZ3MnO1xuaW1wb3J0IHsgU2t5VG9rZW5zTWVzc2FnZSB9IGZyb20gJy4vdHlwZXMvdG9rZW5zLW1lc3NhZ2UnO1xuaW1wb3J0IHsgU2t5VG9rZW5zTWVzc2FnZVR5cGUgfSBmcm9tICcuL3R5cGVzL3Rva2Vucy1tZXNzYWdlLXR5cGUnO1xuXG5jb25zdCBESVNQTEFZX1dJVEhfREVGQVVMVCA9ICduYW1lJztcblxuLyoqXG4gKiBDcmVhdGVzIGEgY29udGFpbmVyIHRoYXQgZW5hYmxlcyBuYXZpZ2F0aW9uIGJldHdlZW4gdG9rZW5zIHVzaW5nIGtleWJvYXJkIGFycm93IGtleXMuXG4gKiBUaGlzIGlzIHVzZWZ1bCB3aGVuIGNvbWJpbmVkIHdpdGggb3RoZXIgY29tcG9uZW50cyB3aGVyZSB0aGUgPGtiZD5UYWI8L2tiZD4ga2V5IGlzXG4gKiByZXNlcnZlZCBmb3Igb3RoZXIgZnVuY3Rpb25zLCBzdWNoIGFzIHRoZSBTS1kgVVggTG9va3VwIGNvbXBvbmVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXRva2VucycsXG4gIHRlbXBsYXRlVXJsOiAnLi90b2tlbnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90b2tlbnMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdibG9ja0FuaW1hdGlvbk9uTG9hZCcsIFt0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXSldKSxcbiAgICB0cmlnZ2VyKCdkaXNtaXNzJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgfSksXG4gICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgJzE1MG1zIGVhc2UtaW4nLFxuICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgICB3aWR0aDogJyonLFxuICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAnMTUwbXMgZWFzZS1pbicsXG4gICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICBdKSxcbiAgICBdKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VG9rZW5zQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgdG9rZW5zIGxpc3QgdG8gcHJldmVudCB1c2VycyBmcm9tIHNlbGVjdGluZyB0b2tlbnMsXG4gICAqIGRpc21pc3NpbmcgdG9rZW5zLCBvciBuYXZpZ2F0aW5nIHRocm91Z2ggdGhlIGxpc3Qgd2l0aCB0aGUgYXJyb3cga2V5cy4gV2hlbiB0aGUgdG9rZW5zIGxpc3RcbiAgICogaXMgZGlzYWJsZWQsIHVzZXJzIGNhbiBzdGlsbCBwbGFjZSBmb2N1cyBvbiBpdGVtcyBpbiB0aGUgbGlzdCB1c2luZyB0aGUgYFRhYmAga2V5LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kaXNhYmxlZCA9ICEhdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB1c2VycyBjYW4gcmVtb3ZlIGEgdG9rZW4gZnJvbSB0aGUgbGlzdCBieSBzZWxlY3RpbmcgYSB0b2tlbidzIGNsb3NlIGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNtaXNzaWJsZSh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kaXNtaXNzaWJsZSA9IHZhbHVlICE9PSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzbWlzc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNtaXNzaWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdG9rZW4gcHJvcGVydHkgdG8gZGlzcGxheSBmb3IgZWFjaCBpdGVtIGluIHRoZSB0b2tlbnMgbGlzdC5cbiAgICogQGRlZmF1bHQgXCJuYW1lXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzcGxheVdpdGgodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kaXNwbGF5V2l0aCA9IHZhbHVlIHx8IERJU1BMQVlfV0lUSF9ERUZBVUxUO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5V2l0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfZGlzcGxheVdpdGg7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRva2VuIHByb3BlcnR5IHRoYXQgcmVwcmVzZW50cyB0aGUgdG9rZW4ncyB1bmlxdWUgaWRlbnRpZmllci4gV2hlbiB0aGlzIHByb3BlcnR5XG4gICAqIGlzIHNldCwgYW5pbWF0aW9ucyBhcmUgZW5hYmxlZCB3aGVuIGRpc21pc3NpbmcgdG9rZW5zLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRyYWNrV2l0aDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHVzZXJzIGNhbiBwbGFjZSBmb2N1cyBvbiB0b2tlbnMgaW4gdGhlIGxpc3QgdXNpbmcgdGhlIGBUYWJgIGtleS5cbiAgICogVGhpcyBkb2VzIG5vdCBhZmZlY3QgdGhlIGFiaWxpdHkgb2YgdXNlcnMgdG8gc2VsZWN0IHRva2VucywgZGlzbWlzcyB0b2tlbnMsXG4gICAqIG9yIG5hdmlnYXRlIHRocm91Z2ggdGhlIGxpc3Qgd2l0aCB0aGUgYXJyb3cga2V5cy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmb2N1c2FibGUodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZm9jdXNhYmxlID0gdmFsdWUgIT09IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldCBmb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19mb2N1c2FibGU7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGFycmF5IG9mIHRva2VucyB0byBpbmNsdWRlIGluIHRoZSBsaXN0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0b2tlbnModmFsdWU6IFNreVRva2VuW10gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfdG9rZW5zID0gdmFsdWUgfHwgW107XG4gICAgLy8gVGhlIHByZXZpb3VzIGJlaGF2aW9yIHdhcyB0byBzZXQgYHRoaXMuX3Rva2VucyA9IHZhbHVlYCwgdGhlbiBlbWl0IGB0aGlzLl90b2tlbnNgLFxuICAgIC8vIHdoaWNoIHdvdWxkIGVtaXQgYHVuZGVmaW5lZGAgaW5zdGVhZCBvZiBhIGRlZmF1bHQgdmFsdWUgb2YgYFtdYCByZXR1cm5lZCBieSB0aGVcbiAgICAvLyBnZXQgYWNjZXNzb3Igd2hlbiBzZXQgdG8gYHVuZGVmaW5lZGAuIEVtaXR0aW5nIGB2YWx1ZWAgaW5zdGVhZCBvZiBgdGhpcy4jX3Rva2Vuc09yRGVmYXVsdGBcbiAgICAvLyBwcmVzZXJ2ZXMgdGhhdCBiZWhhdmlvci5cbiAgICB0aGlzLnRva2Vuc0NoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG9rZW5zKCk6IFNreVRva2VuW10ge1xuICAgIHJldHVybiB0aGlzLiNfdG9rZW5zO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBvYnNlcnZhYmxlIG9mIGBTa3lUb2tlbnNNZXNzYWdlYCB0aGF0IGNhbiBwbGFjZSBmb2N1cyBvbiBhXG4gICAqIHBhcnRpY3VsYXIgdG9rZW4gb3IgcmVtb3ZlIHRoZSBhY3RpdmUgdG9rZW4gZnJvbSB0aGUgbGlzdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbWVzc2FnZVN0cmVhbSh2YWx1ZTogU3ViamVjdDxTa3lUb2tlbnNNZXNzYWdlPiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19tZXNzYWdlU3RyZWFtID0gdmFsdWUgfHwgbmV3IFN1YmplY3Q8U2t5VG9rZW5zTWVzc2FnZT4oKTtcbiAgICB0aGlzLiNpbml0TWVzc2FnZVN0cmVhbSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBtZXNzYWdlU3RyZWFtKCk6IFN1YmplY3Q8U2t5VG9rZW5zTWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLiNfbWVzc2FnZVN0cmVhbTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIG5hdmlnYXRlIHRocm91Z2ggdGhlIHRva2VucyBsaXN0IHdpdGggdGhlIGBUYWJgIGtleVxuICAgKiBhbmQgYXR0ZW1wdCB0byBtb3ZlIHBhc3QgdGhlIGZpbmFsIHRva2VuIGluIHRoZSBsaXN0LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmb2N1c0luZGV4T3ZlclJhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIG5hdmlnYXRlIHRocm91Z2ggdGhlIHRva2VucyBsaXN0IHdpdGggdGhlIGBUYWJgIGtleVxuICAgKiBhbmQgYXR0ZW1wdCB0byBtb3ZlIGJlZm9yZSB0aGUgZmlyc3QgdG9rZW4gaW4gdGhlIGxpc3QuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGZvY3VzSW5kZXhVbmRlclJhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHNlbGVjdCBhIHRva2VuIGluIHRoZSBsaXN0LiBUaGlzIGV2ZW50IGVtaXRzIHRoZSBzZWxlY3RlZCB0b2tlbi5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgdG9rZW5TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5VG9rZW5TZWxlY3RlZEV2ZW50QXJncz4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgdG9rZW5zIGluIHRoZSBsaXN0IGNoYW5nZS5cbiAgICogVGhpcyBldmVudCBlbWl0cyBhbiBhcnJheSBvZiB0aGUgdG9rZW5zIGluIHRoZSB1cGRhdGVkIGxpc3QuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHRva2Vuc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5VG9rZW5bXT4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiBhbGwgYW5pbWF0aW9ucyBvbiB0aGUgdG9rZW5zIGFyZSBjb21wbGV0ZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHRva2Vuc1JlbmRlcmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHB1YmxpYyBnZXQgYWN0aXZlSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy4jX2FjdGl2ZUluZGV4O1xuICB9XG5cbiAgcHVibGljIHNldCBhY3RpdmVJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHZhbHVlID49IHRoaXMuI190b2tlbnMubGVuZ3RoKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuI190b2tlbnMubGVuZ3RoIC0gMTtcbiAgICAgIHRoaXMuZm9jdXNJbmRleE92ZXJSYW5nZS5lbWl0KCk7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlIDwgMCkge1xuICAgICAgdmFsdWUgPSAwO1xuICAgICAgdGhpcy5mb2N1c0luZGV4VW5kZXJSYW5nZS5lbWl0KCk7XG4gICAgfVxuXG4gICAgdGhpcy4jX2FjdGl2ZUluZGV4ID0gdmFsdWUgfHwgMDtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja1Rva2VuRm46IFRyYWNrQnlGdW5jdGlvbjxTa3lUb2tlbj47XG5cbiAgI19kaXNhYmxlZCA9IGZhbHNlO1xuICAjX2Rpc21pc3NpYmxlID0gdHJ1ZTtcbiAgI19mb2N1c2FibGUgPSB0cnVlO1xuICAjX3Rva2VuczogU2t5VG9rZW5bXSA9IFtdO1xuICAjX2Rpc3BsYXlXaXRoID0gRElTUExBWV9XSVRIX0RFRkFVTFQ7XG5cbiAgQFZpZXdDaGlsZHJlbihTa3lUb2tlbkNvbXBvbmVudClcbiAgcHVibGljIHRva2VuQ29tcG9uZW50czogUXVlcnlMaXN0PFNreVRva2VuQ29tcG9uZW50PiB8IHVuZGVmaW5lZDtcblxuICAjbWVzc2FnZVN0cmVhbVN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI2NoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAjX2FjdGl2ZUluZGV4ID0gMDtcbiAgI19tZXNzYWdlU3RyZWFtID0gbmV3IFN1YmplY3Q8U2t5VG9rZW5zTWVzc2FnZT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLiNpbml0TWVzc2FnZVN0cmVhbSgpO1xuXG4gICAgLy8gQW5ndWxhciBjYWxscyB0aGUgdHJhY2tCeSBmdW5jdGlvbiB3aXRob3V0IGFwcGx5aW5nIHRoZSBjb21wb25lbnQgaW5zdGFuY2UncyBzY29wZS5cbiAgICAvLyBVc2UgYSBmYXQtYXJyb3cgZnVuY3Rpb24gc28gdGhlIGN1cnJlbnQgY29tcG9uZW50IGluc3RhbmNlJ3MgdHJhY2tXaXRoIHByb3BlcnR5IGNhblxuICAgIC8vIGJlIHJlZmVyZW5jZWQuXG4gICAgdGhpcy50cmFja1Rva2VuRm4gPSAoX2luZGV4LCBpdGVtKTogdW5rbm93biA9PiB7XG4gICAgICBpZiAodGhpcy50cmFja1dpdGgpIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0udmFsdWVbdGhpcy50cmFja1dpdGhdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaXRlbTtcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblRva2VuQ2xpY2sodG9rZW46IFNreVRva2VuKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLiNub3RpZnlUb2tlblNlbGVjdGVkKHRva2VuKTtcbiAgfVxuXG4gIHB1YmxpYyBhbmltYXRpb25Eb25lKCk6IHZvaWQge1xuICAgIHRoaXMudG9rZW5zUmVuZGVyZWQuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIG9uVG9rZW5LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgICBjYXNlICdMZWZ0JzpcbiAgICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgICB0aGlzLiNfbWVzc2FnZVN0cmVhbS5uZXh0KHtcbiAgICAgICAgICAgIHR5cGU6IFNreVRva2Vuc01lc3NhZ2VUeXBlLkZvY3VzUHJldmlvdXNUb2tlbixcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ1JpZ2h0JzpcbiAgICAgICAgY2FzZSAnQXJyb3dSaWdodCc6XG4gICAgICAgICAgdGhpcy4jX21lc3NhZ2VTdHJlYW0ubmV4dCh7XG4gICAgICAgICAgICB0eXBlOiBTa3lUb2tlbnNNZXNzYWdlVHlwZS5Gb2N1c05leHRUb2tlbixcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RUb2tlbih0b2tlbjogU2t5VG9rZW4pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuI25vdGlmeVRva2VuU2VsZWN0ZWQodG9rZW4pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVUb2tlbih0b2tlbjogU2t5VG9rZW4pOiB2b2lkIHtcbiAgICB0aGlzLnRva2VucyA9IHRoaXMudG9rZW5zLmZpbHRlcigodCkgPT4gdCAhPT0gdG9rZW4pO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gICNmb2N1c1ByZXZpb3VzVG9rZW4oKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVJbmRleC0tO1xuICAgIHRoaXMuI2ZvY3VzQWN0aXZlVG9rZW4oKTtcbiAgfVxuXG4gICNmb2N1c05leHRUb2tlbigpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZUluZGV4Kys7XG4gICAgdGhpcy4jZm9jdXNBY3RpdmVUb2tlbigpO1xuICB9XG5cbiAgI2ZvY3VzTGFzdFRva2VuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRva2VuQ29tcG9uZW50cykge1xuICAgICAgdGhpcy5hY3RpdmVJbmRleCA9IHRoaXMudG9rZW5Db21wb25lbnRzLmxlbmd0aCAtIDE7XG4gICAgICB0aGlzLiNmb2N1c0FjdGl2ZVRva2VuKCk7XG4gICAgfVxuICB9XG5cbiAgI2ZvY3VzQWN0aXZlVG9rZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudG9rZW5Db21wb25lbnRzKSB7XG4gICAgICBjb25zdCB0b2tlbkNvbXBvbmVudCA9IHRoaXMudG9rZW5Db21wb25lbnRzLmZpbmQoXG4gICAgICAgIChfY29tcDogU2t5VG9rZW5Db21wb25lbnQsIGk6IG51bWJlcikgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmFjdGl2ZUluZGV4ID09PSBpO1xuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICBpZiAodG9rZW5Db21wb25lbnQpIHtcbiAgICAgICAgdG9rZW5Db21wb25lbnQuZm9jdXNFbGVtZW50KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3JlbW92ZUFjdGl2ZVRva2VuKCk6IHZvaWQge1xuICAgIGNvbnN0IHRva2VuID0gdGhpcy50b2tlbnNbdGhpcy5hY3RpdmVJbmRleF07XG4gICAgaWYgKHRva2VuKSB7XG4gICAgICB0aGlzLnJlbW92ZVRva2VuKHRva2VuKTtcbiAgICB9XG4gIH1cblxuICAjaW5pdE1lc3NhZ2VTdHJlYW0oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI21lc3NhZ2VTdHJlYW1TdWIpIHtcbiAgICAgIHRoaXMuI21lc3NhZ2VTdHJlYW1TdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICB0aGlzLiNtZXNzYWdlU3RyZWFtU3ViID0gdGhpcy5tZXNzYWdlU3RyZWFtXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lUb2tlbnNNZXNzYWdlKSA9PiB7XG4gICAgICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7XG4gICAgICAgICAgY2FzZSBTa3lUb2tlbnNNZXNzYWdlVHlwZS5Gb2N1c0xhc3RUb2tlbjpcbiAgICAgICAgICAgIHRoaXMuI2ZvY3VzTGFzdFRva2VuKCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNBY3RpdmVUb2tlbjpcbiAgICAgICAgICAgIHRoaXMuI2ZvY3VzQWN0aXZlVG9rZW4oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBTa3lUb2tlbnNNZXNzYWdlVHlwZS5Gb2N1c1ByZXZpb3VzVG9rZW46XG4gICAgICAgICAgICB0aGlzLiNmb2N1c1ByZXZpb3VzVG9rZW4oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBTa3lUb2tlbnNNZXNzYWdlVHlwZS5Gb2N1c05leHRUb2tlbjpcbiAgICAgICAgICAgIHRoaXMuI2ZvY3VzTmV4dFRva2VuKCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuUmVtb3ZlQWN0aXZlVG9rZW46XG4gICAgICAgICAgICB0aGlzLiNyZW1vdmVBY3RpdmVUb2tlbigpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgI25vdGlmeVRva2VuU2VsZWN0ZWQodG9rZW46IFNreVRva2VuKTogdm9pZCB7XG4gICAgdGhpcy50b2tlblNlbGVjdGVkLmVtaXQoe1xuICAgICAgdG9rZW4sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktdG9rZW5zXCJcbiAgW0BibG9ja0FuaW1hdGlvbk9uTG9hZF1cbiAgW2F0dHIucm9sZV09XCJ0b2tlbnMubGVuZ3RoID8gJ2dyaWQnIDogbnVsbFwiXG4+XG4gIDwhLS1cbiAgICAgIFRoZSByb2xlIG11c3QgdXNlIHNxdWFyZSBicmFja2V0cyBvdGhlcndpc2UgQW5ndWxhciBzZXRzIHRoZSBuYXRpdmUgJ3JvbGUnXG4gICAgICBhdHRyaWJ1dGUgYXMgd2VsbCBhcyB0aGUgaW5wdXQgYXR0cmlidXRlIG9mIHRoZSB0b2tlbiwgd2hpY2ggZmFpbHMgYWNjZXNzaWJpbGl0eSBydWxlcy5cbiAgICAtLT5cbiAgPHNreS10b2tlblxuICAgICpuZ0Zvcj1cImxldCB0b2tlbiBvZiB0b2tlbnM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrVG9rZW5GblwiXG4gICAgW0AuZGlzYWJsZWRdPVwiIXRyYWNrV2l0aFwiXG4gICAgW0BkaXNtaXNzXVxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2Rpc21pc3NpYmxlXT1cImRpc21pc3NpYmxlXCJcbiAgICBbZm9jdXNhYmxlXT1cImZvY3VzYWJsZVwiXG4gICAgW3JvbGVdPVwiJ3JvdydcIlxuICAgIChAZGlzbWlzcy5kb25lKT1cImFuaW1hdGlvbkRvbmUoKVwiXG4gICAgKGRpc21pc3MpPVwicmVtb3ZlVG9rZW4odG9rZW4pXCJcbiAgICAoY2xpY2spPVwib25Ub2tlbkNsaWNrKHRva2VuKVwiXG4gICAgKGtleWRvd24pPVwib25Ub2tlbktleURvd24oJGV2ZW50KVwiXG4gICAgKGtleXVwLmVudGVyKT1cInNlbGVjdFRva2VuKHRva2VuKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICh0b2tlbkZvY3VzKT1cImFjdGl2ZUluZGV4ID0gaVwiXG4gID5cbiAgICB7eyB0b2tlbi52YWx1ZVtkaXNwbGF5V2l0aF0gfX1cbiAgPC9za3ktdG9rZW4+XG4gIDxkaXYgY2xhc3M9XCJza3ktdG9rZW5zLWNvbnRlbnRcIiBbYXR0ci5yb2xlXT1cInRva2Vucy5sZW5ndGggPyAncm93JyA6IG51bGxcIj5cbiAgICA8ZGl2IFthdHRyLnJvbGVdPVwidG9rZW5zLmxlbmd0aCA/ICdncmlkY2VsbCcgOiBudWxsXCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
332
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy90b2tlbnMvdG9rZW5zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9pbmRpY2F0b3JzL3NyYy9saWIvbW9kdWxlcy90b2tlbnMvdG9rZW5zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBR04sWUFBWSxFQUNaLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFFbkUsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLENBQUM7QUFFcEM7Ozs7R0FJRztBQWtDSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCOzs7OztPQUtHO0lBQ0gsSUFDVyxRQUFRLENBQUMsS0FBMEI7UUFDNUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNX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QUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQzt3QkFDM0QsT0FBTyxDQUFDLFNBQVMsRUFBRTs0QkFDakIsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsS0FBSyxDQUFDO29DQUNKLE9BQU8sRUFBRSxDQUFDO29DQUNWLEtBQUssRUFBRSxDQUFDO2lDQUNULENBQUM7Z0NBQ0YsT0FBTyxDQUNMLGVBQWUsRUFDZixLQUFLLENBQUM7b0NBQ0osT0FBTyxFQUFFLENBQUM7b0NBQ1YsS0FBSyxFQUFFLEdBQUc7aUNBQ1gsQ0FBQyxDQUNIOzZCQUNGLENBQUM7NEJBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDbkIsT0FBTyxDQUNMLGVBQWUsRUFDZixLQUFLLENBQUM7b0NBQ0osT0FBTyxFQUFFLENBQUM7b0NBQ1YsS0FBSyxFQUFFLENBQUM7aUNBQ1QsQ0FBQyxDQUNIOzZCQUNGLENBQUM7eUJBQ0gsQ0FBQztxQkFDSDswRUFVVSxRQUFRO3NCQURsQixLQUFLO2dCQWNLLFdBQVc7c0JBRHJCLEtBQUs7Z0JBY0ssV0FBVztzQkFEckIsS0FBSztnQkFjQyxTQUFTO3NCQURmLEtBQUs7Z0JBVUssU0FBUztzQkFEbkIsS0FBSztnQkFhSyxNQUFNO3NCQURoQixLQUFLO2dCQW1CSyxhQUFhO3NCQUR2QixLQUFLO2dCQWVDLG1CQUFtQjtzQkFEekIsTUFBTTtnQkFRQSxvQkFBb0I7c0JBRDFCLE1BQU07Z0JBT0EsYUFBYTtzQkFEbkIsTUFBTTtnQkFRQSxZQUFZO3NCQURsQixNQUFNO2dCQVFBLGNBQWM7c0JBRHBCLE1BQU07Z0JBOEJBLGVBQWU7c0JBRHJCLFlBQVk7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBUcmFja0J5RnVuY3Rpb24sXG4gIFZpZXdDaGlsZHJlbixcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreVRva2VuQ29tcG9uZW50IH0gZnJvbSAnLi90b2tlbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5VG9rZW4gfSBmcm9tICcuL3R5cGVzL3Rva2VuJztcbmltcG9ydCB7IFNreVRva2VuU2VsZWN0ZWRFdmVudEFyZ3MgfSBmcm9tICcuL3R5cGVzL3Rva2VuLXNlbGVjdGVkLWV2ZW50LWFyZ3MnO1xuaW1wb3J0IHsgU2t5VG9rZW5zTWVzc2FnZSB9IGZyb20gJy4vdHlwZXMvdG9rZW5zLW1lc3NhZ2UnO1xuaW1wb3J0IHsgU2t5VG9rZW5zTWVzc2FnZVR5cGUgfSBmcm9tICcuL3R5cGVzL3Rva2Vucy1tZXNzYWdlLXR5cGUnO1xuXG5jb25zdCBESVNQTEFZX1dJVEhfREVGQVVMVCA9ICduYW1lJztcblxuLyoqXG4gKiBDcmVhdGVzIGEgY29udGFpbmVyIHRoYXQgZW5hYmxlcyBuYXZpZ2F0aW9uIGJldHdlZW4gdG9rZW5zIHVzaW5nIGtleWJvYXJkIGFycm93IGtleXMuXG4gKiBUaGlzIGlzIHVzZWZ1bCB3aGVuIGNvbWJpbmVkIHdpdGggb3RoZXIgY29tcG9uZW50cyB3aGVyZSB0aGUgPGtiZD5UYWI8L2tiZD4ga2V5IGlzXG4gKiByZXNlcnZlZCBmb3Igb3RoZXIgZnVuY3Rpb25zLCBzdWNoIGFzIHRoZSBTS1kgVVggTG9va3VwIGNvbXBvbmVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXRva2VucycsXG4gIHRlbXBsYXRlVXJsOiAnLi90b2tlbnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90b2tlbnMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdibG9ja0FuaW1hdGlvbk9uTG9hZCcsIFt0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXSldKSxcbiAgICB0cmlnZ2VyKCdkaXNtaXNzJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgfSksXG4gICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgJzE1MG1zIGVhc2UtaW4nLFxuICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDEsXG4gICAgICAgICAgICB3aWR0aDogJyonLFxuICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAnMTUwbXMgZWFzZS1pbicsXG4gICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICAgIHdpZHRoOiAwLFxuICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICBdKSxcbiAgICBdKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VG9rZW5zQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgdG9rZW5zIGxpc3QgdG8gcHJldmVudCB1c2VycyBmcm9tIHNlbGVjdGluZyB0b2tlbnMsXG4gICAqIGRpc21pc3NpbmcgdG9rZW5zLCBvciBuYXZpZ2F0aW5nIHRocm91Z2ggdGhlIGxpc3Qgd2l0aCB0aGUgYXJyb3cga2V5cy4gV2hlbiB0aGUgdG9rZW5zIGxpc3RcbiAgICogaXMgZGlzYWJsZWQsIHVzZXJzIGNhbiBzdGlsbCBwbGFjZSBmb2N1cyBvbiBpdGVtcyBpbiB0aGUgbGlzdCB1c2luZyB0aGUgYFRhYmAga2V5LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kaXNhYmxlZCA9ICEhdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfZGlzYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB1c2VycyBjYW4gcmVtb3ZlIGEgdG9rZW4gZnJvbSB0aGUgbGlzdCBieSBzZWxlY3RpbmcgYSB0b2tlbidzIGNsb3NlIGJ1dHRvbi5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNtaXNzaWJsZSh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kaXNtaXNzaWJsZSA9IHZhbHVlICE9PSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzbWlzc2libGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNtaXNzaWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdG9rZW4gcHJvcGVydHkgdG8gZGlzcGxheSBmb3IgZWFjaCBpdGVtIGluIHRoZSB0b2tlbnMgbGlzdC5cbiAgICogQGRlZmF1bHQgXCJuYW1lXCJcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgZGlzcGxheVdpdGgodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19kaXNwbGF5V2l0aCA9IHZhbHVlIHx8IERJU1BMQVlfV0lUSF9ERUZBVUxUO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5V2l0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNfZGlzcGxheVdpdGg7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRva2VuIHByb3BlcnR5IHRoYXQgcmVwcmVzZW50cyB0aGUgdG9rZW4ncyB1bmlxdWUgaWRlbnRpZmllci4gV2hlbiB0aGlzIHByb3BlcnR5XG4gICAqIGlzIHNldCwgYW5pbWF0aW9ucyBhcmUgZW5hYmxlZCB3aGVuIGRpc21pc3NpbmcgdG9rZW5zLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHRyYWNrV2l0aDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHVzZXJzIGNhbiBwbGFjZSBmb2N1cyBvbiB0b2tlbnMgaW4gdGhlIGxpc3QgdXNpbmcgdGhlIGBUYWJgIGtleS5cbiAgICogVGhpcyBkb2VzIG5vdCBhZmZlY3QgdGhlIGFiaWxpdHkgb2YgdXNlcnMgdG8gc2VsZWN0IHRva2VucywgZGlzbWlzcyB0b2tlbnMsXG4gICAqIG9yIG5hdmlnYXRlIHRocm91Z2ggdGhlIGxpc3Qgd2l0aCB0aGUgYXJyb3cga2V5cy5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBmb2N1c2FibGUodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZm9jdXNhYmxlID0gdmFsdWUgIT09IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldCBmb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19mb2N1c2FibGU7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGFycmF5IG9mIHRva2VucyB0byBpbmNsdWRlIGluIHRoZSBsaXN0LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0b2tlbnModmFsdWU6IFNreVRva2VuW10gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfdG9rZW5zID0gdmFsdWUgfHwgW107XG4gICAgLy8gVGhlIHByZXZpb3VzIGJlaGF2aW9yIHdhcyB0byBzZXQgYHRoaXMuX3Rva2VucyA9IHZhbHVlYCwgdGhlbiBlbWl0IGB0aGlzLl90b2tlbnNgLFxuICAgIC8vIHdoaWNoIHdvdWxkIGVtaXQgYHVuZGVmaW5lZGAgaW5zdGVhZCBvZiBhIGRlZmF1bHQgdmFsdWUgb2YgYFtdYCByZXR1cm5lZCBieSB0aGVcbiAgICAvLyBnZXQgYWNjZXNzb3Igd2hlbiBzZXQgdG8gYHVuZGVmaW5lZGAuIEVtaXR0aW5nIGB2YWx1ZWAgaW5zdGVhZCBvZiBgdGhpcy4jX3Rva2Vuc09yRGVmYXVsdGBcbiAgICAvLyBwcmVzZXJ2ZXMgdGhhdCBiZWhhdmlvci5cbiAgICB0aGlzLnRva2Vuc0NoYW5nZS5lbWl0KHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG9rZW5zKCk6IFNreVRva2VuW10ge1xuICAgIHJldHVybiB0aGlzLiNfdG9rZW5zO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBvYnNlcnZhYmxlIG9mIGBTa3lUb2tlbnNNZXNzYWdlYCB0aGF0IGNhbiBwbGFjZSBmb2N1cyBvbiBhXG4gICAqIHBhcnRpY3VsYXIgdG9rZW4gb3IgcmVtb3ZlIHRoZSBhY3RpdmUgdG9rZW4gZnJvbSB0aGUgbGlzdC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbWVzc2FnZVN0cmVhbSh2YWx1ZTogU3ViamVjdDxTa3lUb2tlbnNNZXNzYWdlPiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19tZXNzYWdlU3RyZWFtID0gdmFsdWUgfHwgbmV3IFN1YmplY3Q8U2t5VG9rZW5zTWVzc2FnZT4oKTtcbiAgICB0aGlzLiNpbml0TWVzc2FnZVN0cmVhbSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBtZXNzYWdlU3RyZWFtKCk6IFN1YmplY3Q8U2t5VG9rZW5zTWVzc2FnZT4ge1xuICAgIHJldHVybiB0aGlzLiNfbWVzc2FnZVN0cmVhbTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIG5hdmlnYXRlIHRocm91Z2ggdGhlIHRva2VucyBsaXN0IHdpdGggdGhlIGBUYWJgIGtleVxuICAgKiBhbmQgYXR0ZW1wdCB0byBtb3ZlIHBhc3QgdGhlIGZpbmFsIHRva2VuIGluIHRoZSBsaXN0LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBmb2N1c0luZGV4T3ZlclJhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIG5hdmlnYXRlIHRocm91Z2ggdGhlIHRva2VucyBsaXN0IHdpdGggdGhlIGBUYWJgIGtleVxuICAgKiBhbmQgYXR0ZW1wdCB0byBtb3ZlIGJlZm9yZSB0aGUgZmlyc3QgdG9rZW4gaW4gdGhlIGxpc3QuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGZvY3VzSW5kZXhVbmRlclJhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHNlbGVjdCBhIHRva2VuIGluIHRoZSBsaXN0LiBUaGlzIGV2ZW50IGVtaXRzIHRoZSBzZWxlY3RlZCB0b2tlbi5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgdG9rZW5TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5VG9rZW5TZWxlY3RlZEV2ZW50QXJncz4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgdG9rZW5zIGluIHRoZSBsaXN0IGNoYW5nZS5cbiAgICogVGhpcyBldmVudCBlbWl0cyBhbiBhcnJheSBvZiB0aGUgdG9rZW5zIGluIHRoZSB1cGRhdGVkIGxpc3QuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHRva2Vuc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5VG9rZW5bXT4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiBhbGwgYW5pbWF0aW9ucyBvbiB0aGUgdG9rZW5zIGFyZSBjb21wbGV0ZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHRva2Vuc1JlbmRlcmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHB1YmxpYyBnZXQgYWN0aXZlSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy4jX2FjdGl2ZUluZGV4O1xuICB9XG5cbiAgcHVibGljIHNldCBhY3RpdmVJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHZhbHVlID49IHRoaXMuI190b2tlbnMubGVuZ3RoKSB7XG4gICAgICB2YWx1ZSA9IHRoaXMuI190b2tlbnMubGVuZ3RoIC0gMTtcbiAgICAgIHRoaXMuZm9jdXNJbmRleE92ZXJSYW5nZS5lbWl0KCk7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlIDwgMCkge1xuICAgICAgdmFsdWUgPSAwO1xuICAgICAgdGhpcy5mb2N1c0luZGV4VW5kZXJSYW5nZS5lbWl0KCk7XG4gICAgfVxuXG4gICAgdGhpcy4jX2FjdGl2ZUluZGV4ID0gdmFsdWUgfHwgMDtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja1Rva2VuRm46IFRyYWNrQnlGdW5jdGlvbjxTa3lUb2tlbj47XG5cbiAgI19kaXNhYmxlZCA9IGZhbHNlO1xuICAjX2Rpc21pc3NpYmxlID0gdHJ1ZTtcbiAgI19mb2N1c2FibGUgPSB0cnVlO1xuICAjX3Rva2VuczogU2t5VG9rZW5bXSA9IFtdO1xuICAjX2Rpc3BsYXlXaXRoID0gRElTUExBWV9XSVRIX0RFRkFVTFQ7XG5cbiAgQFZpZXdDaGlsZHJlbihTa3lUb2tlbkNvbXBvbmVudClcbiAgcHVibGljIHRva2VuQ29tcG9uZW50czogUXVlcnlMaXN0PFNreVRva2VuQ29tcG9uZW50PiB8IHVuZGVmaW5lZDtcblxuICAjbWVzc2FnZVN0cmVhbVN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI2NoYW5nZURldGVjdG9yID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAjX2FjdGl2ZUluZGV4ID0gMDtcbiAgI19tZXNzYWdlU3RyZWFtID0gbmV3IFN1YmplY3Q8U2t5VG9rZW5zTWVzc2FnZT4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLiNpbml0TWVzc2FnZVN0cmVhbSgpO1xuXG4gICAgLy8gQW5ndWxhciBjYWxscyB0aGUgdHJhY2tCeSBmdW5jdGlvbiB3aXRob3V0IGFwcGx5aW5nIHRoZSBjb21wb25lbnQgaW5zdGFuY2UncyBzY29wZS5cbiAgICAvLyBVc2UgYSBmYXQtYXJyb3cgZnVuY3Rpb24gc28gdGhlIGN1cnJlbnQgY29tcG9uZW50IGluc3RhbmNlJ3MgdHJhY2tXaXRoIHByb3BlcnR5IGNhblxuICAgIC8vIGJlIHJlZmVyZW5jZWQuXG4gICAgdGhpcy50cmFja1Rva2VuRm4gPSAoX2luZGV4LCBpdGVtKTogdW5rbm93biA9PiB7XG4gICAgICBpZiAodGhpcy50cmFja1dpdGgpIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0udmFsdWVbdGhpcy50cmFja1dpdGhdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaXRlbTtcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblRva2VuQ2xpY2sodG9rZW46IFNreVRva2VuKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLiNub3RpZnlUb2tlblNlbGVjdGVkKHRva2VuKTtcbiAgfVxuXG4gIHB1YmxpYyBhbmltYXRpb25Eb25lKCk6IHZvaWQge1xuICAgIHRoaXMudG9rZW5zUmVuZGVyZWQuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIG9uVG9rZW5LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgICBjYXNlICdMZWZ0JzpcbiAgICAgICAgY2FzZSAnQXJyb3dMZWZ0JzpcbiAgICAgICAgICB0aGlzLiNfbWVzc2FnZVN0cmVhbS5uZXh0KHtcbiAgICAgICAgICAgIHR5cGU6IFNreVRva2Vuc01lc3NhZ2VUeXBlLkZvY3VzUHJldmlvdXNUb2tlbixcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ1JpZ2h0JzpcbiAgICAgICAgY2FzZSAnQXJyb3dSaWdodCc6XG4gICAgICAgICAgdGhpcy4jX21lc3NhZ2VTdHJlYW0ubmV4dCh7XG4gICAgICAgICAgICB0eXBlOiBTa3lUb2tlbnNNZXNzYWdlVHlwZS5Gb2N1c05leHRUb2tlbixcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RUb2tlbih0b2tlbjogU2t5VG9rZW4pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuI25vdGlmeVRva2VuU2VsZWN0ZWQodG9rZW4pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVUb2tlbih0b2tlbjogU2t5VG9rZW4pOiB2b2lkIHtcbiAgICB0aGlzLnRva2VucyA9IHRoaXMudG9rZW5zLmZpbHRlcigodCkgPT4gdCAhPT0gdG9rZW4pO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gICNmb2N1c1ByZXZpb3VzVG9rZW4oKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVJbmRleC0tO1xuICAgIHRoaXMuI2ZvY3VzQWN0aXZlVG9rZW4oKTtcbiAgfVxuXG4gICNmb2N1c05leHRUb2tlbigpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZUluZGV4Kys7XG4gICAgdGhpcy4jZm9jdXNBY3RpdmVUb2tlbigpO1xuICB9XG5cbiAgI2ZvY3VzTGFzdFRva2VuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRva2VuQ29tcG9uZW50cykge1xuICAgICAgdGhpcy5hY3RpdmVJbmRleCA9IHRoaXMudG9rZW5Db21wb25lbnRzLmxlbmd0aCAtIDE7XG4gICAgICB0aGlzLiNmb2N1c0FjdGl2ZVRva2VuKCk7XG4gICAgfVxuICB9XG5cbiAgI2ZvY3VzQWN0aXZlVG9rZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudG9rZW5Db21wb25lbnRzKSB7XG4gICAgICBjb25zdCB0b2tlbkNvbXBvbmVudCA9IHRoaXMudG9rZW5Db21wb25lbnRzLmZpbmQoXG4gICAgICAgIChfY29tcDogU2t5VG9rZW5Db21wb25lbnQsIGk6IG51bWJlcikgPT4ge1xuICAgICAgICAgIHJldHVybiB0aGlzLmFjdGl2ZUluZGV4ID09PSBpO1xuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICBpZiAodG9rZW5Db21wb25lbnQpIHtcbiAgICAgICAgdG9rZW5Db21wb25lbnQuZm9jdXNFbGVtZW50KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3JlbW92ZUFjdGl2ZVRva2VuKCk6IHZvaWQge1xuICAgIGNvbnN0IHRva2VuID0gdGhpcy50b2tlbnNbdGhpcy5hY3RpdmVJbmRleF07XG4gICAgaWYgKHRva2VuKSB7XG4gICAgICB0aGlzLnJlbW92ZVRva2VuKHRva2VuKTtcbiAgICB9XG4gIH1cblxuICAjaW5pdE1lc3NhZ2VTdHJlYW0oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI21lc3NhZ2VTdHJlYW1TdWIpIHtcbiAgICAgIHRoaXMuI21lc3NhZ2VTdHJlYW1TdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICB0aGlzLiNtZXNzYWdlU3RyZWFtU3ViID0gdGhpcy5tZXNzYWdlU3RyZWFtXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChtZXNzYWdlOiBTa3lUb2tlbnNNZXNzYWdlKSA9PiB7XG4gICAgICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7XG4gICAgICAgICAgY2FzZSBTa3lUb2tlbnNNZXNzYWdlVHlwZS5Gb2N1c0xhc3RUb2tlbjpcbiAgICAgICAgICAgIHRoaXMuI2ZvY3VzTGFzdFRva2VuKCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuRm9jdXNBY3RpdmVUb2tlbjpcbiAgICAgICAgICAgIHRoaXMuI2ZvY3VzQWN0aXZlVG9rZW4oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBTa3lUb2tlbnNNZXNzYWdlVHlwZS5Gb2N1c1ByZXZpb3VzVG9rZW46XG4gICAgICAgICAgICB0aGlzLiNmb2N1c1ByZXZpb3VzVG9rZW4oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSBTa3lUb2tlbnNNZXNzYWdlVHlwZS5Gb2N1c05leHRUb2tlbjpcbiAgICAgICAgICAgIHRoaXMuI2ZvY3VzTmV4dFRva2VuKCk7XG4gICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgIGNhc2UgU2t5VG9rZW5zTWVzc2FnZVR5cGUuUmVtb3ZlQWN0aXZlVG9rZW46XG4gICAgICAgICAgICB0aGlzLiNyZW1vdmVBY3RpdmVUb2tlbigpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgI25vdGlmeVRva2VuU2VsZWN0ZWQodG9rZW46IFNreVRva2VuKTogdm9pZCB7XG4gICAgdGhpcy50b2tlblNlbGVjdGVkLmVtaXQoe1xuICAgICAgdG9rZW4sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJza3ktdG9rZW5zXCJcbiAgW0BibG9ja0FuaW1hdGlvbk9uTG9hZF1cbiAgW2F0dHIucm9sZV09XCJ0b2tlbnMubGVuZ3RoID8gJ2dyaWQnIDogbnVsbFwiXG4+XG4gIDwhLS1cbiAgICAgIFRoZSByb2xlIG11c3QgdXNlIHNxdWFyZSBicmFja2V0cyBvdGhlcndpc2UgQW5ndWxhciBzZXRzIHRoZSBuYXRpdmUgJ3JvbGUnXG4gICAgICBhdHRyaWJ1dGUgYXMgd2VsbCBhcyB0aGUgaW5wdXQgYXR0cmlidXRlIG9mIHRoZSB0b2tlbiwgd2hpY2ggZmFpbHMgYWNjZXNzaWJpbGl0eSBydWxlcy5cbiAgICAtLT5cbiAgPHNreS10b2tlblxuICAgICpuZ0Zvcj1cImxldCB0b2tlbiBvZiB0b2tlbnM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrVG9rZW5GblwiXG4gICAgW0AuZGlzYWJsZWRdPVwiIXRyYWNrV2l0aFwiXG4gICAgW0BkaXNtaXNzXVxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2Rpc21pc3NpYmxlXT1cImRpc21pc3NpYmxlXCJcbiAgICBbZm9jdXNhYmxlXT1cImZvY3VzYWJsZVwiXG4gICAgW3JvbGVdPVwiJ3JvdydcIlxuICAgIChAZGlzbWlzcy5kb25lKT1cImFuaW1hdGlvbkRvbmUoKVwiXG4gICAgKGRpc21pc3MpPVwicmVtb3ZlVG9rZW4odG9rZW4pXCJcbiAgICAoY2xpY2spPVwib25Ub2tlbkNsaWNrKHRva2VuKVwiXG4gICAgKGtleWRvd24pPVwib25Ub2tlbktleURvd24oJGV2ZW50KVwiXG4gICAgKGtleXVwLmVudGVyKT1cInNlbGVjdFRva2VuKHRva2VuKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICh0b2tlbkZvY3VzKT1cImFjdGl2ZUluZGV4ID0gaVwiXG4gID5cbiAgICB7eyB0b2tlbi52YWx1ZVtkaXNwbGF5V2l0aF0gfX1cbiAgPC9za3ktdG9rZW4+XG4gIDxkaXYgY2xhc3M9XCJza3ktdG9rZW5zLWNvbnRlbnRcIiBbYXR0ci5yb2xlXT1cInRva2Vucy5sZW5ndGggPyAncm93JyA6IG51bGxcIj5cbiAgICA8ZGl2IFthdHRyLnJvbGVdPVwidG9rZW5zLmxlbmd0aCA/ICdncmlkY2VsbCcgOiBudWxsXCI+XG4gICAgICA8bmctY29udGVudCAvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19