@arsedizioni/ars-utils 18.5.13 → 18.5.15

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.
@@ -204,14 +204,8 @@ export class DialogService extends UIService {
204
204
  * Clear busy dialog
205
205
  */
206
206
  clearBusy() {
207
- if (this.busyComponentRef) {
208
- this.busyComponentRef.destroy();
209
- console.log("destroyed");
210
- }
211
- if (this.busyDialogRef) {
212
- this.busyDialogRef.detach();
213
- console.log("detached!");
214
- }
207
+ this.busyComponentRef?.destroy();
208
+ this.busyDialogRef?.detach();
215
209
  }
216
210
  /**
217
211
  * Update busy dialog
@@ -411,4 +405,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImpo
411
405
  providedIn: 'root'
412
406
  }]
413
407
  }], ctorParameters: () => [] });
414
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvdWkvdWkvc2VydmljZXMvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQWdCLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFrQixNQUFNLDZCQUE2QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUNMLG1CQUFtQixFQUNwQixNQUFNLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sRUFDTCxzQkFBc0IsRUFHdkIsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsbUJBQW1CLEVBRXBCLE1BQU0sdUNBQXVDLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBYSxNQUFNLGtDQUFrQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBT3pDLE1BQU0sT0FBTyxhQUFjLFNBQVEsU0FBUztJQWExQztRQUNFLEtBQUssRUFBRSxDQUFDO1FBWkYsV0FBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzQixZQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFCLGFBQVEsR0FBRyxNQUFN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WUFDakIsUUFBUSxFQUFFLEtBQUssR0FBRyxJQUFJO1lBQ3RCLEtBQUssRUFBRSxNQUFNO1NBQ2QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0FqY1UsYUFBYTttSEFBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgUGxhdGZvcm1Mb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudFJlZiwgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIsIE1hdFNuYWNrQmFyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgU3lzdGVtVXRpbHMgfSBmcm9tICdAYXJzZWRpemlvbmkvYXJzLXV0aWxzL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge1xyXG4gIEJ1c3lEaWFsb2dDb21wb25lbnRcclxufSBmcm9tICcuLi9kaWFsb2dzL2J1c3kvYnVzeS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBDb25maXJtRGlhbG9nQ29tcG9uZW50LFxyXG4gIENvbmZpcm1EaWFsb2dEYXRhLFxyXG4gIENvbmZpcm1EaWFsb2dPcHRpb25cclxufSBmcm9tICcuLi9kaWFsb2dzL2NvbmZpcm0vY29uZmlybS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICBJbmZvRGlhbG9nQ29tcG9uZW50LFxyXG4gIEluZm9EaWFsb2dEYXRhXHJcbn0gZnJvbSAnLi4vZGlhbG9ncy9pbmZvL2luZm8tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRvYXN0Q29tcG9uZW50LCBUb2FzdERhdGEgfSBmcm9tICcuLi9kaWFsb2dzL3RvYXN0L3RvYXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVJU2VydmljZSB9IGZyb20gJy4vdWkuc2VydmljZSc7XHJcblxyXG5cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIERpYWxvZ1NlcnZpY2UgZXh0ZW5kcyBVSVNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIGRpYWxvZyA9IGluamVjdChNYXREaWFsb2cpO1xyXG4gIHByaXZhdGUgb3ZlcmxheSA9IGluamVjdChPdmVybGF5KTtcclxuICBwcml2YXRlIHNuYWNrQmFyID0gaW5qZWN0KE1hdFNuYWNrQmFyKTtcclxuICBwcml2YXRlIGxvY2F0aW9uID0gaW5qZWN0KFBsYXRmb3JtTG9jYXRpb24pO1xyXG4gIHByaXZhdGUgYnVzeURpYWxvZ1JlZjogT3ZlcmxheVJlZjtcclxuICBwcml2YXRlIGJ1c3lDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxCdXN5RGlhbG9nQ29tcG9uZW50PjtcclxuICBwcml2YXRlIGVycm9yRGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8SW5mb0RpYWxvZ0NvbXBvbmVudD47XHJcbiAgcHJpdmF0ZSBwb3BIaXN0b3J5OiBhbnkgPSBbXTtcclxuICBwcml2YXRlIHBvcFN0YXRlOiBib29sZWFuID0gdHJ1ZTtcclxuICBwcml2YXRlIHBvcHBpbmdTdGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcblxyXG4gICAgLy8gSGFuZGxlIGRpYWxvZyBjbG9zZSB3aGVuIGJhY2sgYnV0dG9uIGlzIGNsaWNrZWRcclxuICAgIHRoaXMubG9jYXRpb24ub25Qb3BTdGF0ZSgoKSA9PiB7XHJcbiAgICAgIGlmICghdGhpcy5wb3BwaW5nU3RhdGUpIHtcclxuICAgICAgICBjb25zdCBjb3VudCA9IHRoaXMuZGlhbG9nLm9wZW5EaWFsb2dzLmxlbmd0aDtcclxuICAgICAgICBpZiAoY291bnQgPiAwKSB7XHJcbiAgICAgICAgICAvLyBEaXNhYmxlIHBvcCBzYXRlIGlmIGNhc2VcclxuICAgICAgICAgIHRoaXMucG9wU3RhdGUgPSBmYWxzZTtcclxuICAgICAgICAgIC8vIENsb3NlIGRpYWxvZ1xyXG4gICAgICAgICAgdGhpcy5kaWFsb2cub3BlbkRpYWxvZ3NbY291bnQgLSAxXS5jbG9zZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHRoaXMucG9wcGluZ1N0YXRlID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsZWFyIHVybCBmcm9tICMgaW4gY2FzZSBvZiBwYWdlIHJlbG9hZFxyXG4gICAqIEBwYXJhbSByZXNldFBvcHBpbmdTdGF0ZTogdHJ1ZSBpZiBwb3BwaW5nIHN0YXRlIHNob3VsZCBiZSBzZXQgdG8gZmFsc2VcclxuICAgKi9cclxuICBjbGVhclVybChyZXNldFBvcHBpbmdTdGF0ZTogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICBjb25zdCB1cmwgPSBsb2NhdGlvbi5ocmVmO1xyXG4gICAgbGV0IGwgPSB1cmwubGVuZ3RoO1xyXG4gICAgd2hpbGUgKGwgPj0gMCAmJiB1cmxbbCAtIDFdID09PSAnIycpIGwtLTtcclxuICAgIGlmIChsIDwgdXJsLmxlbmd0aClcclxuICAgICAgaGlzdG9yeS5yZXBsYWNlU3RhdGUoe30sICcnLCB1cmwuc3Vic3RyaW5nKDAsIGwpKTtcclxuICAgIGlmIChyZXNldFBvcHBpbmdTdGF0ZSlcclxuICAgICAgdGhpcy5wb3BwaW5nU3RhdGUgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsb3NlIGFsbCBkaWFsb2dzXHJcbiAgICovXHJcbiAgY2xvc2VBbGwoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpYWxvZy5vcGVuRGlhbG9ncy5mb3JFYWNoKG4gPT4ge1xyXG4gICAgICBuLmNsb3NlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBPcGVuIGEgZGlhbG9nXHJcbiAgICogQHBhcmFtIGNvbXBvbmVudCA6IHRoZSBjb21wb25lbnRcclxuICAgKiBAcGFyYW0gY29uZmlnIDogdGhlIGNvbmZpZ1xyXG4gICAqIEByZXR1cm5zOiB0aGUgZGlhbG9nIG9iamVjdFxyXG4gICAqL1xyXG4gIG9wZW4oY29tcG9uZW50OiBhbnksIGNvbmZpZzogYW55KTogTWF0RGlhbG9nUmVmPGFueT4ge1xyXG4gICAgaWYgKCFTeXN0ZW1VdGlscy5pc0Jyb3dzZXIoKSkgcmV0dXJuIG51bGw7XHJcbiAgICB0aGlzLmNsZWFyQnVzeSgpO1xyXG4gICAgcmV0dXJuIHRoaXMub3BlbkRpYWxvZyhjb21wb25lbnQsIGNvbmZpZyk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAqIE9wZW4gYSBkaWFsb2dcclxuICogQHBhcmFtIGNvbXBvbmVudCA6IHRoZSBjb21wb25lbnRcclxuICogQHBhcmFtIGNvbmZpZyA6IHRoZSBjb25maWdcclxuICogQHJldHVybnMgOiB0aGUgZGlhbG9nIG9iamVjdFxyXG4gKi9cclxuICBwcml2YXRlIG9wZW5EaWFsb2coY29tcG9uZW50OiBhbnksIGNvbmZpZzogYW55KTogTWF0RGlhbG9nUmVmPGFueT4ge1xyXG4gICAgLy8gV2Ugd2lsbCB0YWtlIGNhcmUgb2YgbmF2aWdhdGlvblxyXG4gICAgY29uZmlnLmNsb3NlT25OYXZpZ2F0aW9uID0gZmFsc2U7XHJcbiAgICBsZXQgZCA9IHRoaXMuZGlhbG9nLm9wZW4oY29tcG9uZW50LCBjb25maWcpO1xyXG4gICAgZC5hZnRlck9wZW5lZCgpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMucHVzaERpYWxvZyhkLmlkKTtcclxuICAgIH0pO1xyXG4gICAgZC5iZWZvcmVDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnBvcERpYWxvZyhkLmlkKTtcclxuICAgIH0pO1xyXG4gICAgZC5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIC8vIEZpbmFsIGNsZWFudXAgb2YgbWlkZGxlIG9iamVjdHNcclxuICAgICAgdGhpcy5lcnJvckRpYWxvZ1JlZiA9IG51bGw7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgZWxlbWVudCBoZWlnaHQgaW5jbHVkaW5nIG1hcmdpbnNcclxuICAgKiBAcGFyYW0gZWxlbWVudCAtIGVsZW1lbnRcclxuICAgKiBAcmV0dXJucyB0aGUgaGVpZ2h0XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBvdXRlckhlaWdodChlbGVtZW50OiBhbnkpOiBudW1iZXIge1xyXG4gICAgaWYgKCFTeXN0ZW1VdGlscy5pc0Jyb3dzZXIoKSkgcmV0dXJuIDA7XHJcbiAgICBjb25zdCBoZWlnaHQgPSBlbGVtZW50Lm9mZnNldEhlaWdodCxcclxuICAgICAgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcclxuICAgIGxldCBoID0gWyd0b3AnLCAnYm90dG9tJ11cclxuICAgICAgLm1hcChzaWRlID0+IHBhcnNlSW50KHN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ21hcmdpbi0nICsgc2lkZSkpKVxyXG4gICAgICAucmVkdWNlKCh0b3RhbCwgc2lkZSkgPT4gdG90YWwgKyBzaWRlLCBoZWlnaHQpO1xyXG4gICAgcmV0dXJuIGg7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm4gY3VycmVudCBkaWFsb2cgaGVpZ2h0XHJcbiAgICovXHJcbiAgZ2V0Q3VycmVudERpYWxvZ0hlaWdodCgpOiBudW1iZXIge1xyXG4gICAgaWYgKCFTeXN0ZW1VdGlscy5pc0Jyb3dzZXIoKSkgcmV0dXJuIDA7XHJcbiAgICBjb25zdCBjb3VudCA9IHRoaXMucG9wSGlzdG9yeS5sZW5ndGg7XHJcbiAgICBpZiAoY291bnQgPiAwKSB7XHJcbiAgICAgIGxldCBpZCA9IHRoaXMucG9wSGlzdG9yeVtjb3VudCAtIDFdLmlkO1xyXG4gICAgICBsZXQgZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKTtcclxuICAgICAgaWYgKGVsZW0gJiYgZWxlbS5jbGllbnRIZWlnaHQgPiAwKSByZXR1cm4gZWxlbS5jbGllbnRIZWlnaHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gMDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybiBjdXJyZW50IGRpYWxvZyBzY3JvbGxhYmxlIGhlaWdodFxyXG4gICAqL1xyXG4gIGdldEN1cnJlbnREaWFsb2dTY3JvbGxhYmxlSGVpZ2h0KFxyXG4gICAgZml4ZWRQYXJ0c0NsYXNzTmFtZTogc3RyaW5nW10sXHJcbiAgICBtaW5pbWFsSGVpZ2h0OiBudW1iZXJcclxuICApOiBudW1iZXIge1xyXG4gICAgaWYgKCFTeXN0ZW1VdGlscy5pc0Jyb3dzZXIoKSkgcmV0dXJuIDA7XHJcbiAgICBsZXQgaCA9IHRoaXMuZ2V0Q3VycmVudERpYWxvZ0hlaWdodCgpO1xyXG4gICAgaWYgKGggPCBtaW5pbWFsSGVpZ2h0KSB7XHJcbiAgICAgIGggPSBtaW5pbWFsSGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgaWYgKGZpeGVkUGFydHNDbGFzc05hbWUpIHtcclxuICAgICAgZml4ZWRQYXJ0c0NsYXNzTmFtZS5mb3JFYWNoKG4gPT4ge1xyXG4gICAgICAgIGNvbnN0IGVsZW1zID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShuKTtcclxuICAgICAgICBpZiAoZWxlbXMpIHtcclxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZWxlbXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaCAtPSB0aGlzLm91dGVySGVpZ2h0KGVsZW1zW2ldKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGg7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQdXNoIGEgZGlhbG9nIGluZm8gdGhlIGhpc3RvcnlcclxuICAgKi9cclxuICBwcml2YXRlIHB1c2hEaWFsb2coaWQ6IHN0cmluZykge1xyXG4gICAgaWYgKCFTeXN0ZW1VdGlscy5pc0Jyb3dzZXIoKSkgcmV0dXJuO1xyXG4gICAgbGV0IGluZGV4ID0gaGlzdG9yeS5sZW5ndGg7XHJcbiAgICBoaXN0b3J5LnB1c2hTdGF0ZSh7IGluZGV4OiBpbmRleCB9LCBudWxsLCBsb2NhdGlvbi5ocmVmICsgJyMnKTtcclxuICAgIHRoaXMucG9wSGlzdG9yeS5wdXNoKHsgaWQ6IGlkLCB2YWx1ZTogaW5kZXggfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQb3AgYSBkaWFsb2cgZnJvbSB0aGUgaGlzdG9yeVxyXG4gICAqL1xyXG4gIHByaXZhdGUgcG9wRGlhbG9nKGlkOiBzdHJpbmcgfCBudWxsID0gbnVsbCkge1xyXG4gICAgaWYgKCFTeXN0ZW1VdGlscy5pc0Jyb3dzZXIoKSkgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMucG9wU3RhdGUpIHtcclxuICAgICAgdGhpcy5wb3BwaW5nU3RhdGUgPSB0cnVlO1xyXG4gICAgICBsZXQgcG9wcGVkID0gMTtcclxuICAgICAgaWYgKGlkKSB7XHJcbiAgICAgICAgY29uc3QgcCA9IHRoaXMucG9wSGlzdG9yeS5maW5kSW5kZXgoKG46IGFueSkgPT4gbi5pZCA9PT0gaWQpO1xyXG4gICAgICAgIGlmIChwICE9IC0xKSB7XHJcbiAgICAgICAgICBwb3BwZWQgPSB0aGlzLnBvcEhpc3RvcnlbcF0udmFsdWUgLSBoaXN0b3J5LnN0YXRlLmluZGV4O1xyXG4gICAgICAgICAgaWYgKHBvcHBlZCkgcG9wcGVkKys7XHJcbiAgICAgICAgICBlbHNlIHBvcHBlZCA9IDE7XHJcbiAgICAgICAgICB0aGlzLnBvcEhpc3Rvcnkuc3BsaWNlKHAsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB1cmwgPSBsb2NhdGlvbi5ocmVmO1xyXG4gICAgICAgIGxldCBsID0gdXJsLmxlbmd0aDtcclxuICAgICAgICB3aGlsZSAobCA+PSAwICYmIHVybFtsIC0gMV0gPT09ICcjJyAmJiBwb3BwZWQgPiAwKSB7XHJcbiAgICAgICAgICBsLS07XHJcbiAgICAgICAgICBwb3BwZWQtLTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGwgPCB1cmwubGVuZ3RoKVxyXG4gICAgICAgICAgaGlzdG9yeS5yZXBsYWNlU3RhdGUoe30sICcnLCB1cmwuc3Vic3RyaW5nKDAsIGwpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5wb3BTdGF0ZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgdGhlIGJ1c3kgb3ZlcmxheVxyXG4gICAqIEBwYXJhbSB0eXBlOiB0aGUgdHlwZSBvZiBzcGlubmVyIHRvIGNyZWF0ZVxyXG4gICAqIEByZXR1cm5zOiB0aGUgbmV3IG92ZXJsYXlcclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZUJ1c3koKTogT3ZlcmxheVJlZiB7XHJcbiAgICByZXR1cm4gdGhpcy5vdmVybGF5LmNyZWF0ZSh7XHJcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxyXG4gICAgICBiYWNrZHJvcENsYXNzOiAnYnVzeS1iYWNrZHJvcCcsXHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpXHJcbiAgICAgICAgLmdsb2JhbCgpXHJcbiAgICAgICAgLmNlbnRlckhvcml6b250YWxseSgpXHJcbiAgICAgICAgLmNlbnRlclZlcnRpY2FsbHkoKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhciBidXN5IGRpYWxvZ1xyXG4gICAqL1xyXG4gIGNsZWFyQnVzeSgpIHtcclxuICAgIGlmICh0aGlzLmJ1c3lDb21wb25lbnRSZWYpIHtcclxuICAgICAgdGhpcy5idXN5Q29tcG9uZW50UmVmLmRlc3Ryb3koKTtcclxuICAgICAgY29uc29sZS5sb2coXCJkZXN0cm95ZWRcIik7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5idXN5RGlhbG9nUmVmKSB7XHJcbiAgICAgIHRoaXMuYnVzeURpYWxvZ1JlZi5kZXRhY2goKTtcclxuICAgICAgY29uc29sZS5sb2coXCJkZXRhY2hlZCFcIik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGUgYnVzeSBkaWFsb2dcclxuICAgKiBAcGFyYW0gbWVzc2FnZSA6IG5ldyBtZXNzYWdlXHJcbiAgICogQHBhcmFtIHByb2dyZXNzIDogbmV3IHByb2dyZXNzXHJcbiAgICogQHBhcmFtIHByb2dyZXNzTW9kZSA6IG5ldyBtb2RlIChkZWZhdWx0ID0gJ2luZGV0ZXJtaW5hdGUnKVxyXG4gICAqIEBwYXJhbSB0eXBlOiBuZXcgdHlwZSAoZGVmYXVsdCA9ICdiYXInKVxyXG4gICAqIEBwYXJhbSBhY3Rpb24gOiBhY3Rpb24gdG8gZG8gZHVyaW5nIHRoZSBleGVjdXRpb24gKG9wdGlvbmFsKVxyXG4gICAqIEByZXR1cm5zIHRydWUgaWYgYSBuZXcgcG9wdXAgaGFzIGJlZW4gb3BlbmVkXHJcbiAgICovXHJcbiAgc2V0QnVzeShcclxuICAgIG1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHByb2dyZXNzOiBudW1iZXIgPSAtMSxcclxuICAgIHByb2dyZXNzTW9kZTogJ2RldGVybWluYXRlJyB8ICdpbmRldGVybWluYXRlJyA9ICdpbmRldGVybWluYXRlJyxcclxuICAgIHR5cGU6ICdiYXInIHwgJ3NwaW5uZXInIHwgJ3dhaXQnID0gJ2JhcicsXHJcbiAgICBhY3Rpb246IE9ic2VydmFibGU8T2JqZWN0PiB8IG51bGwgPSBudWxsXHJcbiAgKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBleGlzdHMgPSB0aGlzLmJ1c3lEaWFsb2dSZWY/Lmhhc0F0dGFjaGVkKCk7XHJcbiAgICBpZiAoZXhpc3RzKSB7XHJcbiAgICAgIHRoaXMuYnVzeUNvbXBvbmVudFJlZi5pbnN0YW5jZS5zZXQobWVzc2FnZSwgcHJvZ3Jlc3MsIHByb2dyZXNzTW9kZSwgdHlwZSk7IC8vIFVzZSB0aGUgc2FtZSAgICAgIFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gT3BlbiBuZXdcclxuICAgICAgaWYgKCF0aGlzLmJ1c3lEaWFsb2dSZWYpIHtcclxuICAgICAgICB0aGlzLmJ1c3lEaWFsb2dSZWYgPSB0aGlzLmNyZWF0ZUJ1c3koKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmJ1c3lDb21wb25lbnRSZWYgPSB0aGlzLmJ1c3lEaWFsb2dSZWYuYXR0YWNoKG5ldyBDb21wb25lbnRQb3J0YWwoQnVzeURpYWxvZ0NvbXBvbmVudCkpO1xyXG4gICAgICB0aGlzLmJ1c3lDb21wb25lbnRSZWYuaW5zdGFuY2Uuc2V0KG1lc3NhZ2UsIHByb2dyZXNzLCBwcm9ncmVzc01vZGUsIHR5cGUpO1xyXG4gICAgICBpZiAoYWN0aW9uKSB7XHJcbiAgICAgICAgYWN0aW9uXHJcbiAgICAgICAgICAucGlwZShmaXJzdCgpKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2xlYXJCdXN5KCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuICFleGlzdHM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaXNwbGF5IGEgYnVzeSBkaWFsb2dcclxuICAgKiBAcGFyYW0gbWVzc2FnZSA6IG5ldyBtZXNzYWdlXHJcbiAgICogQHBhcmFtIHByb2dyZXNzIDogbmV3IHByb2dyZXNzXHJcbiAgICogQHBhcmFtIHByb2dyZXNzTW9kZSA6IG5ldyBtb2RlIChkZWZhdWx0ID0gJ2luZGV0ZXJtaW5hdGUnKVxyXG4gICAqIEBwYXJhbSBhY3Rpb24gOiBhY3Rpb24gdG8gZG8gZHVyaW5nIHRoZSBleGVjdXRpb24gKG9wdGlvbmFsKVxyXG4gICAqIEByZXR1cm5zIHRydWUgaWYgYSBuZXcgcG9wdXAgaGFzIGJlZW4gb3BlbmVkXHJcbiAgICovXHJcbiAgYnVzeShtZXNzYWdlOiBzdHJpbmcsXHJcbiAgICBwcm9ncmVzczogbnVtYmVyID0gLTEsXHJcbiAgICBwcm9ncmVzc01vZGU6ICdkZXRlcm1pbmF0ZScgfCAnaW5kZXRlcm1pbmF0ZScgPSAnaW5kZXRlcm1pbmF0ZScsXHJcbiAgICBhY3Rpb246IE9ic2VydmFibGU8T2JqZWN0PiB8IG51bGwgPSBudWxsKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXRCdXN5KG1lc3NhZ2UsIHByb2dyZXNzLCBwcm9ncmVzc01vZGUsICdiYXInLCBhY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAqIERpc3BsYXkgYSBidXN5IHNwaW5uZXIgZGlhbG9nXHJcbiAqIEBwYXJhbSBtZXNzYWdlIDogbmV3IG1lc3NhZ2VcclxuICogQHBhcmFtIHByb2dyZXNzIDogbmV3IHByb2dyZXNzXHJcbiAqIEBwYXJhbSBwcm9ncmVzc01vZGUgOiBuZXcgbW9kZSAoZGVmYXVsdCA9ICdpbmRldGVybWluYXRlJylcclxuICogQHBhcmFtIGFjdGlvbiA6IGFjdGlvbiB0byBkbyBkdXJpbmcgdGhlIGV4ZWN1dGlvbiAob3B0aW9uYWwpXHJcbiAqIEByZXR1cm5zIHRydWUgaWYgYSBuZXcgcG9wdXAgaGFzIGJlZW4gb3BlbmVkXHJcbiAqL1xyXG4gIGJ1c3lTcGlubmVyKG1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHByb2dyZXNzOiBudW1iZXIgPSAtMSxcclxuICAgIHByb2dyZXNzTW9kZTogJ2RldGVybWluYXRlJyB8ICdpbmRldGVybWluYXRlJyA9ICdpbmRldGVybWluYXRlJyxcclxuICAgIGFjdGlvbjogT2JzZXJ2YWJsZTxPYmplY3Q+IHwgbnVsbCA9IG51bGwpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNldEJ1c3kobWVzc2FnZSwgcHJvZ3Jlc3MsIHByb2dyZXNzTW9kZSwgJ3NwaW5uZXInLCBhY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgKiBEaXNwbGF5IGEgd2FpdCBzcGlubmVyIFxyXG4gICogQHBhcmFtIGFjdGlvbiA6IGFjdGlvbiB0byBkbyBkdXJpbmcgdGhlIGV4ZWN1dGlvbiAob3B0aW9uYWwpXHJcbiAgKiBAcmV0dXJucyB0cnVlIGlmIGEgbmV3IHBvcHVwIGhhcyBiZWVuIG9wZW5lZFxyXG4gICovXHJcbiAgd2FpdChcclxuICAgIGFjdGlvbjogT2JzZXJ2YWJsZTxPYmplY3Q+IHwgbnVsbCA9IG51bGwpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNldEJ1c3kobnVsbCwgbnVsbCwgbnVsbCwgJ3dhaXQnLCBhY3Rpb24pO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAqIERpc3BsYXkgYW4gaW5mb3JtYXRpb24gZGlhbG9nXHJcbiAgICogQHBhcmFtIG1lc3NhZ2UgOiBtZXNzYWdlXHJcbiAgICogQHBhcmFtIHRpdGxlIDogZGlhbG9nIHRpdGxlXHJcbiAgICogQHBhcmFtIG9rQ2FwdGlvbiA6IG9rIGJ1dHRvbiBjYXB0aW9uXHJcbiAgICogQHBhcmFtIHdpZHRoOiB0aGUgcHJlZmVycmVkIHdpZHRoXHJcbiAgICogQHBhcmFtIGRpc21pc3NBZnRlcjogaWYgc3BlY2lmaWVkLCB0aGUgZGlhbG9nIHdpbGwgYmUgY2xvc2VkIGFmdGVyIGRpc21pc3NBZnRlciBtaWxsaXNlY29uZHNcclxuICAgKiBAcGFyYW0gZGV0YWlsczogaWYgc3BlY2lmaWVkLCB0aGUgZGV0YWlscyBpbmZvXHJcbiAgICogQHBhcmFtIG9uTmF2aWdhdGU6IHRoZSBjYWxsYmFjayB0byB1c2UgZm9yIG5hdmlnYXRpb24uIERlZmF1bHQgaXMgbnVsbFxyXG4gICAqL1xyXG4gIGluZm8oXHJcbiAgICBtZXNzYWdlOiBzdHJpbmcsXHJcbiAgICB0aXRsZTogc3RyaW5nID0gJ0luZm9ybWF6aW9uaScsXHJcbiAgICBva0NhcHRpb246IHN0cmluZyA9ICdPaycsXHJcbiAgICB3aWR0aDogbnVtYmVyID0gNTAwLFxyXG4gICAgZGlzbWlzc0FmdGVyOiBudW1iZXIgfCBudWxsID0gbnVsbCxcclxuICAgIGRldGFpbHM6IHN0cmluZyB8IG51bGwgPSBudWxsLFxyXG4gICAgb25OYXZpZ2F0ZTogKHVybDogc3RyaW5nKSA9PiB2b2lkID0gbnVsbFxyXG4gICk6IE1hdERpYWxvZ1JlZjxJbmZvRGlhbG9nQ29tcG9uZW50PiB7XHJcbiAgICB0aGlzLmNsZWFyQnVzeSgpO1xyXG4gICAgcmV0dXJuIHRoaXMub3BlbihJbmZvRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgIGFyaWFMYWJlbDogJ2luZm9ybWF6aW9uaScsXHJcbiAgICAgIGF1dG9Gb2N1czogdHJ1ZSxcclxuICAgICAgcmVzdG9yZUZvY3VzOiBmYWxzZSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXHJcbiAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgIG9rQ2FwdGlvbjogb2tDYXB0aW9uLFxyXG4gICAgICAgIGRpc21pc3NBZnRlcjogZGlzbWlzc0FmdGVyLFxyXG4gICAgICAgIGRldGFpbHM6IGRldGFpbHMsXHJcbiAgICAgICAgb25OYXZpZ2F0ZTogb25OYXZpZ2F0ZSxcclxuICAgICAgICBhcHBlYXJhbmNlOiAnZmlsbCdcclxuICAgICAgfSBhcyBJbmZvRGlhbG9nRGF0YSxcclxuICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLFxyXG4gICAgICBtaW5XaWR0aDogJzM3NXB4JyxcclxuICAgICAgbWF4V2lkdGg6IHdpZHRoICsgJ3B4JyxcclxuICAgICAgd2lkdGg6ICcxMDAlJ1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaXNwbGF5IGFuIGVycm9yIGRpYWxvZ1xyXG4gICAqIEBwYXJhbSBtZXNzYWdlIDogbWVzc2FnZVxyXG4gICAqIEBwYXJhbSBsb2cgOiB0aGUgZXJyb3IgbG9nXHJcbiAgICogQHBhcmFtIHRpdGxlIDogZGlhbG9nIHRpdGxlXHJcbiAgICogQHBhcmFtIG9rQ2FwdGlvbiA6IG9rIGJ1dHRvbiBjYXB0aW9uXHJcbiAgICogQHBhcmFtIHdpZHRoOiB0aGUgcHJlZmVycmVkIHdpZHRoXHJcbiAgICogQHBhcmFtIGRpc21pc3NBZnRlcjogaWYgc3BlY2lmaWVkLCB0aGUgZGlhbG9nIHdpbGwgYmUgY2xvc2VkIGFmdGVyIGRpc21pc3NBZnRlciBtaWxsaXNlY29uZHMgICBcclxuICAgKi9cclxuICBlcnJvcihcclxuICAgIG1lc3NhZ2U6IHN0cmluZyxcclxuICAgIGxvZzogc3RyaW5nIHwgbnVsbCA9IG51bGwsXHJcbiAgICB0aXRsZTogc3RyaW5nID0gJ0Vycm9yZScsXHJcbiAgICBva0NhcHRpb246IHN0cmluZyA9ICdPaycsXHJcbiAgICB3aWR0aDogbnVtYmVyID0gNTAwLFxyXG4gICAgZGlzbWlzc0FmdGVyOiBudW1iZXIgfCBudWxsID0gbnVsbCxcclxuICApOiBNYXREaWFsb2dSZWY8SW5mb0RpYWxvZ0NvbXBvbmVudD4ge1xyXG4gICAgdGhpcy5jbGVhckJ1c3koKTtcclxuICAgIGlmICh0aGlzLmVycm9yRGlhbG9nUmVmKSB7XHJcbiAgICAgIC8vIEp1c3QgY2hhbmdlIGN1cnJlbnQgZXJyb3JcclxuICAgICAgdGhpcy5lcnJvckRpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZS5zZXREYXRhKHtcclxuICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLFxyXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICBkZXRhaWxzOiBsb2csXHJcbiAgICAgICAgb2tDYXB0aW9uOiBva0NhcHRpb24sXHJcbiAgICAgICAgZGlzbWlzc0FmdGVyOiBkaXNtaXNzQWZ0ZXJcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiB0aGlzLmVycm9yRGlhbG9nUmVmO1xyXG4gICAgfVxyXG4gICAgdGhpcy5lcnJvckRpYWxvZ1JlZiA9IHRoaXMub3BlbihJbmZvRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgIGFyaWFMYWJlbDogJ2Vycm9yZScsXHJcbiAgICAgIGF1dG9Gb2N1czogdHJ1ZSxcclxuICAgICAgcmVzdG9yZUZvY3VzOiBmYWxzZSxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXHJcbiAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgIGRldGFpbHM6IGxvZyxcclxuICAgICAgICBva0NhcHRpb246IG9rQ2FwdGlvbixcclxuICAgICAgICBkaXNtaXNzQWZ0ZXI6IGRpc21pc3NBZnRlcixcclxuICAgICAgICBhcHBlYXJhbmNlOiAnZmlsbCdcclxuICAgICAgfSBhcyBJbmZvRGlhbG9nRGF0YSxcclxuICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLFxyXG4gICAgICBtaW5XaWR0aDogJzM3NXB4JyxcclxuICAgICAgbWF4V2lkdGg6IHdpZHRoICsgJ3B4JyxcclxuICAgICAgd2lkdGg6ICcxMDAlJ1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gdGhpcy5lcnJvckRpYWxvZ1JlZjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpc3BsYXkgdG9hc3RcclxuICAgKiBAcGFyYW0gbWVzc2FnZSA6IG1lc3NhZ2UgdG8gZGlzcGxheVxyXG4gICAqIEBwYXJhbSBkdXJhdGlvbiA6IGR1cmF0aW9uIGluIG1zZWNcclxuICAgKiBAcGFyYW0gaWNvbiA6IHRoZSBtYXQtaWNvbiB0byBkaXNwbGF5XHJcbiAgICogQHBhcmFtIGFjdGlvbkNhcHRpb24gYWN0aW9uIGJ1dHRvbiBjYXB0aW9uXHJcbiAgICovXHJcbiAgdG9hc3QoXHJcbiAgICBtZXNzYWdlOiBzdHJpbmcsXHJcbiAgICBkdXJhdGlvbjogbnVtYmVyID0gMjAwMCxcclxuICAgIGljb246IHN0cmluZyA9ICdjaGVjaycsXHJcbiAgICBhY3Rpb25DYXB0aW9uOiBzdHJpbmcgfCBudWxsID0gbnVsbFxyXG4gICk6IE1hdFNuYWNrQmFyUmVmPFRvYXN0Q29tcG9uZW50PiB7XHJcbiAgICB0aGlzLmNsZWFyQnVzeSgpO1xyXG4gICAgaWYgKGR1cmF0aW9uID09PSAtMSkgZHVyYXRpb24gPSAyMDAwOyAvLyBkZWZhdWx0XHJcbiAgICBsZXQgdG9hc3RSZWYgPSB0aGlzLnNuYWNrQmFyLm9wZW5Gcm9tQ29tcG9uZW50KFRvYXN0Q29tcG9uZW50LCB7XHJcbiAgICAgIGR1cmF0aW9uOiBkdXJhdGlvbixcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIG1lc3NhZ2U6IG1lc3NhZ2UsXHJcbiAgICAgICAgaWNvbjogaWNvbixcclxuICAgICAgICBhY3Rpb25DYXB0aW9uOiBhY3Rpb25DYXB0aW9uXHJcbiAgICAgIH0gYXMgVG9hc3REYXRhXHJcbiAgICB9KTtcclxuICAgIHRvYXN0UmVmLmluc3RhbmNlLmFjdGlvbi5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0b2FzdFJlZi5kaXNtaXNzKCk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiB0b2FzdFJlZjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpc3BsYXkgYSBjb25maXJtIGRpYWxvZ1xyXG4gICAqIEBwYXJhbSBtZXNzYWdlIDogaHRtbCBtZXNzYWdlXHJcbiAgICogQHBhcmFtIHRpdGxlIDogZGlhbG9nIHRpdGxlXHJcbiAgICogQHBhcmFtIG9rQ2FwdGlvbiA6IG9rIGJ1dHRvbiBjYXB0aW9uXHJcbiAgICogQHBhcmFtIGNhbmNlbENhcHRpb24gOiBjYW5jZWwgYnV0dG9uIGNhcHRpb25cclxuICAgKiBAcGFyYW0gb3RoZXJDYXB0aW9uIDogb3RoZXIgYnV0dG9uIGNhcHRpb25cclxuICAgKiBAcGFyYW0gb3B0aW9uczogY2hlY2sgYm94IG9wdGlvbnNcclxuICAgKiBAcGFyYW0gd2lkdGg6IHRoZSBwcmVmZXJyZWQgd2lkdGhcclxuICAgKi9cclxuICBjb25maXJtKFxyXG4gICAgbWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdGl0bGU6IHN0cmluZyA9ICdDb25mZXJtYScsXHJcbiAgICBva0NhcHRpb246IHN0cmluZyA9ICdTaScsXHJcbiAgICBjYW5jZWxDYXB0aW9uOiBzdHJpbmcgPSAnTm8nLFxyXG4gICAgb3RoZXJDYXB0aW9uOiBzdHJpbmcgfCBudWxsID0gbnVsbCxcclxuICAgIG9wdGlvbnM6IENvbmZpcm1EaWFsb2dPcHRpb25bXSB8IG51bGwgPSBudWxsLFxyXG4gICAgd2lkdGg6IG51bWJlciA9IDUwMCxcclxuICAgIGRldGFpbHM6IHN0cmluZyB8IG51bGwgPSBudWxsXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gdGhpcy5vcGVuKENvbmZpcm1EaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgYXJpYUxhYmVsOiAnY29uZmVybWEnLFxyXG4gICAgICBhdXRvRm9jdXM6IHRydWUsXHJcbiAgICAgIHJlc3RvcmVGb2N1czogZmFsc2UsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLFxyXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICBva0NhcHRpb246IG9rQ2FwdGlvbixcclxuICAgICAgICBjYW5jZWxDYXB0aW9uOiBjYW5jZWxDYXB0aW9uLFxyXG4gICAgICAgIG90aGVyQ2FwdGlvbjogb3RoZXJDYXB0aW9uLFxyXG4gICAgICAgIG9wdGlvbnM6IG9wdGlvbnMsXHJcbiAgICAgICAgZGV0YWlsczogZGV0YWlscyxcclxuICAgICAgICBhcHBlYXJhbmNlOiAnZmlsbCdcclxuICAgICAgfSBhcyBDb25maXJtRGlhbG9nRGF0YSxcclxuICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLFxyXG4gICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgIG1pbldpZHRoOiAnMzc1cHgnLFxyXG4gICAgICBtYXhXaWR0aDogd2lkdGggKyAncHgnLFxyXG4gICAgICB3aWR0aDogJzEwMCUnXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59XHJcblxyXG4iXX0=
408
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvdWkvdWkvc2VydmljZXMvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQWdCLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFrQixNQUFNLDZCQUE2QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkMsT0FBTyxFQUNMLG1CQUFtQixFQUNwQixNQUFNLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sRUFDTCxzQkFBc0IsRUFHdkIsTUFBTSw2Q0FBNkMsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsbUJBQW1CLEVBRXBCLE1BQU0sdUNBQXVDLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBYSxNQUFNLGtDQUFrQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBT3pDLE1BQU0sT0FBTyxhQUFjLFNBQVEsU0FBUztJQWExQztRQUNFLEtBQUssRUFBRSxDQUFDO1FBWkYsV0FBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzQixZQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFCLGFBQVEsR0FBRyxNQUFN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c0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IFBsYXRmb3JtTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnRSZWYsIGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyLCBNYXRTbmFja0JhclJlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XHJcbmltcG9ydCB7IFN5c3RlbVV0aWxzIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHtcclxuICBCdXN5RGlhbG9nQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vZGlhbG9ncy9idXN5L2J1c3ktZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgQ29uZmlybURpYWxvZ0NvbXBvbmVudCxcclxuICBDb25maXJtRGlhbG9nRGF0YSxcclxuICBDb25maXJtRGlhbG9nT3B0aW9uXHJcbn0gZnJvbSAnLi4vZGlhbG9ncy9jb25maXJtL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgSW5mb0RpYWxvZ0NvbXBvbmVudCxcclxuICBJbmZvRGlhbG9nRGF0YVxyXG59IGZyb20gJy4uL2RpYWxvZ3MvaW5mby9pbmZvLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUb2FzdENvbXBvbmVudCwgVG9hc3REYXRhIH0gZnJvbSAnLi4vZGlhbG9ncy90b2FzdC90b2FzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVSVNlcnZpY2UgfSBmcm9tICcuL3VpLnNlcnZpY2UnO1xyXG5cclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEaWFsb2dTZXJ2aWNlIGV4dGVuZHMgVUlTZXJ2aWNlIHtcclxuXHJcbiAgcHJpdmF0ZSBkaWFsb2cgPSBpbmplY3QoTWF0RGlhbG9nKTtcclxuICBwcml2YXRlIG92ZXJsYXkgPSBpbmplY3QoT3ZlcmxheSk7XHJcbiAgcHJpdmF0ZSBzbmFja0JhciA9IGluamVjdChNYXRTbmFja0Jhcik7XHJcbiAgcHJpdmF0ZSBsb2NhdGlvbiA9IGluamVjdChQbGF0Zm9ybUxvY2F0aW9uKTtcclxuICBwcml2YXRlIGJ1c3lEaWFsb2dSZWY6IE92ZXJsYXlSZWY7XHJcbiAgcHJpdmF0ZSBidXN5Q29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8QnVzeURpYWxvZ0NvbXBvbmVudD47XHJcbiAgcHJpdmF0ZSBlcnJvckRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEluZm9EaWFsb2dDb21wb25lbnQ+O1xyXG4gIHByaXZhdGUgcG9wSGlzdG9yeTogYW55ID0gW107XHJcbiAgcHJpdmF0ZSBwb3BTdGF0ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgcHJpdmF0ZSBwb3BwaW5nU3RhdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG5cclxuICAgIC8vIEhhbmRsZSBkaWFsb2cgY2xvc2Ugd2hlbiBiYWNrIGJ1dHRvbiBpcyBjbGlja2VkXHJcbiAgICB0aGlzLmxvY2F0aW9uLm9uUG9wU3RhdGUoKCkgPT4ge1xyXG4gICAgICBpZiAoIXRoaXMucG9wcGluZ1N0YXRlKSB7XHJcbiAgICAgICAgY29uc3QgY291bnQgPSB0aGlzLmRpYWxvZy5vcGVuRGlhbG9ncy5sZW5ndGg7XHJcbiAgICAgICAgaWYgKGNvdW50ID4gMCkge1xyXG4gICAgICAgICAgLy8gRGlzYWJsZSBwb3Agc2F0ZSBpZiBjYXNlXHJcbiAgICAgICAgICB0aGlzLnBvcFN0YXRlID0gZmFsc2U7XHJcbiAgICAgICAgICAvLyBDbG9zZSBkaWFsb2dcclxuICAgICAgICAgIHRoaXMuZGlhbG9nLm9wZW5EaWFsb2dzW2NvdW50IC0gMV0uY2xvc2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB0aGlzLnBvcHBpbmdTdGF0ZSA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhciB1cmwgZnJvbSAjIGluIGNhc2Ugb2YgcGFnZSByZWxvYWRcclxuICAgKiBAcGFyYW0gcmVzZXRQb3BwaW5nU3RhdGU6IHRydWUgaWYgcG9wcGluZyBzdGF0ZSBzaG91bGQgYmUgc2V0IHRvIGZhbHNlXHJcbiAgICovXHJcbiAgY2xlYXJVcmwocmVzZXRQb3BwaW5nU3RhdGU6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xyXG4gICAgY29uc3QgdXJsID0gbG9jYXRpb24uaHJlZjtcclxuICAgIGxldCBsID0gdXJsLmxlbmd0aDtcclxuICAgIHdoaWxlIChsID49IDAgJiYgdXJsW2wgLSAxXSA9PT0gJyMnKSBsLS07XHJcbiAgICBpZiAobCA8IHVybC5sZW5ndGgpXHJcbiAgICAgIGhpc3RvcnkucmVwbGFjZVN0YXRlKHt9LCAnJywgdXJsLnN1YnN0cmluZygwLCBsKSk7XHJcbiAgICBpZiAocmVzZXRQb3BwaW5nU3RhdGUpXHJcbiAgICAgIHRoaXMucG9wcGluZ1N0YXRlID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbG9zZSBhbGwgZGlhbG9nc1xyXG4gICAqL1xyXG4gIGNsb3NlQWxsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2cub3BlbkRpYWxvZ3MuZm9yRWFjaChuID0+IHtcclxuICAgICAgbi5jbG9zZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLyoqXHJcbiAgICogT3BlbiBhIGRpYWxvZ1xyXG4gICAqIEBwYXJhbSBjb21wb25lbnQgOiB0aGUgY29tcG9uZW50XHJcbiAgICogQHBhcmFtIGNvbmZpZyA6IHRoZSBjb25maWdcclxuICAgKiBAcmV0dXJuczogdGhlIGRpYWxvZyBvYmplY3RcclxuICAgKi9cclxuICBvcGVuKGNvbXBvbmVudDogYW55LCBjb25maWc6IGFueSk6IE1hdERpYWxvZ1JlZjxhbnk+IHtcclxuICAgIGlmICghU3lzdGVtVXRpbHMuaXNCcm93c2VyKCkpIHJldHVybiBudWxsO1xyXG4gICAgdGhpcy5jbGVhckJ1c3koKTtcclxuICAgIHJldHVybiB0aGlzLm9wZW5EaWFsb2coY29tcG9uZW50LCBjb25maWcpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gKiBPcGVuIGEgZGlhbG9nXHJcbiAqIEBwYXJhbSBjb21wb25lbnQgOiB0aGUgY29tcG9uZW50XHJcbiAqIEBwYXJhbSBjb25maWcgOiB0aGUgY29uZmlnXHJcbiAqIEByZXR1cm5zIDogdGhlIGRpYWxvZyBvYmplY3RcclxuICovXHJcbiAgcHJpdmF0ZSBvcGVuRGlhbG9nKGNvbXBvbmVudDogYW55LCBjb25maWc6IGFueSk6IE1hdERpYWxvZ1JlZjxhbnk+IHtcclxuICAgIC8vIFdlIHdpbGwgdGFrZSBjYXJlIG9mIG5hdmlnYXRpb25cclxuICAgIGNvbmZpZy5jbG9zZU9uTmF2aWdhdGlvbiA9IGZhbHNlO1xyXG4gICAgbGV0IGQgPSB0aGlzLmRpYWxvZy5vcGVuKGNvbXBvbmVudCwgY29uZmlnKTtcclxuICAgIGQuYWZ0ZXJPcGVuZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnB1c2hEaWFsb2coZC5pZCk7XHJcbiAgICB9KTtcclxuICAgIGQuYmVmb3JlQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5wb3BEaWFsb2coZC5pZCk7XHJcbiAgICB9KTtcclxuICAgIGQuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAvLyBGaW5hbCBjbGVhbnVwIG9mIG1pZGRsZSBvYmplY3RzXHJcbiAgICAgIHRoaXMuZXJyb3JEaWFsb2dSZWYgPSBudWxsO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIGVsZW1lbnQgaGVpZ2h0IGluY2x1ZGluZyBtYXJnaW5zXHJcbiAgICogQHBhcmFtIGVsZW1lbnQgLSBlbGVtZW50XHJcbiAgICogQHJldHVybnMgdGhlIGhlaWdodFxyXG4gICAqL1xyXG4gIHByaXZhdGUgb3V0ZXJIZWlnaHQoZWxlbWVudDogYW55KTogbnVtYmVyIHtcclxuICAgIGlmICghU3lzdGVtVXRpbHMuaXNCcm93c2VyKCkpIHJldHVybiAwO1xyXG4gICAgY29uc3QgaGVpZ2h0ID0gZWxlbWVudC5vZmZzZXRIZWlnaHQsXHJcbiAgICAgIHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XHJcbiAgICBsZXQgaCA9IFsndG9wJywgJ2JvdHRvbSddXHJcbiAgICAgIC5tYXAoc2lkZSA9PiBwYXJzZUludChzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdtYXJnaW4tJyArIHNpZGUpKSlcclxuICAgICAgLnJlZHVjZSgodG90YWwsIHNpZGUpID0+IHRvdGFsICsgc2lkZSwgaGVpZ2h0KTtcclxuICAgIHJldHVybiBoO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJuIGN1cnJlbnQgZGlhbG9nIGhlaWdodFxyXG4gICAqL1xyXG4gIGdldEN1cnJlbnREaWFsb2dIZWlnaHQoKTogbnVtYmVyIHtcclxuICAgIGlmICghU3lzdGVtVXRpbHMuaXNCcm93c2VyKCkpIHJldHVybiAwO1xyXG4gICAgY29uc3QgY291bnQgPSB0aGlzLnBvcEhpc3RvcnkubGVuZ3RoO1xyXG4gICAgaWYgKGNvdW50ID4gMCkge1xyXG4gICAgICBsZXQgaWQgPSB0aGlzLnBvcEhpc3RvcnlbY291bnQgLSAxXS5pZDtcclxuICAgICAgbGV0IGVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCk7XHJcbiAgICAgIGlmIChlbGVtICYmIGVsZW0uY2xpZW50SGVpZ2h0ID4gMCkgcmV0dXJuIGVsZW0uY2xpZW50SGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIDA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm4gY3VycmVudCBkaWFsb2cgc2Nyb2xsYWJsZSBoZWlnaHRcclxuICAgKi9cclxuICBnZXRDdXJyZW50RGlhbG9nU2Nyb2xsYWJsZUhlaWdodChcclxuICAgIGZpeGVkUGFydHNDbGFzc05hbWU6IHN0cmluZ1tdLFxyXG4gICAgbWluaW1hbEhlaWdodDogbnVtYmVyXHJcbiAgKTogbnVtYmVyIHtcclxuICAgIGlmICghU3lzdGVtVXRpbHMuaXNCcm93c2VyKCkpIHJldHVybiAwO1xyXG4gICAgbGV0IGggPSB0aGlzLmdldEN1cnJlbnREaWFsb2dIZWlnaHQoKTtcclxuICAgIGlmIChoIDwgbWluaW1hbEhlaWdodCkge1xyXG4gICAgICBoID0gbWluaW1hbEhlaWdodDtcclxuICAgIH1cclxuICAgIGlmIChmaXhlZFBhcnRzQ2xhc3NOYW1lKSB7XHJcbiAgICAgIGZpeGVkUGFydHNDbGFzc05hbWUuZm9yRWFjaChuID0+IHtcclxuICAgICAgICBjb25zdCBlbGVtcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUobik7XHJcbiAgICAgICAgaWYgKGVsZW1zKSB7XHJcbiAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVsZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGggLT0gdGhpcy5vdXRlckhlaWdodChlbGVtc1tpXSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBoO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUHVzaCBhIGRpYWxvZyBpbmZvIHRoZSBoaXN0b3J5XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBwdXNoRGlhbG9nKGlkOiBzdHJpbmcpIHtcclxuICAgIGlmICghU3lzdGVtVXRpbHMuaXNCcm93c2VyKCkpIHJldHVybjtcclxuICAgIGxldCBpbmRleCA9IGhpc3RvcnkubGVuZ3RoO1xyXG4gICAgaGlzdG9yeS5wdXNoU3RhdGUoeyBpbmRleDogaW5kZXggfSwgbnVsbCwgbG9jYXRpb24uaHJlZiArICcjJyk7XHJcbiAgICB0aGlzLnBvcEhpc3RvcnkucHVzaCh7IGlkOiBpZCwgdmFsdWU6IGluZGV4IH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUG9wIGEgZGlhbG9nIGZyb20gdGhlIGhpc3RvcnlcclxuICAgKi9cclxuICBwcml2YXRlIHBvcERpYWxvZyhpZDogc3RyaW5nIHwgbnVsbCA9IG51bGwpIHtcclxuICAgIGlmICghU3lzdGVtVXRpbHMuaXNCcm93c2VyKCkpIHJldHVybjtcclxuICAgIGlmICh0aGlzLnBvcFN0YXRlKSB7XHJcbiAgICAgIHRoaXMucG9wcGluZ1N0YXRlID0gdHJ1ZTtcclxuICAgICAgbGV0IHBvcHBlZCA9IDE7XHJcbiAgICAgIGlmIChpZCkge1xyXG4gICAgICAgIGNvbnN0IHAgPSB0aGlzLnBvcEhpc3RvcnkuZmluZEluZGV4KChuOiBhbnkpID0+IG4uaWQgPT09IGlkKTtcclxuICAgICAgICBpZiAocCAhPSAtMSkge1xyXG4gICAgICAgICAgcG9wcGVkID0gdGhpcy5wb3BIaXN0b3J5W3BdLnZhbHVlIC0gaGlzdG9yeS5zdGF0ZS5pbmRleDtcclxuICAgICAgICAgIGlmIChwb3BwZWQpIHBvcHBlZCsrO1xyXG4gICAgICAgICAgZWxzZSBwb3BwZWQgPSAxO1xyXG4gICAgICAgICAgdGhpcy5wb3BIaXN0b3J5LnNwbGljZShwLCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdXJsID0gbG9jYXRpb24uaHJlZjtcclxuICAgICAgICBsZXQgbCA9IHVybC5sZW5ndGg7XHJcbiAgICAgICAgd2hpbGUgKGwgPj0gMCAmJiB1cmxbbCAtIDFdID09PSAnIycgJiYgcG9wcGVkID4gMCkge1xyXG4gICAgICAgICAgbC0tO1xyXG4gICAgICAgICAgcG9wcGVkLS07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChsIDwgdXJsLmxlbmd0aClcclxuICAgICAgICAgIGhpc3RvcnkucmVwbGFjZVN0YXRlKHt9LCAnJywgdXJsLnN1YnN0cmluZygwLCBsKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMucG9wU3RhdGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIHRoZSBidXN5IG92ZXJsYXlcclxuICAgKiBAcGFyYW0gdHlwZTogdGhlIHR5cGUgb2Ygc3Bpbm5lciB0byBjcmVhdGVcclxuICAgKiBAcmV0dXJuczogdGhlIG5ldyBvdmVybGF5XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVCdXN5KCk6IE92ZXJsYXlSZWYge1xyXG4gICAgcmV0dXJuIHRoaXMub3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgYmFja2Ryb3BDbGFzczogJ2J1c3ktYmFja2Ryb3AnLFxyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkucG9zaXRpb24oKVxyXG4gICAgICAgIC5nbG9iYWwoKVxyXG4gICAgICAgIC5jZW50ZXJIb3Jpem9udGFsbHkoKVxyXG4gICAgICAgIC5jZW50ZXJWZXJ0aWNhbGx5KClcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYXIgYnVzeSBkaWFsb2dcclxuICAgKi9cclxuICBjbGVhckJ1c3koKSB7XHJcbiAgICB0aGlzLmJ1c3lDb21wb25lbnRSZWY/LmRlc3Ryb3koKTtcclxuICAgIHRoaXMuYnVzeURpYWxvZ1JlZj8uZGV0YWNoKCk7XHJcblxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIGJ1c3kgZGlhbG9nXHJcbiAgICogQHBhcmFtIG1lc3NhZ2UgOiBuZXcgbWVzc2FnZVxyXG4gICAqIEBwYXJhbSBwcm9ncmVzcyA6IG5ldyBwcm9ncmVzc1xyXG4gICAqIEBwYXJhbSBwcm9ncmVzc01vZGUgOiBuZXcgbW9kZSAoZGVmYXVsdCA9ICdpbmRldGVybWluYXRlJylcclxuICAgKiBAcGFyYW0gdHlwZTogbmV3IHR5cGUgKGRlZmF1bHQgPSAnYmFyJylcclxuICAgKiBAcGFyYW0gYWN0aW9uIDogYWN0aW9uIHRvIGRvIGR1cmluZyB0aGUgZXhlY3V0aW9uIChvcHRpb25hbClcclxuICAgKiBAcmV0dXJucyB0cnVlIGlmIGEgbmV3IHBvcHVwIGhhcyBiZWVuIG9wZW5lZFxyXG4gICAqL1xyXG4gIHNldEJ1c3koXHJcbiAgICBtZXNzYWdlOiBzdHJpbmcsXHJcbiAgICBwcm9ncmVzczogbnVtYmVyID0gLTEsXHJcbiAgICBwcm9ncmVzc01vZGU6ICdkZXRlcm1pbmF0ZScgfCAnaW5kZXRlcm1pbmF0ZScgPSAnaW5kZXRlcm1pbmF0ZScsXHJcbiAgICB0eXBlOiAnYmFyJyB8ICdzcGlubmVyJyB8ICd3YWl0JyA9ICdiYXInLFxyXG4gICAgYWN0aW9uOiBPYnNlcnZhYmxlPE9iamVjdD4gfCBudWxsID0gbnVsbFxyXG4gICk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgZXhpc3RzID0gdGhpcy5idXN5RGlhbG9nUmVmPy5oYXNBdHRhY2hlZCgpO1xyXG4gICAgaWYgKGV4aXN0cykge1xyXG4gICAgICB0aGlzLmJ1c3lDb21wb25lbnRSZWYuaW5zdGFuY2Uuc2V0KG1lc3NhZ2UsIHByb2dyZXNzLCBwcm9ncmVzc01vZGUsIHR5cGUpOyAvLyBVc2UgdGhlIHNhbWUgICAgICBcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIC8vIE9wZW4gbmV3XHJcbiAgICAgIGlmICghdGhpcy5idXN5RGlhbG9nUmVmKSB7XHJcbiAgICAgICAgdGhpcy5idXN5RGlhbG9nUmVmID0gdGhpcy5jcmVhdGVCdXN5KCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5idXN5Q29tcG9uZW50UmVmID0gdGhpcy5idXN5RGlhbG9nUmVmLmF0dGFjaChuZXcgQ29tcG9uZW50UG9ydGFsKEJ1c3lEaWFsb2dDb21wb25lbnQpKTtcclxuICAgICAgdGhpcy5idXN5Q29tcG9uZW50UmVmLmluc3RhbmNlLnNldChtZXNzYWdlLCBwcm9ncmVzcywgcHJvZ3Jlc3NNb2RlLCB0eXBlKTtcclxuICAgICAgaWYgKGFjdGlvbikge1xyXG4gICAgICAgIGFjdGlvblxyXG4gICAgICAgICAgLnBpcGUoZmlyc3QoKSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmNsZWFyQnVzeSgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiAhZXhpc3RzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlzcGxheSBhIGJ1c3kgZGlhbG9nXHJcbiAgICogQHBhcmFtIG1lc3NhZ2UgOiBuZXcgbWVzc2FnZVxyXG4gICAqIEBwYXJhbSBwcm9ncmVzcyA6IG5ldyBwcm9ncmVzc1xyXG4gICAqIEBwYXJhbSBwcm9ncmVzc01vZGUgOiBuZXcgbW9kZSAoZGVmYXVsdCA9ICdpbmRldGVybWluYXRlJylcclxuICAgKiBAcGFyYW0gYWN0aW9uIDogYWN0aW9uIHRvIGRvIGR1cmluZyB0aGUgZXhlY3V0aW9uIChvcHRpb25hbClcclxuICAgKiBAcmV0dXJucyB0cnVlIGlmIGEgbmV3IHBvcHVwIGhhcyBiZWVuIG9wZW5lZFxyXG4gICAqL1xyXG4gIGJ1c3kobWVzc2FnZTogc3RyaW5nLFxyXG4gICAgcHJvZ3Jlc3M6IG51bWJlciA9IC0xLFxyXG4gICAgcHJvZ3Jlc3NNb2RlOiAnZGV0ZXJtaW5hdGUnIHwgJ2luZGV0ZXJtaW5hdGUnID0gJ2luZGV0ZXJtaW5hdGUnLFxyXG4gICAgYWN0aW9uOiBPYnNlcnZhYmxlPE9iamVjdD4gfCBudWxsID0gbnVsbCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2V0QnVzeShtZXNzYWdlLCBwcm9ncmVzcywgcHJvZ3Jlc3NNb2RlLCAnYmFyJywgYWN0aW9uKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBEaXNwbGF5IGEgYnVzeSBzcGlubmVyIGRpYWxvZ1xyXG4gKiBAcGFyYW0gbWVzc2FnZSA6IG5ldyBtZXNzYWdlXHJcbiAqIEBwYXJhbSBwcm9ncmVzcyA6IG5ldyBwcm9ncmVzc1xyXG4gKiBAcGFyYW0gcHJvZ3Jlc3NNb2RlIDogbmV3IG1vZGUgKGRlZmF1bHQgPSAnaW5kZXRlcm1pbmF0ZScpXHJcbiAqIEBwYXJhbSBhY3Rpb24gOiBhY3Rpb24gdG8gZG8gZHVyaW5nIHRoZSBleGVjdXRpb24gKG9wdGlvbmFsKVxyXG4gKiBAcmV0dXJucyB0cnVlIGlmIGEgbmV3IHBvcHVwIGhhcyBiZWVuIG9wZW5lZFxyXG4gKi9cclxuICBidXN5U3Bpbm5lcihtZXNzYWdlOiBzdHJpbmcsXHJcbiAgICBwcm9ncmVzczogbnVtYmVyID0gLTEsXHJcbiAgICBwcm9ncmVzc01vZGU6ICdkZXRlcm1pbmF0ZScgfCAnaW5kZXRlcm1pbmF0ZScgPSAnaW5kZXRlcm1pbmF0ZScsXHJcbiAgICBhY3Rpb246IE9ic2VydmFibGU8T2JqZWN0PiB8IG51bGwgPSBudWxsKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXRCdXN5KG1lc3NhZ2UsIHByb2dyZXNzLCBwcm9ncmVzc01vZGUsICdzcGlubmVyJywgYWN0aW9uKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICogRGlzcGxheSBhIHdhaXQgc3Bpbm5lciBcclxuICAqIEBwYXJhbSBhY3Rpb24gOiBhY3Rpb24gdG8gZG8gZHVyaW5nIHRoZSBleGVjdXRpb24gKG9wdGlvbmFsKVxyXG4gICogQHJldHVybnMgdHJ1ZSBpZiBhIG5ldyBwb3B1cCBoYXMgYmVlbiBvcGVuZWRcclxuICAqL1xyXG4gIHdhaXQoXHJcbiAgICBhY3Rpb246IE9ic2VydmFibGU8T2JqZWN0PiB8IG51bGwgPSBudWxsKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXRCdXN5KG51bGwsIG51bGwsIG51bGwsICd3YWl0JywgYWN0aW9uKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBEaXNwbGF5IGFuIGluZm9ybWF0aW9uIGRpYWxvZ1xyXG4gICAqIEBwYXJhbSBtZXNzYWdlIDogbWVzc2FnZVxyXG4gICAqIEBwYXJhbSB0aXRsZSA6IGRpYWxvZyB0aXRsZVxyXG4gICAqIEBwYXJhbSBva0NhcHRpb24gOiBvayBidXR0b24gY2FwdGlvblxyXG4gICAqIEBwYXJhbSB3aWR0aDogdGhlIHByZWZlcnJlZCB3aWR0aFxyXG4gICAqIEBwYXJhbSBkaXNtaXNzQWZ0ZXI6IGlmIHNwZWNpZmllZCwgdGhlIGRpYWxvZyB3aWxsIGJlIGNsb3NlZCBhZnRlciBkaXNtaXNzQWZ0ZXIgbWlsbGlzZWNvbmRzXHJcbiAgICogQHBhcmFtIGRldGFpbHM6IGlmIHNwZWNpZmllZCwgdGhlIGRldGFpbHMgaW5mb1xyXG4gICAqIEBwYXJhbSBvbk5hdmlnYXRlOiB0aGUgY2FsbGJhY2sgdG8gdXNlIGZvciBuYXZpZ2F0aW9uLiBEZWZhdWx0IGlzIG51bGxcclxuICAgKi9cclxuICBpbmZvKFxyXG4gICAgbWVzc2FnZTogc3RyaW5nLFxyXG4gICAgdGl0bGU6IHN0cmluZyA9ICdJbmZvcm1hemlvbmknLFxyXG4gICAgb2tDYXB0aW9uOiBzdHJpbmcgPSAnT2snLFxyXG4gICAgd2lkdGg6IG51bWJlciA9IDUwMCxcclxuICAgIGRpc21pc3NBZnRlcjogbnVtYmVyIHwgbnVsbCA9IG51bGwsXHJcbiAgICBkZXRhaWxzOiBzdHJpbmcgfCBudWxsID0gbnVsbCxcclxuICAgIG9uTmF2aWdhdGU6ICh1cmw6IHN0cmluZykgPT4gdm9pZCA9IG51bGxcclxuICApOiBNYXREaWFsb2dSZWY8SW5mb0RpYWxvZ0NvbXBvbmVudD4ge1xyXG4gICAgdGhpcy5jbGVhckJ1c3koKTtcclxuICAgIHJldHVybiB0aGlzLm9wZW4oSW5mb0RpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICBhcmlhTGFiZWw6ICdpbmZvcm1hemlvbmknLFxyXG4gICAgICBhdXRvRm9jdXM6IHRydWUsXHJcbiAgICAgIHJlc3RvcmVGb2N1czogZmFsc2UsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLFxyXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICBva0NhcHRpb246IG9rQ2FwdGlvbixcclxuICAgICAgICBkaXNtaXNzQWZ0ZXI6IGRpc21pc3NBZnRlcixcclxuICAgICAgICBkZXRhaWxzOiBkZXRhaWxzLFxyXG4gICAgICAgIG9uTmF2aWdhdGU6IG9uTmF2aWdhdGUsXHJcbiAgICAgICAgYXBwZWFyYW5jZTogJ2ZpbGwnXHJcbiAgICAgIH0gYXMgSW5mb0RpYWxvZ0RhdGEsXHJcbiAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBmYWxzZSxcclxuICAgICAgbWluV2lkdGg6ICczNzVweCcsXHJcbiAgICAgIG1heFdpZHRoOiB3aWR0aCArICdweCcsXHJcbiAgICAgIHdpZHRoOiAnMTAwJSdcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlzcGxheSBhbiBlcnJvciBkaWFsb2dcclxuICAgKiBAcGFyYW0gbWVzc2FnZSA6IG1lc3NhZ2VcclxuICAgKiBAcGFyYW0gbG9nIDogdGhlIGVycm9yIGxvZ1xyXG4gICAqIEBwYXJhbSB0aXRsZSA6IGRpYWxvZyB0aXRsZVxyXG4gICAqIEBwYXJhbSBva0NhcHRpb24gOiBvayBidXR0b24gY2FwdGlvblxyXG4gICAqIEBwYXJhbSB3aWR0aDogdGhlIHByZWZlcnJlZCB3aWR0aFxyXG4gICAqIEBwYXJhbSBkaXNtaXNzQWZ0ZXI6IGlmIHNwZWNpZmllZCwgdGhlIGRpYWxvZyB3aWxsIGJlIGNsb3NlZCBhZnRlciBkaXNtaXNzQWZ0ZXIgbWlsbGlzZWNvbmRzICAgXHJcbiAgICovXHJcbiAgZXJyb3IoXHJcbiAgICBtZXNzYWdlOiBzdHJpbmcsXHJcbiAgICBsb2c6IHN0cmluZyB8IG51bGwgPSBudWxsLFxyXG4gICAgdGl0bGU6IHN0cmluZyA9ICdFcnJvcmUnLFxyXG4gICAgb2tDYXB0aW9uOiBzdHJpbmcgPSAnT2snLFxyXG4gICAgd2lkdGg6IG51bWJlciA9IDUwMCxcclxuICAgIGRpc21pc3NBZnRlcjogbnVtYmVyIHwgbnVsbCA9IG51bGwsXHJcbiAgKTogTWF0RGlhbG9nUmVmPEluZm9EaWFsb2dDb21wb25lbnQ+IHtcclxuICAgIHRoaXMuY2xlYXJCdXN5KCk7XHJcbiAgICBpZiAodGhpcy5lcnJvckRpYWxvZ1JlZikge1xyXG4gICAgICAvLyBKdXN0IGNoYW5nZSBjdXJyZW50IGVycm9yXHJcbiAgICAgIHRoaXMuZXJyb3JEaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2Uuc2V0RGF0YSh7XHJcbiAgICAgICAgbWVzc2FnZTogbWVzc2FnZSxcclxuICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgZGV0YWlsczogbG9nLFxyXG4gICAgICAgIG9rQ2FwdGlvbjogb2tDYXB0aW9uLFxyXG4gICAgICAgIGRpc21pc3NBZnRlcjogZGlzbWlzc0FmdGVyXHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gdGhpcy5lcnJvckRpYWxvZ1JlZjtcclxuICAgIH1cclxuICAgIHRoaXMuZXJyb3JEaWFsb2dSZWYgPSB0aGlzLm9wZW4oSW5mb0RpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICBhcmlhTGFiZWw6ICdlcnJvcmUnLFxyXG4gICAgICBhdXRvRm9jdXM6IHRydWUsXHJcbiAgICAgIHJlc3RvcmVGb2N1czogZmFsc2UsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLFxyXG4gICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICBkZXRhaWxzOiBsb2csXHJcbiAgICAgICAgb2tDYXB0aW9uOiBva0NhcHRpb24sXHJcbiAgICAgICAgZGlzbWlzc0FmdGVyOiBkaXNtaXNzQWZ0ZXIsXHJcbiAgICAgICAgYXBwZWFyYW5jZTogJ2ZpbGwnXHJcbiAgICAgIH0gYXMgSW5mb0RpYWxvZ0RhdGEsXHJcbiAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBmYWxzZSxcclxuICAgICAgbWluV2lkdGg6ICczNzVweCcsXHJcbiAgICAgIG1heFdpZHRoOiB3aWR0aCArICdweCcsXHJcbiAgICAgIHdpZHRoOiAnMTAwJSdcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHRoaXMuZXJyb3JEaWFsb2dSZWY7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaXNwbGF5IHRvYXN0XHJcbiAgICogQHBhcmFtIG1lc3NhZ2UgOiBtZXNzYWdlIHRvIGRpc3BsYXlcclxuICAgKiBAcGFyYW0gZHVyYXRpb24gOiBkdXJhdGlvbiBpbiBtc2VjXHJcbiAgICogQHBhcmFtIGljb24gOiB0aGUgbWF0LWljb24gdG8gZGlzcGxheVxyXG4gICAqIEBwYXJhbSBhY3Rpb25DYXB0aW9uIGFjdGlvbiBidXR0b24gY2FwdGlvblxyXG4gICAqL1xyXG4gIHRvYXN0KFxyXG4gICAgbWVzc2FnZTogc3RyaW5nLFxyXG4gICAgZHVyYXRpb246IG51bWJlciA9IDIwMDAsXHJcbiAgICBpY29uOiBzdHJpbmcgPSAnY2hlY2snLFxyXG4gICAgYWN0aW9uQ2FwdGlvbjogc3RyaW5nIHwgbnVsbCA9IG51bGxcclxuICApOiBNYXRTbmFja0JhclJlZjxUb2FzdENvbXBvbmVudD4ge1xyXG4gICAgdGhpcy5jbGVhckJ1c3koKTtcclxuICAgIGlmIChkdXJhdGlvbiA9PT0gLTEpIGR1cmF0aW9uID0gMjAwMDsgLy8gZGVmYXVsdFxyXG4gICAgbGV0IHRvYXN0UmVmID0gdGhpcy5zbmFja0Jhci5vcGVuRnJvbUNvbXBvbmVudChUb2FzdENvbXBvbmVudCwge1xyXG4gICAgICBkdXJhdGlvbjogZHVyYXRpb24sXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBtZXNzYWdlOiBtZXNzYWdlLFxyXG4gICAgICAgIGljb246IGljb24sXHJcbiAgICAgICAgYWN0aW9uQ2FwdGlvbjogYWN0aW9uQ2FwdGlvblxyXG4gICAgICB9IGFzIFRvYXN0RGF0YVxyXG4gICAgfSk7XHJcbiAgICB0b2FzdFJlZi5pbnN0YW5jZS5hY3Rpb24uc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdG9hc3RSZWYuZGlzbWlzcygpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gdG9hc3RSZWY7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaXNwbGF5IGEgY29uZmlybSBkaWFsb2dcclxuICAgKiBAcGFyYW0gbWVzc2FnZSA6IGh0bWwgbWVzc2FnZVxyXG4gICAqIEBwYXJhbSB0aXRsZSA6IGRpYWxvZyB0aXRsZVxyXG4gICAqIEBwYXJhbSBva0NhcHRpb24gOiBvayBidXR0b24gY2FwdGlvblxyXG4gICAqIEBwYXJhbSBjYW5jZWxDYXB0aW9uIDogY2FuY2VsIGJ1dHRvbiBjYXB0aW9uXHJcbiAgICogQHBhcmFtIG90aGVyQ2FwdGlvbiA6IG90aGVyIGJ1dHRvbiBjYXB0aW9uXHJcbiAgICogQHBhcmFtIG9wdGlvbnM6IGNoZWNrIGJveCBvcHRpb25zXHJcbiAgICogQHBhcmFtIHdpZHRoOiB0aGUgcHJlZmVycmVkIHdpZHRoXHJcbiAgICovXHJcbiAgY29uZmlybShcclxuICAgIG1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHRpdGxlOiBzdHJpbmcgPSAnQ29uZmVybWEnLFxyXG4gICAgb2tDYXB0aW9uOiBzdHJpbmcgPSAnU2knLFxyXG4gICAgY2FuY2VsQ2FwdGlvbjogc3RyaW5nID0gJ05vJyxcclxuICAgIG90aGVyQ2FwdGlvbjogc3RyaW5nIHwgbnVsbCA9IG51bGwsXHJcbiAgICBvcHRpb25zOiBDb25maXJtRGlhbG9nT3B0aW9uW10gfCBudWxsID0gbnVsbCxcclxuICAgIHdpZHRoOiBudW1iZXIgPSA1MDAsXHJcbiAgICBkZXRhaWxzOiBzdHJpbmcgfCBudWxsID0gbnVsbFxyXG4gICkge1xyXG4gICAgcmV0dXJuIHRoaXMub3BlbihDb25maXJtRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgIGFyaWFMYWJlbDogJ2NvbmZlcm1hJyxcclxuICAgICAgYXV0b0ZvY3VzOiB0cnVlLFxyXG4gICAgICByZXN0b3JlRm9jdXM6IGZhbHNlLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgbWVzc2FnZTogbWVzc2FnZSxcclxuICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgb2tDYXB0aW9uOiBva0NhcHRpb24sXHJcbiAgICAgICAgY2FuY2VsQ2FwdGlvbjogY2FuY2VsQ2FwdGlvbixcclxuICAgICAgICBvdGhlckNhcHRpb246IG90aGVyQ2FwdGlvbixcclxuICAgICAgICBvcHRpb25zOiBvcHRpb25zLFxyXG4gICAgICAgIGRldGFpbHM6IGRldGFpbHMsXHJcbiAgICAgICAgYXBwZWFyYW5jZTogJ2ZpbGwnXHJcbiAgICAgIH0gYXMgQ29uZmlybURpYWxvZ0RhdGEsXHJcbiAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBmYWxzZSxcclxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICBtaW5XaWR0aDogJzM3NXB4JyxcclxuICAgICAgbWF4V2lkdGg6IHdpZHRoICsgJ3B4JyxcclxuICAgICAgd2lkdGg6ICcxMDAlJ1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuIl19
@@ -8,6 +8,9 @@ import { PromptDialogComponent } from '../dialogs/prompt/prompt-dialog.component
8
8
  import { SelectDialogComponent } from '../dialogs/select/select-dialog.component';
9
9
  import * as i0 from "@angular/core";
10
10
  export class ApplicationDialogService extends DialogService {
11
+ constructor() {
12
+ super();
13
+ }
11
14
  /**
12
15
  * Sent to
13
16
  * @param title : title
@@ -174,7 +177,7 @@ export class ApplicationDialogService extends DialogService {
174
177
  width: '100%'
175
178
  });
176
179
  }
177
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ApplicationDialogService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
180
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ApplicationDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
178
181
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ApplicationDialogService, providedIn: 'root' }); }
179
182
  }
180
183
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ApplicationDialogService, decorators: [{
@@ -182,5 +185,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImpo
182
185
  args: [{
183
186
  providedIn: 'root',
184
187
  }]
185
- }] });
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25EaWFsb2cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy91aS5hcHBsaWNhdGlvbi91aS9zZXJ2aWNlcy9hcHBsaWNhdGlvbkRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRWhHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOztBQUtsRixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsYUFBYTtJQUV2RDs7Ozs7OztFQU9GO0lBQ0UsTUFBTSxDQUNGLFFBQWdCLGlCQUFpQixFQUNqQyxnQkFBeUIsS0FBSyxFQUM5QixRQUF1QixJQUFJLEVBQzNCLFVBQXNCLElBQUksRUFDMUIsUUFBZ0IsR0FBRztRQUVuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUU7WUFDcEMsU0FBUyxFQUFFLGlCQUFpQjtZQUM1QixTQUFTLEVBQUUsSUFBSTtZQUNmLFlBQVksRUFBRSxLQUFLO1lBQ25CLElBQUksRUFBRTtnQkFDRixLQUFLLEVBQUUsS0FBSztnQkFDWixLQUFLLEVBQUUsS0FBSztnQkFDWixVQUFVLEVBQUUsTUFBTTtnQkFDbEIsYUFBYSxFQUFF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QUFRLEVBQUUsT0FBTztZQUNqQixRQUFRLEVBQUUsS0FBSyxHQUFHLElBQUk7WUFDdEIsS0FBSyxFQUFFLE1BQU07U0FDaEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0FqTlEsd0JBQXdCO21IQUF4Qix3QkFBd0IsY0FGckIsTUFBTTs7NEZBRVQsd0JBQXdCO2tCQUhwQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ0BhcnNlZGl6aW9uaS9hcnMtdXRpbHMvdWknO1xyXG5pbXBvcnQgeyBTZW5kVG9EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9kaWFsb2dzL3NlbmQtdG8vc2VuZC10by1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0VHJlZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2RpYWxvZ3Mvc2VsZWN0LXRyZWUvc2VsZWN0LXRyZWUtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb21wdERpYWxvZ0RhdGEsIFNlbGVjdERpYWxvZ0RhdGEsIFNlbGVjdEZpbGVEaWFsb2dEYXRhLCBTZWxlY3RUcmVlRGlhbG9nRGF0YSB9IGZyb20gJy4uL2RlZmluaXRpb25zJztcclxuaW1wb3J0IHsgU2VsZWN0UGljdHVyZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2RpYWxvZ3Mvc2VsZWN0LXBpY3R1cmUvc2VsZWN0LXBpY3R1cmUtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdEZpbGVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9kaWFsb2dzL3NlbGVjdC1maWxlL3NlbGVjdC1maWxlLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9tcHREaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9kaWFsb2dzL3Byb21wdC9wcm9tcHQtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2RpYWxvZ3Mvc2VsZWN0L3NlbGVjdC1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcGxpY2F0aW9uRGlhbG9nU2VydmljZSBleHRlbmRzIERpYWxvZ1NlcnZpY2Uge1xyXG5cclxuICAgIC8qKlxyXG4qIFNlbnQgdG9cclxuKiBAcGFyYW0gdGl0bGUgOiB0aXRsZVxyXG4qIEBwYXJhbSBhbGxvd1BvcHVsYXRlOiB0cnVlIGlmIHRoZSBwb3B1bGF0ZSBmdWN0aW9uIGlzIGFsbG93ZWRcclxuKiBAcGFyYW0gY291bnQgOiBlbGVtZW50cyB0byBzZW5kIG9yIG51bGxcclxuKiBAcGFyYW0gb3B0aW9ucyA6IGNoZWNrYWJsZSBvcHRpb24gbGlzdFxyXG4qIEBwYXJhbSB3aWR0aDogdGhlIHByZWZlcnJlZCB3aWR0aFxyXG4qL1xyXG4gICAgc2VuZFRvKFxyXG4gICAgICAgIHRpdGxlOiBzdHJpbmcgPSAnSW52aWEgcGVyIGVtYWlsJyxcclxuICAgICAgICBhbGxvd1BvcHVsYXRlOiBib29sZWFuID0gZmFsc2UsXHJcbiAgICAgICAgY291bnQ6IG51bWJlciB8IG51bGwgPSBudWxsLFxyXG4gICAgICAgIG9wdGlvbnM6IGFueSB8IG51bGwgPSBudWxsLFxyXG4gICAgICAgIHdpZHRoOiBudW1iZXIgPSA1MDBcclxuICAgICk6IE1hdERpYWxvZ1JlZjxTZW5kVG9EaWFsb2dDb21wb25lbnQsIGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm9wZW4oU2VuZFRvRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgIGFyaWFMYWJlbDogJ2ludmlhIHBlciBlbWFpbCcsXHJcbiAgICAgICAgICAgIGF1dG9Gb2N1czogdHJ1ZSxcclxuICAgICAgICAgICAgcmVzdG9yZUZvY3VzOiBmYWxzZSxcclxuICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgICAgICAgICAgY291bnQ6IGNvdW50LFxyXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZTogJ2ZpbGwnLFxyXG4gICAgICAgICAgICAgICAgYWxsb3dQb3B1bGF0ZTogYWxsb3dQb3B1bGF0ZSxcclxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IG9wdGlvbnNcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLFxyXG4gICAgICAgICAgICBtaW5XaWR0aDogJzM3NXB4JyxcclxuICAgICAgICAgICAgbWF4V2lkdGg6IHdpZHRoICsgJ3B4JyxcclxuICAgICAgICAgICAgd2lkdGg6ICcxMDAlJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAqIFNlbGVjdCBhIHRyZWUgbm9kZVxyXG4gICAqIEBwYXJhbSBub2RlcyA6IHRyZWUgbm9kZXNcclxuICAgKiBAcGFyYW0gdGl0bGUgOiB0aXRsZVxyXG4gICAqIEBwYXJhbSBkZXNjcmlwdGlvbiA6IGRlc2NyaXB0aW9uXHJcbiAgICogQHBhcmFtIGluaXRpYWxGaWx0ZXIgOiBpbml0aWFsIGZpbHRlclxyXG4gICAqIEBwYXJhbSB3aWR0aDogdGhlIHByZWZlcnJlZCB3aWR0aFxyXG4gICAqIEBwYXJhbSBva0NhcHRpb24gOiBvayBjYXRwaW9uIGJ1dHRvblxyXG4gICAqL1xyXG4gICAgc2VsZWN0VHJlZShcclxuICAgICAgICBub2RlczogYW55LFxyXG4gICAgICAgIHRpdGxlOiBzdHJpbmcgPSAnU2VsZXppb25hIHVuIGVsZW1lbnRvJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbCA9IG51bGwsXHJcbiAgICAgICAgaW5pdGlhbEZpbHRlcjogc3RyaW5nIHwgbnVsbCA9IG51bGwsXHJcbiAgICAgICAgd2lkdGg6IG51bWJlciA9IDgwMCxcclxuICAgICAgICBva0NhcHRpb246IHN0cmluZyA9ICdPaydcclxuICAgICk6IE1hdERpYWxvZ1JlZjxTZWxlY3RUcmVlRGlhbG9nQ29tcG9uZW50LCBhbnk+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5vcGVuKFNlbGVjdFRyZWVEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgYXJpYUxhYmVsOiAnc2VsZXppb25hIHVuIGVsZW1lbnRvJyxcclxuICAgICAgICAgICAgYXV0b0ZvY3VzOiB0cnVlLFxyXG4gICAgICAgICAgICByZXN0b3JlRm9jdXM6IGZhbHNlLFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgICBpbml0aWFsRmlsdGVyOiBpbml0aWFsRmlsdGVyLFxyXG4gICAgICAgICAgICAgICAgb2tDYXB0aW9uOiBva0NhcHRpb24sXHJcbiAgICAgICAgICAgICAgICBub2Rlczogbm9kZXMsXHJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlOiAnb3V0bGluZSdcclxuICAgICAgICAgICAgfSBhcyBTZWxlY3RUcmVlRGlhbG9nRGF0YSxcclxuICAgICAgICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLFxyXG4gICAgICAgICAgICBtaW5XaWR0aDogJzM3NXB4JyxcclxuICAgICAgICAgICAgbWF4V2lkdGg6IHdpZHRoICsgJ3B4JyxcclxuICAgICAgICAgICAgd2lkdGg6ICcxMDAlJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgLyoqXHJcbiAqIERpc3BsYXkgYSBzZWxlY3QgYSBwaWN0dXJlIGRpYWxvZ1xyXG4gKiBAcGFyYW0gdGl0bGUgOiBkaWFsb2cgdGl0bGVcclxuICogQHBhcmFtIGRlc2NyaXRwaW9uIDogYnJpZWYgZGVzY3JpcHRpb25cclxuICogQHBhcmFtIG9rQ2FwdGlvbiA6IG9rIGJ1dHRvbiBjYXB0aW9uXHJcbiAqIEBwYXJhbSBvcHRpb25zIDogY2hlY2thYmxlIG9wdGlvbiBsaXN0XHJcbiAqIEBwYXJhbSB3aWR0aDogdGhlIHByZWZlcnJlZCB3aWR0aFxyXG4gKi9cclxuICAgIHNlbGVjdFBpY3R1cmUoXHJcbiAgICAgICAgdGl0bGU6IHN0cmluZyA9ICdTZWxlemlvbmEgaW1tYWdpbmUnLFxyXG4gICAgICAgIGRlc2NyaXRwaW9uOiBzdHJpbmcgfCBudWxsID0gbnVsbCxcclxuICAgICAgICBva0NhcHRpb246IHN0cmluZyA9ICdPaycsXHJcbiAgICAgICAgb3B0aW9uczogYW55IHwgbnVsbCA9IG51bGwsXHJcbiAgICAgICAgd2lkdGg6IG51bWJlciA9IDYwMFxyXG4gICAgKTogTWF0RGlhbG9nUmVmPFNlbGVjdFBpY3R1cmVEaWFsb2dDb21wb25lbnQsIGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm9wZW4oU2VsZWN0UGljdHVyZURpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICBhcmlhTGFiZWw6ICdzZWxlemlvbmEgaW1tYWdpbmUnLFxyXG4gICAgICAgICAgICBhdXRvRm9jdXM6IHRydWUsXHJcbiAgICAgICAgICAgIHJlc3RvcmVGb2N1czogZmFsc2UsXHJcbiAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBkZXNjcml0cGlvbixcclxuICAgICAgICAgICAgICAgIG9rQ2FwdGlvbjogb2tDYXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgb3B0aW9uczogb3B0aW9ucyxcclxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U6ICdmaWxsJ1xyXG4gICAgICAgICAgICB9IGFzIFNlbGVjdEZpbGVEaWFsb2dEYXRhLFxyXG4gICAgICAgICAgICBjbG9zZU9uTmF2aWdhdGlvbjogZmFsc2UsXHJcbiAgICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcclxuICAgICAgICAgICAgbWluV2lkdGg6ICczNzVweCcsXHJcbiAgICAgICAgICAgIG1heFdpZHRoOiB3aWR0aCArICdweCcsXHJcbiAgICAgICAgICAgIHdpZHRoOiAnMTAwJSdcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICogRGlzcGxheSBhIHNlbGVjdCBhIGZpbGUgZGlhbG9nXHJcbiAgICAqIEBwYXJhbSB0aXRsZSA6IGRpYWxvZyB0aXRsZVxyXG4gICAgKiBAcGFyYW0gZGVzY3JpdHBpb24gOiBicmllZiBkZXNjcmlwdGlvblxyXG4gICAgKiBAcGFyYW0gb2tDYXB0aW9uIDogb2sgYnV0dG9uIGNhcHRpb25cclxuICAgICogQHBhcmFtIGhlbHBMaW5rIDogaGVscCBsaW5rIHVybFxyXG4gICAgKiBAcGFyYW0gaGVscENhcHRpb24gOiBoZWxwIGxpbmsgY2FwdGlvblxyXG4gICAgKiBAcGFyYW0gb3B0aW9ucyA6IGNoZWNrYWJsZSBvcHRpb24gbGlzdFxyXG4gICAgKiBAcGFyYW0gd2lkdGg6IHRoZSBwcmVmZXJyZWQgd2lkdGhcclxuICAgICovXHJcbiAgICBzZWxlY3RGaWxlKFxyXG4gICAgICAgIHRpdGxlOiBzdHJpbmcgPSAnU2VsZXppb25hIGZpbGUnLFxyXG4gICAgICAgIGRlc2NyaXRwaW9uOiBzdHJpbmcgfCBudWxsID0gbnVsbCxcclxuICAgICAgICBva0NhcHRpb246IHN0cmluZyA9ICdPaycsXHJcbiAgICAgICAgaGVscExpbms6IHN0cmluZyB8IG51bGwgPSBudWxsLFxyXG4gICAgICAgIGhlbHBDYXB0aW9uOiBzdHJpbmcgfCBudWxsID0gbnVsbCxcclxuICAgICAgICBvcHRpb25zOiBhbnkgfCBudWxsID0gbnVsbCxcclxuICAgICAgICB3aWR0aDogbnVtYmVyID0gNjAwXHJcbiAgICApOiBNYXREaWFsb2dSZWY8U2VsZWN0RmlsZURpYWxvZ0NvbXBvbmVudCwgYW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMub3BlbihTZWxlY3RGaWxlRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgIGFyaWFMYWJlbDogJ3NlbGV6aW9uYSBmaWxlJyxcclxuICAgICAgICAgICAgYXV0b0ZvY3VzOiB0cnVlLFxyXG4gICAgICAgICAgICByZXN0b3JlRm9jdXM6IGZhbHNlLFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogZGVzY3JpdHBpb24sXHJcbiAgICAgICAgICAgICAgICBva0NhcHRpb246IG9rQ2FwdGlvbixcclxuICAgICAgICAgICAgICAgIGhlbHBMaW5rOiBoZWxwTGluayxcclxuICAgICAgICAgICAgICAgIGhlbHBDYXB0aW9uOiBoZWxwQ2FwdGlvbixcclxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IG9wdGlvbnMsXHJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlOiAnZmlsbCdcclxuICAgICAgICAgICAgfSBhcyBTZWxlY3RGaWxlRGlhbG9nRGF0YSxcclxuICAgICAgICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLFxyXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgICAgIG1pbldpZHRoOiAnMzc1cHgnLFxyXG4gICAgICAgICAgICBtYXhXaWR0aDogd2lkdGggKyAncHgnLFxyXG4gICAgICAgICAgICB3aWR0aDogJzEwMCUnXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICogRGlzcGxheSBhIG11bHRpcG91cnBvc2Ugc2VsZWN0aW9uIGFuZCBDUlVEIGRpYWxvZ1xyXG4gICAqIEBwYXJhbSBkYXRhIDogdGhlIGRpYWxvZyBjb25maWd1cmF0aW9uIG1vZGVsXHJcbiAgICogQHBhcmFtIGRpc2FibGVDbG9zZSA6IGRpYWxvZyBkaXNhYmxlIGNsb3NlIHBhcmFtXHJcbiAgICogQHBhcmFtIGNsb3NlT25OYXZpZ2F0aW9uIDogZGlhbG9nIGNsb3NlIG9uIG5hdmlnYXRpb24gcGFyYW1cclxuICAgKi9cclxuICAgIHNlbGVjdChkYXRhOiBTZWxlY3REaWFsb2dEYXRhLCBcclxuICAgICAgICBkaXNhYmxlQ2xvc2U6IGJvb2xlYW4gPSB0cnVlLFxyXG4gICAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBib29sZWFuID0gdHJ1ZVxyXG4gICAgKTogTWF0RGlhbG9nUmVmPFNlbGVjdERpYWxvZ0NvbXBvbmVudCwgYW55PiB7XHJcbiAgICAgICAgaWYgKCFkYXRhLmFwcGVhcmFuY2UpIGRhdGEuYXBwZWFyYW5jZSA9ICdvdXRsaW5lJztcclxuICAgICAgICByZXR1cm4gdGhpcy5vcGVuKFNlbGVjdERpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICBhcmlhTGFiZWw6ICdzZWxlemlvbmEnLFxyXG4gICAgICAgICAgICBhdXRvRm9jdXM6IHRydWUsXHJcbiAgICAgICAgICAgIHJlc3RvcmVGb2N1czogZmFsc2UsXHJcbiAgICAgICAgICAgIGRhdGE6IGRhdGEsXHJcbiAgICAgICAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBjbG9zZU9uTmF2aWdhdGlvbixcclxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiBkaXNhYmxlQ2xvc2UsXHJcbiAgICAgICAgICAgIG1pbldpZHRoOiAnMzc1cHgnLFxyXG4gICAgICAgICAgICBtYXhXaWR0aDogKGRhdGEud2lkdGggPyBkYXRhLndpZHRoIDogODAwKSArICdweCcsXHJcbiAgICAgICAgICAgIHdpZHRoOiAnMTAwJSdcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgKiBQcm9tcHQgdXNlciB0byBpbnNlcnQgYSB2YWx1ZVxyXG4gICAqIEBwYXJhbSB0aXRsZSA6IHRoZSBkaWFsb2cgdGl0bGVcclxuICAgKiBAcGFyYW0gdHlwZSA6IHRoZSBpbnB1dCB0eXBlOiAwID0gdGV4dCwgMSA9IGRhdGUsIDIgPSBudW1iZXJcclxuICAgKiBAcGFyYW0gZGVzY3JpcHRpb24gOiB0aGUgcGxhY2Vob2xkZXIgZGVzY3JpcHRpb25cclxuICAgKiBAcGFyYW0gaW5pdGlhbFZhbHVlIDogdGhlIGluaXRpYWwgdmFsdWVcclxuICAgKiBAcGFyYW0gb2tDYXB0aW9uIDogb2sgYnV0dG9uIGNhcHRpb25cclxuICAgKiBAcGFyYW0gY2FuY2VsQ2FwdGlvbiA6IGNhbmNlbCBidXR0b24gY2FwdGlvblxyXG4gICAqIEBwYXJhbSBvcHRpb25zIDogY2hlY2thYmxlIG9wdGlvbiBsaXN0XHJcbiAgICogQHBhcmFtIHdpZHRoOiB0aGUgcHJlZmVycmVkIHdpZHRoXHJcbiAgICovXHJcbiAgICBwcm9tcHQoXHJcbiAgICAgICAgdGl0bGU6IHN0cmluZyxcclxuICAgICAgICB0eXBlOiBudW1iZXIgPSAwLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcsXHJcbiAgICAgICAgaW5pdGlhbFZhbHVlOiBhbnkgfCBudWxsID0gbnVsbCxcclxuICAgICAgICBva0NhcHRpb246IHN0cmluZyA9ICdPaycsXHJcbiAgICAgICAgY2FuY2VsQ2FwdGlvbjogc3RyaW5nID0gJ0FubnVsbGEnLFxyXG4gICAgICAgIG9wdGlvbnM6IGFueSB8IG51bGwgPSBudWxsLFxyXG4gICAgICAgIHdpZHRoOiBudW1iZXIgPSA1MDBcclxuICAgICk6IE1hdERpYWxvZ1JlZjxQcm9tcHREaWFsb2dDb21wb25lbnQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5vcGVuKFByb21wdERpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICBhcmlhTGFiZWw6ICdpbnNlcmlzY2kgdmFsb3JlJyxcclxuICAgICAgICAgICAgYXV0b0ZvY3VzOiB0cnVlLFxyXG4gICAgICAgICAgICByZXN0b3JlRm9jdXM6IGZhbHNlLFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgaW5pdGlhbFZhbHVlOiBpbml0aWFsVmFsdWUsXHJcbiAgICAgICAgICAgICAgICBva0NhcHRpb246IG9rQ2FwdGlvbixcclxuICAgICAgICAgICAgICAgIGNhbmNlbENhcHRpb246IGNhbmNlbENhcHRpb24sXHJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlOiAnZmlsbCcsXHJcbiAgICAgICAgICAgICAgICBvcHRpb25zOiBvcHRpb25zXHJcbiAgICAgICAgICAgIH0gYXMgUHJvbXB0RGlhbG9nRGF0YSxcclxuICAgICAgICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLFxyXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgICAgIG1pbldpZHRoOiAnMzc1cHgnLFxyXG4gICAgICAgICAgICBtYXhXaWR0aDogd2lkdGggKyAncHgnLFxyXG4gICAgICAgICAgICB3aWR0aDogJzEwMCUnXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn0iXX0=
188
+ }], ctorParameters: () => [] });
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25EaWFsb2cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fycy11dGlscy91aS5hcHBsaWNhdGlvbi91aS9zZXJ2aWNlcy9hcHBsaWNhdGlvbkRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBRWhHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOztBQUtsRixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsYUFBYTtJQUN2RDtRQUNJLEtBQUssRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVEOzs7Ozs7O0VBT0Y7SUFDRSxNQUFNLENBQ0YsUUFBZ0IsaUJBQWlCLEVBQ2pDLGdCQUF5QixLQUFLLEVBQzlCLFFBQXVCLElBQUksRUFDM0IsVUFBc0IsSUFBSSxFQUMxQixRQUFnQixHQUFHO1FBRW5CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUNwQyxTQUFTLEVBQUUsaUJBQWlCO1lBQzVCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsWUFBWSxFQUFFLEtBQUs7WUFDbkIsSUFBSSxFQUFFO2dCQUNGLEtBQUssRUFBRSxLQUFLO2dCQUNaLEtBQUssRUFBRSxLQUFLO2dC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RSxLQUFLO1lBQ3hCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLFFBQVEsRUFBRSxLQUFLLEdBQUcsSUFBSTtZQUN0QixLQUFLLEVBQUUsTUFBTTtTQUNoQixDQUFDLENBQUM7SUFDUCxDQUFDOytHQXBOUSx3QkFBd0I7bUhBQXhCLHdCQUF3QixjQUZyQixNQUFNOzs0RkFFVCx3QkFBd0I7a0JBSHBDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFyc2VkaXppb25pL2Fycy11dGlscy91aSc7XHJcbmltcG9ydCB7IFNlbmRUb0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2RpYWxvZ3Mvc2VuZC10by9zZW5kLXRvLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RUcmVlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vZGlhbG9ncy9zZWxlY3QtdHJlZS9zZWxlY3QtdHJlZS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvbXB0RGlhbG9nRGF0YSwgU2VsZWN0RGlhbG9nRGF0YSwgU2VsZWN0RmlsZURpYWxvZ0RhdGEsIFNlbGVjdFRyZWVEaWFsb2dEYXRhIH0gZnJvbSAnLi4vZGVmaW5pdGlvbnMnO1xyXG5pbXBvcnQgeyBTZWxlY3RQaWN0dXJlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vZGlhbG9ncy9zZWxlY3QtcGljdHVyZS9zZWxlY3QtcGljdHVyZS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0RmlsZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2RpYWxvZ3Mvc2VsZWN0LWZpbGUvc2VsZWN0LWZpbGUtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb21wdERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2RpYWxvZ3MvcHJvbXB0L3Byb21wdC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vZGlhbG9ncy9zZWxlY3Qvc2VsZWN0LWRpYWxvZy5jb21wb25lbnQnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwbGljYXRpb25EaWFsb2dTZXJ2aWNlIGV4dGVuZHMgRGlhbG9nU2VydmljZSB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvKipcclxuKiBTZW50IHRvXHJcbiogQHBhcmFtIHRpdGxlIDogdGl0bGVcclxuKiBAcGFyYW0gYWxsb3dQb3B1bGF0ZTogdHJ1ZSBpZiB0aGUgcG9wdWxhdGUgZnVjdGlvbiBpcyBhbGxvd2VkXHJcbiogQHBhcmFtIGNvdW50IDogZWxlbWVudHMgdG8gc2VuZCBvciBudWxsXHJcbiogQHBhcmFtIG9wdGlvbnMgOiBjaGVja2FibGUgb3B0aW9uIGxpc3RcclxuKiBAcGFyYW0gd2lkdGg6IHRoZSBwcmVmZXJyZWQgd2lkdGhcclxuKi9cclxuICAgIHNlbmRUbyhcclxuICAgICAgICB0aXRsZTogc3RyaW5nID0gJ0ludmlhIHBlciBlbWFpbCcsXHJcbiAgICAgICAgYWxsb3dQb3B1bGF0ZTogYm9vbGVhbiA9IGZhbHNlLFxyXG4gICAgICAgIGNvdW50OiBudW1iZXIgfCBudWxsID0gbnVsbCxcclxuICAgICAgICBvcHRpb25zOiBhbnkgfCBudWxsID0gbnVsbCxcclxuICAgICAgICB3aWR0aDogbnVtYmVyID0gNTAwXHJcbiAgICApOiBNYXREaWFsb2dSZWY8U2VuZFRvRGlhbG9nQ29tcG9uZW50LCBhbnk+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5vcGVuKFNlbmRUb0RpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICBhcmlhTGFiZWw6ICdpbnZpYSBwZXIgZW1haWwnLFxyXG4gICAgICAgICAgICBhdXRvRm9jdXM6IHRydWUsXHJcbiAgICAgICAgICAgIHJlc3RvcmVGb2N1czogZmFsc2UsXHJcbiAgICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZSxcclxuICAgICAgICAgICAgICAgIGNvdW50OiBjb3VudCxcclxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U6ICdmaWxsJyxcclxuICAgICAgICAgICAgICAgIGFsbG93UG9wdWxhdGU6IGFsbG93UG9wdWxhdGUsXHJcbiAgICAgICAgICAgICAgICBvcHRpb25zOiBvcHRpb25zXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBmYWxzZSxcclxuICAgICAgICAgICAgbWluV2lkdGg6ICczNzVweCcsXHJcbiAgICAgICAgICAgIG1heFdpZHRoOiB3aWR0aCArICdweCcsXHJcbiAgICAgICAgICAgIHdpZHRoOiAnMTAwJSdcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgKiBTZWxlY3QgYSB0cmVlIG5vZGVcclxuICAgKiBAcGFyYW0gbm9kZXMgOiB0cmVlIG5vZGVzXHJcbiAgICogQHBhcmFtIHRpdGxlIDogdGl0bGVcclxuICAgKiBAcGFyYW0gZGVzY3JpcHRpb24gOiBkZXNjcmlwdGlvblxyXG4gICAqIEBwYXJhbSBpbml0aWFsRmlsdGVyIDogaW5pdGlhbCBmaWx0ZXJcclxuICAgKiBAcGFyYW0gd2lkdGg6IHRoZSBwcmVmZXJyZWQgd2lkdGhcclxuICAgKiBAcGFyYW0gb2tDYXB0aW9uIDogb2sgY2F0cGlvbiBidXR0b25cclxuICAgKi9cclxuICAgIHNlbGVjdFRyZWUoXHJcbiAgICAgICAgbm9kZXM6IGFueSxcclxuICAgICAgICB0aXRsZTogc3RyaW5nID0gJ1NlbGV6aW9uYSB1biBlbGVtZW50bycsXHJcbiAgICAgICAgZGVzY3JpcHRpb246IHN0cmluZyB8IG51bGwgPSBudWxsLFxyXG4gICAgICAgIGluaXRpYWxGaWx0ZXI6IHN0cmluZyB8IG51bGwgPSBudWxsLFxyXG4gICAgICAgIHdpZHRoOiBudW1iZXIgPSA4MDAsXHJcbiAgICAgICAgb2tDYXB0aW9uOiBzdHJpbmcgPSAnT2snXHJcbiAgICApOiBNYXREaWFsb2dSZWY8U2VsZWN0VHJlZURpYWxvZ0NvbXBvbmVudCwgYW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMub3BlbihTZWxlY3RUcmVlRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgIGFyaWFMYWJlbDogJ3NlbGV6aW9uYSB1biBlbGVtZW50bycsXHJcbiAgICAgICAgICAgIGF1dG9Gb2N1czogdHJ1ZSxcclxuICAgICAgICAgICAgcmVzdG9yZUZvY3VzOiBmYWxzZSxcclxuICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgaW5pdGlhbEZpbHRlcjogaW5pdGlhbEZpbHRlcixcclxuICAgICAgICAgICAgICAgIG9rQ2FwdGlvbjogb2tDYXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgbm9kZXM6IG5vZGVzLFxyXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZTogJ291dGxpbmUnXHJcbiAgICAgICAgICAgIH0gYXMgU2VsZWN0VHJlZURpYWxvZ0RhdGEsXHJcbiAgICAgICAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBmYWxzZSxcclxuICAgICAgICAgICAgbWluV2lkdGg6ICczNzVweCcsXHJcbiAgICAgICAgICAgIG1heFdpZHRoOiB3aWR0aCArICdweCcsXHJcbiAgICAgICAgICAgIHdpZHRoOiAnMTAwJSdcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIC8qKlxyXG4gKiBEaXNwbGF5IGEgc2VsZWN0IGEgcGljdHVyZSBkaWFsb2dcclxuICogQHBhcmFtIHRpdGxlIDogZGlhbG9nIHRpdGxlXHJcbiAqIEBwYXJhbSBkZXNjcml0cGlvbiA6IGJyaWVmIGRlc2NyaXB0aW9uXHJcbiAqIEBwYXJhbSBva0NhcHRpb24gOiBvayBidXR0b24gY2FwdGlvblxyXG4gKiBAcGFyYW0gb3B0aW9ucyA6IGNoZWNrYWJsZSBvcHRpb24gbGlzdFxyXG4gKiBAcGFyYW0gd2lkdGg6IHRoZSBwcmVmZXJyZWQgd2lkdGhcclxuICovXHJcbiAgICBzZWxlY3RQaWN0dXJlKFxyXG4gICAgICAgIHRpdGxlOiBzdHJpbmcgPSAnU2VsZXppb25hIGltbWFnaW5lJyxcclxuICAgICAgICBkZXNjcml0cGlvbjogc3RyaW5nIHwgbnVsbCA9IG51bGwsXHJcbiAgICAgICAgb2tDYXB0aW9uOiBzdHJpbmcgPSAnT2snLFxyXG4gICAgICAgIG9wdGlvbnM6IGFueSB8IG51bGwgPSBudWxsLFxyXG4gICAgICAgIHdpZHRoOiBudW1iZXIgPSA2MDBcclxuICAgICk6IE1hdERpYWxvZ1JlZjxTZWxlY3RQaWN0dXJlRGlhbG9nQ29tcG9uZW50LCBhbnk+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5vcGVuKFNlbGVjdFBpY3R1cmVEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgYXJpYUxhYmVsOiAnc2VsZXppb25hIGltbWFnaW5lJyxcclxuICAgICAgICAgICAgYXV0b0ZvY3VzOiB0cnVlLFxyXG4gICAgICAgICAgICByZXN0b3JlRm9jdXM6IGZhbHNlLFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogZGVzY3JpdHBpb24sXHJcbiAgICAgICAgICAgICAgICBva0NhcHRpb246IG9rQ2FwdGlvbixcclxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IG9wdGlvbnMsXHJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlOiAnZmlsbCdcclxuICAgICAgICAgICAgfSBhcyBTZWxlY3RGaWxlRGlhbG9nRGF0YSxcclxuICAgICAgICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLFxyXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgICAgIG1pbldpZHRoOiAnMzc1cHgnLFxyXG4gICAgICAgICAgICBtYXhXaWR0aDogd2lkdGggKyAncHgnLFxyXG4gICAgICAgICAgICB3aWR0aDogJzEwMCUnXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIERpc3BsYXkgYSBzZWxlY3QgYSBmaWxlIGRpYWxvZ1xyXG4gICAgKiBAcGFyYW0gdGl0bGUgOiBkaWFsb2cgdGl0bGVcclxuICAgICogQHBhcmFtIGRlc2NyaXRwaW9uIDogYnJpZWYgZGVzY3JpcHRpb25cclxuICAgICogQHBhcmFtIG9rQ2FwdGlvbiA6IG9rIGJ1dHRvbiBjYXB0aW9uXHJcbiAgICAqIEBwYXJhbSBoZWxwTGluayA6IGhlbHAgbGluayB1cmxcclxuICAgICogQHBhcmFtIGhlbHBDYXB0aW9uIDogaGVscCBsaW5rIGNhcHRpb25cclxuICAgICogQHBhcmFtIG9wdGlvbnMgOiBjaGVja2FibGUgb3B0aW9uIGxpc3RcclxuICAgICogQHBhcmFtIHdpZHRoOiB0aGUgcHJlZmVycmVkIHdpZHRoXHJcbiAgICAqL1xyXG4gICAgc2VsZWN0RmlsZShcclxuICAgICAgICB0aXRsZTogc3RyaW5nID0gJ1NlbGV6aW9uYSBmaWxlJyxcclxuICAgICAgICBkZXNjcml0cGlvbjogc3RyaW5nIHwgbnVsbCA9IG51bGwsXHJcbiAgICAgICAgb2tDYXB0aW9uOiBzdHJpbmcgPSAnT2snLFxyXG4gICAgICAgIGhlbHBMaW5rOiBzdHJpbmcgfCBudWxsID0gbnVsbCxcclxuICAgICAgICBoZWxwQ2FwdGlvbjogc3RyaW5nIHwgbnVsbCA9IG51bGwsXHJcbiAgICAgICAgb3B0aW9uczogYW55IHwgbnVsbCA9IG51bGwsXHJcbiAgICAgICAgd2lkdGg6IG51bWJlciA9IDYwMFxyXG4gICAgKTogTWF0RGlhbG9nUmVmPFNlbGVjdEZpbGVEaWFsb2dDb21wb25lbnQsIGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm9wZW4oU2VsZWN0RmlsZURpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICBhcmlhTGFiZWw6ICdzZWxlemlvbmEgZmlsZScsXHJcbiAgICAgICAgICAgIGF1dG9Gb2N1czogdHJ1ZSxcclxuICAgICAgICAgICAgcmVzdG9yZUZvY3VzOiBmYWxzZSxcclxuICAgICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGRlc2NyaXRwaW9uLFxyXG4gICAgICAgICAgICAgICAgb2tDYXB0aW9uOiBva0NhcHRpb24sXHJcbiAgICAgICAgICAgICAgICBoZWxwTGluazogaGVscExpbmssXHJcbiAgICAgICAgICAgICAgICBoZWxwQ2FwdGlvbjogaGVscENhcHRpb24sXHJcbiAgICAgICAgICAgICAgICBvcHRpb25zOiBvcHRpb25zLFxyXG4gICAgICAgICAgICAgICAgYXBwZWFyYW5jZTogJ2ZpbGwnXHJcbiAgICAgICAgICAgIH0gYXMgU2VsZWN0RmlsZURpYWxvZ0RhdGEsXHJcbiAgICAgICAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBmYWxzZSxcclxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICAgICAgICBtaW5XaWR0aDogJzM3NXB4JyxcclxuICAgICAgICAgICAgbWF4V2lkdGg6IHdpZHRoICsgJ3B4JyxcclxuICAgICAgICAgICAgd2lkdGg6ICcxMDAlJ1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAqIERpc3BsYXkgYSBtdWx0aXBvdXJwb3NlIHNlbGVjdGlvbiBhbmQgQ1JVRCBkaWFsb2dcclxuICAgKiBAcGFyYW0gZGF0YSA6IHRoZSBkaWFsb2cgY29uZmlndXJhdGlvbiBtb2RlbFxyXG4gICAqIEBwYXJhbSBkaXNhYmxlQ2xvc2UgOiBkaWFsb2cgZGlzYWJsZSBjbG9zZSBwYXJhbVxyXG4gICAqIEBwYXJhbSBjbG9zZU9uTmF2aWdhdGlvbiA6IGRpYWxvZyBjbG9zZSBvbiBuYXZpZ2F0aW9uIHBhcmFtXHJcbiAgICovXHJcbiAgICBzZWxlY3QoZGF0YTogU2VsZWN0RGlhbG9nRGF0YSxcclxuICAgICAgICBkaXNhYmxlQ2xvc2U6IGJvb2xlYW4gPSB0cnVlLFxyXG4gICAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBib29sZWFuID0gdHJ1ZVxyXG4gICAgKTogTWF0RGlhbG9nUmVmPFNlbGVjdERpYWxvZ0NvbXBvbmVudCwgYW55PiB7XHJcbiAgICAgICAgaWYgKCFkYXRhLmFwcGVhcmFuY2UpIGRhdGEuYXBwZWFyYW5jZSA9ICdvdXRsaW5lJztcclxuICAgICAgICByZXR1cm4gdGhpcy5vcGVuKFNlbGVjdERpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICBhcmlhTGFiZWw6ICdzZWxlemlvbmEnLFxyXG4gICAgICAgICAgICBhdXRvRm9jdXM6IHRydWUsXHJcbiAgICAgICAgICAgIHJlc3RvcmVGb2N1czogZmFsc2UsXHJcbiAgICAgICAgICAgIGRhdGE6IGRhdGEsXHJcbiAgICAgICAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiBjbG9zZU9uTmF2aWdhdGlvbixcclxuICAgICAgICAgICAgZGlzYWJsZUNsb3NlOiBkaXNhYmxlQ2xvc2UsXHJcbiAgICAgICAgICAgIG1pbldpZHRoOiAnMzc1cHgnLFxyXG4gICAgICAgICAgICBtYXhXaWR0aDogKGRhdGEud2lkdGggPyBkYXRhLndpZHRoIDogODAwKSArICdweCcsXHJcbiAgICAgICAgICAgIHdpZHRoOiAnMTAwJSdcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgKiBQcm9tcHQgdXNlciB0byBpbnNlcnQgYSB2YWx1ZVxyXG4gICAqIEBwYXJhbSB0aXRsZSA6IHRoZSBkaWFsb2cgdGl0bGVcclxuICAgKiBAcGFyYW0gdHlwZSA6IHRoZSBpbnB1dCB0eXBlOiAwID0gdGV4dCwgMSA9IGRhdGUsIDIgPSBudW1iZXJcclxuICAgKiBAcGFyYW0gZGVzY3JpcHRpb24gOiB0aGUgcGxhY2Vob2xkZXIgZGVzY3JpcHRpb25cclxuICAgKiBAcGFyYW0gaW5pdGlhbFZhbHVlIDogdGhlIGluaXRpYWwgdmFsdWVcclxuICAgKiBAcGFyYW0gb2tDYXB0aW9uIDogb2sgYnV0dG9uIGNhcHRpb25cclxuICAgKiBAcGFyYW0gY2FuY2VsQ2FwdGlvbiA6IGNhbmNlbCBidXR0b24gY2FwdGlvblxyXG4gICAqIEBwYXJhbSBvcHRpb25zIDogY2hlY2thYmxlIG9wdGlvbiBsaXN0XHJcbiAgICogQHBhcmFtIHdpZHRoOiB0aGUgcHJlZmVycmVkIHdpZHRoXHJcbiAgICovXHJcbiAgICBwcm9tcHQoXHJcbiAgICAgICAgdGl0bGU6IHN0cmluZyxcclxuICAgICAgICB0eXBlOiBudW1iZXIgPSAwLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcsXHJcbiAgICAgICAgaW5pdGlhbFZhbHVlOiBhbnkgfCBudWxsID0gbnVsbCxcclxuICAgICAgICBva0NhcHRpb246IHN0cmluZyA9ICdPaycsXHJcbiAgICAgICAgY2FuY2VsQ2FwdGlvbjogc3RyaW5nID0gJ0FubnVsbGEnLFxyXG4gICAgICAgIG9wdGlvbnM6IGFueSB8IG51bGwgPSBudWxsLFxyXG4gICAgICAgIHdpZHRoOiBudW1iZXIgPSA1MDBcclxuICAgICk6IE1hdERpYWxvZ1JlZjxQcm9tcHREaWFsb2dDb21wb25lbnQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5vcGVuKFByb21wdERpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICBhcmlhTGFiZWw6ICdpbnNlcmlzY2kgdmFsb3JlJyxcclxuICAgICAgICAgICAgYXV0b0ZvY3VzOiB0cnVlLFxyXG4gICAgICAgICAgICByZXN0b3JlRm9jdXM6IGZhbHNlLFxyXG4gICAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGRlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgICAgaW5pdGlhbFZhbHVlOiBpbml0aWFsVmFsdWUsXHJcbiAgICAgICAgICAgICAgICBva0NhcHRpb246IG9rQ2FwdGlvbixcclxuICAgICAgICAgICAgICAgIGNhbmNlbENhcHRpb246IGNhbmNlbENhcHRpb24sXHJcbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlOiAnZmlsbCcsXHJcbiAgICAgICAgICAgICAgICBvcHRpb25zOiBvcHRpb25zXHJcbiAgICAgICAgICAgIH0gYXMgUHJvbXB0RGlhbG9nRGF0YSxcclxuICAgICAgICAgICAgY2xvc2VPbk5hdmlnYXRpb246IGZhbHNlLFxyXG4gICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgICAgIG1pbldpZHRoOiAnMzc1cHgnLFxyXG4gICAgICAgICAgICBtYXhXaWR0aDogd2lkdGggKyAncHgnLFxyXG4gICAgICAgICAgICB3aWR0aDogJzEwMCUnXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbn0iXX0=
@@ -1040,6 +1040,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImpo
1040
1040
  }] } });
1041
1041
 
1042
1042
  class ApplicationDialogService extends DialogService {
1043
+ constructor() {
1044
+ super();
1045
+ }
1043
1046
  /**
1044
1047
  * Sent to
1045
1048
  * @param title : title
@@ -1206,7 +1209,7 @@ class ApplicationDialogService extends DialogService {
1206
1209
  width: '100%'
1207
1210
  });
1208
1211
  }
1209
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ApplicationDialogService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1212
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ApplicationDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1210
1213
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ApplicationDialogService, providedIn: 'root' }); }
1211
1214
  }
1212
1215
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ApplicationDialogService, decorators: [{
@@ -1214,7 +1217,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImpo
1214
1217
  args: [{
1215
1218
  providedIn: 'root',
1216
1219
  }]
1217
- }] });
1220
+ }], ctorParameters: () => [] });
1218
1221
 
1219
1222
  class ArsUIApplicationModule {
1220
1223
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: ArsUIApplicationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }