UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

113 lines 24.1 kB
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Output, TemplateRef, ViewChild, } from '@angular/core'; import { ResourceSelectorPopupService } from '../../internals/selector-popup/service'; import { ConfigurableField } from './../../types'; import * as i0 from "@angular/core"; import * as i1 from "../../internals/selector-popup/service"; const _c0 = ["popup"]; const _c1 = (a0, a1) => ({ "acl-resource-selector--active": a0, "acl-resource-selector--lite": a1 }); function ClusterSelectorComponent_aui_icon_3_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelement(0, "aui-icon", 10); } } function ClusterSelectorComponent_aui_icon_4_Template(rf, ctx) { if (rf & 1) { i0.ɵɵelement(0, "aui-icon", 11); } } function ClusterSelectorComponent_ng_template_12_Template(rf, ctx) { if (rf & 1) { const _r2 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "acl-cluster-list", 12); i0.ɵɵlistener("selectItem", function ClusterSelectorComponent_ng_template_12_Template_acl_cluster_list_selectItem_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onSelect($event)); }); i0.ɵɵelementEnd(); } if (rf & 2) { const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵproperty("popupLite", ctx_r2.popupLite)("fields", ctx_r2.fields || ctx_r2.displayFields)("value", ctx_r2.value); } } export class ClusterSelectorComponent { constructor(popupService, cdr, elementRef) { this.popupService = popupService; this.cdr = cdr; this.elementRef = elementRef; this.valueChange = new EventEmitter(); this.displayFields = [ ConfigurableField.Status, ConfigurableField.Time, ]; this.isActive = false; } openPopup() { if (this.isActive) { this.closePopup(); } else { this.isActive = true; this.popupRef = this.popupService.open({ origin: this.elementRef, content: this.popupTemplate, popupLite: this.popupLite, }); this.popupRef.afterClosed().subscribe(() => { this.isActive = false; this.cdr.markForCheck(); }); } } closePopup() { this.isActive = false; this.popupRef.close(); } onSelect(item) { this.value = item.name; this.valueChange.emit(item.name); this.closePopup(); } static { this.ɵfac = function ClusterSelectorComponent_Factory(t) { return new (t || ClusterSelectorComponent)(i0.ɵɵdirectiveInject(i1.ResourceSelectorPopupService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef)); }; } static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ClusterSelectorComponent, selectors: [["acl-cluster-selector"]], viewQuery: function ClusterSelectorComponent_Query(rf, ctx) { if (rf & 1) { i0.ɵɵviewQuery(_c0, 7); } if (rf & 2) { let _t; i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.popupTemplate = _t.first); } }, inputs: { value: "value", popupLite: "popupLite", fields: "fields" }, outputs: { valueChange: "valueChange" }, decls: 14, vars: 10, consts: [["popup", ""], [1, "acl-resource-selector", 3, "click", "ngClass"], [1, "acl-resource-selector__item", "project"], [1, "icon-wrapper", "tw-flex"], ["icon", "bicolor:server", 4, "ngIf"], ["icon", "prod:cluster", 4, "ngIf"], [1, "with-colon"], [1, "selected-name", "text-truncate"], [1, "acl-resource-selector__arrow"], ["icon", "caret_down_s"], ["icon", "bicolor:server"], ["icon", "prod:cluster"], ["context", "popup", 3, "selectItem", "popupLite", "fields", "value"]], template: function ClusterSelectorComponent_Template(rf, ctx) { if (rf & 1) { const _r1 = i0.ɵɵgetCurrentView(); i0.ɵɵelementStart(0, "div", 1); i0.ɵɵlistener("click", function ClusterSelectorComponent_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.openPopup()); }); i0.ɵɵelementStart(1, "div", 2)(2, "span", 3); i0.ɵɵtemplate(3, ClusterSelectorComponent_aui_icon_3_Template, 1, 0, "aui-icon", 4)(4, ClusterSelectorComponent_aui_icon_4_Template, 1, 0, "aui-icon", 5); i0.ɵɵelementEnd(); i0.ɵɵelementStart(5, "span", 6); i0.ɵɵtext(6); i0.ɵɵpipe(7, "translate"); i0.ɵɵelementEnd(); i0.ɵɵelementStart(8, "span", 7); i0.ɵɵtext(9); i0.ɵɵelementEnd()(); i0.ɵɵelementStart(10, "div", 8); i0.ɵɵelement(11, "aui-icon", 9); i0.ɵɵelementEnd()(); i0.ɵɵtemplate(12, ClusterSelectorComponent_ng_template_12_Template, 1, 3, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor); } if (rf & 2) { i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(7, _c1, ctx.isActive, ctx.popupLite)); i0.ɵɵadvance(3); i0.ɵɵproperty("ngIf", !ctx.popupLite); i0.ɵɵadvance(); i0.ɵɵproperty("ngIf", ctx.popupLite); i0.ɵɵadvance(2); i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 5, "cluster"), " "); i0.ɵɵadvance(3); i0.ɵɵtextInterpolate(ctx.value); } }, 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;color:rgb(var(--aui-color-n-2))}[_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:26px}[_nghost-%COMP%] .acl-resource-selector--lite:hover, [_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:hover aui-icon, [_nghost-%COMP%] .acl-resource-selector--lite:hover .with-colon, [_nghost-%COMP%] .acl-resource-selector--lite:hover .selected-name, [_nghost-%COMP%] .acl-resource-selector--lite:hover .acl-resource-selector__arrow, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active aui-icon, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active .with-colon, [_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 aui-icon, [_nghost-%COMP%] .acl-resource-selector--lite.acl-resource-selector--active:hover .with-colon, [_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 (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 (width <= 1280px){[_nghost-%COMP%] .acl-resource-selector__arrow{margin-left:-4px}}"], changeDetection: 0 }); } } (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ClusterSelectorComponent, [{ type: Component, args: [{ selector: 'acl-cluster-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 class=\"icon-wrapper tw-flex\">\n <aui-icon\n *ngIf=\"!popupLite\"\n icon=\"bicolor:server\"\n ></aui-icon>\n <aui-icon\n *ngIf=\"popupLite\"\n icon=\"prod:cluster\"\n ></aui-icon>\n </span>\n <span class=\"with-colon\">\n {{ 'cluster' | 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-cluster-list\n context=\"popup\"\n [popupLite]=\"popupLite\"\n [fields]=\"fields || displayFields\"\n [value]=\"value\"\n (selectItem)=\"onSelect($event)\"\n ></acl-cluster-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;color:rgb(var(--aui-color-n-2))}: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:26px}:host::ng-deep .acl-resource-selector--lite:hover,: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:hover aui-icon,:host::ng-deep .acl-resource-selector--lite:hover .with-colon,:host::ng-deep .acl-resource-selector--lite:hover .selected-name,:host::ng-deep .acl-resource-selector--lite:hover .acl-resource-selector__arrow,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active aui-icon,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active .with-colon,: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 aui-icon,:host::ng-deep .acl-resource-selector--lite.acl-resource-selector--active:hover .with-colon,: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 (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 (width <= 1280px){:host::ng-deep .acl-resource-selector__arrow{margin-left:-4px}}\n"] }] }], () => [{ type: i1.ResourceSelectorPopupService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], { popupTemplate: [{ type: ViewChild, args: ['popup', { static: true }] }], value: [{ type: Input }], popupLite: [{ type: Input }], fields: [{ type: Input }], valueChange: [{ type: Output }] }); })(); (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ClusterSelectorComponent, { className: "ClusterSelectorComponent" }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9leHBvcnRzL2NsdXN0ZXItc2VsZWN0b3IvY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9leHBvcnRzL2NsdXN0ZXItc2VsZWN0b3IvdGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFdEYsT0FBTyxFQUFFLGlCQUFpQixFQUFnQixNQUFNLGVBQWUsQ0FBQzs7Ozs7O0lDTDFELCtCQUdZOzs7SUFDWiwrQkFHWTs7OztJQWFoQiw0Q0FNQztJQURDLHVOQUFjLHVCQUFnQixLQUFDO0lBQ2hDLGlCQUFtQjs7O0lBRmxCLEFBREEsQUFEQSw0Q0FBdUIsaURBQ1csdUJBQ25COztBRFhuQixNQUFNLE9BQU8sd0JBQXdCO0lBeUJuQyxZQUNtQixZQUEwQyxFQUMxQyxHQUFzQixFQUN0QixVQUFzQjtRQUZ0QixpQkFBWSxHQUFaLFlBQVksQ0FBOEI7UUFDMUMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWR6QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFekMsa0JBQWEsR0FBd0I7WUFDbkMsaUJBQWlCLENBQUMsTUFBTTtZQUN4QixpQkFBaUIsQ0FBQyxJQUFJO1NBQ3ZCLENBQUM7UUFFRixhQUFRLEdBQUcsS0FBSyxDQUFDO0lBUWQsQ0FBQztJQUVKLFNBQVM7UUFDUCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO2dCQUNyQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQ3ZCLE9BQU8sRUFBRSxJQUFJLENBQUMsYUFBYTtnQkFDM0IsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2FBQzFCLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBa0I7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQzt5RkF6RFUsd0JBQXdCO29FQUF4Qix3QkFBd0I7Ozs7Ozs7WUN2QnJDLDhCQU9DO1lBREMsd0lBQVMsZUFBVyxLQUFDO1lBR25CLEFBREYsOEJBQWlELGNBQ1o7WUFLakMsQUFKQSxtRkFHQyxzRUFJQTtZQUNILGlCQUFPO1lBQ1AsK0JBQXlCO1lBQ3ZCLFlBQ0Y7O1lBQUEsaUJBQU87WUFDUCwrQkFBMEM7WUFBQSxZQUFXO1lBQ3ZELEFBRHVELGlCQUFPLEVBQ3hEO1lBQ04sK0JBQTBDO1lBQ3hDLCtCQUF5QztZQUU3QyxBQURFLGlCQUFNLEVBQ0Y7WUFFTiw0SEFBb0I7O1lBM0JsQixpRkFHRTtZQU1LLGVBQWdCO1lBQWhCLHFDQUFnQjtZQUloQixjQUFlO1lBQWYsb0NBQWU7WUFLbEIsZUFDRjtZQURFLGdFQUNGO1lBQzBDLGVBQVc7WUFBWCwrQkFBVzs7O2lGREM1Qyx3QkFBd0I7Y0FOcEMsU0FBUzsyQkFDRSxzQkFBc0IsbUJBR2YsdUJBQXVCLENBQUMsTUFBTTtzSEFJL0MsYUFBYTtrQkFEWixTQUFTO21CQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFJcEMsS0FBSztrQkFESixLQUFLO1lBSU4sU0FBUztrQkFEUixLQUFLO1lBSU4sTUFBTTtrQkFETCxLQUFLO1lBSU4sV0FBVztrQkFEVixNQUFNOztrRkFiSSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUmVzb3VyY2VTZWxlY3RvclBvcHVwUmVmIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL3NlbGVjdG9yLXBvcHVwL3JlZic7XG5pbXBvcnQgeyBSZXNvdXJjZVNlbGVjdG9yUG9wdXBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL3NlbGVjdG9yLXBvcHVwL3NlcnZpY2UnO1xuXG5pbXBvcnQgeyBDb25maWd1cmFibGVGaWVsZCwgRGF0YUl0ZW1CYXNlIH0gZnJvbSAnLi8uLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1jbHVzdGVyLXNlbGVjdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDbHVzdGVyU2VsZWN0b3JDb21wb25lbnQge1xuICBAVmlld0NoaWxkKCdwb3B1cCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHBvcHVwVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KClcbiAgdmFsdWU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwb3B1cExpdGU6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgZmllbGRzOiBDb25maWd1cmFibGVGaWVsZFtdO1xuXG4gIEBPdXRwdXQoKVxuICB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGRpc3BsYXlGaWVsZHM6IENvbmZpZ3VyYWJsZUZpZWxkW10gPSBbXG4gICAgQ29uZmlndXJhYmxlRmllbGQuU3RhdHVzLFxuICAgIENvbmZpZ3VyYWJsZUZpZWxkLlRpbWUsXG4gIF07XG5cbiAgaXNBY3RpdmUgPSBmYWxzZTtcblxuICBwb3B1cFJlZjogUmVzb3VyY2VTZWxlY3RvclBvcHVwUmVmO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9wdXBTZXJ2aWNlOiBSZXNvdXJjZVNlbGVjdG9yUG9wdXBTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICkge31cblxuICBvcGVuUG9wdXAoKSB7XG4gICAgaWYgKHRoaXMuaXNBY3RpdmUpIHtcbiAgICAgIHRoaXMuY2xvc2VQb3B1cCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzQWN0aXZlID0gdHJ1ZTtcbiAgICAgIHRoaXMucG9wdXBSZWYgPSB0aGlzLnBvcHVwU2VydmljZS5vcGVuKHtcbiAgICAgICAgb3JpZ2luOiB0aGlzLmVsZW1lbnRSZWYsXG4gICAgICAgIGNvbnRlbnQ6IHRoaXMucG9wdXBUZW1wbGF0ZSxcbiAgICAgICAgcG9wdXBMaXRlOiB0aGlzLnBvcHVwTGl0ZSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5wb3B1cFJlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuaXNBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBjbG9zZVBvcHVwKCkge1xuICAgIHRoaXMuaXNBY3RpdmUgPSBmYWxzZTtcbiAgICB0aGlzLnBvcHVwUmVmLmNsb3NlKCk7XG4gIH1cblxuICBvblNlbGVjdChpdGVtOiBEYXRhSXRlbUJhc2UpIHtcbiAgICB0aGlzLnZhbHVlID0gaXRlbS5uYW1lO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChpdGVtLm5hbWUpO1xuICAgIHRoaXMuY2xvc2VQb3B1cCgpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiYWNsLXJlc291cmNlLXNlbGVjdG9yXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdhY2wtcmVzb3VyY2Utc2VsZWN0b3ItLWFjdGl2ZSc6IGlzQWN0aXZlLFxuICAgICdhY2wtcmVzb3VyY2Utc2VsZWN0b3ItLWxpdGUnOiBwb3B1cExpdGUsXG4gIH1cIlxuICAoY2xpY2spPVwib3BlblBvcHVwKClcIlxuPlxuICA8ZGl2IGNsYXNzPVwiYWNsLXJlc291cmNlLXNlbGVjdG9yX19pdGVtIHByb2plY3RcIj5cbiAgICA8c3BhbiBjbGFzcz1cImljb24td3JhcHBlciB0dy1mbGV4XCI+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgKm5nSWY9XCIhcG9wdXBMaXRlXCJcbiAgICAgICAgaWNvbj1cImJpY29sb3I6c2VydmVyXCJcbiAgICAgID48L2F1aS1pY29uPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgICpuZ0lmPVwicG9wdXBMaXRlXCJcbiAgICAgICAgaWNvbj1cInByb2Q6Y2x1c3RlclwiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+XG4gICAgICB7eyAnY2x1c3RlcicgfCB0cmFuc2xhdGUgfX1cbiAgICA8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJzZWxlY3RlZC1uYW1lIHRleHQtdHJ1bmNhdGVcIj57eyB2YWx1ZSB9fTwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJhY2wtcmVzb3VyY2Utc2VsZWN0b3JfX2Fycm93XCI+XG4gICAgPGF1aS1pY29uIGljb249XCJjYXJldF9kb3duX3NcIj48L2F1aS1pY29uPlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3BvcHVwPlxuICA8YWNsLWNsdXN0ZXItbGlzdFxuICAgIGNvbnRleHQ9XCJwb3B1cFwiXG4gICAgW3BvcHVwTGl0ZV09XCJwb3B1cExpdGVcIlxuICAgIFtmaWVsZHNdPVwiZmllbGRzIHx8IGRpc3BsYXlGaWVsZHNcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgKHNlbGVjdEl0ZW0pPVwib25TZWxlY3QoJGV2ZW50KVwiXG4gID48L2FjbC1jbHVzdGVyLWxpc3Q+XG48L25nLXRlbXBsYXRlPlxuIl19