@provoly/dashboard 1.4.23 → 1.4.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +1 -1
- package/esm2022/lib/core/model/manifest.interface.mjs +1 -1
- package/esm2022/lib/core/store/search/search.actions.mjs +1 -1
- package/esm2022/lib/core/store/search/search.effects.mjs +9 -4
- package/esm2022/lib/core/store/search/search.service.mjs +1 -1
- package/esm2022/lib/dashboard/components/dashboard.component.mjs +8 -26
- package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +1 -1
- package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.mjs +32 -23
- package/esm2022/lib/dashboard/filter/components/filter-group/filter-group.component.mjs +4 -6
- package/esm2022/lib/dashboard/store/dashboard.actions.mjs +2 -2
- package/esm2022/lib/dashboard/store/dashboard.effects.mjs +8 -18
- package/esm2022/lib/dashboard/store/manifest-utils.class.mjs +17 -1
- package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +1 -1
- package/fesm2022/provoly-dashboard-dataset.mjs +1 -1
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +108 -109
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/lib/core/model/manifest.interface.d.ts +7 -0
- package/lib/core/store/search/search.actions.d.ts +5 -4
- package/lib/core/store/search/search.effects.d.ts +2 -1
- package/lib/core/store/search/search.service.d.ts +3 -2
- package/lib/dashboard/components/dashboard.component.d.ts +1 -3
- package/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.d.ts +3 -9
- package/lib/dashboard/filter/components/filter-group/filter-group.component.d.ts +1 -2
- package/lib/dashboard/store/dashboard.actions.d.ts +6 -14
- package/lib/dashboard/store/dashboard.effects.d.ts +3 -4
- package/lib/dashboard/store/manifest-utils.class.d.ts +2 -1
- package/package.json +19 -19
- package/search/search-fulltext/store/search-fulltext.effects.d.ts +1 -1
- package/search/search-mono-class/store/search-mono-class.effects.d.ts +1 -1
- package/search/search-multi-class/store/search-multi-class.effects.d.ts +1 -1
|
@@ -390,7 +390,7 @@ export class PryWidgetHeaderComponent extends SubscriptionnerDirective {
|
|
|
390
390
|
this.openSub?.unsubscribe();
|
|
391
391
|
}
|
|
392
392
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryWidgetHeaderComponent, deps: [{ token: i1.Store }, { token: i2.Overlay }, { token: i0.ViewContainerRef }, { token: i3.ToolboxMenuService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
393
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: PryWidgetHeaderComponent, selector: "pry-widget-header", inputs: { manifest: "manifest", openData$: "openData$", additionalOptions: "additionalOptions", headerOptions: "headerOptions", displayCount: "displayCount", datasourceIds: "datasourceIds", widgetIndex: "widgetIndex" }, outputs: { manifestModified: "manifestModified" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }, { propertyName: "templateModal", first: true, predicate: ["templateModal"], descendants: true, read: TemplateRef }, { propertyName: "toggle", first: true, predicate: ["toggle"], descendants: true, read: TemplateRef }, { propertyName: "overlayMenu", first: true, predicate: ["overlayMenu"], descendants: true, read: TemplateRef }, { propertyName: "overlayCatalog", first: true, predicate: ["overlayCatalog"], descendants: true, read: TemplateRef }, { propertyName: "overlaySpot", first: true, predicate: ["overlaySpot"], descendants: true, read: TemplateRef }, { propertyName: "togglePanel", first: true, predicate: ["togglePanel"], descendants: true }, { propertyName: "cross", first: true, predicate: ["cross"], descendants: true }, { propertyName: "validate", first: true, predicate: ["validate"], descendants: true }, { propertyName: "validateCatalog", first: true, predicate: ["validateCatalog"], descendants: true }, { propertyName: "cancel", first: true, predicate: ["cancel"], descendants: true }, { propertyName: "crossCatalog", first: true, predicate: ["crossCatalog"], descendants: true }, { propertyName: "inputCatalog", first: true, predicate: ["inputCatalog"], descendants: true }, { propertyName: "menuList", first: true, predicate: ["menuList"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"o-widget__header\">\n <div class=\"o-widget__header__content\">\n @if ((manifest$ | async)?.title) {\n <h2 class=\"o-widget__header__content__title\">\n {{ (manifest$ | async)?.title }}\n </h2>\n } @else {\n @for (ds of usedDatasources$ | async; track ds) {\n <div class=\"o-widget__header__content__query\">\n @if (ds.id | translateId: { type: 'datasource', output: 'icon', noDefault: true } | async; as url) {\n <img [height]=\"20\" [src]=\"url\" [width]=\"20\" alt=\"\" class=\"o-widget__header__content__query__icon\" />\n }\n <h3 class=\"o-widget__header__content__query__name\">{{ ds.name }}</h3>\n @if (displayCount && !isGeo(ds)) {\n <h3 class=\"o-widget__header__content__query__name\">\n ({{ [ds.id] | resultSetSize | async }})\n </h3>\n }\n </div>\n }\n @if (((usedDatasources$ | async) ?? []).length === 0) {\n <div class=\"o-widget__header__content__no-data\">\n <h2 class=\"o-widget__header__content__title\">{{ '@pry.widget.noData' | i18n }}</h2>\n </div>\n }\n }\n </div>\n @if (displayContextMenu$ | async; as options) {\n <div class=\"m-btn-group\">\n <button\n type=\"button\"\n id=\"dialog_Menu\"\n aria-controls=\"menu\"\n [attr.aria-expanded]=\"this.menu\"\n #togglePanel\n class=\"a-btn a-btn--more\"\n (click)=\"menuOpen($event)\"\n >\n <pry-icon [height]=\"25\" [width]=\"25\" iconSvg=\"more_horiz\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.openMenuWidget' | i18n }}</span>\n </button>\n </div>\n }\n</div>\n\n<ng-template #overlayMenu>\n @if (displayContextMenu$ | async; as options) {\n <div class=\"m-context-menu\">\n <ul\n class=\"m-context-menu__list\"\n #menuList\n id=\"menu\"\n role=\"menu\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog_Menu\"\n (keydown.arrowDown)=\"onArrowDown()\"\n (keydown.arrowUp)=\"onArrowUp()\"\n (keydown.escape)=\"menuOpen()\"\n >\n @if (options === true || options['datasourceSelection'] === true) {\n <li\n class=\"m-context-menu__list__item\"\n role=\"none\"\n >\n <button\n type=\"button\"\n role=\"menuitem\"\n tabindex=\"-1\"\n id=\"toggleActions\"\n (click)=\"toggleDatasourceSelection()\"\n *pryAccess=\"{ module: 'dashboard', page: 'widget', action: 'select_named_query' }\"\n class=\"a-btn\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"stack-fill\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.readSearch' | i18n }}</span>\n </button>\n </li>\n }\n @if (options === true || options!['parameters'] === true) {\n <li class=\"m-context-menu__list__item\" role=\"none\">\n <ng-content></ng-content>\n </li>\n }\n @if (options === true || options!['window'] === true) {\n @for (targetIndex of targetIndexes$ | async; track targetIndex) {\n <li class=\"m-context-menu__list__item\" role=\"none\">\n <button\n type=\"button\"\n (click)=\"moveInNewWindow(_widgetIndex, targetIndex)\"\n class=\"a-btn\"\n role=\"menuitem\"\n tabindex=\"-1\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"launch\"></pry-icon>\n {{\n (targetIndex !== -1 ? '@pry.widget.target.existing' : '@pry.widget.target.new')\n | i18n: { targetIndex: this.targetIndex + 1 }\n }}\n </button>\n </li>\n }\n }\n @if (hasGrid && (options === true || options!['changeSpot'] === true)) {\n <li\n class=\"m-context-menu__list__item\"\n role=\"none\"\n >\n <button type=\"button\" role=\"menuitem\" (click)=\"toggleChangeSpot()\" class=\"a-btn\" tabindex=\"-1\">\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"move\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.changeSpot' | i18n }}</span>\n </button>\n </li>\n }\n @if (options === true || options!['maximize'] === true) {\n <li class=\"m-context-menu__list__item\" role=\"none\">\n <button\n type=\"button\"\n role=\"menuitem\"\n tabindex=\"-1\"\n (click)=\"maximize(_widgetIndex)\"\n class=\"a-btn\"\n (keydown.escape)=\"menuOpen()\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"fullscreen\"></pry-icon>\n {{ '@pry.widget.target.maximize' | i18n }}\n </button>\n </li>\n }\n @if (options === true || options!['addToCatalog'] === true) {\n <li class=\"m-context-menu__list__item\" role=\"none\">\n <button type=\"button\" role=\"menuitem\" tabindex=\"-1\" (click)=\"toggleCatalog()\" class=\"a-btn\">\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"library_add\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.catalogWidget' | i18n }}</span>\n </button>\n </li>\n }\n @if (options === true || options!['delete'] === true) {\n <li class=\"m-context-menu__list__item\" role=\"none\">\n <button\n type=\"button\"\n role=\"menuitem\"\n tabindex=\"-1\"\n (click)=\"toggleRemoveConfirm($event)\"\n class=\"a-btn\"\n (keydown.tab)=\"menuOpen()\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"delete\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.deleteWidget' | i18n }}</span>\n </button>\n </li>\n }\n @for (option of additionalOptions; track option) {\n <li class=\"m-context-menu__list__item\" role=\"none\">\n <button\n type=\"button\"\n class=\"a-btn\"\n role=\"menuitem\"\n tabindex=\"-1\"\n (click)=\"executeAction(option)\"\n [disabled]=\"isActionDisabled(option)\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" [iconSvg]=\"option.icon\"></pry-icon>\n {{ option.label | i18n }}\n </button>\n </li>\n }\n </ul>\n </div>\n }\n</ng-template>\n\n<ng-template #templateModal>\n <div\n class=\"o-modal\"\n (keydown.escape)=\"cancelRemoveConfirm()\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog confirm delete presentation\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.widget.modalTitle' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" #cross (click)=\"cancelRemoveConfirm()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <div class=\"m-btn-group\">\n <button type=\"button\" (click)=\"cancelRemoveConfirm()\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button type=\"submit\" (click)=\"confirmRemove()\" class=\"a-btn a-btn--primary\" (keydown.tab)=\"focusCrossElement()\">\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #template>\n <pry-datasource-selector\n [manifest]=\"manifest$ | async\"\n (cancel)=\"toggleDatasourceSelection()\"\n (validated)=\"emitManifest()\"\n (nextTab)=\"focusInputCatalog()\"\n (previousTab)=\"focusValidation()\"\n (itemsChanged)=\"datasourcesChanged($event)\"\n ></pry-datasource-selector>\n</ng-template>\n\n<ng-template #overlayCatalog>\n <div\n class=\"o-modal\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog_Catalog\"\n (keydown.escape)=\"toggleCatalog()\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\">\n {{ '@pry.widget.defineCatalog' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button\n class=\"a-btn a-btn--icon-only\"\n (keydown.shift.tab)=\"focusValidation()\"\n #crossCatalog\n (click)=\"toggleCatalog()\"\n >\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"name\">{{ '@pry.toolbox.catalog.label' | i18n }}</label>\n <input [(ngModel)]=\"catalogInfo.name\" id=\"name\" type=\"text\" class=\"a-form-field\" required />\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"description\">{{ '@pry.toolbox.catalog.description' | i18n }}</label>\n <input [(ngModel)]=\"catalogInfo.description\" id=\"description\" type=\"text\" class=\"a-form-field\" required />\n </div>\n <div class=\"m-form-label-field\">\n <pry-select-image\n [iconUrl]=\"catalogInfo.image\"\n (changed)=\"catalogInfo.image = $event\"\n [mode]=\"type\"\n ></pry-select-image>\n </div>\n <div class=\"m-btn-group\">\n <button\n type=\"button\"\n (click)=\"toggleCatalog()\"\n #cancel\n (keydown.tab)=\"disableValidation()\"\n class=\"a-btn a-btn--secondary\"\n >\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button\n type=\"submit\"\n #validateCatalog\n (click)=\"confirmCatalog()\"\n [disabled]=\"!toolboxMenuService.isValidForCatalog(catalogInfo.name)\"\n class=\"a-btn a-btn--primary\"\n (keydown.tab)=\"focusCrossElement()\"\n >\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #overlaySpot>\n <div class=\"o-modal -place\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\">\n {{ '@pry.widget.tooltip.changeSpot' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"toggleChangeSpot()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <pry-dashboard\n [staticDashboard]=\"targetManifest!\"\n [breakpoint]=\"10\"\n [noBackground]=\"true\"\n [forceModeEdition]=\"false\"\n ></pry-dashboard>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i6.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i7.PrySelectImageComponent, selector: "pry-select-image", inputs: ["iconUrl", "size", "mode"], outputs: ["toggled", "changed"] }, { kind: "component", type: i8.DashboardComponent, selector: "pry-dashboard", inputs: ["staticDashboard", "forceModeEdition", "CloseOnDragOut", "displayOptions", "noBackground", "breakpoint", "linkedItems"], outputs: ["rowHeight", "rows"] }, { kind: "component", type: i9.DatasourceSelectorComponent, selector: "pry-datasource-selector", inputs: ["showButtons", "showTitle", "manifest"], outputs: ["previousTab", "nextTab", "cancel", "validated", "itemsChanged"] }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }, { kind: "pipe", type: i11.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i12.I18nPipe, name: "i18n" }, { kind: "pipe", type: i13.ResultSetSizePipe, name: "resultSetSize" }] }); }
|
|
393
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: PryWidgetHeaderComponent, selector: "pry-widget-header", inputs: { manifest: "manifest", openData$: "openData$", additionalOptions: "additionalOptions", headerOptions: "headerOptions", displayCount: "displayCount", datasourceIds: "datasourceIds", widgetIndex: "widgetIndex" }, outputs: { manifestModified: "manifestModified" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }, { propertyName: "templateModal", first: true, predicate: ["templateModal"], descendants: true, read: TemplateRef }, { propertyName: "toggle", first: true, predicate: ["toggle"], descendants: true, read: TemplateRef }, { propertyName: "overlayMenu", first: true, predicate: ["overlayMenu"], descendants: true, read: TemplateRef }, { propertyName: "overlayCatalog", first: true, predicate: ["overlayCatalog"], descendants: true, read: TemplateRef }, { propertyName: "overlaySpot", first: true, predicate: ["overlaySpot"], descendants: true, read: TemplateRef }, { propertyName: "togglePanel", first: true, predicate: ["togglePanel"], descendants: true }, { propertyName: "cross", first: true, predicate: ["cross"], descendants: true }, { propertyName: "validate", first: true, predicate: ["validate"], descendants: true }, { propertyName: "validateCatalog", first: true, predicate: ["validateCatalog"], descendants: true }, { propertyName: "cancel", first: true, predicate: ["cancel"], descendants: true }, { propertyName: "crossCatalog", first: true, predicate: ["crossCatalog"], descendants: true }, { propertyName: "inputCatalog", first: true, predicate: ["inputCatalog"], descendants: true }, { propertyName: "menuList", first: true, predicate: ["menuList"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"o-widget__header\">\n <div class=\"o-widget__header__content\">\n @if ((manifest$ | async)?.title) {\n <h2 class=\"o-widget__header__content__title\">\n {{ (manifest$ | async)?.title }}\n </h2>\n } @else {\n @for (ds of usedDatasources$ | async; track ds) {\n <div class=\"o-widget__header__content__query\">\n @if (ds.id | translateId: { type: 'datasource', output: 'icon', noDefault: true } | async; as url) {\n <img [height]=\"20\" [src]=\"url\" [width]=\"20\" alt=\"\" class=\"o-widget__header__content__query__icon\" />\n }\n <h3 class=\"o-widget__header__content__query__name\">{{ ds.name }}</h3>\n @if (displayCount && !isGeo(ds)) {\n <h3 class=\"o-widget__header__content__query__name\">\n ({{ [ds.id] | resultSetSize | async }})\n </h3>\n }\n </div>\n }\n @if (((usedDatasources$ | async) ?? []).length === 0) {\n <div class=\"o-widget__header__content__no-data\">\n <h2 class=\"o-widget__header__content__title\">{{ '@pry.widget.noData' | i18n }}</h2>\n </div>\n }\n }\n </div>\n @if (displayContextMenu$ | async; as options) {\n <div class=\"m-btn-group\">\n <button\n type=\"button\"\n id=\"dialog_Menu\"\n aria-controls=\"menu\"\n [attr.aria-expanded]=\"this.menu\"\n #togglePanel\n class=\"a-btn a-btn--more\"\n (click)=\"menuOpen($event)\"\n >\n <pry-icon [height]=\"25\" [width]=\"25\" iconSvg=\"more_horiz\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.openMenuWidget' | i18n }}</span>\n </button>\n </div>\n }\n</div>\n\n<ng-template #overlayMenu>\n @if (displayContextMenu$ | async; as options) {\n <div class=\"m-context-menu\">\n <ul\n class=\"m-context-menu__list\"\n #menuList\n id=\"menu\"\n role=\"menu\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog_Menu\"\n (keydown.arrowDown)=\"onArrowDown()\"\n (keydown.arrowUp)=\"onArrowUp()\"\n (keydown.escape)=\"menuOpen()\"\n >\n @if (options === true || options['datasourceSelection'] === true) {\n <li\n class=\"m-context-menu__list__item\"\n role=\"none\"\n >\n <button\n type=\"button\"\n role=\"menuitem\"\n tabindex=\"-1\"\n id=\"toggleActions\"\n (click)=\"toggleDatasourceSelection()\"\n *pryAccess=\"{ module: 'dashboard', page: 'widget', action: 'select_named_query' }\"\n class=\"a-btn\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"stack-fill\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.readSearch' | i18n }}</span>\n </button>\n </li>\n }\n @if (options === true || options!['parameters'] === true) {\n <li class=\"m-context-menu__list__item\" role=\"none\">\n <ng-content></ng-content>\n </li>\n }\n @if (options === true || options!['window'] === true) {\n @for (targetIndex of targetIndexes$ | async; track targetIndex) {\n <li class=\"m-context-menu__list__item\" role=\"none\">\n <button\n type=\"button\"\n (click)=\"moveInNewWindow(_widgetIndex, targetIndex)\"\n class=\"a-btn\"\n role=\"menuitem\"\n tabindex=\"-1\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"launch\"></pry-icon>\n {{\n (targetIndex !== -1 ? '@pry.widget.target.existing' : '@pry.widget.target.new')\n | i18n: { targetIndex: this.targetIndex + 1 }\n }}\n </button>\n </li>\n }\n }\n @if (hasGrid && (options === true || options!['changeSpot'] === true)) {\n <li\n class=\"m-context-menu__list__item\"\n role=\"none\"\n >\n <button type=\"button\" role=\"menuitem\" (click)=\"toggleChangeSpot()\" class=\"a-btn\" tabindex=\"-1\">\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"move\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.changeSpot' | i18n }}</span>\n </button>\n </li>\n }\n @if (options === true || options!['maximize'] === true) {\n <li class=\"m-context-menu__list__item\" role=\"none\">\n <button\n type=\"button\"\n role=\"menuitem\"\n tabindex=\"-1\"\n (click)=\"maximize(_widgetIndex)\"\n class=\"a-btn\"\n (keydown.escape)=\"menuOpen()\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"fullscreen\"></pry-icon>\n {{ '@pry.widget.target.maximize' | i18n }}\n </button>\n </li>\n }\n @if (options === true || options!['addToCatalog'] === true) {\n <li class=\"m-context-menu__list__item\" role=\"none\">\n <button type=\"button\" role=\"menuitem\" tabindex=\"-1\" (click)=\"toggleCatalog()\" class=\"a-btn\">\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"library_add\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.catalogWidget' | i18n }}</span>\n </button>\n </li>\n }\n @if (options === true || options!['delete'] === true) {\n <li class=\"m-context-menu__list__item\" role=\"none\">\n <button\n type=\"button\"\n role=\"menuitem\"\n tabindex=\"-1\"\n (click)=\"toggleRemoveConfirm($event)\"\n class=\"a-btn\"\n (keydown.tab)=\"menuOpen()\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"delete\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.deleteWidget' | i18n }}</span>\n </button>\n </li>\n }\n @for (option of additionalOptions; track option) {\n <li class=\"m-context-menu__list__item\" role=\"none\">\n <button\n type=\"button\"\n class=\"a-btn\"\n role=\"menuitem\"\n tabindex=\"-1\"\n (click)=\"executeAction(option)\"\n [disabled]=\"isActionDisabled(option)\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" [iconSvg]=\"option.icon\"></pry-icon>\n {{ option.label | i18n }}\n </button>\n </li>\n }\n </ul>\n </div>\n }\n</ng-template>\n\n<ng-template #templateModal>\n <div\n class=\"o-modal\"\n (keydown.escape)=\"cancelRemoveConfirm()\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog confirm delete presentation\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.widget.modalTitle' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" #cross (click)=\"cancelRemoveConfirm()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <div class=\"m-btn-group\">\n <button type=\"button\" (click)=\"cancelRemoveConfirm()\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button type=\"submit\" (click)=\"confirmRemove()\" class=\"a-btn a-btn--primary\" (keydown.tab)=\"focusCrossElement()\">\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #template>\n <pry-datasource-selector\n [manifest]=\"manifest$ | async\"\n (cancel)=\"toggleDatasourceSelection()\"\n (validated)=\"emitManifest()\"\n (nextTab)=\"focusInputCatalog()\"\n (previousTab)=\"focusValidation()\"\n (itemsChanged)=\"datasourcesChanged($event)\"\n ></pry-datasource-selector>\n</ng-template>\n\n<ng-template #overlayCatalog>\n <div\n class=\"o-modal\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog_Catalog\"\n (keydown.escape)=\"toggleCatalog()\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\">\n {{ '@pry.widget.defineCatalog' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button\n class=\"a-btn a-btn--icon-only\"\n (keydown.shift.tab)=\"focusValidation()\"\n #crossCatalog\n (click)=\"toggleCatalog()\"\n >\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"name\">{{ '@pry.toolbox.catalog.label' | i18n }}</label>\n <input [(ngModel)]=\"catalogInfo.name\" id=\"name\" type=\"text\" class=\"a-form-field\" required />\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"description\">{{ '@pry.toolbox.catalog.description' | i18n }}</label>\n <input [(ngModel)]=\"catalogInfo.description\" id=\"description\" type=\"text\" class=\"a-form-field\" required />\n </div>\n <div class=\"m-form-label-field\">\n <pry-select-image\n [iconUrl]=\"catalogInfo.image\"\n (changed)=\"catalogInfo.image = $event\"\n [mode]=\"type\"\n ></pry-select-image>\n </div>\n <div class=\"m-btn-group\">\n <button\n type=\"button\"\n (click)=\"toggleCatalog()\"\n #cancel\n (keydown.tab)=\"disableValidation()\"\n class=\"a-btn a-btn--secondary\"\n >\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button\n type=\"submit\"\n #validateCatalog\n (click)=\"confirmCatalog()\"\n [disabled]=\"!toolboxMenuService.isValidForCatalog(catalogInfo.name)\"\n class=\"a-btn a-btn--primary\"\n (keydown.tab)=\"focusCrossElement()\"\n >\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #overlaySpot>\n <div class=\"o-modal -place\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\">\n {{ '@pry.widget.tooltip.changeSpot' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"toggleChangeSpot()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <pry-dashboard\n [staticDashboard]=\"targetManifest!\"\n [breakpoint]=\"10\"\n [noBackground]=\"true\"\n [forceModeEdition]=\"false\"\n ></pry-dashboard>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i6.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i7.PrySelectImageComponent, selector: "pry-select-image", inputs: ["iconUrl", "size", "mode"], outputs: ["toggled", "changed"] }, { kind: "component", type: i8.DashboardComponent, selector: "pry-dashboard", inputs: ["staticDashboard", "forceModeEdition", "CloseOnDragOut", "displayOptions", "noBackground", "breakpoint"], outputs: ["rowHeight", "rows"] }, { kind: "component", type: i9.DatasourceSelectorComponent, selector: "pry-datasource-selector", inputs: ["showButtons", "showTitle", "manifest"], outputs: ["previousTab", "nextTab", "cancel", "validated", "itemsChanged"] }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }, { kind: "pipe", type: i11.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i12.I18nPipe, name: "i18n" }, { kind: "pipe", type: i13.ResultSetSizePipe, name: "resultSetSize" }] }); }
|
|
394
394
|
}
|
|
395
395
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PryWidgetHeaderComponent, decorators: [{
|
|
396
396
|
type: Component,
|
package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.mjs
CHANGED
|
@@ -4,6 +4,7 @@ import { WidgetFillerComponent } from '../widget-filler/widget-filler.component'
|
|
|
4
4
|
import { WidgetPlaceholderComponent } from '../widget-placeholder/widget-placeholder.component';
|
|
5
5
|
import { DatasourceUtils } from '../../../../core/store/data-source/datasource-utils';
|
|
6
6
|
import { DataSourceSelectors } from '../../../../core/store/data-source/data-source.selectors';
|
|
7
|
+
import { ManifestUtils } from '../../../store/manifest-utils.class';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "@ngrx/store";
|
|
9
10
|
export const WIDGET_DEFINITION = new InjectionToken('Widgets definition');
|
|
@@ -55,23 +56,31 @@ export class WidgetFactoryService {
|
|
|
55
56
|
return this.reference$.pipe(map((componentDefs) => !!componentDefs[type]));
|
|
56
57
|
}
|
|
57
58
|
datasourcesToAutoLoad(manifest) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
(
|
|
67
|
-
|
|
68
|
-
(widgetDefinition.autoLoadDatasource ===
|
|
69
|
-
|
|
59
|
+
return ManifestUtils.mergeDatasourceRequests(manifest.widgets
|
|
60
|
+
.map((widgetManifest) => {
|
|
61
|
+
const widgetDefinition = this.reference$.getValue()[widgetManifest.type];
|
|
62
|
+
const datasourcesArray = Array.isArray(widgetManifest.datasource ?? [])
|
|
63
|
+
? (widgetManifest.datasource ?? [])
|
|
64
|
+
: [widgetManifest.datasource];
|
|
65
|
+
return datasourcesArray
|
|
66
|
+
.filter((datasource) => {
|
|
67
|
+
const matching = this.datasources.find((ds) => ds.id === datasource);
|
|
68
|
+
return (!!matching &&
|
|
69
|
+
(widgetDefinition.autoLoadDatasource === undefined ||
|
|
70
|
+
widgetDefinition.autoLoadDatasource === 'all' ||
|
|
71
|
+
(widgetDefinition.autoLoadDatasource === 'geo' && DatasourceUtils.isGeo(matching)) ||
|
|
72
|
+
(widgetDefinition.autoLoadDatasource === 'not-geo' && !DatasourceUtils.isGeo(matching))));
|
|
73
|
+
})
|
|
74
|
+
.map((datasetId) => {
|
|
75
|
+
const matching = this.datasources.find((ds) => ds.id === datasetId);
|
|
76
|
+
return {
|
|
77
|
+
datasetId: datasetId,
|
|
78
|
+
excludeGeo: this.calculateExcludeGeo(widgetManifest, matching),
|
|
79
|
+
linkedItems: manifest.linkedItems
|
|
80
|
+
};
|
|
81
|
+
});
|
|
70
82
|
})
|
|
71
|
-
.
|
|
72
|
-
const matching = this.datasources.find((ds) => ds.id === datasetId);
|
|
73
|
-
return { datasetId: datasetId, excludeGeo: this.calculateExcludeGeo(manifest, matching) };
|
|
74
|
-
});
|
|
83
|
+
.flat());
|
|
75
84
|
}
|
|
76
85
|
calculateExcludeGeo(manifest, matching) {
|
|
77
86
|
if (manifest.excludeGeo === undefined || manifest.excludeGeo === 'widget-type-based') {
|
|
@@ -99,16 +108,16 @@ export class WidgetFactoryService {
|
|
|
99
108
|
const datasources = [];
|
|
100
109
|
const aggregates = [];
|
|
101
110
|
manifest.windows.forEach((windowManifest) => {
|
|
111
|
+
this.datasourcesToAutoLoad(windowManifest).forEach((res) => {
|
|
112
|
+
if (res.datasetId) {
|
|
113
|
+
datasources.push(res);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
102
116
|
(windowManifest.widgets ?? []).forEach((widgetManifest) => {
|
|
103
|
-
this.datasourcesToAutoLoad(widgetManifest).forEach((res) => {
|
|
104
|
-
if (res.datasetId) {
|
|
105
|
-
datasources.push(res);
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
117
|
this.aggregatesToAutoLoad(widgetManifest).forEach((ds) => aggregates.push(ds));
|
|
109
118
|
});
|
|
110
119
|
});
|
|
111
|
-
return { datasources, aggregates };
|
|
120
|
+
return { datasources: ManifestUtils.mergeDatasourceRequests(datasources), aggregates };
|
|
112
121
|
}
|
|
113
122
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: WidgetFactoryService, deps: [{ token: i0.Injector }, { token: WIDGET_DEFINITION }, { token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
114
123
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: WidgetFactoryService, providedIn: 'root' }); }
|
|
@@ -122,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
122
131
|
type: Inject,
|
|
123
132
|
args: [WIDGET_DEFINITION]
|
|
124
133
|
}] }, { type: i1.Store }] });
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWZhY3Rvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1pbnN0YW5jaWF0b3Ivd2lkZ2V0LWZhY3Rvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFaEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDOzs7QUFJL0YsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQVMsb0JBQW9CLENBQUMsQ0FBQztBQUVsRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRztJQUMxQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDO0NBQ3hCLENBQUM7QUFLRixNQUFNLE9BQU8sb0JBQW9CO0lBUS9CLFlBQ1UsUUFBa0IsRUFDQyxTQUE4QyxFQUNqRSxLQUFZO1FBRlosYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUVsQixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBVnRCLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBc0M7WUFDcEUsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsMEJBQTBCLEVBQUU7WUFDM0UsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7U0FDN0QsQ0FBQyxDQUFDO1FBQ0gsbUJBQWMsR0FBRyxFQUEyRCxDQUFDO1FBQzdFLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQU83QixJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVELGdCQUFnQixDQUFDLFFBQXdCO1FBQ3ZDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN2QyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFDRCxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM1RCxhQUFhO1lBQ2IsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ2pFLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3pDLENBQUMsU0FBUyxDQUFDO2dCQUNaLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDaEQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sSUFBSSxDQUNSLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBMEIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtvQkFDckYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztvQkFDdkQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDNUMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUNoQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLGFBQWEsQ0FDekMsQ0FBQyxTQUFTLENBQUM7WUFDWixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2hELENBQUM7SUFDSCxDQUFDO0lBRU8sY0FBYyxDQUFDLFdBQWdEO1FBQ3JFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ25CLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7WUFDN0IsR0FBRyxXQUFXO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFZO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQscUJBQXFCLENBQUMsUUFBd0I7UUFDNUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuRSxNQUFNLGdCQUFnQixHQUFhLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7WUFDekUsQ0FBQyxDQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQWM7WUFDM0MsQ0FBQyxDQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBYyxDQUFDO1FBQ3hDLE9BQU8sZ0JBQWdCO2FBQ3BCLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3JCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLFVBQVUsQ0FBRSxDQUFDO1lBQ3RFLE9BQU8sQ0FDTCxDQUFDLENBQUMsUUFBUTtnQkFDVixDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixLQUFLLFNBQVM7b0JBQ2hELGdCQUFnQixDQUFDLGtCQUFrQixLQUFLLEtBQUs7b0JBQzdDLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLEtBQUssS0FBSyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ2xGLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLEtBQUssU0FBUyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQzNGLENBQUM7UUFDSixDQUFDLENBQUM7YUFDRCxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNqQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxTQUFTLENBQUUsQ0FBQztZQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzVGLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLG1CQUFtQixDQUFDLFFBQXdCLEVBQUUsUUFBOEI7UUFDbEYsSUFBSSxRQUFRLENBQUMsVUFBVSxLQUFLLFNBQVMsSUFBSSxRQUFRLENBQUMsVUFBVSxLQUFLLG1CQUFtQixFQUFFLENBQUM7WUFDckYsT0FBTyxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RFLENBQUM7UUFDRCxRQUFRLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUM1QixLQUFLLGFBQWE7Z0JBQ2hCLE9BQU8sSUFBSSxDQUFDO1lBQ2QsS0FBSyxjQUFjO2dCQUNqQixPQUFPLEtBQUssQ0FBQztZQUNmLEtBQUssYUFBYTtnQkFDaEIsT0FBTyxlQUFlLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3pDLEtBQUssaUJBQWlCO2dCQUNwQixPQUFPLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVELG9CQUFvQixDQUFDLFFBQXdCO1FBQzNDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkUsTUFBTSxnQkFBZ0IsR0FBYSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1lBQ3pFLENBQUMsQ0FBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFjO1lBQzNDLENBQUMsQ0FBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQWMsQ0FBQztRQUN4QyxPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FDNUIsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLEtBQUssU0FBUyxJQUFJLGdCQUFnQixDQUFDLGtCQUFrQixLQUFLLFdBQVcsQ0FDL0csQ0FBQztJQUNKLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxRQUF3QjtRQUMzQyxNQUFNLFdBQVcsR0FBaUQsRUFBRSxDQUFDO1FBQ3JFLE1BQU0sVUFBVSxHQUFhLEVBQUUsQ0FBQztRQUVoQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQzFDLENBQUMsY0FBYyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtnQkFDeEQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQStDLEVBQUUsRUFBRTtvQkFDckcsSUFBSSxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUM7d0JBQ2xCLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ3hCLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3pGLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3JDLENBQUM7OEdBeEhVLG9CQUFvQiwwQ0FVckIsaUJBQWlCO2tIQVZoQixvQkFBb0IsY0FGbkIsTUFBTTs7MkZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBV0ksTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBJbmplY3RvciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmcm9tLCBtYXAsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBHbG9iYWxNYW5pZmVzdCwgV2lkZ2V0TWFuaWZlc3QgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYXNlV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS13aWRnZXQuY29tcG9uZW50JztcbmltcG9ydCB7IFdpZGdldEZpbGxlckNvbXBvbmVudCB9IGZyb20gJy4uL3dpZGdldC1maWxsZXIvd2lkZ2V0LWZpbGxlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2lkZ2V0UGxhY2Vob2xkZXJDb21wb25lbnQgfSBmcm9tICcuLi93aWRnZXQtcGxhY2Vob2xkZXIvd2lkZ2V0LXBsYWNlaG9sZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXaWRnZXREZWZpbml0aW9uLCBXaWRnZXRMYXp5RGVmaW5pdGlvbiwgV2lkZ2V0U3RhdGljRGVmaW5pdGlvbiB9IGZyb20gJy4vd2lkZ2V0cy1kZWZpbml0aW9uLm1vZGVsJztcbmltcG9ydCB7IERhdGFzb3VyY2VVdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvc3RvcmUvZGF0YS1zb3VyY2UvZGF0YXNvdXJjZS11dGlscyc7XG5pbXBvcnQgeyBEYXRhU291cmNlU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBEYXRhc2V0LCBEYXRhU291cmNlLCBOYW1lZFF1ZXJ5IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5tb2RlbCc7XG5cbmV4cG9ydCBjb25zdCBXSURHRVRfREVGSU5JVElPTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdXaWRnZXRzIGRlZmluaXRpb24nKTtcblxuZXhwb3J0IGNvbnN0IE5PTl9FWENMVURFX0dFT19XSURHRVRfVFlQRVMgPSB7XG4gIHZhbHVlczogWydtYXAnLCAndGlsZSddXG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBXaWRnZXRGYWN0b3J5U2VydmljZSB7XG4gIHJlZmVyZW5jZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHsgW2tleTogc3RyaW5nXTogV2lkZ2V0RGVmaW5pdGlvbiB9Pih7XG4gICAgcGxhY2Vob2xkZXI6IHsgbmFtZTogJ3BsYWNlaG9sZGVyJywgY29tcG9uZW50OiBXaWRnZXRQbGFjZWhvbGRlckNvbXBvbmVudCB9LFxuICAgIGZpbGxlcjogeyBuYW1lOiAnZmlsbGVyJywgY29tcG9uZW50OiBXaWRnZXRGaWxsZXJDb21wb25lbnQgfVxuICB9KTtcbiAgbW9kdWxlUmVmQ2FjaGUgPSB7fSBhcyB7IFttYW5pZmVzdFR5cGU6IHN0cmluZ106IFR5cGU8QmFzZVdpZGdldENvbXBvbmVudD4gfTtcbiAgZGF0YXNvdXJjZXM6IERhdGFTb3VyY2VbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIEBJbmplY3QoV0lER0VUX0RFRklOSVRJT04pIHJlZmVyZW5jZTogeyBba2V5OiBzdHJpbmddOiBXaWRnZXREZWZpbml0aW9uIH0sXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmVcbiAgKSB7XG4gICAgdGhpcy5wdXREZWZpbml0aW9ucyhyZWZlcmVuY2UpO1xuICAgIHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZ2V0RGF0YVNvdXJjZXMpLnN1YnNjcmliZSgoZGF0YXNvdXJjZXMpID0+ICh0aGlzLmRhdGFzb3VyY2VzID0gZGF0YXNvdXJjZXMpKTtcbiAgfVxuXG4gIHJlc29sdmVDb21wb25lbnQobWFuaWZlc3Q6IFdpZGdldE1hbmlmZXN0KSB7XG4gICAgaWYgKHRoaXMubW9kdWxlUmVmQ2FjaGVbbWFuaWZlc3QudHlwZV0pIHtcbiAgICAgIHJldHVybiBvZih0aGlzLm1vZHVsZVJlZkNhY2hlW21hbmlmZXN0LnR5cGVdKTtcbiAgICB9XG4gICAgaWYgKCEhbWFuaWZlc3QgJiYgdGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKClbbWFuaWZlc3QudHlwZV0pIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGlmICh0aGlzLnJlZmVyZW5jZSQuZ2V0VmFsdWUoKVttYW5pZmVzdC50eXBlXS5sb2FkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5tb2R1bGVSZWZDYWNoZVttYW5pZmVzdC50eXBlXSA9IChcbiAgICAgICAgICB0aGlzLnJlZmVyZW5jZSQuZ2V0VmFsdWUoKVttYW5pZmVzdC50eXBlXSBhcyBXaWRnZXRTdGF0aWNEZWZpbml0aW9uXG4gICAgICAgICkuY29tcG9uZW50O1xuICAgICAgICByZXR1cm4gb2YodGhpcy5tb2R1bGVSZWZDYWNoZVttYW5pZmVzdC50eXBlXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZnJvbShcbiAgICAgICAgICAodGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKClbbWFuaWZlc3QudHlwZV0gYXMgV2lkZ2V0TGF6eURlZmluaXRpb24pLmxvYWQoKS50aGVuKChmbikgPT4ge1xuICAgICAgICAgICAgdGhpcy5tb2R1bGVSZWZDYWNoZVttYW5pZmVzdC50eXBlXSA9IGZuKHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubW9kdWxlUmVmQ2FjaGVbbWFuaWZlc3QudHlwZV07XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tb2R1bGVSZWZDYWNoZVttYW5pZmVzdC50eXBlXSA9IChcbiAgICAgICAgdGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKClbJ3BsYWNlaG9sZGVyJ10gYXMgV2lkZ2V0U3RhdGljRGVmaW5pdGlvblxuICAgICAgKS5jb21wb25lbnQ7XG4gICAgICByZXR1cm4gb2YodGhpcy5tb2R1bGVSZWZDYWNoZVttYW5pZmVzdC50eXBlXSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwdXREZWZpbml0aW9ucyhkZWZpbml0aW9uczogeyBba2V5OiBzdHJpbmddOiBXaWRnZXREZWZpbml0aW9uIH0pIHtcbiAgICB0aGlzLnJlZmVyZW5jZSQubmV4dCh7XG4gICAgICAuLi50aGlzLnJlZmVyZW5jZSQuZ2V0VmFsdWUoKSxcbiAgICAgIC4uLmRlZmluaXRpb25zXG4gICAgfSk7XG4gIH1cblxuICBpc01vZHVsZUxvYWRlZCh0eXBlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5yZWZlcmVuY2UkLnBpcGUobWFwKChjb21wb25lbnREZWZzKSA9PiAhIWNvbXBvbmVudERlZnNbdHlwZV0pKTtcbiAgfVxuXG4gIGRhdGFzb3VyY2VzVG9BdXRvTG9hZChtYW5pZmVzdDogV2lkZ2V0TWFuaWZlc3QpIHtcbiAgICBjb25zdCB3aWRnZXREZWZpbml0aW9uID0gdGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKClbbWFuaWZlc3QudHlwZV07XG4gICAgY29uc3QgZGF0YXNvdXJjZXNBcnJheTogc3RyaW5nW10gPSBBcnJheS5pc0FycmF5KG1hbmlmZXN0LmRhdGFzb3VyY2UgPz8gW10pXG4gICAgICA/ICgobWFuaWZlc3QuZGF0YXNvdXJjZSA/PyBbXSkgYXMgc3RyaW5nW10pXG4gICAgICA6IChbbWFuaWZlc3QuZGF0YXNvdXJjZV0gYXMgc3RyaW5nW10pO1xuICAgIHJldHVybiBkYXRhc291cmNlc0FycmF5XG4gICAgICAuZmlsdGVyKChkYXRhc291cmNlKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hdGNoaW5nID0gdGhpcy5kYXRhc291cmNlcy5maW5kKChkcykgPT4gZHMuaWQgPT09IGRhdGFzb3VyY2UpITtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAhIW1hdGNoaW5nICYmXG4gICAgICAgICAgKHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgIHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSAnYWxsJyB8fFxuICAgICAgICAgICAgKHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSAnZ2VvJyAmJiBEYXRhc291cmNlVXRpbHMuaXNHZW8obWF0Y2hpbmcpKSB8fFxuICAgICAgICAgICAgKHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSAnbm90LWdlbycgJiYgIURhdGFzb3VyY2VVdGlscy5pc0dlbyhtYXRjaGluZykpKVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICAgIC5tYXAoKGRhdGFzZXRJZCkgPT4ge1xuICAgICAgICBjb25zdCBtYXRjaGluZyA9IHRoaXMuZGF0YXNvdXJjZXMuZmluZCgoZHMpID0+IGRzLmlkID09PSBkYXRhc2V0SWQpITtcbiAgICAgICAgcmV0dXJuIHsgZGF0YXNldElkOiBkYXRhc2V0SWQsIGV4Y2x1ZGVHZW86IHRoaXMuY2FsY3VsYXRlRXhjbHVkZUdlbyhtYW5pZmVzdCwgbWF0Y2hpbmcpIH07XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlRXhjbHVkZUdlbyhtYW5pZmVzdDogV2lkZ2V0TWFuaWZlc3QsIG1hdGNoaW5nOiBOYW1lZFF1ZXJ5IHwgRGF0YXNldCkge1xuICAgIGlmIChtYW5pZmVzdC5leGNsdWRlR2VvID09PSB1bmRlZmluZWQgfHwgbWFuaWZlc3QuZXhjbHVkZUdlbyA9PT0gJ3dpZGdldC10eXBlLWJhc2VkJykge1xuICAgICAgcmV0dXJuICFOT05fRVhDTFVERV9HRU9fV0lER0VUX1RZUEVTLnZhbHVlcy5pbmNsdWRlcyhtYW5pZmVzdC50eXBlKTtcbiAgICB9XG4gICAgc3dpdGNoIChtYW5pZmVzdC5leGNsdWRlR2VvKSB7XG4gICAgICBjYXNlICdleGNsdWRlLWFsbCc6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgY2FzZSAnZXhjbHVkZS1ub25lJzpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgY2FzZSAnZXhjbHVkZS1nZW8nOlxuICAgICAgICByZXR1cm4gRGF0YXNvdXJjZVV0aWxzLmlzR2VvKG1hdGNoaW5nKTtcbiAgICAgIGNhc2UgJ2V4Y2x1ZGUtbm90LWdlbyc6XG4gICAgICAgIHJldHVybiAhRGF0YXNvdXJjZVV0aWxzLmlzR2VvKG1hdGNoaW5nKTtcbiAgICB9XG4gIH1cblxuICBhZ2dyZWdhdGVzVG9BdXRvTG9hZChtYW5pZmVzdDogV2lkZ2V0TWFuaWZlc3QpIHtcbiAgICBjb25zdCB3aWRnZXREZWZpbml0aW9uID0gdGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKClbbWFuaWZlc3QudHlwZV07XG4gICAgY29uc3QgZGF0YXNvdXJjZXNBcnJheTogc3RyaW5nW10gPSBBcnJheS5pc0FycmF5KG1hbmlmZXN0LmRhdGFzb3VyY2UgPz8gW10pXG4gICAgICA/ICgobWFuaWZlc3QuZGF0YXNvdXJjZSA/PyBbXSkgYXMgc3RyaW5nW10pXG4gICAgICA6IChbbWFuaWZlc3QuZGF0YXNvdXJjZV0gYXMgc3RyaW5nW10pO1xuICAgIHJldHVybiBkYXRhc291cmNlc0FycmF5LmZpbHRlcihcbiAgICAgICgpID0+IHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSB1bmRlZmluZWQgfHwgd2lkZ2V0RGVmaW5pdGlvbi5hdXRvTG9hZERhdGFzb3VyY2UgPT09ICdhZ2dyZWdhdGUnXG4gICAgKTtcbiAgfVxuXG4gIGdldE9iamVjdHNUb0F1dG9Mb2FkKG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdCkge1xuICAgIGNvbnN0IGRhdGFzb3VyY2VzOiB7IGRhdGFzZXRJZDogc3RyaW5nOyBleGNsdWRlR2VvOiBib29sZWFuIH1bXSA9IFtdO1xuICAgIGNvbnN0IGFnZ3JlZ2F0ZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBtYW5pZmVzdC53aW5kb3dzLmZvckVhY2goKHdpbmRvd01hbmlmZXN0KSA9PiB7XG4gICAgICAod2luZG93TWFuaWZlc3Qud2lkZ2V0cyA/PyBbXSkuZm9yRWFjaCgod2lkZ2V0TWFuaWZlc3QpID0+IHtcbiAgICAgICAgdGhpcy5kYXRhc291cmNlc1RvQXV0b0xvYWQod2lkZ2V0TWFuaWZlc3QpLmZvckVhY2goKHJlczogeyBkYXRhc2V0SWQ6IHN0cmluZzsgZXhjbHVkZUdlbzogYm9vbGVhbiB9KSA9PiB7XG4gICAgICAgICAgaWYgKHJlcy5kYXRhc2V0SWQpIHtcbiAgICAgICAgICAgIGRhdGFzb3VyY2VzLnB1c2gocmVzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuYWdncmVnYXRlc1RvQXV0b0xvYWQod2lkZ2V0TWFuaWZlc3QpLmZvckVhY2goKGRzOiBzdHJpbmcpID0+IGFnZ3JlZ2F0ZXMucHVzaChkcykpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4geyBkYXRhc291cmNlcywgYWdncmVnYXRlcyB9O1xuICB9XG59XG4iXX0=
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWZhY3Rvcnkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvY29tcG9uZW50cy93aWRnZXRzL3dpZGdldC1pbnN0YW5jaWF0b3Ivd2lkZ2V0LWZhY3Rvcnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFRbEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFaEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBRy9GLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBRXBFLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUFTLG9CQUFvQixDQUFDLENBQUM7QUFFbEYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUc7SUFDMUMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQztDQUN4QixDQUFDO0FBS0YsTUFBTSxPQUFPLG9CQUFvQjtJQVEvQixZQUNVLFFBQWtCLEVBQ0MsU0FBOEMsRUFDakUsS0FBWTtRQUZaLGFBQVEsR0FBUixRQUFRLENBQVU7UUFFbEIsVUFBSyxHQUFMLEtBQUssQ0FBTztRQVZ0QixlQUFVLEdBQUcsSUFBSSxlQUFlLENBQXNDO1lBQ3BFLFdBQVcsRUFBRSxF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QiwwQ0FVckIsaUJBQWlCO2tIQVZoQixvQkFBb0IsY0FGbkIsTUFBTTs7MkZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBV0ksTUFBTTsyQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBJbmplY3RvciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmcm9tLCBtYXAsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBEYXNoYm9hcmRNYW5pZmVzdCxcbiAgRGF0YXNvdXJjZVJlcXVlc3QsXG4gIEdsb2JhbE1hbmlmZXN0LFxuICBXaWRnZXRNYW5pZmVzdFxufSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBCYXNlV2lkZ2V0Q29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS13aWRnZXQuY29tcG9uZW50JztcbmltcG9ydCB7IFdpZGdldEZpbGxlckNvbXBvbmVudCB9IGZyb20gJy4uL3dpZGdldC1maWxsZXIvd2lkZ2V0LWZpbGxlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2lkZ2V0UGxhY2Vob2xkZXJDb21wb25lbnQgfSBmcm9tICcuLi93aWRnZXQtcGxhY2Vob2xkZXIvd2lkZ2V0LXBsYWNlaG9sZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXaWRnZXREZWZpbml0aW9uLCBXaWRnZXRMYXp5RGVmaW5pdGlvbiwgV2lkZ2V0U3RhdGljRGVmaW5pdGlvbiB9IGZyb20gJy4vd2lkZ2V0cy1kZWZpbml0aW9uLm1vZGVsJztcbmltcG9ydCB7IERhdGFzb3VyY2VVdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvc3RvcmUvZGF0YS1zb3VyY2UvZGF0YXNvdXJjZS11dGlscyc7XG5pbXBvcnQgeyBEYXRhU291cmNlU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBEYXRhc2V0LCBEYXRhU291cmNlLCBOYW1lZFF1ZXJ5IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zdG9yZS9kYXRhLXNvdXJjZS9kYXRhLXNvdXJjZS5tb2RlbCc7XG5pbXBvcnQgeyBNYW5pZmVzdFV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvbWFuaWZlc3QtdXRpbHMuY2xhc3MnO1xuXG5leHBvcnQgY29uc3QgV0lER0VUX0RFRklOSVRJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignV2lkZ2V0cyBkZWZpbml0aW9uJyk7XG5cbmV4cG9ydCBjb25zdCBOT05fRVhDTFVERV9HRU9fV0lER0VUX1RZUEVTID0ge1xuICB2YWx1ZXM6IFsnbWFwJywgJ3RpbGUnXVxufTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgV2lkZ2V0RmFjdG9yeVNlcnZpY2Uge1xuICByZWZlcmVuY2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IFtrZXk6IHN0cmluZ106IFdpZGdldERlZmluaXRpb24gfT4oe1xuICAgIHBsYWNlaG9sZGVyOiB7IG5hbWU6ICdwbGFjZWhvbGRlcicsIGNvbXBvbmVudDogV2lkZ2V0UGxhY2Vob2xkZXJDb21wb25lbnQgfSxcbiAgICBmaWxsZXI6IHsgbmFtZTogJ2ZpbGxlcicsIGNvbXBvbmVudDogV2lkZ2V0RmlsbGVyQ29tcG9uZW50IH1cbiAgfSk7XG4gIG1vZHVsZVJlZkNhY2hlID0ge30gYXMgeyBbbWFuaWZlc3RUeXBlOiBzdHJpbmddOiBUeXBlPEJhc2VXaWRnZXRDb21wb25lbnQ+IH07XG4gIGRhdGFzb3VyY2VzOiBEYXRhU291cmNlW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBASW5qZWN0KFdJREdFVF9ERUZJTklUSU9OKSByZWZlcmVuY2U6IHsgW2tleTogc3RyaW5nXTogV2lkZ2V0RGVmaW5pdGlvbiB9LFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlXG4gICkge1xuICAgIHRoaXMucHV0RGVmaW5pdGlvbnMocmVmZXJlbmNlKTtcbiAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmdldERhdGFTb3VyY2VzKS5zdWJzY3JpYmUoKGRhdGFzb3VyY2VzKSA9PiAodGhpcy5kYXRhc291cmNlcyA9IGRhdGFzb3VyY2VzKSk7XG4gIH1cblxuICByZXNvbHZlQ29tcG9uZW50KG1hbmlmZXN0OiBXaWRnZXRNYW5pZmVzdCkge1xuICAgIGlmICh0aGlzLm1vZHVsZVJlZkNhY2hlW21hbmlmZXN0LnR5cGVdKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5tb2R1bGVSZWZDYWNoZVttYW5pZmVzdC50eXBlXSk7XG4gICAgfVxuICAgIGlmICghIW1hbmlmZXN0ICYmIHRoaXMucmVmZXJlbmNlJC5nZXRWYWx1ZSgpW21hbmlmZXN0LnR5cGVdKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBpZiAodGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKClbbWFuaWZlc3QudHlwZV0ubG9hZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMubW9kdWxlUmVmQ2FjaGVbbWFuaWZlc3QudHlwZV0gPSAoXG4gICAgICAgICAgdGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKClbbWFuaWZlc3QudHlwZV0gYXMgV2lkZ2V0U3RhdGljRGVmaW5pdGlvblxuICAgICAgICApLmNvbXBvbmVudDtcbiAgICAgICAgcmV0dXJuIG9mKHRoaXMubW9kdWxlUmVmQ2FjaGVbbWFuaWZlc3QudHlwZV0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZyb20oXG4gICAgICAgICAgKHRoaXMucmVmZXJlbmNlJC5nZXRWYWx1ZSgpW21hbmlmZXN0LnR5cGVdIGFzIFdpZGdldExhenlEZWZpbml0aW9uKS5sb2FkKCkudGhlbigoZm4pID0+IHtcbiAgICAgICAgICAgIHRoaXMubW9kdWxlUmVmQ2FjaGVbbWFuaWZlc3QudHlwZV0gPSBmbih0aGlzLmluamVjdG9yKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1vZHVsZVJlZkNhY2hlW21hbmlmZXN0LnR5cGVdO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW9kdWxlUmVmQ2FjaGVbbWFuaWZlc3QudHlwZV0gPSAoXG4gICAgICAgIHRoaXMucmVmZXJlbmNlJC5nZXRWYWx1ZSgpWydwbGFjZWhvbGRlciddIGFzIFdpZGdldFN0YXRpY0RlZmluaXRpb25cbiAgICAgICkuY29tcG9uZW50O1xuICAgICAgcmV0dXJuIG9mKHRoaXMubW9kdWxlUmVmQ2FjaGVbbWFuaWZlc3QudHlwZV0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcHV0RGVmaW5pdGlvbnMoZGVmaW5pdGlvbnM6IHsgW2tleTogc3RyaW5nXTogV2lkZ2V0RGVmaW5pdGlvbiB9KSB7XG4gICAgdGhpcy5yZWZlcmVuY2UkLm5leHQoe1xuICAgICAgLi4udGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKCksXG4gICAgICAuLi5kZWZpbml0aW9uc1xuICAgIH0pO1xuICB9XG5cbiAgaXNNb2R1bGVMb2FkZWQodHlwZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMucmVmZXJlbmNlJC5waXBlKG1hcCgoY29tcG9uZW50RGVmcykgPT4gISFjb21wb25lbnREZWZzW3R5cGVdKSk7XG4gIH1cblxuICBkYXRhc291cmNlc1RvQXV0b0xvYWQobWFuaWZlc3Q6IERhc2hib2FyZE1hbmlmZXN0KSB7XG4gICAgcmV0dXJuIE1hbmlmZXN0VXRpbHMubWVyZ2VEYXRhc291cmNlUmVxdWVzdHMoXG4gICAgICBtYW5pZmVzdC53aWRnZXRzXG4gICAgICAgIC5tYXAoKHdpZGdldE1hbmlmZXN0KSA9PiB7XG4gICAgICAgICAgY29uc3Qgd2lkZ2V0RGVmaW5pdGlvbiA9IHRoaXMucmVmZXJlbmNlJC5nZXRWYWx1ZSgpW3dpZGdldE1hbmlmZXN0LnR5cGVdO1xuICAgICAgICAgIGNvbnN0IGRhdGFzb3VyY2VzQXJyYXk6IHN0cmluZ1tdID0gQXJyYXkuaXNBcnJheSh3aWRnZXRNYW5pZmVzdC5kYXRhc291cmNlID8/IFtdKVxuICAgICAgICAgICAgPyAoKHdpZGdldE1hbmlmZXN0LmRhdGFzb3VyY2UgPz8gW10pIGFzIHN0cmluZ1tdKVxuICAgICAgICAgICAgOiAoW3dpZGdldE1hbmlmZXN0LmRhdGFzb3VyY2VdIGFzIHN0cmluZ1tdKTtcblxuICAgICAgICAgIHJldHVybiBkYXRhc291cmNlc0FycmF5XG4gICAgICAgICAgICAuZmlsdGVyKChkYXRhc291cmNlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG1hdGNoaW5nID0gdGhpcy5kYXRhc291cmNlcy5maW5kKChkcykgPT4gZHMuaWQgPT09IGRhdGFzb3VyY2UpITtcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAhIW1hdGNoaW5nICYmXG4gICAgICAgICAgICAgICAgKHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgICAgIHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSAnYWxsJyB8fFxuICAgICAgICAgICAgICAgICAgKHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSAnZ2VvJyAmJiBEYXRhc291cmNlVXRpbHMuaXNHZW8obWF0Y2hpbmcpKSB8fFxuICAgICAgICAgICAgICAgICAgKHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSAnbm90LWdlbycgJiYgIURhdGFzb3VyY2VVdGlscy5pc0dlbyhtYXRjaGluZykpKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5tYXAoKGRhdGFzZXRJZCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBtYXRjaGluZyA9IHRoaXMuZGF0YXNvdXJjZXMuZmluZCgoZHMpID0+IGRzLmlkID09PSBkYXRhc2V0SWQpITtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBkYXRhc2V0SWQ6IGRhdGFzZXRJZCxcbiAgICAgICAgICAgICAgICBleGNsdWRlR2VvOiB0aGlzLmNhbGN1bGF0ZUV4Y2x1ZGVHZW8od2lkZ2V0TWFuaWZlc3QsIG1hdGNoaW5nKSxcbiAgICAgICAgICAgICAgICBsaW5rZWRJdGVtczogbWFuaWZlc3QubGlua2VkSXRlbXNcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgICAuZmxhdCgpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlRXhjbHVkZUdlbyhtYW5pZmVzdDogV2lkZ2V0TWFuaWZlc3QsIG1hdGNoaW5nOiBOYW1lZFF1ZXJ5IHwgRGF0YXNldCkge1xuICAgIGlmIChtYW5pZmVzdC5leGNsdWRlR2VvID09PSB1bmRlZmluZWQgfHwgbWFuaWZlc3QuZXhjbHVkZUdlbyA9PT0gJ3dpZGdldC10eXBlLWJhc2VkJykge1xuICAgICAgcmV0dXJuICFOT05fRVhDTFVERV9HRU9fV0lER0VUX1RZUEVTLnZhbHVlcy5pbmNsdWRlcyhtYW5pZmVzdC50eXBlKTtcbiAgICB9XG4gICAgc3dpdGNoIChtYW5pZmVzdC5leGNsdWRlR2VvKSB7XG4gICAgICBjYXNlICdleGNsdWRlLWFsbCc6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgY2FzZSAnZXhjbHVkZS1ub25lJzpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgY2FzZSAnZXhjbHVkZS1nZW8nOlxuICAgICAgICByZXR1cm4gRGF0YXNvdXJjZVV0aWxzLmlzR2VvKG1hdGNoaW5nKTtcbiAgICAgIGNhc2UgJ2V4Y2x1ZGUtbm90LWdlbyc6XG4gICAgICAgIHJldHVybiAhRGF0YXNvdXJjZVV0aWxzLmlzR2VvKG1hdGNoaW5nKTtcbiAgICB9XG4gIH1cblxuICBhZ2dyZWdhdGVzVG9BdXRvTG9hZChtYW5pZmVzdDogV2lkZ2V0TWFuaWZlc3QpIHtcbiAgICBjb25zdCB3aWRnZXREZWZpbml0aW9uID0gdGhpcy5yZWZlcmVuY2UkLmdldFZhbHVlKClbbWFuaWZlc3QudHlwZV07XG4gICAgY29uc3QgZGF0YXNvdXJjZXNBcnJheTogc3RyaW5nW10gPSBBcnJheS5pc0FycmF5KG1hbmlmZXN0LmRhdGFzb3VyY2UgPz8gW10pXG4gICAgICA/ICgobWFuaWZlc3QuZGF0YXNvdXJjZSA/PyBbXSkgYXMgc3RyaW5nW10pXG4gICAgICA6IChbbWFuaWZlc3QuZGF0YXNvdXJjZV0gYXMgc3RyaW5nW10pO1xuICAgIHJldHVybiBkYXRhc291cmNlc0FycmF5LmZpbHRlcihcbiAgICAgICgpID0+IHdpZGdldERlZmluaXRpb24uYXV0b0xvYWREYXRhc291cmNlID09PSB1bmRlZmluZWQgfHwgd2lkZ2V0RGVmaW5pdGlvbi5hdXRvTG9hZERhdGFzb3VyY2UgPT09ICdhZ2dyZWdhdGUnXG4gICAgKTtcbiAgfVxuXG4gIGdldE9iamVjdHNUb0F1dG9Mb2FkKG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdCkge1xuICAgIGNvbnN0IGRhdGFzb3VyY2VzOiBEYXRhc291cmNlUmVxdWVzdFtdID0gW107XG4gICAgY29uc3QgYWdncmVnYXRlczogc3RyaW5nW10gPSBbXTtcblxuICAgIG1hbmlmZXN0LndpbmRvd3MuZm9yRWFjaCgod2luZG93TWFuaWZlc3QpID0+IHtcbiAgICAgIHRoaXMuZGF0YXNvdXJjZXNUb0F1dG9Mb2FkKHdpbmRvd01hbmlmZXN0KS5mb3JFYWNoKChyZXM6IHsgZGF0YXNldElkOiBzdHJpbmc7IGV4Y2x1ZGVHZW86IGJvb2xlYW4gfSkgPT4ge1xuICAgICAgICBpZiAocmVzLmRhdGFzZXRJZCkge1xuICAgICAgICAgIGRhdGFzb3VyY2VzLnB1c2gocmVzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgICh3aW5kb3dNYW5pZmVzdC53aWRnZXRzID8/IFtdKS5mb3JFYWNoKCh3aWRnZXRNYW5pZmVzdCkgPT4ge1xuICAgICAgICB0aGlzLmFnZ3JlZ2F0ZXNUb0F1dG9Mb2FkKHdpZGdldE1hbmlmZXN0KS5mb3JFYWNoKChkczogc3RyaW5nKSA9PiBhZ2dyZWdhdGVzLnB1c2goZHMpKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHsgZGF0YXNvdXJjZXM6IE1hbmlmZXN0VXRpbHMubWVyZ2VEYXRhc291cmNlUmVxdWVzdHMoZGF0YXNvdXJjZXMpLCBhZ2dyZWdhdGVzIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -22,10 +22,10 @@ export class FilterGroupComponent {
|
|
|
22
22
|
}
|
|
23
23
|
filter() {
|
|
24
24
|
this.apply$.next();
|
|
25
|
-
this.store.dispatch(DashboardActions.dispatchFilters({
|
|
25
|
+
this.store.dispatch(DashboardActions.dispatchFilters({}));
|
|
26
26
|
}
|
|
27
27
|
clearFilters() {
|
|
28
|
-
this.store.dispatch(DashboardActions.clearAllFilterValues(
|
|
28
|
+
this.store.dispatch(DashboardActions.clearAllFilterValues());
|
|
29
29
|
}
|
|
30
30
|
openSelect() {
|
|
31
31
|
this.isSelectOpen =
|
|
@@ -44,7 +44,7 @@ export class FilterGroupComponent {
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FilterGroupComponent, deps: [{ token: i1.Store }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
47
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FilterGroupComponent, selector: "pry-filter-group", inputs: { enterTriggerFilter: "enterTriggerFilter", clearTriggerFilter: "clearTriggerFilter"
|
|
47
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FilterGroupComponent, selector: "pry-filter-group", inputs: { enterTriggerFilter: "enterTriggerFilter", clearTriggerFilter: "clearTriggerFilter" }, ngImport: i0, template: "<pry-filter-group-css></pry-filter-group-css>\n@if (globalManifest$ | async; as manifest) {\n @if (manifest.filters && manifest.filters.length > 0) {\n <div class=\"o-container__filters\">\n <div class=\"o-container__filter-container\" (click)=\"openSelect()\">\n @for (filterDescription of manifest.filters; track filterDescription.id) {\n @if (filterDescription.type !== 'invisible') {\n <pry-filter-instanciator\n [filter]=\"filterDescription\"\n [applyFilter$]=\"apply$\"\n (pressedEnter)=\"enterPressed()\"\n (cleared)=\"cleared()\"\n ></pry-filter-instanciator>\n }\n }\n </div>\n <div class=\"o-container__filter-actions\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\" [width]=\"30\" [height]=\"30\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"filter()\">\n {{ '@pry.toolbox.apply' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n </div>\n </div>\n }\n}\n", dependencies: [{ kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i3.FilterInstanciatorComponent, selector: "pry-filter-instanciator", inputs: ["filter", "applyFilter$"], outputs: ["pressedEnter", "cleared"] }, { kind: "component", type: i4.PryFilterGroupCssComponent, selector: "pry-filter-group-css" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.I18nPipe, name: "i18n" }] }); }
|
|
48
48
|
}
|
|
49
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FilterGroupComponent, decorators: [{
|
|
50
50
|
type: Component,
|
|
@@ -56,7 +56,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
56
56
|
type: Input
|
|
57
57
|
}], clearTriggerFilter: [{
|
|
58
58
|
type: Input
|
|
59
|
-
}], linkedItems: [{
|
|
60
|
-
type: Input
|
|
61
59
|
}] } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9kYXNoYm9hcmQvZmlsdGVyL2NvbXBvbmVudHMvZmlsdGVyLWdyb3VwL2ZpbHRlci1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL2ZpbHRlci9jb21wb25lbnRzL2ZpbHRlci1ncm91cC9maWx0ZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFHbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7OztBQU0zQyxNQUFNLE9BQU8sb0JBQW9CO0lBTy9CLFlBQ1ksS0FBWSxFQUNJLFFBQWtCO1FBRGxDLFVBQUssR0FBTCxLQUFLLENBQU87UUFDSSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBUDlDLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBTyxTQUFTLENBQUMsQ0FBQztRQUM5QyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNaLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQix1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFNbEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsWUFBWTtZQUNmLElBQUksQ0FBQyxRQUFRO2lCQUNWLGFBQWEsQ0FBQyxnQ0FBZ0MsQ0FBQztnQkFDaEQsRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDO0lBQ3pGLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7OEdBeENVLG9CQUFvQix1Q0FTckIsUUFBUTtrR0FUUCxvQkFBb0Isd0pDWmpDLG90Q0E0QkE7OzJGRGhCYSxvQkFBb0I7a0JBSmhDLFNBQVM7K0JBQ0Usa0JBQWtCOzswQkFZekIsTUFBTTsyQkFBQyxRQUFRO3lDQUxULGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBHbG9iYWxNYW5pZmVzdCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvbW9kZWwvbWFuaWZlc3QuaW50ZXJmYWNlJztcbmltcG9ydCB7IERhc2hib2FyZFNlbGVjdG9ycyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2Rhc2hib2FyZC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgRGFzaGJvYXJkQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2Rhc2hib2FyZC5hY3Rpb25zJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWZpbHRlci1ncm91cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItZ3JvdXAuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlckdyb3VwQ29tcG9uZW50IHtcbiAgZ2xvYmFsTWFuaWZlc3QkOiBPYnNlcnZhYmxlPEdsb2JhbE1hbmlmZXN0PjtcbiAgYXBwbHkkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih1bmRlZmluZWQpO1xuICBpc1NlbGVjdE9wZW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZW50ZXJUcmlnZ2VyRmlsdGVyID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNsZWFyVHJpZ2dlckZpbHRlciA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBzdG9yZTogU3RvcmUsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnRcbiAgKSB7XG4gICAgdGhpcy5nbG9iYWxNYW5pZmVzdCQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuZ2xvYmFsTWFuaWZlc3QpO1xuICB9XG5cbiAgZmlsdGVyKCkge1xuICAgIHRoaXMuYXBwbHkkLm5leHQoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMuZGlzcGF0Y2hGaWx0ZXJzKHt9KSk7XG4gIH1cblxuICBjbGVhckZpbHRlcnMoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLmNsZWFyQWxsRmlsdGVyVmFsdWVzKCkpO1xuICB9XG5cbiAgb3BlblNlbGVjdCgpIHtcbiAgICB0aGlzLmlzU2VsZWN0T3BlbiA9XG4gICAgICB0aGlzLmRvY3VtZW50XG4gICAgICAgIC5xdWVyeVNlbGVjdG9yKCcuby1jb250YWluZXJfX2ZpbHRlci1jb250YWluZXInKVxuICAgICAgICA/LmNvbnRhaW5zKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ25nLWRyb3Bkb3duLXBhbmVsLm5nLWRyb3Bkb3duLXBhbmVsJykpIHx8IGZhbHNlO1xuICB9XG5cbiAgZW50ZXJQcmVzc2VkKCkge1xuICAgIGlmICh0aGlzLmVudGVyVHJpZ2dlckZpbHRlcikge1xuICAgICAgdGhpcy5maWx0ZXIoKTtcbiAgICB9XG4gIH1cblxuICBjbGVhcmVkKCkge1xuICAgIGlmICh0aGlzLmNsZWFyVHJpZ2dlckZpbHRlcikge1xuICAgICAgdGhpcy5maWx0ZXIoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxwcnktZmlsdGVyLWdyb3VwLWNzcz48L3ByeS1maWx0ZXItZ3JvdXAtY3NzPlxuQGlmIChnbG9iYWxNYW5pZmVzdCQgfCBhc3luYzsgYXMgbWFuaWZlc3QpIHtcbiAgQGlmIChtYW5pZmVzdC5maWx0ZXJzICYmIG1hbmlmZXN0LmZpbHRlcnMubGVuZ3RoID4gMCkge1xuICAgIDxkaXYgY2xhc3M9XCJvLWNvbnRhaW5lcl9fZmlsdGVyc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cIm8tY29udGFpbmVyX19maWx0ZXItY29udGFpbmVyXCIgKGNsaWNrKT1cIm9wZW5TZWxlY3QoKVwiPlxuICAgICAgICBAZm9yIChmaWx0ZXJEZXNjcmlwdGlvbiBvZiBtYW5pZmVzdC5maWx0ZXJzOyB0cmFjayBmaWx0ZXJEZXNjcmlwdGlvbi5pZCkge1xuICAgICAgICAgIEBpZiAoZmlsdGVyRGVzY3JpcHRpb24udHlwZSAhPT0gJ2ludmlzaWJsZScpIHtcbiAgICAgICAgICAgIDxwcnktZmlsdGVyLWluc3RhbmNpYXRvclxuICAgICAgICAgICAgICBbZmlsdGVyXT1cImZpbHRlckRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgW2FwcGx5RmlsdGVyJF09XCJhcHBseSRcIlxuICAgICAgICAgICAgICAocHJlc3NlZEVudGVyKT1cImVudGVyUHJlc3NlZCgpXCJcbiAgICAgICAgICAgICAgKGNsZWFyZWQpPVwiY2xlYXJlZCgpXCJcbiAgICAgICAgICAgID48L3ByeS1maWx0ZXItaW5zdGFuY2lhdG9yPlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1jb250YWluZXJfX2ZpbHRlci1hY3Rpb25zXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiIChjbGljayk9XCJjbGVhckZpbHRlcnMoKVwiPlxuICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiY2xlYXJfZmlsdGVyXCIgW3dpZHRoXT1cIjMwXCIgW2hlaWdodF09XCIzMFwiPjwvcHJ5LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCIgKGNsaWNrKT1cImZpbHRlcigpXCI+XG4gICAgICAgICAge3sgJ0BwcnkudG9vbGJveC5hcHBseScgfCBpMThuIH19XG4gICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJyZWZyZXNoX2ZpbHRlclwiIFt3aWR0aF09XCIxOFwiIFtoZWlnaHRdPVwiMThcIj48L3ByeS1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9XG59XG4iXX0=
|
|
@@ -74,7 +74,7 @@ export const DashboardActions = {
|
|
|
74
74
|
removeFilter: createAction('[Dashboard] (bus) remove filter in presentation', props()),
|
|
75
75
|
removeFilters: createAction('[Dashboard] (bus) remove filters'),
|
|
76
76
|
updateFilterValue: createAction('[Dashboard] (bus) update filter value', props()),
|
|
77
|
-
clearAllFilterValues: createAction('[Dashboard] (bus) clear all filter values'
|
|
77
|
+
clearAllFilterValues: createAction('[Dashboard] (bus) clear all filter values'),
|
|
78
78
|
dispatchFilters: createAction('[Dashboard] (bus) apply filters to presentation datasources', props()),
|
|
79
79
|
resetWmsFeatures: createAction('[Widget map] Reset Wms layer features', props()),
|
|
80
80
|
getWmsFeatures: createAction('[Widget map] Get Wms layer features', props()),
|
|
@@ -89,4 +89,4 @@ export const DashboardActions = {
|
|
|
89
89
|
triggerAggregate: createAction('[Dashboard] (bus) Triggering aggregates for datasource', props()),
|
|
90
90
|
loadPresentation: createAction('[Dashboard] load presentation', props())
|
|
91
91
|
};
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL3N0b3JlL2Rhc2hib2FyZC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBNkJsRCxNQUFNLENBQU4sSUFBWSxRQVFYO0FBUkQsV0FBWSxRQUFRO0lBQ2xCLCtCQUFtQixDQUFBO0lBQ25CLCtCQUFtQixDQUFBO0lBQ25CLGlDQUFxQixDQUFBO0lBQ3JCLCtCQUFtQixDQUFBO0lBQ25CLDZCQUFpQixDQUFBO0lBQ2pCLDZCQUFpQixDQUFBO0lBQ2pCLDZCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFSVyxRQUFRLEtBQVIsUUFBUSxRQVFuQjtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLElBQUksRUFBRSxZQUFZLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLEtBQUssRUFBRSxZQUFZLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLGNBQWMsRUFBRSxZQUFZLENBQzFCLHFDQUFxQyxFQUNyQyxLQUFLLEVBT0QsQ0FDTDtJQUNELHdCQUF3QixFQUFFLFlBQVksQ0FDcEMsaURBQWlELEVBQ2pELEtBQUssRUFPRCxDQUNMO0lBQ0QsK0JBQStCLEVBQUUsWUFBWSxDQUMzQyw0REFBNEQsRUFDNUQsS0FBSyxFQU9ELENBQ0w7SUFDRCw2QkFBNkIsRUFBRSxZQUFZLENBQ3pDLHVEQUF1RCxFQUN2RCxLQUFLLEVBU0QsQ0FDTDtJQUNELDhCQUE4QixFQUFFLFlBQVksQ0FDMUMsd0RBQXdELEVBQ3hELEtBQUssRUFPRCxDQUNMO0lBQ0Qsa0JBQWtCLEVBQUUsWUFBWSxDQUM5QixzQ0FBc0MsRUFDdEMs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QUFrRCxDQUN4RDtJQUNELGdCQUFnQixFQUFFLFlBQVksQ0FBQyx3REFBd0QsRUFBRSxLQUFLLEVBQWtCLENBQUM7SUFDakgsZ0JBQWdCLEVBQUUsWUFBWSxDQUM1QiwrQkFBK0IsRUFDL0IsS0FBSyxFQUE2RCxDQUNuRTtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgUHJ5U25hY2tNZXNzYWdlIH0gZnJvbSAnLi4vLi4vY29yZS9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEaXNwbGF5T3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvZGlzcGxheS1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL2ZpbHRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSXRlbSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgRGFzaGJvYXJkTWFuaWZlc3QsXG4gIEdsb2JhbE1hbmlmZXN0LFxuICBNYW5pZmVzdERlc2NyaXB0aW9uLFxuICBXaWRnZXRNYW5pZmVzdFxufSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL21hbmlmZXN0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZWxhdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvcmVsYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IE9yZGVyVmFsdWUgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL3Jlc3VsdC1vcmRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzdWx0U2V0LCBSZXN1bHRTZXRzIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9yZXN1bHQtc2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBHZXRDYXBhYmlsaXRpZXNSZXNwb25zZSB9IGZyb20gJy4vd21zLnNlcnZpY2UnO1xuXG5leHBvcnQgdHlwZSBEYXNoYm9hcmRDZWxsUGFyYW1zID0ge1xuICBncmlkV2lkdGg6IG51bWJlcjtcbiAgZ3JpZEhlaWdodDogbnVtYmVyO1xuICBncmlkR2FwOiBudW1iZXI7XG4gIGNvbHVtbnM6IG51bWJlcjtcbiAgY2VsbEhlaWdodDogbnVtYmVyO1xuICByb3dzOiBudW1iZXI7XG4gIGNlbGxXaWR0aDogbnVtYmVyO1xuICBvZmZzZXRMZWZ0OiBudW1iZXI7XG4gIG9mZnNldFRvcDogbnVtYmVyO1xuICBtb2JpbGVNb2RlOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGVudW0gVmlld01vZGUge1xuICBDQVRBTE9HID0gJ2NhdGFsb2cnLFxuICBDT05TVUxUID0gJ2NvbnN1bHQnLFxuICBDUkVBVElPTiA9ICdjcmVhdGlvbicsXG4gIEVESVRJT04gPSAnZWRpdGlvbicsXG4gIEVESVRPUiA9ICdlZGl0b3InLFxuICBTRUFSQ0ggPSAnc2VhcmNoJyxcbiAgQ1VTVE9NID0gJ2N1c3RvbSdcbn1cblxuZXhwb3J0IGNvbnN0IERhc2hib2FyZEFjdGlvbnMgPSB7XG4gIGpvaW46IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gam9pbmVkJywgcHJvcHM8eyBzZW5kZXI6IHN0cmluZyB9PigpKSxcbiAgbGVhdmU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gbGVhdmUnLCBwcm9wczx7IHNlbmRlcjogc3RyaW5nIH0+KCkpLFxuICB1cGRhdGVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyBtYW5pZmVzdCcsXG4gICAgcHJvcHM8e1xuICAgICAgdGVuYW50cz86IHN0cmluZ1tdO1xuICAgICAgbWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgcmVzdWx0U2V0cz86IFJlc3VsdFNldHM7XG4gICAgICBqb2luaW5nPzogYm9vbGVhbjtcbiAgICAgIG1hbmlmZXN0SWQ/OiBzdHJpbmc7XG4gICAgICBzZWxlY3RlZElkczogc3RyaW5nW107XG4gICAgfT4oKVxuICApLFxuICB1cGRhdGVNYW5pZmVzdEFmdGVyRmV0Y2g6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgbWFuaWZlc3QgYWZ0ZXIgZmV0Y2gnLFxuICAgIHByb3BzPHtcbiAgICAgIHRlbmFudHM/OiBzdHJpbmdbXTtcbiAgICAgIG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdDtcbiAgICAgIHJlc3VsdFNldHM/OiBSZXN1bHRTZXRzO1xuICAgICAgam9pbmluZz86IGJvb2xlYW47XG4gICAgICBtYW5pZmVzdElkPzogc3RyaW5nO1xuICAgICAgc2VsZWN0ZWRJZHM6IHN0cmluZ1tdO1xuICAgIH0+KClcbiAgKSxcbiAgdXBkYXRlTWFuaWZlc3RXaXRob3V0QWN0aXZhdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyBtYW5pZmVzdCBidXQgZG8gbm90IGFjdGl2YXRlIGl0JyxcbiAgICBwcm9wczx7XG4gICAgICB0ZW5hbnRzPzogc3RyaW5nW107XG4gICAgICBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICByZXN1bHRTZXRzPzogUmVzdWx0U2V0cztcbiAgICAgIGpvaW5pbmc/OiBib29sZWFuO1xuICAgICAgbWFuaWZlc3RJZD86IHN0cmluZztcbiAgICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXTtcbiAgICB9PigpXG4gICksXG4gIHVwZGF0ZU1hbmlmZXN0QWZ0ZXJUZW5hbnRKb2luOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIG1hbmlmZXN0IGFmdGVyIHRlbmFudCBqb2luJyxcbiAgICBwcm9wczx7XG4gICAgICB0ZW5hbnRzPzogc3RyaW5nW107XG4gICAgICBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICByZXN1bHRTZXRzPzogUmVzdWx0U2V0cztcbiAgICAgIGpvaW5pbmc/OiBib29sZWFuO1xuICAgICAgbWFuaWZlc3RJZD86IHN0cmluZztcbiAgICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXTtcbiAgICAgIHByZXNlbnRhdGlvbj86IHsgY3VycmVudD86IE1hbmlmZXN0RGVzY3JpcHRpb247IGluaXRpYWw/OiBHbG9iYWxNYW5pZmVzdDsgdmlld01vZGU/OiBWaWV3TW9kZSB9O1xuICAgICAgZGlzcGxheT86IERpc3BsYXlPcHRpb25zO1xuICAgIH0+KClcbiAgKSxcbiAgdXBkYXRlTWFuaWZlc3RBZnRlclRlbmFudExlYXZlOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIG1hbmlmZXN0IGFmdGVyIHRlbmFudCBsZWF2ZScsXG4gICAgcHJvcHM8e1xuICAgICAgdGVuYW50cz86IHN0cmluZ1tdO1xuICAgICAgbWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgcmVzdWx0U2V0cz86IFJlc3VsdFNldHM7XG4gICAgICBqb2luaW5nPzogYm9vbGVhbjtcbiAgICAgIG1hbmlmZXN0SWQ/OiBzdHJpbmc7XG4gICAgICBzZWxlY3RlZElkczogc3RyaW5nW107XG4gICAgfT4oKVxuICApLFxuICBzZWxlY3RQcmVzZW50YXRpb246IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgc2VsZWN0UHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7XG4gICAgICBwcmVzZW50YXRpb246IE1hbmlmZXN0RGVzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gICAgICB2aWV3TW9kZT86IFZpZXdNb2RlO1xuICAgIH0+KClcbiAgKSxcbiAgc2V0SW5pdGlhbFByZXNlbnRhdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBzZXQgaW5pdGlhbCBwcmVzZW50YXRpb24nLFxuICAgIHByb3BzPHtcbiAgICAgIGluaXRpYWw/OiBHbG9iYWxNYW5pZmVzdDtcbiAgICB9PigpXG4gICksXG4gIGRlY2xhcmVTZW5kZXJJZDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBzZWxmLXVwZGF0aW5nIG1hbmlmZXN0JywgcHJvcHM8eyB0ZW5hbnRzOiBzdHJpbmdbXTsgc2VuZGVyOiBzdHJpbmcgfT4oKSksXG4gIHVwZGF0ZURhc2hib2FyZE1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHVwZGF0aW5nIGRhc2hib2FyZCB2aWV3JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0OiBEYXNoYm9hcmRNYW5pZmVzdCB9PigpXG4gICksXG4gIHVwZGF0ZVdpZGdldE1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHVwZGF0aW5nIHdpZGdldCB2aWV3JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0OiBXaWRnZXRNYW5pZmVzdDsgaW5kZXg6IG51bWJlciB9PigpXG4gICksXG4gIGFkZFdpZGdldFRvUHJlc2VudGF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIGFkZCB3aWRnZXQgdG8gcHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7IGlkPzogc3RyaW5nIHwgc3RyaW5nW107IHdpZGdldFR5cGU6IHN0cmluZzsgYWRkaXRpb25hbE9wdGlvbnM/OiBhbnk7IGFsZXJ0PzogYm9vbGVhbiB9PigpXG4gICksXG4gIHVwZGF0ZVdpZGdldEluUHJlc2VudGF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHVwZGF0ZSB3aWRnZXQgaW4gcHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7IGlkPzogc3RyaW5nIHwgc3RyaW5nW107IHdpZGdldFR5cGU6IHN0cmluZzsgYWRkaXRpb25hbE9wdGlvbnM/OiBhbnkgfT4oKVxuICApLFxuICByZXF1ZXN0QWxsUm91dGVzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHJlcXVlc3Rpbmcgcm91dGUgdXBkYXRlJyksXG4gIHJlcXVlc3RNYW5pZmVzdHNUb0VtaXQ6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgcHJlLXNhdmUgbWFuaWZlc3QsIGFza2luZyBhbGwgd2lkZ2V0cyB0byBlbWl0JyksXG4gIHVwZGF0ZVJvdXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgcm91dGUnLCBwcm9wczx7IHNlbmRlcj86IHN0cmluZzsgcm91dGU6IHN0cmluZyB9PigpKSxcbiAgZmV0Y2hNYW5pZmVzdHNMaXN0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGZldGNoaW5nIGF2YWlsYWJsZSBtYW5pZmVzdHMnKSxcbiAgc2V0UmVmcmVzaFJhdGU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgc2V0dGluZyByZWZyZXNoUmF0ZScsIHByb3BzPHsgaWQ6IHN0cmluZzsgcmF0ZTogbnVtYmVyIH0+KCkpLFxuICB1cGRhdGVNYW5pZmVzdHNMaXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHJlY2VpdmVkIG1hbmlmZXN0cyBsaXN0JyxcbiAgICBwcm9wczx7IG1hbmlmZXN0czogTWFuaWZlc3REZXNjcmlwdGlvbltdIH0+KClcbiAgKSxcbiAgZmV0Y2hTdGF0aWNNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBmZXRjaGluZyBzdGF0aWNNYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZmV0Y2hNb3JlSXRlbXM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgZmV0Y2hpbmcgbW9yZSBpdGVtcycsIHByb3BzPHsgaWQ6IHN0cmluZzsgd2lkZ2V0VHlwZTogc3RyaW5nIH0+KCkpLFxuICBlbmRMb2FkaW5nOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIGVuZCBsb2FkaW5nJyksXG4gIHVwZGF0ZVN0YXRpY01hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHJlY2VpdmVkIHN0YXRpY01hbmlmZXN0JyxcbiAgICBwcm9wczx7IHN0YXRpY01hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdCB9PigpXG4gICksXG4gIGxvYWRNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBsb2FkIG1hbmlmZXN0JywgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpLFxuICBsb2FkQW5kQWN0aXZhdGVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBsb2FkIGFuZCBhY3RpdmF0ZSBtYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZG93bmxvYWRNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBkb3dubG9hZCBtYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nIH0+KCkpLFxuICBjb25maXJtTWFuaWZlc3REZWxldGlvbjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBjb25maXJtIG1hbmlmZXN0IGRlbGV0aW9uJywgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpLFxuICBkZWxldGVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBkZWxldGluZyBtYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgc2F2ZU1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHNhdmUgbWFuaWZlc3QnLFxuICAgIHByb3BzPHtcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgIG1hbmlmZXN0PzogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgICBpbWFnZT86IHN0cmluZztcbiAgICAgIG1ldGFkYXRhPzogeyBtZXRhZGF0YURlZklkOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdO1xuICAgICAgYWNjZXNzUmlnaHRzQnlHcm91cD86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfTtcbiAgICAgIGFkZGl0aW9uYWxJbmZvcm1hdGlvbj86IHN0cmluZztcbiAgICB9PigpXG4gICksXG4gIHNvbHZlQ29sbGlzaW9uczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBzb2x2aW5nIGNvbGxpc2lvbnMnKSxcbiAgY2xlYXJNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBjbGVhciBtYW5pZmVzdCcpLFxuICBmb2xsb3dNYW5pZmVzdFJvdXRlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGZvbGxvdyBtYW5pZmVzdCByb3V0ZScpLFxuICBtb3ZlV2lkZ2V0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIG1vdmluZyB3aWRnZXQnLCBwcm9wczx7IHdpZGdldEluZGV4OiBudW1iZXI7IHRhcmdldEluZGV4OiBudW1iZXIgfT4oKSksXG4gIG1heGltaXplV2lkZ2V0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIG1heGltaXplIHdpZGdldCcsIHByb3BzPHsgd2lkZ2V0SW5kZXg6IG51bWJlciB9PigpKSxcbiAgYXNzZXJ0UmVzdWx0U2V0czogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBhc3NlcnQgcmVzdWx0U2V0JyxcbiAgICBwcm9wczx7XG4gICAgICBzdGF0aWNNYW5pZmVzdD86IERhc2hib2FyZE1hbmlmZXN0O1xuICAgICAgbGlua2VkSXRlbXM/OiAoJ2Rlc3RpbmF0aW9uJyB8ICdzb3VyY2UnKVtdO1xuICAgIH0+KClcbiAgKSxcbiAgdXBkYXRlUmVzdWx0U2V0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHJlY2VpdmVkIG5hbWVkIHJlc3VsdFNldCAobm90LWFjdGl2ZS1hY3Rpb24pJyxcbiAgICBwcm9wczx7IGlkOiBzdHJpbmc7IHJlc3VsdFNldDogUmVzdWx0U2V0OyBwYXJhbXM/OiBzdHJpbmc7IG5leHQ/OiBib29sZWFuIH0+KClcbiAgKSxcbiAgYWRkUmVsYXRpb25zVG9SZXN1bHRTZXRzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIGFkZCByZWxhdGlvbnMgdG8gcmVzdWx0U2V0JyxcbiAgICBwcm9wczx7IHJlbGF0aW9uczogUmVsYXRpb25bXSB9PigpXG4gICksXG4gIHJlbW92ZVJlbGF0aW9uc0Zyb21SZXN1bHRTZXRzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHJlbW92ZSByZWxhdGlvbnMgZnJvbSByZXN1bHRTZXQnLFxuICAgIHByb3BzPHsgcmVsYXRpb246IFJlbGF0aW9uIH0+KClcbiAgKSxcbiAgYWRkSXRlbVRvUmVzdWx0U2V0czogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBhZGQgaXRlbSB0byByZXN1bHRTZXQnLFxuICAgIHByb3BzPHsgaXRlbTogSXRlbTsgcmVzdWx0U2V0Pzogc3RyaW5nIH0+KClcbiAgKSxcbiAgc3RhcnRpbmdNaXNzaW5nVmlld3M6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gb3BlbmluZyBtaXNzaW5nIHZpZXdzIGZvciBtYW5pZmVzdCcpLFxuICBzZXRBdmFpbGFibGVOYW1lZFF1ZXJpZXM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgc2V0IGF2YWlsYWJsZSBycyBuYW1lcycsIHByb3BzPHsgbmFtZXM6IHN0cmluZ1tdIH0+KCkpLFxuICBzZXREZWZhdWx0RGF0YXNvdXJjZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBzZXQgY3VycmVudCBycyBuYW1lJywgcHJvcHM8eyBuYW1lczogc3RyaW5nW10gfT4oKSksXG4gIHVwZGF0ZURhc2hib2FyZFBhcmFtczogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBzZXQgZGFzaGJvYXJkIGNlbGwgcGFyYW1zJyxcbiAgICBwcm9wczx7IHBhcmFtczogUGFydGlhbDxEYXNoYm9hcmRDZWxsUGFyYW1zPiB9PigpXG4gICksXG4gIHRvZ2dsZUVkaXRpb25Nb2RlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIHRvZ2dsZSBlZGl0aW9uIG1vZGUnLCBwcm9wczx7IGZvcmNlPzogYm9vbGVhbiB9PigpKSxcbiAgc2VsZWN0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHNlbGVjdCBpdGVtJywgcHJvcHM8eyBpZDogc3RyaW5nOyBjdW11bGF0aXZlOiBib29sZWFuIH0+KCkpLFxuICBzZWxlY3RNYW55OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHNlbGVjdCBpdGVtcycsIHByb3BzPHsgaWRzOiBzdHJpbmdbXSB9PigpKSxcbiAgaW52ZXJ0U2VsZWN0aW9uOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGludmVydCBzZWxlY3Rpb24nKSxcbiAgZmV0Y2hPYmplY3RzRGV0YWlsczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBmZXRjaCBvYmplY3RzIGRldGFpbHMnLCBwcm9wczx7IGlkczogc3RyaW5nW10gfT4oKSksXG4gIHVwZGF0ZU9iamVjdHNEZXRhaWxzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0ZSBvYmplY3RzIGRldGFpbHMnLFxuICAgIHByb3BzPHsgbGlzdDogeyBbaWQ6IHN0cmluZ106IEl0ZW0gfSB9PigpXG4gICksXG4gIGV4cGxvcmU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgaXNvbGF0ZSBpbiBkYXRhIHNldCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZGV0YWlsOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGFkZCBkZXRhaWwgdmlldycsIHByb3BzPHsgaWRzOiBzdHJpbmdbXSB9PigpKSxcbiAgcHJveGltaXR5OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIHByb3hpbWl0eSBzZWFyY2gnLCBwcm9wczx7IGlkOiBzdHJpbmc7IHRhcmdldFJlc3VsdFNldDogc3RyaW5nIH0+KCkpLFxuICBtdWx0aVNuYWNrQmFyOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGRpc3BsYXkgc25hY2sgbWVzc2FnZScsIHByb3BzPHsgbWVzc2FnZTogUHJ5U25hY2tNZXNzYWdlIH0+KCkpLFxuICBxdWlja09yZGVyOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHF1aWNrIG9yZGVyJyxcbiAgICBwcm9wczx7XG4gICAgICBkYXRhc291cmNlSWQ6IHN0cmluZztcbiAgICAgIGF0dHJpYnV0ZTogc3RyaW5nO1xuICAgICAgYXNjOiBPcmRlclZhbHVlO1xuICAgICAgbGlua2VkSXRlbXM/OiAoJ2Rlc3RpbmF0aW9uJyB8ICdzb3VyY2UnKVtdO1xuICAgIH0+KClcbiAgKSxcbiAgc2V0R3JpZExheW91dDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBzZXQgZ3JpZCBsYXlvdXQnLCBwcm9wczx7IGxheW91dDogc3RyaW5nIH0+KCkpLFxuICBwcm9wYWdhdGVHcmlkTGF5b3V0OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIGNoYW5nZSBncmlkIGxheW91dCcsXG4gICAgcHJvcHM8eyBtYW5pZmVzdDogRGFzaGJvYXJkTWFuaWZlc3Q7IHJhbms6IG51bWJlciB9PigpXG4gICksXG4gIGNyZWF0ZVRhYjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBjcmVhdGUgbmV3IHRhYicpLFxuICByZXN0b3JlSW5pdGlhbE1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHJlc3RvcmluZyBtaXNzaW5nIHRhYnMnKSxcbiAgc2V0RmlsdGVyczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBzZXQgZGF0YXNvdXJjZSBmaWx0ZXJzJywgcHJvcHM8eyBmaWx0ZXJzOiBGaWx0ZXJbXSB9PigpKSxcbiAgdXBkYXRlRmlsdGVyczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGUgZGF0YXNvdXJjZSBmaWx0ZXJzJywgcHJvcHM8eyBmaWx0ZXI6IEZpbHRlciB9PigpKSxcbiAgcmVtb3ZlRmlsdGVyOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHJlbW92ZSBmaWx0ZXIgaW4gcHJlc2VudGF0aW9uJywgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpLFxuICByZW1vdmVGaWx0ZXJzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHJlbW92ZSBmaWx0ZXJzJyksXG4gIHVwZGF0ZUZpbHRlclZhbHVlOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0ZSBmaWx0ZXIgdmFsdWUnLFxuICAgIHByb3BzPHsgaWQ6IHN0cmluZzsgdmFsdWU6IGFueTsgZGF0YXNvdXJjZUlkOiBzdHJpbmcgfT4oKVxuICApLFxuICBjbGVhckFsbEZpbHRlclZhbHVlczogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBjbGVhciBhbGwgZmlsdGVyIHZhbHVlcycsXG4gICAgcHJvcHM8e1xuICAgICAgbGlua2VkSXRlbXM/OiAoJ2Rlc3RpbmF0aW9uJyB8ICdzb3VyY2UnKVtdO1xuICAgIH0+KClcbiAgKSxcbiAgZGlzcGF0Y2hGaWx0ZXJzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIGFwcGx5IGZpbHRlcnMgdG8gcHJlc2VudGF0aW9uIGRhdGFzb3VyY2VzJyxcbiAgICBwcm9wczx7XG4gICAgICBzdGF0aWNNYW5pZmVzdD86IERhc2hib2FyZE1hbmlmZXN0O1xuICAgICAgbGlua2VkSXRlbXM/OiAoJ2Rlc3RpbmF0aW9uJyB8ICdzb3VyY2UnKVtdO1xuICAgIH0+KClcbiAgKSxcbiAgcmVzZXRXbXNGZWF0dXJlczogY3JlYXRlQWN0aW9uKCdbV2lkZ2V0IG1hcF0gUmVzZXQgV21zIGxheWVyIGZlYXR1cmVzJywgcHJvcHM8eyBjb21wb25lbnRJZDogc3RyaW5nIH0+KCkpLFxuICBnZXRXbXNGZWF0dXJlczogY3JlYXRlQWN0aW9uKFxuICAgICdbV2lkZ2V0IG1hcF0gR2V0IFdtcyBsYXllciBmZWF0dXJlcycsXG4gICAgcHJvcHM8eyB1cmw6IHN0cmluZzsgb0NsYXNzOiBzdHJpbmc7IGNvb3JkaW5hdGVzOiBudW1iZXJbXTsgY29tcG9uZW50SWQ6IHN0cmluZyB9PigpXG4gICksXG4gIGFkZFdtc0ZlYXR1cmVzOiBjcmVhdGVBY3Rpb24oJ1tXaWRnZXQgbWFwXSBTZXQgV21zIGxheWVyIGZlYXR1cmVzJywgcHJvcHM8eyBmZWF0dXJlczogYW55OyBjb21wb25lbnRJZDogc3RyaW5nIH0+KCkpLFxuICBnZXRXZnNGZWF0dXJlczogY3JlYXRlQWN0aW9uKFxuICAgICdbV2lkZ2V0IG1hcF0gR2V0IHdmcyBGZWF0dXJlcyBmb3IgcG9pbnQnLFxuICAgIHByb3BzPHsgdXJsOiBzdHJpbmc7IG9DbGFzczogc3RyaW5nOyBjb29yZGluYXRlczogbnVtYmVyW107IHN0eWxlOiBzdHJpbmcgfT4oKVxuICApLFxuICBnZXRXZnNGZWF0dXJlc0ZvclBvaW50U3RhY2tUb29sdGlwczogY3JlYXRlQWN0aW9uKFxuICAgICdbV2lkZ2V0IG1hcF0gR2V0IHdmcyBGZWF0dXJlcyBmb3Igc2hvd2luZyBzdGFjayB0b29sdGlwcycsXG4gICAgcHJvcHM8eyB1cmw6IHN0cmluZzsgb0NsYXNzOiBzdHJpbmc7IGNvb3JkaW5hdGVzOiBudW1iZXJbXTsgY29tcG9uZW50SWQ6IHN0cmluZyB9PigpXG4gICksXG4gIHVwZGF0ZURpc3BsYXlPcHRpb25zOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmQvRGlzcGxheV0gKGJ1cykgVXBkYXRlIGRpc3BsYXllZCBkYXNoYm9hcmQgbWFuYWdlbWVudCBmZWF0dXJlcycsXG4gICAgcHJvcHM8eyBtb2RlOiBWaWV3TW9kZTsgY3VzdG9tRGlzcGxheT86IERpc3BsYXlPcHRpb25zIH0+KClcbiAgKSxcbiAgZ2V0Q2FwYWJpbGl0eTogY3JlYXRlQWN0aW9uKCdbV2lkZ2V0IG1hcF0gR2V0IFdtcyBjYXBhYmlsaXR5JywgcHJvcHM8eyB1cmw6IHN0cmluZzsgZm9yY2U/OiBib29sZWFuIH0+KCkpLFxuICB1cGRhdGVDYXBhYmlsaXR5OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tXaWRnZXQgbWFwXSBTdG9yZSBXbXMgY2FwYWJpbGl0eScsXG4gICAgcHJvcHM8eyB1cmw6IHN0cmluZzsgY2FwYWJpbGl0eTogR2V0Q2FwYWJpbGl0aWVzUmVzcG9uc2UgfCBudWxsIH0+KClcbiAgKSxcbiAgYWRkTWFuaWZlc3RNZXRhZGF0YTogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBBZGQgbWFuaWZlc3QgbWV0YWRhdGEnLFxuICAgIHByb3BzPHsgcHJlc2VudGF0aW9uSWQ6IHN0cmluZzsgbWV0YWRhdGFJZDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+KClcbiAgKSxcbiAgZGVsZXRlTWFuaWZlc3RNZXRhZGF0YTogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBEZWxldGUgbWFuaWZlc3QgbWV0YWRhdGEnLFxuICAgIHByb3BzPHsgcHJlc2VudGF0aW9uSWQ6IHN0cmluZzsgbWV0YWRhdGFJZDogc3RyaW5nIH0+KClcbiAgKSxcbiAgdHJpZ2dlckFnZ3JlZ2F0ZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBUcmlnZ2VyaW5nIGFnZ3JlZ2F0ZXMgZm9yIGRhdGFzb3VyY2UnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIGxvYWRQcmVzZW50YXRpb246IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gbG9hZCBwcmVzZW50YXRpb24nLFxuICAgIHByb3BzPHsgcHJlc2VudGF0aW9uOiBNYW5pZmVzdERlc2NyaXB0aW9uOyB2aWV3TW9kZTogVmlld01vZGUgfT4oKVxuICApXG59O1xuIl19
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGJvYXJkLmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvZGFzaGJvYXJkL3N0b3JlL2Rhc2hib2FyZC5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBOEJsRCxNQUFNLENBQU4sSUFBWSxRQVFYO0FBUkQsV0FBWSxRQUFRO0lBQ2xCLCtCQUFtQixDQUFBO0lBQ25CLCtCQUFtQixDQUFBO0lBQ25CLGlDQUFxQixDQUFBO0lBQ3JCLCtCQUFtQixDQUFBO0lBQ25CLDZCQUFpQixDQUFBO0lBQ2pCLDZCQUFpQixDQUFBO0lBQ2pCLDZCQUFpQixDQUFBO0FBQ25CLENBQUMsRUFSVyxRQUFRLEtBQVIsUUFBUSxRQVFuQjtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLElBQUksRUFBRSxZQUFZLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLEtBQUssRUFBRSxZQUFZLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUFzQixDQUFDO0lBQ3JFLGNBQWMsRUFBRSxZQUFZLENBQzFCLHFDQUFxQyxFQUNyQyxLQUFLLEVBT0QsQ0FDTDtJQUNELHdCQUF3QixFQUFFLFlBQVksQ0FDcEMsaURBQWlELEVBQ2pELEtBQUssRUFPRCxDQUNMO0lBQ0QsK0JBQStCLEVBQUUsWUFBWSxDQUMzQyw0REFBNEQsRUFDNUQsS0FBSyxFQU9ELENBQ0w7SUFDRCw2QkFBNkIsRUFBRSxZQUFZLENBQ3pDLHVEQUF1RCxFQUN2RCxLQUFLLEVBU0QsQ0FDTDtJQUNELDhCQUE4QixFQUFFLFlBQVksQ0FDMUMsd0RBQXdELEVBQ3hELEtBQUssRUFPRCxDQUNMO0lBQ0Qsa0JBQWtCLEVBQUUsWUFBWSxDQUM5QixzQ0FBc0MsRUFDdEMs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Z0JBQWdCLEVBQUUsWUFBWSxDQUFDLHdEQUF3RCxFQUFFLEtBQUssRUFBa0IsQ0FBQztJQUNqSCxnQkFBZ0IsRUFBRSxZQUFZLENBQzVCLCtCQUErQixFQUMvQixLQUFLLEVBQTZELENBQ25FO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUFjdGlvbiwgcHJvcHMgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBQcnlTbmFja01lc3NhZ2UgfSBmcm9tICcuLi8uLi9jb3JlL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2suaW50ZXJmYWNlJztcbmltcG9ydCB7IERpc3BsYXlPcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9kaXNwbGF5LW9wdGlvbnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbHRlciB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvZmlsdGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJdGVtIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBEYXNoYm9hcmRNYW5pZmVzdCxcbiAgR2xvYmFsTWFuaWZlc3QsXG4gIExpbmtlZEl0ZW1zT3B0aW9ucyxcbiAgTWFuaWZlc3REZXNjcmlwdGlvbixcbiAgV2lkZ2V0TWFuaWZlc3Rcbn0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9tYW5pZmVzdC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVsYXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL21vZGVsL3JlbGF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBPcmRlclZhbHVlIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbC9yZXN1bHQtb3JkZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJlc3VsdFNldCwgUmVzdWx0U2V0cyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWwvcmVzdWx0LXNldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR2V0Q2FwYWJpbGl0aWVzUmVzcG9uc2UgfSBmcm9tICcuL3dtcy5zZXJ2aWNlJztcblxuZXhwb3J0IHR5cGUgRGFzaGJvYXJkQ2VsbFBhcmFtcyA9IHtcbiAgZ3JpZFdpZHRoOiBudW1iZXI7XG4gIGdyaWRIZWlnaHQ6IG51bWJlcjtcbiAgZ3JpZEdhcDogbnVtYmVyO1xuICBjb2x1bW5zOiBudW1iZXI7XG4gIGNlbGxIZWlnaHQ6IG51bWJlcjtcbiAgcm93czogbnVtYmVyO1xuICBjZWxsV2lkdGg6IG51bWJlcjtcbiAgb2Zmc2V0TGVmdDogbnVtYmVyO1xuICBvZmZzZXRUb3A6IG51bWJlcjtcbiAgbW9iaWxlTW9kZTogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBlbnVtIFZpZXdNb2RlIHtcbiAgQ0FUQUxPRyA9ICdjYXRhbG9nJyxcbiAgQ09OU1VMVCA9ICdjb25zdWx0JyxcbiAgQ1JFQVRJT04gPSAnY3JlYXRpb24nLFxuICBFRElUSU9OID0gJ2VkaXRpb24nLFxuICBFRElUT1IgPSAnZWRpdG9yJyxcbiAgU0VBUkNIID0gJ3NlYXJjaCcsXG4gIENVU1RPTSA9ICdjdXN0b20nXG59XG5cbmV4cG9ydCBjb25zdCBEYXNoYm9hcmRBY3Rpb25zID0ge1xuICBqb2luOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIGpvaW5lZCcsIHByb3BzPHsgc2VuZGVyOiBzdHJpbmcgfT4oKSksXG4gIGxlYXZlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIGxlYXZlJywgcHJvcHM8eyBzZW5kZXI6IHN0cmluZyB9PigpKSxcbiAgdXBkYXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgbWFuaWZlc3QnLFxuICAgIHByb3BzPHtcbiAgICAgIHRlbmFudHM/OiBzdHJpbmdbXTtcbiAgICAgIG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdDtcbiAgICAgIHJlc3VsdFNldHM/OiBSZXN1bHRTZXRzO1xuICAgICAgam9pbmluZz86IGJvb2xlYW47XG4gICAgICBtYW5pZmVzdElkPzogc3RyaW5nO1xuICAgICAgc2VsZWN0ZWRJZHM6IHN0cmluZ1tdO1xuICAgIH0+KClcbiAgKSxcbiAgdXBkYXRlTWFuaWZlc3RBZnRlckZldGNoOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIG1hbmlmZXN0IGFmdGVyIGZldGNoJyxcbiAgICBwcm9wczx7XG4gICAgICB0ZW5hbnRzPzogc3RyaW5nW107XG4gICAgICBtYW5pZmVzdDogR2xvYmFsTWFuaWZlc3Q7XG4gICAgICByZXN1bHRTZXRzPzogUmVzdWx0U2V0cztcbiAgICAgIGpvaW5pbmc/OiBib29sZWFuO1xuICAgICAgbWFuaWZlc3RJZD86IHN0cmluZztcbiAgICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXTtcbiAgICB9PigpXG4gICksXG4gIHVwZGF0ZU1hbmlmZXN0V2l0aG91dEFjdGl2YXRpb246IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRpbmcgbWFuaWZlc3QgYnV0IGRvIG5vdCBhY3RpdmF0ZSBpdCcsXG4gICAgcHJvcHM8e1xuICAgICAgdGVuYW50cz86IHN0cmluZ1tdO1xuICAgICAgbWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgcmVzdWx0U2V0cz86IFJlc3VsdFNldHM7XG4gICAgICBqb2luaW5nPzogYm9vbGVhbjtcbiAgICAgIG1hbmlmZXN0SWQ/OiBzdHJpbmc7XG4gICAgICBzZWxlY3RlZElkczogc3RyaW5nW107XG4gICAgfT4oKVxuICApLFxuICB1cGRhdGVNYW5pZmVzdEFmdGVyVGVuYW50Sm9pbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyBtYW5pZmVzdCBhZnRlciB0ZW5hbnQgam9pbicsXG4gICAgcHJvcHM8e1xuICAgICAgdGVuYW50cz86IHN0cmluZ1tdO1xuICAgICAgbWFuaWZlc3Q6IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgcmVzdWx0U2V0cz86IFJlc3VsdFNldHM7XG4gICAgICBqb2luaW5nPzogYm9vbGVhbjtcbiAgICAgIG1hbmlmZXN0SWQ/OiBzdHJpbmc7XG4gICAgICBzZWxlY3RlZElkczogc3RyaW5nW107XG4gICAgICBwcmVzZW50YXRpb24/OiB7IGN1cnJlbnQ/OiBNYW5pZmVzdERlc2NyaXB0aW9uOyBpbml0aWFsPzogR2xvYmFsTWFuaWZlc3Q7IHZpZXdNb2RlPzogVmlld01vZGUgfTtcbiAgICAgIGRpc3BsYXk/OiBEaXNwbGF5T3B0aW9ucztcbiAgICB9PigpXG4gICksXG4gIHVwZGF0ZU1hbmlmZXN0QWZ0ZXJUZW5hbnRMZWF2ZTogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGluZyBtYW5pZmVzdCBhZnRlciB0ZW5hbnQgbGVhdmUnLFxuICAgIHByb3BzPHtcbiAgICAgIHRlbmFudHM/OiBzdHJpbmdbXTtcbiAgICAgIG1hbmlmZXN0OiBHbG9iYWxNYW5pZmVzdDtcbiAgICAgIHJlc3VsdFNldHM/OiBSZXN1bHRTZXRzO1xuICAgICAgam9pbmluZz86IGJvb2xlYW47XG4gICAgICBtYW5pZmVzdElkPzogc3RyaW5nO1xuICAgICAgc2VsZWN0ZWRJZHM6IHN0cmluZ1tdO1xuICAgIH0+KClcbiAgKSxcbiAgc2VsZWN0UHJlc2VudGF0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIHNlbGVjdFByZXNlbnRhdGlvbicsXG4gICAgcHJvcHM8e1xuICAgICAgcHJlc2VudGF0aW9uOiBNYW5pZmVzdERlc2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICAgICAgdmlld01vZGU/OiBWaWV3TW9kZTtcbiAgICB9PigpXG4gICksXG4gIHNldEluaXRpYWxQcmVzZW50YXRpb246IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgc2V0IGluaXRpYWwgcHJlc2VudGF0aW9uJyxcbiAgICBwcm9wczx7XG4gICAgICBpbml0aWFsPzogR2xvYmFsTWFuaWZlc3Q7XG4gICAgfT4oKVxuICApLFxuICBkZWNsYXJlU2VuZGVySWQ6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gc2VsZi11cGRhdGluZyBtYW5pZmVzdCcsIHByb3BzPHsgdGVuYW50czogc3RyaW5nW107IHNlbmRlcjogc3RyaW5nIH0+KCkpLFxuICB1cGRhdGVEYXNoYm9hcmRNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSB1cGRhdGluZyBkYXNoYm9hcmQgdmlldycsXG4gICAgcHJvcHM8eyBtYW5pZmVzdDogRGFzaGJvYXJkTWFuaWZlc3QgfT4oKVxuICApLFxuICB1cGRhdGVXaWRnZXRNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSB1cGRhdGluZyB3aWRnZXQgdmlldycsXG4gICAgcHJvcHM8eyBtYW5pZmVzdDogV2lkZ2V0TWFuaWZlc3Q7IGluZGV4OiBudW1iZXIgfT4oKVxuICApLFxuICBhZGRXaWRnZXRUb1ByZXNlbnRhdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBhZGQgd2lkZ2V0IHRvIHByZXNlbnRhdGlvbicsXG4gICAgcHJvcHM8eyBpZD86IHN0cmluZyB8IHN0cmluZ1tdOyB3aWRnZXRUeXBlOiBzdHJpbmc7IGFkZGl0aW9uYWxPcHRpb25zPzogYW55OyBhbGVydD86IGJvb2xlYW4gfT4oKVxuICApLFxuICB1cGRhdGVXaWRnZXRJblByZXNlbnRhdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSB1cGRhdGUgd2lkZ2V0IGluIHByZXNlbnRhdGlvbicsXG4gICAgcHJvcHM8eyBpZD86IHN0cmluZyB8IHN0cmluZ1tdOyB3aWRnZXRUeXBlOiBzdHJpbmc7IGFkZGl0aW9uYWxPcHRpb25zPzogYW55IH0+KClcbiAgKSxcbiAgcmVxdWVzdEFsbFJvdXRlczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSByZXF1ZXN0aW5nIHJvdXRlIHVwZGF0ZScpLFxuICByZXF1ZXN0TWFuaWZlc3RzVG9FbWl0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHByZS1zYXZlIG1hbmlmZXN0LCBhc2tpbmcgYWxsIHdpZGdldHMgdG8gZW1pdCcpLFxuICB1cGRhdGVSb3V0ZU1hbmlmZXN0OiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHVwZGF0aW5nIHJvdXRlJywgcHJvcHM8eyBzZW5kZXI/OiBzdHJpbmc7IHJvdXRlOiBzdHJpbmcgfT4oKSksXG4gIGZldGNoTWFuaWZlc3RzTGlzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBmZXRjaGluZyBhdmFpbGFibGUgbWFuaWZlc3RzJyksXG4gIHNldFJlZnJlc2hSYXRlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIHNldHRpbmcgcmVmcmVzaFJhdGUnLCBwcm9wczx7IGlkOiBzdHJpbmc7IHJhdGU6IG51bWJlciB9PigpKSxcbiAgdXBkYXRlTWFuaWZlc3RzTGlzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSByZWNlaXZlZCBtYW5pZmVzdHMgbGlzdCcsXG4gICAgcHJvcHM8eyBtYW5pZmVzdHM6IE1hbmlmZXN0RGVzY3JpcHRpb25bXSB9PigpXG4gICksXG4gIGZldGNoU3RhdGljTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgZmV0Y2hpbmcgc3RhdGljTWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIGZldGNoTW9yZUl0ZW1zOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIChidXMpIGZldGNoaW5nIG1vcmUgaXRlbXMnLCBwcm9wczx7IGlkOiBzdHJpbmc7IHdpZGdldFR5cGU6IHN0cmluZyB9PigpKSxcbiAgZW5kTG9hZGluZzogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBlbmQgbG9hZGluZycpLFxuICB1cGRhdGVTdGF0aWNNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSByZWNlaXZlZCBzdGF0aWNNYW5pZmVzdCcsXG4gICAgcHJvcHM8eyBzdGF0aWNNYW5pZmVzdDogR2xvYmFsTWFuaWZlc3QgfT4oKVxuICApLFxuICBsb2FkTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgbG9hZCBtYW5pZmVzdCcsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgbG9hZEFuZEFjdGl2YXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgbG9hZCBhbmQgYWN0aXZhdGUgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIGRvd25sb2FkTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gZG93bmxvYWQgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9PigpKSxcbiAgY29uZmlybU1hbmlmZXN0RGVsZXRpb246IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gY29uZmlybSBtYW5pZmVzdCBkZWxldGlvbicsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgZGVsZXRlTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gZGVsZXRpbmcgbWFuaWZlc3QnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIHNhdmVNYW5pZmVzdDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBzYXZlIG1hbmlmZXN0JyxcbiAgICBwcm9wczx7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICBtYW5pZmVzdD86IEdsb2JhbE1hbmlmZXN0O1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgICAgaW1hZ2U/OiBzdHJpbmc7XG4gICAgICBtZXRhZGF0YT86IHsgbWV0YWRhdGFEZWZJZDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXTtcbiAgICAgIGFjY2Vzc1JpZ2h0c0J5R3JvdXA/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH07XG4gICAgICBhZGRpdGlvbmFsSW5mb3JtYXRpb24/OiBzdHJpbmc7XG4gICAgfT4oKVxuICApLFxuICBzb2x2ZUNvbGxpc2lvbnM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gc29sdmluZyBjb2xsaXNpb25zJyksXG4gIGNsZWFyTWFuaWZlc3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gY2xlYXIgbWFuaWZlc3QnKSxcbiAgZm9sbG93TWFuaWZlc3RSb3V0ZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBmb2xsb3cgbWFuaWZlc3Qgcm91dGUnKSxcbiAgbW92ZVdpZGdldDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBtb3Zpbmcgd2lkZ2V0JywgcHJvcHM8eyB3aWRnZXRJbmRleDogbnVtYmVyOyB0YXJnZXRJbmRleDogbnVtYmVyIH0+KCkpLFxuICBtYXhpbWl6ZVdpZGdldDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBtYXhpbWl6ZSB3aWRnZXQnLCBwcm9wczx7IHdpZGdldEluZGV4OiBudW1iZXIgfT4oKSksXG4gIGFzc2VydFJlc3VsdFNldHM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gYXNzZXJ0IHJlc3VsdFNldCcsXG4gICAgcHJvcHM8e1xuICAgICAgc3RhdGljTWFuaWZlc3Q/OiBEYXNoYm9hcmRNYW5pZmVzdCB8IG51bGw7XG4gICAgfT4oKVxuICApLFxuICB1cGRhdGVSZXN1bHRTZXQ6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgcmVjZWl2ZWQgbmFtZWQgcmVzdWx0U2V0IChub3QtYWN0aXZlLWFjdGlvbiknLFxuICAgIHByb3BzPHsgaWQ6IHN0cmluZzsgcmVzdWx0U2V0OiBSZXN1bHRTZXQ7IHBhcmFtcz86IHN0cmluZzsgbmV4dD86IGJvb2xlYW4gfT4oKVxuICApLFxuICBhZGRSZWxhdGlvbnNUb1Jlc3VsdFNldHM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgYWRkIHJlbGF0aW9ucyB0byByZXN1bHRTZXQnLFxuICAgIHByb3BzPHsgcmVsYXRpb25zOiBSZWxhdGlvbltdIH0+KClcbiAgKSxcbiAgcmVtb3ZlUmVsYXRpb25zRnJvbVJlc3VsdFNldHM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgcmVtb3ZlIHJlbGF0aW9ucyBmcm9tIHJlc3VsdFNldCcsXG4gICAgcHJvcHM8eyByZWxhdGlvbjogUmVsYXRpb24gfT4oKVxuICApLFxuICBhZGRJdGVtVG9SZXN1bHRTZXRzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIGFkZCBpdGVtIHRvIHJlc3VsdFNldCcsXG4gICAgcHJvcHM8eyBpdGVtOiBJdGVtOyByZXN1bHRTZXQ/OiBzdHJpbmcgfT4oKVxuICApLFxuICBzdGFydGluZ01pc3NpbmdWaWV3czogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSBvcGVuaW5nIG1pc3Npbmcgdmlld3MgZm9yIG1hbmlmZXN0JyksXG4gIHNldEF2YWlsYWJsZU5hbWVkUXVlcmllczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBzZXQgYXZhaWxhYmxlIHJzIG5hbWVzJywgcHJvcHM8eyBuYW1lczogc3RyaW5nW10gfT4oKSksXG4gIHNldERlZmF1bHREYXRhc291cmNlOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIHNldCBjdXJyZW50IHJzIG5hbWUnLCBwcm9wczx7IG5hbWVzOiBzdHJpbmdbXSB9PigpKSxcbiAgdXBkYXRlRGFzaGJvYXJkUGFyYW1zOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIHNldCBkYXNoYm9hcmQgY2VsbCBwYXJhbXMnLFxuICAgIHByb3BzPHsgcGFyYW1zOiBQYXJ0aWFsPERhc2hib2FyZENlbGxQYXJhbXM+IH0+KClcbiAgKSxcbiAgdG9nZ2xlRWRpdGlvbk1vZGU6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gdG9nZ2xlIGVkaXRpb24gbW9kZScsIHByb3BzPHsgZm9yY2U/OiBib29sZWFuIH0+KCkpLFxuICBzZWxlY3Q6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgc2VsZWN0IGl0ZW0nLCBwcm9wczx7IGlkOiBzdHJpbmc7IGN1bXVsYXRpdmU6IGJvb2xlYW4gfT4oKSksXG4gIHNlbGVjdE1hbnk6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgc2VsZWN0IGl0ZW1zJywgcHJvcHM8eyBpZHM6IHN0cmluZ1tdIH0+KCkpLFxuICBpbnZlcnRTZWxlY3Rpb246IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgaW52ZXJ0IHNlbGVjdGlvbicpLFxuICBmZXRjaE9iamVjdHNEZXRhaWxzOiBjcmVhdGVBY3Rpb24oJ1tEYXNoYm9hcmRdIGZldGNoIG9iamVjdHMgZGV0YWlscycsIHByb3BzPHsgaWRzOiBzdHJpbmdbXSB9PigpKSxcbiAgdXBkYXRlT2JqZWN0c0RldGFpbHM6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRlIG9iamVjdHMgZGV0YWlscycsXG4gICAgcHJvcHM8eyBsaXN0OiB7IFtpZDogc3RyaW5nXTogSXRlbSB9IH0+KClcbiAgKSxcbiAgZXhwbG9yZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBpc29sYXRlIGluIGRhdGEgc2V0JywgcHJvcHM8eyBpZDogc3RyaW5nIH0+KCkpLFxuICBkZXRhaWw6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgYWRkIGRldGFpbCB2aWV3JywgcHJvcHM8eyBpZHM6IHN0cmluZ1tdIH0+KCkpLFxuICBwcm94aW1pdHk6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gcHJveGltaXR5IHNlYXJjaCcsIHByb3BzPHsgaWQ6IHN0cmluZzsgdGFyZ2V0UmVzdWx0U2V0OiBzdHJpbmcgfT4oKSksXG4gIG11bHRpU25hY2tCYXI6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgZGlzcGxheSBzbmFjayBtZXNzYWdlJywgcHJvcHM8eyBtZXNzYWdlOiBQcnlTbmFja01lc3NhZ2UgfT4oKSksXG4gIHF1aWNrT3JkZXI6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gKGJ1cykgcXVpY2sgb3JkZXInLFxuICAgIHByb3BzPHtcbiAgICAgIGRhdGFzb3VyY2VJZDogc3RyaW5nO1xuICAgICAgYXR0cmlidXRlOiBzdHJpbmc7XG4gICAgICBhc2M6IE9yZGVyVmFsdWU7XG4gICAgICBsaW5rZWRJdGVtcz86IExpbmtlZEl0ZW1zT3B0aW9ucztcbiAgICB9PigpXG4gICksXG4gIHNldEdyaWRMYXlvdXQ6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gc2V0IGdyaWQgbGF5b3V0JywgcHJvcHM8eyBsYXlvdXQ6IHN0cmluZyB9PigpKSxcbiAgcHJvcGFnYXRlR3JpZExheW91dDogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSBjaGFuZ2UgZ3JpZCBsYXlvdXQnLFxuICAgIHByb3BzPHsgbWFuaWZlc3Q6IERhc2hib2FyZE1hbmlmZXN0OyByYW5rOiBudW1iZXIgfT4oKVxuICApLFxuICBjcmVhdGVUYWI6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgY3JlYXRlIG5ldyB0YWInKSxcbiAgcmVzdG9yZUluaXRpYWxNYW5pZmVzdDogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSByZXN0b3JpbmcgbWlzc2luZyB0YWJzJyksXG4gIHNldEZpbHRlcnM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgc2V0IGRhdGFzb3VyY2UgZmlsdGVycycsIHByb3BzPHsgZmlsdGVyczogRmlsdGVyW10gfT4oKSksXG4gIHVwZGF0ZUZpbHRlcnM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgdXBkYXRlIGRhdGFzb3VyY2UgZmlsdGVycycsIHByb3BzPHsgZmlsdGVyOiBGaWx0ZXIgfT4oKSksXG4gIHJlbW92ZUZpbHRlcjogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSByZW1vdmUgZmlsdGVyIGluIHByZXNlbnRhdGlvbicsIHByb3BzPHsgaWQ6IHN0cmluZyB9PigpKSxcbiAgcmVtb3ZlRmlsdGVyczogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSByZW1vdmUgZmlsdGVycycpLFxuICB1cGRhdGVGaWx0ZXJWYWx1ZTogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSAoYnVzKSB1cGRhdGUgZmlsdGVyIHZhbHVlJyxcbiAgICBwcm9wczx7IGlkOiBzdHJpbmc7IHZhbHVlOiBhbnk7IGRhdGFzb3VyY2VJZDogc3RyaW5nIH0+KClcbiAgKSxcbiAgY2xlYXJBbGxGaWx0ZXJWYWx1ZXM6IGNyZWF0ZUFjdGlvbignW0Rhc2hib2FyZF0gKGJ1cykgY2xlYXIgYWxsIGZpbHRlciB2YWx1ZXMnKSxcbiAgZGlzcGF0Y2hGaWx0ZXJzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmRdIChidXMpIGFwcGx5IGZpbHRlcnMgdG8gcHJlc2VudGF0aW9uIGRhdGFzb3VyY2VzJyxcbiAgICBwcm9wczx7XG4gICAgICBzdGF0aWNNYW5pZmVzdD86IERhc2hib2FyZE1hbmlmZXN0O1xuICAgIH0+KClcbiAgKSxcbiAgcmVzZXRXbXNGZWF0dXJlczogY3JlYXRlQWN0aW9uKCdbV2lkZ2V0IG1hcF0gUmVzZXQgV21zIGxheWVyIGZlYXR1cmVzJywgcHJvcHM8eyBjb21wb25lbnRJZDogc3RyaW5nIH0+KCkpLFxuICBnZXRXbXNGZWF0dXJlczogY3JlYXRlQWN0aW9uKFxuICAgICdbV2lkZ2V0IG1hcF0gR2V0IFdtcyBsYXllciBmZWF0dXJlcycsXG4gICAgcHJvcHM8eyB1cmw6IHN0cmluZzsgb0NsYXNzOiBzdHJpbmc7IGNvb3JkaW5hdGVzOiBudW1iZXJbXTsgY29tcG9uZW50SWQ6IHN0cmluZyB9PigpXG4gICksXG4gIGFkZFdtc0ZlYXR1cmVzOiBjcmVhdGVBY3Rpb24oJ1tXaWRnZXQgbWFwXSBTZXQgV21zIGxheWVyIGZlYXR1cmVzJywgcHJvcHM8eyBmZWF0dXJlczogYW55OyBjb21wb25lbnRJZDogc3RyaW5nIH0+KCkpLFxuICBnZXRXZnNGZWF0dXJlczogY3JlYXRlQWN0aW9uKFxuICAgICdbV2lkZ2V0IG1hcF0gR2V0IHdmcyBGZWF0dXJlcyBmb3IgcG9pbnQnLFxuICAgIHByb3BzPHsgdXJsOiBzdHJpbmc7IG9DbGFzczogc3RyaW5nOyBjb29yZGluYXRlczogbnVtYmVyW107IHN0eWxlOiBzdHJpbmcgfT4oKVxuICApLFxuICBnZXRXZnNGZWF0dXJlc0ZvclBvaW50U3RhY2tUb29sdGlwczogY3JlYXRlQWN0aW9uKFxuICAgICdbV2lkZ2V0IG1hcF0gR2V0IHdmcyBGZWF0dXJlcyBmb3Igc2hvd2luZyBzdGFjayB0b29sdGlwcycsXG4gICAgcHJvcHM8eyB1cmw6IHN0cmluZzsgb0NsYXNzOiBzdHJpbmc7IGNvb3JkaW5hdGVzOiBudW1iZXJbXTsgY29tcG9uZW50SWQ6IHN0cmluZyB9PigpXG4gICksXG4gIHVwZGF0ZURpc3BsYXlPcHRpb25zOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tEYXNoYm9hcmQvRGlzcGxheV0gKGJ1cykgVXBkYXRlIGRpc3BsYXllZCBkYXNoYm9hcmQgbWFuYWdlbWVudCBmZWF0dXJlcycsXG4gICAgcHJvcHM8eyBtb2RlOiBWaWV3TW9kZTsgY3VzdG9tRGlzcGxheT86IERpc3BsYXlPcHRpb25zIH0+KClcbiAgKSxcbiAgZ2V0Q2FwYWJpbGl0eTogY3JlYXRlQWN0aW9uKCdbV2lkZ2V0IG1hcF0gR2V0IFdtcyBjYXBhYmlsaXR5JywgcHJvcHM8eyB1cmw6IHN0cmluZzsgZm9yY2U/OiBib29sZWFuIH0+KCkpLFxuICB1cGRhdGVDYXBhYmlsaXR5OiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tXaWRnZXQgbWFwXSBTdG9yZSBXbXMgY2FwYWJpbGl0eScsXG4gICAgcHJvcHM8eyB1cmw6IHN0cmluZzsgY2FwYWJpbGl0eTogR2V0Q2FwYWJpbGl0aWVzUmVzcG9uc2UgfCBudWxsIH0+KClcbiAgKSxcbiAgYWRkTWFuaWZlc3RNZXRhZGF0YTogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBBZGQgbWFuaWZlc3QgbWV0YWRhdGEnLFxuICAgIHByb3BzPHsgcHJlc2VudGF0aW9uSWQ6IHN0cmluZzsgbWV0YWRhdGFJZDogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0+KClcbiAgKSxcbiAgZGVsZXRlTWFuaWZlc3RNZXRhZGF0YTogY3JlYXRlQWN0aW9uKFxuICAgICdbRGFzaGJvYXJkXSBEZWxldGUgbWFuaWZlc3QgbWV0YWRhdGEnLFxuICAgIHByb3BzPHsgcHJlc2VudGF0aW9uSWQ6IHN0cmluZzsgbWV0YWRhdGFJZDogc3RyaW5nIH0+KClcbiAgKSxcbiAgdHJpZ2dlckFnZ3JlZ2F0ZTogY3JlYXRlQWN0aW9uKCdbRGFzaGJvYXJkXSAoYnVzKSBUcmlnZ2VyaW5nIGFnZ3JlZ2F0ZXMgZm9yIGRhdGFzb3VyY2UnLCBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSksXG4gIGxvYWRQcmVzZW50YXRpb246IGNyZWF0ZUFjdGlvbihcbiAgICAnW0Rhc2hib2FyZF0gbG9hZCBwcmVzZW50YXRpb24nLFxuICAgIHByb3BzPHsgcHJlc2VudGF0aW9uOiBNYW5pZmVzdERlc2NyaXB0aW9uOyB2aWV3TW9kZTogVmlld01vZGUgfT4oKVxuICApXG59O1xuIl19
|