@openziti/ziti-console-lib 0.4.9 → 0.5.0
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/assets/styles/global.scss +30 -0
- package/esm2022/lib/features/data-table/cells/table-cell-name/table-cell-name.component.mjs +11 -3
- package/esm2022/lib/features/data-table/data-table-filter.service.mjs +76 -5
- package/esm2022/lib/features/data-table/data-table.component.mjs +13 -4
- package/esm2022/lib/features/data-table/table-filter-bar/filter-bar.component.mjs +11 -5
- package/esm2022/lib/features/preview-list/preview-list.component.mjs +20 -4
- package/esm2022/lib/features/projectable-forms/edge-router/edge-router-form.component.mjs +1 -1
- package/esm2022/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.mjs +1 -1
- package/esm2022/lib/features/projectable-forms/form-field-container/form-field-container.component.mjs +2 -2
- package/esm2022/lib/features/projectable-forms/identity/identity-form.component.mjs +1 -1
- package/esm2022/lib/features/projectable-forms/service/service-form.component.mjs +3 -3
- package/esm2022/lib/features/projectable-forms/service/service-form.service.mjs +106 -21
- package/esm2022/lib/features/projectable-forms/service/simple-service/simple-service.component.mjs +9 -2
- package/esm2022/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.mjs +1 -1
- package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.component.mjs +1 -1
- package/esm2022/lib/features/projectable-forms/terminator/terminator-form.component.mjs +248 -0
- package/esm2022/lib/features/projectable-forms/terminator/terminator-form.service.mjs +131 -0
- package/esm2022/lib/features/visualizer/identity-service-path/identity-service-path.helper.mjs +2 -4
- package/esm2022/lib/models/terminator.mjs +14 -0
- package/esm2022/lib/pages/configurations/configurations-page.component.mjs +1 -1
- package/esm2022/lib/pages/edge-router-policies/edge-router-policies-page.component.mjs +1 -1
- package/esm2022/lib/pages/edge-routers/edge-routers-page.component.mjs +1 -1
- package/esm2022/lib/pages/identities/identities-page.component.mjs +1 -1
- package/esm2022/lib/pages/service-edge-router-policies/service-edge-router-policies-page.component.mjs +1 -1
- package/esm2022/lib/pages/service-policies/service-policies-page.component.mjs +1 -1
- package/esm2022/lib/pages/services/services-page.component.mjs +1 -1
- package/esm2022/lib/pages/terminators/terminators-page.component.mjs +96 -0
- package/esm2022/lib/pages/terminators/terminators-page.service.mjs +185 -0
- package/esm2022/lib/services/ziti-controller-data.service.mjs +7 -3
- package/esm2022/lib/services/ziti-data.service.mjs +1 -1
- package/esm2022/lib/version.mjs +2 -2
- package/esm2022/lib/ziti-console-lib.module.mjs +20 -8
- package/esm2022/public-api.mjs +6 -1
- package/fesm2022/openziti-ziti-console-lib.mjs +4168 -3343
- package/fesm2022/openziti-ziti-console-lib.mjs.map +1 -1
- package/lib/features/data-table/cells/table-cell-name/table-cell-name.component.d.ts +1 -0
- package/lib/features/data-table/cells/table-cell-name/table-cell-name.component.d.ts.map +1 -1
- package/lib/features/data-table/data-table-filter.service.d.ts +11 -1
- package/lib/features/data-table/data-table-filter.service.d.ts.map +1 -1
- package/lib/features/data-table/data-table.component.d.ts +4 -1
- package/lib/features/data-table/data-table.component.d.ts.map +1 -1
- package/lib/features/data-table/table-filter-bar/filter-bar.component.d.ts +3 -1
- package/lib/features/data-table/table-filter-bar/filter-bar.component.d.ts.map +1 -1
- package/lib/features/preview-list/preview-list.component.d.ts +2 -1
- package/lib/features/preview-list/preview-list.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/configuration/configuration-form.component.d.ts +1 -1
- package/lib/features/projectable-forms/service/service-form.component.d.ts +1 -1
- package/lib/features/projectable-forms/service/service-form.service.d.ts +16 -2
- package/lib/features/projectable-forms/service/service-form.service.d.ts.map +1 -1
- package/lib/features/projectable-forms/service/simple-service/simple-service.component.d.ts.map +1 -1
- package/lib/features/projectable-forms/terminator/terminator-form.component.d.ts +59 -0
- package/lib/features/projectable-forms/terminator/terminator-form.component.d.ts.map +1 -0
- package/lib/features/projectable-forms/terminator/terminator-form.service.d.ts +33 -0
- package/lib/features/projectable-forms/terminator/terminator-form.service.d.ts.map +1 -0
- package/lib/features/visualizer/identity-service-path/identity-service-path.helper.d.ts.map +1 -1
- package/lib/models/terminator.d.ts +11 -0
- package/lib/models/terminator.d.ts.map +1 -0
- package/lib/pages/terminators/terminators-page.component.d.ts +29 -0
- package/lib/pages/terminators/terminators-page.component.d.ts.map +1 -0
- package/lib/pages/terminators/terminators-page.service.d.ts +31 -0
- package/lib/pages/terminators/terminators-page.service.d.ts.map +1 -0
- package/lib/services/ziti-controller-data.service.d.ts +1 -1
- package/lib/services/ziti-controller-data.service.d.ts.map +1 -1
- package/lib/services/ziti-data.service.d.ts +1 -1
- package/lib/services/ziti-data.service.d.ts.map +1 -1
- package/lib/ziti-console-lib.module.d.ts +20 -18
- package/lib/ziti-console-lib.module.d.ts.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +5 -0
- package/public-api.d.ts.map +1 -1
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright NetFoundry Inc.
|
|
3
|
+
|
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
you may not use this file except in compliance with the License.
|
|
6
|
+
You may obtain a copy of the License at
|
|
7
|
+
|
|
8
|
+
https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
|
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
See the License for the specific language governing permissions and
|
|
14
|
+
limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Component } from '@angular/core';
|
|
17
|
+
import { ListPageComponent } from "../../shared/list-page-component.class";
|
|
18
|
+
import * as i0 from "@angular/core";
|
|
19
|
+
import * as i1 from "./terminators-page.service";
|
|
20
|
+
import * as i2 from "../../features/data-table/data-table-filter.service";
|
|
21
|
+
import * as i3 from "../../services/tab-name.service";
|
|
22
|
+
import * as i4 from "../../services/console-events.service";
|
|
23
|
+
import * as i5 from "@angular/material/dialog";
|
|
24
|
+
import * as i6 from "../../features/list-page-features/list-page-header/list-page-header.component";
|
|
25
|
+
import * as i7 from "../../features/data-table/data-table.component";
|
|
26
|
+
class TerminatorsPageComponent extends ListPageComponent {
|
|
27
|
+
constructor(svc, filterService, tabNames, consoleEvents, dialogForm) {
|
|
28
|
+
super(filterService, svc, consoleEvents, dialogForm);
|
|
29
|
+
this.svc = svc;
|
|
30
|
+
this.tabNames = tabNames;
|
|
31
|
+
this.title = 'Terminator Management';
|
|
32
|
+
this.formDataChanged = false;
|
|
33
|
+
}
|
|
34
|
+
ngOnInit() {
|
|
35
|
+
this.tabs = this.tabNames.getTabs('terminators');
|
|
36
|
+
this.svc.refreshData = this.refreshData;
|
|
37
|
+
super.ngOnInit();
|
|
38
|
+
}
|
|
39
|
+
headerActionClicked(action) {
|
|
40
|
+
switch (action) {
|
|
41
|
+
case 'add':
|
|
42
|
+
this.svc.openEditForm();
|
|
43
|
+
break;
|
|
44
|
+
case 'edit':
|
|
45
|
+
this.svc.openEditForm();
|
|
46
|
+
break;
|
|
47
|
+
case 'delete':
|
|
48
|
+
const selectedItems = this.rowData.filter((row) => {
|
|
49
|
+
return row.selected;
|
|
50
|
+
});
|
|
51
|
+
const label = selectedItems.length > 1 ? 'terminators' : 'terminator';
|
|
52
|
+
this.openBulkDelete(selectedItems, label);
|
|
53
|
+
break;
|
|
54
|
+
default:
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
tableAction(event) {
|
|
58
|
+
switch (event?.action) {
|
|
59
|
+
case 'toggleAll':
|
|
60
|
+
case 'toggleItem':
|
|
61
|
+
this.itemToggled(event.item);
|
|
62
|
+
break;
|
|
63
|
+
case 'update':
|
|
64
|
+
this.svc.openEditForm(event.item?.id);
|
|
65
|
+
break;
|
|
66
|
+
case 'create':
|
|
67
|
+
this.svc.openEditForm();
|
|
68
|
+
break;
|
|
69
|
+
case 'delete':
|
|
70
|
+
this.deleteItem(event.item);
|
|
71
|
+
break;
|
|
72
|
+
default:
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
deleteItem(item) {
|
|
77
|
+
this.openBulkDelete([item], 'terminator');
|
|
78
|
+
}
|
|
79
|
+
closeModal(event) {
|
|
80
|
+
this.svc.sideModalOpen = false;
|
|
81
|
+
if (event?.refresh) {
|
|
82
|
+
this.refreshData();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
dataChanged(event) {
|
|
86
|
+
this.formDataChanged = event;
|
|
87
|
+
}
|
|
88
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TerminatorsPageComponent, deps: [{ token: i1.TerminatorsPageService }, { token: i2.DataTableFilterService }, { token: i3.TabNameService }, { token: i4.ConsoleEventsService }, { token: i5.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
89
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TerminatorsPageComponent, selector: "lib-configurations", usesInheritance: true, ngImport: i0, template: "<div class=\"ziti-page-container ziti-terminators-container\">\n <lib-list-page-header [title]=\"title\"\n [tabs]=\"tabs\"\n [hideAction]=\"true\"\n (actionClicked)=\"headerActionClicked($event)\"></lib-list-page-header>\n <lib-data-table [tableId]=\"'terminators'\"\n [rowData]=\"rowData\"\n [columnDefinitions]=\"columnDefs\"\n (actionRequested)=\"tableAction($event)\"\n [startCount]=\"startCount\"\n [endCount]=\"endCount\"\n [totalCount]=\"totalCount\"\n [emptyMsg]=\"'No terminators defined, Click the plus to add a terminator.'\"\n [filterApplied]=\"filterApplied\"\n [filterName]=\"'Address'\"\n [filterColumn]=\"'address'\"\n [menuItems]=\"svc.menuItems\"\n (gridReady)=\"gridReady($event)\"\n [options]=\"{noSelect: true, noMenu: true}\"\n >\n </lib-data-table>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i6.ListPageHeaderComponent, selector: "lib-list-page-header", inputs: ["title", "tabs", "showAdd", "hideAction"], outputs: ["actionClicked"] }, { kind: "component", type: i7.DataTableComponent, selector: "lib-data-table", inputs: ["rowData", "expandRowData", "collapseRowData", "rowValidation", "isTimeSearchAvailable", "isLoading", "tableId", "options", "validateService", "rowsToggled", "tableRefreshCount", "view", "serverSideDataSource", "allowDownload", "startCount", "endCount", "totalCount", "emptyMsg", "filterApplied", "menuItems", "headerActions", "noItemsClass", "entityTypeName", "showNoItemsAdd", "currentPage", "noItemsImage", "rowHeight", "filterName", "filterColumn", "columnDefinitions", "refreshCount"], outputs: ["actionRequested", "gridReady", "dragStart", "dragLeave", "pageChanged"] }] }); }
|
|
90
|
+
}
|
|
91
|
+
export { TerminatorsPageComponent };
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TerminatorsPageComponent, decorators: [{
|
|
93
|
+
type: Component,
|
|
94
|
+
args: [{ selector: 'lib-configurations', template: "<div class=\"ziti-page-container ziti-terminators-container\">\n <lib-list-page-header [title]=\"title\"\n [tabs]=\"tabs\"\n [hideAction]=\"true\"\n (actionClicked)=\"headerActionClicked($event)\"></lib-list-page-header>\n <lib-data-table [tableId]=\"'terminators'\"\n [rowData]=\"rowData\"\n [columnDefinitions]=\"columnDefs\"\n (actionRequested)=\"tableAction($event)\"\n [startCount]=\"startCount\"\n [endCount]=\"endCount\"\n [totalCount]=\"totalCount\"\n [emptyMsg]=\"'No terminators defined, Click the plus to add a terminator.'\"\n [filterApplied]=\"filterApplied\"\n [filterName]=\"'Address'\"\n [filterColumn]=\"'address'\"\n [menuItems]=\"svc.menuItems\"\n (gridReady)=\"gridReady($event)\"\n [options]=\"{noSelect: true, noMenu: true}\"\n >\n </lib-data-table>\n</div>\n" }]
|
|
95
|
+
}], ctorParameters: function () { return [{ type: i1.TerminatorsPageService }, { type: i2.DataTableFilterService }, { type: i3.TabNameService }, { type: i4.ConsoleEventsService }, { type: i5.MatDialog }]; } });
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYXRvcnMtcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvcGFnZXMvdGVybWluYXRvcnMvdGVybWluYXRvcnMtcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvcGFnZXMvdGVybWluYXRvcnMvdGVybWluYXRvcnMtcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFJaEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7OztBQUt6RSxNQUthLHdCQUF5QixTQUFRLGlCQUFpQjtJQU0zRCxZQUNhLEdBQTJCLEVBQ3BDLGFBQXFDLEVBQzdCLFFBQXdCLEVBQ2hDLGFBQW1DLEVBQ25DLFVBQXFCO1FBRXJCLEtBQUssQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQU41QyxRQUFHLEdBQUgsR0FBRyxDQUF3QjtRQUU1QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQVJwQyxVQUFLLEdBQUcsdUJBQXVCLENBQUE7UUFHL0Isb0JBQWUsR0FBRyxLQUFLLENBQUM7SUFVeEIsQ0FBQztJQUVRLFFBQVE7UUFDYixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDeEMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxNQUFjO1FBQzlCLFFBQVEsTUFBTSxFQUFFO1lBQ1osS0FBSyxLQUFLO2dCQUNOLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3hCLE1BQU07WUFDVixLQUFLLE1BQU07Z0JBQ1AsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDeEIsTUFBTTtZQUNWLEtBQUssUUFBUTtnQkFDVCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUM5QyxPQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUM7Z0JBQ3hCLENBQUMsQ0FBQyxDQUFDO2dCQUNILE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztnQkFDdEUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQzFDLE1BQU07WUFDVixRQUFRO1NBQ1g7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDbEIsUUFBTyxLQUFLLEVBQUUsTUFBTSxFQUFFO1lBQ2xCLEtBQUssV0FBVyxDQUFDO1lBQ2pCLEtBQUssWUFBWTtnQkFDYixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDNUIsTUFBTTtZQUNWLEtBQUssUUFBUTtnQkFDVCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN0QyxNQUFNO1lBQ1YsS0FBSyxRQUFRO2dCQUNULElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3hCLE1BQU07WUFDVixLQUFLLFFBQVE7Z0JBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQzNCLE1BQU07WUFDVjtnQkFDSSxNQUFNO1NBQ2I7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVM7UUFDaEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDL0IsSUFBRyxLQUFLLEVBQUUsT0FBTyxFQUFFO1lBQ2YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFLO1FBQ2IsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDakMsQ0FBQzsrR0ExRVEsd0JBQXdCO21HQUF4Qix3QkFBd0IsaUZDOUJyQyw2bENBc0JBOztTRFFhLHdCQUF3Qjs0RkFBeEIsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNJLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gICAgQ29weXJpZ2h0IE5ldEZvdW5kcnkgSW5jLlxuXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEYXRhVGFibGVGaWx0ZXJTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLWZpbHRlci5zZXJ2aWNlXCI7XG5pbXBvcnQge1Rlcm1pbmF0b3JzUGFnZVNlcnZpY2V9IGZyb20gXCIuL3Rlcm1pbmF0b3JzLXBhZ2Uuc2VydmljZVwiO1xuaW1wb3J0IHtUYWJOYW1lU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3RhYi1uYW1lLnNlcnZpY2VcIjtcbmltcG9ydCB7TGlzdFBhZ2VDb21wb25lbnR9IGZyb20gXCIuLi8uLi9zaGFyZWQvbGlzdC1wYWdlLWNvbXBvbmVudC5jbGFzc1wiO1xuaW1wb3J0IHtDb25zb2xlRXZlbnRzU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2NvbnNvbGUtZXZlbnRzLnNlcnZpY2VcIjtcbmltcG9ydCB7TWF0RGlhbG9nfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaWItY29uZmlndXJhdGlvbnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90ZXJtaW5hdG9ycy1wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi90ZXJtaW5hdG9ycy1wYWdlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgVGVybWluYXRvcnNQYWdlQ29tcG9uZW50IGV4dGVuZHMgTGlzdFBhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHRpdGxlID0gJ1Rlcm1pbmF0b3IgTWFuYWdlbWVudCdcbiAgICB0YWJzOiB7IHVybDogc3RyaW5nLCBsYWJlbDogc3RyaW5nIH1bXSA7XG4gICAgaXNMb2FkaW5nOiBib29sZWFuO1xuICAgIGZvcm1EYXRhQ2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIG92ZXJyaWRlIHN2YzogVGVybWluYXRvcnNQYWdlU2VydmljZSxcbiAgICAgICAgZmlsdGVyU2VydmljZTogRGF0YVRhYmxlRmlsdGVyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0YWJOYW1lczogVGFiTmFtZVNlcnZpY2UsXG4gICAgICAgIGNvbnNvbGVFdmVudHM6IENvbnNvbGVFdmVudHNTZXJ2aWNlLFxuICAgICAgICBkaWFsb2dGb3JtOiBNYXREaWFsb2dcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZmlsdGVyU2VydmljZSwgc3ZjLCBjb25zb2xlRXZlbnRzLCBkaWFsb2dGb3JtKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy50YWJzID0gdGhpcy50YWJOYW1lcy5nZXRUYWJzKCd0ZXJtaW5hdG9ycycpO1xuICAgICAgICB0aGlzLnN2Yy5yZWZyZXNoRGF0YSA9IHRoaXMucmVmcmVzaERhdGE7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgfVxuXG4gICAgaGVhZGVyQWN0aW9uQ2xpY2tlZChhY3Rpb246IHN0cmluZykge1xuICAgICAgICBzd2l0Y2ggKGFjdGlvbikge1xuICAgICAgICAgICAgY2FzZSAnYWRkJzpcbiAgICAgICAgICAgICAgICB0aGlzLnN2Yy5vcGVuRWRpdEZvcm0oKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2VkaXQnOlxuICAgICAgICAgICAgICAgIHRoaXMuc3ZjLm9wZW5FZGl0Rm9ybSgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEl0ZW1zID0gdGhpcy5yb3dEYXRhLmZpbHRlcigocm93KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByb3cuc2VsZWN0ZWQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBzZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDEgPyAndGVybWluYXRvcnMnIDogJ3Rlcm1pbmF0b3InO1xuICAgICAgICAgICAgICAgIHRoaXMub3BlbkJ1bGtEZWxldGUoc2VsZWN0ZWRJdGVtcywgbGFiZWwpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRhYmxlQWN0aW9uKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgc3dpdGNoKGV2ZW50Py5hY3Rpb24pIHtcbiAgICAgICAgICAgIGNhc2UgJ3RvZ2dsZUFsbCc6XG4gICAgICAgICAgICBjYXNlICd0b2dnbGVJdGVtJzpcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1Ub2dnbGVkKGV2ZW50Lml0ZW0pXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd1cGRhdGUnOlxuICAgICAgICAgICAgICAgIHRoaXMuc3ZjLm9wZW5FZGl0Rm9ybShldmVudC5pdGVtPy5pZCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdjcmVhdGUnOlxuICAgICAgICAgICAgICAgIHRoaXMuc3ZjLm9wZW5FZGl0Rm9ybSgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZGVsZXRlJzpcbiAgICAgICAgICAgICAgICB0aGlzLmRlbGV0ZUl0ZW0oZXZlbnQuaXRlbSlcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkZWxldGVJdGVtKGl0ZW06IGFueSkge1xuICAgICAgICB0aGlzLm9wZW5CdWxrRGVsZXRlKFtpdGVtXSwgJ3Rlcm1pbmF0b3InKTtcbiAgICB9XG5cbiAgICBjbG9zZU1vZGFsKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5zdmMuc2lkZU1vZGFsT3BlbiA9IGZhbHNlO1xuICAgICAgICBpZihldmVudD8ucmVmcmVzaCkge1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoRGF0YSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGF0YUNoYW5nZWQoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5mb3JtRGF0YUNoYW5nZWQgPSBldmVudDtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwieml0aS1wYWdlLWNvbnRhaW5lciB6aXRpLXRlcm1pbmF0b3JzLWNvbnRhaW5lclwiPlxuICAgIDxsaWItbGlzdC1wYWdlLWhlYWRlciBbdGl0bGVdPVwidGl0bGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFic109XCJ0YWJzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGVBY3Rpb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChhY3Rpb25DbGlja2VkKT1cImhlYWRlckFjdGlvbkNsaWNrZWQoJGV2ZW50KVwiPjwvbGliLWxpc3QtcGFnZS1oZWFkZXI+XG4gICAgPGxpYi1kYXRhLXRhYmxlIFt0YWJsZUlkXT1cIid0ZXJtaW5hdG9ycydcIlxuICAgICAgICAgICAgICAgICAgICBbcm93RGF0YV09XCJyb3dEYXRhXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbHVtbkRlZmluaXRpb25zXT1cImNvbHVtbkRlZnNcIlxuICAgICAgICAgICAgICAgICAgICAoYWN0aW9uUmVxdWVzdGVkKT1cInRhYmxlQWN0aW9uKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbc3RhcnRDb3VudF09XCJzdGFydENvdW50XCJcbiAgICAgICAgICAgICAgICAgICAgW2VuZENvdW50XT1cImVuZENvdW50XCJcbiAgICAgICAgICAgICAgICAgICAgW3RvdGFsQ291bnRdPVwidG90YWxDb3VudFwiXG4gICAgICAgICAgICAgICAgICAgIFtlbXB0eU1zZ109XCInTm8gdGVybWluYXRvcnMgZGVmaW5lZCwgQ2xpY2sgdGhlIHBsdXMgdG8gYWRkIGEgdGVybWluYXRvci4nXCJcbiAgICAgICAgICAgICAgICAgICAgW2ZpbHRlckFwcGxpZWRdPVwiZmlsdGVyQXBwbGllZFwiXG4gICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJOYW1lXT1cIidBZGRyZXNzJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJDb2x1bW5dPVwiJ2FkZHJlc3MnXCJcbiAgICAgICAgICAgICAgICAgICAgW21lbnVJdGVtc109XCJzdmMubWVudUl0ZW1zXCJcbiAgICAgICAgICAgICAgICAgICAgKGdyaWRSZWFkeSk9XCJncmlkUmVhZHkoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cIntub1NlbGVjdDogdHJ1ZSwgbm9NZW51OiB0cnVlfVwiXG4gICAgPlxuICAgIDwvbGliLWRhdGEtdGFibGU+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright NetFoundry Inc.
|
|
3
|
+
|
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
you may not use this file except in compliance with the License.
|
|
6
|
+
You may obtain a copy of the License at
|
|
7
|
+
|
|
8
|
+
https://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
|
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
See the License for the specific language governing permissions and
|
|
14
|
+
limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { Inject, Injectable } from '@angular/core';
|
|
17
|
+
import { isEmpty, unset } from "lodash";
|
|
18
|
+
import { ListPageServiceClass } from "../../shared/list-page-service.class";
|
|
19
|
+
import { TableColumnDefaultComponent } from "../../features/data-table/column-headers/table-column-default/table-column-default.component";
|
|
20
|
+
import { SETTINGS_SERVICE } from "../../services/settings.service";
|
|
21
|
+
import { SHAREDZ_EXTENSION } from "../../features/extendable/extensions-noop.service";
|
|
22
|
+
import { Service } from "../../models/service";
|
|
23
|
+
import { TableCellNameComponent } from "../../features/data-table/cells/table-cell-name/table-cell-name.component";
|
|
24
|
+
import * as i0 from "@angular/core";
|
|
25
|
+
import * as i1 from "../../services/schema.service";
|
|
26
|
+
import * as i2 from "../../features/data-table/data-table-filter.service";
|
|
27
|
+
import * as i3 from "../../services/csv-download.service";
|
|
28
|
+
import * as i4 from "@angular/router";
|
|
29
|
+
import * as i5 from "../../services/settings.service";
|
|
30
|
+
class TerminatorsPageService extends ListPageServiceClass {
|
|
31
|
+
constructor(schemaSvc, settings, filterService, csvDownloadService, extService, router) {
|
|
32
|
+
super(settings, filterService, csvDownloadService, extService, router);
|
|
33
|
+
this.schemaSvc = schemaSvc;
|
|
34
|
+
this.router = router;
|
|
35
|
+
this.paging = this.DEFAULT_PAGING;
|
|
36
|
+
this.resourceType = 'terminators';
|
|
37
|
+
this.selectedConfig = {};
|
|
38
|
+
this.modalType = '';
|
|
39
|
+
this.menuItems = [
|
|
40
|
+
{ name: 'Edit', action: 'update' },
|
|
41
|
+
{ name: 'Delete', action: 'delete' },
|
|
42
|
+
];
|
|
43
|
+
this.validate = (formData) => {
|
|
44
|
+
return Promise.resolve({ passed: true });
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
initTableColumns() {
|
|
48
|
+
const typeRenderer = (row) => {
|
|
49
|
+
return row?.data?.configType?.name;
|
|
50
|
+
};
|
|
51
|
+
const createdAtHeaderComponentParams = {
|
|
52
|
+
filterType: 'DATETIME',
|
|
53
|
+
};
|
|
54
|
+
return [
|
|
55
|
+
{
|
|
56
|
+
colId: 'address',
|
|
57
|
+
field: 'address',
|
|
58
|
+
headerName: 'Address',
|
|
59
|
+
headerComponent: TableColumnDefaultComponent,
|
|
60
|
+
headerComponentParams: this.headerComponentParams,
|
|
61
|
+
cellRenderer: TableCellNameComponent,
|
|
62
|
+
cellRendererParams: { pathRoot: this.basePath },
|
|
63
|
+
onCellClicked: (data) => {
|
|
64
|
+
if (this.hasSelectedText()) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
this.openEditForm(data?.data?.id);
|
|
68
|
+
},
|
|
69
|
+
resizable: true,
|
|
70
|
+
cellClass: 'nf-cell-vert-align tCol',
|
|
71
|
+
sortable: true,
|
|
72
|
+
filter: true,
|
|
73
|
+
sortColumn: this.sort.bind(this)
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
colId: 'router.name',
|
|
77
|
+
field: 'router.name',
|
|
78
|
+
headerName: 'Router',
|
|
79
|
+
headerComponent: TableColumnDefaultComponent,
|
|
80
|
+
headerComponentParams: this.headerComponentParams,
|
|
81
|
+
cellRenderer: TableCellNameComponent,
|
|
82
|
+
cellRendererParams: { pathRoot: this.basePath },
|
|
83
|
+
onCellClicked: (data) => {
|
|
84
|
+
if (this.hasSelectedText()) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
this.openEditForm(data?.data?.id);
|
|
88
|
+
},
|
|
89
|
+
resizable: true,
|
|
90
|
+
cellClass: 'nf-cell-vert-align tCol',
|
|
91
|
+
sortable: true,
|
|
92
|
+
filter: true,
|
|
93
|
+
sortColumn: this.sort.bind(this)
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
colId: 'service.name',
|
|
97
|
+
field: 'service.name',
|
|
98
|
+
headerName: 'Service',
|
|
99
|
+
headerComponent: TableColumnDefaultComponent,
|
|
100
|
+
headerComponentParams: this.headerComponentParams,
|
|
101
|
+
cellRenderer: TableCellNameComponent,
|
|
102
|
+
cellRendererParams: { pathRoot: this.basePath },
|
|
103
|
+
onCellClicked: (data) => {
|
|
104
|
+
if (this.hasSelectedText()) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
this.openEditForm(data?.data?.id);
|
|
108
|
+
},
|
|
109
|
+
resizable: true,
|
|
110
|
+
cellClass: 'nf-cell-vert-align tCol',
|
|
111
|
+
sortable: true,
|
|
112
|
+
filter: true,
|
|
113
|
+
sortColumn: this.sort.bind(this)
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
colId: 'createdAt',
|
|
117
|
+
field: 'createdAt',
|
|
118
|
+
headerName: 'Created At',
|
|
119
|
+
headerComponent: TableColumnDefaultComponent,
|
|
120
|
+
headerComponentParams: createdAtHeaderComponentParams,
|
|
121
|
+
valueFormatter: this.createdAtFormatter,
|
|
122
|
+
resizable: true,
|
|
123
|
+
sortable: true,
|
|
124
|
+
sortColumn: this.sort.bind(this),
|
|
125
|
+
cellClass: 'nf-cell-vert-align tCol',
|
|
126
|
+
onCellClicked: (data) => {
|
|
127
|
+
if (this.hasSelectedText()) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
this.openEditForm(data.data.id);
|
|
131
|
+
},
|
|
132
|
+
hide: false
|
|
133
|
+
}
|
|
134
|
+
];
|
|
135
|
+
}
|
|
136
|
+
getData(filters, sort) {
|
|
137
|
+
sort.sortBy = 'address';
|
|
138
|
+
// we can customize filters or sorting here before moving on...
|
|
139
|
+
return super.getTableData('terminators', this.paging, filters, sort)
|
|
140
|
+
.then((results) => {
|
|
141
|
+
return this.processData(results);
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
processData(results) {
|
|
145
|
+
if (!isEmpty(results?.data)) {
|
|
146
|
+
//pre-process data before rendering
|
|
147
|
+
results.data = this.addActionsPerRow(results);
|
|
148
|
+
}
|
|
149
|
+
return results;
|
|
150
|
+
}
|
|
151
|
+
addActionsPerRow(results) {
|
|
152
|
+
return results.data.map((row) => {
|
|
153
|
+
row.actionList = ['update', 'delete'];
|
|
154
|
+
return row;
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
openUpdate(item) {
|
|
158
|
+
this.modalType = 'terminators';
|
|
159
|
+
if (item) {
|
|
160
|
+
this.selectedConfig = item;
|
|
161
|
+
this.selectedConfig.badges = [];
|
|
162
|
+
unset(this.selectedConfig, '_links');
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
this.selectedConfig = new Service();
|
|
166
|
+
}
|
|
167
|
+
this.sideModalOpen = true;
|
|
168
|
+
}
|
|
169
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TerminatorsPageService, deps: [{ token: i1.SchemaService }, { token: SETTINGS_SERVICE }, { token: i2.DataTableFilterService }, { token: i3.CsvDownloadService }, { token: SHAREDZ_EXTENSION }, { token: i4.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
170
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TerminatorsPageService, providedIn: 'root' }); }
|
|
171
|
+
}
|
|
172
|
+
export { TerminatorsPageService };
|
|
173
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TerminatorsPageService, decorators: [{
|
|
174
|
+
type: Injectable,
|
|
175
|
+
args: [{
|
|
176
|
+
providedIn: 'root'
|
|
177
|
+
}]
|
|
178
|
+
}], ctorParameters: function () { return [{ type: i1.SchemaService }, { type: i5.SettingsService, decorators: [{
|
|
179
|
+
type: Inject,
|
|
180
|
+
args: [SETTINGS_SERVICE]
|
|
181
|
+
}] }, { type: i2.DataTableFilterService }, { type: i3.CsvDownloadService }, { type: undefined, decorators: [{
|
|
182
|
+
type: Inject,
|
|
183
|
+
args: [SHAREDZ_EXTENSION]
|
|
184
|
+
}] }, { type: i4.Router }]; } });
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVybWluYXRvcnMtcGFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL3BhZ2VzL3Rlcm1pbmF0b3JzL3Rlcm1pbmF0b3JzLXBhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQVUsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFDSCwyQkFBMkIsRUFDOUIsTUFBTSw4RkFBOEYsQ0FBQztBQUd0RyxPQUFPLEVBQUMsZ0JBQWdCLEVBQWtCLE1BQU0saUNBQWlDLENBQUM7QUFFbEYsT0FBTyxFQUFtQixpQkFBaUIsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyRUFBMkUsQ0FBQzs7Ozs7OztBQUdqSCxNQUdhLHNCQUF1QixTQUFRLG9CQUFvQjtJQWE1RCxZQUNZLFNBQXdCLEVBQ04sUUFBeUIsRUFDbkQsYUFBcUMsRUFDckMsa0JBQXNDLEVBQ1gsVUFBNEIsRUFDcEMsTUFBYztRQUVqQyxLQUFLLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFQL0QsY0FBUyxHQUFULFNBQVMsQ0FBZTtRQUtiLFdBQU0sR0FBTixNQUFNLENBQVE7UUFqQjdCLFdBQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBRXJDLGlCQUFZLEdBQUcsYUFBYSxDQUFDO1FBQzdC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c0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFnQlEsTUFBTTsyQkFBQyxnQkFBZ0I7OzBCQUd2QixNQUFNOzJCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gICAgQ29weXJpZ2h0IE5ldEZvdW5kcnkgSW5jLlxuXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGF0YVRhYmxlRmlsdGVyU2VydmljZSwgRmlsdGVyT2JqfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLWZpbHRlci5zZXJ2aWNlXCI7XG5pbXBvcnQgXywge2lzRW1wdHksIHVuc2V0fSBmcm9tIFwibG9kYXNoXCI7XG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcbmltcG9ydCB7TGlzdFBhZ2VTZXJ2aWNlQ2xhc3N9IGZyb20gXCIuLi8uLi9zaGFyZWQvbGlzdC1wYWdlLXNlcnZpY2UuY2xhc3NcIjtcbmltcG9ydCB7XG4gICAgVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50XG59IGZyb20gXCIuLi8uLi9mZWF0dXJlcy9kYXRhLXRhYmxlL2NvbHVtbi1oZWFkZXJzL3RhYmxlLWNvbHVtbi1kZWZhdWx0L3RhYmxlLWNvbHVtbi1kZWZhdWx0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHtDYWxsYmFja1Jlc3VsdHN9IGZyb20gXCIuLi8uLi9mZWF0dXJlcy9saXN0LXBhZ2UtZmVhdHVyZXMvbGlzdC1wYWdlLWZvcm0vbGlzdC1wYWdlLWZvcm0uY29tcG9uZW50XCI7XG5pbXBvcnQge1NjaGVtYVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zY2hlbWEuc2VydmljZVwiO1xuaW1wb3J0IHtTRVRUSU5HU19TRVJWSUNFLCBTZXR0aW5nc1NlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zZXR0aW5ncy5zZXJ2aWNlXCI7XG5pbXBvcnQge0NzdkRvd25sb2FkU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2Nzdi1kb3dubG9hZC5zZXJ2aWNlXCI7XG5pbXBvcnQge0V4dGVuc2lvblNlcnZpY2UsIFNIQVJFRFpfRVhURU5TSU9OfSBmcm9tIFwiLi4vLi4vZmVhdHVyZXMvZXh0ZW5kYWJsZS9leHRlbnNpb25zLW5vb3Auc2VydmljZVwiO1xuaW1wb3J0IHtTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3NlcnZpY2VcIjtcbmltcG9ydCB7VGFibGVDZWxsTmFtZUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2ZlYXR1cmVzL2RhdGEtdGFibGUvY2VsbHMvdGFibGUtY2VsbC1uYW1lL3RhYmxlLWNlbGwtbmFtZS5jb21wb25lbnRcIjtcbmltcG9ydCB7Um91dGVyfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVGVybWluYXRvcnNQYWdlU2VydmljZSBleHRlbmRzIExpc3RQYWdlU2VydmljZUNsYXNzIHtcblxuICAgIHByaXZhdGUgcGFnaW5nID0gdGhpcy5ERUZBVUxUX1BBR0lORztcblxuICAgIHJlc291cmNlVHlwZSA9ICd0ZXJtaW5hdG9ycyc7XG4gICAgc2VsZWN0ZWRDb25maWc6IGFueSA9IHt9O1xuICAgIG1vZGFsVHlwZSA9ICcnO1xuXG4gICAgb3ZlcnJpZGUgbWVudUl0ZW1zID0gW1xuICAgICAgICB7bmFtZTogJ0VkaXQnLCBhY3Rpb246ICd1cGRhdGUnfSxcbiAgICAgICAge25hbWU6ICdEZWxldGUnLCBhY3Rpb246ICdkZWxldGUnfSxcbiAgICBdXG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBzY2hlbWFTdmM6IFNjaGVtYVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoU0VUVElOR1NfU0VSVklDRSkgc2V0dGluZ3M6IFNldHRpbmdzU2VydmljZSxcbiAgICAgICAgZmlsdGVyU2VydmljZTogRGF0YVRhYmxlRmlsdGVyU2VydmljZSxcbiAgICAgICAgY3N2RG93bmxvYWRTZXJ2aWNlOiBDc3ZEb3dubG9hZFNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoU0hBUkVEWl9FWFRFTlNJT04pIGV4dFNlcnZpY2U6IEV4dGVuc2lvblNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBvdmVycmlkZSByb3V0ZXI6IFJvdXRlclxuICAgICkge1xuICAgICAgICBzdXBlcihzZXR0aW5ncywgZmlsdGVyU2VydmljZSwgY3N2RG93bmxvYWRTZXJ2aWNlLCBleHRTZXJ2aWNlLCByb3V0ZXIpO1xuICAgIH1cblxuICAgIGluaXRUYWJsZUNvbHVtbnMoKTogYW55IHtcblxuICAgICAgICBjb25zdCB0eXBlUmVuZGVyZXIgPSAocm93KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gcm93Py5kYXRhPy5jb25maWdUeXBlPy5uYW1lO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGNyZWF0ZWRBdEhlYWRlckNvbXBvbmVudFBhcmFtcyA9IHtcbiAgICAgICAgICAgIGZpbHRlclR5cGU6ICdEQVRFVElNRScsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sSWQ6ICdhZGRyZXNzJyxcbiAgICAgICAgICAgICAgICBmaWVsZDogJ2FkZHJlc3MnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdBZGRyZXNzJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnRQYXJhbXM6IHRoaXMuaGVhZGVyQ29tcG9uZW50UGFyYW1zLFxuICAgICAgICAgICAgICAgIGNlbGxSZW5kZXJlcjogVGFibGVDZWxsTmFtZUNvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBjZWxsUmVuZGVyZXJQYXJhbXM6IHsgcGF0aFJvb3Q6IHRoaXMuYmFzZVBhdGggfSxcbiAgICAgICAgICAgICAgICBvbkNlbGxDbGlja2VkOiAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNTZWxlY3RlZFRleHQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlbkVkaXRGb3JtKGRhdGE/LmRhdGE/LmlkKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjZWxsQ2xhc3M6ICduZi1jZWxsLXZlcnQtYWxpZ24gdENvbCcsXG4gICAgICAgICAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgZmlsdGVyOiB0cnVlLFxuICAgICAgICAgICAgICAgIHNvcnRDb2x1bW46IHRoaXMuc29ydC5iaW5kKHRoaXMpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbElkOiAncm91dGVyLm5hbWUnLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAncm91dGVyLm5hbWUnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdSb3V0ZXInLFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudDogVGFibGVDb2x1bW5EZWZhdWx0Q29tcG9uZW50LFxuICAgICAgICAgICAgICAgIGhlYWRlckNvbXBvbmVudFBhcmFtczogdGhpcy5oZWFkZXJDb21wb25lbnRQYXJhbXMsXG4gICAgICAgICAgICAgICAgY2VsbFJlbmRlcmVyOiBUYWJsZUNlbGxOYW1lQ29tcG9uZW50LFxuICAgICAgICAgICAgICAgIGNlbGxSZW5kZXJlclBhcmFtczogeyBwYXRoUm9vdDogdGhpcy5iYXNlUGF0aCB9LFxuICAgICAgICAgICAgICAgIG9uQ2VsbENsaWNrZWQ6IChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmhhc1NlbGVjdGVkVGV4dCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcGVuRWRpdEZvcm0oZGF0YT8uZGF0YT8uaWQpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNlbGxDbGFzczogJ25mLWNlbGwtdmVydC1hbGlnbiB0Q29sJyxcbiAgICAgICAgICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IHRydWUsXG4gICAgICAgICAgICAgICAgc29ydENvbHVtbjogdGhpcy5zb3J0LmJpbmQodGhpcylcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29sSWQ6ICdzZXJ2aWNlLm5hbWUnLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAnc2VydmljZS5uYW1lJyxcbiAgICAgICAgICAgICAgICBoZWFkZXJOYW1lOiAnU2VydmljZScsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50OiBUYWJsZUNvbHVtbkRlZmF1bHRDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgaGVhZGVyQ29tcG9uZW50UGFyYW1zOiB0aGlzLmhlYWRlckNvbXBvbmVudFBhcmFtcyxcbiAgICAgICAgICAgICAgICBjZWxsUmVuZGVyZXI6IFRhYmxlQ2VsbE5hbWVDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgY2VsbFJlbmRlcmVyUGFyYW1zOiB7IHBhdGhSb290OiB0aGlzLmJhc2VQYXRoIH0sXG4gICAgICAgICAgICAgICAgb25DZWxsQ2xpY2tlZDogKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaGFzU2VsZWN0ZWRUZXh0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5FZGl0Rm9ybShkYXRhPy5kYXRhPy5pZCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2VsbENsYXNzOiAnbmYtY2VsbC12ZXJ0LWFsaWduIHRDb2wnLFxuICAgICAgICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzb3J0Q29sdW1uOiB0aGlzLnNvcnQuYmluZCh0aGlzKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb2xJZDogJ2NyZWF0ZWRBdCcsXG4gICAgICAgICAgICAgICAgZmllbGQ6ICdjcmVhdGVkQXQnLFxuICAgICAgICAgICAgICAgIGhlYWRlck5hbWU6ICdDcmVhdGVkIEF0JyxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnQ6IFRhYmxlQ29sdW1uRGVmYXVsdENvbXBvbmVudCxcbiAgICAgICAgICAgICAgICBoZWFkZXJDb21wb25lbnRQYXJhbXM6IGNyZWF0ZWRBdEhlYWRlckNvbXBvbmVudFBhcmFtcyxcbiAgICAgICAgICAgICAgICB2YWx1ZUZvcm1hdHRlcjogdGhpcy5jcmVhdGVkQXRGb3JtYXR0ZXIsXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgIHNvcnRDb2x1bW46IHRoaXMuc29ydC5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgICAgIGNlbGxDbGFzczogJ25mLWNlbGwtdmVydC1hbGlnbiB0Q29sJyxcbiAgICAgICAgICAgICAgICBvbkNlbGxDbGlja2VkOiAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNTZWxlY3RlZFRleHQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlbkVkaXRGb3JtKGRhdGEuZGF0YS5pZCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBoaWRlOiBmYWxzZVxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIGdldERhdGEoZmlsdGVycz86IEZpbHRlck9ialtdLCBzb3J0PzogYW55KSB7XG4gICAgICAgIHNvcnQuc29ydEJ5ID0gJ2FkZHJlc3MnO1xuICAgICAgICAvLyB3ZSBjYW4gY3VzdG9taXplIGZpbHRlcnMgb3Igc29ydGluZyBoZXJlIGJlZm9yZSBtb3Zpbmcgb24uLi5cbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldFRhYmxlRGF0YSgndGVybWluYXRvcnMnLCB0aGlzLnBhZ2luZywgZmlsdGVycywgc29ydClcbiAgICAgICAgICAgIC50aGVuKChyZXN1bHRzOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wcm9jZXNzRGF0YShyZXN1bHRzKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHZhbGlkYXRlID0gKGZvcm1EYXRhKTogUHJvbWlzZTxDYWxsYmFja1Jlc3VsdHM+ID0+IHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IHBhc3NlZDogdHJ1ZX0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc0RhdGEocmVzdWx0czogYW55KSB7XG4gICAgICAgIGlmICghaXNFbXB0eShyZXN1bHRzPy5kYXRhKSkge1xuICAgICAgICAgICAgLy9wcmUtcHJvY2VzcyBkYXRhIGJlZm9yZSByZW5kZXJpbmdcbiAgICAgICAgICAgIHJlc3VsdHMuZGF0YSA9IHRoaXMuYWRkQWN0aW9uc1BlclJvdyhyZXN1bHRzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZEFjdGlvbnNQZXJSb3cocmVzdWx0czogYW55KTogYW55W10ge1xuICAgICAgICByZXR1cm4gcmVzdWx0cy5kYXRhLm1hcCgocm93KSA9PiB7XG4gICAgICAgICAgICByb3cuYWN0aW9uTGlzdCA9IFsndXBkYXRlJywgJ2RlbGV0ZSddO1xuICAgICAgICAgICAgcmV0dXJuIHJvdztcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG9wZW5VcGRhdGUoaXRlbT86IGFueSkge1xuICAgICAgICB0aGlzLm1vZGFsVHlwZSA9ICd0ZXJtaW5hdG9ycyc7XG4gICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29uZmlnID0gaXRlbTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb25maWcuYmFkZ2VzID0gW107XG4gICAgICAgICAgICB1bnNldCh0aGlzLnNlbGVjdGVkQ29uZmlnLCAnX2xpbmtzJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ29uZmlnID0gbmV3IFNlcnZpY2UoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNpZGVNb2RhbE9wZW4gPSB0cnVlO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -79,10 +79,14 @@ class ZitiControllerDataService extends ZitiDataService {
|
|
|
79
79
|
return results;
|
|
80
80
|
})));
|
|
81
81
|
}
|
|
82
|
-
getSubdata(entityType, id, dataType) {
|
|
82
|
+
getSubdata(entityType, id, dataType, paging) {
|
|
83
83
|
const apiVersions = this.settingsService.apiVersions || {};
|
|
84
84
|
const prefix = apiVersions["edge-management"]?.v1?.path || '/edge/management/v1';
|
|
85
|
-
|
|
85
|
+
let urlFilter = '';
|
|
86
|
+
if (!isEmpty(paging)) {
|
|
87
|
+
urlFilter = this.getUrlFilter(paging, []);
|
|
88
|
+
}
|
|
89
|
+
const url = this.settingsService.settings.selectedEdgeController + `${prefix}/${entityType}/${id}/${dataType}/${urlFilter}`;
|
|
86
90
|
return firstValueFrom(this.httpClient.get(url, {}).pipe(catchError((err) => {
|
|
87
91
|
const error = "Server Not Accessible";
|
|
88
92
|
if (err.code != "ECONNREFUSED")
|
|
@@ -261,4 +265,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
261
265
|
type: Inject,
|
|
262
266
|
args: [SETTINGS_SERVICE]
|
|
263
267
|
}] }, { type: i3.HttpClient }, { type: i4.Router }]; } });
|
|
264
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieml0aS1jb250cm9sbGVyLWRhdGEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9zZXJ2aWNlcy96aXRpLWNvbnRyb2xsZXItZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFDLGdCQUFnQixFQUFrQixNQUFNLG9CQUFvQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxjQUFjLEVBQUUsR0FBRyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUcxQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUM3RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDdEQsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDOzs7Ozs7O0FBRTVCLE1BR2EseUJBQTBCLFNBQVEsZUFBZTtJQUUxRCxZQUFxQixNQUFxQixFQUNyQixPQUF1QixFQUNOLGVBQWdDLEVBQ2pELFVBQXNCLEVBQ3RCLE1BQWM7UUFFL0IsS0FBSyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQU4zQyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBRXZCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUduQyxDQUFDO0lBRUQsSUFBSSxDQUFDLElB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Q0FBQztpQkFDcEI7Z0JBQ0QsTUFBTSxJQUFJLFNBQVMsUUFBUSxRQUFRLElBQUksR0FBRyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxDQUFDO1NBQ047YUFBTTtZQUNILE1BQU0sR0FBRyxTQUFTLFFBQVEsUUFBUSxHQUFHLEdBQUcsQ0FBQztTQUM1QztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7K0dBdFFRLHlCQUF5Qiw2RUFJZCxnQkFBZ0I7bUhBSjNCLHlCQUF5QixjQUZ0QixNQUFNOztTQUVULHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQUhyQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBS2dCLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgICBDb3B5cmlnaHQgTmV0Rm91bmRyeSBJbmMuXG5cbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQge0xvZ2dlclNlcnZpY2V9IGZyb20gXCIuLi9mZWF0dXJlcy9tZXNzYWdpbmcvbG9nZ2VyLnNlcnZpY2VcIjtcbmltcG9ydCB7R3Jvd2xlclNlcnZpY2V9IGZyb20gXCIuLi9mZWF0dXJlcy9tZXNzYWdpbmcvZ3Jvd2xlci5zZXJ2aWNlXCI7XG5pbXBvcnQge1NFVFRJTkdTX1NFUlZJQ0UsIFNldHRpbmdzU2VydmljZX0gZnJvbSBcIi4vc2V0dGluZ3Muc2VydmljZVwiO1xuaW1wb3J0IHtmaXJzdFZhbHVlRnJvbSwgbWFwLCBPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHtjYXRjaEVycm9yfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQge0ZpbHRlck9ian0gZnJvbSBcIi4uL2ZlYXR1cmVzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1maWx0ZXIuc2VydmljZVwiO1xuaW1wb3J0IHtaaXRpRGF0YVNlcnZpY2V9IGZyb20gXCIuL3ppdGktZGF0YS5zZXJ2aWNlXCI7XG5pbXBvcnQge2lzRW1wdHksIGlzQXJyYXksIGlzTnVtYmVyLCBpc0Jvb2xlYW59IGZyb20gXCJsb2Rhc2hcIjtcbmltcG9ydCB7UmVzb2x2ZXJ9IGZyb20gXCJAc3RvcGxpZ2h0L2pzb24tcmVmLXJlc29sdmVyXCI7XG5pbXBvcnQgbW9tZW50IGZyb20gXCJtb21lbnRcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBaaXRpQ29udHJvbGxlckRhdGFTZXJ2aWNlIGV4dGVuZHMgWml0aURhdGFTZXJ2aWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKG92ZXJyaWRlIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBvdmVycmlkZSBncm93bGVyOiBHcm93bGVyU2VydmljZSxcbiAgICAgICAgICAgICAgICBASW5qZWN0KFNFVFRJTkdTX1NFUlZJQ0UpIHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIG92ZXJyaWRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgICAgICAgICAgICAgb3ZlcnJpZGUgcm91dGVyOiBSb3V0ZXJcbiAgICApIHtcbiAgICAgICAgc3VwZXIobG9nZ2VyLCBncm93bGVyLCBzZXR0aW5nc1NlcnZpY2UsIGh0dHBDbGllbnQsIHJvdXRlcik7XG4gICAgfVxuXG4gICAgcG9zdCh0eXBlLCBtb2RlbCwgY2hhaW5lZCA9IGZhbHNlKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc3QgYXBpVmVyc2lvbnMgPSB0aGlzLnNldHRpbmdzU2VydmljZS5hcGlWZXJzaW9ucyB8fCB7fTtcbiAgICAgICAgY29uc3QgcHJlZml4ID0gYXBpVmVyc2lvbnNbXCJlZGdlLW1hbmFnZW1lbnRcIl0/LnYxPy5wYXRoO1xuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLnNldHRpbmdzU2VydmljZS5zZXR0aW5ncy5zZWxlY3RlZEVkZ2VDb250cm9sbGVyO1xuICAgICAgICBjb25zdCBzZXJ2aWNlVXJsID0gdXJsICsgcHJlZml4ICsgXCIvXCIgKyB0eXBlO1xuXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHBDbGllbnQucG9zdChzZXJ2aWNlVXJsLCBtb2RlbCwge30pLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBcIlNlcnZlciBOb3QgQWNjZXNzaWJsZVwiO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyLmNvZGUgIT09IFwiRUNPTk5SRUZVU0VEXCIpIHRocm93KGVycik7XG4gICAgICAgICAgICAgICAgICAgIHRocm93KHtlcnJvcjogZXJyb3J9KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3VsdDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwYXRjaCh0eXBlLCBtb2RlbCwgaWQsIGNoYWluZWQgPSBmYWxzZSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IGFwaVZlcnNpb25zID0gdGhpcy5zZXR0aW5nc1NlcnZpY2UuYXBpVmVyc2lvbnMgfHwge307XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IGFwaVZlcnNpb25zW1wiZWRnZS1tYW5hZ2VtZW50XCJdPy52MT8ucGF0aCB8fCAnL2VkZ2UvbWFuYWdlbWVudC92MSc7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLnNlbGVjdGVkRWRnZUNvbnRyb2xsZXI7XG4gICAgICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB1cmwgKyBwcmVmaXggKyBcIi9cIiArIHR5cGUgKyAnLycgKyBpZDtcbiAgICAgICAgdGhpcy5odHRwQ2xpZW50LnBhdGNoKHNlcnZpY2VVcmwsIG1vZGVsLCB7fSk7XG5cbiAgICAgICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cENsaWVudC5wYXRjaChzZXJ2aWNlVXJsLCBtb2RlbCwge30pLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBcIlNlcnZlciBOb3QgQWNjZXNzaWJsZVwiO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyLmNvZGUgIT09IFwiRUNPTk5SRUZVU0VEXCIpIHRocm93KGVycik7XG4gICAgICAgICAgICAgICAgICAgIHRocm93KHtlcnJvcjogZXJyb3J9KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3VsdDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQodHlwZTogc3RyaW5nLCBwYWdpbmc6IGFueSwgZmlsdGVyczogRmlsdGVyT2JqW10gPSBbXSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IGFwaVZlcnNpb25zID0gdGhpcy5zZXR0aW5nc1NlcnZpY2UuYXBpVmVyc2lvbnMgfHwge307XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IGFwaVZlcnNpb25zW1wiZWRnZS1tYW5hZ2VtZW50XCJdPy52MT8ucGF0aCB8fCAnL2VkZ2UvbWFuYWdlbWVudC92MSc7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLnNlbGVjdGVkRWRnZUNvbnRyb2xsZXI7XG4gICAgICAgIGNvbnN0IHVybEZpbHRlciA9IHRoaXMuZ2V0VXJsRmlsdGVyKHBhZ2luZywgZmlsdGVycyk7XG4gICAgICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB1cmwgKyBwcmVmaXggKyBcIi9cIiArIHR5cGUgKyB1cmxGaWx0ZXI7XG5cbiAgICAgICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cENsaWVudC5nZXQoc2VydmljZVVybCx7fSkucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IFwiU2VydmVyIE5vdCBBY2Nlc3NpYmxlXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSAhPSBcIkVDT05OUkVGVVNFRFwiKSB0aHJvdyh7ZXJyb3I6IGVyci5jb2RlfSk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93KHtlcnJvcjogZXJyb3J9KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3VsdHM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFN1YmRhdGEoZW50aXR5VHlwZTogc3RyaW5nLCBpZDogYW55LCBkYXRhVHlwZTogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc3QgYXBpVmVyc2lvbnMgPSB0aGlzLnNldHRpbmdzU2VydmljZS5hcGlWZXJzaW9ucyB8fCB7fTtcbiAgICAgICAgY29uc3QgcHJlZml4ID0gYXBpVmVyc2lvbnNbXCJlZGdlLW1hbmFnZW1lbnRcIl0/LnYxPy5wYXRoIHx8ICcvZWRnZS9tYW5hZ2VtZW50L3YxJztcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlciArIGAke3ByZWZpeH0vJHtlbnRpdHlUeXBlfS8ke2lkfS8ke2RhdGFUeXBlfWA7XG5cbiAgICAgICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cENsaWVudC5nZXQodXJsLCB7fSkucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IFwiU2VydmVyIE5vdCBBY2Nlc3NpYmxlXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSAhPSBcIkVDT05OUkVGVVNFRFwiKSB0aHJvdyh7ZXJyb3I6IGVyci5jb2RlfSk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93KHtlcnJvcjogZXJyb3J9KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHNhdmVTdWJkYXRhKGVudGl0eVR5cGU6IHN0cmluZywgaWQ6IGFueSwgZGF0YVR5cGU6IHN0cmluZywgcGFyYW1zOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCBhcGlWZXJzaW9ucyA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmFwaVZlcnNpb25zIHx8IHt9O1xuICAgICAgICBjb25zdCBwcmVmaXggPSBhcGlWZXJzaW9uc1tcImVkZ2UtbWFuYWdlbWVudFwiXT8udjE/LnBhdGggfHwgJy9lZGdlL21hbmFnZW1lbnQvdjEnO1xuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLnNldHRpbmdzU2VydmljZS5zZXR0aW5ncy5zZWxlY3RlZEVkZ2VDb250cm9sbGVyICsgYCR7cHJlZml4fS8ke2VudGl0eVR5cGV9LyR7aWR9LyR7ZGF0YVR5cGV9YDtcblxuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwQ2xpZW50LnBvc3QodXJsLCBwYXJhbXMsIHt9KS5waXBlKFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gXCJTZXJ2ZXIgTm90IEFjY2Vzc2libGVcIjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVyci5jb2RlICE9IFwiRUNPTk5SRUZVU0VEXCIpIHRocm93KHtlcnJvcjogZXJyLmNvZGV9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3coe2Vycm9yOiBlcnJvcn0pO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZGVsZXRlU3ViZGF0YShlbnRpdHlUeXBlOiBzdHJpbmcsIGlkOiBhbnksIGRhdGFUeXBlOiBzdHJpbmcsIHBhcmFtczogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc3QgYXBpVmVyc2lvbnMgPSB0aGlzLnNldHRpbmdzU2VydmljZS5hcGlWZXJzaW9ucyB8fCB7fTtcbiAgICAgICAgY29uc3QgcHJlZml4ID0gYXBpVmVyc2lvbnNbXCJlZGdlLW1hbmFnZW1lbnRcIl0/LnYxPy5wYXRoIHx8ICcvZWRnZS9tYW5hZ2VtZW50L3YxJztcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlciArIGAke3ByZWZpeH0vJHtlbnRpdHlUeXBlfS8ke2lkfS8ke2RhdGFUeXBlfWA7XG5cbiAgICAgICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cENsaWVudC5kZWxldGUodXJsLCB7Ym9keTogcGFyYW1zfSkucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IFwiU2VydmVyIE5vdCBBY2Nlc3NpYmxlXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSAhPSBcIkVDT05OUkVGVVNFRFwiKSB0aHJvdyh7ZXJyb3I6IGVyci5jb2RlfSk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93KHtlcnJvcjogZXJyb3J9KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIHJlc2V0RW5yb2xsbWVudChpZDogc3RyaW5nLCBkYXRlOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCBhcGlWZXJzaW9ucyA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmFwaVZlcnNpb25zIHx8IHt9O1xuICAgICAgICBjb25zdCBwcmVmaXggPSBhcGlWZXJzaW9uc1tcImVkZ2UtbWFuYWdlbWVudFwiXT8udjE/LnBhdGggfHwgJy9lZGdlL21hbmFnZW1lbnQvdjEnO1xuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLnNldHRpbmdzU2VydmljZS5zZXR0aW5ncy5zZWxlY3RlZEVkZ2VDb250cm9sbGVyICsgYCR7cHJlZml4fS9hdXRoZW50aWNhdG9ycy8ke2lkLnRyaW0oKX0vcmUtZW5yb2xsYDtcbiAgICAgICAgY29uc3QgZXhwaXJlc0F0ID0gbW9tZW50KGRhdGUpLnV0YygpLnRvSVNPU3RyaW5nKCk7XG4gICAgICAgIGNvbnN0IGJvZHkgPSB7IGV4cGlyZXNBdDogZXhwaXJlc0F0IH07XG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHBDbGllbnQucG9zdCh1cmwsIGJvZHkpLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBcIlNlcnZlciBOb3QgQWNjZXNzaWJsZVwiO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyLmNvZGUgIT0gXCJFQ09OTlJFRlVTRURcIikgdGhyb3coe2Vycm9yOiBlcnIuY29kZX0pO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyh7ZXJyb3I6IGVycm9yfSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSByZWlzc3VlRW5yb2xsbWVudChpZDogc3RyaW5nLCBkYXRlKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc3QgYXBpVmVyc2lvbnMgPSB0aGlzLnNldHRpbmdzU2VydmljZS5hcGlWZXJzaW9ucyB8fCB7fTtcbiAgICAgICAgY29uc3QgcHJlZml4ID0gYXBpVmVyc2lvbnNbXCJlZGdlLW1hbmFnZW1lbnRcIl0/LnYxPy5wYXRoIHx8ICcvZWRnZS9tYW5hZ2VtZW50L3YxJztcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlciArIGAke3ByZWZpeH0vZW5yb2xsbWVudHMvJHtpZH0vcmVmcmVzaGA7XG4gICAgICAgIGNvbnN0IGV4cGlyZXNBdCA9IG1vbWVudChkYXRlKS51dGMoKS50b0lTT1N0cmluZygpO1xuICAgICAgICBjb25zdCBib2R5ID0geyBleHBpcmVzQXQ6IGV4cGlyZXNBdCB9O1xuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwQ2xpZW50LnBvc3QodXJsLCBib2R5KS5waXBlKFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gXCJTZXJ2ZXIgTm90IEFjY2Vzc2libGVcIjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVyci5jb2RlICE9IFwiRUNPTk5SRUZVU0VEXCIpIHRocm93KHtlcnJvcjogZXJyLmNvZGV9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3coe2Vycm9yOiBlcnJvcn0pO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZGVsZXRlKHR5cGU6IHN0cmluZywgaWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IGFwaVZlcnNpb25zID0gdGhpcy5zZXR0aW5nc1NlcnZpY2UuYXBpVmVyc2lvbnMgfHwge307XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IGFwaVZlcnNpb25zW1wiZWRnZS1tYW5hZ2VtZW50XCJdPy52MT8ucGF0aDtcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlcjtcbiAgICAgICAgY29uc3Qgc2VydmljZVVybCA9IHVybCArIHByZWZpeCArIFwiL1wiICsgdHlwZSArICcvJyArIGlkO1xuXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHBDbGllbnQuZGVsZXRlKHNlcnZpY2VVcmwsIHt9KS5waXBlKFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gXCJTZXJ2ZXIgTm90IEFjY2Vzc2libGVcIjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVyci5jb2RlICE9IFwiRUNPTk5SRUZVU0VEXCIpIHRocm93KHtlcnJvcjogZXJyLmNvZGV9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3coe2Vycm9yOiBlcnJvcn0pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIG1hcCgocmVzdWx0czogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHRzO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgY2FsbChjYWxsVXJsKSB7XG4gICAgICAgIGNvbnN0IGFwaVZlcnNpb25zID0gdGhpcy5zZXR0aW5nc1NlcnZpY2UuYXBpVmVyc2lvbnMgfHwge307XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IGFwaVZlcnNpb25zW1wiZWRnZS1tYW5hZ2VtZW50XCJdPy52MT8ucGF0aDtcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlcjtcbiAgICAgICAgY29uc3Qgc2VydmljZVVybCA9IHVybCArIHByZWZpeCArIFwiL1wiICsgY2FsbFVybDtcblxuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwQ2xpZW50LmdldChzZXJ2aWNlVXJsLCB7fSkucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IFwiU2VydmVyIE5vdCBBY2Nlc3NpYmxlXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSAhPSBcIkVDT05OUkVGVVNFRFwiKSB0aHJvdyh7ZXJyb3I6IGVyci5jb2RlfSk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93KHtlcnJvcjogZXJyb3J9KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3VsdHM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VXJsRmlsdGVyKHBhZ2luZywgZmlsdGVyczogYW55W10pIHtcbiAgICAgICAgbGV0IHVybEZpbHRlciA9ICcnO1xuICAgICAgICBsZXQgdG9TZWFyY2hPbiA9IFwibmFtZVwiO1xuICAgICAgICBsZXQgbm9TZWFyY2ggPSBmaWx0ZXJzPy5sZW5ndGggPD0gMDtcbiAgICAgICAgaWYgKGlzRW1wdHkocGFnaW5nKSkge1xuICAgICAgICAgICAgcGFnaW5nID0gdGhpcy5ERUZBVUxUX1BBR0lORztcbiAgICAgICAgfVxuICAgICAgICBpZiAocGFnaW5nICYmIHBhZ2luZy5zb3J0ICE9IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChwYWdpbmcuc2VhcmNoT24pIHRvU2VhcmNoT24gPSBwYWdpbmcuc2VhcmNoT247XG4gICAgICAgICAgICBpZiAocGFnaW5nLm5vU2VhcmNoKSBub1NlYXJjaCA9IHRydWU7XG4gICAgICAgICAgICBpZiAoIXBhZ2luZy5maWx0ZXIpIHBhZ2luZy5maWx0ZXIgPSBcIlwiO1xuICAgICAgICAgICAgaWYgKCFpc0FycmF5KHBhZ2luZy5maWx0ZXIpICYmIGlzTmFOKHBhZ2luZy5maWx0ZXIpKSB7XG4gICAgICAgICAgICAgICAgcGFnaW5nLmZpbHRlciA9IHBhZ2luZy5maWx0ZXIuc3BsaXQoJyMnKS5qb2luKCcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmaWx0ZXJzLmZvckVhY2goKGZpbHRlciwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGxldCBmaWx0ZXJWYWwgPSAnJztcbiAgICAgICAgICAgIHN3aXRjaCAoZmlsdGVyLnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdURVhUSU5QVVQnOlxuICAgICAgICAgICAgICAgICAgICBjb25zdCB2ZXJiID0gZmlsdGVyLnZlcmIgPyBmaWx0ZXIudmVyYiA6ICdjb250YWlucyc7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlclZhbCA9IGAke2ZpbHRlci5jb2x1bW5JZH0gJHt2ZXJifSBcIiR7ZmlsdGVyLnZhbHVlfVwiYDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnU0VMRUNUJzpcbiAgICAgICAgICAgICAgICBjYXNlICdDT01CTyc6XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZhbCA9IChpc051bWJlcihmaWx0ZXIudmFsdWUpIHx8IGlzQm9vbGVhbihmaWx0ZXIudmFsdWUpKSA/IGAke2ZpbHRlci52YWx1ZX1gIDogYFwiJHtmaWx0ZXIudmFsdWV9XCJgO1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJWYWwgPSBgJHtmaWx0ZXIuY29sdW1uSWR9ID0gJHt2YWx9YDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnREFURVRJTUUnOlxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJWYWwgPSBgJHtmaWx0ZXIuY29sdW1uSWR9ID49IGRhdGV0aW1lKCR7ZmlsdGVyLnZhbHVlWzBdfSkgYW5kICR7ZmlsdGVyLmNvbHVtbklkfSA8PSBkYXRldGltZSgke2ZpbHRlci52YWx1ZVsxXX0pYDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnQVRUUklCVVRFJzpcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyVmFsID0gdGhpcy5nZXRBdHRyaWJ1dGVGaWx0ZXIoZmlsdGVyLnZhbHVlLCBmaWx0ZXIuY29sdW1uSWQpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdCT09MRUFOJzpcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyVmFsID0gYCR7ZmlsdGVyLmNvbHVtbklkfT0ke2ZpbHRlci52YWx1ZX1gO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJWYWwgPSBgJHtmaWx0ZXIuY29sdW1uSWR9IGNvbnRhaW5zIFwiJHtmaWx0ZXIudmFsdWV9XCJgO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpbmRleCA8PSAwKSB7XG4gICAgICAgICAgICAgICAgdXJsRmlsdGVyID0gYD9maWx0ZXI9ICR7ZmlsdGVyVmFsfWA7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHVybEZpbHRlciArPSBgIGFuZCAke2ZpbHRlclZhbH1gXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAobm9TZWFyY2gpIHtcbiAgICAgICAgICAgIGlmIChwYWdpbmcucGFnZSAhPT0gLTEpIHVybEZpbHRlciA9IFwiP2xpbWl0PVwiICsgcGFnaW5nLnRvdGFsICsgXCImb2Zmc2V0PVwiICsgKChwYWdpbmcucGFnZSAtIDEpICogcGFnaW5nLnRvdGFsKSAgKyBcIiZzb3J0PVwiICsgcGFnaW5nLnNvcnQgKyBcIiBcIiArIHBhZ2luZy5vcmRlcjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHVybEZpbHRlciArPSBgJmxpbWl0PSR7cGFnaW5nLnRvdGFsfSZvZmZzZXQ9JHsoKHBhZ2luZy5wYWdlIC0gMSkgKiBwYWdpbmcudG90YWwpfSZzb3J0PSR7cGFnaW5nLnNvcnR9ICAke3BhZ2luZy5vcmRlcn1gXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVybEZpbHRlcjtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBzY2hlbWEoZGF0YSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5kZXJlZmVyZW5jZUpTT05TY2hlbWEoZGF0YSkpO1xuICAgIH1cblxuICAgIGFzeW5jIGRlcmVmZXJlbmNlSlNPTlNjaGVtYShkYXRhOiBhbnkpIHtcbiAgICAgICAgY29uc3QgcmVzb2x2ZXIgPSBuZXcgUmVzb2x2ZXIoKTtcbiAgICAgICAgY29uc3Qgc2NoZW1hID0gYXdhaXQgcmVzb2x2ZXIucmVzb2x2ZShkYXRhKTtcbiAgICAgICAgcmV0dXJuIHNjaGVtYS5yZXN1bHQ7XG4gICAgfVxuXG4gICAgZ2V0QXR0cmlidXRlRmlsdGVyKHZhbCwgY29sdW1uSWQpIHtcbiAgICAgICAgbGV0IGZpbHRlciA9ICcnO1xuICAgICAgICBpZiAoaXNBcnJheSh2YWwpKSB7XG4gICAgICAgICAgICB2YWwuZm9yRWFjaCgoYXR0ciwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlciArPSAnIG9yICc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGZpbHRlciArPSBgYW55T2YoJHtjb2x1bW5JZH0pID0gXCIke2F0dHJ9XCJgO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXIgPSBgYW55T2YoJHtjb2x1bW5JZH0pID0gXCIke3ZhbH1cImA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbHRlcjtcbiAgICB9XG59XG4iXX0=
|
|
268
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieml0aS1jb250cm9sbGVyLWRhdGEuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9zZXJ2aWNlcy96aXRpLWNvbnRyb2xsZXItZGF0YS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztFQWNFO0FBRUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFDLGdCQUFnQixFQUFrQixNQUFNLG9CQUFvQixDQUFDO0FBQ3JFLE9BQU8sRUFBQyxjQUFjLEVBQUUsR0FBRyxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUcxQyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUM3RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDdEQsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDOzs7Ozs7O0FBRTVCLE1BR2EseUJBQTBCLFNBQVEsZUFBZTtJQUUxRCxZQUFxQixNQUFxQixFQUNyQixPQUF1QixFQUNOLGVBQWdDLEVBQ2pELFVBQXNCLEVBQ3RCLE1BQWM7UUFFL0IsS0FBSyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQU4zQyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBRXZCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUduQyxDQUFDO0lBRUQsSUFBSSxDQUFDLElB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QUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNkLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7Z0JBQ3hCLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtvQkFDWCxNQUFNLElBQUksTUFBTSxDQUFDO2lCQUNwQjtnQkFDRCxNQUFNLElBQUksU0FBUyxRQUFRLFFBQVEsSUFBSSxHQUFHLENBQUM7WUFDL0MsQ0FBQyxDQUFDLENBQUM7U0FDTjthQUFNO1lBQ0gsTUFBTSxHQUFHLFNBQVMsUUFBUSxRQUFRLEdBQUcsR0FBRyxDQUFDO1NBQzVDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQzsrR0EzUVEseUJBQXlCLDZFQUlkLGdCQUFnQjttSEFKM0IseUJBQXlCLGNBRnRCLE1BQU07O1NBRVQseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBSHJDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFLZ0IsTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICAgIENvcHlyaWdodCBOZXRGb3VuZHJ5IEluYy5cblxuICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG4gICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgICBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gICAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4qL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7TG9nZ2VyU2VydmljZX0gZnJvbSBcIi4uL2ZlYXR1cmVzL21lc3NhZ2luZy9sb2dnZXIuc2VydmljZVwiO1xuaW1wb3J0IHtHcm93bGVyU2VydmljZX0gZnJvbSBcIi4uL2ZlYXR1cmVzL21lc3NhZ2luZy9ncm93bGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7U0VUVElOR1NfU0VSVklDRSwgU2V0dGluZ3NTZXJ2aWNlfSBmcm9tIFwiLi9zZXR0aW5ncy5zZXJ2aWNlXCI7XG5pbXBvcnQge2ZpcnN0VmFsdWVGcm9tLCBtYXAsIE9ic2VydmFibGV9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQge2NhdGNoRXJyb3J9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7RmlsdGVyT2JqfSBmcm9tIFwiLi4vZmVhdHVyZXMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLWZpbHRlci5zZXJ2aWNlXCI7XG5pbXBvcnQge1ppdGlEYXRhU2VydmljZX0gZnJvbSBcIi4veml0aS1kYXRhLnNlcnZpY2VcIjtcbmltcG9ydCB7aXNFbXB0eSwgaXNBcnJheSwgaXNOdW1iZXIsIGlzQm9vbGVhbn0gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IHtSZXNvbHZlcn0gZnJvbSBcIkBzdG9wbGlnaHQvanNvbi1yZWYtcmVzb2x2ZXJcIjtcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFppdGlDb250cm9sbGVyRGF0YVNlcnZpY2UgZXh0ZW5kcyBaaXRpRGF0YVNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3Iob3ZlcnJpZGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIG92ZXJyaWRlIGdyb3dsZXI6IEdyb3dsZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEBJbmplY3QoU0VUVElOR1NfU0VSVklDRSkgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgb3ZlcnJpZGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICAgICAgICAgICAgICBvdmVycmlkZSByb3V0ZXI6IFJvdXRlclxuICAgICkge1xuICAgICAgICBzdXBlcihsb2dnZXIsIGdyb3dsZXIsIHNldHRpbmdzU2VydmljZSwgaHR0cENsaWVudCwgcm91dGVyKTtcbiAgICB9XG5cbiAgICBwb3N0KHR5cGUsIG1vZGVsLCBjaGFpbmVkID0gZmFsc2UpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCBhcGlWZXJzaW9ucyA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmFwaVZlcnNpb25zIHx8IHt9O1xuICAgICAgICBjb25zdCBwcmVmaXggPSBhcGlWZXJzaW9uc1tcImVkZ2UtbWFuYWdlbWVudFwiXT8udjE/LnBhdGg7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLnNlbGVjdGVkRWRnZUNvbnRyb2xsZXI7XG4gICAgICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB1cmwgKyBwcmVmaXggKyBcIi9cIiArIHR5cGU7XG5cbiAgICAgICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cENsaWVudC5wb3N0KHNlcnZpY2VVcmwsIG1vZGVsLCB7fSkucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IFwiU2VydmVyIE5vdCBBY2Nlc3NpYmxlXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSAhPT0gXCJFQ09OTlJFRlVTRURcIikgdGhyb3coZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3coe2Vycm9yOiBlcnJvcn0pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIG1hcCgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHBhdGNoKHR5cGUsIG1vZGVsLCBpZCwgY2hhaW5lZCA9IGZhbHNlKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc3QgYXBpVmVyc2lvbnMgPSB0aGlzLnNldHRpbmdzU2VydmljZS5hcGlWZXJzaW9ucyB8fCB7fTtcbiAgICAgICAgY29uc3QgcHJlZml4ID0gYXBpVmVyc2lvbnNbXCJlZGdlLW1hbmFnZW1lbnRcIl0/LnYxPy5wYXRoIHx8ICcvZWRnZS9tYW5hZ2VtZW50L3YxJztcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlcjtcbiAgICAgICAgY29uc3Qgc2VydmljZVVybCA9IHVybCArIHByZWZpeCArIFwiL1wiICsgdHlwZSArICcvJyArIGlkO1xuICAgICAgICB0aGlzLmh0dHBDbGllbnQucGF0Y2goc2VydmljZVVybCwgbW9kZWwsIHt9KTtcblxuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwQ2xpZW50LnBhdGNoKHNlcnZpY2VVcmwsIG1vZGVsLCB7fSkucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IFwiU2VydmVyIE5vdCBBY2Nlc3NpYmxlXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSAhPT0gXCJFQ09OTlJFRlVTRURcIikgdGhyb3coZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3coe2Vycm9yOiBlcnJvcn0pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIG1hcCgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCh0eXBlOiBzdHJpbmcsIHBhZ2luZzogYW55LCBmaWx0ZXJzOiBGaWx0ZXJPYmpbXSA9IFtdKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc3QgYXBpVmVyc2lvbnMgPSB0aGlzLnNldHRpbmdzU2VydmljZS5hcGlWZXJzaW9ucyB8fCB7fTtcbiAgICAgICAgY29uc3QgcHJlZml4ID0gYXBpVmVyc2lvbnNbXCJlZGdlLW1hbmFnZW1lbnRcIl0/LnYxPy5wYXRoIHx8ICcvZWRnZS9tYW5hZ2VtZW50L3YxJztcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlcjtcbiAgICAgICAgY29uc3QgdXJsRmlsdGVyID0gdGhpcy5nZXRVcmxGaWx0ZXIocGFnaW5nLCBmaWx0ZXJzKTtcbiAgICAgICAgY29uc3Qgc2VydmljZVVybCA9IHVybCArIHByZWZpeCArIFwiL1wiICsgdHlwZSArIHVybEZpbHRlcjtcblxuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwQ2xpZW50LmdldChzZXJ2aWNlVXJsLHt9KS5waXBlKFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gXCJTZXJ2ZXIgTm90IEFjY2Vzc2libGVcIjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVyci5jb2RlICE9IFwiRUNPTk5SRUZVU0VEXCIpIHRocm93KHtlcnJvcjogZXJyLmNvZGV9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3coe2Vycm9yOiBlcnJvcn0pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIG1hcCgocmVzdWx0czogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHRzO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0U3ViZGF0YShlbnRpdHlUeXBlOiBzdHJpbmcsIGlkOiBhbnksIGRhdGFUeXBlOiBzdHJpbmcsIHBhZ2luZz86IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IGFwaVZlcnNpb25zID0gdGhpcy5zZXR0aW5nc1NlcnZpY2UuYXBpVmVyc2lvbnMgfHwge307XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IGFwaVZlcnNpb25zW1wiZWRnZS1tYW5hZ2VtZW50XCJdPy52MT8ucGF0aCB8fCAnL2VkZ2UvbWFuYWdlbWVudC92MSc7XG5cbiAgICAgICAgbGV0IHVybEZpbHRlciA9ICcnO1xuICAgICAgICBpZiAoIWlzRW1wdHkocGFnaW5nKSkge1xuICAgICAgICAgICAgdXJsRmlsdGVyID0gdGhpcy5nZXRVcmxGaWx0ZXIocGFnaW5nLCBbXSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlciArIGAke3ByZWZpeH0vJHtlbnRpdHlUeXBlfS8ke2lkfS8ke2RhdGFUeXBlfS8ke3VybEZpbHRlcn1gO1xuXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHBDbGllbnQuZ2V0KHVybCwge30pLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBcIlNlcnZlciBOb3QgQWNjZXNzaWJsZVwiO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyLmNvZGUgIT0gXCJFQ09OTlJFRlVTRURcIikgdGhyb3coe2Vycm9yOiBlcnIuY29kZX0pO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyh7ZXJyb3I6IGVycm9yfSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBzYXZlU3ViZGF0YShlbnRpdHlUeXBlOiBzdHJpbmcsIGlkOiBhbnksIGRhdGFUeXBlOiBzdHJpbmcsIHBhcmFtczogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc3QgYXBpVmVyc2lvbnMgPSB0aGlzLnNldHRpbmdzU2VydmljZS5hcGlWZXJzaW9ucyB8fCB7fTtcbiAgICAgICAgY29uc3QgcHJlZml4ID0gYXBpVmVyc2lvbnNbXCJlZGdlLW1hbmFnZW1lbnRcIl0/LnYxPy5wYXRoIHx8ICcvZWRnZS9tYW5hZ2VtZW50L3YxJztcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlciArIGAke3ByZWZpeH0vJHtlbnRpdHlUeXBlfS8ke2lkfS8ke2RhdGFUeXBlfWA7XG5cbiAgICAgICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cENsaWVudC5wb3N0KHVybCwgcGFyYW1zLCB7fSkucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IFwiU2VydmVyIE5vdCBBY2Nlc3NpYmxlXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSAhPSBcIkVDT05OUkVGVVNFRFwiKSB0aHJvdyh7ZXJyb3I6IGVyci5jb2RlfSk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93KHtlcnJvcjogZXJyb3J9KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZVN1YmRhdGEoZW50aXR5VHlwZTogc3RyaW5nLCBpZDogYW55LCBkYXRhVHlwZTogc3RyaW5nLCBwYXJhbXM6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IGFwaVZlcnNpb25zID0gdGhpcy5zZXR0aW5nc1NlcnZpY2UuYXBpVmVyc2lvbnMgfHwge307XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IGFwaVZlcnNpb25zW1wiZWRnZS1tYW5hZ2VtZW50XCJdPy52MT8ucGF0aCB8fCAnL2VkZ2UvbWFuYWdlbWVudC92MSc7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLnNlbGVjdGVkRWRnZUNvbnRyb2xsZXIgKyBgJHtwcmVmaXh9LyR7ZW50aXR5VHlwZX0vJHtpZH0vJHtkYXRhVHlwZX1gO1xuXG4gICAgICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHBDbGllbnQuZGVsZXRlKHVybCwge2JvZHk6IHBhcmFtc30pLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBcIlNlcnZlciBOb3QgQWNjZXNzaWJsZVwiO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyLmNvZGUgIT0gXCJFQ09OTlJFRlVTRURcIikgdGhyb3coe2Vycm9yOiBlcnIuY29kZX0pO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyh7ZXJyb3I6IGVycm9yfSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSByZXNldEVucm9sbG1lbnQoaWQ6IHN0cmluZywgZGF0ZTogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgY29uc3QgYXBpVmVyc2lvbnMgPSB0aGlzLnNldHRpbmdzU2VydmljZS5hcGlWZXJzaW9ucyB8fCB7fTtcbiAgICAgICAgY29uc3QgcHJlZml4ID0gYXBpVmVyc2lvbnNbXCJlZGdlLW1hbmFnZW1lbnRcIl0/LnYxPy5wYXRoIHx8ICcvZWRnZS9tYW5hZ2VtZW50L3YxJztcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3Muc2VsZWN0ZWRFZGdlQ29udHJvbGxlciArIGAke3ByZWZpeH0vYXV0aGVudGljYXRvcnMvJHtpZC50cmltKCl9L3JlLWVucm9sbGA7XG4gICAgICAgIGNvbnN0IGV4cGlyZXNBdCA9IG1vbWVudChkYXRlKS51dGMoKS50b0lTT1N0cmluZygpO1xuICAgICAgICBjb25zdCBib2R5ID0geyBleHBpcmVzQXQ6IGV4cGlyZXNBdCB9O1xuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwQ2xpZW50LnBvc3QodXJsLCBib2R5KS5waXBlKFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yID0gXCJTZXJ2ZXIgTm90IEFjY2Vzc2libGVcIjtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVyci5jb2RlICE9IFwiRUNPTk5SRUZVU0VEXCIpIHRocm93KHtlcnJvcjogZXJyLmNvZGV9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3coe2Vycm9yOiBlcnJvcn0pO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgcmVpc3N1ZUVucm9sbG1lbnQoaWQ6IHN0cmluZywgZGF0ZSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIGNvbnN0IGFwaVZlcnNpb25zID0gdGhpcy5zZXR0aW5nc1NlcnZpY2UuYXBpVmVyc2lvbnMgfHwge307XG4gICAgICAgIGNvbnN0IHByZWZpeCA9IGFwaVZlcnNpb25zW1wiZWRnZS1tYW5hZ2VtZW50XCJdPy52MT8ucGF0aCB8fCAnL2VkZ2UvbWFuYWdlbWVudC92MSc7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLnNlbGVjdGVkRWRnZUNvbnRyb2xsZXIgKyBgJHtwcmVmaXh9L2Vucm9sbG1lbnRzLyR7aWR9L3JlZnJlc2hgO1xuICAgICAgICBjb25zdCBleHBpcmVzQXQgPSBtb21lbnQoZGF0ZSkudXRjKCkudG9JU09TdHJpbmcoKTtcbiAgICAgICAgY29uc3QgYm9keSA9IHsgZXhwaXJlc0F0OiBleHBpcmVzQXQgfTtcbiAgICAgICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cENsaWVudC5wb3N0KHVybCwgYm9keSkucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IFwiU2VydmVyIE5vdCBBY2Nlc3NpYmxlXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSAhPSBcIkVDT05OUkVGVVNFRFwiKSB0aHJvdyh7ZXJyb3I6IGVyci5jb2RlfSk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93KHtlcnJvcjogZXJyb3J9KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZSh0eXBlOiBzdHJpbmcsIGlkOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICBjb25zdCBhcGlWZXJzaW9ucyA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmFwaVZlcnNpb25zIHx8IHt9O1xuICAgICAgICBjb25zdCBwcmVmaXggPSBhcGlWZXJzaW9uc1tcImVkZ2UtbWFuYWdlbWVudFwiXT8udjE/LnBhdGg7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLnNlbGVjdGVkRWRnZUNvbnRyb2xsZXI7XG4gICAgICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB1cmwgKyBwcmVmaXggKyBcIi9cIiArIHR5cGUgKyAnLycgKyBpZDtcblxuICAgICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5odHRwQ2xpZW50LmRlbGV0ZShzZXJ2aWNlVXJsLCB7fSkucGlwZShcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IFwiU2VydmVyIE5vdCBBY2Nlc3NpYmxlXCI7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIuY29kZSAhPSBcIkVDT05OUkVGVVNFRFwiKSB0aHJvdyh7ZXJyb3I6IGVyci5jb2RlfSk7XG4gICAgICAgICAgICAgICAgICAgIHRocm93KHtlcnJvcjogZXJyb3J9KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3VsdHM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0cztcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNhbGwoY2FsbFVybCkge1xuICAgICAgICBjb25zdCBhcGlWZXJzaW9ucyA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmFwaVZlcnNpb25zIHx8IHt9O1xuICAgICAgICBjb25zdCBwcmVmaXggPSBhcGlWZXJzaW9uc1tcImVkZ2UtbWFuYWdlbWVudFwiXT8udjE/LnBhdGg7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnNldHRpbmdzLnNlbGVjdGVkRWRnZUNvbnRyb2xsZXI7XG4gICAgICAgIGNvbnN0IHNlcnZpY2VVcmwgPSB1cmwgKyBwcmVmaXggKyBcIi9cIiArIGNhbGxVcmw7XG5cbiAgICAgICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cENsaWVudC5nZXQoc2VydmljZVVybCwge30pLnBpcGUoXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBcIlNlcnZlciBOb3QgQWNjZXNzaWJsZVwiO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyLmNvZGUgIT0gXCJFQ09OTlJFRlVTRURcIikgdGhyb3coe2Vycm9yOiBlcnIuY29kZX0pO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyh7ZXJyb3I6IGVycm9yfSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgbWFwKChyZXN1bHRzOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFVybEZpbHRlcihwYWdpbmcsIGZpbHRlcnM6IGFueVtdKSB7XG4gICAgICAgIGxldCB1cmxGaWx0ZXIgPSAnJztcbiAgICAgICAgbGV0IHRvU2VhcmNoT24gPSBcIm5hbWVcIjtcbiAgICAgICAgbGV0IG5vU2VhcmNoID0gZmlsdGVycz8ubGVuZ3RoIDw9IDA7XG4gICAgICAgIGlmIChpc0VtcHR5KHBhZ2luZykpIHtcbiAgICAgICAgICAgIHBhZ2luZyA9IHRoaXMuREVGQVVMVF9QQUdJTkc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhZ2luZyAmJiBwYWdpbmcuc29ydCAhPSBudWxsKSB7XG4gICAgICAgICAgICBpZiAocGFnaW5nLnNlYXJjaE9uKSB0b1NlYXJjaE9uID0gcGFnaW5nLnNlYXJjaE9uO1xuICAgICAgICAgICAgaWYgKHBhZ2luZy5ub1NlYXJjaCkgbm9TZWFyY2ggPSB0cnVlO1xuICAgICAgICAgICAgaWYgKCFwYWdpbmcuZmlsdGVyKSBwYWdpbmcuZmlsdGVyID0gXCJcIjtcbiAgICAgICAgICAgIGlmICghaXNBcnJheShwYWdpbmcuZmlsdGVyKSAmJiBpc05hTihwYWdpbmcuZmlsdGVyKSkge1xuICAgICAgICAgICAgICAgIHBhZ2luZy5maWx0ZXIgPSBwYWdpbmcuZmlsdGVyLnNwbGl0KCcjJykuam9pbignJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZmlsdGVycy5mb3JFYWNoKChmaWx0ZXIsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBsZXQgZmlsdGVyVmFsID0gJyc7XG4gICAgICAgICAgICBzd2l0Y2ggKGZpbHRlci50eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnVEVYVElOUFVUJzpcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmVyYiA9IGZpbHRlci52ZXJiID8gZmlsdGVyLnZlcmIgOiAnY29udGFpbnMnO1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJWYWwgPSBgJHtmaWx0ZXIuY29sdW1uSWR9ICR7dmVyYn0gXCIke2ZpbHRlci52YWx1ZX1cImA7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ1NFTEVDVCc6XG4gICAgICAgICAgICAgICAgY2FzZSAnQ09NQk8nOlxuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWwgPSAoaXNOdW1iZXIoZmlsdGVyLnZhbHVlKSB8fCBpc0Jvb2xlYW4oZmlsdGVyLnZhbHVlKSkgPyBgJHtmaWx0ZXIudmFsdWV9YCA6IGBcIiR7ZmlsdGVyLnZhbHVlfVwiYDtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyVmFsID0gYCR7ZmlsdGVyLmNvbHVtbklkfSA9ICR7dmFsfWA7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ0RBVEVUSU1FJzpcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyVmFsID0gYCR7ZmlsdGVyLmNvbHVtbklkfSA+PSBkYXRldGltZSgke2ZpbHRlci52YWx1ZVswXX0pIGFuZCAke2ZpbHRlci5jb2x1bW5JZH0gPD0gZGF0ZXRpbWUoJHtmaWx0ZXIudmFsdWVbMV19KWA7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ0FUVFJJQlVURSc6XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlclZhbCA9IHRoaXMuZ2V0QXR0cmlidXRlRmlsdGVyKGZpbHRlci52YWx1ZSwgZmlsdGVyLmNvbHVtbklkKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnQk9PTEVBTic6XG4gICAgICAgICAgICAgICAgICAgIGZpbHRlclZhbCA9IGAke2ZpbHRlci5jb2x1bW5JZH09JHtmaWx0ZXIudmFsdWV9YDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyVmFsID0gYCR7ZmlsdGVyLmNvbHVtbklkfSBjb250YWlucyBcIiR7ZmlsdGVyLnZhbHVlfVwiYDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaW5kZXggPD0gMCkge1xuICAgICAgICAgICAgICAgIHVybEZpbHRlciA9IGA/ZmlsdGVyPSAke2ZpbHRlclZhbH1gO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB1cmxGaWx0ZXIgKz0gYCBhbmQgJHtmaWx0ZXJWYWx9YFxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKG5vU2VhcmNoKSB7XG4gICAgICAgICAgICBpZiAocGFnaW5nLnBhZ2UgIT09IC0xKSB1cmxGaWx0ZXIgPSBcIj9saW1pdD1cIiArIHBhZ2luZy50b3RhbCArIFwiJm9mZnNldD1cIiArICgocGFnaW5nLnBhZ2UgLSAxKSAqIHBhZ2luZy50b3RhbCkgICsgXCImc29ydD1cIiArIHBhZ2luZy5zb3J0ICsgXCIgXCIgKyBwYWdpbmcub3JkZXI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB1cmxGaWx0ZXIgKz0gYCZsaW1pdD0ke3BhZ2luZy50b3RhbH0mb2Zmc2V0PSR7KChwYWdpbmcucGFnZSAtIDEpICogcGFnaW5nLnRvdGFsKX0mc29ydD0ke3BhZ2luZy5zb3J0fSAgJHtwYWdpbmcub3JkZXJ9YFxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1cmxGaWx0ZXI7XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgc2NoZW1hKGRhdGEpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuZGVyZWZlcmVuY2VKU09OU2NoZW1hKGRhdGEpKTtcbiAgICB9XG5cbiAgICBhc3luYyBkZXJlZmVyZW5jZUpTT05TY2hlbWEoZGF0YTogYW55KSB7XG4gICAgICAgIGNvbnN0IHJlc29sdmVyID0gbmV3IFJlc29sdmVyKCk7XG4gICAgICAgIGNvbnN0IHNjaGVtYSA9IGF3YWl0IHJlc29sdmVyLnJlc29sdmUoZGF0YSk7XG4gICAgICAgIHJldHVybiBzY2hlbWEucmVzdWx0O1xuICAgIH1cblxuICAgIGdldEF0dHJpYnV0ZUZpbHRlcih2YWwsIGNvbHVtbklkKSB7XG4gICAgICAgIGxldCBmaWx0ZXIgPSAnJztcbiAgICAgICAgaWYgKGlzQXJyYXkodmFsKSkge1xuICAgICAgICAgICAgdmFsLmZvckVhY2goKGF0dHIsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGluZGV4ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBmaWx0ZXIgKz0gJyBvciAnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBmaWx0ZXIgKz0gYGFueU9mKCR7Y29sdW1uSWR9KSA9IFwiJHthdHRyfVwiYDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZmlsdGVyID0gYGFueU9mKCR7Y29sdW1uSWR9KSA9IFwiJHt2YWx9XCJgO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmaWx0ZXI7XG4gICAgfVxufVxuIl19
|
|
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
72
72
|
providedIn: 'root'
|
|
73
73
|
}]
|
|
74
74
|
}], ctorParameters: function () { return [{ type: i1.LoggerService }, { type: i2.GrowlerService }, { type: i3.SettingsService }, { type: i4.HttpClient }, { type: i5.Router }]; } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieml0aS1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvc2VydmljZXMveml0aS1kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixPQUFPLEVBQUUsVUFBVSxFQUFVLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVNuRSxPQUFPLEVBQUMsU0FBUyxFQUFzQixNQUFNLFFBQVEsQ0FBQzs7Ozs7OztBQUV0RCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBa0IsbUJBQW1CLENBQUMsQ0FBQztBQUUxRixNQUdzQixlQUFlO0lBRW5DLElBQVcsY0FBYztRQUN2QixPQUFPLFNBQVMsQ0FBQztZQUNmLE1BQU0sRUFBRSxFQUFFO1lBQ1YsUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUUsS0FBSztZQUNaLElBQUksRUFBRSxDQUFDO1lBQ1AsUUFBUSxFQUFFLE1BQU07WUFDaEIsSUFBSSxFQUFFLE1BQU07WUFDWixLQUFLLEVBQUUsR0FBRztTQUNYLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxZQUFzQixNQUFxQixFQUNyQixPQUF1QixFQUN2QixlQUFnQyxFQUNoQyxVQUFzQixFQUN0QixNQUFjO1FBSmQsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQ2pDLENBQUM7SUFjSixhQUFhLENBQUMsY0FBYztRQUMxQixJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDbkIsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzlCLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRTtnQkFDbEIsTUFBTSxHQUFHLElBQUksQ0FBQzthQUNmO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU8sR0FBRztnQkFDUjtvQkFDRSxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsWUFBWTtvQkFDeEIsS0FBSyxFQUFFLEVBQUU7b0JBQ1QsSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLEtBQUssRUFBRSxjQUFjO2lCQUN0QjthQUNGLENBQUM7U0FDSDtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7K0dBckRtQixlQUFlO21IQUFmLGVBQWUsY0FGdkIsTUFBTTs7U0FFRSxlQUFlOzRGQUFmLGVBQWU7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgICBDb3B5cmlnaHQgTmV0Rm91bmRyeSBJbmMuXG5cbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tIFwiLi4vZmVhdHVyZXMvbWVzc2FnaW5nL2xvZ2dlci5zZXJ2aWNlXCI7XG5pbXBvcnQge0dyb3dsZXJTZXJ2aWNlfSBmcm9tIFwiLi4vZmVhdHVyZXMvbWVzc2FnaW5nL2dyb3dsZXIuc2VydmljZVwiO1xuaW1wb3J0IHtTRVRUSU5HU19TRVJWSUNFLCBTZXR0aW5nc1NlcnZpY2V9IGZyb20gXCIuL3NldHRpbmdzLnNlcnZpY2VcIjtcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQge0ZpbHRlck9ian0gZnJvbSBcIi4uL2ZlYXR1cmVzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1maWx0ZXIuc2VydmljZVwiO1xuaW1wb3J0IHsgTG9naW5TZXJ2aWNlQ2xhc3MgfSBmcm9tICcuL2xvZ2luLXNlcnZpY2UuY2xhc3MnO1xuXG5pbXBvcnQge2Nsb25lRGVlcCwgaXNFbXB0eSwgc29ydGVkVW5pcX0gZnJvbSBcImxvZGFzaFwiO1xuXG5leHBvcnQgY29uc3QgWklUSV9EQVRBX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48Wml0aURhdGFTZXJ2aWNlPignWklUSV9EQVRBX1NFUlZJQ0UnKTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgWml0aURhdGFTZXJ2aWNlIHtcblxuICBwdWJsaWMgZ2V0IERFRkFVTFRfUEFHSU5HKCkge1xuICAgIHJldHVybiBjbG9uZURlZXAoe1xuICAgICAgZmlsdGVyOiBcIlwiLFxuICAgICAgbm9TZWFyY2g6IHRydWUsXG4gICAgICBvcmRlcjogXCJhc2NcIixcbiAgICAgIHBhZ2U6IDEsXG4gICAgICBzZWFyY2hPbjogXCJuYW1lXCIsXG4gICAgICBzb3J0OiBcIm5hbWVcIixcbiAgICAgIHRvdGFsOiAxMDBcbiAgICB9KVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIGdyb3dsZXI6IEdyb3dsZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByb3RlY3RlZCBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXJcbiAgKSB7fVxuXG4gIGFic3RyYWN0IHBvc3QodHlwZSwgbW9kZWwsIGNoYWluZWQ/KTogUHJvbWlzZTxhbnk+O1xuICBhYnN0cmFjdCBwYXRjaCh0eXBlLCBtb2RlbCwgaWQsIGNoYWluZWQ/KTogUHJvbWlzZTxhbnk+
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieml0aS1kYXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96aXRpLWNvbnNvbGUtbGliL3NyYy9saWIvc2VydmljZXMveml0aS1kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0VBY0U7QUFFRixPQUFPLEVBQUUsVUFBVSxFQUFVLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVNuRSxPQUFPLEVBQUMsU0FBUyxFQUFzQixNQUFNLFFBQVEsQ0FBQzs7Ozs7OztBQUV0RCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBa0IsbUJBQW1CLENBQUMsQ0FBQztBQUUxRixNQUdzQixlQUFlO0lBRW5DLElBQVcsY0FBYztRQUN2QixPQUFPLFNBQVMsQ0FBQztZQUNmLE1BQU0sRUFBRSxFQUFFO1lBQ1YsUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUUsS0FBSztZQUNaLElBQUksRUFBRSxDQUFDO1lBQ1AsUUFBUSxFQUFFLE1BQU07WUFDaEIsSUFBSSxFQUFFLE1BQU07WUFDWixLQUFLLEVBQUUsR0FBRztTQUNYLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxZQUFzQixNQUFxQixFQUNyQixPQUF1QixFQUN2QixlQUFnQyxFQUNoQyxVQUFzQixFQUN0QixNQUFjO1FBSmQsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQ2pDLENBQUM7SUFjSixhQUFhLENBQUMsY0FBYztRQUMxQixJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDbkIsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzlCLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRTtnQkFDbEIsTUFBTSxHQUFHLElBQUksQ0FBQzthQUNmO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU8sR0FBRztnQkFDUjtvQkFDRSxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsWUFBWTtvQkFDeEIsS0FBSyxFQUFFLEVBQUU7b0JBQ1QsSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLEtBQUssRUFBRSxjQUFjO2lCQUN0QjthQUNGLENBQUM7U0FDSDtRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7K0dBckRtQixlQUFlO21IQUFmLGVBQWUsY0FGdkIsTUFBTTs7U0FFRSxlQUFlOzRGQUFmLGVBQWU7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgICBDb3B5cmlnaHQgTmV0Rm91bmRyeSBJbmMuXG5cbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHtMb2dnZXJTZXJ2aWNlfSBmcm9tIFwiLi4vZmVhdHVyZXMvbWVzc2FnaW5nL2xvZ2dlci5zZXJ2aWNlXCI7XG5pbXBvcnQge0dyb3dsZXJTZXJ2aWNlfSBmcm9tIFwiLi4vZmVhdHVyZXMvbWVzc2FnaW5nL2dyb3dsZXIuc2VydmljZVwiO1xuaW1wb3J0IHtTRVRUSU5HU19TRVJWSUNFLCBTZXR0aW5nc1NlcnZpY2V9IGZyb20gXCIuL3NldHRpbmdzLnNlcnZpY2VcIjtcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQge0ZpbHRlck9ian0gZnJvbSBcIi4uL2ZlYXR1cmVzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1maWx0ZXIuc2VydmljZVwiO1xuaW1wb3J0IHsgTG9naW5TZXJ2aWNlQ2xhc3MgfSBmcm9tICcuL2xvZ2luLXNlcnZpY2UuY2xhc3MnO1xuXG5pbXBvcnQge2Nsb25lRGVlcCwgaXNFbXB0eSwgc29ydGVkVW5pcX0gZnJvbSBcImxvZGFzaFwiO1xuXG5leHBvcnQgY29uc3QgWklUSV9EQVRBX1NFUlZJQ0UgPSBuZXcgSW5qZWN0aW9uVG9rZW48Wml0aURhdGFTZXJ2aWNlPignWklUSV9EQVRBX1NFUlZJQ0UnKTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgWml0aURhdGFTZXJ2aWNlIHtcblxuICBwdWJsaWMgZ2V0IERFRkFVTFRfUEFHSU5HKCkge1xuICAgIHJldHVybiBjbG9uZURlZXAoe1xuICAgICAgZmlsdGVyOiBcIlwiLFxuICAgICAgbm9TZWFyY2g6IHRydWUsXG4gICAgICBvcmRlcjogXCJhc2NcIixcbiAgICAgIHBhZ2U6IDEsXG4gICAgICBzZWFyY2hPbjogXCJuYW1lXCIsXG4gICAgICBzb3J0OiBcIm5hbWVcIixcbiAgICAgIHRvdGFsOiAxMDBcbiAgICB9KVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGxvZ2dlcjogTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgcHJvdGVjdGVkIGdyb3dsZXI6IEdyb3dsZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByb3RlY3RlZCBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXJcbiAgKSB7fVxuXG4gIGFic3RyYWN0IHBvc3QodHlwZSwgbW9kZWwsIGNoYWluZWQ/KTogUHJvbWlzZTxhbnk+O1xuICBhYnN0cmFjdCBwYXRjaCh0eXBlLCBtb2RlbCwgaWQsIGNoYWluZWQ/KTogUHJvbWlzZTxhbnk+O1xuICBhYnN0cmFjdCBnZXQodHlwZTogc3RyaW5nLCBwYWdpbmc6IGFueSwgZmlsdGVyczogRmlsdGVyT2JqW10sIHVybD8pOiBQcm9taXNlPGFueT47XG4gIGFic3RyYWN0IGdldFN1YmRhdGEoZW50aXR5VHlwZTogc3RyaW5nLCBpZDogYW55LCBkYXRhVHlwZTogc3RyaW5nLCBwYWdpbmc/OiBhbnkpOiBQcm9taXNlPGFueT47XG4gIGFic3RyYWN0IHNhdmVTdWJkYXRhKGVudGl0eVR5cGU6IHN0cmluZywgaWQ6IGFueSwgZGF0YVR5cGU6IHN0cmluZywgcGFyYW1zOiBhbnkpOiBQcm9taXNlPGFueT47XG4gIGFic3RyYWN0IGRlbGV0ZVN1YmRhdGEoZW50aXR5VHlwZTogc3RyaW5nLCBpZDogYW55LCBkYXRhVHlwZTogc3RyaW5nLCBwYXJhbXM6IGFueSk6IFByb21pc2U8YW55PjtcbiAgYWJzdHJhY3QgZGVsZXRlKHR5cGU6IHN0cmluZywgaWQ6IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgYWJzdHJhY3QgY2FsbCh1cmw6IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgYWJzdHJhY3QgcmVzZXRFbnJvbGxtZW50KGlkOiBzdHJpbmcsIGRhdGU6IHN0cmluZyk6IFByb21pc2U8YW55PjtcbiAgYWJzdHJhY3QgcmVpc3N1ZUVucm9sbG1lbnQoaWQ6IHN0cmluZywgZGF0ZTogc3RyaW5nKTogUHJvbWlzZTxhbnk+O1xuICBhYnN0cmFjdCBzY2hlbWEoZGF0YTogYW55KTogUHJvbWlzZTxhbnk+O1xuXG4gIGdldFJvbGVGaWx0ZXIocm9sZUF0dHJpYnV0ZXMpIHtcbiAgICBsZXQgaGFzQWxsID0gZmFsc2U7XG4gICAgcm9sZUF0dHJpYnV0ZXMuZm9yRWFjaCgoYXR0cikgPT4ge1xuICAgICAgaWYgKGF0dHIgPT09ICdhbGwnKSB7XG4gICAgICAgIGhhc0FsbCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gICAgbGV0IGZpbHRlcnMgPSBbXTtcbiAgICBpZiAoIWhhc0FsbCkge1xuICAgICAgZmlsdGVycyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGNvbHVtbklkOiBcInJvbGVBdHRyaWJ1dGVzXCIsXG4gICAgICAgICAgZmlsdGVyTmFtZTogXCJBdHRyaWJ1dGVzXCIsXG4gICAgICAgICAgbGFiZWw6IFwiXCIsXG4gICAgICAgICAgdHlwZTogXCJBVFRSSUJVVEVcIixcbiAgICAgICAgICB2YWx1ZTogcm9sZUF0dHJpYnV0ZXNcbiAgICAgICAgfVxuICAgICAgXTtcbiAgICB9XG4gICAgcmV0dXJuIGZpbHRlcnM7XG4gIH1cbn1cbiJdfQ==
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export const VERSION = {
|
|
2
|
-
"version": "3.
|
|
2
|
+
"version": "3.5.0"
|
|
3
3
|
};
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRztJQUNuQixTQUFTLEVBQUUsT0FBTztDQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFZFUlNJT04gPSB7XG4gICAgXCJ2ZXJzaW9uXCI6IFwiMy41LjBcIlxufTtcbiJdfQ==
|