vcomply-workflow-engine 6.0.6 → 6.0.8

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.
Files changed (33) hide show
  1. package/esm2022/lib/interfaces/frequency.interface.mjs +2 -0
  2. package/esm2022/lib/more-option/more-option.component.mjs +8 -66
  3. package/esm2022/lib/report-a-case/components/case-assignees/case-assignees.component.mjs +10 -5
  4. package/esm2022/lib/report-a-case/components/case-category/case-category.component.mjs +11 -2
  5. package/esm2022/lib/report-a-case/components/case-owners/case-owners.component.mjs +7 -2
  6. package/esm2022/lib/report-a-case/components/case-resolution-deadline/case-resolution-deadline.component.mjs +7 -2
  7. package/esm2022/lib/report-a-case/components/rc-details/rc-details.component.mjs +8 -2
  8. package/esm2022/lib/report-a-case/workflow-case/workflow-case.component.mjs +15 -3
  9. package/esm2022/lib/sharedComponents/audit-category-list/audit-category-list.component.mjs +3 -3
  10. package/esm2022/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.mjs +2 -1
  11. package/esm2022/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.mjs +2 -1
  12. package/esm2022/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.mjs +2 -1
  13. package/esm2022/lib/sharedComponents/frequency/frequency.service.mjs +56 -5
  14. package/esm2022/lib/workflow-compliance/workflow-compliance.component.mjs +5 -3
  15. package/esm2022/lib/workflow-engine-container/workflow-engine-container.component.mjs +20 -4
  16. package/esm2022/lib/workflow-program/workflow-program.component.mjs +25 -43
  17. package/esm2022/lib/workflow-services/programs.service.mjs +24 -4
  18. package/fesm2022/vcomply-workflow-engine.mjs +199 -140
  19. package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
  20. package/lib/interfaces/frequency.interface.d.ts +36 -0
  21. package/lib/report-a-case/components/case-assignees/case-assignees.component.d.ts +3 -2
  22. package/lib/report-a-case/components/case-category/case-category.component.d.ts +2 -1
  23. package/lib/report-a-case/components/case-owners/case-owners.component.d.ts +2 -1
  24. package/lib/report-a-case/components/case-resolution-deadline/case-resolution-deadline.component.d.ts +2 -1
  25. package/lib/report-a-case/components/rc-details/rc-details.component.d.ts +2 -1
  26. package/lib/report-a-case/workflow-case/workflow-case.component.d.ts +3 -1
  27. package/lib/sharedComponents/frequency/frequency.service.d.ts +7 -4
  28. package/lib/workflow-compliance/workflow-compliance.component.d.ts +1 -1
  29. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +1 -0
  30. package/lib/workflow-program/workflow-program.component.d.ts +0 -1
  31. package/lib/workflow-risk/workflow-risk.component.d.ts +1 -1
  32. package/lib/workflow-services/programs.service.d.ts +15 -0
  33. package/package.json +1 -1
@@ -35,9 +35,10 @@ export class CaseAssigneesComponent {
35
35
  this.fieldSelected = '';
36
36
  this.userList = [];
37
37
  this.groupList = [];
38
+ this.validationError = {};
38
39
  this.fieldClicked = new EventEmitter();
39
40
  this.onRcChange = new EventEmitter();
40
- this.validationError = {};
41
+ this.filterDeselector = new EventEmitter();
41
42
  }
42
43
  set initialSelection(value) {
43
44
  this.initialAssignees = value;
@@ -70,6 +71,7 @@ export class CaseAssigneesComponent {
70
71
  this.fieldClicked.emit('');
71
72
  this.validationError.caseAssignee.isError = false;
72
73
  this.validationError.caseAssignee.message = '';
74
+ this.filterDeselector.emit(false);
73
75
  }
74
76
  populateAssigneesList(value) {
75
77
  this.selectedAssigneesList = this.userList?.filter((user) => value?.assignees?.includes(user?._id));
@@ -117,6 +119,7 @@ export class CaseAssigneesComponent {
117
119
  activateSelector(active) {
118
120
  this.assigneesClicked = active;
119
121
  this.fieldClicked.emit(active ? 'CASE_ASSIGNEE' : '');
122
+ this.filterDeselector.emit(active ? true : false);
120
123
  }
121
124
  setAssigneesList(event) {
122
125
  this.selectedAssigneesList = this.userList?.filter((user) => event?.some((eventItem) => eventItem?.value === user?._id));
@@ -152,7 +155,7 @@ export class CaseAssigneesComponent {
152
155
  });
153
156
  }
154
157
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CaseAssigneesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
155
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CaseAssigneesComponent, selector: "app-case-assignees", inputs: { payload: "payload", fieldSelected: "fieldSelected", userList: "userList", groupList: "groupList", initialSelection: "initialSelection", validationError: "validationError" }, outputs: { fieldClicked: "fieldClicked", onRcChange: "onRcChange" }, usesOnChanges: true, ngImport: i0, template: `
158
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CaseAssigneesComponent, selector: "app-case-assignees", inputs: { payload: "payload", fieldSelected: "fieldSelected", userList: "userList", groupList: "groupList", initialSelection: "initialSelection", validationError: "validationError" }, outputs: { fieldClicked: "fieldClicked", onRcChange: "onRcChange", filterDeselector: "filterDeselector" }, usesOnChanges: true, ngImport: i0, template: `
156
159
  <app-field-holder
157
160
  [image]="ASSETS.case_assignees"
158
161
  [checked]="
@@ -257,11 +260,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
257
260
  type: Input
258
261
  }], initialSelection: [{
259
262
  type: Input
263
+ }], validationError: [{
264
+ type: Input
260
265
  }], fieldClicked: [{
261
266
  type: Output
262
267
  }], onRcChange: [{
263
268
  type: Output
264
- }], validationError: [{
265
- type: Input
269
+ }], filterDeselector: [{
270
+ type: Output
266
271
  }] } });
267
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1hc3NpZ25lZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvcmVwb3J0LWEtY2FzZS9jb21wb25lbnRzL2Nhc2UtYXNzaWduZWVzL2Nhc2UtYXNzaWduZWVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUViLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRCxPQUFPLEVBRUwsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLGNBQWMsR0FDZixNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7O0FBb0QvQyxNQUFNLE9BQU8sc0JBQXNCO0lBbERuQztRQW1ERSxXQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hCLG1CQUFjLEdBQUcsV0FBVyxDQUFDO1FBQzdCLDhCQUF5QixHQUFVLEVBQUUsQ0FBQztRQUN0QyxXQUFNLEdBQVE7WUFDWixHQUFHLG1CQUFtQjtZQUN0QixXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFdBQVc7WUFDbkUsS0FBSyxFQUFFLEVBQUU7U0FDVixDQUFDO1FBQ0YscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLG1CQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLHdCQUFtQixHQUFHLG1CQUFtQixDQUFDO1FBQzFDLFVBQUssR0FBVyxjQUFjLENBQUMsS0FBSyxDQUFDO1FBQ3JDLGtCQUFhLEdBQVUsRUFBRSxDQUFDO1FBQzFCLHVCQUFrQixHQUFVLEVBQUUsQ0FBQztRQUMvQiwwQkFBcUIsR0FBVSxFQUFFLENB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bUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxDQUMxRSxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQ2IsS0FBSyxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDOytHQTlLVSxzQkFBc0I7bUdBQXRCLHNCQUFzQiw0VUFoRHZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Q1Q7OzRGQUdVLHNCQUFzQjtrQkFsRGxDLFNBQVM7K0JBQ0Usb0JBQW9CLFlBQ3BCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Q1Q7OEJBMkJRLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDTyxnQkFBZ0I7c0JBQTVCLEtBQUs7Z0JBV0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNFLGVBQWU7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBU1NFVFMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvYXNzZXNzdHMuY29uc3RhbnRzJztcbmltcG9ydCB7XG4gIEFDVElPTl9DT0RFLFxuICBERUZBVUxUX0ZPUk1fQ09ORklHLFxuICBGSUVMRF9TRUxFQ1RPUixcbiAgUkVQT1JUX0NBU0UsXG4gIFNlbGVjdGlvblBvcHVwU3RhdGUsXG4gIFNlbGVjdGlvblN0YXRlLFxufSBmcm9tICcuLi8uLi9jb25zdGFudHMvcmVwb3J0LWNhc2UuY29uc3RhbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNhc2UtYXNzaWduZWVzJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YXBwLWZpZWxkLWhvbGRlclxuICAgICAgW2ltYWdlXT1cIkFTU0VUUy5jYXNlX2Fzc2lnbmVlc1wiXG4gICAgICBbY2hlY2tlZF09XCJcbiAgICAgICAgcGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/LmFzc2lnbmVlcz8ubGVuZ3RoIHx8XG4gICAgICAgIHBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5hc3NpZ25lZXNfZ3JvdXA/Lmxlbmd0aFxuICAgICAgXCJcbiAgICAgIFtkaXNhYmxlZF09XCJmaWVsZFNlbGVjdG9yPy5pbmNsdWRlcyhmaWVsZFNlbGVjdGVkKVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciBmaWVsZD5cbiAgICAgICAgPGFwcC1mb3JtLXNlbGVjdEJveFxuICAgICAgICAgIFtjb25maWddPVwiY29uZmlnXCJcbiAgICAgICAgICBbc3RhdGVdPVwic3RhdGVcIlxuICAgICAgICAgIFtwb3B1cFN0YXRlXT1cIlNlbGVjdGlvblBvcHVwU3RhdGUuU0VMRUNUSU9OX0RJQUxPR1wiXG4gICAgICAgICAgW2NoaXBJdGVtc109XCJzZWxlY3RlZEl0ZW1zXCJcbiAgICAgICAgICBbY2hpcEdyb3VwSXRlbXNdPVwic2VsZWN0ZWRHcm91cEl0ZW1zXCJcbiAgICAgICAgICAoZmllbGRDbGlja2VkKT1cImFjdGl2YXRlU2VsZWN0b3IoJGV2ZW50KVwiXG4gICAgICAgICAgKHNlbGVjdGVkSXRlbUxpc3RDaGFuZ2UpPVwic2V0QXNzaWduZWVzTGlzdCgkZXZlbnQpXCJcbiAgICAgICAgICAoc2VsZWN0ZWRHcm91cEl0ZW1MaXN0Q2hhbmdlKT1cInNldEFzc2lnbmVlR3JvdXBzTGlzdCgkZXZlbnQpXCJcbiAgICAgICAgICBbaXNFcnJvcl09XCJ2YWxpZGF0aW9uRXJyb3IuY2FzZUFzc2lnbmVlLmlzRXJyb3JcIlxuICAgICAgICAgIFtlcnJvck1lc3NhZ2VdPVwidmFsaWRhdGlvbkVycm9yLmNhc2VBc3NpZ25lZS5tZXNzYWdlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhcHAtdmMtbGFiZWxcbiAgICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgICBbbGFiZWxUZXh0XT1cImFzc2lnbmVlc1RleHRzLmNhc2VfZGV0YWlscy5hc3NpZ25lZXMudGl0bGVcIlxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgW3Nob3dJbmZvXT1cInRydWVcIlxuICAgICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cImFzc2lnbmVlc0hlbHBUZXh0XCJcbiAgICAgICAgICA+PC9hcHAtdmMtbGFiZWw+XG4gICAgICAgIDwvYXBwLWZvcm0tc2VsZWN0Qm94PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9hcHAtZmllbGQtaG9sZGVyPlxuICAgIDxhcHAtZ3JvdXAtdXNlcnMtbGlzdFxuICAgICAgKm5nSWY9XCJhc3NpZ25lZXNDbGlja2VkXCJcbiAgICAgIFt1c2Vyc0xpc3RdPVwidXNlckxpc3RcIlxuICAgICAgW3VzZXJJZEtleV09XCInX2lkJ1wiXG4gICAgICBbc2VsZWN0ZWRVc2Vyc109XCJzZWxlY3RlZEFzc2lnbmVlc0xpc3RcIlxuICAgICAgW3NlbGVjdGVkR3JvdXBzXT1cInNlbGVjdGVkQXNzaWduZWVHcm91cHNcIlxuICAgICAgW2dyb3Vwc0VuYWJsZWRdPVwidHJ1ZVwiXG4gICAgICBbYXNzaWduZWVHcm91cHNMaXN0XT1cImdyb3VwTGlzdFwiXG4gICAgICBbZ3JvdXBJZEtleV09XCInZ3JvdXBfaWQnXCJcbiAgICAgIChjbG9zZVVzZXJzTGlzdCk9XCJhY3RpdmF0ZVNlbGVjdG9yKGZhbHNlKVwiXG4gICAgICAoc2F2ZVNlbGVjdGVkTGlzdCk9XCJzYXZlU2VsZWN0ZWRBc3NpZ25lZXNMaXN0KCRldmVudClcIlxuICAgID5cbiAgICA8L2FwcC1ncm91cC11c2Vycy1saXN0PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi4vLi4vLi4vZm9ybXMubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDYXNlQXNzaWduZWVzQ29tcG9uZW50IHtcbiAgQVNTRVRTID0gQVNTRVRTO1xuICBhc3NpZ25lZXNUZXh0cyA9IFJFUE9SVF9DQVNFO1xuICByZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0OiBhbnlbXSA9IFtdO1xuICBjb25maWc6IGFueSA9IHtcbiAgICAuLi5ERUZBVUxUX0ZPUk1fQ09ORklHLFxuICAgIHBsYWNlaG9sZGVyOiB0aGlzLmFzc2lnbmVlc1RleHRzLmNhc2VfZGV0YWlscy5hc3NpZ25lZXMucGxhY2Vob2xkZXIsXG4gICAgaXRlbXM6IFtdLFxuICB9O1xuICBhc3NpZ25lZXNDbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIHJjTGlzdExvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBTZWxlY3Rpb25TdGF0ZSA9IFNlbGVjdGlvblN0YXRlO1xuICBTZWxlY3Rpb25Qb3B1cFN0YXRlID0gU2VsZWN0aW9uUG9wdXBTdGF0ZTtcbiAgc3RhdGU6IHN0cmluZyA9IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICBzZWxlY3RlZEl0ZW1zOiBhbnlbXSA9IFtdO1xuICBzZWxlY3RlZEdyb3VwSXRlbXM6IGFueVtdID0gW107XG4gIHNlbGVjdGVkQXNzaWduZWVzTGlzdDogYW55W10gPSBbXTtcbiAgc2VsZWN0ZWRBc3NpZ25lZUdyb3VwczogYW55W10gPSBbXTtcbiAgc2VsZWN0ZWRHcm91cElkczogYW55W10gPSBbXTtcbiAgdXNlcklkczogYW55W10gPSBbXTtcbiAgaW5pdGlhbEFzc2lnbmVlczogYW55ID0ge307XG4gIGZpZWxkU2VsZWN0b3IgPSBGSUVMRF9TRUxFQ1RPUjtcbiAgYXNzaWduZWVzSGVscFRleHQgPSB0aGlzLmFzc2lnbmVlc1RleHRzLmNhc2VfZGV0YWlscy5hc3NpZ25lZXMuaGVscFRleHQ7XG5cbiAgQElucHV0KCkgcGF5bG9hZDogYW55ID0ge307XG4gIEBJbnB1dCgpIGZpZWxkU2VsZWN0ZWQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSB1c2VyTGlzdDogYW55W10gPSBbXTtcbiAgQElucHV0KCkgZ3JvdXBMaXN0OiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBzZXQgaW5pdGlhbFNlbGVjdGlvbih2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5pbml0aWFsQXNzaWduZWVzID0gdmFsdWU7XG4gICAgaWYgKHZhbHVlPy5hc3NpZ25lZXM/Lmxlbmd0aCB8fCB2YWx1ZT8uYXNzaWduZWVzX2dyb3VwPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5TRUxFQ1RFRDtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHZhbHVlPy5hc3NpZ25lZXM7XG4gICAgICB0aGlzLnNlbGVjdGVkR3JvdXBJdGVtcyA9IHZhbHVlPy5hc3NpZ25lZXNfZ3JvdXA7XG4gICAgICB0aGlzLnBvcHVsYXRlQXNzaWduZWVzTGlzdCh0aGlzLmluaXRpYWxBc3NpZ25lZXMpO1xuICAgICAgdGhpcy5wb3B1bGF0ZUdyb3VwQXNzaWduZWVzTGlzdCh0aGlzLmluaXRpYWxBc3NpZ25lZXMpO1xuICAgIH1cbiAgfVxuXG4gIEBPdXRwdXQoKSBmaWVsZENsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvblJjQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBJbnB1dCgpIHZhbGlkYXRpb25FcnJvcjogYW55ID0ge307XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1sndXNlckxpc3QnXSkge1xuICAgICAgdGhpcy5wb3B1bGF0ZUFzc2lnbmVlc0xpc3QodGhpcy5pbml0aWFsQXNzaWduZWVzKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ2dyb3VwTGlzdCddKSB7XG4gICAgICB0aGlzLnBvcHVsYXRlR3JvdXBBc3NpZ25lZXNMaXN0KHRoaXMuaW5pdGlhbEFzc2lnbmVlcyk7XG4gICAgfVxuICB9XG5cbiAgc2F2ZVNlbGVjdGVkQXNzaWduZWVzTGlzdChldmVudDogYW55KSB7XG4gICAgdGhpcy5hc3NpZ25lZXNDbGlja2VkID0gZmFsc2U7XG4gICAgdGhpcy5zZXRTZWxlY3RlZEFzc2lnbmVlc0xpc3QoZXZlbnQpO1xuICAgIGNvbnN0IHVzZXJzID0gZXZlbnQ/LnVzZXJzID8gZXZlbnQ/LnVzZXJzIDogZXZlbnQ7XG4gICAgdGhpcy51cGRhdGVTZWxlY3RlZEFzc2lnbmVlcyh1c2VycyB8fFtdKTtcbiAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkQXNzaWduZWVHcm91cHMoZXZlbnQ/Lmdyb3VwcyB8fCBbXSk7XG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwSWRzID0gdGhpcy5nZXRTZWxlY3RlZEdyb3VwSWRzKGV2ZW50Py5ncm91cHMgfHwgW10pO1xuICAgIHRoaXMuc2V0UGF5bG9hZCh1c2Vyc3x8IFtdLCB0aGlzLnNlbGVjdGVkR3JvdXBJZHMpO1xuICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5TRUxFQ1RFRDtcbiAgICB0aGlzLmZpZWxkQ2xpY2tlZC5lbWl0KCcnKTtcbiAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5jYXNlQXNzaWduZWUuaXNFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLmNhc2VBc3NpZ25lZS5tZXNzYWdlID0gJyc7XG4gIH1cblxuICBwb3B1bGF0ZUFzc2lnbmVlc0xpc3QodmFsdWU6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRBc3NpZ25lZXNMaXN0ID0gdGhpcy51c2VyTGlzdD8uZmlsdGVyKCh1c2VyOiBhbnkpID0+XG4gICAgICB2YWx1ZT8uYXNzaWduZWVzPy5pbmNsdWRlcyh1c2VyPy5faWQpXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLnVzZXJMaXN0XG4gICAgICA/LmZpbHRlcigodXNlcjogYW55KSA9PiB2YWx1ZT8uYXNzaWduZWVzPy5pbmNsdWRlcyh1c2VyPy5faWQpKVxuICAgICAgPy5tYXAoKHVzZXI6IGFueSkgPT4gKHtcbiAgICAgICAgbGFiZWw6IHVzZXI/Lm1lbWJlcl9uYW1lLFxuICAgICAgICB2YWx1ZTogdXNlcj8uX2lkLFxuICAgICAgfSkpO1xuICB9XG5cbiAgcG9wdWxhdGVHcm91cEFzc2lnbmVlc0xpc3QodmFsdWU6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRBc3NpZ25lZUdyb3VwcyA9IHRoaXMuZ3JvdXBMaXN0LmZpbHRlcigoZ3JvdXA6IGFueSkgPT5cbiAgICAgIHZhbHVlPy5hc3NpZ25lZXNfZ3JvdXA/LmluY2x1ZGVzKGdyb3VwPy5faWQpXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBJdGVtcyA9IHRoaXMuZ3JvdXBMaXN0XG4gICAgICA/LmZpbHRlcigoZ3JvdXA6IGFueSkgPT4gdmFsdWU/LmFzc2lnbmVlc19ncm91cD8uaW5jbHVkZXMoZ3JvdXA/Ll9pZCkpXG4gICAgICA/Lm1hcCgoZ3JvdXA6IGFueSkgPT4gKHtcbiAgICAgICAgbGFiZWw6IGdyb3VwPy5ncm91cF9uYW1lLFxuICAgICAgICB2YWx1ZTogZ3JvdXA/Ll9pZCxcbiAgICAgIH0pKTtcbiAgfVxuXG4gIHVwZGF0ZVNlbGVjdGVkQXNzaWduZWVzKHVzZXJzSWRzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHRoaXMudXNlckxpc3RcbiAgICAgID8uZmlsdGVyKCh1c2VyOiBhbnkpID0+IHVzZXJzSWRzPy5pbmNsdWRlcyh1c2VyPy5faWQpKVxuICAgICAgPy5tYXAoKHVzZXI6IGFueSkgPT4gKHtcbiAgICAgICAgbGFiZWw6IHVzZXI/Lm1lbWJlcl9uYW1lLFxuICAgICAgICB2YWx1ZTogdXNlcj8uX2lkLFxuICAgICAgfSkpO1xuICB9XG5cbiAgdXBkYXRlU2VsZWN0ZWRBc3NpZ25lZUdyb3Vwcyhncm91cHNJZHM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwSXRlbXMgPSB0aGlzLmdyb3VwTGlzdFxuICAgICAgPy5maWx0ZXIoKGdyb3VwOiBhbnkpID0+IGdyb3Vwc0lkcz8uaW5jbHVkZXMoZ3JvdXA/Lmdyb3VwX2lkKSlcbiAgICAgID8ubWFwKChncm91cDogYW55KSA9PiAoe1xuICAgICAgICBsYWJlbDogZ3JvdXA/Lmdyb3VwX25hbWUsXG4gICAgICAgIHZhbHVlOiBncm91cD8uZ3JvdXBfaWQsXG4gICAgICB9KSk7XG4gIH1cblxuICBnZXRTZWxlY3RlZEdyb3VwSWRzKGdyb3VwSWRzOiBudW1iZXJbXSkge1xuICAgIHJldHVybiB0aGlzLmdyb3VwTGlzdFxuICAgICAgPy5maWx0ZXIoKGdyb3VwOiBhbnkpID0+IGdyb3VwSWRzPy5pbmNsdWRlcyhncm91cD8uZ3JvdXBfaWQpKVxuICAgICAgPy5tYXAoKGdyb3VwOiBhbnkpID0+IGdyb3VwPy5faWQpO1xuICB9XG5cbiAgc2V0U2VsZWN0ZWRBc3NpZ25lZXNMaXN0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkQXNzaWduZWVzTGlzdCA9IHRoaXMudXNlckxpc3Q/LmZpbHRlcigodXNlcjogYW55KSA9PlxuICAgICAgZXZlbnQ/LnVzZXJzPy5pbmNsdWRlcyh1c2VyPy5faWQpXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkQXNzaWduZWVHcm91cHMgPSB0aGlzLmdyb3VwTGlzdD8uZmlsdGVyKChncm91cDogYW55KSA9PlxuICAgICAgZXZlbnQ/Lmdyb3Vwcz8uaW5jbHVkZXMoZ3JvdXA/Lmdyb3VwX2lkKVxuICAgICk7XG4gIH1cblxuICBhY3RpdmF0ZVNlbGVjdG9yKGFjdGl2ZTogYm9vbGVhbikge1xuICAgIHRoaXMuYXNzaWduZWVzQ2xpY2tlZCA9IGFjdGl2ZTtcbiAgICB0aGlzLmZpZWxkQ2xpY2tlZC5lbWl0KGFjdGl2ZSA/ICdDQVNFX0FTU0lHTkVFJyA6ICcnKTtcbiAgfVxuXG4gIHNldEFzc2lnbmVlc0xpc3QoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRBc3NpZ25lZXNMaXN0ID0gdGhpcy51c2VyTGlzdD8uZmlsdGVyKCh1c2VyOiBhbnkpID0+XG4gICAgICBldmVudD8uc29tZSgoZXZlbnRJdGVtOiBhbnkpID0+IGV2ZW50SXRlbT8udmFsdWUgPT09IHVzZXI/Ll9pZClcbiAgICApO1xuICAgIHRoaXMudXNlcklkcyA9IHRoaXMuc2VsZWN0ZWRBc3NpZ25lZXNMaXN0Lm1hcCgodXNlcjogYW55KSA9PiB1c2VyPy5faWQpO1xuICAgIHRoaXMuc2V0UGF5bG9hZCh0aGlzLnVzZXJJZHMsIHRoaXMuc2VsZWN0ZWRHcm91cElkcyk7XG4gICAgdGhpcy5zdGF0ZSA9XG4gICAgICB0aGlzLnVzZXJJZHM/Lmxlbmd0aCB8fCBldmVudD8ubGVuZ3RoXG4gICAgICAgID8gU2VsZWN0aW9uU3RhdGUuU0VMRUNURURcbiAgICAgICAgOiBTZWxlY3Rpb25TdGF0ZS5FTVBUWTtcbiAgfVxuXG4gIHNldEFzc2lnbmVlR3JvdXBzTGlzdChldmVudDogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZEFzc2lnbmVlR3JvdXBzID0gdGhpcy5ncm91cExpc3Q/LmZpbHRlcigoZ3JvdXA6IGFueSkgPT5cbiAgICAgIGV2ZW50Py5zb21lKChldmVudEl0ZW06IGFueSkgPT4gZXZlbnRJdGVtPy52YWx1ZSA9PT0gZ3JvdXA/Lmdyb3VwX2lkKVxuICAgICk7XG4gICAgY29uc3QgY3VycmVudFVzZXJJZHMgPVxuICAgICAgdGhpcy5wYXlsb2FkLmNhc2VUb1dvcmtmbG93Py5hc3NpZ25lZXMgfHwgdGhpcy51c2VySWRzO1xuICAgIGNvbnN0IGdyb3VwSWRzID0gdGhpcy5zZWxlY3RlZEFzc2lnbmVlR3JvdXBzLm1hcChcbiAgICAgIChncm91cDogYW55KSA9PiBncm91cD8uZ3JvdXBfaWRcbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWRHcm91cElkcyA9IHRoaXMuZ2V0U2VsZWN0ZWRHcm91cElkcyhncm91cElkcyk7XG4gICAgdGhpcy5zZXRQYXlsb2FkKGN1cnJlbnRVc2VySWRzLCB0aGlzLnNlbGVjdGVkR3JvdXBJZHMpO1xuICAgIHRoaXMuc3RhdGUgPVxuICAgICAgY3VycmVudFVzZXJJZHM/Lmxlbmd0aCB8fCBldmVudD8ubGVuZ3RoXG4gICAgICAgID8gU2VsZWN0aW9uU3RhdGUuU0VMRUNURURcbiAgICAgICAgOiBTZWxlY3Rpb25TdGF0ZS5FTVBUWTtcbiAgfVxuXG4gIHNldFBheWxvYWQodXNlcnM6IGFueSwgZ3JvdXBzOiBhbnkpIHtcbiAgICB0aGlzLnBheWxvYWQuY2FzZVRvV29ya2Zsb3cgPSB7XG4gICAgICAuLi50aGlzLnBheWxvYWQuY2FzZVRvV29ya2Zsb3csXG4gICAgICBhc3NpZ25lZXM6IHVzZXJzLFxuICAgICAgYXNzaWduZWVzX2dyb3VwOiBncm91cHMsXG4gICAgfTtcbiAgICB0aGlzLnJlc2V0U3RhZ2VQYXlsb2FkKCk7XG4gIH1cblxuICByZXNldFN0YWdlUGF5bG9hZCgpIHtcbiAgICB0aGlzLnBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5yZXNvbHV0aW9uX2RlYWRsaW5lPy5zdGFnZXNfYXNzaWduZWVzPy5mb3JFYWNoKFxuICAgICAgKHN0YWdlOiBhbnkpID0+IHtcbiAgICAgICAgc3RhZ2UuYXNzaWduZWVfaWQgPSAnJztcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iXX0=
272
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1hc3NpZ25lZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvcmVwb3J0LWEtY2FzZS9jb21wb25lbnRzL2Nhc2UtYXNzaWduZWVzL2Nhc2UtYXNzaWduZWVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxHQUViLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRCxPQUFPLEVBRUwsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLGNBQWMsR0FDZixNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7O0FBb0QvQyxNQUFNLE9BQU8sc0JBQXNCO0lBbERuQztRQW1ERSxXQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hCLG1CQUFjLEdBQUcsV0FBVyxDQUFDO1FBQzdCLDhCQUF5QixHQUFVLEVBQUUsQ0FBQztRQUN0QyxXQUFNLEdBQVE7WUFDWixHQUFHLG1CQUFtQjtZQUN0QixXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFdBQVc7WUFDbkUsS0FBSyxFQUFFLEVBQUU7U0FDVixDQUFDO1FBQ0YscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLG1CQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLHdCQUFtQixHQUFHLG1CQUFtQixDQUFDO1FBQzFDLFVBQUssR0FBVyxjQUFjLENBQUMsS0FBSyxDQUFDO1FBQ3JDLGtCQUFhLEdBQVUsRUFBRSxDQUFDO1FBQzFCLHVCQUFrQixHQUFVLEVBQUUsQ0FBQztRQUMvQiwwQkFBcUIsR0FBVSxFQUFFLENB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R0FBRztZQUM1QixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYztZQUM5QixTQUFTLEVBQUUsS0FBSztZQUNoQixlQUFlLEVBQUUsTUFBTTtTQUN4QixDQUFDO1FBQ0YsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE9BQU8sQ0FDMUUsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNiLEtBQUssQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQzsrR0FqTFUsc0JBQXNCO21HQUF0QixzQkFBc0Isa1hBaER2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkNUOzs0RkFHVSxzQkFBc0I7a0JBbERsQyxTQUFTOytCQUNFLG9CQUFvQixZQUNwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkNUOzhCQTJCUSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ08sZ0JBQWdCO3NCQUE1QixLQUFLO2dCQVVHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFTU0VUUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9hc3Nlc3N0cy5jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgQUNUSU9OX0NPREUsXG4gIERFRkFVTFRfRk9STV9DT05GSUcsXG4gIEZJRUxEX1NFTEVDVE9SLFxuICBSRVBPUlRfQ0FTRSxcbiAgU2VsZWN0aW9uUG9wdXBTdGF0ZSxcbiAgU2VsZWN0aW9uU3RhdGUsXG59IGZyb20gJy4uLy4uL2NvbnN0YW50cy9yZXBvcnQtY2FzZS5jb25zdGFudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY2FzZS1hc3NpZ25lZXMnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxhcHAtZmllbGQtaG9sZGVyXG4gICAgICBbaW1hZ2VdPVwiQVNTRVRTLmNhc2VfYXNzaWduZWVzXCJcbiAgICAgIFtjaGVja2VkXT1cIlxuICAgICAgICBwYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8uYXNzaWduZWVzPy5sZW5ndGggfHxcbiAgICAgICAgcGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/LmFzc2lnbmVlc19ncm91cD8ubGVuZ3RoXG4gICAgICBcIlxuICAgICAgW2Rpc2FibGVkXT1cImZpZWxkU2VsZWN0b3I/LmluY2x1ZGVzKGZpZWxkU2VsZWN0ZWQpXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyIGZpZWxkPlxuICAgICAgICA8YXBwLWZvcm0tc2VsZWN0Qm94XG4gICAgICAgICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgICAgICAgIFtzdGF0ZV09XCJzdGF0ZVwiXG4gICAgICAgICAgW3BvcHVwU3RhdGVdPVwiU2VsZWN0aW9uUG9wdXBTdGF0ZS5TRUxFQ1RJT05fRElBTE9HXCJcbiAgICAgICAgICBbY2hpcEl0ZW1zXT1cInNlbGVjdGVkSXRlbXNcIlxuICAgICAgICAgIFtjaGlwR3JvdXBJdGVtc109XCJzZWxlY3RlZEdyb3VwSXRlbXNcIlxuICAgICAgICAgIChmaWVsZENsaWNrZWQpPVwiYWN0aXZhdGVTZWxlY3RvcigkZXZlbnQpXCJcbiAgICAgICAgICAoc2VsZWN0ZWRJdGVtTGlzdENoYW5nZSk9XCJzZXRBc3NpZ25lZXNMaXN0KCRldmVudClcIlxuICAgICAgICAgIChzZWxlY3RlZEdyb3VwSXRlbUxpc3RDaGFuZ2UpPVwic2V0QXNzaWduZWVHcm91cHNMaXN0KCRldmVudClcIlxuICAgICAgICAgIFtpc0Vycm9yXT1cInZhbGlkYXRpb25FcnJvci5jYXNlQXNzaWduZWUuaXNFcnJvclwiXG4gICAgICAgICAgW2Vycm9yTWVzc2FnZV09XCJ2YWxpZGF0aW9uRXJyb3IuY2FzZUFzc2lnbmVlLm1lc3NhZ2VcIlxuICAgICAgICA+XG4gICAgICAgICAgPGFwcC12Yy1sYWJlbFxuICAgICAgICAgICAgbGFiZWxcbiAgICAgICAgICAgIFtsYWJlbFRleHRdPVwiYXNzaWduZWVzVGV4dHMuY2FzZV9kZXRhaWxzLmFzc2lnbmVlcy50aXRsZVwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbc2hvd0luZm9dPVwidHJ1ZVwiXG4gICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiYXNzaWduZWVzSGVscFRleHRcIlxuICAgICAgICAgID48L2FwcC12Yy1sYWJlbD5cbiAgICAgICAgPC9hcHAtZm9ybS1zZWxlY3RCb3g+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2FwcC1maWVsZC1ob2xkZXI+XG4gICAgPGFwcC1ncm91cC11c2Vycy1saXN0XG4gICAgICAqbmdJZj1cImFzc2lnbmVlc0NsaWNrZWRcIlxuICAgICAgW3VzZXJzTGlzdF09XCJ1c2VyTGlzdFwiXG4gICAgICBbdXNlcklkS2V5XT1cIidfaWQnXCJcbiAgICAgIFtzZWxlY3RlZFVzZXJzXT1cInNlbGVjdGVkQXNzaWduZWVzTGlzdFwiXG4gICAgICBbc2VsZWN0ZWRHcm91cHNdPVwic2VsZWN0ZWRBc3NpZ25lZUdyb3Vwc1wiXG4gICAgICBbZ3JvdXBzRW5hYmxlZF09XCJ0cnVlXCJcbiAgICAgIFthc3NpZ25lZUdyb3Vwc0xpc3RdPVwiZ3JvdXBMaXN0XCJcbiAgICAgIFtncm91cElkS2V5XT1cIidncm91cF9pZCdcIlxuICAgICAgKGNsb3NlVXNlcnNMaXN0KT1cImFjdGl2YXRlU2VsZWN0b3IoZmFsc2UpXCJcbiAgICAgIChzYXZlU2VsZWN0ZWRMaXN0KT1cInNhdmVTZWxlY3RlZEFzc2lnbmVlc0xpc3QoJGV2ZW50KVwiXG4gICAgPlxuICAgIDwvYXBwLWdyb3VwLXVzZXJzLWxpc3Q+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuLi8uLi8uLi9mb3Jtcy5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhc2VBc3NpZ25lZXNDb21wb25lbnQge1xuICBBU1NFVFMgPSBBU1NFVFM7XG4gIGFzc2lnbmVlc1RleHRzID0gUkVQT1JUX0NBU0U7XG4gIHJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3Q6IGFueVtdID0gW107XG4gIGNvbmZpZzogYW55ID0ge1xuICAgIC4uLkRFRkFVTFRfRk9STV9DT05GSUcsXG4gICAgcGxhY2Vob2xkZXI6IHRoaXMuYXNzaWduZWVzVGV4dHMuY2FzZV9kZXRhaWxzLmFzc2lnbmVlcy5wbGFjZWhvbGRlcixcbiAgICBpdGVtczogW10sXG4gIH07XG4gIGFzc2lnbmVlc0NsaWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmNMaXN0TG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIFNlbGVjdGlvblN0YXRlID0gU2VsZWN0aW9uU3RhdGU7XG4gIFNlbGVjdGlvblBvcHVwU3RhdGUgPSBTZWxlY3Rpb25Qb3B1cFN0YXRlO1xuICBzdGF0ZTogc3RyaW5nID0gU2VsZWN0aW9uU3RhdGUuRU1QVFk7XG4gIHNlbGVjdGVkSXRlbXM6IGFueVtdID0gW107XG4gIHNlbGVjdGVkR3JvdXBJdGVtczogYW55W10gPSBbXTtcbiAgc2VsZWN0ZWRBc3NpZ25lZXNMaXN0OiBhbnlbXSA9IFtdO1xuICBzZWxlY3RlZEFzc2lnbmVlR3JvdXBzOiBhbnlbXSA9IFtdO1xuICBzZWxlY3RlZEdyb3VwSWRzOiBhbnlbXSA9IFtdO1xuICB1c2VySWRzOiBhbnlbXSA9IFtdO1xuICBpbml0aWFsQXNzaWduZWVzOiBhbnkgPSB7fTtcbiAgZmllbGRTZWxlY3RvciA9IEZJRUxEX1NFTEVDVE9SO1xuICBhc3NpZ25lZXNIZWxwVGV4dCA9IHRoaXMuYXNzaWduZWVzVGV4dHMuY2FzZV9kZXRhaWxzLmFzc2lnbmVlcy5oZWxwVGV4dDtcblxuICBASW5wdXQoKSBwYXlsb2FkOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgZmllbGRTZWxlY3RlZDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHVzZXJMaXN0OiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBncm91cExpc3Q6IGFueVtdID0gW107XG4gIEBJbnB1dCgpIHNldCBpbml0aWFsU2VsZWN0aW9uKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmluaXRpYWxBc3NpZ25lZXMgPSB2YWx1ZTtcbiAgICBpZiAodmFsdWU/LmFzc2lnbmVlcz8ubGVuZ3RoIHx8IHZhbHVlPy5hc3NpZ25lZXNfZ3JvdXA/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5zdGF0ZSA9IFNlbGVjdGlvblN0YXRlLlNFTEVDVEVEO1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdmFsdWU/LmFzc2lnbmVlcztcbiAgICAgIHRoaXMuc2VsZWN0ZWRHcm91cEl0ZW1zID0gdmFsdWU/LmFzc2lnbmVlc19ncm91cDtcbiAgICAgIHRoaXMucG9wdWxhdGVBc3NpZ25lZXNMaXN0KHRoaXMuaW5pdGlhbEFzc2lnbmVlcyk7XG4gICAgICB0aGlzLnBvcHVsYXRlR3JvdXBBc3NpZ25lZXNMaXN0KHRoaXMuaW5pdGlhbEFzc2lnbmVlcyk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpIHZhbGlkYXRpb25FcnJvcjogYW55ID0ge307XG5cbiAgQE91dHB1dCgpIGZpZWxkQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uUmNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGZpbHRlckRlc2VsZWN0b3IgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWyd1c2VyTGlzdCddKSB7XG4gICAgICB0aGlzLnBvcHVsYXRlQXNzaWduZWVzTGlzdCh0aGlzLmluaXRpYWxBc3NpZ25lZXMpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1snZ3JvdXBMaXN0J10pIHtcbiAgICAgIHRoaXMucG9wdWxhdGVHcm91cEFzc2lnbmVlc0xpc3QodGhpcy5pbml0aWFsQXNzaWduZWVzKTtcbiAgICB9XG4gIH1cblxuICBzYXZlU2VsZWN0ZWRBc3NpZ25lZXNMaXN0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmFzc2lnbmVlc0NsaWNrZWQgPSBmYWxzZTtcbiAgICB0aGlzLnNldFNlbGVjdGVkQXNzaWduZWVzTGlzdChldmVudCk7XG4gICAgY29uc3QgdXNlcnMgPSBldmVudD8udXNlcnMgPyBldmVudD8udXNlcnMgOiBldmVudDtcbiAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkQXNzaWduZWVzKHVzZXJzIHx8W10pO1xuICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRBc3NpZ25lZUdyb3VwcyhldmVudD8uZ3JvdXBzIHx8IFtdKTtcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBJZHMgPSB0aGlzLmdldFNlbGVjdGVkR3JvdXBJZHMoZXZlbnQ/Lmdyb3VwcyB8fCBbXSk7XG4gICAgdGhpcy5zZXRQYXlsb2FkKHVzZXJzfHwgW10sIHRoaXMuc2VsZWN0ZWRHcm91cElkcyk7XG4gICAgdGhpcy5zdGF0ZSA9IFNlbGVjdGlvblN0YXRlLlNFTEVDVEVEO1xuICAgIHRoaXMuZmllbGRDbGlja2VkLmVtaXQoJycpO1xuICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLmNhc2VBc3NpZ25lZS5pc0Vycm9yID0gZmFsc2U7XG4gICAgdGhpcy52YWxpZGF0aW9uRXJyb3IuY2FzZUFzc2lnbmVlLm1lc3NhZ2UgPSAnJztcbiAgICB0aGlzLmZpbHRlckRlc2VsZWN0b3IuZW1pdChmYWxzZSk7XG4gIH1cblxuICBwb3B1bGF0ZUFzc2lnbmVlc0xpc3QodmFsdWU6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRBc3NpZ25lZXNMaXN0ID0gdGhpcy51c2VyTGlzdD8uZmlsdGVyKCh1c2VyOiBhbnkpID0+XG4gICAgICB2YWx1ZT8uYXNzaWduZWVzPy5pbmNsdWRlcyh1c2VyPy5faWQpXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLnVzZXJMaXN0XG4gICAgICA/LmZpbHRlcigodXNlcjogYW55KSA9PiB2YWx1ZT8uYXNzaWduZWVzPy5pbmNsdWRlcyh1c2VyPy5faWQpKVxuICAgICAgPy5tYXAoKHVzZXI6IGFueSkgPT4gKHtcbiAgICAgICAgbGFiZWw6IHVzZXI/Lm1lbWJlcl9uYW1lLFxuICAgICAgICB2YWx1ZTogdXNlcj8uX2lkLFxuICAgICAgfSkpO1xuICB9XG5cbiAgcG9wdWxhdGVHcm91cEFzc2lnbmVlc0xpc3QodmFsdWU6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRBc3NpZ25lZUdyb3VwcyA9IHRoaXMuZ3JvdXBMaXN0LmZpbHRlcigoZ3JvdXA6IGFueSkgPT5cbiAgICAgIHZhbHVlPy5hc3NpZ25lZXNfZ3JvdXA/LmluY2x1ZGVzKGdyb3VwPy5faWQpXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkR3JvdXBJdGVtcyA9IHRoaXMuZ3JvdXBMaXN0XG4gICAgICA/LmZpbHRlcigoZ3JvdXA6IGFueSkgPT4gdmFsdWU/LmFzc2lnbmVlc19ncm91cD8uaW5jbHVkZXMoZ3JvdXA/Ll9pZCkpXG4gICAgICA/Lm1hcCgoZ3JvdXA6IGFueSkgPT4gKHtcbiAgICAgICAgbGFiZWw6IGdyb3VwPy5ncm91cF9uYW1lLFxuICAgICAgICB2YWx1ZTogZ3JvdXA/Ll9pZCxcbiAgICAgIH0pKTtcbiAgfVxuXG4gIHVwZGF0ZVNlbGVjdGVkQXNzaWduZWVzKHVzZXJzSWRzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHRoaXMudXNlckxpc3RcbiAgICAgID8uZmlsdGVyKCh1c2VyOiBhbnkpID0+IHVzZXJzSWRzPy5pbmNsdWRlcyh1c2VyPy5faWQpKVxuICAgICAgPy5tYXAoKHVzZXI6IGFueSkgPT4gKHtcbiAgICAgICAgbGFiZWw6IHVzZXI/Lm1lbWJlcl9uYW1lLFxuICAgICAgICB2YWx1ZTogdXNlcj8uX2lkLFxuICAgICAgfSkpO1xuICB9XG5cbiAgdXBkYXRlU2VsZWN0ZWRBc3NpZ25lZUdyb3Vwcyhncm91cHNJZHM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwSXRlbXMgPSB0aGlzLmdyb3VwTGlzdFxuICAgICAgPy5maWx0ZXIoKGdyb3VwOiBhbnkpID0+IGdyb3Vwc0lkcz8uaW5jbHVkZXMoZ3JvdXA/Lmdyb3VwX2lkKSlcbiAgICAgID8ubWFwKChncm91cDogYW55KSA9PiAoe1xuICAgICAgICBsYWJlbDogZ3JvdXA/Lmdyb3VwX25hbWUsXG4gICAgICAgIHZhbHVlOiBncm91cD8uZ3JvdXBfaWQsXG4gICAgICB9KSk7XG4gIH1cblxuICBnZXRTZWxlY3RlZEdyb3VwSWRzKGdyb3VwSWRzOiBudW1iZXJbXSkge1xuICAgIHJldHVybiB0aGlzLmdyb3VwTGlzdFxuICAgICAgPy5maWx0ZXIoKGdyb3VwOiBhbnkpID0+IGdyb3VwSWRzPy5pbmNsdWRlcyhncm91cD8uZ3JvdXBfaWQpKVxuICAgICAgPy5tYXAoKGdyb3VwOiBhbnkpID0+IGdyb3VwPy5faWQpO1xuICB9XG5cbiAgc2V0U2VsZWN0ZWRBc3NpZ25lZXNMaXN0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkQXNzaWduZWVzTGlzdCA9IHRoaXMudXNlckxpc3Q/LmZpbHRlcigodXNlcjogYW55KSA9PlxuICAgICAgZXZlbnQ/LnVzZXJzPy5pbmNsdWRlcyh1c2VyPy5faWQpXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkQXNzaWduZWVHcm91cHMgPSB0aGlzLmdyb3VwTGlzdD8uZmlsdGVyKChncm91cDogYW55KSA9PlxuICAgICAgZXZlbnQ/Lmdyb3Vwcz8uaW5jbHVkZXMoZ3JvdXA/Lmdyb3VwX2lkKVxuICAgICk7XG4gIH1cblxuICBhY3RpdmF0ZVNlbGVjdG9yKGFjdGl2ZTogYm9vbGVhbikge1xuICAgIHRoaXMuYXNzaWduZWVzQ2xpY2tlZCA9IGFjdGl2ZTtcbiAgICB0aGlzLmZpZWxkQ2xpY2tlZC5lbWl0KGFjdGl2ZSA/ICdDQVNFX0FTU0lHTkVFJyA6ICcnKTtcbiAgICB0aGlzLmZpbHRlckRlc2VsZWN0b3IuZW1pdChhY3RpdmUgPyB0cnVlIDogZmFsc2UpO1xuICB9XG5cbiAgc2V0QXNzaWduZWVzTGlzdChldmVudDogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZEFzc2lnbmVlc0xpc3QgPSB0aGlzLnVzZXJMaXN0Py5maWx0ZXIoKHVzZXI6IGFueSkgPT5cbiAgICAgIGV2ZW50Py5zb21lKChldmVudEl0ZW06IGFueSkgPT4gZXZlbnRJdGVtPy52YWx1ZSA9PT0gdXNlcj8uX2lkKVxuICAgICk7XG4gICAgdGhpcy51c2VySWRzID0gdGhpcy5zZWxlY3RlZEFzc2lnbmVlc0xpc3QubWFwKCh1c2VyOiBhbnkpID0+IHVzZXI/Ll9pZCk7XG4gICAgdGhpcy5zZXRQYXlsb2FkKHRoaXMudXNlcklkcywgdGhpcy5zZWxlY3RlZEdyb3VwSWRzKTtcbiAgICB0aGlzLnN0YXRlID1cbiAgICAgIHRoaXMudXNlcklkcz8ubGVuZ3RoIHx8IGV2ZW50Py5sZW5ndGhcbiAgICAgICAgPyBTZWxlY3Rpb25TdGF0ZS5TRUxFQ1RFRFxuICAgICAgICA6IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICB9XG5cbiAgc2V0QXNzaWduZWVHcm91cHNMaXN0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkQXNzaWduZWVHcm91cHMgPSB0aGlzLmdyb3VwTGlzdD8uZmlsdGVyKChncm91cDogYW55KSA9PlxuICAgICAgZXZlbnQ/LnNvbWUoKGV2ZW50SXRlbTogYW55KSA9PiBldmVudEl0ZW0/LnZhbHVlID09PSBncm91cD8uZ3JvdXBfaWQpXG4gICAgKTtcbiAgICBjb25zdCBjdXJyZW50VXNlcklkcyA9XG4gICAgICB0aGlzLnBheWxvYWQuY2FzZVRvV29ya2Zsb3c/LmFzc2lnbmVlcyB8fCB0aGlzLnVzZXJJZHM7XG4gICAgY29uc3QgZ3JvdXBJZHMgPSB0aGlzLnNlbGVjdGVkQXNzaWduZWVHcm91cHMubWFwKFxuICAgICAgKGdyb3VwOiBhbnkpID0+IGdyb3VwPy5ncm91cF9pZFxuICAgICk7XG4gICAgdGhpcy5zZWxlY3RlZEdyb3VwSWRzID0gdGhpcy5nZXRTZWxlY3RlZEdyb3VwSWRzKGdyb3VwSWRzKTtcbiAgICB0aGlzLnNldFBheWxvYWQoY3VycmVudFVzZXJJZHMsIHRoaXMuc2VsZWN0ZWRHcm91cElkcyk7XG4gICAgdGhpcy5zdGF0ZSA9XG4gICAgICBjdXJyZW50VXNlcklkcz8ubGVuZ3RoIHx8IGV2ZW50Py5sZW5ndGhcbiAgICAgICAgPyBTZWxlY3Rpb25TdGF0ZS5TRUxFQ1RFRFxuICAgICAgICA6IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICB9XG5cbiAgc2V0UGF5bG9hZCh1c2VyczogYW55LCBncm91cHM6IGFueSkge1xuICAgIHRoaXMucGF5bG9hZC5jYXNlVG9Xb3JrZmxvdyA9IHtcbiAgICAgIC4uLnRoaXMucGF5bG9hZC5jYXNlVG9Xb3JrZmxvdyxcbiAgICAgIGFzc2lnbmVlczogdXNlcnMsXG4gICAgICBhc3NpZ25lZXNfZ3JvdXA6IGdyb3VwcyxcbiAgICB9O1xuICAgIHRoaXMucmVzZXRTdGFnZVBheWxvYWQoKTtcbiAgfVxuXG4gIHJlc2V0U3RhZ2VQYXlsb2FkKCkge1xuICAgIHRoaXMucGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/LnJlc29sdXRpb25fZGVhZGxpbmU/LnN0YWdlc19hc3NpZ25lZXM/LmZvckVhY2goXG4gICAgICAoc3RhZ2U6IGFueSkgPT4ge1xuICAgICAgICBzdGFnZS5hc3NpZ25lZV9pZCA9ICcnO1xuICAgICAgfVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -55,6 +55,7 @@ export class CaseCategoryComponent {
55
55
  this.workflowType = '';
56
56
  this.onCategoryChange = new EventEmitter();
57
57
  this.fieldClicked = new EventEmitter();
58
+ this.filterDeselector = new EventEmitter();
58
59
  }
59
60
  ngOnInit() {
60
61
  this.getAllCategories();
@@ -174,6 +175,7 @@ export class CaseCategoryComponent {
174
175
  this.onCategoryChange.emit(this.payload.category.ids);
175
176
  this.state = SelectionState.SELECTED;
176
177
  this.fieldClicked.emit('');
178
+ this.filterDeselector.emit(false);
177
179
  }
178
180
  updateFilteredCategoryList() {
179
181
  if (this.caseTypeSelected === this.caseType.ADD_CASE_TO_WORKFLOW) {
@@ -196,6 +198,7 @@ export class CaseCategoryComponent {
196
198
  this.payload['additional_category']['custom_fields'] = event.flatMap((item) => item?.custom_fields);
197
199
  this.additionalCategoryState = SelectionState.SELECTED;
198
200
  this.fieldClicked.emit('');
201
+ this.filterDeselector.emit(false);
199
202
  }
200
203
  setSelectedAdditionalCategoryList(event) {
201
204
  this.selectedAdditionalCategoryList = this.caseCategoryList.filter((category) => event.some((eventItem) => eventItem?._id === category?._id));
@@ -207,18 +210,22 @@ export class CaseCategoryComponent {
207
210
  this.categoryClicked = active;
208
211
  if (active) {
209
212
  this.fieldClicked.emit('category');
213
+ this.filterDeselector.emit(true);
210
214
  }
211
215
  else {
212
216
  this.fieldClicked.emit('');
217
+ this.filterDeselector.emit(false);
213
218
  }
214
219
  }
215
220
  activateAdditionalCategorySelector(active) {
216
221
  this.additionalCategoryClicked = active;
217
222
  if (active) {
218
223
  this.fieldClicked.emit('additionalCategory');
224
+ this.filterDeselector.emit(true);
219
225
  }
220
226
  else {
221
227
  this.fieldClicked.emit('');
228
+ this.filterDeselector.emit(false);
222
229
  }
223
230
  }
224
231
  setCategoryList(event) {
@@ -256,7 +263,7 @@ export class CaseCategoryComponent {
256
263
  this.additionalCategoryState = SelectionState.EMPTY;
257
264
  }
258
265
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CaseCategoryComponent, deps: [{ token: i1.ReportACaseService }], target: i0.ɵɵFactoryTarget.Component }); }
259
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CaseCategoryComponent, selector: "app-case-category", inputs: { payload: "payload", fieldSelected: "fieldSelected", caseTypeSelected: "caseTypeSelected", initialSelection: "initialSelection", initialAdditionalSelection: "initialAdditionalSelection", mode: "mode", workflowType: "workflowType" }, outputs: { onCategoryChange: "onCategoryChange", fieldClicked: "fieldClicked" }, usesOnChanges: true, ngImport: i0, template: `
266
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CaseCategoryComponent, selector: "app-case-category", inputs: { payload: "payload", fieldSelected: "fieldSelected", caseTypeSelected: "caseTypeSelected", initialSelection: "initialSelection", initialAdditionalSelection: "initialAdditionalSelection", mode: "mode", workflowType: "workflowType" }, outputs: { onCategoryChange: "onCategoryChange", fieldClicked: "fieldClicked", filterDeselector: "filterDeselector" }, usesOnChanges: true, ngImport: i0, template: `
260
267
 
261
268
  <app-field-holder
262
269
  [image]="ASSETS.case_category"
@@ -469,5 +476,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
469
476
  type: Output
470
477
  }], fieldClicked: [{
471
478
  type: Output
479
+ }], filterDeselector: [{
480
+ type: Output
472
481
  }] } });
473
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1jYXRlZ29yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9yZXBvcnQtYS1jYXNlL2NvbXBvbmVudHMvY2FzZS1jYXRlZ29yeS9jYXNlLWNhdGVnb3J5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRCxPQUFPLEVBRUwsY0FBYyxFQUNkLFdBQVcsRUFDWCxlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLGNBQWMsR0FDZixNQUFNLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7Ozs7QUF3R2pFLE1BQU0sT0FBTyxxQkFBcUI7SUFtQ2hDLElBQWEsZ0JBQWdCLENBQUMsS0FBVTtRQUN0QyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssRUFBRSxHQUFHLENBQUM7SUFFcEMsQ0FBQztJQUNELElBQWEsMEJBQTBCLENBQUMsS0FBVTtRQUNoRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxFQUFFLEdBQUcsQ0FBQztJQUM5QyxDQUFDO0lBT0QsWUFBb0IsV0FBK0I7UUFBL0IsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBL0NuRCxXQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hCLGtCQUFhLEdBQUcsV0FBVyxDQUFDO1FBQzVCLHFCQUFnQixHQUFVLEVBQUUsQ0FBQztRQUM3QixXQUFNLEdBQVE7WUFDWixHQUFHLGVBQWUsQ0FBQyxhQUFhO1lBQ2hDLFdBQVcsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsV0FB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QixxQkFBcUIsaVpBbEd0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErRlQ7OzRGQUdVLHFCQUFxQjtrQkFwR2pDLFNBQVM7K0JBQ0UsbUJBQW1CLFlBQ25COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStGVDt5R0FtQ1EsT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNPLGdCQUFnQjtzQkFBNUIsS0FBSztnQkFJTywwQkFBMEI7c0JBQXRDLEtBQUs7Z0JBR0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBU1NFVFMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvYXNzZXNzdHMuY29uc3RhbnRzJztcbmltcG9ydCB7XG4gIEFDVElPTl9DT0RFLFxuICBGSUVMRF9TRUxFQ1RPUixcbiAgUkVQT1JUX0NBU0UsXG4gIFNFTEVDVE9SX0NPTkZJRyxcbiAgU2VsZWN0aW9uUG9wdXBTdGF0ZSxcbiAgU2VsZWN0aW9uU3RhdGUsXG59IGZyb20gJy4uLy4uL2NvbnN0YW50cy9yZXBvcnQtY2FzZS5jb25zdGFudHMnO1xuaW1wb3J0IHsgcmVwb3J0IH0gZnJvbSAnLi4vY2FzZS10eXBlLXNsaWRlci9jYXNlLXR5cGUuY29tcG9uZW50JztcbmltcG9ydCB7IFJlcG9ydEFDYXNlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JlcG9ydC1hLWNhc2Uuc2VydmljZSc7XG5pbXBvcnQgeyBFZGl0b3JDb25maWcgfSBmcm9tICdAdmNvbXBseS9lZGl0b3InO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY2FzZS1jYXRlZ29yeScsXG4gIHRlbXBsYXRlOiBgXG5cbiAgICA8YXBwLWZpZWxkLWhvbGRlclxuICAgICAgW2ltYWdlXT1cIkFTU0VUUy5jYXNlX2NhdGVnb3J5XCJcbiAgICAgIFtkaXNhYmxlZF09XCJmaWVsZFNlbGVjdG9yPy5pbmNsdWRlcyhmaWVsZFNlbGVjdGVkKVwiXG4gICAgICBbYWN0aXZlXT1cImNhdGVnb3J5Q2xpY2tlZFwiXG4gICAgICBbY2hlY2tlZF09XCJwYXlsb2FkPy5jYXRlZ29yeT8uaWRzPy5sZW5ndGhcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgZmllbGQ+XG4gICAgICAgIDxhcHAtZm9ybS1zZWxlY3RCb3hcbiAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgICAgICAgW3N0YXRlXT1cInN0YXRlXCJcbiAgICAgICAgICBbcG9wdXBTdGF0ZV09XCJTZWxlY3Rpb25Qb3B1cFN0YXRlLlNFTEVDVElPTl9ESUFMT0dcIlxuICAgICAgICAgIFtjaGlwSXRlbXNdPVwic2VsZWN0ZWRJdGVtc1wiXG4gICAgICAgICAgW2VkaXREaXNhYmxlZF09XCJjYXRlZ29yeUVkaXREaXNhYmxlXCJcbiAgICAgICAgICBbcmVtb3ZhYmxlXT1cIiFjYXRlZ29yeUVkaXREaXNhYmxlXCJcbiAgICAgICAgICAoZmllbGRDbGlja2VkKT1cImFjdGl2YXRlU2VsZWN0b3IoJGV2ZW50KVwiXG4gICAgICAgICAgKHNlbGVjdGVkSXRlbUxpc3RDaGFuZ2UpPVwic2V0Q2F0ZWdvcnlMaXN0KCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGFwcC12Yy1sYWJlbFxuICAgICAgICAgICAgbGFiZWxcbiAgICAgICAgICAgIFtsYWJlbFRleHRdPVwiY2F0ZWdvcnlUZXh0cy5jYXNlX2RldGFpbHMuY2F0ZWdvcnkudGl0bGVcIlxuICAgICAgICAgID48L2FwcC12Yy1sYWJlbD5cbiAgICAgICAgPC9hcHAtZm9ybS1zZWxlY3RCb3g+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInZ4LWZvcm0tZ3JvdXBcIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCB0YWcgb2YgcGF5bG9hZD8uY2F0ZWdvcnk/LmN1c3RvbV9maWVsZHNcIlxuICAgICAgICA+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtY29udHJvbC1wYW5lbFwiPnt7IHRhZz8ubmFtZSB9fTwvbGFiZWw+XG4gICAgICAgICAgPHZjb21wbHktZWRpdG9yXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInRhZy52YWx1ZVwiXG4gICAgICAgICAgICBbZWRpdG9yQ29uZmlnXT1cImN1c3RvbUZpZWxkXCJcbiAgICAgICAgICAgIFtlZGl0b3JDb25maWddPVwiKGkgfCBnZXRFZGl0b3JDb25maWc6ICdjYXRlZ29yeScpID8/IGN1c3RvbUZpZWxkXCJcbiAgICAgICAgICA+PC92Y29tcGx5LWVkaXRvcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2FwcC1maWVsZC1ob2xkZXI+XG4gICAgPGFwcC1maWVsZC1ob2xkZXJcbiAgICAgICpuZ0lmPVwiY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuQUREX0NBU0VfVE9fV09SS0ZMT1dcIlxuICAgICAgW2Rpc2FibGVkXT1cImZpZWxkU2VsZWN0ZWQgPT09ICdSQydcIlxuICAgICAgW2FjdGl2ZV09XCJjYXRlZ29yeUNsaWNrZWRcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgZmllbGQ+XG4gICAgICAgIDxhcHAtZm9ybS1zZWxlY3RCb3hcbiAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgICAgICAgW3N0YXRlXT1cImFkZGl0aW9uYWxDYXRlZ29yeVN0YXRlXCJcbiAgICAgICAgICBbcG9wdXBTdGF0ZV09XCJTZWxlY3Rpb25Qb3B1cFN0YXRlLlNFTEVDVElPTl9ESUFMT0dcIlxuICAgICAgICAgIFtjaGlwSXRlbXNdPVwic2VsZWN0ZWRBZGRpdGlvbmFsSXRlbXNcIlxuICAgICAgICAgIChmaWVsZENsaWNrZWQpPVwiYWN0aXZhdGVBZGRpdGlvbmFsQ2F0ZWdvcnlTZWxlY3RvcigkZXZlbnQpXCJcbiAgICAgICAgICAoc2VsZWN0ZWRJdGVtTGlzdENoYW5nZSk9XCJzZXRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0KCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGFwcC12Yy1sYWJlbFxuICAgICAgICAgICAgbGFiZWxcbiAgICAgICAgICAgIFtsYWJlbFRleHRdPVwiY2F0ZWdvcnlUZXh0cy5jYXNlX2RldGFpbHMuYWRkaXRpb25hbF9jYXRlZ29yeS50aXRsZVwiXG4gICAgICAgICAgPjwvYXBwLXZjLWxhYmVsPlxuICAgICAgICA8L2FwcC1mb3JtLXNlbGVjdEJveD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwidngtZm9ybS1ncm91cFwiXG4gICAgICAgICAgKm5nRm9yPVwibGV0IHRhZyBvZiBwYXlsb2FkPy5hZGRpdGlvbmFsX2NhdGVnb3J5Py5jdXN0b21fZmllbGRzOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIlxuICAgICAgICA+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtY29udHJvbC1wYW5lbFwiPnt7IHRhZz8ubmFtZSB9fTwvbGFiZWw+XG4gICAgICAgICAgPHZjb21wbHktZWRpdG9yXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJ0YWc/LnZhbHVlIHx8ICcnXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUN1c3RvbUZpZWxkKCRldmVudCwgaSlcIlxuICAgICAgICAgICAgW2VkaXRvckNvbmZpZ109XCIoaSB8IGdldEVkaXRvckNvbmZpZzogJ2FkZGl0aW9uYWxDYXRlZ29yeScpID8/IGN1c3RvbUZpZWxkXCJcbiAgICAgICAgICA+PC92Y29tcGx5LWVkaXRvcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2FwcC1maWVsZC1ob2xkZXI+XG4gICAgPGFwcC1jYXRlZ29yeS1saXN0LXNlbGVjdGlvblxuICAgICAgKm5nSWY9XCJjYXRlZ29yeUNsaWNrZWRcIlxuICAgICAgW2NhdGVnb3J5TGlzdF09XCJjYXNlQ2F0ZWdvcnlMaXN0XCJcbiAgICAgIFtjb25maWddPVwiY29uZmlnXCJcbiAgICAgIFtsb2FkaW5nXT1cImNhdGVnb3J5TGlzdExvYWRlclwiXG4gICAgICBbc2VsZWN0ZWRMaXN0XT1cInNlbGVjdGVkQ2F0ZWdvcnlMaXN0XCJcbiAgICAgIFtzZWxlY3Rpb25Nb2RlXT1cIlxuICAgICAgICBjYXNlVHlwZVNlbGVjdGVkID09PSBjYXNlVHlwZS5SRVBPUlRfQ0FTRSA/ICdtdWx0aXBsZScgOiAnc2luZ2xlJ1xuICAgICAgXCJcbiAgICAgIChjYW5jZWwpPVwiYWN0aXZhdGVTZWxlY3RvcihmYWxzZSlcIlxuICAgICAgKG5leHQpPVwic2F2ZVNlbGVjdGVkQ2F0ZWdvcnlMaXN0KCRldmVudClcIlxuICAgID48L2FwcC1jYXRlZ29yeS1saXN0LXNlbGVjdGlvbj4gXG4gICAgPGFwcC1jYXRlZ29yeS1saXN0LXNlbGVjdGlvblxuICAgICAgKm5nSWY9XCJhZGRpdGlvbmFsQ2F0ZWdvcnlDbGlja2VkXCJcbiAgICAgIFtjYXRlZ29yeUxpc3RdPVwiXG4gICAgICAgIGNhc2VUeXBlU2VsZWN0ZWQgPT09IGNhc2VUeXBlLkFERF9DQVNFX1RPX1dPUktGTE9XICYmXG4gICAgICAgIHBheWxvYWQ/LmNhdGVnb3J5Py5pZHM/Lmxlbmd0aFxuICAgICAgICAgID8gZmlsdGVyZWRDYXNlQ2F0ZWdvcnlMaXN0XG4gICAgICAgICAgOiBjYXNlQ2F0ZWdvcnlMaXN0XG4gICAgICBcIlxuICAgICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgICAgW2xvYWRpbmddPVwiY2F0ZWdvcnlMaXN0TG9hZGVyXCJcbiAgICAgIFtzZWxlY3RlZExpc3RdPVwic2VsZWN0ZWRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0XCJcbiAgICAgIChjYW5jZWwpPVwiYWN0aXZhdGVBZGRpdGlvbmFsQ2F0ZWdvcnlTZWxlY3RvcihmYWxzZSlcIlxuICAgICAgKG5leHQpPVwic2F2ZVNlbGVjdGVkQWRkaXRpb25hbENhdGVnb3J5TGlzdCgkZXZlbnQpXCJcbiAgICA+PC9hcHAtY2F0ZWdvcnktbGlzdC1zZWxlY3Rpb24+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuLi8uLi8uLi9mb3Jtcy5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhc2VDYXRlZ29yeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2Vze1xuICBBU1NFVFMgPSBBU1NFVFM7XG4gIGNhdGVnb3J5VGV4dHMgPSBSRVBPUlRfQ0FTRTtcbiAgY2FzZUNhdGVnb3J5TGlzdDogYW55W10gPSBbXTtcbiAgY29uZmlnOiBhbnkgPSB7XG4gICAgLi4uU0VMRUNUT1JfQ09ORklHLkNBU0VfQ0FURUdPUlksXG4gICAgcGxhY2Vob2xkZXI6IHRoaXMuY2F0ZWdvcnlUZXh0cy5jYXNlX2RldGFpbHMuY2F0ZWdvcnkucGxhY2Vob2xkZXIsXG4gIH07XG4gIGNhdGVnb3J5Q2xpY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBhZGRpdGlvbmFsQ2F0ZWdvcnlDbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIGNhdGVnb3J5TGlzdExvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBTZWxlY3Rpb25TdGF0ZSA9IFNlbGVjdGlvblN0YXRlO1xuICBTZWxlY3Rpb25Qb3B1cFN0YXRlID0gU2VsZWN0aW9uUG9wdXBTdGF0ZTtcbiAgc3RhdGU6IHN0cmluZyA9IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICBhZGRpdGlvbmFsQ2F0ZWdvcnlTdGF0ZTogc3RyaW5nID0gU2VsZWN0aW9uU3RhdGUuRU1QVFk7XG4gIHNlbGVjdGVkSXRlbXM6IGFueVtdID0gW107XG4gIHNlbGVjdGVkQWRkaXRpb25hbEl0ZW1zOiBhbnlbXSA9IFtdO1xuICBzZWxlY3RlZENhdGVnb3J5TGlzdDogYW55W10gPSBbXTtcbiAgc2VsZWN0ZWRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0OiBhbnlbXSA9IFtdO1xuICBpbml0aWFsQ2F0ZWdvcnk6IGFueTtcbiAgY2FzZVR5cGUgPSByZXBvcnQ7XG4gIGZpZWxkU2VsZWN0b3IgPSBGSUVMRF9TRUxFQ1RPUjtcbiAgY3VzdG9tRmllbGQ6IEVkaXRvckNvbmZpZyA9IHtcbiAgICBtb2RlOiAncHJpbWUnLFxuICAgIGNvbG9yUGFsZXR0ZTogdHJ1ZSxcbiAgICBsaW5rOiB0cnVlLFxuICAgIHBsYWNlaG9sZGVyOiAnQWRkIHZhbHVlJyxcbiAgICBpZDogJ2N1c3RvbUZpZWxkJ1xuICB9O1xuICBpbml0aWFsQWRkaXRpb25hbENhdGVnb3J5OiBhbnk7XG4gIGZpbHRlcmVkQ2FzZUNhdGVnb3J5TGlzdDogYW55W10gPSBbXTtcblxuICBASW5wdXQoKSBwYXlsb2FkOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgZmllbGRTZWxlY3RlZDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGNhc2VUeXBlU2VsZWN0ZWQ6IGFueTtcbiAgQElucHV0KCkgc2V0IGluaXRpYWxTZWxlY3Rpb24odmFsdWU6IGFueSkge1xuICAgIHRoaXMuaW5pdGlhbENhdGVnb3J5ID0gdmFsdWU/LmlkcztcbiAgXG4gIH1cbiAgQElucHV0KCkgc2V0IGluaXRpYWxBZGRpdGlvbmFsU2VsZWN0aW9uKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmluaXRpYWxBZGRpdGlvbmFsQ2F0ZWdvcnkgPSB2YWx1ZT8uaWRzO1xuICB9XG4gIEBJbnB1dCgpIG1vZGU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSB3b3JrZmxvd1R5cGU6IHN0cmluZyA9ICcnO1xuXG4gIEBPdXRwdXQoKSBvbkNhdGVnb3J5Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBmaWVsZENsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNhc2VTZXJ2aWNlOiBSZXBvcnRBQ2FzZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5nZXRBbGxDYXRlZ29yaWVzKCk7XG4gIH1cblxuICB0cmFja0J5SW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuICBcbiAgdXBkYXRlQ3VzdG9tRmllbGQodmFsdWU6IGFueSwgaW5kZXg6IG51bWJlcikge1xuICAgIGlmICh0aGlzLnBheWxvYWQ/LmFkZGl0aW9uYWxfY2F0ZWdvcnk/LmN1c3RvbV9maWVsZHMpIHtcbiAgICAgIHRoaXMucGF5bG9hZC5hZGRpdGlvbmFsX2NhdGVnb3J5LmN1c3RvbV9maWVsZHNbaW5kZXhdLnZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLnBheWxvYWQuYWRkaXRpb25hbF9jYXRlZ29yeS5jdXN0b21fZmllbGRzID0gWy4uLnRoaXMucGF5bG9hZC5hZGRpdGlvbmFsX2NhdGVnb3J5LmN1c3RvbV9maWVsZHNdO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1sncGF5bG9hZCddKSB7XG4gICAgICBpZiAoIXRoaXMucGF5bG9hZD8uY2F0ZWdvcnk/Lmlkcz8ubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5FTVBUWTtcbiAgICAgICAgdGhpcy5hZGRpdGlvbmFsQ2F0ZWdvcnlTdGF0ZSA9IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBbXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5TGlzdCA9IFtdO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQWRkaXRpb25hbEl0ZW1zID0gW107XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0ID0gW107XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnVwZGF0ZUZpbHRlcmVkQ2F0ZWdvcnlMaXN0KCk7XG5cbiAgICAgIH1cbiAgICAgIHRoaXMucG9wdWxhdGVJbml0aWFsQ2F0ZWdvcnkoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ2luaXRpYWxTZWxlY3Rpb24nXSB8fCBjaGFuZ2VzWydpbml0aWFsQWRkaXRpb25hbFNlbGVjdGlvbiddKSB7XG4gICAgICB0aGlzLnBvcHVsYXRlSW5pdGlhbENhdGVnb3J5KCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0QWxsQ2F0ZWdvcmllcygpIHtcbiAgICB0aGlzLmNhdGVnb3J5TGlzdExvYWRlciA9IHRydWU7XG4gICAgdGhpcy5jYXNlU2VydmljZS5nZXRBbGxDYXRlZ29yaWVzKCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgdGhpcy5jYXNlQ2F0ZWdvcnlMaXN0ID0gcmVzPy5kYXRhO1xuICAgICAgaWYgKHRoaXMubW9kZSA9PT0gJ0VESVQnKSB7XG4gICAgICAgIHRoaXMucG9wdWxhdGVJbml0aWFsQ2F0ZWdvcnkoKTtcbiAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXJlZENhdGVnb3J5TGlzdCgpO1xuICAgICAgfVxuICAgICAgdGhpcy5jYXRlZ29yeUxpc3RMb2FkZXIgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIHBvcHVsYXRlSW5pdGlhbENhdGVnb3J5KCkge1xuICAgIGlmICh0aGlzLmlzQUNUV1dvcmtmbG93KCkpIHtcbiAgICAgIHRoaXMudXBkYXRlQUNUV0NhdGVnb3J5KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNSQUNXb3JrZmxvdygpKSB7XG4gICAgICB0aGlzLnVwZGF0ZVJBQ0NhdGVnb3J5KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5oYW5kbGVEZWZhdWx0Q2FzZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0FDVFdXb3JrZmxvdygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgKHRoaXMuaW5pdGlhbENhdGVnb3J5Py5sZW5ndGggfHwgdGhpcy5pbml0aWFsQWRkaXRpb25hbENhdGVnb3J5Py5sZW5ndGgpICYmIFxuICAgICAgdGhpcy53b3JrZmxvd1R5cGUgPT09ICdBQ1RXJ1xuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGlzUkFDV29ya2Zsb3coKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLmluaXRpYWxDYXRlZ29yeT8ubGVuZ3RoIHx8IHRoaXMuaW5pdGlhbEFkZGl0aW9uYWxDYXRlZ29yeT8ubGVuZ3RoKSAmJiB0aGlzLndvcmtmbG93VHlwZSA9PT0gJ1JBQyc7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZURlZmF1bHRDYXNlKCk6IHZvaWQge1xuICAgIGNvbnN0IGlzRWRpdE1vZGVXaXRoUmVzdHJpY3Rpb25zID0gXG4gICAgICB0aGlzLm1vZGUgPT09ICdFRElUJyAmJlxuICAgICAgdGhpcy53b3JrZmxvd1R5cGUgIT09ICdBQ1RXJyAmJlxuICAgICAgdGhpcy5jYXNlVHlwZVNlbGVjdGVkID09PSB0aGlzLmNhc2VUeXBlLkFERF9DQVNFX1RPX1dPUktGTE9XO1xuXG4gICAgdGhpcy5zdGF0ZSA9IGlzRWRpdE1vZGVXaXRoUmVzdHJpY3Rpb25zIFxuICAgICAgPyBTZWxlY3Rpb25TdGF0ZS5ESVNBQkxFRCBcbiAgICAgIDogU2VsZWN0aW9uU3RhdGUuRU1QVFk7XG5cbiAgICBpZiAoaXNFZGl0TW9kZVdpdGhSZXN0cmljdGlvbnMpIHtcbiAgICAgIHRoaXMuY29uZmlnLmRpc2FibGVkVGV4dCA9IHRoaXMuY2F0ZWdvcnlUZXh0cy5jYXNlX2RldGFpbHMuY2F0ZWdvcnkucGxhY2Vob2xkZXI7XG4gICAgfVxuXG4gIH1cblxuICB1cGRhdGVSQUNDYXRlZ29yeSgpIHtcbiAgICBpZiAodGhpcy5pbml0aWFsQ2F0ZWdvcnk/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5zdGF0ZSA9IFNlbGVjdGlvblN0YXRlLlNFTEVDVEVEO1xuICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5TGlzdCA9IHRoaXMuY2FzZUNhdGVnb3J5TGlzdD8uZmlsdGVyKFxuICAgICAgICAoY2F0ZWdvcnk6IGFueSkgPT5cbiAgICAgICAgICB0aGlzLmluaXRpYWxDYXRlZ29yeT8uc29tZSgoaWQ6IGFueSkgPT4gaWQgPT09IGNhdGVnb3J5Py5faWQpXG4gICAgICApO1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5jYXNlQ2F0ZWdvcnlMaXN0XG4gICAgICAgIC5maWx0ZXIoKGNhdGVnb3J5OiBhbnkpID0+XG4gICAgICAgICAgdGhpcy5pbml0aWFsQ2F0ZWdvcnk/LnNvbWUoKGlkOiBhbnkpID0+IGlkID09PSBjYXRlZ29yeT8uX2lkKVxuICAgICAgICApXG4gICAgICAgIC5tYXAoKGNhdGVnb3J5OiBhbnkpID0+ICh7XG4gICAgICAgICAgbGFiZWw6IGNhdGVnb3J5Py5uYW1lLFxuICAgICAgICAgIHZhbHVlOiBjYXRlZ29yeT8uX2lkLFxuICAgICAgICB9KSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmluaXRpYWxBZGRpdGlvbmFsQ2F0ZWdvcnk/Lmxlbmd0aCkge1xuICAgICBcbiAgICAgIHRoaXMuc2VsZWN0ZWRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0ID0gdGhpcy5jYXNlQ2F0ZWdvcnlMaXN0Py5maWx0ZXIoXG4gICAgICAgIChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgICAgIHRoaXMuaW5pdGlhbEFkZGl0aW9uYWxDYXRlZ29yeT8uc29tZShcbiAgICAgICAgICAgIChpZDogYW55KSA9PiBpZCA9PT0gY2F0ZWdvcnk/Ll9pZFxuICAgICAgICAgICkgfHwgdGhpcy5pbml0aWFsQWRkaXRpb25hbENhdGVnb3J5Py5pbmNsdWRlcyhjYXRlZ29yeT8uX2lkKVxuICAgICAgKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRBZGRpdGlvbmFsSXRlbXMgPSB0aGlzLnNlbGVjdGVkQWRkaXRpb25hbENhdGVnb3J5TGlzdFxuICAgICAgICAubWFwKChjYXRlZ29yeTogYW55KSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiBjYXRlZ29yeT8ubmFtZSxcbiAgICAgICAgICB2YWx1ZTogY2F0ZWdvcnk/Ll9pZCxcbiAgICAgICAgfSkpO1xuICAgICAgICB0aGlzLmFkZGl0aW9uYWxDYXRlZ29yeVN0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG5cbiAgICAgICAgaWYoIXRoaXMuaW5pdGlhbENhdGVnb3J5Py5sZW5ndGgpe1xuICAgICAgICAgIHRoaXMuaGFuZGxlRGVmYXVsdENhc2UoKTtcbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUFDVFdDYXRlZ29yeSgpIHtcbiAgICB0aGlzLmFkZGl0aW9uYWxDYXRlZ29yeVN0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG4gICAgdGhpcy5zZWxlY3RlZEFkZGl0aW9uYWxDYXRlZ29yeUxpc3QgPSB0aGlzLmNhc2VDYXRlZ29yeUxpc3Q/LmZpbHRlcihcbiAgICAgIChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgICB0aGlzLmluaXRpYWxDYXRlZ29yeS5zb21lKChpZDogYW55KSA9PiBpZCA9PT0gY2F0ZWdvcnk/Ll9pZCkgfHwgdGhpcy5pbml0aWFsQWRkaXRpb25hbENhdGVnb3J5LmluY2x1ZGVzKGNhdGVnb3J5Py5faWQpXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkQWRkaXRpb25hbEl0ZW1zID0gdGhpcy5zZWxlY3RlZEFkZGl0aW9uYWxDYXRlZ29yeUxpc3QubWFwKChjYXRlZ29yeTogYW55KSA9PiAoe1xuICAgICAgbGFiZWw6IGNhdGVnb3J5Py5uYW1lLFxuICAgICAgdmFsdWU6IGNhdGVnb3J5Py5faWQsXG4gICAgfSkpO1xuICB9XG5cbiAgc2F2ZVNlbGVjdGVkQ2F0ZWdvcnlMaXN0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmNhdGVnb3J5Q2xpY2tlZCA9IGZhbHNlO1xuICAgIHRoaXMuc2V0U2VsZWN0ZWRDYXRlZ29yeUxpc3QoZXZlbnQpO1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHRoaXMuY2FzZUNhdGVnb3J5TGlzdFxuICAgICAgLmZpbHRlcigoY2F0ZWdvcnk6IGFueSkgPT5cbiAgICAgICAgZXZlbnQuc29tZSgoZXZlbnRJdGVtOiBhbnkpID0+IGV2ZW50SXRlbT8uX2lkID09PSBjYXRlZ29yeT8uX2lkKVxuICAgICAgKVxuICAgICAgLm1hcCgoY2F0ZWdvcnk6IGFueSkgPT4gKHtcbiAgICAgICAgbGFiZWw6IGNhdGVnb3J5Py5uYW1lLFxuICAgICAgICB2YWx1ZTogY2F0ZWdvcnk/Ll9pZCxcbiAgICAgIH0pKTtcbiAgICB0aGlzLnBheWxvYWQuY2F0ZWdvcnkuaWRzID0gZXZlbnQubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0/Ll9pZCk7XG4gICAgdGhpcy51cGRhdGVGaWx0ZXJlZENhdGVnb3J5TGlzdCgpO1xuICAgIHRoaXMucGF5bG9hZC5jYXRlZ29yeS5jdXN0b21fZmllbGRzID0gZXZlbnQuZmxhdE1hcChcbiAgICAgIChpdGVtOiBhbnkpID0+IGl0ZW0/LmN1c3RvbV9maWVsZHNcbiAgICApO1xuICAgIHRoaXMub25DYXRlZ29yeUNoYW5nZS5lbWl0KHRoaXMucGF5bG9hZC5jYXRlZ29yeS5pZHMpO1xuICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5TRUxFQ1RFRDtcbiAgICB0aGlzLmZpZWxkQ2xpY2tlZC5lbWl0KCcnKTtcbiAgfVxuXG4gIHVwZGF0ZUZpbHRlcmVkQ2F0ZWdvcnlMaXN0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNhc2VUeXBlU2VsZWN0ZWQgPT09IHRoaXMuY2FzZVR5cGUuQUREX0NBU0VfVE9fV09SS0ZMT1cpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRDYXNlQ2F0ZWdvcnlMaXN0ID0gdGhpcy5jYXNlQ2F0ZWdvcnlMaXN0LmZpbHRlcihcbiAgICAgICAgKGNhdGVnb3J5OiBhbnkpID0+ICF0aGlzLnBheWxvYWQuY2F0ZWdvcnkuaWRzLmluY2x1ZGVzKGNhdGVnb3J5Ll9pZClcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgc2F2ZVNlbGVjdGVkQWRkaXRpb25hbENhdGVnb3J5TGlzdChldmVudDogYW55KSB7XG4gICAgdGhpcy5hZGRpdGlvbmFsQ2F0ZWdvcnlDbGlja2VkID0gZmFsc2U7XG4gICAgdGhpcy5zZXRTZWxlY3RlZEFkZGl0aW9uYWxDYXRlZ29yeUxpc3QoZXZlbnQpO1xuICAgIHRoaXMuc2VsZWN0ZWRBZGRpdGlvbmFsSXRlbXMgPSB0aGlzLmNhc2VDYXRlZ29yeUxpc3RcbiAgICAgIC5maWx0ZXIoKGNhdGVnb3J5OiBhbnkpID0+XG4gICAgICAgIGV2ZW50LnNvbWUoKGV2ZW50SXRlbTogYW55KSA9PiBldmVudEl0ZW0/Ll9pZCA9PT0gY2F0ZWdvcnk/Ll9pZClcbiAgICAgIClcbiAgICAgIC5tYXAoKGNhdGVnb3J5OiBhbnkpID0+ICh7XG4gICAgICAgIGxhYmVsOiBjYXRlZ29yeT8ubmFtZSxcbiAgICAgICAgdmFsdWU6IGNhdGVnb3J5Py5faWQsXG4gICAgICB9KSk7XG4gICAgICBpZighdGhpcy5wYXlsb2FkWydhZGRpdGlvbmFsX2NhdGVnb3J5J10pe1xuICAgICAgICB0aGlzLnBheWxvYWRbJ2FkZGl0aW9uYWxfY2F0ZWdvcnknXSA9IHt9O1xuICAgICAgfVxuICAgIHRoaXMucGF5bG9hZFsnYWRkaXRpb25hbF9jYXRlZ29yeSddWydpZHMnXSA9IGV2ZW50Lm1hcCgoaXRlbTogYW55KSA9PiBpdGVtPy5faWQpO1xuICAgIHRoaXMucGF5bG9hZFsnYWRkaXRpb25hbF9jYXRlZ29yeSddWydjdXN0b21fZmllbGRzJ10gPSBldmVudC5mbGF0TWFwKFxuICAgICAgKGl0ZW06IGFueSkgPT4gaXRlbT8uY3VzdG9tX2ZpZWxkc1xuICAgICk7XG4gICAgdGhpcy5hZGRpdGlvbmFsQ2F0ZWdvcnlTdGF0ZSA9IFNlbGVjdGlvblN0YXRlLlNFTEVDVEVEO1xuICAgIHRoaXMuZmllbGRDbGlja2VkLmVtaXQoJycpO1xuICB9XG5cbiAgc2V0U2VsZWN0ZWRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0KGV2ZW50OiBhbnlbXSkge1xuICAgIHRoaXMuc2VsZWN0ZWRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0ID0gdGhpcy5jYXNlQ2F0ZWdvcnlMaXN0LmZpbHRlcihcbiAgICAgIChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgICBldmVudC5zb21lKChldmVudEl0ZW06IGFueSkgPT4gZXZlbnRJdGVtPy5faWQgPT09IGNhdGVnb3J5Py5faWQpXG4gICAgKTtcbiAgfVxuXG4gIHNldFNlbGVjdGVkQ2F0ZWdvcnlMaXN0KGV2ZW50OiBhbnlbXSkge1xuICAgIHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUxpc3QgPSB0aGlzLmNhc2VDYXRlZ29yeUxpc3QuZmlsdGVyKChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgZXZlbnQuc29tZSgoZXZlbnRJdGVtOiBhbnkpID0+IGV2ZW50SXRlbT8uX2lkID09PSBjYXRlZ29yeT8uX2lkKVxuICAgICk7XG4gIH1cblxuICBhY3RpdmF0ZVNlbGVjdG9yKGFjdGl2ZTogYm9vbGVhbikge1xuICAgIHRoaXMuY2F0ZWdvcnlDbGlja2VkID0gYWN0aXZlO1xuICAgIGlmIChhY3RpdmUpIHtcbiAgICAgIHRoaXMuZmllbGRDbGlja2VkLmVtaXQoJ2NhdGVnb3J5Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmllbGRDbGlja2VkLmVtaXQoJycpO1xuICAgIH1cbiAgfVxuXG4gIGFjdGl2YXRlQWRkaXRpb25hbENhdGVnb3J5U2VsZWN0b3IoYWN0aXZlOiBib29sZWFuKSB7XG4gICAgdGhpcy5hZGRpdGlvbmFsQ2F0ZWdvcnlDbGlja2VkID0gYWN0aXZlO1xuICAgIGlmIChhY3RpdmUpIHtcbiAgICAgIHRoaXMuZmllbGRDbGlja2VkLmVtaXQoJ2FkZGl0aW9uYWxDYXRlZ29yeScpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpZWxkQ2xpY2tlZC5lbWl0KCcnKTtcbiAgICB9XG4gIH1cblxuICBzZXRDYXRlZ29yeUxpc3QoZXZlbnQ6IGFueSkge1xuICAgIGlmICghZXZlbnQ/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5yZXNldENhdGVnb3J5TGlzdCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlMaXN0ID0gdGhpcy5jYXNlQ2F0ZWdvcnlMaXN0LmZpbHRlcigoY2F0ZWdvcnk6IGFueSkgPT5cbiAgICAgIGV2ZW50LnNvbWUoKGV2ZW50SXRlbTogYW55KSA9PiBldmVudEl0ZW0/LnZhbHVlID09PSBjYXRlZ29yeT8uX2lkKVxuICAgICk7XG4gICAgdGhpcy5wYXlsb2FkLmNhdGVnb3J5LmlkcyA9IHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUxpc3Q/Lm1hcChcbiAgICAgIChjYXRlZ29yeTogYW55KSA9PiBjYXRlZ29yeT8uX2lkXG4gICAgKTtcbiAgICB0aGlzLm9uQ2F0ZWdvcnlDaGFuZ2UuZW1pdCh0aGlzLnBheWxvYWQuY2F0ZWdvcnkuaWRzKTtcbiAgfVxuXG4gIHNldEFkZGl0aW9uYWxDYXRlZ29yeUxpc3QoZXZlbnQ6IGFueVtdKSB7XG4gICAgaWYgKCFldmVudD8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLnJlc2V0QWRkaXRpb25hbENhdGVnb3J5TGlzdCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkQWRkaXRpb25hbENhdGVnb3J5TGlzdCA9IHRoaXMuY2FzZUNhdGVnb3J5TGlzdC5maWx0ZXIoXG4gICAgICAoY2F0ZWdvcnk6IGFueSkgPT5cbiAgICAgICAgZXZlbnQuc29tZSgoZXZlbnRJdGVtOiBhbnkpID0+IGV2ZW50SXRlbT8udmFsdWUgPT09IGNhdGVnb3J5Py5faWQpXG4gICAgKTtcbiAgICB0aGlzLnBheWxvYWQuYWRkaXRpb25hbF9jYXRlZ29yeS5pZHMgPVxuICAgICAgdGhpcy5zZWxlY3RlZEFkZGl0aW9uYWxDYXRlZ29yeUxpc3Q/Lm1hcChcbiAgICAgICAgKGNhdGVnb3J5OiBhbnkpID0+IGNhdGVnb3J5Py5faWRcbiAgICAgICk7XG4gIH1cblxuICBnZXQgY2F0ZWdvcnlFZGl0RGlzYWJsZSgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5tb2RlID09PSAnRURJVCcgJiZcbiAgICAgIHRoaXMuY2FzZVR5cGVTZWxlY3RlZCA9PT0gdGhpcy5jYXNlVHlwZS5BRERfQ0FTRV9UT19XT1JLRkxPVyAmJlxuICAgICAgdGhpcy53b3JrZmxvd1R5cGUgIT09ICdBQ1RXJ1xuICAgICk7XG4gIH1cblxuICByZXNldENhdGVnb3J5TGlzdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlMaXN0ID0gW107XG4gICAgdGhpcy5wYXlsb2FkLmNhdGVnb3J5LmlkcyA9IFtdO1xuICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5FTVBUWTtcbiAgICB0aGlzLmZpbHRlcmVkQ2FzZUNhdGVnb3J5TGlzdCA9IFsuLi50aGlzLmNhc2VDYXRlZ29yeUxpc3RdO1xuICB9XG5cbiAgcmVzZXRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0ID0gW107XG4gICAgdGhpcy5wYXlsb2FkLmFkZGl0aW9uYWxfY2F0ZWdvcnkuaWRzID0gW107XG4gICAgdGhpcy5hZGRpdGlvbmFsQ2F0ZWdvcnlTdGF0ZSA9IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICB9XG59XG4iXX0=
482
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1jYXRlZ29yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9yZXBvcnQtYS1jYXNlL2NvbXBvbmVudHMvY2FzZS1jYXRlZ29yeS9jYXNlLWNhdGVnb3J5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRCxPQUFPLEVBRUwsY0FBYyxFQUNkLFdBQVcsRUFDWCxlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLGNBQWMsR0FDZixNQUFNLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7Ozs7QUF3R2pFLE1BQU0sT0FBTyxxQkFBcUI7SUFtQ2hDLElBQWEsZ0JBQWdCLENBQUMsS0FBVTtRQUN0QyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssRUFBRSxHQUFHLENBQUM7SUFFcEMsQ0FBQztJQUNELElBQWEsMEJBQTBCLENBQUMsS0FBVTtRQUNoRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxFQUFFLEdBQUcsQ0FBQztJQUM5QyxDQUFDO0lBUUQsWUFBb0IsV0FBK0I7UUFBL0IsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBaERuRCxXQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ2hCLGtCQUFhLEdBQUcsV0FBVyxDQUFDO1FBQzVCLHFCQUFnQixHQUFVLEVBQUUsQ0FBQztRQUM3QixXQUFNLEdBQVE7WUFDWixHQUFHLGVBQWUsQ0FBQyxhQUFhO1lBQ2hDLFdBQVcsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsV0FB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XG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBU1NFVFMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvYXNzZXNzdHMuY29uc3RhbnRzJztcbmltcG9ydCB7XG4gIEFDVElPTl9DT0RFLFxuICBGSUVMRF9TRUxFQ1RPUixcbiAgUkVQT1JUX0NBU0UsXG4gIFNFTEVDVE9SX0NPTkZJRyxcbiAgU2VsZWN0aW9uUG9wdXBTdGF0ZSxcbiAgU2VsZWN0aW9uU3RhdGUsXG59IGZyb20gJy4uLy4uL2NvbnN0YW50cy9yZXBvcnQtY2FzZS5jb25zdGFudHMnO1xuaW1wb3J0IHsgcmVwb3J0IH0gZnJvbSAnLi4vY2FzZS10eXBlLXNsaWRlci9jYXNlLXR5cGUuY29tcG9uZW50JztcbmltcG9ydCB7IFJlcG9ydEFDYXNlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JlcG9ydC1hLWNhc2Uuc2VydmljZSc7XG5pbXBvcnQgeyBFZGl0b3JDb25maWcgfSBmcm9tICdAdmNvbXBseS9lZGl0b3InO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY2FzZS1jYXRlZ29yeScsXG4gIHRlbXBsYXRlOiBgXG5cbiAgICA8YXBwLWZpZWxkLWhvbGRlclxuICAgICAgW2ltYWdlXT1cIkFTU0VUUy5jYXNlX2NhdGVnb3J5XCJcbiAgICAgIFtkaXNhYmxlZF09XCJmaWVsZFNlbGVjdG9yPy5pbmNsdWRlcyhmaWVsZFNlbGVjdGVkKVwiXG4gICAgICBbYWN0aXZlXT1cImNhdGVnb3J5Q2xpY2tlZFwiXG4gICAgICBbY2hlY2tlZF09XCJwYXlsb2FkPy5jYXRlZ29yeT8uaWRzPy5sZW5ndGhcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgZmllbGQ+XG4gICAgICAgIDxhcHAtZm9ybS1zZWxlY3RCb3hcbiAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgICAgICAgW3N0YXRlXT1cInN0YXRlXCJcbiAgICAgICAgICBbcG9wdXBTdGF0ZV09XCJTZWxlY3Rpb25Qb3B1cFN0YXRlLlNFTEVDVElPTl9ESUFMT0dcIlxuICAgICAgICAgIFtjaGlwSXRlbXNdPVwic2VsZWN0ZWRJdGVtc1wiXG4gICAgICAgICAgW2VkaXREaXNhYmxlZF09XCJjYXRlZ29yeUVkaXREaXNhYmxlXCJcbiAgICAgICAgICBbcmVtb3ZhYmxlXT1cIiFjYXRlZ29yeUVkaXREaXNhYmxlXCJcbiAgICAgICAgICAoZmllbGRDbGlja2VkKT1cImFjdGl2YXRlU2VsZWN0b3IoJGV2ZW50KVwiXG4gICAgICAgICAgKHNlbGVjdGVkSXRlbUxpc3RDaGFuZ2UpPVwic2V0Q2F0ZWdvcnlMaXN0KCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGFwcC12Yy1sYWJlbFxuICAgICAgICAgICAgbGFiZWxcbiAgICAgICAgICAgIFtsYWJlbFRleHRdPVwiY2F0ZWdvcnlUZXh0cy5jYXNlX2RldGFpbHMuY2F0ZWdvcnkudGl0bGVcIlxuICAgICAgICAgID48L2FwcC12Yy1sYWJlbD5cbiAgICAgICAgPC9hcHAtZm9ybS1zZWxlY3RCb3g+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInZ4LWZvcm0tZ3JvdXBcIlxuICAgICAgICAgICpuZ0Zvcj1cImxldCB0YWcgb2YgcGF5bG9hZD8uY2F0ZWdvcnk/LmN1c3RvbV9maWVsZHNcIlxuICAgICAgICA+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtY29udHJvbC1wYW5lbFwiPnt7IHRhZz8ubmFtZSB9fTwvbGFiZWw+XG4gICAgICAgICAgPHZjb21wbHktZWRpdG9yXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cInRhZy52YWx1ZVwiXG4gICAgICAgICAgICBbZWRpdG9yQ29uZmlnXT1cImN1c3RvbUZpZWxkXCJcbiAgICAgICAgICAgIFtlZGl0b3JDb25maWddPVwiKGkgfCBnZXRFZGl0b3JDb25maWc6ICdjYXRlZ29yeScpID8/IGN1c3RvbUZpZWxkXCJcbiAgICAgICAgICA+PC92Y29tcGx5LWVkaXRvcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2FwcC1maWVsZC1ob2xkZXI+XG4gICAgPGFwcC1maWVsZC1ob2xkZXJcbiAgICAgICpuZ0lmPVwiY2FzZVR5cGVTZWxlY3RlZCA9PT0gY2FzZVR5cGUuQUREX0NBU0VfVE9fV09SS0ZMT1dcIlxuICAgICAgW2Rpc2FibGVkXT1cImZpZWxkU2VsZWN0ZWQgPT09ICdSQydcIlxuICAgICAgW2FjdGl2ZV09XCJjYXRlZ29yeUNsaWNrZWRcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgZmllbGQ+XG4gICAgICAgIDxhcHAtZm9ybS1zZWxlY3RCb3hcbiAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgICAgICAgW3N0YXRlXT1cImFkZGl0aW9uYWxDYXRlZ29yeVN0YXRlXCJcbiAgICAgICAgICBbcG9wdXBTdGF0ZV09XCJTZWxlY3Rpb25Qb3B1cFN0YXRlLlNFTEVDVElPTl9ESUFMT0dcIlxuICAgICAgICAgIFtjaGlwSXRlbXNdPVwic2VsZWN0ZWRBZGRpdGlvbmFsSXRlbXNcIlxuICAgICAgICAgIChmaWVsZENsaWNrZWQpPVwiYWN0aXZhdGVBZGRpdGlvbmFsQ2F0ZWdvcnlTZWxlY3RvcigkZXZlbnQpXCJcbiAgICAgICAgICAoc2VsZWN0ZWRJdGVtTGlzdENoYW5nZSk9XCJzZXRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0KCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGFwcC12Yy1sYWJlbFxuICAgICAgICAgICAgbGFiZWxcbiAgICAgICAgICAgIFtsYWJlbFRleHRdPVwiY2F0ZWdvcnlUZXh0cy5jYXNlX2RldGFpbHMuYWRkaXRpb25hbF9jYXRlZ29yeS50aXRsZVwiXG4gICAgICAgICAgPjwvYXBwLXZjLWxhYmVsPlxuICAgICAgICA8L2FwcC1mb3JtLXNlbGVjdEJveD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwidngtZm9ybS1ncm91cFwiXG4gICAgICAgICAgKm5nRm9yPVwibGV0IHRhZyBvZiBwYXlsb2FkPy5hZGRpdGlvbmFsX2NhdGVnb3J5Py5jdXN0b21fZmllbGRzOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5SW5kZXhcIlxuICAgICAgICA+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwidngtY29udHJvbC1wYW5lbFwiPnt7IHRhZz8ubmFtZSB9fTwvbGFiZWw+XG4gICAgICAgICAgPHZjb21wbHktZWRpdG9yXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJ0YWc/LnZhbHVlIHx8ICcnXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUN1c3RvbUZpZWxkKCRldmVudCwgaSlcIlxuICAgICAgICAgICAgW2VkaXRvckNvbmZpZ109XCIoaSB8IGdldEVkaXRvckNvbmZpZzogJ2FkZGl0aW9uYWxDYXRlZ29yeScpID8/IGN1c3RvbUZpZWxkXCJcbiAgICAgICAgICA+PC92Y29tcGx5LWVkaXRvcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2FwcC1maWVsZC1ob2xkZXI+XG4gICAgPGFwcC1jYXRlZ29yeS1saXN0LXNlbGVjdGlvblxuICAgICAgKm5nSWY9XCJjYXRlZ29yeUNsaWNrZWRcIlxuICAgICAgW2NhdGVnb3J5TGlzdF09XCJjYXNlQ2F0ZWdvcnlMaXN0XCJcbiAgICAgIFtjb25maWddPVwiY29uZmlnXCJcbiAgICAgIFtsb2FkaW5nXT1cImNhdGVnb3J5TGlzdExvYWRlclwiXG4gICAgICBbc2VsZWN0ZWRMaXN0XT1cInNlbGVjdGVkQ2F0ZWdvcnlMaXN0XCJcbiAgICAgIFtzZWxlY3Rpb25Nb2RlXT1cIlxuICAgICAgICBjYXNlVHlwZVNlbGVjdGVkID09PSBjYXNlVHlwZS5SRVBPUlRfQ0FTRSA/ICdtdWx0aXBsZScgOiAnc2luZ2xlJ1xuICAgICAgXCJcbiAgICAgIChjYW5jZWwpPVwiYWN0aXZhdGVTZWxlY3RvcihmYWxzZSlcIlxuICAgICAgKG5leHQpPVwic2F2ZVNlbGVjdGVkQ2F0ZWdvcnlMaXN0KCRldmVudClcIlxuICAgID48L2FwcC1jYXRlZ29yeS1saXN0LXNlbGVjdGlvbj4gXG4gICAgPGFwcC1jYXRlZ29yeS1saXN0LXNlbGVjdGlvblxuICAgICAgKm5nSWY9XCJhZGRpdGlvbmFsQ2F0ZWdvcnlDbGlja2VkXCJcbiAgICAgIFtjYXRlZ29yeUxpc3RdPVwiXG4gICAgICAgIGNhc2VUeXBlU2VsZWN0ZWQgPT09IGNhc2VUeXBlLkFERF9DQVNFX1RPX1dPUktGTE9XICYmXG4gICAgICAgIHBheWxvYWQ/LmNhdGVnb3J5Py5pZHM/Lmxlbmd0aFxuICAgICAgICAgID8gZmlsdGVyZWRDYXNlQ2F0ZWdvcnlMaXN0XG4gICAgICAgICAgOiBjYXNlQ2F0ZWdvcnlMaXN0XG4gICAgICBcIlxuICAgICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgICAgW2xvYWRpbmddPVwiY2F0ZWdvcnlMaXN0TG9hZGVyXCJcbiAgICAgIFtzZWxlY3RlZExpc3RdPVwic2VsZWN0ZWRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0XCJcbiAgICAgIChjYW5jZWwpPVwiYWN0aXZhdGVBZGRpdGlvbmFsQ2F0ZWdvcnlTZWxlY3RvcihmYWxzZSlcIlxuICAgICAgKG5leHQpPVwic2F2ZVNlbGVjdGVkQWRkaXRpb25hbENhdGVnb3J5TGlzdCgkZXZlbnQpXCJcbiAgICA+PC9hcHAtY2F0ZWdvcnktbGlzdC1zZWxlY3Rpb24+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuLi8uLi8uLi9mb3Jtcy5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhc2VDYXRlZ29yeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2Vze1xuICBBU1NFVFMgPSBBU1NFVFM7XG4gIGNhdGVnb3J5VGV4dHMgPSBSRVBPUlRfQ0FTRTtcbiAgY2FzZUNhdGVnb3J5TGlzdDogYW55W10gPSBbXTtcbiAgY29uZmlnOiBhbnkgPSB7XG4gICAgLi4uU0VMRUNUT1JfQ09ORklHLkNBU0VfQ0FURUdPUlksXG4gICAgcGxhY2Vob2xkZXI6IHRoaXMuY2F0ZWdvcnlUZXh0cy5jYXNlX2RldGFpbHMuY2F0ZWdvcnkucGxhY2Vob2xkZXIsXG4gIH07XG4gIGNhdGVnb3J5Q2xpY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBhZGRpdGlvbmFsQ2F0ZWdvcnlDbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIGNhdGVnb3J5TGlzdExvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBTZWxlY3Rpb25TdGF0ZSA9IFNlbGVjdGlvblN0YXRlO1xuICBTZWxlY3Rpb25Qb3B1cFN0YXRlID0gU2VsZWN0aW9uUG9wdXBTdGF0ZTtcbiAgc3RhdGU6IHN0cmluZyA9IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICBhZGRpdGlvbmFsQ2F0ZWdvcnlTdGF0ZTogc3RyaW5nID0gU2VsZWN0aW9uU3RhdGUuRU1QVFk7XG4gIHNlbGVjdGVkSXRlbXM6IGFueVtdID0gW107XG4gIHNlbGVjdGVkQWRkaXRpb25hbEl0ZW1zOiBhbnlbXSA9IFtdO1xuICBzZWxlY3RlZENhdGVnb3J5TGlzdDogYW55W10gPSBbXTtcbiAgc2VsZWN0ZWRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0OiBhbnlbXSA9IFtdO1xuICBpbml0aWFsQ2F0ZWdvcnk6IGFueTtcbiAgY2FzZVR5cGUgPSByZXBvcnQ7XG4gIGZpZWxkU2VsZWN0b3IgPSBGSUVMRF9TRUxFQ1RPUjtcbiAgY3VzdG9tRmllbGQ6IEVkaXRvckNvbmZpZyA9IHtcbiAgICBtb2RlOiAncHJpbWUnLFxuICAgIGNvbG9yUGFsZXR0ZTogdHJ1ZSxcbiAgICBsaW5rOiB0cnVlLFxuICAgIHBsYWNlaG9sZGVyOiAnQWRkIHZhbHVlJyxcbiAgICBpZDogJ2N1c3RvbUZpZWxkJ1xuICB9O1xuICBpbml0aWFsQWRkaXRpb25hbENhdGVnb3J5OiBhbnk7XG4gIGZpbHRlcmVkQ2FzZUNhdGVnb3J5TGlzdDogYW55W10gPSBbXTtcblxuICBASW5wdXQoKSBwYXlsb2FkOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgZmllbGRTZWxlY3RlZDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGNhc2VUeXBlU2VsZWN0ZWQ6IGFueTtcbiAgQElucHV0KCkgc2V0IGluaXRpYWxTZWxlY3Rpb24odmFsdWU6IGFueSkge1xuICAgIHRoaXMuaW5pdGlhbENhdGVnb3J5ID0gdmFsdWU/LmlkcztcbiAgXG4gIH1cbiAgQElucHV0KCkgc2V0IGluaXRpYWxBZGRpdGlvbmFsU2VsZWN0aW9uKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmluaXRpYWxBZGRpdGlvbmFsQ2F0ZWdvcnkgPSB2YWx1ZT8uaWRzO1xuICB9XG4gIEBJbnB1dCgpIG1vZGU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSB3b3JrZmxvd1R5cGU6IHN0cmluZyA9ICcnO1xuXG4gIEBPdXRwdXQoKSBvbkNhdGVnb3J5Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBmaWVsZENsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGZpbHRlckRlc2VsZWN0b3IgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNhc2VTZXJ2aWNlOiBSZXBvcnRBQ2FzZVNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5nZXRBbGxDYXRlZ29yaWVzKCk7XG4gIH1cblxuICB0cmFja0J5SW5kZXgoaW5kZXg6IG51bWJlcikge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuICBcbiAgdXBkYXRlQ3VzdG9tRmllbGQodmFsdWU6IGFueSwgaW5kZXg6IG51bWJlcikge1xuICAgIGlmICh0aGlzLnBheWxvYWQ/LmFkZGl0aW9uYWxfY2F0ZWdvcnk/LmN1c3RvbV9maWVsZHMpIHtcbiAgICAgIHRoaXMucGF5bG9hZC5hZGRpdGlvbmFsX2NhdGVnb3J5LmN1c3RvbV9maWVsZHNbaW5kZXhdLnZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLnBheWxvYWQuYWRkaXRpb25hbF9jYXRlZ29yeS5jdXN0b21fZmllbGRzID0gWy4uLnRoaXMucGF5bG9hZC5hZGRpdGlvbmFsX2NhdGVnb3J5LmN1c3RvbV9maWVsZHNdO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1sncGF5bG9hZCddKSB7XG4gICAgICBpZiAoIXRoaXMucGF5bG9hZD8uY2F0ZWdvcnk/Lmlkcz8ubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5FTVBUWTtcbiAgICAgICAgdGhpcy5hZGRpdGlvbmFsQ2F0ZWdvcnlTdGF0ZSA9IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBbXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5TGlzdCA9IFtdO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQWRkaXRpb25hbEl0ZW1zID0gW107XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0ID0gW107XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnVwZGF0ZUZpbHRlcmVkQ2F0ZWdvcnlMaXN0KCk7XG5cbiAgICAgIH1cbiAgICAgIHRoaXMucG9wdWxhdGVJbml0aWFsQ2F0ZWdvcnkoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ2luaXRpYWxTZWxlY3Rpb24nXSB8fCBjaGFuZ2VzWydpbml0aWFsQWRkaXRpb25hbFNlbGVjdGlvbiddKSB7XG4gICAgICB0aGlzLnBvcHVsYXRlSW5pdGlhbENhdGVnb3J5KCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0QWxsQ2F0ZWdvcmllcygpIHtcbiAgICB0aGlzLmNhdGVnb3J5TGlzdExvYWRlciA9IHRydWU7XG4gICAgdGhpcy5jYXNlU2VydmljZS5nZXRBbGxDYXRlZ29yaWVzKCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgdGhpcy5jYXNlQ2F0ZWdvcnlMaXN0ID0gcmVzPy5kYXRhO1xuICAgICAgaWYgKHRoaXMubW9kZSA9PT0gJ0VESVQnKSB7XG4gICAgICAgIHRoaXMucG9wdWxhdGVJbml0aWFsQ2F0ZWdvcnkoKTtcbiAgICAgICAgdGhpcy51cGRhdGVGaWx0ZXJlZENhdGVnb3J5TGlzdCgpO1xuICAgICAgfVxuICAgICAgdGhpcy5jYXRlZ29yeUxpc3RMb2FkZXIgPSBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIHBvcHVsYXRlSW5pdGlhbENhdGVnb3J5KCkge1xuICAgIGlmICh0aGlzLmlzQUNUV1dvcmtmbG93KCkpIHtcbiAgICAgIHRoaXMudXBkYXRlQUNUV0NhdGVnb3J5KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNSQUNXb3JrZmxvdygpKSB7XG4gICAgICB0aGlzLnVwZGF0ZVJBQ0NhdGVnb3J5KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5oYW5kbGVEZWZhdWx0Q2FzZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0FDVFdXb3JrZmxvdygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgKHRoaXMuaW5pdGlhbENhdGVnb3J5Py5sZW5ndGggfHwgdGhpcy5pbml0aWFsQWRkaXRpb25hbENhdGVnb3J5Py5sZW5ndGgpICYmIFxuICAgICAgdGhpcy53b3JrZmxvd1R5cGUgPT09ICdBQ1RXJ1xuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGlzUkFDV29ya2Zsb3coKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLmluaXRpYWxDYXRlZ29yeT8ubGVuZ3RoIHx8IHRoaXMuaW5pdGlhbEFkZGl0aW9uYWxDYXRlZ29yeT8ubGVuZ3RoKSAmJiB0aGlzLndvcmtmbG93VHlwZSA9PT0gJ1JBQyc7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZURlZmF1bHRDYXNlKCk6IHZvaWQge1xuICAgIGNvbnN0IGlzRWRpdE1vZGVXaXRoUmVzdHJpY3Rpb25zID0gXG4gICAgICB0aGlzLm1vZGUgPT09ICdFRElUJyAmJlxuICAgICAgdGhpcy53b3JrZmxvd1R5cGUgIT09ICdBQ1RXJyAmJlxuICAgICAgdGhpcy5jYXNlVHlwZVNlbGVjdGVkID09PSB0aGlzLmNhc2VUeXBlLkFERF9DQVNFX1RPX1dPUktGTE9XO1xuXG4gICAgdGhpcy5zdGF0ZSA9IGlzRWRpdE1vZGVXaXRoUmVzdHJpY3Rpb25zIFxuICAgICAgPyBTZWxlY3Rpb25TdGF0ZS5ESVNBQkxFRCBcbiAgICAgIDogU2VsZWN0aW9uU3RhdGUuRU1QVFk7XG5cbiAgICBpZiAoaXNFZGl0TW9kZVdpdGhSZXN0cmljdGlvbnMpIHtcbiAgICAgIHRoaXMuY29uZmlnLmRpc2FibGVkVGV4dCA9IHRoaXMuY2F0ZWdvcnlUZXh0cy5jYXNlX2RldGFpbHMuY2F0ZWdvcnkucGxhY2Vob2xkZXI7XG4gICAgfVxuXG4gIH1cblxuICB1cGRhdGVSQUNDYXRlZ29yeSgpIHtcbiAgICBpZiAodGhpcy5pbml0aWFsQ2F0ZWdvcnk/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5zdGF0ZSA9IFNlbGVjdGlvblN0YXRlLlNFTEVDVEVEO1xuICAgICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5TGlzdCA9IHRoaXMuY2FzZUNhdGVnb3J5TGlzdD8uZmlsdGVyKFxuICAgICAgICAoY2F0ZWdvcnk6IGFueSkgPT5cbiAgICAgICAgICB0aGlzLmluaXRpYWxDYXRlZ29yeT8uc29tZSgoaWQ6IGFueSkgPT4gaWQgPT09IGNhdGVnb3J5Py5faWQpXG4gICAgICApO1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5jYXNlQ2F0ZWdvcnlMaXN0XG4gICAgICAgIC5maWx0ZXIoKGNhdGVnb3J5OiBhbnkpID0+XG4gICAgICAgICAgdGhpcy5pbml0aWFsQ2F0ZWdvcnk/LnNvbWUoKGlkOiBhbnkpID0+IGlkID09PSBjYXRlZ29yeT8uX2lkKVxuICAgICAgICApXG4gICAgICAgIC5tYXAoKGNhdGVnb3J5OiBhbnkpID0+ICh7XG4gICAgICAgICAgbGFiZWw6IGNhdGVnb3J5Py5uYW1lLFxuICAgICAgICAgIHZhbHVlOiBjYXRlZ29yeT8uX2lkLFxuICAgICAgICB9KSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmluaXRpYWxBZGRpdGlvbmFsQ2F0ZWdvcnk/Lmxlbmd0aCkge1xuICAgICBcbiAgICAgIHRoaXMuc2VsZWN0ZWRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0ID0gdGhpcy5jYXNlQ2F0ZWdvcnlMaXN0Py5maWx0ZXIoXG4gICAgICAgIChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgICAgIHRoaXMuaW5pdGlhbEFkZGl0aW9uYWxDYXRlZ29yeT8uc29tZShcbiAgICAgICAgICAgIChpZDogYW55KSA9PiBpZCA9PT0gY2F0ZWdvcnk/Ll9pZFxuICAgICAgICAgICkgfHwgdGhpcy5pbml0aWFsQWRkaXRpb25hbENhdGVnb3J5Py5pbmNsdWRlcyhjYXRlZ29yeT8uX2lkKVxuICAgICAgKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRBZGRpdGlvbmFsSXRlbXMgPSB0aGlzLnNlbGVjdGVkQWRkaXRpb25hbENhdGVnb3J5TGlzdFxuICAgICAgICAubWFwKChjYXRlZ29yeTogYW55KSA9PiAoe1xuICAgICAgICAgIGxhYmVsOiBjYXRlZ29yeT8ubmFtZSxcbiAgICAgICAgICB2YWx1ZTogY2F0ZWdvcnk/Ll9pZCxcbiAgICAgICAgfSkpO1xuICAgICAgICB0aGlzLmFkZGl0aW9uYWxDYXRlZ29yeVN0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG5cbiAgICAgICAgaWYoIXRoaXMuaW5pdGlhbENhdGVnb3J5Py5sZW5ndGgpe1xuICAgICAgICAgIHRoaXMuaGFuZGxlRGVmYXVsdENhc2UoKTtcbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUFDVFdDYXRlZ29yeSgpIHtcbiAgICB0aGlzLmFkZGl0aW9uYWxDYXRlZ29yeVN0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG4gICAgdGhpcy5zZWxlY3RlZEFkZGl0aW9uYWxDYXRlZ29yeUxpc3QgPSB0aGlzLmNhc2VDYXRlZ29yeUxpc3Q/LmZpbHRlcihcbiAgICAgIChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgICB0aGlzLmluaXRpYWxDYXRlZ29yeS5zb21lKChpZDogYW55KSA9PiBpZCA9PT0gY2F0ZWdvcnk/Ll9pZCkgfHwgdGhpcy5pbml0aWFsQWRkaXRpb25hbENhdGVnb3J5LmluY2x1ZGVzKGNhdGVnb3J5Py5faWQpXG4gICAgKTtcbiAgICB0aGlzLnNlbGVjdGVkQWRkaXRpb25hbEl0ZW1zID0gdGhpcy5zZWxlY3RlZEFkZGl0aW9uYWxDYXRlZ29yeUxpc3QubWFwKChjYXRlZ29yeTogYW55KSA9PiAoe1xuICAgICAgbGFiZWw6IGNhdGVnb3J5Py5uYW1lLFxuICAgICAgdmFsdWU6IGNhdGVnb3J5Py5faWQsXG4gICAgfSkpO1xuICB9XG5cbiAgc2F2ZVNlbGVjdGVkQ2F0ZWdvcnlMaXN0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmNhdGVnb3J5Q2xpY2tlZCA9IGZhbHNlO1xuICAgIHRoaXMuc2V0U2VsZWN0ZWRDYXRlZ29yeUxpc3QoZXZlbnQpO1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IHRoaXMuY2FzZUNhdGVnb3J5TGlzdFxuICAgICAgLmZpbHRlcigoY2F0ZWdvcnk6IGFueSkgPT5cbiAgICAgICAgZXZlbnQuc29tZSgoZXZlbnRJdGVtOiBhbnkpID0+IGV2ZW50SXRlbT8uX2lkID09PSBjYXRlZ29yeT8uX2lkKVxuICAgICAgKVxuICAgICAgLm1hcCgoY2F0ZWdvcnk6IGFueSkgPT4gKHtcbiAgICAgICAgbGFiZWw6IGNhdGVnb3J5Py5uYW1lLFxuICAgICAgICB2YWx1ZTogY2F0ZWdvcnk/Ll9pZCxcbiAgICAgIH0pKTtcbiAgICB0aGlzLnBheWxvYWQuY2F0ZWdvcnkuaWRzID0gZXZlbnQubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0/Ll9pZCk7XG4gICAgdGhpcy51cGRhdGVGaWx0ZXJlZENhdGVnb3J5TGlzdCgpO1xuICAgIHRoaXMucGF5bG9hZC5jYXRlZ29yeS5jdXN0b21fZmllbGRzID0gZXZlbnQuZmxhdE1hcChcbiAgICAgIChpdGVtOiBhbnkpID0+IGl0ZW0/LmN1c3RvbV9maWVsZHNcbiAgICApO1xuICAgIHRoaXMub25DYXRlZ29yeUNoYW5nZS5lbWl0KHRoaXMucGF5bG9hZC5jYXRlZ29yeS5pZHMpO1xuICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5TRUxFQ1RFRDtcbiAgICB0aGlzLmZpZWxkQ2xpY2tlZC5lbWl0KCcnKTtcbiAgICB0aGlzLmZpbHRlckRlc2VsZWN0b3IuZW1pdChmYWxzZSk7XG4gIH1cblxuICB1cGRhdGVGaWx0ZXJlZENhdGVnb3J5TGlzdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYXNlVHlwZVNlbGVjdGVkID09PSB0aGlzLmNhc2VUeXBlLkFERF9DQVNFX1RPX1dPUktGTE9XKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkQ2FzZUNhdGVnb3J5TGlzdCA9IHRoaXMuY2FzZUNhdGVnb3J5TGlzdC5maWx0ZXIoXG4gICAgICAgIChjYXRlZ29yeTogYW55KSA9PiAhdGhpcy5wYXlsb2FkLmNhdGVnb3J5Lmlkcy5pbmNsdWRlcyhjYXRlZ29yeS5faWQpXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHNhdmVTZWxlY3RlZEFkZGl0aW9uYWxDYXRlZ29yeUxpc3QoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuYWRkaXRpb25hbENhdGVnb3J5Q2xpY2tlZCA9IGZhbHNlO1xuICAgIHRoaXMuc2V0U2VsZWN0ZWRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0KGV2ZW50KTtcbiAgICB0aGlzLnNlbGVjdGVkQWRkaXRpb25hbEl0ZW1zID0gdGhpcy5jYXNlQ2F0ZWdvcnlMaXN0XG4gICAgICAuZmlsdGVyKChjYXRlZ29yeTogYW55KSA9PlxuICAgICAgICBldmVudC5zb21lKChldmVudEl0ZW06IGFueSkgPT4gZXZlbnRJdGVtPy5faWQgPT09IGNhdGVnb3J5Py5faWQpXG4gICAgICApXG4gICAgICAubWFwKChjYXRlZ29yeTogYW55KSA9PiAoe1xuICAgICAgICBsYWJlbDogY2F0ZWdvcnk/Lm5hbWUsXG4gICAgICAgIHZhbHVlOiBjYXRlZ29yeT8uX2lkLFxuICAgICAgfSkpO1xuICAgICAgaWYoIXRoaXMucGF5bG9hZFsnYWRkaXRpb25hbF9jYXRlZ29yeSddKXtcbiAgICAgICAgdGhpcy5wYXlsb2FkWydhZGRpdGlvbmFsX2NhdGVnb3J5J10gPSB7fTtcbiAgICAgIH1cbiAgICB0aGlzLnBheWxvYWRbJ2FkZGl0aW9uYWxfY2F0ZWdvcnknXVsnaWRzJ10gPSBldmVudC5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbT8uX2lkKTtcbiAgICB0aGlzLnBheWxvYWRbJ2FkZGl0aW9uYWxfY2F0ZWdvcnknXVsnY3VzdG9tX2ZpZWxkcyddID0gZXZlbnQuZmxhdE1hcChcbiAgICAgIChpdGVtOiBhbnkpID0+IGl0ZW0/LmN1c3RvbV9maWVsZHNcbiAgICApO1xuICAgIHRoaXMuYWRkaXRpb25hbENhdGVnb3J5U3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5TRUxFQ1RFRDtcbiAgICB0aGlzLmZpZWxkQ2xpY2tlZC5lbWl0KCcnKTtcbiAgICB0aGlzLmZpbHRlckRlc2VsZWN0b3IuZW1pdChmYWxzZSk7XG4gIH1cblxuICBzZXRTZWxlY3RlZEFkZGl0aW9uYWxDYXRlZ29yeUxpc3QoZXZlbnQ6IGFueVtdKSB7XG4gICAgdGhpcy5zZWxlY3RlZEFkZGl0aW9uYWxDYXRlZ29yeUxpc3QgPSB0aGlzLmNhc2VDYXRlZ29yeUxpc3QuZmlsdGVyKFxuICAgICAgKGNhdGVnb3J5OiBhbnkpID0+XG4gICAgICAgIGV2ZW50LnNvbWUoKGV2ZW50SXRlbTogYW55KSA9PiBldmVudEl0ZW0/Ll9pZCA9PT0gY2F0ZWdvcnk/Ll9pZClcbiAgICApO1xuICB9XG5cbiAgc2V0U2VsZWN0ZWRDYXRlZ29yeUxpc3QoZXZlbnQ6IGFueVtdKSB7XG4gICAgdGhpcy5zZWxlY3RlZENhdGVnb3J5TGlzdCA9IHRoaXMuY2FzZUNhdGVnb3J5TGlzdC5maWx0ZXIoKGNhdGVnb3J5OiBhbnkpID0+XG4gICAgICBldmVudC5zb21lKChldmVudEl0ZW06IGFueSkgPT4gZXZlbnRJdGVtPy5faWQgPT09IGNhdGVnb3J5Py5faWQpXG4gICAgKTtcbiAgfVxuXG4gIGFjdGl2YXRlU2VsZWN0b3IoYWN0aXZlOiBib29sZWFuKSB7XG4gICAgdGhpcy5jYXRlZ29yeUNsaWNrZWQgPSBhY3RpdmU7XG4gICAgaWYgKGFjdGl2ZSkge1xuICAgICAgdGhpcy5maWVsZENsaWNrZWQuZW1pdCgnY2F0ZWdvcnknKTtcbiAgICAgIHRoaXMuZmlsdGVyRGVzZWxlY3Rvci5lbWl0KHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpZWxkQ2xpY2tlZC5lbWl0KCcnKTtcbiAgICAgIHRoaXMuZmlsdGVyRGVzZWxlY3Rvci5lbWl0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBhY3RpdmF0ZUFkZGl0aW9uYWxDYXRlZ29yeVNlbGVjdG9yKGFjdGl2ZTogYm9vbGVhbikge1xuICAgIHRoaXMuYWRkaXRpb25hbENhdGVnb3J5Q2xpY2tlZCA9IGFjdGl2ZTtcbiAgICBpZiAoYWN0aXZlKSB7XG4gICAgICB0aGlzLmZpZWxkQ2xpY2tlZC5lbWl0KCdhZGRpdGlvbmFsQ2F0ZWdvcnknKTtcbiAgICAgIHRoaXMuZmlsdGVyRGVzZWxlY3Rvci5lbWl0KHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpZWxkQ2xpY2tlZC5lbWl0KCcnKTtcbiAgICAgIHRoaXMuZmlsdGVyRGVzZWxlY3Rvci5lbWl0KGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBzZXRDYXRlZ29yeUxpc3QoZXZlbnQ6IGFueSkge1xuICAgIGlmICghZXZlbnQ/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5yZXNldENhdGVnb3J5TGlzdCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlMaXN0ID0gdGhpcy5jYXNlQ2F0ZWdvcnlMaXN0LmZpbHRlcigoY2F0ZWdvcnk6IGFueSkgPT5cbiAgICAgIGV2ZW50LnNvbWUoKGV2ZW50SXRlbTogYW55KSA9PiBldmVudEl0ZW0/LnZhbHVlID09PSBjYXRlZ29yeT8uX2lkKVxuICAgICk7XG4gICAgdGhpcy5wYXlsb2FkLmNhdGVnb3J5LmlkcyA9IHRoaXMuc2VsZWN0ZWRDYXRlZ29yeUxpc3Q/Lm1hcChcbiAgICAgIChjYXRlZ29yeTogYW55KSA9PiBjYXRlZ29yeT8uX2lkXG4gICAgKTtcbiAgICB0aGlzLm9uQ2F0ZWdvcnlDaGFuZ2UuZW1pdCh0aGlzLnBheWxvYWQuY2F0ZWdvcnkuaWRzKTtcbiAgfVxuXG4gIHNldEFkZGl0aW9uYWxDYXRlZ29yeUxpc3QoZXZlbnQ6IGFueVtdKSB7XG4gICAgaWYgKCFldmVudD8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLnJlc2V0QWRkaXRpb25hbENhdGVnb3J5TGlzdCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkQWRkaXRpb25hbENhdGVnb3J5TGlzdCA9IHRoaXMuY2FzZUNhdGVnb3J5TGlzdC5maWx0ZXIoXG4gICAgICAoY2F0ZWdvcnk6IGFueSkgPT5cbiAgICAgICAgZXZlbnQuc29tZSgoZXZlbnRJdGVtOiBhbnkpID0+IGV2ZW50SXRlbT8udmFsdWUgPT09IGNhdGVnb3J5Py5faWQpXG4gICAgKTtcbiAgICB0aGlzLnBheWxvYWQuYWRkaXRpb25hbF9jYXRlZ29yeS5pZHMgPVxuICAgICAgdGhpcy5zZWxlY3RlZEFkZGl0aW9uYWxDYXRlZ29yeUxpc3Q/Lm1hcChcbiAgICAgICAgKGNhdGVnb3J5OiBhbnkpID0+IGNhdGVnb3J5Py5faWRcbiAgICAgICk7XG4gIH1cblxuICBnZXQgY2F0ZWdvcnlFZGl0RGlzYWJsZSgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5tb2RlID09PSAnRURJVCcgJiZcbiAgICAgIHRoaXMuY2FzZVR5cGVTZWxlY3RlZCA9PT0gdGhpcy5jYXNlVHlwZS5BRERfQ0FTRV9UT19XT1JLRkxPVyAmJlxuICAgICAgdGhpcy53b3JrZmxvd1R5cGUgIT09ICdBQ1RXJ1xuICAgICk7XG4gIH1cblxuICByZXNldENhdGVnb3J5TGlzdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkQ2F0ZWdvcnlMaXN0ID0gW107XG4gICAgdGhpcy5wYXlsb2FkLmNhdGVnb3J5LmlkcyA9IFtdO1xuICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5FTVBUWTtcbiAgICB0aGlzLmZpbHRlcmVkQ2FzZUNhdGVnb3J5TGlzdCA9IFsuLi50aGlzLmNhc2VDYXRlZ29yeUxpc3RdO1xuICB9XG5cbiAgcmVzZXRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0KCkge1xuICAgIHRoaXMuc2VsZWN0ZWRBZGRpdGlvbmFsQ2F0ZWdvcnlMaXN0ID0gW107XG4gICAgdGhpcy5wYXlsb2FkLmFkZGl0aW9uYWxfY2F0ZWdvcnkuaWRzID0gW107XG4gICAgdGhpcy5hZGRpdGlvbmFsQ2F0ZWdvcnlTdGF0ZSA9IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICB9XG59XG4iXX0=
@@ -47,6 +47,7 @@ export class CaseOwnersComponent {
47
47
  this.validationError = {};
48
48
  this.mode = '';
49
49
  this.fieldClicked = new EventEmitter();
50
+ this.filterDeselector = new EventEmitter();
50
51
  this.getWorkflowDetails();
51
52
  }
52
53
  ngOnDestroy() {
@@ -129,6 +130,7 @@ export class CaseOwnersComponent {
129
130
  this.validationError.caseOwner.message = '';
130
131
  this.state = SelectionState.SELECTED;
131
132
  this.fieldClicked.emit('');
133
+ this.filterDeselector.emit(false);
132
134
  this.isInternalChange = true;
133
135
  }
134
136
  setSelectedOwnersList(event) {
@@ -137,6 +139,7 @@ export class CaseOwnersComponent {
137
139
  activateSelector(active) {
138
140
  this.ownerClicked = active;
139
141
  this.fieldClicked.emit(active ? 'CASE_OWNER' : '');
142
+ this.filterDeselector.emit(active ? true : false);
140
143
  }
141
144
  setOwnerList(event) {
142
145
  this.selectedItems = event || [];
@@ -159,7 +162,7 @@ export class CaseOwnersComponent {
159
162
  !this.payload?.priority?.id);
160
163
  }
161
164
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CaseOwnersComponent, deps: [{ token: i1.ReportACaseService }], target: i0.ɵɵFactoryTarget.Component }); }
162
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CaseOwnersComponent, selector: "app-case-owners", inputs: { payload: "payload", fieldSelected: "fieldSelected", initialSelection: "initialSelection", workflowId: "workflowId", validationError: "validationError", mode: "mode" }, outputs: { fieldClicked: "fieldClicked" }, ngImport: i0, template: `
165
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CaseOwnersComponent, selector: "app-case-owners", inputs: { payload: "payload", fieldSelected: "fieldSelected", initialSelection: "initialSelection", workflowId: "workflowId", validationError: "validationError", mode: "mode" }, outputs: { fieldClicked: "fieldClicked", filterDeselector: "filterDeselector" }, ngImport: i0, template: `
163
166
 
164
167
  <app-field-holder
165
168
  [image]="ASSETS.case_owners"
@@ -254,5 +257,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
254
257
  type: Input
255
258
  }], fieldClicked: [{
256
259
  type: Output
260
+ }], filterDeselector: [{
261
+ type: Output
257
262
  }] } });
258
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1vd25lcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvcmVwb3J0LWEtY2FzZS9jb21wb25lbnRzL2Nhc2Utb3duZXJzL2Nhc2Utb3duZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUdiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRCxPQUFPLEVBRUwsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLGNBQWMsR0FDZixNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7OztBQThDL0MsTUFBTSxPQUFPLG1CQUFtQjtJQXdCOUIsSUFBYSxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3RDLElBQUksS0FBSyxFQUFFLE1BQU0sRUFBRTtZQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUM7WUFDdEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7WUFDL0IsTUFBTSxRQUFRLEdBQUcsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxDQUFDO1lBQzlDLElBQUcsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUM7Z0JBQy9ELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2FBQzFCO1NBQ0Y7SUFDSCxDQUFDO0lBT0QsWUFBb0Isa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUF2QzFELFdBQU0sR0FBRyxNQUFNLENBQUM7UUFDaEIsZUFBVSxHQUFH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IE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkluaXQsXG4gIE9uRGVzdHJveVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFTU0VUUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9hc3Nlc3N0cy5jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgQUNUSU9OX0NPREUsXG4gIERFRkFVTFRfRk9STV9DT05GSUcsXG4gIEZJRUxEX1NFTEVDVE9SLFxuICBSRVBPUlRfQ0FTRSxcbiAgU2VsZWN0aW9uUG9wdXBTdGF0ZSxcbiAgU2VsZWN0aW9uU3RhdGUsXG59IGZyb20gJy4uLy4uL2NvbnN0YW50cy9yZXBvcnQtY2FzZS5jb25zdGFudHMnO1xuaW1wb3J0IHsgUmVwb3J0QUNhc2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVwb3J0LWEtY2FzZS5zZXJ2aWNlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jYXNlLW93bmVycycsXG4gIHRlbXBsYXRlOiBgXG5cbiAgICA8YXBwLWZpZWxkLWhvbGRlclxuICAgICAgW2ltYWdlXT1cIkFTU0VUUy5jYXNlX293bmVyc1wiXG4gICAgICBbYWN0aXZlXT1cIm93bmVyQ2xpY2tlZFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZmllbGRTZWxlY3Rvcj8uaW5jbHVkZXMoZmllbGRTZWxlY3RlZClcIlxuICAgICAgW2NoZWNrZWRdPVwicGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/Lm93bmVycz8ubGVuZ3RoXCJcbiAgICA+ICBcbiAgICAgICAgPGFwcC1mb3JtLXNlbGVjdEJveFxuICAgICAgICBmaWVsZFxuICAgICAgICAgIFtjb25maWddPVwiY29uZmlnXCJcbiAgICAgICAgICBbc3RhdGVdPVwic3RhdGVcIlxuICAgICAgICAgIFtwb3B1cFN0YXRlXT1cIlNlbGVjdGlvblBvcHVwU3RhdGUuU0VMRUNUSU9OX0RJQUxPR1wiXG4gICAgICAgICAgW2NoaXBJdGVtc109XCJzZWxlY3RlZEl0ZW1zXCJcbiAgICAgICAgICAoZmllbGRDbGlja2VkKT1cImFjdGl2YXRlU2VsZWN0b3IoJGV2ZW50KVwiXG4gICAgICAgICAgKHNlbGVjdGVkSXRlbUxpc3RDaGFuZ2UpPVwic2V0T3duZXJMaXN0KCRldmVudClcIlxuICAgICAgICAgIFtpc0Vycm9yXT1cInZhbGlkYXRpb25FcnJvci5jYXNlT3duZXIuaXNFcnJvclwiXG4gICAgICAgICAgW2Vycm9yTWVzc2FnZV09XCJ2YWxpZGF0aW9uRXJyb3IuY2FzZU93bmVyLm1lc3NhZ2VcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0Nhc2VPd25lclNlbGVjdGlvbkRpc2FibGVkKClcIlxuICAgICAgICAgIGNsYXNzPVwiY2FzZS1vd25lci1maWVsZFwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXBwLXZjLWxhYmVsXG4gICAgICAgICAgICBsYWJlbFxuICAgICAgICAgICAgW2xhYmVsVGV4dF09XCJvd25lclRleHRzLmNhc2VfZGV0YWlscy5vd25lcnMudGl0bGVcIlxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgW3Nob3dJbmZvXT1cInRydWVcIlxuICAgICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIm93bmVyc0hlbHBUZXh0XCJcbiAgICAgICAgICA+PC9hcHAtdmMtbGFiZWw+XG4gICAgICAgIDwvYXBwLWZvcm0tc2VsZWN0Qm94PlxuICAgIDwvYXBwLWZpZWxkLWhvbGRlcj5cbiAgICA8YXBwLWdyb3VwLXVzZXJzLWxpc3RcbiAgICAgICpuZ0lmPVwib3duZXJDbGlja2VkXCJcbiAgICAgIFt1c2Vyc0xpc3RdPVwiY2FzZU93bmVyc0xpc3RcIlxuICAgICAgW3VzZXJJZEtleV09XCInX2lkJ1wiXG4gICAgICBbc2VsZWN0ZWRVc2Vyc109XCJzZWxlY3RlZE93bmVyTGlzdFwiXG4gICAgICAoY2xvc2VVc2Vyc0xpc3QpPVwiYWN0aXZhdGVTZWxlY3RvcihmYWxzZSlcIlxuICAgICAgKHNhdmVTZWxlY3RlZExpc3QpPVwic2F2ZVNlbGVjdGVkT3duZXJMaXN0KCRldmVudClcIlxuICAgID48L2FwcC1ncm91cC11c2Vycy1saXN0PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi4vLi4vLi4vZm9ybXMubGVzcyddLFxuICBcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZU93bmVyc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95e1xuICBBU1NFVFMgPSBBU1NFVFM7XG4gIG93bmVyVGV4dHMgPSBSRVBPUlRfQ0FTRTtcbiAgY2FzZU93bmVyc0xpc3Q6IGFueVtdID0gW107XG4gIGNvbmZpZzogYW55ID0ge1xuICAgIC4uLkRFRkFVTFRfRk9STV9DT05GSUcsXG4gICAgcGxhY2Vob2xkZXI6IHRoaXMub3duZXJUZXh0cy5jYXNlX2RldGFpbHMub3duZXJzLnBsYWNlaG9sZGVyLFxuICAgIGl0ZW1zOiBbXSxcbiAgICBkaXNhYmxlZFRleHQ6IHRoaXMub3duZXJUZXh0cy5jYXNlX2RldGFpbHMub3duZXJzLmRpc2FibGVkVGV4dCxcbiAgfTtcbiAgb3duZXJzSGVscFRleHQgPSB0aGlzLm93bmVyVGV4dHMuY2FzZV9kZXRhaWxzLm93bmVycy5oZWxwVGV4dDtcbiAgb3duZXJDbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIG93bmVyTGlzdExvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBTZWxlY3Rpb25TdGF0ZSA9IFNlbGVjdGlvblN0YXRlO1xuICBTZWxlY3Rpb25Qb3B1cFN0YXRlID0gU2VsZWN0aW9uUG9wdXBTdGF0ZTtcbiAgc3RhdGU6IHN0cmluZyA9IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICBzZWxlY3RlZEl0ZW1zOiBhbnlbXSA9IFtdO1xuICBzZWxlY3RlZE93bmVyTGlzdDogYW55W10gPSBbXTtcbiAgd29ya2Zsb3dEZXRhaWxzOiBhbnkgPSB7fTtcbiAgZmllbGRTZWxlY3RvciA9IEZJRUxEX1NFTEVDVE9SO1xuICBpc0ludGVybmFsQ2hhbmdlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgcGF5bG9hZDogYW55ID0ge307XG4gIEBJbnB1dCgpIGZpZWxkU2VsZWN0ZWQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBzZXQgaW5pdGlhbFNlbGVjdGlvbih2YWx1ZTogYW55KSB7XG4gICAgaWYgKHZhbHVlPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5TRUxFQ1RFRDtcbiAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gWy4uLnZhbHVlXTtcbiAgICAgIGNvbnN0IGlzU3RyaW5nID0gdHlwZW9mIHZhbHVlWzBdID09PSAnc3RyaW5nJztcbiAgICAgIGlmKGlzU3RyaW5nICYmICh0aGlzLm1vZGUgPT09ICdDUkVBVEUnIHx8IHRoaXMuaXNJbnRlcm5hbENoYW5nZSkpe1xuICAgICAgICB0aGlzLnBvcHVsYXRlT3duZXJMaXN0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpIHdvcmtmbG93SWQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSB2YWxpZGF0aW9uRXJyb3I6IGFueSA9IHt9O1xuICBASW5wdXQoKSBtb2RlOiBzdHJpbmcgPSAnJztcblxuICBAT3V0cHV0KCkgZmllbGRDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVwb3J0QUNhc2VTZXJ2aWNlOiBSZXBvcnRBQ2FzZVNlcnZpY2UpIHtcbiAgICB0aGlzLmdldFdvcmtmbG93RGV0YWlscygpO1xuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuaXNJbnRlcm5hbENoYW5nZSA9IGZhbHNlO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMud29ya2Zsb3dJZCkge1xuICAgICAgdGhpcy5nZXRDYXNlT3duZXJzTGlzdCh0aGlzLndvcmtmbG93SWQpO1xuICAgIH1cbiAgfVxuXG4gIGdldFdvcmtmbG93RGV0YWlscygpIHtcbiAgICB0aGlzLnJlcG9ydEFDYXNlU2VydmljZS53b3JrZmxvdyQuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgIHRoaXMud29ya2Zsb3dEZXRhaWxzID0gcmVzPy5kYXRhPy53b3JrZmxvd19kZXRhaWxzO1xuICAgICAgaWYgKHRoaXMud29ya2Zsb3dEZXRhaWxzPy5faWQpIHtcbiAgICAgICAgdGhpcy5nZXRDYXNlT3duZXJzTGlzdCh0aGlzLndvcmtmbG93RGV0YWlscz8uX2lkKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldENhc2VPd25lcnNMaXN0KHdvcmtmbG93SWQ6IHN0cmluZykge1xuICAgIHRoaXMub3duZXJMaXN0TG9hZGVyID0gdHJ1ZTtcbiAgICB0aGlzLnJlcG9ydEFDYXNlU2VydmljZS5nZXRDYXNlT3duZXJzKHdvcmtmbG93SWQpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuY2FzZU93bmVyc0xpc3QgPSByZXM/LmRhdGE/Lm1hcCgob3duZXI6IGFueSkgPT4gKHtcbiAgICAgICAgLi4ub3duZXIsXG4gICAgICAgIGVtcGxveWVlX25hbWU6IG93bmVyPy5tZW1iZXJfbmFtZSxcbiAgICAgIH0pKTtcbiAgICAgXG4gICAgICBpZih0aGlzLm1vZGUgPT09ICdFRElUJyl7XG4gICAgICAgIHRoaXMucG9wdWxhdGVPd25lckxpc3QoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2V0RGVmYXVsdE93bmVyKCk7XG4gICAgICB9XG4gICAgICB0aGlzLm93bmVyTGlzdExvYWRlciA9IGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgcG9wdWxhdGVPd25lckxpc3QoKSB7XG4gICAgdGhpcy5zZWxlY3RlZE93bmVyTGlzdCA9IHRoaXMuY2FzZU93bmVyc0xpc3QuZmlsdGVyKChvd25lcjogYW55KSA9PlxuICAgIHtcbiAgICAgIGNvbnN0IGlzU3RyaW5nID0gdHlwZW9mIHRoaXMuc2VsZWN0ZWRJdGVtc1swXSA9PT0gJ3N0cmluZyc7XG4gICAgICBpZihpc1N0cmluZyl7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbXMuaW5jbHVkZXMob3duZXI/Ll9pZClcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbXMuc29tZSgoaXRlbTogYW55KSA9PiBpdGVtPy52YWx1ZSA9PT0gb3duZXI/Ll9pZClcbiAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFsuLi4gbmV3IFNldCh0aGlzLnNlbGVjdGVkT3duZXJMaXN0KV1cbiAgICAgIC5tYXAoKG93bmVyOiBhbnkpID0+ICh7XG4gICAgICAgIGxhYmVsOiBvd25lcj8uZW1wbG95ZWVfbmFtZSxcbiAgICAgICAgdmFsdWU6IG93bmVyPy5faWQsXG4gICAgICB9KSk7XG5cblxuICAgIH1cblxuICBzZXREZWZhdWx0T3duZXIoKSB7XG4gICAgY29uc3QgeyBjcmVhdGVkX2J5IH0gPSB0aGlzLndvcmtmbG93RGV0YWlscyB8fCB7fTtcbiAgICBpZiAoIWNyZWF0ZWRfYnkpIHJldHVybjtcblxuICAgIGNvbnN0IGRlZmF1bHRPd25lciA9IHRoaXMuY2FzZU93bmVyc0xpc3Q/LmZpbmQoXG4gICAgICAob3duZXI6IGFueSkgPT4gb3duZXI/Ll9pZCA9PT0gY3JlYXRlZF9ieVxuICAgICk7XG4gICAgaWYgKCFkZWZhdWx0T3duZXIpIHJldHVybjtcblxuICAgIGNvbnN0IGlzT3duZXJBbHJlYWR5U2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkT3duZXJMaXN0LnNvbWUoXG4gICAgICAob3duZXIpID0+IG93bmVyPy5faWQgPT09IGRlZmF1bHRPd25lcj8uX2lkXG4gICAgKTtcbiAgICBpZiAoaXNPd25lckFscmVhZHlTZWxlY3RlZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5zZWxlY3RlZE93bmVyTGlzdC5wdXNoKGRlZmF1bHRPd25lcik7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zLnB1c2goe1xuICAgICAgbGFiZWw6IGRlZmF1bHRPd25lcj8uZW1wbG95ZWVfbmFtZSxcbiAgICAgIHZhbHVlOiBkZWZhdWx0T3duZXI/Ll9pZCxcbiAgICB9KTtcbiAgICB0aGlzLnNldFBheWxvYWQoW2RlZmF1bHRPd25lcj8uX2lkXSk7XG4gICAgdGhpcy52YWxpZGF0aW9uRXJyb3IuY2FzZU93bmVyLmlzRXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5jYXNlT3duZXIubWVzc2FnZSA9ICcnO1xuICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5TRUxFQ1RFRDtcbiAgICBcbiAgfVxuXG4gIHNhdmVTZWxlY3RlZE93bmVyTGlzdChldmVudDogYW55KSB7XG4gICAgdGhpcy5vd25lckNsaWNrZWQgPSBmYWxzZTtcbiAgICB0aGlzLnNldFNlbGVjdGVkT3duZXJzTGlzdChldmVudCk7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGhpcy5jYXNlT3duZXJzTGlzdFxuICAgICAgPy5maWx0ZXIoKG93bmVyOiBhbnkpID0+IGV2ZW50Py5pbmNsdWRlcyhvd25lcj8uX2lkKSlcbiAgICAgIC5tYXAoKG93bmVyOiBhbnkpID0+ICh7XG4gICAgICAgIGxhYmVsOiBvd25lcj8uZW1wbG95ZWVfbmFtZSxcbiAgICAgICAgdmFsdWU6IG93bmVyPy5faWQsXG4gICAgICB9KSk7XG4gICAgdGhpcy5zZXRQYXlsb2FkKGV2ZW50KTtcbiAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5jYXNlT3duZXIuaXNFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLmNhc2VPd25lci5tZXNzYWdlID0gJyc7XG4gICAgdGhpcy5zdGF0ZSA9IFNlbGVjdGlvblN0YXRlLlNFTEVDVEVEO1xuICAgIHRoaXMuZmllbGRDbGlja2VkLmVtaXQoJycpO1xuICAgIHRoaXMuaXNJbnRlcm5hbENoYW5nZSA9IHRydWU7XG5cbiAgfVxuXG4gIHNldFNlbGVjdGVkT3duZXJzTGlzdChldmVudDogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZE93bmVyTGlzdCA9IHRoaXMuY2FzZU93bmVyc0xpc3Q/LmZpbHRlcigob3duZXI6IGFueSkgPT5cbiAgICAgIGV2ZW50Py5pbmNsdWRlcyhvd25lcj8uX2lkKVxuICAgICk7XG4gIH1cblxuICBhY3RpdmF0ZVNlbGVjdG9yKGFjdGl2ZTogYm9vbGVhbikge1xuICAgIHRoaXMub3duZXJDbGlja2VkID0gYWN0aXZlO1xuICAgIHRoaXMuZmllbGRDbGlja2VkLmVtaXQoYWN0aXZlID8gJ0NBU0VfT1dORVInIDogJycpO1xuICB9XG5cbiAgc2V0T3duZXJMaXN0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBldmVudCB8fCBbXTtcbiAgICB0aGlzLnNlbGVjdGVkT3duZXJMaXN0ID0gdGhpcy5jYXNlT3duZXJzTGlzdD8uZmlsdGVyKChvd25lcjogYW55KSA9PlxuICAgICAgZXZlbnQ/LnNvbWUoKGV2ZW50SXRlbTogYW55KSA9PiBldmVudEl0ZW0/LnZhbHVlID09PSBvd25lcj8uX2lkKVxuICAgICk7XG4gICAgXG4gICAgY29uc3Qgb3duZXJJZHMgPSBldmVudD8ubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0/LnZhbHVlKSB8fCBbXTtcbiAgICB0aGlzLnNldFBheWxvYWQob3duZXJJZHMpO1xuICAgIHRoaXMuc3RhdGUgPSBldmVudD8ubGVuZ3RoID8gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQgOiBTZWxlY3Rpb25TdGF0ZS5FTVBUWTtcblxuICB9XG5cbiAgc2V0UGF5bG9hZChldmVudDogYW55KSB7XG4gICAgdGhpcy5wYXlsb2FkLmNhc2VUb1dvcmtmbG93ID0ge1xuICAgICAgLi4udGhpcy5wYXlsb2FkLmNhc2VUb1dvcmtmbG93LFxuICAgICAgb3duZXJzOiBldmVudCxcbiAgICB9O1xuICB9XG5cbiAgaXNDYXNlT3duZXJTZWxlY3Rpb25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBoYXNWYWxpZFJjRGV0YWlscyA9XG4gICAgICB0aGlzLnBheWxvYWQ/LnJjX2RldGFpbHM/Lmlkcz8ubGVuZ3RoID09PSAxIHx8XG4gICAgICB0aGlzLnBheWxvYWQ/LnJjX2RldGFpbHM/Lm1haW5fcmNfaWQ7XG5cbiAgICByZXR1cm4gKFxuICAgICAgIWhhc1ZhbGlkUmNEZXRhaWxzIHx8XG4gICAgICAhdGhpcy5wYXlsb2FkPy5jYXNlX3R5cGU/LmlkIHx8XG4gICAgICAhdGhpcy5wYXlsb2FkPy5wcmlvcml0eT8uaWRcbiAgICApO1xuICB9XG59XG4iXX0=
263
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1vd25lcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvcmVwb3J0LWEtY2FzZS9jb21wb25lbnRzL2Nhc2Utb3duZXJzL2Nhc2Utb3duZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUdiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRCxPQUFPLEVBRUwsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLGNBQWMsR0FDZixNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7OztBQThDL0MsTUFBTSxPQUFPLG1CQUFtQjtJQXdCOUIsSUFBYSxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3RDLElBQUksS0FBSyxFQUFFLE1BQU0sRUFBRTtZQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUM7WUFDdEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7WUFDL0IsTUFBTSxRQUFRLEdBQUcsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxDQUFDO1lBQzlDLElBQUcsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUM7Z0JBQy9ELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2FBQzFCO1NBQ0Y7SUFDSCxDQUFDO0lBUUQsWUFBb0Isa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUF4QzFELFdBQU0sR0FBRyxNQUFNLENBQUM7UUFDaEIsZUFBVSxHQUFHLFdBQVcsQ0FBQztRQUN6QixtQkFBYyxHQUFVLEVBQUUsQ0FBQztRQUMzQixXQUFNLEdBQVE7WUFDWixHQUFHLG1CQUFtQjtZQUN0QixXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFdBQVc7WUFDNUQsS0FBSyxFQUFFLEVBQUU7WUFDVCxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFlBQVk7U0FDL0QsQ0FBQztRQUNGLG1CQUFjLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUM5RCxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUNqQyxtQkFBYyxHQUFHLGNBQWMsQ0FBQztRQUNoQyx3QkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztRQUMxQyxVQUFLLEdBQVcsY0FBYyxDQUFDLEtBQUssQ0FBQztRQUNyQyxrQkFBYSxHQUFVLEVBQUUsQ0FBQztRQUMxQixzQkFBaUIsR0FBVSxFQUFFLENBQUM7UUFDOUIsb0JBQWUsR0FBUSxFQUFFLENBQUM7UUFDMUIsa0JBQWEsR0FBRyxjQUFjLENBQUM7UUFDL0IscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBRXpCLFlBQU8sR0FBUSxFQUFFLENBQUM7UUFDbEIsa0JBQWEsR0FBVyxFQUFFLENBQUM7UUFXM0IsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixvQkFBZSxHQUFRLEVBQUUsQ0FBQztRQUMxQixTQUFJLEdBQVcsRUFBRSxDQUFDO1FBRWpCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBR25ELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2xELElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsQ0FBQztZQUNuRCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO2dCQUM3QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUNuRDtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGlCQUFpQixDQUFDLFVBQWtCO1FBQ2xDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDdkUsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDcEQsR0FBRyxLQUFLO2dCQUNSLGFBQWEsRUFBRSxLQUFLLEVBQUUsV0FBVzthQUNsQyxDQUFDLENBQUMsQ0FBQztZQUVKLElBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUM7Z0JBQ3RCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2FBQzFCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQzthQUN4QjtZQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBRWpFLE1BQU0sUUFBUSxHQUFHLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxRQUFRLENBQUM7WUFDM0QsSUFBRyxRQUFRLEVBQUM7Z0JBQ1YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUE7YUFDL0M7WUFDRCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxLQUFLLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQTtRQUMzRSxDQUFDLENBQ0EsQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxHQUFJLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2FBQ3ZELEdBQUcsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNwQixLQUFLLEVBQUUsS0FBSyxFQUFFLGFBQWE7WUFDM0IsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHO1NBQ2xCLENBQUMsQ0FBQyxDQUFDO0lBR04sQ0FBQztJQUVILGVBQWU7UUFDYixNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLFVBQVU7WUFBRSxPQUFPO1FBRXhCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUM1QyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUcsS0FBSyxVQUFVLENBQzFDLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWTtZQUFFLE9BQU87UUFFMUIsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUN4RCxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUcsS0FBSyxZQUFZLEVBQUUsR0FBRyxDQUM1QyxDQUFDO1FBQ0YsSUFBSSxzQkFBc0I7WUFBRSxPQUFPO1FBRW5DLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDdEIsS0FBSyxFQUFFLFlBQVksRUFBRSxhQUFhO1lBQ2xDLEtBQUssRUFBRSxZQUFZLEVBQUUsR0FBRztTQUN6QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUMvQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxLQUFLLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQztJQUV2QyxDQUFDO0lBRUQscUJBQXFCLENBQUMsS0FBVTtRQUM5QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYztZQUN0QyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7YUFDcEQsR0FBRyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3BCLEtBQUssRUFBRSxLQUFLLEVBQUUsYUFBYTtZQUMzQixLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUc7U0FDbEIsQ0FBQyxDQUFDLENBQUM7UUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDL0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUM7UUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0lBRS9CLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxLQUFVO1FBQzlCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQ2xFLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUM1QixDQUFDO0lBQ0osQ0FBQztJQUVELGdCQUFnQixDQUFDLE1BQWU7UUFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxZQUFZLENBQUMsS0FBVTtRQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FDbEUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQWMsRUFBRSxFQUFFLENBQUMsU0FBUyxFQUFFLEtBQUssS0FBSyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQ2pFLENBQUM7UUFFRixNQUFNLFFBQVEsR0FBRyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBRTlFLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsR0FBRztZQUM1QixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYztZQUM5QixNQUFNLEVBQUUsS0FBSztTQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsNEJBQTRCO1FBQzFCLE1BQU0saUJBQWlCLEdBQ3JCLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLEtBQUssQ0FBQztZQUMzQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUM7UUFFdkMsT0FBTyxDQUNMLENBQUMsaUJBQWlCO1lBQ2xCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsRUFBRTtZQUM1QixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FDNUIsQ0FBQztJQUNKLENBQUM7K0dBMUxVLG1CQUFtQjttR0FBbkIsbUJBQW1CLDBUQTFDcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0NUOzs0RkFJVSxtQkFBbUI7a0JBNUMvQixTQUFTOytCQUNFLGlCQUFpQixZQUNqQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQ1Q7eUdBMEJRLE9BQU87c0JBQWYsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNPLGdCQUFnQjtzQkFBNUIsS0FBSztnQkFVRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVNTRVRTIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2Fzc2Vzc3RzLmNvbnN0YW50cyc7XG5pbXBvcnQge1xuICBBQ1RJT05fQ09ERSxcbiAgREVGQVVMVF9GT1JNX0NPTkZJRyxcbiAgRklFTERfU0VMRUNUT1IsXG4gIFJFUE9SVF9DQVNFLFxuICBTZWxlY3Rpb25Qb3B1cFN0YXRlLFxuICBTZWxlY3Rpb25TdGF0ZSxcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3JlcG9ydC1jYXNlLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBSZXBvcnRBQ2FzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXBvcnQtYS1jYXNlLnNlcnZpY2UnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNhc2Utb3duZXJzJyxcbiAgdGVtcGxhdGU6IGBcblxuICAgIDxhcHAtZmllbGQtaG9sZGVyXG4gICAgICBbaW1hZ2VdPVwiQVNTRVRTLmNhc2Vfb3duZXJzXCJcbiAgICAgIFthY3RpdmVdPVwib3duZXJDbGlja2VkXCJcbiAgICAgIFtkaXNhYmxlZF09XCJmaWVsZFNlbGVjdG9yPy5pbmNsdWRlcyhmaWVsZFNlbGVjdGVkKVwiXG4gICAgICBbY2hlY2tlZF09XCJwYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8ub3duZXJzPy5sZW5ndGhcIlxuICAgID4gIFxuICAgICAgICA8YXBwLWZvcm0tc2VsZWN0Qm94XG4gICAgICAgIGZpZWxkXG4gICAgICAgICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgICAgICAgIFtzdGF0ZV09XCJzdGF0ZVwiXG4gICAgICAgICAgW3BvcHVwU3RhdGVdPVwiU2VsZWN0aW9uUG9wdXBTdGF0ZS5TRUxFQ1RJT05fRElBTE9HXCJcbiAgICAgICAgICBbY2hpcEl0ZW1zXT1cInNlbGVjdGVkSXRlbXNcIlxuICAgICAgICAgIChmaWVsZENsaWNrZWQpPVwiYWN0aXZhdGVTZWxlY3RvcigkZXZlbnQpXCJcbiAgICAgICAgICAoc2VsZWN0ZWRJdGVtTGlzdENoYW5nZSk9XCJzZXRPd25lckxpc3QoJGV2ZW50KVwiXG4gICAgICAgICAgW2lzRXJyb3JdPVwidmFsaWRhdGlvbkVycm9yLmNhc2VPd25lci5pc0Vycm9yXCJcbiAgICAgICAgICBbZXJyb3JNZXNzYWdlXT1cInZhbGlkYXRpb25FcnJvci5jYXNlT3duZXIubWVzc2FnZVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzQ2FzZU93bmVyU2VsZWN0aW9uRGlzYWJsZWQoKVwiXG4gICAgICAgICAgY2xhc3M9XCJjYXNlLW93bmVyLWZpZWxkXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxhcHAtdmMtbGFiZWxcbiAgICAgICAgICAgIGxhYmVsXG4gICAgICAgICAgICBbbGFiZWxUZXh0XT1cIm93bmVyVGV4dHMuY2FzZV9kZXRhaWxzLm93bmVycy50aXRsZVwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbc2hvd0luZm9dPVwidHJ1ZVwiXG4gICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwib3duZXJzSGVscFRleHRcIlxuICAgICAgICAgID48L2FwcC12Yy1sYWJlbD5cbiAgICAgICAgPC9hcHAtZm9ybS1zZWxlY3RCb3g+XG4gICAgPC9hcHAtZmllbGQtaG9sZGVyPlxuICAgIDxhcHAtZ3JvdXAtdXNlcnMtbGlzdFxuICAgICAgKm5nSWY9XCJvd25lckNsaWNrZWRcIlxuICAgICAgW3VzZXJzTGlzdF09XCJjYXNlT3duZXJzTGlzdFwiXG4gICAgICBbdXNlcklkS2V5XT1cIidfaWQnXCJcbiAgICAgIFtzZWxlY3RlZFVzZXJzXT1cInNlbGVjdGVkT3duZXJMaXN0XCJcbiAgICAgIChjbG9zZVVzZXJzTGlzdCk9XCJhY3RpdmF0ZVNlbGVjdG9yKGZhbHNlKVwiXG4gICAgICAoc2F2ZVNlbGVjdGVkTGlzdCk9XCJzYXZlU2VsZWN0ZWRPd25lckxpc3QoJGV2ZW50KVwiXG4gICAgPjwvYXBwLWdyb3VwLXVzZXJzLWxpc3Q+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuLi8uLi8uLi9mb3Jtcy5sZXNzJ10sXG4gIFxufSlcbmV4cG9ydCBjbGFzcyBDYXNlT3duZXJzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3l7XG4gIEFTU0VUUyA9IEFTU0VUUztcbiAgb3duZXJUZXh0cyA9IFJFUE9SVF9DQVNFO1xuICBjYXNlT3duZXJzTGlzdDogYW55W10gPSBbXTtcbiAgY29uZmlnOiBhbnkgPSB7XG4gICAgLi4uREVGQVVMVF9GT1JNX0NPTkZJRyxcbiAgICBwbGFjZWhvbGRlcjogdGhpcy5vd25lclRleHRzLmNhc2VfZGV0YWlscy5vd25lcnMucGxhY2Vob2xkZXIsXG4gICAgaXRlbXM6IFtdLFxuICAgIGRpc2FibGVkVGV4dDogdGhpcy5vd25lclRleHRzLmNhc2VfZGV0YWlscy5vd25lcnMuZGlzYWJsZWRUZXh0LFxuICB9O1xuICBvd25lcnNIZWxwVGV4dCA9IHRoaXMub3duZXJUZXh0cy5jYXNlX2RldGFpbHMub3duZXJzLmhlbHBUZXh0O1xuICBvd25lckNsaWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgb3duZXJMaXN0TG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIFNlbGVjdGlvblN0YXRlID0gU2VsZWN0aW9uU3RhdGU7XG4gIFNlbGVjdGlvblBvcHVwU3RhdGUgPSBTZWxlY3Rpb25Qb3B1cFN0YXRlO1xuICBzdGF0ZTogc3RyaW5nID0gU2VsZWN0aW9uU3RhdGUuRU1QVFk7XG4gIHNlbGVjdGVkSXRlbXM6IGFueVtdID0gW107XG4gIHNlbGVjdGVkT3duZXJMaXN0OiBhbnlbXSA9IFtdO1xuICB3b3JrZmxvd0RldGFpbHM6IGFueSA9IHt9O1xuICBmaWVsZFNlbGVjdG9yID0gRklFTERfU0VMRUNUT1I7XG4gIGlzSW50ZXJuYWxDaGFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBwYXlsb2FkOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgZmllbGRTZWxlY3RlZDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHNldCBpbml0aWFsU2VsZWN0aW9uKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAodmFsdWU/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5zdGF0ZSA9IFNlbGVjdGlvblN0YXRlLlNFTEVDVEVEO1xuICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBbLi4udmFsdWVdO1xuICAgICAgY29uc3QgaXNTdHJpbmcgPSB0eXBlb2YgdmFsdWVbMF0gPT09ICdzdHJpbmcnO1xuICAgICAgaWYoaXNTdHJpbmcgJiYgKHRoaXMubW9kZSA9PT0gJ0NSRUFURScgfHwgdGhpcy5pc0ludGVybmFsQ2hhbmdlKSl7XG4gICAgICAgIHRoaXMucG9wdWxhdGVPd25lckxpc3QoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQElucHV0KCkgd29ya2Zsb3dJZDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHZhbGlkYXRpb25FcnJvcjogYW55ID0ge307XG4gIEBJbnB1dCgpIG1vZGU6IHN0cmluZyA9ICcnO1xuXG4gIEBPdXRwdXQoKSBmaWVsZENsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBmaWx0ZXJEZXNlbGVjdG9yID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXBvcnRBQ2FzZVNlcnZpY2U6IFJlcG9ydEFDYXNlU2VydmljZSkge1xuICAgIHRoaXMuZ2V0V29ya2Zsb3dEZXRhaWxzKCk7XG4gIH1cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5pc0ludGVybmFsQ2hhbmdlID0gZmFsc2U7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy53b3JrZmxvd0lkKSB7XG4gICAgICB0aGlzLmdldENhc2VPd25lcnNMaXN0KHRoaXMud29ya2Zsb3dJZCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0V29ya2Zsb3dEZXRhaWxzKCkge1xuICAgIHRoaXMucmVwb3J0QUNhc2VTZXJ2aWNlLndvcmtmbG93JC5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgdGhpcy53b3JrZmxvd0RldGFpbHMgPSByZXM/LmRhdGE/LndvcmtmbG93X2RldGFpbHM7XG4gICAgICBpZiAodGhpcy53b3JrZmxvd0RldGFpbHM/Ll9pZCkge1xuICAgICAgICB0aGlzLmdldENhc2VPd25lcnNMaXN0KHRoaXMud29ya2Zsb3dEZXRhaWxzPy5faWQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0Q2FzZU93bmVyc0xpc3Qod29ya2Zsb3dJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5vd25lckxpc3RMb2FkZXIgPSB0cnVlO1xuICAgIHRoaXMucmVwb3J0QUNhc2VTZXJ2aWNlLmdldENhc2VPd25lcnMod29ya2Zsb3dJZCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgdGhpcy5jYXNlT3duZXJzTGlzdCA9IHJlcz8uZGF0YT8ubWFwKChvd25lcjogYW55KSA9PiAoe1xuICAgICAgICAuLi5vd25lcixcbiAgICAgICAgZW1wbG95ZWVfbmFtZTogb3duZXI/Lm1lbWJlcl9uYW1lLFxuICAgICAgfSkpO1xuICAgICBcbiAgICAgIGlmKHRoaXMubW9kZSA9PT0gJ0VESVQnKXtcbiAgICAgICAgdGhpcy5wb3B1bGF0ZU93bmVyTGlzdCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZXREZWZhdWx0T3duZXIoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMub3duZXJMaXN0TG9hZGVyID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBwb3B1bGF0ZU93bmVyTGlzdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkT3duZXJMaXN0ID0gdGhpcy5jYXNlT3duZXJzTGlzdC5maWx0ZXIoKG93bmVyOiBhbnkpID0+XG4gICAge1xuICAgICAgY29uc3QgaXNTdHJpbmcgPSB0eXBlb2YgdGhpcy5zZWxlY3RlZEl0ZW1zWzBdID09PSAnc3RyaW5nJztcbiAgICAgIGlmKGlzU3RyaW5nKXtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcy5pbmNsdWRlcyhvd25lcj8uX2lkKVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcy5zb21lKChpdGVtOiBhbnkpID0+IGl0ZW0/LnZhbHVlID09PSBvd25lcj8uX2lkKVxuICAgIH1cbiAgICApO1xuXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gWy4uLiBuZXcgU2V0KHRoaXMuc2VsZWN0ZWRPd25lckxpc3QpXVxuICAgICAgLm1hcCgob3duZXI6IGFueSkgPT4gKHtcbiAgICAgICAgbGFiZWw6IG93bmVyPy5lbXBsb3llZV9uYW1lLFxuICAgICAgICB2YWx1ZTogb3duZXI/Ll9pZCxcbiAgICAgIH0pKTtcblxuXG4gICAgfVxuXG4gIHNldERlZmF1bHRPd25lcigpIHtcbiAgICBjb25zdCB7IGNyZWF0ZWRfYnkgfSA9IHRoaXMud29ya2Zsb3dEZXRhaWxzIHx8IHt9O1xuICAgIGlmICghY3JlYXRlZF9ieSkgcmV0dXJuO1xuXG4gICAgY29uc3QgZGVmYXVsdE93bmVyID0gdGhpcy5jYXNlT3duZXJzTGlzdD8uZmluZChcbiAgICAgIChvd25lcjogYW55KSA9PiBvd25lcj8uX2lkID09PSBjcmVhdGVkX2J5XG4gICAgKTtcbiAgICBpZiAoIWRlZmF1bHRPd25lcikgcmV0dXJuO1xuXG4gICAgY29uc3QgaXNPd25lckFscmVhZHlTZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWRPd25lckxpc3Quc29tZShcbiAgICAgIChvd25lcikgPT4gb3duZXI/Ll9pZCA9PT0gZGVmYXVsdE93bmVyPy5faWRcbiAgICApO1xuICAgIGlmIChpc093bmVyQWxyZWFkeVNlbGVjdGVkKSByZXR1cm47XG5cbiAgICB0aGlzLnNlbGVjdGVkT3duZXJMaXN0LnB1c2goZGVmYXVsdE93bmVyKTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMucHVzaCh7XG4gICAgICBsYWJlbDogZGVmYXVsdE93bmVyPy5lbXBsb3llZV9uYW1lLFxuICAgICAgdmFsdWU6IGRlZmF1bHRPd25lcj8uX2lkLFxuICAgIH0pO1xuICAgIHRoaXMuc2V0UGF5bG9hZChbZGVmYXVsdE93bmVyPy5faWRdKTtcbiAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5jYXNlT3duZXIuaXNFcnJvciA9IGZhbHNlO1xuICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLmNhc2VPd25lci5tZXNzYWdlID0gJyc7XG4gICAgdGhpcy5zdGF0ZSA9IFNlbGVjdGlvblN0YXRlLlNFTEVDVEVEO1xuICAgIFxuICB9XG5cbiAgc2F2ZVNlbGVjdGVkT3duZXJMaXN0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm93bmVyQ2xpY2tlZCA9IGZhbHNlO1xuICAgIHRoaXMuc2V0U2VsZWN0ZWRPd25lcnNMaXN0KGV2ZW50KTtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLmNhc2VPd25lcnNMaXN0XG4gICAgICA/LmZpbHRlcigob3duZXI6IGFueSkgPT4gZXZlbnQ/LmluY2x1ZGVzKG93bmVyPy5faWQpKVxuICAgICAgLm1hcCgob3duZXI6IGFueSkgPT4gKHtcbiAgICAgICAgbGFiZWw6IG93bmVyPy5lbXBsb3llZV9uYW1lLFxuICAgICAgICB2YWx1ZTogb3duZXI/Ll9pZCxcbiAgICAgIH0pKTtcbiAgICB0aGlzLnNldFBheWxvYWQoZXZlbnQpO1xuICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLmNhc2VPd25lci5pc0Vycm9yID0gZmFsc2U7XG4gICAgdGhpcy52YWxpZGF0aW9uRXJyb3IuY2FzZU93bmVyLm1lc3NhZ2UgPSAnJztcbiAgICB0aGlzLnN0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG4gICAgdGhpcy5maWVsZENsaWNrZWQuZW1pdCgnJyk7XG4gICAgdGhpcy5maWx0ZXJEZXNlbGVjdG9yLmVtaXQoZmFsc2UpO1xuICAgIHRoaXMuaXNJbnRlcm5hbENoYW5nZSA9IHRydWU7XG5cbiAgfVxuXG4gIHNldFNlbGVjdGVkT3duZXJzTGlzdChldmVudDogYW55KSB7XG4gICAgdGhpcy5zZWxlY3RlZE93bmVyTGlzdCA9IHRoaXMuY2FzZU93bmVyc0xpc3Q/LmZpbHRlcigob3duZXI6IGFueSkgPT5cbiAgICAgIGV2ZW50Py5pbmNsdWRlcyhvd25lcj8uX2lkKVxuICAgICk7XG4gIH1cblxuICBhY3RpdmF0ZVNlbGVjdG9yKGFjdGl2ZTogYm9vbGVhbikge1xuICAgIHRoaXMub3duZXJDbGlja2VkID0gYWN0aXZlO1xuICAgIHRoaXMuZmllbGRDbGlja2VkLmVtaXQoYWN0aXZlID8gJ0NBU0VfT1dORVInIDogJycpO1xuICAgIHRoaXMuZmlsdGVyRGVzZWxlY3Rvci5lbWl0KGFjdGl2ZSA/IHRydWUgOiBmYWxzZSk7XG4gIH1cblxuICBzZXRPd25lckxpc3QoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IGV2ZW50IHx8IFtdO1xuICAgIHRoaXMuc2VsZWN0ZWRPd25lckxpc3QgPSB0aGlzLmNhc2VPd25lcnNMaXN0Py5maWx0ZXIoKG93bmVyOiBhbnkpID0+XG4gICAgICBldmVudD8uc29tZSgoZXZlbnRJdGVtOiBhbnkpID0+IGV2ZW50SXRlbT8udmFsdWUgPT09IG93bmVyPy5faWQpXG4gICAgKTtcbiAgICBcbiAgICBjb25zdCBvd25lcklkcyA9IGV2ZW50Py5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbT8udmFsdWUpIHx8IFtdO1xuICAgIHRoaXMuc2V0UGF5bG9hZChvd25lcklkcyk7XG4gICAgdGhpcy5zdGF0ZSA9IGV2ZW50Py5sZW5ndGggPyBTZWxlY3Rpb25TdGF0ZS5TRUxFQ1RFRCA6IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuXG4gIH1cblxuICBzZXRQYXlsb2FkKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnBheWxvYWQuY2FzZVRvV29ya2Zsb3cgPSB7XG4gICAgICAuLi50aGlzLnBheWxvYWQuY2FzZVRvV29ya2Zsb3csXG4gICAgICBvd25lcnM6IGV2ZW50LFxuICAgIH07XG4gIH1cblxuICBpc0Nhc2VPd25lclNlbGVjdGlvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGhhc1ZhbGlkUmNEZXRhaWxzID1cbiAgICAgIHRoaXMucGF5bG9hZD8ucmNfZGV0YWlscz8uaWRzPy5sZW5ndGggPT09IDEgfHxcbiAgICAgIHRoaXMucGF5bG9hZD8ucmNfZGV0YWlscz8ubWFpbl9yY19pZDtcblxuICAgIHJldHVybiAoXG4gICAgICAhaGFzVmFsaWRSY0RldGFpbHMgfHxcbiAgICAgICF0aGlzLnBheWxvYWQ/LmNhc2VfdHlwZT8uaWQgfHxcbiAgICAgICF0aGlzLnBheWxvYWQ/LnByaW9yaXR5Py5pZFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -51,11 +51,13 @@ export class CaseResolutionDeadlineComponent {
51
51
  this.fieldSelected = '';
52
52
  this.validationError = {};
53
53
  this.fieldClicked = new EventEmitter();
54
+ this.filterDeselector = new EventEmitter();
54
55
  this.getWorkflowDetails();
55
56
  }
56
57
  saveSelectedDueDate() {
57
58
  this.dueDateClicked = false;
58
59
  this.fieldClicked.emit('');
60
+ this.filterDeselector.emit(false);
59
61
  this.selectedItems = [
60
62
  {
61
63
  label: 'Configured',
@@ -72,6 +74,7 @@ export class CaseResolutionDeadlineComponent {
72
74
  activateSelector(active) {
73
75
  this.dueDateClicked = active;
74
76
  this.fieldClicked.emit(active ? 'CASE_RESOLUTION_DEADLINE' : '');
77
+ this.filterDeselector.emit(active ? true : false);
75
78
  }
76
79
  getWorkflowDetails() {
77
80
  this.reportACaseService.workflow$.subscribe((res) => {
@@ -90,7 +93,7 @@ export class CaseResolutionDeadlineComponent {
90
93
  !this.payload?.caseToWorkflow?.owners?.length);
91
94
  }
92
95
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CaseResolutionDeadlineComponent, deps: [{ token: i1.ReportACaseService }], target: i0.ɵɵFactoryTarget.Component }); }
93
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CaseResolutionDeadlineComponent, selector: "app-case-resolution-deadline", inputs: { payload: "payload", userList: "userList", groupList: "groupList", mode: "mode", initialSelection: "initialSelection", fieldSelected: "fieldSelected", validationError: "validationError" }, outputs: { fieldClicked: "fieldClicked" }, ngImport: i0, template: `<app-field-holder
96
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CaseResolutionDeadlineComponent, selector: "app-case-resolution-deadline", inputs: { payload: "payload", userList: "userList", groupList: "groupList", mode: "mode", initialSelection: "initialSelection", fieldSelected: "fieldSelected", validationError: "validationError" }, outputs: { fieldClicked: "fieldClicked", filterDeselector: "filterDeselector" }, ngImport: i0, template: `<app-field-holder
94
97
  [image]="ASSETS.case_resolution_deadline"
95
98
  [disabled]="fieldSelector?.includes(fieldSelected)"
96
99
  >
@@ -183,5 +186,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
183
186
  type: Input
184
187
  }], fieldClicked: [{
185
188
  type: Output
189
+ }], filterDeselector: [{
190
+ type: Output
186
191
  }] } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1yZXNvbHV0aW9uLWRlYWRsaW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3JlcG9ydC1hLWNhc2UvY29tcG9uZW50cy9jYXNlLXJlc29sdXRpb24tZGVhZGxpbmUvY2FzZS1yZXNvbHV0aW9uLWRlYWRsaW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixjQUFjLEVBQ2QsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixjQUFjLEdBQ2YsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7QUE0Qy9DLE1BQU0sT0FBTywrQkFBK0I7SUEyQjFDLElBQWEsZ0JBQWdCLENBQUMsS0FBVTtRQUN0QyxJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDO1FBQ3ZDLElBQUksS0FBSyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRTtZQUN4RCxJQUFJLENBQUMsYUFBYSxHQUFHO2dCQUNuQjtvQkFDRSxLQUFLLEVBQUUsWUFBWTtvQkFDbkIsS0FBSyxFQUFFLFlBQVk7aUJBQ3BCO2FBQ0YsQ0FBQztZQUNGLElBQUksQ0FBQyxLQUFLLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQztTQUN0QztJQUNILENBQUM7SUFLRCxZQUFvQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQTFDMUQsV0FBTSxHQUFHLE1BQU0sQ0FBQztRQUNoQixpQkFBWSxHQUFHLFdBQVcsQ0FBQztRQUMzQiw4QkFBeUIsR0FBVSxF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LE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDNUQsTUFBTSxpQkFBaUIsR0FDckIsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sS0FBSyxDQUFDO1lBQzNDLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQztRQUV2QyxPQUFPLENBQ0wsQ0FBQyxpQkFBaUI7WUFDbEIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxFQUFFO1lBQzVCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUMzQixDQUFDLENBQUMsWUFBWSxJQUFJLGlCQUFpQixDQUFDO1lBQ3BDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FDOUMsQ0FBQztJQUNKLENBQUM7K0dBN0ZVLCtCQUErQjttR0FBL0IsK0JBQStCLHFUQXZDaEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztxQkFvQ1M7OzRGQUdSLCtCQUErQjtrQkF6QzNDLFNBQVM7K0JBQ0UsOEJBQThCLFlBQzlCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7cUJBb0NTO3lHQTBCVixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDTyxnQkFBZ0I7c0JBQTVCLEtBQUs7Z0JBWUcsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVNTRVRTIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2Fzc2Vzc3RzLmNvbnN0YW50cyc7XG5pbXBvcnQge1xuICBBQ1RJT05fQ09ERSxcbiAgREVGQVVMVF9GT1JNX0NPTkZJRyxcbiAgRklFTERfU0VMRUNUT1IsXG4gIFJFUE9SVF9DQVNFLFxuICBTZWxlY3Rpb25Qb3B1cFN0YXRlLFxuICBTZWxlY3Rpb25TdGF0ZSxcbn0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3JlcG9ydC1jYXNlLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBSZXBvcnRBQ2FzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXBvcnQtYS1jYXNlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY2FzZS1yZXNvbHV0aW9uLWRlYWRsaW5lJyxcbiAgdGVtcGxhdGU6IGA8YXBwLWZpZWxkLWhvbGRlclxuICAgICAgW2ltYWdlXT1cIkFTU0VUUy5jYXNlX3Jlc29sdXRpb25fZGVhZGxpbmVcIlxuICAgICAgW2Rpc2FibGVkXT1cImZpZWxkU2VsZWN0b3I/LmluY2x1ZGVzKGZpZWxkU2VsZWN0ZWQpXCJcbiAgICA+XG4gICAgXG4gICAgICAgIDxhcHAtZm9ybS1zZWxlY3RCb3hcbiAgICAgICAgICAgZmllbGRcbiAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgICAgICAgW3N0YXRlXT1cInN0YXRlXCJcbiAgICAgICAgICBbcG9wdXBTdGF0ZV09XCJTZWxlY3Rpb25Qb3B1cFN0YXRlLlNFTEVDVElPTl9ESUFMT0dcIlxuICAgICAgICAgIFtjaGlwSXRlbXNdPVwic2VsZWN0ZWRJdGVtc1wiXG4gICAgICAgICAgW3JlbW92YWJsZV09XCJmYWxzZVwiXG4gICAgICAgICAgKGZpZWxkQ2xpY2tlZCk9XCJhY3RpdmF0ZVNlbGVjdG9yKCRldmVudClcIlxuICAgICAgICAgIFtpc0Vycm9yXT1cInZhbGlkYXRpb25FcnJvci5jYXNlUmVzb2x1dGlvbkRlYWRsaW5lLmlzRXJyb3JcIlxuICAgICAgICAgIFtlcnJvck1lc3NhZ2VdPVwidmFsaWRhdGlvbkVycm9yLmNhc2VSZXNvbHV0aW9uRGVhZGxpbmUubWVzc2FnZVwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImlzQ2FzZVJlc29sdXRpb25EZWFkbGluZURpc2FibGVkKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPGFwcC12Yy1sYWJlbFxuICAgICAgICAgICAgbGFiZWxcbiAgICAgICAgICAgIFtsYWJlbFRleHRdPVwiZHVlRGF0ZVRleHRzLmNhc2VfZGV0YWlscy5kdWVfZGF0ZS50aXRsZVwiXG4gICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbc2hvd0luZm9dPVwidHJ1ZVwiXG4gICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiZHVlRGF0ZUhlbHBUZXh0XCJcbiAgICAgICAgICA+PC9hcHAtdmMtbGFiZWw+XG4gICAgICAgIDwvYXBwLWZvcm0tc2VsZWN0Qm94PlxuICAgIDwvYXBwLWZpZWxkLWhvbGRlcj5cbiAgICA8YXBwLWR1ZS1kYXRlXG4gICAgICAqbmdJZj1cImR1ZURhdGVDbGlja2VkXCJcbiAgICAgIChjbG9zZUR1ZURhdGVFdmVudCk9XCJhY3RpdmF0ZVNlbGVjdG9yKGZhbHNlKVwiXG4gICAgICBbcGF5bG9hZF09XCJwYXlsb2FkXCJcbiAgICAgIFt3b3JrZmxvd0RldGFpbHNdPVwid29ya2Zsb3dEZXRhaWxzXCJcbiAgICAgIFt1c2VyTGlzdF09XCJ1c2VyTGlzdFwiXG4gICAgICBbZ3JvdXBMaXN0XT1cImdyb3VwTGlzdFwiXG4gICAgICBbaW5pdGlhbFNlbGVjdGlvbl09XCJpbml0aWFsUmVzb2x1dGlvbkRlYWRsaW5lXCJcbiAgICAgIFttb2RlXT1cIm1vZGVcIlxuICAgICAgKGNsb3NlRHVlRGF0ZVJlc29sdXRpb24pPVwic2F2ZVNlbGVjdGVkRHVlRGF0ZSgpXCJcbiAgICA+PC9hcHAtZHVlLWRhdGU+YCxcbiAgc3R5bGVVcmxzOiBbJy4uLy4uLy4uL2Zvcm1zLmxlc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2FzZVJlc29sdXRpb25EZWFkbGluZUNvbXBvbmVudCB7XG4gIEFTU0VUUyA9IEFTU0VUUztcbiAgZHVlRGF0ZVRleHRzID0gUkVQT1JUX0NBU0U7XG4gIHJlc3BvbnNpYmlsaXR5Q2VudGVyc0xpc3Q6IGFueVtdID0gW107XG4gIGNvbmZpZzogYW55ID0ge1xuICAgIC4uLkRFRkFVTFRfRk9STV9DT05GSUcsXG4gICAgYWN0aW9uOiBBQ1RJT05fQ09ERS5SQyxcbiAgICBwbGFjZWhvbGRlcjogdGhpcy5kdWVEYXRlVGV4dHMuY2FzZV9kZXRhaWxzLmR1ZV9kYXRlLnBsYWNlaG9sZGVyLFxuICAgIGl0ZW1zOiBbXSxcbiAgICBkaXNhYmxlZFRleHQ6IHRoaXMuZHVlRGF0ZVRleHRzLmNhc2VfZGV0YWlscy5kdWVfZGF0ZS5kaXNhYmxlZFRleHQsXG4gIH07XG4gIGR1ZURhdGVDbGlja2VkOiBib29sZWFuID0gZmFsc2U7XG4gIHJjTGlzdExvYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBTZWxlY3Rpb25TdGF0ZSA9IFNlbGVjdGlvblN0YXRlO1xuICBTZWxlY3Rpb25Qb3B1cFN0YXRlID0gU2VsZWN0aW9uUG9wdXBTdGF0ZTtcbiAgc3RhdGU6IHN0cmluZyA9IFNlbGVjdGlvblN0YXRlLkVNUFRZO1xuICBzZWxlY3RlZEl0ZW1zOiBhbnlbXSA9IFtdO1xuICBzZWxlY3RlZFJjTGlzdDogYW55W10gPSBbXTtcbiAgd29ya2Zsb3dEZXRhaWxzOiBhbnkgPSB7fTtcbiAgaW5pdGlhbFJlc29sdXRpb25EZWFkbGluZTogYW55ID0ge307XG4gIGZpZWxkU2VsZWN0b3IgPSBGSUVMRF9TRUxFQ1RPUjtcbiAgZHVlRGF0ZUhlbHBUZXh0ID0gdGhpcy5kdWVEYXRlVGV4dHMuY2FzZV9kZXRhaWxzLmR1ZV9kYXRlLmhlbHBUZXh0O1xuXG4gIEBJbnB1dCgpIHBheWxvYWQ6IGFueSA9IHt9O1xuICBASW5wdXQoKSB1c2VyTGlzdDogYW55W10gPSBbXTtcbiAgQElucHV0KCkgZ3JvdXBMaXN0OiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBtb2RlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgc2V0IGluaXRpYWxTZWxlY3Rpb24odmFsdWU6IGFueSkge1xuICAgIHRoaXMuaW5pdGlhbFJlc29sdXRpb25EZWFkbGluZSA9IHZhbHVlO1xuICAgIGlmICh2YWx1ZT8ucmVzb2x1dGlvbl9kZWFkbGluZT8uc3RhZ2VzX2Fzc2lnbmVlcz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ0NvbmZpZ3VyZWQnLFxuICAgICAgICAgIHZhbHVlOiAnY29uZmlndXJlZCcsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgICAgdGhpcy5zdGF0ZSA9IFNlbGVjdGlvblN0YXRlLlNFTEVDVEVEO1xuICAgIH1cbiAgfVxuICBASW5wdXQoKSBmaWVsZFNlbGVjdGVkOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgdmFsaWRhdGlvbkVycm9yOiBhbnkgPSB7fTtcbiAgQE91dHB1dCgpIGZpZWxkQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVwb3J0QUNhc2VTZXJ2aWNlOiBSZXBvcnRBQ2FzZVNlcnZpY2UpIHtcbiAgICB0aGlzLmdldFdvcmtmbG93RGV0YWlscygpO1xuICB9XG5cbiAgc2F2ZVNlbGVjdGVkRHVlRGF0ZSgpIHtcbiAgICB0aGlzLmR1ZURhdGVDbGlja2VkID0gZmFsc2U7XG4gICAgdGhpcy5maWVsZENsaWNrZWQuZW1pdCgnJyk7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW1xuICAgICAge1xuICAgICAgICBsYWJlbDogJ0NvbmZpZ3VyZWQnLFxuICAgICAgICB2YWx1ZTogJ2NvbmZpZ3VyZWQnLFxuICAgICAgfSxcbiAgICBdO1xuICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5TRUxFQ1RFRDtcbiAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5jYXNlUmVzb2x1dGlvbkRlYWRsaW5lLmlzRXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5jYXNlUmVzb2x1dGlvbkRlYWRsaW5lLm1lc3NhZ2UgPSAnJztcbiAgfVxuXG4gIHNldFNlbGVjdGVkUmNMaXN0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkUmNMaXN0ID0gdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0LmZpbHRlcigocmM6IGFueSkgPT5cbiAgICAgIGV2ZW50LmluY2x1ZGVzKHJjPy5yY19pZClcbiAgICApO1xuICB9XG5cbiAgYWN0aXZhdGVTZWxlY3RvcihhY3RpdmU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmR1ZURhdGVDbGlja2VkID0gYWN0aXZlO1xuICAgIHRoaXMuZmllbGRDbGlja2VkLmVtaXQoYWN0aXZlID8gJ0NBU0VfUkVTT0xVVElPTl9ERUFETElORScgOiAnJyk7XG4gIH1cblxuICBnZXRXb3JrZmxvd0RldGFpbHMoKSB7XG4gICAgdGhpcy5yZXBvcnRBQ2FzZVNlcnZpY2Uud29ya2Zsb3ckLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcbiAgICAgIHRoaXMud29ya2Zsb3dEZXRhaWxzID0gcmVzPy5kYXRhPy53b3JrZmxvd19kZXRhaWxzO1xuICAgIH0pO1xuICB9XG5cbiAgaXNDYXNlUmVzb2x1dGlvbkRlYWRsaW5lRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaGFzQXNzaWduZWVzID0gdGhpcy5wYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8uYXNzaWduZWVzPy5sZW5ndGggPiAwO1xuICAgIGNvbnN0IGhhc0Fzc2lnbmVlR3JvdXBzID1cbiAgICAgIHRoaXMucGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/LmFzc2lnbmVlc19ncm91cD8ubGVuZ3RoID4gMDtcbiAgICBjb25zdCBoYXNWYWxpZFJjRGV0YWlscyA9XG4gICAgICB0aGlzLnBheWxvYWQ/LnJjX2RldGFpbHM/Lmlkcz8ubGVuZ3RoID09PSAxIHx8XG4gICAgICB0aGlzLnBheWxvYWQ/LnJjX2RldGFpbHM/Lm1haW5fcmNfaWQ7XG5cbiAgICByZXR1cm4gKFxuICAgICAgIWhhc1ZhbGlkUmNEZXRhaWxzIHx8XG4gICAgICAhdGhpcy5wYXlsb2FkPy5jYXNlX3R5cGU/LmlkIHx8XG4gICAgICAhdGhpcy5wYXlsb2FkPy5wcmlvcml0eT8uaWQgfHxcbiAgICAgICEoaGFzQXNzaWduZWVzIHx8IGhhc0Fzc2lnbmVlR3JvdXBzKSB8fFxuICAgICAgIXRoaXMucGF5bG9hZD8uY2FzZVRvV29ya2Zsb3c/Lm93bmVycz8ubGVuZ3RoIFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1yZXNvbHV0aW9uLWRlYWRsaW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3JlcG9ydC1hLWNhc2UvY29tcG9uZW50cy9jYXNlLXJlc29sdXRpb24tZGVhZGxpbmUvY2FzZS1yZXNvbHV0aW9uLWRlYWRsaW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixjQUFjLEVBQ2QsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixjQUFjLEdBQ2YsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7QUE0Qy9DLE1BQU0sT0FBTywrQkFBK0I7SUEyQjFDLElBQWEsZ0JBQWdCLENBQUMsS0FBVTtRQUN0QyxJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDO1FBQ3ZDLElBQUksS0FBSyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRTtZQUN4RCxJQUFJLENBQUMsYUFBYSxHQUFHO2dCQUNuQjtvQkFDRSxLQUFLLEVBQUUsWUFBWTtvQkFDbkIsS0FBSyxFQUFFLFlBQVk7aUJBQ3BCO2FBQ0YsQ0FBQztZQUNGLElBQUksQ0FBQyxLQUFLLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQztTQUN0QztJQUNILENBQUM7SUFNRCxZQUFvQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQTNDMUQsV0FBTSxHQUFHLE1BQU0sQ0FBQztRQUNoQixpQkFBWSxHQUFHLFdBQVcsQ0FBQztRQUMzQiw4QkFBeUIsR0FBVSxFQUFFLENBQUM7UUFDdEMsV0FBTSxHQUFRO1lBQ1osR0FBRyxtQkFBbUI7WUFDdEIsTUFBTSxFQUFFLFdBQVcsQ0FBQyxFQUFFO1lBQ3RCLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsV0FBVztZQUNoRSxLQUFLLEVBQUUsRUFBRTtZQUNULFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsWUFBWTtTQUNuRSxDQUFDO1FBQ0YsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDaEMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsbUJBQWMsR0FBRyxjQUFjLENBQUM7UUFDaEMsd0JBQW1CLEdBQUcsbUJBQW1CLENBQUM7UUFDMUMsVUFBSyxHQUFXLGNBQWMsQ0FBQyxLQUFLLENBQUM7UUFDckMsa0JBQWEsR0FBVSxFQUFFLENBQUM7UUFDMUIsbUJBQWMsR0FBVSxFQUFFLENBQUM7UUFDM0Isb0JBQWUsR0FBUSxFQUFFLENBQUM7UUFDMUIsOEJBQXlCLEdBQVEsRUFBRSxDQUFDO1FBQ3BDLGtCQUFhLEdBQUcsY0FBYyxDQUFDO1FBQy9CLG9CQUFlLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUUxRCxZQUFPLEdBQVEsRUFBRSxDQUFDO1FBQ2xCLGFBQVEsR0FBVSxFQUFFLENBQUM7UUFDckIsY0FBUyxHQUFVLEVBQUUsQ0FBQztRQUN0QixTQUFJLEdBQVcsRUFBRSxDQUFDO1FBYWxCLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBQzNCLG9CQUFlLEdBQVEsRUFBRSxDQUFDO1FBQ3pCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMxQyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBR25ELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsYUFBYSxHQUFHO1lBQ25CO2dCQUNFLEtBQUssRUFBRSxZQUFZO2dCQUNuQixLQUFLLEVBQUUsWUFBWTthQUNwQjtTQUNGLENBQUM7UUFDRixJQUFJLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUM7UUFDckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQzVELElBQUksQ0FBQyxlQUFlLENBQUMsc0JBQXNCLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBVTtRQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUN0RSxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FDMUIsQ0FBQztJQUNKLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUFlO1FBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO1FBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUN2RCxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0NBQWdDO1FBQzlCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0saUJBQWlCLEdBQ3JCLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQzVELE1BQU0saUJBQWlCLEdBQ3JCLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLEtBQUssQ0FBQztZQUMzQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUM7UUFFdkMsT0FBTyxDQUNMLENBQUMsaUJBQWlCO1lBQ2xCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsRUFBRTtZQUM1QixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDM0IsQ0FBQyxDQUFDLFlBQVksSUFBSSxpQkFBaUIsQ0FBQztZQUNwQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQzlDLENBQUM7SUFDSixDQUFDOytHQWhHVSwrQkFBK0I7bUdBQS9CLCtCQUErQiwyVkF2Q2hDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7cUJBb0NTOzs0RkFHUiwrQkFBK0I7a0JBekMzQyxTQUFTOytCQUNFLDhCQUE4QixZQUM5Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O3FCQW9DUzt5R0EwQlYsT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ08sZ0JBQWdCO3NCQUE1QixLQUFLO2dCQVlHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBU1NFVFMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvYXNzZXNzdHMuY29uc3RhbnRzJztcbmltcG9ydCB7XG4gIEFDVElPTl9DT0RFLFxuICBERUZBVUxUX0ZPUk1fQ09ORklHLFxuICBGSUVMRF9TRUxFQ1RPUixcbiAgUkVQT1JUX0NBU0UsXG4gIFNlbGVjdGlvblBvcHVwU3RhdGUsXG4gIFNlbGVjdGlvblN0YXRlLFxufSBmcm9tICcuLi8uLi9jb25zdGFudHMvcmVwb3J0LWNhc2UuY29uc3RhbnRzJztcbmltcG9ydCB7IFJlcG9ydEFDYXNlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JlcG9ydC1hLWNhc2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jYXNlLXJlc29sdXRpb24tZGVhZGxpbmUnLFxuICB0ZW1wbGF0ZTogYDxhcHAtZmllbGQtaG9sZGVyXG4gICAgICBbaW1hZ2VdPVwiQVNTRVRTLmNhc2VfcmVzb2x1dGlvbl9kZWFkbGluZVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZmllbGRTZWxlY3Rvcj8uaW5jbHVkZXMoZmllbGRTZWxlY3RlZClcIlxuICAgID5cbiAgICBcbiAgICAgICAgPGFwcC1mb3JtLXNlbGVjdEJveFxuICAgICAgICAgICBmaWVsZFxuICAgICAgICAgIFtjb25maWddPVwiY29uZmlnXCJcbiAgICAgICAgICBbc3RhdGVdPVwic3RhdGVcIlxuICAgICAgICAgIFtwb3B1cFN0YXRlXT1cIlNlbGVjdGlvblBvcHVwU3RhdGUuU0VMRUNUSU9OX0RJQUxPR1wiXG4gICAgICAgICAgW2NoaXBJdGVtc109XCJzZWxlY3RlZEl0ZW1zXCJcbiAgICAgICAgICBbcmVtb3ZhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgICAoZmllbGRDbGlja2VkKT1cImFjdGl2YXRlU2VsZWN0b3IoJGV2ZW50KVwiXG4gICAgICAgICAgW2lzRXJyb3JdPVwidmFsaWRhdGlvbkVycm9yLmNhc2VSZXNvbHV0aW9uRGVhZGxpbmUuaXNFcnJvclwiXG4gICAgICAgICAgW2Vycm9yTWVzc2FnZV09XCJ2YWxpZGF0aW9uRXJyb3IuY2FzZVJlc29sdXRpb25EZWFkbGluZS5tZXNzYWdlXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNDYXNlUmVzb2x1dGlvbkRlYWRsaW5lRGlzYWJsZWQoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXBwLXZjLWxhYmVsXG4gICAgICAgICAgICBsYWJlbFxuICAgICAgICAgICAgW2xhYmVsVGV4dF09XCJkdWVEYXRlVGV4dHMuY2FzZV9kZXRhaWxzLmR1ZV9kYXRlLnRpdGxlXCJcbiAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtzaG93SW5mb109XCJ0cnVlXCJcbiAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCJkdWVEYXRlSGVscFRleHRcIlxuICAgICAgICAgID48L2FwcC12Yy1sYWJlbD5cbiAgICAgICAgPC9hcHAtZm9ybS1zZWxlY3RCb3g+XG4gICAgPC9hcHAtZmllbGQtaG9sZGVyPlxuICAgIDxhcHAtZHVlLWRhdGVcbiAgICAgICpuZ0lmPVwiZHVlRGF0ZUNsaWNrZWRcIlxuICAgICAgKGNsb3NlRHVlRGF0ZUV2ZW50KT1cImFjdGl2YXRlU2VsZWN0b3IoZmFsc2UpXCJcbiAgICAgIFtwYXlsb2FkXT1cInBheWxvYWRcIlxuICAgICAgW3dvcmtmbG93RGV0YWlsc109XCJ3b3JrZmxvd0RldGFpbHNcIlxuICAgICAgW3VzZXJMaXN0XT1cInVzZXJMaXN0XCJcbiAgICAgIFtncm91cExpc3RdPVwiZ3JvdXBMaXN0XCJcbiAgICAgIFtpbml0aWFsU2VsZWN0aW9uXT1cImluaXRpYWxSZXNvbHV0aW9uRGVhZGxpbmVcIlxuICAgICAgW21vZGVdPVwibW9kZVwiXG4gICAgICAoY2xvc2VEdWVEYXRlUmVzb2x1dGlvbik9XCJzYXZlU2VsZWN0ZWREdWVEYXRlKClcIlxuICAgID48L2FwcC1kdWUtZGF0ZT5gLFxuICBzdHlsZVVybHM6IFsnLi4vLi4vLi4vZm9ybXMubGVzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDYXNlUmVzb2x1dGlvbkRlYWRsaW5lQ29tcG9uZW50IHtcbiAgQVNTRVRTID0gQVNTRVRTO1xuICBkdWVEYXRlVGV4dHMgPSBSRVBPUlRfQ0FTRTtcbiAgcmVzcG9uc2liaWxpdHlDZW50ZXJzTGlzdDogYW55W10gPSBbXTtcbiAgY29uZmlnOiBhbnkgPSB7XG4gICAgLi4uREVGQVVMVF9GT1JNX0NPTkZJRyxcbiAgICBhY3Rpb246IEFDVElPTl9DT0RFLlJDLFxuICAgIHBsYWNlaG9sZGVyOiB0aGlzLmR1ZURhdGVUZXh0cy5jYXNlX2RldGFpbHMuZHVlX2RhdGUucGxhY2Vob2xkZXIsXG4gICAgaXRlbXM6IFtdLFxuICAgIGRpc2FibGVkVGV4dDogdGhpcy5kdWVEYXRlVGV4dHMuY2FzZV9kZXRhaWxzLmR1ZV9kYXRlLmRpc2FibGVkVGV4dCxcbiAgfTtcbiAgZHVlRGF0ZUNsaWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcmNMaXN0TG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIFNlbGVjdGlvblN0YXRlID0gU2VsZWN0aW9uU3RhdGU7XG4gIFNlbGVjdGlvblBvcHVwU3RhdGUgPSBTZWxlY3Rpb25Qb3B1cFN0YXRlO1xuICBzdGF0ZTogc3RyaW5nID0gU2VsZWN0aW9uU3RhdGUuRU1QVFk7XG4gIHNlbGVjdGVkSXRlbXM6IGFueVtdID0gW107XG4gIHNlbGVjdGVkUmNMaXN0OiBhbnlbXSA9IFtdO1xuICB3b3JrZmxvd0RldGFpbHM6IGFueSA9IHt9O1xuICBpbml0aWFsUmVzb2x1dGlvbkRlYWRsaW5lOiBhbnkgPSB7fTtcbiAgZmllbGRTZWxlY3RvciA9IEZJRUxEX1NFTEVDVE9SO1xuICBkdWVEYXRlSGVscFRleHQgPSB0aGlzLmR1ZURhdGVUZXh0cy5jYXNlX2RldGFpbHMuZHVlX2RhdGUuaGVscFRleHQ7XG5cbiAgQElucHV0KCkgcGF5bG9hZDogYW55ID0ge307XG4gIEBJbnB1dCgpIHVzZXJMaXN0OiBhbnlbXSA9IFtdO1xuICBASW5wdXQoKSBncm91cExpc3Q6IGFueVtdID0gW107XG4gIEBJbnB1dCgpIG1vZGU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBzZXQgaW5pdGlhbFNlbGVjdGlvbih2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5pbml0aWFsUmVzb2x1dGlvbkRlYWRsaW5lID0gdmFsdWU7XG4gICAgaWYgKHZhbHVlPy5yZXNvbHV0aW9uX2RlYWRsaW5lPy5zdGFnZXNfYXNzaWduZWVzPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnQ29uZmlndXJlZCcsXG4gICAgICAgICAgdmFsdWU6ICdjb25maWd1cmVkJyxcbiAgICAgICAgfSxcbiAgICAgIF07XG4gICAgICB0aGlzLnN0YXRlID0gU2VsZWN0aW9uU3RhdGUuU0VMRUNURUQ7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpIGZpZWxkU2VsZWN0ZWQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSB2YWxpZGF0aW9uRXJyb3I6IGFueSA9IHt9O1xuICBAT3V0cHV0KCkgZmllbGRDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBmaWx0ZXJEZXNlbGVjdG9yID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXBvcnRBQ2FzZVNlcnZpY2U6IFJlcG9ydEFDYXNlU2VydmljZSkge1xuICAgIHRoaXMuZ2V0V29ya2Zsb3dEZXRhaWxzKCk7XG4gIH1cblxuICBzYXZlU2VsZWN0ZWREdWVEYXRlKCkge1xuICAgIHRoaXMuZHVlRGF0ZUNsaWNrZWQgPSBmYWxzZTtcbiAgICB0aGlzLmZpZWxkQ2xpY2tlZC5lbWl0KCcnKTtcbiAgICB0aGlzLmZpbHRlckRlc2VsZWN0b3IuZW1pdChmYWxzZSk7XG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gW1xuICAgICAge1xuICAgICAgICBsYWJlbDogJ0NvbmZpZ3VyZWQnLFxuICAgICAgICB2YWx1ZTogJ2NvbmZpZ3VyZWQnLFxuICAgICAgfSxcbiAgICBdO1xuICAgIHRoaXMuc3RhdGUgPSBTZWxlY3Rpb25TdGF0ZS5TRUxFQ1RFRDtcbiAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5jYXNlUmVzb2x1dGlvbkRlYWRsaW5lLmlzRXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLnZhbGlkYXRpb25FcnJvci5jYXNlUmVzb2x1dGlvbkRlYWRsaW5lLm1lc3NhZ2UgPSAnJztcbiAgfVxuXG4gIHNldFNlbGVjdGVkUmNMaXN0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkUmNMaXN0ID0gdGhpcy5yZXNwb25zaWJpbGl0eUNlbnRlcnNMaXN0LmZpbHRlcigocmM6IGFueSkgPT5cbiAgICAgIGV2ZW50LmluY2x1ZGVzKHJjPy5yY19pZClcbiAgICApO1xuICB9XG5cbiAgYWN0aXZhdGVTZWxlY3RvcihhY3RpdmU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmR1ZURhdGVDbGlja2VkID0gYWN0aXZlO1xuICAgIHRoaXMuZmllbGRDbGlja2VkLmVtaXQoYWN0aXZlID8gJ0NBU0VfUkVTT0xVVElPTl9ERUFETElORScgOiAnJyk7XG4gICAgdGhpcy5maWx0ZXJEZXNlbGVjdG9yLmVtaXQoYWN0aXZlID8gdHJ1ZSA6IGZhbHNlKTtcbiAgfVxuXG4gIGdldFdvcmtmbG93RGV0YWlscygpIHtcbiAgICB0aGlzLnJlcG9ydEFDYXNlU2VydmljZS53b3JrZmxvdyQuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xuICAgICAgdGhpcy53b3JrZmxvd0RldGFpbHMgPSByZXM/LmRhdGE/LndvcmtmbG93X2RldGFpbHM7XG4gICAgfSk7XG4gIH1cblxuICBpc0Nhc2VSZXNvbHV0aW9uRGVhZGxpbmVEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBoYXNBc3NpZ25lZXMgPSB0aGlzLnBheWxvYWQ/LmNhc2VUb1dvcmtmbG93Py5hc3NpZ25lZXM/Lmxlbmd0aCA+IDA7XG4gICAgY29uc3QgaGFzQXNzaWduZWVHcm91cHMgPVxuICAgICAgdGhpcy5wYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8uYXNzaWduZWVzX2dyb3VwPy5sZW5ndGggPiAwO1xuICAgIGNvbnN0IGhhc1ZhbGlkUmNEZXRhaWxzID1cbiAgICAgIHRoaXMucGF5bG9hZD8ucmNfZGV0YWlscz8uaWRzPy5sZW5ndGggPT09IDEgfHxcbiAgICAgIHRoaXMucGF5bG9hZD8ucmNfZGV0YWlscz8ubWFpbl9yY19pZDtcblxuICAgIHJldHVybiAoXG4gICAgICAhaGFzVmFsaWRSY0RldGFpbHMgfHxcbiAgICAgICF0aGlzLnBheWxvYWQ/LmNhc2VfdHlwZT8uaWQgfHxcbiAgICAgICF0aGlzLnBheWxvYWQ/LnByaW9yaXR5Py5pZCB8fFxuICAgICAgIShoYXNBc3NpZ25lZXMgfHwgaGFzQXNzaWduZWVHcm91cHMpIHx8XG4gICAgICAhdGhpcy5wYXlsb2FkPy5jYXNlVG9Xb3JrZmxvdz8ub3duZXJzPy5sZW5ndGggXG4gICAgKTtcbiAgfVxufVxuIl19