vcomply-workflow-engine 3.6.9 → 3.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.mjs +12 -2
- package/fesm2022/vcomply-workflow-engine.mjs +11 -1
- package/fesm2022/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.d.ts +1 -0
- package/lib/add-multiple-risk/add-multiple-risk.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -28,11 +28,13 @@ export class AddMultipleResponsibilityContainerComponent {
|
|
|
28
28
|
this.errorMessage = ' invalid file error';
|
|
29
29
|
this.member_obj_id = '';
|
|
30
30
|
this.deployedDate = 1677150875;
|
|
31
|
+
this.memberId = '';
|
|
31
32
|
this.closeWorkflow = new EventEmitter();
|
|
32
33
|
this.isResponsibilitySimplified = false;
|
|
33
34
|
}
|
|
34
35
|
ngOnInit() {
|
|
35
36
|
this.member_obj_id = this.authService.getUserDetails()._id;
|
|
37
|
+
this.memberId = this.authService.getUserDetails()?.user?.id;
|
|
36
38
|
this.bulkUploadFlag = this.feature.isFeatureEnabled('ff_bulk_responsibility');
|
|
37
39
|
this.isResponsibilitySimplified = this.feature.isFeatureEnabled('ff_responsibility_simplification');
|
|
38
40
|
}
|
|
@@ -93,6 +95,7 @@ export class AddMultipleResponsibilityContainerComponent {
|
|
|
93
95
|
const bstr = e.target.result;
|
|
94
96
|
const wb = XLSX.read(bstr, { type: 'binary' });
|
|
95
97
|
let sheetData = '';
|
|
98
|
+
let memberArray = [];
|
|
96
99
|
if (wb?.SheetNames?.length > 2) {
|
|
97
100
|
const sheetData = wb.SheetNames[4];
|
|
98
101
|
const tempData = wb.Sheets[sheetData];
|
|
@@ -100,6 +103,12 @@ export class AddMultipleResponsibilityContainerComponent {
|
|
|
100
103
|
header: 1,
|
|
101
104
|
});
|
|
102
105
|
const tempList = tData.filter((dataElement) => dataElement.length > 0);
|
|
106
|
+
for (let i = 0; i < tempList.length; i++) {
|
|
107
|
+
if (!tempList[i][3]) {
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
memberArray.push(tempList[i][3]);
|
|
111
|
+
}
|
|
103
112
|
const excelSheetName1 = wb.SheetNames[1];
|
|
104
113
|
const excelData1 = wb.Sheets[excelSheetName1];
|
|
105
114
|
const excelSheetName2 = wb.SheetNames[2];
|
|
@@ -136,7 +145,8 @@ export class AddMultipleResponsibilityContainerComponent {
|
|
|
136
145
|
this.isWrongFile = true;
|
|
137
146
|
return;
|
|
138
147
|
}
|
|
139
|
-
if (this.member_obj_id != templateInfo.memberId
|
|
148
|
+
if (this.member_obj_id != templateInfo.memberId ||
|
|
149
|
+
!memberArray.includes(this.memberId)) {
|
|
140
150
|
this.errorMessage =
|
|
141
151
|
'The incorrect file has been uploaded. Please upload the template which you downloaded from here.' +
|
|
142
152
|
' RETRY';
|
|
@@ -201,4 +211,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
201
211
|
}], orgDetails: [{
|
|
202
212
|
type: Input
|
|
203
213
|
}] } });
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW11bHRpcGxlLXJlc3BvbnNpYmlsaXR5LWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9hZGQtbXVsdGlwbGUtcmVzcG9uc2liaWxpdHktY29udGFpbmVyL2FkZC1tdWx0aXBsZS1yZXNwb25zaWJpbGl0eS1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvYWRkLW11bHRpcGxlLXJlc3BvbnNpYmlsaXR5LWNvbnRhaW5lci9hZGQtbXVsdGlwbGUtcmVzcG9uc2liaWxpdHktY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7O0FBYzdCLE1BQU0sT0FBTywyQ0FBMkM7SUF1QnRELFlBQ1UsV0FBMkIsRUFDM0IsV0FBd0IsRUFDeEIsaUJBQW9DO1FBRnBDLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUMzQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBekI5QyxtQkFBYyxHQUFXLGlCQUFpQixDQUFDO1FBQzNDLHFCQUFnQixHQUFXLGlCQUFpQixDQUFDO1FBQzdDLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBRXBCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbkIsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLDRCQUF1QixHQUFZLEtBQUssQ0FBQztRQUN6QywyQkFBc0IsR0FBWSxLQUFLLENBQUM7UUFDeEMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7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QU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxpQkFBaUI7UUFDZixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3JELElBQUksT0FBTyxFQUFFO1lBQ1gsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVELDhCQUE4QixDQUFDLEtBQVU7UUFDdkMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEtBQUssQ0FBQztRQUNyQyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7K0dBaE5VLDJDQUEyQzttR0FBM0MsMkNBQTJDLHdMQ2hCeEQsMm1PQTZGQTs7NEZEN0VhLDJDQUEyQztrQkFSdkQsU0FBUzsrQkFDRSwyQ0FBMkM7K0pBeUIzQyxhQUFhO3NCQUF0QixNQUFNO2dCQUNFLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBZGRSaXNrU2VydmljZSB9IGZyb20gJy4uL3dvcmtmbG93LXNlcnZpY2VzL2FkZC1yaXNrLnNlcnZpY2UnO1xyXG5pbXBvcnQgKiBhcyBYTFNYIGZyb20gJ3hsc3gnO1xyXG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL3dvcmtmbG93LXNlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IEJ1bGtVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYnVsay11cGxvYWQuc2VydmljZSc7XHJcbnR5cGUgQU9BID0gYW55W11bXTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFkZC1tdWx0aXBsZS1yZXNwb25zaWJpbGl0eS1jb250YWluZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtbXVsdGlwbGUtcmVzcG9uc2liaWxpdHktY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFtcclxuICAgICcuL2FkZC1tdWx0aXBsZS1yZXNwb25zaWJpbGl0eS1jb250YWluZXIuY29tcG9uZW50Lmxlc3MnLFxyXG4gICAgJy4uL2Zvcm1zLmxlc3MnLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRNdWx0aXBsZVJlc3BvbnNpYmlsaXR5Q29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBkb3dubG9hZFN0YXR1czogc3RyaW5nID0gJ05PVF9ET1dOTE9BRElORyc7XHJcbiAgZG93bmxvYWRTdGF0dXNWMjogc3RyaW5nID0gJ05PVF9ET1dOTE9BRElORyc7XHJcbiAgZG93bmxvYWRQZXJjZW50ID0gMDtcclxuICBmaWxlVmFsdWU6IGFueTtcclxuICBzaG93U21pbGV5ID0gZmFsc2U7XHJcbiAgcmVzcG9uc2liaWxpdHlEYXRhITogYW55O1xyXG4gIGZpbGVOYW1lID0gJyc7XHJcbiAgc2luZ2xlVGFiUmVzcG9uc2liaWxpdHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBtdWx0aVRhYlJlc3BvbnNpYmlsaXR5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNGaWxlRW1wdHkgPSBmYWxzZTtcclxuICBpc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gIGlzV3JvbmdGb3JtYXQgPSBmYWxzZTtcclxuICBlcnJvck1lc3NhZ2UgPSAnIGludmFsaWQgZmlsZSBlcnJvcic7XHJcbiAgbWVtYmVyX29ial9pZCA9ICcnO1xyXG4gIGJ1bGtVcGxvYWRGbGFnITogYm9vbGVhbjtcclxuICBkZXBsb3llZERhdGU6IG51bWJlciA9IDE2NzcxNTA4NzU7XHJcblxyXG4gIEBPdXRwdXQoKSBjbG9zZVdvcmtmbG93ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBJbnB1dCgpIGZlYXR1cmUhOiBhbnk7XHJcbiAgQElucHV0KCkgb3JnRGV0YWlscyE6IGFueTtcclxuICBpc1Jlc3BvbnNpYmlsaXR5U2ltcGxpZmllZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmlza1NlcnZpY2U6IEFkZFJpc2tTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGJ1bGtVcGxvYWRTZXJ2aWNlOiBCdWxrVXBsb2FkU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLm1lbWJlcl9vYmpfaWQgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldFVzZXJEZXRhaWxzKCkuX2lkO1xyXG4gICAgdGhpcy5idWxrVXBsb2FkRmxhZyA9IHRoaXMuZmVhdHVyZS5pc0ZlYXR1cmVFbmFibGVkKFxyXG4gICAgICAnZmZfYnVsa19yZXNwb25zaWJpbGl0eSdcclxuICAgICk7XHJcbiAgICB0aGlzLmlzUmVzcG9uc2liaWxpdHlTaW1wbGlmaWVkID0gdGhpcy5mZWF0dXJlLmlzRmVhdHVyZUVuYWJsZWQoXHJcbiAgICAgICdmZl9yZXNwb25zaWJpbGl0eV9zaW1wbGlmaWNhdGlvbidcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBkb3dubG9hZFRlbXBsYXRlKHZlcnNpb24/OiBhbnkpIHtcclxuICAgIHZlcnNpb24gIT09ICd2MidcclxuICAgICAgPyAodGhpcy5kb3dubG9hZFN0YXR1cyA9ICdET1dOTE9BRElORycpXHJcbiAgICAgIDogKHRoaXMuZG93bmxvYWRTdGF0dXNWMiA9ICdET1dOTE9BRElORycpO1xyXG4gICAgdGhpcy5kb3dubG9hZFBlcmNlbnQgPSAwO1xyXG4gICAgY29uc3QgZG93bmxvYWREYXRlID0gbmV3IERhdGUoKS50b0RhdGVTdHJpbmcoKS5zcGxpdCgnICcpO1xyXG4gICAgY29uc3QgZmlsZU5hbWUgPSBgRW50cnVzdCBSZXNwb25zaWJpbGl0aWVzLSR7ZG93bmxvYWREYXRlWzJdfS0ke2Rvd25sb2FkRGF0ZVsxXX0tJHtkb3dubG9hZERhdGVbM119Lnhsc3hgO1xyXG5cclxuICAgIHRoaXMucmlza1NlcnZpY2UuZG93bmxvYWRSZXNwb25zaWJpbGl0eVRlbXBsYXRlKHZlcnNpb24pLnN1YnNjcmliZShcclxuICAgICAgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChkYXRhLmxvYWRlZCkge1xyXG4gICAgICAgICAgdGhpcy5kb3dubG9hZFBlcmNlbnQgPSAxMDAgKiAoZGF0YS5sb2FkZWQgLyBkYXRhLnRvdGFsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRhdGEuYm9keSkge1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRvd25sb2FkU3RhdHVzID0gdGhpcy5yaXNrU2VydmljZS5kb3duTG9hZEZpbGUoXHJcbiAgICAgICAgICAgICAgZGF0YS5ib2R5LFxyXG4gICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94bHN4JyxcclxuICAgICAgICAgICAgICBmaWxlTmFtZVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB2ZXJzaW9uICE9PSAndjInXHJcbiAgICAgICAgICAgICAgPyAodGhpcy5kb3dubG9hZFN0YXR1cyA9IGRvd25sb2FkU3RhdHVzKVxyXG4gICAgICAgICAgICAgIDogKHRoaXMuZG93bmxvYWRTdGF0dXNWMiA9IGRvd25sb2FkU3RhdHVzKTtcclxuICAgICAgICAgIH0sIDE1MDApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICAgICAgdmVyc2lvbiAhPT0gJ3YyJ1xyXG4gICAgICAgICAgPyAodGhpcy5kb3dubG9hZFN0YXR1cyA9ICdET1dOTE9BREVEJylcclxuICAgICAgICAgIDogKHRoaXMuZG93bmxvYWRTdGF0dXNWMiA9ICdET1dOTE9BREVEJyk7XHJcbiAgICAgICAgLy8gdGhpcy5kb3dubG9hZFN0YXR1cyA9ICdET1dOTE9BREVEJztcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHVwbG9hZGVkRmlsZURhdGEhOiBhbnk7XHJcblxyXG4gIHVwbG9hZGVkRmlsZShldmVudDogYW55KSB7XHJcbiAgICB0cnkge1xyXG4gICAgICB0aGlzLmlzRmlsZUVtcHR5ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaXNXcm9uZ0ZpbGUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gZmFsc2U7XHJcbiAgICAgIGxldCBpc0VtcHR5ID0gZmFsc2U7XHJcbiAgICAgIGxldCBpc0NvcnJlY3RGaWxlID0gdHJ1ZTtcclxuICAgICAgbGV0IHJlc3BvbnNpYmlsaXR5QnVsa1VwbG9hZCA9IHtcclxuICAgICAgICBoZWFkZXI6IFtdLFxyXG4gICAgICAgIHJlcG9ydHM6IFtdLFxyXG4gICAgICB9O1xyXG4gICAgICBsZXQgdGVtcGxhdGVJbmZvID0ge1xyXG4gICAgICAgIGNhdGVnb3J5TGlzdDogW10sXHJcbiAgICAgICAgcmNMaXN0OiBbXSxcclxuICAgICAgICBhc3NpZ25vcnNMaXN0OiBbXSxcclxuICAgICAgICBhc3NpZ25lZXNMaXN0OiBbXSxcclxuICAgICAgICBtZW1iZXJJZDogJycsXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuZmlsZU5hbWUgPSBldmVudC50YXJnZXQuZmlsZXNbMF0ubmFtZTtcclxuICAgICAgLy8gdGhpcy51cGxvYWRlZEZpbGVzLnB1c2goZXZlbnQudGFyZ2V0LmZpbGVzKTtcclxuICAgICAgdGhpcy51cGxvYWRlZEZpbGVEYXRhID0gZXZlbnQ7XHJcbiAgICAgIGNvbnN0IHRhcmdldDogRGF0YVRyYW5zZmVyID0gZXZlbnQudGFyZ2V0IGFzIERhdGFUcmFuc2ZlcjtcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBjdXJseVxyXG4gICAgICBpZiAodGFyZ2V0LmZpbGVzLmxlbmd0aCAhPT0gMSlcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCB1c2UgbXVsdGlwbGUgZmlsZXMnKTtcclxuICAgICAgY29uc3QgcmVhZGVyOiBGaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgcmVhZGVyLm9ubG9hZCA9IChlOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBic3RyOiBzdHJpbmcgPSBlLnRhcmdldC5yZXN1bHQ7XHJcbiAgICAgICAgY29uc3Qgd2I6IFhMU1guV29ya0Jvb2sgPSBYTFNYLnJlYWQoYnN0ciwgeyB0eXBlOiAnYmluYXJ5JyB9KTtcclxuICAgICAgICBsZXQgc2hlZXREYXRhID0gJyc7XHJcbiAgICAgICAgaWYgKHdiPy5TaGVldE5hbWVzPy5sZW5ndGggPiAyKSB7XHJcbiAgICAgICAgICBjb25zdCBzaGVldERhdGEgPSB3Yi5TaGVldE5hbWVzWzRdO1xyXG4gICAgICAgICAgY29uc3QgdGVtcERhdGE6IFhMU1guV29ya1NoZWV0ID0gd2IuU2hlZXRzW3NoZWV0RGF0YV07XHJcbiAgICAgICAgICBjb25zdCB0RGF0YSA9IFhMU1gudXRpbHMuc2hlZXRfdG9fanNvbih0ZW1wRGF0YSwge1xyXG4gICAgICAgICAgICBoZWFkZXI6IDEsXHJcbiAgICAgICAgICB9KSBhcyBBT0E7XHJcbiAgICAgICAgICBjb25zdCB0ZW1wTGlzdCA9IHREYXRhLmZpbHRlcihcclxuICAgICAgICAgICAgKGRhdGFFbGVtZW50OiBhbnkpID0+IGRhdGFFbGVtZW50Lmxlbmd0aCA+IDBcclxuICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgY29uc3QgZXhjZWxTaGVldE5hbWUxID0gd2IuU2hlZXROYW1lc1sxXTtcclxuICAgICAgICAgIGNvbnN0IGV4Y2VsRGF0YTE6IFhMU1guV29ya1NoZWV0ID0gd2IuU2hlZXRzW2V4Y2VsU2hlZXROYW1lMV07XHJcbiAgICAgICAgICBjb25zdCBleGNlbFNoZWV0TmFtZTIgPSB3Yi5TaGVldE5hbWVzWzJdO1xyXG4gICAgICAgICAgY29uc3QgZXhjZWxEYXRhMjogWExTWC5Xb3JrU2hlZXQgPSB3Yi5TaGVldHNbZXhjZWxTaGVldE5hbWUyXTtcclxuICAgICAgICAgIGNvbnN0IGV4Y2VsU2hlZXROYW1lMyA9IHdiLlNoZWV0TmFtZXNbM107XHJcbiAgICAgICAgICBjb25zdCBleGNlbERhdGEzOiBYTFNYLldvcmtTaGVldCA9IHdiLlNoZWV0c1tleGNlbFNoZWV0TmFtZTNdO1xyXG4gICAgICAgICAgaXNFbXB0eSA9XHJcbiAgICAgICAgICAgIHRoaXMuYnVsa1VwbG9hZFNlcnZpY2UuaGFzRGF0YUluTGlzdChleGNlbERhdGExLCA3KSAmJlxyXG4gICAgICAgICAgICB0aGlzLmJ1bGtVcGxvYWRTZXJ2aWNlLmhhc0RhdGFJbkxpc3QoZXhjZWxEYXRhMiwgNykgJiZcclxuICAgICAgICAgICAgdGhpcy5idWxrVXBsb2FkU2VydmljZS5oYXNEYXRhSW5MaXN0KGV4Y2VsRGF0YTMsIDcpO1xyXG4gICAgICAgICAgaXNDb3JyZWN0RmlsZSA9XHJcbiAgICAgICAgICAgIHRoaXMuYnVsa1VwbG9hZFNlcnZpY2UuY2hlY2tDb3JyZWN0RmlsZShleGNlbERhdGExLCAyKSB8fFxyXG4gICAgICAgICAgICB0aGlzLmJ1bGtVcGxvYWRTZXJ2aWNlLmNoZWNrQ29ycmVjdEZpbGUoZXhjZWxEYXRhMiwgMikgfHxcclxuICAgICAgICAgICAgdGhpcy5idWxrVXBsb2FkU2VydmljZS5jaGVja0NvcnJlY3RGaWxlKGV4Y2VsRGF0YTMsIDIpO1xyXG4gICAgICAgICAgdGVtcGxhdGVJbmZvLm1lbWJlcklkID0gdGVtcExpc3RbMF1bMThdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBzaGVldERhdGEgPSB3Yi5TaGVldE5hbWVzWzFdO1xyXG4gICAgICAgICAgY29uc3QgdGVtcERhdGE6IFhMU1guV29ya1NoZWV0ID0gd2IuU2hlZXRzW3NoZWV0RGF0YV07XHJcbiAgICAgICAgICBjb25zdCB0RGF0YSA9IFhMU1gudXRpbHMuc2hlZXRfdG9fanNvbih0ZW1wRGF0YSwge1xyXG4gICAgICAgICAgICBoZWFkZXI6IDEsXHJcbiAgICAgICAgICB9KSBhcyBBT0E7XHJcbiAgICAgICAgICBjb25zdCB0ZW1wTGlzdCA9IHREYXRhLmZpbHRlcihcclxuICAgICAgICAgICAgKGRhdGFFbGVtZW50OiBhbnkpID0+IGRhdGFFbGVtZW50Lmxlbmd0aCA+IDBcclxuICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgY29uc3QgZXhjZWxTaGVldE5hbWUgPSB3Yi5TaGVldE5hbWVzWzBdO1xyXG4gICAgICAgICAgY29uc3QgZXhjZWxEYXRhOiBYTFNYLldvcmtTaGVldCA9IHdiLlNoZWV0c1tleGNlbFNoZWV0TmFtZV07XHJcbiAgICAgICAgICBpc0VtcHR5ID0gdGhpcy5idWxrVXBsb2FkU2VydmljZS5oYXNEYXRhSW5MaXN0KGV4Y2VsRGF0YSwgMik7XHJcbiAgICAgICAgICBpc0NvcnJlY3RGaWxlID0gdGhpcy5idWxrVXBsb2FkU2VydmljZS5jaGVja0NvcnJlY3RGaWxlKGV4Y2VsRGF0YSwgMCk7XHJcbiAgICAgICAgICB0ZW1wbGF0ZUluZm8ubWVtYmVySWQgPSB0ZW1wTGlzdFswXVsyNV07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5maWxlTmFtZS5zdWJzdHIoLTUpICE9PSAnLnhsc3gnKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9XHJcbiAgICAgICAgICAgICdUaGUgaW5jb3JyZWN0IGZpbGUgaGFzIGJlZW4gdXBsb2FkZWQuIFBsZWFzZSB1cGxvYWQgdGhlIHRlbXBsYXRlIHdoaWNoIHlvdSBkb3dubG9hZGVkIGZyb20gaGVyZS4nICtcclxuICAgICAgICAgICAgJyBSRVRSWSc7XHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGaWxlID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMubWVtYmVyX29ial9pZCAhPSB0ZW1wbGF0ZUluZm8ubWVtYmVySWQpIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID1cclxuICAgICAgICAgICAgJ1RoZSBpbmNvcnJlY3QgZmlsZSBoYXMgYmVlbiB1cGxvYWRlZC4gUGxlYXNlIHVwbG9hZCB0aGUgdGVtcGxhdGUgd2hpY2ggeW91IGRvd25sb2FkZWQgZnJvbSBoZXJlLicgK1xyXG4gICAgICAgICAgICAnIFJFVFJZJztcclxuICAgICAgICAgIHRoaXMuaXNXcm9uZ0ZpbGUgPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaXNFbXB0eSkge1xyXG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPVxyXG4gICAgICAgICAgICAnWW91IGhhdmUgdXBsb2FkZWQgYSBibGFuayB0ZW1wbGF0ZS4gUGxlYXNlIGFkZCBkZXRhaWxzIGZvciBhbGwgbWFuZGF0b3J5IGZpZWxkcy4gUkVUUlknO1xyXG4gICAgICAgICAgdGhpcy5pc0ZpbGVFbXB0eSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGaWxlID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGb3JtYXQgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuZmlsZVZhbHVlID0gJyc7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghaXNDb3JyZWN0RmlsZSkge1xyXG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPVxyXG4gICAgICAgICAgICAnVGhlIGluY29ycmVjdCBmaWxlIGhhcyBiZWVuIHVwbG9hZGVkLiBQbGVhc2UgdXBsb2FkIHRoZSB0ZW1wbGF0ZSB3aGljaCB5b3UgZG93bmxvYWRlZCBmcm9tIGhlcmUuJyArXHJcbiAgICAgICAgICAgICcgUkVUUlknO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHdiPy5TaGVldE5hbWVzPy5sZW5ndGggPiAyKSB7XHJcbiAgICAgICAgICB0aGlzLm11bHRpVGFiUmVzcG9uc2liaWxpdHkgPSB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnNpbmdsZVRhYlJlc3BvbnNpYmlsaXR5ID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICAgIHJlYWRlci5yZWFkQXNCaW5hcnlTdHJpbmcodGFyZ2V0LmZpbGVzWzBdKTtcclxuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VTbWlsZXkoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5zaG93U21pbGV5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNsb3NlV29ya2Zsb3cuZW1pdCh7IGV2dDogdGhpcy5yZXNwb25zaWJpbGl0eURhdGEsIGNvbmZpcm06IGZhbHNlIH0pO1xyXG4gIH1cclxuXHJcbiAgdHJpZ2dlckJyb3dzZUZpbGUoKSB7XHJcbiAgICBjb25zdCBnZXRGaWxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpbGVJbnB1dCcpO1xyXG4gICAgaWYgKGdldEZpbGUpIHtcclxuICAgICAgZ2V0RmlsZS5jbGljaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2VBZGRNdWx0aXBsZVJlc3BvbnNpYmlsaXR5KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2luZ2xlVGFiUmVzcG9uc2liaWxpdHkgPSBmYWxzZTtcclxuICAgIHRoaXMubXVsdGlUYWJSZXNwb25zaWJpbGl0eSA9IGZhbHNlO1xyXG4gICAgdGhpcy5maWxlVmFsdWUgPSAnJztcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImFkZC1tdWx0aXBsZS1yaXNrXCIgW2F0dHIuaWRdPVwiJ3Njcm9sbFJlZmVyZW5jZSdcIiA+XHJcbiAgICA8IS0tIG1haW4gY29udGFpbmVyIHN0YXJ0cyBoZXJlIC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cImFkZC1tdWx0aXBsZS1yaXNrLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWRkLW11bHRpcGxlLXJpc2stY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL2Nkbi52LWNvbXBseS5jb20vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvc3ByZWFkc2hlZXQtbXVsdGlwbGUtY2F0ZWdvcnkuc3ZnXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxoND5Zb3UgY2FuIGVudHJ1c3QgbXVsdGlwbGUgcmVzcG9uc2liaWxpdGllcyBpbiBqdXN0IHR3byBlYXN5IHN0ZXBzOjwvaDQ+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImxpc3RcIj5cclxuICAgICAgICAgICAgICAgIDxsaT5Eb3dubG9hZCB0aGUgdGVtcGxhdGUgYW5kIGZpbGwgaW4gdGhlIGRldGFpbHMuPC9saT5cclxuICAgICAgICAgICAgICAgIDxsaT5VcGxvYWQgdGhlIC54bHN4IGZpbGUgYW5kIHlvdeKAmXJlIGdvb2QgdG8gZ28hPC9saT5cclxuICAgICAgICAgICAgPC91bD5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gYm90aCBvbGQgYW5kIG5ldyB0ZW1wbGF0ZSAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRvd25sb2FkLWJ0blwiICpuZ0lmPVwiKGZlYXR1cmUuaXNGZWF0dXJlRW5hYmxlZCgnZmZfYm90aF9idWxrX3Jlc3BvbnNpYmlsaXR5JykgJiYgIWZlYXR1cmUuaXNGZWF0dXJlRW5hYmxlZCgnZmZfYnVsa19yZXNwb25zaWJpbGl0eScpKSAmJiBvcmdEZXRhaWxzPy5kb2NfdXRjIDwgZGVwbG95ZWREYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZG93bmxvYWRcIiAqbmdJZj1cImRvd25sb2FkU3RhdHVzID09PSAnTk9UX0RPV05MT0FESU5HJ1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZG93bmxvYWRUZW1wbGF0ZSgpXCIgdHlwZT1cImJ1dHRvblwiPjxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTFiOzwvaT4gRG93bmxvYWQgRXhpc3RpbmcgVGVtcGxhdGU8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkb3dubG9hZFN0YXR1cyA9PT0gJ0RPV05MT0FESU5HJ1wiIGNsYXNzPVwiYnVsay1idG4tcHJvZ3Jlc3NcIj5cclxuICAgICAgICAgICAgICAgICAgICBEb3dubG9hZCBpbiBQcm9ncmVzc1xyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtbGluZS1sb2FkZXIgW2xvYWRlckhlaWdodF09XCInMidcIj48L2FwcC1saW5lLWxvYWRlcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwiZG93bmxvYWRTdGF0dXMgPT09ICdET1dOTE9BREVEJ1wiIGNsYXNzPVwiYnVsay1idG4tcHJvZ3Jlc3MgY29tcGxldGVcIj48aSBjbGFzcz1cImljb25zXCI+JiN4ZTkxYzs8L2k+RG93bmxvYWQgQ29tcGxldGUgLSZuYnNwOzxidXR0b24gKGNsaWNrKT1cImRvd25sb2FkVGVtcGxhdGUoKVwiPlJldHJ5IERvd25sb2FkPC9idXR0b24+PC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRvd25sb2FkU3RhdHVzID09PSAnRE9XTkxPQURFRCdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnVsay1idG4tcHJvZ3Jlc3NcIj48aSBjbGFzcz1cImljb25zXCI+JiN4ZTkxYzs8L2k+RG93bmxvYWQgQ29tcGxldGU8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnVsay1idG4tYWdhaW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgSXMgdGhlIGZpbGUgbm90IGRvd25sb2FkZWQ/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImRvd25sb2FkVGVtcGxhdGUoKVwiPlJldHJ5IERvd25sb2FkPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3JEaXZcIj5PUjwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJkb3dubG9hZFwiICpuZ0lmPVwiZG93bmxvYWRTdGF0dXNWMiA9PT0gJ05PVF9ET1dOTE9BRElORydcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImRvd25sb2FkVGVtcGxhdGUoJ3YyJylcIiB0eXBlPVwiYnV0dG9uXCI+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MWI7PC9pPiBEb3dubG9hZCBOZXcgVGVtcGxhdGU8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkb3dubG9hZFN0YXR1c1YyID09PSAnRE9XTkxPQURJTkcnXCIgY2xhc3M9XCJidWxrLWJ0bi1wcm9ncmVzc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIERvd25sb2FkIGluIFByb2dyZXNzXHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1saW5lLWxvYWRlciBbbG9hZGVySGVpZ2h0XT1cIicyJ1wiPjwvYXBwLWxpbmUtbG9hZGVyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxkaXYgKm5nSWY9XCJkb3dubG9hZFN0YXR1c1YyID09PSAnRE9XTkxPQURFRCdcIiBjbGFzcz1cImJ1bGstYnRuLXByb2dyZXNzIGNvbXBsZXRlXCI+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MWM7PC9pPkRvd25sb2FkIENvbXBsZXRlIC0mbmJzcDs8YnV0dG9uIChjbGljayk9XCJkb3dubG9hZFRlbXBsYXRlKCd2MicpXCI+UmV0cnkgRG93bmxvYWQ8L2J1dHRvbj48L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZG93bmxvYWRTdGF0dXNWMiA9PT0gJ0RPV05MT0FERUQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1bGstYnRuLXByb2dyZXNzXCI+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MWM7PC9pPkRvd25sb2FkIENvbXBsZXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1bGstYnRuLWFnYWluXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIElzIHRoZSBmaWxlIG5vdCBkb3dubG9hZGVkP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJkb3dubG9hZFRlbXBsYXRlKCd2MicpXCI+UmV0cnkgRG93bmxvYWQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gb25seSBmb3IgbmV3IHRlbXBsYXRlIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG93bmxvYWQtYnRuXCIgKm5nSWY9XCIoZmVhdHVyZS5pc0ZlYXR1cmVFbmFibGVkKCdmZl9idWxrX3Jlc3BvbnNpYmlsaXR5JykgJiYgIWZlYXR1cmUuaXNGZWF0dXJlRW5hYmxlZCgnZmZfYm90aF9idWxrX3Jlc3BvbnNpYmlsaXR5JykpIHx8IChmZWF0dXJlLmlzRmVhdHVyZUVuYWJsZWQoJ2ZmX2J1bGtfcmVzcG9uc2liaWxpdHknKSAmJiBmZWF0dXJlLmlzRmVhdHVyZUVuYWJsZWQoJ2ZmX2JvdGhfYnVsa19yZXNwb25zaWJpbGl0eScpKSB8fCBvcmdEZXRhaWxzPy5kb2NfdXRjID4gZGVwbG95ZWREYXRlXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZG93bmxvYWRcIiAqbmdJZj1cImRvd25sb2FkU3RhdHVzVjIgPT09ICdOT1RfRE9XTkxPQURJTkcnXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJkb3dubG9hZFRlbXBsYXRlKCd2MicpXCIgdHlwZT1cImJ1dHRvblwiPjxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTFiOzwvaT4gRG93bmxvYWQgVGVtcGxhdGU8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkb3dubG9hZFN0YXR1c1YyID09PSAnRE9XTkxPQURJTkcnXCIgY2xhc3M9XCJidWxrLWJ0bi1wcm9ncmVzc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIERvd25sb2FkIGluIFByb2dyZXNzXHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1saW5lLWxvYWRlciBbbG9hZGVySGVpZ2h0XT1cIicyJ1wiPjwvYXBwLWxpbmUtbG9hZGVyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxkaXYgKm5nSWY9XCJkb3dubG9hZFN0YXR1c1YyID09PSAnRE9XTkxPQURFRCdcIiBjbGFzcz1cImJ1bGstYnRuLXByb2dyZXNzIGNvbXBsZXRlXCI+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MWM7PC9pPkRvd25sb2FkIENvbXBsZXRlIC0mbmJzcDs8YnV0dG9uIChjbGljayk9XCJkb3dubG9hZFRlbXBsYXRlKCd2MicpXCI+UmV0cnkgRG93bmxvYWQ8L2J1dHRvbj48L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZG93bmxvYWRTdGF0dXNWMiA9PT0gJ0RPV05MT0FERUQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1bGstYnRuLXByb2dyZXNzXCI+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MWM7PC9pPkRvd25sb2FkIENvbXBsZXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1bGstYnRuLWFnYWluXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIElzIHRoZSBmaWxlIG5vdCBkb3dubG9hZGVkP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJkb3dubG9hZFRlbXBsYXRlKCd2MicpXCI+UmV0cnkgRG93bmxvYWQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gb25seSBmb3Igb2xkIHRlbXBsYXRlIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG93bmxvYWQtYnRuXCIgKm5nSWY9XCIoIWZlYXR1cmUuaXNGZWF0dXJlRW5hYmxlZCgnZmZfYnVsa19yZXNwb25zaWJpbGl0eScpICYmICFmZWF0dXJlLmlzRmVhdHVyZUVuYWJsZWQoJ2ZmX2JvdGhfYnVsa19yZXNwb25zaWJpbGl0eScpKVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImRvd25sb2FkXCIgKm5nSWY9XCJkb3dubG9hZFN0YXR1cyA9PT0gJ05PVF9ET1dOTE9BRElORydcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImRvd25sb2FkVGVtcGxhdGUoKVwiIHR5cGU9XCJidXR0b25cIj48aSBjbGFzcz1cImljb25zXCI+JiN4ZTkxYjs8L2k+IERvd25sb2FkIFRlbXBsYXRlPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnVsay1idG4tcHJvZ3Jlc3NcIiAqbmdJZj1cImRvd25sb2FkU3RhdHVzID09PSAnRE9XTkxPQURJTkcnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgRG93bmxvYWQgaW4gUHJvZ3Jlc3NcclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWxpbmUtbG9hZGVyIFtsb2FkZXJIZWlnaHRdPVwiJzInXCI+PC9hcHAtbGluZS1sb2FkZXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkb3dubG9hZFN0YXR1cyA9PT0gJ0RPV05MT0FERUQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1bGstYnRuLXByb2dyZXNzXCI+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MWM7PC9pPkRvd25sb2FkIENvbXBsZXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1bGstYnRuLWFnYWluXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIElzIHRoZSBmaWxlIG5vdCBkb3dubG9hZGVkP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJkb3dubG9hZFRlbXBsYXRlKClcIj5SZXRyeSBEb3dubG9hZDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8cCBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImlzV3JvbmdGaWxlIHx8IGlzV3JvbmdGb3JtYXR8fCBpc0ZpbGVFbXB0eVwiXHJcbiAgICAgICAgICAgID57e2Vycm9yTWVzc2FnZX19PC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGlucHV0IHR5cGU9XCJmaWxlXCIgWyhuZ01vZGVsKV09XCJmaWxlVmFsdWVcIiBpZD1cImZpbGVJbnB1dFwiIGNsYXNzPVwiaGlkZGVuLWlucHV0XCIgYWNjZXB0PVwiLnhsc3hcIiAoY2hhbmdlKT1cInVwbG9hZGVkRmlsZSgkZXZlbnQpXCIgbXVsdGlwbGUgLz5cclxuPGFwcC1zbWlsZXktZGlhbG9nLWlubGluZSAqbmdJZj1cInNob3dTbWlsZXlcIiBbbWVzc2FnZV09XCJzbWlsZXlNZXNzYWdlXCIgW2FjdGlvbkJ1dHRvbnNdPVwiYWN0aW9uQnV0dG9uc1wiIChhY3Rpb24pPVwiYWN0aW9uKCRldmVudClcIiAoY2xvc2VTbWlsZXkpPVwiY2xvc2VTbWlsZXkoJGV2ZW50KVwiPjwvYXBwLXNtaWxleS1kaWFsb2ctaW5saW5lPlxyXG5cclxuPGFwcC1hZGQtbXVsdGlwbGUtcmVzcG9uc2liaWxpdHkgKm5nSWY9XCJzaW5nbGVUYWJSZXNwb25zaWJpbGl0eVwiIFt1cGxvYWRlZEZpbGVdPVwidXBsb2FkZWRGaWxlRGF0YVwiIChjbG9zZUFkZE11bHRpcGxlUmVzcG9uc2liaWxpdHkpPVwiY2xvc2VBZGRNdWx0aXBsZVJlc3BvbnNpYmlsaXR5KCRldmVudClcIiBbZmVhdHVyZWZsYWddPVwiaXNSZXNwb25zaWJpbGl0eVNpbXBsaWZpZWRcIiBbZmVhdHVyZV09XCJmZWF0dXJlXCI+PC9hcHAtYWRkLW11bHRpcGxlLXJlc3BvbnNpYmlsaXR5PlxyXG48bGliLWFkZC1tdWx0aXBsZS1yZXNwb25zaWJpbGl0eS13aXRoLXRhYiAqbmdJZj1cIm11bHRpVGFiUmVzcG9uc2liaWxpdHlcIiBbb3JnRGV0YWlsc109XCJvcmdEZXRhaWxzXCIgW3VwbG9hZGVkRmlsZV09XCJ1cGxvYWRlZEZpbGVEYXRhXCIgKGNsb3NlQWRkTXVsdGlwbGVSZXNwb25zaWJpbGl0eSk9XCJjbG9zZUFkZE11bHRpcGxlUmVzcG9uc2liaWxpdHkoJGV2ZW50KVwiIFtmZWF0dXJlZmxhZ109XCJpc1Jlc3BvbnNpYmlsaXR5U2ltcGxpZmllZFwiIFtmZWF0dXJlXT1cImZlYXR1cmVcIj48L2xpYi1hZGQtbXVsdGlwbGUtcmVzcG9uc2liaWxpdHktd2l0aC10YWI+XHJcbiJdfQ==
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW11bHRpcGxlLXJlc3BvbnNpYmlsaXR5LWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9hZGQtbXVsdGlwbGUtcmVzcG9uc2liaWxpdHktY29udGFpbmVyL2FkZC1tdWx0aXBsZS1yZXNwb25zaWJpbGl0eS1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvYWRkLW11bHRpcGxlLXJlc3BvbnNpYmlsaXR5LWNvbnRhaW5lci9hZGQtbXVsdGlwbGUtcmVzcG9uc2liaWxpdHktY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7O0FBYzdCLE1BQU0sT0FBTywyQ0FBMkM7SUF3QnRELFlBQ1UsV0FBMkIsRUFDM0IsV0FBd0IsRUFDeEIsaUJBQW9DO1FBRnBDLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUMzQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBMUI5QyxtQkFBYyxHQUFXLGlCQUFpQixDQUFDO1FBQzNDLHFCQUFnQixHQUFXLGlCQUFpQixDQUFDO1FBQzdDLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBRXBCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbkIsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLDRCQUF1QixHQUFZLEtBQUssQ0FBQztRQUN6QywyQkFBc0IsR0FBWSxLQUFLLENBQUM7UUFDeEMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7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LEVBQUUsQ0FBQztJQUN0QixDQUFDOytHQTNOVSwyQ0FBMkM7bUdBQTNDLDJDQUEyQyx3TENoQnhELDJtT0E2RkE7OzRGRDdFYSwyQ0FBMkM7a0JBUnZELFNBQVM7K0JBQ0UsMkNBQTJDOytKQTBCM0MsYUFBYTtzQkFBdEIsTUFBTTtnQkFDRSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWRkUmlza1NlcnZpY2UgfSBmcm9tICcuLi93b3JrZmxvdy1zZXJ2aWNlcy9hZGQtcmlzay5zZXJ2aWNlJztcclxuaW1wb3J0ICogYXMgWExTWCBmcm9tICd4bHN4JztcclxuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoLWVzJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi93b3JrZmxvdy1zZXJ2aWNlcy9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCdWxrVXBsb2FkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2J1bGstdXBsb2FkLnNlcnZpY2UnO1xyXG50eXBlIEFPQSA9IGFueVtdW107XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1hZGQtbXVsdGlwbGUtcmVzcG9uc2liaWxpdHktY29udGFpbmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLW11bHRpcGxlLXJlc3BvbnNpYmlsaXR5LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbXHJcbiAgICAnLi9hZGQtbXVsdGlwbGUtcmVzcG9uc2liaWxpdHktY29udGFpbmVyLmNvbXBvbmVudC5sZXNzJyxcclxuICAgICcuLi9mb3Jtcy5sZXNzJyxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRkTXVsdGlwbGVSZXNwb25zaWJpbGl0eUNvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZG93bmxvYWRTdGF0dXM6IHN0cmluZyA9ICdOT1RfRE9XTkxPQURJTkcnO1xyXG4gIGRvd25sb2FkU3RhdHVzVjI6IHN0cmluZyA9ICdOT1RfRE9XTkxPQURJTkcnO1xyXG4gIGRvd25sb2FkUGVyY2VudCA9IDA7XHJcbiAgZmlsZVZhbHVlOiBhbnk7XHJcbiAgc2hvd1NtaWxleSA9IGZhbHNlO1xyXG4gIHJlc3BvbnNpYmlsaXR5RGF0YSE6IGFueTtcclxuICBmaWxlTmFtZSA9ICcnO1xyXG4gIHNpbmdsZVRhYlJlc3BvbnNpYmlsaXR5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgbXVsdGlUYWJSZXNwb25zaWJpbGl0eTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGlzRmlsZUVtcHR5ID0gZmFsc2U7XHJcbiAgaXNXcm9uZ0ZpbGUgPSBmYWxzZTtcclxuICBpc1dyb25nRm9ybWF0ID0gZmFsc2U7XHJcbiAgZXJyb3JNZXNzYWdlID0gJyBpbnZhbGlkIGZpbGUgZXJyb3InO1xyXG4gIG1lbWJlcl9vYmpfaWQgPSAnJztcclxuICBidWxrVXBsb2FkRmxhZyE6IGJvb2xlYW47XHJcbiAgZGVwbG95ZWREYXRlOiBudW1iZXIgPSAxNjc3MTUwODc1O1xyXG4gIG1lbWJlcklkOiBhbnkgPSAnJztcclxuXHJcbiAgQE91dHB1dCgpIGNsb3NlV29ya2Zsb3cgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KCkgZmVhdHVyZSE6IGFueTtcclxuICBASW5wdXQoKSBvcmdEZXRhaWxzITogYW55O1xyXG4gIGlzUmVzcG9uc2liaWxpdHlTaW1wbGlmaWVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByaXNrU2VydmljZTogQWRkUmlza1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgYnVsa1VwbG9hZFNlcnZpY2U6IEJ1bGtVcGxvYWRTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubWVtYmVyX29ial9pZCA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0VXNlckRldGFpbHMoKS5faWQ7XHJcbiAgICB0aGlzLm1lbWJlcklkID0gdGhpcy5hdXRoU2VydmljZS5nZXRVc2VyRGV0YWlscygpPy51c2VyPy5pZDtcclxuICAgIHRoaXMuYnVsa1VwbG9hZEZsYWcgPSB0aGlzLmZlYXR1cmUuaXNGZWF0dXJlRW5hYmxlZChcclxuICAgICAgJ2ZmX2J1bGtfcmVzcG9uc2liaWxpdHknXHJcbiAgICApO1xyXG4gICAgdGhpcy5pc1Jlc3BvbnNpYmlsaXR5U2ltcGxpZmllZCA9IHRoaXMuZmVhdHVyZS5pc0ZlYXR1cmVFbmFibGVkKFxyXG4gICAgICAnZmZfcmVzcG9uc2liaWxpdHlfc2ltcGxpZmljYXRpb24nXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZG93bmxvYWRUZW1wbGF0ZSh2ZXJzaW9uPzogYW55KSB7XHJcbiAgICB2ZXJzaW9uICE9PSAndjInXHJcbiAgICAgID8gKHRoaXMuZG93bmxvYWRTdGF0dXMgPSAnRE9XTkxPQURJTkcnKVxyXG4gICAgICA6ICh0aGlzLmRvd25sb2FkU3RhdHVzVjIgPSAnRE9XTkxPQURJTkcnKTtcclxuICAgIHRoaXMuZG93bmxvYWRQZXJjZW50ID0gMDtcclxuICAgIGNvbnN0IGRvd25sb2FkRGF0ZSA9IG5ldyBEYXRlKCkudG9EYXRlU3RyaW5nKCkuc3BsaXQoJyAnKTtcclxuICAgIGNvbnN0IGZpbGVOYW1lID0gYEVudHJ1c3QgUmVzcG9uc2liaWxpdGllcy0ke2Rvd25sb2FkRGF0ZVsyXX0tJHtkb3dubG9hZERhdGVbMV19LSR7ZG93bmxvYWREYXRlWzNdfS54bHN4YDtcclxuXHJcbiAgICB0aGlzLnJpc2tTZXJ2aWNlLmRvd25sb2FkUmVzcG9uc2liaWxpdHlUZW1wbGF0ZSh2ZXJzaW9uKS5zdWJzY3JpYmUoXHJcbiAgICAgIChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZGF0YS5sb2FkZWQpIHtcclxuICAgICAgICAgIHRoaXMuZG93bmxvYWRQZXJjZW50ID0gMTAwICogKGRhdGEubG9hZGVkIC8gZGF0YS50b3RhbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkYXRhLmJvZHkpIHtcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBkb3dubG9hZFN0YXR1cyA9IHRoaXMucmlza1NlcnZpY2UuZG93bkxvYWRGaWxlKFxyXG4gICAgICAgICAgICAgIGRhdGEuYm9keSxcclxuICAgICAgICAgICAgICAnYXBwbGljYXRpb24veGxzeCcsXHJcbiAgICAgICAgICAgICAgZmlsZU5hbWVcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgdmVyc2lvbiAhPT0gJ3YyJ1xyXG4gICAgICAgICAgICAgID8gKHRoaXMuZG93bmxvYWRTdGF0dXMgPSBkb3dubG9hZFN0YXR1cylcclxuICAgICAgICAgICAgICA6ICh0aGlzLmRvd25sb2FkU3RhdHVzVjIgPSBkb3dubG9hZFN0YXR1cyk7XHJcbiAgICAgICAgICB9LCAxNTAwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIChlcnJvcikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xyXG4gICAgICAgIHZlcnNpb24gIT09ICd2MidcclxuICAgICAgICAgID8gKHRoaXMuZG93bmxvYWRTdGF0dXMgPSAnRE9XTkxPQURFRCcpXHJcbiAgICAgICAgICA6ICh0aGlzLmRvd25sb2FkU3RhdHVzVjIgPSAnRE9XTkxPQURFRCcpO1xyXG4gICAgICAgIC8vIHRoaXMuZG93bmxvYWRTdGF0dXMgPSAnRE9XTkxPQURFRCc7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICB1cGxvYWRlZEZpbGVEYXRhITogYW55O1xyXG5cclxuICB1cGxvYWRlZEZpbGUoZXZlbnQ6IGFueSkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy5pc0ZpbGVFbXB0eSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmlzV3JvbmdGaWxlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaXNXcm9uZ0Zvcm1hdCA9IGZhbHNlO1xyXG4gICAgICBsZXQgaXNFbXB0eSA9IGZhbHNlO1xyXG4gICAgICBsZXQgaXNDb3JyZWN0RmlsZSA9IHRydWU7XHJcbiAgICAgIGxldCByZXNwb25zaWJpbGl0eUJ1bGtVcGxvYWQgPSB7XHJcbiAgICAgICAgaGVhZGVyOiBbXSxcclxuICAgICAgICByZXBvcnRzOiBbXSxcclxuICAgICAgfTtcclxuICAgICAgbGV0IHRlbXBsYXRlSW5mbyA9IHtcclxuICAgICAgICBjYXRlZ29yeUxpc3Q6IFtdLFxyXG4gICAgICAgIHJjTGlzdDogW10sXHJcbiAgICAgICAgYXNzaWdub3JzTGlzdDogW10sXHJcbiAgICAgICAgYXNzaWduZWVzTGlzdDogW10sXHJcbiAgICAgICAgbWVtYmVySWQ6ICcnLFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLmZpbGVOYW1lID0gZXZlbnQudGFyZ2V0LmZpbGVzWzBdLm5hbWU7XHJcbiAgICAgIC8vIHRoaXMudXBsb2FkZWRGaWxlcy5wdXNoKGV2ZW50LnRhcmdldC5maWxlcyk7XHJcbiAgICAgIHRoaXMudXBsb2FkZWRGaWxlRGF0YSA9IGV2ZW50O1xyXG4gICAgICBjb25zdCB0YXJnZXQ6IERhdGFUcmFuc2ZlciA9IGV2ZW50LnRhcmdldCBhcyBEYXRhVHJhbnNmZXI7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogY3VybHlcclxuICAgICAgaWYgKHRhcmdldC5maWxlcy5sZW5ndGggIT09IDEpXHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgdXNlIG11bHRpcGxlIGZpbGVzJyk7XHJcbiAgICAgIGNvbnN0IHJlYWRlcjogRmlsZVJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgIHJlYWRlci5vbmxvYWQgPSAoZTogYW55KSA9PiB7XHJcbiAgICAgICAgY29uc3QgYnN0cjogc3RyaW5nID0gZS50YXJnZXQucmVzdWx0O1xyXG4gICAgICAgIGNvbnN0IHdiOiBYTFNYLldvcmtCb29rID0gWExTWC5yZWFkKGJzdHIsIHsgdHlwZTogJ2JpbmFyeScgfSk7XHJcbiAgICAgICAgbGV0IHNoZWV0RGF0YSA9ICcnO1xyXG4gICAgICAgIGxldCBtZW1iZXJBcnJheTogYW55W10gPSBbXTtcclxuICAgICAgICBpZiAod2I/LlNoZWV0TmFtZXM/Lmxlbmd0aCA+IDIpIHtcclxuICAgICAgICAgIGNvbnN0IHNoZWV0RGF0YSA9IHdiLlNoZWV0TmFtZXNbNF07XHJcbiAgICAgICAgICBjb25zdCB0ZW1wRGF0YTogWExTWC5Xb3JrU2hlZXQgPSB3Yi5TaGVldHNbc2hlZXREYXRhXTtcclxuICAgICAgICAgIGNvbnN0IHREYXRhID0gWExTWC51dGlscy5zaGVldF90b19qc29uKHRlbXBEYXRhLCB7XHJcbiAgICAgICAgICAgIGhlYWRlcjogMSxcclxuICAgICAgICAgIH0pIGFzIEFPQTtcclxuICAgICAgICAgIGNvbnN0IHRlbXBMaXN0ID0gdERhdGEuZmlsdGVyKFxyXG4gICAgICAgICAgICAoZGF0YUVsZW1lbnQ6IGFueSkgPT4gZGF0YUVsZW1lbnQubGVuZ3RoID4gMFxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGVtcExpc3QubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKCF0ZW1wTGlzdFtpXVszXSkge1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG1lbWJlckFycmF5LnB1c2godGVtcExpc3RbaV1bM10pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29uc3QgZXhjZWxTaGVldE5hbWUxID0gd2IuU2hlZXROYW1lc1sxXTtcclxuICAgICAgICAgIGNvbnN0IGV4Y2VsRGF0YTE6IFhMU1guV29ya1NoZWV0ID0gd2IuU2hlZXRzW2V4Y2VsU2hlZXROYW1lMV07XHJcbiAgICAgICAgICBjb25zdCBleGNlbFNoZWV0TmFtZTIgPSB3Yi5TaGVldE5hbWVzWzJdO1xyXG4gICAgICAgICAgY29uc3QgZXhjZWxEYXRhMjogWExTWC5Xb3JrU2hlZXQgPSB3Yi5TaGVldHNbZXhjZWxTaGVldE5hbWUyXTtcclxuICAgICAgICAgIGNvbnN0IGV4Y2VsU2hlZXROYW1lMyA9IHdiLlNoZWV0TmFtZXNbM107XHJcbiAgICAgICAgICBjb25zdCBleGNlbERhdGEzOiBYTFNYLldvcmtTaGVldCA9IHdiLlNoZWV0c1tleGNlbFNoZWV0TmFtZTNdO1xyXG4gICAgICAgICAgaXNFbXB0eSA9XHJcbiAgICAgICAgICAgIHRoaXMuYnVsa1VwbG9hZFNlcnZpY2UuaGFzRGF0YUluTGlzdChleGNlbERhdGExLCA3KSAmJlxyXG4gICAgICAgICAgICB0aGlzLmJ1bGtVcGxvYWRTZXJ2aWNlLmhhc0RhdGFJbkxpc3QoZXhjZWxEYXRhMiwgNykgJiZcclxuICAgICAgICAgICAgdGhpcy5idWxrVXBsb2FkU2VydmljZS5oYXNEYXRhSW5MaXN0KGV4Y2VsRGF0YTMsIDcpO1xyXG4gICAgICAgICAgaXNDb3JyZWN0RmlsZSA9XHJcbiAgICAgICAgICAgIHRoaXMuYnVsa1VwbG9hZFNlcnZpY2UuY2hlY2tDb3JyZWN0RmlsZShleGNlbERhdGExLCAyKSB8fFxyXG4gICAgICAgICAgICB0aGlzLmJ1bGtVcGxvYWRTZXJ2aWNlLmNoZWNrQ29ycmVjdEZpbGUoZXhjZWxEYXRhMiwgMikgfHxcclxuICAgICAgICAgICAgdGhpcy5idWxrVXBsb2FkU2VydmljZS5jaGVja0NvcnJlY3RGaWxlKGV4Y2VsRGF0YTMsIDIpO1xyXG4gICAgICAgICAgdGVtcGxhdGVJbmZvLm1lbWJlcklkID0gdGVtcExpc3RbMF1bMThdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBzaGVldERhdGEgPSB3Yi5TaGVldE5hbWVzWzFdO1xyXG4gICAgICAgICAgY29uc3QgdGVtcERhdGE6IFhMU1guV29ya1NoZWV0ID0gd2IuU2hlZXRzW3NoZWV0RGF0YV07XHJcbiAgICAgICAgICBjb25zdCB0RGF0YSA9IFhMU1gudXRpbHMuc2hlZXRfdG9fanNvbih0ZW1wRGF0YSwge1xyXG4gICAgICAgICAgICBoZWFkZXI6IDEsXHJcbiAgICAgICAgICB9KSBhcyBBT0E7XHJcbiAgICAgICAgICBjb25zdCB0ZW1wTGlzdCA9IHREYXRhLmZpbHRlcihcclxuICAgICAgICAgICAgKGRhdGFFbGVtZW50OiBhbnkpID0+IGRhdGFFbGVtZW50Lmxlbmd0aCA+IDBcclxuICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgY29uc3QgZXhjZWxTaGVldE5hbWUgPSB3Yi5TaGVldE5hbWVzWzBdO1xyXG4gICAgICAgICAgY29uc3QgZXhjZWxEYXRhOiBYTFNYLldvcmtTaGVldCA9IHdiLlNoZWV0c1tleGNlbFNoZWV0TmFtZV07XHJcbiAgICAgICAgICBpc0VtcHR5ID0gdGhpcy5idWxrVXBsb2FkU2VydmljZS5oYXNEYXRhSW5MaXN0KGV4Y2VsRGF0YSwgMik7XHJcbiAgICAgICAgICBpc0NvcnJlY3RGaWxlID0gdGhpcy5idWxrVXBsb2FkU2VydmljZS5jaGVja0NvcnJlY3RGaWxlKGV4Y2VsRGF0YSwgMCk7XHJcbiAgICAgICAgICB0ZW1wbGF0ZUluZm8ubWVtYmVySWQgPSB0ZW1wTGlzdFswXVsyNV07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5maWxlTmFtZS5zdWJzdHIoLTUpICE9PSAnLnhsc3gnKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9XHJcbiAgICAgICAgICAgICdUaGUgaW5jb3JyZWN0IGZpbGUgaGFzIGJlZW4gdXBsb2FkZWQuIFBsZWFzZSB1cGxvYWQgdGhlIHRlbXBsYXRlIHdoaWNoIHlvdSBkb3dubG9hZGVkIGZyb20gaGVyZS4nICtcclxuICAgICAgICAgICAgJyBSRVRSWSc7XHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGaWxlID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgdGhpcy5tZW1iZXJfb2JqX2lkICE9IHRlbXBsYXRlSW5mby5tZW1iZXJJZCB8fFxyXG4gICAgICAgICAgIW1lbWJlckFycmF5LmluY2x1ZGVzKHRoaXMubWVtYmVySWQpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9XHJcbiAgICAgICAgICAgICdUaGUgaW5jb3JyZWN0IGZpbGUgaGFzIGJlZW4gdXBsb2FkZWQuIFBsZWFzZSB1cGxvYWQgdGhlIHRlbXBsYXRlIHdoaWNoIHlvdSBkb3dubG9hZGVkIGZyb20gaGVyZS4nICtcclxuICAgICAgICAgICAgJyBSRVRSWSc7XHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGaWxlID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGlzRW1wdHkpIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID1cclxuICAgICAgICAgICAgJ1lvdSBoYXZlIHVwbG9hZGVkIGEgYmxhbmsgdGVtcGxhdGUuIFBsZWFzZSBhZGQgZGV0YWlscyBmb3IgYWxsIG1hbmRhdG9yeSBmaWVsZHMuIFJFVFJZJztcclxuICAgICAgICAgIHRoaXMuaXNGaWxlRW1wdHkgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmZpbGVWYWx1ZSA9ICcnO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIWlzQ29ycmVjdEZpbGUpIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID1cclxuICAgICAgICAgICAgJ1RoZSBpbmNvcnJlY3QgZmlsZSBoYXMgYmVlbiB1cGxvYWRlZC4gUGxlYXNlIHVwbG9hZCB0aGUgdGVtcGxhdGUgd2hpY2ggeW91IGRvd25sb2FkZWQgZnJvbSBoZXJlLicgK1xyXG4gICAgICAgICAgICAnIFJFVFJZJztcclxuICAgICAgICAgIHRoaXMuaXNXcm9uZ0ZpbGUgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuaXNXcm9uZ0Zvcm1hdCA9IHRydWU7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh3Yj8uU2hlZXROYW1lcz8ubGVuZ3RoID4gMikge1xyXG4gICAgICAgICAgdGhpcy5tdWx0aVRhYlJlc3BvbnNpYmlsaXR5ID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zaW5nbGVUYWJSZXNwb25zaWJpbGl0eSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9O1xyXG4gICAgICByZWFkZXIucmVhZEFzQmluYXJ5U3RyaW5nKHRhcmdldC5maWxlc1swXSk7XHJcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlU21pbGV5KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2hvd1NtaWxleSA9IGZhbHNlO1xyXG4gICAgdGhpcy5jbG9zZVdvcmtmbG93LmVtaXQoeyBldnQ6IHRoaXMucmVzcG9uc2liaWxpdHlEYXRhLCBjb25maXJtOiBmYWxzZSB9KTtcclxuICB9XHJcblxyXG4gIHRyaWdnZXJCcm93c2VGaWxlKCkge1xyXG4gICAgY29uc3QgZ2V0RmlsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaWxlSW5wdXQnKTtcclxuICAgIGlmIChnZXRGaWxlKSB7XHJcbiAgICAgIGdldEZpbGUuY2xpY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsb3NlQWRkTXVsdGlwbGVSZXNwb25zaWJpbGl0eShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNpbmdsZVRhYlJlc3BvbnNpYmlsaXR5ID0gZmFsc2U7XHJcbiAgICB0aGlzLm11bHRpVGFiUmVzcG9uc2liaWxpdHkgPSBmYWxzZTtcclxuICAgIHRoaXMuZmlsZVZhbHVlID0gJyc7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhZGQtbXVsdGlwbGUtcmlza1wiIFthdHRyLmlkXT1cIidzY3JvbGxSZWZlcmVuY2UnXCIgPlxyXG4gICAgPCEtLSBtYWluIGNvbnRhaW5lciBzdGFydHMgaGVyZSAtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJhZGQtbXVsdGlwbGUtcmlzay1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFkZC1tdWx0aXBsZS1yaXNrLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tL2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3NwcmVhZHNoZWV0LW11bHRpcGxlLWNhdGVnb3J5LnN2Z1wiIGFsdD1cIlwiIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8aDQ+WW91IGNhbiBlbnRydXN0IG11bHRpcGxlIHJlc3BvbnNpYmlsaXRpZXMgaW4ganVzdCB0d28gZWFzeSBzdGVwczo8L2g0PlxyXG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJsaXN0XCI+XHJcbiAgICAgICAgICAgICAgICA8bGk+RG93bmxvYWQgdGhlIHRlbXBsYXRlIGFuZCBmaWxsIGluIHRoZSBkZXRhaWxzLjwvbGk+XHJcbiAgICAgICAgICAgICAgICA8bGk+VXBsb2FkIHRoZSAueGxzeCBmaWxlIGFuZCB5b3XigJlyZSBnb29kIHRvIGdvITwvbGk+XHJcbiAgICAgICAgICAgIDwvdWw+XHJcblxyXG4gICAgICAgICAgICA8IS0tIGJvdGggb2xkIGFuZCBuZXcgdGVtcGxhdGUgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb3dubG9hZC1idG5cIiAqbmdJZj1cIihmZWF0dXJlLmlzRmVhdHVyZUVuYWJsZWQoJ2ZmX2JvdGhfYnVsa19yZXNwb25zaWJpbGl0eScpICYmICFmZWF0dXJlLmlzRmVhdHVyZUVuYWJsZWQoJ2ZmX2J1bGtfcmVzcG9uc2liaWxpdHknKSkgJiYgb3JnRGV0YWlscz8uZG9jX3V0YyA8IGRlcGxveWVkRGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImRvd25sb2FkXCIgKm5nSWY9XCJkb3dubG9hZFN0YXR1cyA9PT0gJ05PVF9ET1dOTE9BRElORydcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImRvd25sb2FkVGVtcGxhdGUoKVwiIHR5cGU9XCJidXR0b25cIj48aSBjbGFzcz1cImljb25zXCI+JiN4ZTkxYjs8L2k+IERvd25sb2FkIEV4aXN0aW5nIFRlbXBsYXRlPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZG93bmxvYWRTdGF0dXMgPT09ICdET1dOTE9BRElORydcIiBjbGFzcz1cImJ1bGstYnRuLXByb2dyZXNzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgRG93bmxvYWQgaW4gUHJvZ3Jlc3NcclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWxpbmUtbG9hZGVyIFtsb2FkZXJIZWlnaHRdPVwiJzInXCI+PC9hcHAtbGluZS1sb2FkZXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGRpdiAqbmdJZj1cImRvd25sb2FkU3RhdHVzID09PSAnRE9XTkxPQURFRCdcIiBjbGFzcz1cImJ1bGstYnRuLXByb2dyZXNzIGNvbXBsZXRlXCI+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MWM7PC9pPkRvd25sb2FkIENvbXBsZXRlIC0mbmJzcDs8YnV0dG9uIChjbGljayk9XCJkb3dubG9hZFRlbXBsYXRlKClcIj5SZXRyeSBEb3dubG9hZDwvYnV0dG9uPjwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkb3dubG9hZFN0YXR1cyA9PT0gJ0RPV05MT0FERUQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1bGstYnRuLXByb2dyZXNzXCI+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MWM7PC9pPkRvd25sb2FkIENvbXBsZXRlPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1bGstYnRuLWFnYWluXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIElzIHRoZSBmaWxlIG5vdCBkb3dubG9hZGVkP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJkb3dubG9hZFRlbXBsYXRlKClcIj5SZXRyeSBEb3dubG9hZDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9yRGl2XCI+T1I8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZG93bmxvYWRcIiAqbmdJZj1cImRvd25sb2FkU3RhdHVzVjIgPT09ICdOT1RfRE9XTkxPQURJTkcnXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJkb3dubG9hZFRlbXBsYXRlKCd2MicpXCIgdHlwZT1cImJ1dHRvblwiPjxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTFiOzwvaT4gRG93bmxvYWQgTmV3IFRlbXBsYXRlPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZG93bmxvYWRTdGF0dXNWMiA9PT0gJ0RPV05MT0FESU5HJ1wiIGNsYXNzPVwiYnVsay1idG4tcHJvZ3Jlc3NcIj5cclxuICAgICAgICAgICAgICAgICAgICBEb3dubG9hZCBpbiBQcm9ncmVzc1xyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtbGluZS1sb2FkZXIgW2xvYWRlckhlaWdodF09XCInMidcIj48L2FwcC1saW5lLWxvYWRlcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwiZG93bmxvYWRTdGF0dXNWMiA9PT0gJ0RPV05MT0FERUQnXCIgY2xhc3M9XCJidWxrLWJ0bi1wcm9ncmVzcyBjb21wbGV0ZVwiPjxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTFjOzwvaT5Eb3dubG9hZCBDb21wbGV0ZSAtJm5ic3A7PGJ1dHRvbiAoY2xpY2spPVwiZG93bmxvYWRUZW1wbGF0ZSgndjInKVwiPlJldHJ5IERvd25sb2FkPC9idXR0b24+PC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRvd25sb2FkU3RhdHVzVjIgPT09ICdET1dOTE9BREVEJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidWxrLWJ0bi1wcm9ncmVzc1wiPjxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTFjOzwvaT5Eb3dubG9hZCBDb21wbGV0ZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidWxrLWJ0bi1hZ2FpblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBJcyB0aGUgZmlsZSBub3QgZG93bmxvYWRlZD9cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZG93bmxvYWRUZW1wbGF0ZSgndjInKVwiPlJldHJ5IERvd25sb2FkPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIG9ubHkgZm9yIG5ldyB0ZW1wbGF0ZSAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRvd25sb2FkLWJ0blwiICpuZ0lmPVwiKGZlYXR1cmUuaXNGZWF0dXJlRW5hYmxlZCgnZmZfYnVsa19yZXNwb25zaWJpbGl0eScpICYmICFmZWF0dXJlLmlzRmVhdHVyZUVuYWJsZWQoJ2ZmX2JvdGhfYnVsa19yZXNwb25zaWJpbGl0eScpKSB8fCAoZmVhdHVyZS5pc0ZlYXR1cmVFbmFibGVkKCdmZl9idWxrX3Jlc3BvbnNpYmlsaXR5JykgJiYgZmVhdHVyZS5pc0ZlYXR1cmVFbmFibGVkKCdmZl9ib3RoX2J1bGtfcmVzcG9uc2liaWxpdHknKSkgfHwgb3JnRGV0YWlscz8uZG9jX3V0YyA+IGRlcGxveWVkRGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImRvd25sb2FkXCIgKm5nSWY9XCJkb3dubG9hZFN0YXR1c1YyID09PSAnTk9UX0RPV05MT0FESU5HJ1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZG93bmxvYWRUZW1wbGF0ZSgndjInKVwiIHR5cGU9XCJidXR0b25cIj48aSBjbGFzcz1cImljb25zXCI+JiN4ZTkxYjs8L2k+IERvd25sb2FkIFRlbXBsYXRlPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZG93bmxvYWRTdGF0dXNWMiA9PT0gJ0RPV05MT0FESU5HJ1wiIGNsYXNzPVwiYnVsay1idG4tcHJvZ3Jlc3NcIj5cclxuICAgICAgICAgICAgICAgICAgICBEb3dubG9hZCBpbiBQcm9ncmVzc1xyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtbGluZS1sb2FkZXIgW2xvYWRlckhlaWdodF09XCInMidcIj48L2FwcC1saW5lLWxvYWRlcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwiZG93bmxvYWRTdGF0dXNWMiA9PT0gJ0RPV05MT0FERUQnXCIgY2xhc3M9XCJidWxrLWJ0bi1wcm9ncmVzcyBjb21wbGV0ZVwiPjxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTFjOzwvaT5Eb3dubG9hZCBDb21wbGV0ZSAtJm5ic3A7PGJ1dHRvbiAoY2xpY2spPVwiZG93bmxvYWRUZW1wbGF0ZSgndjInKVwiPlJldHJ5IERvd25sb2FkPC9idXR0b24+PC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRvd25sb2FkU3RhdHVzVjIgPT09ICdET1dOTE9BREVEJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidWxrLWJ0bi1wcm9ncmVzc1wiPjxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTFjOzwvaT5Eb3dubG9hZCBDb21wbGV0ZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidWxrLWJ0bi1hZ2FpblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBJcyB0aGUgZmlsZSBub3QgZG93bmxvYWRlZD9cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZG93bmxvYWRUZW1wbGF0ZSgndjInKVwiPlJldHJ5IERvd25sb2FkPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8IS0tIG9ubHkgZm9yIG9sZCB0ZW1wbGF0ZSAtLT5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRvd25sb2FkLWJ0blwiICpuZ0lmPVwiKCFmZWF0dXJlLmlzRmVhdHVyZUVuYWJsZWQoJ2ZmX2J1bGtfcmVzcG9uc2liaWxpdHknKSAmJiAhZmVhdHVyZS5pc0ZlYXR1cmVFbmFibGVkKCdmZl9ib3RoX2J1bGtfcmVzcG9uc2liaWxpdHknKSlcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJkb3dubG9hZFwiICpuZ0lmPVwiZG93bmxvYWRTdGF0dXMgPT09ICdOT1RfRE9XTkxPQURJTkcnXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJkb3dubG9hZFRlbXBsYXRlKClcIiB0eXBlPVwiYnV0dG9uXCI+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MWI7PC9pPiBEb3dubG9hZCBUZW1wbGF0ZTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ1bGstYnRuLXByb2dyZXNzXCIgKm5nSWY9XCJkb3dubG9hZFN0YXR1cyA9PT0gJ0RPV05MT0FESU5HJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIERvd25sb2FkIGluIFByb2dyZXNzXHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1saW5lLWxvYWRlciBbbG9hZGVySGVpZ2h0XT1cIicyJ1wiPjwvYXBwLWxpbmUtbG9hZGVyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZG93bmxvYWRTdGF0dXMgPT09ICdET1dOTE9BREVEJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidWxrLWJ0bi1wcm9ncmVzc1wiPjxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTFjOzwvaT5Eb3dubG9hZCBDb21wbGV0ZTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidWxrLWJ0bi1hZ2FpblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBJcyB0aGUgZmlsZSBub3QgZG93bmxvYWRlZD9cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZG93bmxvYWRUZW1wbGF0ZSgpXCI+UmV0cnkgRG93bmxvYWQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJpc1dyb25nRmlsZSB8fCBpc1dyb25nRm9ybWF0fHwgaXNGaWxlRW1wdHlcIlxyXG4gICAgICAgICAgICA+e3tlcnJvck1lc3NhZ2V9fTwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxpbnB1dCB0eXBlPVwiZmlsZVwiIFsobmdNb2RlbCldPVwiZmlsZVZhbHVlXCIgaWQ9XCJmaWxlSW5wdXRcIiBjbGFzcz1cImhpZGRlbi1pbnB1dFwiIGFjY2VwdD1cIi54bHN4XCIgKGNoYW5nZSk9XCJ1cGxvYWRlZEZpbGUoJGV2ZW50KVwiIG11bHRpcGxlIC8+XHJcbjxhcHAtc21pbGV5LWRpYWxvZy1pbmxpbmUgKm5nSWY9XCJzaG93U21pbGV5XCIgW21lc3NhZ2VdPVwic21pbGV5TWVzc2FnZVwiIFthY3Rpb25CdXR0b25zXT1cImFjdGlvbkJ1dHRvbnNcIiAoYWN0aW9uKT1cImFjdGlvbigkZXZlbnQpXCIgKGNsb3NlU21pbGV5KT1cImNsb3NlU21pbGV5KCRldmVudClcIj48L2FwcC1zbWlsZXktZGlhbG9nLWlubGluZT5cclxuXHJcbjxhcHAtYWRkLW11bHRpcGxlLXJlc3BvbnNpYmlsaXR5ICpuZ0lmPVwic2luZ2xlVGFiUmVzcG9uc2liaWxpdHlcIiBbdXBsb2FkZWRGaWxlXT1cInVwbG9hZGVkRmlsZURhdGFcIiAoY2xvc2VBZGRNdWx0aXBsZVJlc3BvbnNpYmlsaXR5KT1cImNsb3NlQWRkTXVsdGlwbGVSZXNwb25zaWJpbGl0eSgkZXZlbnQpXCIgW2ZlYXR1cmVmbGFnXT1cImlzUmVzcG9uc2liaWxpdHlTaW1wbGlmaWVkXCIgW2ZlYXR1cmVdPVwiZmVhdHVyZVwiPjwvYXBwLWFkZC1tdWx0aXBsZS1yZXNwb25zaWJpbGl0eT5cclxuPGxpYi1hZGQtbXVsdGlwbGUtcmVzcG9uc2liaWxpdHktd2l0aC10YWIgKm5nSWY9XCJtdWx0aVRhYlJlc3BvbnNpYmlsaXR5XCIgW29yZ0RldGFpbHNdPVwib3JnRGV0YWlsc1wiIFt1cGxvYWRlZEZpbGVdPVwidXBsb2FkZWRGaWxlRGF0YVwiIChjbG9zZUFkZE11bHRpcGxlUmVzcG9uc2liaWxpdHkpPVwiY2xvc2VBZGRNdWx0aXBsZVJlc3BvbnNpYmlsaXR5KCRldmVudClcIiBbZmVhdHVyZWZsYWddPVwiaXNSZXNwb25zaWJpbGl0eVNpbXBsaWZpZWRcIiBbZmVhdHVyZV09XCJmZWF0dXJlXCI+PC9saWItYWRkLW11bHRpcGxlLXJlc3BvbnNpYmlsaXR5LXdpdGgtdGFiPlxyXG4iXX0=
|
|
@@ -41652,11 +41652,13 @@ class AddMultipleResponsibilityContainerComponent {
|
|
|
41652
41652
|
this.errorMessage = ' invalid file error';
|
|
41653
41653
|
this.member_obj_id = '';
|
|
41654
41654
|
this.deployedDate = 1677150875;
|
|
41655
|
+
this.memberId = '';
|
|
41655
41656
|
this.closeWorkflow = new EventEmitter();
|
|
41656
41657
|
this.isResponsibilitySimplified = false;
|
|
41657
41658
|
}
|
|
41658
41659
|
ngOnInit() {
|
|
41659
41660
|
this.member_obj_id = this.authService.getUserDetails()._id;
|
|
41661
|
+
this.memberId = this.authService.getUserDetails()?.user?.id;
|
|
41660
41662
|
this.bulkUploadFlag = this.feature.isFeatureEnabled('ff_bulk_responsibility');
|
|
41661
41663
|
this.isResponsibilitySimplified = this.feature.isFeatureEnabled('ff_responsibility_simplification');
|
|
41662
41664
|
}
|
|
@@ -41717,6 +41719,7 @@ class AddMultipleResponsibilityContainerComponent {
|
|
|
41717
41719
|
const bstr = e.target.result;
|
|
41718
41720
|
const wb = XLSX.read(bstr, { type: 'binary' });
|
|
41719
41721
|
let sheetData = '';
|
|
41722
|
+
let memberArray = [];
|
|
41720
41723
|
if (wb?.SheetNames?.length > 2) {
|
|
41721
41724
|
const sheetData = wb.SheetNames[4];
|
|
41722
41725
|
const tempData = wb.Sheets[sheetData];
|
|
@@ -41724,6 +41727,12 @@ class AddMultipleResponsibilityContainerComponent {
|
|
|
41724
41727
|
header: 1,
|
|
41725
41728
|
});
|
|
41726
41729
|
const tempList = tData.filter((dataElement) => dataElement.length > 0);
|
|
41730
|
+
for (let i = 0; i < tempList.length; i++) {
|
|
41731
|
+
if (!tempList[i][3]) {
|
|
41732
|
+
break;
|
|
41733
|
+
}
|
|
41734
|
+
memberArray.push(tempList[i][3]);
|
|
41735
|
+
}
|
|
41727
41736
|
const excelSheetName1 = wb.SheetNames[1];
|
|
41728
41737
|
const excelData1 = wb.Sheets[excelSheetName1];
|
|
41729
41738
|
const excelSheetName2 = wb.SheetNames[2];
|
|
@@ -41760,7 +41769,8 @@ class AddMultipleResponsibilityContainerComponent {
|
|
|
41760
41769
|
this.isWrongFile = true;
|
|
41761
41770
|
return;
|
|
41762
41771
|
}
|
|
41763
|
-
if (this.member_obj_id != templateInfo.memberId
|
|
41772
|
+
if (this.member_obj_id != templateInfo.memberId ||
|
|
41773
|
+
!memberArray.includes(this.memberId)) {
|
|
41764
41774
|
this.errorMessage =
|
|
41765
41775
|
'The incorrect file has been uploaded. Please upload the template which you downloaded from here.' +
|
|
41766
41776
|
' RETRY';
|