@biit-solutions/wizardry-theme 1.22.7 → 1.22.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { Component, Directive, ContentChild, EventEmitter, Input, Output } from '@angular/core';
1
+ import { Component, ContentChild, Directive, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { BiitPaginatorOptions } from '../biit-paginator/models/biit-paginator-options';
3
3
  import { BiitTableColumnFormat } from './models/biit-table-column';
4
4
  import { ColumnResizeHandler } from './models/column-resize-handler';
@@ -254,6 +254,9 @@ export class BiitTableComponent {
254
254
  getSelectedRows() {
255
255
  return [...this.selectedRows];
256
256
  }
257
+ setSelectedRows(_selectedRows) {
258
+ this.selectedRows = new Set(_selectedRows);
259
+ }
257
260
  emitCellAction(item, column, event) {
258
261
  event.stopPropagation();
259
262
  this.onCellAction.emit(new BiitTableActionResponse(item, column));
@@ -298,4 +301,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
298
301
  }], onRowClick: [{
299
302
  type: Output
300
303
  }] } });
301
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlpdC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS90YWJsZS9zcmMvYmlpdC10YWJsZS9iaWl0LXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemFyZHJ5LXRoZW1lL3RhYmxlL3NyYy9iaWl0LXRhYmxlL2JpaXQtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxTQUFTLEVBR1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JGLE9BQU8sRUFBa0IscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUUvRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBSzVFLE1BQU0sT0FBTyw0QkFBNEI7SUFDdkMsWUFBb0IsTUFBMEI7UUFBMUIsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFDNUMsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDN0IsQ0FBQzs7MEhBSFUsNEJBQTRCOzhHQUE1Qiw0QkFBNEI7NEZBQTVCLDRCQUE0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QzdCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ25DLENBQUM7O2dIQWhOVSxrQkFBa0I7b0dBQWxCLGtCQUFrQiw2UkFMbEIsQ0FBQztZQUNWLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFFBQVEsRUFBRSxFQUFDLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFDO1NBQzFELENBQUMsNkhDM0VKLHc4TUF3SUEsMjFKRDlHYSw0QkFBNEIseURBa0I1QiwwQkFBMEI7NEZBaUMxQixrQkFBa0I7a0JBVDlCLFNBQVM7K0JBQ0UsWUFBWSxhQUdYLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFFBQVEsRUFBRSxFQUFDLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFDO3lCQUMxRCxDQUFDO3lIQUlxQixLQUFLO3NCQUEzQixLQUFLO3VCQUFDLFVBQVU7Z0JBU0ssUUFBUTtzQkFBN0IsS0FBSzt1QkFBQyxTQUFTO2dCQVFQLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRW1CLFVBQVU7c0JBQWxDLFlBQVk7dUJBQUMsU0FBUztnQkFRYixRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIENvbXBvbmVudCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBUZW1wbGF0ZVJlZixcbiAgQ29udGVudENoaWxkLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCaWl0UGFnaW5hdG9yT3B0aW9uc30gZnJvbSAnLi4vYmlpdC1wYWdpbmF0b3IvbW9kZWxzL2JpaXQtcGFnaW5hdG9yLW9wdGlvbnMnO1xuaW1wb3J0IHtCaWl0VGFibGVDb2x1bW4sIEJpaXRUYWJsZUNvbHVtbkZvcm1hdH0gZnJvbSAnLi9tb2RlbHMvYmlpdC10YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHtDb2x1bW5SZXNpemVIYW5kbGVyfSBmcm9tICcuL21vZGVscy9jb2x1bW4tcmVzaXplLWhhbmRsZXInO1xuaW1wb3J0IHtCaWl0VGFibGVSZXNwb25zZX0gZnJvbSAnLi9tb2RlbHMvYmlpdC10YWJsZS1yZXNwb25zZSc7XG5pbXBvcnQge0JpaXRUYWJsZURhdGF9IGZyb20gJy4vbW9kZWxzL2JpaXQtdGFibGUtZGF0YSc7XG5pbXBvcnQge0JpaXRUYWJsZVNvcnRpbmcsIEJpaXRUYWJsZVNvcnRpbmdPcmRlcn0gZnJvbSAnLi9tb2RlbHMvYmlpdC10YWJsZS1zb3J0aW5nJztcbmltcG9ydCB7QmlpdE11bHRpc2VsZWN0VHlwZX0gZnJvbSAnQGJpaXQtc29sdXRpb25zL3dpemFyZHJ5LXRoZW1lL2lucHV0cyc7XG5pbXBvcnQge1RSQU5TTE9DT19TQ09QRX0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nO1xuaW1wb3J0IHtCaWl0VGFibGVBY3Rpb25SZXNwb25zZX0gZnJvbSBcIi4vbW9kZWxzL2JpaXQtdGFibGUtYWN0aW9uLXJlc3BvbnNlXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tzZWxlY3RhYmxlXSdcbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlU2VsZWN0YWJsZURpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFyZW50OiBCaWl0VGFibGVDb21wb25lbnQpIHtcbiAgICBwYXJlbnQuaXNTZWxlY3RhYmxlID0gdHJ1ZTtcbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2VsZWN0YWJsZVNpbmdsZV0nXG59KVxuZXhwb3J0IGNsYXNzIEJpaXRUYWJsZVNlbGVjdGFibGVTaW5nbGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmVudDogQmlpdFRhYmxlQ29tcG9uZW50KSB7XG4gICAgcGFyZW50LmlzU2VsZWN0YWJsZVNpbmdsZSA9IHRydWU7XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NvcnRhYmxlXSdcbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlU29ydGFibGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmVudDogQmlpdFRhYmxlQ29tcG9uZW50KSB7XG4gICAgcGFyZW50LmlzU29ydGFibGUgPSB0cnVlO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1toaWRlSGVhZGVyXSdcbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlSGVhZGVybGVzc0RpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFyZW50OiBCaWl0VGFibGVDb21wb25lbnQpIHtcbiAgICBwYXJlbnQuaGlkZUhlYWRlciA9IHRydWU7XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2hpZGVGb290ZXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBCaWl0VGFibGVGb290ZXJsZXNzRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYXJlbnQ6IEJpaXRUYWJsZUNvbXBvbmVudCkge1xuICAgIHBhcmVudC5oaWRlRm9vdGVyID0gdHJ1ZTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWl0LXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JpaXQtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iaWl0LXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBUUkFOU0xPQ09fU0NPUEUsXG4gICAgdXNlVmFsdWU6IHtzY29wZTogJ3dpemFyZHJ5LXRoZW1lL3RhYmxlJywgYWxpYXM6IFwidGFibGVcIn1cbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdDaGVja2VkIHtcblxuICBASW5wdXQoJ21ldGFkYXRhJykgc2V0IF9kYXRhKGRhdGE6IEJpaXRUYWJsZURhdGE8YW55Pikge1xuICAgIGlmIChkYXRhKSB7XG4gICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuY2xlYXIoKTtcbiAgICAgIGlmICh0aGlzLnBhZ2luYXRvcikge1xuICAgICAgICB0aGlzLnBhZ2luYXRvciA9IG5ldyBCaWl0UGFnaW5hdG9yT3B0aW9ucyh0aGlzLnBhZ2luYXRvci5jdXJyZW50UGFnZSwgdGhpcy5wYWdpbmF0b3IucGFnZVNpemUsIHRoaXMucGFnZVNpemVzLCBkYXRhLnRvdGFsSXRlbXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBASW5wdXQoJ2xvYWRpbmcnKSBzZXQgX2xvYWRpbmcobG9hZGluZzogYm9vbGVhbikge1xuICAgIGlmIChsb2FkaW5nKSB7XG4gICAgICB0aGlzLmxvYWRpbmcgPSBsb2FkaW5nO1xuICAgICAgdGhpcy5zZXRMb2FkaW5nQmFyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuICBASW5wdXQoKSBjb2x1bW5zOiBCaWl0VGFibGVDb2x1bW5bXSA9IFtdO1xuICBASW5wdXQoKSBwYWdlU2l6ZXM6IG51bWJlcltdID0gW107XG4gIEBJbnB1dCgpIGRlZmF1bHRQYWdlU2l6ZTogbnVtYmVyO1xuXG4gIEBDb250ZW50Q2hpbGQoJ2FjdGlvbnMnKSBhY3Rpb25zVHBsITogVGVtcGxhdGVSZWY8YW55PjtcblxuICBpc1NlbGVjdGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNTZWxlY3RhYmxlU2luZ2xlOiBib29sZWFuID0gZmFsc2U7XG4gIGlzU29ydGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaGlkZUhlYWRlcjogYm9vbGVhbiA9IGZhbHNlO1xuICBoaWRlRm9vdGVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIG9uVXBkYXRlOiBFdmVudEVtaXR0ZXI8QmlpdFRhYmxlUmVzcG9uc2U+ID0gbmV3IEV2ZW50RW1pdHRlcjxCaWl0VGFibGVSZXNwb25zZT4oKTtcbiAgQE91dHB1dCgpIG9uQ2VsbEFjdGlvbjogRXZlbnRFbWl0dGVyPEJpaXRUYWJsZUFjdGlvblJlc3BvbnNlPiA9IG5ldyBFdmVudEVtaXR0ZXI8QmlpdFRhYmxlQWN0aW9uUmVzcG9uc2U+KCk7XG4gIEBPdXRwdXQoKSBvblJvd0NsaWNrIDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwcm90ZWN0ZWQgZGF0YTogQmlpdFRhYmxlRGF0YTxhbnk+O1xuICBwcm90ZWN0ZWQgcGFnaW5hdG9yO1xuICBwcm90ZWN0ZWQgc29ydGluZzogQmlpdFRhYmxlU29ydGluZztcbiAgcHJvdGVjdGVkIHNlbGVjdGVkUm93czogU2V0PGFueT4gPSBuZXcgU2V0PGFueT4oKTtcbiAgcHJvdGVjdGVkIGNvbHVtblJlc2l6ZTogQ29sdW1uUmVzaXplSGFuZGxlciA9IG5ldyBDb2x1bW5SZXNpemVIYW5kbGVyKCk7XG4gIHByb3RlY3RlZCBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBzZWFyY2g6IHN0cmluZyA9ICcnO1xuICBwcm90ZWN0ZWQgY3VycmVudFNlYXJjaDogc3RyaW5nID0gJyc7XG4gIHByb3RlY3RlZCByZWFkb25seSBCaWl0TXVsdGlzZWxlY3RUeXBlID0gQmlpdE11bHRpc2VsZWN0VHlwZTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEJpaXRUYWJsZUNvbHVtbkZvcm1hdCA9IEJpaXRUYWJsZUNvbHVtbkZvcm1hdDtcblxuICBwcml2YXRlIGZpbmRUaW1lb3V0OiBOb2RlSlMuVGltZW91dDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgICAgICAgIHByaXZhdGUgZWxlbTogRWxlbWVudFJlZikgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYWdpbmF0b3IgPSBuZXcgQmlpdFBhZ2luYXRvck9wdGlvbnMoMSwgdGhpcy5kZWZhdWx0UGFnZVNpemUsIHRoaXMucGFnZVNpemVzLCB0aGlzLmRhdGEgPyB0aGlzLmRhdGEudG90YWxJdGVtcyA6IDEpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIHRoaXMuc2V0Q29sdW1uU2l6ZSgpO1xuICB9XG5cbiAgLy8gRml4IGZvciByZXNpemFibGUgY29sdW1uc1xuICBwcml2YXRlIHNldENvbHVtblNpemUoKSB7XG4gICAgLy8gVGFrZXMgc2Nyb2xsYmFyIHBhZGRpbmcgaW4gbWluZCBiZWZvcmUgaGFyZGNvZGluZyB3aWR0aHNcbiAgICB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuY29udGVudCcpLnN0eWxlLnBhZGRpbmdSaWdodCA9ICcwLjdyZW0nO1xuXG4gICAgQXJyYXkuZnJvbSh0aGlzLmVsZW0ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd0aGVhZCcpLmZpcnN0Q2hpbGQuY2hpbGRyZW4pLmZvckVhY2gob2dDb2x1bW4gPT4ge1xuICAgICAgY29uc3QgY29sdW1uID0gb2dDb2x1bW4gYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgIGlmIChjb2x1bW4uY2xhc3NMaXN0LmNvbnRhaW5zKCdzZWxlY3QnKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoY29sdW1uLnN0eWxlLndpZHRoID09ICcnICYmICFjb2x1bW4uY2xhc3NMaXN0LmNvbnRhaW5zKCdzZWxlY3QnKSkge1xuICAgICAgICBjb2x1bW4uc3R5bGUud2lkdGggPSBjb2x1bW4ub2Zmc2V0V2lkdGggLSAxMCArICdweCc7XG4gICAgICB9XG4gICAgICB0aGlzLmNvbHVtbklubmVyV29yZEZpdENoZWNrKGNvbHVtbik7XG4gICAgfSk7XG4gICAgdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmNvbnRlbnQnKS5zdHlsZS5wYWRkaW5nUmlnaHQgPSBudWxsO1xuXG4gICAgdGhpcy5zZXRMb2FkaW5nQmFyKCk7XG4gIH1cblxuICBjb2x1bW5Jbm5lcldvcmRGaXRDaGVjayhjb2x1bW46IEhUTUxFbGVtZW50KSB7XG4gICAgY29uc3QgbWluQ29sdW1uU2l6ZSA9IChjb2x1bW4uZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTEVsZW1lbnQpLm9mZnNldFdpZHRoXG4gICAgICArIDIuNCAqIHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmZvbnRTaXplKSAqIDI7XG5cbiAgICAvLyBJZiBpbm5lciB0ZXh0IHdpZHRoIHBsdXMgaGVhZGVyIHBhZGRpbmdzIGFyZSBsZXNzIHRoYW4gdGhlIGN1cnJlbnQgaGVhZGVyIHdpZHRoIChzZXQgYnkgdXNlciBjb2x1bW4gcHJvcGVydGllcylcbiAgICBpZihtaW5Db2x1bW5TaXplID4gY29sdW1uLm9mZnNldFdpZHRoKSB7XG4gICAgICAoY29sdW1uIGFzIEhUTUxFbGVtZW50KS5zdHlsZS53aWR0aCA9IG1pbkNvbHVtblNpemUgKyAncHgnO1xuICAgIH1cbiAgfVxuXG4gIHNldExvYWRpbmdCYXIoKTogdm9pZCB7XG4gICAgY29uc3QgcHJvZ3Jlc3NCYXIgPSB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdiaWl0LXByb2dyZXNzLWJhcicpO1xuICAgIGlmIChwcm9ncmVzc0Jhcikge1xuICAgICAgcHJvZ3Jlc3NCYXIuc3R5bGUudG9wID1cbiAgICAgICAgdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndGhlYWQnKS5vZmZzZXRIZWlnaHQgKyAncHgnO1xuICAgIH1cbiAgfVxuXG4gIG9uVGFibGVVcGRhdGUoZm9yY2U6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIGlmICh0aGlzLmZpbmRUaW1lb3V0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5maW5kVGltZW91dCk7XG4gICAgfVxuICAgIHRoaXMuZmluZFRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuY3VycmVudFNlYXJjaCA9IHRoaXMuc2VhcmNoO1xuICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuY2xlYXIoKTtcbiAgICAgIHRoaXMub25VcGRhdGUuZW1pdChuZXcgQmlpdFRhYmxlUmVzcG9uc2UoXG4gICAgICAgIHRoaXMucGFnaW5hdG9yLmN1cnJlbnRQYWdlLFxuICAgICAgICB0aGlzLnBhZ2luYXRvci5wYWdlU2l6ZSxcbiAgICAgICAgdGhpcy5zZWFyY2gsXG4gICAgICAgIHRoaXMuc29ydGluZ1xuICAgICAgKSk7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5maW5kVGltZW91dCk7XG4gICAgICB0aGlzLmZpbmRUaW1lb3V0ID0gbnVsbDtcbiAgICB9LCBmb3JjZSA/IDAgOiA1MDApO1xuICB9XG5cbiAgb25UYWJsZVNvcnQoY29sdW1uOiBCaWl0VGFibGVDb2x1bW4pIHtcbiAgICBpZiAodGhpcy5zb3J0aW5nICYmIHRoaXMuc29ydGluZy5uYW1lID09IGNvbHVtbi5uYW1lKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuc29ydGluZy5vcmRlcikge1xuICAgICAgICBjYXNlIEJpaXRUYWJsZVNvcnRpbmdPcmRlci5BU0M6XG4gICAgICAgICAgdGhpcy5zb3J0aW5nLm9yZGVyID0gQmlpdFRhYmxlU29ydGluZ09yZGVyLkRFU0M7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgQmlpdFRhYmxlU29ydGluZ09yZGVyLkRFU0M6XG4gICAgICAgICAgdGhpcy5zb3J0aW5nID0gdW5kZWZpbmVkO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNvcnRpbmcgPSBuZXcgQmlpdFRhYmxlU29ydGluZyhjb2x1bW4ubmFtZSwgQmlpdFRhYmxlU29ydGluZ09yZGVyLkFTQyk7XG4gICAgfVxuXG4gICAgdGhpcy5vblRhYmxlVXBkYXRlKCk7XG4gIH1cblxuICBzbmFrZVRvQ2FtZWwoc3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBzdHJpbmcudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9bLV9dW2Etel0vZywgKGdyb3VwKSA9PiBncm91cC5zbGljZSgtMSkudG9VcHBlckNhc2UoKSk7XG4gIH1cblxuICByZXNpemVDb2x1bW4oZXZlbnQsIGNvbHVtbjogQmlpdFRhYmxlQ29sdW1uLCBpbmRleCkge1xuICAgIHRoaXMuY29sdW1uUmVzaXplLnN0YXJ0ID0gZXZlbnQudGFyZ2V0O1xuICAgIHRoaXMuY29sdW1uUmVzaXplLnByZXNzZWQgPSB0cnVlO1xuICAgIHRoaXMuY29sdW1uUmVzaXplLnN0YXJ0WCA9IGV2ZW50Lng7XG4gICAgdGhpcy5jb2x1bW5SZXNpemUuc3RhcnRXaWR0aCA9ICh0aGlzLmNvbHVtblJlc2l6ZS5zdGFydC5wYXJlbnROb2RlIGFzIEhUTUxFbGVtZW50KS5vZmZzZXRXaWR0aDtcblxuICAgIGxldCBjb2x1bW5FbGVtID0gdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcigndGhlYWQnKS5maXJzdENoaWxkLmNoaWxkcmVuW3RoaXMuaXNTZWxlY3RhYmxlID8gaW5kZXggKyAxIDogaW5kZXhdO1xuICAgIHRoaXMuY29sdW1uUmVzaXplLm1pbldpZHRoID0gKGNvbHVtbkVsZW0uZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTEVsZW1lbnQpLm9mZnNldFdpZHRoXG4gICAgICArIDIuNCAqIHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmZvbnRTaXplKSAqIDI7XG5cbiAgICB0aGlzLmluaXRSZXNpemFibGVDb2x1bW5zKGNvbHVtbik7XG4gIH1cblxuICBwcml2YXRlIGluaXRSZXNpemFibGVDb2x1bW5zKGNvbHVtbjogQmlpdFRhYmxlQ29sdW1uKSB7XG4gICAgY29uc3QgbW92ZUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ3dpbmRvdycsICdtb3VzZW1vdmUnLCAoZXZlbnQpID0+IHtcbiAgICAgIGlmKHRoaXMuY29sdW1uUmVzaXplLnByZXNzZWQpIHtcbiAgICAgICAgbGV0IHdpZHRoID0gdGhpcy5jb2x1bW5SZXNpemUuc3RhcnRXaWR0aCArIChldmVudC54IC0gdGhpcy5jb2x1bW5SZXNpemUuc3RhcnRYKTtcbiAgICAgICAgaWYod2lkdGggPiB0aGlzLmNvbHVtblJlc2l6ZS5taW5XaWR0aCkge1xuICAgICAgICAgIGNvbHVtbi53aWR0aCA9IHdpZHRoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbiAgICBjb25zdCByZWxlYXNlTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ21vdXNldXAnLCAoZXZlbnQpID0+IHtcbiAgICAgIGlmKHRoaXMuY29sdW1uUmVzaXplLnByZXNzZWQpIHtcbiAgICAgICAgdGhpcy5jb2x1bW5SZXNpemUucHJlc3NlZCA9IGZhbHNlO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgIG1vdmVMaXN0ZW5lcigpO1xuICAgICAgICByZWxlYXNlTGlzdGVuZXIoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbiAgfVxuXG4gIHNldENvbHVtblZpc2liaWxpdHkocmVzcG9uc2U6IEJpaXRUYWJsZUNvbHVtbltdKSB7XG4gICAgdGhpcy5jb2x1bW5zLmZvckVhY2goYyA9PiByZXNwb25zZS5zb21lKGUgPT4gZS5uYW1lID09IGMubmFtZSkgPyBjLnZpc2libGUgPSB0cnVlIDogYy52aXNpYmxlID0gZmFsc2UpO1xuICB9XG5cbiAgc2VsZWN0Um93KGl0ZW0sIGhvbGRDdHJsKSB7XG4gICAgaWYgKCFob2xkQ3RybCB8fCB0aGlzLmlzU2VsZWN0YWJsZVNpbmdsZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuY2xlYXIoKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLmFkZChpdGVtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkUm93cy5oYXMoaXRlbSkpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuYWRkKGl0ZW0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuZGVsZXRlKGl0ZW0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldFNlbGVjdGVkUm93cygpOiBhbnlbXSB7XG4gICAgcmV0dXJuIFsuLi50aGlzLnNlbGVjdGVkUm93c107XG4gIH1cblxuICBlbWl0Q2VsbEFjdGlvbihpdGVtOiBhbnksIGNvbHVtbjogc3RyaW5nLCBldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLm9uQ2VsbEFjdGlvbi5lbWl0KG5ldyBCaWl0VGFibGVBY3Rpb25SZXNwb25zZShpdGVtLCBjb2x1bW4pKTtcbiAgfVxuXG4gIGVtaXRSb3dDbGljayhpdGVtOiBhbnkpIHtcbiAgICB0aGlzLm9uUm93Q2xpY2suZW1pdChpdGVtKTtcbiAgfVxuXG4gIHJlc2V0SW5wdXRWYWx1ZSgpIHtcbiAgICB0aGlzLnNlYXJjaCA9IHRoaXMuY3VycmVudFNlYXJjaDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNhbnZhc1wiICp0cmFuc2xvY289XCJsZXQgdFwiPlxuICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCIgKm5nSWY9XCIhaGlkZUhlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJidXR0b25zXCIgaWQ9XCJtZW51XCI+XG4gICAgICA8YmlpdC12ZXJ0aWNhbC1tZW51ICpuZ0lmPVwiYWN0aW9uc1RwbFwiIGNsYXNzPVwidmVydGljYWwtbWVudVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWN0aW9uc1RwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9iaWl0LXZlcnRpY2FsLW1lbnU+XG4gICAgICA8ZGl2ICpuZ0lmPVwiYWN0aW9uc1RwbFwiIGNsYXNzPVwiaG9yaXpvbnRhbC1tZW51XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhY3Rpb25zVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCIhYWN0aW9uc1RwbFwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybXNcIj5cbiAgICAgIDxiaWl0LWlucHV0LXRleHQgaWQ9XCJzZWFyY2gtZmllbGRcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFwiXG4gICAgICAgICAgICAgICAgICAgICAgIChvbkFjdGlvblBlcmZvcm1lZCk9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBwYWdpbmF0b3IuY3VycmVudFBhZ2UgPSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgIG9uVGFibGVVcGRhdGUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgIChmb2N1c291dCk9XCJyZXNldElucHV0VmFsdWUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVGFibGVVcGRhdGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgIGljb249XCJzZWFyY2hcIlxuICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwidCgndGFibGUuc2VhcmNoJylcIlxuICAgICAgPjwvYmlpdC1pbnB1dC10ZXh0PlxuICAgICAgPGJpaXQtbXVsdGlzZWxlY3QgaWQ9XCJjb2x1bW4tc2VsZWN0b3JcIiBbbmdNb2RlbF09XCJjb2x1bW5zIHwgdmlzaWJsZUNvbHVtbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0Q29sdW1uVmlzaWJpbGl0eSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImNvbHVtbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJsYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInZpc2libGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cInQoJ3RhYmxlLmNvbHVtbi1zZWxlY3RvcicpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cIkJpaXRNdWx0aXNlbGVjdFR5cGUuSUNPTlwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29tcGFjdF09XCJ0cnVlXCJcbiAgICAgID48L2JpaXQtbXVsdGlzZWxlY3Q+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgPGRpdiAqbmdJZj1cImxvYWRpbmdcIiBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZVwiPlxuICAgICAgPGJpaXQtcHJvZ3Jlc3MtYmFyIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlOyB0b3A6IDIuMXJlbTsgbGVmdDogMC4ycmVtOyB3aWR0aDogY2FsYygxMDAlIC0gMC4xcmVtKTtcIj48L2JpaXQtcHJvZ3Jlc3MtYmFyPlxuICAgIDwvZGl2PlxuICAgIDx0YWJsZT5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aCAqbmdJZj1cImlzU2VsZWN0YWJsZSB8fCBpc1NlbGVjdGFibGVTaW5nbGVcIiBjbGFzcz1cInNlbGVjdFwiPlxuICAgICAgICAgICAgPGJpaXQtY2hlY2tib3ggKm5nSWY9XCJpc1NlbGVjdGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiZGF0YT8uZGF0YS5sZW5ndGggJiYgc2VsZWN0ZWRSb3dzLnNpemUgPT0gZGF0YT8uZGF0YS5sZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiJGV2ZW50ID8gZGF0YT8uZGF0YS5mb3JFYWNoKHNlbGVjdGVkUm93cy5hZGQsIHNlbGVjdGVkUm93cykgOiBzZWxlY3RlZFJvd3MuY2xlYXIoKVwiXG4gICAgICAgICAgICA+PC9iaWl0LWNoZWNrYm94PlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1ucywgaW5kZXggYXMgaVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5zb3J0YWJsZV09XCJpc1NvcnRhYmxlXCJcbiAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiIWNvbHVtbi52aXNpYmxlID8gJ25vbmUnIDogbnVsbFwiXG4gICAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJjb2x1bW4ud2lkdGggPyBjb2x1bW4ud2lkdGggKyAncHgnIDogJydcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiaXNTb3J0YWJsZSA/IG9uVGFibGVTb3J0KGNvbHVtbikgOiBmYWxzZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+XG4gICAgICAgICAgICAgIHt7Y29sdW1uLmxhYmVsfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGJpaXQtaWNvbiAqbmdJZj1cImlzU29ydGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJzb3J0aW5nPy5uYW1lID09IGNvbHVtbi5uYW1lID8gJ3JpZ2h0X2Fycm93JyA6ICd1cF9kb3duX2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFtwYXRoU3R5bGVdPVwie2ZpbGw6ICcjRkZGRkZGJ31cIlxuICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNvcnRcIlxuICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXNjXT1cInNvcnRpbmc/Lm5hbWUgPT0gY29sdW1uLm5hbWUgJiYgc29ydGluZz8ub3JkZXIgPT0gJ2FzYydcIlxuICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGVzY109XCJzb3J0aW5nPy5uYW1lID09IGNvbHVtbi5uYW1lICYmIHNvcnRpbmc/Lm9yZGVyID09ICdkZXNjJ1wiXG4gICAgICAgICAgICA+PC9iaWl0LWljb24+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uLXJlc2l6ZXJcIlxuICAgICAgICAgICAgICAgICAobW91c2Vkb3duKT1cInJlc2l6ZUNvbHVtbigkZXZlbnQsIGNvbHVtbiwgaSlcIlxuICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1wiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGhlYWQ+XG4gICAgICA8dGJvZHk+XG4gICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhPy5kYXRhOyBpbmRleCBhcyBpXCJcbiAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RhYmxlXT1cImlzU2VsZWN0YWJsZVwiXG4gICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwic2VsZWN0ZWRSb3dzLmhhcyhpdGVtKVwiXG4gICAgICAgICAgICAocG9pbnRlcmRvd24pPVwiZW1pdFJvd0NsaWNrKGl0ZW0pXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiaXNTZWxlY3RhYmxlIHx8IGlzU2VsZWN0YWJsZVNpbmdsZVwiIGNsYXNzPVwic2VsZWN0XCI+XG4gICAgICAgICAgICAgIDxiaWl0LWNoZWNrYm94IGlkPVwic2VsZWN0e3tpfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJzZWxlY3RlZFJvd3MuaGFzKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0Um93KGl0ZW0sIHRydWUpXCJcbiAgICAgICAgICAgICAgPjwvYmlpdC1jaGVja2JveD5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zXCJcbiAgICAgICAgICAgICAgICAocG9pbnRlcmRvd24pPVwic2VsZWN0Um93KGl0ZW0sICRldmVudC5jdHJsS2V5KVwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiIWNvbHVtbi52aXNpYmxlID8gJ25vbmUnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cImNvbHVtbi53aWR0aCA/IGNvbHVtbi53aWR0aCArICdweCcgOiBudWxsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbi5mb3JtYXQgPT0gQmlpdFRhYmxlQ29sdW1uRm9ybWF0LkRFRkFVTFRcIj5cbiAgICAgICAgICAgICAgICB7e2l0ZW0gfCBjb2x1bW5EYXRhOiBjb2x1bW4ubmFtZX19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sdW1uLmZvcm1hdCA9PSBCaWl0VGFibGVDb2x1bW5Gb3JtYXQuQk9PTEVBTlwiPlxuICAgICAgICAgICAgICAgIHt7KGl0ZW0gfCBjb2x1bW5EYXRhOiBjb2x1bW4ubmFtZSkgPyB0KCd0YWJsZS55ZXMnKSA6IHQoJ3RhYmxlLm5vJykgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4uZm9ybWF0ID09IEJpaXRUYWJsZUNvbHVtbkZvcm1hdC5EQVRFXCI+XG4gICAgICAgICAgICAgICAge3soaXRlbSB8IGNvbHVtbkRhdGE6IGNvbHVtbi5uYW1lKSB8IGxvY2FsaXplZERhdGV9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbi5mb3JtYXQgPT0gQmlpdFRhYmxlQ29sdW1uRm9ybWF0LkJVVFRPTlwiXG4gICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogYXV0bzsgdGV4dC1hbGlnbjogLXdlYmtpdC1jZW50ZXI7IHRleHQtYWxpZ246IC1tb3otY2VudGVyO1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gYmlpdC1idXR0b24gdGVydGlhcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIChwb2ludGVyZG93bik9XCJlbWl0Q2VsbEFjdGlvbihpdGVtLCBjb2x1bW4ubmFtZSwgJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAge3tpdGVtIHwgY29sdW1uRGF0YTogY29sdW1uLm5hbWV9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbi5mb3JtYXQgPT0gQmlpdFRhYmxlQ29sdW1uRm9ybWF0LklDT05fQlVUVE9OXCJcbiAgICAgICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiBhdXRvOyB0ZXh0LWFsaWduOiAtd2Via2l0LWNlbnRlcjsgdGV4dC1hbGlnbjogLW1vei1jZW50ZXI7XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBiaWl0LWljb24gW2ljb25dPVwiaXRlbSB8IGNvbHVtbkRhdGE6IGNvbHVtbi5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChwb2ludGVyZG93bik9XCJlbWl0Q2VsbEFjdGlvbihpdGVtLCBjb2x1bW4ubmFtZSwgJGV2ZW50KTtcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4uZm9ybWF0ID09IEJpaXRUYWJsZUNvbHVtbkZvcm1hdC5JQ09OXCJcbiAgICAgICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiBhdXRvOyBoZWlnaHQ6IDEuMDVyZW07XCI+XG4gICAgICAgICAgICAgICAgPGJpaXQtaWNvbiBbbmFtZV09XCJpdGVtIHwgY29sdW1uRGF0YTogY29sdW1uLm5hbWVcIj48L2JpaXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4uZm9ybWF0ID09IEJpaXRUYWJsZUNvbHVtbkZvcm1hdC5DVVNUT01fSFRNTFwiXG4gICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogYXV0bzsgdGV4dC1hbGlnbjogLXdlYmtpdC1jZW50ZXI7IHRleHQtYWxpZ246IC1tb3otY2VudGVyO1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJpdGVtIHwgY29sdW1uRGF0YTogY29sdW1uLm5hbWVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90Ym9keT5cbiAgICA8L3RhYmxlPlxuXG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJmb290ZXJcIiAqbmdJZj1cIiFoaWRlRm9vdGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkXCI+XG4gICAgICA8YSBzdHlsZT1cIm1hcmdpbi1yaWdodDogMC43cmVtXCIgKm5nSWY9XCJzZWxlY3RlZFJvd3Muc2l6ZVwiPlNlbGVjdGVkOjwvYT5cbiAgICAgIDxhICpuZ0lmPVwic2VsZWN0ZWRSb3dzLnNpemVcIj57e3NlbGVjdGVkUm93cy5zaXplfX08L2E+XG4gICAgPC9kaXY+XG4gICAgPGJpaXQtcGFnaW5hdG9yICpuZ0lmPVwicGFnaW5hdG9yXCJcbiAgICAgIFtuZ01vZGVsXT1cInBhZ2luYXRvclwiIChuZ01vZGVsQ2hhbmdlKT1cInBhZ2luYXRvciA9ICRldmVudDsgb25UYWJsZVVwZGF0ZSgpXCI+PC9iaWl0LXBhZ2luYXRvcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
304
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlpdC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXphcmRyeS10aGVtZS90YWJsZS9zcmMvYmlpdC10YWJsZS9iaWl0LXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemFyZHJ5LXRoZW1lL3RhYmxlL3NyYy9iaWl0LXRhYmxlL2JpaXQtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUdQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JGLE9BQU8sRUFBa0IscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUUvRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBSzVFLE1BQU0sT0FBTyw0QkFBNEI7SUFDdkMsWUFBb0IsTUFBMEI7UUFBMUIsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFDNUMsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDN0IsQ0FBQzs7MEhBSFUsNEJBQTRCOzhHQUE1Qiw0QkFBNEI7NEZBQTVCLDRCQUE0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QUM7SUFDcEUsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFTO1FBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ25DLENBQUM7O2dIQXZOVSxrQkFBa0I7b0dBQWxCLGtCQUFrQiw2UkFMbEIsQ0FBQztZQUNWLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFFBQVEsRUFBRSxFQUFDLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFDO1NBQzFELENBQUMsNkhDM0VKLHc4TUF3SUEsMjFKRDlHYSw0QkFBNEIseURBa0I1QiwwQkFBMEI7NEZBaUMxQixrQkFBa0I7a0JBVDlCLFNBQVM7K0JBQ0UsWUFBWSxhQUdYLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFFBQVEsRUFBRSxFQUFDLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFDO3lCQUMxRCxDQUFDO3lIQUlxQixLQUFLO3NCQUEzQixLQUFLO3VCQUFDLFVBQVU7Z0JBVUssUUFBUTtzQkFBN0IsS0FBSzt1QkFBQyxTQUFTO2dCQVNQLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRW1CLFVBQVU7c0JBQWxDLFlBQVk7dUJBQUMsU0FBUztnQkFRYixRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0NoZWNrZWQsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFRlbXBsYXRlUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCaWl0UGFnaW5hdG9yT3B0aW9uc30gZnJvbSAnLi4vYmlpdC1wYWdpbmF0b3IvbW9kZWxzL2JpaXQtcGFnaW5hdG9yLW9wdGlvbnMnO1xuaW1wb3J0IHtCaWl0VGFibGVDb2x1bW4sIEJpaXRUYWJsZUNvbHVtbkZvcm1hdH0gZnJvbSAnLi9tb2RlbHMvYmlpdC10YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHtDb2x1bW5SZXNpemVIYW5kbGVyfSBmcm9tICcuL21vZGVscy9jb2x1bW4tcmVzaXplLWhhbmRsZXInO1xuaW1wb3J0IHtCaWl0VGFibGVSZXNwb25zZX0gZnJvbSAnLi9tb2RlbHMvYmlpdC10YWJsZS1yZXNwb25zZSc7XG5pbXBvcnQge0JpaXRUYWJsZURhdGF9IGZyb20gJy4vbW9kZWxzL2JpaXQtdGFibGUtZGF0YSc7XG5pbXBvcnQge0JpaXRUYWJsZVNvcnRpbmcsIEJpaXRUYWJsZVNvcnRpbmdPcmRlcn0gZnJvbSAnLi9tb2RlbHMvYmlpdC10YWJsZS1zb3J0aW5nJztcbmltcG9ydCB7QmlpdE11bHRpc2VsZWN0VHlwZX0gZnJvbSAnQGJpaXQtc29sdXRpb25zL3dpemFyZHJ5LXRoZW1lL2lucHV0cyc7XG5pbXBvcnQge1RSQU5TTE9DT19TQ09QRX0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nO1xuaW1wb3J0IHtCaWl0VGFibGVBY3Rpb25SZXNwb25zZX0gZnJvbSBcIi4vbW9kZWxzL2JpaXQtdGFibGUtYWN0aW9uLXJlc3BvbnNlXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tzZWxlY3RhYmxlXSdcbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlU2VsZWN0YWJsZURpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFyZW50OiBCaWl0VGFibGVDb21wb25lbnQpIHtcbiAgICBwYXJlbnQuaXNTZWxlY3RhYmxlID0gdHJ1ZTtcbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2VsZWN0YWJsZVNpbmdsZV0nXG59KVxuZXhwb3J0IGNsYXNzIEJpaXRUYWJsZVNlbGVjdGFibGVTaW5nbGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmVudDogQmlpdFRhYmxlQ29tcG9uZW50KSB7XG4gICAgcGFyZW50LmlzU2VsZWN0YWJsZVNpbmdsZSA9IHRydWU7XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NvcnRhYmxlXSdcbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlU29ydGFibGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmVudDogQmlpdFRhYmxlQ29tcG9uZW50KSB7XG4gICAgcGFyZW50LmlzU29ydGFibGUgPSB0cnVlO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1toaWRlSGVhZGVyXSdcbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlSGVhZGVybGVzc0RpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFyZW50OiBCaWl0VGFibGVDb21wb25lbnQpIHtcbiAgICBwYXJlbnQuaGlkZUhlYWRlciA9IHRydWU7XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2hpZGVGb290ZXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBCaWl0VGFibGVGb290ZXJsZXNzRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYXJlbnQ6IEJpaXRUYWJsZUNvbXBvbmVudCkge1xuICAgIHBhcmVudC5oaWRlRm9vdGVyID0gdHJ1ZTtcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiaWl0LXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JpaXQtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iaWl0LXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBUUkFOU0xPQ09fU0NPUEUsXG4gICAgdXNlVmFsdWU6IHtzY29wZTogJ3dpemFyZHJ5LXRoZW1lL3RhYmxlJywgYWxpYXM6IFwidGFibGVcIn1cbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgQmlpdFRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdDaGVja2VkIHtcblxuICBASW5wdXQoJ21ldGFkYXRhJykgc2V0IF9kYXRhKGRhdGE6IEJpaXRUYWJsZURhdGE8YW55Pikge1xuICAgIGlmIChkYXRhKSB7XG4gICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgICAgdGhpcy5zZWxlY3RlZFJvd3MuY2xlYXIoKTtcbiAgICAgIGlmICh0aGlzLnBhZ2luYXRvcikge1xuICAgICAgICB0aGlzLnBhZ2luYXRvciA9IG5ldyBCaWl0UGFnaW5hdG9yT3B0aW9ucyh0aGlzLnBhZ2luYXRvci5jdXJyZW50UGFnZSwgdGhpcy5wYWdpbmF0b3IucGFnZVNpemUsIHRoaXMucGFnZVNpemVzLCBkYXRhLnRvdGFsSXRlbXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgnbG9hZGluZycpIHNldCBfbG9hZGluZyhsb2FkaW5nOiBib29sZWFuKSB7XG4gICAgaWYgKGxvYWRpbmcpIHtcbiAgICAgIHRoaXMubG9hZGluZyA9IGxvYWRpbmc7XG4gICAgICB0aGlzLnNldExvYWRpbmdCYXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgY29sdW1uczogQmlpdFRhYmxlQ29sdW1uW10gPSBbXTtcbiAgQElucHV0KCkgcGFnZVNpemVzOiBudW1iZXJbXSA9IFtdO1xuICBASW5wdXQoKSBkZWZhdWx0UGFnZVNpemU6IG51bWJlcjtcblxuICBAQ29udGVudENoaWxkKCdhY3Rpb25zJykgYWN0aW9uc1RwbCE6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgaXNTZWxlY3RhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIGlzU2VsZWN0YWJsZVNpbmdsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1NvcnRhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIGhpZGVIZWFkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaGlkZUZvb3RlcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBvblVwZGF0ZTogRXZlbnRFbWl0dGVyPEJpaXRUYWJsZVJlc3BvbnNlPiA9IG5ldyBFdmVudEVtaXR0ZXI8QmlpdFRhYmxlUmVzcG9uc2U+KCk7XG4gIEBPdXRwdXQoKSBvbkNlbGxBY3Rpb246IEV2ZW50RW1pdHRlcjxCaWl0VGFibGVBY3Rpb25SZXNwb25zZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEJpaXRUYWJsZUFjdGlvblJlc3BvbnNlPigpO1xuICBAT3V0cHV0KCkgb25Sb3dDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwcm90ZWN0ZWQgZGF0YTogQmlpdFRhYmxlRGF0YTxhbnk+O1xuICBwcm90ZWN0ZWQgcGFnaW5hdG9yO1xuICBwcm90ZWN0ZWQgc29ydGluZzogQmlpdFRhYmxlU29ydGluZztcbiAgcHJvdGVjdGVkIHNlbGVjdGVkUm93czogU2V0PGFueT4gPSBuZXcgU2V0PGFueT4oKTtcbiAgcHJvdGVjdGVkIGNvbHVtblJlc2l6ZTogQ29sdW1uUmVzaXplSGFuZGxlciA9IG5ldyBDb2x1bW5SZXNpemVIYW5kbGVyKCk7XG4gIHByb3RlY3RlZCBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBzZWFyY2g6IHN0cmluZyA9ICcnO1xuICBwcm90ZWN0ZWQgY3VycmVudFNlYXJjaDogc3RyaW5nID0gJyc7XG4gIHByb3RlY3RlZCByZWFkb25seSBCaWl0TXVsdGlzZWxlY3RUeXBlID0gQmlpdE11bHRpc2VsZWN0VHlwZTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEJpaXRUYWJsZUNvbHVtbkZvcm1hdCA9IEJpaXRUYWJsZUNvbHVtbkZvcm1hdDtcblxuICBwcml2YXRlIGZpbmRUaW1lb3V0OiBOb2RlSlMuVGltZW91dDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgICAgICAgIHByaXZhdGUgZWxlbTogRWxlbWVudFJlZikge1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYWdpbmF0b3IgPSBuZXcgQmlpdFBhZ2luYXRvck9wdGlvbnMoMSwgdGhpcy5kZWZhdWx0UGFnZVNpemUsIHRoaXMucGFnZVNpemVzLCB0aGlzLmRhdGEgPyB0aGlzLmRhdGEudG90YWxJdGVtcyA6IDEpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCkge1xuICAgIHRoaXMuc2V0Q29sdW1uU2l6ZSgpO1xuICB9XG5cbiAgLy8gRml4IGZvciByZXNpemFibGUgY29sdW1uc1xuICBwcml2YXRlIHNldENvbHVtblNpemUoKSB7XG4gICAgLy8gVGFrZXMgc2Nyb2xsYmFyIHBhZGRpbmcgaW4gbWluZCBiZWZvcmUgaGFyZGNvZGluZyB3aWR0aHNcbiAgICB0aGlzLmVsZW0ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuY29udGVudCcpLnN0eWxlLnBhZGRpbmdSaWdodCA9ICcwLjdyZW0nO1xuXG4gICAgQXJyYXkuZnJvbSh0aGlzLmVsZW0ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd0aGVhZCcpLmZpcnN0Q2hpbGQuY2hpbGRyZW4pLmZvckVhY2gob2dDb2x1bW4gPT4ge1xuICAgICAgY29uc3QgY29sdW1uID0gb2dDb2x1bW4gYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgIGlmIChjb2x1bW4uY2xhc3NMaXN0LmNvbnRhaW5zKCdzZWxlY3QnKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoY29sdW1uLnN0eWxlLndpZHRoID09ICcnICYmICFjb2x1bW4uY2xhc3NMaXN0LmNvbnRhaW5zKCdzZWxlY3QnKSkge1xuICAgICAgICBjb2x1bW4uc3R5bGUud2lkdGggPSBjb2x1bW4ub2Zmc2V0V2lkdGggLSAxMCArICdweCc7XG4gICAgICB9XG4gICAgICB0aGlzLmNvbHVtbklubmVyV29yZEZpdENoZWNrKGNvbHVtbik7XG4gICAgfSk7XG4gICAgdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmNvbnRlbnQnKS5zdHlsZS5wYWRkaW5nUmlnaHQgPSBudWxsO1xuXG4gICAgdGhpcy5zZXRMb2FkaW5nQmFyKCk7XG4gIH1cblxuICBjb2x1bW5Jbm5lcldvcmRGaXRDaGVjayhjb2x1bW46IEhUTUxFbGVtZW50KSB7XG4gICAgY29uc3QgbWluQ29sdW1uU2l6ZSA9IChjb2x1bW4uZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTEVsZW1lbnQpLm9mZnNldFdpZHRoXG4gICAgICArIDIuNCAqIHBhcnNlRmxvYXQoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmZvbnRTaXplKSAqIDI7XG5cbiAgICAvLyBJZiBpbm5lciB0ZXh0IHdpZHRoIHBsdXMgaGVhZGVyIHBhZGRpbmdzIGFyZSBsZXNzIHRoYW4gdGhlIGN1cnJlbnQgaGVhZGVyIHdpZHRoIChzZXQgYnkgdXNlciBjb2x1bW4gcHJvcGVydGllcylcbiAgICBpZiAobWluQ29sdW1uU2l6ZSA+IGNvbHVtbi5vZmZzZXRXaWR0aCkge1xuICAgICAgKGNvbHVtbiBhcyBIVE1MRWxlbWVudCkuc3R5bGUud2lkdGggPSBtaW5Db2x1bW5TaXplICsgJ3B4JztcbiAgICB9XG4gIH1cblxuICBzZXRMb2FkaW5nQmFyKCk6IHZvaWQge1xuICAgIGNvbnN0IHByb2dyZXNzQmFyID0gdGhpcy5lbGVtLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignYmlpdC1wcm9ncmVzcy1iYXInKTtcbiAgICBpZiAocHJvZ3Jlc3NCYXIpIHtcbiAgICAgIHByb2dyZXNzQmFyLnN0eWxlLnRvcCA9XG4gICAgICAgIHRoaXMuZWxlbS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3RoZWFkJykub2Zmc2V0SGVpZ2h0ICsgJ3B4JztcbiAgICB9XG4gIH1cblxuICBvblRhYmxlVXBkYXRlKGZvcmNlOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBpZiAodGhpcy5maW5kVGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZmluZFRpbWVvdXQpO1xuICAgIH1cbiAgICB0aGlzLmZpbmRUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRTZWFyY2ggPSB0aGlzLnNlYXJjaDtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLmNsZWFyKCk7XG4gICAgICB0aGlzLm9uVXBkYXRlLmVtaXQobmV3IEJpaXRUYWJsZVJlc3BvbnNlKFxuICAgICAgICB0aGlzLnBhZ2luYXRvci5jdXJyZW50UGFnZSxcbiAgICAgICAgdGhpcy5wYWdpbmF0b3IucGFnZVNpemUsXG4gICAgICAgIHRoaXMuc2VhcmNoLFxuICAgICAgICB0aGlzLnNvcnRpbmdcbiAgICAgICkpO1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuZmluZFRpbWVvdXQpO1xuICAgICAgdGhpcy5maW5kVGltZW91dCA9IG51bGw7XG4gICAgfSwgZm9yY2UgPyAwIDogNTAwKTtcbiAgfVxuXG4gIG9uVGFibGVTb3J0KGNvbHVtbjogQmlpdFRhYmxlQ29sdW1uKSB7XG4gICAgaWYgKHRoaXMuc29ydGluZyAmJiB0aGlzLnNvcnRpbmcubmFtZSA9PSBjb2x1bW4ubmFtZSkge1xuICAgICAgc3dpdGNoICh0aGlzLnNvcnRpbmcub3JkZXIpIHtcbiAgICAgICAgY2FzZSBCaWl0VGFibGVTb3J0aW5nT3JkZXIuQVNDOlxuICAgICAgICAgIHRoaXMuc29ydGluZy5vcmRlciA9IEJpaXRUYWJsZVNvcnRpbmdPcmRlci5ERVNDO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIEJpaXRUYWJsZVNvcnRpbmdPcmRlci5ERVNDOlxuICAgICAgICAgIHRoaXMuc29ydGluZyA9IHVuZGVmaW5lZDtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zb3J0aW5nID0gbmV3IEJpaXRUYWJsZVNvcnRpbmcoY29sdW1uLm5hbWUsIEJpaXRUYWJsZVNvcnRpbmdPcmRlci5BU0MpO1xuICAgIH1cblxuICAgIHRoaXMub25UYWJsZVVwZGF0ZSgpO1xuICB9XG5cbiAgc25ha2VUb0NhbWVsKHN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc3RyaW5nLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvWy1fXVthLXpdL2csIChncm91cCkgPT4gZ3JvdXAuc2xpY2UoLTEpLnRvVXBwZXJDYXNlKCkpO1xuICB9XG5cbiAgcmVzaXplQ29sdW1uKGV2ZW50LCBjb2x1bW46IEJpaXRUYWJsZUNvbHVtbiwgaW5kZXgpIHtcbiAgICB0aGlzLmNvbHVtblJlc2l6ZS5zdGFydCA9IGV2ZW50LnRhcmdldDtcbiAgICB0aGlzLmNvbHVtblJlc2l6ZS5wcmVzc2VkID0gdHJ1ZTtcbiAgICB0aGlzLmNvbHVtblJlc2l6ZS5zdGFydFggPSBldmVudC54O1xuICAgIHRoaXMuY29sdW1uUmVzaXplLnN0YXJ0V2lkdGggPSAodGhpcy5jb2x1bW5SZXNpemUuc3RhcnQucGFyZW50Tm9kZSBhcyBIVE1MRWxlbWVudCkub2Zmc2V0V2lkdGg7XG5cbiAgICBsZXQgY29sdW1uRWxlbSA9IHRoaXMuZWxlbS5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3RoZWFkJykuZmlyc3RDaGlsZC5jaGlsZHJlblt0aGlzLmlzU2VsZWN0YWJsZSA/IGluZGV4ICsgMSA6IGluZGV4XTtcbiAgICB0aGlzLmNvbHVtblJlc2l6ZS5taW5XaWR0aCA9IChjb2x1bW5FbGVtLmZpcnN0RWxlbWVudENoaWxkIGFzIEhUTUxFbGVtZW50KS5vZmZzZXRXaWR0aFxuICAgICAgKyAyLjQgKiBwYXJzZUZsb2F0KGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5mb250U2l6ZSkgKiAyO1xuXG4gICAgdGhpcy5pbml0UmVzaXphYmxlQ29sdW1ucyhjb2x1bW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0UmVzaXphYmxlQ29sdW1ucyhjb2x1bW46IEJpaXRUYWJsZUNvbHVtbikge1xuICAgIGNvbnN0IG1vdmVMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAnbW91c2Vtb3ZlJywgKGV2ZW50KSA9PiB7XG4gICAgICBpZiAodGhpcy5jb2x1bW5SZXNpemUucHJlc3NlZCkge1xuICAgICAgICBsZXQgd2lkdGggPSB0aGlzLmNvbHVtblJlc2l6ZS5zdGFydFdpZHRoICsgKGV2ZW50LnggLSB0aGlzLmNvbHVtblJlc2l6ZS5zdGFydFgpO1xuICAgICAgICBpZiAod2lkdGggPiB0aGlzLmNvbHVtblJlc2l6ZS5taW5XaWR0aCkge1xuICAgICAgICAgIGNvbHVtbi53aWR0aCA9IHdpZHRoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbiAgICBjb25zdCByZWxlYXNlTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ21vdXNldXAnLCAoZXZlbnQpID0+IHtcbiAgICAgIGlmICh0aGlzLmNvbHVtblJlc2l6ZS5wcmVzc2VkKSB7XG4gICAgICAgIHRoaXMuY29sdW1uUmVzaXplLnByZXNzZWQgPSBmYWxzZTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICBtb3ZlTGlzdGVuZXIoKTtcbiAgICAgICAgcmVsZWFzZUxpc3RlbmVyKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBzZXRDb2x1bW5WaXNpYmlsaXR5KHJlc3BvbnNlOiBCaWl0VGFibGVDb2x1bW5bXSkge1xuICAgIHRoaXMuY29sdW1ucy5mb3JFYWNoKGMgPT4gcmVzcG9uc2Uuc29tZShlID0+IGUubmFtZSA9PSBjLm5hbWUpID8gYy52aXNpYmxlID0gdHJ1ZSA6IGMudmlzaWJsZSA9IGZhbHNlKTtcbiAgfVxuXG4gIHNlbGVjdFJvdyhpdGVtLCBob2xkQ3RybCkge1xuICAgIGlmICghaG9sZEN0cmwgfHwgdGhpcy5pc1NlbGVjdGFibGVTaW5nbGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLmNsZWFyKCk7XG4gICAgICB0aGlzLnNlbGVjdGVkUm93cy5hZGQoaXRlbSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghdGhpcy5zZWxlY3RlZFJvd3MuaGFzKGl0ZW0pKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLmFkZChpdGVtKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRSb3dzLmRlbGV0ZShpdGVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRTZWxlY3RlZFJvd3MoKTogYW55W10ge1xuICAgIHJldHVybiBbLi4udGhpcy5zZWxlY3RlZFJvd3NdO1xuICB9XG5cbiAgc2V0U2VsZWN0ZWRSb3dzKF9zZWxlY3RlZFJvd3M6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZFJvd3MgPSBuZXcgU2V0PGFueT4oX3NlbGVjdGVkUm93cyk7XG4gIH1cblxuICBlbWl0Q2VsbEFjdGlvbihpdGVtOiBhbnksIGNvbHVtbjogc3RyaW5nLCBldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLm9uQ2VsbEFjdGlvbi5lbWl0KG5ldyBCaWl0VGFibGVBY3Rpb25SZXNwb25zZShpdGVtLCBjb2x1bW4pKTtcbiAgfVxuXG4gIGVtaXRSb3dDbGljayhpdGVtOiBhbnkpIHtcbiAgICB0aGlzLm9uUm93Q2xpY2suZW1pdChpdGVtKTtcbiAgfVxuXG4gIHJlc2V0SW5wdXRWYWx1ZSgpIHtcbiAgICB0aGlzLnNlYXJjaCA9IHRoaXMuY3VycmVudFNlYXJjaDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNhbnZhc1wiICp0cmFuc2xvY289XCJsZXQgdFwiPlxuICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCIgKm5nSWY9XCIhaGlkZUhlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJidXR0b25zXCIgaWQ9XCJtZW51XCI+XG4gICAgICA8YmlpdC12ZXJ0aWNhbC1tZW51ICpuZ0lmPVwiYWN0aW9uc1RwbFwiIGNsYXNzPVwidmVydGljYWwtbWVudVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWN0aW9uc1RwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9iaWl0LXZlcnRpY2FsLW1lbnU+XG4gICAgICA8ZGl2ICpuZ0lmPVwiYWN0aW9uc1RwbFwiIGNsYXNzPVwiaG9yaXpvbnRhbC1tZW51XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhY3Rpb25zVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCIhYWN0aW9uc1RwbFwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybXNcIj5cbiAgICAgIDxiaWl0LWlucHV0LXRleHQgaWQ9XCJzZWFyY2gtZmllbGRcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFwiXG4gICAgICAgICAgICAgICAgICAgICAgIChvbkFjdGlvblBlcmZvcm1lZCk9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBwYWdpbmF0b3IuY3VycmVudFBhZ2UgPSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgIG9uVGFibGVVcGRhdGUodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgIChmb2N1c291dCk9XCJyZXNldElucHV0VmFsdWUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVGFibGVVcGRhdGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgIGljb249XCJzZWFyY2hcIlxuICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwidCgndGFibGUuc2VhcmNoJylcIlxuICAgICAgPjwvYmlpdC1pbnB1dC10ZXh0PlxuICAgICAgPGJpaXQtbXVsdGlzZWxlY3QgaWQ9XCJjb2x1bW4tc2VsZWN0b3JcIiBbbmdNb2RlbF09XCJjb2x1bW5zIHwgdmlzaWJsZUNvbHVtbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0Q29sdW1uVmlzaWJpbGl0eSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhXT1cImNvbHVtbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9XCJsYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInZpc2libGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cInQoJ3RhYmxlLmNvbHVtbi1zZWxlY3RvcicpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0eXBlXT1cIkJpaXRNdWx0aXNlbGVjdFR5cGUuSUNPTlwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29tcGFjdF09XCJ0cnVlXCJcbiAgICAgID48L2JpaXQtbXVsdGlzZWxlY3Q+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgPGRpdiAqbmdJZj1cImxvYWRpbmdcIiBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZVwiPlxuICAgICAgPGJpaXQtcHJvZ3Jlc3MtYmFyIHN0eWxlPVwicG9zaXRpb246IGFic29sdXRlOyB0b3A6IDIuMXJlbTsgbGVmdDogMC4ycmVtOyB3aWR0aDogY2FsYygxMDAlIC0gMC4xcmVtKTtcIj48L2JpaXQtcHJvZ3Jlc3MtYmFyPlxuICAgIDwvZGl2PlxuICAgIDx0YWJsZT5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aCAqbmdJZj1cImlzU2VsZWN0YWJsZSB8fCBpc1NlbGVjdGFibGVTaW5nbGVcIiBjbGFzcz1cInNlbGVjdFwiPlxuICAgICAgICAgICAgPGJpaXQtY2hlY2tib3ggKm5nSWY9XCJpc1NlbGVjdGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiZGF0YT8uZGF0YS5sZW5ndGggJiYgc2VsZWN0ZWRSb3dzLnNpemUgPT0gZGF0YT8uZGF0YS5sZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiJGV2ZW50ID8gZGF0YT8uZGF0YS5mb3JFYWNoKHNlbGVjdGVkUm93cy5hZGQsIHNlbGVjdGVkUm93cykgOiBzZWxlY3RlZFJvd3MuY2xlYXIoKVwiXG4gICAgICAgICAgICA+PC9iaWl0LWNoZWNrYm94PlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1ucywgaW5kZXggYXMgaVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5zb3J0YWJsZV09XCJpc1NvcnRhYmxlXCJcbiAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiIWNvbHVtbi52aXNpYmxlID8gJ25vbmUnIDogbnVsbFwiXG4gICAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJjb2x1bW4ud2lkdGggPyBjb2x1bW4ud2lkdGggKyAncHgnIDogJydcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiaXNTb3J0YWJsZSA/IG9uVGFibGVTb3J0KGNvbHVtbikgOiBmYWxzZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+XG4gICAgICAgICAgICAgIHt7Y29sdW1uLmxhYmVsfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGJpaXQtaWNvbiAqbmdJZj1cImlzU29ydGFibGVcIlxuICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJzb3J0aW5nPy5uYW1lID09IGNvbHVtbi5uYW1lID8gJ3JpZ2h0X2Fycm93JyA6ICd1cF9kb3duX2Fycm93J1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFtwYXRoU3R5bGVdPVwie2ZpbGw6ICcjRkZGRkZGJ31cIlxuICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNvcnRcIlxuICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXNjXT1cInNvcnRpbmc/Lm5hbWUgPT0gY29sdW1uLm5hbWUgJiYgc29ydGluZz8ub3JkZXIgPT0gJ2FzYydcIlxuICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGVzY109XCJzb3J0aW5nPy5uYW1lID09IGNvbHVtbi5uYW1lICYmIHNvcnRpbmc/Lm9yZGVyID09ICdkZXNjJ1wiXG4gICAgICAgICAgICA+PC9iaWl0LWljb24+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uLXJlc2l6ZXJcIlxuICAgICAgICAgICAgICAgICAobW91c2Vkb3duKT1cInJlc2l6ZUNvbHVtbigkZXZlbnQsIGNvbHVtbiwgaSlcIlxuICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1wiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGhlYWQ+XG4gICAgICA8dGJvZHk+XG4gICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBkYXRhPy5kYXRhOyBpbmRleCBhcyBpXCJcbiAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RhYmxlXT1cImlzU2VsZWN0YWJsZVwiXG4gICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwic2VsZWN0ZWRSb3dzLmhhcyhpdGVtKVwiXG4gICAgICAgICAgICAocG9pbnRlcmRvd24pPVwiZW1pdFJvd0NsaWNrKGl0ZW0pXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHRkICpuZ0lmPVwiaXNTZWxlY3RhYmxlIHx8IGlzU2VsZWN0YWJsZVNpbmdsZVwiIGNsYXNzPVwic2VsZWN0XCI+XG4gICAgICAgICAgICAgIDxiaWl0LWNoZWNrYm94IGlkPVwic2VsZWN0e3tpfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJzZWxlY3RlZFJvd3MuaGFzKGl0ZW0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0Um93KGl0ZW0sIHRydWUpXCJcbiAgICAgICAgICAgICAgPjwvYmlpdC1jaGVja2JveD5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zXCJcbiAgICAgICAgICAgICAgICAocG9pbnRlcmRvd24pPVwic2VsZWN0Um93KGl0ZW0sICRldmVudC5jdHJsS2V5KVwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiIWNvbHVtbi52aXNpYmxlID8gJ25vbmUnIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cImNvbHVtbi53aWR0aCA/IGNvbHVtbi53aWR0aCArICdweCcgOiBudWxsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbi5mb3JtYXQgPT0gQmlpdFRhYmxlQ29sdW1uRm9ybWF0LkRFRkFVTFRcIj5cbiAgICAgICAgICAgICAgICB7e2l0ZW0gfCBjb2x1bW5EYXRhOiBjb2x1bW4ubmFtZX19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sdW1uLmZvcm1hdCA9PSBCaWl0VGFibGVDb2x1bW5Gb3JtYXQuQk9PTEVBTlwiPlxuICAgICAgICAgICAgICAgIHt7KGl0ZW0gfCBjb2x1bW5EYXRhOiBjb2x1bW4ubmFtZSkgPyB0KCd0YWJsZS55ZXMnKSA6IHQoJ3RhYmxlLm5vJykgfX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4uZm9ybWF0ID09IEJpaXRUYWJsZUNvbHVtbkZvcm1hdC5EQVRFXCI+XG4gICAgICAgICAgICAgICAge3soaXRlbSB8IGNvbHVtbkRhdGE6IGNvbHVtbi5uYW1lKSB8IGxvY2FsaXplZERhdGV9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbi5mb3JtYXQgPT0gQmlpdFRhYmxlQ29sdW1uRm9ybWF0LkJVVFRPTlwiXG4gICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogYXV0bzsgdGV4dC1hbGlnbjogLXdlYmtpdC1jZW50ZXI7IHRleHQtYWxpZ246IC1tb3otY2VudGVyO1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gYmlpdC1idXR0b24gdGVydGlhcnlcbiAgICAgICAgICAgICAgICAgICAgICAgIChwb2ludGVyZG93bik9XCJlbWl0Q2VsbEFjdGlvbihpdGVtLCBjb2x1bW4ubmFtZSwgJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAge3tpdGVtIHwgY29sdW1uRGF0YTogY29sdW1uLm5hbWV9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbHVtbi5mb3JtYXQgPT0gQmlpdFRhYmxlQ29sdW1uRm9ybWF0LklDT05fQlVUVE9OXCJcbiAgICAgICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiBhdXRvOyB0ZXh0LWFsaWduOiAtd2Via2l0LWNlbnRlcjsgdGV4dC1hbGlnbjogLW1vei1jZW50ZXI7XCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBiaWl0LWljb24gW2ljb25dPVwiaXRlbSB8IGNvbHVtbkRhdGE6IGNvbHVtbi5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChwb2ludGVyZG93bik9XCJlbWl0Q2VsbEFjdGlvbihpdGVtLCBjb2x1bW4ubmFtZSwgJGV2ZW50KTtcIj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4uZm9ybWF0ID09IEJpaXRUYWJsZUNvbHVtbkZvcm1hdC5JQ09OXCJcbiAgICAgICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiBhdXRvOyBoZWlnaHQ6IDEuMDVyZW07XCI+XG4gICAgICAgICAgICAgICAgPGJpaXQtaWNvbiBbbmFtZV09XCJpdGVtIHwgY29sdW1uRGF0YTogY29sdW1uLm5hbWVcIj48L2JpaXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2x1bW4uZm9ybWF0ID09IEJpaXRUYWJsZUNvbHVtbkZvcm1hdC5DVVNUT01fSFRNTFwiXG4gICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogYXV0bzsgdGV4dC1hbGlnbjogLXdlYmtpdC1jZW50ZXI7IHRleHQtYWxpZ246IC1tb3otY2VudGVyO1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJpdGVtIHwgY29sdW1uRGF0YTogY29sdW1uLm5hbWVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90Ym9keT5cbiAgICA8L3RhYmxlPlxuXG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJmb290ZXJcIiAqbmdJZj1cIiFoaWRlRm9vdGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkXCI+XG4gICAgICA8YSBzdHlsZT1cIm1hcmdpbi1yaWdodDogMC43cmVtXCIgKm5nSWY9XCJzZWxlY3RlZFJvd3Muc2l6ZVwiPlNlbGVjdGVkOjwvYT5cbiAgICAgIDxhICpuZ0lmPVwic2VsZWN0ZWRSb3dzLnNpemVcIj57e3NlbGVjdGVkUm93cy5zaXplfX08L2E+XG4gICAgPC9kaXY+XG4gICAgPGJpaXQtcGFnaW5hdG9yICpuZ0lmPVwicGFnaW5hdG9yXCJcbiAgICAgIFtuZ01vZGVsXT1cInBhZ2luYXRvclwiIChuZ01vZGVsQ2hhbmdlKT1cInBhZ2luYXRvciA9ICRldmVudDsgb25UYWJsZVVwZGF0ZSgpXCI+PC9iaWl0LXBhZ2luYXRvcj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -544,6 +544,9 @@ class BiitTableComponent {
544
544
  getSelectedRows() {
545
545
  return [...this.selectedRows];
546
546
  }
547
+ setSelectedRows(_selectedRows) {
548
+ this.selectedRows = new Set(_selectedRows);
549
+ }
547
550
  emitCellAction(item, column, event) {
548
551
  event.stopPropagation();
549
552
  this.onCellAction.emit(new BiitTableActionResponse(item, column));