@ieeesa-npm/presentation 0.24.4 → 0.24.6

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.
@@ -246,7 +246,7 @@ export class FilterComponent {
246
246
  onDropdownOpenedChange(event) {
247
247
  if (!event?.opened)
248
248
  this.filterDropdownSearch.emit('');
249
- if (event?.opened &&
249
+ if (!event?.opened &&
250
250
  this.selectComponent?.formFields?.toArray()?.[0]?.searchTerm) {
251
251
  this.selectComponent.formFields.toArray()[0].searchTerm = '';
252
252
  }
@@ -292,4 +292,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
292
292
  }], filterDropdownSearch: [{
293
293
  type: Output
294
294
  }] } });
295
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFHTixpQkFBaUIsRUFDakIsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzFDLE9BQU8sRUFBYyxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEtBQUssU0FBUyxNQUFNLDZCQUE2QixDQUFDO0FBRXpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxP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QUFFLFVBQVUsRUFDNUQ7WUFDQSxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1NBQzlEO0lBQ0gsQ0FBQzsrR0FyUFUsZUFBZTttR0FBZixlQUFlLGloQkFlZixlQUFlLGdEQ3RFNUIsZ3ZGQXlFQSw0Z1NEakNJLFlBQVksZ09BQ1osaUJBQWlCLDhCQUNqQixhQUFhLDhCQUNiLGVBQWUsNFFBQ2YsY0FBYyw2U0FDZCxpQkFBaUIsOE9BQ2pCLG1CQUFtQixxSUFDbkIsbUJBQW1CLDhCQUNuQixlQUFlLCtCQUNmLGVBQWU7OzRGQU1OLGVBQWU7a0JBbkIzQixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsZUFBZTtxQkFDaEIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTtnSkFpQlQsZUFBZTtzQkFBMUMsU0FBUzt1QkFBQyxlQUFlO2dCQUliLGdCQUFnQjtzQkFBNUIsS0FBSztnQkFRRixvQkFBb0I7c0JBRHZCLEtBQUs7Z0JBT0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQU1GLHFCQUFxQjtzQkFEeEIsS0FBSztnQkF5QkksY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IEJyZWFrcG9pbnRPYnNlcnZlclNlcnZpY2UgfSBmcm9tICdAaWVlZXNhLW5wbS91dGlsaXR5JztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENoZWNrYm94T3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NoZWNrYm94LW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IEljb25CdXR0b24gfSBmcm9tICcuLi8uLi9tb2RlbHMvaWNvbi1idXR0b24ubW9kZWwnO1xyXG5pbXBvcnQgeyBDaGlwT3B0aW9uLCBGaWx0ZXJPcHRpb25UeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NoaXAtb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgQ2hpcHNDb21wb25lbnQgfSBmcm9tICcuLi9jaGlwcy9jaGlwcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEljb25CdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uLWJ1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgKiBhcyBjb25zdGFudHMgZnJvbSAnLi4vLi4vYXNzZXRzL2NvbnN0YW50cy5qc29uJztcclxuaW1wb3J0IHsgRmlsdGVyc0FuZE9wdGlvbnMgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsdGVycy1vcHRpb25zLm1vZGVsJztcclxuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgU2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlbGVjdC1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0T3BlbmVkU3RhdGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0LW9wZW5lZC1zdGF0ZS5tb2RlbCc7XHJcblxyXG4vKipcclxuICogUHJvdmlkZXMgYW4gaW1wbGVtZW50YXRpb24gZm9yIGdyb3VwIG9mIGZpbHRlci5cclxuICogQGV4cG9ydFxyXG4gKiBAY2xhc3MgRmlsdGVyQ29tcG9uZW50XHJcbiAqIEBpbXBsZW1lbnRzIHtPbkRlc3Ryb3l9XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS1maWx0ZXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgQ2hpcHNDb21wb25lbnQsXHJcbiAgICBDaGVja2JveENvbXBvbmVudCxcclxuICAgIEljb25CdXR0b25Db21wb25lbnQsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gICAgU2VsZWN0Q29tcG9uZW50LFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZmlsdGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjb25zdGFudHM6IGFueSA9IGNvbnN0YW50cztcclxuICBhcnJvdzogSWNvbkJ1dHRvbiA9IHRoaXMuY29uc3RhbnRzPy5jaGlwcz8uaWNvbnM/LmFycm93O1xyXG4gIGNoZWNrOiBJY29uQnV0dG9uID0gdGhpcy5jb25zdGFudHM/LmNoaXBzPy5pY29ucz8uY2hlY2s7XHJcbiAgcmVtb3ZlSWNvbjogSWNvbkJ1dHRvbiA9IHRoaXMuY29uc3RhbnRzPy5jaGlwcz8uaWNvbnM/LnJlbW92ZTtcclxuICBpc0ZpbHRlck9wZW5lZCA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkQ2hlY2tib3hlcyE6IENoZWNrYm94T3B0aW9uW107XHJcbiAgb25GaWx0ZXJUb2dnbGUgPSBmYWxzZTtcclxuICBpc0ZpbHRlckFjdGl2ZSA9IGZhbHNlO1xyXG4gIGlzTW9iaWxlVmlldyA9IGZhbHNlO1xyXG4gIGlzQXBwbHlCdXR0b25EaXNhYmxlZCA9IHRydWU7XHJcbiAgZmlsdGVyc0FuZE9wdGlvbnMgPSBuZXcgTWFwPG51bWJlciB8IHN0cmluZywgQ2hlY2tib3hPcHRpb25bXT4oKTtcclxuICBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgcmVjcmVhdGVDaGVja2JveE9wdGlvbnNDb250cm9sITogQ2hlY2tib3hPcHRpb25bXTtcclxuICBAVmlld0NoaWxkKFNlbGVjdENvbXBvbmVudCkgc2VsZWN0Q29tcG9uZW50ITogU2VsZWN0Q29tcG9uZW50O1xyXG4gIHByaXZhdGUgZmlsdGVyZWRUeXBlT3B0aW9uc0luZm8hOiBDaGlwT3B0aW9uW107XHJcbiAgcHJpdmF0ZSBzZWxlY3RlZEZpbHRlck9wdGlvblR5cGU6IEZpbHRlck9wdGlvblR5cGUgPVxyXG4gICAgRmlsdGVyT3B0aW9uVHlwZS5DSEVDS0JPWDtcclxuICBASW5wdXQoKSBzZXQgZmlsdGVyT3B0aW9uVHlwZShvcHRpb25UeXBlOiBGaWx0ZXJPcHRpb25UeXBlKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkRmlsdGVyT3B0aW9uVHlwZSA9IG9wdGlvblR5cGU7XHJcbiAgfVxyXG4gIGdldCBmaWx0ZXJPcHRpb25UeXBlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRGaWx0ZXJPcHRpb25UeXBlO1xyXG4gIH1cclxuICBvcHRpb25zVHlwZSA9IEZpbHRlck9wdGlvblR5cGU7XHJcbiAgQElucHV0KClcclxuICBzZXQgYXBwbGllZEZpbHRlck9wdGlvbnMob3B0aW9uczogQ2hpcE9wdGlvbltdKSB7XHJcbiAgICB0aGlzLmZpbHRlcmVkVHlwZU9wdGlvbnNJbmZvID0gb3B0aW9ucztcclxuICB9XHJcbiAgZ2V0IGFwcGxpZWRGaWx0ZXJPcHRpb25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyZWRUeXBlT3B0aW9uc0luZm87XHJcbiAgfVxyXG4gIEBJbnB1dCgpIGZpbHRlckJ1dHRvbjogSWNvbkJ1dHRvbiA9IHRoaXMuY29uc3RhbnRzPy5maWx0ZXI/LmJ1dHRvbnNbMF07XHJcbiAgQElucHV0KCkgZmlsdGVycyE6IENoaXBPcHRpb25bXTtcclxuICBASW5wdXQoKSBjYW5TaG93U2VsZWN0aW9uID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBzZWxlY3RlZEZpbHRlck9wdGlvbnNMaXN0ITogQ2hlY2tib3hPcHRpb25bXTtcclxuICBzZWxlY3RlZEZpbHRlckRyb3BEb3duTGlzdDogU2VsZWN0T3B0aW9uW10gPSBbXTtcclxuICBzZWxlY3RlZEZpbHRlcklkITogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIHByZXZTZWxlY3RlZEZpbHRlck9wdGlvbnNMaXN0OiBDaGVja2JveE9wdGlvbltdID0gW107XHJcbiAgQElucHV0KClcclxuICBzZXQgc2VsZWN0ZWRGaWx0ZXJPcHRpb25zKG9wdGlvbnM6IENoZWNrYm94T3B0aW9uW10pIHtcclxuICAgIGlmIChvcHRpb25zICYmIHRoaXMuc2VsZWN0ZWRGaWx0ZXJJZCkge1xyXG4gICAgICB0aGlzLmZpbHRlcnNBbmRPcHRpb25zLnNldCh0aGlzLnNlbGVjdGVkRmlsdGVySWQsIG9wdGlvbnMpO1xyXG4gICAgICB0aGlzLnNldEZpbHRlclNlbGVjdGlvbk9uT3B0aW9uQ2hhbmdlKCk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJPcHRpb25zTGlzdCA9IG9wdGlvbnM7XHJcbiAgICAgIGlmIChcclxuICAgICAgICB0aGlzLnByZXZTZWxlY3RlZEZpbHRlck9wdGlvbnNMaXN0Lmxlbmd0aCAmJlxyXG4gICAgICAgIHRoaXMucHJldlNlbGVjdGVkRmlsdGVyT3B0aW9uc0xpc3RbMF0ubmFtZSAhPT1cclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJPcHRpb25zTGlzdD8uWzBdPy5uYW1lXHJcbiAgICAgIClcclxuICAgICAgICB0aGlzLnJlY3JlYXRlQ2hlY2tib3hPcHRpb25zQ29udHJvbCA9IG9wdGlvbnM7XHJcbiAgICAgIHRoaXMucHJldlNlbGVjdGVkRmlsdGVyT3B0aW9uc0xpc3QgPSB0aGlzLnNlbGVjdGVkRmlsdGVyT3B0aW9uc0xpc3Q7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5maWx0ZXJPcHRpb25UeXBlID09PSB0aGlzLm9wdGlvbnNUeXBlLkRST1BET1dOKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJEcm9wRG93bkxpc3QgPSB0aGlzLnNlbGVjdGVkRmlsdGVyT3B0aW9uc0xpc3QubWFwKFxyXG4gICAgICAgIChzZWxlY3RPcHRpb246IENoZWNrYm94T3B0aW9uKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4geyBpZDogc2VsZWN0T3B0aW9uLmlkLCBuYW1lOiBzZWxlY3RPcHRpb24ubmFtZSA/PyAnJyB9O1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0IHNlbGVjdGVkRmlsdGVyT3B0aW9ucygpIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkRmlsdGVyT3B0aW9uc0xpc3Q7XHJcbiAgfVxyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZEZpbHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hpcE9wdGlvbj4oKTtcclxuICBAT3V0cHV0KCkgZmlsdGVyZWRPcHRpb25zID0gbmV3IEV2ZW50RW1pdHRlcjxGaWx0ZXJzQW5kT3B0aW9uc1tdPigpO1xyXG4gIEBPdXRwdXQoKSByZW1vdmVGaWx0ZXJlZE9wdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZmlsdGVyRHJvcGRvd25TZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBicmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlOiBCcmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmZXJlbmNlOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge1xyXG4gICAgdGhpcy5icmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlXHJcbiAgICAgIC5nZXRCcmVha3BvaW50KClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICB0aGlzLmlzTW9iaWxlVmlldyA9IHJlc3VsdC5tYXRjaGVzO1xyXG4gICAgICAgIHRoaXMuZmlsdGVyQnV0dG9uLmRpc2FibGVkID0gIXRoaXMuaXNNb2JpbGVWaWV3O1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogT25GaWx0ZXJTZWxlY3RlZCByZWNlaXZlcyB0aGUgc2VsZWN0ZWQgZmlsdGVyIGZyb20gY2hpcCBjb21wb25lbnQsIGVtaXRzIHRoZSBzZWxlY3RlZCBmaWx0ZXIgYW5kIHRvZ2dsZSB0aGUgaXNGaWx0ZXJCeU9wdGlvbnNWaXNpYmxlIHN0YXRlLlxyXG4gICAqIEBwYXJhbSB7Q2hpcE9wdGlvbn0gdHlwZVxyXG4gICAqIEBtZW1iZXJvZiBGaWx0ZXJDb21wb25lbnRcclxuICAgKi9cclxuICBvbkZpbHRlclNlbGVjdGVkKHR5cGU6IENoaXBPcHRpb24pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJJZCA9IHR5cGUuaWQ7XHJcbiAgICBpZiAodHlwZS5jaGVja2VkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXIuZW1pdCh0eXBlKTtcclxuICAgIH1cclxuICAgIHRoaXMuaXNGaWx0ZXJPcGVuZWQgPSB0eXBlPy5jaGVja2VkO1xyXG4gICAgdGhpcy5maWx0ZXJPcHRpb25UeXBlID0gdHlwZS5vcHRpb25UeXBlID8/IHRoaXMub3B0aW9uc1R5cGUuQ0hFQ0tCT1g7XHJcbiAgICB0aGlzLm9uRmlsdGVyVG9nZ2xlID0gZmFsc2U7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIE9uUmVtb3ZhbE9mRmlsdGVyZWRPcHRpb24gbWV0aG9kIHJlY2VpdmVzIHJlbW92ZWQgY2hpcCBmcm9tIGNoaXAgY29tcG9uZW50IGFuZCBlbWl0cyB0aGUgZXZlbnQgd2l0aCByZW1vdmVkIGNoaXAuXHJcbiAgICogQHBhcmFtIHtDaGlwT3B0aW9ufSBvcHRpb25cclxuICAgKiBAbWVtYmVyb2YgRmlsdGVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25SZW1vdmFsT2ZGaWx0ZXJlZE9wdGlvbihvcHRpb246IENoaXBPcHRpb24pOiB2b2lkIHtcclxuICAgIGlmIChvcHRpb24/Lm5hbWUgPT09IHRoaXMuY29uc3RhbnRzPy5maWx0ZXI/LmxhYmVsPy5jbGVhckFsbCkge1xyXG4gICAgICB0aGlzLmFwcGxpZWRGaWx0ZXJPcHRpb25zID0gW107XHJcbiAgICAgIHRoaXMuZmlsdGVyc0FuZE9wdGlvbnMuZm9yRWFjaCgob3B0aW9uczogQ2hlY2tib3hPcHRpb25bXSkgPT4ge1xyXG4gICAgICAgIG9wdGlvbnM/LmZvckVhY2goKG9wdGlvbjogQ2hlY2tib3hPcHRpb24pID0+IChvcHRpb24uY2hlY2tlZCA9IGZhbHNlKSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnJlbW92ZUZpbHRlcmVkT3B0aW9uLmVtaXQoW10pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hcHBsaWVkRmlsdGVyT3B0aW9ucyA9IHRoaXMuYXBwbGllZEZpbHRlck9wdGlvbnMuZmlsdGVyKFxyXG4gICAgICAgIChyZXM6IENoaXBPcHRpb24pID0+IHJlcy5pZCAhPT0gb3B0aW9uLmlkXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuYXBwbGllZEZpbHRlck9wdGlvbnMgPVxyXG4gICAgICAgIHRoaXMuYXBwbGllZEZpbHRlck9wdGlvbnMubGVuZ3RoID09PSAxID8gW10gOiB0aGlzLmFwcGxpZWRGaWx0ZXJPcHRpb25zO1xyXG4gICAgICB0aGlzLmZpbHRlcnNBbmRPcHRpb25zLmZvckVhY2goKG9wdGlvbnM6IENoZWNrYm94T3B0aW9uW10pID0+IHtcclxuICAgICAgICBvcHRpb25zPy5mb3JFYWNoKChjaGVja0JveE9wdGlvbjogQ2hlY2tib3hPcHRpb24pID0+IHtcclxuICAgICAgICAgIGlmIChjaGVja0JveE9wdGlvbi5pZCA9PT0gb3B0aW9uLmlkKSBjaGVja0JveE9wdGlvbi5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnJlbW92ZUZpbHRlcmVkT3B0aW9uLmVtaXQodGhpcy5nZXRMaXN0T2ZTZWxlY3RlZENoZWNrYm94ZXMoKSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldEZpbHRlclNlbGVjdGlvbk9uT3B0aW9uQ2hhbmdlKCk7XHJcbiAgfVxyXG4gIGdldExpc3RPZlNlbGVjdGVkQ2hlY2tib3hlcygpIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkRmlsdGVyc0FuZE9wdGlvbnM6IEZpbHRlcnNBbmRPcHRpb25zW10gPSBbXTtcclxuICAgIHRoaXMuZmlsdGVyc0FuZE9wdGlvbnMuZm9yRWFjaChcclxuICAgICAgKHZhbHVlOiBDaGVja2JveE9wdGlvbltdLCBrZXk6IHN0cmluZyB8IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uczogQ2hlY2tib3hPcHRpb25bXSA9IFtdO1xyXG4gICAgICAgIHZhbHVlPy5mb3JFYWNoKChvcHRpb24pID0+IHtcclxuICAgICAgICAgIGlmIChvcHRpb24uY2hlY2tlZCkgc2VsZWN0ZWRPcHRpb25zLnB1c2gob3B0aW9uKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoc2VsZWN0ZWRPcHRpb25zLmxlbmd0aClcclxuICAgICAgICAgIHNlbGVjdGVkRmlsdGVyc0FuZE9wdGlvbnMucHVzaCh7IFtrZXldOiBzZWxlY3RlZE9wdGlvbnMgfSk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICByZXR1cm4gc2VsZWN0ZWRGaWx0ZXJzQW5kT3B0aW9ucztcclxuICB9XHJcbiAgLyoqXHJcbiAgICogT25GaWx0ZXJBcHBseSB0b2dnbGVzIHRoZSBpc0ZpbHRlckJ5T3B0aW9uc1Zpc2libGUgc3RhdGUsIGVtaXRzIHRoZSBzZWxlY3RlZCBmaWx0ZXIgb3B0aW9ucyBhbmQgdG9nZ2xlcyB0aGUgZmlsdGVyIHN0YXRlT1xyXG4gICAqIEBtZW1iZXJvZiBGaWx0ZXJDb21wb25lbnRcclxuICAgKi9cclxuICBvbkZpbHRlckFwcGx5KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0ZpbHRlck9wZW5lZCA9ICF0aGlzLmlzRmlsdGVyT3BlbmVkO1xyXG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMuZW1pdCh0aGlzLmdldExpc3RPZlNlbGVjdGVkQ2hlY2tib3hlcygpKTtcclxuICAgIHRoaXMub25GaWx0ZXJUb2dnbGUgPSB0cnVlO1xyXG4gICAgdGhpcy5pc0FwcGx5QnV0dG9uRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZmVyZW5jZS5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFNlbGVjdGVkRmlsdGVyT3B0aW9ucyBtZXRob2QgaXMgY2FsbGVkIGZvciBldmVyeSBzZWxlY3Rpb24gYW5kIGRlc2VsZWN0aW9uIG9mIGZpbHRlciBvcHRpb24gYW5kIHN0b3JlcyB0aGUgc2VsZWN0ZWQgZmlsdGVyIG9wdGlvbnMuXHJcbiAgICogQHBhcmFtIHtGaWx0ZXJzQW5kT3B0aW9uc1tdfSB2YWx1ZXNcclxuICAgKiBAbWVtYmVyb2YgRmlsdGVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgc2VsZWN0ZWRGaWx0ZXJPcHRpb25zSW5mbyh2YWx1ZXM6IENoZWNrYm94T3B0aW9uW10pOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmdldExpc3RPZlNlbGVjdGVkQ2hlY2tib3hlcygpLmxlbmd0aCA9PT0gMClcclxuICAgICAgdGhpcy5pc0FwcGx5QnV0dG9uRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgZWxzZSB0aGlzLmlzQXBwbHlCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgaWYgKHZhbHVlcyAmJiB0aGlzLnNlbGVjdGVkRmlsdGVySWQpIHtcclxuICAgICAgdGhpcy5maWx0ZXJzQW5kT3B0aW9ucy5zZXQodGhpcy5zZWxlY3RlZEZpbHRlcklkLCB2YWx1ZXMpO1xyXG4gICAgICB0aGlzLnNldEZpbHRlclNlbGVjdGlvbk9uT3B0aW9uQ2hhbmdlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIE9uRmlsdGVyQnlJY29uQ2xpY2sgbWV0aG9kIHRvZ2dsZXMgdGhlIGlzRmlsdGVyQWN0aXZlIHZhbHVlLlxyXG4gICAqIEBtZW1iZXJvZiBGaWx0ZXJDb21wb25lbnRcclxuICAgKi9cclxuICBvbkZpbHRlckJ5SWNvbkNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0ZpbHRlckFjdGl2ZSA9ICF0aGlzLmlzRmlsdGVyQWN0aXZlO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBOZ09uRGVzdHJveSBwZXJmb3JtcyBuZWNlc3NhcnkgY2xlYW51cCB0YXNrcywgc3VjaCBhcyB1bnN1YnNjcmliaW5nIGZyb20gc3Vic2NyaXB0aW9uIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBiZWluZyBkZXN0cm95ZWQuXHJcbiAgICogQG1lbWJlcm9mIEZpbHRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogT25Ecm9wZG93blNlbGVjdGlvbkNoYW5nZSgpIGlzIGNhbGxlZCBmb3IgZXZlcnkgZHJvcCBkb3duIHNlbGVjdGlvbiBjaGFuZ2VzIGFuZCBzZXRzIHNlbGVjdGVkRmlsdGVyT3B0aW9uc0xpc3QuXHJcbiAgICogQG1lbWJlcm9mIEZpbHRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRHJvcGRvd25TZWxlY3Rpb25DaGFuZ2Uob3B0aW9uOiBTZWxlY3RPcHRpb24pOiB2b2lkIHtcclxuICAgIGlmIChvcHRpb24gJiYgdGhpcy5zZWxlY3RlZEZpbHRlcklkKSB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uOiBDaGVja2JveE9wdGlvbltdID0gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGlkOiBvcHRpb24uaWQsXHJcbiAgICAgICAgICBuYW1lOiBvcHRpb24ubmFtZSxcclxuICAgICAgICAgIGNoZWNrZWQ6IHRydWUsXHJcbiAgICAgICAgICBkaXNhYmxlZDogZmFsc2UsXHJcbiAgICAgICAgfSxcclxuICAgICAgXTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlck9wdGlvbnNMaXN0Py5tYXAoKG9wdGlvbikgPT4ge1xyXG4gICAgICAgIGlmIChvcHRpb24uaWQgPT09IHNlbGVjdGVkT3B0aW9uWzBdLmlkKSB7XHJcbiAgICAgICAgICBvcHRpb24uY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG9wdGlvbi5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5pc0FwcGx5QnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5maWx0ZXJzQW5kT3B0aW9ucy5zZXQodGhpcy5zZWxlY3RlZEZpbHRlcklkLCBzZWxlY3RlZE9wdGlvbik7XHJcbiAgICAgIHRoaXMuc2V0RmlsdGVyU2VsZWN0aW9uT25PcHRpb25DaGFuZ2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldEZpbHRlclNlbGVjdGlvbk9uT3B0aW9uQ2hhbmdlKCkgY2FsbGVkIG9uIGV2ZXJ5IHNlbGVjdGlvbiBhbmQgZGVzZWxlY3Rpb24gb2YgZmlsdGVyIG9wdGlvbiBhbmQgc2V0cyBjYW5TaG93U2VsZWN0aW9uIGZsYWcgdG8gc2hvdyBvciBoaWRlIHRoZSB0aWNrIG1hcmsgb2Ygc2VsZWN0ZWQgZmlsdGVyIG9wdGlvbi5cclxuICAgKiBAbWVtYmVyb2YgRmlsdGVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgc2V0RmlsdGVyU2VsZWN0aW9uT25PcHRpb25DaGFuZ2UoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jYW5TaG93U2VsZWN0aW9uKSB7XHJcbiAgICAgIGZvciAoY29uc3QgW2tleSwgb3B0aW9uc10gb2YgdGhpcy5maWx0ZXJzQW5kT3B0aW9ucykge1xyXG4gICAgICAgIGNvbnN0IGZpbHRlck9wdGlvbiA9IHRoaXMuZmlsdGVycy5maW5kKChjaGlwT3B0aW9uKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gY2hpcE9wdGlvbi5uYW1lID09PSBrZXk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKGZpbHRlck9wdGlvbikge1xyXG4gICAgICAgICAgZmlsdGVyT3B0aW9uLmNhblNob3dTZWxlY3Rpb24gPSBvcHRpb25zLnNvbWUoXHJcbiAgICAgICAgICAgIChvcHRpb24pID0+IG9wdGlvbi5jaGVja2VkID09PSB0cnVlXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBFbWl0cyB0aGUgZmlsdGVyRHJvcGRvd25TZWFyY2ggZXZlbnQgd2l0aCB0aGUgc2VhcmNoZWQgdGV4dCB2YWx1ZS5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2VhcmNoVGV4dFxyXG4gICAqIEBtZW1iZXJvZiBGaWx0ZXJDb21wb25lbnRcclxuICAgKi9cclxuICBvbkRyb3Bkb3duU2VhcmNoKHNlYXJjaFRleHQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5maWx0ZXJEcm9wZG93blNlYXJjaC5lbWl0KHNlYXJjaFRleHQpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBFbWl0cyBmaWx0ZXJEcm9wZG93blNlYXJjaCBldmVudCB0byByZXNldCB0aGUgZHJvcGRvd24gb3B0aW9ucyB0byBkZWZhdWx0IHdoZW4gdGhlIGRyb3Bkb3duIGlzIGNsb3NlZCBhbmQgc2V0cyBzZWFyY2ggdGVybSBlbXB0eS5cclxuICAgKiBAcGFyYW0ge1NlbGVjdE9wZW5lZFN0YXRlfSBldmVudFxyXG4gICAqIEBtZW1iZXJvZiBGaWx0ZXJDb21wb25lbnRcclxuICAgKi9cclxuICBvbkRyb3Bkb3duT3BlbmVkQ2hhbmdlKGV2ZW50OiBTZWxlY3RPcGVuZWRTdGF0ZSk6IHZvaWQge1xyXG4gICAgaWYgKCFldmVudD8ub3BlbmVkKSB0aGlzLmZpbHRlckRyb3Bkb3duU2VhcmNoLmVtaXQoJycpO1xyXG4gICAgaWYgKFxyXG4gICAgICBldmVudD8ub3BlbmVkICYmXHJcbiAgICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50Py5mb3JtRmllbGRzPy50b0FycmF5KCk/LlswXT8uc2VhcmNoVGVybVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50LmZvcm1GaWVsZHMudG9BcnJheSgpWzBdLnNlYXJjaFRlcm0gPSAnJztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImllZWVzYS1maWx0ZXJcIiAqbmdJZj1cImZpbHRlcnMgJiYgZmlsdGVycy5sZW5ndGggPiAwXCI+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZmxleC1zbS1jb2x1bW4gZmxleC1tZC1jb2x1bW4gZmxleC1sZy1yb3cgZmxleC14bC1yb3dcIlxyXG4gID5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgIDxpZWVlc2EtaWNvbi1idXR0b25cclxuICAgICAgICBbaWNvbkJ1dHRvbl09XCJmaWx0ZXJCdXR0b25cIlxyXG4gICAgICAgIChjbGljayk9XCJvbkZpbHRlckJ5SWNvbkNsaWNrKClcIlxyXG4gICAgICA+PC9pZWVlc2EtaWNvbi1idXR0b24+XHJcbiAgICAgIDxwXHJcbiAgICAgICAgY2xhc3M9XCJpZWVlc2EtbGFiZWwtbGctYm9sZC0xNiBtLTBcIlxyXG4gICAgICAgICpuZ0lmPVwiIWlzTW9iaWxlVmlldyB8fCBpc0ZpbHRlckFjdGl2ZVwiXHJcbiAgICAgID5cclxuICAgICAgICB7eyBjb25zdGFudHM/LmZpbHRlcj8ubGFiZWw/LmZpbHRlckJ5IH19XHJcbiAgICAgIDwvcD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdlxyXG4gICAgICBbbmdDbGFzc109XCJcclxuICAgICAgICAhaXNNb2JpbGVWaWV3XHJcbiAgICAgICAgICA/ICdkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyJ1xyXG4gICAgICAgICAgOiAnZC1mbGV4IGFsaWduLXNlbGYtc3RyZXRjaCBmbGV4LXdyYXAgYWxpZ24taXRlbXMtY2VudGVyIHB0LXNtLTIgcHQtbWQtMiBwdC0yJ1xyXG4gICAgICBcIlxyXG4gICAgICAqbmdJZj1cIiFpc01vYmlsZVZpZXcgfHwgaXNGaWx0ZXJBY3RpdmVcIlxyXG4gICAgPlxyXG4gICAgICA8aWVlZXNhLWNoaXBzXHJcbiAgICAgICAgW2NoaXBHcm91cF09XCJmaWx0ZXJzXCJcclxuICAgICAgICBbYXJyb3ddPVwiYXJyb3dcIlxyXG4gICAgICAgIFtjaGVja109XCJjaGVja1wiXHJcbiAgICAgICAgW2hhc0NoaXBUb2dnbGVkXT1cIm9uRmlsdGVyVG9nZ2xlXCJcclxuICAgICAgICAoc2VsZWN0ZWRDaGlwKT1cIm9uRmlsdGVyU2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgID48L2llZWVzYS1jaGlwcz5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNNb2JpbGVWaWV3IHx8IGlzRmlsdGVyQWN0aXZlXCI+XHJcbiAgICA8aWVlZXNhLWNoZWNrYm94XHJcbiAgICAgIFtjaGVja2JveGVzXT1cInNlbGVjdGVkRmlsdGVyT3B0aW9uc1wiXHJcbiAgICAgIFtyZWNyZWF0ZUNoZWNrYm94T3B0aW9uc0NvbnRyb2xdPVwicmVjcmVhdGVDaGVja2JveE9wdGlvbnNDb250cm9sXCJcclxuICAgICAgKGNoZWNrYm94T3B0aW9uc0FuZFNlbGVjdGlvbik9XCJzZWxlY3RlZEZpbHRlck9wdGlvbnNJbmZvKCRldmVudClcIlxyXG4gICAgICAqbmdJZj1cImlzRmlsdGVyT3BlbmVkICYmIGZpbHRlck9wdGlvblR5cGUgPT09IG9wdGlvbnNUeXBlLkNIRUNLQk9YXCJcclxuICAgICAgY2xhc3M9XCJkLWZsZXggZ2FwLTIgaWVlZXNhLWZpbHRlcl9fZmlsdGVyLW9wdGlvbnNcIlxyXG4gICAgPjwvaWVlZXNhLWNoZWNrYm94PlxyXG4gICAgPGllZWVzYS1zZWxlY3RcclxuICAgICAgKm5nSWY9XCJpc0ZpbHRlck9wZW5lZCAmJiBmaWx0ZXJPcHRpb25UeXBlID09PSBvcHRpb25zVHlwZS5EUk9QRE9XTlwiXHJcbiAgICAgIFtpc1NvcnROZWVkZWRdPVwiZmFsc2VcIlxyXG4gICAgICBbZHJvcGRvd25PcHRpb25zXT1cInNlbGVjdGVkRmlsdGVyRHJvcERvd25MaXN0XCJcclxuICAgICAgW2lzTGFiZWxBbGlnbmVkTGVmdF09XCJ0cnVlXCJcclxuICAgICAgW3NlbGVjdExhYmVsXT1cImNvbnN0YW50cz8udmlld0dyb3Vwcz8uZmlsdGVyQnlMYWJlbFwiXHJcbiAgICAgIChvcHRpb25TZWxlY3RlZCk9XCJvbkRyb3Bkb3duU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAob3B0aW9uU2VhcmNoZWQpPVwib25Ecm9wZG93blNlYXJjaCgkZXZlbnQpXCJcclxuICAgICAgKGRyb3Bkb3duT3BlbmVkQ2hhbmdlKT1cIm9uRHJvcGRvd25PcGVuZWRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgIFtpc1NlYXJjaF09XCJ0cnVlXCJcclxuICAgID48L2llZWVzYS1zZWxlY3Q+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1idXR0b25cclxuICAgICAgKm5nSWY9XCJpc0ZpbHRlck9wZW5lZFwiXHJcbiAgICAgIGNsYXNzPVwibWF0LXRlcnRpYXJ5LWJ1dHRvbiBtLTJcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiaXNBcHBseUJ1dHRvbkRpc2FibGVkXCJcclxuICAgICAgKGNsaWNrKT1cIm9uRmlsdGVyQXBwbHkoKVwiXHJcbiAgICA+XHJcbiAgICAgIHt7IGNvbnN0YW50cz8uZmlsdGVyPy5sYWJlbD8uYXBwbHlCdXR0b24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGllZWVzYS1jaGlwc1xyXG4gICAgICBbY2hpcEdyb3VwXT1cImFwcGxpZWRGaWx0ZXJPcHRpb25zXCJcclxuICAgICAgW2lzVmlld01vcmVOZWVkZWRdPVwidHJ1ZVwiXHJcbiAgICAgICpuZ0lmPVwiYXBwbGllZEZpbHRlck9wdGlvbnNcIlxyXG4gICAgICBbYXJyb3ddPVwicmVtb3ZlSWNvblwiXHJcbiAgICAgIChzZWxlY3RlZENoaXApPVwib25SZW1vdmFsT2ZGaWx0ZXJlZE9wdGlvbigkZXZlbnQpXCJcclxuICAgICAgY2xhc3M9XCJkLWZsZXggZ2FwLTIgbXQtMlwiXHJcbiAgICAgIFtoYXNWaWV3TW9yZUZvckRlc2t0b3BdPVwiZmFsc2VcIlxyXG4gICAgICBbaGFzVmlld01vcmVGb3JNb2JpbGVdPVwidHJ1ZVwiXHJcbiAgICA+PC9pZWVlc2EtY2hpcHM+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG4iXX0=
295
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFHTixpQkFBaUIsRUFDakIsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzFDLE9BQU8sRUFBYyxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEtBQUssU0FBUyxNQUFNLDZCQUE2QixDQUFDO0FBRXpELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxP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QUFDLEVBQUUsVUFBVSxFQUM1RDtZQUNBLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7U0FDOUQ7SUFDSCxDQUFDOytHQXJQVSxlQUFlO21HQUFmLGVBQWUsaWhCQWVmLGVBQWUsZ0RDdEU1QixndkZBeUVBLDRnU0RqQ0ksWUFBWSxnT0FDWixpQkFBaUIsOEJBQ2pCLGFBQWEsOEJBQ2IsZUFBZSw0UUFDZixjQUFjLDZTQUNkLGlCQUFpQiw4T0FDakIsbUJBQW1CLHFJQUNuQixtQkFBbUIsOEJBQ25CLGVBQWUsK0JBQ2YsZUFBZTs7NEZBTU4sZUFBZTtrQkFuQjNCLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixlQUFlO3FCQUNoQixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJO2dKQWlCVCxlQUFlO3NCQUExQyxTQUFTO3VCQUFDLGVBQWU7Z0JBSWIsZ0JBQWdCO3NCQUE1QixLQUFLO2dCQVFGLG9CQUFvQjtzQkFEdkIsS0FBSztnQkFPRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBTUYscUJBQXFCO3NCQUR4QixLQUFLO2dCQXlCSSxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyU2VydmljZSB9IGZyb20gJ0BpZWVlc2EtbnBtL3V0aWxpdHknO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ2hlY2tib3hPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvY2hlY2tib3gtb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uLy4uL21vZGVscy9pY29uLWJ1dHRvbi5tb2RlbCc7XHJcbmltcG9ydCB7IENoaXBPcHRpb24sIEZpbHRlck9wdGlvblR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2hpcC1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBDaGlwc0NvbXBvbmVudCB9IGZyb20gJy4uL2NoaXBzL2NoaXBzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2ljb24tYnV0dG9uL2ljb24tYnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCAqIGFzIGNvbnN0YW50cyBmcm9tICcuLi8uLi9hc3NldHMvY29uc3RhbnRzLmpzb24nO1xyXG5pbXBvcnQgeyBGaWx0ZXJzQW5kT3B0aW9ucyB9IGZyb20gJy4uLy4uL21vZGVscy9maWx0ZXJzLW9wdGlvbnMubW9kZWwnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xyXG5pbXBvcnQgeyBTZWxlY3RPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0LW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RPcGVuZWRTdGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy9zZWxlY3Qtb3BlbmVkLXN0YXRlLm1vZGVsJztcclxuXHJcbi8qKlxyXG4gKiBQcm92aWRlcyBhbiBpbXBsZW1lbnRhdGlvbiBmb3IgZ3JvdXAgb2YgZmlsdGVyLlxyXG4gKiBAZXhwb3J0XHJcbiAqIEBjbGFzcyBGaWx0ZXJDb21wb25lbnRcclxuICogQGltcGxlbWVudHMge09uRGVzdHJveX1cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLWZpbHRlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBDaGlwc0NvbXBvbmVudCxcclxuICAgIENoZWNrYm94Q29tcG9uZW50LFxyXG4gICAgSWNvbkJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBTZWxlY3RDb21wb25lbnQsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGNvbnN0YW50czogYW55ID0gY29uc3RhbnRzO1xyXG4gIGFycm93OiBJY29uQnV0dG9uID0gdGhpcy5jb25zdGFudHM/LmNoaXBzPy5pY29ucz8uYXJyb3c7XHJcbiAgY2hlY2s6IEljb25CdXR0b24gPSB0aGlzLmNvbnN0YW50cz8uY2hpcHM/Lmljb25zPy5jaGVjaztcclxuICByZW1vdmVJY29uOiBJY29uQnV0dG9uID0gdGhpcy5jb25zdGFudHM/LmNoaXBzPy5pY29ucz8ucmVtb3ZlO1xyXG4gIGlzRmlsdGVyT3BlbmVkID0gZmFsc2U7XHJcbiAgc2VsZWN0ZWRDaGVja2JveGVzITogQ2hlY2tib3hPcHRpb25bXTtcclxuICBvbkZpbHRlclRvZ2dsZSA9IGZhbHNlO1xyXG4gIGlzRmlsdGVyQWN0aXZlID0gZmFsc2U7XHJcbiAgaXNNb2JpbGVWaWV3ID0gZmFsc2U7XHJcbiAgaXNBcHBseUJ1dHRvbkRpc2FibGVkID0gdHJ1ZTtcclxuICBmaWx0ZXJzQW5kT3B0aW9ucyA9IG5ldyBNYXA8bnVtYmVyIHwgc3RyaW5nLCBDaGVja2JveE9wdGlvbltdPigpO1xyXG4gIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICByZWNyZWF0ZUNoZWNrYm94T3B0aW9uc0NvbnRyb2whOiBDaGVja2JveE9wdGlvbltdO1xyXG4gIEBWaWV3Q2hpbGQoU2VsZWN0Q29tcG9uZW50KSBzZWxlY3RDb21wb25lbnQhOiBTZWxlY3RDb21wb25lbnQ7XHJcbiAgcHJpdmF0ZSBmaWx0ZXJlZFR5cGVPcHRpb25zSW5mbyE6IENoaXBPcHRpb25bXTtcclxuICBwcml2YXRlIHNlbGVjdGVkRmlsdGVyT3B0aW9uVHlwZTogRmlsdGVyT3B0aW9uVHlwZSA9XHJcbiAgICBGaWx0ZXJPcHRpb25UeXBlLkNIRUNLQk9YO1xyXG4gIEBJbnB1dCgpIHNldCBmaWx0ZXJPcHRpb25UeXBlKG9wdGlvblR5cGU6IEZpbHRlck9wdGlvblR5cGUpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJPcHRpb25UeXBlID0gb3B0aW9uVHlwZTtcclxuICB9XHJcbiAgZ2V0IGZpbHRlck9wdGlvblR5cGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEZpbHRlck9wdGlvblR5cGU7XHJcbiAgfVxyXG4gIG9wdGlvbnNUeXBlID0gRmlsdGVyT3B0aW9uVHlwZTtcclxuICBASW5wdXQoKVxyXG4gIHNldCBhcHBsaWVkRmlsdGVyT3B0aW9ucyhvcHRpb25zOiBDaGlwT3B0aW9uW10pIHtcclxuICAgIHRoaXMuZmlsdGVyZWRUeXBlT3B0aW9uc0luZm8gPSBvcHRpb25zO1xyXG4gIH1cclxuICBnZXQgYXBwbGllZEZpbHRlck9wdGlvbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJlZFR5cGVPcHRpb25zSW5mbztcclxuICB9XHJcbiAgQElucHV0KCkgZmlsdGVyQnV0dG9uOiBJY29uQnV0dG9uID0gdGhpcy5jb25zdGFudHM/LmZpbHRlcj8uYnV0dG9uc1swXTtcclxuICBASW5wdXQoKSBmaWx0ZXJzITogQ2hpcE9wdGlvbltdO1xyXG4gIEBJbnB1dCgpIGNhblNob3dTZWxlY3Rpb24gPSBmYWxzZTtcclxuICBwcml2YXRlIHNlbGVjdGVkRmlsdGVyT3B0aW9uc0xpc3QhOiBDaGVja2JveE9wdGlvbltdO1xyXG4gIHNlbGVjdGVkRmlsdGVyRHJvcERvd25MaXN0OiBTZWxlY3RPcHRpb25bXSA9IFtdO1xyXG4gIHNlbGVjdGVkRmlsdGVySWQhOiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgcHJldlNlbGVjdGVkRmlsdGVyT3B0aW9uc0xpc3Q6IENoZWNrYm94T3B0aW9uW10gPSBbXTtcclxuICBASW5wdXQoKVxyXG4gIHNldCBzZWxlY3RlZEZpbHRlck9wdGlvbnMob3B0aW9uczogQ2hlY2tib3hPcHRpb25bXSkge1xyXG4gICAgaWYgKG9wdGlvbnMgJiYgdGhpcy5zZWxlY3RlZEZpbHRlcklkKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyc0FuZE9wdGlvbnMuc2V0KHRoaXMuc2VsZWN0ZWRGaWx0ZXJJZCwgb3B0aW9ucyk7XHJcbiAgICAgIHRoaXMuc2V0RmlsdGVyU2VsZWN0aW9uT25PcHRpb25DaGFuZ2UoKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlck9wdGlvbnNMaXN0ID0gb3B0aW9ucztcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMucHJldlNlbGVjdGVkRmlsdGVyT3B0aW9uc0xpc3QubGVuZ3RoICYmXHJcbiAgICAgICAgdGhpcy5wcmV2U2VsZWN0ZWRGaWx0ZXJPcHRpb25zTGlzdFswXS5uYW1lICE9PVxyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlck9wdGlvbnNMaXN0Py5bMF0/Lm5hbWVcclxuICAgICAgKVxyXG4gICAgICAgIHRoaXMucmVjcmVhdGVDaGVja2JveE9wdGlvbnNDb250cm9sID0gb3B0aW9ucztcclxuICAgICAgdGhpcy5wcmV2U2VsZWN0ZWRGaWx0ZXJPcHRpb25zTGlzdCA9IHRoaXMuc2VsZWN0ZWRGaWx0ZXJPcHRpb25zTGlzdDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmZpbHRlck9wdGlvblR5cGUgPT09IHRoaXMub3B0aW9uc1R5cGUuRFJPUERPV04pIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlckRyb3BEb3duTGlzdCA9IHRoaXMuc2VsZWN0ZWRGaWx0ZXJPcHRpb25zTGlzdC5tYXAoXHJcbiAgICAgICAgKHNlbGVjdE9wdGlvbjogQ2hlY2tib3hPcHRpb24pID0+IHtcclxuICAgICAgICAgIHJldHVybiB7IGlkOiBzZWxlY3RPcHRpb24uaWQsIG5hbWU6IHNlbGVjdE9wdGlvbi5uYW1lID8/ICcnIH07XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgc2VsZWN0ZWRGaWx0ZXJPcHRpb25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRGaWx0ZXJPcHRpb25zTGlzdDtcclxuICB9XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkRmlsdGVyID0gbmV3IEV2ZW50RW1pdHRlcjxDaGlwT3B0aW9uPigpO1xyXG4gIEBPdXRwdXQoKSBmaWx0ZXJlZE9wdGlvbnMgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbHRlcnNBbmRPcHRpb25zW10+KCk7XHJcbiAgQE91dHB1dCgpIHJlbW92ZUZpbHRlcmVkT3B0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBmaWx0ZXJEcm9wZG93blNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGJyZWFrcG9pbnRPYnNlcnZlclNlcnZpY2U6IEJyZWFrcG9pbnRPYnNlcnZlclNlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWZlcmVuY2U6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7XHJcbiAgICB0aGlzLmJyZWFrcG9pbnRPYnNlcnZlclNlcnZpY2VcclxuICAgICAgLmdldEJyZWFrcG9pbnQoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNNb2JpbGVWaWV3ID0gcmVzdWx0Lm1hdGNoZXM7XHJcbiAgICAgICAgdGhpcy5maWx0ZXJCdXR0b24uZGlzYWJsZWQgPSAhdGhpcy5pc01vYmlsZVZpZXc7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBPbkZpbHRlclNlbGVjdGVkIHJlY2VpdmVzIHRoZSBzZWxlY3RlZCBmaWx0ZXIgZnJvbSBjaGlwIGNvbXBvbmVudCwgZW1pdHMgdGhlIHNlbGVjdGVkIGZpbHRlciBhbmQgdG9nZ2xlIHRoZSBpc0ZpbHRlckJ5T3B0aW9uc1Zpc2libGUgc3RhdGUuXHJcbiAgICogQHBhcmFtIHtDaGlwT3B0aW9ufSB0eXBlXHJcbiAgICogQG1lbWJlcm9mIEZpbHRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRmlsdGVyU2VsZWN0ZWQodHlwZTogQ2hpcE9wdGlvbik6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEZpbHRlcklkID0gdHlwZS5pZDtcclxuICAgIGlmICh0eXBlLmNoZWNrZWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEZpbHRlci5lbWl0KHR5cGUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc0ZpbHRlck9wZW5lZCA9IHR5cGU/LmNoZWNrZWQ7XHJcbiAgICB0aGlzLmZpbHRlck9wdGlvblR5cGUgPSB0eXBlLm9wdGlvblR5cGUgPz8gdGhpcy5vcHRpb25zVHlwZS5DSEVDS0JPWDtcclxuICAgIHRoaXMub25GaWx0ZXJUb2dnbGUgPSBmYWxzZTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogT25SZW1vdmFsT2ZGaWx0ZXJlZE9wdGlvbiBtZXRob2QgcmVjZWl2ZXMgcmVtb3ZlZCBjaGlwIGZyb20gY2hpcCBjb21wb25lbnQgYW5kIGVtaXRzIHRoZSBldmVudCB3aXRoIHJlbW92ZWQgY2hpcC5cclxuICAgKiBAcGFyYW0ge0NoaXBPcHRpb259IG9wdGlvblxyXG4gICAqIEBtZW1iZXJvZiBGaWx0ZXJDb21wb25lbnRcclxuICAgKi9cclxuICBvblJlbW92YWxPZkZpbHRlcmVkT3B0aW9uKG9wdGlvbjogQ2hpcE9wdGlvbik6IHZvaWQge1xyXG4gICAgaWYgKG9wdGlvbj8ubmFtZSA9PT0gdGhpcy5jb25zdGFudHM/LmZpbHRlcj8ubGFiZWw/LmNsZWFyQWxsKSB7XHJcbiAgICAgIHRoaXMuYXBwbGllZEZpbHRlck9wdGlvbnMgPSBbXTtcclxuICAgICAgdGhpcy5maWx0ZXJzQW5kT3B0aW9ucy5mb3JFYWNoKChvcHRpb25zOiBDaGVja2JveE9wdGlvbltdKSA9PiB7XHJcbiAgICAgICAgb3B0aW9ucz8uZm9yRWFjaCgob3B0aW9uOiBDaGVja2JveE9wdGlvbikgPT4gKG9wdGlvbi5jaGVja2VkID0gZmFsc2UpKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMucmVtb3ZlRmlsdGVyZWRPcHRpb24uZW1pdChbXSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmFwcGxpZWRGaWx0ZXJPcHRpb25zID0gdGhpcy5hcHBsaWVkRmlsdGVyT3B0aW9ucy5maWx0ZXIoXHJcbiAgICAgICAgKHJlczogQ2hpcE9wdGlvbikgPT4gcmVzLmlkICE9PSBvcHRpb24uaWRcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5hcHBsaWVkRmlsdGVyT3B0aW9ucyA9XHJcbiAgICAgICAgdGhpcy5hcHBsaWVkRmlsdGVyT3B0aW9ucy5sZW5ndGggPT09IDEgPyBbXSA6IHRoaXMuYXBwbGllZEZpbHRlck9wdGlvbnM7XHJcbiAgICAgIHRoaXMuZmlsdGVyc0FuZE9wdGlvbnMuZm9yRWFjaCgob3B0aW9uczogQ2hlY2tib3hPcHRpb25bXSkgPT4ge1xyXG4gICAgICAgIG9wdGlvbnM/LmZvckVhY2goKGNoZWNrQm94T3B0aW9uOiBDaGVja2JveE9wdGlvbikgPT4ge1xyXG4gICAgICAgICAgaWYgKGNoZWNrQm94T3B0aW9uLmlkID09PSBvcHRpb24uaWQpIGNoZWNrQm94T3B0aW9uLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMucmVtb3ZlRmlsdGVyZWRPcHRpb24uZW1pdCh0aGlzLmdldExpc3RPZlNlbGVjdGVkQ2hlY2tib3hlcygpKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0RmlsdGVyU2VsZWN0aW9uT25PcHRpb25DaGFuZ2UoKTtcclxuICB9XHJcbiAgZ2V0TGlzdE9mU2VsZWN0ZWRDaGVja2JveGVzKCkge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRGaWx0ZXJzQW5kT3B0aW9uczogRmlsdGVyc0FuZE9wdGlvbnNbXSA9IFtdO1xyXG4gICAgdGhpcy5maWx0ZXJzQW5kT3B0aW9ucy5mb3JFYWNoKFxyXG4gICAgICAodmFsdWU6IENoZWNrYm94T3B0aW9uW10sIGtleTogc3RyaW5nIHwgbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRPcHRpb25zOiBDaGVja2JveE9wdGlvbltdID0gW107XHJcbiAgICAgICAgdmFsdWU/LmZvckVhY2goKG9wdGlvbikgPT4ge1xyXG4gICAgICAgICAgaWYgKG9wdGlvbi5jaGVja2VkKSBzZWxlY3RlZE9wdGlvbnMucHVzaChvcHRpb24pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmIChzZWxlY3RlZE9wdGlvbnMubGVuZ3RoKVxyXG4gICAgICAgICAgc2VsZWN0ZWRGaWx0ZXJzQW5kT3B0aW9ucy5wdXNoKHsgW2tleV06IHNlbGVjdGVkT3B0aW9ucyB9KTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICAgIHJldHVybiBzZWxlY3RlZEZpbHRlcnNBbmRPcHRpb25zO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBPbkZpbHRlckFwcGx5IHRvZ2dsZXMgdGhlIGlzRmlsdGVyQnlPcHRpb25zVmlzaWJsZSBzdGF0ZSwgZW1pdHMgdGhlIHNlbGVjdGVkIGZpbHRlciBvcHRpb25zIGFuZCB0b2dnbGVzIHRoZSBmaWx0ZXIgc3RhdGVPXHJcbiAgICogQG1lbWJlcm9mIEZpbHRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRmlsdGVyQXBwbHkoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRmlsdGVyT3BlbmVkID0gIXRoaXMuaXNGaWx0ZXJPcGVuZWQ7XHJcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucy5lbWl0KHRoaXMuZ2V0TGlzdE9mU2VsZWN0ZWRDaGVja2JveGVzKCkpO1xyXG4gICAgdGhpcy5vbkZpbHRlclRvZ2dsZSA9IHRydWU7XHJcbiAgICB0aGlzLmlzQXBwbHlCdXR0b25EaXNhYmxlZCA9IHRydWU7XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmZXJlbmNlLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogU2VsZWN0ZWRGaWx0ZXJPcHRpb25zIG1ldGhvZCBpcyBjYWxsZWQgZm9yIGV2ZXJ5IHNlbGVjdGlvbiBhbmQgZGVzZWxlY3Rpb24gb2YgZmlsdGVyIG9wdGlvbiBhbmQgc3RvcmVzIHRoZSBzZWxlY3RlZCBmaWx0ZXIgb3B0aW9ucy5cclxuICAgKiBAcGFyYW0ge0ZpbHRlcnNBbmRPcHRpb25zW119IHZhbHVlc1xyXG4gICAqIEBtZW1iZXJvZiBGaWx0ZXJDb21wb25lbnRcclxuICAgKi9cclxuICBzZWxlY3RlZEZpbHRlck9wdGlvbnNJbmZvKHZhbHVlczogQ2hlY2tib3hPcHRpb25bXSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZ2V0TGlzdE9mU2VsZWN0ZWRDaGVja2JveGVzKCkubGVuZ3RoID09PSAwKVxyXG4gICAgICB0aGlzLmlzQXBwbHlCdXR0b25EaXNhYmxlZCA9IHRydWU7XHJcbiAgICBlbHNlIHRoaXMuaXNBcHBseUJ1dHRvbkRpc2FibGVkID0gZmFsc2U7XHJcbiAgICBpZiAodmFsdWVzICYmIHRoaXMuc2VsZWN0ZWRGaWx0ZXJJZCkge1xyXG4gICAgICB0aGlzLmZpbHRlcnNBbmRPcHRpb25zLnNldCh0aGlzLnNlbGVjdGVkRmlsdGVySWQsIHZhbHVlcyk7XHJcbiAgICAgIHRoaXMuc2V0RmlsdGVyU2VsZWN0aW9uT25PcHRpb25DaGFuZ2UoKTtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICogT25GaWx0ZXJCeUljb25DbGljayBtZXRob2QgdG9nZ2xlcyB0aGUgaXNGaWx0ZXJBY3RpdmUgdmFsdWUuXHJcbiAgICogQG1lbWJlcm9mIEZpbHRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRmlsdGVyQnlJY29uQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRmlsdGVyQWN0aXZlID0gIXRoaXMuaXNGaWx0ZXJBY3RpdmU7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIE5nT25EZXN0cm95IHBlcmZvcm1zIG5lY2Vzc2FyeSBjbGVhbnVwIHRhc2tzLCBzdWNoIGFzIHVuc3Vic2NyaWJpbmcgZnJvbSBzdWJzY3JpcHRpb24gd2hlbiB0aGUgY29tcG9uZW50IGlzIGJlaW5nIGRlc3Ryb3llZC5cclxuICAgKiBAbWVtYmVyb2YgRmlsdGVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBPbkRyb3Bkb3duU2VsZWN0aW9uQ2hhbmdlKCkgaXMgY2FsbGVkIGZvciBldmVyeSBkcm9wIGRvd24gc2VsZWN0aW9uIGNoYW5nZXMgYW5kIHNldHMgc2VsZWN0ZWRGaWx0ZXJPcHRpb25zTGlzdC5cclxuICAgKiBAbWVtYmVyb2YgRmlsdGVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25Ecm9wZG93blNlbGVjdGlvbkNoYW5nZShvcHRpb246IFNlbGVjdE9wdGlvbik6IHZvaWQge1xyXG4gICAgaWYgKG9wdGlvbiAmJiB0aGlzLnNlbGVjdGVkRmlsdGVySWQpIHtcclxuICAgICAgY29uc3Qgc2VsZWN0ZWRPcHRpb246IENoZWNrYm94T3B0aW9uW10gPSBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaWQ6IG9wdGlvbi5pZCxcclxuICAgICAgICAgIG5hbWU6IG9wdGlvbi5uYW1lLFxyXG4gICAgICAgICAgY2hlY2tlZDogdHJ1ZSxcclxuICAgICAgICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICAgICAgICB9LFxyXG4gICAgICBdO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRmlsdGVyT3B0aW9uc0xpc3Q/Lm1hcCgob3B0aW9uKSA9PiB7XHJcbiAgICAgICAgaWYgKG9wdGlvbi5pZCA9PT0gc2VsZWN0ZWRPcHRpb25bMF0uaWQpIHtcclxuICAgICAgICAgIG9wdGlvbi5jaGVja2VkID0gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb3B0aW9uLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmlzQXBwbHlCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmZpbHRlcnNBbmRPcHRpb25zLnNldCh0aGlzLnNlbGVjdGVkRmlsdGVySWQsIHNlbGVjdGVkT3B0aW9uKTtcclxuICAgICAgdGhpcy5zZXRGaWx0ZXJTZWxlY3Rpb25Pbk9wdGlvbkNoYW5nZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0RmlsdGVyU2VsZWN0aW9uT25PcHRpb25DaGFuZ2UoKSBjYWxsZWQgb24gZXZlcnkgc2VsZWN0aW9uIGFuZCBkZXNlbGVjdGlvbiBvZiBmaWx0ZXIgb3B0aW9uIGFuZCBzZXRzIGNhblNob3dTZWxlY3Rpb24gZmxhZyB0byBzaG93IG9yIGhpZGUgdGhlIHRpY2sgbWFyayBvZiBzZWxlY3RlZCBmaWx0ZXIgb3B0aW9uLlxyXG4gICAqIEBtZW1iZXJvZiBGaWx0ZXJDb21wb25lbnRcclxuICAgKi9cclxuICBzZXRGaWx0ZXJTZWxlY3Rpb25Pbk9wdGlvbkNoYW5nZSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNhblNob3dTZWxlY3Rpb24pIHtcclxuICAgICAgZm9yIChjb25zdCBba2V5LCBvcHRpb25zXSBvZiB0aGlzLmZpbHRlcnNBbmRPcHRpb25zKSB7XHJcbiAgICAgICAgY29uc3QgZmlsdGVyT3B0aW9uID0gdGhpcy5maWx0ZXJzLmZpbmQoKGNoaXBPcHRpb24pID0+IHtcclxuICAgICAgICAgIHJldHVybiBjaGlwT3B0aW9uLm5hbWUgPT09IGtleTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoZmlsdGVyT3B0aW9uKSB7XHJcbiAgICAgICAgICBmaWx0ZXJPcHRpb24uY2FuU2hvd1NlbGVjdGlvbiA9IG9wdGlvbnMuc29tZShcclxuICAgICAgICAgICAgKG9wdGlvbikgPT4gb3B0aW9uLmNoZWNrZWQgPT09IHRydWVcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHRoZSBmaWx0ZXJEcm9wZG93blNlYXJjaCBldmVudCB3aXRoIHRoZSBzZWFyY2hlZCB0ZXh0IHZhbHVlLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzZWFyY2hUZXh0XHJcbiAgICogQG1lbWJlcm9mIEZpbHRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRHJvcGRvd25TZWFyY2goc2VhcmNoVGV4dDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbHRlckRyb3Bkb3duU2VhcmNoLmVtaXQoc2VhcmNoVGV4dCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIGZpbHRlckRyb3Bkb3duU2VhcmNoIGV2ZW50IHRvIHJlc2V0IHRoZSBkcm9wZG93biBvcHRpb25zIHRvIGRlZmF1bHQgd2hlbiB0aGUgZHJvcGRvd24gaXMgY2xvc2VkIGFuZCBzZXRzIHNlYXJjaCB0ZXJtIGVtcHR5LlxyXG4gICAqIEBwYXJhbSB7U2VsZWN0T3BlbmVkU3RhdGV9IGV2ZW50XHJcbiAgICogQG1lbWJlcm9mIEZpbHRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRHJvcGRvd25PcGVuZWRDaGFuZ2UoZXZlbnQ6IFNlbGVjdE9wZW5lZFN0YXRlKTogdm9pZCB7XHJcbiAgICBpZiAoIWV2ZW50Py5vcGVuZWQpIHRoaXMuZmlsdGVyRHJvcGRvd25TZWFyY2guZW1pdCgnJyk7XHJcbiAgICBpZiAoXHJcbiAgICAgICFldmVudD8ub3BlbmVkICYmXHJcbiAgICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50Py5mb3JtRmllbGRzPy50b0FycmF5KCk/LlswXT8uc2VhcmNoVGVybVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0Q29tcG9uZW50LmZvcm1GaWVsZHMudG9BcnJheSgpWzBdLnNlYXJjaFRlcm0gPSAnJztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImllZWVzYS1maWx0ZXJcIiAqbmdJZj1cImZpbHRlcnMgJiYgZmlsdGVycy5sZW5ndGggPiAwXCI+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZmxleC1zbS1jb2x1bW4gZmxleC1tZC1jb2x1bW4gZmxleC1sZy1yb3cgZmxleC14bC1yb3dcIlxyXG4gID5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgIDxpZWVlc2EtaWNvbi1idXR0b25cclxuICAgICAgICBbaWNvbkJ1dHRvbl09XCJmaWx0ZXJCdXR0b25cIlxyXG4gICAgICAgIChjbGljayk9XCJvbkZpbHRlckJ5SWNvbkNsaWNrKClcIlxyXG4gICAgICA+PC9pZWVlc2EtaWNvbi1idXR0b24+XHJcbiAgICAgIDxwXHJcbiAgICAgICAgY2xhc3M9XCJpZWVlc2EtbGFiZWwtbGctYm9sZC0xNiBtLTBcIlxyXG4gICAgICAgICpuZ0lmPVwiIWlzTW9iaWxlVmlldyB8fCBpc0ZpbHRlckFjdGl2ZVwiXHJcbiAgICAgID5cclxuICAgICAgICB7eyBjb25zdGFudHM/LmZpbHRlcj8ubGFiZWw/LmZpbHRlckJ5IH19XHJcbiAgICAgIDwvcD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdlxyXG4gICAgICBbbmdDbGFzc109XCJcclxuICAgICAgICAhaXNNb2JpbGVWaWV3XHJcbiAgICAgICAgICA/ICdkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyJ1xyXG4gICAgICAgICAgOiAnZC1mbGV4IGFsaWduLXNlbGYtc3RyZXRjaCBmbGV4LXdyYXAgYWxpZ24taXRlbXMtY2VudGVyIHB0LXNtLTIgcHQtbWQtMiBwdC0yJ1xyXG4gICAgICBcIlxyXG4gICAgICAqbmdJZj1cIiFpc01vYmlsZVZpZXcgfHwgaXNGaWx0ZXJBY3RpdmVcIlxyXG4gICAgPlxyXG4gICAgICA8aWVlZXNhLWNoaXBzXHJcbiAgICAgICAgW2NoaXBHcm91cF09XCJmaWx0ZXJzXCJcclxuICAgICAgICBbYXJyb3ddPVwiYXJyb3dcIlxyXG4gICAgICAgIFtjaGVja109XCJjaGVja1wiXHJcbiAgICAgICAgW2hhc0NoaXBUb2dnbGVkXT1cIm9uRmlsdGVyVG9nZ2xlXCJcclxuICAgICAgICAoc2VsZWN0ZWRDaGlwKT1cIm9uRmlsdGVyU2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgID48L2llZWVzYS1jaGlwcz5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNNb2JpbGVWaWV3IHx8IGlzRmlsdGVyQWN0aXZlXCI+XHJcbiAgICA8aWVlZXNhLWNoZWNrYm94XHJcbiAgICAgIFtjaGVja2JveGVzXT1cInNlbGVjdGVkRmlsdGVyT3B0aW9uc1wiXHJcbiAgICAgIFtyZWNyZWF0ZUNoZWNrYm94T3B0aW9uc0NvbnRyb2xdPVwicmVjcmVhdGVDaGVja2JveE9wdGlvbnNDb250cm9sXCJcclxuICAgICAgKGNoZWNrYm94T3B0aW9uc0FuZFNlbGVjdGlvbik9XCJzZWxlY3RlZEZpbHRlck9wdGlvbnNJbmZvKCRldmVudClcIlxyXG4gICAgICAqbmdJZj1cImlzRmlsdGVyT3BlbmVkICYmIGZpbHRlck9wdGlvblR5cGUgPT09IG9wdGlvbnNUeXBlLkNIRUNLQk9YXCJcclxuICAgICAgY2xhc3M9XCJkLWZsZXggZ2FwLTIgaWVlZXNhLWZpbHRlcl9fZmlsdGVyLW9wdGlvbnNcIlxyXG4gICAgPjwvaWVlZXNhLWNoZWNrYm94PlxyXG4gICAgPGllZWVzYS1zZWxlY3RcclxuICAgICAgKm5nSWY9XCJpc0ZpbHRlck9wZW5lZCAmJiBmaWx0ZXJPcHRpb25UeXBlID09PSBvcHRpb25zVHlwZS5EUk9QRE9XTlwiXHJcbiAgICAgIFtpc1NvcnROZWVkZWRdPVwiZmFsc2VcIlxyXG4gICAgICBbZHJvcGRvd25PcHRpb25zXT1cInNlbGVjdGVkRmlsdGVyRHJvcERvd25MaXN0XCJcclxuICAgICAgW2lzTGFiZWxBbGlnbmVkTGVmdF09XCJ0cnVlXCJcclxuICAgICAgW3NlbGVjdExhYmVsXT1cImNvbnN0YW50cz8udmlld0dyb3Vwcz8uZmlsdGVyQnlMYWJlbFwiXHJcbiAgICAgIChvcHRpb25TZWxlY3RlZCk9XCJvbkRyb3Bkb3duU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAob3B0aW9uU2VhcmNoZWQpPVwib25Ecm9wZG93blNlYXJjaCgkZXZlbnQpXCJcclxuICAgICAgKGRyb3Bkb3duT3BlbmVkQ2hhbmdlKT1cIm9uRHJvcGRvd25PcGVuZWRDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgIFtpc1NlYXJjaF09XCJ0cnVlXCJcclxuICAgID48L2llZWVzYS1zZWxlY3Q+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1idXR0b25cclxuICAgICAgKm5nSWY9XCJpc0ZpbHRlck9wZW5lZFwiXHJcbiAgICAgIGNsYXNzPVwibWF0LXRlcnRpYXJ5LWJ1dHRvbiBtLTJcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiaXNBcHBseUJ1dHRvbkRpc2FibGVkXCJcclxuICAgICAgKGNsaWNrKT1cIm9uRmlsdGVyQXBwbHkoKVwiXHJcbiAgICA+XHJcbiAgICAgIHt7IGNvbnN0YW50cz8uZmlsdGVyPy5sYWJlbD8uYXBwbHlCdXR0b24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGllZWVzYS1jaGlwc1xyXG4gICAgICBbY2hpcEdyb3VwXT1cImFwcGxpZWRGaWx0ZXJPcHRpb25zXCJcclxuICAgICAgW2lzVmlld01vcmVOZWVkZWRdPVwidHJ1ZVwiXHJcbiAgICAgICpuZ0lmPVwiYXBwbGllZEZpbHRlck9wdGlvbnNcIlxyXG4gICAgICBbYXJyb3ddPVwicmVtb3ZlSWNvblwiXHJcbiAgICAgIChzZWxlY3RlZENoaXApPVwib25SZW1vdmFsT2ZGaWx0ZXJlZE9wdGlvbigkZXZlbnQpXCJcclxuICAgICAgY2xhc3M9XCJkLWZsZXggZ2FwLTIgbXQtMlwiXHJcbiAgICAgIFtoYXNWaWV3TW9yZUZvckRlc2t0b3BdPVwiZmFsc2VcIlxyXG4gICAgICBbaGFzVmlld01vcmVGb3JNb2JpbGVdPVwidHJ1ZVwiXHJcbiAgICA+PC9pZWVlc2EtY2hpcHM+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -120,7 +120,7 @@ export class ListComponent {
120
120
  });
121
121
  }
122
122
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
123
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ListComponent, isStandalone: true, selector: "ieeesa-list", inputs: { listDataItems: "listDataItems", listHeaderConfig: "listHeaderConfig", indentation: "indentation", addListButtonConfig: "addListButtonConfig" }, outputs: { selectedItemAndAction: "selectedItemAndAction", reorderedList: "reorderedList", hyperLinkAndButtonClick: "hyperLinkAndButtonClick", domChangeEvent: "domChangeEvent" }, ngImport: i0, template: "<div class=\"ieeesa-list-container\">\r\n <div class=\"d-flex\">\r\n <div>\r\n <p *ngIf=\"listHeader?.title\" class=\"ieeesa-title-lg-24 mb-0\">\r\n {{ listHeader.title }}\r\n </p>\r\n <p\r\n *ngIf=\"listHeader?.description\"\r\n class=\"ieeesa-body-md-14 ieeesa-list-description\"\r\n [innerHTML]=\"listHeader.description | safe : safeType\"\r\n ieeesaObserveDomChange \r\n (domChange)=\"onDomChange($event)\"\r\n ></p>\r\n </div>\r\n <ieeesa-icon-button\r\n class=\"ieeesa-add-icon-button\"\r\n *ngIf=\"listHeader?.canShowAddList\"\r\n [iconButton]=\"addListButton\"\r\n (iconButtonClick)=\"onClickAddItem()\"\r\n [ngClass]=\"\r\n addListButton?.disabled\r\n ? 'ieeesa-list-container__actions--disabled'\r\n : ''\r\n \"\r\n ></ieeesa-icon-button>\r\n </div>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n recursiveList;\r\n context: { $implicit: listItems, itemLevel: 0 }\r\n \"\r\n >\r\n </ng-container>\r\n</div>\r\n<ng-template #recursiveList let-items let-itemLevel=\"itemLevel\">\r\n <mat-list class=\"ieeesa-list-item\">\r\n <ng-container\r\n *ngFor=\"let item of items; let index = index; trackBy: trackByFn\"\r\n >\r\n <div\r\n class=\"ieeesa-list-item-container\"\r\n [style.marginLeft.px]=\"itemLevel * indentation\"\r\n >\r\n <mat-list-item\r\n [ngClass]=\"{\r\n 'ieeesa-list-item__root-level-item': itemLevel === 0,\r\n 'ieeesa-list-item__subitem': itemLevel > 0\r\n }\"\r\n >\r\n <span class=\"ieeesa-list-item__item d-flex\">\r\n <span class=\"list-number\">\r\n {{ item?.position }}\r\n </span>\r\n <span>\r\n <span class=\"item-name d-block\">{{ item?.title }}</span>\r\n <span class=\"ieeesa-list-item__desc d-block\" *ngIf=\"item?.description\">\r\n {{ item?.description }}\r\n </span>\r\n </span>\r\n </span>\r\n <span class=\"ieeesa-menu__action\">\r\n <ieeesa-menu\r\n *ngIf=\"item?.actionMenus\"\r\n class=\"ieeesa-menu__icon\"\r\n [button]=\"item?.actionIcon\"\r\n [menuItems]=\"item?.actionMenus\"\r\n (menuItemClick)=\"selectedMenuAction($event, item)\"\r\n ></ieeesa-menu>\r\n </span>\r\n </mat-list-item>\r\n </div>\r\n <ng-container *ngIf=\"item?.subItems\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n recursiveList;\r\n context: {\r\n $implicit: item.subItems,\r\n itemLevel: itemLevel + 1\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </mat-list>\r\n</ng-template>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-list-container .ieeesa-add-icon-button{margin-left:auto;align-self:center}.ieeesa-list-container .ieeesa-add-icon-button .ieeesa-icon-button{padding:0}.ieeesa-list-container .ieeesa-list-description{color:#49454f!important}.ieeesa-list-container .ieeesa-list-description a{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#00629b!important;letter-spacing:.03125em}.ieeesa-list-container .ieeesa-list-description a.disable-link{pointer-events:none;color:#63666a!important}.ieeesa-list-container__actions--disabled .ieeesa-icon-button__svg{fill:#c9c5ca!important}.ieeesa-list-container .ieeesa-list-item{background-color:#f4f5f7;padding:1px 0 0}.ieeesa-list-container .ieeesa-list-item .ieeesa-list-item-container{box-sizing:border-box;border-radius:.25em;background-color:#fff;border-left:.125rem solid #b2b7be;margin-bottom:.0625em;box-shadow:0 1px 2px #0003}.ieeesa-list-container .ieeesa-list-item .ieeesa-list-item-container:has(.ieeesa-list-item__root-level-item){border-left:.125rem solid #00b5e2}.ieeesa-list-container .ieeesa-list-item .mdc-list-item{padding:0;margin-left:.375em}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__content{padding:0}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__content:has(.ieeesa-list-item__desc){margin:.4375em 0}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__content .ieeesa-menu__icon .mdc-icon-button{height:1.5em}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__primary-text{align-items:flex-start!important}.ieeesa-list-container .ieeesa-list-item__root-level-item .list-number,.ieeesa-list-container .ieeesa-list-item__root-level-item .item-name{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1d1e!important;letter-spacing:.03125em;text-align:left;text-wrap:wrap}.ieeesa-list-container .ieeesa-list-item__subitem .list-number,.ieeesa-list-container .ieeesa-list-item__subitem .item-name{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#1c1d1e!important;letter-spacing:.03125em;text-align:left;text-wrap:wrap}.ieeesa-list-container .ieeesa-list-item__desc{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#63666a!important;letter-spacing:.03125em;text-align:left;text-wrap:wrap!important;word-break:break-word}.ieeesa-list-container .ieeesa-list-item .list-number{margin-right:.5em}.ieeesa-list-container .ieeesa-list-item .item-name{word-break:break-word}.ieeesa-list-container .ieeesa-list-item .mdc-list-item.mdc-list-item--with-one-line,.ieeesa-list-container .ieeesa-list-item .mdc-list-item.mdc-list-item--with-two-lines,.ieeesa-list-container .ieeesa-list-item .mdc-list-item.mdc-list-item--with-three-lines{height:auto}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__secondary-text:before,.ieeesa-list-container .ieeesa-list-item .mdc-list-item--with-two-lines .mdc-list-item__primary-text:before,.ieeesa-list-container .ieeesa-list-item .mdc-list-item--with-three-lines .mdc-list-item__primary-text:before{display:none}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__primary-text{display:flex;align-items:center}.ieeesa-menu__action{margin-left:auto}.ieeesa-menu__icon{float:right}.ieeesa-menu__item:not(:last-of-type){margin-bottom:0!important}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(function () { return CommonModule; }) }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: i0.forwardRef(function () { return MatListModule; }) }, { kind: "component", type: i0.forwardRef(function () { return i2.MatList; }), selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i0.forwardRef(function () { return i2.MatListItem; }), selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "ngmodule", type: i0.forwardRef(function () { return MatButtonModule; }) }, { kind: "component", type: i0.forwardRef(function () { return MenuComponent; }), selector: "ieeesa-menu", inputs: ["menuItems", "button", "defaultIconSize", "isMarginBottomZero"], outputs: ["menuToggleButtonElement", "menuItemClick"] }, { kind: "component", type: i0.forwardRef(function () { return IconButtonComponent; }), selector: "ieeesa-icon-button", inputs: ["iconButton", "isLabelNeeded"], outputs: ["iconButtonClick"] }, { kind: "pipe", type: i0.forwardRef(function () { return SafePipe; }), name: "safe" }, { kind: "directive", type: i0.forwardRef(function () { return ObserveDomChangeDirective; }), selector: "[ieeesaObserveDomChange]", inputs: ["isSubTreeAttributeNeeded", "observedElementClassName"], outputs: ["domChange", "domNodesChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
123
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ListComponent, isStandalone: true, selector: "ieeesa-list", inputs: { listDataItems: "listDataItems", listHeaderConfig: "listHeaderConfig", indentation: "indentation", addListButtonConfig: "addListButtonConfig" }, outputs: { selectedItemAndAction: "selectedItemAndAction", reorderedList: "reorderedList", hyperLinkAndButtonClick: "hyperLinkAndButtonClick", domChangeEvent: "domChangeEvent" }, ngImport: i0, template: "<div class=\"ieeesa-list-container\">\r\n <div class=\"d-flex\">\r\n <div>\r\n <p *ngIf=\"listHeader?.title\" class=\"ieeesa-title-lg-24 mb-0\">\r\n {{ listHeader.title }}\r\n </p>\r\n <p\r\n *ngIf=\"listHeader?.description\"\r\n class=\"ieeesa-body-md-14 ieeesa-list-description\"\r\n [innerHTML]=\"listHeader.description | safe : safeType\"\r\n ieeesaObserveDomChange \r\n (domChange)=\"onDomChange($event)\"\r\n ></p>\r\n </div>\r\n <ieeesa-icon-button\r\n class=\"ieeesa-add-icon-button\"\r\n *ngIf=\"listHeader?.canShowAddList\"\r\n [iconButton]=\"addListButton\"\r\n (iconButtonClick)=\"onClickAddItem()\"\r\n [ngClass]=\"\r\n addListButton?.disabled\r\n ? 'ieeesa-list-container__actions--disabled'\r\n : ''\r\n \"\r\n ></ieeesa-icon-button>\r\n </div>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n recursiveList;\r\n context: { $implicit: listItems, itemLevel: 0 }\r\n \"\r\n >\r\n </ng-container>\r\n</div>\r\n<ng-template #recursiveList let-items let-itemLevel=\"itemLevel\">\r\n <mat-list class=\"ieeesa-list-item\">\r\n <ng-container\r\n *ngFor=\"let item of items; let index = index; trackBy: trackByFn\"\r\n >\r\n <div\r\n class=\"ieeesa-list-item-container d-flex align-items-center\"\r\n [style.marginLeft.px]=\"itemLevel * indentation\"\r\n >\r\n <mat-list-item\r\n [ngClass]=\"{\r\n 'ieeesa-list-item__root-level-item': itemLevel === 0,\r\n 'ieeesa-list-item__subitem': itemLevel > 0\r\n }\"\r\n >\r\n <span class=\"ieeesa-list-item__item d-flex\">\r\n <span class=\"list-number\">\r\n {{ item?.position }}\r\n </span>\r\n <span>\r\n <span class=\"item-name d-block\">{{ item?.title }}</span>\r\n <span class=\"ieeesa-list-item__desc d-block\" *ngIf=\"item?.description\">\r\n {{ item?.description }}\r\n </span>\r\n </span>\r\n </span>\r\n <span class=\"ieeesa-menu__action\">\r\n <ieeesa-menu\r\n *ngIf=\"item?.actionMenus\"\r\n class=\"ieeesa-menu__icon\"\r\n [button]=\"item?.actionIcon\"\r\n [menuItems]=\"item?.actionMenus\"\r\n (menuItemClick)=\"selectedMenuAction($event, item)\"\r\n ></ieeesa-menu>\r\n </span>\r\n </mat-list-item>\r\n </div>\r\n <ng-container *ngIf=\"item?.subItems\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n recursiveList;\r\n context: {\r\n $implicit: item.subItems,\r\n itemLevel: itemLevel + 1\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </mat-list>\r\n</ng-template>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-list-container .ieeesa-add-icon-button{margin-left:auto;align-self:center}.ieeesa-list-container .ieeesa-add-icon-button .ieeesa-icon-button{padding:0}.ieeesa-list-container .ieeesa-list-description{color:#49454f!important}.ieeesa-list-container .ieeesa-list-description a{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#00629b!important;letter-spacing:.03125em}.ieeesa-list-container .ieeesa-list-description a.disable-link{pointer-events:none;color:#63666a!important}.ieeesa-list-container__actions--disabled .ieeesa-icon-button__svg{fill:#c9c5ca!important}.ieeesa-list-container .ieeesa-list-item{background-color:#f4f5f7;padding:1px 0 0}.ieeesa-list-container .ieeesa-list-item .ieeesa-list-item-container{box-sizing:border-box;border-radius:.25em;background-color:#fff;border-left:.125rem solid #b2b7be;margin-bottom:.0625em;box-shadow:0 1px 2px #0003;min-height:2em;height:auto}.ieeesa-list-container .ieeesa-list-item .ieeesa-list-item-container:has(.ieeesa-list-item__root-level-item){border-left:.125rem solid #00b5e2}.ieeesa-list-container .ieeesa-list-item .mdc-list-item{padding:0;margin-left:.375em}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__content{padding:0}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__content:has(.ieeesa-list-item__desc){margin:.4375em 0}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__content .ieeesa-menu__icon .mdc-icon-button{height:1.5em;width:1.5em;margin-right:.3em}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__content .ieeesa-menu__button{position:relative;left:2px;bottom:2px}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__primary-text:has(.ieeesa-list-item__desc){align-items:flex-start!important}.ieeesa-list-container .ieeesa-list-item__root-level-item .list-number,.ieeesa-list-container .ieeesa-list-item__root-level-item .item-name{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1d1e!important;letter-spacing:.03125em;text-align:left;text-wrap:wrap}.ieeesa-list-container .ieeesa-list-item__subitem .list-number,.ieeesa-list-container .ieeesa-list-item__subitem .item-name{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#1c1d1e!important;letter-spacing:.03125em;text-align:left;text-wrap:wrap}.ieeesa-list-container .ieeesa-list-item__desc{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#63666a!important;letter-spacing:.03125em;text-align:left;text-wrap:wrap!important;word-break:break-word}.ieeesa-list-container .ieeesa-list-item .list-number{margin-right:.5em}.ieeesa-list-container .ieeesa-list-item .item-name{word-break:break-word}.ieeesa-list-container .ieeesa-list-item .mdc-list-item.mdc-list-item--with-one-line,.ieeesa-list-container .ieeesa-list-item .mdc-list-item.mdc-list-item--with-two-lines,.ieeesa-list-container .ieeesa-list-item .mdc-list-item.mdc-list-item--with-three-lines{height:auto}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__secondary-text:before,.ieeesa-list-container .ieeesa-list-item .mdc-list-item--with-two-lines .mdc-list-item__primary-text:before,.ieeesa-list-container .ieeesa-list-item .mdc-list-item--with-three-lines .mdc-list-item__primary-text:before{display:none}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__primary-text{display:flex;align-items:center}.ieeesa-menu__action{margin-left:auto}.ieeesa-menu__icon{float:right}.ieeesa-menu__item:not(:last-of-type){margin-bottom:0!important}@media (max-width: 767px){.ieeesa-list-container .ieeesa-menu__button{top:5px}}\n"], dependencies: [{ kind: "ngmodule", type: i0.forwardRef(function () { return CommonModule; }) }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: i0.forwardRef(function () { return MatListModule; }) }, { kind: "component", type: i0.forwardRef(function () { return i2.MatList; }), selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i0.forwardRef(function () { return i2.MatListItem; }), selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "ngmodule", type: i0.forwardRef(function () { return MatButtonModule; }) }, { kind: "component", type: i0.forwardRef(function () { return MenuComponent; }), selector: "ieeesa-menu", inputs: ["menuItems", "button", "defaultIconSize", "isMarginBottomZero"], outputs: ["menuToggleButtonElement", "menuItemClick"] }, { kind: "component", type: i0.forwardRef(function () { return IconButtonComponent; }), selector: "ieeesa-icon-button", inputs: ["iconButton", "isLabelNeeded"], outputs: ["iconButtonClick"] }, { kind: "pipe", type: i0.forwardRef(function () { return SafePipe; }), name: "safe" }, { kind: "directive", type: i0.forwardRef(function () { return ObserveDomChangeDirective; }), selector: "[ieeesaObserveDomChange]", inputs: ["isSubTreeAttributeNeeded", "observedElementClassName"], outputs: ["domChange", "domNodesChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
124
124
  }
125
125
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ListComponent, decorators: [{
126
126
  type: Component,
@@ -132,7 +132,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
132
132
  IconButtonComponent,
133
133
  forwardRef(() => SafePipe),
134
134
  ObserveDomChangeDirective,
135
- ], encapsulation: ViewEncapsulation.None, template: "<div class=\"ieeesa-list-container\">\r\n <div class=\"d-flex\">\r\n <div>\r\n <p *ngIf=\"listHeader?.title\" class=\"ieeesa-title-lg-24 mb-0\">\r\n {{ listHeader.title }}\r\n </p>\r\n <p\r\n *ngIf=\"listHeader?.description\"\r\n class=\"ieeesa-body-md-14 ieeesa-list-description\"\r\n [innerHTML]=\"listHeader.description | safe : safeType\"\r\n ieeesaObserveDomChange \r\n (domChange)=\"onDomChange($event)\"\r\n ></p>\r\n </div>\r\n <ieeesa-icon-button\r\n class=\"ieeesa-add-icon-button\"\r\n *ngIf=\"listHeader?.canShowAddList\"\r\n [iconButton]=\"addListButton\"\r\n (iconButtonClick)=\"onClickAddItem()\"\r\n [ngClass]=\"\r\n addListButton?.disabled\r\n ? 'ieeesa-list-container__actions--disabled'\r\n : ''\r\n \"\r\n ></ieeesa-icon-button>\r\n </div>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n recursiveList;\r\n context: { $implicit: listItems, itemLevel: 0 }\r\n \"\r\n >\r\n </ng-container>\r\n</div>\r\n<ng-template #recursiveList let-items let-itemLevel=\"itemLevel\">\r\n <mat-list class=\"ieeesa-list-item\">\r\n <ng-container\r\n *ngFor=\"let item of items; let index = index; trackBy: trackByFn\"\r\n >\r\n <div\r\n class=\"ieeesa-list-item-container\"\r\n [style.marginLeft.px]=\"itemLevel * indentation\"\r\n >\r\n <mat-list-item\r\n [ngClass]=\"{\r\n 'ieeesa-list-item__root-level-item': itemLevel === 0,\r\n 'ieeesa-list-item__subitem': itemLevel > 0\r\n }\"\r\n >\r\n <span class=\"ieeesa-list-item__item d-flex\">\r\n <span class=\"list-number\">\r\n {{ item?.position }}\r\n </span>\r\n <span>\r\n <span class=\"item-name d-block\">{{ item?.title }}</span>\r\n <span class=\"ieeesa-list-item__desc d-block\" *ngIf=\"item?.description\">\r\n {{ item?.description }}\r\n </span>\r\n </span>\r\n </span>\r\n <span class=\"ieeesa-menu__action\">\r\n <ieeesa-menu\r\n *ngIf=\"item?.actionMenus\"\r\n class=\"ieeesa-menu__icon\"\r\n [button]=\"item?.actionIcon\"\r\n [menuItems]=\"item?.actionMenus\"\r\n (menuItemClick)=\"selectedMenuAction($event, item)\"\r\n ></ieeesa-menu>\r\n </span>\r\n </mat-list-item>\r\n </div>\r\n <ng-container *ngIf=\"item?.subItems\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n recursiveList;\r\n context: {\r\n $implicit: item.subItems,\r\n itemLevel: itemLevel + 1\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </mat-list>\r\n</ng-template>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-list-container .ieeesa-add-icon-button{margin-left:auto;align-self:center}.ieeesa-list-container .ieeesa-add-icon-button .ieeesa-icon-button{padding:0}.ieeesa-list-container .ieeesa-list-description{color:#49454f!important}.ieeesa-list-container .ieeesa-list-description a{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#00629b!important;letter-spacing:.03125em}.ieeesa-list-container .ieeesa-list-description a.disable-link{pointer-events:none;color:#63666a!important}.ieeesa-list-container__actions--disabled .ieeesa-icon-button__svg{fill:#c9c5ca!important}.ieeesa-list-container .ieeesa-list-item{background-color:#f4f5f7;padding:1px 0 0}.ieeesa-list-container .ieeesa-list-item .ieeesa-list-item-container{box-sizing:border-box;border-radius:.25em;background-color:#fff;border-left:.125rem solid #b2b7be;margin-bottom:.0625em;box-shadow:0 1px 2px #0003}.ieeesa-list-container .ieeesa-list-item .ieeesa-list-item-container:has(.ieeesa-list-item__root-level-item){border-left:.125rem solid #00b5e2}.ieeesa-list-container .ieeesa-list-item .mdc-list-item{padding:0;margin-left:.375em}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__content{padding:0}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__content:has(.ieeesa-list-item__desc){margin:.4375em 0}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__content .ieeesa-menu__icon .mdc-icon-button{height:1.5em}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__primary-text{align-items:flex-start!important}.ieeesa-list-container .ieeesa-list-item__root-level-item .list-number,.ieeesa-list-container .ieeesa-list-item__root-level-item .item-name{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1d1e!important;letter-spacing:.03125em;text-align:left;text-wrap:wrap}.ieeesa-list-container .ieeesa-list-item__subitem .list-number,.ieeesa-list-container .ieeesa-list-item__subitem .item-name{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#1c1d1e!important;letter-spacing:.03125em;text-align:left;text-wrap:wrap}.ieeesa-list-container .ieeesa-list-item__desc{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#63666a!important;letter-spacing:.03125em;text-align:left;text-wrap:wrap!important;word-break:break-word}.ieeesa-list-container .ieeesa-list-item .list-number{margin-right:.5em}.ieeesa-list-container .ieeesa-list-item .item-name{word-break:break-word}.ieeesa-list-container .ieeesa-list-item .mdc-list-item.mdc-list-item--with-one-line,.ieeesa-list-container .ieeesa-list-item .mdc-list-item.mdc-list-item--with-two-lines,.ieeesa-list-container .ieeesa-list-item .mdc-list-item.mdc-list-item--with-three-lines{height:auto}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__secondary-text:before,.ieeesa-list-container .ieeesa-list-item .mdc-list-item--with-two-lines .mdc-list-item__primary-text:before,.ieeesa-list-container .ieeesa-list-item .mdc-list-item--with-three-lines .mdc-list-item__primary-text:before{display:none}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__primary-text{display:flex;align-items:center}.ieeesa-menu__action{margin-left:auto}.ieeesa-menu__icon{float:right}.ieeesa-menu__item:not(:last-of-type){margin-bottom:0!important}\n"] }]
135
+ ], encapsulation: ViewEncapsulation.None, template: "<div class=\"ieeesa-list-container\">\r\n <div class=\"d-flex\">\r\n <div>\r\n <p *ngIf=\"listHeader?.title\" class=\"ieeesa-title-lg-24 mb-0\">\r\n {{ listHeader.title }}\r\n </p>\r\n <p\r\n *ngIf=\"listHeader?.description\"\r\n class=\"ieeesa-body-md-14 ieeesa-list-description\"\r\n [innerHTML]=\"listHeader.description | safe : safeType\"\r\n ieeesaObserveDomChange \r\n (domChange)=\"onDomChange($event)\"\r\n ></p>\r\n </div>\r\n <ieeesa-icon-button\r\n class=\"ieeesa-add-icon-button\"\r\n *ngIf=\"listHeader?.canShowAddList\"\r\n [iconButton]=\"addListButton\"\r\n (iconButtonClick)=\"onClickAddItem()\"\r\n [ngClass]=\"\r\n addListButton?.disabled\r\n ? 'ieeesa-list-container__actions--disabled'\r\n : ''\r\n \"\r\n ></ieeesa-icon-button>\r\n </div>\r\n\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n recursiveList;\r\n context: { $implicit: listItems, itemLevel: 0 }\r\n \"\r\n >\r\n </ng-container>\r\n</div>\r\n<ng-template #recursiveList let-items let-itemLevel=\"itemLevel\">\r\n <mat-list class=\"ieeesa-list-item\">\r\n <ng-container\r\n *ngFor=\"let item of items; let index = index; trackBy: trackByFn\"\r\n >\r\n <div\r\n class=\"ieeesa-list-item-container d-flex align-items-center\"\r\n [style.marginLeft.px]=\"itemLevel * indentation\"\r\n >\r\n <mat-list-item\r\n [ngClass]=\"{\r\n 'ieeesa-list-item__root-level-item': itemLevel === 0,\r\n 'ieeesa-list-item__subitem': itemLevel > 0\r\n }\"\r\n >\r\n <span class=\"ieeesa-list-item__item d-flex\">\r\n <span class=\"list-number\">\r\n {{ item?.position }}\r\n </span>\r\n <span>\r\n <span class=\"item-name d-block\">{{ item?.title }}</span>\r\n <span class=\"ieeesa-list-item__desc d-block\" *ngIf=\"item?.description\">\r\n {{ item?.description }}\r\n </span>\r\n </span>\r\n </span>\r\n <span class=\"ieeesa-menu__action\">\r\n <ieeesa-menu\r\n *ngIf=\"item?.actionMenus\"\r\n class=\"ieeesa-menu__icon\"\r\n [button]=\"item?.actionIcon\"\r\n [menuItems]=\"item?.actionMenus\"\r\n (menuItemClick)=\"selectedMenuAction($event, item)\"\r\n ></ieeesa-menu>\r\n </span>\r\n </mat-list-item>\r\n </div>\r\n <ng-container *ngIf=\"item?.subItems\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n recursiveList;\r\n context: {\r\n $implicit: item.subItems,\r\n itemLevel: itemLevel + 1\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </mat-list>\r\n</ng-template>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-list-container .ieeesa-add-icon-button{margin-left:auto;align-self:center}.ieeesa-list-container .ieeesa-add-icon-button .ieeesa-icon-button{padding:0}.ieeesa-list-container .ieeesa-list-description{color:#49454f!important}.ieeesa-list-container .ieeesa-list-description a{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#00629b!important;letter-spacing:.03125em}.ieeesa-list-container .ieeesa-list-description a.disable-link{pointer-events:none;color:#63666a!important}.ieeesa-list-container__actions--disabled .ieeesa-icon-button__svg{fill:#c9c5ca!important}.ieeesa-list-container .ieeesa-list-item{background-color:#f4f5f7;padding:1px 0 0}.ieeesa-list-container .ieeesa-list-item .ieeesa-list-item-container{box-sizing:border-box;border-radius:.25em;background-color:#fff;border-left:.125rem solid #b2b7be;margin-bottom:.0625em;box-shadow:0 1px 2px #0003;min-height:2em;height:auto}.ieeesa-list-container .ieeesa-list-item .ieeesa-list-item-container:has(.ieeesa-list-item__root-level-item){border-left:.125rem solid #00b5e2}.ieeesa-list-container .ieeesa-list-item .mdc-list-item{padding:0;margin-left:.375em}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__content{padding:0}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__content:has(.ieeesa-list-item__desc){margin:.4375em 0}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__content .ieeesa-menu__icon .mdc-icon-button{height:1.5em;width:1.5em;margin-right:.3em}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__content .ieeesa-menu__button{position:relative;left:2px;bottom:2px}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__primary-text:has(.ieeesa-list-item__desc){align-items:flex-start!important}.ieeesa-list-container .ieeesa-list-item__root-level-item .list-number,.ieeesa-list-container .ieeesa-list-item__root-level-item .item-name{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1d1e!important;letter-spacing:.03125em;text-align:left;text-wrap:wrap}.ieeesa-list-container .ieeesa-list-item__subitem .list-number,.ieeesa-list-container .ieeesa-list-item__subitem .item-name{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#1c1d1e!important;letter-spacing:.03125em;text-align:left;text-wrap:wrap}.ieeesa-list-container .ieeesa-list-item__desc{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#63666a!important;letter-spacing:.03125em;text-align:left;text-wrap:wrap!important;word-break:break-word}.ieeesa-list-container .ieeesa-list-item .list-number{margin-right:.5em}.ieeesa-list-container .ieeesa-list-item .item-name{word-break:break-word}.ieeesa-list-container .ieeesa-list-item .mdc-list-item.mdc-list-item--with-one-line,.ieeesa-list-container .ieeesa-list-item .mdc-list-item.mdc-list-item--with-two-lines,.ieeesa-list-container .ieeesa-list-item .mdc-list-item.mdc-list-item--with-three-lines{height:auto}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__secondary-text:before,.ieeesa-list-container .ieeesa-list-item .mdc-list-item--with-two-lines .mdc-list-item__primary-text:before,.ieeesa-list-container .ieeesa-list-item .mdc-list-item--with-three-lines .mdc-list-item__primary-text:before{display:none}.ieeesa-list-container .ieeesa-list-item .mdc-list-item__primary-text{display:flex;align-items:center}.ieeesa-menu__action{margin-left:auto}.ieeesa-menu__icon{float:right}.ieeesa-menu__item:not(:last-of-type){margin-bottom:0!important}@media (max-width: 767px){.ieeesa-list-container .ieeesa-menu__button{top:5px}}\n"] }]
136
136
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { selectedItemAndAction: [{
137
137
  type: Output
138
138
  }], reorderedList: [{
@@ -150,4 +150,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
150
150
  }], domChangeEvent: [{
151
151
  type: Output
152
152
  }] } });
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2xpc3QvbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2xpc3QvbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixFQUNqQixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sS0FBSyxTQUFTLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQzs7OztBQWlCN0csTUFBTSxPQUFPLGFBQWE7SUFReEIsSUFDSSxhQUFhLENBQUMsUUFBb0I7UUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUNELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxD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QWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIGZvcndhcmRSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTGlzdEhlYWRlciwgTGlzdEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvbGlzdC1pdGVtLm1vZGVsJztcclxuaW1wb3J0IHsgTWVudUNvbXBvbmVudCB9IGZyb20gJy4uL21lbnUvbWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNZW51IH0gZnJvbSAnLi4vLi4vbW9kZWxzL21lbnUubW9kZWwnO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IFNhZmVQaXBlLCBTYWZlVHlwZSB9IGZyb20gJ0BpZWVlc2EtbnBtL3V0aWxpdHknO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ljb24tYnV0dG9uLm1vZGVsJztcclxuaW1wb3J0IHsgT2JzZXJ2ZURvbUNoYW5nZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvb2JzZXJ2ZS1kb20tY2hhbmdlL29ic2VydmUtZG9tLWNoYW5nZS5kaXJlY3RpdmUnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS1saXN0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdExpc3RNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNZW51Q29tcG9uZW50LFxyXG4gICAgSWNvbkJ1dHRvbkNvbXBvbmVudCxcclxuICAgIGZvcndhcmRSZWYoKCkgPT4gU2FmZVBpcGUpLFxyXG4gICAgT2JzZXJ2ZURvbUNoYW5nZURpcmVjdGl2ZSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9saXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIGxpc3RJdGVtcyE6IExpc3RJdGVtW107XHJcbiAgbGlzdEhlYWRlciE6IExpc3RIZWFkZXI7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkSXRlbUFuZEFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgc2VsZWN0ZWRNZW51OiBNZW51O1xyXG4gICAgc2VsZWN0ZWRJdGVtOiBMaXN0SXRlbTtcclxuICB9PigpO1xyXG4gIEBPdXRwdXQoKSByZW9yZGVyZWRMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcjxMaXN0SXRlbVtdPigpO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGxpc3REYXRhSXRlbXMobGlzdEl0ZW06IExpc3RJdGVtW10pIHtcclxuICAgIHRoaXMubGlzdEl0ZW1zID0gbGlzdEl0ZW07XHJcbiAgICB0aGlzLmdldExpc3RJdGVtc1Bvc2l0aW9uQW5kTGV2ZWwodGhpcy5saXN0SXRlbXMsIDApO1xyXG4gIH1cclxuICBnZXQgbGlzdERhdGFJdGVtcygpOiBMaXN0SXRlbVtdIHtcclxuICAgIHJldHVybiB0aGlzLmxpc3RJdGVtcztcclxuICB9XHJcbiAgQElucHV0KClcclxuICBzZXQgbGlzdEhlYWRlckNvbmZpZyhsaXN0SGVhZGVyRGV0YWlsOiBMaXN0SGVhZGVyKSB7XHJcbiAgICB0aGlzLmxpc3RIZWFkZXIgPSBsaXN0SGVhZGVyRGV0YWlsO1xyXG4gIH1cclxuICBnZXQgbGlzdEhlYWRlckNvbmZpZygpOiBMaXN0SGVhZGVyIHtcclxuICAgIHJldHVybiB0aGlzLmxpc3RIZWFkZXI7XHJcbiAgfVxyXG4gIEBPdXRwdXQoKSBoeXBlckxpbmtBbmRCdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjb25zdGFudHM6IGFueSA9IGNvbnN0YW50cztcclxuICBASW5wdXQoKSBpbmRlbnRhdGlvbiA9IHRoaXMuY29uc3RhbnRzPy5saXN0Py5kZWZhdWx0SW5kZW50YXRpb247XHJcbiAgYWRkTGlzdEJ1dHRvbiE6IEljb25CdXR0b247XHJcbiAgc2FmZVR5cGU6IHN0cmluZyA9IFNhZmVUeXBlLkhUTUw7XHJcbiAgQElucHV0KClcclxuICBzZXQgYWRkTGlzdEJ1dHRvbkNvbmZpZyhhZGRMaXN0QnV0dG9uOiBJY29uQnV0dG9uKSB7XHJcbiAgICB0aGlzLmFkZExpc3RCdXR0b24gPSBhZGRMaXN0QnV0dG9uO1xyXG4gIH1cclxuICBnZXQgYWRkTGlzdEJ1dHRvbkNvbmZpZygpOiBJY29uQnV0dG9uIHtcclxuICAgIHJldHVybiB0aGlzLmFkZExpc3RCdXR0b247XHJcbiAgfVxyXG4gIEBPdXRwdXQoKSBkb21DaGFuZ2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8TXV0YXRpb25SZWNvcmQ+KCk7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzLCBuby1lbXB0eS1mdW5jdGlvblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIGh5cGVyTGlua0FuZEJ1dHRvbkNsaWNrIGV2ZW50IG9uIGNsaWNrIG9mIGh5cGVyIGxpbmsuXHJcbiAgICogQHBhcmFtIHtFdmVudH0gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgTGlzdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uQW5jaG9yRWxlbWVudENsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuaHlwZXJMaW5rQW5kQnV0dG9uQ2xpY2suZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdHMgdGhlIGluZGV4IHBvc2l0aW9uL251bWJlciBhbmQgaXRlbUxldmVsIGZvciBlYWNoIGxpc3QgaXRlbS5cclxuICAgKiBAcGFyYW0ge0xpc3RJdGVtW119IGl0ZW1zXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGl0ZW1MZXZlbFxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbcGFyZW50SW5kZXhdXHJcbiAgICogQG1lbWJlcm9mIExpc3RDb21wb25lbnRcclxuICAgKi9cclxuICBnZXRMaXN0SXRlbXNQb3NpdGlvbkFuZExldmVsKFxyXG4gICAgaXRlbXM6IExpc3RJdGVtW10sXHJcbiAgICBpdGVtTGV2ZWw6IG51bWJlcixcclxuICAgIHBhcmVudEluZGV4Pzogc3RyaW5nXHJcbiAgKTogdm9pZCB7XHJcbiAgICBpdGVtcz8uZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgY29uc3QgcG9zaXRpb24gPSBwYXJlbnRJbmRleFxyXG4gICAgICAgID8gcGFyZW50SW5kZXggKyAocGFyZW50SW5kZXgubGVuZ3RoID09PSAyID8gJycgOiAnLicpICsgKGluZGV4ICsgMSlcclxuICAgICAgICA6IGluZGV4ICsgMSArICcuJztcclxuICAgICAgaXRlbS5wb3NpdGlvbiA9IHBvc2l0aW9uO1xyXG4gICAgICBpdGVtLml0ZW1MZXZlbCA9IGl0ZW1MZXZlbDtcclxuICAgICAgaWYgKGl0ZW0uc3ViSXRlbXMpXHJcbiAgICAgICAgdGhpcy5nZXRMaXN0SXRlbXNQb3NpdGlvbkFuZExldmVsKFxyXG4gICAgICAgICAgaXRlbS5zdWJJdGVtcyxcclxuICAgICAgICAgIGl0ZW1MZXZlbCArIDEsXHJcbiAgICAgICAgICBwb3NpdGlvblxyXG4gICAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogRW1pdHMgdGhlIHNlbGVjdGVkIG1lbnUgYWN0aW9uIGFuZCB0aGUgaXRlbS5cclxuICAgKiBAcGFyYW0ge01lbnV9IGV2ZW50XHJcbiAgICogQHBhcmFtIHtMaXN0SXRlbX0gaXRlbVxyXG4gICAqIEBtZW1iZXJvZiBMaXN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgc2VsZWN0ZWRNZW51QWN0aW9uKGV2ZW50OiBNZW51LCBpdGVtOiBMaXN0SXRlbSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1BbmRBY3Rpb24uZW1pdCh7XHJcbiAgICAgIHNlbGVjdGVkTWVudTogZXZlbnQsXHJcbiAgICAgIHNlbGVjdGVkSXRlbTogaXRlbSxcclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgbGlzdC5cclxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcclxuICAgKiBAcGFyYW0ge0xpc3RJdGVtfSBpdGVtXHJcbiAgICogQHJldHVybiB7KG51bWJlciB8IHN0cmluZyl9XHJcbiAgICogQG1lbWJlcm9mIExpc3RDb21wb25lbnRcclxuICAgKi9cclxuICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogTGlzdEl0ZW0pOiBudW1iZXIgfCBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIGh5cGVyTGlua0FuZEJ1dHRvbkNsaWNrIGV2ZW50IG9uIGNsaWNrIG9mIGJ1dHRvbi5cclxuICAgKiBAbWVtYmVyb2YgTGlzdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uQ2xpY2tBZGRJdGVtKCk6IHZvaWQge1xyXG4gICAgdGhpcy5oeXBlckxpbmtBbmRCdXR0b25DbGljay5lbWl0KCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEFkZHMgY2xpY2sgZXZlbnQgdG8gdGhlIGFuY2hvciB0YWdzIHdoZW5ldmVyIGRvbSBjaGFuZ2VzLlxyXG4gICAqIEBtZW1iZXJvZiBMaXN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgb25Eb21DaGFuZ2UoZXZlbnQ6IE11dGF0aW9uUmVjb3JkKSB7XHJcbiAgICBjb25zdCBhbmNob3JUYWdzID0gdGhpcy5lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50Py5xdWVyeVNlbGVjdG9yQWxsKCdhJyk7XHJcbiAgICBhbmNob3JUYWdzPy5mb3JFYWNoKChhbmNob3I6IEhUTUxBbmNob3JFbGVtZW50KSA9PiB7XHJcbiAgICAgIGFuY2hvci5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMub25BbmNob3JFbGVtZW50Q2xpY2suYmluZCh0aGlzKSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZG9tQ2hhbmdlRXZlbnQuZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJlbW92aW5nIHRoZSBldmVudCBsaXN0ZW5lcnMgb24gZGVzdHJveS5cclxuICAgKiBAbWVtYmVyb2YgTGlzdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgY29uc3QgYW5jaG9yVGFncyA9IHRoaXMuZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudD8ucXVlcnlTZWxlY3RvckFsbCgnYScpO1xyXG4gICAgYW5jaG9yVGFncz8uZm9yRWFjaCgoYW5jaG9yOiBIVE1MQW5jaG9yRWxlbWVudCkgPT4ge1xyXG4gICAgICBhbmNob3IucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLm9uQW5jaG9yRWxlbWVudENsaWNrKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaWVlZXNhLWxpc3QtY29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgPGRpdj5cclxuICAgICAgPHAgKm5nSWY9XCJsaXN0SGVhZGVyPy50aXRsZVwiIGNsYXNzPVwiaWVlZXNhLXRpdGxlLWxnLTI0IG1iLTBcIj5cclxuICAgICAgICB7eyBsaXN0SGVhZGVyLnRpdGxlIH19XHJcbiAgICAgIDwvcD5cclxuICAgICAgPHBcclxuICAgICAgICAqbmdJZj1cImxpc3RIZWFkZXI/LmRlc2NyaXB0aW9uXCJcclxuICAgICAgICBjbGFzcz1cImllZWVzYS1ib2R5LW1kLTE0IGllZWVzYS1saXN0LWRlc2NyaXB0aW9uXCJcclxuICAgICAgICBbaW5uZXJIVE1MXT1cImxpc3RIZWFkZXIuZGVzY3JpcHRpb24gfCBzYWZlIDogc2FmZVR5cGVcIlxyXG4gICAgICAgIGllZWVzYU9ic2VydmVEb21DaGFuZ2UgICAgICAgIFxyXG4gICAgICAgIChkb21DaGFuZ2UpPVwib25Eb21DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgID48L3A+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxpZWVlc2EtaWNvbi1idXR0b25cclxuICAgICAgY2xhc3M9XCJpZWVlc2EtYWRkLWljb24tYnV0dG9uXCJcclxuICAgICAgKm5nSWY9XCJsaXN0SGVhZGVyPy5jYW5TaG93QWRkTGlzdFwiXHJcbiAgICAgIFtpY29uQnV0dG9uXT1cImFkZExpc3RCdXR0b25cIlxyXG4gICAgICAoaWNvbkJ1dHRvbkNsaWNrKT1cIm9uQ2xpY2tBZGRJdGVtKClcIlxyXG4gICAgICBbbmdDbGFzc109XCJcclxuICAgICAgICBhZGRMaXN0QnV0dG9uPy5kaXNhYmxlZFxyXG4gICAgICAgICAgPyAnaWVlZXNhLWxpc3QtY29udGFpbmVyX19hY3Rpb25zLS1kaXNhYmxlZCdcclxuICAgICAgICAgIDogJydcclxuICAgICAgXCJcclxuICAgID48L2llZWVzYS1pY29uLWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lclxyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgcmVjdXJzaXZlTGlzdDtcclxuICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGxpc3RJdGVtcywgaXRlbUxldmVsOiAwIH1cclxuICAgIFwiXHJcbiAgPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuPG5nLXRlbXBsYXRlICNyZWN1cnNpdmVMaXN0IGxldC1pdGVtcyBsZXQtaXRlbUxldmVsPVwiaXRlbUxldmVsXCI+XHJcbiAgPG1hdC1saXN0IGNsYXNzPVwiaWVlZXNhLWxpc3QtaXRlbVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGluZGV4ID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlGblwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImllZWVzYS1saXN0LWl0ZW0tY29udGFpbmVyXCJcclxuICAgICAgICBbc3R5bGUubWFyZ2luTGVmdC5weF09XCJpdGVtTGV2ZWwgKiBpbmRlbnRhdGlvblwiXHJcbiAgICAgID5cclxuICAgICAgICA8bWF0LWxpc3QtaXRlbVxyXG4gICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAnaWVlZXNhLWxpc3QtaXRlbV9fcm9vdC1sZXZlbC1pdGVtJzogaXRlbUxldmVsID09PSAwLFxyXG4gICAgICAgICAgICAnaWVlZXNhLWxpc3QtaXRlbV9fc3ViaXRlbSc6IGl0ZW1MZXZlbCA+IDBcclxuICAgICAgICAgIH1cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWVlZXNhLWxpc3QtaXRlbV9faXRlbSBkLWZsZXhcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsaXN0LW51bWJlclwiPlxyXG4gICAgICAgICAgICAgIHt7IGl0ZW0/LnBvc2l0aW9uIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpdGVtLW5hbWUgZC1ibG9ja1wiPnt7IGl0ZW0/LnRpdGxlIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWVlZXNhLWxpc3QtaXRlbV9fZGVzYyBkLWJsb2NrXCIgKm5nSWY9XCJpdGVtPy5kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICAgICAge3sgaXRlbT8uZGVzY3JpcHRpb24gfX1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaWVlZXNhLW1lbnVfX2FjdGlvblwiPlxyXG4gICAgICAgICAgICA8aWVlZXNhLW1lbnVcclxuICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0/LmFjdGlvbk1lbnVzXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImllZWVzYS1tZW51X19pY29uXCJcclxuICAgICAgICAgICAgICBbYnV0dG9uXT1cIml0ZW0/LmFjdGlvbkljb25cIlxyXG4gICAgICAgICAgICAgIFttZW51SXRlbXNdPVwiaXRlbT8uYWN0aW9uTWVudXNcIlxyXG4gICAgICAgICAgICAgIChtZW51SXRlbUNsaWNrKT1cInNlbGVjdGVkTWVudUFjdGlvbigkZXZlbnQsIGl0ZW0pXCJcclxuICAgICAgICAgICAgPjwvaWVlZXNhLW1lbnU+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0/LnN1Ykl0ZW1zXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgcmVjdXJzaXZlTGlzdDtcclxuICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgICRpbXBsaWNpdDogaXRlbS5zdWJJdGVtcyxcclxuICAgICAgICAgICAgICBpdGVtTGV2ZWw6IGl0ZW1MZXZlbCArIDFcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9tYXQtbGlzdD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2xpc3QvbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2xpc3QvbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLGlCQUFpQixFQUNqQixVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sS0FBSyxTQUFTLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQzs7OztBQWlCN0csTUFBTSxPQUFPLGFBQWE7SUFReEIsSUFDSSxhQUFhLENBQUMsUUFBb0I7UUFDcEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUNELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxD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QWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIGZvcndhcmRSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTGlzdEhlYWRlciwgTGlzdEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvbGlzdC1pdGVtLm1vZGVsJztcclxuaW1wb3J0IHsgTWVudUNvbXBvbmVudCB9IGZyb20gJy4uL21lbnUvbWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNZW51IH0gZnJvbSAnLi4vLi4vbW9kZWxzL21lbnUubW9kZWwnO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IFNhZmVQaXBlLCBTYWZlVHlwZSB9IGZyb20gJ0BpZWVlc2EtbnBtL3V0aWxpdHknO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ljb24tYnV0dG9uLm1vZGVsJztcclxuaW1wb3J0IHsgT2JzZXJ2ZURvbUNoYW5nZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvb2JzZXJ2ZS1kb20tY2hhbmdlL29ic2VydmUtZG9tLWNoYW5nZS5kaXJlY3RpdmUnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS1saXN0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdExpc3RNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNZW51Q29tcG9uZW50LFxyXG4gICAgSWNvbkJ1dHRvbkNvbXBvbmVudCxcclxuICAgIGZvcndhcmRSZWYoKCkgPT4gU2FmZVBpcGUpLFxyXG4gICAgT2JzZXJ2ZURvbUNoYW5nZURpcmVjdGl2ZSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9saXN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIGxpc3RJdGVtcyE6IExpc3RJdGVtW107XHJcbiAgbGlzdEhlYWRlciE6IExpc3RIZWFkZXI7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkSXRlbUFuZEFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgc2VsZWN0ZWRNZW51OiBNZW51O1xyXG4gICAgc2VsZWN0ZWRJdGVtOiBMaXN0SXRlbTtcclxuICB9PigpO1xyXG4gIEBPdXRwdXQoKSByZW9yZGVyZWRMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcjxMaXN0SXRlbVtdPigpO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGxpc3REYXRhSXRlbXMobGlzdEl0ZW06IExpc3RJdGVtW10pIHtcclxuICAgIHRoaXMubGlzdEl0ZW1zID0gbGlzdEl0ZW07XHJcbiAgICB0aGlzLmdldExpc3RJdGVtc1Bvc2l0aW9uQW5kTGV2ZWwodGhpcy5saXN0SXRlbXMsIDApO1xyXG4gIH1cclxuICBnZXQgbGlzdERhdGFJdGVtcygpOiBMaXN0SXRlbVtdIHtcclxuICAgIHJldHVybiB0aGlzLmxpc3RJdGVtcztcclxuICB9XHJcbiAgQElucHV0KClcclxuICBzZXQgbGlzdEhlYWRlckNvbmZpZyhsaXN0SGVhZGVyRGV0YWlsOiBMaXN0SGVhZGVyKSB7XHJcbiAgICB0aGlzLmxpc3RIZWFkZXIgPSBsaXN0SGVhZGVyRGV0YWlsO1xyXG4gIH1cclxuICBnZXQgbGlzdEhlYWRlckNvbmZpZygpOiBMaXN0SGVhZGVyIHtcclxuICAgIHJldHVybiB0aGlzLmxpc3RIZWFkZXI7XHJcbiAgfVxyXG4gIEBPdXRwdXQoKSBoeXBlckxpbmtBbmRCdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjb25zdGFudHM6IGFueSA9IGNvbnN0YW50cztcclxuICBASW5wdXQoKSBpbmRlbnRhdGlvbiA9IHRoaXMuY29uc3RhbnRzPy5saXN0Py5kZWZhdWx0SW5kZW50YXRpb247XHJcbiAgYWRkTGlzdEJ1dHRvbiE6IEljb25CdXR0b247XHJcbiAgc2FmZVR5cGU6IHN0cmluZyA9IFNhZmVUeXBlLkhUTUw7XHJcbiAgQElucHV0KClcclxuICBzZXQgYWRkTGlzdEJ1dHRvbkNvbmZpZyhhZGRMaXN0QnV0dG9uOiBJY29uQnV0dG9uKSB7XHJcbiAgICB0aGlzLmFkZExpc3RCdXR0b24gPSBhZGRMaXN0QnV0dG9uO1xyXG4gIH1cclxuICBnZXQgYWRkTGlzdEJ1dHRvbkNvbmZpZygpOiBJY29uQnV0dG9uIHtcclxuICAgIHJldHVybiB0aGlzLmFkZExpc3RCdXR0b247XHJcbiAgfVxyXG4gIEBPdXRwdXQoKSBkb21DaGFuZ2VFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8TXV0YXRpb25SZWNvcmQ+KCk7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzLCBuby1lbXB0eS1mdW5jdGlvblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIGh5cGVyTGlua0FuZEJ1dHRvbkNsaWNrIGV2ZW50IG9uIGNsaWNrIG9mIGh5cGVyIGxpbmsuXHJcbiAgICogQHBhcmFtIHtFdmVudH0gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgTGlzdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uQW5jaG9yRWxlbWVudENsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuaHlwZXJMaW5rQW5kQnV0dG9uQ2xpY2suZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdHMgdGhlIGluZGV4IHBvc2l0aW9uL251bWJlciBhbmQgaXRlbUxldmVsIGZvciBlYWNoIGxpc3QgaXRlbS5cclxuICAgKiBAcGFyYW0ge0xpc3RJdGVtW119IGl0ZW1zXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGl0ZW1MZXZlbFxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbcGFyZW50SW5kZXhdXHJcbiAgICogQG1lbWJlcm9mIExpc3RDb21wb25lbnRcclxuICAgKi9cclxuICBnZXRMaXN0SXRlbXNQb3NpdGlvbkFuZExldmVsKFxyXG4gICAgaXRlbXM6IExpc3RJdGVtW10sXHJcbiAgICBpdGVtTGV2ZWw6IG51bWJlcixcclxuICAgIHBhcmVudEluZGV4Pzogc3RyaW5nXHJcbiAgKTogdm9pZCB7XHJcbiAgICBpdGVtcz8uZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgY29uc3QgcG9zaXRpb24gPSBwYXJlbnRJbmRleFxyXG4gICAgICAgID8gcGFyZW50SW5kZXggKyAocGFyZW50SW5kZXgubGVuZ3RoID09PSAyID8gJycgOiAnLicpICsgKGluZGV4ICsgMSlcclxuICAgICAgICA6IGluZGV4ICsgMSArICcuJztcclxuICAgICAgaXRlbS5wb3NpdGlvbiA9IHBvc2l0aW9uO1xyXG4gICAgICBpdGVtLml0ZW1MZXZlbCA9IGl0ZW1MZXZlbDtcclxuICAgICAgaWYgKGl0ZW0uc3ViSXRlbXMpXHJcbiAgICAgICAgdGhpcy5nZXRMaXN0SXRlbXNQb3NpdGlvbkFuZExldmVsKFxyXG4gICAgICAgICAgaXRlbS5zdWJJdGVtcyxcclxuICAgICAgICAgIGl0ZW1MZXZlbCArIDEsXHJcbiAgICAgICAgICBwb3NpdGlvblxyXG4gICAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogRW1pdHMgdGhlIHNlbGVjdGVkIG1lbnUgYWN0aW9uIGFuZCB0aGUgaXRlbS5cclxuICAgKiBAcGFyYW0ge01lbnV9IGV2ZW50XHJcbiAgICogQHBhcmFtIHtMaXN0SXRlbX0gaXRlbVxyXG4gICAqIEBtZW1iZXJvZiBMaXN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgc2VsZWN0ZWRNZW51QWN0aW9uKGV2ZW50OiBNZW51LCBpdGVtOiBMaXN0SXRlbSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW1BbmRBY3Rpb24uZW1pdCh7XHJcbiAgICAgIHNlbGVjdGVkTWVudTogZXZlbnQsXHJcbiAgICAgIHNlbGVjdGVkSXRlbTogaXRlbSxcclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgbGlzdC5cclxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcclxuICAgKiBAcGFyYW0ge0xpc3RJdGVtfSBpdGVtXHJcbiAgICogQHJldHVybiB7KG51bWJlciB8IHN0cmluZyl9XHJcbiAgICogQG1lbWJlcm9mIExpc3RDb21wb25lbnRcclxuICAgKi9cclxuICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogTGlzdEl0ZW0pOiBudW1iZXIgfCBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIGh5cGVyTGlua0FuZEJ1dHRvbkNsaWNrIGV2ZW50IG9uIGNsaWNrIG9mIGJ1dHRvbi5cclxuICAgKiBAbWVtYmVyb2YgTGlzdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uQ2xpY2tBZGRJdGVtKCk6IHZvaWQge1xyXG4gICAgdGhpcy5oeXBlckxpbmtBbmRCdXR0b25DbGljay5lbWl0KCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEFkZHMgY2xpY2sgZXZlbnQgdG8gdGhlIGFuY2hvciB0YWdzIHdoZW5ldmVyIGRvbSBjaGFuZ2VzLlxyXG4gICAqIEBtZW1iZXJvZiBMaXN0Q29tcG9uZW50XHJcbiAgICovXHJcbiAgb25Eb21DaGFuZ2UoZXZlbnQ6IE11dGF0aW9uUmVjb3JkKSB7XHJcbiAgICBjb25zdCBhbmNob3JUYWdzID0gdGhpcy5lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50Py5xdWVyeVNlbGVjdG9yQWxsKCdhJyk7XHJcbiAgICBhbmNob3JUYWdzPy5mb3JFYWNoKChhbmNob3I6IEhUTUxBbmNob3JFbGVtZW50KSA9PiB7XHJcbiAgICAgIGFuY2hvci5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMub25BbmNob3JFbGVtZW50Q2xpY2suYmluZCh0aGlzKSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZG9tQ2hhbmdlRXZlbnQuZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJlbW92aW5nIHRoZSBldmVudCBsaXN0ZW5lcnMgb24gZGVzdHJveS5cclxuICAgKiBAbWVtYmVyb2YgTGlzdENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgY29uc3QgYW5jaG9yVGFncyA9IHRoaXMuZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudD8ucXVlcnlTZWxlY3RvckFsbCgnYScpO1xyXG4gICAgYW5jaG9yVGFncz8uZm9yRWFjaCgoYW5jaG9yOiBIVE1MQW5jaG9yRWxlbWVudCkgPT4ge1xyXG4gICAgICBhbmNob3IucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLm9uQW5jaG9yRWxlbWVudENsaWNrKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaWVlZXNhLWxpc3QtY29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgPGRpdj5cclxuICAgICAgPHAgKm5nSWY9XCJsaXN0SGVhZGVyPy50aXRsZVwiIGNsYXNzPVwiaWVlZXNhLXRpdGxlLWxnLTI0IG1iLTBcIj5cclxuICAgICAgICB7eyBsaXN0SGVhZGVyLnRpdGxlIH19XHJcbiAgICAgIDwvcD5cclxuICAgICAgPHBcclxuICAgICAgICAqbmdJZj1cImxpc3RIZWFkZXI/LmRlc2NyaXB0aW9uXCJcclxuICAgICAgICBjbGFzcz1cImllZWVzYS1ib2R5LW1kLTE0IGllZWVzYS1saXN0LWRlc2NyaXB0aW9uXCJcclxuICAgICAgICBbaW5uZXJIVE1MXT1cImxpc3RIZWFkZXIuZGVzY3JpcHRpb24gfCBzYWZlIDogc2FmZVR5cGVcIlxyXG4gICAgICAgIGllZWVzYU9ic2VydmVEb21DaGFuZ2UgICAgICAgIFxyXG4gICAgICAgIChkb21DaGFuZ2UpPVwib25Eb21DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgID48L3A+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxpZWVlc2EtaWNvbi1idXR0b25cclxuICAgICAgY2xhc3M9XCJpZWVlc2EtYWRkLWljb24tYnV0dG9uXCJcclxuICAgICAgKm5nSWY9XCJsaXN0SGVhZGVyPy5jYW5TaG93QWRkTGlzdFwiXHJcbiAgICAgIFtpY29uQnV0dG9uXT1cImFkZExpc3RCdXR0b25cIlxyXG4gICAgICAoaWNvbkJ1dHRvbkNsaWNrKT1cIm9uQ2xpY2tBZGRJdGVtKClcIlxyXG4gICAgICBbbmdDbGFzc109XCJcclxuICAgICAgICBhZGRMaXN0QnV0dG9uPy5kaXNhYmxlZFxyXG4gICAgICAgICAgPyAnaWVlZXNhLWxpc3QtY29udGFpbmVyX19hY3Rpb25zLS1kaXNhYmxlZCdcclxuICAgICAgICAgIDogJydcclxuICAgICAgXCJcclxuICAgID48L2llZWVzYS1pY29uLWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lclxyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgcmVjdXJzaXZlTGlzdDtcclxuICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGxpc3RJdGVtcywgaXRlbUxldmVsOiAwIH1cclxuICAgIFwiXHJcbiAgPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuPG5nLXRlbXBsYXRlICNyZWN1cnNpdmVMaXN0IGxldC1pdGVtcyBsZXQtaXRlbUxldmVsPVwiaXRlbUxldmVsXCI+XHJcbiAgPG1hdC1saXN0IGNsYXNzPVwiaWVlZXNhLWxpc3QtaXRlbVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGluZGV4ID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlGblwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImllZWVzYS1saXN0LWl0ZW0tY29udGFpbmVyIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxyXG4gICAgICAgIFtzdHlsZS5tYXJnaW5MZWZ0LnB4XT1cIml0ZW1MZXZlbCAqIGluZGVudGF0aW9uXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxtYXQtbGlzdC1pdGVtXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICdpZWVlc2EtbGlzdC1pdGVtX19yb290LWxldmVsLWl0ZW0nOiBpdGVtTGV2ZWwgPT09IDAsXHJcbiAgICAgICAgICAgICdpZWVlc2EtbGlzdC1pdGVtX19zdWJpdGVtJzogaXRlbUxldmVsID4gMFxyXG4gICAgICAgICAgfVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJpZWVlc2EtbGlzdC1pdGVtX19pdGVtIGQtZmxleFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxpc3QtbnVtYmVyXCI+XHJcbiAgICAgICAgICAgICAge3sgaXRlbT8ucG9zaXRpb24gfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIml0ZW0tbmFtZSBkLWJsb2NrXCI+e3sgaXRlbT8udGl0bGUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpZWVlc2EtbGlzdC1pdGVtX19kZXNjIGQtYmxvY2tcIiAqbmdJZj1cIml0ZW0/LmRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBpdGVtPy5kZXNjcmlwdGlvbiB9fVxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJpZWVlc2EtbWVudV9fYWN0aW9uXCI+XHJcbiAgICAgICAgICAgIDxpZWVlc2EtbWVudVxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiaXRlbT8uYWN0aW9uTWVudXNcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiaWVlZXNhLW1lbnVfX2ljb25cIlxyXG4gICAgICAgICAgICAgIFtidXR0b25dPVwiaXRlbT8uYWN0aW9uSWNvblwiXHJcbiAgICAgICAgICAgICAgW21lbnVJdGVtc109XCJpdGVtPy5hY3Rpb25NZW51c1wiXHJcbiAgICAgICAgICAgICAgKG1lbnVJdGVtQ2xpY2spPVwic2VsZWN0ZWRNZW51QWN0aW9uKCRldmVudCwgaXRlbSlcIlxyXG4gICAgICAgICAgICA+PC9pZWVlc2EtbWVudT5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbT8uc3ViSXRlbXNcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxyXG4gICAgICAgICAgICByZWN1cnNpdmVMaXN0O1xyXG4gICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiBpdGVtLnN1Ykl0ZW1zLFxyXG4gICAgICAgICAgICAgIGl0ZW1MZXZlbDogaXRlbUxldmVsICsgMVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICBcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L21hdC1saXN0PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -309,4 +309,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
309
309
  type: ViewChild,
310
310
  args: ['autocompleteTrigger']
311
311
  }] } });
312
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL211bHRpLXNlbGVjdC1hdXRvY29tcGxldGUvbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL211bHRpLXNlbGVjdC1hdXRvY29tcGxldGUvbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixnQ0FBZ0MsR0FFakMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFB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QXdCLHdJQUN4QixlQUFlLDBIQUNmLHFCQUFxQixvV0FDckIsY0FBYyx1dkJBQ2QsYUFBYSw4QkFDYixlQUFlLDJMQUNmLGlCQUFpQixnTEFDakIsY0FBYyw0NEJBQ2QsZ0JBQWdCLGdJQUNoQixzQkFBc0I7OzRGQWNiLGdDQUFnQztrQkE5QjVDLFNBQVM7K0JBQ0Usa0NBQWtDLGNBQ2hDLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixzQkFBc0I7cUJBQ3ZCLGFBQ1U7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGdDQUFnQzs0QkFDekMsUUFBUSxFQUFFO2dDQUNSLGlCQUFpQixFQUFFLGdEQUFnRDs2QkFDcEU7eUJBQ0Y7cUJBQ0YsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTt5R0FlakMsOEJBQThCO3NCQURqQyxLQUFLO2dCQWFJLGtDQUFrQztzQkFBM0MsTUFBTTtnQkFDRyx1Q0FBdUM7c0JBQWhELE1BQU07Z0JBRUcsc0NBQXNDO3NCQUEvQyxNQUFNO2dCQUcrQix1QkFBdUI7c0JBQTVELFNBQVM7dUJBQUMseUJBQXlCO2dCQUNGLFlBQVk7c0JBQTdDLFNBQVM7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ09NTUEsIEVOVEVSIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxyXG4gIE1BVF9BVVRPQ09NUExFVEVfREVGQVVMVF9PUFRJT05TLFxyXG4gIE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCwgZmlsdGVyLCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCAqIGFzIGF1dG9jb21wbGV0ZUNvbnN0SW5mbyBmcm9tICcuLi8uLi9hc3NldHMvY29uc3RhbnRzLmpzb24nO1xyXG5pbXBvcnQgeyBNYXRDaGlwSW5wdXRFdmVudCwgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLWNvbnRyb2wtdHlwZXMubW9kZWwnO1xyXG5pbXBvcnQgeyBGb3JtVXRpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb3JtLXV0aWxpdHkuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dG9Db21wbGV0ZU9wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9hdXRvY29tcGxldGUtb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgU2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlbGVjdC1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9maWVsZC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBGb3JtRmllbGQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS1maWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1FcnJvckNvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtU3VwcG9ydFRleHRDb21wb25lbnQgfSBmcm9tICcuLi9mb3JtLXN1cHBvcnQtdGV4dC9mb3JtLXN1cHBvcnQtdGV4dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IFRleHRUcnVuY2F0ZWREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3RleHQtdHJ1bmNhdGVkL3RleHQtdHJ1bmNhdGVkLmRpcmVjdGl2ZSc7XHJcbi8qKlxyXG4gKiBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudCBhbGxvd3MgdG8gc2VhcmNoIHRoZSBvcHRpb24ocykgZnJvbSB0aGUgbGlzdCBhbmQgc2VsZWN0IHRoZSBvcHRpb24ocykgZnJvbSB0aGUgYXV0b2NvbXBsZXRlIHNlYXJjaCByZXN1bHRzLlxyXG4gKiBAY2xhc3MgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICogQGltcGxlbWVudHMge09uSW5pdH1cclxuICogQGltcGxlbWVudHMge0Zvcm1GaWVsZH1cclxuICogQGltcGxlbWVudHMge09uRGVzdHJveX1cclxuICogQGltcGxlbWVudHMge0FmdGVyVmlld0luaXR9XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS1tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBGb3JtRXJyb3JDb21wb25lbnQsXHJcbiAgICBGb3JtU3VwcG9ydFRleHRDb21wb25lbnQsXHJcbiAgICBNYXRPcHRpb25Nb2R1bGUsXHJcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIE1hdENoaXBzTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIFRleHRUcnVuY2F0ZWREaXJlY3RpdmUsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTUFUX0FVVE9DT01QTEVURV9ERUZBVUxUX09QVElPTlMsXHJcbiAgICAgIHVzZVZhbHVlOiB7XHJcbiAgICAgICAgb3ZlcmxheVBhbmVsQ2xhc3M6ICdpZWVlc2EtbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS1vdmVybGF5LXBhbmVsJyxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25Jbml0LCBGb3JtRmllbGQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdFxyXG57XHJcbiAgc2VwYXJhdG9yS2V5c0NvZGVzOiBudW1iZXJbXSA9IFtFTlRFUiwgQ09NTUFdO1xyXG4gIGNvbmZpZyE6IEZpZWxkQ29uZmlnO1xyXG4gIGdyb3VwITogRm9ybUdyb3VwO1xyXG4gIHNlbGVjdGVkT3B0aW9uczogU2VsZWN0T3B0aW9uW10gPSBbXTtcclxuICBhdXRvQ29tcGxldGVPcHRpb25MaXN0ITogQXV0b0NvbXBsZXRlT3B0aW9uW107XHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgb3B0aW9ucyBmb3IgbXVsdGkgc2VsZWN0IGF1dG9jb21wbGV0ZS5cclxuICAgKiBAbWVtYmVyb2YgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBtdWx0aVNlbGVjdEF1dG9Db21wbGV0ZU9wdGlvbnModmFsdWU6IEF1dG9Db21wbGV0ZU9wdGlvbltdKSB7XHJcbiAgICB0aGlzLmF1dG9Db21wbGV0ZU9wdGlvbkxpc3QgPSB2YWx1ZTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgYXV0b2NvbXBsZXRlIG9wdGlvbnMgbGlzdC5cclxuICAgKiBAcmVhZG9ubHlcclxuICAgKiBAdHlwZSB7QXV0b0NvbXBsZXRlT3B0aW9uW119XHJcbiAgICogQG1lbWJlcm9mIE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0IG11bHRpU2VsZWN0QXV0b0NvbXBsZXRlT3B0aW9ucygpOiBBdXRvQ29tcGxldGVPcHRpb25bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5hdXRvQ29tcGxldGVPcHRpb25MaXN0O1xyXG4gIH1cclxuICBAT3V0cHV0KCkgbXVsdGlTZWxlY3RBdXRvQ29tcGxldGVTZWFyY2hWYWx1ZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBtdWx0aVNlbGVjdEF1dG9Db21wbGV0ZUNsZWFyU2VhcmNoVmFsdWUgPVxyXG4gICAgbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIG11bHRpU2VsZWN0QXV0b0NvbXBsZXRlT3B0aW9uc1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxcclxuICAgIEF1dG9Db21wbGV0ZU9wdGlvbltdXHJcbiAgPigpO1xyXG4gIEBWaWV3Q2hpbGQoJ211bHRpU2VsZWN0QXV0b0NvbXBsZXRlJykgbXVsdGlTZWxlY3RBdXRvQ29tcGxldGUhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2F1dG9jb21wbGV0ZVRyaWdnZXInKSBtYXRBQ1RyaWdnZXIhOiBNYXRBdXRvY29tcGxldGVUcmlnZ2VyO1xyXG4gIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGF1dG9jb21wbGV0ZUNvbnN0SW5mbzogYW55ID0gYXV0b2NvbXBsZXRlQ29uc3RJbmZvO1xyXG4gIHJlbW92ZUljb25VUkwgPVxyXG4gICAgdGhpcy5hdXRvY29tcGxldGVDb25zdEluZm8/Lm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlPy5pY29ucz8ucmVtb3ZlO1xyXG4gIGNsZWFyQWxsSWNvblVSTCA9XHJcbiAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbnN0SW5mbz8ubXVsdGlTZWxlY3RBdXRvQ29tcGxldGU/Lmljb25zPy5jbGVhckFsbDtcclxuICBjbGVhckFsbCA9XHJcbiAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbnN0SW5mbz8ubXVsdGlTZWxlY3RBdXRvQ29tcGxldGU/LmxhYmVsLmNsZWFyQWxsO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFycywgbm8tZW1wdHktZnVuY3Rpb25cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1VdGlsaXR5U2VydmljZTogRm9ybVV0aWxpdHlTZXJ2aWNlKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBJbXBsZW1lbnRhdGlvbiBvZiBuZ09uSW5pdCBsaWZlY3ljbGUgaG9vayBtZXRob2QgdG8gaW5pdGlhbGl6ZSBjb21wb25lbnRzIGluc3RhbmNlIHByb3BlcnRpZXMuXHJcbiAgICogQG1lbWJlcm9mIE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbmZpZyA9XHJcbiAgICAgIHRoaXMuY29uZmlnID8/XHJcbiAgICAgIHRoaXMuZm9ybVV0aWxpdHlTZXJ2aWNlLmdldEZvcm1GaWVsZENvbmZpZyhcclxuICAgICAgICAnbXVsdGlTZWxlY3RBdXRvY29tcGxldGUnLFxyXG4gICAgICAgIEZvcm1Db250cm9sVHlwZS5BVVRPX0NPTVBMRVRFXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmdyb3VwID1cclxuICAgICAgdGhpcy5ncm91cCA/P1xyXG4gICAgICB0aGlzLmZvcm1VdGlsaXR5U2VydmljZS5nZXRGb3JtR3JvdXAoJ211bHRpU2VsZWN0QXV0b2NvbXBsZXRlJyk7XHJcbiAgICB0aGlzLm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlT3B0aW9ucyA9XHJcbiAgICAgIHRoaXMuY29uZmlnPy5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZU9wdGlvbnMgPz9cclxuICAgICAgdGhpcy5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZU9wdGlvbnM7XHJcbiAgICBpZiAodGhpcy5jb25maWc/LnZhbHVlKSB0aGlzLnNlbGVjdGVkT3B0aW9ucyA9IHRoaXMuY29uZmlnPy52YWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemUgdGhlIGZvcm0gY29udHJvbCBjaGFuZ2UgZXZlbnQgb25jZSB0aGUgZm9ybSBjb250cm9sIGlzIHJlYWR5IG9uIG5nQWZ0ZXJWaWV3SW5pdCBieSBjYWxsaW5nIG9uVmFsdWVDaGFuZ2VzIG1ldGhvZC5cclxuICAgKiBAbWVtYmVyb2YgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICAgKi9cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdyb3VwPy5nZXQodGhpcy5jb25maWc/LmNvbnRyb2xOYW1lKT8uc2V0RXJyb3JzKG51bGwpO1xyXG4gICAgdGhpcy5vblZhbHVlQ2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdHMgYW4gbXVsdGlTZWxlY3RBdXRvQ29tcGxldGVTZWFyY2hWYWx1ZSBjaGFuZ2UgZXZlbnQgd2hlbiB0aGUgdmFsdWUgaXMgY2hhbmdlZCBhbmQgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIG1pbkNoYXJUb1NlYXJjaCBvciBlcXVhbCB0byB6ZXJvLlxyXG4gICAqIEBtZW1iZXJvZiBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uVmFsdWVDaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgZnJvbUV2ZW50KHRoaXMubXVsdGlTZWxlY3RBdXRvQ29tcGxldGU/Lm5hdGl2ZUVsZW1lbnQsICdrZXl1cCcpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICAgIG1hcCgoZXZlbnQ6IGFueSkgPT4gZXZlbnQ/LnRhcmdldD8udmFsdWUpLFxyXG4gICAgICAgIGZpbHRlcihcclxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgICAgICAocmVzOiBhbnkpID0+XHJcbiAgICAgICAgICAgIHJlcz8ubGVuZ3RoIDxcclxuICAgICAgICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbnN0SW5mbz8uYXV0b2NvbXBsZXRlPy5taW5DaGFyVG9TZWFyY2ggJiZcclxuICAgICAgICAgICAgcmVzPy5sZW5ndGggIT09IDBcclxuICAgICAgICApLFxyXG4gICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmF1dG9jb21wbGV0ZUNvbnN0SW5mbz8uYXV0b2NvbXBsZXRlPy5kZWJvdW5jZVRpbWUpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgodGV4dDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgaWYgKHRleHQgPT09ICcnKSB0aGlzLmhhbmRsZUZpZWxkRXJyb3IoKTtcclxuICAgICAgICB0aGlzLm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZS5lbWl0KHRleHQpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLmdyb3VwPy5jb250cm9sc1t0aGlzLmNvbmZpZz8uY29udHJvbE5hbWVdPy52YWx1ZUNoYW5nZXNcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxyXG4gICAgICAgIGZpbHRlcihcclxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgICAgICAocmVzOiBhbnkpID0+XHJcbiAgICAgICAgICAgIHJlcz8ubGVuZ3RoID49XHJcbiAgICAgICAgICAgICAgdGhpcy5hdXRvY29tcGxldGVDb25zdEluZm8/LmF1dG9jb21wbGV0ZT8ubWluQ2hhclRvU2VhcmNoIHx8XHJcbiAgICAgICAgICAgIHJlcz8ubGVuZ3RoID09PSAwXHJcbiAgICAgICAgKSxcclxuICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5hdXRvY29tcGxldGVDb25zdEluZm8/LmF1dG9jb21wbGV0ZT8uZGVib3VuY2VUaW1lKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHRleHQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIHRoaXMubXVsdGlTZWxlY3RBdXRvQ29tcGxldGVTZWFyY2hWYWx1ZS5lbWl0KHRleHQpO1xyXG4gICAgICAgIGlmICh0ZXh0ID09PSAnJykgdGhpcy5oYW5kbGVGaWVsZEVycm9yKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBmaWVsZCBlcnJvciBieSBzZXR0aW5nIHRoZSBhcHByb3ByaWF0ZSBmb3JtIGNvbnRyb2wgZXJyb3JzLlxyXG4gICAqIEBtZW1iZXJvZiBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGhhbmRsZUZpZWxkRXJyb3IoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbnM/Lmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmdyb3VwPy5nZXQodGhpcy5jb25maWc/LmNvbnRyb2xOYW1lKT8uc2V0RXJyb3JzKHtcclxuICAgICAgICByZXF1aXJlZDogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcyBhIG5ld2x5IGVudGVyZWQgb3B0aW9uIHRvIHRoZSBzZWxlY3RlZE9wdGlvbnMgYXJyYXkuXHJcbiAgICogQHBhcmFtIHsqfSBldmVudCAtVGhlIGV2ZW50IGNvbnRhaW5pbmcgdGhlIGlucHV0IGFuZCB2YWx1ZS5cclxuICAgKiBAbWVtYmVyb2YgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICAgKi9cclxuICBhZGQoZXZlbnQ6IE1hdENoaXBJbnB1dEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hdXRvQ29tcGxldGVPcHRpb25MaXN0Lmxlbmd0aCkgcmV0dXJuO1xyXG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZ3JvdXA/LmdldCh0aGlzLmNvbmZpZz8uY29udHJvbE5hbWUpO1xyXG4gICAgY29uc3QgaW5wdXQgPSBldmVudD8uY2hpcElucHV0Py5pbnB1dEVsZW1lbnQ7XHJcbiAgICBjb25zdCB2YWx1ZSA9IChldmVudD8udmFsdWUgfHwgJycpLnRyaW0oKTtcclxuICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDApIHJldHVybjtcclxuICAgIGNvbnN0IG1pbkxlbmd0aCA9IGNvbnRyb2w/LmVycm9ycz8uWydtaW5sZW5ndGgnXT8ucmVxdWlyZWRMZW5ndGg7XHJcbiAgICBjb25zdCBtYXhMZW5ndGggPSBjb250cm9sPy5lcnJvcnM/LlsnbWF4bGVuZ3RoJ10/LnJlcXVpcmVkTGVuZ3RoO1xyXG4gICAgaWYgKFxyXG4gICAgICAodmFsdWUubGVuZ3RoID49IG1pbkxlbmd0aCAmJiB2YWx1ZS5sZW5ndGggPD0gbWF4TGVuZ3RoKSB8fFxyXG4gICAgICAobWluTGVuZ3RoID09PSB1bmRlZmluZWQgJiYgbWF4TGVuZ3RoID09PSB1bmRlZmluZWQpXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMucHVzaCh7IGlkOiAnJywgbmFtZTogdmFsdWUgfSk7XHJcbiAgICAgIGlmIChpbnB1dCkgaW5wdXQudmFsdWUgPSAnJztcclxuICAgICAgdGhpcy5mb3JtYXRTZWxlY3RlZE9wdGlvbih0aGlzLnNlbGVjdGVkT3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmVzIGEgc2VsZWN0ZWQgb3B0aW9uIGZyb20gdGhlIHNlbGVjdGVkT3B0aW9ucyBhcnJheS5cclxuICAgKiBAcGFyYW0ge1NlbGVjdE9wdGlvbn0gcmVtb3ZlZE9wdGlvbiAtVGhlIG9wdGlvbiB0byByZW1vdmUuXHJcbiAgICogQG1lbWJlcm9mIE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25PcHRpb25SZW1vdmVkKHJlbW92ZWRPcHRpb246IFNlbGVjdE9wdGlvbik6IHZvaWQge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnNlbGVjdGVkT3B0aW9ucz8uZmluZEluZGV4KFxyXG4gICAgICAob3B0aW9uOiBTZWxlY3RPcHRpb24pID0+IG9wdGlvbi5pZCA9PT0gcmVtb3ZlZE9wdGlvbi5pZFxyXG4gICAgKTtcclxuICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zPy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRPcHRpb25zPy5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5ncm91cC52YWx1ZVt0aGlzLmNvbmZpZz8uY29udHJvbE5hbWVdID0gJyc7XHJcbiAgICAgIHRoaXMuZ3JvdXA/LmNvbnRyb2xzW3RoaXMuY29uZmlnPy5jb250cm9sTmFtZV0uc2V0VmFsdWUoJycpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucyA9IFtdO1xyXG4gICAgICB0aGlzLmF1dG9Db21wbGV0ZU9wdGlvbkxpc3QgPSBbXTtcclxuICAgICAgdGhpcy5oYW5kbGVGaWVsZEVycm9yKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1hdFNlbGVjdGVkT3B0aW9uKHRoaXMuc2VsZWN0ZWRPcHRpb25zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgdGhlIHNlbGVjdGlvbiBvZiBhbiBhdXRvY29tcGxldGUgb3B0aW9uLlxyXG4gICAqIEBwYXJhbSB7QXV0b0NvbXBsZXRlT3B0aW9ufSBvcHRpb24gIC1UaGUgc2VsZWN0ZWQgYXV0b2NvbXBsZXRlIG9wdGlvbi5cclxuICAgKiBAcmV0dXJuIHtBdXRvQ29tcGxldGVPcHRpb259XHJcbiAgICogQG1lbWJlcm9mIE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBvbkNoYW5nZShvcHRpb246IGFueSk6IEF1dG9Db21wbGV0ZU9wdGlvbiB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IG9wdGlvbj8udmFsdWU7XHJcbiAgICBpZiAodGhpcy5pc0NoZWNrYm94U2VsZWN0ZWQodmFsdWUpKSB7XHJcbiAgICAgIHRoaXMub25PcHRpb25SZW1vdmVkKHZhbHVlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zLnB1c2godmFsdWUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtYXRTZWxlY3RlZE9wdGlvbih0aGlzLnNlbGVjdGVkT3B0aW9ucyk7XHJcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xyXG4gICAgICB0aGlzLm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZvcm1hdHMgdGhlIHNlbGVjdGVkIG9wdGlvbnMgYW5kIGVtaXRzIHRoZSBtdWx0aVNlbGVjdEF1dG9Db21wbGV0ZU9wdGlvblNlbGVjdGVkIGV2ZW50LlxyXG4gICAqIEBwYXJhbSB7U2VsZWN0T3B0aW9uW119IHNlbGVjdGVkT3B0aW9ucyAtQXJyYXkgb2Ygc2VsZWN0ZWQgb3B0aW9ucy5cclxuICAgKiBAbWVtYmVyb2YgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICAgKi9cclxuICBmb3JtYXRTZWxlY3RlZE9wdGlvbihzZWxlY3RlZE9wdGlvbnM6IFNlbGVjdE9wdGlvbltdKSB7XHJcbiAgICBjb25zdCBmb3JtYXR0ZWRPcHRpb25zID0gc2VsZWN0ZWRPcHRpb25zPy5tYXAoKG9wdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGlkOiBvcHRpb24uaWQsXHJcbiAgICAgICAgbmFtZTogb3B0aW9uLm5hbWUsXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICAgIHRoaXMubXVsdGlTZWxlY3RBdXRvQ29tcGxldGVPcHRpb25zU2VsZWN0ZWQ/LmVtaXQoZm9ybWF0dGVkT3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBEaXNwbGF5cyB0aGUgbmFtZSBvZiB0aGUgb3B0aW9uXHJcbiAgICogQHBhcmFtIHtBdXRvQ29tcGxldGVPcHRpb259IG9wdGlvblxyXG4gICAqIEByZXR1cm4geyp9ICB7c3RyaW5nfVxyXG4gICAqIEBtZW1iZXJvZiBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGRpc3BsYXlPcHRpb25OYW1lKG9wdGlvbjogQXV0b0NvbXBsZXRlT3B0aW9uKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBvcHRpb24/Lm5hbWUgPyBvcHRpb24ubmFtZSA6ICcnO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVHJhY2tzIHRoZSBvcHRpb24gYnkgaXRzIGluZGV4IG9yIGlkLlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxyXG4gICAqIEBwYXJhbSB7U2VsZWN0T3B0aW9ufSBvcHRpb25cclxuICAgKiBAcmV0dXJuIHsqfSAgeyhudW1iZXIgfCBzdHJpbmcpfVxyXG4gICAqIEBtZW1iZXJvZiBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyLCBvcHRpb246IFNlbGVjdE9wdGlvbik6IG51bWJlciB8IHN0cmluZyB7XHJcbiAgICByZXR1cm4gb3B0aW9uLmlkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2tzIGlmIHRoZSBjaGVja2JveCBpcyBzZWxlY3RlZC5cclxuICAgKiBAcGFyYW0ge0F1dG9Db21wbGV0ZU9wdGlvbn0gb3B0aW9uXHJcbiAgICogQHJldHVybiB7Kn0gIHtib29sZWFufVxyXG4gICAqIEBtZW1iZXJvZiBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGlzQ2hlY2tib3hTZWxlY3RlZChvcHRpb246IEF1dG9Db21wbGV0ZU9wdGlvbik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRPcHRpb25zPy5zb21lKChpdGVtKSA9PiBpdGVtLmlkID09PSBvcHRpb24uaWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2xlYXJzIGFsbCBzZWxlY3RlZCBvcHRpb25zLlxyXG4gICAqIEBtZW1iZXJvZiBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGNsZWFyU2VsZWN0aW9ucygpOiB2b2lkIHtcclxuICAgIHRoaXMuZ3JvdXAudmFsdWVbdGhpcy5jb25maWc/LmNvbnRyb2xOYW1lXSA9ICcnO1xyXG4gICAgdGhpcy5ncm91cD8uY29udHJvbHNbdGhpcy5jb25maWc/LmNvbnRyb2xOYW1lXS5zZXRWYWx1ZSgnJyk7XHJcbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucyA9IFtdO1xyXG4gICAgdGhpcy5hdXRvQ29tcGxldGVPcHRpb25MaXN0ID0gW107XHJcbiAgICB0aGlzLmZvcm1hdFNlbGVjdGVkT3B0aW9uKHRoaXMuc2VsZWN0ZWRPcHRpb25zKTtcclxuICAgIHRoaXMuaGFuZGxlRmllbGRFcnJvcigpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW1wbGVtZW50YXRpb24gb2YgbmdPbkRlc3Ryb3kgbGlmZWN5Y2xlIGhvb2sgbWV0aG9kIHRvIHVuc3Vic2NyaWJlIHRoZSBvcGVuIG9ic2VydmFibGUgc3Vic2NyaXB0aW9ucy5cclxuICAgKiBAbWVtYmVyb2YgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwiaWVlZXNhLW11bHRpLXNlbGVjdC1hdXRvY29tcGxldGVcIlxyXG4gIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxyXG4gICpuZ0lmPVwiZ3JvdXBcIlxyXG4gIFtuZ0NsYXNzXT1cIlxyXG4gICAgY29uZmlnLmlzTGFiZWxBbGlnbmVkTGVmdFxyXG4gICAgICA/ICdpZWVlc2EtbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS1maWVsZF9fbGFiZWwtbGVmdCdcclxuICAgICAgOiAnaWVlZXNhLW11bHRpLXNlbGVjdC1hdXRvY29tcGxldGUtZmllbGRfX2xhYmVsLXRvcCdcclxuICBcIlxyXG4+XHJcbiAgPG1hdC1sYWJlbCBjbGFzcz1cImllZWVzYS1ib2R5LXNtLTE0IGllZWVzYS1tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlX19sYWJlbFwiXHJcbiAgICA+e3sgY29uZmlnLmxhYmVsIH19PC9tYXQtbGFiZWxcclxuICA+XHJcbiAgPG1hdC1mb3JtLWZpZWxkXHJcbiAgICBjbGFzcz1cImllZWVzYS1tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlX19tYXQtZm9ybS1maWVsZFwiXHJcbiAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXHJcbiAgPlxyXG4gICAgPG1hdC1jaGlwLWdyaWRcclxuICAgICAgI2NoaXBHcmlkXHJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXV0b2NvbXBsZXRlQ29uc3RJbmZvPy5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZT8uYXJpYUxhYmVsPy5zZWxlY3RlZE9wdGlvbnNcIlxyXG4gICAgPlxyXG4gICAgICA8bWF0LWNoaXAtcm93XHJcbiAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBzZWxlY3RlZE9wdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlGblwiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJvcHRpb24/Lm5hbWVcIlxyXG4gICAgICAgIFtyZW1vdmFibGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgKHJlbW92ZWQpPVwib25PcHRpb25SZW1vdmVkKG9wdGlvbilcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPHBcclxuICAgICAgICAgIGllZWVzYVRleHRUcnVuY2F0ZWRcclxuICAgICAgICAgIFttYXRUb29sdGlwXT1cIm9wdGlvbi5uYW1lXCJcclxuICAgICAgICAgIGNsYXNzPVwiaWVlZXNhLWxhYmVsLWxnLWJvbGQtMTYgbS0wXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxyXG4gICAgICAgIDwvcD5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICBtYXRDaGlwUmVtb3ZlXHJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImF1dG9jb21wbGV0ZUNvbnN0SW5mbz8ubXVsdGlTZWxlY3RBdXRvQ29tcGxldGU/LmFyaWFMYWJlbD8ucmVtb3ZlT3B0aW9uICsgb3B0aW9uLm5hbWVcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzdmcgY2xhc3M9XCJpZWVlc2EtY2hpcF9fc3ZnLWF2YXRhclwiIG1hdENoaXBBdmF0YXI+XHJcbiAgICAgICAgICAgIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCJyZW1vdmVJY29uVVJMXCI+PC91c2U+XHJcbiAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9tYXQtY2hpcC1yb3c+XHJcbiAgICA8L21hdC1jaGlwLWdyaWQ+XHJcbiAgICA8aW5wdXRcclxuICAgICAgbWF0SW5wdXRcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZV9faW5wdXQgaWVlZXNhLXRpdGxlLXNtLTE2XCJcclxuICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJtYXRBdXRvY29tcGxldGVcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiY29uZmlnLnBsYWNlaG9sZGVyID8/ICcnXCJcclxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjb25maWcuY29udHJvbE5hbWVcIlxyXG4gICAgICBbbmFtZV09XCJjb25maWcuY29udHJvbE5hbWVcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbmZpZy5hcmlhTGFiZWxcIlxyXG4gICAgICBbYXJpYS1kZXNjcmliZWRieV09XCJjb25maWcuYXJpYURlc2NyaWJlZEJ5SWQgPz8gJydcIlxyXG4gICAgICAjbXVsdGlTZWxlY3RBdXRvQ29tcGxldGVcclxuICAgICAgW21hdENoaXBJbnB1dFNlcGFyYXRvcktleUNvZGVzXT1cInNlcGFyYXRvcktleXNDb2Rlc1wiXHJcbiAgICAgIChtYXRDaGlwSW5wdXRUb2tlbkVuZCk9XCJhZGQoJGV2ZW50KVwiXHJcbiAgICAgIFttYXRDaGlwSW5wdXRGb3JdPVwiY2hpcEdyaWRcIlxyXG4gICAgLz5cclxuICAgIDxtYXQtYXV0b2NvbXBsZXRlXHJcbiAgICAgICNtYXRBdXRvY29tcGxldGU9XCJtYXRBdXRvY29tcGxldGVcIlxyXG4gICAgICAob3B0aW9uU2VsZWN0ZWQpPVwib25DaGFuZ2UoJGV2ZW50Lm9wdGlvbilcIlxyXG4gICAgICBbZGlzcGxheVdpdGhdPVwiZGlzcGxheU9wdGlvbk5hbWVcIlxyXG4gICAgICBjbGFzcz1cImllZWVzYS1tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlX19hdXRvY29tcGxldGUtbGlzdFwiXHJcbiAgICA+XHJcbiAgICAgIDxtYXQtb3B0aW9uXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBhdXRvQ29tcGxldGVPcHRpb25MaXN0OyB0cmFja0J5OiB0cmFja0J5Rm5cIlxyXG4gICAgICAgIFt2YWx1ZV09XCJvcHRpb25cIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG1hdC1jaGVja2JveCBjb2xvcj1cInByaW1hcnlcIiBbY2hlY2tlZF09XCJpc0NoZWNrYm94U2VsZWN0ZWQob3B0aW9uKVwiPlxyXG4gICAgICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gICAgICAgIHt7IG9wdGlvbi5uYW1lIH19XHJcbiAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cclxuICAgIDxidXR0b25cclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIG1hdFN1ZmZpeFxyXG4gICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgW21hdFRvb2x0aXBdPVwiY2xlYXJBbGxcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImF1dG9jb21wbGV0ZUNvbnN0SW5mby5hcmlhTGFiZWwuY2xlYXJcIlxyXG4gICAgICAqbmdJZj1cInNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPiAwXCJcclxuICAgICAgKGNsaWNrKT1cImNsZWFyU2VsZWN0aW9ucygpXCJcclxuICAgID5cclxuICAgICAgPHN2ZyBjbGFzcz1cImllZWVzYS1tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlX19zdmctY2xlYXItYWxsXCI+XHJcbiAgICAgICAgPHVzZSBbYXR0ci54bGluazpocmVmXT1cImNsZWFyQWxsSWNvblVSTFwiPjwvdXNlPlxyXG4gICAgICA8L3N2Zz5cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPGllZWVzYS1mb3JtLWVycm9yIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIiBbY29uZmlnXT1cImNvbmZpZ1wiPiA8L2llZWVzYS1mb3JtLWVycm9yPlxyXG4gIDxpZWVlc2EtZm9ybS1zdXBwb3J0LXRleHRcclxuICAgIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxyXG4gICAgW2NvbmZpZ109XCJjb25maWdcIlxyXG4gID48L2llZWVzYS1mb3JtLXN1cHBvcnQtdGV4dD5cclxuPC9kaXY+XHJcbiJdfQ==
312
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL211bHRpLXNlbGVjdC1hdXRvY29tcGxldGUvbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL211bHRpLXNlbGVjdC1hdXRvY29tcGxldGUvbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFFTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixnQ0FBZ0MsR0FFakMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFB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QXdCLHdJQUN4QixlQUFlLDBIQUNmLHFCQUFxQixvV0FDckIsY0FBYyx1dkJBQ2QsYUFBYSw4QkFDYixlQUFlLDJMQUNmLGlCQUFpQixnTEFDakIsY0FBYyw0NEJBQ2QsZ0JBQWdCLGdJQUNoQixzQkFBc0I7OzRGQWNiLGdDQUFnQztrQkE5QjVDLFNBQVM7K0JBQ0Usa0NBQWtDLGNBQ2hDLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixzQkFBc0I7cUJBQ3ZCLGFBQ1U7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGdDQUFnQzs0QkFDekMsUUFBUSxFQUFFO2dDQUNSLGlCQUFpQixFQUFFLGdEQUFnRDs2QkFDcEU7eUJBQ0Y7cUJBQ0YsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTt5R0FlakMsOEJBQThCO3NCQURqQyxLQUFLO2dCQWFJLGtDQUFrQztzQkFBM0MsTUFBTTtnQkFDRyx1Q0FBdUM7c0JBQWhELE1BQU07Z0JBRUcsc0NBQXNDO3NCQUEvQyxNQUFNO2dCQUcrQix1QkFBdUI7c0JBQTVELFNBQVM7dUJBQUMseUJBQXlCO2dCQUNGLFlBQVk7c0JBQTdDLFNBQVM7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ09NTUEsIEVOVEVSIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxyXG4gIE1BVF9BVVRPQ09NUExFVEVfREVGQVVMVF9PUFRJT05TLFxyXG4gIE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCwgZmlsdGVyLCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCAqIGFzIGF1dG9jb21wbGV0ZUNvbnN0SW5mbyBmcm9tICcuLi8uLi9hc3NldHMvY29uc3RhbnRzLmpzb24nO1xyXG5pbXBvcnQgeyBNYXRDaGlwSW5wdXRFdmVudCwgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLWNvbnRyb2wtdHlwZXMubW9kZWwnO1xyXG5pbXBvcnQgeyBGb3JtVXRpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb3JtLXV0aWxpdHkuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dG9Db21wbGV0ZU9wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9hdXRvY29tcGxldGUtb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgU2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlbGVjdC1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9maWVsZC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBGb3JtRmllbGQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS1maWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1FcnJvckNvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtU3VwcG9ydFRleHRDb21wb25lbnQgfSBmcm9tICcuLi9mb3JtLXN1cHBvcnQtdGV4dC9mb3JtLXN1cHBvcnQtdGV4dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IFRleHRUcnVuY2F0ZWREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3RleHQtdHJ1bmNhdGVkL3RleHQtdHJ1bmNhdGVkLmRpcmVjdGl2ZSc7XHJcbi8qKlxyXG4gKiBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudCBhbGxvd3MgdG8gc2VhcmNoIHRoZSBvcHRpb24ocykgZnJvbSB0aGUgbGlzdCBhbmQgc2VsZWN0IHRoZSBvcHRpb24ocykgZnJvbSB0aGUgYXV0b2NvbXBsZXRlIHNlYXJjaCByZXN1bHRzLlxyXG4gKiBAY2xhc3MgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICogQGltcGxlbWVudHMge09uSW5pdH1cclxuICogQGltcGxlbWVudHMge0Zvcm1GaWVsZH1cclxuICogQGltcGxlbWVudHMge09uRGVzdHJveX1cclxuICogQGltcGxlbWVudHMge0FmdGVyVmlld0luaXR9XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS1tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBGb3JtRXJyb3JDb21wb25lbnQsXHJcbiAgICBGb3JtU3VwcG9ydFRleHRDb21wb25lbnQsXHJcbiAgICBNYXRPcHRpb25Nb2R1bGUsXHJcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIE1hdENoaXBzTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIFRleHRUcnVuY2F0ZWREaXJlY3RpdmUsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTUFUX0FVVE9DT01QTEVURV9ERUZBVUxUX09QVElPTlMsXHJcbiAgICAgIHVzZVZhbHVlOiB7XHJcbiAgICAgICAgb3ZlcmxheVBhbmVsQ2xhc3M6ICdpZWVlc2EtbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS1vdmVybGF5LXBhbmVsJyxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25Jbml0LCBGb3JtRmllbGQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdFxyXG57XHJcbiAgc2VwYXJhdG9yS2V5c0NvZGVzOiBudW1iZXJbXSA9IFtFTlRFUiwgQ09NTUFdO1xyXG4gIGNvbmZpZyE6IEZpZWxkQ29uZmlnO1xyXG4gIGdyb3VwITogRm9ybUdyb3VwO1xyXG4gIHNlbGVjdGVkT3B0aW9uczogU2VsZWN0T3B0aW9uW10gPSBbXTtcclxuICBhdXRvQ29tcGxldGVPcHRpb25MaXN0ITogQXV0b0NvbXBsZXRlT3B0aW9uW107XHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgb3B0aW9ucyBmb3IgbXVsdGkgc2VsZWN0IGF1dG9jb21wbGV0ZS5cclxuICAgKiBAbWVtYmVyb2YgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBtdWx0aVNlbGVjdEF1dG9Db21wbGV0ZU9wdGlvbnModmFsdWU6IEF1dG9Db21wbGV0ZU9wdGlvbltdKSB7XHJcbiAgICB0aGlzLmF1dG9Db21wbGV0ZU9wdGlvbkxpc3QgPSB2YWx1ZTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgYXV0b2NvbXBsZXRlIG9wdGlvbnMgbGlzdC5cclxuICAgKiBAcmVhZG9ubHlcclxuICAgKiBAdHlwZSB7QXV0b0NvbXBsZXRlT3B0aW9uW119XHJcbiAgICogQG1lbWJlcm9mIE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0IG11bHRpU2VsZWN0QXV0b0NvbXBsZXRlT3B0aW9ucygpOiBBdXRvQ29tcGxldGVPcHRpb25bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5hdXRvQ29tcGxldGVPcHRpb25MaXN0O1xyXG4gIH1cclxuICBAT3V0cHV0KCkgbXVsdGlTZWxlY3RBdXRvQ29tcGxldGVTZWFyY2hWYWx1ZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBtdWx0aVNlbGVjdEF1dG9Db21wbGV0ZUNsZWFyU2VhcmNoVmFsdWUgPVxyXG4gICAgbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIG11bHRpU2VsZWN0QXV0b0NvbXBsZXRlT3B0aW9uc1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxcclxuICAgIEF1dG9Db21wbGV0ZU9wdGlvbltdXHJcbiAgPigpO1xyXG4gIEBWaWV3Q2hpbGQoJ211bHRpU2VsZWN0QXV0b0NvbXBsZXRlJykgbXVsdGlTZWxlY3RBdXRvQ29tcGxldGUhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2F1dG9jb21wbGV0ZVRyaWdnZXInKSBtYXRBQ1RyaWdnZXIhOiBNYXRBdXRvY29tcGxldGVUcmlnZ2VyO1xyXG4gIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGF1dG9jb21wbGV0ZUNvbnN0SW5mbzogYW55ID0gYXV0b2NvbXBsZXRlQ29uc3RJbmZvO1xyXG4gIHJlbW92ZUljb25VUkwgPVxyXG4gICAgdGhpcy5hdXRvY29tcGxldGVDb25zdEluZm8/Lm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlPy5pY29ucz8ucmVtb3ZlO1xyXG4gIGNsZWFyQWxsSWNvblVSTCA9XHJcbiAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbnN0SW5mbz8ubXVsdGlTZWxlY3RBdXRvQ29tcGxldGU/Lmljb25zPy5jbGVhckFsbDtcclxuICBjbGVhckFsbCA9XHJcbiAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbnN0SW5mbz8ubXVsdGlTZWxlY3RBdXRvQ29tcGxldGU/LmxhYmVsLmNsZWFyQWxsO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFycywgbm8tZW1wdHktZnVuY3Rpb25cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZvcm1VdGlsaXR5U2VydmljZTogRm9ybVV0aWxpdHlTZXJ2aWNlKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBJbXBsZW1lbnRhdGlvbiBvZiBuZ09uSW5pdCBsaWZlY3ljbGUgaG9vayBtZXRob2QgdG8gaW5pdGlhbGl6ZSBjb21wb25lbnRzIGluc3RhbmNlIHByb3BlcnRpZXMuXHJcbiAgICogQG1lbWJlcm9mIE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbmZpZyA9XHJcbiAgICAgIHRoaXMuY29uZmlnID8/XHJcbiAgICAgIHRoaXMuZm9ybVV0aWxpdHlTZXJ2aWNlLmdldEZvcm1GaWVsZENvbmZpZyhcclxuICAgICAgICAnbXVsdGlTZWxlY3RBdXRvY29tcGxldGUnLFxyXG4gICAgICAgIEZvcm1Db250cm9sVHlwZS5BVVRPX0NPTVBMRVRFXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmdyb3VwID1cclxuICAgICAgdGhpcy5ncm91cCA/P1xyXG4gICAgICB0aGlzLmZvcm1VdGlsaXR5U2VydmljZS5nZXRGb3JtR3JvdXAoJ211bHRpU2VsZWN0QXV0b2NvbXBsZXRlJyk7XHJcbiAgICB0aGlzLm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlT3B0aW9ucyA9XHJcbiAgICAgIHRoaXMuY29uZmlnPy5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZU9wdGlvbnMgPz9cclxuICAgICAgdGhpcy5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZU9wdGlvbnM7XHJcbiAgICBpZiAodGhpcy5jb25maWc/LnZhbHVlKSB0aGlzLnNlbGVjdGVkT3B0aW9ucyA9IHRoaXMuY29uZmlnPy52YWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemUgdGhlIGZvcm0gY29udHJvbCBjaGFuZ2UgZXZlbnQgb25jZSB0aGUgZm9ybSBjb250cm9sIGlzIHJlYWR5IG9uIG5nQWZ0ZXJWaWV3SW5pdCBieSBjYWxsaW5nIG9uVmFsdWVDaGFuZ2VzIG1ldGhvZC5cclxuICAgKiBAbWVtYmVyb2YgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICAgKi9cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdyb3VwPy5nZXQodGhpcy5jb25maWc/LmNvbnRyb2xOYW1lKT8uc2V0RXJyb3JzKG51bGwpO1xyXG4gICAgdGhpcy5vblZhbHVlQ2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdHMgYW4gbXVsdGlTZWxlY3RBdXRvQ29tcGxldGVTZWFyY2hWYWx1ZSBjaGFuZ2UgZXZlbnQgd2hlbiB0aGUgdmFsdWUgaXMgY2hhbmdlZCBhbmQgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIG1pbkNoYXJUb1NlYXJjaCBvciBlcXVhbCB0byB6ZXJvLlxyXG4gICAqIEBtZW1iZXJvZiBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uVmFsdWVDaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgZnJvbUV2ZW50KHRoaXMubXVsdGlTZWxlY3RBdXRvQ29tcGxldGU/Lm5hdGl2ZUVsZW1lbnQsICdrZXl1cCcpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICAgIG1hcCgoZXZlbnQ6IGFueSkgPT4gZXZlbnQ/LnRhcmdldD8udmFsdWUpLFxyXG4gICAgICAgIGZpbHRlcihcclxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgICAgICAocmVzOiBhbnkpID0+XHJcbiAgICAgICAgICAgIHJlcz8ubGVuZ3RoIDxcclxuICAgICAgICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbnN0SW5mbz8uYXV0b2NvbXBsZXRlPy5taW5DaGFyVG9TZWFyY2ggJiZcclxuICAgICAgICAgICAgcmVzPy5sZW5ndGggIT09IDBcclxuICAgICAgICApLFxyXG4gICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmF1dG9jb21wbGV0ZUNvbnN0SW5mbz8uYXV0b2NvbXBsZXRlPy5kZWJvdW5jZVRpbWUpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgodGV4dDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgaWYgKHRleHQgPT09ICcnKSB0aGlzLmhhbmRsZUZpZWxkRXJyb3IoKTtcclxuICAgICAgICB0aGlzLm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZS5lbWl0KHRleHQpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLmdyb3VwPy5jb250cm9sc1t0aGlzLmNvbmZpZz8uY29udHJvbE5hbWVdPy52YWx1ZUNoYW5nZXNcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxyXG4gICAgICAgIGZpbHRlcihcclxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgICAgICAocmVzOiBhbnkpID0+XHJcbiAgICAgICAgICAgIHJlcz8ubGVuZ3RoID49XHJcbiAgICAgICAgICAgICAgdGhpcy5hdXRvY29tcGxldGVDb25zdEluZm8/LmF1dG9jb21wbGV0ZT8ubWluQ2hhclRvU2VhcmNoIHx8XHJcbiAgICAgICAgICAgIHJlcz8ubGVuZ3RoID09PSAwXHJcbiAgICAgICAgKSxcclxuICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5hdXRvY29tcGxldGVDb25zdEluZm8/LmF1dG9jb21wbGV0ZT8uZGVib3VuY2VUaW1lKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHRleHQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIHRoaXMubXVsdGlTZWxlY3RBdXRvQ29tcGxldGVTZWFyY2hWYWx1ZS5lbWl0KHRleHQpO1xyXG4gICAgICAgIGlmICh0ZXh0ID09PSAnJykgdGhpcy5oYW5kbGVGaWVsZEVycm9yKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBmaWVsZCBlcnJvciBieSBzZXR0aW5nIHRoZSBhcHByb3ByaWF0ZSBmb3JtIGNvbnRyb2wgZXJyb3JzLlxyXG4gICAqIEBtZW1iZXJvZiBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGhhbmRsZUZpZWxkRXJyb3IoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbnM/Lmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmdyb3VwPy5nZXQodGhpcy5jb25maWc/LmNvbnRyb2xOYW1lKT8uc2V0RXJyb3JzKHtcclxuICAgICAgICByZXF1aXJlZDogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQWRkcyBhIG5ld2x5IGVudGVyZWQgb3B0aW9uIHRvIHRoZSBzZWxlY3RlZE9wdGlvbnMgYXJyYXkuXHJcbiAgICogQHBhcmFtIHsqfSBldmVudCAtVGhlIGV2ZW50IGNvbnRhaW5pbmcgdGhlIGlucHV0IGFuZCB2YWx1ZS5cclxuICAgKiBAbWVtYmVyb2YgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICAgKi9cclxuICBhZGQoZXZlbnQ6IE1hdENoaXBJbnB1dEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hdXRvQ29tcGxldGVPcHRpb25MaXN0Lmxlbmd0aCkgcmV0dXJuO1xyXG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZ3JvdXA/LmdldCh0aGlzLmNvbmZpZz8uY29udHJvbE5hbWUpO1xyXG4gICAgY29uc3QgaW5wdXQgPSBldmVudD8uY2hpcElucHV0Py5pbnB1dEVsZW1lbnQ7XHJcbiAgICBjb25zdCB2YWx1ZSA9IChldmVudD8udmFsdWUgfHwgJycpLnRyaW0oKTtcclxuICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDApIHJldHVybjtcclxuICAgIGNvbnN0IG1pbkxlbmd0aCA9IGNvbnRyb2w/LmVycm9ycz8uWydtaW5sZW5ndGgnXT8ucmVxdWlyZWRMZW5ndGg7XHJcbiAgICBjb25zdCBtYXhMZW5ndGggPSBjb250cm9sPy5lcnJvcnM/LlsnbWF4bGVuZ3RoJ10/LnJlcXVpcmVkTGVuZ3RoO1xyXG4gICAgaWYgKFxyXG4gICAgICAodmFsdWUubGVuZ3RoID49IG1pbkxlbmd0aCAmJiB2YWx1ZS5sZW5ndGggPD0gbWF4TGVuZ3RoKSB8fFxyXG4gICAgICAobWluTGVuZ3RoID09PSB1bmRlZmluZWQgJiYgbWF4TGVuZ3RoID09PSB1bmRlZmluZWQpXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMucHVzaCh7IGlkOiAnJywgbmFtZTogdmFsdWUgfSk7XHJcbiAgICAgIGlmIChpbnB1dCkgaW5wdXQudmFsdWUgPSAnJztcclxuICAgICAgdGhpcy5mb3JtYXRTZWxlY3RlZE9wdGlvbih0aGlzLnNlbGVjdGVkT3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZXMgYSBzZWxlY3RlZCBvcHRpb24gZnJvbSB0aGUgc2VsZWN0ZWRPcHRpb25zIGFycmF5LlxyXG4gICAqIEBwYXJhbSB7U2VsZWN0T3B0aW9ufSByZW1vdmVkT3B0aW9uIC1UaGUgb3B0aW9uIHRvIHJlbW92ZS5cclxuICAgKiBAbWVtYmVyb2YgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICAgKi9cclxuICBvbk9wdGlvblJlbW92ZWQocmVtb3ZlZE9wdGlvbjogU2VsZWN0T3B0aW9uKTogdm9pZCB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuc2VsZWN0ZWRPcHRpb25zPy5maW5kSW5kZXgoXHJcbiAgICAgIChvcHRpb246IFNlbGVjdE9wdGlvbikgPT4gb3B0aW9uLmlkID09PSByZW1vdmVkT3B0aW9uLmlkXHJcbiAgICApO1xyXG4gICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnM/LnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvbnM/Lmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmdyb3VwLnZhbHVlW3RoaXMuY29uZmlnPy5jb250cm9sTmFtZV0gPSAnJztcclxuICAgICAgdGhpcy5ncm91cD8uY29udHJvbHNbdGhpcy5jb25maWc/LmNvbnRyb2xOYW1lXS5zZXRWYWx1ZSgnJyk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zID0gW107XHJcbiAgICAgIHRoaXMuYXV0b0NvbXBsZXRlT3B0aW9uTGlzdCA9IFtdO1xyXG4gICAgICB0aGlzLmhhbmRsZUZpZWxkRXJyb3IoKTtcclxuICAgIH1cclxuICAgIHRoaXMuZm9ybWF0U2VsZWN0ZWRPcHRpb24odGhpcy5zZWxlY3RlZE9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyB0aGUgc2VsZWN0aW9uIG9mIGFuIGF1dG9jb21wbGV0ZSBvcHRpb24uXHJcbiAgICogQHBhcmFtIHtBdXRvQ29tcGxldGVPcHRpb259IG9wdGlvbiAgLVRoZSBzZWxlY3RlZCBhdXRvY29tcGxldGUgb3B0aW9uLlxyXG4gICAqIEByZXR1cm4ge0F1dG9Db21wbGV0ZU9wdGlvbn1cclxuICAgKiBAbWVtYmVyb2YgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICAgKi9cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIG9uQ2hhbmdlKG9wdGlvbjogYW55KTogQXV0b0NvbXBsZXRlT3B0aW9uIHtcclxuICAgIGNvbnN0IHZhbHVlID0gb3B0aW9uPy52YWx1ZTtcclxuICAgIGlmICh0aGlzLmlzQ2hlY2tib3hTZWxlY3RlZCh2YWx1ZSkpIHtcclxuICAgICAgdGhpcy5vbk9wdGlvblJlbW92ZWQodmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMucHVzaCh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmZvcm1hdFNlbGVjdGVkT3B0aW9uKHRoaXMuc2VsZWN0ZWRPcHRpb25zKTtcclxuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMubXVsdGlTZWxlY3RBdXRvQ29tcGxldGU/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRm9ybWF0cyB0aGUgc2VsZWN0ZWQgb3B0aW9ucyBhbmQgZW1pdHMgdGhlIG11bHRpU2VsZWN0QXV0b0NvbXBsZXRlT3B0aW9uU2VsZWN0ZWQgZXZlbnQuXHJcbiAgICogQHBhcmFtIHtTZWxlY3RPcHRpb25bXX0gc2VsZWN0ZWRPcHRpb25zIC1BcnJheSBvZiBzZWxlY3RlZCBvcHRpb25zLlxyXG4gICAqIEBtZW1iZXJvZiBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGZvcm1hdFNlbGVjdGVkT3B0aW9uKHNlbGVjdGVkT3B0aW9uczogU2VsZWN0T3B0aW9uW10pIHtcclxuICAgIGNvbnN0IGZvcm1hdHRlZE9wdGlvbnMgPSBzZWxlY3RlZE9wdGlvbnM/Lm1hcCgob3B0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgaWQ6IG9wdGlvbi5pZCxcclxuICAgICAgICBuYW1lOiBvcHRpb24ubmFtZSxcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZU9wdGlvbnNTZWxlY3RlZD8uZW1pdChmb3JtYXR0ZWRPcHRpb25zKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERpc3BsYXlzIHRoZSBuYW1lIG9mIHRoZSBvcHRpb25cclxuICAgKiBAcGFyYW0ge0F1dG9Db21wbGV0ZU9wdGlvbn0gb3B0aW9uXHJcbiAgICogQHJldHVybiB7Kn0gIHtzdHJpbmd9XHJcbiAgICogQG1lbWJlcm9mIE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZGlzcGxheU9wdGlvbk5hbWUob3B0aW9uOiBBdXRvQ29tcGxldGVPcHRpb24pOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG9wdGlvbj8ubmFtZSA/IG9wdGlvbi5uYW1lIDogJyc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUcmFja3MgdGhlIG9wdGlvbiBieSBpdHMgaW5kZXggb3IgaWQuXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGluZGV4XHJcbiAgICogQHBhcmFtIHtTZWxlY3RPcHRpb259IG9wdGlvblxyXG4gICAqIEByZXR1cm4geyp9ICB7KG51bWJlciB8IHN0cmluZyl9XHJcbiAgICogQG1lbWJlcm9mIE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIG9wdGlvbjogU2VsZWN0T3B0aW9uKTogbnVtYmVyIHwgc3RyaW5nIHtcclxuICAgIHJldHVybiBvcHRpb24uaWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVja3MgaWYgdGhlIGNoZWNrYm94IGlzIHNlbGVjdGVkLlxyXG4gICAqIEBwYXJhbSB7QXV0b0NvbXBsZXRlT3B0aW9ufSBvcHRpb25cclxuICAgKiBAcmV0dXJuIHsqfSAge2Jvb2xlYW59XHJcbiAgICogQG1lbWJlcm9mIE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgaXNDaGVja2JveFNlbGVjdGVkKG9wdGlvbjogQXV0b0NvbXBsZXRlT3B0aW9uKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZE9wdGlvbnM/LnNvbWUoKGl0ZW0pID0+IGl0ZW0uaWQgPT09IG9wdGlvbi5pZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhcnMgYWxsIHNlbGVjdGVkIG9wdGlvbnMuXHJcbiAgICogQG1lbWJlcm9mIE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgY2xlYXJTZWxlY3Rpb25zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5ncm91cC52YWx1ZVt0aGlzLmNvbmZpZz8uY29udHJvbE5hbWVdID0gJyc7XHJcbiAgICB0aGlzLmdyb3VwPy5jb250cm9sc1t0aGlzLmNvbmZpZz8uY29udHJvbE5hbWVdLnNldFZhbHVlKCcnKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zID0gW107XHJcbiAgICB0aGlzLmF1dG9Db21wbGV0ZU9wdGlvbkxpc3QgPSBbXTtcclxuICAgIHRoaXMuZm9ybWF0U2VsZWN0ZWRPcHRpb24odGhpcy5zZWxlY3RlZE9wdGlvbnMpO1xyXG4gICAgdGhpcy5oYW5kbGVGaWVsZEVycm9yKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbXBsZW1lbnRhdGlvbiBvZiBuZ09uRGVzdHJveSBsaWZlY3ljbGUgaG9vayBtZXRob2QgdG8gdW5zdWJzY3JpYmUgdGhlIG9wZW4gb2JzZXJ2YWJsZSBzdWJzY3JpcHRpb25zLlxyXG4gICAqIEBtZW1iZXJvZiBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJpZWVlc2EtbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZVwiXHJcbiAgW2Zvcm1Hcm91cF09XCJncm91cFwiXHJcbiAgKm5nSWY9XCJncm91cFwiXHJcbiAgW25nQ2xhc3NdPVwiXHJcbiAgICBjb25maWcuaXNMYWJlbEFsaWduZWRMZWZ0XHJcbiAgICAgID8gJ2llZWVzYS1tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlLWZpZWxkX19sYWJlbC1sZWZ0J1xyXG4gICAgICA6ICdpZWVlc2EtbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS1maWVsZF9fbGFiZWwtdG9wJ1xyXG4gIFwiXHJcbj5cclxuICA8bWF0LWxhYmVsIGNsYXNzPVwiaWVlZXNhLWJvZHktc20tMTQgaWVlZXNhLW11bHRpLXNlbGVjdC1hdXRvY29tcGxldGVfX2xhYmVsXCJcclxuICAgID57eyBjb25maWcubGFiZWwgfX08L21hdC1sYWJlbFxyXG4gID5cclxuICA8bWF0LWZvcm0tZmllbGRcclxuICAgIGNsYXNzPVwiaWVlZXNhLW11bHRpLXNlbGVjdC1hdXRvY29tcGxldGVfX21hdC1mb3JtLWZpZWxkXCJcclxuICAgIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCJcclxuICA+XHJcbiAgICA8bWF0LWNoaXAtZ3JpZFxyXG4gICAgICAjY2hpcEdyaWRcclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhdXRvY29tcGxldGVDb25zdEluZm8/Lm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlPy5hcmlhTGFiZWw/LnNlbGVjdGVkT3B0aW9uc1wiXHJcbiAgICA+XHJcbiAgICAgIDxtYXQtY2hpcC1yb3dcclxuICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHNlbGVjdGVkT3B0aW9uczsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm9wdGlvbj8ubmFtZVwiXHJcbiAgICAgICAgW3JlbW92YWJsZV09XCJ0cnVlXCJcclxuICAgICAgICAocmVtb3ZlZCk9XCJvbk9wdGlvblJlbW92ZWQob3B0aW9uKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8cFxyXG4gICAgICAgICAgaWVlZXNhVGV4dFRydW5jYXRlZFxyXG4gICAgICAgICAgW21hdFRvb2x0aXBdPVwib3B0aW9uLm5hbWVcIlxyXG4gICAgICAgICAgY2xhc3M9XCJpZWVlc2EtbGFiZWwtbGctYm9sZC0xNiBtLTBcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7IG9wdGlvbi5uYW1lIH19XHJcbiAgICAgICAgPC9wPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIG1hdENoaXBSZW1vdmVcclxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXV0b2NvbXBsZXRlQ29uc3RJbmZvPy5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZT8uYXJpYUxhYmVsPy5yZW1vdmVPcHRpb24gKyBvcHRpb24ubmFtZVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHN2ZyBjbGFzcz1cImllZWVzYS1jaGlwX19zdmctYXZhdGFyXCIgbWF0Q2hpcEF2YXRhcj5cclxuICAgICAgICAgICAgPHVzZSBbYXR0ci54bGluazpocmVmXT1cInJlbW92ZUljb25VUkxcIj48L3VzZT5cclxuICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L21hdC1jaGlwLXJvdz5cclxuICAgIDwvbWF0LWNoaXAtZ3JpZD5cclxuICAgIDxpbnB1dFxyXG4gICAgICBtYXRJbnB1dFxyXG4gICAgICBjbGFzcz1cImllZWVzYS1tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlX19pbnB1dCBpZWVlc2EtdGl0bGUtc20tMTZcIlxyXG4gICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cIm1hdEF1dG9jb21wbGV0ZVwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJjb25maWcucGxhY2Vob2xkZXIgPz8gJydcIlxyXG4gICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5jb250cm9sTmFtZVwiXHJcbiAgICAgIFtuYW1lXT1cImNvbmZpZy5jb250cm9sTmFtZVwiXHJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29uZmlnLmFyaWFMYWJlbFwiXHJcbiAgICAgIFthcmlhLWRlc2NyaWJlZGJ5XT1cImNvbmZpZy5hcmlhRGVzY3JpYmVkQnlJZCA/PyAnJ1wiXHJcbiAgICAgICNtdWx0aVNlbGVjdEF1dG9Db21wbGV0ZVxyXG4gICAgICBbbWF0Q2hpcElucHV0U2VwYXJhdG9yS2V5Q29kZXNdPVwic2VwYXJhdG9yS2V5c0NvZGVzXCJcclxuICAgICAgKG1hdENoaXBJbnB1dFRva2VuRW5kKT1cImFkZCgkZXZlbnQpXCJcclxuICAgICAgW21hdENoaXBJbnB1dEZvcl09XCJjaGlwR3JpZFwiXHJcbiAgICAvPlxyXG4gICAgPG1hdC1hdXRvY29tcGxldGVcclxuICAgICAgI21hdEF1dG9jb21wbGV0ZT1cIm1hdEF1dG9jb21wbGV0ZVwiXHJcbiAgICAgIChvcHRpb25TZWxlY3RlZCk9XCJvbkNoYW5nZSgkZXZlbnQub3B0aW9uKVwiXHJcbiAgICAgIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5T3B0aW9uTmFtZVwiXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLW11bHRpLXNlbGVjdC1hdXRvY29tcGxldGVfX2F1dG9jb21wbGV0ZS1saXN0XCJcclxuICAgID5cclxuICAgICAgPG1hdC1vcHRpb25cclxuICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGF1dG9Db21wbGV0ZU9wdGlvbkxpc3Q7IHRyYWNrQnk6IHRyYWNrQnlGblwiXHJcbiAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXHJcbiAgICAgID5cclxuICAgICAgICA8bWF0LWNoZWNrYm94IGNvbG9yPVwicHJpbWFyeVwiIFtjaGVja2VkXT1cImlzQ2hlY2tib3hTZWxlY3RlZChvcHRpb24pXCI+XHJcbiAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAge3sgb3B0aW9uLm5hbWUgfX1cclxuICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgbWF0U3VmZml4XHJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICBbbWF0VG9vbHRpcF09XCJjbGVhckFsbFwiXHJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXV0b2NvbXBsZXRlQ29uc3RJbmZvLmFyaWFMYWJlbC5jbGVhclwiXHJcbiAgICAgICpuZ0lmPVwic2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+IDBcIlxyXG4gICAgICAoY2xpY2spPVwiY2xlYXJTZWxlY3Rpb25zKClcIlxyXG4gICAgPlxyXG4gICAgICA8c3ZnIGNsYXNzPVwiaWVlZXNhLW11bHRpLXNlbGVjdC1hdXRvY29tcGxldGVfX3N2Zy1jbGVhci1hbGxcIj5cclxuICAgICAgICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwiY2xlYXJBbGxJY29uVVJMXCI+PC91c2U+XHJcbiAgICAgIDwvc3ZnPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8aWVlZXNhLWZvcm0tZXJyb3IgW2Zvcm1Hcm91cF09XCJncm91cFwiIFtjb25maWddPVwiY29uZmlnXCI+IDwvaWVlZXNhLWZvcm0tZXJyb3I+XHJcbiAgPGllZWVzYS1mb3JtLXN1cHBvcnQtdGV4dFxyXG4gICAgW2Zvcm1Hcm91cF09XCJncm91cFwiXHJcbiAgICBbY29uZmlnXT1cImNvbmZpZ1wiXHJcbiAgPjwvaWVlZXNhLWZvcm0tc3VwcG9ydC10ZXh0PlxyXG48L2Rpdj5cclxuIl19