@angular-generic-table/core 5.0.0-rc.2 → 5.0.0-rc.20

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 (76) hide show
  1. package/esm2020/angular-generic-table-core.mjs +5 -0
  2. package/esm2020/lib/core.component.mjs +560 -0
  3. package/esm2020/lib/core.module.mjs +47 -0
  4. package/esm2020/lib/core.service.mjs +14 -0
  5. package/esm2020/lib/gt-delta/gt-delta.component.mjs +126 -0
  6. package/esm2020/lib/models/gt-pagination.mjs +2 -0
  7. package/esm2020/lib/models/table-column.interface.mjs +2 -0
  8. package/esm2020/lib/models/table-config.interface.mjs +2 -0
  9. package/esm2020/lib/models/table-events.interface.mjs +2 -0
  10. package/esm2020/lib/models/table-info.interface.mjs +2 -0
  11. package/esm2020/lib/models/table-meta.interface.mjs +2 -0
  12. package/esm2020/lib/models/table-row.interface.mjs +2 -0
  13. package/esm2020/lib/models/table-sort.interface.mjs +2 -0
  14. package/esm2020/lib/pagination/pagination.component.mjs +157 -0
  15. package/esm2020/lib/pagination/pagination.module.mjs +17 -0
  16. package/esm2020/lib/pipes/capital-case.pipe.mjs +18 -0
  17. package/esm2020/lib/pipes/dash-case.pipe.mjs +18 -0
  18. package/esm2020/lib/pipes/dynamic.pipe.mjs +26 -0
  19. package/esm2020/lib/pipes/highlight.pipe.mjs +49 -0
  20. package/esm2020/lib/pipes/row-selection.pipe.mjs +17 -0
  21. package/esm2020/lib/pipes/sort-class.pipe.mjs +40 -0
  22. package/esm2020/lib/utilities/utilities.mjs +186 -0
  23. package/esm2020/public-api.mjs +24 -0
  24. package/fesm2015/angular-generic-table-core.mjs +1253 -0
  25. package/fesm2015/angular-generic-table-core.mjs.map +1 -0
  26. package/fesm2020/angular-generic-table-core.mjs +1240 -0
  27. package/fesm2020/angular-generic-table-core.mjs.map +1 -0
  28. package/index.d.ts +5 -0
  29. package/lib/core.component.d.ts +123 -18
  30. package/lib/core.module.d.ts +13 -0
  31. package/lib/core.service.d.ts +3 -0
  32. package/lib/gt-delta/gt-delta.component.d.ts +32 -0
  33. package/lib/models/gt-pagination.d.ts +18 -0
  34. package/lib/models/table-column.interface.d.ts +15 -3
  35. package/lib/models/table-config.interface.d.ts +44 -6
  36. package/lib/models/table-events.interface.d.ts +27 -0
  37. package/lib/models/table-info.interface.d.ts +3 -1
  38. package/lib/models/table-meta.interface.d.ts +8 -0
  39. package/lib/models/table-row.interface.d.ts +1 -1
  40. package/lib/models/table-sort.interface.d.ts +6 -4
  41. package/lib/pagination/pagination.component.d.ts +62 -0
  42. package/lib/pagination/pagination.module.d.ts +8 -0
  43. package/lib/pipes/capital-case.pipe.d.ts +7 -0
  44. package/lib/pipes/dash-case.pipe.d.ts +3 -0
  45. package/lib/pipes/dynamic.pipe.d.ts +9 -0
  46. package/lib/pipes/highlight.pipe.d.ts +3 -0
  47. package/lib/pipes/row-selection.pipe.d.ts +8 -0
  48. package/lib/pipes/sort-class.pipe.d.ts +5 -5
  49. package/lib/utilities/utilities.d.ts +32 -0
  50. package/package.json +22 -10
  51. package/public-api.d.ts +12 -0
  52. package/scss/index.scss +319 -0
  53. package/angular-generic-table-core.d.ts +0 -7
  54. package/angular-generic-table-core.metadata.json +0 -1
  55. package/bundles/angular-generic-table-core.umd.js +0 -594
  56. package/bundles/angular-generic-table-core.umd.js.map +0 -1
  57. package/bundles/angular-generic-table-core.umd.min.js +0 -2
  58. package/bundles/angular-generic-table-core.umd.min.js.map +0 -1
  59. package/esm2015/angular-generic-table-core.js +0 -8
  60. package/esm2015/lib/core.component.js +0 -107
  61. package/esm2015/lib/core.module.js +0 -16
  62. package/esm2015/lib/core.service.js +0 -13
  63. package/esm2015/lib/enums/order.enum.js +0 -6
  64. package/esm2015/lib/models/table-column.interface.js +0 -2
  65. package/esm2015/lib/models/table-config.interface.js +0 -2
  66. package/esm2015/lib/models/table-info.interface.js +0 -2
  67. package/esm2015/lib/models/table-row.interface.js +0 -2
  68. package/esm2015/lib/models/table-sort.interface.js +0 -2
  69. package/esm2015/lib/pipes/dash-case.pipe.js +0 -13
  70. package/esm2015/lib/pipes/highlight.pipe.js +0 -44
  71. package/esm2015/lib/pipes/sort-class.pipe.js +0 -12
  72. package/esm2015/lib/utilities/utilities.js +0 -25
  73. package/esm2015/public-api.js +0 -12
  74. package/fesm2015/angular-generic-table-core.js +0 -234
  75. package/fesm2015/angular-generic-table-core.js.map +0 -1
  76. package/lib/enums/order.enum.d.ts +0 -4
@@ -0,0 +1,47 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CoreComponent } from './core.component';
3
+ import { CommonModule } from '@angular/common';
4
+ import { SortClassPipe } from './pipes/sort-class.pipe';
5
+ import { DashCasePipe } from './pipes/dash-case.pipe';
6
+ import { HighlightPipe } from './pipes/highlight.pipe';
7
+ import { CapitalCasePipe } from './pipes/capital-case.pipe';
8
+ import { DynamicPipe } from './pipes/dynamic.pipe';
9
+ import { GtDeltaComponent } from './gt-delta/gt-delta.component';
10
+ import { RowSelectionPipe } from './pipes/row-selection.pipe';
11
+ import * as i0 from "@angular/core";
12
+ export class GenericTableCoreModule {
13
+ }
14
+ GenericTableCoreModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: GenericTableCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
+ GenericTableCoreModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: GenericTableCoreModule, imports: [CommonModule,
16
+ CoreComponent,
17
+ SortClassPipe,
18
+ DashCasePipe,
19
+ HighlightPipe,
20
+ RowSelectionPipe,
21
+ CapitalCasePipe,
22
+ CapitalCasePipe,
23
+ DynamicPipe,
24
+ GtDeltaComponent], exports: [CoreComponent, GtDeltaComponent] });
25
+ GenericTableCoreModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: GenericTableCoreModule, imports: [CommonModule,
26
+ CoreComponent,
27
+ GtDeltaComponent] });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: GenericTableCoreModule, decorators: [{
29
+ type: NgModule,
30
+ args: [{
31
+ imports: [
32
+ CommonModule,
33
+ CoreComponent,
34
+ SortClassPipe,
35
+ DashCasePipe,
36
+ HighlightPipe,
37
+ RowSelectionPipe,
38
+ CapitalCasePipe,
39
+ CapitalCasePipe,
40
+ DynamicPipe,
41
+ GtDeltaComponent,
42
+ ],
43
+ exports: [CoreComponent, GtDeltaComponent],
44
+ declarations: [],
45
+ }]
46
+ }] });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvY29yZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBa0I5RCxNQUFNLE9BQU8sc0JBQXNCOzttSEFBdEIsc0JBQXNCO29IQUF0QixzQkFBc0IsWUFkL0IsWUFBWTtRQUNaLGFBQWE7UUFDYixhQUFhO1FBQ2IsWUFBWTtRQUNaLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsZUFBZTtRQUNmLGVBQWU7UUFDZixXQUFXO1FBQ1gsZ0JBQWdCLGFBRVIsYUFBYSxFQUFFLGdCQUFnQjtvSEFHOUIsc0JBQXNCLFlBZC9CLFlBQVk7UUFDWixhQUFhO1FBUWIsZ0JBQWdCOzJGQUtQLHNCQUFzQjtrQkFoQmxDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixhQUFhO3dCQUNiLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixXQUFXO3dCQUNYLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLGdCQUFnQixDQUFDO29CQUMxQyxZQUFZLEVBQUUsRUFBRTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29yZUNvbXBvbmVudCB9IGZyb20gJy4vY29yZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNvcnRDbGFzc1BpcGUgfSBmcm9tICcuL3BpcGVzL3NvcnQtY2xhc3MucGlwZSc7XG5pbXBvcnQgeyBEYXNoQ2FzZVBpcGUgfSBmcm9tICcuL3BpcGVzL2Rhc2gtY2FzZS5waXBlJztcbmltcG9ydCB7IEhpZ2hsaWdodFBpcGUgfSBmcm9tICcuL3BpcGVzL2hpZ2hsaWdodC5waXBlJztcbmltcG9ydCB7IENhcGl0YWxDYXNlUGlwZSB9IGZyb20gJy4vcGlwZXMvY2FwaXRhbC1jYXNlLnBpcGUnO1xuaW1wb3J0IHsgRHluYW1pY1BpcGUgfSBmcm9tICcuL3BpcGVzL2R5bmFtaWMucGlwZSc7XG5pbXBvcnQgeyBHdERlbHRhQ29tcG9uZW50IH0gZnJvbSAnLi9ndC1kZWx0YS9ndC1kZWx0YS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUm93U2VsZWN0aW9uUGlwZSB9IGZyb20gJy4vcGlwZXMvcm93LXNlbGVjdGlvbi5waXBlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBDb3JlQ29tcG9uZW50LFxuICAgIFNvcnRDbGFzc1BpcGUsXG4gICAgRGFzaENhc2VQaXBlLFxuICAgIEhpZ2hsaWdodFBpcGUsXG4gICAgUm93U2VsZWN0aW9uUGlwZSxcbiAgICBDYXBpdGFsQ2FzZVBpcGUsXG4gICAgQ2FwaXRhbENhc2VQaXBlLFxuICAgIER5bmFtaWNQaXBlLFxuICAgIEd0RGVsdGFDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFtDb3JlQ29tcG9uZW50LCBHdERlbHRhQ29tcG9uZW50XSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgR2VuZXJpY1RhYmxlQ29yZU1vZHVsZSB7fVxuIl19
@@ -0,0 +1,14 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CoreService {
4
+ constructor() { }
5
+ }
6
+ CoreService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7
+ CoreService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CoreService, providedIn: 'root' });
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CoreService, decorators: [{
9
+ type: Injectable,
10
+ args: [{
11
+ providedIn: 'root',
12
+ }]
13
+ }], ctorParameters: function () { return []; } });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2NvcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sV0FBVztJQUN0QixnQkFBZSxDQUFDOzt3R0FETCxXQUFXOzRHQUFYLFdBQVcsY0FGVixNQUFNOzJGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ29yZVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iXX0=
@@ -0,0 +1,126 @@
1
+ import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
2
+ import { NgIf, NgTemplateOutlet, PercentPipe } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ export class GtDeltaComponent {
5
+ get value() {
6
+ return this._value;
7
+ }
8
+ set value(value) {
9
+ this._value = value;
10
+ }
11
+ get deltaTemplate() {
12
+ return this._deltaTemplate;
13
+ }
14
+ constructor() {
15
+ this.Math = Math;
16
+ this.Number = Number;
17
+ this.data = [];
18
+ this.index = 0;
19
+ this.classes = {
20
+ span: 'gt-delta',
21
+ positive: 'text-success',
22
+ negative: 'text-danger',
23
+ };
24
+ this.key = 'value';
25
+ this.notApplicableValue = null;
26
+ this.initialValue = null;
27
+ }
28
+ set deltaTemplate(deltaTemplate) {
29
+ this._deltaTemplate = deltaTemplate;
30
+ }
31
+ ngOnChanges(changes) {
32
+ if (!changes.data.currentValue) {
33
+ return;
34
+ }
35
+ const data = changes.data?.currentValue;
36
+ const index = changes.index?.currentValue || this.index;
37
+ const baseIndex = changes.baseIndex?.currentValue;
38
+ const key = changes.key?.currentValue || this.key;
39
+ const initialValue = changes.initialValue?.currentValue || this.initialValue;
40
+ const deltaValue = index === 0
41
+ ? initialValue
42
+ : data[index][key] -
43
+ (baseIndex === undefined
44
+ ? data[index - 1][key]
45
+ : data[baseIndex][key]);
46
+ const baseValue = index === 0
47
+ ? 1
48
+ : baseIndex === undefined
49
+ ? data[index - 1][key]
50
+ : data[baseIndex][key];
51
+ const relative = index === 0
52
+ ? initialValue
53
+ : Math.sign(deltaValue) * Math.abs(deltaValue / baseValue);
54
+ this.value = {
55
+ relative: Number.isFinite(relative)
56
+ ? relative
57
+ : index === 0
58
+ ? initialValue
59
+ : changes.notApplicableValue?.currentValue || this.notApplicableValue,
60
+ absolute: deltaValue,
61
+ };
62
+ }
63
+ }
64
+ GtDeltaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: GtDeltaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
65
+ GtDeltaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: GtDeltaComponent, isStandalone: true, selector: "gt-delta", inputs: { deltaTemplate: "deltaTemplate", data: "data", index: "index", baseIndex: "baseIndex", classes: "classes", key: "key", notApplicableValue: "notApplicableValue", initialValue: "initialValue" }, usesOnChanges: true, ngImport: i0, template: `<span
66
+ *ngIf="value as delta"
67
+ [class]="[
68
+ classes.span,
69
+ delta.absolute > 0
70
+ ? classes.positive
71
+ : delta.absolute < 0
72
+ ? classes.negative
73
+ : null
74
+ ]"
75
+ [class.gt-delta-positive]="delta.absolute > 0"
76
+ [class.gt-delta-negative]="delta.absolute < 0"
77
+ ><ng-container
78
+ *ngTemplateOutlet="deltaTemplate || defaultTemplate; context: { delta }"
79
+ ></ng-container>
80
+ </span>
81
+ <ng-template #defaultTemplate let-delta="delta">
82
+ <span *ngIf="delta.relative">{{
83
+ delta.relative | percent: '1.0-2'
84
+ }}</span>
85
+ </ng-template>`, isInline: true, styles: [":host{display:inline-block}\n"], dependencies: [{ kind: "pipe", type: PercentPipe, name: "percent" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: GtDeltaComponent, decorators: [{
87
+ type: Component,
88
+ args: [{ selector: 'gt-delta', template: `<span
89
+ *ngIf="value as delta"
90
+ [class]="[
91
+ classes.span,
92
+ delta.absolute > 0
93
+ ? classes.positive
94
+ : delta.absolute < 0
95
+ ? classes.negative
96
+ : null
97
+ ]"
98
+ [class.gt-delta-positive]="delta.absolute > 0"
99
+ [class.gt-delta-negative]="delta.absolute < 0"
100
+ ><ng-container
101
+ *ngTemplateOutlet="deltaTemplate || defaultTemplate; context: { delta }"
102
+ ></ng-container>
103
+ </span>
104
+ <ng-template #defaultTemplate let-delta="delta">
105
+ <span *ngIf="delta.relative">{{
106
+ delta.relative | percent: '1.0-2'
107
+ }}</span>
108
+ </ng-template>`, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [PercentPipe, NgIf, NgTemplateOutlet], styles: [":host{display:inline-block}\n"] }]
109
+ }], ctorParameters: function () { return []; }, propDecorators: { deltaTemplate: [{
110
+ type: Input
111
+ }], data: [{
112
+ type: Input
113
+ }], index: [{
114
+ type: Input
115
+ }], baseIndex: [{
116
+ type: Input
117
+ }], classes: [{
118
+ type: Input
119
+ }], key: [{
120
+ type: Input
121
+ }], notApplicableValue: [{
122
+ type: Input
123
+ }], initialValue: [{
124
+ type: Input
125
+ }] } });
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3QtZGVsdGEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2d0LWRlbHRhL2d0LWRlbHRhLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEdBSU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUF3Q3RFLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFLO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBQ0Q7UUFJQSxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osV0FBTSxHQUFHLE1BQU0sQ0FBQztRQUNQLFNBQUksR0FBb0IsRUFBRSxDQUFDO1FBQzNCLFVBQUssR0FBVyxDQUFDLENBQUM7UUFFbEIsWUFBTyxHQUFHO1lBQ2pCLElBQUksRUFBRSxVQUFVO1lBQ2hCLFFBQVEsRUFBRSxjQUFjO1lBQ3hCLFFBQVEsRUFBRSxhQUFhO1NBQ3hCLENBQUM7UUFDTyxRQUFHLEdBQVcsT0FBTyxDQUFDO1FBQ3RCLHVCQUFrQixHQUFrQixJQUFJLENBQUM7UUFDekMsaUJBQVksR0FBMkIsSUFBSSxDQUFDO0lBaEJ0QyxDQUFDO0lBQ2hCLElBQWEsYUFBYSxDQUFDLGFBQStCO1FBQ3hELElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO0lBQ3RDLENBQUM7SUFnQkQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUM5QixPQUFPO1NBQ1I7UUFDRCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQztRQUN4QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDO1FBQ2xELE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsWUFBWSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDbEQsTUFBTSxZQUFZLEdBQ2hCLE9BQU8sQ0FBQyxZQUFZLEVBQUUsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUM7UUFFMUQsTUFBTSxVQUFVLEdBQ2QsS0FBSyxLQUFLLENBQUM7WUFDVCxDQUFDLENBQUMsWUFBWTtZQUNkLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO2dCQUNoQixDQUFDLFNBQVMsS0FBSyxTQUFTO29CQUN0QixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7b0JBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNoQyxNQUFNLFNBQVMsR0FDYixLQUFLLEtBQUssQ0FBQztZQUNULENBQUMsQ0FBQyxDQUFDO1lBQ0gsQ0FBQyxDQUFDLFNBQVMsS0FBSyxTQUFTO2dCQUN6QixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7Z0JBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFM0IsTUFBTSxRQUFRLEdBQ1osS0FBSyxLQUFLLENBQUM7WUFDVCxDQUFDLENBQUMsWUFBWTtZQUNkLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQyxDQUFDO1FBRS9ELElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWCxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7Z0JBQ2pDLENBQUMsQ0FBQyxRQUFRO2dCQUNWLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQztvQkFDYixDQUFDLENBQUMsWUFBWTtvQkFDZCxDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsa0JBQWtCO1lBQ3ZFLFFBQVEsRUFBRSxVQUFVO1NBQ3JCLENBQUM7SUFDSixDQUFDOzs2R0FwRVUsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsbVNBaENqQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7bUJBb0JPLGtHQVVQLFdBQVcsZ0RBQUUsSUFBSSw2RkFBRSxnQkFBZ0I7MkZBRWxDLGdCQUFnQjtrQkFsQzVCLFNBQVM7K0JBQ0UsVUFBVSxZQUNWOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OzttQkFvQk8sbUJBUUEsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixDQUFDOzBFQWNqQyxhQUFhO3NCQUF6QixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFibGVSb3cgfSBmcm9tICcuLi9tb2RlbHMvdGFibGUtcm93LmludGVyZmFjZSc7XG5pbXBvcnQgeyBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0LCBQZXJjZW50UGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3REZWx0YSB7XG4gIHJlbGF0aXZlOiBudW1iZXIgfCBzdHJpbmc7XG4gIGFic29sdXRlOiBudW1iZXI7XG59XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdndC1kZWx0YScsXG4gIHRlbXBsYXRlOiBgPHNwYW5cbiAgICAgICpuZ0lmPVwidmFsdWUgYXMgZGVsdGFcIlxuICAgICAgW2NsYXNzXT1cIltcbiAgICAgICAgY2xhc3Nlcy5zcGFuLFxuICAgICAgICBkZWx0YS5hYnNvbHV0ZSA+IDBcbiAgICAgICAgICA/IGNsYXNzZXMucG9zaXRpdmVcbiAgICAgICAgICA6IGRlbHRhLmFic29sdXRlIDwgMFxuICAgICAgICAgID8gY2xhc3Nlcy5uZWdhdGl2ZVxuICAgICAgICAgIDogbnVsbFxuICAgICAgXVwiXG4gICAgICBbY2xhc3MuZ3QtZGVsdGEtcG9zaXRpdmVdPVwiZGVsdGEuYWJzb2x1dGUgPiAwXCJcbiAgICAgIFtjbGFzcy5ndC1kZWx0YS1uZWdhdGl2ZV09XCJkZWx0YS5hYnNvbHV0ZSA8IDBcIlxuICAgICAgPjxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkZWx0YVRlbXBsYXRlIHx8IGRlZmF1bHRUZW1wbGF0ZTsgY29udGV4dDogeyBkZWx0YSB9XCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L3NwYW4+XG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGUgbGV0LWRlbHRhPVwiZGVsdGFcIj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiZGVsdGEucmVsYXRpdmVcIj57e1xuICAgICAgICBkZWx0YS5yZWxhdGl2ZSB8IHBlcmNlbnQ6ICcxLjAtMidcbiAgICAgIH19PC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+YCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtQZXJjZW50UGlwZSwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldF0sXG59KVxuZXhwb3J0IGNsYXNzIEd0RGVsdGFDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgc2V0IHZhbHVlKHZhbHVlKSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgfVxuICBnZXQgZGVsdGFUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVsdGFUZW1wbGF0ZTtcbiAgfVxuICBjb25zdHJ1Y3RvcigpIHt9XG4gIEBJbnB1dCgpIHNldCBkZWx0YVRlbXBsYXRlKGRlbHRhVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHtcbiAgICB0aGlzLl9kZWx0YVRlbXBsYXRlID0gZGVsdGFUZW1wbGF0ZTtcbiAgfVxuICBNYXRoID0gTWF0aDtcbiAgTnVtYmVyID0gTnVtYmVyO1xuICBASW5wdXQoKSBkYXRhOiBBcnJheTxUYWJsZVJvdz4gPSBbXTtcbiAgQElucHV0KCkgaW5kZXg6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIGJhc2VJbmRleD86IG51bWJlcjtcbiAgQElucHV0KCkgY2xhc3NlcyA9IHtcbiAgICBzcGFuOiAnZ3QtZGVsdGEnLFxuICAgIHBvc2l0aXZlOiAndGV4dC1zdWNjZXNzJyxcbiAgICBuZWdhdGl2ZTogJ3RleHQtZGFuZ2VyJyxcbiAgfTtcbiAgQElucHV0KCkga2V5OiBzdHJpbmcgPSAndmFsdWUnO1xuICBASW5wdXQoKSBub3RBcHBsaWNhYmxlVmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBpbml0aWFsVmFsdWU6IHN0cmluZyB8IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF92YWx1ZT86IEd0RGVsdGE7XG4gIHByaXZhdGUgX2RlbHRhVGVtcGxhdGU/OiBhbnk7XG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIWNoYW5nZXMuZGF0YS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZGF0YSA9IGNoYW5nZXMuZGF0YT8uY3VycmVudFZhbHVlO1xuICAgIGNvbnN0IGluZGV4ID0gY2hhbmdlcy5pbmRleD8uY3VycmVudFZhbHVlIHx8IHRoaXMuaW5kZXg7XG4gICAgY29uc3QgYmFzZUluZGV4ID0gY2hhbmdlcy5iYXNlSW5kZXg/LmN1cnJlbnRWYWx1ZTtcbiAgICBjb25zdCBrZXkgPSBjaGFuZ2VzLmtleT8uY3VycmVudFZhbHVlIHx8IHRoaXMua2V5O1xuICAgIGNvbnN0IGluaXRpYWxWYWx1ZSA9XG4gICAgICBjaGFuZ2VzLmluaXRpYWxWYWx1ZT8uY3VycmVudFZhbHVlIHx8IHRoaXMuaW5pdGlhbFZhbHVlO1xuXG4gICAgY29uc3QgZGVsdGFWYWx1ZSA9XG4gICAgICBpbmRleCA9PT0gMFxuICAgICAgICA/IGluaXRpYWxWYWx1ZVxuICAgICAgICA6IGRhdGFbaW5kZXhdW2tleV0gLVxuICAgICAgICAgIChiYXNlSW5kZXggPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgPyBkYXRhW2luZGV4IC0gMV1ba2V5XVxuICAgICAgICAgICAgOiBkYXRhW2Jhc2VJbmRleF1ba2V5XSk7XG4gICAgY29uc3QgYmFzZVZhbHVlID1cbiAgICAgIGluZGV4ID09PSAwXG4gICAgICAgID8gMVxuICAgICAgICA6IGJhc2VJbmRleCA9PT0gdW5kZWZpbmVkXG4gICAgICAgID8gZGF0YVtpbmRleCAtIDFdW2tleV1cbiAgICAgICAgOiBkYXRhW2Jhc2VJbmRleF1ba2V5XTtcblxuICAgIGNvbnN0IHJlbGF0aXZlID1cbiAgICAgIGluZGV4ID09PSAwXG4gICAgICAgID8gaW5pdGlhbFZhbHVlXG4gICAgICAgIDogTWF0aC5zaWduKGRlbHRhVmFsdWUpICogTWF0aC5hYnMoZGVsdGFWYWx1ZSAvIGJhc2VWYWx1ZSk7XG5cbiAgICB0aGlzLnZhbHVlID0ge1xuICAgICAgcmVsYXRpdmU6IE51bWJlci5pc0Zpbml0ZShyZWxhdGl2ZSlcbiAgICAgICAgPyByZWxhdGl2ZVxuICAgICAgICA6IGluZGV4ID09PSAwXG4gICAgICAgID8gaW5pdGlhbFZhbHVlXG4gICAgICAgIDogY2hhbmdlcy5ub3RBcHBsaWNhYmxlVmFsdWU/LmN1cnJlbnRWYWx1ZSB8fCB0aGlzLm5vdEFwcGxpY2FibGVWYWx1ZSxcbiAgICAgIGFic29sdXRlOiBkZWx0YVZhbHVlLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3QtcGFnaW5hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9tb2RlbHMvZ3QtcGFnaW5hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBHdFBhZ2luYXRpb25DbGFzc2VzIHtcbiAgbmF2Pzogc3RyaW5nO1xuICB1bD86IHN0cmluZztcbiAgbGk/OiBzdHJpbmc7XG4gIGJ1dHRvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHdFBhZ2luYXRpb25BcmlhTGFiZWxzIHtcbiAgbmF2OiBzdHJpbmc7XG4gIGJ1dHRvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEd0UGFnaW5hdGlvbkluZm8ge1xuICBwYWdlTmV4dDogbnVtYmVyIHwgbnVsbDtcbiAgcGFnZUN1cnJlbnQ6IG51bWJlciB8IG51bGw7XG4gIHBhZ2VQcmV2aW91czogbnVtYmVyIHwgbnVsbDtcbiAgcGFnZVNpemU6IG51bWJlciB8IG51bGw7XG4gIG51bWJlck9mUmVjb3JkczogbnVtYmVyIHwgbnVsbDtcbiAgcGFnZVRvdGFsPzogbnVtYmVyIHwgbnVsbDtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9tb2RlbHMvdGFibGUtY29sdW1uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhYmxlUm93IH0gZnJvbSAnLi90YWJsZS1yb3cuaW50ZXJmYWNlJztcbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVDb2x1bW48UiA9IFRhYmxlUm93PiB7XG4gIGhlYWRlcj86IHN0cmluZyB8IGZhbHNlO1xuICBtb2JpbGVIZWFkZXI/OiBzdHJpbmcgfCBib29sZWFuO1xuICBoaWRkZW4/OiBib29sZWFuO1xuICBzb3J0YWJsZT86IGJvb2xlYW47XG4gIG9yZGVyPzogbnVtYmVyO1xuICBzZWFyY2g/OiBib29sZWFuIHwgU2VhcmNoRnVuY3Rpb248Uj47XG4gIHRlbXBsYXRlUmVmPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgdHJhbnNmb3JtPzoge1xuICAgIHBpcGU6IGFueTtcbiAgICBhcmdzPzogQXJyYXk8YW55PjtcbiAgfTtcbiAgY2xhc3M/OiBzdHJpbmc7XG4gIG1hcFRvPzoge1xuICAgIHBhdGg6IHN0cmluZztcbiAgICBtaXNzaW5nVmFsdWU/OiBzdHJpbmcgfCBudW1iZXI7XG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIFNlYXJjaEZ1bmN0aW9uPFIgPSBUYWJsZVJvdz4gPSAoXG4gIHJvdzogUixcbiAgY29sdW1uOiBrZXlvZiBSLFxuICB2YWx1ZTogdHlwZW9mIHJvd1trZXlvZiBSXVxuKSA9PiBzdHJpbmc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9tb2RlbHMvdGFibGUtY29uZmlnLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGVDb2x1bW4gfSBmcm9tICcuL3RhYmxlLWNvbHVtbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGFibGVSb3cgfSBmcm9tICcuL3RhYmxlLXJvdy5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ29uZmlnPFIgPSBUYWJsZVJvdz4ge1xuICAvKiogRGlzYWJsZSBzb3J0aW5nIG9mIHRhYmxlIGRhdGEsIHVzZWZ1bCB3aGVuIHNvcnRpbmcgaXMgaGFuZGxlZCBleHRlcm5hbGx5IGUuZy4gc2VydmVyLXNpZGUgcGFnaW5hdGlvbi4gVGFibGUgd2lsbCBzdGlsbCB1c2Ugc29ydE9yZGVyIHRvIHZpc3VhbGx5IHNob3cgaG93IHRoZSBkYXRhIGlzIHNvcnRlZC4gPHA+KipEZWZhdWx0OioqIGBmYWxzZWA8L3A+ICovXG4gIGRpc2FibGVUYWJsZVNvcnQ/OiBib29sZWFuO1xuICAvKiogQWxsb3dzIGZvciBhIG1vcmUgbW9iaWxlIGZyaWVuZGx5IGxheW91dCBieSBkaXNwbGF5aW5nIGNvbHVtbnMgYXMgcm93cyBpbnN0ZWFkLiBUaGlzIGlzIGFjY29tcGxpc2hlZCB3aXRoIGNzcyBieSBhZGRpbmcgYHRhYmxlLW1vYmlsZWAgY2xhc3MgdG8gdGFibGUgZWxlbWVudCBhbmQgYWRkaW5nIGNvbHVtbiBoZWFkZXJzIGFzIGRhdGEgbGFiZWxzIHRvIGVhY2ggcm93LiA8cD4qKkRlZmF1bHQ6KiogYGZhbHNlYDwvcD4qL1xuICBtb2JpbGVMYXlvdXQ/OiBib29sZWFuO1xuICAvKiogTWFrZSByb3cgYW5kL29yIGNvbHVtbiBoZWFkZXJzIHN0aWNreSBieSBhZGRpbmcgYGd0LXN0aWNreS1yb3ctaGVhZGVyYCBhbmQgYGd0LXN0aWNreS1jb2x1bW4taGVhZGVyYCB0byB0YWJsZSB0byBhbHRlciB0YWJsZSBiZWhhdmlvdXIgdXNpbmcgY3NzLiBQbGVhc2Ugbm90ZSB0aGF0IGluIG9yZGVyIGZvciBoZWFkZXJzIHRvIGJlIHN0aWNreSwgdGFibGUgY2FuJ3QgYmUgcGxhY2VkIGluc2lkZSBlbGVtZW50IHdpdGggb3ZlcmZsb3cgc2V0IHRvIGF1dG8uIDxwPioqRGVmYXVsdDoqKiBge3JvdzpmYWxzZSwgY29sdW1uOmZhbHNlfWA8L3A+Ki9cbiAgc3RpY2t5SGVhZGVycz86IHtcbiAgICByb3c/OiBib29sZWFuO1xuICAgIGNvbHVtbj86IGJvb2xlYW47XG4gIH07XG4gIC8qKiBBZGQgb25lIG9yIG1vcmUgQ1NTIGNsYXNzZXMgdG8gdGhlIHRhYmxlIGVsZW1lbnQgZS5nLiBgdGFibGUgdGFibGUtc3RyaXBlZCB0YWJsZS1ib3JkZXJlZGAuIDxwPioqRGVmYXVsdDoqKiBgdGFibGVgPC9wPiovXG4gIGNsYXNzPzogc3RyaW5nO1xuICByb3dzPzoge1xuICAgIFtQcm9wZXJ0eSBpbiBrZXlvZiBSXTogVGFibGVDb2x1bW48Uj47XG4gIH07XG4gIGNvbHVtbnM/OiB7XG4gICAgW1Byb3BlcnR5IGluIGtleW9mIFJdOiBUYWJsZUNvbHVtbjxSPjtcbiAgfTtcbiAgcGFnaW5hdGlvbj86IHtcbiAgICBsZW5ndGg/OiBudW1iZXI7XG4gIH07XG4gIHJvd0NsaWNrPzogYm9vbGVhbjtcbiAgLyoqIFRvZ2dsZSByb3cgYWN0aXZlIHN0YXRlIG9uIG1vdXNlIGVudGVyL2xlYXZlIChob3ZlcikgPHA+KipEZWZhdWx0OioqIGBmYWxzZWA8L3A+Ki9cbiAgYWN0aXZhdGVSb3dPbkhvdmVyPzogYm9vbGVhbjtcbiAgLyoqIFRvZ2dsZSByb3cgYWN0aXZlIHN0YXRlIG9uIGtleWJvYXJkIG5hdmlnYXRpb24gPHA+KipEZWZhdWx0OioqIGBmYWxzZWA8L3A+Ki9cbiAgYWN0aXZhdGVSb3dPbktleWJvYXJkTmF2aWdhdGlvbj86IGJvb2xlYW47XG4gIGRlYWN0aXZhdGVSb3dPbkxvc3RGb2N1cz86IGJvb2xlYW47XG4gIGZvb3Rlcj86IHtcbiAgICBoZWFkZXJzPzoge1xuICAgICAgW2tleTogRm9vdGVyQ2FsY3VsYXRpb24gfCBzdHJpbmddOiBzdHJpbmcgfCBib29sZWFuO1xuICAgIH07XG4gICAgY29sdW1ucz86IHtcbiAgICAgIFtQcm9wZXJ0eSBpbiBrZXlvZiBSXTogUGFydGlhbDxUYWJsZUZvb3RlckNvbHVtbjxSPj47XG4gICAgfTtcbiAgICByb3dPcmRlcj86IEFycmF5PGtleW9mIFIgfCBGb290ZXJDYWxjdWxhdGlvbj47XG4gICAgZW1wdHlDb250ZW50Pzogc3RyaW5nO1xuICB9O1xufVxuXG5pbnRlcmZhY2UgVGFibGVGb290ZXJDb2x1bW48Uj4ge1xuICBba2V5OiBGb290ZXJDYWxjdWxhdGlvbiB8IHN0cmluZ106IGJvb2xlYW4gfCBudW1iZXIgfCBzdHJpbmcgfCBDYWxjRnVuYzxSPjtcbn1cbmludGVyZmFjZSBDYWxjRnVuYzxSPiB7XG4gIChkYXRhOiBBcnJheTxSPiwga2V5OiBrZXlvZiBSKTogbnVtYmVyIHwgc3RyaW5nO1xufVxudHlwZSBGb290ZXJDYWxjdWxhdGlvbiA9ICdzdW0nIHwgJ2F2ZycgfCAnY291bnQnIHwgJ21heCcgfCAnbWluJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZXZlbnRzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9tb2RlbHMvdGFibGUtZXZlbnRzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGVSb3cgfSBmcm9tICcuL3RhYmxlLXJvdy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR3RPcmRlciwgR3RTb3J0T3JkZXIgfSBmcm9tICcuL3RhYmxlLXNvcnQuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBHdFJvd0NsaWNrRXZlbnQ8UiA9IFRhYmxlUm93PiB7XG4gIHJvdzogUjtcbiAgaW5kZXg6IG51bWJlcjtcbiAgZXZlbnQ6IE1vdXNlRXZlbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3RSb3dBY3RpdmVFdmVudDxSID0gVGFibGVSb3c+IHtcbiAgcm93OiBSIHwgbnVsbDtcbiAgaW5kZXg6IG51bWJlciB8IG51bGw7XG4gIGV2ZW50PzogTW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3RSb3dTZWxlY3RFdmVudDxSID0gVGFibGVSb3c+IHtcbiAgcm93OiBSIHwgbnVsbDtcbiAgaW5kZXg6IG51bWJlciB8IG51bGw7XG4gIGV2ZW50PzogS2V5Ym9hcmRFdmVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHdFNvcnRFdmVudDxSID0gVGFibGVSb3c+IHtcbiAga2V5OiBrZXlvZiBSO1xuICBvcmRlcjogR3RPcmRlcjtcbiAgY3VycmVudFNvcnRPcmRlcjogR3RTb3J0T3JkZXI8Uj47XG4gIGV2ZW50PzogTW91c2VFdmVudDtcbiAgYWRkU29ydEtleTogYm9vbGVhbiAvKiogQWRkIGFkZGl0aW9uYWwga2V5IHRvIHNvcnQgb24gbXVsdGlwbGUgcHJvcGVydGllcz8gVHJ1ZSBpZiB0aGUgdXNlciBpcyBob2xkaW5nIHNoaWZ0IHdoaWxlIHNvcnRpbmcgKi87XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3RQYWdlQ2hhbmdlRXZlbnQge1xuICBpbmRleDogbnVtYmVyO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaW5mby5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvbW9kZWxzL3RhYmxlLWluZm8uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFRhYmxlSW5mbyB7XG4gIG51bWJlck9mUmVjb3JkczogbnVtYmVyO1xuICBwYWdlU2l6ZTogbnVtYmVyO1xuICBwYWdlVG90YWw6IG51bWJlcjtcbiAgbGF6eUxvYWRlZD86IGJvb2xlYW47XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtbWV0YS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvbW9kZWxzL3RhYmxlLW1ldGEuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZVJvdyB9IGZyb20gJy4vdGFibGUtcm93LmludGVyZmFjZSc7XG5pbXBvcnQgeyBUYWJsZUNvbmZpZyB9IGZyb20gJy4vdGFibGUtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBUYWJsZUluZm8gfSBmcm9tICcuL3RhYmxlLWluZm8uaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZU1ldGE8UiA9IFRhYmxlUm93PiB7XG4gIGRhdGE6IEFycmF5PEFycmF5PFI+PjtcbiAgY29uZmlnOiBUYWJsZUNvbmZpZzxSPjtcbiAgaW5mbzogVGFibGVJbmZvO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcm93LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9tb2RlbHMvdGFibGUtcm93LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUYWJsZVJvdyB7XG4gIFtrZXk6IHN0cmluZ106IG51bWJlciB8IHN0cmluZyB8IGJvb2xlYW4gfCBhbnk7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc29ydC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvbW9kZWxzL3RhYmxlLXNvcnQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZVJvdyB9IGZyb20gJy4vdGFibGUtcm93LmludGVyZmFjZSc7XG5cbmV4cG9ydCB0eXBlIEd0U29ydE9yZGVyPFIgPSBUYWJsZVJvdz4gPSBBcnJheTxHdFNvcnRDb25maWc8Uj4+O1xuZXhwb3J0IGludGVyZmFjZSBHdFNvcnRDb25maWc8UiA9IHt9PiB7XG4gIGtleToga2V5b2YgUjtcbiAgb3JkZXI6IEd0T3JkZXI7XG59XG5cbmV4cG9ydCB0eXBlIEd0T3JkZXIgPSAnYXNjJyB8ICdkZXNjJztcbiJdfQ==
@@ -0,0 +1,157 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { combineLatest, ReplaySubject } from 'rxjs';
3
+ import { map, pluck, shareReplay, switchMap } from 'rxjs/operators';
4
+ import { CommonModule } from '@angular/common';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ export class PaginationComponent {
8
+ constructor() {
9
+ this._table$ = new ReplaySubject(1);
10
+ this._ariaLabels = {
11
+ nav: 'Table pagination',
12
+ button: 'Go to page ',
13
+ };
14
+ this._classes = {
15
+ ul: 'pagination',
16
+ li: 'page-item',
17
+ button: 'page-link',
18
+ };
19
+ this._paginationLength = 5;
20
+ /** paginationListItems$ - observable for page numbers to show based on number of pages and current position */
21
+ this.paginationListItems$ = this._table$.pipe(switchMap((core) => combineLatest([
22
+ core?.table$.pipe(pluck('info')),
23
+ core?.currentPaginationIndex$,
24
+ ])), map(([info, currentPage]) => this._generateList(info.pageTotal, currentPage)), shareReplay(1));
25
+ }
26
+ get pagingInfo() {
27
+ return (this._pagingInfo || {
28
+ pageNext: null,
29
+ pageCurrent: null,
30
+ pagePrevious: null,
31
+ pageSize: null,
32
+ numberOfRecords: null,
33
+ pageTotal: null,
34
+ });
35
+ }
36
+ /** pagingInfo
37
+ * @description when provided, pagination component will use this information to render pagination instead of data from table. Use this option when pagination is handled by backend (server side).
38
+ * @type info - metadata for pagination component
39
+ */
40
+ set pagingInfo(info) {
41
+ this._pagingInfo = info;
42
+ }
43
+ get paginationLength() {
44
+ return this._paginationLength;
45
+ }
46
+ /** paginationLength
47
+ * @description number of buttons to show in pagination
48
+ * @type length - number of buttons to show. Defaults to: `5`
49
+ */
50
+ set paginationLength(length) {
51
+ this._paginationLength = +length;
52
+ }
53
+ get classes() {
54
+ return this._classes;
55
+ }
56
+ /** classes
57
+ * @description classes that should be used within pagination component for different elements
58
+ * @type classes - classes to be used. Defaults to: `{
59
+ * ul: 'pagination',
60
+ * li: 'page-item',
61
+ * button: 'page-link',
62
+ * }`
63
+ */
64
+ set classes(classes) {
65
+ this._classes = classes;
66
+ }
67
+ get ariaLabels() {
68
+ return this._ariaLabels;
69
+ }
70
+ /** ariaLabels
71
+ * @description aria labels that describe pagination component
72
+ * @type labels - aria labels for pagination. Defaults to: `{
73
+ * nav: 'Table pagination',
74
+ * button: 'Go to page ',
75
+ * }`
76
+ */
77
+ set ariaLabels(labels) {
78
+ this._ariaLabels = labels;
79
+ }
80
+ get table() {
81
+ return this._table;
82
+ }
83
+ /** table
84
+ * @description table component to which pagination is attached
85
+ * @type tableRef - table component
86
+ */
87
+ set table(tableRef) {
88
+ this._table = tableRef;
89
+ this._table$.next(tableRef);
90
+ }
91
+ /** generate list - generate an array with page numbers to show based on number of pages and current position
92
+ * @param numberOfPages number of pages to show
93
+ * @param currentPosition current position (page index) being shown in table
94
+ * @returns Array<number> array of page numbers to show
95
+ */
96
+ _generateList(numberOfPages, currentPosition) {
97
+ const middle = Math.floor(this.paginationLength / 2);
98
+ const length = numberOfPages < this.paginationLength
99
+ ? numberOfPages
100
+ : this.paginationLength;
101
+ return Array.from({ length }, (_, i) => {
102
+ if (i === 0) {
103
+ return 1;
104
+ }
105
+ else if (numberOfPages < this.paginationLength) {
106
+ return i + 1;
107
+ }
108
+ else if (i + 1 === length) {
109
+ return numberOfPages;
110
+ }
111
+ else if (currentPosition > middle &&
112
+ currentPosition < numberOfPages - middle) {
113
+ return i + currentPosition - (middle - 1);
114
+ }
115
+ else if (currentPosition > middle &&
116
+ currentPosition < numberOfPages - (middle - 1)) {
117
+ return i + currentPosition - middle;
118
+ }
119
+ else if (currentPosition > middle &&
120
+ currentPosition === numberOfPages - (middle - 1)) {
121
+ return i + currentPosition - (middle + 1);
122
+ }
123
+ else if (currentPosition > middle &&
124
+ currentPosition === numberOfPages - 1) {
125
+ return i + currentPosition - (middle + 2);
126
+ }
127
+ else {
128
+ return i + 1;
129
+ }
130
+ });
131
+ }
132
+ /** go to page
133
+ * @param index - page index to go to
134
+ */
135
+ goToPage(index) {
136
+ if (this.table) {
137
+ this.table.paginationIndex = index - 1;
138
+ }
139
+ }
140
+ }
141
+ PaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
142
+ PaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: PaginationComponent, isStandalone: true, selector: "angular-generic-table-pagination", inputs: { pagingInfo: "pagingInfo", paginationLength: "paginationLength", classes: "classes", ariaLabels: "ariaLabels", table: "table" }, ngImport: i0, template: "<ng-container\n *ngIf=\"{\n links: paginationListItems$ | async,\n currentPosition: table?.currentPaginationIndex$ | async\n } as pagination\"\n>\n <nav\n *ngIf=\"pagination.links && pagination.links.length > 1\"\n role=\"navigation\"\n [attr.aria-label]=\"ariaLabels.nav\"\n class=\"gt-pagination\"\n [class]=\"classes.nav\"\n >\n <ul [class]=\"classes.ul\">\n <ng-container\n *ngFor=\"\n let position of pagination!.links;\n let i = index;\n let last = last\n \"\n >\n <li\n [class]=\"classes.li\"\n [class.active]=\"position === (pagination!.currentPosition || 0) + 1\"\n >\n <button\n [class]=\"classes.button\"\n [attr.aria-label]=\"ariaLabels.button + position\"\n (click)=\"goToPage(position)\"\n >\n {{ position }}\n </button>\n </li>\n <li\n [class]=\"classes.li\"\n class=\"gt-ellipsis\"\n *ngIf=\"position + 1 !== pagination!.links![i + 1] && !last\"\n >\n <button [class]=\"classes.button\" disabled tabindex=\"-1\"></button>\n </li>\n </ng-container>\n </ul>\n </nav>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: PaginationComponent, decorators: [{
144
+ type: Component,
145
+ args: [{ selector: 'angular-generic-table-pagination', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], template: "<ng-container\n *ngIf=\"{\n links: paginationListItems$ | async,\n currentPosition: table?.currentPaginationIndex$ | async\n } as pagination\"\n>\n <nav\n *ngIf=\"pagination.links && pagination.links.length > 1\"\n role=\"navigation\"\n [attr.aria-label]=\"ariaLabels.nav\"\n class=\"gt-pagination\"\n [class]=\"classes.nav\"\n >\n <ul [class]=\"classes.ul\">\n <ng-container\n *ngFor=\"\n let position of pagination!.links;\n let i = index;\n let last = last\n \"\n >\n <li\n [class]=\"classes.li\"\n [class.active]=\"position === (pagination!.currentPosition || 0) + 1\"\n >\n <button\n [class]=\"classes.button\"\n [attr.aria-label]=\"ariaLabels.button + position\"\n (click)=\"goToPage(position)\"\n >\n {{ position }}\n </button>\n </li>\n <li\n [class]=\"classes.li\"\n class=\"gt-ellipsis\"\n *ngIf=\"position + 1 !== pagination!.links![i + 1] && !last\"\n >\n <button [class]=\"classes.button\" disabled tabindex=\"-1\"></button>\n </li>\n </ng-container>\n </ul>\n </nav>\n</ng-container>\n" }]
146
+ }], propDecorators: { pagingInfo: [{
147
+ type: Input
148
+ }], paginationLength: [{
149
+ type: Input
150
+ }], classes: [{
151
+ type: Input
152
+ }], ariaLabels: [{
153
+ type: Input
154
+ }], table: [{
155
+ type: Input
156
+ }] } });
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBT3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBUy9DLE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFpRlUsWUFBTyxHQUFpQyxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU3RCxnQkFBVyxHQUEyQjtZQUM1QyxHQUFHLEVBQUUsa0JBQWtCO1lBQ3ZCLE1BQU0sRUFBRSxhQUFhO1NBQ3RCLENBQUM7UUFDTSxhQUFRLEdBQXdCO1lBQ3RDLEVBQUUsRUFBRSxZQUFZO1lBQ2hCLEVBQUUsRUFBRSxXQUFXO1lBQ2YsTUFBTSxFQUFFLFdBQVc7U0FDcEIsQ0FBQztRQUNNLHNCQUFpQixHQUFXLENBQUMsQ0FBQztRQUV0QyxnSEFBZ0g7UUFDaEgseUJBQW9CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3RDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ2pCLGFBQWEsQ0FBQztZQUNaLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFN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ZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHBsdWNrLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29yZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvcmUuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEd0UGFnaW5hdGlvbkFyaWFMYWJlbHMsXG4gIEd0UGFnaW5hdGlvbkNsYXNzZXMsXG4gIEd0UGFnaW5hdGlvbkluZm8sXG59IGZyb20gJy4uL21vZGVscy9ndC1wYWdpbmF0aW9uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZ3VsYXItZ2VuZXJpYy10YWJsZS1wYWdpbmF0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Db21wb25lbnQge1xuICBnZXQgcGFnaW5nSW5mbygpOiBHdFBhZ2luYXRpb25JbmZvIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5fcGFnaW5nSW5mbyB8fCB7XG4gICAgICAgIHBhZ2VOZXh0OiBudWxsLFxuICAgICAgICBwYWdlQ3VycmVudDogbnVsbCxcbiAgICAgICAgcGFnZVByZXZpb3VzOiBudWxsLFxuICAgICAgICBwYWdlU2l6ZTogbnVsbCxcbiAgICAgICAgbnVtYmVyT2ZSZWNvcmRzOiBudWxsLFxuICAgICAgICBwYWdlVG90YWw6IG51bGwsXG4gICAgICB9XG4gICAgKTtcbiAgfVxuICAvKiogcGFnaW5nSW5mb1xuICAgKiBAZGVzY3JpcHRpb24gd2hlbiBwcm92aWRlZCwgcGFnaW5hdGlvbiBjb21wb25lbnQgd2lsbCB1c2UgdGhpcyBpbmZvcm1hdGlvbiB0byByZW5kZXIgcGFnaW5hdGlvbiBpbnN0ZWFkIG9mIGRhdGEgZnJvbSB0YWJsZS4gVXNlIHRoaXMgb3B0aW9uIHdoZW4gcGFnaW5hdGlvbiBpcyBoYW5kbGVkIGJ5IGJhY2tlbmQgKHNlcnZlciBzaWRlKS5cbiAgICogQHR5cGUgaW5mbyAtIG1ldGFkYXRhIGZvciBwYWdpbmF0aW9uIGNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgc2V0IHBhZ2luZ0luZm8oaW5mbzogR3RQYWdpbmF0aW9uSW5mbykge1xuICAgIHRoaXMuX3BhZ2luZ0luZm8gPSBpbmZvO1xuICB9XG4gIGdldCBwYWdpbmF0aW9uTGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2luYXRpb25MZW5ndGg7XG4gIH1cblxuICAvKiogcGFnaW5hdGlvbkxlbmd0aFxuICAgKiBAZGVzY3JpcHRpb24gbnVtYmVyIG9mIGJ1dHRvbnMgdG8gc2hvdyBpbiBwYWdpbmF0aW9uXG4gICAqIEB0eXBlIGxlbmd0aCAtIG51bWJlciBvZiBidXR0b25zIHRvIHNob3cuIERlZmF1bHRzIHRvOiBgNWBcbiAgICovXG4gIEBJbnB1dCgpIHNldCBwYWdpbmF0aW9uTGVuZ3RoKGxlbmd0aDogbnVtYmVyKSB7XG4gICAgdGhpcy5fcGFnaW5hdGlvbkxlbmd0aCA9ICtsZW5ndGg7XG4gIH1cbiAgZ2V0IGNsYXNzZXMoKTogR3RQYWdpbmF0aW9uQ2xhc3NlcyB7XG4gICAgcmV0dXJuIHRoaXMuX2NsYXNzZXM7XG4gIH1cblxuICAvKiogY2xhc3Nlc1xuICAgKiBAZGVzY3JpcHRpb24gY2xhc3NlcyB0aGF0IHNob3VsZCBiZSB1c2VkIHdpdGhpbiBwYWdpbmF0aW9uIGNvbXBvbmVudCBmb3IgZGlmZmVyZW50IGVsZW1lbnRzXG4gICAqIEB0eXBlIGNsYXNzZXMgLSBjbGFzc2VzIHRvIGJlIHVzZWQuIERlZmF1bHRzIHRvOiBge1xuICAgKiAgICAgdWw6ICdwYWdpbmF0aW9uJyxcbiAgICogICAgIGxpOiAncGFnZS1pdGVtJyxcbiAgICogICAgIGJ1dHRvbjogJ3BhZ2UtbGluaycsXG4gICAqICAgfWBcbiAgICovXG4gIEBJbnB1dCgpIHNldCBjbGFzc2VzKGNsYXNzZXM6IEd0UGFnaW5hdGlvbkNsYXNzZXMpIHtcbiAgICB0aGlzLl9jbGFzc2VzID0gY2xhc3NlcztcbiAgfVxuICBnZXQgYXJpYUxhYmVscygpOiBHdFBhZ2luYXRpb25BcmlhTGFiZWxzIHtcbiAgICByZXR1cm4gdGhpcy5fYXJpYUxhYmVscztcbiAgfVxuXG4gIC8qKiBhcmlhTGFiZWxzXG4gICAqIEBkZXNjcmlwdGlvbiBhcmlhIGxhYmVscyB0aGF0IGRlc2NyaWJlIHBhZ2luYXRpb24gY29tcG9uZW50XG4gICAqIEB0eXBlIGxhYmVscyAtIGFyaWEgbGFiZWxzIGZvciBwYWdpbmF0aW9uLiBEZWZhdWx0cyB0bzogYHtcbiAgICogICAgIG5hdjogJ1RhYmxlIHBhZ2luYXRpb24nLFxuICAgKiAgICAgYnV0dG9uOiAnR28gdG8gcGFnZSAnLFxuICAgKiAgIH1gXG4gICAqL1xuICBASW5wdXQoKSBzZXQgYXJpYUxhYmVscyhsYWJlbHM6IEd0UGFnaW5hdGlvbkFyaWFMYWJlbHMpIHtcbiAgICB0aGlzLl9hcmlhTGFiZWxzID0gbGFiZWxzO1xuICB9XG4gIGdldCB0YWJsZSgpOiBDb3JlQ29tcG9uZW50IHtcbiAgICByZXR1cm4gPENvcmVDb21wb25lbnQ+dGhpcy5fdGFibGU7XG4gIH1cblxuICAvKiogdGFibGVcbiAgICogQGRlc2NyaXB0aW9uIHRhYmxlIGNvbXBvbmVudCB0byB3aGljaCBwYWdpbmF0aW9uIGlzIGF0dGFjaGVkXG4gICAqIEB0eXBlIHRhYmxlUmVmIC0gdGFibGUgY29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzZXQgdGFibGUodGFibGVSZWY6IENvcmVDb21wb25lbnQpIHtcbiAgICB0aGlzLl90YWJsZSA9IHRhYmxlUmVmO1xuICAgIHRoaXMuX3RhYmxlJC5uZXh0KHRhYmxlUmVmKTtcbiAgfVxuXG4gIHByaXZhdGUgX3BhZ2luZ0luZm86IEd0UGFnaW5hdGlvbkluZm8gfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgX3RhYmxlJDogUmVwbGF5U3ViamVjdDxDb3JlQ29tcG9uZW50PiA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xuICBwcml2YXRlIF90YWJsZTogQ29yZUNvbXBvbmVudCB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBfYXJpYUxhYmVsczogR3RQYWdpbmF0aW9uQXJpYUxhYmVscyA9IHtcbiAgICBuYXY6ICdUYWJsZSBwYWdpbmF0aW9uJyxcbiAgICBidXR0b246ICdHbyB0byBwYWdlICcsXG4gIH07XG4gIHByaXZhdGUgX2NsYXNzZXM6IEd0UGFnaW5hdGlvbkNsYXNzZXMgPSB7XG4gICAgdWw6ICdwYWdpbmF0aW9uJyxcbiAgICBsaTogJ3BhZ2UtaXRlbScsXG4gICAgYnV0dG9uOiAncGFnZS1saW5rJyxcbiAgfTtcbiAgcHJpdmF0ZSBfcGFnaW5hdGlvbkxlbmd0aDogbnVtYmVyID0gNTtcblxuICAvKiogcGFnaW5hdGlvbkxpc3RJdGVtcyQgLSBvYnNlcnZhYmxlIGZvciBwYWdlIG51bWJlcnMgdG8gc2hvdyBiYXNlZCBvbiBudW1iZXIgb2YgcGFnZXMgYW5kIGN1cnJlbnQgcG9zaXRpb24gICovXG4gIHBhZ2luYXRpb25MaXN0SXRlbXMkID0gdGhpcy5fdGFibGUkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChjb3JlKSA9PlxuICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgIGNvcmU/LnRhYmxlJC5waXBlKHBsdWNrKCdpbmZvJykpLFxuICAgICAgICBjb3JlPy5jdXJyZW50UGFnaW5hdGlvbkluZGV4JCxcbiAgICAgIF0pXG4gICAgKSxcbiAgICBtYXAoKFtpbmZvLCBjdXJyZW50UGFnZV0pID0+XG4gICAgICB0aGlzLl9nZW5lcmF0ZUxpc3QoaW5mby5wYWdlVG90YWwsIGN1cnJlbnRQYWdlKVxuICAgICksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKiogZ2VuZXJhdGUgbGlzdCAtIGdlbmVyYXRlIGFuIGFycmF5IHdpdGggcGFnZSBudW1iZXJzIHRvIHNob3cgYmFzZWQgb24gbnVtYmVyIG9mIHBhZ2VzIGFuZCBjdXJyZW50IHBvc2l0aW9uXG4gICAqIEBwYXJhbSBudW1iZXJPZlBhZ2VzIG51bWJlciBvZiBwYWdlcyB0byBzaG93XG4gICAqIEBwYXJhbSBjdXJyZW50UG9zaXRpb24gY3VycmVudCBwb3NpdGlvbiAocGFnZSBpbmRleCkgYmVpbmcgc2hvd24gaW4gdGFibGVcbiAgICogQHJldHVybnMgQXJyYXk8bnVtYmVyPiBhcnJheSBvZiBwYWdlIG51bWJlcnMgdG8gc2hvd1xuICAgKi9cbiAgcHJpdmF0ZSBfZ2VuZXJhdGVMaXN0KFxuICAgIG51bWJlck9mUGFnZXM6IG51bWJlcixcbiAgICBjdXJyZW50UG9zaXRpb246IG51bWJlclxuICApOiBBcnJheTxudW1iZXI+IHtcbiAgICBjb25zdCBtaWRkbGUgPSBNYXRoLmZsb29yKHRoaXMucGFnaW5hdGlvbkxlbmd0aCAvIDIpO1xuICAgIGNvbnN0IGxlbmd0aCA9XG4gICAgICBudW1iZXJPZlBhZ2VzIDwgdGhpcy5wYWdpbmF0aW9uTGVuZ3RoXG4gICAgICAgID8gbnVtYmVyT2ZQYWdlc1xuICAgICAgICA6IHRoaXMucGFnaW5hdGlvbkxlbmd0aDtcblxuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoIH0sIChfLCBpKSA9PiB7XG4gICAgICBpZiAoaSA9PT0gMCkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH0gZWxzZSBpZiAobnVtYmVyT2ZQYWdlcyA8IHRoaXMucGFnaW5hdGlvbkxlbmd0aCkge1xuICAgICAgICByZXR1cm4gaSArIDE7XG4gICAgICB9IGVsc2UgaWYgKGkgKyAxID09PSBsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIG51bWJlck9mUGFnZXM7XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBjdXJyZW50UG9zaXRpb24gPiBtaWRkbGUgJiZcbiAgICAgICAgY3VycmVudFBvc2l0aW9uIDwgbnVtYmVyT2ZQYWdlcyAtIG1pZGRsZVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBpICsgY3VycmVudFBvc2l0aW9uIC0gKG1pZGRsZSAtIDEpO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgY3VycmVudFBvc2l0aW9uID4gbWlkZGxlICYmXG4gICAgICAgIGN1cnJlbnRQb3NpdGlvbiA8IG51bWJlck9mUGFnZXMgLSAobWlkZGxlIC0gMSlcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gaSArIGN1cnJlbnRQb3NpdGlvbiAtIG1pZGRsZTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIGN1cnJlbnRQb3NpdGlvbiA+IG1pZGRsZSAmJlxuICAgICAgICBjdXJyZW50UG9zaXRpb24gPT09IG51bWJlck9mUGFnZXMgLSAobWlkZGxlIC0gMSlcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gaSArIGN1cnJlbnRQb3NpdGlvbiAtIChtaWRkbGUgKyAxKTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIGN1cnJlbnRQb3NpdGlvbiA+IG1pZGRsZSAmJlxuICAgICAgICBjdXJyZW50UG9zaXRpb24gPT09IG51bWJlck9mUGFnZXMgLSAxXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGkgKyBjdXJyZW50UG9zaXRpb24gLSAobWlkZGxlICsgMik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gaSArIDE7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKiogZ28gdG8gcGFnZVxuICAgKiBAcGFyYW0gaW5kZXggLSBwYWdlIGluZGV4IHRvIGdvIHRvXG4gICAqL1xuICBnb1RvUGFnZShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudGFibGUpIHtcbiAgICAgIHRoaXMudGFibGUucGFnaW5hdGlvbkluZGV4ID0gaW5kZXggLSAxO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIntcbiAgICBsaW5rczogcGFnaW5hdGlvbkxpc3RJdGVtcyQgfCBhc3luYyxcbiAgICBjdXJyZW50UG9zaXRpb246IHRhYmxlPy5jdXJyZW50UGFnaW5hdGlvbkluZGV4JCB8IGFzeW5jXG4gIH0gYXMgcGFnaW5hdGlvblwiXG4+XG4gIDxuYXZcbiAgICAqbmdJZj1cInBhZ2luYXRpb24ubGlua3MgJiYgcGFnaW5hdGlvbi5saW5rcy5sZW5ndGggPiAxXCJcbiAgICByb2xlPVwibmF2aWdhdGlvblwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxzLm5hdlwiXG4gICAgY2xhc3M9XCJndC1wYWdpbmF0aW9uXCJcbiAgICBbY2xhc3NdPVwiY2xhc3Nlcy5uYXZcIlxuICA+XG4gICAgPHVsIFtjbGFzc109XCJjbGFzc2VzLnVsXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgIGxldCBwb3NpdGlvbiBvZiBwYWdpbmF0aW9uIS5saW5rcztcbiAgICAgICAgICBsZXQgaSA9IGluZGV4O1xuICAgICAgICAgIGxldCBsYXN0ID0gbGFzdFxuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8bGlcbiAgICAgICAgICBbY2xhc3NdPVwiY2xhc3Nlcy5saVwiXG4gICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJwb3NpdGlvbiA9PT0gKHBhZ2luYXRpb24hLmN1cnJlbnRQb3NpdGlvbiB8fCAwKSArIDFcIlxuICAgICAgICA+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgW2NsYXNzXT1cImNsYXNzZXMuYnV0dG9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVscy5idXR0b24gKyBwb3NpdGlvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZ29Ub1BhZ2UocG9zaXRpb24pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyBwb3NpdGlvbiB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2xpPlxuICAgICAgICA8bGlcbiAgICAgICAgICBbY2xhc3NdPVwiY2xhc3Nlcy5saVwiXG4gICAgICAgICAgY2xhc3M9XCJndC1lbGxpcHNpc1wiXG4gICAgICAgICAgKm5nSWY9XCJwb3NpdGlvbiArIDEgIT09IHBhZ2luYXRpb24hLmxpbmtzIVtpICsgMV0gJiYgIWxhc3RcIlxuICAgICAgICA+XG4gICAgICAgICAgPGJ1dHRvbiBbY2xhc3NdPVwiY2xhc3Nlcy5idXR0b25cIiBkaXNhYmxlZCB0YWJpbmRleD1cIi0xXCI+PC9idXR0b24+XG4gICAgICAgIDwvbGk+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3VsPlxuICA8L25hdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -0,0 +1,17 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { PaginationComponent } from './pagination.component';
4
+ import * as i0 from "@angular/core";
5
+ export class GenericTablePaginationModule {
6
+ }
7
+ GenericTablePaginationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: GenericTablePaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ GenericTablePaginationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: GenericTablePaginationModule, imports: [CommonModule, PaginationComponent], exports: [PaginationComponent] });
9
+ GenericTablePaginationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: GenericTablePaginationModule, imports: [CommonModule, PaginationComponent] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: GenericTablePaginationModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ imports: [CommonModule, PaginationComponent],
14
+ exports: [PaginationComponent],
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFNN0QsTUFBTSxPQUFPLDRCQUE0Qjs7eUhBQTVCLDRCQUE0QjswSEFBNUIsNEJBQTRCLFlBSDdCLFlBQVksRUFBRSxtQkFBbUIsYUFDakMsbUJBQW1COzBIQUVsQiw0QkFBNEIsWUFIN0IsWUFBWSxFQUFFLG1CQUFtQjsyRkFHaEMsNEJBQTRCO2tCQUp4QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQztvQkFDNUMsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFBhZ2luYXRpb25Db21wb25lbnRdLFxuICBleHBvcnRzOiBbUGFnaW5hdGlvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEdlbmVyaWNUYWJsZVBhZ2luYXRpb25Nb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { capitalize } from '../utilities/utilities';
3
+ import * as i0 from "@angular/core";
4
+ export class CapitalCasePipe {
5
+ transform(s) {
6
+ return capitalize(s);
7
+ }
8
+ }
9
+ CapitalCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CapitalCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
10
+ CapitalCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: CapitalCasePipe, isStandalone: true, name: "capitalCase" });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CapitalCasePipe, decorators: [{
12
+ type: Pipe,
13
+ args: [{
14
+ name: 'capitalCase',
15
+ standalone: true,
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwaXRhbC1jYXNlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvcGlwZXMvY2FwaXRhbC1jYXNlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQU1wRCxNQUFNLE9BQU8sZUFBZTtJQUMxQixTQUFTLENBQUMsQ0FBUztRQUNqQixPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2QixDQUFDOzs0R0FIVSxlQUFlOzBHQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFKM0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsYUFBYTtvQkFDbkIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2FwaXRhbGl6ZSB9IGZyb20gJy4uL3V0aWxpdGllcy91dGlsaXRpZXMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdjYXBpdGFsQ2FzZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIENhcGl0YWxDYXNlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oczogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gY2FwaXRhbGl6ZShzKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,18 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { dashed } from '../utilities/utilities';
3
+ import * as i0 from "@angular/core";
4
+ export class DashCasePipe {
5
+ transform(s) {
6
+ return dashed(s);
7
+ }
8
+ }
9
+ DashCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DashCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
10
+ DashCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: DashCasePipe, isStandalone: true, name: "dashCase" });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DashCasePipe, decorators: [{
12
+ type: Pipe,
13
+ args: [{
14
+ name: 'dashCase',
15
+ standalone: true,
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaC1jYXNlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvcGlwZXMvZGFzaC1jYXNlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQU1oRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixTQUFTLENBQUMsQ0FBUztRQUNqQixPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuQixDQUFDOzt5R0FIVSxZQUFZO3VHQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFKeEIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGFzaGVkIH0gZnJvbSAnLi4vdXRpbGl0aWVzL3V0aWxpdGllcyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2Rhc2hDYXNlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRGFzaENhc2VQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybShzOiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiBkYXNoZWQocyk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { Injector, Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DynamicPipe {
4
+ constructor(injector) {
5
+ this.injector = injector;
6
+ }
7
+ transform(value, requiredPipe, pipeArgs) {
8
+ const injector = Injector.create({
9
+ name: 'DynamicPipe',
10
+ parent: this.injector,
11
+ providers: [{ provide: requiredPipe }],
12
+ });
13
+ const pipe = injector.get(requiredPipe);
14
+ return pipe.transform(value, ...(pipeArgs || []));
15
+ }
16
+ }
17
+ DynamicPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DynamicPipe, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Pipe });
18
+ DynamicPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: DynamicPipe, isStandalone: true, name: "dynamicPipe" });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: DynamicPipe, decorators: [{
20
+ type: Pipe,
21
+ args: [{
22
+ name: 'dynamicPipe',
23
+ standalone: true,
24
+ }]
25
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3BpcGVzL2R5bmFtaWMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBdUIsTUFBTSxlQUFlLENBQUM7O0FBTXBFLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO0lBRTFDLFNBQVMsQ0FBQyxLQUFVLEVBQUUsWUFBdUIsRUFBRSxRQUFlO1FBQzVELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDL0IsSUFBSSxFQUFFLGFBQWE7WUFDbkIsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3JCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFDO1NBQ3ZDLENBQUMsQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQzs7d0dBWFUsV0FBVztzR0FBWCxXQUFXOzJGQUFYLFdBQVc7a0JBSnZCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGFBQWE7b0JBQ25CLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yLCBQaXBlLCBQaXBlVHJhbnNmb3JtLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2R5bmFtaWNQaXBlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIHJlcXVpcmVkUGlwZTogVHlwZTxhbnk+LCBwaXBlQXJnczogYW55W10pOiBhbnkge1xuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIG5hbWU6ICdEeW5hbWljUGlwZScsXG4gICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXG4gICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IHJlcXVpcmVkUGlwZSB9XSxcbiAgICB9KTtcbiAgICBjb25zdCBwaXBlID0gaW5qZWN0b3IuZ2V0KHJlcXVpcmVkUGlwZSk7XG4gICAgcmV0dXJuIHBpcGUudHJhbnNmb3JtKHZhbHVlLCAuLi4ocGlwZUFyZ3MgfHwgW10pKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,49 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class HighlightPipe {
4
+ transform(text, searchTerm) {
5
+ if (!searchTerm) {
6
+ return text;
7
+ }
8
+ const haystackAlwaysString = text + '';
9
+ let highlightedText = haystackAlwaysString; // fallback
10
+ let searchPattern;
11
+ try {
12
+ searchPattern = new RegExp('(' +
13
+ // @ts-ignore
14
+ searchTerm
15
+ .toLowerCase()
16
+ .match(/".*?"|[^ ]+/g) // extract words
17
+ .map((needle) => needle.replace(/"(.*?)"/, '$1') // strip away '"'
18
+ )
19
+ .join('|') + // combine words
20
+ ')', 'ig');
21
+ }
22
+ catch (error) {
23
+ return highlightedText;
24
+ }
25
+ const containsTagPattern = /(<.*?>)(.*)(<\/.*?>)/gi;
26
+ const containsTagMatches = containsTagPattern.exec(haystackAlwaysString);
27
+ if (containsTagMatches) {
28
+ // tag exists in haystack
29
+ highlightedText =
30
+ containsTagMatches[1] +
31
+ containsTagMatches[2].replace(searchPattern, '<span class="gt-highlight-search">$1</span>') +
32
+ containsTagMatches[3];
33
+ }
34
+ else {
35
+ highlightedText = haystackAlwaysString.replace(searchPattern, '<span class="gt-highlight-search">$1</span>');
36
+ }
37
+ return highlightedText;
38
+ }
39
+ }
40
+ HighlightPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HighlightPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
41
+ HighlightPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: HighlightPipe, isStandalone: true, name: "highlight" });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: HighlightPipe, decorators: [{
43
+ type: Pipe,
44
+ args: [{
45
+ name: 'highlight',
46
+ standalone: true,
47
+ }]
48
+ }] });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlnaGxpZ2h0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvcGlwZXMvaGlnaGxpZ2h0LnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBTXBELE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFNBQVMsQ0FBQyxJQUFTLEVBQUUsVUFBeUI7UUFDNUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxNQUFNLG9CQUFvQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDdkMsSUFBSSxlQUFlLEdBQUcsb0JBQW9CLENBQUMsQ0FBQyxXQUFXO1FBRXZELElBQUksYUFBYSxDQUFDO1FBQ2xCLElBQUk7WUFDRixhQUFhLEdBQUcsSUFBSSxNQUFNLENBQ3hCLEdBQUc7Z0JBQ0QsYUFBYTtnQkFDYixVQUFVO3FCQUNQLFdBQVcsRUFBRTtxQkFDYixLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsZ0JBQWdCO3FCQUN0QyxHQUFHLENBQ0YsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLGlCQUFpQjtpQkFDOUQ7cUJBQ0EsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGdCQUFnQjtnQkFDL0IsR0FBRyxFQUNMLElBQUksQ0FDTCxDQUFDO1NBQ0g7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE9BQU8sZUFBZSxDQUFDO1NBQ3hCO1FBRUQsTUFBTSxrQkFBa0IsR0FBRyx3QkFBd0IsQ0FBQztRQUNwRCxNQUFNLGtCQUFrQixHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRXpFLElBQUksa0JBQWtCLEVBQUU7WUFDdEIseUJBQXlCO1lBQ3pCLGVBQWU7Z0JBQ2Isa0JBQWtCLENBQUMsQ0FBQyxDQUFDO29CQUNyQixrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQzNCLGFBQWEsRUFDYiw2Q0FBNkMsQ0FDOUM7b0JBQ0Qsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDekI7YUFBTTtZQUNMLGVBQWUsR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLENBQzVDLGFBQWEsRUFDYiw2Q0FBNkMsQ0FDOUMsQ0FBQztTQUNIO1FBRUQsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQzs7MEdBL0NVLGFBQWE7d0dBQWIsYUFBYTsyRkFBYixhQUFhO2tCQUp6QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxXQUFXO29CQUNqQixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2hpZ2hsaWdodCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEhpZ2hsaWdodFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHRleHQ6IGFueSwgc2VhcmNoVGVybTogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XG4gICAgaWYgKCFzZWFyY2hUZXJtKSB7XG4gICAgICByZXR1cm4gdGV4dDtcbiAgICB9XG4gICAgY29uc3QgaGF5c3RhY2tBbHdheXNTdHJpbmcgPSB0ZXh0ICsgJyc7XG4gICAgbGV0IGhpZ2hsaWdodGVkVGV4dCA9IGhheXN0YWNrQWx3YXlzU3RyaW5nOyAvLyBmYWxsYmFja1xuXG4gICAgbGV0IHNlYXJjaFBhdHRlcm47XG4gICAgdHJ5IHtcbiAgICAgIHNlYXJjaFBhdHRlcm4gPSBuZXcgUmVnRXhwKFxuICAgICAgICAnKCcgK1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBzZWFyY2hUZXJtXG4gICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgLm1hdGNoKC9cIi4qP1wifFteIF0rL2cpIC8vIGV4dHJhY3Qgd29yZHNcbiAgICAgICAgICAgIC5tYXAoXG4gICAgICAgICAgICAgIChuZWVkbGUpID0+IG5lZWRsZS5yZXBsYWNlKC9cIiguKj8pXCIvLCAnJDEnKSAvLyBzdHJpcCBhd2F5ICdcIidcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5qb2luKCd8JykgKyAvLyBjb21iaW5lIHdvcmRzXG4gICAgICAgICAgJyknLFxuICAgICAgICAnaWcnXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gaGlnaGxpZ2h0ZWRUZXh0O1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRhaW5zVGFnUGF0dGVybiA9IC8oPC4qPz4pKC4qKSg8XFwvLio/PikvZ2k7XG4gICAgY29uc3QgY29udGFpbnNUYWdNYXRjaGVzID0gY29udGFpbnNUYWdQYXR0ZXJuLmV4ZWMoaGF5c3RhY2tBbHdheXNTdHJpbmcpO1xuXG4gICAgaWYgKGNvbnRhaW5zVGFnTWF0Y2hlcykge1xuICAgICAgLy8gdGFnIGV4aXN0cyBpbiBoYXlzdGFja1xuICAgICAgaGlnaGxpZ2h0ZWRUZXh0ID1cbiAgICAgICAgY29udGFpbnNUYWdNYXRjaGVzWzFdICtcbiAgICAgICAgY29udGFpbnNUYWdNYXRjaGVzWzJdLnJlcGxhY2UoXG4gICAgICAgICAgc2VhcmNoUGF0dGVybixcbiAgICAgICAgICAnPHNwYW4gY2xhc3M9XCJndC1oaWdobGlnaHQtc2VhcmNoXCI+JDE8L3NwYW4+J1xuICAgICAgICApICtcbiAgICAgICAgY29udGFpbnNUYWdNYXRjaGVzWzNdO1xuICAgIH0gZWxzZSB7XG4gICAgICBoaWdobGlnaHRlZFRleHQgPSBoYXlzdGFja0Fsd2F5c1N0cmluZy5yZXBsYWNlKFxuICAgICAgICBzZWFyY2hQYXR0ZXJuLFxuICAgICAgICAnPHNwYW4gY2xhc3M9XCJndC1oaWdobGlnaHQtc2VhcmNoXCI+JDE8L3NwYW4+J1xuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaGlnaGxpZ2h0ZWRUZXh0O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,17 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class RowSelectionPipe {
4
+ transform(row, selection, comparator, className) {
5
+ return className && comparator(row, selection) ? className : '';
6
+ }
7
+ }
8
+ RowSelectionPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: RowSelectionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
9
+ RowSelectionPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: RowSelectionPipe, isStandalone: true, name: "rowSelection" });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: RowSelectionPipe, decorators: [{
11
+ type: Pipe,
12
+ args: [{
13
+ name: 'rowSelection',
14
+ standalone: true,
15
+ }]
16
+ }] });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LXNlbGVjdGlvbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3BpcGVzL3Jvdy1zZWxlY3Rpb24ucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFPcEQsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixTQUFTLENBQ1AsR0FBYSxFQUNiLFNBQWMsRUFDZCxVQUFzRCxFQUN0RCxTQUFrQjtRQUVsQixPQUFPLFNBQVMsSUFBSSxVQUFVLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNsRSxDQUFDOzs2R0FSVSxnQkFBZ0I7MkdBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUo1QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxjQUFjO29CQUNwQixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYWJsZVJvdyB9IGZyb20gJy4uL21vZGVscy90YWJsZS1yb3cuaW50ZXJmYWNlJztcblxuQFBpcGUoe1xuICBuYW1lOiAncm93U2VsZWN0aW9uJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgUm93U2VsZWN0aW9uUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oXG4gICAgcm93OiBUYWJsZVJvdyxcbiAgICBzZWxlY3Rpb246IGFueSxcbiAgICBjb21wYXJhdG9yOiAocm93OiBUYWJsZVJvdywgc2VsZWN0aW9uOiBhbnkpID0+IGJvb2xlYW4sXG4gICAgY2xhc3NOYW1lPzogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNsYXNzTmFtZSAmJiBjb21wYXJhdG9yKHJvdywgc2VsZWN0aW9uKSA/IGNsYXNzTmFtZSA6ICcnO1xuICB9XG59XG4iXX0=