myrta-ui 17.0.97 → 17.0.99

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.
@@ -14,6 +14,7 @@ export class InputFileImageComponent {
14
14
  imageUploadService;
15
15
  _modalService;
16
16
  _detector;
17
+ isProcessing = false;
17
18
  formatBytes = formatBytes;
18
19
  extensions;
19
20
  allowedExtensions = [];
@@ -147,6 +148,9 @@ export class InputFileImageComponent {
147
148
  }
148
149
  changePreview(event, file) {
149
150
  event.stopPropagation();
151
+ if (this.isProcessing)
152
+ return;
153
+ this.isProcessing = true;
150
154
  getBase64FromUrl(this.downloadUrl(file)).then((base64Url) => {
151
155
  this._modalService.open(FileImageEditModalComponent, {
152
156
  title: 'РЕДАКТИРОВАНИЕ ИЗОБРАЖЕНИЯ',
@@ -161,6 +165,7 @@ export class InputFileImageComponent {
161
165
  if (res.result && res.fileImage) {
162
166
  this._updateFile(file, res.fileImage);
163
167
  }
168
+ this.isProcessing = false;
164
169
  });
165
170
  });
166
171
  }
@@ -353,4 +358,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
353
358
  }], filesChanged: [{
354
359
  type: Output
355
360
  }] } });
356
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZS1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9pbnB1dC1maWxlLWltYWdlL2lucHV0LWZpbGUtaW1hZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtZmlsZS1pbWFnZS9pbnB1dC1maWxlLWltYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEYsT0FBTyxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFhLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxzQkFBc0IsRUFBMkIsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7QUFVMUYsTUFBTSxPQUFPLHVCQUF1QjtJQTBEeEI7SUFDQTtJQUNBO0lBM0RWLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDMUIsVUFBVSxDQUFVO0lBQ3BCLGlCQUFpQixHQUFhLEVBQUUsQ0FBQztJQUNqQyxLQUFLLEdBQXFCLEVBQUUsQ0FB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QUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBRVUsYUFBYTtzQkFBNUIsS0FBSztnQkFHRixTQUFTO3NCQURaLEtBQUs7dUJBQUMsT0FBTztnQkFjSCxxQkFBcUI7c0JBRC9CLEtBQUs7dUJBQUMsbUJBQW1CO2dCQVdULFlBQVk7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElucHV0RmlsZU1vZGVsLCBVcGxvYWRlZEZpbGVNb2RlbCwgVXBsb2FkZWRSZXN1bHRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRTZXJ2aWNlLCBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEZpbGVTeXN0ZW1GaWxlRW50cnksIE5neEZpbGVEcm9wRW50cnkgfSBmcm9tICduZ3gtZmlsZS1kcm9wJztcclxuaW1wb3J0IHsgY29udmVydEJhc2U2NFRvRmlsZSwgZm9ybWF0Qnl0ZXMsIGdldEJhc2U2NEZyb21VcmwgfSBmcm9tICcuLi8uLi8uLi9oZWxwZXJzJztcclxuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEVNUFRZIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEV2ZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgRmlsZUltYWdlRWRpdE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtaW1hZ2UtZWRpdC1tb2RhbC9maWxlLWltYWdlLWVkaXQtbW9kYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5wdXRGaWxlSW1hZ2VUeXBlRW51bSwgSW5wdXRGaWxlSW1hZ2VUeXBlVHlwZXMgfSBmcm9tICcuL2lucHV0LWZpbGUtaW1hZ2UuZW51bSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1pbnB1dC1maWxlLWltYWdlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZmlsZS1pbWFnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtZmlsZS1pbWFnZS5jb21wb25lbnQubGVzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBJbnB1dEZpbGVJbWFnZUNvbXBvbmVudCB7XHJcbiAgZm9ybWF0Qnl0ZXMgPSBmb3JtYXRCeXRlcztcclxuICBleHRlbnNpb25zPzogc3RyaW5nO1xyXG4gIGFsbG93ZWRFeHRlbnNpb25zOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGZpbGVzOiBJbnB1dEZpbGVNb2RlbFtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyB0eXBlOiBJbnB1dEZpbGVJbWFnZVR5cGVUeXBlcyA9ICdkZWZhdWx0JztcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbUNsYXNzZXMgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIG1heFNpemUgPSAzMTQ1NzI4MDtcclxuICBASW5wdXQoKSBwdWJsaWMgbWF4RmlsZXMgPSA1O1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtaW5GaWxlcyA9IDA7XHJcblxyXG4gIC8vINCf0LDRgNCw0LzQtdGC0YDRiywg0LrQvtGC0L7RgNGL0LUg0LHRg9C00YPRgiDQv9C10YDQtdC00LDQstCw0YLRjNGB0Y8g0LIg0YTQvtGA0LzQtVxyXG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtRGF0YTogYW55ID0ge307XHJcblxyXG4gIC8vIENST1BQRVJcclxuICBASW5wdXQoKSBwdWJsaWMgY3JvcHBlck1heFdpZHRoID0gMDtcclxuICBASW5wdXQoKSBwdWJsaWMgY3JvcHBlck1heEhlaWdodCA9IDA7XHJcbiAgQElucHV0KCkgcHVibGljIGFzcGVjdFJhdGlvID0gMSAvIDE7XHJcbiAgQElucHV0KCkgcHVibGljIG1haW50YWluQXNwZWN0UmF0aW8gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIHVwbG9hZEVuZFBvaW50ITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkZWxldGVFbmRQb2ludD86IHN0cmluZztcclxuICBASW5wdXQoKSBwdWJsaWMgZG93bmxvYWRFbmRQb2ludD86IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGRlbGV0ZUNvbmZpcm0/OiAoZmlsZTogVXBsb2FkZWRGaWxlTW9kZWwsIHJlc3VsdDogKG9rOiBib29sZWFuKSA9PiB2b2lkKSA9PiB2b2lkO1xyXG5cclxuICBASW5wdXQoJ2ZpbGVzJylcclxuICBzZXQgaW5pdEZpbGVzKGRhdGE6IFVwbG9hZGVkRmlsZU1vZGVsW10gfCBVcGxvYWRlZEZpbGVNb2RlbCkge1xyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcclxuICAgICAgICB0aGlzLmZpbGVzID0gZGF0YS5tYXAocyA9PiAoey4uLnN9KSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5maWxlcyA9IFt7Li4uZGF0YX1dO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZpbGVzID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoJ2FsbG93ZWRFeHRlbnNpb25zJylcclxuICBwdWJsaWMgc2V0IGluaXRBbGxvd2VkRXh0ZW5zaW9ucyh2YWw6IHN0cmluZ1tdKSB7XHJcbiAgICBpZiAodmFsKSB7XHJcbiAgICAgIHRoaXMuYWxsb3dlZEV4dGVuc2lvbnMgPSB2YWw7XHJcbiAgICAgIHRoaXMuZXh0ZW5zaW9ucyA9IHZhbC5qb2luKCcsICcpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hbGxvd2VkRXh0ZW5zaW9ucyA9IFtdO1xyXG4gICAgICB0aGlzLmV4dGVuc2lvbnMgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgcHVibGljIGZpbGVzQ2hhbmdlZDogRXZlbnRFbWl0dGVyPElucHV0RmlsZU1vZGVsW10+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaW1hZ2VVcGxvYWRTZXJ2aWNlOiBGaWxlVXBsb2FkU2VydmljZSxcclxuICAgIHByaXZhdGUgX21vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldERlZmF1bHRQbGFjZWhvbGRlcigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gJ2F2YXRhcicgP1xyXG4gICAgICAn0JfQsNCz0YDRg9C30LjRgtC1INGE0L7RgtC+0LPRgNCw0YTQuNGOJyA6XHJcbiAgICAgICfQn9C10YDQtdC90LXRgdC40YLQtSDRhNCw0LnQuyDRgSDRg9GB0YLRgNC+0LnRgdGC0LLQsCDQuNC70Lgg0L3QsNC20LzQuNGC0LUg0L3QsCDQtNCw0L3QvdC+0LUg0L/QvtC70LUg0LTQu9GPINC00L7QsdCw0LLQu9C10L3QuNGPINGE0LDQudC70LAnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7SW5wdXRGaWxlSW1hZ2VUeXBlRW51bVt0aGlzLnR5cGVdfSAke3RoaXMuY3VzdG9tQ2xhc3Nlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXREcm9wWm9uZUNsYXNzZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgbXJ4LWlucHV0LWZpbGUtaW1hZ2UtZHJvcCAke3RoaXMuZGlzYWJsZWQgPyAnbXJ4LWlucHV0LWZpbGUtcGljdHVyZS1kcm9wLWRpc2FibGVkJyA6ICcnfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNhbkFkZCgpIHtcclxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdhdmF0YXInKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZpbGVzLmxlbmd0aCA8IDE7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5tYXhGaWxlcyA+IHRoaXMuZmlsZXMuZmlsdGVyKHMgPT4gIXMuZXJyb3IpLmxlbmd0aDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NoZWNrRXJyb3JzKCkge1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBkcm9wcGVkKGZpbGVzOiBOZ3hGaWxlRHJvcEVudHJ5W10pIHtcclxuICAgIGNvbnN0IGRyb3BwZWRGaWxlID0gZmlsZXNbMF07XHJcblxyXG4gICAgaWYgKGRyb3BwZWRGaWxlLmZpbGVFbnRyeS5pc0ZpbGUpIHtcclxuICAgICAgY29uc3QgZmlsZUVudHJ5ID0gZHJvcHBlZEZpbGUuZmlsZUVudHJ5IGFzIEZpbGVTeXN0ZW1GaWxlRW50cnk7XHJcblxyXG4gICAgICBmaWxlRW50cnkuZmlsZSgoZmlsZTogRmlsZSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGRhdGE6IElucHV0RmlsZU1vZGVsID0ge1xyXG4gICAgICAgICAgaWQ6ICcnLFxyXG4gICAgICAgICAgdGVtcFV1aWQ6IHV1aWR2NCgpLFxyXG4gICAgICAgICAgbmFtZTogZmlsZS5uYW1lLFxyXG4gICAgICAgICAgbGVuZ3RoOiBmaWxlLnNpemUsXHJcbiAgICAgICAgICB1cGxvYWRpbmc6IHRydWUsXHJcbiAgICAgICAgICBwZXJjZW50YWdlOiAwLFxyXG4gICAgICAgICAgZmlsZTogZmlsZSxcclxuICAgICAgICB9IGFzIElucHV0RmlsZU1vZGVsO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuY2FuQWRkKSB7XHJcbiAgICAgICAgICBkYXRhLmVycm9yID0gJ9Ch0LvQuNGI0LrQvtC8INC80L3QvtCz0L4g0YTQsNC50LvQvtCyJztcclxuICAgICAgICAgIGRhdGEudXBsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmZpbGVzLnB1c2goZGF0YSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmZpbGVzLnB1c2goZGF0YSk7XHJcblxyXG4gICAgICAgIGlmIChkYXRhLmZpbGUgJiYgZGF0YS5maWxlLnNpemUgPiB0aGlzLm1heFNpemUpIHtcclxuICAgICAgICAgIGRhdGEuZXJyb3IgPSAn0KHQu9C40YjQutC+0Lwg0LHQvtC70YzRiNC+0Lkg0YTQsNC50LsnO1xyXG4gICAgICAgICAgZGF0YS51cGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChkYXRhLmZpbGUgJiYgZGF0YS5maWxlLnNpemUgPT0gMCkge1xyXG4gICAgICAgICAgZGF0YS5lcnJvciA9ICfQn9GD0YHRgtC+0Lkg0YTQsNC50LsnO1xyXG4gICAgICAgICAgZGF0YS51cGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFsbG93ZWRFeHRlbnNpb25zLmxlbmd0aCA+IDAgJiYgIXRoaXMuYWxsb3dlZEV4dGVuc2lvbnMuc29tZShcclxuICAgICAgICAgIHMgPT4gZGF0YS5maWxlPy5uYW1lLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgocy50b0xvd2VyQ2FzZSgpKSkpIHtcclxuICAgICAgICAgIGRhdGEuZXJyb3IgPSAn0J3QtdCy0LXRgNC90YvQuSDRhNC+0YDQvNCw0YIg0YTQsNC50LvQsCc7XHJcbiAgICAgICAgICBkYXRhLnVwbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCFkYXRhLmVycm9yKSB7XHJcbiAgICAgICAgICB0aGlzLl9tb2RhbFNlcnZpY2Uub3BlbihGaWxlSW1hZ2VFZGl0TW9kYWxDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgdGl0bGU6ICfQoNCV0JTQkNCa0KLQmNCg0J7QktCQ0J3QmNCVINCY0JfQntCR0KDQkNCW0JXQndCY0K8nLFxyXG4gICAgICAgICAgICBmaWxlSW1hZ2U6IGZpbGUsXHJcbiAgICAgICAgICAgIGNyb3BwZXJNYXhXaWR0aDogdGhpcy5jcm9wcGVyTWF4V2lkdGgsXHJcbiAgICAgICAgICAgIGNyb3BwZXJNYXhIZWlnaHQ6IHRoaXMuY3JvcHBlck1heEhlaWdodCxcclxuICAgICAgICAgICAgYXNwZWN0UmF0aW86IHRoaXMuYXNwZWN0UmF0aW8sXHJcbiAgICAgICAgICAgIG1haW50YWluQXNwZWN0UmF0aW86IHRoaXMubWFpbnRhaW5Bc3BlY3RSYXRpb1xyXG4gICAgICAgICAgfSwge30pXHJcbiAgICAgICAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChyZXMucmVzdWx0ICYmIHJlcy5maWxlSW1hZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRhdGEuZmlsZSA9IHJlcy5maWxlSW1hZ2VcclxuICAgICAgICAgICAgICAgIHRoaXMuX3VwbG9hZEZpbGUoZGF0YSlcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZmluZElkeCA9IHRoaXMuZmlsZXMuZmluZEluZGV4KGQgPT4gZC50ZW1wVXVpZCA9PT0gZGF0YS50ZW1wVXVpZClcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoZmluZElkeCAhPSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmZpbGVzID0gdGhpcy5maWxlcy5maWx0ZXIoKGYsIGlkeCkgPT4gaWR4ICE9PSBmaW5kSWR4KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VQcmV2aWV3KGV2ZW50OiBhbnksIGZpbGU6IElucHV0RmlsZU1vZGVsKSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICBnZXRCYXNlNjRGcm9tVXJsKHRoaXMuZG93bmxvYWRVcmwoZmlsZSkpLnRoZW4oKGJhc2U2NFVybDogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuX21vZGFsU2VydmljZS5vcGVuKEZpbGVJbWFnZUVkaXRNb2RhbENvbXBvbmVudCwge1xyXG4gICAgICAgIHRpdGxlOiAn0KDQldCU0JDQmtCi0JjQoNCe0JLQkNCd0JjQlSDQmNCX0J7QkdCg0JDQltCV0J3QmNCvJyxcclxuICAgICAgICBmaWxlSW1hZ2U6IGNvbnZlcnRCYXNlNjRUb0ZpbGUoYmFzZTY0VXJsLCBmaWxlLm5hbWUgfHwgJycsICdpbWFnZS9wbmcnKSxcclxuICAgICAgICBjcm9wcGVyTWF4V2lkdGg6IHRoaXMuY3JvcHBlck1heFdpZHRoLFxyXG4gICAgICAgIGNyb3BwZXJNYXhIZWlnaHQ6IHRoaXMuY3JvcHBlck1heEhlaWdodCxcclxuICAgICAgICBhc3BlY3RSYXRpbzogdGhpcy5hc3BlY3RSYXRpbyxcclxuICAgICAgICBtYWludGFpbkFzcGVjdFJhdGlvOiB0aGlzLm1haW50YWluQXNwZWN0UmF0aW9cclxuICAgICAgfSwge30pXHJcbiAgICAgICAgLmFmdGVyQ2xvc2VkKClcclxuICAgICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMucmVzdWx0ICYmIHJlcy5maWxlSW1hZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fdXBkYXRlRmlsZShmaWxlLCByZXMuZmlsZUltYWdlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRlbGV0ZShldmVudDogYW55LCBmaWxlOiBJbnB1dEZpbGVNb2RlbCk6IHZvaWQge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuZGVsZXRlQ29uZmlybSkge1xyXG4gICAgICB0aGlzLmRlbGV0ZUNvbmZpcm0oZmlsZSwgKG9rKSA9PiB7XHJcbiAgICAgICAgaWYgKG9rKSB7XHJcbiAgICAgICAgICB0aGlzLl9kZWxldGVGaWxlKGZpbGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9kZWxldGVGaWxlKGZpbGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFyKGZpbGU6IElucHV0RmlsZU1vZGVsKTogdm9pZCB7XHJcbiAgICBpZiAoZmlsZS51cGxvYWRpbmcpIHtcclxuICAgICAgaWYgKGZpbGUuZXhlY3V0aW9uKSB7XHJcbiAgICAgICAgZmlsZS5leGVjdXRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGZpbmRGaWxlSWR4ID0gdGhpcy5maWxlcy5pbmRleE9mKGZpbGUpO1xyXG5cclxuICAgIGlmIChmaW5kRmlsZUlkeCA+PSAwKSB7XHJcbiAgICAgIHRoaXMuZmlsZXMuc3BsaWNlKGZpbmRGaWxlSWR4LCAxKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBkb3dubG9hZFVybChmaWxlOiBVcGxvYWRlZEZpbGVNb2RlbCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5kb3dubG9hZEVuZFBvaW50KSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl90cmFuc2Zvcm1VcmwodGhpcy5kb3dubG9hZEVuZFBvaW50LCBmaWxlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBmaWxlT3ZlcihldmVudDogYW55KSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZmlsZUxlYXZlKGV2ZW50OiBhbnkpIHtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3RyYW5zZm9ybVVybCh1cmw6IHN0cmluZywgZmlsZTogVXBsb2FkZWRGaWxlTW9kZWwpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHVybC5yZXBsYWNlKC97aWR9LywgZmlsZS5pZClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2Zvcm1EYXRhS2V5cygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5mb3JtRGF0YSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jcmVhdGVGb3JtRGF0YSgpOiBGb3JtRGF0YSB7XHJcbiAgICBjb25zdCBmb3JtID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICBpZiAodGhpcy5tYXhGaWxlcykge1xyXG4gICAgICBmb3JtLmFwcGVuZCgnTWF4RmlsZXMnLCB0aGlzLm1heEZpbGVzLnRvU3RyaW5nKDEwKSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBrZXlzID0gdGhpcy5fZm9ybURhdGFLZXlzKCk7XHJcbiAgICBrZXlzLmZvckVhY2goa2V5ID0+IGZvcm0uYXBwZW5kKGtleSwgdGhpcy5mb3JtRGF0YVtrZXldKSk7XHJcbiAgICByZXR1cm4gZm9ybTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RlbGV0ZUZpbGUoZmlsZTogSW5wdXRGaWxlTW9kZWwpIHtcclxuICAgIGNvbnN0IGZpbmRGaWxlID0gdGhpcy5maWxlcy5maW5kKHMgPT4gcy5pZCA9PT0gZmlsZS5pZCk7XHJcblxyXG4gICAgaWYgKGZpbmRGaWxlKSB7XHJcbiAgICAgIGlmICh0aGlzLmRlbGV0ZUVuZFBvaW50KSB7XHJcbiAgICAgICAgZmluZEZpbGUuZGVsZXRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgICB0aGlzLmltYWdlVXBsb2FkU2VydmljZS5kZWxldGUodGhpcy5kZWxldGVFbmRQb2ludCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICB0aGlzLmZpbGVzLnNwbGljZSh0aGlzLmZpbGVzLmluZGV4T2YoZmluZEZpbGUpLCAxKTtcclxuICAgICAgICAgIHRoaXMuZmlsZXNDaGFuZ2VkLmVtaXQodGhpcy5maWxlcyk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZmlsZXMuc3BsaWNlKHRoaXMuZmlsZXMuaW5kZXhPZihmaW5kRmlsZSksIDEpO1xyXG4gICAgICAgIHRoaXMuZmlsZXNDaGFuZ2VkLmVtaXQodGhpcy5maWxlcyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3VwZGF0ZUZpbGUob2xkRmlsZTogSW5wdXRGaWxlTW9kZWwsIG5ld0ZpbGU6IEZpbGUpIHtcclxuICAgIGNvbnN0IGZpbmRGaWxlID0gdGhpcy5maWxlcy5maW5kKChzOiBJbnB1dEZpbGVNb2RlbCkgPT4ge1xyXG4gICAgICBpZiAocy5pZCAhPT0gJycpIHtcclxuICAgICAgICByZXR1cm4gcy5pZCA9PT0gb2xkRmlsZS5pZDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gcy50ZW1wVXVpZCA9PT0gb2xkRmlsZS50ZW1wVXVpZDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKGZpbmRGaWxlKSB7XHJcbiAgICAgIGNvbnN0IGRhdGE6IElucHV0RmlsZU1vZGVsID0ge1xyXG4gICAgICAgIGlkOiAnJyxcclxuICAgICAgICB0ZW1wVXVpZDogdXVpZHY0KCksXHJcbiAgICAgICAgbmFtZTogbmV3RmlsZS5uYW1lLFxyXG4gICAgICAgIGxlbmd0aDogbmV3RmlsZS5zaXplLFxyXG4gICAgICAgIHVwbG9hZGluZzogdHJ1ZSxcclxuICAgICAgICBwZXJjZW50YWdlOiAwLFxyXG4gICAgICAgIGZpbGU6IG5ld0ZpbGUsXHJcbiAgICAgIH0gYXMgSW5wdXRGaWxlTW9kZWw7XHJcblxyXG4gICAgICBpZiAodGhpcy5kZWxldGVFbmRQb2ludCkge1xyXG4gICAgICAgIGZpbmRGaWxlLmRlbGV0aW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgdGhpcy5pbWFnZVVwbG9hZFNlcnZpY2UuZGVsZXRlKHRoaXMuZGVsZXRlRW5kUG9pbnQpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgdGhpcy5maWxlcy5zcGxpY2UodGhpcy5maWxlcy5pbmRleE9mKGZpbmRGaWxlKSwgMSk7XHJcbiAgICAgICAgICB0aGlzLmZpbGVzLnB1c2goZGF0YSk7XHJcbiAgICAgICAgICB0aGlzLl91cGxvYWRGaWxlKGRhdGEpO1xyXG5cclxuICAgICAgICAgIHRoaXMuX2RldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5maWxlcy5wdXNoKGRhdGEpO1xyXG4gICAgICAgIHRoaXMuX3VwbG9hZEZpbGUoZGF0YSk7XHJcblxyXG4gICAgICAgIHRoaXMuX2RldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdXBsb2FkRmlsZShkYXRhOiBJbnB1dEZpbGVNb2RlbCkge1xyXG4gICAgY29uc3QgZm9ybURhdGEgPSB0aGlzLl9jcmVhdGVGb3JtRGF0YSgpO1xyXG5cclxuICAgIGlmIChkYXRhLmZpbGUpIHtcclxuICAgICAgZm9ybURhdGEuYXBwZW5kKCdGaWxlJywgZGF0YS5maWxlKTtcclxuXHJcbiAgICAgIGRhdGEuZXhlY3V0aW9uID0gdGhpcy5pbWFnZVVwbG9hZFNlcnZpY2UudXBsb2FkKHRoaXMudXBsb2FkRW5kUG9pbnQsIGZvcm1EYXRhKS5waXBlKFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgICAgZGF0YS51cGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHJldHVybiBFTVBUWTtcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEh0dHBFdmVudDxVcGxvYWRlZFJlc3VsdE1vZGVsPikgPT4ge1xyXG4gICAgICAgICAgc3dpdGNoIChldmVudC50eXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5TZW50OlxyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIEh0dHBFdmVudFR5cGUuUmVzcG9uc2VIZWFkZXI6XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzczpcclxuICAgICAgICAgICAgICBpZiAoZXZlbnQudG90YWwpIHtcclxuICAgICAgICAgICAgICAgIGRhdGEucGVyY2VudGFnZSA9IE1hdGgucm91bmQoZXZlbnQubG9hZGVkIC8gZXZlbnQudG90YWwgKiAxMDApO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlOlxyXG4gICAgICAgICAgICAgIGlmIChldmVudC5ib2R5KSB7XHJcbiAgICAgICAgICAgICAgICBkYXRhLnVwbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgZGF0YS5wZXJjZW50YWdlID0gMDtcclxuICAgICAgICAgICAgICAgIGRhdGEuaWQgPSBldmVudC5ib2R5LnV1aWQ7XHJcbiAgICAgICAgICAgICAgICBkYXRhLmZpbGUgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgICAgICBkYXRhLmVycm9yID0gZXZlbnQuYm9keS5tZXNzYWdlO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChkYXRhLmV4ZWN1dGlvbikge1xyXG4gICAgICAgICAgICAgICAgICBkYXRhLmV4ZWN1dGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZmlsZXMuZXZlcnkocyA9PiAhcy51cGxvYWRpbmcpKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZXNDaGFuZ2VkLmVtaXQodGhpcy5maWxlcyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5fZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlXCIgW2NsYXNzXT1cImdldENsYXNzZXNcIj5cclxuICBAc3dpdGNoICh0eXBlKSB7XHJcbiAgICBAY2FzZSAoJ2F2YXRhcicpIHtcclxuICAgICAgPG5neC1maWxlLWRyb3BcclxuICAgICAgICBbY2xhc3NOYW1lXT1cImdldERyb3Bab25lQ2xhc3Nlc1wiXHJcbiAgICAgICAgW2FjY2VwdF09XCJleHRlbnNpb25zIHx8ICcnXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgIChvbkZpbGVEcm9wKT1cImRyb3BwZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgKG9uRmlsZU92ZXIpPVwiZmlsZU92ZXIoJGV2ZW50KVwiIChvbkZpbGVMZWF2ZSk9XCJmaWxlTGVhdmUoJGV2ZW50KVwiXHJcbiAgICAgID5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbmd4LWZpbGUtZHJvcC1jb250ZW50LXRtcCBsZXQtb3BlbkZpbGVTZWxlY3Rvcj1cIm9wZW5GaWxlU2VsZWN0b3JcIj5cclxuICAgICAgICAgIEBpZiAoZmlsZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1hdmF0YXJcIj5cclxuXHJcbiAgICAgICAgICAgICAgQGZvciAoZmlsZSBvZiBmaWxlczsgdHJhY2sgZmlsZS5pZCkge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIGgtMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1hdmF0YXItaXRlbVwiIFtjbGFzcy5tcngtaW5wdXQtZmlsZS1pbWFnZS1lcnJvcl09XCJmaWxlLmVycm9yXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoZmlsZS5lcnJvcikge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jbG9zZSBpY29uLWZvbnQtMjRcIiAoY2xpY2spPVwiY2xlYXIoZmlsZSlcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtYXZhdGFyLWl0ZW0tZXJyb3JcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWltYWdlIGljb24tZm9udC0yNCBpY29uLWZpbGxlZC1jb2xvci1uZWdhdGl2ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZmlsZS5lcnJvciB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKGZpbGUudXBsb2FkaW5nICYmICFmaWxlLmVycm9yKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWNsb3NlIGljb24tZm9udC0yNFwiIChjbGljayk9XCJkZWxldGUoJGV2ZW50LCBmaWxlKVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1hdmF0YXItaXRlbS11cGxvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1hdmF0YXItaXRlbS11cGxvYWRpbmctdGV4dFwiPtCX0LDQs9GA0YPQt9C60LAuLi48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1hdmF0YXItaXRlbS11cGxvYWRpbmctcHJvZ3Jlc3NcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBbbmdTdHlsZV09XCJ7d2lkdGg6IGZpbGUucGVyY2VudGFnZSArICclJ31cIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKCFmaWxlLnVwbG9hZGluZyAmJiAhZmlsZS5lcnJvcikge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJkb3dubG9hZFVybChmaWxlKVwiIFthbHRdPVwiZmlsZS5uYW1lXCIgaGVpZ2h0PVwiMTU0XCIgd2lkdGg9XCIxNTRcIj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtY29udHJvbHNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWNvbnRyb2xzLWl0ZW1cIiAoY2xpY2spPVwiY2hhbmdlUHJldmlldygkZXZlbnQsIGZpbGUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLXBlbiBpY29uLWZvbnQtMTZcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtY29udHJvbHMtaXRlbVwiIChjbGljayk9XCJkZWxldGUoJGV2ZW50LCBmaWxlKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1kZWxldGUgaWNvbi1mb250LTE2XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLm1yeC1pbnB1dC1maWxlLWltYWdlX19kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIiFkaXNhYmxlZCA/IG9wZW5GaWxlU2VsZWN0b3IoKSA6IHVuZGVmaW5lZFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWlucHV0LXBsYWNlaG9sZGVyXCI+e3sgcGxhY2Vob2xkZXIgfHwgZ2V0RGVmYXVsdFBsYWNlaG9sZGVyIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1pbnB1dC1pbmZvXCI+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj7QoNCw0LfQvNC10YA6INC00L4ge3sgZm9ybWF0Qnl0ZXMobWF4U2l6ZSkgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImV4dGVuc2lvbnNcIj7QpNC+0YDQvNCw0YI6IHt7IGV4dGVuc2lvbnMgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvbmd4LWZpbGUtZHJvcD5cclxuICAgIH1cclxuICAgIEBkZWZhdWx0IHtcclxuICAgICAgQGlmIChjYW5BZGQpIHtcclxuICAgICAgICA8bmd4LWZpbGUtZHJvcFxyXG4gICAgICAgICAgW2NsYXNzTmFtZV09XCJnZXREcm9wWm9uZUNsYXNzZXNcIlxyXG4gICAgICAgICAgW2FjY2VwdF09XCJleHRlbnNpb25zIHx8ICcnXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAob25GaWxlRHJvcCk9XCJkcm9wcGVkKCRldmVudClcIlxyXG4gICAgICAgICAgKG9uRmlsZU92ZXIpPVwiZmlsZU92ZXIoJGV2ZW50KVwiIChvbkZpbGVMZWF2ZSk9XCJmaWxlTGVhdmUoJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIG5neC1maWxlLWRyb3AtY29udGVudC10bXAgbGV0LW9wZW5GaWxlU2VsZWN0b3I9XCJvcGVuRmlsZVNlbGVjdG9yXCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWlucHV0XCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiIWRpc2FibGVkID8gb3BlbkZpbGVTZWxlY3RvcigpIDogdW5kZWZpbmVkXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtaW5wdXQtcGxhY2Vob2xkZXJcIj5cclxuICAgICAgICAgICAgICAgIHt7IHBsYWNlaG9sZGVyIHx8IGdldERlZmF1bHRQbGFjZWhvbGRlciB9fVxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtaW5wdXQtaW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+0KDQsNC30LzQtdGAOiDQtNC+IHt7IGZvcm1hdEJ5dGVzKG1heFNpemUpIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJleHRlbnNpb25zXCI+0KTQvtGA0LzQsNGCOiB7eyBleHRlbnNpb25zIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZ3gtZmlsZS1kcm9wPlxyXG4gICAgICB9XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtcHJldmlld1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIEBmb3IgKGZpbGUgb2YgZmlsZXM7IHRyYWNrIGZpbGUuaWQpIHtcclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLTEyIGNvbC1zbS02IGNvbC1tZC00IGNvbC1sZy0zXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLXByZXZpZXctaXRlbVwiIFtjbGFzcy5tcngtaW5wdXQtZmlsZS1pbWFnZS1lcnJvcl09XCJmaWxlLmVycm9yXCI+XHJcbiAgICAgICAgICAgICAgICBAaWYgKGZpbGUuZXJyb3IpIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jbG9zZSBpY29uLWZvbnQtMjRcIiAoY2xpY2spPVwiZGVsZXRlKCRldmVudCwgZmlsZSlcIj48L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtcHJldmlldy1pdGVtLWVycm9yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWltYWdlIGljb24tZm9udC0yNCBpY29uLWZpbGxlZC1jb2xvci1uZWdhdGl2ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBmaWxlLmVycm9yIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtcHJldmlldy1pdGVtLW5hbWVcIj57eyBmaWxlLm5hbWUgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLXByZXZpZXctaXRlbS1kZXNjcmlwdGlvblwiPnt7IGZvcm1hdEJ5dGVzKGZpbGUubGVuZ3RoKSB9fTwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIH0gQGVsc2UgaWYgKGZpbGUudXBsb2FkaW5nICYmICFmaWxlLmVycm9yKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtcHJldmlldy1pdGVtLXVwbG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtcHJldmlldy1pdGVtLXVwbG9hZGluZy10ZXh0XCI+0JfQsNCz0YDRg9C30LrQsC4uLjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtcHJldmlldy1pdGVtLXVwbG9hZGluZy1wcm9ncmVzc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW25nU3R5bGVdPVwie3dpZHRoOiBmaWxlLnBlcmNlbnRhZ2UgKyAnJSd9XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICghZmlsZS51cGxvYWRpbmcgJiYgIWZpbGUuZXJyb3IpIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1wcmV2aWV3LWl0ZW1fX2ltYWdlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cImRvd25sb2FkVXJsKGZpbGUpXCIgW2FsdF09XCJmaWxlLm5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtcHJldmlldy1pdGVtLWluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtcHJldmlldy1pdGVtLW5hbWVcIj57eyBmaWxlLm5hbWUgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtcHJldmlldy1pdGVtLWRlc2NyaXB0aW9uXCI+e3sgZm9ybWF0Qnl0ZXMoZmlsZS5sZW5ndGgpIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWNvbnRyb2xzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWNvbnRyb2xzLWl0ZW1cIiAoY2xpY2spPVwiY2hhbmdlUHJldmlldygkZXZlbnQsIGZpbGUpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pY29uIGljb24tcGVuIGljb24tZm9udC0xNlwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtY29udHJvbHMtaXRlbVwiIChjbGljayk9XCJkZWxldGUoJGV2ZW50LCBmaWxlKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLWRlbGV0ZSBpY29uLWZvbnQtMTZcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
361
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmlsZS1pbWFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9pbnB1dC1maWxlLWltYWdlL2lucHV0LWZpbGUtaW1hZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtZmlsZS1pbWFnZS9pbnB1dC1maWxlLWltYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEYsT0FBTyxFQUFFLEVBQUUsSUFBSSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFhLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQ2pILE9BQU8sRUFBRSxzQkFBc0IsRUFBMkIsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7QUFVMUYsTUFBTSxPQUFPLHVCQUF1QjtJQTREeEI7SUFDQTtJQUNBO0lBN0RGLFlBQVksR0FBRyxLQUFLLENBQUM7SUFFN0IsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUMxQixVQUFVLENBQVU7SUFDcEIsaUJBQWlCLEdBQWEsRUFBRSxDQUFD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VSxRQUFRO3NCQUF2QixLQUFLO2dCQUdVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBQ1UsZ0JBQWdCO3NCQUEvQixLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsbUJBQW1CO3NCQUFsQyxLQUFLO2dCQUVVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBQ1UsY0FBYztzQkFBN0IsS0FBSztnQkFDVSxnQkFBZ0I7c0JBQS9CLEtBQUs7Z0JBRVUsYUFBYTtzQkFBNUIsS0FBSztnQkFHRixTQUFTO3NCQURaLEtBQUs7dUJBQUMsT0FBTztnQkFjSCxxQkFBcUI7c0JBRC9CLEtBQUs7dUJBQUMsbUJBQW1CO2dCQVdULFlBQVk7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElucHV0RmlsZU1vZGVsLCBVcGxvYWRlZEZpbGVNb2RlbCwgVXBsb2FkZWRSZXN1bHRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRTZXJ2aWNlLCBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEZpbGVTeXN0ZW1GaWxlRW50cnksIE5neEZpbGVEcm9wRW50cnkgfSBmcm9tICduZ3gtZmlsZS1kcm9wJztcclxuaW1wb3J0IHsgY29udmVydEJhc2U2NFRvRmlsZSwgZm9ybWF0Qnl0ZXMsIGdldEJhc2U2NEZyb21VcmwgfSBmcm9tICcuLi8uLi8uLi9oZWxwZXJzJztcclxuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEVNUFRZIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEh0dHBFdmVudCwgSHR0cEV2ZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgRmlsZUltYWdlRWRpdE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtaW1hZ2UtZWRpdC1tb2RhbC9maWxlLWltYWdlLWVkaXQtbW9kYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5wdXRGaWxlSW1hZ2VUeXBlRW51bSwgSW5wdXRGaWxlSW1hZ2VUeXBlVHlwZXMgfSBmcm9tICcuL2lucHV0LWZpbGUtaW1hZ2UuZW51bSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1pbnB1dC1maWxlLWltYWdlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZmlsZS1pbWFnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtZmlsZS1pbWFnZS5jb21wb25lbnQubGVzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBJbnB1dEZpbGVJbWFnZUNvbXBvbmVudCB7XHJcbiAgcHJpdmF0ZSBpc1Byb2Nlc3NpbmcgPSBmYWxzZTtcclxuXHJcbiAgZm9ybWF0Qnl0ZXMgPSBmb3JtYXRCeXRlcztcclxuICBleHRlbnNpb25zPzogc3RyaW5nO1xyXG4gIGFsbG93ZWRFeHRlbnNpb25zOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGZpbGVzOiBJbnB1dEZpbGVNb2RlbFtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyB0eXBlOiBJbnB1dEZpbGVJbWFnZVR5cGVUeXBlcyA9ICdkZWZhdWx0JztcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbUNsYXNzZXMgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIHJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIG1heFNpemUgPSAzMTQ1NzI4MDtcclxuICBASW5wdXQoKSBwdWJsaWMgbWF4RmlsZXMgPSA1O1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtaW5GaWxlcyA9IDA7XHJcblxyXG4gIC8vINCf0LDRgNCw0LzQtdGC0YDRiywg0LrQvtGC0L7RgNGL0LUg0LHRg9C00YPRgiDQv9C10YDQtdC00LDQstCw0YLRjNGB0Y8g0LIg0YTQvtGA0LzQtVxyXG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtRGF0YTogYW55ID0ge307XHJcblxyXG4gIC8vIENST1BQRVJcclxuICBASW5wdXQoKSBwdWJsaWMgY3JvcHBlck1heFdpZHRoID0gMDtcclxuICBASW5wdXQoKSBwdWJsaWMgY3JvcHBlck1heEhlaWdodCA9IDA7XHJcbiAgQElucHV0KCkgcHVibGljIGFzcGVjdFJhdGlvID0gMSAvIDE7XHJcbiAgQElucHV0KCkgcHVibGljIG1haW50YWluQXNwZWN0UmF0aW8gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIHVwbG9hZEVuZFBvaW50ITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkZWxldGVFbmRQb2ludD86IHN0cmluZztcclxuICBASW5wdXQoKSBwdWJsaWMgZG93bmxvYWRFbmRQb2ludD86IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgcHVibGljIGRlbGV0ZUNvbmZpcm0/OiAoZmlsZTogVXBsb2FkZWRGaWxlTW9kZWwsIHJlc3VsdDogKG9rOiBib29sZWFuKSA9PiB2b2lkKSA9PiB2b2lkO1xyXG5cclxuICBASW5wdXQoJ2ZpbGVzJylcclxuICBzZXQgaW5pdEZpbGVzKGRhdGE6IFVwbG9hZGVkRmlsZU1vZGVsW10gfCBVcGxvYWRlZEZpbGVNb2RlbCkge1xyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcclxuICAgICAgICB0aGlzLmZpbGVzID0gZGF0YS5tYXAocyA9PiAoey4uLnN9KSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5maWxlcyA9IFt7Li4uZGF0YX1dO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZpbGVzID0gW107XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoJ2FsbG93ZWRFeHRlbnNpb25zJylcclxuICBwdWJsaWMgc2V0IGluaXRBbGxvd2VkRXh0ZW5zaW9ucyh2YWw6IHN0cmluZ1tdKSB7XHJcbiAgICBpZiAodmFsKSB7XHJcbiAgICAgIHRoaXMuYWxsb3dlZEV4dGVuc2lvbnMgPSB2YWw7XHJcbiAgICAgIHRoaXMuZXh0ZW5zaW9ucyA9IHZhbC5qb2luKCcsICcpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hbGxvd2VkRXh0ZW5zaW9ucyA9IFtdO1xyXG4gICAgICB0aGlzLmV4dGVuc2lvbnMgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgcHVibGljIGZpbGVzQ2hhbmdlZDogRXZlbnRFbWl0dGVyPElucHV0RmlsZU1vZGVsW10+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaW1hZ2VVcGxvYWRTZXJ2aWNlOiBGaWxlVXBsb2FkU2VydmljZSxcclxuICAgIHByaXZhdGUgX21vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldERlZmF1bHRQbGFjZWhvbGRlcigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gJ2F2YXRhcicgP1xyXG4gICAgICAn0JfQsNCz0YDRg9C30LjRgtC1INGE0L7RgtC+0LPRgNCw0YTQuNGOJyA6XHJcbiAgICAgICfQn9C10YDQtdC90LXRgdC40YLQtSDRhNCw0LnQuyDRgSDRg9GB0YLRgNC+0LnRgdGC0LLQsCDQuNC70Lgg0L3QsNC20LzQuNGC0LUg0L3QsCDQtNCw0L3QvdC+0LUg0L/QvtC70LUg0LTQu9GPINC00L7QsdCw0LLQu9C10L3QuNGPINGE0LDQudC70LAnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRDbGFzc2VzKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7SW5wdXRGaWxlSW1hZ2VUeXBlRW51bVt0aGlzLnR5cGVdfSAke3RoaXMuY3VzdG9tQ2xhc3Nlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXREcm9wWm9uZUNsYXNzZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgbXJ4LWlucHV0LWZpbGUtaW1hZ2UtZHJvcCAke3RoaXMuZGlzYWJsZWQgPyAnbXJ4LWlucHV0LWZpbGUtcGljdHVyZS1kcm9wLWRpc2FibGVkJyA6ICcnfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNhbkFkZCgpIHtcclxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdhdmF0YXInKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmZpbGVzLmxlbmd0aCA8IDE7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5tYXhGaWxlcyA+IHRoaXMuZmlsZXMuZmlsdGVyKHMgPT4gIXMuZXJyb3IpLmxlbmd0aDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NoZWNrRXJyb3JzKCkge1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBkcm9wcGVkKGZpbGVzOiBOZ3hGaWxlRHJvcEVudHJ5W10pIHtcclxuICAgIGNvbnN0IGRyb3BwZWRGaWxlID0gZmlsZXNbMF07XHJcblxyXG4gICAgaWYgKGRyb3BwZWRGaWxlLmZpbGVFbnRyeS5pc0ZpbGUpIHtcclxuICAgICAgY29uc3QgZmlsZUVudHJ5ID0gZHJvcHBlZEZpbGUuZmlsZUVudHJ5IGFzIEZpbGVTeXN0ZW1GaWxlRW50cnk7XHJcblxyXG4gICAgICBmaWxlRW50cnkuZmlsZSgoZmlsZTogRmlsZSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGRhdGE6IElucHV0RmlsZU1vZGVsID0ge1xyXG4gICAgICAgICAgaWQ6ICcnLFxyXG4gICAgICAgICAgdGVtcFV1aWQ6IHV1aWR2NCgpLFxyXG4gICAgICAgICAgbmFtZTogZmlsZS5uYW1lLFxyXG4gICAgICAgICAgbGVuZ3RoOiBmaWxlLnNpemUsXHJcbiAgICAgICAgICB1cGxvYWRpbmc6IHRydWUsXHJcbiAgICAgICAgICBwZXJjZW50YWdlOiAwLFxyXG4gICAgICAgICAgZmlsZTogZmlsZSxcclxuICAgICAgICB9IGFzIElucHV0RmlsZU1vZGVsO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuY2FuQWRkKSB7XHJcbiAgICAgICAgICBkYXRhLmVycm9yID0gJ9Ch0LvQuNGI0LrQvtC8INC80L3QvtCz0L4g0YTQsNC50LvQvtCyJztcclxuICAgICAgICAgIGRhdGEudXBsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmZpbGVzLnB1c2goZGF0YSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmZpbGVzLnB1c2goZGF0YSk7XHJcblxyXG4gICAgICAgIGlmIChkYXRhLmZpbGUgJiYgZGF0YS5maWxlLnNpemUgPiB0aGlzLm1heFNpemUpIHtcclxuICAgICAgICAgIGRhdGEuZXJyb3IgPSAn0KHQu9C40YjQutC+0Lwg0LHQvtC70YzRiNC+0Lkg0YTQsNC50LsnO1xyXG4gICAgICAgICAgZGF0YS51cGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChkYXRhLmZpbGUgJiYgZGF0YS5maWxlLnNpemUgPT0gMCkge1xyXG4gICAgICAgICAgZGF0YS5lcnJvciA9ICfQn9GD0YHRgtC+0Lkg0YTQsNC50LsnO1xyXG4gICAgICAgICAgZGF0YS51cGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFsbG93ZWRFeHRlbnNpb25zLmxlbmd0aCA+IDAgJiYgIXRoaXMuYWxsb3dlZEV4dGVuc2lvbnMuc29tZShcclxuICAgICAgICAgIHMgPT4gZGF0YS5maWxlPy5uYW1lLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgocy50b0xvd2VyQ2FzZSgpKSkpIHtcclxuICAgICAgICAgIGRhdGEuZXJyb3IgPSAn0J3QtdCy0LXRgNC90YvQuSDRhNC+0YDQvNCw0YIg0YTQsNC50LvQsCc7XHJcbiAgICAgICAgICBkYXRhLnVwbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCFkYXRhLmVycm9yKSB7XHJcbiAgICAgICAgICB0aGlzLl9tb2RhbFNlcnZpY2Uub3BlbihGaWxlSW1hZ2VFZGl0TW9kYWxDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgdGl0bGU6ICfQoNCV0JTQkNCa0KLQmNCg0J7QktCQ0J3QmNCVINCY0JfQntCR0KDQkNCW0JXQndCY0K8nLFxyXG4gICAgICAgICAgICBmaWxlSW1hZ2U6IGZpbGUsXHJcbiAgICAgICAgICAgIGNyb3BwZXJNYXhXaWR0aDogdGhpcy5jcm9wcGVyTWF4V2lkdGgsXHJcbiAgICAgICAgICAgIGNyb3BwZXJNYXhIZWlnaHQ6IHRoaXMuY3JvcHBlck1heEhlaWdodCxcclxuICAgICAgICAgICAgYXNwZWN0UmF0aW86IHRoaXMuYXNwZWN0UmF0aW8sXHJcbiAgICAgICAgICAgIG1haW50YWluQXNwZWN0UmF0aW86IHRoaXMubWFpbnRhaW5Bc3BlY3RSYXRpb1xyXG4gICAgICAgICAgfSwge30pXHJcbiAgICAgICAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChyZXMucmVzdWx0ICYmIHJlcy5maWxlSW1hZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRhdGEuZmlsZSA9IHJlcy5maWxlSW1hZ2VcclxuICAgICAgICAgICAgICAgIHRoaXMuX3VwbG9hZEZpbGUoZGF0YSlcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZmluZElkeCA9IHRoaXMuZmlsZXMuZmluZEluZGV4KGQgPT4gZC50ZW1wVXVpZCA9PT0gZGF0YS50ZW1wVXVpZClcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoZmluZElkeCAhPSAtMSkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmZpbGVzID0gdGhpcy5maWxlcy5maWx0ZXIoKGYsIGlkeCkgPT4gaWR4ICE9PSBmaW5kSWR4KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGFuZ2VQcmV2aWV3KGV2ZW50OiBhbnksIGZpbGU6IElucHV0RmlsZU1vZGVsKSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICBpZiAodGhpcy5pc1Byb2Nlc3NpbmcpIHJldHVybjtcclxuICAgIFxyXG4gICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSB0cnVlO1xyXG5cclxuICAgIGdldEJhc2U2NEZyb21VcmwodGhpcy5kb3dubG9hZFVybChmaWxlKSkudGhlbigoYmFzZTY0VXJsOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5fbW9kYWxTZXJ2aWNlLm9wZW4oRmlsZUltYWdlRWRpdE1vZGFsQ29tcG9uZW50LCB7XHJcbiAgICAgICAgdGl0bGU6ICfQoNCV0JTQkNCa0KLQmNCg0J7QktCQ0J3QmNCVINCY0JfQntCR0KDQkNCW0JXQndCY0K8nLFxyXG4gICAgICAgIGZpbGVJbWFnZTogY29udmVydEJhc2U2NFRvRmlsZShiYXNlNjRVcmwsIGZpbGUubmFtZSB8fCAnJywgJ2ltYWdlL3BuZycpLFxyXG4gICAgICAgIGNyb3BwZXJNYXhXaWR0aDogdGhpcy5jcm9wcGVyTWF4V2lkdGgsXHJcbiAgICAgICAgY3JvcHBlck1heEhlaWdodDogdGhpcy5jcm9wcGVyTWF4SGVpZ2h0LFxyXG4gICAgICAgIGFzcGVjdFJhdGlvOiB0aGlzLmFzcGVjdFJhdGlvLFxyXG4gICAgICAgIG1haW50YWluQXNwZWN0UmF0aW86IHRoaXMubWFpbnRhaW5Bc3BlY3RSYXRpb1xyXG4gICAgICB9LCB7fSlcclxuICAgICAgICAuYWZ0ZXJDbG9zZWQoKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcy5yZXN1bHQgJiYgcmVzLmZpbGVJbWFnZSkge1xyXG4gICAgICAgICAgICB0aGlzLl91cGRhdGVGaWxlKGZpbGUsIHJlcy5maWxlSW1hZ2UpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkZWxldGUoZXZlbnQ6IGFueSwgZmlsZTogSW5wdXRGaWxlTW9kZWwpOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIGlmICh0aGlzLmRlbGV0ZUNvbmZpcm0pIHtcclxuICAgICAgdGhpcy5kZWxldGVDb25maXJtKGZpbGUsIChvaykgPT4ge1xyXG4gICAgICAgIGlmIChvaykge1xyXG4gICAgICAgICAgdGhpcy5fZGVsZXRlRmlsZShmaWxlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fZGVsZXRlRmlsZShmaWxlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGVhcihmaWxlOiBJbnB1dEZpbGVNb2RlbCk6IHZvaWQge1xyXG4gICAgaWYgKGZpbGUudXBsb2FkaW5nKSB7XHJcbiAgICAgIGlmIChmaWxlLmV4ZWN1dGlvbikge1xyXG4gICAgICAgIGZpbGUuZXhlY3V0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBmaW5kRmlsZUlkeCA9IHRoaXMuZmlsZXMuaW5kZXhPZihmaWxlKTtcclxuXHJcbiAgICBpZiAoZmluZEZpbGVJZHggPj0gMCkge1xyXG4gICAgICB0aGlzLmZpbGVzLnNwbGljZShmaW5kRmlsZUlkeCwgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZG93bmxvYWRVcmwoZmlsZTogVXBsb2FkZWRGaWxlTW9kZWwpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuZG93bmxvYWRFbmRQb2ludCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fdHJhbnNmb3JtVXJsKHRoaXMuZG93bmxvYWRFbmRQb2ludCwgZmlsZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZmlsZU92ZXIoZXZlbnQ6IGFueSkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGZpbGVMZWF2ZShldmVudDogYW55KSB7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF90cmFuc2Zvcm1VcmwodXJsOiBzdHJpbmcsIGZpbGU6IFVwbG9hZGVkRmlsZU1vZGVsKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB1cmwucmVwbGFjZSgve2lkfS8sIGZpbGUuaWQpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9mb3JtRGF0YUtleXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuZm9ybURhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY3JlYXRlRm9ybURhdGEoKTogRm9ybURhdGEge1xyXG4gICAgY29uc3QgZm9ybSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgaWYgKHRoaXMubWF4RmlsZXMpIHtcclxuICAgICAgZm9ybS5hcHBlbmQoJ01heEZpbGVzJywgdGhpcy5tYXhGaWxlcy50b1N0cmluZygxMCkpO1xyXG4gICAgfVxyXG4gICAgY29uc3Qga2V5cyA9IHRoaXMuX2Zvcm1EYXRhS2V5cygpO1xyXG4gICAga2V5cy5mb3JFYWNoKGtleSA9PiBmb3JtLmFwcGVuZChrZXksIHRoaXMuZm9ybURhdGFba2V5XSkpO1xyXG4gICAgcmV0dXJuIGZvcm07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9kZWxldGVGaWxlKGZpbGU6IElucHV0RmlsZU1vZGVsKSB7XHJcbiAgICBjb25zdCBmaW5kRmlsZSA9IHRoaXMuZmlsZXMuZmluZChzID0+IHMuaWQgPT09IGZpbGUuaWQpO1xyXG5cclxuICAgIGlmIChmaW5kRmlsZSkge1xyXG4gICAgICBpZiAodGhpcy5kZWxldGVFbmRQb2ludCkge1xyXG4gICAgICAgIGZpbmRGaWxlLmRlbGV0aW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgdGhpcy5pbWFnZVVwbG9hZFNlcnZpY2UuZGVsZXRlKHRoaXMuZGVsZXRlRW5kUG9pbnQpLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgdGhpcy5maWxlcy5zcGxpY2UodGhpcy5maWxlcy5pbmRleE9mKGZpbmRGaWxlKSwgMSk7XHJcbiAgICAgICAgICB0aGlzLmZpbGVzQ2hhbmdlZC5lbWl0KHRoaXMuZmlsZXMpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmZpbGVzLnNwbGljZSh0aGlzLmZpbGVzLmluZGV4T2YoZmluZEZpbGUpLCAxKTtcclxuICAgICAgICB0aGlzLmZpbGVzQ2hhbmdlZC5lbWl0KHRoaXMuZmlsZXMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF91cGRhdGVGaWxlKG9sZEZpbGU6IElucHV0RmlsZU1vZGVsLCBuZXdGaWxlOiBGaWxlKSB7XHJcbiAgICBjb25zdCBmaW5kRmlsZSA9IHRoaXMuZmlsZXMuZmluZCgoczogSW5wdXRGaWxlTW9kZWwpID0+IHtcclxuICAgICAgaWYgKHMuaWQgIT09ICcnKSB7XHJcbiAgICAgICAgcmV0dXJuIHMuaWQgPT09IG9sZEZpbGUuaWQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHMudGVtcFV1aWQgPT09IG9sZEZpbGUudGVtcFV1aWQ7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIGlmIChmaW5kRmlsZSkge1xyXG4gICAgICBjb25zdCBkYXRhOiBJbnB1dEZpbGVNb2RlbCA9IHtcclxuICAgICAgICBpZDogJycsXHJcbiAgICAgICAgdGVtcFV1aWQ6IHV1aWR2NCgpLFxyXG4gICAgICAgIG5hbWU6IG5ld0ZpbGUubmFtZSxcclxuICAgICAgICBsZW5ndGg6IG5ld0ZpbGUuc2l6ZSxcclxuICAgICAgICB1cGxvYWRpbmc6IHRydWUsXHJcbiAgICAgICAgcGVyY2VudGFnZTogMCxcclxuICAgICAgICBmaWxlOiBuZXdGaWxlLFxyXG4gICAgICB9IGFzIElucHV0RmlsZU1vZGVsO1xyXG5cclxuICAgICAgaWYgKHRoaXMuZGVsZXRlRW5kUG9pbnQpIHtcclxuICAgICAgICBmaW5kRmlsZS5kZWxldGluZyA9IHRydWU7XHJcblxyXG4gICAgICAgIHRoaXMuaW1hZ2VVcGxvYWRTZXJ2aWNlLmRlbGV0ZSh0aGlzLmRlbGV0ZUVuZFBvaW50KS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICAgIHRoaXMuZmlsZXMuc3BsaWNlKHRoaXMuZmlsZXMuaW5kZXhPZihmaW5kRmlsZSksIDEpO1xyXG4gICAgICAgICAgdGhpcy5maWxlcy5wdXNoKGRhdGEpO1xyXG4gICAgICAgICAgdGhpcy5fdXBsb2FkRmlsZShkYXRhKTtcclxuXHJcbiAgICAgICAgICB0aGlzLl9kZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZmlsZXMucHVzaChkYXRhKTtcclxuICAgICAgICB0aGlzLl91cGxvYWRGaWxlKGRhdGEpO1xyXG5cclxuICAgICAgICB0aGlzLl9kZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3VwbG9hZEZpbGUoZGF0YTogSW5wdXRGaWxlTW9kZWwpIHtcclxuICAgIGNvbnN0IGZvcm1EYXRhID0gdGhpcy5fY3JlYXRlRm9ybURhdGEoKTtcclxuXHJcbiAgICBpZiAoZGF0YS5maWxlKSB7XHJcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnRmlsZScsIGRhdGEuZmlsZSk7XHJcblxyXG4gICAgICBkYXRhLmV4ZWN1dGlvbiA9IHRoaXMuaW1hZ2VVcGxvYWRTZXJ2aWNlLnVwbG9hZCh0aGlzLnVwbG9hZEVuZFBvaW50LCBmb3JtRGF0YSkucGlwZShcclxuICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICAgIGRhdGEudXBsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICByZXR1cm4gRU1QVFk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBIdHRwRXZlbnQ8VXBsb2FkZWRSZXN1bHRNb2RlbD4pID0+IHtcclxuICAgICAgICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlIEh0dHBFdmVudFR5cGUuU2VudDpcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlSGVhZGVyOlxyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBjYXNlIEh0dHBFdmVudFR5cGUuVXBsb2FkUHJvZ3Jlc3M6XHJcbiAgICAgICAgICAgICAgaWYgKGV2ZW50LnRvdGFsKSB7XHJcbiAgICAgICAgICAgICAgICBkYXRhLnBlcmNlbnRhZ2UgPSBNYXRoLnJvdW5kKGV2ZW50LmxvYWRlZCAvIGV2ZW50LnRvdGFsICogMTAwKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5SZXNwb25zZTpcclxuICAgICAgICAgICAgICBpZiAoZXZlbnQuYm9keSkge1xyXG4gICAgICAgICAgICAgICAgZGF0YS51cGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIGRhdGEucGVyY2VudGFnZSA9IDA7XHJcbiAgICAgICAgICAgICAgICBkYXRhLmlkID0gZXZlbnQuYm9keS51dWlkO1xyXG4gICAgICAgICAgICAgICAgZGF0YS5maWxlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgZGF0YS5lcnJvciA9IGV2ZW50LmJvZHkubWVzc2FnZTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoZGF0YS5leGVjdXRpb24pIHtcclxuICAgICAgICAgICAgICAgICAgZGF0YS5leGVjdXRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZpbGVzLmV2ZXJ5KHMgPT4gIXMudXBsb2FkaW5nKSkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmZpbGVzQ2hhbmdlZC5lbWl0KHRoaXMuZmlsZXMpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuX2RldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZVwiIFtjbGFzc109XCJnZXRDbGFzc2VzXCI+XHJcbiAgQHN3aXRjaCAodHlwZSkge1xyXG4gICAgQGNhc2UgKCdhdmF0YXInKSB7XHJcbiAgICAgIDxuZ3gtZmlsZS1kcm9wXHJcbiAgICAgICAgW2NsYXNzTmFtZV09XCJnZXREcm9wWm9uZUNsYXNzZXNcIlxyXG4gICAgICAgIFthY2NlcHRdPVwiZXh0ZW5zaW9ucyB8fCAnJ1wiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAob25GaWxlRHJvcCk9XCJkcm9wcGVkKCRldmVudClcIlxyXG4gICAgICAgIChvbkZpbGVPdmVyKT1cImZpbGVPdmVyKCRldmVudClcIiAob25GaWxlTGVhdmUpPVwiZmlsZUxlYXZlKCRldmVudClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIG5neC1maWxlLWRyb3AtY29udGVudC10bXAgbGV0LW9wZW5GaWxlU2VsZWN0b3I9XCJvcGVuRmlsZVNlbGVjdG9yXCI+XHJcbiAgICAgICAgICBAaWYgKGZpbGVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtYXZhdGFyXCI+XHJcblxyXG4gICAgICAgICAgICAgIEBmb3IgKGZpbGUgb2YgZmlsZXM7IHRyYWNrIGZpbGUuaWQpIHtcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCBoLTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtYXZhdGFyLWl0ZW1cIiBbY2xhc3MubXJ4LWlucHV0LWZpbGUtaW1hZ2UtZXJyb3JdPVwiZmlsZS5lcnJvclwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKGZpbGUuZXJyb3IpIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pY29uIGljb24tY2xvc2UgaWNvbi1mb250LTI0XCIgKGNsaWNrKT1cImNsZWFyKGZpbGUpXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWF2YXRhci1pdGVtLWVycm9yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1pbWFnZSBpY29uLWZvbnQtMjQgaWNvbi1maWxsZWQtY29sb3ItbmVnYXRpdmVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZpbGUuZXJyb3IgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmIChmaWxlLnVwbG9hZGluZyAmJiAhZmlsZS5lcnJvcikge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1jbG9zZSBpY29uLWZvbnQtMjRcIiAoY2xpY2spPVwiZGVsZXRlKCRldmVudCwgZmlsZSlcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtYXZhdGFyLWl0ZW0tdXBsb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtYXZhdGFyLWl0ZW0tdXBsb2FkaW5nLXRleHRcIj7Ql9Cw0LPRgNGD0LfQutCwLi4uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtYXZhdGFyLWl0ZW0tdXBsb2FkaW5nLXByb2dyZXNzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW25nU3R5bGVdPVwie3dpZHRoOiBmaWxlLnBlcmNlbnRhZ2UgKyAnJSd9XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICghZmlsZS51cGxvYWRpbmcgJiYgIWZpbGUuZXJyb3IpIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiZG93bmxvYWRVcmwoZmlsZSlcIiBbYWx0XT1cImZpbGUubmFtZVwiIGhlaWdodD1cIjE1NFwiIHdpZHRoPVwiMTU0XCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWNvbnRyb2xzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1jb250cm9scy1pdGVtXCIgKGNsaWNrKT1cImNoYW5nZVByZXZpZXcoJGV2ZW50LCBmaWxlKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1wZW4gaWNvbi1mb250LTE2XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWNvbnRyb2xzLWl0ZW1cIiAoY2xpY2spPVwiZGVsZXRlKCRldmVudCwgZmlsZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pY29uIGljb24tZGVsZXRlIGljb24tZm9udC0xNlwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtaW5wdXRcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5tcngtaW5wdXQtZmlsZS1pbWFnZV9fZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCIhZGlzYWJsZWQgPyBvcGVuRmlsZVNlbGVjdG9yKCkgOiB1bmRlZmluZWRcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1pbnB1dC1wbGFjZWhvbGRlclwiPnt7IHBsYWNlaG9sZGVyIHx8IGdldERlZmF1bHRQbGFjZWhvbGRlciB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtaW5wdXQtaW5mb1wiPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4+0KDQsNC30LzQtdGAOiDQtNC+IHt7IGZvcm1hdEJ5dGVzKG1heFNpemUpIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJleHRlbnNpb25zXCI+0KTQvtGA0LzQsNGCOiB7eyBleHRlbnNpb25zIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L25neC1maWxlLWRyb3A+XHJcbiAgICB9XHJcbiAgICBAZGVmYXVsdCB7XHJcbiAgICAgIEBpZiAoY2FuQWRkKSB7XHJcbiAgICAgICAgPG5neC1maWxlLWRyb3BcclxuICAgICAgICAgIFtjbGFzc05hbWVdPVwiZ2V0RHJvcFpvbmVDbGFzc2VzXCJcclxuICAgICAgICAgIFthY2NlcHRdPVwiZXh0ZW5zaW9ucyB8fCAnJ1wiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgKG9uRmlsZURyb3ApPVwiZHJvcHBlZCgkZXZlbnQpXCJcclxuICAgICAgICAgIChvbkZpbGVPdmVyKT1cImZpbGVPdmVyKCRldmVudClcIiAob25GaWxlTGVhdmUpPVwiZmlsZUxlYXZlKCRldmVudClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZ3gtZmlsZS1kcm9wLWNvbnRlbnQtdG1wIGxldC1vcGVuRmlsZVNlbGVjdG9yPVwib3BlbkZpbGVTZWxlY3RvclwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cIiFkaXNhYmxlZCA/IG9wZW5GaWxlU2VsZWN0b3IoKSA6IHVuZGVmaW5lZFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWlucHV0LXBsYWNlaG9sZGVyXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBwbGFjZWhvbGRlciB8fCBnZXREZWZhdWx0UGxhY2Vob2xkZXIgfX1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWlucHV0LWluZm9cIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPtCg0LDQt9C80LXRgDog0LTQviB7eyBmb3JtYXRCeXRlcyhtYXhTaXplKSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZXh0ZW5zaW9uc1wiPtCk0L7RgNC80LDRgjoge3sgZXh0ZW5zaW9ucyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbmd4LWZpbGUtZHJvcD5cclxuICAgICAgfVxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLXByZXZpZXdcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICBAZm9yIChmaWxlIG9mIGZpbGVzOyB0cmFjayBmaWxlLmlkKSB7XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sIGNvbC0xMiBjb2wtc20tNiBjb2wtbWQtNCBjb2wtbGctM1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1wcmV2aWV3LWl0ZW1cIiBbY2xhc3MubXJ4LWlucHV0LWZpbGUtaW1hZ2UtZXJyb3JdPVwiZmlsZS5lcnJvclwiPlxyXG4gICAgICAgICAgICAgICAgQGlmIChmaWxlLmVycm9yKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pY29uIGljb24tY2xvc2UgaWNvbi1mb250LTI0XCIgKGNsaWNrKT1cImRlbGV0ZSgkZXZlbnQsIGZpbGUpXCI+PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLXByZXZpZXctaXRlbS1lcnJvclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1pbWFnZSBpY29uLWZvbnQtMjQgaWNvbi1maWxsZWQtY29sb3ItbmVnYXRpdmVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgZmlsZS5lcnJvciB9fVxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLXByZXZpZXctaXRlbS1uYW1lXCI+e3sgZmlsZS5uYW1lIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1wcmV2aWV3LWl0ZW0tZGVzY3JpcHRpb25cIj57eyBmb3JtYXRCeXRlcyhmaWxlLmxlbmd0aCkgfX08L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIGlmIChmaWxlLnVwbG9hZGluZyAmJiAhZmlsZS5lcnJvcikge1xyXG5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLXByZXZpZXctaXRlbS11cGxvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLXByZXZpZXctaXRlbS11cGxvYWRpbmctdGV4dFwiPtCX0LDQs9GA0YPQt9C60LAuLi48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLXByZXZpZXctaXRlbS11cGxvYWRpbmctcHJvZ3Jlc3NcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIFtuZ1N0eWxlXT1cInt3aWR0aDogZmlsZS5wZXJjZW50YWdlICsgJyUnfVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoIWZpbGUudXBsb2FkaW5nICYmICFmaWxlLmVycm9yKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXJ4LWlucHV0LWZpbGUtaW1hZ2UtcHJldmlldy1pdGVtX19pbWFnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJkb3dubG9hZFVybChmaWxlKVwiIFthbHRdPVwiZmlsZS5uYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLXByZXZpZXctaXRlbS1pbmZvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLXByZXZpZXctaXRlbS1uYW1lXCI+e3sgZmlsZS5uYW1lIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLXByZXZpZXctaXRlbS1kZXNjcmlwdGlvblwiPnt7IGZvcm1hdEJ5dGVzKGZpbGUubGVuZ3RoKSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1jb250cm9sc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcngtaW5wdXQtZmlsZS1pbWFnZS1jb250cm9scy1pdGVtXCIgKGNsaWNrKT1cImNoYW5nZVByZXZpZXcoJGV2ZW50LCBmaWxlKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcngtaWNvbiBpY29uLXBlbiBpY29uLWZvbnQtMTZcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1pbnB1dC1maWxlLWltYWdlLWNvbnRyb2xzLWl0ZW1cIiAoY2xpY2spPVwiZGVsZXRlKCRldmVudCwgZmlsZSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXJ4LWljb24gaWNvbi1kZWxldGUgaWNvbi1mb250LTE2XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIH1cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
@@ -14,13 +14,13 @@ export class RadioGroupHeaderComponent {
14
14
  linkText = '';
15
15
  checkedItemsCount = 0;
16
16
  required = false;
17
- updateradioGroupSearchValue = new EventEmitter();
17
+ updateRadioGroupSearchValue = new EventEmitter();
18
18
  constructor() { }
19
19
  changeSearchValue(searchValue) {
20
- this.updateradioGroupSearchValue.emit(searchValue);
20
+ this.updateRadioGroupSearchValue.emit(searchValue);
21
21
  }
22
22
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RadioGroupHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: RadioGroupHeaderComponent, selector: "mrx-radio-group-header", inputs: { searchSize: "searchSize", searchable: "searchable", searchPlaceholder: "searchPlaceholder", tooltip: "tooltip", labelText: "labelText", linkText: "linkText", checkedItemsCount: "checkedItemsCount", required: "required" }, outputs: { updateradioGroupSearchValue: "updateradioGroupSearchValue" }, ngImport: i0, template: "@if (labelText) {\r\n <mrx-label [tooltip]=\"tooltip\" [required]=\"required\">{{ labelText }}</mrx-label>\r\n}\r\n\r\n@if (searchable) {\r\n <div class=\"mrx-radio-group-head--search mb-12px\">\r\n <mrx-input-search\r\n [ngModel]=\"searchValue\"\r\n [size]=\"searchSize\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (ngModelChange)=\"changeSearchValue($event)\"\r\n ></mrx-input-search>\r\n </div>\r\n}\r\n\r\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.InputSearchComponent, selector: "mrx-input-search", inputs: ["disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "mask", "size"], outputs: ["changed", "cleared", "searched"] }, { kind: "component", type: i3.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: RadioGroupHeaderComponent, selector: "mrx-radio-group-header", inputs: { searchSize: "searchSize", searchable: "searchable", searchPlaceholder: "searchPlaceholder", tooltip: "tooltip", labelText: "labelText", linkText: "linkText", checkedItemsCount: "checkedItemsCount", required: "required" }, outputs: { updateRadioGroupSearchValue: "updateRadioGroupSearchValue" }, ngImport: i0, template: "@if (labelText) {\r\n <mrx-label [tooltip]=\"tooltip\" [required]=\"required\">{{ labelText }}</mrx-label>\r\n}\r\n\r\n@if (searchable) {\r\n <div class=\"mrx-radio-group-head--search mb-12px\">\r\n <mrx-input-search\r\n [ngModel]=\"searchValue\"\r\n [size]=\"searchSize\"\r\n [placeholder]=\"searchPlaceholder\"\r\n (ngModelChange)=\"changeSearchValue($event)\"\r\n ></mrx-input-search>\r\n </div>\r\n}\r\n\r\n", dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.InputSearchComponent, selector: "mrx-input-search", inputs: ["disabled", "required", "readonly", "maxlength", "minlength", "placeholder", "invalid", "invalidMessage", "checkInvalid", "customClasses", "mask", "size"], outputs: ["changed", "cleared", "searched"] }, { kind: "component", type: i3.LabelComponent, selector: "mrx-label", inputs: ["requiredHidden", "required", "boldLabel", "disabled", "placeholder", "label", "customClasses", "triggerTextPosition", "isPublicInfo", "publicInfoTooltip", "isSwitch", "switchLabel", "switchValue", "isCheckbox", "checkboxLabel", "checkboxValue", "counter", "linkText", "linkPrevent", "linkType", "linkMonochrome", "href", "triggerType", "tooltip", "tooltipInitialVisible", "isSaveToStorage"], outputs: ["changeSwitchValue", "changeCheckboxValue", "clickedLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
24
24
  }
25
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RadioGroupHeaderComponent, decorators: [{
26
26
  type: Component,
@@ -41,7 +41,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
41
41
  type: Input
42
42
  }], required: [{
43
43
  type: Input
44
- }], updateradioGroupSearchValue: [{
44
+ }], updateRadioGroupSearchValue: [{
45
45
  type: Output
46
46
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3JhZGlvLWdyb3VwL2NvbXBvbmVudHMvcmFkaW8tZ3JvdXAtaGVhZGVyL3JhZGlvLWdyb3VwLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9yYWRpby1ncm91cC9jb21wb25lbnRzL3JhZGlvLWdyb3VwLWhlYWRlci9yYWRpby1ncm91cC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFRaEcsTUFBTSxPQUFPLHlCQUF5QjtJQUM3QixXQUFXLEdBQUcsRUFBRSxDQUFBO0lBRWQsVUFBVSxHQUEwQixRQUFRLENBQUM7SUFFN0MsVUFBVSxHQUFHLEtBQUssQ0FBQTtJQUNsQixpQkFBaUIsR0FBRyxFQUFFLENBQUE7SUFFL0IsUUFBUTtJQUNDLE9BQU8sR0FBRyxFQUFFLENBQUE7SUFDWixTQUFTLEdBQUcsRUFBRSxDQUFBO0lBQ2QsUUFBUSxHQUFHLEVBQUUsQ0FBQTtJQUNiLGlCQUFpQixHQUFHLENBQUMsQ0FBQTtJQUNyQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRVQsMkJBQTJCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7SUFFaEcsZ0JBQWdCLENBQUM7SUFFVixpQkFBaUIsQ0FBQyxXQUFrQztRQUN6RCxJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3BELENBQUM7d0dBckJVLHlCQUF5Qjs0RkFBekIseUJBQXlCLCtXQ1R0QywwYkFlQTs7NEZETmEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHdCQUF3QixtQkFFakIsdUJBQXVCLENBQUMsTUFBTTt3REFLdEMsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVXLDJCQUEyQjtzQkFBM0MsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0U2VhcmNoU2l6ZXNUeXBlcyB9IGZyb20gJy4vLi4vLi4vLi4vaW5wdXQtc2VhcmNoL2lucHV0LXNlYXJjaC5lbnVtJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJhZGlvR3JvdXBTZWFyY2hWYWx1ZSB9IGZyb20gJy4uLy4uL21vZGVscy9yYWRpby1ncm91cC5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1yYWRpby1ncm91cC1oZWFkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yYWRpby1ncm91cC1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYWRpb0dyb3VwSGVhZGVyQ29tcG9uZW50IHtcclxuICBwdWJsaWMgc2VhcmNoVmFsdWUgPSAnJ1xyXG5cclxuICBASW5wdXQoKSBzZWFyY2hTaXplOiBJbnB1dFNlYXJjaFNpemVzVHlwZXMgPSAnbWVkaXVtJztcclxuXHJcbiAgQElucHV0KCkgc2VhcmNoYWJsZSA9IGZhbHNlXHJcbiAgQElucHV0KCkgc2VhcmNoUGxhY2Vob2xkZXIgPSAnJ1xyXG5cclxuICAvLyBMQUJFTFxyXG4gIEBJbnB1dCgpIHRvb2x0aXAgPSAnJ1xyXG4gIEBJbnB1dCgpIGxhYmVsVGV4dCA9ICcnXHJcbiAgQElucHV0KCkgbGlua1RleHQgPSAnJ1xyXG4gIEBJbnB1dCgpIGNoZWNrZWRJdGVtc0NvdW50ID0gMFxyXG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgdXBkYXRlcmFkaW9Hcm91cFNlYXJjaFZhbHVlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBwdWJsaWMgY2hhbmdlU2VhcmNoVmFsdWUoc2VhcmNoVmFsdWU6IFJhZGlvR3JvdXBTZWFyY2hWYWx1ZSk6IHZvaWQge1xyXG4gICAgdGhpcy51cGRhdGVyYWRpb0dyb3VwU2VhcmNoVmFsdWUuZW1pdChzZWFyY2hWYWx1ZSlcclxuICB9XHJcbn1cclxuIiwiQGlmIChsYWJlbFRleHQpIHtcclxuICA8bXJ4LWxhYmVsIFt0b29sdGlwXT1cInRvb2x0aXBcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIj57eyBsYWJlbFRleHQgfX08L21yeC1sYWJlbD5cclxufVxyXG5cclxuQGlmIChzZWFyY2hhYmxlKSB7XHJcbiAgPGRpdiBjbGFzcz1cIm1yeC1yYWRpby1ncm91cC1oZWFkLS1zZWFyY2ggbWItMTJweFwiPlxyXG4gICAgPG1yeC1pbnB1dC1zZWFyY2hcclxuICAgICAgW25nTW9kZWxdPVwic2VhcmNoVmFsdWVcIlxyXG4gICAgICBbc2l6ZV09XCJzZWFyY2hTaXplXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyXCJcclxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlU2VhcmNoVmFsdWUoJGV2ZW50KVwiXHJcbiAgICA+PC9tcngtaW5wdXQtc2VhcmNoPlxyXG4gIDwvZGl2PlxyXG59XHJcblxyXG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAtaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3JhZGlvLWdyb3VwL2NvbXBvbmVudHMvcmFkaW8tZ3JvdXAtaGVhZGVyL3JhZGlvLWdyb3VwLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9yYWRpby1ncm91cC9jb21wb25lbnRzL3JhZGlvLWdyb3VwLWhlYWRlci9yYWRpby1ncm91cC1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFRaEcsTUFBTSxPQUFPLHlCQUF5QjtJQUM3QixXQUFXLEdBQUcsRUFBRSxDQUFBO0lBRWQsVUFBVSxHQUEwQixRQUFRLENBQUM7SUFFN0MsVUFBVSxHQUFHLEtBQUssQ0FBQTtJQUNsQixpQkFBaUIsR0FBRyxFQUFFLENBQUE7SUFFL0IsUUFBUTtJQUNDLE9BQU8sR0FBRyxFQUFFLENBQUE7SUFDWixTQUFTLEdBQUcsRUFBRSxDQUFBO0lBQ2QsUUFBUSxHQUFHLEVBQUUsQ0FBQTtJQUNiLGlCQUFpQixHQUFHLENBQUMsQ0FBQTtJQUNyQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBRVQsMkJBQTJCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7SUFFaEcsZ0JBQWdCLENBQUM7SUFFVixpQkFBaUIsQ0FBQyxXQUFrQztRQUN6RCxJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3BELENBQUM7d0dBckJVLHlCQUF5Qjs0RkFBekIseUJBQXlCLCtXQ1R0QywwYkFlQTs7NEZETmEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHdCQUF3QixtQkFFakIsdUJBQXVCLENBQUMsTUFBTTt3REFLdEMsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVXLDJCQUEyQjtzQkFBM0MsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0U2VhcmNoU2l6ZXNUeXBlcyB9IGZyb20gJy4vLi4vLi4vLi4vaW5wdXQtc2VhcmNoL2lucHV0LXNlYXJjaC5lbnVtJztcclxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJhZGlvR3JvdXBTZWFyY2hWYWx1ZSB9IGZyb20gJy4uLy4uL21vZGVscy9yYWRpby1ncm91cC5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1yYWRpby1ncm91cC1oZWFkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yYWRpby1ncm91cC1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYWRpb0dyb3VwSGVhZGVyQ29tcG9uZW50IHtcclxuICBwdWJsaWMgc2VhcmNoVmFsdWUgPSAnJ1xyXG5cclxuICBASW5wdXQoKSBzZWFyY2hTaXplOiBJbnB1dFNlYXJjaFNpemVzVHlwZXMgPSAnbWVkaXVtJztcclxuXHJcbiAgQElucHV0KCkgc2VhcmNoYWJsZSA9IGZhbHNlXHJcbiAgQElucHV0KCkgc2VhcmNoUGxhY2Vob2xkZXIgPSAnJ1xyXG5cclxuICAvLyBMQUJFTFxyXG4gIEBJbnB1dCgpIHRvb2x0aXAgPSAnJ1xyXG4gIEBJbnB1dCgpIGxhYmVsVGV4dCA9ICcnXHJcbiAgQElucHV0KCkgbGlua1RleHQgPSAnJ1xyXG4gIEBJbnB1dCgpIGNoZWNrZWRJdGVtc0NvdW50ID0gMFxyXG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKSBwdWJsaWMgdXBkYXRlUmFkaW9Hcm91cFNlYXJjaFZhbHVlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBwdWJsaWMgY2hhbmdlU2VhcmNoVmFsdWUoc2VhcmNoVmFsdWU6IFJhZGlvR3JvdXBTZWFyY2hWYWx1ZSk6IHZvaWQge1xyXG4gICAgdGhpcy51cGRhdGVSYWRpb0dyb3VwU2VhcmNoVmFsdWUuZW1pdChzZWFyY2hWYWx1ZSlcclxuICB9XHJcbn1cclxuIiwiQGlmIChsYWJlbFRleHQpIHtcclxuICA8bXJ4LWxhYmVsIFt0b29sdGlwXT1cInRvb2x0aXBcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIj57eyBsYWJlbFRleHQgfX08L21yeC1sYWJlbD5cclxufVxyXG5cclxuQGlmIChzZWFyY2hhYmxlKSB7XHJcbiAgPGRpdiBjbGFzcz1cIm1yeC1yYWRpby1ncm91cC1oZWFkLS1zZWFyY2ggbWItMTJweFwiPlxyXG4gICAgPG1yeC1pbnB1dC1zZWFyY2hcclxuICAgICAgW25nTW9kZWxdPVwic2VhcmNoVmFsdWVcIlxyXG4gICAgICBbc2l6ZV09XCJzZWFyY2hTaXplXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyXCJcclxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlU2VhcmNoVmFsdWUoJGV2ZW50KVwiXHJcbiAgICA+PC9tcngtaW5wdXQtc2VhcmNoPlxyXG4gIDwvZGl2PlxyXG59XHJcblxyXG4iXX0=
@@ -32,11 +32,11 @@ export class RadioGroupItemComponent {
32
32
  this.detector.detectChanges();
33
33
  }
34
34
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RadioGroupItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
35
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: RadioGroupItemComponent, selector: "mrx-radio-group-item", inputs: { invalid: "invalid", name: "name", selectedValue: "selectedValue", item: "item", displaced: "displaced", level: "level", bold: "bold", animationTrigger: "animationTrigger", isLast: "isLast", disabled: "disabled", readonly: "readonly" }, outputs: { radioChanged: "radioChanged" }, ngImport: i0, template: "<div class=\"mrx-radio-group__item\" [class.mrx-radio-group__item--buttom-ident]=\"!isLast\">\r\n @if (item.array.length && level < 10) {\r\n <div class=\"mrx-radio-group__item--array\">\r\n <div class=\"mrx-radio-group__item--array-head mb-12px\">\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [value]=\"item.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [invalid]=\"invalid\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n\r\n <div class=\"mrx-radio-group__item--array-list\">\r\n @for (child of item.array; track child.id) {\r\n <mrx-radio-group-item\r\n [level]=\"level + 1\"\r\n [selectedValue]=\"selectedValue\"\r\n [item]=\"child\"\r\n [invalid]=\"invalid\"\r\n [bold]=\"bold\"\r\n [name]=\"name\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [animationTrigger]=\"animationTrigger\"\r\n (radioChanged)=\"radioChanged.emit($event)\"\r\n ></mrx-radio-group-item>\r\n }\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"mrx-radio-group__item--single\">\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [type]=\"'default'\"\r\n [value]=\"item.id\"\r\n [invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n }\r\n</div>\r\n\r\n\r\n", styles: [".mrx-radio-group__item--array-head{display:flex;justify-content:flex-start;align-items:center}.mrx-radio-group__item--array-list{padding-left:20px}.mrx-radio-group__item--buttom-ident{margin-bottom:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.RadioComponent, selector: "mrx-radio", inputs: ["required", "type", "name", "boldLabel", "disabled", "readonly", "placeholder", "label", "customClasses", "invalid", "value"] }, { kind: "component", type: RadioGroupItemComponent, selector: "mrx-radio-group-item", inputs: ["invalid", "name", "selectedValue", "item", "displaced", "level", "bold", "animationTrigger", "isLast", "disabled", "readonly"], outputs: ["radioChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
35
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: RadioGroupItemComponent, selector: "mrx-radio-group-item", inputs: { invalid: "invalid", name: "name", selectedValue: "selectedValue", item: "item", displaced: "displaced", level: "level", bold: "bold", animationTrigger: "animationTrigger", isLast: "isLast", disabled: "disabled", readonly: "readonly" }, outputs: { radioChanged: "radioChanged" }, ngImport: i0, template: "<div class=\"mrx-radio-group__item\" [class.mrx-radio-group__item--buttom-ident]=\"!isLast\">\r\n @if (item.items.length && level < 10) {\r\n <div class=\"mrx-radio-group__item--array\">\r\n <div class=\"mrx-radio-group__item--array-head mb-12px\">\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [value]=\"item.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [invalid]=\"invalid\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n\r\n <div class=\"mrx-radio-group__item--array-list\">\r\n @for (child of item.items; track child.id) {\r\n <mrx-radio-group-item\r\n [level]=\"level + 1\"\r\n [selectedValue]=\"selectedValue\"\r\n [item]=\"child\"\r\n [invalid]=\"invalid\"\r\n [bold]=\"bold\"\r\n [name]=\"name\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [animationTrigger]=\"animationTrigger\"\r\n (radioChanged)=\"radioChanged.emit($event)\"\r\n ></mrx-radio-group-item>\r\n }\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"mrx-radio-group__item--single\">\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [type]=\"'default'\"\r\n [value]=\"item.id\"\r\n [invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n }\r\n</div>\r\n\r\n\r\n", styles: [".mrx-radio-group__item--array-head{display:flex;justify-content:flex-start;align-items:center}.mrx-radio-group__item--array-list{padding-left:20px}.mrx-radio-group__item--buttom-ident{margin-bottom:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.RadioComponent, selector: "mrx-radio", inputs: ["required", "type", "name", "boldLabel", "disabled", "readonly", "placeholder", "label", "customClasses", "invalid", "value"] }, { kind: "component", type: RadioGroupItemComponent, selector: "mrx-radio-group-item", inputs: ["invalid", "name", "selectedValue", "item", "displaced", "level", "bold", "animationTrigger", "isLast", "disabled", "readonly"], outputs: ["radioChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
36
36
  }
37
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RadioGroupItemComponent, decorators: [{
38
38
  type: Component,
39
- args: [{ selector: 'mrx-radio-group-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mrx-radio-group__item\" [class.mrx-radio-group__item--buttom-ident]=\"!isLast\">\r\n @if (item.array.length && level < 10) {\r\n <div class=\"mrx-radio-group__item--array\">\r\n <div class=\"mrx-radio-group__item--array-head mb-12px\">\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [value]=\"item.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [invalid]=\"invalid\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n\r\n <div class=\"mrx-radio-group__item--array-list\">\r\n @for (child of item.array; track child.id) {\r\n <mrx-radio-group-item\r\n [level]=\"level + 1\"\r\n [selectedValue]=\"selectedValue\"\r\n [item]=\"child\"\r\n [invalid]=\"invalid\"\r\n [bold]=\"bold\"\r\n [name]=\"name\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [animationTrigger]=\"animationTrigger\"\r\n (radioChanged)=\"radioChanged.emit($event)\"\r\n ></mrx-radio-group-item>\r\n }\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"mrx-radio-group__item--single\">\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [type]=\"'default'\"\r\n [value]=\"item.id\"\r\n [invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n }\r\n</div>\r\n\r\n\r\n", styles: [".mrx-radio-group__item--array-head{display:flex;justify-content:flex-start;align-items:center}.mrx-radio-group__item--array-list{padding-left:20px}.mrx-radio-group__item--buttom-ident{margin-bottom:12px}\n"] }]
39
+ args: [{ selector: 'mrx-radio-group-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mrx-radio-group__item\" [class.mrx-radio-group__item--buttom-ident]=\"!isLast\">\r\n @if (item.items.length && level < 10) {\r\n <div class=\"mrx-radio-group__item--array\">\r\n <div class=\"mrx-radio-group__item--array-head mb-12px\">\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [value]=\"item.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [invalid]=\"invalid\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n\r\n <div class=\"mrx-radio-group__item--array-list\">\r\n @for (child of item.items; track child.id) {\r\n <mrx-radio-group-item\r\n [level]=\"level + 1\"\r\n [selectedValue]=\"selectedValue\"\r\n [item]=\"child\"\r\n [invalid]=\"invalid\"\r\n [bold]=\"bold\"\r\n [name]=\"name\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [animationTrigger]=\"animationTrigger\"\r\n (radioChanged)=\"radioChanged.emit($event)\"\r\n ></mrx-radio-group-item>\r\n }\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"mrx-radio-group__item--single\">\r\n <mrx-radio\r\n [ngModel]=\"selectedValue?.id\"\r\n [name]=\"name\"\r\n [boldLabel]=\"bold\"\r\n [type]=\"'default'\"\r\n [value]=\"item.id\"\r\n [invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n (ngModelChange)=\"radioChangeModel($event, item)\"\r\n >{{ item.text }}</mrx-radio>\r\n </div>\r\n }\r\n</div>\r\n\r\n\r\n", styles: [".mrx-radio-group__item--array-head{display:flex;justify-content:flex-start;align-items:center}.mrx-radio-group__item--array-list{padding-left:20px}.mrx-radio-group__item--buttom-ident{margin-bottom:12px}\n"] }]
40
40
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { invalid: [{
41
41
  type: Input
42
42
  }], name: [{
@@ -62,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
62
62
  }], radioChanged: [{
63
63
  type: Output
64
64
  }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9yYWRpby1ncm91cC9jb21wb25lbnRzL3JhZGlvLWdyb3VwLWl0ZW0vcmFkaW8tZ3JvdXAtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9yYWRpby1ncm91cC9jb21wb25lbnRzL3JhZGlvLWdyb3VwLWl0ZW0vcmFkaW8tZ3JvdXAtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQzs7OztBQVN2QixNQUFNLE9BQU8sdUJBQXVCO0lBaUJkO0lBZkosT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixJQUFJLEdBQVcsRUFBRSxDQUFDO0lBQ2xCLGFBQWEsR0FBMEIsSUFBSSxDQUFDO0lBQzVDLElBQUksQ0FBaUI7SUFDckIsU0FBUyxHQUFHLEtBQUssQ0FBQTtJQUNqQixLQUFLLEdBQUcsQ0FBQyxDQUFBO0lBQ0YsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNwQixnQkFBZ0IsR0FBbUIsSUFBSSxDQUFBO0lBQ3ZDLE1BQU0sQ0FBVTtJQUNULFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUVoQixZQUFZLEdBQzNCLElBQUksWUFBWSxFQUE0RCxDQUFDO0lBRS9FLFlBQW9CLFFBQTJCO1FBQTNCLGFBQVEsR0FBUixRQUFRLENBQW1CO0lBQy9DLENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUE7SUFDOUIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEtBQThCLEVBQUUsSUFBb0I7UUFDMUUsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7UUFDaEQsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUNoRCxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUMvQixDQUFDO3dHQWhDVSx1QkFBdUI7NEZBQXZCLHVCQUF1Qiw2VkNoQnBDLHlyREFpREEsc3hCRGpDYSx1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0Usc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU07c0ZBSS9CLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBRVcsWUFBWTtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJhZGlvR3JvdXBJdGVtLCBSYWRpb0luZGV0ZXJtaW5hdGVTdGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy9yYWRpby1ncm91cC5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1yYWRpby1ncm91cC1pdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8tZ3JvdXAtaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmFkaW8tZ3JvdXAtaXRlbS5jb21wb25lbnQubGVzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYWRpb0dyb3VwSXRlbUNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRWYWx1ZTogUmFkaW9Hcm91cEl0ZW0gfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBpdGVtITogUmFkaW9Hcm91cEl0ZW1cclxuICBASW5wdXQoKSBkaXNwbGFjZWQgPSBmYWxzZVxyXG4gIEBJbnB1dCgpIGxldmVsID0gMFxyXG4gIEBJbnB1dCgpIHB1YmxpYyBib2xkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYW5pbWF0aW9uVHJpZ2dlcjogYm9vbGVhbiB8IG51bGwgPSBudWxsXHJcbiAgQElucHV0KCkgaXNMYXN0ITogYm9vbGVhblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgcHVibGljIHJhZGlvQ2hhbmdlZDogRXZlbnRFbWl0dGVyPHsgdmFsdWU6IFJhZGlvSW5kZXRlcm1pbmF0ZVN0YXRlLCBpdGVtOiBSYWRpb0dyb3VwSXRlbSB9PiA9XHJcbiAgICBuZXcgRXZlbnRFbWl0dGVyPHsgdmFsdWU6IFJhZGlvSW5kZXRlcm1pbmF0ZVN0YXRlLCBpdGVtOiBSYWRpb0dyb3VwSXRlbSB9PigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc0luZGV0ZXJtaW5hdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtLmlkID09PSBudWxsXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmFkaW9DaGFuZ2VNb2RlbCh2YWx1ZTogUmFkaW9JbmRldGVybWluYXRlU3RhdGUsIGl0ZW06IFJhZGlvR3JvdXBJdGVtKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pc0luZGV0ZXJtaW5hdGUpIHtcclxuICAgICAgdGhpcy5yYWRpb0NoYW5nZWQuZW1pdCh7IHZhbHVlOiBmYWxzZSwgaXRlbSB9KVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yYWRpb0NoYW5nZWQuZW1pdCh7IHZhbHVlOiB2YWx1ZSwgaXRlbSB9KVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtcngtcmFkaW8tZ3JvdXBfX2l0ZW1cIiBbY2xhc3MubXJ4LXJhZGlvLWdyb3VwX19pdGVtLS1idXR0b20taWRlbnRdPVwiIWlzTGFzdFwiPlxyXG4gIEBpZiAoaXRlbS5hcnJheS5sZW5ndGggJiYgbGV2ZWwgPCAxMCkge1xyXG4gICAgPGRpdiBjbGFzcz1cIm1yeC1yYWRpby1ncm91cF9faXRlbS0tYXJyYXlcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC1yYWRpby1ncm91cF9faXRlbS0tYXJyYXktaGVhZCBtYi0xMnB4XCI+XHJcbiAgICAgICAgPG1yeC1yYWRpb1xyXG4gICAgICAgICAgW25nTW9kZWxdPVwic2VsZWN0ZWRWYWx1ZT8uaWRcIlxyXG4gICAgICAgICAgW3ZhbHVlXT1cIml0ZW0uaWRcIlxyXG4gICAgICAgICAgW25hbWVdPVwibmFtZVwiXHJcbiAgICAgICAgICBbYm9sZExhYmVsXT1cImJvbGRcIlxyXG4gICAgICAgICAgW2ludmFsaWRdPVwiaW52YWxpZFwiXHJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJyYWRpb0NoYW5nZU1vZGVsKCRldmVudCwgaXRlbSlcIlxyXG4gICAgICAgID57eyBpdGVtLnRleHQgfX08L21yeC1yYWRpbz5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LXJhZGlvLWdyb3VwX19pdGVtLS1hcnJheS1saXN0XCI+XHJcbiAgICAgICAgQGZvciAoY2hpbGQgb2YgaXRlbS5hcnJheTsgdHJhY2sgY2hpbGQuaWQpIHtcclxuICAgICAgICAgIDxtcngtcmFkaW8tZ3JvdXAtaXRlbVxyXG4gICAgICAgICAgICBbbGV2ZWxdPVwibGV2ZWwgKyAxXCJcclxuICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwic2VsZWN0ZWRWYWx1ZVwiXHJcbiAgICAgICAgICAgIFtpdGVtXT1cImNoaWxkXCJcclxuICAgICAgICAgICAgW2ludmFsaWRdPVwiaW52YWxpZFwiXHJcbiAgICAgICAgICAgIFtib2xkXT1cImJvbGRcIlxyXG4gICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgW2FuaW1hdGlvblRyaWdnZXJdPVwiYW5pbWF0aW9uVHJpZ2dlclwiXHJcbiAgICAgICAgICAgIChyYWRpb0NoYW5nZWQpPVwicmFkaW9DaGFuZ2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICA+PC9tcngtcmFkaW8tZ3JvdXAtaXRlbT5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwibXJ4LXJhZGlvLWdyb3VwX19pdGVtLS1zaW5nbGVcIj5cclxuICAgICAgPG1yeC1yYWRpb1xyXG4gICAgICAgIFtuZ01vZGVsXT1cInNlbGVjdGVkVmFsdWU/LmlkXCJcclxuICAgICAgICBbbmFtZV09XCJuYW1lXCJcclxuICAgICAgICBbYm9sZExhYmVsXT1cImJvbGRcIlxyXG4gICAgICAgIFt0eXBlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgW3ZhbHVlXT1cIml0ZW0uaWRcIlxyXG4gICAgICAgIFtpbnZhbGlkXT1cImludmFsaWRcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJyYWRpb0NoYW5nZU1vZGVsKCRldmVudCwgaXRlbSlcIlxyXG4gICAgICA+e3sgaXRlbS50ZXh0IH19PC9tcngtcmFkaW8+XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG5cclxuXHJcbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAtaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9yYWRpby1ncm91cC9jb21wb25lbnRzL3JhZGlvLWdyb3VwLWl0ZW0vcmFkaW8tZ3JvdXAtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9yYWRpby1ncm91cC9jb21wb25lbnRzL3JhZGlvLWdyb3VwLWl0ZW0vcmFkaW8tZ3JvdXAtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQzs7OztBQVN2QixNQUFNLE9BQU8sdUJBQXVCO0lBaUJkO0lBZkosT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixJQUFJLEdBQVcsRUFBRSxDQUFDO0lBQ2xCLGFBQWEsR0FBMEIsSUFBSSxDQUFDO0lBQzVDLElBQUksQ0FBaUI7SUFDckIsU0FBUyxHQUFHLEtBQUssQ0FBQTtJQUNqQixLQUFLLEdBQUcsQ0FBQyxDQUFBO0lBQ0YsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNwQixnQkFBZ0IsR0FBbUIsSUFBSSxDQUFBO0lBQ3ZDLE1BQU0sQ0FBVTtJQUNULFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUVoQixZQUFZLEdBQzNCLElBQUksWUFBWSxFQUE0RCxDQUFDO0lBRS9FLFlBQW9CLFFBQTJCO1FBQTNCLGFBQVEsR0FBUixRQUFRLENBQW1CO0lBQy9DLENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUE7SUFDOUIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEtBQThCLEVBQUUsSUFBb0I7UUFDMUUsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7UUFDaEQsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUNoRCxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUMvQixDQUFDO3dHQWhDVSx1QkFBdUI7NEZBQXZCLHVCQUF1Qiw2VkNoQnBDLHlyREFpREEsc3hCRGpDYSx1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0Usc0JBQXNCLG1CQUdmLHVCQUF1QixDQUFDLE1BQU07c0ZBSS9CLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBRVcsWUFBWTtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJhZGlvR3JvdXBJdGVtLCBSYWRpb0luZGV0ZXJtaW5hdGVTdGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy9yYWRpby1ncm91cC5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1yYWRpby1ncm91cC1pdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8tZ3JvdXAtaXRlbS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmFkaW8tZ3JvdXAtaXRlbS5jb21wb25lbnQubGVzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYWRpb0dyb3VwSXRlbUNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbmFtZTogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRWYWx1ZTogUmFkaW9Hcm91cEl0ZW0gfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBpdGVtITogUmFkaW9Hcm91cEl0ZW1cclxuICBASW5wdXQoKSBkaXNwbGFjZWQgPSBmYWxzZVxyXG4gIEBJbnB1dCgpIGxldmVsID0gMFxyXG4gIEBJbnB1dCgpIHB1YmxpYyBib2xkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYW5pbWF0aW9uVHJpZ2dlcjogYm9vbGVhbiB8IG51bGwgPSBudWxsXHJcbiAgQElucHV0KCkgaXNMYXN0ITogYm9vbGVhblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgcHVibGljIHJhZGlvQ2hhbmdlZDogRXZlbnRFbWl0dGVyPHsgdmFsdWU6IFJhZGlvSW5kZXRlcm1pbmF0ZVN0YXRlLCBpdGVtOiBSYWRpb0dyb3VwSXRlbSB9PiA9XHJcbiAgICBuZXcgRXZlbnRFbWl0dGVyPHsgdmFsdWU6IFJhZGlvSW5kZXRlcm1pbmF0ZVN0YXRlLCBpdGVtOiBSYWRpb0dyb3VwSXRlbSB9PigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc0luZGV0ZXJtaW5hdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pdGVtLmlkID09PSBudWxsXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmFkaW9DaGFuZ2VNb2RlbCh2YWx1ZTogUmFkaW9JbmRldGVybWluYXRlU3RhdGUsIGl0ZW06IFJhZGlvR3JvdXBJdGVtKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pc0luZGV0ZXJtaW5hdGUpIHtcclxuICAgICAgdGhpcy5yYWRpb0NoYW5nZWQuZW1pdCh7IHZhbHVlOiBmYWxzZSwgaXRlbSB9KVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yYWRpb0NoYW5nZWQuZW1pdCh7IHZhbHVlOiB2YWx1ZSwgaXRlbSB9KVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtcngtcmFkaW8tZ3JvdXBfX2l0ZW1cIiBbY2xhc3MubXJ4LXJhZGlvLWdyb3VwX19pdGVtLS1idXR0b20taWRlbnRdPVwiIWlzTGFzdFwiPlxyXG4gIEBpZiAoaXRlbS5pdGVtcy5sZW5ndGggJiYgbGV2ZWwgPCAxMCkge1xyXG4gICAgPGRpdiBjbGFzcz1cIm1yeC1yYWRpby1ncm91cF9faXRlbS0tYXJyYXlcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yeC1yYWRpby1ncm91cF9faXRlbS0tYXJyYXktaGVhZCBtYi0xMnB4XCI+XHJcbiAgICAgICAgPG1yeC1yYWRpb1xyXG4gICAgICAgICAgW25nTW9kZWxdPVwic2VsZWN0ZWRWYWx1ZT8uaWRcIlxyXG4gICAgICAgICAgW3ZhbHVlXT1cIml0ZW0uaWRcIlxyXG4gICAgICAgICAgW25hbWVdPVwibmFtZVwiXHJcbiAgICAgICAgICBbYm9sZExhYmVsXT1cImJvbGRcIlxyXG4gICAgICAgICAgW2ludmFsaWRdPVwiaW52YWxpZFwiXHJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJyYWRpb0NoYW5nZU1vZGVsKCRldmVudCwgaXRlbSlcIlxyXG4gICAgICAgID57eyBpdGVtLnRleHQgfX08L21yeC1yYWRpbz5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LXJhZGlvLWdyb3VwX19pdGVtLS1hcnJheS1saXN0XCI+XHJcbiAgICAgICAgQGZvciAoY2hpbGQgb2YgaXRlbS5pdGVtczsgdHJhY2sgY2hpbGQuaWQpIHtcclxuICAgICAgICAgIDxtcngtcmFkaW8tZ3JvdXAtaXRlbVxyXG4gICAgICAgICAgICBbbGV2ZWxdPVwibGV2ZWwgKyAxXCJcclxuICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwic2VsZWN0ZWRWYWx1ZVwiXHJcbiAgICAgICAgICAgIFtpdGVtXT1cImNoaWxkXCJcclxuICAgICAgICAgICAgW2ludmFsaWRdPVwiaW52YWxpZFwiXHJcbiAgICAgICAgICAgIFtib2xkXT1cImJvbGRcIlxyXG4gICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgW2FuaW1hdGlvblRyaWdnZXJdPVwiYW5pbWF0aW9uVHJpZ2dlclwiXHJcbiAgICAgICAgICAgIChyYWRpb0NoYW5nZWQpPVwicmFkaW9DaGFuZ2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICA+PC9tcngtcmFkaW8tZ3JvdXAtaXRlbT5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwibXJ4LXJhZGlvLWdyb3VwX19pdGVtLS1zaW5nbGVcIj5cclxuICAgICAgPG1yeC1yYWRpb1xyXG4gICAgICAgIFtuZ01vZGVsXT1cInNlbGVjdGVkVmFsdWU/LmlkXCJcclxuICAgICAgICBbbmFtZV09XCJuYW1lXCJcclxuICAgICAgICBbYm9sZExhYmVsXT1cImJvbGRcIlxyXG4gICAgICAgIFt0eXBlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgW3ZhbHVlXT1cIml0ZW0uaWRcIlxyXG4gICAgICAgIFtpbnZhbGlkXT1cImludmFsaWRcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJyYWRpb0NoYW5nZU1vZGVsKCRldmVudCwgaXRlbSlcIlxyXG4gICAgICA+e3sgaXRlbS50ZXh0IH19PC9tcngtcmFkaW8+XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG5cclxuXHJcbiJdfQ==
@@ -5,18 +5,18 @@ export const filterSearchGroup = (list, searchValue) => {
5
5
  const searchArray = [];
6
6
  array.forEach((item) => {
7
7
  if (item.text.toLowerCase().includes(searchValue.toLowerCase())) {
8
- if (item.array) {
9
- const newArray = getIntersectionsFromString(item.array);
10
- searchArray.push({ ...item, array: newArray });
8
+ if (item.items) {
9
+ const newArray = getIntersectionsFromString(item.items);
10
+ searchArray.push({ ...item, items: newArray });
11
11
  }
12
12
  else {
13
13
  searchArray.push(item);
14
14
  }
15
15
  }
16
16
  else {
17
- if (item.array) {
18
- const newArray = getIntersectionsFromString(item.array);
19
- newArray.length && searchArray.push({ ...item, array: newArray });
17
+ if (item.items) {
18
+ const newArray = getIntersectionsFromString(item.items);
19
+ newArray.length && searchArray.push({ ...item, items: newArray });
20
20
  }
21
21
  }
22
22
  });
@@ -24,4 +24,4 @@ export const filterSearchGroup = (list, searchValue) => {
24
24
  };
25
25
  return getIntersectionsFromString(list);
26
26
  };
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNlYXJjaC1ncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3JhZGlvLWdyb3VwL2hlbHBlcnMvZmlsdGVyLXNlYXJjaC1ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLElBQXNCLEVBQUUsV0FBa0MsRUFBRSxFQUFFO0lBQzlGLElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTyxJQUFJLENBQUE7SUFFdEIsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLEtBQXVCLEVBQUUsRUFBRTtRQUM3RCxNQUFNLFdBQVcsR0FBcUIsRUFBRSxDQUFBO1FBRXhDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFvQixFQUFFLEVBQUU7WUFDckMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUNoRSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDZixNQUFNLFFBQVEsR0FBcUIsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO29CQUN6RSxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUMsR0FBRyxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUE7Z0JBQzlDLENBQUM7cUJBQU0sQ0FBQztvQkFDTixXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUN4QixDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNmLE1BQU0sUUFBUSxHQUFxQiwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7b0JBQ3pFLFFBQVEsQ0FBQyxNQUFNLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFDLEdBQUcsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFBO2dCQUNqRSxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFBO1FBRUYsT0FBTyxXQUFXLENBQUE7SUFDcEIsQ0FBQyxDQUFBO0lBRUQsT0FBTywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUN6QyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSYWRpb0dyb3VwSXRlbSwgUmFkaW9Hcm91cFNlYXJjaFZhbHVlIH0gZnJvbSAnLi4vbW9kZWxzL3JhZGlvLWdyb3VwLm1vZGVsJztcclxuXHJcbmV4cG9ydCBjb25zdCBmaWx0ZXJTZWFyY2hHcm91cCA9IChsaXN0OiBSYWRpb0dyb3VwSXRlbVtdLCBzZWFyY2hWYWx1ZTogUmFkaW9Hcm91cFNlYXJjaFZhbHVlKSA9PiB7XHJcbiAgaWYgKCFsaXN0KSByZXR1cm4gbGlzdFxyXG5cclxuICBjb25zdCBnZXRJbnRlcnNlY3Rpb25zRnJvbVN0cmluZyA9IChhcnJheTogUmFkaW9Hcm91cEl0ZW1bXSkgPT4ge1xyXG4gICAgY29uc3Qgc2VhcmNoQXJyYXk6IFJhZGlvR3JvdXBJdGVtW10gPSBbXVxyXG5cclxuICAgIGFycmF5LmZvckVhY2goKGl0ZW06IFJhZGlvR3JvdXBJdGVtKSA9PiB7XHJcbiAgICAgIGlmIChpdGVtLnRleHQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hWYWx1ZS50b0xvd2VyQ2FzZSgpKSkge1xyXG4gICAgICAgIGlmIChpdGVtLmFycmF5KSB7XHJcbiAgICAgICAgICBjb25zdCBuZXdBcnJheTogUmFkaW9Hcm91cEl0ZW1bXSA9IGdldEludGVyc2VjdGlvbnNGcm9tU3RyaW5nKGl0ZW0uYXJyYXkpXHJcbiAgICAgICAgICBzZWFyY2hBcnJheS5wdXNoKHsuLi5pdGVtLCBhcnJheTogbmV3QXJyYXl9KVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBzZWFyY2hBcnJheS5wdXNoKGl0ZW0pXHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChpdGVtLmFycmF5KSB7XHJcbiAgICAgICAgICBjb25zdCBuZXdBcnJheTogUmFkaW9Hcm91cEl0ZW1bXSA9IGdldEludGVyc2VjdGlvbnNGcm9tU3RyaW5nKGl0ZW0uYXJyYXkpXHJcbiAgICAgICAgICBuZXdBcnJheS5sZW5ndGggJiYgc2VhcmNoQXJyYXkucHVzaCh7Li4uaXRlbSwgYXJyYXk6IG5ld0FycmF5fSlcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gICAgcmV0dXJuIHNlYXJjaEFycmF5XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZ2V0SW50ZXJzZWN0aW9uc0Zyb21TdHJpbmcobGlzdClcclxufVxyXG4iXX0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNlYXJjaC1ncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3JhZGlvLWdyb3VwL2hlbHBlcnMvZmlsdGVyLXNlYXJjaC1ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLElBQXNCLEVBQUUsV0FBa0MsRUFBRSxFQUFFO0lBQzlGLElBQUksQ0FBQyxJQUFJO1FBQUUsT0FBTyxJQUFJLENBQUE7SUFFdEIsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLEtBQXVCLEVBQUUsRUFBRTtRQUM3RCxNQUFNLFdBQVcsR0FBcUIsRUFBRSxDQUFBO1FBRXhDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFvQixFQUFFLEVBQUU7WUFDckMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUNoRSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDZixNQUFNLFFBQVEsR0FBcUIsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO29CQUN6RSxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUMsR0FBRyxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUE7Z0JBQzlDLENBQUM7cUJBQU0sQ0FBQztvQkFDTixXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUN4QixDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNmLE1BQU0sUUFBUSxHQUFxQiwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7b0JBQ3pFLFFBQVEsQ0FBQyxNQUFNLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFDLEdBQUcsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFBO2dCQUNqRSxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFBO1FBRUYsT0FBTyxXQUFXLENBQUE7SUFDcEIsQ0FBQyxDQUFBO0lBRUQsT0FBTywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUN6QyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSYWRpb0dyb3VwSXRlbSwgUmFkaW9Hcm91cFNlYXJjaFZhbHVlIH0gZnJvbSAnLi4vbW9kZWxzL3JhZGlvLWdyb3VwLm1vZGVsJztcclxuXHJcbmV4cG9ydCBjb25zdCBmaWx0ZXJTZWFyY2hHcm91cCA9IChsaXN0OiBSYWRpb0dyb3VwSXRlbVtdLCBzZWFyY2hWYWx1ZTogUmFkaW9Hcm91cFNlYXJjaFZhbHVlKSA9PiB7XHJcbiAgaWYgKCFsaXN0KSByZXR1cm4gbGlzdFxyXG5cclxuICBjb25zdCBnZXRJbnRlcnNlY3Rpb25zRnJvbVN0cmluZyA9IChhcnJheTogUmFkaW9Hcm91cEl0ZW1bXSkgPT4ge1xyXG4gICAgY29uc3Qgc2VhcmNoQXJyYXk6IFJhZGlvR3JvdXBJdGVtW10gPSBbXVxyXG5cclxuICAgIGFycmF5LmZvckVhY2goKGl0ZW06IFJhZGlvR3JvdXBJdGVtKSA9PiB7XHJcbiAgICAgIGlmIChpdGVtLnRleHQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hWYWx1ZS50b0xvd2VyQ2FzZSgpKSkge1xyXG4gICAgICAgIGlmIChpdGVtLml0ZW1zKSB7XHJcbiAgICAgICAgICBjb25zdCBuZXdBcnJheTogUmFkaW9Hcm91cEl0ZW1bXSA9IGdldEludGVyc2VjdGlvbnNGcm9tU3RyaW5nKGl0ZW0uaXRlbXMpXHJcbiAgICAgICAgICBzZWFyY2hBcnJheS5wdXNoKHsuLi5pdGVtLCBpdGVtczogbmV3QXJyYXl9KVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBzZWFyY2hBcnJheS5wdXNoKGl0ZW0pXHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChpdGVtLml0ZW1zKSB7XHJcbiAgICAgICAgICBjb25zdCBuZXdBcnJheTogUmFkaW9Hcm91cEl0ZW1bXSA9IGdldEludGVyc2VjdGlvbnNGcm9tU3RyaW5nKGl0ZW0uaXRlbXMpXHJcbiAgICAgICAgICBuZXdBcnJheS5sZW5ndGggJiYgc2VhcmNoQXJyYXkucHVzaCh7Li4uaXRlbSwgaXRlbXM6IG5ld0FycmF5fSlcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gICAgcmV0dXJuIHNlYXJjaEFycmF5XHJcbiAgfVxyXG5cclxuICByZXR1cm4gZ2V0SW50ZXJzZWN0aW9uc0Zyb21TdHJpbmcobGlzdClcclxufVxyXG4iXX0=
@@ -2,10 +2,10 @@ export const getItemById = (list, itemId) => {
2
2
  const findById = (acc, el) => {
3
3
  if (el?.id === itemId)
4
4
  return el;
5
- if (el?.array)
6
- return el.array.reduce(findById, acc);
5
+ if (el?.items)
6
+ return el.items.reduce(findById, acc);
7
7
  return acc;
8
8
  };
9
9
  return list.reduce(findById, null);
10
10
  };
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWl0ZW0tYnktaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9yYWRpby1ncm91cC9oZWxwZXJzL2dldC1pdGVtLWJ5LWlkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQXNCLEVBQUUsTUFBdUIsRUFBRSxFQUFFO0lBQzdFLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBMEIsRUFBRSxFQUF5QixFQUF5QixFQUFFO1FBQ2hHLElBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxNQUFNO1lBQUcsT0FBTyxFQUFFLENBQUM7UUFDbkMsSUFBSyxFQUFFLEVBQUUsS0FBSztZQUFHLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxDQUFBO0lBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSYWRpb0dyb3VwSXRlbSB9IGZyb20gJy4uL21vZGVscy9yYWRpby1ncm91cC5tb2RlbCc7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0SXRlbUJ5SWQgPSAobGlzdDogUmFkaW9Hcm91cEl0ZW1bXSwgaXRlbUlkOiBzdHJpbmcgfCBudW1iZXIpID0+IHtcclxuICBjb25zdCBmaW5kQnlJZCA9IChhY2M6IFJhZGlvR3JvdXBJdGVtIHwgbnVsbCwgZWw6IFJhZGlvR3JvdXBJdGVtIHwgbnVsbCk6IFJhZGlvR3JvdXBJdGVtIHwgbnVsbCA9PiB7XHJcbiAgICBpZiAoIGVsPy5pZCA9PT0gaXRlbUlkICkgcmV0dXJuIGVsO1xyXG4gICAgaWYgKCBlbD8uYXJyYXkgKSByZXR1cm4gZWwuYXJyYXkucmVkdWNlKGZpbmRCeUlkLCBhY2MpO1xyXG4gICAgcmV0dXJuIGFjYztcclxuICB9XHJcblxyXG4gIHJldHVybiBsaXN0LnJlZHVjZShmaW5kQnlJZCwgbnVsbCk7XHJcbn1cclxuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWl0ZW0tYnktaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9yYWRpby1ncm91cC9oZWxwZXJzL2dldC1pdGVtLWJ5LWlkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQXNCLEVBQUUsTUFBdUIsRUFBRSxFQUFFO0lBQzdFLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBMEIsRUFBRSxFQUF5QixFQUF5QixFQUFFO1FBQ2hHLElBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxNQUFNO1lBQUcsT0FBTyxFQUFFLENBQUM7UUFDbkMsSUFBSyxFQUFFLEVBQUUsS0FBSztZQUFHLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQyxDQUFBO0lBRUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSYWRpb0dyb3VwSXRlbSB9IGZyb20gJy4uL21vZGVscy9yYWRpby1ncm91cC5tb2RlbCc7XHJcblxyXG5leHBvcnQgY29uc3QgZ2V0SXRlbUJ5SWQgPSAobGlzdDogUmFkaW9Hcm91cEl0ZW1bXSwgaXRlbUlkOiBzdHJpbmcgfCBudW1iZXIpID0+IHtcclxuICBjb25zdCBmaW5kQnlJZCA9IChhY2M6IFJhZGlvR3JvdXBJdGVtIHwgbnVsbCwgZWw6IFJhZGlvR3JvdXBJdGVtIHwgbnVsbCk6IFJhZGlvR3JvdXBJdGVtIHwgbnVsbCA9PiB7XHJcbiAgICBpZiAoIGVsPy5pZCA9PT0gaXRlbUlkICkgcmV0dXJuIGVsO1xyXG4gICAgaWYgKCBlbD8uaXRlbXMgKSByZXR1cm4gZWwuaXRlbXMucmVkdWNlKGZpbmRCeUlkLCBhY2MpO1xyXG4gICAgcmV0dXJuIGFjYztcclxuICB9XHJcblxyXG4gIHJldHVybiBsaXN0LnJlZHVjZShmaW5kQnlJZCwgbnVsbCk7XHJcbn1cclxuIl19
@@ -8,11 +8,11 @@ export const moveSelectedToFirst = (list, sortable, targetItem) => {
8
8
  const sortedArr = [item, ...array.filter((x) => x.id !== item.id)];
9
9
  return { hasTargetElement: true, sortedArr };
10
10
  }
11
- else if (item.array?.length) {
11
+ else if (item.items?.length) {
12
12
  {
13
- const { sortedArr: newArr, hasTargetElement } = sortArray(item.array);
13
+ const { sortedArr: newArr, hasTargetElement } = sortArray(item.items);
14
14
  if (hasTargetElement) {
15
- item.array = newArr;
15
+ item.items = newArr;
16
16
  const sortedArr = [item, ...array.filter((x) => x.id !== item.id)];
17
17
  return { hasTargetElement, sortedArr };
18
18
  }
@@ -24,4 +24,4 @@ export const moveSelectedToFirst = (list, sortable, targetItem) => {
24
24
  const { sortedArr } = sortArray(list);
25
25
  return sortedArr;
26
26
  };
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS1zZWxlY3RlZC10by1maXJzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3JhZGlvLWdyb3VwL2hlbHBlcnMvbW92ZS1zZWxlY3RlZC10by1maXJzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUNqQyxJQUFzQixFQUN0QixRQUFpQixFQUNqQixVQUFpQyxFQUNqQyxFQUFFO0lBQ0YsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFVBQVU7UUFBRSxPQUFPLElBQUksQ0FBQztJQUVuRCxNQUFNLFNBQVMsR0FBRyxDQUNoQixLQUF1QixFQUNxQyxFQUFFO1FBQzlELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDdEMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RCLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQzlCLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUMvQyxDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDOUIsQ0FBQztvQkFDQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3RFLElBQUksZ0JBQWdCLEVBQUUsQ0FBQzt3QkFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7d0JBQ3BCLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzt3QkFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxDQUFDO29CQUN6QyxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ3ZELENBQUMsQ0FBQztJQUNGLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmFkaW9Hcm91cEl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvcmFkaW8tZ3JvdXAubW9kZWwnO1xyXG5cclxuZXhwb3J0IGNvbnN0IG1vdmVTZWxlY3RlZFRvRmlyc3QgPSAoXHJcbiAgbGlzdDogUmFkaW9Hcm91cEl0ZW1bXSxcclxuICBzb3J0YWJsZTogYm9vbGVhbixcclxuICB0YXJnZXRJdGVtOiBSYWRpb0dyb3VwSXRlbSB8IG51bGxcclxuKSA9PiB7XHJcbiAgaWYgKCFsaXN0IHx8ICFzb3J0YWJsZSB8fCAhdGFyZ2V0SXRlbSkgcmV0dXJuIGxpc3Q7XHJcblxyXG4gIGNvbnN0IHNvcnRBcnJheSA9IChcclxuICAgIGFycmF5OiBSYWRpb0dyb3VwSXRlbVtdXHJcbiAgKTogeyBzb3J0ZWRBcnI6IFJhZGlvR3JvdXBJdGVtW107IGhhc1RhcmdldEVsZW1lbnQ6IGJvb2xlYW4gfSA9PiB7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSBhcnJheVtpXTtcclxuICAgICAgaWYgKGl0ZW0uaWQgPT09IHRhcmdldEl0ZW0uaWQpIHtcclxuICAgICAgICBjb25zdCBzb3J0ZWRBcnIgPSBbaXRlbSwgLi4uYXJyYXkuZmlsdGVyKCh4KSA9PiB4LmlkICE9PSBpdGVtLmlkKV07XHJcbiAgICAgICAgcmV0dXJuIHsgaGFzVGFyZ2V0RWxlbWVudDogdHJ1ZSwgc29ydGVkQXJyIH07XHJcbiAgICAgIH0gZWxzZSBpZiAoaXRlbS5hcnJheT8ubGVuZ3RoKSB7XHJcbiAgICAgICAge1xyXG4gICAgICAgICAgY29uc3QgeyBzb3J0ZWRBcnI6IG5ld0FyciwgaGFzVGFyZ2V0RWxlbWVudCB9ID0gc29ydEFycmF5KGl0ZW0uYXJyYXkpO1xyXG4gICAgICAgICAgaWYgKGhhc1RhcmdldEVsZW1lbnQpIHtcclxuICAgICAgICAgICAgaXRlbS5hcnJheSA9IG5ld0FycjtcclxuICAgICAgICAgICAgY29uc3Qgc29ydGVkQXJyID0gW2l0ZW0sIC4uLmFycmF5LmZpbHRlcigoeCkgPT4geC5pZCAhPT0gaXRlbS5pZCldO1xyXG4gICAgICAgICAgICByZXR1cm4geyBoYXNUYXJnZXRFbGVtZW50LCBzb3J0ZWRBcnIgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB7IGhhc1RhcmdldEVsZW1lbnQ6IGZhbHNlLCBzb3J0ZWRBcnI6IGFycmF5IH07XHJcbiAgfTtcclxuICBjb25zdCB7IHNvcnRlZEFyciB9ID0gc29ydEFycmF5KGxpc3QpO1xyXG4gIHJldHVybiBzb3J0ZWRBcnI7XHJcbn07XHJcbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS1zZWxlY3RlZC10by1maXJzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL3JhZGlvLWdyb3VwL2hlbHBlcnMvbW92ZS1zZWxlY3RlZC10by1maXJzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUNqQyxJQUFzQixFQUN0QixRQUFpQixFQUNqQixVQUFpQyxFQUNqQyxFQUFFO0lBQ0YsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFVBQVU7UUFBRSxPQUFPLElBQUksQ0FBQztJQUVuRCxNQUFNLFNBQVMsR0FBRyxDQUNoQixLQUF1QixFQUNxQyxFQUFFO1FBQzlELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDdEMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RCLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxVQUFVLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQzlCLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUMvQyxDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDOUIsQ0FBQztvQkFDQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3RFLElBQUksZ0JBQWdCLEVBQUUsQ0FBQzt3QkFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7d0JBQ3BCLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzt3QkFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxDQUFDO29CQUN6QyxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ3ZELENBQUMsQ0FBQztJQUNGLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmFkaW9Hcm91cEl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvcmFkaW8tZ3JvdXAubW9kZWwnO1xyXG5cclxuZXhwb3J0IGNvbnN0IG1vdmVTZWxlY3RlZFRvRmlyc3QgPSAoXHJcbiAgbGlzdDogUmFkaW9Hcm91cEl0ZW1bXSxcclxuICBzb3J0YWJsZTogYm9vbGVhbixcclxuICB0YXJnZXRJdGVtOiBSYWRpb0dyb3VwSXRlbSB8IG51bGxcclxuKSA9PiB7XHJcbiAgaWYgKCFsaXN0IHx8ICFzb3J0YWJsZSB8fCAhdGFyZ2V0SXRlbSkgcmV0dXJuIGxpc3Q7XHJcblxyXG4gIGNvbnN0IHNvcnRBcnJheSA9IChcclxuICAgIGFycmF5OiBSYWRpb0dyb3VwSXRlbVtdXHJcbiAgKTogeyBzb3J0ZWRBcnI6IFJhZGlvR3JvdXBJdGVtW107IGhhc1RhcmdldEVsZW1lbnQ6IGJvb2xlYW4gfSA9PiB7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSBhcnJheVtpXTtcclxuICAgICAgaWYgKGl0ZW0uaWQgPT09IHRhcmdldEl0ZW0uaWQpIHtcclxuICAgICAgICBjb25zdCBzb3J0ZWRBcnIgPSBbaXRlbSwgLi4uYXJyYXkuZmlsdGVyKCh4KSA9PiB4LmlkICE9PSBpdGVtLmlkKV07XHJcbiAgICAgICAgcmV0dXJuIHsgaGFzVGFyZ2V0RWxlbWVudDogdHJ1ZSwgc29ydGVkQXJyIH07XHJcbiAgICAgIH0gZWxzZSBpZiAoaXRlbS5pdGVtcz8ubGVuZ3RoKSB7XHJcbiAgICAgICAge1xyXG4gICAgICAgICAgY29uc3QgeyBzb3J0ZWRBcnI6IG5ld0FyciwgaGFzVGFyZ2V0RWxlbWVudCB9ID0gc29ydEFycmF5KGl0ZW0uaXRlbXMpO1xyXG4gICAgICAgICAgaWYgKGhhc1RhcmdldEVsZW1lbnQpIHtcclxuICAgICAgICAgICAgaXRlbS5pdGVtcyA9IG5ld0FycjtcclxuICAgICAgICAgICAgY29uc3Qgc29ydGVkQXJyID0gW2l0ZW0sIC4uLmFycmF5LmZpbHRlcigoeCkgPT4geC5pZCAhPT0gaXRlbS5pZCldO1xyXG4gICAgICAgICAgICByZXR1cm4geyBoYXNUYXJnZXRFbGVtZW50LCBzb3J0ZWRBcnIgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB7IGhhc1RhcmdldEVsZW1lbnQ6IGZhbHNlLCBzb3J0ZWRBcnI6IGFycmF5IH07XHJcbiAgfTtcclxuICBjb25zdCB7IHNvcnRlZEFyciB9ID0gc29ydEFycmF5KGxpc3QpO1xyXG4gIHJldHVybiBzb3J0ZWRBcnI7XHJcbn07XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9yYWRpby1ncm91cC9tb2RlbHMvcmFkaW8tZ3JvdXAubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUmFkaW9Hcm91cEl0ZW0ge1xyXG4gIGlkOiBzdHJpbmcgfCBudW1iZXIsXHJcbiAgdGV4dDogc3RyaW5nLFxyXG4gIHBhcmVudElkPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCxcclxuICBhcnJheTogUmFkaW9Hcm91cEl0ZW1bXSxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUmFkaW9JbmRldGVybWluYXRlU3RhdGUgPSBib29sZWFuIHwgbnVsbFxyXG5cclxuZXhwb3J0IHR5cGUgUmFkaW9Hcm91cFNlYXJjaFZhbHVlID0gc3RyaW5nXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJhZGlvR3JvdXBWYWx1ZVdpdGhJZCB7XHJcbiAgdmFsdWU6IFJhZGlvR3JvdXBJdGVtIHwgbnVsbFxyXG4gIGlkOiBzdHJpbmdcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9yYWRpby1ncm91cC9tb2RlbHMvcmFkaW8tZ3JvdXAubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUmFkaW9Hcm91cEl0ZW0ge1xyXG4gIGlkOiBzdHJpbmcgfCBudW1iZXIsXHJcbiAgdGV4dDogc3RyaW5nLFxyXG4gIHBhcmVudElkPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbCxcclxuICBpdGVtczogUmFkaW9Hcm91cEl0ZW1bXSxcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUmFkaW9JbmRldGVybWluYXRlU3RhdGUgPSBib29sZWFuIHwgbnVsbFxyXG5cclxuZXhwb3J0IHR5cGUgUmFkaW9Hcm91cFNlYXJjaFZhbHVlID0gc3RyaW5nXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJhZGlvR3JvdXBWYWx1ZVdpdGhJZCB7XHJcbiAgdmFsdWU6IFJhZGlvR3JvdXBJdGVtIHwgbnVsbFxyXG4gIGlkOiBzdHJpbmdcclxufVxyXG4iXX0=
@@ -59,7 +59,7 @@ export class RadioGroupComponent {
59
59
  return this._searchValue;
60
60
  }
61
61
  get displaced() {
62
- return this.items.some((item) => item.array.length);
62
+ return this.items.some((item) => item.items.length);
63
63
  }
64
64
  get getClasses() {
65
65
  return `${this.customClasses}`;
@@ -110,7 +110,7 @@ export class RadioGroupComponent {
110
110
  useExisting: forwardRef(() => RadioGroupComponent),
111
111
  multi: true,
112
112
  },
113
- ], viewQueries: [{ propertyName: "itemsWrapper", first: true, predicate: ["groupItemsWrapper"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"mrx-radio-group\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"radioGroup\"></mrx-save-state>\r\n\r\n <mrx-radio-group-header\r\n [searchable]=\"searchable\"\r\n [searchPlaceholder]=\"searchPlaceholder\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"required\"\r\n [searchSize]=\"searchSize\"\r\n [labelText]=\"labelText\"\r\n (updateradioGroupSearchValue)=\"updateRadioGroupSearchValue($event)\"\r\n ></mrx-radio-group-header>\r\n\r\n @if (filteredList && filteredList.length) {\r\n <div\r\n #groupItemsWrapper\r\n class=\"mrx-radio-group-wrapper\"\r\n [class.mrx-radio-group-wrapper--scrollable]=\"scrollable\"\r\n [class.--active]=\"getShowScroll\"\r\n [style.max-height]=\"scrollable ? scrollMaxHeight + 'px' : 'auto'\"\r\n >\r\n @for (item of filteredList; track item.id; let last = $last) {\r\n <mrx-radio-group-item\r\n [displaced]=\"displaced || false\"\r\n [item]=\"item\"\r\n [isLast]=\"last\"\r\n [selectedValue]=\"selectedValue\"\r\n [name]=\"name\"\r\n [bold]=\"bold\"\r\n [invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [animationTrigger]=\"!!isSearchValue\"\r\n (radioChanged)=\"radioChanged($event)\"\r\n ></mrx-radio-group-item>\r\n }\r\n </div>\r\n } @else {\r\n <p class=\"mrx-radio-group__empty-message py-12px\">{{ enableMessage }}</p>\r\n }\r\n\r\n @if (invalid && isInvalidMessage) {\r\n <mrx-error-message [invalidMessage]=\"invalidMessage\" [customClasses]=\"'mt-2'\"></mrx-error-message>\r\n }\r\n</div>\r\n", styles: [".mrx-radio-group{position:relative}.mrx-radio-group-wrapper--scrollable{overflow-y:auto;border-width:1px 0 1px 0;border-style:solid;border-color:transparent;padding-top:0;padding-bottom:0;transition:border-color .2s,padding-top .2s,padding-bottom .2s}.mrx-radio-group-wrapper--scrollable.--active{padding-top:var(--spacing-3, 12px);padding-bottom:var(--spacing-3, 12px);border-color:var(--neutral-bg-divider)}.mrx-radio-group-wrapper--scrollable.--active::-webkit-scrollbar{width:8px}.mrx-radio-group-wrapper--scrollable.--active::-webkit-scrollbar-track{background:var(--neutral-bg-island-default, #F8F9FA)}.mrx-radio-group-wrapper--scrollable.--active::-webkit-scrollbar-thumb{border-radius:4px;background:var(--neutral-bg-stroke-default, #BFC5CC)}\n"], dependencies: [{ kind: "component", type: i1.ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { kind: "component", type: i2.SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }, { kind: "component", type: i3.RadioGroupItemComponent, selector: "mrx-radio-group-item", inputs: ["invalid", "name", "selectedValue", "item", "displaced", "level", "bold", "animationTrigger", "isLast", "disabled", "readonly"], outputs: ["radioChanged"] }, { kind: "component", type: i4.RadioGroupHeaderComponent, selector: "mrx-radio-group-header", inputs: ["searchSize", "searchable", "searchPlaceholder", "tooltip", "labelText", "linkText", "checkedItemsCount", "required"], outputs: ["updateradioGroupSearchValue"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
113
+ ], viewQueries: [{ propertyName: "itemsWrapper", first: true, predicate: ["groupItemsWrapper"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"mrx-radio-group\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"radioGroup\"></mrx-save-state>\r\n\r\n <mrx-radio-group-header\r\n [searchable]=\"searchable\"\r\n [searchPlaceholder]=\"searchPlaceholder\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"required\"\r\n [searchSize]=\"searchSize\"\r\n [labelText]=\"labelText\"\r\n (updateRadioGroupSearchValue)=\"updateRadioGroupSearchValue($event)\"\r\n ></mrx-radio-group-header>\r\n\r\n @if (filteredList && filteredList.length) {\r\n <div\r\n #groupItemsWrapper\r\n class=\"mrx-radio-group-wrapper\"\r\n [class.mrx-radio-group-wrapper--scrollable]=\"scrollable\"\r\n [class.--active]=\"getShowScroll\"\r\n [style.max-height]=\"scrollable ? scrollMaxHeight + 'px' : 'auto'\"\r\n >\r\n @for (item of filteredList; track item.id; let last = $last) {\r\n <mrx-radio-group-item\r\n [displaced]=\"displaced || false\"\r\n [item]=\"item\"\r\n [isLast]=\"last\"\r\n [selectedValue]=\"selectedValue\"\r\n [name]=\"name\"\r\n [bold]=\"bold\"\r\n [invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [animationTrigger]=\"!!isSearchValue\"\r\n (radioChanged)=\"radioChanged($event)\"\r\n ></mrx-radio-group-item>\r\n }\r\n </div>\r\n } @else {\r\n <p class=\"mrx-radio-group__empty-message py-12px\">{{ enableMessage }}</p>\r\n }\r\n\r\n @if (invalid && isInvalidMessage) {\r\n <mrx-error-message [invalidMessage]=\"invalidMessage\" [customClasses]=\"'mt-2'\"></mrx-error-message>\r\n }\r\n</div>\r\n", styles: [".mrx-radio-group{position:relative}.mrx-radio-group-wrapper--scrollable{overflow-y:auto;border-width:1px 0 1px 0;border-style:solid;border-color:transparent;padding-top:0;padding-bottom:0;transition:border-color .2s,padding-top .2s,padding-bottom .2s}.mrx-radio-group-wrapper--scrollable.--active{padding-top:var(--spacing-3, 12px);padding-bottom:var(--spacing-3, 12px);border-color:var(--neutral-bg-divider)}.mrx-radio-group-wrapper--scrollable.--active::-webkit-scrollbar{width:8px}.mrx-radio-group-wrapper--scrollable.--active::-webkit-scrollbar-track{background:var(--neutral-bg-island-default, #F8F9FA)}.mrx-radio-group-wrapper--scrollable.--active::-webkit-scrollbar-thumb{border-radius:4px;background:var(--neutral-bg-stroke-default, #BFC5CC)}\n"], dependencies: [{ kind: "component", type: i1.ErrorMessageComponent, selector: "mrx-error-message", inputs: ["invalid", "invalidMessage", "customClasses"] }, { kind: "component", type: i2.SaveStateComponent, selector: "mrx-save-state", inputs: ["type", "fields", "id"] }, { kind: "component", type: i3.RadioGroupItemComponent, selector: "mrx-radio-group-item", inputs: ["invalid", "name", "selectedValue", "item", "displaced", "level", "bold", "animationTrigger", "isLast", "disabled", "readonly"], outputs: ["radioChanged"] }, { kind: "component", type: i4.RadioGroupHeaderComponent, selector: "mrx-radio-group-header", inputs: ["searchSize", "searchable", "searchPlaceholder", "tooltip", "labelText", "linkText", "checkedItemsCount", "required"], outputs: ["updateRadioGroupSearchValue"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
114
114
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RadioGroupComponent, providedIn: RadioGroupComponent });
115
115
  }
116
116
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RadioGroupComponent, decorators: [{
@@ -126,7 +126,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
126
126
  useExisting: forwardRef(() => RadioGroupComponent),
127
127
  multi: true,
128
128
  },
129
- ], template: "<div class=\"mrx-radio-group\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"radioGroup\"></mrx-save-state>\r\n\r\n <mrx-radio-group-header\r\n [searchable]=\"searchable\"\r\n [searchPlaceholder]=\"searchPlaceholder\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"required\"\r\n [searchSize]=\"searchSize\"\r\n [labelText]=\"labelText\"\r\n (updateradioGroupSearchValue)=\"updateRadioGroupSearchValue($event)\"\r\n ></mrx-radio-group-header>\r\n\r\n @if (filteredList && filteredList.length) {\r\n <div\r\n #groupItemsWrapper\r\n class=\"mrx-radio-group-wrapper\"\r\n [class.mrx-radio-group-wrapper--scrollable]=\"scrollable\"\r\n [class.--active]=\"getShowScroll\"\r\n [style.max-height]=\"scrollable ? scrollMaxHeight + 'px' : 'auto'\"\r\n >\r\n @for (item of filteredList; track item.id; let last = $last) {\r\n <mrx-radio-group-item\r\n [displaced]=\"displaced || false\"\r\n [item]=\"item\"\r\n [isLast]=\"last\"\r\n [selectedValue]=\"selectedValue\"\r\n [name]=\"name\"\r\n [bold]=\"bold\"\r\n [invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [animationTrigger]=\"!!isSearchValue\"\r\n (radioChanged)=\"radioChanged($event)\"\r\n ></mrx-radio-group-item>\r\n }\r\n </div>\r\n } @else {\r\n <p class=\"mrx-radio-group__empty-message py-12px\">{{ enableMessage }}</p>\r\n }\r\n\r\n @if (invalid && isInvalidMessage) {\r\n <mrx-error-message [invalidMessage]=\"invalidMessage\" [customClasses]=\"'mt-2'\"></mrx-error-message>\r\n }\r\n</div>\r\n", styles: [".mrx-radio-group{position:relative}.mrx-radio-group-wrapper--scrollable{overflow-y:auto;border-width:1px 0 1px 0;border-style:solid;border-color:transparent;padding-top:0;padding-bottom:0;transition:border-color .2s,padding-top .2s,padding-bottom .2s}.mrx-radio-group-wrapper--scrollable.--active{padding-top:var(--spacing-3, 12px);padding-bottom:var(--spacing-3, 12px);border-color:var(--neutral-bg-divider)}.mrx-radio-group-wrapper--scrollable.--active::-webkit-scrollbar{width:8px}.mrx-radio-group-wrapper--scrollable.--active::-webkit-scrollbar-track{background:var(--neutral-bg-island-default, #F8F9FA)}.mrx-radio-group-wrapper--scrollable.--active::-webkit-scrollbar-thumb{border-radius:4px;background:var(--neutral-bg-stroke-default, #BFC5CC)}\n"] }]
129
+ ], template: "<div class=\"mrx-radio-group\" [class]=\"getClasses\">\r\n <mrx-save-state [id]=\"uuid\" [fields]=\"fields\" type=\"radioGroup\"></mrx-save-state>\r\n\r\n <mrx-radio-group-header\r\n [searchable]=\"searchable\"\r\n [searchPlaceholder]=\"searchPlaceholder\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"required\"\r\n [searchSize]=\"searchSize\"\r\n [labelText]=\"labelText\"\r\n (updateRadioGroupSearchValue)=\"updateRadioGroupSearchValue($event)\"\r\n ></mrx-radio-group-header>\r\n\r\n @if (filteredList && filteredList.length) {\r\n <div\r\n #groupItemsWrapper\r\n class=\"mrx-radio-group-wrapper\"\r\n [class.mrx-radio-group-wrapper--scrollable]=\"scrollable\"\r\n [class.--active]=\"getShowScroll\"\r\n [style.max-height]=\"scrollable ? scrollMaxHeight + 'px' : 'auto'\"\r\n >\r\n @for (item of filteredList; track item.id; let last = $last) {\r\n <mrx-radio-group-item\r\n [displaced]=\"displaced || false\"\r\n [item]=\"item\"\r\n [isLast]=\"last\"\r\n [selectedValue]=\"selectedValue\"\r\n [name]=\"name\"\r\n [bold]=\"bold\"\r\n [invalid]=\"invalid\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [animationTrigger]=\"!!isSearchValue\"\r\n (radioChanged)=\"radioChanged($event)\"\r\n ></mrx-radio-group-item>\r\n }\r\n </div>\r\n } @else {\r\n <p class=\"mrx-radio-group__empty-message py-12px\">{{ enableMessage }}</p>\r\n }\r\n\r\n @if (invalid && isInvalidMessage) {\r\n <mrx-error-message [invalidMessage]=\"invalidMessage\" [customClasses]=\"'mt-2'\"></mrx-error-message>\r\n }\r\n</div>\r\n", styles: [".mrx-radio-group{position:relative}.mrx-radio-group-wrapper--scrollable{overflow-y:auto;border-width:1px 0 1px 0;border-style:solid;border-color:transparent;padding-top:0;padding-bottom:0;transition:border-color .2s,padding-top .2s,padding-bottom .2s}.mrx-radio-group-wrapper--scrollable.--active{padding-top:var(--spacing-3, 12px);padding-bottom:var(--spacing-3, 12px);border-color:var(--neutral-bg-divider)}.mrx-radio-group-wrapper--scrollable.--active::-webkit-scrollbar{width:8px}.mrx-radio-group-wrapper--scrollable.--active::-webkit-scrollbar-track{background:var(--neutral-bg-island-default, #F8F9FA)}.mrx-radio-group-wrapper--scrollable.--active::-webkit-scrollbar-thumb{border-radius:4px;background:var(--neutral-bg-stroke-default, #BFC5CC)}\n"] }]
130
130
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { fields: [{
131
131
  type: Input
132
132
  }], searchSize: [{
@@ -176,4 +176,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
176
176
  }], modelItemChange: [{
177
177
  type: Output
178
178
  }] } });
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vcmFkaW8tZ3JvdXAvcmFkaW8tZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vcmFkaW8tZ3JvdXAvcmFkaW8tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUFtQmxDLE1BQU0sT0FBTyxtQkFBbUI7SUFvRFY7SUFuRFosWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUNuQixLQUFLLEdBQXFCLEVBQUUsQ0FBQztJQUc3QixhQUFhLEdBQTBCLElBQUksQ0FBQztJQUM1QyxZQUFZLEdBQXFCLEVBQUUsQ0FBQztJQUUzQyxhQUFhO0lBQ04sSUFBSSxHQUFXLElBQUksRUFBRSxDQUFDO0lBRWIsTUFBTSxHQUFZLEVBQUUsQ0FBQztJQUNy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QVc7c0JBQTNCLE1BQU07Z0JBQ1Usa0JBQWtCO3NCQUFsQyxNQUFNO2dCQUNVLGVBQWU7c0JBQS9CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dFNlYXJjaFNpemVzVHlwZXMgfSBmcm9tICcuLi9pbnB1dC1zZWFyY2gvaW5wdXQtc2VhcmNoLmVudW0nO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbmplY3RhYmxlLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICB2aWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSYWRpb0dyb3VwSXRlbSwgUmFkaW9Hcm91cFZhbHVlV2l0aElkIH0gZnJvbSAnLi9tb2RlbHMvcmFkaW8tZ3JvdXAubW9kZWwnO1xyXG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBtb3ZlU2VsZWN0ZWRUb0ZpcnN0IH0gZnJvbSAnLi9oZWxwZXJzL21vdmUtc2VsZWN0ZWQtdG8tZmlyc3QnO1xyXG5pbXBvcnQgeyBmaWx0ZXJTZWFyY2hHcm91cCB9IGZyb20gJy4vaGVscGVycy9maWx0ZXItc2VhcmNoLWdyb3VwJztcclxuaW1wb3J0IHsgZ2V0SXRlbUJ5SWQgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LWl0ZW0tYnktaWQnO1xyXG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XHJcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFJhZGlvR3JvdXBDb21wb25lbnRcclxufSlcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtcmFkaW8tZ3JvdXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yYWRpby1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmFkaW8tZ3JvdXAuY29tcG9uZW50Lmxlc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhZGlvR3JvdXBDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJhZGlvR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgcHJpdmF0ZSBfc2VhcmNoVmFsdWUgPSAnJztcclxuICBwdWJsaWMgX2xpc3Q6IFJhZGlvR3JvdXBJdGVtW10gPSBbXTtcclxuXHJcblxyXG4gIHB1YmxpYyBzZWxlY3RlZFZhbHVlOiBSYWRpb0dyb3VwSXRlbSB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyBmaWx0ZXJlZExpc3Q6IFJhZGlvR3JvdXBJdGVtW10gPSBbXTtcclxuXHJcbiAgLy8gU0FWRSBTVEFURVxyXG4gIHB1YmxpYyB1dWlkOiBzdHJpbmcgPSB1dWlkKCk7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBmaWVsZHM6IEZpZWxkW10gPSBbXTtcclxuICBASW5wdXQoKSBwdWJsaWMgc2VhcmNoU2l6ZTogSW5wdXRTZWFyY2hTaXplc1R5cGVzID0gJ21lZGl1bSc7XHJcbiAgQElucHV0KCkgcHVibGljIG5hbWUgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgc2Nyb2xsTWF4SGVpZ2h0ID0gMjAwO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hhYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGJvbGQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgc2Nyb2xsYWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzb3J0YWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVNZXNzYWdlID0gJ9Cd0LjRh9C10LPQviDQvdC1INC90LDQudC00LXQvdC+JztcclxuICBASW5wdXQoKSBwdWJsaWMgc2VhcmNoUGxhY2Vob2xkZXIgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tQ2xhc3NlcyA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZXF1aXJlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGludmFsaWRNZXNzYWdlOiBzdHJpbmcgfCBzdHJpbmdbXSA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjaGVja0ludmFsaWQ6IHRydWUgfCBmYWxzZSB8IG51bGwgPSBudWxsO1xyXG5cclxuICAvLyBUT09MVElQXHJcbiAgQElucHV0KCkgdG9vbHRpcCA9ICcnO1xyXG5cclxuICAvLyBMQUJFTFxyXG4gIEBJbnB1dCgpIGxhYmVsVGV4dCA9ICcnO1xyXG5cclxuICBASW5wdXQoKSBzZXQgaXRlbXModmFsdWU6IFJhZGlvR3JvdXBJdGVtW10pIHtcclxuICAgIHRoaXMuX2xpc3QgPSB2YWx1ZVxyXG4gICAgdGhpcy5maWx0ZXJlZExpc3QgPSB2YWx1ZVxyXG4gICAgdGhpcy5fZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgfVxyXG5cclxuICBnZXQgaXRlbXMoKTogUmFkaW9Hcm91cEl0ZW1bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJlZExpc3RcclxuICB9XHJcbiAgXHJcbiAgcmVhZG9ubHkgaXRlbXNXcmFwcGVyID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY+KCdncm91cEl0ZW1zV3JhcHBlcicpO1xyXG5cclxuICBAT3V0cHV0KCkgcHVibGljIGNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxSYWRpb0dyb3VwSXRlbSB8IG51bGw+ID0gbmV3IEV2ZW50RW1pdHRlcjxSYWRpb0dyb3VwSXRlbSB8IG51bGw+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtb2RlbENoYW5nZTogRXZlbnRFbWl0dGVyPFJhZGlvR3JvdXBWYWx1ZVdpdGhJZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJhZGlvR3JvdXBWYWx1ZVdpdGhJZD4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIG1vZGVsQ2hlY2tlZENoYW5nZTogRXZlbnRFbWl0dGVyPFJhZGlvR3JvdXBJdGVtIHwgbnVsbD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJhZGlvR3JvdXBJdGVtIHwgbnVsbD4oKTtcclxuICBAT3V0cHV0KCkgcHVibGljIG1vZGVsSXRlbUNoYW5nZTogRXZlbnRFbWl0dGVyPFJhZGlvR3JvdXBJdGVtIHwgbnVsbD4gPSBuZXcgRXZlbnRFbWl0dGVyPFJhZGlvR3JvdXBJdGVtIHwgbnVsbD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlzU2VhcmNoVmFsdWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWFyY2hWYWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZGlzcGxhY2VkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXMuc29tZSgoaXRlbTogUmFkaW9Hcm91cEl0ZW0pID0+IGl0ZW0uYXJyYXkubGVuZ3RoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0Q2xhc3NlcygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke3RoaXMuY3VzdG9tQ2xhc3Nlc31gO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBnZXRTaG93U2Nyb2xsKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXRlbXNXcmFwcGVyKCkubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQgPiB0aGlzLnNjcm9sbE1heEhlaWdodDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaXNJbnZhbGlkTWVzc2FnZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXRoaXMuaW52YWxpZE1lc3NhZ2UgfHwgISF0aGlzLmludmFsaWRNZXNzYWdlPy5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZShzZWxlY3RlZFZhbHVlOiBSYWRpb0dyb3VwSXRlbSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gc2VsZWN0ZWRWYWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZVZhbHVlKGxpc3Q6IFJhZGlvR3JvdXBJdGVtW10sIHRhcmdldEl0ZW06IFJhZGlvR3JvdXBJdGVtIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgdGhpcy5jaGFuZ2VkLmVtaXQodGFyZ2V0SXRlbSk7XHJcbiAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQoe3ZhbHVlOiB0YXJnZXRJdGVtLCBpZDogdGhpcy51dWlkfSk7XHJcbiAgICB0aGlzLm1vZGVsQ2hlY2tlZENoYW5nZS5lbWl0KHRhcmdldEl0ZW0pO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh0YXJnZXRJdGVtKTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlUmFkaW9Hcm91cFNlYXJjaFZhbHVlKHNlYXJjaFZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NlYXJjaFZhbHVlID0gc2VhcmNoVmFsdWU7XHJcbiAgICB0aGlzLmZpbHRlcmVkTGlzdCA9IGZpbHRlclNlYXJjaEdyb3VwKHRoaXMuX2xpc3QsIHRoaXMuX3NlYXJjaFZhbHVlKTtcclxuICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gbW92ZVNlbGVjdGVkVG9GaXJzdCh0aGlzLmZpbHRlcmVkTGlzdCwgdGhpcy5zb3J0YWJsZSwgdGhpcy5zZWxlY3RlZFZhbHVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByYWRpb0NoYW5nZWQoe2l0ZW19OiB7IGl0ZW06IFJhZGlvR3JvdXBJdGVtIH0pIHtcclxuICAgIGNvbnN0IGNsb25lTGlzdDogUmFkaW9Hcm91cEl0ZW1bXSA9IGNsb25lRGVlcCh0aGlzLmZpbHRlcmVkTGlzdCk7XHJcbiAgICBjb25zdCB0YXJnZXRJdGVtOiBSYWRpb0dyb3VwSXRlbSB8IG51bGwgPSBnZXRJdGVtQnlJZChjbG9uZUxpc3QsIGl0ZW0uaWQpO1xyXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gdGFyZ2V0SXRlbTtcclxuICAgIHRoaXMuZmlsdGVyZWRMaXN0ID0gbW92ZVNlbGVjdGVkVG9GaXJzdChjbG9uZUxpc3QsIHRoaXMuc29ydGFibGUsIHRhcmdldEl0ZW0pO1xyXG4gICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLmZpbHRlcmVkTGlzdCwgdGFyZ2V0SXRlbSk7XHJcbiAgICB0aGlzLm1vZGVsSXRlbUNoYW5nZS5lbWl0KHRhcmdldEl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7XHJcbiAgfTtcclxuICBwcml2YXRlIG9uVG91Y2hlZCA9ICgpID0+IHtcclxuICB9O1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJtcngtcmFkaW8tZ3JvdXBcIiBbY2xhc3NdPVwiZ2V0Q2xhc3Nlc1wiPlxyXG4gIDxtcngtc2F2ZS1zdGF0ZSBbaWRdPVwidXVpZFwiIFtmaWVsZHNdPVwiZmllbGRzXCIgdHlwZT1cInJhZGlvR3JvdXBcIj48L21yeC1zYXZlLXN0YXRlPlxyXG5cclxuICA8bXJ4LXJhZGlvLWdyb3VwLWhlYWRlclxyXG4gICAgW3NlYXJjaGFibGVdPVwic2VhcmNoYWJsZVwiXHJcbiAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXJcIlxyXG4gICAgW3Rvb2x0aXBdPVwidG9vbHRpcFwiXHJcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgW3NlYXJjaFNpemVdPVwic2VhcmNoU2l6ZVwiXHJcbiAgICBbbGFiZWxUZXh0XT1cImxhYmVsVGV4dFwiXHJcbiAgICAodXBkYXRlcmFkaW9Hcm91cFNlYXJjaFZhbHVlKT1cInVwZGF0ZVJhZGlvR3JvdXBTZWFyY2hWYWx1ZSgkZXZlbnQpXCJcclxuICA+PC9tcngtcmFkaW8tZ3JvdXAtaGVhZGVyPlxyXG5cclxuICBAaWYgKGZpbHRlcmVkTGlzdCAmJiBmaWx0ZXJlZExpc3QubGVuZ3RoKSB7XHJcbiAgICA8ZGl2XHJcbiAgICAgICNncm91cEl0ZW1zV3JhcHBlclxyXG4gICAgICBjbGFzcz1cIm1yeC1yYWRpby1ncm91cC13cmFwcGVyXCJcclxuICAgICAgW2NsYXNzLm1yeC1yYWRpby1ncm91cC13cmFwcGVyLS1zY3JvbGxhYmxlXT1cInNjcm9sbGFibGVcIlxyXG4gICAgICBbY2xhc3MuLS1hY3RpdmVdPVwiZ2V0U2hvd1Njcm9sbFwiXHJcbiAgICAgIFtzdHlsZS5tYXgtaGVpZ2h0XT1cInNjcm9sbGFibGUgPyBzY3JvbGxNYXhIZWlnaHQgKyAncHgnIDogJ2F1dG8nXCJcclxuICAgID5cclxuICAgICAgQGZvciAoaXRlbSBvZiBmaWx0ZXJlZExpc3Q7IHRyYWNrIGl0ZW0uaWQ7IGxldCBsYXN0ID0gJGxhc3QpIHtcclxuICAgICAgICA8bXJ4LXJhZGlvLWdyb3VwLWl0ZW1cclxuICAgICAgICAgIFtkaXNwbGFjZWRdPVwiZGlzcGxhY2VkIHx8IGZhbHNlXCJcclxuICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxyXG4gICAgICAgICAgW2lzTGFzdF09XCJsYXN0XCJcclxuICAgICAgICAgIFtzZWxlY3RlZFZhbHVlXT1cInNlbGVjdGVkVmFsdWVcIlxyXG4gICAgICAgICAgW25hbWVdPVwibmFtZVwiXHJcbiAgICAgICAgICBbYm9sZF09XCJib2xkXCJcclxuICAgICAgICAgIFtpbnZhbGlkXT1cImludmFsaWRcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICBbYW5pbWF0aW9uVHJpZ2dlcl09XCIhIWlzU2VhcmNoVmFsdWVcIlxyXG4gICAgICAgICAgKHJhZGlvQ2hhbmdlZCk9XCJyYWRpb0NoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvbXJ4LXJhZGlvLWdyb3VwLWl0ZW0+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIH0gQGVsc2Uge1xyXG4gICAgPHAgY2xhc3M9XCJtcngtcmFkaW8tZ3JvdXBfX2VtcHR5LW1lc3NhZ2UgcHktMTJweFwiPnt7IGVuYWJsZU1lc3NhZ2UgfX08L3A+XHJcbiAgfVxyXG5cclxuICBAaWYgKGludmFsaWQgJiYgaXNJbnZhbGlkTWVzc2FnZSkge1xyXG4gICAgPG1yeC1lcnJvci1tZXNzYWdlIFtpbnZhbGlkTWVzc2FnZV09XCJpbnZhbGlkTWVzc2FnZVwiIFtjdXN0b21DbGFzc2VzXT1cIidtdC0yJ1wiPjwvbXJ4LWVycm9yLW1lc3NhZ2U+XHJcbiAgfVxyXG48L2Rpdj5cclxuIl19
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vcmFkaW8tZ3JvdXAvcmFkaW8tZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vcmFkaW8tZ3JvdXAvcmFkaW8tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFVBQVUsRUFDVixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUFtQmxDLE1BQU0sT0FBTyxtQkFBbUI7SUFvRFY7SUFuRFosWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUNuQixLQUFLLEdBQXFCLEVBQUUsQ0FBQztJQUc3QixhQUFhLEdBQTBCLElBQUksQ0FBQztJQUM1QyxZQUFZLEdBQXFCLEVBQUUsQ0FBQztJQUUzQyxhQUFhO0lBQ04sSUFBSSxHQUFXLElBQUksRUFBRSxDQUFDO0lBRWIsTUFBTSxHQUFZLEVBQUUsQ0FBQztJQUNyQixVQUFVLEdBQTBCLFFBQVEsQ0FBQztJQUM3QyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ1YsZUFBZSxHQUFHLEdBQUcsQ0FBQztJQUN0QixVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ25CLElBQUksR0FBRyxLQUFLLENBQUM7SUFDYixVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ25CLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUNqQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQztJQUNwQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDdkIsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUNuQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDaEIsY0FBYyxHQUFzQixFQUFFLENBQUM7SUFDdkMsWUFBWSxHQUF3QixJQUFJLENBQUM7SUFFekQsVUFBVTtJQUNELE9BQU8sR0FBRyxFQUFFLENBQUM7SUFFdEIsUUFBUTtJQUNDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFFeEIsSUFBYSxLQUFLLENBQUMsS0FBdUI7UUFDeEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUE7UUFDbEIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUE7UUFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUNoQyxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFBO0lBQzFCLENBQUM7SUFFUSxZQUFZLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBYSxtQkFBbUIsQ0FBQyxDQUFDO0lBRTNELE9BQU8sR0FBd0MsSUFBSSxZQUFZLEVBQXlCLENBQUM7SUFDekYsV0FBVyxHQUF3QyxJQUFJLFlBQVksRUFBeUIsQ0FBQztJQUM3RixrQkFBa0IsR0FBd0MsSUFBSSxZQUFZLEVBQXlCLENBQUM7SUFDcEcsZUFBZSxHQUF3QyxJQUFJLFlBQVksRUFBeUIsQ0FBQztJQUVsSCxZQUFvQixTQUE0QjtRQUE1QixjQUFTLEdBQVQsU0FBUyxDQUFtQjtJQUNoRCxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFvQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUMvRSxDQUFDO0lBRUQsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUM7SUFDaEUsQ0FBQztJQUVNLFVBQVUsQ0FBQyxhQUE2QjtRQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsRUFBTztRQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRU0saUJBQWlCLENBQUMsRUFBTztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRU0sV0FBVyxDQUFDLElBQXNCLEVBQUUsVUFBaUM7UUFDMUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFFTSwyQkFBMkIsQ0FBQyxXQUFtQjtRQUNwRCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxZQUFZLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRU0sWUFBWSxDQUFDLEVBQUMsSUFBSSxFQUEyQjtRQUNsRCxNQUFNLFNBQVMsR0FBcUIsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNqRSxNQUFNLFVBQVUsR0FBMEIsV0FBVyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUM7UUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVPLFFBQVEsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO0lBQ2xDLENBQUMsQ0FBQztJQUNNLFNBQVMsR0FBRyxHQUFHLEVBQUU7SUFDekIsQ0FBQyxDQUFDO3dHQWpIUyxtQkFBbUI7NEZBQW5CLG1CQUFtQixpckJBUm5CO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDbEQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDZKQ25DSCwrcURBNkNBOzRHRFJhLG1CQUFtQixjQWZsQixtQkFBbUI7OzRGQWVwQixtQkFBbUI7a0JBaEIvQixVQUFVO21CQUFDO29CQUNWLFVBQVUscUJBQXFCO2lCQUNoQzs7a0JBQ0EsU0FBUzsrQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxvQkFBb0IsQ0FBQzs0QkFDbEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7c0ZBYWUsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsZUFBZTtzQkFBOUIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsVUFBVTtzQkFBekIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLGlCQUFpQjtzQkFBaEMsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxjQUFjO3NCQUE3QixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRU8sS0FBSztzQkFBakIsS0FBSztnQkFZVyxPQUFPO3NCQUF2QixNQUFNO2dCQUNVLFdBQVc7c0JBQTNCLE1BQU07Z0JBQ1Usa0JBQWtCO3NCQUFsQyxNQUFNO2dCQUNVLGVBQWU7c0JBQS9CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dFNlYXJjaFNpemVzVHlwZXMgfSBmcm9tICcuLi9pbnB1dC1zZWFyY2gvaW5wdXQtc2VhcmNoLmVudW0nO1xyXG5pbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbmplY3RhYmxlLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICB2aWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSYWRpb0dyb3VwSXRlbSwgUmFkaW9Hcm91cFZhbHVlV2l0aElkIH0gZnJvbSAnLi9tb2RlbHMvcmFkaW8tZ3JvdXAubW9kZWwnO1xyXG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xyXG5pbXBvcnQgeyBtb3ZlU2VsZWN0ZWRUb0ZpcnN0IH0gZnJvbSAnLi9oZWxwZXJzL21vdmUtc2VsZWN0ZWQtdG8tZmlyc3QnO1xyXG5pbXBvcnQgeyBmaWx0ZXJTZWFyY2hHcm91cCB9IGZyb20gJy4vaGVscGVycy9maWx0ZXItc2VhcmNoLWdyb3VwJztcclxuaW1wb3J0IHsgZ2V0SXRlbUJ5SWQgfSBmcm9tICcuL2hlbHBlcnMvZ2V0LWl0ZW0tYnktaWQnO1xyXG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XHJcbmltcG9ydCB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46IFJhZGlvR3JvdXBDb21wb25lbnRcclxufSlcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtcmFkaW8tZ3JvdXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yYWRpby1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmFkaW8tZ3JvdXAuY29tcG9uZW50Lmxlc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhZGlvR3JvdXBDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJhZGlvR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgcHJpdmF0ZSBfc2VhcmNoVmFsdWUgPSAnJztcclxuICBwdWJsaWMgX2xpc3Q6IFJhZGlvR3JvdXBJdGVtW10gPSBbXTtcclxuXHJcblxyXG4gIHB1YmxpYyBzZWxlY3RlZFZhbHVlOiBSYWRpb0dyb3VwSXRlbSB8IG51bGwgPSBudWxsO1xyXG4gIHB1YmxpYyBmaWx0ZXJlZExpc3Q6IFJhZGlvR3JvdXBJdGVtW10gPSBbXTtcclxuXHJcbiAgLy8gU0FWRSBTVEFURVxyXG4gIHB1YmxpYyB1dWlkOiBzdHJpbmcgPSB1dWlkKCk7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBmaWVsZHM6IEZpZWxkW10gPSBbXTtcclxuICBASW5wdXQoKSBwdWJsaWMgc2VhcmNoU2l6ZTogSW5wdXRTZWFyY2hTaXplc1R5cGVzID0gJ21lZGl1bSc7XHJcbiAgQElucHV0KCkgcHVibGljIG5hbWUgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgc2Nyb2xsTWF4SGVpZ2h0ID0gMjAwO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZWFyY2hhYmxlID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGJvbGQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBwdWJsaWMgc2Nyb2xsYWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzb3J0YWJsZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVNZXNzYWdlID0gJ9Cd0LjRh9C10LPQviDQvdC1INC90LDQudC00LXQvdC+JztcclxuICBASW5wdXQoKSBwdWJsaWMgc2VhcmNoUGxhY2Vob2xkZXIgPSAnJztcclxuICBASW5wdXQoKSBwdWJsaWMgY3VzdG9tQ2xhc3NlcyA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZXF1aXJlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcHVibGljIGludmFsaWRNZXNzYWdlOiBzdHJpbmcgfCBzdHJpbmdbXSA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjaGVja0ludmFsaWQ6IHRydWUgfCBmYWxzZSB8IG51bGwgPSBudWxsO1xyXG5cclxuICAvLyBUT09MVElQXHJcbiAgQElucHV0KCkgdG9vbHRpcCA9ICcnO1xyXG5cclxuICAvLyBMQUJFTFxyXG4gIEBJbnB1dCgpIGxhYmVsVGV4dCA9ICcnO1xyXG5cclxuICBASW5wdXQoKSBzZXQgaXRlbXModmFsdWU6IFJhZGlvR3JvdXBJdGVtW10pIHtcclxuICAgIHRoaXMuX2xpc3QgPSB2YWx1ZVxyXG4gICAgdGhpcy5maWx0ZXJlZExpc3QgPSB2YWx1ZVxyXG4gICAgdGhpcy5fZGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgfVxyXG5cclxuICBnZXQgaXRlbXMoKTogUmFkaW9Hcm91cEl0ZW1bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJlZExpc3RcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IGl0ZW1zV3JhcHBlciA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPignZ3JvdXBJdGVtc1dyYXBwZXInKTtcclxuXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBjaGFuZ2VkOiBFdmVudEVtaXR0ZXI8UmFkaW9Hcm91cEl0ZW0gfCBudWxsPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmFkaW9Hcm91cEl0ZW0gfCBudWxsPigpO1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxSYWRpb0dyb3VwVmFsdWVXaXRoSWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxSYWRpb0dyb3VwVmFsdWVXaXRoSWQ+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtb2RlbENoZWNrZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxSYWRpb0dyb3VwSXRlbSB8IG51bGw+ID0gbmV3IEV2ZW50RW1pdHRlcjxSYWRpb0dyb3VwSXRlbSB8IG51bGw+KCk7XHJcbiAgQE91dHB1dCgpIHB1YmxpYyBtb2RlbEl0ZW1DaGFuZ2U6IEV2ZW50RW1pdHRlcjxSYWRpb0dyb3VwSXRlbSB8IG51bGw+ID0gbmV3IEV2ZW50RW1pdHRlcjxSYWRpb0dyb3VwSXRlbSB8IG51bGw+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc1NlYXJjaFZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoVmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGRpc3BsYWNlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zLnNvbWUoKGl0ZW06IFJhZGlvR3JvdXBJdGVtKSA9PiBpdGVtLml0ZW1zLmxlbmd0aCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldENsYXNzZXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgJHt0aGlzLmN1c3RvbUNsYXNzZXN9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0U2hvd1Njcm9sbCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1zV3JhcHBlcigpLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsSGVpZ2h0ID4gdGhpcy5zY3JvbGxNYXhIZWlnaHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlzSW52YWxpZE1lc3NhZ2UoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLmludmFsaWRNZXNzYWdlIHx8ICEhdGhpcy5pbnZhbGlkTWVzc2FnZT8ubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHdyaXRlVmFsdWUoc2VsZWN0ZWRWYWx1ZTogUmFkaW9Hcm91cEl0ZW0pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHNlbGVjdGVkVmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVWYWx1ZShsaXN0OiBSYWRpb0dyb3VwSXRlbVtdLCB0YXJnZXRJdGVtOiBSYWRpb0dyb3VwSXRlbSB8IG51bGwpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhbmdlZC5lbWl0KHRhcmdldEl0ZW0pO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHt2YWx1ZTogdGFyZ2V0SXRlbSwgaWQ6IHRoaXMudXVpZH0pO1xyXG4gICAgdGhpcy5tb2RlbENoZWNrZWRDaGFuZ2UuZW1pdCh0YXJnZXRJdGVtKTtcclxuICAgIHRoaXMub25DaGFuZ2UodGFyZ2V0SXRlbSk7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZVJhZGlvR3JvdXBTZWFyY2hWYWx1ZShzZWFyY2hWYWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zZWFyY2hWYWx1ZSA9IHNlYXJjaFZhbHVlO1xyXG4gICAgdGhpcy5maWx0ZXJlZExpc3QgPSBmaWx0ZXJTZWFyY2hHcm91cCh0aGlzLl9saXN0LCB0aGlzLl9zZWFyY2hWYWx1ZSk7XHJcbiAgICB0aGlzLmZpbHRlcmVkTGlzdCA9IG1vdmVTZWxlY3RlZFRvRmlyc3QodGhpcy5maWx0ZXJlZExpc3QsIHRoaXMuc29ydGFibGUsIHRoaXMuc2VsZWN0ZWRWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmFkaW9DaGFuZ2VkKHtpdGVtfTogeyBpdGVtOiBSYWRpb0dyb3VwSXRlbSB9KSB7XHJcbiAgICBjb25zdCBjbG9uZUxpc3Q6IFJhZGlvR3JvdXBJdGVtW10gPSBjbG9uZURlZXAodGhpcy5maWx0ZXJlZExpc3QpO1xyXG4gICAgY29uc3QgdGFyZ2V0SXRlbTogUmFkaW9Hcm91cEl0ZW0gfCBudWxsID0gZ2V0SXRlbUJ5SWQoY2xvbmVMaXN0LCBpdGVtLmlkKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHRhcmdldEl0ZW07XHJcbiAgICB0aGlzLmZpbHRlcmVkTGlzdCA9IG1vdmVTZWxlY3RlZFRvRmlyc3QoY2xvbmVMaXN0LCB0aGlzLnNvcnRhYmxlLCB0YXJnZXRJdGVtKTtcclxuICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5maWx0ZXJlZExpc3QsIHRhcmdldEl0ZW0pO1xyXG4gICAgdGhpcy5tb2RlbEl0ZW1DaGFuZ2UuZW1pdCh0YXJnZXRJdGVtKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge1xyXG4gIH07XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQgPSAoKSA9PiB7XHJcbiAgfTtcclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibXJ4LXJhZGlvLWdyb3VwXCIgW2NsYXNzXT1cImdldENsYXNzZXNcIj5cclxuICA8bXJ4LXNhdmUtc3RhdGUgW2lkXT1cInV1aWRcIiBbZmllbGRzXT1cImZpZWxkc1wiIHR5cGU9XCJyYWRpb0dyb3VwXCI+PC9tcngtc2F2ZS1zdGF0ZT5cclxuXHJcbiAgPG1yeC1yYWRpby1ncm91cC1oZWFkZXJcclxuICAgIFtzZWFyY2hhYmxlXT1cInNlYXJjaGFibGVcIlxyXG4gICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyXCJcclxuICAgIFt0b29sdGlwXT1cInRvb2x0aXBcIlxyXG4gICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcclxuICAgIFtzZWFyY2hTaXplXT1cInNlYXJjaFNpemVcIlxyXG4gICAgW2xhYmVsVGV4dF09XCJsYWJlbFRleHRcIlxyXG4gICAgKHVwZGF0ZVJhZGlvR3JvdXBTZWFyY2hWYWx1ZSk9XCJ1cGRhdGVSYWRpb0dyb3VwU2VhcmNoVmFsdWUoJGV2ZW50KVwiXHJcbiAgPjwvbXJ4LXJhZGlvLWdyb3VwLWhlYWRlcj5cclxuXHJcbiAgQGlmIChmaWx0ZXJlZExpc3QgJiYgZmlsdGVyZWRMaXN0Lmxlbmd0aCkge1xyXG4gICAgPGRpdlxyXG4gICAgICAjZ3JvdXBJdGVtc1dyYXBwZXJcclxuICAgICAgY2xhc3M9XCJtcngtcmFkaW8tZ3JvdXAtd3JhcHBlclwiXHJcbiAgICAgIFtjbGFzcy5tcngtcmFkaW8tZ3JvdXAtd3JhcHBlci0tc2Nyb2xsYWJsZV09XCJzY3JvbGxhYmxlXCJcclxuICAgICAgW2NsYXNzLi0tYWN0aXZlXT1cImdldFNob3dTY3JvbGxcIlxyXG4gICAgICBbc3R5bGUubWF4LWhlaWdodF09XCJzY3JvbGxhYmxlID8gc2Nyb2xsTWF4SGVpZ2h0ICsgJ3B4JyA6ICdhdXRvJ1wiXHJcbiAgICA+XHJcbiAgICAgIEBmb3IgKGl0ZW0gb2YgZmlsdGVyZWRMaXN0OyB0cmFjayBpdGVtLmlkOyBsZXQgbGFzdCA9ICRsYXN0KSB7XHJcbiAgICAgICAgPG1yeC1yYWRpby1ncm91cC1pdGVtXHJcbiAgICAgICAgICBbZGlzcGxhY2VkXT1cImRpc3BsYWNlZCB8fCBmYWxzZVwiXHJcbiAgICAgICAgICBbaXRlbV09XCJpdGVtXCJcclxuICAgICAgICAgIFtpc0xhc3RdPVwibGFzdFwiXHJcbiAgICAgICAgICBbc2VsZWN0ZWRWYWx1ZV09XCJzZWxlY3RlZFZhbHVlXCJcclxuICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxyXG4gICAgICAgICAgW2JvbGRdPVwiYm9sZFwiXHJcbiAgICAgICAgICBbaW52YWxpZF09XCJpbnZhbGlkXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgW2FuaW1hdGlvblRyaWdnZXJdPVwiISFpc1NlYXJjaFZhbHVlXCJcclxuICAgICAgICAgIChyYWRpb0NoYW5nZWQpPVwicmFkaW9DaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAgID48L21yeC1yYWRpby1ncm91cC1pdGVtPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICB9IEBlbHNlIHtcclxuICAgIDxwIGNsYXNzPVwibXJ4LXJhZGlvLWdyb3VwX19lbXB0eS1tZXNzYWdlIHB5LTEycHhcIj57eyBlbmFibGVNZXNzYWdlIH19PC9wPlxyXG4gIH1cclxuXHJcbiAgQGlmIChpbnZhbGlkICYmIGlzSW52YWxpZE1lc3NhZ2UpIHtcclxuICAgIDxtcngtZXJyb3ItbWVzc2FnZSBbaW52YWxpZE1lc3NhZ2VdPVwiaW52YWxpZE1lc3NhZ2VcIiBbY3VzdG9tQ2xhc3Nlc109XCInbXQtMidcIj48L21yeC1lcnJvci1tZXNzYWdlPlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==