general-library-union 2.3.7 → 2.3.9

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.
@@ -136,7 +136,12 @@ export class SeleccionRolComponent {
136
136
  this.storageService.setItem('moduloSeleccionado', data?.modulodefecto);
137
137
  }
138
138
  this.regresarRegistro();
139
- this.router.navigateByUrl(this.utilsService.obtenerBase() + '/inicio');
139
+ if (window.location.href.toString().includes('admonPortal')) {
140
+ this.router.navigateByUrl(this.utilsService.obtenerBase() + '/admonPortal/inicio');
141
+ }
142
+ else {
143
+ this.router.navigateByUrl(this.utilsService.obtenerBase() + '/inicio');
144
+ }
140
145
  });
141
146
  }
142
147
  regresarRegistro() {
@@ -156,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImpor
156
161
  }], regresar: [{
157
162
  type: Output
158
163
  }] } });
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWNjaW9uLXJvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3B1YmxpY28vcGFnZXMvc2VsZWNjaW9uLXJvbC9zZWxlY2Npb24tcm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvcHVibGljby9wYWdlcy9zZWxlY2Npb24tcm9sL3NlbGVjY2lvbi1yb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVUvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBUzVDLE1BQU0sT0FBTyxxQkFBcUI7SUFpQnRCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQXJCRCxPQUFPLENBQVU7SUFDakIsZ0JBQWdCLENBQVM7SUFDeEIsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFeEMsU0FBUyxDQUFhO0lBQ3RCLGVBQWUsQ0FBVztJQUMxQixnQkFBZ0IsQ0FBTTtJQUN0QixvQkFBb0IsQ0FBYTtJQUNqQywyQkFBMkIsQ0FBYTtJQUN4QyxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUN6QixhQUFhLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMxQixlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUM1QixpQkFBaUIsR0FBVyxJQUFJLENBQUM7SUFDakMsV0FBVyxHQUFZLEtBQUssQ0FBQztJ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QUFDO3VHQWhKVSxxQkFBcUI7MkZBQXJCLHFCQUFxQixzTEN0QmxDLDBwR0F5RFcsbWlDRHhDRyxZQUFZLDgwQkFBRSxXQUFXLDhtQkFBRSxZQUFZLGlNQUFFLFdBQVc7OzJGQUtyRCxxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0UsbUJBQW1CLFdBQ2xCLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGNBQ3BELElBQUk7eU9BS1QsT0FBTztzQkFBZixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFJvbE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc2VndXJpZGFkL21vZGVsb3MvUm9sTW9kZWwnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2lvcy9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2lvcy9zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJ25neC1jb29raWUtc2VydmljZSc7XG5pbXBvcnQgeyBDYXJnYXJDb250cm9sRnVuY2lvbmFsaWRhZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2lvcy9jYXJnYXItY29udHJvbC1mdW5jaW9uYWxpZGFkLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9kdWxvc01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc2VndXJpZGFkL21vZGVsb3MvTW9kdWxvc01vZGVsJztcbmltcG9ydCB7IFRhcmVhc01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc2VndXJpZGFkL21vZGVsb3MvVGFyZWFzTW9kZWwnO1xuaW1wb3J0IHsgVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNpb3MvdXRpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICdwcmltZW5nL2RpYWxvZyc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUYWJsZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFibGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc2VsZWNjaW9uLXJvbCcsXG4gICAgaW1wb3J0czogW0RpYWxvZ01vZHVsZSwgRm9ybXNNb2R1bGUsIENvbW1vbk1vZHVsZSwgVGFibGVNb2R1bGUsXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY2Npb24tcm9sLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWNjaW9uLXJvbC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY2Npb25Sb2xDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBtb3N0cmFyOiBib29sZWFuO1xuICBASW5wdXQoKSBjb2RpZ29BcGxpY2FjaW9uOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSByZWdyZXNhciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBsaXN0Um9sZXM6IFJvbE1vZGVsW107XG4gIHJvbFNlbGVjY2lvbmFkbzogUm9sTW9kZWw7XG4gIHJvd0dyb3VwTWV0YWRhdGE6IGFueTtcbiAgcm9sZXNDb25leGlvbkVtcHJlc2E6IFJvbE1vZGVsW107XG4gIGZpbHRyb2xSb2xlc0NvbmV4aW9uRW1wcmVzYTogUm9sTW9kZWxbXTtcbiAgbGlzdGFFbXByZXNhID0gbmV3IE1hcCgpO1xuICBsaXN0YVBlcmZpbGVzID0gbmV3IE1hcCgpO1xuICBsaXN0YUNvbmV4aW9uZXMgPSBuZXcgTWFwKCk7XG4gIHBhcmFtZXRyb0J1c3F1ZWRhOiBzdHJpbmcgPSBudWxsO1xuICBhZG1vblBvcnRhbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb29raWVTZXJ2aWNlOiBDb29raWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXRpbHNTZXJ2aWNlOiBVdGlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250cm9sRnVuY2lvbmFsaWRhZDogQ2FyZ2FyQ29udHJvbEZ1bmNpb25hbGlkYWRTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYXJhbWV0cm9CdXNxdWVkYSA9ICcnO1xuICAgIHRoaXMucm9sZXNDb25leGlvbkVtcHJlc2EgPSBbXTtcbiAgICB0aGlzLmxpc3RSb2xlcyA9IFtdO1xuICB9XG5cbiAgcHVibGljIGNhcmdhcihsaXN0YVJvbGVzLCBhZG1vblBvcnRhbCkge1xuXG4gICAgdGhpcy5yb2xTZWxlY2Npb25hZG8gPSBudWxsO1xuICAgIHRoaXMuYWRtb25Qb3J0YWwgPSBhZG1vblBvcnRhbDtcblxuICAgIHRoaXMubGlzdFJvbGVzID0gbGlzdGFSb2xlcztcblxuICAgIHRoaXMucm9sZXNDb25leGlvbkVtcHJlc2EgPSBbXTtcblxuICAgIGZvciAobGV0IHJvbCBvZiB0aGlzLmxpc3RSb2xlcykge1xuXG4gICAgICBpZiAoIXRoaXMucm9sZXNDb25leGlvbkVtcHJlc2Euc29tZShyID0+XG4gICAgICAgIHIuY29kaWdvQ29uZXhpb24gPT09IHJvbC5jb2RpZ29Db25leGlvbiAmJlxuICAgICAgICByLm5vbWJyZUNvbmV4aW9uID09PSByb2wubm9tYnJlQ29uZXhpb24gJiZcbiAgICAgICAgci5jb2RpZ29FbXByZXNhID09PSByb2wuY29kaWdvRW1wcmVzYSAmJlxuICAgICAgICByLm5vbWJyZUVtcHJlc2EgPT09IHJvbC5ub21icmVFbXByZXNhICYmXG4gICAgICAgIHIubnVtZXJvRW1wcmVzYSA9PT0gcm9sLm51bWVyb0VtcHJlc2EgJiZcbiAgICAgICAgci5sbGF2ZVJvbCA9PT0gcm9sLmxsYXZlUm9sICYmXG4gICAgICAgIHIubm9tYnJlUm9sID09PSByb2wubm9tYnJlUm9sKSkge1xuICAgICAgICB0aGlzLnJvbGVzQ29uZXhpb25FbXByZXNhLnB1c2gocm9sKTtcbiAgICAgICAgdGhpcy5saXN0YUVtcHJlc2Euc2V0KHJvbC5jb2RpZ29FbXByZXNhLCByb2wubm9tYnJlRW1wcmVzYSk7XG4gICAgICAgIHRoaXMubGlzdGFQZXJmaWxlcy5zZXQocm9sLmxsYXZlUm9sLCByb2wubm9tYnJlUm9sKTtcbiAgICAgICAgdGhpcy5saXN0YUNvbmV4aW9uZXMuc2V0KHJvbC5jb2RpZ29Db25leGlvbiwgcm9sLm5vbWJyZUNvbmV4aW9uKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmZpbHRyb2xSb2xlc0NvbmV4aW9uRW1wcmVzYSA9IFsuLi50aGlzLnJvbGVzQ29uZXhpb25FbXByZXNhXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROb21icmVSb2woKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMubGlzdGFQZXJmaWxlcy5zaXplID4gMSB8fCB0aGlzLnJvbGVzQ29uZXhpb25FbXByZXNhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnJvbGVzQ29uZXhpb25FbXByZXNhWzBdLm5vbWJyZVJvbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXROb21icmVFbXByZXNhKCk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICh0aGlzLmxpc3RhRW1wcmVzYS5zaXplID4gMSB8fCB0aGlzLnJvbGVzQ29uZXhpb25FbXByZXNhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnJvbGVzQ29uZXhpb25FbXByZXNhWzBdLm5vbWJyZUVtcHJlc2E7XG4gIH1cblxuICBwdWJsaWMgZ2V0Tm9tYnJlQ29uZXhpb24oKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMubGlzdGFDb25leGlvbmVzLnNpemUgPiAxIHx8IHRoaXMucm9sZXNDb25leGlvbkVtcHJlc2EubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucm9sZXNDb25leGlvbkVtcHJlc2FbMF0ubm9tYnJlQ29uZXhpb247XG4gIH1cblxuICBjYXJnYXJMaXN0YWRvRmlsdHJvKCkge1xuXG4gICAgaWYgKHRoaXMucGFyYW1ldHJvQnVzcXVlZGEudHJpbSgpID09PSAnJykge1xuICAgICAgdGhpcy5maWx0cm9sUm9sZXNDb25leGlvbkVtcHJlc2EgPSBbLi4udGhpcy5yb2xlc0NvbmV4aW9uRW1wcmVzYV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdHJvbFJvbGVzQ29uZXhpb25FbXByZXNhID0gdGhpcy5yb2xlc0NvbmV4aW9uRW1wcmVzYS5maWx0ZXIocm9sID0+XG4gICAgICAgIHJvbC5ub21icmVFbXByZXNhLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5wYXJhbWV0cm9CdXNxdWVkYS50b0xvd2VyQ2FzZSgpKSB8fFxuICAgICAgICByb2wubm9tYnJlQ29uZXhpb24udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnBhcmFtZXRyb0J1c3F1ZWRhLnRvTG93ZXJDYXNlKCkpIHx8XG4gICAgICAgIHJvbC5ub21icmVSb2wudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnBhcmFtZXRyb0J1c3F1ZWRhLnRvTG93ZXJDYXNlKCkpXG4gICAgICApO1xuICAgIH1cblxuICB9XG5cbiAgdmVyQWN0aW9uKCkge1xuICAgIHZhciB1cmxhcGludWNsZW8gPSB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KCd1cmxudWNsZW8nKVxuICAgIHRoaXMucm9sU2VsZWNjaW9uYWRvLmFkbW9uUG9ydGFsID0gdGhpcy5hZG1vblBvcnRhbFxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbShcbiAgICAgICdyb2xfc2VsZWNjaW9uYWRvJyxcbiAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMucm9sU2VsZWNjaW9uYWRvKVxuICAgICk7XG4gICAgdGhpcy5yb2xTZWxlY2Npb25hZG8uYXBsaWNhY2lvbiA9IHRoaXMuY29kaWdvQXBsaWNhY2lvbjtcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldFJvbFNlbGVjY2lvbmFkbyh0aGlzLnJvbFNlbGVjY2lvbmFkbyk7XG4gICAgdGhpcy5hdXRoU2VydmljZS5zZWxlY2Npb25Sb2wodGhpcy5yb2xTZWxlY2Npb25hZG8pLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgY29uc29sZS5sb2coZGF0YSlcbiAgICAgIC8qbGV0IHJvbDogYW55ID0ge31cbiAgICAgICAgcm9sLmNvZGlnb1JvbCA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW5LZXkoJ2xsYXZlUm9sJyk7XG4gICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdlbmVyYXJUb2tlblB1YmxpY28oKS5zdWJzY3JpYmUoZGF0YTIgPT4ge1xuICAgICAgICB0aGlzLmNvbnRyb2xGdW5jaW9uYWxpZGFkLmNhcmdhckZ1bmNpb25hbGlkYWQocm9sLCBgJHt1cmxhcGludWNsZW99L2F1dGhlbnRpY2F0aW9uL2Z1bmNpb25hbGlkYWRlc2AsIGRhdGEyLnRva2VuKS5zdWJzY3JpYmUoe30pOyovXG4gICAgICBjb25zdCB0b2tlbiA9IChkYXRhIGFzIGFueSk/LnRva2VuIGFzIHN0cmluZztcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgndG9rZW4nLCB0b2tlbik7XG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ2NvbnRyb2xGdW5jaW9uYWxpZGFkZXMnLCAoZGF0YSBhcyBhbnkpLmNvbnRyb2xlc2Z1bmNpb25hbGlkYWRlcyk7XG4gICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gICAgICAvKiBDb2RpZ28gdGVtcG9yYWwgcGFyYSBtYW50ZW5lciBsYXMgdGFyZWFzLCBwZXJvIGVzdGFzIGRlYmVuIHNlciBvYnRlbmlkYXMgcG9yIHVuIHNlcnZpY2lvICovXG4gICAgICB2YXIgdGFyZWFzOiBUYXJlYXNNb2RlbFtdID0gKGRhdGEgYXMgYW55KS50YXJlYXNtb2R1bG87XG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ19fdGFyZWFzJywgSlNPTi5zdHJpbmdpZnkodGFyZWFzKSk7XG4gICAgICB2YXIgbW9kdWxvc0RlVGFyZWFzID0gdGFyZWFzLmZpbHRlcigob2JqLCBpbmRleCwgc2VsZikgPT4ge1xuICAgICAgICByZXR1cm4gaW5kZXggPT09IHNlbGYuZmluZEluZGV4KChvKSA9PiBvLm1vZHVsbyA9PT0gb2JqLm1vZHVsbyk7XG4gICAgICB9KTtcbiAgICAgIHZhciBtb2R1bG9zOiBNb2R1bG9zTW9kZWxbXSA9IFtdO1xuICAgICAgbW9kdWxvc0RlVGFyZWFzLmZvckVhY2goZGF0YSA9PiB7XG4gICAgICAgIGxldCBtb2R1bG86IE1vZHVsb3NNb2RlbCA9IHtcbiAgICAgICAgICBsbGF2ZTogZGF0YS5tb2R1bG8sXG4gICAgICAgICAgZGVzY3JpcGNpb246IGRhdGEubm9tYnJlTW9kdWxvLFxuICAgICAgICAgIGljb25vOiBkYXRhLmljb25vTW9kdWxvXG4gICAgICAgIH1cbiAgICAgICAgbW9kdWxvcy5wdXNoKG1vZHVsbylcbiAgICAgIH0pXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ21vZHVsb3MnLCBKU09OLnN0cmluZ2lmeShtb2R1bG9zKSk7XG4gICAgICBpZiAodGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKCdtb2R1bG9GYXZvcml0bycpICE9PSB1bmRlZmluZWQgJiYgdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKCdtb2R1bG9GYXZvcml0bycpKSB7XG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgnbW9kdWxvU2VsZWNjaW9uYWRvJywgdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKCdtb2R1bG9GYXZvcml0bycpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgnbW9kdWxvU2VsZWNjaW9uYWRvJywgKGRhdGEgYXMgYW55KT8ubW9kdWxvZGVmZWN0byk7XG4gICAgICB9XG4gICAgICB0aGlzLnJlZ3Jlc2FyUmVnaXN0cm8oKVxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCggdGhpcy51dGlsc1NlcnZpY2Uub2J0ZW5lckJhc2UoKSArICcvaW5pY2lvJyk7XG4gICAgfSk7XG4gIH1cblxuXG4gIHJlZ3Jlc2FyUmVnaXN0cm8oKSB7XG4gICAgdGhpcy5tb3N0cmFyID0gZmFsc2U7XG4gICAgdGhpcy5yZWdyZXNhci5lbWl0KCk7XG4gIH1cblxufSIsIjxwLWRpYWxvZyBpZD0ncG9wdXBTZWxlY2Npb25QbGFudGlsbGEnIGhlYWRlcj1cIlBlcmZpbFwiIFsodmlzaWJsZSldPVwibW9zdHJhclwiIGFwcGVuZFRvPVwiYm9keVwiXG4gICAgKG9uSGlkZSk9XCJyZWdyZXNhclJlZ2lzdHJvKClcIiBbYnJlYWtwb2ludHNdPVwieyc5NjBweCc6ICc3NXZ3JywgJzY0MHB4JzogJzEwMHZ3J31cIiBbc3R5bGVdPVwieydtaW4td2lkdGgnOicyMHZ3J31cIlxuICAgIFttb2RhbF09XCJ0cnVlXCIgW2RyYWdnYWJsZV09XCJmYWxzZVwiPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJwLWlucHV0LWljb24tbGVmdCBtYi0zIHctZnVsbFwiPlxuICAgICAgICA8aSBjbGFzcz1cInBpIHBpLXNlYXJjaFwiPjwvaT5cbiAgICAgICAgPGlucHV0IGNsYXNzPVwiIHctZnVsbCBwLWlucHV0dGV4dFwiIHR5cGU9XCJ0ZXh0XCIgcElucHV0VGV4dCBbKG5nTW9kZWwpXT1cInBhcmFtZXRyb0J1c3F1ZWRhXCIgKGtleXVwLmVudGVyKT1cImNhcmdhckxpc3RhZG9GaWx0cm8oKVwiIC8+XG4gICAgPC9zcGFuPlxuXG4gICAgPCEtLSBDb250ZW5pZG8gLS0+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggbWItM1wiPlxuICAgICAgICA8IS0tRW1wcmVzYSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1yLTRcIiBwVG9vbHRpcD1cIkVtcHJlc2FcIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgICAgKm5nSWY9XCJnZXROb21icmVFbXByZXNhKCkgIT0gbnVsbFwiPlxuICAgICAgICAgICAgPGkgc3R5bGU9XCJmb250LXNpemU6IDEuMnJlbSAhaW1wb3J0YW50XCIgY2xhc3M9XCJnbHlwaGljb25zIGdseXBoaWNvbnMtYnVpbGRpbmcgY29sb3ItNDAwXCI+PC9pPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9udC1zZW1pYm9sZFwiIGh0bWxGb3I9XCJpZF9lbXByZXNhXCI+IHt7Z2V0Tm9tYnJlRW1wcmVzYSgpIHwgdXBwZXJjYXNlfX08L2xhYmVsPlxuICAgICAgICAgICAgPCEtLSA8bGFiZWwgaHRtbEZvcj1cImVtcHJlc2FcIj57eydlbXByZXNhJyB8IHRyYW5zbGF0ZX19PC9sYWJlbD4gLS0+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tQ29uZXhpb24gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtci00XCIgcFRvb2x0aXA9XCJDb25leGnDs25cIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgICAgKm5nSWY9XCJnZXROb21icmVDb25leGlvbigpICE9IG51bGxcIj5cbiAgICAgICAgICAgIDxpIHN0eWxlPVwiZm9udC1zaXplOiAxLjJyZW0gIWltcG9ydGFudFwiIGNsYXNzPVwiZ2x5cGhpY29ucyBnbHlwaGljb25zLWJvb2sgY29sb3ItNDAwIGZvbnQtc2VtaWJvbGRcIj48L2k+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb250LXNlbWlib2xkXCIgaHRtbEZvcj1cImlkX3JvbFwiPiB7e2dldE5vbWJyZUNvbmV4aW9uKCkgfCB1cHBlcmNhc2V9fTwvbGFiZWw+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS1Sb2wgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiIHBUb29sdGlwPVwiUm9sXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCIgKm5nSWY9XCJnZXROb21icmVSb2woKSAhPSBudWxsXCI+XG4gICAgICAgICAgICA8aSBzdHlsZT1cImZvbnQtc2l6ZTogMS4ycmVtICFpbXBvcnRhbnRcIiBjbGFzcz1cImdseXBoaWNvbnMgZ2x5cGhpY29ucy11c2VyIGNvbG9yLTQwMFwiPjwvaT5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvbnQtc2VtaWJvbGRcIiBodG1sRm9yPVwiaWRfcm9sXCI+IHt7Z2V0Tm9tYnJlUm9sKCl9fTwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPHAtdGFibGUgW3ZhbHVlXT1cImZpbHRyb2xSb2xlc0NvbmV4aW9uRW1wcmVzYVwiIHJlc3BvbnNpdmVMYXlvdXQ9XCJzY3JvbGxcIiBbcGFnaW5hdG9yXT1cImxpc3RSb2xlcy5sZW5ndGggPiAxMFwiIFtyb3dzXT1cIjEwXCJcbiAgICAgICAgWyhzZWxlY3Rpb24pXT1cInJvbFNlbGVjY2lvbmFkb1wiIGRhdGFLZXk9XCJsbGF2ZVRhYmxhXCIgKG9uUm93U2VsZWN0KT1cInZlckFjdGlvbigpXCIgc2VsZWN0aW9uTW9kZT1cInNpbmdsZVwiPlxuICAgICAgICA8IS0tIGhlYWRlciBkZSBsYSB0YWJsYSBkZSBzZWxlY2Npb24gcm9sIC0tPlxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJmb25kb1RhYmxhUGluY2lwYWxcIj5cbiAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJnZXROb21icmVFbXByZXNhKCkgID09IG51bGxcIj5Ob21icmUgRW1wcmVzYTwvdGg+XG4gICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwiZ2V0Tm9tYnJlQ29uZXhpb24oKSAgPT0gbnVsbFwiPkNvbmV4acOzbjwvdGg+XG4gICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwiZ2V0Tm9tYnJlUm9sKCkgID09IG51bGxcIj5Sb2w8L3RoPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPCEtLSBjdWVycG8gZGUgbGEgdGFibGEgLS0+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LXJvbCBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxuICAgICAgICAgICAgPHRyIFtwU2VsZWN0YWJsZVJvd109XCJyb2xcIj5cbiAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJnZXROb21icmVFbXByZXNhKCkgPT0gbnVsbFwiIHN0eWxlPVwibWluLXdpZHRoOiAyMDBweFwiPlxuICAgICAgICAgICAgICAgICAgICB7e3JvbC5ub21icmVFbXByZXNhfX1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImdldE5vbWJyZUNvbmV4aW9uKCkgID09IG51bGxcIiBzdHlsZT1cIm1pbi13aWR0aDogMjAwcHhcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgcm9sLm5vbWJyZUNvbmV4aW9ufX1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImdldE5vbWJyZVJvbCgpICA9PSBudWxsXCIgc3R5bGU9XCJtaW4td2lkdGg6IDIwMHB4XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHJvbC5ub21icmVSb2wgfX1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3AtdGFibGU+XG48L3AtZGlhbG9nPiJdfQ==
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWNjaW9uLXJvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL3B1YmxpY28vcGFnZXMvc2VsZWNjaW9uLXJvbC9zZWxlY2Npb24tcm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvcHVibGljby9wYWdlcy9zZWxlY2Npb24tcm9sL3NlbGVjY2lvbi1yb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVUvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBUzVDLE1BQU0sT0FBTyxxQkFBcUI7SUFpQnRCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQXJCRCxPQUFPLENBQVU7SUFDakIsZ0JBQWdCLENBQVM7SUFDeEIsUUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFeEMsU0FBUyxDQUFhO0lBQ3RCLGVBQWUsQ0FBVztJQUMxQixnQkFBZ0IsQ0FBTTtJQUN0QixvQkFBb0IsQ0FBYTtJQUNqQywyQkFBMkIsQ0FBYTtJQUN4QyxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUN6QixhQUFhLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMxQixlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUM1QixpQkFBaUIsR0FBVyxJQUFJLENBQUM7SUFDakMsV0FBVyxHQUFZLEtBQUssQ0FBQztJQUU3QixZQUNVLE1BQWMsRUFDZCxjQUE4QixFQUM5QixhQUE0QixFQUM1QixXQUF3QixFQUN4QixZQUEwQixFQUMxQixvQkFBdUQ7UUFMdkQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQW1DO0lBQzdELENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxNQUFNLENBQUMsVUFBVSxFQUFFLFdBQVc7UUFFbkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFFL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7UUFFNUIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztRQUUvQixLQUFLLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUUvQixJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUN0QyxDQUFDLENBQUMsY0FBYyxLQUFLLEdBQUcsQ0FBQyxjQUFjO2dCQUN2QyxDQUFDLENBQUMsY0FBYyxLQUFLLEdBQUcsQ0FBQyxjQUFjO2dCQUN2QyxDQUFDLENBQUMsYUFBYSxLQUFLLEdBQUcsQ0FBQyxhQUFhO2dCQUNyQyxDQUFDLENBQUMsYUFBYSxLQUFLLEdBQUcsQ0FBQyxhQUFhO2dCQUNyQyxDQUFDLENBQUMsYUFBYSxLQUFLLEdBQUcsQ0FBQyxhQUFhO2dCQUNyQyxDQUFDLENBQUMsUUFBUSxLQUFLLEdBQUcsQ0FBQyxRQUFRO2dCQUMzQixDQUFDLENBQUMsU0FBUyxLQUFLLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNwQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDNUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ25FLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxDQUFDLDJCQUEyQixHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFFLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNoRCxDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDekUsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQ3BELENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM1RSxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7SUFDckQsQ0FBQztJQUVELG1CQUFtQjtRQUVqQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3BFLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FDeEUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUM5RSxHQUFHLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQy9FLEdBQUcsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUMzRSxDQUFDO1FBQ0osQ0FBQztJQUVILENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDdEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQTtRQUNuRCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FDekIsa0JBQWtCLEVBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUNyQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ3hELElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNyRSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQ2pCOzs7Z0pBR29JO1lBQ3BJLE1BQU0sS0FBSyxHQUFJLElBQVksRUFBRSxLQUFlLENBQUM7WUFDN0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFHLElBQVksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1lBQzlGLDhGQUE4RjtZQUM5Riw4RkFBOEY7WUFDOUYsSUFBSSxNQUFNLEdBQW1CLElBQVksQ0FBQyxZQUFZLENBQUM7WUFDdkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNoRSxJQUFJLGVBQWUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtnQkFDdkQsT0FBTyxLQUFLLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbEUsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLE9BQU8sR0FBbUIsRUFBRSxDQUFDO1lBQ2pDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzdCLElBQUksTUFBTSxHQUFpQjtvQkFDekIsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNO29CQUNsQixXQUFXLEVBQUUsSUFBSSxDQUFDLFlBQVk7b0JBQzlCLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVztpQkFDeEIsQ0FBQTtnQkFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQ3RCLENBQUMsQ0FBQyxDQUFBO1lBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNoRSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztnQkFDakgsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQ25HLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRyxJQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDbEYsQ0FBQztZQUNELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO1lBQ3ZCLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7Z0JBQzVELElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLEdBQUcscUJBQXFCLENBQUMsQ0FBQztZQUNyRixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztZQUN6RSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0QsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO3VHQXBKVSxxQkFBcUI7MkZBQXJCLHFCQUFxQixzTEN0QmxDLDBwR0F5RFcsbWlDRHhDRyxZQUFZLDgwQkFBRSxXQUFXLDhtQkFBRSxZQUFZLGlNQUFFLFdBQVc7OzJGQUtyRCxxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0UsbUJBQW1CLFdBQ2xCLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGNBQ3BELElBQUk7eU9BS1QsT0FBTztzQkFBZixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFJvbE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc2VndXJpZGFkL21vZGVsb3MvUm9sTW9kZWwnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2lvcy9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2lvcy9zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJ25neC1jb29raWUtc2VydmljZSc7XG5pbXBvcnQgeyBDYXJnYXJDb250cm9sRnVuY2lvbmFsaWRhZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2lvcy9jYXJnYXItY29udHJvbC1mdW5jaW9uYWxpZGFkLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9kdWxvc01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc2VndXJpZGFkL21vZGVsb3MvTW9kdWxvc01vZGVsJztcbmltcG9ydCB7IFRhcmVhc01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vc2VndXJpZGFkL21vZGVsb3MvVGFyZWFzTW9kZWwnO1xuaW1wb3J0IHsgVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNpb3MvdXRpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICdwcmltZW5nL2RpYWxvZyc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUYWJsZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFibGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtc2VsZWNjaW9uLXJvbCcsXG4gICAgaW1wb3J0czogW0RpYWxvZ01vZHVsZSwgRm9ybXNNb2R1bGUsIENvbW1vbk1vZHVsZSwgVGFibGVNb2R1bGUsXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY2Npb24tcm9sLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWNjaW9uLXJvbC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY2Npb25Sb2xDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBtb3N0cmFyOiBib29sZWFuO1xuICBASW5wdXQoKSBjb2RpZ29BcGxpY2FjaW9uOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSByZWdyZXNhciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBsaXN0Um9sZXM6IFJvbE1vZGVsW107XG4gIHJvbFNlbGVjY2lvbmFkbzogUm9sTW9kZWw7XG4gIHJvd0dyb3VwTWV0YWRhdGE6IGFueTtcbiAgcm9sZXNDb25leGlvbkVtcHJlc2E6IFJvbE1vZGVsW107XG4gIGZpbHRyb2xSb2xlc0NvbmV4aW9uRW1wcmVzYTogUm9sTW9kZWxbXTtcbiAgbGlzdGFFbXByZXNhID0gbmV3IE1hcCgpO1xuICBsaXN0YVBlcmZpbGVzID0gbmV3IE1hcCgpO1xuICBsaXN0YUNvbmV4aW9uZXMgPSBuZXcgTWFwKCk7XG4gIHBhcmFtZXRyb0J1c3F1ZWRhOiBzdHJpbmcgPSBudWxsO1xuICBhZG1vblBvcnRhbDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb29raWVTZXJ2aWNlOiBDb29raWVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXRpbHNTZXJ2aWNlOiBVdGlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb250cm9sRnVuY2lvbmFsaWRhZDogQ2FyZ2FyQ29udHJvbEZ1bmNpb25hbGlkYWRTZXJ2aWNlXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYXJhbWV0cm9CdXNxdWVkYSA9ICcnO1xuICAgIHRoaXMucm9sZXNDb25leGlvbkVtcHJlc2EgPSBbXTtcbiAgICB0aGlzLmxpc3RSb2xlcyA9IFtdO1xuICB9XG5cbiAgcHVibGljIGNhcmdhcihsaXN0YVJvbGVzLCBhZG1vblBvcnRhbCkge1xuXG4gICAgdGhpcy5yb2xTZWxlY2Npb25hZG8gPSBudWxsO1xuICAgIHRoaXMuYWRtb25Qb3J0YWwgPSBhZG1vblBvcnRhbDtcblxuICAgIHRoaXMubGlzdFJvbGVzID0gbGlzdGFSb2xlcztcblxuICAgIHRoaXMucm9sZXNDb25leGlvbkVtcHJlc2EgPSBbXTtcblxuICAgIGZvciAobGV0IHJvbCBvZiB0aGlzLmxpc3RSb2xlcykge1xuXG4gICAgICBpZiAoIXRoaXMucm9sZXNDb25leGlvbkVtcHJlc2Euc29tZShyID0+XG4gICAgICAgIHIuY29kaWdvQ29uZXhpb24gPT09IHJvbC5jb2RpZ29Db25leGlvbiAmJlxuICAgICAgICByLm5vbWJyZUNvbmV4aW9uID09PSByb2wubm9tYnJlQ29uZXhpb24gJiZcbiAgICAgICAgci5jb2RpZ29FbXByZXNhID09PSByb2wuY29kaWdvRW1wcmVzYSAmJlxuICAgICAgICByLm5vbWJyZUVtcHJlc2EgPT09IHJvbC5ub21icmVFbXByZXNhICYmXG4gICAgICAgIHIubnVtZXJvRW1wcmVzYSA9PT0gcm9sLm51bWVyb0VtcHJlc2EgJiZcbiAgICAgICAgci5sbGF2ZVJvbCA9PT0gcm9sLmxsYXZlUm9sICYmXG4gICAgICAgIHIubm9tYnJlUm9sID09PSByb2wubm9tYnJlUm9sKSkge1xuICAgICAgICB0aGlzLnJvbGVzQ29uZXhpb25FbXByZXNhLnB1c2gocm9sKTtcbiAgICAgICAgdGhpcy5saXN0YUVtcHJlc2Euc2V0KHJvbC5jb2RpZ29FbXByZXNhLCByb2wubm9tYnJlRW1wcmVzYSk7XG4gICAgICAgIHRoaXMubGlzdGFQZXJmaWxlcy5zZXQocm9sLmxsYXZlUm9sLCByb2wubm9tYnJlUm9sKTtcbiAgICAgICAgdGhpcy5saXN0YUNvbmV4aW9uZXMuc2V0KHJvbC5jb2RpZ29Db25leGlvbiwgcm9sLm5vbWJyZUNvbmV4aW9uKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmZpbHRyb2xSb2xlc0NvbmV4aW9uRW1wcmVzYSA9IFsuLi50aGlzLnJvbGVzQ29uZXhpb25FbXByZXNhXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROb21icmVSb2woKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMubGlzdGFQZXJmaWxlcy5zaXplID4gMSB8fCB0aGlzLnJvbGVzQ29uZXhpb25FbXByZXNhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnJvbGVzQ29uZXhpb25FbXByZXNhWzBdLm5vbWJyZVJvbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXROb21icmVFbXByZXNhKCk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICh0aGlzLmxpc3RhRW1wcmVzYS5zaXplID4gMSB8fCB0aGlzLnJvbGVzQ29uZXhpb25FbXByZXNhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnJvbGVzQ29uZXhpb25FbXByZXNhWzBdLm5vbWJyZUVtcHJlc2E7XG4gIH1cblxuICBwdWJsaWMgZ2V0Tm9tYnJlQ29uZXhpb24oKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMubGlzdGFDb25leGlvbmVzLnNpemUgPiAxIHx8IHRoaXMucm9sZXNDb25leGlvbkVtcHJlc2EubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucm9sZXNDb25leGlvbkVtcHJlc2FbMF0ubm9tYnJlQ29uZXhpb247XG4gIH1cblxuICBjYXJnYXJMaXN0YWRvRmlsdHJvKCkge1xuXG4gICAgaWYgKHRoaXMucGFyYW1ldHJvQnVzcXVlZGEudHJpbSgpID09PSAnJykge1xuICAgICAgdGhpcy5maWx0cm9sUm9sZXNDb25leGlvbkVtcHJlc2EgPSBbLi4udGhpcy5yb2xlc0NvbmV4aW9uRW1wcmVzYV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdHJvbFJvbGVzQ29uZXhpb25FbXByZXNhID0gdGhpcy5yb2xlc0NvbmV4aW9uRW1wcmVzYS5maWx0ZXIocm9sID0+XG4gICAgICAgIHJvbC5ub21icmVFbXByZXNhLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5wYXJhbWV0cm9CdXNxdWVkYS50b0xvd2VyQ2FzZSgpKSB8fFxuICAgICAgICByb2wubm9tYnJlQ29uZXhpb24udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnBhcmFtZXRyb0J1c3F1ZWRhLnRvTG93ZXJDYXNlKCkpIHx8XG4gICAgICAgIHJvbC5ub21icmVSb2wudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLnBhcmFtZXRyb0J1c3F1ZWRhLnRvTG93ZXJDYXNlKCkpXG4gICAgICApO1xuICAgIH1cblxuICB9XG5cbiAgdmVyQWN0aW9uKCkge1xuICAgIHZhciB1cmxhcGludWNsZW8gPSB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KCd1cmxudWNsZW8nKVxuICAgIHRoaXMucm9sU2VsZWNjaW9uYWRvLmFkbW9uUG9ydGFsID0gdGhpcy5hZG1vblBvcnRhbFxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbShcbiAgICAgICdyb2xfc2VsZWNjaW9uYWRvJyxcbiAgICAgIEpTT04uc3RyaW5naWZ5KHRoaXMucm9sU2VsZWNjaW9uYWRvKVxuICAgICk7XG4gICAgdGhpcy5yb2xTZWxlY2Npb25hZG8uYXBsaWNhY2lvbiA9IHRoaXMuY29kaWdvQXBsaWNhY2lvbjtcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldFJvbFNlbGVjY2lvbmFkbyh0aGlzLnJvbFNlbGVjY2lvbmFkbyk7XG4gICAgdGhpcy5hdXRoU2VydmljZS5zZWxlY2Npb25Sb2wodGhpcy5yb2xTZWxlY2Npb25hZG8pLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgY29uc29sZS5sb2coZGF0YSlcbiAgICAgIC8qbGV0IHJvbDogYW55ID0ge31cbiAgICAgICAgcm9sLmNvZGlnb1JvbCA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW5LZXkoJ2xsYXZlUm9sJyk7XG4gICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdlbmVyYXJUb2tlblB1YmxpY28oKS5zdWJzY3JpYmUoZGF0YTIgPT4ge1xuICAgICAgICB0aGlzLmNvbnRyb2xGdW5jaW9uYWxpZGFkLmNhcmdhckZ1bmNpb25hbGlkYWQocm9sLCBgJHt1cmxhcGludWNsZW99L2F1dGhlbnRpY2F0aW9uL2Z1bmNpb25hbGlkYWRlc2AsIGRhdGEyLnRva2VuKS5zdWJzY3JpYmUoe30pOyovXG4gICAgICBjb25zdCB0b2tlbiA9IChkYXRhIGFzIGFueSk/LnRva2VuIGFzIHN0cmluZztcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgndG9rZW4nLCB0b2tlbik7XG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ2NvbnRyb2xGdW5jaW9uYWxpZGFkZXMnLCAoZGF0YSBhcyBhbnkpLmNvbnRyb2xlc2Z1bmNpb25hbGlkYWRlcyk7XG4gICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gICAgICAvKiBDb2RpZ28gdGVtcG9yYWwgcGFyYSBtYW50ZW5lciBsYXMgdGFyZWFzLCBwZXJvIGVzdGFzIGRlYmVuIHNlciBvYnRlbmlkYXMgcG9yIHVuIHNlcnZpY2lvICovXG4gICAgICB2YXIgdGFyZWFzOiBUYXJlYXNNb2RlbFtdID0gKGRhdGEgYXMgYW55KS50YXJlYXNtb2R1bG87XG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ19fdGFyZWFzJywgSlNPTi5zdHJpbmdpZnkodGFyZWFzKSk7XG4gICAgICB2YXIgbW9kdWxvc0RlVGFyZWFzID0gdGFyZWFzLmZpbHRlcigob2JqLCBpbmRleCwgc2VsZikgPT4ge1xuICAgICAgICByZXR1cm4gaW5kZXggPT09IHNlbGYuZmluZEluZGV4KChvKSA9PiBvLm1vZHVsbyA9PT0gb2JqLm1vZHVsbyk7XG4gICAgICB9KTtcbiAgICAgIHZhciBtb2R1bG9zOiBNb2R1bG9zTW9kZWxbXSA9IFtdO1xuICAgICAgbW9kdWxvc0RlVGFyZWFzLmZvckVhY2goZGF0YSA9PiB7XG4gICAgICAgIGxldCBtb2R1bG86IE1vZHVsb3NNb2RlbCA9IHtcbiAgICAgICAgICBsbGF2ZTogZGF0YS5tb2R1bG8sXG4gICAgICAgICAgZGVzY3JpcGNpb246IGRhdGEubm9tYnJlTW9kdWxvLFxuICAgICAgICAgIGljb25vOiBkYXRhLmljb25vTW9kdWxvXG4gICAgICAgIH1cbiAgICAgICAgbW9kdWxvcy5wdXNoKG1vZHVsbylcbiAgICAgIH0pXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0oJ21vZHVsb3MnLCBKU09OLnN0cmluZ2lmeShtb2R1bG9zKSk7XG4gICAgICBpZiAodGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKCdtb2R1bG9GYXZvcml0bycpICE9PSB1bmRlZmluZWQgJiYgdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKCdtb2R1bG9GYXZvcml0bycpKSB7XG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgnbW9kdWxvU2VsZWNjaW9uYWRvJywgdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtKCdtb2R1bG9GYXZvcml0bycpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0SXRlbSgnbW9kdWxvU2VsZWNjaW9uYWRvJywgKGRhdGEgYXMgYW55KT8ubW9kdWxvZGVmZWN0byk7XG4gICAgICB9XG4gICAgICB0aGlzLnJlZ3Jlc2FyUmVnaXN0cm8oKVxuICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5ocmVmLnRvU3RyaW5nKCkuaW5jbHVkZXMoJ2FkbW9uUG9ydGFsJykpIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLnV0aWxzU2VydmljZS5vYnRlbmVyQmFzZSgpICsgJy9hZG1vblBvcnRhbC9pbmljaW8nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy51dGlsc1NlcnZpY2Uub2J0ZW5lckJhc2UoKSArICcvaW5pY2lvJyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuXG4gIHJlZ3Jlc2FyUmVnaXN0cm8oKSB7XG4gICAgdGhpcy5tb3N0cmFyID0gZmFsc2U7XG4gICAgdGhpcy5yZWdyZXNhci5lbWl0KCk7XG4gIH1cblxufSIsIjxwLWRpYWxvZyBpZD0ncG9wdXBTZWxlY2Npb25QbGFudGlsbGEnIGhlYWRlcj1cIlBlcmZpbFwiIFsodmlzaWJsZSldPVwibW9zdHJhclwiIGFwcGVuZFRvPVwiYm9keVwiXG4gICAgKG9uSGlkZSk9XCJyZWdyZXNhclJlZ2lzdHJvKClcIiBbYnJlYWtwb2ludHNdPVwieyc5NjBweCc6ICc3NXZ3JywgJzY0MHB4JzogJzEwMHZ3J31cIiBbc3R5bGVdPVwieydtaW4td2lkdGgnOicyMHZ3J31cIlxuICAgIFttb2RhbF09XCJ0cnVlXCIgW2RyYWdnYWJsZV09XCJmYWxzZVwiPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJwLWlucHV0LWljb24tbGVmdCBtYi0zIHctZnVsbFwiPlxuICAgICAgICA8aSBjbGFzcz1cInBpIHBpLXNlYXJjaFwiPjwvaT5cbiAgICAgICAgPGlucHV0IGNsYXNzPVwiIHctZnVsbCBwLWlucHV0dGV4dFwiIHR5cGU9XCJ0ZXh0XCIgcElucHV0VGV4dCBbKG5nTW9kZWwpXT1cInBhcmFtZXRyb0J1c3F1ZWRhXCIgKGtleXVwLmVudGVyKT1cImNhcmdhckxpc3RhZG9GaWx0cm8oKVwiIC8+XG4gICAgPC9zcGFuPlxuXG4gICAgPCEtLSBDb250ZW5pZG8gLS0+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggbWItM1wiPlxuICAgICAgICA8IS0tRW1wcmVzYSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1yLTRcIiBwVG9vbHRpcD1cIkVtcHJlc2FcIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgICAgKm5nSWY9XCJnZXROb21icmVFbXByZXNhKCkgIT0gbnVsbFwiPlxuICAgICAgICAgICAgPGkgc3R5bGU9XCJmb250LXNpemU6IDEuMnJlbSAhaW1wb3J0YW50XCIgY2xhc3M9XCJnbHlwaGljb25zIGdseXBoaWNvbnMtYnVpbGRpbmcgY29sb3ItNDAwXCI+PC9pPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9udC1zZW1pYm9sZFwiIGh0bWxGb3I9XCJpZF9lbXByZXNhXCI+IHt7Z2V0Tm9tYnJlRW1wcmVzYSgpIHwgdXBwZXJjYXNlfX08L2xhYmVsPlxuICAgICAgICAgICAgPCEtLSA8bGFiZWwgaHRtbEZvcj1cImVtcHJlc2FcIj57eydlbXByZXNhJyB8IHRyYW5zbGF0ZX19PC9sYWJlbD4gLS0+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tQ29uZXhpb24gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtci00XCIgcFRvb2x0aXA9XCJDb25leGnDs25cIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuICAgICAgICAgICAgKm5nSWY9XCJnZXROb21icmVDb25leGlvbigpICE9IG51bGxcIj5cbiAgICAgICAgICAgIDxpIHN0eWxlPVwiZm9udC1zaXplOiAxLjJyZW0gIWltcG9ydGFudFwiIGNsYXNzPVwiZ2x5cGhpY29ucyBnbHlwaGljb25zLWJvb2sgY29sb3ItNDAwIGZvbnQtc2VtaWJvbGRcIj48L2k+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb250LXNlbWlib2xkXCIgaHRtbEZvcj1cImlkX3JvbFwiPiB7e2dldE5vbWJyZUNvbmV4aW9uKCkgfCB1cHBlcmNhc2V9fTwvbGFiZWw+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS1Sb2wgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiIHBUb29sdGlwPVwiUm9sXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCIgKm5nSWY9XCJnZXROb21icmVSb2woKSAhPSBudWxsXCI+XG4gICAgICAgICAgICA8aSBzdHlsZT1cImZvbnQtc2l6ZTogMS4ycmVtICFpbXBvcnRhbnRcIiBjbGFzcz1cImdseXBoaWNvbnMgZ2x5cGhpY29ucy11c2VyIGNvbG9yLTQwMFwiPjwvaT5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvbnQtc2VtaWJvbGRcIiBodG1sRm9yPVwiaWRfcm9sXCI+IHt7Z2V0Tm9tYnJlUm9sKCl9fTwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPHAtdGFibGUgW3ZhbHVlXT1cImZpbHRyb2xSb2xlc0NvbmV4aW9uRW1wcmVzYVwiIHJlc3BvbnNpdmVMYXlvdXQ9XCJzY3JvbGxcIiBbcGFnaW5hdG9yXT1cImxpc3RSb2xlcy5sZW5ndGggPiAxMFwiIFtyb3dzXT1cIjEwXCJcbiAgICAgICAgWyhzZWxlY3Rpb24pXT1cInJvbFNlbGVjY2lvbmFkb1wiIGRhdGFLZXk9XCJsbGF2ZVRhYmxhXCIgKG9uUm93U2VsZWN0KT1cInZlckFjdGlvbigpXCIgc2VsZWN0aW9uTW9kZT1cInNpbmdsZVwiPlxuICAgICAgICA8IS0tIGhlYWRlciBkZSBsYSB0YWJsYSBkZSBzZWxlY2Npb24gcm9sIC0tPlxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJmb25kb1RhYmxhUGluY2lwYWxcIj5cbiAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJnZXROb21icmVFbXByZXNhKCkgID09IG51bGxcIj5Ob21icmUgRW1wcmVzYTwvdGg+XG4gICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwiZ2V0Tm9tYnJlQ29uZXhpb24oKSAgPT0gbnVsbFwiPkNvbmV4acOzbjwvdGg+XG4gICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwiZ2V0Tm9tYnJlUm9sKCkgID09IG51bGxcIj5Sb2w8L3RoPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPCEtLSBjdWVycG8gZGUgbGEgdGFibGEgLS0+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LXJvbCBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxuICAgICAgICAgICAgPHRyIFtwU2VsZWN0YWJsZVJvd109XCJyb2xcIj5cbiAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJnZXROb21icmVFbXByZXNhKCkgPT0gbnVsbFwiIHN0eWxlPVwibWluLXdpZHRoOiAyMDBweFwiPlxuICAgICAgICAgICAgICAgICAgICB7e3JvbC5ub21icmVFbXByZXNhfX1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImdldE5vbWJyZUNvbmV4aW9uKCkgID09IG51bGxcIiBzdHlsZT1cIm1pbi13aWR0aDogMjAwcHhcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgcm9sLm5vbWJyZUNvbmV4aW9ufX1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cImdldE5vbWJyZVJvbCgpICA9PSBudWxsXCIgc3R5bGU9XCJtaW4td2lkdGg6IDIwMHB4XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHJvbC5ub21icmVSb2wgfX1cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3AtdGFibGU+XG48L3AtZGlhbG9nPiJdfQ==