vc-create-dashboard 3.1.0 → 3.1.2
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/configurations.mjs +7 -0
- package/esm2022/lib/create-dashboard-container/categories/categories-config.mjs +2 -0
- package/esm2022/lib/create-dashboard-container/categories/categories.component.mjs +212 -0
- package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.mjs +350 -0
- package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.mjs +2 -0
- package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets.module.mjs +47 -0
- package/esm2022/lib/create-dashboard-container/constants/assets.constant.mjs +37 -0
- package/esm2022/lib/create-dashboard-container/create-dashboard-config.mjs +2 -0
- package/esm2022/lib/create-dashboard-container/create-dashboard.component.mjs +1601 -0
- package/esm2022/lib/create-dashboard-container/create-dashboard.module.mjs +127 -0
- package/esm2022/lib/create-dashboard-container/directives/directives.module.mjs +24 -0
- package/esm2022/lib/create-dashboard-container/directives/scroll-in-view.directive.mjs +36 -0
- package/esm2022/lib/create-dashboard-container/form-group/form-group.component.mjs +153 -0
- package/esm2022/lib/create-dashboard-container/frequency/frequency.component.mjs +309 -0
- package/esm2022/lib/create-dashboard-container/interfaces/widget-data-model.mjs +2 -0
- package/esm2022/lib/create-dashboard-container/pipes/filter.pipe.mjs +30 -0
- package/esm2022/lib/create-dashboard-container/pipes/search-program.pipe.mjs +37 -0
- package/esm2022/lib/create-dashboard-container/pipes/search.pipe.mjs +25 -0
- package/esm2022/lib/create-dashboard-container/pipes/text-count.pipe.mjs +18 -0
- package/esm2022/lib/create-dashboard-container/program-list/constant.mjs +31 -0
- package/esm2022/lib/create-dashboard-container/program-list/information-block/information-block.component.mjs +13 -0
- package/esm2022/lib/create-dashboard-container/program-list/interfaces/list-item.interface.mjs +2 -0
- package/esm2022/lib/create-dashboard-container/program-list/list-container/list-container.component.mjs +50 -0
- package/esm2022/lib/create-dashboard-container/program-list/pipes/check-selected-items.pipes.mjs +23 -0
- package/esm2022/lib/create-dashboard-container/program-list/program-list/program-list.component.mjs +294 -0
- package/esm2022/lib/create-dashboard-container/program-list/program-list.module.mjs +60 -0
- package/esm2022/lib/create-dashboard-container/program-list/services/list-utils.service.mjs +27 -0
- package/esm2022/lib/create-dashboard-container/program-list/services/program-list-api.service.mjs +28 -0
- package/esm2022/lib/create-dashboard-container/responsibility-center/responsibility-center.component.mjs +239 -0
- package/esm2022/lib/create-dashboard-container/risk-categories/risk-categories-config.mjs +2 -0
- package/esm2022/lib/create-dashboard-container/risk-categories/risk-categories.component.mjs +206 -0
- package/esm2022/lib/create-dashboard-container/services/configure-widgets.service.mjs +233 -0
- package/esm2022/lib/create-dashboard-container/services/create-dashboard.service.mjs +222 -0
- package/esm2022/lib/create-dashboard-container/services/pagination.service.mjs +28 -0
- package/esm2022/lib/create-dashboard-container/user-list/user-list.component.mjs +440 -0
- package/esm2022/lib/create-dashboard-container/user-list/user-list.config.mjs +2 -0
- package/esm2022/lib/create-dashboard-container/utils/dashboard-edit.utils.mjs +181 -0
- package/esm2022/lib/create-dashboard.service.mjs +14 -0
- package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.mjs +52 -0
- package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer-config.mjs +2 -0
- package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer.module.mjs +32 -0
- package/esm2022/lib/ui-kit/dialog/dialog-config.mjs +7 -0
- package/esm2022/lib/ui-kit/dialog/dialog-injector.mjs +17 -0
- package/esm2022/lib/ui-kit/dialog/dialog-ref.mjs +11 -0
- package/esm2022/lib/ui-kit/dialog/dialog.component.mjs +96 -0
- package/esm2022/lib/ui-kit/dialog/dialog.module.mjs +20 -0
- package/esm2022/lib/ui-kit/dialog/dialog.service.mjs +56 -0
- package/esm2022/lib/ui-kit/dialog/insertion.directive.mjs +17 -0
- package/esm2022/lib/ui-kit/floating-bar/floating-bar.component.mjs +57 -0
- package/esm2022/lib/ui-kit/floating-bar/floating-bar.module.mjs +32 -0
- package/esm2022/lib/ui-kit/formgroup/click-outside.directive.mjs +30 -0
- package/esm2022/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +29 -0
- package/esm2022/lib/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +34 -0
- package/esm2022/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +14 -0
- package/esm2022/lib/ui-kit/formgroup/cs-select/cs-select.component.mjs +119 -0
- package/esm2022/lib/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +39 -0
- package/esm2022/lib/ui-kit/formgroup/formgroup.module.mjs +55 -0
- package/esm2022/lib/ui-kit/formgroup/pipes/pascal.pipe.mjs +19 -0
- package/esm2022/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +24 -0
- package/esm2022/lib/ui-kit/loaders/loaders.module.mjs +24 -0
- package/esm2022/lib/ui-kit/loaders/table-loader/table-loader.component.mjs +18 -0
- package/esm2022/lib/ui-kit/no-data/no-data.component.mjs +47 -0
- package/esm2022/lib/ui-kit/no-data/no-data.module.mjs +18 -0
- package/esm2022/lib/ui-kit/pagination/pagination.component.mjs +130 -0
- package/esm2022/lib/ui-kit/pagination/pagination.module.mjs +18 -0
- package/esm2022/lib/ui-kit/popover/popover.component.mjs +129 -0
- package/esm2022/lib/ui-kit/popover/popover.directive.mjs +93 -0
- package/esm2022/lib/ui-kit/popover/popover.module.mjs +21 -0
- package/esm2022/lib/ui-kit/popover/popover.service.mjs +23 -0
- package/esm2022/lib/ui-kit/select/cs-option/cs-option.component.mjs +41 -0
- package/esm2022/lib/ui-kit/select/cs-select/cs-select.component.mjs +107 -0
- package/esm2022/lib/ui-kit/select/safe-html.pipe.mjs +21 -0
- package/esm2022/lib/ui-kit/select/select.module.mjs +21 -0
- package/esm2022/lib/ui-kit/services/cs-select.service.mjs +16 -0
- package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.component.mjs +52 -0
- package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.module.mjs +18 -0
- package/esm2022/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.mjs +46 -0
- package/esm2022/lib/ui-kit/snack-bar/snack-bar.module.mjs +18 -0
- package/esm2022/lib/ui-kit/snack-bar/snack-bar.service.mjs +23 -0
- package/esm2022/lib/ui-kit/tooltip/tooltip.directive.mjs +168 -0
- package/esm2022/lib/ui-kit/tooltip/tooltip.module.mjs +18 -0
- package/esm2022/lib/ui-kit/v-loader/loader/loader.component.mjs +24 -0
- package/esm2022/lib/ui-kit/v-loader/loader-inline/loader-inline.component.mjs +24 -0
- package/esm2022/lib/ui-kit/v-loader/v-loader.module.mjs +19 -0
- package/esm2022/public-api.mjs +10 -0
- package/esm2022/vc-create-dashboard.mjs +5 -0
- package/fesm2022/vc-create-dashboard.mjs +319 -331
- package/fesm2022/vc-create-dashboard.mjs.map +1 -1
- package/index.d.ts +5 -0
- package/lib/configurations.d.ts +4 -0
- package/lib/create-dashboard-container/categories/categories-config.d.ts +18 -0
- package/lib/create-dashboard-container/categories/categories.component.d.ts +66 -0
- package/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.d.ts +113 -0
- package/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.d.ts +9 -0
- package/lib/create-dashboard-container/configure-widgets/configure-widgets.module.d.ts +14 -0
- package/lib/create-dashboard-container/constants/assets.constant.d.ts +35 -0
- package/lib/create-dashboard-container/create-dashboard-config.d.ts +18 -0
- package/lib/create-dashboard-container/create-dashboard.component.d.ts +219 -0
- package/lib/create-dashboard-container/create-dashboard.module.d.ts +37 -0
- package/lib/create-dashboard-container/directives/directives.module.d.ts +8 -0
- package/lib/create-dashboard-container/directives/scroll-in-view.directive.d.ts +12 -0
- package/lib/create-dashboard-container/form-group/form-group.component.d.ts +48 -0
- package/lib/create-dashboard-container/frequency/frequency.component.d.ts +39 -0
- package/lib/create-dashboard-container/interfaces/widget-data-model.d.ts +8 -0
- package/lib/create-dashboard-container/pipes/filter.pipe.d.ts +7 -0
- package/lib/create-dashboard-container/pipes/search-program.pipe.d.ts +7 -0
- package/lib/create-dashboard-container/pipes/search.pipe.d.ts +7 -0
- package/lib/create-dashboard-container/pipes/text-count.pipe.d.ts +7 -0
- package/lib/create-dashboard-container/program-list/constant.d.ts +24 -0
- package/lib/create-dashboard-container/program-list/information-block/information-block.component.d.ts +6 -0
- package/lib/create-dashboard-container/program-list/interfaces/list-item.interface.d.ts +5 -0
- package/lib/create-dashboard-container/program-list/list-container/list-container.component.d.ts +9 -0
- package/lib/create-dashboard-container/program-list/pipes/check-selected-items.pipes.d.ts +7 -0
- package/lib/create-dashboard-container/program-list/program-list/program-list.component.d.ts +119 -0
- package/lib/create-dashboard-container/program-list/program-list.module.d.ts +17 -0
- package/lib/create-dashboard-container/program-list/services/list-utils.service.d.ts +7 -0
- package/lib/create-dashboard-container/program-list/services/program-list-api.service.d.ts +12 -0
- package/lib/create-dashboard-container/responsibility-center/responsibility-center.component.d.ts +72 -0
- package/lib/create-dashboard-container/risk-categories/risk-categories-config.d.ts +18 -0
- package/lib/create-dashboard-container/risk-categories/risk-categories.component.d.ts +66 -0
- package/lib/create-dashboard-container/services/configure-widgets.service.d.ts +21 -0
- package/lib/create-dashboard-container/services/create-dashboard.service.d.ts +80 -0
- package/lib/create-dashboard-container/services/pagination.service.d.ts +12 -0
- package/lib/create-dashboard-container/user-list/user-list.component.d.ts +123 -0
- package/lib/create-dashboard-container/user-list/user-list.config.d.ts +13 -0
- package/lib/create-dashboard-container/utils/dashboard-edit.utils.d.ts +16 -0
- package/lib/create-dashboard.service.d.ts +6 -0
- package/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.d.ts +17 -0
- package/lib/ui-kit/dashboard-footer/dashboard-footer-config.d.ts +11 -0
- package/lib/ui-kit/dashboard-footer/dashboard-footer.module.d.ts +10 -0
- package/lib/ui-kit/dialog/dialog-config.d.ts +6 -0
- package/lib/ui-kit/dialog/dialog-injector.d.ts +7 -0
- package/lib/ui-kit/dialog/dialog-ref.d.ts +7 -0
- package/lib/ui-kit/dialog/dialog.component.d.ts +33 -0
- package/lib/ui-kit/dialog/dialog.module.d.ts +9 -0
- package/lib/ui-kit/dialog/dialog.service.d.ts +17 -0
- package/lib/ui-kit/dialog/insertion.directive.d.ts +8 -0
- package/lib/ui-kit/floating-bar/floating-bar.component.d.ts +20 -0
- package/lib/ui-kit/floating-bar/floating-bar.module.d.ts +10 -0
- package/lib/ui-kit/formgroup/click-outside.directive.d.ts +10 -0
- package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +13 -0
- package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +15 -0
- package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +8 -0
- package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts +36 -0
- package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +15 -0
- package/lib/ui-kit/formgroup/formgroup.module.d.ts +17 -0
- package/lib/ui-kit/formgroup/pipes/pascal.pipe.d.ts +7 -0
- package/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.d.ts +7 -0
- package/lib/ui-kit/loaders/loaders.module.d.ts +8 -0
- package/lib/ui-kit/loaders/table-loader/table-loader.component.d.ts +9 -0
- package/lib/ui-kit/no-data/no-data.component.d.ts +19 -0
- package/lib/ui-kit/no-data/no-data.module.d.ts +8 -0
- package/lib/ui-kit/pagination/pagination.component.d.ts +21 -0
- package/lib/ui-kit/pagination/pagination.module.d.ts +8 -0
- package/lib/ui-kit/popover/popover.component.d.ts +28 -0
- package/lib/ui-kit/popover/popover.directive.d.ts +17 -0
- package/lib/ui-kit/popover/popover.module.d.ts +9 -0
- package/lib/ui-kit/popover/popover.service.d.ts +13 -0
- package/lib/ui-kit/select/cs-option/cs-option.component.d.ts +16 -0
- package/lib/ui-kit/select/cs-select/cs-select.component.d.ts +32 -0
- package/lib/ui-kit/select/safe-html.pipe.d.ts +10 -0
- package/lib/ui-kit/select/select.module.d.ts +11 -0
- package/lib/ui-kit/services/cs-select.service.d.ts +7 -0
- package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts +17 -0
- package/lib/ui-kit/smiley-dialog/smiley-dialog.module.d.ts +8 -0
- package/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.d.ts +17 -0
- package/lib/ui-kit/snack-bar/snack-bar.module.d.ts +8 -0
- package/lib/ui-kit/snack-bar/snack-bar.service.d.ts +9 -0
- package/lib/ui-kit/tooltip/tooltip.directive.d.ts +28 -0
- package/lib/ui-kit/tooltip/tooltip.module.d.ts +8 -0
- package/lib/ui-kit/v-loader/loader/loader.component.d.ts +11 -0
- package/lib/ui-kit/v-loader/loader-inline/loader-inline.component.d.ts +11 -0
- package/lib/ui-kit/v-loader/v-loader.module.d.ts +9 -0
- package/package.json +8 -7
- package/public-api.d.ts +3 -0
- package/types/vc-create-dashboard.d.ts +0 -1680
|
@@ -0,0 +1,350 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
+
import { ASSETS } from '../../constants/assets.constant';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../../ui-kit/dialog/dialog-ref";
|
|
5
|
+
import * as i2 from "../../services/configure-widgets.service";
|
|
6
|
+
import * as i3 from "../../../ui-kit/snack-bar/snack-bar.service";
|
|
7
|
+
import * as i4 from "@angular/common";
|
|
8
|
+
import * as i5 from "../../../ui-kit/floating-bar/floating-bar.component";
|
|
9
|
+
import * as i6 from "../../../ui-kit/formgroup/cs-checkbox/cs-checkbox.component";
|
|
10
|
+
import * as i7 from "@angular/forms";
|
|
11
|
+
import * as i8 from "../../../ui-kit/no-data/no-data.component";
|
|
12
|
+
import * as i9 from "../../pipes/search.pipe";
|
|
13
|
+
export class ConfigureWidgetsComponent {
|
|
14
|
+
dialog;
|
|
15
|
+
configureWidgetsService;
|
|
16
|
+
snackBar;
|
|
17
|
+
widgetsDataModified = new EventEmitter();
|
|
18
|
+
closeConfigureWidgets = new EventEmitter();
|
|
19
|
+
checkboxStatus;
|
|
20
|
+
search = '';
|
|
21
|
+
checkedArray = [];
|
|
22
|
+
selectedWidgets = [];
|
|
23
|
+
ASSETS = ASSETS;
|
|
24
|
+
module = 'COMPLIANCE';
|
|
25
|
+
selectedWidgetsData = [];
|
|
26
|
+
displayedWidgets = [];
|
|
27
|
+
showRisk = false;
|
|
28
|
+
showCompliance = false;
|
|
29
|
+
mode = 'CREATE';
|
|
30
|
+
noDataText = 'You have not configured any widgets. Click on the <strong>Configure Widgets</strong> button to begin.';
|
|
31
|
+
selectedWidgetIds = [];
|
|
32
|
+
subResponsibilitiesSelected = false;
|
|
33
|
+
subKeyResponsibilitiesSelected = false;
|
|
34
|
+
showWidgets = true;
|
|
35
|
+
complianceWidgetsDisplayCount = 9;
|
|
36
|
+
riskWidgetsDisplayCount = 9;
|
|
37
|
+
constructor(dialog, configureWidgetsService, snackBar) {
|
|
38
|
+
this.dialog = dialog;
|
|
39
|
+
this.configureWidgetsService = configureWidgetsService;
|
|
40
|
+
this.snackBar = snackBar;
|
|
41
|
+
}
|
|
42
|
+
ngOnChanges() {
|
|
43
|
+
this.selectedWidgets = [];
|
|
44
|
+
if (this.mode === 'EDIT') {
|
|
45
|
+
this.applyEditModeWidgetCatalog();
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
this.applyCreateModeWidgetVisibility();
|
|
49
|
+
this.applySavedWidgetSelection(this.selectedWidgetsData);
|
|
50
|
+
}
|
|
51
|
+
this.module = this.showCompliance ? 'COMPLIANCE' : 'RISK';
|
|
52
|
+
this.setSelectedWidgets();
|
|
53
|
+
}
|
|
54
|
+
/** EDIT: show full widget catalog; check items present in getWidgets widgetArr. */
|
|
55
|
+
applyEditModeWidgetCatalog() {
|
|
56
|
+
this.widgetsList.COMPLIANCE.forEach((ele) => {
|
|
57
|
+
ele.value = false;
|
|
58
|
+
ele.visibility = true;
|
|
59
|
+
(ele.subWidgets ?? []).forEach((sub) => {
|
|
60
|
+
sub.value = false;
|
|
61
|
+
sub.visibility = true;
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
this.complianceWidgetsDisplayCount = this.widgetsList.COMPLIANCE.filter((w) => w.visibility).length;
|
|
65
|
+
this.riskWidgetsDisplayCount = 0;
|
|
66
|
+
this.applySavedWidgetSelection(this.selectedWidgetsData);
|
|
67
|
+
}
|
|
68
|
+
/** CREATE: limit visible tiles to displayedWidgets when provided. */
|
|
69
|
+
applyCreateModeWidgetVisibility() {
|
|
70
|
+
if (!this.displayedWidgets?.length) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
this.setWidgetsVisibilityToFalse();
|
|
74
|
+
this.riskWidgetsDisplayCount = 0;
|
|
75
|
+
this.complianceWidgetsDisplayCount = 0;
|
|
76
|
+
const finalData = [...new Set(this.displayedWidgets)];
|
|
77
|
+
finalData.forEach((element) => {
|
|
78
|
+
this.widgetsList.COMPLIANCE.forEach((ele) => {
|
|
79
|
+
if (ele.id !== element.widget_code) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
ele.visibility = true;
|
|
83
|
+
if (ele.subWidgets.length > 0) {
|
|
84
|
+
const visibleSubCodes = (element.sub_widgets ?? []).map((subwidget) => subwidget.widget_code);
|
|
85
|
+
ele.subWidgets.forEach((subElement, subIndex) => {
|
|
86
|
+
ele.subWidgets[subIndex].visibility = visibleSubCodes.includes(subElement.id);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
this.complianceWidgetsDisplayCount++;
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
applySavedWidgetSelection(savedWidgets) {
|
|
94
|
+
const data = [...new Set(savedWidgets ?? [])];
|
|
95
|
+
data.forEach((element) => {
|
|
96
|
+
if (element?.state && element.state !== 'ACTIVE') {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
this.widgetsList.COMPLIANCE.forEach((ele) => {
|
|
100
|
+
if (ele.id !== element.widget_code) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
ele.value = true;
|
|
104
|
+
if (ele.subWidgets.length > 0 && element.sub_widgets?.length) {
|
|
105
|
+
const activeSubCodes = (element.sub_widgets ?? [])
|
|
106
|
+
.filter((subwidget) => subwidget.state === 'ACTIVE')
|
|
107
|
+
.map((subwidget) => subwidget.widget_code);
|
|
108
|
+
ele.subWidgets.forEach((subElement, subIndex) => {
|
|
109
|
+
ele.subWidgets[subIndex].value = activeSubCodes.includes(subElement.id);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
ngOnInit() { }
|
|
116
|
+
widgetsList = {
|
|
117
|
+
COMPLIANCE: [
|
|
118
|
+
{
|
|
119
|
+
title: 'Overview',
|
|
120
|
+
id: 'overview',
|
|
121
|
+
description: 'Overview shows the performance of responsibilities and Programs.',
|
|
122
|
+
widgetImage: ASSETS.overviewWidget,
|
|
123
|
+
value: false,
|
|
124
|
+
visibility: true,
|
|
125
|
+
module: 'COMPLIANCE',
|
|
126
|
+
subWidgets: [],
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
title: 'Responsibility Calendar',
|
|
130
|
+
id: 'compliance_calendar_flag',
|
|
131
|
+
description: 'The Responsibility Calendar shows the due dates of responsibilities in a calendar format. The responsibilities are color coded to reflect the status of the responsibilities.',
|
|
132
|
+
widgetImage: ASSETS.responsibilityCalenderWidget,
|
|
133
|
+
value: false,
|
|
134
|
+
visibility: true,
|
|
135
|
+
module: 'COMPLIANCE',
|
|
136
|
+
subWidgets: [],
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
title: 'Responsibilities by Assignee',
|
|
140
|
+
id: 'responsibilities_by_assignee',
|
|
141
|
+
description: 'The Responsibilities by Assignee widget shows the performance of responsibilities by users.',
|
|
142
|
+
widgetImage: ASSETS.responsibilitiesByAssignee,
|
|
143
|
+
value: false,
|
|
144
|
+
visibility: true,
|
|
145
|
+
module: 'COMPLIANCE',
|
|
146
|
+
subWidgets: [],
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
title: 'Responsibility Center Overview',
|
|
150
|
+
id: 'responsibility_center_overview_flag',
|
|
151
|
+
description: 'The Responsibility Center Overview shows the performance of responsibilities and Responsibility Centers.',
|
|
152
|
+
widgetImage: ASSETS.responsibilityCenterOverviewWidget,
|
|
153
|
+
value: false,
|
|
154
|
+
visibility: true,
|
|
155
|
+
module: 'COMPLIANCE',
|
|
156
|
+
subWidgets: [],
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
title: 'Responsibilities',
|
|
160
|
+
id: 'my_responsibilities',
|
|
161
|
+
description: 'This widget shows the performance of the responsibilities that you are required to complete, the responsibilities that you are reviewing and the responsibilities that you are overseeing.',
|
|
162
|
+
widgetImage: ASSETS.myResponsibilitiesWidget,
|
|
163
|
+
tabOption: true,
|
|
164
|
+
value: false,
|
|
165
|
+
visibility: true,
|
|
166
|
+
module: 'COMPLIANCE',
|
|
167
|
+
subWidgets: [
|
|
168
|
+
{
|
|
169
|
+
title: 'My Responsibilities',
|
|
170
|
+
id: 'my_responsibility_flag',
|
|
171
|
+
value: false,
|
|
172
|
+
visibility: true,
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
title: 'I’m Reviewing',
|
|
176
|
+
id: 'reviewer_responsibility_flag',
|
|
177
|
+
value: false,
|
|
178
|
+
visibility: true,
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
title: 'I’m Overseeing',
|
|
182
|
+
id: 'cc_responsibility_flag',
|
|
183
|
+
value: false,
|
|
184
|
+
visibility: true,
|
|
185
|
+
},
|
|
186
|
+
],
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
title: 'Key Responsibilities',
|
|
190
|
+
id: 'key_responsibilities',
|
|
191
|
+
description: 'This widget shows the performance of key responsibilities that you are required to complete, that you are reviewing, that you are overseeing and that you have assigned to another person.',
|
|
192
|
+
widgetImage: ASSETS.keyResponsibilitiesWidget,
|
|
193
|
+
tabOption: true,
|
|
194
|
+
value: false,
|
|
195
|
+
visibility: true,
|
|
196
|
+
module: 'COMPLIANCE',
|
|
197
|
+
subWidgets: [
|
|
198
|
+
// {
|
|
199
|
+
// title: 'Overview',
|
|
200
|
+
// id: 'key_responsibilities_overview_flag',
|
|
201
|
+
// value: false,
|
|
202
|
+
// visibility: true,
|
|
203
|
+
// },
|
|
204
|
+
{
|
|
205
|
+
title: 'My Responsibilities',
|
|
206
|
+
id: 'key_my_responsibilities_flag',
|
|
207
|
+
value: false,
|
|
208
|
+
visibility: true,
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
title: 'I’m Reviewing',
|
|
212
|
+
id: 'key_i_am_reviewing_flag',
|
|
213
|
+
value: false,
|
|
214
|
+
visibility: true,
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
title: 'I’m Overseeing',
|
|
218
|
+
id: 'key_i_am_overseeing_flag',
|
|
219
|
+
value: false,
|
|
220
|
+
visibility: true,
|
|
221
|
+
},
|
|
222
|
+
],
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
title: 'Trend Analysis',
|
|
226
|
+
id: 'trend_analysis_flag',
|
|
227
|
+
description: 'The Trend Analysis is a graphical representation of the performance of responsibilities over a period.',
|
|
228
|
+
widgetImage: ASSETS.trendAnalysisWidget,
|
|
229
|
+
value: false,
|
|
230
|
+
visibility: true,
|
|
231
|
+
module: 'COMPLIANCE',
|
|
232
|
+
subWidgets: [],
|
|
233
|
+
},
|
|
234
|
+
],
|
|
235
|
+
};
|
|
236
|
+
selectWidget(event, module, widgetId, subWidgetId) {
|
|
237
|
+
const widgetIndex = this.widgetsList[module].findIndex((ele) => ele.id == widgetId);
|
|
238
|
+
const isSubWidgetAddable = this.selectedWidgets.findIndex((widget) => widget.id === widgetId);
|
|
239
|
+
if (event) {
|
|
240
|
+
if (this.selectedWidgets.length >= 10 &&
|
|
241
|
+
!(subWidgetId && isSubWidgetAddable >= 0)) {
|
|
242
|
+
this.snackBar.show('You cannot add more than 10 widgets.', 'alert');
|
|
243
|
+
this.showWidgets = false;
|
|
244
|
+
setTimeout(() => {
|
|
245
|
+
this.widgetsList[module][widgetIndex].value = false;
|
|
246
|
+
this.showWidgets = true;
|
|
247
|
+
}, 10);
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
this.widgetsList[module][widgetIndex].value = true;
|
|
251
|
+
if (this.widgetsList[module][widgetIndex].subWidgets.length > 0) {
|
|
252
|
+
if (!subWidgetId) {
|
|
253
|
+
this.widgetsList[module][widgetIndex].subWidgets.forEach((ele) => (ele.value = true));
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
const subWidgetIndex = this.widgetsList[module][widgetIndex].subWidgets.findIndex((ele) => ele.id == subWidgetId);
|
|
257
|
+
this.widgetsList[module][widgetIndex].subWidgets[subWidgetIndex].value = true;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
if (this.widgetsList[module][widgetIndex].subWidgets.length > 0) {
|
|
263
|
+
if (!subWidgetId) {
|
|
264
|
+
this.widgetsList[module][widgetIndex].value = false;
|
|
265
|
+
this.widgetsList[module][widgetIndex].subWidgets.forEach((ele) => (ele.value = false));
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
const subWidgetIndex = this.widgetsList[module][widgetIndex].subWidgets.findIndex((ele) => ele.id == subWidgetId);
|
|
269
|
+
this.widgetsList[module][widgetIndex].subWidgets[subWidgetIndex].value = false;
|
|
270
|
+
const isAllWidgetsRemoved = this.widgetsList[module][widgetIndex].subWidgets.every((ele) => ele.value == false);
|
|
271
|
+
if (isAllWidgetsRemoved) {
|
|
272
|
+
this.widgetsList[module][widgetIndex].value = false;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
this.widgetsList[module][widgetIndex].value = false;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
this.setSelectedWidgets();
|
|
281
|
+
}
|
|
282
|
+
setSelectedWidgets() {
|
|
283
|
+
this.selectedWidgets = [];
|
|
284
|
+
this.widgetsList.COMPLIANCE.forEach((ele) => {
|
|
285
|
+
if (ele.value) {
|
|
286
|
+
this.selectedWidgets.push(ele);
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
// this.widgetsList.RISK.forEach((ele: any) => {
|
|
290
|
+
// if (ele.value) {
|
|
291
|
+
// this.selectedWidgets.push(ele);
|
|
292
|
+
// }
|
|
293
|
+
// });
|
|
294
|
+
}
|
|
295
|
+
removeWidget(widget) {
|
|
296
|
+
const widgetIndex = this.widgetsList[widget.module].findIndex((ele) => ele.id == widget.id);
|
|
297
|
+
this.widgetsList[widget.module][widgetIndex].value = false;
|
|
298
|
+
if (this.widgetsList[widget.module][widgetIndex].subWidgets.length > 0) {
|
|
299
|
+
this.widgetsList[widget.module][widgetIndex].subWidgets.forEach((ele) => (ele.value = false));
|
|
300
|
+
}
|
|
301
|
+
this.setSelectedWidgets();
|
|
302
|
+
}
|
|
303
|
+
onNextClick() {
|
|
304
|
+
this.widgetsDataModified.emit(this.selectedWidgets);
|
|
305
|
+
}
|
|
306
|
+
closeConfigureDashboard() {
|
|
307
|
+
this.selectedWidgets = [];
|
|
308
|
+
this.dialog.close();
|
|
309
|
+
this.closeConfigureWidgets.emit(false);
|
|
310
|
+
}
|
|
311
|
+
setWidgetsVisibilityToFalse() {
|
|
312
|
+
this.widgetsList.COMPLIANCE.forEach((ele) => {
|
|
313
|
+
ele.visibility = false;
|
|
314
|
+
if (ele.subWidgets.length > 0) {
|
|
315
|
+
ele.subWidgets.forEach((subElement) => {
|
|
316
|
+
subElement.visibility = false;
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
});
|
|
320
|
+
// this.widgetsList.RISK.forEach((ele: any) => {
|
|
321
|
+
// ele.visibility = false;
|
|
322
|
+
// if (ele.subWidgets.length > 0) {
|
|
323
|
+
// ele.subWidgets.forEach((subElement: any) => {
|
|
324
|
+
// subElement.visibility = false;
|
|
325
|
+
// });
|
|
326
|
+
// }
|
|
327
|
+
// });
|
|
328
|
+
}
|
|
329
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsComponent, deps: [{ token: i1.DialogRef }, { token: i2.ConfigureWidgetsService }, { token: i3.SnackBarService }], target: i0.ɵɵFactoryTarget.Component });
|
|
330
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ConfigureWidgetsComponent, selector: "app-configure-widgets", inputs: { selectedWidgetsData: "selectedWidgetsData", displayedWidgets: "displayedWidgets", showRisk: "showRisk", showCompliance: "showCompliance", mode: "mode" }, outputs: { widgetsDataModified: "widgetsDataModified", closeConfigureWidgets: "closeConfigureWidgets" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"configure-widgets vx-d-block\" *ngIf=\"showWidgets\">\n <div\n class=\"configure-widgets-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"configure-widgets-title vx-fs-14 vx-fw-500 vx-label-txt\">\n Configure Widgets\n </div>\n <button\n class=\"configure-widgets-back vx-fs-14 vx-fw-500 vx-label-txt vx-m-0 vx-p-0 vx-d-inline-flex vx-align-center\"\n (click)=\"closeConfigureDashboard()\"\n >\n <i class=\"icons vx-fs-16\"></i> Back\n </button>\n </div>\n <div class=\"configure-widgets-body\">\n <div class=\"configure-widgets-tab\">\n <ul>\n <li\n [class.active]=\"module === 'COMPLIANCE'\"\n *ngIf=\"showCompliance\"\n (click)=\"module = 'COMPLIANCE'\"\n >\n <!-- <button>\n Compliance<span>{{ complianceWidgetsDisplayCount }}</span>\n </button> -->\n </li>\n <li [class.active]=\"module === 'RISK'\" *ngIf=\"showRisk\">\n <button (click)=\"module = 'RISK'\">\n Risks<span>{{ riskWidgetsDisplayCount }}</span>\n </button>\n </li>\n </ul>\n </div>\n <div class=\"configure-widgets-search vx-mb-2\">\n <i class=\"icons\"></i>\n <input type=\"text\" placeholder=\"Search widgets\" [(ngModel)]=\"search\" />\n </div>\n <div\n class=\"configure-widgets-list vx-d-flex vx-flex-wrap\"\n *ngIf=\"(widgetsList[module] | search : search).length !== 0\"\n >\n <ng-container\n *ngFor=\"let widget of widgetsList[module] | search : search\"\n >\n <div class=\"configure-widgets-item\" *ngIf=\"widget?.visibility\">\n <label class=\"block\">\n <input\n type=\"checkbox\"\n [checked]=\"widget.value\"\n (change)=\"selectWidget($event.target.checked, module, widget.id)\"\n />\n <div class=\"check-icon\">\n <svg\n class=\"check\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"check-circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"check-circle\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"configure-widgets-item-head\">\n <h4\n class=\"configure-widgets-item-title\"\n [innerHTML]=\"widget?.title\"\n ></h4>\n <p\n class=\"configure-widgets-item-description\"\n [innerHTML]=\"widget?.description\"\n ></p>\n <button\n *ngIf=\"!widget.value\"\n class=\"configure-widgets-item-button add\"\n (click)=\"selectWidget(true, module, widget.id)\"\n >\n + ADD\n </button>\n <button\n *ngIf=\"widget.value\"\n class=\"configure-widgets-item-button remove\"\n (click)=\"selectWidget(false, module, widget.id)\"\n >\n - Remove\n </button>\n </div>\n <div class=\"configure-widgets-item-body\">\n <div class=\"image-wrapper\">\n <img\n [ngSrc]=\"widget?.widgetImage\"\n alt=\"\"\n width=\"790\"\n height=\"613\"\n />\n </div>\n <div\n class=\"floating-option vx-d-flex\"\n *ngIf=\"widget?.subWidgets?.length > 0\"\n >\n <ng-container *ngFor=\"let subWidget of widget.subWidgets\">\n <app-cs-checkbox\n *ngIf=\"subWidget.visibility\"\n (ngValueChange)=\"\n selectWidget($event, module, widget.id, subWidget.id)\n \"\n [ngValue]=\"subWidget.value\"\n >{{ subWidget.title }}\n </app-cs-checkbox>\n </ng-container>\n </div>\n </div>\n </label>\n </div>\n </ng-container>\n\n <!-- No Data Image -->\n </div>\n <app-no-data\n *ngIf=\"(widgetsList[module] | search : search).length === 0\"\n [noDataImage]=\"ASSETS.configure_widget\"\n [noDataText]=\"'No data to display'\"\n >\n </app-no-data>\n\n <floating-bar\n (submitEvent)=\"onNextClick()\"\n (cancelEvent)=\"closeConfigureDashboard()\"\n [selectedData]=\"selectedWidgets\"\n (deleteEvent)=\"removeWidget($event)\"\n ></floating-bar>\n </div>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .configure-widgets{width:100vw;height:100vh;background:#fff}@media screen and (max-width: 1280px){::ng-deep .configure-widgets{width:100vw;margin-left:0}}::ng-deep .configure-widgets-head{height:2.75rem;background:#fbfbfb;border-bottom:1px solid #f1f1f1}::ng-deep .configure-widgets-back{border:none;outline:none;background:transparent}::ng-deep .configure-widgets-back i{margin-right:6px}::ng-deep .configure-widgets-body{padding:2rem;position:relative;height:calc(100vh - 2.75rem)}::ng-deep .configure-widgets-body app-no-data .no-data-wrapper{height:calc(100vh - 13.875rem)!important}::ng-deep .configure-widgets-body .floating-option{position:absolute;right:0;bottom:0;left:0;background:#fff;padding:16px 12px;z-index:3;box-shadow:0 -6px 12px #1e5dd31a}::ng-deep .configure-widgets-body .floating-option app-cs-checkbox{display:flex}::ng-deep .configure-widgets-body .floating-option app-cs-checkbox label span.value{color:#161b2f!important;font-size:11px!important;line-height:16px!important;margin-left:8px!important;white-space:nowrap}::ng-deep .configure-widgets-body .floating-option app-cs-checkbox+app-cs-checkbox{margin-left:20px}::ng-deep .configure-widgets-tab ul{padding:0;margin:0 0 8px;display:flex;border-bottom:1px solid #dbdbdb}::ng-deep .configure-widgets-tab ul li{list-style:none;display:flex;width:auto;padding:0}::ng-deep .configure-widgets-tab ul li button{color:#747576;display:inline-block;font-size:11px;line-height:16px;font-weight:600;text-transform:uppercase;border:none;outline:none;background:transparent;padding:0 0 8px;position:relative;margin:0}::ng-deep .configure-widgets-tab ul li button span{display:inline-block;margin-left:8px;color:#74757680}::ng-deep .configure-widgets-tab ul li+li{padding-left:28px}::ng-deep .configure-widgets-tab ul li.active button{color:#1e5dd3}::ng-deep .configure-widgets-tab ul li.active button span{color:#1e5dd3}::ng-deep .configure-widgets-tab ul li.active button:after{content:\"\";right:0;bottom:0;left:0;height:2px;border-radius:2px;position:absolute;background-color:#1e5dd3}::ng-deep .configure-widgets-search{position:relative;margin-bottom:24px}::ng-deep .configure-widgets-search i{position:absolute;top:16px;left:16px;color:#dbdbdb}::ng-deep .configure-widgets-search input{border:1px solid #dbdbdb;border-radius:4px;height:44px;padding:10px 180px 10px 40px;width:100%;font-size:14px;color:#747576;outline:none}::ng-deep .configure-widgets-search input:focus{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .configure-widgets-list{margin:0 -1rem .5rem;height:calc(100vh - 15.5rem);overflow:hidden;overflow-y:auto}::ng-deep .configure-widgets-list::-webkit-scrollbar-track{background-color:transparent}::ng-deep .configure-widgets-item{width:50%;padding:0 16px;margin-bottom:32px}::ng-deep .configure-widgets-item .block{background:#f8f8f8;border-radius:4px;padding:16px 44px 4px;cursor:pointer;position:relative;display:block}::ng-deep .configure-widgets-item .block .check-icon{position:absolute;top:8px;left:0;height:36px;width:36px;border-radius:0 4px 4px 0;display:flex;justify-content:center;align-items:center;background:#34aa44;opacity:0;pointer-events:none}::ng-deep .configure-widgets-item .block .check-icon .check{display:none;width:27px;height:27px;background:transparent;border-radius:50%;stroke-width:4;stroke:#fff;stroke-miterlimit:10;box-shadow:inset 0 0 #fff;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}::ng-deep .configure-widgets-item .block .check-icon .check-circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:4;stroke-miterlimit:10;stroke:#fff;fill:none;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}::ng-deep .configure-widgets-item .block .check-icon .check-check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}::ng-deep .configure-widgets-item .block input[type=checkbox]{opacity:0;position:absolute;top:0;left:0;width:100%;height:100%;margin:0;z-index:1;cursor:pointer}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked+.check-icon{opacity:1}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked+.check-icon .check{display:block}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked~.configure-widgets-item-body .image-wrapper{opacity:.5}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked~.configure-widgets-item-head button.add{display:none}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked~.configure-widgets-item-head button.remove{display:flex}::ng-deep .configure-widgets-item-head{padding:0 0 16px;position:relative}::ng-deep .configure-widgets-item-title{margin:0 0 12px;font-size:14px;line-height:20px;text-transform:uppercase;color:#161b2f;max-width:calc(100% - 72px);font-weight:500}::ng-deep .configure-widgets-item-description{font-size:12px;line-height:20px;color:#747576;margin:0;font-weight:400;height:60px}::ng-deep .configure-widgets-item-button{width:72px;height:28px;cursor:pointer;display:flex;position:absolute;top:0;right:-24px;font-size:11px;font-weight:500;border:none;outline:none;justify-content:center;align-items:center;border-radius:2px;text-transform:uppercase;padding:0;margin:0}::ng-deep .configure-widgets-item-button.add{color:#fff;background:#1e5dd3}::ng-deep .configure-widgets-item-button.remove{background:#fff;border:1px solid #f1f1f1;color:#c7381b;display:none}::ng-deep .configure-widgets-item-body{overflow:hidden;height:220px;border:1px solid #f1f1f1;border-bottom:none;border-radius:2px 2px 0 0;box-shadow:0 -4px 8px #161b2f10}::ng-deep .configure-widgets-item-body .image-wrapper{box-shadow:0 -6px 12px #0000001a;border-radius:2px;overflow:hidden;background:#fff}::ng-deep .configure-widgets-item-body img{width:100%}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #fff}}.disabled{pointer-events:none;opacity:.7}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.FloatingBarComponent, selector: "floating-bar", inputs: ["text", "frequencyMessage", "singleCategory", "selectedData"], outputs: ["cancelEvent", "submitEvent", "deleteEvent"] }, { kind: "component", type: i6.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "buttonIcon", "iconClass"], outputs: ["buttonAction"] }, { kind: "directive", type: i4.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "src", "srcset"] }, { kind: "pipe", type: i9.SearchPipe, name: "search" }] });
|
|
331
|
+
}
|
|
332
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsComponent, decorators: [{
|
|
333
|
+
type: Component,
|
|
334
|
+
args: [{ selector: 'app-configure-widgets', template: "<div class=\"configure-widgets vx-d-block\" *ngIf=\"showWidgets\">\n <div\n class=\"configure-widgets-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\n >\n <div class=\"configure-widgets-title vx-fs-14 vx-fw-500 vx-label-txt\">\n Configure Widgets\n </div>\n <button\n class=\"configure-widgets-back vx-fs-14 vx-fw-500 vx-label-txt vx-m-0 vx-p-0 vx-d-inline-flex vx-align-center\"\n (click)=\"closeConfigureDashboard()\"\n >\n <i class=\"icons vx-fs-16\"></i> Back\n </button>\n </div>\n <div class=\"configure-widgets-body\">\n <div class=\"configure-widgets-tab\">\n <ul>\n <li\n [class.active]=\"module === 'COMPLIANCE'\"\n *ngIf=\"showCompliance\"\n (click)=\"module = 'COMPLIANCE'\"\n >\n <!-- <button>\n Compliance<span>{{ complianceWidgetsDisplayCount }}</span>\n </button> -->\n </li>\n <li [class.active]=\"module === 'RISK'\" *ngIf=\"showRisk\">\n <button (click)=\"module = 'RISK'\">\n Risks<span>{{ riskWidgetsDisplayCount }}</span>\n </button>\n </li>\n </ul>\n </div>\n <div class=\"configure-widgets-search vx-mb-2\">\n <i class=\"icons\"></i>\n <input type=\"text\" placeholder=\"Search widgets\" [(ngModel)]=\"search\" />\n </div>\n <div\n class=\"configure-widgets-list vx-d-flex vx-flex-wrap\"\n *ngIf=\"(widgetsList[module] | search : search).length !== 0\"\n >\n <ng-container\n *ngFor=\"let widget of widgetsList[module] | search : search\"\n >\n <div class=\"configure-widgets-item\" *ngIf=\"widget?.visibility\">\n <label class=\"block\">\n <input\n type=\"checkbox\"\n [checked]=\"widget.value\"\n (change)=\"selectWidget($event.target.checked, module, widget.id)\"\n />\n <div class=\"check-icon\">\n <svg\n class=\"check\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 52 52\"\n >\n <circle\n class=\"check-circle\"\n cx=\"26\"\n cy=\"26\"\n r=\"25\"\n fill=\"none\"\n />\n <path\n class=\"check-circle\"\n fill=\"none\"\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\n />\n </svg>\n </div>\n <div class=\"configure-widgets-item-head\">\n <h4\n class=\"configure-widgets-item-title\"\n [innerHTML]=\"widget?.title\"\n ></h4>\n <p\n class=\"configure-widgets-item-description\"\n [innerHTML]=\"widget?.description\"\n ></p>\n <button\n *ngIf=\"!widget.value\"\n class=\"configure-widgets-item-button add\"\n (click)=\"selectWidget(true, module, widget.id)\"\n >\n + ADD\n </button>\n <button\n *ngIf=\"widget.value\"\n class=\"configure-widgets-item-button remove\"\n (click)=\"selectWidget(false, module, widget.id)\"\n >\n - Remove\n </button>\n </div>\n <div class=\"configure-widgets-item-body\">\n <div class=\"image-wrapper\">\n <img\n [ngSrc]=\"widget?.widgetImage\"\n alt=\"\"\n width=\"790\"\n height=\"613\"\n />\n </div>\n <div\n class=\"floating-option vx-d-flex\"\n *ngIf=\"widget?.subWidgets?.length > 0\"\n >\n <ng-container *ngFor=\"let subWidget of widget.subWidgets\">\n <app-cs-checkbox\n *ngIf=\"subWidget.visibility\"\n (ngValueChange)=\"\n selectWidget($event, module, widget.id, subWidget.id)\n \"\n [ngValue]=\"subWidget.value\"\n >{{ subWidget.title }}\n </app-cs-checkbox>\n </ng-container>\n </div>\n </div>\n </label>\n </div>\n </ng-container>\n\n <!-- No Data Image -->\n </div>\n <app-no-data\n *ngIf=\"(widgetsList[module] | search : search).length === 0\"\n [noDataImage]=\"ASSETS.configure_widget\"\n [noDataText]=\"'No data to display'\"\n >\n </app-no-data>\n\n <floating-bar\n (submitEvent)=\"onNextClick()\"\n (cancelEvent)=\"closeConfigureDashboard()\"\n [selectedData]=\"selectedWidgets\"\n (deleteEvent)=\"removeWidget($event)\"\n ></floating-bar>\n </div>\n</div>\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .configure-widgets{width:100vw;height:100vh;background:#fff}@media screen and (max-width: 1280px){::ng-deep .configure-widgets{width:100vw;margin-left:0}}::ng-deep .configure-widgets-head{height:2.75rem;background:#fbfbfb;border-bottom:1px solid #f1f1f1}::ng-deep .configure-widgets-back{border:none;outline:none;background:transparent}::ng-deep .configure-widgets-back i{margin-right:6px}::ng-deep .configure-widgets-body{padding:2rem;position:relative;height:calc(100vh - 2.75rem)}::ng-deep .configure-widgets-body app-no-data .no-data-wrapper{height:calc(100vh - 13.875rem)!important}::ng-deep .configure-widgets-body .floating-option{position:absolute;right:0;bottom:0;left:0;background:#fff;padding:16px 12px;z-index:3;box-shadow:0 -6px 12px #1e5dd31a}::ng-deep .configure-widgets-body .floating-option app-cs-checkbox{display:flex}::ng-deep .configure-widgets-body .floating-option app-cs-checkbox label span.value{color:#161b2f!important;font-size:11px!important;line-height:16px!important;margin-left:8px!important;white-space:nowrap}::ng-deep .configure-widgets-body .floating-option app-cs-checkbox+app-cs-checkbox{margin-left:20px}::ng-deep .configure-widgets-tab ul{padding:0;margin:0 0 8px;display:flex;border-bottom:1px solid #dbdbdb}::ng-deep .configure-widgets-tab ul li{list-style:none;display:flex;width:auto;padding:0}::ng-deep .configure-widgets-tab ul li button{color:#747576;display:inline-block;font-size:11px;line-height:16px;font-weight:600;text-transform:uppercase;border:none;outline:none;background:transparent;padding:0 0 8px;position:relative;margin:0}::ng-deep .configure-widgets-tab ul li button span{display:inline-block;margin-left:8px;color:#74757680}::ng-deep .configure-widgets-tab ul li+li{padding-left:28px}::ng-deep .configure-widgets-tab ul li.active button{color:#1e5dd3}::ng-deep .configure-widgets-tab ul li.active button span{color:#1e5dd3}::ng-deep .configure-widgets-tab ul li.active button:after{content:\"\";right:0;bottom:0;left:0;height:2px;border-radius:2px;position:absolute;background-color:#1e5dd3}::ng-deep .configure-widgets-search{position:relative;margin-bottom:24px}::ng-deep .configure-widgets-search i{position:absolute;top:16px;left:16px;color:#dbdbdb}::ng-deep .configure-widgets-search input{border:1px solid #dbdbdb;border-radius:4px;height:44px;padding:10px 180px 10px 40px;width:100%;font-size:14px;color:#747576;outline:none}::ng-deep .configure-widgets-search input:focus{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .configure-widgets-list{margin:0 -1rem .5rem;height:calc(100vh - 15.5rem);overflow:hidden;overflow-y:auto}::ng-deep .configure-widgets-list::-webkit-scrollbar-track{background-color:transparent}::ng-deep .configure-widgets-item{width:50%;padding:0 16px;margin-bottom:32px}::ng-deep .configure-widgets-item .block{background:#f8f8f8;border-radius:4px;padding:16px 44px 4px;cursor:pointer;position:relative;display:block}::ng-deep .configure-widgets-item .block .check-icon{position:absolute;top:8px;left:0;height:36px;width:36px;border-radius:0 4px 4px 0;display:flex;justify-content:center;align-items:center;background:#34aa44;opacity:0;pointer-events:none}::ng-deep .configure-widgets-item .block .check-icon .check{display:none;width:27px;height:27px;background:transparent;border-radius:50%;stroke-width:4;stroke:#fff;stroke-miterlimit:10;box-shadow:inset 0 0 #fff;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}::ng-deep .configure-widgets-item .block .check-icon .check-circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:4;stroke-miterlimit:10;stroke:#fff;fill:none;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}::ng-deep .configure-widgets-item .block .check-icon .check-check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}::ng-deep .configure-widgets-item .block input[type=checkbox]{opacity:0;position:absolute;top:0;left:0;width:100%;height:100%;margin:0;z-index:1;cursor:pointer}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked+.check-icon{opacity:1}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked+.check-icon .check{display:block}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked~.configure-widgets-item-body .image-wrapper{opacity:.5}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked~.configure-widgets-item-head button.add{display:none}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked~.configure-widgets-item-head button.remove{display:flex}::ng-deep .configure-widgets-item-head{padding:0 0 16px;position:relative}::ng-deep .configure-widgets-item-title{margin:0 0 12px;font-size:14px;line-height:20px;text-transform:uppercase;color:#161b2f;max-width:calc(100% - 72px);font-weight:500}::ng-deep .configure-widgets-item-description{font-size:12px;line-height:20px;color:#747576;margin:0;font-weight:400;height:60px}::ng-deep .configure-widgets-item-button{width:72px;height:28px;cursor:pointer;display:flex;position:absolute;top:0;right:-24px;font-size:11px;font-weight:500;border:none;outline:none;justify-content:center;align-items:center;border-radius:2px;text-transform:uppercase;padding:0;margin:0}::ng-deep .configure-widgets-item-button.add{color:#fff;background:#1e5dd3}::ng-deep .configure-widgets-item-button.remove{background:#fff;border:1px solid #f1f1f1;color:#c7381b;display:none}::ng-deep .configure-widgets-item-body{overflow:hidden;height:220px;border:1px solid #f1f1f1;border-bottom:none;border-radius:2px 2px 0 0;box-shadow:0 -4px 8px #161b2f10}::ng-deep .configure-widgets-item-body .image-wrapper{box-shadow:0 -6px 12px #0000001a;border-radius:2px;overflow:hidden;background:#fff}::ng-deep .configure-widgets-item-body img{width:100%}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #fff}}.disabled{pointer-events:none;opacity:.7}\n"] }]
|
|
335
|
+
}], ctorParameters: function () { return [{ type: i1.DialogRef }, { type: i2.ConfigureWidgetsService }, { type: i3.SnackBarService }]; }, propDecorators: { widgetsDataModified: [{
|
|
336
|
+
type: Output
|
|
337
|
+
}], closeConfigureWidgets: [{
|
|
338
|
+
type: Output
|
|
339
|
+
}], selectedWidgetsData: [{
|
|
340
|
+
type: Input
|
|
341
|
+
}], displayedWidgets: [{
|
|
342
|
+
type: Input
|
|
343
|
+
}], showRisk: [{
|
|
344
|
+
type: Input
|
|
345
|
+
}], showCompliance: [{
|
|
346
|
+
type: Input
|
|
347
|
+
}], mode: [{
|
|
348
|
+
type: Input
|
|
349
|
+
}] } });
|
|
350
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlLXdpZGdldHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL2NyZWF0ZS1kYXNoYm9hcmQtY29udGFpbmVyL2NvbmZpZ3VyZS13aWRnZXRzL2NvbmZpZ3VyZS13aWRnZXRzL2NvbmZpZ3VyZS13aWRnZXRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9jb25maWd1cmUtd2lkZ2V0cy9jb25maWd1cmUtd2lkZ2V0cy9jb25maWd1cmUtd2lkZ2V0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7Ozs7Ozs7QUFPekQsTUFBTSxPQUFPLHlCQUF5QjtJQXlCMUI7SUFDRDtJQUNDO0lBMUJBLG1CQUFtQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzVELHFCQUFxQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3hFLGNBQWMsQ0FBTztJQUNyQixNQUFNLEdBQVcsRUFBRSxDQUFDO0lBQ3BCLFlBQVksR0FBNkMsRUFBRSxDQUFDO0lBQzVELGVBQWUsR0FBMkIsRUFBRSxDQUFDO0lBQzdDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDaEIsTUFBTSxHQUEwQixZQUFZLENBQUM7SUFDcEMsbUJBQW1CLEdBQVEsRUFBRSxDQUFDO0lBQzlCLGdCQUFnQixHQUFRLEVBQUUsQ0FBQztJQUMzQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsSUFBSSxHQUFHLFFBQVEsQ0FBQztJQUN6QixVQUFVLEdBQ1IsdUdBQXVHLENBQUM7SUFFMUcsaUJBQWlCLEdBQVEsRUFBRSxDQUFDO0lBQzVCLDJCQUEyQixHQUFZLEtBQUssQ0FBQztJQUM3Qyw4QkFBOEIsR0FBWSxLQUFLLENBQUM7SUFDaEQsV0FBVyxHQUFHLElBQUksQ0FBQztJQUNuQiw2QkFBNkIsR0FBRyxDQUFDLENBQUM7SUFDbEMsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDO0lBRTVCLFlBQ1UsTUFBaUIsRUFDbEIsdUJBQWdELEVBQy9DLFFBQXlCO1FBRnpCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDbEIsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUMvQyxhQUFRLEdBQVIsUUFBUSxDQUFpQjtJQUNoQyxDQUFDO0lBRUosV0FBVztRQUNULElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBRTFCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7WUFDeEIsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7U0FDbkM7YUFBTTtZQUNMLElBQUksQ0FBQywrQkFBK0IsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUMxRDtRQUVELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDMUQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELG1GQUFtRjtJQUMzRSwwQkFBMEI7UUFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDL0MsR0FBRyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbEIsR0FBRyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDdEIsQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUMxQyxHQUFHLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztnQkFDbEIsR0FBRyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDeEIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQ3JFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUNwQixDQUFDLE1BQU0sQ0FBQztRQUNULElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxxRUFBcUU7SUFDN0QsK0JBQStCO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFO1lBQ2xDLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLDZCQUE2QixHQUFHLENBQUMsQ0FBQztRQUN2QyxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztRQUN0RCxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUU7WUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQy9DLElBQUksR0FBRyxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsV0FBVyxFQUFFO29CQUNsQyxPQUFPO2lCQUNSO2dCQUNELEdBQUcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2dCQUN0QixJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDN0IsTUFBTSxlQUFlLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FDckQsQ0FBQyxTQUFjLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQzFDLENBQUM7b0JBQ0YsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFlLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO3dCQUMzRCxHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUM1RCxVQUFVLENBQUMsRUFBRSxDQUNkLENBQUM7b0JBQ0osQ0FBQyxDQUFDLENBQUM7aUJBQ0o7Z0JBQ0QsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7WUFDdkMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyx5QkFBeUIsQ0FBQyxZQUFtQjtRQUNuRCxNQUFNLElBQUksR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQVksRUFBRSxFQUFFO1lBQzVCLElBQUksT0FBTyxFQUFFLEtBQUssSUFBSSxPQUFPLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRTtnQkFDaEQsT0FBTzthQUNSO1lBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQy9DLElBQUksR0FBRyxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsV0FBVyxFQUFFO29CQUNsQyxPQUFPO2lCQUNSO2dCQUNELEdBQUcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO2dCQUNqQixJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRTtvQkFDNUQsTUFBTSxjQUFjLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQzt5QkFDL0MsTUFBTSxDQUFDLENBQUMsU0FBYyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQzt5QkFDeEQsR0FBRyxDQUFDLENBQUMsU0FBYyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7b0JBQ2xELEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBZSxFQUFFLFFBQWdCLEVBQUUsRUFBRTt3QkFDM0QsR0FBRyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FDdEQsVUFBVSxDQUFDLEVBQUUsQ0FDZCxDQUFDO29CQUNKLENBQUMsQ0FBQyxDQUFDO2lCQUNKO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRLEtBQVUsQ0FBQztJQUVuQixXQUFXLEdBQUc7UUFDWixVQUFVLEVBQUU7WUFDVjtnQkFDRSxLQUFLLEVBQUUsVUFBVTtnQkFDakIsRUFBRSxFQUFFLFVBQVU7Z0JBQ2QsV0FBVyxFQUNULGtFQUFrRTtnQkFDcEUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxjQUFjO2dCQUNsQyxLQUFLLEVBQUUsS0FBSztnQkFDWixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsTUFBTSxFQUFFLFlBQVk7Z0JBQ3BCLFVBQVUsRUFBRSxFQUFFO2FBQ2Y7WUFDRDtnQkFDRSxLQUFLLEVBQUUseUJBQXlCO2dCQUNoQyxFQUFFLEVBQUUsMEJBQTBCO2dCQUM5QixXQUFXLEVBQ1QsK0tBQStLO2dCQUNqTCxXQUFXLEVBQUUsTUFBTSxDQUFDLDRCQUE0QjtnQkFDaEQsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLE1BQU0sRUFBRSxZQUFZO2dCQUNwQixVQUFVLEVBQUUsRUFBRTthQUNmO1lBRUQ7Z0JBQ0UsS0FBSyxFQUFFLDhCQUE4QjtnQkFDckMsRUFBRSxFQUFFLDhCQUE4QjtnQkFDbEMsV0FBVyxFQUNULDZGQUE2RjtnQkFDL0YsV0FBVyxFQUFFLE1BQU0sQ0FBQywwQkFBMEI7Z0JBQzlDLEtBQUssRUFBRSxLQUFLO2dCQUNaLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixNQUFNLEVBQUUsWUFBWTtnQkFDcEIsVUFBVSxFQUFFLEVBQUU7YUFDZjtZQUNEO2dCQUNFLEtBQUssRUFBRSxnQ0FBZ0M7Z0JBQ3ZDLEVBQUUsRUFBRSxxQ0FBcUM7Z0JBQ3pDLFdBQVcsRUFDVCwwR0FBMEc7Z0JBQzVHLFdBQVcsRUFBRSxNQUFNLENBQUMsa0NBQWtDO2dCQUN0RCxLQUFLLEVBQUUsS0FBSztnQkFDWixVQUFVLEVBQUUsSUFBSTtnQkFDaEIsTUFBTSxFQUFFLFlBQVk7Z0JBQ3BCLFVBQVUsRUFBRSxFQUFFO2FBQ2Y7WUFDRDtnQkFDRSxLQUFLLEVBQUUsa0JBQWtCO2dCQUN6QixFQUFFLEVBQUUscUJBQXFCO2dCQUN6QixXQUFXLEVBQ1QsNExBQTRMO2dCQUM5TCxXQUFXLEVBQUUsTUFBTSxDQUFDLHdCQUF3QjtnQkFDNUMsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLE1BQU0sRUFBRSxZQUFZO2dCQUNwQixVQUFVLEVBQUU7b0JBQ1Y7d0JBQ0UsS0FBSyxFQUFFLHFCQUFxQjt3QkFDNUIsRUFBRSxFQUFFLHdCQUF3Qjt3QkFDNUIsS0FBSyxFQUFFLEtBQUs7d0JBQ1osVUFBVSxFQUFFLElBQUk7cUJBQ2pCO29CQUNEO3dCQUNFLEtBQUssRUFBRSxlQUFlO3dCQUN0QixFQUFFLEVBQUUsOEJBQThCO3dCQUNsQyxLQUFLLEVBQUUsS0FBSzt3QkFDWixVQUFVLEVBQUUsSUFBSTtxQkFDakI7b0JBQ0Q7d0JBQ0UsS0FBSyxFQUFFLGdCQUFnQjt3QkFDdkIsRUFBRSxFQUFFLHdCQUF3Qjt3QkFDNUIsS0FBSyxFQUFFLEtBQUs7d0JBQ1osVUFBVSxFQUFFLElBQUk7cUJBQ2pCO2lCQUNGO2FBQ0Y7WUFDRDtnQkFDRSxLQUFLLEVBQUUsc0JBQXNCO2dCQUM3QixFQUFFLEVBQUUsc0JBQXNCO2dCQUMxQixXQUFXLEVBQ1QsNExBQTRMO2dCQUM5TCxXQUFXLEVBQUUsTUFBTSxDQUFDLHlCQUF5QjtnQkFDN0MsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLE1BQU0sRUFBRSxZQUFZO2dCQUNwQixVQUFVLEVBQUU7b0JBQ1YsSUFBSTtvQkFDSix1QkFBdUI7b0JBQ3ZCLDhDQUE4QztvQkFDOUMsa0JBQWtCO29CQUNsQixzQkFBc0I7b0JBQ3RCLEtBQUs7b0JBQ0w7d0JBQ0UsS0FBSyxFQUFFLHFCQUFxQjt3QkFDNUIsRUFBRSxFQUFFLDhCQUE4Qjt3QkFDbEMsS0FBSyxFQUFFLEtBQUs7d0JBQ1osVUFBVSxFQUFFLElBQUk7cUJBQ2pCO29CQUNEO3dCQUNFLEtBQUssRUFBRSxlQUFlO3dCQUN0QixFQUFFLEVBQUUseUJBQXlCO3dCQUM3QixLQUFLLEVBQUUsS0FBSzt3QkFDWixVQUFVLEVBQUUsSUFBSTtxQkFDakI7b0JBQ0Q7d0JBQ0UsS0FBSyxFQUFFLGdCQUFnQjt3QkFDdkIsRUFBRSxFQUFFLDBCQUEwQjt3QkFDOUIsS0FBSyxFQUFFLEtBQUs7d0JBQ1osVUFBVSxFQUFFLElBQUk7cUJBQ2pCO2lCQUNGO2FBQ0Y7WUFDRDtnQkFDRSxLQUFLLEVBQUUsZ0JBQWdCO2dCQUN2QixFQUFFLEVBQUUscUJBQXFCO2dCQUN6QixXQUFXLEVBQ1Qsd0dBQXdHO2dCQUMxRyxXQUFXLEVBQUUsTUFBTSxDQUFDLG1CQUFtQjtnQkFDdkMsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLE1BQU0sRUFBRSxZQUFZO2dCQUNwQixVQUFVLEVBQUUsRUFBRTthQUNmO1NBQ0Y7S0FDRixDQUFDO0lBRUYsWUFBWSxDQUNWLEtBQVUsRUFDVixNQUFvQixFQUNwQixRQUFnQixFQUNoQixXQUFvQjtRQUVwQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FDcEQsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksUUFBUSxDQUNqQyxDQUFDO1FBQ0YsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FDdkQsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUN4QyxDQUFDO1FBQ0YsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUNFLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxJQUFJLEVBQUU7Z0JBQ2pDLENBQUMsQ0FBQyxXQUFXLElBQUksa0JBQWtCLElBQUksQ0FBQyxDQUFDLEVBQ3pDO2dCQUNBLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHNDQUFzQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNwRSxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztnQkFDekIsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7b0JBQ3BELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2dCQUMxQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ1AsT0FBTzthQUNSO1lBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ25ELElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDL0QsSUFBSSxDQUFDLFdBQVcsRUFBRTtvQkFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUN0RCxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUM1QixDQUFDO2lCQUNIO3FCQUFNO29CQUNMLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQzdDLFdBQVcsQ0FDWixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksV0FBVyxDQUFDLENBQUM7b0JBQzVELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsVUFBVSxDQUM5QyxjQUFjLENBQ2YsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO2lCQUNoQjthQUNGO1NBQ0Y7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDL0QsSUFBSSxDQUFDLFdBQVcsRUFBRTtvQkFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO29CQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQ3RELENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQ2xDLENBQUM7aUJBQ0g7cUJBQU07b0JBQ0wsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FDN0MsV0FBVyxDQUNaLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxXQUFXLENBQUMsQ0FBQztvQkFDNUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxVQUFVLENBQzlDLGNBQWMsQ0FDZixDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7b0JBRWhCLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FDbEQsV0FBVyxDQUNaLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsQ0FBQztvQkFDckQsSUFBSSxtQkFBbUIsRUFBRTt3QkFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO3FCQUNyRDtpQkFDRjthQUNGO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQzthQUNyRDtTQUNGO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUNELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUMvQyxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDaEM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILGdEQUFnRDtRQUNoRCxxQkFBcUI7UUFDckIsc0NBQXNDO1FBQ3RDLE1BQU07UUFDTixNQUFNO0lBQ1IsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFvQjtRQUMvQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQzNELENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQ2xDLENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQzNELElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdEUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FDN0QsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FDbEMsQ0FBQztTQUNIO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsdUJBQXVCO1FBQ3JCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsMkJBQTJCO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQy9DLEdBQUcsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUM3QixHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQWUsRUFBRSxFQUFFO29CQUN6QyxVQUFVLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztnQkFDaEMsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsZ0RBQWdEO1FBQ2hELDRCQUE0QjtRQUM1QixxQ0FBcUM7UUFDckMsb0RBQW9EO1FBQ3BELHVDQUF1QztRQUN2QyxVQUFVO1FBQ1YsTUFBTTtRQUNOLE1BQU07SUFDUixDQUFDO3dHQWpYVSx5QkFBeUI7NEZBQXpCLHlCQUF5QiwrVkNyQnRDLHUzSkE2SUE7OzRGRHhIYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsdUJBQXVCO29LQUt2QixtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQU9FLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmZpZ3VyZVdpZGdldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uZmlndXJlLXdpZGdldHMuc2VydmljZSc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcmV0cnkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyB3aWRnZXREYXRhTW9kZWwgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3dpZGdldC1kYXRhLW1vZGVsJztcbmltcG9ydCB7IERpYWxvZ1JlZiB9IGZyb20gJy4uLy4uLy4uL3VpLWtpdC9kaWFsb2cvZGlhbG9nLXJlZic7XG5pbXBvcnQgeyB3aWRnZXRDb25maWcgfSBmcm9tICcuL3dpZGdldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XG5pbXBvcnQgeyBBU1NFVFMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvYXNzZXRzLmNvbnN0YW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNvbmZpZ3VyZS13aWRnZXRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpZ3VyZS13aWRnZXRzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29uZmlndXJlLXdpZGdldHMuY29tcG9uZW50Lmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlndXJlV2lkZ2V0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQE91dHB1dCgpIHdpZGdldHNEYXRhTW9kaWZpZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY2xvc2VDb25maWd1cmVXaWRnZXRzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgY2hlY2tib3hTdGF0dXMhOiBhbnk7XG4gIHNlYXJjaDogc3RyaW5nID0gJyc7XG4gIGNoZWNrZWRBcnJheTogQXJyYXk8eyBpbmRleDogbnVtYmVyOyBzdGF0dXM6IG51bWJlciB9PiA9IFtdO1xuICBzZWxlY3RlZFdpZGdldHM6IEFycmF5PHdpZGdldERhdGFNb2RlbD4gPSBbXTtcbiAgQVNTRVRTID0gQVNTRVRTO1xuICBtb2R1bGU6ICdDT01QTElBTkNFJyB8ICdSSVNLJyA9ICdDT01QTElBTkNFJztcbiAgQElucHV0KCkgc2VsZWN0ZWRXaWRnZXRzRGF0YTogYW55ID0gW107XG4gIEBJbnB1dCgpIGRpc3BsYXllZFdpZGdldHM6IGFueSA9IFtdO1xuICBASW5wdXQoKSBzaG93UmlzayA9IGZhbHNlO1xuICBASW5wdXQoKSBzaG93Q29tcGxpYW5jZSA9IGZhbHNlO1xuICBASW5wdXQoKSBtb2RlID0gJ0NSRUFURSc7XG4gIG5vRGF0YVRleHQgPVxuICAgICdZb3UgaGF2ZSBub3QgY29uZmlndXJlZCBhbnkgd2lkZ2V0cy4gQ2xpY2sgb24gdGhlIDxzdHJvbmc+Q29uZmlndXJlIFdpZGdldHM8L3N0cm9uZz4gYnV0dG9uIHRvIGJlZ2luLic7XG5cbiAgc2VsZWN0ZWRXaWRnZXRJZHM6IGFueSA9IFtdO1xuICBzdWJSZXNwb25zaWJpbGl0aWVzU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgc3ViS2V5UmVzcG9uc2liaWxpdGllc1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIHNob3dXaWRnZXRzID0gdHJ1ZTtcbiAgY29tcGxpYW5jZVdpZGdldHNEaXNwbGF5Q291bnQgPSA5O1xuICByaXNrV2lkZ2V0c0Rpc3BsYXlDb3VudCA9IDk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkaWFsb2c6IERpYWxvZ1JlZixcbiAgICBwdWJsaWMgY29uZmlndXJlV2lkZ2V0c1NlcnZpY2U6IENvbmZpZ3VyZVdpZGdldHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgc25hY2tCYXI6IFNuYWNrQmFyU2VydmljZSxcbiAgKSB7fVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRXaWRnZXRzID0gW107XG5cbiAgICBpZiAodGhpcy5tb2RlID09PSAnRURJVCcpIHtcbiAgICAgIHRoaXMuYXBwbHlFZGl0TW9kZVdpZGdldENhdGFsb2coKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hcHBseUNyZWF0ZU1vZGVXaWRnZXRWaXNpYmlsaXR5KCk7XG4gICAgICB0aGlzLmFwcGx5U2F2ZWRXaWRnZXRTZWxlY3Rpb24odGhpcy5zZWxlY3RlZFdpZGdldHNEYXRhKTtcbiAgICB9XG5cbiAgICB0aGlzLm1vZHVsZSA9IHRoaXMuc2hvd0NvbXBsaWFuY2UgPyAnQ09NUExJQU5DRScgOiAnUklTSyc7XG4gICAgdGhpcy5zZXRTZWxlY3RlZFdpZGdldHMoKTtcbiAgfVxuXG4gIC8qKiBFRElUOiBzaG93IGZ1bGwgd2lkZ2V0IGNhdGFsb2c7IGNoZWNrIGl0ZW1zIHByZXNlbnQgaW4gZ2V0V2lkZ2V0cyB3aWRnZXRBcnIuICovXG4gIHByaXZhdGUgYXBwbHlFZGl0TW9kZVdpZGdldENhdGFsb2coKTogdm9pZCB7XG4gICAgdGhpcy53aWRnZXRzTGlzdC5DT01QTElBTkNFLmZvckVhY2goKGVsZTogYW55KSA9PiB7XG4gICAgICBlbGUudmFsdWUgPSBmYWxzZTtcbiAgICAgIGVsZS52aXNpYmlsaXR5ID0gdHJ1ZTtcbiAgICAgIChlbGUuc3ViV2lkZ2V0cyA/PyBbXSkuZm9yRWFjaCgoc3ViOiBhbnkpID0+IHtcbiAgICAgICAgc3ViLnZhbHVlID0gZmFsc2U7XG4gICAgICAgIHN1Yi52aXNpYmlsaXR5ID0gdHJ1ZTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHRoaXMuY29tcGxpYW5jZVdpZGdldHNEaXNwbGF5Q291bnQgPSB0aGlzLndpZGdldHNMaXN0LkNPTVBMSUFOQ0UuZmlsdGVyKFxuICAgICAgKHcpID0+IHcudmlzaWJpbGl0eSxcbiAgICApLmxlbmd0aDtcbiAgICB0aGlzLnJpc2tXaWRnZXRzRGlzcGxheUNvdW50ID0gMDtcbiAgICB0aGlzLmFwcGx5U2F2ZWRXaWRnZXRTZWxlY3Rpb24odGhpcy5zZWxlY3RlZFdpZGdldHNEYXRhKTtcbiAgfVxuXG4gIC8qKiBDUkVBVEU6IGxpbWl0IHZpc2libGUgdGlsZXMgdG8gZGlzcGxheWVkV2lkZ2V0cyB3aGVuIHByb3ZpZGVkLiAqL1xuICBwcml2YXRlIGFwcGx5Q3JlYXRlTW9kZVdpZGdldFZpc2liaWxpdHkoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc3BsYXllZFdpZGdldHM/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNldFdpZGdldHNWaXNpYmlsaXR5VG9GYWxzZSgpO1xuICAgIHRoaXMucmlza1dpZGdldHNEaXNwbGF5Q291bnQgPSAwO1xuICAgIHRoaXMuY29tcGxpYW5jZVdpZGdldHNEaXNwbGF5Q291bnQgPSAwO1xuICAgIGNvbnN0IGZpbmFsRGF0YSA9IFsuLi5uZXcgU2V0KHRoaXMuZGlzcGxheWVkV2lkZ2V0cyldO1xuICAgIGZpbmFsRGF0YS5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgIHRoaXMud2lkZ2V0c0xpc3QuQ09NUExJQU5DRS5mb3JFYWNoKChlbGU6IGFueSkgPT4ge1xuICAgICAgICBpZiAoZWxlLmlkICE9PSBlbGVtZW50LndpZGdldF9jb2RlKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGVsZS52aXNpYmlsaXR5ID0gdHJ1ZTtcbiAgICAgICAgaWYgKGVsZS5zdWJXaWRnZXRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBjb25zdCB2aXNpYmxlU3ViQ29kZXMgPSAoZWxlbWVudC5zdWJfd2lkZ2V0cyA/PyBbXSkubWFwKFxuICAgICAgICAgICAgKHN1YndpZGdldDogYW55KSA9PiBzdWJ3aWRnZXQud2lkZ2V0X2NvZGUsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBlbGUuc3ViV2lkZ2V0cy5mb3JFYWNoKChzdWJFbGVtZW50OiBhbnksIHN1YkluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgIGVsZS5zdWJXaWRnZXRzW3N1YkluZGV4XS52aXNpYmlsaXR5ID0gdmlzaWJsZVN1YkNvZGVzLmluY2x1ZGVzKFxuICAgICAgICAgICAgICBzdWJFbGVtZW50LmlkLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbXBsaWFuY2VXaWRnZXRzRGlzcGxheUNvdW50Kys7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTYXZlZFdpZGdldFNlbGVjdGlvbihzYXZlZFdpZGdldHM6IGFueVtdKTogdm9pZCB7XG4gICAgY29uc3QgZGF0YSA9IFsuLi5uZXcgU2V0KHNhdmVkV2lkZ2V0cyA/PyBbXSldO1xuICAgIGRhdGEuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICBpZiAoZWxlbWVudD8uc3RhdGUgJiYgZWxlbWVudC5zdGF0ZSAhPT0gJ0FDVElWRScpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy53aWRnZXRzTGlzdC5DT01QTElBTkNFLmZvckVhY2goKGVsZTogYW55KSA9PiB7XG4gICAgICAgIGlmIChlbGUuaWQgIT09IGVsZW1lbnQud2lkZ2V0X2NvZGUpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZWxlLnZhbHVlID0gdHJ1ZTtcbiAgICAgICAgaWYgKGVsZS5zdWJXaWRnZXRzLmxlbmd0aCA+IDAgJiYgZWxlbWVudC5zdWJfd2lkZ2V0cz8ubGVuZ3RoKSB7XG4gICAgICAgICAgY29uc3QgYWN0aXZlU3ViQ29kZXMgPSAoZWxlbWVudC5zdWJfd2lkZ2V0cyA/PyBbXSlcbiAgICAgICAgICAgIC5maWx0ZXIoKHN1YndpZGdldDogYW55KSA9PiBzdWJ3aWRnZXQuc3RhdGUgPT09ICdBQ1RJVkUnKVxuICAgICAgICAgICAgLm1hcCgoc3Vid2lkZ2V0OiBhbnkpID0+IHN1YndpZGdldC53aWRnZXRfY29kZSk7XG4gICAgICAgICAgZWxlLnN1YldpZGdldHMuZm9yRWFjaCgoc3ViRWxlbWVudDogYW55LCBzdWJJbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICBlbGUuc3ViV2lkZ2V0c1tzdWJJbmRleF0udmFsdWUgPSBhY3RpdmVTdWJDb2Rlcy5pbmNsdWRlcyhcbiAgICAgICAgICAgICAgc3ViRWxlbWVudC5pZCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIHdpZGdldHNMaXN0ID0ge1xuICAgIENPTVBMSUFOQ0U6IFtcbiAgICAgIHtcbiAgICAgICAgdGl0bGU6ICdPdmVydmlldycsXG4gICAgICAgIGlkOiAnb3ZlcnZpZXcnLFxuICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAnT3ZlcnZpZXcgc2hvd3MgdGhlIHBlcmZvcm1hbmNlIG9mIHJlc3BvbnNpYmlsaXRpZXMgYW5kIFByb2dyYW1zLicsXG4gICAgICAgIHdpZGdldEltYWdlOiBBU1NFVFMub3ZlcnZpZXdXaWRnZXQsXG4gICAgICAgIHZhbHVlOiBmYWxzZSxcbiAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcbiAgICAgICAgbW9kdWxlOiAnQ09NUExJQU5DRScsXG4gICAgICAgIHN1YldpZGdldHM6IFtdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdGl0bGU6ICdSZXNwb25zaWJpbGl0eSBDYWxlbmRhcicsXG4gICAgICAgIGlkOiAnY29tcGxpYW5jZV9jYWxlbmRhcl9mbGFnJyxcbiAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgJ1RoZSBSZXNwb25zaWJpbGl0eSBDYWxlbmRhciBzaG93cyB0aGUgZHVlIGRhdGVzIG9mIHJlc3BvbnNpYmlsaXRpZXMgaW4gYSBjYWxlbmRhciBmb3JtYXQuIFRoZSByZXNwb25zaWJpbGl0aWVzIGFyZSBjb2xvciBjb2RlZCB0byByZWZsZWN0IHRoZSBzdGF0dXMgb2YgdGhlIHJlc3BvbnNpYmlsaXRpZXMuJyxcbiAgICAgICAgd2lkZ2V0SW1hZ2U6IEFTU0VUUy5yZXNwb25zaWJpbGl0eUNhbGVuZGVyV2lkZ2V0LFxuICAgICAgICB2YWx1ZTogZmFsc2UsXG4gICAgICAgIHZpc2liaWxpdHk6IHRydWUsXG4gICAgICAgIG1vZHVsZTogJ0NPTVBMSUFOQ0UnLFxuICAgICAgICBzdWJXaWRnZXRzOiBbXSxcbiAgICAgIH0sXG5cbiAgICAgIHtcbiAgICAgICAgdGl0bGU6ICdSZXNwb25zaWJpbGl0aWVzIGJ5IEFzc2lnbmVlJyxcbiAgICAgICAgaWQ6ICdyZXNwb25zaWJpbGl0aWVzX2J5X2Fzc2lnbmVlJyxcbiAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgJ1RoZSBSZXNwb25zaWJpbGl0aWVzIGJ5IEFzc2lnbmVlIHdpZGdldCBzaG93cyB0aGUgcGVyZm9ybWFuY2Ugb2YgcmVzcG9uc2liaWxpdGllcyBieSB1c2Vycy4nLFxuICAgICAgICB3aWRnZXRJbWFnZTogQVNTRVRTLnJlc3BvbnNpYmlsaXRpZXNCeUFzc2lnbmVlLFxuICAgICAgICB2YWx1ZTogZmFsc2UsXG4gICAgICAgIHZpc2liaWxpdHk6IHRydWUsXG4gICAgICAgIG1vZHVsZTogJ0NPTVBMSUFOQ0UnLFxuICAgICAgICBzdWJXaWRnZXRzOiBbXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRpdGxlOiAnUmVzcG9uc2liaWxpdHkgQ2VudGVyIE92ZXJ2aWV3JyxcbiAgICAgICAgaWQ6ICdyZXNwb25zaWJpbGl0eV9jZW50ZXJfb3ZlcnZpZXdfZmxhZycsXG4gICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICdUaGUgUmVzcG9uc2liaWxpdHkgQ2VudGVyIE92ZXJ2aWV3IHNob3dzIHRoZSBwZXJmb3JtYW5jZSBvZiByZXNwb25zaWJpbGl0aWVzIGFuZCBSZXNwb25zaWJpbGl0eSBDZW50ZXJzLicsXG4gICAgICAgIHdpZGdldEltYWdlOiBBU1NFVFMucmVzcG9uc2liaWxpdHlDZW50ZXJPdmVydmlld1dpZGdldCxcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxuICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxuICAgICAgICBtb2R1bGU6ICdDT01QTElBTkNFJyxcbiAgICAgICAgc3ViV2lkZ2V0czogW10sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0aXRsZTogJ1Jlc3BvbnNpYmlsaXRpZXMnLFxuICAgICAgICBpZDogJ215X3Jlc3BvbnNpYmlsaXRpZXMnLFxuICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAnVGhpcyB3aWRnZXQgc2hvd3MgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSByZXNwb25zaWJpbGl0aWVzIHRoYXQgeW91IGFyZSByZXF1aXJlZCB0byBjb21wbGV0ZSwgdGhlIHJlc3BvbnNpYmlsaXRpZXMgdGhhdCB5b3UgYXJlIHJldmlld2luZyBhbmQgdGhlIHJlc3BvbnNpYmlsaXRpZXMgdGhhdCB5b3UgYXJlIG92ZXJzZWVpbmcuJyxcbiAgICAgICAgd2lkZ2V0SW1hZ2U6IEFTU0VUUy5teVJlc3BvbnNpYmlsaXRpZXNXaWRnZXQsXG4gICAgICAgIHRhYk9wdGlvbjogdHJ1ZSxcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxuICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxuICAgICAgICBtb2R1bGU6ICdDT01QTElBTkNFJyxcbiAgICAgICAgc3ViV2lkZ2V0czogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRpdGxlOiAnTXkgUmVzcG9uc2liaWxpdGllcycsXG4gICAgICAgICAgICBpZDogJ215X3Jlc3BvbnNpYmlsaXR5X2ZsYWcnLFxuICAgICAgICAgICAgdmFsdWU6IGZhbHNlLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRpdGxlOiAnSeKAmW0gUmV2aWV3aW5nJyxcbiAgICAgICAgICAgIGlkOiAncmV2aWV3ZXJfcmVzcG9uc2liaWxpdHlfZmxhZycsXG4gICAgICAgICAgICB2YWx1ZTogZmFsc2UsXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGl0bGU6ICdJ4oCZbSBPdmVyc2VlaW5nJyxcbiAgICAgICAgICAgIGlkOiAnY2NfcmVzcG9uc2liaWxpdHlfZmxhZycsXG4gICAgICAgICAgICB2YWx1ZTogZmFsc2UsXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0aXRsZTogJ0tleSBSZXNwb25zaWJpbGl0aWVzJyxcbiAgICAgICAgaWQ6ICdrZXlfcmVzcG9uc2liaWxpdGllcycsXG4gICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICdUaGlzIHdpZGdldCBzaG93cyB0aGUgcGVyZm9ybWFuY2Ugb2Yga2V5IHJlc3BvbnNpYmlsaXRpZXMgdGhhdCB5b3UgYXJlIHJlcXVpcmVkIHRvIGNvbXBsZXRlLCB0aGF0IHlvdSBhcmUgcmV2aWV3aW5nLCB0aGF0IHlvdSBhcmUgb3ZlcnNlZWluZyBhbmQgdGhhdCB5b3UgaGF2ZSBhc3NpZ25lZCB0byBhbm90aGVyIHBlcnNvbi4nLFxuICAgICAgICB3aWRnZXRJbWFnZTogQVNTRVRTLmtleVJlc3BvbnNpYmlsaXRpZXNXaWRnZXQsXG4gICAgICAgIHRhYk9wdGlvbjogdHJ1ZSxcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxuICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxuICAgICAgICBtb2R1bGU6ICdDT01QTElBTkNFJyxcbiAgICAgICAgc3ViV2lkZ2V0czogW1xuICAgICAgICAgIC8vIHtcbiAgICAgICAgICAvLyAgIHRpdGxlOiAnT3ZlcnZpZXcnLFxuICAgICAgICAgIC8vICAgaWQ6ICdrZXlfcmVzcG9uc2liaWxpdGllc19vdmVydmlld19mbGFnJyxcbiAgICAgICAgICAvLyAgIHZhbHVlOiBmYWxzZSxcbiAgICAgICAgICAvLyAgIHZpc2liaWxpdHk6IHRydWUsXG4gICAgICAgICAgLy8gfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogJ015IFJlc3BvbnNpYmlsaXRpZXMnLFxuICAgICAgICAgICAgaWQ6ICdrZXlfbXlfcmVzcG9uc2liaWxpdGllc19mbGFnJyxcbiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogJ0nigJltIFJldmlld2luZycsXG4gICAgICAgICAgICBpZDogJ2tleV9pX2FtX3Jldmlld2luZ19mbGFnJyxcbiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0aXRsZTogJ0nigJltIE92ZXJzZWVpbmcnLFxuICAgICAgICAgICAgaWQ6ICdrZXlfaV9hbV9vdmVyc2VlaW5nX2ZsYWcnLFxuICAgICAgICAgICAgdmFsdWU6IGZhbHNlLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdGl0bGU6ICdUcmVuZCBBbmFseXNpcycsXG4gICAgICAgIGlkOiAndHJlbmRfYW5hbHlzaXNfZmxhZycsXG4gICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICdUaGUgVHJlbmQgQW5hbHlzaXMgaXMgYSBncmFwaGljYWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIHBlcmZvcm1hbmNlIG9mIHJlc3BvbnNpYmlsaXRpZXMgb3ZlciBhIHBlcmlvZC4nLFxuICAgICAgICB3aWRnZXRJbWFnZTogQVNTRVRTLnRyZW5kQW5hbHlzaXNXaWRnZXQsXG4gICAgICAgIHZhbHVlOiBmYWxzZSxcbiAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcbiAgICAgICAgbW9kdWxlOiAnQ09NUExJQU5DRScsXG4gICAgICAgIHN1YldpZGdldHM6IFtdLFxuICAgICAgfSxcbiAgICBdLFxuICB9O1xuXG4gIHNlbGVjdFdpZGdldChcbiAgICBldmVudDogYW55LFxuICAgIG1vZHVsZTogJ0NPTVBMSUFOQ0UnLFxuICAgIHdpZGdldElkOiBzdHJpbmcsXG4gICAgc3ViV2lkZ2V0SWQ/OiBzdHJpbmcsXG4gICkge1xuICAgIGNvbnN0IHdpZGdldEluZGV4ID0gdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdLmZpbmRJbmRleChcbiAgICAgIChlbGU6IGFueSkgPT4gZWxlLmlkID09IHdpZGdldElkLFxuICAgICk7XG4gICAgY29uc3QgaXNTdWJXaWRnZXRBZGRhYmxlID0gdGhpcy5zZWxlY3RlZFdpZGdldHMuZmluZEluZGV4KFxuICAgICAgKHdpZGdldDogYW55KSA9PiB3aWRnZXQuaWQgPT09IHdpZGdldElkLFxuICAgICk7XG4gICAgaWYgKGV2ZW50KSB7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRXaWRnZXRzLmxlbmd0aCA+PSAxMCAmJlxuICAgICAgICAhKHN1YldpZGdldElkICYmIGlzU3ViV2lkZ2V0QWRkYWJsZSA+PSAwKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuc25hY2tCYXIuc2hvdygnWW91IGNhbm5vdCBhZGQgbW9yZSB0aGFuIDEwIHdpZGdldHMuJywgJ2FsZXJ0Jyk7XG4gICAgICAgIHRoaXMuc2hvd1dpZGdldHMgPSBmYWxzZTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdW3dpZGdldEluZGV4XS52YWx1ZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuc2hvd1dpZGdldHMgPSB0cnVlO1xuICAgICAgICB9LCAxMCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMud2lkZ2V0c0xpc3RbbW9kdWxlXVt3aWRnZXRJbmRleF0udmFsdWUgPSB0cnVlO1xuICAgICAgaWYgKHRoaXMud2lkZ2V0c0xpc3RbbW9kdWxlXVt3aWRnZXRJbmRleF0uc3ViV2lkZ2V0cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGlmICghc3ViV2lkZ2V0SWQpIHtcbiAgICAgICAgICB0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bd2lkZ2V0SW5kZXhdLnN1YldpZGdldHMuZm9yRWFjaChcbiAgICAgICAgICAgIChlbGUpID0+IChlbGUudmFsdWUgPSB0cnVlKSxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHN1YldpZGdldEluZGV4ID0gdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdW1xuICAgICAgICAgICAgd2lkZ2V0SW5kZXhcbiAgICAgICAgICBdLnN1YldpZGdldHMuZmluZEluZGV4KChlbGU6IGFueSkgPT4gZWxlLmlkID09IHN1YldpZGdldElkKTtcbiAgICAgICAgICB0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bd2lkZ2V0SW5kZXhdLnN1YldpZGdldHNbXG4gICAgICAgICAgICBzdWJXaWRnZXRJbmRleFxuICAgICAgICAgIF0udmFsdWUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bd2lkZ2V0SW5kZXhdLnN1YldpZGdldHMubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAoIXN1YldpZGdldElkKSB7XG4gICAgICAgICAgdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdW3dpZGdldEluZGV4XS52YWx1ZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMud2lkZ2V0c0xpc3RbbW9kdWxlXVt3aWRnZXRJbmRleF0uc3ViV2lkZ2V0cy5mb3JFYWNoKFxuICAgICAgICAgICAgKGVsZTogYW55KSA9PiAoZWxlLnZhbHVlID0gZmFsc2UpLFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3Qgc3ViV2lkZ2V0SW5kZXggPSB0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bXG4gICAgICAgICAgICB3aWRnZXRJbmRleFxuICAgICAgICAgIF0uc3ViV2lkZ2V0cy5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGUuaWQgPT0gc3ViV2lkZ2V0SWQpO1xuICAgICAgICAgIHRoaXMud2lkZ2V0c0xpc3RbbW9kdWxlXVt3aWRnZXRJbmRleF0uc3ViV2lkZ2V0c1tcbiAgICAgICAgICAgIHN1YldpZGdldEluZGV4XG4gICAgICAgICAgXS52YWx1ZSA9IGZhbHNlO1xuXG4gICAgICAgICAgY29uc3QgaXNBbGxXaWRnZXRzUmVtb3ZlZCA9IHRoaXMud2lkZ2V0c0xpc3RbbW9kdWxlXVtcbiAgICAgICAgICAgIHdpZGdldEluZGV4XG4gICAgICAgICAgXS5zdWJXaWRnZXRzLmV2ZXJ5KChlbGU6IGFueSkgPT4gZWxlLnZhbHVlID09IGZhbHNlKTtcbiAgICAgICAgICBpZiAoaXNBbGxXaWRnZXRzUmVtb3ZlZCkge1xuICAgICAgICAgICAgdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdW3dpZGdldEluZGV4XS52YWx1ZSA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdW3dpZGdldEluZGV4XS52YWx1ZSA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnNldFNlbGVjdGVkV2lkZ2V0cygpO1xuICB9XG4gIHNldFNlbGVjdGVkV2lkZ2V0cygpIHtcbiAgICB0aGlzLnNlbGVjdGVkV2lkZ2V0cyA9IFtdO1xuICAgIHRoaXMud2lkZ2V0c0xpc3QuQ09NUExJQU5DRS5mb3JFYWNoKChlbGU6IGFueSkgPT4ge1xuICAgICAgaWYgKGVsZS52YWx1ZSkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkV2lkZ2V0cy5wdXNoKGVsZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgLy8gdGhpcy53aWRnZXRzTGlzdC5SSVNLLmZvckVhY2goKGVsZTogYW55KSA9PiB7XG4gICAgLy8gICBpZiAoZWxlLnZhbHVlKSB7XG4gICAgLy8gICAgIHRoaXMuc2VsZWN0ZWRXaWRnZXRzLnB1c2goZWxlKTtcbiAgICAvLyAgIH1cbiAgICAvLyB9KTtcbiAgfVxuXG4gIHJlbW92ZVdpZGdldCh3aWRnZXQ6IHdpZGdldENvbmZpZykge1xuICAgIGNvbnN0IHdpZGdldEluZGV4ID0gdGhpcy53aWRnZXRzTGlzdFt3aWRnZXQubW9kdWxlXS5maW5kSW5kZXgoXG4gICAgICAoZWxlOiBhbnkpID0+IGVsZS5pZCA9PSB3aWRnZXQuaWQsXG4gICAgKTtcbiAgICB0aGlzLndpZGdldHNMaXN0W3dpZGdldC5tb2R1bGVdW3dpZGdldEluZGV4XS52YWx1ZSA9IGZhbHNlO1xuICAgIGlmICh0aGlzLndpZGdldHNMaXN0W3dpZGdldC5tb2R1bGVdW3dpZGdldEluZGV4XS5zdWJXaWRnZXRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMud2lkZ2V0c0xpc3Rbd2lkZ2V0Lm1vZHVsZV1bd2lkZ2V0SW5kZXhdLnN1YldpZGdldHMuZm9yRWFjaChcbiAgICAgICAgKGVsZTogYW55KSA9PiAoZWxlLnZhbHVlID0gZmFsc2UpLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5zZXRTZWxlY3RlZFdpZGdldHMoKTtcbiAgfVxuXG4gIG9uTmV4dENsaWNrKCkge1xuICAgIHRoaXMud2lkZ2V0c0RhdGFNb2RpZmllZC5lbWl0KHRoaXMuc2VsZWN0ZWRXaWRnZXRzKTtcbiAgfVxuXG4gIGNsb3NlQ29uZmlndXJlRGFzaGJvYXJkKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRXaWRnZXRzID0gW107XG4gICAgdGhpcy5kaWFsb2cuY2xvc2UoKTtcbiAgICB0aGlzLmNsb3NlQ29uZmlndXJlV2lkZ2V0cy5lbWl0KGZhbHNlKTtcbiAgfVxuXG4gIHNldFdpZGdldHNWaXNpYmlsaXR5VG9GYWxzZSgpIHtcbiAgICB0aGlzLndpZGdldHNMaXN0LkNPTVBMSUFOQ0UuZm9yRWFjaCgoZWxlOiBhbnkpID0+IHtcbiAgICAgIGVsZS52aXNpYmlsaXR5ID0gZmFsc2U7XG4gICAgICBpZiAoZWxlLnN1YldpZGdldHMubGVuZ3RoID4gMCkge1xuICAgICAgICBlbGUuc3ViV2lkZ2V0cy5mb3JFYWNoKChzdWJFbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgICBzdWJFbGVtZW50LnZpc2liaWxpdHkgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgLy8gdGhpcy53aWRnZXRzTGlzdC5SSVNLLmZvckVhY2goKGVsZTogYW55KSA9PiB7XG4gICAgLy8gICBlbGUudmlzaWJpbGl0eSA9IGZhbHNlO1xuICAgIC8vICAgaWYgKGVsZS5zdWJXaWRnZXRzLmxlbmd0aCA+IDApIHtcbiAgICAvLyAgICAgZWxlLnN1YldpZGdldHMuZm9yRWFjaCgoc3ViRWxlbWVudDogYW55KSA9PiB7XG4gICAgLy8gICAgICAgc3ViRWxlbWVudC52aXNpYmlsaXR5ID0gZmFsc2U7XG4gICAgLy8gICAgIH0pO1xuICAgIC8vICAgfVxuICAgIC8vIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29uZmlndXJlLXdpZGdldHMgdngtZC1ibG9ja1wiICpuZ0lmPVwic2hvd1dpZGdldHNcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiY29uZmlndXJlLXdpZGdldHMtaGVhZCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1wbC00IHZ4LXByLTRcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImNvbmZpZ3VyZS13aWRnZXRzLXRpdGxlIHZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5cbiAgICAgIENvbmZpZ3VyZSBXaWRnZXRzXG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJjb25maWd1cmUtd2lkZ2V0cy1iYWNrIHZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtbS0wIHZ4LXAtMCB2eC1kLWlubGluZS1mbGV4IHZ4LWFsaWduLWNlbnRlclwiXG4gICAgICAoY2xpY2spPVwiY2xvc2VDb25maWd1cmVEYXNoYm9hcmQoKVwiXG4gICAgPlxuICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xNlwiPiYjeGU5MWQ7PC9pPiBCYWNrXG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY29uZmlndXJlLXdpZGdldHMtYm9keVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb25maWd1cmUtd2lkZ2V0cy10YWJcIj5cbiAgICAgIDx1bD5cbiAgICAgICAgPGxpXG4gICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJtb2R1bGUgPT09ICdDT01QTElBTkNFJ1wiXG4gICAgICAgICAgKm5nSWY9XCJzaG93Q29tcGxpYW5jZVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm1vZHVsZSA9ICdDT01QTElBTkNFJ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8IS0tIDxidXR0b24+XG4gICAgICAgICAgICBDb21wbGlhbmNlPHNwYW4+e3sgY29tcGxpYW5jZVdpZGdldHNEaXNwbGF5Q291bnQgfX08L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+IC0tPlxuICAgICAgICA8L2xpPlxuICAgICAgICA8bGkgW2NsYXNzLmFjdGl2ZV09XCJtb2R1bGUgPT09ICdSSVNLJ1wiICpuZ0lmPVwic2hvd1Jpc2tcIj5cbiAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJtb2R1bGUgPSAnUklTSydcIj5cbiAgICAgICAgICAgIFJpc2tzPHNwYW4+e3sgcmlza1dpZGdldHNEaXNwbGF5Q291bnQgfX08L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbGk+XG4gICAgICA8L3VsPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb25maWd1cmUtd2lkZ2V0cy1zZWFyY2ggdngtbWItMlwiPlxuICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGI7PC9pPlxuICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJTZWFyY2ggd2lkZ2V0c1wiIFsobmdNb2RlbCldPVwic2VhcmNoXCIgLz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImNvbmZpZ3VyZS13aWRnZXRzLWxpc3QgdngtZC1mbGV4IHZ4LWZsZXgtd3JhcFwiXG4gICAgICAqbmdJZj1cIih3aWRnZXRzTGlzdFttb2R1bGVdIHwgc2VhcmNoIDogc2VhcmNoKS5sZW5ndGggIT09IDBcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nRm9yPVwibGV0IHdpZGdldCBvZiB3aWRnZXRzTGlzdFttb2R1bGVdIHwgc2VhcmNoIDogc2VhcmNoXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbmZpZ3VyZS13aWRnZXRzLWl0ZW1cIiAqbmdJZj1cIndpZGdldD8udmlzaWJpbGl0eVwiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImJsb2NrXCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgW2NoZWNrZWRdPVwid2lkZ2V0LnZhbHVlXCJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJzZWxlY3RXaWRnZXQoJGV2ZW50LnRhcmdldC5jaGVja2VkLCBtb2R1bGUsIHdpZGdldC5pZClcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVjay1pY29uXCI+XG4gICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNoZWNrXCJcbiAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDUyIDUyXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxjaXJjbGVcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2stY2lyY2xlXCJcbiAgICAgICAgICAgICAgICAgIGN4PVwiMjZcIlxuICAgICAgICAgICAgICAgICAgY3k9XCIyNlwiXG4gICAgICAgICAgICAgICAgICByPVwiMjVcIlxuICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2stY2lyY2xlXCJcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuMSAyNy4ybDcuMSA3LjIgMTYuNy0xNi44XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbmZpZ3VyZS13aWRnZXRzLWl0ZW0taGVhZFwiPlxuICAgICAgICAgICAgICA8aDRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvbmZpZ3VyZS13aWRnZXRzLWl0ZW0tdGl0bGVcIlxuICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwid2lkZ2V0Py50aXRsZVwiXG4gICAgICAgICAgICAgID48L2g0PlxuICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY29uZmlndXJlLXdpZGdldHMtaXRlbS1kZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJ3aWRnZXQ/LmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgPjwvcD5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIXdpZGdldC52YWx1ZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb25maWd1cmUtd2lkZ2V0cy1pdGVtLWJ1dHRvbiBhZGRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RXaWRnZXQodHJ1ZSwgbW9kdWxlLCB3aWRnZXQuaWQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICsgQUREXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ3aWRnZXQudmFsdWVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY29uZmlndXJlLXdpZGdldHMtaXRlbS1idXR0b24gcmVtb3ZlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0V2lkZ2V0KGZhbHNlLCBtb2R1bGUsIHdpZGdldC5pZClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgLSBSZW1vdmVcbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb25maWd1cmUtd2lkZ2V0cy1pdGVtLWJvZHlcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltYWdlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICBbbmdTcmNdPVwid2lkZ2V0Py53aWRnZXRJbWFnZVwiXG4gICAgICAgICAgICAgICAgICBhbHQ9XCJcIlxuICAgICAgICAgICAgICAgICAgd2lkdGg9XCI3OTBcIlxuICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiNjEzXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxvYXRpbmctb3B0aW9uIHZ4LWQtZmxleFwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ3aWRnZXQ/LnN1YldpZGdldHM/Lmxlbmd0aCA+IDBcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc3ViV2lkZ2V0IG9mIHdpZGdldC5zdWJXaWRnZXRzXCI+XG4gICAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic3ViV2lkZ2V0LnZpc2liaWxpdHlcIlxuICAgICAgICAgICAgICAgICAgICAobmdWYWx1ZUNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RXaWRnZXQoJGV2ZW50LCBtb2R1bGUsIHdpZGdldC5pZCwgc3ViV2lkZ2V0LmlkKVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBbbmdWYWx1ZV09XCJzdWJXaWRnZXQudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICA+e3sgc3ViV2lkZ2V0LnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICA8L2FwcC1jcy1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8IS0tIE5vIERhdGEgSW1hZ2UgLS0+XG4gICAgPC9kaXY+XG4gICAgPGFwcC1uby1kYXRhXG4gICAgICAqbmdJZj1cIih3aWRnZXRzTGlzdFttb2R1bGVdIHwgc2VhcmNoIDogc2VhcmNoKS5sZW5ndGggPT09IDBcIlxuICAgICAgW25vRGF0YUltYWdlXT1cIkFTU0VUUy5jb25maWd1cmVfd2lkZ2V0XCJcbiAgICAgIFtub0RhdGFUZXh0XT1cIidObyBkYXRhIHRvIGRpc3BsYXknXCJcbiAgICA+XG4gICAgPC9hcHAtbm8tZGF0YT5cblxuICAgIDxmbG9hdGluZy1iYXJcbiAgICAgIChzdWJtaXRFdmVudCk9XCJvbk5leHRDbGljaygpXCJcbiAgICAgIChjYW5jZWxFdmVudCk9XCJjbG9zZUNvbmZpZ3VyZURhc2hib2FyZCgpXCJcbiAgICAgIFtzZWxlY3RlZERhdGFdPVwic2VsZWN0ZWRXaWRnZXRzXCJcbiAgICAgIChkZWxldGVFdmVudCk9XCJyZW1vdmVXaWRnZXQoJGV2ZW50KVwiXG4gICAgPjwvZmxvYXRpbmctYmFyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9jb25maWd1cmUtd2lkZ2V0cy9jb25maWd1cmUtd2lkZ2V0cy93aWRnZXQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIHdpZGdldENvbmZpZ3tcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICB3aWRnZXRJbWFnZTogc3RyaW5nLFxuICAgIHZhbHVlOiBib29sZWFuLFxuICAgIG1vZHVsZTogJ0NPTVBMSUFOQ0UnLFxuICAgIHN1YldpZGdldHM6IFtdXG59Il19
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule, NgOptimizedImage } from '@angular/common';
|
|
3
|
+
import { FloatingBarModule } from '../../ui-kit//floating-bar/floating-bar.module';
|
|
4
|
+
import { FormgroupModule } from '../../ui-kit/formgroup/formgroup.module';
|
|
5
|
+
import { FormsModule } from '@angular/forms';
|
|
6
|
+
import { SearchPipe } from '../pipes/search.pipe';
|
|
7
|
+
import { ConfigureWidgetsComponent } from './configure-widgets/configure-widgets.component';
|
|
8
|
+
import { DirectivesModule } from '../directives/directives.module';
|
|
9
|
+
import { NoDataModule } from '../../ui-kit/no-data/no-data.module';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
export class ConfigureWidgetsModule {
|
|
12
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsModule, declarations: [ConfigureWidgetsComponent, SearchPipe], imports: [CommonModule,
|
|
14
|
+
FloatingBarModule,
|
|
15
|
+
FormgroupModule,
|
|
16
|
+
FormsModule,
|
|
17
|
+
DirectivesModule,
|
|
18
|
+
NoDataModule,
|
|
19
|
+
NgOptimizedImage], exports: [ConfigureWidgetsComponent] });
|
|
20
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsModule, imports: [CommonModule,
|
|
21
|
+
FloatingBarModule,
|
|
22
|
+
FormgroupModule,
|
|
23
|
+
FormsModule,
|
|
24
|
+
DirectivesModule,
|
|
25
|
+
NoDataModule] });
|
|
26
|
+
}
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsModule, decorators: [{
|
|
28
|
+
type: NgModule,
|
|
29
|
+
args: [{
|
|
30
|
+
declarations: [
|
|
31
|
+
ConfigureWidgetsComponent, SearchPipe
|
|
32
|
+
],
|
|
33
|
+
imports: [
|
|
34
|
+
CommonModule,
|
|
35
|
+
FloatingBarModule,
|
|
36
|
+
FormgroupModule,
|
|
37
|
+
FormsModule,
|
|
38
|
+
DirectivesModule,
|
|
39
|
+
NoDataModule,
|
|
40
|
+
NgOptimizedImage
|
|
41
|
+
],
|
|
42
|
+
exports: [
|
|
43
|
+
ConfigureWidgetsComponent
|
|
44
|
+
]
|
|
45
|
+
}]
|
|
46
|
+
}] });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlLXdpZGdldHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL2NyZWF0ZS1kYXNoYm9hcmQtY29udGFpbmVyL2NvbmZpZ3VyZS13aWRnZXRzL2NvbmZpZ3VyZS13aWRnZXRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBcUJuRSxNQUFNLE9BQU8sc0JBQXNCO3dHQUF0QixzQkFBc0I7eUdBQXRCLHNCQUFzQixpQkFmL0IseUJBQXlCLEVBQUUsVUFBVSxhQUdyQyxZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixXQUFXO1lBQ1gsZ0JBQWdCO1lBQ2hCLFlBQVk7WUFDWixnQkFBZ0IsYUFHaEIseUJBQXlCO3lHQUdoQixzQkFBc0IsWUFaL0IsWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsV0FBVztZQUNYLGdCQUFnQjtZQUNoQixZQUFZOzs0RkFPSCxzQkFBc0I7a0JBakJsQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWix5QkFBeUIsRUFBRSxVQUFVO3FCQUN0QztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AseUJBQXlCO3FCQUMxQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUsIE5nT3B0aW1pemVkSW1hZ2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRmxvYXRpbmdCYXJNb2R1bGUgfSBmcm9tICcuLi8uLi91aS1raXQvL2Zsb2F0aW5nLWJhci9mbG9hdGluZy1iYXIubW9kdWxlJztcbmltcG9ydCB7IEZvcm1ncm91cE1vZHVsZSB9IGZyb20gJy4uLy4uL3VpLWtpdC9mb3JtZ3JvdXAvZm9ybWdyb3VwLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlYXJjaFBpcGUgfSBmcm9tICcuLi9waXBlcy9zZWFyY2gucGlwZSc7XG5pbXBvcnQgeyBDb25maWd1cmVXaWRnZXRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb25maWd1cmUtd2lkZ2V0cy9jb25maWd1cmUtd2lkZ2V0cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlyZWN0aXZlc01vZHVsZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvZGlyZWN0aXZlcy5tb2R1bGUnO1xuaW1wb3J0IHsgTm9EYXRhTW9kdWxlIH0gZnJvbSAnLi4vLi4vdWkta2l0L25vLWRhdGEvbm8tZGF0YS5tb2R1bGUnO1xuXG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgQ29uZmlndXJlV2lkZ2V0c0NvbXBvbmVudCwgU2VhcmNoUGlwZVxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZsb2F0aW5nQmFyTW9kdWxlLFxuICAgIEZvcm1ncm91cE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBEaXJlY3RpdmVzTW9kdWxlLFxuICAgIE5vRGF0YU1vZHVsZSxcbiAgICBOZ09wdGltaXplZEltYWdlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBDb25maWd1cmVXaWRnZXRzQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlndXJlV2lkZ2V0c01vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
const BASE_URL = 'https://cdn.v-comply.com';
|
|
2
|
+
export const ASSETS = {
|
|
3
|
+
dashBoardIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/what.svg`,
|
|
4
|
+
dashBoardUsersIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/who.svg`,
|
|
5
|
+
dashBoardRcIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/responsibility-center.svg`,
|
|
6
|
+
dashBoardProgramIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/category.svg`,
|
|
7
|
+
dashBoardRiskIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/category.svg`,
|
|
8
|
+
dashBoardTimeFrameIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/when.svg`,
|
|
9
|
+
dashBoardEmailSummariesIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/send-resolution.svg`,
|
|
10
|
+
configure_widget: `${BASE_URL}/libraries/configure-widget/assets/images/configure-widget.svg`,
|
|
11
|
+
overviewWidget: `${BASE_URL}/libraries/configure-widget/assets/images/overview.png`,
|
|
12
|
+
responsibilityCalenderWidget: `${BASE_URL}/libraries/configure-widget/assets/images/responsibility-calender.png`,
|
|
13
|
+
responsibilityCenterOverviewWidget: `${BASE_URL}/libraries/configure-widget/assets/images/responsibility-center-overview.png`,
|
|
14
|
+
myResponsibilitiesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/my-responsibilities.png`,
|
|
15
|
+
keyResponsibilitiesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/key-responsibilities.png`,
|
|
16
|
+
trendAnalysisWidget: `${BASE_URL}/libraries/configure-widget/assets/images/trend-analysis.png`,
|
|
17
|
+
workroomUpdatesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/workroom-updates.png`,
|
|
18
|
+
recentActivitiesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/recent-activities.png`,
|
|
19
|
+
exceptionSummaryWidget: `${BASE_URL}/libraries/configure-widget/assets/images/exception-summary.png`,
|
|
20
|
+
riskOverviewWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/risk-overview.png`,
|
|
21
|
+
appetiteToleranceWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/appetite-tolerance.png`,
|
|
22
|
+
inherentRCWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/inherent-RC.png`,
|
|
23
|
+
residualRCWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/residual-RC.png`,
|
|
24
|
+
riskCategoryOverviewWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/risk-category-overview.png`,
|
|
25
|
+
riskHeatmapWidget: `${BASE_URL}/libraries/configure-widget/assets/images/risk-heatmap.png`,
|
|
26
|
+
inherentCategoriesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/inherent-categories.png`,
|
|
27
|
+
residualCategoriesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/residual-categories.png`,
|
|
28
|
+
tenRiskRatingsWidget: `${BASE_URL}/libraries/configure-widget/assets/images/10-risk-ratings.png`,
|
|
29
|
+
search_data: `${BASE_URL}/libraries/workflow-engine/assets/workflow/search-data.svg`,
|
|
30
|
+
appetite_tolerance: `${BASE_URL}/libraries/configure-widget/assets/images/appetite-tolerance.png`,
|
|
31
|
+
inherent_trend: `${BASE_URL}/libraries/configure-widget/assets/images/inherent-trend.png`,
|
|
32
|
+
residual_trend: `${BASE_URL}/libraries/configure-widget/assets/images/residual-trend.png`,
|
|
33
|
+
risk_trend: `${BASE_URL}/libraries/configure-widget/assets/images/risk-trend.png`,
|
|
34
|
+
policyApproverView: `${BASE_URL}/policy/images/policy-approver-view.svg`,
|
|
35
|
+
responsibilitiesByAssignee: `${BASE_URL}/libraries/configure-widget/assets/images/responsibilitiesByAssignee.png`,
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmNvbnN0YW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL2NyZWF0ZS1kYXNoYm9hcmQtY29udGFpbmVyL2NvbnN0YW50cy9hc3NldHMuY29uc3RhbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxRQUFRLEdBQUcsMEJBQTBCLENBQUM7QUFFNUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHO0lBQ3BCLGFBQWEsRUFBRSxHQUFHLFFBQVEscURBQXFEO0lBQy9FLGtCQUFrQixFQUFFLEdBQUcsUUFBUSxvREFBb0Q7SUFDbkYsZUFBZSxFQUFFLEdBQUcsUUFBUSxzRUFBc0U7SUFDbEcsb0JBQW9CLEVBQUUsR0FBRyxRQUFRLHlEQUF5RDtJQUMxRixpQkFBaUIsRUFBRSxHQUFHLFFBQVEseURBQXlEO0lBQ3ZGLHNCQUFzQixFQUFFLEdBQUcsUUFBUSxxREFBcUQ7SUFDeEYsMkJBQTJCLEVBQUUsR0FBRyxRQUFRLGdFQUFnRTtJQUN4RyxnQkFBZ0IsRUFBRSxHQUFHLFFBQVEsZ0VBQWdFO0lBQzdGLGNBQWMsRUFBRSxHQUFHLFFBQVEsd0RBQXdEO0lBQ25GLDRCQUE0QixFQUFFLEdBQUcsUUFBUSx1RUFBdUU7SUFDaEgsa0NBQWtDLEVBQUUsR0FBRyxRQUFRLDhFQUE4RTtJQUM3SCx3QkFBd0IsRUFBRSxHQUFHLFFBQVEsbUVBQW1FO0lBQ3hHLHlCQUF5QixFQUFFLEdBQUcsUUFBUSxvRUFBb0U7SUFDMUcsbUJBQW1CLEVBQUUsR0FBRyxRQUFRLDhEQUE4RDtJQUM5RixxQkFBcUIsRUFBRSxHQUFHLFFBQVEsZ0VBQWdFO0lBQ2xHLHNCQUFzQixFQUFFLEdBQUcsUUFBUSxpRUFBaUU7SUFDcEcsc0JBQXNCLEVBQUUsR0FBRyxRQUFRLGlFQUFpRTtJQUNwRyxrQkFBa0IsRUFBRSxHQUFHLFFBQVEsb0VBQW9FO0lBQ25HLHVCQUF1QixFQUFFLEdBQUcsUUFBUSx5RUFBeUU7SUFDN0csZ0JBQWdCLEVBQUUsR0FBRyxRQUFRLGtFQUFrRTtJQUMvRixnQkFBZ0IsRUFBRSxHQUFHLFFBQVEsa0VBQWtFO0lBQy9GLDBCQUEwQixFQUFFLEdBQUcsUUFBUSw2RUFBNkU7SUFDcEgsaUJBQWlCLEVBQUUsR0FBRyxRQUFRLDREQUE0RDtJQUMxRix3QkFBd0IsRUFBRSxHQUFHLFFBQVEsMEVBQTBFO0lBQy9HLHdCQUF3QixFQUFFLEdBQUcsUUFBUSwwRUFBMEU7SUFDL0csb0JBQW9CLEVBQUUsR0FBRyxRQUFRLCtEQUErRDtJQUNoRyxXQUFXLEVBQUUsR0FBRyxRQUFRLDREQUE0RDtJQUNwRixrQkFBa0IsRUFBRSxHQUFHLFFBQVEsa0VBQWtFO0lBQ2pHLGNBQWMsRUFBRSxHQUFHLFFBQVEsOERBQThEO0lBQ3pGLGNBQWMsRUFBRSxHQUFHLFFBQVEsOERBQThEO0lBQ3pGLFVBQVUsRUFBRSxHQUFHLFFBQVEsMERBQTBEO0lBQ2pGLGtCQUFrQixFQUFFLEdBQUcsUUFBUSx5Q0FBeUM7SUFDeEUsMEJBQTBCLEVBQUUsR0FBRyxRQUFRLDBFQUEwRTtDQUNsSCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgQkFTRV9VUkwgPSAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tJztcblxuZXhwb3J0IGNvbnN0IEFTU0VUUyA9IHtcbiAgZGFzaEJvYXJkSWNvbjogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3doYXQuc3ZnYCxcbiAgZGFzaEJvYXJkVXNlcnNJY29uOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvd2hvLnN2Z2AsXG4gIGRhc2hCb2FyZFJjSWNvbjogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3Jlc3BvbnNpYmlsaXR5LWNlbnRlci5zdmdgLFxuICBkYXNoQm9hcmRQcm9ncmFtSWNvbjogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2NhdGVnb3J5LnN2Z2AsXG4gIGRhc2hCb2FyZFJpc2tJY29uOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvY2F0ZWdvcnkuc3ZnYCxcbiAgZGFzaEJvYXJkVGltZUZyYW1lSWNvbjogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3doZW4uc3ZnYCxcbiAgZGFzaEJvYXJkRW1haWxTdW1tYXJpZXNJY29uOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvc2VuZC1yZXNvbHV0aW9uLnN2Z2AsXG4gIGNvbmZpZ3VyZV93aWRnZXQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL2NvbmZpZ3VyZS13aWRnZXQuc3ZnYCxcbiAgb3ZlcnZpZXdXaWRnZXQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL292ZXJ2aWV3LnBuZ2AsXG4gIHJlc3BvbnNpYmlsaXR5Q2FsZW5kZXJXaWRnZXQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jlc3BvbnNpYmlsaXR5LWNhbGVuZGVyLnBuZ2AsXG4gIHJlc3BvbnNpYmlsaXR5Q2VudGVyT3ZlcnZpZXdXaWRnZXQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jlc3BvbnNpYmlsaXR5LWNlbnRlci1vdmVydmlldy5wbmdgLFxuICBteVJlc3BvbnNpYmlsaXRpZXNXaWRnZXQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL215LXJlc3BvbnNpYmlsaXRpZXMucG5nYCxcbiAga2V5UmVzcG9uc2liaWxpdGllc1dpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMva2V5LXJlc3BvbnNpYmlsaXRpZXMucG5nYCxcbiAgdHJlbmRBbmFseXNpc1dpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvdHJlbmQtYW5hbHlzaXMucG5nYCxcbiAgd29ya3Jvb21VcGRhdGVzV2lkZ2V0OiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy93b3Jrcm9vbS11cGRhdGVzLnBuZ2AsXG4gIHJlY2VudEFjdGl2aXRpZXNXaWRnZXQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3JlY2VudC1hY3Rpdml0aWVzLnBuZ2AsXG4gIGV4Y2VwdGlvblN1bW1hcnlXaWRnZXQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL2V4Y2VwdGlvbi1zdW1tYXJ5LnBuZ2AsXG4gIHJpc2tPdmVydmlld1dpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmlza1YyL3Jpc2stb3ZlcnZpZXcucG5nYCxcbiAgYXBwZXRpdGVUb2xlcmFuY2VXaWRnZXQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jpc2tWMi9hcHBldGl0ZS10b2xlcmFuY2UucG5nYCxcbiAgaW5oZXJlbnRSQ1dpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmlza1YyL2luaGVyZW50LVJDLnBuZ2AsXG4gIHJlc2lkdWFsUkNXaWRnZXQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jpc2tWMi9yZXNpZHVhbC1SQy5wbmdgLFxuICByaXNrQ2F0ZWdvcnlPdmVydmlld1dpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmlza1YyL3Jpc2stY2F0ZWdvcnktb3ZlcnZpZXcucG5nYCxcbiAgcmlza0hlYXRtYXBXaWRnZXQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jpc2staGVhdG1hcC5wbmdgLFxuICBpbmhlcmVudENhdGVnb3JpZXNXaWRnZXQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jpc2tWMi9pbmhlcmVudC1jYXRlZ29yaWVzLnBuZ2AsXG4gIHJlc2lkdWFsQ2F0ZWdvcmllc1dpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmlza1YyL3Jlc2lkdWFsLWNhdGVnb3JpZXMucG5nYCxcbiAgdGVuUmlza1JhdGluZ3NXaWRnZXQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzLzEwLXJpc2stcmF0aW5ncy5wbmdgLFxuICBzZWFyY2hfZGF0YTogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3NlYXJjaC1kYXRhLnN2Z2AsXG4gIGFwcGV0aXRlX3RvbGVyYW5jZTogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvYXBwZXRpdGUtdG9sZXJhbmNlLnBuZ2AsXG4gIGluaGVyZW50X3RyZW5kOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9pbmhlcmVudC10cmVuZC5wbmdgLFxuICByZXNpZHVhbF90cmVuZDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmVzaWR1YWwtdHJlbmQucG5nYCxcbiAgcmlza190cmVuZDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmlzay10cmVuZC5wbmdgLFxuICBwb2xpY3lBcHByb3ZlclZpZXc6IGAke0JBU0VfVVJMfS9wb2xpY3kvaW1hZ2VzL3BvbGljeS1hcHByb3Zlci12aWV3LnN2Z2AsXG4gIHJlc3BvbnNpYmlsaXRpZXNCeUFzc2lnbmVlOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9yZXNwb25zaWJpbGl0aWVzQnlBc3NpZ25lZS5wbmdgLFxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRhc2hib2FyZC1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcmVhdGUtZGFzaGJvYXJkL3NyYy9saWIvY3JlYXRlLWRhc2hib2FyZC1jb250YWluZXIvY3JlYXRlLWRhc2hib2FyZC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlRGFzaGJvYXJkRm9ybSB7XG4gICAgZGFzaGJvYXJkTmFtZTogc3RyaW5nLFxuICAgIGRhc2hib2FyZERlc2NyaXB0aW9uVGV4dDogc3RyaW5nLFxuICAgIHNlbGVjdGVkVmlld2VyczogYW55W10sXG4gICAgc2VsZWN0ZWRHcm91cDphbnlbXSxcbiAgICBzZWxlY3RlZEZyb21EYXRlOiBhbnksXG4gICAgc2VsZWN0ZWRUb0RhdGU6IGFueSxcbiAgICBzZWxlY3RlZFJlc3BvbnNpYmlsaXR5Q2VudGVyczogYW55W10sXG4gICAgc2VsZWN0ZWRSZXNwb25zaWJpbGl0eUNhdGVnb3JpZXM6IGFueVtdLFxuICAgIHNlbGVjdGVkUmlza0NhdGVnb3JpZXM6IGFueVtdLFxuICAgIFxuXG4gICAgZGlzcGxheUNyaXRlcmlhOnN0cmluZyxcbiAgICBjb25maWd1cmVXaWRnZXQ6IGFueVtdLFxuXG5cbiAgICBmcmVxdWVuY3lEZXRhaWxzOnN0cmluZyxcbiAgICBzZWxlY3RlZEZyZXF1ZW5jeVR5cGU6IHN0cmluZyxcbiAgICBzZWxlY3RlZEZyZXF1ZW5jaWVzOiBhbnksXG4gICAgZnJlcXVlbmN5TWVzc2FnZTpzdHJpbmdcbiAgICBmcmVxdWVuY3lEYXRlOmFueVxuXG4gIH1cbiAgIl19
|