asp-lib 1.1.2 → 1.1.3
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.
|
@@ -99,15 +99,22 @@ export class ItemsViewerComponent {
|
|
|
99
99
|
isItemSelected(item) { return this.selectedItem?.id === item.id; }
|
|
100
100
|
loadItems() {
|
|
101
101
|
this.loadingStatus = true;
|
|
102
|
-
if (this.
|
|
103
|
-
|
|
104
|
-
.
|
|
102
|
+
if (this.title && this.title === 'Users') {
|
|
103
|
+
let params = new HttpParams()
|
|
104
|
+
.set('page', this.currentPage)
|
|
105
|
+
.set('pageSize', this.pageSize);
|
|
106
|
+
if (this.search.value && this.search.value.trim() !== '') {
|
|
107
|
+
params = params.set('search', this.search.value.trim());
|
|
108
|
+
}
|
|
109
|
+
this.http.get(this.listEndpoint, { params })
|
|
110
|
+
.pipe(switchMap(this.listRequestMapping ?? defaultSwitchMapper))
|
|
111
|
+
.subscribe({
|
|
105
112
|
next: (response) => {
|
|
106
113
|
if (response.responseCode === 200) {
|
|
107
114
|
this.loadedItems = response.load;
|
|
108
115
|
this.itemsLoaded.emit(response.load);
|
|
109
116
|
this.lengthUsers = response.totalRecords;
|
|
110
|
-
this.
|
|
117
|
+
this.filterItems = new Set(this.loadedItems.map(item => item.id));
|
|
111
118
|
this.loadingStatus = false;
|
|
112
119
|
}
|
|
113
120
|
else {
|
|
@@ -120,10 +127,37 @@ export class ItemsViewerComponent {
|
|
|
120
127
|
console.error(error);
|
|
121
128
|
this.loadingStatus = false;
|
|
122
129
|
this.snackbar.warning(this.translate.transform(this.itemsEndpoint.errors?.['default'] ?? 'Something went wrong'));
|
|
123
|
-
console.log(error);
|
|
124
130
|
}
|
|
125
131
|
});
|
|
126
132
|
}
|
|
133
|
+
else {
|
|
134
|
+
if (this.listEndpoint) {
|
|
135
|
+
this.http.get(this.showPaginator ? `${this.listEndpoint}?page=${this.currentPage}&pageSize=${this.pageSize}&${this.endpointParams}` : this.listEndpoint)
|
|
136
|
+
.pipe(switchMap(this.listRequestMapping ?? defaultSwitchMapper)).subscribe({
|
|
137
|
+
next: (response) => {
|
|
138
|
+
if (response.responseCode === 200) {
|
|
139
|
+
this.loadedItems = response.load;
|
|
140
|
+
this.itemsLoaded.emit(response.load);
|
|
141
|
+
this.lengthUsers = response.totalRecords;
|
|
142
|
+
this.filterItems = new Set(this.loadedItems.map(item => item.id));
|
|
143
|
+
//this.search.setValue('');
|
|
144
|
+
this.loadingStatus = false;
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
console.error(response);
|
|
148
|
+
this.loadingStatus = false;
|
|
149
|
+
this.snackbar.warning(this.translate.transform(this.itemsEndpoint.errors?.[response.responseCode] ?? 'Something went wrong'));
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
error: (error) => {
|
|
153
|
+
console.error(error);
|
|
154
|
+
this.loadingStatus = false;
|
|
155
|
+
this.snackbar.warning(this.translate.transform(this.itemsEndpoint.errors?.['default'] ?? 'Something went wrong'));
|
|
156
|
+
console.log(error);
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
}
|
|
127
161
|
}
|
|
128
162
|
ngOnInit() {
|
|
129
163
|
if (Boolean(this.listEndpoint)) {
|
|
@@ -141,7 +175,7 @@ export class ItemsViewerComponent {
|
|
|
141
175
|
let params = new HttpParams();
|
|
142
176
|
if (this.showPaginator) {
|
|
143
177
|
params = params
|
|
144
|
-
.set('page',
|
|
178
|
+
.set('page', 1)
|
|
145
179
|
.set('pageSize', this.pageSize);
|
|
146
180
|
}
|
|
147
181
|
if (this.endpointParams) {
|
|
@@ -341,4 +375,4 @@ function switchMapper(mapper) {
|
|
|
341
375
|
return mapper(value);
|
|
342
376
|
};
|
|
343
377
|
}
|
|
344
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbXMtdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FzcC1saWIvc3JjL2xpYi9pdGVtcy12aWV3ZXIvaXRlbXMtdmlld2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FzcC1saWIvc3JjL2xpYi9pdGVtcy12aWV3ZXIvaXRlbXMtdmlld2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUVsRCxNQUFNLGFBQWEsR0FBRyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQU8xRSxNQUFNLE9BQU8sb0JBQW9CO0lBZ0RoQyxJQUFJLFFBQVEsS0FBSyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBQzdDLElBQUksT0FBTyxLQUFLLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFDM0MsSUFBSSxlQUFlLEtBQUssT0FBTyxJQUFJLENBQUMsZUFBZSxD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R0FBRyxNQUFNLEVBQUU7WUFDcEIsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDcEI7UUFDRCxJQUFJLE1BQU0sR0FBRyxNQUFNLEVBQUU7WUFDcEIsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDcEI7UUFDRCxPQUFPLENBQUMsQ0FBQztJQUNWLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFFLE1BQWdCO0lBQ3RDLE9BQU8sQ0FBQyxLQUFVLEVBQUUsRUFBRTtRQUNyQixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUFBLENBQUMsQ0FBQTtBQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgRU1QVFksIG9mLCBTdWJqZWN0LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU25hY2tiYXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc25hY2tiYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFNlY3VyaXR5RW5kcG9pbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBkZWZhdWx0U3dpdGNoTWFwcGVyIH0gZnJvbSAnLi4vdXRpbHMvdXRpbHMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvdHJhbnNsYXRlLnBpcGUnO1xyXG5pbXBvcnQgeyBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuY29uc3QgZGVmYXVsdEZpbHRlciA9IChpdGVtOiBhbnkpID0+IFtpdGVtPy5uYW1lID8/IEpTT04uc3RyaW5naWZ5KGl0ZW0pXTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnbGliLWl0ZW1zLXZpZXdlcicsXHJcblx0dGVtcGxhdGVVcmw6ICcuL2l0ZW1zLXZpZXdlci5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4uL2Fzc2V0cy9mb250cy9zdHlsZS5jc3MnLCAnLi4vYXNzZXRzL3RoZW1lLnNjc3MnLCAnLi9pdGVtcy12aWV3ZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSXRlbXNWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcblxyXG5cdEBJbnB1dCgpIGljb246IHN0cmluZyA9ICcnO1xyXG5cdEBJbnB1dCgpIHRoZW1lOiBzdHJpbmcgPSAnZGVmYXVsdCc7XHJcblx0QElucHV0KCkgdGl0bGU6IHN0cmluZyA9ICcnO1xyXG5cdEBJbnB1dCgpIGl0ZW1JY29uOiBzdHJpbmcgPSAnJztcclxuXHRASW5wdXQoKSBpdGVtczogYW55W10gPSBbXTtcclxuXHRASW5wdXQoKSBlbnRpdHlVaUNvbXBvbmVudDogVHlwZTxhbnk+IHwgbnVsbCA9IG51bGw7XHJcblx0QElucHV0KCkgdWlDb21wb25lbnRJbnB1dHM6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuXHQvLyBASW5wdXQoKSBzZWFyY2hCeTogc3RyaW5nW10gPSBbJ25hbWUnXTtcclxuXHRASW5wdXQoKSBzZWFyY2hGaWx0ZXI/OiBGdW5jdGlvbjtcclxuXHRASW5wdXQoKSBzaG93Q3JlYXRlQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XHJcblx0QElucHV0KCkgc2hvd09yZGVyQnV0dG9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNlbGVjdGVkSXRlbTogYW55ID0gbnVsbDtcclxuXHRASW5wdXQoKSBzZWxlY3Rpb25JZHM6IFNldDxzdHJpbmcgfCBudW1iZXI+ID0gbmV3IFNldChbXSk7XHJcblx0QElucHV0KCkgbXVsdGlwbGVTZWxlY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSBzaG93U2VsZWN0ZWRBdFRvcDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIGl0ZW1Db250cm9sczogeyBba2V5OiBudW1iZXIgfCBzdHJpbmddOiBhbnkgfSA9IHt9O1xyXG5cdEBJbnB1dCgpIHNob3dQYWdpbmF0b3I6IGJvb2xlYW4gPSB0cnVlO1xyXG5cdEBJbnB1dCgpIGRyYWdnYWJsZUl0ZW1zOiBib29sZWFuID0gZmFsc2U7XHJcblx0QElucHV0KCkgc2hvd1NlYXJjaDogYm9vbGVhbiA9IHRydWU7XHJcblx0QElucHV0KCkgbGlzdEVuZHBvaW50OiBzdHJpbmcgPSAnJztcclxuXHRASW5wdXQoKSBpdGVtc0VuZHBvaW50OiBTZWN1cml0eUVuZHBvaW50ID0ge3VybDogJyd9O1xyXG5cdEBJbnB1dCgpIGxpc3RSZXF1ZXN0TWFwcGluZzogYW55ID0gKHJlc3BvbnNlOiBhbnkpID0+IG9mKHJlc3BvbnNlKTtcclxuXHRASW5wdXQoKSBlbmRwb2ludFBhcmFtczogc3RyaW5nID0gJyc7XHJcblx0QElucHV0KCkgcmVsb2FkU3ViamVjdD86IFN1YmplY3Q8Ym9vbGVhbj47XHJcblx0QElucHV0KCkgZXh0ZXJuYWxMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcblx0QElucHV0KCkgb3JkZXJQcm9wZXJ0aWVzOiB7IHByb3BlcnR5OiBzdHJpbmcsIGFzY0ljb246IHN0cmluZywgZGVzY0ljb246IHN0cmluZywgdG9vbHRpcD86IHN0cmluZyB9W10gPSBbXTtcclxuXHRASW5wdXQoKSBlbXB0eVBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnTm90IEZvdW5kIDInO1xyXG5cdEBJbnB1dCgpIGl0ZW1MYWJlbE1hcDogYW55ID0gKGl0ZW06IGFueSkgPT4gaXRlbS5uYW1lO1xyXG5cdEBPdXRwdXQoKSBzZWxlY3RJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblx0QE91dHB1dCgpIHRvZ2dsZUl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHRAT3V0cHV0KCkgYWRkQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHRAT3V0cHV0KCkgaXRlbXNMb2FkZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHRASG9zdEJpbmRpbmcoJ3N0eWxlJykgaG9zdFN0eWxlOiBhbnk7XHJcblxyXG5cdG9yZGVyUHJvcGVydHlJY29uOiB7IFtwcm9wZXJ0eTogc3RyaW5nXTogc3RyaW5nIH0gPSB7IG5hbWU6ICdtZW51LWFscGhhYmV0LWFzYycgfTtcclxuXHRjdXJyZW50T3JkZXI6IHsgcHJvcGVydHk6IHN0cmluZywgYXNjOiBib29sZWFuIH0gPSB7IHByb3BlcnR5OiAnbmFtZScsIGFzYzogdHJ1ZSB9O1xyXG5cdG9yZGVySXRlbXM6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcblx0c2VhcmNoID0gbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpO1xyXG5cdGN1cnJlbnRQYWdlID0gMTtcclxuXHRASW5wdXQoKSBwYWdlU2l6ZSA9IDUwO1xyXG5cdHBhZ2VJbmRleFVzZXJzID0gMTtcclxuXHRsZW5ndGhVc2VycyA9IDEwO1xyXG5cdHBhZ2VFdmVudDogYW55ID0gJyc7XHJcblx0ZmlsdGVySXRlbXM6IFNldDxudW1iZXI+ID0gbmV3IFNldChbXSk7XHJcblx0bG9hZGVkSXRlbXM6IGFueVtdID0gW107XHJcblx0bG9hZGluZ1N0YXR1czogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdGdldCBoYXNUaXRsZSgpIHsgcmV0dXJuIEJvb2xlYW4odGhpcy50aXRsZSkgfVxyXG5cdGdldCBoYXNJY29uKCkgeyByZXR1cm4gQm9vbGVhbih0aGlzLmljb24pIH1cclxuXHRnZXQgaGFzT3JkZXJCdXR0b25zKCkgeyByZXR1cm4gdGhpcy5vcmRlclByb3BlcnRpZXMubGVuZ3RoID4gMCB9XHJcblx0Z2V0IGxvYWRpbmcoKSB7IHJldHVybiB0aGlzLmxvYWRpbmdTdGF0dXMgfHwgdGhpcy5leHRlcm5hbExvYWRpbmcgfVxyXG5cclxuXHRnZXQgaXNEeW5hbWljKCkgeyByZXR1cm4gQm9vbGVhbih0aGlzLmxpc3RFbmRwb2ludCkgfVxyXG5cdEBJbnB1dCgpIHNldCBzdHlsZShzdHlsZUlucHV0OiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSB7XHJcblx0XHR0aGlzLmhvc3RTdHlsZSA9IHN0eWxlSW5wdXQ7XHJcblx0fTtcclxuXHJcblx0Z2V0IGlzRW1wdHkoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5saXN0SXRlbXMubGVuZ3RoIDwgMVxyXG5cdH1cclxuXHJcblx0Z2V0IGVtcHR5TGFiZWwoKSB7XHJcblx0XHRyZXR1cm4gQm9vbGVhbih0aGlzLnNlYXJjaC52YWx1ZSkgPyBcIk5vdCBGb3VuZCAxXCIgOiB0aGlzLmVtcHR5UGxhY2Vob2xkZXI7XHJcblx0fVxyXG5cclxuXHRnZXRJdGVtQ2xhc3MoaXRlbTogYW55KSB7XHJcblx0XHRyZXR1cm4gWydmaWx0ZXItaXRlbScsIHRoaXMubXVsdGlwbGVTZWxlY3Rpb24gPyAodGhpcy5zZWxlY3Rpb25JZHMuaGFzKGl0ZW0uaWQpID8gJ3NlbGVjdGVkLWl0ZW0nIDogJycpIDogKHRoaXMuaXNJdGVtU2VsZWN0ZWQoaXRlbSkgPyAnc2VsZWN0ZWQtaXRlbScgOiAnJyksICh0aGlzLm11bHRpcGxlU2VsZWN0aW9uICYmIHRoaXMuaXNJdGVtU2VsZWN0ZWQoaXRlbSkpID8gJ3NlY29uZC1zZWxlY3Rpb24nIDogJycsIHRoaXMubXVsdGlwbGVTZWxlY3Rpb24gPyAnY2hlY2tib3gtbWFyZ2luJyA6ICcnXVxyXG5cdH1cclxuXHJcblxyXG5cdGdldCBsaXN0SXRlbXMoKSB7XHJcblx0XHQvLyByZXR1cm4gKEJvb2xlYW4odGhpcy5saXN0RW5kcG9pbnQpID8gdGhpcy5sb2FkZWRJdGVtcyA6IHRoaXMuaXRlbXMpLmZpbHRlcigoaXRlbTogYW55KSA9PiB0aGlzLnNlYXJjaEJhclByb3BlcnRpZXMuc29tZShwcm9wZXJ0eSA9PiBpdGVtW3Byb3BlcnR5XT8uaW5jbHVkZXModGhpcy5zZWFyY2gudmFsdWU/LnRvTG93ZXJDYXNlKCkgPz8gJycpKSlcclxuXHRcdC8vIFx0LnNvcnQoKGEsIGIpID0+IGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSkpO1xyXG5cdFx0cmV0dXJuIHRoaXMubG9hZGVkSXRlbXNcclxuXHR9XHJcblxyXG5cdGdldE9yZGVySWNvbihwcm9wZXJ0eTogc3RyaW5nKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5vcmRlclByb3BlcnR5SWNvbltwcm9wZXJ0eV07XHJcblx0fVxyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgc25hY2tiYXI6IFNuYWNrYmFyU2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVBpcGUpIHtcclxuXHRcdHRoaXMub3JkZXJJdGVtcy5zdWJzY3JpYmUoe1xyXG5cdFx0XHRuZXh0OiAobmV3T3JkZXJQcm9wZXJ0eSkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuY3VycmVudE9yZGVyID0geyBwcm9wZXJ0eTogbmV3T3JkZXJQcm9wZXJ0eS5wcm9wZXJ0eSwgYXNjOiAhdGhpcy5jdXJyZW50T3JkZXIuYXNjIH1cclxuXHRcdFx0XHR0aGlzLmxvYWRlZEl0ZW1zID0gYWxwaGFiZXRTb3J0KHRoaXMubG9hZGVkSXRlbXMsIG5ld09yZGVyUHJvcGVydHkucHJvcGVydHksIHRoaXMuY3VycmVudE9yZGVyLmFzYyk7XHJcblx0XHRcdFx0dGhpcy5vcmRlclByb3BlcnR5SWNvbltuZXdPcmRlclByb3BlcnR5LnByb3BlcnR5XSA9IHRoaXMuY3VycmVudE9yZGVyLmFzYyA/IG5ld09yZGVyUHJvcGVydHkuYXNjSWNvbiA6IG5ld09yZGVyUHJvcGVydHkuZGVzY0ljb247XHJcblx0XHRcdH1cclxuXHRcdH0pXHJcblx0fVxyXG5cclxuXHRpc0l0ZW1TZWxlY3RlZChpdGVtOiBhbnkpIHsgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtPy5pZCA9PT0gaXRlbS5pZCB9XHJcblxyXG5cclxuXHJcblx0bG9hZEl0ZW1zKCkge1xyXG5cdFx0dGhpcy5sb2FkaW5nU3RhdHVzID0gdHJ1ZTtcclxuXHRcdGlmICh0aGlzLmxpc3RFbmRwb2ludCkge3RoaXMuaHR0cC5nZXQodGhpcy5zaG93UGFnaW5hdG9yID8gYCR7dGhpcy5saXN0RW5kcG9pbnR9P3BhZ2U9JHt0aGlzLmN1cnJlbnRQYWdlfSZwYWdlU2l6ZT0ke3RoaXMucGFnZVNpemV9JiR7dGhpcy5lbmRwb2ludFBhcmFtc31gIDogdGhpcy5saXN0RW5kcG9pbnQpXHJcblx0XHRcdC5waXBlKHN3aXRjaE1hcCh0aGlzLmxpc3RSZXF1ZXN0TWFwcGluZyA/PyBkZWZhdWx0U3dpdGNoTWFwcGVyKSkuc3Vic2NyaWJlKHtcclxuXHRcdFx0XHRuZXh0OiAocmVzcG9uc2U6IGFueSkgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKHJlc3BvbnNlLnJlc3BvbnNlQ29kZSA9PT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMubG9hZGVkSXRlbXMgPSByZXNwb25zZS5sb2FkO1xyXG5cdFx0XHRcdFx0XHR0aGlzLml0ZW1zTG9hZGVkLmVtaXQocmVzcG9uc2UubG9hZCk7XHJcblx0XHRcdFx0XHRcdHRoaXMubGVuZ3RoVXNlcnMgPSByZXNwb25zZS50b3RhbFJlY29yZHM7XHJcblx0XHRcdFx0XHRcdHRoaXMuc2VhcmNoLnNldFZhbHVlKCcnKTtcclxuXHRcdFx0XHRcdFx0dGhpcy5sb2FkaW5nU3RhdHVzID0gZmFsc2U7XHJcblx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmVycm9yKHJlc3BvbnNlKTtcclxuXHRcdFx0XHRcdFx0dGhpcy5sb2FkaW5nU3RhdHVzID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdHRoaXMuc25hY2tiYXIud2FybmluZyh0aGlzLnRyYW5zbGF0ZS50cmFuc2Zvcm0odGhpcy5pdGVtc0VuZHBvaW50LmVycm9ycz8uW3Jlc3BvbnNlLnJlc3BvbnNlQ29kZV0gPz8gJ1NvbWV0aGluZyB3ZW50IHdyb25nJykpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0ZXJyb3I6IChlcnJvcikgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5lcnJvcihlcnJvcik7XHJcblx0XHRcdFx0XHR0aGlzLmxvYWRpbmdTdGF0dXMgPSBmYWxzZTtcclxuXHRcdFx0XHRcdHRoaXMuc25hY2tiYXIud2FybmluZyh0aGlzLnRyYW5zbGF0ZS50cmFuc2Zvcm0odGhpcy5pdGVtc0VuZHBvaW50LmVycm9ycz8uWydkZWZhdWx0J10gPz8gJ1NvbWV0aGluZyB3ZW50IHdyb25nJykpO1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coZXJyb3IpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSk7fVxyXG5cdH1cclxuXHRcclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdGlmIChCb29sZWFuKHRoaXMubGlzdEVuZHBvaW50KSkge1xyXG5cdFx0XHR0aGlzLnJlbG9hZFN1YmplY3Q/LnN1YnNjcmliZSh7IG5leHQ6ICgpID0+IHRoaXMubG9hZEl0ZW1zKCkgfSk7XHJcblx0XHR9XHJcblx0XHRpZih0aGlzLnRpdGxlICYmIHRoaXMudGl0bGUgPT09ICdVc2Vycycpe1xyXG5cdFx0XHR0aGlzLnNlYXJjaC52YWx1ZUNoYW5nZXNcclxuXHRcdFx0LnBpcGUoXHJcblx0XHRcdFx0ZGVib3VuY2VUaW1lKDMwMCksXHJcblx0XHRcdFx0ZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuXHRcdFx0XHRzd2l0Y2hNYXAoKG5ld1NlYXJjaCkgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKCF0aGlzLmxpc3RFbmRwb2ludCB8fCB0aGlzLmxpc3RFbmRwb2ludC50cmltKCkgPT09ICcnKSB7XHJcblx0XHRcdFx0XHRcdHJldHVybiBFTVBUWTtcclxuXHRcdFx0XHRcdH1lbHNle1xyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHR0aGlzLmxvYWRpbmdTdGF0dXMgPSB0cnVlO1xyXG5cclxuXHRcdFx0XHRcdGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xyXG5cdFx0XHRcdFx0aWYgKHRoaXMuc2hvd1BhZ2luYXRvcikge1xyXG5cdFx0XHRcdFx0XHRwYXJhbXMgPSBwYXJhbXNcclxuXHRcdFx0XHRcdFx0XHQuc2V0KCdwYWdlJywgdGhpcy5jdXJyZW50UGFnZSlcclxuXHRcdFx0XHRcdFx0XHQuc2V0KCdwYWdlU2l6ZScsIHRoaXMucGFnZVNpemUpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0aWYgKHRoaXMuZW5kcG9pbnRQYXJhbXMpIHtcclxuXHRcdFx0XHRcdFx0Y29uc3QgZXh0cmFQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHRoaXMuZW5kcG9pbnRQYXJhbXMpO1xyXG5cdFx0XHRcdFx0XHRleHRyYVBhcmFtcy5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0cGFyYW1zID0gcGFyYW1zLnNldChrZXksIHZhbHVlKTtcclxuXHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0cGFyYW1zID0gcGFyYW1zLnNldCgnc2VhcmNoJywgbmV3U2VhcmNoPy50cmltKCkgPz8gJycpO1xyXG5cclxuXHRcdFx0XHRcdHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMubGlzdEVuZHBvaW50LCB7IHBhcmFtcyB9KVxyXG5cdFx0XHRcdFx0XHQucGlwZShzd2l0Y2hNYXAodGhpcy5saXN0UmVxdWVzdE1hcHBpbmcgPz8gZGVmYXVsdFN3aXRjaE1hcHBlcikpO1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdClcclxuXHRcdFx0LnN1YnNjcmliZSh7XHJcblx0XHRcdFx0bmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuXHRcdFx0XHRcdGlmIChyZXNwb25zZS5yZXNwb25zZUNvZGUgPT09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmxvYWRlZEl0ZW1zID0gcmVzcG9uc2UubG9hZDtcclxuXHRcdFx0XHRcdFx0dGhpcy5pdGVtc0xvYWRlZC5lbWl0KHJlc3BvbnNlLmxvYWQpO1xyXG5cdFx0XHRcdFx0XHR0aGlzLmxlbmd0aFVzZXJzID0gcmVzcG9uc2UudG90YWxSZWNvcmRzO1xyXG5cclxuXHRcdFx0XHRcdFx0dGhpcy5maWx0ZXJJdGVtcyA9IG5ldyBTZXQoXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5sb2FkZWRJdGVtcy5tYXAoaXRlbSA9PiBpdGVtLmlkKVxyXG5cdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5lcnJvcihyZXNwb25zZSk7XHJcblx0XHRcdFx0XHRcdHRoaXMuc25hY2tiYXIud2FybmluZyhcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnRyYW5zbGF0ZS50cmFuc2Zvcm0oXHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLml0ZW1zRW5kcG9pbnQuZXJyb3JzPy5bcmVzcG9uc2UucmVzcG9uc2VDb2RlXSA/PyAnU29tZXRoaW5nIHdlbnQgd3JvbmcnXHJcblx0XHRcdFx0XHRcdFx0KVxyXG5cdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0dGhpcy5sb2FkaW5nU3RhdHVzID0gZmFsc2U7XHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRlcnJvcjogKGVycm9yKSA9PiB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmVycm9yKGVycm9yKTtcclxuXHRcdFx0XHRcdHRoaXMubG9hZGluZ1N0YXR1cyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0dGhpcy5zbmFja2Jhci53YXJuaW5nKFxyXG5cdFx0XHRcdFx0XHR0aGlzLnRyYW5zbGF0ZS50cmFuc2Zvcm0oXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5pdGVtc0VuZHBvaW50LmVycm9ycz8uWydkZWZhdWx0J10gPz8gJ1NvbWV0aGluZyB3ZW50IHdyb25nJ1xyXG5cdFx0XHRcdFx0XHQpXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSk7XHJcblx0XHR9ZWxzZXtcclxuXHRcdFx0dGhpcy5zZWFyY2gudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDMwMCkpLnN1YnNjcmliZSh7XHJcblx0XHRcdFx0bmV4dDogKG5ld1NlYXJjaCkgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5maWx0ZXJJdGVtcyA9IG5ldyBTZXQodGhpcy5sb2FkZWRJdGVtcy5maWx0ZXIoXHJcblx0XHRcdFx0XHRcdGl0ZW0gPT4gKHRoaXMuc2VhcmNoRmlsdGVyID8/IGRlZmF1bHRGaWx0ZXIpKGl0ZW0pXHJcblx0XHRcdFx0XHRcdFx0LmZpbHRlcigodmFsdWU6IGFueSkgPT4gQm9vbGVhbih2YWx1ZSkpXHJcblx0XHRcdFx0XHRcdFx0LnNvbWUoKHZhbHVlOiBzdHJpbmcpID0+IHsgXHJcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gdmFsdWUudG9Mb3dlckNhc2U/LigpLmluY2x1ZGVzKG5ld1NlYXJjaD8udG9Mb3dlckNhc2UoKSA/PyAnJykgXHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdCkubWFwKGl0ZW0gPT4gaXRlbS5pZCkpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSlcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0XHJcblx0fVxyXG5cdC8qXHJcblx0bmdPbkluaXQoKSB7XHJcblx0XHRpZiAoQm9vbGVhbih0aGlzLmxpc3RFbmRwb2ludCkpIHtcclxuXHRcdFx0Ly8gdGhpcy5sb2FkSXRlbXMoKTtcclxuXHRcdFx0dGhpcy5yZWxvYWRTdWJqZWN0Py5zdWJzY3JpYmUoeyBuZXh0OiAoKSA9PiB0aGlzLmxvYWRJdGVtcygpIH0pO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5zZWFyY2gudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDMwMCkpLnN1YnNjcmliZSh7XHJcblx0XHRcdG5leHQ6IChuZXdTZWFyY2gpID0+IHtcclxuXHRcdFx0XHR0aGlzLmZpbHRlckl0ZW1zID0gbmV3IFNldCh0aGlzLmxvYWRlZEl0ZW1zLmZpbHRlcihcclxuXHRcdFx0XHRcdGl0ZW0gPT4gKHRoaXMuc2VhcmNoRmlsdGVyID8/IGRlZmF1bHRGaWx0ZXIpKGl0ZW0pXHJcblx0XHRcdFx0XHRcdC5maWx0ZXIoKHZhbHVlOiBhbnkpID0+IEJvb2xlYW4odmFsdWUpKVxyXG5cdFx0XHRcdFx0XHQuc29tZSgodmFsdWU6IHN0cmluZykgPT4geyBcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gdmFsdWUudG9Mb3dlckNhc2U/LigpLmluY2x1ZGVzKG5ld1NlYXJjaD8udG9Mb3dlckNhc2UoKSA/PyAnJykgXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0KS5tYXAoaXRlbSA9PiBpdGVtLmlkKSk7XHJcblx0XHRcdH1cclxuXHRcdH0pXHJcblx0fVxyXG5cdCovXHJcblxyXG5cdFx0XHJcblx0bmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG5cdFx0bGV0IHsgbGlzdEVuZHBvaW50LCBpdGVtcywgb3JkZXJQcm9wZXJ0aWVzIH0gPSBjaGFuZ2VzO1xyXG5cdFx0aWYgKEJvb2xlYW4obGlzdEVuZHBvaW50KSAmJiAobGlzdEVuZHBvaW50Py5wcmV2aW91c1ZhbHVlICE9PSBsaXN0RW5kcG9pbnQ/LmN1cnJlbnRWYWx1ZSkpIHtcclxuXHRcdFx0dGhpcy5sb2FkSXRlbXMoKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGlmIChpdGVtcykge1xyXG5cdFx0XHRcdHRoaXMubG9hZGVkSXRlbXMgPSBpdGVtcy5jdXJyZW50VmFsdWU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdGlmICghQm9vbGVhbih0aGlzLmxpc3RFbmRwb2ludCkgJiYgaXRlbXM/LmN1cnJlbnRWYWx1ZSkge1xyXG5cdFx0XHR0aGlzLnNlYXJjaC5zZXRWYWx1ZSgnJyk7XHJcblx0XHR9XHJcblx0XHRpZiAob3JkZXJQcm9wZXJ0aWVzPy5jdXJyZW50VmFsdWUpIHtcclxuXHRcdFx0dGhpcy5vcmRlclByb3BlcnR5SWNvbiA9IG9yZGVyUHJvcGVydGllcy5jdXJyZW50VmFsdWUucmVkdWNlKChhY2M6IGFueSwgY3VycjogYW55KSA9PiAoeyAuLi5hY2MsIFtjdXJyLnByb3BlcnR5XTogY3Vyci5hc2NJY29uIH0pLCB7fSlcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHNldE9yZGVyKHByb3BlcnR5OiBhbnkpIHtcclxuXHRcdHRoaXMub3JkZXJJdGVtcy5uZXh0KHByb3BlcnR5KTtcclxuXHR9XHJcblxyXG5cdHNlbGVjdFVzZXIodXNlcjogYW55KSB7IH1cclxuXHJcblx0Z2V0U2VydmVyRGF0YVVzZXJzKGV2ZW50OiBhbnkpIHtcclxuXHRcdHRoaXMuY3VycmVudFBhZ2UgPSBldmVudC5wYWdlSW5kZXggKyAxXHJcblx0XHR0aGlzLmxvYWRJdGVtcygpO1xyXG5cdH1cclxuXHJcblx0Z2V0VWlDb21wb25lbnRJbnB1dHMoaXRlbTogYW55KSB7XHJcblx0XHRyZXR1cm4gKHsgLi4udGhpcy51aUNvbXBvbmVudElucHV0cywgb2JqZWN0OiBpdGVtIH0pO1xyXG5cdH1cclxuXHJcblxyXG5cdGhhc0Zvcm1Db250cm9sKGl0ZW06IGFueSkge1xyXG5cdFx0cmV0dXJuIEJvb2xlYW4odGhpcy5pdGVtQ29udHJvbHNbaXRlbS5pZF0pID8/IGZhbHNlO1xyXG5cdH1cclxuXHJcblx0aXRlbUNvbnRyb2woaXRlbTogYW55KSB7XHJcblx0XHRyZXR1cm4gdGhpcy5pdGVtQ29udHJvbHNbaXRlbS5pZF07XHJcblx0fVxyXG5cclxuXHRjaGVja2JveENoYW5nZShldmVudDogYW55LCBpZDogbnVtYmVyKSB7XHJcblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHRcdHRoaXMudG9nZ2xlSXRlbS5lbWl0KHsgaWQsIGNoZWNrZWQ6IGV2ZW50LnRhcmdldC5jaGVja2VkIH0pO1xyXG5cdH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuZnVuY3Rpb24gZ2V0TmVzdGVkUHJvcGVydHkob2JqOiBhbnksIHByb3BlcnR5OiBzdHJpbmcpIHtcclxuXHRyZXR1cm4gcHJvcGVydHkuc3BsaXQoJy4nKS5yZWR1Y2UoKGFjYywgcGFydCkgPT4gYWNjICYmIGFjY1twYXJ0XSwgb2JqKTtcclxufVxyXG5cclxuZnVuY3Rpb24gYWxwaGFiZXRTb3J0KGFycmF5OiBhbnlbXSwgcHJvcGVydHk6IHN0cmluZywgYXNjOiBib29sZWFuKSB7XHJcblx0cmV0dXJuIGFycmF5LnNvcnQoKGEsIGIpID0+IHtcclxuXHRcdGNvbnN0IGFWYWx1ZSA9IGdldE5lc3RlZFByb3BlcnR5KGEsIHByb3BlcnR5KSA/PyAnJztcclxuXHRcdGNvbnN0IGJWYWx1ZSA9IGdldE5lc3RlZFByb3BlcnR5KGIsIHByb3BlcnR5KSA/PyAnJztcclxuXHJcblx0XHRpZiAoYVZhbHVlIDwgYlZhbHVlKSB7XHJcblx0XHRcdHJldHVybiBhc2MgPyAtMSA6IDE7XHJcblx0XHR9XHJcblx0XHRpZiAoYVZhbHVlID4gYlZhbHVlKSB7XHJcblx0XHRcdHJldHVybiBhc2MgPyAxIDogLTE7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gMDtcclxuXHR9KTtcdFxyXG59XHJcblxyXG5mdW5jdGlvbiBzd2l0Y2hNYXBwZXIgKG1hcHBlcjogRnVuY3Rpb24pIDogYW55IHtcclxuXHRyZXR1cm4gKHZhbHVlOiBhbnkpID0+IHtcclxuXHRcdHJldHVybiBtYXBwZXIodmFsdWUpfVxyXG59IiwiPGRpdiBbYXR0ci5kYXRhLXRoZW1lXT1cInRoZW1lXCIgY2xhc3M9XCJ0aXRsZS1pbmZvLWhlYWRlclwiXHJcblx0Km5nSWY9XCJoYXNJY29uIHx8IGhhc1RpdGxlIHx8IHNob3dDcmVhdGVCdXR0b24gfHwgc2hvd09yZGVyQnV0dG9uc1wiPlxyXG5cdDxkaXYgY2xhc3M9XCJ0aXRsZS1pbmZvXCIgKm5nSWY9XCJoYXNJY29uIHx8IGhhc1RpdGxlIHx8IHNob3dDcmVhdGVCdXR0b25cIj5cclxuXHRcdDxpICpuZ0lmPVwiaGFzSWNvblwiIFtjbGFzc109XCJbaWNvbl1cIj48L2k+XHJcblx0XHQ8c3BhbiBjbGFzcz1cInRpdGxlXCIgKm5nSWY9XCJoYXNUaXRsZVwiPnt7dGl0bGUgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuXHRcdDxkaXYgKm5nSWY9XCJzaG93Q3JlYXRlQnV0dG9uXCIgY2xhc3M9XCJhZGQtYnV0dG9uLXVzZXJcIiBtYXRUb29sdGlwPVwiTnVldm8gVXN1YXJpb1wiIChjbGljayk9XCJhZGRDbGljay5lbWl0KCRldmVudClcIj5cclxuXHRcdFx0PGkgY2xhc3M9XCJtZW51LXBsdXNcIj48L2k+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuXHQ8IS0tIDxkaXYgKm5nSWY9XCJzaG93T3JkZXJCdXR0b25zXCIgY2xhc3M9XCJidXR0b25zLWZpbHRlci1zZWN0aW9uXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwiYWxwaGFiZXRpYy11c2VyLWZpbHRlci1idXR0b25cIiBbY2xhc3MuYWN0aXZlXT1cIm9yZGVyQnkubmFtZSA9PSAnbmFtZSdcIiAoY2xpY2spPVwic2V0T3JkZXIoJ25hbWUnKVwiXHJcblx0XHRcdG1hdFRvb2x0aXA9XCJPcmRlciBCeSBOYW1lXCIgbWF0VG9vbHRpcENsYXNzPVwicHVsc2UtdG9vbHRpcFwiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiaWNvbi1idXR0b24tZmlsdGVyXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImljb24tYnV0dG9uLWZpbHRlclwiIFtuZ0NsYXNzXT1cIlxyXG4gICAgICAgICAgICBvcmRlckJ5Lm5hbWUgPT0gJ25hbWUnICYmIG9yZGVyQnkub3JkZXJEaXJlY3Rpb24gPT0gJ0RFU0MnXHJcbiAgICAgICAgICAgICAgPyAnbWVudS1hbHBoYWJldC1hc2MnXHJcbiAgICAgICAgICAgICAgOiAnbWVudS1hbHBoYWJldC1kZXNjJ1xyXG4gICAgICAgICAgXCI+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8ZGl2IGNsYXNzPVwiYWxwaGFiZXRpYy11c2VyLWZpbHRlci1idXR0b25cIiBbY2xhc3MuYWN0aXZlXT1cIm9yZGVyQnkubmFtZSA9PSAnc2Vjb25kbmFtZSdcIlxyXG5cdFx0XHQoY2xpY2spPVwic2V0T3JkZXIoJ2xhc3RuYW1lJylcIiBtYXRUb29sdGlwPVwiT3JkZXIgQnkgTGFzdCBOYW1lXCIgbWF0VG9vbHRpcENsYXNzPVwicHVsc2UtdG9vbHRpcFwiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiaWNvbi1idXR0b24tZmlsdGVyXCIgW25nQ2xhc3NdPVwiXHJcbiAgICAgICAgICBvcmRlckJ5Lm5hbWUgPT0gJ3NlY29uZG5hbWUnICYmIG9yZGVyQnkub3JkZXJEaXJlY3Rpb24gPT0gJ0RFU0MnXHJcbiAgICAgICAgICAgID8gJ21lbnUtdXNlci1sZWZ0J1xyXG4gICAgICAgICAgICA6ICdtZW51LXVzZXItcmlnaHQnXHJcbiAgICAgICAgXCI+PC9kaXY+XHJcblx0XHQ8L2Rpdj5cclxuXHRcdDxkaXYgY2xhc3M9XCJhbHBoYWJldGljLXVzZXItZmlsdGVyLWJ1dHRvblwiIFtjbGFzcy5hY3RpdmVdPVwib3JkZXJCeS5uYW1lID09ICdjdXN0b21lcidcIlxyXG5cdFx0XHQoY2xpY2spPVwic2V0T3JkZXIoJ2N1c3RvbWVyLm5hbWUnKVwiIG1hdFRvb2x0aXA9XCJPcmRlciBCeSBDdXN0b21lclwiIG1hdFRvb2x0aXBDbGFzcz1cInB1bHNlLXRvb2x0aXBcIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImljb24tYnV0dG9uLWZpbHRlclwiIFtuZ0NsYXNzXT1cIlxyXG4gICAgICAgICAgb3JkZXJCeS5uYW1lID09ICdjdXN0b21lcicgJiYgb3JkZXJCeS5vcmRlckRpcmVjdGlvbiA9PSAnREVTQydcclxuICAgICAgICAgICAgPyAnbWV1bi1jdXN0b21lci1hc2MnXHJcbiAgICAgICAgICAgIDogJ21lbnUtY3VzdG9tZXItZGVzYydcclxuICAgICAgICBcIj48L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdDwvZGl2PiAtLT5cclxuXHQ8ZGl2ICpuZ0lmPVwiaGFzT3JkZXJCdXR0b25zXCIgY2xhc3M9XCJidXR0b25zLWZpbHRlci1zZWN0aW9uXCI+XHJcblx0XHQ8ZGl2ICpuZ0Zvcj1cImxldCBvcmRlciBvZiBvcmRlclByb3BlcnRpZXNcIiBjbGFzcz1cImFscGhhYmV0aWMtdXNlci1maWx0ZXItYnV0dG9uXCJcclxuXHRcdFx0W2NsYXNzLmFjdGl2ZV09XCJjdXJyZW50T3JkZXIucHJvcGVydHkgPT09IG9yZGVyLnByb3BlcnR5XCIgKGNsaWNrKT1cInNldE9yZGVyKG9yZGVyKVwiXHJcblx0XHRcdFttYXRUb29sdGlwXT1cIm9yZGVyLnRvb2x0aXAgPz8gJydcIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImljb24tYnV0dG9uLWZpbHRlclwiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJpY29uLWJ1dHRvbi1maWx0ZXJcIiBbY2xhc3NdPVwiW29yZGVyUHJvcGVydHlJY29uW29yZGVyLnByb3BlcnR5XV1cIj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L2Rpdj5cclxuXHJcblx0PC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPCEtLSA8ZGl2IFthdHRyLmRhdGEtdGhlbWVdPVwidGhlbWVcIiBjbGFzcz1cImZpbHRlci1pdGVtIHNlbGVjdGVkLWl0ZW1cIiAqbmdJZj1cInNlbGVjdGVkSXRlbSAmJiBzaG93U2VsZWN0ZWRBdFRvcFwiPlxyXG5cdDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiZW50aXR5VWlDb21wb25lbnQ7IGlucHV0czpnZXRVaUNvbXBvbmVudElucHV0cyhzZWxlY3RlZEl0ZW0pXCI+XHJcblxyXG5cdDwvbmctY29udGFpbmVyPlxyXG5cclxuPC9kaXY+IC0tPlxyXG5cclxuXHJcbjxsaWItaW5wdXQgbmdEZWZhdWx0Q29udHJvbCBbZm9ybUNvbnRyb2xdPVwic2VhcmNoXCIgbmFtZT1cInNlYXJjaFwiIFtsYWJlbF09XCInU2VhcmNoLi4uJyB8IHRyYW5zbGF0ZVwiIFtjbGVhckJ1dHRvbl09XCJ0cnVlXCJcclxuXHRpY29uPVwibWVudS1zZWFyY2hcIiBbdGhlbWVdPVwidGhlbWVcIiAqbmdJZj1cInNob3dTZWFyY2hcIj48L2xpYi1pbnB1dD5cclxuXHJcblxyXG48ZGl2IGNsYXNzPVwibGlzdC1pdGVtLWNvbnRhaW5lclwiPlxyXG5cdDxsaWItbG9hZGVyIFt0aGVtZV09XCJ0aGVtZVwiIFt0eXBlXT1cIidiYXInXCIgW2xvYWRpbmddPVwibG9hZGluZ1wiPjwvbGliLWxvYWRlcj5cclxuXHQ8c3BhbiBjbGFzcz1cInBsYWNlaG9sZGVyXCIgKm5nSWY9XCIhbG9hZGluZyAmJiBpc0VtcHR5XCI+e3tlbXB0eUxhYmVsIHwgdHJhbnNsYXRlXHJcblx0XHR9fTwvc3Bhbj5cclxuXHQ8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxpc3RJdGVtc1wiPlxyXG5cdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlckl0ZW1zLmhhcyhpdGVtLmlkKVwiPlxyXG5cdFx0XHQ8ZGl2ICpuZ0lmPVwiZHJhZ2dhYmxlSXRlbXNcIiBjZGtEcmFnIFtjZGtEcmFnRGF0YV09XCJpdGVtXCI+XHJcblx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdiAqbmdJZj1cIiFkcmFnZ2FibGVJdGVtc1wiPlxyXG5cdFx0XHRcdDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHRcdDxuZy10ZW1wbGF0ZSAjaXRlbVRlbXBsYXRlPlxyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdDxkaXYgW2F0dHIuZGF0YS10aGVtZV09XCJ0aGVtZVwiXHJcblx0XHRcdFx0XHRbY2xhc3NdPVwiZ2V0SXRlbUNsYXNzKGl0ZW0pXCJcclxuXHRcdFx0XHRcdChjbGljayk9XCJzZWxlY3RJdGVtLmVtaXQoaXRlbSlcIj5cclxuXHRcdFx0XHRcdDxsaWItY2hlY2tib3ggKm5nSWY9XCJtdWx0aXBsZVNlbGVjdGlvblwiIFtjaGVja2VkXT1cInNlbGVjdGlvbklkcy5oYXMoaXRlbS5pZClcIlxyXG5cdFx0XHRcdFx0XHQoaW5wdXRDaGFuZ2UpPVwiY2hlY2tib3hDaGFuZ2UoJGV2ZW50LCBpdGVtLmlkKVwiIC8+XHJcblx0XHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiZW50aXR5VWlDb21wb25lbnRcIj5cclxuXHRcdFx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJlbnRpdHlVaUNvbXBvbmVudDsgaW5wdXRzOmdldFVpQ29tcG9uZW50SW5wdXRzKGl0ZW0pXCI+PC9uZy1jb250YWluZXI+XHJcblx0XHRcdFx0XHQ8L25nLWNvbnRhaW5lcj5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJzaW1wbGUtaXRlbVwiICpuZ0lmPVwiIWVudGl0eVVpQ29tcG9uZW50XCI+XHJcblx0XHRcdFx0XHRcdHt7aXRlbUxhYmVsTWFwKGl0ZW0pID8/IGl0ZW0ubmFtZX19XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PCEtLSA8ZGl2IFthdHRyLmRhdGEtdGhlbWVdPVwidGhlbWVcIlxyXG4gICAgICAgIFtjbGFzc109XCJbJ2ZpbHRlci1pdGVtJywgc2VsZWN0aW9uSWRzLmhhcyhpdGVtLmlkKSA/ICdzZWxlY3RlZC1pdGVtJzogJycsIG11bHRpcGxlU2VsZWN0aW9uID8gJ2NoZWNrYm94LW1hcmdpbicgOiAnJ11cIlxyXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RJdGVtLmVtaXQoaXRlbSlcIj5cclxuICAgICAgICA8bGliLWNoZWNrYm94ICpuZ0lmPVwibXVsdGlwbGVTZWxlY3Rpb25cIiBbY2hlY2tlZF09XCJzZWxlY3Rpb25JZHMuaGFzKGl0ZW0uaWQpXCJcclxuICAgICAgICAgIChpbnB1dENoYW5nZSk9XCJjaGVja2JveENoYW5nZSgkZXZlbnQsIGl0ZW0uaWQpXCIgLz5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cImVudGl0eVVpQ29tcG9uZW50OyBpbnB1dHM6Z2V0VWlDb21wb25lbnRJbnB1dHMoaXRlbSlcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgXHQ8L2Rpdj4gLS0+XHJcblx0XHRcdDwvbmctdGVtcGxhdGU+XHJcblx0XHQ8L25nLWNvbnRhaW5lcj5cclxuXHQ8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcbjxtYXQtcGFnaW5hdG9yICpuZ0lmPVwic2hvd1BhZ2luYXRvciAmJiBpc0R5bmFtaWNcIiAjcGFnaW5hdG9yIGhpZGVQYWdlU2l6ZSBzaG93Rmlyc3RMYXN0QnV0dG9ucyBbcGFnZVNpemVdPVwicGFnZVNpemVcIlxyXG5cdFtwYWdlSW5kZXhdPVwiY3VycmVudFBhZ2UgLSAxXCIgW2xlbmd0aF09XCJsZW5ndGhVc2Vyc1wiIChwYWdlKT1cInBhZ2VFdmVudCA9IGdldFNlcnZlckRhdGFVc2VycygkZXZlbnQpXCJcclxuXHRjbGFzcz1cIm1zZi1wYWdpbmF0b3ItbWFwcGluZyBtc2YtcGFnaW5hdG9yLVN0eWxlXCI+XHJcblxyXG48L21hdC1wYWdpbmF0b3I+XHJcbjwhLS0gXHJcbjxtYXQtcGFnaW5hdG9yXHJcbiAgICAgICAgKm5nSWY9XCIhaXNMb2FkaW5nVHlwZUZpbHRlcnNcIlxyXG4gICAgICAgICNwYWdpbmF0b3JcclxuICAgICAgICBoaWRlUGFnZVNpemVcclxuICAgICAgICBzaG93Rmlyc3RMYXN0QnV0dG9uc1xyXG4gICAgICAgIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVVzZXJzXCJcclxuICAgICAgICBbcGFnZUluZGV4XT1cInBhZ2VJbmRleFVzZXJzXCJcclxuICAgICAgICBbbGVuZ3RoXT1cImxlbmd0aFVzZXJzXCJcclxuICAgICAgICAocGFnZSk9XCJwYWdlRXZlbnQgPSBnZXRTZXJ2ZXJEYXRhVXNlcnMoJGV2ZW50KVwiXHJcbiAgICAgICAgY2xhc3M9XCJtc2YtcGFnaW5hdG9yLW1hcHBpbmcgbXNmLXBhZ2luYXRvci1TdHlsZVwiXHJcbiAgICAgID5cclxuPC9tYXQtcGFnaW5hdG9yPiAtLT4iXX0=
|
|
378
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbXMtdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FzcC1saWIvc3JjL2xpYi9pdGVtcy12aWV3ZXIvaXRlbXMtdmlld2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FzcC1saWIvc3JjL2xpYi9pdGVtcy12aWV3ZXIvaXRlbXMtdmlld2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUVsRCxNQUFNLGFBQWEsR0FBRyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQU8xRSxNQUFNLE9BQU8sb0JBQW9CO0lBZ0RoQyxJQUFJLFFBQVEsS0FBSyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBQzdDLElBQUksT0FBTyxLQUFLLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFDM0MsSUFBSSxlQUFlLEtBQUssT0FBTyxJQUFJLENBQUMsZUFBZSxD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QUMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBRSxNQUFnQjtJQUN0QyxPQUFPLENBQUMsS0FBVSxFQUFFLEVBQUU7UUFDckIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7SUFBQSxDQUFDLENBQUE7QUFDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIEVNUFRZLCBvZiwgU3ViamVjdCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNuYWNrYmFyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3NuYWNrYmFyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZWN1cml0eUVuZHBvaW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgZGVmYXVsdFN3aXRjaE1hcHBlciB9IGZyb20gJy4uL3V0aWxzL3V0aWxzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uL3BpcGVzL3RyYW5zbGF0ZS5waXBlJztcclxuaW1wb3J0IHsgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbmNvbnN0IGRlZmF1bHRGaWx0ZXIgPSAoaXRlbTogYW55KSA9PiBbaXRlbT8ubmFtZSA/PyBKU09OLnN0cmluZ2lmeShpdGVtKV07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2xpYi1pdGVtcy12aWV3ZXInLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9pdGVtcy12aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuLi9hc3NldHMvZm9udHMvc3R5bGUuY3NzJywgJy4uL2Fzc2V0cy90aGVtZS5zY3NzJywgJy4vaXRlbXMtdmlld2VyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEl0ZW1zVmlld2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuXHRASW5wdXQoKSBpY29uOiBzdHJpbmcgPSAnJztcclxuXHRASW5wdXQoKSB0aGVtZTogc3RyaW5nID0gJ2RlZmF1bHQnO1xyXG5cdEBJbnB1dCgpIHRpdGxlOiBzdHJpbmcgPSAnJztcclxuXHRASW5wdXQoKSBpdGVtSWNvbjogc3RyaW5nID0gJyc7XHJcblx0QElucHV0KCkgaXRlbXM6IGFueVtdID0gW107XHJcblx0QElucHV0KCkgZW50aXR5VWlDb21wb25lbnQ6IFR5cGU8YW55PiB8IG51bGwgPSBudWxsO1xyXG5cdEBJbnB1dCgpIHVpQ29tcG9uZW50SW5wdXRzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge307XHJcblx0Ly8gQElucHV0KCkgc2VhcmNoQnk6IHN0cmluZ1tdID0gWyduYW1lJ107XHJcblx0QElucHV0KCkgc2VhcmNoRmlsdGVyPzogRnVuY3Rpb247XHJcblx0QElucHV0KCkgc2hvd0NyZWF0ZUJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNob3dPcmRlckJ1dHRvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSBzZWxlY3RlZEl0ZW06IGFueSA9IG51bGw7XHJcblx0QElucHV0KCkgc2VsZWN0aW9uSWRzOiBTZXQ8c3RyaW5nIHwgbnVtYmVyPiA9IG5ldyBTZXQoW10pO1xyXG5cdEBJbnB1dCgpIG11bHRpcGxlU2VsZWN0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcblx0QElucHV0KCkgc2hvd1NlbGVjdGVkQXRUb3A6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSBpdGVtQ29udHJvbHM6IHsgW2tleTogbnVtYmVyIHwgc3RyaW5nXTogYW55IH0gPSB7fTtcclxuXHRASW5wdXQoKSBzaG93UGFnaW5hdG9yOiBib29sZWFuID0gdHJ1ZTtcclxuXHRASW5wdXQoKSBkcmFnZ2FibGVJdGVtczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNob3dTZWFyY2g6IGJvb2xlYW4gPSB0cnVlO1xyXG5cdEBJbnB1dCgpIGxpc3RFbmRwb2ludDogc3RyaW5nID0gJyc7XHJcblx0QElucHV0KCkgaXRlbXNFbmRwb2ludDogU2VjdXJpdHlFbmRwb2ludCA9IHt1cmw6ICcnfTtcclxuXHRASW5wdXQoKSBsaXN0UmVxdWVzdE1hcHBpbmc6IGFueSA9IChyZXNwb25zZTogYW55KSA9PiBvZihyZXNwb25zZSk7XHJcblx0QElucHV0KCkgZW5kcG9pbnRQYXJhbXM6IHN0cmluZyA9ICcnO1xyXG5cdEBJbnB1dCgpIHJlbG9hZFN1YmplY3Q/OiBTdWJqZWN0PGJvb2xlYW4+O1xyXG5cdEBJbnB1dCgpIGV4dGVybmFsTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIG9yZGVyUHJvcGVydGllczogeyBwcm9wZXJ0eTogc3RyaW5nLCBhc2NJY29uOiBzdHJpbmcsIGRlc2NJY29uOiBzdHJpbmcsIHRvb2x0aXA/OiBzdHJpbmcgfVtdID0gW107XHJcblx0QElucHV0KCkgZW1wdHlQbGFjZWhvbGRlcjogc3RyaW5nID0gJ05vdCBGb3VuZCAyJztcclxuXHRASW5wdXQoKSBpdGVtTGFiZWxNYXA6IGFueSA9IChpdGVtOiBhbnkpID0+IGl0ZW0ubmFtZTtcclxuXHRAT3V0cHV0KCkgc2VsZWN0SXRlbSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cdEBPdXRwdXQoKSB0b2dnbGVJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblx0QE91dHB1dCgpIGFkZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblx0QE91dHB1dCgpIGl0ZW1zTG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblx0QEhvc3RCaW5kaW5nKCdzdHlsZScpIGhvc3RTdHlsZTogYW55O1xyXG5cclxuXHRvcmRlclByb3BlcnR5SWNvbjogeyBbcHJvcGVydHk6IHN0cmluZ106IHN0cmluZyB9ID0geyBuYW1lOiAnbWVudS1hbHBoYWJldC1hc2MnIH07XHJcblx0Y3VycmVudE9yZGVyOiB7IHByb3BlcnR5OiBzdHJpbmcsIGFzYzogYm9vbGVhbiB9ID0geyBwcm9wZXJ0eTogJ25hbWUnLCBhc2M6IHRydWUgfTtcclxuXHRvcmRlckl0ZW1zOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xyXG5cdHNlYXJjaCA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKTtcclxuXHRjdXJyZW50UGFnZSA9IDE7XHJcblx0QElucHV0KCkgcGFnZVNpemUgPSA1MDtcclxuXHRwYWdlSW5kZXhVc2VycyA9IDE7XHJcblx0bGVuZ3RoVXNlcnMgPSAxMDtcclxuXHRwYWdlRXZlbnQ6IGFueSA9ICcnO1xyXG5cdGZpbHRlckl0ZW1zOiBTZXQ8bnVtYmVyPiA9IG5ldyBTZXQoW10pO1xyXG5cdGxvYWRlZEl0ZW1zOiBhbnlbXSA9IFtdO1xyXG5cdGxvYWRpbmdTdGF0dXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRnZXQgaGFzVGl0bGUoKSB7IHJldHVybiBCb29sZWFuKHRoaXMudGl0bGUpIH1cclxuXHRnZXQgaGFzSWNvbigpIHsgcmV0dXJuIEJvb2xlYW4odGhpcy5pY29uKSB9XHJcblx0Z2V0IGhhc09yZGVyQnV0dG9ucygpIHsgcmV0dXJuIHRoaXMub3JkZXJQcm9wZXJ0aWVzLmxlbmd0aCA+IDAgfVxyXG5cdGdldCBsb2FkaW5nKCkgeyByZXR1cm4gdGhpcy5sb2FkaW5nU3RhdHVzIHx8IHRoaXMuZXh0ZXJuYWxMb2FkaW5nIH1cclxuXHJcblx0Z2V0IGlzRHluYW1pYygpIHsgcmV0dXJuIEJvb2xlYW4odGhpcy5saXN0RW5kcG9pbnQpIH1cclxuXHRASW5wdXQoKSBzZXQgc3R5bGUoc3R5bGVJbnB1dDogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkge1xyXG5cdFx0dGhpcy5ob3N0U3R5bGUgPSBzdHlsZUlucHV0O1xyXG5cdH07XHJcblxyXG5cdGdldCBpc0VtcHR5KCkge1xyXG5cdFx0cmV0dXJuIHRoaXMubGlzdEl0ZW1zLmxlbmd0aCA8IDFcclxuXHR9XHJcblxyXG5cdGdldCBlbXB0eUxhYmVsKCkge1xyXG5cdFx0cmV0dXJuIEJvb2xlYW4odGhpcy5zZWFyY2gudmFsdWUpID8gXCJOb3QgRm91bmQgMVwiIDogdGhpcy5lbXB0eVBsYWNlaG9sZGVyO1xyXG5cdH1cclxuXHJcblx0Z2V0SXRlbUNsYXNzKGl0ZW06IGFueSkge1xyXG5cdFx0cmV0dXJuIFsnZmlsdGVyLWl0ZW0nLCB0aGlzLm11bHRpcGxlU2VsZWN0aW9uID8gKHRoaXMuc2VsZWN0aW9uSWRzLmhhcyhpdGVtLmlkKSA/ICdzZWxlY3RlZC1pdGVtJyA6ICcnKSA6ICh0aGlzLmlzSXRlbVNlbGVjdGVkKGl0ZW0pID8gJ3NlbGVjdGVkLWl0ZW0nIDogJycpLCAodGhpcy5tdWx0aXBsZVNlbGVjdGlvbiAmJiB0aGlzLmlzSXRlbVNlbGVjdGVkKGl0ZW0pKSA/ICdzZWNvbmQtc2VsZWN0aW9uJyA6ICcnLCB0aGlzLm11bHRpcGxlU2VsZWN0aW9uID8gJ2NoZWNrYm94LW1hcmdpbicgOiAnJ11cclxuXHR9XHJcblxyXG5cclxuXHRnZXQgbGlzdEl0ZW1zKCkge1xyXG5cdFx0Ly8gcmV0dXJuIChCb29sZWFuKHRoaXMubGlzdEVuZHBvaW50KSA/IHRoaXMubG9hZGVkSXRlbXMgOiB0aGlzLml0ZW1zKS5maWx0ZXIoKGl0ZW06IGFueSkgPT4gdGhpcy5zZWFyY2hCYXJQcm9wZXJ0aWVzLnNvbWUocHJvcGVydHkgPT4gaXRlbVtwcm9wZXJ0eV0/LmluY2x1ZGVzKHRoaXMuc2VhcmNoLnZhbHVlPy50b0xvd2VyQ2FzZSgpID8/ICcnKSkpXHJcblx0XHQvLyBcdC5zb3J0KChhLCBiKSA9PiBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpKTtcclxuXHRcdHJldHVybiB0aGlzLmxvYWRlZEl0ZW1zXHJcblx0fVxyXG5cclxuXHRnZXRPcmRlckljb24ocHJvcGVydHk6IHN0cmluZykge1xyXG5cdFx0cmV0dXJuIHRoaXMub3JkZXJQcm9wZXJ0eUljb25bcHJvcGVydHldO1xyXG5cdH1cclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIHNuYWNrYmFyOiBTbmFja2JhclNlcnZpY2UsIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVQaXBlKSB7XHJcblx0XHR0aGlzLm9yZGVySXRlbXMuc3Vic2NyaWJlKHtcclxuXHRcdFx0bmV4dDogKG5ld09yZGVyUHJvcGVydHkpID0+IHtcclxuXHRcdFx0XHR0aGlzLmN1cnJlbnRPcmRlciA9IHsgcHJvcGVydHk6IG5ld09yZGVyUHJvcGVydHkucHJvcGVydHksIGFzYzogIXRoaXMuY3VycmVudE9yZGVyLmFzYyB9XHJcblx0XHRcdFx0dGhpcy5sb2FkZWRJdGVtcyA9IGFscGhhYmV0U29ydCh0aGlzLmxvYWRlZEl0ZW1zLCBuZXdPcmRlclByb3BlcnR5LnByb3BlcnR5LCB0aGlzLmN1cnJlbnRPcmRlci5hc2MpO1xyXG5cdFx0XHRcdHRoaXMub3JkZXJQcm9wZXJ0eUljb25bbmV3T3JkZXJQcm9wZXJ0eS5wcm9wZXJ0eV0gPSB0aGlzLmN1cnJlbnRPcmRlci5hc2MgPyBuZXdPcmRlclByb3BlcnR5LmFzY0ljb24gOiBuZXdPcmRlclByb3BlcnR5LmRlc2NJY29uO1xyXG5cdFx0XHR9XHJcblx0XHR9KVxyXG5cdH1cclxuXHJcblx0aXNJdGVtU2VsZWN0ZWQoaXRlbTogYW55KSB7IHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbT8uaWQgPT09IGl0ZW0uaWQgfVxyXG5cclxuXHJcblxyXG5cdGxvYWRJdGVtcygpIHtcclxuXHRcdHRoaXMubG9hZGluZ1N0YXR1cyA9IHRydWU7XHJcblx0XHRpZih0aGlzLnRpdGxlICYmIHRoaXMudGl0bGUgPT09ICdVc2Vycycpe1xyXG5cdFx0XHRsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxyXG5cdFx0XHRcdC5zZXQoJ3BhZ2UnLCB0aGlzLmN1cnJlbnRQYWdlKVxyXG5cdFx0XHRcdC5zZXQoJ3BhZ2VTaXplJywgdGhpcy5wYWdlU2l6ZSk7XHJcblxyXG5cdFx0XHRpZiAodGhpcy5zZWFyY2gudmFsdWUgJiYgdGhpcy5zZWFyY2gudmFsdWUudHJpbSgpICE9PSAnJykge1xyXG5cdFx0XHRcdHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3NlYXJjaCcsIHRoaXMuc2VhcmNoLnZhbHVlLnRyaW0oKSk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHRoaXMuaHR0cC5nZXQodGhpcy5saXN0RW5kcG9pbnQsIHsgcGFyYW1zIH0pXHJcblx0XHRcdFx0LnBpcGUoc3dpdGNoTWFwKHRoaXMubGlzdFJlcXVlc3RNYXBwaW5nID8/IGRlZmF1bHRTd2l0Y2hNYXBwZXIpKVxyXG5cdFx0XHRcdC5zdWJzY3JpYmUoe1xyXG5cdFx0XHRcdFx0bmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuXHRcdFx0XHRcdFx0aWYgKHJlc3BvbnNlLnJlc3BvbnNlQ29kZSA9PT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5sb2FkZWRJdGVtcyA9IHJlc3BvbnNlLmxvYWQ7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5pdGVtc0xvYWRlZC5lbWl0KHJlc3BvbnNlLmxvYWQpO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMubGVuZ3RoVXNlcnMgPSByZXNwb25zZS50b3RhbFJlY29yZHM7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5maWx0ZXJJdGVtcyA9IG5ldyBTZXQodGhpcy5sb2FkZWRJdGVtcy5tYXAoaXRlbSA9PiBpdGVtLmlkKSk7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5sb2FkaW5nU3RhdHVzID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5lcnJvcihyZXNwb25zZSk7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5sb2FkaW5nU3RhdHVzID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5zbmFja2Jhci53YXJuaW5nKFxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy50cmFuc2xhdGUudHJhbnNmb3JtKFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLml0ZW1zRW5kcG9pbnQuZXJyb3JzPy5bcmVzcG9uc2UucmVzcG9uc2VDb2RlXSA/PyAnU29tZXRoaW5nIHdlbnQgd3JvbmcnXHJcblx0XHRcdFx0XHRcdFx0XHQpXHJcblx0XHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGVycm9yOiAoZXJyb3IpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5lcnJvcihlcnJvcik7XHJcblx0XHRcdFx0XHRcdHRoaXMubG9hZGluZ1N0YXR1cyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHR0aGlzLnNuYWNrYmFyLndhcm5pbmcoXHJcblx0XHRcdFx0XHRcdFx0dGhpcy50cmFuc2xhdGUudHJhbnNmb3JtKFxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5pdGVtc0VuZHBvaW50LmVycm9ycz8uWydkZWZhdWx0J10gPz8gJ1NvbWV0aGluZyB3ZW50IHdyb25nJ1xyXG5cdFx0XHRcdFx0XHRcdClcclxuXHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdH1lbHNle1xyXG5cdFx0XHRpZiAodGhpcy5saXN0RW5kcG9pbnQpIHt0aGlzLmh0dHAuZ2V0KHRoaXMuc2hvd1BhZ2luYXRvciA/IGAke3RoaXMubGlzdEVuZHBvaW50fT9wYWdlPSR7dGhpcy5jdXJyZW50UGFnZX0mcGFnZVNpemU9JHt0aGlzLnBhZ2VTaXplfSYke3RoaXMuZW5kcG9pbnRQYXJhbXN9YCA6IHRoaXMubGlzdEVuZHBvaW50KVxyXG5cdFx0XHQucGlwZShzd2l0Y2hNYXAodGhpcy5saXN0UmVxdWVzdE1hcHBpbmcgPz8gZGVmYXVsdFN3aXRjaE1hcHBlcikpLnN1YnNjcmliZSh7XHJcblx0XHRcdFx0bmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuXHRcdFx0XHRcdGlmIChyZXNwb25zZS5yZXNwb25zZUNvZGUgPT09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmxvYWRlZEl0ZW1zID0gcmVzcG9uc2UubG9hZDtcclxuXHRcdFx0XHRcdFx0dGhpcy5pdGVtc0xvYWRlZC5lbWl0KHJlc3BvbnNlLmxvYWQpO1xyXG5cdFx0XHRcdFx0XHR0aGlzLmxlbmd0aFVzZXJzID0gcmVzcG9uc2UudG90YWxSZWNvcmRzO1xyXG5cdFx0XHRcdFx0XHR0aGlzLmZpbHRlckl0ZW1zID0gbmV3IFNldChcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmxvYWRlZEl0ZW1zLm1hcChpdGVtID0+IGl0ZW0uaWQpXHJcblx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdC8vdGhpcy5zZWFyY2guc2V0VmFsdWUoJycpO1xyXG5cdFx0XHRcdFx0XHR0aGlzLmxvYWRpbmdTdGF0dXMgPSBmYWxzZTtcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUuZXJyb3IocmVzcG9uc2UpO1xyXG5cdFx0XHRcdFx0XHR0aGlzLmxvYWRpbmdTdGF0dXMgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0dGhpcy5zbmFja2Jhci53YXJuaW5nKHRoaXMudHJhbnNsYXRlLnRyYW5zZm9ybSh0aGlzLml0ZW1zRW5kcG9pbnQuZXJyb3JzPy5bcmVzcG9uc2UucmVzcG9uc2VDb2RlXSA/PyAnU29tZXRoaW5nIHdlbnQgd3JvbmcnKSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRlcnJvcjogKGVycm9yKSA9PiB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmVycm9yKGVycm9yKTtcclxuXHRcdFx0XHRcdHRoaXMubG9hZGluZ1N0YXR1cyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0dGhpcy5zbmFja2Jhci53YXJuaW5nKHRoaXMudHJhbnNsYXRlLnRyYW5zZm9ybSh0aGlzLml0ZW1zRW5kcG9pbnQuZXJyb3JzPy5bJ2RlZmF1bHQnXSA/PyAnU29tZXRoaW5nIHdlbnQgd3JvbmcnKSk7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhlcnJvcik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KTt9XHJcblx0XHR9XHJcblx0XHRcclxuXHR9XHJcblx0XHJcblx0bmdPbkluaXQoKSB7XHJcblx0XHRpZiAoQm9vbGVhbih0aGlzLmxpc3RFbmRwb2ludCkpIHtcclxuXHRcdFx0dGhpcy5yZWxvYWRTdWJqZWN0Py5zdWJzY3JpYmUoeyBuZXh0OiAoKSA9PiB0aGlzLmxvYWRJdGVtcygpIH0pO1xyXG5cdFx0fVxyXG5cdFx0aWYodGhpcy50aXRsZSAmJiB0aGlzLnRpdGxlID09PSAnVXNlcnMnKXtcclxuXHRcdFx0dGhpcy5zZWFyY2gudmFsdWVDaGFuZ2VzXHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdGRlYm91bmNlVGltZSgzMDApLFxyXG5cdFx0XHRcdGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcblx0XHRcdFx0c3dpdGNoTWFwKChuZXdTZWFyY2gpID0+IHtcclxuXHRcdFx0XHRcdGlmICghdGhpcy5saXN0RW5kcG9pbnQgfHwgdGhpcy5saXN0RW5kcG9pbnQudHJpbSgpID09PSAnJykge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gRU1QVFk7XHJcblx0XHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0dGhpcy5sb2FkaW5nU3RhdHVzID0gdHJ1ZTtcclxuXHJcblx0XHRcdFx0XHRsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuXHRcdFx0XHRcdGlmICh0aGlzLnNob3dQYWdpbmF0b3IpIHtcclxuXHRcdFx0XHRcdFx0cGFyYW1zID0gcGFyYW1zXHJcblx0XHRcdFx0XHRcdFx0LnNldCgncGFnZScsIDEpXHJcblx0XHRcdFx0XHRcdFx0LnNldCgncGFnZVNpemUnLCB0aGlzLnBhZ2VTaXplKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGlmICh0aGlzLmVuZHBvaW50UGFyYW1zKSB7XHJcblx0XHRcdFx0XHRcdGNvbnN0IGV4dHJhUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh0aGlzLmVuZHBvaW50UGFyYW1zKTtcclxuXHRcdFx0XHRcdFx0ZXh0cmFQYXJhbXMuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHBhcmFtcyA9IHBhcmFtcy5zZXQoa2V5LCB2YWx1ZSk7XHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3NlYXJjaCcsIG5ld1NlYXJjaD8udHJpbSgpID8/ICcnKTtcclxuXHJcblx0XHRcdFx0XHRyZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmxpc3RFbmRwb2ludCwgeyBwYXJhbXMgfSlcclxuXHRcdFx0XHRcdFx0LnBpcGUoc3dpdGNoTWFwKHRoaXMubGlzdFJlcXVlc3RNYXBwaW5nID8/IGRlZmF1bHRTd2l0Y2hNYXBwZXIpKTtcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHQpXHJcblx0XHRcdC5zdWJzY3JpYmUoe1xyXG5cdFx0XHRcdG5leHQ6IChyZXNwb25zZTogYW55KSA9PiB7XHJcblx0XHRcdFx0XHRpZiAocmVzcG9uc2UucmVzcG9uc2VDb2RlID09PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5sb2FkZWRJdGVtcyA9IHJlc3BvbnNlLmxvYWQ7XHJcblx0XHRcdFx0XHRcdHRoaXMuaXRlbXNMb2FkZWQuZW1pdChyZXNwb25zZS5sb2FkKTtcclxuXHRcdFx0XHRcdFx0dGhpcy5sZW5ndGhVc2VycyA9IHJlc3BvbnNlLnRvdGFsUmVjb3JkcztcclxuXHJcblx0XHRcdFx0XHRcdHRoaXMuZmlsdGVySXRlbXMgPSBuZXcgU2V0KFxyXG5cdFx0XHRcdFx0XHRcdHRoaXMubG9hZGVkSXRlbXMubWFwKGl0ZW0gPT4gaXRlbS5pZClcclxuXHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUuZXJyb3IocmVzcG9uc2UpO1xyXG5cdFx0XHRcdFx0XHR0aGlzLnNuYWNrYmFyLndhcm5pbmcoXHJcblx0XHRcdFx0XHRcdFx0dGhpcy50cmFuc2xhdGUudHJhbnNmb3JtKFxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5pdGVtc0VuZHBvaW50LmVycm9ycz8uW3Jlc3BvbnNlLnJlc3BvbnNlQ29kZV0gPz8gJ1NvbWV0aGluZyB3ZW50IHdyb25nJ1xyXG5cdFx0XHRcdFx0XHRcdClcclxuXHRcdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHRoaXMubG9hZGluZ1N0YXR1cyA9IGZhbHNlO1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0ZXJyb3I6IChlcnJvcikgPT4ge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5lcnJvcihlcnJvcik7XHJcblx0XHRcdFx0XHR0aGlzLmxvYWRpbmdTdGF0dXMgPSBmYWxzZTtcclxuXHRcdFx0XHRcdHRoaXMuc25hY2tiYXIud2FybmluZyhcclxuXHRcdFx0XHRcdFx0dGhpcy50cmFuc2xhdGUudHJhbnNmb3JtKFxyXG5cdFx0XHRcdFx0XHRcdHRoaXMuaXRlbXNFbmRwb2ludC5lcnJvcnM/LlsnZGVmYXVsdCddID8/ICdTb21ldGhpbmcgd2VudCB3cm9uZydcclxuXHRcdFx0XHRcdFx0KVxyXG5cdFx0XHRcdFx0KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cdFx0fWVsc2V7XHJcblx0XHRcdHRoaXMuc2VhcmNoLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgzMDApKS5zdWJzY3JpYmUoe1xyXG5cdFx0XHRcdG5leHQ6IChuZXdTZWFyY2gpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMuZmlsdGVySXRlbXMgPSBuZXcgU2V0KHRoaXMubG9hZGVkSXRlbXMuZmlsdGVyKFxyXG5cdFx0XHRcdFx0XHRpdGVtID0+ICh0aGlzLnNlYXJjaEZpbHRlciA/PyBkZWZhdWx0RmlsdGVyKShpdGVtKVxyXG5cdFx0XHRcdFx0XHRcdC5maWx0ZXIoKHZhbHVlOiBhbnkpID0+IEJvb2xlYW4odmFsdWUpKVxyXG5cdFx0XHRcdFx0XHRcdC5zb21lKCh2YWx1ZTogc3RyaW5nKSA9PiB7IFxyXG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHZhbHVlLnRvTG93ZXJDYXNlPy4oKS5pbmNsdWRlcyhuZXdTZWFyY2g/LnRvTG93ZXJDYXNlKCkgPz8gJycpIFxyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHQpLm1hcChpdGVtID0+IGl0ZW0uaWQpKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pXHJcblx0XHR9XHJcblx0XHRcclxuXHRcdFxyXG5cdH1cclxuXHQvKlxyXG5cdG5nT25Jbml0KCkge1xyXG5cdFx0aWYgKEJvb2xlYW4odGhpcy5saXN0RW5kcG9pbnQpKSB7XHJcblx0XHRcdC8vIHRoaXMubG9hZEl0ZW1zKCk7XHJcblx0XHRcdHRoaXMucmVsb2FkU3ViamVjdD8uc3Vic2NyaWJlKHsgbmV4dDogKCkgPT4gdGhpcy5sb2FkSXRlbXMoKSB9KTtcclxuXHRcdH1cclxuXHRcdHRoaXMuc2VhcmNoLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgzMDApKS5zdWJzY3JpYmUoe1xyXG5cdFx0XHRuZXh0OiAobmV3U2VhcmNoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5maWx0ZXJJdGVtcyA9IG5ldyBTZXQodGhpcy5sb2FkZWRJdGVtcy5maWx0ZXIoXHJcblx0XHRcdFx0XHRpdGVtID0+ICh0aGlzLnNlYXJjaEZpbHRlciA/PyBkZWZhdWx0RmlsdGVyKShpdGVtKVxyXG5cdFx0XHRcdFx0XHQuZmlsdGVyKCh2YWx1ZTogYW55KSA9PiBCb29sZWFuKHZhbHVlKSlcclxuXHRcdFx0XHRcdFx0LnNvbWUoKHZhbHVlOiBzdHJpbmcpID0+IHsgXHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHZhbHVlLnRvTG93ZXJDYXNlPy4oKS5pbmNsdWRlcyhuZXdTZWFyY2g/LnRvTG93ZXJDYXNlKCkgPz8gJycpIFxyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdCkubWFwKGl0ZW0gPT4gaXRlbS5pZCkpO1xyXG5cdFx0XHR9XHJcblx0XHR9KVxyXG5cdH1cclxuXHQqL1xyXG5cclxuXHRcdFxyXG5cdG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuXHRcdGxldCB7IGxpc3RFbmRwb2ludCwgaXRlbXMsIG9yZGVyUHJvcGVydGllcyB9ID0gY2hhbmdlcztcclxuXHRcdGlmIChCb29sZWFuKGxpc3RFbmRwb2ludCkgJiYgKGxpc3RFbmRwb2ludD8ucHJldmlvdXNWYWx1ZSAhPT0gbGlzdEVuZHBvaW50Py5jdXJyZW50VmFsdWUpKSB7XHJcblx0XHRcdHRoaXMubG9hZEl0ZW1zKCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRpZiAoaXRlbXMpIHtcclxuXHRcdFx0XHR0aGlzLmxvYWRlZEl0ZW1zID0gaXRlbXMuY3VycmVudFZhbHVlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRpZiAoIUJvb2xlYW4odGhpcy5saXN0RW5kcG9pbnQpICYmIGl0ZW1zPy5jdXJyZW50VmFsdWUpIHtcclxuXHRcdFx0dGhpcy5zZWFyY2guc2V0VmFsdWUoJycpO1xyXG5cdFx0fVxyXG5cdFx0aWYgKG9yZGVyUHJvcGVydGllcz8uY3VycmVudFZhbHVlKSB7XHJcblx0XHRcdHRoaXMub3JkZXJQcm9wZXJ0eUljb24gPSBvcmRlclByb3BlcnRpZXMuY3VycmVudFZhbHVlLnJlZHVjZSgoYWNjOiBhbnksIGN1cnI6IGFueSkgPT4gKHsgLi4uYWNjLCBbY3Vyci5wcm9wZXJ0eV06IGN1cnIuYXNjSWNvbiB9KSwge30pXHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRzZXRPcmRlcihwcm9wZXJ0eTogYW55KSB7XHJcblx0XHR0aGlzLm9yZGVySXRlbXMubmV4dChwcm9wZXJ0eSk7XHJcblx0fVxyXG5cclxuXHRzZWxlY3RVc2VyKHVzZXI6IGFueSkgeyB9XHJcblxyXG5cdGdldFNlcnZlckRhdGFVc2VycyhldmVudDogYW55KSB7XHJcblx0XHR0aGlzLmN1cnJlbnRQYWdlID0gZXZlbnQucGFnZUluZGV4ICsgMVxyXG5cdFx0dGhpcy5sb2FkSXRlbXMoKTtcclxuXHR9XHJcblxyXG5cdGdldFVpQ29tcG9uZW50SW5wdXRzKGl0ZW06IGFueSkge1xyXG5cdFx0cmV0dXJuICh7IC4uLnRoaXMudWlDb21wb25lbnRJbnB1dHMsIG9iamVjdDogaXRlbSB9KTtcclxuXHR9XHJcblxyXG5cclxuXHRoYXNGb3JtQ29udHJvbChpdGVtOiBhbnkpIHtcclxuXHRcdHJldHVybiBCb29sZWFuKHRoaXMuaXRlbUNvbnRyb2xzW2l0ZW0uaWRdKSA/PyBmYWxzZTtcclxuXHR9XHJcblxyXG5cdGl0ZW1Db250cm9sKGl0ZW06IGFueSkge1xyXG5cdFx0cmV0dXJuIHRoaXMuaXRlbUNvbnRyb2xzW2l0ZW0uaWRdO1xyXG5cdH1cclxuXHJcblx0Y2hlY2tib3hDaGFuZ2UoZXZlbnQ6IGFueSwgaWQ6IG51bWJlcikge1xyXG5cdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblx0XHR0aGlzLnRvZ2dsZUl0ZW0uZW1pdCh7IGlkLCBjaGVja2VkOiBldmVudC50YXJnZXQuY2hlY2tlZCB9KTtcclxuXHR9XHJcblxyXG59XHJcblxyXG5cclxuXHJcbmZ1bmN0aW9uIGdldE5lc3RlZFByb3BlcnR5KG9iajogYW55LCBwcm9wZXJ0eTogc3RyaW5nKSB7XHJcblx0cmV0dXJuIHByb3BlcnR5LnNwbGl0KCcuJykucmVkdWNlKChhY2MsIHBhcnQpID0+IGFjYyAmJiBhY2NbcGFydF0sIG9iaik7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGFscGhhYmV0U29ydChhcnJheTogYW55W10sIHByb3BlcnR5OiBzdHJpbmcsIGFzYzogYm9vbGVhbikge1xyXG5cdHJldHVybiBhcnJheS5zb3J0KChhLCBiKSA9PiB7XHJcblx0XHRjb25zdCBhVmFsdWUgPSBnZXROZXN0ZWRQcm9wZXJ0eShhLCBwcm9wZXJ0eSkgPz8gJyc7XHJcblx0XHRjb25zdCBiVmFsdWUgPSBnZXROZXN0ZWRQcm9wZXJ0eShiLCBwcm9wZXJ0eSkgPz8gJyc7XHJcblxyXG5cdFx0aWYgKGFWYWx1ZSA8IGJWYWx1ZSkge1xyXG5cdFx0XHRyZXR1cm4gYXNjID8gLTEgOiAxO1xyXG5cdFx0fVxyXG5cdFx0aWYgKGFWYWx1ZSA+IGJWYWx1ZSkge1xyXG5cdFx0XHRyZXR1cm4gYXNjID8gMSA6IC0xO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIDA7XHJcblx0fSk7XHRcclxufVxyXG5cclxuZnVuY3Rpb24gc3dpdGNoTWFwcGVyIChtYXBwZXI6IEZ1bmN0aW9uKSA6IGFueSB7XHJcblx0cmV0dXJuICh2YWx1ZTogYW55KSA9PiB7XHJcblx0XHRyZXR1cm4gbWFwcGVyKHZhbHVlKX1cclxufSIsIjxkaXYgW2F0dHIuZGF0YS10aGVtZV09XCJ0aGVtZVwiIGNsYXNzPVwidGl0bGUtaW5mby1oZWFkZXJcIlxyXG5cdCpuZ0lmPVwiaGFzSWNvbiB8fCBoYXNUaXRsZSB8fCBzaG93Q3JlYXRlQnV0dG9uIHx8IHNob3dPcmRlckJ1dHRvbnNcIj5cclxuXHQ8ZGl2IGNsYXNzPVwidGl0bGUtaW5mb1wiICpuZ0lmPVwiaGFzSWNvbiB8fCBoYXNUaXRsZSB8fCBzaG93Q3JlYXRlQnV0dG9uXCI+XHJcblx0XHQ8aSAqbmdJZj1cImhhc0ljb25cIiBbY2xhc3NdPVwiW2ljb25dXCI+PC9pPlxyXG5cdFx0PHNwYW4gY2xhc3M9XCJ0aXRsZVwiICpuZ0lmPVwiaGFzVGl0bGVcIj57e3RpdGxlIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcblx0XHQ8ZGl2ICpuZ0lmPVwic2hvd0NyZWF0ZUJ1dHRvblwiIGNsYXNzPVwiYWRkLWJ1dHRvbi11c2VyXCIgbWF0VG9vbHRpcD1cIk51ZXZvIFVzdWFyaW9cIiAoY2xpY2spPVwiYWRkQ2xpY2suZW1pdCgkZXZlbnQpXCI+XHJcblx0XHRcdDxpIGNsYXNzPVwibWVudS1wbHVzXCI+PC9pPlxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblx0PCEtLSA8ZGl2ICpuZ0lmPVwic2hvd09yZGVyQnV0dG9uc1wiIGNsYXNzPVwiYnV0dG9ucy1maWx0ZXItc2VjdGlvblwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cImFscGhhYmV0aWMtdXNlci1maWx0ZXItYnV0dG9uXCIgW2NsYXNzLmFjdGl2ZV09XCJvcmRlckJ5Lm5hbWUgPT0gJ25hbWUnXCIgKGNsaWNrKT1cInNldE9yZGVyKCduYW1lJylcIlxyXG5cdFx0XHRtYXRUb29sdGlwPVwiT3JkZXIgQnkgTmFtZVwiIG1hdFRvb2x0aXBDbGFzcz1cInB1bHNlLXRvb2x0aXBcIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImljb24tYnV0dG9uLWZpbHRlclwiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJpY29uLWJ1dHRvbi1maWx0ZXJcIiBbbmdDbGFzc109XCJcclxuICAgICAgICAgICAgb3JkZXJCeS5uYW1lID09ICduYW1lJyAmJiBvcmRlckJ5Lm9yZGVyRGlyZWN0aW9uID09ICdERVNDJ1xyXG4gICAgICAgICAgICAgID8gJ21lbnUtYWxwaGFiZXQtYXNjJ1xyXG4gICAgICAgICAgICAgIDogJ21lbnUtYWxwaGFiZXQtZGVzYydcclxuICAgICAgICAgIFwiPlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PGRpdiBjbGFzcz1cImFscGhhYmV0aWMtdXNlci1maWx0ZXItYnV0dG9uXCIgW2NsYXNzLmFjdGl2ZV09XCJvcmRlckJ5Lm5hbWUgPT0gJ3NlY29uZG5hbWUnXCJcclxuXHRcdFx0KGNsaWNrKT1cInNldE9yZGVyKCdsYXN0bmFtZScpXCIgbWF0VG9vbHRpcD1cIk9yZGVyIEJ5IExhc3QgTmFtZVwiIG1hdFRvb2x0aXBDbGFzcz1cInB1bHNlLXRvb2x0aXBcIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImljb24tYnV0dG9uLWZpbHRlclwiIFtuZ0NsYXNzXT1cIlxyXG4gICAgICAgICAgb3JkZXJCeS5uYW1lID09ICdzZWNvbmRuYW1lJyAmJiBvcmRlckJ5Lm9yZGVyRGlyZWN0aW9uID09ICdERVNDJ1xyXG4gICAgICAgICAgICA/ICdtZW51LXVzZXItbGVmdCdcclxuICAgICAgICAgICAgOiAnbWVudS11c2VyLXJpZ2h0J1xyXG4gICAgICAgIFwiPjwvZGl2PlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8ZGl2IGNsYXNzPVwiYWxwaGFiZXRpYy11c2VyLWZpbHRlci1idXR0b25cIiBbY2xhc3MuYWN0aXZlXT1cIm9yZGVyQnkubmFtZSA9PSAnY3VzdG9tZXInXCJcclxuXHRcdFx0KGNsaWNrKT1cInNldE9yZGVyKCdjdXN0b21lci5uYW1lJylcIiBtYXRUb29sdGlwPVwiT3JkZXIgQnkgQ3VzdG9tZXJcIiBtYXRUb29sdGlwQ2xhc3M9XCJwdWxzZS10b29sdGlwXCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJpY29uLWJ1dHRvbi1maWx0ZXJcIiBbbmdDbGFzc109XCJcclxuICAgICAgICAgIG9yZGVyQnkubmFtZSA9PSAnY3VzdG9tZXInICYmIG9yZGVyQnkub3JkZXJEaXJlY3Rpb24gPT0gJ0RFU0MnXHJcbiAgICAgICAgICAgID8gJ21ldW4tY3VzdG9tZXItYXNjJ1xyXG4gICAgICAgICAgICA6ICdtZW51LWN1c3RvbWVyLWRlc2MnXHJcbiAgICAgICAgXCI+PC9kaXY+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj4gLS0+XHJcblx0PGRpdiAqbmdJZj1cImhhc09yZGVyQnV0dG9uc1wiIGNsYXNzPVwiYnV0dG9ucy1maWx0ZXItc2VjdGlvblwiPlxyXG5cdFx0PGRpdiAqbmdGb3I9XCJsZXQgb3JkZXIgb2Ygb3JkZXJQcm9wZXJ0aWVzXCIgY2xhc3M9XCJhbHBoYWJldGljLXVzZXItZmlsdGVyLWJ1dHRvblwiXHJcblx0XHRcdFtjbGFzcy5hY3RpdmVdPVwiY3VycmVudE9yZGVyLnByb3BlcnR5ID09PSBvcmRlci5wcm9wZXJ0eVwiIChjbGljayk9XCJzZXRPcmRlcihvcmRlcilcIlxyXG5cdFx0XHRbbWF0VG9vbHRpcF09XCJvcmRlci50b29sdGlwID8/ICcnXCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJpY29uLWJ1dHRvbi1maWx0ZXJcIj5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiaWNvbi1idXR0b24tZmlsdGVyXCIgW2NsYXNzXT1cIltvcmRlclByb3BlcnR5SWNvbltvcmRlci5wcm9wZXJ0eV1dXCI+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9kaXY+XHJcblxyXG5cdDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjwhLS0gPGRpdiBbYXR0ci5kYXRhLXRoZW1lXT1cInRoZW1lXCIgY2xhc3M9XCJmaWx0ZXItaXRlbSBzZWxlY3RlZC1pdGVtXCIgKm5nSWY9XCJzZWxlY3RlZEl0ZW0gJiYgc2hvd1NlbGVjdGVkQXRUb3BcIj5cclxuXHQ8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cImVudGl0eVVpQ29tcG9uZW50OyBpbnB1dHM6Z2V0VWlDb21wb25lbnRJbnB1dHMoc2VsZWN0ZWRJdGVtKVwiPlxyXG5cclxuXHQ8L25nLWNvbnRhaW5lcj5cclxuXHJcbjwvZGl2PiAtLT5cclxuXHJcblxyXG48bGliLWlucHV0IG5nRGVmYXVsdENvbnRyb2wgW2Zvcm1Db250cm9sXT1cInNlYXJjaFwiIG5hbWU9XCJzZWFyY2hcIiBbbGFiZWxdPVwiJ1NlYXJjaC4uLicgfCB0cmFuc2xhdGVcIiBbY2xlYXJCdXR0b25dPVwidHJ1ZVwiXHJcblx0aWNvbj1cIm1lbnUtc2VhcmNoXCIgW3RoZW1lXT1cInRoZW1lXCIgKm5nSWY9XCJzaG93U2VhcmNoXCI+PC9saWItaW5wdXQ+XHJcblxyXG5cclxuPGRpdiBjbGFzcz1cImxpc3QtaXRlbS1jb250YWluZXJcIj5cclxuXHQ8bGliLWxvYWRlciBbdGhlbWVdPVwidGhlbWVcIiBbdHlwZV09XCInYmFyJ1wiIFtsb2FkaW5nXT1cImxvYWRpbmdcIj48L2xpYi1sb2FkZXI+XHJcblx0PHNwYW4gY2xhc3M9XCJwbGFjZWhvbGRlclwiICpuZ0lmPVwiIWxvYWRpbmcgJiYgaXNFbXB0eVwiPnt7ZW1wdHlMYWJlbCB8IHRyYW5zbGF0ZVxyXG5cdFx0fX08L3NwYW4+XHJcblx0PG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaXN0SXRlbXNcIj5cclxuXHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXJJdGVtcy5oYXMoaXRlbS5pZClcIj5cclxuXHRcdFx0PGRpdiAqbmdJZj1cImRyYWdnYWJsZUl0ZW1zXCIgY2RrRHJhZyBbY2RrRHJhZ0RhdGFdPVwiaXRlbVwiPlxyXG5cdFx0XHRcdDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHRcdDxkaXYgKm5nSWY9XCIhZHJhZ2dhYmxlSXRlbXNcIj5cclxuXHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8bmctdGVtcGxhdGUgI2l0ZW1UZW1wbGF0ZT5cclxuXHRcdFx0XHRcclxuXHRcdFx0XHQ8ZGl2IFthdHRyLmRhdGEtdGhlbWVdPVwidGhlbWVcIlxyXG5cdFx0XHRcdFx0W2NsYXNzXT1cImdldEl0ZW1DbGFzcyhpdGVtKVwiXHJcblx0XHRcdFx0XHQoY2xpY2spPVwic2VsZWN0SXRlbS5lbWl0KGl0ZW0pXCI+XHJcblx0XHRcdFx0XHQ8bGliLWNoZWNrYm94ICpuZ0lmPVwibXVsdGlwbGVTZWxlY3Rpb25cIiBbY2hlY2tlZF09XCJzZWxlY3Rpb25JZHMuaGFzKGl0ZW0uaWQpXCJcclxuXHRcdFx0XHRcdFx0KGlucHV0Q2hhbmdlKT1cImNoZWNrYm94Q2hhbmdlKCRldmVudCwgaXRlbS5pZClcIiAvPlxyXG5cdFx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImVudGl0eVVpQ29tcG9uZW50XCI+XHJcblx0XHRcdFx0XHRcdDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiZW50aXR5VWlDb21wb25lbnQ7IGlucHV0czpnZXRVaUNvbXBvbmVudElucHV0cyhpdGVtKVwiPjwvbmctY29udGFpbmVyPlxyXG5cdFx0XHRcdFx0PC9uZy1jb250YWluZXI+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwic2ltcGxlLWl0ZW1cIiAqbmdJZj1cIiFlbnRpdHlVaUNvbXBvbmVudFwiPlxyXG5cdFx0XHRcdFx0XHR7e2l0ZW1MYWJlbE1hcChpdGVtKSA/PyBpdGVtLm5hbWV9fVxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDwhLS0gPGRpdiBbYXR0ci5kYXRhLXRoZW1lXT1cInRoZW1lXCJcclxuICAgICAgICBbY2xhc3NdPVwiWydmaWx0ZXItaXRlbScsIHNlbGVjdGlvbklkcy5oYXMoaXRlbS5pZCkgPyAnc2VsZWN0ZWQtaXRlbSc6ICcnLCBtdWx0aXBsZVNlbGVjdGlvbiA/ICdjaGVja2JveC1tYXJnaW4nIDogJyddXCJcclxuICAgICAgICAoY2xpY2spPVwic2VsZWN0SXRlbS5lbWl0KGl0ZW0pXCI+XHJcbiAgICAgICAgPGxpYi1jaGVja2JveCAqbmdJZj1cIm11bHRpcGxlU2VsZWN0aW9uXCIgW2NoZWNrZWRdPVwic2VsZWN0aW9uSWRzLmhhcyhpdGVtLmlkKVwiXHJcbiAgICAgICAgICAoaW5wdXRDaGFuZ2UpPVwiY2hlY2tib3hDaGFuZ2UoJGV2ZW50LCBpdGVtLmlkKVwiIC8+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJlbnRpdHlVaUNvbXBvbmVudDsgaW5wdXRzOmdldFVpQ29tcG9uZW50SW5wdXRzKGl0ZW0pXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIFx0PC9kaXY+IC0tPlxyXG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdFx0PC9uZy1jb250YWluZXI+XHJcblx0PC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG48bWF0LXBhZ2luYXRvciAqbmdJZj1cInNob3dQYWdpbmF0b3IgJiYgaXNEeW5hbWljXCIgI3BhZ2luYXRvciBoaWRlUGFnZVNpemUgc2hvd0ZpcnN0TGFzdEJ1dHRvbnMgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCJcclxuXHRbcGFnZUluZGV4XT1cImN1cnJlbnRQYWdlIC0gMVwiIFtsZW5ndGhdPVwibGVuZ3RoVXNlcnNcIiAocGFnZSk9XCJwYWdlRXZlbnQgPSBnZXRTZXJ2ZXJEYXRhVXNlcnMoJGV2ZW50KVwiXHJcblx0Y2xhc3M9XCJtc2YtcGFnaW5hdG9yLW1hcHBpbmcgbXNmLXBhZ2luYXRvci1TdHlsZVwiPlxyXG5cclxuPC9tYXQtcGFnaW5hdG9yPlxyXG48IS0tIFxyXG48bWF0LXBhZ2luYXRvclxyXG4gICAgICAgICpuZ0lmPVwiIWlzTG9hZGluZ1R5cGVGaWx0ZXJzXCJcclxuICAgICAgICAjcGFnaW5hdG9yXHJcbiAgICAgICAgaGlkZVBhZ2VTaXplXHJcbiAgICAgICAgc2hvd0ZpcnN0TGFzdEJ1dHRvbnNcclxuICAgICAgICBbcGFnZVNpemVdPVwicGFnZVNpemVVc2Vyc1wiXHJcbiAgICAgICAgW3BhZ2VJbmRleF09XCJwYWdlSW5kZXhVc2Vyc1wiXHJcbiAgICAgICAgW2xlbmd0aF09XCJsZW5ndGhVc2Vyc1wiXHJcbiAgICAgICAgKHBhZ2UpPVwicGFnZUV2ZW50ID0gZ2V0U2VydmVyRGF0YVVzZXJzKCRldmVudClcIlxyXG4gICAgICAgIGNsYXNzPVwibXNmLXBhZ2luYXRvci1tYXBwaW5nIG1zZi1wYWdpbmF0b3ItU3R5bGVcIlxyXG4gICAgICA+XHJcbjwvbWF0LXBhZ2luYXRvcj4gLS0+Il19
|
package/fesm2022/asp-lib.mjs
CHANGED
|
@@ -1916,15 +1916,22 @@ class ItemsViewerComponent {
|
|
|
1916
1916
|
isItemSelected(item) { return this.selectedItem?.id === item.id; }
|
|
1917
1917
|
loadItems() {
|
|
1918
1918
|
this.loadingStatus = true;
|
|
1919
|
-
if (this.
|
|
1920
|
-
|
|
1921
|
-
.
|
|
1919
|
+
if (this.title && this.title === 'Users') {
|
|
1920
|
+
let params = new HttpParams()
|
|
1921
|
+
.set('page', this.currentPage)
|
|
1922
|
+
.set('pageSize', this.pageSize);
|
|
1923
|
+
if (this.search.value && this.search.value.trim() !== '') {
|
|
1924
|
+
params = params.set('search', this.search.value.trim());
|
|
1925
|
+
}
|
|
1926
|
+
this.http.get(this.listEndpoint, { params })
|
|
1927
|
+
.pipe(switchMap(this.listRequestMapping ?? defaultSwitchMapper))
|
|
1928
|
+
.subscribe({
|
|
1922
1929
|
next: (response) => {
|
|
1923
1930
|
if (response.responseCode === 200) {
|
|
1924
1931
|
this.loadedItems = response.load;
|
|
1925
1932
|
this.itemsLoaded.emit(response.load);
|
|
1926
1933
|
this.lengthUsers = response.totalRecords;
|
|
1927
|
-
this.
|
|
1934
|
+
this.filterItems = new Set(this.loadedItems.map(item => item.id));
|
|
1928
1935
|
this.loadingStatus = false;
|
|
1929
1936
|
}
|
|
1930
1937
|
else {
|
|
@@ -1937,10 +1944,37 @@ class ItemsViewerComponent {
|
|
|
1937
1944
|
console.error(error);
|
|
1938
1945
|
this.loadingStatus = false;
|
|
1939
1946
|
this.snackbar.warning(this.translate.transform(this.itemsEndpoint.errors?.['default'] ?? 'Something went wrong'));
|
|
1940
|
-
console.log(error);
|
|
1941
1947
|
}
|
|
1942
1948
|
});
|
|
1943
1949
|
}
|
|
1950
|
+
else {
|
|
1951
|
+
if (this.listEndpoint) {
|
|
1952
|
+
this.http.get(this.showPaginator ? `${this.listEndpoint}?page=${this.currentPage}&pageSize=${this.pageSize}&${this.endpointParams}` : this.listEndpoint)
|
|
1953
|
+
.pipe(switchMap(this.listRequestMapping ?? defaultSwitchMapper)).subscribe({
|
|
1954
|
+
next: (response) => {
|
|
1955
|
+
if (response.responseCode === 200) {
|
|
1956
|
+
this.loadedItems = response.load;
|
|
1957
|
+
this.itemsLoaded.emit(response.load);
|
|
1958
|
+
this.lengthUsers = response.totalRecords;
|
|
1959
|
+
this.filterItems = new Set(this.loadedItems.map(item => item.id));
|
|
1960
|
+
//this.search.setValue('');
|
|
1961
|
+
this.loadingStatus = false;
|
|
1962
|
+
}
|
|
1963
|
+
else {
|
|
1964
|
+
console.error(response);
|
|
1965
|
+
this.loadingStatus = false;
|
|
1966
|
+
this.snackbar.warning(this.translate.transform(this.itemsEndpoint.errors?.[response.responseCode] ?? 'Something went wrong'));
|
|
1967
|
+
}
|
|
1968
|
+
},
|
|
1969
|
+
error: (error) => {
|
|
1970
|
+
console.error(error);
|
|
1971
|
+
this.loadingStatus = false;
|
|
1972
|
+
this.snackbar.warning(this.translate.transform(this.itemsEndpoint.errors?.['default'] ?? 'Something went wrong'));
|
|
1973
|
+
console.log(error);
|
|
1974
|
+
}
|
|
1975
|
+
});
|
|
1976
|
+
}
|
|
1977
|
+
}
|
|
1944
1978
|
}
|
|
1945
1979
|
ngOnInit() {
|
|
1946
1980
|
if (Boolean(this.listEndpoint)) {
|
|
@@ -1958,7 +1992,7 @@ class ItemsViewerComponent {
|
|
|
1958
1992
|
let params = new HttpParams();
|
|
1959
1993
|
if (this.showPaginator) {
|
|
1960
1994
|
params = params
|
|
1961
|
-
.set('page',
|
|
1995
|
+
.set('page', 1)
|
|
1962
1996
|
.set('pageSize', this.pageSize);
|
|
1963
1997
|
}
|
|
1964
1998
|
if (this.endpointParams) {
|