tin-spa 14.0.1 → 14.4.2
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 +24 -24
- package/esm2020/lib/classes/Classes.mjs +32 -57
- package/esm2020/lib/classes/LibClasses.mjs +1 -2
- package/esm2020/lib/classes/TinCore.mjs +48 -206
- package/esm2020/lib/components/alert/alert.component.mjs +7 -21
- package/esm2020/lib/components/attach/attach.component.mjs +33 -49
- package/esm2020/lib/components/date/date.component.mjs +6 -8
- package/esm2020/lib/components/email/email.component.mjs +17 -19
- package/esm2020/lib/components/form/form.component.mjs +56 -144
- package/esm2020/lib/components/label/label.component.mjs +3 -9
- package/esm2020/lib/components/list-dialog/list-dialog.component.mjs +3 -3
- package/esm2020/lib/components/money/money.component.mjs +9 -26
- package/esm2020/lib/components/nav-menu/nav-menu.component.mjs +27 -31
- package/esm2020/lib/components/number/number.component.mjs +8 -23
- package/esm2020/lib/components/option/option.component.mjs +14 -36
- package/esm2020/lib/components/search/search.component.mjs +5 -10
- package/esm2020/lib/components/select/select.component.mjs +129 -56
- package/esm2020/lib/components/steps/steps.component.mjs +61 -83
- package/esm2020/lib/components/table/detailsDialog.component.mjs +41 -205
- package/esm2020/lib/components/table/table.component.mjs +111 -136
- package/esm2020/lib/components/table-action/table-action.component.mjs +8 -42
- package/esm2020/lib/components/table-header/table-header.component.mjs +10 -14
- package/esm2020/lib/components/table-internal/detailsDialog-internal.component.mjs +39 -205
- package/esm2020/lib/components/table-internal/table-internal.component.mjs +112 -138
- package/esm2020/lib/components/table-row/table-row.component.mjs +4 -23
- package/esm2020/lib/components/text/text.component.mjs +46 -110
- package/esm2020/lib/components/tiles/tiles.component.mjs +20 -32
- package/esm2020/lib/components/viewer/viewer.component.mjs +3 -7
- package/esm2020/lib/components/viewer/viewerDialog.component.mjs +13 -20
- package/esm2020/lib/modules/admin/admin-routing.module.mjs +1 -11
- package/esm2020/lib/pages/accounts/accountDialog.component.mjs +1 -1
- package/esm2020/lib/pages/bug/bug.component.mjs +3 -3
- package/esm2020/lib/pages/change-password/change-password.component.mjs +1 -1
- package/esm2020/lib/pages/create-account/create-account.component.mjs +1 -1
- package/esm2020/lib/pages/customers/customers.component.mjs +48 -9
- package/esm2020/lib/pages/departments/departments.component.mjs +4 -2
- package/esm2020/lib/pages/employees/employees.component.mjs +4 -3
- package/esm2020/lib/pages/grades/grades.component.mjs +3 -3
- package/esm2020/lib/pages/inventory/inventory.component.mjs +3 -3
- package/esm2020/lib/pages/inventory/quantityDialog.component.mjs +1 -1
- package/esm2020/lib/pages/invitations/invitations.component.mjs +14 -0
- package/esm2020/lib/pages/invitations-table/invitations-table.component.mjs +10 -11
- package/esm2020/lib/pages/login/login.component.mjs +14 -52
- package/esm2020/lib/pages/logs/logs.component.mjs +22 -27
- package/esm2020/lib/pages/membership/membership.component.mjs +19 -15
- package/esm2020/lib/pages/notifications/notifications.component.mjs +6 -82
- package/esm2020/lib/pages/plans/plans.component.mjs +19 -16
- package/esm2020/lib/pages/positions/positions.component.mjs +4 -4
- package/esm2020/lib/pages/profile/profile.component.mjs +3 -4
- package/esm2020/lib/pages/recover-account/recover-account.component.mjs +1 -1
- package/esm2020/lib/pages/roles/addRoleDialog.component.mjs +2 -2
- package/esm2020/lib/pages/roles/roles.component.mjs +17 -77
- package/esm2020/lib/pages/settings/settings.component.mjs +13 -5
- package/esm2020/lib/pages/signup/signup.component.mjs +1 -1
- package/esm2020/lib/pages/suppliers/suppliers.component.mjs +31 -3
- package/esm2020/lib/pages/tasks/tasks.component.mjs +9 -9
- package/esm2020/lib/pages/tenant-settings/inviteDialog.component.mjs +60 -0
- package/esm2020/lib/pages/tenant-settings/tenant-settings.component.mjs +72 -145
- package/esm2020/lib/pages/tenants/tenants.component.mjs +10 -10
- package/esm2020/lib/pages/transactions/transactDialog.component.mjs +1 -1
- package/esm2020/lib/pages/transactions/transactions.component.mjs +3 -3
- package/esm2020/lib/pages/users/users.component.mjs +92 -141
- package/esm2020/lib/pages/welcome/welcome.component.mjs +9 -9
- package/esm2020/lib/services/button.service.mjs +32 -92
- package/esm2020/lib/services/csv.service.mjs +1 -1
- package/esm2020/lib/services/datalib.service.mjs +78 -551
- package/esm2020/lib/services/dialog.service.mjs +7 -51
- package/esm2020/lib/services/table-config.service.mjs +7 -55
- package/esm2020/lib/tin-spa.module.mjs +11 -48
- package/esm2020/public-api.mjs +1 -10
- package/fesm2015/tin-spa.mjs +2605 -6538
- package/fesm2015/tin-spa.mjs.map +1 -1
- package/fesm2020/tin-spa.mjs +2501 -6482
- package/fesm2020/tin-spa.mjs.map +1 -1
- package/lib/classes/Classes.d.ts +129 -267
- package/lib/classes/LibClasses.d.ts +0 -1
- package/lib/classes/TinCore.d.ts +4 -13
- package/lib/components/alert/alert.component.d.ts +3 -4
- package/lib/components/attach/attach.component.d.ts +6 -13
- package/lib/components/date/date.component.d.ts +1 -1
- package/lib/components/email/email.component.d.ts +3 -4
- package/lib/components/form/form.component.d.ts +11 -20
- package/lib/components/label/label.component.d.ts +1 -3
- package/lib/components/money/money.component.d.ts +1 -8
- package/lib/components/nav-menu/nav-menu.component.d.ts +2 -6
- package/lib/components/number/number.component.d.ts +1 -7
- package/lib/components/option/option.component.d.ts +2 -10
- package/lib/components/search/search.component.d.ts +1 -3
- package/lib/components/select/select.component.d.ts +37 -16
- package/lib/components/steps/steps.component.d.ts +9 -18
- package/lib/components/table/detailsDialog.component.d.ts +7 -29
- package/lib/components/table/table.component.d.ts +9 -15
- package/lib/components/table-action/table-action.component.d.ts +1 -4
- package/lib/components/table-header/table-header.component.d.ts +1 -3
- package/lib/components/table-internal/detailsDialog-internal.component.d.ts +7 -29
- package/lib/components/table-internal/table-internal.component.d.ts +9 -15
- package/lib/components/table-row/table-row.component.d.ts +1 -4
- package/lib/components/text/text.component.d.ts +8 -21
- package/lib/components/tiles/tiles.component.d.ts +3 -4
- package/lib/components/viewer/viewerDialog.component.d.ts +1 -3
- package/lib/pages/customers/customers.component.d.ts +8 -2
- package/lib/pages/invitations/invitations.component.d.ts +8 -0
- package/lib/pages/invitations-table/invitations-table.component.d.ts +1 -1
- package/lib/pages/login/login.component.d.ts +1 -7
- package/lib/pages/logs/logs.component.d.ts +6 -2
- package/lib/pages/membership/membership.component.d.ts +6 -2
- package/lib/pages/notifications/notifications.component.d.ts +1 -9
- package/lib/pages/plans/plans.component.d.ts +6 -2
- package/lib/pages/roles/roles.component.d.ts +2 -14
- package/lib/pages/suppliers/suppliers.component.d.ts +4 -1
- package/lib/pages/tasks/tasks.component.d.ts +1 -1
- package/lib/pages/tenant-settings/inviteDialog.component.d.ts +28 -0
- package/lib/pages/tenant-settings/tenant-settings.component.d.ts +7 -12
- package/lib/pages/tenants/tenants.component.d.ts +2 -2
- package/lib/pages/users/users.component.d.ts +16 -8
- package/lib/services/button.service.d.ts +8 -11
- package/lib/services/datalib.service.d.ts +10 -57
- package/lib/services/dialog.service.d.ts +2 -3
- package/lib/services/table-config.service.d.ts +1 -9
- package/lib/tin-spa.module.d.ts +33 -52
- package/package.json +1 -1
- package/public-api.d.ts +0 -9
- package/esm2020/lib/components/capsules/capsules.component.mjs +0 -63
- package/esm2020/lib/components/cards/cards.component.mjs +0 -103
- package/esm2020/lib/components/html/html.component.mjs +0 -34
- package/esm2020/lib/components/multi-select/multi-select.component.mjs +0 -165
- package/esm2020/lib/components/multi-text/multi-text.component.mjs +0 -208
- package/esm2020/lib/components/notes/notes.component.mjs +0 -62
- package/esm2020/lib/components/page/page.component.mjs +0 -101
- package/esm2020/lib/components/select-bitwise/select-bitwise.component.mjs +0 -87
- package/esm2020/lib/components/select-common/select-common.component.mjs +0 -206
- package/esm2020/lib/components/select-internal/select-internal.component.mjs +0 -75
- package/esm2020/lib/components/select-lite/select-lite.component.mjs +0 -18
- package/esm2020/lib/components/statuses/statuses.component.mjs +0 -44
- package/esm2020/lib/components/suffix/suffix.component.mjs +0 -70
- package/esm2020/lib/components/table-lite/detailsDialog-lite.component.mjs +0 -404
- package/esm2020/lib/components/table-lite/table-lite.component.mjs +0 -441
- package/esm2020/lib/components/tabs/tabs.component.mjs +0 -74
- package/esm2020/lib/pages/app-models/app-models.component.mjs +0 -56
- package/esm2020/lib/pages/approvals/approvals.component.mjs +0 -19
- package/esm2020/lib/pages/approvals-config/approvals-config.component.mjs +0 -165
- package/esm2020/lib/pages/notifications-config/notifications-config.component.mjs +0 -113
- package/esm2020/lib/select-context.directive.mjs +0 -23
- package/esm2020/lib/services/notifications.service.mjs +0 -33
- package/lib/components/capsules/capsules.component.d.ts +0 -26
- package/lib/components/cards/cards.component.d.ts +0 -39
- package/lib/components/html/html.component.d.ts +0 -16
- package/lib/components/multi-select/multi-select.component.d.ts +0 -47
- package/lib/components/multi-text/multi-text.component.d.ts +0 -56
- package/lib/components/notes/notes.component.d.ts +0 -19
- package/lib/components/page/page.component.d.ts +0 -38
- package/lib/components/select-bitwise/select-bitwise.component.d.ts +0 -31
- package/lib/components/select-common/select-common.component.d.ts +0 -53
- package/lib/components/select-internal/select-internal.component.d.ts +0 -23
- package/lib/components/select-lite/select-lite.component.d.ts +0 -8
- package/lib/components/statuses/statuses.component.d.ts +0 -12
- package/lib/components/suffix/suffix.component.d.ts +0 -23
- package/lib/components/table-lite/detailsDialog-lite.component.d.ts +0 -86
- package/lib/components/table-lite/table-lite.component.d.ts +0 -91
- package/lib/components/tabs/tabs.component.d.ts +0 -32
- package/lib/pages/app-models/app-models.component.d.ts +0 -15
- package/lib/pages/approvals/approvals.component.d.ts +0 -10
- package/lib/pages/approvals-config/approvals-config.component.d.ts +0 -24
- package/lib/pages/notifications-config/notifications-config.component.d.ts +0 -17
- package/lib/select-context.directive.d.ts +0 -10
- package/lib/services/notifications.service.d.ts +0 -12
|
@@ -9,14 +9,14 @@ export class TenantsComponent {
|
|
|
9
9
|
this.dataService = dataService;
|
|
10
10
|
this.messageService = messageService;
|
|
11
11
|
this.authService = authService;
|
|
12
|
-
this.
|
|
12
|
+
this.formConfig = {
|
|
13
13
|
fields: [
|
|
14
14
|
{ name: 'name', type: 'text', required: true, min: 2 },
|
|
15
15
|
{ name: 'planID', alias: 'Plan', type: 'number', required: true },
|
|
16
16
|
],
|
|
17
17
|
reset: true,
|
|
18
18
|
};
|
|
19
|
-
this.
|
|
19
|
+
this.config = {
|
|
20
20
|
showFilter: true,
|
|
21
21
|
minColumns: ['name'],
|
|
22
22
|
flatButtons: true,
|
|
@@ -26,22 +26,22 @@ export class TenantsComponent {
|
|
|
26
26
|
{ name: 'planName', alias: 'Plan', type: 'text' },
|
|
27
27
|
],
|
|
28
28
|
buttons: [
|
|
29
|
-
{ name: 'create', display: 'Create', dialog: true, action: { url: 'tenants?action=create', method: 'post' } },
|
|
29
|
+
{ name: 'create', display: 'Create', dialog: true, action: { url: 'tenant/tenants?action=create', method: 'post' } },
|
|
30
30
|
{ name: 'view', dialog: true },
|
|
31
|
-
{ name: 'edit', dialog: true, action: { url: 'tenants?action=edit', method: 'post' } },
|
|
32
|
-
{ name: 'delete', dialog: true, action: { url: 'tenants?action=delete', method: 'post' } },
|
|
31
|
+
{ name: 'edit', dialog: true, action: { url: 'tenant/tenants?action=edit', method: 'post' } },
|
|
32
|
+
{ name: 'delete', dialog: true, action: { url: 'tenant/tenants?action=delete', method: 'post' } },
|
|
33
33
|
],
|
|
34
|
-
loadAction: { url: '
|
|
35
|
-
formConfig: this.
|
|
34
|
+
loadAction: { url: 'tenant/all_tenants/x' },
|
|
35
|
+
formConfig: this.formConfig
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
38
|
ngOnInit() {
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
TenantsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TenantsComponent, deps: [{ token: i1.DataServiceLib }, { token: i2.MessageService }, { token: i3.AuthService }], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
-
TenantsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TenantsComponent, selector: "spa-tenants", ngImport: i0, template: "<h4>Tenants</h4>\
|
|
42
|
+
TenantsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TenantsComponent, selector: "spa-tenants", ngImport: i0, template: "<h4>Tenants</h4>\n<hr>\n\n\n<div class=\" mt-3\" style=\" font-size: 14px;\">\n <spa-table [config]=\"config\" ></spa-table>\n</div>\n", styles: [".title{margin-top:1em;font-size:larger;font-weight:300}\n"], dependencies: [{ kind: "component", type: i4.TableComponent, selector: "spa-table", inputs: ["hideTitle", "data", "config", "reload"], outputs: ["dataLoad", "refreshClick", "searchClick", "createClick", "actionClick", "inputChange"] }] });
|
|
43
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TenantsComponent, decorators: [{
|
|
44
44
|
type: Component,
|
|
45
|
-
args: [{ selector: 'spa-tenants', template: "<h4>Tenants</h4>\
|
|
45
|
+
args: [{ selector: 'spa-tenants', template: "<h4>Tenants</h4>\n<hr>\n\n\n<div class=\" mt-3\" style=\" font-size: 14px;\">\n <spa-table [config]=\"config\" ></spa-table>\n</div>\n", styles: [".title{margin-top:1em;font-size:larger;font-weight:300}\n"] }]
|
|
46
46
|
}], ctorParameters: function () { return [{ type: i1.DataServiceLib }, { type: i2.MessageService }, { type: i3.AuthService }]; } });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90aW4tc3BhL3NyYy9saWIvcGFnZXMvdGVuYW50cy90ZW5hbnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9wYWdlcy90ZW5hbnRzL3RlbmFudHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBV2xELE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsWUFBb0IsV0FBMkIsRUFBVSxjQUE4QixFQUFTLFdBQXdCO1FBQXBHLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFTLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBT3hILGVBQVUsR0FBZTtZQUV2QixNQUFNLEVBQUU7Z0JBQ04sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFO2dCQUN0RCxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7YUFDbEU7WUFFRCxLQUFLLEVBQUUsSUFBSTtTQUVaLENBQUE7UUFFRCxXQUFNLEdBQWdCO1lBQ3BCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNwQixXQUFXLEVBQUUsSUFBSTtZQUVqQixPQUFPLEVBQUU7Z0JBQ1AsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtnQkFDakQsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7Z0JBQzlCLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUcsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7YUFFbkQ7WUFFRCxPQUFPLEVBQUU7Z0JBQ1AsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFDO2dCQUNuSCxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDOUIsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDN0YsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRTthQUNsRztZQUVELFVBQVUsRUFBRSxFQUFFLEdBQUcsRUFBRSxzQkFBc0IsRUFBRTtZQUUzQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FFNUIsQ0FBQTtJQXpDMkgsQ0FBQztJQUU3SCxRQUFRO0lBQ1IsQ0FBQzs7NkdBTFUsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsbURDWDdCLHlJQU9BOzJGRElhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2VMaWIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kYXRhbGliLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JtQ29uZmlnLCBUYWJsZUNvbmZpZywgQXBpUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9jbGFzc2VzL0NsYXNzZXMnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3BhLXRlbmFudHMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW5hbnRzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZW5hbnRzLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGVuYW50c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlTGliLCBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSwgcHVibGljIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBmb3JtQ29uZmlnOiBGb3JtQ29uZmlnID0ge1xyXG5cclxuICAgIGZpZWxkczogW1xyXG4gICAgICB7IG5hbWU6ICduYW1lJywgdHlwZTogJ3RleHQnLCByZXF1aXJlZDogdHJ1ZSwgbWluOiAyIH0sXHJcbiAgICAgIHsgbmFtZTogJ3BsYW5JRCcsIGFsaWFzIDonUGxhbicsIHR5cGU6ICdudW1iZXInLCByZXF1aXJlZDogdHJ1ZSB9LFxyXG4gICAgXSxcclxuXHJcbiAgICByZXNldDogdHJ1ZSxcclxuXHJcbiAgfVxyXG5cclxuICBjb25maWc6IFRhYmxlQ29uZmlnID0ge1xyXG4gICAgc2hvd0ZpbHRlcjogdHJ1ZSxcclxuICAgIG1pbkNvbHVtbnM6IFsnbmFtZSddLFxyXG4gICAgZmxhdEJ1dHRvbnM6IHRydWUsXHJcblxyXG4gICAgY29sdW1uczogW1xyXG4gICAgICB7IG5hbWU6ICd0ZW5hbnRJRCcsIHR5cGU6ICdudW1iZXInLCBhbGlhczogJ0lEJyB9LFxyXG4gICAgICB7IG5hbWU6ICduYW1lJywgdHlwZTogJ3RleHQnIH0sXHJcbiAgICAgIHsgbmFtZTogJ3BsYW5OYW1lJywgYWxpYXMgOiAnUGxhbicsIHR5cGU6ICd0ZXh0JyB9LFxyXG5cclxuICAgIF0sXHJcblxyXG4gICAgYnV0dG9uczogW1xyXG4gICAgICB7IG5hbWU6ICdjcmVhdGUnLCBkaXNwbGF5OiAnQ3JlYXRlJywgZGlhbG9nOiB0cnVlLCBhY3Rpb246IHsgdXJsOiAndGVuYW50L3RlbmFudHM/YWN0aW9uPWNyZWF0ZScsIG1ldGhvZDogJ3Bvc3QnIH19LFxyXG4gICAgICB7IG5hbWU6ICd2aWV3JywgZGlhbG9nOiB0cnVlIH0sXHJcbiAgICAgIHsgbmFtZTogJ2VkaXQnLCBkaWFsb2c6IHRydWUsIGFjdGlvbjogeyB1cmw6ICd0ZW5hbnQvdGVuYW50cz9hY3Rpb249ZWRpdCcsIG1ldGhvZDogJ3Bvc3QnIH0gfSxcclxuICAgICAgeyBuYW1lOiAnZGVsZXRlJywgZGlhbG9nOiB0cnVlLCBhY3Rpb246IHsgdXJsOiAndGVuYW50L3RlbmFudHM/YWN0aW9uPWRlbGV0ZScsIG1ldGhvZDogJ3Bvc3QnIH0gfSxcclxuICAgIF0sXHJcblxyXG4gICAgbG9hZEFjdGlvbjogeyB1cmw6ICd0ZW5hbnQvYWxsX3RlbmFudHMveCcgfSxcclxuXHJcbiAgICBmb3JtQ29uZmlnOiB0aGlzLmZvcm1Db25maWdcclxuXHJcbiAgfVxyXG59XHJcbiIsIjxoND5UZW5hbnRzPC9oND5cbjxocj5cblxuXG48ZGl2IGNsYXNzPVwiIG10LTNcIiBzdHlsZT1cIiBmb250LXNpemU6IDE0cHg7XCI+XG4gIDxzcGEtdGFibGUgW2NvbmZpZ109XCJjb25maWdcIiA+PC9zcGEtdGFibGU+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -68,7 +68,7 @@ export class transactDialog {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
transactDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: transactDialog, deps: [{ token: i1.LoaderService }, { token: i2.MessageService }, { token: i3.DataServiceLib }, { token: i4.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
71
|
-
transactDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: transactDialog, selector: "app-quanityDiag", ngImport: i0, template: "\r\n<h2 mat-dialog-title>{{action | titlecase}}</h2>\r\n\r\n\r\n<mat-dialog-content class=\"mat-typography\">\r\n\r\n <div class=\"tin-input\" style=\"font-size:14px\">\r\n\r\n <spa-select *ngIf=\"action == 'transfer'\" [(value)]=\"txn.destinationID\" display=\"Transfer to\" [options]=\"accounts\" optionDisplay=\"name\" optionValue=\"accountID\"></spa-select>\r\n\r\n <spa-date display=\"Date\" [(value)]=\"txn.date\"></spa-date>\r\n <spa-money display=\"Amount\" [(value)]=\"txn.amount\"></spa-money>\r\n <spa-text display=\"Narration\" [(value)]=\"txn.narration\"></spa-text>\r\n <spa-select display=\"Category\" [(value)]=\"txn.categoryID\" [options]=\"categories\" optionDisplay=\"name\" optionValue=\"listItemID\" [defaultFirstValue]=\"true\"></spa-select>\r\n\r\n\r\n\r\n </div>\r\n\r\n</mat-dialog-content>\r\n\r\n\r\n<mat-dialog-actions>\r\n<button mat-button [disabled]=\"isProcessing\" (click)=\"submit()\" cdkFocusInitial>Submit</button>\r\n<button mat-button [disabled]=\"isProcessing\" cdkFocusInitial mat-dialog-close>Cancel</button>\r\n</mat-dialog-actions>\r\n\r\n\r\n\r\n", styles: [".info{color:#4682b4;margin-top:5px;margin-right:5px;font-size:18px}.sign{margin-top:5px;font-size:18px}.actionbuttons{gap:1px}button{padding-left:7px}.mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i4.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i7.TextComponent, selector: "spa-text", inputs: ["
|
|
71
|
+
transactDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: transactDialog, selector: "app-quanityDiag", ngImport: i0, template: "\r\n<h2 mat-dialog-title>{{action | titlecase}}</h2>\r\n\r\n\r\n<mat-dialog-content class=\"mat-typography\">\r\n\r\n <div class=\"tin-input\" style=\"font-size:14px\">\r\n\r\n <spa-select *ngIf=\"action == 'transfer'\" [(value)]=\"txn.destinationID\" display=\"Transfer to\" [options]=\"accounts\" optionDisplay=\"name\" optionValue=\"accountID\"></spa-select>\r\n\r\n <spa-date display=\"Date\" [(value)]=\"txn.date\"></spa-date>\r\n <spa-money display=\"Amount\" [(value)]=\"txn.amount\"></spa-money>\r\n <spa-text display=\"Narration\" [(value)]=\"txn.narration\"></spa-text>\r\n <spa-select display=\"Category\" [(value)]=\"txn.categoryID\" [options]=\"categories\" optionDisplay=\"name\" optionValue=\"listItemID\" [defaultFirstValue]=\"true\"></spa-select>\r\n\r\n\r\n\r\n </div>\r\n\r\n</mat-dialog-content>\r\n\r\n\r\n<mat-dialog-actions>\r\n<button mat-button [disabled]=\"isProcessing\" (click)=\"submit()\" cdkFocusInitial>Submit</button>\r\n<button mat-button [disabled]=\"isProcessing\" cdkFocusInitial mat-dialog-close>Cancel</button>\r\n</mat-dialog-actions>\r\n\r\n\r\n\r\n", styles: [".info{color:#4682b4;margin-top:5px;margin-right:5px;font-size:18px}.sign{margin-top:5px;font-size:18px}.actionbuttons{gap:1px}button{padding-left:7px}.mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i4.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i7.TextComponent, selector: "spa-text", inputs: ["readonly", "hint", "display", "placeholder", "value", "format", "type", "rows", "width", "copyContent", "options", "optionValue", "required", "min", "max", "regex", "suffix", "infoMessage"], outputs: ["valueChange", "leave", "enterPress", "infoClick"] }, { kind: "component", type: i8.DateComponent, selector: "spa-date", inputs: ["required", "min", "max", "readonly", "hint", "value", "display", "placeholder", "width", "infoMessage"], outputs: ["valueChange", "infoClick"] }, { kind: "component", type: i9.SelectComponent, selector: "spa-select", inputs: ["width", "readonly", "required", "defaultFirstValue", "readonlyMode", "hint", "placeholder", "multiple", "display", "value", "options", "masterOptions", "optionValue", "optionDisplay", "optionDisplayExtra", "nullable", "peekConfig", "infoMessage", "copyContent"], outputs: ["valueChange", "infoClick"] }, { kind: "component", type: i10.MoneyComponent, selector: "spa-money", inputs: ["readonly", "hint", "display", "placeholder", "value", "width", "currency", "required", "min", "max", "infoMessage"], outputs: ["valueChange", "leave", "enterPress", "infoClick"] }, { kind: "pipe", type: i5.TitleCasePipe, name: "titlecase" }] });
|
|
72
72
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: transactDialog, decorators: [{
|
|
73
73
|
type: Component,
|
|
74
74
|
args: [{ selector: 'app-quanityDiag', template: "\r\n<h2 mat-dialog-title>{{action | titlecase}}</h2>\r\n\r\n\r\n<mat-dialog-content class=\"mat-typography\">\r\n\r\n <div class=\"tin-input\" style=\"font-size:14px\">\r\n\r\n <spa-select *ngIf=\"action == 'transfer'\" [(value)]=\"txn.destinationID\" display=\"Transfer to\" [options]=\"accounts\" optionDisplay=\"name\" optionValue=\"accountID\"></spa-select>\r\n\r\n <spa-date display=\"Date\" [(value)]=\"txn.date\"></spa-date>\r\n <spa-money display=\"Amount\" [(value)]=\"txn.amount\"></spa-money>\r\n <spa-text display=\"Narration\" [(value)]=\"txn.narration\"></spa-text>\r\n <spa-select display=\"Category\" [(value)]=\"txn.categoryID\" [options]=\"categories\" optionDisplay=\"name\" optionValue=\"listItemID\" [defaultFirstValue]=\"true\"></spa-select>\r\n\r\n\r\n\r\n </div>\r\n\r\n</mat-dialog-content>\r\n\r\n\r\n<mat-dialog-actions>\r\n<button mat-button [disabled]=\"isProcessing\" (click)=\"submit()\" cdkFocusInitial>Submit</button>\r\n<button mat-button [disabled]=\"isProcessing\" cdkFocusInitial mat-dialog-close>Cancel</button>\r\n</mat-dialog-actions>\r\n\r\n\r\n\r\n", styles: [".info{color:#4682b4;margin-top:5px;margin-right:5px;font-size:18px}.sign{margin-top:5px;font-size:18px}.actionbuttons{gap:1px}button{padding-left:7px}.mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"] }]
|
|
@@ -93,9 +93,9 @@ export class TransactionsComponent {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
TransactionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TransactionsComponent, deps: [{ token: i1.DataServiceLib }, { token: i2.MessageService }, { token: i3.BreakpointObserver }, { token: i4.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
96
|
-
TransactionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TransactionsComponent, selector: "spa-transactions", ngImport: i0, template: "<!-- <h4>Transactions ({{account?.name}})</h4>\
|
|
96
|
+
TransactionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TransactionsComponent, selector: "spa-transactions", ngImport: i0, template: "<!-- <h4>Transactions ({{account?.name}})</h4>\n<hr> -->\n\n<div class=\"d-flex align-items-center justify-content-between mt-0\" style=\"margin-left: 10px\">\n\n <label style=\"font-size: 16px;\">Transactions ({{account?.name}})</label>\n\n <div>\n <button mat-mini-fab color=\"primary\" style=\"margin-right:1em;padding-left: 0;\" (click)=\"cats()\" matTooltip=\"Categories\" matTooltipPosition=\"above\"><mat-icon>category</mat-icon></button>\n </div>\n\n</div>\n<hr>\n\n<div class=\"d-flex justify-content-between\" style=\" font-size: 14px;\" >\n\n <div *ngIf=\"account\" class=\"tin-row actionbuttons\">\n <label style=\"margin-right: 5px;\">{{account?.currency}}</label>\n <label style=\"font-size: 34px;margin-right: 20px;\">{{account?.balance | currency : '' : ''}}</label>\n <div *ngIf=\"!smallScreen; then buttons\" ></div>\n </div>\n\n <div *ngIf=\"!smallScreen\">\n <spa-filter (refreshClick)=\"loadData()\"></spa-filter>\n </div>\n\n</div>\n\n<div *ngIf=\"smallScreen\" style=\"margin-bottom: 10px;\"></div>\n\n<div *ngIf=\"smallScreen; then buttons\" ></div>\n\n<ng-template #buttons >\n <div class=\"tin-row actionbuttons\">\n <button mat-stroked-button style=\"color: green;\" (click)=\"transact('income','')\"><mat-icon class=\"sign\">add</mat-icon>Income</button> <mat-icon class=\"info\">info</mat-icon>\n <button mat-stroked-button style=\"color: red;\" (click)=\"transact('expense','')\"><mat-icon class=\"sign\">remove</mat-icon>Expense</button> <mat-icon class=\"info\">info</mat-icon>\n <button mat-stroked-button style=\"color: orange;\" (click)=\"transact('transfer','')\" ><mat-icon class=\"sign\">sync_alt</mat-icon>Transfer</button> <mat-icon class=\"info\">info</mat-icon>\n </div>\n</ng-template>\n\n\n\n<div style=\" font-size: 14px;\">\n <spa-table [config]=\"config\" [data]=\"transactions\" [reload]=\"reload\" (dataLoad)=\"loadData()\" (actionClick)=\"actionClicked($event)\"></spa-table>\n</div>\n", styles: [".info{color:#4682b4;margin-top:5px;margin-right:5px;font-size:18px}.sign{margin-top:5px;font-size:18px}.actionbuttons{gap:1px}button{padding-left:7px}.mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i9.FilterComponent, selector: "spa-filter", inputs: ["flatButtons", "showText", "showButton", "data"], outputs: ["refreshClick"] }, { kind: "component", type: i10.TableComponent, selector: "spa-table", inputs: ["hideTitle", "data", "config", "reload"], outputs: ["dataLoad", "refreshClick", "searchClick", "createClick", "actionClick", "inputChange"] }, { kind: "pipe", type: i5.CurrencyPipe, name: "currency" }] });
|
|
97
97
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TransactionsComponent, decorators: [{
|
|
98
98
|
type: Component,
|
|
99
|
-
args: [{ selector: 'spa-transactions', template: "<!-- <h4>Transactions ({{account?.name}})</h4>\
|
|
99
|
+
args: [{ selector: 'spa-transactions', template: "<!-- <h4>Transactions ({{account?.name}})</h4>\n<hr> -->\n\n<div class=\"d-flex align-items-center justify-content-between mt-0\" style=\"margin-left: 10px\">\n\n <label style=\"font-size: 16px;\">Transactions ({{account?.name}})</label>\n\n <div>\n <button mat-mini-fab color=\"primary\" style=\"margin-right:1em;padding-left: 0;\" (click)=\"cats()\" matTooltip=\"Categories\" matTooltipPosition=\"above\"><mat-icon>category</mat-icon></button>\n </div>\n\n</div>\n<hr>\n\n<div class=\"d-flex justify-content-between\" style=\" font-size: 14px;\" >\n\n <div *ngIf=\"account\" class=\"tin-row actionbuttons\">\n <label style=\"margin-right: 5px;\">{{account?.currency}}</label>\n <label style=\"font-size: 34px;margin-right: 20px;\">{{account?.balance | currency : '' : ''}}</label>\n <div *ngIf=\"!smallScreen; then buttons\" ></div>\n </div>\n\n <div *ngIf=\"!smallScreen\">\n <spa-filter (refreshClick)=\"loadData()\"></spa-filter>\n </div>\n\n</div>\n\n<div *ngIf=\"smallScreen\" style=\"margin-bottom: 10px;\"></div>\n\n<div *ngIf=\"smallScreen; then buttons\" ></div>\n\n<ng-template #buttons >\n <div class=\"tin-row actionbuttons\">\n <button mat-stroked-button style=\"color: green;\" (click)=\"transact('income','')\"><mat-icon class=\"sign\">add</mat-icon>Income</button> <mat-icon class=\"info\">info</mat-icon>\n <button mat-stroked-button style=\"color: red;\" (click)=\"transact('expense','')\"><mat-icon class=\"sign\">remove</mat-icon>Expense</button> <mat-icon class=\"info\">info</mat-icon>\n <button mat-stroked-button style=\"color: orange;\" (click)=\"transact('transfer','')\" ><mat-icon class=\"sign\">sync_alt</mat-icon>Transfer</button> <mat-icon class=\"info\">info</mat-icon>\n </div>\n</ng-template>\n\n\n\n<div style=\" font-size: 14px;\">\n <spa-table [config]=\"config\" [data]=\"transactions\" [reload]=\"reload\" (dataLoad)=\"loadData()\" (actionClick)=\"actionClicked($event)\"></spa-table>\n</div>\n", styles: [".info{color:#4682b4;margin-top:5px;margin-right:5px;font-size:18px}.sign{margin-top:5px;font-size:18px}.actionbuttons{gap:1px}button{padding-left:7px}.mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}\n"] }]
|
|
100
100
|
}], ctorParameters: function () { return [{ type: i1.DataServiceLib }, { type: i2.MessageService }, { type: i3.BreakpointObserver }, { type: i4.MatDialog }]; } });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9wYWdlcy90cmFuc2FjdGlvbnMvdHJhbnNhY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9wYWdlcy90cmFuc2FjdGlvbnMvdHJhbnNhY3Rpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFLbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7Ozs7Ozs7OztBQU96RixNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFlBQW9CLFdBQTJCLEVBQVUsY0FBOEIsRUFBVSxrQkFBc0MsRUFBUyxNQUFpQjtRQUE3SSxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQStFakssYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBRWxCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsV0FBTSxHQUFxQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBR3pDLFdBQU0sR0FBZ0I7WUFFcEIsVUFBVSxFQUFFLENBQUMsTUFBTSxFQUFDLFdBQVcsRUFBQyxRQUFRLENBQUM7WUFDekMsVUFBVSxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQztZQUM5QixXQUFXLEVBQUUsSUFBSTtZQUVqQixP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LENBQUE7YUFDckM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO0lBRVIsQ0FBQzs7a0hBN0VVLHFCQUFxQjtzR0FBckIscUJBQXFCLHdEQ2hCbEMsNmdFQTZDQTsyRkQ3QmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlTGliIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybUNvbmZpZywgTGlzdERpYWxvZ0NvbmZpZywgVGFibGVDb25maWcsIEFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50U3RhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcclxuaW1wb3J0IHsgdHJhbnNhY3REaWFsb2cgfSBmcm9tICcuL3RyYW5zYWN0RGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IExpc3REaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2xpc3QtZGlhbG9nL2xpc3QtZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NwYS10cmFuc2FjdGlvbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90cmFuc2FjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RyYW5zYWN0aW9ucy5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlTGliLCBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSwgcHJpdmF0ZSBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlciwgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nKSB7XHJcblxyXG4gICAgLy8gZGV0ZWN0IHNjcmVlbiBzaXplIGNoYW5nZXNcclxuICAgIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLm9ic2VydmUoW1wiKG1heC13aWR0aDogNjAwcHgpXCJdKS5zdWJzY3JpYmUoKHJlc3VsdDogQnJlYWtwb2ludFN0YXRlKSA9PiB7XHJcblxyXG4gICAgICBpZiAocmVzdWx0Lm1hdGNoZXMpIHtcclxuICAgICAgICB0aGlzLnNtYWxsU2NyZWVuID0gdHJ1ZVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc21hbGxTY3JlZW4gPSBmYWxzZVxyXG4gICAgICB9XHJcblxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYWNjb3VudElEID0gdGhpcy5kYXRhU2VydmljZS5HZXROYXZpZ2F0aW9uVmFsdWUoKVxyXG4gICAgdGhpcy5sb2FkRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgY2F0cygpIHtcclxuXHJcbiAgICBsZXQgY29uZjogTGlzdERpYWxvZ0NvbmZpZyA9IHsgdGl0bGU6IFwiVHJhbnNhY3Rpb24gQ2F0ZWdvcmllc1wiLCBuYW1lOiAnQ2F0ZWdvcnknLCBsaXN0TmFtZTogJ1RyYW5zYWN0aW9uQ2F0ZWdvcmllcycgfVxyXG5cclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oTGlzdERpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogXCI5MDBweFwiLFxyXG4gICAgICBkYXRhOiBjb25mLFxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuXHJcbiAgICAgIGlmIChyZXN1bHQgPT0gJ3N1Y2Nlc3MnKSB7XHJcbiAgICAgICAgdGhpcy5sb2FkRGF0YSgpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIGFjdGlvbkNsaWNrZWQoeCl7XHJcblxyXG4gICAgaWYgKHgubmFtZSA9PSBcImVkaXRcIil7XHJcbiAgICAgIHRoaXMudHJhbnNhY3QoJ2VkaXQnLCB4LmRhdGEpXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgbG9hZERhdGEoKXtcclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuQ2FsbEFwaSh7IHVybDogJ2dlbmVyYWwvdHJhbnNhY3Rpb25zLycgKyB0aGlzLmFjY291bnRJRCB9LCcnKS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlIDogQXBpUmVzcG9uc2UpID0+IHtcclxuXHJcbiAgICAgIHRoaXMuYWNjb3VudCA9IGFwaVJlc3BvbnNlLmRhdGEuYWNjb3VudDtcclxuICAgICAgdGhpcy5hY2NvdW50cyA9IGFwaVJlc3BvbnNlLmRhdGEuYWNjb3VudHM7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25zID0gYXBpUmVzcG9uc2UuZGF0YS50cmFuc2FjdGlvbnM7XHJcbiAgICAgIHRoaXMuY2F0ZWdvcmllcyA9IGFwaVJlc3BvbnNlLmRhdGEuY2F0ZWdvcmllcztcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHRyYW5zYWN0KHgsIGRhdGEpIHtcclxuXHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKHRyYW5zYWN0RGlhbG9nLCB7XHJcbiAgICAgIHdpZHRoOiBcIjUwMHB4XCIsXHJcbiAgICAgIGRhdGE6IHsgYWN0aW9uOiB4LCBhY2NvdW50OiB0aGlzLmFjY291bnQsIGRhdGE6IGRhdGEsIGFjY291bnRzOiB0aGlzLmFjY291bnRzLCBjYXRlZ29yaWVzOiB0aGlzLmNhdGVnb3JpZXMgfSxcclxuICAgIH0pO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcblxyXG4gICAgICBpZiAocmVzdWx0ID09ICdzdWNjZXNzJykge1xyXG4gICAgICAgIHRoaXMubG9hZERhdGEoKVxyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJVcGRhdGVkXCIpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmZXIoKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgc21hbGxTY3JlZW5cclxuICBhY2NvdW50O1xyXG4gIGFjY291bnRzID0gW107XHJcbiAgdHJhbnNhY3Rpb25zID0gW107XHJcbiAgYWNjb3VudElEO1xyXG4gIGNhdGVnb3JpZXMgPSBbXTtcclxuICByZWxvYWQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuXHJcbiAgY29uZmlnOiBUYWJsZUNvbmZpZyA9IHtcclxuXHJcbiAgICBtaW5Db2x1bW5zOiBbJ2RhdGUnLCduYXJyYXRpb24nLCdhbW91bnQnXSxcclxuICAgIG1pbkJ1dHRvbnM6IFsnZWRpdCcsICdkZWxldGUnXSxcclxuICAgIGZsYXRCdXR0b25zOiB0cnVlLFxyXG5cclxuICAgIGNvbHVtbnM6IFtcclxuICAgICAgeyBuYW1lOiAnZGF0ZScsIHR5cGU6ICdkYXRlJyB9LFxyXG4gICAgICB7IG5hbWU6ICduYXJyYXRpb24nLCB0eXBlOiAndGV4dCd9LFxyXG4gICAgICB7IG5hbWU6ICdhbW91bnQnLCB0eXBlOiAnbW9uZXknLCBjb2xvcjogeyBuYW1lOiAncmVkJywgY29uZGl0aW9uOiB4ID0+IHgudHlwZSA9PSAwIH0sIGljb25zOiBbeyBuYW1lOiAnYXJyb3dfcmlnaHRfYWx0JywgY29uZGl0aW9uOiB4ID0+IHgubGluayAhPSAnJyAmJiB4LnR5cGUgPT0gMCB9LCB7IG5hbWU6ICdrZXlib2FyZF9iYWNrc3BhY2UnLCBjb25kaXRpb246IHggPT4geC5saW5rICE9ICcnICYmIHgudHlwZSA9PSAxIH1dIH0sXHJcbiAgICAgIHsgbmFtZTogJ2NhdGVnb3J5TmFtZScsYWxpYXMgOiAnQ2F0ZWdvcnknLCB0eXBlOiAndGV4dCcgfSxcclxuICAgIF0sXHJcblxyXG4gICAgYnV0dG9uczogW1xyXG5cclxuICAgICAgeyBuYW1lOiAnZWRpdCcsIGRpc2FibGVkOiB4ID0+IHgubGluayAhPSAnJyAmJiB4LnR5cGUgPT0gMSB9LFxyXG4gICAgICB7IG5hbWU6ICdkZWxldGUnLCBkaWFsb2c6IHRydWUsIGFjdGlvbjogeyB1cmw6ICdnZW5lcmFsL3RyYW5zYWN0aW9ucz9hY3Rpb249ZGVsZXRlJywgbWV0aG9kOiAncG9zdCcgfSwgZGlzYWJsZWQgOiB4ID0+IHgubGluayAhPSAnJyAmJiB4LnR5cGUgPT0gMX0sXHJcbiAgICBdLFxyXG5cclxuICB9XHJcblxyXG59XHJcbiIsIjwhLS0gPGg0PlRyYW5zYWN0aW9ucyAoe3thY2NvdW50Py5uYW1lfX0pPC9oND5cclxuPGhyPiAtLT5cclxuXHJcbjxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG10LTBcIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxMHB4XCI+XHJcblxyXG4gIDxsYWJlbCBzdHlsZT1cImZvbnQtc2l6ZTogMTZweDtcIj5UcmFuc2FjdGlvbnMgKHt7YWNjb3VudD8ubmFtZX19KTwvbGFiZWw+XHJcblxyXG4gIDxkaXY+XHJcbiAgICA8YnV0dG9uIG1hdC1taW5pLWZhYiBjb2xvcj1cInByaW1hcnlcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDoxZW07cGFkZGluZy1sZWZ0OiAwO1wiIChjbGljayk9XCJjYXRzKClcIiBtYXRUb29sdGlwPVwiQ2F0ZWdvcmllc1wiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+PG1hdC1pY29uPmNhdGVnb3J5PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuXHJcbjwvZGl2PlxyXG48aHI+XHJcblxyXG48ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCIgc3R5bGU9XCIgZm9udC1zaXplOiAxNHB4O1wiID5cclxuXHJcbiAgPGRpdiAqbmdJZj1cImFjY291bnRcIiBjbGFzcz1cInRpbi1yb3cgYWN0aW9uYnV0dG9uc1wiPlxyXG4gICAgPGxhYmVsIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiA1cHg7XCI+e3thY2NvdW50Py5jdXJyZW5jeX19PC9sYWJlbD5cclxuICAgIDxsYWJlbCBzdHlsZT1cImZvbnQtc2l6ZTogMzRweDttYXJnaW4tcmlnaHQ6IDIwcHg7XCI+e3thY2NvdW50Py5iYWxhbmNlIHwgY3VycmVuY3kgOiAnJyA6ICcnfX08L2xhYmVsPlxyXG4gICAgPGRpdiAqbmdJZj1cIiFzbWFsbFNjcmVlbjsgdGhlbiBidXR0b25zXCIgPjwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2ICpuZ0lmPVwiIXNtYWxsU2NyZWVuXCI+XHJcbiAgICA8c3BhLWZpbHRlciAocmVmcmVzaENsaWNrKT1cImxvYWREYXRhKClcIj48L3NwYS1maWx0ZXI+XHJcbiAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCJzbWFsbFNjcmVlblwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMTBweDtcIj48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCJzbWFsbFNjcmVlbjsgdGhlbiBidXR0b25zXCIgPjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICNidXR0b25zID5cclxuICA8ZGl2IGNsYXNzPVwidGluLXJvdyBhY3Rpb25idXR0b25zXCI+XHJcbiAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBzdHlsZT1cImNvbG9yOiBncmVlbjtcIiAoY2xpY2spPVwidHJhbnNhY3QoJ2luY29tZScsJycpXCI+PG1hdC1pY29uIGNsYXNzPVwic2lnblwiPmFkZDwvbWF0LWljb24+SW5jb21lPC9idXR0b24+IDxtYXQtaWNvbiBjbGFzcz1cImluZm9cIj5pbmZvPC9tYXQtaWNvbj5cclxuICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIHN0eWxlPVwiY29sb3I6IHJlZDtcIiAoY2xpY2spPVwidHJhbnNhY3QoJ2V4cGVuc2UnLCcnKVwiPjxtYXQtaWNvbiBjbGFzcz1cInNpZ25cIj5yZW1vdmU8L21hdC1pY29uPkV4cGVuc2U8L2J1dHRvbj4gPG1hdC1pY29uIGNsYXNzPVwiaW5mb1wiPmluZm88L21hdC1pY29uPlxyXG4gICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gc3R5bGU9XCJjb2xvcjogb3JhbmdlO1wiIChjbGljayk9XCJ0cmFuc2FjdCgndHJhbnNmZXInLCcnKVwiID48bWF0LWljb24gY2xhc3M9XCJzaWduXCI+c3luY19hbHQ8L21hdC1pY29uPlRyYW5zZmVyPC9idXR0b24+IDxtYXQtaWNvbiBjbGFzcz1cImluZm9cIj5pbmZvPC9tYXQtaWNvbj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcblxyXG5cclxuPGRpdiBzdHlsZT1cIiBmb250LXNpemU6IDE0cHg7XCI+XHJcbiAgPHNwYS10YWJsZSBbY29uZmlnXT1cImNvbmZpZ1wiIFtkYXRhXT1cInRyYW5zYWN0aW9uc1wiIFtyZWxvYWRdPVwicmVsb2FkXCIgKGRhdGFMb2FkKT1cImxvYWREYXRhKClcIiAoYWN0aW9uQ2xpY2spPVwiYWN0aW9uQ2xpY2tlZCgkZXZlbnQpXCI+PC9zcGEtdGFibGU+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9wYWdlcy90cmFuc2FjdGlvbnMvdHJhbnNhY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rpbi1zcGEvc3JjL2xpYi9wYWdlcy90cmFuc2FjdGlvbnMvdHJhbnNhY3Rpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFLbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7Ozs7Ozs7OztBQU96RixNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFlBQW9CLFdBQTJCLEVBQVUsY0FBOEIsRUFBVSxrQkFBc0MsRUFBUyxNQUFpQjtRQUE3SSxnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFBVSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFBVSx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQStFakssYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBRWxCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsV0FBTSxHQUFxQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBR3pDLFdBQU0sR0FBZ0I7WUFFcEIsVUFBVSxFQUFFLENBQUMsTUFBTSxFQUFDLFdBQVcsRUFBQyxRQUFRLENBQUM7WUFDekMsVUFBVSxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQztZQUM5QixXQUFXLEVBQUUsSUFBSTtZQUVqQixP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LENBQUE7YUFDckM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO0lBRVIsQ0FBQzs7a0hBN0VVLHFCQUFxQjtzR0FBckIscUJBQXFCLHdEQ2hCbEMsbTdEQTZDQTsyRkQ3QmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlTGliIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YWxpYi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybUNvbmZpZywgTGlzdERpYWxvZ0NvbmZpZywgVGFibGVDb25maWcsIEFwaVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50U3RhdGUgfSBmcm9tICdAYW5ndWxhci9jZGsvbGF5b3V0JztcclxuaW1wb3J0IHsgdHJhbnNhY3REaWFsb2cgfSBmcm9tICcuL3RyYW5zYWN0RGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IExpc3REaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2xpc3QtZGlhbG9nL2xpc3QtZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NwYS10cmFuc2FjdGlvbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90cmFuc2FjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RyYW5zYWN0aW9ucy5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlTGliLCBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSwgcHJpdmF0ZSBicmVha3BvaW50T2JzZXJ2ZXI6IEJyZWFrcG9pbnRPYnNlcnZlciwgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nKSB7XHJcblxyXG4gICAgLy8gZGV0ZWN0IHNjcmVlbiBzaXplIGNoYW5nZXNcclxuICAgIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyLm9ic2VydmUoW1wiKG1heC13aWR0aDogNjAwcHgpXCJdKS5zdWJzY3JpYmUoKHJlc3VsdDogQnJlYWtwb2ludFN0YXRlKSA9PiB7XHJcblxyXG4gICAgICBpZiAocmVzdWx0Lm1hdGNoZXMpIHtcclxuICAgICAgICB0aGlzLnNtYWxsU2NyZWVuID0gdHJ1ZVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc21hbGxTY3JlZW4gPSBmYWxzZVxyXG4gICAgICB9XHJcblxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYWNjb3VudElEID0gdGhpcy5kYXRhU2VydmljZS5HZXROYXZpZ2F0aW9uVmFsdWUoKVxyXG4gICAgdGhpcy5sb2FkRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgY2F0cygpIHtcclxuXHJcbiAgICBsZXQgY29uZjogTGlzdERpYWxvZ0NvbmZpZyA9IHsgdGl0bGU6IFwiVHJhbnNhY3Rpb24gQ2F0ZWdvcmllc1wiLCBuYW1lOiAnQ2F0ZWdvcnknLCBsaXN0TmFtZTogJ1RyYW5zYWN0aW9uQ2F0ZWdvcmllcycgfVxyXG5cclxuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oTGlzdERpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICB3aWR0aDogXCI5MDBweFwiLFxyXG4gICAgICBkYXRhOiBjb25mLFxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuXHJcbiAgICAgIGlmIChyZXN1bHQgPT0gJ3N1Y2Nlc3MnKSB7XHJcbiAgICAgICAgdGhpcy5sb2FkRGF0YSgpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIGFjdGlvbkNsaWNrZWQoeCl7XHJcblxyXG4gICAgaWYgKHgubmFtZSA9PSBcImVkaXRcIil7XHJcbiAgICAgIHRoaXMudHJhbnNhY3QoJ2VkaXQnLCB4LmRhdGEpXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgbG9hZERhdGEoKXtcclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuQ2FsbEFwaSh7IHVybDogJ2dlbmVyYWwvdHJhbnNhY3Rpb25zLycgKyB0aGlzLmFjY291bnRJRCB9LCcnKS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlIDogQXBpUmVzcG9uc2UpID0+IHtcclxuXHJcbiAgICAgIHRoaXMuYWNjb3VudCA9IGFwaVJlc3BvbnNlLmRhdGEuYWNjb3VudDtcclxuICAgICAgdGhpcy5hY2NvdW50cyA9IGFwaVJlc3BvbnNlLmRhdGEuYWNjb3VudHM7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25zID0gYXBpUmVzcG9uc2UuZGF0YS50cmFuc2FjdGlvbnM7XHJcbiAgICAgIHRoaXMuY2F0ZWdvcmllcyA9IGFwaVJlc3BvbnNlLmRhdGEuY2F0ZWdvcmllcztcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHRyYW5zYWN0KHgsIGRhdGEpIHtcclxuXHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKHRyYW5zYWN0RGlhbG9nLCB7XHJcbiAgICAgIHdpZHRoOiBcIjUwMHB4XCIsXHJcbiAgICAgIGRhdGE6IHsgYWN0aW9uOiB4LCBhY2NvdW50OiB0aGlzLmFjY291bnQsIGRhdGE6IGRhdGEsIGFjY291bnRzOiB0aGlzLmFjY291bnRzLCBjYXRlZ29yaWVzOiB0aGlzLmNhdGVnb3JpZXMgfSxcclxuICAgIH0pO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcblxyXG4gICAgICBpZiAocmVzdWx0ID09ICdzdWNjZXNzJykge1xyXG4gICAgICAgIHRoaXMubG9hZERhdGEoKVxyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJVcGRhdGVkXCIpXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmZXIoKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgc21hbGxTY3JlZW5cclxuICBhY2NvdW50O1xyXG4gIGFjY291bnRzID0gW107XHJcbiAgdHJhbnNhY3Rpb25zID0gW107XHJcbiAgYWNjb3VudElEO1xyXG4gIGNhdGVnb3JpZXMgPSBbXTtcclxuICByZWxvYWQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuXHJcbiAgY29uZmlnOiBUYWJsZUNvbmZpZyA9IHtcclxuXHJcbiAgICBtaW5Db2x1bW5zOiBbJ2RhdGUnLCduYXJyYXRpb24nLCdhbW91bnQnXSxcclxuICAgIG1pbkJ1dHRvbnM6IFsnZWRpdCcsICdkZWxldGUnXSxcclxuICAgIGZsYXRCdXR0b25zOiB0cnVlLFxyXG5cclxuICAgIGNvbHVtbnM6IFtcclxuICAgICAgeyBuYW1lOiAnZGF0ZScsIHR5cGU6ICdkYXRlJyB9LFxyXG4gICAgICB7IG5hbWU6ICduYXJyYXRpb24nLCB0eXBlOiAndGV4dCd9LFxyXG4gICAgICB7IG5hbWU6ICdhbW91bnQnLCB0eXBlOiAnbW9uZXknLCBjb2xvcjogeyBuYW1lOiAncmVkJywgY29uZGl0aW9uOiB4ID0+IHgudHlwZSA9PSAwIH0sIGljb25zOiBbeyBuYW1lOiAnYXJyb3dfcmlnaHRfYWx0JywgY29uZGl0aW9uOiB4ID0+IHgubGluayAhPSAnJyAmJiB4LnR5cGUgPT0gMCB9LCB7IG5hbWU6ICdrZXlib2FyZF9iYWNrc3BhY2UnLCBjb25kaXRpb246IHggPT4geC5saW5rICE9ICcnICYmIHgudHlwZSA9PSAxIH1dIH0sXHJcbiAgICAgIHsgbmFtZTogJ2NhdGVnb3J5TmFtZScsYWxpYXMgOiAnQ2F0ZWdvcnknLCB0eXBlOiAndGV4dCcgfSxcclxuICAgIF0sXHJcblxyXG4gICAgYnV0dG9uczogW1xyXG5cclxuICAgICAgeyBuYW1lOiAnZWRpdCcsIGRpc2FibGVkOiB4ID0+IHgubGluayAhPSAnJyAmJiB4LnR5cGUgPT0gMSB9LFxyXG4gICAgICB7IG5hbWU6ICdkZWxldGUnLCBkaWFsb2c6IHRydWUsIGFjdGlvbjogeyB1cmw6ICdnZW5lcmFsL3RyYW5zYWN0aW9ucz9hY3Rpb249ZGVsZXRlJywgbWV0aG9kOiAncG9zdCcgfSwgZGlzYWJsZWQgOiB4ID0+IHgubGluayAhPSAnJyAmJiB4LnR5cGUgPT0gMX0sXHJcbiAgICBdLFxyXG5cclxuICB9XHJcblxyXG59XHJcbiIsIjwhLS0gPGg0PlRyYW5zYWN0aW9ucyAoe3thY2NvdW50Py5uYW1lfX0pPC9oND5cbjxocj4gLS0+XG5cbjxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG10LTBcIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxMHB4XCI+XG5cbiAgPGxhYmVsIHN0eWxlPVwiZm9udC1zaXplOiAxNnB4O1wiPlRyYW5zYWN0aW9ucyAoe3thY2NvdW50Py5uYW1lfX0pPC9sYWJlbD5cblxuICA8ZGl2PlxuICAgIDxidXR0b24gbWF0LW1pbmktZmFiIGNvbG9yPVwicHJpbWFyeVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjFlbTtwYWRkaW5nLWxlZnQ6IDA7XCIgKGNsaWNrKT1cImNhdHMoKVwiIG1hdFRvb2x0aXA9XCJDYXRlZ29yaWVzXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIj48bWF0LWljb24+Y2F0ZWdvcnk8L21hdC1pY29uPjwvYnV0dG9uPlxuICA8L2Rpdj5cblxuPC9kaXY+XG48aHI+XG5cbjxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIiBzdHlsZT1cIiBmb250LXNpemU6IDE0cHg7XCIgPlxuXG4gIDxkaXYgKm5nSWY9XCJhY2NvdW50XCIgY2xhc3M9XCJ0aW4tcm93IGFjdGlvbmJ1dHRvbnNcIj5cbiAgICA8bGFiZWwgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDVweDtcIj57e2FjY291bnQ/LmN1cnJlbmN5fX08L2xhYmVsPlxuICAgIDxsYWJlbCBzdHlsZT1cImZvbnQtc2l6ZTogMzRweDttYXJnaW4tcmlnaHQ6IDIwcHg7XCI+e3thY2NvdW50Py5iYWxhbmNlIHwgY3VycmVuY3kgOiAnJyA6ICcnfX08L2xhYmVsPlxuICAgIDxkaXYgKm5nSWY9XCIhc21hbGxTY3JlZW47IHRoZW4gYnV0dG9uc1wiID48L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cIiFzbWFsbFNjcmVlblwiPlxuICAgIDxzcGEtZmlsdGVyIChyZWZyZXNoQ2xpY2spPVwibG9hZERhdGEoKVwiPjwvc3BhLWZpbHRlcj5cbiAgPC9kaXY+XG5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwic21hbGxTY3JlZW5cIiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDEwcHg7XCI+PC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJzbWFsbFNjcmVlbjsgdGhlbiBidXR0b25zXCIgPjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2J1dHRvbnMgPlxuICA8ZGl2IGNsYXNzPVwidGluLXJvdyBhY3Rpb25idXR0b25zXCI+XG4gICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gc3R5bGU9XCJjb2xvcjogZ3JlZW47XCIgKGNsaWNrKT1cInRyYW5zYWN0KCdpbmNvbWUnLCcnKVwiPjxtYXQtaWNvbiBjbGFzcz1cInNpZ25cIj5hZGQ8L21hdC1pY29uPkluY29tZTwvYnV0dG9uPiA8bWF0LWljb24gY2xhc3M9XCJpbmZvXCI+aW5mbzwvbWF0LWljb24+XG4gICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gc3R5bGU9XCJjb2xvcjogcmVkO1wiIChjbGljayk9XCJ0cmFuc2FjdCgnZXhwZW5zZScsJycpXCI+PG1hdC1pY29uIGNsYXNzPVwic2lnblwiPnJlbW92ZTwvbWF0LWljb24+RXhwZW5zZTwvYnV0dG9uPiA8bWF0LWljb24gY2xhc3M9XCJpbmZvXCI+aW5mbzwvbWF0LWljb24+XG4gICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gc3R5bGU9XCJjb2xvcjogb3JhbmdlO1wiIChjbGljayk9XCJ0cmFuc2FjdCgndHJhbnNmZXInLCcnKVwiID48bWF0LWljb24gY2xhc3M9XCJzaWduXCI+c3luY19hbHQ8L21hdC1pY29uPlRyYW5zZmVyPC9idXR0b24+IDxtYXQtaWNvbiBjbGFzcz1cImluZm9cIj5pbmZvPC9tYXQtaWNvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG5cblxuPGRpdiBzdHlsZT1cIiBmb250LXNpemU6IDE0cHg7XCI+XG4gIDxzcGEtdGFibGUgW2NvbmZpZ109XCJjb25maWdcIiBbZGF0YV09XCJ0cmFuc2FjdGlvbnNcIiBbcmVsb2FkXT1cInJlbG9hZFwiIChkYXRhTG9hZCk9XCJsb2FkRGF0YSgpXCIgKGFjdGlvbkNsaWNrKT1cImFjdGlvbkNsaWNrZWQoJGV2ZW50KVwiPjwvc3BhLXRhYmxlPlxuPC9kaXY+XG4iXX0=
|