@enigmatry/entry-components 15.2.0 → 16.0.0-preview

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 (169) hide show
  1. package/common/directives/auto-disable-button.directive.d.ts +1 -1
  2. package/dialog/dialogs/entry-dialog.component.d.ts +1 -1
  3. package/{esm2020 → esm2022}/button/entry-button.directive.mjs +4 -4
  4. package/{esm2020 → esm2022}/button/entry-button.module.mjs +7 -7
  5. package/{esm2020 → esm2022}/common/common.module.mjs +7 -7
  6. package/{esm2020 → esm2022}/common/date-time/entry-date-time-adapter.mjs +4 -4
  7. package/{esm2020 → esm2022}/common/directives/auto-disable-button.directive.mjs +4 -4
  8. package/{esm2020 → esm2022}/common/directives/scroll-to-invalid-control.directive.mjs +4 -4
  9. package/{esm2020 → esm2022}/common/event-plugins/debounce.plugin.mjs +4 -4
  10. package/{esm2020 → esm2022}/common/event-plugins/throttle.plugin.mjs +4 -4
  11. package/{esm2020 → esm2022}/common/interceptors/accept-language.interceptor.mjs +4 -4
  12. package/{esm2020 → esm2022}/dialog/dialogs/alert/entry-alert-dialog.component.mjs +4 -4
  13. package/{esm2020 → esm2022}/dialog/dialogs/confirm/entry-confirm-dialog.component.mjs +4 -4
  14. package/{esm2020 → esm2022}/dialog/dialogs/entry-dialog.component.mjs +4 -4
  15. package/{esm2020 → esm2022}/dialog/dialogs/error/entry-error-dialog.component.mjs +4 -4
  16. package/{esm2020 → esm2022}/dialog/entry-dialog.module.mjs +19 -19
  17. package/esm2022/dialog/entry-dialog.service.mjs +86 -0
  18. package/esm2022/file-input/entry-file-input.component.mjs +201 -0
  19. package/{esm2020 → esm2022}/file-input/entry-file-input.module.mjs +13 -13
  20. package/{esm2020 → esm2022}/modules/entry-components.module.mjs +21 -21
  21. package/{esm2020 → esm2022}/permissions/permission.directive.mjs +4 -4
  22. package/{esm2020 → esm2022}/permissions/permission.module.mjs +7 -7
  23. package/{esm2020 → esm2022}/permissions/permission.pipe.mjs +4 -4
  24. package/{esm2020 → esm2022}/search-filter/autocomplete/autocomplete-search-filter.component.mjs +4 -4
  25. package/esm2022/search-filter/date/date-search-filter.component.mjs +19 -0
  26. package/{esm2020 → esm2022}/search-filter/date-time/date-time-search-filter.component.mjs +7 -7
  27. package/{esm2020 → esm2022}/search-filter/entry-search-filter.component.mjs +4 -4
  28. package/{esm2020 → esm2022}/search-filter/entry-search-filter.module.mjs +28 -28
  29. package/{esm2020 → esm2022}/search-filter/select/select-search-filter.component.mjs +4 -4
  30. package/{esm2020 → esm2022}/search-filter/text/text-search-filter.component.mjs +4 -4
  31. package/{esm2020 → esm2022}/spinner/entry-spinner/spinner.component.mjs +10 -10
  32. package/{esm2020 → esm2022}/spinner/spinner-overlay-container.mjs +4 -4
  33. package/{esm2020 → esm2022}/spinner/spinner.module.mjs +9 -9
  34. package/{esm2020 → esm2022}/table/components/entry-cell/entry-cell.component.mjs +4 -4
  35. package/{esm2020 → esm2022}/table/components/entry-cell-context-menu/entry-cell-context-menu.component.mjs +4 -4
  36. package/{esm2020 → esm2022}/table/components/entry-cell-formatted-value/entry-cell-formatted-value.component.mjs +4 -4
  37. package/esm2022/table/components/entry-table/entry-table.component.mjs +248 -0
  38. package/{esm2020 → esm2022}/table/entry-table.module.mjs +33 -33
  39. package/{esm2020 → esm2022}/table/interfaces/entry-table-config.mjs +1 -2
  40. package/{esm2020 → esm2022}/validation/entry-display-control-validation.directive.mjs +4 -4
  41. package/{esm2020 → esm2022}/validation/entry-form-errors.component.mjs +6 -6
  42. package/{esm2020 → esm2022}/validation/entry-validation.module.mjs +13 -13
  43. package/{fesm2020 → fesm2022}/enigmatry-entry-components-button.mjs +9 -9
  44. package/{fesm2020 → fesm2022}/enigmatry-entry-components-button.mjs.map +1 -1
  45. package/{fesm2020 → fesm2022}/enigmatry-entry-components-common.mjs +24 -24
  46. package/{fesm2015 → fesm2022}/enigmatry-entry-components-common.mjs.map +1 -1
  47. package/{fesm2020 → fesm2022}/enigmatry-entry-components-dialog.mjs +33 -33
  48. package/{fesm2020 → fesm2022}/enigmatry-entry-components-dialog.mjs.map +1 -1
  49. package/{fesm2020 → fesm2022}/enigmatry-entry-components-file-input.mjs +21 -17
  50. package/fesm2022/enigmatry-entry-components-file-input.mjs.map +1 -0
  51. package/{fesm2020 → fesm2022}/enigmatry-entry-components-permissions.mjs +12 -12
  52. package/{fesm2020 → fesm2022}/enigmatry-entry-components-permissions.mjs.map +1 -1
  53. package/fesm2022/enigmatry-entry-components-search-filter.mjs +387 -0
  54. package/{fesm2020 → fesm2022}/enigmatry-entry-components-search-filter.mjs.map +1 -1
  55. package/{fesm2020 → fesm2022}/enigmatry-entry-components-spinner.mjs +20 -20
  56. package/{fesm2020 → fesm2022}/enigmatry-entry-components-spinner.mjs.map +1 -1
  57. package/{fesm2020 → fesm2022}/enigmatry-entry-components-table.mjs +44 -45
  58. package/fesm2022/enigmatry-entry-components-table.mjs.map +1 -0
  59. package/{fesm2020 → fesm2022}/enigmatry-entry-components-validation.mjs +20 -20
  60. package/{fesm2020 → fesm2022}/enigmatry-entry-components-validation.mjs.map +1 -1
  61. package/{fesm2020 → fesm2022}/enigmatry-entry-components.mjs +20 -20
  62. package/{fesm2020 → fesm2022}/enigmatry-entry-components.mjs.map +1 -1
  63. package/file-input/entry-file-input.component.d.ts +1 -1
  64. package/package.json +39 -63
  65. package/permissions/permission.directive.d.ts +1 -1
  66. package/search-filter/autocomplete/autocomplete-search-filter.component.d.ts +1 -1
  67. package/search-filter/date/date-search-filter.component.d.ts +1 -1
  68. package/search-filter/date-time/date-time-search-filter.component.d.ts +1 -1
  69. package/search-filter/entry-search-filter.component.d.ts +1 -1
  70. package/search-filter/select/select-search-filter.component.d.ts +1 -1
  71. package/search-filter/text/text-search-filter.component.d.ts +1 -1
  72. package/spinner/entry-spinner/spinner.component.d.ts +1 -1
  73. package/table/components/entry-cell/entry-cell.component.d.ts +1 -1
  74. package/table/components/entry-cell-context-menu/entry-cell-context-menu.component.d.ts +1 -1
  75. package/table/components/entry-cell-formatted-value/entry-cell-formatted-value.component.d.ts +1 -1
  76. package/table/components/entry-table/entry-table.component.d.ts +1 -1
  77. package/validation/entry-display-control-validation.directive.d.ts +1 -1
  78. package/validation/entry-form-errors.component.d.ts +1 -1
  79. package/esm2020/dialog/entry-dialog.service.mjs +0 -86
  80. package/esm2020/file-input/entry-file-input.component.mjs +0 -197
  81. package/esm2020/search-filter/date/date-search-filter.component.mjs +0 -19
  82. package/esm2020/table/components/entry-table/entry-table.component.mjs +0 -248
  83. package/fesm2015/enigmatry-entry-components-button.mjs +0 -114
  84. package/fesm2015/enigmatry-entry-components-button.mjs.map +0 -1
  85. package/fesm2015/enigmatry-entry-components-common.mjs +0 -405
  86. package/fesm2015/enigmatry-entry-components-dialog.mjs +0 -333
  87. package/fesm2015/enigmatry-entry-components-dialog.mjs.map +0 -1
  88. package/fesm2015/enigmatry-entry-components-file-input.mjs +0 -237
  89. package/fesm2015/enigmatry-entry-components-file-input.mjs.map +0 -1
  90. package/fesm2015/enigmatry-entry-components-permissions.mjs +0 -98
  91. package/fesm2015/enigmatry-entry-components-permissions.mjs.map +0 -1
  92. package/fesm2015/enigmatry-entry-components-search-filter.mjs +0 -394
  93. package/fesm2015/enigmatry-entry-components-search-filter.mjs.map +0 -1
  94. package/fesm2015/enigmatry-entry-components-spinner.mjs +0 -156
  95. package/fesm2015/enigmatry-entry-components-spinner.mjs.map +0 -1
  96. package/fesm2015/enigmatry-entry-components-table.mjs +0 -462
  97. package/fesm2015/enigmatry-entry-components-table.mjs.map +0 -1
  98. package/fesm2015/enigmatry-entry-components-validation.mjs +0 -219
  99. package/fesm2015/enigmatry-entry-components-validation.mjs.map +0 -1
  100. package/fesm2015/enigmatry-entry-components.mjs +0 -87
  101. package/fesm2015/enigmatry-entry-components.mjs.map +0 -1
  102. package/fesm2020/enigmatry-entry-components-common.mjs.map +0 -1
  103. package/fesm2020/enigmatry-entry-components-file-input.mjs.map +0 -1
  104. package/fesm2020/enigmatry-entry-components-search-filter.mjs +0 -387
  105. package/fesm2020/enigmatry-entry-components-table.mjs.map +0 -1
  106. /package/{esm2020 → esm2022}/button/enigmatry-entry-components-button.mjs +0 -0
  107. /package/{esm2020 → esm2022}/button/entry-button-config.mjs +0 -0
  108. /package/{esm2020 → esm2022}/button/public-api.mjs +0 -0
  109. /package/{esm2020 → esm2022}/common/constants.mjs +0 -0
  110. /package/{esm2020 → esm2022}/common/date-time/entry-date-time.mjs +0 -0
  111. /package/{esm2020 → esm2022}/common/date-time/index.mjs +0 -0
  112. /package/{esm2020 → esm2022}/common/directives/index.mjs +0 -0
  113. /package/{esm2020 → esm2022}/common/enigmatry-entry-components-common.mjs +0 -0
  114. /package/{esm2020 → esm2022}/common/event-plugins/abstract.plugin.mjs +0 -0
  115. /package/{esm2020 → esm2022}/common/event-plugins/index.mjs +0 -0
  116. /package/{esm2020 → esm2022}/common/interceptors/index.mjs +0 -0
  117. /package/{esm2020 → esm2022}/common/public-api.mjs +0 -0
  118. /package/{esm2020 → esm2022}/common/utils/index.mjs +0 -0
  119. /package/{esm2020 → esm2022}/common/utils/provide-config.mjs +0 -0
  120. /package/{esm2020 → esm2022}/dialog/dialogs/alert/entry-alert-dialog-data.interface.mjs +0 -0
  121. /package/{esm2020 → esm2022}/dialog/dialogs/confirm/entry-confirm-dialog-data.interface.mjs +0 -0
  122. /package/{esm2020 → esm2022}/dialog/dialogs/error/entry-error-dialog-data.interface.mjs +0 -0
  123. /package/{esm2020 → esm2022}/dialog/enigmatry-entry-components-dialog.mjs +0 -0
  124. /package/{esm2020 → esm2022}/dialog/entry-dialog-buttons-alignment.type.mjs +0 -0
  125. /package/{esm2020 → esm2022}/dialog/entry-dialog-config.model.mjs +0 -0
  126. /package/{esm2020 → esm2022}/dialog/public-api.mjs +0 -0
  127. /package/{esm2020 → esm2022}/enigmatry-entry-components.mjs +0 -0
  128. /package/{esm2020 → esm2022}/file-input/enigmatry-entry-components-file-input.mjs +0 -0
  129. /package/{esm2020 → esm2022}/file-input/public-api.mjs +0 -0
  130. /package/{esm2020 → esm2022}/permissions/enigmatry-entry-components-permissions.mjs +0 -0
  131. /package/{esm2020 → esm2022}/permissions/permission-type.mjs +0 -0
  132. /package/{esm2020 → esm2022}/permissions/permission.guard.mjs +0 -0
  133. /package/{esm2020 → esm2022}/permissions/permission.service.mjs +0 -0
  134. /package/{esm2020 → esm2022}/permissions/public-api.mjs +0 -0
  135. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  136. /package/{esm2020 → esm2022}/search-filter/autocomplete/autocomplete-search-filter.model.mjs +0 -0
  137. /package/{esm2020 → esm2022}/search-filter/control-type.mjs +0 -0
  138. /package/{esm2020 → esm2022}/search-filter/date/date-search-filter.model.mjs +0 -0
  139. /package/{esm2020 → esm2022}/search-filter/date-time/date-time-search-filter.model.mjs +0 -0
  140. /package/{esm2020 → esm2022}/search-filter/enigmatry-entry-components-search-filter.mjs +0 -0
  141. /package/{esm2020 → esm2022}/search-filter/public-api.mjs +0 -0
  142. /package/{esm2020 → esm2022}/search-filter/search-filter-base.model.mjs +0 -0
  143. /package/{esm2020 → esm2022}/search-filter/search-filter-config.model.mjs +0 -0
  144. /package/{esm2020 → esm2022}/search-filter/search-filter-params.type.mjs +0 -0
  145. /package/{esm2020 → esm2022}/search-filter/select/select-search-filter.model.mjs +0 -0
  146. /package/{esm2020 → esm2022}/search-filter/select-option.model.mjs +0 -0
  147. /package/{esm2020 → esm2022}/search-filter/text/text-search-filter.model.mjs +0 -0
  148. /package/{esm2020 → esm2022}/spinner/enigmatry-entry-components-spinner.mjs +0 -0
  149. /package/{esm2020 → esm2022}/spinner/public-api.mjs +0 -0
  150. /package/{esm2020 → esm2022}/table/components/index.mjs +0 -0
  151. /package/{esm2020 → esm2022}/table/enigmatry-entry-components-table.mjs +0 -0
  152. /package/{esm2020 → esm2022}/table/interfaces/cell-template.mjs +0 -0
  153. /package/{esm2020 → esm2022}/table/interfaces/column-def.mjs +0 -0
  154. /package/{esm2020 → esm2022}/table/interfaces/column-sort-prop.mjs +0 -0
  155. /package/{esm2020 → esm2022}/table/interfaces/column-type-parameter.mjs +0 -0
  156. /package/{esm2020 → esm2022}/table/interfaces/column-type.mjs +0 -0
  157. /package/{esm2020 → esm2022}/table/interfaces/context-menu-item.mjs +0 -0
  158. /package/{esm2020 → esm2022}/table/interfaces/index.mjs +0 -0
  159. /package/{esm2020 → esm2022}/table/interfaces/paged-query.mjs +0 -0
  160. /package/{esm2020 → esm2022}/table/interfaces/pagination.mjs +0 -0
  161. /package/{esm2020 → esm2022}/table/interfaces/row-class-formatter.mjs +0 -0
  162. /package/{esm2020 → esm2022}/table/interfaces/row-context-menu-formatter.mjs +0 -0
  163. /package/{esm2020 → esm2022}/table/interfaces/row-selection-formatter.mjs +0 -0
  164. /package/{esm2020 → esm2022}/table/public-api.mjs +0 -0
  165. /package/{esm2020 → esm2022}/validation/enigmatry-entry-components-validation.mjs +0 -0
  166. /package/{esm2020 → esm2022}/validation/entry-validation-config.model.mjs +0 -0
  167. /package/{esm2020 → esm2022}/validation/entry-validation.mjs +0 -0
  168. /package/{esm2020 → esm2022}/validation/public-api.mjs +0 -0
  169. /package/{esm2020 → esm2022}/validation/validation-problem-details.interface.mjs +0 -0
@@ -15,10 +15,10 @@ export class EntryCellContextMenuComponent {
15
15
  ? this.rowMenuFormatter.items(this.rowData)
16
16
  : this.items;
17
17
  }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryCellContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EntryCellContextMenuComponent, selector: "entry-cell-context-menu", inputs: { items: "items", rowMenuFormatter: "rowMenuFormatter", rowData: "rowData" }, outputs: { selected: "selected" }, ngImport: i0, template: "<button mat-icon-button [matMenuTriggerFor]=\"menu\" (click)=\"$event.stopPropagation()\">\n <mat-icon>more_vert</mat-icon>\n</button>\n<mat-menu #menu=\"matMenu\" class=\"entry-table-menu\">\n <button *ngFor=\"let item of menuItems\" mat-menu-item [disabled]=\"item.disabled\" (click)=\"selected.emit(item.id)\"\n class=\"context-menu-item\">\n <mat-icon *ngIf=\"item.icon\">{{item.icon}}</mat-icon>\n <span>{{item.name}}</span>\n </button>\n</mat-menu>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
20
  }
19
- EntryCellContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntryCellContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
- EntryCellContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: EntryCellContextMenuComponent, selector: "entry-cell-context-menu", inputs: { items: "items", rowMenuFormatter: "rowMenuFormatter", rowData: "rowData" }, outputs: { selected: "selected" }, ngImport: i0, template: "<button mat-icon-button [matMenuTriggerFor]=\"menu\" (click)=\"$event.stopPropagation()\">\n <mat-icon>more_vert</mat-icon>\n</button>\n<mat-menu #menu=\"matMenu\" class=\"entry-table-menu\">\n <button *ngFor=\"let item of menuItems\" mat-menu-item [disabled]=\"item.disabled\" (click)=\"selected.emit(item.id)\"\n class=\"context-menu-item\">\n <mat-icon *ngIf=\"item.icon\">{{item.icon}}</mat-icon>\n <span>{{item.name}}</span>\n </button>\n</mat-menu>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntryCellContextMenuComponent, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryCellContextMenuComponent, decorators: [{
22
22
  type: Component,
23
23
  args: [{ selector: 'entry-cell-context-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button mat-icon-button [matMenuTriggerFor]=\"menu\" (click)=\"$event.stopPropagation()\">\n <mat-icon>more_vert</mat-icon>\n</button>\n<mat-menu #menu=\"matMenu\" class=\"entry-table-menu\">\n <button *ngFor=\"let item of menuItems\" mat-menu-item [disabled]=\"item.disabled\" (click)=\"selected.emit(item.id)\"\n class=\"context-menu-item\">\n <mat-icon *ngIf=\"item.icon\">{{item.icon}}</mat-icon>\n <span>{{item.name}}</span>\n </button>\n</mat-menu>" }]
24
24
  }], propDecorators: { items: [{
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
30
30
  }], selected: [{
31
31
  type: Output
32
32
  }] } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktY2VsbC1jb250ZXh0LW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvZW50cnktY2VsbC1jb250ZXh0LW1lbnUvZW50cnktY2VsbC1jb250ZXh0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvZW50cnktY2VsbC1jb250ZXh0LW1lbnUvZW50cnktY2VsbC1jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBU3hHLE1BQU0sT0FBTyw2QkFBNkI7SUFMMUM7UUFPVyxVQUFLLEdBQXNCLEVBQUUsQ0FBQztRQUc3QixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUVoRCxjQUFTLEdBQXNCLEVBQUUsQ0FBQztLQU9uQztJQUxDLFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLO1lBQzNDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDM0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDakIsQ0FBQzs7MkhBYlUsNkJBQTZCOytHQUE3Qiw2QkFBNkIsd0xDVDFDLHNlQVNXOzRGREFFLDZCQUE2QjtrQkFMekMsU0FBUzsrQkFDRSx5QkFBeUIsbUJBRWxCLHVCQUF1QixDQUFDLE1BQU07OEJBSXRDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm93Q29udGV4dE1lbnVGb3JtYXR0ZXIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3Jvdy1jb250ZXh0LW1lbnUtZm9ybWF0dGVyJztcbmltcG9ydCB7IENvbnRleHRNZW51SXRlbSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvY29udGV4dC1tZW51LWl0ZW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbnRyeS1jZWxsLWNvbnRleHQtbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRyeS1jZWxsLWNvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEVudHJ5Q2VsbENvbnRleHRNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBpdGVtczogQ29udGV4dE1lbnVJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgcm93TWVudUZvcm1hdHRlcjogUm93Q29udGV4dE1lbnVGb3JtYXR0ZXI7XG4gIEBJbnB1dCgpIHJvd0RhdGE6IGFueTtcbiAgQE91dHB1dCgpIHNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgbWVudUl0ZW1zOiBDb250ZXh0TWVudUl0ZW1bXSA9IFtdO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubWVudUl0ZW1zID0gdGhpcy5yb3dNZW51Rm9ybWF0dGVyPy5pdGVtc1xuICAgICAgPyB0aGlzLnJvd01lbnVGb3JtYXR0ZXIuaXRlbXModGhpcy5yb3dEYXRhKVxuICAgICAgOiB0aGlzLml0ZW1zO1xuICB9XG59XG4iLCI8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICA8bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIGNsYXNzPVwiZW50cnktdGFibGUtbWVudVwiPlxuICAgIDxidXR0b24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgbWVudUl0ZW1zXCIgbWF0LW1lbnUtaXRlbSBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiIChjbGljayk9XCJzZWxlY3RlZC5lbWl0KGl0ZW0uaWQpXCJcbiAgICAgICAgY2xhc3M9XCJjb250ZXh0LW1lbnUtaXRlbVwiPlxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJpdGVtLmljb25cIj57e2l0ZW0uaWNvbn19PC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4+e3tpdGVtLm5hbWV9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbjwvbWF0LW1lbnU+Il19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktY2VsbC1jb250ZXh0LW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvZW50cnktY2VsbC1jb250ZXh0LW1lbnUvZW50cnktY2VsbC1jb250ZXh0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvZW50cnktY2VsbC1jb250ZXh0LW1lbnUvZW50cnktY2VsbC1jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBU3hHLE1BQU0sT0FBTyw2QkFBNkI7SUFMMUM7UUFPVyxVQUFLLEdBQXNCLEVBQUUsQ0FBQztRQUc3QixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUVoRCxjQUFTLEdBQXNCLEVBQUUsQ0FBQztLQU9uQztJQUxDLFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLO1lBQzNDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDM0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDakIsQ0FBQzsrR0FiVSw2QkFBNkI7bUdBQTdCLDZCQUE2Qix3TENUMUMsc2VBU1c7OzRGREFFLDZCQUE2QjtrQkFMekMsU0FBUzsrQkFDRSx5QkFBeUIsbUJBRWxCLHVCQUF1QixDQUFDLE1BQU07OEJBSXRDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm93Q29udGV4dE1lbnVGb3JtYXR0ZXIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3Jvdy1jb250ZXh0LW1lbnUtZm9ybWF0dGVyJztcbmltcG9ydCB7IENvbnRleHRNZW51SXRlbSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvY29udGV4dC1tZW51LWl0ZW0nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbnRyeS1jZWxsLWNvbnRleHQtbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbnRyeS1jZWxsLWNvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEVudHJ5Q2VsbENvbnRleHRNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBpdGVtczogQ29udGV4dE1lbnVJdGVtW10gPSBbXTtcbiAgQElucHV0KCkgcm93TWVudUZvcm1hdHRlcjogUm93Q29udGV4dE1lbnVGb3JtYXR0ZXI7XG4gIEBJbnB1dCgpIHJvd0RhdGE6IGFueTtcbiAgQE91dHB1dCgpIHNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgbWVudUl0ZW1zOiBDb250ZXh0TWVudUl0ZW1bXSA9IFtdO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubWVudUl0ZW1zID0gdGhpcy5yb3dNZW51Rm9ybWF0dGVyPy5pdGVtc1xuICAgICAgPyB0aGlzLnJvd01lbnVGb3JtYXR0ZXIuaXRlbXModGhpcy5yb3dEYXRhKVxuICAgICAgOiB0aGlzLml0ZW1zO1xuICB9XG59XG4iLCI8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICA8bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIGNsYXNzPVwiZW50cnktdGFibGUtbWVudVwiPlxuICAgIDxidXR0b24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgbWVudUl0ZW1zXCIgbWF0LW1lbnUtaXRlbSBbZGlzYWJsZWRdPVwiaXRlbS5kaXNhYmxlZFwiIChjbGljayk9XCJzZWxlY3RlZC5lbWl0KGl0ZW0uaWQpXCJcbiAgICAgICAgY2xhc3M9XCJjb250ZXh0LW1lbnUtaXRlbVwiPlxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJpdGVtLmljb25cIj57e2l0ZW0uaWNvbn19PC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4+e3tpdGVtLm5hbWV9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbjwvbWF0LW1lbnU+Il19
@@ -6,10 +6,10 @@ export class EntryCellFormattedValueComponent {
6
6
  constructor(defaultPercentageMultiplier) {
7
7
  this.defaultPercentageMultiplier = defaultPercentageMultiplier;
8
8
  }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryCellFormattedValueComponent, deps: [{ token: DEFAULT_PERCENTAGE_MULTIPLIER }], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EntryCellFormattedValueComponent, selector: "entry-cell-formatted-value", inputs: { value: "value", type: "type", typeParameter: "typeParameter" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\n <!-- Boolean -->\n <ng-container *ngSwitchCase=\"'boolean'\">\n {{value ? '\\u2713' : ''}}\n </ng-container>\n <!-- Number -->\n <ng-container *ngSwitchCase=\"'number'\">\n {{value | number: typeParameter?.digitsInfo : typeParameter?.locale}}\n </ng-container>\n <!-- Currency -->\n <ng-container *ngSwitchCase=\"'currency'\">\n {{value | currency: typeParameter?.currencyCode : typeParameter?.display : typeParameter?.digitsInfo : typeParameter?.locale}}\n </ng-container>\n <!-- Percent -->\n <ng-container *ngSwitchCase=\"'percent'\">\n {{+value * (typeParameter?.multiplier ?? defaultPercentageMultiplier) | percent: typeParameter?.digitsInfo : typeParameter?.locale}}\n </ng-container>\n <!-- Date -->\n <ng-container *ngSwitchCase=\"'date'\">\n {{value | date: typeParameter?.format : typeParameter?.timezone : typeParameter?.locale}}\n </ng-container>\n <!-- Link -->\n <ng-container *ngSwitchCase=\"'link'\">\n <a [href]=\"value\" target=\"_blank\">{{value}}</a>\n </ng-container>\n <!-- Default -->\n <ng-container *ngSwitchDefault>\n {{value}}\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }, { kind: "pipe", type: i1.PercentPipe, name: "percent" }, { kind: "pipe", type: i1.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i1.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9
11
  }
10
- EntryCellFormattedValueComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntryCellFormattedValueComponent, deps: [{ token: DEFAULT_PERCENTAGE_MULTIPLIER }], target: i0.ɵɵFactoryTarget.Component });
11
- EntryCellFormattedValueComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: EntryCellFormattedValueComponent, selector: "entry-cell-formatted-value", inputs: { value: "value", type: "type", typeParameter: "typeParameter" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\n <!-- Boolean -->\n <ng-container *ngSwitchCase=\"'boolean'\">\n {{value ? '\\u2713' : ''}}\n </ng-container>\n <!-- Number -->\n <ng-container *ngSwitchCase=\"'number'\">\n {{value | number: typeParameter?.digitsInfo : typeParameter?.locale}}\n </ng-container>\n <!-- Currency -->\n <ng-container *ngSwitchCase=\"'currency'\">\n {{value | currency: typeParameter?.currencyCode : typeParameter?.display : typeParameter?.digitsInfo : typeParameter?.locale}}\n </ng-container>\n <!-- Percent -->\n <ng-container *ngSwitchCase=\"'percent'\">\n {{+value * (typeParameter?.multiplier ?? defaultPercentageMultiplier) | percent: typeParameter?.digitsInfo : typeParameter?.locale}}\n </ng-container>\n <!-- Date -->\n <ng-container *ngSwitchCase=\"'date'\">\n {{value | date: typeParameter?.format : typeParameter?.timezone : typeParameter?.locale}}\n </ng-container>\n <!-- Link -->\n <ng-container *ngSwitchCase=\"'link'\">\n <a [href]=\"value\" target=\"_blank\">{{value}}</a>\n </ng-container>\n <!-- Default -->\n <ng-container *ngSwitchDefault>\n {{value}}\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1.DecimalPipe, name: "number" }, { kind: "pipe", type: i1.PercentPipe, name: "percent" }, { kind: "pipe", type: i1.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i1.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntryCellFormattedValueComponent, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryCellFormattedValueComponent, decorators: [{
13
13
  type: Component,
14
14
  args: [{ selector: 'entry-cell-formatted-value', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"type\">\n <!-- Boolean -->\n <ng-container *ngSwitchCase=\"'boolean'\">\n {{value ? '\\u2713' : ''}}\n </ng-container>\n <!-- Number -->\n <ng-container *ngSwitchCase=\"'number'\">\n {{value | number: typeParameter?.digitsInfo : typeParameter?.locale}}\n </ng-container>\n <!-- Currency -->\n <ng-container *ngSwitchCase=\"'currency'\">\n {{value | currency: typeParameter?.currencyCode : typeParameter?.display : typeParameter?.digitsInfo : typeParameter?.locale}}\n </ng-container>\n <!-- Percent -->\n <ng-container *ngSwitchCase=\"'percent'\">\n {{+value * (typeParameter?.multiplier ?? defaultPercentageMultiplier) | percent: typeParameter?.digitsInfo : typeParameter?.locale}}\n </ng-container>\n <!-- Date -->\n <ng-container *ngSwitchCase=\"'date'\">\n {{value | date: typeParameter?.format : typeParameter?.timezone : typeParameter?.locale}}\n </ng-container>\n <!-- Link -->\n <ng-container *ngSwitchCase=\"'link'\">\n <a [href]=\"value\" target=\"_blank\">{{value}}</a>\n </ng-container>\n <!-- Default -->\n <ng-container *ngSwitchDefault>\n {{value}}\n </ng-container>\n</ng-container>\n" }]
15
15
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -22,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
22
22
  }], typeParameter: [{
23
23
  type: Input
24
24
  }] } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktY2VsbC1mb3JtYXR0ZWQtdmFsdWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvZW50cnktY2VsbC1mb3JtYXR0ZWQtdmFsdWUvZW50cnktY2VsbC1mb3JtYXR0ZWQtdmFsdWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvZW50cnktY2VsbC1mb3JtYXR0ZWQtdmFsdWUvZW50cnktY2VsbC1mb3JtYXR0ZWQtdmFsdWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7QUFPcEYsTUFBTSxPQUFPLGdDQUFnQztJQU0zQyxZQUNnRCwyQkFBbUM7UUFBbkMsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUFRO0lBQ25GLENBQUM7OzhIQVJVLGdDQUFnQyxrQkFPakMsNkJBQTZCO2tIQVA1QixnQ0FBZ0MsNElDUjdDLG1wQ0E4QkE7NEZEdEJhLGdDQUFnQztrQkFMNUMsU0FBUzsrQkFDRSw0QkFBNEIsbUJBRXJCLHVCQUF1QixDQUFDLE1BQU07OzBCQVM1QyxNQUFNOzJCQUFDLDZCQUE2Qjs0Q0FMOUIsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgREVGQVVMVF9QRVJDRU5UQUdFX01VTFRJUExJRVIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2VudHJ5LXRhYmxlLWNvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VudHJ5LWNlbGwtZm9ybWF0dGVkLXZhbHVlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VudHJ5LWNlbGwtZm9ybWF0dGVkLXZhbHVlLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRW50cnlDZWxsRm9ybWF0dGVkVmFsdWVDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZztcbiAgQElucHV0KCkgdHlwZVBhcmFtZXRlcjogYW55IHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoREVGQVVMVF9QRVJDRU5UQUdFX01VTFRJUExJRVIpIHB1YmxpYyBkZWZhdWx0UGVyY2VudGFnZU11bHRpcGxpZXI6IG51bWJlcikge1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJ0eXBlXCI+XG4gIDwhLS0gQm9vbGVhbiAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2Jvb2xlYW4nXCI+XG4gICAge3t2YWx1ZSA/ICdcXHUyNzEzJyA6ICcnfX1cbiAgPC9uZy1jb250YWluZXI+XG4gIDwhLS0gTnVtYmVyIC0tPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbnVtYmVyJ1wiPlxuICAgIHt7dmFsdWUgfCBudW1iZXI6IHR5cGVQYXJhbWV0ZXI/LmRpZ2l0c0luZm8gOiB0eXBlUGFyYW1ldGVyPy5sb2NhbGV9fVxuICA8L25nLWNvbnRhaW5lcj5cbiAgPCEtLSBDdXJyZW5jeSAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2N1cnJlbmN5J1wiPlxuICAgIHt7dmFsdWUgfCBjdXJyZW5jeTogdHlwZVBhcmFtZXRlcj8uY3VycmVuY3lDb2RlIDogdHlwZVBhcmFtZXRlcj8uZGlzcGxheSA6IHR5cGVQYXJhbWV0ZXI/LmRpZ2l0c0luZm8gOiB0eXBlUGFyYW1ldGVyPy5sb2NhbGV9fVxuICA8L25nLWNvbnRhaW5lcj5cbiAgPCEtLSBQZXJjZW50IC0tPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncGVyY2VudCdcIj5cbiAgICB7eyt2YWx1ZSAqICh0eXBlUGFyYW1ldGVyPy5tdWx0aXBsaWVyID8/IGRlZmF1bHRQZXJjZW50YWdlTXVsdGlwbGllcikgfCBwZXJjZW50OiB0eXBlUGFyYW1ldGVyPy5kaWdpdHNJbmZvIDogdHlwZVBhcmFtZXRlcj8ubG9jYWxlfX1cbiAgPC9uZy1jb250YWluZXI+XG4gIDwhLS0gRGF0ZSAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCI+XG4gICAge3t2YWx1ZSB8IGRhdGU6IHR5cGVQYXJhbWV0ZXI/LmZvcm1hdCA6IHR5cGVQYXJhbWV0ZXI/LnRpbWV6b25lIDogdHlwZVBhcmFtZXRlcj8ubG9jYWxlfX1cbiAgPC9uZy1jb250YWluZXI+XG4gIDwhLS0gTGluayAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2xpbmsnXCI+XG4gICAgPGEgW2hyZWZdPVwidmFsdWVcIiB0YXJnZXQ9XCJfYmxhbmtcIj57e3ZhbHVlfX08L2E+XG4gIDwvbmctY29udGFpbmVyPlxuICA8IS0tIERlZmF1bHQgLS0+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICB7e3ZhbHVlfX1cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktY2VsbC1mb3JtYXR0ZWQtdmFsdWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvZW50cnktY2VsbC1mb3JtYXR0ZWQtdmFsdWUvZW50cnktY2VsbC1mb3JtYXR0ZWQtdmFsdWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvZW50cnktY2VsbC1mb3JtYXR0ZWQtdmFsdWUvZW50cnktY2VsbC1mb3JtYXR0ZWQtdmFsdWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7QUFPcEYsTUFBTSxPQUFPLGdDQUFnQztJQU0zQyxZQUNnRCwyQkFBbUM7UUFBbkMsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUFRO0lBQ25GLENBQUM7K0dBUlUsZ0NBQWdDLGtCQU9qQyw2QkFBNkI7bUdBUDVCLGdDQUFnQyw0SUNSN0MsbXBDQThCQTs7NEZEdEJhLGdDQUFnQztrQkFMNUMsU0FBUzsrQkFDRSw0QkFBNEIsbUJBRXJCLHVCQUF1QixDQUFDLE1BQU07OzBCQVM1QyxNQUFNOzJCQUFDLDZCQUE2Qjs0Q0FMOUIsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgREVGQVVMVF9QRVJDRU5UQUdFX01VTFRJUExJRVIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2VudHJ5LXRhYmxlLWNvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VudHJ5LWNlbGwtZm9ybWF0dGVkLXZhbHVlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VudHJ5LWNlbGwtZm9ybWF0dGVkLXZhbHVlLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRW50cnlDZWxsRm9ybWF0dGVkVmFsdWVDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHR5cGU6IHN0cmluZztcbiAgQElucHV0KCkgdHlwZVBhcmFtZXRlcjogYW55IHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoREVGQVVMVF9QRVJDRU5UQUdFX01VTFRJUExJRVIpIHB1YmxpYyBkZWZhdWx0UGVyY2VudGFnZU11bHRpcGxpZXI6IG51bWJlcikge1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJ0eXBlXCI+XG4gIDwhLS0gQm9vbGVhbiAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2Jvb2xlYW4nXCI+XG4gICAge3t2YWx1ZSA/ICdcXHUyNzEzJyA6ICcnfX1cbiAgPC9uZy1jb250YWluZXI+XG4gIDwhLS0gTnVtYmVyIC0tPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbnVtYmVyJ1wiPlxuICAgIHt7dmFsdWUgfCBudW1iZXI6IHR5cGVQYXJhbWV0ZXI/LmRpZ2l0c0luZm8gOiB0eXBlUGFyYW1ldGVyPy5sb2NhbGV9fVxuICA8L25nLWNvbnRhaW5lcj5cbiAgPCEtLSBDdXJyZW5jeSAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2N1cnJlbmN5J1wiPlxuICAgIHt7dmFsdWUgfCBjdXJyZW5jeTogdHlwZVBhcmFtZXRlcj8uY3VycmVuY3lDb2RlIDogdHlwZVBhcmFtZXRlcj8uZGlzcGxheSA6IHR5cGVQYXJhbWV0ZXI/LmRpZ2l0c0luZm8gOiB0eXBlUGFyYW1ldGVyPy5sb2NhbGV9fVxuICA8L25nLWNvbnRhaW5lcj5cbiAgPCEtLSBQZXJjZW50IC0tPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncGVyY2VudCdcIj5cbiAgICB7eyt2YWx1ZSAqICh0eXBlUGFyYW1ldGVyPy5tdWx0aXBsaWVyID8/IGRlZmF1bHRQZXJjZW50YWdlTXVsdGlwbGllcikgfCBwZXJjZW50OiB0eXBlUGFyYW1ldGVyPy5kaWdpdHNJbmZvIDogdHlwZVBhcmFtZXRlcj8ubG9jYWxlfX1cbiAgPC9uZy1jb250YWluZXI+XG4gIDwhLS0gRGF0ZSAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCI+XG4gICAge3t2YWx1ZSB8IGRhdGU6IHR5cGVQYXJhbWV0ZXI/LmZvcm1hdCA6IHR5cGVQYXJhbWV0ZXI/LnRpbWV6b25lIDogdHlwZVBhcmFtZXRlcj8ubG9jYWxlfX1cbiAgPC9uZy1jb250YWluZXI+XG4gIDwhLS0gTGluayAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2xpbmsnXCI+XG4gICAgPGEgW2hyZWZdPVwidmFsdWVcIiB0YXJnZXQ9XCJfYmxhbmtcIj57e3ZhbHVlfX08L2E+XG4gIDwvbmctY29udGFpbmVyPlxuICA8IS0tIERlZmF1bHQgLS0+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cbiAgICB7e3ZhbHVlfX1cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -0,0 +1,248 @@
1
+ /* eslint-disable @typescript-eslint/member-ordering */
2
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, TemplateRef, HostBinding, Inject, } from '@angular/core';
3
+ import { SelectionModel } from '@angular/cdk/collections';
4
+ import { MatTableDataSource } from '@angular/material/table';
5
+ import { ENTRY_TABLE_CONFIG } from '../../interfaces';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "@angular/material/table";
9
+ import * as i3 from "@angular/material/sort";
10
+ import * as i4 from "@angular/material/paginator";
11
+ import * as i5 from "@angular/material/checkbox";
12
+ import * as i6 from "@angular/material/radio";
13
+ import * as i7 from "../entry-cell/entry-cell.component";
14
+ import * as i8 from "../entry-cell-context-menu/entry-cell-context-menu.component";
15
+ import * as i9 from "../../interfaces";
16
+ export class EntryTableComponent {
17
+ get hasNoResult() {
18
+ return (!this.data || this._data.length === 0) && !this.loading;
19
+ }
20
+ constructor(_config, _elementRef, _changeDetectorRef) {
21
+ this._config = _config;
22
+ this._elementRef = _elementRef;
23
+ this._changeDetectorRef = _changeDetectorRef;
24
+ this.className = 'entry-table';
25
+ this.dataSource = new MatTableDataSource([]);
26
+ this.columns = [];
27
+ // Data
28
+ this._data = [];
29
+ this.data = [];
30
+ this.total = 0;
31
+ this.loading = false;
32
+ this.pageDisabled = false;
33
+ this.pageIndex = 0;
34
+ this.pageChange = new EventEmitter();
35
+ this.sortDisableClear = false;
36
+ this.sortDisabled = false;
37
+ this.sortStart = 'asc';
38
+ this.sortChange = new EventEmitter();
39
+ // Row
40
+ this.rowHover = false;
41
+ this.rowStriped = false;
42
+ this.rowFocusVisible = false;
43
+ this.rowClick = new EventEmitter();
44
+ // Row selection
45
+ this.multiSelectable = true;
46
+ this.rowSelection = new SelectionModel(true, []);
47
+ this.rowSelected = [];
48
+ this.rowSelectable = false;
49
+ this.showSelectAllCheckbox = true;
50
+ this.rowSelectionFormatter = {};
51
+ this.rowSelectionChange = new EventEmitter();
52
+ // Context menu
53
+ this.showContextMenu = false;
54
+ this.contextMenuItems = [];
55
+ this.contextMenuItemSelected = new EventEmitter();
56
+ this.selectionColumn = 'selection-column';
57
+ this.contextMenuColumn = 'context-menu-column';
58
+ }
59
+ detectChanges() {
60
+ this._changeDetectorRef.detectChanges();
61
+ }
62
+ isTemplateRef(obj) {
63
+ return obj instanceof TemplateRef;
64
+ }
65
+ getRowClassList(rowData, index) {
66
+ const classList = {
67
+ selected: this.rowSelection.isSelected(rowData),
68
+ // eslint-disable-next-line @typescript-eslint/naming-convention
69
+ 'mat-row-odd': index % 2,
70
+ };
71
+ if (this.rowClassFormatter) {
72
+ for (const key of Object.keys(this.rowClassFormatter)) {
73
+ classList[key] = this.rowClassFormatter[key](rowData);
74
+ }
75
+ }
76
+ return classList;
77
+ }
78
+ getColumnClassList(colDef) {
79
+ const customClasses = colDef.class ?? '';
80
+ const columnType = colDef.type ?? '';
81
+ const columnField = `cell-${this.convertToKebabCase(colDef.field)}`;
82
+ return `${customClasses} ${columnType} ${columnField}`;
83
+ }
84
+ ngOnChanges(changes) {
85
+ this.showPaginator = this.showPaginator ?? this._config.showPaginator;
86
+ this.showFirstLastButtons = this.showFirstLastButtons ?? this._config.showFirstLastButtons;
87
+ this.pageSizeOptions = this.pageSizeOptions ?? this._config.pageSizeOptions;
88
+ this.hidePageSize = this.hidePageSize ?? this._config.hidePageSize;
89
+ this.noResultText = this.noResultText ?? this._config.noResultsText;
90
+ this.displayedColumns = this.columns.filter(item => !item.hide).map(item => item.field);
91
+ if (this.rowSelectable && !this.displayedColumns.includes(this.selectionColumn)) {
92
+ this.displayedColumns.unshift(this.selectionColumn);
93
+ }
94
+ if (this.showContextMenu && !this.displayedColumns.includes(this.contextMenuColumn)) {
95
+ this.displayedColumns.push(this.contextMenuColumn);
96
+ }
97
+ if (this.rowSelectable) {
98
+ this.rowSelection = new SelectionModel(this.multiSelectable, this.rowSelected);
99
+ }
100
+ if (!this.data) {
101
+ this.data = [];
102
+ }
103
+ if (Array.isArray(this.data)) {
104
+ this._data = this.data;
105
+ }
106
+ else {
107
+ this._page = this.data;
108
+ this._data = this._page.items ?? [];
109
+ this.total = this._page.totalCount ?? 0;
110
+ this.pageSize = this._page.pageSize ?? this.pageSize ?? this._config.pageSize;
111
+ this.pageIndex = this._page.pageNumber ? this._page.pageNumber - 1 : this.pageIndex;
112
+ }
113
+ if (this.dataSource) {
114
+ this.dataSource.disconnect();
115
+ }
116
+ this.dataSource = new MatTableDataSource(this._data);
117
+ if (changes.data) {
118
+ this.scrollToTop();
119
+ }
120
+ }
121
+ getIndex(index, dataIndex) {
122
+ return typeof index === 'undefined' ? dataIndex : index;
123
+ }
124
+ isAllSelected() {
125
+ const numSelected = this.rowSelection.selected.length;
126
+ const numRows = this.dataSource.data.filter(row => !this.rowSelectionFormatter.disabled?.(row)).length;
127
+ return numSelected === numRows;
128
+ }
129
+ toggleSelectAllCheckbox() {
130
+ if (this.isAllSelected()) {
131
+ this.rowSelection.clear();
132
+ this.rowSelectionChange.emit(this.rowSelection.selected);
133
+ return;
134
+ }
135
+ this.dataSource.data.forEach(row => {
136
+ if (!this.rowSelectionFormatter.disabled?.(row)) {
137
+ this.rowSelection.select(row);
138
+ }
139
+ });
140
+ this.rowSelectionChange.emit(this.rowSelection.selected);
141
+ }
142
+ toggleRowSelection(row) {
143
+ this.rowSelection.toggle(row);
144
+ this.rowSelectionChange.emit(this.rowSelection.selected);
145
+ }
146
+ handlePage(e) {
147
+ this.pageChange.emit(e);
148
+ }
149
+ scrollToTop() {
150
+ this._elementRef.nativeElement.scrollTop = 0;
151
+ }
152
+ convertToKebabCase(value) {
153
+ return value?.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
154
+ }
155
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryTableComponent, deps: [{ token: ENTRY_TABLE_CONFIG }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
156
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EntryTableComponent, selector: "entry-table", inputs: { displayedColumns: "displayedColumns", columns: "columns", data: "data", total: "total", loading: "loading", showPaginator: "showPaginator", pageDisabled: "pageDisabled", showFirstLastButtons: "showFirstLastButtons", pageIndex: "pageIndex", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", hidePageSize: "hidePageSize", paginationTemplate: "paginationTemplate", sortActive: "sortActive", sortDirection: "sortDirection", sortDisableClear: "sortDisableClear", sortDisabled: "sortDisabled", sortStart: "sortStart", rowHover: "rowHover", rowStriped: "rowStriped", rowFocusVisible: "rowFocusVisible", multiSelectable: "multiSelectable", rowSelected: "rowSelected", rowSelectable: "rowSelectable", showSelectAllCheckbox: "showSelectAllCheckbox", rowSelectionFormatter: "rowSelectionFormatter", rowClassFormatter: "rowClassFormatter", showContextMenu: "showContextMenu", contextMenuItems: "contextMenuItems", contextMenuTemplate: "contextMenuTemplate", rowContextMenuFormatter: "rowContextMenuFormatter", noResultText: "noResultText", noResultTemplate: "noResultTemplate", headerTemplate: "headerTemplate", cellTemplate: "cellTemplate" }, outputs: { pageChange: "pageChange", sortChange: "sortChange", rowClick: "rowClick", rowSelectionChange: "rowSelectionChange", contextMenuItemSelected: "contextMenuItemSelected" }, host: { properties: { "class": "this.className" } }, usesOnChanges: true, ngImport: i0, template: "<!-- Table content -->\n<table mat-table \n [ngClass]=\"{'mat-table-hover': rowHover, 'mat-table-striped': rowStriped, 'mat-table-with-data': !hasNoResult }\"\n [dataSource]=\"dataSource\"\n matSort\n [matSortActive]=\"sortActive\"\n [matSortDirection]=\"sortDirection\"\n [matSortDisableClear]=\"sortDisableClear\"\n [matSortDisabled]=\"sortDisabled\"\n [matSortStart]=\"sortStart\"\n (matSortChange)=\"sortChange.emit($event)\">\n\n <!-- Selection column -->\n <ng-container *ngIf=\"rowSelectable\" [matColumnDef]=\"selectionColumn\">\n <th mat-header-cell *matHeaderCellDef class=\"selection-cell\">\n <mat-checkbox *ngIf=\"multiSelectable && showSelectAllCheckbox\"\n [checked]=\"rowSelection.hasValue() && isAllSelected()\"\n [indeterminate]=\"rowSelection.hasValue() && !isAllSelected()\"\n (change)=\"$event ? toggleSelectAllCheckbox() : null\">\n </mat-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\"\n class=\"selection-cell\"\n (click)=\"$event.stopPropagation()\">\n <mat-checkbox\n *ngIf=\"multiSelectable && !(rowSelectionFormatter.hideCheckbox && rowSelectionFormatter.hideCheckbox!(row))\"\n [disabled]=\"rowSelectionFormatter.disabled && rowSelectionFormatter.disabled!(row)\"\n [checked]=\"rowSelection.isSelected(row)\"\n (change)=\"$event ? toggleRowSelection(row) : null\">\n </mat-checkbox>\n <mat-radio-button\n *ngIf=\"!multiSelectable && !(rowSelectionFormatter.hideCheckbox && rowSelectionFormatter.hideCheckbox!(row))\"\n [disabled]=\"rowSelectionFormatter.disabled && rowSelectionFormatter.disabled!(row)\"\n [checked]=\"rowSelection.isSelected(row)\"\n [value]=\"rowSelection.isSelected(row)\"\n (change)=\"$event ? toggleRowSelection(row) : null\">\n </mat-radio-button>\n </td>\n </ng-container>\n\n <!-- Context menu column -->\n <ng-container *ngIf=\"showContextMenu\" [matColumnDef]=\"contextMenuColumn\">\n <th mat-header-cell *matHeaderCellDef class=\"action-cell\"></th>\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\"\n class=\"action-cell\">\n <ng-template [ngIf]=\"isTemplateRef(contextMenuTemplate)\" [ngIfElse]=\"contextMenuTpl\">\n <ng-template [ngTemplateOutlet]=\"contextMenuTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row }\">\n </ng-template>\n </ng-template>\n <ng-template #contextMenuTpl>\n <entry-cell-context-menu\n [items]=\"contextMenuItems\"\n [rowData]=\"row\"\n [rowMenuFormatter]=\"rowContextMenuFormatter\"\n (selected)=\"contextMenuItemSelected.emit({itemId: $event, rowData: row})\"\n ></entry-cell-context-menu>\n </ng-template>\n </td>\n </ng-container>\n\n <ng-container *ngFor=\"let col of columns;\">\n <ng-container [matColumnDef]=\"col.field\"\n [sticky]=\"col.pinned==='left'\" [stickyEnd]=\"col.pinned==='right'\">\n <th mat-header-cell *matHeaderCellDef\n [class]=\"getColumnClassList(col)\"\n [ngClass]=\"{'mat-table-sticky-left': col.pinned === 'left', 'mat-table-sticky-right': col.pinned === 'right'}\"\n [ngStyle]=\"{'width': col.width, 'min-width': col.width}\">\n <ng-template [ngIf]=\"isTemplateRef(headerTemplate)\" [ngIfElse]=\"headerTpl\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: col, colDef: col }\">\n </ng-template>\n </ng-template>\n <ng-template #headerTpl>\n <ng-template [ngIf]=\"headerTemplate && isTemplateRef(headerTemplate[col.field])\"\n [ngIfElse]=\"defaultHeaderTpl\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate[col.field]\"\n [ngTemplateOutletContext]=\"{ $implicit: col, colDef: col }\">\n </ng-template>\n </ng-template>\n </ng-template>\n <ng-template #defaultHeaderTpl>\n <div [mat-sort-header]=\"col.sortProp?.id || col.field\"\n [disabled]=\"!col.sortable\"\n [disableClear]=\"col.sortProp?.disableClear\">\n <span>{{col.header}}</span>\n </div>\n </ng-template>\n </th>\n\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\"\n [class]=\"getColumnClassList(col)\"\n [ngClass]=\"{'mat-table-sticky-left': col.pinned === 'left', 'mat-table-sticky-right': col.pinned === 'right'}\"\n [ngStyle]=\"{'width': col.width, 'min-width': col.width}\">\n <ng-template [ngIf]=\"isTemplateRef(cellTemplate)\" [ngIfElse]=\"cellTpl\">\n <ng-template [ngTemplateOutlet]=\"cellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: col }\">\n </ng-template>\n </ng-template>\n <ng-template #cellTpl>\n <ng-template [ngIf]=\"cellTemplate && isTemplateRef(cellTemplate[col.field])\"\n [ngIfElse]=\"colDefCellTpl\">\n <ng-template [ngTemplateOutlet]=\"cellTemplate[col.field]\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: col }\">\n </ng-template>\n </ng-template>\n </ng-template>\n <ng-template #colDefCellTpl>\n <ng-template [ngIf]=\"col.cellTemplate\" [ngIfElse]=\"defaultCellTpl\"\n [ngTemplateOutlet]=\"col.cellTemplate ?? null\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: col }\">\n </ng-template>\n </ng-template>\n <ng-template #defaultCellTpl>\n <entry-cell [rowData]=\"row\" [colDef]=\"col\"></entry-cell>\n </ng-template>\n </td>\n </ng-container>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row\n *matRowDef=\"let row; let index = index; let dataIndex = dataIndex; columns: displayedColumns;\"\n [ngClass]=\"getRowClassList(row, getIndex(index, dataIndex))\"\n [attr.tabindex]=\"rowFocusVisible ? 0 : -1\"\n (click)=\"rowClick.emit(row)\"\n (keyup.enter)=\"rowClick.emit(row)\">\n </tr>\n</table>\n\n<!-- No results -->\n<div class=\"no-results mat-body-2\" *ngIf=\"hasNoResult\">\n <ng-template [ngIf]=\"isTemplateRef(noResultTemplate)\" [ngIfElse]=\"defaultNoResultTpl\">\n <ng-template [ngTemplateOutlet]=\"noResultTemplate\"></ng-template>\n </ng-template>\n <ng-template #defaultNoResultTpl>{{noResultText}}</ng-template>\n</div>\n\n<!-- Pagination -->\n<ng-template [ngIf]=\"isTemplateRef(paginationTemplate)\" [ngIfElse]=\"defaultPaginationTemplate\">\n <ng-template [ngTemplateOutlet]=\"paginationTemplate\"></ng-template>\n</ng-template>\n<ng-template #defaultPaginationTemplate>\n <mat-paginator class=\"pagination\" *ngIf=\"showPaginator\"\n [showFirstLastButtons]=\"showFirstLastButtons\"\n [length]=\"total\"\n [pageIndex]=\"pageIndex\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [hidePageSize]=\"hidePageSize\"\n (page)=\"handlePage($event)\"\n [disabled]=\"pageDisabled\">\n </mat-paginator>\n</ng-template>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i2.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i2.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i2.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i2.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i2.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i2.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i2.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i3.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i3.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i4.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: i5.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i6.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "component", type: i7.EntryCellComponent, selector: "entry-cell", inputs: ["rowData", "colDef"] }, { kind: "component", type: i8.EntryCellContextMenuComponent, selector: "entry-cell-context-menu", inputs: ["items", "rowMenuFormatter", "rowData"], outputs: ["selected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
157
+ }
158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryTableComponent, decorators: [{
159
+ type: Component,
160
+ args: [{ selector: 'entry-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- Table content -->\n<table mat-table \n [ngClass]=\"{'mat-table-hover': rowHover, 'mat-table-striped': rowStriped, 'mat-table-with-data': !hasNoResult }\"\n [dataSource]=\"dataSource\"\n matSort\n [matSortActive]=\"sortActive\"\n [matSortDirection]=\"sortDirection\"\n [matSortDisableClear]=\"sortDisableClear\"\n [matSortDisabled]=\"sortDisabled\"\n [matSortStart]=\"sortStart\"\n (matSortChange)=\"sortChange.emit($event)\">\n\n <!-- Selection column -->\n <ng-container *ngIf=\"rowSelectable\" [matColumnDef]=\"selectionColumn\">\n <th mat-header-cell *matHeaderCellDef class=\"selection-cell\">\n <mat-checkbox *ngIf=\"multiSelectable && showSelectAllCheckbox\"\n [checked]=\"rowSelection.hasValue() && isAllSelected()\"\n [indeterminate]=\"rowSelection.hasValue() && !isAllSelected()\"\n (change)=\"$event ? toggleSelectAllCheckbox() : null\">\n </mat-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\"\n class=\"selection-cell\"\n (click)=\"$event.stopPropagation()\">\n <mat-checkbox\n *ngIf=\"multiSelectable && !(rowSelectionFormatter.hideCheckbox && rowSelectionFormatter.hideCheckbox!(row))\"\n [disabled]=\"rowSelectionFormatter.disabled && rowSelectionFormatter.disabled!(row)\"\n [checked]=\"rowSelection.isSelected(row)\"\n (change)=\"$event ? toggleRowSelection(row) : null\">\n </mat-checkbox>\n <mat-radio-button\n *ngIf=\"!multiSelectable && !(rowSelectionFormatter.hideCheckbox && rowSelectionFormatter.hideCheckbox!(row))\"\n [disabled]=\"rowSelectionFormatter.disabled && rowSelectionFormatter.disabled!(row)\"\n [checked]=\"rowSelection.isSelected(row)\"\n [value]=\"rowSelection.isSelected(row)\"\n (change)=\"$event ? toggleRowSelection(row) : null\">\n </mat-radio-button>\n </td>\n </ng-container>\n\n <!-- Context menu column -->\n <ng-container *ngIf=\"showContextMenu\" [matColumnDef]=\"contextMenuColumn\">\n <th mat-header-cell *matHeaderCellDef class=\"action-cell\"></th>\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\"\n class=\"action-cell\">\n <ng-template [ngIf]=\"isTemplateRef(contextMenuTemplate)\" [ngIfElse]=\"contextMenuTpl\">\n <ng-template [ngTemplateOutlet]=\"contextMenuTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row }\">\n </ng-template>\n </ng-template>\n <ng-template #contextMenuTpl>\n <entry-cell-context-menu\n [items]=\"contextMenuItems\"\n [rowData]=\"row\"\n [rowMenuFormatter]=\"rowContextMenuFormatter\"\n (selected)=\"contextMenuItemSelected.emit({itemId: $event, rowData: row})\"\n ></entry-cell-context-menu>\n </ng-template>\n </td>\n </ng-container>\n\n <ng-container *ngFor=\"let col of columns;\">\n <ng-container [matColumnDef]=\"col.field\"\n [sticky]=\"col.pinned==='left'\" [stickyEnd]=\"col.pinned==='right'\">\n <th mat-header-cell *matHeaderCellDef\n [class]=\"getColumnClassList(col)\"\n [ngClass]=\"{'mat-table-sticky-left': col.pinned === 'left', 'mat-table-sticky-right': col.pinned === 'right'}\"\n [ngStyle]=\"{'width': col.width, 'min-width': col.width}\">\n <ng-template [ngIf]=\"isTemplateRef(headerTemplate)\" [ngIfElse]=\"headerTpl\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: col, colDef: col }\">\n </ng-template>\n </ng-template>\n <ng-template #headerTpl>\n <ng-template [ngIf]=\"headerTemplate && isTemplateRef(headerTemplate[col.field])\"\n [ngIfElse]=\"defaultHeaderTpl\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate[col.field]\"\n [ngTemplateOutletContext]=\"{ $implicit: col, colDef: col }\">\n </ng-template>\n </ng-template>\n </ng-template>\n <ng-template #defaultHeaderTpl>\n <div [mat-sort-header]=\"col.sortProp?.id || col.field\"\n [disabled]=\"!col.sortable\"\n [disableClear]=\"col.sortProp?.disableClear\">\n <span>{{col.header}}</span>\n </div>\n </ng-template>\n </th>\n\n <td mat-cell *matCellDef=\"let row; let index = index; let dataIndex = dataIndex;\"\n [class]=\"getColumnClassList(col)\"\n [ngClass]=\"{'mat-table-sticky-left': col.pinned === 'left', 'mat-table-sticky-right': col.pinned === 'right'}\"\n [ngStyle]=\"{'width': col.width, 'min-width': col.width}\">\n <ng-template [ngIf]=\"isTemplateRef(cellTemplate)\" [ngIfElse]=\"cellTpl\">\n <ng-template [ngTemplateOutlet]=\"cellTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: col }\">\n </ng-template>\n </ng-template>\n <ng-template #cellTpl>\n <ng-template [ngIf]=\"cellTemplate && isTemplateRef(cellTemplate[col.field])\"\n [ngIfElse]=\"colDefCellTpl\">\n <ng-template [ngTemplateOutlet]=\"cellTemplate[col.field]\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: col }\">\n </ng-template>\n </ng-template>\n </ng-template>\n <ng-template #colDefCellTpl>\n <ng-template [ngIf]=\"col.cellTemplate\" [ngIfElse]=\"defaultCellTpl\"\n [ngTemplateOutlet]=\"col.cellTemplate ?? null\"\n [ngTemplateOutletContext]=\"{ $implicit: row, rowData: row, index: getIndex(index, dataIndex), colDef: col }\">\n </ng-template>\n </ng-template>\n <ng-template #defaultCellTpl>\n <entry-cell [rowData]=\"row\" [colDef]=\"col\"></entry-cell>\n </ng-template>\n </td>\n </ng-container>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\n <tr mat-row\n *matRowDef=\"let row; let index = index; let dataIndex = dataIndex; columns: displayedColumns;\"\n [ngClass]=\"getRowClassList(row, getIndex(index, dataIndex))\"\n [attr.tabindex]=\"rowFocusVisible ? 0 : -1\"\n (click)=\"rowClick.emit(row)\"\n (keyup.enter)=\"rowClick.emit(row)\">\n </tr>\n</table>\n\n<!-- No results -->\n<div class=\"no-results mat-body-2\" *ngIf=\"hasNoResult\">\n <ng-template [ngIf]=\"isTemplateRef(noResultTemplate)\" [ngIfElse]=\"defaultNoResultTpl\">\n <ng-template [ngTemplateOutlet]=\"noResultTemplate\"></ng-template>\n </ng-template>\n <ng-template #defaultNoResultTpl>{{noResultText}}</ng-template>\n</div>\n\n<!-- Pagination -->\n<ng-template [ngIf]=\"isTemplateRef(paginationTemplate)\" [ngIfElse]=\"defaultPaginationTemplate\">\n <ng-template [ngTemplateOutlet]=\"paginationTemplate\"></ng-template>\n</ng-template>\n<ng-template #defaultPaginationTemplate>\n <mat-paginator class=\"pagination\" *ngIf=\"showPaginator\"\n [showFirstLastButtons]=\"showFirstLastButtons\"\n [length]=\"total\"\n [pageIndex]=\"pageIndex\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [hidePageSize]=\"hidePageSize\"\n (page)=\"handlePage($event)\"\n [disabled]=\"pageDisabled\">\n </mat-paginator>\n</ng-template>" }]
161
+ }], ctorParameters: function () { return [{ type: i9.EntryTableConfig, decorators: [{
162
+ type: Inject,
163
+ args: [ENTRY_TABLE_CONFIG]
164
+ }] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { className: [{
165
+ type: HostBinding,
166
+ args: ['class']
167
+ }], displayedColumns: [{
168
+ type: Input
169
+ }], columns: [{
170
+ type: Input
171
+ }], data: [{
172
+ type: Input
173
+ }], total: [{
174
+ type: Input
175
+ }], loading: [{
176
+ type: Input
177
+ }], showPaginator: [{
178
+ type: Input
179
+ }], pageDisabled: [{
180
+ type: Input
181
+ }], showFirstLastButtons: [{
182
+ type: Input
183
+ }], pageIndex: [{
184
+ type: Input
185
+ }], pageSize: [{
186
+ type: Input
187
+ }], pageSizeOptions: [{
188
+ type: Input
189
+ }], hidePageSize: [{
190
+ type: Input
191
+ }], pageChange: [{
192
+ type: Output
193
+ }], paginationTemplate: [{
194
+ type: Input
195
+ }], sortActive: [{
196
+ type: Input
197
+ }], sortDirection: [{
198
+ type: Input
199
+ }], sortDisableClear: [{
200
+ type: Input
201
+ }], sortDisabled: [{
202
+ type: Input
203
+ }], sortStart: [{
204
+ type: Input
205
+ }], sortChange: [{
206
+ type: Output
207
+ }], rowHover: [{
208
+ type: Input
209
+ }], rowStriped: [{
210
+ type: Input
211
+ }], rowFocusVisible: [{
212
+ type: Input
213
+ }], rowClick: [{
214
+ type: Output
215
+ }], multiSelectable: [{
216
+ type: Input
217
+ }], rowSelected: [{
218
+ type: Input
219
+ }], rowSelectable: [{
220
+ type: Input
221
+ }], showSelectAllCheckbox: [{
222
+ type: Input
223
+ }], rowSelectionFormatter: [{
224
+ type: Input
225
+ }], rowClassFormatter: [{
226
+ type: Input
227
+ }], rowSelectionChange: [{
228
+ type: Output
229
+ }], showContextMenu: [{
230
+ type: Input
231
+ }], contextMenuItems: [{
232
+ type: Input
233
+ }], contextMenuTemplate: [{
234
+ type: Input
235
+ }], rowContextMenuFormatter: [{
236
+ type: Input
237
+ }], contextMenuItemSelected: [{
238
+ type: Output
239
+ }], noResultText: [{
240
+ type: Input
241
+ }], noResultTemplate: [{
242
+ type: Input
243
+ }], headerTemplate: [{
244
+ type: Input
245
+ }], cellTemplate: [{
246
+ type: Input
247
+ }] } });
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvZW50cnktdGFibGUvZW50cnktdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3RhYmxlL2NvbXBvbmVudHMvZW50cnktdGFibGUvZW50cnktdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBRXZELE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osdUJBQXVCLEVBRXZCLFdBQVcsRUFJWCxXQUFXLEVBQ1gsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUk3RCxPQUFPLEVBRW1ELGtCQUFrQixFQUMzRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7OztBQU8xQixNQUFNLE9BQU8sbUJBQW1CO0lBeUU5QixJQUFJLFdBQVc7UUFDYixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUNsRSxDQUFDO0lBTUQsWUFDc0MsT0FBeUIsRUFDckQsV0FBb0MsRUFDcEMsa0JBQXFDO1FBRlQsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFDckQsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBQ3BDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFuRnpCLGNBQVMsR0FBRyxhQUFhLENBQUM7UUFFaEQsZUFBVSxHQUFH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O3NCQUF4QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNO2dCQUlFLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNJLFFBQVE7c0JBQWpCLE1BQU07Z0JBSUUsZUFBZTtzQkFBdkIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0ksa0JBQWtCO3NCQUEzQixNQUFNO2dCQUlFLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyx1QkFBdUI7c0JBQS9CLEtBQUs7Z0JBQ0ksdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUlFLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQVNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmcgKi9cblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBPbkNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRWxlbWVudFJlZixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBQYWdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3InO1xuaW1wb3J0IHsgU29ydCwgU29ydERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xuXG5pbXBvcnQge1xuICBDb2x1bW5EZWYsIFBhZ2VkRGF0YSwgUm93U2VsZWN0aW9uRm9ybWF0dGVyLCBSb3dDbGFzc0Zvcm1hdHRlcixcbiAgQ29udGV4dE1lbnVJdGVtLCBSb3dDb250ZXh0TWVudUZvcm1hdHRlciwgQ2VsbFRlbXBsYXRlLCBFTlRSWV9UQUJMRV9DT05GSUcsIEVudHJ5VGFibGVDb25maWdcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VudHJ5LXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VudHJ5LXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRW50cnlUYWJsZUNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzc05hbWUgPSAnZW50cnktdGFibGUnO1xuXG4gIGRhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlPFQ+KFtdKTtcblxuICBASW5wdXQoKSBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXTtcbiAgQElucHV0KCkgY29sdW1uczogQ29sdW1uRGVmW10gPSBbXTtcblxuICAvLyBEYXRhXG5cbiAgcHJpdmF0ZSBfZGF0YTogVFtdID0gW107XG4gIHByaXZhdGUgX3BhZ2U6IFBhZ2VkRGF0YTxUPjtcbiAgQElucHV0KCkgZGF0YTogVFtdIHwgUGFnZWREYXRhPFQ+IHwgbnVsbCB8IHVuZGVmaW5lZCA9IFtdO1xuICBASW5wdXQoKSB0b3RhbCA9IDA7XG4gIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcblxuICAvLyBQYWdpbmF0aW9uXG5cbiAgQElucHV0KCkgc2hvd1BhZ2luYXRvcjogYm9vbGVhbjtcbiAgQElucHV0KCkgcGFnZURpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dGaXJzdExhc3RCdXR0b25zOiBib29sZWFuO1xuICBASW5wdXQoKSBwYWdlSW5kZXggPSAwO1xuICBASW5wdXQoKSBwYWdlU2l6ZTogbnVtYmVyO1xuICBASW5wdXQoKSBwYWdlU2l6ZU9wdGlvbnM6IG51bWJlcltdO1xuICBASW5wdXQoKSBoaWRlUGFnZVNpemU6IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxQYWdlRXZlbnQ+KCk7XG5cbiAgQElucHV0KCkgcGFnaW5hdGlvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8vIFNvcnRcblxuICBASW5wdXQoKSBzb3J0QWN0aXZlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNvcnREaXJlY3Rpb246IFNvcnREaXJlY3Rpb247XG4gIEBJbnB1dCgpIHNvcnREaXNhYmxlQ2xlYXIgPSBmYWxzZTtcbiAgQElucHV0KCkgc29ydERpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNvcnRTdGFydDogJ2FzYycgfCAnZGVzYycgPSAnYXNjJztcbiAgQE91dHB1dCgpIHNvcnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNvcnQ+KCk7XG5cbiAgLy8gUm93XG5cbiAgQElucHV0KCkgcm93SG92ZXIgPSBmYWxzZTtcbiAgQElucHV0KCkgcm93U3RyaXBlZCA9IGZhbHNlO1xuICBASW5wdXQoKSByb3dGb2N1c1Zpc2libGUgPSBmYWxzZTtcbiAgQE91dHB1dCgpIHJvd0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xuXG4gIC8vIFJvdyBzZWxlY3Rpb25cblxuICBASW5wdXQoKSBtdWx0aVNlbGVjdGFibGUgPSB0cnVlO1xuICByb3dTZWxlY3Rpb246IFNlbGVjdGlvbk1vZGVsPFQ+ID0gbmV3IFNlbGVjdGlvbk1vZGVsPFQ+KHRydWUsIFtdKTtcblxuICBASW5wdXQoKSByb3dTZWxlY3RlZDogVFtdID0gW107XG4gIEBJbnB1dCgpIHJvd1NlbGVjdGFibGUgPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd1NlbGVjdEFsbENoZWNrYm94ID0gdHJ1ZTtcbiAgQElucHV0KCkgcm93U2VsZWN0aW9uRm9ybWF0dGVyOiBSb3dTZWxlY3Rpb25Gb3JtYXR0ZXIgPSB7fTtcbiAgQElucHV0KCkgcm93Q2xhc3NGb3JtYXR0ZXI6IFJvd0NsYXNzRm9ybWF0dGVyO1xuICBAT3V0cHV0KCkgcm93U2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUW10+KCk7XG5cbiAgLy8gQ29udGV4dCBtZW51XG5cbiAgQElucHV0KCkgc2hvd0NvbnRleHRNZW51ID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNvbnRleHRNZW51SXRlbXM6IENvbnRleHRNZW51SXRlbVtdID0gW107XG4gIEBJbnB1dCgpIGNvbnRleHRNZW51VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xuICBASW5wdXQoKSByb3dDb250ZXh0TWVudUZvcm1hdHRlcjogUm93Q29udGV4dE1lbnVGb3JtYXR0ZXI7XG4gIEBPdXRwdXQoKSBjb250ZXh0TWVudUl0ZW1TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpdGVtSWQ6IHN0cmluZzsgcm93RGF0YTogVCB9PigpO1xuXG4gIC8vIE5vIFJlc3VsdFxuXG4gIEBJbnB1dCgpIG5vUmVzdWx0VGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBub1Jlc3VsdFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbDtcblxuICByZWFkb25seSBzZWxlY3Rpb25Db2x1bW4gPSAnc2VsZWN0aW9uLWNvbHVtbic7XG4gIHJlYWRvbmx5IGNvbnRleHRNZW51Q29sdW1uID0gJ2NvbnRleHQtbWVudS1jb2x1bW4nO1xuXG4gIGdldCBoYXNOb1Jlc3VsdCgpIHtcbiAgICByZXR1cm4gKCF0aGlzLmRhdGEgfHwgdGhpcy5fZGF0YS5sZW5ndGggPT09IDApICYmICF0aGlzLmxvYWRpbmc7XG4gIH1cblxuICBASW5wdXQoKSBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IENlbGxUZW1wbGF0ZSB8IGFueTtcblxuICBASW5wdXQoKSBjZWxsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBDZWxsVGVtcGxhdGUgfCBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChFTlRSWV9UQUJMRV9DT05GSUcpIHByaXZhdGUgX2NvbmZpZzogRW50cnlUYWJsZUNvbmZpZyxcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gIGRldGVjdENoYW5nZXMoKSB7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgaXNUZW1wbGF0ZVJlZihvYmo6IGFueSkge1xuICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZjtcbiAgfVxuXG4gIGdldFJvd0NsYXNzTGlzdChyb3dEYXRhOiBULCBpbmRleDogbnVtYmVyKSB7XG4gICAgY29uc3QgY2xhc3NMaXN0ID0ge1xuICAgICAgc2VsZWN0ZWQ6IHRoaXMucm93U2VsZWN0aW9uLmlzU2VsZWN0ZWQocm93RGF0YSksXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgICAnbWF0LXJvdy1vZGQnOiBpbmRleCAlIDIsXG4gICAgfTtcbiAgICBpZiAodGhpcy5yb3dDbGFzc0Zvcm1hdHRlcikge1xuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModGhpcy5yb3dDbGFzc0Zvcm1hdHRlcikpIHtcbiAgICAgICAgY2xhc3NMaXN0W2tleV0gPSB0aGlzLnJvd0NsYXNzRm9ybWF0dGVyW2tleV0ocm93RGF0YSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjbGFzc0xpc3Q7XG4gIH1cblxuICBnZXRDb2x1bW5DbGFzc0xpc3QoY29sRGVmOiBDb2x1bW5EZWYpOiBzdHJpbmcge1xuICAgIGNvbnN0IGN1c3RvbUNsYXNzZXMgPSBjb2xEZWYuY2xhc3MgPz8gJyc7XG4gICAgY29uc3QgY29sdW1uVHlwZSA9IGNvbERlZi50eXBlID8/ICcnO1xuICAgIGNvbnN0IGNvbHVtbkZpZWxkID0gYGNlbGwtJHt0aGlzLmNvbnZlcnRUb0tlYmFiQ2FzZShjb2xEZWYuZmllbGQpfWA7XG5cbiAgICByZXR1cm4gYCR7Y3VzdG9tQ2xhc3Nlc30gJHtjb2x1bW5UeXBlfSAke2NvbHVtbkZpZWxkfWA7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgdGhpcy5zaG93UGFnaW5hdG9yID0gdGhpcy5zaG93UGFnaW5hdG9yID8/IHRoaXMuX2NvbmZpZy5zaG93UGFnaW5hdG9yO1xuICAgIHRoaXMuc2hvd0ZpcnN0TGFzdEJ1dHRvbnMgPSB0aGlzLnNob3dGaXJzdExhc3RCdXR0b25zID8/IHRoaXMuX2NvbmZpZy5zaG93Rmlyc3RMYXN0QnV0dG9ucztcbiAgICB0aGlzLnBhZ2VTaXplT3B0aW9ucyA9IHRoaXMucGFnZVNpemVPcHRpb25zID8/IHRoaXMuX2NvbmZpZy5wYWdlU2l6ZU9wdGlvbnM7XG4gICAgdGhpcy5oaWRlUGFnZVNpemUgPSB0aGlzLmhpZGVQYWdlU2l6ZSA/PyB0aGlzLl9jb25maWcuaGlkZVBhZ2VTaXplO1xuICAgIHRoaXMubm9SZXN1bHRUZXh0ID0gdGhpcy5ub1Jlc3VsdFRleHQgPz8gdGhpcy5fY29uZmlnLm5vUmVzdWx0c1RleHQ7XG5cbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLmNvbHVtbnMuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0uaGlkZSkubWFwKGl0ZW0gPT4gaXRlbS5maWVsZCk7XG5cbiAgICBpZiAodGhpcy5yb3dTZWxlY3RhYmxlICYmICF0aGlzLmRpc3BsYXllZENvbHVtbnMuaW5jbHVkZXModGhpcy5zZWxlY3Rpb25Db2x1bW4pKSB7XG4gICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMudW5zaGlmdCh0aGlzLnNlbGVjdGlvbkNvbHVtbik7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2hvd0NvbnRleHRNZW51ICYmICF0aGlzLmRpc3BsYXllZENvbHVtbnMuaW5jbHVkZXModGhpcy5jb250ZXh0TWVudUNvbHVtbikpIHtcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5wdXNoKHRoaXMuY29udGV4dE1lbnVDb2x1bW4pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJvd1NlbGVjdGFibGUpIHtcbiAgICAgIHRoaXMucm93U2VsZWN0aW9uID0gbmV3IFNlbGVjdGlvbk1vZGVsPFQ+KHRoaXMubXVsdGlTZWxlY3RhYmxlLCB0aGlzLnJvd1NlbGVjdGVkKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuZGF0YSkge1xuICAgICAgdGhpcy5kYXRhID0gW107XG4gICAgfVxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5kYXRhKSkge1xuICAgICAgdGhpcy5fZGF0YSA9IHRoaXMuZGF0YSBhcyBUW107XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3BhZ2UgPSB0aGlzLmRhdGEgYXMgUGFnZWREYXRhPFQ+O1xuICAgICAgdGhpcy5fZGF0YSA9IHRoaXMuX3BhZ2UuaXRlbXMgPz8gW107XG4gICAgICB0aGlzLnRvdGFsID0gdGhpcy5fcGFnZS50b3RhbENvdW50ID8/IDA7XG4gICAgICB0aGlzLnBhZ2VTaXplID0gdGhpcy5fcGFnZS5wYWdlU2l6ZSA/PyB0aGlzLnBhZ2VTaXplID8/IHRoaXMuX2NvbmZpZy5wYWdlU2l6ZTtcbiAgICAgIHRoaXMucGFnZUluZGV4ID0gdGhpcy5fcGFnZS5wYWdlTnVtYmVyID8gdGhpcy5fcGFnZS5wYWdlTnVtYmVyIC0gMSA6IHRoaXMucGFnZUluZGV4O1xuICAgIH1cblxuICAgIGlmICh0aGlzLmRhdGFTb3VyY2UpIHtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5kaXNjb25uZWN0KCk7XG4gICAgfVxuXG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZSh0aGlzLl9kYXRhKTtcblxuICAgIGlmIChjaGFuZ2VzLmRhdGEpIHtcbiAgICAgIHRoaXMuc2Nyb2xsVG9Ub3AoKTtcbiAgICB9XG4gIH1cblxuICBnZXRJbmRleChpbmRleDogbnVtYmVyLCBkYXRhSW5kZXg6IG51bWJlcikge1xuICAgIHJldHVybiB0eXBlb2YgaW5kZXggPT09ICd1bmRlZmluZWQnID8gZGF0YUluZGV4IDogaW5kZXg7XG4gIH1cblxuICBpc0FsbFNlbGVjdGVkKCkge1xuICAgIGNvbnN0IG51bVNlbGVjdGVkID0gdGhpcy5yb3dTZWxlY3Rpb24uc2VsZWN0ZWQubGVuZ3RoO1xuICAgIGNvbnN0IG51bVJvd3MgPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5maWx0ZXIocm93ID0+ICF0aGlzLnJvd1NlbGVjdGlvbkZvcm1hdHRlci5kaXNhYmxlZD8uKHJvdykpLmxlbmd0aDtcbiAgICByZXR1cm4gbnVtU2VsZWN0ZWQgPT09IG51bVJvd3M7XG4gIH1cblxuICB0b2dnbGVTZWxlY3RBbGxDaGVja2JveCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0FsbFNlbGVjdGVkKCkpIHtcbiAgICAgIHRoaXMucm93U2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgICB0aGlzLnJvd1NlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMucm93U2VsZWN0aW9uLnNlbGVjdGVkKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5kYXRhU291cmNlLmRhdGEuZm9yRWFjaChyb3cgPT4ge1xuICAgICAgaWYgKCF0aGlzLnJvd1NlbGVjdGlvbkZvcm1hdHRlci5kaXNhYmxlZD8uKHJvdykpIHtcbiAgICAgICAgdGhpcy5yb3dTZWxlY3Rpb24uc2VsZWN0KHJvdyk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5yb3dTZWxlY3Rpb25DaGFuZ2UuZW1pdCh0aGlzLnJvd1NlbGVjdGlvbi5zZWxlY3RlZCk7XG4gIH1cblxuICB0b2dnbGVSb3dTZWxlY3Rpb24ocm93OiBhbnkpIHtcbiAgICB0aGlzLnJvd1NlbGVjdGlvbi50b2dnbGUocm93KTtcbiAgICB0aGlzLnJvd1NlbGVjdGlvbkNoYW5nZS5lbWl0KHRoaXMucm93U2VsZWN0aW9uLnNlbGVjdGVkKTtcbiAgfVxuXG4gIGhhbmRsZVBhZ2UoZTogUGFnZUV2ZW50KSB7XG4gICAgdGhpcy5wYWdlQ2hhbmdlLmVtaXQoZSk7XG4gIH1cblxuICBzY3JvbGxUb1RvcCgpOiB2b2lkIHtcbiAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID0gMDtcbiAgfVxuXG4gIHByaXZhdGUgY29udmVydFRvS2ViYWJDYXNlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB2YWx1ZT8ucmVwbGFjZSgvKFthLXowLTldKShbQS1aXSkvZywgJyQxLSQyJykudG9Mb3dlckNhc2UoKTtcbiAgfVxufVxuIiwiPCEtLSBUYWJsZSBjb250ZW50IC0tPlxuPHRhYmxlIG1hdC10YWJsZSBcbiAgICAgICAgW25nQ2xhc3NdPVwieydtYXQtdGFibGUtaG92ZXInOiByb3dIb3ZlciwgJ21hdC10YWJsZS1zdHJpcGVkJzogcm93U3RyaXBlZCwgJ21hdC10YWJsZS13aXRoLWRhdGEnOiAhaGFzTm9SZXN1bHQgfVwiXG4gICAgICAgIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIlxuICAgICAgICBtYXRTb3J0XG4gICAgICAgIFttYXRTb3J0QWN0aXZlXT1cInNvcnRBY3RpdmVcIlxuICAgICAgICBbbWF0U29ydERpcmVjdGlvbl09XCJzb3J0RGlyZWN0aW9uXCJcbiAgICAgICAgW21hdFNvcnREaXNhYmxlQ2xlYXJdPVwic29ydERpc2FibGVDbGVhclwiXG4gICAgICAgIFttYXRTb3J0RGlzYWJsZWRdPVwic29ydERpc2FibGVkXCJcbiAgICAgICAgW21hdFNvcnRTdGFydF09XCJzb3J0U3RhcnRcIlxuICAgICAgICAobWF0U29ydENoYW5nZSk9XCJzb3J0Q2hhbmdlLmVtaXQoJGV2ZW50KVwiPlxuXG4gIDwhLS0gU2VsZWN0aW9uIGNvbHVtbiAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvd1NlbGVjdGFibGVcIiBbbWF0Q29sdW1uRGVmXT1cInNlbGVjdGlvbkNvbHVtblwiPlxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9XCJzZWxlY3Rpb24tY2VsbFwiPlxuICAgICAgPG1hdC1jaGVja2JveCAqbmdJZj1cIm11bHRpU2VsZWN0YWJsZSAmJiBzaG93U2VsZWN0QWxsQ2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJyb3dTZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiBpc0FsbFNlbGVjdGVkKClcIlxuICAgICAgICAgICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJyb3dTZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiAhaXNBbGxTZWxlY3RlZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCIkZXZlbnQgPyB0b2dnbGVTZWxlY3RBbGxDaGVja2JveCgpIDogbnVsbFwiPlxuICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgPC90aD5cbiAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93OyBsZXQgaW5kZXggPSBpbmRleDsgbGV0IGRhdGFJbmRleCA9IGRhdGFJbmRleDtcIlxuICAgICAgICBjbGFzcz1cInNlbGVjdGlvbi1jZWxsXCJcbiAgICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAqbmdJZj1cIm11bHRpU2VsZWN0YWJsZSAmJiAhKHJvd1NlbGVjdGlvbkZvcm1hdHRlci5oaWRlQ2hlY2tib3ggJiYgcm93U2VsZWN0aW9uRm9ybWF0dGVyLmhpZGVDaGVja2JveCEocm93KSlcIlxuICAgICAgICBbZGlzYWJsZWRdPVwicm93U2VsZWN0aW9uRm9ybWF0dGVyLmRpc2FibGVkICYmIHJvd1NlbGVjdGlvbkZvcm1hdHRlci5kaXNhYmxlZCEocm93KVwiXG4gICAgICAgIFtjaGVja2VkXT1cInJvd1NlbGVjdGlvbi5pc1NlbGVjdGVkKHJvdylcIlxuICAgICAgICAoY2hhbmdlKT1cIiRldmVudCA/IHRvZ2dsZVJvd1NlbGVjdGlvbihyb3cpIDogbnVsbFwiPlxuICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICA8bWF0LXJhZGlvLWJ1dHRvblxuICAgICAgICAqbmdJZj1cIiFtdWx0aVNlbGVjdGFibGUgJiYgIShyb3dTZWxlY3Rpb25Gb3JtYXR0ZXIuaGlkZUNoZWNrYm94ICYmIHJvd1NlbGVjdGlvbkZvcm1hdHRlci5oaWRlQ2hlY2tib3ghKHJvdykpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cInJvd1NlbGVjdGlvbkZvcm1hdHRlci5kaXNhYmxlZCAmJiByb3dTZWxlY3Rpb25Gb3JtYXR0ZXIuZGlzYWJsZWQhKHJvdylcIlxuICAgICAgICBbY2hlY2tlZF09XCJyb3dTZWxlY3Rpb24uaXNTZWxlY3RlZChyb3cpXCJcbiAgICAgICAgW3ZhbHVlXT1cInJvd1NlbGVjdGlvbi5pc1NlbGVjdGVkKHJvdylcIlxuICAgICAgICAoY2hhbmdlKT1cIiRldmVudCA/IHRvZ2dsZVJvd1NlbGVjdGlvbihyb3cpIDogbnVsbFwiPlxuICAgICAgPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgIDwvdGQ+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDwhLS0gQ29udGV4dCBtZW51IGNvbHVtbiAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dDb250ZXh0TWVudVwiIFttYXRDb2x1bW5EZWZdPVwiY29udGV4dE1lbnVDb2x1bW5cIj5cbiAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPVwiYWN0aW9uLWNlbGxcIj48L3RoPlxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3c7IGxldCBpbmRleCA9IGluZGV4OyBsZXQgZGF0YUluZGV4ID0gZGF0YUluZGV4O1wiXG4gICAgICAgIGNsYXNzPVwiYWN0aW9uLWNlbGxcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImlzVGVtcGxhdGVSZWYoY29udGV4dE1lbnVUZW1wbGF0ZSlcIiBbbmdJZkVsc2VdPVwiY29udGV4dE1lbnVUcGxcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGV4dE1lbnVUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHJvdywgcm93RGF0YTogcm93IH1cIj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2NvbnRleHRNZW51VHBsPlxuICAgICAgICAgIDxlbnRyeS1jZWxsLWNvbnRleHQtbWVudVxuICAgICAgICAgICAgW2l0ZW1zXT1cImNvbnRleHRNZW51SXRlbXNcIlxuICAgICAgICAgICAgW3Jvd0RhdGFdPVwicm93XCJcbiAgICAgICAgICAgIFtyb3dNZW51Rm9ybWF0dGVyXT1cInJvd0NvbnRleHRNZW51Rm9ybWF0dGVyXCJcbiAgICAgICAgICAgIChzZWxlY3RlZCk9XCJjb250ZXh0TWVudUl0ZW1TZWxlY3RlZC5lbWl0KHtpdGVtSWQ6ICRldmVudCwgcm93RGF0YTogcm93fSlcIlxuICAgICAgICAgID48L2VudHJ5LWNlbGwtY29udGV4dC1tZW51PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvdGQ+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zO1wiPlxuICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09XCJjb2wuZmllbGRcIlxuICAgICAgICAgICAgICAgICAgW3N0aWNreV09XCJjb2wucGlubmVkPT09J2xlZnQnXCIgW3N0aWNreUVuZF09XCJjb2wucGlubmVkPT09J3JpZ2h0J1wiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZlxuICAgICAgICAgIFtjbGFzc109XCJnZXRDb2x1bW5DbGFzc0xpc3QoY29sKVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieydtYXQtdGFibGUtc3RpY2t5LWxlZnQnOiBjb2wucGlubmVkID09PSAnbGVmdCcsICdtYXQtdGFibGUtc3RpY2t5LXJpZ2h0JzogY29sLnBpbm5lZCA9PT0gJ3JpZ2h0J31cIlxuICAgICAgICAgIFtuZ1N0eWxlXT1cInsnd2lkdGgnOiBjb2wud2lkdGgsICdtaW4td2lkdGgnOiBjb2wud2lkdGh9XCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImlzVGVtcGxhdGVSZWYoaGVhZGVyVGVtcGxhdGUpXCIgW25nSWZFbHNlXT1cImhlYWRlclRwbFwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRlclRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBjb2wsIGNvbERlZjogY29sIH1cIj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2hlYWRlclRwbD5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJoZWFkZXJUZW1wbGF0ZSAmJiBpc1RlbXBsYXRlUmVmKGhlYWRlclRlbXBsYXRlW2NvbC5maWVsZF0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW25nSWZFbHNlXT1cImRlZmF1bHRIZWFkZXJUcGxcIj5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRlclRlbXBsYXRlW2NvbC5maWVsZF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogY29sLCBjb2xEZWY6IGNvbCB9XCI+XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0SGVhZGVyVHBsPlxuICAgICAgICAgICAgPGRpdiBbbWF0LXNvcnQtaGVhZGVyXT1cImNvbC5zb3J0UHJvcD8uaWQgfHwgY29sLmZpZWxkXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY29sLnNvcnRhYmxlXCJcbiAgICAgICAgICAgICAgICAgIFtkaXNhYmxlQ2xlYXJdPVwiY29sLnNvcnRQcm9wPy5kaXNhYmxlQ2xlYXJcIj5cbiAgICAgICAgICAgICAgPHNwYW4+e3tjb2wuaGVhZGVyfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC90aD5cblxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvdzsgbGV0IGluZGV4ID0gaW5kZXg7IGxldCBkYXRhSW5kZXggPSBkYXRhSW5kZXg7XCJcbiAgICAgICAgICBbY2xhc3NdPVwiZ2V0Q29sdW1uQ2xhc3NMaXN0KGNvbClcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsnbWF0LXRhYmxlLXN0aWNreS1sZWZ0JzogY29sLnBpbm5lZCA9PT0gJ2xlZnQnLCAnbWF0LXRhYmxlLXN0aWNreS1yaWdodCc6IGNvbC5waW5uZWQgPT09ICdyaWdodCd9XCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJ7J3dpZHRoJzogY29sLndpZHRoLCAnbWluLXdpZHRoJzogY29sLndpZHRofVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiaXNUZW1wbGF0ZVJlZihjZWxsVGVtcGxhdGUpXCIgW25nSWZFbHNlXT1cImNlbGxUcGxcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2VsbFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogcm93LCByb3dEYXRhOiByb3csIGluZGV4OiBnZXRJbmRleChpbmRleCwgZGF0YUluZGV4KSwgY29sRGVmOiBjb2wgfVwiPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjY2VsbFRwbD5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiY2VsbFRlbXBsYXRlICYmIGlzVGVtcGxhdGVSZWYoY2VsbFRlbXBsYXRlW2NvbC5maWVsZF0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0lmRWxzZV09XCJjb2xEZWZDZWxsVHBsXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2VsbFRlbXBsYXRlW2NvbC5maWVsZF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHJvdywgcm93RGF0YTogcm93LCBpbmRleDogZ2V0SW5kZXgoaW5kZXgsIGRhdGFJbmRleCksIGNvbERlZjogY29sIH1cIj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNjb2xEZWZDZWxsVHBsPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJjb2wuY2VsbFRlbXBsYXRlXCIgW25nSWZFbHNlXT1cImRlZmF1bHRDZWxsVHBsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbC5jZWxsVGVtcGxhdGUgPz8gbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHJvdywgcm93RGF0YTogcm93LCBpbmRleDogZ2V0SW5kZXgoaW5kZXgsIGRhdGFJbmRleCksIGNvbERlZjogY29sIH1cIj5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRDZWxsVHBsPlxuICAgICAgICAgIDxlbnRyeS1jZWxsIFtyb3dEYXRhXT1cInJvd1wiIFtjb2xEZWZdPVwiY29sXCI+PC9lbnRyeS1jZWxsPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWVcIj48L3RyPlxuICA8dHIgbWF0LXJvd1xuICAgICAgKm1hdFJvd0RlZj1cImxldCByb3c7IGxldCBpbmRleCA9IGluZGV4OyBsZXQgZGF0YUluZGV4ID0gZGF0YUluZGV4OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiXG4gICAgICBbbmdDbGFzc109XCJnZXRSb3dDbGFzc0xpc3Qocm93LCBnZXRJbmRleChpbmRleCwgZGF0YUluZGV4KSlcIlxuICAgICAgW2F0dHIudGFiaW5kZXhdPVwicm93Rm9jdXNWaXNpYmxlID8gMCA6IC0xXCJcbiAgICAgIChjbGljayk9XCJyb3dDbGljay5lbWl0KHJvdylcIlxuICAgICAgKGtleXVwLmVudGVyKT1cInJvd0NsaWNrLmVtaXQocm93KVwiPlxuICA8L3RyPlxuPC90YWJsZT5cblxuPCEtLSBObyByZXN1bHRzIC0tPlxuPGRpdiBjbGFzcz1cIm5vLXJlc3VsdHMgbWF0LWJvZHktMlwiICpuZ0lmPVwiaGFzTm9SZXN1bHRcIj5cbiAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImlzVGVtcGxhdGVSZWYobm9SZXN1bHRUZW1wbGF0ZSlcIiBbbmdJZkVsc2VdPVwiZGVmYXVsdE5vUmVzdWx0VHBsXCI+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm5vUmVzdWx0VGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI2RlZmF1bHROb1Jlc3VsdFRwbD57e25vUmVzdWx0VGV4dH19PC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuXG48IS0tIFBhZ2luYXRpb24gLS0+XG48bmctdGVtcGxhdGUgW25nSWZdPVwiaXNUZW1wbGF0ZVJlZihwYWdpbmF0aW9uVGVtcGxhdGUpXCIgW25nSWZFbHNlXT1cImRlZmF1bHRQYWdpbmF0aW9uVGVtcGxhdGVcIj5cbiAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInBhZ2luYXRpb25UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNkZWZhdWx0UGFnaW5hdGlvblRlbXBsYXRlPlxuICA8bWF0LXBhZ2luYXRvciBjbGFzcz1cInBhZ2luYXRpb25cIiAqbmdJZj1cInNob3dQYWdpbmF0b3JcIlxuICAgICAgICAgICAgICAgICAgW3Nob3dGaXJzdExhc3RCdXR0b25zXT1cInNob3dGaXJzdExhc3RCdXR0b25zXCJcbiAgICAgICAgICAgICAgICAgIFtsZW5ndGhdPVwidG90YWxcIlxuICAgICAgICAgICAgICAgICAgW3BhZ2VJbmRleF09XCJwYWdlSW5kZXhcIlxuICAgICAgICAgICAgICAgICAgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCJcbiAgICAgICAgICAgICAgICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwicGFnZVNpemVPcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgIFtoaWRlUGFnZVNpemVdPVwiaGlkZVBhZ2VTaXplXCJcbiAgICAgICAgICAgICAgICAgIChwYWdlKT1cImhhbmRsZVBhZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicGFnZURpc2FibGVkXCI+XG4gIDwvbWF0LXBhZ2luYXRvcj5cbjwvbmctdGVtcGxhdGU+Il19
@@ -16,39 +16,39 @@ import { EntryCellFormattedValueComponent } from './components/entry-cell-format
16
16
  import { DEFAULT_PERCENTAGE_MULTIPLIER } from './interfaces';
17
17
  import * as i0 from "@angular/core";
18
18
  export class EntryTableModule {
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
20
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EntryTableModule, declarations: [EntryTableComponent,
21
+ EntryCellComponent,
22
+ EntryCellContextMenuComponent,
23
+ EntryCellFormattedValueComponent], imports: [CommonModule,
24
+ FormsModule,
25
+ MatTableModule,
26
+ MatSortModule,
27
+ MatPaginatorModule,
28
+ MatCheckboxModule,
29
+ MatIconModule,
30
+ MatMenuModule,
31
+ MatRadioModule,
32
+ CommonModule,
33
+ MatButtonModule], exports: [EntryTableComponent,
34
+ EntryCellComponent,
35
+ EntryCellContextMenuComponent,
36
+ EntryCellFormattedValueComponent] }); }
37
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryTableModule, providers: [
38
+ { provide: DEFAULT_PERCENTAGE_MULTIPLIER, useValue: 1 }
39
+ ], imports: [CommonModule,
40
+ FormsModule,
41
+ MatTableModule,
42
+ MatSortModule,
43
+ MatPaginatorModule,
44
+ MatCheckboxModule,
45
+ MatIconModule,
46
+ MatMenuModule,
47
+ MatRadioModule,
48
+ CommonModule,
49
+ MatButtonModule] }); }
19
50
  }
20
- EntryTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntryTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
21
- EntryTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: EntryTableModule, declarations: [EntryTableComponent,
22
- EntryCellComponent,
23
- EntryCellContextMenuComponent,
24
- EntryCellFormattedValueComponent], imports: [CommonModule,
25
- FormsModule,
26
- MatTableModule,
27
- MatSortModule,
28
- MatPaginatorModule,
29
- MatCheckboxModule,
30
- MatIconModule,
31
- MatMenuModule,
32
- MatRadioModule,
33
- CommonModule,
34
- MatButtonModule], exports: [EntryTableComponent,
35
- EntryCellComponent,
36
- EntryCellContextMenuComponent,
37
- EntryCellFormattedValueComponent] });
38
- EntryTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntryTableModule, providers: [
39
- { provide: DEFAULT_PERCENTAGE_MULTIPLIER, useValue: 1 }
40
- ], imports: [CommonModule,
41
- FormsModule,
42
- MatTableModule,
43
- MatSortModule,
44
- MatPaginatorModule,
45
- MatCheckboxModule,
46
- MatIconModule,
47
- MatMenuModule,
48
- MatRadioModule,
49
- CommonModule,
50
- MatButtonModule] });
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntryTableModule, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryTableModule, decorators: [{
52
52
  type: NgModule,
53
53
  args: [{
54
54
  imports: [
@@ -81,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
81
81
  ]
82
82
  }]
83
83
  }] });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktdGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3RhYmxlL2VudHJ5LXRhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDdkgsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFDaEksT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQWdDN0QsTUFBTSxPQUFPLGdCQUFnQjs7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQWZ6QixtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLDZCQUE2QjtRQUM3QixnQ0FBZ0MsYUFoQmhDLFlBQVk7UUFDWixXQUFXO1FBQ1gsY0FBYztRQUNkLGFBQWE7UUFDYixrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYixhQUFhO1FBQ2IsY0FBYztRQUNkLFlBQVk7UUFDWixlQUFlLGFBU2YsbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQiw2QkFBNkI7UUFDN0IsZ0NBQWdDOytHQU12QixnQkFBZ0IsYUFKaEI7UUFDVCxFQUFFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO0tBQ3hELFlBMUJDLFlBQVk7UUFDWixXQUFXO1FBQ1gsY0FBYztRQUNkLGFBQWE7UUFDYixrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYixhQUFhO1FBQ2IsY0FBYztRQUNkLFlBQVk7UUFDWixlQUFlOzRGQWtCTixnQkFBZ0I7a0JBOUI1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGVBQWU7cUJBQ2hCO29CQUNELFlBQVksRUFBRTt3QkFDWixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsNkJBQTZCO3dCQUM3QixnQ0FBZ0M7cUJBQ2pDO29CQUNELE9BQU8sRUFBRTt3QkFDUCxtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsNkJBQTZCO3dCQUM3QixnQ0FBZ0M7cUJBQ2pDO29CQUNELFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO3FCQUN4RDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRUYWJsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IE1hdFNvcnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IE1hdFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbmltcG9ydCB7IEVudHJ5VGFibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZW50cnktdGFibGUvZW50cnktdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IEVudHJ5Q2VsbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbnRyeS1jZWxsL2VudHJ5LWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7IEVudHJ5Q2VsbENvbnRleHRNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VudHJ5LWNlbGwtY29udGV4dC1tZW51L2VudHJ5LWNlbGwtY29udGV4dC1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbnRyeUNlbGxGb3JtYXR0ZWRWYWx1ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbnRyeS1jZWxsLWZvcm1hdHRlZC12YWx1ZS9lbnRyeS1jZWxsLWZvcm1hdHRlZC12YWx1ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgREVGQVVMVF9QRVJDRU5UQUdFX01VTFRJUExJRVIgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdFRhYmxlTW9kdWxlLFxuICAgIE1hdFNvcnRNb2R1bGUsXG4gICAgTWF0UGFnaW5hdG9yTW9kdWxlLFxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXRSYWRpb01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEVudHJ5VGFibGVDb21wb25lbnQsXG4gICAgRW50cnlDZWxsQ29tcG9uZW50LFxuICAgIEVudHJ5Q2VsbENvbnRleHRNZW51Q29tcG9uZW50LFxuICAgIEVudHJ5Q2VsbEZvcm1hdHRlZFZhbHVlQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBFbnRyeVRhYmxlQ29tcG9uZW50LFxuICAgIEVudHJ5Q2VsbENvbXBvbmVudCxcbiAgICBFbnRyeUNlbGxDb250ZXh0TWVudUNvbXBvbmVudCxcbiAgICBFbnRyeUNlbGxGb3JtYXR0ZWRWYWx1ZUNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IERFRkFVTFRfUEVSQ0VOVEFHRV9NVUxUSVBMSUVSLCB1c2VWYWx1ZTogMSB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRW50cnlUYWJsZU1vZHVsZSB7IH1cbiJdfQ==
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktdGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3RhYmxlL2VudHJ5LXRhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDckYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sd0VBQXdFLENBQUM7QUFDdkgsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFDaEksT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQWdDN0QsTUFBTSxPQUFPLGdCQUFnQjsrR0FBaEIsZ0JBQWdCO2dIQUFoQixnQkFBZ0IsaUJBZnpCLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsNkJBQTZCO1lBQzdCLGdDQUFnQyxhQWhCaEMsWUFBWTtZQUNaLFdBQVc7WUFDWCxjQUFjO1lBQ2QsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixpQkFBaUI7WUFDakIsYUFBYTtZQUNiLGFBQWE7WUFDYixjQUFjO1lBQ2QsWUFBWTtZQUNaLGVBQWUsYUFTZixtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLDZCQUE2QjtZQUM3QixnQ0FBZ0M7Z0hBTXZCLGdCQUFnQixhQUpoQjtZQUNULEVBQUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUU7U0FDeEQsWUExQkMsWUFBWTtZQUNaLFdBQVc7WUFDWCxjQUFjO1lBQ2QsYUFBYTtZQUNiLGtCQUFrQjtZQUNsQixpQkFBaUI7WUFDakIsYUFBYTtZQUNiLGFBQWE7WUFDYixjQUFjO1lBQ2QsWUFBWTtZQUNaLGVBQWU7OzRGQWtCTixnQkFBZ0I7a0JBOUI1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGVBQWU7cUJBQ2hCO29CQUNELFlBQVksRUFBRTt3QkFDWixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsNkJBQTZCO3dCQUM3QixnQ0FBZ0M7cUJBQ2pDO29CQUNELE9BQU8sRUFBRTt3QkFDUCxtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsNkJBQTZCO3dCQUM3QixnQ0FBZ0M7cUJBQ2pDO29CQUNELFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO3FCQUN4RDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRUYWJsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IE1hdFNvcnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IE1hdFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHtNYXRCdXR0b25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbmltcG9ydCB7IEVudHJ5VGFibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZW50cnktdGFibGUvZW50cnktdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IEVudHJ5Q2VsbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbnRyeS1jZWxsL2VudHJ5LWNlbGwuY29tcG9uZW50JztcbmltcG9ydCB7IEVudHJ5Q2VsbENvbnRleHRNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VudHJ5LWNlbGwtY29udGV4dC1tZW51L2VudHJ5LWNlbGwtY29udGV4dC1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbnRyeUNlbGxGb3JtYXR0ZWRWYWx1ZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbnRyeS1jZWxsLWZvcm1hdHRlZC12YWx1ZS9lbnRyeS1jZWxsLWZvcm1hdHRlZC12YWx1ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgREVGQVVMVF9QRVJDRU5UQUdFX01VTFRJUExJRVIgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdFRhYmxlTW9kdWxlLFxuICAgIE1hdFNvcnRNb2R1bGUsXG4gICAgTWF0UGFnaW5hdG9yTW9kdWxlLFxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXRSYWRpb01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEVudHJ5VGFibGVDb21wb25lbnQsXG4gICAgRW50cnlDZWxsQ29tcG9uZW50LFxuICAgIEVudHJ5Q2VsbENvbnRleHRNZW51Q29tcG9uZW50LFxuICAgIEVudHJ5Q2VsbEZvcm1hdHRlZFZhbHVlQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBFbnRyeVRhYmxlQ29tcG9uZW50LFxuICAgIEVudHJ5Q2VsbENvbXBvbmVudCxcbiAgICBFbnRyeUNlbGxDb250ZXh0TWVudUNvbXBvbmVudCxcbiAgICBFbnRyeUNlbGxGb3JtYXR0ZWRWYWx1ZUNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IERFRkFVTFRfUEVSQ0VOVEFHRV9NVUxUSVBMSUVSLCB1c2VWYWx1ZTogMSB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRW50cnlUYWJsZU1vZHVsZSB7IH1cbiJdfQ==
@@ -9,10 +9,9 @@ export class EntryTableConfig {
9
9
  this.noResultsText = 'No results found';
10
10
  }
11
11
  }
12
- ;
13
12
  export const ENTRY_TABLE_CONFIG = new InjectionToken('ENTRY_TABLE_CONFIG', {
14
13
  providedIn: 'root',
15
14
  factory: () => new EntryTableConfig()
16
15
  });
17
16
  export const DEFAULT_PERCENTAGE_MULTIPLIER = new InjectionToken('');
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktdGFibGUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3RhYmxlL2ludGVyZmFjZXMvZW50cnktdGFibGUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxPQUFPLGdCQUFnQjtJQUE3QjtRQUNTLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUM3QixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2Qsb0JBQWUsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDaEMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsa0JBQWEsR0FBRyxrQkFBa0IsQ0FBQztJQUM1QyxDQUFDO0NBQUE7QUFBQSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQ2xELG9CQUFvQixFQUNwQjtJQUNFLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLGdCQUFnQixFQUFFO0NBQ3RDLENBQUMsQ0FBQztBQUdMLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUEyQixJQUFJLGNBQWMsQ0FBUyxFQUFFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBFbnRyeVRhYmxlQ29uZmlnIHtcbiAgcHVibGljIHNob3dQYWdpbmF0b3IgPSB0cnVlO1xuICBwdWJsaWMgc2hvd0ZpcnN0TGFzdEJ1dHRvbnMgPSBmYWxzZTtcbiAgcHVibGljIHBhZ2VTaXplID0gMjA7XG4gIHB1YmxpYyBwYWdlU2l6ZU9wdGlvbnMgPSBbMjAsIDUwLCAxMDBdO1xuICBwdWJsaWMgaGlkZVBhZ2VTaXplID0gZmFsc2U7XG4gIHB1YmxpYyBub1Jlc3VsdHNUZXh0ID0gJ05vIHJlc3VsdHMgZm91bmQnO1xufTtcblxuZXhwb3J0IGNvbnN0IEVOVFJZX1RBQkxFX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxFbnRyeVRhYmxlQ29uZmlnPihcbiAgJ0VOVFJZX1RBQkxFX0NPTkZJRycsXG4gIHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgZmFjdG9yeTogKCkgPT4gbmV3IEVudHJ5VGFibGVDb25maWcoKVxuICB9KTtcblxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9QRVJDRU5UQUdFX01VTFRJUExJRVI6IEluamVjdGlvblRva2VuPG51bWJlcj4gPSBuZXcgSW5qZWN0aW9uVG9rZW48bnVtYmVyPignJyk7XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktdGFibGUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3RhYmxlL2ludGVyZmFjZXMvZW50cnktdGFibGUtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxPQUFPLGdCQUFnQjtJQUE3QjtRQUNTLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUM3QixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2Qsb0JBQWUsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDaEMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsa0JBQWEsR0FBRyxrQkFBa0IsQ0FBQztJQUM1QyxDQUFDO0NBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FDbEQsb0JBQW9CLEVBQ3BCO0lBQ0UsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksZ0JBQWdCLEVBQUU7Q0FDdEMsQ0FBQyxDQUFDO0FBR0wsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQTJCLElBQUksY0FBYyxDQUFTLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNsYXNzIEVudHJ5VGFibGVDb25maWcge1xuICBwdWJsaWMgc2hvd1BhZ2luYXRvciA9IHRydWU7XG4gIHB1YmxpYyBzaG93Rmlyc3RMYXN0QnV0dG9ucyA9IGZhbHNlO1xuICBwdWJsaWMgcGFnZVNpemUgPSAyMDtcbiAgcHVibGljIHBhZ2VTaXplT3B0aW9ucyA9IFsyMCwgNTAsIDEwMF07XG4gIHB1YmxpYyBoaWRlUGFnZVNpemUgPSBmYWxzZTtcbiAgcHVibGljIG5vUmVzdWx0c1RleHQgPSAnTm8gcmVzdWx0cyBmb3VuZCc7XG59XG5cbmV4cG9ydCBjb25zdCBFTlRSWV9UQUJMRV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48RW50cnlUYWJsZUNvbmZpZz4oXG4gICdFTlRSWV9UQUJMRV9DT05GSUcnLFxuICB7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgIGZhY3Rvcnk6ICgpID0+IG5ldyBFbnRyeVRhYmxlQ29uZmlnKClcbiAgfSk7XG5cblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfUEVSQ0VOVEFHRV9NVUxUSVBMSUVSOiBJbmplY3Rpb25Ub2tlbjxudW1iZXI+ID0gbmV3IEluamVjdGlvblRva2VuPG51bWJlcj4oJycpO1xuIl19
@@ -46,10 +46,10 @@ export class EntryDisplayControlValidationDirective {
46
46
  const serverErrorsString = serverErrors instanceof Array ? serverErrors.join(', ') : '';
47
47
  return [errorsString, serverErrorsString].filter(x => x !== '').join(', ');
48
48
  }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryDisplayControlValidationDirective, deps: [{ token: ENTRY_VALIDATION_CONFIG }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
50
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EntryDisplayControlValidationDirective, selector: "[entryDisplayControlValidation]", inputs: { control: "control" }, ngImport: i0 }); }
49
51
  }
50
- EntryDisplayControlValidationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntryDisplayControlValidationDirective, deps: [{ token: ENTRY_VALIDATION_CONFIG }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
51
- EntryDisplayControlValidationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: EntryDisplayControlValidationDirective, selector: "[entryDisplayControlValidation]", inputs: { control: "control" }, ngImport: i0 });
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EntryDisplayControlValidationDirective, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryDisplayControlValidationDirective, decorators: [{
53
53
  type: Directive,
54
54
  args: [{
55
55
  selector: '[entryDisplayControlValidation]'
@@ -60,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
60
60
  }] }, { type: i0.ElementRef }]; }, propDecorators: { control: [{
61
61
  type: Input
62
62
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktZGlzcGxheS1jb250cm9sLXZhbGlkYXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3ZhbGlkYXRpb24vZW50cnktZGlzcGxheS1jb250cm9sLXZhbGlkYXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLHVCQUF1QixFQUF5QixNQUFNLGlDQUFpQyxDQUFDO0FBR2pHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFFMUQ7Ozs7Ozs7OztHQVNHO0FBSUgsTUFBTSxPQUFPLHNDQUFzQztJQU1qRCxZQUNvRCxPQUE4QixFQUMvRCxRQUFvQjtRQURhLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBQy9ELGFBQVEsR0FBUixRQUFRLENBQVk7SUFBRyxDQUFDO0lBRTNDLFFBQVE7UUFDTixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhO2FBQ25ELFNBQVMsQ0FBQyxDQUFDLGFBQWdDLEVBQUUsRUFBRTtZQUM5QyxJQUFJLGFBQWEsS0FBSyxTQUFTLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQzthQUMxRTtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUM3QixJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDekM7SUFDSCxDQUFDO0lBRU8seUJBQXlCO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUN4QixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0I7YUFDakQsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7WUFDbkUsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRO2dCQUM5QyxDQUFDLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUN2RSxDQUFDLENBQUMsRUFBRSxDQUNMO2FBQ0EsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQzthQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFZCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRXhGLE9BQU8sQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdFLENBQUM7O29JQTFDVSxzQ0FBc0Msa0JBT3ZDLHVCQUF1Qjt3SEFQdEIsc0NBQXNDOzRGQUF0QyxzQ0FBc0M7a0JBSGxELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlDQUFpQztpQkFDNUM7OzBCQVFJLE1BQU07MkJBQUMsdUJBQXVCO3FFQUx4QixPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFTlRSWV9WQUxJREFUSU9OX0NPTkZJRywgRW50cnlWYWxpZGF0aW9uQ29uZmlnIH0gZnJvbSAnLi9lbnRyeS12YWxpZGF0aW9uLWNvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sU3RhdHVzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGT1JNX0ZJRUxEX0VSUk9SX0tFWSB9IGZyb20gJy4vZW50cnktdmFsaWRhdGlvbic7XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgdGhhdCBkaXNwbGF5cyBjb25maWd1cmVkIHZhbGlkYXRpb24gbWVzc2FnZXMgb3Igc2VydmVyIHNpZGUgdmFsaWRhdGlvbnMgZm9yIGdpdmVuIGZvcm0gY29udHJvbC5cbiAqIFRoZSBtZXNzYWdlcyBhcmUgc2VwYXJhdGVkIHdpdGggY29tYSgsKSBhbmQgZGlzcGxheWVkIGFzIF9pbm5lckhUTUxfIHZhbHVlIG9mIGhvc3QgY29tcG9uZW50LlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8ZGl2IGVudHJ5RGlzcGxheUNvbnRyb2xWYWxpZGF0aW9uIFtjb250cm9sXT1cIm15Rm9ybS5jb250cm9scy5maXJzdE5hbWVcIj5cbiAqIDwvZGl2XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VudHJ5RGlzcGxheUNvbnRyb2xWYWxpZGF0aW9uXSdcbn0pXG5leHBvcnQgY2xhc3MgRW50cnlEaXNwbGF5Q29udHJvbFZhbGlkYXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKiBGb3JtIGNvbnRyb2wgZm9yIHdoaWNoIHRoZSB2YWxpZGF0aW9uIG1lc3NhZ2VzIGFyZSBkaXNwbGF5ZWQgZm9yLiAqL1xuICBASW5wdXQoKSBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG5cbiAgcHJpdmF0ZSBfY29udHJvbFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRU5UUllfVkFMSURBVElPTl9DT05GSUcpIHByaXZhdGUgcmVhZG9ubHkgX2NvbmZpZzogRW50cnlWYWxpZGF0aW9uQ29uZmlnLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnQ6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fY29udHJvbFN1YnNjcmlwdGlvbiA9IHRoaXMuY29udHJvbC5zdGF0dXNDaGFuZ2VzXG4gICAgICAuc3Vic2NyaWJlKChjb250cm9sU3RhdHVzOiBGb3JtQ29udHJvbFN0YXR1cykgPT4ge1xuICAgICAgICBpZiAoY29udHJvbFN0YXR1cyA9PT0gJ0lOVkFMSUQnKSB7XG4gICAgICAgICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmlubmVyVGV4dCA9IHRoaXMuZXh0cmFjdFZhbGlkYXRpb25NZXNzYWdlcygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jb250cm9sU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLl9jb250cm9sU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0VmFsaWRhdGlvbk1lc3NhZ2VzKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmNvbnRyb2wuZXJyb3JzKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGNvbnN0IGVycm9yc1N0cmluZyA9IHRoaXMuX2NvbmZpZy52YWxpZGF0aW9uTWVzc2FnZXNcbiAgICAgIC5tYXAodmFsaWRhdGlvbk1lc3NhZ2UgPT4gdGhpcy5jb250cm9sLmVycm9yc1t2YWxpZGF0aW9uTWVzc2FnZS5uYW1lXVxuICAgICAgICA/IHR5cGVvZih2YWxpZGF0aW9uTWVzc2FnZS5tZXNzYWdlKSA9PT0gJ3N0cmluZydcbiAgICAgICAgICA/IHZhbGlkYXRpb25NZXNzYWdlLm1lc3NhZ2UgOiB2YWxpZGF0aW9uTWVzc2FnZS5tZXNzYWdlKHRoaXMuY29udHJvbClcbiAgICAgICAgOiAnJ1xuICAgICAgKVxuICAgICAgLmZpbHRlcihtZXNzYWdlID0+IG1lc3NhZ2UgIT09ICcnKVxuICAgICAgLmpvaW4oJywgJyk7XG5cbiAgICBjb25zdCBzZXJ2ZXJFcnJvcnMgPSB0aGlzLmNvbnRyb2wuZXJyb3JzW0ZPUk1fRklFTERfRVJST1JfS0VZXTtcbiAgICBjb25zdCBzZXJ2ZXJFcnJvcnNTdHJpbmcgPSBzZXJ2ZXJFcnJvcnMgaW5zdGFuY2VvZiBBcnJheSA/IHNlcnZlckVycm9ycy5qb2luKCcsICcpIDogJyc7XG5cbiAgICByZXR1cm4gW2Vycm9yc1N0cmluZywgc2VydmVyRXJyb3JzU3RyaW5nXS5maWx0ZXIoeCA9PiB4ICE9PSAnJykuam9pbignLCAnKTtcbiAgfVxufVxuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnktZGlzcGxheS1jb250cm9sLXZhbGlkYXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9lbnRyeS1jb21wb25lbnRzL3ZhbGlkYXRpb24vZW50cnktZGlzcGxheS1jb250cm9sLXZhbGlkYXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLHVCQUF1QixFQUF5QixNQUFNLGlDQUFpQyxDQUFDO0FBR2pHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFFMUQ7Ozs7Ozs7OztHQVNHO0FBSUgsTUFBTSxPQUFPLHNDQUFzQztJQU1qRCxZQUNvRCxPQUE4QixFQUMvRCxRQUFvQjtRQURhLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBQy9ELGFBQVEsR0FBUixRQUFRLENBQVk7SUFBRyxDQUFDO0lBRTNDLFFBQVE7UUFDTixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhO2FBQ25ELFNBQVMsQ0FBQyxDQUFDLGFBQWdDLEVBQUUsRUFBRTtZQUM5QyxJQUFJLGFBQWEsS0FBSyxTQUFTLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQzthQUMxRTtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUM3QixJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDekM7SUFDSCxDQUFDO0lBRU8seUJBQXlCO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUN4QixPQUFPLEVBQUUsQ0FBQztTQUNYO1FBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0I7YUFDakQsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7WUFDbkUsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRO2dCQUM5QyxDQUFDLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUN2RSxDQUFDLENBQUMsRUFBRSxDQUNMO2FBQ0EsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQzthQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFZCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRXhGLE9BQU8sQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdFLENBQUM7K0dBMUNVLHNDQUFzQyxrQkFPdkMsdUJBQXVCO21HQVB0QixzQ0FBc0M7OzRGQUF0QyxzQ0FBc0M7a0JBSGxELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlDQUFpQztpQkFDNUM7OzBCQVFJLE1BQU07MkJBQUMsdUJBQXVCO3FFQUx4QixPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFTlRSWV9WQUxJREFUSU9OX0NPTkZJRywgRW50cnlWYWxpZGF0aW9uQ29uZmlnIH0gZnJvbSAnLi9lbnRyeS12YWxpZGF0aW9uLWNvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sU3RhdHVzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGT1JNX0ZJRUxEX0VSUk9SX0tFWSB9IGZyb20gJy4vZW50cnktdmFsaWRhdGlvbic7XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgdGhhdCBkaXNwbGF5cyBjb25maWd1cmVkIHZhbGlkYXRpb24gbWVzc2FnZXMgb3Igc2VydmVyIHNpZGUgdmFsaWRhdGlvbnMgZm9yIGdpdmVuIGZvcm0gY29udHJvbC5cbiAqIFRoZSBtZXNzYWdlcyBhcmUgc2VwYXJhdGVkIHdpdGggY29tYSgsKSBhbmQgZGlzcGxheWVkIGFzIF9pbm5lckhUTUxfIHZhbHVlIG9mIGhvc3QgY29tcG9uZW50LlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBodG1sXG4gKiA8ZGl2IGVudHJ5RGlzcGxheUNvbnRyb2xWYWxpZGF0aW9uIFtjb250cm9sXT1cIm15Rm9ybS5jb250cm9scy5maXJzdE5hbWVcIj5cbiAqIDwvZGl2XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2VudHJ5RGlzcGxheUNvbnRyb2xWYWxpZGF0aW9uXSdcbn0pXG5leHBvcnQgY2xhc3MgRW50cnlEaXNwbGF5Q29udHJvbFZhbGlkYXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKiBGb3JtIGNvbnRyb2wgZm9yIHdoaWNoIHRoZSB2YWxpZGF0aW9uIG1lc3NhZ2VzIGFyZSBkaXNwbGF5ZWQgZm9yLiAqL1xuICBASW5wdXQoKSBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG5cbiAgcHJpdmF0ZSBfY29udHJvbFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRU5UUllfVkFMSURBVElPTl9DT05GSUcpIHByaXZhdGUgcmVhZG9ubHkgX2NvbmZpZzogRW50cnlWYWxpZGF0aW9uQ29uZmlnLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnQ6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fY29udHJvbFN1YnNjcmlwdGlvbiA9IHRoaXMuY29udHJvbC5zdGF0dXNDaGFuZ2VzXG4gICAgICAuc3Vic2NyaWJlKChjb250cm9sU3RhdHVzOiBGb3JtQ29udHJvbFN0YXR1cykgPT4ge1xuICAgICAgICBpZiAoY29udHJvbFN0YXR1cyA9PT0gJ0lOVkFMSUQnKSB7XG4gICAgICAgICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmlubmVyVGV4dCA9IHRoaXMuZXh0cmFjdFZhbGlkYXRpb25NZXNzYWdlcygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9jb250cm9sU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLl9jb250cm9sU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0VmFsaWRhdGlvbk1lc3NhZ2VzKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmNvbnRyb2wuZXJyb3JzKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGNvbnN0IGVycm9yc1N0cmluZyA9IHRoaXMuX2NvbmZpZy52YWxpZGF0aW9uTWVzc2FnZXNcbiAgICAgIC5tYXAodmFsaWRhdGlvbk1lc3NhZ2UgPT4gdGhpcy5jb250cm9sLmVycm9yc1t2YWxpZGF0aW9uTWVzc2FnZS5uYW1lXVxuICAgICAgICA/IHR5cGVvZih2YWxpZGF0aW9uTWVzc2FnZS5tZXNzYWdlKSA9PT0gJ3N0cmluZydcbiAgICAgICAgICA/IHZhbGlkYXRpb25NZXNzYWdlLm1lc3NhZ2UgOiB2YWxpZGF0aW9uTWVzc2FnZS5tZXNzYWdlKHRoaXMuY29udHJvbClcbiAgICAgICAgOiAnJ1xuICAgICAgKVxuICAgICAgLmZpbHRlcihtZXNzYWdlID0+IG1lc3NhZ2UgIT09ICcnKVxuICAgICAgLmpvaW4oJywgJyk7XG5cbiAgICBjb25zdCBzZXJ2ZXJFcnJvcnMgPSB0aGlzLmNvbnRyb2wuZXJyb3JzW0ZPUk1fRklFTERfRVJST1JfS0VZXTtcbiAgICBjb25zdCBzZXJ2ZXJFcnJvcnNTdHJpbmcgPSBzZXJ2ZXJFcnJvcnMgaW5zdGFuY2VvZiBBcnJheSA/IHNlcnZlckVycm9ycy5qb2luKCcsICcpIDogJyc7XG5cbiAgICByZXR1cm4gW2Vycm9yc1N0cmluZywgc2VydmVyRXJyb3JzU3RyaW5nXS5maWx0ZXIoeCA9PiB4ICE9PSAnJykuam9pbignLCAnKTtcbiAgfVxufVxuIl19