@softheon/armature 17.10.2 → 17.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -2
- package/ag-grid-components/index.d.ts +5 -0
- package/ag-grid-components/package.json +3 -0
- package/ag-grid-components/public-api.d.ts +3 -0
- package/ag-grid-components/src/ag-grid-components.module.d.ts +26 -0
- package/ag-grid-components/src/sof-table/sof-table.component.d.ts +123 -0
- package/esm2022/ag-grid-components/public-api.mjs +4 -0
- package/esm2022/ag-grid-components/softheon-armature-ag-grid-components.mjs +5 -0
- package/esm2022/ag-grid-components/src/ag-grid-components.module.mjs +88 -0
- package/esm2022/ag-grid-components/src/sof-table/sof-table.component.mjs +350 -0
- package/esm2022/lib/base-components/base-component-api.mjs +2 -1
- package/esm2022/lib/base-components/base-component.module.mjs +8 -1
- package/esm2022/lib/base-components/sof-badge/sof-badge.component.mjs +7 -1
- package/esm2022/lib/base-components/sof-links/sof-link.component.mjs +26 -0
- package/fesm2022/softheon-armature-ag-grid-components.mjs +444 -0
- package/fesm2022/softheon-armature-ag-grid-components.mjs.map +1 -0
- package/fesm2022/softheon-armature.mjs +36 -1
- package/fesm2022/softheon-armature.mjs.map +1 -1
- package/lib/base-components/base-component-api.d.ts +1 -0
- package/lib/base-components/base-component.module.d.ts +27 -25
- package/lib/base-components/sof-badge/sof-badge.component.d.ts +2 -0
- package/lib/base-components/sof-links/sof-link.component.d.ts +15 -0
- package/package.json +10 -2
package/README.md
CHANGED
|
@@ -26,7 +26,9 @@ Then install the peer dependencies required by the Armature, they can be found b
|
|
|
26
26
|
*"angular-oauth2-oidc": "~15.0.1",
|
|
27
27
|
*"angular-oauth2-oidc-jwks": "^15.0.1",
|
|
28
28
|
*"rxjs": "~7.8.0",
|
|
29
|
-
*"moment": "^2.29.4"
|
|
29
|
+
*"moment": "^2.29.4",
|
|
30
|
+
*"ag-grid-angular": "^31.2.1",
|
|
31
|
+
*"ag-grid-community": "~31.2.1"
|
|
30
32
|
|
|
31
33
|
After these have been installed, run the following to install armature `npm i @softheon/armature`
|
|
32
34
|
|
|
@@ -1993,4 +1995,36 @@ The following language keys should be present in there respective JSON files in
|
|
|
1993
1995
|
}
|
|
1994
1996
|
}
|
|
1995
1997
|
}
|
|
1996
|
-
```
|
|
1998
|
+
```
|
|
1999
|
+
|
|
2000
|
+
## Armature Table Component
|
|
2001
|
+
|
|
2002
|
+
### Usage
|
|
2003
|
+
|
|
2004
|
+
To utilize the Sof Table component, you need to install `"@softheon/armature"` library, and install the dependency package, especially the `"ag-grid-angular"` and `"ag-grid-community"` package which are optional when install `"@softheon/armature"` library.
|
|
2005
|
+
|
|
2006
|
+
After install the required dependencies, then you could import the desired `"SofTableComponent"` from the `'@softheon/armature/ag-grid-components'` entry point.(NOTE: here the Sof Table component is at a sub entry point which is different from `"@softheon/armature"`).
|
|
2007
|
+
|
|
2008
|
+
After the above steps, you are good to utilize the Sof Table component, either using the `"<sof-table>"` template tag or directly calling the `"SofTableComponent"`.
|
|
2009
|
+
|
|
2010
|
+
In the module that will be using this functionality include the following import
|
|
2011
|
+
|
|
2012
|
+
```javascript
|
|
2013
|
+
import { AgGridComponentsModule } from '@softheon/armature/ag-grid-components';
|
|
2014
|
+
|
|
2015
|
+
@ngModule({
|
|
2016
|
+
declarations: [...],
|
|
2017
|
+
imports: [
|
|
2018
|
+
...
|
|
2019
|
+
AgGridComponentsModule
|
|
2020
|
+
...
|
|
2021
|
+
]
|
|
2022
|
+
})
|
|
2023
|
+
```
|
|
2024
|
+
Also you need to add these css imports at your root styles.css if you are using Ag Grid in your application
|
|
2025
|
+
|
|
2026
|
+
```css
|
|
2027
|
+
@import "ag-grid-community/styles/ag-grid.css";
|
|
2028
|
+
@import "ag-grid-community/styles/ag-theme-material.css";
|
|
2029
|
+
```
|
|
2030
|
+
For more information on using Armature table refer to [Armature Documentation](https://dev-engagement.softheon.com/armature/table)
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./sof-table/sof-table.component";
|
|
3
|
+
import * as i2 from "@angular/common";
|
|
4
|
+
import * as i3 from "@ngbracket/ngx-layout";
|
|
5
|
+
import * as i4 from "@angular/forms";
|
|
6
|
+
import * as i5 from "@ngx-translate/core";
|
|
7
|
+
import * as i6 from "ag-grid-angular";
|
|
8
|
+
import * as i7 from "@angular/material/select";
|
|
9
|
+
import * as i8 from "@angular/material/core";
|
|
10
|
+
import * as i9 from "@angular/material/checkbox";
|
|
11
|
+
import * as i10 from "@angular/material/icon";
|
|
12
|
+
import * as i11 from "@angular/material/dialog";
|
|
13
|
+
import * as i12 from "@angular/material/button";
|
|
14
|
+
import * as i13 from "@angular/material/form-field";
|
|
15
|
+
import * as i14 from "@angular/material/input";
|
|
16
|
+
import * as i15 from "@angular/material/toolbar";
|
|
17
|
+
import * as i16 from "@angular/material/tooltip";
|
|
18
|
+
import * as i17 from "@angular/material/button-toggle";
|
|
19
|
+
import * as i18 from "@angular/material/card";
|
|
20
|
+
import * as i19 from "@angular/material/radio";
|
|
21
|
+
import * as i20 from "@angular/material/progress-spinner";
|
|
22
|
+
export declare class AgGridComponentsModule {
|
|
23
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AgGridComponentsModule, never>;
|
|
24
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AgGridComponentsModule, [typeof i1.SofTableComponent], [typeof i2.CommonModule, typeof i3.FlexLayoutModule, typeof i4.FormsModule, typeof i4.ReactiveFormsModule, typeof i5.TranslateModule, typeof i6.AgGridModule, typeof i7.MatSelectModule, typeof i8.MatOptionModule, typeof i9.MatCheckboxModule, typeof i10.MatIconModule, typeof i11.MatDialogModule, typeof i12.MatButtonModule, typeof i13.MatFormFieldModule, typeof i14.MatInputModule, typeof i15.MatToolbarModule, typeof i16.MatTooltipModule, typeof i17.MatButtonToggleModule, typeof i18.MatCardModule, typeof i19.MatRadioModule, typeof i20.MatProgressSpinnerModule], [typeof i1.SofTableComponent]>;
|
|
25
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AgGridComponentsModule>;
|
|
26
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { AfterViewInit, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { PageEvent } from '@angular/material/paginator';
|
|
3
|
+
import { ColDef, GridApi, GridReadyEvent, PaginationChangedEvent } from "ag-grid-community";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/** The Softheon Armature Table component */
|
|
6
|
+
export declare class SofTableComponent implements OnInit, OnChanges, AfterViewInit {
|
|
7
|
+
/** The language text or a key that will be shown in this component */
|
|
8
|
+
rowData: any[];
|
|
9
|
+
/** Column Definitions: Defines & controls grid columns. */
|
|
10
|
+
colDefs: ColDef[];
|
|
11
|
+
/** Size modes for table */
|
|
12
|
+
sizeMode: 'Compact' | 'Roomy' | 'Default';
|
|
13
|
+
/** Pages sizes */
|
|
14
|
+
paginationPageSizeSelector: number[];
|
|
15
|
+
/** Enable search */
|
|
16
|
+
enableSearch: boolean;
|
|
17
|
+
/** Enable custom text filter dropdowns */
|
|
18
|
+
enableFilter: boolean;
|
|
19
|
+
/** Enable Checkbox selection */
|
|
20
|
+
enableCheckboxSelection: boolean;
|
|
21
|
+
/** Column names that should be filterable */
|
|
22
|
+
colFilters: SofTableFilter[];
|
|
23
|
+
/** Show filter */
|
|
24
|
+
showFilter: boolean;
|
|
25
|
+
/** Row Height for table */
|
|
26
|
+
rowHeight: number;
|
|
27
|
+
/** Current Page Index */
|
|
28
|
+
currentPage: number;
|
|
29
|
+
/** Grid API */
|
|
30
|
+
gridApi: GridApi;
|
|
31
|
+
/**Page Event from Paginator */
|
|
32
|
+
pageEvent: PageEvent;
|
|
33
|
+
/** Default Page Size */
|
|
34
|
+
paginationPageSize: number;
|
|
35
|
+
/** Current Page size selector */
|
|
36
|
+
currentPageSizeSelector: string;
|
|
37
|
+
/** Tool tip show delay */
|
|
38
|
+
tooltipShowDelay: number;
|
|
39
|
+
/** Default Column Definition */
|
|
40
|
+
defaultColDef: ColDef;
|
|
41
|
+
/** Length of data */
|
|
42
|
+
totalLength: number;
|
|
43
|
+
/**Total number of pages */
|
|
44
|
+
totalNumberOfPages: number;
|
|
45
|
+
/** Page Change text */
|
|
46
|
+
pageChangeText: string;
|
|
47
|
+
/** Select Panel Open State */
|
|
48
|
+
panelOpenState: boolean;
|
|
49
|
+
/** Page selection panel state*/
|
|
50
|
+
selectionPanelOpenState: boolean;
|
|
51
|
+
/** Page selector array */
|
|
52
|
+
pageSelector: Array<number>;
|
|
53
|
+
/** Filter Panel open state */
|
|
54
|
+
filterOpenState: boolean;
|
|
55
|
+
/** The list of filters and the selected values */
|
|
56
|
+
filterSelections: string[][];
|
|
57
|
+
constructor();
|
|
58
|
+
/** On component init */
|
|
59
|
+
ngOnInit(): void;
|
|
60
|
+
/** Actions to take once view is initialized */
|
|
61
|
+
ngAfterViewInit(): void;
|
|
62
|
+
/**
|
|
63
|
+
* Angular On Changes
|
|
64
|
+
* @param changes The input changes
|
|
65
|
+
*/
|
|
66
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
67
|
+
/**
|
|
68
|
+
* On page selection change
|
|
69
|
+
* @param value The selected page number
|
|
70
|
+
*/
|
|
71
|
+
onChange(value: any): void;
|
|
72
|
+
/**
|
|
73
|
+
* Called when the grid has ingested the input data
|
|
74
|
+
* @param params Grid Ready Event
|
|
75
|
+
*/
|
|
76
|
+
onGridReady(params: GridReadyEvent): void;
|
|
77
|
+
/** On next page event */
|
|
78
|
+
nextPage(): void;
|
|
79
|
+
/** On Previous Page Event */
|
|
80
|
+
previousPage(): void;
|
|
81
|
+
/** Resize grid from size mode */
|
|
82
|
+
resizeGrid(): void;
|
|
83
|
+
/**
|
|
84
|
+
* On Change Page Size Event
|
|
85
|
+
* @param event The pagination event
|
|
86
|
+
*/
|
|
87
|
+
changePageSize(event: PaginationChangedEvent): void;
|
|
88
|
+
/** Called when the grid filter is changed */
|
|
89
|
+
onFilterChanged(): void;
|
|
90
|
+
/** Generated text for showing pages in format: 1-11 of 11 */
|
|
91
|
+
handlePageChangeText(): void;
|
|
92
|
+
/**
|
|
93
|
+
* Apply the search filter on data when search text changed
|
|
94
|
+
*/
|
|
95
|
+
onSearchTextChanged(): void;
|
|
96
|
+
/** Toggle the filter panel display */
|
|
97
|
+
toggleFilterPanel(): void;
|
|
98
|
+
/** Apply the selected filters */
|
|
99
|
+
applyFilters(): void;
|
|
100
|
+
/** Clear all filters */
|
|
101
|
+
clearFilters(): void;
|
|
102
|
+
/**
|
|
103
|
+
* Returns true if no filters are selected
|
|
104
|
+
* @returns True if a filter is selected, false otherwise.
|
|
105
|
+
*/
|
|
106
|
+
hasEmptyFilters(): boolean;
|
|
107
|
+
/** Cancel the changes to the filter and closes the filter panel */
|
|
108
|
+
cancelFilterChanges(): void;
|
|
109
|
+
/** Populates the filter dropdowns */
|
|
110
|
+
private populateFilters;
|
|
111
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SofTableComponent, never>;
|
|
112
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SofTableComponent, "sof-table", never, { "rowData": { "alias": "rowData"; "required": false; }; "colDefs": { "alias": "colDefs"; "required": false; }; "sizeMode": { "alias": "sizeMode"; "required": false; }; "paginationPageSizeSelector": { "alias": "paginationPageSizeSelector"; "required": false; }; "enableSearch": { "alias": "enableSearch"; "required": false; }; "enableFilter": { "alias": "enableFilter"; "required": false; }; "enableCheckboxSelection": { "alias": "enableCheckboxSelection"; "required": false; }; }, {}, never, never, false, never>;
|
|
113
|
+
}
|
|
114
|
+
/** Used for setting filter values */
|
|
115
|
+
declare class SofTableFilter {
|
|
116
|
+
/** The column header */
|
|
117
|
+
header: string;
|
|
118
|
+
/** The column label or translation key */
|
|
119
|
+
label: string;
|
|
120
|
+
/** The column filter options */
|
|
121
|
+
options: string[];
|
|
122
|
+
}
|
|
123
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Public API Surface of Ag Grid components */
|
|
2
|
+
export * from './src/sof-table/sof-table.component';
|
|
3
|
+
export * from './src/ag-grid-components.module';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL2FnLWdyaWQtY29tcG9uZW50cy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsaUNBQWlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogUHVibGljIEFQSSBTdXJmYWNlIG9mIEFnIEdyaWQgY29tcG9uZW50cyAqL1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9zb2YtdGFibGUvc29mLXRhYmxlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2FnLWdyaWQtY29tcG9uZW50cy5tb2R1bGUnOyJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdGhlb24tYXJtYXR1cmUtYWctZ3JpZC1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvYWctZ3JpZC1jb21wb25lbnRzL3NvZnRoZW9uLWFybWF0dXJlLWFnLWdyaWQtY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FlexLayoutModule } from '@ngbracket/ngx-layout';
|
|
4
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
6
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
7
|
+
import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
8
|
+
import { MatCardModule } from '@angular/material/card';
|
|
9
|
+
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
10
|
+
import { MatOptionModule } from '@angular/material/core';
|
|
11
|
+
import { MatDialogModule } from '@angular/material/dialog';
|
|
12
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
13
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
14
|
+
import { MatInputModule } from '@angular/material/input';
|
|
15
|
+
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
16
|
+
import { MatRadioModule } from '@angular/material/radio';
|
|
17
|
+
import { MatSelectModule } from '@angular/material/select';
|
|
18
|
+
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
19
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
20
|
+
import { AgGridModule } from 'ag-grid-angular';
|
|
21
|
+
import { SofTableComponent } from './sof-table/sof-table.component';
|
|
22
|
+
import * as i0 from "@angular/core";
|
|
23
|
+
/** The material modules */
|
|
24
|
+
const materialModules = [
|
|
25
|
+
MatSelectModule,
|
|
26
|
+
MatOptionModule,
|
|
27
|
+
MatCheckboxModule,
|
|
28
|
+
MatIconModule,
|
|
29
|
+
MatDialogModule,
|
|
30
|
+
MatButtonModule,
|
|
31
|
+
MatFormFieldModule,
|
|
32
|
+
MatInputModule,
|
|
33
|
+
MatToolbarModule,
|
|
34
|
+
MatTooltipModule,
|
|
35
|
+
MatButtonToggleModule,
|
|
36
|
+
MatCardModule,
|
|
37
|
+
MatRadioModule,
|
|
38
|
+
MatProgressSpinnerModule
|
|
39
|
+
];
|
|
40
|
+
export class AgGridComponentsModule {
|
|
41
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: AgGridComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
42
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.7", ngImport: i0, type: AgGridComponentsModule, declarations: [SofTableComponent], imports: [CommonModule,
|
|
43
|
+
FlexLayoutModule,
|
|
44
|
+
FormsModule,
|
|
45
|
+
ReactiveFormsModule,
|
|
46
|
+
TranslateModule,
|
|
47
|
+
AgGridModule, MatSelectModule,
|
|
48
|
+
MatOptionModule,
|
|
49
|
+
MatCheckboxModule,
|
|
50
|
+
MatIconModule,
|
|
51
|
+
MatDialogModule,
|
|
52
|
+
MatButtonModule,
|
|
53
|
+
MatFormFieldModule,
|
|
54
|
+
MatInputModule,
|
|
55
|
+
MatToolbarModule,
|
|
56
|
+
MatTooltipModule,
|
|
57
|
+
MatButtonToggleModule,
|
|
58
|
+
MatCardModule,
|
|
59
|
+
MatRadioModule,
|
|
60
|
+
MatProgressSpinnerModule], exports: [SofTableComponent] }); }
|
|
61
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: AgGridComponentsModule, imports: [CommonModule,
|
|
62
|
+
FlexLayoutModule,
|
|
63
|
+
FormsModule,
|
|
64
|
+
ReactiveFormsModule,
|
|
65
|
+
TranslateModule,
|
|
66
|
+
AgGridModule, materialModules] }); }
|
|
67
|
+
}
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: AgGridComponentsModule, decorators: [{
|
|
69
|
+
type: NgModule,
|
|
70
|
+
args: [{
|
|
71
|
+
declarations: [
|
|
72
|
+
SofTableComponent,
|
|
73
|
+
],
|
|
74
|
+
imports: [
|
|
75
|
+
CommonModule,
|
|
76
|
+
FlexLayoutModule,
|
|
77
|
+
FormsModule,
|
|
78
|
+
ReactiveFormsModule,
|
|
79
|
+
TranslateModule,
|
|
80
|
+
AgGridModule,
|
|
81
|
+
...materialModules
|
|
82
|
+
],
|
|
83
|
+
exports: [
|
|
84
|
+
SofTableComponent
|
|
85
|
+
]
|
|
86
|
+
}]
|
|
87
|
+
}] });
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1jb21wb25lbnRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL2FnLWdyaWQtY29tcG9uZW50cy9zcmMvYWctZ3JpZC1jb21wb25lbnRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUdwRSwyQkFBMkI7QUFDM0IsTUFBTSxlQUFlLEdBQUc7SUFDdEIsZUFBZTtJQUNmLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsYUFBYTtJQUNiLGVBQWU7SUFDZixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLHFCQUFxQjtJQUNyQixhQUFhO0lBQ2IsY0FBYztJQUNkLHdCQUF3QjtDQUN6QixDQUFDO0FBbUJGLE1BQU0sT0FBTyxzQkFBc0I7OEdBQXRCLHNCQUFzQjsrR0FBdEIsc0JBQXNCLGlCQWYvQixpQkFBaUIsYUFHakIsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixZQUFZLEVBMUJkLGVBQWU7WUFDZixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixxQkFBcUI7WUFDckIsYUFBYTtZQUNiLGNBQWM7WUFDZCx3QkFBd0IsYUFpQnRCLGlCQUFpQjsrR0FHUixzQkFBc0IsWUFaL0IsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixZQUFZLEVBQ1QsZUFBZTs7MkZBTVQsc0JBQXNCO2tCQWpCbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osaUJBQWlCO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLFlBQVk7d0JBQ1osR0FBRyxlQUFlO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsaUJBQWlCO3FCQUNsQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZsZXhMYXlvdXRNb2R1bGUgfSBmcm9tICdAbmdicmFja2V0L25neC1sYXlvdXQnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGUnO1xyXG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRPcHRpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xyXG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgTWF0VG9vbGJhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IEFnR3JpZE1vZHVsZSB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XHJcbmltcG9ydCB7IFNvZlRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9zb2YtdGFibGUvc29mLXRhYmxlLmNvbXBvbmVudCc7XHJcblxyXG5cclxuLyoqIFRoZSBtYXRlcmlhbCBtb2R1bGVzICovXHJcbmNvbnN0IG1hdGVyaWFsTW9kdWxlcyA9IFtcclxuICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgTWF0T3B0aW9uTW9kdWxlLFxyXG4gIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gIE1hdEljb25Nb2R1bGUsXHJcbiAgTWF0RGlhbG9nTW9kdWxlLFxyXG4gIE1hdEJ1dHRvbk1vZHVsZSxcclxuICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgTWF0VG9vbGJhck1vZHVsZSxcclxuICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gIE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSxcclxuICBNYXRDYXJkTW9kdWxlLFxyXG4gIE1hdFJhZGlvTW9kdWxlLFxyXG4gIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZVxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFNvZlRhYmxlQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRmxleExheW91dE1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIEFnR3JpZE1vZHVsZSxcclxuICAgIC4uLm1hdGVyaWFsTW9kdWxlc1xyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU29mVGFibGVDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZ0dyaWRDb21wb25lbnRzTW9kdWxlIHsgfVxyXG4iXX0=
|