ets-fe-ng-sdk 17.0.214 → 17.0.2145

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.
@@ -167,6 +167,7 @@ export class BtnComponent {
167
167
  this.centerBtn = input(true);
168
168
  this.danger = input();
169
169
  this.warning = input();
170
+ this.counter = signal(0);
170
171
  this.iconBtn = signal(false);
171
172
  this.loading = signal(false);
172
173
  this._mclass = signal(null);
@@ -309,4 +310,4 @@ var OnFormInvalid;
309
310
  OnFormInvalid["disable"] = "disable";
310
311
  OnFormInvalid["warn"] = "warn";
311
312
  })(OnFormInvalid || (OnFormInvalid = {}));
312
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9idG4vYnRuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9idG4vYnRuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUVWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBa0IsTUFBTSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzNELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7O0FBR3BDLFNBQVMsaUJBQWlCLENBQUMsS0FBbUM7SUFDNUQsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FB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Q25CLDhCQUFhLENBQUE7QUFDZixDQUFDLEVBSEksYUFBYSxLQUFiLGFBQWEsUUFHakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBEZXN0cm95UmVmLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBib29sZWFuQXR0cmlidXRlLFxuICBjb21wdXRlZCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1BcnJheSwgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbFN0YXR1cyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEljb25EZWZpbml0aW9uLCBmYUxvY2sgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgQnRuU2VydmljZSB9IGZyb20gJy4vYnRuLnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3RyYW5zbGF0ZS5waXBlJztcbmltcG9ydCB7IFRyYW5zbGF0b3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3RyYW5zbGF0b3IuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lTW9kdWxlIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgTWF0QmFkZ2VNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9iYWRnZSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmLCBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSUZvcm1TY2hlbWEgfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS1zY2hlbWEubW9kZWwnO1xuaW1wb3J0IHsgSWNvblR5cGUsIEJ0blR5cGUsIEJ0bkdyb3VwIH0gZnJvbSAnLi9idG4ubW9kZWwnO1xuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIGRlYm91bmNlVGltZSwgaW50ZXJ2YWwsIG1lcmdlLCB0YXAsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5cbmZ1bmN0aW9uIGJvb2xlYW5BdHRyaWJ1dGUyKHZhbHVlOiBzdHJpbmcgfCBib29sZWFuIHwgdW5kZWZpbmVkKSB7XG4gIHJldHVybiBib29sZWFuQXR0cmlidXRlKHZhbHVlKTtcbn1cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1idG4nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnRuLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnRuLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIC8vIC8vXG4gIGltcG9ydHM6IFtOZ0NsYXNzLCBOZ0lmLCBNYXRUb29sdGlwTW9kdWxlLCBNYXRCYWRnZU1vZHVsZSwgRm9udEF3ZXNvbWVNb2R1bGUsIFRyYW5zbGF0b3JEaXJlY3RpdmUsIEFzeW5jUGlwZSwgVHJhbnNsYXRlUGlwZV0sXG59KSAvLyBJbmhlcml0ZWRcbmV4cG9ydCBjbGFzcyBCdG5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKiogVG8gYmUgcGFzc2VkIHdoZW4gdG8gY2hlY2sgZm9yIHNwZWNpZmljIGludmFsaWQgZm9ybSBmaWVsZHMgKi9cbiAgZm9ybVNjaGVtYSA9IGlucHV0PElGb3JtU2NoZW1hW10+KCk7XG4gIGRlYnVnID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgZm9ybUlzSW52YWxpZCA9IGNvbXB1dGVkPGJvb2xlYW4+KFxuICAgICgpID0+IHtcbiAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLmZvcm1TdGF0ZSgpLFxuICAgICAgICBvbkZvcm1JbnZhbGlkID0gdGhpcy5vbkZvcm1JbnZhbGlkKCksXG4gICAgICAgIGZvcm1TY2hlbWEgPSB0aGlzLmZvcm1TY2hlbWEoKTtcblxuICAgICAgcmV0dXJuIGZvcm0gJiYgZm9ybS5pbnZhbGlkICYmIG9uRm9ybUludmFsaWQgPT0gT25Gb3JtSW52YWxpZC53YXJuICYmIGZvcm1TY2hlbWE/Lmxlbmd0aFxuICAgICAgICA/IGZvcm1TY2hlbWEuc29tZSgoZikgPT4gKDxGb3JtR3JvdXA+Zm9ybSkuY29udHJvbHNbZi5maWVsZD8udG9TdHJpbmcoKV0/LmludmFsaWQpXG4gICAgICAgIDogbnVsbDtcbiAgICB9LFxuICAgIHsgZXF1YWw6IGlzRXF1YWwgfSxcbiAgKTtcbiAgY2VudGVyQnRuID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG4gIGRhbmdlciA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIHdhcm5pbmcgPSBpbnB1dDxib29sZWFuPigpO1xuXG4gIHByb3RlY3RlZCBpY29uVHlwZTogSWNvblR5cGU7XG4gIGljb25CdG4gPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBsb2FkaW5nID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgZm9ybXM6IChGb3JtR3JvdXA8YW55PiB8IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT4gfCBGb3JtQ29udHJvbDxhbnk+IHwgRm9ybUFycmF5PGFueT4pW107XG4gIGZvcm06IEZvcm1Hcm91cDxhbnk+IHwgRm9ybUNvbnRyb2w8YW55PiB8IEZvcm1BcnJheTxhbnk+IHwgQWJzdHJhY3RDb250cm9sPGFueSwgYW55PjtcblxuICBASW5wdXQoJ2ljb24nKSBzZXQgX2ljb24odjogSWNvblR5cGUpIHtcbiAgICB0aGlzLmljb25UeXBlID0gdjtcbiAgICBjb25zdCByZXMgPSB0aGlzLmJ0blMuZ2V0SWNvbih2KTtcbiAgICBpZiAoIXJlcykgcmV0dXJuO1xuICAgIGlmIChyZXMuaWNvblBvc2l0aW9uID09ICdyaWdodCcpIHtcbiAgICAgIHRoaXMucmlnaHRJY29uLnNldChyZXMuaWNvbik7XG4gICAgICB0aGlzLnJpZ2h0Q3VzdG9tSWNvbi5zZXQocmVzLmljb25TdHJpbmcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmxlZnRJY29uLnNldChyZXMuaWNvbik7XG4gICAgICB0aGlzLmxlZnRDdXN0b21JY29uLnNldChyZXMuaWNvblN0cmluZyk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgncmlnaHRJY29uJykgc2V0IF9yaWdodEljb24odjogSWNvblR5cGUpIHtcbiAgICB0aGlzLmljb25UeXBlID0gdjtcbiAgICBjb25zdCByZXMgPSB0aGlzLmJ0blMuZ2V0SWNvbih2KTtcbiAgICB0aGlzLnJpZ2h0SWNvbi5zZXQocmVzLmljb24pO1xuICAgIHRoaXMucmlnaHRDdXN0b21JY29uLnNldChyZXMuaWNvblN0cmluZyk7XG4gIH1cbiAgQElucHV0KCdsZWZ0SWNvbicpIHNldCBfbGVmdEljb24odjogSWNvblR5cGUpIHtcbiAgICB0aGlzLmljb25UeXBlID0gdjtcbiAgICBjb25zdCByZXMgPSB0aGlzLmJ0blMuZ2V0SWNvbih2KTtcbiAgICB0aGlzLmxlZnRJY29uLnNldChyZXMuaWNvbik7XG4gICAgdGhpcy5sZWZ0Q3VzdG9tSWNvbi5zZXQocmVzLmljb25TdHJpbmcpO1xuICB9XG5cbiAgQElucHV0KCd0eXBlJykgc2V0IF90eXBlKHY6IEJ0blR5cGUpIHtcbiAgICBjb25zdCB7IF9pY29uLCBfbWNsYXNzLCBfdHlwZSB9ID0gdGhpcy5idG5TLmdldFR5cGUodik7XG4gICAgdGhpcy5fbWNsYXNzLnVwZGF0ZSgobWNsYXNzKSA9PiBfbWNsYXNzIHx8IG1jbGFzcyk7XG4gICAgaWYgKF9pY29uKSB0aGlzLl9pY29uID0gX2ljb247XG4gICAgaWYgKF90eXBlKSB0aGlzLl90eXBlID0gX3R5cGU7XG4gIH1cblxuICBASW5wdXQoJ2dyb3VwJykgc2V0IF9ncm91cCh2OiBCdG5Hcm91cCkge1xuICAgIHN3aXRjaCAodikge1xuICAgICAgY2FzZSAnYWRkJzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdvdXRsaW5lJztcbiAgICAgICAgdGhpcy5faWNvbiA9ICdhZGQnO1xuICAgICAgICB0aGlzLmljb25CdG4uc2V0KHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2Nsb25lJzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdzZWNvbmRhcnknO1xuICAgICAgICB0aGlzLl9pY29uID0gJ2Nsb25lJztcbiAgICAgICAgdGhpcy5fdGV4dC5zZXQoJ0Nsb25lJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY3JlYXRlJzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdvdXRsaW5lJztcbiAgICAgICAgdGhpcy5faWNvbiA9ICdhZGQnO1xuICAgICAgICB0aGlzLl90ZXh0LnNldCgnQ3JlYXRlJyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY2xvc2UnOlxuICAgICAgICB0aGlzLl90eXBlID0gJ2Rhbmdlci1vdXRsaW5lJztcbiAgICAgICAgdGhpcy5jdXN0b21JY29uID0gdGhpcy5idG5TLmdldEljb24oJ2Nsb3NlJykuaWNvblN0cmluZztcbiAgICAgICAgdGhpcy5pY29uQnRuLnNldCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdkZWxldGUnOlxuICAgICAgICB0aGlzLl90eXBlID0gJ2Rhbmdlci1vdXRsaW5lJztcbiAgICAgICAgdGhpcy5faWNvbiA9ICdkZWxldGUnO1xuICAgICAgICB0aGlzLmljb25CdG4uc2V0KHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2Rvd25sb2FkJzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdzZWNvbmRhcnknO1xuICAgICAgICB0aGlzLl9pY29uID0gJ2Rvd25sb2FkJztcbiAgICAgICAgdGhpcy5pY29uQnRuLnNldCh0cnVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdlZGl0JzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdzZWNvbmRhcnknO1xuICAgICAgICB0aGlzLl9pY29uID0gJ2VkaXQnO1xuICAgICAgICB0aGlzLmljb25CdG4uc2V0KHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2xpbmsnOlxuICAgICAgICB0aGlzLl90eXBlID0gJ3NlY29uZGFyeSc7XG4gICAgICAgIHRoaXMuY3VzdG9tSWNvbiA9ICdmYSBmYS1leWUnO1xuICAgICAgICB0aGlzLmljb25CdG4uc2V0KHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3NlYXJjaCc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnc2Vjb25kYXJ5JztcbiAgICAgICAgdGhpcy5faWNvbiA9ICdzZWFyY2gnO1xuICAgICAgICB0aGlzLmljb25CdG4uc2V0KHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3Nob3cnOlxuICAgICAgICB0aGlzLl90eXBlID0gJ3NlY29uZGFyeSc7XG4gICAgICAgIHRoaXMuX2ljb24gPSAnc2hvdyc7XG4gICAgICAgIHRoaXMuX3RleHQuc2V0KCdTaG93Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc3VibWl0JzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdzZWNvbmRhcnknO1xuICAgICAgICB0aGlzLl9pY29uID0gJ3NhdmUnO1xuICAgICAgICB0aGlzLl90ZXh0LnNldCgnU3VibWl0Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc2F2ZSc6XG4gICAgICAgIHRoaXMuX2dyb3VwID0gJ3N1Ym1pdCc7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICBfbWNsYXNzID0gc2lnbmFsPHN0cmluZz4obnVsbCk7XG4gIGFjdGlvblR5cGUgPSBpbnB1dDwnc3VibWl0JyB8ICdidXR0b24nIHwgJ3Jlc2V0Jz4oJ2J1dHRvbicpO1xuICBhbmltYXRlID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlMiBhcyB1bmRlZmluZWQgfSk7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZTIgfSkgZXhjbHVkZUxvZ2dpbmcgPSBmYWxzZTtcbiAgQElucHV0KCkgbG9nZ2luZ1ZhbHVlOiBzdHJpbmc7XG4gIGJhZGdlID0gaW5wdXQ8c3RyaW5nIHwgbnVtYmVyPihudWxsKTtcbiAgY2xhc3MgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBsZWZ0IHNpZGUgaWNvblxuICAgKi9cbiAgQElucHV0KCkgc2V0IGN1c3RvbUljb24odjogc3RyaW5nKSB7XG4gICAgdGhpcy5sZWZ0Q3VzdG9tSWNvbi5zZXQodik7XG4gIH1cbiAgQElucHV0KHsgYWxpYXM6ICdkaXNhYmxlZCcgfSkgc2V0IF9kaXNhYmxlZCh2OiBib29sZWFuKSB7XG4gICAgdGhpcy5kaXNhYmxlZC5zZXQodiB8fCBmYWxzZSk7XG4gIH1cbiAgLy8gZm9ybVN0YXRlID0gY29tcHV0ZWQ8SUZvcm1TdGF0ZT4oKCkgPT4ge1xuICAvLyAgIGNvbnN0IGQgPSB0aGlzLmNoZWNrRm9ybVN0YXRlKCk7XG5cbiAgLy8gICBpZiAodGhpcy5kZWJ1ZygpKSB7XG4gIC8vICAgICBkZWJ1Z2dlcjtcbiAgLy8gICB9XG4gIC8vICAgcmV0dXJuIHtcbiAgLy8gICAgIHBlbmRpbmc6IHRoaXMuZm9ybT8ucGVuZGluZyxcbiAgLy8gICAgIGRpcnR5OiB0aGlzLmZvcm0/LmRpcnR5LFxuICAvLyAgICAgaW52YWxpZDogdGhpcy5mb3JtPy5pbnZhbGlkLFxuICAvLyAgICAgcHJpc3RpbmU6IHRoaXMuZm9ybT8ucHJpc3RpbmUsXG4gIC8vICAgICB2YWxpZDogdGhpcy5mb3JtPy52YWxpZCxcbiAgLy8gICB9O1xuICAvLyB9KTtcbiAgZm9ybVN0YXRlID0gc2lnbmFsPElGb3JtU3RhdGU+KHt9KTtcbiAgcHJvdGVjdGVkIGZvcm1TdWI6IFN1YnNjcmlwdGlvbjtcbiAgcHJvdGVjdGVkIGZvcm1zU3ViOiBTdWJzY3JpcHRpb247XG4gIEBJbnB1dCgnZm9ybScpIHNldCBfZm9ybSh2OiBGb3JtR3JvdXAgfCBGb3JtQ29udHJvbCB8IEZvcm1BcnJheSB8IEFic3RyYWN0Q29udHJvbCkge1xuICAgIHRoaXMuZm9ybVN1Yj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmZvcm0gPSB2O1xuICAgIHRoaXMuYnRuUy5zZXRGb3JtU3RhdGUodiwgdGhpcyk7XG4gICAgaWYgKHRoaXMuZGVidWcoKSkgZGVidWdnZXI7XG4gICAgaWYgKHYpIHRoaXMuZm9ybVN1YiA9IHRoaXMuYnRuUy5oYW5kbGVGb3JtKHYsIHRoaXMpO1xuICB9XG5cbiAgZm9ybXNTdGF0ZSA9IHNpZ25hbDxPbWl0PElGb3JtU3RhdGUsICdzdGF0dXMnPj4odW5kZWZpbmVkKTtcbiAgQElucHV0KCdmb3JtcycpIHNldCBfZm9ybXModjogKEZvcm1Hcm91cCB8IEZvcm1Db250cm9sIHwgRm9ybUFycmF5IHwgQWJzdHJhY3RDb250cm9sKVtdKSB7XG4gICAgdGhpcy5mb3Jtc1N1Yj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLmZvcm1zID0gdjtcbiAgICB0aGlzLmJ0blMuc2V0Rm9ybXNTdGF0ZSh2LCB0aGlzKTtcbiAgICBpZiAodGhpcy5kZWJ1ZygpKSBkZWJ1Z2dlcjtcbiAgICBpZiAodikgdGhpcy5mb3Jtc1N1YiA9IHRoaXMuYnRuUy5oYW5kbGVGb3Jtcyh2LCB0aGlzKTtcbiAgfVxuICBoZWxwID0gaW5wdXQ8c3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD4oKTtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIG5vIGxvbmdlciBuZWVkZWQgdG8gZGV0ZWN0IHRoZSBjb3JyZWN0IHNwYWNpbmcgYmV0d2VlbiBpY29uIGFuZCB0ZXh0XG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUyLCBhbGlhczogJ2ljb25CdG4nIH0pIHNldCBfaWNvbkJ0bih2OiBib29sZWFuKSB7XG4gICAgdGhpcy5pY29uQnRuLnNldCh2IHx8IGZhbHNlKTtcbiAgfVxuICBASW5wdXQoJ2xvYWRpbmcnKSBzZXQgX2xvYWRpbmcodjogYm9vbGVhbikge1xuICAgIHRoaXMubG9hZGluZy5zZXQodik7XG4gIH1cbiAgbWNsYXNzID0gaW5wdXQ8c3RyaW5nPihudWxsKTtcbiAgc2hvd0hlbHBJY29uID0gaW5wdXQodHJ1ZSk7XG4gIHJpZ2h0SWNvbiA9IHNpZ25hbDxJY29uRGVmaW5pdGlvbj4obnVsbCk7XG4gIEBJbnB1dCh7IGFsaWFzOiAncmlnaHRDdXN0b21JY29uJyB9KSBzZXQgX3JpZ2h0Q3VzdG9tSWNvbih2OiBzdHJpbmcpIHtcbiAgICB0aGlzLnJpZ2h0Q3VzdG9tSWNvbi5zZXQodik7XG4gIH1cbiAgcmlnaHRDdXN0b21JY29uID0gc2lnbmFsPHN0cmluZz4obnVsbCk7XG4gIGxlZnRJY29uID0gc2lnbmFsPEljb25EZWZpbml0aW9uPihudWxsKTtcbiAgQElucHV0KHsgYWxpYXM6ICdsZWZ0Q3VzdG9tSWNvbicgfSkgc2V0IF9sZWZ0Q3VzdG9tSWNvbih2OiBzdHJpbmcpIHtcbiAgICB0aGlzLmxlZnRDdXN0b21JY29uLnNldCh2KTtcbiAgfVxuICBsZWZ0Q3VzdG9tSWNvbiA9IHNpZ25hbDxzdHJpbmc+KG51bGwpO1xuICB0ZXh0ID0gaW5wdXQ8c3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD4oKTtcbiAgdmFsaWQgPSBpbnB1dCh0cnVlKTtcbiAgbWluaSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZTIgYXMgdW5kZWZpbmVkIH0pO1xuICBvbkZvcm1JbnZhbGlkID0gaW5wdXQ8a2V5b2YgdHlwZW9mIE9uRm9ybUludmFsaWQ+KE9uRm9ybUludmFsaWQuZGlzYWJsZSk7XG4gIEBPdXRwdXQoKSBtY2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBWaWV3Q2hpbGQoJ2lubmVyVGV4dCcpIGlubmVyVGV4dDogRWxlbWVudFJlZjxIVE1MU3BhbkVsZW1lbnQ+O1xuICBsb2NrZWQgPSBzaWduYWwoZmFMb2NrKTtcbiAgcHJvdGVjdGVkIF90ZXh0ID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KHVuZGVmaW5lZCk7XG4gIHByb3RlY3RlZCBkaXNhYmxlZCA9IHNpZ25hbDxib29sZWFuIHwgbnVsbD4odW5kZWZpbmVkKTtcbiAgY29tcHV0ZWRUZXh0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGlucHV0ID0gdGhpcy50ZXh0KCksXG4gICAgICBsb2NhbCA9IHRoaXMuX3RleHQoKTtcbiAgICByZXR1cm4gaW5wdXQgPT0gbnVsbCA/IGxvY2FsIDogaW5wdXQ7XG4gIH0pO1xuICBwdWJsaWMgYnRuUyA9IGluamVjdChCdG5TZXJ2aWNlKTtcbiAgcHVibGljIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5kZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgICB0aGlzLmZvcm1TdWI/LnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLmZvcm1zU3ViPy51bnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgIC8vQ2FsbGVkIGFmdGVyIGV2ZXJ5IGNoZWNrIG9mIHRoZSBjb21wb25lbnQncyB2aWV3LiBBcHBsaWVzIHRvIGNvbXBvbmVudHMgb25seS5cbiAgICAvL0FkZCAnaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkJyB0byB0aGUgY2xhc3MuXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX21jbGFzcygpKSB0aGlzLl90eXBlID0gdGhpcy5idG5TLmRlZmF1bHRUeXBlO1xuICB9XG5cbiAgXG5cbiAgc2V0TG9hZGVyKHZhbDogYm9vbGVhbikge1xuICAgIHRoaXMubG9hZGluZy5zZXQodmFsKTtcbiAgfVxuICBnZXQgZXh0cmFjdFRleHQoKSB7XG4gICAgcmV0dXJuIGBDbGlja2VkIG9uICR7dGhpcy50ZXh0KCkgfHwgdGhpcy5pbm5lclRleHQ/Lm5hdGl2ZUVsZW1lbnQ/LmlubmVySFRNTCB8fCB0aGlzLmljb25UeXBlIHx8ICdidXR0b24nfSAke1xuICAgICAgdGhpcy5sb2dnaW5nVmFsdWUgPyAnXFxuVHJhY2sgdmFsdWU6ICcgKyB0aGlzLmxvZ2dpbmdWYWx1ZSA6ICcnXG4gICAgfWA7XG4gIH1cbiAgY2xpY2soJGV2ZW50KSB7XG4gICAgLy8gZGVidWdnZXJcbiAgICBpZiAodGhpcy5pc0Rpc2FibGVkKCkgfHwgdGhpcy5sb2FkaW5nKCkpIHJldHVybjtcbiAgICB0aGlzLm1jbGljay5lbWl0KCRldmVudCk7XG4gICAgdGhpcy5idG5TLmxvZ0NsaWNrKHRoaXMpO1xuICB9XG5cbiAgaXNEaXNhYmxlZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAodGhpcy5kZWJ1ZygpKSBkZWJ1Z2dlcjtcbiAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQoKSxcbiAgICAgIHZhbGlkID0gdGhpcy52YWxpZCgpLFxuICAgICAgb25Gb3JtSW52YWxpZCA9IHRoaXMub25Gb3JtSW52YWxpZCgpLFxuICAgICAgZm9ybSA9IHRoaXMuZm9ybVN0YXRlKCksXG4gICAgICBmb3JtcyA9IHRoaXMuZm9ybXNTdGF0ZSgpO1xuICAgIHJldHVybiBkaXNhYmxlZCB8fCAhdmFsaWQgfHwgKG9uRm9ybUludmFsaWQgPT0gT25Gb3JtSW52YWxpZC5kaXNhYmxlICYmIChmb3JtPy5pbnZhbGlkIHx8IGZvcm0/LnBlbmRpbmcgfHwgZm9ybXM/LnBlbmRpbmcpKTtcbiAgfSk7XG5cbiAgZGlzYWJsZSgpIHtcbiAgICB0aGlzLmRpc2FibGVkLnNldCh0cnVlKTtcbiAgfVxuXG4gIGVuYWJsZSgpIHtcbiAgICB0aGlzLmRpc2FibGVkLnNldChmYWxzZSk7XG4gIH1cbn1cbmVudW0gT25Gb3JtSW52YWxpZCB7XG4gIGRpc2FibGUgPSAnZGlzYWJsZScsXG4gIHdhcm4gPSAnd2FybicsXG59XG5pbnRlcmZhY2UgSUZvcm1TdGF0ZSB7XG4gIHBlbmRpbmc/OiBib29sZWFuO1xuICBkaXJ0eT86IGJvb2xlYW47XG4gIGludmFsaWQ/OiBib29sZWFuO1xuICBwcmlzdGluZT86IGJvb2xlYW47XG4gIHZhbGlkPzogYm9vbGVhbjtcbiAgc3RhdHVzPzogRm9ybUNvbnRyb2xTdGF0dXM7XG59XG4iLCI8c3BhblxuICBjbGFzcz1cInt7IGNsYXNzKCkgfX0gIGQtZmxleCAgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIlxuICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBpc0Rpc2FibGVkKCksIG1pbmk6IG1pbmkoKSB9XCJcbiAgKGNsaWNrKT1cImJ0blMuY2hlY2tGb3JtKHRoaXMpXCI+XG4gIEBpZiAoc2hvd0hlbHBJY29uKCkgJiYgaGVscCgpKSB7XG4gICAgPGkgY2xhc3M9XCJmYSBmYS1pbmZvLWNpcmNsZSBtZS0yIHRleHQtcHJpbWFyeVwiIFttYXRUb29sdGlwXT1cImhlbHAoKSB8IGFwcFRyYW5zbGF0ZSB8IGFzeW5jXCI+PC9pPlxuICB9XG4gIDxidXR0b25cbiAgICB0eXBlPVwie3sgYWN0aW9uVHlwZSgpIH19XCJcbiAgICBjbGFzcz1cInt7IG1jbGFzcygpIH19IHt7IF9tY2xhc3MoKSB9fSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIFwiXG4gICAgW21hdEJhZGdlXT1cImJhZGdlKClcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgIGNoYW5nZWNvbG9yOiB2YWxpZCgpLFxuICAgICAgJ2J0bi1yYWlzZWQnOiBhbmltYXRlKCksXG4gICAgICBkaXNhYmxlZDogaXNEaXNhYmxlZCgpLFxuICAgICAgaXNEYW5nZXI6IGRhbmdlcigpLFxuICAgICAgaXNXYXJuaW5nOiB3YXJuaW5nKCksXG4gICAgICBpbnZhbGlkOiBmb3JtSXNJbnZhbGlkKCksXG4gICAgICAnanVzdGlmeS1jb250ZW50LWNlbnRlcic6IGNlbnRlckJ0bigpXG4gICAgfVwiXG4gICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWQoKVwiXG4gICAgKGNsaWNrKT1cImNsaWNrKCRldmVudClcIlxuICAgIFttYXRUb29sdGlwXT1cInNob3dIZWxwSWNvbigpID8gbnVsbCA6IChoZWxwKCkgfCBhcHBUcmFuc2xhdGUgfCBhc3luYylcIj5cbiAgICBAaWYgKCFsb2FkaW5nKCkpIHtcbiAgICAgIEBpZiAobGVmdEljb24oKSkge1xuICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJpc0Rpc2FibGVkKCkgPyBsb2NrZWQoKSA6IGxlZnRJY29uKClcIj48L2ZhLWljb24+XG4gICAgICB9IEBlbHNlIGlmIChsZWZ0Q3VzdG9tSWNvbigpKSB7XG4gICAgICAgIDxpIGNsYXNzPVwie3sgbGVmdEN1c3RvbUljb24oKSB9fVwiPjwvaT5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKGNvbXB1dGVkVGV4dCgpKSB7XG4gICAgICA8c3BhbiBjbGFzcz1cIlwiIFtuZ0NsYXNzXT1cInsgJ21zLTEnOiBsZWZ0SWNvbigpIHx8IGxlZnRDdXN0b21JY29uKCksICdtZS0xJzogcmlnaHRJY29uKCkgfHwgcmlnaHRDdXN0b21JY29uKCkgfVwiPlxuICAgICAgICB7eyBjb21wdXRlZFRleHQoKSB8IGFwcFRyYW5zbGF0ZSB8IGFzeW5jIH19XG4gICAgICA8L3NwYW4+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8c3BhblxuICAgICAgICBjbGFzcz1cIiBcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ21zLTEnOiBpbm5lclRleHQuaW5uZXJUZXh0ICYmIChsZWZ0SWNvbigpIHx8IGxlZnRDdXN0b21JY29uKCkpLFxuICAgICAgICAgICdtZS0xJzogaW5uZXJUZXh0LmlubmVyVGV4dCAmJiAocmlnaHRJY29uKCkgfHwgcmlnaHRDdXN0b21JY29uKCkpXG4gICAgICAgIH1cIlxuICAgICAgICAjaW5uZXJUZXh0XG4gICAgICAgIGFwcFRyYW5zbGF0b3I+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvc3Bhbj5cbiAgICB9XG5cbiAgICBAaWYgKGxvYWRpbmcoKSkge1xuICAgICAgPHNwYW4gY2xhc3M9XCJmYSBmYS1zcGlubmVyIG1zLXt7IGljb25CdG4oKSA/ICcnIDogJzInIH19IGZhLXNwaW5cIj48L3NwYW4+XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgKHJpZ2h0SWNvbigpKSB7XG4gICAgICAgIDxmYS1pY29uIFtpY29uXT1cImlzRGlzYWJsZWQoKSA/IGxvY2tlZCgpIDogcmlnaHRJY29uKClcIj48L2ZhLWljb24+XG4gICAgICB9IEBlbHNlIGlmIChyaWdodEN1c3RvbUljb24oKSkge1xuICAgICAgICA8aSBjbGFzcz1cInt7IHJpZ2h0Q3VzdG9tSWNvbigpIH19XCI+PC9pPlxuICAgICAgfVxuICAgIH1cbiAgPC9idXR0b24+XG48L3NwYW4+XG4iXX0=
313
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9idG4vYnRuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy9idG4vYnRuLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUVWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBa0IsTUFBTSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzNELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7O0FBR3BDLFNBQVMsaUJBQWlCLENBQUMsS0FBbUM7SUFDNUQsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FB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LGFBR0o7QUFIRCxXQUFLLGFBQWE7SUFDaEIsb0NBQW1CLENBQUE7SUFDbkIsOEJBQWEsQ0FBQTtBQUNmLENBQUMsRUFISSxhQUFhLEtBQWIsYUFBYSxRQUdqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIERlc3Ryb3lSZWYsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGNvbXB1dGVkLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgRm9ybUFycmF5LCBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sU3RhdHVzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSWNvbkRlZmluaXRpb24sIGZhTG9jayB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBCdG5TZXJ2aWNlIH0gZnJvbSAnLi9idG4uc2VydmljZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvdHJhbnNsYXRlLnBpcGUnO1xuaW1wb3J0IHsgVHJhbnNsYXRvckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvdHJhbnNsYXRvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVNb2R1bGUgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBNYXRCYWRnZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2JhZGdlJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IE5nQ2xhc3MsIE5nSWYsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJRm9ybVNjaGVtYSB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLXNjaGVtYS5tb2RlbCc7XG5pbXBvcnQgeyBJY29uVHlwZSwgQnRuVHlwZSwgQnRuR3JvdXAgfSBmcm9tICcuL2J0bi5tb2RlbCc7XG5pbXBvcnQgeyBpc0VxdWFsIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZGVib3VuY2VUaW1lLCBpbnRlcnZhbCwgbWVyZ2UsIHRhcCwgdGltZXIgfSBmcm9tICdyeGpzJztcblxuZnVuY3Rpb24gYm9vbGVhbkF0dHJpYnV0ZTIodmFsdWU6IHN0cmluZyB8IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgcmV0dXJuIGJvb2xlYW5BdHRyaWJ1dGUodmFsdWUpO1xufVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWJ0bicsXG4gIHRlbXBsYXRlVXJsOiAnLi9idG4uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idG4uY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgLy8gLy9cbiAgaW1wb3J0czogW05nQ2xhc3MsIE5nSWYsIE1hdFRvb2x0aXBNb2R1bGUsIE1hdEJhZGdlTW9kdWxlLCBGb250QXdlc29tZU1vZHVsZSwgVHJhbnNsYXRvckRpcmVjdGl2ZSwgQXN5bmNQaXBlLCBUcmFuc2xhdGVQaXBlXSxcbn0pIC8vIEluaGVyaXRlZFxuZXhwb3J0IGNsYXNzIEJ0bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKiBUbyBiZSBwYXNzZWQgd2hlbiB0byBjaGVjayBmb3Igc3BlY2lmaWMgaW52YWxpZCBmb3JtIGZpZWxkcyAqL1xuICBmb3JtU2NoZW1hID0gaW5wdXQ8SUZvcm1TY2hlbWFbXT4oKTtcbiAgZGVidWcgPSBpbnB1dDxib29sZWFuPigpO1xuICBmb3JtSXNJbnZhbGlkID0gY29tcHV0ZWQ8Ym9vbGVhbj4oXG4gICAgKCkgPT4ge1xuICAgICAgY29uc3QgZm9ybSA9IHRoaXMuZm9ybVN0YXRlKCksXG4gICAgICAgIG9uRm9ybUludmFsaWQgPSB0aGlzLm9uRm9ybUludmFsaWQoKSxcbiAgICAgICAgZm9ybVNjaGVtYSA9IHRoaXMuZm9ybVNjaGVtYSgpO1xuXG4gICAgICByZXR1cm4gZm9ybSAmJiBmb3JtLmludmFsaWQgJiYgb25Gb3JtSW52YWxpZCA9PSBPbkZvcm1JbnZhbGlkLndhcm4gJiYgZm9ybVNjaGVtYT8ubGVuZ3RoXG4gICAgICAgID8gZm9ybVNjaGVtYS5zb21lKChmKSA9PiAoPEZvcm1Hcm91cD5mb3JtKS5jb250cm9sc1tmLmZpZWxkPy50b1N0cmluZygpXT8uaW52YWxpZClcbiAgICAgICAgOiBudWxsO1xuICAgIH0sXG4gICAgeyBlcXVhbDogaXNFcXVhbCB9LFxuICApO1xuICBjZW50ZXJCdG4gPSBpbnB1dDxib29sZWFuPih0cnVlKTtcbiAgZGFuZ2VyID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgd2FybmluZyA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIGNvdW50ZXI9c2lnbmFsKDApXG5cbiAgcHJvdGVjdGVkIGljb25UeXBlOiBJY29uVHlwZTtcbiAgaWNvbkJ0biA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIGxvYWRpbmcgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBmb3JtczogKEZvcm1Hcm91cDxhbnk+IHwgQWJzdHJhY3RDb250cm9sPGFueSwgYW55PiB8IEZvcm1Db250cm9sPGFueT4gfCBGb3JtQXJyYXk8YW55PilbXTtcbiAgZm9ybTogRm9ybUdyb3VwPGFueT4gfCBGb3JtQ29udHJvbDxhbnk+IHwgRm9ybUFycmF5PGFueT4gfCBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+O1xuXG4gIEBJbnB1dCgnaWNvbicpIHNldCBfaWNvbih2OiBJY29uVHlwZSkge1xuICAgIHRoaXMuaWNvblR5cGUgPSB2O1xuICAgIGNvbnN0IHJlcyA9IHRoaXMuYnRuUy5nZXRJY29uKHYpO1xuICAgIGlmICghcmVzKSByZXR1cm47XG4gICAgaWYgKHJlcy5pY29uUG9zaXRpb24gPT0gJ3JpZ2h0Jykge1xuICAgICAgdGhpcy5yaWdodEljb24uc2V0KHJlcy5pY29uKTtcbiAgICAgIHRoaXMucmlnaHRDdXN0b21JY29uLnNldChyZXMuaWNvblN0cmluZyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubGVmdEljb24uc2V0KHJlcy5pY29uKTtcbiAgICAgIHRoaXMubGVmdEN1c3RvbUljb24uc2V0KHJlcy5pY29uU3RyaW5nKTtcbiAgICB9XG4gIH1cbiAgQElucHV0KCdyaWdodEljb24nKSBzZXQgX3JpZ2h0SWNvbih2OiBJY29uVHlwZSkge1xuICAgIHRoaXMuaWNvblR5cGUgPSB2O1xuICAgIGNvbnN0IHJlcyA9IHRoaXMuYnRuUy5nZXRJY29uKHYpO1xuICAgIHRoaXMucmlnaHRJY29uLnNldChyZXMuaWNvbik7XG4gICAgdGhpcy5yaWdodEN1c3RvbUljb24uc2V0KHJlcy5pY29uU3RyaW5nKTtcbiAgfVxuICBASW5wdXQoJ2xlZnRJY29uJykgc2V0IF9sZWZ0SWNvbih2OiBJY29uVHlwZSkge1xuICAgIHRoaXMuaWNvblR5cGUgPSB2O1xuICAgIGNvbnN0IHJlcyA9IHRoaXMuYnRuUy5nZXRJY29uKHYpO1xuICAgIHRoaXMubGVmdEljb24uc2V0KHJlcy5pY29uKTtcbiAgICB0aGlzLmxlZnRDdXN0b21JY29uLnNldChyZXMuaWNvblN0cmluZyk7XG4gIH1cblxuICBASW5wdXQoJ3R5cGUnKSBzZXQgX3R5cGUodjogQnRuVHlwZSkge1xuICAgIGNvbnN0IHsgX2ljb24sIF9tY2xhc3MsIF90eXBlIH0gPSB0aGlzLmJ0blMuZ2V0VHlwZSh2KTtcbiAgICB0aGlzLl9tY2xhc3MudXBkYXRlKChtY2xhc3MpID0+IF9tY2xhc3MgfHwgbWNsYXNzKTtcbiAgICBpZiAoX2ljb24pIHRoaXMuX2ljb24gPSBfaWNvbjtcbiAgICBpZiAoX3R5cGUpIHRoaXMuX3R5cGUgPSBfdHlwZTtcbiAgfVxuXG4gIEBJbnB1dCgnZ3JvdXAnKSBzZXQgX2dyb3VwKHY6IEJ0bkdyb3VwKSB7XG4gICAgc3dpdGNoICh2KSB7XG4gICAgICBjYXNlICdhZGQnOlxuICAgICAgICB0aGlzLl90eXBlID0gJ291dGxpbmUnO1xuICAgICAgICB0aGlzLl9pY29uID0gJ2FkZCc7XG4gICAgICAgIHRoaXMuaWNvbkJ0bi5zZXQodHJ1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY2xvbmUnOlxuICAgICAgICB0aGlzLl90eXBlID0gJ3NlY29uZGFyeSc7XG4gICAgICAgIHRoaXMuX2ljb24gPSAnY2xvbmUnO1xuICAgICAgICB0aGlzLl90ZXh0LnNldCgnQ2xvbmUnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjcmVhdGUnOlxuICAgICAgICB0aGlzLl90eXBlID0gJ291dGxpbmUnO1xuICAgICAgICB0aGlzLl9pY29uID0gJ2FkZCc7XG4gICAgICAgIHRoaXMuX3RleHQuc2V0KCdDcmVhdGUnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdjbG9zZSc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnZGFuZ2VyLW91dGxpbmUnO1xuICAgICAgICB0aGlzLmN1c3RvbUljb24gPSB0aGlzLmJ0blMuZ2V0SWNvbignY2xvc2UnKS5pY29uU3RyaW5nO1xuICAgICAgICB0aGlzLmljb25CdG4uc2V0KHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2RlbGV0ZSc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnZGFuZ2VyLW91dGxpbmUnO1xuICAgICAgICB0aGlzLl9pY29uID0gJ2RlbGV0ZSc7XG4gICAgICAgIHRoaXMuaWNvbkJ0bi5zZXQodHJ1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZG93bmxvYWQnOlxuICAgICAgICB0aGlzLl90eXBlID0gJ3NlY29uZGFyeSc7XG4gICAgICAgIHRoaXMuX2ljb24gPSAnZG93bmxvYWQnO1xuICAgICAgICB0aGlzLmljb25CdG4uc2V0KHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2VkaXQnOlxuICAgICAgICB0aGlzLl90eXBlID0gJ3NlY29uZGFyeSc7XG4gICAgICAgIHRoaXMuX2ljb24gPSAnZWRpdCc7XG4gICAgICAgIHRoaXMuaWNvbkJ0bi5zZXQodHJ1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbGluayc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnc2Vjb25kYXJ5JztcbiAgICAgICAgdGhpcy5jdXN0b21JY29uID0gJ2ZhIGZhLWV5ZSc7XG4gICAgICAgIHRoaXMuaWNvbkJ0bi5zZXQodHJ1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc2VhcmNoJzpcbiAgICAgICAgdGhpcy5fdHlwZSA9ICdzZWNvbmRhcnknO1xuICAgICAgICB0aGlzLl9pY29uID0gJ3NlYXJjaCc7XG4gICAgICAgIHRoaXMuaWNvbkJ0bi5zZXQodHJ1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnc2hvdyc6XG4gICAgICAgIHRoaXMuX3R5cGUgPSAnc2Vjb25kYXJ5JztcbiAgICAgICAgdGhpcy5faWNvbiA9ICdzaG93JztcbiAgICAgICAgdGhpcy5fdGV4dC5zZXQoJ1Nob3cnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzdWJtaXQnOlxuICAgICAgICB0aGlzLl90eXBlID0gJ3NlY29uZGFyeSc7XG4gICAgICAgIHRoaXMuX2ljb24gPSAnc2F2ZSc7XG4gICAgICAgIHRoaXMuX3RleHQuc2V0KCdTdWJtaXQnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzYXZlJzpcbiAgICAgICAgdGhpcy5fZ3JvdXAgPSAnc3VibWl0JztcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG4gIF9tY2xhc3MgPSBzaWduYWw8c3RyaW5nPihudWxsKTtcbiAgYWN0aW9uVHlwZSA9IGlucHV0PCdzdWJtaXQnIHwgJ2J1dHRvbicgfCAncmVzZXQnPignYnV0dG9uJyk7XG4gIGFuaW1hdGUgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUyIGFzIHVuZGVmaW5lZCB9KTtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlMiB9KSBleGNsdWRlTG9nZ2luZyA9IGZhbHNlO1xuICBASW5wdXQoKSBsb2dnaW5nVmFsdWU6IHN0cmluZztcbiAgYmFkZ2UgPSBpbnB1dDxzdHJpbmcgfCBudW1iZXI+KG51bGwpO1xuICBjbGFzcyA9IGlucHV0PHN0cmluZz4oKTtcbiAgLyoqXG4gICAqIFNldHMgdGhlIGxlZnQgc2lkZSBpY29uXG4gICAqL1xuICBASW5wdXQoKSBzZXQgY3VzdG9tSWNvbih2OiBzdHJpbmcpIHtcbiAgICB0aGlzLmxlZnRDdXN0b21JY29uLnNldCh2KTtcbiAgfVxuICBASW5wdXQoeyBhbGlhczogJ2Rpc2FibGVkJyB9KSBzZXQgX2Rpc2FibGVkKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkLnNldCh2IHx8IGZhbHNlKTtcbiAgfVxuICAvLyBmb3JtU3RhdGUgPSBjb21wdXRlZDxJRm9ybVN0YXRlPigoKSA9PiB7XG4gIC8vICAgY29uc3QgZCA9IHRoaXMuY2hlY2tGb3JtU3RhdGUoKTtcblxuICAvLyAgIGlmICh0aGlzLmRlYnVnKCkpIHtcbiAgLy8gICAgIGRlYnVnZ2VyO1xuICAvLyAgIH1cbiAgLy8gICByZXR1cm4ge1xuICAvLyAgICAgcGVuZGluZzogdGhpcy5mb3JtPy5wZW5kaW5nLFxuICAvLyAgICAgZGlydHk6IHRoaXMuZm9ybT8uZGlydHksXG4gIC8vICAgICBpbnZhbGlkOiB0aGlzLmZvcm0/LmludmFsaWQsXG4gIC8vICAgICBwcmlzdGluZTogdGhpcy5mb3JtPy5wcmlzdGluZSxcbiAgLy8gICAgIHZhbGlkOiB0aGlzLmZvcm0/LnZhbGlkLFxuICAvLyAgIH07XG4gIC8vIH0pO1xuICBmb3JtU3RhdGUgPSBzaWduYWw8SUZvcm1TdGF0ZT4oe30pO1xuICBwcm90ZWN0ZWQgZm9ybVN1YjogU3Vic2NyaXB0aW9uO1xuICBwcm90ZWN0ZWQgZm9ybXNTdWI6IFN1YnNjcmlwdGlvbjtcbiAgQElucHV0KCdmb3JtJykgc2V0IF9mb3JtKHY6IEZvcm1Hcm91cCB8IEZvcm1Db250cm9sIHwgRm9ybUFycmF5IHwgQWJzdHJhY3RDb250cm9sKSB7XG4gICAgdGhpcy5mb3JtU3ViPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZm9ybSA9IHY7XG4gICAgdGhpcy5idG5TLnNldEZvcm1TdGF0ZSh2LCB0aGlzKTtcbiAgICBpZiAodGhpcy5kZWJ1ZygpKSBkZWJ1Z2dlcjtcbiAgICBpZiAodikgdGhpcy5mb3JtU3ViID0gdGhpcy5idG5TLmhhbmRsZUZvcm0odiwgdGhpcyk7XG4gIH1cblxuICBmb3Jtc1N0YXRlID0gc2lnbmFsPE9taXQ8SUZvcm1TdGF0ZSwgJ3N0YXR1cyc+Pih1bmRlZmluZWQpO1xuICBASW5wdXQoJ2Zvcm1zJykgc2V0IF9mb3Jtcyh2OiAoRm9ybUdyb3VwIHwgRm9ybUNvbnRyb2wgfCBGb3JtQXJyYXkgfCBBYnN0cmFjdENvbnRyb2wpW10pIHtcbiAgICB0aGlzLmZvcm1zU3ViPy51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuZm9ybXMgPSB2O1xuICAgIHRoaXMuYnRuUy5zZXRGb3Jtc1N0YXRlKHYsIHRoaXMpO1xuICAgIGlmICh0aGlzLmRlYnVnKCkpIGRlYnVnZ2VyO1xuICAgIGlmICh2KSB0aGlzLmZvcm1zU3ViID0gdGhpcy5idG5TLmhhbmRsZUZvcm1zKHYsIHRoaXMpO1xuICB9XG4gIGhlbHAgPSBpbnB1dDxzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPigpO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgbm8gbG9uZ2VyIG5lZWRlZCB0byBkZXRlY3QgdGhlIGNvcnJlY3Qgc3BhY2luZyBiZXR3ZWVuIGljb24gYW5kIHRleHRcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZTIsIGFsaWFzOiAnaWNvbkJ0bicgfSkgc2V0IF9pY29uQnRuKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmljb25CdG4uc2V0KHYgfHwgZmFsc2UpO1xuICB9XG4gIEBJbnB1dCgnbG9hZGluZycpIHNldCBfbG9hZGluZyh2OiBib29sZWFuKSB7XG4gICAgdGhpcy5sb2FkaW5nLnNldCh2KTtcbiAgfVxuICBtY2xhc3MgPSBpbnB1dDxzdHJpbmc+KG51bGwpO1xuICBzaG93SGVscEljb24gPSBpbnB1dCh0cnVlKTtcbiAgcmlnaHRJY29uID0gc2lnbmFsPEljb25EZWZpbml0aW9uPihudWxsKTtcbiAgQElucHV0KHsgYWxpYXM6ICdyaWdodEN1c3RvbUljb24nIH0pIHNldCBfcmlnaHRDdXN0b21JY29uKHY6IHN0cmluZykge1xuICAgIHRoaXMucmlnaHRDdXN0b21JY29uLnNldCh2KTtcbiAgfVxuICByaWdodEN1c3RvbUljb24gPSBzaWduYWw8c3RyaW5nPihudWxsKTtcbiAgbGVmdEljb24gPSBzaWduYWw8SWNvbkRlZmluaXRpb24+KG51bGwpO1xuICBASW5wdXQoeyBhbGlhczogJ2xlZnRDdXN0b21JY29uJyB9KSBzZXQgX2xlZnRDdXN0b21JY29uKHY6IHN0cmluZykge1xuICAgIHRoaXMubGVmdEN1c3RvbUljb24uc2V0KHYpO1xuICB9XG4gIGxlZnRDdXN0b21JY29uID0gc2lnbmFsPHN0cmluZz4obnVsbCk7XG4gIHRleHQgPSBpbnB1dDxzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPigpO1xuICB2YWxpZCA9IGlucHV0KHRydWUpO1xuICBtaW5pID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlMiBhcyB1bmRlZmluZWQgfSk7XG4gIG9uRm9ybUludmFsaWQgPSBpbnB1dDxrZXlvZiB0eXBlb2YgT25Gb3JtSW52YWxpZD4oT25Gb3JtSW52YWxpZC5kaXNhYmxlKTtcbiAgQE91dHB1dCgpIG1jbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQFZpZXdDaGlsZCgnaW5uZXJUZXh0JykgaW5uZXJUZXh0OiBFbGVtZW50UmVmPEhUTUxTcGFuRWxlbWVudD47XG4gIGxvY2tlZCA9IHNpZ25hbChmYUxvY2spO1xuICBwcm90ZWN0ZWQgX3RleHQgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4odW5kZWZpbmVkKTtcbiAgcHJvdGVjdGVkIGRpc2FibGVkID0gc2lnbmFsPGJvb2xlYW4gfCBudWxsPih1bmRlZmluZWQpO1xuICBjb21wdXRlZFRleHQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgaW5wdXQgPSB0aGlzLnRleHQoKSxcbiAgICAgIGxvY2FsID0gdGhpcy5fdGV4dCgpO1xuICAgIHJldHVybiBpbnB1dCA9PSBudWxsID8gbG9jYWwgOiBpbnB1dDtcbiAgfSk7XG4gIHB1YmxpYyBidG5TID0gaW5qZWN0KEJ0blNlcnZpY2UpO1xuICBwdWJsaWMgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmRlc3Ryb3lSZWYub25EZXN0cm95KCgpID0+IHtcbiAgICAgIHRoaXMuZm9ybVN1Yj8udW5zdWJzY3JpYmUoKTtcbiAgICAgIHRoaXMuZm9ybXNTdWI/LnVuc3Vic2NyaWJlKCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgLy9DYWxsZWQgYWZ0ZXIgZXZlcnkgY2hlY2sgb2YgdGhlIGNvbXBvbmVudCdzIHZpZXcuIEFwcGxpZXMgdG8gY29tcG9uZW50cyBvbmx5LlxuICAgIC8vQWRkICdpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQnIHRvIHRoZSBjbGFzcy5cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fbWNsYXNzKCkpIHRoaXMuX3R5cGUgPSB0aGlzLmJ0blMuZGVmYXVsdFR5cGU7XG4gIH1cblxuICBcblxuICBzZXRMb2FkZXIodmFsOiBib29sZWFuKSB7XG4gICAgdGhpcy5sb2FkaW5nLnNldCh2YWwpO1xuICB9XG4gIGdldCBleHRyYWN0VGV4dCgpIHtcbiAgICByZXR1cm4gYENsaWNrZWQgb24gJHt0aGlzLnRleHQoKSB8fCB0aGlzLmlubmVyVGV4dD8ubmF0aXZlRWxlbWVudD8uaW5uZXJIVE1MIHx8IHRoaXMuaWNvblR5cGUgfHwgJ2J1dHRvbid9ICR7XG4gICAgICB0aGlzLmxvZ2dpbmdWYWx1ZSA/ICdcXG5UcmFjayB2YWx1ZTogJyArIHRoaXMubG9nZ2luZ1ZhbHVlIDogJydcbiAgICB9YDtcbiAgfVxuICBjbGljaygkZXZlbnQpIHtcbiAgICAvLyBkZWJ1Z2dlclxuICAgIGlmICh0aGlzLmlzRGlzYWJsZWQoKSB8fCB0aGlzLmxvYWRpbmcoKSkgcmV0dXJuO1xuICAgIHRoaXMubWNsaWNrLmVtaXQoJGV2ZW50KTtcbiAgICB0aGlzLmJ0blMubG9nQ2xpY2sodGhpcyk7XG4gIH1cblxuICBpc0Rpc2FibGVkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGlmICh0aGlzLmRlYnVnKCkpIGRlYnVnZ2VyO1xuICAgIGNvbnN0IGRpc2FibGVkID0gdGhpcy5kaXNhYmxlZCgpLFxuICAgICAgdmFsaWQgPSB0aGlzLnZhbGlkKCksXG4gICAgICBvbkZvcm1JbnZhbGlkID0gdGhpcy5vbkZvcm1JbnZhbGlkKCksXG4gICAgICBmb3JtID0gdGhpcy5mb3JtU3RhdGUoKSxcbiAgICAgIGZvcm1zID0gdGhpcy5mb3Jtc1N0YXRlKCk7XG4gICAgcmV0dXJuIGRpc2FibGVkIHx8ICF2YWxpZCB8fCAob25Gb3JtSW52YWxpZCA9PSBPbkZvcm1JbnZhbGlkLmRpc2FibGUgJiYgKGZvcm0/LmludmFsaWQgfHwgZm9ybT8ucGVuZGluZyB8fCBmb3Jtcz8ucGVuZGluZykpO1xuICB9KTtcblxuICBkaXNhYmxlKCkge1xuICAgIHRoaXMuZGlzYWJsZWQuc2V0KHRydWUpO1xuICB9XG5cbiAgZW5hYmxlKCkge1xuICAgIHRoaXMuZGlzYWJsZWQuc2V0KGZhbHNlKTtcbiAgfVxufVxuZW51bSBPbkZvcm1JbnZhbGlkIHtcbiAgZGlzYWJsZSA9ICdkaXNhYmxlJyxcbiAgd2FybiA9ICd3YXJuJyxcbn1cbmludGVyZmFjZSBJRm9ybVN0YXRlIHtcbiAgcGVuZGluZz86IGJvb2xlYW47XG4gIGRpcnR5PzogYm9vbGVhbjtcbiAgaW52YWxpZD86IGJvb2xlYW47XG4gIHByaXN0aW5lPzogYm9vbGVhbjtcbiAgdmFsaWQ/OiBib29sZWFuO1xuICBzdGF0dXM/OiBGb3JtQ29udHJvbFN0YXR1cztcbn1cbiIsIjxzcGFuXG4gIGNsYXNzPVwie3sgY2xhc3MoKSB9fSAgZC1mbGV4ICBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiXG4gIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGlzRGlzYWJsZWQoKSwgbWluaTogbWluaSgpIH1cIlxuICAoY2xpY2spPVwiYnRuUy5jaGVja0Zvcm0odGhpcylcIj5cbiAgQGlmIChzaG93SGVscEljb24oKSAmJiBoZWxwKCkpIHtcbiAgICA8aSBjbGFzcz1cImZhIGZhLWluZm8tY2lyY2xlIG1lLTIgdGV4dC1wcmltYXJ5XCIgW21hdFRvb2x0aXBdPVwiaGVscCgpIHwgYXBwVHJhbnNsYXRlIHwgYXN5bmNcIj48L2k+XG4gIH1cbiAgPGJ1dHRvblxuICAgIHR5cGU9XCJ7eyBhY3Rpb25UeXBlKCkgfX1cIlxuICAgIGNsYXNzPVwie3sgbWNsYXNzKCkgfX0ge3sgX21jbGFzcygpIH19IGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgXCJcbiAgICBbbWF0QmFkZ2VdPVwiYmFkZ2UoKVwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgY2hhbmdlY29sb3I6IHZhbGlkKCksXG4gICAgICAnYnRuLXJhaXNlZCc6IGFuaW1hdGUoKSxcbiAgICAgIGRpc2FibGVkOiBpc0Rpc2FibGVkKCksXG4gICAgICBpc0RhbmdlcjogZGFuZ2VyKCksXG4gICAgICBpc1dhcm5pbmc6IHdhcm5pbmcoKSxcbiAgICAgIGludmFsaWQ6IGZvcm1Jc0ludmFsaWQoKSxcbiAgICAgICdqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJzogY2VudGVyQnRuKClcbiAgICB9XCJcbiAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZCgpXCJcbiAgICAoY2xpY2spPVwiY2xpY2soJGV2ZW50KVwiXG4gICAgW21hdFRvb2x0aXBdPVwic2hvd0hlbHBJY29uKCkgPyBudWxsIDogKGhlbHAoKSB8IGFwcFRyYW5zbGF0ZSB8IGFzeW5jKVwiPlxuICAgIEBpZiAoIWxvYWRpbmcoKSkge1xuICAgICAgQGlmIChsZWZ0SWNvbigpKSB7XG4gICAgICAgIDxmYS1pY29uIFtpY29uXT1cImlzRGlzYWJsZWQoKSA/IGxvY2tlZCgpIDogbGVmdEljb24oKVwiPjwvZmEtaWNvbj5cbiAgICAgIH0gQGVsc2UgaWYgKGxlZnRDdXN0b21JY29uKCkpIHtcbiAgICAgICAgPGkgY2xhc3M9XCJ7eyBsZWZ0Q3VzdG9tSWNvbigpIH19XCI+PC9pPlxuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoY29tcHV0ZWRUZXh0KCkpIHtcbiAgICAgIDxzcGFuIGNsYXNzPVwiXCIgW25nQ2xhc3NdPVwieyAnbXMtMSc6IGxlZnRJY29uKCkgfHwgbGVmdEN1c3RvbUljb24oKSwgJ21lLTEnOiByaWdodEljb24oKSB8fCByaWdodEN1c3RvbUljb24oKSB9XCI+XG4gICAgICAgIHt7IGNvbXB1dGVkVGV4dCgpIHwgYXBwVHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwiIFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnbXMtMSc6IGlubmVyVGV4dC5pbm5lclRleHQgJiYgKGxlZnRJY29uKCkgfHwgbGVmdEN1c3RvbUljb24oKSksXG4gICAgICAgICAgJ21lLTEnOiBpbm5lclRleHQuaW5uZXJUZXh0ICYmIChyaWdodEljb24oKSB8fCByaWdodEN1c3RvbUljb24oKSlcbiAgICAgICAgfVwiXG4gICAgICAgICNpbm5lclRleHRcbiAgICAgICAgYXBwVHJhbnNsYXRvcj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9zcGFuPlxuICAgIH1cblxuICAgIEBpZiAobG9hZGluZygpKSB7XG4gICAgICA8c3BhbiBjbGFzcz1cImZhIGZhLXNwaW5uZXIgbXMte3sgaWNvbkJ0bigpID8gJycgOiAnMicgfX0gZmEtc3BpblwiPjwvc3Bhbj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpZiAocmlnaHRJY29uKCkpIHtcbiAgICAgICAgPGZhLWljb24gW2ljb25dPVwiaXNEaXNhYmxlZCgpID8gbG9ja2VkKCkgOiByaWdodEljb24oKVwiPjwvZmEtaWNvbj5cbiAgICAgIH0gQGVsc2UgaWYgKHJpZ2h0Q3VzdG9tSWNvbigpKSB7XG4gICAgICAgIDxpIGNsYXNzPVwie3sgcmlnaHRDdXN0b21JY29uKCkgfX1cIj48L2k+XG4gICAgICB9XG4gICAgfVxuICA8L2J1dHRvbj5cbjwvc3Bhbj5cbiJdfQ==
@@ -207,6 +207,7 @@ export class BtnService {
207
207
  };
208
208
  this.defaultType = 'secondary';
209
209
  this.setFormState = (form, btn) => {
210
+ btn?.counter?.set(btn?.counter() + 1);
210
211
  btn.formState.set({
211
212
  pending: form?.pending,
212
213
  dirty: form?.dirty,
@@ -239,7 +240,7 @@ export class BtnService {
239
240
  };
240
241
  // protected debouncerArray = [200].concat(new Array(3).fill(1).map((x, i) => (i + 1) * 1000));
241
242
  this.handleForm = (form, btn) => form.statusChanges
242
- .pipe(tap((r) => this.setFormState(form, btn)), debounceTime(200), tap(() => this.setFormState(form, btn)), debounceTime(1000), tap(() => this.setFormState(form, btn)), debounceTime(1000), tap(() => this.setFormState(form, btn)), debounceTime(1000), tap(() => this.setFormState(form, btn)), debounceTime(1000), tap(() => this.setFormState(form, btn)))
243
+ .pipe(tap((r) => this.setFormState(form, btn)), debounceTime(200), tap(() => this.setFormState(form, btn)), debounceTime(1000), tap(() => this.setFormState(form, btn)), debounceTime(1000), tap(() => this.setFormState(form, btn)), debounceTime(1000), tap(() => this.setFormState(form, btn)), debounceTime(1000), tap(() => this.setFormState(form, btn)), debounceTime(1000), tap(() => this.setFormState(form, btn)))
243
244
  .subscribe(() => { });
244
245
  this.handleForms = (v, btn) => merge(v.map((f) => f.statusChanges))
245
246
  .pipe(tap((r) => this.setFormsState(v, btn)), debounceTime(200), tap(() => this.setFormsState(v, btn)), debounceTime(1000), tap(() => this.setFormsState(v, btn)), debounceTime(1000), tap(() => this.setFormsState(v, btn)), debounceTime(1000), tap(() => this.setFormsState(v, btn)), debounceTime(1000), tap(() => this.setFormsState(v, btn)))
@@ -283,4 +284,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
283
284
  providedIn: 'root',
284
285
  }]
285
286
  }], ctorParameters: () => [{ type: i1.UserActivityService }] });
286
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL2NvbXBvbmVudHMvYnRuL2J0bi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFDTCxXQUFXLEVBQ1gsWUFBWSxFQUNaLE9BQU8sRUFDUCxPQUFPLEVBQ1AsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osWUFBWSxFQUNaLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixLQUFLLEVBQ0wsVUFBVSxFQUNWLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxFQUNOLFFBQVEsRUFDUixVQUFVLEVBQ1YsT0FBTyxFQUNQLFFBQVEsRUFDUixRQUFRLEVBQ1IsUUFBUSxFQUNSLFlBQVksRUFDWixNQUFNLEVBQ04sT0FBTyxFQUNQLFdBQVcsRUFDWCxZQUFZLEVBQ1osT0FBTyxFQUNQLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxNQUFNLEVBRU4sU0FBUyxFQUNULFFBQVEsRUFDUixtQkFBbUIsRUFDbkIsV0FBVyxFQUNYLE9BQU8sRUFDUCxPQUFPLEdBRVIsTUFBTSxtQ0FBbUMsQ0FBQztBQUkzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sK0VBQStFLENBQUM7QUFDcEcsT0FBTyxFQUFtQixTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQWdCLE1BQU0sTUFBTSxDQUFDOzs7QUFLOUQsTUFBTSxPQUFPLFVBQVU7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Q0FBQyxDQUFDLEVBRXZDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFDbEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBRXZDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFDbEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBRXZDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFDbEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQ3hDO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXpCLGdCQUFXLEdBQUcsQ0FBQyxDQUFvQixFQUFFLEdBQWlCLEVBQUUsRUFBRSxDQUN4RCxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ2pDLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBRXRDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBRXJDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFDbEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBRXJDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFDbEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBRXJDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFDbEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBRXJDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFDbEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQ3RDO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO0lBcFJxQixDQUFDO0lBMksvQyxPQUFPLENBQUMsQ0FBVTtRQUNoQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUdELFFBQVEsQ0FBQyxHQUFpQjtRQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDckQsSUFBSSxHQUFHLENBQUMsY0FBYztZQUFFLE9BQU87UUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDWCxJQUFJLEVBQUUsR0FBRyxDQUFDLE9BQU87WUFDakIsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLFdBQVc7U0FDckMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQThCRCxTQUFTLENBQUUsR0FBaUI7UUFDMUIsSUFBSSxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksR0FBRyxDQUFDLElBQUksRUFBRTtZQUNoQyxHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDNUIsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztZQUN0QixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xCLElBQUksSUFBSSxZQUFZLFNBQVMsRUFBRTtnQkFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FDVCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7cUJBQ3ZCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztxQkFDdEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2hDLENBQUM7YUFDSDtTQUNGO1FBQ0QsSUFBSSxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRTtZQUNqQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztZQUNyRCw0QkFBNEI7WUFDNUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDeEI7SUFDSCxDQUFDOzhHQXpRVSxVQUFVO2tIQUFWLFVBQVUsY0FGVCxNQUFNOzsyRkFFUCxVQUFVO2tCQUh0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZhUGFwZXJQbGFuZSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXJlZ3VsYXItc3ZnLWljb25zJztcbmltcG9ydCB7XG4gIGZhQXJyb3dMZWZ0LFxuICBmYUFycm93UmlnaHQsXG4gIGZhQ2hlY2ssXG4gIGZhQ2xvbmUsXG4gIGZhQ29ncyxcbiAgZmFEb3dubG9hZCxcbiAgZmFFZGl0LFxuICBmYUV5ZSxcbiAgZmFGaWxlLFxuICBmYUZpbGVFeHBvcnQsXG4gIGZhRmlsZUltcG9ydCxcbiAgZmFIaXN0b3J5LFxuICBmYUxpc3RBbHQsXG4gIGZhTG9jayxcbiAgZmFNb25leUNoZWNrLFxuICBmYVBlbixcbiAgZmFQZW5GYW5jeSxcbiAgZmFQbHVzLFxuICBmYVJlY3ljbGUsXG4gIGZhU2F2ZSxcbiAgZmFTZWFyY2gsXG4gIGZhU2xpZGVyc0gsXG4gIGZhVHJhc2gsXG4gIGZhVW5sb2NrLFxuICBmYUZpbHRlcixcbiAgZmFVcGxvYWQsXG4gIGZhVXNlclNoaWVsZCxcbiAgZmFIb21lLFxuICBmYVVzZXJzLFxuICBmYUJlbGxTbGFzaCxcbiAgZmFJbmZvQ2lyY2xlLFxuICBmYVRydWNrLFxuICBmYVRhZyxcbiAgZmFSZWNlaXB0LFxuICBmYUJhbmssXG4gIGZhQXJyb3dzSCxcbiAgZmFQbGF5LFxuICBmYUxpbmssXG4gIGZhUGVyY2VudCxcbiAgZmFDYW5jZWwsXG4gIGZhQ2lyY2xlRXhjbGFtYXRpb24sXG4gIGZhSGFuZHNoYWtlLFxuICBmYVRhYmxlLFxuICBmYVNwb29uLFxuICBJY29uRGVmaW5pdGlvbixcbn0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IEJ0bkNvbXBvbmVudCB9IGZyb20gJy4vYnRuLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdG5UeXBlLCBJY29uVHlwZSB9IGZyb20gJy4vYnRuLm1vZGVsJztcbmltcG9ydCB7IFVzZXJBY3Rpdml0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9SZXVzYWJsZXMvcmV1c2FibGUtcGFnZXMvdXNlci1hY3Rpdml0eS91YS1leHRyYXMvdXNlci1hY3Rpdml0eS5zZXJ2aWNlJztcbmltcG9ydCB7IEVVQSB9IGZyb20gJy4uLy4uLy4uL1JldXNhYmxlcy9yZXVzYWJsZS1wYWdlcy91c2VyLWFjdGl2aXR5L3VhLWV4dHJhcy91c2VyLWFjdGl2aXR5Lm1vZGVsJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtZXJnZSwgdGFwLCB0aW1lSW50ZXJ2YWwgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEJ0blNlcnZpY2Uge1xuICBidG5DbGFzc0NvbmZpZzogQnRuQ2xhc3MgPSB7XG4gICAgWydwcmltYXJ5J106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gYnRuLXByaW1hcnkgYnRuLWxnIHctMTAwJyxcbiAgICB9LFxuICAgIFsnc2Vjb25kYXJ5J106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gYnRuLW91dGxpbmUtcHJpbWFyeSBidG4tY2xvbmUgYnRuLWxnIHctMTAwJyxcbiAgICB9LFxuICAgIFsnb3V0bGluZSddOiB7XG4gICAgICBfbWNsYXNzOiAnYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnkgYnRuLWxnIHctMTAwJyxcbiAgICB9LFxuICAgIFsnY2xlYXInXToge1xuICAgICAgX21jbGFzczogJ2J0biB3LTEwMCcsXG4gICAgfSxcbiAgICBbJ2Rhcmstb3V0bGluZSddOiB7XG4gICAgICBfbWNsYXNzOiAnYnRuIGJ0bi1vdXRsaW5lLWRhcmsgYnRuLWxnIHctMTAwJyxcbiAgICB9LFxuICAgIFsnb3V0bGluZS1ubSddOiB7XG4gICAgICBfbWNsYXNzOiAnYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnkgdy0xMDAnLFxuICAgIH0sXG4gICAgWydkYXJrJ106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gYnRuLWRhcmsgYnRuLWxnIHctMTAwJyxcbiAgICB9LFxuICAgIFsnZGFuZ2VyJ106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gYnRuLWRhbmdlciBidG4tbGcgdy0xMDAnLFxuICAgIH0sXG4gICAgWydkYW5nZXItb3V0bGluZSddOiB7XG4gICAgICBfbWNsYXNzOiAnYnRuIGJ0bi1vdXRsaW5lLWRhbmdlciBidG4tbGcgdy0xMDAnLFxuICAgIH0sXG4gICAgWydjbG9zZSddOiB7IF9tY2xhc3M6ICdidG4gYnRuLWxnICB0ZXh0LWRhbmdlcicsIF9pY29uOiAnY2xvc2UnIH0sXG4gICAgWydzdWNjZXNzJ106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gYnRuLWxnIGJ0bi1zdWNjZXNzIHctMTAwJyxcbiAgICB9LFxuICB9O1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdWFTOiBVc2VyQWN0aXZpdHlTZXJ2aWNlKSB7fVxuICBnZXRJY29uID0gKGljb25UeXBlOiBJY29uVHlwZSkgPT4ge1xuICAgIGNvbnN0IGluZGV4OiB7XG4gICAgICBbayBpbiBJY29uVHlwZV0/OiB7XG4gICAgICAgIGljb24/OiBJY29uRGVmaW5pdGlvbjtcbiAgICAgICAgaWNvblN0cmluZz86IHN0cmluZztcbiAgICAgICAgaWNvblBvc2l0aW9uPzogJ3JpZ2h0JyB8ICdsZWZ0JztcbiAgICAgIH07XG4gICAgfSA9IHtcbiAgICAgIGFkZDoge1xuICAgICAgICBpY29uOiBmYVBsdXMsXG4gICAgICB9LFxuICAgICAgYWRqdXN0OiB7XG4gICAgICAgIGljb246IGZhU2xpZGVyc0gsXG4gICAgICB9LFxuICAgICAgY2FsZW5kYXI6IHtcbiAgICAgICAgaWNvblN0cmluZzogJ2ZhcyBmYS1jYWxlbmRhci1hbHQnLFxuICAgICAgfSxcbiAgICAgIGNhc2g6IHtcbiAgICAgICAgaWNvbjogZmFNb25leUNoZWNrLFxuICAgICAgfSxcbiAgICAgIGNhbmNlbDoge1xuICAgICAgICBpY29uOiBmYUNhbmNlbCxcbiAgICAgIH0sXG4gICAgICBjaGVja2VkOiB7XG4gICAgICAgIGljb246IGZhQ2hlY2ssXG4gICAgICB9LFxuICAgICAgY2hlY2tsaXN0OiB7XG4gICAgICAgIGljb246IGZhTGlzdEFsdCxcbiAgICAgIH0sXG4gICAgICBjbG9uZToge1xuICAgICAgICBpY29uOiBmYUNsb25lLFxuICAgICAgfSxcbiAgICAgIGNsb3NlOiB7XG4gICAgICAgIGljb25TdHJpbmc6ICdmYSBmYS1jbG9zZScsXG4gICAgICB9LFxuICAgICAgY29nczoge1xuICAgICAgICBpY29uOiBmYUNvZ3MsXG4gICAgICB9LFxuICAgICAgZGVsZXRlOiB7XG4gICAgICAgIGljb246IGZhVHJhc2gsXG4gICAgICB9LFxuICAgICAgZG93bmxvYWQ6IHtcbiAgICAgICAgaWNvbjogZmFEb3dubG9hZCxcbiAgICAgIH0sXG4gICAgICBkcm9wZG93bjoge1xuICAgICAgICBpY29uUG9zaXRpb246ICdyaWdodCcsXG4gICAgICAgIGljb25TdHJpbmc6ICdmYSBmYS1jaGV2cm9uLWRvd24nLFxuICAgICAgfSxcbiAgICAgIGVkaXQ6IHtcbiAgICAgICAgaWNvbjogZmFFZGl0LFxuICAgICAgfSxcbiAgICAgIGV4cG9ydDoge1xuICAgICAgICBpY29uOiBmYUZpbGVFeHBvcnQsXG4gICAgICB9LFxuICAgICAgZmlsZToge1xuICAgICAgICBpY29uOiBmYUZpbGUsXG4gICAgICB9LFxuICAgICAgZmlsdGVyOiB7XG4gICAgICAgIGljb246IGZhRmlsdGVyLFxuICAgICAgfSxcbiAgICAgIGdlbmVyYXRlOiB7XG4gICAgICAgIGljb246IGZhUGVuRmFuY3ksXG4gICAgICB9LFxuICAgICAgZ3VhcmQ6IHtcbiAgICAgICAgaWNvbjogZmFVc2VyU2hpZWxkLFxuICAgICAgfSxcbiAgICAgIGFjY2Vzczoge1xuICAgICAgICBpY29uOiBmYVVzZXJTaGllbGQsXG4gICAgICB9LFxuICAgICAgaGlzdG9yeToge1xuICAgICAgICBpY29uOiBmYUhpc3RvcnksXG4gICAgICB9LFxuICAgICAgaG9tZToge1xuICAgICAgICBpY29uOiBmYUhvbWUsXG4gICAgICB9LFxuICAgICAgaW1wb3J0OiB7XG4gICAgICAgIGljb246IGZhRmlsZUltcG9ydCxcbiAgICAgIH0sXG4gICAgICBpbmZvOiB7XG4gICAgICAgIGljb246IGZhSW5mb0NpcmNsZSxcbiAgICAgIH0sXG4gICAgICBsaW5rOiB7XG4gICAgICAgIGljb25TdHJpbmc6ICdmYXMgZmEtY2hhaW4nLFxuICAgICAgfSxcbiAgICAgIGxvY2s6IHtcbiAgICAgICAgaWNvbjogZmFMb2NrLFxuICAgICAgfSxcbiAgICAgIG5leHQ6IHtcbiAgICAgICAgaWNvbjogZmFBcnJvd1JpZ2h0LFxuICAgICAgICBpY29uUG9zaXRpb246ICdyaWdodCcsXG4gICAgICB9LFxuICAgICAgcGVuOiB7XG4gICAgICAgIGljb246IGZhUGVuLFxuICAgICAgfSxcbiAgICAgIHBvc3Q6IHtcbiAgICAgICAgaWNvbjogZmFQYXBlclBsYW5lLFxuICAgICAgfSxcbiAgICAgIHByZXZpb3VzOiB7XG4gICAgICAgIGljb246IGZhQXJyb3dMZWZ0LFxuICAgICAgfSxcbiAgICAgIHJlbmV3OiB7XG4gICAgICAgIGljb246IGZhUmVjeWNsZSxcbiAgICAgIH0sXG4gICAgICBzYXZlOiB7XG4gICAgICAgIGljb246IGZhU2F2ZSxcbiAgICAgIH0sXG4gICAgICBzZWFyY2g6IHtcbiAgICAgICAgaWNvbjogZmFTZWFyY2gsXG4gICAgICB9LFxuICAgICAgc2hvdzoge1xuICAgICAgICBpY29uOiBmYUV5ZSxcbiAgICAgIH0sXG4gICAgICB2aWV3OiB7XG4gICAgICAgIGljb246IGZhRXllLFxuICAgICAgfSxcbiAgICAgIHNub296ZToge1xuICAgICAgICBpY29uOiBmYUJlbGxTbGFzaCxcbiAgICAgIH0sXG4gICAgICB1cGxvYWQ6IHtcbiAgICAgICAgaWNvbjogZmFVcGxvYWQsXG4gICAgICB9LFxuICAgICAgdW5sb2NrOiB7XG4gICAgICAgIGljb246IGZhVW5sb2NrLFxuICAgICAgfSxcbiAgICAgIHVzZXJzOiB7XG4gICAgICAgIGljb246IGZhVXNlcnMsXG4gICAgICB9LFxuICAgICAgcmVjeWNsZToge1xuICAgICAgICBpY29uOiBmYVJlY3ljbGUsXG4gICAgICB9LFxuICAgICAgcmVmcmVzaDoge1xuICAgICAgICBpY29uU3RyaW5nOiAnZmEgZmEtcmVmcmVzaCcsXG4gICAgICB9LFxuICAgICAgdHJ1Y2s6IHtcbiAgICAgICAgaWNvbjogZmFUcnVjayxcbiAgICAgIH0sXG4gICAgICB0YWc6IHtcbiAgICAgICAgaWNvbjogZmFUYWcsXG4gICAgICB9LFxuICAgICAgcmVjZWlwdDoge1xuICAgICAgICBpY29uOiBmYVJlY2VpcHQsXG4gICAgICB9LFxuICAgICAgYmFuazoge1xuICAgICAgICBpY29uOiBmYUJhbmssXG4gICAgICB9LFxuICAgICAgYXJyb3doOiB7XG4gICAgICAgIGljb246IGZhQXJyb3dzSCxcbiAgICAgIH0sXG4gICAgICBwbGF5OiB7XG4gICAgICAgIGljb246IGZhUGxheSxcbiAgICAgIH0sXG4gICAgICBwZXJjZW50OiB7XG4gICAgICAgIGljb246IGZhUGVyY2VudCxcbiAgICAgIH0sXG4gICAgICBzaGFrZToge1xuICAgICAgICBpY29uOiBmYUhhbmRzaGFrZSxcbiAgICAgIH0sXG4gICAgICBlcnJvcjoge1xuICAgICAgICBpY29uOiBmYUNpcmNsZUV4Y2xhbWF0aW9uLFxuICAgICAgfSxcbiAgICAgIHRhYmxlOiB7XG4gICAgICAgIGljb246IGZhVGFibGUsXG4gICAgICB9LFxuICAgICAgc3Bvb246IHtcbiAgICAgICAgaWNvbjogZmFTcG9vbixcbiAgICAgIH0sXG4gICAgfTtcbiAgICByZXR1cm4gaW5kZXhbaWNvblR5cGVdO1xuICB9O1xuXG4gIGdldFR5cGUodjogQnRuVHlwZSkge1xuICAgIHJldHVybiB0aGlzLmJ0bkNsYXNzQ29uZmlnW3ZdIHx8IHsgX3R5cGU6ICdwcmltYXJ5JyB9O1xuICB9XG4gIGRlZmF1bHRUeXBlOiBCdG5UeXBlID0gJ3NlY29uZGFyeSc7XG5cbiAgbG9nQ2xpY2soYnRuOiBCdG5Db21wb25lbnQpIHtcbiAgICBjb25zb2xlLmxvZygnYnRuLmV4dHJhY3RUZXh0JywgYnRuLmV4dHJhY3RUZXh0LCBidG4pO1xuICAgIGlmIChidG4uZXhjbHVkZUxvZ2dpbmcpIHJldHVybjtcbiAgICB0aGlzLnVhUy5hZGQoe1xuICAgICAgY29kZTogRVVBLmNsaWNrZWQsXG4gICAgICBhY3Rpdml0eURlc2NyaXB0aW9uOiBidG4uZXh0cmFjdFRleHQsXG4gICAgfSk7XG4gIH1cblxuICBzZXRGb3JtU3RhdGUgPSAoZm9ybTogQWJzdHJhY3RDb250cm9sLCBidG46IEJ0bkNvbXBvbmVudCkgPT4ge1xuICAgIGJ0bi5mb3JtU3RhdGUuc2V0KHtcbiAgICAgIHBlbmRpbmc6IGZvcm0/LnBlbmRpbmcsXG4gICAgICBkaXJ0eTogZm9ybT8uZGlydHksXG4gICAgICBpbnZhbGlkOiBmb3JtPy5pbnZhbGlkLFxuICAgICAgcHJpc3RpbmU6IGZvcm0/LnByaXN0aW5lLFxuICAgICAgdmFsaWQ6IGZvcm0/LnZhbGlkLFxuICAgIH0pO1xuICB9O1xuXG4gIHNldEZvcm1zU3RhdGUgPSAoZm9ybXM6IEFic3RyYWN0Q29udHJvbFtdLCBidG46IEJ0bkNvbXBvbmVudCkgPT4ge1xuICAgIGNvbnN0IGZzID0ge1xuICAgICAgcGVuZGluZzogdHJ1ZSxcbiAgICAgIGRpcnR5OiB0cnVlLFxuICAgICAgaW52YWxpZDogdHJ1ZSxcbiAgICAgIHByaXN0aW5lOiB0cnVlLFxuICAgICAgdmFsaWQ6IHRydWUsXG4gICAgfTtcbiAgICBmb3Jtcz8uZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgaWYgKCF4LnBlbmRpbmcpIGZzLnBlbmRpbmcgPSB4LnBlbmRpbmc7XG4gICAgICBpZiAoIXguZGlydHkpIGZzLmRpcnR5ID0geC5kaXJ0eTtcbiAgICAgIGlmICgheC5pbnZhbGlkKSBmcy5pbnZhbGlkID0geC5pbnZhbGlkO1xuICAgICAgaWYgKCF4LnByaXN0aW5lKSBmcy5wcmlzdGluZSA9IHgucHJpc3RpbmU7XG4gICAgICBpZiAoIXgudmFsaWQpIGZzLnZhbGlkID0geC52YWxpZDtcbiAgICB9KTtcbiAgICBidG4uZm9ybXNTdGF0ZS5zZXQoZnMpO1xuICB9O1xuXG4gIGNoZWNrRm9ybSggYnRuOiBCdG5Db21wb25lbnQpIHtcbiAgICBpZiAoYnRuLmlzRGlzYWJsZWQoKSAmJiBidG4uZm9ybSkge1xuICAgICAgYnRuLmZvcm0ubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgICAgY29uc3QgZm9ybSA9IGJ0bi5mb3JtO1xuICAgICAgY29uc29sZS5sb2coZm9ybSk7XG4gICAgICBpZiAoZm9ybSBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xuICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICBPYmplY3Qua2V5cyhmb3JtLmNvbnRyb2xzKVxuICAgICAgICAgICAgLmZpbHRlcigoeCkgPT4gIWZvcm0uY29udHJvbHNbeF0udmFsaWQpXG4gICAgICAgICAgICAubWFwKCh4KSA9PiBmb3JtLmNvbnRyb2xzW3hdKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGJ0bi5pc0Rpc2FibGVkKCkgJiYgYnRuLmZvcm1zKSB7XG4gICAgICBidG4uZm9ybXMuZm9yRWFjaCgoZm9ybSkgPT4gZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCkpO1xuICAgICAgLy8gdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgY29uc29sZS5sb2coYnRuLmZvcm1zKTtcbiAgICB9XG4gIH1cbiAgLy8gcHJvdGVjdGVkIGRlYm91bmNlckFycmF5ID0gWzIwMF0uY29uY2F0KG5ldyBBcnJheSgzKS5maWxsKDEpLm1hcCgoeCwgaSkgPT4gKGkgKyAxKSAqIDEwMDApKTtcblxuICBoYW5kbGVGb3JtID0gKGZvcm06IEFic3RyYWN0Q29udHJvbCwgYnRuOiBCdG5Db21wb25lbnQpID0+XG4gICAgZm9ybS5zdGF0dXNDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKChyKSA9PiB0aGlzLnNldEZvcm1TdGF0ZShmb3JtLCBidG4pKSxcblxuICAgICAgICBkZWJvdW5jZVRpbWUoMjAwKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuc2V0Rm9ybVN0YXRlKGZvcm0sIGJ0bikpLFxuXG4gICAgICAgIGRlYm91bmNlVGltZSgxMDAwKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuc2V0Rm9ybVN0YXRlKGZvcm0sIGJ0bikpLFxuXG4gICAgICAgIGRlYm91bmNlVGltZSgxMDAwKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuc2V0Rm9ybVN0YXRlKGZvcm0sIGJ0bikpLFxuXG4gICAgICAgIGRlYm91bmNlVGltZSgxMDAwKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuc2V0Rm9ybVN0YXRlKGZvcm0sIGJ0bikpLFxuXG4gICAgICAgIGRlYm91bmNlVGltZSgxMDAwKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuc2V0Rm9ybVN0YXRlKGZvcm0sIGJ0bikpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7fSk7XG5cbiAgaGFuZGxlRm9ybXMgPSAodjogQWJzdHJhY3RDb250cm9sW10sIGJ0bjogQnRuQ29tcG9uZW50KSA9PlxuICAgIG1lcmdlKHYubWFwKChmKSA9PiBmLnN0YXR1c0NoYW5nZXMpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgocikgPT4gdGhpcy5zZXRGb3Jtc1N0YXRlKHYsIGJ0bikpLFxuXG4gICAgICAgIGRlYm91bmNlVGltZSgyMDApLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5zZXRGb3Jtc1N0YXRlKHYsIGJ0bikpLFxuXG4gICAgICAgIGRlYm91bmNlVGltZSgxMDAwKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuc2V0Rm9ybXNTdGF0ZSh2LCBidG4pKSxcblxuICAgICAgICBkZWJvdW5jZVRpbWUoMTAwMCksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLnNldEZvcm1zU3RhdGUodiwgYnRuKSksXG5cbiAgICAgICAgZGVib3VuY2VUaW1lKDEwMDApLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5zZXRGb3Jtc1N0YXRlKHYsIGJ0bikpLFxuXG4gICAgICAgIGRlYm91bmNlVGltZSgxMDAwKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuc2V0Rm9ybXNTdGF0ZSh2LCBidG4pKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge30pO1xufVxuXG50eXBlIEJ0bkNsYXNzID0geyBbayBpbiBCdG5UeXBlXTogeyBfbWNsYXNzPzogc3RyaW5nOyBfaWNvbj86IEljb25UeXBlOyBfdHlwZT86IEJ0blR5cGUgfSB9O1xuIl19
287
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ldHMtZmUtbmctc2RrL3NyYy9saWIvU2hhcmVkL2NvbXBvbmVudHMvYnRuL2J0bi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFDTCxXQUFXLEVBQ1gsWUFBWSxFQUNaLE9BQU8sRUFDUCxPQUFPLEVBQ1AsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osWUFBWSxFQUNaLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFlBQVksRUFDWixLQUFLLEVBQ0wsVUFBVSxFQUNWLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxFQUNOLFFBQVEsRUFDUixVQUFVLEVBQ1YsT0FBTyxFQUNQLFFBQVEsRUFDUixRQUFRLEVBQ1IsUUFBUSxFQUNSLFlBQVksRUFDWixNQUFNLEVBQ04sT0FBTyxFQUNQLFdBQVcsRUFDWCxZQUFZLEVBQ1osT0FBTyxFQUNQLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFNBQVMsRUFDVCxNQUFNLEVBRU4sU0FBUyxFQUNULFFBQVEsRUFDUixtQkFBbUIsRUFDbkIsV0FBVyxFQUNYLE9BQU8sRUFDUCxPQUFPLEdBRVIsTUFBTSxtQ0FBbUMsQ0FBQztBQUkzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sK0VBQStFLENBQUM7QUFDcEcsT0FBTyxFQUFtQixTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQWdCLE1BQU0sTUFBTSxDQUFDOzs7QUFLOUQsTUFBTSxPQUFPLFVBQVU7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RyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzVCLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDdEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQixJQUFJLElBQUksWUFBWSxTQUFTLEVBQUU7Z0JBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQ1QsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO3FCQUN2QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7cUJBQ3RDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNoQyxDQUFDO2FBQ0g7U0FDRjtRQUNELElBQUksR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUU7WUFDakMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7WUFDckQsNEJBQTRCO1lBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQzs4R0ExUVUsVUFBVTtrSEFBVixVQUFVLGNBRlQsTUFBTTs7MkZBRVAsVUFBVTtrQkFIdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmYVBhcGVyUGxhbmUgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1yZWd1bGFyLXN2Zy1pY29ucyc7XG5pbXBvcnQge1xuICBmYUFycm93TGVmdCxcbiAgZmFBcnJvd1JpZ2h0LFxuICBmYUNoZWNrLFxuICBmYUNsb25lLFxuICBmYUNvZ3MsXG4gIGZhRG93bmxvYWQsXG4gIGZhRWRpdCxcbiAgZmFFeWUsXG4gIGZhRmlsZSxcbiAgZmFGaWxlRXhwb3J0LFxuICBmYUZpbGVJbXBvcnQsXG4gIGZhSGlzdG9yeSxcbiAgZmFMaXN0QWx0LFxuICBmYUxvY2ssXG4gIGZhTW9uZXlDaGVjayxcbiAgZmFQZW4sXG4gIGZhUGVuRmFuY3ksXG4gIGZhUGx1cyxcbiAgZmFSZWN5Y2xlLFxuICBmYVNhdmUsXG4gIGZhU2VhcmNoLFxuICBmYVNsaWRlcnNILFxuICBmYVRyYXNoLFxuICBmYVVubG9jayxcbiAgZmFGaWx0ZXIsXG4gIGZhVXBsb2FkLFxuICBmYVVzZXJTaGllbGQsXG4gIGZhSG9tZSxcbiAgZmFVc2VycyxcbiAgZmFCZWxsU2xhc2gsXG4gIGZhSW5mb0NpcmNsZSxcbiAgZmFUcnVjayxcbiAgZmFUYWcsXG4gIGZhUmVjZWlwdCxcbiAgZmFCYW5rLFxuICBmYUFycm93c0gsXG4gIGZhUGxheSxcbiAgZmFMaW5rLFxuICBmYVBlcmNlbnQsXG4gIGZhQ2FuY2VsLFxuICBmYUNpcmNsZUV4Y2xhbWF0aW9uLFxuICBmYUhhbmRzaGFrZSxcbiAgZmFUYWJsZSxcbiAgZmFTcG9vbixcbiAgSWNvbkRlZmluaXRpb24sXG59IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBCdG5Db21wb25lbnQgfSBmcm9tICcuL2J0bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnRuVHlwZSwgSWNvblR5cGUgfSBmcm9tICcuL2J0bi5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyQWN0aXZpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vUmV1c2FibGVzL3JldXNhYmxlLXBhZ2VzL3VzZXItYWN0aXZpdHkvdWEtZXh0cmFzL3VzZXItYWN0aXZpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBFVUEgfSBmcm9tICcuLi8uLi8uLi9SZXVzYWJsZXMvcmV1c2FibGUtcGFnZXMvdXNlci1hY3Rpdml0eS91YS1leHRyYXMvdXNlci1hY3Rpdml0eS5tb2RlbCc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWVyZ2UsIHRhcCwgdGltZUludGVydmFsIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBCdG5TZXJ2aWNlIHtcbiAgYnRuQ2xhc3NDb25maWc6IEJ0bkNsYXNzID0ge1xuICAgIFsncHJpbWFyeSddOiB7XG4gICAgICBfbWNsYXNzOiAnYnRuIGJ0bi1wcmltYXJ5IGJ0bi1sZyB3LTEwMCcsXG4gICAgfSxcbiAgICBbJ3NlY29uZGFyeSddOiB7XG4gICAgICBfbWNsYXNzOiAnYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnkgYnRuLWNsb25lIGJ0bi1sZyB3LTEwMCcsXG4gICAgfSxcbiAgICBbJ291dGxpbmUnXToge1xuICAgICAgX21jbGFzczogJ2J0biBidG4tb3V0bGluZS1wcmltYXJ5IGJ0bi1sZyB3LTEwMCcsXG4gICAgfSxcbiAgICBbJ2NsZWFyJ106IHtcbiAgICAgIF9tY2xhc3M6ICdidG4gdy0xMDAnLFxuICAgIH0sXG4gICAgWydkYXJrLW91dGxpbmUnXToge1xuICAgICAgX21jbGFzczogJ2J0biBidG4tb3V0bGluZS1kYXJrIGJ0bi1sZyB3LTEwMCcsXG4gICAgfSxcbiAgICBbJ291dGxpbmUtbm0nXToge1xuICAgICAgX21jbGFzczogJ2J0biBidG4tb3V0bGluZS1wcmltYXJ5IHctMTAwJyxcbiAgICB9LFxuICAgIFsnZGFyayddOiB7XG4gICAgICBfbWNsYXNzOiAnYnRuIGJ0bi1kYXJrIGJ0bi1sZyB3LTEwMCcsXG4gICAgfSxcbiAgICBbJ2RhbmdlciddOiB7XG4gICAgICBfbWNsYXNzOiAnYnRuIGJ0bi1kYW5nZXIgYnRuLWxnIHctMTAwJyxcbiAgICB9LFxuICAgIFsnZGFuZ2VyLW91dGxpbmUnXToge1xuICAgICAgX21jbGFzczogJ2J0biBidG4tb3V0bGluZS1kYW5nZXIgYnRuLWxnIHctMTAwJyxcbiAgICB9LFxuICAgIFsnY2xvc2UnXTogeyBfbWNsYXNzOiAnYnRuIGJ0bi1sZyAgdGV4dC1kYW5nZXInLCBfaWNvbjogJ2Nsb3NlJyB9LFxuICAgIFsnc3VjY2VzcyddOiB7XG4gICAgICBfbWNsYXNzOiAnYnRuIGJ0bi1sZyBidG4tc3VjY2VzcyB3LTEwMCcsXG4gICAgfSxcbiAgfTtcbiAgY29uc3RydWN0b3IocHVibGljIHVhUzogVXNlckFjdGl2aXR5U2VydmljZSkge31cbiAgZ2V0SWNvbiA9IChpY29uVHlwZTogSWNvblR5cGUpID0+IHtcbiAgICBjb25zdCBpbmRleDoge1xuICAgICAgW2sgaW4gSWNvblR5cGVdPzoge1xuICAgICAgICBpY29uPzogSWNvbkRlZmluaXRpb247XG4gICAgICAgIGljb25TdHJpbmc/OiBzdHJpbmc7XG4gICAgICAgIGljb25Qb3NpdGlvbj86ICdyaWdodCcgfCAnbGVmdCc7XG4gICAgICB9O1xuICAgIH0gPSB7XG4gICAgICBhZGQ6IHtcbiAgICAgICAgaWNvbjogZmFQbHVzLFxuICAgICAgfSxcbiAgICAgIGFkanVzdDoge1xuICAgICAgICBpY29uOiBmYVNsaWRlcnNILFxuICAgICAgfSxcbiAgICAgIGNhbGVuZGFyOiB7XG4gICAgICAgIGljb25TdHJpbmc6ICdmYXMgZmEtY2FsZW5kYXItYWx0JyxcbiAgICAgIH0sXG4gICAgICBjYXNoOiB7XG4gICAgICAgIGljb246IGZhTW9uZXlDaGVjayxcbiAgICAgIH0sXG4gICAgICBjYW5jZWw6IHtcbiAgICAgICAgaWNvbjogZmFDYW5jZWwsXG4gICAgICB9LFxuICAgICAgY2hlY2tlZDoge1xuICAgICAgICBpY29uOiBmYUNoZWNrLFxuICAgICAgfSxcbiAgICAgIGNoZWNrbGlzdDoge1xuICAgICAgICBpY29uOiBmYUxpc3RBbHQsXG4gICAgICB9LFxuICAgICAgY2xvbmU6IHtcbiAgICAgICAgaWNvbjogZmFDbG9uZSxcbiAgICAgIH0sXG4gICAgICBjbG9zZToge1xuICAgICAgICBpY29uU3RyaW5nOiAnZmEgZmEtY2xvc2UnLFxuICAgICAgfSxcbiAgICAgIGNvZ3M6IHtcbiAgICAgICAgaWNvbjogZmFDb2dzLFxuICAgICAgfSxcbiAgICAgIGRlbGV0ZToge1xuICAgICAgICBpY29uOiBmYVRyYXNoLFxuICAgICAgfSxcbiAgICAgIGRvd25sb2FkOiB7XG4gICAgICAgIGljb246IGZhRG93bmxvYWQsXG4gICAgICB9LFxuICAgICAgZHJvcGRvd246IHtcbiAgICAgICAgaWNvblBvc2l0aW9uOiAncmlnaHQnLFxuICAgICAgICBpY29uU3RyaW5nOiAnZmEgZmEtY2hldnJvbi1kb3duJyxcbiAgICAgIH0sXG4gICAgICBlZGl0OiB7XG4gICAgICAgIGljb246IGZhRWRpdCxcbiAgICAgIH0sXG4gICAgICBleHBvcnQ6IHtcbiAgICAgICAgaWNvbjogZmFGaWxlRXhwb3J0LFxuICAgICAgfSxcbiAgICAgIGZpbGU6IHtcbiAgICAgICAgaWNvbjogZmFGaWxlLFxuICAgICAgfSxcbiAgICAgIGZpbHRlcjoge1xuICAgICAgICBpY29uOiBmYUZpbHRlcixcbiAgICAgIH0sXG4gICAgICBnZW5lcmF0ZToge1xuICAgICAgICBpY29uOiBmYVBlbkZhbmN5LFxuICAgICAgfSxcbiAgICAgIGd1YXJkOiB7XG4gICAgICAgIGljb246IGZhVXNlclNoaWVsZCxcbiAgICAgIH0sXG4gICAgICBhY2Nlc3M6IHtcbiAgICAgICAgaWNvbjogZmFVc2VyU2hpZWxkLFxuICAgICAgfSxcbiAgICAgIGhpc3Rvcnk6IHtcbiAgICAgICAgaWNvbjogZmFIaXN0b3J5LFxuICAgICAgfSxcbiAgICAgIGhvbWU6IHtcbiAgICAgICAgaWNvbjogZmFIb21lLFxuICAgICAgfSxcbiAgICAgIGltcG9ydDoge1xuICAgICAgICBpY29uOiBmYUZpbGVJbXBvcnQsXG4gICAgICB9LFxuICAgICAgaW5mbzoge1xuICAgICAgICBpY29uOiBmYUluZm9DaXJjbGUsXG4gICAgICB9LFxuICAgICAgbGluazoge1xuICAgICAgICBpY29uU3RyaW5nOiAnZmFzIGZhLWNoYWluJyxcbiAgICAgIH0sXG4gICAgICBsb2NrOiB7XG4gICAgICAgIGljb246IGZhTG9jayxcbiAgICAgIH0sXG4gICAgICBuZXh0OiB7XG4gICAgICAgIGljb246IGZhQXJyb3dSaWdodCxcbiAgICAgICAgaWNvblBvc2l0aW9uOiAncmlnaHQnLFxuICAgICAgfSxcbiAgICAgIHBlbjoge1xuICAgICAgICBpY29uOiBmYVBlbixcbiAgICAgIH0sXG4gICAgICBwb3N0OiB7XG4gICAgICAgIGljb246IGZhUGFwZXJQbGFuZSxcbiAgICAgIH0sXG4gICAgICBwcmV2aW91czoge1xuICAgICAgICBpY29uOiBmYUFycm93TGVmdCxcbiAgICAgIH0sXG4gICAgICByZW5ldzoge1xuICAgICAgICBpY29uOiBmYVJlY3ljbGUsXG4gICAgICB9LFxuICAgICAgc2F2ZToge1xuICAgICAgICBpY29uOiBmYVNhdmUsXG4gICAgICB9LFxuICAgICAgc2VhcmNoOiB7XG4gICAgICAgIGljb246IGZhU2VhcmNoLFxuICAgICAgfSxcbiAgICAgIHNob3c6IHtcbiAgICAgICAgaWNvbjogZmFFeWUsXG4gICAgICB9LFxuICAgICAgdmlldzoge1xuICAgICAgICBpY29uOiBmYUV5ZSxcbiAgICAgIH0sXG4gICAgICBzbm9vemU6IHtcbiAgICAgICAgaWNvbjogZmFCZWxsU2xhc2gsXG4gICAgICB9LFxuICAgICAgdXBsb2FkOiB7XG4gICAgICAgIGljb246IGZhVXBsb2FkLFxuICAgICAgfSxcbiAgICAgIHVubG9jazoge1xuICAgICAgICBpY29uOiBmYVVubG9jayxcbiAgICAgIH0sXG4gICAgICB1c2Vyczoge1xuICAgICAgICBpY29uOiBmYVVzZXJzLFxuICAgICAgfSxcbiAgICAgIHJlY3ljbGU6IHtcbiAgICAgICAgaWNvbjogZmFSZWN5Y2xlLFxuICAgICAgfSxcbiAgICAgIHJlZnJlc2g6IHtcbiAgICAgICAgaWNvblN0cmluZzogJ2ZhIGZhLXJlZnJlc2gnLFxuICAgICAgfSxcbiAgICAgIHRydWNrOiB7XG4gICAgICAgIGljb246IGZhVHJ1Y2ssXG4gICAgICB9LFxuICAgICAgdGFnOiB7XG4gICAgICAgIGljb246IGZhVGFnLFxuICAgICAgfSxcbiAgICAgIHJlY2VpcHQ6IHtcbiAgICAgICAgaWNvbjogZmFSZWNlaXB0LFxuICAgICAgfSxcbiAgICAgIGJhbms6IHtcbiAgICAgICAgaWNvbjogZmFCYW5rLFxuICAgICAgfSxcbiAgICAgIGFycm93aDoge1xuICAgICAgICBpY29uOiBmYUFycm93c0gsXG4gICAgICB9LFxuICAgICAgcGxheToge1xuICAgICAgICBpY29uOiBmYVBsYXksXG4gICAgICB9LFxuICAgICAgcGVyY2VudDoge1xuICAgICAgICBpY29uOiBmYVBlcmNlbnQsXG4gICAgICB9LFxuICAgICAgc2hha2U6IHtcbiAgICAgICAgaWNvbjogZmFIYW5kc2hha2UsXG4gICAgICB9LFxuICAgICAgZXJyb3I6IHtcbiAgICAgICAgaWNvbjogZmFDaXJjbGVFeGNsYW1hdGlvbixcbiAgICAgIH0sXG4gICAgICB0YWJsZToge1xuICAgICAgICBpY29uOiBmYVRhYmxlLFxuICAgICAgfSxcbiAgICAgIHNwb29uOiB7XG4gICAgICAgIGljb246IGZhU3Bvb24sXG4gICAgICB9LFxuICAgIH07XG4gICAgcmV0dXJuIGluZGV4W2ljb25UeXBlXTtcbiAgfTtcblxuICBnZXRUeXBlKHY6IEJ0blR5cGUpIHtcbiAgICByZXR1cm4gdGhpcy5idG5DbGFzc0NvbmZpZ1t2XSB8fCB7IF90eXBlOiAncHJpbWFyeScgfTtcbiAgfVxuICBkZWZhdWx0VHlwZTogQnRuVHlwZSA9ICdzZWNvbmRhcnknO1xuXG4gIGxvZ0NsaWNrKGJ0bjogQnRuQ29tcG9uZW50KSB7XG4gICAgY29uc29sZS5sb2coJ2J0bi5leHRyYWN0VGV4dCcsIGJ0bi5leHRyYWN0VGV4dCwgYnRuKTtcbiAgICBpZiAoYnRuLmV4Y2x1ZGVMb2dnaW5nKSByZXR1cm47XG4gICAgdGhpcy51YVMuYWRkKHtcbiAgICAgIGNvZGU6IEVVQS5jbGlja2VkLFxuICAgICAgYWN0aXZpdHlEZXNjcmlwdGlvbjogYnRuLmV4dHJhY3RUZXh0LFxuICAgIH0pO1xuICB9XG5cbiAgc2V0Rm9ybVN0YXRlID0gKGZvcm06IEFic3RyYWN0Q29udHJvbCwgYnRuOiBCdG5Db21wb25lbnQpID0+IHtcbiAgICBidG4/LmNvdW50ZXI/LnNldChidG4/LmNvdW50ZXIoKSArIDEpO1xuICAgIGJ0bi5mb3JtU3RhdGUuc2V0KHtcbiAgICAgIHBlbmRpbmc6IGZvcm0/LnBlbmRpbmcsXG4gICAgICBkaXJ0eTogZm9ybT8uZGlydHksXG4gICAgICBpbnZhbGlkOiBmb3JtPy5pbnZhbGlkLFxuICAgICAgcHJpc3RpbmU6IGZvcm0/LnByaXN0aW5lLFxuICAgICAgdmFsaWQ6IGZvcm0/LnZhbGlkLFxuICAgIH0pO1xuICB9O1xuXG4gIHNldEZvcm1zU3RhdGUgPSAoZm9ybXM6IEFic3RyYWN0Q29udHJvbFtdLCBidG46IEJ0bkNvbXBvbmVudCkgPT4ge1xuICAgIGNvbnN0IGZzID0ge1xuICAgICAgcGVuZGluZzogdHJ1ZSxcbiAgICAgIGRpcnR5OiB0cnVlLFxuICAgICAgaW52YWxpZDogdHJ1ZSxcbiAgICAgIHByaXN0aW5lOiB0cnVlLFxuICAgICAgdmFsaWQ6IHRydWUsXG4gICAgfTtcbiAgICBmb3Jtcz8uZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgaWYgKCF4LnBlbmRpbmcpIGZzLnBlbmRpbmcgPSB4LnBlbmRpbmc7XG4gICAgICBpZiAoIXguZGlydHkpIGZzLmRpcnR5ID0geC5kaXJ0eTtcbiAgICAgIGlmICgheC5pbnZhbGlkKSBmcy5pbnZhbGlkID0geC5pbnZhbGlkO1xuICAgICAgaWYgKCF4LnByaXN0aW5lKSBmcy5wcmlzdGluZSA9IHgucHJpc3RpbmU7XG4gICAgICBpZiAoIXgudmFsaWQpIGZzLnZhbGlkID0geC52YWxpZDtcbiAgICB9KTtcbiAgICBidG4uZm9ybXNTdGF0ZS5zZXQoZnMpO1xuICB9O1xuXG4gIGNoZWNrRm9ybShidG46IEJ0bkNvbXBvbmVudCkge1xuICAgIGlmIChidG4uaXNEaXNhYmxlZCgpICYmIGJ0bi5mb3JtKSB7XG4gICAgICBidG4uZm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICBjb25zdCBmb3JtID0gYnRuLmZvcm07XG4gICAgICBjb25zb2xlLmxvZyhmb3JtKTtcbiAgICAgIGlmIChmb3JtIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIE9iamVjdC5rZXlzKGZvcm0uY29udHJvbHMpXG4gICAgICAgICAgICAuZmlsdGVyKCh4KSA9PiAhZm9ybS5jb250cm9sc1t4XS52YWxpZClcbiAgICAgICAgICAgIC5tYXAoKHgpID0+IGZvcm0uY29udHJvbHNbeF0pLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoYnRuLmlzRGlzYWJsZWQoKSAmJiBidG4uZm9ybXMpIHtcbiAgICAgIGJ0bi5mb3Jtcy5mb3JFYWNoKChmb3JtKSA9PiBmb3JtLm1hcmtBbGxBc1RvdWNoZWQoKSk7XG4gICAgICAvLyB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICBjb25zb2xlLmxvZyhidG4uZm9ybXMpO1xuICAgIH1cbiAgfVxuICAvLyBwcm90ZWN0ZWQgZGVib3VuY2VyQXJyYXkgPSBbMjAwXS5jb25jYXQobmV3IEFycmF5KDMpLmZpbGwoMSkubWFwKCh4LCBpKSA9PiAoaSArIDEpICogMTAwMCkpO1xuXG4gIGhhbmRsZUZvcm0gPSAoZm9ybTogQWJzdHJhY3RDb250cm9sLCBidG46IEJ0bkNvbXBvbmVudCkgPT5cbiAgICBmb3JtLnN0YXR1c0NoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKHIpID0+IHRoaXMuc2V0Rm9ybVN0YXRlKGZvcm0sIGJ0bikpLFxuXG4gICAgICAgIGRlYm91bmNlVGltZSgyMDApLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5zZXRGb3JtU3RhdGUoZm9ybSwgYnRuKSksXG5cbiAgICAgICAgZGVib3VuY2VUaW1lKDEwMDApLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5zZXRGb3JtU3RhdGUoZm9ybSwgYnRuKSksXG5cbiAgICAgICAgZGVib3VuY2VUaW1lKDEwMDApLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5zZXRGb3JtU3RhdGUoZm9ybSwgYnRuKSksXG5cbiAgICAgICAgZGVib3VuY2VUaW1lKDEwMDApLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5zZXRGb3JtU3RhdGUoZm9ybSwgYnRuKSksXG5cbiAgICAgICAgZGVib3VuY2VUaW1lKDEwMDApLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5zZXRGb3JtU3RhdGUoZm9ybSwgYnRuKSksXG5cbiAgICAgICAgZGVib3VuY2VUaW1lKDEwMDApLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5zZXRGb3JtU3RhdGUoZm9ybSwgYnRuKSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHt9KTtcblxuICBoYW5kbGVGb3JtcyA9ICh2OiBBYnN0cmFjdENvbnRyb2xbXSwgYnRuOiBCdG5Db21wb25lbnQpID0+XG4gICAgbWVyZ2Uodi5tYXAoKGYpID0+IGYuc3RhdHVzQ2hhbmdlcykpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKChyKSA9PiB0aGlzLnNldEZvcm1zU3RhdGUodiwgYnRuKSksXG5cbiAgICAgICAgZGVib3VuY2VUaW1lKDIwMCksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLnNldEZvcm1zU3RhdGUodiwgYnRuKSksXG5cbiAgICAgICAgZGVib3VuY2VUaW1lKDEwMDApLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5zZXRGb3Jtc1N0YXRlKHYsIGJ0bikpLFxuXG4gICAgICAgIGRlYm91bmNlVGltZSgxMDAwKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuc2V0Rm9ybXNTdGF0ZSh2LCBidG4pKSxcblxuICAgICAgICBkZWJvdW5jZVRpbWUoMTAwMCksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLnNldEZvcm1zU3RhdGUodiwgYnRuKSksXG5cbiAgICAgICAgZGVib3VuY2VUaW1lKDEwMDApLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5zZXRGb3Jtc1N0YXRlKHYsIGJ0bikpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7fSk7XG59XG5cbnR5cGUgQnRuQ2xhc3MgPSB7IFtrIGluIEJ0blR5cGVdOiB7IF9tY2xhc3M/OiBzdHJpbmc7IF9pY29uPzogSWNvblR5cGU7IF90eXBlPzogQnRuVHlwZSB9IH07XG4iXX0=
@@ -1467,6 +1467,7 @@ class BtnService {
1467
1467
  };
1468
1468
  this.defaultType = 'secondary';
1469
1469
  this.setFormState = (form, btn) => {
1470
+ btn?.counter?.set(btn?.counter() + 1);
1470
1471
  btn.formState.set({
1471
1472
  pending: form?.pending,
1472
1473
  dirty: form?.dirty,
@@ -1499,7 +1500,7 @@ class BtnService {
1499
1500
  };
1500
1501
  // protected debouncerArray = [200].concat(new Array(3).fill(1).map((x, i) => (i + 1) * 1000));
1501
1502
  this.handleForm = (form, btn) => form.statusChanges
1502
- .pipe(tap((r) => this.setFormState(form, btn)), debounceTime(200), tap(() => this.setFormState(form, btn)), debounceTime(1000), tap(() => this.setFormState(form, btn)), debounceTime(1000), tap(() => this.setFormState(form, btn)), debounceTime(1000), tap(() => this.setFormState(form, btn)), debounceTime(1000), tap(() => this.setFormState(form, btn)))
1503
+ .pipe(tap((r) => this.setFormState(form, btn)), debounceTime(200), tap(() => this.setFormState(form, btn)), debounceTime(1000), tap(() => this.setFormState(form, btn)), debounceTime(1000), tap(() => this.setFormState(form, btn)), debounceTime(1000), tap(() => this.setFormState(form, btn)), debounceTime(1000), tap(() => this.setFormState(form, btn)), debounceTime(1000), tap(() => this.setFormState(form, btn)))
1503
1504
  .subscribe(() => { });
1504
1505
  this.handleForms = (v, btn) => merge(v.map((f) => f.statusChanges))
1505
1506
  .pipe(tap((r) => this.setFormsState(v, btn)), debounceTime(200), tap(() => this.setFormsState(v, btn)), debounceTime(1000), tap(() => this.setFormsState(v, btn)), debounceTime(1000), tap(() => this.setFormsState(v, btn)), debounceTime(1000), tap(() => this.setFormsState(v, btn)), debounceTime(1000), tap(() => this.setFormsState(v, btn)))
@@ -3518,6 +3519,7 @@ class BtnComponent {
3518
3519
  this.centerBtn = input(true);
3519
3520
  this.danger = input();
3520
3521
  this.warning = input();
3522
+ this.counter = signal(0);
3521
3523
  this.iconBtn = signal(false);
3522
3524
  this.loading = signal(false);
3523
3525
  this._mclass = signal(null);