imm-element-ui 1.6.4 → 1.6.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.
Files changed (61) hide show
  1. package/esm2022/lib/crumb-action/crumb-action.component.mjs +3 -3
  2. package/esm2022/lib/form/form-field/context-menu.mjs +35 -35
  3. package/esm2022/lib/form/form-field/field-control.mjs +1 -1
  4. package/esm2022/lib/form/form-field/field-utils.mjs +1 -1
  5. package/esm2022/lib/form/form-field/form-field.mjs +135 -135
  6. package/esm2022/lib/form/form-field/index.mjs +1 -1
  7. package/esm2022/lib/form/form-field/label.directive.mjs +1 -1
  8. package/esm2022/lib/form/form-type/autocomplete.type.mjs +151 -151
  9. package/esm2022/lib/form/form-type/codemirror.type.mjs +1 -1
  10. package/esm2022/lib/form/form-type/datepicker.type.mjs +177 -177
  11. package/esm2022/lib/form/form-type/image.type.mjs +211 -211
  12. package/esm2022/lib/form/form-type/index.mjs +1 -1
  13. package/esm2022/lib/form/form-type/inputnumber.type.mjs +91 -91
  14. package/esm2022/lib/form/form-type/inputtext.type.mjs +19 -19
  15. package/esm2022/lib/form/form-type/multiselect.type.mjs +163 -163
  16. package/esm2022/lib/form/form-type/radio.type.mjs +77 -77
  17. package/esm2022/lib/form/form-type/rowselector.type.mjs +25 -25
  18. package/esm2022/lib/form/form-type/select.type.mjs +133 -133
  19. package/esm2022/lib/form/form-type/textarea.type.mjs +25 -25
  20. package/esm2022/lib/form/form-type/treeselect.type.mjs +115 -115
  21. package/esm2022/lib/form/form-type/upload.type.mjs +131 -131
  22. package/esm2022/lib/grid/cell-edit/cell-edit-datePicker.compoent.mjs +139 -139
  23. package/esm2022/lib/grid/cell-render/chip-render.mjs +21 -21
  24. package/esm2022/lib/grid/cell-render/img-renderer.mjs +25 -25
  25. package/esm2022/lib/grid/grid/grid.component.mjs +5 -3
  26. package/esm2022/lib/grid/grid-utils.mjs +1 -1
  27. package/esm2022/lib/import/import.component.mjs +1 -1
  28. package/esm2022/lib/loading/loading.component.mjs +3 -3
  29. package/esm2022/lib/page-form/page-form.component.mjs +6 -3
  30. package/esm2022/lib/page-grid-list/page-grid-list.component.mjs +3 -3
  31. package/esm2022/lib/row-selector/row-selector.component.mjs +3 -3
  32. package/esm2022/lib/search/search/search.component.mjs +3 -3
  33. package/esm2022/lib/search/search-tip/search-tip.component.mjs +1 -1
  34. package/esm2022/lib/search/search-utils.mjs +1 -1
  35. package/esm2022/lib/search/text-panel/text-panel.component.mjs +1 -1
  36. package/esm2022/lib/service/action.service.mjs +6 -1
  37. package/esm2022/lib/service/loading.service.mjs +1 -1
  38. package/esm2022/lib/steps/steps.component.mjs +1 -1
  39. package/esm2022/public-api.mjs +1 -1
  40. package/fesm2022/imm-element-ui.mjs +1679 -1670
  41. package/fesm2022/imm-element-ui.mjs.map +1 -1
  42. package/lib/crumb-action/crumb-action.component.d.ts +1 -1
  43. package/lib/grid/grid/grid.component.d.ts +1 -1
  44. package/lib/grid/grid-utils.d.ts +2 -529
  45. package/lib/service/action.service.d.ts +3 -0
  46. package/package.json +1 -1
  47. package/src/lib/crumb-action/crumb-action.component.scss +60 -60
  48. package/src/lib/grid/grid/grid.component.scss +45 -45
  49. package/src/lib/loading/loading.component.scss +31 -31
  50. package/src/lib/page-form/page-form.component.scss +31 -31
  51. package/src/lib/row-selector/row-selector.component.scss +1 -1
  52. package/src/lib/search/pop-date/pop-date.component.scss +67 -67
  53. package/src/lib/search/pop-list/pop-list.component.scss +23 -23
  54. package/src/lib/search/pop-panel/pop-panel.component.scss +32 -32
  55. package/src/lib/search/pop-self/pop-self.component.scss +80 -80
  56. package/src/lib/search/pop-sort/pop-sort.component.scss +49 -49
  57. package/src/lib/search/pop-tree/pop-tree.component.scss +37 -37
  58. package/src/lib/search/search/search.component.scss +70 -70
  59. package/src/lib/search/search-tip/search-tip.component.scss +50 -50
  60. package/src/lib/search/text-panel/text-panel.component.scss +24 -24
  61. package/src/lib/styles/styles.scss +232 -232
@@ -184,11 +184,11 @@ export class CrumbActionComponent extends AmComponent {
184
184
  this.action.saveSignal.set(false);
185
185
  }
186
186
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CrumbActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
187
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CrumbActionComponent, isStandalone: true, selector: "app-crumb-action", inputs: { isShowCog: { classPropertyName: "isShowCog", publicName: "isShowCog", isSignal: true, isRequired: false, transformFunction: null }, addVisible: { classPropertyName: "addVisible", publicName: "addVisible", isSignal: true, isRequired: false, transformFunction: null }, importVisible: { classPropertyName: "importVisible", publicName: "importVisible", isSignal: true, isRequired: false, transformFunction: null }, exportVisible: { classPropertyName: "exportVisible", publicName: "exportVisible", isSignal: true, isRequired: false, transformFunction: null }, newUrl: { classPropertyName: "newUrl", publicName: "newUrl", isSignal: true, isRequired: false, transformFunction: null }, configNewPath: { classPropertyName: "configNewPath", publicName: "configNewPath", isSignal: true, isRequired: false, transformFunction: null }, onExport: { classPropertyName: "onExport", publicName: "onExport", isSignal: true, isRequired: false, transformFunction: null }, outlined: { classPropertyName: "outlined", publicName: "outlined", isSignal: true, isRequired: false, transformFunction: null }, isList: { classPropertyName: "isList", publicName: "isList", isSignal: true, isRequired: false, transformFunction: null }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null }, actionList: { classPropertyName: "actionList", publicName: "actionList", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, menus: { classPropertyName: "menus", publicName: "menus", isSignal: true, isRequired: false, transformFunction: null }, saveBtnDisable: { classPropertyName: "saveBtnDisable", publicName: "saveBtnDisable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { saveEvent: "saveEvent", cancelEvent: "cancelEvent", actionEvent: "actionEvent" }, host: { listeners: { "window:resize": "resize($event)" } }, queries: [{ propertyName: "newBtnTemplateRef", first: true, predicate: ["newBtn"] }], viewQueries: [{ propertyName: "op", first: true, predicate: ["op"], descendants: true }, { propertyName: "listOp", first: true, predicate: ["listOp"], descendants: true }, { propertyName: "actOp", first: true, predicate: ["actOp"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"flex items-center gap-1\">\n <div class=\"left-btn flex gap-1\">\n <!-- TODO \u6743\u9650\u6570\u636E\u63A5\u5165 -->\n @if(!newBtnTemplateRef){\n @if(this.authLevel() > 2 && addVisible()){\n <p-button (click)=\"goNew()\" [outlined]=\"outlined()\">{{'app.create' | translate}}</p-button>\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"newBtnTemplateRef\"></ng-container>\n }\n </div>\n @if(crumbList().length > 0){\n <div class=\"flex flex-col leading-none\">\n <div class=\"hidden md:flex\">\n @if(crumbList().length <= 2){\n @for(fchild of crumbList(); track fchild.url){\n <div class=\"crumb-title cursor-pointer text-[12px] max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\" (click)=\"back(fchild)\">\n @if(fchild.i18nKey!= ''){\n {{ fchild!.i18nKey | translate}}\n } @else {\n {{fchild.title}}\n }\n </div>\n }\n } @else {\n <div class=\"flex\">\n <div class=\"crumb-title cursor-pointer select-crumb\">\n <div class=\"w-[17px] h-[17px] flex items-center font-bold text-[13px]\" (click)=\"toggle($event)\">\n ...\n </div>\n <p-tieredmenu #op [model]=\"crumbFront\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\">\n <span class=\"ml-2 w-full\" (click)=\"back(item)\">\n @if(item.i18nKey!= ''){\n {{ item!.i18nKey | translate}}\n } @else {\n {{item.title}}\n }\n </span>\n </a>\n </ng-template>\n </p-tieredmenu>\n </div>\n @for(item of crumbEnd;track item.url){\n <div class=\"crumb-title cursor-pointer text-[12px] max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\" (click)=\"back(item)\">\n @if(item.i18nKey!= ''){\n {{ item!.i18nKey | translate}}\n } @else {\n {{item.title}}\n }\n </div>\n }\n </div>\n }\n \n </div>\n <div class=\"min-w-0 text-text-color text-[12px] title-action\">\n <span\n [title]=\"isNew? 'New':crumbTitle().title\" \n class=\"hidden md:inline-block max-w-[150px] overflow-hidden text-ellipsis whitespace-nowrap\">\n {{isNew? 'New':crumbTitle().title}}\n </span>\n @if(isShowCog()){\n @if(isList()){\n <p-button variant=\"text\" severity=\"secondary\" icon=\"pi pi-cog\" aria-label=\"\u64CD\u4F5C\" (onClick)=\"toggleListOp($event)\"/>\n @if(displayOpItems().length > 0){\n <p-tieredmenu #listOp [model]=\"displayOpItems()\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"listAct(item)\">\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\n <span class=\"ml-2\">{{ item.label | translate }}</span>\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\n {{ item.shortcut }}\n </span>\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\n </a>\n </ng-template>\n </p-tieredmenu>\n }\n } @else {\n <p-button variant=\"text\" severity=\"secondary\" icon=\"pi pi-cog\" aria-label=\"\u64CD\u4F5C\" (onClick)=\"toggleAct($event)\"/>\n @if(actionList().length > 0 && showAct){\n <p-tieredmenu #actOp [model]=\"actionList()\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\n <a pRipple \n class=\"flex items-center p-tieredmenu-item-link\"\n [class]=\"(item.auth || 0) > (authLevel() || 0) || !!item.btnHidden?.(data()) ? 'hidden' : 'block'\" \n (click)=\"actEvent(item)\">\n <span class=\"ml-2\">{{item.i18nKey ? (item.i18nKey | translate) : item.label}}</span>\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\n {{ item.shortcut }}\n </span>\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\n </a>\n </ng-template>\n </p-tieredmenu>\n }\n }\n }\n @if(this.authLevel() > 2 && !isList()){\n <p-button \n variant=\"text\" \n [severity]=\"setSaveClass()\" \n icon=\"pi pi-cloud-upload\" \n [loading]=\"loading()\"\n aria-label=\"\u624B\u52A8\u4FDD\u5B58\"\n [disabled]=\"saveBtnDisable()\" \n class=\"p-0\"\n (click)=\"handleSave()\">\n </p-button>\n }\n <!-- @if(crumbList().length >= 2){ -->\n <p-button \n variant=\"text\" \n severity=\"secondary\" \n icon=\"pi pi-times\" \n aria-label=\"\u5173\u95ED\" \n class=\"p-0\"\n (click)=\"closeNew()\">\n </p-button>\n <!-- } -->\n </div>\n </div>\n } @else {\n <!-- \u521D\u59CB\u8282\u70B9 -->\n <div class=\"min-w-0 flex items-center text-[14px] text-text-color\">\n <span \n [title]=\"crumbTitle().i18nKey != '' ? (crumbTitle().i18nKey | translate) : crumbTitle().title\"\n class=\"hidden md:inline-block max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\">\n @if(crumbTitle().i18nKey != ''){\n {{crumbTitle().i18nKey | translate}}\n } @else {\n {{crumbTitle().title}}\n }\n </span>\n @if(isShowCog()){\n <p-button \n variant=\"text\"\n severity=\"secondary\" \n icon=\"pi pi-cog\" \n aria-label=\"\u64CD\u4F5C\" \n (onClick)=\"toggleListOp($event)\"/>\n @if(displayOpItems().length > 0){\n <p-tieredmenu #listOp [model]=\"displayOpItems()\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"listAct(item)\">\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\n <span class=\"ml-2\">{{ item.label | translate }}</span>\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\n {{ item.shortcut }}\n </span>\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\n </a>\n </ng-template>\n </p-tieredmenu>\n }\n \n }\n @if(!isList()){\n <p-button \n variant=\"text\" \n severity=\"secondary\" \n icon=\"pi pi-cloud-upload\" \n aria-label=\"\u624B\u52A8\u4FDD\u5B58\"\n [disabled]=\"saveBtnDisable()\" \n class=\"p-0\"\n (click)=\"handleSave()\">\n </p-button>\n <p-button \n variant=\"text\" \n severity=\"secondary\" \n icon=\"pi pi-times\" \n aria-label=\"\u5173\u95ED\" \n class=\"p-0\"\n (click)=\"closeNew()\">\n </p-button>\n }\n </div>\n }\n \n</div>", 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 .25rem;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}.crumb-title{color:var(--p-primary-color)}.crumb-title+.crumb-title{padding-left:.5rem}.crumb-title+.crumb-title:before{padding-right:.5rem;content:var(--breadcrumb-divider, \"/\")}:host::ng-deep .p-button-text.p-button-secondary{color:var(--p-surface-700)}:host::ng-deep .title-action .p-button{padding:0}:host::ng-deep .new-action .p-button{padding:0}:host::ng-deep .new-action .p-button button{padding-top:2px;height:100%;align-items:center}:host::ng-deep .select-crumb .p-button{padding:0;background-color:#fff;line-height:1}:host::ng-deep .select-crumb .p-button button{padding:0;width:17px;height:17px}:host::ng-deep .p-popover-content{padding:.5rem}:host::ng-deep .left-btn .p-button{height:33px;min-width:51px}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TieredMenu, selector: "p-tieredMenu, p-tieredmenu, p-tiered-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "breakpoint", "autoZIndex", "baseZIndex", "autoDisplay", "showTransitionOptions", "hideTransitionOptions", "id", "ariaLabel", "ariaLabelledBy", "disabled", "tabindex"], outputs: ["onShow", "onHide"] }] }); }
187
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: CrumbActionComponent, isStandalone: true, selector: "app-crumb-action", inputs: { isShowCog: { classPropertyName: "isShowCog", publicName: "isShowCog", isSignal: true, isRequired: false, transformFunction: null }, addVisible: { classPropertyName: "addVisible", publicName: "addVisible", isSignal: true, isRequired: false, transformFunction: null }, importVisible: { classPropertyName: "importVisible", publicName: "importVisible", isSignal: true, isRequired: false, transformFunction: null }, exportVisible: { classPropertyName: "exportVisible", publicName: "exportVisible", isSignal: true, isRequired: false, transformFunction: null }, newUrl: { classPropertyName: "newUrl", publicName: "newUrl", isSignal: true, isRequired: false, transformFunction: null }, configNewPath: { classPropertyName: "configNewPath", publicName: "configNewPath", isSignal: true, isRequired: false, transformFunction: null }, onExport: { classPropertyName: "onExport", publicName: "onExport", isSignal: true, isRequired: false, transformFunction: null }, outlined: { classPropertyName: "outlined", publicName: "outlined", isSignal: true, isRequired: false, transformFunction: null }, isList: { classPropertyName: "isList", publicName: "isList", isSignal: true, isRequired: false, transformFunction: null }, authLevel: { classPropertyName: "authLevel", publicName: "authLevel", isSignal: true, isRequired: false, transformFunction: null }, actionList: { classPropertyName: "actionList", publicName: "actionList", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, menus: { classPropertyName: "menus", publicName: "menus", isSignal: true, isRequired: false, transformFunction: null }, saveBtnDisable: { classPropertyName: "saveBtnDisable", publicName: "saveBtnDisable", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { saveEvent: "saveEvent", cancelEvent: "cancelEvent", actionEvent: "actionEvent" }, host: { listeners: { "window:resize": "resize($event)" } }, queries: [{ propertyName: "newBtnTemplateRef", first: true, predicate: ["newBtn"] }], viewQueries: [{ propertyName: "op", first: true, predicate: ["op"], descendants: true }, { propertyName: "listOp", first: true, predicate: ["listOp"], descendants: true }, { propertyName: "actOp", first: true, predicate: ["actOp"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"flex items-center gap-1\">\r\n <div class=\"left-btn flex gap-1\">\r\n <!-- TODO \u6743\u9650\u6570\u636E\u63A5\u5165 -->\r\n @if(!newBtnTemplateRef){\r\n @if(this.authLevel() > 2 && addVisible()){\r\n <p-button (click)=\"goNew()\" [outlined]=\"outlined()\">{{'app.create' | translate}}</p-button>\r\n }\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"newBtnTemplateRef\"></ng-container>\r\n }\r\n </div>\r\n @if(crumbList().length > 0){\r\n <div class=\"flex flex-col leading-none\">\r\n <div class=\"hidden md:flex\">\r\n @if(crumbList().length <= 2){\r\n @for(fchild of crumbList(); track fchild.url){\r\n <div class=\"crumb-title cursor-pointer text-[12px] max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\" (click)=\"back(fchild)\">\r\n @if(fchild.i18nKey!= ''){\r\n {{ fchild!.i18nKey | translate}}\r\n } @else {\r\n {{fchild.title}}\r\n }\r\n </div>\r\n }\r\n } @else {\r\n <div class=\"flex\">\r\n <div class=\"crumb-title cursor-pointer select-crumb\">\r\n <div class=\"w-[17px] h-[17px] flex items-center font-bold text-[13px]\" (click)=\"toggle($event)\">\r\n ...\r\n </div>\r\n <p-tieredmenu #op [model]=\"crumbFront\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\">\r\n <span class=\"ml-2 w-full\" (click)=\"back(item)\">\r\n @if(item.i18nKey!= ''){\r\n {{ item!.i18nKey | translate}}\r\n } @else {\r\n {{item.title}}\r\n }\r\n </span>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n </div>\r\n @for(item of crumbEnd;track item.url){\r\n <div class=\"crumb-title cursor-pointer text-[12px] max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\" (click)=\"back(item)\">\r\n @if(item.i18nKey!= ''){\r\n {{ item!.i18nKey | translate}}\r\n } @else {\r\n {{item.title}}\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n \r\n </div>\r\n <div class=\"min-w-0 text-text-color text-[12px] title-action\">\r\n <span\r\n [title]=\"isNew? 'New':crumbTitle().title\" \r\n class=\"hidden md:inline-block max-w-[150px] overflow-hidden text-ellipsis whitespace-nowrap\">\r\n {{isNew? 'New':crumbTitle().title}}\r\n </span>\r\n @if(isShowCog()){\r\n @if(isList()){\r\n <p-button variant=\"text\" severity=\"secondary\" icon=\"pi pi-cog\" aria-label=\"\u64CD\u4F5C\" (onClick)=\"toggleListOp($event)\"/>\r\n @if(displayOpItems().length > 0){\r\n <p-tieredmenu #listOp [model]=\"displayOpItems()\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"listAct(item)\">\r\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\r\n <span class=\"ml-2\">{{ item.label | translate }}</span>\r\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\r\n {{ item.shortcut }}\r\n </span>\r\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n }\r\n } @else {\r\n <p-button variant=\"text\" severity=\"secondary\" icon=\"pi pi-cog\" aria-label=\"\u64CD\u4F5C\" (onClick)=\"toggleAct($event)\"/>\r\n @if(actionList().length > 0 && showAct){\r\n <p-tieredmenu #actOp [model]=\"actionList()\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple \r\n class=\"flex items-center p-tieredmenu-item-link\"\r\n [class]=\"(item.auth || 0) > (authLevel() || 0) || !!item.btnHidden?.(data()) ? 'hidden' : 'block'\" \r\n (click)=\"actEvent(item)\">\r\n <span class=\"ml-2\">{{item.i18nKey ? (item.i18nKey | translate) : item.label}}</span>\r\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\r\n {{ item.shortcut }}\r\n </span>\r\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n }\r\n }\r\n }\r\n @if(this.authLevel() > 2 && !isList()){\r\n <p-button \r\n variant=\"text\" \r\n [severity]=\"setSaveClass()\" \r\n icon=\"pi pi-cloud-upload\" \r\n [loading]=\"loading()\"\r\n aria-label=\"\u624B\u52A8\u4FDD\u5B58\"\r\n [disabled]=\"saveBtnDisable()\" \r\n class=\"p-0\"\r\n (click)=\"handleSave()\">\r\n </p-button>\r\n }\r\n <!-- @if(crumbList().length >= 2){ -->\r\n <p-button \r\n variant=\"text\" \r\n severity=\"secondary\" \r\n icon=\"pi pi-times\" \r\n aria-label=\"\u5173\u95ED\" \r\n class=\"p-0\"\r\n (click)=\"closeNew()\">\r\n </p-button>\r\n <!-- } -->\r\n </div>\r\n </div>\r\n } @else {\r\n <!-- \u521D\u59CB\u8282\u70B9 -->\r\n <div class=\"min-w-0 flex items-center text-[14px] text-text-color\">\r\n <span \r\n [title]=\"crumbTitle().i18nKey != '' ? (crumbTitle().i18nKey | translate) : crumbTitle().title\"\r\n class=\"hidden md:inline-block max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\">\r\n @if(crumbTitle().i18nKey != ''){\r\n {{crumbTitle().i18nKey | translate}}\r\n } @else {\r\n {{crumbTitle().title}}\r\n }\r\n </span>\r\n @if(isShowCog()){\r\n <p-button \r\n variant=\"text\"\r\n severity=\"secondary\" \r\n icon=\"pi pi-cog\" \r\n aria-label=\"\u64CD\u4F5C\" \r\n (onClick)=\"toggleListOp($event)\"/>\r\n @if(displayOpItems().length > 0){\r\n <p-tieredmenu #listOp [model]=\"displayOpItems()\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"listAct(item)\">\r\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\r\n <span class=\"ml-2\">{{ item.label | translate }}</span>\r\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\r\n {{ item.shortcut }}\r\n </span>\r\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n }\r\n \r\n }\r\n @if(!isList()){\r\n <p-button \r\n variant=\"text\" \r\n severity=\"secondary\" \r\n icon=\"pi pi-cloud-upload\" \r\n aria-label=\"\u624B\u52A8\u4FDD\u5B58\"\r\n [disabled]=\"saveBtnDisable()\" \r\n class=\"p-0\"\r\n (click)=\"handleSave()\">\r\n </p-button>\r\n <p-button \r\n variant=\"text\" \r\n severity=\"secondary\" \r\n icon=\"pi pi-times\" \r\n aria-label=\"\u5173\u95ED\" \r\n class=\"p-0\"\r\n (click)=\"closeNew()\">\r\n </p-button>\r\n }\r\n </div>\r\n }\r\n \r\n</div>", 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 .25rem;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}.crumb-title{color:var(--p-primary-color)}.crumb-title+.crumb-title{padding-left:.5rem}.crumb-title+.crumb-title:before{padding-right:.5rem;content:var(--breadcrumb-divider, \"/\")}:host::ng-deep .p-button-text.p-button-secondary{color:var(--p-surface-700)}:host::ng-deep .title-action .p-button{padding:0}:host::ng-deep .new-action .p-button{padding:0}:host::ng-deep .new-action .p-button button{padding-top:2px;height:100%;align-items:center}:host::ng-deep .select-crumb .p-button{padding:0;background-color:#fff;line-height:1}:host::ng-deep .select-crumb .p-button button{padding:0;width:17px;height:17px}:host::ng-deep .p-popover-content{padding:.5rem}:host::ng-deep .left-btn .p-button{height:33px;min-width:51px}\n"], dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TieredMenu, selector: "p-tieredMenu, p-tieredmenu, p-tiered-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "breakpoint", "autoZIndex", "baseZIndex", "autoDisplay", "showTransitionOptions", "hideTransitionOptions", "id", "ariaLabel", "ariaLabelledBy", "disabled", "tabindex"], outputs: ["onShow", "onHide"] }] }); }
188
188
  }
189
189
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CrumbActionComponent, decorators: [{
190
190
  type: Component,
191
- args: [{ selector: 'app-crumb-action', standalone: true, imports: [ButtonModule, TranslatePipe, CommonModule, TieredMenu], template: "<div class=\"flex items-center gap-1\">\n <div class=\"left-btn flex gap-1\">\n <!-- TODO \u6743\u9650\u6570\u636E\u63A5\u5165 -->\n @if(!newBtnTemplateRef){\n @if(this.authLevel() > 2 && addVisible()){\n <p-button (click)=\"goNew()\" [outlined]=\"outlined()\">{{'app.create' | translate}}</p-button>\n }\n } @else {\n <ng-container *ngTemplateOutlet=\"newBtnTemplateRef\"></ng-container>\n }\n </div>\n @if(crumbList().length > 0){\n <div class=\"flex flex-col leading-none\">\n <div class=\"hidden md:flex\">\n @if(crumbList().length <= 2){\n @for(fchild of crumbList(); track fchild.url){\n <div class=\"crumb-title cursor-pointer text-[12px] max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\" (click)=\"back(fchild)\">\n @if(fchild.i18nKey!= ''){\n {{ fchild!.i18nKey | translate}}\n } @else {\n {{fchild.title}}\n }\n </div>\n }\n } @else {\n <div class=\"flex\">\n <div class=\"crumb-title cursor-pointer select-crumb\">\n <div class=\"w-[17px] h-[17px] flex items-center font-bold text-[13px]\" (click)=\"toggle($event)\">\n ...\n </div>\n <p-tieredmenu #op [model]=\"crumbFront\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\">\n <span class=\"ml-2 w-full\" (click)=\"back(item)\">\n @if(item.i18nKey!= ''){\n {{ item!.i18nKey | translate}}\n } @else {\n {{item.title}}\n }\n </span>\n </a>\n </ng-template>\n </p-tieredmenu>\n </div>\n @for(item of crumbEnd;track item.url){\n <div class=\"crumb-title cursor-pointer text-[12px] max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\" (click)=\"back(item)\">\n @if(item.i18nKey!= ''){\n {{ item!.i18nKey | translate}}\n } @else {\n {{item.title}}\n }\n </div>\n }\n </div>\n }\n \n </div>\n <div class=\"min-w-0 text-text-color text-[12px] title-action\">\n <span\n [title]=\"isNew? 'New':crumbTitle().title\" \n class=\"hidden md:inline-block max-w-[150px] overflow-hidden text-ellipsis whitespace-nowrap\">\n {{isNew? 'New':crumbTitle().title}}\n </span>\n @if(isShowCog()){\n @if(isList()){\n <p-button variant=\"text\" severity=\"secondary\" icon=\"pi pi-cog\" aria-label=\"\u64CD\u4F5C\" (onClick)=\"toggleListOp($event)\"/>\n @if(displayOpItems().length > 0){\n <p-tieredmenu #listOp [model]=\"displayOpItems()\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"listAct(item)\">\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\n <span class=\"ml-2\">{{ item.label | translate }}</span>\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\n {{ item.shortcut }}\n </span>\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\n </a>\n </ng-template>\n </p-tieredmenu>\n }\n } @else {\n <p-button variant=\"text\" severity=\"secondary\" icon=\"pi pi-cog\" aria-label=\"\u64CD\u4F5C\" (onClick)=\"toggleAct($event)\"/>\n @if(actionList().length > 0 && showAct){\n <p-tieredmenu #actOp [model]=\"actionList()\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\n <a pRipple \n class=\"flex items-center p-tieredmenu-item-link\"\n [class]=\"(item.auth || 0) > (authLevel() || 0) || !!item.btnHidden?.(data()) ? 'hidden' : 'block'\" \n (click)=\"actEvent(item)\">\n <span class=\"ml-2\">{{item.i18nKey ? (item.i18nKey | translate) : item.label}}</span>\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\n {{ item.shortcut }}\n </span>\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\n </a>\n </ng-template>\n </p-tieredmenu>\n }\n }\n }\n @if(this.authLevel() > 2 && !isList()){\n <p-button \n variant=\"text\" \n [severity]=\"setSaveClass()\" \n icon=\"pi pi-cloud-upload\" \n [loading]=\"loading()\"\n aria-label=\"\u624B\u52A8\u4FDD\u5B58\"\n [disabled]=\"saveBtnDisable()\" \n class=\"p-0\"\n (click)=\"handleSave()\">\n </p-button>\n }\n <!-- @if(crumbList().length >= 2){ -->\n <p-button \n variant=\"text\" \n severity=\"secondary\" \n icon=\"pi pi-times\" \n aria-label=\"\u5173\u95ED\" \n class=\"p-0\"\n (click)=\"closeNew()\">\n </p-button>\n <!-- } -->\n </div>\n </div>\n } @else {\n <!-- \u521D\u59CB\u8282\u70B9 -->\n <div class=\"min-w-0 flex items-center text-[14px] text-text-color\">\n <span \n [title]=\"crumbTitle().i18nKey != '' ? (crumbTitle().i18nKey | translate) : crumbTitle().title\"\n class=\"hidden md:inline-block max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\">\n @if(crumbTitle().i18nKey != ''){\n {{crumbTitle().i18nKey | translate}}\n } @else {\n {{crumbTitle().title}}\n }\n </span>\n @if(isShowCog()){\n <p-button \n variant=\"text\"\n severity=\"secondary\" \n icon=\"pi pi-cog\" \n aria-label=\"\u64CD\u4F5C\" \n (onClick)=\"toggleListOp($event)\"/>\n @if(displayOpItems().length > 0){\n <p-tieredmenu #listOp [model]=\"displayOpItems()\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"listAct(item)\">\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\n <span class=\"ml-2\">{{ item.label | translate }}</span>\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\n {{ item.shortcut }}\n </span>\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\n </a>\n </ng-template>\n </p-tieredmenu>\n }\n \n }\n @if(!isList()){\n <p-button \n variant=\"text\" \n severity=\"secondary\" \n icon=\"pi pi-cloud-upload\" \n aria-label=\"\u624B\u52A8\u4FDD\u5B58\"\n [disabled]=\"saveBtnDisable()\" \n class=\"p-0\"\n (click)=\"handleSave()\">\n </p-button>\n <p-button \n variant=\"text\" \n severity=\"secondary\" \n icon=\"pi pi-times\" \n aria-label=\"\u5173\u95ED\" \n class=\"p-0\"\n (click)=\"closeNew()\">\n </p-button>\n }\n </div>\n }\n \n</div>", 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 .25rem;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}.crumb-title{color:var(--p-primary-color)}.crumb-title+.crumb-title{padding-left:.5rem}.crumb-title+.crumb-title:before{padding-right:.5rem;content:var(--breadcrumb-divider, \"/\")}:host::ng-deep .p-button-text.p-button-secondary{color:var(--p-surface-700)}:host::ng-deep .title-action .p-button{padding:0}:host::ng-deep .new-action .p-button{padding:0}:host::ng-deep .new-action .p-button button{padding-top:2px;height:100%;align-items:center}:host::ng-deep .select-crumb .p-button{padding:0;background-color:#fff;line-height:1}:host::ng-deep .select-crumb .p-button button{padding:0;width:17px;height:17px}:host::ng-deep .p-popover-content{padding:.5rem}:host::ng-deep .left-btn .p-button{height:33px;min-width:51px}\n"] }]
191
+ args: [{ selector: 'app-crumb-action', standalone: true, imports: [ButtonModule, TranslatePipe, CommonModule, TieredMenu], template: "<div class=\"flex items-center gap-1\">\r\n <div class=\"left-btn flex gap-1\">\r\n <!-- TODO \u6743\u9650\u6570\u636E\u63A5\u5165 -->\r\n @if(!newBtnTemplateRef){\r\n @if(this.authLevel() > 2 && addVisible()){\r\n <p-button (click)=\"goNew()\" [outlined]=\"outlined()\">{{'app.create' | translate}}</p-button>\r\n }\r\n } @else {\r\n <ng-container *ngTemplateOutlet=\"newBtnTemplateRef\"></ng-container>\r\n }\r\n </div>\r\n @if(crumbList().length > 0){\r\n <div class=\"flex flex-col leading-none\">\r\n <div class=\"hidden md:flex\">\r\n @if(crumbList().length <= 2){\r\n @for(fchild of crumbList(); track fchild.url){\r\n <div class=\"crumb-title cursor-pointer text-[12px] max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\" (click)=\"back(fchild)\">\r\n @if(fchild.i18nKey!= ''){\r\n {{ fchild!.i18nKey | translate}}\r\n } @else {\r\n {{fchild.title}}\r\n }\r\n </div>\r\n }\r\n } @else {\r\n <div class=\"flex\">\r\n <div class=\"crumb-title cursor-pointer select-crumb\">\r\n <div class=\"w-[17px] h-[17px] flex items-center font-bold text-[13px]\" (click)=\"toggle($event)\">\r\n ...\r\n </div>\r\n <p-tieredmenu #op [model]=\"crumbFront\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\">\r\n <span class=\"ml-2 w-full\" (click)=\"back(item)\">\r\n @if(item.i18nKey!= ''){\r\n {{ item!.i18nKey | translate}}\r\n } @else {\r\n {{item.title}}\r\n }\r\n </span>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n </div>\r\n @for(item of crumbEnd;track item.url){\r\n <div class=\"crumb-title cursor-pointer text-[12px] max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\" (click)=\"back(item)\">\r\n @if(item.i18nKey!= ''){\r\n {{ item!.i18nKey | translate}}\r\n } @else {\r\n {{item.title}}\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n \r\n </div>\r\n <div class=\"min-w-0 text-text-color text-[12px] title-action\">\r\n <span\r\n [title]=\"isNew? 'New':crumbTitle().title\" \r\n class=\"hidden md:inline-block max-w-[150px] overflow-hidden text-ellipsis whitespace-nowrap\">\r\n {{isNew? 'New':crumbTitle().title}}\r\n </span>\r\n @if(isShowCog()){\r\n @if(isList()){\r\n <p-button variant=\"text\" severity=\"secondary\" icon=\"pi pi-cog\" aria-label=\"\u64CD\u4F5C\" (onClick)=\"toggleListOp($event)\"/>\r\n @if(displayOpItems().length > 0){\r\n <p-tieredmenu #listOp [model]=\"displayOpItems()\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"listAct(item)\">\r\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\r\n <span class=\"ml-2\">{{ item.label | translate }}</span>\r\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\r\n {{ item.shortcut }}\r\n </span>\r\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n }\r\n } @else {\r\n <p-button variant=\"text\" severity=\"secondary\" icon=\"pi pi-cog\" aria-label=\"\u64CD\u4F5C\" (onClick)=\"toggleAct($event)\"/>\r\n @if(actionList().length > 0 && showAct){\r\n <p-tieredmenu #actOp [model]=\"actionList()\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple \r\n class=\"flex items-center p-tieredmenu-item-link\"\r\n [class]=\"(item.auth || 0) > (authLevel() || 0) || !!item.btnHidden?.(data()) ? 'hidden' : 'block'\" \r\n (click)=\"actEvent(item)\">\r\n <span class=\"ml-2\">{{item.i18nKey ? (item.i18nKey | translate) : item.label}}</span>\r\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\r\n {{ item.shortcut }}\r\n </span>\r\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n }\r\n }\r\n }\r\n @if(this.authLevel() > 2 && !isList()){\r\n <p-button \r\n variant=\"text\" \r\n [severity]=\"setSaveClass()\" \r\n icon=\"pi pi-cloud-upload\" \r\n [loading]=\"loading()\"\r\n aria-label=\"\u624B\u52A8\u4FDD\u5B58\"\r\n [disabled]=\"saveBtnDisable()\" \r\n class=\"p-0\"\r\n (click)=\"handleSave()\">\r\n </p-button>\r\n }\r\n <!-- @if(crumbList().length >= 2){ -->\r\n <p-button \r\n variant=\"text\" \r\n severity=\"secondary\" \r\n icon=\"pi pi-times\" \r\n aria-label=\"\u5173\u95ED\" \r\n class=\"p-0\"\r\n (click)=\"closeNew()\">\r\n </p-button>\r\n <!-- } -->\r\n </div>\r\n </div>\r\n } @else {\r\n <!-- \u521D\u59CB\u8282\u70B9 -->\r\n <div class=\"min-w-0 flex items-center text-[14px] text-text-color\">\r\n <span \r\n [title]=\"crumbTitle().i18nKey != '' ? (crumbTitle().i18nKey | translate) : crumbTitle().title\"\r\n class=\"hidden md:inline-block max-w-[120px] overflow-hidden whitespace-nowrap text-ellipsis\">\r\n @if(crumbTitle().i18nKey != ''){\r\n {{crumbTitle().i18nKey | translate}}\r\n } @else {\r\n {{crumbTitle().title}}\r\n }\r\n </span>\r\n @if(isShowCog()){\r\n <p-button \r\n variant=\"text\"\r\n severity=\"secondary\" \r\n icon=\"pi pi-cog\" \r\n aria-label=\"\u64CD\u4F5C\" \r\n (onClick)=\"toggleListOp($event)\"/>\r\n @if(displayOpItems().length > 0){\r\n <p-tieredmenu #listOp [model]=\"displayOpItems()\" [popup]=\"true\" [style]=\"{position:'absolute'}\">\r\n <ng-template #item let-item let-hasSubmenu=\"hasSubmenu\">\r\n <a pRipple class=\"flex items-center p-tieredmenu-item-link\" (click)=\"listAct(item)\">\r\n <span [class]=\"item.icon\" class=\"p-tieredmenu-item-icon\"></span>\r\n <span class=\"ml-2\">{{ item.label | translate }}</span>\r\n <span *ngIf=\"item.shortcut\" class=\"ml-auto border border-surface rounded bg-emphasis text-muted-color text-xs p-1\">\r\n {{ item.shortcut }}\r\n </span>\r\n <i *ngIf=\"hasSubmenu\" class=\"pi pi-angle-right ml-auto\"></i>\r\n </a>\r\n </ng-template>\r\n </p-tieredmenu>\r\n }\r\n \r\n }\r\n @if(!isList()){\r\n <p-button \r\n variant=\"text\" \r\n severity=\"secondary\" \r\n icon=\"pi pi-cloud-upload\" \r\n aria-label=\"\u624B\u52A8\u4FDD\u5B58\"\r\n [disabled]=\"saveBtnDisable()\" \r\n class=\"p-0\"\r\n (click)=\"handleSave()\">\r\n </p-button>\r\n <p-button \r\n variant=\"text\" \r\n severity=\"secondary\" \r\n icon=\"pi pi-times\" \r\n aria-label=\"\u5173\u95ED\" \r\n class=\"p-0\"\r\n (click)=\"closeNew()\">\r\n </p-button>\r\n }\r\n </div>\r\n }\r\n \r\n</div>", 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 .25rem;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}.crumb-title{color:var(--p-primary-color)}.crumb-title+.crumb-title{padding-left:.5rem}.crumb-title+.crumb-title:before{padding-right:.5rem;content:var(--breadcrumb-divider, \"/\")}:host::ng-deep .p-button-text.p-button-secondary{color:var(--p-surface-700)}:host::ng-deep .title-action .p-button{padding:0}:host::ng-deep .new-action .p-button{padding:0}:host::ng-deep .new-action .p-button button{padding-top:2px;height:100%;align-items:center}:host::ng-deep .select-crumb .p-button{padding:0;background-color:#fff;line-height:1}:host::ng-deep .select-crumb .p-button button{padding:0;width:17px;height:17px}:host::ng-deep .p-popover-content{padding:.5rem}:host::ng-deep .left-btn .p-button{height:33px;min-width:51px}\n"] }]
192
192
  }], ctorParameters: () => [], propDecorators: { op: [{
193
193
  type: ViewChild,
194
194
  args: ['op']
@@ -205,4 +205,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
205
205
  type: HostListener,
206
206
  args: ['window:resize', ['$event']]
207
207
  }] } });
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1bWItYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvY3J1bWItYWN0aW9uL2NydW1iLWFjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2NydW1iLWFjdGlvbi9jcnVtYi1hY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFDTixTQUFTLEVBQ1QsUUFBUSxFQUNSLFlBQVksRUFDWixNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUVOLE1BQU0sRUFFTixTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFlLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQVFoRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsV0FBVztJQXlFcEQ7UUFDQyxLQUFLLEVBQUUsQ0FBQztRQXpFVCx1QkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNoRCxXQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9CLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3pCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENB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UUFDMUIsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsWUFBWTtRQUNYLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUMvQyxDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDOytHQXhMVyxvQkFBb0I7bUdBQXBCLG9CQUFvQiwwNUVDOUJqQyw0OFBBcUxNLHE0TUQzSkssWUFBWSw2YUFBRSxhQUFhLGlEQUFFLFlBQVksMFNBQUUsVUFBVTs7NEZBSW5ELG9CQUFvQjtrQkFQaEMsU0FBUzsrQkFDQyxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDO3dEQXlCL0MsRUFBRTtzQkFBbEIsU0FBUzt1QkFBQyxJQUFJO2dCQUNNLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFDQyxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBeUM4QixpQkFBaUI7c0JBQWhFLFlBQVk7dUJBQUMsUUFBUSxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRTtnQkFxQzlDLE1BQU07c0JBREwsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbUNvbXBvbmVudCB9IGZyb20gJy4vLi4vYW0vYW0uY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuXHRDb21wb25lbnQsXHJcblx0Y29tcHV0ZWQsXHJcblx0Q29udGVudENoaWxkLFxyXG5cdGVmZmVjdCxcclxuXHRIb3N0TGlzdGVuZXIsXHJcblx0aW5qZWN0LFxyXG5cdGlucHV0LFxyXG5cdE9uSW5pdCxcclxuXHRvdXRwdXQsXHJcblx0T3V0cHV0LFxyXG5cdHNpZ25hbCxcclxuXHRUZW1wbGF0ZVJlZixcclxuXHRWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVzZXJIaXN0b3J5U2VydmljZSwgSGlzdG9yeUl0ZW0sIEFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9wdWJsaWMtYXBpJztcclxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IFBvcG92ZXIgfSBmcm9tICdwcmltZW5nL3BvcG92ZXInO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBUaWVyZWRNZW51IH0gZnJvbSAncHJpbWVuZy90aWVyZWRtZW51JztcclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcHAtY3J1bWItYWN0aW9uJyxcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdGltcG9ydHM6IFtCdXR0b25Nb2R1bGUsIFRyYW5zbGF0ZVBpcGUsIENvbW1vbk1vZHVsZSwgVGllcmVkTWVudV0sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2NydW1iLWFjdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmw6ICcuL2NydW1iLWFjdGlvbi5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDcnVtYkFjdGlvbkNvbXBvbmVudCBleHRlbmRzIEFtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHR1c2VySGlzdG9yeVNlcnZpY2UgPSBpbmplY3QoVXNlckhpc3RvcnlTZXJ2aWNlKTtcclxuXHRhY3Rpb24gPSBpbmplY3QoQWN0aW9uU2VydmljZSk7XHJcblx0Y3J1bWJMaXN0ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG5cdFx0bGV0IGNydW1iID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnVzZXJIaXN0b3J5U2VydmljZS5oaXN0b3J5TGlzdCgpKSk7XHJcblx0XHQvLyBjb25zb2xlLmxvZygnY3J1bWInLGNydW1iKVxyXG5cdFx0Ly8gQHRzLWlnbm9yZVxyXG5cdFx0Y29uc3QgaXNJMThuID0gd2luZG93LmFwcElzSTE4bjtcclxuXHRcdGlmICghaXNJMThuKSB7XHJcblx0XHRcdGNydW1iLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xyXG5cdFx0XHRcdGl0ZW0uaTE4bktleSA9ICcnO1xyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHRcdHJldHVybiBjcnVtYi5tYXAoKHY6IGFueSkgPT4gdik7XHJcblx0fSk7XHJcblx0Y3J1bWJUaXRsZSA9IHNpZ25hbDxhbnk+KHt9KTtcclxuXHQvLyByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcclxuXHRpc05ldyA9IGZhbHNlO1xyXG5cdGlzU2hvd0NvZyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRjcnVtYkZyb250OiBIaXN0b3J5SXRlbVtdID0gW107XHJcblx0Y3J1bWJFbmQ6IEhpc3RvcnlJdGVtW10gPSBbXTtcclxuXHRAVmlld0NoaWxkKCdvcCcpIG9wITogUG9wb3ZlcjtcclxuXHRAVmlld0NoaWxkKCdsaXN0T3AnKSBsaXN0T3AhOiBQb3BvdmVyO1xyXG5cdEBWaWV3Q2hpbGQoJ2FjdE9wJykgYWN0T3AhOiBQb3BvdmVyO1xyXG5cdHNhdmVFdmVudCA9IG91dHB1dCgpO1xyXG5cdC8vIOaWsOW7uuaMiemSrlxyXG5cdGFkZFZpc2libGUgPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkPigpO1xyXG5cdGltcG9ydFZpc2libGUgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHRleHBvcnRWaXNpYmxlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblx0bmV3VXJsID0gaW5wdXQ8c3RyaW5nPignJyk7XHJcblx0Y29uZmlnTmV3UGF0aCA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdG9uRXhwb3J0ID0gaW5wdXQ8RnVuY3Rpb24+KCk7XHJcblx0Ly8g5paw5bu65oyJ6ZKub3V0bGluZVxyXG5cdG91dGxpbmVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdC8vIOaYr+WQpuaYr+WIl+ihqOmhtemdolxyXG5cdGlzTGlzdCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHQvLyDmnYPpmZDnrYnnuqdcclxuXHRhdXRoTGV2ZWwgPSBpbnB1dDxudW1iZXI+KC0xKTtcclxuXHRjYW5jZWxFdmVudCA9IG91dHB1dCgpO1xyXG5cdGFjdGlvbkxpc3QgPSBpbnB1dDxhbnk+KFtdKTtcclxuXHRhY3Rpb25FdmVudCA9IG91dHB1dCgpO1xyXG5cdGRhdGEgPSBpbnB1dDxhbnk+KCk7XHJcblx0c2hvd0FjdCA9IGZhbHNlO1xyXG5cdG1lbnVzID0gaW5wdXQ8YW55W10+KFtdKTtcclxuXHRkaXNwbGF5T3BJdGVtcyA9IGNvbXB1dGVkKCgpID0+IHtcclxuXHRcdGNvbnN0IGxpc3RPcEl0ZW1zID0gWy4uLnRoaXMubWVudXMoKV07XHJcblx0XHRpZiAodGhpcy5leHBvcnRWaXNpYmxlKCkpIHtcclxuXHRcdFx0bGlzdE9wSXRlbXMucHVzaCh7XHJcblx0XHRcdFx0bGFiZWw6ICdhcHAudGFibGVBY0V4cG9ydCcsXHJcblx0XHRcdFx0dHlwZTogJ2V4cG9ydCcsXHJcblx0XHRcdFx0aWNvbjogJ3BpIHBpLWRvd25sb2FkJyxcclxuXHRcdFx0XHRhdXRoOiAzLFxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHRcdGlmICh0aGlzLmltcG9ydFZpc2libGUoKSkge1xyXG5cdFx0XHRsaXN0T3BJdGVtcy5wdXNoKHtcclxuXHRcdFx0XHRsYWJlbDogJ2FwcC50YWJsZUFjSW1wb3J0JyxcclxuXHRcdFx0XHR0eXBlOiAnaW1wb3J0JyxcclxuXHRcdFx0XHRpY29uOiAncGkgcGktdXBsb2FkJyxcclxuXHRcdFx0XHRhdXRoOiAyLFxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHRcdHJldHVybiBsaXN0T3BJdGVtcy5maWx0ZXIoKHYpID0+IHRoaXMuYXV0aExldmVsKCkgPj0gdi5hdXRoKTtcclxuXHR9KTtcclxuXHRAQ29udGVudENoaWxkKCduZXdCdG4nLCB7IGRlc2NlbmRhbnRzOiBmYWxzZSB9KSBuZXdCdG5UZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcclxuXHRpc1NhdmUgPSBjb21wdXRlZCgoKSA9PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5hY3Rpb24uc2F2ZVNpZ25hbCgpO1xyXG5cdH0pO1xyXG5cdGxvYWRpbmcgPSBjb21wdXRlZCgoKSA9PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5hY3Rpb24ubG9hZGluZygpO1xyXG5cdH0pO1xyXG5cdHNhdmVCdG5EaXNhYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdGN1cnJlbnRQYWdlVXJsID0gJyc7XHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHRzdXBlcigpO1xyXG5cdFx0ZWZmZWN0KFxyXG5cdFx0XHQoKSA9PiB7XHJcblx0XHRcdFx0bGV0IGxhc3QgPSB0aGlzLmNydW1iTGlzdCgpLnBvcCgpO1xyXG5cdFx0XHRcdGlmIChsYXN0Py51cmwpIHtcclxuXHRcdFx0XHRcdHRoaXMuaXNOZXcgPSBsYXN0LnVybD8uaW5kZXhPZignbmV3JykgPiAtMSA/IHRydWUgOiBmYWxzZTtcclxuXHRcdFx0XHRcdHRoaXMuY3VycmVudFBhZ2VVcmwgPSBsYXN0LnVybDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKGxhc3Q/LnRpdGxlKSB7XHJcblx0XHRcdFx0XHR0aGlzLmNydW1iVGl0bGUuc2V0KGxhc3QpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Y29uc3QgbGVuZ3RoID0gdGhpcy5jcnVtYkxpc3QoKS5sZW5ndGg7XHJcblx0XHRcdFx0aWYgKGxlbmd0aCA+IDIpIHtcclxuXHRcdFx0XHRcdHRoaXMuY3J1bWJGcm9udCA9IHRoaXMuY3J1bWJMaXN0KClcclxuXHRcdFx0XHRcdFx0Lm1hcCgodjogYW55KSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0di5sYWJlbCA9IHYudGl0bGU7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHY7XHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdC5maWx0ZXIoKHY6IEhpc3RvcnlJdGVtLCBpbmRleDogbnVtYmVyKSA9PiBpbmRleCA8PSBsZW5ndGggLSAxIC0gMik7XHJcblx0XHRcdFx0XHR0aGlzLmNydW1iRW5kID0gW3RoaXMuY3J1bWJMaXN0KClbbGVuZ3RoIC0gMl0sIHRoaXMuY3J1bWJMaXN0KClbbGVuZ3RoIC0gMV1dO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxyXG5cdFx0KTtcclxuXHR9XHJcblx0QEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcblx0cmVzaXplKGV2ZW50OiBhbnkpIHtcclxuXHRcdGxldCB3aW5kb3dXaWR0aCA9IChldmVudC50YXJnZXQgYXMgV2luZG93KS5pbm5lcldpZHRoO1xyXG5cdFx0aWYgKHdpbmRvd1dpZHRoIDwgNzY4KSB7XHJcblx0XHRcdHRoaXMuc2hvd0FjdCA9IHRydWU7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLnNob3dBY3QgPSBmYWxzZTtcclxuXHRcdH1cclxuXHR9XHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHR0aGlzLnNob3dBY3QgPSB3aW5kb3cuaW5uZXJXaWR0aCA8IDc2OCA/IHRydWUgOiBmYWxzZTtcclxuXHR9XHJcblxyXG5cdGdvTmV3KCkge1xyXG5cdFx0aWYgKCF0aGlzLmNvbmZpZ05ld1BhdGgoKSkge1xyXG5cdFx0XHRpZiAodGhpcy5uZXdVcmwoKSA9PSAnJykgcmV0dXJuO1xyXG5cdFx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5uZXdVcmwoKV0pLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdHRoaXMudXNlckhpc3RvcnlTZXJ2aWNlLnNldExhc3RUaXRsZSgnTmV3Jyk7XHJcblx0XHRcdH0pO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMuY29uZmlnTmV3UGF0aCgpXSkudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0dGhpcy51c2VySGlzdG9yeVNlcnZpY2Uuc2V0TGFzdFRpdGxlKCdOZXcnKTtcclxuXHRcdFx0XHR0aGlzLnVzZXJIaXN0b3J5U2VydmljZS5maWx0ZXJVcmwodGhpcy5jdXJyZW50UGFnZVVybCk7XHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Y2xvc2VOZXcoKSB7XHJcblx0XHRsZXQgbGVuZ3RoID0gdGhpcy5jcnVtYkxpc3QoKS5sZW5ndGg7XHJcblx0XHRsZXQgbGFzdCA9IHRoaXMuY3J1bWJMaXN0KClbbGVuZ3RoIC0gMV07XHJcblx0XHRpZiAobGFzdCkge1xyXG5cdFx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZShbbGFzdC51cmxdKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMuY2FuY2VsRXZlbnQuZW1pdCgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aGFuZGxlU2F2ZSgpIHtcclxuXHRcdHRoaXMuc2F2ZUV2ZW50LmVtaXQoKTtcclxuXHR9XHJcblxyXG5cdGJhY2soaXRlbTogYW55KSB7XHJcblx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZShbaXRlbS51cmxdKTtcclxuXHR9XHJcblxyXG5cdHRvZ2dsZShldmVudDogYW55KSB7XHJcblx0XHR0aGlzLm9wLnRvZ2dsZShldmVudCk7XHJcblx0fVxyXG5cclxuXHR0b2dnbGVMaXN0T3AoZXZlbnQ6IGFueSkge1xyXG5cdFx0aWYgKCF0aGlzLmlzTGlzdCgpKSByZXR1cm47XHJcblx0XHR0aGlzLmxpc3RPcCAmJiB0aGlzLmxpc3RPcC50b2dnbGUoZXZlbnQpO1xyXG5cdH1cclxuXHJcblx0bGlzdEFjdChpdGVtOiBhbnkpIHtcclxuXHRcdGlmIChpdGVtLnR5cGUgPT09ICdleHBvcnQnKSB7XHJcblx0XHRcdGlmKHRoaXMub25FeHBvcnQoKSAmJiB0eXBlb2YgdGhpcy5vbkV4cG9ydCgpID09ICdmdW5jdGlvbicpe1xyXG5cdFx0XHRcdHRoaXMub25FeHBvcnQgJiYgdGhpcy5vbkV4cG9ydCgpISgpO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHRoaXMuYWN0aW9uLnNldEFjdGlvbih7IHR5cGU6IGl0ZW0udHlwZSB9KTtcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIGlmIChpdGVtLnR5cGUgPT09ICdpbXBvcnQnKSB7XHJcblx0XHRcdHRoaXMuYWN0aW9uLnNldEFjdGlvbih7IHR5cGU6IGl0ZW0udHlwZSB9KTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGlmIChpdGVtLmhhc093blByb3BlcnR5KCdvbkNsaWNrJykgJiYgdHlwZW9mIGl0ZW0ub25DbGljayA9PT0gJ2Z1bmN0aW9uJykge1xyXG5cdFx0XHRcdGl0ZW0ub25DbGljayhpdGVtKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YWN0RXZlbnQoaXRlbTogYW55KSB7XHJcblx0XHR0aGlzLmFjdGlvbkV2ZW50LmVtaXQoaXRlbSk7XHJcblx0fVxyXG5cclxuXHR0b2dnbGVBY3QoZXZlbnQ6IGFueSkge1xyXG5cdFx0aWYgKHRoaXMuaXNMaXN0KCkpIHJldHVybjtcclxuXHRcdHRoaXMuYWN0T3AgJiYgdGhpcy5hY3RPcC50b2dnbGUoZXZlbnQpO1xyXG5cdH1cclxuXHRzZXRTYXZlQ2xhc3MoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5pc1NhdmUoKSA/ICdkYW5nZXInIDogJ3NlY29uZGFyeSc7XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpIHtcclxuXHRcdHRoaXMuYWN0aW9uLnNhdmVTaWduYWwuc2V0KGZhbHNlKTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xXCI+XG4gIDxkaXYgY2xhc3M9XCJsZWZ0LWJ0biBmbGV4IGdhcC0xXCI+XG4gICAgPCEtLSBUT0RPIOadg+mZkOaVsOaNruaOpeWFpSAtLT5cbiAgICBAaWYoIW5ld0J0blRlbXBsYXRlUmVmKXtcbiAgICAgIEBpZih0aGlzLmF1dGhMZXZlbCgpID4gMiAmJiBhZGRWaXNpYmxlKCkpe1xuICAgICAgICA8cC1idXR0b24gKGNsaWNrKT1cImdvTmV3KClcIiBbb3V0bGluZWRdPVwib3V0bGluZWQoKVwiPnt7J2FwcC5jcmVhdGUnIHwgdHJhbnNsYXRlfX08L3AtYnV0dG9uPlxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5ld0J0blRlbXBsYXRlUmVmXCI+PC9uZy1jb250YWluZXI+XG4gICAgfVxuICA8L2Rpdj5cbiAgQGlmKGNydW1iTGlzdCgpLmxlbmd0aCA+IDApe1xuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGxlYWRpbmctbm9uZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImhpZGRlbiBtZDpmbGV4XCI+XG4gICAgICAgIEBpZihjcnVtYkxpc3QoKS5sZW5ndGggPD0gMil7XG4gICAgICAgICAgQGZvcihmY2hpbGQgb2YgY3J1bWJMaXN0KCk7IHRyYWNrIGZjaGlsZC51cmwpe1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNydW1iLXRpdGxlIGN1cnNvci1wb2ludGVyIHRleHQtWzEycHhdIG1heC13LVsxMjBweF0gb3ZlcmZsb3ctaGlkZGVuIHdoaXRlc3BhY2Utbm93cmFwIHRleHQtZWxsaXBzaXNcIiAoY2xpY2spPVwiYmFjayhmY2hpbGQpXCI+XG4gICAgICAgICAgICAgICBAaWYoZmNoaWxkLmkxOG5LZXkhPSAnJyl7XG4gICAgICAgICAgICAgICAge3sgZmNoaWxkIS5pMThuS2V5IHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIHt7ZmNoaWxkLnRpdGxlfX1cbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXhcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcnVtYi10aXRsZSBjdXJzb3ItcG9pbnRlciBzZWxlY3QtY3J1bWJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctWzE3cHhdIGgtWzE3cHhdIGZsZXggaXRlbXMtY2VudGVyIGZvbnQtYm9sZCB0ZXh0LVsxM3B4XVwiIChjbGljayk9XCJ0b2dnbGUoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgIC4uLlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPHAtdGllcmVkbWVudSAjb3AgW21vZGVsXT1cImNydW1iRnJvbnRcIiBbcG9wdXBdPVwidHJ1ZVwiIFtzdHlsZV09XCJ7cG9zaXRpb246J2Fic29sdXRlJ31cIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2l0ZW0gbGV0LWl0ZW0gbGV0LWhhc1N1Ym1lbnU9XCJoYXNTdWJtZW51XCI+XG4gICAgICAgICAgICAgICAgICA8YSBwUmlwcGxlIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgcC10aWVyZWRtZW51LWl0ZW0tbGlua1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtMiB3LWZ1bGxcIiAoY2xpY2spPVwiYmFjayhpdGVtKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmKGl0ZW0uaTE4bktleSE9ICcnKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbSEuaTE4bktleSB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7aXRlbS50aXRsZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8L3AtdGllcmVkbWVudT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgQGZvcihpdGVtIG9mIGNydW1iRW5kO3RyYWNrIGl0ZW0udXJsKXtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNydW1iLXRpdGxlIGN1cnNvci1wb2ludGVyIHRleHQtWzEycHhdIG1heC13LVsxMjBweF0gb3ZlcmZsb3ctaGlkZGVuIHdoaXRlc3BhY2Utbm93cmFwIHRleHQtZWxsaXBzaXNcIiAoY2xpY2spPVwiYmFjayhpdGVtKVwiPlxuICAgICAgICAgICAgICAgIEBpZihpdGVtLmkxOG5LZXkhPSAnJyl7XG4gICAgICAgICAgICAgICAgICB7eyBpdGVtIS5pMThuS2V5IHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICB7e2l0ZW0udGl0bGV9fVxuICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWluLXctMCB0ZXh0LXRleHQtY29sb3IgdGV4dC1bMTJweF0gdGl0bGUtYWN0aW9uXCI+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgW3RpdGxlXT1cImlzTmV3PyAnTmV3JzpjcnVtYlRpdGxlKCkudGl0bGVcIiBcbiAgICAgICAgICBjbGFzcz1cImhpZGRlbiBtZDppbmxpbmUtYmxvY2sgbWF4LXctWzE1MHB4XSBvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyB3aGl0ZXNwYWNlLW5vd3JhcFwiPlxuICAgICAgICAgIHt7aXNOZXc/ICdOZXcnOmNydW1iVGl0bGUoKS50aXRsZX19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgQGlmKGlzU2hvd0NvZygpKXtcbiAgICAgICAgICBAaWYoaXNMaXN0KCkpe1xuICAgICAgICAgICAgPHAtYnV0dG9uIHZhcmlhbnQ9XCJ0ZXh0XCIgc2V2ZXJpdHk9XCJzZWNvbmRhcnlcIiBpY29uPVwicGkgIHBpLWNvZ1wiIGFyaWEtbGFiZWw9XCLmk43kvZxcIiAob25DbGljayk9XCJ0b2dnbGVMaXN0T3AoJGV2ZW50KVwiLz5cbiAgICAgICAgICAgIEBpZihkaXNwbGF5T3BJdGVtcygpLmxlbmd0aCA+IDApe1xuICAgICAgICAgICAgICA8cC10aWVyZWRtZW51ICNsaXN0T3AgW21vZGVsXT1cImRpc3BsYXlPcEl0ZW1zKClcIiBbcG9wdXBdPVwidHJ1ZVwiIFtzdHlsZV09XCJ7cG9zaXRpb246J2Fic29sdXRlJ31cIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2l0ZW0gbGV0LWl0ZW0gbGV0LWhhc1N1Ym1lbnU9XCJoYXNTdWJtZW51XCI+XG4gICAgICAgICAgICAgICAgICA8YSBwUmlwcGxlIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgcC10aWVyZWRtZW51LWl0ZW0tbGlua1wiIChjbGljayk9XCJsaXN0QWN0KGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIFtjbGFzc109XCJpdGVtLmljb25cIiBjbGFzcz1cInAtdGllcmVkbWVudS1pdGVtLWljb25cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtMlwiPnt7IGl0ZW0ubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5zaG9ydGN1dFwiIGNsYXNzPVwibWwtYXV0byBib3JkZXIgYm9yZGVyLXN1cmZhY2Ugcm91bmRlZCBiZy1lbXBoYXNpcyB0ZXh0LW11dGVkLWNvbG9yIHRleHQteHMgcC0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnNob3J0Y3V0IH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJoYXNTdWJtZW51XCIgY2xhc3M9XCJwaSBwaS1hbmdsZS1yaWdodCBtbC1hdXRvXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8L3AtdGllcmVkbWVudT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxwLWJ1dHRvbiB2YXJpYW50PVwidGV4dFwiIHNldmVyaXR5PVwic2Vjb25kYXJ5XCIgaWNvbj1cInBpICBwaS1jb2dcIiBhcmlhLWxhYmVsPVwi5pON5L2cXCIgKG9uQ2xpY2spPVwidG9nZ2xlQWN0KCRldmVudClcIi8+XG4gICAgICAgICAgICBAaWYoYWN0aW9uTGlzdCgpLmxlbmd0aCA+IDAgJiYgc2hvd0FjdCl7XG4gICAgICAgICAgICAgIDxwLXRpZXJlZG1lbnUgI2FjdE9wIFttb2RlbF09XCJhY3Rpb25MaXN0KClcIiBbcG9wdXBdPVwidHJ1ZVwiIFtzdHlsZV09XCJ7cG9zaXRpb246J2Fic29sdXRlJ31cIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2l0ZW0gbGV0LWl0ZW0gbGV0LWhhc1N1Ym1lbnU9XCJoYXNTdWJtZW51XCI+XG4gICAgICAgICAgICAgICAgICA8YSBwUmlwcGxlIFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHAtdGllcmVkbWVudS1pdGVtLWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiKGl0ZW0uYXV0aCB8fCAwKSA+IChhdXRoTGV2ZWwoKSB8fCAwKSB8fCAhIWl0ZW0uYnRuSGlkZGVuPy4oZGF0YSgpKSA/ICdoaWRkZW4nIDogJ2Jsb2NrJ1wiIFxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0RXZlbnQoaXRlbSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtbC0yXCI+e3tpdGVtLmkxOG5LZXkgPyAoaXRlbS5pMThuS2V5IHwgdHJhbnNsYXRlKSA6IGl0ZW0ubGFiZWx9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLnNob3J0Y3V0XCIgY2xhc3M9XCJtbC1hdXRvIGJvcmRlciBib3JkZXItc3VyZmFjZSByb3VuZGVkIGJnLWVtcGhhc2lzIHRleHQtbXV0ZWQtY29sb3IgdGV4dC14cyBwLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uc2hvcnRjdXQgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImhhc1N1Ym1lbnVcIiBjbGFzcz1cInBpIHBpLWFuZ2xlLXJpZ2h0IG1sLWF1dG9cIj48L2k+XG4gICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9wLXRpZXJlZG1lbnU+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpZih0aGlzLmF1dGhMZXZlbCgpID4gMiAmJiAhaXNMaXN0KCkpe1xuICAgICAgICAgIDxwLWJ1dHRvbiBcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCIgXG4gICAgICAgICAgICBbc2V2ZXJpdHldPVwic2V0U2F2ZUNsYXNzKClcIiBcbiAgICAgICAgICAgIGljb249XCJwaSAgcGktY2xvdWQtdXBsb2FkXCIgXG4gICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nKClcIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIuaJi+WKqOS/neWtmFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwic2F2ZUJ0bkRpc2FibGUoKVwiIFxuICAgICAgICAgICAgY2xhc3M9XCJwLTBcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVNhdmUoKVwiPlxuICAgICAgICAgIDwvcC1idXR0b24+XG4gICAgICAgIH1cbiAgICAgICAgPCEtLSBAaWYoY3J1bWJMaXN0KCkubGVuZ3RoID49IDIpeyAtLT5cbiAgICAgICAgICA8cC1idXR0b24gXG4gICAgICAgICAgICB2YXJpYW50PVwidGV4dFwiIFxuICAgICAgICAgICAgc2V2ZXJpdHk9XCJzZWNvbmRhcnlcIiBcbiAgICAgICAgICAgIGljb249XCJwaSAgcGktdGltZXNcIiBcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9XCLlhbPpl61cIiBcbiAgICAgICAgICAgIGNsYXNzPVwicC0wXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbG9zZU5ldygpXCI+XG4gICAgICAgICAgPC9wLWJ1dHRvbj5cbiAgICAgICAgPCEtLSB9IC0tPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH0gQGVsc2Uge1xuICAgIDwhLS0g5Yid5aeL6IqC54K5IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJtaW4tdy0wIGZsZXggaXRlbXMtY2VudGVyIHRleHQtWzE0cHhdIHRleHQtdGV4dC1jb2xvclwiPlxuICAgICAgPHNwYW4gXG4gICAgICAgIFt0aXRsZV09XCJjcnVtYlRpdGxlKCkuaTE4bktleSAhPSAnJyA/IChjcnVtYlRpdGxlKCkuaTE4bktleSB8IHRyYW5zbGF0ZSkgOiBjcnVtYlRpdGxlKCkudGl0bGVcIlxuICAgICAgICBjbGFzcz1cImhpZGRlbiBtZDppbmxpbmUtYmxvY2sgbWF4LXctWzEyMHB4XSBvdmVyZmxvdy1oaWRkZW4gd2hpdGVzcGFjZS1ub3dyYXAgdGV4dC1lbGxpcHNpc1wiPlxuICAgICAgICBAaWYoY3J1bWJUaXRsZSgpLmkxOG5LZXkgIT0gJycpe1xuICAgICAgICAgIHt7Y3J1bWJUaXRsZSgpLmkxOG5LZXkgfCB0cmFuc2xhdGV9fVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICB7e2NydW1iVGl0bGUoKS50aXRsZX19XG4gICAgICAgIH1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIEBpZihpc1Nob3dDb2coKSl7XG4gICAgICAgIDxwLWJ1dHRvbiBcbiAgICAgICAgICB2YXJpYW50PVwidGV4dFwiXG4gICAgICAgICAgc2V2ZXJpdHk9XCJzZWNvbmRhcnlcIiBcbiAgICAgICAgICBpY29uPVwicGkgIHBpLWNvZ1wiIFxuICAgICAgICAgIGFyaWEtbGFiZWw9XCLmk43kvZxcIiBcbiAgICAgICAgICAob25DbGljayk9XCJ0b2dnbGVMaXN0T3AoJGV2ZW50KVwiLz5cbiAgICAgICAgICBAaWYoZGlzcGxheU9wSXRlbXMoKS5sZW5ndGggPiAwKXtcbiAgICAgICAgICAgIDxwLXRpZXJlZG1lbnUgI2xpc3RPcCBbbW9kZWxdPVwiZGlzcGxheU9wSXRlbXMoKVwiIFtwb3B1cF09XCJ0cnVlXCIgW3N0eWxlXT1cIntwb3NpdGlvbjonYWJzb2x1dGUnfVwiPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2l0ZW0gbGV0LWl0ZW0gbGV0LWhhc1N1Ym1lbnU9XCJoYXNTdWJtZW51XCI+XG4gICAgICAgICAgICAgICAgPGEgcFJpcHBsZSBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHAtdGllcmVkbWVudS1pdGVtLWxpbmtcIiAoY2xpY2spPVwibGlzdEFjdChpdGVtKVwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gW2NsYXNzXT1cIml0ZW0uaWNvblwiIGNsYXNzPVwicC10aWVyZWRtZW51LWl0ZW0taWNvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtMlwiPnt7IGl0ZW0ubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIml0ZW0uc2hvcnRjdXRcIiBjbGFzcz1cIm1sLWF1dG8gYm9yZGVyIGJvcmRlci1zdXJmYWNlIHJvdW5kZWQgYmctZW1waGFzaXMgdGV4dC1tdXRlZC1jb2xvciB0ZXh0LXhzIHAtMVwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uc2hvcnRjdXQgfX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiaGFzU3VibWVudVwiIGNsYXNzPVwicGkgcGktYW5nbGUtcmlnaHQgbWwtYXV0b1wiPjwvaT5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9wLXRpZXJlZG1lbnU+XG4gICAgICAgICAgfVxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIEBpZighaXNMaXN0KCkpe1xuICAgICAgICA8cC1idXR0b24gXG4gICAgICAgICAgdmFyaWFudD1cInRleHRcIiBcbiAgICAgICAgICBzZXZlcml0eT1cInNlY29uZGFyeVwiIFxuICAgICAgICAgIGljb249XCJwaSAgcGktY2xvdWQtdXBsb2FkXCIgXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIuaJi+WKqOS/neWtmFwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cInNhdmVCdG5EaXNhYmxlKClcIiBcbiAgICAgICAgICBjbGFzcz1cInAtMFwiXG4gICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVNhdmUoKVwiPlxuICAgICAgICA8L3AtYnV0dG9uPlxuICAgICAgICA8cC1idXR0b24gXG4gICAgICAgICAgdmFyaWFudD1cInRleHRcIiBcbiAgICAgICAgICBzZXZlcml0eT1cInNlY29uZGFyeVwiIFxuICAgICAgICAgIGljb249XCJwaSAgcGktdGltZXNcIiBcbiAgICAgICAgICBhcmlhLWxhYmVsPVwi5YWz6ZetXCIgXG4gICAgICAgICAgY2xhc3M9XCJwLTBcIlxuICAgICAgICAgIChjbGljayk9XCJjbG9zZU5ldygpXCI+XG4gICAgICAgIDwvcC1idXR0b24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH1cbiAgXG48L2Rpdj4iXX0=
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1bWItYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvY3J1bWItYWN0aW9uL2NydW1iLWFjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL2NydW1iLWFjdGlvbi9jcnVtYi1hY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFDTixTQUFTLEVBQ1QsUUFBUSxFQUNSLFlBQVksRUFDWixNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUVOLE1BQU0sRUFFTixTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFlLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQVFoRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsV0FBVztJQXlFcEQ7UUFDQyxLQUFLLEVBQUUsQ0FBQztRQXpFVCx1QkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNoRCxXQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9CLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3pCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENB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UUFDMUIsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsWUFBWTtRQUNYLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUMvQyxDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDOytHQXhMVyxvQkFBb0I7bUdBQXBCLG9CQUFvQiwwNUVDOUJqQyxzelFBcUxNLHE0TUQzSkssWUFBWSw2YUFBRSxhQUFhLGlEQUFFLFlBQVksMFNBQUUsVUFBVTs7NEZBSW5ELG9CQUFvQjtrQkFQaEMsU0FBUzsrQkFDQyxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDO3dEQXlCL0MsRUFBRTtzQkFBbEIsU0FBUzt1QkFBQyxJQUFJO2dCQUNNLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFDQyxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBeUM4QixpQkFBaUI7c0JBQWhFLFlBQVk7dUJBQUMsUUFBUSxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRTtnQkFxQzlDLE1BQU07c0JBREwsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbUNvbXBvbmVudCB9IGZyb20gJy4vLi4vYW0vYW0uY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuXHRDb21wb25lbnQsXHJcblx0Y29tcHV0ZWQsXHJcblx0Q29udGVudENoaWxkLFxyXG5cdGVmZmVjdCxcclxuXHRIb3N0TGlzdGVuZXIsXHJcblx0aW5qZWN0LFxyXG5cdGlucHV0LFxyXG5cdE9uSW5pdCxcclxuXHRvdXRwdXQsXHJcblx0T3V0cHV0LFxyXG5cdHNpZ25hbCxcclxuXHRUZW1wbGF0ZVJlZixcclxuXHRWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVzZXJIaXN0b3J5U2VydmljZSwgSGlzdG9yeUl0ZW0sIEFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9wdWJsaWMtYXBpJztcclxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IFBvcG92ZXIgfSBmcm9tICdwcmltZW5nL3BvcG92ZXInO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBUaWVyZWRNZW51IH0gZnJvbSAncHJpbWVuZy90aWVyZWRtZW51JztcclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcHAtY3J1bWItYWN0aW9uJyxcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdGltcG9ydHM6IFtCdXR0b25Nb2R1bGUsIFRyYW5zbGF0ZVBpcGUsIENvbW1vbk1vZHVsZSwgVGllcmVkTWVudV0sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2NydW1iLWFjdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmw6ICcuL2NydW1iLWFjdGlvbi5jb21wb25lbnQuc2NzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDcnVtYkFjdGlvbkNvbXBvbmVudCBleHRlbmRzIEFtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHR1c2VySGlzdG9yeVNlcnZpY2UgPSBpbmplY3QoVXNlckhpc3RvcnlTZXJ2aWNlKTtcclxuXHRhY3Rpb24gPSBpbmplY3QoQWN0aW9uU2VydmljZSk7XHJcblx0Y3J1bWJMaXN0ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG5cdFx0bGV0IGNydW1iID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnVzZXJIaXN0b3J5U2VydmljZS5oaXN0b3J5TGlzdCgpKSk7XHJcblx0XHQvLyBjb25zb2xlLmxvZygnY3J1bWInLGNydW1iKVxyXG5cdFx0Ly8gQHRzLWlnbm9yZVxyXG5cdFx0Y29uc3QgaXNJMThuID0gd2luZG93LmFwcElzSTE4bjtcclxuXHRcdGlmICghaXNJMThuKSB7XHJcblx0XHRcdGNydW1iLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xyXG5cdFx0XHRcdGl0ZW0uaTE4bktleSA9ICcnO1xyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHRcdHJldHVybiBjcnVtYi5tYXAoKHY6IGFueSkgPT4gdik7XHJcblx0fSk7XHJcblx0Y3J1bWJUaXRsZSA9IHNpZ25hbDxhbnk+KHt9KTtcclxuXHQvLyByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcclxuXHRpc05ldyA9IGZhbHNlO1xyXG5cdGlzU2hvd0NvZyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRjcnVtYkZyb250OiBIaXN0b3J5SXRlbVtdID0gW107XHJcblx0Y3J1bWJFbmQ6IEhpc3RvcnlJdGVtW10gPSBbXTtcclxuXHRAVmlld0NoaWxkKCdvcCcpIG9wITogUG9wb3ZlcjtcclxuXHRAVmlld0NoaWxkKCdsaXN0T3AnKSBsaXN0T3AhOiBQb3BvdmVyO1xyXG5cdEBWaWV3Q2hpbGQoJ2FjdE9wJykgYWN0T3AhOiBQb3BvdmVyO1xyXG5cdHNhdmVFdmVudCA9IG91dHB1dCgpO1xyXG5cdC8vIOaWsOW7uuaMiemSrlxyXG5cdGFkZFZpc2libGUgPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkPigpO1xyXG5cdGltcG9ydFZpc2libGUgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHRleHBvcnRWaXNpYmxlID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblx0bmV3VXJsID0gaW5wdXQ8c3RyaW5nPignJyk7XHJcblx0Y29uZmlnTmV3UGF0aCA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdG9uRXhwb3J0ID0gaW5wdXQ8RnVuY3Rpb24+KCk7XHJcblx0Ly8g5paw5bu65oyJ6ZKub3V0bGluZVxyXG5cdG91dGxpbmVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdC8vIOaYr+WQpuaYr+WIl+ihqOmhtemdolxyXG5cdGlzTGlzdCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHQvLyDmnYPpmZDnrYnnuqdcclxuXHRhdXRoTGV2ZWwgPSBpbnB1dDxudW1iZXI+KC0xKTtcclxuXHRjYW5jZWxFdmVudCA9IG91dHB1dCgpO1xyXG5cdGFjdGlvbkxpc3QgPSBpbnB1dDxhbnk+KFtdKTtcclxuXHRhY3Rpb25FdmVudCA9IG91dHB1dCgpO1xyXG5cdGRhdGEgPSBpbnB1dDxhbnk+KCk7XHJcblx0c2hvd0FjdCA9IGZhbHNlO1xyXG5cdG1lbnVzID0gaW5wdXQ8YW55W10+KFtdKTtcclxuXHRkaXNwbGF5T3BJdGVtcyA9IGNvbXB1dGVkKCgpID0+IHtcclxuXHRcdGNvbnN0IGxpc3RPcEl0ZW1zID0gWy4uLnRoaXMubWVudXMoKV07XHJcblx0XHRpZiAodGhpcy5leHBvcnRWaXNpYmxlKCkpIHtcclxuXHRcdFx0bGlzdE9wSXRlbXMucHVzaCh7XHJcblx0XHRcdFx0bGFiZWw6ICdhcHAudGFibGVBY0V4cG9ydCcsXHJcblx0XHRcdFx0dHlwZTogJ2V4cG9ydCcsXHJcblx0XHRcdFx0aWNvbjogJ3BpIHBpLWRvd25sb2FkJyxcclxuXHRcdFx0XHRhdXRoOiAzLFxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHRcdGlmICh0aGlzLmltcG9ydFZpc2libGUoKSkge1xyXG5cdFx0XHRsaXN0T3BJdGVtcy5wdXNoKHtcclxuXHRcdFx0XHRsYWJlbDogJ2FwcC50YWJsZUFjSW1wb3J0JyxcclxuXHRcdFx0XHR0eXBlOiAnaW1wb3J0JyxcclxuXHRcdFx0XHRpY29uOiAncGkgcGktdXBsb2FkJyxcclxuXHRcdFx0XHRhdXRoOiAyLFxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHRcdHJldHVybiBsaXN0T3BJdGVtcy5maWx0ZXIoKHYpID0+IHRoaXMuYXV0aExldmVsKCkgPj0gdi5hdXRoKTtcclxuXHR9KTtcclxuXHRAQ29udGVudENoaWxkKCduZXdCdG4nLCB7IGRlc2NlbmRhbnRzOiBmYWxzZSB9KSBuZXdCdG5UZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcclxuXHRpc1NhdmUgPSBjb21wdXRlZCgoKSA9PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5hY3Rpb24uc2F2ZVNpZ25hbCgpO1xyXG5cdH0pO1xyXG5cdGxvYWRpbmcgPSBjb21wdXRlZCgoKSA9PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5hY3Rpb24ubG9hZGluZygpO1xyXG5cdH0pO1xyXG5cdHNhdmVCdG5EaXNhYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdGN1cnJlbnRQYWdlVXJsID0gJyc7XHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHRzdXBlcigpO1xyXG5cdFx0ZWZmZWN0KFxyXG5cdFx0XHQoKSA9PiB7XHJcblx0XHRcdFx0bGV0IGxhc3QgPSB0aGlzLmNydW1iTGlzdCgpLnBvcCgpO1xyXG5cdFx0XHRcdGlmIChsYXN0Py51cmwpIHtcclxuXHRcdFx0XHRcdHRoaXMuaXNOZXcgPSBsYXN0LnVybD8uaW5kZXhPZignbmV3JykgPiAtMSA/IHRydWUgOiBmYWxzZTtcclxuXHRcdFx0XHRcdHRoaXMuY3VycmVudFBhZ2VVcmwgPSBsYXN0LnVybDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKGxhc3Q/LnRpdGxlKSB7XHJcblx0XHRcdFx0XHR0aGlzLmNydW1iVGl0bGUuc2V0KGxhc3QpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Y29uc3QgbGVuZ3RoID0gdGhpcy5jcnVtYkxpc3QoKS5sZW5ndGg7XHJcblx0XHRcdFx0aWYgKGxlbmd0aCA+IDIpIHtcclxuXHRcdFx0XHRcdHRoaXMuY3J1bWJGcm9udCA9IHRoaXMuY3J1bWJMaXN0KClcclxuXHRcdFx0XHRcdFx0Lm1hcCgodjogYW55KSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0di5sYWJlbCA9IHYudGl0bGU7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHY7XHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdC5maWx0ZXIoKHY6IEhpc3RvcnlJdGVtLCBpbmRleDogbnVtYmVyKSA9PiBpbmRleCA8PSBsZW5ndGggLSAxIC0gMik7XHJcblx0XHRcdFx0XHR0aGlzLmNydW1iRW5kID0gW3RoaXMuY3J1bWJMaXN0KClbbGVuZ3RoIC0gMl0sIHRoaXMuY3J1bWJMaXN0KClbbGVuZ3RoIC0gMV1dO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0eyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxyXG5cdFx0KTtcclxuXHR9XHJcblx0QEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcblx0cmVzaXplKGV2ZW50OiBhbnkpIHtcclxuXHRcdGxldCB3aW5kb3dXaWR0aCA9IChldmVudC50YXJnZXQgYXMgV2luZG93KS5pbm5lcldpZHRoO1xyXG5cdFx0aWYgKHdpbmRvd1dpZHRoIDwgNzY4KSB7XHJcblx0XHRcdHRoaXMuc2hvd0FjdCA9IHRydWU7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLnNob3dBY3QgPSBmYWxzZTtcclxuXHRcdH1cclxuXHR9XHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHR0aGlzLnNob3dBY3QgPSB3aW5kb3cuaW5uZXJXaWR0aCA8IDc2OCA/IHRydWUgOiBmYWxzZTtcclxuXHR9XHJcblxyXG5cdGdvTmV3KCkge1xyXG5cdFx0aWYgKCF0aGlzLmNvbmZpZ05ld1BhdGgoKSkge1xyXG5cdFx0XHRpZiAodGhpcy5uZXdVcmwoKSA9PSAnJykgcmV0dXJuO1xyXG5cdFx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5uZXdVcmwoKV0pLnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdHRoaXMudXNlckhpc3RvcnlTZXJ2aWNlLnNldExhc3RUaXRsZSgnTmV3Jyk7XHJcblx0XHRcdH0pO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMuY29uZmlnTmV3UGF0aCgpXSkudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0dGhpcy51c2VySGlzdG9yeVNlcnZpY2Uuc2V0TGFzdFRpdGxlKCdOZXcnKTtcclxuXHRcdFx0XHR0aGlzLnVzZXJIaXN0b3J5U2VydmljZS5maWx0ZXJVcmwodGhpcy5jdXJyZW50UGFnZVVybCk7XHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Y2xvc2VOZXcoKSB7XHJcblx0XHRsZXQgbGVuZ3RoID0gdGhpcy5jcnVtYkxpc3QoKS5sZW5ndGg7XHJcblx0XHRsZXQgbGFzdCA9IHRoaXMuY3J1bWJMaXN0KClbbGVuZ3RoIC0gMV07XHJcblx0XHRpZiAobGFzdCkge1xyXG5cdFx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZShbbGFzdC51cmxdKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMuY2FuY2VsRXZlbnQuZW1pdCgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aGFuZGxlU2F2ZSgpIHtcclxuXHRcdHRoaXMuc2F2ZUV2ZW50LmVtaXQoKTtcclxuXHR9XHJcblxyXG5cdGJhY2soaXRlbTogYW55KSB7XHJcblx0XHR0aGlzLnJvdXRlci5uYXZpZ2F0ZShbaXRlbS51cmxdKTtcclxuXHR9XHJcblxyXG5cdHRvZ2dsZShldmVudDogYW55KSB7XHJcblx0XHR0aGlzLm9wLnRvZ2dsZShldmVudCk7XHJcblx0fVxyXG5cclxuXHR0b2dnbGVMaXN0T3AoZXZlbnQ6IGFueSkge1xyXG5cdFx0aWYgKCF0aGlzLmlzTGlzdCgpKSByZXR1cm47XHJcblx0XHR0aGlzLmxpc3RPcCAmJiB0aGlzLmxpc3RPcC50b2dnbGUoZXZlbnQpO1xyXG5cdH1cclxuXHJcblx0bGlzdEFjdChpdGVtOiBhbnkpIHtcclxuXHRcdGlmIChpdGVtLnR5cGUgPT09ICdleHBvcnQnKSB7XHJcblx0XHRcdGlmKHRoaXMub25FeHBvcnQoKSAmJiB0eXBlb2YgdGhpcy5vbkV4cG9ydCgpID09ICdmdW5jdGlvbicpe1xyXG5cdFx0XHRcdHRoaXMub25FeHBvcnQgJiYgdGhpcy5vbkV4cG9ydCgpISgpO1xyXG5cdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdHRoaXMuYWN0aW9uLnNldEFjdGlvbih7IHR5cGU6IGl0ZW0udHlwZSB9KTtcclxuXHRcdFx0fVxyXG5cdFx0fSBlbHNlIGlmIChpdGVtLnR5cGUgPT09ICdpbXBvcnQnKSB7XHJcblx0XHRcdHRoaXMuYWN0aW9uLnNldEFjdGlvbih7IHR5cGU6IGl0ZW0udHlwZSB9KTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGlmIChpdGVtLmhhc093blByb3BlcnR5KCdvbkNsaWNrJykgJiYgdHlwZW9mIGl0ZW0ub25DbGljayA9PT0gJ2Z1bmN0aW9uJykge1xyXG5cdFx0XHRcdGl0ZW0ub25DbGljayhpdGVtKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YWN0RXZlbnQoaXRlbTogYW55KSB7XHJcblx0XHR0aGlzLmFjdGlvbkV2ZW50LmVtaXQoaXRlbSk7XHJcblx0fVxyXG5cclxuXHR0b2dnbGVBY3QoZXZlbnQ6IGFueSkge1xyXG5cdFx0aWYgKHRoaXMuaXNMaXN0KCkpIHJldHVybjtcclxuXHRcdHRoaXMuYWN0T3AgJiYgdGhpcy5hY3RPcC50b2dnbGUoZXZlbnQpO1xyXG5cdH1cclxuXHRzZXRTYXZlQ2xhc3MoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5pc1NhdmUoKSA/ICdkYW5nZXInIDogJ3NlY29uZGFyeSc7XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpIHtcclxuXHRcdHRoaXMuYWN0aW9uLnNhdmVTaWduYWwuc2V0KGZhbHNlKTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xXCI+XHJcbiAgPGRpdiBjbGFzcz1cImxlZnQtYnRuIGZsZXggZ2FwLTFcIj5cclxuICAgIDwhLS0gVE9ETyDmnYPpmZDmlbDmja7mjqXlhaUgLS0+XHJcbiAgICBAaWYoIW5ld0J0blRlbXBsYXRlUmVmKXtcclxuICAgICAgQGlmKHRoaXMuYXV0aExldmVsKCkgPiAyICYmIGFkZFZpc2libGUoKSl7XHJcbiAgICAgICAgPHAtYnV0dG9uIChjbGljayk9XCJnb05ldygpXCIgW291dGxpbmVkXT1cIm91dGxpbmVkKClcIj57eydhcHAuY3JlYXRlJyB8IHRyYW5zbGF0ZX19PC9wLWJ1dHRvbj5cclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJuZXdCdG5UZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG4gIEBpZihjcnVtYkxpc3QoKS5sZW5ndGggPiAwKXtcclxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGxlYWRpbmctbm9uZVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaGlkZGVuIG1kOmZsZXhcIj5cclxuICAgICAgICBAaWYoY3J1bWJMaXN0KCkubGVuZ3RoIDw9IDIpe1xyXG4gICAgICAgICAgQGZvcihmY2hpbGQgb2YgY3J1bWJMaXN0KCk7IHRyYWNrIGZjaGlsZC51cmwpe1xyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3J1bWItdGl0bGUgY3Vyc29yLXBvaW50ZXIgdGV4dC1bMTJweF0gbWF4LXctWzEyMHB4XSBvdmVyZmxvdy1oaWRkZW4gd2hpdGVzcGFjZS1ub3dyYXAgdGV4dC1lbGxpcHNpc1wiIChjbGljayk9XCJiYWNrKGZjaGlsZClcIj5cclxuICAgICAgICAgICAgICAgQGlmKGZjaGlsZC5pMThuS2V5IT0gJycpe1xyXG4gICAgICAgICAgICAgICAge3sgZmNoaWxkIS5pMThuS2V5IHwgdHJhbnNsYXRlfX1cclxuICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB7e2ZjaGlsZC50aXRsZX19XHJcbiAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3J1bWItdGl0bGUgY3Vyc29yLXBvaW50ZXIgc2VsZWN0LWNydW1iXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctWzE3cHhdIGgtWzE3cHhdIGZsZXggaXRlbXMtY2VudGVyIGZvbnQtYm9sZCB0ZXh0LVsxM3B4XVwiIChjbGljayk9XCJ0b2dnbGUoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgLi4uXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPHAtdGllcmVkbWVudSAjb3AgW21vZGVsXT1cImNydW1iRnJvbnRcIiBbcG9wdXBdPVwidHJ1ZVwiIFtzdHlsZV09XCJ7cG9zaXRpb246J2Fic29sdXRlJ31cIj5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaXRlbSBsZXQtaXRlbSBsZXQtaGFzU3VibWVudT1cImhhc1N1Ym1lbnVcIj5cclxuICAgICAgICAgICAgICAgICAgPGEgcFJpcHBsZSBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHAtdGllcmVkbWVudS1pdGVtLWxpbmtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtMiB3LWZ1bGxcIiAoY2xpY2spPVwiYmFjayhpdGVtKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYoaXRlbS5pMThuS2V5IT0gJycpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0hLmkxOG5LZXkgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAge3tpdGVtLnRpdGxlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8L3AtdGllcmVkbWVudT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIEBmb3IoaXRlbSBvZiBjcnVtYkVuZDt0cmFjayBpdGVtLnVybCl7XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNydW1iLXRpdGxlIGN1cnNvci1wb2ludGVyIHRleHQtWzEycHhdIG1heC13LVsxMjBweF0gb3ZlcmZsb3ctaGlkZGVuIHdoaXRlc3BhY2Utbm93cmFwIHRleHQtZWxsaXBzaXNcIiAoY2xpY2spPVwiYmFjayhpdGVtKVwiPlxyXG4gICAgICAgICAgICAgICAgQGlmKGl0ZW0uaTE4bktleSE9ICcnKXtcclxuICAgICAgICAgICAgICAgICAge3sgaXRlbSEuaTE4bktleSB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIHt7aXRlbS50aXRsZX19XHJcbiAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWluLXctMCB0ZXh0LXRleHQtY29sb3IgdGV4dC1bMTJweF0gdGl0bGUtYWN0aW9uXCI+XHJcbiAgICAgICAgPHNwYW5cclxuICAgICAgICAgIFt0aXRsZV09XCJpc05ldz8gJ05ldyc6Y3J1bWJUaXRsZSgpLnRpdGxlXCIgXHJcbiAgICAgICAgICBjbGFzcz1cImhpZGRlbiBtZDppbmxpbmUtYmxvY2sgbWF4LXctWzE1MHB4XSBvdmVyZmxvdy1oaWRkZW4gdGV4dC1lbGxpcHNpcyB3aGl0ZXNwYWNlLW5vd3JhcFwiPlxyXG4gICAgICAgICAge3tpc05ldz8gJ05ldyc6Y3J1bWJUaXRsZSgpLnRpdGxlfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgQGlmKGlzU2hvd0NvZygpKXtcclxuICAgICAgICAgIEBpZihpc0xpc3QoKSl7XHJcbiAgICAgICAgICAgIDxwLWJ1dHRvbiB2YXJpYW50PVwidGV4dFwiIHNldmVyaXR5PVwic2Vjb25kYXJ5XCIgaWNvbj1cInBpICBwaS1jb2dcIiBhcmlhLWxhYmVsPVwi5pON5L2cXCIgKG9uQ2xpY2spPVwidG9nZ2xlTGlzdE9wKCRldmVudClcIi8+XHJcbiAgICAgICAgICAgIEBpZihkaXNwbGF5T3BJdGVtcygpLmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICAgIDxwLXRpZXJlZG1lbnUgI2xpc3RPcCBbbW9kZWxdPVwiZGlzcGxheU9wSXRlbXMoKVwiIFtwb3B1cF09XCJ0cnVlXCIgW3N0eWxlXT1cIntwb3NpdGlvbjonYWJzb2x1dGUnfVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNpdGVtIGxldC1pdGVtIGxldC1oYXNTdWJtZW51PVwiaGFzU3VibWVudVwiPlxyXG4gICAgICAgICAgICAgICAgICA8YSBwUmlwcGxlIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgcC10aWVyZWRtZW51LWl0ZW0tbGlua1wiIChjbGljayk9XCJsaXN0QWN0KGl0ZW0pXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gW2NsYXNzXT1cIml0ZW0uaWNvblwiIGNsYXNzPVwicC10aWVyZWRtZW51LWl0ZW0taWNvblwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1sLTJcIj57eyBpdGVtLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5zaG9ydGN1dFwiIGNsYXNzPVwibWwtYXV0byBib3JkZXIgYm9yZGVyLXN1cmZhY2Ugcm91bmRlZCBiZy1lbXBoYXNpcyB0ZXh0LW11dGVkLWNvbG9yIHRleHQteHMgcC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uc2hvcnRjdXQgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJoYXNTdWJtZW51XCIgY2xhc3M9XCJwaSBwaS1hbmdsZS1yaWdodCBtbC1hdXRvXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8L3AtdGllcmVkbWVudT5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIDxwLWJ1dHRvbiB2YXJpYW50PVwidGV4dFwiIHNldmVyaXR5PVwic2Vjb25kYXJ5XCIgaWNvbj1cInBpICBwaS1jb2dcIiBhcmlhLWxhYmVsPVwi5pON5L2cXCIgKG9uQ2xpY2spPVwidG9nZ2xlQWN0KCRldmVudClcIi8+XHJcbiAgICAgICAgICAgIEBpZihhY3Rpb25MaXN0KCkubGVuZ3RoID4gMCAmJiBzaG93QWN0KXtcclxuICAgICAgICAgICAgICA8cC10aWVyZWRtZW51ICNhY3RPcCBbbW9kZWxdPVwiYWN0aW9uTGlzdCgpXCIgW3BvcHVwXT1cInRydWVcIiBbc3R5bGVdPVwie3Bvc2l0aW9uOidhYnNvbHV0ZSd9XCI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2l0ZW0gbGV0LWl0ZW0gbGV0LWhhc1N1Ym1lbnU9XCJoYXNTdWJtZW51XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxhIHBSaXBwbGUgXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBwLXRpZXJlZG1lbnUtaXRlbS1saW5rXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiKGl0ZW0uYXV0aCB8fCAwKSA+IChhdXRoTGV2ZWwoKSB8fCAwKSB8fCAhIWl0ZW0uYnRuSGlkZGVuPy4oZGF0YSgpKSA/ICdoaWRkZW4nIDogJ2Jsb2NrJ1wiIFxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhY3RFdmVudChpdGVtKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWwtMlwiPnt7aXRlbS5pMThuS2V5ID8gKGl0ZW0uaTE4bktleSB8IHRyYW5zbGF0ZSkgOiBpdGVtLmxhYmVsfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLnNob3J0Y3V0XCIgY2xhc3M9XCJtbC1hdXRvIGJvcmRlciBib3JkZXItc3VyZmFjZSByb3VuZGVkIGJnLWVtcGhhc2lzIHRleHQtbXV0ZWQtY29sb3IgdGV4dC14cyBwLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS5zaG9ydGN1dCB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImhhc1N1Ym1lbnVcIiBjbGFzcz1cInBpIHBpLWFuZ2xlLXJpZ2h0IG1sLWF1dG9cIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgPC9wLXRpZXJlZG1lbnU+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmKHRoaXMuYXV0aExldmVsKCkgPiAyICYmICFpc0xpc3QoKSl7XHJcbiAgICAgICAgICA8cC1idXR0b24gXHJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCIgXHJcbiAgICAgICAgICAgIFtzZXZlcml0eV09XCJzZXRTYXZlQ2xhc3MoKVwiIFxyXG4gICAgICAgICAgICBpY29uPVwicGkgIHBpLWNsb3VkLXVwbG9hZFwiIFxyXG4gICAgICAgICAgICBbbG9hZGluZ109XCJsb2FkaW5nKClcIlxyXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwi5omL5Yqo5L+d5a2YXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cInNhdmVCdG5EaXNhYmxlKClcIiBcclxuICAgICAgICAgICAgY2xhc3M9XCJwLTBcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlU2F2ZSgpXCI+XHJcbiAgICAgICAgICA8L3AtYnV0dG9uPlxyXG4gICAgICAgIH1cclxuICAgICAgICA8IS0tIEBpZihjcnVtYkxpc3QoKS5sZW5ndGggPj0gMil7IC0tPlxyXG4gICAgICAgICAgPHAtYnV0dG9uIFxyXG4gICAgICAgICAgICB2YXJpYW50PVwidGV4dFwiIFxyXG4gICAgICAgICAgICBzZXZlcml0eT1cInNlY29uZGFyeVwiIFxyXG4gICAgICAgICAgICBpY29uPVwicGkgIHBpLXRpbWVzXCIgXHJcbiAgICAgICAgICAgIGFyaWEtbGFiZWw9XCLlhbPpl61cIiBcclxuICAgICAgICAgICAgY2xhc3M9XCJwLTBcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VOZXcoKVwiPlxyXG4gICAgICAgICAgPC9wLWJ1dHRvbj5cclxuICAgICAgICA8IS0tIH0gLS0+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8IS0tIOWIneWni+iKgueCuSAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJtaW4tdy0wIGZsZXggaXRlbXMtY2VudGVyIHRleHQtWzE0cHhdIHRleHQtdGV4dC1jb2xvclwiPlxyXG4gICAgICA8c3BhbiBcclxuICAgICAgICBbdGl0bGVdPVwiY3J1bWJUaXRsZSgpLmkxOG5LZXkgIT0gJycgPyAoY3J1bWJUaXRsZSgpLmkxOG5LZXkgfCB0cmFuc2xhdGUpIDogY3J1bWJUaXRsZSgpLnRpdGxlXCJcclxuICAgICAgICBjbGFzcz1cImhpZGRlbiBtZDppbmxpbmUtYmxvY2sgbWF4LXctWzEyMHB4XSBvdmVyZmxvdy1oaWRkZW4gd2hpdGVzcGFjZS1ub3dyYXAgdGV4dC1lbGxpcHNpc1wiPlxyXG4gICAgICAgIEBpZihjcnVtYlRpdGxlKCkuaTE4bktleSAhPSAnJyl7XHJcbiAgICAgICAgICB7e2NydW1iVGl0bGUoKS5pMThuS2V5IHwgdHJhbnNsYXRlfX1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgIHt7Y3J1bWJUaXRsZSgpLnRpdGxlfX1cclxuICAgICAgICB9XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgQGlmKGlzU2hvd0NvZygpKXtcclxuICAgICAgICA8cC1idXR0b24gXHJcbiAgICAgICAgICB2YXJpYW50PVwidGV4dFwiXHJcbiAgICAgICAgICBzZXZlcml0eT1cInNlY29uZGFyeVwiIFxyXG4gICAgICAgICAgaWNvbj1cInBpICBwaS1jb2dcIiBcclxuICAgICAgICAgIGFyaWEtbGFiZWw9XCLmk43kvZxcIiBcclxuICAgICAgICAgIChvbkNsaWNrKT1cInRvZ2dsZUxpc3RPcCgkZXZlbnQpXCIvPlxyXG4gICAgICAgICAgQGlmKGRpc3BsYXlPcEl0ZW1zKCkubGVuZ3RoID4gMCl7XHJcbiAgICAgICAgICAgIDxwLXRpZXJlZG1lbnUgI2xpc3RPcCBbbW9kZWxdPVwiZGlzcGxheU9wSXRlbXMoKVwiIFtwb3B1cF09XCJ0cnVlXCIgW3N0eWxlXT1cIntwb3NpdGlvbjonYWJzb2x1dGUnfVwiPlxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaXRlbSBsZXQtaXRlbSBsZXQtaGFzU3VibWVudT1cImhhc1N1Ym1lbnVcIj5cclxuICAgICAgICAgICAgICAgIDxhIHBSaXBwbGUgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBwLXRpZXJlZG1lbnUtaXRlbS1saW5rXCIgKGNsaWNrKT1cImxpc3RBY3QoaXRlbSlcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gW2NsYXNzXT1cIml0ZW0uaWNvblwiIGNsYXNzPVwicC10aWVyZWRtZW51LWl0ZW0taWNvblwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtbC0yXCI+e3sgaXRlbS5sYWJlbCB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpdGVtLnNob3J0Y3V0XCIgY2xhc3M9XCJtbC1hdXRvIGJvcmRlciBib3JkZXItc3VyZmFjZSByb3VuZGVkIGJnLWVtcGhhc2lzIHRleHQtbXV0ZWQtY29sb3IgdGV4dC14cyBwLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uc2hvcnRjdXQgfX1cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImhhc1N1Ym1lbnVcIiBjbGFzcz1cInBpIHBpLWFuZ2xlLXJpZ2h0IG1sLWF1dG9cIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvcC10aWVyZWRtZW51PlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICB9XHJcbiAgICAgIEBpZighaXNMaXN0KCkpe1xyXG4gICAgICAgIDxwLWJ1dHRvbiBcclxuICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCIgXHJcbiAgICAgICAgICBzZXZlcml0eT1cInNlY29uZGFyeVwiIFxyXG4gICAgICAgICAgaWNvbj1cInBpICBwaS1jbG91ZC11cGxvYWRcIiBcclxuICAgICAgICAgIGFyaWEtbGFiZWw9XCLmiYvliqjkv53lrZhcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cInNhdmVCdG5EaXNhYmxlKClcIiBcclxuICAgICAgICAgIGNsYXNzPVwicC0wXCJcclxuICAgICAgICAgIChjbGljayk9XCJoYW5kbGVTYXZlKClcIj5cclxuICAgICAgICA8L3AtYnV0dG9uPlxyXG4gICAgICAgIDxwLWJ1dHRvbiBcclxuICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCIgXHJcbiAgICAgICAgICBzZXZlcml0eT1cInNlY29uZGFyeVwiIFxyXG4gICAgICAgICAgaWNvbj1cInBpICBwaS10aW1lc1wiIFxyXG4gICAgICAgICAgYXJpYS1sYWJlbD1cIuWFs+mXrVwiIFxyXG4gICAgICAgICAgY2xhc3M9XCJwLTBcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImNsb3NlTmV3KClcIj5cclxuICAgICAgICA8L3AtYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbiAgXHJcbjwvZGl2PiJdfQ==
@@ -112,44 +112,44 @@ export class ContextMenuComponent {
112
112
  this.visible = window.innerWidth > 1024;
113
113
  }
114
114
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContextMenuComponent, deps: [{ token: i1.Clipboard }], target: i0.ɵɵFactoryTarget.Component }); }
115
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ContextMenuComponent, isStandalone: true, selector: "app-context-menu", inputs: { target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "cm", first: true, predicate: ["cm"], descendants: true }], ngImport: i0, template: `
116
- @if (visible) {
117
- <p-contextMenu
118
- #cm
119
- [target]="target()"
120
- [appendTo]="'body'"
121
- [model]="items">
122
- <ng-template
123
- #item
124
- let-item>
125
- <div class="px-[0.5rem] py-[0.5rem]">
126
- <i [class]="item.icon"></i>
127
- <span class="ml-2 cursor-pointer">{{ item.label }}</span>
128
- </div>
129
- </ng-template>
130
- </p-contextMenu>
131
- }
115
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ContextMenuComponent, isStandalone: true, selector: "app-context-menu", inputs: { target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "cm", first: true, predicate: ["cm"], descendants: true }], ngImport: i0, template: `
116
+ @if (visible) {
117
+ <p-contextMenu
118
+ #cm
119
+ [target]="target()"
120
+ [appendTo]="'body'"
121
+ [model]="items">
122
+ <ng-template
123
+ #item
124
+ let-item>
125
+ <div class="px-[0.5rem] py-[0.5rem]">
126
+ <i [class]="item.icon"></i>
127
+ <span class="ml-2 cursor-pointer">{{ item.label }}</span>
128
+ </div>
129
+ </ng-template>
130
+ </p-contextMenu>
131
+ }
132
132
  `, isInline: true, styles: [""], dependencies: [{ kind: "component", type: ContextMenu, selector: "p-contextMenu, p-contextmenu, p-context-menu", inputs: ["model", "triggerEvent", "target", "global", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "id", "breakpoint", "ariaLabel", "ariaLabelledBy", "pressDelay"], outputs: ["onShow", "onHide"] }] }); }
133
133
  }
134
134
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContextMenuComponent, decorators: [{
135
135
  type: Component,
136
- args: [{ selector: 'app-context-menu', standalone: true, imports: [ContextMenu], template: `
137
- @if (visible) {
138
- <p-contextMenu
139
- #cm
140
- [target]="target()"
141
- [appendTo]="'body'"
142
- [model]="items">
143
- <ng-template
144
- #item
145
- let-item>
146
- <div class="px-[0.5rem] py-[0.5rem]">
147
- <i [class]="item.icon"></i>
148
- <span class="ml-2 cursor-pointer">{{ item.label }}</span>
149
- </div>
150
- </ng-template>
151
- </p-contextMenu>
152
- }
136
+ args: [{ selector: 'app-context-menu', standalone: true, imports: [ContextMenu], template: `
137
+ @if (visible) {
138
+ <p-contextMenu
139
+ #cm
140
+ [target]="target()"
141
+ [appendTo]="'body'"
142
+ [model]="items">
143
+ <ng-template
144
+ #item
145
+ let-item>
146
+ <div class="px-[0.5rem] py-[0.5rem]">
147
+ <i [class]="item.icon"></i>
148
+ <span class="ml-2 cursor-pointer">{{ item.label }}</span>
149
+ </div>
150
+ </ng-template>
151
+ </p-contextMenu>
152
+ }
153
153
  ` }]
154
154
  }], ctorParameters: () => [{ type: i1.Clipboard }], propDecorators: { cm: [{
155
155
  type: ViewChild,
@@ -158,4 +158,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
158
158
  type: HostListener,
159
159
  args: ['window:resize', ['$event']]
160
160
  }] } });
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLWVsZW1lbnQtdWkvc3JjL2xpYi9mb3JtL2Zvcm0tZmllbGQvY29udGV4dC1tZW51LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUEwQjNDLE1BQU0sT0FBTyxvQkFBb0I7SUF3QmhDLFFBQVE7UUFDUCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFlBQW9CLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUExQnhDLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixXQUFNLEdBQUcsS0FBSyxDQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3hCLFVBQUssR0FBRyxLQUFLLEVBQWEsQ0FBQztRQUUzQixnQkFBVyxHQUFlO1lBQ3pCO2dCQUNDLEtBQUssRUFBRSxhQUFhO2dCQUNwQixJQUFJLEVBQUUsYUFBYTtnQkFDbkIsT0FBTyxFQUFFLEdBQUcsRUFBRTtvQkFDYixNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQzFELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM1QixDQUFDO2FBQ0Q7WUFDRDtnQkFDQyxLQUFLLEVBQUUsV0FBVztnQkFDbEIsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLE9BQU8sRUFBRSxHQUFHLEVBQUU7b0JBQ2IsSUFBSSxDQUFD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UUFDRixDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbEIsQ0FBQztJQUVELFVBQVU7UUFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3pDLENBQUM7K0dBN0dXLG9CQUFvQjttR0FBcEIsb0JBQW9CLG1lQXBCdEI7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJULDBFQWxCUyxXQUFXOzs0RkFxQlQsb0JBQW9CO2tCQXhCaEMsU0FBUzsrQkFDQyxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLENBQUMsV0FBVyxDQUFDLFlBQ1o7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJUOzhFQUlnQixFQUFFO3NCQUFsQixTQUFTO3VCQUFDLElBQUk7Z0JBdUJmLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGVmZmVjdCwgSG9zdExpc3RlbmVyLCBpbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IENvbnRleHRNZW51IH0gZnJvbSAncHJpbWVuZy9jb250ZXh0bWVudSc7XG5pbXBvcnQgeyBDbGlwYm9hcmQgfSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcbmltcG9ydCB7IEZvcm1GaWVsZCB9IGZyb20gJy4vZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBmaWVsZFV0aWxzIH0gZnJvbSAnLi9maWVsZC11dGlscyc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2FwcC1jb250ZXh0LW1lbnUnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbQ29udGV4dE1lbnVdLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdEBpZiAodmlzaWJsZSkge1xuXHRcdFx0PHAtY29udGV4dE1lbnVcblx0XHRcdFx0I2NtXG5cdFx0XHRcdFt0YXJnZXRdPVwidGFyZ2V0KClcIlxuXHRcdFx0XHRbYXBwZW5kVG9dPVwiJ2JvZHknXCJcblx0XHRcdFx0W21vZGVsXT1cIml0ZW1zXCI+XG5cdFx0XHRcdDxuZy10ZW1wbGF0ZVxuXHRcdFx0XHRcdCNpdGVtXG5cdFx0XHRcdFx0bGV0LWl0ZW0+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cInB4LVswLjVyZW1dIHB5LVswLjVyZW1dXCI+XG5cdFx0XHRcdFx0XHQ8aSBbY2xhc3NdPVwiaXRlbS5pY29uXCI+PC9pPlxuXHRcdFx0XHRcdFx0PHNwYW4gY2xhc3M9XCJtbC0yIGN1cnNvci1wb2ludGVyXCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDwvcC1jb250ZXh0TWVudT5cblx0XHR9XG5cdGAsXG5cdHN0eWxlczogW2BgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29udGV4dE1lbnVDb21wb25lbnQge1xuXHRAVmlld0NoaWxkKCdjbScpIGNtPzogQ29udGV4dE1lbnU7XG5cdHZpc2libGUgPSB0cnVlO1xuXHR0YXJnZXQgPSBpbnB1dDxhbnk+KHt9KTtcblx0ZmllbGQgPSBpbnB1dDxGb3JtRmllbGQ+KCk7XG5cdGl0ZW1zPzogTWVudUl0ZW1bXTtcblx0Y29tbW9uSXRlbXM6IE1lbnVJdGVtW10gPSBbXG5cdFx0e1xuXHRcdFx0bGFiZWw6ICflpI3liLbmoIfpopjjgJBMYWJlbOOAkScsXG5cdFx0XHRpY29uOiAncGkgcGktY2xvbmUnLFxuXHRcdFx0Y29tbWFuZDogKCkgPT4ge1xuXHRcdFx0XHRjb25zdCBsYWJlbCA9IGZpZWxkVXRpbHMucHJvcHModGhpcy5maWVsZCgpISkubGFiZWwgfHwgJyc7XG5cdFx0XHRcdHRoaXMuY2xpcGJvYXJkLmNvcHkobGFiZWwpO1xuXHRcdFx0fSxcblx0XHR9LFxuXHRcdHtcblx0XHRcdGxhYmVsOiAn5aSN5Yi26ZSu5ZCN44CQS2V544CRJyxcblx0XHRcdGljb246ICdwaSBwaS1jbG9uZScsXG5cdFx0XHRjb21tYW5kOiAoKSA9PiB7XG5cdFx0XHRcdHRoaXMuY2xpcGJvYXJkLmNvcHkodGhpcy5maWVsZCgpPy5rZXkgfHwgJycpO1xuXHRcdFx0fSxcblx0XHR9LFxuXHRdO1xuXHRASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcblx0b25SZXNpemUoKSB7XG5cdFx0dGhpcy51cGRWaXNpYmxlKCk7XG5cdH1cblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIGNsaXBib2FyZDogQ2xpcGJvYXJkKSB7XG5cdFx0dGhpcy51cGRWaXNpYmxlKCk7XG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGlmICh0aGlzLmZpZWxkKCkpIHtcblx0XHRcdFx0aWYgKHRoaXMuZmllbGQoKT8udHlwZSA9PT0gJ3NlbGVjdCcpIHtcblx0XHRcdFx0XHR0aGlzLml0ZW1zID0gW1xuXHRcdFx0XHRcdFx0Li4udGhpcy5jb21tb25JdGVtcyxcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6ICflpI3liLbpobnlgLzjgJBPcHRpb25WYWx1ZeOAkScsXG5cdFx0XHRcdFx0XHRcdGljb246ICdwaSBwaS1jbG9uZScsXG5cdFx0XHRcdFx0XHRcdGNvbW1hbmQ6ICgpID0+IHtcblx0XHRcdFx0XHRcdFx0XHRjb25zdCB2YWx1ZSA9IHRoaXMuZmllbGQoKT8uZm9ybT8ubW9kZWwoKT8uW3RoaXMuZmllbGQoKT8ua2V5IV07XG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5jbGlwYm9hcmQuY29weSh2YWx1ZSk7XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRsYWJlbDogJ+WkjeWItumhueWQjeensOOAkE9wdGlvbkxhYmVs44CRJyxcblx0XHRcdFx0XHRcdFx0aWNvbjogJ3BpIHBpLWNsb25lJyxcblx0XHRcdFx0XHRcdFx0Y29tbWFuZDogKCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IHZhbHVlID0gdGhpcy5maWVsZCgpPy5mb3JtPy5tb2RlbCgpPy5bdGhpcy5maWVsZCgpPy5rZXkhXTtcblx0XHRcdFx0XHRcdFx0XHRjb25zdCBvcHRpb25WYWx1ZSA9IHRoaXMuZmllbGQoKT8uc2VsZWN0UHJvcHM/Lm9wdGlvblZhbHVlIHx8ICd2YWx1ZSc7XG5cdFx0XHRcdFx0XHRcdFx0Y29uc3Qgb3B0aW9uTGFiZWwgPSB0aGlzLmZpZWxkKCk/LnNlbGVjdFByb3BzPy5vcHRpb25MYWJlbCB8fCAnbGFiZWwnO1xuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IHJlc3VsdCA9IHRoaXMuZmllbGQoKT8uc2VsZWN0UHJvcHM/Lm9wdGlvbnM/LmZpbmQoKGl0ZW0pID0+IGl0ZW1bb3B0aW9uVmFsdWVdID09PSB2YWx1ZSk/LltvcHRpb25MYWJlbF07XG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5jbGlwYm9hcmQuY29weShyZXN1bHQpO1xuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRdO1xuXHRcdFx0XHR9IGVsc2UgaWYgKHRoaXMuZmllbGQoKT8udHlwZSA9PT0gJ3RyZWVzZWxlY3QnKSB7XG5cdFx0XHRcdFx0dGhpcy5pdGVtcyA9IFtcblx0XHRcdFx0XHRcdC4uLnRoaXMuY29tbW9uSXRlbXMsXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdGxhYmVsOiAn5aSN5Yi26aG55YC844CQT3B0aW9uVmFsdWXjgJEnLFxuXHRcdFx0XHRcdFx0XHRpY29uOiAncGkgcGktY2xvbmUnLFxuXHRcdFx0XHRcdFx0XHRjb21tYW5kOiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRcdFx0Y29uc3QgdmFsdWUgPSB0aGlzLmZpZWxkKCk/LmZvcm0/Lm1vZGVsKCk/Llt0aGlzLmZpZWxkKCk/LmtleSFdO1xuXHRcdFx0XHRcdFx0XHRcdHRoaXMuY2xpcGJvYXJkLmNvcHkodmFsdWUpO1xuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6ICflpI3liLbpobnlkI3np7DjgJBPcHRpb25MYWJlbOOAkScsXG5cdFx0XHRcdFx0XHRcdGljb246ICdwaSBwaS1jbG9uZScsXG5cdFx0XHRcdFx0XHRcdGNvbW1hbmQ6ICgpID0+IHtcblx0XHRcdFx0XHRcdFx0XHRjb25zdCB2YWx1ZSA9IHRoaXMuZmllbGQoKT8uZm9ybT8ubW9kZWwoKT8uW3RoaXMuZmllbGQoKT8ua2V5IV07XG5cdFx0XHRcdFx0XHRcdFx0Y29uc3Qgb3B0aW9uczogYW55W10gPSB0aGlzLmZpZWxkKCk/LnRyZWVTZWxlY3RQcm9wcz8ub3B0aW9ucyE7XG5cdFx0XHRcdFx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gdGhpcy5maW5kTGFiZWxCeVRyZWVWYWx1ZShvcHRpb25zLCB2YWx1ZSkgfHwgJyc7XG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5jbGlwYm9hcmQuY29weShyZXN1bHQpO1xuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRdO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRoaXMuaXRlbXMgPSBbXG5cdFx0XHRcdFx0XHQuLi50aGlzLmNvbW1vbkl0ZW1zLFxuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRsYWJlbDogJ+WkjeWItuWAvOOAkFZhbHVl44CRJyxcblx0XHRcdFx0XHRcdFx0aWNvbjogJ3BpIHBpLWNsb25lJyxcblx0XHRcdFx0XHRcdFx0Y29tbWFuZDogKCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IHZhbHVlID0gdGhpcy5maWVsZCgpPy5mb3JtPy5tb2RlbCgpPy5bdGhpcy5maWVsZCgpPy5rZXkhXTtcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmNsaXBib2FyZC5jb3B5KHZhbHVlKTtcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0ZmluZExhYmVsQnlUcmVlVmFsdWUob3B0aW9uczogYW55W10sIHZhbHVlOiBhbnkpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuXHRcdGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcblx0XHRcdGlmIChvcHRpb24ua2V5ID09PSB2YWx1ZSkge1xuXHRcdFx0XHRyZXR1cm4gb3B0aW9uLmxhYmVsO1xuXHRcdFx0fVxuXHRcdFx0aWYgKG9wdGlvbi5jaGlsZHJlbikge1xuXHRcdFx0XHRjb25zdCBmb3VuZEluQ2hpbGRyZW4gPSB0aGlzLmZpbmRMYWJlbEJ5VHJlZVZhbHVlKG9wdGlvbi5jaGlsZHJlbiwgdmFsdWUpO1xuXHRcdFx0XHRpZiAoZm91bmRJbkNoaWxkcmVuKSByZXR1cm4gZm91bmRJbkNoaWxkcmVuO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHR9XG5cblx0dXBkVmlzaWJsZSgpIHtcblx0XHR0aGlzLnZpc2libGUgPSB3aW5kb3cuaW5uZXJXaWR0aCA+IDEwMjQ7XG5cdH1cbn1cbiJdfQ==
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW1tLWVsZW1lbnQtdWkvc3JjL2xpYi9mb3JtL2Zvcm0tZmllbGQvY29udGV4dC1tZW51LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUEwQjNDLE1BQU0sT0FBTyxvQkFBb0I7SUF3QmhDLFFBQVE7UUFDUCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFlBQW9CLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUExQnhDLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDZixXQUFNLEdBQUcsS0FBSyxDQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3hCLFVBQUssR0FBRyxLQUFLLEVBQWEsQ0FBQztRQUUzQixnQkFBVyxHQUFlO1lBQ3pCO2dCQUNDLEtBQUssRUFBRSxhQUFhO2dCQUNwQixJQUFJLEVBQUUsYUFBYTtnQkFDbkIsT0FBTyxFQUFFLEdBQUcsRUFBRTtvQkFDYixNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUcsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7b0JBQzFELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM1QixDQUFDO2FBQ0Q7WUFDRDtnQkFDQyxLQUFLLEVBQUUsV0FBVztnQkFDbEIsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLE9BQU8sRUFBRSxHQUFHLEVBQUU7b0JBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDOUMsQ0FBQzthQUNEO1NBQ0QsQ0FBQztRQU9ELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO29CQUNyQyxJQUFJLENBQUMsS0FBSyxHQUFHO3dCQUNaLEdBQUcsSUFBSSxDQUFDLFdBQVc7d0JBQ25COzRCQUNDLEtBQUssRUFBRSxtQkFBbUI7NEJBQzFCLElBQUksRUFBRSxhQUFhOzRCQUNuQixPQUFPLEVBQUUsR0FBRyxFQUFFO2dDQUNiLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBSSxDQUFDLENBQUM7Z0NBQ2hFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDOzRCQUM1QixDQUFDO3lCQUNEO3dCQUNEOzRCQUNDLEtBQUssRUFBRSxvQkFBb0I7NEJBQzNCLElBQUksRUFBRSxhQUFhOzRCQUNuQixPQUFPLEVBQUUsR0FBRyxFQUFFO2dDQUNiLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBSSxDQUFDLENBQUM7Z0NBQ2hFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxXQUFXLEVBQUUsV0FBVyxJQUFJLE9BQU8sQ0FBQztnQ0FDdEUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxXQUFXLElBQUksT0FBTyxDQUFDO2dDQUN0RSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dDQUM5RyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzs0QkFDN0IsQ0FBQzt5QkFDRDtxQkFDRCxDQUFDO2dCQUNILENBQUM7cUJBQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxLQUFLLFlBQVksRUFBRSxDQUFDO29CQUNoRCxJQUFJLENBQUMsS0FBSyxHQUFHO3dCQUNaLEdBQUcsSUFBSSxDQUFDLFdBQVc7d0JBQ25COzRCQUNDLEtBQUssRUFBRSxtQkFBbUI7NEJBQzFCLElBQUksRUFBRSxhQUFhOzRCQUNuQixPQUFPLEVBQUUsR0FBRyxFQUFFO2dDQUNiLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBSSxDQUFDLENBQUM7Z0NBQ2hFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDOzRCQUM1QixDQUFDO3lCQUNEO3dCQUNEOzRCQUNDLEtBQUssRUFBRSxvQkFBb0I7NEJBQzNCLElBQUksRUFBRSxhQUFhOzRCQUNuQixPQUFPLEVBQUUsR0FBRyxFQUFFO2dDQUNiLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBSSxDQUFDLENBQUM7Z0NBQ2hFLE1BQU0sT0FBTyxHQUFVLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxlQUFlLEVBQUUsT0FBUSxDQUFDO2dDQUMvRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQ0FDL0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7NEJBQzdCLENBQUM7eUJBQ0Q7cUJBQ0QsQ0FBQztnQkFDSCxDQUFDO3FCQUFNLENBQUM7b0JBQ1AsSUFBSSxDQUFDLEtBQUssR0FBRzt3QkFDWixHQUFHLElBQUksQ0FBQyxXQUFXO3dCQUNuQjs0QkFDQyxLQUFLLEVBQUUsWUFBWTs0QkFDbkIsSUFBSSxFQUFFLGFBQWE7NEJBQ25CLE9BQU8sRUFBRSxHQUFHLEVBQUU7Z0NBQ2IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFJLENBQUMsQ0FBQztnQ0FDaEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7NEJBQzVCLENBQUM7eUJBQ0Q7cUJBQ0QsQ0FBQztnQkFDSCxDQUFDO1lBQ0YsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELG9CQUFvQixDQUFDLE9BQWMsRUFBRSxLQUFVO1FBQzlDLEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFLENBQUM7WUFDOUIsSUFBSSxNQUFNLENBQUMsR0FBRyxLQUFLLEtBQUssRUFBRSxDQUFDO2dCQUMxQixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDckIsQ0FBQztZQUNELElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNyQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDMUUsSUFBSSxlQUFlO29CQUFFLE9BQU8sZUFBZSxDQUFDO1lBQzdDLENBQUM7UUFDRixDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbEIsQ0FBQztJQUVELFVBQVU7UUFDVCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ3pDLENBQUM7K0dBN0dXLG9CQUFvQjttR0FBcEIsb0JBQW9CLG1lQXBCdEI7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJULDBFQWxCUyxXQUFXOzs0RkFxQlQsb0JBQW9CO2tCQXhCaEMsU0FBUzsrQkFDQyxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLENBQUMsV0FBVyxDQUFDLFlBQ1o7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJUOzhFQUlnQixFQUFFO3NCQUFsQixTQUFTO3VCQUFDLElBQUk7Z0JBdUJmLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGVmZmVjdCwgSG9zdExpc3RlbmVyLCBpbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBDb250ZXh0TWVudSB9IGZyb20gJ3ByaW1lbmcvY29udGV4dG1lbnUnO1xyXG5pbXBvcnQgeyBDbGlwYm9hcmQgfSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcclxuaW1wb3J0IHsgRm9ybUZpZWxkIH0gZnJvbSAnLi9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgZmllbGRVdGlscyB9IGZyb20gJy4vZmllbGQtdXRpbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcHAtY29udGV4dC1tZW51JyxcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdGltcG9ydHM6IFtDb250ZXh0TWVudV0sXHJcblx0dGVtcGxhdGU6IGBcclxuXHRcdEBpZiAodmlzaWJsZSkge1xyXG5cdFx0XHQ8cC1jb250ZXh0TWVudVxyXG5cdFx0XHRcdCNjbVxyXG5cdFx0XHRcdFt0YXJnZXRdPVwidGFyZ2V0KClcIlxyXG5cdFx0XHRcdFthcHBlbmRUb109XCInYm9keSdcIlxyXG5cdFx0XHRcdFttb2RlbF09XCJpdGVtc1wiPlxyXG5cdFx0XHRcdDxuZy10ZW1wbGF0ZVxyXG5cdFx0XHRcdFx0I2l0ZW1cclxuXHRcdFx0XHRcdGxldC1pdGVtPlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cInB4LVswLjVyZW1dIHB5LVswLjVyZW1dXCI+XHJcblx0XHRcdFx0XHRcdDxpIFtjbGFzc109XCJpdGVtLmljb25cIj48L2k+XHJcblx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwibWwtMiBjdXJzb3ItcG9pbnRlclwiPnt7IGl0ZW0ubGFiZWwgfX08L3NwYW4+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0XHQ8L3AtY29udGV4dE1lbnU+XHJcblx0XHR9XHJcblx0YCxcclxuXHRzdHlsZXM6IFtgYF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb250ZXh0TWVudUNvbXBvbmVudCB7XHJcblx0QFZpZXdDaGlsZCgnY20nKSBjbT86IENvbnRleHRNZW51O1xyXG5cdHZpc2libGUgPSB0cnVlO1xyXG5cdHRhcmdldCA9IGlucHV0PGFueT4oe30pO1xyXG5cdGZpZWxkID0gaW5wdXQ8Rm9ybUZpZWxkPigpO1xyXG5cdGl0ZW1zPzogTWVudUl0ZW1bXTtcclxuXHRjb21tb25JdGVtczogTWVudUl0ZW1bXSA9IFtcclxuXHRcdHtcclxuXHRcdFx0bGFiZWw6ICflpI3liLbmoIfpopjjgJBMYWJlbOOAkScsXHJcblx0XHRcdGljb246ICdwaSBwaS1jbG9uZScsXHJcblx0XHRcdGNvbW1hbmQ6ICgpID0+IHtcclxuXHRcdFx0XHRjb25zdCBsYWJlbCA9IGZpZWxkVXRpbHMucHJvcHModGhpcy5maWVsZCgpISkubGFiZWwgfHwgJyc7XHJcblx0XHRcdFx0dGhpcy5jbGlwYm9hcmQuY29weShsYWJlbCk7XHJcblx0XHRcdH0sXHJcblx0XHR9LFxyXG5cdFx0e1xyXG5cdFx0XHRsYWJlbDogJ+WkjeWItumUruWQjeOAkEtleeOAkScsXHJcblx0XHRcdGljb246ICdwaSBwaS1jbG9uZScsXHJcblx0XHRcdGNvbW1hbmQ6ICgpID0+IHtcclxuXHRcdFx0XHR0aGlzLmNsaXBib2FyZC5jb3B5KHRoaXMuZmllbGQoKT8ua2V5IHx8ICcnKTtcclxuXHRcdFx0fSxcclxuXHRcdH0sXHJcblx0XTtcclxuXHRASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuXHRvblJlc2l6ZSgpIHtcclxuXHRcdHRoaXMudXBkVmlzaWJsZSgpO1xyXG5cdH1cclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBjbGlwYm9hcmQ6IENsaXBib2FyZCkge1xyXG5cdFx0dGhpcy51cGRWaXNpYmxlKCk7XHJcblx0XHRlZmZlY3QoKCkgPT4ge1xyXG5cdFx0XHRpZiAodGhpcy5maWVsZCgpKSB7XHJcblx0XHRcdFx0aWYgKHRoaXMuZmllbGQoKT8udHlwZSA9PT0gJ3NlbGVjdCcpIHtcclxuXHRcdFx0XHRcdHRoaXMuaXRlbXMgPSBbXHJcblx0XHRcdFx0XHRcdC4uLnRoaXMuY29tbW9uSXRlbXMsXHJcblx0XHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0XHRsYWJlbDogJ+WkjeWItumhueWAvOOAkE9wdGlvblZhbHVl44CRJyxcclxuXHRcdFx0XHRcdFx0XHRpY29uOiAncGkgcGktY2xvbmUnLFxyXG5cdFx0XHRcdFx0XHRcdGNvbW1hbmQ6ICgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IHZhbHVlID0gdGhpcy5maWVsZCgpPy5mb3JtPy5tb2RlbCgpPy5bdGhpcy5maWVsZCgpPy5rZXkhXTtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuY2xpcGJvYXJkLmNvcHkodmFsdWUpO1xyXG5cdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0XHRsYWJlbDogJ+WkjeWItumhueWQjeensOOAkE9wdGlvbkxhYmVs44CRJyxcclxuXHRcdFx0XHRcdFx0XHRpY29uOiAncGkgcGktY2xvbmUnLFxyXG5cdFx0XHRcdFx0XHRcdGNvbW1hbmQ6ICgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IHZhbHVlID0gdGhpcy5maWVsZCgpPy5mb3JtPy5tb2RlbCgpPy5bdGhpcy5maWVsZCgpPy5rZXkhXTtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IG9wdGlvblZhbHVlID0gdGhpcy5maWVsZCgpPy5zZWxlY3RQcm9wcz8ub3B0aW9uVmFsdWUgfHwgJ3ZhbHVlJztcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IG9wdGlvbkxhYmVsID0gdGhpcy5maWVsZCgpPy5zZWxlY3RQcm9wcz8ub3B0aW9uTGFiZWwgfHwgJ2xhYmVsJztcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IHJlc3VsdCA9IHRoaXMuZmllbGQoKT8uc2VsZWN0UHJvcHM/Lm9wdGlvbnM/LmZpbmQoKGl0ZW0pID0+IGl0ZW1bb3B0aW9uVmFsdWVdID09PSB2YWx1ZSk/LltvcHRpb25MYWJlbF07XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmNsaXBib2FyZC5jb3B5KHJlc3VsdCk7XHJcblx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdF07XHJcblx0XHRcdFx0fSBlbHNlIGlmICh0aGlzLmZpZWxkKCk/LnR5cGUgPT09ICd0cmVlc2VsZWN0Jykge1xyXG5cdFx0XHRcdFx0dGhpcy5pdGVtcyA9IFtcclxuXHRcdFx0XHRcdFx0Li4udGhpcy5jb21tb25JdGVtcyxcclxuXHRcdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRcdGxhYmVsOiAn5aSN5Yi26aG55YC844CQT3B0aW9uVmFsdWXjgJEnLFxyXG5cdFx0XHRcdFx0XHRcdGljb246ICdwaSBwaS1jbG9uZScsXHJcblx0XHRcdFx0XHRcdFx0Y29tbWFuZDogKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc3QgdmFsdWUgPSB0aGlzLmZpZWxkKCk/LmZvcm0/Lm1vZGVsKCk/Llt0aGlzLmZpZWxkKCk/LmtleSFdO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5jbGlwYm9hcmQuY29weSh2YWx1ZSk7XHJcblx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRcdGxhYmVsOiAn5aSN5Yi26aG55ZCN56ew44CQT3B0aW9uTGFiZWzjgJEnLFxyXG5cdFx0XHRcdFx0XHRcdGljb246ICdwaSBwaS1jbG9uZScsXHJcblx0XHRcdFx0XHRcdFx0Y29tbWFuZDogKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc3QgdmFsdWUgPSB0aGlzLmZpZWxkKCk/LmZvcm0/Lm1vZGVsKCk/Llt0aGlzLmZpZWxkKCk/LmtleSFdO1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc3Qgb3B0aW9uczogYW55W10gPSB0aGlzLmZpZWxkKCk/LnRyZWVTZWxlY3RQcm9wcz8ub3B0aW9ucyE7XHJcblx0XHRcdFx0XHRcdFx0XHRjb25zdCByZXN1bHQgPSB0aGlzLmZpbmRMYWJlbEJ5VHJlZVZhbHVlKG9wdGlvbnMsIHZhbHVlKSB8fCAnJztcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuY2xpcGJvYXJkLmNvcHkocmVzdWx0KTtcclxuXHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XTtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5pdGVtcyA9IFtcclxuXHRcdFx0XHRcdFx0Li4udGhpcy5jb21tb25JdGVtcyxcclxuXHRcdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRcdGxhYmVsOiAn5aSN5Yi25YC844CQVmFsdWXjgJEnLFxyXG5cdFx0XHRcdFx0XHRcdGljb246ICdwaSBwaS1jbG9uZScsXHJcblx0XHRcdFx0XHRcdFx0Y29tbWFuZDogKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc3QgdmFsdWUgPSB0aGlzLmZpZWxkKCk/LmZvcm0/Lm1vZGVsKCk/Llt0aGlzLmZpZWxkKCk/LmtleSFdO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5jbGlwYm9hcmQuY29weSh2YWx1ZSk7XHJcblx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdF07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGZpbmRMYWJlbEJ5VHJlZVZhbHVlKG9wdGlvbnM6IGFueVtdLCB2YWx1ZTogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuXHRcdGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcclxuXHRcdFx0aWYgKG9wdGlvbi5rZXkgPT09IHZhbHVlKSB7XHJcblx0XHRcdFx0cmV0dXJuIG9wdGlvbi5sYWJlbDtcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAob3B0aW9uLmNoaWxkcmVuKSB7XHJcblx0XHRcdFx0Y29uc3QgZm91bmRJbkNoaWxkcmVuID0gdGhpcy5maW5kTGFiZWxCeVRyZWVWYWx1ZShvcHRpb24uY2hpbGRyZW4sIHZhbHVlKTtcclxuXHRcdFx0XHRpZiAoZm91bmRJbkNoaWxkcmVuKSByZXR1cm4gZm91bmRJbkNoaWxkcmVuO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xyXG5cdH1cclxuXHJcblx0dXBkVmlzaWJsZSgpIHtcclxuXHRcdHRoaXMudmlzaWJsZSA9IHdpbmRvdy5pbm5lcldpZHRoID4gMTAyNDtcclxuXHR9XHJcbn1cclxuIl19
@@ -16,4 +16,4 @@ export class FieldControl extends FormControl {
16
16
  this.submitChange.next(true);
17
17
  }
18
18
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvZm9ybS9mb3JtLWZpZWxkL2ZpZWxkLWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsTUFBTSxPQUFPLFlBQWEsU0FBUSxXQUFXO0lBQTdDOztRQUNRLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztRQUM1QyxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBbUIzRCxDQUFDO0lBbEJTLFFBQVEsQ0FDaEIsS0FBVSxFQUNWLFVBS0ksRUFBRSxFQUNOLFdBQW9CLEtBQUs7UUFFekIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0IsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUM7SUFDRixDQUFDO0lBQ0QsV0FBVztRQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjbGFzcyBGaWVsZENvbnRyb2wgZXh0ZW5kcyBGb3JtQ29udHJvbCB7XG5cdHB1YmxpYyBob29rQ2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xuXHRwdWJsaWMgc3VibWl0Q2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxCb29sZWFuPihmYWxzZSk7XG5cdG92ZXJyaWRlIHNldFZhbHVlKFxuXHRcdHZhbHVlOiBhbnksXG5cdFx0b3B0aW9uczoge1xuXHRcdFx0b25seVNlbGY/OiBib29sZWFuO1xuXHRcdFx0ZW1pdEV2ZW50PzogYm9vbGVhbjtcblx0XHRcdGVtaXRNb2RlbFRvVmlld0NoYW5nZT86IGJvb2xlYW47XG5cdFx0XHRlbWl0Vmlld1RvTW9kZWxDaGFuZ2U/OiBib29sZWFuO1xuXHRcdH0gPSB7fSxcblx0XHRlbWl0SG9vazogYm9vbGVhbiA9IGZhbHNlLFxuXHQpOiB2b2lkIHtcblx0XHRzdXBlci5zZXRWYWx1ZSh2YWx1ZSwgb3B0aW9ucyk7XG5cdFx0aWYgKGVtaXRIb29rKSB7XG5cdFx0XHR0aGlzLmhvb2tDaGFuZ2UubmV4dCh2YWx1ZSk7XG5cdFx0fVxuXHR9XG5cdGFmdGVyU3VibWl0KCkge1xuXHRcdHRoaXMuc3VibWl0Q2hhbmdlLm5leHQodHJ1ZSk7XG5cdH1cbn1cbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ltbS1lbGVtZW50LXVpL3NyYy9saWIvZm9ybS9mb3JtLWZpZWxkL2ZpZWxkLWNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsTUFBTSxPQUFPLFlBQWEsU0FBUSxXQUFXO0lBQTdDOztRQUNRLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztRQUM1QyxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBbUIzRCxDQUFDO0lBbEJTLFFBQVEsQ0FDaEIsS0FBVSxFQUNWLFVBS0ksRUFBRSxFQUNOLFdBQW9CLEtBQUs7UUFFekIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0IsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLENBQUM7SUFDRixDQUFDO0lBQ0QsV0FBVztRQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcbmV4cG9ydCBjbGFzcyBGaWVsZENvbnRyb2wgZXh0ZW5kcyBGb3JtQ29udHJvbCB7XHJcblx0cHVibGljIGhvb2tDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XHJcblx0cHVibGljIHN1Ym1pdENoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Qm9vbGVhbj4oZmFsc2UpO1xyXG5cdG92ZXJyaWRlIHNldFZhbHVlKFxyXG5cdFx0dmFsdWU6IGFueSxcclxuXHRcdG9wdGlvbnM6IHtcclxuXHRcdFx0b25seVNlbGY/OiBib29sZWFuO1xyXG5cdFx0XHRlbWl0RXZlbnQ/OiBib29sZWFuO1xyXG5cdFx0XHRlbWl0TW9kZWxUb1ZpZXdDaGFuZ2U/OiBib29sZWFuO1xyXG5cdFx0XHRlbWl0Vmlld1RvTW9kZWxDaGFuZ2U/OiBib29sZWFuO1xyXG5cdFx0fSA9IHt9LFxyXG5cdFx0ZW1pdEhvb2s6IGJvb2xlYW4gPSBmYWxzZSxcclxuXHQpOiB2b2lkIHtcclxuXHRcdHN1cGVyLnNldFZhbHVlKHZhbHVlLCBvcHRpb25zKTtcclxuXHRcdGlmIChlbWl0SG9vaykge1xyXG5cdFx0XHR0aGlzLmhvb2tDaGFuZ2UubmV4dCh2YWx1ZSk7XHJcblx0XHR9XHJcblx0fVxyXG5cdGFmdGVyU3VibWl0KCkge1xyXG5cdFx0dGhpcy5zdWJtaXRDaGFuZ2UubmV4dCh0cnVlKTtcclxuXHR9XHJcbn1cclxuIl19