@skyux/ag-grid 7.0.0-beta.17 → 7.0.0-beta.18

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.
Files changed (41) hide show
  1. package/documentation.json +1 -1
  2. package/esm2020/lib/modules/ag-grid/ag-grid-adapter.service.mjs +4 -5
  3. package/esm2020/lib/modules/ag-grid/ag-grid-data-manager-adapter.directive.mjs +5 -6
  4. package/esm2020/lib/modules/ag-grid/ag-grid-row-delete.component.mjs +4 -4
  5. package/esm2020/lib/modules/ag-grid/ag-grid-row-delete.directive.mjs +6 -6
  6. package/esm2020/lib/modules/ag-grid/ag-grid-wrapper.component.mjs +5 -8
  7. package/esm2020/lib/modules/ag-grid/ag-grid.module.mjs +5 -5
  8. package/esm2020/lib/modules/ag-grid/ag-grid.service.mjs +4 -7
  9. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.component.mjs +4 -4
  10. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-autocomplete/cell-editor-autocomplete.module.mjs +5 -5
  11. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.component.mjs +5 -5
  12. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-currency/cell-editor-currency.module.mjs +5 -5
  13. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.component.mjs +5 -6
  14. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-datepicker/cell-editor-datepicker.module.mjs +5 -5
  15. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.component.mjs +5 -5
  16. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-lookup/cell-editor-lookup.module.mjs +5 -5
  17. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.component.mjs +4 -4
  18. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-number/cell-editor-number.module.mjs +5 -5
  19. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.component.mjs +4 -4
  20. package/esm2020/lib/modules/ag-grid/cell-editors/cell-editor-text/cell-editor-text.module.mjs +5 -5
  21. package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency-validator.component.mjs +5 -5
  22. package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.component.mjs +4 -4
  23. package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-currency/cell-renderer-currency.module.mjs +5 -5
  24. package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.component.mjs +5 -5
  25. package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-lookup/cell-renderer-lookup.module.mjs +5 -5
  26. package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.component.mjs +5 -5
  27. package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-row-selector/cell-renderer-row-selector.module.mjs +5 -5
  28. package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.component.mjs +5 -5
  29. package/esm2020/lib/modules/ag-grid/cell-renderers/cell-renderer-validator-tooltip/cell-renderer-validator-tooltip.module.mjs +5 -5
  30. package/esm2020/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator-tooltip.component.mjs +5 -5
  31. package/esm2020/lib/modules/ag-grid/cell-validator/ag-grid-cell-validator.module.mjs +5 -5
  32. package/esm2020/lib/modules/ag-grid/header/header-group.component.mjs +6 -6
  33. package/esm2020/lib/modules/ag-grid/header/header.component.mjs +6 -6
  34. package/esm2020/lib/modules/ag-grid/types/header-group-info.mjs +4 -4
  35. package/esm2020/lib/modules/ag-grid/types/header-info.mjs +4 -4
  36. package/esm2020/lib/modules/shared/sky-ag-grid-resources.module.mjs +5 -5
  37. package/fesm2015/skyux-ag-grid.mjs +118 -118
  38. package/fesm2015/skyux-ag-grid.mjs.map +1 -1
  39. package/fesm2020/skyux-ag-grid.mjs +118 -118
  40. package/fesm2020/skyux-ag-grid.mjs.map +1 -1
  41. package/package.json +15 -15
@@ -5121,7 +5121,7 @@
5121
5121
  {
5122
5122
  "fileName": "data-entry-grid-docs-demo-context-menu.component.ts",
5123
5123
  "filePath": "/projects/ag-grid/documentation/code-examples/data-entry-grid/inline-help/data-entry-grid-docs-demo-context-menu.component.ts",
5124
- "rawContents": "import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\nimport { ICellRendererParams } from 'ag-grid-community';\n\n@Component({\n selector: 'app-data-entry-grid-docs-demo-context-menu',\n templateUrl: './data-entry-grid-docs-demo-context-menu.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDataEntryGridContextMenuComponent\n implements ICellRendererAngularComp\n{\n #name = '';\n\n public agInit(params: ICellRendererParams): void {\n this.#name = params.data && params.data.#name;\n }\n\n public refresh(): boolean {\n return false;\n }\n\n public actionClicked(action: string): void {\n alert(`${action} clicked for ${this.#name}`);\n }\n}\n"
5124
+ "rawContents": "import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\nimport { ICellRendererParams } from 'ag-grid-community';\n\n@Component({\n selector: 'app-data-entry-grid-docs-demo-context-menu',\n templateUrl: './data-entry-grid-docs-demo-context-menu.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDataEntryGridContextMenuComponent\n implements ICellRendererAngularComp\n{\n #name = '';\n\n public agInit(params: ICellRendererParams): void {\n this.#name = params.data && params.data.name;\n }\n\n public refresh(): boolean {\n return false;\n }\n\n public actionClicked(action: string): void {\n alert(`${action} clicked for ${this.#name}`);\n }\n}\n"
5125
5125
  },
5126
5126
  {
5127
5127
  "fileName": "data-entry-grid-docs-demo-data.ts",
@@ -1,5 +1,4 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { SkyCoreAdapterService } from '@skyux/core';
3
2
  import * as i0 from "@angular/core";
4
3
  import * as i1 from "@skyux/core";
5
4
  export class SkyAgGridAdapterService {
@@ -46,12 +45,12 @@ export class SkyAgGridAdapterService {
46
45
  }
47
46
  }
48
47
  }
49
- SkyAgGridAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAgGridAdapterService, deps: [{ token: i1.SkyCoreAdapterService }], target: i0.ɵɵFactoryTarget.Injectable });
50
- SkyAgGridAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAgGridAdapterService, providedIn: 'root' });
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAgGridAdapterService, decorators: [{
48
+ SkyAgGridAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridAdapterService, deps: [{ token: i1.SkyCoreAdapterService }], target: i0.ɵɵFactoryTarget.Injectable });
49
+ SkyAgGridAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridAdapterService, providedIn: 'root' });
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridAdapterService, decorators: [{
52
51
  type: Injectable,
53
52
  args: [{
54
53
  providedIn: 'root',
55
54
  }]
56
55
  }], ctorParameters: function () { return [{ type: i1.SkyCoreAdapterService }]; } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1hZGFwdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9hZy1ncmlkLWFkYXB0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBS3BELE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsWUFBb0IsaUJBQXdDO1FBQXhDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBdUI7SUFBRyxDQUFDO0lBRXpELDJCQUEyQixDQUNoQyxPQUFvQixFQUNwQixTQUFpQjtRQUVqQixJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNwRCxPQUFPLE9BQU8sQ0FBQztTQUNoQjthQUFNLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRTtZQUNoQyxPQUFPLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQzNFO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVNLHFCQUFxQixDQUFDLFFBQXFCLEVBQUUsUUFBZ0I7UUFDbEUsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFnQixDQUFDO1FBRXRFLDBCQUEwQjtRQUMxQixJQUFJLE9BQU8sRUFBRTtZQUNYLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNqQjtJQUNILENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsT0FBTyxRQUFRLENBQUMsYUFBNEIsQ0FBQztJQUMvQyxDQUFDO0lBRU0sdUJBQXVCLENBQzVCLFNBQXNCLEVBQ3RCLFFBQXNCLEVBQ3RCLGFBQXVCO1FBRXZCLElBQUksUUFBUSxFQUFFO1lBQ1osTUFBTSxpQkFBaUIsR0FDckIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3hELE1BQU0sbUJBQW1CLEdBQUcsaUJBQWlCLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2pFLE1BQU0sU0FBUyxHQUFHLGFBQWE7Z0JBQzdCLENBQUMsQ0FBQyxtQkFBbUIsR0FBRyxDQUFDO2dCQUN6QixDQUFDLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO1lBRTVCLElBQ0UsQ0FBQyxDQUFDLGFBQWEsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDO2dCQUN6RCxDQUFDLGFBQWEsSUFBSSxTQUFTLElBQUksQ0FBQyxDQUFDLEVBQ2pDO2dCQUNBLE9BQU8saUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDckM7U0FDRjtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTSx3QkFBd0IsQ0FBQyxPQUFvQjtRQUNsRCxNQUFNLGlCQUFpQixHQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdkQsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEVBQUU7WUFDNUIsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDOUI7SUFDSCxDQUFDOztvSEE1RFUsdUJBQXVCO3dIQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTsyRkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QWdHcmlkQWRhcHRlclNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNreUFkYXB0ZXJTZXJ2aWNlOiBTa3lDb3JlQWRhcHRlclNlcnZpY2UpIHt9XG5cbiAgcHVibGljIGdldEVsZW1lbnRPclBhcmVudFdpdGhDbGFzcyhcbiAgICBlbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgICBjbGFzc05hbWU6IHN0cmluZ1xuICApOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKGVsZW1lbnQgJiYgZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoY2xhc3NOYW1lKSkge1xuICAgICAgcmV0dXJuIGVsZW1lbnQ7XG4gICAgfSBlbHNlIGlmIChlbGVtZW50LnBhcmVudEVsZW1lbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldEVsZW1lbnRPclBhcmVudFdpdGhDbGFzcyhlbGVtZW50LnBhcmVudEVsZW1lbnQsIGNsYXNzTmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRGb2N1c2VkRWxlbWVudEJ5SWQocGFyZW50RWw6IEhUTUxFbGVtZW50LCBzZWxlY3Rvcjogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgZWxlbWVudCA9IHBhcmVudEVsLnF1ZXJ5U2VsZWN0b3IoYCMke3NlbGVjdG9yfWApIGFzIEhUTUxFbGVtZW50O1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgZWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRGb2N1c2VkRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0TmV4dEZvY3VzYWJsZUVsZW1lbnQoXG4gICAgY3VycmVudEVsOiBIVE1MRWxlbWVudCxcbiAgICBwYXJlbnRFbD86IEhUTUxFbGVtZW50LFxuICAgIG1vdmVGb2N1c0xlZnQ/OiBib29sZWFuXG4gICk6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAocGFyZW50RWwpIHtcbiAgICAgIGNvbnN0IGZvY3VzYWJsZUNoaWxkcmVuID1cbiAgICAgICAgdGhpcy5za3lBZGFwdGVyU2VydmljZS5nZXRGb2N1c2FibGVDaGlsZHJlbihwYXJlbnRFbCk7XG4gICAgICBjb25zdCBjdXJyZW50RWxlbWVudEluZGV4ID0gZm9jdXNhYmxlQ2hpbGRyZW4uaW5kZXhPZihjdXJyZW50RWwpO1xuICAgICAgY29uc3QgbmV4dEluZGV4ID0gbW92ZUZvY3VzTGVmdFxuICAgICAgICA/IGN1cnJlbnRFbGVtZW50SW5kZXggLSAxXG4gICAgICAgIDogY3VycmVudEVsZW1lbnRJbmRleCArIDE7XG5cbiAgICAgIGlmIChcbiAgICAgICAgKCFtb3ZlRm9jdXNMZWZ0ICYmIGZvY3VzYWJsZUNoaWxkcmVuLmxlbmd0aCA+PSBuZXh0SW5kZXgpIHx8XG4gICAgICAgIChtb3ZlRm9jdXNMZWZ0ICYmIG5leHRJbmRleCA+PSAwKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBmb2N1c2FibGVDaGlsZHJlbltuZXh0SW5kZXhdO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZm9jdXNPbkZvY3VzYWJsZUNoaWxkcmVuKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3QgZm9jdXNhYmxlQ2hpbGRyZW4gPVxuICAgICAgdGhpcy5za3lBZGFwdGVyU2VydmljZS5nZXRGb2N1c2FibGVDaGlsZHJlbihlbGVtZW50KTtcblxuICAgIGlmIChmb2N1c2FibGVDaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgIGZvY3VzYWJsZUNoaWxkcmVuWzBdLmZvY3VzKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1hZGFwdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9hZy1ncmlkLWFkYXB0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUFvQixpQkFBd0M7UUFBeEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF1QjtJQUFHLENBQUM7SUFFekQsMkJBQTJCLENBQ2hDLE9BQW9CLEVBQ3BCLFNBQWlCO1FBRWpCLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3BELE9BQU8sT0FBTyxDQUFDO1NBQ2hCO2FBQU0sSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLDJCQUEyQixDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDM0U7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU0scUJBQXFCLENBQUMsUUFBcUIsRUFBRSxRQUFnQjtRQUNsRSxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksUUFBUSxFQUFFLENBQWdCLENBQUM7UUFFdEUsMEJBQTBCO1FBQzFCLElBQUksT0FBTyxFQUFFO1lBQ1gsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixPQUFPLFFBQVEsQ0FBQyxhQUE0QixDQUFDO0lBQy9DLENBQUM7SUFFTSx1QkFBdUIsQ0FDNUIsU0FBc0IsRUFDdEIsUUFBc0IsRUFDdEIsYUFBdUI7UUFFdkIsSUFBSSxRQUFRLEVBQUU7WUFDWixNQUFNLGlCQUFpQixHQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDeEQsTUFBTSxtQkFBbUIsR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDakUsTUFBTSxTQUFTLEdBQUcsYUFBYTtnQkFDN0IsQ0FBQyxDQUFDLG1CQUFtQixHQUFHLENBQUM7Z0JBQ3pCLENBQUMsQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLENBQUM7WUFFNUIsSUFDRSxDQUFDLENBQUMsYUFBYSxJQUFJLGlCQUFpQixDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUM7Z0JBQ3pELENBQUMsYUFBYSxJQUFJLFNBQVMsSUFBSSxDQUFDLENBQUMsRUFDakM7Z0JBQ0EsT0FBTyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNyQztTQUNGO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVNLHdCQUF3QixDQUFDLE9BQW9CO1FBQ2xELE1BQU0saUJBQWlCLEdBQ3JCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV2RCxJQUFJLGlCQUFpQixDQUFDLE1BQU0sRUFBRTtZQUM1QixpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUM5QjtJQUNILENBQUM7O3FIQTVEVSx1QkFBdUI7eUhBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzRGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lDb3JlQWRhcHRlclNlcnZpY2UgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBZ0dyaWRBZGFwdGVyU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2t5QWRhcHRlclNlcnZpY2U6IFNreUNvcmVBZGFwdGVyU2VydmljZSkge31cblxuICBwdWJsaWMgZ2V0RWxlbWVudE9yUGFyZW50V2l0aENsYXNzKFxuICAgIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICAgIGNsYXNzTmFtZTogc3RyaW5nXG4gICk6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhjbGFzc05hbWUpKSB7XG4gICAgICByZXR1cm4gZWxlbWVudDtcbiAgICB9IGVsc2UgaWYgKGVsZW1lbnQucGFyZW50RWxlbWVudCkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0RWxlbWVudE9yUGFyZW50V2l0aENsYXNzKGVsZW1lbnQucGFyZW50RWxlbWVudCwgY2xhc3NOYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIHNldEZvY3VzZWRFbGVtZW50QnlJZChwYXJlbnRFbDogSFRNTEVsZW1lbnQsIHNlbGVjdG9yOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50ID0gcGFyZW50RWwucXVlcnlTZWxlY3RvcihgIyR7c2VsZWN0b3J9YCkgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICBlbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEZvY3VzZWRFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBnZXROZXh0Rm9jdXNhYmxlRWxlbWVudChcbiAgICBjdXJyZW50RWw6IEhUTUxFbGVtZW50LFxuICAgIHBhcmVudEVsPzogSFRNTEVsZW1lbnQsXG4gICAgbW92ZUZvY3VzTGVmdD86IGJvb2xlYW5cbiAgKTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIGlmIChwYXJlbnRFbCkge1xuICAgICAgY29uc3QgZm9jdXNhYmxlQ2hpbGRyZW4gPVxuICAgICAgICB0aGlzLnNreUFkYXB0ZXJTZXJ2aWNlLmdldEZvY3VzYWJsZUNoaWxkcmVuKHBhcmVudEVsKTtcbiAgICAgIGNvbnN0IGN1cnJlbnRFbGVtZW50SW5kZXggPSBmb2N1c2FibGVDaGlsZHJlbi5pbmRleE9mKGN1cnJlbnRFbCk7XG4gICAgICBjb25zdCBuZXh0SW5kZXggPSBtb3ZlRm9jdXNMZWZ0XG4gICAgICAgID8gY3VycmVudEVsZW1lbnRJbmRleCAtIDFcbiAgICAgICAgOiBjdXJyZW50RWxlbWVudEluZGV4ICsgMTtcblxuICAgICAgaWYgKFxuICAgICAgICAoIW1vdmVGb2N1c0xlZnQgJiYgZm9jdXNhYmxlQ2hpbGRyZW4ubGVuZ3RoID49IG5leHRJbmRleCkgfHxcbiAgICAgICAgKG1vdmVGb2N1c0xlZnQgJiYgbmV4dEluZGV4ID49IDApXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGZvY3VzYWJsZUNoaWxkcmVuW25leHRJbmRleF07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1c09uRm9jdXNhYmxlQ2hpbGRyZW4oZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCBmb2N1c2FibGVDaGlsZHJlbiA9XG4gICAgICB0aGlzLnNreUFkYXB0ZXJTZXJ2aWNlLmdldEZvY3VzYWJsZUNoaWxkcmVuKGVsZW1lbnQpO1xuXG4gICAgaWYgKGZvY3VzYWJsZUNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgZm9jdXNhYmxlQ2hpbGRyZW5bMF0uZm9jdXMoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,7 +1,6 @@
1
1
  var _SkyAgGridDataManagerAdapterDirective_instances, _SkyAgGridDataManagerAdapterDirective_currentAgGrid, _SkyAgGridDataManagerAdapterDirective_currentDataState, _SkyAgGridDataManagerAdapterDirective_currentSkyAgGridWrapper, _SkyAgGridDataManagerAdapterDirective_dataStateSub, _SkyAgGridDataManagerAdapterDirective_viewConfig, _SkyAgGridDataManagerAdapterDirective_ngUnsubscribe, _SkyAgGridDataManagerAdapterDirective_changeDetector, _SkyAgGridDataManagerAdapterDirective_dataManagerSvc, _SkyAgGridDataManagerAdapterDirective_checkForAgGrid, _SkyAgGridDataManagerAdapterDirective_checkForSkyAgGridWrapper, _SkyAgGridDataManagerAdapterDirective_unregisterAgGrid, _SkyAgGridDataManagerAdapterDirective_unregisterSkyAgGridWrapper, _SkyAgGridDataManagerAdapterDirective_registerSkyAgGridWrapper, _SkyAgGridDataManagerAdapterDirective_registerAgGrid, _SkyAgGridDataManagerAdapterDirective_updateColumnsInCurrentDataState, _SkyAgGridDataManagerAdapterDirective_getColumnOrder, _SkyAgGridDataManagerAdapterDirective_displayColumns, _SkyAgGridDataManagerAdapterDirective_selectAll, _SkyAgGridDataManagerAdapterDirective_clearAll;
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { ChangeDetectorRef, ContentChildren, Directive, Input, } from '@angular/core';
4
- import { SkyDataManagerService, } from '@skyux/data-manager';
3
+ import { ContentChildren, Directive, Input, } from '@angular/core';
5
4
  import { AgGridAngular } from 'ag-grid-angular';
6
5
  import { Subject } from 'rxjs';
7
6
  import { filter, takeUntil } from 'rxjs/operators';
@@ -215,9 +214,9 @@ _SkyAgGridDataManagerAdapterDirective_currentAgGrid = new WeakMap(), _SkyAgGridD
215
214
  const agGrid = this.agGridList?.first;
216
215
  agGrid?.api.deselectAll();
217
216
  };
218
- SkyAgGridDataManagerAdapterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAgGridDataManagerAdapterDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyDataManagerService }], target: i0.ɵɵFactoryTarget.Directive });
219
- SkyAgGridDataManagerAdapterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: SkyAgGridDataManagerAdapterDirective, selector: "[skyAgGridDataManagerAdapter]", inputs: { viewId: "viewId" }, queries: [{ propertyName: "agGridList", predicate: AgGridAngular, descendants: true }, { propertyName: "skyAgGridWrapperList", predicate: SkyAgGridWrapperComponent, descendants: true }], ngImport: i0 });
220
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAgGridDataManagerAdapterDirective, decorators: [{
217
+ SkyAgGridDataManagerAdapterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridDataManagerAdapterDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyDataManagerService }], target: i0.ɵɵFactoryTarget.Directive });
218
+ SkyAgGridDataManagerAdapterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.11", type: SkyAgGridDataManagerAdapterDirective, selector: "[skyAgGridDataManagerAdapter]", inputs: { viewId: "viewId" }, queries: [{ propertyName: "agGridList", predicate: AgGridAngular, descendants: true }, { propertyName: "skyAgGridWrapperList", predicate: SkyAgGridWrapperComponent, descendants: true }], ngImport: i0 });
219
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridDataManagerAdapterDirective, decorators: [{
221
220
  type: Directive,
222
221
  args: [{
223
222
  selector: '[skyAgGridDataManagerAdapter]',
@@ -231,4 +230,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
231
230
  type: ContentChildren,
232
231
  args: [SkyAgGridWrapperComponent, { descendants: true }]
233
232
  }] } });
234
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1kYXRhLW1hbmFnZXItYWRhcHRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9hZy1ncmlkLWRhdGEtbWFuYWdlci1hZGFwdGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsZUFBZSxFQUNmLFNBQVMsRUFDVCxLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLHFCQUFxQixHQUl0QixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVFoRCxPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFFeEU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sb0NBQW9DO0lBcUIvQyxZQUNFLGNBQWlDLEVBQ2pDLGNBQXFDOztRQVh2QyxzRUFBMEM7UUFDMUMseUVBQW1EO1FBQ25ELGdGQUFnRTtRQUNoRSxxRUFBd0M7UUFDeEMsbUVBQTJDO1FBQzNDLDhEQUFpQixJQUFJLE9BQU8sRUFBUSxFQUFDO1FBQ3JDLHVFQUFtQztRQUNuQyx1RUFBdUM7UUFNckMsdUJBQUEsSUFBSSx3REFBbUIsY0FBYyxNQUFBLENBQUM7UUFDdEMsdUJBQUEsSUFBSSx3REFBbUIsY0FBYyxNQUFBLENBQUM7SUFDeEMsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZix1QkFBQSxJQUFJLDREQUFnQixDQUFDLG9CQUFvQixDQUFDLElB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O0FBQzFCLENBQUM7SUFHQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQztJQUN0QyxNQUFNLEVBQUUsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQzVCLENBQUM7aUlBblRVLG9DQUFvQztxSEFBcEMsb0NBQW9DLDhIQU05QixhQUFhLDBFQUdiLHlCQUF5QjsyRkFUL0Isb0NBQW9DO2tCQUhoRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwrQkFBK0I7aUJBQzFDOzRJQUtRLE1BQU07c0JBRFosS0FBSztnQkFJQyxVQUFVO3NCQURoQixlQUFlO3VCQUFDLGFBQWEsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBSTlDLG9CQUFvQjtzQkFEMUIsZUFBZTt1QkFBQyx5QkFBeUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTa3lEYXRhTWFuYWdlclNlcnZpY2UsXG4gIFNreURhdGFNYW5hZ2VyU29ydE9wdGlvbixcbiAgU2t5RGF0YU1hbmFnZXJTdGF0ZSxcbiAgU2t5RGF0YVZpZXdDb25maWcsXG59IGZyb20gJ0Bza3l1eC9kYXRhLW1hbmFnZXInO1xuXG5pbXBvcnQgeyBBZ0dyaWRBbmd1bGFyIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcbmltcG9ydCB7XG4gIENvbHVtbkFwaSxcbiAgQ29sdW1uTW92ZWRFdmVudCxcbiAgQ29sdW1uU3RhdGUsXG4gIERyYWdTdG9wcGVkRXZlbnQsXG4gIFJvd1NlbGVjdGVkRXZlbnQsXG59IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUFnR3JpZFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL2FnLWdyaWQtd3JhcHBlci5jb21wb25lbnQnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2t5QWdHcmlkRGF0YU1hbmFnZXJBZGFwdGVyXScsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFnR3JpZERhdGFNYW5hZ2VyQWRhcHRlckRpcmVjdGl2ZVxuICBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveVxue1xuICBASW5wdXQoKVxuICBwdWJsaWMgdmlld0lkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihBZ0dyaWRBbmd1bGFyLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHB1YmxpYyBhZ0dyaWRMaXN0OiBRdWVyeUxpc3Q8QWdHcmlkQW5ndWxhcj4gfCB1bmRlZmluZWQ7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihTa3lBZ0dyaWRXcmFwcGVyQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHB1YmxpYyBza3lBZ0dyaWRXcmFwcGVyTGlzdDogUXVlcnlMaXN0PFNreUFnR3JpZFdyYXBwZXJDb21wb25lbnQ+IHwgdW5kZWZpbmVkO1xuXG4gICNjdXJyZW50QWdHcmlkOiBBZ0dyaWRBbmd1bGFyIHwgdW5kZWZpbmVkO1xuICAjY3VycmVudERhdGFTdGF0ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZSB8IHVuZGVmaW5lZDtcbiAgI2N1cnJlbnRTa3lBZ0dyaWRXcmFwcGVyOiBTa3lBZ0dyaWRXcmFwcGVyQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuICAjZGF0YVN0YXRlU3ViOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG4gICN2aWV3Q29uZmlnOiBTa3lEYXRhVmlld0NvbmZpZyB8IHVuZGVmaW5lZDtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjZGF0YU1hbmFnZXJTdmM6IFNreURhdGFNYW5hZ2VyU2VydmljZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgZGF0YU1hbmFnZXJTdmM6IFNreURhdGFNYW5hZ2VyU2VydmljZVxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI2RhdGFNYW5hZ2VyU3ZjID0gZGF0YU1hbmFnZXJTdmM7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnZpZXdJZCkge1xuICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTdmMuc2V0Vmlld2tlZXBlckNsYXNzZXModGhpcy52aWV3SWQsIFsnLmFnLWhlYWRlciddKTtcbiAgICAgIHRoaXMuI3ZpZXdDb25maWcgPSB0aGlzLiNkYXRhTWFuYWdlclN2Yy5nZXRWaWV3QnlJZCh0aGlzLnZpZXdJZCk7XG5cbiAgICAgIHRoaXMuI2NoZWNrRm9yQWdHcmlkKCk7XG4gICAgICB0aGlzLiNjaGVja0ZvclNreUFnR3JpZFdyYXBwZXIoKTtcblxuICAgICAgdGhpcy5hZ0dyaWRMaXN0Py5jaGFuZ2VzXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLiNjaGVja0ZvckFnR3JpZCgpKTtcblxuICAgICAgdGhpcy5za3lBZ0dyaWRXcmFwcGVyTGlzdD8uY2hhbmdlc1xuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy4jY2hlY2tGb3JTa3lBZ0dyaWRXcmFwcGVyKCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICAjY2hlY2tGb3JBZ0dyaWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWdHcmlkTGlzdCkge1xuICAgICAgY29uc3QgYWdHcmlkQ291bnQgPSB0aGlzLmFnR3JpZExpc3QubGVuZ3RoO1xuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKGFnR3JpZENvdW50ID09PSAwKSB7XG4gICAgICAgIHRoaXMuI3VucmVnaXN0ZXJBZ0dyaWQoKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5hZ0dyaWRMaXN0LmZpcnN0ICE9PSB0aGlzLiNjdXJyZW50QWdHcmlkKSB7XG4gICAgICAgIHRoaXMuI3JlZ2lzdGVyQWdHcmlkKCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChhZ0dyaWRDb3VudCA+IDEpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICdNb3JlIHRoYW4gb25lIGFnLWdyaWQgY2hpbGQgY29tcG9uZW50IHdhcyBmb3VuZC4gVXNpbmcgdGhlIGZpcnN0IGFnLUdyaWQuJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNjaGVja0ZvclNreUFnR3JpZFdyYXBwZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2t5QWdHcmlkV3JhcHBlckxpc3QpIHtcbiAgICAgIGNvbnN0IHNreUFnR3JpZFdyYXBwZXJDb3VudCA9IHRoaXMuc2t5QWdHcmlkV3JhcHBlckxpc3QubGVuZ3RoO1xuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKHNreUFnR3JpZFdyYXBwZXJDb3VudCA9PT0gMCkge1xuICAgICAgICB0aGlzLiN1bnJlZ2lzdGVyU2t5QWdHcmlkV3JhcHBlcigpO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgdGhpcy5za3lBZ0dyaWRXcmFwcGVyTGlzdC5maXJzdCAhPT0gdGhpcy4jY3VycmVudFNreUFnR3JpZFdyYXBwZXJcbiAgICAgICkge1xuICAgICAgICB0aGlzLiNyZWdpc3RlclNreUFnR3JpZFdyYXBwZXIoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHNreUFnR3JpZFdyYXBwZXJDb3VudCA+IDEpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICdNb3JlIHRoYW4gb25lIGFnLWdyaWQgY2hpbGQgY29tcG9uZW50IHdhcyBmb3VuZC4gVXNpbmcgdGhlIGZpcnN0IGFnLUdyaWQuJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICN1bnJlZ2lzdGVyQWdHcmlkKCk6IHZvaWQge1xuICAgIHRoaXMuI2N1cnJlbnRBZ0dyaWQgPSB1bmRlZmluZWQ7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAodGhpcy4jZGF0YVN0YXRlU3ViKSB7XG4gICAgICB0aGlzLiNkYXRhU3RhdGVTdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICAjdW5yZWdpc3RlclNreUFnR3JpZFdyYXBwZXIoKTogdm9pZCB7XG4gICAgdGhpcy4jY3VycmVudFNreUFnR3JpZFdyYXBwZXIgPSB1bmRlZmluZWQ7XG4gIH1cblxuICAjcmVnaXN0ZXJTa3lBZ0dyaWRXcmFwcGVyKCk6IHZvaWQge1xuICAgIHRoaXMuI3VucmVnaXN0ZXJTa3lBZ0dyaWRXcmFwcGVyKCk7XG4gICAgdGhpcy4jY3VycmVudFNreUFnR3JpZFdyYXBwZXIgPSB0aGlzLnNreUFnR3JpZFdyYXBwZXJMaXN0Py5maXJzdDtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuI2N1cnJlbnRTa3lBZ0dyaWRXcmFwcGVyKSB7XG4gICAgICAgIHRoaXMuI2N1cnJlbnRTa3lBZ0dyaWRXcmFwcGVyLnZpZXdrZWVwZXJDbGFzc2VzID0gW107XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAjcmVnaXN0ZXJBZ0dyaWQoKTogdm9pZCB7XG4gICAgdGhpcy4jdW5yZWdpc3RlckFnR3JpZCgpO1xuXG4gICAgY29uc3QgYWdHcmlkID0gdGhpcy5hZ0dyaWRMaXN0Py5maXJzdDtcblxuICAgIHRoaXMuI2N1cnJlbnRBZ0dyaWQgPSBhZ0dyaWQ7XG5cbiAgICBpZiAoYWdHcmlkKSB7XG4gICAgICBhZ0dyaWQuZ3JpZFJlYWR5LnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy4jdmlld0NvbmZpZyAmJiB0aGlzLnZpZXdJZCkge1xuICAgICAgICAgIHRoaXMuI3ZpZXdDb25maWcub25TZWxlY3RBbGxDbGljayA9IHRoaXMuI3NlbGVjdEFsbC5iaW5kKHRoaXMpO1xuICAgICAgICAgIHRoaXMuI3ZpZXdDb25maWcub25DbGVhckFsbENsaWNrID0gdGhpcy4jY2xlYXJBbGwuYmluZCh0aGlzKTtcbiAgICAgICAgICB0aGlzLiNkYXRhTWFuYWdlclN2Yy51cGRhdGVWaWV3Q29uZmlnKHRoaXMuI3ZpZXdDb25maWcpO1xuICAgICAgICAgIHRoaXMuI2RhdGFTdGF0ZVN1YiA9IHRoaXMuI2RhdGFNYW5hZ2VyU3ZjXG4gICAgICAgICAgICAuZ2V0RGF0YVN0YXRlVXBkYXRlcyh0aGlzLiN2aWV3Q29uZmlnLmlkKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YVN0YXRlOiBTa3lEYXRhTWFuYWdlclN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuI2N1cnJlbnREYXRhU3RhdGUgPSBkYXRhU3RhdGU7XG4gICAgICAgICAgICAgIHRoaXMuI2Rpc3BsYXlDb2x1bW5zKGRhdGFTdGF0ZSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgIGlmIChhZ0dyaWQuZ3JpZE9wdGlvbnMuY29udGV4dD8uZW5hYmxlVG9wU2Nyb2xsKSB7XG4gICAgICAgICAgICB0aGlzLiNkYXRhTWFuYWdlclN2Yy5zZXRWaWV3a2VlcGVyQ2xhc3Nlcyh0aGlzLnZpZXdJZCwgW1xuICAgICAgICAgICAgICAnLmFnLWhlYWRlcicsXG4gICAgICAgICAgICAgICcuYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbCcsXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhZ0dyaWQuYXBpLnNpemVDb2x1bW5zVG9GaXQoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGFnR3JpZC5jb2x1bW5Nb3ZlZFxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgZmlsdGVyKFxuICAgICAgICAgICAgKGV2ZW50OiBDb2x1bW5Nb3ZlZEV2ZW50KSA9PlxuICAgICAgICAgICAgICAhW1xuICAgICAgICAgICAgICAgICdncmlkSW5pdGlhbGl6aW5nJyxcbiAgICAgICAgICAgICAgICAndWlDb2x1bW5SZXNpemVkJyxcbiAgICAgICAgICAgICAgICAndWlDb2x1bW5EcmFnZ2VkJyxcbiAgICAgICAgICAgICAgICAnYXBpJyxcbiAgICAgICAgICAgICAgXS5pbmNsdWRlcyhldmVudC5zb3VyY2UpXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiBDb2x1bW5Nb3ZlZEV2ZW50KSA9PiB7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlQ29sdW1uc0luQ3VycmVudERhdGFTdGF0ZSh2YWx1ZS5jb2x1bW5BcGkpO1xuICAgICAgICB9KTtcblxuICAgICAgYWdHcmlkLmRyYWdTdG9wcGVkXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgodmFsdWU6IERyYWdTdG9wcGVkRXZlbnQpID0+IHtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVDb2x1bW5zSW5DdXJyZW50RGF0YVN0YXRlKHZhbHVlLmNvbHVtbkFwaSk7XG4gICAgICAgIH0pO1xuXG4gICAgICBhZ0dyaWQucm93U2VsZWN0ZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChldmVudDogUm93U2VsZWN0ZWRFdmVudCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLiN2aWV3Q29uZmlnICYmIHRoaXMuI2N1cnJlbnREYXRhU3RhdGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHJvdyA9IGV2ZW50Lm5vZGU7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZElkcyA9IHRoaXMuI2N1cnJlbnREYXRhU3RhdGUuc2VsZWN0ZWRJZHMgfHwgW107XG4gICAgICAgICAgICBjb25zdCByb3dJbmRleCA9IHNlbGVjdGVkSWRzLmluZGV4T2Yocm93LmRhdGEuaWQpO1xuXG4gICAgICAgICAgICBpZiAocm93LmlzU2VsZWN0ZWQoKSAmJiByb3dJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgc2VsZWN0ZWRJZHMucHVzaChyb3cuZGF0YS5pZCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFyb3cuaXNTZWxlY3RlZCgpICYmIHJvd0luZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgICBzZWxlY3RlZElkcy5zcGxpY2Uocm93SW5kZXgsIDEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLiNjdXJyZW50RGF0YVN0YXRlLnNlbGVjdGVkSWRzID0gc2VsZWN0ZWRJZHM7XG4gICAgICAgICAgICB0aGlzLiNkYXRhTWFuYWdlclN2Yy51cGRhdGVEYXRhU3RhdGUoXG4gICAgICAgICAgICAgIHRoaXMuI2N1cnJlbnREYXRhU3RhdGUsXG4gICAgICAgICAgICAgIHRoaXMuI3ZpZXdDb25maWcuaWRcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgIGFnR3JpZC5zb3J0Q2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgY29uc3QgZ3JpZENvbHVtblN0YXRlczogQ29sdW1uU3RhdGVbXSA9XG4gICAgICAgICAgYWdHcmlkLmNvbHVtbkFwaS5nZXRDb2x1bW5TdGF0ZSgpO1xuXG4gICAgICAgIGxldCBzb3J0T3B0aW9uOiBTa3lEYXRhTWFuYWdlclNvcnRPcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKGdyaWRDb2x1bW5TdGF0ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgY29uc3QgYWN0aXZlU29ydENvbHVtblN0YXRlID0gZ3JpZENvbHVtblN0YXRlcy5maW5kKFxuICAgICAgICAgICAgKGFHcmlkQ29sdW1uU3RhdGUpID0+IGFHcmlkQ29sdW1uU3RhdGUuc29ydEluZGV4ID09PSAwXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGNvbnN0IGRhdGFNYW5hZ2VyQ29uZmlnID1cbiAgICAgICAgICAgIHRoaXMuI2RhdGFNYW5hZ2VyU3ZjLmdldEN1cnJlbnREYXRhTWFuYWdlckNvbmZpZygpO1xuXG4gICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgICBpZiAoZGF0YU1hbmFnZXJDb25maWcuc29ydE9wdGlvbnMgJiYgYWN0aXZlU29ydENvbHVtblN0YXRlKSB7XG4gICAgICAgICAgICBzb3J0T3B0aW9uID0gZGF0YU1hbmFnZXJDb25maWcuc29ydE9wdGlvbnMuZmluZChcbiAgICAgICAgICAgICAgKG9wdGlvbjogU2t5RGF0YU1hbmFnZXJTb3J0T3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIG9wdGlvbi5wcm9wZXJ0eU5hbWUgPT09IGFjdGl2ZVNvcnRDb2x1bW5TdGF0ZS5jb2xJZCAmJlxuICAgICAgICAgICAgICAgICAgb3B0aW9uLmRlc2NlbmRpbmcgPT09IChhY3RpdmVTb3J0Q29sdW1uU3RhdGUuc29ydCA9PT0gJ2Rlc2MnKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNvcnRPcHRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuI3ZpZXdDb25maWcgJiYgdGhpcy4jY3VycmVudERhdGFTdGF0ZSkge1xuICAgICAgICAgIHRoaXMuI2N1cnJlbnREYXRhU3RhdGUuYWN0aXZlU29ydE9wdGlvbiA9IHNvcnRPcHRpb247XG4gICAgICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTdmMudXBkYXRlRGF0YVN0YXRlKFxuICAgICAgICAgICAgdGhpcy4jY3VycmVudERhdGFTdGF0ZSxcbiAgICAgICAgICAgIHRoaXMuI3ZpZXdDb25maWcuaWRcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjdXBkYXRlQ29sdW1uc0luQ3VycmVudERhdGFTdGF0ZShjb2x1bW5BcGk6IENvbHVtbkFwaSk6IHZvaWQge1xuICAgIGlmICh0aGlzLiN2aWV3Q29uZmlnICYmIHRoaXMuI2N1cnJlbnREYXRhU3RhdGUpIHtcbiAgICAgIGNvbnN0IGNvbHVtbk9yZGVyID0gdGhpcy4jZ2V0Q29sdW1uT3JkZXIoY29sdW1uQXBpKTtcblxuICAgICAgY29uc3Qgdmlld1N0YXRlID0gdGhpcy4jY3VycmVudERhdGFTdGF0ZS5nZXRWaWV3U3RhdGVCeUlkKFxuICAgICAgICB0aGlzLiN2aWV3Q29uZmlnLmlkXG4gICAgICApO1xuXG4gICAgICBpZiAoXG4gICAgICAgIHZpZXdTdGF0ZSAmJlxuICAgICAgICAodmlld1N0YXRlLmRpc3BsYXllZENvbHVtbklkcy5sZW5ndGggIT09IGNvbHVtbk9yZGVyLmxlbmd0aCB8fFxuICAgICAgICAgIHZpZXdTdGF0ZS5kaXNwbGF5ZWRDb2x1bW5JZHMuc29tZSgoY29sLCBpKSA9PiBjb2wgIT09IGNvbHVtbk9yZGVyW2ldKSlcbiAgICAgICkge1xuICAgICAgICB2aWV3U3RhdGUuZGlzcGxheWVkQ29sdW1uSWRzID0gY29sdW1uT3JkZXI7XG5cbiAgICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTdmMudXBkYXRlRGF0YVN0YXRlKFxuICAgICAgICAgIHRoaXMuI2N1cnJlbnREYXRhU3RhdGUuYWRkT3JVcGRhdGVWaWV3KFxuICAgICAgICAgICAgdGhpcy4jdmlld0NvbmZpZy5pZCxcbiAgICAgICAgICAgIHZpZXdTdGF0ZVxuICAgICAgICAgICksXG4gICAgICAgICAgdGhpcy4jdmlld0NvbmZpZy5pZFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNnZXRDb2x1bW5PcmRlcihjb2x1bW5BcGk6IENvbHVtbkFwaSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gY29sdW1uQXBpXG4gICAgICAuZ2V0Q29sdW1uU3RhdGUoKVxuICAgICAgLmZpbHRlcigoc3RhdGUpID0+ICFzdGF0ZS5oaWRlKVxuICAgICAgLm1hcCgoc3RhdGUpID0+IHN0YXRlLmNvbElkKTtcbiAgfVxuXG4gICNkaXNwbGF5Q29sdW1ucyhkYXRhU3RhdGU6IFNreURhdGFNYW5hZ2VyU3RhdGUpOiB2b2lkIHtcbiAgICBjb25zdCBhZ0dyaWQgPSB0aGlzLiNjdXJyZW50QWdHcmlkO1xuXG4gICAgaWYgKGFnR3JpZCAmJiB0aGlzLiN2aWV3Q29uZmlnKSB7XG4gICAgICBjb25zdCB2aWV3U3RhdGUgPSBkYXRhU3RhdGUuZ2V0Vmlld1N0YXRlQnlJZCh0aGlzLiN2aWV3Q29uZmlnLmlkKTtcbiAgICAgIGxldCBkaXNwbGF5ZWRDb2x1bW5JZHM6IHN0cmluZ1tdID0gW107XG5cbiAgICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgICAgaWYgKHZpZXdTdGF0ZT8uZGlzcGxheWVkQ29sdW1uSWRzKSB7XG4gICAgICAgIGRpc3BsYXllZENvbHVtbklkcyA9IHZpZXdTdGF0ZS5kaXNwbGF5ZWRDb2x1bW5JZHM7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNvbHVtbk9yZGVyID0gdGhpcy4jZ2V0Q29sdW1uT3JkZXIoYWdHcmlkLmNvbHVtbkFwaSk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgZGlzcGxheWVkQ29sdW1uSWRzLmxlbmd0aCAhPT0gY29sdW1uT3JkZXIubGVuZ3RoIHx8XG4gICAgICAgIGRpc3BsYXllZENvbHVtbklkcy5zb21lKChjb2wsIGkpID0+IGNvbCAhPT0gY29sdW1uT3JkZXJbaV0pXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgaGlkZUNvbHVtbnMgPSBhZ0dyaWQuY29sdW1uQXBpXG4gICAgICAgICAgLmdldENvbHVtblN0YXRlKClcbiAgICAgICAgICAubWFwKChjb2wpID0+IGNvbC5jb2xJZClcbiAgICAgICAgICAuZmlsdGVyKChjb2xJZCkgPT4gIWRpc3BsYXllZENvbHVtbklkcy5pbmNsdWRlcyhjb2xJZCkpO1xuXG4gICAgICAgIGFnR3JpZC5jb2x1bW5BcGkuc2V0Q29sdW1uc1Zpc2libGUoaGlkZUNvbHVtbnMsIGZhbHNlKTtcbiAgICAgICAgYWdHcmlkLmNvbHVtbkFwaS5zZXRDb2x1bW5zVmlzaWJsZShkaXNwbGF5ZWRDb2x1bW5JZHMsIHRydWUpO1xuICAgICAgICBhZ0dyaWQuY29sdW1uQXBpLm1vdmVDb2x1bW5zKGRpc3BsYXllZENvbHVtbklkcywgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3NlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICBjb25zdCBhZ0dyaWQgPSB0aGlzLmFnR3JpZExpc3Q/LmZpcnN0O1xuICAgIGFnR3JpZD8uYXBpLnNlbGVjdEFsbCgpO1xuICB9XG5cbiAgI2NsZWFyQWxsKCk6IHZvaWQge1xuICAgIGNvbnN0IGFnR3JpZCA9IHRoaXMuYWdHcmlkTGlzdD8uZmlyc3Q7XG4gICAgYWdHcmlkPy5hcGkuZGVzZWxlY3RBbGwoKTtcbiAgfVxufVxuIl19
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1kYXRhLW1hbmFnZXItYWRhcHRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9hZy1ncmlkLWRhdGEtbWFuYWdlci1hZGFwdGVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFHTCxlQUFlLEVBQ2YsU0FBUyxFQUNULEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQVF2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFRaEQsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBRXhFOztHQUVHO0FBSUgsTUFBTSxPQUFPLG9DQUFvQztJQXFCL0MsWUFDRSxjQUFpQyxFQUNqQyxjQUFxQzs7UUFYdkMsc0VBQTBDO1FBQzFDLHlFQUFtRDtRQUNuRCxnRkFBZ0U7UUFDaEUscUVBQXdDO1FBQ3hDLG1FQUEyQztRQUMzQyw4REFBaUIsSUFBSSxPQUFPLEVBQVEsRUFBQztRQUNyQyx1RUFBbUM7UUFDbkMsdUVBQXVDO1FBTXJDLHVCQUFBLElBQUksd0RBQW1CLGNBQWMsTUFBQSxDQUFDO1FBQ3RDLHVCQUFBLElBQUksd0RBQW1CLGNBQWMsTUFBQSxDQUFDO0lBQ3hDLENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsdUJBQUEsSUFBSSw0REFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUN2RSx1QkFBQSxJQUFJ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QUM7SUFDdEMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUM1QixDQUFDO2tJQW5UVSxvQ0FBb0M7c0hBQXBDLG9DQUFvQyw4SEFNOUIsYUFBYSwwRUFHYix5QkFBeUI7NEZBVC9CLG9DQUFvQztrQkFIaEQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsK0JBQStCO2lCQUMxQzs0SUFLUSxNQUFNO3NCQURaLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsZUFBZTt1QkFBQyxhQUFhLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUk5QyxvQkFBb0I7c0JBRDFCLGVBQWU7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5RGF0YU1hbmFnZXJTZXJ2aWNlLFxuICBTa3lEYXRhTWFuYWdlclNvcnRPcHRpb24sXG4gIFNreURhdGFNYW5hZ2VyU3RhdGUsXG4gIFNreURhdGFWaWV3Q29uZmlnLFxufSBmcm9tICdAc2t5dXgvZGF0YS1tYW5hZ2VyJztcblxuaW1wb3J0IHsgQWdHcmlkQW5ndWxhciB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQge1xuICBDb2x1bW5BcGksXG4gIENvbHVtbk1vdmVkRXZlbnQsXG4gIENvbHVtblN0YXRlLFxuICBEcmFnU3RvcHBlZEV2ZW50LFxuICBSb3dTZWxlY3RlZEV2ZW50LFxufSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lBZ0dyaWRXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9hZy1ncmlkLXdyYXBwZXIuY29tcG9uZW50JztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreUFnR3JpZERhdGFNYW5hZ2VyQWRhcHRlcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBZ0dyaWREYXRhTWFuYWdlckFkYXB0ZXJEaXJlY3RpdmVcbiAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3lcbntcbiAgQElucHV0KClcbiAgcHVibGljIHZpZXdJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQWdHcmlkQW5ndWxhciwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwdWJsaWMgYWdHcmlkTGlzdDogUXVlcnlMaXN0PEFnR3JpZEFuZ3VsYXI+IHwgdW5kZWZpbmVkO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oU2t5QWdHcmlkV3JhcHBlckNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwdWJsaWMgc2t5QWdHcmlkV3JhcHBlckxpc3Q6IFF1ZXJ5TGlzdDxTa3lBZ0dyaWRXcmFwcGVyQ29tcG9uZW50PiB8IHVuZGVmaW5lZDtcblxuICAjY3VycmVudEFnR3JpZDogQWdHcmlkQW5ndWxhciB8IHVuZGVmaW5lZDtcbiAgI2N1cnJlbnREYXRhU3RhdGU6IFNreURhdGFNYW5hZ2VyU3RhdGUgfCB1bmRlZmluZWQ7XG4gICNjdXJyZW50U2t5QWdHcmlkV3JhcHBlcjogU2t5QWdHcmlkV3JhcHBlckNvbXBvbmVudCB8IHVuZGVmaW5lZDtcbiAgI2RhdGFTdGF0ZVN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICAjdmlld0NvbmZpZzogU2t5RGF0YVZpZXdDb25maWcgfCB1bmRlZmluZWQ7XG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI2RhdGFNYW5hZ2VyU3ZjOiBTa3lEYXRhTWFuYWdlclNlcnZpY2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGRhdGFNYW5hZ2VyU3ZjOiBTa3lEYXRhTWFuYWdlclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcbiAgICB0aGlzLiNkYXRhTWFuYWdlclN2YyA9IGRhdGFNYW5hZ2VyU3ZjO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52aWV3SWQpIHtcbiAgICAgIHRoaXMuI2RhdGFNYW5hZ2VyU3ZjLnNldFZpZXdrZWVwZXJDbGFzc2VzKHRoaXMudmlld0lkLCBbJy5hZy1oZWFkZXInXSk7XG4gICAgICB0aGlzLiN2aWV3Q29uZmlnID0gdGhpcy4jZGF0YU1hbmFnZXJTdmMuZ2V0Vmlld0J5SWQodGhpcy52aWV3SWQpO1xuXG4gICAgICB0aGlzLiNjaGVja0ZvckFnR3JpZCgpO1xuICAgICAgdGhpcy4jY2hlY2tGb3JTa3lBZ0dyaWRXcmFwcGVyKCk7XG5cbiAgICAgIHRoaXMuYWdHcmlkTGlzdD8uY2hhbmdlc1xuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy4jY2hlY2tGb3JBZ0dyaWQoKSk7XG5cbiAgICAgIHRoaXMuc2t5QWdHcmlkV3JhcHBlckxpc3Q/LmNoYW5nZXNcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuI2NoZWNrRm9yU2t5QWdHcmlkV3JhcHBlcigpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgI2NoZWNrRm9yQWdHcmlkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFnR3JpZExpc3QpIHtcbiAgICAgIGNvbnN0IGFnR3JpZENvdW50ID0gdGhpcy5hZ0dyaWRMaXN0Lmxlbmd0aDtcblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChhZ0dyaWRDb3VudCA9PT0gMCkge1xuICAgICAgICB0aGlzLiN1bnJlZ2lzdGVyQWdHcmlkKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuYWdHcmlkTGlzdC5maXJzdCAhPT0gdGhpcy4jY3VycmVudEFnR3JpZCkge1xuICAgICAgICB0aGlzLiNyZWdpc3RlckFnR3JpZCgpO1xuICAgICAgfVxuXG4gICAgICBpZiAoYWdHcmlkQ291bnQgPiAxKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAnTW9yZSB0aGFuIG9uZSBhZy1ncmlkIGNoaWxkIGNvbXBvbmVudCB3YXMgZm91bmQuIFVzaW5nIHRoZSBmaXJzdCBhZy1HcmlkLidcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjY2hlY2tGb3JTa3lBZ0dyaWRXcmFwcGVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNreUFnR3JpZFdyYXBwZXJMaXN0KSB7XG4gICAgICBjb25zdCBza3lBZ0dyaWRXcmFwcGVyQ291bnQgPSB0aGlzLnNreUFnR3JpZFdyYXBwZXJMaXN0Lmxlbmd0aDtcblxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChza3lBZ0dyaWRXcmFwcGVyQ291bnQgPT09IDApIHtcbiAgICAgICAgdGhpcy4jdW5yZWdpc3RlclNreUFnR3JpZFdyYXBwZXIoKTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIHRoaXMuc2t5QWdHcmlkV3JhcHBlckxpc3QuZmlyc3QgIT09IHRoaXMuI2N1cnJlbnRTa3lBZ0dyaWRXcmFwcGVyXG4gICAgICApIHtcbiAgICAgICAgdGhpcy4jcmVnaXN0ZXJTa3lBZ0dyaWRXcmFwcGVyKCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChza3lBZ0dyaWRXcmFwcGVyQ291bnQgPiAxKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAnTW9yZSB0aGFuIG9uZSBhZy1ncmlkIGNoaWxkIGNvbXBvbmVudCB3YXMgZm91bmQuIFVzaW5nIHRoZSBmaXJzdCBhZy1HcmlkLidcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjdW5yZWdpc3RlckFnR3JpZCgpOiB2b2lkIHtcbiAgICB0aGlzLiNjdXJyZW50QWdHcmlkID0gdW5kZWZpbmVkO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKHRoaXMuI2RhdGFTdGF0ZVN1Yikge1xuICAgICAgdGhpcy4jZGF0YVN0YXRlU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgI3VucmVnaXN0ZXJTa3lBZ0dyaWRXcmFwcGVyKCk6IHZvaWQge1xuICAgIHRoaXMuI2N1cnJlbnRTa3lBZ0dyaWRXcmFwcGVyID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgI3JlZ2lzdGVyU2t5QWdHcmlkV3JhcHBlcigpOiB2b2lkIHtcbiAgICB0aGlzLiN1bnJlZ2lzdGVyU2t5QWdHcmlkV3JhcHBlcigpO1xuICAgIHRoaXMuI2N1cnJlbnRTa3lBZ0dyaWRXcmFwcGVyID0gdGhpcy5za3lBZ0dyaWRXcmFwcGVyTGlzdD8uZmlyc3Q7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLiNjdXJyZW50U2t5QWdHcmlkV3JhcHBlcikge1xuICAgICAgICB0aGlzLiNjdXJyZW50U2t5QWdHcmlkV3JhcHBlci52aWV3a2VlcGVyQ2xhc3NlcyA9IFtdO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgI3JlZ2lzdGVyQWdHcmlkKCk6IHZvaWQge1xuICAgIHRoaXMuI3VucmVnaXN0ZXJBZ0dyaWQoKTtcblxuICAgIGNvbnN0IGFnR3JpZCA9IHRoaXMuYWdHcmlkTGlzdD8uZmlyc3Q7XG5cbiAgICB0aGlzLiNjdXJyZW50QWdHcmlkID0gYWdHcmlkO1xuXG4gICAgaWYgKGFnR3JpZCkge1xuICAgICAgYWdHcmlkLmdyaWRSZWFkeS5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuI3ZpZXdDb25maWcgJiYgdGhpcy52aWV3SWQpIHtcbiAgICAgICAgICB0aGlzLiN2aWV3Q29uZmlnLm9uU2VsZWN0QWxsQ2xpY2sgPSB0aGlzLiNzZWxlY3RBbGwuYmluZCh0aGlzKTtcbiAgICAgICAgICB0aGlzLiN2aWV3Q29uZmlnLm9uQ2xlYXJBbGxDbGljayA9IHRoaXMuI2NsZWFyQWxsLmJpbmQodGhpcyk7XG4gICAgICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTdmMudXBkYXRlVmlld0NvbmZpZyh0aGlzLiN2aWV3Q29uZmlnKTtcbiAgICAgICAgICB0aGlzLiNkYXRhU3RhdGVTdWIgPSB0aGlzLiNkYXRhTWFuYWdlclN2Y1xuICAgICAgICAgICAgLmdldERhdGFTdGF0ZVVwZGF0ZXModGhpcy4jdmlld0NvbmZpZy5pZClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRhdGFTdGF0ZTogU2t5RGF0YU1hbmFnZXJTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLiNjdXJyZW50RGF0YVN0YXRlID0gZGF0YVN0YXRlO1xuICAgICAgICAgICAgICB0aGlzLiNkaXNwbGF5Q29sdW1ucyhkYXRhU3RhdGUpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICBpZiAoYWdHcmlkLmdyaWRPcHRpb25zLmNvbnRleHQ/LmVuYWJsZVRvcFNjcm9sbCkge1xuICAgICAgICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTdmMuc2V0Vmlld2tlZXBlckNsYXNzZXModGhpcy52aWV3SWQsIFtcbiAgICAgICAgICAgICAgJy5hZy1oZWFkZXInLFxuICAgICAgICAgICAgICAnLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwnLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYWdHcmlkLmFwaS5zaXplQ29sdW1uc1RvRml0KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBhZ0dyaWQuY29sdW1uTW92ZWRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpLFxuICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgIChldmVudDogQ29sdW1uTW92ZWRFdmVudCkgPT5cbiAgICAgICAgICAgICAgIVtcbiAgICAgICAgICAgICAgICAnZ3JpZEluaXRpYWxpemluZycsXG4gICAgICAgICAgICAgICAgJ3VpQ29sdW1uUmVzaXplZCcsXG4gICAgICAgICAgICAgICAgJ3VpQ29sdW1uRHJhZ2dlZCcsXG4gICAgICAgICAgICAgICAgJ2FwaScsXG4gICAgICAgICAgICAgIF0uaW5jbHVkZXMoZXZlbnQuc291cmNlKVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogQ29sdW1uTW92ZWRFdmVudCkgPT4ge1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZUNvbHVtbnNJbkN1cnJlbnREYXRhU3RhdGUodmFsdWUuY29sdW1uQXBpKTtcbiAgICAgICAgfSk7XG5cbiAgICAgIGFnR3JpZC5kcmFnU3RvcHBlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiBEcmFnU3RvcHBlZEV2ZW50KSA9PiB7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlQ29sdW1uc0luQ3VycmVudERhdGFTdGF0ZSh2YWx1ZS5jb2x1bW5BcGkpO1xuICAgICAgICB9KTtcblxuICAgICAgYWdHcmlkLnJvd1NlbGVjdGVkXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IFJvd1NlbGVjdGVkRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy4jdmlld0NvbmZpZyAmJiB0aGlzLiNjdXJyZW50RGF0YVN0YXRlKSB7XG4gICAgICAgICAgICBjb25zdCByb3cgPSBldmVudC5ub2RlO1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRJZHMgPSB0aGlzLiNjdXJyZW50RGF0YVN0YXRlLnNlbGVjdGVkSWRzIHx8IFtdO1xuICAgICAgICAgICAgY29uc3Qgcm93SW5kZXggPSBzZWxlY3RlZElkcy5pbmRleE9mKHJvdy5kYXRhLmlkKTtcblxuICAgICAgICAgICAgaWYgKHJvdy5pc1NlbGVjdGVkKCkgJiYgcm93SW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICAgIHNlbGVjdGVkSWRzLnB1c2gocm93LmRhdGEuaWQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICghcm93LmlzU2VsZWN0ZWQoKSAmJiByb3dJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgc2VsZWN0ZWRJZHMuc3BsaWNlKHJvd0luZGV4LCAxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy4jY3VycmVudERhdGFTdGF0ZS5zZWxlY3RlZElkcyA9IHNlbGVjdGVkSWRzO1xuICAgICAgICAgICAgdGhpcy4jZGF0YU1hbmFnZXJTdmMudXBkYXRlRGF0YVN0YXRlKFxuICAgICAgICAgICAgICB0aGlzLiNjdXJyZW50RGF0YVN0YXRlLFxuICAgICAgICAgICAgICB0aGlzLiN2aWV3Q29uZmlnLmlkXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICBhZ0dyaWQuc29ydENoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGdyaWRDb2x1bW5TdGF0ZXM6IENvbHVtblN0YXRlW10gPVxuICAgICAgICAgIGFnR3JpZC5jb2x1bW5BcGkuZ2V0Q29sdW1uU3RhdGUoKTtcblxuICAgICAgICBsZXQgc29ydE9wdGlvbjogU2t5RGF0YU1hbmFnZXJTb3J0T3B0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChncmlkQ29sdW1uU3RhdGVzLmxlbmd0aCkge1xuICAgICAgICAgIGNvbnN0IGFjdGl2ZVNvcnRDb2x1bW5TdGF0ZSA9IGdyaWRDb2x1bW5TdGF0ZXMuZmluZChcbiAgICAgICAgICAgIChhR3JpZENvbHVtblN0YXRlKSA9PiBhR3JpZENvbHVtblN0YXRlLnNvcnRJbmRleCA9PT0gMFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBjb25zdCBkYXRhTWFuYWdlckNvbmZpZyA9XG4gICAgICAgICAgICB0aGlzLiNkYXRhTWFuYWdlclN2Yy5nZXRDdXJyZW50RGF0YU1hbmFnZXJDb25maWcoKTtcblxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKGRhdGFNYW5hZ2VyQ29uZmlnLnNvcnRPcHRpb25zICYmIGFjdGl2ZVNvcnRDb2x1bW5TdGF0ZSkge1xuICAgICAgICAgICAgc29ydE9wdGlvbiA9IGRhdGFNYW5hZ2VyQ29uZmlnLnNvcnRPcHRpb25zLmZpbmQoXG4gICAgICAgICAgICAgIChvcHRpb246IFNreURhdGFNYW5hZ2VyU29ydE9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICBvcHRpb24ucHJvcGVydHlOYW1lID09PSBhY3RpdmVTb3J0Q29sdW1uU3RhdGUuY29sSWQgJiZcbiAgICAgICAgICAgICAgICAgIG9wdGlvbi5kZXNjZW5kaW5nID09PSAoYWN0aXZlU29ydENvbHVtblN0YXRlLnNvcnQgPT09ICdkZXNjJylcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzb3J0T3B0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLiN2aWV3Q29uZmlnICYmIHRoaXMuI2N1cnJlbnREYXRhU3RhdGUpIHtcbiAgICAgICAgICB0aGlzLiNjdXJyZW50RGF0YVN0YXRlLmFjdGl2ZVNvcnRPcHRpb24gPSBzb3J0T3B0aW9uO1xuICAgICAgICAgIHRoaXMuI2RhdGFNYW5hZ2VyU3ZjLnVwZGF0ZURhdGFTdGF0ZShcbiAgICAgICAgICAgIHRoaXMuI2N1cnJlbnREYXRhU3RhdGUsXG4gICAgICAgICAgICB0aGlzLiN2aWV3Q29uZmlnLmlkXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgI3VwZGF0ZUNvbHVtbnNJbkN1cnJlbnREYXRhU3RhdGUoY29sdW1uQXBpOiBDb2x1bW5BcGkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jdmlld0NvbmZpZyAmJiB0aGlzLiNjdXJyZW50RGF0YVN0YXRlKSB7XG4gICAgICBjb25zdCBjb2x1bW5PcmRlciA9IHRoaXMuI2dldENvbHVtbk9yZGVyKGNvbHVtbkFwaSk7XG5cbiAgICAgIGNvbnN0IHZpZXdTdGF0ZSA9IHRoaXMuI2N1cnJlbnREYXRhU3RhdGUuZ2V0Vmlld1N0YXRlQnlJZChcbiAgICAgICAgdGhpcy4jdmlld0NvbmZpZy5pZFxuICAgICAgKTtcblxuICAgICAgaWYgKFxuICAgICAgICB2aWV3U3RhdGUgJiZcbiAgICAgICAgKHZpZXdTdGF0ZS5kaXNwbGF5ZWRDb2x1bW5JZHMubGVuZ3RoICE9PSBjb2x1bW5PcmRlci5sZW5ndGggfHxcbiAgICAgICAgICB2aWV3U3RhdGUuZGlzcGxheWVkQ29sdW1uSWRzLnNvbWUoKGNvbCwgaSkgPT4gY29sICE9PSBjb2x1bW5PcmRlcltpXSkpXG4gICAgICApIHtcbiAgICAgICAgdmlld1N0YXRlLmRpc3BsYXllZENvbHVtbklkcyA9IGNvbHVtbk9yZGVyO1xuXG4gICAgICAgIHRoaXMuI2RhdGFNYW5hZ2VyU3ZjLnVwZGF0ZURhdGFTdGF0ZShcbiAgICAgICAgICB0aGlzLiNjdXJyZW50RGF0YVN0YXRlLmFkZE9yVXBkYXRlVmlldyhcbiAgICAgICAgICAgIHRoaXMuI3ZpZXdDb25maWcuaWQsXG4gICAgICAgICAgICB2aWV3U3RhdGVcbiAgICAgICAgICApLFxuICAgICAgICAgIHRoaXMuI3ZpZXdDb25maWcuaWRcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjZ2V0Q29sdW1uT3JkZXIoY29sdW1uQXBpOiBDb2x1bW5BcGkpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGNvbHVtbkFwaVxuICAgICAgLmdldENvbHVtblN0YXRlKClcbiAgICAgIC5maWx0ZXIoKHN0YXRlKSA9PiAhc3RhdGUuaGlkZSlcbiAgICAgIC5tYXAoKHN0YXRlKSA9PiBzdGF0ZS5jb2xJZCk7XG4gIH1cblxuICAjZGlzcGxheUNvbHVtbnMoZGF0YVN0YXRlOiBTa3lEYXRhTWFuYWdlclN0YXRlKTogdm9pZCB7XG4gICAgY29uc3QgYWdHcmlkID0gdGhpcy4jY3VycmVudEFnR3JpZDtcblxuICAgIGlmIChhZ0dyaWQgJiYgdGhpcy4jdmlld0NvbmZpZykge1xuICAgICAgY29uc3Qgdmlld1N0YXRlID0gZGF0YVN0YXRlLmdldFZpZXdTdGF0ZUJ5SWQodGhpcy4jdmlld0NvbmZpZy5pZCk7XG4gICAgICBsZXQgZGlzcGxheWVkQ29sdW1uSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICAgIGlmICh2aWV3U3RhdGU/LmRpc3BsYXllZENvbHVtbklkcykge1xuICAgICAgICBkaXNwbGF5ZWRDb2x1bW5JZHMgPSB2aWV3U3RhdGUuZGlzcGxheWVkQ29sdW1uSWRzO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBjb2x1bW5PcmRlciA9IHRoaXMuI2dldENvbHVtbk9yZGVyKGFnR3JpZC5jb2x1bW5BcGkpO1xuXG4gICAgICBpZiAoXG4gICAgICAgIGRpc3BsYXllZENvbHVtbklkcy5sZW5ndGggIT09IGNvbHVtbk9yZGVyLmxlbmd0aCB8fFxuICAgICAgICBkaXNwbGF5ZWRDb2x1bW5JZHMuc29tZSgoY29sLCBpKSA9PiBjb2wgIT09IGNvbHVtbk9yZGVyW2ldKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IGhpZGVDb2x1bW5zID0gYWdHcmlkLmNvbHVtbkFwaVxuICAgICAgICAgIC5nZXRDb2x1bW5TdGF0ZSgpXG4gICAgICAgICAgLm1hcCgoY29sKSA9PiBjb2wuY29sSWQpXG4gICAgICAgICAgLmZpbHRlcigoY29sSWQpID0+ICFkaXNwbGF5ZWRDb2x1bW5JZHMuaW5jbHVkZXMoY29sSWQpKTtcblxuICAgICAgICBhZ0dyaWQuY29sdW1uQXBpLnNldENvbHVtbnNWaXNpYmxlKGhpZGVDb2x1bW5zLCBmYWxzZSk7XG4gICAgICAgIGFnR3JpZC5jb2x1bW5BcGkuc2V0Q29sdW1uc1Zpc2libGUoZGlzcGxheWVkQ29sdW1uSWRzLCB0cnVlKTtcbiAgICAgICAgYWdHcmlkLmNvbHVtbkFwaS5tb3ZlQ29sdW1ucyhkaXNwbGF5ZWRDb2x1bW5JZHMsIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNzZWxlY3RBbGwoKTogdm9pZCB7XG4gICAgY29uc3QgYWdHcmlkID0gdGhpcy5hZ0dyaWRMaXN0Py5maXJzdDtcbiAgICBhZ0dyaWQ/LmFwaS5zZWxlY3RBbGwoKTtcbiAgfVxuXG4gICNjbGVhckFsbCgpOiB2b2lkIHtcbiAgICBjb25zdCBhZ0dyaWQgPSB0aGlzLmFnR3JpZExpc3Q/LmZpcnN0O1xuICAgIGFnR3JpZD8uYXBpLmRlc2VsZWN0QWxsKCk7XG4gIH1cbn1cbiJdfQ==
@@ -8,8 +8,8 @@ import * as i2 from "@skyux/layout";
8
8
  */
9
9
  export class SkyAgGridRowDeleteComponent {
10
10
  }
11
- SkyAgGridRowDeleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAgGridRowDeleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- SkyAgGridRowDeleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyAgGridRowDeleteComponent, selector: "ng-component", viewQueries: [{ propertyName: "inlineDeleteTemplateRef", first: true, predicate: ["inlineDeleteTemplateRef"], descendants: true, read: TemplateRef }, { propertyName: "inlineDeleteRefs", predicate: ["inlineDeleteRef"], descendants: true }], ngImport: i0, template: `
11
+ SkyAgGridRowDeleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridRowDeleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ SkyAgGridRowDeleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", type: SkyAgGridRowDeleteComponent, selector: "ng-component", viewQueries: [{ propertyName: "inlineDeleteTemplateRef", first: true, predicate: ["inlineDeleteTemplateRef"], descendants: true, read: TemplateRef }, { propertyName: "inlineDeleteRefs", predicate: ["inlineDeleteRef"], descendants: true }], ngImport: i0, template: `
13
13
  <ng-template
14
14
  let-row
15
15
  let-tableWidth="tableWidth()"
@@ -36,7 +36,7 @@ SkyAgGridRowDeleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.
36
36
  </div>
37
37
  </ng-template>
38
38
  `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.λ8, selector: "sky-inline-delete", inputs: ["pending"], outputs: ["cancelTriggered", "deleteTriggered"] }] });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAgGridRowDeleteComponent, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridRowDeleteComponent, decorators: [{
40
40
  type: Component,
41
41
  args: [{
42
42
  template: `
@@ -74,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
74
74
  type: ViewChild,
75
75
  args: ['inlineDeleteTemplateRef', { read: TemplateRef }]
76
76
  }] } });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1yb3ctZGVsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2FnLWdyaWQtcm93LWRlbGV0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFHVCxXQUFXLEVBQ1gsU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQzs7OztBQUV2Qjs7O0dBR0c7QUE4QkgsTUFBTSxPQUFPLDJCQUEyQjs7d0hBQTNCLDJCQUEyQjs0R0FBM0IsMkJBQTJCLG1LQUdRLFdBQVcsc0hBL0IvQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQlQ7MkZBRVUsMkJBQTJCO2tCQTdCdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJUO2lCQUNGOzhCQUdRLGdCQUFnQjtzQkFEdEIsWUFBWTt1QkFBQyxpQkFBaUI7Z0JBR3hCLHVCQUF1QjtzQkFEN0IsU0FBUzt1QkFBQyx5QkFBeUIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBDb21wb25lbnQgZm9yIHJlbmRlcmluZyB0aGUgaW5saW5lIGRlbGV0ZSB0ZW1wbGF0ZSBpbiB0aGUgb3ZlcmxheS5cbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctdGVtcGxhdGVcbiAgICAgIGxldC1yb3dcbiAgICAgIGxldC10YWJsZVdpZHRoPVwidGFibGVXaWR0aCgpXCJcbiAgICAgIGxldC1nZXRSb3dEZWxldGVJdGVtPVwiZ2V0Um93RGVsZXRlSXRlbVwiXG4gICAgICBsZXQtY2FuY2VsUm93RGVsZXRlPVwiY2FuY2VsUm93RGVsZXRlXCJcbiAgICAgIGxldC1jb25maXJtUm93RGVsZXRlPVwiY29uZmlybVJvd0RlbGV0ZVwiXG4gICAgICAjaW5saW5lRGVsZXRlVGVtcGxhdGVSZWZcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic2t5LWFnLWdyaWQtcm93LWRlbGV0ZVwiXG4gICAgICAgIFtpZF09XCIncm93LWRlbGV0ZS1yZWYtJyArIHJvdy5pZFwiXG4gICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICBoZWlnaHQ6IHJvdy5yb3dIZWlnaHQgKyAncHgnLFxuICAgICAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgICAgIHdpZHRoOiB0YWJsZVdpZHRoICsgJ3B4J1xuICAgICAgICB9XCJcbiAgICAgICAgI2lubGluZURlbGV0ZVJlZlxuICAgICAgPlxuICAgICAgICA8c2t5LWlubGluZS1kZWxldGVcbiAgICAgICAgICBbcGVuZGluZ109XCJnZXRSb3dEZWxldGVJdGVtKHJvdykucGVuZGluZ1wiXG4gICAgICAgICAgKGNhbmNlbFRyaWdnZXJlZCk9XCJjYW5jZWxSb3dEZWxldGUocm93KVwiXG4gICAgICAgICAgKGRlbGV0ZVRyaWdnZXJlZCk9XCJjb25maXJtUm93RGVsZXRlKHJvdylcIlxuICAgICAgICA+PC9za3ktaW5saW5lLWRlbGV0ZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFnR3JpZFJvd0RlbGV0ZUNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGRyZW4oJ2lubGluZURlbGV0ZVJlZicpXG4gIHB1YmxpYyBpbmxpbmVEZWxldGVSZWZzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj4gfCB1bmRlZmluZWQ7XG4gIEBWaWV3Q2hpbGQoJ2lubGluZURlbGV0ZVRlbXBsYXRlUmVmJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBwdWJsaWMgaW5saW5lRGVsZXRlVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xufVxuIl19
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1yb3ctZGVsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2FnLWdyaWQtcm93LWRlbGV0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFHVCxXQUFXLEVBQ1gsU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQzs7OztBQUV2Qjs7O0dBR0c7QUE4QkgsTUFBTSxPQUFPLDJCQUEyQjs7eUhBQTNCLDJCQUEyQjs2R0FBM0IsMkJBQTJCLG1LQUdRLFdBQVcsc0hBL0IvQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQlQ7NEZBRVUsMkJBQTJCO2tCQTdCdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJUO2lCQUNGOzhCQUdRLGdCQUFnQjtzQkFEdEIsWUFBWTt1QkFBQyxpQkFBaUI7Z0JBR3hCLHVCQUF1QjtzQkFEN0IsU0FBUzt1QkFBQyx5QkFBeUIsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBDb21wb25lbnQgZm9yIHJlbmRlcmluZyB0aGUgaW5saW5lIGRlbGV0ZSB0ZW1wbGF0ZSBpbiB0aGUgb3ZlcmxheS5cbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctdGVtcGxhdGVcbiAgICAgIGxldC1yb3dcbiAgICAgIGxldC10YWJsZVdpZHRoPVwidGFibGVXaWR0aCgpXCJcbiAgICAgIGxldC1nZXRSb3dEZWxldGVJdGVtPVwiZ2V0Um93RGVsZXRlSXRlbVwiXG4gICAgICBsZXQtY2FuY2VsUm93RGVsZXRlPVwiY2FuY2VsUm93RGVsZXRlXCJcbiAgICAgIGxldC1jb25maXJtUm93RGVsZXRlPVwiY29uZmlybVJvd0RlbGV0ZVwiXG4gICAgICAjaW5saW5lRGVsZXRlVGVtcGxhdGVSZWZcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic2t5LWFnLWdyaWQtcm93LWRlbGV0ZVwiXG4gICAgICAgIFtpZF09XCIncm93LWRlbGV0ZS1yZWYtJyArIHJvdy5pZFwiXG4gICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICBoZWlnaHQ6IHJvdy5yb3dIZWlnaHQgKyAncHgnLFxuICAgICAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgICAgIHdpZHRoOiB0YWJsZVdpZHRoICsgJ3B4J1xuICAgICAgICB9XCJcbiAgICAgICAgI2lubGluZURlbGV0ZVJlZlxuICAgICAgPlxuICAgICAgICA8c2t5LWlubGluZS1kZWxldGVcbiAgICAgICAgICBbcGVuZGluZ109XCJnZXRSb3dEZWxldGVJdGVtKHJvdykucGVuZGluZ1wiXG4gICAgICAgICAgKGNhbmNlbFRyaWdnZXJlZCk9XCJjYW5jZWxSb3dEZWxldGUocm93KVwiXG4gICAgICAgICAgKGRlbGV0ZVRyaWdnZXJlZCk9XCJjb25maXJtUm93RGVsZXRlKHJvdylcIlxuICAgICAgICA+PC9za3ktaW5saW5lLWRlbGV0ZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFnR3JpZFJvd0RlbGV0ZUNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGRyZW4oJ2lubGluZURlbGV0ZVJlZicpXG4gIHB1YmxpYyBpbmxpbmVEZWxldGVSZWZzOiBRdWVyeUxpc3Q8RWxlbWVudFJlZj4gfCB1bmRlZmluZWQ7XG4gIEBWaWV3Q2hpbGQoJ2lubGluZURlbGV0ZVRlbXBsYXRlUmVmJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBwdWJsaWMgaW5saW5lRGVsZXRlVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xufVxuIl19
@@ -1,7 +1,7 @@
1
1
  var _SkyAgGridRowDeleteDirective_instances, _SkyAgGridRowDeleteDirective_rowDeleteConfigs, _SkyAgGridRowDeleteDirective_ngUnsubscribe, _SkyAgGridRowDeleteDirective_rowDeleteComponent, _SkyAgGridRowDeleteDirective_rowDeleteContents, _SkyAgGridRowDeleteDirective_rowDeleteIdsInternal, _SkyAgGridRowDeleteDirective_affixService, _SkyAgGridRowDeleteDirective_changeDetector, _SkyAgGridRowDeleteDirective_elementRef, _SkyAgGridRowDeleteDirective_overlayService, _SkyAgGridRowDeleteDirective_viewContainerRef, _SkyAgGridRowDeleteDirective_affixToRow, _SkyAgGridRowDeleteDirective_destroyRowDelete, _SkyAgGridRowDeleteDirective_updateRowDeleteStates;
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { ChangeDetectorRef, ContentChild, Directive, ElementRef, EventEmitter, Input, Output, ViewContainerRef, } from '@angular/core';
4
- import { SkyAffixAutoFitContext, SkyAffixService, SkyOverlayService, } from '@skyux/core';
3
+ import { ContentChild, Directive, EventEmitter, Input, Output, } from '@angular/core';
4
+ import { SkyAffixAutoFitContext, } from '@skyux/core';
5
5
  import { AgGridAngular } from 'ag-grid-angular';
6
6
  import { Subject } from 'rxjs';
7
7
  import { takeUntil } from 'rxjs/operators';
@@ -205,9 +205,9 @@ _SkyAgGridRowDeleteDirective_rowDeleteConfigs = new WeakMap(), _SkyAgGridRowDele
205
205
  });
206
206
  __classPrivateFieldGet(this, _SkyAgGridRowDeleteDirective_changeDetector, "f").markForCheck();
207
207
  };
208
- SkyAgGridRowDeleteDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAgGridRowDeleteDirective, deps: [{ token: i1.SkyAffixService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.SkyOverlayService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
209
- SkyAgGridRowDeleteDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: SkyAgGridRowDeleteDirective, selector: "[skyAgGridRowDelete]", inputs: { rowDeleteIds: "rowDeleteIds" }, outputs: { rowDeleteCancel: "rowDeleteCancel", rowDeleteConfirm: "rowDeleteConfirm", rowDeleteIdsChange: "rowDeleteIdsChange" }, queries: [{ propertyName: "agGrid", first: true, predicate: AgGridAngular, descendants: true }], ngImport: i0 });
210
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAgGridRowDeleteDirective, decorators: [{
208
+ SkyAgGridRowDeleteDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridRowDeleteDirective, deps: [{ token: i1.SkyAffixService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.SkyOverlayService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
209
+ SkyAgGridRowDeleteDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.11", type: SkyAgGridRowDeleteDirective, selector: "[skyAgGridRowDelete]", inputs: { rowDeleteIds: "rowDeleteIds" }, outputs: { rowDeleteCancel: "rowDeleteCancel", rowDeleteConfirm: "rowDeleteConfirm", rowDeleteIdsChange: "rowDeleteIdsChange" }, queries: [{ propertyName: "agGrid", first: true, predicate: AgGridAngular, descendants: true }], ngImport: i0 });
210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridRowDeleteDirective, decorators: [{
211
211
  type: Directive,
212
212
  args: [{
213
213
  selector: '[skyAgGridRowDelete]',
@@ -224,4 +224,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
224
224
  type: ContentChild,
225
225
  args: [AgGridAngular]
226
226
  }] } });
227
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1yb3ctZGVsZXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2FnLWdyaWQtcm93LWRlbGV0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGVBQWUsRUFFZixpQkFBaUIsR0FDbEIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7QUFTN0UsTUFBTSxPQUFPLDJCQUEyQjtJQWdJdEMsWUFDRSxZQUE2QixFQUM3QixjQUFpQyxFQUNqQyxVQUFzQixFQUN0QixjQUFpQyxFQUNqQyxnQkFBa0M7O1FBdkNwQzs7V0FFRztRQUVJLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQWdDLENBQUM7UUFFMUU7O1dBRUc7UUFFSSxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBaUMsQ0FBQztRQUU1RTs7V0FFRztRQUVJLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFFekQsd0RBQWdELEVBQUUsRUFBQztRQUtuRCxxREFBaUIsSUFBSSxPQUFPLEVBQVEsRUFBQztRQUNyQyxrRUFBNkQ7UUFDN0QseURBQW1FLEVBQUUsRUFB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bmdlRGV0ZWN0b3JSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTa3lBZmZpeEF1dG9GaXRDb250ZXh0LFxuICBTa3lBZmZpeFNlcnZpY2UsXG4gIFNreUFmZml4ZXIsXG4gIFNreU92ZXJsYXlTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IEFnR3JpZEFuZ3VsYXIgfSBmcm9tICdhZy1ncmlkLWFuZ3VsYXInO1xuaW1wb3J0IHsgUm93Tm9kZSB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5QWdHcmlkUm93RGVsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9hZy1ncmlkLXJvdy1kZWxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFnR3JpZFJvd0RlbGV0ZUNhbmNlbEFyZ3MgfSBmcm9tICcuL3R5cGVzL2FnLWdyaWQtcm93LWRlbGV0ZS1jYW5jZWwtYXJncyc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRSb3dEZWxldGVDb25maWcgfSBmcm9tICcuL3R5cGVzL2FnLWdyaWQtcm93LWRlbGV0ZS1jb25maWcnO1xuaW1wb3J0IHsgU2t5QWdHcmlkUm93RGVsZXRlQ29uZmlybUFyZ3MgfSBmcm9tICcuL3R5cGVzL2FnLWdyaWQtcm93LWRlbGV0ZS1jb25maXJtLWFyZ3MnO1xuaW1wb3J0IHsgU2t5QWdHcmlkUm93RGVsZXRlQ29udGVudHMgfSBmcm9tICcuL3R5cGVzL2FnLWdyaWQtcm93LWRlbGV0ZS1jb250ZW50cyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tza3lBZ0dyaWRSb3dEZWxldGVdJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QWdHcmlkUm93RGVsZXRlRGlyZWN0aXZlXG4gIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95XG57XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGlkcyBvZiB0aGUgZGF0YSBpbiB0aGUgcm93cyBvbiB3aGljaCBpbmxpbmUgZGVsZXRlJ3Mgc2hvdWxkIGJlIHNob3duLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCByb3dEZWxldGVJZHModmFsdWU6IHN0cmluZ1tdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jcm93RGVsZXRlSWRzSW50ZXJuYWwgPSB2YWx1ZTtcblxuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIGZvciAoY29uc3QgY29uZmlnIG9mIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MpIHtcbiAgICAgICAgdGhpcy4jZGVzdHJveVJvd0RlbGV0ZShjb25maWcuaWQpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgaWQgb2YgdmFsdWUpIHtcbiAgICAgIGNvbnN0IGV4aXN0aW5nQ29uZmlnID0gdGhpcy4jcm93RGVsZXRlQ29uZmlncy5maW5kKFxuICAgICAgICAoY29uZmlnKSA9PiBjb25maWcuaWQgPT09IGlkXG4gICAgICApO1xuICAgICAgaWYgKGV4aXN0aW5nQ29uZmlnKSB7XG4gICAgICAgIGV4aXN0aW5nQ29uZmlnLnBlbmRpbmcgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy4jcm93RGVsZXRlQ29tcG9uZW50ICYmIHRoaXMuYWdHcmlkKSB7XG4gICAgICAgIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MucHVzaCh7XG4gICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgIHBlbmRpbmc6IGZhbHNlLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBvdmVybGF5ID0gdGhpcy4jb3ZlcmxheVNlcnZpY2UuY3JlYXRlKHtcbiAgICAgICAgICBlbmFibGVTY3JvbGw6IHRydWUsXG4gICAgICAgICAgc2hvd0JhY2tkcm9wOiBmYWxzZSxcbiAgICAgICAgICBjbG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcbiAgICAgICAgICBlbmFibGVDbG9zZTogZmFsc2UsXG4gICAgICAgICAgZW5hYmxlUG9pbnRlckV2ZW50czogdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuI3Jvd0RlbGV0ZUNvbXBvbmVudC5pbmxpbmVEZWxldGVUZW1wbGF0ZVJlZikge1xuICAgICAgICAgIG92ZXJsYXkuYXR0YWNoVGVtcGxhdGUoXG4gICAgICAgICAgICB0aGlzLiNyb3dEZWxldGVDb21wb25lbnQuaW5saW5lRGVsZXRlVGVtcGxhdGVSZWYsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICRpbXBsaWNpdDogdGhpcy5hZ0dyaWQuYXBpLmdldFJvd05vZGUoaWQpLFxuICAgICAgICAgICAgICB0YWJsZVdpZHRoOiAoKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2t5LWFnLWdyaWQnKVxuICAgICAgICAgICAgICAgICAgLm9mZnNldFdpZHRoLFxuICAgICAgICAgICAgICBnZXRSb3dEZWxldGVJdGVtOiAocm93OiBSb3dOb2RlKSA9PiB0aGlzLmdldFJvd0RlbGV0ZUl0ZW0ocm93KSxcbiAgICAgICAgICAgICAgY2FuY2VsUm93RGVsZXRlOiAocm93OiBSb3dOb2RlKSA9PiB0aGlzLmNhbmNlbFJvd0RlbGV0ZShyb3cpLFxuICAgICAgICAgICAgICBjb25maXJtUm93RGVsZXRlOiAocm93OiBSb3dOb2RlKSA9PiB0aGlzLmNvbmZpcm1Sb3dEZWxldGUocm93KSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFdlIGFyZSBtYW51YWxseSBzZXR0aW5nIHRoZSB6LWluZGV4IGhlcmUgYmVjYXVzZSBvdmVybGF5cyB3aWxsIGFsd2F5cyBiZSBvbiB0b3Agb2ZcbiAgICAgICAgICogdGhlIG9tbmliYXIuIFRoaXMgbWFudWFsIHNldHRpbmcgaXMgMiBsZXNzIHRoYW4gdGhlIG9tbmliYXIncyB6LWluZGV4IG9mIDEwMDAgYW5kIG9uZSBsZXNzIHRoYW5cbiAgICAgICAgICogdGhlIGhlYWRlciByb3cncyB2aWV3a2VlcGVyIHdoaWNoIGlzIDk5OS4gV2UgZGlzY3Vzc2VkIGNoYW5naW5nIHRoZSBvdmVybGF5IHNlcnZpY2UgdG8gYWxsb3cgZm9yIHRoaXNcbiAgICAgICAgICogYnV0IGRlY2lkZWQgYWdhaW5zdCB0aGF0IGNoYW5nZSBhdCB0aGlzIHRpbWUgZHVlIHRvIGl0cyBuaWNoZSBuYXR1cmUuXG4gICAgICAgICAqL1xuICAgICAgICBvdmVybGF5LmNvbXBvbmVudFJlZi5pbnN0YW5jZS56SW5kZXggPSAnOTk4JztcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBjb25zdCBpbmxpbmVEZWxldGVSZWYgPSB0aGlzLiNyb3dEZWxldGVDb21wb25lbnQ/LmlubGluZURlbGV0ZVJlZnNcbiAgICAgICAgICAgID8udG9BcnJheSgpXG4gICAgICAgICAgICAuZmluZChcbiAgICAgICAgICAgICAgKGVsUmVmKSA9PiBlbFJlZi5uYXRpdmVFbGVtZW50LmlkID09PSAncm93LWRlbGV0ZS1yZWYtJyArIGlkXG4gICAgICAgICAgICApIGFzIEVsZW1lbnRSZWY7XG4gICAgICAgICAgY29uc3QgYWZmaXhlciA9IHRoaXMuI2FmZml4U2VydmljZS5jcmVhdGVBZmZpeGVyKGlubGluZURlbGV0ZVJlZik7XG5cbiAgICAgICAgICB0aGlzLiNhZmZpeFRvUm93KGFmZml4ZXIsIGlkKTtcblxuICAgICAgICAgIHRoaXMuI3Jvd0RlbGV0ZUNvbnRlbnRzW2lkXSA9IHtcbiAgICAgICAgICAgIGFmZml4ZXI6IGFmZml4ZXIsXG4gICAgICAgICAgICBvdmVybGF5OiBvdmVybGF5LFxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgY29uZmlnIG9mIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MpIHtcbiAgICAgIGlmICh2YWx1ZS5pbmRleE9mKGNvbmZpZy5pZCkgPCAwKSB7XG4gICAgICAgIHRoaXMuI2Rlc3Ryb3lSb3dEZWxldGUoY29uZmlnLmlkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldCByb3dEZWxldGVJZHMoKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNyb3dEZWxldGVJZHNJbnRlcm5hbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbWl0cyBhIGBTa3lBZ0dyaWRSb3dEZWxldGVDYW5jZWxBcmdzYCBvYmplY3Qgd2hlbiBhIHJvdydzIGlubGluZSBkZWxldGUgaXMgY2FuY2VsbGVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByb3dEZWxldGVDYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPFNreUFnR3JpZFJvd0RlbGV0ZUNhbmNlbEFyZ3M+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGEgYFNreUFnR3JpZFJvd0RlbGV0ZUNvbmZpcm1BcmdzYCBvYmplY3Qgd2hlbiBhIHJvdydzIGlubGluZSBkZWxldGUgaXMgY29uZmlybWVkLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByb3dEZWxldGVDb25maXJtID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lBZ0dyaWRSb3dEZWxldGVDb25maXJtQXJncz4oKTtcblxuICAvKipcbiAgICogRW1pdHMgd2hlbiB0aGUgbGlzdCBvZiBpZHMgb2YgdGhlIGRhdGEgaW4gdGhlIHJvd3Mgd2hlcmUgaW5saW5lIGRlbGV0ZXMgYXJlIHNob3duIGNoYW5nZXMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHJvd0RlbGV0ZUlkc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG5cbiAgI3Jvd0RlbGV0ZUNvbmZpZ3M6IFNreUFnR3JpZFJvd0RlbGV0ZUNvbmZpZ1tdID0gW107XG5cbiAgQENvbnRlbnRDaGlsZChBZ0dyaWRBbmd1bGFyKVxuICBwdWJsaWMgYWdHcmlkOiBBZ0dyaWRBbmd1bGFyIHwgdW5kZWZpbmVkO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgI3Jvd0RlbGV0ZUNvbXBvbmVudDogU2t5QWdHcmlkUm93RGVsZXRlQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuICAjcm93RGVsZXRlQ29udGVudHM6IHsgW2lkOiBzdHJpbmddOiBTa3lBZ0dyaWRSb3dEZWxldGVDb250ZW50cyB9ID0ge307XG5cbiAgI3Jvd0RlbGV0ZUlkc0ludGVybmFsOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgI2FmZml4U2VydmljZTogU2t5QWZmaXhTZXJ2aWNlO1xuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjZWxlbWVudFJlZjogRWxlbWVudFJlZjtcbiAgI292ZXJsYXlTZXJ2aWNlOiBTa3lPdmVybGF5U2VydmljZTtcbiAgI3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgYWZmaXhTZXJ2aWNlOiBTa3lBZmZpeFNlcnZpY2UsXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgb3ZlcmxheVNlcnZpY2U6IFNreU92ZXJsYXlTZXJ2aWNlLFxuICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWZcbiAgKSB7XG4gICAgdGhpcy4jYWZmaXhTZXJ2aWNlID0gYWZmaXhTZXJ2aWNlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yID0gY2hhbmdlRGV0ZWN0b3I7XG4gICAgdGhpcy4jZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gICAgdGhpcy4jb3ZlcmxheVNlcnZpY2UgPSBvdmVybGF5U2VydmljZTtcbiAgICB0aGlzLiN2aWV3Q29udGFpbmVyUmVmID0gdmlld0NvbnRhaW5lclJlZjtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jcm93RGVsZXRlQ29tcG9uZW50ID0gdGhpcy4jdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoXG4gICAgICBTa3lBZ0dyaWRSb3dEZWxldGVDb21wb25lbnRcbiAgICApLmluc3RhbmNlO1xuXG4gICAgaWYgKHRoaXMuYWdHcmlkKSB7XG4gICAgICB0aGlzLmFnR3JpZC5yb3dEYXRhVXBkYXRlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZVJvd0RlbGV0ZVN0YXRlcygpO1xuICAgICAgICB9KTtcblxuICAgICAgdGhpcy5hZ0dyaWQuc29ydENoYW5nZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVSb3dEZWxldGVTdGF0ZXMoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuYWdHcmlkLmZpbHRlckNoYW5nZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVSb3dEZWxldGVTdGF0ZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcblxuICAgIE9iamVjdC5rZXlzKHRoaXMuI3Jvd0RlbGV0ZUNvbnRlbnRzKS5mb3JFYWNoKChpZCkgPT4ge1xuICAgICAgdGhpcy4jZGVzdHJveVJvd0RlbGV0ZShpZCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2FuY2VsUm93RGVsZXRlKHJvdzogUm93Tm9kZSk6IHZvaWQge1xuICAgIGlmIChyb3cuaWQpIHtcbiAgICAgIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MgPSB0aGlzLiNyb3dEZWxldGVDb25maWdzLmZpbHRlcihcbiAgICAgICAgKGNvbmZpZykgPT4gY29uZmlnLmlkICE9PSByb3cuaWRcbiAgICAgICk7XG4gICAgICB0aGlzLnJvd0RlbGV0ZUNhbmNlbC5lbWl0KHsgaWQ6IHJvdy5pZCB9KTtcblxuICAgICAgdGhpcy4jZGVzdHJveVJvd0RlbGV0ZShyb3cuaWQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjb25maXJtUm93RGVsZXRlKHJvdzogUm93Tm9kZSk6IHZvaWQge1xuICAgIGlmIChyb3cuaWQpIHtcbiAgICAgIGNvbnN0IHJvd0NvbmZpZyA9IHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MuZmluZChcbiAgICAgICAgKGNvbmZpZykgPT4gY29uZmlnLmlkID09PSByb3cuaWRcbiAgICAgICk7XG5cbiAgICAgIGlmIChyb3dDb25maWcpIHtcbiAgICAgICAgcm93Q29uZmlnLnBlbmRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLnJvd0RlbGV0ZUNvbmZpcm0uZW1pdCh7IGlkOiByb3cuaWQgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFJvd0RlbGV0ZUl0ZW0ocm93OiBSb3dOb2RlKTogU2t5QWdHcmlkUm93RGVsZXRlQ29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jcm93RGVsZXRlQ29uZmlncy5maW5kKChyb3dEZWxldGUpID0+IHJvd0RlbGV0ZS5pZCA9PT0gcm93LmlkKTtcbiAgfVxuXG4gICNhZmZpeFRvUm93KGFmZml4ZXI6IFNreUFmZml4ZXIsIGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgcm93RWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihgXG4gICAgICBbcm93LWlkPVwiJHtpZH1cIl0gZGl2W2FyaWEtY29saW5kZXg9XCIxXCJdLFxuICAgICAgLmFnLXJvdy5za3ktYWctZ3JpZC1yb3ctJHtpZH0gZGl2W2FyaWEtY29saW5kZXg9XCIxXCJdXG4gICAgYCk7XG5cbiAgICAvLyBUaGlzIGNvdmVycyBjYXNlcyB3aGVyZSBBRyBHcmlkIHBsYWNlcyB0aGUgY29sdW1uIGluZGV4IG9uIGFuIGlubmVyIGVsZW1lbnQgKHN1Y2ggYXMgd2l0aCB0aGUgYGVuYWJsZUNlbGxUZXh0U2VsZWN0aW9uYCBvcHRpb24pXG4gICAgLy8gVGhpcyBhcHBlYXJzIHRvIGhhdmUgYmVlbiBmaXhlZCBieSBBRyBHcmlkIGluIHZlcnNpb24gMjQgYW5kIHNvIGl0IGlzIG5vdCB0ZXN0YWJsZSBhZnRlciB0aGF0IHZlcnNpb24uXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCFyb3dFbGVtZW50KSB7XG4gICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAgICdbcm93LWlkPVwiJyArIGlkICsgJ1wiXSA+IGRpdidcbiAgICAgICk7XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29sdW1ucy5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoY29sdW1uc1tpXS5xdWVyeVNlbGVjdG9yKCdbYXJpYS1jb2xpbmRleD1cIjFcIl0nKSkge1xuICAgICAgICAgIHJvd0VsZW1lbnQgPSBjb2x1bW5zW2ldO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgYWZmaXhlci5hZmZpeFRvKHJvd0VsZW1lbnQsIHtcbiAgICAgIGF1dG9GaXRDb250ZXh0OiBTa3lBZmZpeEF1dG9GaXRDb250ZXh0LlZpZXdwb3J0LFxuICAgICAgaXNTdGlja3k6IHRydWUsXG4gICAgICBwbGFjZW1lbnQ6ICdhYm92ZScsXG4gICAgICB2ZXJ0aWNhbEFsaWdubWVudDogJ3RvcCcsXG4gICAgICBob3Jpem9udGFsQWxpZ25tZW50OiAnbGVmdCcsXG4gICAgICBlbmFibGVBdXRvRml0OiBmYWxzZSxcbiAgICB9KTtcbiAgfVxuXG4gICNkZXN0cm95Um93RGVsZXRlKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCByb3dEZWxldGVDb250ZW50cyA9IHRoaXMuI3Jvd0RlbGV0ZUNvbnRlbnRzW2lkXTtcblxuICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHJvd0RlbGV0ZUNvbnRlbnRzKSB7XG4gICAgICByb3dEZWxldGVDb250ZW50cy5hZmZpeGVyLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuI292ZXJsYXlTZXJ2aWNlLmNsb3NlKHJvd0RlbGV0ZUNvbnRlbnRzLm92ZXJsYXkpO1xuICAgICAgZGVsZXRlIHRoaXMuI3Jvd0RlbGV0ZUNvbnRlbnRzW2lkXTtcbiAgICAgIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MgPSB0aGlzLiNyb3dEZWxldGVDb25maWdzLmZpbHRlcihcbiAgICAgICAgKGNvbmZpZykgPT4gY29uZmlnLmlkICE9PSBpZFxuICAgICAgKTtcbiAgICAgIHRoaXMuI3Jvd0RlbGV0ZUlkc0ludGVybmFsID0gdGhpcy5yb3dEZWxldGVJZHM/LmZpbHRlcihcbiAgICAgICAgKGFycmF5SWQpID0+IGFycmF5SWQgIT09IGlkXG4gICAgICApO1xuICAgICAgdGhpcy5yb3dEZWxldGVJZHNDaGFuZ2UuZW1pdCh0aGlzLiNyb3dEZWxldGVJZHNJbnRlcm5hbCk7XG4gICAgfVxuICB9XG5cbiAgI3VwZGF0ZVJvd0RlbGV0ZVN0YXRlcygpOiB2b2lkIHtcbiAgICB0aGlzLiNyb3dEZWxldGVDb25maWdzLmZvckVhY2goKGNvbmZpZzogU2t5QWdHcmlkUm93RGVsZXRlQ29uZmlnKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuYWdHcmlkPy5hcGkuZ2V0Um93Tm9kZShjb25maWcuaWQpKSB7XG4gICAgICAgIHRoaXMuI2Rlc3Ryb3lSb3dEZWxldGUoY29uZmlnLmlkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFdlIG11c3QgcmVhZmZpeCB0aGluZ3Mgd2hlbiB0aGUgZGF0YSBjaGFuZ2VzIGJlY2F1c2UgdGhlIHJvd3MgcmVyZW5kZXIgYW5kIHRoZSBwcmV2aW91cyBlbGVtZW50IHRoYXQgdGhlIGRlbGV0ZSB3YXMgYWZmaXhlZFxuICAgICAgICAvLyB0byBpcyBkZXN0cm95ZWQuXG4gICAgICAgIHRoaXMuI2FmZml4VG9Sb3codGhpcy4jcm93RGVsZXRlQ29udGVudHNbY29uZmlnLmlkXS5hZmZpeGVyLCBjb25maWcuaWQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iXX0=
227
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1yb3ctZGVsZXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2FnLWdyaWQtcm93LWRlbGV0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBR0wsWUFBWSxFQUNaLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsc0JBQXNCLEdBSXZCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBUzdFLE1BQU0sT0FBTywyQkFBMkI7SUFnSXRDLFlBQ0UsWUFBNkIsRUFDN0IsY0FBaUMsRUFDakMsVUFBc0IsRUFDdEIsY0FBaUMsRUFDakMsZ0JBQWtDOztRQXZDcEM7O1dBRUc7UUFFSSxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFnQyxDQUFDO1FBRTFFOztXQUVHO1FBRUkscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQWlDLENBQUM7UUFFNUU7O1dBRUc7UUFFSSx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBRXpELHdEQUFnRCxFQUFFLEVBQUM7UUFLbkQscURBQWlCLElBQUksT0FBTyxFQUFRLEVBQUM7UUFDckMsa0VBQTZEO1FBQzdELHlEQUFtRSxFQUFFLEVBQUM7UUFFdEUsb0VBQTRDO1FBQzVDLDREQUErQjtRQUMvQiw4REFBbUM7UUFDbkMsMERBQXdCO1FBQ3hC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S0FBSyxFQUFFLENBQzVCLE1BQUEsQ0FBQztRQUNGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsdUJBQUEsSUFBSSx5REFBc0IsQ0FBQyxDQUFDO0tBQzFEO0FBQ0gsQ0FBQztJQUdDLHVCQUFBLElBQUkscURBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBZ0MsRUFBRSxFQUFFO1FBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzNDLHVCQUFBLElBQUksNkZBQWtCLE1BQXRCLElBQUksRUFBbUIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ25DO2FBQU07WUFDTCw4SEFBOEg7WUFDOUgsbUJBQW1CO1lBQ25CLHVCQUFBLElBQUksdUZBQVksTUFBaEIsSUFBSSxFQUFhLHVCQUFBLElBQUksc0RBQW1CLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDekU7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILHVCQUFBLElBQUksbURBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7QUFDdEMsQ0FBQzt5SEEzUVUsMkJBQTJCOzZHQUEzQiwyQkFBMkIsMlFBa0h4QixhQUFhOzRGQWxIaEIsMkJBQTJCO2tCQUh2QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7aUJBQ2pDOzhOQVFZLFlBQVk7c0JBRHRCLEtBQUs7Z0JBNEZDLGVBQWU7c0JBRHJCLE1BQU07Z0JBT0EsZ0JBQWdCO3NCQUR0QixNQUFNO2dCQU9BLGtCQUFrQjtzQkFEeEIsTUFBTTtnQkFNQSxNQUFNO3NCQURaLFlBQVk7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb250ZW50Q2hpbGQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5QWZmaXhBdXRvRml0Q29udGV4dCxcbiAgU2t5QWZmaXhTZXJ2aWNlLFxuICBTa3lBZmZpeGVyLFxuICBTa3lPdmVybGF5U2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBBZ0dyaWRBbmd1bGFyIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcbmltcG9ydCB7IFJvd05vZGUgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUFnR3JpZFJvd0RlbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vYWctZ3JpZC1yb3ctZGVsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRSb3dEZWxldGVDYW5jZWxBcmdzIH0gZnJvbSAnLi90eXBlcy9hZy1ncmlkLXJvdy1kZWxldGUtY2FuY2VsLWFyZ3MnO1xuaW1wb3J0IHsgU2t5QWdHcmlkUm93RGVsZXRlQ29uZmlnIH0gZnJvbSAnLi90eXBlcy9hZy1ncmlkLXJvdy1kZWxldGUtY29uZmlnJztcbmltcG9ydCB7IFNreUFnR3JpZFJvd0RlbGV0ZUNvbmZpcm1BcmdzIH0gZnJvbSAnLi90eXBlcy9hZy1ncmlkLXJvdy1kZWxldGUtY29uZmlybS1hcmdzJztcbmltcG9ydCB7IFNreUFnR3JpZFJvd0RlbGV0ZUNvbnRlbnRzIH0gZnJvbSAnLi90eXBlcy9hZy1ncmlkLXJvdy1kZWxldGUtY29udGVudHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2t5QWdHcmlkUm93RGVsZXRlXScsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFnR3JpZFJvd0RlbGV0ZURpcmVjdGl2ZVxuICBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveVxue1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBpZHMgb2YgdGhlIGRhdGEgaW4gdGhlIHJvd3Mgb24gd2hpY2ggaW5saW5lIGRlbGV0ZSdzIHNob3VsZCBiZSBzaG93bi5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcm93RGVsZXRlSWRzKHZhbHVlOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI3Jvd0RlbGV0ZUlkc0ludGVybmFsID0gdmFsdWU7XG5cbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICBmb3IgKGNvbnN0IGNvbmZpZyBvZiB0aGlzLiNyb3dEZWxldGVDb25maWdzKSB7XG4gICAgICAgIHRoaXMuI2Rlc3Ryb3lSb3dEZWxldGUoY29uZmlnLmlkKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGlkIG9mIHZhbHVlKSB7XG4gICAgICBjb25zdCBleGlzdGluZ0NvbmZpZyA9IHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MuZmluZChcbiAgICAgICAgKGNvbmZpZykgPT4gY29uZmlnLmlkID09PSBpZFxuICAgICAgKTtcbiAgICAgIGlmIChleGlzdGluZ0NvbmZpZykge1xuICAgICAgICBleGlzdGluZ0NvbmZpZy5wZW5kaW5nID0gZmFsc2U7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuI3Jvd0RlbGV0ZUNvbXBvbmVudCAmJiB0aGlzLmFnR3JpZCkge1xuICAgICAgICB0aGlzLiNyb3dEZWxldGVDb25maWdzLnB1c2goe1xuICAgICAgICAgIGlkOiBpZCxcbiAgICAgICAgICBwZW5kaW5nOiBmYWxzZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3Qgb3ZlcmxheSA9IHRoaXMuI292ZXJsYXlTZXJ2aWNlLmNyZWF0ZSh7XG4gICAgICAgICAgZW5hYmxlU2Nyb2xsOiB0cnVlLFxuICAgICAgICAgIHNob3dCYWNrZHJvcDogZmFsc2UsXG4gICAgICAgICAgY2xvc2VPbk5hdmlnYXRpb246IHRydWUsXG4gICAgICAgICAgZW5hYmxlQ2xvc2U6IGZhbHNlLFxuICAgICAgICAgIGVuYWJsZVBvaW50ZXJFdmVudHM6IHRydWUsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLiNyb3dEZWxldGVDb21wb25lbnQuaW5saW5lRGVsZXRlVGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICBvdmVybGF5LmF0dGFjaFRlbXBsYXRlKFxuICAgICAgICAgICAgdGhpcy4jcm93RGVsZXRlQ29tcG9uZW50LmlubGluZURlbGV0ZVRlbXBsYXRlUmVmLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAkaW1wbGljaXQ6IHRoaXMuYWdHcmlkLmFwaS5nZXRSb3dOb2RlKGlkKSxcbiAgICAgICAgICAgICAgdGFibGVXaWR0aDogKCkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNreS1hZy1ncmlkJylcbiAgICAgICAgICAgICAgICAgIC5vZmZzZXRXaWR0aCxcbiAgICAgICAgICAgICAgZ2V0Um93RGVsZXRlSXRlbTogKHJvdzogUm93Tm9kZSkgPT4gdGhpcy5nZXRSb3dEZWxldGVJdGVtKHJvdyksXG4gICAgICAgICAgICAgIGNhbmNlbFJvd0RlbGV0ZTogKHJvdzogUm93Tm9kZSkgPT4gdGhpcy5jYW5jZWxSb3dEZWxldGUocm93KSxcbiAgICAgICAgICAgICAgY29uZmlybVJvd0RlbGV0ZTogKHJvdzogUm93Tm9kZSkgPT4gdGhpcy5jb25maXJtUm93RGVsZXRlKHJvdyksXG4gICAgICAgICAgICB9XG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBXZSBhcmUgbWFudWFsbHkgc2V0dGluZyB0aGUgei1pbmRleCBoZXJlIGJlY2F1c2Ugb3ZlcmxheXMgd2lsbCBhbHdheXMgYmUgb24gdG9wIG9mXG4gICAgICAgICAqIHRoZSBvbW5pYmFyLiBUaGlzIG1hbnVhbCBzZXR0aW5nIGlzIDIgbGVzcyB0aGFuIHRoZSBvbW5pYmFyJ3Mgei1pbmRleCBvZiAxMDAwIGFuZCBvbmUgbGVzcyB0aGFuXG4gICAgICAgICAqIHRoZSBoZWFkZXIgcm93J3Mgdmlld2tlZXBlciB3aGljaCBpcyA5OTkuIFdlIGRpc2N1c3NlZCBjaGFuZ2luZyB0aGUgb3ZlcmxheSBzZXJ2aWNlIHRvIGFsbG93IGZvciB0aGlzXG4gICAgICAgICAqIGJ1dCBkZWNpZGVkIGFnYWluc3QgdGhhdCBjaGFuZ2UgYXQgdGhpcyB0aW1lIGR1ZSB0byBpdHMgbmljaGUgbmF0dXJlLlxuICAgICAgICAgKi9cbiAgICAgICAgb3ZlcmxheS5jb21wb25lbnRSZWYuaW5zdGFuY2UuekluZGV4ID0gJzk5OCc7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgaW5saW5lRGVsZXRlUmVmID0gdGhpcy4jcm93RGVsZXRlQ29tcG9uZW50Py5pbmxpbmVEZWxldGVSZWZzXG4gICAgICAgICAgICA/LnRvQXJyYXkoKVxuICAgICAgICAgICAgLmZpbmQoXG4gICAgICAgICAgICAgIChlbFJlZikgPT4gZWxSZWYubmF0aXZlRWxlbWVudC5pZCA9PT0gJ3Jvdy1kZWxldGUtcmVmLScgKyBpZFxuICAgICAgICAgICAgKSBhcyBFbGVtZW50UmVmO1xuICAgICAgICAgIGNvbnN0IGFmZml4ZXIgPSB0aGlzLiNhZmZpeFNlcnZpY2UuY3JlYXRlQWZmaXhlcihpbmxpbmVEZWxldGVSZWYpO1xuXG4gICAgICAgICAgdGhpcy4jYWZmaXhUb1JvdyhhZmZpeGVyLCBpZCk7XG5cbiAgICAgICAgICB0aGlzLiNyb3dEZWxldGVDb250ZW50c1tpZF0gPSB7XG4gICAgICAgICAgICBhZmZpeGVyOiBhZmZpeGVyLFxuICAgICAgICAgICAgb3ZlcmxheTogb3ZlcmxheSxcbiAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGNvbmZpZyBvZiB0aGlzLiNyb3dEZWxldGVDb25maWdzKSB7XG4gICAgICBpZiAodmFsdWUuaW5kZXhPZihjb25maWcuaWQpIDwgMCkge1xuICAgICAgICB0aGlzLiNkZXN0cm95Um93RGVsZXRlKGNvbmZpZy5pZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBnZXQgcm93RGVsZXRlSWRzKCk6IHN0cmluZ1tdIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jcm93RGVsZXRlSWRzSW50ZXJuYWw7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYSBgU2t5QWdHcmlkUm93RGVsZXRlQ2FuY2VsQXJnc2Agb2JqZWN0IHdoZW4gYSByb3cncyBpbmxpbmUgZGVsZXRlIGlzIGNhbmNlbGxlZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcm93RGVsZXRlQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lBZ0dyaWRSb3dEZWxldGVDYW5jZWxBcmdzPigpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyBhIGBTa3lBZ0dyaWRSb3dEZWxldGVDb25maXJtQXJnc2Agb2JqZWN0IHdoZW4gYSByb3cncyBpbmxpbmUgZGVsZXRlIGlzIGNvbmZpcm1lZC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcm93RGVsZXRlQ29uZmlybSA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5QWdHcmlkUm93RGVsZXRlQ29uZmlybUFyZ3M+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gdGhlIGxpc3Qgb2YgaWRzIG9mIHRoZSBkYXRhIGluIHRoZSByb3dzIHdoZXJlIGlubGluZSBkZWxldGVzIGFyZSBzaG93biBjaGFuZ2VzLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyByb3dEZWxldGVJZHNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xuXG4gICNyb3dEZWxldGVDb25maWdzOiBTa3lBZ0dyaWRSb3dEZWxldGVDb25maWdbXSA9IFtdO1xuXG4gIEBDb250ZW50Q2hpbGQoQWdHcmlkQW5ndWxhcilcbiAgcHVibGljIGFnR3JpZDogQWdHcmlkQW5ndWxhciB8IHVuZGVmaW5lZDtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICNyb3dEZWxldGVDb21wb25lbnQ6IFNreUFnR3JpZFJvd0RlbGV0ZUNvbXBvbmVudCB8IHVuZGVmaW5lZDtcbiAgI3Jvd0RlbGV0ZUNvbnRlbnRzOiB7IFtpZDogc3RyaW5nXTogU2t5QWdHcmlkUm93RGVsZXRlQ29udGVudHMgfSA9IHt9O1xuXG4gICNyb3dEZWxldGVJZHNJbnRlcm5hbDogc3RyaW5nW10gfCB1bmRlZmluZWQ7XG4gICNhZmZpeFNlcnZpY2U6IFNreUFmZml4U2VydmljZTtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG4gICNvdmVybGF5U2VydmljZTogU2t5T3ZlcmxheVNlcnZpY2U7XG4gICN2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGFmZml4U2VydmljZTogU2t5QWZmaXhTZXJ2aWNlLFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIG92ZXJsYXlTZXJ2aWNlOiBTa3lPdmVybGF5U2VydmljZSxcbiAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmXG4gICkge1xuICAgIHRoaXMuI2FmZml4U2VydmljZSA9IGFmZml4U2VydmljZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI2VsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuICAgIHRoaXMuI292ZXJsYXlTZXJ2aWNlID0gb3ZlcmxheVNlcnZpY2U7XG4gICAgdGhpcy4jdmlld0NvbnRhaW5lclJlZiA9IHZpZXdDb250YWluZXJSZWY7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI3Jvd0RlbGV0ZUNvbXBvbmVudCA9IHRoaXMuI3ZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgU2t5QWdHcmlkUm93RGVsZXRlQ29tcG9uZW50XG4gICAgKS5pbnN0YW5jZTtcblxuICAgIGlmICh0aGlzLmFnR3JpZCkge1xuICAgICAgdGhpcy5hZ0dyaWQucm93RGF0YVVwZGF0ZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVSb3dEZWxldGVTdGF0ZXMoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgIHRoaXMuYWdHcmlkLnNvcnRDaGFuZ2VkXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlUm93RGVsZXRlU3RhdGVzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICB0aGlzLmFnR3JpZC5maWx0ZXJDaGFuZ2VkXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlUm93RGVsZXRlU3RhdGVzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG5cbiAgICBPYmplY3Qua2V5cyh0aGlzLiNyb3dEZWxldGVDb250ZW50cykuZm9yRWFjaCgoaWQpID0+IHtcbiAgICAgIHRoaXMuI2Rlc3Ryb3lSb3dEZWxldGUoaWQpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNhbmNlbFJvd0RlbGV0ZShyb3c6IFJvd05vZGUpOiB2b2lkIHtcbiAgICBpZiAocm93LmlkKSB7XG4gICAgICB0aGlzLiNyb3dEZWxldGVDb25maWdzID0gdGhpcy4jcm93RGVsZXRlQ29uZmlncy5maWx0ZXIoXG4gICAgICAgIChjb25maWcpID0+IGNvbmZpZy5pZCAhPT0gcm93LmlkXG4gICAgICApO1xuICAgICAgdGhpcy5yb3dEZWxldGVDYW5jZWwuZW1pdCh7IGlkOiByb3cuaWQgfSk7XG5cbiAgICAgIHRoaXMuI2Rlc3Ryb3lSb3dEZWxldGUocm93LmlkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY29uZmlybVJvd0RlbGV0ZShyb3c6IFJvd05vZGUpOiB2b2lkIHtcbiAgICBpZiAocm93LmlkKSB7XG4gICAgICBjb25zdCByb3dDb25maWcgPSB0aGlzLiNyb3dEZWxldGVDb25maWdzLmZpbmQoXG4gICAgICAgIChjb25maWcpID0+IGNvbmZpZy5pZCA9PT0gcm93LmlkXG4gICAgICApO1xuXG4gICAgICBpZiAocm93Q29uZmlnKSB7XG4gICAgICAgIHJvd0NvbmZpZy5wZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5yb3dEZWxldGVDb25maXJtLmVtaXQoeyBpZDogcm93LmlkIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRSb3dEZWxldGVJdGVtKHJvdzogUm93Tm9kZSk6IFNreUFnR3JpZFJvd0RlbGV0ZUNvbmZpZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI3Jvd0RlbGV0ZUNvbmZpZ3MuZmluZCgocm93RGVsZXRlKSA9PiByb3dEZWxldGUuaWQgPT09IHJvdy5pZCk7XG4gIH1cblxuICAjYWZmaXhUb1JvdyhhZmZpeGVyOiBTa3lBZmZpeGVyLCBpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgbGV0IHJvd0VsZW1lbnQ6IEhUTUxFbGVtZW50ID0gdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYFxuICAgICAgW3Jvdy1pZD1cIiR7aWR9XCJdIGRpdlthcmlhLWNvbGluZGV4PVwiMVwiXSxcbiAgICAgIC5hZy1yb3cuc2t5LWFnLWdyaWQtcm93LSR7aWR9IGRpdlthcmlhLWNvbGluZGV4PVwiMVwiXVxuICAgIGApO1xuXG4gICAgLy8gVGhpcyBjb3ZlcnMgY2FzZXMgd2hlcmUgQUcgR3JpZCBwbGFjZXMgdGhlIGNvbHVtbiBpbmRleCBvbiBhbiBpbm5lciBlbGVtZW50IChzdWNoIGFzIHdpdGggdGhlIGBlbmFibGVDZWxsVGV4dFNlbGVjdGlvbmAgb3B0aW9uKVxuICAgIC8vIFRoaXMgYXBwZWFycyB0byBoYXZlIGJlZW4gZml4ZWQgYnkgQUcgR3JpZCBpbiB2ZXJzaW9uIDI0IGFuZCBzbyBpdCBpcyBub3QgdGVzdGFibGUgYWZ0ZXIgdGhhdCB2ZXJzaW9uLlxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICghcm93RWxlbWVudCkge1xuICAgICAgY29uc3QgY29sdW1ucyA9IHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAnW3Jvdy1pZD1cIicgKyBpZCArICdcIl0gPiBkaXYnXG4gICAgICApO1xuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbHVtbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGNvbHVtbnNbaV0ucXVlcnlTZWxlY3RvcignW2FyaWEtY29saW5kZXg9XCIxXCJdJykpIHtcbiAgICAgICAgICByb3dFbGVtZW50ID0gY29sdW1uc1tpXTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGFmZml4ZXIuYWZmaXhUbyhyb3dFbGVtZW50LCB7XG4gICAgICBhdXRvRml0Q29udGV4dDogU2t5QWZmaXhBdXRvRml0Q29udGV4dC5WaWV3cG9ydCxcbiAgICAgIGlzU3RpY2t5OiB0cnVlLFxuICAgICAgcGxhY2VtZW50OiAnYWJvdmUnLFxuICAgICAgdmVydGljYWxBbGlnbm1lbnQ6ICd0b3AnLFxuICAgICAgaG9yaXpvbnRhbEFsaWdubWVudDogJ2xlZnQnLFxuICAgICAgZW5hYmxlQXV0b0ZpdDogZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICAjZGVzdHJveVJvd0RlbGV0ZShpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3Qgcm93RGVsZXRlQ29udGVudHMgPSB0aGlzLiNyb3dEZWxldGVDb250ZW50c1tpZF07XG5cbiAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChyb3dEZWxldGVDb250ZW50cykge1xuICAgICAgcm93RGVsZXRlQ29udGVudHMuYWZmaXhlci5kZXN0cm95KCk7XG4gICAgICB0aGlzLiNvdmVybGF5U2VydmljZS5jbG9zZShyb3dEZWxldGVDb250ZW50cy5vdmVybGF5KTtcbiAgICAgIGRlbGV0ZSB0aGlzLiNyb3dEZWxldGVDb250ZW50c1tpZF07XG4gICAgICB0aGlzLiNyb3dEZWxldGVDb25maWdzID0gdGhpcy4jcm93RGVsZXRlQ29uZmlncy5maWx0ZXIoXG4gICAgICAgIChjb25maWcpID0+IGNvbmZpZy5pZCAhPT0gaWRcbiAgICAgICk7XG4gICAgICB0aGlzLiNyb3dEZWxldGVJZHNJbnRlcm5hbCA9IHRoaXMucm93RGVsZXRlSWRzPy5maWx0ZXIoXG4gICAgICAgIChhcnJheUlkKSA9PiBhcnJheUlkICE9PSBpZFxuICAgICAgKTtcbiAgICAgIHRoaXMucm93RGVsZXRlSWRzQ2hhbmdlLmVtaXQodGhpcy4jcm93RGVsZXRlSWRzSW50ZXJuYWwpO1xuICAgIH1cbiAgfVxuXG4gICN1cGRhdGVSb3dEZWxldGVTdGF0ZXMoKTogdm9pZCB7XG4gICAgdGhpcy4jcm93RGVsZXRlQ29uZmlncy5mb3JFYWNoKChjb25maWc6IFNreUFnR3JpZFJvd0RlbGV0ZUNvbmZpZykgPT4ge1xuICAgICAgaWYgKCF0aGlzLmFnR3JpZD8uYXBpLmdldFJvd05vZGUoY29uZmlnLmlkKSkge1xuICAgICAgICB0aGlzLiNkZXN0cm95Um93RGVsZXRlKGNvbmZpZy5pZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBXZSBtdXN0IHJlYWZmaXggdGhpbmdzIHdoZW4gdGhlIGRhdGEgY2hhbmdlcyBiZWNhdXNlIHRoZSByb3dzIHJlcmVuZGVyIGFuZCB0aGUgcHJldmlvdXMgZWxlbWVudCB0aGF0IHRoZSBkZWxldGUgd2FzIGFmZml4ZWRcbiAgICAgICAgLy8gdG8gaXMgZGVzdHJveWVkLlxuICAgICAgICB0aGlzLiNhZmZpeFRvUm93KHRoaXMuI3Jvd0RlbGV0ZUNvbnRlbnRzW2NvbmZpZy5pZF0uYWZmaXhlciwgY29uZmlnLmlkKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIl19
@@ -1,13 +1,10 @@
1
1
  var _SkyAgGridWrapperComponent_instances, _SkyAgGridWrapperComponent_isInEditMode_get, _SkyAgGridWrapperComponent__viewkeeperClasses, _SkyAgGridWrapperComponent_agGridService, _SkyAgGridWrapperComponent_ngUnsubscribe, _SkyAgGridWrapperComponent_themeSvc, _SkyAgGridWrapperComponent_wrapperClasses, _SkyAgGridWrapperComponent_currentTheme, _SkyAgGridWrapperComponent_adapterService, _SkyAgGridWrapperComponent_changeDetector, _SkyAgGridWrapperComponent_elementRef, _SkyAgGridWrapperComponent_document, _SkyAgGridWrapperComponent_moveHorizontalScroll;
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
3
  import { DOCUMENT } from '@angular/common';
4
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, Inject, Optional, } from '@angular/core';
5
- import { SkyThemeService } from '@skyux/theme';
4
+ import { ChangeDetectionStrategy, Component, ContentChild, Inject, Optional, } from '@angular/core';
6
5
  import { AgGridAngular } from 'ag-grid-angular';
7
6
  import { BehaviorSubject, Subject } from 'rxjs';
8
7
  import { takeUntil } from 'rxjs/operators';
9
- import { SkyAgGridAdapterService } from './ag-grid-adapter.service';
10
- import { SkyAgGridService } from './ag-grid.service';
11
8
  import * as i0 from "@angular/core";
12
9
  import * as i1 from "./ag-grid-adapter.service";
13
10
  import * as i2 from "./ag-grid.service";
@@ -207,9 +204,9 @@ _SkyAgGridWrapperComponent__viewkeeperClasses = new WeakMap(), _SkyAgGridWrapper
207
204
  }
208
205
  }
209
206
  };
210
- SkyAgGridWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAgGridWrapperComponent, deps: [{ token: i1.SkyAgGridAdapterService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: DOCUMENT }, { token: i2.SkyAgGridService }, { token: i3.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
211
- SkyAgGridWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyAgGridWrapperComponent, selector: "sky-ag-grid-wrapper", queries: [{ propertyName: "agGrid", first: true, predicate: AgGridAngular, descendants: true, static: true }], ngImport: i0, template: "<span\n class=\"nav-anchor\"\n tabindex=\"0\"\n [id]=\"beforeAnchorId\"\n (focusin)=\"onAnchorFocus($event)\"\n>\n</span>\n<div\n class=\"sky-ag-grid\"\n [class.sky-ag-grid-top-scrollbar]=\"\n agGrid?.gridOptions?.context &&\n agGrid?.gridOptions?.context['enableTopScroll']\n \"\n [ngClass]=\"wrapperClasses$ | async\"\n tabindex=\"0\"\n [id]=\"gridId\"\n [skyViewkeeper]=\"viewkeeperClasses\"\n (keydown)=\"onGridKeydown($event)\"\n (keyup.escape)=\"onKeyUpEscape($event)\"\n>\n <ng-content></ng-content>\n</div>\n<span\n tabindex=\"0\"\n class=\"nav-anchor\"\n [id]=\"afterAnchorId\"\n (focusin)=\"onAnchorFocus($event)\"\n>\n</span>\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
212
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyAgGridWrapperComponent, decorators: [{
207
+ SkyAgGridWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridWrapperComponent, deps: [{ token: i1.SkyAgGridAdapterService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: DOCUMENT }, { token: i2.SkyAgGridService }, { token: i3.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
208
+ SkyAgGridWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", type: SkyAgGridWrapperComponent, selector: "sky-ag-grid-wrapper", queries: [{ propertyName: "agGrid", first: true, predicate: AgGridAngular, descendants: true, static: true }], ngImport: i0, template: "<span\n class=\"nav-anchor\"\n tabindex=\"0\"\n [id]=\"beforeAnchorId\"\n (focusin)=\"onAnchorFocus($event)\"\n>\n</span>\n<div\n class=\"sky-ag-grid\"\n [class.sky-ag-grid-top-scrollbar]=\"\n agGrid?.gridOptions?.context &&\n agGrid?.gridOptions?.context['enableTopScroll']\n \"\n [ngClass]=\"wrapperClasses$ | async\"\n tabindex=\"0\"\n [id]=\"gridId\"\n [skyViewkeeper]=\"viewkeeperClasses\"\n (keydown)=\"onGridKeydown($event)\"\n (keyup.escape)=\"onKeyUpEscape($event)\"\n>\n <ng-content></ng-content>\n</div>\n<span\n tabindex=\"0\"\n class=\"nav-anchor\"\n [id]=\"afterAnchorId\"\n (focusin)=\"onAnchorFocus($event)\"\n>\n</span>\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.λ3, selector: "[skyViewkeeper]", inputs: ["skyViewkeeper"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyAgGridWrapperComponent, decorators: [{
213
210
  type: Component,
214
211
  args: [{ selector: 'sky-ag-grid-wrapper', changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n class=\"nav-anchor\"\n tabindex=\"0\"\n [id]=\"beforeAnchorId\"\n (focusin)=\"onAnchorFocus($event)\"\n>\n</span>\n<div\n class=\"sky-ag-grid\"\n [class.sky-ag-grid-top-scrollbar]=\"\n agGrid?.gridOptions?.context &&\n agGrid?.gridOptions?.context['enableTopScroll']\n \"\n [ngClass]=\"wrapperClasses$ | async\"\n tabindex=\"0\"\n [id]=\"gridId\"\n [skyViewkeeper]=\"viewkeeperClasses\"\n (keydown)=\"onGridKeydown($event)\"\n (keyup.escape)=\"onKeyUpEscape($event)\"\n>\n <ng-content></ng-content>\n</div>\n<span\n tabindex=\"0\"\n class=\"nav-anchor\"\n [id]=\"afterAnchorId\"\n (focusin)=\"onAnchorFocus($event)\"\n>\n</span>\n" }]
215
212
  }], ctorParameters: function () { return [{ type: i1.SkyAgGridAdapterService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: Document, decorators: [{
@@ -223,4 +220,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
223
220
  static: true,
224
221
  }]
225
222
  }] } });
226
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2FnLWdyaWQtd3JhcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9hZy1ncmlkLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsTUFBTSxFQUdOLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFvQixNQUFNLGNBQWMsQ0FBQztBQUVqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7O0FBRXJELElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztBQU9oQixNQUFNLE9BQU8seUJBQXlCO0lBdURwQyxZQUNFLGNBQXVDLEVBQ3ZDLGNBQWlDLEVBQ2pDLFVBQXNCLEVBQ0osUUFBa0IsRUFDcEMsYUFBK0IsRUFDbkIsUUFBMEI7O1FBbEJ4Qyx3REFBZ0MsRUFBRSxFQUFDO1FBRW5DLDJE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QUN6RCxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUNoQyxjQUFjLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ2hDO1NBQ0Y7S0FDRjtBQUNILENBQUM7c0hBelBVLHlCQUF5QixvSEEyRDFCLFFBQVE7MEdBM0RQLHlCQUF5QiwrRkFHdEIsYUFBYSw4RENqQzdCLHdwQkE2QkE7MkZEQ2EseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHFCQUFxQixtQkFFZCx1QkFBdUIsQ0FBQyxNQUFNO3lKQTZEakIsUUFBUTswQkFBbkMsTUFBTTsyQkFBQyxRQUFROzswQkFFZixRQUFROzRDQXZESixNQUFNO3NCQUhaLFlBQVk7dUJBQUMsYUFBYSxFQUFFO3dCQUMzQixNQUFNLEVBQUUsSUFBSTtxQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreVRoZW1lU2VydmljZSwgU2t5VGhlbWVTZXR0aW5ncyB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IEFnR3JpZEFuZ3VsYXIgfSBmcm9tICdhZy1ncmlkLWFuZ3VsYXInO1xuaW1wb3J0IHsgQ2VsbEVkaXRpbmdTdGFydGVkRXZlbnQsIERldGFpbEdyaWRJbmZvIH0gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUFnR3JpZEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9hZy1ncmlkLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTa3lBZ0dyaWRTZXJ2aWNlIH0gZnJvbSAnLi9hZy1ncmlkLnNlcnZpY2UnO1xuXG5sZXQgaWRJbmRleCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1hZy1ncmlkLXdyYXBwZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYWctZ3JpZC13cmFwcGVyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFnR3JpZFdyYXBwZXJDb21wb25lbnRcbiAgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdFxue1xuICBAQ29udGVudENoaWxkKEFnR3JpZEFuZ3VsYXIsIHtcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHB1YmxpYyBhZ0dyaWQ6IEFnR3JpZEFuZ3VsYXIgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGFmdGVyQW5jaG9ySWQ6IHN0cmluZztcbiAgcHVibGljIGJlZm9yZUFuY2hvcklkOiBzdHJpbmc7XG4gIHB1YmxpYyBncmlkSWQ6IHN0cmluZztcbiAgcHVibGljIHdyYXBwZXJDbGFzc2VzJDogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG5cbiAgcHVibGljIGdldCB2aWV3a2VlcGVyQ2xhc3NlcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuI192aWV3a2VlcGVyQ2xhc3NlcztcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdmlld2tlZXBlckNsYXNzZXModmFsdWU6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy4jX3ZpZXdrZWVwZXJDbGFzc2VzID0gdmFsdWU7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBnZXQgI2lzSW5FZGl0TW9kZSgpOiBib29sZWFuIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmFnR3JpZCAmJiB0aGlzLmFnR3JpZC5hcGkpIHtcbiAgICAgIGNvbnN0IHByaW1hcnlHcmlkRWRpdGluZyA9IHRoaXMuYWdHcmlkLmFwaS5nZXRFZGl0aW5nQ2VsbHMoKS5sZW5ndGggPiAwO1xuICAgICAgaWYgKHByaW1hcnlHcmlkRWRpdGluZykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBpbm5lckVkaXRpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5hZ0dyaWQuYXBpLmZvckVhY2hEZXRhaWxHcmlkSW5mbygoZGV0YWlsR3JpZDogRGV0YWlsR3JpZEluZm8pID0+IHtcbiAgICAgICAgICBpZiAoZGV0YWlsR3JpZD8uYXBpICYmIGRldGFpbEdyaWQuYXBpLmdldEVkaXRpbmdDZWxscygpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGlubmVyRWRpdGluZyA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gaW5uZXJFZGl0aW5nO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgI192aWV3a2VlcGVyQ2xhc3Nlczogc3RyaW5nW10gPSBbXTtcblxuICAjYWdHcmlkU2VydmljZTogU2t5QWdHcmlkU2VydmljZTtcbiAgI25nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAjdGhlbWVTdmM6IFNreVRoZW1lU2VydmljZSB8IHVuZGVmaW5lZDtcbiAgI3dyYXBwZXJDbGFzc2VzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmdbXT4oW2BhZy10aGVtZS1za3ktZGVmYXVsdGBdKTtcbiAgI2N1cnJlbnRUaGVtZTogU2t5VGhlbWVTZXR0aW5ncyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgI2FkYXB0ZXJTZXJ2aWNlOiBTa3lBZ0dyaWRBZGFwdGVyU2VydmljZTtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG4gICNkb2N1bWVudDogRG9jdW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgYWRhcHRlclNlcnZpY2U6IFNreUFnR3JpZEFkYXB0ZXJTZXJ2aWNlLFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBhZ0dyaWRTZXJ2aWNlOiBTa3lBZ0dyaWRTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHRoZW1lU3ZjPzogU2t5VGhlbWVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuI2FkYXB0ZXJTZXJ2aWNlID0gYWRhcHRlclNlcnZpY2U7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcbiAgICB0aGlzLiNlbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgICB0aGlzLiNkb2N1bWVudCA9IGRvY3VtZW50O1xuXG4gICAgaWRJbmRleCsrO1xuICAgIHRoaXMuYWZ0ZXJBbmNob3JJZCA9ICdza3ktYWctZ3JpZC1uYXYtYW5jaG9yLWFmdGVyLScgKyBpZEluZGV4O1xuICAgIHRoaXMuYmVmb3JlQW5jaG9ySWQgPSAnc2t5LWFnLWdyaWQtbmF2LWFuY2hvci1iZWZvcmUtJyArIGlkSW5kZXg7XG4gICAgdGhpcy5ncmlkSWQgPSAnc2t5LWFnLWdyaWQtJyArIGlkSW5kZXg7XG4gICAgdGhpcy4jYWdHcmlkU2VydmljZSA9IGFnR3JpZFNlcnZpY2U7XG4gICAgdGhpcy4jdGhlbWVTdmMgPSB0aGVtZVN2YztcbiAgICB0aGlzLndyYXBwZXJDbGFzc2VzJCA9IHRoaXMuI3dyYXBwZXJDbGFzc2VzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hZ0dyaWQpIHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5hZ0dyaWQuZ3JpZE9wdGlvbnMgJiZcbiAgICAgICAgdGhpcy5hZ0dyaWQuZ3JpZE9wdGlvbnMuZG9tTGF5b3V0ID09PSAnYXV0b0hlaWdodCdcbiAgICAgICkge1xuICAgICAgICBpZiAodGhpcy5hZ0dyaWQuZ3JpZE9wdGlvbnMuY29udGV4dD8uZW5hYmxlVG9wU2Nyb2xsKSB7XG4gICAgICAgICAgdGhpcy52aWV3a2VlcGVyQ2xhc3Nlcy5wdXNoKFxuICAgICAgICAgICAgJy5hZy1oZWFkZXInLFxuICAgICAgICAgICAgJy5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsJ1xuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy52aWV3a2VlcGVyQ2xhc3Nlcy5wdXNoKCcuYWctaGVhZGVyJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuYWdHcmlkLmdyaWRSZWFkeVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI21vdmVIb3Jpem9udGFsU2Nyb2xsKCk7XG4gICAgICAgIH0pO1xuICAgICAgdGhpcy5hZ0dyaWQuZmlyc3REYXRhUmVuZGVyZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiNtb3ZlSG9yaXpvbnRhbFNjcm9sbCgpO1xuICAgICAgICB9KTtcbiAgICAgIHRoaXMuYWdHcmlkLnJvd0RhdGFVcGRhdGVkXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy4jbW92ZUhvcml6b250YWxTY3JvbGwoKTtcbiAgICAgICAgfSk7XG4gICAgICB0aGlzLmFnR3JpZC5jZWxsRWRpdGluZ1N0YXJ0ZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKChwYXJhbXM6IENlbGxFZGl0aW5nU3RhcnRlZEV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKHBhcmFtcy5jb2xEZWYudHlwZSkge1xuICAgICAgICAgICAgY29uc3QgdHlwZXMgPSBBcnJheS5pc0FycmF5KHBhcmFtcy5jb2xEZWYudHlwZSlcbiAgICAgICAgICAgICAgPyBwYXJhbXMuY29sRGVmLnR5cGVcbiAgICAgICAgICAgICAgOiBbcGFyYW1zLmNvbERlZi50eXBlXTtcbiAgICAgICAgICAgIGNvbnN0IGFkZENsYXNzZXMgPSB0eXBlcy5tYXAoXG4gICAgICAgICAgICAgICh0KSA9PiBgc2t5LWFnLWdyaWQtY2VsbC1lZGl0aW5nLSR7dH1gXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy4jd3JhcHBlckNsYXNzZXMubmV4dChbXG4gICAgICAgICAgICAgIC4uLnRoaXMuI3dyYXBwZXJDbGFzc2VzLmdldFZhbHVlKCksXG4gICAgICAgICAgICAgIC4uLmFkZENsYXNzZXMsXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgdGhpcy5hZ0dyaWQuY2VsbEVkaXRpbmdTdG9wcGVkXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy4jd3JhcHBlckNsYXNzZXMubmV4dChcbiAgICAgICAgICAgIHRoaXMuI3dyYXBwZXJDbGFzc2VzXG4gICAgICAgICAgICAgIC5nZXRWYWx1ZSgpXG4gICAgICAgICAgICAgIC5maWx0ZXIoKGMpID0+IGMuc3RhcnRzV2l0aCgnYWctdGhlbWUtJykpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMuI25nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLiN0aGVtZVN2Yz8uc2V0dGluZ3NDaGFuZ2VcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKHNldHRpbmdzKSA9PiB7XG4gICAgICAgIGxldCBhZ1RoZW1lQ2xhc3M6IHN0cmluZztcbiAgICAgICAgaWYgKHNldHRpbmdzLmN1cnJlbnRTZXR0aW5ncy50aGVtZS5uYW1lID09PSAnbW9kZXJuJykge1xuICAgICAgICAgIGFnVGhlbWVDbGFzcyA9IGBhZy10aGVtZS1za3ktbW9kZXJuLSR7c2V0dGluZ3MuY3VycmVudFNldHRpbmdzLm1vZGUubmFtZX1gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFnVGhlbWVDbGFzcyA9IGBhZy10aGVtZS1za3ktZGVmYXVsdGA7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy4jd3JhcHBlckNsYXNzZXMubmV4dChbXG4gICAgICAgICAgLi4udGhpcy4jd3JhcHBlckNsYXNzZXNcbiAgICAgICAgICAgIC5nZXRWYWx1ZSgpXG4gICAgICAgICAgICAuZmlsdGVyKChjKSA9PiAhYy5zdGFydHNXaXRoKCdhZy10aGVtZS0nKSksXG4gICAgICAgICAgYWdUaGVtZUNsYXNzLFxuICAgICAgICBdKTtcbiAgICAgICAgaWYgKCF0aGlzLiNjdXJyZW50VGhlbWUpIHtcbiAgICAgICAgICAvLyBJbml0aWFsIHRoZW1lIHNldHRpbmdzLlxuICAgICAgICAgIHRoaXMuI2N1cnJlbnRUaGVtZSA9IHNldHRpbmdzLmN1cnJlbnRTZXR0aW5ncztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmFnR3JpZD8uYXBpKSB7XG4gICAgICAgICAgLy8gT24gc3Vic2VxdWVudCB0aGVtZSBjaGFuZ2VzLCB3ZSBuZWVkIHRvIGNhbGwgdGhlIGFwaSB0byByZS1yZW5kZXIgdGhlIGdyaWQuXG4gICAgICAgICAgdGhpcy4jY3VycmVudFRoZW1lID0gc2V0dGluZ3MuY3VycmVudFNldHRpbmdzO1xuICAgICAgICAgIHRoaXMuYWdHcmlkLmFwaS5zZXRIZWFkZXJIZWlnaHQoXG4gICAgICAgICAgICB0aGlzLiNhZ0dyaWRTZXJ2aWNlLmdldEhlYWRlckhlaWdodCgpXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLmFnR3JpZC5hcGkucmVzZXRSb3dIZWlnaHRzKCk7XG4gICAgICAgICAgdGhpcy5hZ0dyaWQuYXBpLnJlZnJlc2hDZWxscygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmV2ZW50IGNsb3NpbmcgYSBtb2RhbCB3aGVuIGZvY3VzZWQgaW4gQUcgR3JpZC5cbiAgICovXG4gIHB1YmxpYyBvbktleVVwRXNjYXBlKCRldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5hZ0dyaWQ/LmFwaS5zdG9wRWRpdGluZyh0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkdyaWRLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWdHcmlkICYmICF0aGlzLiNpc0luRWRpdE1vZGUgJiYgZXZlbnQua2V5ID09PSAnVGFiJykge1xuICAgICAgY29uc3QgaWRUb0ZvY3VzID0gZXZlbnQuc2hpZnRLZXlcbiAgICAgICAgPyB0aGlzLmJlZm9yZUFuY2hvcklkXG4gICAgICAgIDogdGhpcy5hZnRlckFuY2hvcklkO1xuICAgICAgdGhpcy4jYWRhcHRlclNlcnZpY2Uuc2V0Rm9jdXNlZEVsZW1lbnRCeUlkKFxuICAgICAgICB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIGlkVG9Gb2N1c1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25BbmNob3JGb2N1cyhldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGdyaWRJZCA9IHRoaXMuZ3JpZElkO1xuICAgIGNvbnN0IHJlbGF0ZWRUYXJnZXQgPSBldmVudC5yZWxhdGVkVGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IHByZXZpb3VzRm9jdXNlZElkID0gcmVsYXRlZFRhcmdldCAmJiByZWxhdGVkVGFyZ2V0LmlkO1xuICAgIGNvbnN0IHByZXZpb3VzV2FzQ2VsbCA9XG4gICAgICByZWxhdGVkVGFyZ2V0ICYmXG4gICAgICAhIXRoaXMuI2FkYXB0ZXJTZXJ2aWNlLmdldEVsZW1lbnRPclBhcmVudFdpdGhDbGFzcyhcbiAgICAgICAgcmVsYXRlZFRhcmdldCxcbiAgICAgICAgJ2FnLWNlbGwnXG4gICAgICApO1xuXG4gICAgaWYgKHByZXZpb3VzRm9jdXNlZElkICE9PSBncmlkSWQgJiYgIXByZXZpb3VzV2FzQ2VsbCkge1xuICAgICAgY29uc3QgY29sdW1ucyA9IHRoaXMuYWdHcmlkPy5jb2x1bW5BcGkuZ2V0QWxsRGlzcGxheWVkQ29sdW1ucygpO1xuICAgICAgY29uc3QgZmlyc3RDb2x1bW4gPSBjb2x1bW5zPy5bMF07XG4gICAgICBjb25zdCByb3dJbmRleCA9IHRoaXMuYWdHcmlkPy5hcGkuZ2V0Rmlyc3REaXNwbGF5ZWRSb3coKTtcblxuICAgICAgaWYgKGZpcnN0Q29sdW1uICYmIHJvd0luZGV4ICE9PSB1bmRlZmluZWQgJiYgcm93SW5kZXggPj0gMCkge1xuICAgICAgICB0aGlzLmFnR3JpZD8uYXBpLnNldEZvY3VzZWRDZWxsKHJvd0luZGV4LCBmaXJzdENvbHVtbik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI21vdmVIb3Jpem9udGFsU2Nyb2xsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFnR3JpZCAmJiB0aGlzLmFnR3JpZC5hcGkpIHtcbiAgICAgIGNvbnN0IHRvVG9wID0gISF0aGlzLmFnR3JpZC5ncmlkT3B0aW9ucy5jb250ZXh0Py5lbmFibGVUb3BTY3JvbGw7XG4gICAgICBjb25zdCByb290OiBIVE1MRWxlbWVudCA9XG4gICAgICAgIHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuYWctcm9vdCcpO1xuICAgICAgY29uc3QgaGVhZGVyOiBIVE1MRGl2RWxlbWVudCB8IG51bGwgPSByb290LnF1ZXJ5U2VsZWN0b3IoJy5hZy1oZWFkZXInKTtcbiAgICAgIGNvbnN0IGZsb2F0aW5nQm90dG9tOiBIVE1MRGl2RWxlbWVudCB8IG51bGwgPSByb290LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICcuYWctZmxvYXRpbmctYm90dG9tJ1xuICAgICAgKTtcbiAgICAgIGNvbnN0IHNjcm9sbGJhcjogSFRNTERpdkVsZW1lbnQgfCBudWxsID0gcm9vdC5xdWVyeVNlbGVjdG9yKFxuICAgICAgICAnLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwnXG4gICAgICApO1xuICAgICAgaWYgKGhlYWRlciAmJiBmbG9hdGluZ0JvdHRvbSAmJiBzY3JvbGxiYXIpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHNjcm9sbGJhci5zdHlsZS5oZWlnaHQgIT09XG4gICAgICAgICAgc2Nyb2xsYmFyLnN0eWxlLmdldFByb3BlcnR5VmFsdWUoXG4gICAgICAgICAgICAnLS1za3ktYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbC13aWR0aCdcbiAgICAgICAgICApXG4gICAgICAgICkge1xuICAgICAgICAgIHNjcm9sbGJhci5zdHlsZS5zZXRQcm9wZXJ0eShcbiAgICAgICAgICAgICctLXNreS1hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsLXdpZHRoJyxcbiAgICAgICAgICAgIHNjcm9sbGJhci5zdHlsZS5oZWlnaHRcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzVG9wID0gISFyb290LmNoaWxkcmVuWzFdLm1hdGNoZXMoJy5hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsJyk7XG4gICAgICAgIGlmICh0b1RvcCAmJiAhaXNUb3ApIHtcbiAgICAgICAgICBjb25zdCBmcmFnbWVudCA9IHRoaXMuI2RvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcbiAgICAgICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZChzY3JvbGxiYXIpO1xuICAgICAgICAgIGhlYWRlci5hZnRlcihmcmFnbWVudCk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRvVG9wICYmIGlzVG9wKSB7XG4gICAgICAgICAgY29uc3QgZnJhZ21lbnQgPSB0aGlzLiNkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7XG4gICAgICAgICAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQoc2Nyb2xsYmFyKTtcbiAgICAgICAgICBmbG9hdGluZ0JvdHRvbS5hZnRlcihmcmFnbWVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxzcGFuXG4gIGNsYXNzPVwibmF2LWFuY2hvclwiXG4gIHRhYmluZGV4PVwiMFwiXG4gIFtpZF09XCJiZWZvcmVBbmNob3JJZFwiXG4gIChmb2N1c2luKT1cIm9uQW5jaG9yRm9jdXMoJGV2ZW50KVwiXG4+XG48L3NwYW4+XG48ZGl2XG4gIGNsYXNzPVwic2t5LWFnLWdyaWRcIlxuICBbY2xhc3Muc2t5LWFnLWdyaWQtdG9wLXNjcm9sbGJhcl09XCJcbiAgICBhZ0dyaWQ/LmdyaWRPcHRpb25zPy5jb250ZXh0ICYmXG4gICAgYWdHcmlkPy5ncmlkT3B0aW9ucz8uY29udGV4dFsnZW5hYmxlVG9wU2Nyb2xsJ11cbiAgXCJcbiAgW25nQ2xhc3NdPVwid3JhcHBlckNsYXNzZXMkIHwgYXN5bmNcIlxuICB0YWJpbmRleD1cIjBcIlxuICBbaWRdPVwiZ3JpZElkXCJcbiAgW3NreVZpZXdrZWVwZXJdPVwidmlld2tlZXBlckNsYXNzZXNcIlxuICAoa2V5ZG93bik9XCJvbkdyaWRLZXlkb3duKCRldmVudClcIlxuICAoa2V5dXAuZXNjYXBlKT1cIm9uS2V5VXBFc2NhcGUoJGV2ZW50KVwiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuPHNwYW5cbiAgdGFiaW5kZXg9XCIwXCJcbiAgY2xhc3M9XCJuYXYtYW5jaG9yXCJcbiAgW2lkXT1cImFmdGVyQW5jaG9ySWRcIlxuICAoZm9jdXNpbik9XCJvbkFuY2hvckZvY3VzKCRldmVudClcIlxuPlxuPC9zcGFuPlxuIl19
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hZy1ncmlkL3NyYy9saWIvbW9kdWxlcy9hZy1ncmlkL2FnLWdyaWQtd3JhcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYWctZ3JpZC9zcmMvbGliL21vZHVsZXMvYWctZ3JpZC9hZy1ncmlkLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsWUFBWSxFQUVaLE1BQU0sRUFHTixRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQUszQyxJQUFJLE9BQU8sR0FBRyxDQUFDLENBQUM7QUFPaEIsTUFBTSxPQUFPLHlCQUF5QjtJQXVEcEMsWUFDRSxjQUF1QyxFQUN2QyxjQUFpQyxFQUNqQyxVQUFzQixFQUNKLFFBQWtCLEVBQ3BDLGFBQStCLEVBQ25CLFFBQTBCOztRQWxCeEMsd0RBQWdDLEVBQUUsRUFBQztRQUVuQywyREFBaUM7UUFDakMsbURBQWlCLElBQUksT0FBTyxFQUFRLEVBQUM7UUFDckMsc0RBQXVDO1FBQ3ZDLG9EQUFrQixJQUFJLGVBQWUsQ0FBVyxDQUFDLHNCQUFzQixDQUFDLENBQUMsRUFBQztRQUMxRSxrREFBOEMsU0FBUyxFQUFDO1FBQ3hELDREQUF5QztRQUN6Qyw0REFBbUM7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LGFBQWEsOERDakM3Qix3cEJBNkJBOzRGRENhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBRWQsdUJBQXVCLENBQUMsTUFBTTs7MEJBNkQ1QyxNQUFNOzJCQUFDLFFBQVE7OzBCQUVmLFFBQVE7NENBdkRKLE1BQU07c0JBSFosWUFBWTt1QkFBQyxhQUFhLEVBQUU7d0JBQzNCLE1BQU0sRUFBRSxJQUFJO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5VGhlbWVTZXJ2aWNlLCBTa3lUaGVtZVNldHRpbmdzIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgQWdHcmlkQW5ndWxhciB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5pbXBvcnQgeyBDZWxsRWRpdGluZ1N0YXJ0ZWRFdmVudCwgRGV0YWlsR3JpZEluZm8gfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5QWdHcmlkQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL2FnLWdyaWQtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreUFnR3JpZFNlcnZpY2UgfSBmcm9tICcuL2FnLWdyaWQuc2VydmljZSc7XG5cbmxldCBpZEluZGV4ID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWFnLWdyaWQtd3JhcHBlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZy1ncmlkLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QWdHcmlkV3JhcHBlckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSwgT25Jbml0XG57XG4gIEBDb250ZW50Q2hpbGQoQWdHcmlkQW5ndWxhciwge1xuICAgIHN0YXRpYzogdHJ1ZSxcbiAgfSlcbiAgcHVibGljIGFnR3JpZDogQWdHcmlkQW5ndWxhciB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgYWZ0ZXJBbmNob3JJZDogc3RyaW5nO1xuICBwdWJsaWMgYmVmb3JlQW5jaG9ySWQ6IHN0cmluZztcbiAgcHVibGljIGdyaWRJZDogc3RyaW5nO1xuICBwdWJsaWMgd3JhcHBlckNsYXNzZXMkOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcblxuICBwdWJsaWMgZ2V0IHZpZXdrZWVwZXJDbGFzc2VzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy4jX3ZpZXdrZWVwZXJDbGFzc2VzO1xuICB9XG5cbiAgcHVibGljIHNldCB2aWV3a2VlcGVyQ2xhc3Nlcyh2YWx1ZTogc3RyaW5nW10pIHtcbiAgICB0aGlzLiNfdmlld2tlZXBlckNsYXNzZXMgPSB2YWx1ZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGdldCAjaXNJbkVkaXRNb2RlKCk6IGJvb2xlYW4ge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuYWdHcmlkICYmIHRoaXMuYWdHcmlkLmFwaSkge1xuICAgICAgY29uc3QgcHJpbWFyeUdyaWRFZGl0aW5nID0gdGhpcy5hZ0dyaWQuYXBpLmdldEVkaXRpbmdDZWxscygpLmxlbmd0aCA+IDA7XG4gICAgICBpZiAocHJpbWFyeUdyaWRFZGl0aW5nKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IGlubmVyRWRpdGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmFnR3JpZC5hcGkuZm9yRWFjaERldGFpbEdyaWRJbmZvKChkZXRhaWxHcmlkOiBEZXRhaWxHcmlkSW5mbykgPT4ge1xuICAgICAgICAgIGlmIChkZXRhaWxHcmlkPy5hcGkgJiYgZGV0YWlsR3JpZC5hcGkuZ2V0RWRpdGluZ0NlbGxzKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgaW5uZXJFZGl0aW5nID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBpbm5lckVkaXRpbmc7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICAjX3ZpZXdrZWVwZXJDbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICNhZ0dyaWRTZXJ2aWNlOiBTa3lBZ0dyaWRTZXJ2aWNlO1xuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICN0aGVtZVN2YzogU2t5VGhlbWVTZXJ2aWNlIHwgdW5kZWZpbmVkO1xuICAjd3JhcHBlckNsYXNzZXMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdPihbYGFnLXRoZW1lLXNreS1kZWZhdWx0YF0pO1xuICAjY3VycmVudFRoZW1lOiBTa3lUaGVtZVNldHRpbmdzIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAjYWRhcHRlclNlcnZpY2U6IFNreUFnR3JpZEFkYXB0ZXJTZXJ2aWNlO1xuICAjY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmO1xuICAjZWxlbWVudFJlZjogRWxlbWVudFJlZjtcbiAgI2RvY3VtZW50OiBEb2N1bWVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBhZGFwdGVyU2VydmljZTogU2t5QWdHcmlkQWRhcHRlclNlcnZpY2UsXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIGFnR3JpZFNlcnZpY2U6IFNreUFnR3JpZFNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgdGhlbWVTdmM/OiBTa3lUaGVtZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy4jYWRhcHRlclNlcnZpY2UgPSBhZGFwdGVyU2VydmljZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI2VsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuICAgIHRoaXMuI2RvY3VtZW50ID0gZG9jdW1lbnQ7XG5cbiAgICBpZEluZGV4Kys7XG4gICAgdGhpcy5hZnRlckFuY2hvcklkID0gJ3NreS1hZy1ncmlkLW5hdi1hbmNob3ItYWZ0ZXItJyArIGlkSW5kZXg7XG4gICAgdGhpcy5iZWZvcmVBbmNob3JJZCA9ICdza3ktYWctZ3JpZC1uYXYtYW5jaG9yLWJlZm9yZS0nICsgaWRJbmRleDtcbiAgICB0aGlzLmdyaWRJZCA9ICdza3ktYWctZ3JpZC0nICsgaWRJbmRleDtcbiAgICB0aGlzLiNhZ0dyaWRTZXJ2aWNlID0gYWdHcmlkU2VydmljZTtcbiAgICB0aGlzLiN0aGVtZVN2YyA9IHRoZW1lU3ZjO1xuICAgIHRoaXMud3JhcHBlckNsYXNzZXMkID0gdGhpcy4jd3JhcHBlckNsYXNzZXMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFnR3JpZCkge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmFnR3JpZC5ncmlkT3B0aW9ucyAmJlxuICAgICAgICB0aGlzLmFnR3JpZC5ncmlkT3B0aW9ucy5kb21MYXlvdXQgPT09ICdhdXRvSGVpZ2h0J1xuICAgICAgKSB7XG4gICAgICAgIGlmICh0aGlzLmFnR3JpZC5ncmlkT3B0aW9ucy5jb250ZXh0Py5lbmFibGVUb3BTY3JvbGwpIHtcbiAgICAgICAgICB0aGlzLnZpZXdrZWVwZXJDbGFzc2VzLnB1c2goXG4gICAgICAgICAgICAnLmFnLWhlYWRlcicsXG4gICAgICAgICAgICAnLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwnXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnZpZXdrZWVwZXJDbGFzc2VzLnB1c2goJy5hZy1oZWFkZXInKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5hZ0dyaWQuZ3JpZFJlYWR5XG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy4jbW92ZUhvcml6b250YWxTY3JvbGwoKTtcbiAgICAgICAgfSk7XG4gICAgICB0aGlzLmFnR3JpZC5maXJzdERhdGFSZW5kZXJlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuI21vdmVIb3Jpem9udGFsU2Nyb2xsKCk7XG4gICAgICAgIH0pO1xuICAgICAgdGhpcy5hZ0dyaWQucm93RGF0YVVwZGF0ZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiNtb3ZlSG9yaXpvbnRhbFNjcm9sbCgpO1xuICAgICAgICB9KTtcbiAgICAgIHRoaXMuYWdHcmlkLmNlbGxFZGl0aW5nU3RhcnRlZFxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHBhcmFtczogQ2VsbEVkaXRpbmdTdGFydGVkRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAocGFyYW1zLmNvbERlZi50eXBlKSB7XG4gICAgICAgICAgICBjb25zdCB0eXBlcyA9IEFycmF5LmlzQXJyYXkocGFyYW1zLmNvbERlZi50eXBlKVxuICAgICAgICAgICAgICA/IHBhcmFtcy5jb2xEZWYudHlwZVxuICAgICAgICAgICAgICA6IFtwYXJhbXMuY29sRGVmLnR5cGVdO1xuICAgICAgICAgICAgY29uc3QgYWRkQ2xhc3NlcyA9IHR5cGVzLm1hcChcbiAgICAgICAgICAgICAgKHQpID0+IGBza3ktYWctZ3JpZC1jZWxsLWVkaXRpbmctJHt0fWBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLiN3cmFwcGVyQ2xhc3Nlcy5uZXh0KFtcbiAgICAgICAgICAgICAgLi4udGhpcy4jd3JhcHBlckNsYXNzZXMuZ2V0VmFsdWUoKSxcbiAgICAgICAgICAgICAgLi4uYWRkQ2xhc3NlcyxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB0aGlzLmFnR3JpZC5jZWxsRWRpdGluZ1N0b3BwZWRcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLiN3cmFwcGVyQ2xhc3Nlcy5uZXh0KFxuICAgICAgICAgICAgdGhpcy4jd3JhcHBlckNsYXNzZXNcbiAgICAgICAgICAgICAgLmdldFZhbHVlKClcbiAgICAgICAgICAgICAgLmZpbHRlcigoYykgPT4gYy5zdGFydHNXaXRoKCdhZy10aGVtZS0nKSlcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI3RoZW1lU3ZjPy5zZXR0aW5nc0NoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoc2V0dGluZ3MpID0+IHtcbiAgICAgICAgbGV0IGFnVGhlbWVDbGFzczogc3RyaW5nO1xuICAgICAgICBpZiAoc2V0dGluZ3MuY3VycmVudFNldHRpbmdzLnRoZW1lLm5hbWUgPT09ICdtb2Rlcm4nKSB7XG4gICAgICAgICAgYWdUaGVtZUNsYXNzID0gYGFnLXRoZW1lLXNreS1tb2Rlcm4tJHtzZXR0aW5ncy5jdXJyZW50U2V0dGluZ3MubW9kZS5uYW1lfWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWdUaGVtZUNsYXNzID0gYGFnLXRoZW1lLXNreS1kZWZhdWx0YDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLiN3cmFwcGVyQ2xhc3Nlcy5uZXh0KFtcbiAgICAgICAgICAuLi50aGlzLiN3cmFwcGVyQ2xhc3Nlc1xuICAgICAgICAgICAgLmdldFZhbHVlKClcbiAgICAgICAgICAgIC5maWx0ZXIoKGMpID0+ICFjLnN0YXJ0c1dpdGgoJ2FnLXRoZW1lLScpKSxcbiAgICAgICAgICBhZ1RoZW1lQ2xhc3MsXG4gICAgICAgIF0pO1xuICAgICAgICBpZiAoIXRoaXMuI2N1cnJlbnRUaGVtZSkge1xuICAgICAgICAgIC8vIEluaXRpYWwgdGhlbWUgc2V0dGluZ3MuXG4gICAgICAgICAgdGhpcy4jY3VycmVudFRoZW1lID0gc2V0dGluZ3MuY3VycmVudFNldHRpbmdzO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuYWdHcmlkPy5hcGkpIHtcbiAgICAgICAgICAvLyBPbiBzdWJzZXF1ZW50IHRoZW1lIGNoYW5nZXMsIHdlIG5lZWQgdG8gY2FsbCB0aGUgYXBpIHRvIHJlLXJlbmRlciB0aGUgZ3JpZC5cbiAgICAgICAgICB0aGlzLiNjdXJyZW50VGhlbWUgPSBzZXR0aW5ncy5jdXJyZW50U2V0dGluZ3M7XG4gICAgICAgICAgdGhpcy5hZ0dyaWQuYXBpLnNldEhlYWRlckhlaWdodChcbiAgICAgICAgICAgIHRoaXMuI2FnR3JpZFNlcnZpY2UuZ2V0SGVhZGVySGVpZ2h0KClcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuYWdHcmlkLmFwaS5yZXNldFJvd0hlaWdodHMoKTtcbiAgICAgICAgICB0aGlzLmFnR3JpZC5hcGkucmVmcmVzaENlbGxzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXZlbnQgY2xvc2luZyBhIG1vZGFsIHdoZW4gZm9jdXNlZCBpbiBBRyBHcmlkLlxuICAgKi9cbiAgcHVibGljIG9uS2V5VXBFc2NhcGUoJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmFnR3JpZD8uYXBpLnN0b3BFZGl0aW5nKHRydWUpO1xuICB9XG5cbiAgcHVibGljIG9uR3JpZEtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5hZ0dyaWQgJiYgIXRoaXMuI2lzSW5FZGl0TW9kZSAmJiBldmVudC5rZXkgPT09ICdUYWInKSB7XG4gICAgICBjb25zdCBpZFRvRm9jdXMgPSBldmVudC5zaGlmdEtleVxuICAgICAgICA/IHRoaXMuYmVmb3JlQW5jaG9ySWRcbiAgICAgICAgOiB0aGlzLmFmdGVyQW5jaG9ySWQ7XG4gICAgICB0aGlzLiNhZGFwdGVyU2VydmljZS5zZXRGb2N1c2VkRWxlbWVudEJ5SWQoXG4gICAgICAgIHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgaWRUb0ZvY3VzXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkFuY2hvckZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZ3JpZElkID0gdGhpcy5ncmlkSWQ7XG4gICAgY29uc3QgcmVsYXRlZFRhcmdldCA9IGV2ZW50LnJlbGF0ZWRUYXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgY29uc3QgcHJldmlvdXNGb2N1c2VkSWQgPSByZWxhdGVkVGFyZ2V0ICYmIHJlbGF0ZWRUYXJnZXQuaWQ7XG4gICAgY29uc3QgcHJldmlvdXNXYXNDZWxsID1cbiAgICAgIHJlbGF0ZWRUYXJnZXQgJiZcbiAgICAgICEhdGhpcy4jYWRhcHRlclNlcnZpY2UuZ2V0RWxlbWVudE9yUGFyZW50V2l0aENsYXNzKFxuICAgICAgICByZWxhdGVkVGFyZ2V0LFxuICAgICAgICAnYWctY2VsbCdcbiAgICAgICk7XG5cbiAgICBpZiAocHJldmlvdXNGb2N1c2VkSWQgIT09IGdyaWRJZCAmJiAhcHJldmlvdXNXYXNDZWxsKSB7XG4gICAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5hZ0dyaWQ/LmNvbHVtbkFwaS5nZXRBbGxEaXNwbGF5ZWRDb2x1bW5zKCk7XG4gICAgICBjb25zdCBmaXJzdENvbHVtbiA9IGNvbHVtbnM/LlswXTtcbiAgICAgIGNvbnN0IHJvd0luZGV4ID0gdGhpcy5hZ0dyaWQ/LmFwaS5nZXRGaXJzdERpc3BsYXllZFJvdygpO1xuXG4gICAgICBpZiAoZmlyc3RDb2x1bW4gJiYgcm93SW5kZXggIT09IHVuZGVmaW5lZCAmJiByb3dJbmRleCA+PSAwKSB7XG4gICAgICAgIHRoaXMuYWdHcmlkPy5hcGkuc2V0Rm9jdXNlZENlbGwocm93SW5kZXgsIGZpcnN0Q29sdW1uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjbW92ZUhvcml6b250YWxTY3JvbGwoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWdHcmlkICYmIHRoaXMuYWdHcmlkLmFwaSkge1xuICAgICAgY29uc3QgdG9Ub3AgPSAhIXRoaXMuYWdHcmlkLmdyaWRPcHRpb25zLmNvbnRleHQ/LmVuYWJsZVRvcFNjcm9sbDtcbiAgICAgIGNvbnN0IHJvb3Q6IEhUTUxFbGVtZW50ID1cbiAgICAgICAgdGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5hZy1yb290Jyk7XG4gICAgICBjb25zdCBoZWFkZXI6IEhUTUxEaXZFbGVtZW50IHwgbnVsbCA9IHJvb3QucXVlcnlTZWxlY3RvcignLmFnLWhlYWRlcicpO1xuICAgICAgY29uc3QgZmxvYXRpbmdCb3R0b206IEhUTUxEaXZFbGVtZW50IHwgbnVsbCA9IHJvb3QucXVlcnlTZWxlY3RvcihcbiAgICAgICAgJy5hZy1mbG9hdGluZy1ib3R0b20nXG4gICAgICApO1xuICAgICAgY29uc3Qgc2Nyb2xsYmFyOiBIVE1MRGl2RWxlbWVudCB8IG51bGwgPSByb290LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICcuYWctYm9keS1ob3Jpem9udGFsLXNjcm9sbCdcbiAgICAgICk7XG4gICAgICBpZiAoaGVhZGVyICYmIGZsb2F0aW5nQm90dG9tICYmIHNjcm9sbGJhcikge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgc2Nyb2xsYmFyLnN0eWxlLmhlaWdodCAhPT1cbiAgICAgICAgICBzY3JvbGxiYXIuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShcbiAgICAgICAgICAgICctLXNreS1hZy1ib2R5LWhvcml6b250YWwtc2Nyb2xsLXdpZHRoJ1xuICAgICAgICAgIClcbiAgICAgICAgKSB7XG4gICAgICAgICAgc2Nyb2xsYmFyLnN0eWxlLnNldFByb3BlcnR5KFxuICAgICAgICAgICAgJy0tc2t5LWFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwtd2lkdGgnLFxuICAgICAgICAgICAgc2Nyb2xsYmFyLnN0eWxlLmhlaWdodFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXNUb3AgPSAhIXJvb3QuY2hpbGRyZW5bMV0ubWF0Y2hlcygnLmFnLWJvZHktaG9yaXpvbnRhbC1zY3JvbGwnKTtcbiAgICAgICAgaWYgKHRvVG9wICYmICFpc1RvcCkge1xuICAgICAgICAgIGNvbnN0IGZyYWdtZW50ID0gdGhpcy4jZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO1xuICAgICAgICAgIGZyYWdtZW50LmFwcGVuZENoaWxkKHNjcm9sbGJhcik7XG4gICAgICAgICAgaGVhZGVyLmFmdGVyKGZyYWdtZW50KTtcbiAgICAgICAgfSBlbHNlIGlmICghdG9Ub3AgJiYgaXNUb3ApIHtcbiAgICAgICAgICBjb25zdCBmcmFnbWVudCA9IHRoaXMuI2RvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcbiAgICAgICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZChzY3JvbGxiYXIpO1xuICAgICAgICAgIGZsb2F0aW5nQm90dG9tLmFmdGVyKGZyYWdtZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPHNwYW5cbiAgY2xhc3M9XCJuYXYtYW5jaG9yXCJcbiAgdGFiaW5kZXg9XCIwXCJcbiAgW2lkXT1cImJlZm9yZUFuY2hvcklkXCJcbiAgKGZvY3VzaW4pPVwib25BbmNob3JGb2N1cygkZXZlbnQpXCJcbj5cbjwvc3Bhbj5cbjxkaXZcbiAgY2xhc3M9XCJza3ktYWctZ3JpZFwiXG4gIFtjbGFzcy5za3ktYWctZ3JpZC10b3Atc2Nyb2xsYmFyXT1cIlxuICAgIGFnR3JpZD8uZ3JpZE9wdGlvbnM/LmNvbnRleHQgJiZcbiAgICBhZ0dyaWQ/LmdyaWRPcHRpb25zPy5jb250ZXh0WydlbmFibGVUb3BTY3JvbGwnXVxuICBcIlxuICBbbmdDbGFzc109XCJ3cmFwcGVyQ2xhc3NlcyQgfCBhc3luY1wiXG4gIHRhYmluZGV4PVwiMFwiXG4gIFtpZF09XCJncmlkSWRcIlxuICBbc2t5Vmlld2tlZXBlcl09XCJ2aWV3a2VlcGVyQ2xhc3Nlc1wiXG4gIChrZXlkb3duKT1cIm9uR3JpZEtleWRvd24oJGV2ZW50KVwiXG4gIChrZXl1cC5lc2NhcGUpPVwib25LZXlVcEVzY2FwZSgkZXZlbnQpXCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48c3BhblxuICB0YWJpbmRleD1cIjBcIlxuICBjbGFzcz1cIm5hdi1hbmNob3JcIlxuICBbaWRdPVwiYWZ0ZXJBbmNob3JJZFwiXG4gIChmb2N1c2luKT1cIm9uQW5jaG9yRm9jdXMoJGV2ZW50KVwiXG4+XG48L3NwYW4+XG4iXX0=