@alauda-fe/common 1.4.10 → 1.4.12
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/core/pipes/parse-json-translate.pipe.d.ts +1 -1
- package/esm2022/chart/common/axis/x-axis-ticks.component.mjs +8 -13
- package/esm2022/chart/common/legend/legend.component.mjs +5 -6
- package/esm2022/chart/common/tooltip/tooltip.component.mjs +6 -7
- package/esm2022/core/guards/intercept-deactivate.guard.mjs +2 -1
- package/esm2022/core/pipes/parse-json-translate.pipe.mjs +3 -4
- package/esm2022/core/utils/resources.mjs +2 -2
- package/esm2022/k8s-resource-list/footer/component.mjs +2 -2
- package/esm2022/multi-search/action-input/component.mjs +75 -47
- package/esm2022/multi-search/form/component.mjs +11 -8
- package/esm2022/multi-search/multi-search-tags/component.mjs +7 -5
- package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +12 -13
- package/esm2022/table/component.mjs +6 -6
- package/esm2022/translate/translate.pipe.mjs +12 -12
- package/esm2022/translate/translate.service.mjs +6 -11
- package/esm2022/view-chart/legend/legend.component.mjs +5 -6
- package/esm2022/view-chart/view-chart.component.mjs +7 -9
- package/esm2022/view-zchart/legend/legend.component.mjs +5 -6
- package/esm2022/view-zchart/view-zchart.component.mjs +8 -15
- package/multi-search/action-input/component.d.ts +3 -1
- package/multi-search/form/component.d.ts +2 -1
- package/multi-search/multi-search-tags/component.d.ts +2 -1
- package/package.json +1 -1
- package/translate/translate.pipe.d.ts +1 -1
- package/translate/translate.service.d.ts +3 -3
|
@@ -304,7 +304,7 @@ export class MultiSearchComponent {
|
|
|
304
304
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.normalInputComponent = _t.first);
|
|
305
305
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tagsComponent = _t.first);
|
|
306
306
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.multiSearchRef = _t.first);
|
|
307
|
-
} }, inputs: { placeholder: "placeholder", conditionCreatable: "conditionCreatable", conditions: "conditions", conditionConfig: "conditionConfig", autoScroll: "autoScroll", searchSuffix: "searchSuffix" }, outputs: { search: "search", conditionsChange: "conditionsChange" }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 15, vars:
|
|
307
|
+
} }, inputs: { placeholder: "placeholder", conditionCreatable: "conditionCreatable", conditions: "conditions", conditionConfig: "conditionConfig", autoScroll: "autoScroll", searchSuffix: "searchSuffix", showFootAction: "showFootAction" }, outputs: { search: "search", conditionsChange: "conditionsChange" }, standalone: true, features: [i0.ɵɵStandaloneFeature], decls: 15, vars: 35, consts: [["multiSearch", ""], ["tagsRef", ""], ["inputRef", ""], [1, "aui-input", "multi-search", 3, "ngClass"], [3, "removeCondition", "setConditionEditing", "setConditionDeleting", "search", "completed", "ngClass", "placeholder", "conditionCreatable", "existingConditions", "conditionConfig", "showFootAction"], [1, "input-wrapper", 3, "ngModelChange", "completed", "delete", "search", "isEditing", "hidden", "placeholder", "conditionCreatable", "conditionConfig", "existingConditions", "autoScroll", "ngModel", "showFootAction"], [1, "search-suffix"], ["class", "search-clear", 4, "ngIf"], ["class", "search-suffix", 4, "ngIf"], [1, "search-clear"], ["icon", "xmark_small", "size", "14", 1, "tw-text-n-4", "tw-cursor-pointer", 3, "click", "ngClass"], [1, "suffix-wrapper"], ["icon", "magnifier", 1, "tw-text-n-4", "tw-cursor-pointer", 3, "click", "ngClass"]], template: function MultiSearchComponent_Template(rf, ctx) { if (rf & 1) {
|
|
308
308
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
309
309
|
i0.ɵɵelementStart(0, "div", 3, 0);
|
|
310
310
|
i0.ɵɵpipe(2, "async");
|
|
@@ -325,15 +325,16 @@ export class MultiSearchComponent {
|
|
|
325
325
|
i0.ɵɵelementEnd()();
|
|
326
326
|
} if (rf & 2) {
|
|
327
327
|
let tmp_4_0;
|
|
328
|
-
let
|
|
329
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(
|
|
328
|
+
let tmp_19_0;
|
|
329
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(30, _c3, i0.ɵɵpipeBind1(2, 18, ctx.focus$$)));
|
|
330
330
|
i0.ɵɵadvance(3);
|
|
331
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(
|
|
331
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(32, _c4, (tmp_4_0 = i0.ɵɵpipeBind1(5, 20, ctx.existingConditions$)) == null ? null : tmp_4_0.length, !((tmp_4_0 = i0.ɵɵpipeBind1(6, 22, ctx.existingConditions$)) == null ? null : tmp_4_0.length)))("placeholder", ctx.placeholder)("conditionCreatable", ctx.conditionCreatable)("existingConditions", ctx.existingConditions)("conditionConfig", ctx.conditionConfig)("showFootAction", ctx.showFootAction);
|
|
332
332
|
i0.ɵɵadvance(4);
|
|
333
|
-
i0.ɵɵproperty("isEditing", true)("hidden", i0.ɵɵpipeBind1(9,
|
|
333
|
+
i0.ɵɵproperty("isEditing", true)("hidden", i0.ɵɵpipeBind1(9, 24, ctx.addedInputShouldHidden$))("placeholder", ctx.placeholder)("conditionCreatable", ctx.conditionCreatable)("conditionConfig", ctx.conditionConfig)("existingConditions", i0.ɵɵpipeBind1(10, 26, ctx.existingConditions$))("autoScroll", ctx.autoScroll);
|
|
334
334
|
i0.ɵɵtwoWayProperty("ngModel", ctx.addedCondition);
|
|
335
|
+
i0.ɵɵproperty("showFootAction", ctx.showFootAction);
|
|
335
336
|
i0.ɵɵadvance(5);
|
|
336
|
-
i0.ɵɵproperty("ngIf", (
|
|
337
|
+
i0.ɵɵproperty("ngIf", (tmp_19_0 = i0.ɵɵpipeBind1(13, 28, ctx.existingConditions$)) == null ? null : tmp_19_0.length);
|
|
337
338
|
i0.ɵɵadvance(2);
|
|
338
339
|
i0.ɵɵproperty("ngIf", ctx.searchSuffix);
|
|
339
340
|
} }, dependencies: [NgClass,
|
|
@@ -365,7 +366,7 @@ __decorate([
|
|
|
365
366
|
InputComponent,
|
|
366
367
|
FormsModule,
|
|
367
368
|
IconComponent,
|
|
368
|
-
], template: "<div\n class=\"aui-input multi-search\"\n #multiSearch\n [ngClass]=\"{\n 'search-focus': focus$$ | async,\n }\"\n>\n <!-- \u5DF2\u9009\u62E9\u7C7B\u76EEtags -->\n <acl-multi-search-tags\n #tagsRef\n [ngClass]=\"{\n 'tags-width-with-delete': $any(existingConditions$ | async)?.length,\n 'tags-width': !$any(existingConditions$ | async)?.length,\n }\"\n [placeholder]=\"placeholder\"\n [conditionCreatable]=\"conditionCreatable\"\n [existingConditions]=\"existingConditions\"\n [conditionConfig]=\"conditionConfig\"\n (removeCondition)=\"removeCondition($event)\"\n (setConditionEditing)=\"setConditionEditing($event)\"\n (setConditionDeleting)=\"setConditionDeleting($event)\"\n (search)=\"doSearch()\"\n (completed)=\"complete($event)\"\n >\n <!-- \u672B\u5C3E\u8F93\u5165\u6846 -->\n <acl-multi-search-action-input\n #inputRef\n class=\"input-wrapper\"\n [isEditing]=\"true\"\n [hidden]=\"addedInputShouldHidden$ | async\"\n [placeholder]=\"placeholder\"\n [conditionCreatable]=\"conditionCreatable\"\n [conditionConfig]=\"conditionConfig\"\n [existingConditions]=\"existingConditions$ | async\"\n [autoScroll]=\"autoScroll\"\n [(ngModel)]=\"addedCondition\"\n (completed)=\"complete($event)\"\n (delete)=\"setConditionDeleting()\"\n (search)=\"doSearch()\"\n ></acl-multi-search-action-input>\n </acl-multi-search-tags>\n\n <div class=\"search-suffix\">\n <div\n *ngIf=\"$any(existingConditions$ | async)?.length\"\n class=\"search-clear\"\n >\n <aui-icon\n class=\"tw-text-n-4 tw-cursor-pointer\"\n [ngClass]=\"CLEAR_ICON_CLASS\"\n icon=\"xmark_small\"\n size=\"14\"\n (click)=\"clearConditions(); doSearch(); $event.stopPropagation()\"\n ></aui-icon>\n </div>\n <div\n class=\"search-suffix\"\n *ngIf=\"searchSuffix\"\n >\n <div class=\"suffix-wrapper\">\n <aui-icon\n class=\"tw-text-n-4 tw-cursor-pointer\"\n [ngClass]=\"SEARCH_ICON_CLASS\"\n icon=\"magnifier\"\n (click)=\"doSearch(); $event.stopPropagation()\"\n ></aui-icon>\n </div>\n </div>\n </div>\n</div>\n", styles: [":host{min-width:0}.multi-search{min-width:240px;height:max-content;display:flex;align-items:stretch;padding:0;overflow-y:auto}.multi-search .tags-width{width:calc(100% - 30px)}.multi-search .tags-width-with-delete{width:calc(100% - 48px)}.multi-search .search-clear{width:18px;display:flex;align-items:center}.multi-search .search-clear-icon ::ng-deep .aui-icon{border-radius:50%}.multi-search .search-clear-icon ::ng-deep .aui-icon:hover{color:rgb(var(--aui-color-n-10));background-color:rgb(var(--aui-color-n-5))!important}.multi-search .search-suffix{display:flex;text-align:center}.multi-search .search-suffix .suffix-wrapper{margin-top:4px;margin-bottom:4px;height:calc(100% - 8px);border-left:solid 1px rgb(var(--aui-color-n-7));min-width:30px;display:flex;align-items:center;justify-content:center}.multi-search .search-suffix .suffix-wrapper aui-icon:hover{color:rgb(var(--aui-color-blue))}.search-focus{border-color:rgb(var(--aui-color-primary));box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}\n"] }]
|
|
369
|
+
], template: "<div\n class=\"aui-input multi-search\"\n #multiSearch\n [ngClass]=\"{\n 'search-focus': focus$$ | async,\n }\"\n>\n <!-- \u5DF2\u9009\u62E9\u7C7B\u76EEtags -->\n <acl-multi-search-tags\n #tagsRef\n [ngClass]=\"{\n 'tags-width-with-delete': $any(existingConditions$ | async)?.length,\n 'tags-width': !$any(existingConditions$ | async)?.length,\n }\"\n [placeholder]=\"placeholder\"\n [conditionCreatable]=\"conditionCreatable\"\n [existingConditions]=\"existingConditions\"\n [conditionConfig]=\"conditionConfig\"\n (removeCondition)=\"removeCondition($event)\"\n (setConditionEditing)=\"setConditionEditing($event)\"\n (setConditionDeleting)=\"setConditionDeleting($event)\"\n [showFootAction]=\"showFootAction\"\n (search)=\"doSearch()\"\n (completed)=\"complete($event)\"\n >\n <!-- \u672B\u5C3E\u8F93\u5165\u6846 -->\n <acl-multi-search-action-input\n #inputRef\n class=\"input-wrapper\"\n [isEditing]=\"true\"\n [hidden]=\"addedInputShouldHidden$ | async\"\n [placeholder]=\"placeholder\"\n [conditionCreatable]=\"conditionCreatable\"\n [conditionConfig]=\"conditionConfig\"\n [existingConditions]=\"existingConditions$ | async\"\n [autoScroll]=\"autoScroll\"\n [(ngModel)]=\"addedCondition\"\n [showFootAction]=\"showFootAction\"\n (completed)=\"complete($event)\"\n (delete)=\"setConditionDeleting()\"\n (search)=\"doSearch()\"\n ></acl-multi-search-action-input>\n </acl-multi-search-tags>\n\n <div class=\"search-suffix\">\n <div\n *ngIf=\"$any(existingConditions$ | async)?.length\"\n class=\"search-clear\"\n >\n <aui-icon\n class=\"tw-text-n-4 tw-cursor-pointer\"\n [ngClass]=\"CLEAR_ICON_CLASS\"\n icon=\"xmark_small\"\n size=\"14\"\n (click)=\"clearConditions(); doSearch(); $event.stopPropagation()\"\n ></aui-icon>\n </div>\n <div\n class=\"search-suffix\"\n *ngIf=\"searchSuffix\"\n >\n <div class=\"suffix-wrapper\">\n <aui-icon\n class=\"tw-text-n-4 tw-cursor-pointer\"\n [ngClass]=\"SEARCH_ICON_CLASS\"\n icon=\"magnifier\"\n (click)=\"doSearch(); $event.stopPropagation()\"\n ></aui-icon>\n </div>\n </div>\n </div>\n</div>\n", styles: [":host{min-width:0}.multi-search{min-width:240px;height:max-content;display:flex;align-items:stretch;padding:0;overflow-y:auto}.multi-search .tags-width{width:calc(100% - 30px)}.multi-search .tags-width-with-delete{width:calc(100% - 48px)}.multi-search .search-clear{width:18px;display:flex;align-items:center}.multi-search .search-clear-icon ::ng-deep .aui-icon{border-radius:50%}.multi-search .search-clear-icon ::ng-deep .aui-icon:hover{color:rgb(var(--aui-color-n-10));background-color:rgb(var(--aui-color-n-5))!important}.multi-search .search-suffix{display:flex;text-align:center}.multi-search .search-suffix .suffix-wrapper{margin-top:4px;margin-bottom:4px;height:calc(100% - 8px);border-left:solid 1px rgb(var(--aui-color-n-7));min-width:30px;display:flex;align-items:center;justify-content:center}.multi-search .search-suffix .suffix-wrapper aui-icon:hover{color:rgb(var(--aui-color-blue))}.search-focus{border-color:rgb(var(--aui-color-primary));box-shadow:0 0 0 2px rgba(var(--aui-color-primary),.16)}\n"] }]
|
|
369
370
|
}], () => [{ type: i0.ChangeDetectorRef }], { placeholder: [{
|
|
370
371
|
type: Input
|
|
371
372
|
}], conditionCreatable: [{
|
|
@@ -380,6 +381,8 @@ __decorate([
|
|
|
380
381
|
type: Input
|
|
381
382
|
}], search: [{
|
|
382
383
|
type: Output
|
|
384
|
+
}], showFootAction: [{
|
|
385
|
+
type: Input
|
|
383
386
|
}], conditionsChange: [{
|
|
384
387
|
type: Output
|
|
385
388
|
}], normalInputComponent: [{
|
|
@@ -393,4 +396,4 @@ __decorate([
|
|
|
393
396
|
args: ['multiSearch', { static: true }]
|
|
394
397
|
}] }); })();
|
|
395
398
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MultiSearchComponent, { className: "MultiSearchComponent", filePath: "multi-search/form/component.ts", lineNumber: 67 }); })();
|
|
396
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL211bHRpLXNlYXJjaC9mb3JtL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9tdWx0aS1zZWFyY2gvZm9ybS90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEQsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLFNBQVMsRUFDVCxHQUFHLEVBQ0gsS0FBSyxFQUNMLFVBQVUsRUFDVixJQUFJLEVBQ0osT0FBTyxFQUNQLElBQUksRUFDSixTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUNMLE9BQU8sRUFDUCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFFBQVEsR0FDVCxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7O0lDVXBFLEFBSkYsOEJBR0MsbUJBT0U7SUFEQyxtS0FBUyx3QkFBaUIsRUFBRSxpQkFBVSx3QkFBRSx3QkFBd0IsS0FBQztJQUVyRSxBQURHLGlCQUFXLEVBQ1I7OztJQUxGLGNBQTRCO0lBQTVCLGlEQUE0Qjs7OztJQVc1QixBQURGLEFBSkYsOEJBR0MsY0FDNkIsbUJBTXpCO0lBREMsbUtBQVMsaUJBQVUsd0JBQUUsd0JBQXdCLEtBQUM7SUFHcEQsQUFERSxBQURHLGlCQUFXLEVBQ1IsRUFDRjs7O0lBTEEsZUFBNkI7SUFBN0Isa0RBQTZCOztBRGxCdkMsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQVcsR0FBRyxDQUFDO0FBc0I1QyxNQUFNLE9BQU8sb0JBQW9CO0lBaUovQixJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLElBQUksSUFBSSxDQUFDLGtCQUFrQjtZQUN4RCxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQjtZQUMzQixDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUM7SUFDekMsQ0FBQztJQU1ELFlBQStCLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBekpyRCxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUd6Qix1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFpQnBDLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFHM0IsaUJBQVksR0FBWSxJQUFJLENBQUM7UUFFN0IsT0FBTztRQUVQLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUUvQyxPQUFPO1FBRVAscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFhekQsMEJBQTBCO1FBQzFCLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUU5QyxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVoQyxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUUxQixDQUFDO1FBRUosdUJBQWtCLEdBQTJCLEVBQUUsQ0FBQztRQUNoRCx3QkFBbUIsR0FBRyxLQUFLLENBQ3pCLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzNELEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxFQUFFLEVBQUU7WUFDcEMsTUFBTSxHQUFHLEdBQ1AsVUFBVSxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDMUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FDekMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsU0FBUyxDQUN2RCxDQUFDO2dCQUNGLE1BQU0sTUFBTSxHQUFHLGVBQWUsRUFBRSxJQUFJLENBQ2xDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLFNBQVMsQ0FDekQsQ0FBQztnQkFFRiwyQ0FBMkM7Z0JBQzNDLHNDQUFzQztnQkFDdEMsZ0NBQWdDO2dCQUNoQyxNQUFNLE9BQU8sR0FBRztvQkFDZCxHQUFHLEtBQUs7b0JBQ1IsR0FBRyxNQUFNO2lCQUNWLENBQUM7Z0JBRUYsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDO29CQUNyQixDQUFDLENBQUU7d0JBQ0MsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxTQUFTLEVBQUU7d0JBQ3pDLFFBQVEsRUFBRSxTQUFTLENBQUMsUUFBUTt3QkFDNUIsY0FBYyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQzs0QkFDOUMsS0FBSzt5QkFDTixDQUFDLENBQUM7cUJBQ3FCO29CQUM1QixDQUFDLENBQUU7d0JBQ0MsR0FBRyxPQUFPO3dCQUNWLFFBQVEsRUFBRSxTQUFTLENBQUMsUUFBUTt3QkFDNUIsY0FBYyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFOzRCQUM1QyxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FDL0IsWUFBWSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FDN0MsQ0FBQzs0QkFDRixPQUFPLElBQUk7Z0NBQ1QsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUU7Z0NBQ2IsQ0FBQyxDQUFDO29DQUNFLEtBQUs7aUNBQ04sQ0FBQzt3QkFDUixDQUFDLENBQUM7cUJBQ3NCLENBQUM7WUFDakMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1gsT0FBTyxDQUFDLENBQXlCLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FDSCxFQUNELElBQUksQ0FBQyxlQUFlLENBQ3JCLENBQUMsSUFBSSxDQUNKLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUE0QixDQUFDLEVBQzFELEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUMvQyxDQUFDLENBQUMsRUFDRixVQUFVLEVBQUUsQ0FDYixDQUFDO1FBRUYsdUJBQWtCLEdBQVksSUFBSSxDQUFDO1FBQ25DLHdCQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQ2pELEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQ3ZCLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUM3RCxFQUNELEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUMsQ0FBQyxFQUN6RSxVQUFVLEVBQUUsQ0FDYixDQUFDO1FBRUYsd0JBQW1CLEdBQVksSUFBSSxDQUFDO1FBQ3BDLHlCQUFvQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQ2xELEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQ3ZCLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUM5RCxFQUNELEdBQUcsQ0FDRCxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsbUJBQW1CLENBQUMsQ0FDeEUsRUFDRCxVQUFVLEVBQUUsQ0FDYixDQUFDO1FBRUYsNEJBQXVCLEdBQUcsYUFBYSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxtQkFBbUI7WUFDeEIsSUFBSSxDQUFDLG9CQUFvQjtZQUN6QixJQUFJLENBQUMsbUJBQW1CO1NBQ3pCLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsQ0FBQyxFQUFFLEVBQUU7WUFDcEUsT0FBTyxDQUNMLENBQUMsQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDO2dCQUM3QyxrQkFBa0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUNoQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLEVBQ0YsVUFBVSxFQUFFLENBQ2IsQ0FBQztRQVFGLHFCQUFnQixHQUFHLG1CQUFtQixDQUFDO1FBRXZDLHNCQUFpQixHQUFHLGFBQWEsQ0FBQztRQUdoQyxJQUFJLENBQUMsbUJBQW1CO2FBQ3JCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUN6QixvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUN4RDthQUNBLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO1lBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztRQUN6RSxDQUFDLENBQUMsQ0FBQztRQUNMLCtDQUErQztRQUMvQywwQ0FBMEM7UUFDMUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO2FBQ2pELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQy9CLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBaUIsQ0FBQztZQUV2QyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ2xDLE9BQU87WUFDVCxDQUFDO1lBRUQsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDekQsNEJBQTRCO2dCQUU1QiwwQkFBMEI7Z0JBQzFCLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7b0JBQ2xDLElBQUksUUFBUSxDQUFDLGFBQWEsS0FBSyxJQUFJLENBQUMsY0FBYyxFQUFFLFlBQVksRUFBRSxDQUFDO3dCQUNqRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQzt3QkFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDNUIsQ0FBQztvQkFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNwQyxDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFFdkIscUNBQXFDO2dCQUN2QyxDQUFDO2dCQUNELDRCQUE0QjtZQUM5QixDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sV0FBVyxDQUFDLE9BQWdCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FDdkQsQ0FBQztJQUNKLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxPQUFnQjtRQUN2QyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FDdkIsT0FBTyxFQUNQLE9BQU8sQ0FBQyxFQUFFLENBQ1IsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7WUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7WUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUNuRCxDQUFDO0lBQ0osQ0FBQztJQUVPLGlCQUFpQixDQUFDLE9BQWdCO1FBQ3hDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUN2QixPQUFPLEVBQ1AsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxLQUFLLGFBQWEsQ0FDN0MsQ0FBQztJQUNKLENBQUM7SUFFTyxZQUFZLENBQUMsT0FBZ0IsRUFBRSxFQUEyQjtRQUNoRSxPQUFPLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQy9CLE9BQU8sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQ2xDLENBQUM7UUFFRCxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVPLGNBQWMsQ0FDcEIsYUFBc0IsS0FBSyxFQUMzQixjQUF1QixLQUFLO1FBRTVCLElBQUksQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQWlCO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFjO1FBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxPQUFPO0lBQ1AsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUI7YUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3hDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCxJQUFJLENBQUMsaUJBQWlCLENBQ3BCLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUN4RCxDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO0lBQ1gsZUFBZTtRQUNiLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUF5QixFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsU0FBUztJQUNULGVBQWUsQ0FBQyxTQUErQjtRQUM3QyxNQUFNLE1BQU0sR0FBRyxDQUFDLGtCQUEwQyxFQUFFLEVBQUU7WUFDNUQsTUFBTSxHQUFHLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxDQUN0QyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUN6RCxDQUFDO1lBQ0Ysa0JBQWtCLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNsQyxPQUFPLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQztRQUNGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxPQUFPO0lBQ1AsZUFBZSxDQUFDLFNBQStCLEVBQUUsS0FBYTtRQUM1RCxNQUFNLE9BQU8sR0FBRyxDQUFDLGtCQUEwQyxFQUFFLEVBQUU7WUFDN0QsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDZCxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNqRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sa0JBQWtCLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN0QyxDQUFDO1lBQ0QsT0FBTyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsY0FBYztJQUNkLFlBQVksQ0FBQyxlQUFxQztRQUNoRCxNQUFNLElBQUksR0FBRyxDQUFDLGtCQUEwQyxFQUFFLEVBQUU7WUFDMUQsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3pDLE9BQU8sQ0FBQyxHQUFHLGtCQUFrQixDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELHFCQUFxQjtJQUNyQixtQkFBbUIsQ0FBQyxTQUErQjtRQUNqRCxJQUFJLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUM7WUFBRSxPQUFPO1FBQ3JELE1BQU0sT0FBTyxHQUFHLENBQUMsa0JBQTBDLEVBQUUsRUFBRTtZQUM3RCxJQUFJLENBQUMsa0JBQWtCO2dCQUFFLE9BQU87WUFDaEMsTUFBTSxHQUFHLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxDQUN0QyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUN6RCxDQUFDO1lBRUYsTUFBTSxtQkFBbUIsR0FBRztnQkFDMUIsR0FBRyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUMzQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDN0MsQ0FBQztZQUVGLE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQ3ZELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FDNUIsQ0FBQztZQUNGLHlDQUF5QztZQUN6QywwRkFBMEY7WUFDMUYsSUFBSSxpQkFBaUIsSUFBSSxJQUFJLENBQUMsY0FBYztnQkFBRSxPQUFPLGtCQUFrQixDQUFDO1lBRXhFLE1BQU0sSUFBSSxHQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JDLCtCQUErQjtZQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUV0QixJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQyxPQUFPLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQztRQUVGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxxQkFBcUI7SUFDckIsb0JBQW9CLENBQUMsS0FBYztRQUNqQyxNQUFNLE9BQU8sR0FBRyxDQUFDLGtCQUEwQyxFQUFFLEVBQUU7WUFDN0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7Z0JBQ3ZDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7Z0JBQzNCLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUU5QixJQUFJLFNBQVMsRUFBRSxDQUFDO2dCQUNkLEdBQUcsQ0FBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNuQyxTQUFTLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQyxDQUFDO1lBRUQsT0FBTyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUM7UUFDRixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsUUFBUSxDQUFDLEVBQ1AsZUFBZSxFQUNmLFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxHQU1OO1FBQ0MsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixlQUFlLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUNsQyxlQUFlLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUNyQyxDQUFDO1FBRUQsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDL0MsQ0FBQzthQUFNLElBQUksZUFBZSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsT0FBTztRQUNQLElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBRU8sd0JBQXdCLENBQUMsU0FBK0I7UUFDOUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FDbEQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUMvQyxDQUFDO1FBQ0YsOEVBQThFO1FBQzlFLDhGQUE4RjtRQUM5RixPQUFPLENBQUMsUUFBUSxJQUFJLFNBQVMsQ0FBQyxRQUFRLEtBQUssZ0JBQWdCLENBQUM7SUFDOUQsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFVBQWtDO1FBQzFELE9BQU8sVUFBVSxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbkMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSztZQUNwQyxRQUFRLEVBQUUsU0FBUyxDQUFDLFFBQVE7WUFDNUIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7U0FDbEUsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsaUJBQWlCLENBQUMsU0FBK0I7UUFDL0MsT0FBTyxTQUFTLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUM7SUFDckQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7cUZBdlpVLG9CQUFvQjtvRUFBcEIsb0JBQW9COzs7Ozs7Ozs7OztZQ2xFakMsaUNBTUM7O1lBRUMsbURBZUM7OztZQURDLEFBREEsQUFEQSxBQURBLEFBREEsZ0xBQW1CLDJCQUF1QixLQUFDLDJLQUNwQiwrQkFBMkIsS0FBQyw2S0FDM0IsZ0NBQTRCLEtBQUMsMklBQzNDLGNBQVUsS0FBQyx1SkFDUixvQkFBZ0IsS0FBQztZQUc5QiwyREFjQzs7O1lBSkMseVJBQTRCO1lBRzVCLEFBREEsQUFEQSw0S0FBYSxvQkFBZ0IsS0FBQyxtSkFDcEIsMEJBQXNCLEtBQUMsbUpBQ3ZCLGNBQVUsS0FBQztZQUV6QixBQURHLGlCQUFnQyxFQUNYO1lBRXhCLCtCQUEyQjtZQUN6Qix1RUFHQzs7WUFTRCx1RUFHQztZQVdMLEFBREUsaUJBQU0sRUFDRjs7OztZQWxFSix5RkFFRTtZQUtBLGVBR0U7WUFJRixBQURBLEFBREEsQUFEQSxBQUpBLGdQQUdFLGdDQUN5Qiw4Q0FDYyw4Q0FDQSx3Q0FDTjtZQVdqQyxlQUFrQjtZQU1sQixBQURBLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSxnQ0FBa0IsOERBQ3dCLGdDQUNmLDhDQUNjLHdDQUNOLHVFQUNlLDhCQUN6QjtZQUN6QixrREFBNEI7WUFTM0IsZUFBK0M7WUFBL0Msb0hBQStDO1lBYS9DLGVBQWtCO1lBQWxCLHVDQUFrQjs0QkRKckIsT0FBTztZQUNQLFNBQVM7WUFHVCwrQkFBK0I7WUFDL0Isd0JBQXdCO1lBRXhCLElBQUk7WUFFSixXQUFXLGtDQUNYLGFBQWE7O0FBZWY7SUFEQyxlQUFlLEVBQUU7OEJBQ0osVUFBVTt5REFBb0I7QUFPNUM7SUFEQyxlQUFlLEVBQUU7OEJBQ0MsVUFBVTs4REFBMEI7aUZBbkI1QyxvQkFBb0I7Y0FwQmhDLFNBQVM7MkJBQ0Usa0JBQWtCLGNBQ2hCLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QztvQkFDUCxPQUFPO29CQUNQLFNBQVM7b0JBQ1QsWUFBWTtvQkFDWixRQUFRO29CQUNSLCtCQUErQjtvQkFDL0Isd0JBQXdCO29CQUN4QixLQUFLO29CQUNMLElBQUk7b0JBQ0osY0FBYztvQkFDZCxXQUFXO29CQUNYLGFBQWE7aUJBQ2Q7a0RBSUQsV0FBVztrQkFEVixLQUFLO1lBSU4sa0JBQWtCO2tCQURqQixLQUFLO1lBS04sVUFBVTtrQkFEVCxLQUFLO1lBSU4sV0FBVyxNQUlYLGVBQWU7a0JBRGQsS0FBSztZQUlOLGdCQUFnQixNQUdoQixVQUFVO2tCQURULEtBQUs7WUFJTixZQUFZO2tCQURYLEtBQUs7WUFLTixNQUFNO2tCQURMLE1BQU07WUFLUCxnQkFBZ0I7a0JBRGYsTUFBTTtZQUlQLG9CQUFvQjtrQkFEbkIsU0FBUzttQkFBQyxVQUFVO1lBSXJCLGFBQWE7a0JBRFosU0FBUzttQkFBQyxTQUFTO1lBSXBCLGNBQWM7a0JBRGIsU0FBUzttQkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFOztrRkF6Qy9CLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEljb25Db21wb25lbnQsIElucHV0Q29tcG9uZW50LCBUYWdDb21wb25lbnQgfSBmcm9tICdAYWxhdWRhL3VpJztcbmltcG9ydCB7IEFzeW5jUGlwZSwgTmdDbGFzcywgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGlzRW1wdHksIHNldCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmcm9tRXZlbnQsXG4gIG1hcCxcbiAgbWVyZ2UsXG4gIE9ic2VydmFibGUsXG4gIHNjYW4sXG4gIFN1YmplY3QsXG4gIHRha2UsXG4gIHRha2VVbnRpbCxcbiAgdGFwLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgaXNFcXVhbCxcbiAgT2JzZXJ2YWJsZUlucHV0LFxuICBwdWJsaXNoUmVmLFxuICBQdXJlUGlwZSxcbn0gZnJvbSAnLi4vLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IE11bHRpU2VhcmNoQWN0aW9uSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpb24taW5wdXQvY29tcG9uZW50JztcbmltcG9ydCB7IE11bHRpU2VhcmNoVGFnc0NvbXBvbmVudCB9IGZyb20gJy4uL211bHRpLXNlYXJjaC10YWdzL2NvbXBvbmVudCc7XG5pbXBvcnQge1xuICBTZWFyY2hDb25kaXRpb25Db25maWcsXG4gIFNlYXJjaENvbmRpdGlvbixcbiAgU2VhcmNoQ29uZGl0aW9uTW9kZWwsXG59IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfT1BFUkFUT1I6IHN0cmluZyA9ICc9JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLW11bHRpLXNlYXJjaCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0NsYXNzLFxuICAgIEFzeW5jUGlwZSxcbiAgICBUYWdDb21wb25lbnQsXG4gICAgUHVyZVBpcGUsXG4gICAgTXVsdGlTZWFyY2hBY3Rpb25JbnB1dENvbXBvbmVudCxcbiAgICBNdWx0aVNlYXJjaFRhZ3NDb21wb25lbnQsXG4gICAgTmdGb3IsXG4gICAgTmdJZixcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBJY29uQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBNdWx0aVNlYXJjaENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKVxuICBjb25kaXRpb25DcmVhdGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBzZWFyY2ggdmFsdWVcbiAgQElucHV0KClcbiAgY29uZGl0aW9uczogU2VhcmNoQ29uZGl0aW9uW107XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGNvbmRpdGlvbnMkITogT2JzZXJ2YWJsZTxTZWFyY2hDb25kaXRpb25bXT47XG5cbiAgLy8g57G755uu6YWN572uXG4gIEBJbnB1dCgpXG4gIGNvbmRpdGlvbkNvbmZpZzogU2VhcmNoQ29uZGl0aW9uQ29uZmlnW107XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGNvbmRpdGlvbkNvbmZpZyQhOiBPYnNlcnZhYmxlPFNlYXJjaENvbmRpdGlvbkNvbmZpZ1tdPjtcblxuICBASW5wdXQoKVxuICBhdXRvU2Nyb2xsOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBzZWFyY2hTdWZmaXg6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8vIOaQnOe0ouaTjeS9nFxuICBAT3V0cHV0KClcbiAgc2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjxTZWFyY2hDb25kaXRpb25bXT4oKTtcblxuICAvLyDmnaHku7blj5jljJZcbiAgQE91dHB1dCgpXG4gIGNvbmRpdGlvbnNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNlYXJjaENvbmRpdGlvbltdPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0UmVmJylcbiAgbm9ybWFsSW5wdXRDb21wb25lbnQ6IE11bHRpU2VhcmNoQWN0aW9uSW5wdXRDb21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZCgndGFnc1JlZicpXG4gIHRhZ3NDb21wb25lbnQ6IE11bHRpU2VhcmNoVGFnc0NvbXBvbmVudDtcblxuICBAVmlld0NoaWxkKCdtdWx0aVNlYXJjaCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIG11bHRpU2VhcmNoUmVmOiBFbGVtZW50UmVmO1xuXG4gIGFkZGVkQ29uZGl0aW9uOiBTZWFyY2hDb25kaXRpb25Nb2RlbDtcblxuICAvLyDlvZPliY1tdWx0aS1zZWFyY2jnu4Tku7bmmK/lkKZmb2N1c1xuICBmb2N1cyQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgZGVzdHJveSQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBhY3Rpb25TY2FubmVyJCQgPSBuZXcgU3ViamVjdDxcbiAgICAoaXRlbXM6IFNlYXJjaENvbmRpdGlvbk1vZGVsW10pID0+IFNlYXJjaENvbmRpdGlvbk1vZGVsW11cbiAgPigpO1xuXG4gIGV4aXN0aW5nQ29uZGl0aW9uczogU2VhcmNoQ29uZGl0aW9uTW9kZWxbXSA9IFtdO1xuICBleGlzdGluZ0NvbmRpdGlvbnMkID0gbWVyZ2UoXG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5jb25kaXRpb25zJCwgdGhpcy5jb25kaXRpb25Db25maWckXSkucGlwZShcbiAgICAgIG1hcCgoW2NvbmRpdGlvbnMsIGNvbmRpdGlvbkNvbmZpZ10pID0+IHtcbiAgICAgICAgY29uc3QgcmVzID1cbiAgICAgICAgICBjb25kaXRpb25zPy5tYXAoY29uZGl0aW9uID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGV4aXN0ID0gdGhpcy5leGlzdGluZ0NvbmRpdGlvbnM/LmZpbmQoXG4gICAgICAgICAgICAgIGV4aXN0ID0+IGV4aXN0LmNvbmRpdGlvbi52YWx1ZSA9PT0gY29uZGl0aW9uLmNvbmRpdGlvbixcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjb25zdCBjb25maWcgPSBjb25kaXRpb25Db25maWc/LmZpbmQoXG4gICAgICAgICAgICAgIGNvbmZpZyA9PiBjb25maWcuY29uZGl0aW9uLnZhbHVlID09PSBjb25kaXRpb24uY29uZGl0aW9uLFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLy8g5omA57un5om/55qE5pWw5o2u77yM6Iul5bey5a2Y5ZyoZXhpc3TvvIzliJnnu6fmib9leGlzdO+8m+iLpeS4jeWtmOWcqO+8jOWImee7p+aJv2NvbmZpZ1xuICAgICAgICAgICAgLy8g5q2k5aSE55qE57un5om/5piv5Li65LqG6Ziy5q2i5aSW55WMY29uZGl0aW9uc+aVsOaNrueahOWPmOWMluWvvOiHtOaTjeS9nOeKtuaAgeWIt+aWsFxuICAgICAgICAgICAgLy8g5Zug5q2k77yM6Zmk5LqGY29uZGl0aW9uc+aVsOaNruWklueahOmZhOWKoOaVsOaNru+8jOmDveW6lOivpee7p+aJv1xuICAgICAgICAgICAgY29uc3QgaW5oZXJpdCA9IHtcbiAgICAgICAgICAgICAgLi4uZXhpc3QsXG4gICAgICAgICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHJldHVybiBpc0VtcHR5KGluaGVyaXQpXG4gICAgICAgICAgICAgID8gKHtcbiAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbjogeyB2YWx1ZTogY29uZGl0aW9uLmNvbmRpdGlvbiB9LFxuICAgICAgICAgICAgICAgICAgb3BlcmF0b3I6IGNvbmRpdGlvbi5vcGVyYXRvcixcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkVmFsdWVzOiBjb25kaXRpb24udmFsdWVzPy5tYXAodmFsdWUgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgfSBhcyBTZWFyY2hDb25kaXRpb25Nb2RlbClcbiAgICAgICAgICAgICAgOiAoe1xuICAgICAgICAgICAgICAgICAgLi4uaW5oZXJpdCxcbiAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOiBjb25kaXRpb24ub3BlcmF0b3IsXG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZFZhbHVlczogY29uZGl0aW9uLnZhbHVlcz8ubWFwKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmluZCA9IGluaGVyaXQudmFsdWVzPy5maW5kKFxuICAgICAgICAgICAgICAgICAgICAgIGluaGVyaXRWYWx1ZSA9PiBpbmhlcml0VmFsdWUudmFsdWUgPT09IHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmluZFxuICAgICAgICAgICAgICAgICAgICAgID8geyAuLi5maW5kIH1cbiAgICAgICAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgfSBhcyBTZWFyY2hDb25kaXRpb25Nb2RlbCk7XG4gICAgICAgICAgfSkgfHwgW107XG4gICAgICAgIHJldHVybiAoXzogU2VhcmNoQ29uZGl0aW9uTW9kZWxbXSkgPT4gcmVzO1xuICAgICAgfSksXG4gICAgKSxcbiAgICB0aGlzLmFjdGlvblNjYW5uZXIkJCxcbiAgKS5waXBlKFxuICAgIHNjYW4oKGFjYywgY3VyKSA9PiBjdXIoYWNjKSwgW10gYXMgU2VhcmNoQ29uZGl0aW9uTW9kZWxbXSksXG4gICAgdGFwKGV4aXN0aW5nQ29uZGl0aW9ucyA9PiB7XG4gICAgICB0aGlzLmV4aXN0aW5nQ29uZGl0aW9ucyA9IGV4aXN0aW5nQ29uZGl0aW9ucztcbiAgICB9KSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgbm9FZGl0aW5nQ29uZGl0aW9uOiBib29sZWFuID0gdHJ1ZTtcbiAgbm9FZGl0aW5nQ29uZGl0aW9uJCA9IHRoaXMuZXhpc3RpbmdDb25kaXRpb25zJC5waXBlKFxuICAgIG1hcChleGlzdGluZ0NvbmRpdGlvbnMgPT5cbiAgICAgIGV4aXN0aW5nQ29uZGl0aW9ucz8uZXZlcnkoY29uZGl0aW9uID0+ICFjb25kaXRpb24uaXNFZGl0aW5nKSxcbiAgICApLFxuICAgIHRhcChub0VkaXRpbmdDb25kaXRpb24gPT4gKHRoaXMubm9FZGl0aW5nQ29uZGl0aW9uID0gbm9FZGl0aW5nQ29uZGl0aW9uKSksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIG5vRGVsZXRpbmdDb25kaXRpb246IGJvb2xlYW4gPSB0cnVlO1xuICBub0RlbGV0aW5nQ29uZGl0aW9uJCA9IHRoaXMuZXhpc3RpbmdDb25kaXRpb25zJC5waXBlKFxuICAgIG1hcChleGlzdGluZ0NvbmRpdGlvbnMgPT5cbiAgICAgIGV4aXN0aW5nQ29uZGl0aW9ucz8uZXZlcnkoY29uZGl0aW9uID0+ICFjb25kaXRpb24uaXNEZWxldGluZyksXG4gICAgKSxcbiAgICB0YXAoXG4gICAgICBub0RlbGV0aW5nQ29uZGl0aW9uID0+ICh0aGlzLm5vRGVsZXRpbmdDb25kaXRpb24gPSBub0RlbGV0aW5nQ29uZGl0aW9uKSxcbiAgICApLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBhZGRlZElucHV0U2hvdWxkSGlkZGVuJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMubm9FZGl0aW5nQ29uZGl0aW9uJCxcbiAgICB0aGlzLm5vRGVsZXRpbmdDb25kaXRpb24kLFxuICAgIHRoaXMuZXhpc3RpbmdDb25kaXRpb25zJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtub0VkaXRpbmdDb25kaXRpb24sIG5vRGVsZXRpbmdDb25kaXRpb24sIGV4aXN0aW5nQ29uZGl0aW9uc10pID0+IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgICghbm9FZGl0aW5nQ29uZGl0aW9uIHx8ICFub0RlbGV0aW5nQ29uZGl0aW9uKSAmJlxuICAgICAgICBleGlzdGluZ0NvbmRpdGlvbnMubGVuZ3RoICE9PSAwXG4gICAgICApO1xuICAgIH0pLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBnZXQgaW5wdXRDb21wb25lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9EZWxldGluZ0NvbmRpdGlvbiAmJiB0aGlzLm5vRWRpdGluZ0NvbmRpdGlvblxuICAgICAgPyB0aGlzLm5vcm1hbElucHV0Q29tcG9uZW50XG4gICAgICA6IHRoaXMudGFnc0NvbXBvbmVudD8uaW5wdXRDb21wb25lbnQ7XG4gIH1cblxuICBDTEVBUl9JQ09OX0NMQVNTID0gJ3NlYXJjaC1jbGVhci1pY29uJztcblxuICBTRUFSQ0hfSUNPTl9DTEFTUyA9ICdzZWFyY2gtaWNvbic7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLmV4aXN0aW5nQ29uZGl0aW9ucyRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gYT8ubGVuZ3RoID09PSBiPy5sZW5ndGgpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShleGlzdGluZ0NvbmRpdGlvbnMgPT4ge1xuICAgICAgICB0aGlzLmNvbmRpdGlvbnNDaGFuZ2UuZW1pdCh0aGlzLmdldENvbmRpdGlvbk1vZGVsKGV4aXN0aW5nQ29uZGl0aW9ucykpO1xuICAgICAgfSk7XG4gICAgLy8g5q2k5aSE55qEY2xpY2vkuovku7bnm5HlkKzkvb/nlKjkuobmjZXojrfogIzpnZ7lhpLms6HvvIzmmK/kuLrkuoborqnkuovku7bop6blj5HnmoTml7bmnLrlhYjkuo50YWcuY2xpY2tcbiAgICAvLyDoi6V0YWcuY2xpY2vlhYjop6blj5HvvIzkvJrlr7zoh7RlbGVtZW50LmNvbnRhaW5zKCnliKTmlq3lh7rplJlcbiAgICBmcm9tRXZlbnQoZG9jdW1lbnQuYm9keSwgJ2NsaWNrJywgeyBjYXB0dXJlOiB0cnVlIH0pXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpKVxuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBFbGVtZW50O1xuXG4gICAgICAgIGlmICh0aGlzLmlzU2VhcmNoQnRuKHRhcmdldCkpIHtcbiAgICAgICAgICB0aGlzLm1hbnVhbENvbXBsZXRlKGZhbHNlLCB0cnVlKTtcbiAgICAgICAgICB0aGlzLmlucHV0Q29tcG9uZW50LnRvb2xUaXBIaWRlKCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubXVsdGlTZWFyY2hSZWY/Lm5hdGl2ZUVsZW1lbnQ/LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgICAvLyDlvZPngrnlh7vljLrln5/kuLptdWx0aS1zZWFyY2jnu4Tku7bvvIzoh6rliqjogZrnhKZcblxuICAgICAgICAgIC8vIOWvueS6juaTjeS9nOaMiemSru+8jOWPquWBmmhpZGRlbiB0b29sVGlwXG4gICAgICAgICAgaWYgKHRoaXMubm90QWN0aW9uRWxlbWVudCh0YXJnZXQpKSB7XG4gICAgICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAhPT0gdGhpcy5pbnB1dENvbXBvbmVudD8uaW5wdXRFbGVtZW50KSB7XG4gICAgICAgICAgICAgIGNvbnN0IGlzRm9jdXMgPSB0aGlzLmZvY3VzJCQudmFsdWU7XG4gICAgICAgICAgICAgIHRoaXMubWFudWFsRm9jdXMoaXNGb2N1cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmlucHV0Q29tcG9uZW50LnRvb2xUaXBTaG93KCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubWFudWFsRm9jdXModHJ1ZSk7XG5cbiAgICAgICAgICAgIC8vIHRoaXMuaW5wdXRDb21wb25lbnQudG9vbFRpcEhpZGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8g5b2T54K55Ye75Yy65Z+f5Li66Z2edG9vbHRpcOeahOWFtuS7luWMuuWfn+aXtu+8jOiHquWKqOaUtue8qVxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubm90VG9vbHRpcENvbnRlbnQodGFyZ2V0KSkge1xuICAgICAgICAgIHRoaXMubWFudWFsQmx1cigpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTZWFyY2hCdG4oZWxlbWVudDogRWxlbWVudCkge1xuICAgIHJldHVybiB0aGlzLmNoZWNrRWxlbWVudChlbGVtZW50LCBlbGVtZW50ID0+XG4gICAgICBlbGVtZW50Py5jbGFzc05hbWU/LmluY2x1ZGVzPy4odGhpcy5TRUFSQ0hfSUNPTl9DTEFTUyksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgbm90QWN0aW9uRWxlbWVudChlbGVtZW50OiBFbGVtZW50KSB7XG4gICAgcmV0dXJuICF0aGlzLmNoZWNrRWxlbWVudChcbiAgICAgIGVsZW1lbnQsXG4gICAgICBlbGVtZW50ID0+XG4gICAgICAgIGVsZW1lbnQ/LmNsYXNzTmFtZT8uaW5jbHVkZXM/Lih0aGlzLkNMRUFSX0lDT05fQ0xBU1MpIHx8XG4gICAgICAgIGVsZW1lbnQ/LmNsYXNzTmFtZT8uaW5jbHVkZXM/Lih0aGlzLlNFQVJDSF9JQ09OX0NMQVNTKSB8fFxuICAgICAgICBlbGVtZW50Py5jbGFzc05hbWU/LmluY2x1ZGVzPy4oJ2F1aS10YWdfX2Nsb3NlJyksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgbm90VG9vbHRpcENvbnRlbnQoZWxlbWVudDogRWxlbWVudCkge1xuICAgIHJldHVybiAhdGhpcy5jaGVja0VsZW1lbnQoXG4gICAgICBlbGVtZW50LFxuICAgICAgZWxlbWVudCA9PiBlbGVtZW50LnRhZ05hbWUgPT09ICdBVUktVE9PTFRJUCcsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tFbGVtZW50KGVsZW1lbnQ6IEVsZW1lbnQsIGZuOiAoZTogRWxlbWVudCkgPT4gYm9vbGVhbikge1xuICAgIHdoaWxlIChlbGVtZW50ICYmICFmbihlbGVtZW50KSkge1xuICAgICAgZWxlbWVudCA9IGVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICB9XG5cbiAgICByZXR1cm4gISFlbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBtYW51YWxDb21wbGV0ZShcbiAgICB0b0NvbnRpbnVlOiBib29sZWFuID0gZmFsc2UsXG4gICAgbWFudWFsRm9jdXM6IGJvb2xlYW4gPSBmYWxzZSxcbiAgKSB7XG4gICAgdGhpcy5pbnB1dENvbXBvbmVudD8uaWZDb21wbGV0ZSh0b0NvbnRpbnVlLCBtYW51YWxGb2N1cyk7XG4gIH1cblxuICBtYW51YWxGb2N1cyhzaWxlbmNlPzogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0Rm9jdXModHJ1ZSk7XG4gICAgdGhpcy5pbnB1dENvbXBvbmVudD8ubWFudWFsRm9jdXMoc2lsZW5jZSk7XG4gIH1cblxuICBzZXRGb2N1cyhmb2N1czogYm9vbGVhbikge1xuICAgIHRoaXMuZm9jdXMkJC5uZXh0KGZvY3VzKTtcbiAgfVxuXG4gIG1hbnVhbEJsdXIoKSB7XG4gICAgdGhpcy5zZXRGb2N1cyhmYWxzZSk7XG4gICAgdGhpcy5pbnB1dENvbXBvbmVudD8ubWFudWFsQmx1cigpO1xuICB9XG5cbiAgLy8g5pCc57Si5pON5L2cXG4gIGRvU2VhcmNoKCkge1xuICAgIHRoaXMuZXhpc3RpbmdDb25kaXRpb25zJFxuICAgICAgLnBpcGUodGFrZSgxKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSlcbiAgICAgIC5zdWJzY3JpYmUoZXhpc3RzID0+IHtcbiAgICAgICAgdGhpcy5zZWFyY2guZW1pdChcbiAgICAgICAgICB0aGlzLmdldENvbmRpdGlvbk1vZGVsKFxuICAgICAgICAgICAgZXhpc3RzPy5maWx0ZXIoZXhpc3QgPT4gIXRoaXMuY29uZGl0aW9uSW5BY3Rpb24oZXhpc3QpKSxcbiAgICAgICAgICApLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gIH1cblxuICAvLyDmuIXpmaTmiYDmnInlt7LpgInmnaHku7ZcbiAgY2xlYXJDb25kaXRpb25zKCkge1xuICAgIHRoaXMuYWRkZWRDb25kaXRpb24gPSBudWxsO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIHRoaXMuYWN0aW9uU2Nhbm5lciQkLm5leHQoKF86IFNlYXJjaENvbmRpdGlvbk1vZGVsW10pID0+IFtdKTtcbiAgfVxuXG4gIC8vIOenu+mZpOW9k+WJjeadoeS7tlxuICByZW1vdmVDb25kaXRpb24oY29uZGl0aW9uOiBTZWFyY2hDb25kaXRpb25Nb2RlbCkge1xuICAgIGNvbnN0IHJlbW92ZSA9IChleGlzdGluZ0NvbmRpdGlvbnM6IFNlYXJjaENvbmRpdGlvbk1vZGVsW10pID0+IHtcbiAgICAgIGNvbnN0IGlkeCA9IGV4aXN0aW5nQ29uZGl0aW9ucy5maW5kSW5kZXgoXG4gICAgICAgIGNvbiA9PiBjb24uY29uZGl0aW9uLnZhbHVlID09PSBjb25kaXRpb24uY29uZGl0aW9uLnZhbHVlLFxuICAgICAgKTtcbiAgICAgIGV4aXN0aW5nQ29uZGl0aW9ucy5zcGxpY2UoaWR4LCAxKTtcbiAgICAgIHJldHVybiBbLi4uZXhpc3RpbmdDb25kaXRpb25zXTtcbiAgICB9O1xuICAgIHRoaXMuYWN0aW9uU2Nhbm5lciQkLm5leHQocmVtb3ZlKTtcbiAgfVxuXG4gIC8vIOabtOaWsOadoeS7tlxuICB1cGRhdGVDb25kaXRpb24oY29uZGl0aW9uOiBTZWFyY2hDb25kaXRpb25Nb2RlbCwgaW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IF91cGRhdGUgPSAoZXhpc3RpbmdDb25kaXRpb25zOiBTZWFyY2hDb25kaXRpb25Nb2RlbFtdKSA9PiB7XG4gICAgICBpZiAoY29uZGl0aW9uKSB7XG4gICAgICAgIGV4aXN0aW5nQ29uZGl0aW9ucy5zcGxpY2UoaW5kZXgsIDEsIGNvbmRpdGlvbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBleGlzdGluZ0NvbmRpdGlvbnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBbLi4uZXhpc3RpbmdDb25kaXRpb25zXTtcbiAgICB9O1xuXG4gICAgdGhpcy5hY3Rpb25TY2FubmVyJCQubmV4dChfdXBkYXRlKTtcbiAgfVxuXG4gIC8vIOa3u+WKoGNvbmRpdGlvblxuICBhZGRDb25kaXRpb24oYWN0aXZlQ29uZGl0aW9uOiBTZWFyY2hDb25kaXRpb25Nb2RlbCkge1xuICAgIGNvbnN0IF9hZGQgPSAoZXhpc3RpbmdDb25kaXRpb25zOiBTZWFyY2hDb25kaXRpb25Nb2RlbFtdKSA9PiB7XG4gICAgICBleGlzdGluZ0NvbmRpdGlvbnMucHVzaChhY3RpdmVDb25kaXRpb24pO1xuICAgICAgcmV0dXJuIFsuLi5leGlzdGluZ0NvbmRpdGlvbnNdO1xuICAgIH07XG5cbiAgICB0aGlzLmFjdGlvblNjYW5uZXIkJC5uZXh0KF9hZGQpO1xuICB9XG5cbiAgLy8g6K6+572uY29uZGl0aW9u55qE54q25oCB5Li657yW6L6R5oCBXG4gIHNldENvbmRpdGlvbkVkaXRpbmcoY29uZGl0aW9uOiBTZWFyY2hDb25kaXRpb25Nb2RlbCkge1xuICAgIGlmICh0aGlzLmlzR3JhbW1hckN1c3RvbUNvbmRpdGlvbihjb25kaXRpb24pKSByZXR1cm47XG4gICAgY29uc3QgX3VwZGF0ZSA9IChleGlzdGluZ0NvbmRpdGlvbnM6IFNlYXJjaENvbmRpdGlvbk1vZGVsW10pID0+IHtcbiAgICAgIGlmICghZXhpc3RpbmdDb25kaXRpb25zKSByZXR1cm47XG4gICAgICBjb25zdCBpZHggPSBleGlzdGluZ0NvbmRpdGlvbnMuZmluZEluZGV4KFxuICAgICAgICBjb24gPT4gY29uLmNvbmRpdGlvbi52YWx1ZSA9PT0gY29uZGl0aW9uLmNvbmRpdGlvbi52YWx1ZSxcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IGNvbmRpdGlvbnNFeGNlcHRDdXIgPSBbXG4gICAgICAgIC4uLihleGlzdGluZ0NvbmRpdGlvbnMuc2xpY2UoMCwgaWR4KSB8fCBbXSksXG4gICAgICAgIC4uLihleGlzdGluZ0NvbmRpdGlvbnMuc2xpY2UoaWR4ICsgMSkgfHwgW10pLFxuICAgICAgXTtcblxuICAgICAgY29uc3QgYWxyZWFkeUhhdmVBY3Rpb24gPSBjb25kaXRpb25zRXhjZXB0Q3VyLnNvbWUoY29uID0+XG4gICAgICAgIHRoaXMuY29uZGl0aW9uSW5BY3Rpb24oY29uKSxcbiAgICAgICk7XG4gICAgICAvLyDlvZPlt7Lnu4/lrZjlnKjmk43kvZzkuK3nmoRjb25kaXRpb27ml7bvvIzkvJrnu6fnu63nu7TmiqTkuYvliY3mk43kvZzvvIzkuK3mraLmlrDnmoTmk43kvZzooYzkuLpcbiAgICAgIC8vIOS4iui/sOWkhOeQhumAu+i+keS4u+imgeaYr+S4uuS6humBv+WFjeaTjeS9nOWIsOS4gOWNiu+8iOavlOWmguacqumAieaLqW9wZXJhdG9y44CB5pyq6YCJ5oupY29uZGl0aW9u5pe277yJ5bCx5YiH5o2i6Iez5Y+m5LiA5LiqY29uZGl0aW9u5pON5L2c77yM5q2k5pe26K+l5pyq5a6M5oiQ55qE5pON5L2c5bqU6K+l5aaC5L2V5aSE55CG77yM5pqC5pyq57uZ5a6a44CCXG4gICAgICBpZiAoYWxyZWFkeUhhdmVBY3Rpb24gfHwgdGhpcy5hZGRlZENvbmRpdGlvbikgcmV0dXJuIGV4aXN0aW5nQ29uZGl0aW9ucztcblxuICAgICAgY29uc3QgZmluZCA9IGV4aXN0aW5nQ29uZGl0aW9uc1tpZHhdO1xuICAgICAgLy8g5bCG5b2T5YmN5omA5pON5L2cY29uZGl0aW9u55qE54q25oCB6YeN572u5Li6ZWRpdGluZ1xuICAgICAgZmluZC5pc0RlbGV0aW5nID0gZmFsc2U7XG4gICAgICBmaW5kLmlzRWRpdGluZyA9IHRydWU7XG5cbiAgICAgIGZpbmQuYWN0aW9uTW9kZWwgPSBjbG9uZURlZXAoZmluZCk7XG4gICAgICByZXR1cm4gWy4uLmV4aXN0aW5nQ29uZGl0aW9uc107XG4gICAgfTtcblxuICAgIHRoaXMuYWN0aW9uU2Nhbm5lciQkLm5leHQoX3VwZGF0ZSk7XG4gIH1cblxuICAvLyDorr7nva5jb25kaXRpb27nmoTnirbmgIHkuLrliKDpmaTmgIFcbiAgc2V0Q29uZGl0aW9uRGVsZXRpbmcoaW5kZXg/OiBudW1iZXIpIHtcbiAgICBjb25zdCBfZGVsZXRlID0gKGV4aXN0aW5nQ29uZGl0aW9uczogU2VhcmNoQ29uZGl0aW9uTW9kZWxbXSkgPT4ge1xuICAgICAgY29uc3QgY29uZGl0aW9uID0gTnVtYmVyLmlzSW50ZWdlcihpbmRleClcbiAgICAgICAgPyBleGlzdGluZ0NvbmRpdGlvbnNbaW5kZXhdXG4gICAgICAgIDogZXhpc3RpbmdDb25kaXRpb25zLmF0KC0xKTtcblxuICAgICAgaWYgKGNvbmRpdGlvbikge1xuICAgICAgICBzZXQoY29uZGl0aW9uLCAnaXNEZWxldGluZycsIHRydWUpO1xuICAgICAgICBjb25kaXRpb24uYWN0aW9uTW9kZWwgPSBjbG9uZURlZXAoY29uZGl0aW9uKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIFsuLi5leGlzdGluZ0NvbmRpdGlvbnNdO1xuICAgIH07XG4gICAgdGhpcy5hY3Rpb25TY2FubmVyJCQubmV4dChfZGVsZXRlKTtcbiAgfVxuXG4gIGNvbXBsZXRlKHtcbiAgICBhY3RpdmVDb25kaXRpb24sXG4gICAgdG9Db250aW51ZSxcbiAgICBtYW51YWxGb2N1cyxcbiAgICBpbmRleCxcbiAgfToge1xuICAgIGFjdGl2ZUNvbmRpdGlvbjogU2VhcmNoQ29uZGl0aW9uTW9kZWw7XG4gICAgdG9Db250aW51ZT86IGJvb2xlYW47XG4gICAgbWFudWFsRm9jdXM/OiBib29sZWFuO1xuICAgIGluZGV4PzogbnVtYmVyO1xuICB9KSB7XG4gICAgaWYgKGFjdGl2ZUNvbmRpdGlvbikge1xuICAgICAgYWN0aXZlQ29uZGl0aW9uLmlzRWRpdGluZyA9IGZhbHNlO1xuICAgICAgYWN0aXZlQ29uZGl0aW9uLmlzRGVsZXRpbmcgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoTnVtYmVyLmlzSW50ZWdlcihpbmRleCkpIHtcbiAgICAgIHRoaXMudXBkYXRlQ29uZGl0aW9uKGFjdGl2ZUNvbmRpdGlvbiwgaW5kZXgpO1xuICAgIH0gZWxzZSBpZiAoYWN0aXZlQ29uZGl0aW9uKSB7XG4gICAgICB0aGlzLmFkZENvbmRpdGlvbihhY3RpdmVDb25kaXRpb24pO1xuICAgIH1cbiAgICAvLyDoh6rliqjogZrnhKZcbiAgICBpZiAobWFudWFsRm9jdXMpIHtcbiAgICAgIHRoaXMubWFudWFsRm9jdXMoIXRvQ29udGludWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNHcmFtbWFyQ3VzdG9tQ29uZGl0aW9uKGNvbmRpdGlvbjogU2VhcmNoQ29uZGl0aW9uTW9kZWwpOiBib29sZWFuIHtcbiAgICBjb25zdCBpbkNvbmZpZyA9IHRoaXMuY29uZGl0aW9uQ29uZmlnLnNvbWUoY29uZmlnID0+XG4gICAgICBpc0VxdWFsKGNvbmRpdGlvbi5jb25kaXRpb24sIGNvbmZpZy5jb25kaXRpb24pLFxuICAgICk7XG4gICAgLy8g5aaC5p6c5b2T5YmNY29uZGl0aW9u5LiN5ZyoY29uZmln5Lit77yM5LiUb3BlcmF0b3LkuI3kuLrpu5jorqTlgLzvvIzliJnku6PooajlvZPliY1jb25kaXRpb27mmK/nlKjmiLfpgJrov4for63ms5Xoh6rlrprkuYnnmoTvvIzmraTml7bkuI3lhYHorrjpgJrov4dVSeS/ruaUuVxuICAgIC8vIOiAg+iZkeWIsOacquadpeS8muWFgeiuuOeUqOaIt+i+k+WFpeWIm+W7umNvbmRpdGlvbu+8jOatpOaXtuaYr+WFgeiuuOeUqOaIt+mAmui/h1VJ5YaN5qyh5L+u5pS555qE44CC5q2k57G75oOF5Ya155qE54m55oCn77yaIWluQ29uZmlnICYmIG9wZXJhdG9yID09PSBERUZBVUxUX09QRVJBVE9SXG4gICAgcmV0dXJuICFpbkNvbmZpZyAmJiBjb25kaXRpb24ub3BlcmF0b3IgIT09IERFRkFVTFRfT1BFUkFUT1I7XG4gIH1cblxuICBwcml2YXRlIGdldENvbmRpdGlvbk1vZGVsKGNvbmRpdGlvbnM6IFNlYXJjaENvbmRpdGlvbk1vZGVsW10pIHtcbiAgICByZXR1cm4gY29uZGl0aW9ucz8ubWFwKGNvbmRpdGlvbiA9PiAoe1xuICAgICAgY29uZGl0aW9uOiBjb25kaXRpb24uY29uZGl0aW9uLnZhbHVlLFxuICAgICAgb3BlcmF0b3I6IGNvbmRpdGlvbi5vcGVyYXRvcixcbiAgICAgIHZhbHVlczogY29uZGl0aW9uLnNlbGVjdGVkVmFsdWVzPy5tYXAodmFsdWUgPT4gdmFsdWUudmFsdWUpIHx8IFtdLFxuICAgIH0pKTtcbiAgfVxuXG4gIGNvbmRpdGlvbkluQWN0aW9uKGNvbmRpdGlvbjogU2VhcmNoQ29uZGl0aW9uTW9kZWwpIHtcbiAgICByZXR1cm4gY29uZGl0aW9uLmlzRWRpdGluZyB8fCBjb25kaXRpb24uaXNEZWxldGluZztcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQkLm5leHQoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImF1aS1pbnB1dCBtdWx0aS1zZWFyY2hcIlxuICAjbXVsdGlTZWFyY2hcbiAgW25nQ2xhc3NdPVwie1xuICAgICdzZWFyY2gtZm9jdXMnOiBmb2N1cyQkIHwgYXN5bmMsXG4gIH1cIlxuPlxuICA8IS0tIOW3sumAieaLqeexu+ebrnRhZ3MgLS0+XG4gIDxhY2wtbXVsdGktc2VhcmNoLXRhZ3NcbiAgICAjdGFnc1JlZlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICd0YWdzLXdpZHRoLXdpdGgtZGVsZXRlJzogJGFueShleGlzdGluZ0NvbmRpdGlvbnMkIHwgYXN5bmMpPy5sZW5ndGgsXG4gICAgICAndGFncy13aWR0aCc6ICEkYW55KGV4aXN0aW5nQ29uZGl0aW9ucyQgfCBhc3luYyk/Lmxlbmd0aCxcbiAgICB9XCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtjb25kaXRpb25DcmVhdGFibGVdPVwiY29uZGl0aW9uQ3JlYXRhYmxlXCJcbiAgICBbZXhpc3RpbmdDb25kaXRpb25zXT1cImV4aXN0aW5nQ29uZGl0aW9uc1wiXG4gICAgW2NvbmRpdGlvbkNvbmZpZ109XCJjb25kaXRpb25Db25maWdcIlxuICAgIChyZW1vdmVDb25kaXRpb24pPVwicmVtb3ZlQ29uZGl0aW9uKCRldmVudClcIlxuICAgIChzZXRDb25kaXRpb25FZGl0aW5nKT1cInNldENvbmRpdGlvbkVkaXRpbmcoJGV2ZW50KVwiXG4gICAgKHNldENvbmRpdGlvbkRlbGV0aW5nKT1cInNldENvbmRpdGlvbkRlbGV0aW5nKCRldmVudClcIlxuICAgIChzZWFyY2gpPVwiZG9TZWFyY2goKVwiXG4gICAgKGNvbXBsZXRlZCk9XCJjb21wbGV0ZSgkZXZlbnQpXCJcbiAgPlxuICAgIDwhLS0g5pyr5bC+6L6T5YWl5qGGIC0tPlxuICAgIDxhY2wtbXVsdGktc2VhcmNoLWFjdGlvbi1pbnB1dFxuICAgICAgI2lucHV0UmVmXG4gICAgICBjbGFzcz1cImlucHV0LXdyYXBwZXJcIlxuICAgICAgW2lzRWRpdGluZ109XCJ0cnVlXCJcbiAgICAgIFtoaWRkZW5dPVwiYWRkZWRJbnB1dFNob3VsZEhpZGRlbiQgfCBhc3luY1wiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgW2NvbmRpdGlvbkNyZWF0YWJsZV09XCJjb25kaXRpb25DcmVhdGFibGVcIlxuICAgICAgW2NvbmRpdGlvbkNvbmZpZ109XCJjb25kaXRpb25Db25maWdcIlxuICAgICAgW2V4aXN0aW5nQ29uZGl0aW9uc109XCJleGlzdGluZ0NvbmRpdGlvbnMkIHwgYXN5bmNcIlxuICAgICAgW2F1dG9TY3JvbGxdPVwiYXV0b1Njcm9sbFwiXG4gICAgICBbKG5nTW9kZWwpXT1cImFkZGVkQ29uZGl0aW9uXCJcbiAgICAgIChjb21wbGV0ZWQpPVwiY29tcGxldGUoJGV2ZW50KVwiXG4gICAgICAoZGVsZXRlKT1cInNldENvbmRpdGlvbkRlbGV0aW5nKClcIlxuICAgICAgKHNlYXJjaCk9XCJkb1NlYXJjaCgpXCJcbiAgICA+PC9hY2wtbXVsdGktc2VhcmNoLWFjdGlvbi1pbnB1dD5cbiAgPC9hY2wtbXVsdGktc2VhcmNoLXRhZ3M+XG5cbiAgPGRpdiBjbGFzcz1cInNlYXJjaC1zdWZmaXhcIj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cIiRhbnkoZXhpc3RpbmdDb25kaXRpb25zJCB8IGFzeW5jKT8ubGVuZ3RoXCJcbiAgICAgIGNsYXNzPVwic2VhcmNoLWNsZWFyXCJcbiAgICA+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgY2xhc3M9XCJ0dy10ZXh0LW4tNCB0dy1jdXJzb3ItcG9pbnRlclwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIkNMRUFSX0lDT05fQ0xBU1NcIlxuICAgICAgICBpY29uPVwieG1hcmtfc21hbGxcIlxuICAgICAgICBzaXplPVwiMTRcIlxuICAgICAgICAoY2xpY2spPVwiY2xlYXJDb25kaXRpb25zKCk7IGRvU2VhcmNoKCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInNlYXJjaC1zdWZmaXhcIlxuICAgICAgKm5nSWY9XCJzZWFyY2hTdWZmaXhcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJzdWZmaXgtd3JhcHBlclwiPlxuICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICBjbGFzcz1cInR3LXRleHQtbi00IHR3LWN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJTRUFSQ0hfSUNPTl9DTEFTU1wiXG4gICAgICAgICAgaWNvbj1cIm1hZ25pZmllclwiXG4gICAgICAgICAgKGNsaWNrKT1cImRvU2VhcmNoKCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgID48L2F1aS1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
399
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL211bHRpLXNlYXJjaC9mb3JtL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9tdWx0aS1zZWFyY2gvZm9ybS90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDekUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEQsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLFNBQVMsRUFDVCxHQUFHLEVBQ0gsS0FBSyxFQUNMLFVBQVUsRUFDVixJQUFJLEVBQ0osT0FBTyxFQUNQLElBQUksRUFDSixTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUNMLE9BQU8sRUFDUCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFFBQVEsR0FDVCxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7Ozs7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b0JBQ1osUUFBUTtvQkFDUiwrQkFBK0I7b0JBQy9CLHdCQUF3QjtvQkFDeEIsS0FBSztvQkFDTCxJQUFJO29CQUNKLGNBQWM7b0JBQ2QsV0FBVztvQkFDWCxhQUFhO2lCQUNkO2tEQUlELFdBQVc7a0JBRFYsS0FBSztZQUlOLGtCQUFrQjtrQkFEakIsS0FBSztZQUtOLFVBQVU7a0JBRFQsS0FBSztZQUlOLFdBQVcsTUFJWCxlQUFlO2tCQURkLEtBQUs7WUFJTixnQkFBZ0IsTUFHaEIsVUFBVTtrQkFEVCxLQUFLO1lBSU4sWUFBWTtrQkFEWCxLQUFLO1lBS04sTUFBTTtrQkFETCxNQUFNO1lBSVAsY0FBYztrQkFEYixLQUFLO1lBS04sZ0JBQWdCO2tCQURmLE1BQU07WUFJUCxvQkFBb0I7a0JBRG5CLFNBQVM7bUJBQUMsVUFBVTtZQUlyQixhQUFhO2tCQURaLFNBQVM7bUJBQUMsU0FBUztZQUlwQixjQUFjO2tCQURiLFNBQVM7bUJBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs7a0ZBNUMvQixvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJY29uQ29tcG9uZW50LCBJbnB1dENvbXBvbmVudCwgVGFnQ29tcG9uZW50IH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MsIE5nRm9yLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY2xvbmVEZWVwLCBpc0VtcHR5LCBzZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgZnJvbUV2ZW50LFxuICBtYXAsXG4gIG1lcmdlLFxuICBPYnNlcnZhYmxlLFxuICBzY2FuLFxuICBTdWJqZWN0LFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG4gIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gIGlzRXF1YWwsXG4gIE9ic2VydmFibGVJbnB1dCxcbiAgcHVibGlzaFJlZixcbiAgUHVyZVBpcGUsXG59IGZyb20gJy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBNdWx0aVNlYXJjaEFjdGlvbklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vYWN0aW9uLWlucHV0L2NvbXBvbmVudCc7XG5pbXBvcnQgeyBNdWx0aVNlYXJjaFRhZ3NDb21wb25lbnQgfSBmcm9tICcuLi9tdWx0aS1zZWFyY2gtdGFncy9jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgU2VhcmNoQ29uZGl0aW9uQ29uZmlnLFxuICBTZWFyY2hDb25kaXRpb24sXG4gIFNlYXJjaENvbmRpdGlvbk1vZGVsLFxufSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX09QRVJBVE9SOiBzdHJpbmcgPSAnPSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1tdWx0aS1zZWFyY2gnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0eWxlcy5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgTmdDbGFzcyxcbiAgICBBc3luY1BpcGUsXG4gICAgVGFnQ29tcG9uZW50LFxuICAgIFB1cmVQaXBlLFxuICAgIE11bHRpU2VhcmNoQWN0aW9uSW5wdXRDb21wb25lbnQsXG4gICAgTXVsdGlTZWFyY2hUYWdzQ29tcG9uZW50LFxuICAgIE5nRm9yLFxuICAgIE5nSWYsXG4gICAgSW5wdXRDb21wb25lbnQsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgSWNvbkNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KClcbiAgY29uZGl0aW9uQ3JlYXRhYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLy8gc2VhcmNoIHZhbHVlXG4gIEBJbnB1dCgpXG4gIGNvbmRpdGlvbnM6IFNlYXJjaENvbmRpdGlvbltdO1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBjb25kaXRpb25zJCE6IE9ic2VydmFibGU8U2VhcmNoQ29uZGl0aW9uW10+O1xuXG4gIC8vIOexu+ebrumFjee9rlxuICBASW5wdXQoKVxuICBjb25kaXRpb25Db25maWc6IFNlYXJjaENvbmRpdGlvbkNvbmZpZ1tdO1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBjb25kaXRpb25Db25maWckITogT2JzZXJ2YWJsZTxTZWFyY2hDb25kaXRpb25Db25maWdbXT47XG5cbiAgQElucHV0KClcbiAgYXV0b1Njcm9sbDogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgc2VhcmNoU3VmZml4OiBib29sZWFuID0gdHJ1ZTtcblxuICAvLyDmkJzntKLmk43kvZxcbiAgQE91dHB1dCgpXG4gIHNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8U2VhcmNoQ29uZGl0aW9uW10+KCk7XG5cbiAgQElucHV0KClcbiAgc2hvd0Zvb3RBY3Rpb246IGJvb2xlYW47XG5cbiAgLy8g5p2h5Lu25Y+Y5YyWXG4gIEBPdXRwdXQoKVxuICBjb25kaXRpb25zQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTZWFyY2hDb25kaXRpb25bXT4oKTtcblxuICBAVmlld0NoaWxkKCdpbnB1dFJlZicpXG4gIG5vcm1hbElucHV0Q29tcG9uZW50OiBNdWx0aVNlYXJjaEFjdGlvbklucHV0Q29tcG9uZW50O1xuXG4gIEBWaWV3Q2hpbGQoJ3RhZ3NSZWYnKVxuICB0YWdzQ29tcG9uZW50OiBNdWx0aVNlYXJjaFRhZ3NDb21wb25lbnQ7XG5cbiAgQFZpZXdDaGlsZCgnbXVsdGlTZWFyY2gnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBtdWx0aVNlYXJjaFJlZjogRWxlbWVudFJlZjtcblxuICBhZGRlZENvbmRpdGlvbjogU2VhcmNoQ29uZGl0aW9uTW9kZWw7XG5cbiAgLy8g5b2T5YmNbXVsdGktc2VhcmNo57uE5Lu25piv5ZCmZm9jdXNcbiAgZm9jdXMkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGRlc3Ryb3kkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgYWN0aW9uU2Nhbm5lciQkID0gbmV3IFN1YmplY3Q8XG4gICAgKGl0ZW1zOiBTZWFyY2hDb25kaXRpb25Nb2RlbFtdKSA9PiBTZWFyY2hDb25kaXRpb25Nb2RlbFtdXG4gID4oKTtcblxuICBleGlzdGluZ0NvbmRpdGlvbnM6IFNlYXJjaENvbmRpdGlvbk1vZGVsW10gPSBbXTtcbiAgZXhpc3RpbmdDb25kaXRpb25zJCA9IG1lcmdlKFxuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuY29uZGl0aW9ucyQsIHRoaXMuY29uZGl0aW9uQ29uZmlnJF0pLnBpcGUoXG4gICAgICBtYXAoKFtjb25kaXRpb25zLCBjb25kaXRpb25Db25maWddKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlcyA9XG4gICAgICAgICAgY29uZGl0aW9ucz8ubWFwKGNvbmRpdGlvbiA9PiB7XG4gICAgICAgICAgICBjb25zdCBleGlzdCA9IHRoaXMuZXhpc3RpbmdDb25kaXRpb25zPy5maW5kKFxuICAgICAgICAgICAgICBleGlzdCA9PiBleGlzdC5jb25kaXRpb24udmFsdWUgPT09IGNvbmRpdGlvbi5jb25kaXRpb24sXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3QgY29uZmlnID0gY29uZGl0aW9uQ29uZmlnPy5maW5kKFxuICAgICAgICAgICAgICBjb25maWcgPT4gY29uZmlnLmNvbmRpdGlvbi52YWx1ZSA9PT0gY29uZGl0aW9uLmNvbmRpdGlvbixcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC8vIOaJgOe7p+aJv+eahOaVsOaNru+8jOiLpeW3suWtmOWcqGV4aXN077yM5YiZ57un5om/ZXhpc3TvvJvoi6XkuI3lrZjlnKjvvIzliJnnu6fmib9jb25maWdcbiAgICAgICAgICAgIC8vIOatpOWkhOeahOe7p+aJv+aYr+S4uuS6humYsuatouWklueVjGNvbmRpdGlvbnPmlbDmja7nmoTlj5jljJblr7zoh7Tmk43kvZznirbmgIHliLfmlrBcbiAgICAgICAgICAgIC8vIOWboOatpO+8jOmZpOS6hmNvbmRpdGlvbnPmlbDmja7lpJbnmoTpmYTliqDmlbDmja7vvIzpg73lupTor6Xnu6fmib9cbiAgICAgICAgICAgIGNvbnN0IGluaGVyaXQgPSB7XG4gICAgICAgICAgICAgIC4uLmV4aXN0LFxuICAgICAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICByZXR1cm4gaXNFbXB0eShpbmhlcml0KVxuICAgICAgICAgICAgICA/ICh7XG4gICAgICAgICAgICAgICAgICBjb25kaXRpb246IHsgdmFsdWU6IGNvbmRpdGlvbi5jb25kaXRpb24gfSxcbiAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOiBjb25kaXRpb24ub3BlcmF0b3IsXG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZFZhbHVlczogY29uZGl0aW9uLnZhbHVlcz8ubWFwKHZhbHVlID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgIH0gYXMgU2VhcmNoQ29uZGl0aW9uTW9kZWwpXG4gICAgICAgICAgICAgIDogKHtcbiAgICAgICAgICAgICAgICAgIC4uLmluaGVyaXQsXG4gICAgICAgICAgICAgICAgICBvcGVyYXRvcjogY29uZGl0aW9uLm9wZXJhdG9yLFxuICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRWYWx1ZXM6IGNvbmRpdGlvbi52YWx1ZXM/Lm1hcCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbmQgPSBpbmhlcml0LnZhbHVlcz8uZmluZChcbiAgICAgICAgICAgICAgICAgICAgICBpbmhlcml0VmFsdWUgPT4gaW5oZXJpdFZhbHVlLnZhbHVlID09PSB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZpbmRcbiAgICAgICAgICAgICAgICAgICAgICA/IHsgLi4uZmluZCB9XG4gICAgICAgICAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIH0gYXMgU2VhcmNoQ29uZGl0aW9uTW9kZWwpO1xuICAgICAgICAgIH0pIHx8IFtdO1xuICAgICAgICByZXR1cm4gKF86IFNlYXJjaENvbmRpdGlvbk1vZGVsW10pID0+IHJlcztcbiAgICAgIH0pLFxuICAgICksXG4gICAgdGhpcy5hY3Rpb25TY2FubmVyJCQsXG4gICkucGlwZShcbiAgICBzY2FuKChhY2MsIGN1cikgPT4gY3VyKGFjYyksIFtdIGFzIFNlYXJjaENvbmRpdGlvbk1vZGVsW10pLFxuICAgIHRhcChleGlzdGluZ0NvbmRpdGlvbnMgPT4ge1xuICAgICAgdGhpcy5leGlzdGluZ0NvbmRpdGlvbnMgPSBleGlzdGluZ0NvbmRpdGlvbnM7XG4gICAgfSksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIG5vRWRpdGluZ0NvbmRpdGlvbjogYm9vbGVhbiA9IHRydWU7XG4gIG5vRWRpdGluZ0NvbmRpdGlvbiQgPSB0aGlzLmV4aXN0aW5nQ29uZGl0aW9ucyQucGlwZShcbiAgICBtYXAoZXhpc3RpbmdDb25kaXRpb25zID0+XG4gICAgICBleGlzdGluZ0NvbmRpdGlvbnM/LmV2ZXJ5KGNvbmRpdGlvbiA9PiAhY29uZGl0aW9uLmlzRWRpdGluZyksXG4gICAgKSxcbiAgICB0YXAobm9FZGl0aW5nQ29uZGl0aW9uID0+ICh0aGlzLm5vRWRpdGluZ0NvbmRpdGlvbiA9IG5vRWRpdGluZ0NvbmRpdGlvbikpLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBub0RlbGV0aW5nQ29uZGl0aW9uOiBib29sZWFuID0gdHJ1ZTtcbiAgbm9EZWxldGluZ0NvbmRpdGlvbiQgPSB0aGlzLmV4aXN0aW5nQ29uZGl0aW9ucyQucGlwZShcbiAgICBtYXAoZXhpc3RpbmdDb25kaXRpb25zID0+XG4gICAgICBleGlzdGluZ0NvbmRpdGlvbnM/LmV2ZXJ5KGNvbmRpdGlvbiA9PiAhY29uZGl0aW9uLmlzRGVsZXRpbmcpLFxuICAgICksXG4gICAgdGFwKFxuICAgICAgbm9EZWxldGluZ0NvbmRpdGlvbiA9PiAodGhpcy5ub0RlbGV0aW5nQ29uZGl0aW9uID0gbm9EZWxldGluZ0NvbmRpdGlvbiksXG4gICAgKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgYWRkZWRJbnB1dFNob3VsZEhpZGRlbiQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICB0aGlzLm5vRWRpdGluZ0NvbmRpdGlvbiQsXG4gICAgdGhpcy5ub0RlbGV0aW5nQ29uZGl0aW9uJCxcbiAgICB0aGlzLmV4aXN0aW5nQ29uZGl0aW9ucyQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbbm9FZGl0aW5nQ29uZGl0aW9uLCBub0RlbGV0aW5nQ29uZGl0aW9uLCBleGlzdGluZ0NvbmRpdGlvbnNdKSA9PiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAoIW5vRWRpdGluZ0NvbmRpdGlvbiB8fCAhbm9EZWxldGluZ0NvbmRpdGlvbikgJiZcbiAgICAgICAgZXhpc3RpbmdDb25kaXRpb25zLmxlbmd0aCAhPT0gMFxuICAgICAgKTtcbiAgICB9KSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgZ2V0IGlucHV0Q29tcG9uZW50KCkge1xuICAgIHJldHVybiB0aGlzLm5vRGVsZXRpbmdDb25kaXRpb24gJiYgdGhpcy5ub0VkaXRpbmdDb25kaXRpb25cbiAgICAgID8gdGhpcy5ub3JtYWxJbnB1dENvbXBvbmVudFxuICAgICAgOiB0aGlzLnRhZ3NDb21wb25lbnQ/LmlucHV0Q29tcG9uZW50O1xuICB9XG5cbiAgQ0xFQVJfSUNPTl9DTEFTUyA9ICdzZWFyY2gtY2xlYXItaWNvbic7XG5cbiAgU0VBUkNIX0lDT05fQ0xBU1MgPSAnc2VhcmNoLWljb24nO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5leGlzdGluZ0NvbmRpdGlvbnMkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGE/Lmxlbmd0aCA9PT0gYj8ubGVuZ3RoKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZXhpc3RpbmdDb25kaXRpb25zID0+IHtcbiAgICAgICAgdGhpcy5jb25kaXRpb25zQ2hhbmdlLmVtaXQodGhpcy5nZXRDb25kaXRpb25Nb2RlbChleGlzdGluZ0NvbmRpdGlvbnMpKTtcbiAgICAgIH0pO1xuICAgIC8vIOatpOWkhOeahGNsaWNr5LqL5Lu255uR5ZCs5L2/55So5LqG5o2V6I636ICM6Z2e5YaS5rOh77yM5piv5Li65LqG6K6p5LqL5Lu26Kem5Y+R55qE5pe25py65YWI5LqOdGFnLmNsaWNrXG4gICAgLy8g6IuldGFnLmNsaWNr5YWI6Kem5Y+R77yM5Lya5a+86Ie0ZWxlbWVudC5jb250YWlucygp5Yik5pat5Ye66ZSZXG4gICAgZnJvbUV2ZW50KGRvY3VtZW50LmJvZHksICdjbGljaycsIHsgY2FwdHVyZTogdHJ1ZSB9KVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSlcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgRWxlbWVudDtcblxuICAgICAgICBpZiAodGhpcy5pc1NlYXJjaEJ0bih0YXJnZXQpKSB7XG4gICAgICAgICAgdGhpcy5tYW51YWxDb21wbGV0ZShmYWxzZSwgdHJ1ZSk7XG4gICAgICAgICAgdGhpcy5pbnB1dENvbXBvbmVudC50b29sVGlwSGlkZSgpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm11bHRpU2VhcmNoUmVmPy5uYXRpdmVFbGVtZW50Py5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgICAgLy8g5b2T54K55Ye75Yy65Z+f5Li6bXVsdGktc2VhcmNo57uE5Lu277yM6Ieq5Yqo6IGa54SmXG5cbiAgICAgICAgICAvLyDlr7nkuo7mk43kvZzmjInpkq7vvIzlj6rlgZpoaWRkZW4gdG9vbFRpcFxuICAgICAgICAgIGlmICh0aGlzLm5vdEFjdGlvbkVsZW1lbnQodGFyZ2V0KSkge1xuICAgICAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgIT09IHRoaXMuaW5wdXRDb21wb25lbnQ/LmlucHV0RWxlbWVudCkge1xuICAgICAgICAgICAgICBjb25zdCBpc0ZvY3VzID0gdGhpcy5mb2N1cyQkLnZhbHVlO1xuICAgICAgICAgICAgICB0aGlzLm1hbnVhbEZvY3VzKGlzRm9jdXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5pbnB1dENvbXBvbmVudC50b29sVGlwU2hvdygpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm1hbnVhbEZvY3VzKHRydWUpO1xuXG4gICAgICAgICAgICAvLyB0aGlzLmlucHV0Q29tcG9uZW50LnRvb2xUaXBIaWRlKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIOW9k+eCueWHu+WMuuWfn+S4uumdnnRvb2x0aXDnmoTlhbbku5bljLrln5/ml7bvvIzoh6rliqjmlLbnvKlcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm5vdFRvb2x0aXBDb250ZW50KHRhcmdldCkpIHtcbiAgICAgICAgICB0aGlzLm1hbnVhbEJsdXIoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGlzU2VhcmNoQnRuKGVsZW1lbnQ6IEVsZW1lbnQpIHtcbiAgICByZXR1cm4gdGhpcy5jaGVja0VsZW1lbnQoZWxlbWVudCwgZWxlbWVudCA9PlxuICAgICAgZWxlbWVudD8uY2xhc3NOYW1lPy5pbmNsdWRlcz8uKHRoaXMuU0VBUkNIX0lDT05fQ0xBU1MpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG5vdEFjdGlvbkVsZW1lbnQoZWxlbWVudDogRWxlbWVudCkge1xuICAgIHJldHVybiAhdGhpcy5jaGVja0VsZW1lbnQoXG4gICAgICBlbGVtZW50LFxuICAgICAgZWxlbWVudCA9PlxuICAgICAgICBlbGVtZW50Py5jbGFzc05hbWU/LmluY2x1ZGVzPy4odGhpcy5DTEVBUl9JQ09OX0NMQVNTKSB8fFxuICAgICAgICBlbGVtZW50Py5jbGFzc05hbWU/LmluY2x1ZGVzPy4odGhpcy5TRUFSQ0hfSUNPTl9DTEFTUykgfHxcbiAgICAgICAgZWxlbWVudD8uY2xhc3NOYW1lPy5pbmNsdWRlcz8uKCdhdWktdGFnX19jbG9zZScpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIG5vdFRvb2x0aXBDb250ZW50KGVsZW1lbnQ6IEVsZW1lbnQpIHtcbiAgICByZXR1cm4gIXRoaXMuY2hlY2tFbGVtZW50KFxuICAgICAgZWxlbWVudCxcbiAgICAgIGVsZW1lbnQgPT4gZWxlbWVudC50YWdOYW1lID09PSAnQVVJLVRPT0xUSVAnLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrRWxlbWVudChlbGVtZW50OiBFbGVtZW50LCBmbjogKGU6IEVsZW1lbnQpID0+IGJvb2xlYW4pIHtcbiAgICB3aGlsZSAoZWxlbWVudCAmJiAhZm4oZWxlbWVudCkpIHtcbiAgICAgIGVsZW1lbnQgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuICEhZWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgbWFudWFsQ29tcGxldGUoXG4gICAgdG9Db250aW51ZTogYm9vbGVhbiA9IGZhbHNlLFxuICAgIG1hbnVhbEZvY3VzOiBib29sZWFuID0gZmFsc2UsXG4gICkge1xuICAgIHRoaXMuaW5wdXRDb21wb25lbnQ/LmlmQ29tcGxldGUodG9Db250aW51ZSwgbWFudWFsRm9jdXMpO1xuICB9XG5cbiAgbWFudWFsRm9jdXMoc2lsZW5jZT86IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNldEZvY3VzKHRydWUpO1xuICAgIHRoaXMuaW5wdXRDb21wb25lbnQ/Lm1hbnVhbEZvY3VzKHNpbGVuY2UpO1xuICB9XG5cbiAgc2V0Rm9jdXMoZm9jdXM6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmZvY3VzJCQubmV4dChmb2N1cyk7XG4gIH1cblxuICBtYW51YWxCbHVyKCkge1xuICAgIHRoaXMuc2V0Rm9jdXMoZmFsc2UpO1xuICAgIHRoaXMuaW5wdXRDb21wb25lbnQ/Lm1hbnVhbEJsdXIoKTtcbiAgfVxuXG4gIC8vIOaQnOe0ouaTjeS9nFxuICBkb1NlYXJjaCgpIHtcbiAgICB0aGlzLmV4aXN0aW5nQ29uZGl0aW9ucyRcbiAgICAgIC5waXBlKHRha2UoMSksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCkpXG4gICAgICAuc3Vic2NyaWJlKGV4aXN0cyA9PiB7XG4gICAgICAgIHRoaXMuc2VhcmNoLmVtaXQoXG4gICAgICAgICAgdGhpcy5nZXRDb25kaXRpb25Nb2RlbChcbiAgICAgICAgICAgIGV4aXN0cz8uZmlsdGVyKGV4aXN0ID0+ICF0aGlzLmNvbmRpdGlvbkluQWN0aW9uKGV4aXN0KSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLy8g5riF6Zmk5omA5pyJ5bey6YCJ5p2h5Lu2XG4gIGNsZWFyQ29uZGl0aW9ucygpIHtcbiAgICB0aGlzLmFkZGVkQ29uZGl0aW9uID0gbnVsbDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB0aGlzLmFjdGlvblNjYW5uZXIkJC5uZXh0KChfOiBTZWFyY2hDb25kaXRpb25Nb2RlbFtdKSA9PiBbXSk7XG4gIH1cblxuICAvLyDnp7vpmaTlvZPliY3mnaHku7ZcbiAgcmVtb3ZlQ29uZGl0aW9uKGNvbmRpdGlvbjogU2VhcmNoQ29uZGl0aW9uTW9kZWwpIHtcbiAgICBjb25zdCByZW1vdmUgPSAoZXhpc3RpbmdDb25kaXRpb25zOiBTZWFyY2hDb25kaXRpb25Nb2RlbFtdKSA9PiB7XG4gICAgICBjb25zdCBpZHggPSBleGlzdGluZ0NvbmRpdGlvbnMuZmluZEluZGV4KFxuICAgICAgICBjb24gPT4gY29uLmNvbmRpdGlvbi52YWx1ZSA9PT0gY29uZGl0aW9uLmNvbmRpdGlvbi52YWx1ZSxcbiAgICAgICk7XG4gICAgICBleGlzdGluZ0NvbmRpdGlvbnMuc3BsaWNlKGlkeCwgMSk7XG4gICAgICByZXR1cm4gWy4uLmV4aXN0aW5nQ29uZGl0aW9uc107XG4gICAgfTtcbiAgICB0aGlzLmFjdGlvblNjYW5uZXIkJC5uZXh0KHJlbW92ZSk7XG4gIH1cblxuICAvLyDmm7TmlrDmnaHku7ZcbiAgdXBkYXRlQ29uZGl0aW9uKGNvbmRpdGlvbjogU2VhcmNoQ29uZGl0aW9uTW9kZWwsIGluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBfdXBkYXRlID0gKGV4aXN0aW5nQ29uZGl0aW9uczogU2VhcmNoQ29uZGl0aW9uTW9kZWxbXSkgPT4ge1xuICAgICAgaWYgKGNvbmRpdGlvbikge1xuICAgICAgICBleGlzdGluZ0NvbmRpdGlvbnMuc3BsaWNlKGluZGV4LCAxLCBjb25kaXRpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXhpc3RpbmdDb25kaXRpb25zLnNwbGljZShpbmRleCwgMSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gWy4uLmV4aXN0aW5nQ29uZGl0aW9uc107XG4gICAgfTtcblxuICAgIHRoaXMuYWN0aW9uU2Nhbm5lciQkLm5leHQoX3VwZGF0ZSk7XG4gIH1cblxuICAvLyDmt7vliqBjb25kaXRpb25cbiAgYWRkQ29uZGl0aW9uKGFjdGl2ZUNvbmRpdGlvbjogU2VhcmNoQ29uZGl0aW9uTW9kZWwpIHtcbiAgICBjb25zdCBfYWRkID0gKGV4aXN0aW5nQ29uZGl0aW9uczogU2VhcmNoQ29uZGl0aW9uTW9kZWxbXSkgPT4ge1xuICAgICAgZXhpc3RpbmdDb25kaXRpb25zLnB1c2goYWN0aXZlQ29uZGl0aW9uKTtcbiAgICAgIHJldHVybiBbLi4uZXhpc3RpbmdDb25kaXRpb25zXTtcbiAgICB9O1xuXG4gICAgdGhpcy5hY3Rpb25TY2FubmVyJCQubmV4dChfYWRkKTtcbiAgfVxuXG4gIC8vIOiuvue9rmNvbmRpdGlvbueahOeKtuaAgeS4uue8lui+keaAgVxuICBzZXRDb25kaXRpb25FZGl0aW5nKGNvbmRpdGlvbjogU2VhcmNoQ29uZGl0aW9uTW9kZWwpIHtcbiAgICBpZiAodGhpcy5pc0dyYW1tYXJDdXN0b21Db25kaXRpb24oY29uZGl0aW9uKSkgcmV0dXJuO1xuICAgIGNvbnN0IF91cGRhdGUgPSAoZXhpc3RpbmdDb25kaXRpb25zOiBTZWFyY2hDb25kaXRpb25Nb2RlbFtdKSA9PiB7XG4gICAgICBpZiAoIWV4aXN0aW5nQ29uZGl0aW9ucykgcmV0dXJuO1xuICAgICAgY29uc3QgaWR4ID0gZXhpc3RpbmdDb25kaXRpb25zLmZpbmRJbmRleChcbiAgICAgICAgY29uID0+IGNvbi5jb25kaXRpb24udmFsdWUgPT09IGNvbmRpdGlvbi5jb25kaXRpb24udmFsdWUsXG4gICAgICApO1xuXG4gICAgICBjb25zdCBjb25kaXRpb25zRXhjZXB0Q3VyID0gW1xuICAgICAgICAuLi4oZXhpc3RpbmdDb25kaXRpb25zLnNsaWNlKDAsIGlkeCkgfHwgW10pLFxuICAgICAgICAuLi4oZXhpc3RpbmdDb25kaXRpb25zLnNsaWNlKGlkeCArIDEpIHx8IFtdKSxcbiAgICAgIF07XG5cbiAgICAgIGNvbnN0IGFscmVhZHlIYXZlQWN0aW9uID0gY29uZGl0aW9uc0V4Y2VwdEN1ci5zb21lKGNvbiA9PlxuICAgICAgICB0aGlzLmNvbmRpdGlvbkluQWN0aW9uKGNvbiksXG4gICAgICApO1xuICAgICAgLy8g5b2T5bey57uP5a2Y5Zyo5pON5L2c5Lit55qEY29uZGl0aW9u5pe277yM5Lya57un57ut57u05oqk5LmL5YmN5pON5L2c77yM5Lit5q2i5paw55qE5pON5L2c6KGM5Li6XG4gICAgICAvLyDkuIrov7DlpITnkIbpgLvovpHkuLvopoHmmK/kuLrkuobpgb/lhY3mk43kvZzliLDkuIDljYrvvIjmr5TlpoLmnKrpgInmi6lvcGVyYXRvcuOAgeacqumAieaLqWNvbmRpdGlvbuaXtu+8ieWwseWIh+aNouiHs+WPpuS4gOS4qmNvbmRpdGlvbuaTjeS9nO+8jOatpOaXtuivpeacquWujOaIkOeahOaTjeS9nOW6lOivpeWmguS9leWkhOeQhu+8jOaaguacque7meWumuOAglxuICAgICAgaWYgKGFscmVhZHlIYXZlQWN0aW9uIHx8IHRoaXMuYWRkZWRDb25kaXRpb24pIHJldHVybiBleGlzdGluZ0NvbmRpdGlvbnM7XG5cbiAgICAgIGNvbnN0IGZpbmQgPSBleGlzdGluZ0NvbmRpdGlvbnNbaWR4XTtcbiAgICAgIC8vIOWwhuW9k+WJjeaJgOaTjeS9nGNvbmRpdGlvbueahOeKtuaAgemHjee9ruS4umVkaXRpbmdcbiAgICAgIGZpbmQuaXNEZWxldGluZyA9IGZhbHNlO1xuICAgICAgZmluZC5pc0VkaXRpbmcgPSB0cnVlO1xuXG4gICAgICBmaW5kLmFjdGlvbk1vZGVsID0gY2xvbmVEZWVwKGZpbmQpO1xuICAgICAgcmV0dXJuIFsuLi5leGlzdGluZ0NvbmRpdGlvbnNdO1xuICAgIH07XG5cbiAgICB0aGlzLmFjdGlvblNjYW5uZXIkJC5uZXh0KF91cGRhdGUpO1xuICB9XG5cbiAgLy8g6K6+572uY29uZGl0aW9u55qE54q25oCB5Li65Yig6Zmk5oCBXG4gIHNldENvbmRpdGlvbkRlbGV0aW5nKGluZGV4PzogbnVtYmVyKSB7XG4gICAgY29uc3QgX2RlbGV0ZSA9IChleGlzdGluZ0NvbmRpdGlvbnM6IFNlYXJjaENvbmRpdGlvbk1vZGVsW10pID0+IHtcbiAgICAgIGNvbnN0IGNvbmRpdGlvbiA9IE51bWJlci5pc0ludGVnZXIoaW5kZXgpXG4gICAgICAgID8gZXhpc3RpbmdDb25kaXRpb25zW2luZGV4XVxuICAgICAgICA6IGV4aXN0aW5nQ29uZGl0aW9ucy5hdCgtMSk7XG5cbiAgICAgIGlmIChjb25kaXRpb24pIHtcbiAgICAgICAgc2V0KGNvbmRpdGlvbiwgJ2lzRGVsZXRpbmcnLCB0cnVlKTtcbiAgICAgICAgY29uZGl0aW9uLmFjdGlvbk1vZGVsID0gY2xvbmVEZWVwKGNvbmRpdGlvbik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBbLi4uZXhpc3RpbmdDb25kaXRpb25zXTtcbiAgICB9O1xuICAgIHRoaXMuYWN0aW9uU2Nhbm5lciQkLm5leHQoX2RlbGV0ZSk7XG4gIH1cblxuICBjb21wbGV0ZSh7XG4gICAgYWN0aXZlQ29uZGl0aW9uLFxuICAgIHRvQ29udGludWUsXG4gICAgbWFudWFsRm9jdXMsXG4gICAgaW5kZXgsXG4gIH06IHtcbiAgICBhY3RpdmVDb25kaXRpb246IFNlYXJjaENvbmRpdGlvbk1vZGVsO1xuICAgIHRvQ29udGludWU/OiBib29sZWFuO1xuICAgIG1hbnVhbEZvY3VzPzogYm9vbGVhbjtcbiAgICBpbmRleD86IG51bWJlcjtcbiAgfSkge1xuICAgIGlmIChhY3RpdmVDb25kaXRpb24pIHtcbiAgICAgIGFjdGl2ZUNvbmRpdGlvbi5pc0VkaXRpbmcgPSBmYWxzZTtcbiAgICAgIGFjdGl2ZUNvbmRpdGlvbi5pc0RlbGV0aW5nID0gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKE51bWJlci5pc0ludGVnZXIoaW5kZXgpKSB7XG4gICAgICB0aGlzLnVwZGF0ZUNvbmRpdGlvbihhY3RpdmVDb25kaXRpb24sIGluZGV4KTtcbiAgICB9IGVsc2UgaWYgKGFjdGl2ZUNvbmRpdGlvbikge1xuICAgICAgdGhpcy5hZGRDb25kaXRpb24oYWN0aXZlQ29uZGl0aW9uKTtcbiAgICB9XG4gICAgLy8g6Ieq5Yqo6IGa54SmXG4gICAgaWYgKG1hbnVhbEZvY3VzKSB7XG4gICAgICB0aGlzLm1hbnVhbEZvY3VzKCF0b0NvbnRpbnVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzR3JhbW1hckN1c3RvbUNvbmRpdGlvbihjb25kaXRpb246IFNlYXJjaENvbmRpdGlvbk1vZGVsKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaW5Db25maWcgPSB0aGlzLmNvbmRpdGlvbkNvbmZpZy5zb21lKGNvbmZpZyA9PlxuICAgICAgaXNFcXVhbChjb25kaXRpb24uY29uZGl0aW9uLCBjb25maWcuY29uZGl0aW9uKSxcbiAgICApO1xuICAgIC8vIOWmguaenOW9k+WJjWNvbmRpdGlvbuS4jeWcqGNvbmZpZ+S4re+8jOS4lG9wZXJhdG9y5LiN5Li66buY6K6k5YC877yM5YiZ5Luj6KGo5b2T5YmNY29uZGl0aW9u5piv55So5oi36YCa6L+H6K+t5rOV6Ieq5a6a5LmJ55qE77yM5q2k5pe25LiN5YWB6K646YCa6L+HVUnkv67mlLlcbiAgICAvLyDogIPomZHliLDmnKrmnaXkvJrlhYHorrjnlKjmiLfovpPlhaXliJvlu7pjb25kaXRpb27vvIzmraTml7bmmK/lhYHorrjnlKjmiLfpgJrov4dVSeWGjeasoeS/ruaUueeahOOAguatpOexu+aDheWGteeahOeJueaAp++8miFpbkNvbmZpZyAmJiBvcGVyYXRvciA9PT0gREVGQVVMVF9PUEVSQVRPUlxuICAgIHJldHVybiAhaW5Db25maWcgJiYgY29uZGl0aW9uLm9wZXJhdG9yICE9PSBERUZBVUxUX09QRVJBVE9SO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb25kaXRpb25Nb2RlbChjb25kaXRpb25zOiBTZWFyY2hDb25kaXRpb25Nb2RlbFtdKSB7XG4gICAgcmV0dXJuIGNvbmRpdGlvbnM/Lm1hcChjb25kaXRpb24gPT4gKHtcbiAgICAgIGNvbmRpdGlvbjogY29uZGl0aW9uLmNvbmRpdGlvbi52YWx1ZSxcbiAgICAgIG9wZXJhdG9yOiBjb25kaXRpb24ub3BlcmF0b3IsXG4gICAgICB2YWx1ZXM6IGNvbmRpdGlvbi5zZWxlY3RlZFZhbHVlcz8ubWFwKHZhbHVlID0+IHZhbHVlLnZhbHVlKSB8fCBbXSxcbiAgICB9KSk7XG4gIH1cblxuICBjb25kaXRpb25JbkFjdGlvbihjb25kaXRpb246IFNlYXJjaENvbmRpdGlvbk1vZGVsKSB7XG4gICAgcmV0dXJuIGNvbmRpdGlvbi5pc0VkaXRpbmcgfHwgY29uZGl0aW9uLmlzRGVsZXRpbmc7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkJC5uZXh0KCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJhdWktaW5wdXQgbXVsdGktc2VhcmNoXCJcbiAgI211bHRpU2VhcmNoXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnc2VhcmNoLWZvY3VzJzogZm9jdXMkJCB8IGFzeW5jLFxuICB9XCJcbj5cbiAgPCEtLSDlt7LpgInmi6nnsbvnm650YWdzIC0tPlxuICA8YWNsLW11bHRpLXNlYXJjaC10YWdzXG4gICAgI3RhZ3NSZWZcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAndGFncy13aWR0aC13aXRoLWRlbGV0ZSc6ICRhbnkoZXhpc3RpbmdDb25kaXRpb25zJCB8IGFzeW5jKT8ubGVuZ3RoLFxuICAgICAgJ3RhZ3Mtd2lkdGgnOiAhJGFueShleGlzdGluZ0NvbmRpdGlvbnMkIHwgYXN5bmMpPy5sZW5ndGgsXG4gICAgfVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBbY29uZGl0aW9uQ3JlYXRhYmxlXT1cImNvbmRpdGlvbkNyZWF0YWJsZVwiXG4gICAgW2V4aXN0aW5nQ29uZGl0aW9uc109XCJleGlzdGluZ0NvbmRpdGlvbnNcIlxuICAgIFtjb25kaXRpb25Db25maWddPVwiY29uZGl0aW9uQ29uZmlnXCJcbiAgICAocmVtb3ZlQ29uZGl0aW9uKT1cInJlbW92ZUNvbmRpdGlvbigkZXZlbnQpXCJcbiAgICAoc2V0Q29uZGl0aW9uRWRpdGluZyk9XCJzZXRDb25kaXRpb25FZGl0aW5nKCRldmVudClcIlxuICAgIChzZXRDb25kaXRpb25EZWxldGluZyk9XCJzZXRDb25kaXRpb25EZWxldGluZygkZXZlbnQpXCJcbiAgICBbc2hvd0Zvb3RBY3Rpb25dPVwic2hvd0Zvb3RBY3Rpb25cIlxuICAgIChzZWFyY2gpPVwiZG9TZWFyY2goKVwiXG4gICAgKGNvbXBsZXRlZCk9XCJjb21wbGV0ZSgkZXZlbnQpXCJcbiAgPlxuICAgIDwhLS0g5pyr5bC+6L6T5YWl5qGGIC0tPlxuICAgIDxhY2wtbXVsdGktc2VhcmNoLWFjdGlvbi1pbnB1dFxuICAgICAgI2lucHV0UmVmXG4gICAgICBjbGFzcz1cImlucHV0LXdyYXBwZXJcIlxuICAgICAgW2lzRWRpdGluZ109XCJ0cnVlXCJcbiAgICAgIFtoaWRkZW5dPVwiYWRkZWRJbnB1dFNob3VsZEhpZGRlbiQgfCBhc3luY1wiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgW2NvbmRpdGlvbkNyZWF0YWJsZV09XCJjb25kaXRpb25DcmVhdGFibGVcIlxuICAgICAgW2NvbmRpdGlvbkNvbmZpZ109XCJjb25kaXRpb25Db25maWdcIlxuICAgICAgW2V4aXN0aW5nQ29uZGl0aW9uc109XCJleGlzdGluZ0NvbmRpdGlvbnMkIHwgYXN5bmNcIlxuICAgICAgW2F1dG9TY3JvbGxdPVwiYXV0b1Njcm9sbFwiXG4gICAgICBbKG5nTW9kZWwpXT1cImFkZGVkQ29uZGl0aW9uXCJcbiAgICAgIFtzaG93Rm9vdEFjdGlvbl09XCJzaG93Rm9vdEFjdGlvblwiXG4gICAgICAoY29tcGxldGVkKT1cImNvbXBsZXRlKCRldmVudClcIlxuICAgICAgKGRlbGV0ZSk9XCJzZXRDb25kaXRpb25EZWxldGluZygpXCJcbiAgICAgIChzZWFyY2gpPVwiZG9TZWFyY2goKVwiXG4gICAgPjwvYWNsLW11bHRpLXNlYXJjaC1hY3Rpb24taW5wdXQ+XG4gIDwvYWNsLW11bHRpLXNlYXJjaC10YWdzPlxuXG4gIDxkaXYgY2xhc3M9XCJzZWFyY2gtc3VmZml4XCI+XG4gICAgPGRpdlxuICAgICAgKm5nSWY9XCIkYW55KGV4aXN0aW5nQ29uZGl0aW9ucyQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgICBjbGFzcz1cInNlYXJjaC1jbGVhclwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgIGNsYXNzPVwidHctdGV4dC1uLTQgdHctY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICBbbmdDbGFzc109XCJDTEVBUl9JQ09OX0NMQVNTXCJcbiAgICAgICAgaWNvbj1cInhtYXJrX3NtYWxsXCJcbiAgICAgICAgc2l6ZT1cIjE0XCJcbiAgICAgICAgKGNsaWNrKT1cImNsZWFyQ29uZGl0aW9ucygpOyBkb1NlYXJjaCgpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgPC9kaXY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJzZWFyY2gtc3VmZml4XCJcbiAgICAgICpuZ0lmPVwic2VhcmNoU3VmZml4XCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwic3VmZml4LXdyYXBwZXJcIj5cbiAgICAgICAgPGF1aS1pY29uXG4gICAgICAgICAgY2xhc3M9XCJ0dy10ZXh0LW4tNCB0dy1jdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwiU0VBUkNIX0lDT05fQ0xBU1NcIlxuICAgICAgICAgIGljb249XCJtYWduaWZpZXJcIlxuICAgICAgICAgIChjbGljayk9XCJkb1NlYXJjaCgpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -39,12 +39,12 @@ function MultiSearchTagsComponent_ng_container_1_ng_template_2_Template(rf, ctx)
|
|
|
39
39
|
} if (rf & 2) {
|
|
40
40
|
const condition_r2 = i0.ɵɵnextContext().$implicit;
|
|
41
41
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
42
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(
|
|
42
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c2, condition_r2.isDeleting))("isEditing", condition_r2.isEditing)("conditionCreatable", ctx_r2.conditionCreatable)("placeholder", ctx_r2.placeholder)("conditionConfig", ctx_r2.conditionConfig)("existingConditions", ctx_r2.existingConditions)("showFootAction", ctx_r2.showFootAction);
|
|
43
43
|
i0.ɵɵtwoWayProperty("ngModel", condition_r2.actionModel);
|
|
44
44
|
} }
|
|
45
45
|
function MultiSearchTagsComponent_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
46
46
|
i0.ɵɵelementContainerStart(0);
|
|
47
|
-
i0.ɵɵtemplate(1, MultiSearchTagsComponent_ng_container_1_aui_tag_1_Template, 7, 20, "aui-tag", 4)(2, MultiSearchTagsComponent_ng_container_1_ng_template_2_Template, 2,
|
|
47
|
+
i0.ɵɵtemplate(1, MultiSearchTagsComponent_ng_container_1_aui_tag_1_Template, 7, 20, "aui-tag", 4)(2, MultiSearchTagsComponent_ng_container_1_ng_template_2_Template, 2, 10, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
48
48
|
i0.ɵɵelementContainerEnd();
|
|
49
49
|
} if (rf & 2) {
|
|
50
50
|
const condition_r2 = ctx.$implicit;
|
|
@@ -78,7 +78,7 @@ export class MultiSearchTagsComponent {
|
|
|
78
78
|
} if (rf & 2) {
|
|
79
79
|
let _t;
|
|
80
80
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.inputComponent = _t.first);
|
|
81
|
-
} }, inputs: { placeholder: "placeholder", conditionCreatable: "conditionCreatable", conditionConfig: "conditionConfig", existingConditions: "existingConditions" }, outputs: { removeCondition: "removeCondition", setConditionEditing: "setConditionEditing", setConditionDeleting: "setConditionDeleting", search: "search", completed: "completed" }, standalone: true, features: [i0.ɵɵStandaloneFeature], ngContentSelectors: _c1, decls: 3, vars: 1, consts: [["inAction", ""], ["inputRef", ""], [1, "search-content"], [4, "ngFor", "ngForOf"], ["class", "tw-ml-6 tw-h-[22px] tw-mb-4", "size", "mini", 3, "ngClass", "type", "border", "closeable", "close", "click", 4, "ngIf", "ngIfElse"], ["size", "mini", 1, "tw-ml-6", "tw-h-[22px]", "tw-mb-4", 3, "close", "click", "ngClass", "type", "border", "closeable"], [3, "title"], [1, "input-wrapper", 3, "ngModelChange", "completed", "delete", "editing", "search", "ngClass", "isEditing", "conditionCreatable", "placeholder", "conditionConfig", "existingConditions", "ngModel"]], template: function MultiSearchTagsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
81
|
+
} }, inputs: { placeholder: "placeholder", conditionCreatable: "conditionCreatable", conditionConfig: "conditionConfig", existingConditions: "existingConditions", showFootAction: "showFootAction" }, outputs: { removeCondition: "removeCondition", setConditionEditing: "setConditionEditing", setConditionDeleting: "setConditionDeleting", search: "search", completed: "completed" }, standalone: true, features: [i0.ɵɵStandaloneFeature], ngContentSelectors: _c1, decls: 3, vars: 1, consts: [["inAction", ""], ["inputRef", ""], [1, "search-content"], [4, "ngFor", "ngForOf"], ["class", "tw-ml-6 tw-h-[22px] tw-mb-4", "size", "mini", 3, "ngClass", "type", "border", "closeable", "close", "click", 4, "ngIf", "ngIfElse"], ["size", "mini", 1, "tw-ml-6", "tw-h-[22px]", "tw-mb-4", 3, "close", "click", "ngClass", "type", "border", "closeable"], [3, "title"], [1, "input-wrapper", 3, "ngModelChange", "completed", "delete", "editing", "search", "ngClass", "isEditing", "conditionCreatable", "placeholder", "conditionConfig", "existingConditions", "showFootAction", "ngModel"]], template: function MultiSearchTagsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
82
82
|
i0.ɵɵprojectionDef();
|
|
83
83
|
i0.ɵɵelementStart(0, "div", 2);
|
|
84
84
|
i0.ɵɵtemplate(1, MultiSearchTagsComponent_ng_container_1_Template, 4, 2, "ng-container", 3);
|
|
@@ -104,7 +104,7 @@ export class MultiSearchTagsComponent {
|
|
|
104
104
|
PurePipe,
|
|
105
105
|
MultiSearchActionInputComponent,
|
|
106
106
|
FormsModule,
|
|
107
|
-
], template: "<div class=\"search-content\">\n <ng-container *ngFor=\"let condition of existingConditions; let index = index\">\n <aui-tag\n *ngIf=\"!conditionInAction(condition); else inAction\"\n class=\"tw-ml-6 tw-h-[22px] tw-mb-4\"\n [ngClass]=\"condition.tagClass\"\n [type]=\"condition.tagType || 'info'\"\n [border]=\"true\"\n [closeable]=\"true\"\n (close)=\"removeCondition.emit(condition); search.emit()\"\n (click)=\"setConditionEditing.emit(condition)\"\n size=\"mini\"\n >\n <span\n [title]=\"\n (condition | pure: getConditionLabel) +\n ' ' +\n condition.operator +\n ' ' +\n (condition | pure: getValueContent)\n \"\n >\n {{ condition | pure: getConditionLabel }}\n {{ condition.operator }}\n {{ condition | pure: getValueContent }}\n </span>\n </aui-tag>\n\n <ng-template #inAction>\n <acl-multi-search-action-input\n #inputRef\n class=\"input-wrapper\"\n [ngClass]=\"{ 'deleting-input': condition.isDeleting }\"\n [isEditing]=\"condition.isEditing\"\n [conditionCreatable]=\"conditionCreatable\"\n [placeholder]=\"placeholder\"\n [conditionConfig]=\"conditionConfig\"\n [existingConditions]=\"existingConditions\"\n [(ngModel)]=\"condition.actionModel\"\n (completed)=\"\n completed.emit({\n activeCondition: $event.activeCondition,\n toContinue: $event.toContinue,\n manualFocus: $event.manualFocus,\n index: index
|
|
107
|
+
], template: "<div class=\"search-content\">\n <ng-container *ngFor=\"let condition of existingConditions; let index = index\">\n <aui-tag\n *ngIf=\"!conditionInAction(condition); else inAction\"\n class=\"tw-ml-6 tw-h-[22px] tw-mb-4\"\n [ngClass]=\"condition.tagClass\"\n [type]=\"condition.tagType || 'info'\"\n [border]=\"true\"\n [closeable]=\"true\"\n (close)=\"removeCondition.emit(condition); search.emit()\"\n (click)=\"setConditionEditing.emit(condition)\"\n size=\"mini\"\n >\n <span\n [title]=\"\n (condition | pure: getConditionLabel) +\n ' ' +\n condition.operator +\n ' ' +\n (condition | pure: getValueContent)\n \"\n >\n {{ condition | pure: getConditionLabel }}\n {{ condition.operator }}\n {{ condition | pure: getValueContent }}\n </span>\n </aui-tag>\n\n <ng-template #inAction>\n <acl-multi-search-action-input\n #inputRef\n class=\"input-wrapper\"\n [ngClass]=\"{ 'deleting-input': condition.isDeleting }\"\n [isEditing]=\"condition.isEditing\"\n [conditionCreatable]=\"conditionCreatable\"\n [placeholder]=\"placeholder\"\n [conditionConfig]=\"conditionConfig\"\n [existingConditions]=\"existingConditions\"\n [showFootAction]=\"showFootAction\"\n [(ngModel)]=\"condition.actionModel\"\n (completed)=\"\n completed.emit({\n activeCondition: $event.activeCondition,\n toContinue: $event.toContinue,\n manualFocus: $event.manualFocus,\n index: index,\n })\n \"\n (delete)=\"setConditionDeleting.emit(index - 1)\"\n (editing)=\"setConditionEditing.emit(condition)\"\n (search)=\"search.emit()\"\n ></acl-multi-search-action-input>\n </ng-template>\n </ng-container>\n <ng-content></ng-content>\n</div>\n", styles: [":host{display:block}:host .search-content{width:100%;min-height:30px;max-height:160px;flex:1;display:flex;flex-wrap:wrap;align-items:center}:host .search-content ::ng-deep aui-tag{max-width:calc(100% - 8px)}:host .search-content ::ng-deep .aui-tag{margin-left:0;max-width:100%}:host .search-content ::ng-deep .input-wrapper{padding-bottom:4px;max-width:100%;width:max-content;min-width:180px;white-space:nowrap;word-break:break-all;overflow:hidden;text-overflow:ellipsis;flex-grow:1;flex-shrink:0}\n"] }]
|
|
108
108
|
}], null, { placeholder: [{
|
|
109
109
|
type: Input
|
|
110
110
|
}], conditionCreatable: [{
|
|
@@ -113,6 +113,8 @@ export class MultiSearchTagsComponent {
|
|
|
113
113
|
type: Input
|
|
114
114
|
}], existingConditions: [{
|
|
115
115
|
type: Input
|
|
116
|
+
}], showFootAction: [{
|
|
117
|
+
type: Input
|
|
116
118
|
}], removeCondition: [{
|
|
117
119
|
type: Output
|
|
118
120
|
}], setConditionEditing: [{
|
|
@@ -128,4 +130,4 @@ export class MultiSearchTagsComponent {
|
|
|
128
130
|
args: ['inputRef']
|
|
129
131
|
}] }); })();
|
|
130
132
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MultiSearchTagsComponent, { className: "MultiSearchTagsComponent", filePath: "multi-search/multi-search-tags/component.ts", lineNumber: 33 }); })();
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL211bHRpLXNlYXJjaC9tdWx0aS1zZWFyY2gtdGFncy9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvbXVsdGktc2VhcmNoL211bHRpLXNlYXJjaC10YWdzL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN2QyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7O0lDWHhFLGtDQVVDO0lBRkMsQUFEQSxxT0FBUyx5Q0FBK0Isd0JBQUUsb0JBQWEsS0FBQyw4T0FDL0MsNkNBQW1DLEtBQUM7SUFHN0MsK0JBUUM7OztJQUNDLFlBR0Y7OztJQUNGLEFBREUsaUJBQU8sRUFDQzs7OztJQWxCUixBQURBLEFBREEsQUFEQSwrQ0FBOEIsd0NBQ00sZ0JBQ3JCLG1CQUNHO0lBTWhCLGNBTUM7SUFORCxzTEFNQztJQUVELGVBR0Y7SUFIRSw0TEFHRjs7OztJQUlBLDJEQXNCQztJQVpDLHlYQUFtQztJQVduQyxBQURBLEFBREEsQUFSQSwyUkFDYSxzQkFDWiw0SEFLQSxDQUNULEtBRFMsa1FBQ1MsNENBQWtDLENBQUMsQ0FBQyxLQUFDLDRRQUNwQyw2Q0FBbUMsS0FBQyx3TkFDckMsb0JBQWEsS0FBQztJQUN6QixpQkFBZ0M7Ozs7SUFiL0IsQUFEQSxBQURBLEFBREEsQUFEQSxBQURBLEFBREEsNkVBQXNELHFDQUNyQixpREFDUSxtQ0FDZCwyQ0FDUSxpREFDTSx5Q0FDUjtJQUNqQyx3REFBbUM7OztJQXRDekMsNkJBQThFO0lBMkI1RSxBQTFCQSxpR0FVQyw2SEFnQnNCOzs7Ozs7SUF6QnBCLGNBQXFDO0lBQUEsQUFBckMsOERBQXFDLHlCQUFhOztBRDZCekQsTUFBTSxPQUFPLHdCQUF3QjtJQWhCckM7UUFpQ0Usb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUczRCx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUcvRCx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBR2xELFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBR2xDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFLeEIsQ0FBQztLQWtCTjtJQWJDLGlCQUFpQixDQUFDLFNBQStCO1FBQy9DLE9BQU8sU0FBUyxDQUFDLFNBQVMsSUFBSSxTQUFTLENBQUMsVUFBVSxDQUFDO0lBQ3JELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxTQUErQjtRQUMvQyxPQUFPLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxJQUFJLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxlQUFlLENBQUMsU0FBK0I7UUFDN0MsT0FBTyxTQUFTLEVBQUUsY0FBYztZQUM5QixFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQzVELEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQzt5RkFuRFUsd0JBQXdCO29FQUF4Qix3QkFBd0I7Ozs7Ozs7WUNoQ3JDLDhCQUE0QjtZQUMxQiwyRkFBOEU7WUFxRDlFLGtCQUF5QjtZQUMzQixpQkFBTTs7WUF0RGdDLGNBQXVCO1lBQXZCLGdEQUF1Qjs0QkRzQnpELElBQUk7WUFDSixLQUFLO1lBQ0wsU0FBUyxtQkFDVCxPQUFPO1lBQ1AsUUFBUTtZQUNSLCtCQUErQjtZQUMvQixXQUFXOztpRkFHRix3QkFBd0I7Y0FoQnBDLFNBQVM7MkJBQ0UsdUJBQXVCLGNBQ3JCLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0QztvQkFDUCxJQUFJO29CQUNKLEtBQUs7b0JBQ0wsU0FBUztvQkFDVCxPQUFPO29CQUNQLFFBQVE7b0JBQ1IsK0JBQStCO29CQUMvQixXQUFXO2lCQUNaO2dCQUlELFdBQVc7a0JBRFYsS0FBSztZQUlOLGtCQUFrQjtrQkFEakIsS0FBSztZQUlOLGVBQWU7a0JBRGQsS0FBSztZQUlOLGtCQUFrQjtrQkFEakIsS0FBSztZQUlOLGNBQWM7a0JBRGIsS0FBSztZQUlOLGVBQWU7a0JBRGQsTUFBTTtZQUlQLG1CQUFtQjtrQkFEbEIsTUFBTTtZQUlQLG9CQUFvQjtrQkFEbkIsTUFBTTtZQUlQLE1BQU07a0JBREwsTUFBTTtZQUlQLFNBQVM7a0JBRFIsTUFBTTtZQVNQLGNBQWM7a0JBRGIsU0FBUzttQkFBQyxVQUFVOztrRkFwQ1Ysd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFnTW9kdWxlIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgUHVyZVBpcGUgfSBmcm9tICcuLi8uLi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IE11bHRpU2VhcmNoQWN0aW9uSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpb24taW5wdXQvY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaENvbmRpdGlvbkNvbmZpZywgU2VhcmNoQ29uZGl0aW9uTW9kZWwgfSBmcm9tICcuLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1tdWx0aS1zZWFyY2gtdGFncycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIE5nRm9yLFxuICAgIFRhZ01vZHVsZSxcbiAgICBOZ0NsYXNzLFxuICAgIFB1cmVQaXBlLFxuICAgIE11bHRpU2VhcmNoQWN0aW9uSW5wdXRDb21wb25lbnQsXG4gICAgRm9ybXNNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE11bHRpU2VhcmNoVGFnc0NvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgY29uZGl0aW9uQ3JlYXRhYmxlOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIGNvbmRpdGlvbkNvbmZpZzogU2VhcmNoQ29uZGl0aW9uQ29uZmlnW107XG5cbiAgQElucHV0KClcbiAgZXhpc3RpbmdDb25kaXRpb25zOiBTZWFyY2hDb25kaXRpb25Nb2RlbFtdO1xuXG4gIEBJbnB1dCgpXG4gIHNob3dGb290QWN0aW9uOiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKVxuICByZW1vdmVDb25kaXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPFNlYXJjaENvbmRpdGlvbk1vZGVsPigpO1xuXG4gIEBPdXRwdXQoKVxuICBzZXRDb25kaXRpb25FZGl0aW5nID0gbmV3IEV2ZW50RW1pdHRlcjxTZWFyY2hDb25kaXRpb25Nb2RlbD4oKTtcblxuICBAT3V0cHV0KClcbiAgc2V0Q29uZGl0aW9uRGVsZXRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBAT3V0cHV0KClcbiAgc2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBjb21wbGV0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICBhY3RpdmVDb25kaXRpb246IFNlYXJjaENvbmRpdGlvbk1vZGVsO1xuICAgIHRvQ29udGludWU6IGJvb2xlYW47XG4gICAgbWFudWFsRm9jdXM6IGJvb2xlYW47XG4gICAgaW5kZXg/OiBudW1iZXI7XG4gIH0+KCk7XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXRSZWYnKVxuICBpbnB1dENvbXBvbmVudDogTXVsdGlTZWFyY2hBY3Rpb25JbnB1dENvbXBvbmVudDtcblxuICBjb25kaXRpb25JbkFjdGlvbihjb25kaXRpb246IFNlYXJjaENvbmRpdGlvbk1vZGVsKSB7XG4gICAgcmV0dXJuIGNvbmRpdGlvbi5pc0VkaXRpbmcgfHwgY29uZGl0aW9uLmlzRGVsZXRpbmc7XG4gIH1cblxuICBnZXRDb25kaXRpb25MYWJlbChjb25kaXRpb246IFNlYXJjaENvbmRpdGlvbk1vZGVsKSB7XG4gICAgcmV0dXJuIGNvbmRpdGlvbj8uY29uZGl0aW9uPy5sYWJlbCA/PyBjb25kaXRpb24/LmNvbmRpdGlvbj8udmFsdWU7XG4gIH1cblxuICBnZXRWYWx1ZUNvbnRlbnQoY29uZGl0aW9uOiBTZWFyY2hDb25kaXRpb25Nb2RlbCkge1xuICAgIHJldHVybiBjb25kaXRpb24/LnNlbGVjdGVkVmFsdWVzXG4gICAgICA/Lm1hcCh2YWx1ZSA9PiB2YWx1ZS50YWdMYWJlbCB8fCB2YWx1ZS5sYWJlbCB8fCB2YWx1ZS52YWx1ZSlcbiAgICAgID8uam9pbihjb25kaXRpb24uc2VwYXJhdG9yID8/ICcgfCAnKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNlYXJjaC1jb250ZW50XCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbmRpdGlvbiBvZiBleGlzdGluZ0NvbmRpdGlvbnM7IGxldCBpbmRleCA9IGluZGV4XCI+XG4gICAgPGF1aS10YWdcbiAgICAgICpuZ0lmPVwiIWNvbmRpdGlvbkluQWN0aW9uKGNvbmRpdGlvbik7IGVsc2UgaW5BY3Rpb25cIlxuICAgICAgY2xhc3M9XCJ0dy1tbC02IHR3LWgtWzIycHhdIHR3LW1iLTRcIlxuICAgICAgW25nQ2xhc3NdPVwiY29uZGl0aW9uLnRhZ0NsYXNzXCJcbiAgICAgIFt0eXBlXT1cImNvbmRpdGlvbi50YWdUeXBlIHx8ICdpbmZvJ1wiXG4gICAgICBbYm9yZGVyXT1cInRydWVcIlxuICAgICAgW2Nsb3NlYWJsZV09XCJ0cnVlXCJcbiAgICAgIChjbG9zZSk9XCJyZW1vdmVDb25kaXRpb24uZW1pdChjb25kaXRpb24pOyBzZWFyY2guZW1pdCgpXCJcbiAgICAgIChjbGljayk9XCJzZXRDb25kaXRpb25FZGl0aW5nLmVtaXQoY29uZGl0aW9uKVwiXG4gICAgICBzaXplPVwibWluaVwiXG4gICAgPlxuICAgICAgPHNwYW5cbiAgICAgICAgW3RpdGxlXT1cIlxuICAgICAgICAgIChjb25kaXRpb24gfCBwdXJlOiBnZXRDb25kaXRpb25MYWJlbCkgK1xuICAgICAgICAgICcgJyArXG4gICAgICAgICAgY29uZGl0aW9uLm9wZXJhdG9yICtcbiAgICAgICAgICAnICcgK1xuICAgICAgICAgIChjb25kaXRpb24gfCBwdXJlOiBnZXRWYWx1ZUNvbnRlbnQpXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIHt7IGNvbmRpdGlvbiB8IHB1cmU6IGdldENvbmRpdGlvbkxhYmVsIH19XG4gICAgICAgIHt7IGNvbmRpdGlvbi5vcGVyYXRvciB9fVxuICAgICAgICB7eyBjb25kaXRpb24gfCBwdXJlOiBnZXRWYWx1ZUNvbnRlbnQgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2F1aS10YWc+XG5cbiAgICA8bmctdGVtcGxhdGUgI2luQWN0aW9uPlxuICAgICAgPGFjbC1tdWx0aS1zZWFyY2gtYWN0aW9uLWlucHV0XG4gICAgICAgICNpbnB1dFJlZlxuICAgICAgICBjbGFzcz1cImlucHV0LXdyYXBwZXJcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdkZWxldGluZy1pbnB1dCc6IGNvbmRpdGlvbi5pc0RlbGV0aW5nIH1cIlxuICAgICAgICBbaXNFZGl0aW5nXT1cImNvbmRpdGlvbi5pc0VkaXRpbmdcIlxuICAgICAgICBbY29uZGl0aW9uQ3JlYXRhYmxlXT1cImNvbmRpdGlvbkNyZWF0YWJsZVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgIFtjb25kaXRpb25Db25maWddPVwiY29uZGl0aW9uQ29uZmlnXCJcbiAgICAgICAgW2V4aXN0aW5nQ29uZGl0aW9uc109XCJleGlzdGluZ0NvbmRpdGlvbnNcIlxuICAgICAgICBbc2hvd0Zvb3RBY3Rpb25dPVwic2hvd0Zvb3RBY3Rpb25cIlxuICAgICAgICBbKG5nTW9kZWwpXT1cImNvbmRpdGlvbi5hY3Rpb25Nb2RlbFwiXG4gICAgICAgIChjb21wbGV0ZWQpPVwiXG4gICAgICAgICAgY29tcGxldGVkLmVtaXQoe1xuICAgICAgICAgICAgYWN0aXZlQ29uZGl0aW9uOiAkZXZlbnQuYWN0aXZlQ29uZGl0aW9uLFxuICAgICAgICAgICAgdG9Db250aW51ZTogJGV2ZW50LnRvQ29udGludWUsXG4gICAgICAgICAgICBtYW51YWxGb2N1czogJGV2ZW50Lm1hbnVhbEZvY3VzLFxuICAgICAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICAgIH0pXG4gICAgICAgIFwiXG4gICAgICAgIChkZWxldGUpPVwic2V0Q29uZGl0aW9uRGVsZXRpbmcuZW1pdChpbmRleCAtIDEpXCJcbiAgICAgICAgKGVkaXRpbmcpPVwic2V0Q29uZGl0aW9uRWRpdGluZy5lbWl0KGNvbmRpdGlvbilcIlxuICAgICAgICAoc2VhcmNoKT1cInNlYXJjaC5lbWl0KClcIlxuICAgICAgPjwvYWNsLW11bHRpLXNlYXJjaC1hY3Rpb24taW5wdXQ+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
|
|
@@ -15,9 +15,8 @@ import * as i3 from "../../../../permission/k8s-permission.service";
|
|
|
15
15
|
import * as i4 from "./service";
|
|
16
16
|
const _c0 = a0 => ({ "acl-product-select--disabled": a0 });
|
|
17
17
|
const _c1 = a0 => ({ "menu__item--active": a0 });
|
|
18
|
-
const _c2 =
|
|
19
|
-
const _c3 = a0 => ({
|
|
20
|
-
const _c4 = a0 => ({ "portal--active": a0 });
|
|
18
|
+
const _c2 = a0 => ({ highlight: a0 });
|
|
19
|
+
const _c3 = a0 => ({ "portal--active": a0 });
|
|
21
20
|
function ProductSelectComponent_span_7_Template(rf, ctx) { if (rf & 1) {
|
|
22
21
|
i0.ɵɵelementStart(0, "span", 6);
|
|
23
22
|
i0.ɵɵtext(1);
|
|
@@ -37,7 +36,7 @@ function ProductSelectComponent_ng_template_13_ng_container_1_div_1_ng_container
|
|
|
37
36
|
const item_r3 = i0.ɵɵnextContext().$implicit;
|
|
38
37
|
const ctx_r3 = i0.ɵɵnextContext(3);
|
|
39
38
|
i0.ɵɵadvance();
|
|
40
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6,
|
|
39
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c2, i0.ɵɵpipeBind3(2, 2, item_r3, ctx_r3.isProductActive, ctx_r3.current)))("icon", "bicolor:" + ctx_r3.PRODUCT_ICON_MAP[item_r3.metadata.name]);
|
|
41
40
|
} }
|
|
42
41
|
function ProductSelectComponent_ng_template_13_ng_container_1_div_1_ng_template_4_Template(rf, ctx) { if (rf & 1) {
|
|
43
42
|
i0.ɵɵelement(0, "img", 16);
|
|
@@ -69,17 +68,17 @@ function ProductSelectComponent_ng_template_13_ng_container_1_div_1_Template(rf,
|
|
|
69
68
|
const item_r3 = ctx.$implicit;
|
|
70
69
|
const logo_r5 = i0.ɵɵreference(5);
|
|
71
70
|
const ctx_r3 = i0.ɵɵnextContext(3);
|
|
72
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(
|
|
71
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(15, _c1, i0.ɵɵpipeBind3(1, 5, item_r3, ctx_r3.isProductActive, ctx_r3.current)));
|
|
73
72
|
i0.ɵɵadvance(3);
|
|
74
73
|
i0.ɵɵproperty("ngIf", item_r3.spec.packType !== "Integrated" && !item_r3.spec.logo)("ngIfElse", logo_r5);
|
|
75
74
|
i0.ɵɵadvance(4);
|
|
76
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵ
|
|
75
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 9, item_r3.spec.displayName), " ");
|
|
77
76
|
i0.ɵɵadvance(2);
|
|
78
|
-
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind3(10,
|
|
77
|
+
i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind3(10, 11, item_r3, ctx_r3.isProductActive, ctx_r3.current));
|
|
79
78
|
} }
|
|
80
79
|
function ProductSelectComponent_ng_template_13_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
81
80
|
i0.ɵɵelementContainerStart(0);
|
|
82
|
-
i0.ɵɵtemplate(1, ProductSelectComponent_ng_template_13_ng_container_1_div_1_Template, 11,
|
|
81
|
+
i0.ɵɵtemplate(1, ProductSelectComponent_ng_template_13_ng_container_1_div_1_Template, 11, 17, "div", 10);
|
|
83
82
|
i0.ɵɵelementContainerEnd();
|
|
84
83
|
} if (rf & 2) {
|
|
85
84
|
const products_r6 = ctx.ngIf;
|
|
@@ -98,16 +97,16 @@ function ProductSelectComponent_ng_template_13_div_3_Template(rf, ctx) { if (rf
|
|
|
98
97
|
} if (rf & 2) {
|
|
99
98
|
const portalMenu_r8 = ctx.ngIf;
|
|
100
99
|
const ctx_r3 = i0.ɵɵnextContext(2);
|
|
101
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(
|
|
100
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c3, ctx_r3.isPortal));
|
|
102
101
|
i0.ɵɵadvance(3);
|
|
103
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵ
|
|
102
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 2, portalMenu_r8.spec.displayName), " ");
|
|
104
103
|
} }
|
|
105
104
|
function ProductSelectComponent_ng_template_13_Template(rf, ctx) { if (rf & 1) {
|
|
106
105
|
i0.ɵɵelementStart(0, "div", 7);
|
|
107
106
|
i0.ɵɵtemplate(1, ProductSelectComponent_ng_template_13_ng_container_1_Template, 2, 2, "ng-container", 8);
|
|
108
107
|
i0.ɵɵpipe(2, "async");
|
|
109
108
|
i0.ɵɵelementEnd();
|
|
110
|
-
i0.ɵɵtemplate(3, ProductSelectComponent_ng_template_13_div_3_Template, 5,
|
|
109
|
+
i0.ɵɵtemplate(3, ProductSelectComponent_ng_template_13_div_3_Template, 5, 6, "div", 9);
|
|
111
110
|
i0.ɵɵpipe(4, "async");
|
|
112
111
|
} if (rf & 2) {
|
|
113
112
|
const ctx_r3 = i0.ɵɵnextContext();
|
|
@@ -242,11 +241,11 @@ export class ProductSelectComponent {
|
|
|
242
241
|
}
|
|
243
242
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ProductSelectComponent, [{
|
|
244
243
|
type: Component,
|
|
245
|
-
args: [{ selector: 'acl-product-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n class=\"acl-product-select\"\n [auiTooltip]=\"menu\"\n auiTooltipType=\"plain\"\n auiTooltipTrigger=\"click\"\n auiTooltipPosition=\"bottom start\"\n auiTooltipClass=\"aui-product-select-tooltip\"\n [auiTooltipHideOnClick]=\"true\"\n [disabled]=\"disabled$ | async\"\n [title]=\"\n (disabled$ | async)\n ? ''\n : (allProducts
|
|
244
|
+
args: [{ selector: 'acl-product-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n class=\"acl-product-select\"\n [auiTooltip]=\"menu\"\n auiTooltipType=\"plain\"\n auiTooltipTrigger=\"click\"\n auiTooltipPosition=\"bottom start\"\n auiTooltipClass=\"aui-product-select-tooltip\"\n [auiTooltipHideOnClick]=\"true\"\n [disabled]=\"disabled$ | async\"\n [title]=\"\n (disabled$ | async)\n ? ''\n : (allProducts$\n | async\n | pure: getProductTitle : title : current\n | translate)\n \"\n [ngClass]=\"{ 'acl-product-select--disabled': disabled$ | async }\"\n>\n <span\n *ngIf=\"\n allProducts$\n | async\n | pure: getProductTitle : title : current as productTitle\n \"\n class=\"acl-product-select__title\"\n >\n {{ productTitle | translate }}\n </span>\n <aui-icon\n icon=\"menu_dot_s\"\n size=\"16px\"\n [auiTooltip]=\"'no_product_and_contact_admin' | translate\"\n [auiTooltipDisabled]=\"!(disabled$ | async)\"\n auiTooltipPosition=\"bottom start\"\n ></aui-icon>\n</button>\n<ng-template #menu>\n <div class=\"menu\">\n <ng-container *ngIf=\"selectableProducts$ | async as products; else loading\">\n <div\n class=\"menu__item\"\n [ngClass]=\"{\n 'menu__item--active': item | pure: isProductActive : current,\n }\"\n *ngFor=\"let item of products; trackBy: trackFn\"\n (click)=\"navigateToProduct(item, $event)\"\n >\n <div class=\"menu__item-icon\">\n <ng-container\n *ngIf=\"\n item.spec.packType !== 'Integrated' && !item.spec.logo;\n else logo\n \"\n >\n <aui-icon\n class=\"acl-colorful-icon\"\n [ngClass]=\"{\n highlight: item | pure: isProductActive : current,\n }\"\n size=\"50\"\n [icon]=\"'bicolor:' + PRODUCT_ICON_MAP[item.metadata.name]\"\n ></aui-icon>\n </ng-container>\n <ng-template #logo>\n <img\n [src]=\"\n (item.spec.logo | aclImageHeader) ||\n 'images/product-default-logo.png' | aclSafe: 'url'\n \"\n class=\"default\"\n />\n </ng-template>\n </div>\n <div class=\"menu__item-info tw-line-clamp-2\">\n {{ item.spec.displayName | translate }}\n </div>\n <aui-icon\n *ngIf=\"item | pure: isProductActive : current\"\n class=\"check-triangle-badge\"\n icon=\"check\"\n ></aui-icon>\n </div>\n </ng-container>\n </div>\n <div\n *ngIf=\"portalProduct$ | async as portalMenu\"\n class=\"portal\"\n [ngClass]=\"{ 'portal--active': isPortal }\"\n >\n <div\n class=\"portal__item\"\n (click)=\"navigateToPortal($event)\"\n >\n <aui-icon icon=\"home_s\"></aui-icon>\n {{ portalMenu.spec.displayName | translate }}\n </div>\n </div>\n</ng-template>\n\n<ng-template #loading>\n <acl-loading-mask\n style=\"height: 148px\"\n [loading]=\"true\"\n ></acl-loading-mask>\n</ng-template>\n", styles: ["::ng-deep .aui-product-select-tooltip.aui-tooltip{margin-top:calc((var(--acl-page-header-height) - 32px) / 2 + 4px);background-color:rgb(var(--aui-color-n-10));padding:20px 20px 12px;border-radius:var(--aui-border-radius-l);max-width:840px}.portal{display:flex;justify-content:flex-end}.portal__item{display:flex;align-items:center;height:26px;padding:0 8px;font-size:var(--aui-font-size-l);font-weight:var(--aui-font-weight-bolder);color:rgb(var(--aui-color-primary));border-radius:var(--aui-border-radius-m);cursor:pointer}.portal__item:hover{color:rgb(var(--aui-color-p-1))}.portal aui-icon{font-size:var(--aui-icon-size-l);margin-right:8px}.acl-product-select{width:100%;min-height:32px;border-radius:2px;border:none;background:none;padding:4px 8px;cursor:pointer;outline:none;display:flex;align-items:center}.acl-product-select__title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acl-product-select--disabled{opacity:.3;cursor:default}.acl-product-select span{margin-right:8px;height:24px;line-height:24px;font-size:18px;font-weight:var(--aui-font-weight-bolder);color:var(--acl-page-header-title-color);white-space:nowrap;word-break:keep-all}.acl-product-select aui-icon{height:16px;color:rgb(var(--aui-color-n-4))}.acl-product-select.isActive,.acl-product-select:not(.acl-product-select--disabled):hover{background-color:rgb(var(--aui-color-primary))}.acl-product-select.isActive aui-icon,.acl-product-select.isActive span,.acl-product-select:not(.acl-product-select--disabled):hover aui-icon,.acl-product-select:not(.acl-product-select--disabled):hover span{color:#fff}::ng-deep .acl-product-select__menu .aui-menu{padding:0;max-width:unset}.menu{display:flex;flex-wrap:wrap;width:calc(100% + 16px)}.menu__item{width:120px;height:148px;display:flex;position:relative;flex-direction:column;border-radius:4px;padding:20px 8px 12px;margin-right:16px;margin-bottom:12px;align-items:center;cursor:pointer;background-color:rgb(var(--aui-color-n-9))}.menu__item:hover{border-color:rgb(var(--aui-color-primary));box-shadow:0 0 8px rgba(var(--aui-color-primary),.5)}.menu__item:not(.menu__item--active){position:relative}.menu__item:not(.menu__item--active):after{position:absolute;content:\"\";top:0;right:0;bottom:0;left:0;border:1px solid rgb(var(--aui-color-n-7));border-radius:4px;pointer-events:none;transition:all .2s ease-in-out}.menu__item:not(.menu__item--active).disabled{background-color:rgb(var(--aui-color-n-8));color:rgb(var(--aui-color-n-6));cursor:not-allowed}.menu__item:not(.menu__item--active):not(.disabled):hover:after{top:-4px;right:-4px;bottom:-4px;left:-4px;border-color:rgb(var(--aui-color-primary));box-shadow:inset 0 0 0 4px rgb(var(--aui-color-n-10)),0 0 8px rgba(var(--aui-color-primary),.5)}.menu__item:not(.menu__item--active):not(.disabled):active:after{top:0;right:0;bottom:0;left:0;box-shadow:0 0 4px rgba(var(--aui-color-primary),.5)}.menu__item:not(.menu__item--active):hover:after{box-shadow:inset 0 0 0 4px rgb(var(--aui-color-n-9)),0 0 8px rgba(var(--aui-color-primary),.5)!important}.menu__item-icon{height:60px;width:60px;display:flex;justify-content:center;align-items:center;color:rgb(var(--aui-color-primary));margin-bottom:12px}.menu__item-icon img{display:block;width:50px}.menu__item-icon img.activated{display:none}.menu__item-info{min-width:0;height:44px;line-height:22px;font-size:16px;font-weight:var(--aui-font-weight-bolder);color:rgb(var(--aui-color-n-1));text-align:center;overflow:hidden;overflow-wrap:anywhere}.menu__item--active{border:1px solid rgb(var(--aui-color-n-7));border-radius:var(--aui-border-radius-l);background-color:rgb(var(--aui-color-primary));border-color:rgb(var(--aui-color-primary));color:#fff;cursor:default;position:relative}.menu__item--active:hover{box-shadow:none}.menu__item--active .menu__item-info{color:#fff;width:90px;height:40px}acl-loading-mask{height:148px;width:800px;display:flex;align-items:center;justify-content:center}\n"] }]
|
|
246
245
|
}], () => [{ type: i1.CommonLayoutStoreService }, { type: i2.Router }, { type: i3.K8sPermissionService }, { type: i4.ProductSelectService }], { current: [{
|
|
247
246
|
type: Input
|
|
248
247
|
}], title: [{
|
|
249
248
|
type: Input
|
|
250
249
|
}] }); })();
|
|
251
250
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProductSelectComponent, { className: "ProductSelectComponent", filePath: "page-scaffold/page-header/common-layout/product-select/component.ts", lineNumber: 65 }); })();
|
|
252
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3BhZ2Utc2NhZmZvbGQvcGFnZS1oZWFkZXIvY29tbW9uLWxheW91dC9wcm9kdWN0LXNlbGVjdC9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvcGFnZS1zY2FmZm9sZC9wYWdlLWhlYWRlci9jb21tb24tbGF5b3V0L3Byb2R1Y3Qtc2VsZWN0L2NvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUdMLFVBQVUsR0FDWCxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7Ozs7O0lDSi9DLCtCQUtDO0lBQ0MsWUFDRjs7SUFBQSxpQkFBTzs7O0lBREwsY0FDRjtJQURFLHNFQUNGOzs7SUFxQlEsNkJBS0M7SUFDQywrQkFPWTs7Ozs7O0lBTFYsY0FFRTtJQUVGLEFBSkEsMkhBRUUscUVBRXdEOzs7SUFJNUQsMEJBTUU7Ozs7O0lBTEEsaUpBR0M7OztJQVFQLCtCQUlZOzs7O0lBekNkLCtCQU9DOztJQURDLDhPQUFTLHlDQUErQixLQUFDO0lBRXpDLCtCQUE2QjtJQWdCM0IsQUFmQSw2SEFLQywrSUFVa0I7SUFTckIsaUJBQU07SUFDTiwrQkFBNkM7SUFDM0MsWUFDRjs7SUFBQSxpQkFBTTtJQUNOLHNIQUlDOztJQUNILGlCQUFNOzs7OztJQXhDSiw0SEFFRTtJQU1HLGVBR1I7SUFBQSxBQUhRLG1GQUdSLHFCQUNMO0lBcUJVLGVBQ0Y7SUFERSxrSEFDRjtJQUVHLGVBQTBDO0lBQTFDLDhGQUEwQzs7O0lBdkNqRCw2QkFBNEU7SUFDMUUsd0dBT0M7Ozs7O0lBRmtCLGNBQWE7SUFBQSxBQUFiLHFDQUFhLGdDQUFnQjs7OztJQTZDbEQsQUFMRiwrQkFJQyxjQUlFO0lBREMscU1BQVMsK0JBQXdCLEtBQUM7SUFFbEMsK0JBQW1DO0lBQ25DLFlBQ0Y7O0lBQ0YsQUFERSxpQkFBTSxFQUNGOzs7O0lBVEoscUVBQTBDO0lBT3hDLGVBQ0Y7SUFERSx1SEFDRjs7O0lBMURGLDhCQUFrQjtJQUNoQix3R0FBNEU7O0lBNkM5RSxpQkFBTTtJQUNOLHNGQUlDOzs7OztJQWxEZ0IsY0FBa0M7SUFBYSxBQUEvQyx1RUFBa0Msd0JBQXlCO0lBK0N6RSxlQUE2QjtJQUE3QixrRUFBNkI7OztJQWVoQyx1Q0FHb0I7O0lBRGxCLDhCQUFnQjs7QUQ1RXBCLDBCQUEwQjtBQUMxQixxQkFBcUI7QUFDckIsb0JBQW9CO0FBQ3BCLG9CQUFvQjtBQUNwQixPQUFPO0FBQ1AsUUFBUTtBQUNSLDBCQUEwQjtBQUMxQixnQ0FBZ0M7QUFDaEMsNEJBQTRCO0FBQzVCLE9BQU87QUFDUCwwQkFBMEI7QUFDMUIsd0NBQXdDO0FBQ3hDLHFDQUFxQztBQUNyQyxPQUFPO0FBQ1AsS0FBSztBQUVMLE1BQU0sSUFBSSxHQUFHO0lBQ1gsSUFBSSxFQUFFLE9BQU87SUFDYixRQUFRLEVBQUUsZ0JBQWdCO0NBQzNCLENBQUM7QUFFRixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUM7QUFFMUIsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQWM7SUFDekMsYUFBYSxFQUFFLEtBQUs7SUFDcEIsYUFBYSxFQUFFLEtBQUs7SUFDcEIsZ0JBQWdCLEVBQUUsUUFBUTtJQUMxQix5REFBeUQ7SUFDekQsZUFBZSxFQUFFLFdBQVc7SUFDNUIsa0JBQWtCLEVBQUUsWUFBWTtJQUNoQyxrQkFBa0IsRUFBRSxxQkFBcUI7SUFDekMsaUJBQWlCLEVBQUUsb0JBQW9CO0lBQ3ZDLHNCQUFzQixFQUFFLGVBQWU7SUFDdkMsYUFBYSxFQUFFLDBCQUEwQjtDQUMxQyxDQUFDO0FBUUYsTUFBTSxPQUFPLHNCQUFzQjtJQW1EakMsWUFDbUIsS0FBK0IsRUFDL0IsTUFBYyxFQUNkLGFBQW1DLEVBQ25DLG9CQUEwQztRQUgxQyxVQUFLLEdBQUwsS0FBSyxDQUEwQjtRQUMvQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2Qsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFoRDdELHFCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBRXBDLGlCQUFZLEdBQUcsYUFBYSxDQUFDO1lBQzNCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNwQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQ2hEO1lBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7Z0JBQzNCLElBQUksRUFBRSxJQUFJO2dCQUNWLElBQUksRUFBRSxDQUFDLGNBQWMsRUFBRSxhQUFhLENBQUM7YUFDdEMsQ0FBQztTQUNILENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3BELE1BQU0sV0FBVyxHQUE0QjtnQkFDM0Msa0JBQWtCLEVBQUUsZUFBZTtnQkFDbkMsaUJBQWlCLEVBQUUsY0FBYzthQUNsQyxDQUFDO1lBQ0YsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7UUFDcEUsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxFQUFFLENBQ2IsQ0FBQztRQUVGLHdCQUFtQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUMxQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDYixDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQ3JCLE9BQU8sQ0FBQyxFQUFFLENBQ1IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQztZQUM5QixDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLGNBQWMsS0FBSyxJQUFJLENBQUMsQ0FDOUQsQ0FDRixFQUNELFVBQVUsRUFBRSxDQUNiLENBQUM7UUFFRixtQkFBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUNyQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2xELFVBQVUsRUFBRSxDQUNiLENBQUM7UUFFRixjQUFTLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDdkMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQ2pDLFVBQVUsRUFBRSxDQUNiLENBQUM7UUFFRixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBbUNqQixZQUFPLEdBQUcsQ0FBQyxDQUFTLEVBQUUsSUFBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFjaEUsb0JBQWUsR0FBRyxDQUNoQixRQUF3QixFQUN4QixLQUFhLEVBQ2IsT0FBeUIsRUFDekIsRUFBRSxDQUNGLEtBQUs7WUFDTCxHQUFHLENBQ0QsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsRUFDNUQsQ0FBQyxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQ3hCLENBQUM7SUFuREQsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBSSxDQUFDLFVBQWtCLEVBQUUsVUFBbUIsRUFBRSxNQUFNLEdBQUcsT0FBTztRQUM1RCxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBaUI7UUFDaEMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxJQUFrQixFQUFFLEtBQWlCO1FBQ3JELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzdDLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxZQUFZLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN6QyxDQUFDO0lBQ0gsQ0FBQztJQUlELGVBQWUsQ0FBQyxJQUFrQixFQUFFLE9BQXlCO1FBQzNELE9BQU8sQ0FDTCxPQUFPO1lBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJO2dCQUNoQixDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUM1RCxDQUFDO0lBQ0osQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFrQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLGdCQUFnQixDQUFDO0lBQ2pELENBQUM7dUZBaEdVLHNCQUFzQjtvRUFBdEIsc0JBQXNCO1lDaEVuQyxpQ0FlQzs7Ozs7OztZQUNDLHlFQUtDOzs7WUFHRCwrQkFNWTs7O1lBQ2QsaUJBQVM7WUFnRVQsQUEvREEsMEhBQW1CLDZHQStERzs7O1lBakZwQixBQUxBLEFBREEsQUFEQSxBQUxBLHFDQUFtQiwrQkFLVyxpREFDQSx5TEFLN0IsOEVBQ2dFO1lBRzlELGVBQ21FO1lBRG5FLGtJQUNtRTtZQVNwRSxlQUF5RDtZQUN6RCxBQURBLG1GQUF5RCw4REFDZDs7O2lGRG9DbEMsc0JBQXNCO2NBTmxDLFNBQVM7MkJBQ0Usb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU07b0pBSS9DLE9BQU87a0JBRE4sS0FBSztZQUlOLEtBQUs7a0JBREosS0FBSzs7a0ZBSkssc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHJlZGlyZWN0U1NPRW50cnkgfSBmcm9tICcuLi8uLi8uLi8uLi9hdXRob3JpemF0aW9uL2F1dGhvcml6YXRpb24nO1xuaW1wb3J0IHtcbiAgU3RyaW5nTWFwLFxuICBQcm9kdWN0RW50cnksXG4gIHB1Ymxpc2hSZWYsXG59IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBLOHNQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Blcm1pc3Npb24vazhzLXBlcm1pc3Npb24uc2VydmljZSc7XG5pbXBvcnQgeyBQcm9kdWN0RW50cnlOYW1lIH0gZnJvbSAnLi4vY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbkxheW91dFN0b3JlU2VydmljZSB9IGZyb20gJy4uL3N0b3JlLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBQcm9kdWN0U2VsZWN0U2VydmljZSB9IGZyb20gJy4vc2VydmljZSc7XG5cbi8vIGNvbnN0IEFETUlOX1ZJRVdfTUFQOiB7XG4vLyAgIFtrZXk6IHN0cmluZ106IHtcbi8vICAgICB2aWV3OiBzdHJpbmc7XG4vLyAgICAgaHJlZjogc3RyaW5nO1xuLy8gICB9O1xuLy8gfSA9IHtcbi8vICAgJ2NvbnNvbGUtcGxhdGZvcm0nOiB7XG4vLyAgICAgaHJlZjogJy9tYW5hZ2UtcGxhdGZvcm0nLFxuLy8gICAgIHZpZXc6ICdwbGF0Zm9ybXZpZXcnLFxuLy8gICB9LFxuLy8gICAnY29uc29sZS1zZWN1cml0eSc6IHtcbi8vICAgICBocmVmOiAnL2NvbnRhaW5lci1zZWN1cml0eS9ob21lJyxcbi8vICAgICB2aWV3OiAnY29udGFpbmVyc2VjdXJpdHl2aWV3Jyxcbi8vICAgfSxcbi8vIH07XG5cbmNvbnN0IFZJRVcgPSB7XG4gIHR5cGU6ICd2aWV3cycsXG4gIGFwaUdyb3VwOiAnYXV0aC5hbGF1ZGEuaW8nLFxufTtcblxuY29uc3QgUFJFRklYID0gJ2NvbnNvbGUtJztcblxuZXhwb3J0IGNvbnN0IFBST0RVQ1RfSUNPTl9NQVA6IFN0cmluZ01hcCA9IHtcbiAgJ2NvbnNvbGUtYWNwJzogJ2FjcCcsXG4gICdjb25zb2xlLWFzbSc6ICdhc20nLFxuICAnY29uc29sZS1kZXZvcHMnOiAnZGV2b3BzJyxcbiAgLy8gY29uc29sZS1lLWFhbSBwcmVmaXgg5Li65LqG5YW85a656buY6K6k5o6S5bqP77yM562J5ZCO57ut5o6S5bqP5pa55qGI5Ye65p2l5Y+v5Lul5pS55oiQY29uc29sZS1hYW1cbiAgJ2NvbnNvbGUtZS1hYW0nOiAnYXBwX3N0b3JlJyxcbiAgJ2NvbnNvbGUtc2VjdXJpdHknOiAnYnVnX3NlYXJjaCcsXG4gICdjb25zb2xlLXBsYXRmb3JtJzogJ3BsYXRmb3JtX21hbmFnZW1lbnQnLFxuICAnY29uc29sZS1wcm9qZWN0JzogJ3Byb2plY3RfbWFuYWdlbWVudCcsXG4gICdjb25zb2xlLWRhdGFzZXJ2aWNlcyc6ICdkYXRhX3NlcnZpY2VzJyxcbiAgJ2NvbnNvbGUtY2VjJzogJ2Nsb3VkX2VkZ2VfY29sbGFib3JhdGlvbicsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtcHJvZHVjdC1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIGN1cnJlbnQ/OiBQcm9kdWN0RW50cnlOYW1lO1xuXG4gIEBJbnB1dCgpXG4gIHRpdGxlPzogc3RyaW5nO1xuXG4gIFBST0RVQ1RfSUNPTl9NQVAgPSBQUk9EVUNUX0lDT05fTUFQO1xuXG4gIGFsbFByb2R1Y3RzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMucHJvZHVjdFNlbGVjdFNlcnZpY2UucmVsb2FkJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc3RvcmUuc2VsZWN0QWxsUHJvZHVjdHMoKSksXG4gICAgKSxcbiAgICB0aGlzLms4c1Blcm1pc3Npb24uaXNBbGxvd2VkKHtcbiAgICAgIHR5cGU6IFZJRVcsXG4gICAgICBuYW1lOiBbJ3BsYXRmb3JtdmlldycsICdwcm9qZWN0dmlldyddLFxuICAgIH0pLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW3Byb2R1Y3RzLCBbY29uc29sZVBsYXRmb3JtLCBjb25zb2xlUHJvamVjdF1dKSA9PiB7XG4gICAgICBjb25zdCBwZXJtaXNzaW9uczogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSB7XG4gICAgICAgICdjb25zb2xlLXBsYXRmb3JtJzogY29uc29sZVBsYXRmb3JtLFxuICAgICAgICAnY29uc29sZS1wcm9qZWN0JzogY29uc29sZVByb2plY3QsXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHByb2R1Y3RzLmZpbHRlcihwID0+IHBlcm1pc3Npb25zW3AubWV0YWRhdGEubmFtZV0gPz8gdHJ1ZSk7XG4gICAgfSksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIHNlbGVjdGFibGVQcm9kdWN0cyQgPSB0aGlzLmFsbFByb2R1Y3RzJC5waXBlKFxuICAgIG1hcChwcm9kdWN0cyA9PlxuICAgICAgKHByb2R1Y3RzIHx8IFtdKS5maWx0ZXIoXG4gICAgICAgIHByb2R1Y3QgPT5cbiAgICAgICAgICAhdGhpcy5pc1BvcnRhbFByb2R1Y3QocHJvZHVjdCkgJiZcbiAgICAgICAgICAoIXByb2R1Y3Quc3RhdHVzIHx8IHByb2R1Y3Quc3RhdHVzLmhpZGRlbk9uUG9ydGFsICE9PSB0cnVlKSxcbiAgICAgICksXG4gICAgKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgcG9ydGFsUHJvZHVjdCQgPSB0aGlzLmFsbFByb2R1Y3RzJC5waXBlKFxuICAgIG1hcChyZXMgPT4gcmVzLmZpbmQocCA9PiB0aGlzLmlzUG9ydGFsUHJvZHVjdChwKSkpLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBkaXNhYmxlZCQgPSB0aGlzLnNlbGVjdGFibGVQcm9kdWN0cyQucGlwZShcbiAgICBtYXAocHJvZHVjdHMgPT4gIXByb2R1Y3RzLmxlbmd0aCksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGlzUG9ydGFsID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yZTogQ29tbW9uTGF5b3V0U3RvcmVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBrOHNQZXJtaXNzaW9uOiBLOHNQZXJtaXNzaW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb2R1Y3RTZWxlY3RTZXJ2aWNlOiBQcm9kdWN0U2VsZWN0U2VydmljZSxcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaXNQb3J0YWwgPSB0aGlzLnJvdXRlci51cmwuc3RhcnRzV2l0aCgnL3BvcnRhbCcpO1xuICB9XG5cbiAganVtcChlbnRyeXBvaW50OiBzdHJpbmcsIHNzb0VuYWJsZWQ6IGJvb2xlYW4sIHRhcmdldCA9ICdfc2VsZicpIHtcbiAgICB3aW5kb3cub3Blbihzc29FbmFibGVkID8gcmVkaXJlY3RTU09FbnRyeShlbnRyeXBvaW50KSA6IGVudHJ5cG9pbnQsIHRhcmdldCk7XG4gIH1cblxuICBuYXZpZ2F0ZVRvUG9ydGFsKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB3aW5kb3cub3BlbignL2NvbnNvbGUtcG9ydGFsJywgJ19zZWxmJyk7XG4gIH1cblxuICBuYXZpZ2F0ZVRvUHJvZHVjdChpdGVtOiBQcm9kdWN0RW50cnksIGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKHRoaXMuaXNQcm9kdWN0QWN0aXZlKGl0ZW0sIHRoaXMuY3VycmVudCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGl0ZW0uc3BlYy5wYWNrVHlwZSA9PT0gJ0ludGVncmF0ZWQnKSB7XG4gICAgICB0aGlzLmp1bXAoaXRlbS5zcGVjLmVudHJ5cG9pbnQsIGl0ZW0uc3BlYy5zc29FbmFibGVkLCAnX2JsYW5rJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuanVtcChpdGVtLnNwZWMuZW50cnlwb2ludCwgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHRyYWNrRm4gPSAoXzogbnVtYmVyLCBpdGVtOiBQcm9kdWN0RW50cnkpID0+IGl0ZW0ubWV0YWRhdGEubmFtZTtcblxuICBpc1Byb2R1Y3RBY3RpdmUoaXRlbTogUHJvZHVjdEVudHJ5LCBjdXJyZW50OiBQcm9kdWN0RW50cnlOYW1lKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGN1cnJlbnQgJiZcbiAgICAgIGl0ZW0ubWV0YWRhdGEubmFtZSA9PT1cbiAgICAgICAgKGN1cnJlbnQuc3RhcnRzV2l0aChQUkVGSVgpID8gY3VycmVudCA6IFBSRUZJWCArIGN1cnJlbnQpXG4gICAgKTtcbiAgfVxuXG4gIGlzUG9ydGFsUHJvZHVjdChpdGVtOiBQcm9kdWN0RW50cnkpIHtcbiAgICByZXR1cm4gaXRlbS5tZXRhZGF0YS5uYW1lID09PSAnY29uc29sZS1wb3J0YWwnO1xuICB9XG5cbiAgZ2V0UHJvZHVjdFRpdGxlID0gKFxuICAgIHByb2R1Y3RzOiBQcm9kdWN0RW50cnlbXSxcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIGN1cnJlbnQ6IFByb2R1Y3RFbnRyeU5hbWUsXG4gICkgPT5cbiAgICB0aXRsZSB8fFxuICAgIGdldChcbiAgICAgIChwcm9kdWN0cyB8fCBbXSkuZmluZChwID0+IHRoaXMuaXNQcm9kdWN0QWN0aXZlKHAsIGN1cnJlbnQpKSxcbiAgICAgIFsnc3BlYycsICdkaXNwbGF5TmFtZSddLFxuICAgICk7XG59XG4iLCI8YnV0dG9uXG4gIGNsYXNzPVwiYWNsLXByb2R1Y3Qtc2VsZWN0XCJcbiAgW2F1aVRvb2x0aXBdPVwibWVudVwiXG4gIGF1aVRvb2x0aXBUeXBlPVwicGxhaW5cIlxuICBhdWlUb29sdGlwVHJpZ2dlcj1cImNsaWNrXCJcbiAgYXVpVG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tIHN0YXJ0XCJcbiAgYXVpVG9vbHRpcENsYXNzPVwiYXVpLXByb2R1Y3Qtc2VsZWN0LXRvb2x0aXBcIlxuICBbYXVpVG9vbHRpcEhpZGVPbkNsaWNrXT1cInRydWVcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQkIHwgYXN5bmNcIlxuICBbdGl0bGVdPVwiXG4gICAgKGRpc2FibGVkJCB8IGFzeW5jKVxuICAgICAgPyAnJ1xuICAgICAgOiAoYWxsUHJvZHVjdHMkIHwgYXN5bmMgfCBwdXJlOiBnZXRQcm9kdWN0VGl0bGU6dGl0bGU6Y3VycmVudCB8IHRyYW5zbGF0ZSlcbiAgXCJcbiAgW25nQ2xhc3NdPVwieyAnYWNsLXByb2R1Y3Qtc2VsZWN0LS1kaXNhYmxlZCc6IGRpc2FibGVkJCB8IGFzeW5jIH1cIlxuPlxuICA8c3BhblxuICAgICpuZ0lmPVwiXG4gICAgICBhbGxQcm9kdWN0cyQgfCBhc3luYyB8IHB1cmU6IGdldFByb2R1Y3RUaXRsZTp0aXRsZTpjdXJyZW50IGFzIHByb2R1Y3RUaXRsZVxuICAgIFwiXG4gICAgY2xhc3M9XCJhY2wtcHJvZHVjdC1zZWxlY3RfX3RpdGxlXCJcbiAgPlxuICAgIHt7IHByb2R1Y3RUaXRsZSB8IHRyYW5zbGF0ZSB9fVxuICA8L3NwYW4+XG4gIDxhdWktaWNvblxuICAgIGljb249XCJtZW51X2RvdF9zXCJcbiAgICBzaXplPVwiMTZweFwiXG4gICAgW2F1aVRvb2x0aXBdPVwiJ25vX3Byb2R1Y3RfYW5kX2NvbnRhY3RfYWRtaW4nIHwgdHJhbnNsYXRlXCJcbiAgICBbYXVpVG9vbHRpcERpc2FibGVkXT1cIiEoZGlzYWJsZWQkIHwgYXN5bmMpXCJcbiAgICBhdWlUb29sdGlwUG9zaXRpb249XCJib3R0b20gc3RhcnRcIlxuICA+PC9hdWktaWNvbj5cbjwvYnV0dG9uPlxuPG5nLXRlbXBsYXRlICNtZW51PlxuICA8ZGl2IGNsYXNzPVwibWVudVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RhYmxlUHJvZHVjdHMkIHwgYXN5bmMgYXMgcHJvZHVjdHM7IGVsc2UgbG9hZGluZ1wiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm1lbnVfX2l0ZW1cIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ21lbnVfX2l0ZW0tLWFjdGl2ZSc6IGl0ZW0gfCBwdXJlOiBpc1Byb2R1Y3RBY3RpdmU6Y3VycmVudFxuICAgICAgICB9XCJcbiAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcHJvZHVjdHM7IHRyYWNrQnk6IHRyYWNrRm5cIlxuICAgICAgICAoY2xpY2spPVwibmF2aWdhdGVUb1Byb2R1Y3QoaXRlbSwgJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZW51X19pdGVtLWljb25cIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICBpdGVtLnNwZWMucGFja1R5cGUgIT09ICdJbnRlZ3JhdGVkJyAmJiAhaXRlbS5zcGVjLmxvZ287XG4gICAgICAgICAgICAgIGVsc2UgbG9nb1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICAgICAgY2xhc3M9XCJhY2wtY29sb3JmdWwtaWNvblwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICBoaWdobGlnaHQ6IGl0ZW0gfCBwdXJlOiBpc1Byb2R1Y3RBY3RpdmU6Y3VycmVudFxuICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgc2l6ZT1cIjUwXCJcbiAgICAgICAgICAgICAgW2ljb25dPVwiJ2JpY29sb3I6JyArIFBST0RVQ1RfSUNPTl9NQVBbaXRlbS5tZXRhZGF0YS5uYW1lXVwiXG4gICAgICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2xvZ28+XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgIFtzcmNdPVwiXG4gICAgICAgICAgICAgICAgKGl0ZW0uc3BlYy5sb2dvIHwgYWNsSW1hZ2VIZWFkZXIpIHx8XG4gICAgICAgICAgICAgICAgICAnaW1hZ2VzL3Byb2R1Y3QtZGVmYXVsdC1sb2dvLnBuZycgfCBhY2xTYWZlOiAndXJsJ1xuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBjbGFzcz1cImRlZmF1bHRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1lbnVfX2l0ZW0taW5mbyB0dy1saW5lLWNsYW1wLTJcIj5cbiAgICAgICAgICB7eyBpdGVtLnNwZWMuZGlzcGxheU5hbWUgfCB0cmFuc2xhdGU6IHt9OnRydWUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxhdWktaWNvblxuICAgICAgICAgICpuZ0lmPVwiaXRlbSB8IHB1cmU6IGlzUHJvZHVjdEFjdGl2ZTpjdXJyZW50XCJcbiAgICAgICAgICBjbGFzcz1cImNoZWNrLXRyaWFuZ2xlLWJhZGdlXCJcbiAgICAgICAgICBpY29uPVwiY2hlY2tcIlxuICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgICpuZ0lmPVwicG9ydGFsUHJvZHVjdCQgfCBhc3luYyBhcyBwb3J0YWxNZW51XCJcbiAgICBjbGFzcz1cInBvcnRhbFwiXG4gICAgW25nQ2xhc3NdPVwieyAncG9ydGFsLS1hY3RpdmUnOiBpc1BvcnRhbCB9XCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwicG9ydGFsX19pdGVtXCJcbiAgICAgIChjbGljayk9XCJuYXZpZ2F0ZVRvUG9ydGFsKCRldmVudClcIlxuICAgID5cbiAgICAgIDxhdWktaWNvbiBpY29uPVwiaG9tZV9zXCI+PC9hdWktaWNvbj5cbiAgICAgIHt7IHBvcnRhbE1lbnUuc3BlYy5kaXNwbGF5TmFtZSB8IHRyYW5zbGF0ZToge306dHJ1ZSB9fVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgPGFjbC1sb2FkaW5nLW1hc2tcbiAgICBzdHlsZT1cImhlaWdodDogMTQ4cHhcIlxuICAgIFtsb2FkaW5nXT1cInRydWVcIlxuICA+PC9hY2wtbG9hZGluZy1tYXNrPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
251
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL3BhZ2Utc2NhZmZvbGQvcGFnZS1oZWFkZXIvY29tbW9uLWxheW91dC9wcm9kdWN0LXNlbGVjdC9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvcGFnZS1zY2FmZm9sZC9wYWdlLWhlYWRlci9jb21tb24tbGF5b3V0L3Byb2R1Y3Qtc2VsZWN0L2NvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssR0FFTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUdMLFVBQVUsR0FDWCxNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7Ozs7SUNEL0MsK0JBT0M7SUFDQyxZQUNGOztJQUFBLGlCQUFPOzs7SUFETCxjQUNGO0lBREUsc0VBQ0Y7OztJQXFCUSw2QkFLQztJQUNDLCtCQU9ZOzs7Ozs7SUFMVixjQUVFO0lBRUYsQUFKQSwy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SUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbEUsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0lBSUQsZUFBZSxDQUFDLElBQWtCLEVBQUUsT0FBeUI7UUFDM0QsT0FBTyxDQUNMLE9BQU87WUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUk7Z0JBQ2hCLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQzVELENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZSxDQUFDLElBQWtCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCLENBQUM7SUFDakQsQ0FBQzt1RkFoR1Usc0JBQXNCO29FQUF0QixzQkFBc0I7WUNoRW5DLGlDQWtCQzs7Ozs7OztZQUNDLHlFQU9DOzs7WUFHRCwrQkFNWTs7O1lBQ2QsaUJBQVM7WUFnRVQsQUEvREEsMEhBQW1CLDZHQStERzs7O1lBbkZwQixBQVJBLEFBREEsQUFEQSxBQUxBLHFDQUFtQiwrQkFLVyxpREFDQSx5TEFRN0IsOEVBQ2dFO1lBRzlELGVBR29EO1lBSHBELGtJQUdvRDtZQVNyRCxlQUF5RDtZQUN6RCxBQURBLG1GQUF5RCw4REFDZDs7O2lGRCtCbEMsc0JBQXNCO2NBTmxDLFNBQVM7MkJBQ0Usb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU07b0pBSS9DLE9BQU87a0JBRE4sS0FBSztZQUlOLEtBQUs7a0JBREosS0FBSzs7a0ZBSkssc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHJlZGlyZWN0U1NPRW50cnkgfSBmcm9tICcuLi8uLi8uLi8uLi9hdXRob3JpemF0aW9uL2F1dGhvcml6YXRpb24nO1xuaW1wb3J0IHtcbiAgU3RyaW5nTWFwLFxuICBQcm9kdWN0RW50cnksXG4gIHB1Ymxpc2hSZWYsXG59IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBLOHNQZXJtaXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Blcm1pc3Npb24vazhzLXBlcm1pc3Npb24uc2VydmljZSc7XG5pbXBvcnQgeyBQcm9kdWN0RW50cnlOYW1lIH0gZnJvbSAnLi4vY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbkxheW91dFN0b3JlU2VydmljZSB9IGZyb20gJy4uL3N0b3JlLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBQcm9kdWN0U2VsZWN0U2VydmljZSB9IGZyb20gJy4vc2VydmljZSc7XG5cbi8vIGNvbnN0IEFETUlOX1ZJRVdfTUFQOiB7XG4vLyAgIFtrZXk6IHN0cmluZ106IHtcbi8vICAgICB2aWV3OiBzdHJpbmc7XG4vLyAgICAgaHJlZjogc3RyaW5nO1xuLy8gICB9O1xuLy8gfSA9IHtcbi8vICAgJ2NvbnNvbGUtcGxhdGZvcm0nOiB7XG4vLyAgICAgaHJlZjogJy9tYW5hZ2UtcGxhdGZvcm0nLFxuLy8gICAgIHZpZXc6ICdwbGF0Zm9ybXZpZXcnLFxuLy8gICB9LFxuLy8gICAnY29uc29sZS1zZWN1cml0eSc6IHtcbi8vICAgICBocmVmOiAnL2NvbnRhaW5lci1zZWN1cml0eS9ob21lJyxcbi8vICAgICB2aWV3OiAnY29udGFpbmVyc2VjdXJpdHl2aWV3Jyxcbi8vICAgfSxcbi8vIH07XG5cbmNvbnN0IFZJRVcgPSB7XG4gIHR5cGU6ICd2aWV3cycsXG4gIGFwaUdyb3VwOiAnYXV0aC5hbGF1ZGEuaW8nLFxufTtcblxuY29uc3QgUFJFRklYID0gJ2NvbnNvbGUtJztcblxuZXhwb3J0IGNvbnN0IFBST0RVQ1RfSUNPTl9NQVA6IFN0cmluZ01hcCA9IHtcbiAgJ2NvbnNvbGUtYWNwJzogJ2FjcCcsXG4gICdjb25zb2xlLWFzbSc6ICdhc20nLFxuICAnY29uc29sZS1kZXZvcHMnOiAnZGV2b3BzJyxcbiAgLy8gY29uc29sZS1lLWFhbSBwcmVmaXgg5Li65LqG5YW85a656buY6K6k5o6S5bqP77yM562J5ZCO57ut5o6S5bqP5pa55qGI5Ye65p2l5Y+v5Lul5pS55oiQY29uc29sZS1hYW1cbiAgJ2NvbnNvbGUtZS1hYW0nOiAnYXBwX3N0b3JlJyxcbiAgJ2NvbnNvbGUtc2VjdXJpdHknOiAnYnVnX3NlYXJjaCcsXG4gICdjb25zb2xlLXBsYXRmb3JtJzogJ3BsYXRmb3JtX21hbmFnZW1lbnQnLFxuICAnY29uc29sZS1wcm9qZWN0JzogJ3Byb2plY3RfbWFuYWdlbWVudCcsXG4gICdjb25zb2xlLWRhdGFzZXJ2aWNlcyc6ICdkYXRhX3NlcnZpY2VzJyxcbiAgJ2NvbnNvbGUtY2VjJzogJ2Nsb3VkX2VkZ2VfY29sbGFib3JhdGlvbicsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtcHJvZHVjdC1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdFNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIGN1cnJlbnQ/OiBQcm9kdWN0RW50cnlOYW1lO1xuXG4gIEBJbnB1dCgpXG4gIHRpdGxlPzogc3RyaW5nO1xuXG4gIFBST0RVQ1RfSUNPTl9NQVAgPSBQUk9EVUNUX0lDT05fTUFQO1xuXG4gIGFsbFByb2R1Y3RzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMucHJvZHVjdFNlbGVjdFNlcnZpY2UucmVsb2FkJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc3RvcmUuc2VsZWN0QWxsUHJvZHVjdHMoKSksXG4gICAgKSxcbiAgICB0aGlzLms4c1Blcm1pc3Npb24uaXNBbGxvd2VkKHtcbiAgICAgIHR5cGU6IFZJRVcsXG4gICAgICBuYW1lOiBbJ3BsYXRmb3JtdmlldycsICdwcm9qZWN0dmlldyddLFxuICAgIH0pLFxuICBdKS5waXBlKFxuICAgIG1hcCgoW3Byb2R1Y3RzLCBbY29uc29sZVBsYXRmb3JtLCBjb25zb2xlUHJvamVjdF1dKSA9PiB7XG4gICAgICBjb25zdCBwZXJtaXNzaW9uczogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSB7XG4gICAgICAgICdjb25zb2xlLXBsYXRmb3JtJzogY29uc29sZVBsYXRmb3JtLFxuICAgICAgICAnY29uc29sZS1wcm9qZWN0JzogY29uc29sZVByb2plY3QsXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHByb2R1Y3RzLmZpbHRlcihwID0+IHBlcm1pc3Npb25zW3AubWV0YWRhdGEubmFtZV0gPz8gdHJ1ZSk7XG4gICAgfSksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIHNlbGVjdGFibGVQcm9kdWN0cyQgPSB0aGlzLmFsbFByb2R1Y3RzJC5waXBlKFxuICAgIG1hcChwcm9kdWN0cyA9PlxuICAgICAgKHByb2R1Y3RzIHx8IFtdKS5maWx0ZXIoXG4gICAgICAgIHByb2R1Y3QgPT5cbiAgICAgICAgICAhdGhpcy5pc1BvcnRhbFByb2R1Y3QocHJvZHVjdCkgJiZcbiAgICAgICAgICAoIXByb2R1Y3Quc3RhdHVzIHx8IHByb2R1Y3Quc3RhdHVzLmhpZGRlbk9uUG9ydGFsICE9PSB0cnVlKSxcbiAgICAgICksXG4gICAgKSxcbiAgICBwdWJsaXNoUmVmKCksXG4gICk7XG5cbiAgcG9ydGFsUHJvZHVjdCQgPSB0aGlzLmFsbFByb2R1Y3RzJC5waXBlKFxuICAgIG1hcChyZXMgPT4gcmVzLmZpbmQocCA9PiB0aGlzLmlzUG9ydGFsUHJvZHVjdChwKSkpLFxuICAgIHB1Ymxpc2hSZWYoKSxcbiAgKTtcblxuICBkaXNhYmxlZCQgPSB0aGlzLnNlbGVjdGFibGVQcm9kdWN0cyQucGlwZShcbiAgICBtYXAocHJvZHVjdHMgPT4gIXByb2R1Y3RzLmxlbmd0aCksXG4gICAgcHVibGlzaFJlZigpLFxuICApO1xuXG4gIGlzUG9ydGFsID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yZTogQ29tbW9uTGF5b3V0U3RvcmVTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBrOHNQZXJtaXNzaW9uOiBLOHNQZXJtaXNzaW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb2R1Y3RTZWxlY3RTZXJ2aWNlOiBQcm9kdWN0U2VsZWN0U2VydmljZSxcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaXNQb3J0YWwgPSB0aGlzLnJvdXRlci51cmwuc3RhcnRzV2l0aCgnL3BvcnRhbCcpO1xuICB9XG5cbiAganVtcChlbnRyeXBvaW50OiBzdHJpbmcsIHNzb0VuYWJsZWQ6IGJvb2xlYW4sIHRhcmdldCA9ICdfc2VsZicpIHtcbiAgICB3aW5kb3cub3Blbihzc29FbmFibGVkID8gcmVkaXJlY3RTU09FbnRyeShlbnRyeXBvaW50KSA6IGVudHJ5cG9pbnQsIHRhcmdldCk7XG4gIH1cblxuICBuYXZpZ2F0ZVRvUG9ydGFsKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB3aW5kb3cub3BlbignL2NvbnNvbGUtcG9ydGFsJywgJ19zZWxmJyk7XG4gIH1cblxuICBuYXZpZ2F0ZVRvUHJvZHVjdChpdGVtOiBQcm9kdWN0RW50cnksIGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKHRoaXMuaXNQcm9kdWN0QWN0aXZlKGl0ZW0sIHRoaXMuY3VycmVudCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGl0ZW0uc3BlYy5wYWNrVHlwZSA9PT0gJ0ludGVncmF0ZWQnKSB7XG4gICAgICB0aGlzLmp1bXAoaXRlbS5zcGVjLmVudHJ5cG9pbnQsIGl0ZW0uc3BlYy5zc29FbmFibGVkLCAnX2JsYW5rJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuanVtcChpdGVtLnNwZWMuZW50cnlwb2ludCwgZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHRyYWNrRm4gPSAoXzogbnVtYmVyLCBpdGVtOiBQcm9kdWN0RW50cnkpID0+IGl0ZW0ubWV0YWRhdGEubmFtZTtcblxuICBpc1Byb2R1Y3RBY3RpdmUoaXRlbTogUHJvZHVjdEVudHJ5LCBjdXJyZW50OiBQcm9kdWN0RW50cnlOYW1lKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGN1cnJlbnQgJiZcbiAgICAgIGl0ZW0ubWV0YWRhdGEubmFtZSA9PT1cbiAgICAgICAgKGN1cnJlbnQuc3RhcnRzV2l0aChQUkVGSVgpID8gY3VycmVudCA6IFBSRUZJWCArIGN1cnJlbnQpXG4gICAgKTtcbiAgfVxuXG4gIGlzUG9ydGFsUHJvZHVjdChpdGVtOiBQcm9kdWN0RW50cnkpIHtcbiAgICByZXR1cm4gaXRlbS5tZXRhZGF0YS5uYW1lID09PSAnY29uc29sZS1wb3J0YWwnO1xuICB9XG5cbiAgZ2V0UHJvZHVjdFRpdGxlID0gKFxuICAgIHByb2R1Y3RzOiBQcm9kdWN0RW50cnlbXSxcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIGN1cnJlbnQ6IFByb2R1Y3RFbnRyeU5hbWUsXG4gICkgPT5cbiAgICB0aXRsZSB8fFxuICAgIGdldChcbiAgICAgIChwcm9kdWN0cyB8fCBbXSkuZmluZChwID0+IHRoaXMuaXNQcm9kdWN0QWN0aXZlKHAsIGN1cnJlbnQpKSxcbiAgICAgIFsnc3BlYycsICdkaXNwbGF5TmFtZSddLFxuICAgICk7XG59XG4iLCI8YnV0dG9uXG4gIGNsYXNzPVwiYWNsLXByb2R1Y3Qtc2VsZWN0XCJcbiAgW2F1aVRvb2x0aXBdPVwibWVudVwiXG4gIGF1aVRvb2x0aXBUeXBlPVwicGxhaW5cIlxuICBhdWlUb29sdGlwVHJpZ2dlcj1cImNsaWNrXCJcbiAgYXVpVG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tIHN0YXJ0XCJcbiAgYXVpVG9vbHRpcENsYXNzPVwiYXVpLXByb2R1Y3Qtc2VsZWN0LXRvb2x0aXBcIlxuICBbYXVpVG9vbHRpcEhpZGVPbkNsaWNrXT1cInRydWVcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQkIHwgYXN5bmNcIlxuICBbdGl0bGVdPVwiXG4gICAgKGRpc2FibGVkJCB8IGFzeW5jKVxuICAgICAgPyAnJ1xuICAgICAgOiAoYWxsUHJvZHVjdHMkXG4gICAgICAgIHwgYXN5bmNcbiAgICAgICAgfCBwdXJlOiBnZXRQcm9kdWN0VGl0bGUgOiB0aXRsZSA6IGN1cnJlbnRcbiAgICAgICAgfCB0cmFuc2xhdGUpXG4gIFwiXG4gIFtuZ0NsYXNzXT1cInsgJ2FjbC1wcm9kdWN0LXNlbGVjdC0tZGlzYWJsZWQnOiBkaXNhYmxlZCQgfCBhc3luYyB9XCJcbj5cbiAgPHNwYW5cbiAgICAqbmdJZj1cIlxuICAgICAgYWxsUHJvZHVjdHMkXG4gICAgICAgIHwgYXN5bmNcbiAgICAgICAgfCBwdXJlOiBnZXRQcm9kdWN0VGl0bGUgOiB0aXRsZSA6IGN1cnJlbnQgYXMgcHJvZHVjdFRpdGxlXG4gICAgXCJcbiAgICBjbGFzcz1cImFjbC1wcm9kdWN0LXNlbGVjdF9fdGl0bGVcIlxuICA+XG4gICAge3sgcHJvZHVjdFRpdGxlIHwgdHJhbnNsYXRlIH19XG4gIDwvc3Bhbj5cbiAgPGF1aS1pY29uXG4gICAgaWNvbj1cIm1lbnVfZG90X3NcIlxuICAgIHNpemU9XCIxNnB4XCJcbiAgICBbYXVpVG9vbHRpcF09XCInbm9fcHJvZHVjdF9hbmRfY29udGFjdF9hZG1pbicgfCB0cmFuc2xhdGVcIlxuICAgIFthdWlUb29sdGlwRGlzYWJsZWRdPVwiIShkaXNhYmxlZCQgfCBhc3luYylcIlxuICAgIGF1aVRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbSBzdGFydFwiXG4gID48L2F1aS1pY29uPlxuPC9idXR0b24+XG48bmctdGVtcGxhdGUgI21lbnU+XG4gIDxkaXYgY2xhc3M9XCJtZW51XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGFibGVQcm9kdWN0cyQgfCBhc3luYyBhcyBwcm9kdWN0czsgZWxzZSBsb2FkaW5nXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibWVudV9faXRlbVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnbWVudV9faXRlbS0tYWN0aXZlJzogaXRlbSB8IHB1cmU6IGlzUHJvZHVjdEFjdGl2ZSA6IGN1cnJlbnQsXG4gICAgICAgIH1cIlxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBwcm9kdWN0czsgdHJhY2tCeTogdHJhY2tGblwiXG4gICAgICAgIChjbGljayk9XCJuYXZpZ2F0ZVRvUHJvZHVjdChpdGVtLCAkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1lbnVfX2l0ZW0taWNvblwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgIGl0ZW0uc3BlYy5wYWNrVHlwZSAhPT0gJ0ludGVncmF0ZWQnICYmICFpdGVtLnNwZWMubG9nbztcbiAgICAgICAgICAgICAgZWxzZSBsb2dvXG4gICAgICAgICAgICBcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhdWktaWNvblxuICAgICAgICAgICAgICBjbGFzcz1cImFjbC1jb2xvcmZ1bC1pY29uXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgIGhpZ2hsaWdodDogaXRlbSB8IHB1cmU6IGlzUHJvZHVjdEFjdGl2ZSA6IGN1cnJlbnQsXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICBzaXplPVwiNTBcIlxuICAgICAgICAgICAgICBbaWNvbl09XCInYmljb2xvcjonICsgUFJPRFVDVF9JQ09OX01BUFtpdGVtLm1ldGFkYXRhLm5hbWVdXCJcbiAgICAgICAgICAgID48L2F1aS1pY29uPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbG9nbz5cbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgW3NyY109XCJcbiAgICAgICAgICAgICAgICAoaXRlbS5zcGVjLmxvZ28gfCBhY2xJbWFnZUhlYWRlcikgfHxcbiAgICAgICAgICAgICAgICAgICdpbWFnZXMvcHJvZHVjdC1kZWZhdWx0LWxvZ28ucG5nJyB8IGFjbFNhZmU6ICd1cmwnXG4gICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWVudV9faXRlbS1pbmZvIHR3LWxpbmUtY2xhbXAtMlwiPlxuICAgICAgICAgIHt7IGl0ZW0uc3BlYy5kaXNwbGF5TmFtZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGF1aS1pY29uXG4gICAgICAgICAgKm5nSWY9XCJpdGVtIHwgcHVyZTogaXNQcm9kdWN0QWN0aXZlIDogY3VycmVudFwiXG4gICAgICAgICAgY2xhc3M9XCJjaGVjay10cmlhbmdsZS1iYWRnZVwiXG4gICAgICAgICAgaWNvbj1cImNoZWNrXCJcbiAgICAgICAgPjwvYXVpLWljb24+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICAqbmdJZj1cInBvcnRhbFByb2R1Y3QkIHwgYXN5bmMgYXMgcG9ydGFsTWVudVwiXG4gICAgY2xhc3M9XCJwb3J0YWxcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ3BvcnRhbC0tYWN0aXZlJzogaXNQb3J0YWwgfVwiXG4gID5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInBvcnRhbF9faXRlbVwiXG4gICAgICAoY2xpY2spPVwibmF2aWdhdGVUb1BvcnRhbCgkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8YXVpLWljb24gaWNvbj1cImhvbWVfc1wiPjwvYXVpLWljb24+XG4gICAgICB7eyBwb3J0YWxNZW51LnNwZWMuZGlzcGxheU5hbWUgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xvYWRpbmc+XG4gIDxhY2wtbG9hZGluZy1tYXNrXG4gICAgc3R5bGU9XCJoZWlnaHQ6IDE0OHB4XCJcbiAgICBbbG9hZGluZ109XCJ0cnVlXCJcbiAgPjwvYWNsLWxvYWRpbmctbWFzaz5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|