ca-components 1.0.43 → 1.0.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/ca-burger-menu/ca-burger-menu.component.mjs +3 -3
- package/esm2022/lib/components/ca-chart/ca-chart.component.mjs +33 -7
- package/esm2022/lib/components/ca-chart/models/chart-base-dataset.model.mjs +1 -1
- package/esm2022/lib/components/ca-chart/models/chart-config.model.mjs +1 -1
- package/esm2022/lib/components/ca-chart/utils/helpers/chart.helper.mjs +41 -14
- package/esm2022/lib/components/ca-dropdown/ca-dropdown.component.mjs +3 -3
- package/esm2022/lib/components/ca-period-content/ca-period-content.component.mjs +3 -3
- package/esm2022/lib/components/ca-right-side-panel/ca-right-side-panel.component.mjs +38 -9
- package/esm2022/lib/components/ca-right-side-panel/components/ca-right-side-panel-company/ca-right-side-panel-company.component.mjs +18 -15
- package/esm2022/lib/components/ca-right-side-panel/components/ca-right-side-panel-menu/ca-right-side-panel-menu.component.mjs +29 -4
- package/esm2022/lib/components/ca-right-side-panel/components/ca-right-side-panel-top-bar/ca-right-side-panel-top-bar.component.mjs +43 -24
- package/esm2022/lib/components/ca-right-side-panel/models/navigation-item.model.mjs +1 -1
- package/fesm2022/ca-components.mjs +202 -73
- package/fesm2022/ca-components.mjs.map +1 -1
- package/lib/components/ca-chart/models/chart-base-dataset.model.d.ts +7 -1
- package/lib/components/ca-chart/models/chart-config.model.d.ts +2 -0
- package/lib/components/ca-chart/utils/helpers/chart.helper.d.ts +2 -0
- package/lib/components/ca-right-side-panel/ca-right-side-panel.component.d.ts +9 -4
- package/lib/components/ca-right-side-panel/components/ca-right-side-panel-company/ca-right-side-panel-company.component.d.ts +5 -5
- package/lib/components/ca-right-side-panel/components/ca-right-side-panel-menu/ca-right-side-panel-menu.component.d.ts +5 -2
- package/lib/components/ca-right-side-panel/components/ca-right-side-panel-top-bar/ca-right-side-panel-top-bar.component.d.ts +10 -8
- package/lib/components/ca-right-side-panel/models/navigation-item.model.d.ts +1 -0
- package/package.json +1 -1
- package/src/assets/ca-components/svg/right-side-panel/ic_delete.svg +4 -0
|
@@ -25,15 +25,19 @@ export class CaRightSidePanelComponent {
|
|
|
25
25
|
this.selectedTab = RightSidePanelCurrentTab.PERSONAL;
|
|
26
26
|
this.SelectedModule = SelectedModule;
|
|
27
27
|
this.resetFilters = false;
|
|
28
|
+
this.selectedCompanyId = 0;
|
|
29
|
+
this.selectedCompanyIsDivision = false;
|
|
28
30
|
this.activityLogFilterParams = new EventEmitter();
|
|
29
31
|
this.selectedNavModule = new EventEmitter();
|
|
30
32
|
this.isSidePanelPinned = new EventEmitter();
|
|
31
33
|
this.isNavOpen = new EventEmitter();
|
|
32
|
-
this.
|
|
34
|
+
this.selectedDivisionId = new EventEmitter();
|
|
33
35
|
}
|
|
34
36
|
selectedNavEvent(selectedNav) {
|
|
35
|
-
if (!selectedNav)
|
|
37
|
+
if (!selectedNav) {
|
|
36
38
|
this.selectedTab = RightSidePanelCurrentTab.PERSONAL;
|
|
39
|
+
this.clearData();
|
|
40
|
+
}
|
|
37
41
|
if (this.selectedNav !== selectedNav) {
|
|
38
42
|
this.selectedTab = RightSidePanelCurrentTab.PERSONAL;
|
|
39
43
|
this.selectedNav = selectedNav;
|
|
@@ -43,8 +47,26 @@ export class CaRightSidePanelComponent {
|
|
|
43
47
|
selectedTabEvent(selectedTab) {
|
|
44
48
|
this.selectedTab = selectedTab;
|
|
45
49
|
}
|
|
46
|
-
|
|
47
|
-
this.
|
|
50
|
+
selectedCompanyIdEvent(companyId) {
|
|
51
|
+
if (this.selectedNav === SelectedModule.DIVISION_INFO) {
|
|
52
|
+
this.selectedCompanyIsDivision = true;
|
|
53
|
+
this.selectedDivisionId.emit(companyId);
|
|
54
|
+
}
|
|
55
|
+
else
|
|
56
|
+
this.selectedCompanyIsDivision = false;
|
|
57
|
+
this.selectedCompanyId = companyId;
|
|
58
|
+
}
|
|
59
|
+
selectedDivisionIdEvent(companyId) {
|
|
60
|
+
this.selectedCompanyIsDivision = true;
|
|
61
|
+
this.selectedDivisionId.emit(companyId);
|
|
62
|
+
this.selectedCompanyId = companyId;
|
|
63
|
+
}
|
|
64
|
+
selectedMainCompanyIdEvent(companyId) {
|
|
65
|
+
if (companyId) {
|
|
66
|
+
this.selectedCompanyIsDivision = false;
|
|
67
|
+
this.selectedNavModule.emit(SelectedModule.COMPANY_INFO);
|
|
68
|
+
this.selectedCompanyId = companyId;
|
|
69
|
+
}
|
|
48
70
|
}
|
|
49
71
|
pinSidebarEvent(isPinned) {
|
|
50
72
|
this.isSidePanelPinned.emit(isPinned);
|
|
@@ -78,10 +100,17 @@ export class CaRightSidePanelComponent {
|
|
|
78
100
|
openNavEvent(isNavOpen) {
|
|
79
101
|
this.isNavOpen.emit(isNavOpen);
|
|
80
102
|
}
|
|
103
|
+
clearData() {
|
|
104
|
+
this.activityLogData = [];
|
|
105
|
+
this.mainCompanyData = null;
|
|
106
|
+
this.usersFilter = [];
|
|
107
|
+
this.modulesFilter = [];
|
|
108
|
+
this.actionsFilter = [];
|
|
109
|
+
}
|
|
81
110
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CaRightSidePanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
82
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CaRightSidePanelComponent, isStandalone: true, selector: "app-ca-right-side-panel", inputs: { companiesData: "companiesData", activityLogData: "activityLogData", mainCompanyData: "mainCompanyData", usersFilter: "usersFilter", modulesFilter: "modulesFilter", actionsFilter: "actionsFilter" }, outputs: { activityLogFilterParams: "activityLogFilterParams", selectedNavModule: "selectedNavModule", isSidePanelPinned: "isSidePanelPinned", isNavOpen: "isNavOpen",
|
|
111
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CaRightSidePanelComponent, isStandalone: true, selector: "app-ca-right-side-panel", inputs: { companiesData: "companiesData", activityLogData: "activityLogData", mainCompanyData: "mainCompanyData", usersFilter: "usersFilter", modulesFilter: "modulesFilter", actionsFilter: "actionsFilter" }, outputs: { activityLogFilterParams: "activityLogFilterParams", selectedNavModule: "selectedNavModule", isSidePanelPinned: "isSidePanelPinned", isNavOpen: "isNavOpen", selectedDivisionId: "selectedDivisionId" }, ngImport: i0, template: "<div class=\"side-panel-container-box\">\n <div class=\"side-panel-container d-flex flex-column\">\n <ng-container *ngIf=\"selectedNav === SelectedModule.ACTIVITY_LOG\">\n <app-ca-right-side-panel-top-bar\n [selectedModule]=\"selectedNav\"\n [usersFilter]=\"usersFilter\"\n [modulesFilter]=\"modulesFilter\"\n [actionsFilter]=\"actionsFilter\"\n [resetFilters]=\"resetFilters\"\n (selectedTab)=\"selectedTabEvent($event)\"\n (activityLogFilterParams)=\"setActivityLogFilterParams($event)\"\n ></app-ca-right-side-panel-top-bar>\n <app-ca-activity-log-list\n [activityLogList]=\"activityLogData\"\n [selectedTab]=\"selectedTab\"\n (searchText)=\"searchEvent($event)\"\n (resetFilters)=\"resetFiltersEvent($event)\"\n ></app-ca-activity-log-list>\n </ng-container>\n\n <ng-container\n *ngIf=\"\n selectedNav === SelectedModule.COMPANY_INFO ||\n selectedNav === SelectedModule.DIVISION_INFO\n \"\n >\n <app-ca-right-side-panel-top-bar\n [selectedModule]=\"selectedNav\"\n [companyList]=\"companiesData\"\n [selectedCompanyId]=\"selectedCompanyId\"\n (selectedDivisionId)=\"selectedDivisionIdEvent($event)\"\n (selectedMainCompanyId)=\"selectedMainCompanyIdEvent($event)\"\n ></app-ca-right-side-panel-top-bar>\n <app-ca-right-side-panel-company\n [company]=\"mainCompanyData\"\n [companyIsDivision]=\"selectedCompanyIsDivision\"\n ></app-ca-right-side-panel-company>\n </ng-container>\n\n <app-ca-right-side-panel-menu\n [companyList]=\"companiesData\"\n (selectedNav)=\"selectedNavEvent($event)\"\n [selectedCompany]=\"selectedCompanyId\"\n (isPinned)=\"pinSidebarEvent($event)\"\n (isNavOpen)=\"openNavEvent($event)\"\n (selectedCompanyId)=\"selectedCompanyIdEvent($event)\"\n ></app-ca-right-side-panel-menu>\n </div>\n</div>\n", styles: [".side-panel-container-box .side-panel-container{position:fixed;bottom:12px;right:12px;gap:4px;max-height:calc(100vh - 24px);z-index:999}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: HttpClientModule }, { kind: "component", type:
|
|
83
112
|
// Components
|
|
84
|
-
CaRightSidePanelMenuComponent, selector: "app-ca-right-side-panel-menu", inputs: ["companyList"], outputs: ["selectedNav", "isPinned", "isNavOpen"] }, { kind: "component", type: CaActivityLogListComponent, selector: "app-ca-activity-log-list", inputs: ["activityLogList", "selectedTab"], outputs: ["searchText", "resetFilters"] }, { kind: "component", type: CaRightSidePanelTopBarComponent, selector: "app-ca-right-side-panel-top-bar", inputs: ["selectedModule", "usersFilter", "modulesFilter", "actionsFilter", "resetFilters", "companyList"], outputs: ["selectedTab", "activityLogFilterParams", "
|
|
113
|
+
CaRightSidePanelMenuComponent, selector: "app-ca-right-side-panel-menu", inputs: ["companyList", "selectedCompany"], outputs: ["selectedNav", "isPinned", "isNavOpen", "selectedCompanyId"] }, { kind: "component", type: CaActivityLogListComponent, selector: "app-ca-activity-log-list", inputs: ["activityLogList", "selectedTab"], outputs: ["searchText", "resetFilters"] }, { kind: "component", type: CaRightSidePanelTopBarComponent, selector: "app-ca-right-side-panel-top-bar", inputs: ["selectedModule", "usersFilter", "modulesFilter", "actionsFilter", "resetFilters", "companyList", "selectedCompanyId"], outputs: ["selectedTab", "activityLogFilterParams", "selectedDivisionId", "selectedMainCompanyId"] }, { kind: "component", type: CaRightSidePanelCompanyComponent, selector: "app-ca-right-side-panel-company", inputs: ["company", "companyIsDivision"] }] }); }
|
|
85
114
|
}
|
|
86
115
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CaRightSidePanelComponent, decorators: [{
|
|
87
116
|
type: Component,
|
|
@@ -93,7 +122,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
93
122
|
CaActivityLogListComponent,
|
|
94
123
|
CaRightSidePanelTopBarComponent,
|
|
95
124
|
CaRightSidePanelCompanyComponent,
|
|
96
|
-
], template: "<div class=\"side-panel-container-box\">\n <div class=\"side-panel-container d-flex flex-column\">\n <ng-container *ngIf=\"selectedNav === SelectedModule.ACTIVITY_LOG\">\n <app-ca-right-side-panel-top-bar\n [selectedModule]=\"selectedNav\"\n [usersFilter]=\"usersFilter\"\n [modulesFilter]=\"modulesFilter\"\n [actionsFilter]=\"actionsFilter\"\n [resetFilters]=\"resetFilters\"\n (selectedTab)=\"selectedTabEvent($event)\"\n (activityLogFilterParams)=\"setActivityLogFilterParams($event)\"\n ></app-ca-right-side-panel-top-bar>\n <app-ca-activity-log-list\n [activityLogList]=\"activityLogData\"\n [selectedTab]=\"selectedTab\"\n (searchText)=\"searchEvent($event)\"\n (resetFilters)=\"resetFiltersEvent($event)\"\n ></app-ca-activity-log-list>\n </ng-container>\n\n <ng-container
|
|
125
|
+
], template: "<div class=\"side-panel-container-box\">\n <div class=\"side-panel-container d-flex flex-column\">\n <ng-container *ngIf=\"selectedNav === SelectedModule.ACTIVITY_LOG\">\n <app-ca-right-side-panel-top-bar\n [selectedModule]=\"selectedNav\"\n [usersFilter]=\"usersFilter\"\n [modulesFilter]=\"modulesFilter\"\n [actionsFilter]=\"actionsFilter\"\n [resetFilters]=\"resetFilters\"\n (selectedTab)=\"selectedTabEvent($event)\"\n (activityLogFilterParams)=\"setActivityLogFilterParams($event)\"\n ></app-ca-right-side-panel-top-bar>\n <app-ca-activity-log-list\n [activityLogList]=\"activityLogData\"\n [selectedTab]=\"selectedTab\"\n (searchText)=\"searchEvent($event)\"\n (resetFilters)=\"resetFiltersEvent($event)\"\n ></app-ca-activity-log-list>\n </ng-container>\n\n <ng-container\n *ngIf=\"\n selectedNav === SelectedModule.COMPANY_INFO ||\n selectedNav === SelectedModule.DIVISION_INFO\n \"\n >\n <app-ca-right-side-panel-top-bar\n [selectedModule]=\"selectedNav\"\n [companyList]=\"companiesData\"\n [selectedCompanyId]=\"selectedCompanyId\"\n (selectedDivisionId)=\"selectedDivisionIdEvent($event)\"\n (selectedMainCompanyId)=\"selectedMainCompanyIdEvent($event)\"\n ></app-ca-right-side-panel-top-bar>\n <app-ca-right-side-panel-company\n [company]=\"mainCompanyData\"\n [companyIsDivision]=\"selectedCompanyIsDivision\"\n ></app-ca-right-side-panel-company>\n </ng-container>\n\n <app-ca-right-side-panel-menu\n [companyList]=\"companiesData\"\n (selectedNav)=\"selectedNavEvent($event)\"\n [selectedCompany]=\"selectedCompanyId\"\n (isPinned)=\"pinSidebarEvent($event)\"\n (isNavOpen)=\"openNavEvent($event)\"\n (selectedCompanyId)=\"selectedCompanyIdEvent($event)\"\n ></app-ca-right-side-panel-menu>\n </div>\n</div>\n", styles: [".side-panel-container-box .side-panel-container{position:fixed;bottom:12px;right:12px;gap:4px;max-height:calc(100vh - 24px);z-index:999}\n"] }]
|
|
97
126
|
}], propDecorators: { companiesData: [{
|
|
98
127
|
type: Input
|
|
99
128
|
}], activityLogData: [{
|
|
@@ -114,7 +143,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
114
143
|
type: Output
|
|
115
144
|
}], isNavOpen: [{
|
|
116
145
|
type: Output
|
|
117
|
-
}],
|
|
146
|
+
}], selectedDivisionId: [{
|
|
118
147
|
type: Output
|
|
119
148
|
}] } });
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtcmlnaHQtc2lkZS1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1yaWdodC1zaWRlLXBhbmVsL2NhLXJpZ2h0LXNpZGUtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtcmlnaHQtc2lkZS1wYW5lbC9jYS1yaWdodC1zaWRlLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLGFBQWE7QUFDYixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUN6SCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNwRyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxnRkFBZ0YsQ0FBQztBQUNqSSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxnRkFBZ0YsQ0FBQztBQWFsSSxRQUFRO0FBQ1IsT0FBTyxFQUNMLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsY0FBYyxHQUNmLE1BQU0sU0FBUyxDQUFDOzs7QUFrQmpCLE1BQU0sT0FBTyx5QkFBeUI7SUFoQnRDO1FBaUJTLDZCQUF3QixHQUE0QjtZQUN6RCxjQUFjLEVBQUUsRUFBRTtZQUNsQixZQUFZLEVBQUUsRUFBRTtZQUNoQixxQkFBcUIsRUFBRSxFQUFFO1lBQ3pCLElBQUksRUFBRSxtQkFB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QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sWUFBWSxDQUFDLFNBQWtCO1FBQ3BDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7K0dBdEZVLHlCQUF5QjttR0FBekIseUJBQXlCLG9mQzVDdEMsNmpEQXVDQSxtTURMSSxZQUFZLGtJQUNaLGdCQUFnQjtnQkFFaEIsYUFBYTtnQkFDYiw2QkFBNkIscUpBQzdCLDBCQUEwQiwwSkFDMUIsK0JBQStCLHFRQUMvQixnQ0FBZ0M7OzRGQUd2Qix5QkFBeUI7a0JBaEJyQyxTQUFTOytCQUNFLHlCQUF5QixjQUd2QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBRWhCLGFBQWE7d0JBQ2IsNkJBQTZCO3dCQUM3QiwwQkFBMEI7d0JBQzFCLCtCQUErQjt3QkFDL0IsZ0NBQWdDO3FCQUNqQzs4QkFtQlEsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUVHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFFRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIGNvbXBvbmVudHNcbmltcG9ydCB7IENhUmlnaHRTaWRlUGFuZWxNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLXJpZ2h0LXNpZGUtcGFuZWwtbWVudS9jYS1yaWdodC1zaWRlLXBhbmVsLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IENhQWN0aXZpdHlMb2dMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vY2EtYWN0aXZpdHktbG9nLWxpc3QvY2EtYWN0aXZpdHktbG9nLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IENhUmlnaHRTaWRlUGFuZWxUb3BCYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtcmlnaHQtc2lkZS1wYW5lbC10b3AtYmFyL2NhLXJpZ2h0LXNpZGUtcGFuZWwtdG9wLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FSaWdodFNpZGVQYW5lbENvbXBhbnlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtcmlnaHQtc2lkZS1wYW5lbC1jb21wYW55L2NhLXJpZ2h0LXNpZGUtcGFuZWwtY29tcGFueS5jb21wb25lbnQnO1xuXG4vLyBtb2RlbHNcbmltcG9ydCB7IEFjdGl2aXR5TG9nSXRlbSB9IGZyb20gJy4uL2NhLWFjdGl2aXR5LWxvZy1saXN0L21vZGVscyc7XG5pbXBvcnQge1xuICBBY3Rpb25GaWx0ZXJJbnB1dERhdGEsXG4gIEFjdGl2aXR5TG9nRmlsdGVyUGFyYW1zLFxuICBDb21wYW55LFxuICBDb21wYW55TmF2aWdhdGlvbkRhdGEsXG4gIE1vZHVsZUZpbHRlcklucHV0RGF0YSxcbiAgVXNlckZpbHRlcklucHV0RGF0YSxcbn0gZnJvbSAnLi9tb2RlbHMnO1xuXG4vLyBlbnVtc1xuaW1wb3J0IHtcbiAgQWN0aXZpdHlMb2dTb3J0VHlwZSxcbiAgUmlnaHRTaWRlUGFuZWxDdXJyZW50VGFiLFxuICBTZWxlY3RlZE1vZHVsZSxcbn0gZnJvbSAnLi9lbnVtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jYS1yaWdodC1zaWRlLXBhbmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhLXJpZ2h0LXNpZGUtcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYS1yaWdodC1zaWRlLXBhbmVsLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcblxuICAgIC8vIENvbXBvbmVudHNcbiAgICBDYVJpZ2h0U2lkZVBhbmVsTWVudUNvbXBvbmVudCxcbiAgICBDYUFjdGl2aXR5TG9nTGlzdENvbXBvbmVudCxcbiAgICBDYVJpZ2h0U2lkZVBhbmVsVG9wQmFyQ29tcG9uZW50LFxuICAgIENhUmlnaHRTaWRlUGFuZWxDb21wYW55Q29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDYVJpZ2h0U2lkZVBhbmVsQ29tcG9uZW50IHtcbiAgcHVibGljIF9hY3Rpdml0eUxvZ0ZpbHRlclBhcmFtczogQWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMgPSB7XG4gICAgY29tcGFueVVzZXJJZHM6IFtdLFxuICAgIGFjdGlvbkxvZ0lkczogW10sXG4gICAgZW50aXR5VHlwZUFjdGl2aXR5SWRzOiBbXSxcbiAgICBzb3J0OiBBY3Rpdml0eUxvZ1NvcnRUeXBlLkRFU0NFTkRJTkcsXG4gICAgdXNlckZpbHRlclR5cGU6IFJpZ2h0U2lkZVBhbmVsQ3VycmVudFRhYi5QRVJTT05BTCxcbiAgICBkYXRlRnJvbTogbnVsbCxcbiAgICBkYXRlVG86IG51bGwsXG4gICAgc2VhcmNoOiBudWxsLFxuICB9O1xuICBwdWJsaWMgc2VsZWN0ZWROYXY/OiBTZWxlY3RlZE1vZHVsZTtcbiAgcHVibGljIHNlbGVjdGVkVGFiOiBSaWdodFNpZGVQYW5lbEN1cnJlbnRUYWIgPVxuICAgIFJpZ2h0U2lkZVBhbmVsQ3VycmVudFRhYi5QRVJTT05BTDtcbiAgcHVibGljIFNlbGVjdGVkTW9kdWxlID0gU2VsZWN0ZWRNb2R1bGU7XG4gIHB1YmxpYyByZXNldEZpbHRlcnM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBjb21wYW5pZXNEYXRhITogQ29tcGFueU5hdmlnYXRpb25EYXRhW107XG4gIEBJbnB1dCgpIGFjdGl2aXR5TG9nRGF0YSE6IEFjdGl2aXR5TG9nSXRlbVtdO1xuICBASW5wdXQoKSBtYWluQ29tcGFueURhdGEhOiBDb21wYW55O1xuICBASW5wdXQoKSB1c2Vyc0ZpbHRlciE6IFVzZXJGaWx0ZXJJbnB1dERhdGFbXTtcbiAgQElucHV0KCkgbW9kdWxlc0ZpbHRlciE6IE1vZHVsZUZpbHRlcklucHV0RGF0YVtdO1xuICBASW5wdXQoKSBhY3Rpb25zRmlsdGVyITogQWN0aW9uRmlsdGVySW5wdXREYXRhW107XG5cbiAgQE91dHB1dCgpIGFjdGl2aXR5TG9nRmlsdGVyUGFyYW1zOiBFdmVudEVtaXR0ZXI8QWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXM+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZE5hdk1vZHVsZTogRXZlbnRFbWl0dGVyPFNlbGVjdGVkTW9kdWxlPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgaXNTaWRlUGFuZWxQaW5uZWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGlzTmF2T3BlbjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRDb21wYW55SWQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBzZWxlY3RlZE5hdkV2ZW50KHNlbGVjdGVkTmF2OiBTZWxlY3RlZE1vZHVsZSk6IHZvaWQge1xuICAgIGlmICghc2VsZWN0ZWROYXYpIHRoaXMuc2VsZWN0ZWRUYWIgPSBSaWdodFNpZGVQYW5lbEN1cnJlbnRUYWIuUEVSU09OQUw7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWROYXYgIT09IHNlbGVjdGVkTmF2KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkVGFiID0gUmlnaHRTaWRlUGFuZWxDdXJyZW50VGFiLlBFUlNPTkFMO1xuICAgICAgdGhpcy5zZWxlY3RlZE5hdiA9IHNlbGVjdGVkTmF2O1xuICAgICAgdGhpcy5zZWxlY3RlZE5hdk1vZHVsZS5lbWl0KHNlbGVjdGVkTmF2KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0ZWRUYWJFdmVudChzZWxlY3RlZFRhYjogUmlnaHRTaWRlUGFuZWxDdXJyZW50VGFiKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFRhYiA9IHNlbGVjdGVkVGFiO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdGVkVGFiQ29tcGFueUlkRXZlbnQoY29tcGFueUlkOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ29tcGFueUlkLmVtaXQoY29tcGFueUlkKTtcbiAgfVxuXG4gIHB1YmxpYyBwaW5TaWRlYmFyRXZlbnQoaXNQaW5uZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzU2lkZVBhbmVsUGlubmVkLmVtaXQoaXNQaW5uZWQpO1xuICB9XG5cbiAgcHVibGljIHNldEFjdGl2aXR5TG9nRmlsdGVyUGFyYW1zKFxuICAgIGFjdGl2aXR5TG9nRmlsdGVyUGFyYW1zOiBBY3Rpdml0eUxvZ0ZpbHRlclBhcmFtc1xuICApOiB2b2lkIHtcbiAgICB0aGlzLl9hY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcy5jb21wYW55VXNlcklkcyA9XG4gICAgICBhY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcy5jb21wYW55VXNlcklkcztcbiAgICB0aGlzLl9hY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcy5hY3Rpb25Mb2dJZHMgPVxuICAgICAgYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMuYWN0aW9uTG9nSWRzO1xuICAgIHRoaXMuX2FjdGl2aXR5TG9nRmlsdGVyUGFyYW1zLmVudGl0eVR5cGVBY3Rpdml0eUlkcyA9XG4gICAgICBhY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcy5lbnRpdHlUeXBlQWN0aXZpdHlJZHM7XG4gICAgdGhpcy5fYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMuc29ydCA9IGFjdGl2aXR5TG9nRmlsdGVyUGFyYW1zLnNvcnQ7XG4gICAgdGhpcy5fYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMudXNlckZpbHRlclR5cGUgPVxuICAgICAgYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMudXNlckZpbHRlclR5cGU7XG4gICAgdGhpcy5fYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMuZGF0ZUZyb20gPSBhY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcy5kYXRlRnJvbTtcbiAgICB0aGlzLl9hY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcy5kYXRlVG8gPSBhY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcy5kYXRlVG87XG4gICAgdGhpcy5fYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMucmVsb2FkRmlsdGVycyA9XG4gICAgICBhY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcy5yZWxvYWRGaWx0ZXJzO1xuICAgIHRoaXMuYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMuZW1pdCh0aGlzLl9hY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoRXZlbnQoc2VhcmNoVGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMuc2VhcmNoID0gc2VhcmNoVGV4dDtcbiAgICB0aGlzLmFjdGl2aXR5TG9nRmlsdGVyUGFyYW1zLmVtaXQodGhpcy5fYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMpO1xuICB9XG5cbiAgcHVibGljIHJlc2V0RmlsdGVyc0V2ZW50KHJlc2V0RmlsdGVyczogYm9vbGVhbikge1xuICAgIHRoaXMucmVzZXRGaWx0ZXJzID0gcmVzZXRGaWx0ZXJzO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5yZXNldEZpbHRlcnMgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuTmF2RXZlbnQoaXNOYXZPcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc05hdk9wZW4uZW1pdChpc05hdk9wZW4pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2lkZS1wYW5lbC1jb250YWluZXItYm94XCI+XG4gIDxkaXYgY2xhc3M9XCJzaWRlLXBhbmVsLWNvbnRhaW5lciBkLWZsZXggZmxleC1jb2x1bW5cIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWROYXYgPT09IFNlbGVjdGVkTW9kdWxlLkFDVElWSVRZX0xPR1wiPlxuICAgICAgPGFwcC1jYS1yaWdodC1zaWRlLXBhbmVsLXRvcC1iYXJcbiAgICAgICAgW3NlbGVjdGVkTW9kdWxlXT1cInNlbGVjdGVkTmF2XCJcbiAgICAgICAgW3VzZXJzRmlsdGVyXT1cInVzZXJzRmlsdGVyXCJcbiAgICAgICAgW21vZHVsZXNGaWx0ZXJdPVwibW9kdWxlc0ZpbHRlclwiXG4gICAgICAgIFthY3Rpb25zRmlsdGVyXT1cImFjdGlvbnNGaWx0ZXJcIlxuICAgICAgICBbcmVzZXRGaWx0ZXJzXT1cInJlc2V0RmlsdGVyc1wiXG4gICAgICAgIChzZWxlY3RlZFRhYik9XCJzZWxlY3RlZFRhYkV2ZW50KCRldmVudClcIlxuICAgICAgICAoYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMpPVwic2V0QWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMoJGV2ZW50KVwiXG4gICAgICA+PC9hcHAtY2EtcmlnaHQtc2lkZS1wYW5lbC10b3AtYmFyPlxuICAgICAgPGFwcC1jYS1hY3Rpdml0eS1sb2ctbGlzdFxuICAgICAgICBbYWN0aXZpdHlMb2dMaXN0XT1cImFjdGl2aXR5TG9nRGF0YVwiXG4gICAgICAgIFtzZWxlY3RlZFRhYl09XCJzZWxlY3RlZFRhYlwiXG4gICAgICAgIChzZWFyY2hUZXh0KT1cInNlYXJjaEV2ZW50KCRldmVudClcIlxuICAgICAgICAocmVzZXRGaWx0ZXJzKT1cInJlc2V0RmlsdGVyc0V2ZW50KCRldmVudClcIlxuICAgICAgPjwvYXBwLWNhLWFjdGl2aXR5LWxvZy1saXN0PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkTmF2ID09PSBTZWxlY3RlZE1vZHVsZS5DT01QQU5ZX0lORk9cIj5cbiAgICAgIDxhcHAtY2EtcmlnaHQtc2lkZS1wYW5lbC10b3AtYmFyXG4gICAgICAgIFtzZWxlY3RlZE1vZHVsZV09XCJzZWxlY3RlZE5hdlwiXG4gICAgICAgIFtjb21wYW55TGlzdF09XCJjb21wYW5pZXNEYXRhXCJcbiAgICAgICAgKHNlbGVjdGVkVGFiQ29tcGFueUlkKT1cInNlbGVjdGVkVGFiQ29tcGFueUlkRXZlbnQoJGV2ZW50KVwiXG4gICAgICA+PC9hcHAtY2EtcmlnaHQtc2lkZS1wYW5lbC10b3AtYmFyPlxuICAgICAgPGFwcC1jYS1yaWdodC1zaWRlLXBhbmVsLWNvbXBhbnlcbiAgICAgICAgW2NvbXBhbnldPVwibWFpbkNvbXBhbnlEYXRhXCJcbiAgICAgID48L2FwcC1jYS1yaWdodC1zaWRlLXBhbmVsLWNvbXBhbnk+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8YXBwLWNhLXJpZ2h0LXNpZGUtcGFuZWwtbWVudVxuICAgICAgW2NvbXBhbnlMaXN0XT1cImNvbXBhbmllc0RhdGFcIlxuICAgICAgKHNlbGVjdGVkTmF2KT1cInNlbGVjdGVkTmF2RXZlbnQoJGV2ZW50KVwiXG4gICAgICAoaXNQaW5uZWQpPVwicGluU2lkZWJhckV2ZW50KCRldmVudClcIlxuICAgICAgKGlzTmF2T3Blbik9XCJvcGVuTmF2RXZlbnQoJGV2ZW50KVwiXG4gICAgPjwvYXBwLWNhLXJpZ2h0LXNpZGUtcGFuZWwtbWVudT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2EtcmlnaHQtc2lkZS1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1yaWdodC1zaWRlLXBhbmVsL2NhLXJpZ2h0LXNpZGUtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtcmlnaHQtc2lkZS1wYW5lbC9jYS1yaWdodC1zaWRlLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLGFBQWE7QUFDYixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUN6SCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNwRyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxnRkFBZ0YsQ0FBQztBQUNqSSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxnRkFBZ0YsQ0FBQztBQWFsSSxRQUFRO0FBQ1IsT0FBTyxFQUNMLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsY0FBYyxHQUNmLE1BQU0sU0FBUyxDQUFDOzs7QUFrQmpCLE1BQU0sT0FBTyx5QkFBeUI7SUFoQnRDO1FBaUJTLDZCQUF3QixHQUE0QjtZQUN6RCxjQUFjLEVBQUUsRUFBRTtZQUNsQixZQUFZLEVBQUUsRUFBRTtZQUNoQixxQkFBcUIsRUFBRSxFQUFFO1lBQ3pCLElBQUksRUFBRSxtQkFB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QUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7SUFDMUIsQ0FBQzsrR0FySFUseUJBQXlCO21HQUF6Qix5QkFBeUIsc2ZDNUN0QyxvN0RBaURBLG1NRGZJLFlBQVksa0lBQ1osZ0JBQWdCO2dCQUVoQixhQUFhO2dCQUNiLDZCQUE2Qiw2TEFDN0IsMEJBQTBCLDBKQUMxQiwrQkFBK0IsaVRBQy9CLGdDQUFnQzs7NEZBR3ZCLHlCQUF5QjtrQkFoQnJDLFNBQVM7K0JBQ0UseUJBQXlCLGNBR3ZCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFFaEIsYUFBYTt3QkFDYiw2QkFBNkI7d0JBQzdCLDBCQUEwQjt3QkFDMUIsK0JBQStCO3dCQUMvQixnQ0FBZ0M7cUJBQ2pDOzhCQXFCUSxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFSSx1QkFBdUI7c0JBQWhDLE1BQU07Z0JBRUcsaUJBQWlCO3NCQUExQixNQUFNO2dCQUVHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLy8gY29tcG9uZW50c1xuaW1wb3J0IHsgQ2FSaWdodFNpZGVQYW5lbE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtcmlnaHQtc2lkZS1wYW5lbC1tZW51L2NhLXJpZ2h0LXNpZGUtcGFuZWwtbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FBY3Rpdml0eUxvZ0xpc3RDb21wb25lbnQgfSBmcm9tICcuLi9jYS1hY3Rpdml0eS1sb2ctbGlzdC9jYS1hY3Rpdml0eS1sb2ctbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FSaWdodFNpZGVQYW5lbFRvcEJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYS1yaWdodC1zaWRlLXBhbmVsLXRvcC1iYXIvY2EtcmlnaHQtc2lkZS1wYW5lbC10b3AtYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYVJpZ2h0U2lkZVBhbmVsQ29tcGFueUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jYS1yaWdodC1zaWRlLXBhbmVsLWNvbXBhbnkvY2EtcmlnaHQtc2lkZS1wYW5lbC1jb21wYW55LmNvbXBvbmVudCc7XG5cbi8vIG1vZGVsc1xuaW1wb3J0IHsgQWN0aXZpdHlMb2dJdGVtIH0gZnJvbSAnLi4vY2EtYWN0aXZpdHktbG9nLWxpc3QvbW9kZWxzJztcbmltcG9ydCB7XG4gIEFjdGlvbkZpbHRlcklucHV0RGF0YSxcbiAgQWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMsXG4gIENvbXBhbnksXG4gIENvbXBhbnlOYXZpZ2F0aW9uRGF0YSxcbiAgTW9kdWxlRmlsdGVySW5wdXREYXRhLFxuICBVc2VyRmlsdGVySW5wdXREYXRhLFxufSBmcm9tICcuL21vZGVscyc7XG5cbi8vIGVudW1zXG5pbXBvcnQge1xuICBBY3Rpdml0eUxvZ1NvcnRUeXBlLFxuICBSaWdodFNpZGVQYW5lbEN1cnJlbnRUYWIsXG4gIFNlbGVjdGVkTW9kdWxlLFxufSBmcm9tICcuL2VudW1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNhLXJpZ2h0LXNpZGUtcGFuZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2EtcmlnaHQtc2lkZS1wYW5lbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhLXJpZ2h0LXNpZGUtcGFuZWwuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxuXG4gICAgLy8gQ29tcG9uZW50c1xuICAgIENhUmlnaHRTaWRlUGFuZWxNZW51Q29tcG9uZW50LFxuICAgIENhQWN0aXZpdHlMb2dMaXN0Q29tcG9uZW50LFxuICAgIENhUmlnaHRTaWRlUGFuZWxUb3BCYXJDb21wb25lbnQsXG4gICAgQ2FSaWdodFNpZGVQYW5lbENvbXBhbnlDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIENhUmlnaHRTaWRlUGFuZWxDb21wb25lbnQge1xuICBwdWJsaWMgX2FjdGl2aXR5TG9nRmlsdGVyUGFyYW1zOiBBY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcyA9IHtcbiAgICBjb21wYW55VXNlcklkczogW10sXG4gICAgYWN0aW9uTG9nSWRzOiBbXSxcbiAgICBlbnRpdHlUeXBlQWN0aXZpdHlJZHM6IFtdLFxuICAgIHNvcnQ6IEFjdGl2aXR5TG9nU29ydFR5cGUuREVTQ0VORElORyxcbiAgICB1c2VyRmlsdGVyVHlwZTogUmlnaHRTaWRlUGFuZWxDdXJyZW50VGFiLlBFUlNPTkFMLFxuICAgIGRhdGVGcm9tOiBudWxsLFxuICAgIGRhdGVUbzogbnVsbCxcbiAgICBzZWFyY2g6IG51bGwsXG4gIH07XG4gIHB1YmxpYyBzZWxlY3RlZE5hdj86IFNlbGVjdGVkTW9kdWxlO1xuICBwdWJsaWMgc2VsZWN0ZWRUYWI6IFJpZ2h0U2lkZVBhbmVsQ3VycmVudFRhYiA9XG4gICAgUmlnaHRTaWRlUGFuZWxDdXJyZW50VGFiLlBFUlNPTkFMO1xuICBwdWJsaWMgU2VsZWN0ZWRNb2R1bGUgPSBTZWxlY3RlZE1vZHVsZTtcbiAgcHVibGljIHJlc2V0RmlsdGVyczogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgc2VsZWN0ZWRDb21wYW55SWQ6IG51bWJlciA9IDA7XG4gIHB1YmxpYyBzZWxlY3RlZENvbXBhbnlJc0RpdmlzaW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgY29tcGFuaWVzRGF0YSE6IENvbXBhbnlOYXZpZ2F0aW9uRGF0YVtdO1xuICBASW5wdXQoKSBhY3Rpdml0eUxvZ0RhdGEhOiBBY3Rpdml0eUxvZ0l0ZW1bXTtcbiAgQElucHV0KCkgbWFpbkNvbXBhbnlEYXRhITogQ29tcGFueSB8IG51bGw7XG4gIEBJbnB1dCgpIHVzZXJzRmlsdGVyITogVXNlckZpbHRlcklucHV0RGF0YVtdO1xuICBASW5wdXQoKSBtb2R1bGVzRmlsdGVyITogTW9kdWxlRmlsdGVySW5wdXREYXRhW107XG4gIEBJbnB1dCgpIGFjdGlvbnNGaWx0ZXIhOiBBY3Rpb25GaWx0ZXJJbnB1dERhdGFbXTtcblxuICBAT3V0cHV0KCkgYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXM6IEV2ZW50RW1pdHRlcjxBY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcz4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHNlbGVjdGVkTmF2TW9kdWxlOiBFdmVudEVtaXR0ZXI8U2VsZWN0ZWRNb2R1bGU+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBpc1NpZGVQYW5lbFBpbm5lZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgaXNOYXZPcGVuOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZERpdmlzaW9uSWQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBzZWxlY3RlZE5hdkV2ZW50KHNlbGVjdGVkTmF2OiBTZWxlY3RlZE1vZHVsZSk6IHZvaWQge1xuICAgIGlmICghc2VsZWN0ZWROYXYpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBSaWdodFNpZGVQYW5lbEN1cnJlbnRUYWIuUEVSU09OQUw7XG4gICAgICB0aGlzLmNsZWFyRGF0YSgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zZWxlY3RlZE5hdiAhPT0gc2VsZWN0ZWROYXYpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBSaWdodFNpZGVQYW5lbEN1cnJlbnRUYWIuUEVSU09OQUw7XG4gICAgICB0aGlzLnNlbGVjdGVkTmF2ID0gc2VsZWN0ZWROYXY7XG4gICAgICB0aGlzLnNlbGVjdGVkTmF2TW9kdWxlLmVtaXQoc2VsZWN0ZWROYXYpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RlZFRhYkV2ZW50KHNlbGVjdGVkVGFiOiBSaWdodFNpZGVQYW5lbEN1cnJlbnRUYWIpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkVGFiID0gc2VsZWN0ZWRUYWI7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0ZWRDb21wYW55SWRFdmVudChjb21wYW55SWQ6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkTmF2ID09PSBTZWxlY3RlZE1vZHVsZS5ESVZJU0lPTl9JTkZPKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ29tcGFueUlzRGl2aXNpb24gPSB0cnVlO1xuICAgICAgdGhpcy5zZWxlY3RlZERpdmlzaW9uSWQuZW1pdChjb21wYW55SWQpO1xuICAgIH0gZWxzZSB0aGlzLnNlbGVjdGVkQ29tcGFueUlzRGl2aXNpb24gPSBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdGVkQ29tcGFueUlkID0gY29tcGFueUlkO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdGVkRGl2aXNpb25JZEV2ZW50KGNvbXBhbnlJZDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZENvbXBhbnlJc0RpdmlzaW9uID0gdHJ1ZTtcbiAgICB0aGlzLnNlbGVjdGVkRGl2aXNpb25JZC5lbWl0KGNvbXBhbnlJZCk7XG4gICAgdGhpcy5zZWxlY3RlZENvbXBhbnlJZCA9IGNvbXBhbnlJZDtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RlZE1haW5Db21wYW55SWRFdmVudChjb21wYW55SWQ6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChjb21wYW55SWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDb21wYW55SXNEaXZpc2lvbiA9IGZhbHNlO1xuICAgICAgdGhpcy5zZWxlY3RlZE5hdk1vZHVsZS5lbWl0KFNlbGVjdGVkTW9kdWxlLkNPTVBBTllfSU5GTyk7XG4gICAgICB0aGlzLnNlbGVjdGVkQ29tcGFueUlkID0gY29tcGFueUlkO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBwaW5TaWRlYmFyRXZlbnQoaXNQaW5uZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmlzU2lkZVBhbmVsUGlubmVkLmVtaXQoaXNQaW5uZWQpO1xuICB9XG5cbiAgcHVibGljIHNldEFjdGl2aXR5TG9nRmlsdGVyUGFyYW1zKFxuICAgIGFjdGl2aXR5TG9nRmlsdGVyUGFyYW1zOiBBY3Rpdml0eUxvZ0ZpbHRlclBhcmFtc1xuICApOiB2b2lkIHtcbiAgICB0aGlzLl9hY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcy5jb21wYW55VXNlcklkcyA9XG4gICAgICBhY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcy5jb21wYW55VXNlcklkcztcbiAgICB0aGlzLl9hY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcy5hY3Rpb25Mb2dJZHMgPVxuICAgICAgYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMuYWN0aW9uTG9nSWRzO1xuICAgIHRoaXMuX2FjdGl2aXR5TG9nRmlsdGVyUGFyYW1zLmVudGl0eVR5cGVBY3Rpdml0eUlkcyA9XG4gICAgICBhY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcy5lbnRpdHlUeXBlQWN0aXZpdHlJZHM7XG4gICAgdGhpcy5fYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMuc29ydCA9IGFjdGl2aXR5TG9nRmlsdGVyUGFyYW1zLnNvcnQ7XG4gICAgdGhpcy5fYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMudXNlckZpbHRlclR5cGUgPVxuICAgICAgYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMudXNlckZpbHRlclR5cGU7XG4gICAgdGhpcy5fYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMuZGF0ZUZyb20gPSBhY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcy5kYXRlRnJvbTtcbiAgICB0aGlzLl9hY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcy5kYXRlVG8gPSBhY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcy5kYXRlVG87XG4gICAgdGhpcy5fYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMucmVsb2FkRmlsdGVycyA9XG4gICAgICBhY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcy5yZWxvYWRGaWx0ZXJzO1xuICAgIHRoaXMuYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMuZW1pdCh0aGlzLl9hY3Rpdml0eUxvZ0ZpbHRlclBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoRXZlbnQoc2VhcmNoVGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMuc2VhcmNoID0gc2VhcmNoVGV4dDtcbiAgICB0aGlzLmFjdGl2aXR5TG9nRmlsdGVyUGFyYW1zLmVtaXQodGhpcy5fYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMpO1xuICB9XG5cbiAgcHVibGljIHJlc2V0RmlsdGVyc0V2ZW50KHJlc2V0RmlsdGVyczogYm9vbGVhbikge1xuICAgIHRoaXMucmVzZXRGaWx0ZXJzID0gcmVzZXRGaWx0ZXJzO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5yZXNldEZpbHRlcnMgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuTmF2RXZlbnQoaXNOYXZPcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc05hdk9wZW4uZW1pdChpc05hdk9wZW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckRhdGEoKTogdm9pZCB7XG4gICAgdGhpcy5hY3Rpdml0eUxvZ0RhdGEgPSBbXTtcbiAgICB0aGlzLm1haW5Db21wYW55RGF0YSA9IG51bGw7XG4gICAgdGhpcy51c2Vyc0ZpbHRlciA9IFtdO1xuICAgIHRoaXMubW9kdWxlc0ZpbHRlciA9IFtdO1xuICAgIHRoaXMuYWN0aW9uc0ZpbHRlciA9IFtdO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2lkZS1wYW5lbC1jb250YWluZXItYm94XCI+XG4gIDxkaXYgY2xhc3M9XCJzaWRlLXBhbmVsLWNvbnRhaW5lciBkLWZsZXggZmxleC1jb2x1bW5cIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWROYXYgPT09IFNlbGVjdGVkTW9kdWxlLkFDVElWSVRZX0xPR1wiPlxuICAgICAgPGFwcC1jYS1yaWdodC1zaWRlLXBhbmVsLXRvcC1iYXJcbiAgICAgICAgW3NlbGVjdGVkTW9kdWxlXT1cInNlbGVjdGVkTmF2XCJcbiAgICAgICAgW3VzZXJzRmlsdGVyXT1cInVzZXJzRmlsdGVyXCJcbiAgICAgICAgW21vZHVsZXNGaWx0ZXJdPVwibW9kdWxlc0ZpbHRlclwiXG4gICAgICAgIFthY3Rpb25zRmlsdGVyXT1cImFjdGlvbnNGaWx0ZXJcIlxuICAgICAgICBbcmVzZXRGaWx0ZXJzXT1cInJlc2V0RmlsdGVyc1wiXG4gICAgICAgIChzZWxlY3RlZFRhYik9XCJzZWxlY3RlZFRhYkV2ZW50KCRldmVudClcIlxuICAgICAgICAoYWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMpPVwic2V0QWN0aXZpdHlMb2dGaWx0ZXJQYXJhbXMoJGV2ZW50KVwiXG4gICAgICA+PC9hcHAtY2EtcmlnaHQtc2lkZS1wYW5lbC10b3AtYmFyPlxuICAgICAgPGFwcC1jYS1hY3Rpdml0eS1sb2ctbGlzdFxuICAgICAgICBbYWN0aXZpdHlMb2dMaXN0XT1cImFjdGl2aXR5TG9nRGF0YVwiXG4gICAgICAgIFtzZWxlY3RlZFRhYl09XCJzZWxlY3RlZFRhYlwiXG4gICAgICAgIChzZWFyY2hUZXh0KT1cInNlYXJjaEV2ZW50KCRldmVudClcIlxuICAgICAgICAocmVzZXRGaWx0ZXJzKT1cInJlc2V0RmlsdGVyc0V2ZW50KCRldmVudClcIlxuICAgICAgPjwvYXBwLWNhLWFjdGl2aXR5LWxvZy1saXN0PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJcbiAgICAgICAgc2VsZWN0ZWROYXYgPT09IFNlbGVjdGVkTW9kdWxlLkNPTVBBTllfSU5GTyB8fFxuICAgICAgICBzZWxlY3RlZE5hdiA9PT0gU2VsZWN0ZWRNb2R1bGUuRElWSVNJT05fSU5GT1xuICAgICAgXCJcbiAgICA+XG4gICAgICA8YXBwLWNhLXJpZ2h0LXNpZGUtcGFuZWwtdG9wLWJhclxuICAgICAgICBbc2VsZWN0ZWRNb2R1bGVdPVwic2VsZWN0ZWROYXZcIlxuICAgICAgICBbY29tcGFueUxpc3RdPVwiY29tcGFuaWVzRGF0YVwiXG4gICAgICAgIFtzZWxlY3RlZENvbXBhbnlJZF09XCJzZWxlY3RlZENvbXBhbnlJZFwiXG4gICAgICAgIChzZWxlY3RlZERpdmlzaW9uSWQpPVwic2VsZWN0ZWREaXZpc2lvbklkRXZlbnQoJGV2ZW50KVwiXG4gICAgICAgIChzZWxlY3RlZE1haW5Db21wYW55SWQpPVwic2VsZWN0ZWRNYWluQ29tcGFueUlkRXZlbnQoJGV2ZW50KVwiXG4gICAgICA+PC9hcHAtY2EtcmlnaHQtc2lkZS1wYW5lbC10b3AtYmFyPlxuICAgICAgPGFwcC1jYS1yaWdodC1zaWRlLXBhbmVsLWNvbXBhbnlcbiAgICAgICAgW2NvbXBhbnldPVwibWFpbkNvbXBhbnlEYXRhXCJcbiAgICAgICAgW2NvbXBhbnlJc0RpdmlzaW9uXT1cInNlbGVjdGVkQ29tcGFueUlzRGl2aXNpb25cIlxuICAgICAgPjwvYXBwLWNhLXJpZ2h0LXNpZGUtcGFuZWwtY29tcGFueT5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxhcHAtY2EtcmlnaHQtc2lkZS1wYW5lbC1tZW51XG4gICAgICBbY29tcGFueUxpc3RdPVwiY29tcGFuaWVzRGF0YVwiXG4gICAgICAoc2VsZWN0ZWROYXYpPVwic2VsZWN0ZWROYXZFdmVudCgkZXZlbnQpXCJcbiAgICAgIFtzZWxlY3RlZENvbXBhbnldPVwic2VsZWN0ZWRDb21wYW55SWRcIlxuICAgICAgKGlzUGlubmVkKT1cInBpblNpZGViYXJFdmVudCgkZXZlbnQpXCJcbiAgICAgIChpc05hdk9wZW4pPVwib3Blbk5hdkV2ZW50KCRldmVudClcIlxuICAgICAgKHNlbGVjdGVkQ29tcGFueUlkKT1cInNlbGVjdGVkQ29tcGFueUlkRXZlbnQoJGV2ZW50KVwiXG4gICAgPjwvYXBwLWNhLXJpZ2h0LXNpZGUtcGFuZWwtbWVudT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|