@morozeckiy/dd-lib 0.2.30 → 0.2.38
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/assets/images/svg/print.svg +12 -0
- package/esm2022/lib/core/dialog/dialog-config.mjs +2 -2
- package/esm2022/lib/core/index.mjs +2 -4
- package/esm2022/lib/core/toast/index.mjs +5 -0
- package/esm2022/lib/core/toast/toast/toast-animations.mjs +9 -0
- package/esm2022/lib/core/toast/toast/toast.component.mjs +58 -0
- package/esm2022/lib/core/toast/toast-config.mjs +24 -0
- package/esm2022/lib/core/toast/toast-ref.mjs +15 -0
- package/esm2022/lib/core/toast/toast.service.mjs +41 -109
- package/esm2022/lib/lib-button/lib-button.component.mjs +1 -1
- package/esm2022/lib/lib-loader/lib-loader.component.mjs +6 -3
- package/esm2022/lib/lib-search-input/lib-search-input.component.mjs +2 -2
- package/esm2022/lib/lib-select/lib-select.component.mjs +2 -2
- package/esm2022/lib/svg-icons/svg-icon.model.mjs +6 -1
- package/fesm2022/morozeckiy-dd-lib.mjs +141 -175
- package/fesm2022/morozeckiy-dd-lib.mjs.map +1 -1
- package/lib/core/index.d.ts +1 -3
- package/lib/core/services/validators.service.d.ts +2 -2
- package/lib/core/toast/index.d.ts +4 -0
- package/lib/core/toast/toast/toast-animations.d.ts +5 -0
- package/lib/core/toast/toast/toast.component.d.ts +21 -0
- package/lib/core/toast/toast-config.d.ts +23 -0
- package/lib/core/toast/toast-ref.d.ts +8 -0
- package/lib/core/toast/toast.service.d.ts +13 -29
- package/lib/lib-loader/lib-loader.component.d.ts +2 -1
- package/lib/svg-icons/svg-icon.model.d.ts +8 -1
- package/morozeckiy-dd-lib-0.2.32.tgz +0 -0
- package/morozeckiy-dd-lib-0.2.33.tgz +0 -0
- package/morozeckiy-dd-lib-0.2.34.tgz +0 -0
- package/morozeckiy-dd-lib-0.2.35.tgz +0 -0
- package/morozeckiy-dd-lib-0.2.36.tgz +0 -0
- package/morozeckiy-dd-lib-0.2.37.tgz +0 -0
- package/morozeckiy-dd-lib-0.2.38.tgz +0 -0
- package/package.json +1 -1
- package/morozeckiy-dd-lib-0.2.27.tgz +0 -0
- package/morozeckiy-dd-lib-0.2.29.tgz +0 -0
- package/morozeckiy-dd-lib-0.2.30.tgz +0 -0
|
@@ -143,7 +143,7 @@ export class LibSearchInputComponent extends LibCommonInputTextComponent {
|
|
|
143
143
|
return item[this.keyDesc];
|
|
144
144
|
}
|
|
145
145
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibSearchInputComponent, deps: [{ token: i1.DestroyService }, { token: i0.ChangeDetectorRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
146
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: LibSearchInputComponent, isStandalone: true, selector: "dd-lib-search-input", inputs: { keyTitle: "keyTitle", keyDesc: "keyDesc", styleInput: "styleInput", inputStyle: "inputStyle", fetchMode: "fetchMode", searchData: "searchData", debounceTime: "debounceTime", delay: "delay", idClose: "idClose", loaded$: "loaded$" }, outputs: { keyupEvent: "keyupEvent", selectedItem: "selectedItem" }, providers: [DestroyService], usesInheritance: true, ngImport: i0, template: "<div class=\"lib-search-input\">\r\n <label [for]=\"id\" class=\"lib-search-input__title\">\r\n {{ label }}\r\n @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n <div class=\"pos-relative\">\r\n <dd-lib-svg-icon (click)=\"forceChange()\" class=\"search-icon\" icon=\"search\"></dd-lib-svg-icon>\r\n <input\r\n #searchInput\r\n (keyup)=\"keyUp.next($event)\"\r\n (keyup.enter)=\"forceChange()\"\r\n [(ngModel)]=\"value\"\r\n [attr.autocomplete]=\"autocomplete === undefined ? null : autocomplete\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.name]=\"name\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.tabIndex]=\"tabIndex\"\r\n [attr.type]=\"type || 'text'\"\r\n [class.focused]=\"focused\"\r\n [class.round]=\"styleInput === 'round'\"\r\n [class.white]=\"inputStyle === 'white'\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readOnly\"\r\n class=\"search-input\" />\r\n <dd-lib-svg-icon\r\n (click)=\"onClear()\"\r\n [id]=\"idClose\" [style.display]=\"value?.length ? 'block' : 'none'\"\r\n class=\"clear-icon\" icon=\"clear\"></dd-lib-svg-icon>\r\n @if (loaded$ | async) {\r\n <div class=\"loading-icon\">\r\n <dd-lib-loader></dd-lib-loader>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (data?.length) {\r\n <dd-lib-card [class.top]=\"side === 'top'\">\r\n @for (item of data; track item) {\r\n <div (click)=\"onClickSearchItem(item)\" class=\"search-result\">\r\n @if (getTitle(item); as title) {\r\n <div [innerHTML]=\"title | highlight: value | safe: 'html'\" class=\"search-result__title\"></div>\r\n } @if (getDesc(item); as desc) {\r\n <div [innerHTML]=\"desc | highlight: value | safe: 'html'\" class=\"search-result__desc\"></div>\r\n }\r\n </div>\r\n }\r\n </dd-lib-card>\r\n }\r\n</div>\r\n", styles: [":host{display:block}.lib-search-input{position:relative}.lib-search-input__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-search-input input{width:100%;height:48px;padding:16px 16px 15px 44px;border-radius:8px;border:none;background-color:var(--input-gray-bgc)}.lib-search-input input.white{background-color:var(--white-color);border:1px solid var(--primary-gray-color)}.lib-search-input .round{border-radius:24px}.lib-search-input .search-icon{position:absolute;left:16px;top:14px;cursor:pointer}.lib-search-input .clear-icon{position:absolute;right:16px;top:14px;cursor:pointer}.lib-search-input .loading-icon{position:absolute;right:40px;top:12px}.lib-search-input .search-result{font-size:16px;font-weight:400;line-height:24px;letter-spacing:0;text-align:left;cursor:pointer}.lib-search-input .search-result:hover{opacity:.8}.lib-search-input .search-result:last-child .search-result__desc{border:none;padding-bottom:0}.lib-search-input .search-result__title{color:var(--second-gray-color);margin:24px 0 2px}.lib-search-input .search-result__desc{padding-bottom:16px;border-bottom:1px solid var(--gray-color-200)}.lib-search-input dd-lib-card{position:absolute;display:block;top:76px;z-index:100;width:100%;max-height:400px;box-shadow:var(--main-card-shadow);overflow:auto}.lib-search-input dd-lib-card.top{bottom:50px;top:unset}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LibCardComponent, selector: "dd-lib-card", inputs: ["type", "footerBtn", "sHeight", "skeleton", "parentLvlForSkeleton", "plugs", "borderRadius"], outputs: ["cardBtnEvent"] }, { kind: "pipe", type: HighlightPipe, name: "highlight" }, { kind: "pipe", type: SafePipe, name: "safe" }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }, { kind: "component", type: LibLoaderComponent, selector: "dd-lib-loader", inputs: ["color"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
146
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.2", type: LibSearchInputComponent, isStandalone: true, selector: "dd-lib-search-input", inputs: { keyTitle: "keyTitle", keyDesc: "keyDesc", styleInput: "styleInput", inputStyle: "inputStyle", fetchMode: "fetchMode", searchData: "searchData", debounceTime: "debounceTime", delay: "delay", idClose: "idClose", loaded$: "loaded$" }, outputs: { keyupEvent: "keyupEvent", selectedItem: "selectedItem" }, providers: [DestroyService], usesInheritance: true, ngImport: i0, template: "<div class=\"lib-search-input\">\r\n <label [for]=\"id\" class=\"lib-search-input__title\">\r\n {{ label }}\r\n @if (required) {\r\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\r\n }\r\n </label>\r\n <div class=\"pos-relative\">\r\n <dd-lib-svg-icon (click)=\"forceChange()\" class=\"search-icon\" icon=\"search\"></dd-lib-svg-icon>\r\n <input\r\n #searchInput\r\n (keyup)=\"keyUp.next($event)\"\r\n (keyup.enter)=\"forceChange()\"\r\n [(ngModel)]=\"value\"\r\n [attr.autocomplete]=\"autocomplete === undefined ? null : autocomplete\"\r\n [attr.id]=\"id ? id : null\"\r\n [attr.maxlength]=\"maxlength\"\r\n [attr.minlength]=\"minlength\"\r\n [attr.name]=\"name\"\r\n [attr.placeholder]=\"placeholder\"\r\n [attr.tabIndex]=\"tabIndex\"\r\n [attr.type]=\"type || 'text'\"\r\n [class.focused]=\"focused\"\r\n [class.round]=\"styleInput === 'round'\"\r\n [class.white]=\"inputStyle === 'white'\"\r\n [disabled]=\"disabled\"\r\n [readOnly]=\"readOnly\"\r\n class=\"search-input\" />\r\n <dd-lib-svg-icon\r\n (click)=\"onClear()\"\r\n [id]=\"idClose\" [style.display]=\"value?.length ? 'block' : 'none'\"\r\n class=\"clear-icon\" icon=\"clear\"></dd-lib-svg-icon>\r\n @if (loaded$ | async) {\r\n <div class=\"loading-icon\">\r\n <dd-lib-loader></dd-lib-loader>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (data?.length) {\r\n <dd-lib-card [class.top]=\"side === 'top'\">\r\n @for (item of data; track item) {\r\n <div (click)=\"onClickSearchItem(item)\" class=\"search-result\">\r\n @if (getTitle(item); as title) {\r\n <div [innerHTML]=\"title | highlight: value | safe: 'html'\" class=\"search-result__title\"></div>\r\n } @if (getDesc(item); as desc) {\r\n <div [innerHTML]=\"desc | highlight: value | safe: 'html'\" class=\"search-result__desc\"></div>\r\n }\r\n </div>\r\n }\r\n </dd-lib-card>\r\n }\r\n</div>\r\n", styles: [":host{display:block}.lib-search-input{position:relative}.lib-search-input__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-search-input input{width:100%;height:48px;padding:16px 16px 15px 44px;border-radius:8px;border:none;background-color:var(--input-gray-bgc)}.lib-search-input input.white{background-color:var(--white-color);border:1px solid var(--primary-gray-color)}.lib-search-input .round{border-radius:24px}.lib-search-input .search-icon{position:absolute;left:16px;top:14px;cursor:pointer}.lib-search-input .clear-icon{position:absolute;right:16px;top:14px;cursor:pointer}.lib-search-input .loading-icon{position:absolute;right:40px;top:12px}.lib-search-input .search-result{font-size:16px;font-weight:400;line-height:24px;letter-spacing:0;text-align:left;cursor:pointer}.lib-search-input .search-result:hover{opacity:.8}.lib-search-input .search-result:last-child .search-result__desc{border:none;padding-bottom:0}.lib-search-input .search-result__title{color:var(--second-gray-color);margin:24px 0 2px}.lib-search-input .search-result__desc{padding-bottom:16px;border-bottom:1px solid var(--gray-color-200)}.lib-search-input dd-lib-card{position:absolute;display:block;top:76px;z-index:100;width:100%;max-height:400px;box-shadow:var(--main-card-shadow);overflow:auto}.lib-search-input dd-lib-card.top{bottom:50px;top:unset}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: LibCardComponent, selector: "dd-lib-card", inputs: ["type", "footerBtn", "sHeight", "skeleton", "parentLvlForSkeleton", "plugs", "borderRadius"], outputs: ["cardBtnEvent"] }, { kind: "pipe", type: HighlightPipe, name: "highlight" }, { kind: "pipe", type: SafePipe, name: "safe" }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }, { kind: "component", type: LibLoaderComponent, selector: "dd-lib-loader", inputs: ["color", "size"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
147
147
|
}
|
|
148
148
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibSearchInputComponent, decorators: [{
|
|
149
149
|
type: Component,
|
|
@@ -173,4 +173,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
173
173
|
}], selectedItem: [{
|
|
174
174
|
type: Output
|
|
175
175
|
}] } });
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXNlYXJjaC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9saWItc2VhcmNoLWlucHV0L2xpYi1zZWFyY2gtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXNlYXJjaC1pbnB1dC9saWItc2VhcmNoLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BbUVNO0FBRU4sT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsZUFBZSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8s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SztzQkFBcEIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1csVUFBVTtzQkFBMUIsTUFBTTtnQkFDVSxZQUFZO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi8qKlxyXG4gKiDQktGF0L7QtNC90YvQtSDQv9Cw0YDQsNC80LXRgtGA0YsgKElucHV0KVxyXG4gKiBrZXlUaXRsZSAoZGVmYXVsdDogJ3RpdGxlJylcclxuICog0KLQuNC/OiBzdHJpbmdcclxuICog0J7Qv9C40YHQsNC90LjQtTog0J3QsNC40LzQtdC90L7QstCw0L3QuNC1INC60LvRjtGH0LAg0LTQu9GPINC/0L7Qu9GD0YfQtdC90LjRjyDQt9Cw0LPQvtC70L7QstC60LAg0Y3Qu9C10LzQtdC90YLQsCDQtNCw0L3QvdGL0YUuXHJcbiAqXHJcbiAqIGtleURlc2MgKGRlZmF1bHQ6ICdkZXNjcmlwdGlvbicpXHJcbiAqINCi0LjQvzogc3RyaW5nXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCd0LDQuNC80LXQvdC+0LLQsNC90LjQtSDQutC70Y7Rh9CwINC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0L7Qv9C40YHQsNC90LjRjyDRjdC70LXQvNC10L3RgtCwINC00LDQvdC90YvRhS5cclxuICpcclxuICogc3R5bGVJbnB1dCAoZGVmYXVsdDogJ3N0YW5kYXJkJylcclxuICog0KLQuNC/OiAncm91bmQnIHwgJ3N0YW5kYXJkJ1xyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQotC40L8g0YHRgtC40LvRjyDQstGF0L7QtNC90L7Qs9C+INGN0LvQtdC80LXQvdGC0LAsINC80L7QttC10YIg0LHRi9GC0YwgJ3JvdW5kJyDQuNC70LggJ3N0YW5kYXJkJy5cclxuICpcclxuICogaW5wdXRTdHlsZSAoZGVmYXVsdDogJ2dyYXknKVxyXG4gKiDQotC40L86ICd3aGl0ZScgfCAnZ3JheSdcclxuICog0J7Qv9C40YHQsNC90LjQtTog0KHRgtC40LvRjCDQstGF0L7QtNC90L7Qs9C+INGN0LvQtdC80LXQvdGC0LAsINC80L7QttC10YIg0LHRi9GC0YwgJ3doaXRlJyDQuNC70LggJ2dyYXknLlxyXG4gKlxyXG4gKiBmZXRjaE1vZGVcclxuICog0KLQuNC/OiBib29sZWFuXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCk0LvQsNCzLCDRg9C60LDQt9GL0LLQsNGO0YnQuNC5LCDQstC60LvRjtGH0LXQvSDQu9C4INGA0LXQttC40Lwg0L/QvtC70YPRh9C10L3QuNGPINC00LDQvdC90YvRhS5cclxuICpcclxuICogc2VhcmNoRGF0YVxyXG4gKiDQotC40L86IGFueVxyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQnNCw0YHRgdC40LIg0LTQsNC90L3Ri9GFINC00LvRjyDQv9C+0LjRgdC60LAuINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDRjyDQtNCw0L3QvdGL0LUsINC60L7QvNC/0L7QvdC10L3RgiDRgdCx0YDQsNGB0YvQstCw0LXRgiDRgdC+0YHRgtC+0Y/QvdC40LUg0LfQsNCz0YDRg9C30LrQuC5cclxuICpcclxuICogZGVib3VuY2VUaW1lIChkZWZhdWx0OiAxMDApXHJcbiAqINCi0LjQvzogbnVtYmVyXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCS0YDQtdC80Y8g0LfQsNC00LXRgNC20LrQuCDQv9C10YDQtdC0INCy0YvQv9C+0LvQvdC10L3QuNC10Lwg0LTQtdC50YHRgtCy0LjQuSDQv9C+0YHQu9C1INCy0LLQvtC00LAsINCyINC80LjQu9C70LjRgdC10LrRg9C90LTQsNGFLlxyXG4gKlxyXG4gKiBkZWxheSAoZGVmYXVsdDogMClcclxuICog0KLQuNC/OiBudW1iZXJcclxuICog0J7Qv9C40YHQsNC90LjQtTog0JfQsNC00LXRgNC20LrQsCDQv9C10YDQtdC0INC+0LHRgNCw0LHQvtGC0LrQvtC5INC/0L7QuNGB0LrQsCwg0LIg0LzQuNC70LvQuNGB0LXQutGD0L3QtNCw0YUuXHJcbiAqXHJcbiAqIGlkQ2xvc2VcclxuICog0KLQuNC/OiBzdHJpbmcgfCB1bmRlZmluZWRcclxuICog0J7Qv9C40YHQsNC90LjQtTog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0Y3Qu9C10LzQtdC90YLQsCDQt9Cw0LrRgNGL0YLQuNGPICjQvdC10L7Qv9GA0LXQtNC10LvQtdC90L4g0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4pLlxyXG4gKlxyXG4gKiBsb2FkZWQkXHJcbiAqINCi0LjQvzogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+XHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCh0YPQsdGK0LXQutGCINC00LvRjyDRg9C/0YDQsNCy0LvQtdC90LjRjyDRgdC+0YHRgtC+0Y/QvdC40LXQvCDQt9Cw0LPRgNGD0LfQutC4INC60L7QvNC/0L7QvdC10L3RgtCwLlxyXG4gKlxyXG4gKiDQktGL0YXQvtC00L3Ri9C1INC/0LDRgNCw0LzQtdGC0YDRiyAoT3V0cHV0KVxyXG4gKiBrZXl1cEV2ZW50XHJcbiAqINCi0LjQvzogRXZlbnRFbWl0dGVyPHN0cmluZz5cclxuICog0J7Qv9C40YHQsNC90LjQtTog0KHQvtCx0YvRgtC40LUsINC40YHQv9GD0YHQutCw0LXQvNC+0LUg0L/RgNC4INCy0LLQvtC00LUg0YLQtdC60YHRgtCwINCyINC/0L7Qu9C1INC/0L7QuNGB0LrQsC5cclxuICpcclxuICogc2VsZWN0ZWRJdGVtXHJcbiAqINCi0LjQvzogRXZlbnRFbWl0dGVyXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCh0L7QsdGL0YLQuNC1LCDQuNGB0L/Rg9GB0LrQsNC10LzQvtC1INC/0YDQuCDQstGL0LHQvtGA0LUg0Y3Qu9C10LzQtdC90YLQsCDQuNC3INGA0LXQt9GD0LvRjNGC0LDRgtC+0LIg0L/QvtC40YHQutCwLlxyXG4gKlxyXG4gKiDQktC90YPRgtGA0LXQvdC90LjQtSDRgdCy0L7QudGB0YLQstCwINC4INC/0LXRgNC10LzQtdC90L3Ri9C1XHJcbiAqIGtleVVwXHJcbiAqINCi0LjQvzogU3ViamVjdDxLZXlib2FyZEV2ZW50PlxyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQodGD0LHRitC10LrRgiDQtNC70Y8g0L7QsdGA0LDQsdC+0YLQutC4INGB0L7QsdGL0YLQuNC5INCy0LLQvtC00LAg0YEg0LrQu9Cw0LLQuNCw0YLRg9GA0YsuXHJcbiAqXHJcbiAqIGRhdGFcclxuICog0KLQuNC/OiBhbnlbXSB8IHVuZGVmaW5lZFxyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQnNCw0YHRgdC40LIg0LTQsNC90L3Ri9GFINC00LvRjyDQvtGC0L7QsdGA0LDQttC10L3QuNGPINGA0LXQt9GD0LvRjNGC0LDRgtC+0LIg0L/QvtC40YHQutCwLlxyXG5cclxuICog0JzQtdGC0L7QtNGLXHJcbiAqIG5nT25Jbml0INCS0YvQv9C+0LvQvdGP0LXRgiDQvdCw0YHRgtGA0L7QudC60YMg0L/QvtGC0L7QutC+0LIg0YHQvtCx0YvRgtC40Lkg0LLQstC+0LTQsCDQv9GA0Lgg0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40Lgg0LrQvtC80L/QvtC90LXQvdGC0LAuXHJcbiAqIGZvcmNlQ2hhbmdl0JzQtdGC0L7QtCDQtNC70Y8g0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90L7Qs9C+INCy0YvQt9C+0LLQsCDRgdC+0LHRi9GC0LjRjyDQuNC30LzQtdC90LXQvdC40Y8g0LLQstC+0LTQsC5cclxuICogb25DbGVhcihub0VtaXQ/OiBib29sZWFuKdCc0LXRgtC+0LQg0LTQu9GPINC+0YfQuNGB0YLQutC4INC/0L7Qu9GPINCy0LLQvtC00LAsINGB0LHRgNC+0YHQsCDRgdC+0YHRgtC+0Y/QvdC40Y8g0LfQsNCz0YDRg9C30LrQuCDQuCDRhNC+0LrRg9GB0LAg0L3QsCDRjdC70LXQvNC10L3RgiDQstCy0L7QtNCwLlxyXG4gKiBvbkNsaWNrU2VhcmNoSXRlbShpdGVtOiBhbnkp0JzQtdGC0L7QtCDQtNC70Y8g0L7QsdGA0LDQsdC+0YLQutC4INCy0YvQsdC+0YDQsCDRjdC70LXQvNC10L3RgtCwINC40Lcg0YDQtdC30YPQu9GM0YLQsNGC0L7QsiDQv9C+0LjRgdC60LAuXHJcbiAqIGdldFRpdGxlKGl0ZW06IGFueSnQnNC10YLQvtC0INC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0LfQsNCz0L7Qu9C+0LLQutCwINGN0LvQtdC80LXQvdGC0LAg0LTQsNC90L3Ri9GFLlxyXG4gKiBnZXREZXNjKGl0ZW06IGFueSnQnNC10YLQvtC0INC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0L7Qv9C40YHQsNC90LjRjyDRjdC70LXQvNC10L3RgtCwINC00LDQvdC90YvRhS5cclxuICogKiovXHJcblxyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge0FzeW5jUGlwZSwgTmdPcHRpbWl6ZWRJbWFnZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtMaWJDb21tb25JbnB1dFRleHRDb21wb25lbnR9IGZyb20gJy4uL2NvbW1vbi9saWItY29tbW9uLWlucHV0LXRleHQnO1xyXG5pbXBvcnQge0xpYkNhcmRDb21wb25lbnR9IGZyb20gJy4uL2xpYi1jYXJkL2xpYi1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBvZiwgU3ViamVjdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBkZWxheSwgbWFwLCBtZXJnZU1hcCwgdGFrZVVudGlsLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHtEZXN0cm95U2VydmljZSwgSGlnaGxpZ2h0UGlwZSwgU2FmZVBpcGV9IGZyb20gXCIuLi9jb3JlXCI7XHJcbmltcG9ydCB7TGliU3ZnSWNvbkNvbXBvbmVudH0gZnJvbSBcIi4uL2xpYi1zdmctaWNvbi9saWItc3ZnLWljb24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7TGliTG9hZGVyQ29tcG9uZW50fSBmcm9tIFwiLi4vbGliLWxvYWRlci9saWItbG9hZGVyLmNvbXBvbmVudFwiO1xyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RkLWxpYi1zZWFyY2gtaW5wdXQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBOZ09wdGltaXplZEltYWdlLCBMaWJDYXJkQ29tcG9uZW50LCBIaWdobGlnaHRQaXBlLCBTYWZlUGlwZSwgTGliU3ZnSWNvbkNvbXBvbmVudCwgTGliTG9hZGVyQ29tcG9uZW50LCBBc3luY1BpcGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9saWItc2VhcmNoLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbGliLXNlYXJjaC1pbnB1dC5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbRGVzdHJveVNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliU2VhcmNoSW5wdXRDb21wb25lbnQ8VD4gZXh0ZW5kcyBMaWJDb21tb25JbnB1dFRleHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBrZXlUaXRsZSA9ICd0aXRsZSc7XHJcbiAgQElucHV0KCkgcHVibGljIGtleURlc2MgPSAnZGVzY3JpcHRpb24nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzdHlsZUlucHV0OiAncm91bmQnIHwgJ3N0YW5kYXJkJyA9ICdzdGFuZGFyZCc7XHJcbiAgQElucHV0KCkgcHVibGljIGlucHV0U3R5bGU6ICd3aGl0ZScgfCAnZ3JheScgPSAnZ3JheSc7XHJcbiAgQElucHV0KCkgcHVibGljIGZldGNoTW9kZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgc2VhcmNoRGF0YShkYXRhOiBUW10gfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICB0aGlzLmxvYWRlZCQubmV4dChmYWxzZSlcclxuICAgIHRoaXMuZGF0YSA9IGRhdGE7XHJcbiAgfTtcclxuICBASW5wdXQoKSBwdWJsaWMgZGVib3VuY2VUaW1lID0gMTAwO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkZWxheSA9IDA7XHJcbiAgQElucHV0KCkgcHVibGljIGlkQ2xvc2U6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMgbG9hZGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMga2V5dXBFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgc2VsZWN0ZWRJdGVtID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHB1YmxpYyBrZXlVcCA9IG5ldyBTdWJqZWN0PEtleWJvYXJkRXZlbnQ+KCk7XHJcbiAgcHVibGljIGRhdGE6IFRbXSB8IG51bGwgfCB1bmRlZmluZWQ7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBEZXN0cm95U2VydmljZSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihjaGFuZ2VEZXRlY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY29tbWl0T25JbnB1dCkge1xyXG4gICAgICB0aGlzLmtleVVwXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICB0YXAoKCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5mZXRjaE1vZGUpIHtcclxuICAgICAgICAgICAgICB0aGlzLmxvYWRlZCQubmV4dCh0cnVlKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIG1hcChldmVudCA9PiAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpPy52YWx1ZSksXHJcbiAgICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZVRpbWUpLFxyXG4gICAgICAgICAgLy8gZGlzdGluY3RVbnRpbENoYW5nZWQoKSwg0L3QsNC00L4g0LvQuD9cclxuICAgICAgICAgIG1lcmdlTWFwKHNlYXJjaCA9PiBvZihzZWFyY2gpLnBpcGUoZGVsYXkodGhpcy5kZWxheSkpKSxcclxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZShzdHIgPT4ge1xyXG4gICAgICAgICAgdGhpcy5rZXl1cEV2ZW50LmVtaXQoc3RyKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAoKSA9PiB0aGlzLmxvYWRlZCQubmV4dChmYWxzZSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG92ZXJyaWRlIGZvcmNlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNvbW1pdE9uSW5wdXQpIHtcclxuICAgICAgdGhpcy5rZXl1cEV2ZW50LmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DbGVhcihub0VtaXQ/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWRlZCQubmV4dChmYWxzZSk7XHJcbiAgICB0aGlzLnZhbHVlID0gJyc7XHJcbiAgICBpZiAoIW5vRW1pdCkge1xyXG4gICAgICB0aGlzLmNsZWFyZWQuZW1pdCgpO1xyXG4gICAgICB0aGlzLmtleXVwRXZlbnQuZW1pdCgnJyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlucHV0U2VhcmNoRWxlbWVudD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2xpY2tTZWFyY2hJdGVtKGl0ZW06IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkZWQkLm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0uZW1pdChpdGVtKTtcclxuICAgIHRoaXMudmFsdWUgPSB0aGlzLmdldFRpdGxlKGl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRpdGxlKGl0ZW06IGFueSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gaXRlbVt0aGlzLmtleVRpdGxlIGFzIGtleW9mIHR5cGVvZiBpdGVtXSBhcyBzdHJpbmc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RGVzYyhpdGVtOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGl0ZW1bdGhpcy5rZXlEZXNjIGFzIGtleW9mIHR5cGVvZiBpdGVtXSBhcyBzdHJpbmc7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJsaWItc2VhcmNoLWlucHV0XCI+XHJcbiAgPGxhYmVsIFtmb3JdPVwiaWRcIiBjbGFzcz1cImxpYi1zZWFyY2gtaW5wdXRfX3RpdGxlXCI+XHJcbiAgICB7eyBsYWJlbCB9fVxyXG4gICAgQGlmIChyZXF1aXJlZCkge1xyXG4gICAgICA8ZGQtbGliLXN2Zy1pY29uIGljb249XCJlcnJvcl9oaW50XCI+PC9kZC1saWItc3ZnLWljb24+XHJcbiAgICB9XHJcbiAgPC9sYWJlbD5cclxuICA8ZGl2IGNsYXNzPVwicG9zLXJlbGF0aXZlXCI+XHJcbiAgICA8ZGQtbGliLXN2Zy1pY29uIChjbGljayk9XCJmb3JjZUNoYW5nZSgpXCIgY2xhc3M9XCJzZWFyY2gtaWNvblwiIGljb249XCJzZWFyY2hcIj48L2RkLWxpYi1zdmctaWNvbj5cclxuICAgIDxpbnB1dFxyXG4gICAgICAjc2VhcmNoSW5wdXRcclxuICAgICAgKGtleXVwKT1cImtleVVwLm5leHQoJGV2ZW50KVwiXHJcbiAgICAgIChrZXl1cC5lbnRlcik9XCJmb3JjZUNoYW5nZSgpXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGUgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBhdXRvY29tcGxldGVcIlxyXG4gICAgICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiXHJcbiAgICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxyXG4gICAgICBbYXR0ci5taW5sZW5ndGhdPVwibWlubGVuZ3RoXCJcclxuICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcclxuICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICBbYXR0ci50YWJJbmRleF09XCJ0YWJJbmRleFwiXHJcbiAgICAgIFthdHRyLnR5cGVdPVwidHlwZSB8fCAndGV4dCdcIlxyXG4gICAgICBbY2xhc3MuZm9jdXNlZF09XCJmb2N1c2VkXCJcclxuICAgICAgW2NsYXNzLnJvdW5kXT1cInN0eWxlSW5wdXQgPT09ICdyb3VuZCdcIlxyXG4gICAgICBbY2xhc3Mud2hpdGVdPVwiaW5wdXRTdHlsZSA9PT0gJ3doaXRlJ1wiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXHJcbiAgICAgIGNsYXNzPVwic2VhcmNoLWlucHV0XCIgLz5cclxuICAgIDxkZC1saWItc3ZnLWljb25cclxuICAgICAgKGNsaWNrKT1cIm9uQ2xlYXIoKVwiXHJcbiAgICAgIFtpZF09XCJpZENsb3NlXCIgW3N0eWxlLmRpc3BsYXldPVwidmFsdWU/Lmxlbmd0aCA/ICdibG9jaycgOiAnbm9uZSdcIlxyXG4gICAgICBjbGFzcz1cImNsZWFyLWljb25cIiBpY29uPVwiY2xlYXJcIj48L2RkLWxpYi1zdmctaWNvbj5cclxuICAgIEBpZiAobG9hZGVkJCB8IGFzeW5jKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsb2FkaW5nLWljb25cIj5cclxuICAgICAgICA8ZGQtbGliLWxvYWRlcj48L2RkLWxpYi1sb2FkZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG5cclxuICBAaWYgKGRhdGE/Lmxlbmd0aCkge1xyXG4gIDxkZC1saWItY2FyZCBbY2xhc3MudG9wXT1cInNpZGUgPT09ICd0b3AnXCI+XHJcbiAgICBAZm9yIChpdGVtIG9mIGRhdGE7IHRyYWNrIGl0ZW0pIHtcclxuICAgIDxkaXYgKGNsaWNrKT1cIm9uQ2xpY2tTZWFyY2hJdGVtKGl0ZW0pXCIgY2xhc3M9XCJzZWFyY2gtcmVzdWx0XCI+XHJcbiAgICAgIEBpZiAoZ2V0VGl0bGUoaXRlbSk7IGFzIHRpdGxlKSB7XHJcbiAgICAgIDxkaXYgW2lubmVySFRNTF09XCJ0aXRsZSB8IGhpZ2hsaWdodDogdmFsdWUgfCBzYWZlOiAnaHRtbCdcIiBjbGFzcz1cInNlYXJjaC1yZXN1bHRfX3RpdGxlXCI+PC9kaXY+XHJcbiAgICAgIH0gQGlmIChnZXREZXNjKGl0ZW0pOyBhcyBkZXNjKSB7XHJcbiAgICAgIDxkaXYgW2lubmVySFRNTF09XCJkZXNjIHwgaGlnaGxpZ2h0OiB2YWx1ZSB8IHNhZmU6ICdodG1sJ1wiIGNsYXNzPVwic2VhcmNoLXJlc3VsdF9fZGVzY1wiPjwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L2RkLWxpYi1jYXJkPlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXNlYXJjaC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9saWItc2VhcmNoLWlucHV0L2xpYi1zZWFyY2gtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXNlYXJjaC1pbnB1dC9saWItc2VhcmNoLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01BbUVNO0FBRU4sT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsZUFBZSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8s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SztzQkFBcEIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1csVUFBVTtzQkFBMUIsTUFBTTtnQkFDVSxZQUFZO3NCQUE1QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi8qKlxyXG4gKiDQktGF0L7QtNC90YvQtSDQv9Cw0YDQsNC80LXRgtGA0YsgKElucHV0KVxyXG4gKiBrZXlUaXRsZSAoZGVmYXVsdDogJ3RpdGxlJylcclxuICog0KLQuNC/OiBzdHJpbmdcclxuICog0J7Qv9C40YHQsNC90LjQtTog0J3QsNC40LzQtdC90L7QstCw0L3QuNC1INC60LvRjtGH0LAg0LTQu9GPINC/0L7Qu9GD0YfQtdC90LjRjyDQt9Cw0LPQvtC70L7QstC60LAg0Y3Qu9C10LzQtdC90YLQsCDQtNCw0L3QvdGL0YUuXHJcbiAqXHJcbiAqIGtleURlc2MgKGRlZmF1bHQ6ICdkZXNjcmlwdGlvbicpXHJcbiAqINCi0LjQvzogc3RyaW5nXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCd0LDQuNC80LXQvdC+0LLQsNC90LjQtSDQutC70Y7Rh9CwINC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0L7Qv9C40YHQsNC90LjRjyDRjdC70LXQvNC10L3RgtCwINC00LDQvdC90YvRhS5cclxuICpcclxuICogc3R5bGVJbnB1dCAoZGVmYXVsdDogJ3N0YW5kYXJkJylcclxuICog0KLQuNC/OiAncm91bmQnIHwgJ3N0YW5kYXJkJ1xyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQotC40L8g0YHRgtC40LvRjyDQstGF0L7QtNC90L7Qs9C+INGN0LvQtdC80LXQvdGC0LAsINC80L7QttC10YIg0LHRi9GC0YwgJ3JvdW5kJyDQuNC70LggJ3N0YW5kYXJkJy5cclxuICpcclxuICogaW5wdXRTdHlsZSAoZGVmYXVsdDogJ2dyYXknKVxyXG4gKiDQotC40L86ICd3aGl0ZScgfCAnZ3JheSdcclxuICog0J7Qv9C40YHQsNC90LjQtTog0KHRgtC40LvRjCDQstGF0L7QtNC90L7Qs9C+INGN0LvQtdC80LXQvdGC0LAsINC80L7QttC10YIg0LHRi9GC0YwgJ3doaXRlJyDQuNC70LggJ2dyYXknLlxyXG4gKlxyXG4gKiBmZXRjaE1vZGVcclxuICog0KLQuNC/OiBib29sZWFuXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCk0LvQsNCzLCDRg9C60LDQt9GL0LLQsNGO0YnQuNC5LCDQstC60LvRjtGH0LXQvSDQu9C4INGA0LXQttC40Lwg0L/QvtC70YPRh9C10L3QuNGPINC00LDQvdC90YvRhS5cclxuICpcclxuICogc2VhcmNoRGF0YVxyXG4gKiDQotC40L86IGFueVxyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQnNCw0YHRgdC40LIg0LTQsNC90L3Ri9GFINC00LvRjyDQv9C+0LjRgdC60LAuINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDRjyDQtNCw0L3QvdGL0LUsINC60L7QvNC/0L7QvdC10L3RgiDRgdCx0YDQsNGB0YvQstCw0LXRgiDRgdC+0YHRgtC+0Y/QvdC40LUg0LfQsNCz0YDRg9C30LrQuC5cclxuICpcclxuICogZGVib3VuY2VUaW1lIChkZWZhdWx0OiAxMDApXHJcbiAqINCi0LjQvzogbnVtYmVyXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCS0YDQtdC80Y8g0LfQsNC00LXRgNC20LrQuCDQv9C10YDQtdC0INCy0YvQv9C+0LvQvdC10L3QuNC10Lwg0LTQtdC50YHRgtCy0LjQuSDQv9C+0YHQu9C1INCy0LLQvtC00LAsINCyINC80LjQu9C70LjRgdC10LrRg9C90LTQsNGFLlxyXG4gKlxyXG4gKiBkZWxheSAoZGVmYXVsdDogMClcclxuICog0KLQuNC/OiBudW1iZXJcclxuICog0J7Qv9C40YHQsNC90LjQtTog0JfQsNC00LXRgNC20LrQsCDQv9C10YDQtdC0INC+0LHRgNCw0LHQvtGC0LrQvtC5INC/0L7QuNGB0LrQsCwg0LIg0LzQuNC70LvQuNGB0LXQutGD0L3QtNCw0YUuXHJcbiAqXHJcbiAqIGlkQ2xvc2VcclxuICog0KLQuNC/OiBzdHJpbmcgfCB1bmRlZmluZWRcclxuICog0J7Qv9C40YHQsNC90LjQtTog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0Y3Qu9C10LzQtdC90YLQsCDQt9Cw0LrRgNGL0YLQuNGPICjQvdC10L7Qv9GA0LXQtNC10LvQtdC90L4g0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4pLlxyXG4gKlxyXG4gKiBsb2FkZWQkXHJcbiAqINCi0LjQvzogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+XHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCh0YPQsdGK0LXQutGCINC00LvRjyDRg9C/0YDQsNCy0LvQtdC90LjRjyDRgdC+0YHRgtC+0Y/QvdC40LXQvCDQt9Cw0LPRgNGD0LfQutC4INC60L7QvNC/0L7QvdC10L3RgtCwLlxyXG4gKlxyXG4gKiDQktGL0YXQvtC00L3Ri9C1INC/0LDRgNCw0LzQtdGC0YDRiyAoT3V0cHV0KVxyXG4gKiBrZXl1cEV2ZW50XHJcbiAqINCi0LjQvzogRXZlbnRFbWl0dGVyPHN0cmluZz5cclxuICog0J7Qv9C40YHQsNC90LjQtTog0KHQvtCx0YvRgtC40LUsINC40YHQv9GD0YHQutCw0LXQvNC+0LUg0L/RgNC4INCy0LLQvtC00LUg0YLQtdC60YHRgtCwINCyINC/0L7Qu9C1INC/0L7QuNGB0LrQsC5cclxuICpcclxuICogc2VsZWN0ZWRJdGVtXHJcbiAqINCi0LjQvzogRXZlbnRFbWl0dGVyXHJcbiAqINCe0L/QuNGB0LDQvdC40LU6INCh0L7QsdGL0YLQuNC1LCDQuNGB0L/Rg9GB0LrQsNC10LzQvtC1INC/0YDQuCDQstGL0LHQvtGA0LUg0Y3Qu9C10LzQtdC90YLQsCDQuNC3INGA0LXQt9GD0LvRjNGC0LDRgtC+0LIg0L/QvtC40YHQutCwLlxyXG4gKlxyXG4gKiDQktC90YPRgtGA0LXQvdC90LjQtSDRgdCy0L7QudGB0YLQstCwINC4INC/0LXRgNC10LzQtdC90L3Ri9C1XHJcbiAqIGtleVVwXHJcbiAqINCi0LjQvzogU3ViamVjdDxLZXlib2FyZEV2ZW50PlxyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQodGD0LHRitC10LrRgiDQtNC70Y8g0L7QsdGA0LDQsdC+0YLQutC4INGB0L7QsdGL0YLQuNC5INCy0LLQvtC00LAg0YEg0LrQu9Cw0LLQuNCw0YLRg9GA0YsuXHJcbiAqXHJcbiAqIGRhdGFcclxuICog0KLQuNC/OiBhbnlbXSB8IHVuZGVmaW5lZFxyXG4gKiDQntC/0LjRgdCw0L3QuNC1OiDQnNCw0YHRgdC40LIg0LTQsNC90L3Ri9GFINC00LvRjyDQvtGC0L7QsdGA0LDQttC10L3QuNGPINGA0LXQt9GD0LvRjNGC0LDRgtC+0LIg0L/QvtC40YHQutCwLlxyXG5cclxuICog0JzQtdGC0L7QtNGLXHJcbiAqIG5nT25Jbml0INCS0YvQv9C+0LvQvdGP0LXRgiDQvdCw0YHRgtGA0L7QudC60YMg0L/QvtGC0L7QutC+0LIg0YHQvtCx0YvRgtC40Lkg0LLQstC+0LTQsCDQv9GA0Lgg0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40Lgg0LrQvtC80L/QvtC90LXQvdGC0LAuXHJcbiAqIGZvcmNlQ2hhbmdl0JzQtdGC0L7QtCDQtNC70Y8g0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90L7Qs9C+INCy0YvQt9C+0LLQsCDRgdC+0LHRi9GC0LjRjyDQuNC30LzQtdC90LXQvdC40Y8g0LLQstC+0LTQsC5cclxuICogb25DbGVhcihub0VtaXQ/OiBib29sZWFuKdCc0LXRgtC+0LQg0LTQu9GPINC+0YfQuNGB0YLQutC4INC/0L7Qu9GPINCy0LLQvtC00LAsINGB0LHRgNC+0YHQsCDRgdC+0YHRgtC+0Y/QvdC40Y8g0LfQsNCz0YDRg9C30LrQuCDQuCDRhNC+0LrRg9GB0LAg0L3QsCDRjdC70LXQvNC10L3RgiDQstCy0L7QtNCwLlxyXG4gKiBvbkNsaWNrU2VhcmNoSXRlbShpdGVtOiBhbnkp0JzQtdGC0L7QtCDQtNC70Y8g0L7QsdGA0LDQsdC+0YLQutC4INCy0YvQsdC+0YDQsCDRjdC70LXQvNC10L3RgtCwINC40Lcg0YDQtdC30YPQu9GM0YLQsNGC0L7QsiDQv9C+0LjRgdC60LAuXHJcbiAqIGdldFRpdGxlKGl0ZW06IGFueSnQnNC10YLQvtC0INC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0LfQsNCz0L7Qu9C+0LLQutCwINGN0LvQtdC80LXQvdGC0LAg0LTQsNC90L3Ri9GFLlxyXG4gKiBnZXREZXNjKGl0ZW06IGFueSnQnNC10YLQvtC0INC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0L7Qv9C40YHQsNC90LjRjyDRjdC70LXQvNC10L3RgtCwINC00LDQvdC90YvRhS5cclxuICogKiovXHJcblxyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge0FzeW5jUGlwZSwgTmdPcHRpbWl6ZWRJbWFnZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtMaWJDb21tb25JbnB1dFRleHRDb21wb25lbnR9IGZyb20gJy4uL2NvbW1vbi9saWItY29tbW9uLWlucHV0LXRleHQnO1xyXG5pbXBvcnQge0xpYkNhcmRDb21wb25lbnR9IGZyb20gJy4uL2xpYi1jYXJkL2xpYi1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBvZiwgU3ViamVjdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBkZWxheSwgbWFwLCBtZXJnZU1hcCwgdGFrZVVudGlsLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHtEZXN0cm95U2VydmljZSwgSGlnaGxpZ2h0UGlwZSwgU2FmZVBpcGV9IGZyb20gXCIuLi9jb3JlXCI7XHJcbmltcG9ydCB7TGliU3ZnSWNvbkNvbXBvbmVudH0gZnJvbSBcIi4uL2xpYi1zdmctaWNvbi9saWItc3ZnLWljb24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7TGliTG9hZGVyQ29tcG9uZW50fSBmcm9tIFwiLi4vbGliLWxvYWRlci9saWItbG9hZGVyLmNvbXBvbmVudFwiO1xyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RkLWxpYi1zZWFyY2gtaW5wdXQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBOZ09wdGltaXplZEltYWdlLCBMaWJDYXJkQ29tcG9uZW50LCBIaWdobGlnaHRQaXBlLCBTYWZlUGlwZSwgTGliU3ZnSWNvbkNvbXBvbmVudCwgTGliTG9hZGVyQ29tcG9uZW50LCBBc3luY1BpcGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9saWItc2VhcmNoLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vbGliLXNlYXJjaC1pbnB1dC5jb21wb25lbnQuc2NzcycsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbRGVzdHJveVNlcnZpY2VdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliU2VhcmNoSW5wdXRDb21wb25lbnQ8VD4gZXh0ZW5kcyBMaWJDb21tb25JbnB1dFRleHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBrZXlUaXRsZSA9ICd0aXRsZSc7XHJcbiAgQElucHV0KCkgcHVibGljIGtleURlc2MgPSAnZGVzY3JpcHRpb24nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzdHlsZUlucHV0OiAncm91bmQnIHwgJ3N0YW5kYXJkJyA9ICdzdGFuZGFyZCc7XHJcbiAgQElucHV0KCkgcHVibGljIGlucHV0U3R5bGU6ICd3aGl0ZScgfCAnZ3JheScgPSAnZ3JheSc7XHJcbiAgQElucHV0KCkgcHVibGljIGZldGNoTW9kZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgc2VhcmNoRGF0YShkYXRhOiBUW10gfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICB0aGlzLmxvYWRlZCQubmV4dChmYWxzZSlcclxuICAgIHRoaXMuZGF0YSA9IGRhdGE7XHJcbiAgfTtcclxuICBASW5wdXQoKSBwdWJsaWMgZGVib3VuY2VUaW1lID0gMTAwO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkZWxheSA9IDA7XHJcbiAgQElucHV0KCkgcHVibGljIGlkQ2xvc2U6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMgbG9hZGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMga2V5dXBFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgc2VsZWN0ZWRJdGVtID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHB1YmxpYyBrZXlVcCA9IG5ldyBTdWJqZWN0PEtleWJvYXJkRXZlbnQ+KCk7XHJcbiAgcHVibGljIGRhdGE6IFRbXSB8IG51bGwgfCB1bmRlZmluZWQ7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBEZXN0cm95U2VydmljZSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihjaGFuZ2VEZXRlY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY29tbWl0T25JbnB1dCkge1xyXG4gICAgICB0aGlzLmtleVVwXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICB0YXAoKCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5mZXRjaE1vZGUpIHtcclxuICAgICAgICAgICAgICB0aGlzLmxvYWRlZCQubmV4dCh0cnVlKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIG1hcChldmVudCA9PiAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpPy52YWx1ZSksXHJcbiAgICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWJvdW5jZVRpbWUpLFxyXG4gICAgICAgICAgLy8gZGlzdGluY3RVbnRpbENoYW5nZWQoKSwg0L3QsNC00L4g0LvQuD9cclxuICAgICAgICAgIG1lcmdlTWFwKHNlYXJjaCA9PiBvZihzZWFyY2gpLnBpcGUoZGVsYXkodGhpcy5kZWxheSkpKSxcclxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcclxuICAgICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZShzdHIgPT4ge1xyXG4gICAgICAgICAgdGhpcy5rZXl1cEV2ZW50LmVtaXQoc3RyKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAoKSA9PiB0aGlzLmxvYWRlZCQubmV4dChmYWxzZSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG92ZXJyaWRlIGZvcmNlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNvbW1pdE9uSW5wdXQpIHtcclxuICAgICAgdGhpcy5rZXl1cEV2ZW50LmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DbGVhcihub0VtaXQ/OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWRlZCQubmV4dChmYWxzZSk7XHJcbiAgICB0aGlzLnZhbHVlID0gJyc7XHJcbiAgICBpZiAoIW5vRW1pdCkge1xyXG4gICAgICB0aGlzLmNsZWFyZWQuZW1pdCgpO1xyXG4gICAgICB0aGlzLmtleXVwRXZlbnQuZW1pdCgnJyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlucHV0U2VhcmNoRWxlbWVudD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ2xpY2tTZWFyY2hJdGVtKGl0ZW06IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkZWQkLm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0uZW1pdChpdGVtKTtcclxuICAgIHRoaXMudmFsdWUgPSB0aGlzLmdldFRpdGxlKGl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRpdGxlKGl0ZW06IGFueSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gaXRlbVt0aGlzLmtleVRpdGxlIGFzIGtleW9mIHR5cGVvZiBpdGVtXSBhcyBzdHJpbmc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RGVzYyhpdGVtOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGl0ZW1bdGhpcy5rZXlEZXNjIGFzIGtleW9mIHR5cGVvZiBpdGVtXSBhcyBzdHJpbmc7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJsaWItc2VhcmNoLWlucHV0XCI+XHJcbiAgPGxhYmVsIFtmb3JdPVwiaWRcIiBjbGFzcz1cImxpYi1zZWFyY2gtaW5wdXRfX3RpdGxlXCI+XHJcbiAgICB7eyBsYWJlbCB9fVxyXG4gICAgQGlmIChyZXF1aXJlZCkge1xyXG4gICAgICA8ZGQtbGliLXN2Zy1pY29uIGljb249XCJlcnJvcl9oaW50XCI+PC9kZC1saWItc3ZnLWljb24+XHJcbiAgICB9XHJcbiAgPC9sYWJlbD5cclxuICA8ZGl2IGNsYXNzPVwicG9zLXJlbGF0aXZlXCI+XHJcbiAgICA8ZGQtbGliLXN2Zy1pY29uIChjbGljayk9XCJmb3JjZUNoYW5nZSgpXCIgY2xhc3M9XCJzZWFyY2gtaWNvblwiIGljb249XCJzZWFyY2hcIj48L2RkLWxpYi1zdmctaWNvbj5cclxuICAgIDxpbnB1dFxyXG4gICAgICAjc2VhcmNoSW5wdXRcclxuICAgICAgKGtleXVwKT1cImtleVVwLm5leHQoJGV2ZW50KVwiXHJcbiAgICAgIChrZXl1cC5lbnRlcik9XCJmb3JjZUNoYW5nZSgpXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgIFthdHRyLmF1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGUgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBhdXRvY29tcGxldGVcIlxyXG4gICAgICBbYXR0ci5pZF09XCJpZCA/IGlkIDogbnVsbFwiXHJcbiAgICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxyXG4gICAgICBbYXR0ci5taW5sZW5ndGhdPVwibWlubGVuZ3RoXCJcclxuICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcclxuICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICBbYXR0ci50YWJJbmRleF09XCJ0YWJJbmRleFwiXHJcbiAgICAgIFthdHRyLnR5cGVdPVwidHlwZSB8fCAndGV4dCdcIlxyXG4gICAgICBbY2xhc3MuZm9jdXNlZF09XCJmb2N1c2VkXCJcclxuICAgICAgW2NsYXNzLnJvdW5kXT1cInN0eWxlSW5wdXQgPT09ICdyb3VuZCdcIlxyXG4gICAgICBbY2xhc3Mud2hpdGVdPVwiaW5wdXRTdHlsZSA9PT0gJ3doaXRlJ1wiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIFtyZWFkT25seV09XCJyZWFkT25seVwiXHJcbiAgICAgIGNsYXNzPVwic2VhcmNoLWlucHV0XCIgLz5cclxuICAgIDxkZC1saWItc3ZnLWljb25cclxuICAgICAgKGNsaWNrKT1cIm9uQ2xlYXIoKVwiXHJcbiAgICAgIFtpZF09XCJpZENsb3NlXCIgW3N0eWxlLmRpc3BsYXldPVwidmFsdWU/Lmxlbmd0aCA/ICdibG9jaycgOiAnbm9uZSdcIlxyXG4gICAgICBjbGFzcz1cImNsZWFyLWljb25cIiBpY29uPVwiY2xlYXJcIj48L2RkLWxpYi1zdmctaWNvbj5cclxuICAgIEBpZiAobG9hZGVkJCB8IGFzeW5jKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsb2FkaW5nLWljb25cIj5cclxuICAgICAgICA8ZGQtbGliLWxvYWRlcj48L2RkLWxpYi1sb2FkZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG5cclxuICBAaWYgKGRhdGE/Lmxlbmd0aCkge1xyXG4gIDxkZC1saWItY2FyZCBbY2xhc3MudG9wXT1cInNpZGUgPT09ICd0b3AnXCI+XHJcbiAgICBAZm9yIChpdGVtIG9mIGRhdGE7IHRyYWNrIGl0ZW0pIHtcclxuICAgIDxkaXYgKGNsaWNrKT1cIm9uQ2xpY2tTZWFyY2hJdGVtKGl0ZW0pXCIgY2xhc3M9XCJzZWFyY2gtcmVzdWx0XCI+XHJcbiAgICAgIEBpZiAoZ2V0VGl0bGUoaXRlbSk7IGFzIHRpdGxlKSB7XHJcbiAgICAgIDxkaXYgW2lubmVySFRNTF09XCJ0aXRsZSB8IGhpZ2hsaWdodDogdmFsdWUgfCBzYWZlOiAnaHRtbCdcIiBjbGFzcz1cInNlYXJjaC1yZXN1bHRfX3RpdGxlXCI+PC9kaXY+XHJcbiAgICAgIH0gQGlmIChnZXREZXNjKGl0ZW0pOyBhcyBkZXNjKSB7XHJcbiAgICAgIDxkaXYgW2lubmVySFRNTF09XCJkZXNjIHwgaGlnaGxpZ2h0OiB2YWx1ZSB8IHNhZmU6ICdodG1sJ1wiIGNsYXNzPVwic2VhcmNoLXJlc3VsdF9fZGVzY1wiPjwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L2RkLWxpYi1jYXJkPlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -148,7 +148,7 @@ export class LibSelectComponent extends LibCommonInputTextComponent {
|
|
|
148
148
|
useExisting: forwardRef(() => LibSelectComponent),
|
|
149
149
|
multi: true,
|
|
150
150
|
},
|
|
151
|
-
], usesInheritance: true, ngImport: i0, template: "<div class=\"lib-select\" id=\"lib-select-{{ selectId }}\">\n <label [for]=\"id\" class=\"lib-select__title\">\n {{ label }}\n @if (required) {\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\n }\n </label>\n\n <div class=\"pos-relative\">\n <input\n #select\n (change)=\"handleChange()\"\n (click)=\"notifyFocusEvent($event)\"\n (input)=\"handleInput($event)\"\n [(ngModel)]=\"inputValue\"\n [attr.id]=\"selectId\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.tabIndex]=\"tabIndex\"\n [attr.type]=\"'text'\"\n [class.focused]=\"focused\"\n [class.invalid]=\"invalid\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [title]=\"inputValue\"\n class=\"text-select\" />\n <!-- (blur)=\"notifyFocusEvent($event)\"-->\n @if (!checkedItem) {\n <dd-lib-svg-icon\n (click)=\"notifyFocusEvent($event)\"\n [class.black-svg]=\"isShownList\"\n [class.disabled]=\"disabled\"\n [class.gray-svg]=\"!isShownList\"\n [class.up]=\"isShownList\"\n id=\"chevron-{{ selectId }}\" class=\"chevron\" icon=\"down_chevron\"></dd-lib-svg-icon>\n\n } @else {\n <dd-lib-svg-icon\n (click)=\"selectItem(checkedItem)\"\n class=\"clear\"\n id=\"chevron-{{ selectId }}\" icon=\"clear\"></dd-lib-svg-icon>\n\n }\n </div>\n\n @if (errorText && invalid) {\n <div class=\"lib-select__error\">{{ errorText }}</div>\n } @if (isShownList) {\n <div\n (ddClickOutside)=\"notifyFocusEvent($event)\"\n [elements]=\"['lib-select-' + selectId, 'chevron' + selectId]\"\n [class.top]=\"side === 'top'\"\n class=\"select-list-wrapper\">\n @if (data?.length) { @for (item of data | filterByKey: filterList.bind(this); track item) {\n <div\n (click)=\"selectItem(item)\"\n [class.active]=\"checkSelected(item)\"\n class=\"select-data\">\n\n @if (!keyDesc && !keyTitle) {\n <div [innerHTML]=\"item | highlight: inputValue | safe: 'html'\" class=\"select-data__title\"></div>\n } @if (keyTitle) {\n <div\n [innerHTML]=\"item[keyTitle!] | highlight: inputValue | safe: 'html'\"\n class=\"select-data__title\"></div>\n } @if (keyDesc) {\n <div\n [innerHTML]=\"item[keyDesc!] | highlight: inputValue | safe: 'html'\"\n [title]=\"item[keyDesc]\"\n class=\"select-data__desc\"></div>\n } @if (checkSelected(item)) {\n <dd-lib-svg-icon\n (click)=\"selectItem(checkedItem)\"\n class=\"checked\"\n id=\"chevron-{{ selectId }}\" icon=\"check_green\"></dd-lib-svg-icon>\n }\n </div>\n } } @else {\n <div class=\"select-loader\">\n <dd-lib-loader></dd-lib-loader>\n </div>\n }\n </div>\n }\n</div>\n", styles: [".lib-select{position:relative}.lib-select input{width:100%;height:48px;padding:15px 28px 15px 16px;overflow:hidden;text-overflow:ellipsis;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;position:relative}.lib-select input:hover{border-color:var(--input-active-border-colort)}.lib-select input:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-select input:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-select input:disabled::placeholder{color:var(--input-placeholder)}.lib-select input.invalid,.lib-select input.invalid:hover{border-color:var(--input-error-border-color)}.lib-select input.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-select .clear{cursor:pointer;position:absolute;right:8px;top:12px}.lib-select .chevron{cursor:pointer;position:absolute;right:16px;top:10px}.lib-select .chevron.up{transform:rotate(180deg)}.lib-select__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-select__error{color:var(--primary-red-color);font-size:12px;font-weight:400;line-height:10px;margin-top:2px}.lib-select .select-list-wrapper{position:absolute;display:block;z-index:100;width:100%;max-height:300px;overflow:auto;border-radius:8px;box-shadow:var(--main-card-shadow);background-color:var(--main-card-color)}.lib-select .select-list-wrapper.top{bottom:50px;top:unset}.lib-select .select-list-wrapper .select-data{padding:12px 42px 12px 16px;cursor:pointer;position:relative}.lib-select .select-list-wrapper .select-data__desc{font-size:14px;font-weight:400;line-height:24px;text-overflow:ellipsis;text-wrap:nowrap;padding-top:2px;overflow:hidden;color:var(--second-gray-color)}.lib-select .select-list-wrapper .select-data:hover,.lib-select .select-list-wrapper .select-data.active{background:var(--select-act-hov-bgc)}.lib-select .select-list-wrapper .select-data.active .checked{position:absolute;right:16px;top:10px}.lib-select .select-list-wrapper .select-loader{padding:24px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: HighlightPipe, name: "highlight" }, { kind: "pipe", type: SafePipe, name: "safe" }, { kind: "directive", type: ClickOutsideDirective, selector: "[ddClickOutside]", inputs: ["elements"], outputs: ["ddClickOutside"] }, { kind: "component", type: LibLoaderComponent, selector: "dd-lib-loader", inputs: ["color"] }, { kind: "pipe", type: FilterByKeyPipe, name: "filterByKey" }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
151
|
+
], usesInheritance: true, ngImport: i0, template: "<div class=\"lib-select\" id=\"lib-select-{{ selectId }}\">\n <label [for]=\"id\" class=\"lib-select__title\">\n {{ label }}\n @if (required) {\n <dd-lib-svg-icon icon=\"error_hint\"></dd-lib-svg-icon>\n }\n </label>\n\n <div class=\"pos-relative\">\n <input\n #select\n (change)=\"handleChange()\"\n (click)=\"notifyFocusEvent($event)\"\n (input)=\"handleInput($event)\"\n [(ngModel)]=\"inputValue\"\n [attr.id]=\"selectId\"\n [attr.name]=\"name\"\n [attr.placeholder]=\"placeholder\"\n [attr.tabIndex]=\"tabIndex\"\n [attr.type]=\"'text'\"\n [class.focused]=\"focused\"\n [class.invalid]=\"invalid\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [title]=\"inputValue\"\n class=\"text-select\" />\n <!-- (blur)=\"notifyFocusEvent($event)\"-->\n @if (!checkedItem) {\n <dd-lib-svg-icon\n (click)=\"notifyFocusEvent($event)\"\n [class.black-svg]=\"isShownList\"\n [class.disabled]=\"disabled\"\n [class.gray-svg]=\"!isShownList\"\n [class.up]=\"isShownList\"\n id=\"chevron-{{ selectId }}\" class=\"chevron\" icon=\"down_chevron\"></dd-lib-svg-icon>\n\n } @else {\n <dd-lib-svg-icon\n (click)=\"selectItem(checkedItem)\"\n class=\"clear\"\n id=\"chevron-{{ selectId }}\" icon=\"clear\"></dd-lib-svg-icon>\n\n }\n </div>\n\n @if (errorText && invalid) {\n <div class=\"lib-select__error\">{{ errorText }}</div>\n } @if (isShownList) {\n <div\n (ddClickOutside)=\"notifyFocusEvent($event)\"\n [elements]=\"['lib-select-' + selectId, 'chevron' + selectId]\"\n [class.top]=\"side === 'top'\"\n class=\"select-list-wrapper\">\n @if (data?.length) { @for (item of data | filterByKey: filterList.bind(this); track item) {\n <div\n (click)=\"selectItem(item)\"\n [class.active]=\"checkSelected(item)\"\n class=\"select-data\">\n\n @if (!keyDesc && !keyTitle) {\n <div [innerHTML]=\"item | highlight: inputValue | safe: 'html'\" class=\"select-data__title\"></div>\n } @if (keyTitle) {\n <div\n [innerHTML]=\"item[keyTitle!] | highlight: inputValue | safe: 'html'\"\n class=\"select-data__title\"></div>\n } @if (keyDesc) {\n <div\n [innerHTML]=\"item[keyDesc!] | highlight: inputValue | safe: 'html'\"\n [title]=\"item[keyDesc]\"\n class=\"select-data__desc\"></div>\n } @if (checkSelected(item)) {\n <dd-lib-svg-icon\n (click)=\"selectItem(checkedItem)\"\n class=\"checked\"\n id=\"chevron-{{ selectId }}\" icon=\"check_green\"></dd-lib-svg-icon>\n }\n </div>\n } } @else {\n <div class=\"select-loader\">\n <dd-lib-loader></dd-lib-loader>\n </div>\n }\n </div>\n }\n</div>\n", styles: [".lib-select{position:relative}.lib-select input{width:100%;height:48px;padding:15px 28px 15px 16px;overflow:hidden;text-overflow:ellipsis;border-radius:8px;border:1px solid var(--input-border-color);background-color:transparent;position:relative}.lib-select input:hover{border-color:var(--input-active-border-colort)}.lib-select input:focus{border-color:var(--input-active-border-colort);box-shadow:var(--input-active-border-shadow)}.lib-select input:disabled{border:none;background-color:var(--input-disable-input);color:var(--input-disable-text);pointer-events:none}.lib-select input:disabled::placeholder{color:var(--input-placeholder)}.lib-select input.invalid,.lib-select input.invalid:hover{border-color:var(--input-error-border-color)}.lib-select input.invalid:focus{border-color:var(--input-error-border-color);box-shadow:var(--input-error-border-shadow)}.lib-select .clear{cursor:pointer;position:absolute;right:8px;top:12px}.lib-select .chevron{cursor:pointer;position:absolute;right:16px;top:10px}.lib-select .chevron.up{transform:rotate(180deg)}.lib-select__title{margin-bottom:4px;font-size:14px;line-height:24px;display:flex;align-items:flex-start}.lib-select__error{color:var(--primary-red-color);font-size:12px;font-weight:400;line-height:10px;margin-top:2px}.lib-select .select-list-wrapper{position:absolute;display:block;z-index:100;width:100%;max-height:300px;overflow:auto;border-radius:8px;box-shadow:var(--main-card-shadow);background-color:var(--main-card-color)}.lib-select .select-list-wrapper.top{bottom:50px;top:unset}.lib-select .select-list-wrapper .select-data{padding:12px 42px 12px 16px;cursor:pointer;position:relative}.lib-select .select-list-wrapper .select-data__desc{font-size:14px;font-weight:400;line-height:24px;text-overflow:ellipsis;text-wrap:nowrap;padding-top:2px;overflow:hidden;color:var(--second-gray-color)}.lib-select .select-list-wrapper .select-data:hover,.lib-select .select-list-wrapper .select-data.active{background:var(--select-act-hov-bgc)}.lib-select .select-list-wrapper .select-data.active .checked{position:absolute;right:16px;top:10px}.lib-select .select-list-wrapper .select-loader{padding:24px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: HighlightPipe, name: "highlight" }, { kind: "pipe", type: SafePipe, name: "safe" }, { kind: "directive", type: ClickOutsideDirective, selector: "[ddClickOutside]", inputs: ["elements"], outputs: ["ddClickOutside"] }, { kind: "component", type: LibLoaderComponent, selector: "dd-lib-loader", inputs: ["color", "size"] }, { kind: "pipe", type: FilterByKeyPipe, name: "filterByKey" }, { kind: "component", type: LibSvgIconComponent, selector: "dd-lib-svg-icon", inputs: ["width", "height", "color", "icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
152
152
|
}
|
|
153
153
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: LibSelectComponent, decorators: [{
|
|
154
154
|
type: Component,
|
|
@@ -192,4 +192,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
|
|
|
192
192
|
}], placeholder: [{
|
|
193
193
|
type: Input
|
|
194
194
|
}] } });
|
|
195
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9saWItc2VsZWN0L2xpYi1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXNlbGVjdC9saWItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFVBQVUsRUFDVixJQUFJLEVBQ0osS0FBSyxFQUVMLFFBQVEsRUFDUixRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFHTCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLG1CQUFtQixHQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBQyxNQUFNLFNBQVMsQ0FBQzs7O0FBNkJ4RixNQUFNLE9BQU8sa0JBQ1gsU0FBUSwyQkFBMkI7YUFHckIsY0FBUyxHQUFHLENBQUMsQUFBSixDQUFLO0lBZ0I1QixZQUNFLGVBQWtDLEVBQ00sZ0JBQWtDO1FBRTFFLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUZpQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBYjVELGFB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Q0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDakQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQ2pESCwwd0ZBcUZBLDBxRUR2REksbUJBQW1CLHNaQUNuQixXQUFXLGtQQUNYLGFBQWEsNkNBRWIsUUFBUSw2Q0FDUixxQkFBcUIsZ0hBQ3JCLGtCQUFrQix3RUFDbEIsZUFBZSxvREFDZixtQkFBbUI7OzJGQWNWLGtCQUFrQjtrQkEzQjlCLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUDt3QkFDUCxnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsUUFBUTt3QkFDUixxQkFBcUI7d0JBQ3JCLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLFFBQVE7cUJBQ1QsYUFHVTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQzs0QkFDakQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07OzBCQXdCNUMsUUFBUTs7MEJBQUksSUFBSTs7MEJBQUksUUFBUTt5Q0FoQmYsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ21CLFdBQVc7c0JBQW5DLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBmb3J3YXJkUmVmLFxyXG4gIEhvc3QsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIFNraXBTZWxmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0pzb25QaXBlLCBOZ09wdGltaXplZEltYWdlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENvbnRyb2xDb250YWluZXIsXHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgRm9ybXNNb2R1bGUsXHJcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7TGliQ29tbW9uSW5wdXRUZXh0Q29tcG9uZW50fSBmcm9tICcuLi9jb21tb24vbGliLWNvbW1vbi1pbnB1dC10ZXh0JztcclxuaW1wb3J0IHtMaWJDYXJkQ29tcG9uZW50fSBmcm9tICcuLi9saWItY2FyZC9saWItY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0xpYkxvYWRlckNvbXBvbmVudH0gZnJvbSAnLi4vbGliLWxvYWRlci9saWItbG9hZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TGliU3ZnSWNvbkNvbXBvbmVudH0gZnJvbSBcIi4uL2xpYi1zdmctaWNvbi9saWItc3ZnLWljb24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Q2xpY2tPdXRzaWRlRGlyZWN0aXZlLCBGaWx0ZXJCeUtleVBpcGUsIEhpZ2hsaWdodFBpcGUsIFNhZmVQaXBlfSBmcm9tIFwiLi4vY29yZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZC1saWItc2VsZWN0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nT3B0aW1pemVkSW1hZ2UsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBIaWdobGlnaHRQaXBlLFxyXG4gICAgTGliQ2FyZENvbXBvbmVudCxcclxuICAgIFNhZmVQaXBlLFxyXG4gICAgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLFxyXG4gICAgTGliTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgRmlsdGVyQnlLZXlQaXBlLFxyXG4gICAgTGliU3ZnSWNvbkNvbXBvbmVudCxcclxuICAgIEpzb25QaXBlLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYi1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9saWItc2VsZWN0LmNvbXBvbmVudC5zY3NzJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExpYlNlbGVjdENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliU2VsZWN0Q29tcG9uZW50PFQ+XHJcbiAgZXh0ZW5kcyBMaWJDb21tb25JbnB1dFRleHRDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Jcclxue1xyXG4gIHB1YmxpYyBzdGF0aWMgaWRDb3VudGVyID0gMTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIG11bHRpOiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RJZDogc3RyaW5nICB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMgZGF0YTogYW55ICB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMga2V5VGl0bGUgPSAnbmFtZSc7XHJcbiAgQElucHV0KCkgcHVibGljIGtleURlc2M6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMga2V5VmFsdWUgPSAnaWQnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBvdmVycmlkZSBwbGFjZWhvbGRlciA9ICfQktGL0LHQtdGA0LjRgtC1INC40Lcg0YHQv9C40YHQutCwJztcclxuICBwdWJsaWMgY2hlY2tlZEl0ZW06IGFueTtcclxuICBwdWJsaWMgY2hlY2tlZEl0ZW1zOiBhbnlbXSA9IFtdO1xyXG4gIHB1YmxpYyBpbnB1dFZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIHNlYXJjaFZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIGlzU2hvd25MaXN0OiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG4gIHByaXZhdGUgc3RyaW5nQXJyYXk6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIEBPcHRpb25hbCgpIEBIb3N0KCkgQFNraXBTZWxmKCkgcHJpdmF0ZSBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyLFxyXG4gICkge1xyXG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0aW9uKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgICB0aGlzLnN0cmluZ0FycmF5ID0gdHlwZW9mIHRoaXMuZGF0YT8uWzBdID09PSAnc3RyaW5nJztcclxuICAgIGlmICghdGhpcy5zZWxlY3RJZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdElkID0gJ2RkLXNlbGVjdC0nICsgTGliU2VsZWN0Q29tcG9uZW50LmlkQ291bnRlcisrO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMua2V5VGl0bGUgJiYgIXRoaXMua2V5VmFsdWUpIHtcclxuICAgICAgdGhpcy5rZXlWYWx1ZSA9IHRoaXMua2V5VGl0bGU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbnRyb2wgPVxyXG4gICAgICB0aGlzLmNvbnRyb2xDb250YWluZXIgJiYgdGhpcy5mb3JtQ29udHJvbE5hbWVcclxuICAgICAgICA/IHRoaXMuY29udHJvbENvbnRhaW5lcj8uY29udHJvbD8uZ2V0KHRoaXMuZm9ybUNvbnRyb2xOYW1lKVxyXG4gICAgICAgIDogbnVsbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvdmVycmlkZSByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XHJcbiAgICBzdXBlci5yZWdpc3Rlck9uQ2hhbmdlKGZuKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG92ZXJyaWRlIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcclxuICAgIHN1cGVyLnJlZ2lzdGVyT25Ub3VjaGVkKGZuKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG92ZXJyaWRlIGhhbmRsZUlucHV0KGU6IEV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLmlzU2hvd25MaXN0ID0gdHJ1ZTtcclxuICAgIHRoaXMuc2VhcmNoVmFsdWUgPSB0aGlzLmlucHV0VmFsdWU7XHJcbiAgICBzdXBlci5oYW5kbGVJbnB1dChlKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG92ZXJyaWRlIG5vdGlmeUZvY3VzRXZlbnQoZTogRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLmlzU2hvd25MaXN0ID0gIXRoaXMuaXNTaG93bkxpc3Q7XHJcbiAgICB9XHJcbiAgICBzdXBlci5ub3RpZnlGb2N1c0V2ZW50KGUpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5tdWx0aSAmJiB2YWx1ZT8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IGDQktGL0LHRgNCw0L3QviAoJHt2YWx1ZS5sZW5ndGh9KWBcclxuICAgICAgdGhpcy5jaGVja2VkSXRlbXMgPSB0aGlzLmRhdGEuZmlsdGVyKChmOiBhbnkpID0+IHZhbHVlLmluY2x1ZGVzKGZbdGhpcy5rZXlWYWx1ZV0pKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuc3RyaW5nQXJyYXkpIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdmFsdWU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgZlZhbCA9IHRoaXMuZGF0YS5maW5kKChmOiBhbnkpID0+IGZbdGhpcy5rZXlWYWx1ZV0gPT09IHZhbHVlKTtcclxuICAgICAgICB0aGlzLnZhbHVlID0gZlZhbDtcclxuICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSBmVmFsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZWN0SXRlbShpdGVtOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm11bHRpKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0TXVsdGlJdGVtKGl0ZW0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RTaW5nbGVJdGVtKGl0ZW0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGZpbHRlckxpc3QoaXRlbTogYW55KTogYW55IHtcclxuICAgIHJldHVybiBpdGVtW3RoaXMua2V5VGl0bGUhXT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnNlYXJjaFZhbHVlPy50b0xvd2VyQ2FzZSgpIHx8ICcnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcHJvcGFnYXRlQ2hhbmdlKF92YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNlbGVjdFNpbmdsZUl0ZW0oaXRlbTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodHlwZW9mIGl0ZW0gPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIGlmICghdGhpcy5jaGVja2VkSXRlbSkge1xyXG4gICAgICAgIHRoaXMuY2hlY2tlZEl0ZW0gPSBpdGVtO1xyXG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IGl0ZW07XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IGl0ZW07XHJcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jaGVja2VkSXRlbSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodW5kZWZpbmVkKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKCF0aGlzLmNoZWNrZWRJdGVtIHx8IGl0ZW1bdGhpcy5rZXlWYWx1ZSFdICE9PSB0aGlzLmNoZWNrZWRJdGVtPy5bdGhpcy5rZXlWYWx1ZSFdKSB7XHJcbiAgICAgICAgdGhpcy5jaGVja2VkSXRlbSA9IGl0ZW07XHJcbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy5jaGVja2VkSXRlbVt0aGlzLmtleVRpdGxlIV07XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IGl0ZW1bdGhpcy5rZXlWYWx1ZSFdO1xyXG4gICAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY2hlY2tlZEl0ZW0gPSBudWxsO1xyXG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHVuZGVmaW5lZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuc2VhcmNoVmFsdWUgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmlzU2hvd25MaXN0ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNlbGVjdE11bHRpSXRlbShpdGVtOiBhbnkpIHtcclxuICAgIGlmICh0eXBlb2YgaXRlbSA9PT0gJ3N0cmluZycpIHtcclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5jaGVja1NlbGVjdGVkKGl0ZW0pKSB7XHJcbiAgICAgICAgdGhpcy5jaGVja2VkSXRlbXMgPSB0aGlzLmNoZWNrZWRJdGVtcy5maWx0ZXIoZiA9PiBmW3RoaXMua2V5VmFsdWUhXSAhPT0gaXRlbVt0aGlzLmtleVZhbHVlIV0gfHwgZiAhPT0gaXRlbSlcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNoZWNrZWRJdGVtcy5wdXNoKGl0ZW0pXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IHZhbHVlcyA9ICB0aGlzLmNoZWNrZWRJdGVtcy5tYXAobSA9PiBtW3RoaXMua2V5VmFsdWVdKVxyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodmFsdWVzKTtcclxuICAgIGNvbnN0IHNlbGVjdEwgPSB0aGlzLmNoZWNrZWRJdGVtcy5sZW5ndGg7XHJcbiAgICBpZiAoc2VsZWN0TCkge1xyXG4gICAgICB0aGlzLmlucHV0VmFsdWUgPSBg0JLRi9Cx0YDQsNC90L4gKCR7c2VsZWN0TH0pYDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGVja1NlbGVjdGVkKGl0ZW06IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMubXVsdGkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuY2hlY2tlZEl0ZW1zLmZpbmQoZiA9PiBmW3RoaXMua2V5VmFsdWUhXSA9PT0gaXRlbVt0aGlzLmtleVZhbHVlIV0gfHwgZiA9PT0gaXRlbSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNoZWNrZWRJdGVtPy5bdGhpcy5rZXlWYWx1ZSFdID09PSBpdGVtW3RoaXMua2V5VmFsdWUhXSB8fCB0aGlzLmNoZWNrZWRJdGVtID09PSBpdGVtXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImxpYi1zZWxlY3RcIiBpZD1cImxpYi1zZWxlY3Qte3sgc2VsZWN0SWQgfX1cIj5cbiAgPGxhYmVsIFtmb3JdPVwiaWRcIiBjbGFzcz1cImxpYi1zZWxlY3RfX3RpdGxlXCI+XG4gICAge3sgbGFiZWwgfX1cbiAgICBAaWYgKHJlcXVpcmVkKSB7XG4gICAgICA8ZGQtbGliLXN2Zy1pY29uIGljb249XCJlcnJvcl9oaW50XCI+PC9kZC1saWItc3ZnLWljb24+XG4gICAgfVxuICA8L2xhYmVsPlxuXG4gIDxkaXYgY2xhc3M9XCJwb3MtcmVsYXRpdmVcIj5cbiAgICA8aW5wdXRcbiAgICAgICNzZWxlY3RcbiAgICAgIChjaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKClcIlxuICAgICAgKGNsaWNrKT1cIm5vdGlmeUZvY3VzRXZlbnQoJGV2ZW50KVwiXG4gICAgICAoaW5wdXQpPVwiaGFuZGxlSW5wdXQoJGV2ZW50KVwiXG4gICAgICBbKG5nTW9kZWwpXT1cImlucHV0VmFsdWVcIlxuICAgICAgW2F0dHIuaWRdPVwic2VsZWN0SWRcIlxuICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgIFthdHRyLnRhYkluZGV4XT1cInRhYkluZGV4XCJcbiAgICAgIFthdHRyLnR5cGVdPVwiJ3RleHQnXCJcbiAgICAgIFtjbGFzcy5mb2N1c2VkXT1cImZvY3VzZWRcIlxuICAgICAgW2NsYXNzLmludmFsaWRdPVwiaW52YWxpZFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICAgIFt0aXRsZV09XCJpbnB1dFZhbHVlXCJcbiAgICAgIGNsYXNzPVwidGV4dC1zZWxlY3RcIiAvPlxuICAgIDwhLS0gICAgKGJsdXIpPVwibm90aWZ5Rm9jdXNFdmVudCgkZXZlbnQpXCItLT5cbiAgICBAaWYgKCFjaGVja2VkSXRlbSkge1xuICAgICAgPGRkLWxpYi1zdmctaWNvblxuICAgICAgICAoY2xpY2spPVwibm90aWZ5Rm9jdXNFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgW2NsYXNzLmJsYWNrLXN2Z109XCJpc1Nob3duTGlzdFwiXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtjbGFzcy5ncmF5LXN2Z109XCIhaXNTaG93bkxpc3RcIlxuICAgICAgICBbY2xhc3MudXBdPVwiaXNTaG93bkxpc3RcIlxuICAgICAgICBpZD1cImNoZXZyb24te3sgc2VsZWN0SWQgfX1cIiBjbGFzcz1cImNoZXZyb25cIiBpY29uPVwiZG93bl9jaGV2cm9uXCI+PC9kZC1saWItc3ZnLWljb24+XG5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxkZC1saWItc3ZnLWljb25cbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdEl0ZW0oY2hlY2tlZEl0ZW0pXCJcbiAgICAgICAgY2xhc3M9XCJjbGVhclwiXG4gICAgICAgIGlkPVwiY2hldnJvbi17eyBzZWxlY3RJZCB9fVwiIGljb249XCJjbGVhclwiPjwvZGQtbGliLXN2Zy1pY29uPlxuXG4gICAgfVxuICA8L2Rpdj5cblxuICBAaWYgKGVycm9yVGV4dCAmJiBpbnZhbGlkKSB7XG4gIDxkaXYgY2xhc3M9XCJsaWItc2VsZWN0X19lcnJvclwiPnt7IGVycm9yVGV4dCB9fTwvZGl2PlxuICB9IEBpZiAoaXNTaG93bkxpc3QpIHtcbiAgPGRpdlxuICAgIChkZENsaWNrT3V0c2lkZSk9XCJub3RpZnlGb2N1c0V2ZW50KCRldmVudClcIlxuICAgIFtlbGVtZW50c109XCJbJ2xpYi1zZWxlY3QtJyArIHNlbGVjdElkLCAnY2hldnJvbicgKyBzZWxlY3RJZF1cIlxuICAgIFtjbGFzcy50b3BdPVwic2lkZSA9PT0gJ3RvcCdcIlxuICAgIGNsYXNzPVwic2VsZWN0LWxpc3Qtd3JhcHBlclwiPlxuICAgIEBpZiAoZGF0YT8ubGVuZ3RoKSB7IEBmb3IgKGl0ZW0gb2YgZGF0YSB8IGZpbHRlckJ5S2V5OiBmaWx0ZXJMaXN0LmJpbmQodGhpcyk7IHRyYWNrIGl0ZW0pIHtcbiAgICA8ZGl2XG4gICAgICAoY2xpY2spPVwic2VsZWN0SXRlbShpdGVtKVwiXG4gICAgICBbY2xhc3MuYWN0aXZlXT1cImNoZWNrU2VsZWN0ZWQoaXRlbSlcIlxuICAgICAgY2xhc3M9XCJzZWxlY3QtZGF0YVwiPlxuXG4gICAgICBAaWYgKCFrZXlEZXNjICYmICFrZXlUaXRsZSkge1xuICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cIml0ZW0gfCBoaWdobGlnaHQ6IGlucHV0VmFsdWUgfCBzYWZlOiAnaHRtbCdcIiBjbGFzcz1cInNlbGVjdC1kYXRhX190aXRsZVwiPjwvZGl2PlxuICAgICAgfSBAaWYgKGtleVRpdGxlKSB7XG4gICAgICA8ZGl2XG4gICAgICAgIFtpbm5lckhUTUxdPVwiaXRlbVtrZXlUaXRsZSFdIHwgaGlnaGxpZ2h0OiBpbnB1dFZhbHVlIHwgc2FmZTogJ2h0bWwnXCJcbiAgICAgICAgY2xhc3M9XCJzZWxlY3QtZGF0YV9fdGl0bGVcIj48L2Rpdj5cbiAgICAgIH0gQGlmIChrZXlEZXNjKSB7XG4gICAgICA8ZGl2XG4gICAgICAgIFtpbm5lckhUTUxdPVwiaXRlbVtrZXlEZXNjIV0gfCBoaWdobGlnaHQ6IGlucHV0VmFsdWUgfCBzYWZlOiAnaHRtbCdcIlxuICAgICAgICBbdGl0bGVdPVwiaXRlbVtrZXlEZXNjXVwiXG4gICAgICAgIGNsYXNzPVwic2VsZWN0LWRhdGFfX2Rlc2NcIj48L2Rpdj5cbiAgICAgIH0gQGlmIChjaGVja1NlbGVjdGVkKGl0ZW0pKSB7XG4gICAgICA8ZGQtbGliLXN2Zy1pY29uXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RJdGVtKGNoZWNrZWRJdGVtKVwiXG4gICAgICAgIGNsYXNzPVwiY2hlY2tlZFwiXG4gICAgICAgIGlkPVwiY2hldnJvbi17eyBzZWxlY3RJZCB9fVwiIGljb249XCJjaGVja19ncmVlblwiPjwvZGQtbGliLXN2Zy1pY29uPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICAgIH0gfSBAZWxzZSB7XG4gICAgPGRpdiBjbGFzcz1cInNlbGVjdC1sb2FkZXJcIj5cbiAgICAgIDxkZC1saWItbG9hZGVyPjwvZGQtbGliLWxvYWRlcj5cbiAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuICB9XG48L2Rpdj5cbiJdfQ==
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZC1saWIvc3JjL2xpYi9saWItc2VsZWN0L2xpYi1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGQtbGliL3NyYy9saWIvbGliLXNlbGVjdC9saWItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFVBQVUsRUFDVixJQUFJLEVBQ0osS0FBSyxFQUVMLFFBQVEsRUFDUixRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFHTCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLG1CQUFtQixHQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBQyxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBQyxNQUFNLFNBQVMsQ0FBQzs7O0FBNkJ4RixNQUFNLE9BQU8sa0JBQ1gsU0FBUSwyQkFBMkI7YUFHckIsY0FBUyxHQUFHLENBQUMsQUFBSixDQUFLO0lBZ0I1QixZQUNFLGVBQWtDLEVBQ00sZ0JBQWtDO1FBRTFFLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUZpQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBYjVELGFB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Q0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDakQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLGlEQ2pESCwwd0ZBcUZBLDBxRUR2REksbUJBQW1CLHNaQUNuQixXQUFXLGtQQUNYLGFBQWEsNkNBRWIsUUFBUSw2Q0FDUixxQkFBcUIsZ0hBQ3JCLGtCQUFrQixnRkFDbEIsZUFBZSxvREFDZixtQkFBbUI7OzJGQWNWLGtCQUFrQjtrQkEzQjlCLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUDt3QkFDUCxnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsUUFBUTt3QkFDUixxQkFBcUI7d0JBQ3JCLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLFFBQVE7cUJBQ1QsYUFHVTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQzs0QkFDakQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07OzBCQXdCNUMsUUFBUTs7MEJBQUksSUFBSTs7MEJBQUksUUFBUTt5Q0FoQmYsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ21CLFdBQVc7c0JBQW5DLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBmb3J3YXJkUmVmLFxyXG4gIEhvc3QsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIFNraXBTZWxmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0pzb25QaXBlLCBOZ09wdGltaXplZEltYWdlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1xyXG4gIENvbnRyb2xDb250YWluZXIsXHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgRm9ybXNNb2R1bGUsXHJcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7TGliQ29tbW9uSW5wdXRUZXh0Q29tcG9uZW50fSBmcm9tICcuLi9jb21tb24vbGliLWNvbW1vbi1pbnB1dC10ZXh0JztcclxuaW1wb3J0IHtMaWJDYXJkQ29tcG9uZW50fSBmcm9tICcuLi9saWItY2FyZC9saWItY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0xpYkxvYWRlckNvbXBvbmVudH0gZnJvbSAnLi4vbGliLWxvYWRlci9saWItbG9hZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TGliU3ZnSWNvbkNvbXBvbmVudH0gZnJvbSBcIi4uL2xpYi1zdmctaWNvbi9saWItc3ZnLWljb24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Q2xpY2tPdXRzaWRlRGlyZWN0aXZlLCBGaWx0ZXJCeUtleVBpcGUsIEhpZ2hsaWdodFBpcGUsIFNhZmVQaXBlfSBmcm9tIFwiLi4vY29yZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkZC1saWItc2VsZWN0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nT3B0aW1pemVkSW1hZ2UsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBIaWdobGlnaHRQaXBlLFxyXG4gICAgTGliQ2FyZENvbXBvbmVudCxcclxuICAgIFNhZmVQaXBlLFxyXG4gICAgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLFxyXG4gICAgTGliTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgRmlsdGVyQnlLZXlQaXBlLFxyXG4gICAgTGliU3ZnSWNvbkNvbXBvbmVudCxcclxuICAgIEpzb25QaXBlLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpYi1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9saWItc2VsZWN0LmNvbXBvbmVudC5zY3NzJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExpYlNlbGVjdENvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGliU2VsZWN0Q29tcG9uZW50PFQ+XHJcbiAgZXh0ZW5kcyBMaWJDb21tb25JbnB1dFRleHRDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Jcclxue1xyXG4gIHB1YmxpYyBzdGF0aWMgaWRDb3VudGVyID0gMTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIG11bHRpOiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RJZDogc3RyaW5nICB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMgZGF0YTogYW55ICB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMga2V5VGl0bGUgPSAnbmFtZSc7XHJcbiAgQElucHV0KCkgcHVibGljIGtleURlc2M6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBwdWJsaWMga2V5VmFsdWUgPSAnaWQnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBvdmVycmlkZSBwbGFjZWhvbGRlciA9ICfQktGL0LHQtdGA0LjRgtC1INC40Lcg0YHQv9C40YHQutCwJztcclxuICBwdWJsaWMgY2hlY2tlZEl0ZW06IGFueTtcclxuICBwdWJsaWMgY2hlY2tlZEl0ZW1zOiBhbnlbXSA9IFtdO1xyXG4gIHB1YmxpYyBpbnB1dFZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIHNlYXJjaFZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgcHVibGljIGlzU2hvd25MaXN0OiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG4gIHByaXZhdGUgc3RyaW5nQXJyYXk6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIEBPcHRpb25hbCgpIEBIb3N0KCkgQFNraXBTZWxmKCkgcHJpdmF0ZSBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyLFxyXG4gICkge1xyXG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0aW9uKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHJcbiAgICB0aGlzLnN0cmluZ0FycmF5ID0gdHlwZW9mIHRoaXMuZGF0YT8uWzBdID09PSAnc3RyaW5nJztcclxuICAgIGlmICghdGhpcy5zZWxlY3RJZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdElkID0gJ2RkLXNlbGVjdC0nICsgTGliU2VsZWN0Q29tcG9uZW50LmlkQ291bnRlcisrO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMua2V5VGl0bGUgJiYgIXRoaXMua2V5VmFsdWUpIHtcclxuICAgICAgdGhpcy5rZXlWYWx1ZSA9IHRoaXMua2V5VGl0bGU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbnRyb2wgPVxyXG4gICAgICB0aGlzLmNvbnRyb2xDb250YWluZXIgJiYgdGhpcy5mb3JtQ29udHJvbE5hbWVcclxuICAgICAgICA/IHRoaXMuY29udHJvbENvbnRhaW5lcj8uY29udHJvbD8uZ2V0KHRoaXMuZm9ybUNvbnRyb2xOYW1lKVxyXG4gICAgICAgIDogbnVsbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvdmVycmlkZSByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XHJcbiAgICBzdXBlci5yZWdpc3Rlck9uQ2hhbmdlKGZuKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG92ZXJyaWRlIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcclxuICAgIHN1cGVyLnJlZ2lzdGVyT25Ub3VjaGVkKGZuKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG92ZXJyaWRlIGhhbmRsZUlucHV0KGU6IEV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLmlzU2hvd25MaXN0ID0gdHJ1ZTtcclxuICAgIHRoaXMuc2VhcmNoVmFsdWUgPSB0aGlzLmlucHV0VmFsdWU7XHJcbiAgICBzdXBlci5oYW5kbGVJbnB1dChlKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG92ZXJyaWRlIG5vdGlmeUZvY3VzRXZlbnQoZTogRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLmlzU2hvd25MaXN0ID0gIXRoaXMuaXNTaG93bkxpc3Q7XHJcbiAgICB9XHJcbiAgICBzdXBlci5ub3RpZnlGb2N1c0V2ZW50KGUpXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5tdWx0aSAmJiB2YWx1ZT8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IGDQktGL0LHRgNCw0L3QviAoJHt2YWx1ZS5sZW5ndGh9KWBcclxuICAgICAgdGhpcy5jaGVja2VkSXRlbXMgPSB0aGlzLmRhdGEuZmlsdGVyKChmOiBhbnkpID0+IHZhbHVlLmluY2x1ZGVzKGZbdGhpcy5rZXlWYWx1ZV0pKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuc3RyaW5nQXJyYXkpIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdmFsdWU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgZlZhbCA9IHRoaXMuZGF0YS5maW5kKChmOiBhbnkpID0+IGZbdGhpcy5rZXlWYWx1ZV0gPT09IHZhbHVlKTtcclxuICAgICAgICB0aGlzLnZhbHVlID0gZlZhbDtcclxuICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSBmVmFsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZWN0SXRlbShpdGVtOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm11bHRpKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0TXVsdGlJdGVtKGl0ZW0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RTaW5nbGVJdGVtKGl0ZW0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGZpbHRlckxpc3QoaXRlbTogYW55KTogYW55IHtcclxuICAgIHJldHVybiBpdGVtW3RoaXMua2V5VGl0bGUhXT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnNlYXJjaFZhbHVlPy50b0xvd2VyQ2FzZSgpIHx8ICcnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcHJvcGFnYXRlQ2hhbmdlKF92YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNlbGVjdFNpbmdsZUl0ZW0oaXRlbTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodHlwZW9mIGl0ZW0gPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIGlmICghdGhpcy5jaGVja2VkSXRlbSkge1xyXG4gICAgICAgIHRoaXMuY2hlY2tlZEl0ZW0gPSBpdGVtO1xyXG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IGl0ZW07XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IGl0ZW07XHJcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jaGVja2VkSXRlbSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodW5kZWZpbmVkKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKCF0aGlzLmNoZWNrZWRJdGVtIHx8IGl0ZW1bdGhpcy5rZXlWYWx1ZSFdICE9PSB0aGlzLmNoZWNrZWRJdGVtPy5bdGhpcy5rZXlWYWx1ZSFdKSB7XHJcbiAgICAgICAgdGhpcy5jaGVja2VkSXRlbSA9IGl0ZW07XHJcbiAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy5jaGVja2VkSXRlbVt0aGlzLmtleVRpdGxlIV07XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IGl0ZW1bdGhpcy5rZXlWYWx1ZSFdO1xyXG4gICAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY2hlY2tlZEl0ZW0gPSBudWxsO1xyXG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHVuZGVmaW5lZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuc2VhcmNoVmFsdWUgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmlzU2hvd25MaXN0ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNlbGVjdE11bHRpSXRlbShpdGVtOiBhbnkpIHtcclxuICAgIGlmICh0eXBlb2YgaXRlbSA9PT0gJ3N0cmluZycpIHtcclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5jaGVja1NlbGVjdGVkKGl0ZW0pKSB7XHJcbiAgICAgICAgdGhpcy5jaGVja2VkSXRlbXMgPSB0aGlzLmNoZWNrZWRJdGVtcy5maWx0ZXIoZiA9PiBmW3RoaXMua2V5VmFsdWUhXSAhPT0gaXRlbVt0aGlzLmtleVZhbHVlIV0gfHwgZiAhPT0gaXRlbSlcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNoZWNrZWRJdGVtcy5wdXNoKGl0ZW0pXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IHZhbHVlcyA9ICB0aGlzLmNoZWNrZWRJdGVtcy5tYXAobSA9PiBtW3RoaXMua2V5VmFsdWVdKVxyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodmFsdWVzKTtcclxuICAgIGNvbnN0IHNlbGVjdEwgPSB0aGlzLmNoZWNrZWRJdGVtcy5sZW5ndGg7XHJcbiAgICBpZiAoc2VsZWN0TCkge1xyXG4gICAgICB0aGlzLmlucHV0VmFsdWUgPSBg0JLRi9Cx0YDQsNC90L4gKCR7c2VsZWN0TH0pYDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGVja1NlbGVjdGVkKGl0ZW06IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMubXVsdGkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuY2hlY2tlZEl0ZW1zLmZpbmQoZiA9PiBmW3RoaXMua2V5VmFsdWUhXSA9PT0gaXRlbVt0aGlzLmtleVZhbHVlIV0gfHwgZiA9PT0gaXRlbSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNoZWNrZWRJdGVtPy5bdGhpcy5rZXlWYWx1ZSFdID09PSBpdGVtW3RoaXMua2V5VmFsdWUhXSB8fCB0aGlzLmNoZWNrZWRJdGVtID09PSBpdGVtXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImxpYi1zZWxlY3RcIiBpZD1cImxpYi1zZWxlY3Qte3sgc2VsZWN0SWQgfX1cIj5cbiAgPGxhYmVsIFtmb3JdPVwiaWRcIiBjbGFzcz1cImxpYi1zZWxlY3RfX3RpdGxlXCI+XG4gICAge3sgbGFiZWwgfX1cbiAgICBAaWYgKHJlcXVpcmVkKSB7XG4gICAgICA8ZGQtbGliLXN2Zy1pY29uIGljb249XCJlcnJvcl9oaW50XCI+PC9kZC1saWItc3ZnLWljb24+XG4gICAgfVxuICA8L2xhYmVsPlxuXG4gIDxkaXYgY2xhc3M9XCJwb3MtcmVsYXRpdmVcIj5cbiAgICA8aW5wdXRcbiAgICAgICNzZWxlY3RcbiAgICAgIChjaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKClcIlxuICAgICAgKGNsaWNrKT1cIm5vdGlmeUZvY3VzRXZlbnQoJGV2ZW50KVwiXG4gICAgICAoaW5wdXQpPVwiaGFuZGxlSW5wdXQoJGV2ZW50KVwiXG4gICAgICBbKG5nTW9kZWwpXT1cImlucHV0VmFsdWVcIlxuICAgICAgW2F0dHIuaWRdPVwic2VsZWN0SWRcIlxuICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgIFthdHRyLnRhYkluZGV4XT1cInRhYkluZGV4XCJcbiAgICAgIFthdHRyLnR5cGVdPVwiJ3RleHQnXCJcbiAgICAgIFtjbGFzcy5mb2N1c2VkXT1cImZvY3VzZWRcIlxuICAgICAgW2NsYXNzLmludmFsaWRdPVwiaW52YWxpZFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICAgIFt0aXRsZV09XCJpbnB1dFZhbHVlXCJcbiAgICAgIGNsYXNzPVwidGV4dC1zZWxlY3RcIiAvPlxuICAgIDwhLS0gICAgKGJsdXIpPVwibm90aWZ5Rm9jdXNFdmVudCgkZXZlbnQpXCItLT5cbiAgICBAaWYgKCFjaGVja2VkSXRlbSkge1xuICAgICAgPGRkLWxpYi1zdmctaWNvblxuICAgICAgICAoY2xpY2spPVwibm90aWZ5Rm9jdXNFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgW2NsYXNzLmJsYWNrLXN2Z109XCJpc1Nob3duTGlzdFwiXG4gICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtjbGFzcy5ncmF5LXN2Z109XCIhaXNTaG93bkxpc3RcIlxuICAgICAgICBbY2xhc3MudXBdPVwiaXNTaG93bkxpc3RcIlxuICAgICAgICBpZD1cImNoZXZyb24te3sgc2VsZWN0SWQgfX1cIiBjbGFzcz1cImNoZXZyb25cIiBpY29uPVwiZG93bl9jaGV2cm9uXCI+PC9kZC1saWItc3ZnLWljb24+XG5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxkZC1saWItc3ZnLWljb25cbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdEl0ZW0oY2hlY2tlZEl0ZW0pXCJcbiAgICAgICAgY2xhc3M9XCJjbGVhclwiXG4gICAgICAgIGlkPVwiY2hldnJvbi17eyBzZWxlY3RJZCB9fVwiIGljb249XCJjbGVhclwiPjwvZGQtbGliLXN2Zy1pY29uPlxuXG4gICAgfVxuICA8L2Rpdj5cblxuICBAaWYgKGVycm9yVGV4dCAmJiBpbnZhbGlkKSB7XG4gIDxkaXYgY2xhc3M9XCJsaWItc2VsZWN0X19lcnJvclwiPnt7IGVycm9yVGV4dCB9fTwvZGl2PlxuICB9IEBpZiAoaXNTaG93bkxpc3QpIHtcbiAgPGRpdlxuICAgIChkZENsaWNrT3V0c2lkZSk9XCJub3RpZnlGb2N1c0V2ZW50KCRldmVudClcIlxuICAgIFtlbGVtZW50c109XCJbJ2xpYi1zZWxlY3QtJyArIHNlbGVjdElkLCAnY2hldnJvbicgKyBzZWxlY3RJZF1cIlxuICAgIFtjbGFzcy50b3BdPVwic2lkZSA9PT0gJ3RvcCdcIlxuICAgIGNsYXNzPVwic2VsZWN0LWxpc3Qtd3JhcHBlclwiPlxuICAgIEBpZiAoZGF0YT8ubGVuZ3RoKSB7IEBmb3IgKGl0ZW0gb2YgZGF0YSB8IGZpbHRlckJ5S2V5OiBmaWx0ZXJMaXN0LmJpbmQodGhpcyk7IHRyYWNrIGl0ZW0pIHtcbiAgICA8ZGl2XG4gICAgICAoY2xpY2spPVwic2VsZWN0SXRlbShpdGVtKVwiXG4gICAgICBbY2xhc3MuYWN0aXZlXT1cImNoZWNrU2VsZWN0ZWQoaXRlbSlcIlxuICAgICAgY2xhc3M9XCJzZWxlY3QtZGF0YVwiPlxuXG4gICAgICBAaWYgKCFrZXlEZXNjICYmICFrZXlUaXRsZSkge1xuICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cIml0ZW0gfCBoaWdobGlnaHQ6IGlucHV0VmFsdWUgfCBzYWZlOiAnaHRtbCdcIiBjbGFzcz1cInNlbGVjdC1kYXRhX190aXRsZVwiPjwvZGl2PlxuICAgICAgfSBAaWYgKGtleVRpdGxlKSB7XG4gICAgICA8ZGl2XG4gICAgICAgIFtpbm5lckhUTUxdPVwiaXRlbVtrZXlUaXRsZSFdIHwgaGlnaGxpZ2h0OiBpbnB1dFZhbHVlIHwgc2FmZTogJ2h0bWwnXCJcbiAgICAgICAgY2xhc3M9XCJzZWxlY3QtZGF0YV9fdGl0bGVcIj48L2Rpdj5cbiAgICAgIH0gQGlmIChrZXlEZXNjKSB7XG4gICAgICA8ZGl2XG4gICAgICAgIFtpbm5lckhUTUxdPVwiaXRlbVtrZXlEZXNjIV0gfCBoaWdobGlnaHQ6IGlucHV0VmFsdWUgfCBzYWZlOiAnaHRtbCdcIlxuICAgICAgICBbdGl0bGVdPVwiaXRlbVtrZXlEZXNjXVwiXG4gICAgICAgIGNsYXNzPVwic2VsZWN0LWRhdGFfX2Rlc2NcIj48L2Rpdj5cbiAgICAgIH0gQGlmIChjaGVja1NlbGVjdGVkKGl0ZW0pKSB7XG4gICAgICA8ZGQtbGliLXN2Zy1pY29uXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RJdGVtKGNoZWNrZWRJdGVtKVwiXG4gICAgICAgIGNsYXNzPVwiY2hlY2tlZFwiXG4gICAgICAgIGlkPVwiY2hldnJvbi17eyBzZWxlY3RJZCB9fVwiIGljb249XCJjaGVja19ncmVlblwiPjwvZGQtbGliLXN2Zy1pY29uPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICAgIH0gfSBAZWxzZSB7XG4gICAgPGRpdiBjbGFzcz1cInNlbGVjdC1sb2FkZXJcIj5cbiAgICAgIDxkZC1saWItbG9hZGVyPjwvZGQtbGliLWxvYWRlcj5cbiAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuICB9XG48L2Rpdj5cbiJdfQ==
|