imm-element-ui 1.2.4 → 1.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/form/form-field/context-menu.mjs +46 -31
- package/esm2022/lib/form/form-field/label.directive.mjs +16 -2
- package/esm2022/lib/form/form-type/image.type.mjs +1 -3
- package/esm2022/lib/grid/grid/grid.component.mjs +32 -3
- package/esm2022/lib/grid/grid-utils.mjs +2 -2
- package/esm2022/lib/page-form/page-form.component.mjs +42 -4
- package/esm2022/lib/row-selector/row-selector.component.mjs +15 -3
- package/esm2022/lib/search/search/search.component.mjs +5 -3
- package/esm2022/lib/steps/steps.component.mjs +2 -2
- package/fesm2022/imm-element-ui.mjs +151 -43
- package/fesm2022/imm-element-ui.mjs.map +1 -1
- package/lib/crumb-action/crumb-action.component.d.ts +1 -1
- package/lib/form/form-field/context-menu.d.ts +3 -0
- package/lib/form/form-field/label.directive.d.ts +2 -0
- package/lib/grid/grid/grid.component.d.ts +3 -1
- package/lib/page-form/page-form.component.d.ts +2 -0
- package/lib/row-selector/row-selector.component.d.ts +4 -1
- package/lib/search/search/search.component.d.ts +1 -0
- package/package.json +1 -1
|
@@ -25,9 +25,11 @@ export class SearchComponent {
|
|
|
25
25
|
this.marginLeft = '0';
|
|
26
26
|
this.searchStr = '';
|
|
27
27
|
this.isActive = false;
|
|
28
|
+
this.visible = true;
|
|
28
29
|
this.reload = true;
|
|
29
30
|
effect(() => {
|
|
30
31
|
const columnDefs = this.gridOptions()?.columnDefs;
|
|
32
|
+
this.visible = this.gridOptions()?.showSearch ?? true;
|
|
31
33
|
this.searchItems = searchUtils.extractSearchItems(columnDefs);
|
|
32
34
|
this.sortOptions = columnDefs.map((columnDef) => ({ key: columnDef.field, label: columnDef.headerName }));
|
|
33
35
|
}, { allowSignalWrites: true });
|
|
@@ -133,11 +135,11 @@ export class SearchComponent {
|
|
|
133
135
|
this.textPanel.hide();
|
|
134
136
|
}
|
|
135
137
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchComponent, deps: [{ token: i1.ActionService }, { token: i2.I18nService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
136
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SearchComponent, isStandalone: true, selector: "custom-search", inputs: { searchPrm: { classPropertyName: "searchPrm", publicName: "searchPrm", isSignal: true, isRequired: false, transformFunction: null }, gridOptions: { classPropertyName: "gridOptions", publicName: "gridOptions", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "searchRef", first: true, predicate: ["searchRef"], descendants: true }, { propertyName: "popPanel", first: true, predicate: ["popPanel"], descendants: true }, { propertyName: "textPanel", first: true, predicate: ["textPanel"], descendants: true }], ngImport: i0, template: "@if (reload) {\r\n\t<div\r\n\t\t#searchRef\r\n\t\tclass=\"s-main\">\r\n\t\t<div [class]=\"'flex items-center s-container ' + (isActive ? 's-active' : 's-unactive')\">\r\n\t\t\t<span class=\"flex-none s-search pi pi-search\"></span>\r\n\t\t\t<div class=\"flex-1 flex items-center content-center flex-wrap\">\r\n\t\t\t\t@for (columnFilter of searchModel()?.columnFilters; track columnFilter) {\r\n\t\t\t\t\t<search-tip\r\n\t\t\t\t\t\t[columnFilter]=\"columnFilter\"\r\n\t\t\t\t\t\t[searchItem]=\"getSearchItemByField(columnFilter.columnField!)\"></search-tip>\r\n\t\t\t\t}\r\n\t\t\t\t@if (searchModel()?.sorts?.length) {\r\n\t\t\t\t\t<search-tip\r\n\t\t\t\t\t\t[sorts]=\"searchModel()?.sorts\"\r\n\t\t\t\t\t\t[sortItem]=\"getSortItemBySorts(searchModel()?.sorts!)\"></search-tip>\r\n\t\t\t\t}\r\n\t\t\t\t<div class=\"flex-1\">\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\tclass=\"s-input\"\r\n\t\t\t\t\t\t[placeholder]=\"'search.search' | translate\"\r\n\t\t\t\t\t\t[(ngModel)]=\"searchStr\"\r\n\t\t\t\t\t\t(focus)=\"onFocus($event, searchRef)\"\r\n\t\t\t\t\t\t(input)=\"onInput($event, searchRef)\" />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div\r\n\t\t\t[class]=\"'s-dropdown ' + (isActive ? 's-active' : 's-unactive')\"\r\n\t\t\t(click)=\"onDropDownClick($event, searchRef)\">\r\n\t\t\t<span [class]=\"'s-dropdown-icon pi pi-chevron-' + (isActive ? 'up' : 'down')\"></span>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<p-popover\r\n\t\t[style]=\"{ marginLeft, maxHeight: '75vh', overflowY: 'scroll' }\"\r\n\t\t(onShow)=\"onPopShow($event)\"\r\n\t\t(onHide)=\"onPopHide($event)\"\r\n\t\t#popPanel>\r\n\t\t<pop-panel\r\n\t\t\t[searchItems]=\"searchItems\"\r\n\t\t\t[sortOptions]=\"sortOptions\"\r\n\t\t\t[modelName]=\"gridOptions()?.modelName\"></pop-panel>\r\n\t</p-popover>\r\n\r\n\t<p-popover\r\n\t\t[style]=\"{ maxHeight: '75vh', overflowY: 'scroll' }\"\r\n\t\t(onHide)=\"onPopHide($event)\"\r\n\t\t#textPanel>\r\n\t\t<text-panel\r\n\t\t\t[searchItems]=\"searchItems\"\r\n\t\t\t[searchStr]=\"searchStr\"\r\n\t\t\t(strItemClick)=\"onStrItemClick($event)\"></text-panel>\r\n\t</p-popover>\r\n}\r\n", styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-invalid.ng-dirty>.p-datepicker .p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}.s-main{display:flex;align-items:stretch;position:relative;color:#334155}.s-active{border:1px solid var(--p-form-field-focus-border-color)}.s-unactive{border:1px solid var(--p-form-field-border-color)}.s-container{border-right-width:0;border-radius:3.5px 0 0 3.5px;padding:1.25px 0;width:100%}.s-search{color:var(--p-form-field-icon-color);padding:0 10px}.s-input-container{padding:1.25px 0}.s-input{height:30px;border-width:0;width:100%;min-width:25px}.s-input:focus{outline-width:0}.s-dropdown{width:35px;border-radius:0 3.5px 3.5px 0;display:flex;align-items:center;justify-content:center}.s-dropdown:hover{background-color:#e7e9ed;cursor:pointer}.s-dropdown-icon{color:var(--p-form-field-icon-color)}::ng-deep .p-popover.p-popover-flipped:before{display:none}::ng-deep .p-popover.p-popover-flipped:after{display:none}::ng-deep .p-popover:before{display:none}::ng-deep .p-popover:after{display:none}::ng-deep .p-popover{margin-top:2.5px}::ng-deep .p-popover-flipped{margin-top:-5px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PopPanelComponent, selector: "pop-panel", inputs: ["searchItems", "sortOptions", "modelName"] }, { kind: "component", type: TextPanelComponent, selector: "text-panel", inputs: ["searchItems", "searchStr"], outputs: ["strItemClick"] }, { kind: "component", type: SearchTipComponent, selector: "search-tip", inputs: ["columnFilter", "searchItem", "sorts", "sortItem"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }] }); }
|
|
138
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SearchComponent, isStandalone: true, selector: "custom-search", inputs: { searchPrm: { classPropertyName: "searchPrm", publicName: "searchPrm", isSignal: true, isRequired: false, transformFunction: null }, gridOptions: { classPropertyName: "gridOptions", publicName: "gridOptions", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "searchRef", first: true, predicate: ["searchRef"], descendants: true }, { propertyName: "popPanel", first: true, predicate: ["popPanel"], descendants: true }, { propertyName: "textPanel", first: true, predicate: ["textPanel"], descendants: true }], ngImport: i0, template: "@if (visible && reload) {\n\t<div\n\t\t#searchRef\n\t\tclass=\"s-main\">\n\t\t<div [class]=\"'flex items-center s-container ' + (isActive ? 's-active' : 's-unactive')\">\n\t\t\t<span class=\"flex-none s-search pi pi-search\"></span>\n\t\t\t<div class=\"flex-1 flex items-center content-center flex-wrap\">\n\t\t\t\t@for (columnFilter of searchModel()?.columnFilters; track columnFilter) {\n\t\t\t\t\t<search-tip\n\t\t\t\t\t\t[columnFilter]=\"columnFilter\"\n\t\t\t\t\t\t[searchItem]=\"getSearchItemByField(columnFilter.columnField!)\"></search-tip>\n\t\t\t\t}\n\t\t\t\t@if (searchModel()?.sorts?.length) {\n\t\t\t\t\t<search-tip\n\t\t\t\t\t\t[sorts]=\"searchModel()?.sorts\"\n\t\t\t\t\t\t[sortItem]=\"getSortItemBySorts(searchModel()?.sorts!)\"></search-tip>\n\t\t\t\t}\n\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tclass=\"s-input\"\n\t\t\t\t\t\t[placeholder]=\"'search.search' | translate\"\n\t\t\t\t\t\t[(ngModel)]=\"searchStr\"\n\t\t\t\t\t\t(focus)=\"onFocus($event, searchRef)\"\n\t\t\t\t\t\t(input)=\"onInput($event, searchRef)\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div\n\t\t\t[class]=\"'s-dropdown ' + (isActive ? 's-active' : 's-unactive')\"\n\t\t\t(click)=\"onDropDownClick($event, searchRef)\">\n\t\t\t<span [class]=\"'s-dropdown-icon pi pi-chevron-' + (isActive ? 'up' : 'down')\"></span>\n\t\t</div>\n\t</div>\n\n\t<p-popover\n\t\t[style]=\"{ marginLeft, maxHeight: '75vh', overflowY: 'scroll' }\"\n\t\t(onShow)=\"onPopShow($event)\"\n\t\t(onHide)=\"onPopHide($event)\"\n\t\t#popPanel>\n\t\t<pop-panel\n\t\t\t[searchItems]=\"searchItems\"\n\t\t\t[sortOptions]=\"sortOptions\"\n\t\t\t[modelName]=\"gridOptions()?.modelName\"></pop-panel>\n\t</p-popover>\n\n\t<p-popover\n\t\t[style]=\"{ maxHeight: '75vh', overflowY: 'scroll' }\"\n\t\t(onHide)=\"onPopHide($event)\"\n\t\t#textPanel>\n\t\t<text-panel\n\t\t\t[searchItems]=\"searchItems\"\n\t\t\t[searchStr]=\"searchStr\"\n\t\t\t(strItemClick)=\"onStrItemClick($event)\"></text-panel>\n\t</p-popover>\n}\n", styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-invalid.ng-dirty>.p-datepicker .p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}.s-main{display:flex;align-items:stretch;position:relative;color:#334155}.s-active{border:1px solid var(--p-form-field-focus-border-color)}.s-unactive{border:1px solid var(--p-form-field-border-color)}.s-container{border-right-width:0;border-radius:3.5px 0 0 3.5px;padding:1.25px 0;width:100%}.s-search{color:var(--p-form-field-icon-color);padding:0 10px}.s-input-container{padding:1.25px 0}.s-input{height:30px;border-width:0;width:100%;min-width:25px}.s-input:focus{outline-width:0}.s-dropdown{width:35px;border-radius:0 3.5px 3.5px 0;display:flex;align-items:center;justify-content:center}.s-dropdown:hover{background-color:#e7e9ed;cursor:pointer}.s-dropdown-icon{color:var(--p-form-field-icon-color)}::ng-deep .p-popover.p-popover-flipped:before{display:none}::ng-deep .p-popover.p-popover-flipped:after{display:none}::ng-deep .p-popover:before{display:none}::ng-deep .p-popover:after{display:none}::ng-deep .p-popover{margin-top:2.5px}::ng-deep .p-popover-flipped{margin-top:-5px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PopPanelComponent, selector: "pop-panel", inputs: ["searchItems", "sortOptions", "modelName"] }, { kind: "component", type: TextPanelComponent, selector: "text-panel", inputs: ["searchItems", "searchStr"], outputs: ["strItemClick"] }, { kind: "component", type: SearchTipComponent, selector: "search-tip", inputs: ["columnFilter", "searchItem", "sorts", "sortItem"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }] }); }
|
|
137
139
|
}
|
|
138
140
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchComponent, decorators: [{
|
|
139
141
|
type: Component,
|
|
140
|
-
args: [{ selector: 'custom-search', standalone: true, imports: [FormsModule, PopPanelComponent, TextPanelComponent, SearchTipComponent, TranslatePipe, Popover], template: "@if (reload) {\
|
|
142
|
+
args: [{ selector: 'custom-search', standalone: true, imports: [FormsModule, PopPanelComponent, TextPanelComponent, SearchTipComponent, TranslatePipe, Popover], template: "@if (visible && reload) {\n\t<div\n\t\t#searchRef\n\t\tclass=\"s-main\">\n\t\t<div [class]=\"'flex items-center s-container ' + (isActive ? 's-active' : 's-unactive')\">\n\t\t\t<span class=\"flex-none s-search pi pi-search\"></span>\n\t\t\t<div class=\"flex-1 flex items-center content-center flex-wrap\">\n\t\t\t\t@for (columnFilter of searchModel()?.columnFilters; track columnFilter) {\n\t\t\t\t\t<search-tip\n\t\t\t\t\t\t[columnFilter]=\"columnFilter\"\n\t\t\t\t\t\t[searchItem]=\"getSearchItemByField(columnFilter.columnField!)\"></search-tip>\n\t\t\t\t}\n\t\t\t\t@if (searchModel()?.sorts?.length) {\n\t\t\t\t\t<search-tip\n\t\t\t\t\t\t[sorts]=\"searchModel()?.sorts\"\n\t\t\t\t\t\t[sortItem]=\"getSortItemBySorts(searchModel()?.sorts!)\"></search-tip>\n\t\t\t\t}\n\t\t\t\t<div class=\"flex-1\">\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tclass=\"s-input\"\n\t\t\t\t\t\t[placeholder]=\"'search.search' | translate\"\n\t\t\t\t\t\t[(ngModel)]=\"searchStr\"\n\t\t\t\t\t\t(focus)=\"onFocus($event, searchRef)\"\n\t\t\t\t\t\t(input)=\"onInput($event, searchRef)\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div\n\t\t\t[class]=\"'s-dropdown ' + (isActive ? 's-active' : 's-unactive')\"\n\t\t\t(click)=\"onDropDownClick($event, searchRef)\">\n\t\t\t<span [class]=\"'s-dropdown-icon pi pi-chevron-' + (isActive ? 'up' : 'down')\"></span>\n\t\t</div>\n\t</div>\n\n\t<p-popover\n\t\t[style]=\"{ marginLeft, maxHeight: '75vh', overflowY: 'scroll' }\"\n\t\t(onShow)=\"onPopShow($event)\"\n\t\t(onHide)=\"onPopHide($event)\"\n\t\t#popPanel>\n\t\t<pop-panel\n\t\t\t[searchItems]=\"searchItems\"\n\t\t\t[sortOptions]=\"sortOptions\"\n\t\t\t[modelName]=\"gridOptions()?.modelName\"></pop-panel>\n\t</p-popover>\n\n\t<p-popover\n\t\t[style]=\"{ maxHeight: '75vh', overflowY: 'scroll' }\"\n\t\t(onHide)=\"onPopHide($event)\"\n\t\t#textPanel>\n\t\t<text-panel\n\t\t\t[searchItems]=\"searchItems\"\n\t\t\t[searchStr]=\"searchStr\"\n\t\t\t(strItemClick)=\"onStrItemClick($event)\"></text-panel>\n\t</p-popover>\n}\n", styles: [":host ::ng-deep .p-disabled,:host ::ng-deep .p-component:disabled{opacity:1}:host ::ng-deep .p-inputtext{border-width:0;border-radius:0;box-shadow:none;background:#fff;padding:0}:host ::ng-deep .p-inputtext:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputtext:not(:disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:not(:disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-inputtext:focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered .p-autocomplete-input:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-label{padding:0}:host ::ng-deep .p-select{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-select .p-select-dropdown{display:none}:host ::ng-deep .p-select .p-select-clear-icon{display:none}:host ::ng-deep .p-select:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-select-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select-open .p-select-dropdown{display:flex}:host ::ng-deep .p-select-open .p-select-clear-icon{display:flex}:host ::ng-deep .p-select:hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select:hover .p-select-dropdown{display:flex}:host ::ng-deep .p-select:hover .p-select-clear-icon{display:flex}:host ::ng-deep .p-select.ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-select.ng-hovered .p-select-dropdown{display:flex}:host ::ng-deep .p-select.ng-hovered .p-select-clear-icon{display:flex}:host ::ng-deep .p-multiselect-label{padding:0}:host ::ng-deep .p-multiselect{border-width:0;border-radius:0;background:#fff;box-shadow:none}:host ::ng-deep .p-multiselect .p-multiselect-dropdown{display:none}:host ::ng-deep .p-multiselect:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-multiselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect-open .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).p-focus .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled):hover .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-multiselect:not(.p-disabled).ng-hovered .p-multiselect-dropdown{display:flex}:host ::ng-deep .p-textarea{border-radius:0;box-shadow:none;padding:0;background:#fff;resize:none}:host ::ng-deep .p-textarea:not(.ng-valid).ng-dirty{background:var(--p-red-200)!important;border:1px solid var(--p-red-500)!important}:host ::ng-deep .p-textarea:not(:disabled):hover{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:not(:disabled).ng-hovered{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-textarea:focus{border:1px solid var(--p-primary-color);resize:vertical}:host ::ng-deep .p-treeselect-label{padding:0}:host ::ng-deep .p-treeselect{border-width:0;border-radius:0;box-shadow:none;background:#fff}:host ::ng-deep .p-treeselect .p-treeselect-dropdown{display:none}:host ::ng-deep .ng-invalid.ng-dirty>.p-treeselect{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-treeselect-open{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect-open .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled).p-focus .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-treeselect:not(.p-disabled):hover{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .p-treeselect:not(.p-disabled):hover .p-treeselect-dropdown{display:flex}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled){border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-hovered>.p-treeselect:not(.p-disabled) .p-treeselect-dropdown{display:flex}:host ::ng-deep .p-menubar{border-width:0;padding:0}:host ::ng-deep .p-menubar-submenu{z-index:3}:host ::ng-deep .p-fileupload-advanced{border-width:0;border-radius:0;background-color:#fff}:host ::ng-deep .p-fileupload-header{padding:0}:host ::ng-deep .p-fileupload-content{padding:0;display:block;border-width:0}:host ::ng-deep .p-inputnumber:not(.ng-valid).ng-dirty>.p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .p-inputnumber.ng-hovered:not(.p-disabled)>.p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .ng-invalid.ng-dirty>.p-datepicker .p-inputtext{background:var(--p-red-200)!important;border-bottom:1px solid var(--p-red-500)!important}:host ::ng-deep .ng-hovered>.p-datepicker:not(.p-disabled) .p-inputtext{border-bottom:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor{border:1px solid #cbd5e1}:host ::ng-deep .cm-editor.cm-focused{outline:none!important;border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor:hover{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-editor.ng-hovered{border:1px solid var(--p-primary-color)}:host ::ng-deep .cm-gutters{background-color:#fff;border:\"none\"}:host ::ng-deep .cm-activeLineGutter{background-color:#fff}.s-main{display:flex;align-items:stretch;position:relative;color:#334155}.s-active{border:1px solid var(--p-form-field-focus-border-color)}.s-unactive{border:1px solid var(--p-form-field-border-color)}.s-container{border-right-width:0;border-radius:3.5px 0 0 3.5px;padding:1.25px 0;width:100%}.s-search{color:var(--p-form-field-icon-color);padding:0 10px}.s-input-container{padding:1.25px 0}.s-input{height:30px;border-width:0;width:100%;min-width:25px}.s-input:focus{outline-width:0}.s-dropdown{width:35px;border-radius:0 3.5px 3.5px 0;display:flex;align-items:center;justify-content:center}.s-dropdown:hover{background-color:#e7e9ed;cursor:pointer}.s-dropdown-icon{color:var(--p-form-field-icon-color)}::ng-deep .p-popover.p-popover-flipped:before{display:none}::ng-deep .p-popover.p-popover-flipped:after{display:none}::ng-deep .p-popover:before{display:none}::ng-deep .p-popover:after{display:none}::ng-deep .p-popover{margin-top:2.5px}::ng-deep .p-popover-flipped{margin-top:-5px}\n"] }]
|
|
141
143
|
}], ctorParameters: () => [{ type: i1.ActionService }, { type: i2.I18nService }], propDecorators: { searchRef: [{
|
|
142
144
|
type: ViewChild,
|
|
143
145
|
args: ['searchRef', { static: false }]
|
|
@@ -148,4 +150,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
148
150
|
type: ViewChild,
|
|
149
151
|
args: ['textPanel']
|
|
150
152
|
}] } });
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvc2VhcmNoL3NlYXJjaC9zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLWVsZW1lbnQtdWkvc3JjL2xpYi9zZWFyY2gvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQXNCLE1BQU0sZUFBZSxDQUFDO0FBRTdHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUEwQzFDLE1BQU0sT0FBTyxlQUFlO0lBa0IzQixZQUNTLE1BQXFCLEVBQ3JCLElBQWlCO1FBRGpCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsU0FBSSxHQUFKLElBQUksQ0FBYTtRQWhCMUIsY0FBUyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzVCLGdCQUFXLEdBQUcsS0FBSyxFQUFlLENBQUM7UUFDbkMsZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMs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QUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdkgsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUM3QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQVU7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDOytHQWxKVyxlQUFlO21HQUFmLGVBQWUsMm5CQ3BENUIsOGtFQXdEQSx5b05EUlcsV0FBVywrbUJBQUUsaUJBQWlCLDJHQUFFLGtCQUFrQix3SEFBRSxrQkFBa0IsK0dBQUUsYUFBYSxrREFBRSxPQUFPOzs0RkFJNUYsZUFBZTtrQkFQM0IsU0FBUzsrQkFDQyxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsV0FBVyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUM7NEdBSzlELFNBQVM7c0JBQW5ELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDbEIsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUNHLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIGVmZmVjdCwgdW50cmFja2VkLCBjb21wdXRlZCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgR3JpZE9wdGlvbnMgfSBmcm9tICcuLi8uLi9ncmlkL2dyaWQvZ3JpZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQb3BQYW5lbENvbXBvbmVudCB9IGZyb20gJy4uL3BvcC1wYW5lbC9wb3AtcGFuZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGV4dFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vdGV4dC1wYW5lbC90ZXh0LXBhbmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlYXJjaFRpcENvbXBvbmVudCB9IGZyb20gJy4uL3NlYXJjaC10aXAvc2VhcmNoLXRpcC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEFjdGlvblNlcnZpY2UsIFNvcnRJdGVtIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBzZWFyY2hVdGlscyB9IGZyb20gJy4uL3NlYXJjaC11dGlscyc7XHJcbmltcG9ydCB7IFNlYXJjaCwgU29ydCB9IGZyb20gJy4uLy4uL2FtL2FtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBvcG92ZXIgfSBmcm9tICdwcmltZW5nL3BvcG92ZXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9pMThuLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IHR5cGUgU2VhcmNoVHlwZSA9ICd0ZXh0JyB8ICdsaXN0JyB8ICdzZWxlY3QnIHwgJ2RhdGUnIHwgJ251bWJlcicgfCAndHJlZSc7XHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoSXRlbU9wdGlvbiB7XHJcblx0a2V5Pzogc3RyaW5nO1xyXG5cdGxhYmVsPzogc3RyaW5nO1xyXG5cdGNoZWNrZWQ/OiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoSXRlbSB7XHJcblx0ZmllbGQ/OiBzdHJpbmc7XHJcblx0bGFiZWw/OiBzdHJpbmc7XHJcblx0c2VsZWN0ZWQ/OiBib29sZWFuO1xyXG5cdGZpbHRlcj86IGJvb2xlYW47XHJcblx0Zm9ybWF0Pzogc3RyaW5nO1xyXG5cdGZpbHRlclR5cGU/OiBTZWFyY2hUeXBlO1xyXG5cdG9wdGlvbnM/OiBTZWFyY2hJdGVtT3B0aW9uW107XHJcblx0Y2FzY2FkZT86IGJvb2xlYW47XHJcblx0Y2FzY2FkZUtleT86IHN0cmluZztcclxuXHRtdWx0aXBsZT86IGJvb2xlYW47XHJcblx0Z3JvdXA/OiBib29sZWFuO1xyXG5cdHZhbHVlPzogYW55O1xyXG5cdGZyb20/OiBzdHJpbmc7XHJcblx0dG8/OiBzdHJpbmc7XHJcblx0b3BlcmF0b3I/OiBzdHJpbmc7XHJcblx0Y2FzY2FkZUZ1bmM/OiAodmFsdWU6IGFueSkgPT4gT2JzZXJ2YWJsZTxTZWFyY2hJdGVtT3B0aW9uW10+O1xyXG5cdFtwcm9wc05hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hPcHRpb25zIHtcclxuXHRzZWFyY2hJdGVtcz86IFNlYXJjaEl0ZW1bXTtcclxuXHRtb2RlbE5hbWU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnY3VzdG9tLXNlYXJjaCcsXHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRpbXBvcnRzOiBbRm9ybXNNb2R1bGUsIFBvcFBhbmVsQ29tcG9uZW50LCBUZXh0UGFuZWxDb21wb25lbnQsIFNlYXJjaFRpcENvbXBvbmVudCwgVHJhbnNsYXRlUGlwZSwgUG9wb3Zlcl0sXHJcblx0dGVtcGxhdGVVcmw6ICcuL3NlYXJjaC5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmw6ICcuL3NlYXJjaC5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWFyY2hDb21wb25lbnQge1xyXG5cdEBWaWV3Q2hpbGQoJ3NlYXJjaFJlZicsIHsgc3RhdGljOiBmYWxzZSB9KSBzZWFyY2hSZWYhOiBFbGVtZW50UmVmO1xyXG5cdEBWaWV3Q2hpbGQoJ3BvcFBhbmVsJykgcG9wUGFuZWwhOiBQb3BvdmVyO1xyXG5cdEBWaWV3Q2hpbGQoJ3RleHRQYW5lbCcpIHRleHRQYW5lbCE6IFBvcG92ZXI7XHJcblx0c2VhcmNoUHJtID0gaW5wdXQ8U2VhcmNoPigpO1xyXG5cdGdyaWRPcHRpb25zID0gaW5wdXQ8R3JpZE9wdGlvbnM+KCk7XHJcblx0c2VhcmNoTW9kZWwgPSBjb21wdXRlZCgoKSA9PiB7XHJcblx0XHRpZiAoIXRoaXMuYWN0aW9uLnNlYXJjaE1vbml0b3IodW50cmFja2VkKCgpID0+IHRoaXMuZ3JpZE9wdGlvbnMoKT8ubW9kZWxOYW1lKSkpIHJldHVybjtcclxuXHRcdGNvbnN0IHNlYXJjaCA9IHRoaXMuYWN0aW9uLmdldFNlYXJjaCh1bnRyYWNrZWQoKCkgPT4gdGhpcy5ncmlkT3B0aW9ucygpPy5tb2RlbE5hbWUpKTtcclxuXHRcdHJldHVybiBzZWFyY2g7XHJcblx0fSk7XHJcblx0c2VhcmNoSXRlbXMhOiBTZWFyY2hJdGVtW107XHJcblx0c29ydE9wdGlvbnMhOiBTZWFyY2hJdGVtT3B0aW9uW107XHJcblx0bWFyZ2luTGVmdDogc3RyaW5nID0gJzAnO1xyXG5cdHNlYXJjaFN0ciA9ICcnO1xyXG5cdGlzQWN0aXZlID0gZmFsc2U7XHJcblx0cmVsb2FkID0gdHJ1ZTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIGFjdGlvbjogQWN0aW9uU2VydmljZSxcclxuXHRcdHByaXZhdGUgaTE4bjogSTE4blNlcnZpY2UsXHJcblx0KSB7XHJcblx0XHRlZmZlY3QoXHJcblx0XHRcdCgpID0+IHtcclxuXHRcdFx0XHRjb25zdCBjb2x1bW5EZWZzID0gdGhpcy5ncmlkT3B0aW9ucygpPy5jb2x1bW5EZWZzO1xyXG5cdFx0XHRcdHRoaXMuc2VhcmNoSXRlbXMgPSBzZWFyY2hVdGlscy5leHRyYWN0U2VhcmNoSXRlbXMoY29sdW1uRGVmcyk7XHJcblx0XHRcdFx0dGhpcy5zb3J0T3B0aW9ucyA9IGNvbHVtbkRlZnMhLm1hcCgoY29sdW1uRGVmOiBhbnkpID0+ICh7IGtleTogY29sdW1uRGVmLmZpZWxkLCBsYWJlbDogY29sdW1uRGVmLmhlYWRlck5hbWUgfSkpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHR7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0sXHJcblx0XHQpO1xyXG5cdFx0ZWZmZWN0KCgpID0+IHtcclxuXHRcdFx0Y29uc3Qgc2VhcmNoUHJtID0gdGhpcy5zZWFyY2hQcm0oKTtcclxuXHRcdFx0aWYgKHNlYXJjaFBybT8uY29sdW1uRmlsdGVycz8ubGVuZ3RoIHx8IHNlYXJjaFBybT8uZ3JvdXBzPy5sZW5ndGgpIHtcclxuXHRcdFx0XHR0aGlzLmFjdGlvbi5zZXRTZWFyY2goeyBjb2x1bW5GaWx0ZXJzOiBzZWFyY2hQcm0/LmNvbHVtbkZpbHRlcnMsIGdyb3Vwczogc2VhcmNoUHJtPy5ncm91cHMgfSwgc2VhcmNoUHJtLm1vZGVsTmFtZSk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdFx0ZWZmZWN0KFxyXG5cdFx0XHQoKSA9PiB7XHJcblx0XHRcdFx0Y29uc3Qgc2VhcmNoSXRlbSA9IHRoaXMuYWN0aW9uLmdldFNlYXJjaEl0ZW0oKTtcclxuXHRcdFx0XHRjb25zdCBtb2RlbE5hbWUgPSB1bnRyYWNrZWQoKCkgPT4gdGhpcy5ncmlkT3B0aW9ucygpPy5tb2RlbE5hbWUpO1xyXG5cdFx0XHRcdGlmIChzZWFyY2hJdGVtID09IHVuZGVmaW5lZCkgcmV0dXJuO1xyXG5cdFx0XHRcdHRoaXMuYWN0aW9uLnNldFNlYXJjaChcclxuXHRcdFx0XHRcdHNlYXJjaFV0aWxzLmNvbmNhdEZpbHRlcih0aGlzLmFjdGlvbi5nZXRTZWFyY2gobW9kZWxOYW1lKSwgc2VhcmNoVXRpbHMudHJhbnNmZXJGaWx0ZXIoc2VhcmNoSXRlbSkhKSxcclxuXHRcdFx0XHRcdG1vZGVsTmFtZSxcclxuXHRcdFx0XHQpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHR7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0sXHJcblx0XHQpO1xyXG5cdFx0ZWZmZWN0KFxyXG5cdFx0XHQoKSA9PiB7XHJcblx0XHRcdFx0Y29uc3Qgc2VhcmNoQ2xlYXIgPSB0aGlzLmFjdGlvbi5nZXRTZWFyY2hDbGVhcigpO1xyXG5cdFx0XHRcdGNvbnN0IG1vZGVsTmFtZSA9IHVudHJhY2tlZCgoKSA9PiB0aGlzLmdyaWRPcHRpb25zKCk/Lm1vZGVsTmFtZSk7XHJcblx0XHRcdFx0aWYgKHNlYXJjaENsZWFyID09IHVuZGVmaW5lZCkgcmV0dXJuO1xyXG5cdFx0XHRcdGxldCBzZWFyY2ggPSB0aGlzLmFjdGlvbi5nZXRTZWFyY2gobW9kZWxOYW1lKTtcclxuXHRcdFx0XHRzZWFyY2ggPSB7XHJcblx0XHRcdFx0XHQuLi5zZWFyY2gsXHJcblx0XHRcdFx0XHRjb2x1bW5GaWx0ZXJzOiBzZWFyY2hVdGlscy5jYXNjYWRlQ29sdW1uRmlsdGVycyhzZWFyY2hDbGVhciArICcnLCBzZWFyY2g/LmNvbHVtbkZpbHRlcnMgfHwgW10sIHRoaXMuc2VhcmNoSXRlbXMpLFxyXG5cdFx0XHRcdH07XHJcblx0XHRcdFx0dGhpcy5hY3Rpb24uc2V0U2VhcmNoKHNlYXJjaCwgbW9kZWxOYW1lKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxyXG5cdFx0KTtcclxuXHRcdGVmZmVjdChcclxuXHRcdFx0KCkgPT4ge1xyXG5cdFx0XHRcdGNvbnN0IHNvcnRJdGVtID0gdGhpcy5hY3Rpb24uZ2V0U29ydEl0ZW0oKTtcclxuXHRcdFx0XHRpZiAoc29ydEl0ZW0gPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xyXG5cdFx0XHRcdGNvbnN0IG1vZGVsTmFtZSA9IHVudHJhY2tlZCgoKSA9PiB0aGlzLmdyaWRPcHRpb25zKCk/Lm1vZGVsTmFtZSk7XHJcblx0XHRcdFx0bGV0IHNvcnRzOiBTb3J0W10gPSBzb3J0SXRlbS5maWVsZHMhLm1hcCgoZmllbGQpID0+ICh7IGZpZWxkLCBpc0FzYzogc29ydEl0ZW0hLmlzQXNjIH0pKTtcclxuXHRcdFx0XHR0aGlzLmFjdGlvbi5zZXRTZWFyY2goeyBjb2x1bW5GaWx0ZXJzOiB0aGlzLmFjdGlvbi5nZXRTZWFyY2gobW9kZWxOYW1lKT8uY29sdW1uRmlsdGVycyB8fCBbXSwgc29ydHMgfSwgbW9kZWxOYW1lKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCkge1xyXG5cdFx0dGhpcy5pMThuLmNoYW5nZS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcblx0XHRcdHRoaXMucmVsb2FkID0gZmFsc2U7XHJcblx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdHRoaXMucmVsb2FkID0gdHJ1ZTtcclxuXHRcdFx0fSwgMjAwKTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHR0aGlzLmFjdGlvbi5jbGVhcigpO1xyXG5cdH1cclxuXHJcblx0b25Gb2N1cyhldmVudDogYW55LCBzZWFyY2hSZWY6IGFueSkge1xyXG5cdFx0dGhpcy5pc0FjdGl2ZSA9IHRydWU7XHJcblx0XHRpZiAoIXRoaXMuc2VhcmNoU3RyKSB7XHJcblx0XHRcdHRoaXMucG9wUGFuZWwuc2hvdyhldmVudCwgc2VhcmNoUmVmKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMudGV4dFBhbmVsLnNob3coZXZlbnQsIHNlYXJjaFJlZik7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRvbkRyb3BEb3duQ2xpY2soZXZlbnQ6IGFueSwgc2VhcmNoUmVmOiBhbnkpIHtcclxuXHRcdHRoaXMuaXNBY3RpdmUgPSAhdGhpcy5pc0FjdGl2ZTtcclxuXHRcdGlmICghdGhpcy5zZWFyY2hTdHIpIHtcclxuXHRcdFx0dGhpcy5wb3BQYW5lbC50b2dnbGUoZXZlbnQsIHNlYXJjaFJlZik7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLnRleHRQYW5lbC50b2dnbGUoZXZlbnQsIHNlYXJjaFJlZik7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRvbklucHV0KGV2ZW50OiBhbnksIHNlYXJjaFJlZjogYW55KSB7XHJcblx0XHRpZiAoIWV2ZW50LnRhcmdldD8udmFsdWUpIHtcclxuXHRcdFx0dGhpcy5wb3BQYW5lbC5zaG93KGV2ZW50LCBzZWFyY2hSZWYpO1xyXG5cdFx0XHR0aGlzLnRleHRQYW5lbC5oaWRlKCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLnRleHRQYW5lbC5zaG93KGV2ZW50LCBzZWFyY2hSZWYpO1xyXG5cdFx0XHR0aGlzLnBvcFBhbmVsLmhpZGUoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG9uUG9wU2hvdyhldmVudDogYW55KSB7XHJcblx0XHR0aGlzLmNhbGNNYXJnaW5MZWZ0KCk7XHJcblx0fVxyXG5cclxuXHRvblBvcEhpZGUoZXZlbnQ6IGFueSkge1xyXG5cdFx0dGhpcy5pc0FjdGl2ZSA9IHRoaXMucG9wUGFuZWwub3ZlcmxheVZpc2libGUgfHwgdGhpcy5wb3BQYW5lbC5vdmVybGF5VmlzaWJsZTtcclxuXHR9XHJcblxyXG5cdGNhbGNNYXJnaW5MZWZ0KCkge1xyXG5cdFx0aWYgKCF0aGlzLnNlYXJjaFJlZikgcmV0dXJuO1xyXG5cdFx0Y29uc3Qgc2VhcmNoUmVmUmVjdCA9IHRoaXMuc2VhcmNoUmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblx0XHRjb25zdCBwYW5lbFdpZHRoID0gd2luZG93LmlubmVyV2lkdGggPiA3NjggPyA1MzUgOiAzMDU7XHJcblx0XHRjb25zdCBvZmZzZXQgPSBzZWFyY2hSZWZSZWN0LndpZHRoIC0gcGFuZWxXaWR0aCAtIDIzLjU7XHJcblx0XHR0aGlzLm1hcmdpbkxlZnQgPSBvZmZzZXQgKyAncHgnO1xyXG5cdH1cclxuXHJcblx0Z2V0U2VhcmNoSXRlbUJ5RmllbGQoZmllbGQ6IHN0cmluZykge1xyXG5cdFx0cmV0dXJuIHRoaXMuc2VhcmNoSXRlbXM/LmZpbHRlcigoc2VhcmNoSXRlbSkgPT4gc2VhcmNoSXRlbS5maWVsZCA9PSBmaWVsZClbMF07XHJcblx0fVxyXG5cclxuXHRnZXRTb3J0SXRlbUJ5U29ydHMoc29ydHM6IFNvcnRbXSk6IFNvcnRJdGVtIHwgdW5kZWZpbmVkIHtcclxuXHRcdGNvbnN0IGZpZWxkcyA9IHNvcnRzPy5tYXAoKHNvcnQpID0+IHNvcnQuZmllbGQhKTtcclxuXHRcdGNvbnN0IGxhYmVscyA9IHNvcnRzPy5tYXAoKHNvcnQpID0+IHRoaXMuc29ydE9wdGlvbnM/LmZpbmQoKHNvcnRPcHRpb24pID0+IHNvcnRPcHRpb24ua2V5ID09IHNvcnQuZmllbGQpPy5sYWJlbCB8fCAnJyk7XHJcblx0XHRjb25zdCBpc0FzYyA9IHNvcnRzWzBdLmlzQXNjO1xyXG5cdFx0cmV0dXJuIHsgZmllbGRzLCBsYWJlbHMsIGlzQXNjIH07XHJcblx0fVxyXG5cclxuXHRvblN0ckl0ZW1DbGljayhldmVudDogYW55KSB7XHJcblx0XHR0aGlzLmlzQWN0aXZlID0gZmFsc2U7XHJcblx0XHR0aGlzLnNlYXJjaFN0ciA9ICcnO1xyXG5cdFx0dGhpcy50ZXh0UGFuZWwuaGlkZSgpO1xyXG5cdH1cclxufVxyXG4iLCJAaWYgKHJlbG9hZCkge1xyXG5cdDxkaXZcclxuXHRcdCNzZWFyY2hSZWZcclxuXHRcdGNsYXNzPVwicy1tYWluXCI+XHJcblx0XHQ8ZGl2IFtjbGFzc109XCInZmxleCBpdGVtcy1jZW50ZXIgcy1jb250YWluZXIgJyArIChpc0FjdGl2ZSA/ICdzLWFjdGl2ZScgOiAncy11bmFjdGl2ZScpXCI+XHJcblx0XHRcdDxzcGFuIGNsYXNzPVwiZmxleC1ub25lIHMtc2VhcmNoIHBpIHBpLXNlYXJjaFwiPjwvc3Bhbj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImZsZXgtMSBmbGV4IGl0ZW1zLWNlbnRlciBjb250ZW50LWNlbnRlciBmbGV4LXdyYXBcIj5cclxuXHRcdFx0XHRAZm9yIChjb2x1bW5GaWx0ZXIgb2Ygc2VhcmNoTW9kZWwoKT8uY29sdW1uRmlsdGVyczsgdHJhY2sgY29sdW1uRmlsdGVyKSB7XHJcblx0XHRcdFx0XHQ8c2VhcmNoLXRpcFxyXG5cdFx0XHRcdFx0XHRbY29sdW1uRmlsdGVyXT1cImNvbHVtbkZpbHRlclwiXHJcblx0XHRcdFx0XHRcdFtzZWFyY2hJdGVtXT1cImdldFNlYXJjaEl0ZW1CeUZpZWxkKGNvbHVtbkZpbHRlci5jb2x1bW5GaWVsZCEpXCI+PC9zZWFyY2gtdGlwPlxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaWYgKHNlYXJjaE1vZGVsKCk/LnNvcnRzPy5sZW5ndGgpIHtcclxuXHRcdFx0XHRcdDxzZWFyY2gtdGlwXHJcblx0XHRcdFx0XHRcdFtzb3J0c109XCJzZWFyY2hNb2RlbCgpPy5zb3J0c1wiXHJcblx0XHRcdFx0XHRcdFtzb3J0SXRlbV09XCJnZXRTb3J0SXRlbUJ5U29ydHMoc2VhcmNoTW9kZWwoKT8uc29ydHMhKVwiPjwvc2VhcmNoLXRpcD5cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXgtMVwiPlxyXG5cdFx0XHRcdFx0PGlucHV0XHJcblx0XHRcdFx0XHRcdHR5cGU9XCJ0ZXh0XCJcclxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJzLWlucHV0XCJcclxuXHRcdFx0XHRcdFx0W3BsYWNlaG9sZGVyXT1cIidzZWFyY2guc2VhcmNoJyB8IHRyYW5zbGF0ZVwiXHJcblx0XHRcdFx0XHRcdFsobmdNb2RlbCldPVwic2VhcmNoU3RyXCJcclxuXHRcdFx0XHRcdFx0KGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50LCBzZWFyY2hSZWYpXCJcclxuXHRcdFx0XHRcdFx0KGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50LCBzZWFyY2hSZWYpXCIgLz5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L2Rpdj5cclxuXHRcdDxkaXZcclxuXHRcdFx0W2NsYXNzXT1cIidzLWRyb3Bkb3duICcgKyAoaXNBY3RpdmUgPyAncy1hY3RpdmUnIDogJ3MtdW5hY3RpdmUnKVwiXHJcblx0XHRcdChjbGljayk9XCJvbkRyb3BEb3duQ2xpY2soJGV2ZW50LCBzZWFyY2hSZWYpXCI+XHJcblx0XHRcdDxzcGFuIFtjbGFzc109XCIncy1kcm9wZG93bi1pY29uIHBpIHBpLWNoZXZyb24tJyArIChpc0FjdGl2ZSA/ICd1cCcgOiAnZG93bicpXCI+PC9zcGFuPlxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblxyXG5cdDxwLXBvcG92ZXJcclxuXHRcdFtzdHlsZV09XCJ7IG1hcmdpbkxlZnQsIG1heEhlaWdodDogJzc1dmgnLCBvdmVyZmxvd1k6ICdzY3JvbGwnIH1cIlxyXG5cdFx0KG9uU2hvdyk9XCJvblBvcFNob3coJGV2ZW50KVwiXHJcblx0XHQob25IaWRlKT1cIm9uUG9wSGlkZSgkZXZlbnQpXCJcclxuXHRcdCNwb3BQYW5lbD5cclxuXHRcdDxwb3AtcGFuZWxcclxuXHRcdFx0W3NlYXJjaEl0ZW1zXT1cInNlYXJjaEl0ZW1zXCJcclxuXHRcdFx0W3NvcnRPcHRpb25zXT1cInNvcnRPcHRpb25zXCJcclxuXHRcdFx0W21vZGVsTmFtZV09XCJncmlkT3B0aW9ucygpPy5tb2RlbE5hbWVcIj48L3BvcC1wYW5lbD5cclxuXHQ8L3AtcG9wb3Zlcj5cclxuXHJcblx0PHAtcG9wb3ZlclxyXG5cdFx0W3N0eWxlXT1cInsgbWF4SGVpZ2h0OiAnNzV2aCcsIG92ZXJmbG93WTogJ3Njcm9sbCcgfVwiXHJcblx0XHQob25IaWRlKT1cIm9uUG9wSGlkZSgkZXZlbnQpXCJcclxuXHRcdCN0ZXh0UGFuZWw+XHJcblx0XHQ8dGV4dC1wYW5lbFxyXG5cdFx0XHRbc2VhcmNoSXRlbXNdPVwic2VhcmNoSXRlbXNcIlxyXG5cdFx0XHRbc2VhcmNoU3RyXT1cInNlYXJjaFN0clwiXHJcblx0XHRcdChzdHJJdGVtQ2xpY2spPVwib25TdHJJdGVtQ2xpY2soJGV2ZW50KVwiPjwvdGV4dC1wYW5lbD5cclxuXHQ8L3AtcG9wb3Zlcj5cclxufVxyXG4iXX0=
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvc2VhcmNoL3NlYXJjaC9zZWFyY2guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLWVsZW1lbnQtdWkvc3JjL2xpYi9zZWFyY2gvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQXNCLE1BQU0sZUFBZSxDQUFDO0FBRTdHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUEwQzFDLE1BQU0sT0FBTyxlQUFlO0lBbUIzQixZQUNTLE1BQXFCLEVBQ3JCLElBQWlCO1FBRGpCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsU0FBSSxHQUFKLElBQUksQ0FBYTtRQWpCMUIsY0FBUyxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzVCLGdCQUFXLEdBQUcsS0FBSyxFQUFlLENBQUM7UUFDbkMsZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUFFLE9BQU87WUFDdkYsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ3JGLE9BQU8sTUFBTSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7UUFHSCxlQUFVLEdBQVcsR0FBRyxDQUFDO1FBQ3pCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixXQUFNLEdBQUcsSUFBSSxDQUFDO1FBTWIsTUFBTSxDQUNMLEdBQUcsRUFBRTtZQUNKLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxVQUFVLENBQUM7WUFDbEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsVUFBVSxJQUFJLElBQUksQ0FBQztZQUN0RCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNqSCxDQUFDLEVBQ0QsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FDM0IsQ0FBQztRQUNGLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDWCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkMsSUFBSSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sSUFBSSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUNuRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BILENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FDTCxHQUFHLEVBQUU7WUFDSixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQy9DLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDakUsSUFBSSxVQUFVLElBQUksU0FBUztnQkFBRSxPQUFPO1lBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUNwQixXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFFLENBQUMsRUFDbkcsU0FBUyxDQUNULENBQUM7UUFDSCxDQUFDLEVBQ0QsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FDM0IsQ0FBQztRQUNGLE1BQU0sQ0FDTCxHQUFHLEVBQUU7WUFDSixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ2pELE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDakUsSUFBSSxXQUFXLElBQUksU0FBUztnQkFBRSxPQUFPO1lBQ3JDLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlDLE1BQU0sR0FBRztnQkFDUixHQUFHLE1BQU07Z0JBQ1QsYUFBYSxFQUFFLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxhQUFhLElBQUksRUFBRSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUM7YUFDaEgsQ0FBQztZQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUMxQyxDQUFDLEVBQ0QsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FDM0IsQ0FBQztRQUNGLE1BQU0sQ0FDTCxHQUFHLEVBQUU7WUFDSixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzNDLElBQUksUUFBUSxLQUFLLFNBQVM7Z0JBQUUsT0FBTztZQUNuQyxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ2pFLElBQUksS0FBSyxHQUFXLFFBQVEsQ0FBQyxNQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3pGLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLGFBQWEsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbkgsQ0FBQyxFQUNELEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQzNCLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDcEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ1QsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFVLEVBQUUsU0FBYztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN0QyxDQUFDO2FBQU0sQ0FBQztZQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN2QyxDQUFDO0lBQ0YsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFVLEVBQUUsU0FBYztRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4QyxDQUFDO2FBQU0sQ0FBQztZQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN6QyxDQUFDO0lBQ0YsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFVLEVBQUUsU0FBYztRQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixDQUFDO2FBQU0sQ0FBQztZQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLENBQUM7SUFDRixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO0lBQzlFLENBQUM7SUFFRCxjQUFjO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUM1QixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzNFLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUN2RCxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsS0FBSyxHQUFHLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkQsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxLQUFhO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQWE7UUFDL0IsTUFBTSxNQUFNLEdBQUcsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQU0sQ0FBQyxDQUFDO1FBQ2pELE1BQU0sTUFBTSxHQUFHLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdkgsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUM3QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQVU7UUFDeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDOytHQXBKVyxlQUFlO21HQUFmLGVBQWUsMm5CQ3BENUIseStEQXdEQSx5b05EUlcsV0FBVywrbUJBQUUsaUJBQWlCLDJHQUFFLGtCQUFrQix3SEFBRSxrQkFBa0IsK0dBQUUsYUFBYSxrREFBRSxPQUFPOzs0RkFJNUYsZUFBZTtrQkFQM0IsU0FBUzsrQkFDQyxlQUFlLGNBQ2IsSUFBSSxXQUNQLENBQUMsV0FBVyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUM7NEdBSzlELFNBQVM7c0JBQW5ELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDbEIsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUNHLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIGVmZmVjdCwgdW50cmFja2VkLCBjb21wdXRlZCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdyaWRPcHRpb25zIH0gZnJvbSAnLi4vLi4vZ3JpZC9ncmlkL2dyaWQuY29tcG9uZW50JztcbmltcG9ydCB7IFBvcFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vcG9wLXBhbmVsL3BvcC1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vdGV4dC1wYW5lbC90ZXh0LXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hUaXBDb21wb25lbnQgfSBmcm9tICcuLi9zZWFyY2gtdGlwL3NlYXJjaC10aXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEFjdGlvblNlcnZpY2UsIFNvcnRJdGVtIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHNlYXJjaFV0aWxzIH0gZnJvbSAnLi4vc2VhcmNoLXV0aWxzJztcbmltcG9ydCB7IFNlYXJjaCwgU29ydCB9IGZyb20gJy4uLy4uL2FtL2FtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb3BvdmVyIH0gZnJvbSAncHJpbWVuZy9wb3BvdmVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9pMThuLnNlcnZpY2UnO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hUeXBlID0gJ3RleHQnIHwgJ2xpc3QnIHwgJ3NlbGVjdCcgfCAnZGF0ZScgfCAnbnVtYmVyJyB8ICd0cmVlJztcbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoSXRlbU9wdGlvbiB7XG5cdGtleT86IHN0cmluZztcblx0bGFiZWw/OiBzdHJpbmc7XG5cdGNoZWNrZWQ/OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hJdGVtIHtcblx0ZmllbGQ/OiBzdHJpbmc7XG5cdGxhYmVsPzogc3RyaW5nO1xuXHRzZWxlY3RlZD86IGJvb2xlYW47XG5cdGZpbHRlcj86IGJvb2xlYW47XG5cdGZvcm1hdD86IHN0cmluZztcblx0ZmlsdGVyVHlwZT86IFNlYXJjaFR5cGU7XG5cdG9wdGlvbnM/OiBTZWFyY2hJdGVtT3B0aW9uW107XG5cdGNhc2NhZGU/OiBib29sZWFuO1xuXHRjYXNjYWRlS2V5Pzogc3RyaW5nO1xuXHRtdWx0aXBsZT86IGJvb2xlYW47XG5cdGdyb3VwPzogYm9vbGVhbjtcblx0dmFsdWU/OiBhbnk7XG5cdGZyb20/OiBzdHJpbmc7XG5cdHRvPzogc3RyaW5nO1xuXHRvcGVyYXRvcj86IHN0cmluZztcblx0Y2FzY2FkZUZ1bmM/OiAodmFsdWU6IGFueSkgPT4gT2JzZXJ2YWJsZTxTZWFyY2hJdGVtT3B0aW9uW10+O1xuXHRbcHJvcHNOYW1lOiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoT3B0aW9ucyB7XG5cdHNlYXJjaEl0ZW1zPzogU2VhcmNoSXRlbVtdO1xuXHRtb2RlbE5hbWU/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2N1c3RvbS1zZWFyY2gnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbRm9ybXNNb2R1bGUsIFBvcFBhbmVsQ29tcG9uZW50LCBUZXh0UGFuZWxDb21wb25lbnQsIFNlYXJjaFRpcENvbXBvbmVudCwgVHJhbnNsYXRlUGlwZSwgUG9wb3Zlcl0sXG5cdHRlbXBsYXRlVXJsOiAnLi9zZWFyY2guY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybDogJy4vc2VhcmNoLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoQ29tcG9uZW50IHtcblx0QFZpZXdDaGlsZCgnc2VhcmNoUmVmJywgeyBzdGF0aWM6IGZhbHNlIH0pIHNlYXJjaFJlZiE6IEVsZW1lbnRSZWY7XG5cdEBWaWV3Q2hpbGQoJ3BvcFBhbmVsJykgcG9wUGFuZWwhOiBQb3BvdmVyO1xuXHRAVmlld0NoaWxkKCd0ZXh0UGFuZWwnKSB0ZXh0UGFuZWwhOiBQb3BvdmVyO1xuXHRzZWFyY2hQcm0gPSBpbnB1dDxTZWFyY2g+KCk7XG5cdGdyaWRPcHRpb25zID0gaW5wdXQ8R3JpZE9wdGlvbnM+KCk7XG5cdHNlYXJjaE1vZGVsID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGlmICghdGhpcy5hY3Rpb24uc2VhcmNoTW9uaXRvcih1bnRyYWNrZWQoKCkgPT4gdGhpcy5ncmlkT3B0aW9ucygpPy5tb2RlbE5hbWUpKSkgcmV0dXJuO1xuXHRcdGNvbnN0IHNlYXJjaCA9IHRoaXMuYWN0aW9uLmdldFNlYXJjaCh1bnRyYWNrZWQoKCkgPT4gdGhpcy5ncmlkT3B0aW9ucygpPy5tb2RlbE5hbWUpKTtcblx0XHRyZXR1cm4gc2VhcmNoO1xuXHR9KTtcblx0c2VhcmNoSXRlbXMhOiBTZWFyY2hJdGVtW107XG5cdHNvcnRPcHRpb25zITogU2VhcmNoSXRlbU9wdGlvbltdO1xuXHRtYXJnaW5MZWZ0OiBzdHJpbmcgPSAnMCc7XG5cdHNlYXJjaFN0ciA9ICcnO1xuXHRpc0FjdGl2ZSA9IGZhbHNlO1xuXHR2aXNpYmxlID0gdHJ1ZTtcblx0cmVsb2FkID0gdHJ1ZTtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIGFjdGlvbjogQWN0aW9uU2VydmljZSxcblx0XHRwcml2YXRlIGkxOG46IEkxOG5TZXJ2aWNlLFxuXHQpIHtcblx0XHRlZmZlY3QoXG5cdFx0XHQoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGNvbHVtbkRlZnMgPSB0aGlzLmdyaWRPcHRpb25zKCk/LmNvbHVtbkRlZnM7XG5cdFx0XHRcdHRoaXMudmlzaWJsZSA9IHRoaXMuZ3JpZE9wdGlvbnMoKT8uc2hvd1NlYXJjaCA/PyB0cnVlO1xuXHRcdFx0XHR0aGlzLnNlYXJjaEl0ZW1zID0gc2VhcmNoVXRpbHMuZXh0cmFjdFNlYXJjaEl0ZW1zKGNvbHVtbkRlZnMpO1xuXHRcdFx0XHR0aGlzLnNvcnRPcHRpb25zID0gY29sdW1uRGVmcyEubWFwKChjb2x1bW5EZWY6IGFueSkgPT4gKHsga2V5OiBjb2x1bW5EZWYuZmllbGQsIGxhYmVsOiBjb2x1bW5EZWYuaGVhZGVyTmFtZSB9KSk7XG5cdFx0XHR9LFxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuXHRcdCk7XG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IHNlYXJjaFBybSA9IHRoaXMuc2VhcmNoUHJtKCk7XG5cdFx0XHRpZiAoc2VhcmNoUHJtPy5jb2x1bW5GaWx0ZXJzPy5sZW5ndGggfHwgc2VhcmNoUHJtPy5ncm91cHM/Lmxlbmd0aCkge1xuXHRcdFx0XHR0aGlzLmFjdGlvbi5zZXRTZWFyY2goeyBjb2x1bW5GaWx0ZXJzOiBzZWFyY2hQcm0/LmNvbHVtbkZpbHRlcnMsIGdyb3Vwczogc2VhcmNoUHJtPy5ncm91cHMgfSwgc2VhcmNoUHJtLm1vZGVsTmFtZSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0ZWZmZWN0KFxuXHRcdFx0KCkgPT4ge1xuXHRcdFx0XHRjb25zdCBzZWFyY2hJdGVtID0gdGhpcy5hY3Rpb24uZ2V0U2VhcmNoSXRlbSgpO1xuXHRcdFx0XHRjb25zdCBtb2RlbE5hbWUgPSB1bnRyYWNrZWQoKCkgPT4gdGhpcy5ncmlkT3B0aW9ucygpPy5tb2RlbE5hbWUpO1xuXHRcdFx0XHRpZiAoc2VhcmNoSXRlbSA9PSB1bmRlZmluZWQpIHJldHVybjtcblx0XHRcdFx0dGhpcy5hY3Rpb24uc2V0U2VhcmNoKFxuXHRcdFx0XHRcdHNlYXJjaFV0aWxzLmNvbmNhdEZpbHRlcih0aGlzLmFjdGlvbi5nZXRTZWFyY2gobW9kZWxOYW1lKSwgc2VhcmNoVXRpbHMudHJhbnNmZXJGaWx0ZXIoc2VhcmNoSXRlbSkhKSxcblx0XHRcdFx0XHRtb2RlbE5hbWUsXG5cdFx0XHRcdCk7XG5cdFx0XHR9LFxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuXHRcdCk7XG5cdFx0ZWZmZWN0KFxuXHRcdFx0KCkgPT4ge1xuXHRcdFx0XHRjb25zdCBzZWFyY2hDbGVhciA9IHRoaXMuYWN0aW9uLmdldFNlYXJjaENsZWFyKCk7XG5cdFx0XHRcdGNvbnN0IG1vZGVsTmFtZSA9IHVudHJhY2tlZCgoKSA9PiB0aGlzLmdyaWRPcHRpb25zKCk/Lm1vZGVsTmFtZSk7XG5cdFx0XHRcdGlmIChzZWFyY2hDbGVhciA9PSB1bmRlZmluZWQpIHJldHVybjtcblx0XHRcdFx0bGV0IHNlYXJjaCA9IHRoaXMuYWN0aW9uLmdldFNlYXJjaChtb2RlbE5hbWUpO1xuXHRcdFx0XHRzZWFyY2ggPSB7XG5cdFx0XHRcdFx0Li4uc2VhcmNoLFxuXHRcdFx0XHRcdGNvbHVtbkZpbHRlcnM6IHNlYXJjaFV0aWxzLmNhc2NhZGVDb2x1bW5GaWx0ZXJzKHNlYXJjaENsZWFyICsgJycsIHNlYXJjaD8uY29sdW1uRmlsdGVycyB8fCBbXSwgdGhpcy5zZWFyY2hJdGVtcyksXG5cdFx0XHRcdH07XG5cdFx0XHRcdHRoaXMuYWN0aW9uLnNldFNlYXJjaChzZWFyY2gsIG1vZGVsTmFtZSk7XG5cdFx0XHR9LFxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuXHRcdCk7XG5cdFx0ZWZmZWN0KFxuXHRcdFx0KCkgPT4ge1xuXHRcdFx0XHRjb25zdCBzb3J0SXRlbSA9IHRoaXMuYWN0aW9uLmdldFNvcnRJdGVtKCk7XG5cdFx0XHRcdGlmIChzb3J0SXRlbSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG5cdFx0XHRcdGNvbnN0IG1vZGVsTmFtZSA9IHVudHJhY2tlZCgoKSA9PiB0aGlzLmdyaWRPcHRpb25zKCk/Lm1vZGVsTmFtZSk7XG5cdFx0XHRcdGxldCBzb3J0czogU29ydFtdID0gc29ydEl0ZW0uZmllbGRzIS5tYXAoKGZpZWxkKSA9PiAoeyBmaWVsZCwgaXNBc2M6IHNvcnRJdGVtIS5pc0FzYyB9KSk7XG5cdFx0XHRcdHRoaXMuYWN0aW9uLnNldFNlYXJjaCh7IGNvbHVtbkZpbHRlcnM6IHRoaXMuYWN0aW9uLmdldFNlYXJjaChtb2RlbE5hbWUpPy5jb2x1bW5GaWx0ZXJzIHx8IFtdLCBzb3J0cyB9LCBtb2RlbE5hbWUpO1xuXHRcdFx0fSxcblx0XHRcdHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcblx0XHQpO1xuXHR9XG5cblx0bmdPbkluaXQoKSB7XG5cdFx0dGhpcy5pMThuLmNoYW5nZS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG5cdFx0XHR0aGlzLnJlbG9hZCA9IGZhbHNlO1xuXHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRcdHRoaXMucmVsb2FkID0gdHJ1ZTtcblx0XHRcdH0sIDIwMCk7XG5cdFx0fSk7XG5cdH1cblxuXHRuZ09uRGVzdHJveSgpIHtcblx0XHR0aGlzLmFjdGlvbi5jbGVhcigpO1xuXHR9XG5cblx0b25Gb2N1cyhldmVudDogYW55LCBzZWFyY2hSZWY6IGFueSkge1xuXHRcdHRoaXMuaXNBY3RpdmUgPSB0cnVlO1xuXHRcdGlmICghdGhpcy5zZWFyY2hTdHIpIHtcblx0XHRcdHRoaXMucG9wUGFuZWwuc2hvdyhldmVudCwgc2VhcmNoUmVmKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy50ZXh0UGFuZWwuc2hvdyhldmVudCwgc2VhcmNoUmVmKTtcblx0XHR9XG5cdH1cblxuXHRvbkRyb3BEb3duQ2xpY2soZXZlbnQ6IGFueSwgc2VhcmNoUmVmOiBhbnkpIHtcblx0XHR0aGlzLmlzQWN0aXZlID0gIXRoaXMuaXNBY3RpdmU7XG5cdFx0aWYgKCF0aGlzLnNlYXJjaFN0cikge1xuXHRcdFx0dGhpcy5wb3BQYW5lbC50b2dnbGUoZXZlbnQsIHNlYXJjaFJlZik7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMudGV4dFBhbmVsLnRvZ2dsZShldmVudCwgc2VhcmNoUmVmKTtcblx0XHR9XG5cdH1cblxuXHRvbklucHV0KGV2ZW50OiBhbnksIHNlYXJjaFJlZjogYW55KSB7XG5cdFx0aWYgKCFldmVudC50YXJnZXQ/LnZhbHVlKSB7XG5cdFx0XHR0aGlzLnBvcFBhbmVsLnNob3coZXZlbnQsIHNlYXJjaFJlZik7XG5cdFx0XHR0aGlzLnRleHRQYW5lbC5oaWRlKCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMudGV4dFBhbmVsLnNob3coZXZlbnQsIHNlYXJjaFJlZik7XG5cdFx0XHR0aGlzLnBvcFBhbmVsLmhpZGUoKTtcblx0XHR9XG5cdH1cblxuXHRvblBvcFNob3coZXZlbnQ6IGFueSkge1xuXHRcdHRoaXMuY2FsY01hcmdpbkxlZnQoKTtcblx0fVxuXG5cdG9uUG9wSGlkZShldmVudDogYW55KSB7XG5cdFx0dGhpcy5pc0FjdGl2ZSA9IHRoaXMucG9wUGFuZWwub3ZlcmxheVZpc2libGUgfHwgdGhpcy5wb3BQYW5lbC5vdmVybGF5VmlzaWJsZTtcblx0fVxuXG5cdGNhbGNNYXJnaW5MZWZ0KCkge1xuXHRcdGlmICghdGhpcy5zZWFyY2hSZWYpIHJldHVybjtcblx0XHRjb25zdCBzZWFyY2hSZWZSZWN0ID0gdGhpcy5zZWFyY2hSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblx0XHRjb25zdCBwYW5lbFdpZHRoID0gd2luZG93LmlubmVyV2lkdGggPiA3NjggPyA1MzUgOiAzMDU7XG5cdFx0Y29uc3Qgb2Zmc2V0ID0gc2VhcmNoUmVmUmVjdC53aWR0aCAtIHBhbmVsV2lkdGggLSAyMy41O1xuXHRcdHRoaXMubWFyZ2luTGVmdCA9IG9mZnNldCArICdweCc7XG5cdH1cblxuXHRnZXRTZWFyY2hJdGVtQnlGaWVsZChmaWVsZDogc3RyaW5nKSB7XG5cdFx0cmV0dXJuIHRoaXMuc2VhcmNoSXRlbXM/LmZpbHRlcigoc2VhcmNoSXRlbSkgPT4gc2VhcmNoSXRlbS5maWVsZCA9PSBmaWVsZClbMF07XG5cdH1cblxuXHRnZXRTb3J0SXRlbUJ5U29ydHMoc29ydHM6IFNvcnRbXSk6IFNvcnRJdGVtIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBmaWVsZHMgPSBzb3J0cz8ubWFwKChzb3J0KSA9PiBzb3J0LmZpZWxkISk7XG5cdFx0Y29uc3QgbGFiZWxzID0gc29ydHM/Lm1hcCgoc29ydCkgPT4gdGhpcy5zb3J0T3B0aW9ucz8uZmluZCgoc29ydE9wdGlvbikgPT4gc29ydE9wdGlvbi5rZXkgPT0gc29ydC5maWVsZCk/LmxhYmVsIHx8ICcnKTtcblx0XHRjb25zdCBpc0FzYyA9IHNvcnRzWzBdLmlzQXNjO1xuXHRcdHJldHVybiB7IGZpZWxkcywgbGFiZWxzLCBpc0FzYyB9O1xuXHR9XG5cblx0b25TdHJJdGVtQ2xpY2soZXZlbnQ6IGFueSkge1xuXHRcdHRoaXMuaXNBY3RpdmUgPSBmYWxzZTtcblx0XHR0aGlzLnNlYXJjaFN0ciA9ICcnO1xuXHRcdHRoaXMudGV4dFBhbmVsLmhpZGUoKTtcblx0fVxufVxuIiwiQGlmICh2aXNpYmxlICYmIHJlbG9hZCkge1xuXHQ8ZGl2XG5cdFx0I3NlYXJjaFJlZlxuXHRcdGNsYXNzPVwicy1tYWluXCI+XG5cdFx0PGRpdiBbY2xhc3NdPVwiJ2ZsZXggaXRlbXMtY2VudGVyIHMtY29udGFpbmVyICcgKyAoaXNBY3RpdmUgPyAncy1hY3RpdmUnIDogJ3MtdW5hY3RpdmUnKVwiPlxuXHRcdFx0PHNwYW4gY2xhc3M9XCJmbGV4LW5vbmUgcy1zZWFyY2ggcGkgcGktc2VhcmNoXCI+PC9zcGFuPlxuXHRcdFx0PGRpdiBjbGFzcz1cImZsZXgtMSBmbGV4IGl0ZW1zLWNlbnRlciBjb250ZW50LWNlbnRlciBmbGV4LXdyYXBcIj5cblx0XHRcdFx0QGZvciAoY29sdW1uRmlsdGVyIG9mIHNlYXJjaE1vZGVsKCk/LmNvbHVtbkZpbHRlcnM7IHRyYWNrIGNvbHVtbkZpbHRlcikge1xuXHRcdFx0XHRcdDxzZWFyY2gtdGlwXG5cdFx0XHRcdFx0XHRbY29sdW1uRmlsdGVyXT1cImNvbHVtbkZpbHRlclwiXG5cdFx0XHRcdFx0XHRbc2VhcmNoSXRlbV09XCJnZXRTZWFyY2hJdGVtQnlGaWVsZChjb2x1bW5GaWx0ZXIuY29sdW1uRmllbGQhKVwiPjwvc2VhcmNoLXRpcD5cblx0XHRcdFx0fVxuXHRcdFx0XHRAaWYgKHNlYXJjaE1vZGVsKCk/LnNvcnRzPy5sZW5ndGgpIHtcblx0XHRcdFx0XHQ8c2VhcmNoLXRpcFxuXHRcdFx0XHRcdFx0W3NvcnRzXT1cInNlYXJjaE1vZGVsKCk/LnNvcnRzXCJcblx0XHRcdFx0XHRcdFtzb3J0SXRlbV09XCJnZXRTb3J0SXRlbUJ5U29ydHMoc2VhcmNoTW9kZWwoKT8uc29ydHMhKVwiPjwvc2VhcmNoLXRpcD5cblx0XHRcdFx0fVxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleC0xXCI+XG5cdFx0XHRcdFx0PGlucHV0XG5cdFx0XHRcdFx0XHR0eXBlPVwidGV4dFwiXG5cdFx0XHRcdFx0XHRjbGFzcz1cInMtaW5wdXRcIlxuXHRcdFx0XHRcdFx0W3BsYWNlaG9sZGVyXT1cIidzZWFyY2guc2VhcmNoJyB8IHRyYW5zbGF0ZVwiXG5cdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cInNlYXJjaFN0clwiXG5cdFx0XHRcdFx0XHQoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQsIHNlYXJjaFJlZilcIlxuXHRcdFx0XHRcdFx0KGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50LCBzZWFyY2hSZWYpXCIgLz5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2XG5cdFx0XHRbY2xhc3NdPVwiJ3MtZHJvcGRvd24gJyArIChpc0FjdGl2ZSA/ICdzLWFjdGl2ZScgOiAncy11bmFjdGl2ZScpXCJcblx0XHRcdChjbGljayk9XCJvbkRyb3BEb3duQ2xpY2soJGV2ZW50LCBzZWFyY2hSZWYpXCI+XG5cdFx0XHQ8c3BhbiBbY2xhc3NdPVwiJ3MtZHJvcGRvd24taWNvbiBwaSBwaS1jaGV2cm9uLScgKyAoaXNBY3RpdmUgPyAndXAnIDogJ2Rvd24nKVwiPjwvc3Bhbj5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG5cblx0PHAtcG9wb3ZlclxuXHRcdFtzdHlsZV09XCJ7IG1hcmdpbkxlZnQsIG1heEhlaWdodDogJzc1dmgnLCBvdmVyZmxvd1k6ICdzY3JvbGwnIH1cIlxuXHRcdChvblNob3cpPVwib25Qb3BTaG93KCRldmVudClcIlxuXHRcdChvbkhpZGUpPVwib25Qb3BIaWRlKCRldmVudClcIlxuXHRcdCNwb3BQYW5lbD5cblx0XHQ8cG9wLXBhbmVsXG5cdFx0XHRbc2VhcmNoSXRlbXNdPVwic2VhcmNoSXRlbXNcIlxuXHRcdFx0W3NvcnRPcHRpb25zXT1cInNvcnRPcHRpb25zXCJcblx0XHRcdFttb2RlbE5hbWVdPVwiZ3JpZE9wdGlvbnMoKT8ubW9kZWxOYW1lXCI+PC9wb3AtcGFuZWw+XG5cdDwvcC1wb3BvdmVyPlxuXG5cdDxwLXBvcG92ZXJcblx0XHRbc3R5bGVdPVwieyBtYXhIZWlnaHQ6ICc3NXZoJywgb3ZlcmZsb3dZOiAnc2Nyb2xsJyB9XCJcblx0XHQob25IaWRlKT1cIm9uUG9wSGlkZSgkZXZlbnQpXCJcblx0XHQjdGV4dFBhbmVsPlxuXHRcdDx0ZXh0LXBhbmVsXG5cdFx0XHRbc2VhcmNoSXRlbXNdPVwic2VhcmNoSXRlbXNcIlxuXHRcdFx0W3NlYXJjaFN0cl09XCJzZWFyY2hTdHJcIlxuXHRcdFx0KHN0ckl0ZW1DbGljayk9XCJvblN0ckl0ZW1DbGljaygkZXZlbnQpXCI+PC90ZXh0LXBhbmVsPlxuXHQ8L3AtcG9wb3Zlcj5cbn1cbiJdfQ==
|
|
@@ -118,7 +118,7 @@ export class StepsComponent {
|
|
|
118
118
|
}
|
|
119
119
|
if (value == this.current()) {
|
|
120
120
|
result.push('step-active');
|
|
121
|
-
result.push('md:flex-none flex-1');
|
|
121
|
+
// result.push('md:flex-none flex-1');
|
|
122
122
|
}
|
|
123
123
|
return result.join(' ');
|
|
124
124
|
}
|
|
@@ -212,4 +212,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
212
212
|
type: HostListener,
|
|
213
213
|
args: ['window:resize', ['$event']]
|
|
214
214
|
}] } });
|
|
215
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLWVsZW1lbnQtdWkvc3JjL2xpYi9zdGVwcy9zdGVwcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL3N0ZXBzL3N0ZXBzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBYyxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzSSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBYzFELE1BQU0sT0FBTyxjQUFjO0lBK0IxQixRQUFRO1FBQ1AsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsWUFBb0IsUUFBbUI7UUFBbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQWxDdkMsYUFBUSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNqQyxzQkFBaUIsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDekMsVUFBSyxHQUFHLEtBQUssQ0FBcUIsU0FBUyxDQUFDLENBQUM7UUFDN0MsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzVCLElB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QUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRCxDQUFDO2FBQU0sQ0FBQztZQUNQLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2hELENBQUM7YUFBTSxDQUFDO1lBQ1AsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdkMsQ0FBQzsrR0E3TVcsY0FBYzttR0FBZCxjQUFjLGlqQ0NuQjNCLHkvREEyREEsbWtERDVDVyxXQUFXLDhCQUFFLGFBQWEsNGtDQUFFLE9BQU87OzRGQUlqQyxjQUFjO2tCQVAxQixTQUFTOytCQUNDLGNBQWMsY0FDWixJQUFJLFdBQ1AsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQzs4RUFLSCxZQUFZO3NCQUF0RCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBOEJ6QyxRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgZWZmZWN0LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIGluamVjdCwgaW5wdXQsIG91dHB1dCwgUmVuZGVyZXIyLCBzaWduYWwsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IExpc3Rib3hNb2R1bGUgfSBmcm9tICdwcmltZW5nL2xpc3Rib3gnO1xuaW1wb3J0IHsgUG9wb3ZlciB9IGZyb20gJ3ByaW1lbmcvcG9wb3Zlcic7XG5pbXBvcnQgeyB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5leHBvcnQgaW50ZXJmYWNlIFN0ZXAge1xuXHRsYWJlbDogc3RyaW5nO1xuXHRpMThuS2V5Pzogc3RyaW5nO1xuXHR2YWx1ZTogbnVtYmVyIHwgJ3N0YXJ0JyB8ICdlbmQnO1xufVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdjdXN0b20tc3RlcHMnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbRm9ybXNNb2R1bGUsIExpc3Rib3hNb2R1bGUsIFBvcG92ZXJdLFxuXHR0ZW1wbGF0ZVVybDogJy4vc3RlcHMuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybDogJy4vc3RlcHMuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBTdGVwc0NvbXBvbmVudCB7XG5cdEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250YWluZXJSZWYhOiBFbGVtZW50UmVmO1xuXHRtb2RlbExvZyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblx0bmVlZFNlbGZBZGp1c3RpbmcgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcblx0c3RlcHMgPSBpbnB1dDxTdGVwW10gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cdGRpc3BsYXlTdGVwcyA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRpZiAodGhpcy5zdGVwcygpID09PSB1bmRlZmluZWQpIHJldHVybiBbXTtcblx0XHRjb25zdCBzdGVwcyA9IFsuLi50aGlzLnN0ZXBzKCkhXTtcblx0XHRzdGVwcy51bnNoaWZ0KHsgdmFsdWU6ICdzdGFydCcsIGxhYmVsOiAnLi4uJyB9KTtcblx0XHRzdGVwcy5wdXNoKHsgdmFsdWU6ICdlbmQnLCBsYWJlbDogJy4uLicgfSk7XG5cdFx0cmV0dXJuIHN0ZXBzLmZpbHRlcigoc3RlcCkgPT4gIXRoaXMuZXhjbHVkZVZhbHVlcygpLmluY2x1ZGVzKHN0ZXAudmFsdWUpKTtcblx0fSk7XG5cdGV4Y2x1ZGVWYWx1ZXMgPSBzaWduYWw8KG51bWJlciB8ICdzdGFydCcgfCAnZW5kJylbXT4oW10pO1xuXHRjdXJyZW50ID0gaW5wdXQ8bnVtYmVyPigyKTtcblx0aTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cdGNoYW5nZSA9IG91dHB1dDxudW1iZXI+KCk7XG5cdGF1dGhMZXZlbCA9IGlucHV0PG51bWJlcj4oLTEpO1xuXHRpc0NsaWNrID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG5cblx0d2lkdGhMaXN0OiBudW1iZXJbXSA9IFtdO1xuXHRTVEFSVF9CVVRUT05fV0lEVEggPSAzMjtcblx0RU5EX0JVVFRPTl9XSURUSCA9IDQ3O1xuXHRTVEVQX0lURU1fTUFSR0lOID0gMjtcblxuXHRzdGFydEluZGV4ID0gMDtcblx0ZW5kSW5kZXggPSAwO1xuXHRzdGFydFN0ZXBzOiBTdGVwW10gPSBbXTtcblx0ZW5kU3RlcHM6IFN0ZXBbXSA9IFtdO1xuXHRtYXhXaWR0aCA9IDA7XG5cblx0QEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG5cdG9uUmVzaXplKCkge1xuXHRcdHRoaXMuY2FsY01heFdpZHRoKCk7XG5cdFx0dGhpcy5yZWZyZXNoU3RlcHMoKTtcblx0fVxuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuXHRcdGVmZmVjdChcblx0XHRcdCgpID0+IHtcblx0XHRcdFx0bGV0IGN1cnJlbnQgPSB0aGlzLmN1cnJlbnQoKTtcblx0XHRcdFx0aWYgKGN1cnJlbnQgIT0gMCAmJiB0aGlzLnN0ZXBzKCkhLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0XHR0aGlzLnJlZnJlc2hTdGVwcygpO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuXHRcdCk7XG5cdFx0Y29uc3Qgc3RlcHMkID0gdG9PYnNlcnZhYmxlKHRoaXMuc3RlcHMpLnN1YnNjcmliZSgoc3RlcHMpID0+IHtcblx0XHRcdGlmIChzdGVwcyA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG5cdFx0XHR0aGlzLmluaXRTdGVwcygpO1xuXHRcdFx0c3RlcHMkLnVuc3Vic2NyaWJlKCk7XG5cdFx0fSk7XG5cdH1cblxuXHRpbml0U3RlcHMoKSB7XG5cdFx0dGhpcy5jYWxjTWF4V2lkdGgoKTtcblx0XHR0aGlzLmluaXRXaWR0aExpc3QoKTtcblx0XHR0aGlzLnJlZnJlc2hTdGVwcygpO1xuXHR9XG5cblx0cmVmcmVzaFN0ZXBzKCkge1xuXHRcdHRoaXMuYWx0ZXJuYXRlV2lkdGhMaXN0KCk7XG5cdFx0dGhpcy5oYW5kbGVTdGVwcygpO1xuXHR9XG5cblx0aW5pdFdpZHRoTGlzdCgpIHtcblx0XHR0aGlzLndpZHRoTGlzdCA9IFtdO1xuXHRcdGNvbnN0IGNoaWxkcmVuID0gdGhpcy5yZW5kZXJlci5wYXJlbnROb2RlKHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQpLmNoaWxkcmVuWzBdLmNoaWxkcmVuO1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcblx0XHRcdGlmICghY2hpbGRyZW5baV0uY2xhc3NMaXN0LmNvbnRhaW5zKCdzdGVwLWl0ZW0nKSkge1xuXHRcdFx0XHRjb250aW51ZTtcblx0XHRcdH1cblx0XHRcdGlmIChjaGlsZHJlbltpXS5jbGFzc0xpc3QuY29udGFpbnMoJ3N0YXJ0LWl0ZW0nKSkge1xuXHRcdFx0XHRjb250aW51ZTtcblx0XHRcdH1cblx0XHRcdGlmIChjaGlsZHJlbltpXS5jbGFzc0xpc3QuY29udGFpbnMoJ2VuZC1pdGVtJykpIHtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHR9XG5cdFx0XHR0aGlzLndpZHRoTGlzdC5wdXNoKChjaGlsZHJlbltpXS5vZmZzZXRXaWR0aCB8fCAwKSArIHRoaXMuU1RFUF9JVEVNX01BUkdJTik7XG5cdFx0fVxuXHR9XG5cblx0Y2FsY01heFdpZHRoKCkge1xuXHRcdGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IDc2OCkge1xuXHRcdFx0dGhpcy5tYXhXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoICogMC45Njtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0aWYgKCF0aGlzLm1vZGVsTG9nKCkpIHtcblx0XHRcdHRoaXMubWF4V2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aCAqIDAuNjQ7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGNvbnN0IGNlbnRlcldpZHRoID0gd2luZG93LmlubmVyV2lkdGggPCAxMDI0ID8gd2luZG93LmlubmVyV2lkdGggLSA0MDAgOiB3aW5kb3cuaW5uZXJXaWR0aCAtIDMwMDtcblx0XHR0aGlzLm1heFdpZHRoID0gY2VudGVyV2lkdGggKiAwLjY0O1xuXHR9XG5cblx0c2hvd1N0YXJ0U3RlcHMoZXZlbnQ6IGFueSwgc3RhcnRPcDogYW55KSB7XG5cdFx0aWYgKHRoaXMuYXV0aExldmVsKCkgPCA0KSByZXR1cm47XG5cdFx0c3RhcnRPcC50b2dnbGUoZXZlbnQpO1xuXHR9XG5cblx0c2hvd0VuZFN0ZXBzKGV2ZW50OiBhbnksIGVuZE9wOiBhbnkpIHtcblx0XHRpZiAodGhpcy5hdXRoTGV2ZWwoKSA8IDQpIHJldHVybjtcblx0XHRlbmRPcC50b2dnbGUoZXZlbnQpO1xuXHR9XG5cblx0Z2V0Q2xhc3MoaTogbnVtYmVyLCBjbGFzc2VzOiBzdHJpbmdbXSkge1xuXHRcdGxldCByZXN1bHQgPSBbJ3N0ZXAtaXRlbScsICdmbGV4JywgJ2l0ZW1zLWNlbnRlcicsICdqdXN0aWZ5LWNlbnRlciddO1xuXHRcdHJlc3VsdCA9IHJlc3VsdC5jb25jYXQoY2xhc3Nlcyk7XG5cdFx0aWYgKHRoaXMuYXV0aExldmVsKCkgPCA0IHx8ICF0aGlzLmlzQ2xpY2soKSkge1xuXHRcdFx0cmVzdWx0LnB1c2goJ2N1cnNvci1ub3QtYWxsb3dlZCcpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXN1bHQucHVzaCgnY3Vyc29yLXBvaW50ZXIgYWxsb3ctaG92ZXInKTtcblx0XHR9XG5cdFx0Y29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5kaXNwbGF5U3RlcHMoKSFbaV07XG5cdFx0aWYgKGkgPT0gMCkge1xuXHRcdFx0cmVzdWx0LnB1c2goJ3N0ZXAtZmlyc3QnKTtcblx0XHR9IGVsc2UgaWYgKGkgKyAxID09IHRoaXMuZGlzcGxheVN0ZXBzKCk/Lmxlbmd0aCkge1xuXHRcdFx0cmVzdWx0LnB1c2goJ3N0ZXAtbGFzdCcpO1xuXHRcdH1cblx0XHRpZiAodmFsdWUgPT0gdGhpcy5jdXJyZW50KCkpIHtcblx0XHRcdHJlc3VsdC5wdXNoKCdzdGVwLWFjdGl2ZScpO1xuXHRcdFx0cmVzdWx0LnB1c2goJ21kOmZsZXgtbm9uZSBmbGV4LTEnKTtcblx0XHR9XG5cdFx0cmV0dXJuIHJlc3VsdC5qb2luKCcgJyk7XG5cdH1cblxuXHRjaGFuZ2VTdGF0dXMoc3RlcDogYW55KSB7XG5cdFx0dGhpcy5jaGFuZ2UuZW1pdChzdGVwLnZhbHVlKTtcblx0fVxuXG5cdG9uU3RhcnRTdGVwc0NoYW5nZShldmVudDogYW55KSB7XG5cdFx0Y29uc3Qgc3RlcCA9IGV2ZW50LnZhbHVlO1xuXHRcdHRoaXMuY2hhbmdlLmVtaXQoc3RlcC52YWx1ZSk7XG5cdH1cblxuXHRvbkVuZFN0ZXBzQ2hhbmdlKGV2ZW50OiBhbnkpIHtcblx0XHRjb25zdCBzdGVwID0gZXZlbnQudmFsdWU7XG5cdFx0dGhpcy5jaGFuZ2UuZW1pdChzdGVwLnZhbHVlKTtcblx0fVxuXG5cdGFsdGVybmF0ZVdpZHRoTGlzdCgpIHtcblx0XHRsZXQgaW5kZXggPSB0aGlzLnN0ZXBzKCkhLmZpbmRJbmRleCgocykgPT4gcy52YWx1ZSA9PT0gdGhpcy5jdXJyZW50KCkpO1xuXHRcdGluZGV4ID0gaW5kZXggPT09IC0xID8gMCA6IGluZGV4O1xuXHRcdHRoaXMuc3RhcnRJbmRleCA9IGluZGV4O1xuXHRcdHRoaXMuZW5kSW5kZXggPSBpbmRleDtcblxuXHRcdGxldCBsZWZ0SW5kZXggPSBpbmRleCAtIDE7XG5cdFx0bGV0IHJpZ2h0SW5kZXggPSBpbmRleCArIDE7XG5cdFx0bGV0IHR1cm4gPSAncmlnaHQnO1xuXHRcdGxldCB0b3RhbFdpZHRoID0gdGhpcy53aWR0aExpc3RbaW5kZXhdO1xuXG5cdFx0d2hpbGUgKGxlZnRJbmRleCA+PSAwIHx8IHJpZ2h0SW5kZXggPCB0aGlzLndpZHRoTGlzdC5sZW5ndGgpIHtcblx0XHRcdGlmICh0dXJuID09PSAncmlnaHQnICYmIHJpZ2h0SW5kZXggPCB0aGlzLndpZHRoTGlzdC5sZW5ndGgpIHtcblx0XHRcdFx0dG90YWxXaWR0aCArPSB0aGlzLndpZHRoTGlzdFtyaWdodEluZGV4XTtcblx0XHRcdFx0aWYgKHRoaXMuaXNFeGNlZWRNYXhXaWR0aCh0b3RhbFdpZHRoKSkge1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuZW5kSW5kZXggPSByaWdodEluZGV4O1xuXHRcdFx0XHRyaWdodEluZGV4Kys7XG5cdFx0XHRcdHR1cm4gPSAnbGVmdCc7XG5cdFx0XHR9IGVsc2UgaWYgKHR1cm4gPT09ICdsZWZ0JyAmJiBsZWZ0SW5kZXggPj0gMCkge1xuXHRcdFx0XHR0b3RhbFdpZHRoICs9IHRoaXMud2lkdGhMaXN0W2xlZnRJbmRleF07XG5cdFx0XHRcdGlmICh0aGlzLmlzRXhjZWVkTWF4V2lkdGgodG90YWxXaWR0aCkpIHtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLnN0YXJ0SW5kZXggPSBsZWZ0SW5kZXg7XG5cdFx0XHRcdGxlZnRJbmRleC0tO1xuXHRcdFx0XHR0dXJuID0gJ3JpZ2h0Jztcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHR1cm4gPSByaWdodEluZGV4IDwgdGhpcy53aWR0aExpc3QubGVuZ3RoID8gJ3JpZ2h0JyA6ICdsZWZ0Jztcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRpc0V4Y2VlZE1heFdpZHRoKHRvdGFsV2lkdGg6IG51bWJlcikge1xuXHRcdGlmICghdGhpcy5uZWVkU2VsZkFkanVzdGluZygpKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHRcdHRvdGFsV2lkdGggKz0gdGhpcy5zdGFydEluZGV4ID09PSAwID8gMCA6IHRoaXMuU1RBUlRfQlVUVE9OX1dJRFRIO1xuXHRcdHRvdGFsV2lkdGggKz0gdGhpcy5lbmRJbmRleCA9PT0gdGhpcy53aWR0aExpc3QubGVuZ3RoIC0gMSA/IDAgOiB0aGlzLkVORF9CVVRUT05fV0lEVEg7XG5cdFx0cmV0dXJuIHRvdGFsV2lkdGggPj0gdGhpcy5tYXhXaWR0aDtcblx0fVxuXG5cdGhhbmRsZVN0ZXBzKCkge1xuXHRcdGNvbnN0IHN0ZXBzID0gdGhpcy5zdGVwcygpITtcblx0XHRjb25zdCBleGNsdWRlVmFsdWVzOiBhbnlbXSA9IFtdO1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgc3RlcHMubGVuZ3RoOyBpKyspIHtcblx0XHRcdGlmIChpIDwgdGhpcy5zdGFydEluZGV4KSB7XG5cdFx0XHRcdGV4Y2x1ZGVWYWx1ZXMucHVzaChzdGVwc1tpXS52YWx1ZSk7XG5cdFx0XHR9XG5cdFx0XHRpZiAoaSA+IHRoaXMuZW5kSW5kZXgpIHtcblx0XHRcdFx0ZXhjbHVkZVZhbHVlcy5wdXNoKHN0ZXBzW2ldLnZhbHVlKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAodGhpcy5zdGFydEluZGV4ID4gMCkge1xuXHRcdFx0dGhpcy5zdGFydFN0ZXBzID0gc3RlcHMuc2xpY2UoMCwgdGhpcy5zdGFydEluZGV4KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0ZXhjbHVkZVZhbHVlcy5wdXNoKCdzdGFydCcpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5lbmRJbmRleCA8IHN0ZXBzLmxlbmd0aCAtIDEpIHtcblx0XHRcdHRoaXMuZW5kU3RlcHMgPSBzdGVwcy5zbGljZSh0aGlzLmVuZEluZGV4ICsgMSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGV4Y2x1ZGVWYWx1ZXMucHVzaCgnZW5kJyk7XG5cdFx0fVxuXHRcdHRoaXMuZXhjbHVkZVZhbHVlcy5zZXQoZXhjbHVkZVZhbHVlcyk7XG5cdH1cbn1cbiIsIjxkaXZcclxuXHQjY29udGFpbmVyXHJcblx0Y2xhc3M9XCJmbGV4IG15LTEgdy1mdWxsIGp1c3RpZnktZW5kXCI+XHJcblx0QGZvciAoc3Qgb2YgZGlzcGxheVN0ZXBzKCk7IHRyYWNrIHN0OyBsZXQgaSA9ICRpbmRleCkge1xyXG5cdFx0QGlmIChzdC52YWx1ZSA9PT0gJ3N0YXJ0Jykge1xyXG5cdFx0XHQ8ZGl2XHJcblx0XHRcdFx0I3N0YXJ0SXRlbVxyXG5cdFx0XHRcdFtjbGFzc109XCJnZXRDbGFzcyhpLCBbJ3N0YXJ0LWl0ZW0nXSlcIlxyXG5cdFx0XHRcdChjbGljayk9XCJzaG93U3RhcnRTdGVwcygkZXZlbnQsIHN0YXJ0T3ApXCI+XHJcblx0XHRcdFx0PHNwYW4+Li4uPC9zcGFuPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PHAtcG9wb3ZlclxyXG5cdFx0XHRcdCNzdGFydE9wXHJcblx0XHRcdFx0W3N0eWxlQ2xhc3NdPVwiJ3BvcC1zdGVwcyBzdGFydC1zdGVwcydcIlxyXG5cdFx0XHRcdFthcHBlbmRUb109XCJzdGFydEl0ZW1cIj5cclxuXHRcdFx0XHQ8cC1saXN0Ym94XHJcblx0XHRcdFx0XHRbb3B0aW9uc109XCJzdGFydFN0ZXBzXCJcclxuXHRcdFx0XHRcdChvbkNoYW5nZSk9XCJvblN0YXJ0U3RlcHNDaGFuZ2UoJGV2ZW50KVwiXHJcblx0XHRcdFx0XHRvcHRpb25MYWJlbD1cImxhYmVsXCJcclxuXHRcdFx0XHRcdGNsYXNzPVwidy1mdWxsIG1kOnctNTZcIj5cclxuXHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSBsZXQtY291bnRyeSBwVGVtcGxhdGU9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdj57eyBjb3VudHJ5LmkxOG5LZXkgPyBpMThuLmZhbnlpKGNvdW50cnkuaTE4bktleSkgOiBjb3VudHJ5LmxhYmVsIH19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblx0XHRcdFx0PC9wLWxpc3Rib3g+XHJcblx0XHRcdDwvcC1wb3BvdmVyPlxyXG5cdFx0fSBAZWxzZSBpZiAoc3QudmFsdWUgPT09ICdlbmQnKSB7XHJcblx0XHRcdDxkaXZcclxuXHRcdFx0XHQjZW5kSXRlbVxyXG5cdFx0XHRcdFtjbGFzc109XCJnZXRDbGFzcyhpLCBbJ2VuZC1pdGVtJ10pXCJcclxuXHRcdFx0XHQoY2xpY2spPVwic2hvd0VuZFN0ZXBzKCRldmVudCwgZW5kT3ApXCI+XHJcblx0XHRcdFx0PHNwYW4+Li4uPC9zcGFuPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PHAtcG9wb3ZlclxyXG5cdFx0XHRcdCNlbmRPcFxyXG5cdFx0XHRcdFtzdHlsZUNsYXNzXT1cIidwb3Atc3RlcHMgZW5kLXN0ZXBzJ1wiXHJcblx0XHRcdFx0W2FwcGVuZFRvXT1cImVuZEl0ZW1cIj5cclxuXHRcdFx0XHQ8cC1saXN0Ym94XHJcblx0XHRcdFx0XHRbb3B0aW9uc109XCJlbmRTdGVwc1wiXHJcblx0XHRcdFx0XHQob25DaGFuZ2UpPVwib25FbmRTdGVwc0NoYW5nZSgkZXZlbnQpXCJcclxuXHRcdFx0XHRcdG9wdGlvbkxhYmVsPVwibGFiZWxcIlxyXG5cdFx0XHRcdFx0Y2xhc3M9XCJ3LWZ1bGwgbWQ6dy01NlwiPlxyXG5cdFx0XHRcdFx0PG5nLXRlbXBsYXRlIGxldC1jb3VudHJ5IHBUZW1wbGF0ZT1cIml0ZW1cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2Pnt7IGNvdW50cnkuaTE4bktleSA/IGkxOG4uZmFueWkoY291bnRyeS5pMThuS2V5KSA6IGNvdW50cnkubGFiZWwgfX08L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0XHQ8L3AtbGlzdGJveD5cclxuXHRcdFx0PC9wLXBvcG92ZXI+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PGRpdlxyXG5cdFx0XHRcdFtjbGFzc109XCJnZXRDbGFzcyhpLCBbXSlcIlxyXG5cdFx0XHRcdChjbGljayk9XCJjaGFuZ2VTdGF0dXMoc3QpXCI+XHJcblx0XHRcdFx0PHNwYW4+e3sgc3QuaTE4bktleSA/IGkxOG4uZmFueWkoc3QuaTE4bktleSkgOiBzdC5sYWJlbCB9fTwvc3Bhbj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHR9XHJcblx0fVxyXG48L2Rpdj5cclxuIl19
|
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLWVsZW1lbnQtdWkvc3JjL2xpYi9zdGVwcy9zdGVwcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL3N0ZXBzL3N0ZXBzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBYyxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzSSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBYzFELE1BQU0sT0FBTyxjQUFjO0lBK0IxQixRQUFRO1FBQ1AsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsWUFBb0IsUUFBbUI7UUFBbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQWxDdkMsYUFBUSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNqQyxzQkFBaUIsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDekMsVUFBSyxHQUFHLEtBQUssQ0FBcUIsU0FBUyxDQUFDLENBQUM7UUFDN0MsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzVCLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLFNBQVM7Z0JBQUUsT0FBTyxFQUFFLENBQUM7WUFDMUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUcsQ0FBQyxDQUFDO1lBQ2pDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ2hELEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQzNDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzNFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsa0JBQWEsR0FBRyxNQUFNLENBQStCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELFlBQU8sR0FBRyxLQUFLLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQixXQUFNLEdBQUcsTUFBTSxFQUFVLENBQUM7UUFDMUIsY0FBUyxHQUFHLEtBQUssQ0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlCLFlBQU8sR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7UUFFL0IsY0FBUyxHQUFhLEVBQUUsQ0FBQztRQUN6Qix1QkFBa0IsR0FBRyxFQUFFLENBQUM7UUFDeEIscUJBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLHFCQUFnQixHQUFHLENBQUMsQ0FBQztRQUVyQixlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUNiLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDeEIsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUN0QixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBU1osTUFBTSxDQUNMLEdBQUcsRUFBRTtZQUNKLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3QixJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDOUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3JCLENBQUM7UUFDRixDQUFDLEVBQ0QsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FDM0IsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDM0QsSUFBSSxLQUFLLEtBQUssU0FBUztnQkFBRSxPQUFPO1lBQ2hDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsU0FBUztRQUNSLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxZQUFZO1FBQ1gsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxhQUFhO1FBQ1osSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ2hHLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2xELFNBQVM7WUFDVixDQUFDO1lBQ0QsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO2dCQUNsRCxTQUFTO1lBQ1YsQ0FBQztZQUNELElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDaEQsU0FBUztZQUNWLENBQUM7WUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDN0UsQ0FBQztJQUNGLENBQUM7SUFFRCxZQUFZO1FBQ1gsSUFBSSxNQUFNLENBQUMsVUFBVSxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDekMsT0FBTztRQUNSLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN6QyxPQUFPO1FBQ1IsQ0FBQztRQUNELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7UUFDakcsSUFBSSxDQUFDLFFBQVEsR0FBRyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBVSxFQUFFLE9BQVk7UUFDdEMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQztZQUFFLE9BQU87UUFDakMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVUsRUFBRSxLQUFVO1FBQ2xDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUM7WUFBRSxPQUFPO1FBQ2pDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELFFBQVEsQ0FBQyxDQUFTLEVBQUUsT0FBaUI7UUFDcEMsSUFBSSxNQUFNLEdBQUcsQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQzdDLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNuQyxDQUFDO2FBQU0sQ0FBQztZQUNQLE1BQU0sQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBQ0QsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNaLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDM0IsQ0FBQzthQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDakQsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxQixDQUFDO1FBQ0QsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDN0IsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUMzQixzQ0FBc0M7UUFDdkMsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVM7UUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFVO1FBQzVCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFVO1FBQzFCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxrQkFBa0I7UUFDakIsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN2RSxLQUFLLEdBQUcsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNqQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUV0QixJQUFJLFNBQVMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLElBQUksVUFBVSxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDM0IsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDO1FBQ25CLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdkMsT0FBTyxTQUFTLElBQUksQ0FBQyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzdELElBQUksSUFBSSxLQUFLLE9BQU8sSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDNUQsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ3pDLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7b0JBQ3ZDLE1BQU07Z0JBQ1AsQ0FBQztnQkFDRCxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztnQkFDM0IsVUFBVSxFQUFFLENBQUM7Z0JBQ2IsSUFBSSxHQUFHLE1BQU0sQ0FBQztZQUNmLENBQUM7aUJBQU0sSUFBSSxJQUFJLEtBQUssTUFBTSxJQUFJLFNBQVMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDOUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3hDLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7b0JBQ3ZDLE1BQU07Z0JBQ1AsQ0FBQztnQkFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztnQkFDNUIsU0FBUyxFQUFFLENBQUM7Z0JBQ1osSUFBSSxHQUFHLE9BQU8sQ0FBQztZQUNoQixDQUFDO2lCQUFNLENBQUM7Z0JBQ1AsSUFBSSxHQUFHLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDOUQsQ0FBQztRQUNGLENBQUM7SUFDRixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBa0I7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUM7WUFDL0IsT0FBTyxLQUFLLENBQUM7UUFDZCxDQUFDO1FBQ0QsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUNsRSxVQUFVLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ3RGLE9BQU8sVUFBVSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDcEMsQ0FBQztJQUVELFdBQVc7UUFDVixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFHLENBQUM7UUFDNUIsTUFBTSxhQUFhLEdBQVUsRUFBRSxDQUFDO1FBQ2hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN6QixhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN2QixhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQyxDQUFDO1FBQ0YsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuRCxDQUFDO2FBQU0sQ0FBQztZQUNQLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2hELENBQUM7YUFBTSxDQUFDO1lBQ1AsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdkMsQ0FBQzsrR0E3TVcsY0FBYzttR0FBZCxjQUFjLGlqQ0NuQjNCLHkvREEyREEsbWtERDVDVyxXQUFXLDhCQUFFLGFBQWEsNGtDQUFFLE9BQU87OzRGQUlqQyxjQUFjO2tCQVAxQixTQUFTOytCQUNDLGNBQWMsY0FDWixJQUFJLFdBQ1AsQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQzs4RUFLSCxZQUFZO3NCQUF0RCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBOEJ6QyxRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgZWZmZWN0LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIGluamVjdCwgaW5wdXQsIG91dHB1dCwgUmVuZGVyZXIyLCBzaWduYWwsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL2kxOG4uc2VydmljZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IExpc3Rib3hNb2R1bGUgfSBmcm9tICdwcmltZW5nL2xpc3Rib3gnO1xuaW1wb3J0IHsgUG9wb3ZlciB9IGZyb20gJ3ByaW1lbmcvcG9wb3Zlcic7XG5pbXBvcnQgeyB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5leHBvcnQgaW50ZXJmYWNlIFN0ZXAge1xuXHRsYWJlbDogc3RyaW5nO1xuXHRpMThuS2V5Pzogc3RyaW5nO1xuXHR2YWx1ZTogbnVtYmVyIHwgJ3N0YXJ0JyB8ICdlbmQnO1xufVxuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdjdXN0b20tc3RlcHMnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbRm9ybXNNb2R1bGUsIExpc3Rib3hNb2R1bGUsIFBvcG92ZXJdLFxuXHR0ZW1wbGF0ZVVybDogJy4vc3RlcHMuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybDogJy4vc3RlcHMuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBTdGVwc0NvbXBvbmVudCB7XG5cdEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250YWluZXJSZWYhOiBFbGVtZW50UmVmO1xuXHRtb2RlbExvZyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblx0bmVlZFNlbGZBZGp1c3RpbmcgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcblx0c3RlcHMgPSBpbnB1dDxTdGVwW10gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cdGRpc3BsYXlTdGVwcyA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRpZiAodGhpcy5zdGVwcygpID09PSB1bmRlZmluZWQpIHJldHVybiBbXTtcblx0XHRjb25zdCBzdGVwcyA9IFsuLi50aGlzLnN0ZXBzKCkhXTtcblx0XHRzdGVwcy51bnNoaWZ0KHsgdmFsdWU6ICdzdGFydCcsIGxhYmVsOiAnLi4uJyB9KTtcblx0XHRzdGVwcy5wdXNoKHsgdmFsdWU6ICdlbmQnLCBsYWJlbDogJy4uLicgfSk7XG5cdFx0cmV0dXJuIHN0ZXBzLmZpbHRlcigoc3RlcCkgPT4gIXRoaXMuZXhjbHVkZVZhbHVlcygpLmluY2x1ZGVzKHN0ZXAudmFsdWUpKTtcblx0fSk7XG5cdGV4Y2x1ZGVWYWx1ZXMgPSBzaWduYWw8KG51bWJlciB8ICdzdGFydCcgfCAnZW5kJylbXT4oW10pO1xuXHRjdXJyZW50ID0gaW5wdXQ8bnVtYmVyPigyKTtcblx0aTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG5cdGNoYW5nZSA9IG91dHB1dDxudW1iZXI+KCk7XG5cdGF1dGhMZXZlbCA9IGlucHV0PG51bWJlcj4oLTEpO1xuXHRpc0NsaWNrID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG5cblx0d2lkdGhMaXN0OiBudW1iZXJbXSA9IFtdO1xuXHRTVEFSVF9CVVRUT05fV0lEVEggPSAzMjtcblx0RU5EX0JVVFRPTl9XSURUSCA9IDQ3O1xuXHRTVEVQX0lURU1fTUFSR0lOID0gMjtcblxuXHRzdGFydEluZGV4ID0gMDtcblx0ZW5kSW5kZXggPSAwO1xuXHRzdGFydFN0ZXBzOiBTdGVwW10gPSBbXTtcblx0ZW5kU3RlcHM6IFN0ZXBbXSA9IFtdO1xuXHRtYXhXaWR0aCA9IDA7XG5cblx0QEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG5cdG9uUmVzaXplKCkge1xuXHRcdHRoaXMuY2FsY01heFdpZHRoKCk7XG5cdFx0dGhpcy5yZWZyZXNoU3RlcHMoKTtcblx0fVxuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuXHRcdGVmZmVjdChcblx0XHRcdCgpID0+IHtcblx0XHRcdFx0bGV0IGN1cnJlbnQgPSB0aGlzLmN1cnJlbnQoKTtcblx0XHRcdFx0aWYgKGN1cnJlbnQgIT0gMCAmJiB0aGlzLnN0ZXBzKCkhLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0XHR0aGlzLnJlZnJlc2hTdGVwcygpO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuXHRcdCk7XG5cdFx0Y29uc3Qgc3RlcHMkID0gdG9PYnNlcnZhYmxlKHRoaXMuc3RlcHMpLnN1YnNjcmliZSgoc3RlcHMpID0+IHtcblx0XHRcdGlmIChzdGVwcyA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG5cdFx0XHR0aGlzLmluaXRTdGVwcygpO1xuXHRcdFx0c3RlcHMkLnVuc3Vic2NyaWJlKCk7XG5cdFx0fSk7XG5cdH1cblxuXHRpbml0U3RlcHMoKSB7XG5cdFx0dGhpcy5jYWxjTWF4V2lkdGgoKTtcblx0XHR0aGlzLmluaXRXaWR0aExpc3QoKTtcblx0XHR0aGlzLnJlZnJlc2hTdGVwcygpO1xuXHR9XG5cblx0cmVmcmVzaFN0ZXBzKCkge1xuXHRcdHRoaXMuYWx0ZXJuYXRlV2lkdGhMaXN0KCk7XG5cdFx0dGhpcy5oYW5kbGVTdGVwcygpO1xuXHR9XG5cblx0aW5pdFdpZHRoTGlzdCgpIHtcblx0XHR0aGlzLndpZHRoTGlzdCA9IFtdO1xuXHRcdGNvbnN0IGNoaWxkcmVuID0gdGhpcy5yZW5kZXJlci5wYXJlbnROb2RlKHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQpLmNoaWxkcmVuWzBdLmNoaWxkcmVuO1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcblx0XHRcdGlmICghY2hpbGRyZW5baV0uY2xhc3NMaXN0LmNvbnRhaW5zKCdzdGVwLWl0ZW0nKSkge1xuXHRcdFx0XHRjb250aW51ZTtcblx0XHRcdH1cblx0XHRcdGlmIChjaGlsZHJlbltpXS5jbGFzc0xpc3QuY29udGFpbnMoJ3N0YXJ0LWl0ZW0nKSkge1xuXHRcdFx0XHRjb250aW51ZTtcblx0XHRcdH1cblx0XHRcdGlmIChjaGlsZHJlbltpXS5jbGFzc0xpc3QuY29udGFpbnMoJ2VuZC1pdGVtJykpIHtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHR9XG5cdFx0XHR0aGlzLndpZHRoTGlzdC5wdXNoKChjaGlsZHJlbltpXS5vZmZzZXRXaWR0aCB8fCAwKSArIHRoaXMuU1RFUF9JVEVNX01BUkdJTik7XG5cdFx0fVxuXHR9XG5cblx0Y2FsY01heFdpZHRoKCkge1xuXHRcdGlmICh3aW5kb3cuaW5uZXJXaWR0aCA8IDc2OCkge1xuXHRcdFx0dGhpcy5tYXhXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoICogMC45Njtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0aWYgKCF0aGlzLm1vZGVsTG9nKCkpIHtcblx0XHRcdHRoaXMubWF4V2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aCAqIDAuNjQ7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGNvbnN0IGNlbnRlcldpZHRoID0gd2luZG93LmlubmVyV2lkdGggPCAxMDI0ID8gd2luZG93LmlubmVyV2lkdGggLSA0MDAgOiB3aW5kb3cuaW5uZXJXaWR0aCAtIDMwMDtcblx0XHR0aGlzLm1heFdpZHRoID0gY2VudGVyV2lkdGggKiAwLjY0O1xuXHR9XG5cblx0c2hvd1N0YXJ0U3RlcHMoZXZlbnQ6IGFueSwgc3RhcnRPcDogYW55KSB7XG5cdFx0aWYgKHRoaXMuYXV0aExldmVsKCkgPCA0KSByZXR1cm47XG5cdFx0c3RhcnRPcC50b2dnbGUoZXZlbnQpO1xuXHR9XG5cblx0c2hvd0VuZFN0ZXBzKGV2ZW50OiBhbnksIGVuZE9wOiBhbnkpIHtcblx0XHRpZiAodGhpcy5hdXRoTGV2ZWwoKSA8IDQpIHJldHVybjtcblx0XHRlbmRPcC50b2dnbGUoZXZlbnQpO1xuXHR9XG5cblx0Z2V0Q2xhc3MoaTogbnVtYmVyLCBjbGFzc2VzOiBzdHJpbmdbXSkge1xuXHRcdGxldCByZXN1bHQgPSBbJ3N0ZXAtaXRlbScsICdmbGV4JywgJ2l0ZW1zLWNlbnRlcicsICdqdXN0aWZ5LWNlbnRlciddO1xuXHRcdHJlc3VsdCA9IHJlc3VsdC5jb25jYXQoY2xhc3Nlcyk7XG5cdFx0aWYgKHRoaXMuYXV0aExldmVsKCkgPCA0IHx8ICF0aGlzLmlzQ2xpY2soKSkge1xuXHRcdFx0cmVzdWx0LnB1c2goJ2N1cnNvci1ub3QtYWxsb3dlZCcpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXN1bHQucHVzaCgnY3Vyc29yLXBvaW50ZXIgYWxsb3ctaG92ZXInKTtcblx0XHR9XG5cdFx0Y29uc3QgeyB2YWx1ZSB9ID0gdGhpcy5kaXNwbGF5U3RlcHMoKSFbaV07XG5cdFx0aWYgKGkgPT0gMCkge1xuXHRcdFx0cmVzdWx0LnB1c2goJ3N0ZXAtZmlyc3QnKTtcblx0XHR9IGVsc2UgaWYgKGkgKyAxID09IHRoaXMuZGlzcGxheVN0ZXBzKCk/Lmxlbmd0aCkge1xuXHRcdFx0cmVzdWx0LnB1c2goJ3N0ZXAtbGFzdCcpO1xuXHRcdH1cblx0XHRpZiAodmFsdWUgPT0gdGhpcy5jdXJyZW50KCkpIHtcblx0XHRcdHJlc3VsdC5wdXNoKCdzdGVwLWFjdGl2ZScpO1xuXHRcdFx0Ly8gcmVzdWx0LnB1c2goJ21kOmZsZXgtbm9uZSBmbGV4LTEnKTtcblx0XHR9XG5cdFx0cmV0dXJuIHJlc3VsdC5qb2luKCcgJyk7XG5cdH1cblxuXHRjaGFuZ2VTdGF0dXMoc3RlcDogYW55KSB7XG5cdFx0dGhpcy5jaGFuZ2UuZW1pdChzdGVwLnZhbHVlKTtcblx0fVxuXG5cdG9uU3RhcnRTdGVwc0NoYW5nZShldmVudDogYW55KSB7XG5cdFx0Y29uc3Qgc3RlcCA9IGV2ZW50LnZhbHVlO1xuXHRcdHRoaXMuY2hhbmdlLmVtaXQoc3RlcC52YWx1ZSk7XG5cdH1cblxuXHRvbkVuZFN0ZXBzQ2hhbmdlKGV2ZW50OiBhbnkpIHtcblx0XHRjb25zdCBzdGVwID0gZXZlbnQudmFsdWU7XG5cdFx0dGhpcy5jaGFuZ2UuZW1pdChzdGVwLnZhbHVlKTtcblx0fVxuXG5cdGFsdGVybmF0ZVdpZHRoTGlzdCgpIHtcblx0XHRsZXQgaW5kZXggPSB0aGlzLnN0ZXBzKCkhLmZpbmRJbmRleCgocykgPT4gcy52YWx1ZSA9PT0gdGhpcy5jdXJyZW50KCkpO1xuXHRcdGluZGV4ID0gaW5kZXggPT09IC0xID8gMCA6IGluZGV4O1xuXHRcdHRoaXMuc3RhcnRJbmRleCA9IGluZGV4O1xuXHRcdHRoaXMuZW5kSW5kZXggPSBpbmRleDtcblxuXHRcdGxldCBsZWZ0SW5kZXggPSBpbmRleCAtIDE7XG5cdFx0bGV0IHJpZ2h0SW5kZXggPSBpbmRleCArIDE7XG5cdFx0bGV0IHR1cm4gPSAncmlnaHQnO1xuXHRcdGxldCB0b3RhbFdpZHRoID0gdGhpcy53aWR0aExpc3RbaW5kZXhdO1xuXG5cdFx0d2hpbGUgKGxlZnRJbmRleCA+PSAwIHx8IHJpZ2h0SW5kZXggPCB0aGlzLndpZHRoTGlzdC5sZW5ndGgpIHtcblx0XHRcdGlmICh0dXJuID09PSAncmlnaHQnICYmIHJpZ2h0SW5kZXggPCB0aGlzLndpZHRoTGlzdC5sZW5ndGgpIHtcblx0XHRcdFx0dG90YWxXaWR0aCArPSB0aGlzLndpZHRoTGlzdFtyaWdodEluZGV4XTtcblx0XHRcdFx0aWYgKHRoaXMuaXNFeGNlZWRNYXhXaWR0aCh0b3RhbFdpZHRoKSkge1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuZW5kSW5kZXggPSByaWdodEluZGV4O1xuXHRcdFx0XHRyaWdodEluZGV4Kys7XG5cdFx0XHRcdHR1cm4gPSAnbGVmdCc7XG5cdFx0XHR9IGVsc2UgaWYgKHR1cm4gPT09ICdsZWZ0JyAmJiBsZWZ0SW5kZXggPj0gMCkge1xuXHRcdFx0XHR0b3RhbFdpZHRoICs9IHRoaXMud2lkdGhMaXN0W2xlZnRJbmRleF07XG5cdFx0XHRcdGlmICh0aGlzLmlzRXhjZWVkTWF4V2lkdGgodG90YWxXaWR0aCkpIHtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLnN0YXJ0SW5kZXggPSBsZWZ0SW5kZXg7XG5cdFx0XHRcdGxlZnRJbmRleC0tO1xuXHRcdFx0XHR0dXJuID0gJ3JpZ2h0Jztcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHR1cm4gPSByaWdodEluZGV4IDwgdGhpcy53aWR0aExpc3QubGVuZ3RoID8gJ3JpZ2h0JyA6ICdsZWZ0Jztcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRpc0V4Y2VlZE1heFdpZHRoKHRvdGFsV2lkdGg6IG51bWJlcikge1xuXHRcdGlmICghdGhpcy5uZWVkU2VsZkFkanVzdGluZygpKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHRcdHRvdGFsV2lkdGggKz0gdGhpcy5zdGFydEluZGV4ID09PSAwID8gMCA6IHRoaXMuU1RBUlRfQlVUVE9OX1dJRFRIO1xuXHRcdHRvdGFsV2lkdGggKz0gdGhpcy5lbmRJbmRleCA9PT0gdGhpcy53aWR0aExpc3QubGVuZ3RoIC0gMSA/IDAgOiB0aGlzLkVORF9CVVRUT05fV0lEVEg7XG5cdFx0cmV0dXJuIHRvdGFsV2lkdGggPj0gdGhpcy5tYXhXaWR0aDtcblx0fVxuXG5cdGhhbmRsZVN0ZXBzKCkge1xuXHRcdGNvbnN0IHN0ZXBzID0gdGhpcy5zdGVwcygpITtcblx0XHRjb25zdCBleGNsdWRlVmFsdWVzOiBhbnlbXSA9IFtdO1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgc3RlcHMubGVuZ3RoOyBpKyspIHtcblx0XHRcdGlmIChpIDwgdGhpcy5zdGFydEluZGV4KSB7XG5cdFx0XHRcdGV4Y2x1ZGVWYWx1ZXMucHVzaChzdGVwc1tpXS52YWx1ZSk7XG5cdFx0XHR9XG5cdFx0XHRpZiAoaSA+IHRoaXMuZW5kSW5kZXgpIHtcblx0XHRcdFx0ZXhjbHVkZVZhbHVlcy5wdXNoKHN0ZXBzW2ldLnZhbHVlKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAodGhpcy5zdGFydEluZGV4ID4gMCkge1xuXHRcdFx0dGhpcy5zdGFydFN0ZXBzID0gc3RlcHMuc2xpY2UoMCwgdGhpcy5zdGFydEluZGV4KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0ZXhjbHVkZVZhbHVlcy5wdXNoKCdzdGFydCcpO1xuXHRcdH1cblx0XHRpZiAodGhpcy5lbmRJbmRleCA8IHN0ZXBzLmxlbmd0aCAtIDEpIHtcblx0XHRcdHRoaXMuZW5kU3RlcHMgPSBzdGVwcy5zbGljZSh0aGlzLmVuZEluZGV4ICsgMSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGV4Y2x1ZGVWYWx1ZXMucHVzaCgnZW5kJyk7XG5cdFx0fVxuXHRcdHRoaXMuZXhjbHVkZVZhbHVlcy5zZXQoZXhjbHVkZVZhbHVlcyk7XG5cdH1cbn1cbiIsIjxkaXZcclxuXHQjY29udGFpbmVyXHJcblx0Y2xhc3M9XCJmbGV4IG15LTEgdy1mdWxsIGp1c3RpZnktZW5kXCI+XHJcblx0QGZvciAoc3Qgb2YgZGlzcGxheVN0ZXBzKCk7IHRyYWNrIHN0OyBsZXQgaSA9ICRpbmRleCkge1xyXG5cdFx0QGlmIChzdC52YWx1ZSA9PT0gJ3N0YXJ0Jykge1xyXG5cdFx0XHQ8ZGl2XHJcblx0XHRcdFx0I3N0YXJ0SXRlbVxyXG5cdFx0XHRcdFtjbGFzc109XCJnZXRDbGFzcyhpLCBbJ3N0YXJ0LWl0ZW0nXSlcIlxyXG5cdFx0XHRcdChjbGljayk9XCJzaG93U3RhcnRTdGVwcygkZXZlbnQsIHN0YXJ0T3ApXCI+XHJcblx0XHRcdFx0PHNwYW4+Li4uPC9zcGFuPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PHAtcG9wb3ZlclxyXG5cdFx0XHRcdCNzdGFydE9wXHJcblx0XHRcdFx0W3N0eWxlQ2xhc3NdPVwiJ3BvcC1zdGVwcyBzdGFydC1zdGVwcydcIlxyXG5cdFx0XHRcdFthcHBlbmRUb109XCJzdGFydEl0ZW1cIj5cclxuXHRcdFx0XHQ8cC1saXN0Ym94XHJcblx0XHRcdFx0XHRbb3B0aW9uc109XCJzdGFydFN0ZXBzXCJcclxuXHRcdFx0XHRcdChvbkNoYW5nZSk9XCJvblN0YXJ0U3RlcHNDaGFuZ2UoJGV2ZW50KVwiXHJcblx0XHRcdFx0XHRvcHRpb25MYWJlbD1cImxhYmVsXCJcclxuXHRcdFx0XHRcdGNsYXNzPVwidy1mdWxsIG1kOnctNTZcIj5cclxuXHRcdFx0XHRcdDxuZy10ZW1wbGF0ZSBsZXQtY291bnRyeSBwVGVtcGxhdGU9XCJpdGVtXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdj57eyBjb3VudHJ5LmkxOG5LZXkgPyBpMThuLmZhbnlpKGNvdW50cnkuaTE4bktleSkgOiBjb3VudHJ5LmxhYmVsIH19PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblx0XHRcdFx0PC9wLWxpc3Rib3g+XHJcblx0XHRcdDwvcC1wb3BvdmVyPlxyXG5cdFx0fSBAZWxzZSBpZiAoc3QudmFsdWUgPT09ICdlbmQnKSB7XHJcblx0XHRcdDxkaXZcclxuXHRcdFx0XHQjZW5kSXRlbVxyXG5cdFx0XHRcdFtjbGFzc109XCJnZXRDbGFzcyhpLCBbJ2VuZC1pdGVtJ10pXCJcclxuXHRcdFx0XHQoY2xpY2spPVwic2hvd0VuZFN0ZXBzKCRldmVudCwgZW5kT3ApXCI+XHJcblx0XHRcdFx0PHNwYW4+Li4uPC9zcGFuPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PHAtcG9wb3ZlclxyXG5cdFx0XHRcdCNlbmRPcFxyXG5cdFx0XHRcdFtzdHlsZUNsYXNzXT1cIidwb3Atc3RlcHMgZW5kLXN0ZXBzJ1wiXHJcblx0XHRcdFx0W2FwcGVuZFRvXT1cImVuZEl0ZW1cIj5cclxuXHRcdFx0XHQ8cC1saXN0Ym94XHJcblx0XHRcdFx0XHRbb3B0aW9uc109XCJlbmRTdGVwc1wiXHJcblx0XHRcdFx0XHQob25DaGFuZ2UpPVwib25FbmRTdGVwc0NoYW5nZSgkZXZlbnQpXCJcclxuXHRcdFx0XHRcdG9wdGlvbkxhYmVsPVwibGFiZWxcIlxyXG5cdFx0XHRcdFx0Y2xhc3M9XCJ3LWZ1bGwgbWQ6dy01NlwiPlxyXG5cdFx0XHRcdFx0PG5nLXRlbXBsYXRlIGxldC1jb3VudHJ5IHBUZW1wbGF0ZT1cIml0ZW1cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2Pnt7IGNvdW50cnkuaTE4bktleSA/IGkxOG4uZmFueWkoY291bnRyeS5pMThuS2V5KSA6IGNvdW50cnkubGFiZWwgfX08L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHRcdFx0XHQ8L3AtbGlzdGJveD5cclxuXHRcdFx0PC9wLXBvcG92ZXI+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PGRpdlxyXG5cdFx0XHRcdFtjbGFzc109XCJnZXRDbGFzcyhpLCBbXSlcIlxyXG5cdFx0XHRcdChjbGljayk9XCJjaGFuZ2VTdGF0dXMoc3QpXCI+XHJcblx0XHRcdFx0PHNwYW4+e3sgc3QuaTE4bktleSA/IGkxOG4uZmFueWkoc3QuaTE4bktleSkgOiBzdC5sYWJlbCB9fTwvc3Bhbj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHR9XHJcblx0fVxyXG48L2Rpdj5cclxuIl19
|