@alauda-fe/common 1.2.1 → 1.3.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/api-gateway.service.d.ts +1 -11
- package/api/public-api.d.ts +0 -1
- package/array-form-table/key-value-form/component.d.ts +3 -2
- package/async-data/async-data.module.d.ts +6 -0
- package/authorization/public-api.d.ts +1 -0
- package/authorization/state.service.d.ts +13 -20
- package/authorization/storage-token.d.ts +11 -0
- package/chart/common/tooltip/tooltip.component.d.ts +2 -1
- package/core/abstract/base-form-container.d.ts +1 -1
- package/core/constants/tokens.d.ts +0 -18
- package/core/module.d.ts +16 -15
- package/core/services/k8s-util.service.d.ts +0 -5
- package/core/types/k8s/crd.d.ts +2 -1
- package/core/utils/common.d.ts +2 -1
- package/esm2022/api/api-gateway.service.mjs +10 -20
- package/esm2022/api/product.service.mjs +4 -4
- package/esm2022/api/project-api.service.mjs +4 -4
- package/esm2022/api/public-api.mjs +1 -2
- package/esm2022/array-form-table/key-value-form/component.mjs +65 -43
- package/esm2022/async-data/async-data.module.mjs +17 -5
- package/esm2022/authorization/public-api.mjs +2 -1
- package/esm2022/authorization/state.service.mjs +86 -115
- package/esm2022/authorization/storage-token.mjs +82 -0
- package/esm2022/business/resource-select/exports/cluster-selector/component.mjs +2 -2
- package/esm2022/business/resource-select/exports/mesh-group-selector/component.mjs +2 -2
- package/esm2022/business/resource-select/exports/namespace-selector/component.mjs +2 -2
- package/esm2022/business/resource-select/exports/project-selector/component.mjs +2 -2
- package/esm2022/business/resource-select/module.mjs +9 -9
- package/esm2022/chart/chart.module.mjs +1 -1
- package/esm2022/chart/common/tooltip/tooltip.component.mjs +5 -2
- package/esm2022/core/abstract/base-form-container.mjs +1 -1
- package/esm2022/core/abstract/base-nested-form-control.mjs +2 -2
- package/esm2022/core/constants/tokens.mjs +1 -46
- package/esm2022/core/module.mjs +10 -3
- package/esm2022/core/pipes/page-env.pipe.mjs +6 -3
- package/esm2022/core/services/feature-gate.service.mjs +3 -3
- package/esm2022/core/services/k8s-util.service.mjs +1 -13
- package/esm2022/core/types/k8s/crd.mjs +1 -1
- package/esm2022/core/utils/common.mjs +11 -9
- package/esm2022/disabled-container/disabled-container.component.mjs +2 -2
- package/esm2022/form/validators/utils.mjs +37 -34
- package/esm2022/graph-canvas/graph-store.service.mjs +2 -2
- package/esm2022/help-document/service.mjs +3 -2
- package/esm2022/lazy-component/lazy-load-component.mjs +138 -0
- package/esm2022/lazy-component/public-api.mjs +14 -0
- package/esm2022/lazy-component/visibility.service.mjs +37 -0
- package/esm2022/list-display/component.mjs +159 -0
- package/esm2022/list-display/public-api.mjs +2 -0
- package/esm2022/metric-chart/metric-chart.component.mjs +2 -2
- package/esm2022/multi-search/action-input/component.mjs +2 -2
- package/esm2022/notification/feedback-notification/component.mjs +10 -4
- package/esm2022/notification/public-api.mjs +1 -2
- package/esm2022/page-scaffold/navigation/lottie-icons/animation-data.mjs +3 -1
- package/esm2022/page-scaffold/navigation/lottie-icons/animations/dashboard.json +1 -0
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.types.mjs +1 -1
- package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +10 -13
- package/esm2022/page-scaffold/page-header/help-menu/component/component.mjs +3 -3
- package/esm2022/public-api.mjs +4 -4
- package/esm2022/table/component.mjs +5 -5
- package/esm2022/table/types.mjs +1 -1
- package/esm2022/translate/translate.service.mjs +7 -1
- package/esm2022/view-chart/view-chart.module.mjs +1 -1
- package/esm2022/view-zchart/custom-template/dropdown-legend.mjs +3 -3
- package/esm2022/view-zchart/legend/legend.component.mjs +8 -8
- package/esm2022/view-zchart/units.mjs +13 -1
- package/esm2022/view-zchart/view-zchart.component.mjs +2 -2
- package/esm2022/view-zchart/view-zchart.module.mjs +1 -1
- package/esm2022/widget/foldable-item-in-table/component.mjs +2 -2
- package/esm2022/widget/search-panel/component.mjs +4 -4
- package/esm2022/window-channel/plugin-window-channel.service.mjs +8 -3
- package/esm2022/xterm/xterm-terminal/xterm-terminal.component.mjs +66 -69
- package/esm2022/xterm/xterm.component.mjs +11 -3
- package/form/validators/utils.d.ts +7 -0
- package/lazy-component/lazy-load-component.d.ts +25 -0
- package/lazy-component/public-api.d.ts +9 -0
- package/lazy-component/visibility.service.d.ts +11 -0
- package/list-display/component.d.ts +15 -0
- package/list-display/public-api.d.ts +1 -0
- package/notification/feedback-notification/component.d.ts +1 -5
- package/notification/public-api.d.ts +0 -1
- package/package.json +1 -1
- package/page-scaffold/navigation/nav-menu/nav-menu.types.d.ts +1 -0
- package/page-scaffold/page-header/common-layout/product-select/component.d.ts +1 -2
- package/public-api.d.ts +3 -3
- package/styles/global.scss +6 -0
- package/styles/mixins.scss +20 -0
- package/styles/reset-browser.scss +4 -0
- package/styles/tailwind-preset.scss +1 -1
- package/table/types.d.ts +2 -0
- package/translate/translate.service.d.ts +2 -0
- package/view-zchart/custom-template/dropdown-legend.d.ts +1 -1
- package/view-zchart/units.d.ts +3 -0
- package/xterm/xterm-terminal/xterm-terminal.component.d.ts +4 -3
- package/xterm/xterm.component.d.ts +4 -2
|
@@ -160,11 +160,11 @@ export class NamespaceSelectorComponent {
|
|
|
160
160
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(20, 12, "cluster"), " ");
|
|
161
161
|
i0.ɵɵadvance(2);
|
|
162
162
|
i0.ɵɵtextInterpolate1("", ctx.value.cluster, ") ");
|
|
163
|
-
} }, styles: ["[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] .icon-wrapper{position:relative;display:flex;justify-content:center;align-items:center;width:16px;height:16px;flex-shrink:0;font-size:var(--aui-icon-size-m)}:root [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}html[aui-theme-mode=light] [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}}html[aui-theme-mode=dark] [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}[_nghost-%COMP%] .with-colon{display:inline-flex;word-break:keep-all;flex-shrink:0;font-weight:500}[_nghost-%COMP%] .with-colon:after{content:\":\";margin-right:8px}[_nghost-%COMP%] .text-truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[_nghost-%COMP%] .acl-resource-selector{user-select:none;display:flex;color:var(--acl-page-header-title-color);cursor:pointer;padding:0 8px}[_nghost-%COMP%] .acl-resource-selector .selected-name{color:var(--acl-page-header-text-color)}[_nghost-%COMP%] .acl-resource-selector--active, [_nghost-%COMP%] .acl-resource-selector:hover{background-color:rgb(var(--aui-color-primary));color:#fff;border-radius:2px}:root [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, :root [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}html[aui-theme-mode=light] [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, html[aui-theme-mode=light] [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, html[aui-theme-mode=system] [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}}html[aui-theme-mode=dark] [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, html[aui-theme-mode=dark] [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}[_nghost-%COMP%] .acl-resource-selector--active .selected-name, [_nghost-%COMP%] .acl-resource-selector:hover .selected-name{color:#fff}[_nghost-%COMP%] .acl-resource-selector--lite{padding:0 4px}[_nghost-%COMP%] .acl-resource-selector--lite:hover{background-color:rgb(var(--aui-color-b-6))}[_nghost-%COMP%] .acl-resource-selector--lite:hover .selected-name, [_nghost-%COMP%] .acl-resource-selector--lite:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-n-2))}[_nghost-%COMP%] .acl-resource-selector--lite .acl-resource-selector__item{height:20px}[_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active:hover{background-color:rgb(var(--aui-color-b-5))}[_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active .selected-name, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active .acl-resource-selector__arrow, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active:hover .selected-name, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-primary))}[_nghost-%COMP%] .acl-resource-selector__item{margin-right:20px;height:32px;display:inline-flex;align-items:center;font-size:12px;max-width:270px}@media screen and (max-width: 1280px){[_nghost-%COMP%] .acl-resource-selector__item{max-width:178px;margin-right:8px}}[_nghost-%COMP%] .acl-resource-selector__item .icon-wrapper{margin-right:4px}[_nghost-%COMP%] .acl-resource-selector__arrow{margin-left:-16px;align-items:center;display:inline-flex;width:16px;justify-content:center}"], changeDetection: 0 }); }
|
|
163
|
+
} }, styles: ["[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] .icon-wrapper{position:relative;display:flex;justify-content:center;align-items:center;width:16px;height:16px;flex-shrink:0;font-size:var(--aui-icon-size-m)}:root [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}html[aui-theme-mode=light] [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}}html[aui-theme-mode=dark] [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}[_nghost-%COMP%] .with-colon{display:inline-flex;word-break:keep-all;flex-shrink:0;font-weight:500}[_nghost-%COMP%] .with-colon:after{content:\":\";margin-right:8px}[_nghost-%COMP%] .text-truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[_nghost-%COMP%] .acl-resource-selector{user-select:none;display:flex;color:var(--acl-page-header-title-color);cursor:pointer;padding:0 8px}[_nghost-%COMP%] .acl-resource-selector .selected-name{color:var(--acl-page-header-text-color)}[_nghost-%COMP%] .acl-resource-selector--active, [_nghost-%COMP%] .acl-resource-selector:hover{background-color:rgb(var(--aui-color-primary));color:#fff;border-radius:2px}:root [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, :root [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}html[aui-theme-mode=light] [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, html[aui-theme-mode=light] [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, html[aui-theme-mode=system] [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}}html[aui-theme-mode=dark] [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, html[aui-theme-mode=dark] [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}[_nghost-%COMP%] .acl-resource-selector--active .selected-name, [_nghost-%COMP%] .acl-resource-selector:hover .selected-name{color:#fff}[_nghost-%COMP%] .acl-resource-selector--lite{padding:0 4px}[_nghost-%COMP%] .acl-resource-selector--lite:hover{background-color:rgb(var(--aui-color-b-6))}[_nghost-%COMP%] .acl-resource-selector--lite:hover .selected-name, [_nghost-%COMP%] .acl-resource-selector--lite:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-n-2))}[_nghost-%COMP%] .acl-resource-selector--lite .acl-resource-selector__item{height:20px}[_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active:hover{background-color:rgb(var(--aui-color-b-5))}[_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active .selected-name, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active .acl-resource-selector__arrow, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active:hover .selected-name, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-primary))}[_nghost-%COMP%] .acl-resource-selector__item{margin-right:20px;height:32px;display:inline-flex;align-items:center;font-size:12px;max-width:270px}@media screen and (max-width: 1280px){[_nghost-%COMP%] .acl-resource-selector__item{max-width:178px;margin-right:8px}}[_nghost-%COMP%] .acl-resource-selector__item .icon-wrapper{margin-right:4px}[_nghost-%COMP%] .acl-resource-selector__arrow{margin-left:-16px;align-items:center;display:inline-flex;width:16px;justify-content:center}@media screen and (max-width: 1280px){[_nghost-%COMP%] .acl-resource-selector__arrow{margin-left:-4px}}"], changeDetection: 0 }); }
|
|
164
164
|
}
|
|
165
165
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NamespaceSelectorComponent, [{
|
|
166
166
|
type: Component,
|
|
167
|
-
args: [{ selector: 'acl-namespace-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"acl-resource-selector\"\n [ngClass]=\"{ 'acl-resource-selector--active': isActive }\"\n (click)=\"openPopup()\"\n>\n <div class=\"acl-resource-selector__item project\">\n <span class=\"icon-wrapper tw-flex\">\n <aui-icon icon=\"bicolor:project\"></aui-icon>\n </span>\n <span class=\"with-colon\">\n {{ 'project' | translate }}\n </span>\n <span class=\"selected-name text-truncate\">{{ value.project }}</span>\n </div>\n <div\n *ngIf=\"displayServiceMesh\"\n class=\"acl-resource-selector__item namespace\"\n >\n <span class=\"icon-wrapper\">\n <aui-icon icon=\"bicolor:service_mesh\"></aui-icon>\n </span>\n <span class=\"with-colon\"> {{ 'service_mesh' | translate }} </span>\n <span class=\"selected-name text-truncate\"\n >{{ value.servicemesh }}\n <ng-container *ngIf=\"value.istioVersion as istioVersion\"\n >(Istio {{ istioVersion }})</ng-container\n >\n </span>\n </div>\n <div class=\"acl-resource-selector__item namespace\">\n <span class=\"icon-wrapper\">\n <aui-icon icon=\"bicolor:namespace\"></aui-icon>\n </span>\n <span class=\"with-colon\">\n {{ 'namespace' | translate }}\n </span>\n <span class=\"selected-name text-truncate\"\n >{{ value.name }} (<span class=\"with-colon\">\n {{ 'cluster' | translate }} </span\n >{{ value.cluster }})\n </span>\n </div>\n <div class=\"acl-resource-selector__arrow\">\n <aui-icon icon=\"caret_down_s\"></aui-icon>\n </div>\n</div>\n\n<ng-template #popup>\n <acl-namespace-list\n [context]=\"'popup'\"\n [fields]=\"fields || displayFields\"\n (selectItem)=\"onSelect($event)\"\n [disableFn]=\"disableFn\"\n [value]=\"value\"\n [displayServiceMesh]=\"displayServiceMesh\"\n (clusterChange)=\"clusterChange.emit($event)\"\n (projectChange)=\"projectChange.emit($event)\"\n ></acl-namespace-list>\n</ng-template>\n", styles: [":host{display:flex}:host::ng-deep .icon-wrapper{position:relative;display:flex;justify-content:center;align-items:center;width:16px;height:16px;flex-shrink:0;font-size:var(--aui-icon-size-m)}:root :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}html[aui-theme-mode=light] :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}}html[aui-theme-mode=dark] :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}:host::ng-deep .with-colon{display:inline-flex;word-break:keep-all;flex-shrink:0;font-weight:500}:host::ng-deep .with-colon:after{content:\":\";margin-right:8px}:host::ng-deep .text-truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}:host::ng-deep .acl-resource-selector{user-select:none;display:flex;color:var(--acl-page-header-title-color);cursor:pointer;padding:0 8px}:host::ng-deep .acl-resource-selector .selected-name{color:var(--acl-page-header-text-color)}:host::ng-deep .acl-resource-selector--active,:host::ng-deep .acl-resource-selector:hover{background-color:rgb(var(--aui-color-primary));color:#fff;border-radius:2px}:root :host::ng-deep .acl-resource-selector--active .icon-wrapper,:root :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}html[aui-theme-mode=light] :host::ng-deep .acl-resource-selector--active .icon-wrapper,html[aui-theme-mode=light] :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] :host::ng-deep .acl-resource-selector--active .icon-wrapper,html[aui-theme-mode=system] :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}}html[aui-theme-mode=dark] :host::ng-deep .acl-resource-selector--active .icon-wrapper,html[aui-theme-mode=dark] :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}:host::ng-deep .acl-resource-selector--active .selected-name,:host::ng-deep .acl-resource-selector:hover .selected-name{color:#fff}:host::ng-deep .acl-resource-selector--lite{padding:0 4px}:host::ng-deep .acl-resource-selector--lite:hover{background-color:rgb(var(--aui-color-b-6))}:host::ng-deep .acl-resource-selector--lite:hover .selected-name,:host::ng-deep .acl-resource-selector--lite:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-n-2))}:host::ng-deep .acl-resource-selector--lite .acl-resource-selector__item{height:20px}:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active:hover{background-color:rgb(var(--aui-color-b-5))}:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active .selected-name,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active .acl-resource-selector__arrow,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active:hover .selected-name,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-primary))}:host::ng-deep .acl-resource-selector__item{margin-right:20px;height:32px;display:inline-flex;align-items:center;font-size:12px;max-width:270px}@media screen and (max-width: 1280px){:host::ng-deep .acl-resource-selector__item{max-width:178px;margin-right:8px}}:host::ng-deep .acl-resource-selector__item .icon-wrapper{margin-right:4px}:host::ng-deep .acl-resource-selector__arrow{margin-left:-16px;align-items:center;display:inline-flex;width:16px;justify-content:center}\n"] }]
|
|
167
|
+
args: [{ selector: 'acl-namespace-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"acl-resource-selector\"\n [ngClass]=\"{ 'acl-resource-selector--active': isActive }\"\n (click)=\"openPopup()\"\n>\n <div class=\"acl-resource-selector__item project\">\n <span class=\"icon-wrapper tw-flex\">\n <aui-icon icon=\"bicolor:project\"></aui-icon>\n </span>\n <span class=\"with-colon\">\n {{ 'project' | translate }}\n </span>\n <span class=\"selected-name text-truncate\">{{ value.project }}</span>\n </div>\n <div\n *ngIf=\"displayServiceMesh\"\n class=\"acl-resource-selector__item namespace\"\n >\n <span class=\"icon-wrapper\">\n <aui-icon icon=\"bicolor:service_mesh\"></aui-icon>\n </span>\n <span class=\"with-colon\"> {{ 'service_mesh' | translate }} </span>\n <span class=\"selected-name text-truncate\"\n >{{ value.servicemesh }}\n <ng-container *ngIf=\"value.istioVersion as istioVersion\"\n >(Istio {{ istioVersion }})</ng-container\n >\n </span>\n </div>\n <div class=\"acl-resource-selector__item namespace\">\n <span class=\"icon-wrapper\">\n <aui-icon icon=\"bicolor:namespace\"></aui-icon>\n </span>\n <span class=\"with-colon\">\n {{ 'namespace' | translate }}\n </span>\n <span class=\"selected-name text-truncate\"\n >{{ value.name }} (<span class=\"with-colon\">\n {{ 'cluster' | translate }} </span\n >{{ value.cluster }})\n </span>\n </div>\n <div class=\"acl-resource-selector__arrow\">\n <aui-icon icon=\"caret_down_s\"></aui-icon>\n </div>\n</div>\n\n<ng-template #popup>\n <acl-namespace-list\n [context]=\"'popup'\"\n [fields]=\"fields || displayFields\"\n (selectItem)=\"onSelect($event)\"\n [disableFn]=\"disableFn\"\n [value]=\"value\"\n [displayServiceMesh]=\"displayServiceMesh\"\n (clusterChange)=\"clusterChange.emit($event)\"\n (projectChange)=\"projectChange.emit($event)\"\n ></acl-namespace-list>\n</ng-template>\n", styles: [":host{display:flex}:host::ng-deep .icon-wrapper{position:relative;display:flex;justify-content:center;align-items:center;width:16px;height:16px;flex-shrink:0;font-size:var(--aui-icon-size-m)}:root :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}html[aui-theme-mode=light] :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}}html[aui-theme-mode=dark] :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}:host::ng-deep .with-colon{display:inline-flex;word-break:keep-all;flex-shrink:0;font-weight:500}:host::ng-deep .with-colon:after{content:\":\";margin-right:8px}:host::ng-deep .text-truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}:host::ng-deep .acl-resource-selector{user-select:none;display:flex;color:var(--acl-page-header-title-color);cursor:pointer;padding:0 8px}:host::ng-deep .acl-resource-selector .selected-name{color:var(--acl-page-header-text-color)}:host::ng-deep .acl-resource-selector--active,:host::ng-deep .acl-resource-selector:hover{background-color:rgb(var(--aui-color-primary));color:#fff;border-radius:2px}:root :host::ng-deep .acl-resource-selector--active .icon-wrapper,:root :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}html[aui-theme-mode=light] :host::ng-deep .acl-resource-selector--active .icon-wrapper,html[aui-theme-mode=light] :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] :host::ng-deep .acl-resource-selector--active .icon-wrapper,html[aui-theme-mode=system] :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}}html[aui-theme-mode=dark] :host::ng-deep .acl-resource-selector--active .icon-wrapper,html[aui-theme-mode=dark] :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}:host::ng-deep .acl-resource-selector--active .selected-name,:host::ng-deep .acl-resource-selector:hover .selected-name{color:#fff}:host::ng-deep .acl-resource-selector--lite{padding:0 4px}:host::ng-deep .acl-resource-selector--lite:hover{background-color:rgb(var(--aui-color-b-6))}:host::ng-deep .acl-resource-selector--lite:hover .selected-name,:host::ng-deep .acl-resource-selector--lite:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-n-2))}:host::ng-deep .acl-resource-selector--lite .acl-resource-selector__item{height:20px}:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active:hover{background-color:rgb(var(--aui-color-b-5))}:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active .selected-name,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active .acl-resource-selector__arrow,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active:hover .selected-name,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-primary))}:host::ng-deep .acl-resource-selector__item{margin-right:20px;height:32px;display:inline-flex;align-items:center;font-size:12px;max-width:270px}@media screen and (max-width: 1280px){:host::ng-deep .acl-resource-selector__item{max-width:178px;margin-right:8px}}:host::ng-deep .acl-resource-selector__item .icon-wrapper{margin-right:4px}:host::ng-deep .acl-resource-selector__arrow{margin-left:-16px;align-items:center;display:inline-flex;width:16px;justify-content:center}@media screen and (max-width: 1280px){:host::ng-deep .acl-resource-selector__arrow{margin-left:-4px}}\n"] }]
|
|
168
168
|
}], function () { return [{ type: i1.ResourceSelectorPopupService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i2.K8sUtilService }, { type: i3.AuthorizationStateService }]; }, { popupTemplate: [{
|
|
169
169
|
type: ViewChild,
|
|
170
170
|
args: ['popup', { static: true }]
|
|
@@ -104,11 +104,11 @@ export class ProjectSelectorComponent {
|
|
|
104
104
|
i0.ɵɵproperty("ngIf", !ctx.popupLite);
|
|
105
105
|
i0.ɵɵadvance(2);
|
|
106
106
|
i0.ɵɵtextInterpolate(ctx.value);
|
|
107
|
-
} }, styles: ["[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] .icon-wrapper{position:relative;display:flex;justify-content:center;align-items:center;width:16px;height:16px;flex-shrink:0;font-size:var(--aui-icon-size-m)}:root [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}html[aui-theme-mode=light] [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}}html[aui-theme-mode=dark] [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}[_nghost-%COMP%] .with-colon{display:inline-flex;word-break:keep-all;flex-shrink:0;font-weight:500}[_nghost-%COMP%] .with-colon:after{content:\":\";margin-right:8px}[_nghost-%COMP%] .text-truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[_nghost-%COMP%] .acl-resource-selector{user-select:none;display:flex;color:var(--acl-page-header-title-color);cursor:pointer;padding:0 8px}[_nghost-%COMP%] .acl-resource-selector .selected-name{color:var(--acl-page-header-text-color)}[_nghost-%COMP%] .acl-resource-selector--active, [_nghost-%COMP%] .acl-resource-selector:hover{background-color:rgb(var(--aui-color-primary));color:#fff;border-radius:2px}:root [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, :root [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}html[aui-theme-mode=light] [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, html[aui-theme-mode=light] [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, html[aui-theme-mode=system] [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}}html[aui-theme-mode=dark] [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, html[aui-theme-mode=dark] [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}[_nghost-%COMP%] .acl-resource-selector--active .selected-name, [_nghost-%COMP%] .acl-resource-selector:hover .selected-name{color:#fff}[_nghost-%COMP%] .acl-resource-selector--lite{padding:0 4px}[_nghost-%COMP%] .acl-resource-selector--lite:hover{background-color:rgb(var(--aui-color-b-6))}[_nghost-%COMP%] .acl-resource-selector--lite:hover .selected-name, [_nghost-%COMP%] .acl-resource-selector--lite:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-n-2))}[_nghost-%COMP%] .acl-resource-selector--lite .acl-resource-selector__item{height:20px}[_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active:hover{background-color:rgb(var(--aui-color-b-5))}[_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active .selected-name, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active .acl-resource-selector__arrow, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active:hover .selected-name, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-primary))}[_nghost-%COMP%] .acl-resource-selector__item{margin-right:20px;height:32px;display:inline-flex;align-items:center;font-size:12px;max-width:270px}@media screen and (max-width: 1280px){[_nghost-%COMP%] .acl-resource-selector__item{max-width:178px;margin-right:8px}}[_nghost-%COMP%] .acl-resource-selector__item .icon-wrapper{margin-right:4px}[_nghost-%COMP%] .acl-resource-selector__arrow{margin-left:-16px;align-items:center;display:inline-flex;width:16px;justify-content:center}"], changeDetection: 0 }); }
|
|
107
|
+
} }, styles: ["[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] .icon-wrapper{position:relative;display:flex;justify-content:center;align-items:center;width:16px;height:16px;flex-shrink:0;font-size:var(--aui-icon-size-m)}:root [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}html[aui-theme-mode=light] [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}}html[aui-theme-mode=dark] [_nghost-%COMP%] .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}[_nghost-%COMP%] .with-colon{display:inline-flex;word-break:keep-all;flex-shrink:0;font-weight:500}[_nghost-%COMP%] .with-colon:after{content:\":\";margin-right:8px}[_nghost-%COMP%] .text-truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[_nghost-%COMP%] .acl-resource-selector{user-select:none;display:flex;color:var(--acl-page-header-title-color);cursor:pointer;padding:0 8px}[_nghost-%COMP%] .acl-resource-selector .selected-name{color:var(--acl-page-header-text-color)}[_nghost-%COMP%] .acl-resource-selector--active, [_nghost-%COMP%] .acl-resource-selector:hover{background-color:rgb(var(--aui-color-primary));color:#fff;border-radius:2px}:root [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, :root [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}html[aui-theme-mode=light] [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, html[aui-theme-mode=light] [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, html[aui-theme-mode=system] [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}}html[aui-theme-mode=dark] [_nghost-%COMP%] .acl-resource-selector--active .icon-wrapper, html[aui-theme-mode=dark] [_nghost-%COMP%] .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}[_nghost-%COMP%] .acl-resource-selector--active .selected-name, [_nghost-%COMP%] .acl-resource-selector:hover .selected-name{color:#fff}[_nghost-%COMP%] .acl-resource-selector--lite{padding:0 4px}[_nghost-%COMP%] .acl-resource-selector--lite:hover{background-color:rgb(var(--aui-color-b-6))}[_nghost-%COMP%] .acl-resource-selector--lite:hover .selected-name, [_nghost-%COMP%] .acl-resource-selector--lite:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-n-2))}[_nghost-%COMP%] .acl-resource-selector--lite .acl-resource-selector__item{height:20px}[_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active:hover{background-color:rgb(var(--aui-color-b-5))}[_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active .selected-name, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active .acl-resource-selector__arrow, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active:hover .selected-name, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-primary))}[_nghost-%COMP%] .acl-resource-selector__item{margin-right:20px;height:32px;display:inline-flex;align-items:center;font-size:12px;max-width:270px}@media screen and (max-width: 1280px){[_nghost-%COMP%] .acl-resource-selector__item{max-width:178px;margin-right:8px}}[_nghost-%COMP%] .acl-resource-selector__item .icon-wrapper{margin-right:4px}[_nghost-%COMP%] .acl-resource-selector__arrow{margin-left:-16px;align-items:center;display:inline-flex;width:16px;justify-content:center}@media screen and (max-width: 1280px){[_nghost-%COMP%] .acl-resource-selector__arrow{margin-left:-4px}}"], changeDetection: 0 }); }
|
|
108
108
|
}
|
|
109
109
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ProjectSelectorComponent, [{
|
|
110
110
|
type: Component,
|
|
111
|
-
args: [{ selector: 'acl-project-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"acl-resource-selector\"\n [ngClass]=\"{\n 'acl-resource-selector--active': isActive,\n 'acl-resource-selector--lite': popupLite\n }\"\n (click)=\"openPopup()\"\n>\n <div class=\"acl-resource-selector__item project\">\n <span\n class=\"icon-wrapper\"\n *ngIf=\"!popupLite\"\n >\n <aui-icon icon=\"bicolor:project\"></aui-icon>\n </span>\n <span\n class=\"with-colon\"\n *ngIf=\"!popupLite\"\n >\n {{ 'project' | translate }}\n </span>\n <span class=\"selected-name text-truncate\">{{ value }}</span>\n </div>\n <div class=\"acl-resource-selector__arrow\">\n <aui-icon icon=\"caret_down_s\"></aui-icon>\n </div>\n</div>\n\n<ng-template #popup>\n <acl-project-list\n context=\"popup\"\n [popupLite]=\"popupLite\"\n [fields]=\"fields || displayFields\"\n (selectItem)=\"onSelect($event)\"\n [value]=\"value\"\n ></acl-project-list>\n</ng-template>\n", styles: [":host{display:flex}:host::ng-deep .icon-wrapper{position:relative;display:flex;justify-content:center;align-items:center;width:16px;height:16px;flex-shrink:0;font-size:var(--aui-icon-size-m)}:root :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}html[aui-theme-mode=light] :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}}html[aui-theme-mode=dark] :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}:host::ng-deep .with-colon{display:inline-flex;word-break:keep-all;flex-shrink:0;font-weight:500}:host::ng-deep .with-colon:after{content:\":\";margin-right:8px}:host::ng-deep .text-truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}:host::ng-deep .acl-resource-selector{user-select:none;display:flex;color:var(--acl-page-header-title-color);cursor:pointer;padding:0 8px}:host::ng-deep .acl-resource-selector .selected-name{color:var(--acl-page-header-text-color)}:host::ng-deep .acl-resource-selector--active,:host::ng-deep .acl-resource-selector:hover{background-color:rgb(var(--aui-color-primary));color:#fff;border-radius:2px}:root :host::ng-deep .acl-resource-selector--active .icon-wrapper,:root :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}html[aui-theme-mode=light] :host::ng-deep .acl-resource-selector--active .icon-wrapper,html[aui-theme-mode=light] :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] :host::ng-deep .acl-resource-selector--active .icon-wrapper,html[aui-theme-mode=system] :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}}html[aui-theme-mode=dark] :host::ng-deep .acl-resource-selector--active .icon-wrapper,html[aui-theme-mode=dark] :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}:host::ng-deep .acl-resource-selector--active .selected-name,:host::ng-deep .acl-resource-selector:hover .selected-name{color:#fff}:host::ng-deep .acl-resource-selector--lite{padding:0 4px}:host::ng-deep .acl-resource-selector--lite:hover{background-color:rgb(var(--aui-color-b-6))}:host::ng-deep .acl-resource-selector--lite:hover .selected-name,:host::ng-deep .acl-resource-selector--lite:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-n-2))}:host::ng-deep .acl-resource-selector--lite .acl-resource-selector__item{height:20px}:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active:hover{background-color:rgb(var(--aui-color-b-5))}:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active .selected-name,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active .acl-resource-selector__arrow,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active:hover .selected-name,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-primary))}:host::ng-deep .acl-resource-selector__item{margin-right:20px;height:32px;display:inline-flex;align-items:center;font-size:12px;max-width:270px}@media screen and (max-width: 1280px){:host::ng-deep .acl-resource-selector__item{max-width:178px;margin-right:8px}}:host::ng-deep .acl-resource-selector__item .icon-wrapper{margin-right:4px}:host::ng-deep .acl-resource-selector__arrow{margin-left:-16px;align-items:center;display:inline-flex;width:16px;justify-content:center}\n"] }]
|
|
111
|
+
args: [{ selector: 'acl-project-selector', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"acl-resource-selector\"\n [ngClass]=\"{\n 'acl-resource-selector--active': isActive,\n 'acl-resource-selector--lite': popupLite\n }\"\n (click)=\"openPopup()\"\n>\n <div class=\"acl-resource-selector__item project\">\n <span\n class=\"icon-wrapper\"\n *ngIf=\"!popupLite\"\n >\n <aui-icon icon=\"bicolor:project\"></aui-icon>\n </span>\n <span\n class=\"with-colon\"\n *ngIf=\"!popupLite\"\n >\n {{ 'project' | translate }}\n </span>\n <span class=\"selected-name text-truncate\">{{ value }}</span>\n </div>\n <div class=\"acl-resource-selector__arrow\">\n <aui-icon icon=\"caret_down_s\"></aui-icon>\n </div>\n</div>\n\n<ng-template #popup>\n <acl-project-list\n context=\"popup\"\n [popupLite]=\"popupLite\"\n [fields]=\"fields || displayFields\"\n (selectItem)=\"onSelect($event)\"\n [value]=\"value\"\n ></acl-project-list>\n</ng-template>\n", styles: [":host{display:flex}:host::ng-deep .icon-wrapper{position:relative;display:flex;justify-content:center;align-items:center;width:16px;height:16px;flex-shrink:0;font-size:var(--aui-icon-size-m)}:root :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}html[aui-theme-mode=light] :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}}html[aui-theme-mode=dark] :host::ng-deep .icon-wrapper{--bicolor-main: rgb(var(--aui-color-primary));--bicolor-secondary: rgb(var(--aui-color-p-3))}:host::ng-deep .with-colon{display:inline-flex;word-break:keep-all;flex-shrink:0;font-weight:500}:host::ng-deep .with-colon:after{content:\":\";margin-right:8px}:host::ng-deep .text-truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}:host::ng-deep .acl-resource-selector{user-select:none;display:flex;color:var(--acl-page-header-title-color);cursor:pointer;padding:0 8px}:host::ng-deep .acl-resource-selector .selected-name{color:var(--acl-page-header-text-color)}:host::ng-deep .acl-resource-selector--active,:host::ng-deep .acl-resource-selector:hover{background-color:rgb(var(--aui-color-primary));color:#fff;border-radius:2px}:root :host::ng-deep .acl-resource-selector--active .icon-wrapper,:root :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}html[aui-theme-mode=light] :host::ng-deep .acl-resource-selector--active .icon-wrapper,html[aui-theme-mode=light] :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: rgb(var(--aui-color-p-4))}@media (prefers-color-scheme: dark){html[aui-theme-mode=system] :host::ng-deep .acl-resource-selector--active .icon-wrapper,html[aui-theme-mode=system] :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}}html[aui-theme-mode=dark] :host::ng-deep .acl-resource-selector--active .icon-wrapper,html[aui-theme-mode=dark] :host::ng-deep .acl-resource-selector:hover .icon-wrapper{--bicolor-main: white;--bicolor-secondary: #b3d7fc}:host::ng-deep .acl-resource-selector--active .selected-name,:host::ng-deep .acl-resource-selector:hover .selected-name{color:#fff}:host::ng-deep .acl-resource-selector--lite{padding:0 4px}:host::ng-deep .acl-resource-selector--lite:hover{background-color:rgb(var(--aui-color-b-6))}:host::ng-deep .acl-resource-selector--lite:hover .selected-name,:host::ng-deep .acl-resource-selector--lite:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-n-2))}:host::ng-deep .acl-resource-selector--lite .acl-resource-selector__item{height:20px}:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active:hover{background-color:rgb(var(--aui-color-b-5))}:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active .selected-name,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active .acl-resource-selector__arrow,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active:hover .selected-name,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active:hover .acl-resource-selector__arrow{color:rgb(var(--aui-color-primary))}:host::ng-deep .acl-resource-selector__item{margin-right:20px;height:32px;display:inline-flex;align-items:center;font-size:12px;max-width:270px}@media screen and (max-width: 1280px){:host::ng-deep .acl-resource-selector__item{max-width:178px;margin-right:8px}}:host::ng-deep .acl-resource-selector__item .icon-wrapper{margin-right:4px}:host::ng-deep .acl-resource-selector__arrow{margin-left:-16px;align-items:center;display:inline-flex;width:16px;justify-content:center}@media screen and (max-width: 1280px){:host::ng-deep .acl-resource-selector__arrow{margin-left:-4px}}\n"] }]
|
|
112
112
|
}], function () { return [{ type: i1.ResourceSelectorPopupService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i2.AuthorizationStateService }]; }, { popupTemplate: [{
|
|
113
113
|
type: ViewChild,
|
|
114
114
|
args: ['popup', { static: true }]
|
|
@@ -31,8 +31,8 @@ import * as i2 from "@angular/common";
|
|
|
31
31
|
import * as i3 from "../../core/pipes/time.pipe";
|
|
32
32
|
import * as i4 from "../../translate/translate.pipe";
|
|
33
33
|
import * as i5 from "../../core/pipes/pure.pipe";
|
|
34
|
-
import * as i6 from "
|
|
35
|
-
import * as i7 from "
|
|
34
|
+
import * as i6 from "@angular/forms";
|
|
35
|
+
import * as i7 from "../../effect-directive/e2e-attribute-binding.directive";
|
|
36
36
|
import * as i8 from "../../core/pipes/k8s-util.pipe";
|
|
37
37
|
import * as i9 from "../../core/pipes/img-theme.pipe";
|
|
38
38
|
import * as i10 from "../../widget/zero-state/zero-state.component";
|
|
@@ -147,20 +147,20 @@ export class ResourceSelectModule {
|
|
|
147
147
|
ServiceMeshGroupSelectorComponent] }); })();
|
|
148
148
|
i0.ɵɵsetComponentScope(ResourceDashboardComponent, [i1.IconComponent], [i2.AsyncPipe, i3.RelativeTimePipe, i4.TranslatePipe]);
|
|
149
149
|
i0.ɵɵsetComponentScope(ResourceIconComponent, [i1.IconComponent], [i5.PurePipe]);
|
|
150
|
-
i0.ɵɵsetComponentScope(NamespaceListComponent, [i2.NgClass, i2.NgForOf, i2.NgIf, i2.NgTemplateOutlet, i6.E2eAttributeBindingDirective, i1.FormItemComponent, i1.FormItemLabelDirective, i1.FormItemControlDirective, i1.SelectComponent, i1.OptionComponent, i1.OptionPlaceholderComponent,
|
|
150
|
+
i0.ɵɵsetComponentScope(NamespaceListComponent, [i2.NgClass, i2.NgForOf, i2.NgIf, i2.NgTemplateOutlet, i6.NgControlStatus, i6.NgModel, i7.E2eAttributeBindingDirective, i1.FormItemComponent, i1.FormItemLabelDirective, i1.FormItemControlDirective, i1.SelectComponent, i1.OptionComponent, i1.OptionPlaceholderComponent, i1.TooltipDirective, ResourceDataGridComponent,
|
|
151
151
|
ResourceGridHeaderDirective], [i2.AsyncPipe, i5.PurePipe, i8.K8sNamePipe, i8.K8sUnionDisplayNamePipe, i4.TranslatePipe]);
|
|
152
|
-
i0.ɵɵsetComponentScope(ResourceNoDataComponent, [i2.NgIf,
|
|
152
|
+
i0.ɵɵsetComponentScope(ResourceNoDataComponent, [i2.NgIf, i7.E2eAttributeBindingDirective], [i9.ImgThemePipe, i4.TranslatePipe]);
|
|
153
153
|
i0.ɵɵsetComponentScope(ProjectListComponent, [ResourceDataGridComponent], []);
|
|
154
|
-
i0.ɵɵsetComponentScope(ResourceDataGridComponent, [i2.NgClass, i2.NgForOf, i2.NgIf, i2.NgTemplateOutlet,
|
|
154
|
+
i0.ɵɵsetComponentScope(ResourceDataGridComponent, [i2.NgClass, i2.NgForOf, i2.NgIf, i2.NgTemplateOutlet, i7.E2eAttributeBindingDirective, i1.IconComponent, i1.SearchComponent, i1.TagComponent, i1.TooltipDirective, i10.ZeroStateComponent, i11.LoadingMaskComponent, ResourceIconComponent,
|
|
155
155
|
ResourceNoDataComponent], [i2.AsyncPipe, i3.RelativeTimePipe, i5.PurePipe, i4.TranslatePipe]);
|
|
156
156
|
i0.ɵɵsetComponentScope(ClusterListComponent, [ResourceDataGridComponent], []);
|
|
157
157
|
i0.ɵɵsetComponentScope(ServiceMeshGroupListComponent, [ResourceDataGridComponent], []);
|
|
158
158
|
i0.ɵɵsetComponentScope(NamespacePageComponent, [ResourceDashboardComponent,
|
|
159
159
|
NamespaceListComponent], []);
|
|
160
|
-
i0.ɵɵsetComponentScope(NamespaceSelectorComponent, [i2.NgClass, i2.NgIf,
|
|
160
|
+
i0.ɵɵsetComponentScope(NamespaceSelectorComponent, [i2.NgClass, i2.NgIf, i7.E2eAttributeBindingDirective, i1.IconComponent, NamespaceListComponent], [i4.TranslatePipe]);
|
|
161
161
|
i0.ɵɵsetComponentScope(ProjectPageComponent, [ResourceDashboardComponent,
|
|
162
162
|
ProjectListComponent], []);
|
|
163
|
-
i0.ɵɵsetComponentScope(ProjectSelectorComponent, [i2.NgClass, i2.NgIf,
|
|
164
|
-
i0.ɵɵsetComponentScope(ClusterSelectorComponent, [i2.NgClass,
|
|
165
|
-
i0.ɵɵsetComponentScope(ServiceMeshGroupSelectorComponent, [i2.NgClass,
|
|
163
|
+
i0.ɵɵsetComponentScope(ProjectSelectorComponent, [i2.NgClass, i2.NgIf, i7.E2eAttributeBindingDirective, i1.IconComponent, ProjectListComponent], [i4.TranslatePipe]);
|
|
164
|
+
i0.ɵɵsetComponentScope(ClusterSelectorComponent, [i2.NgClass, i7.E2eAttributeBindingDirective, i1.IconComponent, ClusterListComponent], [i4.TranslatePipe]);
|
|
165
|
+
i0.ɵɵsetComponentScope(ServiceMeshGroupSelectorComponent, [i2.NgClass, i7.E2eAttributeBindingDirective, i1.IconComponent, ServiceMeshGroupListComponent], [i12.FieldNotAvailablePipe, i4.TranslatePipe]);
|
|
166
166
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixZQUFZLEVBQ1osY0FBYyxFQUNkLFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLGFBQWEsRUFDYixZQUFZLEVBQ1osU0FBUyxFQUNULGFBQWEsR0FDZCxNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4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QXFCO1FBQ3JCLGFBQWE7UUFDYixZQUFZO1FBQ1osWUFBWSxhQTNCZCxzQkFBc0I7UUFDdEIsMEJBQTBCO1FBQzFCLG9CQUFvQjtRQUNwQix3QkFBd0I7UUFDeEIsd0JBQXdCO1FBQ3hCLGlDQUFpQzt1QkF5Qi9CLDBCQUEwQjt1QkFDMUIscUJBQXFCO3VCQUNyQixzQkFBc0Isb1NBSXRCLHlCQUF5QjtJQUV6QiwyQkFBMkI7dUJBTDNCLHVCQUF1Qjt1QkFFdkIsb0JBQW9CLEdBQ3BCLHlCQUF5Qjt1QkFBekIseUJBQXlCLHdOQUx6QixxQkFBcUI7SUFFckIsdUJBQXVCO3VCQUl2QixvQkFBb0IsR0FEcEIseUJBQXlCO3VCQUd6Qiw2QkFBNkIsR0FIN0IseUJBQXlCO3VCQXBDM0Isc0JBQXNCLEdBOEJwQiwwQkFBMEI7SUFFMUIsc0JBQXNCO3VCQS9CeEIsMEJBQTBCLDJFQStCeEIsc0JBQXNCO3VCQTlCeEIsb0JBQW9CLEdBNEJsQiwwQkFBMEI7SUFLMUIsb0JBQW9CO3VCQWhDdEIsd0JBQXdCLDJFQWdDdEIsb0JBQW9CO3VCQS9CdEIsd0JBQXdCLGtFQWlDdEIsb0JBQW9CO3VCQWhDdEIsaUNBQWlDLGtFQWtDL0IsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQnV0dG9uTW9kdWxlLFxuICBEaWFsb2dNb2R1bGUsXG4gIERyb3Bkb3duTW9kdWxlLFxuICBGb3JtTW9kdWxlLFxuICBJY29uTW9kdWxlLFxuICBJbnB1dE1vZHVsZSxcbiAgTWVzc2FnZU1vZHVsZSxcbiAgU2VsZWN0TW9kdWxlLFxuICBUYWdNb2R1bGUsXG4gIFRvb2x0aXBNb2R1bGUsXG59IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFBvcnRhbE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBLOFNSZXNvdXJjZUxpc3RNb2R1bGUgfSBmcm9tICcuLi8uLi9rOHMtcmVzb3VyY2UtbGlzdC9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJy4uLy4uL3RyYW5zbGF0ZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFdpZGdldE1vZHVsZSB9IGZyb20gJy4uLy4uL3dpZGdldC9wdWJsaWMtYXBpJztcblxuaW1wb3J0IHsgQ2x1c3RlclNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9leHBvcnRzL2NsdXN0ZXItc2VsZWN0b3IvY29tcG9uZW50JztcbmltcG9ydCB7IFNlcnZpY2VNZXNoR3JvdXBTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vZXhwb3J0cy9tZXNoLWdyb3VwLXNlbGVjdG9yL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBOYW1lc3BhY2VQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9leHBvcnRzL25hbWVzcGFjZS1wYWdlL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBOYW1lc3BhY2VTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vZXhwb3J0cy9uYW1lc3BhY2Utc2VsZWN0b3IvY29tcG9uZW50JztcbmltcG9ydCB7IFByb2plY3RQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9leHBvcnRzL3Byb2plY3QtcGFnZS9jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvamVjdFNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9leHBvcnRzL3Byb2plY3Qtc2VsZWN0b3IvY29tcG9uZW50JztcbmltcG9ydCB7IFJlc291cmNlR3JpZEhlYWRlckRpcmVjdGl2ZSB9IGZyb20gJy4vaGVscGVycy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2x1c3Rlckxpc3RDb21wb25lbnQgfSBmcm9tICcuL2ludGVybmFscy9jbHVzdGVyLWxpc3QvY29tcG9uZW50JztcbmltcG9ydCB7IFJlc291cmNlRGF0YUdyaWRDb21wb25lbnQgfSBmcm9tICcuL2ludGVybmFscy9kYXRhLWdyaWQvY29tcG9uZW50JztcbmltcG9ydCB7IFJlc291cmNlSWNvbkNvbXBvbmVudCB9IGZyb20gJy4vaW50ZXJuYWxzL2ljb24vY29tcG9uZW50JztcbmltcG9ydCB7IFNlcnZpY2VNZXNoR3JvdXBMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9pbnRlcm5hbHMvbWVzaGdyb3VwLWxpc3QvY29tcG9uZW50JztcbmltcG9ydCB7IE5hbWVzcGFjZUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2ludGVybmFscy9uYW1lc3BhY2UtbGlzdC9jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVzb3VyY2VOb0RhdGFDb21wb25lbnQgfSBmcm9tICcuL2ludGVybmFscy9uby1kYXRhL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9qZWN0TGlzdENvbXBvbmVudCB9IGZyb20gJy4vaW50ZXJuYWxzL3Byb2plY3QtbGlzdC9jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVzb3VyY2VEYXNoYm9hcmRDb21wb25lbnQgfSBmcm9tICcuL2ludGVybmFscy9yZXNvdXJjZS1kYXNoYm9hcmQvY29tcG9uZW50JztcbmltcG9ydCB7IFJlc291cmNlU2VsZWN0b3JQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vaW50ZXJuYWxzL3NlbGVjdG9yLXBvcHVwL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXNvdXJjZVNlbGVjdG9yUG9wdXBTZXJ2aWNlIH0gZnJvbSAnLi9pbnRlcm5hbHMvc2VsZWN0b3ItcG9wdXAvc2VydmljZSc7XG5cbmNvbnN0IEVYUE9SVFMgPSBbXG4gIE5hbWVzcGFjZVBhZ2VDb21wb25lbnQsXG4gIE5hbWVzcGFjZVNlbGVjdG9yQ29tcG9uZW50LFxuICBQcm9qZWN0UGFnZUNvbXBvbmVudCxcbiAgUHJvamVjdFNlbGVjdG9yQ29tcG9uZW50LFxuICBDbHVzdGVyU2VsZWN0b3JDb21wb25lbnQsXG4gIFNlcnZpY2VNZXNoR3JvdXBTZWxlY3RvckNvbXBvbmVudCxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ29yZU1vZHVsZSxcbiAgICBEaWFsb2dNb2R1bGUsXG4gICAgTWVzc2FnZU1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgSWNvbk1vZHVsZSxcbiAgICBGb3JtTW9kdWxlLFxuICAgIFNlbGVjdE1vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBUYWdNb2R1bGUsXG4gICAgRHJvcGRvd25Nb2R1bGUsXG4gICAgUG9ydGFsTW9kdWxlLFxuICAgIE92ZXJsYXlNb2R1bGUsXG4gICAgSzhTUmVzb3VyY2VMaXN0TW9kdWxlLFxuICAgIFRvb2x0aXBNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIFdpZGdldE1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgUmVzb3VyY2VEYXNoYm9hcmRDb21wb25lbnQsXG4gICAgUmVzb3VyY2VJY29uQ29tcG9uZW50LFxuICAgIE5hbWVzcGFjZUxpc3RDb21wb25lbnQsXG4gICAgUmVzb3VyY2VOb0RhdGFDb21wb25lbnQsXG4gICAgUmVzb3VyY2VTZWxlY3RvclBvcHVwQ29tcG9uZW50LFxuICAgIFByb2plY3RMaXN0Q29tcG9uZW50LFxuICAgIFJlc291cmNlRGF0YUdyaWRDb21wb25lbnQsXG4gICAgQ2x1c3Rlckxpc3RDb21wb25lbnQsXG4gICAgUmVzb3VyY2VHcmlkSGVhZGVyRGlyZWN0aXZlLFxuICAgIFNlcnZpY2VNZXNoR3JvdXBMaXN0Q29tcG9uZW50LFxuICAgIC4uLkVYUE9SVFMsXG4gIF0sXG4gIGV4cG9ydHM6IFsuLi5FWFBPUlRTXSxcbiAgcHJvdmlkZXJzOiBbUmVzb3VyY2VTZWxlY3RvclBvcHVwU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFJlc291cmNlU2VsZWN0TW9kdWxlIHt9XG4iXX0=
|
|
@@ -109,7 +109,7 @@ i0.ɵɵsetComponentScope(YAxisComponent, [i1.NgIf, YAxisTicksComponent,
|
|
|
109
109
|
i0.ɵɵsetComponentScope(XAxisComponent, [i1.NgIf, XAxisTicksComponent,
|
|
110
110
|
AxisLabelComponent], []);
|
|
111
111
|
i0.ɵɵsetComponentScope(ChartTooltipComponent, [i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i3.E2eAttributeBindingDirective, i4.TooltipDirective], [i5.PurePipe, i6.TranslatePipe]);
|
|
112
|
-
i0.ɵɵsetComponentScope(ChartLegendComponent, [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i1.NgSwitch, i1.NgSwitchCase, i7.NgControlStatus, i7.NgModel,
|
|
112
|
+
i0.ɵɵsetComponentScope(ChartLegendComponent, [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i1.NgSwitch, i1.NgSwitchCase, i7.NgControlStatus, i7.NgModel, i4.CheckboxComponent, i3.E2eAttributeBindingDirective, DropdownLegendComponent], [i1.AsyncPipe, i6.TranslatePipe]);
|
|
113
113
|
i0.ɵɵsetComponentScope(BarPathComponent, [i1.NgForOf, i1.NgIf], [i1.AsyncPipe, i5.PurePipe]);
|
|
114
114
|
i0.ɵɵsetComponentScope(ChartLineSeriesComponent, [i1.NgForOf], [i5.PurePipe]);
|
|
115
115
|
i0.ɵɵsetComponentScope(ChartAreaSeriesComponent, [i1.NgForOf], [i5.PurePipe]);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { BaseTooltip } from '@alauda/ui';
|
|
2
2
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, TemplateRef, ViewChild, } from '@angular/core';
|
|
3
|
+
import dayjs from 'dayjs';
|
|
3
4
|
import { get } from 'lodash-es';
|
|
4
5
|
import { Subject, takeUntil } from 'rxjs';
|
|
5
|
-
import { handleDateFormat } from '../../../a-chart/public-api';
|
|
6
6
|
import { DATE_TIME_FORMAT } from '../../../core/public-api';
|
|
7
7
|
import { ContextChartService } from '../../chart.service';
|
|
8
8
|
import { findClosestPointIndex, getXPos, tooltipSuffixFormat, } from '../../utils';
|
|
@@ -152,6 +152,9 @@ function ChartTooltipComponent_ng_template_7_Template(rf, ctx) { if (rf & 1) {
|
|
|
152
152
|
i0.ɵɵadvance(1);
|
|
153
153
|
i0.ɵɵproperty("ngForOf", context_r12)("ngForTrackBy", ctx_r7.itemTrackBy);
|
|
154
154
|
} }
|
|
155
|
+
export function handleDateFormat(date, format = DATE_TIME_FORMAT) {
|
|
156
|
+
return String(dayjs(date).isValid() ? dayjs(date).format(format) : date);
|
|
157
|
+
}
|
|
155
158
|
export class ChartTooltipComponent {
|
|
156
159
|
get typeStandard() {
|
|
157
160
|
return this.contextService.barOptions.type === 'standard';
|
|
@@ -517,4 +520,4 @@ export class ChartTooltipComponent {
|
|
|
517
520
|
type: ViewChild,
|
|
518
521
|
args: ['tooltip']
|
|
519
522
|
}] }); })();
|
|
520
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY2hhcnQvY29tbW9uL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY2hhcnQvY29tbW9uL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEVBR0wsV0FBVyxFQUVYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBYSxNQUFNLDBCQUEwQixDQUFDO0FBRXZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsT0FBTyxFQUNQLG1CQUFtQixHQUNwQixNQUFNLGFBQWEsQ0FBQzs7Ozs7OztJQ3BCbkIsNEJBV2M7Ozs7O0lBVlosb0dBRUMseUJBQUEsd0JBQUEsd0ZBQUE7OztJQVBMLG1CQUdDO0lBSEQseUJBR0M7SUFDQywwRkFXYztJQUNoQixpQkFBUTs7O0lBZk4sK0NBQThCO0lBT1gsZUFBeUI7SUFBekIsNkZBQXlCOzs7OztJQStCNUMsb0JBQTZCO0lBQTdCLDhCQUE2QixhQUFBO0lBRXpCLDRCQUdnQjtJQUNsQixpQkFBTTtJQUNOLCtCQUFxQjtJ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VztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO3NGQXpaVSxxQkFBcUI7b0VBQXJCLHFCQUFxQjs7Ozs7O1lDeERsQyx1RUFnQlE7WUFFUixtQkFlRTtZQWZGLDZCQWVFO1lBRUYsdUhBcUJjO1lBRWQsdUhBU2M7WUFFZCx1SEFnRGM7OztZQW5IWCxrQ0FBYTtZQXlCZCxlQUF3RDtZQUF4RCx1REFBd0Qsc0VBQUEsNENBQUEsd0VBQUE7WUFQeEQsa0NBQW9CLG9DQUFBLGtCQUFBLGNBQUEsNEJBQUEsOEJBQUE7Ozt1RkRvQ1QscUJBQXFCO2NBUGpDLFNBQVM7MkJBRUUsZUFBZSxtQkFHUix1QkFBdUIsQ0FBQyxNQUFNO3NHQUd0QyxVQUFVO2tCQUFsQixLQUFLO1lBRUcsV0FBVztrQkFBbkIsS0FBSztZQUVHLFdBQVc7a0JBQW5CLEtBQUs7WUFFRyxZQUFZO2tCQUFwQixLQUFLO1lBRUcsZUFBZTtrQkFBdkIsS0FBSztZQUVHLGFBQWE7a0JBQXJCLEtBQUs7WUFFRyxpQkFBaUI7a0JBQXpCLEtBQUs7WUFFRyxvQkFBb0I7a0JBQTVCLEtBQUs7WUFFRyxhQUFhO2tCQUFyQixLQUFLO1lBRUcsUUFBUTtrQkFBaEIsS0FBSztZQUVHLFdBQVc7a0JBQW5CLEtBQUs7WUFFRyxnQkFBZ0I7a0JBQXhCLEtBQUs7WUFFRyxXQUFXO2tCQUFuQixLQUFLO1lBRWdCLGFBQWE7a0JBQWxDLFNBQVM7bUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VUb29sdGlwIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBUZW1wbGF0ZVJlZixcbiAgVHJhY2tCeUZ1bmN0aW9uLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2NhbGVCYW5kIH0gZnJvbSAnZDMnO1xuaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBoYW5kbGVEYXRlRm9ybWF0IH0gZnJvbSAnLi4vLi4vLi4vYS1jaGFydC9wdWJsaWMtYXBpJztcbmltcG9ydCB7IERBVEVfVElNRV9GT1JNQVQsIFN0cmluZ01hcCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBDaGFydERhdGEsIENoYXJ0RGF0YUl0ZW0gfSBmcm9tICcuLi8uLi8uLi92aWV3LWNoYXJ0L3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgQ29udGV4dENoYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL2NoYXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgZmluZENsb3Nlc3RQb2ludEluZGV4LFxuICBnZXRYUG9zLFxuICB0b29sdGlwU3VmZml4Rm9ybWF0LFxufSBmcm9tICcuLi8uLi91dGlscyc7XG5cbnR5cGUgWFZhbHVlID0gc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZTtcbmV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dEl0ZW0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIHg6IFhWYWx1ZTtcbiAgeTogbnVtYmVyO1xuICB1bml0Pzogc3RyaW5nO1xuICBhY3RpdmU/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIEN1cnJlbnRQb3NpdGlvbkl0ZW0ge1xuICB4MTogbnVtYmVyO1xuICB4MjogbnVtYmVyO1xuICBuYW1lPzogc3RyaW5nO1xuICBncm91cE5hbWU6IHN0cmluZztcbiAgaW5kZXg6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIFRvb2x0aXBDb250ZXh0IHtcbiAgdGl0bGU6IFhWYWx1ZTtcbiAgc291cmNlOiBDaGFydERhdGFbXTtcbiAgdmFsdWVzOiBDb250ZXh0SXRlbVtdO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdnW2FjbFRvb2x0aXBdJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90b29sdGlwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDaGFydFRvb2x0aXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGRhdGVGb3JtYXQgPSBEQVRFX1RJTUVfRk9STUFUO1xuXG4gIEBJbnB1dCgpIHZhbHVlUHJlZml4OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgdmFsdWVTdWZmaXg6IHN0cmluZztcblxuICBASW5wdXQoKSBjb2x1bW5MYXlvdXQgPSBmYWxzZTtcblxuICBASW5wdXQoKSB0b29sdGlwVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpIHBvaW50VGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpIHBvaW50TmFtZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASW5wdXQoKSBwb2ludFRlbXBsYXRlQ29udGV4dDogdW5rbm93bjtcblxuICBASW5wdXQoKSB0aXRsZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBASW5wdXQoKSBhdXRvU29ydCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHRyYW5zbGF0aW9uID0gdHJ1ZTtcblxuICBASW5wdXQoKSB0aXRsZVRyYW5zbGF0aW9uOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIHBvaW50Rm9ybWF0OiAoZDogQ29udGV4dEl0ZW0pID0+IHN0cmluZyB8IG51bWJlciA9IGQgPT4gZC55O1xuXG4gIEBWaWV3Q2hpbGQoJ3Rvb2x0aXAnKSBhdWlUb29sdGlwUmVmOiBCYXNlVG9vbHRpcDtcblxuICB2aWV3OiB7XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBoZWlnaHQ6IG51bWJlcjtcbiAgfTtcblxuICBkZXN0cm95JCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGFuY2hvclBvcyA9IDA7XG4gIGFuY2hvck9wYWNpdHkgPSAwO1xuICBhbmNob3JIZWlnaHQgPSAwO1xuICBhbmNob3JZID0gMDtcbiAgbGFzdEFuY2hvclBvczogbnVtYmVyO1xuICB0b29sdGlwQ29udGV4dDogVG9vbHRpcENvbnRleHQ7XG5cbiAgaGFja2VkID0gZmFsc2U7XG5cbiAgaGFuZGxlRGF0ZUZvcm1hdCA9IGhhbmRsZURhdGVGb3JtYXQ7XG5cbiAgdG9vbHRpcFN1ZmZpeEZvcm1hdCA9IHRvb2x0aXBTdWZmaXhGb3JtYXQ7XG5cbiAgYWN0aXZlTGVnZW5kOiBzdHJpbmc7XG5cbiAgZ2V0IHR5cGVTdGFuZGFyZCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS5iYXJPcHRpb25zLnR5cGUgPT09ICdzdGFuZGFyZCc7XG4gIH1cblxuICBnZXQgaXNCYW5kKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHRTZXJ2aWNlLmJhck9wdGlvbnMuaXNCYW5kO1xuICB9XG5cbiAgZ2V0IGFuY2hvclZpc2liaWxpdHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UuZGlzYWJsZWRMZWdlbmQuc2l6ZSA9PT1cbiAgICAgICh0aGlzLnR5cGVTdGFuZGFyZFxuICAgICAgICA/IHRoaXMuY29udGV4dFNlcnZpY2UuaW5uZXJEb21haW4ubGVuZ3RoXG4gICAgICAgIDogdGhpcy5jb250ZXh0U2VydmljZS5jaGFydERhdGE/Lmxlbmd0aClcbiAgICAgID8gJ2hpZGRlbidcbiAgICAgIDogJyc7XG4gIH1cblxuICBnZXQgZ3JvdXBQb3NpdGlvbigpIHtcbiAgICAvLyDorqHnrpcgZ3JvdXAg5byA5aeL57uT5p2f5L2N572uXG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UueFNlcmllc1ZhbHVlLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IHggPSA8U2NhbGVCYW5kPHN0cmluZz4+dGhpcy5jb250ZXh0U2VydmljZS54O1xuICAgICAgY29uc3QgeDEgPSB4KGl0ZW0gYXMgc3RyaW5nKTtcbiAgICAgIHJldHVybiB7IHgxLCB4MjogeDEgKyB4LmJhbmR3aWR0aCgpLCBpbmRleCwgZ3JvdXBOYW1lOiBpdGVtIGFzIHN0cmluZyB9O1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGNhbGN1bGF0aW9uSXRlbVBvc2l0aW9uKCkge1xuICAgIC8vIOagueaNriBncm91cCDorqHnrpcgaXRlbSDlvIDlp4vnu5PmnZ/kvY3nva5cbiAgICByZXR1cm4gdGhpcy5ncm91cFBvc2l0aW9uLnJlZHVjZShcbiAgICAgIChhY2MsIHBvc2l0aW9uLCBpbmRleCkgPT4gW1xuICAgICAgICAuLi5hY2MsXG4gICAgICAgIC4uLnRoaXMuY29udGV4dFNlcnZpY2UuaW5uZXJEb21haW4ubWFwKChpbm5lciwgaSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGJhcklubmVyU2NhbGUgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmJhcklubmVyU2NhbGUoKTtcbiAgICAgICAgICBjb25zdCB4MSA9IGJhcklubmVyU2NhbGUoaW5uZXIpO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB4MTogeDEgKyBwb3NpdGlvbi54MSxcbiAgICAgICAgICAgIHgyOiB4MSArIHBvc2l0aW9uLngxICsgYmFySW5uZXJTY2FsZS5iYW5kd2lkdGgoKSxcbiAgICAgICAgICAgIG5hbWU6IGlubmVyLFxuICAgICAgICAgICAgZ3JvdXBOYW1lOiB0aGlzLmNvbnRleHRTZXJ2aWNlLnhTZXJpZXNWYWx1ZVtpbmRleF0sXG4gICAgICAgICAgICBpbmRleDogaSxcbiAgICAgICAgICB9O1xuICAgICAgICB9KSxcbiAgICAgIF0sXG4gICAgICBbXSxcbiAgICApO1xuICB9XG5cbiAgY2FsY3VsYXRlWSA9IChfOiBudW1iZXIpID0+IDA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0Q2hhcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29udGV4dFNlcnZpY2UudXBkYXRlJCRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5hbmNob3JIZWlnaHQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmNoYXJ0Vmlldy5oZWlnaHQ7XG4gICAgICAgIHRoaXMudmlldyA9IHRoaXMuY29udGV4dFNlcnZpY2UuY2hhcnRWaWV3O1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLmxlZ2VuZEFjdGl2YXRlJCRcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCkpXG4gICAgICAuc3Vic2NyaWJlKGxlZ2VuZCA9PiB7XG4gICAgICAgIHRoaXMuYWN0aXZlTGVnZW5kID0gbGVnZW5kO1xuICAgICAgICBpZiAodGhpcy50b29sdGlwQ29udGV4dD8udmFsdWVzKSB7XG4gICAgICAgICAgdGhpcy50b29sdGlwQ29udGV4dCA9IHtcbiAgICAgICAgICAgIC4uLnRoaXMudG9vbHRpcENvbnRleHQsXG4gICAgICAgICAgICB2YWx1ZXM6IHRoaXMudG9vbHRpcENvbnRleHQudmFsdWVzLm1hcChpdGVtID0+ICh7XG4gICAgICAgICAgICAgIC4uLml0ZW0sXG4gICAgICAgICAgICAgIGFjdGl2ZTogaXRlbS5uYW1lID09PSBsZWdlbmQsXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG1vdXNlTW92ZShlOiBNb3VzZUV2ZW50LCByZWN0RG9tPzogSFRNTEVsZW1lbnQpIHtcbiAgICBjb25zdCB4UG9zID0gZ2V0WFBvcyhlLCB0aGlzLmNvbnRleHRTZXJ2aWNlLCByZWN0RG9tKTtcbiAgICBjb25zdCBjbG9zZXN0SW5kZXggPSBmaW5kQ2xvc2VzdFBvaW50SW5kZXgoeFBvcywgdGhpcy5jb250ZXh0U2VydmljZSk7XG4gICAgY29uc3QgY2xvc2VzdFBvaW50ID0gdGhpcy5jb250ZXh0U2VydmljZS54U2VyaWVzVmFsdWVbY2xvc2VzdEluZGV4XTtcbiAgICBpZiAodGhpcy5jb250ZXh0U2VydmljZS5iYXJPcHRpb25zLmlzQmFuZCkge1xuICAgICAgdGhpcy5iYXJNb3VzZU1vdmUoZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuYW5jaG9yUG9zID0geFBvcztcbiAgICBpZiAodGhpcy5hbmNob3JQb3MgIT09IHRoaXMubGFzdEFuY2hvclBvcyAmJiBjbG9zZXN0UG9pbnQpIHtcbiAgICAgIHRoaXMudG9vbHRpcENvbnRleHQgPSB0aGlzLmdldFRvb2x0aXBDb250ZXh0KGNsb3Nlc3RJbmRleCwgY2xvc2VzdFBvaW50KTtcbiAgICAgIC8vIOWAvOS4uiBudWxsIOS4jeWxleekuiB0b29sdGlwXG4gICAgICBjb25zdCBub0RhdGEgPSAhdGhpcy50b29sdGlwQ29udGV4dD8udmFsdWVzPy5zb21lKGQgPT4gZC55ICE9PSBudWxsKTtcbiAgICAgIGlmIChub0RhdGEpIHtcbiAgICAgICAgdGhpcy5hbmNob3JPcGFjaXR5ID0gMDtcbiAgICAgICAgdGhpcy5sYXN0QW5jaG9yUG9zID0gLTE7XG4gICAgICAgIHRoaXMuaGlkZVRvb2x0aXAoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubGFzdEFuY2hvclBvcyA9IHRoaXMuYW5jaG9yUG9zO1xuICAgICAgICB0aGlzLmFuY2hvck9wYWNpdHkgPSAwLjc7XG4gICAgICAgIHRoaXMuc2hvd1Rvb2x0aXAoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgbW91c2VMZWF2ZSgpIHtcbiAgICB0aGlzLmFuY2hvck9wYWNpdHkgPSAwO1xuICAgIHRoaXMubGFzdEFuY2hvclBvcyA9IC0xO1xuICAgIHRoaXMuaGlkZVRvb2x0aXAoKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBtZXJnZVBvaW50Q29udGV4dCA9IChjb250ZXh0OiBUb29sdGlwQ29udGV4dCkgPT4gKHtcbiAgICBjb250ZXh0OiB0aGlzLmxpbWl0TWF4Q29udGV4dChjb250ZXh0LnZhbHVlcyksXG4gICAgc291cmNlOiBjb250ZXh0LnNvdXJjZSxcbiAgICAuLi4odGhpcy5wb2ludFRlbXBsYXRlQ29udGV4dCBhcyBTdHJpbmdNYXApLFxuICB9KTtcblxuICBpdGVtVHJhY2tCeTogVHJhY2tCeUZ1bmN0aW9uPENvbnRleHRJdGVtPiA9IChfOiBudW1iZXIsIHZhbHVlOiBDb250ZXh0SXRlbSkgPT5cbiAgICB2YWx1ZS5uYW1lO1xuXG4gIC8vIGJhciBtb3VzZU1vdmUg5aSE55CGXG4gIHByaXZhdGUgYmFyTW91c2VNb3ZlKGU6IE1vdXNlRXZlbnQpIHtcbiAgICBjb25zdCB4UG9zID0gZ2V0WFBvcyhlLCB0aGlzLmNvbnRleHRTZXJ2aWNlKTtcbiAgICBjb25zdCBjdXJyUG9zaXRpb24gPSB0aGlzLmdldEN1cnJlbnRNb3VzZU1vdmVQb3NpdGlvblZhbHVlKFxuICAgICAgdGhpcy50eXBlU3RhbmRhcmQgPyB0aGlzLmNhbGN1bGF0aW9uSXRlbVBvc2l0aW9uIDogdGhpcy5ncm91cFBvc2l0aW9uLFxuICAgICAgeFBvcyxcbiAgICApO1xuICAgIGlmIChjdXJyUG9zaXRpb24pIHtcbiAgICAgIHRoaXMuZ2V0QmFyWEFuY2hvclBvcyhjdXJyUG9zaXRpb24pO1xuICAgICAgdGhpcy5nZXRCYXJIaWdodChcbiAgICAgICAgdGhpcy5jb250ZXh0U2VydmljZS54U2VyaWVzVmFsdWVbY3VyclBvc2l0aW9uLmluZGV4XSBhcyBzdHJpbmcsXG4gICAgICAgIGN1cnJQb3NpdGlvbixcbiAgICAgICk7XG4gICAgICB0aGlzLmdldEJhcllBbmNob3JQb3MoY3VyclBvc2l0aW9uKTtcbiAgICAgIHRoaXMudG9vbHRpcENvbnRleHQgPSB0aGlzLmdldEJhclRvb2x0aXBDb250ZXh0KGN1cnJQb3NpdGlvbik7XG4gICAgICB0aGlzLnNob3dUb29sdGlwKCk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRCYXJIaWdodChncm91cE5hbWU6IHN0cmluZywgdmFsdWU/OiBDdXJyZW50UG9zaXRpb25JdGVtKSB7XG4gICAgdGhpcy5hbmNob3JIZWlnaHQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmhvcml6b250YWxcbiAgICAgID8gdGhpcy50eXBlU3RhbmRhcmRcbiAgICAgICAgPyB0aGlzLmNvbnRleHRTZXJ2aWNlLmJhcklubmVyU2NhbGUoKS5iYW5kd2lkdGgoKVxuICAgICAgICA6ICg8U2NhbGVCYW5kPHN0cmluZz4+dGhpcy5jb250ZXh0U2VydmljZS54KS5iYW5kd2lkdGgoKVxuICAgICAgOiB0aGlzLmdldFZlcnRpY2FsQmFySGVpZ2h0KGdyb3VwTmFtZSwgdmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIOiuoeeulyBiYXIg5Z6C55u0IOexu+Wei+S4iyDpq5jluqZcbiAgICog5qCH5YeG77yaXGJcYuebtOaOpeagueaNriB5KDApIC0geSh2YWx1ZSkg6K6h566XIGJhciBpdGVtIOeahOmrmOW6plxuICAgKiDloIblj6DvvJrorqHnrpcgZ3JvdXAg5LiL5omA5pyJaXRlbSDnmoTpq5jluqbnm7jliqAg5b6X5Yiw5aCG5Y+g55qEIGJhciDpq5jluqZcbiAgICovXG4gIHByaXZhdGUgZ2V0VmVydGljYWxCYXJIZWlnaHQoZ3JvdXBOYW1lOiBzdHJpbmcsIHZhbHVlPzogQ3VycmVudFBvc2l0aW9uSXRlbSkge1xuICAgIHJldHVybiB0aGlzLnR5cGVTdGFuZGFyZFxuICAgICAgPyB0aGlzLmNvbnRleHRTZXJ2aWNlLnkoMCkgLVxuICAgICAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UueSh0aGlzLmdldEJhcllWYWx1ZSh2YWx1ZS5ncm91cE5hbWUsIHZhbHVlLm5hbWUpKVxuICAgICAgOiB0aGlzLmNvbnRleHRTZXJ2aWNlLmNoYXJ0RGF0YS5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IHtcbiAgICAgICAgICBpZiAoY3Vyci5uYW1lID09PSBncm91cE5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIGN1cnIudmFsdWVzLnJlZHVjZSgoYWNjLCB2YWwpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuY29udGV4dFNlcnZpY2UuZGlzYWJsZWRMZWdlbmQuaGFzKHZhbC54IGFzIHN0cmluZykpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UueSgwKSAtXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UueSh2YWwueSkgK1xuICAgICAgICAgICAgICAgICAgICBhY2NcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICAgIH0sIDApICsgcHJldlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgICAgIH0sIDApO1xuICB9XG5cbiAgLy8g6I635Y+W5b2T5YmN6byg5qCH56e75YWlIGJhciB5IOWAvFxuICBwcml2YXRlIGdldEJhcllWYWx1ZShncm91cE5hbWU6IHN0cmluZywgbmFtZTogc3RyaW5nKSB7XG4gICAgbGV0IHJlc3VsdCA9IDA7XG4gICAgZm9yIChjb25zdCBbLCBpdGVtXSBvZiB0aGlzLmNvbnRleHRTZXJ2aWNlLmNoYXJ0RGF0YS5lbnRyaWVzKCkpIHtcbiAgICAgIGlmIChpdGVtLm5hbWUgPT09IGdyb3VwTmFtZSkge1xuICAgICAgICBmb3IgKGNvbnN0IFssIHZhbF0gb2YgaXRlbS52YWx1ZXMuZW50cmllcygpKSB7XG4gICAgICAgICAgaWYgKHZhbC54ID09PSBuYW1lKSB7XG4gICAgICAgICAgICByZXN1bHQgPSB2YWwueTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8vIGxpbmUgYXJlYSBjaGFydCDojrflj5YgdG9vbHRpcCDlsZXnpLrmlbDmja5cbiAgcHJpdmF0ZSBnZXRUb29sdGlwQ29udGV4dChpbmRleDogbnVtYmVyLCB4VmFsdWU6IG51bWJlciB8IHN0cmluZyB8IERhdGUpIHtcbiAgICBjb25zdCB2YWx1ZXM6IENvbnRleHRJdGVtW10gPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmNoYXJ0RGF0YS5yZWR1Y2UoXG4gICAgICAoYWNjLCBncm91cCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuY29udGV4dFNlcnZpY2UuZGlzYWJsZWRMZWdlbmQuaGFzKGdyb3VwLm5hbWUpKSB7XG4gICAgICAgICAgY29uc3QgaXRlbSA9IGdyb3VwLnZhbHVlc1tpbmRleF07XG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgbmFtZTogZ3JvdXAubmFtZSxcbiAgICAgICAgICAgICAgY29sb3I6IGdyb3VwLmNvbG9yLFxuICAgICAgICAgICAgICB1bml0OiBncm91cC51bml0LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LFxuICAgICAgW10sXG4gICAgKTtcbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6IHhWYWx1ZSxcbiAgICAgIHNvdXJjZTogdGhpcy5jb250ZXh0U2VydmljZS5jaGFydERhdGEsXG4gICAgICB2YWx1ZXM6IHRoaXMuYXV0b1NvcnQgPyB2YWx1ZXMuc29ydCgoYSwgYikgPT4gYi55IC0gYS55KSA6IHZhbHVlcyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIOiOt+WPliBiYXIgdG9vbHRpcCDlsZXnpLrmlbDmja5cbiAgICovXG4gIHByaXZhdGUgZ2V0QmFyVG9vbHRpcENvbnRleHQodmFsdWU6IEN1cnJlbnRQb3NpdGlvbkl0ZW0pIHtcbiAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmNoYXJ0RGF0YS5yZWR1Y2UoKGFjYywgZ3JvdXApID0+IHtcbiAgICAgIGlmIChncm91cC5uYW1lID09PSB2YWx1ZS5ncm91cE5hbWUpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgLi4uZ3JvdXAudmFsdWVzLnJlZHVjZShcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgcHJldixcbiAgICAgICAgICAgICAgY3VycjogQ2hhcnREYXRhSXRlbTx7IHg6IHN0cmluZzsgeTogbnVtYmVyOyBjb2xvcj86IHN0cmluZyB9PixcbiAgICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICF0aGlzLmNvbnRleHRTZXJ2aWNlLmRpc2FibGVkTGVnZW5kLmhhcyhjdXJyLnggYXMgc3RyaW5nKSAmJlxuICAgICAgICAgICAgICAgICh2YWx1ZS5uYW1lID8gY3Vyci54ID09PSB2YWx1ZS5uYW1lIDogdHJ1ZSlcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmN1cnIsXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGN1cnIueCxcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6XG4gICAgICAgICAgICAgICAgICAgICAgY3Vyci5jb2xvciB8fFxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UuZ2V0Q2hhcnREZWZhdWx0Q29sb3IoaW5kZXgpLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiBwcmV2O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtdLFxuICAgICAgICAgICksXG4gICAgICAgIF07XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIFtdKTtcbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6IHZhbHVlLmdyb3VwTmFtZSxcbiAgICAgIHNvdXJjZTogdGhpcy5jb250ZXh0U2VydmljZS5jaGFydERhdGEsXG4gICAgICB2YWx1ZXMsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiDmmoLml7blhYgg6YCa6L+HIGhhY2sg5pa55byPIOS/ruaUuSBwb2ludGVyIGV2ZW50IOihjOS4ulxuICAgKiBUT0RPOiDlkI7nu63lhoXpg6jlrp7njrAgdG9vbHRpcCDkuI3kvb/nlKggYXVpIHRvb2x0aXBcbiAgICovXG4gIGhhY2tPdmVybGF5UGFuZVN0eWxlKHN0eWxlOiBzdHJpbmcpIHtcbiAgICBjb25zdCB0b29sdGlwUGFuZURvbSA9IGdldChcbiAgICAgIHRoaXMuYXVpVG9vbHRpcFJlZi5vdmVybGF5UmVmLFxuICAgICAgJ19wYW5lJyxcbiAgICApIGFzIEhUTUxFbGVtZW50O1xuICAgIGlmICh0b29sdGlwUGFuZURvbSkge1xuICAgICAgdG9vbHRpcFBhbmVEb20uc3R5bGUucG9pbnRlckV2ZW50cyA9IHN0eWxlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiDojrflj5bpvKDmoIfnp7vliqjnmoTkvY3nva7miYDlnKjnmoQgYmFyIHZhbHVlXG4gICAqIEBwYXJhbSBkYXRhIOW9k+WJjVxiIGJhciDlvIDlp4vnu5PmnZ8geCDkvY3nva5cbiAgICogQHBhcmFtIHhQb3Mg5b2T5YmN6byg5qCH5L2N572uXG4gICAqL1xuICBwcml2YXRlIGdldEN1cnJlbnRNb3VzZU1vdmVQb3NpdGlvblZhbHVlKFxuICAgIGRhdGE6IEN1cnJlbnRQb3NpdGlvbkl0ZW1bXSxcbiAgICB4UG9zOiBudW1iZXIsXG4gICkge1xuICAgIGxldCByZXN1bHQ6IEN1cnJlbnRQb3NpdGlvbkl0ZW07XG4gICAgZm9yIChjb25zdCBbLCBwb3NpdGlvbl0gb2YgZGF0YS5lbnRyaWVzKCkpIHtcbiAgICAgIGlmICh4UG9zID49IHBvc2l0aW9uLngxICYmIHhQb3MgPD0gcG9zaXRpb24ueDIpIHtcbiAgICAgICAgcmVzdWx0ID0gcG9zaXRpb247XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIOiuoeeul+mUmueCuSB4IOS9jee9rlxuICAgKiDlvZPliY0gYmFyIOaVsOaNriB4IOS9jee9riArIOW9k+WJjSBiYXIg5a695bqm55qE5LiA6IisXG4gICAqIEBwYXJhbSBjdXJyUG9zaXRpb24g5b2T5YmN6byg5qCH56e75YWl55qEYmFyIOaVsOaNrlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRCYXJYQW5jaG9yUG9zKGN1cnJQb3NpdGlvbjogQ3VycmVudFBvc2l0aW9uSXRlbSkge1xuICAgIGNvbnN0IGJhbmR3aWR0aCA9IHRoaXMudHlwZVN0YW5kYXJkXG4gICAgICA/IHRoaXMuY29udGV4dFNlcnZpY2UuYmFySW5uZXJTY2FsZSgpLmJhbmR3aWR0aCgpIC8gMlxuICAgICAgOiAoPFNjYWxlQmFuZDxzdHJpbmc+PnRoaXMuY29udGV4dFNlcnZpY2UueCkuYmFuZHdpZHRoKCkgLyAyO1xuICAgIHRoaXMuYW5jaG9yUG9zID0gdGhpcy5jb250ZXh0U2VydmljZS5ob3Jpem9udGFsXG4gICAgICA/IE1hdGguYWJzKFxuICAgICAgICAgIHRoaXMuZ2V0VmVydGljYWxCYXJIZWlnaHQoXG4gICAgICAgICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLnhTZXJpZXNWYWx1ZVtjdXJyUG9zaXRpb24uaW5kZXhdIGFzIHN0cmluZyxcbiAgICAgICAgICAgIGN1cnJQb3NpdGlvbixcbiAgICAgICAgICApIC8gMixcbiAgICAgICAgKVxuICAgICAgOiBjdXJyUG9zaXRpb24ueDEgKyBiYW5kd2lkdGg7XG4gIH1cblxuICAvKipcbiAgICog6K6h566X6ZSa54K5IHkg5L2N572uXG4gICAqIOawtOW5s++8muW9k+WJjSBiYXIg5pWw5o2uIHgg5L2N572uXG4gICAqIOWeguebtO+8muaAu+mrmOW6piAtIGJhciDpq5jluqYg77yI6ZyA6KaB5YWI6K6h566X5Ye6IGJhcumrmOW6pu+8iVxuICAgKi9cbiAgcHJpdmF0ZSBnZXRCYXJZQW5jaG9yUG9zKGN1cnJQb3NpdGlvbjogQ3VycmVudFBvc2l0aW9uSXRlbSkge1xuICAgIHRoaXMuYW5jaG9yWSA9IHRoaXMuY29udGV4dFNlcnZpY2UuaG9yaXpvbnRhbFxuICAgICAgPyBjdXJyUG9zaXRpb24ueDFcbiAgICAgIDogdGhpcy52aWV3LmhlaWdodCAtIHRoaXMuYW5jaG9ySGVpZ2h0O1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93VG9vbHRpcCgpIHtcbiAgICBpZiAoIXRoaXMuYXVpVG9vbHRpcFJlZj8uaXNDcmVhdGVkKSB7XG4gICAgICB0aGlzLmF1aVRvb2x0aXBSZWY/LnNob3coKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmhhY2tlZCkge1xuICAgICAgdGhpcy5oYWNrT3ZlcmxheVBhbmVTdHlsZSgnbm9uZScpO1xuICAgIH1cbiAgICB0aGlzLmhhY2tlZCA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIGhpZGVUb29sdGlwKCkge1xuICAgIHRoaXMuaGFja2VkID0gZmFsc2U7XG4gICAgdGhpcy5oYWNrT3ZlcmxheVBhbmVTdHlsZSgnYXV0bycpO1xuICAgIHRoaXMuYXVpVG9vbHRpcFJlZj8uaGlkZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaW1pdE1heENvbnRleHQoY29udGV4dDogQ29udGV4dEl0ZW1bXSwgbGltaXQgPSAxNSkge1xuICAgIGNvbnN0IHZhbHVlcyA9IGNvbnRleHQuc2xpY2UoMCwgbGltaXQpO1xuICAgIGNvbnN0IGV4aXN0QWN0aXZlID0gdmFsdWVzLnNvbWUoaXRlbSA9PiBpdGVtLm5hbWUgPT09IHRoaXMuYWN0aXZlTGVnZW5kKTtcbiAgICBpZiAoIWV4aXN0QWN0aXZlICYmIHRoaXMuYWN0aXZlTGVnZW5kKSB7XG4gICAgICBjb25zdCBkYXRhID0gY29udGV4dC5maW5kKGl0ZW0gPT4gaXRlbS5uYW1lID09PSB0aGlzLmFjdGl2ZUxlZ2VuZCk7XG4gICAgICB0aGlzLmFjdGl2ZUxlZ2VuZCA9ICcnO1xuICAgICAgcmV0dXJuIGRhdGEgPyBbLi4udmFsdWVzLnNsaWNlKDAsIGxpbWl0IC0gMSksIGRhdGFdIDogdmFsdWVzO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWVzO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiIsIjxzdmc6Z1xuICBbYXR0ci5vcGFjaXR5XT1cImFuY2hvck9wYWNpdHlcIlxuICAqbmdJZj1cIiFpc0JhbmRcIlxuPlxuICA8c3ZnOmNpcmNsZVxuICAgIFthdHRyLnZpc2liaWxpdHldPVwiXG4gICAgICBjb250ZXh0U2VydmljZS5kaXNhYmxlZExlZ2VuZC5oYXMoaXRlbS5uYW1lKSA/ICdoaWRkZW4nIDogJydcbiAgICBcIlxuICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHRvb2x0aXBDb250ZXh0Py52YWx1ZXNcIlxuICAgIHI9XCIyLjVcIlxuICAgIFthdHRyLnN0cm9rZV09XCJpdGVtLmNvbG9yXCJcbiAgICBzdHJva2Utd2lkdGg9XCIxXCJcbiAgICBmaWxsPVwiI2ZmZlwiXG4gICAgW2F0dHIuY3hdPVwiYW5jaG9yUG9zXCJcbiAgICBbYXR0ci5jeV09XCJpdGVtLnkgPyAoaXRlbS55IHwgcHVyZTogY29udGV4dFNlcnZpY2UueSkgfHwgMCA6IDEwMDBcIlxuICA+PC9zdmc6Y2lyY2xlPlxuPC9zdmc6Zz5cblxuPHN2ZzpyZWN0XG4gIHN0cm9rZT1cIiM5OTlcIlxuICBbYXR0ci54XT1cImFuY2hvclBvc1wiXG4gIFthdHRyLnZpc2liaWxpdHldPVwiYW5jaG9yVmlzaWJpbGl0eVwiXG4gIFthdHRyLnldPVwiYW5jaG9yWVwiXG4gIFthdHRyLndpZHRoXT1cIjAuNVwiXG4gIFthdHRyLmhlaWdodF09XCJhbmNob3JIZWlnaHRcIlxuICAjdG9vbHRpcD1cImF1aVRvb2x0aXBcIlxuICBbYXR0ci5vcGFjaXR5XT1cImFuY2hvck9wYWNpdHlcIlxuICBbYXVpVG9vbHRpcF09XCJ0b29sdGlwVGVtcGxhdGUgfHwgZGVmYXVsdFRvb2x0aXBUZW1wbGF0ZVwiXG4gIFthdWlUb29sdGlwQ29udGV4dF09XCJ7IGNvbnRleHQ6IHRvb2x0aXBDb250ZXh0IH1cIlxuICBbYXVpVG9vbHRpcERpc2FibGVkXT1cImFuY2hvclZpc2liaWxpdHlcIlxuICBhdWlUb29sdGlwVHJpZ2dlcj1cIm1hbnVhbFwiXG4gIFthdWlUb29sdGlwUG9zaXRpb25dPVwidHlwZVN0YW5kYXJkICYmIGlzQmFuZCA/ICd0b3AnIDogJ3N0YXJ0J1wiXG4gIGF1aVRvb2x0aXBDbGFzcz1cInRvb2x0aXBDbGFzc1wiXG4vPlxuXG48bmctdGVtcGxhdGVcbiAgI2RlZmF1bHRUb29sdGlwVGVtcGxhdGVcbiAgbGV0LWNvbnRleHQ9XCJjb250ZXh0XCJcbj5cbiAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aXRsZVRlbXBsYXRlIHx8IGRlZmF1bHRUaXRsZVRlbXBsYXRlXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgY29udGV4dDogY29udGV4dCB9XCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGV4dFwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwb2ludFRlbXBsYXRlIHx8IGRlZmF1bHRQb2ludFRlbXBsYXRlXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cImNvbnRleHQgfCBwdXJlOiBtZXJnZVBvaW50Q29udGV4dFwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgc3R5bGU9XCJwb3NpdGlvbjogYWJzb2x1dGU7IHBvaW50ZXItZXZlbnRzOiBub25lOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlXCJcbiAgPjwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICNkZWZhdWx0VGl0bGVUZW1wbGF0ZVxuICBsZXQtY29udGV4dD1cImNvbnRleHRcIlxuPlxuICB7e1xuICAgIHRpdGxlVHJhbnNsYXRpb25cbiAgICAgID8gKGNvbnRleHQ/LnRpdGxlIHwgdHJhbnNsYXRlOiBudWxsOnRydWUpXG4gICAgICA6IChjb250ZXh0Py50aXRsZSB8IHB1cmU6IGhhbmRsZURhdGVGb3JtYXQ6ZGF0ZUZvcm1hdClcbiAgfX1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGVmYXVsdFBvaW50VGVtcGxhdGVcbiAgbGV0LWNvbnRleHQ9XCJjb250ZXh0XCJcbiAgbGV0LXNvdXJjZT1cInNvdXJjZVwiXG4+XG4gIDx1bFxuICAgIGNsYXNzPVwiY29udGV4dC1saXN0XCJcbiAgICBbY2xhc3MuY29sdW1uLWxheW91dF09XCJjb2x1bW5MYXlvdXRcIlxuICA+XG4gICAgPGxpXG4gICAgICBjbGFzcz1cImNvbnRleHQtaXRlbVwiXG4gICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjb250ZXh0OyB0cmFja0J5OiBpdGVtVHJhY2tCeVwiXG4gICAgICBbY2xhc3MuYWN0aXZlXT1cIml0ZW0/LmFjdGl2ZVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImxlZnRcIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cIml0ZW0taWNvblwiXG4gICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRdPVwiaXRlbS5jb2xvclwiXG4gICAgICAgID48L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaXRlbS1uYW1lXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBvaW50TmFtZVRlbXBsYXRlOyBlbHNlIGVsc2VUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwb2ludE5hbWVUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGNvbnRleHQ6IGl0ZW0gfVwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNlbHNlVGVtcGxhdGU+XG4gICAgICAgICAgICB7eyB0cmFuc2xhdGlvbiA/IChpdGVtLm5hbWUgfCB0cmFuc2xhdGU6IHt9OnRydWUpIDogaXRlbS5uYW1lIH19XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJyaWdodFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbHVtbkxheW91dFwiPjogPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJpdGVtLXByZWZpeFwiXG4gICAgICAgICAgKm5nSWY9XCJ2YWx1ZVByZWZpeFwiXG4gICAgICAgICAgPnt7IHZhbHVlUHJlZml4IH19PC9zcGFuXG4gICAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpdGVtLXZhbHVlXCI+e3sgaXRlbSB8IHB1cmU6IHBvaW50Rm9ybWF0IH19PC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwiaXRlbS1zdWZmaXhcIlxuICAgICAgICAgICpuZ0lmPVwidmFsdWVTdWZmaXhcIlxuICAgICAgICAgID57eyB2YWx1ZVN1ZmZpeCB8IHB1cmU6IHRvb2x0aXBTdWZmaXhGb3JtYXQgfX08L3NwYW5cbiAgICAgICAgPlxuICAgICAgPC9kaXY+XG4gICAgPC9saT5cbiAgPC91bD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
523
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY2hhcnQvY29tbW9uL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvY2hhcnQvY29tbW9uL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEVBR0wsV0FBVyxFQUVYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEtBQXFCLE1BQU0sT0FBTyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFhLE1BQU0sMEJBQTBCLENBQUM7QUFFdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixPQUFPLEVBQ1AsbUJBQW1CLEdBQ3BCLE1BQU0sYUFBYSxDQUFDOzs7Ozs7O0lDcEJuQiw0QkFXYzs7Ozs7SUFWWixvR0FFQyx5QkFBQSx3QkFBQSx3RkFBQTs7O0lBUEwsbUJBR0M7SUFIRCx5QkFHQztJQUNDLDBGQVdjO0lBQ2hCLGlCQUFROzs7SUFmTiwrQ0FBOEI7SUFPWCxlQUF5QjtJQUF6Qiw2RkFBeUI7Ozs7O0lBK0I1QyxvQkFBNkI7SUFBN0IsOEJBQTZCLGFBQUE7SUFFekIsNEJBR2dCO0lBQ2xCLGlCQUFNO0lBQ04sK0JBQXFCO0lBQ25CLDRCQUdnQjs7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dCI6WyJpbXBvcnQgeyBCYXNlVG9vbHRpcCB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFRyYWNrQnlGdW5jdGlvbixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNjYWxlQmFuZCB9IGZyb20gJ2QzJztcbmltcG9ydCBkYXlqcywgeyBDb25maWdUeXBlIH0gZnJvbSAnZGF5anMnO1xuaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBEQVRFX1RJTUVfRk9STUFULCBTdHJpbmdNYXAgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgQ2hhcnREYXRhLCBDaGFydERhdGFJdGVtIH0gZnJvbSAnLi4vLi4vLi4vdmlldy1jaGFydC9wdWJsaWMtYXBpJztcbmltcG9ydCB7IENvbnRleHRDaGFydFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jaGFydC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIGZpbmRDbG9zZXN0UG9pbnRJbmRleCxcbiAgZ2V0WFBvcyxcbiAgdG9vbHRpcFN1ZmZpeEZvcm1hdCxcbn0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG50eXBlIFhWYWx1ZSA9IHN0cmluZyB8IG51bWJlciB8IERhdGU7XG5leHBvcnQgaW50ZXJmYWNlIENvbnRleHRJdGVtIHtcbiAgbmFtZTogc3RyaW5nO1xuICBjb2xvcjogc3RyaW5nO1xuICB4OiBYVmFsdWU7XG4gIHk6IG51bWJlcjtcbiAgdW5pdD86IHN0cmluZztcbiAgYWN0aXZlPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBDdXJyZW50UG9zaXRpb25JdGVtIHtcbiAgeDE6IG51bWJlcjtcbiAgeDI6IG51bWJlcjtcbiAgbmFtZT86IHN0cmluZztcbiAgZ3JvdXBOYW1lOiBzdHJpbmc7XG4gIGluZGV4OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBUb29sdGlwQ29udGV4dCB7XG4gIHRpdGxlOiBYVmFsdWU7XG4gIHNvdXJjZTogQ2hhcnREYXRhW107XG4gIHZhbHVlczogQ29udGV4dEl0ZW1bXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZURhdGVGb3JtYXQoZGF0ZTogQ29uZmlnVHlwZSwgZm9ybWF0ID0gREFURV9USU1FX0ZPUk1BVCkge1xuICByZXR1cm4gU3RyaW5nKGRheWpzKGRhdGUpLmlzVmFsaWQoKSA/IGRheWpzKGRhdGUpLmZvcm1hdChmb3JtYXQpIDogZGF0ZSk7XG59XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2dbYWNsVG9vbHRpcF0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9vbHRpcC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rvb2x0aXAuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENoYXJ0VG9vbHRpcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgZGF0ZUZvcm1hdCA9IERBVEVfVElNRV9GT1JNQVQ7XG5cbiAgQElucHV0KCkgdmFsdWVQcmVmaXg6IHN0cmluZztcblxuICBASW5wdXQoKSB2YWx1ZVN1ZmZpeDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGNvbHVtbkxheW91dCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHRvb2x0aXBUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KCkgcG9pbnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KCkgcG9pbnROYW1lVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpIHBvaW50VGVtcGxhdGVDb250ZXh0OiB1bmtub3duO1xuXG4gIEBJbnB1dCgpIHRpdGxlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gIEBJbnB1dCgpIGF1dG9Tb3J0ID0gZmFsc2U7XG5cbiAgQElucHV0KCkgdHJhbnNsYXRpb24gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIHRpdGxlVHJhbnNsYXRpb246IGJvb2xlYW47XG5cbiAgQElucHV0KCkgcG9pbnRGb3JtYXQ6IChkOiBDb250ZXh0SXRlbSkgPT4gc3RyaW5nIHwgbnVtYmVyID0gZCA9PiBkLnk7XG5cbiAgQFZpZXdDaGlsZCgndG9vbHRpcCcpIGF1aVRvb2x0aXBSZWY6IEJhc2VUb29sdGlwO1xuXG4gIHZpZXc6IHtcbiAgICB3aWR0aDogbnVtYmVyO1xuICAgIGhlaWdodDogbnVtYmVyO1xuICB9O1xuXG4gIGRlc3Ryb3kkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgYW5jaG9yUG9zID0gMDtcbiAgYW5jaG9yT3BhY2l0eSA9IDA7XG4gIGFuY2hvckhlaWdodCA9IDA7XG4gIGFuY2hvclkgPSAwO1xuICBsYXN0QW5jaG9yUG9zOiBudW1iZXI7XG4gIHRvb2x0aXBDb250ZXh0OiBUb29sdGlwQ29udGV4dDtcblxuICBoYWNrZWQgPSBmYWxzZTtcblxuICBoYW5kbGVEYXRlRm9ybWF0ID0gaGFuZGxlRGF0ZUZvcm1hdDtcblxuICB0b29sdGlwU3VmZml4Rm9ybWF0ID0gdG9vbHRpcFN1ZmZpeEZvcm1hdDtcblxuICBhY3RpdmVMZWdlbmQ6IHN0cmluZztcblxuICBnZXQgdHlwZVN0YW5kYXJkKCkge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHRTZXJ2aWNlLmJhck9wdGlvbnMudHlwZSA9PT0gJ3N0YW5kYXJkJztcbiAgfVxuXG4gIGdldCBpc0JhbmQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGV4dFNlcnZpY2UuYmFyT3B0aW9ucy5pc0JhbmQ7XG4gIH1cblxuICBnZXQgYW5jaG9yVmlzaWJpbGl0eSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS5kaXNhYmxlZExlZ2VuZC5zaXplID09PVxuICAgICAgKHRoaXMudHlwZVN0YW5kYXJkXG4gICAgICAgID8gdGhpcy5jb250ZXh0U2VydmljZS5pbm5lckRvbWFpbi5sZW5ndGhcbiAgICAgICAgOiB0aGlzLmNvbnRleHRTZXJ2aWNlLmNoYXJ0RGF0YT8ubGVuZ3RoKVxuICAgICAgPyAnaGlkZGVuJ1xuICAgICAgOiAnJztcbiAgfVxuXG4gIGdldCBncm91cFBvc2l0aW9uKCkge1xuICAgIC8vIOiuoeeulyBncm91cCDlvIDlp4vnu5PmnZ/kvY3nva5cbiAgICByZXR1cm4gdGhpcy5jb250ZXh0U2VydmljZS54U2VyaWVzVmFsdWUubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgeCA9IDxTY2FsZUJhbmQ8c3RyaW5nPj50aGlzLmNvbnRleHRTZXJ2aWNlLng7XG4gICAgICBjb25zdCB4MSA9IHgoaXRlbSBhcyBzdHJpbmcpO1xuICAgICAgcmV0dXJuIHsgeDEsIHgyOiB4MSArIHguYmFuZHdpZHRoKCksIGluZGV4LCBncm91cE5hbWU6IGl0ZW0gYXMgc3RyaW5nIH07XG4gICAgfSk7XG4gIH1cblxuICBnZXQgY2FsY3VsYXRpb25JdGVtUG9zaXRpb24oKSB7XG4gICAgLy8g5qC55o2uIGdyb3VwIOiuoeeulyBpdGVtIOW8gOWni+e7k+adn+S9jee9rlxuICAgIHJldHVybiB0aGlzLmdyb3VwUG9zaXRpb24ucmVkdWNlKFxuICAgICAgKGFjYywgcG9zaXRpb24sIGluZGV4KSA9PiBbXG4gICAgICAgIC4uLmFjYyxcbiAgICAgICAgLi4udGhpcy5jb250ZXh0U2VydmljZS5pbm5lckRvbWFpbi5tYXAoKGlubmVyLCBpKSA9PiB7XG4gICAgICAgICAgY29uc3QgYmFySW5uZXJTY2FsZSA9IHRoaXMuY29udGV4dFNlcnZpY2UuYmFySW5uZXJTY2FsZSgpO1xuICAgICAgICAgIGNvbnN0IHgxID0gYmFySW5uZXJTY2FsZShpbm5lcik7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHgxOiB4MSArIHBvc2l0aW9uLngxLFxuICAgICAgICAgICAgeDI6IHgxICsgcG9zaXRpb24ueDEgKyBiYXJJbm5lclNjYWxlLmJhbmR3aWR0aCgpLFxuICAgICAgICAgICAgbmFtZTogaW5uZXIsXG4gICAgICAgICAgICBncm91cE5hbWU6IHRoaXMuY29udGV4dFNlcnZpY2UueFNlcmllc1ZhbHVlW2luZGV4XSxcbiAgICAgICAgICAgIGluZGV4OiBpLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pLFxuICAgICAgXSxcbiAgICAgIFtdLFxuICAgICk7XG4gIH1cblxuICBjYWxjdWxhdGVZID0gKF86IG51bWJlcikgPT4gMDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgY29udGV4dFNlcnZpY2U6IENvbnRleHRDaGFydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250ZXh0U2VydmljZS51cGRhdGUkJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmFuY2hvckhlaWdodCA9IHRoaXMuY29udGV4dFNlcnZpY2UuY2hhcnRWaWV3LmhlaWdodDtcbiAgICAgICAgdGhpcy52aWV3ID0gdGhpcy5jb250ZXh0U2VydmljZS5jaGFydFZpZXc7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICAgIHRoaXMuY29udGV4dFNlcnZpY2UubGVnZW5kQWN0aXZhdGUkJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSlcbiAgICAgIC5zdWJzY3JpYmUobGVnZW5kID0+IHtcbiAgICAgICAgdGhpcy5hY3RpdmVMZWdlbmQgPSBsZWdlbmQ7XG4gICAgICAgIGlmICh0aGlzLnRvb2x0aXBDb250ZXh0Py52YWx1ZXMpIHtcbiAgICAgICAgICB0aGlzLnRvb2x0aXBDb250ZXh0ID0ge1xuICAgICAgICAgICAgLi4udGhpcy50b29sdGlwQ29udGV4dCxcbiAgICAgICAgICAgIHZhbHVlczogdGhpcy50b29sdGlwQ29udGV4dC52YWx1ZXMubWFwKGl0ZW0gPT4gKHtcbiAgICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgICAgYWN0aXZlOiBpdGVtLm5hbWUgPT09IGxlZ2VuZCxcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbW91c2VNb3ZlKGU6IE1vdXNlRXZlbnQsIHJlY3REb20/OiBIVE1MRWxlbWVudCkge1xuICAgIGNvbnN0IHhQb3MgPSBnZXRYUG9zKGUsIHRoaXMuY29udGV4dFNlcnZpY2UsIHJlY3REb20pO1xuICAgIGNvbnN0IGNsb3Nlc3RJbmRleCA9IGZpbmRDbG9zZXN0UG9pbnRJbmRleCh4UG9zLCB0aGlzLmNvbnRleHRTZXJ2aWNlKTtcbiAgICBjb25zdCBjbG9zZXN0UG9pbnQgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLnhTZXJpZXNWYWx1ZVtjbG9zZXN0SW5kZXhdO1xuICAgIGlmICh0aGlzLmNvbnRleHRTZXJ2aWNlLmJhck9wdGlvbnMuaXNCYW5kKSB7XG4gICAgICB0aGlzLmJhck1vdXNlTW92ZShlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5hbmNob3JQb3MgPSB4UG9zO1xuICAgIGlmICh0aGlzLmFuY2hvclBvcyAhPT0gdGhpcy5sYXN0QW5jaG9yUG9zICYmIGNsb3Nlc3RQb2ludCkge1xuICAgICAgdGhpcy50b29sdGlwQ29udGV4dCA9IHRoaXMuZ2V0VG9vbHRpcENvbnRleHQoY2xvc2VzdEluZGV4LCBjbG9zZXN0UG9pbnQpO1xuICAgICAgLy8g5YC85Li6IG51bGwg5LiN5bGV56S6IHRvb2x0aXBcbiAgICAgIGNvbnN0IG5vRGF0YSA9ICF0aGlzLnRvb2x0aXBDb250ZXh0Py52YWx1ZXM/LnNvbWUoZCA9PiBkLnkgIT09IG51bGwpO1xuICAgICAgaWYgKG5vRGF0YSkge1xuICAgICAgICB0aGlzLmFuY2hvck9wYWNpdHkgPSAwO1xuICAgICAgICB0aGlzLmxhc3RBbmNob3JQb3MgPSAtMTtcbiAgICAgICAgdGhpcy5oaWRlVG9vbHRpcCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5sYXN0QW5jaG9yUG9zID0gdGhpcy5hbmNob3JQb3M7XG4gICAgICAgIHRoaXMuYW5jaG9yT3BhY2l0eSA9IDAuNztcbiAgICAgICAgdGhpcy5zaG93VG9vbHRpcCgpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBtb3VzZUxlYXZlKCkge1xuICAgIHRoaXMuYW5jaG9yT3BhY2l0eSA9IDA7XG4gICAgdGhpcy5sYXN0QW5jaG9yUG9zID0gLTE7XG4gICAgdGhpcy5oaWRlVG9vbHRpcCgpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG1lcmdlUG9pbnRDb250ZXh0ID0gKGNvbnRleHQ6IFRvb2x0aXBDb250ZXh0KSA9PiAoe1xuICAgIGNvbnRleHQ6IHRoaXMubGltaXRNYXhDb250ZXh0KGNvbnRleHQudmFsdWVzKSxcbiAgICBzb3VyY2U6IGNvbnRleHQuc291cmNlLFxuICAgIC4uLih0aGlzLnBvaW50VGVtcGxhdGVDb250ZXh0IGFzIFN0cmluZ01hcCksXG4gIH0pO1xuXG4gIGl0ZW1UcmFja0J5OiBUcmFja0J5RnVuY3Rpb248Q29udGV4dEl0ZW0+ID0gKF86IG51bWJlciwgdmFsdWU6IENvbnRleHRJdGVtKSA9PlxuICAgIHZhbHVlLm5hbWU7XG5cbiAgLy8gYmFyIG1vdXNlTW92ZSDlpITnkIZcbiAgcHJpdmF0ZSBiYXJNb3VzZU1vdmUoZTogTW91c2VFdmVudCkge1xuICAgIGNvbnN0IHhQb3MgPSBnZXRYUG9zKGUsIHRoaXMuY29udGV4dFNlcnZpY2UpO1xuICAgIGNvbnN0IGN1cnJQb3NpdGlvbiA9IHRoaXMuZ2V0Q3VycmVudE1vdXNlTW92ZVBvc2l0aW9uVmFsdWUoXG4gICAgICB0aGlzLnR5cGVTdGFuZGFyZCA/IHRoaXMuY2FsY3VsYXRpb25JdGVtUG9zaXRpb24gOiB0aGlzLmdyb3VwUG9zaXRpb24sXG4gICAgICB4UG9zLFxuICAgICk7XG4gICAgaWYgKGN1cnJQb3NpdGlvbikge1xuICAgICAgdGhpcy5nZXRCYXJYQW5jaG9yUG9zKGN1cnJQb3NpdGlvbik7XG4gICAgICB0aGlzLmdldEJhckhpZ2h0KFxuICAgICAgICB0aGlzLmNvbnRleHRTZXJ2aWNlLnhTZXJpZXNWYWx1ZVtjdXJyUG9zaXRpb24uaW5kZXhdIGFzIHN0cmluZyxcbiAgICAgICAgY3VyclBvc2l0aW9uLFxuICAgICAgKTtcbiAgICAgIHRoaXMuZ2V0QmFyWUFuY2hvclBvcyhjdXJyUG9zaXRpb24pO1xuICAgICAgdGhpcy50b29sdGlwQ29udGV4dCA9IHRoaXMuZ2V0QmFyVG9vbHRpcENvbnRleHQoY3VyclBvc2l0aW9uKTtcbiAgICAgIHRoaXMuc2hvd1Rvb2x0aXAoKTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEJhckhpZ2h0KGdyb3VwTmFtZTogc3RyaW5nLCB2YWx1ZT86IEN1cnJlbnRQb3NpdGlvbkl0ZW0pIHtcbiAgICB0aGlzLmFuY2hvckhlaWdodCA9IHRoaXMuY29udGV4dFNlcnZpY2UuaG9yaXpvbnRhbFxuICAgICAgPyB0aGlzLnR5cGVTdGFuZGFyZFxuICAgICAgICA/IHRoaXMuY29udGV4dFNlcnZpY2UuYmFySW5uZXJTY2FsZSgpLmJhbmR3aWR0aCgpXG4gICAgICAgIDogKDxTY2FsZUJhbmQ8c3RyaW5nPj50aGlzLmNvbnRleHRTZXJ2aWNlLngpLmJhbmR3aWR0aCgpXG4gICAgICA6IHRoaXMuZ2V0VmVydGljYWxCYXJIZWlnaHQoZ3JvdXBOYW1lLCB2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICog6K6h566XIGJhciDlnoLnm7Qg57G75Z6L5LiLIOmrmOW6plxuICAgKiDmoIflh4bvvJpcYlxi55u05o6l5qC55o2uIHkoMCkgLSB5KHZhbHVlKSDorqHnrpcgYmFyIGl0ZW0g55qE6auY5bqmXG4gICAqIOWghuWPoO+8muiuoeeulyBncm91cCDkuIvmiYDmnIlpdGVtIOeahOmrmOW6puebuOWKoCDlvpfliLDloIblj6DnmoQgYmFyIOmrmOW6plxuICAgKi9cbiAgcHJpdmF0ZSBnZXRWZXJ0aWNhbEJhckhlaWdodChncm91cE5hbWU6IHN0cmluZywgdmFsdWU/OiBDdXJyZW50UG9zaXRpb25JdGVtKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZVN0YW5kYXJkXG4gICAgICA/IHRoaXMuY29udGV4dFNlcnZpY2UueSgwKSAtXG4gICAgICAgICAgdGhpcy5jb250ZXh0U2VydmljZS55KHRoaXMuZ2V0QmFyWVZhbHVlKHZhbHVlLmdyb3VwTmFtZSwgdmFsdWUubmFtZSkpXG4gICAgICA6IHRoaXMuY29udGV4dFNlcnZpY2UuY2hhcnREYXRhLnJlZHVjZSgocHJldiwgY3VycikgPT4ge1xuICAgICAgICAgIGlmIChjdXJyLm5hbWUgPT09IGdyb3VwTmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgY3Vyci52YWx1ZXMucmVkdWNlKChhY2MsIHZhbCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5jb250ZXh0U2VydmljZS5kaXNhYmxlZExlZ2VuZC5oYXModmFsLnggYXMgc3RyaW5nKSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0U2VydmljZS55KDApIC1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0U2VydmljZS55KHZhbC55KSArXG4gICAgICAgICAgICAgICAgICAgIGFjY1xuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgICAgfSwgMCkgKyBwcmV2XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcHJldjtcbiAgICAgICAgfSwgMCk7XG4gIH1cblxuICAvLyDojrflj5blvZPliY3pvKDmoIfnp7vlhaUgYmFyIHkg5YC8XG4gIHByaXZhdGUgZ2V0QmFyWVZhbHVlKGdyb3VwTmFtZTogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICBsZXQgcmVzdWx0ID0gMDtcbiAgICBmb3IgKGNvbnN0IFssIGl0ZW1dIG9mIHRoaXMuY29udGV4dFNlcnZpY2UuY2hhcnREYXRhLmVudHJpZXMoKSkge1xuICAgICAgaWYgKGl0ZW0ubmFtZSA9PT0gZ3JvdXBOYW1lKSB7XG4gICAgICAgIGZvciAoY29uc3QgWywgdmFsXSBvZiBpdGVtLnZhbHVlcy5lbnRyaWVzKCkpIHtcbiAgICAgICAgICBpZiAodmFsLnggPT09IG5hbWUpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IHZhbC55O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLy8gbGluZSBhcmVhIGNoYXJ0IOiOt+WPliB0b29sdGlwIOWxleekuuaVsOaNrlxuICBwcml2YXRlIGdldFRvb2x0aXBDb250ZXh0KGluZGV4OiBudW1iZXIsIHhWYWx1ZTogbnVtYmVyIHwgc3RyaW5nIHwgRGF0ZSkge1xuICAgIGNvbnN0IHZhbHVlczogQ29udGV4dEl0ZW1bXSA9IHRoaXMuY29udGV4dFNlcnZpY2UuY2hhcnREYXRhLnJlZHVjZShcbiAgICAgIChhY2MsIGdyb3VwKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5jb250ZXh0U2VydmljZS5kaXNhYmxlZExlZ2VuZC5oYXMoZ3JvdXAubmFtZSkpIHtcbiAgICAgICAgICBjb25zdCBpdGVtID0gZ3JvdXAudmFsdWVzW2luZGV4XTtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi5pdGVtLFxuICAgICAgICAgICAgICBuYW1lOiBncm91cC5uYW1lLFxuICAgICAgICAgICAgICBjb2xvcjogZ3JvdXAuY29sb3IsXG4gICAgICAgICAgICAgIHVuaXQ6IGdyb3VwLnVuaXQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sXG4gICAgICBbXSxcbiAgICApO1xuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogeFZhbHVlLFxuICAgICAgc291cmNlOiB0aGlzLmNvbnRleHRTZXJ2aWNlLmNoYXJ0RGF0YSxcbiAgICAgIHZhbHVlczogdGhpcy5hdXRvU29ydCA/IHZhbHVlcy5zb3J0KChhLCBiKSA9PiBiLnkgLSBhLnkpIDogdmFsdWVzLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICog6I635Y+WIGJhciB0b29sdGlwIOWxleekuuaVsOaNrlxuICAgKi9cbiAgcHJpdmF0ZSBnZXRCYXJUb29sdGlwQ29udGV4dCh2YWx1ZTogQ3VycmVudFBvc2l0aW9uSXRlbSkge1xuICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuY29udGV4dFNlcnZpY2UuY2hhcnREYXRhLnJlZHVjZSgoYWNjLCBncm91cCkgPT4ge1xuICAgICAgaWYgKGdyb3VwLm5hbWUgPT09IHZhbHVlLmdyb3VwTmFtZSkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICAuLi5ncm91cC52YWx1ZXMucmVkdWNlKFxuICAgICAgICAgICAgKFxuICAgICAgICAgICAgICBwcmV2LFxuICAgICAgICAgICAgICBjdXJyOiBDaGFydERhdGFJdGVtPHsgeDogc3RyaW5nOyB5OiBudW1iZXI7IGNvbG9yPzogc3RyaW5nIH0+LFxuICAgICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICAgICkgPT4ge1xuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgIXRoaXMuY29udGV4dFNlcnZpY2UuZGlzYWJsZWRMZWdlbmQuaGFzKGN1cnIueCBhcyBzdHJpbmcpICYmXG4gICAgICAgICAgICAgICAgKHZhbHVlLm5hbWUgPyBjdXJyLnggPT09IHZhbHVlLm5hbWUgOiB0cnVlKVxuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgLi4ucHJldixcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uY3VycixcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogY3Vyci54LFxuICAgICAgICAgICAgICAgICAgICBjb2xvcjpcbiAgICAgICAgICAgICAgICAgICAgICBjdXJyLmNvbG9yIHx8XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0U2VydmljZS5nZXRDaGFydERlZmF1bHRDb2xvcihpbmRleCksXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW10sXG4gICAgICAgICAgKSxcbiAgICAgICAgXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgW10pO1xuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogdmFsdWUuZ3JvdXBOYW1lLFxuICAgICAgc291cmNlOiB0aGlzLmNvbnRleHRTZXJ2aWNlLmNoYXJ0RGF0YSxcbiAgICAgIHZhbHVlcyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIOaaguaXtuWFiCDpgJrov4cgaGFjayDmlrnlvI8g5L+u5pS5IHBvaW50ZXIgZXZlbnQg6KGM5Li6XG4gICAqIFRPRE86IOWQjue7reWGhemDqOWunueOsCB0b29sdGlwIOS4jeS9v+eUqCBhdWkgdG9vbHRpcFxuICAgKi9cbiAgaGFja092ZXJsYXlQYW5lU3R5bGUoc3R5bGU6IHN0cmluZykge1xuICAgIGNvbnN0IHRvb2x0aXBQYW5lRG9tID0gZ2V0KFxuICAgICAgdGhpcy5hdWlUb29sdGlwUmVmLm92ZXJsYXlSZWYsXG4gICAgICAnX3BhbmUnLFxuICAgICkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgaWYgKHRvb2x0aXBQYW5lRG9tKSB7XG4gICAgICB0b29sdGlwUGFuZURvbS5zdHlsZS5wb2ludGVyRXZlbnRzID0gc3R5bGU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIOiOt+WPlum8oOagh+enu+WKqOeahOS9jee9ruaJgOWcqOeahCBiYXIgdmFsdWVcbiAgICogQHBhcmFtIGRhdGEg5b2T5YmNXGIgYmFyIOW8gOWni+e7k+adnyB4IOS9jee9rlxuICAgKiBAcGFyYW0geFBvcyDlvZPliY3pvKDmoIfkvY3nva5cbiAgICovXG4gIHByaXZhdGUgZ2V0Q3VycmVudE1vdXNlTW92ZVBvc2l0aW9uVmFsdWUoXG4gICAgZGF0YTogQ3VycmVudFBvc2l0aW9uSXRlbVtdLFxuICAgIHhQb3M6IG51bWJlcixcbiAgKSB7XG4gICAgbGV0IHJlc3VsdDogQ3VycmVudFBvc2l0aW9uSXRlbTtcbiAgICBmb3IgKGNvbnN0IFssIHBvc2l0aW9uXSBvZiBkYXRhLmVudHJpZXMoKSkge1xuICAgICAgaWYgKHhQb3MgPj0gcG9zaXRpb24ueDEgJiYgeFBvcyA8PSBwb3NpdGlvbi54Mikge1xuICAgICAgICByZXN1bHQgPSBwb3NpdGlvbjtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICog6K6h566X6ZSa54K5IHgg5L2N572uXG4gICAqIOW9k+WJjSBiYXIg5pWw5o2uIHgg5L2N572uICsg5b2T5YmNIGJhciDlrr3luqbnmoTkuIDoiKxcbiAgICogQHBhcmFtIGN1cnJQb3NpdGlvbiDlvZPliY3pvKDmoIfnp7vlhaXnmoRiYXIg5pWw5o2uXG4gICAqL1xuICBwcml2YXRlIGdldEJhclhBbmNob3JQb3MoY3VyclBvc2l0aW9uOiBDdXJyZW50UG9zaXRpb25JdGVtKSB7XG4gICAgY29uc3QgYmFuZHdpZHRoID0gdGhpcy50eXBlU3RhbmRhcmRcbiAgICAgID8gdGhpcy5jb250ZXh0U2VydmljZS5iYXJJbm5lclNjYWxlKCkuYmFuZHdpZHRoKCkgLyAyXG4gICAgICA6ICg8U2NhbGVCYW5kPHN0cmluZz4+dGhpcy5jb250ZXh0U2VydmljZS54KS5iYW5kd2lkdGgoKSAvIDI7XG4gICAgdGhpcy5hbmNob3JQb3MgPSB0aGlzLmNvbnRleHRTZXJ2aWNlLmhvcml6b250YWxcbiAgICAgID8gTWF0aC5hYnMoXG4gICAgICAgICAgdGhpcy5nZXRWZXJ0aWNhbEJhckhlaWdodChcbiAgICAgICAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UueFNlcmllc1ZhbHVlW2N1cnJQb3NpdGlvbi5pbmRleF0gYXMgc3RyaW5nLFxuICAgICAgICAgICAgY3VyclBvc2l0aW9uLFxuICAgICAgICAgICkgLyAyLFxuICAgICAgICApXG4gICAgICA6IGN1cnJQb3NpdGlvbi54MSArIGJhbmR3aWR0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiDorqHnrpfplJrngrkgeSDkvY3nva5cbiAgICog5rC05bmz77ya5b2T5YmNIGJhciDmlbDmja4geCDkvY3nva5cbiAgICog5Z6C55u077ya5oC76auY5bqmIC0gYmFyIOmrmOW6piDvvIjpnIDopoHlhYjorqHnrpflh7ogYmFy6auY5bqm77yJXG4gICAqL1xuICBwcml2YXRlIGdldEJhcllBbmNob3JQb3MoY3VyclBvc2l0aW9uOiBDdXJyZW50UG9zaXRpb25JdGVtKSB7XG4gICAgdGhpcy5hbmNob3JZID0gdGhpcy5jb250ZXh0U2VydmljZS5ob3Jpem9udGFsXG4gICAgICA/IGN1cnJQb3NpdGlvbi54MVxuICAgICAgOiB0aGlzLnZpZXcuaGVpZ2h0IC0gdGhpcy5hbmNob3JIZWlnaHQ7XG4gIH1cblxuICBwcml2YXRlIHNob3dUb29sdGlwKCkge1xuICAgIGlmICghdGhpcy5hdWlUb29sdGlwUmVmPy5pc0NyZWF0ZWQpIHtcbiAgICAgIHRoaXMuYXVpVG9vbHRpcFJlZj8uc2hvdygpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuaGFja2VkKSB7XG4gICAgICB0aGlzLmhhY2tPdmVybGF5UGFuZVN0eWxlKCdub25lJyk7XG4gICAgfVxuICAgIHRoaXMuaGFja2VkID0gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgaGlkZVRvb2x0aXAoKSB7XG4gICAgdGhpcy5oYWNrZWQgPSBmYWxzZTtcbiAgICB0aGlzLmhhY2tPdmVybGF5UGFuZVN0eWxlKCdhdXRvJyk7XG4gICAgdGhpcy5hdWlUb29sdGlwUmVmPy5oaWRlKCk7XG4gIH1cblxuICBwcml2YXRlIGxpbWl0TWF4Q29udGV4dChjb250ZXh0OiBDb250ZXh0SXRlbVtdLCBsaW1pdCA9IDE1KSB7XG4gICAgY29uc3QgdmFsdWVzID0gY29udGV4dC5zbGljZSgwLCBsaW1pdCk7XG4gICAgY29uc3QgZXhpc3RBY3RpdmUgPSB2YWx1ZXMuc29tZShpdGVtID0+IGl0ZW0ubmFtZSA9PT0gdGhpcy5hY3RpdmVMZWdlbmQpO1xuICAgIGlmICghZXhpc3RBY3RpdmUgJiYgdGhpcy5hY3RpdmVMZWdlbmQpIHtcbiAgICAgIGNvbnN0IGRhdGEgPSBjb250ZXh0LmZpbmQoaXRlbSA9PiBpdGVtLm5hbWUgPT09IHRoaXMuYWN0aXZlTGVnZW5kKTtcbiAgICAgIHRoaXMuYWN0aXZlTGVnZW5kID0gJyc7XG4gICAgICByZXR1cm4gZGF0YSA/IFsuLi52YWx1ZXMuc2xpY2UoMCwgbGltaXQgLSAxKSwgZGF0YV0gOiB2YWx1ZXM7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZXM7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JCQuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPHN2ZzpnXG4gIFthdHRyLm9wYWNpdHldPVwiYW5jaG9yT3BhY2l0eVwiXG4gICpuZ0lmPVwiIWlzQmFuZFwiXG4+XG4gIDxzdmc6Y2lyY2xlXG4gICAgW2F0dHIudmlzaWJpbGl0eV09XCJcbiAgICAgIGNvbnRleHRTZXJ2aWNlLmRpc2FibGVkTGVnZW5kLmhhcyhpdGVtLm5hbWUpID8gJ2hpZGRlbicgOiAnJ1xuICAgIFwiXG4gICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdG9vbHRpcENvbnRleHQ/LnZhbHVlc1wiXG4gICAgcj1cIjIuNVwiXG4gICAgW2F0dHIuc3Ryb2tlXT1cIml0ZW0uY29sb3JcIlxuICAgIHN0cm9rZS13aWR0aD1cIjFcIlxuICAgIGZpbGw9XCIjZmZmXCJcbiAgICBbYXR0ci5jeF09XCJhbmNob3JQb3NcIlxuICAgIFthdHRyLmN5XT1cIml0ZW0ueSA/IChpdGVtLnkgfCBwdXJlOiBjb250ZXh0U2VydmljZS55KSB8fCAwIDogMTAwMFwiXG4gID48L3N2ZzpjaXJjbGU+XG48L3N2ZzpnPlxuXG48c3ZnOnJlY3RcbiAgc3Ryb2tlPVwiIzk5OVwiXG4gIFthdHRyLnhdPVwiYW5jaG9yUG9zXCJcbiAgW2F0dHIudmlzaWJpbGl0eV09XCJhbmNob3JWaXNpYmlsaXR5XCJcbiAgW2F0dHIueV09XCJhbmNob3JZXCJcbiAgW2F0dHIud2lkdGhdPVwiMC41XCJcbiAgW2F0dHIuaGVpZ2h0XT1cImFuY2hvckhlaWdodFwiXG4gICN0b29sdGlwPVwiYXVpVG9vbHRpcFwiXG4gIFthdHRyLm9wYWNpdHldPVwiYW5jaG9yT3BhY2l0eVwiXG4gIFthdWlUb29sdGlwXT1cInRvb2x0aXBUZW1wbGF0ZSB8fCBkZWZhdWx0VG9vbHRpcFRlbXBsYXRlXCJcbiAgW2F1aVRvb2x0aXBDb250ZXh0XT1cInsgY29udGV4dDogdG9vbHRpcENvbnRleHQgfVwiXG4gIFthdWlUb29sdGlwRGlzYWJsZWRdPVwiYW5jaG9yVmlzaWJpbGl0eVwiXG4gIGF1aVRvb2x0aXBUcmlnZ2VyPVwibWFudWFsXCJcbiAgW2F1aVRvb2x0aXBQb3NpdGlvbl09XCJ0eXBlU3RhbmRhcmQgJiYgaXNCYW5kID8gJ3RvcCcgOiAnc3RhcnQnXCJcbiAgYXVpVG9vbHRpcENsYXNzPVwidG9vbHRpcENsYXNzXCJcbi8+XG5cbjxuZy10ZW1wbGF0ZVxuICAjZGVmYXVsdFRvb2x0aXBUZW1wbGF0ZVxuICBsZXQtY29udGV4dD1cImNvbnRleHRcIlxuPlxuICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRpdGxlVGVtcGxhdGUgfHwgZGVmYXVsdFRpdGxlVGVtcGxhdGVcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBjb250ZXh0OiBjb250ZXh0IH1cIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb250ZXh0XCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInBvaW50VGVtcGxhdGUgfHwgZGVmYXVsdFBvaW50VGVtcGxhdGVcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiY29udGV4dCB8IHB1cmU6IG1lcmdlUG9pbnRDb250ZXh0XCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBzdHlsZT1cInBvc2l0aW9uOiBhYnNvbHV0ZTsgcG9pbnRlci1ldmVudHM6IG5vbmU7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCVcIlxuICA+PC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgI2RlZmF1bHRUaXRsZVRlbXBsYXRlXG4gIGxldC1jb250ZXh0PVwiY29udGV4dFwiXG4+XG4gIHt7XG4gICAgdGl0bGVUcmFuc2xhdGlvblxuICAgICAgPyAoY29udGV4dD8udGl0bGUgfCB0cmFuc2xhdGU6IG51bGw6dHJ1ZSlcbiAgICAgIDogKGNvbnRleHQ/LnRpdGxlIHwgcHVyZTogaGFuZGxlRGF0ZUZvcm1hdDpkYXRlRm9ybWF0KVxuICB9fVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICNkZWZhdWx0UG9pbnRUZW1wbGF0ZVxuICBsZXQtY29udGV4dD1cImNvbnRleHRcIlxuICBsZXQtc291cmNlPVwic291cmNlXCJcbj5cbiAgPHVsXG4gICAgY2xhc3M9XCJjb250ZXh0LWxpc3RcIlxuICAgIFtjbGFzcy5jb2x1bW4tbGF5b3V0XT1cImNvbHVtbkxheW91dFwiXG4gID5cbiAgICA8bGlcbiAgICAgIGNsYXNzPVwiY29udGV4dC1pdGVtXCJcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbnRleHQ7IHRyYWNrQnk6IGl0ZW1UcmFja0J5XCJcbiAgICAgIFtjbGFzcy5hY3RpdmVdPVwiaXRlbT8uYWN0aXZlXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwibGVmdFwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwiaXRlbS1pY29uXCJcbiAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJpdGVtLmNvbG9yXCJcbiAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpdGVtLW5hbWVcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicG9pbnROYW1lVGVtcGxhdGU7IGVsc2UgZWxzZVRlbXBsYXRlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInBvaW50TmFtZVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgY29udGV4dDogaXRlbSB9XCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VUZW1wbGF0ZT5cbiAgICAgICAgICAgIHt7IHRyYW5zbGF0aW9uID8gKGl0ZW0ubmFtZSB8IHRyYW5zbGF0ZToge306dHJ1ZSkgOiBpdGVtLm5hbWUgfX1cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29sdW1uTGF5b3V0XCI+OiA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cIml0ZW0tcHJlZml4XCJcbiAgICAgICAgICAqbmdJZj1cInZhbHVlUHJlZml4XCJcbiAgICAgICAgICA+e3sgdmFsdWVQcmVmaXggfX08L3NwYW5cbiAgICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIml0ZW0tdmFsdWVcIj57eyBpdGVtIHwgcHVyZTogcG9pbnRGb3JtYXQgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJpdGVtLXN1ZmZpeFwiXG4gICAgICAgICAgKm5nSWY9XCJ2YWx1ZVN1ZmZpeFwiXG4gICAgICAgICAgPnt7IHZhbHVlU3VmZml4IHwgcHVyZTogdG9vbHRpcFN1ZmZpeEZvcm1hdCB9fTwvc3BhblxuICAgICAgICA+XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICA8L3VsPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -128,4 +128,4 @@ __decorate([
|
|
|
128
128
|
type: ViewChild,
|
|
129
129
|
args: ['resourceForm', { static: false }]
|
|
130
130
|
}] }); })();
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1mb3JtLWNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL2Fic3RyYWN0L2Jhc2UtZm9ybS1jb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxPQUFPLEVBQ0wsYUFBYSxFQUNiLGdCQUFnQixHQUNqQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFFakQ7OztHQUdHO0FBRUgsTUFBTSxPQUFnQixpQkFBaUI7SUFpQ3JDLFlBQVksUUFBa0I7UUEvQjlCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFXakIsc0JBQWlCLEdBQUcsZ0JBQWdCLENBQUM7UUFDckMsa0JBQWEsR0FBRyxhQUFhLENBQUM7UUFDOUIsYUFBUSxHQUFrQixJQUFJLENBQUM7UUFDL0IsZUFBVSxHQUFHLEtBQUssQ0FBQztRQWFULGlCQUFZ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QGFsYXVkYS91aSc7XG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlkZW50aXR5IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgY3JlYXRlQWN0aW9ucyxcbiAgeWFtbFdyaXRlT3B0aW9ucyxcbn0gZnJvbSAnLi4vLi4vY29kZS9jb2RlLWVkaXRvci1jb25maWdzJztcbmltcG9ydCB7IEludGVyY2VwdERlYWN0aXZhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vcHVibGljLWFwaSc7XG5pbXBvcnQgeyBpc0Vycm9yTWVzc2FnZSB9IGZyb20gJy4uL3R5cGVzL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAnLi4vdXRpbHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBwYXJzZSwgc3RyaW5naWZ5IH0gZnJvbSAnLi4vdXRpbHMveWFtbCc7XG5cbi8qKlxuICogaHR0cDovL2NvbmZsdWVuY2UuYWxhdWRhLmNuL2Rpc3BsYXkvRlJPTi9Jc3N1ZS1Bbmd1bGFyK3JlbGF0ZWRcbiAqIOeUseS6jmZvcm1Db250cm9s5a2Y5Zyo5YaF5a2Y5rOE5ryP6Zeu6aKY77yM5YaF6YOoIGZvcm0g5bGV56S6LemakOiXj+WIh+aNouW6lOW9k+mHh+eUqCBoaWRkZW4g6L+b6KGM5o6n5Yi2XG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VGb3JtQ29udGFpbmVyPFQgPSBhbnk+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgaXNVcGRhdGUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBpbml0UmVzb3VyY2U6IFQ7XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGluaXRSZXNvdXJjZSQ6IE9ic2VydmFibGU8VD47XG5cbiAgQFZpZXdDaGlsZCgncmVzb3VyY2VGb3JtJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHByaXZhdGUgcmVhZG9ubHkgbmdGb3JtOiBOZ0Zvcm07XG5cbiAgY29kZUVkaXRvck9wdGlvbnMgPSB5YW1sV3JpdGVPcHRpb25zO1xuICBhY3Rpb25zQ29uZmlnID0gY3JlYXRlQWN0aW9ucztcbiAgZm9ybVZpZXc6ICdVSScgfCAnWUFNTCcgPSAnVUknO1xuICBzdWJtaXR0aW5nID0gZmFsc2U7XG5cbiAgcmVzb3VyY2U6IFQ7XG4gIHlhbWw6IHN0cmluZztcbiAgLy8g5pSv5oyB5bimICfmgaLlpI0nIOeahCBjb2RlRWRpdG9yXG4gIG9yaWdpbmFsWWFtbDogc3RyaW5nO1xuICBmYjogRm9ybUJ1aWxkZXI7XG4gIGludGVyY2VwdERlYWN0aXZhdGU6IEludGVyY2VwdERlYWN0aXZhdGVTZXJ2aWNlO1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBwcm90ZWN0ZWQgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25TZXJ2aWNlO1xuICBwcm90ZWN0ZWQgbG9jYXRpb246IExvY2F0aW9uO1xuICBwcm90ZWN0ZWQgZmlsbFJlc291cmNlOiAocmVzb3VyY2U6IFQpID0+
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1mb3JtLWNvbnRhaW5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9jb3JlL2Fic3RyYWN0L2Jhc2UtZm9ybS1jb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFhLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxPQUFPLEVBQ0wsYUFBYSxFQUNiLGdCQUFnQixHQUNqQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFFakQ7OztHQUdHO0FBRUgsTUFBTSxPQUFnQixpQkFBaUI7SUFpQ3JDLFlBQVksUUFBa0I7UUEvQjlCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFXakIsc0JBQWlCLEdBQUcsZ0JBQWdCLENBQUM7UUFDckMsa0JBQWEsR0FBRyxhQUFhLENBQUM7UUFDOUIsYUFBUSxHQUFrQixJQUFJLENBQUM7UUFDL0IsZUFBVSxHQUFHLEtBQUssQ0FBQztRQWFULGlCQUFZ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QGFsYXVkYS91aSc7XG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlkZW50aXR5IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgY3JlYXRlQWN0aW9ucyxcbiAgeWFtbFdyaXRlT3B0aW9ucyxcbn0gZnJvbSAnLi4vLi4vY29kZS9jb2RlLWVkaXRvci1jb25maWdzJztcbmltcG9ydCB7IEludGVyY2VwdERlYWN0aXZhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vcHVibGljLWFwaSc7XG5pbXBvcnQgeyBpc0Vycm9yTWVzc2FnZSB9IGZyb20gJy4uL3R5cGVzL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAnLi4vdXRpbHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBwYXJzZSwgc3RyaW5naWZ5IH0gZnJvbSAnLi4vdXRpbHMveWFtbCc7XG5cbi8qKlxuICogaHR0cDovL2NvbmZsdWVuY2UuYWxhdWRhLmNuL2Rpc3BsYXkvRlJPTi9Jc3N1ZS1Bbmd1bGFyK3JlbGF0ZWRcbiAqIOeUseS6jmZvcm1Db250cm9s5a2Y5Zyo5YaF5a2Y5rOE5ryP6Zeu6aKY77yM5YaF6YOoIGZvcm0g5bGV56S6LemakOiXj+WIh+aNouW6lOW9k+mHh+eUqCBoaWRkZW4g6L+b6KGM5o6n5Yi2XG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VGb3JtQ29udGFpbmVyPFQgPSBhbnk+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgaXNVcGRhdGUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBpbml0UmVzb3VyY2U6IFQ7XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGluaXRSZXNvdXJjZSQ6IE9ic2VydmFibGU8VD47XG5cbiAgQFZpZXdDaGlsZCgncmVzb3VyY2VGb3JtJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIHByaXZhdGUgcmVhZG9ubHkgbmdGb3JtOiBOZ0Zvcm07XG5cbiAgY29kZUVkaXRvck9wdGlvbnMgPSB5YW1sV3JpdGVPcHRpb25zO1xuICBhY3Rpb25zQ29uZmlnID0gY3JlYXRlQWN0aW9ucztcbiAgZm9ybVZpZXc6ICdVSScgfCAnWUFNTCcgPSAnVUknO1xuICBzdWJtaXR0aW5nID0gZmFsc2U7XG5cbiAgcmVzb3VyY2U6IFQ7XG4gIHlhbWw6IHN0cmluZztcbiAgLy8g5pSv5oyB5bimICfmgaLlpI0nIOeahCBjb2RlRWRpdG9yXG4gIG9yaWdpbmFsWWFtbDogc3RyaW5nO1xuICBmYjogRm9ybUJ1aWxkZXI7XG4gIGludGVyY2VwdERlYWN0aXZhdGU6IEludGVyY2VwdERlYWN0aXZhdGVTZXJ2aWNlO1xuXG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBwcm90ZWN0ZWQgbm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb25TZXJ2aWNlO1xuICBwcm90ZWN0ZWQgbG9jYXRpb246IExvY2F0aW9uO1xuICBwcm90ZWN0ZWQgZmlsbFJlc291cmNlOiAocmVzb3VyY2U6IFQpID0+IFQgPSBpZGVudGl0eTtcblxuICBhYnN0cmFjdCBzdWJtaXQocGFyYW1zPzogdW5rbm93bik6IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgdGhpcy5ub3RpZmljYXRpb24gPSBpbmplY3Rvci5nZXQoTm90aWZpY2F0aW9uU2VydmljZSk7XG4gICAgdGhpcy5sb2NhdGlvbiA9IGluamVjdG9yLmdldChMb2NhdGlvbik7XG4gICAgdGhpcy5mYiA9IGluamVjdG9yLmdldChGb3JtQnVpbGRlcik7XG4gICAgdGhpcy5pbnRlcmNlcHREZWFjdGl2YXRlID0gaW5qZWN0b3IuZ2V0KEludGVyY2VwdERlYWN0aXZhdGVTZXJ2aWNlKTtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHsgcmVzb3VyY2U6IHRoaXMuZmIuY29udHJvbCgnJykgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJlc291cmNlID0gdGhpcy5pbml0UmVzb3VyY2U7XG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgcmVzb3VyY2U6IHRoaXMuaW5pdFJlc291cmNlLFxuICAgIH0pO1xuICB9XG5cbiAgc3dpdGNoRm9ybVZpZXcodmlldzogJ1lBTUwnIHwgJ1VJJykge1xuICAgIGxldCByZXNvdXJjZTogVDtcbiAgICBpZiAodmlldyA9PT0gJ1VJJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmVzb3VyY2UgPSB0aGlzLnlhbWxUb1Jlc291cmNlKHRoaXMueWFtbCk7XG4gICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICByZXNvdXJjZSxcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXNvdXJjZSA9IHRoaXMuZm9ybS5nZXQoJ3Jlc291cmNlJykudmFsdWU7XG4gICAgICB0aGlzLm9yaWdpbmFsWWFtbCA9IHRoaXMueWFtbCA9IHRoaXMucmVzb3VyY2VUb1lhbWwocmVzb3VyY2UpO1xuICAgIH1cbiAgICB0aGlzLnJlc291cmNlID0gcmVzb3VyY2U7XG4gICAgdGhpcy5mb3JtVmlldyA9IHZpZXc7XG4gIH1cblxuICBjYW5jZWwoZXNjYXBlPzogYm9vbGVhbikge1xuICAgIHRoaXMuaW50ZXJjZXB0RGVhY3RpdmF0ZS5iYWNrKGVzY2FwZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY2hlY2tGb3JtKCkge1xuICAgIHRoaXMubmdGb3JtLm9uU3VibWl0KG51bGwpO1xuICAgIGlmICh0aGlzLmZvcm1WaWV3ID09PSAnVUknICYmIHRoaXMubmdGb3JtLmludmFsaWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuZm9ybVZpZXcgPT09ICdZQU1MJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5yZXNvdXJjZSA9IHRoaXMueWFtbFRvUmVzb3VyY2UodGhpcy55YW1sKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCByZXNvdXJjZSA9IHRoaXMuZm9ybS5nZXQoJ3Jlc291cmNlJykudmFsdWUgYXMgVDtcbiAgICB0aGlzLnJlc291cmNlID0gdGhpcy5maWxsUmVzb3VyY2UocmVzb3VyY2UpO1xuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgeWFtbFRvUmVzb3VyY2UoeWFtbDogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBwYXJzZTxUPih5YW1sKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoaXNFcnJvck1lc3NhZ2UoZSkpIHtcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb24uZXJyb3IoZS5tZXNzYWdlKTtcbiAgICAgIH1cbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHJlc291cmNlVG9ZYW1sKHJlc291cmNlOiBUKSB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlc291cmNlKSkge1xuICAgICAgICByZXR1cm4gcmVzb3VyY2VcbiAgICAgICAgICAubWFwKHIgPT4gc3RyaW5naWZ5KHIsIHsgYmxvY2tRdW90ZTogJ2xpdGVyYWwnIH0pKVxuICAgICAgICAgIC5qb2luKCdcXG4tLS1cXHJcXG5cXG4nKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdHJpbmdpZnkocmVzb3VyY2UsIHsgYmxvY2tRdW90ZTogJ2xpdGVyYWwnIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgIHJldHVybiAne30nO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCB1cGRhdGVSZXNvdXJjZShyZXNvdXJjZTogVCkge1xuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHsgcmVzb3VyY2UgfSk7XG4gICAgdGhpcy5yZXNvdXJjZSA9IHJlc291cmNlO1xuICB9XG59XG4iXX0=
|
|
@@ -41,7 +41,7 @@ export class BaseNestedFormControl {
|
|
|
41
41
|
ngAfterViewInit() {
|
|
42
42
|
this.controls.changes
|
|
43
43
|
.pipe(startWith(this.controls), switchMap((controls) => controls.length
|
|
44
|
-
? merge(...controls.toArray().map(control => control.statusChanges))
|
|
44
|
+
? merge(...controls.toArray().map(control => control.statusChanges)).pipe(startWith(null))
|
|
45
45
|
: of(null)), debounceTime(0))
|
|
46
46
|
.subscribe(() => {
|
|
47
47
|
this.onValidatorChange?.();
|
|
@@ -192,4 +192,4 @@ export function copyValue(from, to, mapper = identity) {
|
|
|
192
192
|
const toPath = parsePath(to);
|
|
193
193
|
return (object) => assocPath(toPath, mapper(path(fromPath, object)), object);
|
|
194
194
|
}
|
|
195
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1uZXN0ZWQtZm9ybS1jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvYWJzdHJhY3QvYmFzZS1uZXN0ZWQtZm9ybS1jb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUVMLFNBQVMsRUFDVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLGtCQUFrQixFQUNsQixTQUFTLEVBQ1QsTUFBTSxHQUVQLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNsRSxPQUFPLEVBQ0wsYUFBYSxFQUNiLFNBQVMsRUFDVCxTQUFTLEVBQ1QsT0FBTyxFQUNQLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLGFBQWEsRUFDYixNQUFNLEVBQ04sR0FBRyxFQUNILEdBQUcsRUFDSCxJQUFJLEVBQ0osRUFBRSxHQUNILE1BQU0sTUFBTSxDQUFDOztBQUVkLE1BQU0sVUFBVSx1QkFBdUIsQ0FBVyxFQUNoRCxjQUFjLEdBQUcsS0FBSyxFQUN0QixjQUFjLEdBQUcsS0FBSyxNQUlwQixFQUFFO0lBRUosT0FBTyxNQUFNLGlCQUFrQixTQUFRLHFCQUEyQjtRQUEzRDs7WUFDYyxtQkFBYyxHQUFHLGNBQWMsQ0FBQztZQUNoQyxtQkFBYyxHQUFHLGNBQWMsQ0FBQztRQUNyRCxDQUFDO0tBQUEsQ0FBQztBQUNKLENBQUM7QUFHRCxNQUFNLE9BQU8scUJBQXFCO0lBTWhDLElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lB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LElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssUUFBUSxFQUFFO29CQUNqQyxPQUFPLEdBQUcsQ0FBQztpQkFDWjtnQkFFRCxPQUFPLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBYSxLQUFLLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDakUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2QsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxTQUFTLENBQUMsSUFBVTtJQUMzQixPQUFPLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzNELENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUN2QixJQUFVLEVBQ1YsRUFBUSxFQUNSLFNBQTBCLFFBQVE7SUFFbEMsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3QixPQUFPLENBQUMsTUFBUyxFQUFFLEVBQUUsQ0FDbkIsU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VBdHRyQm9vbGVhbiB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERpcmVjdGl2ZSxcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gIE5nQ29udHJvbCxcbiAgTmdGb3JtLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBhc3NvY1BhdGgsIGlkZW50aXR5LCBtZXJnZURlZXBSaWdodCwgcGF0aCB9IGZyb20gJ3JhbWRhJztcbmltcG9ydCB7XG4gIFJlcGxheVN1YmplY3QsXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxuICBTdWJqZWN0LFxuICB0YWtlVW50aWwsXG4gIGRlYm91bmNlVGltZSxcbiAgbWVyZ2UsXG4gIE9ic2VydmFibGUsXG4gIGNvbWJpbmVMYXRlc3QsXG4gIGZpbHRlcixcbiAgbWFwLFxuICB0YXAsXG4gIHRha2UsXG4gIG9mLFxufSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU5lc3RlZEZvcm1Db250cm9sPFYsIE0gPSBWPih7XG4gIGF1dG9FbWl0Q2hhbmdlID0gZmFsc2UsXG4gIGFzeW5jVmFsaWRhdG9yID0gZmFsc2UsXG59OiB7XG4gIGF1dG9FbWl0Q2hhbmdlPzogYm9vbGVhbjtcbiAgYXN5bmNWYWxpZGF0b3I/OiBib29sZWFuO1xufSA9IHt9KTogLy8gd29ya2Fyb3VuZDogaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC9UeXBlU2NyaXB0L2lzc3Vlcy8zMDM1NVxubmV3ICgpID0+IEJhc2VOZXN0ZWRGb3JtQ29udHJvbDxWLCBNPiB7XG4gIHJldHVybiBjbGFzcyBOZXN0ZWRGb3JtQ29udHJvbCBleHRlbmRzIEJhc2VOZXN0ZWRGb3JtQ29udHJvbDxWLCBNPiB7XG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGF1dG9FbWl0Q2hhbmdlID0gYXV0b0VtaXRDaGFuZ2U7XG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jVmFsaWRhdG9yID0gYXN5bmNWYWxpZGF0b3I7XG4gIH07XG59XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIEJhc2VOZXN0ZWRGb3JtQ29udHJvbDxWLCBNID0gVj5cbiAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG57XG4gIEBWaWV3Q2hpbGRyZW4oTmdDb250cm9sKVxuICBwcm90ZWN0ZWQgY29udHJvbHM6IFF1ZXJ5TGlzdDxOZ0NvbnRyb2w+O1xuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cblxuICBzZXQgZGlzYWJsZWQodmFsOiBib29sZWFuIHwgJycpIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUF0dHJCb29sZWFuKHZhbCk7XG4gIH1cblxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gIG9uVmFsaWRhdG9yQ2hhbmdlOiAoKSA9PiB2b2lkO1xuICBvbkNoYW5nZTogKF86IFYpID0+IHZvaWQ7XG4gIG9uVG91Y2hlZDogKCkgPT4gdm9pZDtcbiAgb25TdWJtaXR0ZWQ6ICgpID0+IHZvaWQ7XG5cbiAgbW9kZWw6IE0gPSBudWxsO1xuICBzdWJtaXR0ZWQgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgYXV0b0VtaXRDaGFuZ2UgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGFzeW5jVmFsaWRhdG9yID0gZmFsc2U7XG4gIHByb3RlY3RlZCBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcm90ZWN0ZWQgZGVzdHJveSQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJvdGVjdGVkIGhvc3RGb3JtID1cbiAgICBpbmplY3QoTmdGb3JtLCB7IG9wdGlvbmFsOiB0cnVlIH0pID8/XG4gICAgaW5qZWN0KEZvcm1Hcm91cERpcmVjdGl2ZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAodGhpcy5ob3N0Rm9ybSkge1xuICAgICAgdGhpcy5ob3N0Rm9ybS5uZ1N1Ym1pdC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc3VibWl0dGVkID0gdGhpcy5ob3N0Rm9ybS5zdWJtaXR0ZWQ7XG4gICAgICAgIHRoaXMub25TdWJtaXR0ZWQ/LigpO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmNvbnRyb2xzLmNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBzdGFydFdpdGgodGhpcy5jb250cm9scyksXG4gICAgICAgIHN3aXRjaE1hcCgoY29udHJvbHM6IFF1ZXJ5TGlzdDxOZ0NvbnRyb2w+KSA9PlxuICAgICAgICAgIGNvbnRyb2xzLmxlbmd0aFxuICAgICAgICAgICAgPyBtZXJnZSguLi5jb250cm9scy50b0FycmF5KCkubWFwKGNvbnRyb2wgPT4gY29udHJvbC5zdGF0dXNDaGFuZ2VzKSlcbiAgICAgICAgICAgIDogb2YobnVsbCksXG4gICAgICAgICksXG4gICAgICAgIGRlYm91bmNlVGltZSgwKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm9uVmFsaWRhdG9yQ2hhbmdlPy4oKTtcbiAgICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuYXV0b0VtaXRDaGFuZ2UpIHtcbiAgICAgIHRoaXMuY29udHJvbHMuY2hhbmdlc1xuICAgICAgICAucGlwZShcbiAgICAgICAgICBzdGFydFdpdGgodGhpcy5jb250cm9scyksXG4gICAgICAgICAgc3dpdGNoTWFwKChjb250cm9sczogUXVlcnlMaXN0PE5nQ29udHJvbD4pID0+XG4gICAgICAgICAgICBtZXJnZSguLi5jb250cm9scy50b0FycmF5KCkubWFwKGNvbnRyb2wgPT4gY29udHJvbC52YWx1ZUNoYW5nZXMpKSxcbiAgICAgICAgICApLFxuICAgICAgICApXG4gICAgICAgIC5waXBlKGRlYm91bmNlVGltZSgwKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5lbWl0TW9kZWwodGhpcy5tb2RlbCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMub25WYWxpZGF0b3JDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChfOiBWKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBWKSB7XG4gICAgdGhpcy5tb2RlbCA9IHRoaXMudmFsdWVJbih2YWx1ZSk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICB2YWxpZGF0ZShcbiAgICBfY29udHJvbD86IEFic3RyYWN0Q29udHJvbCxcbiAgKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgfCBPYnNlcnZhYmxlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB7XG4gICAgY29uc3QgZ2V0RXJyb3JzID0gKCkgPT5cbiAgICAgIHRoaXMuY29udHJvbHM/LnJlZHVjZSgoYWNjLCBjb250cm9sKSA9PiB7XG4gICAgICAgIGlmIChjb250cm9sLmVycm9ycykge1xuICAgICAgICAgIHJldHVybiBtZXJnZURlZXBSaWdodChcbiAgICAgICAgICAgIGFjYyxcbiAgICAgICAgICAgIGNvbnRyb2wubmFtZSA/IHsgW2NvbnRyb2wubmFtZV06IGNvbnRyb2wuZXJyb3JzIH0gOiBjb250cm9sLmVycm9ycyxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCB7fSBhcyBWYWxpZGF0aW9uRXJyb3JzKTtcblxuICAgIHJldHVybiB0aGlzLmFzeW5jVmFsaWRhdG9yXG4gICAgICA/IGNvbWJpbmVMYXRlc3QoXG4gICAgICAgICAgKHRoaXMuY29udHJvbHM/LnRvQXJyYXkoKSA/PyBbXSkubWFwKGNvbnRyb2wgPT5cbiAgICAgICAgICAgIGNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aChjb250cm9sLnN0YXR1cykpLFxuICAgICAgICAgICksXG4gICAgICAgICkucGlwZShcbiAgICAgICAgICBkZWJvdW5jZVRpbWUoMCksXG4gICAgICAgICAgZmlsdGVyKFxuICAgICAgICAgICAgc3RhdHVzZXMgPT5cbiAgICAgICAgICAgICAgc3RhdHVzZXMuaW5jbHVkZXMoJ0lOVkFMSUQnKSB8fCAhc3RhdHVzZXMuaW5jbHVkZXMoJ1BFTkRJTkcnKSxcbiAgICAgICAgICApLFxuICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgbWFwKCgpID0+IGdldEVycm9ycygpKSxcbiAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICAgIDogZ2V0RXJyb3JzKCk7XG4gIH1cblxuICBlbWl0TW9kZWwobW9kZWw6IE0gPSB0aGlzLm1vZGVsKSB7XG4gICAgdGhpcy5tb2RlbCA9IG1vZGVsO1xuICAgIHRoaXMuZW1pdFZhbHVlKHRoaXMubW9kZWxPdXQodGhpcy5tb2RlbCkpO1xuICB9XG5cbiAgZW1pdFZhbHVlKHZhbHVlOiBWKSB7XG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCB2YWx1ZUluKHZhbHVlOiBWKTogTSB7XG4gICAgcmV0dXJuIHZhbHVlIGFzIGFueTtcbiAgfVxuXG4gIHByb3RlY3RlZCBtb2RlbE91dChtb2RlbDogTSk6IFYge1xuICAgIHJldHVybiBtb2RlbCBhcyBhbnk7XG4gIH1cbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIEJhc2VOZXN0ZWRGb3JtQ29udHJvbH0gaW5zdGVhZC5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgQmFzZU5lc3RlZEZvcm1Db250cm9sUHVyZTxWLCBNID0gVj4gZXh0ZW5kcyBCYXNlTmVzdGVkRm9ybUNvbnRyb2w8XG4gIFYsXG4gIE1cbj4ge1xuICBtb2RlbCQgPSBuZXcgUmVwbGF5U3ViamVjdDxNPigxKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5tb2RlbCQuc3Vic2NyaWJlKG1vZGVsID0+IHtcbiAgICAgIHRoaXMubW9kZWwgPSBtb2RlbDtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogVikge1xuICAgIHRoaXMubW9kZWwkLm5leHQodGhpcy52YWx1ZUluKHZhbHVlKSk7XG4gIH1cblxuICBvdmVycmlkZSBlbWl0VmFsdWUodmFsdWU6IFYpIHtcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkge1xuICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICB0aGlzLndyaXRlVmFsdWUodmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG50eXBlIFBhdGggPSBzdHJpbmcgfCBBcnJheTxzdHJpbmcgfCBudW1iZXI+O1xuXG5pbnRlcmZhY2UgTWFwcGVyIHtcbiAgW3g6IHN0cmluZ106IE1hcHBlciB8IFBhdGg7XG59XG5cbnR5cGUgUGF0aFR1cGxlID0gW3N0cmluZ1tdLCBzdHJpbmdbXV07XG5cbmZ1bmN0aW9uIGNvbGxlY3RQYXRocyhtYXBwZXI6IE1hcHBlciwgcGFyZW50OiBzdHJpbmdbXSk6IFBhdGhUdXBsZVtdIHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKG1hcHBlcikucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIGNvbnN0IHBhdGggPSB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnID8gdmFsdWUuc3BsaXQoJy4nKSA6IHZhbHVlO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHBhdGgpKSB7XG4gICAgICBhY2MucHVzaChbcGFyZW50LmNvbmNhdChrZXkpLCBwYXRoXSk7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH1cbiAgICByZXR1cm4gYWNjLmNvbmNhdChjb2xsZWN0UGF0aHMocGF0aCwgcGFyZW50LmNvbmNhdChrZXkpKSk7XG4gIH0sIFtdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGFUcmFuc2ZlcjxcbiAgUyBleHRlbmRzIG9iamVjdCxcbiAgVCBleHRlbmRzIG9iamVjdCxcbiAgTSBleHRlbmRzIFJlY29yZDxrZXlvZiBULCBQYXRoIHwgTWFwcGVyPiA9IFJlY29yZDxrZXlvZiBULCBQYXRoIHwgTWFwcGVyPixcbj4obWFwcGVyOiBNKTogWyhzb3VyY2U6IFMpID0+IFQsICh0YXJnZXQ6IFQpID0+IFNdIHtcbiAgY29uc3QgdHVwbGVzID0gY29sbGVjdFBhdGhzKG1hcHBlciwgW10pO1xuICBsZXQgX3NvdXJjZTogUztcbiAgbGV0IF90YXJnZXQ6IFQgPSB7fSBhcyBUO1xuICByZXR1cm4gW1xuICAgIHNvdXJjZSA9PiB7XG4gICAgICBfc291cmNlID0gc291cmNlO1xuICAgICAgcmV0dXJuIHR1cGxlcy5yZWR1Y2UoKGFjYywgW2xlZnQsIHJpZ2h0XSkgPT4ge1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHBhdGg8dW5rbm93bj4ocmlnaHQsIHNvdXJjZSk7XG5cbiAgICAgICAgaWYgKHBhdGgobGVmdCwgYWNjKSA9PT0gbmV3VmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChfdGFyZ2V0ID0gYXNzb2NQYXRoPHVua25vd24sIFQ+KGxlZnQsIG5ld1ZhbHVlLCBhY2MpKTtcbiAgICAgIH0sIF90YXJnZXQpO1xuICAgIH0sXG4gICAgdGFyZ2V0ID0+IHtcbiAgICAgIF90YXJnZXQgPSB0YXJnZXQ7XG4gICAgICByZXR1cm4gdHVwbGVzLnJlZHVjZSgoYWNjLCBbbGVmdCwgcmlnaHRdKSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gcGF0aDx1bmtub3duPihsZWZ0LCB0YXJnZXQpO1xuXG4gICAgICAgIGlmIChwYXRoKHJpZ2h0LCBhY2MpID09PSBuZXdWYWx1ZSkge1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKF9zb3VyY2UgPSBhc3NvY1BhdGg8dW5rbm93biwgUz4ocmlnaHQsIG5ld1ZhbHVlLCBhY2MpKTtcbiAgICAgIH0sIF9zb3VyY2UpO1xuICAgIH0sXG4gIF07XG59XG5cbmZ1bmN0aW9uIHBhcnNlUGF0aChwYXRoOiBQYXRoKTogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB7XG4gIHJldHVybiB0eXBlb2YgcGF0aCA9PT0gJ3N0cmluZycgPyBwYXRoLnNwbGl0KCcuJykgOiBwYXRoO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29weVZhbHVlPFQgZXh0ZW5kcyBvYmplY3Q+KFxuICBmcm9tOiBQYXRoLFxuICB0bzogUGF0aCxcbiAgbWFwcGVyOiAodjogYW55KSA9PiBhbnkgPSBpZGVudGl0eSxcbikge1xuICBjb25zdCBmcm9tUGF0aCA9IHBhcnNlUGF0aChmcm9tKTtcbiAgY29uc3QgdG9QYXRoID0gcGFyc2VQYXRoKHRvKTtcbiAgcmV0dXJuIChvYmplY3Q6IFQpID0+XG4gICAgYXNzb2NQYXRoKHRvUGF0aCwgbWFwcGVyKHBhdGgoZnJvbVBhdGgsIG9iamVjdCkpLCBvYmplY3QpO1xufVxuIl19
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1uZXN0ZWQtZm9ybS1jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2NvcmUvYWJzdHJhY3QvYmFzZS1uZXN0ZWQtZm9ybS1jb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMvQyxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUVMLFNBQVMsRUFDVCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdMLGtCQUFrQixFQUNsQixTQUFTLEVBQ1QsTUFBTSxHQUVQLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNsRSxPQUFPLEVBQ0wsYUFBYSxFQUNiLFNBQVMsRUFDVCxTQUFTLEVBQ1QsT0FBTyxFQUNQLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLGFBQWEsRUFDYixNQUFNLEVBQ04sR0FBRyxFQUNILEdBQUcsRUFDSCxJQUFJLEVBQ0osRUFBRSxHQUNILE1BQU0sTUFBTSxDQUFDOztBQUVkLE1BQU0sVUFBVSx1QkFBdUIsQ0FBVyxFQUNoRCxjQUFjLEdBQUcsS0FBSyxFQUN0QixjQUFjLEdBQUcsS0FBSyxNQUlwQixFQUFFO0lBRUosT0FBTyxNQUFNLGlCQUFrQixTQUFRLHFCQUEyQjtRQUEzRDs7WUFDYyxtQkFBYyxHQUFHLGNBQWMsQ0FBQztZQUNoQyxtQkFBYyxHQUFHLGNBQWMsQ0FBQztRQUNyRCxDQUFDO0tBQUEsQ0FBQztBQUNKLENBQUM7QUFHRCxNQUFNLE9BQU8scUJBQXFCO0lBTWhDLElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lB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Q0FBVSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBRTdDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSyxRQUFRLEVBQUU7b0JBQ2pDLE9BQU8sR0FBRyxDQUFDO2lCQUNaO2dCQUVELE9BQU8sQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFhLEtBQUssRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNqRSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDZCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBQyxJQUFVO0lBQzNCLE9BQU8sT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDM0QsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQ3ZCLElBQVUsRUFDVixFQUFRLEVBQ1IsU0FBMEIsUUFBUTtJQUVsQyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLE9BQU8sQ0FBQyxNQUFTLEVBQUUsRUFBRSxDQUNuQixTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDOUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUF0dHJCb29sZWFuIH0gZnJvbSAnQGFsYXVkYS91aSc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFF1ZXJ5TGlzdCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIEZvcm1Hcm91cERpcmVjdGl2ZSxcbiAgTmdDb250cm9sLFxuICBOZ0Zvcm0sXG4gIFZhbGlkYXRpb25FcnJvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGFzc29jUGF0aCwgaWRlbnRpdHksIG1lcmdlRGVlcFJpZ2h0LCBwYXRoIH0gZnJvbSAncmFtZGEnO1xuaW1wb3J0IHtcbiAgUmVwbGF5U3ViamVjdCxcbiAgc3RhcnRXaXRoLFxuICBzd2l0Y2hNYXAsXG4gIFN1YmplY3QsXG4gIHRha2VVbnRpbCxcbiAgZGVib3VuY2VUaW1lLFxuICBtZXJnZSxcbiAgT2JzZXJ2YWJsZSxcbiAgY29tYmluZUxhdGVzdCxcbiAgZmlsdGVyLFxuICBtYXAsXG4gIHRhcCxcbiAgdGFrZSxcbiAgb2YsXG59IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTmVzdGVkRm9ybUNvbnRyb2w8ViwgTSA9IFY+KHtcbiAgYXV0b0VtaXRDaGFuZ2UgPSBmYWxzZSxcbiAgYXN5bmNWYWxpZGF0b3IgPSBmYWxzZSxcbn06IHtcbiAgYXV0b0VtaXRDaGFuZ2U/OiBib29sZWFuO1xuICBhc3luY1ZhbGlkYXRvcj86IGJvb2xlYW47XG59ID0ge30pOiAvLyB3b3JrYXJvdW5kOiBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvaXNzdWVzLzMwMzU1XG5uZXcgKCkgPT4gQmFzZU5lc3RlZEZvcm1Db250cm9sPFYsIE0+IHtcbiAgcmV0dXJuIGNsYXNzIE5lc3RlZEZvcm1Db250cm9sIGV4dGVuZHMgQmFzZU5lc3RlZEZvcm1Db250cm9sPFYsIE0+IHtcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXV0b0VtaXRDaGFuZ2UgPSBhdXRvRW1pdENoYW5nZTtcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmNWYWxpZGF0b3IgPSBhc3luY1ZhbGlkYXRvcjtcbiAgfTtcbn1cblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgQmFzZU5lc3RlZEZvcm1Db250cm9sPFYsIE0gPSBWPlxuICBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3JcbntcbiAgQFZpZXdDaGlsZHJlbihOZ0NvbnRyb2wpXG4gIHByb3RlY3RlZCBjb250cm9sczogUXVlcnlMaXN0PE5nQ29udHJvbD47XG5cbiAgQElucHV0KClcbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgfVxuXG4gIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4gfCAnJykge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQXR0ckJvb2xlYW4odmFsKTtcbiAgfVxuXG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XG5cbiAgb25WYWxpZGF0b3JDaGFuZ2U6ICgpID0+IHZvaWQ7XG4gIG9uQ2hhbmdlOiAoXzogVikgPT4gdm9pZDtcbiAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkO1xuICBvblN1Ym1pdHRlZDogKCkgPT4gdm9pZDtcblxuICBtb2RlbDogTSA9IG51bGw7XG4gIHN1Ym1pdHRlZCA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBhdXRvRW1pdENoYW5nZSA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgYXN5bmNWYWxpZGF0b3IgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByb3RlY3RlZCBkZXN0cm95JCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcm90ZWN0ZWQgaG9zdEZvcm0gPVxuICAgIGluamVjdChOZ0Zvcm0sIHsgb3B0aW9uYWw6IHRydWUgfSkgPz9cbiAgICBpbmplY3QoRm9ybUdyb3VwRGlyZWN0aXZlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGlmICh0aGlzLmhvc3RGb3JtKSB7XG4gICAgICB0aGlzLmhvc3RGb3JtLm5nU3VibWl0LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5zdWJtaXR0ZWQgPSB0aGlzLmhvc3RGb3JtLnN1Ym1pdHRlZDtcbiAgICAgICAgdGhpcy5vblN1Ym1pdHRlZD8uKCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuY29udHJvbHMuY2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aCh0aGlzLmNvbnRyb2xzKSxcbiAgICAgICAgc3dpdGNoTWFwKChjb250cm9sczogUXVlcnlMaXN0PE5nQ29udHJvbD4pID0+XG4gICAgICAgICAgY29udHJvbHMubGVuZ3RoXG4gICAgICAgICAgICA/IG1lcmdlKFxuICAgICAgICAgICAgICAgIC4uLmNvbnRyb2xzLnRvQXJyYXkoKS5tYXAoY29udHJvbCA9PiBjb250cm9sLnN0YXR1c0NoYW5nZXMpLFxuICAgICAgICAgICAgICApLnBpcGUoc3RhcnRXaXRoKG51bGwpKVxuICAgICAgICAgICAgOiBvZihudWxsKSxcbiAgICAgICAgKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKDApLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMub25WYWxpZGF0b3JDaGFuZ2U/LigpO1xuICAgICAgfSk7XG5cbiAgICBpZiAodGhpcy5hdXRvRW1pdENoYW5nZSkge1xuICAgICAgdGhpcy5jb250cm9scy5jaGFuZ2VzXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHN0YXJ0V2l0aCh0aGlzLmNvbnRyb2xzKSxcbiAgICAgICAgICBzd2l0Y2hNYXAoKGNvbnRyb2xzOiBRdWVyeUxpc3Q8TmdDb250cm9sPikgPT5cbiAgICAgICAgICAgIG1lcmdlKC4uLmNvbnRyb2xzLnRvQXJyYXkoKS5tYXAoY29udHJvbCA9PiBjb250cm9sLnZhbHVlQ2hhbmdlcykpLFxuICAgICAgICAgICksXG4gICAgICAgIClcbiAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDApKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmVtaXRNb2RlbCh0aGlzLm1vZGVsKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5vblZhbGlkYXRvckNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKF86IFYpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCkge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IFYpIHtcbiAgICB0aGlzLm1vZGVsID0gdGhpcy52YWx1ZUluKHZhbHVlKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHZhbGlkYXRlKFxuICAgIF9jb250cm9sPzogQWJzdHJhY3RDb250cm9sLFxuICApOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB8IE9ic2VydmFibGU8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+IHtcbiAgICBjb25zdCBnZXRFcnJvcnMgPSAoKSA9PlxuICAgICAgdGhpcy5jb250cm9scz8ucmVkdWNlKChhY2MsIGNvbnRyb2wpID0+IHtcbiAgICAgICAgaWYgKGNvbnRyb2wuZXJyb3JzKSB7XG4gICAgICAgICAgcmV0dXJuIG1lcmdlRGVlcFJpZ2h0KFxuICAgICAgICAgICAgYWNjLFxuICAgICAgICAgICAgY29udHJvbC5uYW1lID8geyBbY29udHJvbC5uYW1lXTogY29udHJvbC5lcnJvcnMgfSA6IGNvbnRyb2wuZXJyb3JzLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9IGFzIFZhbGlkYXRpb25FcnJvcnMpO1xuXG4gICAgcmV0dXJuIHRoaXMuYXN5bmNWYWxpZGF0b3JcbiAgICAgID8gY29tYmluZUxhdGVzdChcbiAgICAgICAgICAodGhpcy5jb250cm9scz8udG9BcnJheSgpID8/IFtdKS5tYXAoY29udHJvbCA9PlxuICAgICAgICAgICAgY29udHJvbC5zdGF0dXNDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKGNvbnRyb2wuc3RhdHVzKSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgIGRlYm91bmNlVGltZSgwKSxcbiAgICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgICBzdGF0dXNlcyA9PlxuICAgICAgICAgICAgICBzdGF0dXNlcy5pbmNsdWRlcygnSU5WQUxJRCcpIHx8ICFzdGF0dXNlcy5pbmNsdWRlcygnUEVORElORycpLFxuICAgICAgICAgICksXG4gICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICBtYXAoKCkgPT4gZ2V0RXJyb3JzKCkpLFxuICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgOiBnZXRFcnJvcnMoKTtcbiAgfVxuXG4gIGVtaXRNb2RlbChtb2RlbDogTSA9IHRoaXMubW9kZWwpIHtcbiAgICB0aGlzLm1vZGVsID0gbW9kZWw7XG4gICAgdGhpcy5lbWl0VmFsdWUodGhpcy5tb2RlbE91dCh0aGlzLm1vZGVsKSk7XG4gIH1cblxuICBlbWl0VmFsdWUodmFsdWU6IFYpIHtcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkge1xuICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHZhbHVlSW4odmFsdWU6IFYpOiBNIHtcbiAgICByZXR1cm4gdmFsdWUgYXMgYW55O1xuICB9XG5cbiAgcHJvdGVjdGVkIG1vZGVsT3V0KG1vZGVsOiBNKTogViB7XG4gICAgcmV0dXJuIG1vZGVsIGFzIGFueTtcbiAgfVxufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSB7QGxpbmsgQmFzZU5lc3RlZEZvcm1Db250cm9sfSBpbnN0ZWFkLlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBCYXNlTmVzdGVkRm9ybUNvbnRyb2xQdXJlPFYsIE0gPSBWPiBleHRlbmRzIEJhc2VOZXN0ZWRGb3JtQ29udHJvbDxcbiAgVixcbiAgTVxuPiB7XG4gIG1vZGVsJCA9IG5ldyBSZXBsYXlTdWJqZWN0PE0+KDEpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLm1vZGVsJC5zdWJzY3JpYmUobW9kZWwgPT4ge1xuICAgICAgdGhpcy5tb2RlbCA9IG1vZGVsO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBWKSB7XG4gICAgdGhpcy5tb2RlbCQubmV4dCh0aGlzLnZhbHVlSW4odmFsdWUpKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGVtaXRWYWx1ZSh2YWx1ZTogVikge1xuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgIHRoaXMud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbnR5cGUgUGF0aCA9IHN0cmluZyB8IEFycmF5PHN0cmluZyB8IG51bWJlcj47XG5cbmludGVyZmFjZSBNYXBwZXIge1xuICBbeDogc3RyaW5nXTogTWFwcGVyIHwgUGF0aDtcbn1cblxudHlwZSBQYXRoVHVwbGUgPSBbc3RyaW5nW10sIHN0cmluZ1tdXTtcblxuZnVuY3Rpb24gY29sbGVjdFBhdGhzKG1hcHBlcjogTWFwcGVyLCBwYXJlbnQ6IHN0cmluZ1tdKTogUGF0aFR1cGxlW10ge1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMobWFwcGVyKS5yZWR1Y2UoKGFjYywgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgY29uc3QgcGF0aCA9IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyB2YWx1ZS5zcGxpdCgnLicpIDogdmFsdWU7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocGF0aCkpIHtcbiAgICAgIGFjYy5wdXNoKFtwYXJlbnQuY29uY2F0KGtleSksIHBhdGhdKTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfVxuICAgIHJldHVybiBhY2MuY29uY2F0KGNvbGxlY3RQYXRocyhwYXRoLCBwYXJlbnQuY29uY2F0KGtleSkpKTtcbiAgfSwgW10pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGF0YVRyYW5zZmVyPFxuICBTIGV4dGVuZHMgb2JqZWN0LFxuICBUIGV4dGVuZHMgb2JqZWN0LFxuICBNIGV4dGVuZHMgUmVjb3JkPGtleW9mIFQsIFBhdGggfCBNYXBwZXI+ID0gUmVjb3JkPGtleW9mIFQsIFBhdGggfCBNYXBwZXI+LFxuPihtYXBwZXI6IE0pOiBbKHNvdXJjZTogUykgPT4gVCwgKHRhcmdldDogVCkgPT4gU10ge1xuICBjb25zdCB0dXBsZXMgPSBjb2xsZWN0UGF0aHMobWFwcGVyLCBbXSk7XG4gIGxldCBfc291cmNlOiBTO1xuICBsZXQgX3RhcmdldDogVCA9IHt9IGFzIFQ7XG4gIHJldHVybiBbXG4gICAgc291cmNlID0+IHtcbiAgICAgIF9zb3VyY2UgPSBzb3VyY2U7XG4gICAgICByZXR1cm4gdHVwbGVzLnJlZHVjZSgoYWNjLCBbbGVmdCwgcmlnaHRdKSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gcGF0aDx1bmtub3duPihyaWdodCwgc291cmNlKTtcblxuICAgICAgICBpZiAocGF0aChsZWZ0LCBhY2MpID09PSBuZXdWYWx1ZSkge1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKF90YXJnZXQgPSBhc3NvY1BhdGg8dW5rbm93biwgVD4obGVmdCwgbmV3VmFsdWUsIGFjYykpO1xuICAgICAgfSwgX3RhcmdldCk7XG4gICAgfSxcbiAgICB0YXJnZXQgPT4ge1xuICAgICAgX3RhcmdldCA9IHRhcmdldDtcbiAgICAgIHJldHVybiB0dXBsZXMucmVkdWNlKChhY2MsIFtsZWZ0LCByaWdodF0pID0+IHtcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBwYXRoPHVua25vd24+KGxlZnQsIHRhcmdldCk7XG5cbiAgICAgICAgaWYgKHBhdGgocmlnaHQsIGFjYykgPT09IG5ld1ZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoX3NvdXJjZSA9IGFzc29jUGF0aDx1bmtub3duLCBTPihyaWdodCwgbmV3VmFsdWUsIGFjYykpO1xuICAgICAgfSwgX3NvdXJjZSk7XG4gICAgfSxcbiAgXTtcbn1cblxuZnVuY3Rpb24gcGFyc2VQYXRoKHBhdGg6IFBhdGgpOiBBcnJheTxzdHJpbmcgfCBudW1iZXI+IHtcbiAgcmV0dXJuIHR5cGVvZiBwYXRoID09PSAnc3RyaW5nJyA/IHBhdGguc3BsaXQoJy4nKSA6IHBhdGg7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb3B5VmFsdWU8VCBleHRlbmRzIG9iamVjdD4oXG4gIGZyb206IFBhdGgsXG4gIHRvOiBQYXRoLFxuICBtYXBwZXI6ICh2OiBhbnkpID0+IGFueSA9IGlkZW50aXR5LFxuKSB7XG4gIGNvbnN0IGZyb21QYXRoID0gcGFyc2VQYXRoKGZyb20pO1xuICBjb25zdCB0b1BhdGggPSBwYXJzZVBhdGgodG8pO1xuICByZXR1cm4gKG9iamVjdDogVCkgPT5cbiAgICBhc3NvY1BhdGgodG9QYXRoLCBtYXBwZXIocGF0aChmcm9tUGF0aCwgb2JqZWN0KSksIG9iamVjdCk7XG59XG4iXX0=
|