vcomply-workflow-engine 3.4.23 → 3.4.25
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/esm2020/lib/add-multiple-responsibility/add-multiple-responsibility.component.mjs +2 -4
- package/esm2020/lib/add-multiple-risk/add-multiple-risk.component.mjs +2 -3
- package/esm2020/lib/formgroup/cs-select/cs-select.component.mjs +5 -5
- package/esm2020/lib/formgroup/cs-switch/cs-switch.component.mjs +1 -4
- package/esm2020/lib/log-an-issue/log-an-issue.component.mjs +1 -11
- package/esm2020/lib/more-option/more-option.component.mjs +5 -6
- package/esm2020/lib/pipes/filter.pipe.mjs +1 -2
- package/esm2020/lib/pipes/search.pipe.mjs +3 -5
- package/esm2020/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.mjs +3 -7
- package/esm2020/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.mjs +1 -5
- package/esm2020/lib/sharedComponents/approval-workflow/approval-workflow.component.mjs +1 -7
- package/esm2020/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.mjs +80 -36
- package/esm2020/lib/sharedComponents/assessment-list/assessment-list.component.mjs +27 -21
- package/esm2020/lib/sharedComponents/assessment-preview/preview/preview.component.mjs +7 -4
- package/esm2020/lib/sharedComponents/audit-category-list/audit-category-list.component.mjs +3 -4
- package/esm2020/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.mjs +3 -9
- package/esm2020/lib/sharedComponents/bulk-view/bulk-view.component.mjs +9 -7
- package/esm2020/lib/sharedComponents/category-multiselect/category-multi-select.component.mjs +7 -9
- package/esm2020/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.mjs +93 -27
- package/esm2020/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.mjs +11 -9
- package/esm2020/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.mjs +13 -12
- package/esm2020/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.mjs +28 -19
- package/esm2020/lib/sharedComponents/floating-bar/floating-bar.component.mjs +8 -8
- package/esm2020/lib/sharedComponents/format-and-evidence/format-and-evidence.component.mjs +35 -37
- package/esm2020/lib/sharedComponents/framework-list/parent-table/parent-table.component.mjs +7 -7
- package/esm2020/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.mjs +1 -12
- package/esm2020/lib/sharedComponents/frequency/frequency-container/frequency-container.component.mjs +1 -3
- package/esm2020/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.mjs +1 -13
- package/esm2020/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.mjs +1 -7
- package/esm2020/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.mjs +1 -26
- package/esm2020/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.mjs +1 -15
- package/esm2020/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.mjs +1 -14
- package/esm2020/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.mjs +14 -8
- package/esm2020/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.mjs +1 -13
- package/esm2020/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.mjs +1 -2
- package/esm2020/lib/sharedComponents/frequency/frequency-random/frequency-random.component.mjs +1 -18
- package/esm2020/lib/sharedComponents/frequency/frequency-top/frequency-top.component.mjs +2 -2
- package/esm2020/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.mjs +1 -12
- package/esm2020/lib/sharedComponents/frequency/frequency.service.mjs +2 -11
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.mjs +1 -2
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.mjs +1 -2
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.mjs +1 -2
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.mjs +1 -2
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.mjs +1 -2
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.mjs +1 -2
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.mjs +2 -2
- package/esm2020/lib/sharedComponents/group-users-list/group-users-list.component.mjs +1 -3
- package/esm2020/lib/sharedComponents/link-program/link-program/link-program.component.mjs +48 -38
- package/esm2020/lib/sharedComponents/link-program/restapi.service.mjs +31 -16
- package/esm2020/lib/sharedComponents/no-data/no-data.component.mjs +2 -4
- package/esm2020/lib/sharedComponents/owner-list/owner-list.component.mjs +12 -10
- package/esm2020/lib/sharedComponents/program-listing/program-listing.component.mjs +127 -58
- package/esm2020/lib/sharedComponents/radio-list-with-pagination/radio-list.component.mjs +4 -7
- package/esm2020/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.mjs +9 -7
- package/esm2020/lib/sharedComponents/risk-classification/risk-classification.component.mjs +11 -6
- package/esm2020/lib/sharedComponents/select-approvers/select-approvers.component.mjs +1 -2
- package/esm2020/lib/sharedComponents/users-radio-list/users-radio-list.component.mjs +2 -3
- package/esm2020/lib/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +1 -4
- package/esm2020/lib/ui-kit/popover/popover-longpress.directive.mjs +1 -3
- package/esm2020/lib/ui-kit/popover/popover.component.mjs +26 -12
- package/esm2020/lib/ui-kit/tooltip/tooltip.directive.mjs +8 -5
- package/esm2020/lib/workflow/shared/components/attributes/attributes.component.mjs +1 -2
- package/esm2020/lib/workflow/shared/components/edit-mode/edit-mode.component.mjs +1 -4
- package/esm2020/lib/workflow/shared/components/grc-object-list/grc-object-list.component.mjs +1 -2
- package/esm2020/lib/workflow/shared/components/list-popup/list-popup.component.mjs +1 -4
- package/esm2020/lib/workflow/shared/components/table-card/table-card.component.mjs +4 -8
- package/esm2020/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.mjs +245 -108
- package/esm2020/lib/workflow-assessment/workflow-assessment.component.mjs +2 -4
- package/esm2020/lib/workflow-compliance/workflow-compliance.component.mjs +10 -8
- package/esm2020/lib/workflow-engine-container/workflow-engine-container.component.mjs +1 -5
- package/esm2020/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.mjs +45 -45
- package/esm2020/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.mjs +43 -25
- package/esm2020/lib/workflow-program/create-program-ui/define-framework-listing/pipes/sub-cat-indeter.pipe.mjs +4 -4
- package/esm2020/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.mjs +1 -2
- package/esm2020/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.mjs +25 -14
- package/esm2020/lib/workflow-program/create-program-ui/pipes/assessment-resolver.pipe.mjs +6 -3
- package/esm2020/lib/workflow-program/create-program-ui/role-list/role-list.component.mjs +25 -19
- package/esm2020/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.mjs +1 -4
- package/esm2020/lib/workflow-program/workflow-program.component.mjs +232 -110
- package/esm2020/lib/workflow-services/add-risk.service.mjs +1 -2
- package/esm2020/lib/workflow-services/assessment.service.mjs +1 -5
- package/esm2020/lib/workflow-services/programs.service.mjs +173 -57
- package/fesm2015/vcomply-workflow-engine.mjs +1381 -937
- package/fesm2015/vcomply-workflow-engine.mjs.map +1 -1
- package/fesm2020/vcomply-workflow-engine.mjs +1394 -945
- package/fesm2020/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/formgroup/cs-switch/cs-switch.component.d.ts +2 -3
- package/lib/sharedComponents/assessment-list/assessment-list.component.d.ts +4 -5
- package/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.d.ts +2 -3
- package/lib/sharedComponents/bulk-view/bulk-view.component.d.ts +2 -3
- package/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.d.ts +2 -4
- package/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.d.ts +1 -1
- package/lib/sharedComponents/link-program/restapi.service.d.ts +3 -3
- package/lib/sharedComponents/no-data/no-data.component.d.ts +2 -4
- package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +2 -3
- package/lib/workflow/shared/components/edit-mode/edit-mode.component.d.ts +2 -3
- package/lib/workflow/shared/components/list-popup/list-popup.component.d.ts +2 -3
- package/lib/workflow/shared/components/table-card/table-card.component.d.ts +2 -5
- package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.d.ts +8 -9
- package/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.d.ts +2 -4
- package/package.json +1 -1
|
@@ -32,10 +32,10 @@ export class DefineFrameworkListingComponent {
|
|
|
32
32
|
this.currentView = 'FRAMEWORK_CATEGORY';
|
|
33
33
|
this.activeFrameworkType = 'REGULATIONS';
|
|
34
34
|
this.frameworkTypes = {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
35
|
+
REGULATIONS: 1,
|
|
36
|
+
STANDARDS: 2,
|
|
37
|
+
INTERNAL_CONTROLS: 3,
|
|
38
|
+
OTHERS: 0,
|
|
39
39
|
};
|
|
40
40
|
this.frameworkData = [];
|
|
41
41
|
this.expandedFrameworkId = '';
|
|
@@ -53,7 +53,8 @@ export class DefineFrameworkListingComponent {
|
|
|
53
53
|
set setFramework(value) {
|
|
54
54
|
if (value && value?._id) {
|
|
55
55
|
this.selectedFramework = value;
|
|
56
|
-
this.activeFrameworkType =
|
|
56
|
+
this.activeFrameworkType =
|
|
57
|
+
['OTHERS', 'REGULATIONS', 'STANDARDS', 'INTERNAL_CONTROLS'][value?.type] ?? 1;
|
|
57
58
|
this.currentView = 'FRAMEWORK';
|
|
58
59
|
this.inScope = value?.in_scope;
|
|
59
60
|
this.inScopeIds = this.inScope.map((ele) => ele?._id);
|
|
@@ -70,17 +71,21 @@ export class DefineFrameworkListingComponent {
|
|
|
70
71
|
}
|
|
71
72
|
fetchFrameworkCount() {
|
|
72
73
|
this.frameworkService.fetchFrameworkCount().subscribe({
|
|
73
|
-
next: (res) => {
|
|
74
|
+
next: (res) => {
|
|
75
|
+
this.frameworkCount = res;
|
|
76
|
+
},
|
|
74
77
|
error: (err) => {
|
|
75
78
|
//handle error here
|
|
76
|
-
}
|
|
79
|
+
},
|
|
77
80
|
});
|
|
78
81
|
}
|
|
79
82
|
changeType(type) {
|
|
80
83
|
this.activeFrameworkType = type;
|
|
81
84
|
this.apiFrameworkPayload.page = 1;
|
|
82
85
|
this.apiFrameworkPayload.type = this.frameworkTypes[type];
|
|
83
|
-
this.frameworkListSubscription
|
|
86
|
+
this.frameworkListSubscription
|
|
87
|
+
? this.frameworkListSubscription.unsubscribe()
|
|
88
|
+
: null;
|
|
84
89
|
this.fetchFrameworkCategoryList();
|
|
85
90
|
}
|
|
86
91
|
executeSearch() {
|
|
@@ -94,19 +99,21 @@ export class DefineFrameworkListingComponent {
|
|
|
94
99
|
}
|
|
95
100
|
fetchFrameworkCategoryList() {
|
|
96
101
|
this.isMainLoader = true;
|
|
97
|
-
this.frameworkListSubscription = this.frameworkService
|
|
102
|
+
this.frameworkListSubscription = this.frameworkService
|
|
103
|
+
.fetchFrameworkInCategory(this.apiFrameworkPayload)
|
|
104
|
+
.subscribe({
|
|
98
105
|
next: (res) => {
|
|
99
|
-
console.log("response", res);
|
|
100
106
|
this.frameworkData = res;
|
|
101
107
|
this.isMainLoader = false;
|
|
102
108
|
},
|
|
103
|
-
error: () => {
|
|
109
|
+
error: () => {
|
|
110
|
+
this.isMainLoader = false;
|
|
111
|
+
},
|
|
104
112
|
});
|
|
105
113
|
}
|
|
106
114
|
selectFramework(evt, framework) {
|
|
107
115
|
if (evt?.target?.checked) {
|
|
108
116
|
this.selectedFramework = framework;
|
|
109
|
-
console.log(this.selectedFramework);
|
|
110
117
|
}
|
|
111
118
|
}
|
|
112
119
|
expandCollapseFramework(framework) {
|
|
@@ -123,20 +130,25 @@ export class DefineFrameworkListingComponent {
|
|
|
123
130
|
}
|
|
124
131
|
loadFrameworkData() {
|
|
125
132
|
this.issubLoading = true;
|
|
126
|
-
this.frameworkService
|
|
133
|
+
this.frameworkService
|
|
134
|
+
.fetchCategoryForFramework(this.selectedFramework?._id)
|
|
135
|
+
.subscribe({
|
|
127
136
|
next: (res) => {
|
|
128
|
-
console.log("nested", res);
|
|
129
137
|
this.selectedFrameworkData = res;
|
|
130
138
|
this.checkAllElements(this.mode === 'EDIT' ? false : true);
|
|
131
139
|
this.issubLoading = false;
|
|
132
140
|
},
|
|
133
|
-
error: () => {
|
|
141
|
+
error: () => {
|
|
142
|
+
this.issubLoading = false;
|
|
143
|
+
},
|
|
134
144
|
});
|
|
135
145
|
}
|
|
136
146
|
checkAllElements(populateInScope) {
|
|
137
147
|
let allElement = [];
|
|
138
148
|
this.selectedFrameworkData.data?.child_list_details?.forEach((element) => {
|
|
139
|
-
element?.controlsData.forEach((el) => {
|
|
149
|
+
element?.controlsData.forEach((el) => {
|
|
150
|
+
allElement.push(el);
|
|
151
|
+
});
|
|
140
152
|
});
|
|
141
153
|
this.allControls = this.uniqueByProp(allElement, '_id');
|
|
142
154
|
if (populateInScope) {
|
|
@@ -148,7 +160,8 @@ export class DefineFrameworkListingComponent {
|
|
|
148
160
|
checkSelectAll() {
|
|
149
161
|
const allIds = this.allControls.map((ele) => ele?._id);
|
|
150
162
|
const inScopeIds = this.inScope.map((ele) => ele?._id);
|
|
151
|
-
this.allControlsSelected =
|
|
163
|
+
this.allControlsSelected =
|
|
164
|
+
allIds.sort()?.toString() === inScopeIds.sort()?.toString();
|
|
152
165
|
}
|
|
153
166
|
selectAll(evt) {
|
|
154
167
|
if (evt?.target?.checked) {
|
|
@@ -164,7 +177,9 @@ export class DefineFrameworkListingComponent {
|
|
|
164
177
|
this.inScopeIds = this.inScope.map((el) => el?._id);
|
|
165
178
|
}
|
|
166
179
|
selectItem(evt, payload) {
|
|
167
|
-
evt?.target?.checked === true
|
|
180
|
+
evt?.target?.checked === true
|
|
181
|
+
? this.manipulateItem('ADD', payload)
|
|
182
|
+
: this.manipulateItem('DELETE', payload);
|
|
168
183
|
}
|
|
169
184
|
manipulateItem(action, payload) {
|
|
170
185
|
if (action === 'ADD') {
|
|
@@ -181,7 +196,9 @@ export class DefineFrameworkListingComponent {
|
|
|
181
196
|
this.checkSelectAll();
|
|
182
197
|
}
|
|
183
198
|
selectCategory(evt, payload) {
|
|
184
|
-
evt?.target?.checked === true
|
|
199
|
+
evt?.target?.checked === true
|
|
200
|
+
? this.manipulateCategory('ADD', payload)
|
|
201
|
+
: this.manipulateCategory('DELETE', payload);
|
|
185
202
|
}
|
|
186
203
|
manipulateCategory(action, payload) {
|
|
187
204
|
if (action === 'ADD') {
|
|
@@ -202,8 +219,11 @@ export class DefineFrameworkListingComponent {
|
|
|
202
219
|
this.loadFrameworkData();
|
|
203
220
|
}
|
|
204
221
|
else {
|
|
205
|
-
this.next.emit({
|
|
206
|
-
|
|
222
|
+
this.next.emit({
|
|
223
|
+
...this.selectedFramework,
|
|
224
|
+
in_scope: this.inScope,
|
|
225
|
+
out_scope: this.allControls.filter((ele) => !this.inScopeIds.includes(ele?._id)),
|
|
226
|
+
});
|
|
207
227
|
}
|
|
208
228
|
}
|
|
209
229
|
cancelHandler() {
|
|
@@ -215,7 +235,6 @@ export class DefineFrameworkListingComponent {
|
|
|
215
235
|
}
|
|
216
236
|
}
|
|
217
237
|
subCategoryExpandCollapse(category) {
|
|
218
|
-
console.log(category);
|
|
219
238
|
const index = this.expandedSubCategoryIds.indexOf(category?._id);
|
|
220
239
|
if (index < 0 && category?.controlsData?.length) {
|
|
221
240
|
this.expandedSubCategoryIds.push(category?._id);
|
|
@@ -226,8 +245,7 @@ export class DefineFrameworkListingComponent {
|
|
|
226
245
|
}
|
|
227
246
|
uniqueByProp(array, key) {
|
|
228
247
|
return Array.from(array
|
|
229
|
-
.reduce((acc, item) => (item && item[key] && acc.set(item[key], item),
|
|
230
|
-
acc), new Map())
|
|
248
|
+
.reduce((acc, item) => (item && item[key] && acc.set(item[key], item), acc), new Map())
|
|
231
249
|
.values());
|
|
232
250
|
}
|
|
233
251
|
}
|
|
@@ -246,4 +264,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
246
264
|
type: Input,
|
|
247
265
|
args: ['selectedFramework']
|
|
248
266
|
}] } });
|
|
249
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXByb2dyYW0vY3JlYXRlLXByb2dyYW0tdWkvZGVmaW5lLWZyYW1ld29yay1saXN0aW5nL2RlZmluZS1mcmFtZXdvcmstbGlzdGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1wcm9ncmFtL2NyZWF0ZS1wcm9ncmFtLXVpL2RlZmluZS1mcmFtZXdvcmstbGlzdGluZy9kZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVMvRSxNQUFNLE9BQU8sK0JBQStCO0lBZ0IxQyxZQUFvQixnQkFBaUM7UUFBakMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQWYzQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM1QixTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzQixTQUFJLEdBQUcsUUFBUSxDQUFDO1FBV3pCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFhakIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIsbUJBQWMsR0FBTSxJQUFJLENBQUM7UUFTM0IsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNiLHdCQUFtQixHQUFHO1lBQ3BCLElBQUksRUFBQyxDQUFDO1lBQ04sTUFBTSxFQUFDLEVBQUU7WUFDVCxJQUFJLEVBQUMsQ0FBQztTQUVOLENBQUE7UUFDRixnQkFBVyxHQUFzQyxvQkFB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aW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRnJhbWV3b3JrU2VydmljZSB9IGZyb20gJy4vZnJhbWV3b3JrLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZGVmaW5lLWZyYW1ld29yay1saXN0aW5nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmcuY29tcG9uZW50Lmxlc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVmaW5lRnJhbWV3b3JrTGlzdGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQE91dHB1dCgpIGNhbmNlbCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgbmV4dCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBtb2RlID0gJ0NSRUFURSc7XHJcbiAgQElucHV0KCdzZWxlY3RlZEZyYW1ld29yaycpIHNldCBzZXRGcmFtZXdvcmsodmFsdWU6IGFueSkge1xyXG4gICAgaWYodmFsdWUgJiYgdmFsdWU/Ll9pZCl7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGcmFtZXdvcmsgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5hY3RpdmVGcmFtZXdvcmtUeXBlID0gWydPVEhFUlMnLCdSRUdVTEFUSU9OUycgLCAnU1RBTkRBUkRTJyAsICdJTlRFUk5BTF9DT05UUk9MUyddW3ZhbHVlPy50eXBlXSA/PyAxO1xyXG4gICAgICB0aGlzLmN1cnJlbnRWaWV3ID0gJ0ZSQU1FV09SSyc7XHJcbiAgICAgIHRoaXMuaW5TY29wZSA9IHZhbHVlPy5pbl9zY29wZTtcclxuICAgICAgdGhpcy5pblNjb3BlSWRzID0gdGhpcy5pblNjb3BlLm1hcCgoZWxlOmFueSkgPT4gZWxlPy5faWQpO1xyXG4gICAgICB0aGlzLmxvYWRGcmFtZXdvcmtEYXRhKClcclxuICAgIH1cclxuICB9XHJcbiAgYW5pbWF0aW9uID0gdHJ1ZTtcclxuICBmcmFtZXdvcmtMaXN0U3Vic2NyaXB0aW9uICE6U3Vic2NyaXB0aW9uO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZnJhbWV3b3JrU2VydmljZTpGcmFtZXdvcmtTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFuaW1hdGlvbiA9IHRydWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5hbmltYXRpb24gPSBmYWxzZTtcclxuICAgIH0sIDMwMCk7XHJcbiAgICB0aGlzLmZldGNoRnJhbWV3b3JrQ291bnQoKTtcclxuICAgIHRoaXMuZmV0Y2hGcmFtZXdvcmtDYXRlZ29yeUxpc3QoKTtcclxuICB9XHJcblxyXG4gIGlzTWFpbkxvYWRlciA9IHRydWU7XHJcbiAgZnJhbWV3b3JrQ291bnQ6YW55PSBudWxsO1xyXG4gIGZldGNoRnJhbWV3b3JrQ291bnQoKXsgICAgXHJcbiAgICB0aGlzLmZyYW1ld29ya1NlcnZpY2UuZmV0Y2hGcmFtZXdvcmtDb3VudCgpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6KHJlczphbnkpPT57dGhpcy5mcmFtZXdvcmtDb3VudCA9IHJlc30sXHJcbiAgICAgIGVycm9yOihlcnI6YW55KT0+e1xyXG4gICAgICAgIC8vaGFuZGxlIGVycm9yIGhlcmVcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbnNlYXJjaEtleSA9ICcnO1xyXG4gIGFwaUZyYW1ld29ya1BheWxvYWQgPSB7XHJcbiAgICBwYWdlOjEsXHJcbiAgICBzZWFyY2g6JycsXHJcbiAgICB0eXBlOjEsXHJcblxyXG4gICB9XHJcbiAgY3VycmVudFZpZXcgOiAnRlJBTUVXT1JLX0NBVEVHT1JZJyB8ICdGUkFNRVdPUksnPSdGUkFNRVdPUktfQ0FURUdPUlknO1xyXG4gIGFjdGl2ZUZyYW1ld29ya1R5cGUgOidSRUdVTEFUSU9OUycgfCAnU1RBTkRBUkRTJyB8ICdJTlRFUk5BTF9DT05UUk9MUycgfCdPVEhFUlMnfGFueT0gJ1JFR1VMQVRJT05TJztcclxuXHJcbiAgZnJhbWV3b3JrVHlwZXMgPSB7XHJcbiAgICAnUkVHVUxBVElPTlMnOjEsXHJcbiAgICAnU1RBTkRBUkRTJzoyLFxyXG4gICAgJ0lOVEVSTkFMX0NPTlRST0xTJzozLFxyXG4gICAgJ09USEVSUyc6MFxyXG4gIH1cclxuICBcclxuXHJcblxyXG5cclxuICBmcmFtZXdvcmtEYXRhOmFueSA9IFtdXHJcbiAgY2hhbmdlVHlwZSh0eXBlOidSRUdVTEFUSU9OUycgfCAnU1RBTkRBUkRTJyB8ICdJTlRFUk5BTF9DT05UUk9MUycgfCdPVEhFUlMnKXtcclxuICAgIHRoaXMuYWN0aXZlRnJhbWV3b3JrVHlwZSA9IHR5cGU7XHJcbiAgICB0aGlzLmFwaUZyYW1ld29ya1BheWxvYWQucGFnZSA9IDE7XHJcbiAgICB0aGlzLmFwaUZyYW1ld29ya1BheWxvYWQudHlwZSA9IHRoaXMuZnJhbWV3b3JrVHlwZXNbdHlwZV07XHJcbiAgICB0aGlzLmZyYW1ld29ya0xpc3RTdWJzY3JpcHRpb24gPyAgdGhpcy5mcmFtZXdvcmtMaXN0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkgOm51bGw7XHJcbiAgICB0aGlzLmZldGNoRnJhbWV3b3JrQ2F0ZWdvcnlMaXN0KClcclxuICB9XHJcblxyXG4gIGV4ZWN1dGVTZWFyY2goKXtcclxuICAgIHRoaXMuYXBpRnJhbWV3b3JrUGF5bG9hZC5wYWdlPTE7XHJcbiAgICB0aGlzLmFwaUZyYW1ld29ya1BheWxvYWQuc2VhcmNoID0gdGhpcy5zZWFyY2hLZXk7XHJcbiAgICB0aGlzLmZldGNoRnJhbWV3b3JrQ2F0ZWdvcnlMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBwYWdlQ2hhbmdlZChldnQ6YW55KXtcclxuXHJcbiAgICB0aGlzLmFwaUZyYW1ld29ya1BheWxvYWQucGFnZSA9IGV2dDtcclxuICAgIHRoaXMuZmV0Y2hGcmFtZXdvcmtDYXRlZ29yeUxpc3QoKVxyXG4gIH1cclxuXHJcblxyXG4gIGZldGNoRnJhbWV3b3JrQ2F0ZWdvcnlMaXN0KCl7XHJcbiAgICB0aGlzLmlzTWFpbkxvYWRlciA9IHRydWU7XHJcbiAgICB0aGlzLmZyYW1ld29ya0xpc3RTdWJzY3JpcHRpb24gPSB0aGlzLmZyYW1ld29ya1NlcnZpY2UuZmV0Y2hGcmFtZXdvcmtJbkNhdGVnb3J5KHRoaXMuYXBpRnJhbWV3b3JrUGF5bG9hZCkuc3Vic2NyaWJlKHtcclxuICAgIG5leHQ6KHJlczphbnkpPT57XHJcbiAgICAgIGNvbnNvbGUubG9nKFwicmVzcG9uc2VcIixyZXMpO3RoaXMuZnJhbWV3b3JrRGF0YSA9IHJlcyA7IHRoaXMuaXNNYWluTG9hZGVyID0gZmFsc2V9LFxyXG4gICAgZXJyb3I6KCk9Pnt0aGlzLmlzTWFpbkxvYWRlciA9IGZhbHNlfVxyXG4gIH0pXHJcbiAgfVxyXG4gIHNlbGVjdGVkRnJhbWV3b3JrICE6YW55XHJcbiAgc2VsZWN0RnJhbWV3b3JrKGV2dDphbnksZnJhbWV3b3JrOmFueSl7XHJcbiAgICBpZihldnQ/LnRhcmdldD8uY2hlY2tlZCl7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGcmFtZXdvcmsgID0gZnJhbWV3b3JrO1xyXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLnNlbGVjdGVkRnJhbWV3b3JrKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwYW5kZWRGcmFtZXdvcmtJZDphbnkgPSAnJztcclxuICBleHBhbmRDb2xsYXBzZUZyYW1ld29yayhmcmFtZXdvcms6YW55KXtcclxuICAgIGlmKHRoaXMuZXhwYW5kZWRGcmFtZXdvcmtJZCA9PT0gZnJhbWV3b3JrPy5faWQpe1xyXG4gICAgICB0aGlzLmV4cGFuZGVkRnJhbWV3b3JrSWQgPSAnJ1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuZXhwYW5kZWRGcmFtZXdvcmtJZCA9IGZyYW1ld29yaz8uX2lkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVtb3ZlU2VsZWN0ZWRGcmFtZXdvcmsoKXtcclxuICAgIHRoaXMuc2VsZWN0ZWRGcmFtZXdvcmsgPSBudWxsO1xyXG4gICAgdGhpcy5zZWxlY3RlZEZyYW1ld29ya0RhdGEgPSBudWxsO1xyXG4gIH1cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuc2VhcmNoS2V5Zm9yRnJhbWV3b3JrID0gJyc7XHJcbiAgc2VsZWN0ZWRGcmFtZXdvcmtEYXRhOmFueT0gbnVsbDtcclxuICBhbGxDb250cm9sczphbnkgPSBbXVxyXG4gIGluU2NvcGU6YW55ID0gW107XHJcbiAgb3V0U2NvcGU6YW55ID0gW107XHJcbiAgaW5TY29wZUlkczphbnkgPVtdO1xyXG4gIGFsbENvbnRyb2xzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICBpc3N1YkxvYWRpbmcgPSB0cnVlO1xyXG4gIGxvYWRGcmFtZXdvcmtEYXRhKCl7XHJcbiAgICB0aGlzLmlzc3ViTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmZyYW1ld29ya1NlcnZpY2UuZmV0Y2hDYXRlZ29yeUZvckZyYW1ld29yayh0aGlzLnNlbGVjdGVkRnJhbWV3b3JrPy5faWQpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6KHJlczphbnkpPT57XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJuZXN0ZWRcIixyZXMpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRGcmFtZXdvcmtEYXRhID0gcmVzO1xyXG4gICAgICAgIHRoaXMuY2hlY2tBbGxFbGVtZW50cyh0aGlzLm1vZGUgPT09ICdFRElUJyA/IGZhbHNlIDogdHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5pc3N1YkxvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOigpPT57ICB0aGlzLmlzc3ViTG9hZGluZyA9IGZhbHNlO31cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBjaGVja0FsbEVsZW1lbnRzKHBvcHVsYXRlSW5TY29wZTogYW55KXtcclxuICAgIGxldCBhbGxFbGVtZW50OmFueSA9IFtdXHJcbiAgICB0aGlzLnNlbGVjdGVkRnJhbWV3b3JrRGF0YS5kYXRhPy5jaGlsZF9saXN0X2RldGFpbHM/LmZvckVhY2goKGVsZW1lbnQ6YW55KSA9PiB7XHJcbiAgICAgICBlbGVtZW50Py5jb250cm9sc0RhdGEuZm9yRWFjaCgoZWw6YW55KSA9PiB7YWxsRWxlbWVudC5wdXNoKGVsKX0pXHJcbiAgICB9KTtcclxuICAgIHRoaXMuYWxsQ29udHJvbHMgPSB0aGlzLnVuaXF1ZUJ5UHJvcChhbGxFbGVtZW50LCdfaWQnKTtcclxuICAgIGlmKHBvcHVsYXRlSW5TY29wZSl7XHJcbiAgICAgIHRoaXMuaW5TY29wZSA9IHRoaXMudW5pcXVlQnlQcm9wKGFsbEVsZW1lbnQsJ19pZCcpO1xyXG4gICAgfVxyXG4gICBcclxuICAgIHRoaXMuY2hlY2tTZWxlY3RBbGwoKTtcclxuICAgIHRoaXMuc2V0SW5zY29wZUlkcygpO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tTZWxlY3RBbGwoKXtcclxuICAgIGNvbnN0IGFsbElkcyA9IHRoaXMuYWxsQ29udHJvbHMubWFwKChlbGU6YW55KSA9PiBlbGU/Ll9pZCk7XHJcbiAgICBjb25zdCBpblNjb3BlSWRzID0gdGhpcy5pblNjb3BlLm1hcCgoZWxlOmFueSkgPT4gZWxlPy5faWQpO1xyXG4gICAgdGhpcy5hbGxDb250cm9sc1NlbGVjdGVkID0gYWxsSWRzLnNvcnQoKT8udG9TdHJpbmcoKSA9PT0gaW5TY29wZUlkcy5zb3J0KCk/LnRvU3RyaW5nKClcclxuICB9XHJcbiBzZWxlY3RBbGwoZXZ0OmFueSl7XHJcbiAgICBpZihldnQ/LnRhcmdldD8uY2hlY2tlZCl7XHJcbiAgICAgIHRoaXMuY2hlY2tBbGxFbGVtZW50cyh0cnVlKTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLmluU2NvcGUgPSBbXTtcclxuICAgICAgdGhpcy5pblNjb3BlSWRzID0gW107XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoZWNrU2VsZWN0QWxsKCk7XHJcbiB9XHJcbiAgc2V0SW5zY29wZUlkcygpe1xyXG4gICAgdGhpcy5pblNjb3BlSWRzID0gdGhpcy5pblNjb3BlLm1hcCgoZWw6YW55KSA9PiBlbD8uX2lkKVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0SXRlbShldnQ6YW55LHBheWxvYWQ6YW55KXtcclxuICAgIGV2dD8udGFyZ2V0Py5jaGVja2VkID09PSB0cnVlID8gdGhpcy5tYW5pcHVsYXRlSXRlbSgnQUREJywgcGF5bG9hZCkgOiB0aGlzLm1hbmlwdWxhdGVJdGVtKCdERUxFVEUnLCBwYXlsb2FkKVxyXG4gIH1cclxuICBtYW5pcHVsYXRlSXRlbShhY3Rpb246ICdBREQnIHwgJ0RFTEVURScsIHBheWxvYWQ6IGFueSkge1xyXG4gICAgaWYgKGFjdGlvbiA9PT0gJ0FERCcpIHtcclxuICAgICAgdGhpcy5pblNjb3BlID0gdGhpcy51bmlxdWVCeVByb3AoWy4uLnRoaXMuaW5TY29wZSwgLi4uW3BheWxvYWRdXSwgJ19pZCcpO1xyXG4gICAgICB0aGlzLmluU2NvcGVJZHMgPSB0aGlzLmluU2NvcGUubWFwKChlbGU6IGFueSkgPT4gZWxlPy5faWQpXHJcbiAgICB9IGVsc2UgaWYgKGFjdGlvbiA9PT0gJ0RFTEVURScpIHtcclxuICAgICAgbGV0IGluZGV4ID0gdGhpcy5pblNjb3BlLmZpbmRJbmRleCgoZWxlOiBhbnkpID0+IGVsZT8uX2lkID09PSBwYXlsb2FkPy5faWQpO1xyXG4gICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgIHRoaXMuaW5TY29wZSA9IHRoaXMuaW5TY29wZS5maWx0ZXIoKGVsZTogYW55KSA9PiBlbGU/Ll9pZCAhPT0gcGF5bG9hZD8uX2lkKTtcclxuICAgICAgICB0aGlzLmluU2NvcGVJZHMgPSB0aGlzLmluU2NvcGUubWFwKChlbGU6IGFueSkgPT4gZWxlPy5faWQpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgdGhpcy5jaGVja1NlbGVjdEFsbCgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0Q2F0ZWdvcnkoZXZ0OmFueSxwYXlsb2FkOmFueSl7XHJcbiAgICBldnQ/LnRhcmdldD8uY2hlY2tlZCA9PT0gdHJ1ZSA/IHRoaXMubWFuaXB1bGF0ZUNhdGVnb3J5KCdBREQnLCBwYXlsb2FkKSA6IHRoaXMubWFuaXB1bGF0ZUNhdGVnb3J5KCdERUxFVEUnLCBwYXlsb2FkKVxyXG4gIH1cclxuICBtYW5pcHVsYXRlQ2F0ZWdvcnkoYWN0aW9uOiAnQUREJyB8ICdERUxFVEUnLCBwYXlsb2FkOiBhbnkpIHtcclxuICAgIGlmIChhY3Rpb24gPT09ICdBREQnKSB7XHJcbiAgICAgIGNvbnN0IGl0ZW1zVG9iZUFkZGVkID0gcGF5bG9hZD8uY29udHJvbHNEYXRhOyBcclxuICAgICAgdGhpcy5pblNjb3BlID0gdGhpcy51bmlxdWVCeVByb3AoWy4uLnRoaXMuaW5TY29wZSwgLi4uaXRlbXNUb2JlQWRkZWRdLCAnX2lkJyk7XHJcbiAgICAgIHRoaXMuaW5TY29wZUlkcyA9IHRoaXMuaW5TY29wZS5tYXAoKGVsZTogYW55KSA9PiBlbGU/Ll9pZClcclxuICAgIH0gZWxzZSBpZiAoYWN0aW9uID09PSAnREVMRVRFJykge1xyXG4gICAgICBjb25zdCBpdGVtc1RvYmVSZW1vdmVkID0gcGF5bG9hZD8uY29udHJvbHNEYXRhLm1hcCgoZWw6YW55KT0+IGVsLl9pZCk7IFxyXG4gICAgICAgdGhpcy5pblNjb3BlID0gdGhpcy5pblNjb3BlLmZpbHRlcigoZWxlOmFueSk9PiAhaXRlbXNUb2JlUmVtb3ZlZC5pbmNsdWRlcyhlbGUuX2lkKSk7XHJcbiAgICAgICB0aGlzLmluU2NvcGVJZHMgPSB0aGlzLmluU2NvcGUubWFwKChlbGU6IGFueSkgPT4gZWxlPy5faWQpXHJcbiAgICAgXHJcbiAgICB9XHJcbiAgIHRoaXMuY2hlY2tTZWxlY3RBbGwoKTtcclxuICB9XHJcblxyXG4gIG5leHRIYW5kbGVyKCl7XHJcbiAgICBpZih0aGlzLmN1cnJlbnRWaWV3ID09PSAnRlJBTUVXT1JLX0NBVEVHT1JZJyl7XHJcbiAgICAgIHRoaXMuY3VycmVudFZpZXcgPSAnRlJBTUVXT1JLJztcclxuICAgICAgdGhpcy5sb2FkRnJhbWV3b3JrRGF0YSgpO1xyXG4gICAgfVxyXG4gICAgZWxzZXtcclxuICAgICAgdGhpcy5uZXh0LmVtaXQoey4uLnRoaXMuc2VsZWN0ZWRGcmFtZXdvcmssaW5fc2NvcGU6dGhpcy5pblNjb3BlLG91dF9zY29wZTogdGhpcy5hbGxDb250cm9scy5maWx0ZXIoKGVsZTphbnkpPT4gIXRoaXMuaW5TY29wZUlkcy5pbmNsdWRlcyhlbGU/Ll9pZCkpfSk7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiRmluYWwgcGF5bG9hZFwiLHsuLi50aGlzLnNlbGVjdGVkRnJhbWV3b3JrLGluX3Njb3BlOnRoaXMuaW5TY29wZSxvdXRTY29wZTogdGhpcy5hbGxDb250cm9scy5maWx0ZXIoKGVsZTphbnkpPT4gIXRoaXMuaW5TY29wZUlkcy5pbmNsdWRlcyhlbGU/Ll9pZCkpfSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNhbmNlbEhhbmRsZXIoKXtcclxuICAgIGlmKHRoaXMuY3VycmVudFZpZXcgPT09ICdGUkFNRVdPUksnKXtcclxuICAgICAgdGhpcy5jdXJyZW50VmlldyA9ICdGUkFNRVdPUktfQ0FURUdPUlknO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBleHBhbmRlZFN1YkNhdGVnb3J5SWRzOmFueSA9IFtdO1xyXG4gIHN1YkNhdGVnb3J5RXhwYW5kQ29sbGFwc2UoY2F0ZWdvcnk6YW55KXtcclxuICAgIGNvbnNvbGUubG9nKGNhdGVnb3J5KVxyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmV4cGFuZGVkU3ViQ2F0ZWdvcnlJZHMuaW5kZXhPZihjYXRlZ29yeT8uX2lkKTtcclxuICAgIGlmKGluZGV4IDwgMCAmJiBjYXRlZ29yeT8uY29udHJvbHNEYXRhPy5sZW5ndGgpe1xyXG4gICAgICB0aGlzLmV4cGFuZGVkU3ViQ2F0ZWdvcnlJZHMucHVzaChjYXRlZ29yeT8uX2lkKVxyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMuZXhwYW5kZWRTdWJDYXRlZ29yeUlkcy5zcGxpY2UoaW5kZXgsMSlcclxuICAgIH1cclxuICB9XHJcbiAgdW5pcXVlQnlQcm9wKGFycmF5OiBhbnksIGtleTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gQXJyYXkuZnJvbShcclxuICAgICAgYXJyYXlcclxuICAgICAgICAucmVkdWNlKFxyXG4gICAgICAgICAgKGFjYzogYW55LCBpdGVtOiBhbnkpID0+IChcclxuICAgICAgICAgICAgaXRlbSAmJiBpdGVtW2tleV0gJiYgYWNjLnNldChpdGVtW2tleV0sIGl0ZW0pLFxyXG4gICAgICAgICAgICBhY2NcclxuICAgICAgICAgICksXHJcbiAgICAgICAgICBuZXcgTWFwKClcclxuICAgICAgICApXHJcbiAgICAgICAgLnZhbHVlcygpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImRlZmluZS1mcmFtZXdvcmstbGlzdGluZ1wiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRWaWV3PT09J0ZSQU1FV09SS19DQVRFR09SWSdcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLWhlYWRcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJkZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmctdGl0bGVcIj5TZWxlY3QgYSBGcmFtZXdvcms8L2gzPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInRydWVcIiBjbGFzcz1cImRlZmluZS1mcmFtZXdvcmstbGlzdGluZy1ib2R5XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LW1iLTJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cImNoYW5nZVR5cGUoJ1JFR1VMQVRJT05TJylcIiBjbGFzcz1cInZ4LXRhYmxlLWNhcmQgdngtYmctd2hpdGUgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXIgdngtbXItMSB2eC1wdC0yIHZ4LXBiLTIgdngtcGwtMyB2eC1wci0zIHZ4LXctMTAwXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVGcmFtZXdvcmtUeXBlID09PSdSRUdVTEFUSU9OUydcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1wYXJhZ3JhcGgtdHh0IHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXJcIj5SRUdVTEFUSU9OUzwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodCB2eC1kLWZsZXggdngtanVzdGlmeS1lbmQgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2eC10eHQtd2hpdGUgdngtZnctNTAwIHZ4LWQtaW5saW5lLWJsb2NrIHZ4LXRleHQtY2VudGVyXCI+e3tmcmFtZXdvcmtDb3VudD8ucmVndWxhdGlvbnMgPz8gJy0tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IChjbGljayk9XCJjaGFuZ2VUeXBlKCdTVEFOREFSRFMnKVwiIGNsYXNzPVwidngtdGFibGUtY2FyZCB2eC1iZy13aGl0ZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlciB2eC1tci0xIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTMgdngtdy0xMDBcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZUZyYW1ld29ya1R5cGUgPT09J1NUQU5EQVJEUydcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1wYXJhZ3JhcGgtdHh0IHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXJcIj5TVEFOREFSRFM8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQgdngtZC1mbGV4IHZ4LWp1c3RpZnktZW5kIHZ4LXctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidngtdHh0LXdoaXRlIHZ4LWZ3LTUwMCB2eC1kLWlubGluZS1ibG9jayB2eC10ZXh0LWNlbnRlclwiPnt7ZnJhbWV3b3JrQ291bnQ/LnN0YW5kYXJkcyA/PyctLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwiY2hhbmdlVHlwZSgnSU5URVJOQUxfQ09OVFJPTFMnKVwiIGNsYXNzPVwidngtdGFibGUtY2FyZCB2eC1iZy13aGl0ZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlciB2eC1tci0xIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTMgdngtdy0xMDBcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZUZyYW1ld29ya1R5cGUgPT09J0lOVEVSTkFMX0NPTlRST0xTJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0IHZ4LWQtYmxvY2sgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZ4LXBhcmFncmFwaC10eHQgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlclwiPklOVEVSTkFMIENPTlRST0xTPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0IHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWVuZCB2eC13LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZ4LXR4dC13aGl0ZSB2eC1mdy01MDAgdngtZC1pbmxpbmUtYmxvY2sgdngtdGV4dC1jZW50ZXJcIj57e2ZyYW1ld29ya0NvdW50Py5pbnRlcm5hbENvbnRyb2xzPz8nLS0nfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cImNoYW5nZVR5cGUoJ09USEVSUycpXCIgY2xhc3M9XCJ2eC10YWJsZS1jYXJkIHZ4LWJnLXdoaXRlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyIHZ4LW1yLTEgdngtcHQtMiB2eC1wYi0yIHZ4LXBsLTMgdngtcHItMyB2eC13LTEwMFwiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlRnJhbWV3b3JrVHlwZSA9PT0nT1RIRVJTJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0IHZ4LWQtYmxvY2sgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZ4LXBhcmFncmFwaC10eHQgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlclwiPk9USEVSUzwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodCB2eC1kLWZsZXggdngtanVzdGlmeS1lbmQgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2eC10eHQtd2hpdGUgdngtZnctNTAwIHZ4LWQtaW5saW5lLWJsb2NrIHZ4LXRleHQtY2VudGVyXCI+e3tmcmFtZXdvcmtDb3VudD8ub3RoZXJzID8/ICctLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtYmxvY2tcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGI7PC9pPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCBGcmFtZXdvcmtzXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hLZXlcIiAoa2V5dXAuZW50ZXIpPVwiZXhlY3V0ZVNlYXJjaCgpXCIvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LW10LTJcIiAqbmdJZj1cImlzTWFpbkxvYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGZyYW1ld29yay1sb2FkZXI+PC9mcmFtZXdvcmstbG9hZGVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNNYWluTG9hZGVyICYmIGZyYW1ld29ya0RhdGE/LnRvdGFsX2l0ZW1zID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LW10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dnVpLXBhZ2luYXRpb24gKHBhZ2VDaGFuZ2VkKT1cInBhZ2VDaGFuZ2VkKCRldmVudClcIiBbZnJvbV09XCJmcmFtZXdvcmtEYXRhPy5pdGVtc19mcm9tXCIgW3RvXT1cImZyYW1ld29ya0RhdGE/Lml0ZW1zX3RvXCIgW3RvdGFsXT1cImZyYW1ld29ya0RhdGE/LnRvdGFsX2l0ZW1zXCIgW3RvdGFsUGFnZV09XCJmcmFtZXdvcmtEYXRhPy50b3RhbF9wYWdlc1wiIFtjdXJyZW50UGFnZV09XCJhcGlGcmFtZXdvcmtQYXlsb2FkPy5wYWdlXCI+PC92dWktcGFnaW5hdGlvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlZmluZS1mcmFtZXdvcmstbGlzdGluZy10YWJsZSB2eC1tdC0xXCIgW2NsYXNzLndpdGgtcGFnaW5hdGlvbl09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHdoZW4gY2hlY2tib3ggd2FzIGNoZWNrZWQgdGhlbiBzaG93IFwiYWN0aXZlXCIgY2xhc3MgaW4gdGFibGUtcm93IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCIgW2NsYXNzLmFjdGl2ZV09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxhcHAtY3MtY2hlY2tib3ggKm5nSWY9XCJ0cnVlXCI+PC9hcHAtY3MtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1jcy1jaGVja2JveC1pbmRldGVybWluYXRlICpuZ0lmPVwiZmFsc2VcIj48L2FwcC1jcy1jaGVja2JveC1pbmRldGVybWluYXRlPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIGNhdGVnb3J5XCI+RlJBTUVXT1JLUzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIGFjdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtaXRlbVwiIFtjbGFzcy5vcGVuXT1cImhpZGVDYXRlZ29yeUxpc3RcIiAqbmdGb3I9XCJsZXQgZnJhbWV3b3JrIG9mIGZyYW1ld29ya0RhdGE/LmRhdGE7bGV0IGk9aW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gd2hlbiBjaGVja2JveCB3YXMgY2hlY2tlZCB0aGVuIHNob3cgXCJhY3RpdmVcIiBjbGFzcyBpbiB0YWJsZS1yb3cgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93IG1haW5cIiAoY2xpY2spPVwiZXhwYW5kQ29sbGFwc2VGcmFtZXdvcmsoZnJhbWV3b3JrKVwiIFtjbGFzcy5hY3RpdmVdPVwic2VsZWN0ZWRGcmFtZXdvcms/LmZyYW1ld29ya19pZCA9PT0gZnJhbWV3b3JrPy5mcmFtZXdvcmtfaWRcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIWZyYW1ld29yaz8uY2hpbGRfbGlzdF9kZXRhaWxzPy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Itbm9cIj57e2FwaUZyYW1ld29ya1BheWxvYWQ/LnBhZ2UgfCBwYWdlcjppfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1jcy1yYWRpbyBbY2hlY2tlZF09XCJzZWxlY3RlZEZyYW1ld29yaz8uZnJhbWV3b3JrX2lkID09PSBmcmFtZXdvcms/LmZyYW1ld29ya19pZFwiIChjaGVja2VkRXZlbnQpPVwic2VsZWN0RnJhbWV3b3JrKCRldmVudCxmcmFtZXdvcmspXCI+PC9hcHAtY3MtcmFkaW8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBjYXRlZ29yeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2F0ZWdvcnktbmFtZSB2eC1mcy0xMyB2eC1sYWJlbC10eHRcIiBbYXBwVG9vbHRpcF09XCJmcmFtZXdvcms/LmZyYW1ld29ya19uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPnt7ZnJhbWV3b3JrPy5mcmFtZXdvcmtfbmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlciBhY3Rpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImFycm93LWJ0biB2eC1mcy0xNCB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1kLWZsZXhcIiAoY2xpY2spPVwiZXhwYW5kQ29sbGFwc2VGcmFtZXdvcmsoZnJhbWV3b3JrKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJleHBhbmRlZEZyYW1ld29ya0lkICE9PSBmcmFtZXdvcms/LmZyYW1ld29ya19pZFwiPiYjeGU5NzA7PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImV4cGFuZGVkRnJhbWV3b3JrSWQgPT09IGZyYW1ld29yaz8uZnJhbWV3b3JrX2lkXCI+JiN4ZTllODs8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gc3ViIHRhYmxlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImV4cGFuZGVkRnJhbWV3b3JrSWQgPT09IGZyYW1ld29yaz8uX2lkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvdyBjaGlsZFwiICpuZ0Zvcj1cImxldCBzdWJDYXQgb2YgZnJhbWV3b3JrPy5jaGlsZF9saXN0X2RldGFpbHM7IGxldCB4ID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzci1ub1wiIFthcHBUb29sdGlwXT1cIlwiIHBsYWNlbWVudD1cImJvdHRvbVwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj57eyhhcGlGcmFtZXdvcmtQYXlsb2FkPy5wYWdlIHwgcGFnZXI6aSkgKyAnLicgKyAoeCsxKX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIGNhdGVnb3J5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1ibG9jayB2eC13LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXRlZ29yeS1uYW1lIHZ4LWZzLTEyIHZ4LXBhcmFncmFwaC10eHRcIiBbYXBwVG9vbHRpcF09XCJzdWJDYXQ/Lm5hbWVcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+e3tzdWJDYXQ/Lm5hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aXRoaW5cIiAqbmdJZj1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9ja1wiPldJVEhJTjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0YVwiIFthcHBUb29sdGlwXT1cIidLb2xrYXRhID4gQW1lcmljYSA+IFNvdXRoIEFmcmljYSdcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+S29sa2F0YSA+IEFtZXJpY2EgPiBTb3V0aCBBZnJpY2E8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlciBhY3Rpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPGFwcC1uby1kYXRhICpuZ0lmPVwiIWlzTWFpbkxvYWRlciAmJiBmcmFtZXdvcmtEYXRhPy50b3RhbF9pdGVtcyA8PSAwXCIgIFtub0RhdGFJbWFnZV09XCInaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3NlYXJjaC1kYXRhLnN2ZydcIiBbbm9EYXRhVGV4dF09XCInTm8gRnJhbWV3b3JrcyBGb3VuZCdcIj48L2FwcC1uby1kYXRhPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudFZpZXc9PT0nRlJBTUVXT1JLJ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmctaGVhZFwiPlxyXG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJkZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmctdGl0bGVcIj5GcmFtZXdvcms6IHt7c2VsZWN0ZWRGcmFtZXdvcms/LmZyYW1ld29ya19uYW1lfX08L2gzPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwidHJ1ZVwiIGNsYXNzPVwiZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLWJvZHkgYWZ0ZXItZnJhbWV3b3JrLWxpc3RpbmdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtbWItMlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LXRhYmxlLWNhcmQgdngtYmctd2hpdGUgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXIgdngtbXItMSB2eC1wdC0yIHZ4LXBiLTIgdngtcGwtMyB2eC1wci0zIHZ4LXctMTAwXCIgW2NsYXNzLmFjdGl2ZV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQgdngtZC1ibG9jayB2eC13LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtcGFyYWdyYXBoLXR4dCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyXCI+VE9UQUwgUkVTUE9OU0lCSUxJVElFUzwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodCB2eC1kLWZsZXggdngtanVzdGlmeS1lbmQgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2eC10eHQtd2hpdGUgdngtZnctNTAwIHZ4LWQtaW5saW5lLWJsb2NrIHZ4LXRleHQtY2VudGVyXCI+e3thbGxDb250cm9scz8ubGVuZ3RofX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC10YWJsZS1jYXJkIHZ4LWJnLXdoaXRlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyIHZ4LW1yLTEgdngtcHQtMiB2eC1wYi0yIHZ4LXBsLTMgdngtcHItMyB2eC13LTEwMFwiIFtjbGFzcy5hY3RpdmVdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1wYXJhZ3JhcGgtdHh0IHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXJcIj5SRVNQT05TSUJJTElUSUVTIElOIFNDT1BFPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0IHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWVuZCB2eC13LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZ4LXR4dC13aGl0ZSB2eC1mdy01MDAgdngtZC1pbmxpbmUtYmxvY2sgdngtdGV4dC1jZW50ZXJcIj57e2luU2NvcGUubGVuZ3RofX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC10YWJsZS1jYXJkIHZ4LWJnLXdoaXRlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyIHZ4LW1yLTEgdngtcHQtMiB2eC1wYi0yIHZ4LXBsLTMgdngtcHItMyB2eC13LTEwMFwiIFtjbGFzcy5hY3RpdmVdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1wYXJhZ3JhcGgtdHh0IHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXJcIj5SRVNQT05TSUJJTElUSUVTIE5PVCBJTiBTQ09QRTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodCB2eC1kLWZsZXggdngtanVzdGlmeS1lbmQgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2eC10eHQtd2hpdGUgdngtZnctNTAwIHZ4LWQtaW5saW5lLWJsb2NrIHZ4LXRleHQtY2VudGVyXCI+e3thbGxDb250cm9scz8ubGVuZ3RoIC0gaW5TY29wZT8ubGVuZ3RofX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJzZWFyY2hLZXlmb3JGcmFtZXdvcmtcIiB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInZ4LW10LTJcIj5cclxuICAgICAgICAgICAgICAgIDx2dWktcGFnaW5hdGlvbj48L3Z1aS1wYWdpbmF0aW9uPlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmctdGFibGUgdngtbXQtMVwiIFtjbGFzcy53aXRoLXBhZ2luYXRpb25dPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LW10LTJcIiAqbmdJZj1cImlzc3ViTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmcmFtZXdvcmstbG9hZGVyPjwvZnJhbWV3b3JrLWxvYWRlcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc3N1YkxvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoc2VsZWN0ZWRGcmFtZXdvcmtEYXRhPy5kYXRhPy5jaGlsZF9saXN0X2RldGFpbHMgfCBzZWFyY2hQaXBlIDpzZWFyY2hLZXlmb3JGcmFtZXdvcmspIGFzIGZyYW1ld29ya0NhdCBcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmcmFtZXdvcmtDYXQ/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLWFyZWFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dnVpLWNoZWNrYm94ICNjaGVjayAoY2hhbmdlKT1cInNlbGVjdEFsbCgkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImFsbENvbnRyb2xzPy5sZW5ndGggPCAxXCIgW2NoZWNrZWRdPVwiKGFsbENvbnRyb2xzU2VsZWN0ZWQgJiYgaXNTY29wZT8ubGVuZ3RoID4gMCkgfHwgaW5TY29wZT8ubGVuZ3RoID4gMFwiIFtpbmRldGVybWluYXRlRW5hYmxlZF0gPSBcImluU2NvcGU/Lmxlbmd0aCA+IDAgJiYgIWFsbENvbnRyb2xzU2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7Y2hlY2s/LmNoZWNrZWQgPyAnRGVzZWxlY3QgQWxsJyA6J1NlbGVjdCBBbGwnfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3Z1aS1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmFtLWxpc3RpbmctaXRlbVwiIFtjbGFzcy5hY3RpdmVdPVwic3ViTGlzdFwiICpuZ0Zvcj1cImxldCBzdWJDYXQgb2YgZnJhbWV3b3JrQ2F0O2xldCBrID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93IG1haW4tbGlzdFwiIFtjbGFzcy5hY3RpdmVdPVwiZmFsc2VcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIXN1YkNhdD8uY29udHJvbHNEYXRhPy5sZW5ndGhcIiAoY2xpY2spPVwic3ViQ2F0ZWdvcnlFeHBhbmRDb2xsYXBzZShzdWJDYXQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gc2VyaWFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Itbm9cIj57e2srMX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2dWktY2hlY2tib3ggW2luZGV0ZXJtaW5hdGVFbmFibGVkXSA9IFwic3ViQ2F0Py5jb250cm9sc0RhdGF8c3ViQ2F0SW5kZXRlcjppblNjb3BlIFwiICBbY2hlY2tlZF09XCIoKHN1YkNhdD8uY29udHJvbHNEYXRhfGNhdGVnb3J5QWxsU2VsZWN0OmluU2NvcGUpIHx8IChzdWJDYXQ/LmNvbnRyb2xzRGF0YXxzdWJDYXRJbmRldGVyOmluU2NvcGUpKSAmJiAgc3ViQ2F0Py5jb250cm9sc0RhdGE/Lmxlbmd0aFwiIChjaGFuZ2UpPVwic2VsZWN0Q2F0ZWdvcnkoJGV2ZW50LHN1YkNhdClcIj48L3Z1aS1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gbmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUtaW5uZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZS13aXRoLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiIFthcHBUb29sdGlwXT1cInN1YkNhdD8ubmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj57e3N1YkNhdD8ubmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY291bnRcIj57e3N1YkNhdD8uY29udHJvbHNEYXRhPy5sZW5ndGh9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2l0aGluLXBhcnRcIiAqbmdJZj1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aGluLWJveFwiPldpdGhpbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiIFthcHBUb29sdGlwXT1cIidTb3V0aCBBZnJpY2EgPiBBbWVyaWNhID4gSW5kaWEnXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPlNvdXRoIEFmcmljYSA+IEFtZXJpY2EgPiBJbmRpYTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiBhY3Rpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJhcnJvd1wiIFtjbGFzcy5kaXNhYmxlZF09XCIhc3ViQ2F0Py5jb250cm9sc0RhdGE/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiIWV4cGFuZGVkU3ViQ2F0ZWdvcnlJZHMuaW5jbHVkZXMoc3ViQ2F0Py5faWQpXCIgY2xhc3M9XCJpY29uc1wiPiYjeGU5NzA7PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiZXhwYW5kZWRTdWJDYXRlZ29yeUlkcy5pbmNsdWRlcyhzdWJDYXQ/Ll9pZClcIiBjbGFzcz1cImljb25zXCI+JiN4ZTllODs8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi1saXN0XCIgKm5nSWY9XCJleHBhbmRlZFN1YkNhdGVnb3J5SWRzLmluY2x1ZGVzKHN1YkNhdD8uX2lkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCIgW2NsYXNzLmRpc2FibGVkXT1cImZhbHNlXCIgKm5nRm9yPVwibGV0IGNvbnRyb2wgb2Ygc3ViQ2F0Py5jb250cm9sc0RhdGE7bGV0IGMgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiBzZXJpYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Itbm9cIj57e2srMSsnLicrKGMrMSl9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2dWktY2hlY2tib3ggW2NoZWNrZWRdPVwiaW5TY29wZUlkcy5pbmNsdWRlcyhjb250cm9sPy5faWQpXCIgKGNoYW5nZSk9XCJzZWxlY3RJdGVtKCRldmVudCxjb250cm9sKVwiPjwvdnVpLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIG5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZS1pbm5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVcIiBbYXBwVG9vbHRpcF09XCJjb250cm9sPy5uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPnt7Y29udHJvbD8ubmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gYWN0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPGFwcC1uby1kYXRhICpuZ0lmPVwiIWZyYW1ld29ya0NhdD8ubGVuZ3RoXCIgW25vRGF0YUltYWdlXT1cIidodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvc2VhcmNoLWRhdGEuc3ZnJ1wiIFtub0RhdGFUZXh0XT1cIidObyBGcmFtZXdvcmtzIEZvdW5kJ1wiPjwvYXBwLW5vLWRhdGE+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPGRpdiBjbGFzcz1cImRlZmluZS1mcmFtZXdvcmstbGlzdGluZy1mb290ZXJcIj5cclxuICAgICAgXHJcbiAgICAgICAgPHZ1aS1mbG9hdGluZy1iYXIgKGNsb3NlRXZlbnQpPVwibmV4dEhhbmRsZXIoKVwiIChjbG9zZUxpc3QpPVwiY2FuY2VsSGFuZGxlcigpXCIgKm5nSWY9XCJjdXJyZW50VmlldyA9PT0nRlJBTUVXT1JLX0NBVEVHT1JZJyBcIiBbbmV4dERpc2FibGVkXT1cIiFzZWxlY3RlZEZyYW1ld29yaz8uX2lkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGlwXCIgKm5nSWY9XCJzZWxlY3RlZEZyYW1ld29ya1wiID5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIiAoY2xpY2spPVwicmVtb3ZlU2VsZWN0ZWRGcmFtZXdvcmsoKVwiPiYjeGU5MGQ7PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+IHt7c2VsZWN0ZWRGcmFtZXdvcms/LmZyYW1ld29ya19uYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3Z1aS1mbG9hdGluZy1iYXI+XHJcbiAgICAgICAgPHZ1aS1mbG9hdGluZy1iYXIgKGNsb3NlRXZlbnQpPVwibmV4dEhhbmRsZXIoKVwiIChjbG9zZUxpc3QpPVwiY2FuY2VsSGFuZGxlcigpXCIgKm5nSWY9XCJjdXJyZW50VmlldyA9PT0nRlJBTUVXT1JLJyBcIiBbbmV4dERpc2FibGVkXT1cImluU2NvcGU/Lmxlbmd0aCA8IDFcIj48L3Z1aS1mbG9hdGluZy1iYXI+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
267
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXByb2dyYW0vY3JlYXRlLXByb2dyYW0tdWkvZGVmaW5lLWZyYW1ld29yay1saXN0aW5nL2RlZmluZS1mcmFtZXdvcmstbGlzdGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1wcm9ncmFtL2NyZWF0ZS1wcm9ncmFtLXVpL2RlZmluZS1mcmFtZXdvcmstbGlzdGluZy9kZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQVMvRSxNQUFNLE9BQU8sK0JBQStCO0lBbUIxQyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQWxCNUMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDNUIsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0IsU0FBSSxHQUFHLFFBQVEsQ0FBQztRQWN6QixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBYWpCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLG1CQUFjLEdBQVEsSUFBSSxDQUFDO1FBVzNCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZix3QkFBbUIsR0FBRztZQUNwQixJQUFJLEVBQUUsQ0FBQztZQUNQLE1BQU0sRUFBRSxFQUFFO1lBQ1YsSUFBSSxFQUFFLENBQUM7U0FDUixDQUFDO1FBQ0YsZ0JBQVcsR0FBdUMsb0JB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LFlBQVksQ0FBQyxLQUFVLEVBQUUsR0FBVztRQUNsQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQ2YsS0FBSzthQUNGLE1BQU0sQ0FDTCxDQUFDLEdBQVEsRUFBRSxJQUFTLEVBQUUsRUFBRSxDQUFDLENBQ3ZCLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUNuRCxFQUNELElBQUksR0FBRyxFQUFFLENBQ1Y7YUFDQSxNQUFNLEVBQUUsQ0FDWixDQUFDO0lBQ0osQ0FBQzs7NEhBalJVLCtCQUErQjtnSEFBL0IsK0JBQStCLGdNQ1Q1QywwbW1CQStPTTsyRkR0T08sK0JBQStCO2tCQUwzQyxTQUFTOytCQUNFLDhCQUE4Qjt1R0FLOUIsTUFBTTtzQkFBZixNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTTtnQkFDRSxJQUFJO3NCQUFaLEtBQUs7Z0JBQzBCLFlBQVk7c0JBQTNDLEtBQUs7dUJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRnJhbWV3b3JrU2VydmljZSB9IGZyb20gJy4vZnJhbWV3b3JrLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZGVmaW5lLWZyYW1ld29yay1saXN0aW5nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmcuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERlZmluZUZyYW1ld29ya0xpc3RpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBPdXRwdXQoKSBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG5leHQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgbW9kZSA9ICdDUkVBVEUnO1xyXG4gIEBJbnB1dCgnc2VsZWN0ZWRGcmFtZXdvcmsnKSBzZXQgc2V0RnJhbWV3b3JrKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh2YWx1ZSAmJiB2YWx1ZT8uX2lkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGcmFtZXdvcmsgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5hY3RpdmVGcmFtZXdvcmtUeXBlID1cclxuICAgICAgICBbJ09USEVSUycsICdSRUdVTEFUSU9OUycsICdTVEFOREFSRFMnLCAnSU5URVJOQUxfQ09OVFJPTFMnXVtcclxuICAgICAgICAgIHZhbHVlPy50eXBlXHJcbiAgICAgICAgXSA/PyAxO1xyXG4gICAgICB0aGlzLmN1cnJlbnRWaWV3ID0gJ0ZSQU1FV09SSyc7XHJcbiAgICAgIHRoaXMuaW5TY29wZSA9IHZhbHVlPy5pbl9zY29wZTtcclxuICAgICAgdGhpcy5pblNjb3BlSWRzID0gdGhpcy5pblNjb3BlLm1hcCgoZWxlOiBhbnkpID0+IGVsZT8uX2lkKTtcclxuICAgICAgdGhpcy5sb2FkRnJhbWV3b3JrRGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBhbmltYXRpb24gPSB0cnVlO1xyXG4gIGZyYW1ld29ya0xpc3RTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmcmFtZXdvcmtTZXJ2aWNlOiBGcmFtZXdvcmtTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYW5pbWF0aW9uID0gdHJ1ZTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFuaW1hdGlvbiA9IGZhbHNlO1xyXG4gICAgfSwgMzAwKTtcclxuICAgIHRoaXMuZmV0Y2hGcmFtZXdvcmtDb3VudCgpO1xyXG4gICAgdGhpcy5mZXRjaEZyYW1ld29ya0NhdGVnb3J5TGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgaXNNYWluTG9hZGVyID0gdHJ1ZTtcclxuICBmcmFtZXdvcmtDb3VudDogYW55ID0gbnVsbDtcclxuICBmZXRjaEZyYW1ld29ya0NvdW50KCkge1xyXG4gICAgdGhpcy5mcmFtZXdvcmtTZXJ2aWNlLmZldGNoRnJhbWV3b3JrQ291bnQoKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmZyYW1ld29ya0NvdW50ID0gcmVzO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgLy9oYW5kbGUgZXJyb3IgaGVyZVxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNlYXJjaEtleSA9ICcnO1xyXG4gIGFwaUZyYW1ld29ya1BheWxvYWQgPSB7XHJcbiAgICBwYWdlOiAxLFxyXG4gICAgc2VhcmNoOiAnJyxcclxuICAgIHR5cGU6IDEsXHJcbiAgfTtcclxuICBjdXJyZW50VmlldzogJ0ZSQU1FV09SS19DQVRFR09SWScgfCAnRlJBTUVXT1JLJyA9ICdGUkFNRVdPUktfQ0FURUdPUlknO1xyXG4gIGFjdGl2ZUZyYW1ld29ya1R5cGU6XHJcbiAgICB8ICdSRUdVTEFUSU9OUydcclxuICAgIHwgJ1NUQU5EQVJEUydcclxuICAgIHwgJ0lOVEVSTkFMX0NPTlRST0xTJ1xyXG4gICAgfCAnT1RIRVJTJ1xyXG4gICAgfCBhbnkgPSAnUkVHVUxBVElPTlMnO1xyXG5cclxuICBmcmFtZXdvcmtUeXBlcyA9IHtcclxuICAgIFJFR1VMQVRJT05TOiAxLFxyXG4gICAgU1RBTkRBUkRTOiAyLFxyXG4gICAgSU5URVJOQUxfQ09OVFJPTFM6IDMsXHJcbiAgICBPVEhFUlM6IDAsXHJcbiAgfTtcclxuXHJcbiAgZnJhbWV3b3JrRGF0YTogYW55ID0gW107XHJcbiAgY2hhbmdlVHlwZShcclxuICAgIHR5cGU6ICdSRUdVTEFUSU9OUycgfCAnU1RBTkRBUkRTJyB8ICdJTlRFUk5BTF9DT05UUk9MUycgfCAnT1RIRVJTJ1xyXG4gICkge1xyXG4gICAgdGhpcy5hY3RpdmVGcmFtZXdvcmtUeXBlID0gdHlwZTtcclxuICAgIHRoaXMuYXBpRnJhbWV3b3JrUGF5bG9hZC5wYWdlID0gMTtcclxuICAgIHRoaXMuYXBpRnJhbWV3b3JrUGF5bG9hZC50eXBlID0gdGhpcy5mcmFtZXdvcmtUeXBlc1t0eXBlXTtcclxuICAgIHRoaXMuZnJhbWV3b3JrTGlzdFN1YnNjcmlwdGlvblxyXG4gICAgICA/IHRoaXMuZnJhbWV3b3JrTGlzdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXHJcbiAgICAgIDogbnVsbDtcclxuICAgIHRoaXMuZmV0Y2hGcmFtZXdvcmtDYXRlZ29yeUxpc3QoKTtcclxuICB9XHJcblxyXG4gIGV4ZWN1dGVTZWFyY2goKSB7XHJcbiAgICB0aGlzLmFwaUZyYW1ld29ya1BheWxvYWQucGFnZSA9IDE7XHJcbiAgICB0aGlzLmFwaUZyYW1ld29ya1BheWxvYWQuc2VhcmNoID0gdGhpcy5zZWFyY2hLZXk7XHJcbiAgICB0aGlzLmZldGNoRnJhbWV3b3JrQ2F0ZWdvcnlMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBwYWdlQ2hhbmdlZChldnQ6IGFueSkge1xyXG4gICAgdGhpcy5hcGlGcmFtZXdvcmtQYXlsb2FkLnBhZ2UgPSBldnQ7XHJcbiAgICB0aGlzLmZldGNoRnJhbWV3b3JrQ2F0ZWdvcnlMaXN0KCk7XHJcbiAgfVxyXG5cclxuICBmZXRjaEZyYW1ld29ya0NhdGVnb3J5TGlzdCgpIHtcclxuICAgIHRoaXMuaXNNYWluTG9hZGVyID0gdHJ1ZTtcclxuICAgIHRoaXMuZnJhbWV3b3JrTGlzdFN1YnNjcmlwdGlvbiA9IHRoaXMuZnJhbWV3b3JrU2VydmljZVxyXG4gICAgICAuZmV0Y2hGcmFtZXdvcmtJbkNhdGVnb3J5KHRoaXMuYXBpRnJhbWV3b3JrUGF5bG9hZClcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmZyYW1ld29ya0RhdGEgPSByZXM7XHJcbiAgICAgICAgICB0aGlzLmlzTWFpbkxvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuaXNNYWluTG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIHNlbGVjdGVkRnJhbWV3b3JrITogYW55O1xyXG4gIHNlbGVjdEZyYW1ld29yayhldnQ6IGFueSwgZnJhbWV3b3JrOiBhbnkpIHtcclxuICAgIGlmIChldnQ/LnRhcmdldD8uY2hlY2tlZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRnJhbWV3b3JrID0gZnJhbWV3b3JrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwYW5kZWRGcmFtZXdvcmtJZDogYW55ID0gJyc7XHJcbiAgZXhwYW5kQ29sbGFwc2VGcmFtZXdvcmsoZnJhbWV3b3JrOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmV4cGFuZGVkRnJhbWV3b3JrSWQgPT09IGZyYW1ld29yaz8uX2lkKSB7XHJcbiAgICAgIHRoaXMuZXhwYW5kZWRGcmFtZXdvcmtJZCA9ICcnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5leHBhbmRlZEZyYW1ld29ya0lkID0gZnJhbWV3b3JrPy5faWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW1vdmVTZWxlY3RlZEZyYW1ld29yaygpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRGcmFtZXdvcmsgPSBudWxsO1xyXG4gICAgdGhpcy5zZWxlY3RlZEZyYW1ld29ya0RhdGEgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG4gIHNlYXJjaEtleWZvckZyYW1ld29yayA9ICcnO1xyXG4gIHNlbGVjdGVkRnJhbWV3b3JrRGF0YTogYW55ID0gbnVsbDtcclxuICBhbGxDb250cm9sczogYW55ID0gW107XHJcbiAgaW5TY29wZTogYW55ID0gW107XHJcbiAgb3V0U2NvcGU6IGFueSA9IFtdO1xyXG4gIGluU2NvcGVJZHM6IGFueSA9IFtdO1xyXG4gIGFsbENvbnRyb2xzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICBpc3N1YkxvYWRpbmcgPSB0cnVlO1xyXG4gIGxvYWRGcmFtZXdvcmtEYXRhKCkge1xyXG4gICAgdGhpcy5pc3N1YkxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5mcmFtZXdvcmtTZXJ2aWNlXHJcbiAgICAgIC5mZXRjaENhdGVnb3J5Rm9yRnJhbWV3b3JrKHRoaXMuc2VsZWN0ZWRGcmFtZXdvcms/Ll9pZClcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkRnJhbWV3b3JrRGF0YSA9IHJlcztcclxuICAgICAgICAgIHRoaXMuY2hlY2tBbGxFbGVtZW50cyh0aGlzLm1vZGUgPT09ICdFRElUJyA/IGZhbHNlIDogdHJ1ZSk7XHJcbiAgICAgICAgICB0aGlzLmlzc3ViTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuaXNzdWJMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBjaGVja0FsbEVsZW1lbnRzKHBvcHVsYXRlSW5TY29wZTogYW55KSB7XHJcbiAgICBsZXQgYWxsRWxlbWVudDogYW55ID0gW107XHJcbiAgICB0aGlzLnNlbGVjdGVkRnJhbWV3b3JrRGF0YS5kYXRhPy5jaGlsZF9saXN0X2RldGFpbHM/LmZvckVhY2goXHJcbiAgICAgIChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICBlbGVtZW50Py5jb250cm9sc0RhdGEuZm9yRWFjaCgoZWw6IGFueSkgPT4ge1xyXG4gICAgICAgICAgYWxsRWxlbWVudC5wdXNoKGVsKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICAgIHRoaXMuYWxsQ29udHJvbHMgPSB0aGlzLnVuaXF1ZUJ5UHJvcChhbGxFbGVtZW50LCAnX2lkJyk7XHJcbiAgICBpZiAocG9wdWxhdGVJblNjb3BlKSB7XHJcbiAgICAgIHRoaXMuaW5TY29wZSA9IHRoaXMudW5pcXVlQnlQcm9wKGFsbEVsZW1lbnQsICdfaWQnKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNoZWNrU2VsZWN0QWxsKCk7XHJcbiAgICB0aGlzLnNldEluc2NvcGVJZHMoKTtcclxuICB9XHJcblxyXG4gIGNoZWNrU2VsZWN0QWxsKCkge1xyXG4gICAgY29uc3QgYWxsSWRzID0gdGhpcy5hbGxDb250cm9scy5tYXAoKGVsZTogYW55KSA9PiBlbGU/Ll9pZCk7XHJcbiAgICBjb25zdCBpblNjb3BlSWRzID0gdGhpcy5pblNjb3BlLm1hcCgoZWxlOiBhbnkpID0+IGVsZT8uX2lkKTtcclxuICAgIHRoaXMuYWxsQ29udHJvbHNTZWxlY3RlZCA9XHJcbiAgICAgIGFsbElkcy5zb3J0KCk/LnRvU3RyaW5nKCkgPT09IGluU2NvcGVJZHMuc29ydCgpPy50b1N0cmluZygpO1xyXG4gIH1cclxuICBzZWxlY3RBbGwoZXZ0OiBhbnkpIHtcclxuICAgIGlmIChldnQ/LnRhcmdldD8uY2hlY2tlZCkge1xyXG4gICAgICB0aGlzLmNoZWNrQWxsRWxlbWVudHModHJ1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmluU2NvcGUgPSBbXTtcclxuICAgICAgdGhpcy5pblNjb3BlSWRzID0gW107XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoZWNrU2VsZWN0QWxsKCk7XHJcbiAgfVxyXG4gIHNldEluc2NvcGVJZHMoKSB7XHJcbiAgICB0aGlzLmluU2NvcGVJZHMgPSB0aGlzLmluU2NvcGUubWFwKChlbDogYW55KSA9PiBlbD8uX2lkKTtcclxuICB9XHJcblxyXG4gIHNlbGVjdEl0ZW0oZXZ0OiBhbnksIHBheWxvYWQ6IGFueSkge1xyXG4gICAgZXZ0Py50YXJnZXQ/LmNoZWNrZWQgPT09IHRydWVcclxuICAgICAgPyB0aGlzLm1hbmlwdWxhdGVJdGVtKCdBREQnLCBwYXlsb2FkKVxyXG4gICAgICA6IHRoaXMubWFuaXB1bGF0ZUl0ZW0oJ0RFTEVURScsIHBheWxvYWQpO1xyXG4gIH1cclxuICBtYW5pcHVsYXRlSXRlbShhY3Rpb246ICdBREQnIHwgJ0RFTEVURScsIHBheWxvYWQ6IGFueSkge1xyXG4gICAgaWYgKGFjdGlvbiA9PT0gJ0FERCcpIHtcclxuICAgICAgdGhpcy5pblNjb3BlID0gdGhpcy51bmlxdWVCeVByb3AoWy4uLnRoaXMuaW5TY29wZSwgLi4uW3BheWxvYWRdXSwgJ19pZCcpO1xyXG4gICAgICB0aGlzLmluU2NvcGVJZHMgPSB0aGlzLmluU2NvcGUubWFwKChlbGU6IGFueSkgPT4gZWxlPy5faWQpO1xyXG4gICAgfSBlbHNlIGlmIChhY3Rpb24gPT09ICdERUxFVEUnKSB7XHJcbiAgICAgIGxldCBpbmRleCA9IHRoaXMuaW5TY29wZS5maW5kSW5kZXgoXHJcbiAgICAgICAgKGVsZTogYW55KSA9PiBlbGU/Ll9pZCA9PT0gcGF5bG9hZD8uX2lkXHJcbiAgICAgICk7XHJcbiAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgdGhpcy5pblNjb3BlID0gdGhpcy5pblNjb3BlLmZpbHRlcihcclxuICAgICAgICAgIChlbGU6IGFueSkgPT4gZWxlPy5faWQgIT09IHBheWxvYWQ/Ll9pZFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5pblNjb3BlSWRzID0gdGhpcy5pblNjb3BlLm1hcCgoZWxlOiBhbnkpID0+IGVsZT8uX2lkKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5jaGVja1NlbGVjdEFsbCgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0Q2F0ZWdvcnkoZXZ0OiBhbnksIHBheWxvYWQ6IGFueSkge1xyXG4gICAgZXZ0Py50YXJnZXQ/LmNoZWNrZWQgPT09IHRydWVcclxuICAgICAgPyB0aGlzLm1hbmlwdWxhdGVDYXRlZ29yeSgnQUREJywgcGF5bG9hZClcclxuICAgICAgOiB0aGlzLm1hbmlwdWxhdGVDYXRlZ29yeSgnREVMRVRFJywgcGF5bG9hZCk7XHJcbiAgfVxyXG4gIG1hbmlwdWxhdGVDYXRlZ29yeShhY3Rpb246ICdBREQnIHwgJ0RFTEVURScsIHBheWxvYWQ6IGFueSkge1xyXG4gICAgaWYgKGFjdGlvbiA9PT0gJ0FERCcpIHtcclxuICAgICAgY29uc3QgaXRlbXNUb2JlQWRkZWQgPSBwYXlsb2FkPy5jb250cm9sc0RhdGE7XHJcbiAgICAgIHRoaXMuaW5TY29wZSA9IHRoaXMudW5pcXVlQnlQcm9wKFxyXG4gICAgICAgIFsuLi50aGlzLmluU2NvcGUsIC4uLml0ZW1zVG9iZUFkZGVkXSxcclxuICAgICAgICAnX2lkJ1xyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmluU2NvcGVJZHMgPSB0aGlzLmluU2NvcGUubWFwKChlbGU6IGFueSkgPT4gZWxlPy5faWQpO1xyXG4gICAgfSBlbHNlIGlmIChhY3Rpb24gPT09ICdERUxFVEUnKSB7XHJcbiAgICAgIGNvbnN0IGl0ZW1zVG9iZVJlbW92ZWQgPSBwYXlsb2FkPy5jb250cm9sc0RhdGEubWFwKChlbDogYW55KSA9PiBlbC5faWQpO1xyXG4gICAgICB0aGlzLmluU2NvcGUgPSB0aGlzLmluU2NvcGUuZmlsdGVyKFxyXG4gICAgICAgIChlbGU6IGFueSkgPT4gIWl0ZW1zVG9iZVJlbW92ZWQuaW5jbHVkZXMoZWxlLl9pZClcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5pblNjb3BlSWRzID0gdGhpcy5pblNjb3BlLm1hcCgoZWxlOiBhbnkpID0+IGVsZT8uX2lkKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2hlY2tTZWxlY3RBbGwoKTtcclxuICB9XHJcblxyXG4gIG5leHRIYW5kbGVyKCkge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudFZpZXcgPT09ICdGUkFNRVdPUktfQ0FURUdPUlknKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFZpZXcgPSAnRlJBTUVXT1JLJztcclxuICAgICAgdGhpcy5sb2FkRnJhbWV3b3JrRGF0YSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5uZXh0LmVtaXQoe1xyXG4gICAgICAgIC4uLnRoaXMuc2VsZWN0ZWRGcmFtZXdvcmssXHJcbiAgICAgICAgaW5fc2NvcGU6IHRoaXMuaW5TY29wZSxcclxuICAgICAgICBvdXRfc2NvcGU6IHRoaXMuYWxsQ29udHJvbHMuZmlsdGVyKFxyXG4gICAgICAgICAgKGVsZTogYW55KSA9PiAhdGhpcy5pblNjb3BlSWRzLmluY2x1ZGVzKGVsZT8uX2lkKVxyXG4gICAgICAgICksXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2FuY2VsSGFuZGxlcigpIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbnRWaWV3ID09PSAnRlJBTUVXT1JLJykge1xyXG4gICAgICB0aGlzLmN1cnJlbnRWaWV3ID0gJ0ZSQU1FV09SS19DQVRFR09SWSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGV4cGFuZGVkU3ViQ2F0ZWdvcnlJZHM6IGFueSA9IFtdO1xyXG4gIHN1YkNhdGVnb3J5RXhwYW5kQ29sbGFwc2UoY2F0ZWdvcnk6IGFueSkge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmV4cGFuZGVkU3ViQ2F0ZWdvcnlJZHMuaW5kZXhPZihjYXRlZ29yeT8uX2lkKTtcclxuICAgIGlmIChpbmRleCA8IDAgJiYgY2F0ZWdvcnk/LmNvbnRyb2xzRGF0YT8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuZXhwYW5kZWRTdWJDYXRlZ29yeUlkcy5wdXNoKGNhdGVnb3J5Py5faWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5leHBhbmRlZFN1YkNhdGVnb3J5SWRzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHVuaXF1ZUJ5UHJvcChhcnJheTogYW55LCBrZXk6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIEFycmF5LmZyb20oXHJcbiAgICAgIGFycmF5XHJcbiAgICAgICAgLnJlZHVjZShcclxuICAgICAgICAgIChhY2M6IGFueSwgaXRlbTogYW55KSA9PiAoXHJcbiAgICAgICAgICAgIGl0ZW0gJiYgaXRlbVtrZXldICYmIGFjYy5zZXQoaXRlbVtrZXldLCBpdGVtKSwgYWNjXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgbmV3IE1hcCgpXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC52YWx1ZXMoKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImRlZmluZS1mcmFtZXdvcmstbGlzdGluZ1wiIFtjbGFzcy5hbmltYXRlXT1cImFuaW1hdGlvblwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1cnJlbnRWaWV3PT09J0ZSQU1FV09SS19DQVRFR09SWSdcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLWhlYWRcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJkZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmctdGl0bGVcIj5TZWxlY3QgYSBGcmFtZXdvcms8L2gzPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInRydWVcIiBjbGFzcz1cImRlZmluZS1mcmFtZXdvcmstbGlzdGluZy1ib2R5XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LW1iLTJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cImNoYW5nZVR5cGUoJ1JFR1VMQVRJT05TJylcIiBjbGFzcz1cInZ4LXRhYmxlLWNhcmQgdngtYmctd2hpdGUgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXIgdngtbXItMSB2eC1wdC0yIHZ4LXBiLTIgdngtcGwtMyB2eC1wci0zIHZ4LXctMTAwXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVGcmFtZXdvcmtUeXBlID09PSdSRUdVTEFUSU9OUydcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1wYXJhZ3JhcGgtdHh0IHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXJcIj5SRUdVTEFUSU9OUzwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodCB2eC1kLWZsZXggdngtanVzdGlmeS1lbmQgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2eC10eHQtd2hpdGUgdngtZnctNTAwIHZ4LWQtaW5saW5lLWJsb2NrIHZ4LXRleHQtY2VudGVyXCI+e3tmcmFtZXdvcmtDb3VudD8ucmVndWxhdGlvbnMgPz8gJy0tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IChjbGljayk9XCJjaGFuZ2VUeXBlKCdTVEFOREFSRFMnKVwiIGNsYXNzPVwidngtdGFibGUtY2FyZCB2eC1iZy13aGl0ZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlciB2eC1tci0xIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTMgdngtdy0xMDBcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZUZyYW1ld29ya1R5cGUgPT09J1NUQU5EQVJEUydcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1wYXJhZ3JhcGgtdHh0IHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXJcIj5TVEFOREFSRFM8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHQgdngtZC1mbGV4IHZ4LWp1c3RpZnktZW5kIHZ4LXctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidngtdHh0LXdoaXRlIHZ4LWZ3LTUwMCB2eC1kLWlubGluZS1ibG9jayB2eC10ZXh0LWNlbnRlclwiPnt7ZnJhbWV3b3JrQ291bnQ/LnN0YW5kYXJkcyA/PyctLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAoY2xpY2spPVwiY2hhbmdlVHlwZSgnSU5URVJOQUxfQ09OVFJPTFMnKVwiIGNsYXNzPVwidngtdGFibGUtY2FyZCB2eC1iZy13aGl0ZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlciB2eC1tci0xIHZ4LXB0LTIgdngtcGItMiB2eC1wbC0zIHZ4LXByLTMgdngtdy0xMDBcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZUZyYW1ld29ya1R5cGUgPT09J0lOVEVSTkFMX0NPTlRST0xTJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0IHZ4LWQtYmxvY2sgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZ4LXBhcmFncmFwaC10eHQgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlclwiPklOVEVSTkFMIENPTlRST0xTPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0IHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWVuZCB2eC13LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZ4LXR4dC13aGl0ZSB2eC1mdy01MDAgdngtZC1pbmxpbmUtYmxvY2sgdngtdGV4dC1jZW50ZXJcIj57e2ZyYW1ld29ya0NvdW50Py5pbnRlcm5hbENvbnRyb2xzPz8nLS0nfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT1cImNoYW5nZVR5cGUoJ09USEVSUycpXCIgY2xhc3M9XCJ2eC10YWJsZS1jYXJkIHZ4LWJnLXdoaXRlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyIHZ4LW1yLTEgdngtcHQtMiB2eC1wYi0yIHZ4LXBsLTMgdngtcHItMyB2eC13LTEwMFwiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlRnJhbWV3b3JrVHlwZSA9PT0nT1RIRVJTJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0IHZ4LWQtYmxvY2sgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cInZ4LXBhcmFncmFwaC10eHQgdngtZnctNTAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1kLWZsZXggdngtanVzdGlmeS1iZXR3ZWVuIHZ4LWFsaWduLWNlbnRlclwiPk9USEVSUzwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodCB2eC1kLWZsZXggdngtanVzdGlmeS1lbmQgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2eC10eHQtd2hpdGUgdngtZnctNTAwIHZ4LWQtaW5saW5lLWJsb2NrIHZ4LXRleHQtY2VudGVyXCI+e3tmcmFtZXdvcmtDb3VudD8ub3RoZXJzID8/ICctLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtYmxvY2tcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGI7PC9pPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCBGcmFtZXdvcmtzXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hLZXlcIiAoa2V5dXAuZW50ZXIpPVwiZXhlY3V0ZVNlYXJjaCgpXCIvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LW10LTJcIiAqbmdJZj1cImlzTWFpbkxvYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGZyYW1ld29yay1sb2FkZXI+PC9mcmFtZXdvcmstbG9hZGVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNNYWluTG9hZGVyICYmIGZyYW1ld29ya0RhdGE/LnRvdGFsX2l0ZW1zID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LW10LTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dnVpLXBhZ2luYXRpb24gKHBhZ2VDaGFuZ2VkKT1cInBhZ2VDaGFuZ2VkKCRldmVudClcIiBbZnJvbV09XCJmcmFtZXdvcmtEYXRhPy5pdGVtc19mcm9tXCIgW3RvXT1cImZyYW1ld29ya0RhdGE/Lml0ZW1zX3RvXCIgW3RvdGFsXT1cImZyYW1ld29ya0RhdGE/LnRvdGFsX2l0ZW1zXCIgW3RvdGFsUGFnZV09XCJmcmFtZXdvcmtEYXRhPy50b3RhbF9wYWdlc1wiIFtjdXJyZW50UGFnZV09XCJhcGlGcmFtZXdvcmtQYXlsb2FkPy5wYWdlXCI+PC92dWktcGFnaW5hdGlvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlZmluZS1mcmFtZXdvcmstbGlzdGluZy10YWJsZSB2eC1tdC0xXCIgW2NsYXNzLndpdGgtcGFnaW5hdGlvbl09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIHdoZW4gY2hlY2tib3ggd2FzIGNoZWNrZWQgdGhlbiBzaG93IFwiYWN0aXZlXCIgY2xhc3MgaW4gdGFibGUtcm93IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCIgW2NsYXNzLmFjdGl2ZV09XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxhcHAtY3MtY2hlY2tib3ggKm5nSWY9XCJ0cnVlXCI+PC9hcHAtY3MtY2hlY2tib3g+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1jcy1jaGVja2JveC1pbmRldGVybWluYXRlICpuZ0lmPVwiZmFsc2VcIj48L2FwcC1jcy1jaGVja2JveC1pbmRldGVybWluYXRlPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIGNhdGVnb3J5XCI+RlJBTUVXT1JLUzwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1mcy0xMCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIGFjdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtYm9keVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtaXRlbVwiIFtjbGFzcy5vcGVuXT1cImhpZGVDYXRlZ29yeUxpc3RcIiAqbmdGb3I9XCJsZXQgZnJhbWV3b3JrIG9mIGZyYW1ld29ya0RhdGE/LmRhdGE7bGV0IGk9aW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gd2hlbiBjaGVja2JveCB3YXMgY2hlY2tlZCB0aGVuIHNob3cgXCJhY3RpdmVcIiBjbGFzcyBpbiB0YWJsZS1yb3cgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93IG1haW5cIiAoY2xpY2spPVwiZXhwYW5kQ29sbGFwc2VGcmFtZXdvcmsoZnJhbWV3b3JrKVwiIFtjbGFzcy5hY3RpdmVdPVwic2VsZWN0ZWRGcmFtZXdvcms/LmZyYW1ld29ya19pZCA9PT0gZnJhbWV3b3JrPy5mcmFtZXdvcmtfaWRcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIWZyYW1ld29yaz8uY2hpbGRfbGlzdF9kZXRhaWxzPy5sZW5ndGhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHNlcmlhbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Itbm9cIj57e2FwaUZyYW1ld29ya1BheWxvYWQ/LnBhZ2UgfCBwYWdlcjppfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1jcy1yYWRpbyBbY2hlY2tlZF09XCJzZWxlY3RlZEZyYW1ld29yaz8uZnJhbWV3b3JrX2lkID09PSBmcmFtZXdvcms/LmZyYW1ld29ya19pZFwiIChjaGVja2VkRXZlbnQpPVwic2VsZWN0RnJhbWV3b3JrKCRldmVudCxmcmFtZXdvcmspXCI+PC9hcHAtY3MtcmFkaW8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBjYXRlZ29yeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2F0ZWdvcnktbmFtZSB2eC1mcy0xMyB2eC1sYWJlbC10eHRcIiBbYXBwVG9vbHRpcF09XCJmcmFtZXdvcms/LmZyYW1ld29ya19uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPnt7ZnJhbWV3b3JrPy5mcmFtZXdvcmtfbmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlciBhY3Rpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImFycm93LWJ0biB2eC1mcy0xNCB2eC1wYXJhZ3JhcGgtdHh0IHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1kLWZsZXhcIiAoY2xpY2spPVwiZXhwYW5kQ29sbGFwc2VGcmFtZXdvcmsoZnJhbWV3b3JrKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJleHBhbmRlZEZyYW1ld29ya0lkICE9PSBmcmFtZXdvcms/LmZyYW1ld29ya19pZFwiPiYjeGU5NzA7PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImV4cGFuZGVkRnJhbWV3b3JrSWQgPT09IGZyYW1ld29yaz8uZnJhbWV3b3JrX2lkXCI+JiN4ZTllODs8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gc3ViIHRhYmxlIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImV4cGFuZGVkRnJhbWV3b3JrSWQgPT09IGZyYW1ld29yaz8uX2lkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJvdyBjaGlsZFwiICpuZ0Zvcj1cImxldCBzdWJDYXQgb2YgZnJhbWV3b3JrPy5jaGlsZF9saXN0X2RldGFpbHM7IGxldCB4ID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciBzZXJpYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzci1ub1wiIFthcHBUb29sdGlwXT1cIlwiIHBsYWNlbWVudD1cImJvdHRvbVwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj57eyhhcGlGcmFtZXdvcmtQYXlsb2FkPy5wYWdlIHwgcGFnZXI6aSkgKyAnLicgKyAoeCsxKX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIHZ4LXBsLTEgdngtcHItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIGNhdGVnb3J5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1ibG9jayB2eC13LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXRlZ29yeS1uYW1lIHZ4LWZzLTEyIHZ4LXBhcmFncmFwaC10eHRcIiBbYXBwVG9vbHRpcF09XCJzdWJDYXQ/Lm5hbWVcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+e3tzdWJDYXQ/Lm5hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aXRoaW5cIiAqbmdJZj1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9ja1wiPldJVEhJTjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0YVwiIFthcHBUb29sdGlwXT1cIidLb2xrYXRhID4gQW1lcmljYSA+IFNvdXRoIEFmcmljYSdcIiBwbGFjZW1lbnQ9XCJib3R0b20tbGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cImZhbHNlXCI+S29sa2F0YSA+IEFtZXJpY2EgPiBTb3V0aCBBZnJpY2E8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiB2eC1wbC0xIHZ4LXByLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlciBhY3Rpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPGFwcC1uby1kYXRhICpuZ0lmPVwiIWlzTWFpbkxvYWRlciAmJiBmcmFtZXdvcmtEYXRhPy50b3RhbF9pdGVtcyA8PSAwXCIgIFtub0RhdGFJbWFnZV09XCInaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3NlYXJjaC1kYXRhLnN2ZydcIiBbbm9EYXRhVGV4dF09XCInTm8gRnJhbWV3b3JrcyBGb3VuZCdcIj48L2FwcC1uby1kYXRhPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudFZpZXc9PT0nRlJBTUVXT1JLJ1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmctaGVhZFwiPlxyXG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJkZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmctdGl0bGVcIj5GcmFtZXdvcms6IHt7c2VsZWN0ZWRGcmFtZXdvcms/LmZyYW1ld29ya19uYW1lfX08L2gzPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwidHJ1ZVwiIGNsYXNzPVwiZGVmaW5lLWZyYW1ld29yay1saXN0aW5nLWJvZHkgYWZ0ZXItZnJhbWV3b3JrLWxpc3RpbmdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtbWItMlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LXRhYmxlLWNhcmQgdngtYmctd2hpdGUgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXIgdngtbXItMSB2eC1wdC0yIHZ4LXBiLTIgdngtcGwtMyB2eC1wci0zIHZ4LXctMTAwXCIgW2NsYXNzLmFjdGl2ZV09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQgdngtZC1ibG9jayB2eC13LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtcGFyYWdyYXBoLXR4dCB2eC1mdy01MDAgdngtdHQtdXBwZXJjYXNlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyXCI+VE9UQUwgUkVTUE9OU0lCSUxJVElFUzwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodCB2eC1kLWZsZXggdngtanVzdGlmeS1lbmQgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2eC10eHQtd2hpdGUgdngtZnctNTAwIHZ4LWQtaW5saW5lLWJsb2NrIHZ4LXRleHQtY2VudGVyXCI+e3thbGxDb250cm9scz8ubGVuZ3RofX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC10YWJsZS1jYXJkIHZ4LWJnLXdoaXRlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyIHZ4LW1yLTEgdngtcHQtMiB2eC1wYi0yIHZ4LXBsLTMgdngtcHItMyB2eC13LTEwMFwiIFtjbGFzcy5hY3RpdmVdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1wYXJhZ3JhcGgtdHh0IHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXJcIj5SRVNQT05TSUJJTElUSUVTIElOIFNDT1BFPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0IHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWVuZCB2eC13LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZ4LXR4dC13aGl0ZSB2eC1mdy01MDAgdngtZC1pbmxpbmUtYmxvY2sgdngtdGV4dC1jZW50ZXJcIj57e2luU2NvcGUubGVuZ3RofX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2eC10YWJsZS1jYXJkIHZ4LWJnLXdoaXRlIHZ4LWQtZmxleCB2eC1qdXN0aWZ5LWJldHdlZW4gdngtYWxpZ24tY2VudGVyIHZ4LW1yLTEgdngtcHQtMiB2eC1wYi0yIHZ4LXBsLTMgdngtcHItMyB2eC13LTEwMFwiIFtjbGFzcy5hY3RpdmVdPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdCB2eC1kLWJsb2NrIHZ4LXctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJ2eC1wYXJhZ3JhcGgtdHh0IHZ4LWZ3LTUwMCB2eC10dC11cHBlcmNhc2UgdngtZC1mbGV4IHZ4LWp1c3RpZnktYmV0d2VlbiB2eC1hbGlnbi1jZW50ZXJcIj5SRVNQT05TSUJJTElUSUVTIE5PVCBJTiBTQ09QRTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodCB2eC1kLWZsZXggdngtanVzdGlmeS1lbmQgdngtdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2eC10eHQtd2hpdGUgdngtZnctNTAwIHZ4LWQtaW5saW5lLWJsb2NrIHZ4LXRleHQtY2VudGVyXCI+e3thbGxDb250cm9scz8ubGVuZ3RoIC0gaW5TY29wZT8ubGVuZ3RofX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWJsb2NrXCI+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkwYjs8L2k+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJzZWFyY2hLZXlmb3JGcmFtZXdvcmtcIiB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInZ4LW10LTJcIj5cclxuICAgICAgICAgICAgICAgIDx2dWktcGFnaW5hdGlvbj48L3Z1aS1wYWdpbmF0aW9uPlxyXG4gICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZWZpbmUtZnJhbWV3b3JrLWxpc3RpbmctdGFibGUgdngtbXQtMVwiIFtjbGFzcy53aXRoLXBhZ2luYXRpb25dPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInZ4LW10LTJcIiAqbmdJZj1cImlzc3ViTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxmcmFtZXdvcmstbG9hZGVyPjwvZnJhbWV3b3JrLWxvYWRlcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc3N1YkxvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoc2VsZWN0ZWRGcmFtZXdvcmtEYXRhPy5kYXRhPy5jaGlsZF9saXN0X2RldGFpbHMgfCBzZWFyY2hQaXBlIDpzZWFyY2hLZXlmb3JGcmFtZXdvcmspIGFzIGZyYW1ld29ya0NhdCBcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmcmFtZXdvcmtDYXQ/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLWFyZWFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dnVpLWNoZWNrYm94ICNjaGVjayAoY2hhbmdlKT1cInNlbGVjdEFsbCgkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImFsbENvbnRyb2xzPy5sZW5ndGggPCAxXCIgW2NoZWNrZWRdPVwiKGFsbENvbnRyb2xzU2VsZWN0ZWQgJiYgaXNTY29wZT8ubGVuZ3RoID4gMCkgfHwgaW5TY29wZT8ubGVuZ3RoID4gMFwiIFtpbmRldGVybWluYXRlRW5hYmxlZF0gPSBcImluU2NvcGU/Lmxlbmd0aCA+IDAgJiYgIWFsbENvbnRyb2xzU2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7Y2hlY2s/LmNoZWNrZWQgPyAnRGVzZWxlY3QgQWxsJyA6J1NlbGVjdCBBbGwnfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3Z1aS1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9ncmFtLWxpc3RpbmctaXRlbVwiIFtjbGFzcy5hY3RpdmVdPVwic3ViTGlzdFwiICpuZ0Zvcj1cImxldCBzdWJDYXQgb2YgZnJhbWV3b3JrQ2F0O2xldCBrID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93IG1haW4tbGlzdFwiIFtjbGFzcy5hY3RpdmVdPVwiZmFsc2VcIiBbY2xhc3MuZGlzYWJsZWRdPVwiIXN1YkNhdD8uY29udHJvbHNEYXRhPy5sZW5ndGhcIiAoY2xpY2spPVwic3ViQ2F0ZWdvcnlFeHBhbmRDb2xsYXBzZShzdWJDYXQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gc2VyaWFsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Itbm9cIj57e2srMX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2dWktY2hlY2tib3ggW2luZGV0ZXJtaW5hdGVFbmFibGVkXSA9IFwic3ViQ2F0Py5jb250cm9sc0RhdGF8c3ViQ2F0SW5kZXRlcjppblNjb3BlIFwiICBbY2hlY2tlZF09XCIoKHN1YkNhdD8uY29udHJvbHNEYXRhfGNhdGVnb3J5QWxsU2VsZWN0OmluU2NvcGUpIHx8IChzdWJDYXQ/LmNvbnRyb2xzRGF0YXxzdWJDYXRJbmRldGVyOmluU2NvcGUpKSAmJiAgc3ViQ2F0Py5jb250cm9sc0RhdGE/Lmxlbmd0aFwiIChjaGFuZ2UpPVwic2VsZWN0Q2F0ZWdvcnkoJGV2ZW50LHN1YkNhdClcIj48L3Z1aS1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gbmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5hbWUtaW5uZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZS13aXRoLWNvdW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ2YWx1ZVwiIFthcHBUb29sdGlwXT1cInN1YkNhdD8ubmFtZVwiIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCIgZGVsYXk9XCIwXCIgdHlwZT1cImJsYWNrXCIgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIj57e3N1YkNhdD8ubmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY291bnRcIj57e3N1YkNhdD8uY29udHJvbHNEYXRhPy5sZW5ndGh9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2l0aGluLXBhcnRcIiAqbmdJZj1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aGluLWJveFwiPldpdGhpbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiIFthcHBUb29sdGlwXT1cIidTb3V0aCBBZnJpY2EgPiBBbWVyaWNhID4gSW5kaWEnXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPlNvdXRoIEFmcmljYSA+IEFtZXJpY2EgPiBJbmRpYTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiBhY3Rpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJhcnJvd1wiIFtjbGFzcy5kaXNhYmxlZF09XCIhc3ViQ2F0Py5jb250cm9sc0RhdGE/Lmxlbmd0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiIWV4cGFuZGVkU3ViQ2F0ZWdvcnlJZHMuaW5jbHVkZXMoc3ViQ2F0Py5faWQpXCIgY2xhc3M9XCJpY29uc1wiPiYjeGU5NzA7PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiZXhwYW5kZWRTdWJDYXRlZ29yeUlkcy5pbmNsdWRlcyhzdWJDYXQ/Ll9pZClcIiBjbGFzcz1cImljb25zXCI+JiN4ZTllODs8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1Yi1saXN0XCIgKm5nSWY9XCJleHBhbmRlZFN1YkNhdGVnb3J5SWRzLmluY2x1ZGVzKHN1YkNhdD8uX2lkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcm93XCIgW2NsYXNzLmRpc2FibGVkXT1cImZhbHNlXCIgKm5nRm9yPVwibGV0IGNvbnRyb2wgb2Ygc3ViQ2F0Py5jb250cm9sc0RhdGE7bGV0IGMgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLWNvbHVtbiBzZXJpYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Itbm9cIj57e2srMSsnLicrKGMrMSl9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx2dWktY2hlY2tib3ggW2NoZWNrZWRdPVwiaW5TY29wZUlkcy5pbmNsdWRlcyhjb250cm9sPy5faWQpXCIgKGNoYW5nZSk9XCJzZWxlY3RJdGVtKCRldmVudCxjb250cm9sKVwiPjwvdnVpLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtY29sdW1uIG5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZS1pbm5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidmFsdWVcIiBbYXBwVG9vbHRpcF09XCJjb250cm9sPy5uYW1lXCIgcGxhY2VtZW50PVwiYm90dG9tLWxlZnRcIiBkZWxheT1cIjBcIiB0eXBlPVwiYmxhY2tcIiBbdG9vbHRpcE1hbmRhdG9yeV09XCJmYWxzZVwiPnt7Y29udHJvbD8ubmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb2x1bW4gYWN0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPGFwcC1uby1kYXRhICpuZ0lmPVwiIWZyYW1ld29ya0NhdD8ubGVuZ3RoXCIgW25vRGF0YUltYWdlXT1cIidodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvc2VhcmNoLWRhdGEuc3ZnJ1wiIFtub0RhdGFUZXh0XT1cIidObyBGcmFtZXdvcmtzIEZvdW5kJ1wiPjwvYXBwLW5vLWRhdGE+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPGRpdiBjbGFzcz1cImRlZmluZS1mcmFtZXdvcmstbGlzdGluZy1mb290ZXJcIj5cclxuICAgICAgXHJcbiAgICAgICAgPHZ1aS1mbG9hdGluZy1iYXIgKGNsb3NlRXZlbnQpPVwibmV4dEhhbmRsZXIoKVwiIChjbG9zZUxpc3QpPVwiY2FuY2VsSGFuZGxlcigpXCIgKm5nSWY9XCJjdXJyZW50VmlldyA9PT0nRlJBTUVXT1JLX0NBVEVHT1JZJyBcIiBbbmV4dERpc2FibGVkXT1cIiFzZWxlY3RlZEZyYW1ld29yaz8uX2lkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGlwXCIgKm5nSWY9XCJzZWxlY3RlZEZyYW1ld29ya1wiID5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIiAoY2xpY2spPVwicmVtb3ZlU2VsZWN0ZWRGcmFtZXdvcmsoKVwiPiYjeGU5MGQ7PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlXCI+IHt7c2VsZWN0ZWRGcmFtZXdvcms/LmZyYW1ld29ya19uYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3Z1aS1mbG9hdGluZy1iYXI+XHJcbiAgICAgICAgPHZ1aS1mbG9hdGluZy1iYXIgKGNsb3NlRXZlbnQpPVwibmV4dEhhbmRsZXIoKVwiIChjbG9zZUxpc3QpPVwiY2FuY2VsSGFuZGxlcigpXCIgKm5nSWY9XCJjdXJyZW50VmlldyA9PT0nRlJBTUVXT1JLJyBcIiBbbmV4dERpc2FibGVkXT1cImluU2NvcGU/Lmxlbmd0aCA8IDFcIj48L3Z1aS1mbG9hdGluZy1iYXI+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
|
|
@@ -5,8 +5,8 @@ export class SubCatIndeterPipe {
|
|
|
5
5
|
const allElements = value.map((el) => el?._id);
|
|
6
6
|
const inScope = args[0].map((el) => el?._id);
|
|
7
7
|
const filtredIds = inScope.filter((ele) => allElements.includes(ele));
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
if (filtredIds?.length &&
|
|
9
|
+
allElements?.sort()?.toString() !== filtredIds?.sort()?.toString()) {
|
|
10
10
|
return true;
|
|
11
11
|
}
|
|
12
12
|
else {
|
|
@@ -20,7 +20,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
20
20
|
type: Pipe,
|
|
21
21
|
args: [{
|
|
22
22
|
name: 'subCatIndeter',
|
|
23
|
-
pure: false
|
|
23
|
+
pure: false,
|
|
24
24
|
}]
|
|
25
25
|
}] });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWNhdC1pbmRldGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1wcm9ncmFtL2NyZWF0ZS1wcm9ncmFtLXVpL2RlZmluZS1mcmFtZXdvcmstbGlzdGluZy9waXBlcy9zdWItY2F0LWluZGV0ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFNcEQsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixTQUFTLENBQUMsS0FBVSxFQUFFLEdBQUcsSUFBVztRQUNsQyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDcEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMzRSxJQUNFLFVBQVUsRUFBRSxNQUFNO1lBQ2xCLFdBQVcsRUFBRSxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQ2xFO1lBQ0EsT0FBTyxJQUFJLENBQUM7U0FDYjthQUFNO1lBQ0wsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7OzhHQWJVLGlCQUFpQjs0R0FBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBSjdCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGVBQWU7b0JBQ3JCLElBQUksRUFBRSxLQUFLO2lCQUNaIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdzdWJDYXRJbmRldGVyJyxcclxuICBwdXJlOiBmYWxzZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFN1YkNhdEluZGV0ZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIC4uLmFyZ3M6IGFueVtdKTogYW55IHtcclxuICAgIGNvbnN0IGFsbEVsZW1lbnRzID0gdmFsdWUubWFwKChlbDogYW55KSA9PiBlbD8uX2lkKTtcclxuICAgIGNvbnN0IGluU2NvcGUgPSBhcmdzWzBdLm1hcCgoZWw6IGFueSkgPT4gZWw/Ll9pZCk7XHJcbiAgICBjb25zdCBmaWx0cmVkSWRzID0gaW5TY29wZS5maWx0ZXIoKGVsZTogYW55KSA9PiBhbGxFbGVtZW50cy5pbmNsdWRlcyhlbGUpKTtcclxuICAgIGlmIChcclxuICAgICAgZmlsdHJlZElkcz8ubGVuZ3RoICYmXHJcbiAgICAgIGFsbEVsZW1lbnRzPy5zb3J0KCk/LnRvU3RyaW5nKCkgIT09IGZpbHRyZWRJZHM/LnNvcnQoKT8udG9TdHJpbmcoKVxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
package/esm2020/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.mjs
CHANGED
|
@@ -48,7 +48,6 @@ export class VuiFloatingBarComponent {
|
|
|
48
48
|
// debugger
|
|
49
49
|
}
|
|
50
50
|
selectedWorkflowChange(event) {
|
|
51
|
-
console.log('event ==>', event);
|
|
52
51
|
this.workflowTypeChanged.emit(event);
|
|
53
52
|
}
|
|
54
53
|
}
|
|
@@ -104,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
104
103
|
}], workflowTypeChanged: [{
|
|
105
104
|
type: Output
|
|
106
105
|
}] } });
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvYXRpbmctYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3dvcmtmbG93LXByb2dyYW0vY3JlYXRlLXByb2dyYW0tdWkvZmxvYXRpbmctYmFyL2Zsb2F0aW5nLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1wcm9ncmFtL2NyZWF0ZS1wcm9ncmFtLXVpL2Zsb2F0aW5nLWJhci9mbG9hdGluZy1iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsTUFBTSxFQUNOLFlBQVksR0FFYixNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBT3ZCLE1BQU0sT0FBTyx1QkFBdUI7SUEyQmxDO1FBeEJTLHNCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUN2QixjQUFTLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUN0QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGlCQUFZLEdBQUc7WUFDdEIsWUFBWTtZQUNaLHdDQUF3QztTQUN6QyxDQUFDO1FBR08sU0FBSSxHQUFXLFFBQVEsQ0FBQztRQUN4QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQiwwQkFBcUIsR0FBUSxFQUFFLENBQUM7UUFFL0IsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25ELGdCQUFXLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDdkQsY0FBUyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2xELHdCQUFtQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXBFLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRTtZQUM5QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsd0NBQXdDLENBQUM7U0FDbEU7SUFDSCxDQUFDO0lBRUQsUUFBUSxLQUFVLENBQUM7SUFFbkIsSUFBSTtRQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQWE7UUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUNELEtBQUs7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxvQkFBb0IsQ0FBQyxLQUFVO1FBQzdCLFdBQVc7SUFDYixDQUFDO0lBRUQsc0JBQXNCLENBQUMsS0FBVTtRQUMvQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7O29IQXZEVSx1QkFBdUI7d0dBQXZCLHVCQUF1QiwwMEJDZHBDLHlwREE4Q0E7MkZEaENhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxrQkFBa0I7MEVBS25CLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBSUcsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPbkNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Z1aS1mbG9hdGluZy1iYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mbG9hdGluZy1iYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Zsb2F0aW5nLWJhci5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVnVpRmxvYXRpbmdCYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWREYXRhOiBhbnk7XHJcbiAgQElucHV0KCkgZ3JvdXBTZWxlY3RlZDogYW55O1xyXG4gIEBJbnB1dCgpIGRpc3BsYXlFbGVtZW50S2V5ID0gJyc7XHJcbiAgQElucHV0KCkgZWxlbWVudElkOiBhbnkgPSAnJztcclxuICBASW5wdXQoKSBzaW5ndWxhclRleHQgPSAnJztcclxuICBASW5wdXQoKSBwbHVyYWxUZXh0ID0gJyc7XHJcbiAgQElucHV0KCkgc2hvd05leHRCdXR0b24gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dGcmVxdWVuY3lUZXh0ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2hvd1dvcmtmbG93ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgd29ya2Zsb3dUZXh0ID0gJyc7XHJcbiAgQElucHV0KCkgY3VycmVudEZyZXF1ZW5jeSA9ICcnO1xyXG4gIEBJbnB1dCgpIGlzRGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSB3b3JrZmxvd0xpc3QgPSBbXHJcbiAgICAnU0VRVUVOVElBTCcsXHJcbiAgICAnQU5ZIFJFVklFV0VSIENBTiBNQVJLIFRISVMgQVMgUkVWSUVXRUQnLFxyXG4gIF07XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRXb3JrZmxvdzogYW55O1xyXG4gIEBJbnB1dCgpIHdvcmtmbG93UGxhY2VIb2xkZXI6IGFueTtcclxuICBASW5wdXQoKSBtb2RlOiBzdHJpbmcgPSAnQ1JFQVRFJztcclxuICBASW5wdXQoKSBuZXh0RGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBub25SZW1vdmFibGVVc2Vyc0xpc3Q6IGFueSA9IFtdO1xyXG4gIEBJbnB1dCgpIHJlbW92ZVBvc2l0aW9uOiBhbnk7XHJcbiAgQE91dHB1dCgpIGNsb3NlRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBkZWxldGVFdmVudDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlTGlzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHdvcmtmbG93VHlwZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGEgPSBbXTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgaWYgKHRoaXMuZ3JvdXBTZWxlY3RlZD8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRXb3JrZmxvdyA9ICdBTlkgUkVWSUVXRVIgQ0FOIE1BUksgVEhJUyBBUyBSRVZJRVdFRCc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gIG5leHQoKSB7XHJcbiAgICB0aGlzLmNsb3NlRXZlbnQuZW1pdCh0aGlzLnNlbGVjdGVkRGF0YSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVTZWxlY3RlZChpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmRlbGV0ZUV2ZW50LmVtaXQoaW5kZXgpO1xyXG4gIH1cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMuY2xvc2VMaXN0LmVtaXQoKTtcclxuICB9XHJcbiAgc2VsZWN0ZWRXb3JrZmxvd1R5cGUoZXZlbnQ6IGFueSkge1xyXG4gICAgLy8gZGVidWdnZXJcclxuICB9XHJcblxyXG4gIHNlbGVjdGVkV29ya2Zsb3dDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy53b3JrZmxvd1R5cGVDaGFuZ2VkLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicmV2aWV3ZXItZmxvYXRpbmctYmFyXCI+XHJcbiAgPGRpdiBjbGFzcz1cInJldmlld2VyLWZsb2F0aW5nLWJhci1jb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCI+XHJcbiAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkRGF0YS5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50ZXJcIiAqbmdJZj1cInNlbGVjdGVkRGF0YT8ubGVuZ3RoXCJcclxuICAgICAgICAgIHBsYWNlbWVudD1cImxlZnRcIj57e3NlbGVjdGVkRGF0YT8ubGVuZ3RofX08L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiICpuZ0lmPVwic2VsZWN0ZWREYXRhPy5sZW5ndGg+MVwiPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJzZWxlY3RlZERhdGE/LnNsaWNlKDEpLmxlbmd0aCA9PT0gMVwiPnt7c2luZ3VsYXJUZXh0fX08L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cInNlbGVjdGVkRGF0YT8uc2xpY2UoMSkubGVuZ3RoID4gMVwiPnt7cGx1cmFsVGV4dH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XHJcbiAgICAgIDxuZy1jb250ZW50PiA8L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJjZW50ZXJcIlxyXG4gICAgICAqbmdJZj1cInNob3dXb3JrZmxvdyAmJiAobW9kZSA9PT0gJ0NSRUFURScgfHwgbW9kZSA9PT0gJ0VESVQnKVwiXHJcbiAgICA+XHJcbiAgICAgIDxsYWJlbD5SRVZJRVdFUjxiciAvPldPUktGTE9XPC9sYWJlbD5cclxuICAgICAgPGNzLXNlbGVjdFxyXG4gICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRXb3JrZmxvd1wiXHJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0ZWRXb3JrZmxvd0NoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2VsZWN0ZWRXb3JrZmxvd1wiXHJcbiAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIlxyXG4gICAgICAgICAgZ3JvdXBTZWxlY3RlZC5sZW5ndGggJiZcclxuICAgICAgICAgIHNlbGVjdGVkV29ya2Zsb3cgPT09ICdBTlkgUkVWSUVXRVIgQ0FOIE1BUksgVEhJUyBBUyBSRVZJRVdFRCdcclxuICAgICAgICBcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGNzLW9wdGlvbiAqbmdGb3I9XCJsZXQgZGF0YSBvZiB3b3JrZmxvd0xpc3RcIiBbdmFsdWVdPVwiZGF0YVwiPlxyXG4gICAgICAgICAge3sgZGF0YSB9fVxyXG4gICAgICAgIDwvY3Mtb3B0aW9uPlxyXG4gICAgICA8L2NzLXNlbGVjdD5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJyaWdodFwiPlxyXG4gICAgICA8YnV0dG9uIGFwcFJpcHBsZSBjbGFzcz1cImNhbmNlbFwiIChjbGljayk9XCJjbG9zZSgpXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICAqbmdJZj1cInNob3dOZXh0QnV0dG9uXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwibmV4dERpc2FibGVkXCJcclxuICAgICAgICAoY2xpY2spPVwibmV4dCgpXCJcclxuICAgICAgICBhcHBSaXBwbGVcclxuICAgICAgPlxyXG4gICAgICAgIE5leHQgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MWU7PC9pPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|