@po-ui/ng-components 16.4.1 → 16.6.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.
- package/esm2022/lib/components/po-field/po-combo/interfaces/po-combo-literals-default.interface.mjs +9 -5
- package/esm2022/lib/components/po-field/po-combo/interfaces/po-combo-literals.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-combo/po-combo-base.component.mjs +4 -1
- package/esm2022/lib/components/po-field/po-combo/po-combo.component.mjs +90 -41
- package/esm2022/lib/components/po-field/po-field.module.mjs +17 -13
- package/esm2022/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal.component.mjs +4 -4
- package/esm2022/lib/components/po-field/po-multiselect/po-multiselect-base.component.mjs +30 -7
- package/esm2022/lib/components/po-field/po-multiselect/po-multiselect-dropdown/po-multiselect-dropdown.component.mjs +4 -4
- package/esm2022/lib/components/po-field/po-multiselect/po-multiselect-literals.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-multiselect/po-multiselect.component.mjs +220 -51
- package/esm2022/lib/components/po-field/po-rich-text/po-rich-text-toolbar/po-rich-text-toolbar.component.mjs +3 -3
- package/esm2022/lib/components/po-listbox/po-item-list/po-item-list.component.mjs +2 -2
- package/esm2022/lib/components/po-listbox/po-listbox.component.mjs +5 -4
- package/esm2022/lib/components/po-table/po-table-base.component.mjs +5 -5
- package/esm2022/lib/components/po-tag/index.mjs +2 -1
- package/esm2022/lib/components/po-tag/interfaces/po-tag-literals.interface.mjs +2 -0
- package/esm2022/lib/components/po-tag/po-tag-base.component.mjs +70 -4
- package/esm2022/lib/components/po-tag/po-tag.component.mjs +52 -44
- package/esm2022/lib/enums/po-key-code.enum.mjs +5 -1
- package/fesm2022/po-ui-ng-components.mjs +801 -574
- package/fesm2022/po-ui-ng-components.mjs.map +1 -1
- package/lib/components/po-field/po-combo/interfaces/po-combo-literals.interface.d.ts +2 -0
- package/lib/components/po-field/po-combo/po-combo.component.d.ts +8 -5
- package/lib/components/po-field/po-field.module.d.ts +44 -44
- package/lib/components/po-field/po-multiselect/po-multiselect-base.component.d.ts +21 -2
- package/lib/components/po-field/po-multiselect/po-multiselect-literals.interface.d.ts +2 -0
- package/lib/components/po-field/po-multiselect/po-multiselect.component.d.ts +18 -6
- package/lib/components/po-table/po-table-base.component.d.ts +2 -2
- package/lib/components/po-tag/index.d.ts +1 -0
- package/lib/components/po-tag/interfaces/po-tag-literals.interface.d.ts +11 -0
- package/lib/components/po-tag/po-tag-base.component.d.ts +50 -2
- package/lib/components/po-tag/po-tag.component.d.ts +6 -6
- package/lib/enums/po-key-code.enum.d.ts +5 -1
- package/package.json +4 -4
- package/po-ui-ng-components-16.6.0.tgz +0 -0
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-update/v14/index.js +1 -1
- package/schematics/ng-update/v15/index.js +1 -1
- package/schematics/ng-update/v16/index.js +1 -1
- package/schematics/ng-update/v2/index.js +1 -1
- package/schematics/ng-update/v3/index.js +1 -1
- package/schematics/ng-update/v4/index.js +1 -1
- package/schematics/ng-update/v5/index.js +1 -1
- package/schematics/ng-update/v6/index.js +1 -1
- package/esm2022/lib/components/po-field/po-multiselect/po-multiselect-search/po-multiselect-search.component.mjs +0 -91
- package/esm2022/lib/components/po-tag/po-tag.literals.mjs +0 -15
- package/lib/components/po-field/po-multiselect/po-multiselect-search/po-multiselect-search.component.d.ts +0 -40
- package/lib/components/po-tag/po-tag.literals.d.ts +0 -14
- package/po-ui-ng-components-16.4.1.tgz +0 -0
|
@@ -208,7 +208,7 @@ export class PoRichTextToolbarComponent {
|
|
|
208
208
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.toolbarElement = _t.first);
|
|
209
209
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.richTextImageModal = _t.first);
|
|
210
210
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.richTextLinkModal = _t.first);
|
|
211
|
-
} }, inputs: { disabledTextAlign: ["p-disabled-text-align", "disabledTextAlign"], readonly: ["p-readonly", "readonly"] }, outputs: { command: "p-command", modal: "p-modal", linkEditing: "p-link-editing" }, decls: 16, vars: 6, consts: [[1, "po-rich-text-toolbar"], ["toolbarElement", ""], ["data-rich-text-toolbar", "format", 1, "po-rich-text-toolbar-button-align"], ["p-toggle", "multiple", 3, "p-buttons"], ["class", "po-rich-text-toolbar-button-align", "data-rich-text-toolbar", "color", 4, "ngIf"], ["class", "po-rich-text-toolbar-button-align", "data-rich-text-toolbar", "align", 4, "ngIf"], ["data-rich-text-toolbar", "list", 1, "po-rich-text-toolbar-button-align"], ["p-toggle", "single", 3, "p-buttons"], ["data-rich-text-toolbar", "link", 1, "po-rich-text-toolbar-button-align"], [3, "p-buttons"], ["data-rich-text-toolbar", "media", 1, "po-rich-text-toolbar-button-align"], [3, "p-command"], ["richTextImageModal", ""], [3, "p-command", "p-link-editing"], ["richTextLinkModal", ""], ["data-rich-text-toolbar", "color", 1, "po-rich-text-toolbar-button-align"], [1, "po-rich-text-toolbar-color-picker-container"], [1, "po-button", "po-button-default", "po-rich-text-toolbar-color-picker-button", 3, "disabled", "p-tooltip"], ["type", "color", 1, "po-rich-text-toolbar-color-picker-input", 3, "disabled", "change"], ["colorPickerInput", ""], ["data-rich-text-toolbar", "align", 1, "po-rich-text-toolbar-button-align"]], template: function PoRichTextToolbarComponent_Template(rf, ctx) { if (rf & 1) {
|
|
211
|
+
} }, inputs: { disabledTextAlign: ["p-disabled-text-align", "disabledTextAlign"], readonly: ["p-readonly", "readonly"] }, outputs: { command: "p-command", modal: "p-modal", linkEditing: "p-link-editing" }, decls: 16, vars: 6, consts: [[1, "po-rich-text-toolbar"], ["toolbarElement", ""], ["data-rich-text-toolbar", "format", 1, "po-rich-text-toolbar-button-align"], ["p-toggle", "multiple", 3, "p-buttons"], ["class", "po-rich-text-toolbar-button-align", "data-rich-text-toolbar", "color", 4, "ngIf"], ["class", "po-rich-text-toolbar-button-align", "data-rich-text-toolbar", "align", 4, "ngIf"], ["data-rich-text-toolbar", "list", 1, "po-rich-text-toolbar-button-align"], ["p-toggle", "single", 3, "p-buttons"], ["data-rich-text-toolbar", "link", 1, "po-rich-text-toolbar-button-align"], [3, "p-buttons"], ["data-rich-text-toolbar", "media", 1, "po-rich-text-toolbar-button-align"], [3, "p-command"], ["richTextImageModal", ""], [3, "p-command", "p-link-editing"], ["richTextLinkModal", ""], ["data-rich-text-toolbar", "color", 1, "po-rich-text-toolbar-button-align"], [1, "po-rich-text-toolbar-color-picker-container"], ["type", "button", 1, "po-button", "po-button-default", "po-rich-text-toolbar-color-picker-button", 3, "disabled", "p-tooltip"], ["type", "color", 1, "po-rich-text-toolbar-color-picker-input", 3, "disabled", "change"], ["colorPickerInput", ""], ["data-rich-text-toolbar", "align", 1, "po-rich-text-toolbar-button-align"]], template: function PoRichTextToolbarComponent_Template(rf, ctx) { if (rf & 1) {
|
|
212
212
|
i0.ɵɵelementStart(0, "div", 0, 1)(2, "div", 2);
|
|
213
213
|
i0.ɵɵelement(3, "po-button-group", 3);
|
|
214
214
|
i0.ɵɵelementEnd();
|
|
@@ -246,7 +246,7 @@ export class PoRichTextToolbarComponent {
|
|
|
246
246
|
}
|
|
247
247
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoRichTextToolbarComponent, [{
|
|
248
248
|
type: Component,
|
|
249
|
-
args: [{ selector: 'po-rich-text-toolbar', template: "<div class=\"po-rich-text-toolbar\" #toolbarElement>\n <div class=\"po-rich-text-toolbar-button-align\" data-rich-text-toolbar=\"format\">\n <po-button-group p-toggle=\"multiple\" [p-buttons]=\"formatButtons\"> </po-button-group>\n </div>\n\n <div *ngIf=\"!isInternetExplorer\" class=\"po-rich-text-toolbar-button-align\" data-rich-text-toolbar=\"color\">\n <div class=\"po-rich-text-toolbar-color-picker-container\">\n <button\n class=\"po-button po-button-default po-rich-text-toolbar-color-picker-button\"\n [disabled]=\"readonly\"\n [p-tooltip]=\"literals.textColor\"\n [attr.aria-label]=\"literals.textColor\"\n >\n <input\n #colorPickerInput\n class=\"po-rich-text-toolbar-color-picker-input\"\n type=\"color\"\n [disabled]=\"readonly\"\n (change)=\"changeTextColor($event.target.value)\"\n [attr.aria-label]=\"literals.textColor\"\n />\n </button>\n </div>\n </div>\n\n <div *ngIf=\"!disabledTextAlign\" class=\"po-rich-text-toolbar-button-align\" data-rich-text-toolbar=\"align\">\n <po-button-group p-toggle=\"single\" [p-buttons]=\"alignButtons\"> </po-button-group>\n </div>\n\n <div class=\"po-rich-text-toolbar-button-align\" data-rich-text-toolbar=\"list\">\n <po-button-group p-toggle=\"single\" [p-buttons]=\"listButtons\"> </po-button-group>\n </div>\n\n <div class=\"po-rich-text-toolbar-button-align\" data-rich-text-toolbar=\"link\">\n <po-button-group [p-buttons]=\"linkButtons\"> </po-button-group>\n </div>\n\n <div class=\"po-rich-text-toolbar-button-align\" data-rich-text-toolbar=\"media\">\n <po-button-group [p-buttons]=\"mediaButtons\"> </po-button-group>\n </div>\n</div>\n\n<po-rich-text-image-modal #richTextImageModal (p-command)=\"emitCommand($event)\"> </po-rich-text-image-modal>\n\n<po-rich-text-link-modal\n #richTextLinkModal\n (p-command)=\"emitCommand($event)\"\n (p-link-editing)=\"emitLinkEditing($event)\"\n>\n</po-rich-text-link-modal>\n" }]
|
|
249
|
+
args: [{ selector: 'po-rich-text-toolbar', template: "<div class=\"po-rich-text-toolbar\" #toolbarElement>\n <div class=\"po-rich-text-toolbar-button-align\" data-rich-text-toolbar=\"format\">\n <po-button-group p-toggle=\"multiple\" [p-buttons]=\"formatButtons\"> </po-button-group>\n </div>\n\n <div *ngIf=\"!isInternetExplorer\" class=\"po-rich-text-toolbar-button-align\" data-rich-text-toolbar=\"color\">\n <div class=\"po-rich-text-toolbar-color-picker-container\">\n <button\n type=\"button\"\n class=\"po-button po-button-default po-rich-text-toolbar-color-picker-button\"\n [disabled]=\"readonly\"\n [p-tooltip]=\"literals.textColor\"\n [attr.aria-label]=\"literals.textColor\"\n >\n <input\n #colorPickerInput\n class=\"po-rich-text-toolbar-color-picker-input\"\n type=\"color\"\n [disabled]=\"readonly\"\n (change)=\"changeTextColor($event.target.value)\"\n [attr.aria-label]=\"literals.textColor\"\n />\n </button>\n </div>\n </div>\n\n <div *ngIf=\"!disabledTextAlign\" class=\"po-rich-text-toolbar-button-align\" data-rich-text-toolbar=\"align\">\n <po-button-group p-toggle=\"single\" [p-buttons]=\"alignButtons\"> </po-button-group>\n </div>\n\n <div class=\"po-rich-text-toolbar-button-align\" data-rich-text-toolbar=\"list\">\n <po-button-group p-toggle=\"single\" [p-buttons]=\"listButtons\"> </po-button-group>\n </div>\n\n <div class=\"po-rich-text-toolbar-button-align\" data-rich-text-toolbar=\"link\">\n <po-button-group [p-buttons]=\"linkButtons\"> </po-button-group>\n </div>\n\n <div class=\"po-rich-text-toolbar-button-align\" data-rich-text-toolbar=\"media\">\n <po-button-group [p-buttons]=\"mediaButtons\"> </po-button-group>\n </div>\n</div>\n\n<po-rich-text-image-modal #richTextImageModal (p-command)=\"emitCommand($event)\"> </po-rich-text-image-modal>\n\n<po-rich-text-link-modal\n #richTextLinkModal\n (p-command)=\"emitCommand($event)\"\n (p-link-editing)=\"emitLinkEditing($event)\"\n>\n</po-rich-text-link-modal>\n" }]
|
|
250
250
|
}], function () { return [{ type: i1.PoLanguageService }]; }, { colorPickerInput: [{
|
|
251
251
|
type: ViewChild,
|
|
252
252
|
args: ['colorPickerInput', { read: ElementRef }]
|
|
@@ -275,4 +275,4 @@ export class PoRichTextToolbarComponent {
|
|
|
275
275
|
type: Input,
|
|
276
276
|
args: ['p-readonly']
|
|
277
277
|
}] }); })();
|
|
278
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcmljaC10ZXh0LXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWZpZWxkL3BvLXJpY2gtdGV4dC9wby1yaWNoLXRleHQtdG9vbGJhci9wby1yaWNoLXRleHQtdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tZmllbGQvcG8tcmljaC10ZXh0L3BvLXJpY2gtdGV4dC10b29sYmFyL3BvLXJpY2gtdGV4dC10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0csT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSTlDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQy9HLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7Ozs7Ozs7SUNKMUcsK0JBQTBHLGNBQUEsaUJBQUEsb0JBQUE7SUFhbEcsOEtBQVUsZUFBQSwyQ0FBb0MsQ0FBQSxJQUFDO0lBTGpELGlCQU9FLEVBQUEsRUFBQSxFQUFBOzs7SUFYRixlQUFxQjtJQUFyQiwwQ0FBcUIsd0NBQUE7SUFFckIsdURBQXNDO0lBTXBDLGVBQXFCO0lBQXJCLDBDQUFxQjtJQUVyQix1REFBc0M7OztJQU05QywrQkFBeUc7SUFDdkcscUNBQWlGO0lBQ25GLGlCQUFNOzs7SUFEK0IsZUFBMEI7SUFBMUIsK0NBQTBCOztB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UjtZQUduQyxpQkFBMEI7O1lBL0NlLGVBQTJCO1lBQTNCLDZDQUEyQjtZQUc1RCxlQUF5QjtZQUF6Qiw4Q0FBeUI7WUFvQnpCLGVBQXdCO1lBQXhCLDZDQUF3QjtZQUtPLGVBQXlCO1lBQXpCLDJDQUF5QjtZQUkzQyxlQUF5QjtZQUF6QiwyQ0FBeUI7WUFJekIsZUFBMEI7WUFBMUIsNENBQTBCOzs7dUZEckJsQywwQkFBMEI7Y0FKdEMsU0FBUzsyQkFDRSxzQkFBc0I7b0VBSXFCLGdCQUFnQjtrQkFBcEUsU0FBUzttQkFBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7WUFFSixjQUFjO2tCQUE1RCxTQUFTO21CQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUVlLGtCQUFrQjtrQkFBN0UsU0FBUzttQkFBQyw2QkFBNkIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFFQyxpQkFBaUI7a0JBQTNFLFNBQVM7bUJBQUMsNEJBQTRCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBRXBDLE9BQU87a0JBQTNCLE1BQU07bUJBQUMsV0FBVztZQUVBLEtBQUs7a0JBQXZCLE1BQU07bUJBQUMsU0FBUztZQUVTLFdBQVc7a0JBQXBDLE1BQU07bUJBQUMsZ0JBQWdCO1lBa0JZLGlCQUFpQjtrQkFBcEQsS0FBSzttQkFBQyx1QkFBdUI7WUFRTCxRQUFRO2tCQUFoQyxLQUFLO21CQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGlzSUUgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscy91dGlsJztcbmltcG9ydCB7IFBvTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvcG8tbGFuZ3VhZ2UvcG8tbGFuZ3VhZ2Uuc2VydmljZSc7XG5cbmltcG9ydCB7IFBvQnV0dG9uR3JvdXBJdGVtIH0gZnJvbSAnLi4vLi4vLi4vcG8tYnV0dG9uLWdyb3VwJztcbmltcG9ydCB7IHBvUmljaFRleHRMaXRlcmFsc0RlZmF1bHQgfSBmcm9tICcuLi9wby1yaWNoLXRleHQtbGl0ZXJhbHMnO1xuaW1wb3J0IHsgUG9SaWNoVGV4dFRvb2xiYXJCdXR0b25Hcm91cEl0ZW0gfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BvLXJpY2gtdGV4dC10b29sYmFyLWJ1dHRvbi1ncm91cC1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb1JpY2hUZXh0SW1hZ2VNb2RhbENvbXBvbmVudCB9IGZyb20gJy4uL3BvLXJpY2gtdGV4dC1pbWFnZS1tb2RhbC9wby1yaWNoLXRleHQtaW1hZ2UtbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IFBvUmljaFRleHRMaW5rTW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi9wby1yaWNoLXRleHQtbGluay1tb2RhbC9wby1yaWNoLXRleHQtbGluay1tb2RhbC5jb21wb25lbnQnO1xuXG5jb25zdCBwb1JpY2hUZXh0RGVmYXVsdENvbG9yID0gJyMwMDAwMDAnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1yaWNoLXRleHQtdG9vbGJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1yaWNoLXRleHQtdG9vbGJhci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUG9SaWNoVGV4dFRvb2xiYXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZCgnY29sb3JQaWNrZXJJbnB1dCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBjb2xvclBpY2tlcklucHV0OiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ3Rvb2xiYXJFbGVtZW50JywgeyBzdGF0aWM6IHRydWUgfSkgdG9vbGJhckVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZChQb1JpY2hUZXh0SW1hZ2VNb2RhbENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgcmljaFRleHRJbWFnZU1vZGFsOiBQb1JpY2hUZXh0SW1hZ2VNb2RhbENvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKFBvUmljaFRleHRMaW5rTW9kYWxDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHJpY2hUZXh0TGlua01vZGFsOiBQb1JpY2hUZXh0TGlua01vZGFsQ29tcG9uZW50O1xuXG4gIEBPdXRwdXQoJ3AtY29tbWFuZCcpIGNvbW1hbmQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IHsgY29tbWFuZDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+KCk7XG5cbiAgQE91dHB1dCgncC1tb2RhbCcpIG1vZGFsID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQE91dHB1dCgncC1saW5rLWVkaXRpbmcnKSBsaW5rRWRpdGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHJlYWRvbmx5IGxpdGVyYWxzPzogYW55O1xuXG4gIGFsaWduQnV0dG9uczogQXJyYXk8UG9SaWNoVGV4dFRvb2xiYXJCdXR0b25Hcm91cEl0ZW0+O1xuXG4gIGZvcm1hdEJ1dHRvbnM6IEFycmF5PFBvUmljaFRleHRUb29sYmFyQnV0dG9uR3JvdXBJdGVtPjtcblxuICBsaXN0QnV0dG9uczogQXJyYXk8UG9SaWNoVGV4dFRvb2xiYXJCdXR0b25Hcm91cEl0ZW0+O1xuXG4gIGxpbmtCdXR0b25zOiBBcnJheTxQb1JpY2hUZXh0VG9vbGJhckJ1dHRvbkdyb3VwSXRlbT47XG5cbiAgbWVkaWFCdXR0b25zOiBBcnJheTxQb0J1dHRvbkdyb3VwSXRlbT47XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZWRUZXh0QWxpZ246IGJvb2xlYW47XG4gIHByaXZhdGUgX3JlYWRvbmx5OiBib29sZWFuO1xuICBwcml2YXRlIHNlbGVjdGVkTGlua0VsZW1lbnQ7XG5cbiAgQElucHV0KCdwLWRpc2FibGVkLXRleHQtYWxpZ24nKSBzZXQgZGlzYWJsZWRUZXh0QWxpZ24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNhYmxlZFRleHRBbGlnbiA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkVGV4dEFsaWduKCkge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZFRleHRBbGlnbjtcbiAgfVxuXG4gIEBJbnB1dCgncC1yZWFkb25seScpIHNldCByZWFkb25seSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3JlYWRvbmx5ID0gdmFsdWU7XG4gICAgdGhpcy50b2dnbGVEaXNhYmxlQnV0dG9ucyh0aGlzLl9yZWFkb25seSk7XG4gIH1cblxuICBnZXQgcmVhZG9ubHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlYWRvbmx5O1xuICB9XG5cbiAgZ2V0IGlzSW50ZXJuZXRFeHBsb3JlcigpIHtcbiAgICByZXR1cm4gaXNJRSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IFBvTGFuZ3VhZ2VTZXJ2aWNlKSB7XG4gICAgdGhpcy5saXRlcmFscyA9IHtcbiAgICAgIC4uLnBvUmljaFRleHRMaXRlcmFsc0RlZmF1bHRbdGhpcy5sYW5ndWFnZVNlcnZpY2U/LmdldFNob3J0TGFuZ3VhZ2UoKV1cbiAgICB9O1xuICAgIHRoaXMuYWxpZ25CdXR0b25zID0gW1xuICAgICAge1xuICAgICAgICBjb21tYW5kOiAnanVzdGlmeWxlZnQnLFxuICAgICAgICBpY29uOiAncG8taWNvbi1hbGlnbi1sZWZ0JyxcbiAgICAgICAgdG9vbHRpcDogdGhpcy5saXRlcmFscy5sZWZ0LFxuICAgICAgICBhY3Rpb246IHRoaXMuZW1pdEFsaWduQ29tbWFuZC5iaW5kKHRoaXMsICdqdXN0aWZ5bGVmdCcpLFxuICAgICAgICBzZWxlY3RlZDogdHJ1ZVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29tbWFuZDogJ2p1c3RpZnljZW50ZXInLFxuICAgICAgICBpY29uOiAncG8taWNvbi1hbGlnbi1jZW50ZXInLFxuICAgICAgICB0b29sdGlwOiB0aGlzLmxpdGVyYWxzLmNlbnRlcixcbiAgICAgICAgYWN0aW9uOiB0aGlzLmVtaXRBbGlnbkNvbW1hbmQuYmluZCh0aGlzLCAnanVzdGlmeWNlbnRlcicpXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb21tYW5kOiAnanVzdGlmeXJpZ2h0JyxcbiAgICAgICAgaWNvbjogJ3BvLWljb24tYWxpZ24tcmlnaHQnLFxuICAgICAgICB0b29sdGlwOiB0aGlzLmxpdGVyYWxzLnJpZ2h0LFxuICAgICAgICBhY3Rpb246IHRoaXMuZW1pdEFsaWduQ29tbWFuZC5iaW5kKHRoaXMsICdqdXN0aWZ5cmlnaHQnKVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29tbWFuZDogJ2p1c3RpZnlmdWxsJyxcbiAgICAgICAgaWNvbjogJ3BvLWljb24tYWxpZ24tanVzdGlmeScsXG4gICAgICAgIHRvb2x0aXA6IHRoaXMubGl0ZXJhbHMuanVzdGlmeSxcbiAgICAgICAgYWN0aW9uOiB0aGlzLmVtaXRBbGlnbkNvbW1hbmQuYmluZCh0aGlzLCAnanVzdGlmeWZ1bGwnKVxuICAgICAgfVxuICAgIF07XG5cbiAgICB0aGlzLmZvcm1hdEJ1dHRvbnMgPSBbXG4gICAgICB7XG4gICAgICAgIGNvbW1hbmQ6ICdib2xkJyxcbiAgICAgICAgaWNvbjogJ3BvLWljb24tdGV4dC1ib2xkJyxcbiAgICAgICAgdG9vbHRpcDogdGhpcy5saXRlcmFscy5ib2xkLFxuICAgICAgICBhY3Rpb246IHRoaXMuZW1pdENvbW1hbmQuYmluZCh0aGlzLCAnYm9sZCcpXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb21tYW5kOiAnaXRhbGljJyxcbiAgICAgICAgaWNvbjogJ3BvLWljb24tdGV4dC1pdGFsaWMnLFxuICAgICAgICB0b29sdGlwOiB0aGlzLmxpdGVyYWxzLml0YWxpYyxcbiAgICAgICAgYWN0aW9uOiB0aGlzLmVtaXRDb21tYW5kLmJpbmQodGhpcywgJ2l0YWxpYycpXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb21tYW5kOiAndW5kZXJsaW5lJyxcbiAgICAgICAgaWNvbjogJ3BvLWljb24tdGV4dC11bmRlcmxpbmUnLFxuICAgICAgICB0b29sdGlwOiB0aGlzLmxpdGVyYWxzLnVuZGVybGluZSxcbiAgICAgICAgYWN0aW9uOiB0aGlzLmVtaXRDb21tYW5kLmJpbmQodGhpcywgJ3VuZGVybGluZScpXG4gICAgICB9XG4gICAgXTtcblxuICAgIHRoaXMubGlzdEJ1dHRvbnMgPSBbXG4gICAgICB7XG4gICAgICAgIGNvbW1hbmQ6ICdpbnNlcnRVbm9yZGVyZWRMaXN0JyxcbiAgICAgICAgaWNvbjogJ3BvLWljb24tbGlzdCcsXG4gICAgICAgIHRvb2x0aXA6IHRoaXMubGl0ZXJhbHMudW5vcmRlcmVkTGlzdCxcbiAgICAgICAgYWN0aW9uOiB0aGlzLmVtaXRDb21tYW5kLmJpbmQodGhpcywgJ2luc2VydFVub3JkZXJlZExpc3QnKVxuICAgICAgfVxuICAgIF07XG5cbiAgICB0aGlzLm1lZGlhQnV0dG9ucyA9IFtcbiAgICAgIHtcbiAgICAgICAgdG9vbHRpcDogdGhpcy5saXRlcmFscy5pbnNlcnRJbWFnZSxcbiAgICAgICAgaWNvbjogJ3BvLWljb24tcGljdHVyZScsXG4gICAgICAgIGFjdGlvbjogKCkgPT4gdGhpcy5yaWNoVGV4dEltYWdlTW9kYWwub3Blbk1vZGFsKClcbiAgICAgIH1cbiAgICBdO1xuXG4gICAgdGhpcy5saW5rQnV0dG9ucyA9IFtcbiAgICAgIHtcbiAgICAgICAgY29tbWFuZDogJ0NyZWF0ZWxpbmsnLFxuICAgICAgICBpY29uOiAncG8taWNvbi1saW5rJyxcbiAgICAgICAgdG9vbHRpcDogYCR7dGhpcy5saXRlcmFscy5pbnNlcnRMaW5rfSAoQ3RybCArIEspYCxcbiAgICAgICAgYWN0aW9uOiAoKSA9PiB0aGlzLnJpY2hUZXh0TGlua01vZGFsLm9wZW5Nb2RhbCh0aGlzLnNlbGVjdGVkTGlua0VsZW1lbnQpXG4gICAgICB9XG4gICAgXTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnJlbW92ZUJ1dHRvbkZvY3VzKCk7XG4gICAgdGhpcy5zZXRDb2xvckluQ29sb3JQaWNrZXIocG9SaWNoVGV4dERlZmF1bHRDb2xvcik7XG4gIH1cblxuICBjaGFuZ2VUZXh0Q29sb3IodmFsdWUpIHtcbiAgICBjb25zdCBjb21tYW5kID0gJ2ZvcmVDb2xvcic7XG5cbiAgICB0aGlzLmNvbW1hbmQuZW1pdCh7IGNvbW1hbmQsIHZhbHVlIH0pO1xuICB9XG5cbiAgZW1pdExpbmtFZGl0aW5nKGlzTGlua0VkaXQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmxpbmtFZGl0aW5nLmVtaXQoaXNMaW5rRWRpdCk7XG4gIH1cblxuICBzZWxlY3RlZExpbmsoc2VsZWN0ZWRMaW5rRWxlbWVudCkge1xuICAgIHRoaXMuc2VsZWN0ZWRMaW5rRWxlbWVudCA9IHNlbGVjdGVkTGlua0VsZW1lbnQ7XG4gIH1cblxuICBzZXRCdXR0b25zU3RhdGVzKG9iajogeyBjb21tYW5kczogQXJyYXk8c3RyaW5nPjsgaGV4Q29sb3I6IHN0cmluZyB9KSB7XG4gICAgaWYgKCF0aGlzLnJlYWRvbmx5KSB7XG4gICAgICB0aGlzLmFsaWduQnV0dG9ucy5mb3JFYWNoKGJ1dHRvbiA9PiAoYnV0dG9uLnNlbGVjdGVkID0gb2JqLmNvbW1hbmRzLmluY2x1ZGVzKGJ1dHRvbi5jb21tYW5kKSkpO1xuICAgICAgdGhpcy5mb3JtYXRCdXR0b25zLmZvckVhY2goYnV0dG9uID0+IChidXR0b24uc2VsZWN0ZWQgPSBvYmouY29tbWFuZHMuaW5jbHVkZXMoYnV0dG9uLmNvbW1hbmQpKSk7XG4gICAgICB0aGlzLmxpc3RCdXR0b25zWzBdLnNlbGVjdGVkID0gb2JqLmNvbW1hbmRzLmluY2x1ZGVzKHRoaXMubGlzdEJ1dHRvbnNbMF0uY29tbWFuZCk7XG4gICAgICB0aGlzLmxpbmtCdXR0b25zWzBdLnNlbGVjdGVkID0gb2JqLmNvbW1hbmRzLmluY2x1ZGVzKHRoaXMubGlua0J1dHRvbnNbMF0uY29tbWFuZCk7XG4gICAgICB0aGlzLnNldENvbG9ySW5Db2xvclBpY2tlcihvYmouaGV4Q29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIHNob3J0Y3V0VHJpZ2dlcigpIHtcbiAgICB0aGlzLnJpY2hUZXh0TGlua01vZGFsLm9wZW5Nb2RhbCh0aGlzLnNlbGVjdGVkTGlua0VsZW1lbnQpO1xuICB9XG5cbiAgZW1pdENvbW1hbmQoY29tbWFuZDogc3RyaW5nKSB7XG4gICAgdGhpcy5jb21tYW5kLmVtaXQoY29tbWFuZCk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRBbGlnbkNvbW1hbmQoY29tbWFuZDogc3RyaW5nKSB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmFsaWduQnV0dG9ucy5maW5kSW5kZXgoYnRuID0+IGJ0bi5jb21tYW5kID09PSBjb21tYW5kKTtcblxuICAgIGlmICghdGhpcy5hbGlnbkJ1dHRvbnNbaW5kZXhdLnNlbGVjdGVkKSB7XG4gICAgICB0aGlzLmFsaWduQnV0dG9uc1tpbmRleF0uc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbW1hbmQuZW1pdChjb21tYW5kKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlQnV0dG9uRm9jdXMoKSB7XG4gICAgY29uc3QgYnV0dG9ucyA9IHRoaXMudG9vbGJhckVsZW1lbnQubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdidXR0b24nKTtcblxuICAgIGJ1dHRvbnMuZm9yRWFjaChidXR0b24gPT4gYnV0dG9uLnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnLTEnKSk7XG4gIH1cblxuICBwcml2YXRlIHNldENvbG9ySW5Db2xvclBpY2tlcihjb2xvcjogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb2xvclBpY2tlcklucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBjb2xvcjtcbiAgfVxuXG4gIHByaXZhdGUgdG9nZ2xlRGlzYWJsZUJ1dHRvbnMoc3RhdGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmFsaWduQnV0dG9ucy5mb3JFYWNoKGJ1dHRvbiA9PiAoYnV0dG9uLmRpc2FibGVkID0gc3RhdGUpKTtcbiAgICB0aGlzLmZvcm1hdEJ1dHRvbnMuZm9yRWFjaChidXR0b24gPT4gKGJ1dHRvbi5kaXNhYmxlZCA9IHN0YXRlKSk7XG4gICAgdGhpcy5saXN0QnV0dG9uc1swXS5kaXNhYmxlZCA9IHN0YXRlO1xuICAgIHRoaXMubGlua0J1dHRvbnNbMF0uZGlzYWJsZWQgPSBzdGF0ZTtcbiAgICB0aGlzLm1lZGlhQnV0dG9uc1swXS5kaXNhYmxlZCA9IHN0YXRlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicG8tcmljaC10ZXh0LXRvb2xiYXJcIiAjdG9vbGJhckVsZW1lbnQ+XG4gIDxkaXYgY2xhc3M9XCJwby1yaWNoLXRleHQtdG9vbGJhci1idXR0b24tYWxpZ25cIiBkYXRhLXJpY2gtdGV4dC10b29sYmFyPVwiZm9ybWF0XCI+XG4gICAgPHBvLWJ1dHRvbi1ncm91cCBwLXRvZ2dsZT1cIm11bHRpcGxlXCIgW3AtYnV0dG9uc109XCJmb3JtYXRCdXR0b25zXCI+IDwvcG8tYnV0dG9uLWdyb3VwPlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwiIWlzSW50ZXJuZXRFeHBsb3JlclwiIGNsYXNzPVwicG8tcmljaC10ZXh0LXRvb2xiYXItYnV0dG9uLWFsaWduXCIgZGF0YS1yaWNoLXRleHQtdG9vbGJhcj1cImNvbG9yXCI+XG4gICAgPGRpdiBjbGFzcz1cInBvLXJpY2gtdGV4dC10b29sYmFyLWNvbG9yLXBpY2tlci1jb250YWluZXJcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJwby1idXR0b24gcG8tYnV0dG9uLWRlZmF1bHQgcG8tcmljaC10ZXh0LXRvb2xiYXItY29sb3ItcGlja2VyLWJ1dHRvblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJyZWFkb25seVwiXG4gICAgICAgIFtwLXRvb2x0aXBdPVwibGl0ZXJhbHMudGV4dENvbG9yXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsaXRlcmFscy50ZXh0Q29sb3JcIlxuICAgICAgPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAjY29sb3JQaWNrZXJJbnB1dFxuICAgICAgICAgIGNsYXNzPVwicG8tcmljaC10ZXh0LXRvb2xiYXItY29sb3ItcGlja2VyLWlucHV0XCJcbiAgICAgICAgICB0eXBlPVwiY29sb3JcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJyZWFkb25seVwiXG4gICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2VUZXh0Q29sb3IoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGl0ZXJhbHMudGV4dENvbG9yXCJcbiAgICAgICAgLz5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2ICpuZ0lmPVwiIWRpc2FibGVkVGV4dEFsaWduXCIgY2xhc3M9XCJwby1yaWNoLXRleHQtdG9vbGJhci1idXR0b24tYWxpZ25cIiBkYXRhLXJpY2gtdGV4dC10b29sYmFyPVwiYWxpZ25cIj5cbiAgICA8cG8tYnV0dG9uLWdyb3VwIHAtdG9nZ2xlPVwic2luZ2xlXCIgW3AtYnV0dG9uc109XCJhbGlnbkJ1dHRvbnNcIj4gPC9wby1idXR0b24tZ3JvdXA+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJwby1yaWNoLXRleHQtdG9vbGJhci1idXR0b24tYWxpZ25cIiBkYXRhLXJpY2gtdGV4dC10b29sYmFyPVwibGlzdFwiPlxuICAgIDxwby1idXR0b24tZ3JvdXAgcC10b2dnbGU9XCJzaW5nbGVcIiBbcC1idXR0b25zXT1cImxpc3RCdXR0b25zXCI+IDwvcG8tYnV0dG9uLWdyb3VwPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwicG8tcmljaC10ZXh0LXRvb2xiYXItYnV0dG9uLWFsaWduXCIgZGF0YS1yaWNoLXRleHQtdG9vbGJhcj1cImxpbmtcIj5cbiAgICA8cG8tYnV0dG9uLWdyb3VwIFtwLWJ1dHRvbnNdPVwibGlua0J1dHRvbnNcIj4gPC9wby1idXR0b24tZ3JvdXA+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJwby1yaWNoLXRleHQtdG9vbGJhci1idXR0b24tYWxpZ25cIiBkYXRhLXJpY2gtdGV4dC10b29sYmFyPVwibWVkaWFcIj5cbiAgICA8cG8tYnV0dG9uLWdyb3VwIFtwLWJ1dHRvbnNdPVwibWVkaWFCdXR0b25zXCI+IDwvcG8tYnV0dG9uLWdyb3VwPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48cG8tcmljaC10ZXh0LWltYWdlLW1vZGFsICNyaWNoVGV4dEltYWdlTW9kYWwgKHAtY29tbWFuZCk9XCJlbWl0Q29tbWFuZCgkZXZlbnQpXCI+IDwvcG8tcmljaC10ZXh0LWltYWdlLW1vZGFsPlxuXG48cG8tcmljaC10ZXh0LWxpbmstbW9kYWxcbiAgI3JpY2hUZXh0TGlua01vZGFsXG4gIChwLWNvbW1hbmQpPVwiZW1pdENvbW1hbmQoJGV2ZW50KVwiXG4gIChwLWxpbmstZWRpdGluZyk9XCJlbWl0TGlua0VkaXRpbmcoJGV2ZW50KVwiXG4+XG48L3BvLXJpY2gtdGV4dC1saW5rLW1vZGFsPlxuIl19
|
|
278
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcmljaC10ZXh0LXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWZpZWxkL3BvLXJpY2gtdGV4dC9wby1yaWNoLXRleHQtdG9vbGJhci9wby1yaWNoLXRleHQtdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tZmllbGQvcG8tcmljaC10ZXh0L3BvLXJpY2gtdGV4dC10b29sYmFyL3BvLXJpY2gtdGV4dC10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0csT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSTlDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQy9HLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7Ozs7Ozs7SUNKMUcsK0JBQTBHLGNBQUEsaUJBQUEsb0JBQUE7SUFjbEcsOEtBQVUsZUFBQSwyQ0FBb0MsQ0FBQSxJQUFDO0lBTGpELGlCQU9FLEVBQUEsRUFBQSxFQUFBOzs7SUFYRixlQUFxQjtJQUFyQiwwQ0FBcUIsd0NBQUE7SUFFckIsdURBQXNDO0lBTXBDLGVBQXFCO0lBQXJCLDBDQUFxQjtJQUVyQix1REFBc0M7OztJQU05QywrQkFBeUc7SUFDdkcscUNBQWlGO0lBQ25GLGlCQUFNOzs7SUFEK0IsZUFBMEI7SUFBMUIsK0NBQTBCOztB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RFI7WUFHbkMsaUJBQTBCOztZQWhEZSxlQUEyQjtZQUEzQiw2Q0FBMkI7WUFHNUQsZUFBeUI7WUFBekIsOENBQXlCO1lBcUJ6QixlQUF3QjtZQUF4Qiw2Q0FBd0I7WUFLTyxlQUF5QjtZQUF6QiwyQ0FBeUI7WUFJM0MsZUFBeUI7WUFBekIsMkNBQXlCO1lBSXpCLGVBQTBCO1lBQTFCLDRDQUEwQjs7O3VGRHRCbEMsMEJBQTBCO2NBSnRDLFNBQVM7MkJBQ0Usc0JBQXNCO29FQUlxQixnQkFBZ0I7a0JBQXBFLFNBQVM7bUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBRUosY0FBYztrQkFBNUQsU0FBUzttQkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFFZSxrQkFBa0I7a0JBQTdFLFNBQVM7bUJBQUMsNkJBQTZCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBRUMsaUJBQWlCO2tCQUEzRSxTQUFTO21CQUFDLDRCQUE0QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUVwQyxPQUFPO2tCQUEzQixNQUFNO21CQUFDLFdBQVc7WUFFQSxLQUFLO2tCQUF2QixNQUFNO21CQUFDLFNBQVM7WUFFUyxXQUFXO2tCQUFwQyxNQUFNO21CQUFDLGdCQUFnQjtZQWtCWSxpQkFBaUI7a0JBQXBELEtBQUs7bUJBQUMsdUJBQXVCO1lBUUwsUUFBUTtrQkFBaEMsS0FBSzttQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBpc0lFIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvdXRpbCc7XG5pbXBvcnQgeyBQb0xhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3BvLWxhbmd1YWdlL3BvLWxhbmd1YWdlLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBQb0J1dHRvbkdyb3VwSXRlbSB9IGZyb20gJy4uLy4uLy4uL3BvLWJ1dHRvbi1ncm91cCc7XG5pbXBvcnQgeyBwb1JpY2hUZXh0TGl0ZXJhbHNEZWZhdWx0IH0gZnJvbSAnLi4vcG8tcmljaC10ZXh0LWxpdGVyYWxzJztcbmltcG9ydCB7IFBvUmljaFRleHRUb29sYmFyQnV0dG9uR3JvdXBJdGVtIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wby1yaWNoLXRleHQtdG9vbGJhci1idXR0b24tZ3JvdXAtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9SaWNoVGV4dEltYWdlTW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi9wby1yaWNoLXRleHQtaW1hZ2UtbW9kYWwvcG8tcmljaC10ZXh0LWltYWdlLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb1JpY2hUZXh0TGlua01vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vcG8tcmljaC10ZXh0LWxpbmstbW9kYWwvcG8tcmljaC10ZXh0LWxpbmstbW9kYWwuY29tcG9uZW50JztcblxuY29uc3QgcG9SaWNoVGV4dERlZmF1bHRDb2xvciA9ICcjMDAwMDAwJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tcmljaC10ZXh0LXRvb2xiYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tcmljaC10ZXh0LXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBvUmljaFRleHRUb29sYmFyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2NvbG9yUGlja2VySW5wdXQnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgY29sb3JQaWNrZXJJbnB1dDogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCd0b29sYmFyRWxlbWVudCcsIHsgc3RhdGljOiB0cnVlIH0pIHRvb2xiYXJFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoUG9SaWNoVGV4dEltYWdlTW9kYWxDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHJpY2hUZXh0SW1hZ2VNb2RhbDogUG9SaWNoVGV4dEltYWdlTW9kYWxDb21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZChQb1JpY2hUZXh0TGlua01vZGFsQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSByaWNoVGV4dExpbmtNb2RhbDogUG9SaWNoVGV4dExpbmtNb2RhbENvbXBvbmVudDtcblxuICBAT3V0cHV0KCdwLWNvbW1hbmQnKSBjb21tYW5kID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCB7IGNvbW1hbmQ6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9PigpO1xuXG4gIEBPdXRwdXQoJ3AtbW9kYWwnKSBtb2RhbCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBPdXRwdXQoJ3AtbGluay1lZGl0aW5nJykgbGlua0VkaXRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICByZWFkb25seSBsaXRlcmFscz86IGFueTtcblxuICBhbGlnbkJ1dHRvbnM6IEFycmF5PFBvUmljaFRleHRUb29sYmFyQnV0dG9uR3JvdXBJdGVtPjtcblxuICBmb3JtYXRCdXR0b25zOiBBcnJheTxQb1JpY2hUZXh0VG9vbGJhckJ1dHRvbkdyb3VwSXRlbT47XG5cbiAgbGlzdEJ1dHRvbnM6IEFycmF5PFBvUmljaFRleHRUb29sYmFyQnV0dG9uR3JvdXBJdGVtPjtcblxuICBsaW5rQnV0dG9uczogQXJyYXk8UG9SaWNoVGV4dFRvb2xiYXJCdXR0b25Hcm91cEl0ZW0+O1xuXG4gIG1lZGlhQnV0dG9uczogQXJyYXk8UG9CdXR0b25Hcm91cEl0ZW0+O1xuXG4gIHByaXZhdGUgX2Rpc2FibGVkVGV4dEFsaWduOiBib29sZWFuO1xuICBwcml2YXRlIF9yZWFkb25seTogYm9vbGVhbjtcbiAgcHJpdmF0ZSBzZWxlY3RlZExpbmtFbGVtZW50O1xuXG4gIEBJbnB1dCgncC1kaXNhYmxlZC10ZXh0LWFsaWduJykgc2V0IGRpc2FibGVkVGV4dEFsaWduKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWRUZXh0QWxpZ24gPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCBkaXNhYmxlZFRleHRBbGlnbigpIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWRUZXh0QWxpZ247XG4gIH1cblxuICBASW5wdXQoJ3AtcmVhZG9ubHknKSBzZXQgcmVhZG9ubHkodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZWFkb25seSA9IHZhbHVlO1xuICAgIHRoaXMudG9nZ2xlRGlzYWJsZUJ1dHRvbnModGhpcy5fcmVhZG9ubHkpO1xuICB9XG5cbiAgZ2V0IHJlYWRvbmx5KCkge1xuICAgIHJldHVybiB0aGlzLl9yZWFkb25seTtcbiAgfVxuXG4gIGdldCBpc0ludGVybmV0RXhwbG9yZXIoKSB7XG4gICAgcmV0dXJuIGlzSUUoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbGFuZ3VhZ2VTZXJ2aWNlOiBQb0xhbmd1YWdlU2VydmljZSkge1xuICAgIHRoaXMubGl0ZXJhbHMgPSB7XG4gICAgICAuLi5wb1JpY2hUZXh0TGl0ZXJhbHNEZWZhdWx0W3RoaXMubGFuZ3VhZ2VTZXJ2aWNlPy5nZXRTaG9ydExhbmd1YWdlKCldXG4gICAgfTtcbiAgICB0aGlzLmFsaWduQnV0dG9ucyA9IFtcbiAgICAgIHtcbiAgICAgICAgY29tbWFuZDogJ2p1c3RpZnlsZWZ0JyxcbiAgICAgICAgaWNvbjogJ3BvLWljb24tYWxpZ24tbGVmdCcsXG4gICAgICAgIHRvb2x0aXA6IHRoaXMubGl0ZXJhbHMubGVmdCxcbiAgICAgICAgYWN0aW9uOiB0aGlzLmVtaXRBbGlnbkNvbW1hbmQuYmluZCh0aGlzLCAnanVzdGlmeWxlZnQnKSxcbiAgICAgICAgc2VsZWN0ZWQ6IHRydWVcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvbW1hbmQ6ICdqdXN0aWZ5Y2VudGVyJyxcbiAgICAgICAgaWNvbjogJ3BvLWljb24tYWxpZ24tY2VudGVyJyxcbiAgICAgICAgdG9vbHRpcDogdGhpcy5saXRlcmFscy5jZW50ZXIsXG4gICAgICAgIGFjdGlvbjogdGhpcy5lbWl0QWxpZ25Db21tYW5kLmJpbmQodGhpcywgJ2p1c3RpZnljZW50ZXInKVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29tbWFuZDogJ2p1c3RpZnlyaWdodCcsXG4gICAgICAgIGljb246ICdwby1pY29uLWFsaWduLXJpZ2h0JyxcbiAgICAgICAgdG9vbHRpcDogdGhpcy5saXRlcmFscy5yaWdodCxcbiAgICAgICAgYWN0aW9uOiB0aGlzLmVtaXRBbGlnbkNvbW1hbmQuYmluZCh0aGlzLCAnanVzdGlmeXJpZ2h0JylcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGNvbW1hbmQ6ICdqdXN0aWZ5ZnVsbCcsXG4gICAgICAgIGljb246ICdwby1pY29uLWFsaWduLWp1c3RpZnknLFxuICAgICAgICB0b29sdGlwOiB0aGlzLmxpdGVyYWxzLmp1c3RpZnksXG4gICAgICAgIGFjdGlvbjogdGhpcy5lbWl0QWxpZ25Db21tYW5kLmJpbmQodGhpcywgJ2p1c3RpZnlmdWxsJylcbiAgICAgIH1cbiAgICBdO1xuXG4gICAgdGhpcy5mb3JtYXRCdXR0b25zID0gW1xuICAgICAge1xuICAgICAgICBjb21tYW5kOiAnYm9sZCcsXG4gICAgICAgIGljb246ICdwby1pY29uLXRleHQtYm9sZCcsXG4gICAgICAgIHRvb2x0aXA6IHRoaXMubGl0ZXJhbHMuYm9sZCxcbiAgICAgICAgYWN0aW9uOiB0aGlzLmVtaXRDb21tYW5kLmJpbmQodGhpcywgJ2JvbGQnKVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29tbWFuZDogJ2l0YWxpYycsXG4gICAgICAgIGljb246ICdwby1pY29uLXRleHQtaXRhbGljJyxcbiAgICAgICAgdG9vbHRpcDogdGhpcy5saXRlcmFscy5pdGFsaWMsXG4gICAgICAgIGFjdGlvbjogdGhpcy5lbWl0Q29tbWFuZC5iaW5kKHRoaXMsICdpdGFsaWMnKVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29tbWFuZDogJ3VuZGVybGluZScsXG4gICAgICAgIGljb246ICdwby1pY29uLXRleHQtdW5kZXJsaW5lJyxcbiAgICAgICAgdG9vbHRpcDogdGhpcy5saXRlcmFscy51bmRlcmxpbmUsXG4gICAgICAgIGFjdGlvbjogdGhpcy5lbWl0Q29tbWFuZC5iaW5kKHRoaXMsICd1bmRlcmxpbmUnKVxuICAgICAgfVxuICAgIF07XG5cbiAgICB0aGlzLmxpc3RCdXR0b25zID0gW1xuICAgICAge1xuICAgICAgICBjb21tYW5kOiAnaW5zZXJ0VW5vcmRlcmVkTGlzdCcsXG4gICAgICAgIGljb246ICdwby1pY29uLWxpc3QnLFxuICAgICAgICB0b29sdGlwOiB0aGlzLmxpdGVyYWxzLnVub3JkZXJlZExpc3QsXG4gICAgICAgIGFjdGlvbjogdGhpcy5lbWl0Q29tbWFuZC5iaW5kKHRoaXMsICdpbnNlcnRVbm9yZGVyZWRMaXN0JylcbiAgICAgIH1cbiAgICBdO1xuXG4gICAgdGhpcy5tZWRpYUJ1dHRvbnMgPSBbXG4gICAgICB7XG4gICAgICAgIHRvb2x0aXA6IHRoaXMubGl0ZXJhbHMuaW5zZXJ0SW1hZ2UsXG4gICAgICAgIGljb246ICdwby1pY29uLXBpY3R1cmUnLFxuICAgICAgICBhY3Rpb246ICgpID0+IHRoaXMucmljaFRleHRJbWFnZU1vZGFsLm9wZW5Nb2RhbCgpXG4gICAgICB9XG4gICAgXTtcblxuICAgIHRoaXMubGlua0J1dHRvbnMgPSBbXG4gICAgICB7XG4gICAgICAgIGNvbW1hbmQ6ICdDcmVhdGVsaW5rJyxcbiAgICAgICAgaWNvbjogJ3BvLWljb24tbGluaycsXG4gICAgICAgIHRvb2x0aXA6IGAke3RoaXMubGl0ZXJhbHMuaW5zZXJ0TGlua30gKEN0cmwgKyBLKWAsXG4gICAgICAgIGFjdGlvbjogKCkgPT4gdGhpcy5yaWNoVGV4dExpbmtNb2RhbC5vcGVuTW9kYWwodGhpcy5zZWxlY3RlZExpbmtFbGVtZW50KVxuICAgICAgfVxuICAgIF07XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5yZW1vdmVCdXR0b25Gb2N1cygpO1xuICAgIHRoaXMuc2V0Q29sb3JJbkNvbG9yUGlja2VyKHBvUmljaFRleHREZWZhdWx0Q29sb3IpO1xuICB9XG5cbiAgY2hhbmdlVGV4dENvbG9yKHZhbHVlKSB7XG4gICAgY29uc3QgY29tbWFuZCA9ICdmb3JlQ29sb3InO1xuXG4gICAgdGhpcy5jb21tYW5kLmVtaXQoeyBjb21tYW5kLCB2YWx1ZSB9KTtcbiAgfVxuXG4gIGVtaXRMaW5rRWRpdGluZyhpc0xpbmtFZGl0OiBib29sZWFuKSB7XG4gICAgdGhpcy5saW5rRWRpdGluZy5lbWl0KGlzTGlua0VkaXQpO1xuICB9XG5cbiAgc2VsZWN0ZWRMaW5rKHNlbGVjdGVkTGlua0VsZW1lbnQpIHtcbiAgICB0aGlzLnNlbGVjdGVkTGlua0VsZW1lbnQgPSBzZWxlY3RlZExpbmtFbGVtZW50O1xuICB9XG5cbiAgc2V0QnV0dG9uc1N0YXRlcyhvYmo6IHsgY29tbWFuZHM6IEFycmF5PHN0cmluZz47IGhleENvbG9yOiBzdHJpbmcgfSkge1xuICAgIGlmICghdGhpcy5yZWFkb25seSkge1xuICAgICAgdGhpcy5hbGlnbkJ1dHRvbnMuZm9yRWFjaChidXR0b24gPT4gKGJ1dHRvbi5zZWxlY3RlZCA9IG9iai5jb21tYW5kcy5pbmNsdWRlcyhidXR0b24uY29tbWFuZCkpKTtcbiAgICAgIHRoaXMuZm9ybWF0QnV0dG9ucy5mb3JFYWNoKGJ1dHRvbiA9PiAoYnV0dG9uLnNlbGVjdGVkID0gb2JqLmNvbW1hbmRzLmluY2x1ZGVzKGJ1dHRvbi5jb21tYW5kKSkpO1xuICAgICAgdGhpcy5saXN0QnV0dG9uc1swXS5zZWxlY3RlZCA9IG9iai5jb21tYW5kcy5pbmNsdWRlcyh0aGlzLmxpc3RCdXR0b25zWzBdLmNvbW1hbmQpO1xuICAgICAgdGhpcy5saW5rQnV0dG9uc1swXS5zZWxlY3RlZCA9IG9iai5jb21tYW5kcy5pbmNsdWRlcyh0aGlzLmxpbmtCdXR0b25zWzBdLmNvbW1hbmQpO1xuICAgICAgdGhpcy5zZXRDb2xvckluQ29sb3JQaWNrZXIob2JqLmhleENvbG9yKTtcbiAgICB9XG4gIH1cblxuICBzaG9ydGN1dFRyaWdnZXIoKSB7XG4gICAgdGhpcy5yaWNoVGV4dExpbmtNb2RhbC5vcGVuTW9kYWwodGhpcy5zZWxlY3RlZExpbmtFbGVtZW50KTtcbiAgfVxuXG4gIGVtaXRDb21tYW5kKGNvbW1hbmQ6IHN0cmluZykge1xuICAgIHRoaXMuY29tbWFuZC5lbWl0KGNvbW1hbmQpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0QWxpZ25Db21tYW5kKGNvbW1hbmQ6IHN0cmluZykge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5hbGlnbkJ1dHRvbnMuZmluZEluZGV4KGJ0biA9PiBidG4uY29tbWFuZCA9PT0gY29tbWFuZCk7XG5cbiAgICBpZiAoIXRoaXMuYWxpZ25CdXR0b25zW2luZGV4XS5zZWxlY3RlZCkge1xuICAgICAgdGhpcy5hbGlnbkJ1dHRvbnNbaW5kZXhdLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5jb21tYW5kLmVtaXQoY29tbWFuZCk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUJ1dHRvbkZvY3VzKCkge1xuICAgIGNvbnN0IGJ1dHRvbnMgPSB0aGlzLnRvb2xiYXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnYnV0dG9uJyk7XG5cbiAgICBidXR0b25zLmZvckVhY2goYnV0dG9uID0+IGJ1dHRvbi5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJy0xJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb2xvckluQ29sb3JQaWNrZXIoY29sb3I6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY29sb3JQaWNrZXJJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gY29sb3I7XG4gIH1cblxuICBwcml2YXRlIHRvZ2dsZURpc2FibGVCdXR0b25zKHN0YXRlOiBib29sZWFuKSB7XG4gICAgdGhpcy5hbGlnbkJ1dHRvbnMuZm9yRWFjaChidXR0b24gPT4gKGJ1dHRvbi5kaXNhYmxlZCA9IHN0YXRlKSk7XG4gICAgdGhpcy5mb3JtYXRCdXR0b25zLmZvckVhY2goYnV0dG9uID0+IChidXR0b24uZGlzYWJsZWQgPSBzdGF0ZSkpO1xuICAgIHRoaXMubGlzdEJ1dHRvbnNbMF0uZGlzYWJsZWQgPSBzdGF0ZTtcbiAgICB0aGlzLmxpbmtCdXR0b25zWzBdLmRpc2FibGVkID0gc3RhdGU7XG4gICAgdGhpcy5tZWRpYUJ1dHRvbnNbMF0uZGlzYWJsZWQgPSBzdGF0ZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBvLXJpY2gtdGV4dC10b29sYmFyXCIgI3Rvb2xiYXJFbGVtZW50PlxuICA8ZGl2IGNsYXNzPVwicG8tcmljaC10ZXh0LXRvb2xiYXItYnV0dG9uLWFsaWduXCIgZGF0YS1yaWNoLXRleHQtdG9vbGJhcj1cImZvcm1hdFwiPlxuICAgIDxwby1idXR0b24tZ3JvdXAgcC10b2dnbGU9XCJtdWx0aXBsZVwiIFtwLWJ1dHRvbnNdPVwiZm9ybWF0QnV0dG9uc1wiPiA8L3BvLWJ1dHRvbi1ncm91cD5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cIiFpc0ludGVybmV0RXhwbG9yZXJcIiBjbGFzcz1cInBvLXJpY2gtdGV4dC10b29sYmFyLWJ1dHRvbi1hbGlnblwiIGRhdGEtcmljaC10ZXh0LXRvb2xiYXI9XCJjb2xvclwiPlxuICAgIDxkaXYgY2xhc3M9XCJwby1yaWNoLXRleHQtdG9vbGJhci1jb2xvci1waWNrZXItY29udGFpbmVyXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInBvLWJ1dHRvbiBwby1idXR0b24tZGVmYXVsdCBwby1yaWNoLXRleHQtdG9vbGJhci1jb2xvci1waWNrZXItYnV0dG9uXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCJcbiAgICAgICAgW3AtdG9vbHRpcF09XCJsaXRlcmFscy50ZXh0Q29sb3JcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxpdGVyYWxzLnRleHRDb2xvclwiXG4gICAgICA+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICNjb2xvclBpY2tlcklucHV0XG4gICAgICAgICAgY2xhc3M9XCJwby1yaWNoLXRleHQtdG9vbGJhci1jb2xvci1waWNrZXItaW5wdXRcIlxuICAgICAgICAgIHR5cGU9XCJjb2xvclwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAoY2hhbmdlKT1cImNoYW5nZVRleHRDb2xvcigkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsaXRlcmFscy50ZXh0Q29sb3JcIlxuICAgICAgICAvPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCIhZGlzYWJsZWRUZXh0QWxpZ25cIiBjbGFzcz1cInBvLXJpY2gtdGV4dC10b29sYmFyLWJ1dHRvbi1hbGlnblwiIGRhdGEtcmljaC10ZXh0LXRvb2xiYXI9XCJhbGlnblwiPlxuICAgIDxwby1idXR0b24tZ3JvdXAgcC10b2dnbGU9XCJzaW5nbGVcIiBbcC1idXR0b25zXT1cImFsaWduQnV0dG9uc1wiPiA8L3BvLWJ1dHRvbi1ncm91cD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInBvLXJpY2gtdGV4dC10b29sYmFyLWJ1dHRvbi1hbGlnblwiIGRhdGEtcmljaC10ZXh0LXRvb2xiYXI9XCJsaXN0XCI+XG4gICAgPHBvLWJ1dHRvbi1ncm91cCBwLXRvZ2dsZT1cInNpbmdsZVwiIFtwLWJ1dHRvbnNdPVwibGlzdEJ1dHRvbnNcIj4gPC9wby1idXR0b24tZ3JvdXA+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJwby1yaWNoLXRleHQtdG9vbGJhci1idXR0b24tYWxpZ25cIiBkYXRhLXJpY2gtdGV4dC10b29sYmFyPVwibGlua1wiPlxuICAgIDxwby1idXR0b24tZ3JvdXAgW3AtYnV0dG9uc109XCJsaW5rQnV0dG9uc1wiPiA8L3BvLWJ1dHRvbi1ncm91cD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInBvLXJpY2gtdGV4dC10b29sYmFyLWJ1dHRvbi1hbGlnblwiIGRhdGEtcmljaC10ZXh0LXRvb2xiYXI9XCJtZWRpYVwiPlxuICAgIDxwby1idXR0b24tZ3JvdXAgW3AtYnV0dG9uc109XCJtZWRpYUJ1dHRvbnNcIj4gPC9wby1idXR0b24tZ3JvdXA+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxwby1yaWNoLXRleHQtaW1hZ2UtbW9kYWwgI3JpY2hUZXh0SW1hZ2VNb2RhbCAocC1jb21tYW5kKT1cImVtaXRDb21tYW5kKCRldmVudClcIj4gPC9wby1yaWNoLXRleHQtaW1hZ2UtbW9kYWw+XG5cbjxwby1yaWNoLXRleHQtbGluay1tb2RhbFxuICAjcmljaFRleHRMaW5rTW9kYWxcbiAgKHAtY29tbWFuZCk9XCJlbWl0Q29tbWFuZCgkZXZlbnQpXCJcbiAgKHAtbGluay1lZGl0aW5nKT1cImVtaXRMaW5rRWRpdGluZygkZXZlbnQpXCJcbj5cbjwvcG8tcmljaC10ZXh0LWxpbmstbW9kYWw+XG4iXX0=
|
|
@@ -181,9 +181,9 @@ export class PoItemListComponent extends PoItemListBaseComponent {
|
|
|
181
181
|
}
|
|
182
182
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoItemListComponent, [{
|
|
183
183
|
type: Component,
|
|
184
|
-
args: [{ selector: 'po-item-list', template: "<ng-container [ngSwitch]=\"type\" (keydown)=\"onCheckboxItemEmit($event)\">\n <div\n *ngSwitchDefault\n #itemList\n [class.po-item-list__separator]=\"separator\"\n [class.po-item-list__disabled]=\"disabled || !visible\"\n [class.po-item-list__selected]=\"selected && !disabled\"\n [attr.aria-disabled]=\"disabled || !visible\"\n [attr.aria-label]=\"label\"\n [class.po-item-list__danger]=\"danger\"\n class=\"po-item-list po-item-list__action\"\n >\n <po-icon *ngIf=\"icon\" class=\"po-popup-icon-item po-icon\" [p-icon]=\"icon\"></po-icon>\n <span class=\"po-item-list-label\">{{ label }}</span>\n </div>\n <div\n *ngSwitchCase=\"'option'\"\n #itemList\n class=\"po-item-list po-item-list__option\"\n [class.po-item-list__separator]=\"separator\"\n [class.po-item-list__selected]=\"selected && !disabled\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-label]=\"label\"\n (click)=\"onComboItem(item, $event)\"\n >\n <span *ngIf=\"!template\" class=\"po-item-list-label\" [innerHTML]=\"getLabelFormatted(label)\"></span>\n\n <ng-template [ngTemplateOutlet]=\"template?.templateRef\" [ngTemplateOutletContext]=\"{ $implicit: templateContext }\">\n </ng-template>\n </div>\n\n <div\n *ngSwitchCase=\"'check'\"\n class=\"po-item-list po-item-list__check\"\n [class.po-item-list__separator]=\"separator\"\n [class.po-item-list__selected]=\"selected && !disabled\"\n [class.po-item-list__disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-label]=\"label\"\n (click)=\"onCheckboxItem()\"\n (keydown)=\"onCheckboxItemEmit($event)\"\n (keyup)=\"onCheckboxItemEmit($event)\"\n >\n <po-checkbox\n [p-disabled-tabindex]=\"true\"\n [p-checkboxValue]=\"checkboxValue === null ? 'mixed' : checkboxValue\"\n [p-disabled]=\"disabled\"\n (p-change)=\"onSelectItem({label})\"\n ></po-checkbox>\n\n <span class=\"po-item-list__label\" *ngIf=\"!template\">{{ label }}</span>\n\n <ng-template [ngTemplateOutlet]=\"template?.templateRef\" [ngTemplateOutletContext]=\"{ $implicit: templateContext }\">\n </ng-template>\n </div>\n</ng-container>\n" }]
|
|
184
|
+
args: [{ selector: 'po-item-list', template: "<ng-container [ngSwitch]=\"type\" (keydown)=\"onCheckboxItemEmit($event)\">\n <div\n *ngSwitchDefault\n #itemList\n [class.po-item-list__separator]=\"separator\"\n [class.po-item-list__disabled]=\"disabled || !visible\"\n [class.po-item-list__selected]=\"selected && !disabled\"\n [attr.aria-disabled]=\"disabled || !visible\"\n [attr.aria-label]=\"label\"\n [class.po-item-list__danger]=\"danger\"\n class=\"po-item-list po-item-list__action\"\n >\n <po-icon *ngIf=\"icon\" class=\"po-popup-icon-item po-icon\" [p-icon]=\"icon\"></po-icon>\n <span class=\"po-item-list-label\">{{ label }}</span>\n </div>\n\n <div\n *ngSwitchCase=\"'option'\"\n #itemList\n class=\"po-item-list po-item-list__option\"\n [class.po-item-list__separator]=\"separator\"\n [class.po-item-list__selected]=\"selected && !disabled\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-label]=\"label\"\n (click)=\"onComboItem(item, $event)\"\n >\n <span *ngIf=\"!template\" class=\"po-item-list-label\" [innerHTML]=\"getLabelFormatted(label)\"></span>\n\n <ng-template [ngTemplateOutlet]=\"template?.templateRef\" [ngTemplateOutletContext]=\"{ $implicit: templateContext }\">\n </ng-template>\n </div>\n\n <div\n *ngSwitchCase=\"'check'\"\n class=\"po-item-list po-item-list__check\"\n [class.po-item-list__separator]=\"separator\"\n [class.po-item-list__selected]=\"selected && !disabled\"\n [class.po-item-list__disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled\"\n [attr.aria-label]=\"label\"\n (click)=\"onCheckboxItem()\"\n (keydown)=\"onCheckboxItemEmit($event)\"\n (keyup)=\"onCheckboxItemEmit($event)\"\n >\n <po-checkbox\n [p-disabled-tabindex]=\"true\"\n [p-checkboxValue]=\"checkboxValue === null ? 'mixed' : checkboxValue\"\n [p-disabled]=\"disabled\"\n (p-change)=\"onSelectItem({label})\"\n ></po-checkbox>\n\n <span class=\"po-item-list__label\" *ngIf=\"!template\">{{ label }}</span>\n\n <ng-template [ngTemplateOutlet]=\"template?.templateRef\" [ngTemplateOutletContext]=\"{ $implicit: templateContext }\">\n </ng-template>\n </div>\n</ng-container>\n" }]
|
|
185
185
|
}], function () { return [{ type: i1.DomSanitizer }]; }, { itemList: [{
|
|
186
186
|
type: ViewChild,
|
|
187
187
|
args: ['itemList', { static: true }]
|
|
188
188
|
}] }); })();
|
|
189
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8taXRlbS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1saXN0Ym94L3BvLWl0ZW0tbGlzdC9wby1pdGVtLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWxpc3Rib3gvcG8taXRlbS1saXN0L3BvLWl0ZW0tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU1qRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7Ozs7SUNLMUUsNkJBQW1GOzs7SUFBMUIsb0NBQWU7OztJQVgxRSxpQ0FVQztJQUNDLGtGQUFtRjtJQUNuRiwrQkFBaUM7SUFBQSxZQUFXO0lBQUEsaUJBQU8sRUFBQTs7O0lBVG5ELDJEQUEyQyw4REFBQSwrREFBQSx1Q0FBQTtJQUczQyxtRUFBMkMsNEJBQUE7SUFLakMsZUFBVTtJQUFWLGtDQUFVO0lBQ2EsZUFBVztJQUFYLGtDQUFXOzs7SUFZNUMsMkJBQWlHOzs7SUFBOUMscUZBQXNDOzs7Ozs7SUFWM0YsaUNBU0M7SUFEQyxtS0FBUyxlQUFBLHVDQUF5QixDQUFBLElBQUM7SUFFbkMsNkVBQWlHO0lBRWpHLDJGQUNjO0lBQ2hCLGlCQUFNOzs7SUFWSiwyREFBMkMsK0RBQUE7SUFFM0MsZ0RBQStCLDRCQUFBO0lBSXhCLGVBQWU7SUFBZix1Q0FBZTtJQUVULGVBQTBDO0lBQTFDLCtGQUEwQywrRUFBQTs7O0lBdUJ2RCxnQ0FBb0Q7SUFBQSxZQUFXO0lBQUEsaUJBQU87OztJQUFsQixlQUFX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WUFBWSxHQUFHLFlBQVksQ0FBQztxQkFDbEU7b0JBQ0QsTUFBTTthQUNUO1NBQ0Y7UUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixPQUFPLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQy9GLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8sZUFBZSxDQUFDLFFBQWdCLEVBQUU7UUFDeEMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlELENBQUM7NkVBL0ZVLG1CQUFtQjs2REFBbkIsbUJBQW1COzs7Ozs7WUNiaEMsZ0NBQXVFO1lBQXZDLGdIQUFXLDhCQUEwQixJQUFDO1lBQ3BFLHFFQWFNO1lBQ04scUVBY007WUFFTixxRUF1Qk07WUFDUiwwQkFBZTs7WUF2REQsbUNBQWlCO1lBZ0IxQixlQUFzQjtZQUF0Qix1Q0FBc0I7WUFnQnRCLGVBQXFCO1lBQXJCLHNDQUFxQjs7O3VGRG5CYixtQkFBbUI7Y0FKL0IsU0FBUzsyQkFDRSxjQUFjOytEQUlpQixRQUFRO2tCQUFoRCxTQUFTO21CQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuaW1wb3J0IHsgUG9JdGVtTGlzdE9wdGlvbkdyb3VwIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLWl0ZW0tbGlzdC1vcHRpb24tZ3JvdXAuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvSXRlbUxpc3RPcHRpb24gfSBmcm9tICcuL2ludGVyZmFjZXMvcG8taXRlbS1saXN0LW9wdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9JdGVtTGlzdEJhc2VDb21wb25lbnQgfSBmcm9tICcuL3BvLWl0ZW0tbGlzdC1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb0l0ZW1MaXN0RmlsdGVyTW9kZSB9IGZyb20gJy4uL2VudW1zL3BvLWl0ZW0tbGlzdC1maWx0ZXItbW9kZS5lbnVtJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8taXRlbS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvLWl0ZW0tbGlzdC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUG9JdGVtTGlzdENvbXBvbmVudCBleHRlbmRzIFBvSXRlbUxpc3RCYXNlQ29tcG9uZW50IHtcbiAgQFZpZXdDaGlsZCgnaXRlbUxpc3QnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpdGVtTGlzdDogRWxlbWVudFJlZjtcblxuICBzZWxlY3RlZFZpZXc6IFBvSXRlbUxpc3RPcHRpb247XG5cbiAgcHJvdGVjdGVkIHBhcmFtO1xuICBwcm90ZWN0ZWQgY2xpY2tMaXN0ZW5lcjogKCkgPT4gdm9pZDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplZDogRG9tU2FuaXRpemVyKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG9uU2VsZWN0SXRlbShpdGVtTGlzdE9wdGlvbjogUG9JdGVtTGlzdE9wdGlvbiB8IFBvSXRlbUxpc3RPcHRpb25Hcm91cCB8IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRWaWV3ID0gaXRlbUxpc3RPcHRpb247XG4gICAgdGhpcy5zZWxlY3RJdGVtLmVtaXQoaXRlbUxpc3RPcHRpb24pO1xuICB9XG5cbiAgb25DaGVja2JveEl0ZW0oKSB7XG4gICAgY29uc3Qgb3B0aW9uID0geyBbdGhpcy5maWVsZFZhbHVlXTogdGhpcy52YWx1ZSwgW3RoaXMuZmllbGRMYWJlbF06IHRoaXMubGFiZWwgfTtcbiAgICBjb25zdCBzZWxlY3RlZCA9ICF0aGlzLmNoZWNrYm94VmFsdWU7XG4gICAgdGhpcy5jaGVja2JveEl0ZW0uZW1pdCh7IG9wdGlvbiwgc2VsZWN0ZWQgfSk7XG4gIH1cblxuICBvbkNvbWJvSXRlbShvcHRpb25zOiBhbnksIGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBvcHRpb24gPSB7IFt0aGlzLmZpZWxkVmFsdWVdOiB0aGlzLnZhbHVlLCBbdGhpcy5maWVsZExhYmVsXTogdGhpcy5sYWJlbCB9O1xuICAgIHRoaXMuc2VsZWN0ZWRWaWV3ID0gb3B0aW9ucztcbiAgICB0aGlzLmNvbWJvSXRlbS5lbWl0KHsgLi4ub3B0aW9uLCBldmVudCB9KTtcbiAgfVxuXG4gIGNvbXBhcmVPYmplY3RzKG9iajE6IGFueSwgb2JqMjogYW55KSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iajEpID09PSBKU09OLnN0cmluZ2lmeShvYmoyKTtcbiAgfVxuXG4gIG9uQ2hlY2tib3hJdGVtRW1pdChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICgoZXZlbnQgJiYgZXZlbnQuY29kZSA9PT0gJ0VudGVyJykgfHwgZXZlbnQuY29kZSA9PT0gJ1NwYWNlJykge1xuICAgICAgdGhpcy5vbkNoZWNrYm94SXRlbSgpO1xuICAgIH1cbiAgfVxuXG4gIGdldExhYmVsRm9ybWF0dGVkKGxhYmVsOiBzdHJpbmcpOiBTYWZlSHRtbCB7XG4gICAgY29uc3Qgc2FuaXRpemVkTGFiZWwgPSB0aGlzLnNhbml0aXplVGFnSFRNTChsYWJlbCk7XG4gICAgbGV0IGZvcm1hdDogc3RyaW5nID0gc2FuaXRpemVkTGFiZWw7XG5cbiAgICBpZiAodGhpcy5pc0ZpbHRlcmluZyB8fCB0aGlzLnZhbGlkYXRlRm9yT3B0aW9uc0xhYmVsKCkpIHtcbiAgICAgIGNvbnN0IGxhYmVsSW5wdXQgPSB0aGlzLnNhbml0aXplVGFnSFRNTCh0aGlzLnNlYXJjaFZhbHVlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSk7XG4gICAgICBjb25zdCBsYWJlbExvd2VyQ2FzZSA9IHNhbml0aXplZExhYmVsLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgIGNvbnN0IG9wZW5UYWdCb2xkID0gJzxzcGFuIGNsYXNzPVwicG8tZm9udC10ZXh0LWxhcmdlLWJvbGRcIj4nO1xuICAgICAgY29uc3QgY2xvc2VUYWdCb2xkID0gJzwvc3Bhbj4nO1xuXG4gICAgICBsZXQgc3RhcnRTdHJpbmc7XG4gICAgICBsZXQgbWlkZGxlU3RyaW5nO1xuICAgICAgbGV0IGVuZFN0cmluZztcblxuICAgICAgc3dpdGNoICh0aGlzLmZpbHRlck1vZGUpIHtcbiAgICAgICAgY2FzZSBQb0l0ZW1MaXN0RmlsdGVyTW9kZS5zdGFydHNXaXRoOlxuICAgICAgICBjYXNlIFBvSXRlbUxpc3RGaWx0ZXJNb2RlLmNvbnRhaW5zOlxuICAgICAgICAgIGNvbnN0IGluZGV4T2ZMYWJlbElucHV0ID0gbGFiZWxMb3dlckNhc2UuaW5kZXhPZihsYWJlbElucHV0KTtcblxuICAgICAgICAgIGlmIChpbmRleE9mTGFiZWxJbnB1dCA+IC0xKSB7XG4gICAgICAgICAgICBzdGFydFN0cmluZyA9IHNhbml0aXplZExhYmVsLnN1YnN0cmluZygwLCBpbmRleE9mTGFiZWxJbnB1dCk7XG5cbiAgICAgICAgICAgIG1pZGRsZVN0cmluZyA9IHNhbml0aXplZExhYmVsLnN1YnN0cmluZyhpbmRleE9mTGFiZWxJbnB1dCwgaW5kZXhPZkxhYmVsSW5wdXQgKyBsYWJlbElucHV0Lmxlbmd0aCk7XG4gICAgICAgICAgICBlbmRTdHJpbmcgPSBzYW5pdGl6ZWRMYWJlbC5zdWJzdHJpbmcoaW5kZXhPZkxhYmVsSW5wdXQgKyBsYWJlbElucHV0Lmxlbmd0aCk7XG5cbiAgICAgICAgICAgIGZvcm1hdCA9IHN0YXJ0U3RyaW5nICsgb3BlblRhZ0JvbGQgKyBtaWRkbGVTdHJpbmcgKyBjbG9zZVRhZ0JvbGQgKyBlbmRTdHJpbmc7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgUG9JdGVtTGlzdEZpbHRlck1vZGUuZW5kc1dpdGg6XG4gICAgICAgICAgY29uc3QgbGFzdEluZGV4T2ZMYWJlbElucHV0ID0gbGFiZWxMb3dlckNhc2UubGFzdEluZGV4T2YobGFiZWxJbnB1dCk7XG5cbiAgICAgICAgICBpZiAobGFzdEluZGV4T2ZMYWJlbElucHV0ID4gLTEpIHtcbiAgICAgICAgICAgIHN0YXJ0U3RyaW5nID0gc2FuaXRpemVkTGFiZWwuc3Vic3RyaW5nKDAsIGxhc3RJbmRleE9mTGFiZWxJbnB1dCk7XG4gICAgICAgICAgICBtaWRkbGVTdHJpbmcgPSBzYW5pdGl6ZWRMYWJlbC5zdWJzdHJpbmcobGFzdEluZGV4T2ZMYWJlbElucHV0KTtcblxuICAgICAgICAgICAgZm9ybWF0ID0gc3RhcnRTdHJpbmcgKyBvcGVuVGFnQm9sZCArIG1pZGRsZVN0cmluZyArIGNsb3NlVGFnQm9sZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2FmZUh0bWwoZm9ybWF0KTtcbiAgfVxuXG4gIHZhbGlkYXRlRm9yT3B0aW9uc0xhYmVsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbWJvU2VydmljZSAmJiB0aGlzLnNlYXJjaFZhbHVlICYmICF0aGlzLmNvbXBhcmVDYWNoZSAmJiB0aGlzLnNob3VsZE1hcmtMZXR0ZXJzO1xuICB9XG5cbiAgc2FmZUh0bWwodmFsdWUpOiBTYWZlSHRtbCB7XG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVkLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgc2FuaXRpemVUYWdIVE1MKHZhbHVlOiBzdHJpbmcgPSAnJykge1xuICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9cXDwvZ20sICcmbHQ7JykucmVwbGFjZSgvXFw+L2csICcmZ3Q7Jyk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInR5cGVcIiAoa2V5ZG93bik9XCJvbkNoZWNrYm94SXRlbUVtaXQoJGV2ZW50KVwiPlxuICA8ZGl2XG4gICAgKm5nU3dpdGNoRGVmYXVsdFxuICAgICNpdGVtTGlzdFxuICAgIFtjbGFzcy5wby1pdGVtLWxpc3RfX3NlcGFyYXRvcl09XCJzZXBhcmF0b3JcIlxuICAgIFtjbGFzcy5wby1pdGVtLWxpc3RfX2Rpc2FibGVkXT1cImRpc2FibGVkIHx8ICF2aXNpYmxlXCJcbiAgICBbY2xhc3MucG8taXRlbS1saXN0X19zZWxlY3RlZF09XCJzZWxlY3RlZCAmJiAhZGlzYWJsZWRcIlxuICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgIXZpc2libGVcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWxcIlxuICAgIFtjbGFzcy5wby1pdGVtLWxpc3RfX2Rhbmdlcl09XCJkYW5nZXJcIlxuICAgIGNsYXNzPVwicG8taXRlbS1saXN0IHBvLWl0ZW0tbGlzdF9fYWN0aW9uXCJcbiAgPlxuICAgIDxwby1pY29uICpuZ0lmPVwiaWNvblwiIGNsYXNzPVwicG8tcG9wdXAtaWNvbi1pdGVtIHBvLWljb25cIiBbcC1pY29uXT1cImljb25cIj48L3BvLWljb24+XG4gICAgPHNwYW4gY2xhc3M9XCJwby1pdGVtLWxpc3QtbGFiZWxcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ29wdGlvbidcIlxuICAgICNpdGVtTGlzdFxuICAgIGNsYXNzPVwicG8taXRlbS1saXN0IHBvLWl0ZW0tbGlzdF9fb3B0aW9uXCJcbiAgICBbY2xhc3MucG8taXRlbS1saXN0X19zZXBhcmF0b3JdPVwic2VwYXJhdG9yXCJcbiAgICBbY2xhc3MucG8taXRlbS1saXN0X19zZWxlY3RlZF09XCJzZWxlY3RlZCAmJiAhZGlzYWJsZWRcIlxuICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWxcIlxuICAgIChjbGljayk9XCJvbkNvbWJvSXRlbShpdGVtLCAkZXZlbnQpXCJcbiAgPlxuICAgIDxzcGFuICpuZ0lmPVwiIXRlbXBsYXRlXCIgY2xhc3M9XCJwby1pdGVtLWxpc3QtbGFiZWxcIiBbaW5uZXJIVE1MXT1cImdldExhYmVsRm9ybWF0dGVkKGxhYmVsKVwiPjwvc3Bhbj5cblxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZT8udGVtcGxhdGVSZWZcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHRlbXBsYXRlQ29udGV4dCB9XCI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgICpuZ1N3aXRjaENhc2U9XCInY2hlY2snXCJcbiAgICBjbGFzcz1cInBvLWl0ZW0tbGlzdCBwby1pdGVtLWxpc3RfX2NoZWNrXCJcbiAgICBbY2xhc3MucG8taXRlbS1saXN0X19zZXBhcmF0b3JdPVwic2VwYXJhdG9yXCJcbiAgICBbY2xhc3MucG8taXRlbS1saXN0X19zZWxlY3RlZF09XCJzZWxlY3RlZCAmJiAhZGlzYWJsZWRcIlxuICAgIFtjbGFzcy5wby1pdGVtLWxpc3RfX2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsXCJcbiAgICAoY2xpY2spPVwib25DaGVja2JveEl0ZW0oKVwiXG4gICAgKGtleWRvd24pPVwib25DaGVja2JveEl0ZW1FbWl0KCRldmVudClcIlxuICAgIChrZXl1cCk9XCJvbkNoZWNrYm94SXRlbUVtaXQoJGV2ZW50KVwiXG4gID5cbiAgICA8cG8tY2hlY2tib3hcbiAgICAgIFtwLWRpc2FibGVkLXRhYmluZGV4XT1cInRydWVcIlxuICAgICAgW3AtY2hlY2tib3hWYWx1ZV09XCJjaGVja2JveFZhbHVlID09PSBudWxsID8gJ21peGVkJyA6IGNoZWNrYm94VmFsdWVcIlxuICAgICAgW3AtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKHAtY2hhbmdlKT1cIm9uU2VsZWN0SXRlbSh7bGFiZWx9KVwiXG4gICAgPjwvcG8tY2hlY2tib3g+XG5cbiAgICA8c3BhbiBjbGFzcz1cInBvLWl0ZW0tbGlzdF9fbGFiZWxcIiAqbmdJZj1cIiF0ZW1wbGF0ZVwiPnt7IGxhYmVsIH19PC9zcGFuPlxuXG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlPy50ZW1wbGF0ZVJlZlwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogdGVtcGxhdGVDb250ZXh0IH1cIj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8taXRlbS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1saXN0Ym94L3BvLWl0ZW0tbGlzdC9wby1pdGVtLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWxpc3Rib3gvcG8taXRlbS1saXN0L3BvLWl0ZW0tbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUtqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7Ozs7SUNNMUUsNkJBQW1GOzs7SUFBMUIsb0NBQWU7OztJQVgxRSxpQ0FVQztJQUNDLGtGQUFtRjtJQUNuRiwrQkFBaUM7SUFBQSxZQUFXO0lBQUEsaUJBQU8sRUFBQTs7O0lBVG5ELDJEQUEyQyw4REFBQSwrREFBQSx1Q0FBQTtJQUczQyxtRUFBMkMsNEJBQUE7SUFLakMsZUFBVTtJQUFWLGtDQUFVO0lBQ2EsZUFBVztJQUFYLGtDQUFXOzs7SUFhNUMsMkJBQWlHOzs7SUFBOUMscUZBQXNDOzs7Ozs7SUFWM0YsaUNBU0M7SUFEQyxtS0FBUyxlQUFBLHVDQUF5QixDQUFBLElBQUM7SUFFbkMsNkVBQWlHO0lBRWpHLDJGQUNjO0lBQ2hCLGlCQUFNOzs7SUFWSiwyREFBMkMsK0RBQUE7SUFFM0MsZ0RBQStCLDRCQUFBO0lBSXhCLGVBQWU7SUFBZix1Q0FBZTtJQUVULGVBQTBDO0lBQTFDLCtGQUEwQywrRUFBQTs7O0lBdUJ2RCxnQ0FBb0Q7SUFBQSxZQUFXO0lBQUEsaUJBQU87OztJQUFsQixlQUFX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WUFBWSxHQUFHLFlBQVksQ0FBQztxQkFDbEU7b0JBQ0QsTUFBTTthQUNUO1NBQ0Y7UUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixPQUFPLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQy9GLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8sZUFBZSxDQUFDLFFBQWdCLEVBQUU7UUFDeEMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlELENBQUM7NkVBL0ZVLG1CQUFtQjs2REFBbkIsbUJBQW1COzs7Ozs7WUNaaEMsZ0NBQXVFO1lBQXZDLGdIQUFXLDhCQUEwQixJQUFDO1lBQ3BFLHFFQWFNO1lBRU4scUVBY007WUFFTixxRUF1Qk07WUFDUiwwQkFBZTs7WUF4REQsbUNBQWlCO1lBaUIxQixlQUFzQjtZQUF0Qix1Q0FBc0I7WUFnQnRCLGVBQXFCO1lBQXJCLHNDQUFxQjs7O3VGRHJCYixtQkFBbUI7Y0FKL0IsU0FBUzsyQkFDRSxjQUFjOytEQUlpQixRQUFRO2tCQUFoRCxTQUFTO21CQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQgeyBQb0l0ZW1MaXN0T3B0aW9uR3JvdXAgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8taXRlbS1saXN0LW9wdGlvbi1ncm91cC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9JdGVtTGlzdE9wdGlvbiB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby1pdGVtLWxpc3Qtb3B0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0l0ZW1MaXN0QmFzZUNvbXBvbmVudCB9IGZyb20gJy4vcG8taXRlbS1saXN0LWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IFBvSXRlbUxpc3RGaWx0ZXJNb2RlIH0gZnJvbSAnLi4vZW51bXMvcG8taXRlbS1saXN0LWZpbHRlci1tb2RlLmVudW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1pdGVtLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8taXRlbS1saXN0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQb0l0ZW1MaXN0Q29tcG9uZW50IGV4dGVuZHMgUG9JdGVtTGlzdEJhc2VDb21wb25lbnQge1xuICBAVmlld0NoaWxkKCdpdGVtTGlzdCcsIHsgc3RhdGljOiB0cnVlIH0pIGl0ZW1MaXN0OiBFbGVtZW50UmVmO1xuXG4gIHNlbGVjdGVkVmlldzogUG9JdGVtTGlzdE9wdGlvbjtcblxuICBwcm90ZWN0ZWQgcGFyYW07XG4gIHByb3RlY3RlZCBjbGlja0xpc3RlbmVyOiAoKSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVkOiBEb21TYW5pdGl6ZXIpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgb25TZWxlY3RJdGVtKGl0ZW1MaXN0T3B0aW9uOiBQb0l0ZW1MaXN0T3B0aW9uIHwgUG9JdGVtTGlzdE9wdGlvbkdyb3VwIHwgYW55KTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFZpZXcgPSBpdGVtTGlzdE9wdGlvbjtcbiAgICB0aGlzLnNlbGVjdEl0ZW0uZW1pdChpdGVtTGlzdE9wdGlvbik7XG4gIH1cblxuICBvbkNoZWNrYm94SXRlbSgpIHtcbiAgICBjb25zdCBvcHRpb24gPSB7IFt0aGlzLmZpZWxkVmFsdWVdOiB0aGlzLnZhbHVlLCBbdGhpcy5maWVsZExhYmVsXTogdGhpcy5sYWJlbCB9O1xuICAgIGNvbnN0IHNlbGVjdGVkID0gIXRoaXMuY2hlY2tib3hWYWx1ZTtcbiAgICB0aGlzLmNoZWNrYm94SXRlbS5lbWl0KHsgb3B0aW9uLCBzZWxlY3RlZCB9KTtcbiAgfVxuXG4gIG9uQ29tYm9JdGVtKG9wdGlvbnM6IGFueSwgZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IG9wdGlvbiA9IHsgW3RoaXMuZmllbGRWYWx1ZV06IHRoaXMudmFsdWUsIFt0aGlzLmZpZWxkTGFiZWxdOiB0aGlzLmxhYmVsIH07XG4gICAgdGhpcy5zZWxlY3RlZFZpZXcgPSBvcHRpb25zO1xuICAgIHRoaXMuY29tYm9JdGVtLmVtaXQoeyAuLi5vcHRpb24sIGV2ZW50IH0pO1xuICB9XG5cbiAgY29tcGFyZU9iamVjdHMob2JqMTogYW55LCBvYmoyOiBhbnkpIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqMSkgPT09IEpTT04uc3RyaW5naWZ5KG9iajIpO1xuICB9XG5cbiAgb25DaGVja2JveEl0ZW1FbWl0KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKChldmVudCAmJiBldmVudC5jb2RlID09PSAnRW50ZXInKSB8fCBldmVudC5jb2RlID09PSAnU3BhY2UnKSB7XG4gICAgICB0aGlzLm9uQ2hlY2tib3hJdGVtKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0TGFiZWxGb3JtYXR0ZWQobGFiZWw6IHN0cmluZyk6IFNhZmVIdG1sIHtcbiAgICBjb25zdCBzYW5pdGl6ZWRMYWJlbCA9IHRoaXMuc2FuaXRpemVUYWdIVE1MKGxhYmVsKTtcbiAgICBsZXQgZm9ybWF0OiBzdHJpbmcgPSBzYW5pdGl6ZWRMYWJlbDtcblxuICAgIGlmICh0aGlzLmlzRmlsdGVyaW5nIHx8IHRoaXMudmFsaWRhdGVGb3JPcHRpb25zTGFiZWwoKSkge1xuICAgICAgY29uc3QgbGFiZWxJbnB1dCA9IHRoaXMuc2FuaXRpemVUYWdIVE1MKHRoaXMuc2VhcmNoVmFsdWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgIGNvbnN0IGxhYmVsTG93ZXJDYXNlID0gc2FuaXRpemVkTGFiZWwudG9Mb3dlckNhc2UoKTtcblxuICAgICAgY29uc3Qgb3BlblRhZ0JvbGQgPSAnPHNwYW4gY2xhc3M9XCJwby1mb250LXRleHQtbGFyZ2UtYm9sZFwiPic7XG4gICAgICBjb25zdCBjbG9zZVRhZ0JvbGQgPSAnPC9zcGFuPic7XG5cbiAgICAgIGxldCBzdGFydFN0cmluZztcbiAgICAgIGxldCBtaWRkbGVTdHJpbmc7XG4gICAgICBsZXQgZW5kU3RyaW5nO1xuXG4gICAgICBzd2l0Y2ggKHRoaXMuZmlsdGVyTW9kZSkge1xuICAgICAgICBjYXNlIFBvSXRlbUxpc3RGaWx0ZXJNb2RlLnN0YXJ0c1dpdGg6XG4gICAgICAgIGNhc2UgUG9JdGVtTGlzdEZpbHRlck1vZGUuY29udGFpbnM6XG4gICAgICAgICAgY29uc3QgaW5kZXhPZkxhYmVsSW5wdXQgPSBsYWJlbExvd2VyQ2FzZS5pbmRleE9mKGxhYmVsSW5wdXQpO1xuXG4gICAgICAgICAgaWYgKGluZGV4T2ZMYWJlbElucHV0ID4gLTEpIHtcbiAgICAgICAgICAgIHN0YXJ0U3RyaW5nID0gc2FuaXRpemVkTGFiZWwuc3Vic3RyaW5nKDAsIGluZGV4T2ZMYWJlbElucHV0KTtcblxuICAgICAgICAgICAgbWlkZGxlU3RyaW5nID0gc2FuaXRpemVkTGFiZWwuc3Vic3RyaW5nKGluZGV4T2ZMYWJlbElucHV0LCBpbmRleE9mTGFiZWxJbnB1dCArIGxhYmVsSW5wdXQubGVuZ3RoKTtcbiAgICAgICAgICAgIGVuZFN0cmluZyA9IHNhbml0aXplZExhYmVsLnN1YnN0cmluZyhpbmRleE9mTGFiZWxJbnB1dCArIGxhYmVsSW5wdXQubGVuZ3RoKTtcblxuICAgICAgICAgICAgZm9ybWF0ID0gc3RhcnRTdHJpbmcgKyBvcGVuVGFnQm9sZCArIG1pZGRsZVN0cmluZyArIGNsb3NlVGFnQm9sZCArIGVuZFN0cmluZztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBQb0l0ZW1MaXN0RmlsdGVyTW9kZS5lbmRzV2l0aDpcbiAgICAgICAgICBjb25zdCBsYXN0SW5kZXhPZkxhYmVsSW5wdXQgPSBsYWJlbExvd2VyQ2FzZS5sYXN0SW5kZXhPZihsYWJlbElucHV0KTtcblxuICAgICAgICAgIGlmIChsYXN0SW5kZXhPZkxhYmVsSW5wdXQgPiAtMSkge1xuICAgICAgICAgICAgc3RhcnRTdHJpbmcgPSBzYW5pdGl6ZWRMYWJlbC5zdWJzdHJpbmcoMCwgbGFzdEluZGV4T2ZMYWJlbElucHV0KTtcbiAgICAgICAgICAgIG1pZGRsZVN0cmluZyA9IHNhbml0aXplZExhYmVsLnN1YnN0cmluZyhsYXN0SW5kZXhPZkxhYmVsSW5wdXQpO1xuXG4gICAgICAgICAgICBmb3JtYXQgPSBzdGFydFN0cmluZyArIG9wZW5UYWdCb2xkICsgbWlkZGxlU3RyaW5nICsgY2xvc2VUYWdCb2xkO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zYWZlSHRtbChmb3JtYXQpO1xuICB9XG5cbiAgdmFsaWRhdGVGb3JPcHRpb25zTGFiZWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29tYm9TZXJ2aWNlICYmIHRoaXMuc2VhcmNoVmFsdWUgJiYgIXRoaXMuY29tcGFyZUNhY2hlICYmIHRoaXMuc2hvdWxkTWFya0xldHRlcnM7XG4gIH1cblxuICBzYWZlSHRtbCh2YWx1ZSk6IFNhZmVIdG1sIHtcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZWQuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBzYW5pdGl6ZVRhZ0hUTUwodmFsdWU6IHN0cmluZyA9ICcnKSB7XG4gICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1xcPC9nbSwgJyZsdDsnKS5yZXBsYWNlKC9cXD4vZywgJyZndDsnKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwidHlwZVwiIChrZXlkb3duKT1cIm9uQ2hlY2tib3hJdGVtRW1pdCgkZXZlbnQpXCI+XG4gIDxkaXZcbiAgICAqbmdTd2l0Y2hEZWZhdWx0XG4gICAgI2l0ZW1MaXN0XG4gICAgW2NsYXNzLnBvLWl0ZW0tbGlzdF9fc2VwYXJhdG9yXT1cInNlcGFyYXRvclwiXG4gICAgW2NsYXNzLnBvLWl0ZW0tbGlzdF9fZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgIXZpc2libGVcIlxuICAgIFtjbGFzcy5wby1pdGVtLWxpc3RfX3NlbGVjdGVkXT1cInNlbGVjdGVkICYmICFkaXNhYmxlZFwiXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZCB8fCAhdmlzaWJsZVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbFwiXG4gICAgW2NsYXNzLnBvLWl0ZW0tbGlzdF9fZGFuZ2VyXT1cImRhbmdlclwiXG4gICAgY2xhc3M9XCJwby1pdGVtLWxpc3QgcG8taXRlbS1saXN0X19hY3Rpb25cIlxuICA+XG4gICAgPHBvLWljb24gKm5nSWY9XCJpY29uXCIgY2xhc3M9XCJwby1wb3B1cC1pY29uLWl0ZW0gcG8taWNvblwiIFtwLWljb25dPVwiaWNvblwiPjwvcG8taWNvbj5cbiAgICA8c3BhbiBjbGFzcz1cInBvLWl0ZW0tbGlzdC1sYWJlbFwiPnt7IGxhYmVsIH19PC9zcGFuPlxuICA8L2Rpdj5cblxuICA8ZGl2XG4gICAgKm5nU3dpdGNoQ2FzZT1cIidvcHRpb24nXCJcbiAgICAjaXRlbUxpc3RcbiAgICBjbGFzcz1cInBvLWl0ZW0tbGlzdCBwby1pdGVtLWxpc3RfX29wdGlvblwiXG4gICAgW2NsYXNzLnBvLWl0ZW0tbGlzdF9fc2VwYXJhdG9yXT1cInNlcGFyYXRvclwiXG4gICAgW2NsYXNzLnBvLWl0ZW0tbGlzdF9fc2VsZWN0ZWRdPVwic2VsZWN0ZWQgJiYgIWRpc2FibGVkXCJcbiAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImxhYmVsXCJcbiAgICAoY2xpY2spPVwib25Db21ib0l0ZW0oaXRlbSwgJGV2ZW50KVwiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cIiF0ZW1wbGF0ZVwiIGNsYXNzPVwicG8taXRlbS1saXN0LWxhYmVsXCIgW2lubmVySFRNTF09XCJnZXRMYWJlbEZvcm1hdHRlZChsYWJlbClcIj48L3NwYW4+XG5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGU/LnRlbXBsYXRlUmVmXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiB0ZW1wbGF0ZUNvbnRleHQgfVwiPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuXG4gIDxkaXZcbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NoZWNrJ1wiXG4gICAgY2xhc3M9XCJwby1pdGVtLWxpc3QgcG8taXRlbS1saXN0X19jaGVja1wiXG4gICAgW2NsYXNzLnBvLWl0ZW0tbGlzdF9fc2VwYXJhdG9yXT1cInNlcGFyYXRvclwiXG4gICAgW2NsYXNzLnBvLWl0ZW0tbGlzdF9fc2VsZWN0ZWRdPVwic2VsZWN0ZWQgJiYgIWRpc2FibGVkXCJcbiAgICBbY2xhc3MucG8taXRlbS1saXN0X19kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsYWJlbFwiXG4gICAgKGNsaWNrKT1cIm9uQ2hlY2tib3hJdGVtKClcIlxuICAgIChrZXlkb3duKT1cIm9uQ2hlY2tib3hJdGVtRW1pdCgkZXZlbnQpXCJcbiAgICAoa2V5dXApPVwib25DaGVja2JveEl0ZW1FbWl0KCRldmVudClcIlxuICA+XG4gICAgPHBvLWNoZWNrYm94XG4gICAgICBbcC1kaXNhYmxlZC10YWJpbmRleF09XCJ0cnVlXCJcbiAgICAgIFtwLWNoZWNrYm94VmFsdWVdPVwiY2hlY2tib3hWYWx1ZSA9PT0gbnVsbCA/ICdtaXhlZCcgOiBjaGVja2JveFZhbHVlXCJcbiAgICAgIFtwLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIChwLWNoYW5nZSk9XCJvblNlbGVjdEl0ZW0oe2xhYmVsfSlcIlxuICAgID48L3BvLWNoZWNrYm94PlxuXG4gICAgPHNwYW4gY2xhc3M9XCJwby1pdGVtLWxpc3RfX2xhYmVsXCIgKm5nSWY9XCIhdGVtcGxhdGVcIj57eyBsYWJlbCB9fTwvc3Bhbj5cblxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZT8udGVtcGxhdGVSZWZcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHRlbXBsYXRlQ29udGV4dCB9XCI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -66,6 +66,7 @@ function PoListBoxComponent_ng_container_4_li_4_Template(rf, ctx) { if (rf & 1)
|
|
|
66
66
|
} if (rf & 2) {
|
|
67
67
|
const item_r19 = ctx.$implicit;
|
|
68
68
|
const ctx_r15 = i0.ɵɵnextContext(2);
|
|
69
|
+
i0.ɵɵclassProp("po-listbox-item", ctx_r15.visible);
|
|
69
70
|
i0.ɵɵproperty("cdkOption", item_r19[ctx_r15.fieldLabel])("cdkOptionDisabled", ctx_r15.returnBooleanValue(item_r19, "disabled") || ctx_r15.returnBooleanValue(item_r19, "visible") === false || item_r19.options);
|
|
70
71
|
i0.ɵɵattribute("aria-selected", ctx_r15.isSelectedItem(item_r19) || item_r19.selected);
|
|
71
72
|
i0.ɵɵadvance(1);
|
|
@@ -77,7 +78,7 @@ function PoListBoxComponent_ng_container_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
77
78
|
i0.ɵɵelementContainerStart(0);
|
|
78
79
|
i0.ɵɵelementStart(1, "ul", 10, 11);
|
|
79
80
|
i0.ɵɵtemplate(3, PoListBoxComponent_ng_container_4_li_3_Template, 2, 4, "li", 12);
|
|
80
|
-
i0.ɵɵtemplate(4, PoListBoxComponent_ng_container_4_li_4_Template, 3,
|
|
81
|
+
i0.ɵɵtemplate(4, PoListBoxComponent_ng_container_4_li_4_Template, 3, 7, "li", 13);
|
|
81
82
|
i0.ɵɵelementEnd();
|
|
82
83
|
i0.ɵɵelementContainerEnd();
|
|
83
84
|
} if (rf & 2) {
|
|
@@ -292,7 +293,7 @@ export class PoListBoxComponent extends PoListBoxBaseComponent {
|
|
|
292
293
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.listbox = _t.first);
|
|
293
294
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.listboxItemList = _t.first);
|
|
294
295
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.searchElement = _t.first);
|
|
295
|
-
} }, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c4, decls: 12, vars: 8, consts: [[1, "po-listbox", 3, "hidden"], ["listbox", ""], [3, "p-literals", "p-field-value", "p-placeholder", "p-change", 4, "ngIf"], [4, "ngIf", "ngIfElse"], ["class", "po-text-center", 4, "ngIf"], ["scrollLoadingTemplate", ""], ["defaultLoadingTemplate", ""], ["noDataTemplate", ""], [3, "p-literals", "p-field-value", "p-placeholder", "p-change"], ["searchElement", ""], ["cdkListbox", "", 1, "po-listbox-list", 3, "cdkListboxMultiple"], ["listboxItemList", ""], ["cdkOption", "selectAll", 3, "click", "keydown", 4, "ngIf"], [
|
|
296
|
+
} }, features: [i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c4, decls: 12, vars: 8, consts: [[1, "po-listbox", 3, "hidden"], ["listbox", ""], [3, "p-literals", "p-field-value", "p-placeholder", "p-change", 4, "ngIf"], [4, "ngIf", "ngIfElse"], ["class", "po-text-center", 4, "ngIf"], ["scrollLoadingTemplate", ""], ["defaultLoadingTemplate", ""], ["noDataTemplate", ""], [3, "p-literals", "p-field-value", "p-placeholder", "p-change"], ["searchElement", ""], ["cdkListbox", "", 1, "po-listbox-list", 3, "cdkListboxMultiple"], ["listboxItemList", ""], ["cdkOption", "selectAll", 3, "click", "keydown", 4, "ngIf"], [3, "po-listbox-item", "cdkOption", "cdkOptionDisabled", "click", "keydown", 4, "ngFor", "ngForOf"], ["cdkOption", "selectAll", 3, "click", "keydown"], ["p-type", "check", "p-value", "selectAll", 3, "p-selected", "p-label", "p-checkbox-value"], [3, "cdkOption", "cdkOptionDisabled", "click", "keydown"], ["class", "po-combo-item-title", 4, "ngIf"], [3, "p-disabled", "p-visible", "p-checkbox-value", "p-label", "p-value", "p-selected", "p-separator", "p-danger", "p-icon", "p-type", "p-item", "p-field-value", "p-field-label", "p-template", "p-template-context", "p-search-value", "p-filter-mode", "p-filtering", "p-should-mark-letter", "p-compare-cache", "p-combo-service", "p-selectcheckbox-item", "p-selectcombo-item", "p-select-item", 4, "ngIf"], [1, "po-combo-item-title"], [3, "p-disabled", "p-visible", "p-checkbox-value", "p-label", "p-value", "p-selected", "p-separator", "p-danger", "p-icon", "p-type", "p-item", "p-field-value", "p-field-label", "p-template", "p-template-context", "p-search-value", "p-filter-mode", "p-filtering", "p-should-mark-letter", "p-compare-cache", "p-combo-service", "p-selectcheckbox-item", "p-selectcombo-item", "p-select-item"], [1, "po-text-center"], [4, "ngIf", "ngIfThen", "ngIfElse"], [1, "po-listbox-container-loading-scroll"], [1, "po-listbox-container-loading-default"], ["class", "po-listbox-container-no-data po-text-center", 4, "ngIf"], [1, "po-listbox-container-no-data", "po-text-center"]], template: function PoListBoxComponent_Template(rf, ctx) { if (rf & 1) {
|
|
296
297
|
i0.ɵɵprojectionDef(_c3);
|
|
297
298
|
i0.ɵɵelementStart(0, "div", 0, 1);
|
|
298
299
|
i0.ɵɵprojection(2);
|
|
@@ -318,7 +319,7 @@ export class PoListBoxComponent extends PoListBoxBaseComponent {
|
|
|
318
319
|
}
|
|
319
320
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoListBoxComponent, [{
|
|
320
321
|
type: Component,
|
|
321
|
-
args: [{ selector: 'po-listbox', template: "<div\n #listbox\n class=\"po-listbox\"\n [class.po-listbox-check]=\"type === 'check' || type === 'option'\"\n [attr.data-type]=\"type\"\n [hidden]=\"visible\"\n>\n <ng-content select=\"[p-popup-header-template]\"></ng-content>\n\n <po-search-list\n #searchElement\n *ngIf=\"!hideSearch && type === 'check'\"\n (p-change)=\"callChangeSearch($event)\"\n [p-literals]=\"literalSearch\"\n [p-field-value]=\"fieldValueSearch\"\n [p-placeholder]=\"placeholderSearch\"\n ></po-search-list>\n\n <ng-container *ngIf=\"checkTemplate(); else noDataTemplate\">\n <ul #listboxItemList cdkListbox [cdkListboxMultiple]=\"type === 'check'\" class=\"po-listbox-list\">\n <li\n cdkOption=\"selectAll\"\n *ngIf=\"type === 'check' && items.length && !searchElement?.inputValue && !hideSelectAll\"\n [attr.aria-checked]=\"checkboxAllValue === null ? 'mixed' : checkboxAllValue\"\n (click)=\"changeAll.emit()\"\n (keydown)=\"changeAllEmit($event)\"\n >\n <po-item-list\n [p-selected]=\"checkboxAllValue\"\n p-type=\"check\"\n [p-label]=\"literals.selectAll\"\n p-value=\"selectAll\"\n [p-checkbox-value]=\"checkboxAllValue\"\n >\n </po-item-list>\n </li>\n <li\n class
|
|
322
|
+
args: [{ selector: 'po-listbox', template: "<div\n #listbox\n class=\"po-listbox\"\n [class.po-listbox-check]=\"type === 'check' || type === 'option'\"\n [attr.data-type]=\"type\"\n [hidden]=\"visible\"\n>\n <ng-content select=\"[p-popup-header-template]\"></ng-content>\n\n <po-search-list\n #searchElement\n *ngIf=\"!hideSearch && type === 'check'\"\n (p-change)=\"callChangeSearch($event)\"\n [p-literals]=\"literalSearch\"\n [p-field-value]=\"fieldValueSearch\"\n [p-placeholder]=\"placeholderSearch\"\n ></po-search-list>\n\n <ng-container *ngIf=\"checkTemplate(); else noDataTemplate\">\n <ul #listboxItemList cdkListbox [cdkListboxMultiple]=\"type === 'check'\" class=\"po-listbox-list\">\n <li\n cdkOption=\"selectAll\"\n *ngIf=\"type === 'check' && items.length && !searchElement?.inputValue && !hideSelectAll\"\n [attr.aria-checked]=\"checkboxAllValue === null ? 'mixed' : checkboxAllValue\"\n (click)=\"changeAll.emit()\"\n (keydown)=\"changeAllEmit($event)\"\n >\n <po-item-list\n [p-selected]=\"checkboxAllValue\"\n p-type=\"check\"\n [p-label]=\"literals.selectAll\"\n p-value=\"selectAll\"\n [p-checkbox-value]=\"checkboxAllValue\"\n >\n </po-item-list>\n </li>\n <li\n [class.po-listbox-item]=\"visible\"\n *ngFor=\"let item of items\"\n [cdkOption]=\"item[fieldLabel]\"\n [cdkOptionDisabled]=\"\n returnBooleanValue(item, 'disabled') || returnBooleanValue(item, 'visible') === false || item.options\n \"\n [attr.aria-selected]=\"isSelectedItem(item) || item.selected\"\n (click)=\"onSelectItem(item)\"\n (keydown)=\"onKeyDown(item, $event)\"\n >\n <label *ngIf=\"item.options\" class=\"po-combo-item-title\">\n {{ item.label }}\n </label>\n <po-item-list\n *ngIf=\"returnBooleanValue(item, 'visible') !== false && !item.options\"\n [p-disabled]=\"returnBooleanValue(item, 'disabled')\"\n [p-visible]=\"returnBooleanValue(item, 'visible')\"\n [p-checkbox-value]=\"isSelectedItem(item)\"\n [attr.data-item-list]=\"item | json\"\n [p-label]=\"item[fieldLabel]\"\n [p-value]=\"item[fieldValue]\"\n [p-selected]=\"isSelectedItem(item) || item.selected\"\n [p-separator]=\"item.separator\"\n [p-danger]=\"item.danger || item.type === 'danger'\"\n [p-icon]=\"item.icon\"\n [p-type]=\"type\"\n [p-item]=\"item\"\n [p-field-value]=\"fieldValue\"\n [p-field-label]=\"fieldLabel\"\n [p-template]=\"template\"\n [p-template-context]=\"item\"\n (p-selectcheckbox-item)=\"checkboxClicked($event)\"\n (p-selectcombo-item)=\"optionClicked($event)\"\n (p-select-item)=\"onSelectCheckBoxItem(item)\"\n [p-search-value]=\"searchValue\"\n [p-filter-mode]=\"filterMode\"\n [p-filtering]=\"isFiltering\"\n [p-should-mark-letter]=\"shouldMarkLetters\"\n [p-compare-cache]=\"compareCache\"\n [p-combo-service]=\"comboService\"\n ></po-item-list>\n </li>\n </ul>\n </ng-container>\n\n <div *ngIf=\"isServerSearching && type !== 'action'\" class=\"po-text-center\">\n <ng-container *ngIf=\"infiniteLoading; then scrollLoadingTemplate; else defaultLoadingTemplate\"></ng-container>\n </div>\n\n <ng-template #scrollLoadingTemplate>\n <po-loading-overlay class=\"po-listbox-container-loading-scroll\"></po-loading-overlay>\n </ng-template>\n\n <ng-template #defaultLoadingTemplate>\n <po-loading class=\"po-listbox-container-loading-default\"></po-loading>\n </ng-template>\n\n <ng-template #noDataTemplate>\n <div\n *ngIf=\"!items.length && !isServerSearching && type !== 'action'\"\n class=\"po-listbox-container-no-data po-text-center\"\n >\n <span> {{ literals.noItems }}</span>\n </div>\n </ng-template>\n</div>\n" }]
|
|
322
323
|
}], function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.PoLanguageService }, { type: i2.Router }, { type: i0.ChangeDetectorRef }]; }, { listbox: [{
|
|
323
324
|
type: ViewChild,
|
|
324
325
|
args: ['listbox', { static: true }]
|
|
@@ -329,4 +330,4 @@ export class PoListBoxComponent extends PoListBoxBaseComponent {
|
|
|
329
330
|
type: ViewChild,
|
|
330
331
|
args: ['searchElement']
|
|
331
332
|
}] }); })();
|
|
332
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbGlzdGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tbGlzdGJveC9wby1saXN0Ym94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1saXN0Ym94L3BvLWxpc3Rib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLFNBQVMsRUFNVCxTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFLckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5RSxPQUFPLEVBQTRCLFlBQVksRUFBRSxTQUFTLEVBQVMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7OztJQ2I5RSw0Q0FPQztJQUpDLGdNQUFZLGVBQUEsZ0NBQXdCLENBQUEsSUFBQztJQUl0QyxpQkFBaUI7OztJQUhoQixpREFBNEIsMENBQUEsMkNBQUE7Ozs7SUFPMUIsOEJBTUM7SUFGQyw0S0FBUyxlQUFBLHdCQUFnQixDQUFBLElBQUMseUtBQ2YsZUFBQSw2QkFBcUIsQ0FBQSxJQUROO0lBRzFCLG1DQU9lO0lBQ2pCLGlCQUFLOzs7SUFaSCxzR0FBNEU7SUFLMUUsZUFBK0I7SUFBL0IscURBQStCLHVDQUFBLDhDQUFBOzs7SUFtQmpDLGlDQUF3RDtJQUN0RCxZQUNGO0lBQUEsaUJBQVE7OztJQUROLGVBQ0Y7SUFERSwrQ0FDRjs7OztJQUNBLHdDQTJCQztJQVRDLDJPQUF5QixlQUFBLCtCQUF1QixDQUFBLElBQUMsd05BQzNCLGVBQUEsNkJBQXFCLENBQUEsSUFETSx1UEFFaEMsZUFBQSxzQ0FBMEIsQ0FBQSxJQUZN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bkIsYUFBYTtrQkFBeEMsU0FBUzttQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgZm9yd2FyZFJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IFBvTGlzdEJveEJhc2VDb21wb25lbnQgfSBmcm9tICcuL3BvLWxpc3Rib3gtYmFzZS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBQb0l0ZW1MaXN0T3B0aW9uR3JvdXAgfSBmcm9tICcuL3BvLWl0ZW0tbGlzdC9pbnRlcmZhY2VzL3BvLWl0ZW0tbGlzdC1vcHRpb24tZ3JvdXAuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvSXRlbUxpc3RPcHRpb24gfSBmcm9tICcuL3BvLWl0ZW0tbGlzdC9pbnRlcmZhY2VzL3BvLWl0ZW0tbGlzdC1vcHRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcG8tbGFuZ3VhZ2UvcG8tbGFuZ3VhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBpc0V4dGVybmFsTGluaywgaXNUeXBlb2YsIG9wZW5FeHRlcm5hbExpbmsgfSBmcm9tICcuLi8uLi91dGlscy91dGlsJztcbmltcG9ydCB7IFBvU2VhcmNoTGlzdENvbXBvbmVudCB9IGZyb20gJy4vcG8tc2VhcmNoLWxpc3QvcG8tc2VhcmNoLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgZGVib3VuY2VUaW1lLCBmcm9tRXZlbnQsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLWxpc3Rib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tbGlzdGJveC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUG9MaXN0Qm94Q29tcG9uZW50IGV4dGVuZHMgUG9MaXN0Qm94QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnbGlzdGJveCcsIHsgc3RhdGljOiB0cnVlIH0pIGxpc3Rib3g6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ2xpc3Rib3hJdGVtTGlzdCcsIHsgc3RhdGljOiBmYWxzZSB9KSBsaXN0Ym94SXRlbUxpc3Q6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaEVsZW1lbnQnKSBzZWFyY2hFbGVtZW50OiBQb1NlYXJjaExpc3RDb21wb25lbnQ7XG5cbiAgcHJpdmF0ZSBzY3JvbGxFdmVudCQ6IE9ic2VydmFibGU8YW55PjtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25TY3JvbGxFdmVudDogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBsYW5ndWFnZVNlcnZpY2U6IFBvTGFuZ3VhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIobGFuZ3VhZ2VTZXJ2aWNlKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldExpc3RCb3hNYXhIZWlnaHQoKTtcbiAgICB0aGlzLmxpc3Rib3hJdGVtTGlzdD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlcz86IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcz8uaXRlbXMpIHtcbiAgICAgIHRoaXMuc2V0TGlzdEJveE1heEhlaWdodCgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZpc2libGUgJiYgdGhpcy5pbmZpbml0ZVNjcm9sbCkge1xuICAgICAgdGhpcy5jaGVja0luZmluaXRlU2Nyb2xsKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uU2Nyb2xsRXZlbnQgJiYgdGhpcy5zdWJzY3JpcHRpb25TY3JvbGxFdmVudC51bnN1YnNjcmliZSkge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25TY3JvbGxFdmVudC51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uU2VsZWN0SXRlbShpdGVtTGlzdEFjdGlvbjogUG9JdGVtTGlzdE9wdGlvbiB8IFBvSXRlbUxpc3RPcHRpb25Hcm91cCB8IGFueSkge1xuICAgIGNvbnN0IGlzRGlzYWJsZWQgPVxuICAgICAgaXRlbUxpc3RBY3Rpb24uaGFzT3duUHJvcGVydHkoJ2Rpc2FibGVkJykgJiZcbiAgICAgIGl0ZW1MaXN0QWN0aW9uLmRpc2FibGVkICE9PSBudWxsICYmXG4gICAgICBpdGVtTGlzdEFjdGlvbi5kaXNhYmxlZCAhPT0gdW5kZWZpbmVkXG4gICAgICAgID8gdGhpcy5yZXR1cm5Cb29sZWFuVmFsdWUoaXRlbUxpc3RBY3Rpb24sICdkaXNhYmxlZCcpXG4gICAgICAgIDogZmFsc2U7XG4gICAgY29uc3QgaXNWaXNpYmxlID1cbiAgICAgIGl0ZW1MaXN0QWN0aW9uLmhhc093blByb3BlcnR5KCd2aXNpYmxlJykgJiZcbiAgICAgIGl0ZW1MaXN0QWN0aW9uLnZpc2libGUgIT09IG51bGwgJiZcbiAgICAgIGl0ZW1MaXN0QWN0aW9uLnZpc2libGUgIT09IHVuZGVmaW5lZFxuICAgICAgICA/IHRoaXMucmV0dXJuQm9vbGVhblZhbHVlKGl0ZW1MaXN0QWN0aW9uLCAndmlzaWJsZScpXG4gICAgICAgIDogdHJ1ZTtcblxuICAgIGlmIChpdGVtTGlzdEFjdGlvbiAmJiBpdGVtTGlzdEFjdGlvbi5hY3Rpb24gJiYgIWlzRGlzYWJsZWQgJiYgaXNWaXNpYmxlKSB7XG4gICAgICBpdGVtTGlzdEFjdGlvbi5hY3Rpb24odGhpcy5wYXJhbSB8fCBpdGVtTGlzdEFjdGlvbik7XG4gICAgfVxuXG4gICAgaWYgKGl0ZW1MaXN0QWN0aW9uICYmIGl0ZW1MaXN0QWN0aW9uLnVybCAmJiAhaXNEaXNhYmxlZCAmJiBpc1Zpc2libGUpIHtcbiAgICAgIHJldHVybiB0aGlzLm9wZW5VcmwoaXRlbUxpc3RBY3Rpb24udXJsKTtcbiAgICB9XG4gIH1cblxuICBvbktleURvd24oaXRlbUxpc3RBY3Rpb246IFBvSXRlbUxpc3RPcHRpb24gfCBQb0l0ZW1MaXN0T3B0aW9uR3JvdXAgfCBhbnksIGV2ZW50PzogS2V5Ym9hcmRFdmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICBpZiAoKGV2ZW50ICYmIGV2ZW50LmNvZGUgPT09ICdFbnRlcicpIHx8IGV2ZW50LmNvZGUgPT09ICdTcGFjZScpIHtcbiAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2NoZWNrJzpcbiAgICAgICAgICB0aGlzLm9uU2VsZWN0Q2hlY2tCb3hJdGVtKGl0ZW1MaXN0QWN0aW9uKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnb3B0aW9uJzpcbiAgICAgICAgICB0aGlzLm9wdGlvbkNsaWNrZWQoaXRlbUxpc3RBY3Rpb24pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdhY3Rpb24nOlxuICAgICAgICAgIHRoaXMub25TZWxlY3RJdGVtKGl0ZW1MaXN0QWN0aW9uKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoKGV2ZW50ICYmIGV2ZW50LmNvZGUgPT09ICdFc2NhcGUnKSB8fCBldmVudC5jb2RlID09PSAnVGFiJykge1xuICAgICAgdGhpcy5jbG9zZUV2ZW50LmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBjaGVja2JveENsaWNrZWQoeyBvcHRpb24sIHNlbGVjdGVkIH0pIHtcbiAgICBpZiAodGhpcy50eXBlID09PSAnY2hlY2snKSB7XG4gICAgICB0aGlzLmNoYW5nZS5lbWl0KHsgc2VsZWN0ZWQsIG9wdGlvbiB9KTtcbiAgICB9XG4gIH1cblxuICBvcHRpb25DbGlja2VkKG9wdGlvbjogYW55KSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ29wdGlvbicpIHtcbiAgICAgIHRoaXMuaXRlbXMuZmlsdGVyKGl0ZW0gPT5cbiAgICAgICAgaXRlbVt0aGlzLmZpZWxkVmFsdWVdID09PSBvcHRpb25bdGhpcy5maWVsZFZhbHVlXSA/IChpdGVtWydzZWxlY3RlZCddID0gdHJ1ZSkgOiAoaXRlbVsnc2VsZWN0ZWQnXSA9IGZhbHNlKVxuICAgICAgKTtcbiAgICAgIHRoaXMuc2VsZWN0Q29tYm8uZW1pdCh7IC4uLm9wdGlvbiB9KTtcbiAgICB9XG4gIH1cblxuICBvblNlbGVjdENoZWNrQm94SXRlbShvcHRpb24pIHtcbiAgICBjb25zdCBzZWxlY3RlZCA9ICF0aGlzLmlzU2VsZWN0ZWRJdGVtKG9wdGlvbik7XG4gICAgdGhpcy5jaGVja2JveENsaWNrZWQoeyBvcHRpb24sIHNlbGVjdGVkIH0pO1xuICB9XG5cbiAgaXNTZWxlY3RlZEl0ZW0ob3B0aW9uKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRPcHRpb25zLnNvbWUoc2VsZWN0ZWRJdGVtID0+IHNlbGVjdGVkSXRlbVt0aGlzLmZpZWxkVmFsdWVdID09PSBvcHRpb25bdGhpcy5maWVsZFZhbHVlXSk7XG4gIH1cblxuICBjaGFuZ2VBbGxFbWl0KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKChldmVudCAmJiBldmVudC5jb2RlID09PSAnRW50ZXInKSB8fCBldmVudC5jb2RlID09PSAnU3BhY2UnKSB7XG4gICAgICB0aGlzLmNoYW5nZUFsbC5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgY2FsbENoYW5nZVNlYXJjaChldmVudCkge1xuICAgIHRoaXMuY2hhbmdlU2VhcmNoLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgc2hvd01vcmVJbmZpbml0ZVNjcm9sbCh7IHRhcmdldCB9KTogdm9pZCB7XG4gICAgY29uc3Qgc2Nyb2xsUG9zaXRpb24gPSB0YXJnZXQub2Zmc2V0SGVpZ2h0ICsgdGFyZ2V0LnNjcm9sbFRvcDtcbiAgICBpZiAoc2Nyb2xsUG9zaXRpb24gPj0gdGFyZ2V0LnNjcm9sbEhlaWdodCAqICh0aGlzLmluZmluaXRlU2Nyb2xsRGlzdGFuY2UgLyAxMTApKSB7XG4gICAgICB0aGlzLlVwZGF0ZUluZmluaXRlU2Nyb2xsLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBzY3JvbGxMaXN0ZW5lcihjb21wb25lbnRMaXN0bmVyOiBIVE1MRWxlbWVudCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIGZyb21FdmVudChjb21wb25lbnRMaXN0bmVyLCAnc2Nyb2xsJykucGlwZShkZWJvdW5jZVRpbWUoMTAwKSk7XG4gIH1cblxuICBzZXRGb2N1cygpIHtcbiAgICB0aGlzLmxpc3Rib3hJdGVtTGlzdC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2hlY2tJbmZpbml0ZVNjcm9sbCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5oYXNJbmZpbml0ZVNjcm9sbCgpKSB7XG4gICAgICB0aGlzLmluY2x1ZGVJbmZpbml0ZVNjcm9sbCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFzSW5maW5pdGVTY3JvbGwoKTogYm9vbGVhbiB7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgcmV0dXJuIHRoaXMuaW5maW5pdGVTY3JvbGwgJiYgdGhpcy5saXN0Ym94SXRlbUxpc3Q/Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0O1xuICB9XG5cbiAgY2hlY2tUZW1wbGF0ZSgpIHtcbiAgICBpZiAodGhpcy5jYWNoZSB8fCB0aGlzLmluZmluaXRlU2Nyb2xsKSB7XG4gICAgICByZXR1cm4gdGhpcy5pdGVtcy5sZW5ndGg7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAhdGhpcy5pc1NlcnZlclNlYXJjaGluZyAmJiB0aGlzLml0ZW1zLmxlbmd0aDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluY2x1ZGVJbmZpbml0ZVNjcm9sbCgpOiB2b2lkIHtcbiAgICB0aGlzLnNjcm9sbEV2ZW50JCA9IHRoaXMuc2Nyb2xsTGlzdGVuZXIodGhpcy5saXN0Ym94SXRlbUxpc3Q/Lm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25TY3JvbGxFdmVudCA9IHRoaXMuc2Nyb2xsRXZlbnQkLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICB0aGlzLnNob3dNb3JlSW5maW5pdGVTY3JvbGwoZXZlbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJldHVybkJvb2xlYW5WYWx1ZShpdGVtTGlzdEFjdGlvbjogYW55LCBwcm9wZXJ0eTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGlzVHlwZW9mKGl0ZW1MaXN0QWN0aW9uW3Byb3BlcnR5XSwgJ2Z1bmN0aW9uJylcbiAgICAgID8gaXRlbUxpc3RBY3Rpb25bcHJvcGVydHldKHRoaXMucGFyYW0gfHwgaXRlbUxpc3RBY3Rpb24pXG4gICAgICA6IGl0ZW1MaXN0QWN0aW9uW3Byb3BlcnR5XTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0TGlzdEJveE1heEhlaWdodCgpOiB2b2lkIHtcbiAgICBjb25zdCBpdGVtc0xlbmd0aCA9IHRoaXMuaXRlbXMubGVuZ3RoO1xuICAgIGlmIChpdGVtc0xlbmd0aCA+IDYpIHtcbiAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdjaGVjaycgJiYgIXRoaXMuaGlkZVNlYXJjaCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMubGlzdGJveC5uYXRpdmVFbGVtZW50LCAnbWF4SGVpZ2h0JywgYCR7NDQgKiA2IC0gNDQgLyAzICsgNjB9cHhgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5saXN0Ym94Lm5hdGl2ZUVsZW1lbnQsICdtYXhIZWlnaHQnLCBgJHs0NCAqIDYgLSA0NCAvIDN9cHhgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9wZW5VcmwodXJsOiBzdHJpbmcpIHtcbiAgICBpZiAoaXNFeHRlcm5hbExpbmsodXJsKSkge1xuICAgICAgcmV0dXJuIG9wZW5FeHRlcm5hbExpbmsodXJsKTtcbiAgICB9XG5cbiAgICBpZiAodXJsKSB7XG4gICAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3VybF0pO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICAjbGlzdGJveFxuICBjbGFzcz1cInBvLWxpc3Rib3hcIlxuICBbY2xhc3MucG8tbGlzdGJveC1jaGVja109XCJ0eXBlID09PSAnY2hlY2snIHx8IHR5cGUgPT09ICdvcHRpb24nXCJcbiAgW2F0dHIuZGF0YS10eXBlXT1cInR5cGVcIlxuICBbaGlkZGVuXT1cInZpc2libGVcIlxuPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJbcC1wb3B1cC1oZWFkZXItdGVtcGxhdGVdXCI+PC9uZy1jb250ZW50PlxuXG4gIDxwby1zZWFyY2gtbGlzdFxuICAgICNzZWFyY2hFbGVtZW50XG4gICAgKm5nSWY9XCIhaGlkZVNlYXJjaCAmJiB0eXBlID09PSAnY2hlY2snXCJcbiAgICAocC1jaGFuZ2UpPVwiY2FsbENoYW5nZVNlYXJjaCgkZXZlbnQpXCJcbiAgICBbcC1saXRlcmFsc109XCJsaXRlcmFsU2VhcmNoXCJcbiAgICBbcC1maWVsZC12YWx1ZV09XCJmaWVsZFZhbHVlU2VhcmNoXCJcbiAgICBbcC1wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclNlYXJjaFwiXG4gID48L3BvLXNlYXJjaC1saXN0PlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjaGVja1RlbXBsYXRlKCk7IGVsc2Ugbm9EYXRhVGVtcGxhdGVcIj5cbiAgICA8dWwgI2xpc3Rib3hJdGVtTGlzdCBjZGtMaXN0Ym94IFtjZGtMaXN0Ym94TXVsdGlwbGVdPVwidHlwZSA9PT0gJ2NoZWNrJ1wiIGNsYXNzPVwicG8tbGlzdGJveC1saXN0XCI+XG4gICAgICA8bGlcbiAgICAgICAgY2RrT3B0aW9uPVwic2VsZWN0QWxsXCJcbiAgICAgICAgKm5nSWY9XCJ0eXBlID09PSAnY2hlY2snICYmIGl0ZW1zLmxlbmd0aCAmJiAhc2VhcmNoRWxlbWVudD8uaW5wdXRWYWx1ZSAmJiAhaGlkZVNlbGVjdEFsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJjaGVja2JveEFsbFZhbHVlID09PSBudWxsID8gJ21peGVkJyA6IGNoZWNrYm94QWxsVmFsdWVcIlxuICAgICAgICAoY2xpY2spPVwiY2hhbmdlQWxsLmVtaXQoKVwiXG4gICAgICAgIChrZXlkb3duKT1cImNoYW5nZUFsbEVtaXQoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxwby1pdGVtLWxpc3RcbiAgICAgICAgICBbcC1zZWxlY3RlZF09XCJjaGVja2JveEFsbFZhbHVlXCJcbiAgICAgICAgICBwLXR5cGU9XCJjaGVja1wiXG4gICAgICAgICAgW3AtbGFiZWxdPVwibGl0ZXJhbHMuc2VsZWN0QWxsXCJcbiAgICAgICAgICBwLXZhbHVlPVwic2VsZWN0QWxsXCJcbiAgICAgICAgICBbcC1jaGVja2JveC12YWx1ZV09XCJjaGVja2JveEFsbFZhbHVlXCJcbiAgICAgICAgPlxuICAgICAgICA8L3BvLWl0ZW0tbGlzdD5cbiAgICAgIDwvbGk+XG4gICAgICA8bGlcbiAgICAgICAgY2xhc3M9XCJwby1saXN0Ym94LWl0ZW1cIlxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiXG4gICAgICAgIFtjZGtPcHRpb25dPVwiaXRlbVtmaWVsZExhYmVsXVwiXG4gICAgICAgIFtjZGtPcHRpb25EaXNhYmxlZF09XCJcbiAgICAgICAgICByZXR1cm5Cb29sZWFuVmFsdWUoaXRlbSwgJ2Rpc2FibGVkJykgfHwgcmV0dXJuQm9vbGVhblZhbHVlKGl0ZW0sICd2aXNpYmxlJykgPT09IGZhbHNlIHx8IGl0ZW0ub3B0aW9uc1xuICAgICAgICBcIlxuICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImlzU2VsZWN0ZWRJdGVtKGl0ZW0pIHx8IGl0ZW0uc2VsZWN0ZWRcIlxuICAgICAgICAoY2xpY2spPVwib25TZWxlY3RJdGVtKGl0ZW0pXCJcbiAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKGl0ZW0sICRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8bGFiZWwgKm5nSWY9XCJpdGVtLm9wdGlvbnNcIiBjbGFzcz1cInBvLWNvbWJvLWl0ZW0tdGl0bGVcIj5cbiAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxwby1pdGVtLWxpc3RcbiAgICAgICAgICAqbmdJZj1cInJldHVybkJvb2xlYW5WYWx1ZShpdGVtLCAndmlzaWJsZScpICE9PSBmYWxzZSAmJiAhaXRlbS5vcHRpb25zXCJcbiAgICAgICAgICBbcC1kaXNhYmxlZF09XCJyZXR1cm5Cb29sZWFuVmFsdWUoaXRlbSwgJ2Rpc2FibGVkJylcIlxuICAgICAgICAgIFtwLXZpc2libGVdPVwicmV0dXJuQm9vbGVhblZhbHVlKGl0ZW0sICd2aXNpYmxlJylcIlxuICAgICAgICAgIFtwLWNoZWNrYm94LXZhbHVlXT1cImlzU2VsZWN0ZWRJdGVtKGl0ZW0pXCJcbiAgICAgICAgICBbYXR0ci5kYXRhLWl0ZW0tbGlzdF09XCJpdGVtIHwganNvblwiXG4gICAgICAgICAgW3AtbGFiZWxdPVwiaXRlbVtmaWVsZExhYmVsXVwiXG4gICAgICAgICAgW3AtdmFsdWVdPVwiaXRlbVtmaWVsZFZhbHVlXVwiXG4gICAgICAgICAgW3Atc2VsZWN0ZWRdPVwiaXNTZWxlY3RlZEl0ZW0oaXRlbSkgfHwgaXRlbS5zZWxlY3RlZFwiXG4gICAgICAgICAgW3Atc2VwYXJhdG9yXT1cIml0ZW0uc2VwYXJhdG9yXCJcbiAgICAgICAgICBbcC1kYW5nZXJdPVwiaXRlbS5kYW5nZXIgfHwgaXRlbS50eXBlID09PSAnZGFuZ2VyJ1wiXG4gICAgICAgICAgW3AtaWNvbl09XCJpdGVtLmljb25cIlxuICAgICAgICAgIFtwLXR5cGVdPVwidHlwZVwiXG4gICAgICAgICAgW3AtaXRlbV09XCJpdGVtXCJcbiAgICAgICAgICBbcC1maWVsZC12YWx1ZV09XCJmaWVsZFZhbHVlXCJcbiAgICAgICAgICBbcC1maWVsZC1sYWJlbF09XCJmaWVsZExhYmVsXCJcbiAgICAgICAgICBbcC10ZW1wbGF0ZV09XCJ0ZW1wbGF0ZVwiXG4gICAgICAgICAgW3AtdGVtcGxhdGUtY29udGV4dF09XCJpdGVtXCJcbiAgICAgICAgICAocC1zZWxlY3RjaGVja2JveC1pdGVtKT1cImNoZWNrYm94Q2xpY2tlZCgkZXZlbnQpXCJcbiAgICAgICAgICAocC1zZWxlY3Rjb21iby1pdGVtKT1cIm9wdGlvbkNsaWNrZWQoJGV2ZW50KVwiXG4gICAgICAgICAgKHAtc2VsZWN0LWl0ZW0pPVwib25TZWxlY3RDaGVja0JveEl0ZW0oaXRlbSlcIlxuICAgICAgICAgIFtwLXNlYXJjaC12YWx1ZV09XCJzZWFyY2hWYWx1ZVwiXG4gICAgICAgICAgW3AtZmlsdGVyLW1vZGVdPVwiZmlsdGVyTW9kZVwiXG4gICAgICAgICAgW3AtZmlsdGVyaW5nXT1cImlzRmlsdGVyaW5nXCJcbiAgICAgICAgICBbcC1zaG91bGQtbWFyay1sZXR0ZXJdPVwic2hvdWxkTWFya0xldHRlcnNcIlxuICAgICAgICAgIFtwLWNvbXBhcmUtY2FjaGVdPVwiY29tcGFyZUNhY2hlXCJcbiAgICAgICAgICBbcC1jb21iby1zZXJ2aWNlXT1cImNvbWJvU2VydmljZVwiXG4gICAgICAgID48L3BvLWl0ZW0tbGlzdD5cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPGRpdiAqbmdJZj1cImlzU2VydmVyU2VhcmNoaW5nICYmIHR5cGUgIT09ICdhY3Rpb24nXCIgY2xhc3M9XCJwby10ZXh0LWNlbnRlclwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbmZpbml0ZUxvYWRpbmc7IHRoZW4gc2Nyb2xsTG9hZGluZ1RlbXBsYXRlOyBlbHNlIGRlZmF1bHRMb2FkaW5nVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG5cbiAgPG5nLXRlbXBsYXRlICNzY3JvbGxMb2FkaW5nVGVtcGxhdGU+XG4gICAgPHBvLWxvYWRpbmctb3ZlcmxheSBjbGFzcz1cInBvLWxpc3Rib3gtY29udGFpbmVyLWxvYWRpbmctc2Nyb2xsXCI+PC9wby1sb2FkaW5nLW92ZXJsYXk+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlICNkZWZhdWx0TG9hZGluZ1RlbXBsYXRlPlxuICAgIDxwby1sb2FkaW5nIGNsYXNzPVwicG8tbGlzdGJveC1jb250YWluZXItbG9hZGluZy1kZWZhdWx0XCI+PC9wby1sb2FkaW5nPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSAjbm9EYXRhVGVtcGxhdGU+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCIhaXRlbXMubGVuZ3RoICYmICFpc1NlcnZlclNlYXJjaGluZyAmJiB0eXBlICE9PSAnYWN0aW9uJ1wiXG4gICAgICBjbGFzcz1cInBvLWxpc3Rib3gtY29udGFpbmVyLW5vLWRhdGEgcG8tdGV4dC1jZW50ZXJcIlxuICAgID5cbiAgICAgIDxzcGFuPiB7eyBsaXRlcmFscy5ub0l0ZW1zIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
|
|
333
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbGlzdGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tbGlzdGJveC9wby1saXN0Ym94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1saXN0Ym94L3BvLWxpc3Rib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLFNBQVMsRUFNVCxTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFLckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5RSxPQUFPLEVBQTRCLFlBQVksRUFBRSxTQUFTLEVBQVMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7OztJQ2I5RSw0Q0FPQztJQUpDLGdNQUFZLGVBQUEsZ0NBQXdCLENBQUEsSUFBQztJQUl0QyxpQkFBaUI7OztJQUhoQixpREFBNEIsMENBQUEsMkNBQUE7Ozs7SUFPMUIsOEJBTUM7SUFGQyw0S0FBUyxlQUFBLHdCQUFnQixDQUFBLElBQUMseUtBQ2YsZUFBQSw2QkFBcUIsQ0FBQSxJQUROO0lBRzFCLG1DQU9lO0lBQ2pCLGlCQUFLOzs7SUFaSCxzR0FBNEU7SUFLMUUsZUFBK0I7SUFBL0IscURBQStCLHVDQUFBLDhDQUFBOzs7SUFtQmpDLGlDQUF3RDtJQUN0RCxZQUNGO0lBQUEsaUJBQVE7OztJQUROLGVBQ0Y7SUFERSwrQ0FDRjs7OztJQUNBLHdDQTJCQztJQVRDLDJPQUF5QixlQUFBLCtCQUF1QixDQUFBLElBQUMsd05BQzNCLGVBQUEsNkJBQXFCLENBQUEsSUFETSx1UEFFaEMsZUFBQSxzQ0FBMEIsQ0FBQSxJQUZNOztJQVNsRCxpQkFBZTs7OztJQXpCZCw2RUFBbUQsOERBQUEsc0RBQUEseUNBQUEseUNBQUEscUVBQUEsbUNBQUEsMkRBQUEseUJBQUEsd0JBQUEsb0JBQUEscUNBQUEscUNBQUEsZ0NBQUEsZ0NBQUEsdUNBQUEscUNBQUEsb0NBQUEsbURBQUEseUNBQUEseUNBQUE7SUFHbkQsaUVBQW1DOzs7O0lBbkJ2Qyw4QkFVQztJQUZDLHdPQUFTLGVBQUEsOEJBQWtCLENBQUEsSUFBQyxxT0FDakIsZUFBQSxtQ0FBdUIsQ0FBQSxJQUROO0lBRzVCLDRGQUVRO0lBQ1IsMkdBMkJnQjtJQUNsQixpQkFBSzs7OztJQXpDSCxrREFBaUM7SUFFakMsd0RBQThCLHdKQUFBO0lBSTlCLHNGQUE0RDtJQUlwRCxlQUFrQjtJQUFsQix1Q0FBa0I7SUFJdkIsZUFBb0U7SUFBcEUscUdBQW9FOzs7SUFqQzdFLDZCQUEyRDtJQUN6RCxrQ0FBZ0c7SUFDOUYsaUZBZUs7SUFDTCxpRkEwQ0s7SUFDUCxpQkFBSztJQUNQLDBCQUFlOzs7SUE3RG1CLGVBQXVDO0lBQXZDLDREQUF1QztJQUdsRSxlQUFzRjtJQUF0RiwwS0FBc0Y7SUFnQnRFLGVBQVE7SUFBUixzQ0FBUTs7O0lBNkM3Qix3QkFBOEc7OztJQURoSCwrQkFBMkU7SUFDekUsNEZBQThHO0lBQ2hILGlCQUFNOzs7OztJQURXLGVBQXVCO0lBQXZCLDZDQUF1QixpQkFBQSxpQkFBQTs7O0lBSXRDLHlDQUFxRjs7O0lBSXJGLGlDQUFzRTs7O0lBSXRFLCtCQUdDLFdBQUE7SUFDUSxZQUFzQjtJQUFBLGlCQUFPLEVBQUE7OztJQUE3QixlQUFzQjtJQUF0Qix3REFBc0I7OztJQUovQixtRkFLTTs7O0lBSkgsb0dBQThEOzs7O0FEcEVyRSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsc0JBQXNCO0lBU25EO0lBQ0M7SUFFQTtJQUNBO0lBWjhCLE9BQU8sQ0FBYTtJQUNYLGVBQWUsQ0FBYTtJQUNqRCxhQUFhLENBQXdCO0lBRXpELFlBQVksQ0FBa0I7SUFDOUIsdUJBQXVCLENBQWU7SUFFOUMsWUFDUyxPQUFtQixFQUNsQixRQUFtQixFQUMzQixlQUFrQyxFQUMxQixNQUFjLEVBQ2QsY0FBaUM7UUFFekMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBTmhCLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUVuQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQW1CO0lBRzNDLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUF1QjtRQUNqQyxJQUFJLE9BQU8sRUFBRSxLQUFLLEVBQUU7WUFDbEIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDNUI7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsdUJBQXVCLElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsRUFBRTtZQUM1RSxJQUFJLENBQUMsdUJBQXVCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDNUM7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLGNBQThEO1FBQ3pFLE1BQU0sVUFBVSxHQUNkLGNBQWMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDO1lBQ3pDLGNBQWMsQ0FBQyxRQUFRLEtBQUssSUFBSTtZQUNoQyxjQUFjLENBQUMsUUFBUSxLQUFLLFNBQVM7WUFDbkMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDO1lBQ3JELENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDWixNQUFNLFNBQVMsR0FDYixjQUFjLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQztZQUN4QyxjQUFjLENBQUMsT0FBTyxLQUFLLElBQUk7WUFDL0IsY0FBYyxDQUFDLE9BQU8sS0FBSyxTQUFTO1lBQ2xDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQztZQUNwRCxDQUFDLENBQUMsSUFBSSxDQUFDO1FBRVgsSUFBSSxjQUFjLElBQUksY0FBYyxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsSUFBSSxTQUFTLEVBQUU7WUFDdkUsY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLGNBQWMsQ0FBQyxDQUFDO1NBQ3JEO1FBRUQsSUFBSSxjQUFjLElBQUksY0FBYyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxTQUFTLEVBQUU7WUFDcEUsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN6QztJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsY0FBOEQsRUFBRSxLQUFxQjtRQUM3RixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdkIsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQy9ELFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDakIsS0FBSyxPQUFPO29CQUNWLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFDMUMsTUFBTTtnQkFDUixLQUFLLFFBQVE7b0JBQ1gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFDbkMsTUFBTTtnQkFDUixLQUFLLFFBQVE7b0JBQ1gsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFDbEMsTUFBTTthQUNUO1NBQ0Y7UUFFRCxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxLQUFLLEVBQUU7WUFDOUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFO1FBQ2xDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztTQUN4QztJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsTUFBVztRQUN2QixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUMzRyxDQUFDO1lBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDdEM7SUFDSCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsTUFBTTtRQUN6QixNQUFNLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBTTtRQUNuQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDOUcsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFvQjtRQUNoQyxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDL0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFLO1FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxFQUFFLE1BQU0sRUFBRTtRQUMvQixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDOUQsSUFBSSxjQUFjLElBQUksTUFBTSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxHQUFHLENBQUMsRUFBRTtZQUMvRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDbEM7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLGdCQUE2QjtRQUMxQyxPQUFPLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRVMsbUJBQW1CO1FBQzNCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUU7WUFDNUIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLFlBQVksQ0FBQztJQUNqRixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7U0FDMUI7YUFBTTtZQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7U0FDckQ7SUFDSCxDQUFDO0lBRU8scUJBQXFCO1FBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBRTdFLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsa0JBQWtCLENBQUMsY0FBbUIsRUFBRSxRQUFnQjtRQUNoRSxPQUFPLFFBQVEsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUUsVUFBVSxDQUFDO1lBQ25ELENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxjQUFjLENBQUM7WUFDeEQsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ3RDLElBQUksV0FBVyxHQUFHLENBQUMsRUFBRTtZQUNuQixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDOUY7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN6RjtTQUNGO0lBQ0gsQ0FBQztJQUVPLE9BQU8sQ0FBQyxHQUFXO1FBQ3pCLElBQUksY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZCLE9BQU8sZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDOUI7UUFFRCxJQUFJLEdBQUcsRUFBRTtZQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQzs0RUF6TFUsa0JBQWtCOzZEQUFsQixrQkFBa0I7Ozs7Ozs7Ozs7O1lDNUIvQixpQ0FNQztZQUNDLGtCQUE0RDtZQUU1RCx5RkFPa0I7WUFFbEIscUZBOERlO1lBRWYsbUVBRU07WUFFTixvSEFFYztZQUVkLG9IQUVjO1lBRWQsc0hBT2M7WUFDaEIsaUJBQU07OztZQW5HSixpRkFBZ0U7WUFFaEUsb0NBQWtCO1lBRGxCLHFDQUF1QjtZQU9wQixlQUFxQztZQUFyQyw4REFBcUM7WUFPekIsZUFBdUI7WUFBdkIsMENBQXVCLGlCQUFBO1lBZ0VoQyxlQUE0QztZQUE1QyxxRUFBNEM7Ozt1RkR0RHZDLGtCQUFrQjtjQUo5QixTQUFTOzJCQUNFLFlBQVk7MEtBSWtCLE9BQU87a0JBQTlDLFNBQVM7bUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUNXLGVBQWU7a0JBQS9ELFNBQVM7bUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBQ25CLGFBQWE7a0JBQXhDLFNBQVM7bUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgUmVuZGVyZXIyLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIGZvcndhcmRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBQb0xpc3RCb3hCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1saXN0Ym94LWJhc2UuY29tcG9uZW50JztcblxuaW1wb3J0IHsgUG9JdGVtTGlzdE9wdGlvbkdyb3VwIH0gZnJvbSAnLi9wby1pdGVtLWxpc3QvaW50ZXJmYWNlcy9wby1pdGVtLWxpc3Qtb3B0aW9uLWdyb3VwLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0l0ZW1MaXN0T3B0aW9uIH0gZnJvbSAnLi9wby1pdGVtLWxpc3QvaW50ZXJmYWNlcy9wby1pdGVtLWxpc3Qtb3B0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb0xhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BvLWxhbmd1YWdlL3BvLWxhbmd1YWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgaXNFeHRlcm5hbExpbmssIGlzVHlwZW9mLCBvcGVuRXh0ZXJuYWxMaW5rIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbCc7XG5pbXBvcnQgeyBQb1NlYXJjaExpc3RDb21wb25lbnQgfSBmcm9tICcuL3BvLXNlYXJjaC1saXN0L3BvLXNlYXJjaC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIGRlYm91bmNlVGltZSwgZnJvbUV2ZW50LCBtZXJnZSB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1saXN0Ym94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvLWxpc3Rib3guY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBvTGlzdEJveENvbXBvbmVudCBleHRlbmRzIFBvTGlzdEJveEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ2xpc3Rib3gnLCB7IHN0YXRpYzogdHJ1ZSB9KSBsaXN0Ym94OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdsaXN0Ym94SXRlbUxpc3QnLCB7IHN0YXRpYzogZmFsc2UgfSkgbGlzdGJveEl0ZW1MaXN0OiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdzZWFyY2hFbGVtZW50Jykgc2VhcmNoRWxlbWVudDogUG9TZWFyY2hMaXN0Q29tcG9uZW50O1xuXG4gIHByaXZhdGUgc2Nyb2xsRXZlbnQkOiBPYnNlcnZhYmxlPGFueT47XG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uU2Nyb2xsRXZlbnQ6IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgbGFuZ3VhZ2VTZXJ2aWNlOiBQb0xhbmd1YWdlU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKGxhbmd1YWdlU2VydmljZSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRMaXN0Qm94TWF4SGVpZ2h0KCk7XG4gICAgdGhpcy5saXN0Ym94SXRlbUxpc3Q/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM/OiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXM/Lml0ZW1zKSB7XG4gICAgICB0aGlzLnNldExpc3RCb3hNYXhIZWlnaHQoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy52aXNpYmxlICYmIHRoaXMuaW5maW5pdGVTY3JvbGwpIHtcbiAgICAgIHRoaXMuY2hlY2tJbmZpbml0ZVNjcm9sbCgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvblNjcm9sbEV2ZW50ICYmIHRoaXMuc3Vic2NyaXB0aW9uU2Nyb2xsRXZlbnQudW5zdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uU2Nyb2xsRXZlbnQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBvblNlbGVjdEl0ZW0oaXRlbUxpc3RBY3Rpb246IFBvSXRlbUxpc3RPcHRpb24gfCBQb0l0ZW1MaXN0T3B0aW9uR3JvdXAgfCBhbnkpIHtcbiAgICBjb25zdCBpc0Rpc2FibGVkID1cbiAgICAgIGl0ZW1MaXN0QWN0aW9uLmhhc093blByb3BlcnR5KCdkaXNhYmxlZCcpICYmXG4gICAgICBpdGVtTGlzdEFjdGlvbi5kaXNhYmxlZCAhPT0gbnVsbCAmJlxuICAgICAgaXRlbUxpc3RBY3Rpb24uZGlzYWJsZWQgIT09IHVuZGVmaW5lZFxuICAgICAgICA/IHRoaXMucmV0dXJuQm9vbGVhblZhbHVlKGl0ZW1MaXN0QWN0aW9uLCAnZGlzYWJsZWQnKVxuICAgICAgICA6IGZhbHNlO1xuICAgIGNvbnN0IGlzVmlzaWJsZSA9XG4gICAgICBpdGVtTGlzdEFjdGlvbi5oYXNPd25Qcm9wZXJ0eSgndmlzaWJsZScpICYmXG4gICAgICBpdGVtTGlzdEFjdGlvbi52aXNpYmxlICE9PSBudWxsICYmXG4gICAgICBpdGVtTGlzdEFjdGlvbi52aXNpYmxlICE9PSB1bmRlZmluZWRcbiAgICAgICAgPyB0aGlzLnJldHVybkJvb2xlYW5WYWx1ZShpdGVtTGlzdEFjdGlvbiwgJ3Zpc2libGUnKVxuICAgICAgICA6IHRydWU7XG5cbiAgICBpZiAoaXRlbUxpc3RBY3Rpb24gJiYgaXRlbUxpc3RBY3Rpb24uYWN0aW9uICYmICFpc0Rpc2FibGVkICYmIGlzVmlzaWJsZSkge1xuICAgICAgaXRlbUxpc3RBY3Rpb24uYWN0aW9uKHRoaXMucGFyYW0gfHwgaXRlbUxpc3RBY3Rpb24pO1xuICAgIH1cblxuICAgIGlmIChpdGVtTGlzdEFjdGlvbiAmJiBpdGVtTGlzdEFjdGlvbi51cmwgJiYgIWlzRGlzYWJsZWQgJiYgaXNWaXNpYmxlKSB7XG4gICAgICByZXR1cm4gdGhpcy5vcGVuVXJsKGl0ZW1MaXN0QWN0aW9uLnVybCk7XG4gICAgfVxuICB9XG5cbiAgb25LZXlEb3duKGl0ZW1MaXN0QWN0aW9uOiBQb0l0ZW1MaXN0T3B0aW9uIHwgUG9JdGVtTGlzdE9wdGlvbkdyb3VwIHwgYW55LCBldmVudD86IEtleWJvYXJkRXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgaWYgKChldmVudCAmJiBldmVudC5jb2RlID09PSAnRW50ZXInKSB8fCBldmVudC5jb2RlID09PSAnU3BhY2UnKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgICBjYXNlICdjaGVjayc6XG4gICAgICAgICAgdGhpcy5vblNlbGVjdENoZWNrQm94SXRlbShpdGVtTGlzdEFjdGlvbik7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ29wdGlvbic6XG4gICAgICAgICAgdGhpcy5vcHRpb25DbGlja2VkKGl0ZW1MaXN0QWN0aW9uKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnYWN0aW9uJzpcbiAgICAgICAgICB0aGlzLm9uU2VsZWN0SXRlbShpdGVtTGlzdEFjdGlvbik7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKChldmVudCAmJiBldmVudC5jb2RlID09PSAnRXNjYXBlJykgfHwgZXZlbnQuY29kZSA9PT0gJ1RhYicpIHtcbiAgICAgIHRoaXMuY2xvc2VFdmVudC5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgY2hlY2tib3hDbGlja2VkKHsgb3B0aW9uLCBzZWxlY3RlZCB9KSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2NoZWNrJykge1xuICAgICAgdGhpcy5jaGFuZ2UuZW1pdCh7IHNlbGVjdGVkLCBvcHRpb24gfSk7XG4gICAgfVxuICB9XG5cbiAgb3B0aW9uQ2xpY2tlZChvcHRpb246IGFueSkge1xuICAgIGlmICh0aGlzLnR5cGUgPT09ICdvcHRpb24nKSB7XG4gICAgICB0aGlzLml0ZW1zLmZpbHRlcihpdGVtID0+XG4gICAgICAgIGl0ZW1bdGhpcy5maWVsZFZhbHVlXSA9PT0gb3B0aW9uW3RoaXMuZmllbGRWYWx1ZV0gPyAoaXRlbVsnc2VsZWN0ZWQnXSA9IHRydWUpIDogKGl0ZW1bJ3NlbGVjdGVkJ10gPSBmYWxzZSlcbiAgICAgICk7XG4gICAgICB0aGlzLnNlbGVjdENvbWJvLmVtaXQoeyAuLi5vcHRpb24gfSk7XG4gICAgfVxuICB9XG5cbiAgb25TZWxlY3RDaGVja0JveEl0ZW0ob3B0aW9uKSB7XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSAhdGhpcy5pc1NlbGVjdGVkSXRlbShvcHRpb24pO1xuICAgIHRoaXMuY2hlY2tib3hDbGlja2VkKHsgb3B0aW9uLCBzZWxlY3RlZCB9KTtcbiAgfVxuXG4gIGlzU2VsZWN0ZWRJdGVtKG9wdGlvbikge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkT3B0aW9ucy5zb21lKHNlbGVjdGVkSXRlbSA9PiBzZWxlY3RlZEl0ZW1bdGhpcy5maWVsZFZhbHVlXSA9PT0gb3B0aW9uW3RoaXMuZmllbGRWYWx1ZV0pO1xuICB9XG5cbiAgY2hhbmdlQWxsRW1pdChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICgoZXZlbnQgJiYgZXZlbnQuY29kZSA9PT0gJ0VudGVyJykgfHwgZXZlbnQuY29kZSA9PT0gJ1NwYWNlJykge1xuICAgICAgdGhpcy5jaGFuZ2VBbGwuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIGNhbGxDaGFuZ2VTZWFyY2goZXZlbnQpIHtcbiAgICB0aGlzLmNoYW5nZVNlYXJjaC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHNob3dNb3JlSW5maW5pdGVTY3JvbGwoeyB0YXJnZXQgfSk6IHZvaWQge1xuICAgIGNvbnN0IHNjcm9sbFBvc2l0aW9uID0gdGFyZ2V0Lm9mZnNldEhlaWdodCArIHRhcmdldC5zY3JvbGxUb3A7XG4gICAgaWYgKHNjcm9sbFBvc2l0aW9uID49IHRhcmdldC5zY3JvbGxIZWlnaHQgKiAodGhpcy5pbmZpbml0ZVNjcm9sbERpc3RhbmNlIC8gMTEwKSkge1xuICAgICAgdGhpcy5VcGRhdGVJbmZpbml0ZVNjcm9sbC5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgc2Nyb2xsTGlzdGVuZXIoY29tcG9uZW50TGlzdG5lcjogSFRNTEVsZW1lbnQpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBmcm9tRXZlbnQoY29tcG9uZW50TGlzdG5lciwgJ3Njcm9sbCcpLnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpO1xuICB9XG5cbiAgc2V0Rm9jdXMoKSB7XG4gICAgdGhpcy5saXN0Ym94SXRlbUxpc3QubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNoZWNrSW5maW5pdGVTY3JvbGwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaGFzSW5maW5pdGVTY3JvbGwoKSkge1xuICAgICAgdGhpcy5pbmNsdWRlSW5maW5pdGVTY3JvbGwoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhc0luZmluaXRlU2Nyb2xsKCk6IGJvb2xlYW4ge1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIHJldHVybiB0aGlzLmluZmluaXRlU2Nyb2xsICYmIHRoaXMubGlzdGJveEl0ZW1MaXN0Py5uYXRpdmVFbGVtZW50LnNjcm9sbEhlaWdodDtcbiAgfVxuXG4gIGNoZWNrVGVtcGxhdGUoKSB7XG4gICAgaWYgKHRoaXMuY2FjaGUgfHwgdGhpcy5pbmZpbml0ZVNjcm9sbCkge1xuICAgICAgcmV0dXJuIHRoaXMuaXRlbXMubGVuZ3RoO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gIXRoaXMuaXNTZXJ2ZXJTZWFyY2hpbmcgJiYgdGhpcy5pdGVtcy5sZW5ndGg7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbmNsdWRlSW5maW5pdGVTY3JvbGwoKTogdm9pZCB7XG4gICAgdGhpcy5zY3JvbGxFdmVudCQgPSB0aGlzLnNjcm9sbExpc3RlbmVyKHRoaXMubGlzdGJveEl0ZW1MaXN0Py5uYXRpdmVFbGVtZW50KTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9uU2Nyb2xsRXZlbnQgPSB0aGlzLnNjcm9sbEV2ZW50JC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgdGhpcy5zaG93TW9yZUluZmluaXRlU2Nyb2xsKGV2ZW50KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXR1cm5Cb29sZWFuVmFsdWUoaXRlbUxpc3RBY3Rpb246IGFueSwgcHJvcGVydHk6IHN0cmluZykge1xuICAgIHJldHVybiBpc1R5cGVvZihpdGVtTGlzdEFjdGlvbltwcm9wZXJ0eV0sICdmdW5jdGlvbicpXG4gICAgICA/IGl0ZW1MaXN0QWN0aW9uW3Byb3BlcnR5XSh0aGlzLnBhcmFtIHx8IGl0ZW1MaXN0QWN0aW9uKVxuICAgICAgOiBpdGVtTGlzdEFjdGlvbltwcm9wZXJ0eV07XG4gIH1cblxuICBwcml2YXRlIHNldExpc3RCb3hNYXhIZWlnaHQoKTogdm9pZCB7XG4gICAgY29uc3QgaXRlbXNMZW5ndGggPSB0aGlzLml0ZW1zLmxlbmd0aDtcbiAgICBpZiAoaXRlbXNMZW5ndGggPiA2KSB7XG4gICAgICBpZiAodGhpcy50eXBlID09PSAnY2hlY2snICYmICF0aGlzLmhpZGVTZWFyY2gpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmxpc3Rib3gubmF0aXZlRWxlbWVudCwgJ21heEhlaWdodCcsIGAkezQ0ICogNiAtIDQ0IC8gMyArIDYwfXB4YCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMubGlzdGJveC5uYXRpdmVFbGVtZW50LCAnbWF4SGVpZ2h0JywgYCR7NDQgKiA2IC0gNDQgLyAzfXB4YCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvcGVuVXJsKHVybDogc3RyaW5nKSB7XG4gICAgaWYgKGlzRXh0ZXJuYWxMaW5rKHVybCkpIHtcbiAgICAgIHJldHVybiBvcGVuRXh0ZXJuYWxMaW5rKHVybCk7XG4gICAgfVxuXG4gICAgaWYgKHVybCkge1xuICAgICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlKFt1cmxdKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgI2xpc3Rib3hcbiAgY2xhc3M9XCJwby1saXN0Ym94XCJcbiAgW2NsYXNzLnBvLWxpc3Rib3gtY2hlY2tdPVwidHlwZSA9PT0gJ2NoZWNrJyB8fCB0eXBlID09PSAnb3B0aW9uJ1wiXG4gIFthdHRyLmRhdGEtdHlwZV09XCJ0eXBlXCJcbiAgW2hpZGRlbl09XCJ2aXNpYmxlXCJcbj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3AtcG9wdXAtaGVhZGVyLXRlbXBsYXRlXVwiPjwvbmctY29udGVudD5cblxuICA8cG8tc2VhcmNoLWxpc3RcbiAgICAjc2VhcmNoRWxlbWVudFxuICAgICpuZ0lmPVwiIWhpZGVTZWFyY2ggJiYgdHlwZSA9PT0gJ2NoZWNrJ1wiXG4gICAgKHAtY2hhbmdlKT1cImNhbGxDaGFuZ2VTZWFyY2goJGV2ZW50KVwiXG4gICAgW3AtbGl0ZXJhbHNdPVwibGl0ZXJhbFNlYXJjaFwiXG4gICAgW3AtZmllbGQtdmFsdWVdPVwiZmllbGRWYWx1ZVNlYXJjaFwiXG4gICAgW3AtcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJTZWFyY2hcIlxuICA+PC9wby1zZWFyY2gtbGlzdD5cblxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2hlY2tUZW1wbGF0ZSgpOyBlbHNlIG5vRGF0YVRlbXBsYXRlXCI+XG4gICAgPHVsICNsaXN0Ym94SXRlbUxpc3QgY2RrTGlzdGJveCBbY2RrTGlzdGJveE11bHRpcGxlXT1cInR5cGUgPT09ICdjaGVjaydcIiBjbGFzcz1cInBvLWxpc3Rib3gtbGlzdFwiPlxuICAgICAgPGxpXG4gICAgICAgIGNka09wdGlvbj1cInNlbGVjdEFsbFwiXG4gICAgICAgICpuZ0lmPVwidHlwZSA9PT0gJ2NoZWNrJyAmJiBpdGVtcy5sZW5ndGggJiYgIXNlYXJjaEVsZW1lbnQ/LmlucHV0VmFsdWUgJiYgIWhpZGVTZWxlY3RBbGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiY2hlY2tib3hBbGxWYWx1ZSA9PT0gbnVsbCA/ICdtaXhlZCcgOiBjaGVja2JveEFsbFZhbHVlXCJcbiAgICAgICAgKGNsaWNrKT1cImNoYW5nZUFsbC5lbWl0KClcIlxuICAgICAgICAoa2V5ZG93bik9XCJjaGFuZ2VBbGxFbWl0KCRldmVudClcIlxuICAgICAgPlxuICAgICAgICA8cG8taXRlbS1saXN0XG4gICAgICAgICAgW3Atc2VsZWN0ZWRdPVwiY2hlY2tib3hBbGxWYWx1ZVwiXG4gICAgICAgICAgcC10eXBlPVwiY2hlY2tcIlxuICAgICAgICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLnNlbGVjdEFsbFwiXG4gICAgICAgICAgcC12YWx1ZT1cInNlbGVjdEFsbFwiXG4gICAgICAgICAgW3AtY2hlY2tib3gtdmFsdWVdPVwiY2hlY2tib3hBbGxWYWx1ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC9wby1pdGVtLWxpc3Q+XG4gICAgICA8L2xpPlxuICAgICAgPGxpXG4gICAgICAgIFtjbGFzcy5wby1saXN0Ym94LWl0ZW1dPVwidmlzaWJsZVwiXG4gICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zXCJcbiAgICAgICAgW2Nka09wdGlvbl09XCJpdGVtW2ZpZWxkTGFiZWxdXCJcbiAgICAgICAgW2Nka09wdGlvbkRpc2FibGVkXT1cIlxuICAgICAgICAgIHJldHVybkJvb2xlYW5WYWx1ZShpdGVtLCAnZGlzYWJsZWQnKSB8fCByZXR1cm5Cb29sZWFuVmFsdWUoaXRlbSwgJ3Zpc2libGUnKSA9PT0gZmFsc2UgfHwgaXRlbS5vcHRpb25zXG4gICAgICAgIFwiXG4gICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiaXNTZWxlY3RlZEl0ZW0oaXRlbSkgfHwgaXRlbS5zZWxlY3RlZFwiXG4gICAgICAgIChjbGljayk9XCJvblNlbGVjdEl0ZW0oaXRlbSlcIlxuICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oaXRlbSwgJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxsYWJlbCAqbmdJZj1cIml0ZW0ub3B0aW9uc1wiIGNsYXNzPVwicG8tY29tYm8taXRlbS10aXRsZVwiPlxuICAgICAgICAgIHt7IGl0ZW0ubGFiZWwgfX1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPHBvLWl0ZW0tbGlzdFxuICAgICAgICAgICpuZ0lmPVwicmV0dXJuQm9vbGVhblZhbHVlKGl0ZW0sICd2aXNpYmxlJykgIT09IGZhbHNlICYmICFpdGVtLm9wdGlvbnNcIlxuICAgICAgICAgIFtwLWRpc2FibGVkXT1cInJldHVybkJvb2xlYW5WYWx1ZShpdGVtLCAnZGlzYWJsZWQnKVwiXG4gICAgICAgICAgW3AtdmlzaWJsZV09XCJyZXR1cm5Cb29sZWFuVmFsdWUoaXRlbSwgJ3Zpc2libGUnKVwiXG4gICAgICAgICAgW3AtY2hlY2tib3gtdmFsdWVdPVwiaXNTZWxlY3RlZEl0ZW0oaXRlbSlcIlxuICAgICAgICAgIFthdHRyLmRhdGEtaXRlbS1saXN0XT1cIml0ZW0gfCBqc29uXCJcbiAgICAgICAgICBbcC1sYWJlbF09XCJpdGVtW2ZpZWxkTGFiZWxdXCJcbiAgICAgICAgICBbcC12YWx1ZV09XCJpdGVtW2ZpZWxkVmFsdWVdXCJcbiAgICAgICAgICBbcC1zZWxlY3RlZF09XCJpc1NlbGVjdGVkSXRlbShpdGVtKSB8fCBpdGVtLnNlbGVjdGVkXCJcbiAgICAgICAgICBbcC1zZXBhcmF0b3JdPVwiaXRlbS5zZXBhcmF0b3JcIlxuICAgICAgICAgIFtwLWRhbmdlcl09XCJpdGVtLmRhbmdlciB8fCBpdGVtLnR5cGUgPT09ICdkYW5nZXInXCJcbiAgICAgICAgICBbcC1pY29uXT1cIml0ZW0uaWNvblwiXG4gICAgICAgICAgW3AtdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICBbcC1pdGVtXT1cIml0ZW1cIlxuICAgICAgICAgIFtwLWZpZWxkLXZhbHVlXT1cImZpZWxkVmFsdWVcIlxuICAgICAgICAgIFtwLWZpZWxkLWxhYmVsXT1cImZpZWxkTGFiZWxcIlxuICAgICAgICAgIFtwLXRlbXBsYXRlXT1cInRlbXBsYXRlXCJcbiAgICAgICAgICBbcC10ZW1wbGF0ZS1jb250ZXh0XT1cIml0ZW1cIlxuICAgICAgICAgIChwLXNlbGVjdGNoZWNrYm94LWl0ZW0pPVwiY2hlY2tib3hDbGlja2VkKCRldmVudClcIlxuICAgICAgICAgIChwLXNlbGVjdGNvbWJvLWl0ZW0pPVwib3B0aW9uQ2xpY2tlZCgkZXZlbnQpXCJcbiAgICAgICAgICAocC1zZWxlY3QtaXRlbSk9XCJvblNlbGVjdENoZWNrQm94SXRlbShpdGVtKVwiXG4gICAgICAgICAgW3Atc2VhcmNoLXZhbHVlXT1cInNlYXJjaFZhbHVlXCJcbiAgICAgICAgICBbcC1maWx0ZXItbW9kZV09XCJmaWx0ZXJNb2RlXCJcbiAgICAgICAgICBbcC1maWx0ZXJpbmddPVwiaXNGaWx0ZXJpbmdcIlxuICAgICAgICAgIFtwLXNob3VsZC1tYXJrLWxldHRlcl09XCJzaG91bGRNYXJrTGV0dGVyc1wiXG4gICAgICAgICAgW3AtY29tcGFyZS1jYWNoZV09XCJjb21wYXJlQ2FjaGVcIlxuICAgICAgICAgIFtwLWNvbWJvLXNlcnZpY2VdPVwiY29tYm9TZXJ2aWNlXCJcbiAgICAgICAgPjwvcG8taXRlbS1saXN0PlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8ZGl2ICpuZ0lmPVwiaXNTZXJ2ZXJTZWFyY2hpbmcgJiYgdHlwZSAhPT0gJ2FjdGlvbidcIiBjbGFzcz1cInBvLXRleHQtY2VudGVyXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImluZmluaXRlTG9hZGluZzsgdGhlbiBzY3JvbGxMb2FkaW5nVGVtcGxhdGU7IGVsc2UgZGVmYXVsdExvYWRpbmdUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cblxuICA8bmctdGVtcGxhdGUgI3Njcm9sbExvYWRpbmdUZW1wbGF0ZT5cbiAgICA8cG8tbG9hZGluZy1vdmVybGF5IGNsYXNzPVwicG8tbGlzdGJveC1jb250YWluZXItbG9hZGluZy1zY3JvbGxcIj48L3BvLWxvYWRpbmctb3ZlcmxheT5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHRMb2FkaW5nVGVtcGxhdGU+XG4gICAgPHBvLWxvYWRpbmcgY2xhc3M9XCJwby1saXN0Ym94LWNvbnRhaW5lci1sb2FkaW5nLWRlZmF1bHRcIj48L3BvLWxvYWRpbmc+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlICNub0RhdGFUZW1wbGF0ZT5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIiFpdGVtcy5sZW5ndGggJiYgIWlzU2VydmVyU2VhcmNoaW5nICYmIHR5cGUgIT09ICdhY3Rpb24nXCJcbiAgICAgIGNsYXNzPVwicG8tbGlzdGJveC1jb250YWluZXItbm8tZGF0YSBwby10ZXh0LWNlbnRlclwiXG4gICAgPlxuICAgICAgPHNwYW4+IHt7IGxpdGVyYWxzLm5vSXRlbXMgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
|