@coolon/angular-ui-powerups 13.5.3 → 13.6.0

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 (24) hide show
  1. package/esm2020/lib/angular-ui-powerups.module.mjs +8 -4
  2. package/esm2020/lib/components/components.module.mjs +6 -3
  3. package/esm2020/lib/components/exports.mjs +2 -1
  4. package/esm2020/lib/components/tables/abstract-table-model.mjs +10 -5
  5. package/esm2020/lib/components/tables/abstract-table.component.mjs +14 -60
  6. package/esm2020/lib/components/tables/paginator/paginator.component.mjs +2 -2
  7. package/esm2020/lib/components/tables/renderer/table-body/table-body.component.mjs +112 -0
  8. package/esm2020/lib/components/tables/table/table-model.mjs +20 -1
  9. package/esm2020/lib/components/tables/table/table.component.mjs +29 -16
  10. package/esm2020/lib/components/tables/tree-table/tree-table-component.mjs +9 -12
  11. package/fesm2015/coolon-angular-ui-powerups.mjs +424 -326
  12. package/fesm2015/coolon-angular-ui-powerups.mjs.map +1 -1
  13. package/fesm2020/coolon-angular-ui-powerups.mjs +464 -366
  14. package/fesm2020/coolon-angular-ui-powerups.mjs.map +1 -1
  15. package/lib/angular-ui-powerups.module.d.ts +4 -3
  16. package/lib/components/components.module.d.ts +23 -22
  17. package/lib/components/exports.d.ts +1 -0
  18. package/lib/components/tables/abstract-table-model.d.ts +5 -3
  19. package/lib/components/tables/abstract-table.component.d.ts +7 -13
  20. package/lib/components/tables/renderer/table-body/table-body.component.d.ts +35 -0
  21. package/lib/components/tables/table/table-model.d.ts +6 -1
  22. package/lib/components/tables/table/table.component.d.ts +7 -5
  23. package/lib/components/tables/tree-table/tree-table-component.d.ts +2 -2
  24. package/package.json +2 -2
@@ -1,13 +1,10 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { Component, ElementRef, Injector, Input, NgZone } from "@angular/core";
2
+ import { Component, Injector, Input } from "@angular/core";
3
3
  import { TrackExternal } from '@coolon/pectin';
4
4
  import { AbstractTableComponent } from '../abstract-table.component';
5
5
  import { TreeTableModel } from './tree-table-model';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/material/table";
8
- import * as i2 from "../renderer/table-header-cell/table-header-cell.component";
9
- import * as i3 from "../renderer/table-cell/table-cell.component";
10
- import * as i4 from "@angular/common";
7
+ import * as i1 from "../renderer/table-body/table-body.component";
11
8
  /**
12
9
  * Create your model:
13
10
  * @example
@@ -69,17 +66,17 @@ import * as i4 from "@angular/common";
69
66
  * }
70
67
  */
71
68
  export class TreeTableComponent extends AbstractTableComponent {
72
- constructor(elementRef, ngZone, injector) {
73
- super(elementRef, ngZone, injector);
69
+ constructor(injector) {
70
+ super(injector);
74
71
  }
75
72
  getModel() {
76
73
  return this.treeTableModel;
77
74
  }
78
75
  }
79
- TreeTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: TreeTableComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
76
+ TreeTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: TreeTableComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
80
77
  TreeTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: TreeTableComponent, selector: "aup-tree-table", inputs: { treeTableModel: "treeTableModel" }, providers: [
81
78
  { provide: AbstractTableComponent, useExisting: TreeTableComponent }
82
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"scroll-container\">\n <table mat-table [dataSource]=\"getModel().dataSource.value\" [trackBy]=\"getModel().trackBy\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\"\n matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef [class.flex]=\"column.isFlex()\" [class.hide]=\"!column.isVisible()\">\n <aup-table-header-cell [column]=\"column\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class]=\"getColumnClasses(column.columnId)\"\n ></aup-table-header-cell>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"notifyCellClicked(column, row)\"\n [class.enable-cursor]=\"getModel().isCursorEnabled(column)\"\n [class.flex]=\"column.isFlex()\"\n [class.hide]=\"!column.isVisible()\"\n >\n <aup-table-cell [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"getModel()\"\n [editSession]=\"getModel().getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class]=\"getColumnClasses(column.columnId)\"\n ></aup-table-cell>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnIds.value\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds.value; let i = index\"\n [ngClass]=\"getModel().getRowClasses(row)\" [class.enable-hover]=\"getModel().isHoverEnabled()\"\n [attr.aup-row-id]=\"getModel().trackBy(i, row)\"\n ></tr>\n\n </table>\n</div>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{width:100%}:host.enable-scrolling{min-height:0}:host.enable-scrolling .scroll-container{flex:1;flex-basis:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}\n", "td.mat-cell{border-top-width:0!important;border-bottom-width:0!important}td.mat-column-tree-label,td.mat-column-tree-label{width:1px}aup-table-cell-renderer[column-id=tree-label]{padding-left:8px!important}aup-tree-label-cell-renderer{flex:1}\n"], components: [{ type: i1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i2.TableHeaderCellComponent, selector: "aup-table-header-cell", inputs: ["column"] }, { type: i3.TableCellComponent, selector: "aup-table-cell", inputs: ["row", "column", "editSession", "tableModel"] }, { type: i1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i1.MatCellDef, selector: "[matCellDef]" }, { type: i1.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
79
+ ], usesInheritance: true, ngImport: i0, template: "<aup-table-body [tableModel]=\"treeTableModel\"\n [showHeader$]=\"showHeader$\"\n [enableScrolling]=\"enableScrolling\"\n></aup-table-body>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host::ng-deep td.mat-cell{border-top-width:0!important;border-bottom-width:0!important}:host::ng-deep td.mat-column-tree-label,:host::ng-deep td.mat-column-tree-label{width:1px}:host::ng-deep aup-table-cell-renderer[column-id=tree-label]{padding-left:8px!important}:host::ng-deep aup-tree-label-cell-renderer{flex:1}\n"], components: [{ type: i1.TableBodyComponent, selector: "aup-table-body", inputs: ["tableModel", "showHeader$", "showHeader", "enableScrolling"], outputs: ["visibleRowCount"] }] });
83
80
  __decorate([
84
81
  TrackExternal(),
85
82
  __metadata("design:type", TreeTableModel)
@@ -88,8 +85,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
88
85
  type: Component,
89
86
  args: [{ selector: 'aup-tree-table', providers: [
90
87
  { provide: AbstractTableComponent, useExisting: TreeTableComponent }
91
- ], template: "<div class=\"scroll-container\">\n <table mat-table [dataSource]=\"getModel().dataSource.value\" [trackBy]=\"getModel().trackBy\">\n\n <ng-container *ngFor=\"let column of columns.value; index as index; first as first; last as last\"\n matColumnDef=\"{{column.columnId}}\">\n <th mat-header-cell *matHeaderCellDef [class.flex]=\"column.isFlex()\" [class.hide]=\"!column.isVisible()\">\n <aup-table-header-cell [column]=\"column\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class]=\"getColumnClasses(column.columnId)\"\n ></aup-table-header-cell>\n </th>\n <td mat-cell *matCellDef=\"let row\" (click)=\"notifyCellClicked(column, row)\"\n [class.enable-cursor]=\"getModel().isCursorEnabled(column)\"\n [class.flex]=\"column.isFlex()\"\n [class.hide]=\"!column.isVisible()\"\n >\n <aup-table-cell [column]=\"column\"\n [row]=\"row\"\n [tableModel]=\"getModel()\"\n [editSession]=\"getModel().getEditSessionFor(row)\"\n [attr.column-index]=\"index\"\n [attr.column-id]=\"column.columnId\"\n [class]=\"getColumnClasses(column.columnId)\"\n ></aup-table-cell>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"columnIds.value\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: columnIds.value; let i = index\"\n [ngClass]=\"getModel().getRowClasses(row)\" [class.enable-hover]=\"getModel().isHoverEnabled()\"\n [attr.aup-row-id]=\"getModel().trackBy(i, row)\"\n ></tr>\n\n </table>\n</div>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host table{width:100%}:host.enable-scrolling{min-height:0}:host.enable-scrolling .scroll-container{flex:1;flex-basis:0;overflow-y:auto;display:flex;flex-direction:column;align-items:stretch}\n", "td.mat-cell{border-top-width:0!important;border-bottom-width:0!important}td.mat-column-tree-label,td.mat-column-tree-label{width:1px}aup-table-cell-renderer[column-id=tree-label]{padding-left:8px!important}aup-tree-label-cell-renderer{flex:1}\n"] }]
92
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { treeTableModel: [{
88
+ ], template: "<aup-table-body [tableModel]=\"treeTableModel\"\n [showHeader$]=\"showHeader$\"\n [enableScrolling]=\"enableScrolling\"\n></aup-table-body>\n", styles: [":host{display:flex;flex-direction:column;align-items:stretch}:host::ng-deep td.mat-cell{border-top-width:0!important;border-bottom-width:0!important}:host::ng-deep td.mat-column-tree-label,:host::ng-deep td.mat-column-tree-label{width:1px}:host::ng-deep aup-table-cell-renderer[column-id=tree-label]{padding-left:8px!important}:host::ng-deep aup-tree-label-cell-renderer{flex:1}\n"] }]
89
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { treeTableModel: [{
93
90
  type: Input
94
91
  }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS10YWJsZS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy90cmVlLXRhYmxlL3RyZWUtdGFibGUtY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUcvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7OztBQUVwRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyREc7QUFTSCxNQUFNLE9BQU8sa0JBQTBDLFNBQVEsc0JBQXlCO0lBTXRGLFlBQVksVUFBc0IsRUFBRSxNQUFjLEVBQUUsUUFBa0I7UUFDcEUsS0FBSyxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQzs7K0dBWlUsa0JBQWtCO21HQUFsQixrQkFBa0IsdUZBSmxCO1FBQ1QsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFO0tBQ3JFLGlEQ3pFSCxtd0RBb0NBO0FEMkNFO0lBREMsYUFBYSxFQUFFOzhCQUNBLGNBQWM7MERBQUk7MkZBSnZCLGtCQUFrQjtrQkFSOUIsU0FBUzsrQkFDRSxnQkFBZ0IsYUFHZjt3QkFDVCxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLG9CQUFvQixFQUFFO3FCQUNyRTs2SUFNRCxjQUFjO3NCQUZiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdG9yLCBJbnB1dCwgTmdab25lIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFRyYWNrRXh0ZXJuYWwgfSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQgeyBUcmVlTm9kZSB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IHsgQWJzdHJhY3RUYWJsZU1vZGVsIH0gZnJvbSAnLi4vYWJzdHJhY3QtdGFibGUtbW9kZWwnO1xuaW1wb3J0IHsgQWJzdHJhY3RUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL2Fic3RyYWN0LXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUcmVlVGFibGVNb2RlbCB9IGZyb20gJy4vdHJlZS10YWJsZS1tb2RlbCc7XG5cbi8qKlxuICogQ3JlYXRlIHlvdXIgbW9kZWw6XG4gKiBAZXhhbXBsZVxuICogdGhpcy5oZXJvVGFibGVNb2RlbCA9IFRhYmxlVHJlZU1vZGVsLmZyb21MaXN0KGhlcm9MaXN0LCB0YWJsZSA9PiB7XG4gKiAgIHRhYmxlLnBsdWNrKFwiZmlyc3ROYW1lXCIpO1xuICogICB0YWJsZS5wbHVjayhcImxhc3ROYW1lXCIpO1xuICogICB0YWJsZS5hZGRDdXN0b21Db2x1bW4oXCJmdWxsTmFtZVwiLCBoZXJvID0+IGAke2hlcm8uZmlyc3ROYW1lfSAke2hlcm8ubGFzdE5hbWV9YCk7XG4gKiAgIHRhYmxlLmFkZFRlbXBsYXRlQ29sdW1uKFwic3BlY2lhbENvbHVtblwiKTtcbiAqIH0pO1xuICpcbiAqIENyZWF0ZSB5b3VyIHRhYmxlXG4gKiBAZXhhbXBsZVxuICogPGF1cC10cmVlLXRhYmxlIFt0cmVlVGFibGVNb2RlbF09XCJoZXJvVGFibGVNb2RlbFwiPjwvYXVwLXRhYmxlPlxuICpcbiAqIENvbHVtbiB0ZW1wbGF0ZXNcbiAqIEBleGFtcGxlXG4gKiB0aGlzLmhlcm9UYWJsZU1vZGVsID0gVGFibGVNb2RlbC5mcm9tTGlzdChoZXJvTGlzdCwgdGFibGUgPT4ge1xuICogICB0YWJsZS5wbHVjayhcImZpcnN0TmFtZVwiKTtcbiAqICAgdGFibGUucGx1Y2soXCJsYXN0TmFtZVwiKTtcbiAqICAgdGFibGUuYWRkVGVtcGxhdGVDb2x1bW4oXCJzcGVjaWFsQ29sdW1uXCIpO1xuICogfSk7XG4gKiA8YXVwLXRhYmxlIFt0YWJsZU1vZGVsXT1cImhlcm9UYWJsZU1vZGVsXCI+XG4gKiAgIDxkaXYgKmF1cENvbHVtblRlbXBsYXRlPVwibGV0IGhlcm87IGNvbHVtbklkOiAnc3BlY2lhbENvbHVtbic7IGZpbGxDZWxsOiB0cnVlOyBwYWRDaGlsZDpmYWxzZVwiPlxuICogICAgIHt7aGVyby5uYW1lfX1cbiAqICAgPC9kaXY+XG4gKiA8L2F1cC10YWJsZT5cbiAqXG4gKiBTdHlsaW5nXG4gKiBAZXhhbXBsZVxuICogIC8vIGdsb2JhbCBzZXR0aW5nc1xuICogOnJvb3Qge1xuICogICAtLWF1cC10YWJsZS1jb2x1bW4tZ2FwOiAxMHB4OyAvLyBkZWZhdWx0cyB0byAyNHB4XG4gKiAgIC0tYXVwLXRhYmxlLXJvdy1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMDUpXG4gKiAgIC0tYXVwLXRhYmxlLXJvdy1zZWxlY3RlZC1iYWNrZ3JvdW5kLWNvbG9yOiByZWJlY2NhcHVycGxlOyAvLyBkZWZhdWx0cyB0byB0cmFuc3BhcmVudFxuICogICAtLWF1cC10YWJsZS1maXJzdC1jb2x1bW4tcGFkZGluZy1sZWZ0OiAxOHB4IC8vIGRlZmF1bHRzIHRvIC0tY29sdW1uLWdhcFxuICogICAtLWF1cC10YWJsZS1sYXN0LWNvbHVtbi1wYWRkaW5nLXJpZ2h0OiAxOHB4IC8vIGRlZmF1bHRzIHRvIC0tY29sdW1uLWdhcFxuICogfVxuICpcbiAqIC8vIHBlciB0YWJsZSBzZXR0aW5ncy5cbiAqIGF1cC10YWJsZSB7XG4gKiAgIC0tY29sdW1uLWdhcDogMTBweDsgLy8gZGVmYXVsdHMgdG8gMjRweFxuICogICAtLXJvdy1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMDUpXG4gKiAgIC0tcm93LXNlbGVjdGVkLWJhY2tncm91bmQtY29sb3I6IHJlYmVjY2FwdXJwbGU7IC8vIGRlZmF1bHRzIHRvIHRyYW5zcGFyZW50XG4gKiAgIC0tZmlyc3QtY29sdW1uLXBhZGRpbmctbGVmdDogMThweCAvLyBkZWZhdWx0cyB0byAtLWNvbHVtbi1nYXBcbiAqICAgLS1sYXN0LWNvbHVtbi1wYWRkaW5nLXJpZ2h0OiAxOHB4IC8vIGRlZmF1bHRzIHRvIC0tY29sdW1uLWdhcFxuICpcbiAqICAgYXVwLXRhYmxlLWhlYWRlci1jZWxsLXJlbmRlcmVyLFxuICogICBhdXAtdGFibGUtY2VsbC1yZW5kZXJlciB7XG4gKiAgICAgJi5hdXAtY29sLW15LWRhc2hlcmlzZWQtY29sdW1uLWlkIHtcbiAqICAgICAgIC8vIGRvIHN0dWZmXG4gKiAgICAgfVxuICogICAgICYuZmlyc3QtdmlzaWJsZS1jb2x1bW4ge1xuICogICAgICAgLy8gZG8gc3R1ZmZcbiAqICAgICB9XG4gKiAgICAgJi5sYXN0LXZpc2libGUtY29sdW1uIHtcbiAqICAgICAgIC8vIGRvIHN0dWZmXG4gKiAgICAgfVxuICogICB9XG4gKiB9XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC10cmVlLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuLi90YWJsZS5jb21wb25lbnQuc2NzcycsICcuL3RyZWUtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBYnN0cmFjdFRhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogVHJlZVRhYmxlQ29tcG9uZW50IH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUcmVlVGFibGVDb21wb25lbnQ8VCBleHRlbmRzIFRyZWVOb2RlPFQ+PiBleHRlbmRzIEFic3RyYWN0VGFibGVDb21wb25lbnQ8VD4ge1xuXG4gIEBJbnB1dCgpXG4gIEBUcmFja0V4dGVybmFsKClcbiAgdHJlZVRhYmxlTW9kZWw6IFRyZWVUYWJsZU1vZGVsPFQ+O1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIG5nWm9uZTogTmdab25lLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBzdXBlcihlbGVtZW50UmVmLCBuZ1pvbmUsIGluamVjdG9yKTtcbiAgfVxuXG4gIGdldE1vZGVsKCk6IEFic3RyYWN0VGFibGVNb2RlbDxUPiB7XG4gICAgcmV0dXJuIHRoaXMudHJlZVRhYmxlTW9kZWw7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cInNjcm9sbC1jb250YWluZXJcIj5cbiAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJnZXRNb2RlbCgpLmRhdGFTb3VyY2UudmFsdWVcIiBbdHJhY2tCeV09XCJnZXRNb2RlbCgpLnRyYWNrQnlcIj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBjb2x1bW5zLnZhbHVlOyBpbmRleCBhcyBpbmRleDsgZmlyc3QgYXMgZmlyc3Q7IGxhc3QgYXMgbGFzdFwiXG4gICAgICAgICAgICAgICAgICBtYXRDb2x1bW5EZWY9XCJ7e2NvbHVtbi5jb2x1bW5JZH19XCI+XG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIFtjbGFzcy5mbGV4XT1cImNvbHVtbi5pc0ZsZXgoKVwiIFtjbGFzcy5oaWRlXT1cIiFjb2x1bW4uaXNWaXNpYmxlKClcIj5cbiAgICAgICAgPGF1cC10YWJsZS1oZWFkZXItY2VsbCBbY29sdW1uXT1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuY29sdW1uLWluZGV4XT1cImluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5jb2x1bW4taWRdPVwiY29sdW1uLmNvbHVtbklkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiZ2V0Q29sdW1uQ2xhc3Nlcyhjb2x1bW4uY29sdW1uSWQpXCJcbiAgICAgICAgPjwvYXVwLXRhYmxlLWhlYWRlci1jZWxsPlxuICAgICAgPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiAoY2xpY2spPVwibm90aWZ5Q2VsbENsaWNrZWQoY29sdW1uLCByb3cpXCJcbiAgICAgICAgICBbY2xhc3MuZW5hYmxlLWN1cnNvcl09XCJnZXRNb2RlbCgpLmlzQ3Vyc29yRW5hYmxlZChjb2x1bW4pXCJcbiAgICAgICAgICBbY2xhc3MuZmxleF09XCJjb2x1bW4uaXNGbGV4KClcIlxuICAgICAgICAgIFtjbGFzcy5oaWRlXT1cIiFjb2x1bW4uaXNWaXNpYmxlKClcIlxuICAgICAgPlxuICAgICAgICA8YXVwLXRhYmxlLWNlbGwgW2NvbHVtbl09XCJjb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3Jvd109XCJyb3dcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RhYmxlTW9kZWxdPVwiZ2V0TW9kZWwoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZWRpdFNlc3Npb25dPVwiZ2V0TW9kZWwoKS5nZXRFZGl0U2Vzc2lvbkZvcihyb3cpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmNvbHVtbi1pbmRleF09XCJpbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5jb2x1bW4taWRdPVwiY29sdW1uLmNvbHVtbklkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJnZXRDb2x1bW5DbGFzc2VzKGNvbHVtbi5jb2x1bW5JZClcIlxuICAgICAgICA+PC9hdXAtdGFibGUtY2VsbD5cbiAgICAgIDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImNvbHVtbklkcy52YWx1ZVwiPjwvdHI+XG4gICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGNvbHVtbklkcy52YWx1ZTsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cImdldE1vZGVsKCkuZ2V0Um93Q2xhc3Nlcyhyb3cpXCIgW2NsYXNzLmVuYWJsZS1ob3Zlcl09XCJnZXRNb2RlbCgpLmlzSG92ZXJFbmFibGVkKClcIlxuICAgICAgICBbYXR0ci5hdXAtcm93LWlkXT1cImdldE1vZGVsKCkudHJhY2tCeShpLCByb3cpXCJcbiAgICA+PC90cj5cblxuICA8L3RhYmxlPlxuPC9kaXY+XG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS10YWJsZS1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy90cmVlLXRhYmxlL3RyZWUtdGFibGUtY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvdHJlZS10YWJsZS90cmVlLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFFBQVEsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBRXBEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJERztBQVNILE1BQU0sT0FBTyxrQkFBMEMsU0FBUSxzQkFBeUI7SUFNdEYsWUFBWSxRQUFrQjtRQUM1QixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQzs7K0dBWlUsa0JBQWtCO21HQUFsQixrQkFBa0IsdUZBSmxCO1FBQ1QsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFO0tBQ3JFLGlEQ3pFSCw2S0FJQTtBRDJFRTtJQURDLGFBQWEsRUFBRTs4QkFDQSxjQUFjOzBEQUFJOzJGQUp2QixrQkFBa0I7a0JBUjlCLFNBQVM7K0JBQ0UsZ0JBQWdCLGFBR2Y7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxvQkFBb0IsRUFBRTtxQkFDckU7K0ZBTUQsY0FBYztzQkFGYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3RvciwgSW5wdXQsIE5nWm9uZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBUcmFja0V4dGVybmFsIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgVHJlZU5vZGUgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCB7IEFic3RyYWN0VGFibGVNb2RlbCB9IGZyb20gJy4uL2Fic3RyYWN0LXRhYmxlLW1vZGVsJztcbmltcG9ydCB7IEFic3RyYWN0VGFibGVDb21wb25lbnQgfSBmcm9tICcuLi9hYnN0cmFjdC10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJlZVRhYmxlTW9kZWwgfSBmcm9tICcuL3RyZWUtdGFibGUtbW9kZWwnO1xuXG4vKipcbiAqIENyZWF0ZSB5b3VyIG1vZGVsOlxuICogQGV4YW1wbGVcbiAqIHRoaXMuaGVyb1RhYmxlTW9kZWwgPSBUYWJsZVRyZWVNb2RlbC5mcm9tTGlzdChoZXJvTGlzdCwgdGFibGUgPT4ge1xuICogICB0YWJsZS5wbHVjayhcImZpcnN0TmFtZVwiKTtcbiAqICAgdGFibGUucGx1Y2soXCJsYXN0TmFtZVwiKTtcbiAqICAgdGFibGUuYWRkQ3VzdG9tQ29sdW1uKFwiZnVsbE5hbWVcIiwgaGVybyA9PiBgJHtoZXJvLmZpcnN0TmFtZX0gJHtoZXJvLmxhc3ROYW1lfWApO1xuICogICB0YWJsZS5hZGRUZW1wbGF0ZUNvbHVtbihcInNwZWNpYWxDb2x1bW5cIik7XG4gKiB9KTtcbiAqXG4gKiBDcmVhdGUgeW91ciB0YWJsZVxuICogQGV4YW1wbGVcbiAqIDxhdXAtdHJlZS10YWJsZSBbdHJlZVRhYmxlTW9kZWxdPVwiaGVyb1RhYmxlTW9kZWxcIj48L2F1cC10YWJsZT5cbiAqXG4gKiBDb2x1bW4gdGVtcGxhdGVzXG4gKiBAZXhhbXBsZVxuICogdGhpcy5oZXJvVGFibGVNb2RlbCA9IFRhYmxlTW9kZWwuZnJvbUxpc3QoaGVyb0xpc3QsIHRhYmxlID0+IHtcbiAqICAgdGFibGUucGx1Y2soXCJmaXJzdE5hbWVcIik7XG4gKiAgIHRhYmxlLnBsdWNrKFwibGFzdE5hbWVcIik7XG4gKiAgIHRhYmxlLmFkZFRlbXBsYXRlQ29sdW1uKFwic3BlY2lhbENvbHVtblwiKTtcbiAqIH0pO1xuICogPGF1cC10YWJsZSBbdGFibGVNb2RlbF09XCJoZXJvVGFibGVNb2RlbFwiPlxuICogICA8ZGl2ICphdXBDb2x1bW5UZW1wbGF0ZT1cImxldCBoZXJvOyBjb2x1bW5JZDogJ3NwZWNpYWxDb2x1bW4nOyBmaWxsQ2VsbDogdHJ1ZTsgcGFkQ2hpbGQ6ZmFsc2VcIj5cbiAqICAgICB7e2hlcm8ubmFtZX19XG4gKiAgIDwvZGl2PlxuICogPC9hdXAtdGFibGU+XG4gKlxuICogU3R5bGluZ1xuICogQGV4YW1wbGVcbiAqICAvLyBnbG9iYWwgc2V0dGluZ3NcbiAqIDpyb290IHtcbiAqICAgLS1hdXAtdGFibGUtY29sdW1uLWdhcDogMTBweDsgLy8gZGVmYXVsdHMgdG8gMjRweFxuICogICAtLWF1cC10YWJsZS1yb3ctaG92ZXItYmFja2dyb3VuZC1jb2xvciwgcmdiYSgwLCAwLCAwLCAwLjA1KVxuICogICAtLWF1cC10YWJsZS1yb3ctc2VsZWN0ZWQtYmFja2dyb3VuZC1jb2xvcjogcmViZWNjYXB1cnBsZTsgLy8gZGVmYXVsdHMgdG8gdHJhbnNwYXJlbnRcbiAqICAgLS1hdXAtdGFibGUtZmlyc3QtY29sdW1uLXBhZGRpbmctbGVmdDogMThweCAvLyBkZWZhdWx0cyB0byAtLWNvbHVtbi1nYXBcbiAqICAgLS1hdXAtdGFibGUtbGFzdC1jb2x1bW4tcGFkZGluZy1yaWdodDogMThweCAvLyBkZWZhdWx0cyB0byAtLWNvbHVtbi1nYXBcbiAqIH1cbiAqXG4gKiAvLyBwZXIgdGFibGUgc2V0dGluZ3MuXG4gKiBhdXAtdGFibGUge1xuICogICAtLWNvbHVtbi1nYXA6IDEwcHg7IC8vIGRlZmF1bHRzIHRvIDI0cHhcbiAqICAgLS1yb3ctaG92ZXItYmFja2dyb3VuZC1jb2xvciwgcmdiYSgwLCAwLCAwLCAwLjA1KVxuICogICAtLXJvdy1zZWxlY3RlZC1iYWNrZ3JvdW5kLWNvbG9yOiByZWJlY2NhcHVycGxlOyAvLyBkZWZhdWx0cyB0byB0cmFuc3BhcmVudFxuICogICAtLWZpcnN0LWNvbHVtbi1wYWRkaW5nLWxlZnQ6IDE4cHggLy8gZGVmYXVsdHMgdG8gLS1jb2x1bW4tZ2FwXG4gKiAgIC0tbGFzdC1jb2x1bW4tcGFkZGluZy1yaWdodDogMThweCAvLyBkZWZhdWx0cyB0byAtLWNvbHVtbi1nYXBcbiAqXG4gKiAgIGF1cC10YWJsZS1oZWFkZXItY2VsbC1yZW5kZXJlcixcbiAqICAgYXVwLXRhYmxlLWNlbGwtcmVuZGVyZXIge1xuICogICAgICYuYXVwLWNvbC1teS1kYXNoZXJpc2VkLWNvbHVtbi1pZCB7XG4gKiAgICAgICAvLyBkbyBzdHVmZlxuICogICAgIH1cbiAqICAgICAmLmZpcnN0LXZpc2libGUtY29sdW1uIHtcbiAqICAgICAgIC8vIGRvIHN0dWZmXG4gKiAgICAgfVxuICogICAgICYubGFzdC12aXNpYmxlLWNvbHVtbiB7XG4gKiAgICAgICAvLyBkbyBzdHVmZlxuICogICAgIH1cbiAqICAgfVxuICogfVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtdHJlZS10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90cmVlLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdHJlZS10YWJsZS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IEFic3RyYWN0VGFibGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBUcmVlVGFibGVDb21wb25lbnQgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRyZWVUYWJsZUNvbXBvbmVudDxUIGV4dGVuZHMgVHJlZU5vZGU8VD4+IGV4dGVuZHMgQWJzdHJhY3RUYWJsZUNvbXBvbmVudDxUPiB7XG5cbiAgQElucHV0KClcbiAgQFRyYWNrRXh0ZXJuYWwoKVxuICB0cmVlVGFibGVNb2RlbDogVHJlZVRhYmxlTW9kZWw8VD47XG5cbiAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IpO1xuICB9XG5cbiAgZ2V0TW9kZWwoKTogQWJzdHJhY3RUYWJsZU1vZGVsPFQ+IHtcbiAgICByZXR1cm4gdGhpcy50cmVlVGFibGVNb2RlbDtcbiAgfVxuXG59XG4iLCI8YXVwLXRhYmxlLWJvZHkgW3RhYmxlTW9kZWxdPVwidHJlZVRhYmxlTW9kZWxcIlxuICAgICAgICAgICAgICAgIFtzaG93SGVhZGVyJF09XCJzaG93SGVhZGVyJFwiXG4gICAgICAgICAgICAgICAgW2VuYWJsZVNjcm9sbGluZ109XCJlbmFibGVTY3JvbGxpbmdcIlxuPjwvYXVwLXRhYmxlLWJvZHk+XG4iXX0=