@acorex/modules 18.1.4 → 18.1.6
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/application-management/index.d.ts +2 -0
- package/application-management/lib/application-management.module.d.ts +0 -2
- package/application-management/lib/application-management.route.d.ts +2 -0
- package/application-management/lib/application-management.service.d.ts +18 -0
- package/application-management/lib/application-management.source.d.ts +7 -0
- package/application-management/lib/application-management.types.d.ts +50 -0
- package/application-management/lib/entity.loader.d.ts +9 -0
- package/application-management/lib/menu.provider.d.ts +4 -0
- package/auth/lib/auth.module.d.ts +4 -7
- package/auth/lib/menu.provider.d.ts +4 -0
- package/backend/lib/data/api/data-provider.d.ts +1 -0
- package/backend/lib/data/index.d.ts +0 -1
- package/backend/lib/data/local/local-data-provider.d.ts +1 -0
- package/esm2022/application-management/index.mjs +3 -1
- package/esm2022/application-management/lib/application-management.module.mjs +17 -47
- package/esm2022/application-management/lib/application-management.route.mjs +29 -0
- package/esm2022/application-management/lib/application-management.service.mjs +19 -3
- package/esm2022/application-management/lib/application-management.source.mjs +8 -0
- package/esm2022/application-management/lib/application-management.types.mjs +2 -0
- package/esm2022/application-management/lib/entities/property.entity.mjs +1 -2
- package/esm2022/application-management/lib/entity.loader.mjs +46 -0
- package/esm2022/application-management/lib/layouts/module-entity-detail-view/module-entity-detail-view.component.mjs +3 -3
- package/esm2022/application-management/lib/menu.provider.mjs +24 -0
- package/esm2022/application-management/lib/module-designer/module-designer.component.mjs +1 -1
- package/esm2022/auth/lib/account/app-chooser/app-chooser-slot.component.mjs +2 -2
- package/esm2022/auth/lib/account/profile/profile-slot.component.mjs +7 -4
- package/esm2022/auth/lib/auth.module.mjs +20 -14
- package/esm2022/auth/lib/login/password/password.component.mjs +2 -2
- package/esm2022/auth/lib/menu.provider.mjs +45 -0
- package/esm2022/backend/lib/backend.module.mjs +22 -16
- package/esm2022/backend/lib/data/api/data-provider.mjs +9 -1
- package/esm2022/backend/lib/data/index.mjs +1 -2
- package/esm2022/backend/lib/data/local/local-data-provider.mjs +11 -1
- package/esm2022/form-management/lib/form-management.module.mjs +32 -8
- package/esm2022/form-management/lib/menu.provider.mjs +29 -0
- package/esm2022/notification-management/index.mjs +6 -1
- package/esm2022/notification-management/lib/admin-notification-slot/admin-notification-item/admin-notification-item.component.mjs +39 -0
- package/esm2022/notification-management/lib/admin-notification-slot/admin-notification-panel/admin-notification-panel.component.mjs +155 -0
- package/esm2022/notification-management/lib/admin-notification-slot/admin-notification-slot/admin-notification-slot.component.mjs +36 -0
- package/esm2022/notification-management/lib/entities/my-notification.mjs +243 -0
- package/esm2022/notification-management/lib/entities/notification-channel.entity.mjs +18 -3
- package/esm2022/notification-management/lib/entities/notification-log.entity.mjs +180 -0
- package/esm2022/notification-management/lib/entities/notification.entity.mjs +207 -0
- package/esm2022/notification-management/lib/entity.loader.mjs +41 -0
- package/esm2022/notification-management/lib/menu.provider.mjs +51 -0
- package/esm2022/notification-management/lib/notification-management-mock-data.mjs +41 -6
- package/esm2022/notification-management/lib/notification-management.module.mjs +53 -36
- package/esm2022/notification-management/lib/notification-management.service.mjs +21 -12
- package/esm2022/notification-management/lib/notification-management.type.mjs +2 -0
- package/esm2022/notification-management/lib/notification.service.mjs +3 -0
- package/esm2022/platform-management/acorex-modules-platform-management.mjs +5 -0
- package/esm2022/platform-management/index.mjs +5 -0
- package/esm2022/platform-management/lib/comments/comment-management.service.mjs +18 -0
- package/esm2022/platform-management/lib/global-variables/entities/global-variable.entity.mjs +295 -0
- package/esm2022/platform-management/lib/global-variables/entity.loader.mjs +26 -0
- package/esm2022/platform-management/lib/global-variables/global-variables.service.mjs +16 -0
- package/esm2022/platform-management/lib/global-variables/global-variables.types.mjs +2 -0
- package/esm2022/platform-management/lib/global-variables/index.mjs +5 -0
- package/esm2022/platform-management/lib/languages/entities/language.entity.mjs +234 -0
- package/esm2022/platform-management/lib/languages/entity.loader.mjs +26 -0
- package/esm2022/platform-management/lib/languages/index.mjs +5 -0
- package/esm2022/platform-management/lib/languages/language-management.service.mjs +16 -0
- package/esm2022/platform-management/lib/languages/language.types.mjs +2 -0
- package/esm2022/platform-management/lib/menu.provider.mjs +46 -0
- package/esm2022/platform-management/lib/platform-management.module.mjs +82 -0
- package/esm2022/template-management/index.mjs +7 -3
- package/esm2022/template-management/lib/entities/category.entity.mjs +233 -0
- package/esm2022/template-management/lib/entities/index.mjs +4 -0
- package/esm2022/template-management/lib/entities/template-variable.entity.mjs +113 -110
- package/esm2022/template-management/lib/entities/text-template.entity.mjs +385 -0
- package/esm2022/template-management/lib/entity.loader.mjs +36 -0
- package/esm2022/template-management/lib/menu.provider.mjs +37 -0
- package/esm2022/template-management/lib/template-management.module.mjs +53 -37
- package/esm2022/template-management/lib/template-management.types.mjs +2 -0
- package/esm2022/template-management/lib/template.service.mjs +17 -0
- package/esm2022/template-management/lib/text-management.source.mjs +3 -0
- package/esm2022/template-management/lib/text-template-category.service.mjs +17 -0
- package/fesm2022/{acorex-modules-application-management-module-designer.component-C-lY0Apl.mjs → acorex-modules-application-management-module-designer.component-BCaCCEXO.mjs} +3 -3
- package/fesm2022/{acorex-modules-application-management-module-designer.component-C-lY0Apl.mjs.map → acorex-modules-application-management-module-designer.component-BCaCCEXO.mjs.map} +1 -1
- package/fesm2022/acorex-modules-application-management.mjs +141 -51
- package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-4OzzidjS.mjs → acorex-modules-auth-acorex-modules-auth-B0aeYVeJ.mjs} +79 -25
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-B0aeYVeJ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-CHTEeWgx.mjs → acorex-modules-auth-app-chooser.component-4b6b3ttW.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-CHTEeWgx.mjs.map → acorex-modules-auth-app-chooser.component-4b6b3ttW.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-blank.layout-Bq822Iz4.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-DMit4yw0.mjs → acorex-modules-auth-login.module-A7u1YYeo.mjs} +4 -4
- package/fesm2022/acorex-modules-auth-login.module-A7u1YYeo.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-master.layout-BCYIjTB0.mjs → acorex-modules-auth-master.layout--UllrmW0.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-BCYIjTB0.mjs.map → acorex-modules-auth-master.layout--UllrmW0.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-D16ms36y.mjs → acorex-modules-auth-password.component-BjqQ-qVo.mjs} +3 -3
- package/fesm2022/acorex-modules-auth-password.component-BjqQ-qVo.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-password.component-WA-CA0Ln.mjs → acorex-modules-auth-password.component-Dv0VXzh_.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-WA-CA0Ln.mjs.map → acorex-modules-auth-password.component-Dv0VXzh_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-C3ye31RS.mjs → acorex-modules-auth-routes-C4eNPru3.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-C3ye31RS.mjs.map → acorex-modules-auth-routes-C4eNPru3.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-tenant-chooser.component-CHr5_kh7.mjs.map +1 -1
- package/fesm2022/acorex-modules-auth-two-factor-code.component-B_7l39pX.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-CkZCBo0B.mjs → acorex-modules-auth-two-factor.module-C6V_pb_Q.mjs} +2 -2
- package/fesm2022/acorex-modules-auth-two-factor.module-C6V_pb_Q.mjs.map +1 -0
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-backend.mjs +40 -155
- package/fesm2022/acorex-modules-backend.mjs.map +1 -1
- package/fesm2022/acorex-modules-form-management-designer.page-SoPH2V7i.mjs.map +1 -1
- package/fesm2022/acorex-modules-form-management.mjs +57 -5
- package/fesm2022/acorex-modules-form-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +1102 -101
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +752 -0
- package/fesm2022/acorex-modules-platform-management.mjs.map +1 -0
- package/fesm2022/acorex-modules-template-management.mjs +600 -194
- package/fesm2022/acorex-modules-template-management.mjs.map +1 -1
- package/form-management/lib/form-management.module.d.ts +2 -1
- package/form-management/lib/menu.provider.d.ts +4 -0
- package/notification-management/index.d.ts +5 -0
- package/notification-management/lib/admin-notification-slot/admin-notification-item/admin-notification-item.component.d.ts +10 -0
- package/notification-management/lib/admin-notification-slot/admin-notification-panel/admin-notification-panel.component.d.ts +35 -0
- package/notification-management/lib/admin-notification-slot/admin-notification-slot/admin-notification-slot.component.d.ts +7 -0
- package/{template-management/lib/entities/global-template.entity.d.ts → notification-management/lib/entities/my-notification.d.ts} +1 -1
- package/notification-management/lib/entities/notification-log.entity.d.ts +3 -0
- package/notification-management/lib/entities/notification.entity.d.ts +3 -0
- package/notification-management/lib/entity.loader.d.ts +9 -0
- package/notification-management/lib/menu.provider.d.ts +4 -0
- package/notification-management/lib/notification-management-mock-data.d.ts +33 -6
- package/notification-management/lib/notification-management.module.d.ts +5 -10
- package/notification-management/lib/notification-management.service.d.ts +8 -4
- package/notification-management/lib/notification-management.type.d.ts +42 -0
- package/notification-management/lib/notification.service.d.ts +6 -0
- package/package.json +6 -6
- package/platform-management/README.md +4 -0
- package/platform-management/index.d.ts +4 -0
- package/platform-management/lib/comments/comment-management.service.d.ts +10 -0
- package/platform-management/lib/global-variables/entities/global-variable.entity.d.ts +3 -0
- package/platform-management/lib/global-variables/entity.loader.d.ts +9 -0
- package/platform-management/lib/global-variables/global-variables.service.d.ts +10 -0
- package/platform-management/lib/global-variables/global-variables.types.d.ts +7 -0
- package/platform-management/lib/global-variables/index.d.ts +4 -0
- package/platform-management/lib/languages/entities/language.entity.d.ts +3 -0
- package/platform-management/lib/languages/entity.loader.d.ts +9 -0
- package/platform-management/lib/languages/index.d.ts +4 -0
- package/platform-management/lib/languages/language-management.service.d.ts +10 -0
- package/platform-management/lib/languages/language.types.d.ts +5 -0
- package/platform-management/lib/menu.provider.d.ts +4 -0
- package/platform-management/lib/platform-management.module.d.ts +6 -0
- package/template-management/index.d.ts +6 -2
- package/template-management/lib/entities/category.entity.d.ts +3 -0
- package/template-management/lib/entities/index.d.ts +3 -0
- package/template-management/lib/entities/template-variable.entity.d.ts +1 -1
- package/template-management/lib/entities/text-template.entity.d.ts +3 -0
- package/template-management/lib/entity.loader.d.ts +9 -0
- package/template-management/lib/menu.provider.d.ts +4 -0
- package/template-management/lib/template-management.module.d.ts +4 -10
- package/template-management/lib/template-management.types.d.ts +19 -0
- package/template-management/lib/template.service.d.ts +10 -0
- package/template-management/lib/text-management.source.d.ts +2 -0
- package/template-management/lib/text-template-category.service.d.ts +10 -0
- package/backend/lib/data/api/comment.mock.service.d.ts +0 -62
- package/esm2022/backend/lib/data/api/comment.mock.service.mjs +0 -142
- package/esm2022/notification/acorex-modules-notification.mjs +0 -5
- package/esm2022/notification/index.mjs +0 -4
- package/esm2022/notification/lib/notification.module.mjs +0 -16
- package/esm2022/template-management/lib/entities/global-template.entity.mjs +0 -298
- package/esm2022/template-management/lib/template-management-mock-data.mjs +0 -11
- package/esm2022/template-management/lib/template-management.service.mjs +0 -24
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-4OzzidjS.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-login.module-DMit4yw0.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-password.component-D16ms36y.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-two-factor.module-CkZCBo0B.mjs.map +0 -1
- package/fesm2022/acorex-modules-notification.mjs +0 -26
- package/fesm2022/acorex-modules-notification.mjs.map +0 -1
- package/notification/README.md +0 -4
- package/notification/index.d.ts +0 -1
- package/notification/lib/notification.module.d.ts +0 -6
- package/template-management/lib/template-management-mock-data.d.ts +0 -7
- package/template-management/lib/template-management.service.d.ts +0 -9
@@ -0,0 +1,46 @@
|
|
1
|
+
import { Injectable, Injector, inject } from '@angular/core';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export class AXMApplicationManagementModuleEntityLoader {
|
4
|
+
constructor() {
|
5
|
+
this.injector = inject(Injector);
|
6
|
+
}
|
7
|
+
async get(moduleName, entityName) {
|
8
|
+
return new Promise(async (resolve) => {
|
9
|
+
switch (entityName) {
|
10
|
+
case 'module': {
|
11
|
+
const entity = (await import('./entities/modules.entity')).modulesEntityFactory;
|
12
|
+
resolve(entity(this.injector));
|
13
|
+
break;
|
14
|
+
}
|
15
|
+
case 'feature': {
|
16
|
+
const entity = (await import('./entities/feature.entity')).featureEntityFactory;
|
17
|
+
resolve(entity(this.injector));
|
18
|
+
break;
|
19
|
+
}
|
20
|
+
case 'entity': {
|
21
|
+
const entity = (await import('./entities/entity.entity')).entityEntityFactory;
|
22
|
+
resolve(entity(this.injector));
|
23
|
+
break;
|
24
|
+
}
|
25
|
+
case 'permission': {
|
26
|
+
const entity = (await import('./entities/permission.entity')).permissionEntityFactory;
|
27
|
+
resolve(entity(this.injector));
|
28
|
+
break;
|
29
|
+
}
|
30
|
+
case 'property': {
|
31
|
+
const entity = (await import('./entities/property.entity')).propertyEntityFactory;
|
32
|
+
resolve(entity(this.injector));
|
33
|
+
break;
|
34
|
+
}
|
35
|
+
default:
|
36
|
+
resolve(null);
|
37
|
+
}
|
38
|
+
});
|
39
|
+
}
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMApplicationManagementModuleEntityLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
41
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMApplicationManagementModuleEntityLoader }); }
|
42
|
+
}
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMApplicationManagementModuleEntityLoader, decorators: [{
|
44
|
+
type: Injectable
|
45
|
+
}] });
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LmxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9hcHBsaWNhdGlvbi1tYW5hZ2VtZW50L3NyYy9saWIvZW50aXR5LmxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzdELE1BQU0sT0FBTywwQ0FBMEM7SUFEdkQ7UUFFVSxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBbUNyQztJQWpDQyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQWtCLEVBQUUsVUFBa0I7UUFDOUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDbkMsUUFBUSxVQUFVLEVBQUUsQ0FBQztnQkFDbkIsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO29CQUNkLE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO29CQUNoRixPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO29CQUMvQixNQUFNO2dCQUNSLENBQUM7Z0JBQ0QsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO29CQUNmLE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO29CQUNoRixPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO29CQUMvQixNQUFNO2dCQUNSLENBQUM7Z0JBQ0QsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO29CQUNkLE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDO29CQUM5RSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO29CQUMvQixNQUFNO2dCQUNSLENBQUM7Z0JBQ0QsS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDO29CQUNsQixNQUFNLE1BQU0sR0FBRyxDQUFDLE1BQU0sTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDdEYsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztvQkFDL0IsTUFBTTtnQkFDUixDQUFDO2dCQUNELEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQztvQkFDaEIsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFNLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUM7b0JBQ2xGLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7b0JBQy9CLE1BQU07Z0JBQ1IsQ0FBQztnQkFDRDtvQkFDRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FuQ1UsMENBQTBDO2tIQUExQywwQ0FBMEM7OzJGQUExQywwQ0FBMEM7a0JBRHRELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBFbnRpdHkgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBFbnRpdHlEZWZpbml0aW9uTG9hZGVyIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTUFwcGxpY2F0aW9uTWFuYWdlbWVudE1vZHVsZUVudGl0eUxvYWRlciBpbXBsZW1lbnRzIEFYUEVudGl0eURlZmluaXRpb25Mb2FkZXIge1xuICBwcml2YXRlIGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICBhc3luYyBnZXQobW9kdWxlTmFtZTogc3RyaW5nLCBlbnRpdHlOYW1lOiBzdHJpbmcpOiBQcm9taXNlPEFYUEVudGl0eSB8IG51bGw+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUpID0+IHtcbiAgICAgIHN3aXRjaCAoZW50aXR5TmFtZSkge1xuICAgICAgICBjYXNlICdtb2R1bGUnOiB7XG4gICAgICAgICAgY29uc3QgZW50aXR5ID0gKGF3YWl0IGltcG9ydCgnLi9lbnRpdGllcy9tb2R1bGVzLmVudGl0eScpKS5tb2R1bGVzRW50aXR5RmFjdG9yeTtcbiAgICAgICAgICByZXNvbHZlKGVudGl0eSh0aGlzLmluamVjdG9yKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnZmVhdHVyZSc6IHtcbiAgICAgICAgICBjb25zdCBlbnRpdHkgPSAoYXdhaXQgaW1wb3J0KCcuL2VudGl0aWVzL2ZlYXR1cmUuZW50aXR5JykpLmZlYXR1cmVFbnRpdHlGYWN0b3J5O1xuICAgICAgICAgIHJlc29sdmUoZW50aXR5KHRoaXMuaW5qZWN0b3IpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdlbnRpdHknOiB7XG4gICAgICAgICAgY29uc3QgZW50aXR5ID0gKGF3YWl0IGltcG9ydCgnLi9lbnRpdGllcy9lbnRpdHkuZW50aXR5JykpLmVudGl0eUVudGl0eUZhY3Rvcnk7XG4gICAgICAgICAgcmVzb2x2ZShlbnRpdHkodGhpcy5pbmplY3RvcikpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ3Blcm1pc3Npb24nOiB7XG4gICAgICAgICAgY29uc3QgZW50aXR5ID0gKGF3YWl0IGltcG9ydCgnLi9lbnRpdGllcy9wZXJtaXNzaW9uLmVudGl0eScpKS5wZXJtaXNzaW9uRW50aXR5RmFjdG9yeTtcbiAgICAgICAgICByZXNvbHZlKGVudGl0eSh0aGlzLmluamVjdG9yKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAncHJvcGVydHknOiB7XG4gICAgICAgICAgY29uc3QgZW50aXR5ID0gKGF3YWl0IGltcG9ydCgnLi9lbnRpdGllcy9wcm9wZXJ0eS5lbnRpdHknKSkucHJvcGVydHlFbnRpdHlGYWN0b3J5O1xuICAgICAgICAgIHJlc29sdmUoZW50aXR5KHRoaXMuaW5qZWN0b3IpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJlc29sdmUobnVsbCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
@@ -52,7 +52,7 @@ export class AXPModuleEntityDetailViewComponent {
|
|
52
52
|
this.vm.destroy();
|
53
53
|
}
|
54
54
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPModuleEntityDetailViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
55
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPModuleEntityDetailViewComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div\n class=\"ax-flex ax-flex-col ax-gap-4 ax-min-h-full ax-px-4 ax-pb-4 md:ax-px-6 ax-bg-surface ax-border-b md:ax-border-0 md:ax-bg-default\"
|
55
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPModuleEntityDetailViewComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div\n class=\"ax-flex ax-flex-col ax-gap-4 ax-min-h-full ax-px-4 ax-pb-4 md:ax-px-6 ax-bg-surface ax-border-b md:ax-border-0 md:ax-bg-default\">\n <div class=\"ax-flex ax-flex-col ax-pt-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all\" #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface ax-px-6 ax-py-3 -ax-mx-6 ax-shadow-xl'\" [stickyOffset]=\"30\">\n <!-------- Begin Toolbar -------->\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <!-------- Begin Title -------->\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-transition\">\n <div class=\"ax-text-xl md:ax-text-2xl ax-font-bold\">{{ vm.title() }}</div>\n @if(vm.description()) {\n <div class=\"ax-text-sm ax-text-neutral-600\" [class.ax-hidden]=\"sticky.isSticky\">\n {{ vm.description() }}\n </div>\n }\n <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400\" [class.ax-hidden]=\"isSM | async\">\n <ng-template #divider>\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\n </ng-template>\n @for(b of vm.beardcrumbs();track $index;let last=$last) {\n <ax-breadcrumbs-item [active]=\"last\" [class.!ax-font-semibold]=\"last\" [class.!ax-text-neutral-600]=\"last\"\n [routerLink]=\"b.url\">\n @if(b.icon) {\n <i [class]=\"b.icon\"></i>\n }\n {{ b.title }}\n </ax-breadcrumbs-item>\n }\n </ax-breadcrumbs>\n </div>\n </div>\n <!-------- Finish Title -------->\n <!--------------------------------------------------------------->\n <!-- Begin Action Menu -->\n <div class=\"ax-flex ax-items-center ax-gap-3\">\n @for(tr of vm.primaryActions();track $index) {\n <ax-button [text]=\"tr.title\" [color]=\"tr.color\" (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button>\n } @if(vm.secondaryActions().length) {\n <ax-button [text]=\"(isSM | async) ? null : 'Actions'\" color=\"ghost\">\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n @for(tr of vm.secondaryActions();track $index) {\n <ng-container>\n @if(tr.separated) {\n <ax-divider></ax-divider>\n }\n <ax-button-item [text]=\"tr.title\" class=\"ax-font-semibold ax-text-{{ tr.color }}\"\n (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ng-container>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </div>\n <!-- Finish Action Menu -->\n </div>\n <!-- Start Sections -->\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for(section of vm.sections(); track section.name()) {\n <div class=\"ax-card ax-mt-4\" [gridLayout]=\"section.layout()\">\n <ax-form #form>\n <axp-widgets-container [context]=\"vm.context()\">\n <div class=\"ax-card-header !ax-py-2 !ax-px-4\">\n <p>\n <span class=\"!ax-text-lg ax-font-semibold\">{{ section.title() }}</span>\n <br />\n @if(section.description()) {\n <span class=\"ax-text-sm ax-font-normal ax-text-gray-500\">{{ section.description() }}</span>\n }\n </p>\n @if(section.editable()) {\n <ax-button class=\"ax-xs\" color=\"ghost\" [look]=\"'blank'\"\n (onClick)=\"vm.executeCommand('modify-entity-section', section)\">\n <ax-icon class=\"fa-solid fa-pen ax-text-gray-600\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for(attr of section.props(); track $index) {\n <div class=\"ax-flex ax-flex-col ax-gap-1\" [gridLayout]=\"attr.layout()\">\n <div>\n <div>\n <span class=\"ax-font-semibold\">{{ attr.title() }}</span>\n </div>\n </div>\n <div class=\"ax-text-neutral-500\">\n <axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'view'\"> </axp-widget-renderer>\n </div>\n </div>\n }\n </div>\n </axp-widgets-container>\n </ax-form>\n </div>\n }\n </div>\n <!-- Finish Sections -->\n @if(vm.relatedEntities().length) {\n <ax-tabs [look]=\"'with-line'\" class=\"ax-mt-2 ax-font-semibold\" #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\">\n @for(e of vm.relatedEntities();track $index;let index= $index){\n <ax-tab-item [text]=\"e.title()\" [key]=\"index.toString()\"> </ax-tab-item>\n }\n </ax-tabs>\n @for(e of vm.relatedEntities();track $index;let index= $index){\n <div [class.ax-hidden]=\"$index !== selectedRelatedIEntityTabIndex()\">\n <axp-entity-detail-list-view [viewModel]=\"e\"></axp-entity-detail-list-view>\n </div>\n } }\n </div>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i4.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i5.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i6.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i6.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i7.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i7.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i7.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "component", type: i8.AXBreadCrumbsComponent, selector: "ax-breadcrumbs" }, { kind: "component", type: i8.AXBreadCrumbsItemComponent, selector: "ax-breadcrumbs-item", inputs: ["disabled", "active"] }, { kind: "ngmodule", type:
|
56
56
|
//
|
57
57
|
AXPLayoutBuilderModule }, { kind: "component", type: i9.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "variables", "functions"], outputs: ["onChanged", "contextChange"] }, { kind: "component", type: i9.AXPWidgetRendererComponent, selector: "axp-widget-renderer", inputs: ["node", "mode", "parentNode", "index"] }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "directive", type: AXPStickyDirective, selector: "[axpSticky]", inputs: ["axpSticky", "stickyOffset", "stickyParent", "stickyTarget"], outputs: ["isStickyChange"], exportAs: ["axpSticky"] }, { kind: "directive", type: AXPGridLayoutDirective, selector: "[gridLayout]", inputs: ["gridLayout"] }, { kind: "ngmodule", type:
|
58
58
|
//
|
@@ -82,6 +82,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
82
82
|
//
|
83
83
|
AXTranslationModule,
|
84
84
|
AXPEntityDetailListViewComponent,
|
85
|
-
], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"ax-flex ax-flex-col ax-gap-4 ax-min-h-full ax-px-4 ax-pb-4 md:ax-px-6 ax-bg-surface ax-border-b md:ax-border-0 md:ax-bg-default\"
|
85
|
+
], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"ax-flex ax-flex-col ax-gap-4 ax-min-h-full ax-px-4 ax-pb-4 md:ax-px-6 ax-bg-surface ax-border-b md:ax-border-0 md:ax-bg-default\">\n <div class=\"ax-flex ax-flex-col ax-pt-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all\" #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface ax-px-6 ax-py-3 -ax-mx-6 ax-shadow-xl'\" [stickyOffset]=\"30\">\n <!-------- Begin Toolbar -------->\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <!-------- Begin Title -------->\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-transition\">\n <div class=\"ax-text-xl md:ax-text-2xl ax-font-bold\">{{ vm.title() }}</div>\n @if(vm.description()) {\n <div class=\"ax-text-sm ax-text-neutral-600\" [class.ax-hidden]=\"sticky.isSticky\">\n {{ vm.description() }}\n </div>\n }\n <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400\" [class.ax-hidden]=\"isSM | async\">\n <ng-template #divider>\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\n </ng-template>\n @for(b of vm.beardcrumbs();track $index;let last=$last) {\n <ax-breadcrumbs-item [active]=\"last\" [class.!ax-font-semibold]=\"last\" [class.!ax-text-neutral-600]=\"last\"\n [routerLink]=\"b.url\">\n @if(b.icon) {\n <i [class]=\"b.icon\"></i>\n }\n {{ b.title }}\n </ax-breadcrumbs-item>\n }\n </ax-breadcrumbs>\n </div>\n </div>\n <!-------- Finish Title -------->\n <!--------------------------------------------------------------->\n <!-- Begin Action Menu -->\n <div class=\"ax-flex ax-items-center ax-gap-3\">\n @for(tr of vm.primaryActions();track $index) {\n <ax-button [text]=\"tr.title\" [color]=\"tr.color\" (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button>\n } @if(vm.secondaryActions().length) {\n <ax-button [text]=\"(isSM | async) ? null : 'Actions'\" color=\"ghost\">\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n @for(tr of vm.secondaryActions();track $index) {\n <ng-container>\n @if(tr.separated) {\n <ax-divider></ax-divider>\n }\n <ax-button-item [text]=\"tr.title\" class=\"ax-font-semibold ax-text-{{ tr.color }}\"\n (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ng-container>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </div>\n <!-- Finish Action Menu -->\n </div>\n <!-- Start Sections -->\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for(section of vm.sections(); track section.name()) {\n <div class=\"ax-card ax-mt-4\" [gridLayout]=\"section.layout()\">\n <ax-form #form>\n <axp-widgets-container [context]=\"vm.context()\">\n <div class=\"ax-card-header !ax-py-2 !ax-px-4\">\n <p>\n <span class=\"!ax-text-lg ax-font-semibold\">{{ section.title() }}</span>\n <br />\n @if(section.description()) {\n <span class=\"ax-text-sm ax-font-normal ax-text-gray-500\">{{ section.description() }}</span>\n }\n </p>\n @if(section.editable()) {\n <ax-button class=\"ax-xs\" color=\"ghost\" [look]=\"'blank'\"\n (onClick)=\"vm.executeCommand('modify-entity-section', section)\">\n <ax-icon class=\"fa-solid fa-pen ax-text-gray-600\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for(attr of section.props(); track $index) {\n <div class=\"ax-flex ax-flex-col ax-gap-1\" [gridLayout]=\"attr.layout()\">\n <div>\n <div>\n <span class=\"ax-font-semibold\">{{ attr.title() }}</span>\n </div>\n </div>\n <div class=\"ax-text-neutral-500\">\n <axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'view'\"> </axp-widget-renderer>\n </div>\n </div>\n }\n </div>\n </axp-widgets-container>\n </ax-form>\n </div>\n }\n </div>\n <!-- Finish Sections -->\n @if(vm.relatedEntities().length) {\n <ax-tabs [look]=\"'with-line'\" class=\"ax-mt-2 ax-font-semibold\" #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\">\n @for(e of vm.relatedEntities();track $index;let index= $index){\n <ax-tab-item [text]=\"e.title()\" [key]=\"index.toString()\"> </ax-tab-item>\n }\n </ax-tabs>\n @for(e of vm.relatedEntities();track $index;let index= $index){\n <div [class.ax-hidden]=\"$index !== selectedRelatedIEntityTabIndex()\">\n <axp-entity-detail-list-view [viewModel]=\"e\"></axp-entity-detail-list-view>\n </div>\n } }\n </div>\n</div>" }]
|
86
86
|
}] });
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLWVudGl0eS1kZXRhaWwtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXBwbGljYXRpb24tbWFuYWdlbWVudC9zcmMvbGliL2xheW91dHMvbW9kdWxlLWVudGl0eS1kZXRhaWwtdmlldy9tb2R1bGUtZW50aXR5LWRldGFpbC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9hcHBsaWNhdGlvbi1tYW5hZ2VtZW50L3NyYy9saWIvbGF5b3V0cy9tb2R1bGUtZW50aXR5LWRldGFpbC12aWV3L21vZHVsZS1lbnRpdHktZGV0YWlsLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBMEIsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBRUwsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsYUFBYSxHQUNkLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFekUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7Ozs7O0FBOEJwQyxNQUFNLE9BQU8sa0NBQWtDO0lBNUIvQztRQTZCVSxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNyQyxhQUFRLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDM0IsT0FBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQW1DLENBQUM7UUFDL0YsRUFBRTtRQUNNLFVBQUssR0FBRyxNQUFNLENBQUMsQ0FBQSxLQUEwQixDQUFBLENBQUMsQ0FBQztRQUN6QyxTQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUMxQyxXQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUU3QyxtQ0FBOEIsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFPM0MsMkJBQXNCLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBUzlDO0lBZEMsZ0NBQWdDLENBQUMsQ0FBeUI7UUFDeEQsSUFBSSxDQUFDLDhCQUE4QixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDbkIsQ0FBQztJQUlELDRCQUE0QixDQUFDLENBQXlCO1FBQ3BELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQixDQUFDOzhHQXhCVSxrQ0FBa0M7a0dBQWxDLGtDQUFrQyx3RUN6RC9DLHV0TEErSUEsMkNEL0dJLFlBQVksbUZBQ1osWUFBWSwrUUFDWixpQkFBaUIsdVZBQ2pCLGdCQUFnQix3UEFDaEIsZUFBZSw4QkFDZixZQUFZLGtNQUNaLG1CQUFtQiw4QkFDbkIsY0FBYyw4QkFDZCxjQUFjLDhCQUNkLGVBQWUsOEJBQ2YsWUFBWSxrYUFDWixjQUFjLDh2QkFDZCxtQkFBbUI7Z0JBQ25CLEVBQUU7Z0JBQ0Ysc0JBQXNCLG9XQUN0QixnQkFBZ0IsK0JBQ2hCLGtCQUFrQixxTEFDbEIsc0JBQXNCO2dCQUN0QixFQUFFO2dCQUNGLG1CQUFtQiwrQkFDbkIsZ0NBQWdDOzsyRkFLdkIsa0NBQWtDO2tCQTVCOUMsU0FBUzs4QkFFQzt3QkFDUCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLEVBQUU7d0JBQ0Ysc0JBQXNCO3dCQUN0QixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3dCQUN0QixFQUFFO3dCQUNGLG1CQUFtQjt3QkFDbkIsZ0NBQWdDO3FCQUNqQyxjQUNXLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQWN0aW9uU2hlZXRNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYWN0aW9uLXNoZWV0JztcbmltcG9ydCB7IEFYQnJlYWRjcnVtYnNNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEaWFsb2dNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYRHJhd2VyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RyYXdlcic7XG5pbXBvcnQgeyBBWERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEFYRm9ybU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IEFYTG9hZGluZ01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nJztcbmltcG9ydCB7IEFYUG9wb3Zlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3BvdmVyJztcbmltcG9ydCB7IEFYVGFic01vZHVsZSwgQVhUYWJTdHJpcENoYW5nZWRFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90YWJzJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHtcbiAgQVhQQWRtaW5MYXlvdXRTdGF0ZSxcbiAgQVhQR3JpZExheW91dERpcmVjdGl2ZSxcbiAgQVhQU3RpY2t5RGlyZWN0aXZlLFxuICBnZXRDaGlsZERyYXdlcixcbiAgaXNTbWFsbFNjcmVlbixcbn0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQVhQRW50aXR5TWFzdGVyU2luZ2xlVmlld01vZGVsIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUEVudGl0eURldGFpbExpc3RWaWV3Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS90aGVtZXMvZGVmYXVsdCc7XG5pbXBvcnQgeyBBWFBXaWRnZXRzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93aWRnZXRzJztcbmltcG9ydCB7IEFYUFdvcmtmbG93U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL21vZHVsZS1lbnRpdHktZGV0YWlsLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWERyb3Bkb3duTW9kdWxlLFxuICAgIEFYUG9wb3Zlck1vZHVsZSxcbiAgICBBWEZvcm1Nb2R1bGUsXG4gICAgQVhBY3Rpb25TaGVldE1vZHVsZSxcbiAgICBBWERyYXdlck1vZHVsZSxcbiAgICBBWERpYWxvZ01vZHVsZSxcbiAgICBBWExvYWRpbmdNb2R1bGUsXG4gICAgQVhUYWJzTW9kdWxlLFxuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIEFYQnJlYWRjcnVtYnNNb2R1bGUsXG4gICAgLy9cbiAgICBBWFBMYXlvdXRCdWlsZGVyTW9kdWxlLFxuICAgIEFYUFdpZGdldHNNb2R1bGUsXG4gICAgQVhQU3RpY2t5RGlyZWN0aXZlLFxuICAgIEFYUEdyaWRMYXlvdXREaXJlY3RpdmUsXG4gICAgLy9cbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgIEFYUEVudGl0eURldGFpbExpc3RWaWV3Q29tcG9uZW50LFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhQTW9kdWxlRW50aXR5RGV0YWlsVmlld0NvbXBvbmVudCB7XG4gIHByaXZhdGUgYWN0aXZlUm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBwcml2YXRlIHdvcmtmbG93ID0gaW5qZWN0KEFYUFdvcmtmbG93U2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSB2bSA9IHRoaXMuYWN0aXZlUm91dGUuc25hcHNob3QuZGF0YVsndm0nXSBhcyBBWFBFbnRpdHlNYXN0ZXJTaW5nbGVWaWV3TW9kZWw7XG4gIC8vXG4gIHByaXZhdGUgc3RvcmUgPSBpbmplY3QoU3RvcmU8QVhQQWRtaW5MYXlvdXRTdGF0ZT4pO1xuICBwcm90ZWN0ZWQgaXNTTSA9IHRoaXMuc3RvcmUuc2VsZWN0KGlzU21hbGxTY3JlZW4oKSk7XG4gIHByb3RlY3RlZCBpc09wZW4gPSB0aGlzLnN0b3JlLnNlbGVjdChnZXRDaGlsZERyYXdlcigpKTtcblxuICBwcm90ZWN0ZWQgc2VsZWN0ZWRSZWxhdGVkSUVudGl0eVRhYkluZGV4ID0gc2lnbmFsKDApO1xuXG4gIGhhbmRsZUFjdGl2ZVJlbGF0ZWRFbnRpdHlDaGFuZ2VkKGU6IEFYVGFiU3RyaXBDaGFuZ2VkRXZlbnQpIHtcbiAgICB0aGlzLnNlbGVjdGVkUmVsYXRlZElFbnRpdHlUYWJJbmRleC5zZXQoZS5pbmRleCk7XG4gICAgdGhpcy52bS5zZWN0aW9ucztcbiAgfVxuXG4gIHByb3RlY3RlZCBzZWxlY3RlZERldGFpbFRhYkluZGV4ID0gc2lnbmFsKDApO1xuXG4gIGhhbmRsZUFjdGl2ZURldGFpbFRhYkNoYW5nZWQoZTogQVhUYWJTdHJpcENoYW5nZWRFdmVudCkge1xuICAgIHRoaXMuc2VsZWN0ZWREZXRhaWxUYWJJbmRleC5zZXQoZS5pbmRleCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnZtLmRlc3Ryb3koKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTQgYXgtbWluLWgtZnVsbCBheC1weC00IGF4LXBiLTQgbWQ6YXgtcHgtNiBheC1iZy1zdXJmYWNlIGF4LWJvcmRlci1iIG1kOmF4LWJvcmRlci0wIG1kOmF4LWJnLWRlZmF1bHRcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LXB0LTQgYXgtc3RpY2t5IGF4LXRvcC0wIGF4LXotMTAgYXgtdHJhbnNpdGlvbi1hbGxcIlxuICAgICNzdGlja3k9XCJheHBTdGlja3lcIlxuICAgIFtheHBTdGlja3ldPVwiJ2F4LWJnLXN1cmZhY2UgYXgtcHgtNiBheC1weS0zIC1heC1teC02IGF4LXNoYWRvdy14bCdcIlxuICAgIFtzdGlja3lPZmZzZXRdPVwiMzBcIlxuICA+XG4gICAgPCEtLS0tLS0tLSBCZWdpbiBUb29sYmFyICAtLS0tLS0tLT5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1qdXN0aWZ5LWJldHdlZW4gYXgtaXRlbXMtY2VudGVyXCI+XG4gICAgICA8IS0tLS0tLS0tIEJlZ2luIFRpdGxlICAtLS0tLS0tLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWdhcC0xIGF4LWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtMiBheC10cmFuc2l0aW9uXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXRleHQteGwgbWQ6YXgtdGV4dC0zeGwgYXgtZm9udC1ib2xkXCI+e3sgdm0udGl0bGUoKSB9fTwvZGl2PlxuICAgICAgICAgIEBpZih2bS5kZXNjcmlwdGlvbigpKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXRleHQtc20gYXgtdGV4dC1uZXV0cmFsLTYwMFwiIFtjbGFzcy5heC1oaWRkZW5dPVwic3RpY2t5LmlzU3RpY2t5XCI+XG4gICAgICAgICAgICB7eyB2bS5kZXNjcmlwdGlvbigpIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICAgIDxheC1icmVhZGNydW1icyBjbGFzcz1cImNoaWxkOmF4LWZvbnQtbm9ybWFsIGNoaWxkOmF4LXRleHQtbmV1dHJhbC00MDBcIiBbY2xhc3MuYXgtaGlkZGVuXT1cImlzU00gfCBhc3luY1wiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkaXZpZGVyPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWNoZXZyb24tcmlnaHQgYXgtdGV4dC14cyBheC1teC0yXCI+PC9pPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIEBmb3IoYiBvZiB2bS5iZWFyZGNydW1icygpO3RyYWNrICRpbmRleDtsZXQgbGFzdD0kbGFzdCkge1xuICAgICAgICAgICAgPGF4LWJyZWFkY3J1bWJzLWl0ZW1cbiAgICAgICAgICAgICAgW2FjdGl2ZV09XCJsYXN0XCJcbiAgICAgICAgICAgICAgW2NsYXNzLiFheC1mb250LXNlbWlib2xkXT1cImxhc3RcIlxuICAgICAgICAgICAgICBbY2xhc3MuIWF4LXRleHQtbmV1dHJhbC02MDBdPVwibGFzdFwiXG4gICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImIudXJsXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgQGlmKGIuaWNvbikge1xuICAgICAgICAgICAgICA8aSBbY2xhc3NdPVwiYi5pY29uXCI+PC9pPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHt7IGIudGl0bGUgfX1cbiAgICAgICAgICAgIDwvYXgtYnJlYWRjcnVtYnMtaXRlbT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2F4LWJyZWFkY3J1bWJzPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLS0tLS0tLSBGaW5pc2ggVGl0bGUgIC0tLS0tLS0tPlxuICAgICAgPCEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0+XG4gICAgICA8IS0tIEJlZ2luIEFjdGlvbiBNZW51ICAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1nYXAtM1wiPlxuICAgICAgICBAZm9yKHRyIG9mIHZtLnByaW1hcnlBY3Rpb25zKCk7dHJhY2sgJGluZGV4KSB7XG4gICAgICAgIDxheC1idXR0b24gW3RleHRdPVwidHIudGl0bGVcIiBbY29sb3JdPVwidHIuY29sb3JcIiAob25DbGljayk9XCJ2bS5leGVjdXRlQ29tbWFuZCh0ci5uYW1lKVwiPlxuICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICA8YXgtaWNvbiBbaWNvbl09XCJ0ci5pY29uXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgIH0gQGlmKHZtLnNlY29uZGFyeUFjdGlvbnMoKS5sZW5ndGgpIHtcbiAgICAgICAgPGF4LWJ1dHRvbiBbdGV4dF09XCIoaXNTTSB8IGFzeW5jKSA/IG51bGwgOiAnQWN0aW9ucydcIiBjb2xvcj1cImdob3N0XCI+XG4gICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtZWxsaXBzaXMtdmVydGljYWxcIj48L2k+XG4gICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgICAgPGF4LWRyb3Bkb3duLXBhbmVsPlxuICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgICAgIEBmb3IodHIgb2Ygdm0uc2Vjb25kYXJ5QWN0aW9ucygpO3RyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICA8bmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIEBpZih0ci5zZXBhcmF0ZWQpIHtcbiAgICAgICAgICAgICAgICA8YXgtZGl2aWRlcj48L2F4LWRpdmlkZXI+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxheC1idXR0b24taXRlbVxuICAgICAgICAgICAgICAgICAgW3RleHRdPVwidHIudGl0bGVcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJheC1mb250LXNlbWlib2xkIGF4LXRleHQte3sgdHIuY29sb3IgfX1cIlxuICAgICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwidm0uZXhlY3V0ZUNvbW1hbmQodHIubmFtZSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgICAgIDxheC1pY29uIFtpY29uXT1cInRyLmljb25cIj4gPC9heC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgICA8L2F4LWRyb3Bkb3duLXBhbmVsPlxuICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIEZpbmlzaCBBY3Rpb24gTWVudSAgLS0+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBTdGFydCBTZWN0aW9ucyAgLS0+XG4gICAgPGRpdiBjbGFzcz1cImF4LWdyaWQgYXgtZ3JpZC1jb2xzLTEyIGF4LWdhcC00XCI+XG4gICAgICBAZm9yKHNlY3Rpb24gb2Ygdm0uc2VjdGlvbnMoKTsgdHJhY2sgc2VjdGlvbi5uYW1lKCkpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJheC1jYXJkIGF4LW10LTRcIiBbZ3JpZExheW91dF09XCJzZWN0aW9uLmxheW91dCgpXCI+XG4gICAgICAgIDxheC1mb3JtICNmb3JtPlxuICAgICAgICAgIDxheHAtd2lkZ2V0cy1jb250YWluZXIgW2NvbnRleHRdPVwidm0uY29udGV4dCgpXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FyZC1oZWFkZXIgIWF4LXB5LTIgIWF4LXB4LTRcIj5cbiAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCIhYXgtdGV4dC1sZyBheC1mb250LXNlbWlib2xkXCI+e3sgc2VjdGlvbi50aXRsZSgpIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICAgIEBpZihzZWN0aW9uLmRlc2NyaXB0aW9uKCkpIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LXRleHQtc20gYXgtZm9udC1ub3JtYWwgYXgtdGV4dC1ncmF5LTUwMFwiPnt7IHNlY3Rpb24uZGVzY3JpcHRpb24oKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgQGlmKHNlY3Rpb24uZWRpdGFibGUoKSkge1xuICAgICAgICAgICAgICA8YXgtYnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJheC14c1wiXG4gICAgICAgICAgICAgICAgY29sb3I9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgW2xvb2tdPVwiJ2JsYW5rJ1wiXG4gICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwidm0uZXhlY3V0ZUNvbW1hbmQoJ21vZGlmeS1lbnRpdHktc2VjdGlvbicsIHNlY3Rpb24pXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtcGVuIGF4LXRleHQtZ3JheS02MDBcIj4gPC9heC1pY29uPlxuICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY2FyZC1ib2R5ICFheC1ncmlkICFheC1ncmlkLWNvbHMtMTIgIWF4LWdhcC00XCI+XG4gICAgICAgICAgICAgIEBmb3IoYXR0ciBvZiBzZWN0aW9uLnByb3BzKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtMVwiIFtncmlkTGF5b3V0XT1cImF0dHIubGF5b3V0KClcIj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1mb250LXNlbWlib2xkXCI+e3sgYXR0ci50aXRsZSgpIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXRleHQtbmV1dHJhbC01MDBcIj5cbiAgICAgICAgICAgICAgICAgIDxheHAtd2lkZ2V0LXJlbmRlcmVyIFtub2RlXT1cImF0dHIubm9kZSgpXCIgW21vZGVdPVwiJ3ZpZXcnXCI+IDwvYXhwLXdpZGdldC1yZW5kZXJlcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvYXhwLXdpZGdldHMtY29udGFpbmVyPlxuICAgICAgICA8L2F4LWZvcm0+XG4gICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8IS0tIEZpbmlzaCBTZWN0aW9ucyAgLS0+XG4gICAgQGlmKHZtLnJlbGF0ZWRFbnRpdGllcygpLmxlbmd0aCkge1xuICAgIDxheC10YWJzXG4gICAgICBbbG9va109XCInd2l0aC1saW5lJ1wiXG4gICAgICBjbGFzcz1cImF4LW10LTIgYXgtZm9udC1zZW1pYm9sZFwiXG4gICAgICAjdGFiXG4gICAgICAob25BY3RpdmVUYWJDaGFuZ2VkKT1cImhhbmRsZUFjdGl2ZVJlbGF0ZWRFbnRpdHlDaGFuZ2VkKCRldmVudClcIlxuICAgID5cbiAgICAgIEBmb3IoZSBvZiB2bS5yZWxhdGVkRW50aXRpZXMoKTt0cmFjayAkaW5kZXg7bGV0IGluZGV4PSAkaW5kZXgpe1xuICAgICAgPGF4LXRhYi1pdGVtIFt0ZXh0XT1cImUudGl0bGUoKVwiIFtrZXldPVwiaW5kZXgudG9TdHJpbmcoKVwiPiA8L2F4LXRhYi1pdGVtPlxuICAgICAgfVxuICAgIDwvYXgtdGFicz5cbiAgICBAZm9yKGUgb2Ygdm0ucmVsYXRlZEVudGl0aWVzKCk7dHJhY2sgJGluZGV4O2xldCBpbmRleD0gJGluZGV4KXtcbiAgICA8ZGl2IFtjbGFzcy5heC1oaWRkZW5dPVwiJGluZGV4ICE9PSBzZWxlY3RlZFJlbGF0ZWRJRW50aXR5VGFiSW5kZXgoKVwiPlxuICAgICAgPGF4cC1lbnRpdHktZGV0YWlsLWxpc3QtdmlldyBbdmlld01vZGVsXT1cImVcIj48L2F4cC1lbnRpdHktZGV0YWlsLWxpc3Qtdmlldz5cbiAgICA8L2Rpdj5cbiAgICB9IH1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLWVudGl0eS1kZXRhaWwtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXBwbGljYXRpb24tbWFuYWdlbWVudC9zcmMvbGliL2xheW91dHMvbW9kdWxlLWVudGl0eS1kZXRhaWwtdmlldy9tb2R1bGUtZW50aXR5LWRldGFpbC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9hcHBsaWNhdGlvbi1tYW5hZ2VtZW50L3NyYy9saWIvbGF5b3V0cy9tb2R1bGUtZW50aXR5LWRldGFpbC12aWV3L21vZHVsZS1lbnRpdHktZGV0YWlsLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBMEIsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBRUwsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsYUFBYSxHQUNkLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFekUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7Ozs7O0FBOEJwQyxNQUFNLE9BQU8sa0NBQWtDO0lBNUIvQztRQTZCVSxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNyQyxhQUFRLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDM0IsT0FBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQW1DLENBQUM7UUFDL0YsRUFBRTtRQUNNLFVBQUssR0FBRyxNQUFNLENBQUMsQ0FBQSxLQUEwQixDQUFBLENBQUMsQ0FBQztRQUN6QyxTQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUMxQyxXQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUU3QyxtQ0FBOEIsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFPM0MsMkJBQXNCLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBUzlDO0lBZEMsZ0NBQWdDLENBQUMsQ0FBeUI7UUFDeEQsSUFBSSxDQUFDLDhCQUE4QixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDbkIsQ0FBQztJQUlELDRCQUE0QixDQUFDLENBQXlCO1FBQ3BELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQixDQUFDOzhHQXhCVSxrQ0FBa0M7a0dBQWxDLGtDQUFrQyx3RUN6RC9DLCsrS0EwSE0sMkNEMUZGLFlBQVksbUZBQ1osWUFBWSwrUUFDWixpQkFBaUIsdVZBQ2pCLGdCQUFnQix3UEFDaEIsZUFBZSw4QkFDZixZQUFZLGtNQUNaLG1CQUFtQiw4QkFDbkIsY0FBYyw4QkFDZCxjQUFjLDhCQUNkLGVBQWUsOEJBQ2YsWUFBWSxrYUFDWixjQUFjLDh2QkFDZCxtQkFBbUI7Z0JBQ25CLEVBQUU7Z0JBQ0Ysc0JBQXNCLG9XQUN0QixnQkFBZ0IsK0JBQ2hCLGtCQUFrQixxTEFDbEIsc0JBQXNCO2dCQUN0QixFQUFFO2dCQUNGLG1CQUFtQiwrQkFDbkIsZ0NBQWdDOzsyRkFLdkIsa0NBQWtDO2tCQTVCOUMsU0FBUzs4QkFFQzt3QkFDUCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLEVBQUU7d0JBQ0Ysc0JBQXNCO3dCQUN0QixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3dCQUN0QixFQUFFO3dCQUNGLG1CQUFtQjt3QkFDbkIsZ0NBQWdDO3FCQUNqQyxjQUNXLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQWN0aW9uU2hlZXRNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYWN0aW9uLXNoZWV0JztcbmltcG9ydCB7IEFYQnJlYWRjcnVtYnNNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEaWFsb2dNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYRHJhd2VyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RyYXdlcic7XG5pbXBvcnQgeyBBWERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEFYRm9ybU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IEFYTG9hZGluZ01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nJztcbmltcG9ydCB7IEFYUG9wb3Zlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3BvdmVyJztcbmltcG9ydCB7IEFYVGFic01vZHVsZSwgQVhUYWJTdHJpcENoYW5nZWRFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90YWJzJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHtcbiAgQVhQQWRtaW5MYXlvdXRTdGF0ZSxcbiAgQVhQR3JpZExheW91dERpcmVjdGl2ZSxcbiAgQVhQU3RpY2t5RGlyZWN0aXZlLFxuICBnZXRDaGlsZERyYXdlcixcbiAgaXNTbWFsbFNjcmVlbixcbn0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQTGF5b3V0QnVpbGRlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXInO1xuaW1wb3J0IHsgQVhQRW50aXR5TWFzdGVyU2luZ2xlVmlld01vZGVsIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUEVudGl0eURldGFpbExpc3RWaWV3Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS90aGVtZXMvZGVmYXVsdCc7XG5pbXBvcnQgeyBBWFBXaWRnZXRzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93aWRnZXRzJztcbmltcG9ydCB7IEFYUFdvcmtmbG93U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL21vZHVsZS1lbnRpdHktZGV0YWlsLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWERyb3Bkb3duTW9kdWxlLFxuICAgIEFYUG9wb3Zlck1vZHVsZSxcbiAgICBBWEZvcm1Nb2R1bGUsXG4gICAgQVhBY3Rpb25TaGVldE1vZHVsZSxcbiAgICBBWERyYXdlck1vZHVsZSxcbiAgICBBWERpYWxvZ01vZHVsZSxcbiAgICBBWExvYWRpbmdNb2R1bGUsXG4gICAgQVhUYWJzTW9kdWxlLFxuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIEFYQnJlYWRjcnVtYnNNb2R1bGUsXG4gICAgLy9cbiAgICBBWFBMYXlvdXRCdWlsZGVyTW9kdWxlLFxuICAgIEFYUFdpZGdldHNNb2R1bGUsXG4gICAgQVhQU3RpY2t5RGlyZWN0aXZlLFxuICAgIEFYUEdyaWRMYXlvdXREaXJlY3RpdmUsXG4gICAgLy9cbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgIEFYUEVudGl0eURldGFpbExpc3RWaWV3Q29tcG9uZW50LFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQVhQTW9kdWxlRW50aXR5RGV0YWlsVmlld0NvbXBvbmVudCB7XG4gIHByaXZhdGUgYWN0aXZlUm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICBwcml2YXRlIHdvcmtmbG93ID0gaW5qZWN0KEFYUFdvcmtmbG93U2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSB2bSA9IHRoaXMuYWN0aXZlUm91dGUuc25hcHNob3QuZGF0YVsndm0nXSBhcyBBWFBFbnRpdHlNYXN0ZXJTaW5nbGVWaWV3TW9kZWw7XG4gIC8vXG4gIHByaXZhdGUgc3RvcmUgPSBpbmplY3QoU3RvcmU8QVhQQWRtaW5MYXlvdXRTdGF0ZT4pO1xuICBwcm90ZWN0ZWQgaXNTTSA9IHRoaXMuc3RvcmUuc2VsZWN0KGlzU21hbGxTY3JlZW4oKSk7XG4gIHByb3RlY3RlZCBpc09wZW4gPSB0aGlzLnN0b3JlLnNlbGVjdChnZXRDaGlsZERyYXdlcigpKTtcblxuICBwcm90ZWN0ZWQgc2VsZWN0ZWRSZWxhdGVkSUVudGl0eVRhYkluZGV4ID0gc2lnbmFsKDApO1xuXG4gIGhhbmRsZUFjdGl2ZVJlbGF0ZWRFbnRpdHlDaGFuZ2VkKGU6IEFYVGFiU3RyaXBDaGFuZ2VkRXZlbnQpIHtcbiAgICB0aGlzLnNlbGVjdGVkUmVsYXRlZElFbnRpdHlUYWJJbmRleC5zZXQoZS5pbmRleCk7XG4gICAgdGhpcy52bS5zZWN0aW9ucztcbiAgfVxuXG4gIHByb3RlY3RlZCBzZWxlY3RlZERldGFpbFRhYkluZGV4ID0gc2lnbmFsKDApO1xuXG4gIGhhbmRsZUFjdGl2ZURldGFpbFRhYkNoYW5nZWQoZTogQVhUYWJTdHJpcENoYW5nZWRFdmVudCkge1xuICAgIHRoaXMuc2VsZWN0ZWREZXRhaWxUYWJJbmRleC5zZXQoZS5pbmRleCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnZtLmRlc3Ryb3koKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTQgYXgtbWluLWgtZnVsbCBheC1weC00IGF4LXBiLTQgbWQ6YXgtcHgtNiBheC1iZy1zdXJmYWNlIGF4LWJvcmRlci1iIG1kOmF4LWJvcmRlci0wIG1kOmF4LWJnLWRlZmF1bHRcIj5cbiAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtcHQtNCBheC1zdGlja3kgYXgtdG9wLTAgYXgtei0xMCBheC10cmFuc2l0aW9uLWFsbFwiICNzdGlja3k9XCJheHBTdGlja3lcIlxuICAgIFtheHBTdGlja3ldPVwiJ2F4LWJnLXN1cmZhY2UgYXgtcHgtNiBheC1weS0zIC1heC1teC02IGF4LXNoYWRvdy14bCdcIiBbc3RpY2t5T2Zmc2V0XT1cIjMwXCI+XG4gICAgPCEtLS0tLS0tLSBCZWdpbiBUb29sYmFyICAtLS0tLS0tLT5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1qdXN0aWZ5LWJldHdlZW4gYXgtaXRlbXMtY2VudGVyXCI+XG4gICAgICA8IS0tLS0tLS0tIEJlZ2luIFRpdGxlICAtLS0tLS0tLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWdhcC0xIGF4LWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1nYXAtMiBheC10cmFuc2l0aW9uXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXRleHQteGwgbWQ6YXgtdGV4dC0yeGwgYXgtZm9udC1ib2xkXCI+e3sgdm0udGl0bGUoKSB9fTwvZGl2PlxuICAgICAgICAgIEBpZih2bS5kZXNjcmlwdGlvbigpKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXRleHQtc20gYXgtdGV4dC1uZXV0cmFsLTYwMFwiIFtjbGFzcy5heC1oaWRkZW5dPVwic3RpY2t5LmlzU3RpY2t5XCI+XG4gICAgICAgICAgICB7eyB2bS5kZXNjcmlwdGlvbigpIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICAgIDxheC1icmVhZGNydW1icyBjbGFzcz1cImNoaWxkOmF4LWZvbnQtbm9ybWFsIGNoaWxkOmF4LXRleHQtbmV1dHJhbC00MDBcIiBbY2xhc3MuYXgtaGlkZGVuXT1cImlzU00gfCBhc3luY1wiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkaXZpZGVyPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWNoZXZyb24tcmlnaHQgYXgtdGV4dC14cyBheC1teC0yXCI+PC9pPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIEBmb3IoYiBvZiB2bS5iZWFyZGNydW1icygpO3RyYWNrICRpbmRleDtsZXQgbGFzdD0kbGFzdCkge1xuICAgICAgICAgICAgPGF4LWJyZWFkY3J1bWJzLWl0ZW0gW2FjdGl2ZV09XCJsYXN0XCIgW2NsYXNzLiFheC1mb250LXNlbWlib2xkXT1cImxhc3RcIiBbY2xhc3MuIWF4LXRleHQtbmV1dHJhbC02MDBdPVwibGFzdFwiXG4gICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImIudXJsXCI+XG4gICAgICAgICAgICAgIEBpZihiLmljb24pIHtcbiAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cImIuaWNvblwiPjwvaT5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB7eyBiLnRpdGxlIH19XG4gICAgICAgICAgICA8L2F4LWJyZWFkY3J1bWJzLWl0ZW0+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9heC1icmVhZGNydW1icz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0tLS0tLS0gRmluaXNoIFRpdGxlICAtLS0tLS0tLT5cbiAgICAgIDwhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPlxuICAgICAgPCEtLSBCZWdpbiBBY3Rpb24gTWVudSAgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTNcIj5cbiAgICAgICAgQGZvcih0ciBvZiB2bS5wcmltYXJ5QWN0aW9ucygpO3RyYWNrICRpbmRleCkge1xuICAgICAgICA8YXgtYnV0dG9uIFt0ZXh0XT1cInRyLnRpdGxlXCIgW2NvbG9yXT1cInRyLmNvbG9yXCIgKG9uQ2xpY2spPVwidm0uZXhlY3V0ZUNvbW1hbmQodHIubmFtZSlcIj5cbiAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgPGF4LWljb24gW2ljb25dPVwidHIuaWNvblwiPiA8L2F4LWljb24+XG4gICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICB9IEBpZih2bS5zZWNvbmRhcnlBY3Rpb25zKCkubGVuZ3RoKSB7XG4gICAgICAgIDxheC1idXR0b24gW3RleHRdPVwiKGlzU00gfCBhc3luYykgPyBudWxsIDogJ0FjdGlvbnMnXCIgY29sb3I9XCJnaG9zdFwiPlxuICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWVsbGlwc2lzLXZlcnRpY2FsXCI+PC9pPlxuICAgICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICAgIDxheC1kcm9wZG93bi1wYW5lbD5cbiAgICAgICAgICAgIDxheC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgICAgICBAZm9yKHRyIG9mIHZtLnNlY29uZGFyeUFjdGlvbnMoKTt0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICBAaWYodHIuc2VwYXJhdGVkKSB7XG4gICAgICAgICAgICAgICAgPGF4LWRpdmlkZXI+PC9heC1kaXZpZGVyPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0gW3RleHRdPVwidHIudGl0bGVcIiBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC17eyB0ci5jb2xvciB9fVwiXG4gICAgICAgICAgICAgICAgICAob25DbGljayk9XCJ2bS5leGVjdXRlQ29tbWFuZCh0ci5uYW1lKVwiPlxuICAgICAgICAgICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgICAgICAgICAgPGF4LWljb24gW2ljb25dPVwidHIuaWNvblwiPiA8L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9heC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgIDwvYXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gRmluaXNoIEFjdGlvbiBNZW51ICAtLT5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIFN0YXJ0IFNlY3Rpb25zICAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtZ3JpZCBheC1ncmlkLWNvbHMtMTIgYXgtZ2FwLTRcIj5cbiAgICAgIEBmb3Ioc2VjdGlvbiBvZiB2bS5zZWN0aW9ucygpOyB0cmFjayBzZWN0aW9uLm5hbWUoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cImF4LWNhcmQgYXgtbXQtNFwiIFtncmlkTGF5b3V0XT1cInNlY3Rpb24ubGF5b3V0KClcIj5cbiAgICAgICAgPGF4LWZvcm0gI2Zvcm0+XG4gICAgICAgICAgPGF4cC13aWRnZXRzLWNvbnRhaW5lciBbY29udGV4dF09XCJ2bS5jb250ZXh0KClcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1jYXJkLWhlYWRlciAhYXgtcHktMiAhYXgtcHgtNFwiPlxuICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIiFheC10ZXh0LWxnIGF4LWZvbnQtc2VtaWJvbGRcIj57eyBzZWN0aW9uLnRpdGxlKCkgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPGJyIC8+XG4gICAgICAgICAgICAgICAgQGlmKHNlY3Rpb24uZGVzY3JpcHRpb24oKSkge1xuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtdGV4dC1zbSBheC1mb250LW5vcm1hbCBheC10ZXh0LWdyYXktNTAwXCI+e3sgc2VjdGlvbi5kZXNjcmlwdGlvbigpIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICBAaWYoc2VjdGlvbi5lZGl0YWJsZSgpKSB7XG4gICAgICAgICAgICAgIDxheC1idXR0b24gY2xhc3M9XCJheC14c1wiIGNvbG9yPVwiZ2hvc3RcIiBbbG9va109XCInYmxhbmsnXCJcbiAgICAgICAgICAgICAgICAob25DbGljayk9XCJ2bS5leGVjdXRlQ29tbWFuZCgnbW9kaWZ5LWVudGl0eS1zZWN0aW9uJywgc2VjdGlvbilcIj5cbiAgICAgICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLXBlbiBheC10ZXh0LWdyYXktNjAwXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWNhcmQtYm9keSAhYXgtZ3JpZCAhYXgtZ3JpZC1jb2xzLTEyICFheC1nYXAtNFwiPlxuICAgICAgICAgICAgICBAZm9yKGF0dHIgb2Ygc2VjdGlvbi5wcm9wcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTFcIiBbZ3JpZExheW91dF09XCJhdHRyLmxheW91dCgpXCI+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZFwiPnt7IGF0dHIudGl0bGUoKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC10ZXh0LW5ldXRyYWwtNTAwXCI+XG4gICAgICAgICAgICAgICAgICA8YXhwLXdpZGdldC1yZW5kZXJlciBbbm9kZV09XCJhdHRyLm5vZGUoKVwiIFttb2RlXT1cIid2aWV3J1wiPiA8L2F4cC13aWRnZXQtcmVuZGVyZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2F4cC13aWRnZXRzLWNvbnRhaW5lcj5cbiAgICAgICAgPC9heC1mb3JtPlxuICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgPCEtLSBGaW5pc2ggU2VjdGlvbnMgIC0tPlxuICAgIEBpZih2bS5yZWxhdGVkRW50aXRpZXMoKS5sZW5ndGgpIHtcbiAgICA8YXgtdGFicyBbbG9va109XCInd2l0aC1saW5lJ1wiIGNsYXNzPVwiYXgtbXQtMiBheC1mb250LXNlbWlib2xkXCIgI3RhYlxuICAgICAgKG9uQWN0aXZlVGFiQ2hhbmdlZCk9XCJoYW5kbGVBY3RpdmVSZWxhdGVkRW50aXR5Q2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgICBAZm9yKGUgb2Ygdm0ucmVsYXRlZEVudGl0aWVzKCk7dHJhY2sgJGluZGV4O2xldCBpbmRleD0gJGluZGV4KXtcbiAgICAgIDxheC10YWItaXRlbSBbdGV4dF09XCJlLnRpdGxlKClcIiBba2V5XT1cImluZGV4LnRvU3RyaW5nKClcIj4gPC9heC10YWItaXRlbT5cbiAgICAgIH1cbiAgICA8L2F4LXRhYnM+XG4gICAgQGZvcihlIG9mIHZtLnJlbGF0ZWRFbnRpdGllcygpO3RyYWNrICRpbmRleDtsZXQgaW5kZXg9ICRpbmRleCl7XG4gICAgPGRpdiBbY2xhc3MuYXgtaGlkZGVuXT1cIiRpbmRleCAhPT0gc2VsZWN0ZWRSZWxhdGVkSUVudGl0eVRhYkluZGV4KClcIj5cbiAgICAgIDxheHAtZW50aXR5LWRldGFpbC1saXN0LXZpZXcgW3ZpZXdNb2RlbF09XCJlXCI+PC9heHAtZW50aXR5LWRldGFpbC1saXN0LXZpZXc+XG4gICAgPC9kaXY+XG4gICAgfSB9XG4gIDwvZGl2PlxuPC9kaXY+Il19
|
@@ -0,0 +1,24 @@
|
|
1
|
+
export class AXMApplicationManagmentModuleMenuProvider {
|
2
|
+
async items() {
|
3
|
+
return [
|
4
|
+
{
|
5
|
+
items: [
|
6
|
+
{
|
7
|
+
priority: 9001,
|
8
|
+
text: 'Application Management',
|
9
|
+
icon: 'fa-solid fa-cogs',
|
10
|
+
children: [
|
11
|
+
{
|
12
|
+
text: 'Module Designer',
|
13
|
+
path: '/console/module-designer',
|
14
|
+
icon: 'fa-solid fa-cog',
|
15
|
+
data: {},
|
16
|
+
},
|
17
|
+
],
|
18
|
+
},
|
19
|
+
],
|
20
|
+
},
|
21
|
+
];
|
22
|
+
}
|
23
|
+
}
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9hcHBsaWNhdGlvbi1tYW5hZ2VtZW50L3NyYy9saWIvbWVudS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8seUNBQXlDO0lBQ3BELEtBQUssQ0FBQyxLQUFLO1FBQ1QsT0FBTztZQUNMO2dCQUNFLEtBQUssRUFBRTtvQkFDTDt3QkFDRSxRQUFRLEVBQUUsSUFBSTt3QkFDZCxJQUFJLEVBQUUsd0JBQXdCO3dCQUM5QixJQUFJLEVBQUUsa0JBQWtCO3dCQUN4QixRQUFRLEVBQUU7NEJBQ1I7Z0NBQ0UsSUFBSSxFQUFFLGlCQUFpQjtnQ0FDdkIsSUFBSSxFQUFFLDBCQUEwQjtnQ0FDaEMsSUFBSSxFQUFFLGlCQUFpQjtnQ0FDdkIsSUFBSSxFQUFFLEVBQUU7NkJBQ1Q7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNvQixDQUFDO0lBQzFCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUE1lbnVJbnNlcnRpb24sIEFYUE1lbnVQcm92aWRlciB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcblxuZXhwb3J0IGNsYXNzIEFYTUFwcGxpY2F0aW9uTWFuYWdtZW50TW9kdWxlTWVudVByb3ZpZGVyIGltcGxlbWVudHMgQVhQTWVudVByb3ZpZGVyIHtcbiAgYXN5bmMgaXRlbXMoKTogUHJvbWlzZTxBWFBNZW51SW5zZXJ0aW9uW10+IHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBpdGVtczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHByaW9yaXR5OiA5MDAxLFxuICAgICAgICAgICAgdGV4dDogJ0FwcGxpY2F0aW9uIE1hbmFnZW1lbnQnLFxuICAgICAgICAgICAgaWNvbjogJ2ZhLXNvbGlkIGZhLWNvZ3MnLFxuICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRleHQ6ICdNb2R1bGUgRGVzaWduZXInLFxuICAgICAgICAgICAgICAgIHBhdGg6ICcvY29uc29sZS9tb2R1bGUtZGVzaWduZXInLFxuICAgICAgICAgICAgICAgIGljb246ICdmYS1zb2xpZCBmYS1jb2cnLFxuICAgICAgICAgICAgICAgIGRhdGE6IHt9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICBdIGFzIEFYUE1lbnVJbnNlcnRpb25bXTtcbiAgfVxufVxuIl19
|
@@ -128,7 +128,7 @@ export class AXMModuleDesignerComponent {
|
|
128
128
|
set(target, 'data', data);
|
129
129
|
}
|
130
130
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMModuleDesignerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
131
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXMModuleDesignerComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "contextMenu", first: true, predicate: ["contextMenu"], descendants: true, isSignal: true }], ngImport: i0, template: "<ax-drawer-container class=\"ax-overflow-hidden\">\n <ax-drawer #drawer location=\"start\" [collapsed]=\"false\" [mode]=\"'push'\">\n <ax-content class=\"ax-w-80 ax-relative ax-border-e ax-px-4 ax-py-2\">\n <div class=\"ax-overflow-auto ax-h-[calc(100vh-180px)]\">\n <span class=\"ax-font-bold ax-text-xl\">{{ 'designer.modules' | translate | async }}</span>\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-mt-4\">\n @if(modules().length){\n <ax-collapse-group [accordion]=\"false\" look=\"blank\">\n @for(m of modules();track $index){\n <ax-collapse\n class=\"ctx\"\n icon=\"fas fa-folder ax-text-warning\"\n [isCollapsed]=\"true\"\n [caption]=\"m.title\"\n look=\"none\"\n data-elementType=\"module\"\n [attr.data-moduleId]=\"m.id\"\n data-entityType=\"module\"\n >\n <div class=\"ax-mx-3\">\n <ax-collapse-group [accordion]=\"false\" look=\"blank\">\n <ax-collapse\n class=\"ctx\"\n icon=\"fas fa-box ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'entity')\"\n [caption]=\"('designer.entities' | translate | async) ?? 'Entities'\"\n look=\"none\"\n data-elementType=\"subModule\"\n [attr.data-moduleId]=\"m.id\"\n data-entityType=\"entity\"\n >\n <ng-container\n [ngTemplateOutlet]=\"childTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { type: 'entity', items: getEntities(m.id), moduleId: m.id }\n }\"\n ></ng-container>\n </ax-collapse>\n\n <ax-collapse\n class=\"ctx\"\n icon=\"fas fa-star ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'feature')\"\n [caption]=\"('designer.features' | translate | async) ?? 'Features'\"\n look=\"none\"\n data-elementType=\"subModule\"\n [attr.data-moduleId]=\"m.id\"\n data-entityType=\"feature\"\n >\n <ng-container\n [ngTemplateOutlet]=\"childTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { type: 'feature', items: getFeatures(m.id), moduleId: m.id }\n }\"\n ></ng-container>\n </ax-collapse>\n\n <ax-collapse\n class=\"ctx\"\n icon=\"fas fa-key ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'permission')\"\n [caption]=\"('designer.permissions' | translate | async) ?? 'Permissions'\"\n look=\"none\"\n data-elementType=\"subModule\"\n [attr.data-moduleId]=\"m.id\"\n data-entityType=\"permission\"\n >\n <ng-container\n [ngTemplateOutlet]=\"childTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { type: 'permission', items: getPermissions(m.id), moduleId: m.id }\n }\"\n ></ng-container>\n </ax-collapse>\n </ax-collapse-group>\n </div>\n </ax-collapse>\n }\n </ax-collapse-group>\n } @else {\n <div class=\"ax-h-full ax-flex ax-items-center ax-justify-center\">\n <span class=\"ax-text-neutral-500 ax-text-sm\">{{ 'designer.emptyModulesText' | translate | async }}</span>\n </div>\n }\n </div>\n <ax-button\n class=\"ax-absolute ax-bottom-4 ax-w-72\"\n [text]=\"('designer.createModule' | translate | async) ?? 'Create New Module'\"\n (onClick)=\"createModule()\"\n look=\"solid\"\n color=\"primary\"\n >\n <ax-icon class=\"fas fa-plus\"> </ax-icon>\n </ax-button>\n </div>\n </ax-content>\n\n <ng-template #childTemplate let-child>\n <div class=\"ax-flex ax-flex-col ax-cursor-pointer ax-select-none ax-border-s ax-ms-[14px] ax-ps-2\">\n @for (item of child.items; track $index) {\n\n <div\n #d\n (click)=\"contextMenuService.showDetails(child.type, item.id)\"\n class=\"ctx ax-px-2 ax-py-1 ax-flex ax-items-center ax-justify-between hover:ax-bg-neutral-100 dark:hover:ax-bg-neutral-700 hover:ax-rounded-md\"\n data-elementType=\"subModuleItem\"\n >\n {{ assignData(d, { record: item, entityType: child.type, moduleId: child.moduleId }) }}\n <span>{{ item.title }}</span>\n <ax-badge\n [look]=\"'twotone'\"\n [color]=\"item.isArchived ? 'danger' : 'success'\"\n [text]=\"item.isArchived ? 'Off' : 'On'\"\n >\n </ax-badge>\n </div>\n }\n </div>\n </ng-template>\n </ax-drawer>\n <ax-content>\n <router-outlet></router-outlet>\n </ax-content>\n</ax-drawer-container>\n\n<ax-context-menu\n #contextMenu\n (onItemClick)=\"handleActionClick($event)\"\n [items]=\"[]\"\n [target]=\"'.ctx'\"\n [orientation]=\"'vertical'\"\n [closeOn]=\"'leave'\"\n (onOpening)=\"openingContextMenu($event)\"\n>\n</ax-context-menu>\n", styles: [".ax-collapse-header{padding:.25rem .5rem!important}.ax-collapse-header:hover{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-neutral-100),var(--tw-bg-opacity))}.ax-collapse-header:hover:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-neutral-700),var(--tw-bg-opacity))}.ax-collapse-body-content{padding:.25rem!important;padding-inline-start:0!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i2.AXDrawerComponent, selector: "ax-drawer", inputs: ["location", "showBackdrop", "mode", "
|
131
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXMModuleDesignerComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "contextMenu", first: true, predicate: ["contextMenu"], descendants: true, isSignal: true }], ngImport: i0, template: "<ax-drawer-container class=\"ax-overflow-hidden\">\n <ax-drawer #drawer location=\"start\" [collapsed]=\"false\" [mode]=\"'push'\">\n <ax-content class=\"ax-w-80 ax-relative ax-border-e ax-px-4 ax-py-2\">\n <div class=\"ax-overflow-auto ax-h-[calc(100vh-180px)]\">\n <span class=\"ax-font-bold ax-text-xl\">{{ 'designer.modules' | translate | async }}</span>\n <div class=\"ax-flex ax-flex-col ax-gap-2 ax-mt-4\">\n @if(modules().length){\n <ax-collapse-group [accordion]=\"false\" look=\"blank\">\n @for(m of modules();track $index){\n <ax-collapse\n class=\"ctx\"\n icon=\"fas fa-folder ax-text-warning\"\n [isCollapsed]=\"true\"\n [caption]=\"m.title\"\n look=\"none\"\n data-elementType=\"module\"\n [attr.data-moduleId]=\"m.id\"\n data-entityType=\"module\"\n >\n <div class=\"ax-mx-3\">\n <ax-collapse-group [accordion]=\"false\" look=\"blank\">\n <ax-collapse\n class=\"ctx\"\n icon=\"fas fa-box ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'entity')\"\n [caption]=\"('designer.entities' | translate | async) ?? 'Entities'\"\n look=\"none\"\n data-elementType=\"subModule\"\n [attr.data-moduleId]=\"m.id\"\n data-entityType=\"entity\"\n >\n <ng-container\n [ngTemplateOutlet]=\"childTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { type: 'entity', items: getEntities(m.id), moduleId: m.id }\n }\"\n ></ng-container>\n </ax-collapse>\n\n <ax-collapse\n class=\"ctx\"\n icon=\"fas fa-star ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'feature')\"\n [caption]=\"('designer.features' | translate | async) ?? 'Features'\"\n look=\"none\"\n data-elementType=\"subModule\"\n [attr.data-moduleId]=\"m.id\"\n data-entityType=\"feature\"\n >\n <ng-container\n [ngTemplateOutlet]=\"childTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { type: 'feature', items: getFeatures(m.id), moduleId: m.id }\n }\"\n ></ng-container>\n </ax-collapse>\n\n <ax-collapse\n class=\"ctx\"\n icon=\"fas fa-key ax-text-neutral-400\"\n [isCollapsed]=\"true\"\n (onClick)=\"handleCollapseItemClick(m.id, $event, 'permission')\"\n [caption]=\"('designer.permissions' | translate | async) ?? 'Permissions'\"\n look=\"none\"\n data-elementType=\"subModule\"\n [attr.data-moduleId]=\"m.id\"\n data-entityType=\"permission\"\n >\n <ng-container\n [ngTemplateOutlet]=\"childTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: { type: 'permission', items: getPermissions(m.id), moduleId: m.id }\n }\"\n ></ng-container>\n </ax-collapse>\n </ax-collapse-group>\n </div>\n </ax-collapse>\n }\n </ax-collapse-group>\n } @else {\n <div class=\"ax-h-full ax-flex ax-items-center ax-justify-center\">\n <span class=\"ax-text-neutral-500 ax-text-sm\">{{ 'designer.emptyModulesText' | translate | async }}</span>\n </div>\n }\n </div>\n <ax-button\n class=\"ax-absolute ax-bottom-4 ax-w-72\"\n [text]=\"('designer.createModule' | translate | async) ?? 'Create New Module'\"\n (onClick)=\"createModule()\"\n look=\"solid\"\n color=\"primary\"\n >\n <ax-icon class=\"fas fa-plus\"> </ax-icon>\n </ax-button>\n </div>\n </ax-content>\n\n <ng-template #childTemplate let-child>\n <div class=\"ax-flex ax-flex-col ax-cursor-pointer ax-select-none ax-border-s ax-ms-[14px] ax-ps-2\">\n @for (item of child.items; track $index) {\n\n <div\n #d\n (click)=\"contextMenuService.showDetails(child.type, item.id)\"\n class=\"ctx ax-px-2 ax-py-1 ax-flex ax-items-center ax-justify-between hover:ax-bg-neutral-100 dark:hover:ax-bg-neutral-700 hover:ax-rounded-md\"\n data-elementType=\"subModuleItem\"\n >\n {{ assignData(d, { record: item, entityType: child.type, moduleId: child.moduleId }) }}\n <span>{{ item.title }}</span>\n <ax-badge\n [look]=\"'twotone'\"\n [color]=\"item.isArchived ? 'danger' : 'success'\"\n [text]=\"item.isArchived ? 'Off' : 'On'\"\n >\n </ax-badge>\n </div>\n }\n </div>\n </ng-template>\n </ax-drawer>\n <ax-content>\n <router-outlet></router-outlet>\n </ax-content>\n</ax-drawer-container>\n\n<ax-context-menu\n #contextMenu\n (onItemClick)=\"handleActionClick($event)\"\n [items]=\"[]\"\n [target]=\"'.ctx'\"\n [orientation]=\"'vertical'\"\n [closeOn]=\"'leave'\"\n (onOpening)=\"openingContextMenu($event)\"\n>\n</ax-context-menu>\n", styles: [".ax-collapse-header{padding:.25rem .5rem!important}.ax-collapse-header:hover{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-neutral-100),var(--tw-bg-opacity))}.ax-collapse-header:hover:is(.ax-dark *){--tw-bg-opacity: 1;background-color:rgba(var(--ax-color-neutral-700),var(--tw-bg-opacity))}.ax-collapse-body-content{padding:.25rem!important;padding-inline-start:0!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i2.AXDrawerComponent, selector: "ax-drawer", inputs: ["location", "showBackdrop", "mode", "closeOthers", "collapsed"], outputs: ["locationChange", "modeChange", "collapsedChange"] }, { kind: "component", type: i2.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "translate" }, { kind: "ngmodule", type: AXSideMenuModule }, { kind: "ngmodule", type: AXCollapseModule }, { kind: "component", type: i6.AXCollapseComponent, selector: "ax-collapse", inputs: ["disabled", "look", "isCollapsed", "showHeader", "caption", "icon", "isLoading", "headerTemplate"], outputs: ["onClick", "isCollapsedChange"] }, { kind: "component", type: i6.AXCollapseGroupComponent, selector: "ax-collapse-group", inputs: ["look", "accordion", "activeIndex"], outputs: ["accordionChange", "activeIndexChange"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i7.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXMenuModule }, { kind: "component", type: i8.AXContextMenuComponent, selector: "ax-context-menu", inputs: ["orientation", "openOn", "closeOn", "items", "target"], outputs: ["onItemClick", "onOpening"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i9.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
132
132
|
}
|
133
133
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMModuleDesignerComponent, decorators: [{
|
134
134
|
type: Component,
|
@@ -26,7 +26,7 @@ export class AXMAppChooserSlotComponent {
|
|
26
26
|
this.router.navigate([`/${item.name}/home`]);
|
27
27
|
}
|
28
28
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMAppChooserSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
29
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXMAppChooserSlotComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "@if(((applications$ | async)?.length ?? 0) > 1)\n{\n<ax-button color=\"default\" look=\"blank\" #appChooser>\n <ax-icon>\n <i class=\"fa-solid fa-grid-2 ax-text-slate-400 dark:ax-text-slate-200\"></i>\n </ax-icon>\n</ax-button>\n<ax-popover [target]=\"appChooser\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" [adaptivityEnabled]=\"true\">\n <div class=\"ax-bg-surface ax-border ax-overflow-hidden ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64 ax-p-3\">\n <axp-app-chooser-list></axp-app-chooser-list>\n </div>\n</ax-popover>\n}", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i3.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXPAppChooserListComponent, selector: "axp-app-chooser-list" }] }); }
|
29
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXMAppChooserSlotComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "@if(((applications$ | async)?.length ?? 0) > 1)\n{\n<ax-button color=\"default\" look=\"blank\" #appChooser>\n <ax-icon>\n <i class=\"fa-solid fa-grid-2 ax-text-slate-400 dark:ax-text-slate-200\"></i>\n </ax-icon>\n</ax-button>\n<ax-popover [target]=\"appChooser\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" [adaptivityEnabled]=\"true\">\n <div class=\"ax-bg-surface ax-border ax-overflow-hidden ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64 ax-p-3\">\n <axp-app-chooser-list></axp-app-chooser-list>\n </div>\n</ax-popover>\n}", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i3.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: AXPAppChooserListComponent, selector: "axp-app-chooser-list" }] }); }
|
30
30
|
}
|
31
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMAppChooserSlotComponent, decorators: [{
|
32
32
|
type: Component,
|
@@ -39,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
39
39
|
AXPAppChooserListComponent
|
40
40
|
], template: "@if(((applications$ | async)?.length ?? 0) > 1)\n{\n<ax-button color=\"default\" look=\"blank\" #appChooser>\n <ax-icon>\n <i class=\"fa-solid fa-grid-2 ax-text-slate-400 dark:ax-text-slate-200\"></i>\n </ax-icon>\n</ax-button>\n<ax-popover [target]=\"appChooser\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\" [adaptivityEnabled]=\"true\">\n <div class=\"ax-bg-surface ax-border ax-overflow-hidden ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64 ax-p-3\">\n <axp-app-chooser-list></axp-app-chooser-list>\n </div>\n</ax-popover>\n}" }]
|
41
41
|
}] });
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNob29zZXItc2xvdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXV0aC9zcmMvbGliL2FjY291bnQvYXBwLWNob29zZXIvYXBwLWNob29zZXItc2xvdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXV0aC9zcmMvbGliL2FjY291bnQvYXBwLWNob29zZXIvYXBwLWNob29zZXItc2xvdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQWMzRCxNQUFNLE9BQU8sMEJBQTBCO0lBWnZDO1FBYVksbUJBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN6QyxZQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUM7UUFFdEMsaUJBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQztRQUNoRCxrQkFBYSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUV6QixXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBU25DO0lBTkcsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQW9CO1FBQ3hDLHlEQUF5RDtRQUN6RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDOzhHQWJRLDBCQUEwQjtrR0FBMUIsMEJBQTBCLHdFQ3ZCdkMsaWpCQVlDLDJDREdPLFlBQVksbUZBQ1osY0FBYyx1WkFDZCxlQUFlLGtVQUNmLGlCQUFpQixnSUFFakIsMEJBQTBCOzsyRkFHckIsMEJBQTBCO2tCQVp0QyxTQUFTO2lDQUVNLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsMEJBQTBCO3FCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSBcIkBhY29yZXgvY29tcG9uZW50cy9idXR0b25cIjtcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSBcIkBhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBBWFBvcG92ZXJNb2R1bGUgfSBmcm9tIFwiQGFjb3JleC9jb21wb25lbnRzL3BvcG92ZXJcIjtcbmltcG9ydCB7IEFYUEFwcGxpY2F0aW9uLCBBWFBTZXNzaW9uU2VydmljZSB9IGZyb20gXCJAYWNvcmV4L3BsYXRmb3JtL2F1dGhcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IEFYUEFwcENob29zZXJMaXN0Q29tcG9uZW50IH0gZnJvbSBcIi4vYXBwLWNob29zZXItbGlzdC5jb21wb25lbnRcIjtcbmltcG9ydCB7IG9mIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IEFYUExvZ29Db21wb25lbnQgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9jb21tb25cIjtcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGVVcmw6ICcuL2FwcC1jaG9vc2VyLXNsb3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgICAgICBBWFBvcG92ZXJNb2R1bGUsXG4gICAgICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgICAgICBBWFBMb2dvQ29tcG9uZW50LFxuICAgICAgICBBWFBBcHBDaG9vc2VyTGlzdENvbXBvbmVudFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQVhNQXBwQ2hvb3NlclNsb3RDb21wb25lbnQge1xuICAgIHByaXZhdGUgc2Vzc2lvblNlcnZpY2UgPSBpbmplY3QoQVhQU2Vzc2lvblNlcnZpY2UpO1xuICAgIHByb3RlY3RlZCB0ZW5hbnQkID0gdGhpcy5zZXNzaW9uU2VydmljZS50ZW5hbnQkO1xuXG4gICAgcHJvdGVjdGVkIGFwcGxpY2F0aW9uJCA9IHRoaXMuc2Vzc2lvblNlcnZpY2UuYXBwbGljYXRpb24kO1xuICAgIHByb3RlY3RlZCBhcHBsaWNhdGlvbnMkID0gb2YoW10pO1xuXG4gICAgcHJpdmF0ZSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcblxuXG4gICAgYXN5bmMgY2hvb3NlQXBwbGljYXRpb24oaXRlbTogQVhQQXBwbGljYXRpb24pIHtcbiAgICAgICAgLy9hd2FpdCB0aGlzLnNlc3Npb25TZXJ2aWNlLnNlbGVjdEFwcGxpY2F0aW9uKGl0ZW0ubmFtZSk7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgLyR7aXRlbS5uYW1lfS9ob21lYF0pO1xuICAgIH1cblxuXG59IiwiQGlmKCgoYXBwbGljYXRpb25zJCB8IGFzeW5jKT8ubGVuZ3RoID8/IDApID4gMSlcbntcbjxheC1idXR0b24gY29sb3I9XCJkZWZhdWx0XCIgbG9vaz1cImJsYW5rXCIgI2FwcENob29zZXI+XG4gICAgPGF4LWljb24+XG4gICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtZ3JpZC0yIGF4LXRleHQtc2xhdGUtNDAwIGRhcms6YXgtdGV4dC1zbGF0ZS0yMDBcIj48L2k+XG4gICAgPC9heC1pY29uPlxuPC9heC1idXR0b24+XG48YXgtcG9wb3ZlciBbdGFyZ2V0XT1cImFwcENob29zZXJcIiBbb3Blbk9uXT1cIid0b2dnbGUnXCIgW2Nsb3NlT25dPVwiJ2NsaWNrT3V0J1wiIFthZGFwdGl2aXR5RW5hYmxlZF09XCJ0cnVlXCI+XG4gICAgPGRpdiBjbGFzcz1cImF4LWJnLXN1cmZhY2UgYXgtYm9yZGVyIGF4LW92ZXJmbG93LWhpZGRlbiBheC1yb3VuZGVkLW1kIGF4LXNoYWRvdy1tZCBheC13LWZ1bGwgYXgtbWluLXctNjQgYXgtcC0zXCI+XG4gICAgICAgIDxheHAtYXBwLWNob29zZXItbGlzdD48L2F4cC1hcHAtY2hvb3Nlci1saXN0PlxuICAgIDwvZGl2PlxuPC9heC1wb3BvdmVyPlxufSJdfQ==
|
@@ -48,7 +48,10 @@ export class AXMAuthProfileSlotComponent {
|
|
48
48
|
}
|
49
49
|
editProfile() {
|
50
50
|
const appName = this.sessionService.application?.name;
|
51
|
-
if (appName) {
|
51
|
+
if (appName === 'asc') {
|
52
|
+
this.router.navigate([`/asc/oidc/e/user-info/0/view`]);
|
53
|
+
}
|
54
|
+
else {
|
52
55
|
this.router.navigate([`/${appName}/m/oidc/e/user-info/0/view`]);
|
53
56
|
}
|
54
57
|
}
|
@@ -85,7 +88,7 @@ export class AXMAuthProfileSlotComponent {
|
|
85
88
|
}
|
86
89
|
}
|
87
90
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMAuthProfileSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
88
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXMAuthProfileSlotComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "profilePopover", first: true, predicate: ["profilePopover"], descendants: true }], ngImport: i0, template: "@if((isAuthenticated$ | async)) {\n<ax-avatar
|
91
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXMAuthProfileSlotComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "profilePopover", first: true, predicate: ["profilePopover"], descendants: true }], ngImport: i0, template: "@if((isAuthenticated$ | async)) {\n<div class=\"ax-size-fit ax-px-2\">\n <ax-avatar\n #avatar\n color=\"secondary\"\n (error)=\"this.src = 'path/to/default-image.jpg'\"\n [size]=\"32\"\n class=\"ax-cursor-pointer\"\n >\n @if(hasPicture()){\n <ax-image (onError)=\"onImageError($event)\" [src]=\"src\"></ax-image>\n }@else{\n <ax-text>\n <small class=\"ax-text-xs ax-font-semibold\">{{ avatarText() }}</small>\n </ax-text>\n }\n </ax-avatar>\n <ax-popover [target]=\"avatar\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\">\n <div class=\"ax-bg-surface ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64\">\n <div class=\"ax-flex ax-flex-col ax-items-center ax-p-4 ax-border-b\">\n <ax-avatar [size]=\"60\">\n @if(hasPicture()){\n <ax-image (onError)=\"onImageError($event)\" [src]=\"src\">\n <ax-loading></ax-loading>\n </ax-image>\n }@else{\n <ax-text>\n <span class=\"\">{{ avatarText() }}</span>\n </ax-text>\n }\n </ax-avatar>\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-mt-2 ax-gap-1\">\n <div class=\"ax-text-base ax-font-bold\">{{ (user$ | async)?.title }}</div>\n <axp-tenant-chooser-dropdown></axp-tenant-chooser-dropdown>\n </div>\n </div>\n <div class=\"profile-menus ax-text-slate-500\">\n <!-- <ul>\n <li>\n <i class=\"fa-solid fa-folder-open\"></i>\n <span> Project Management </span>\n </li>\n <li>\n <i class=\"fa-solid fa-envelope-open-text\"></i>\n <span>Email Config</span>\n </li>\n <li>\n <i class=\"fa-solid fa-gear\"></i>\n <span>Setting</span>\n </li>\n </ul> -->\n <ul>\n <!-- <li>\n <i class=\"fa-solid fa-gem ax-text-primary-500\"></i>\n <span> Upgrade account </span>\n </li> -->\n <li (click)=\"editProfile()\">\n <i class=\"fa-solid fa-user\"></i>\n <span>{{ 'profile.edit' | translate | async }}</span>\n </li>\n </ul>\n <ul>\n <li class=\"ax-text-danger-500\" (click)=\"logOut()\">\n <i class=\"fa-solid fa-arrow-right-from-bracket\"></i>\n <span>{{ 'profile.logout' | translate | async }}</span>\n </li>\n </ul>\n </div>\n </div>\n </ax-popover>\n</div>\n\n} @else {\n<ax-button color=\"default\" look=\"blank\" text=\"Sign Up / Sign In\" (click)=\"handleSignIn()\">\n <ax-icon>\n <i class=\"fa-solid fa-user ax-text-slate-400 dark:ax-text-slate-200\"></i>\n </ax-icon>\n</ax-button>\n}\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i2.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXAvatarModule }, { kind: "component", type: i3.AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "look"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: i4.AXPopoverComponent, selector: "ax-popover", inputs: ["offsetX", "offsetY", "target", "placement", "content", "openOn", "closeOn", "hasBackdrop", "openAfter", "closeAfter", "backdropClass", "panelClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i5.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i6.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i6.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "component", type: AXPTenantChooserDropdownComponent, selector: "axp-tenant-chooser-dropdown" }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i7.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i8.AXTranslatorPipe, name: "translate" }] }); }
|
89
92
|
}
|
90
93
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMAuthProfileSlotComponent, decorators: [{
|
91
94
|
type: Component,
|
@@ -99,9 +102,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
99
102
|
AXPTenantChooserDropdownComponent,
|
100
103
|
AXLoadingModule,
|
101
104
|
AXTranslationModule,
|
102
|
-
], template: "@if((isAuthenticated$ | async)) {\n<ax-avatar
|
105
|
+
], template: "@if((isAuthenticated$ | async)) {\n<div class=\"ax-size-fit ax-px-2\">\n <ax-avatar\n #avatar\n color=\"secondary\"\n (error)=\"this.src = 'path/to/default-image.jpg'\"\n [size]=\"32\"\n class=\"ax-cursor-pointer\"\n >\n @if(hasPicture()){\n <ax-image (onError)=\"onImageError($event)\" [src]=\"src\"></ax-image>\n }@else{\n <ax-text>\n <small class=\"ax-text-xs ax-font-semibold\">{{ avatarText() }}</small>\n </ax-text>\n }\n </ax-avatar>\n <ax-popover [target]=\"avatar\" [openOn]=\"'toggle'\" [closeOn]=\"'clickOut'\">\n <div class=\"ax-bg-surface ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-64\">\n <div class=\"ax-flex ax-flex-col ax-items-center ax-p-4 ax-border-b\">\n <ax-avatar [size]=\"60\">\n @if(hasPicture()){\n <ax-image (onError)=\"onImageError($event)\" [src]=\"src\">\n <ax-loading></ax-loading>\n </ax-image>\n }@else{\n <ax-text>\n <span class=\"\">{{ avatarText() }}</span>\n </ax-text>\n }\n </ax-avatar>\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-mt-2 ax-gap-1\">\n <div class=\"ax-text-base ax-font-bold\">{{ (user$ | async)?.title }}</div>\n <axp-tenant-chooser-dropdown></axp-tenant-chooser-dropdown>\n </div>\n </div>\n <div class=\"profile-menus ax-text-slate-500\">\n <!-- <ul>\n <li>\n <i class=\"fa-solid fa-folder-open\"></i>\n <span> Project Management </span>\n </li>\n <li>\n <i class=\"fa-solid fa-envelope-open-text\"></i>\n <span>Email Config</span>\n </li>\n <li>\n <i class=\"fa-solid fa-gear\"></i>\n <span>Setting</span>\n </li>\n </ul> -->\n <ul>\n <!-- <li>\n <i class=\"fa-solid fa-gem ax-text-primary-500\"></i>\n <span> Upgrade account </span>\n </li> -->\n <li (click)=\"editProfile()\">\n <i class=\"fa-solid fa-user\"></i>\n <span>{{ 'profile.edit' | translate | async }}</span>\n </li>\n </ul>\n <ul>\n <li class=\"ax-text-danger-500\" (click)=\"logOut()\">\n <i class=\"fa-solid fa-arrow-right-from-bracket\"></i>\n <span>{{ 'profile.logout' | translate | async }}</span>\n </li>\n </ul>\n </div>\n </div>\n </ax-popover>\n</div>\n\n} @else {\n<ax-button color=\"default\" look=\"blank\" text=\"Sign Up / Sign In\" (click)=\"handleSignIn()\">\n <ax-icon>\n <i class=\"fa-solid fa-user ax-text-slate-400 dark:ax-text-slate-200\"></i>\n </ax-icon>\n</ax-button>\n}\n" }]
|
103
106
|
}], ctorParameters: () => [], propDecorators: { profilePopover: [{
|
104
107
|
type: ViewChild,
|
105
108
|
args: ['profilePopover']
|
106
109
|
}] } });
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1zbG90LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9hdXRoL3NyYy9saWIvYWNjb3VudC9wcm9maWxlL3Byb2ZpbGUtc2xvdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXV0aC9zcmMvbGliL2FjY291bnQvcHJvZmlsZS9wcm9maWxlLXNsb3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxP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QUFTO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQXZhdGFyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2F2YXRhcic7XG5pbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhIdG1sRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhJbWFnZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9pbWFnZSc7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQgeyBBWFBvcG92ZXJDb21wb25lbnQsIEFYUG9wb3Zlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3BvdmVyJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQU2Vzc2lvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQRGF0YVByb3ZpZGVyIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgTW9ja0RhdGFTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9tb2Nrcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYUFRlbmFudENob29zZXJEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL3RlbmFudC1jaG9vc2VyL3RlbmFudC1jaG9vc2VyLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vcHJvZmlsZS1zbG90LmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBBWEltYWdlTW9kdWxlLFxuICAgIEFYQXZhdGFyTW9kdWxlLFxuICAgIEFYUG9wb3Zlck1vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWFBUZW5hbnRDaG9vc2VyRHJvcGRvd25Db21wb25lbnQsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTUF1dGhQcm9maWxlU2xvdENvbXBvbmVudCB7XG4gIHByaXZhdGUgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByaXZhdGUgc2Vzc2lvblNlcnZpY2UgPSBpbmplY3QoQVhQU2Vzc2lvblNlcnZpY2UpO1xuICBwcml2YXRlIGRhdGFTZXJ2aWNlID0gaW5qZWN0KEFYUERhdGFQcm92aWRlciwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBtb2NrZXJTZXJ2aWNlID0gaW5qZWN0KE1vY2tEYXRhU2VydmljZSk7XG5cbiAgcHJvdGVjdGVkIGhhc1BpY3R1cmUgPSBzaWduYWwodHJ1ZSk7XG4gIHByb3RlY3RlZCBhdmF0YXJUZXh0ID0gc2lnbmFsPHN0cmluZz4oJycpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMubG9hZEltYWdlKCk7XG4gICAgdGhpcy5nZXRBdmF0YXJUZXh0KCk7XG4gIH1cbiAgcHJvdGVjdGVkIHNyYyE6IHN0cmluZztcbiAgcHJvdGVjdGVkIHVzZXIkID0gdGhpcy5zZXNzaW9uU2VydmljZS51c2VyJDtcbiAgcHJvdGVjdGVkIHRlbmFudCQgPSB0aGlzLnNlc3Npb25TZXJ2aWNlLnRlbmFudCQ7XG5cbiAgcHJvdGVjdGVkIGlzQXV0aGVudGljYXRlZCQgPSB0aGlzLnNlc3Npb25TZXJ2aWNlLmlzQXV0aGVudGljYXRlZCQ7XG5cbiAgQFZpZXdDaGlsZCgncHJvZmlsZVBvcG92ZXInKSBwcm9maWxlUG9wb3ZlciE6IEFYUG9wb3ZlckNvbXBvbmVudDtcblxuICBlZGl0UHJvZmlsZSgpIHtcbiAgICBjb25zdCBhcHBOYW1lID0gdGhpcy5zZXNzaW9uU2VydmljZS5hcHBsaWNhdGlvbj8ubmFtZTtcbiAgICBpZiAoYXBwTmFtZSkge1xuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2AvJHthcHBOYW1lfS9tL29pZGMvZS91c2VyLWluZm8vMC92aWV3YF0pO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGxvZ091dCgpIHtcbiAgICBhd2FpdCB0aGlzLnNlc3Npb25TZXJ2aWNlLnNpZ25vdXQoKTtcbiAgfVxuXG4gIHRvZ2dsZVByb2ZpbGVNZW51KCkge1xuICAgIHRoaXMucHJvZmlsZVBvcG92ZXIub3BlbigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVNpZ25JbigpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9hdXRoL2xvZ2luJ10pO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uSW1hZ2VFcnJvcihldmVudDogQVhIdG1sRXZlbnQ8RXJyb3JFdmVudD4pIHtcbiAgICB0aGlzLmhhc1BpY3R1cmUuc2V0KGZhbHNlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRBdmF0YXJUZXh0ID0gKCkgPT4ge1xuICAgIHRoaXMudXNlciQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKHVzZXIpID0+IHtcbiAgICAgIGNvbnN0IG5hbWVzID0gdXNlcj8udGl0bGUuc3BsaXQoJyAnKTtcbiAgICAgIGlmIChuYW1lcz8ubGVuZ3RoICYmIG5hbWVzPy5sZW5ndGggPiAxKSB7XG4gICAgICAgIHRoaXMuYXZhdGFyVGV4dC5zZXQoYCR7bmFtZXNbMF1bMF0udG9VcHBlckNhc2UoKX0ke25hbWVzW25hbWVzLmxlbmd0aCAtIDFdWzBdLnRvVXBwZXJDYXNlKCl9YCk7XG4gICAgICB9IGVsc2UgcmV0dXJuIHRoaXMuYXZhdGFyVGV4dC5zZXQoJ0FDJyk7XG4gICAgfSk7XG4gIH07XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkSW1hZ2UoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHVybCA9IHRoaXMuc2Vzc2lvblNlcnZpY2UudXNlcj8uYXZhdGFyIGFzIHN0cmluZztcbiAgICAgIGlmICh1cmw/LnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCgnaHR0cCcpKSB7XG4gICAgICAgIHRoaXMuc3JjID0gdXJsO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnNlc3Npb25TZXJ2aWNlLnVzZXI/LmF2YXRhciAhPSAnbnVsbCcgJiYgdGhpcy5kYXRhU2VydmljZSkge1xuICAgICAgICBjb25zdCBibG9iID0gYXdhaXQgdGhpcy5kYXRhU2VydmljZS52aWV3RmlsZSh1cmwsICcnKTtcbiAgICAgICAgdGhpcy5zcmMgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zcmMgPSB0aGlzLm1vY2tlclNlcnZpY2UuYXZhdGFyKCk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMuaGFzUGljdHVyZS5zZXQoZmFsc2UpO1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGxvYWQgaW1hZ2UgYnkgSUQ6JywgZXJyb3IpO1xuICAgICAgdGhpcy5zcmMgPSAnJztcbiAgICB9XG4gIH1cbn1cbiIsIkBpZigoaXNBdXRoZW50aWNhdGVkJCB8IGFzeW5jKSkge1xuPGF4LWF2YXRhciAjYXZhdGFyIGNvbG9yPVwic2Vjb25kYXJ5XCIgKGVycm9yKT1cInRoaXMuc3JjID0gJ3BhdGgvdG8vZGVmYXVsdC1pbWFnZS5qcGcnXCIgW3NpemVdPVwiMzJcIiBjbGFzcz1cImF4LWN1cnNvci1wb2ludGVyIGF4LW1zLTRcIj5cbiAgQGlmKGhhc1BpY3R1cmUoKSl7XG4gIDxheC1pbWFnZSAob25FcnJvcik9XCJvbkltYWdlRXJyb3IoJGV2ZW50KVwiIFtzcmNdPVwic3JjXCI+PC9heC1pbWFnZT5cbiAgfUBlbHNle1xuICA8YXgtdGV4dD5cbiAgICA8c21hbGwgY2xhc3M9XCJheC10ZXh0LXhzIGF4LWZvbnQtc2VtaWJvbGRcIj57eyBhdmF0YXJUZXh0KCkgfX08L3NtYWxsPlxuICA8L2F4LXRleHQ+XG4gIH1cbjwvYXgtYXZhdGFyPlxuPGF4LXBvcG92ZXIgW3RhcmdldF09XCJhdmF0YXJcIiBbb3Blbk9uXT1cIid0b2dnbGUnXCIgW2Nsb3NlT25dPVwiJ2NsaWNrT3V0J1wiPlxuICA8ZGl2IGNsYXNzPVwiYXgtYmctc3VyZmFjZSBheC1ib3JkZXIgYXgtYm9yZGVyLWRlZmF1bHQgYXgtcm91bmRlZC1tZCBheC1zaGFkb3ctbWQgYXgtdy1mdWxsIGF4LW1pbi13LTY0XCI+XG4gICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtaXRlbXMtY2VudGVyIGF4LXAtNCBheC1ib3JkZXItYlwiPlxuICAgICAgPGF4LWF2YXRhciBbc2l6ZV09XCI2MFwiPlxuICAgICAgICBAaWYoaGFzUGljdHVyZSgpKXtcbiAgICAgICAgPGF4LWltYWdlIChvbkVycm9yKT1cIm9uSW1hZ2VFcnJvcigkZXZlbnQpXCIgW3NyY109XCJzcmNcIj5cbiAgICAgICAgICA8YXgtbG9hZGluZz48L2F4LWxvYWRpbmc+XG4gICAgICAgIDwvYXgtaW1hZ2U+XG4gICAgICAgIH1AZWxzZXtcbiAgICAgICAgPGF4LXRleHQ+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJcIj57eyBhdmF0YXJUZXh0KCkgfX08L3NwYW4+XG4gICAgICAgIDwvYXgtdGV4dD5cbiAgICAgICAgfVxuICAgICAgPC9heC1hdmF0YXI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1pdGVtcy1jZW50ZXIgYXgtanVzdGlmeS1jZW50ZXIgYXgtbXQtMiBheC1nYXAtMVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtdGV4dC1iYXNlIGF4LWZvbnQtYm9sZFwiPnt7ICh1c2VyJCB8IGFzeW5jKT8udGl0bGUgfX08L2Rpdj5cbiAgICAgICAgPGF4cC10ZW5hbnQtY2hvb3Nlci1kcm9wZG93bj48L2F4cC10ZW5hbnQtY2hvb3Nlci1kcm9wZG93bj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLW1lbnVzIGF4LXRleHQtc2xhdGUtNTAwXCI+XG4gICAgICA8IS0tIDx1bD5cbiAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtZm9sZGVyLW9wZW5cIj48L2k+XG4gICAgICAgICAgICA8c3Bhbj4gUHJvamVjdCBNYW5hZ2VtZW50IDwvc3Bhbj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWVudmVsb3BlLW9wZW4tdGV4dFwiPjwvaT5cbiAgICAgICAgICAgIDxzcGFuPkVtYWlsIENvbmZpZzwvc3Bhbj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWdlYXJcIj48L2k+XG4gICAgICAgICAgICA8c3Bhbj5TZXR0aW5nPC9zcGFuPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD4gLS0+XG4gICAgICA8dWw+XG4gICAgICAgIDwhLS0gPGxpPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1nZW0gYXgtdGV4dC1wcmltYXJ5LTUwMFwiPjwvaT5cbiAgICAgICAgICAgIDxzcGFuPiBVcGdyYWRlIGFjY291bnQgPC9zcGFuPlxuICAgICAgICAgICAgPC9saT4gLS0+XG4gICAgICAgIDxsaSAoY2xpY2spPVwiZWRpdFByb2ZpbGUoKVwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtdXNlclwiPjwvaT5cbiAgICAgICAgICA8c3Bhbj57eyAncHJvZmlsZS5lZGl0JyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9zcGFuPlxuICAgICAgICA8L2xpPlxuICAgICAgPC91bD5cbiAgICAgIDx1bD5cbiAgICAgICAgPGxpIGNsYXNzPVwiYXgtdGV4dC1kYW5nZXItNTAwXCIgKGNsaWNrKT1cImxvZ091dCgpXCI+XG4gICAgICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1hcnJvdy1yaWdodC1mcm9tLWJyYWNrZXRcIj48L2k+XG4gICAgICAgICAgPHNwYW4+e3sgJ3Byb2ZpbGUubG9nb3V0JyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9zcGFuPlxuICAgICAgICA8L2xpPlxuICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2F4LXBvcG92ZXI+XG59IEBlbHNlIHtcbjxheC1idXR0b24gY29sb3I9XCJkZWZhdWx0XCIgbG9vaz1cImJsYW5rXCIgdGV4dD1cIlNpZ24gVXAgLyBTaWduIEluXCIgKGNsaWNrKT1cImhhbmRsZVNpZ25JbigpXCI+XG4gIDxheC1pY29uPlxuICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtdXNlciBheC10ZXh0LXNsYXRlLTQwMCBkYXJrOmF4LXRleHQtc2xhdGUtMjAwXCI+PC9pPlxuICA8L2F4LWljb24+XG48L2F4LWJ1dHRvbj5cbn1cbiJdfQ==
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1zbG90LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9hdXRoL3NyYy9saWIvYWNjb3VudC9wcm9maWxlL3Byb2ZpbGUtc2xvdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXV0aC9zcmMvbGliL2FjY291bnQvcHJvZmlsZS9wcm9maWxlLXNsb3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHFEQUFxRCxDQUFDOzs7Ozs7Ozs7O0FBaUJ4RyxNQUFNLE9BQU8sMkJBQTJCO0lBU3RDO1FBUlEsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixtQkFBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzNDLGdCQUFXLEdBQUcsTUFBTSxDQUFDLGVBQWUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzFELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXRDLGVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsZUFBVSxHQUFHLE1BQU0sQ0FBUyxFQUFFLENBQUMsQ0FBQztRQU9oQyxVQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUM7UUFDbEMsWUFBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDO1FBRXRDLHFCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUM7UUE2QnhELGtCQUFhLEdBQUcsR0FBRyxFQUFFO1lBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQzFDLE1BQU0sS0FBSyxHQUFHLElBQUksRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNyQyxJQUFJLEtBQUssRUFBRSxNQUFNLElBQUksS0FBSyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDdkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNqRyxDQUFDOztvQkFBTSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBM0NBLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQVNELFdBQVc7UUFDVCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUM7UUFDdEQsSUFBSSxPQUFPLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUM7UUFDekQsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksT0FBTyw0QkFBNEIsQ0FBQyxDQUFDLENBQUM7UUFDbEUsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTTtRQUNWLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRVMsWUFBWTtRQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVTLFlBQVksQ0FBQyxLQUE4QjtRQUNuRCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBV08sS0FBSyxDQUFDLFNBQVM7UUFDckIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsTUFBZ0IsQ0FBQztZQUN2RCxJQUFJLEdBQUcsRUFBRSxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDMUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDakIsQ0FBQztpQkFBTSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLE1BQU0sSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUMxRSxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDekMsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0IsT0FBTyxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNoQixDQUFDO0lBQ0gsQ0FBQzs4R0F2RVUsMkJBQTJCO2tHQUEzQiwyQkFBMkIsMExDaEN4QywwdEZBK0VBLDJDRDFESSxZQUFZLG1GQUNaLGFBQWEsaU1BQ2IsY0FBYyxvS0FDZCxlQUFlLGtVQUNmLGNBQWMsdVpBQ2QsaUJBQWlCLHdWQUNqQixpQ0FBaUMsdUVBQ2pDLGVBQWUsOEtBQ2YsbUJBQW1COzsyRkFHViwyQkFBMkI7a0JBZnZDLFNBQVM7aUNBRUksSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGlDQUFpQzt3QkFDakMsZUFBZTt3QkFDZixtQkFBbUI7cUJBQ3BCO3dEQXFCNEIsY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEF2YXRhck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9hdmF0YXInO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYSHRtbEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYSW1hZ2VNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvaW1hZ2UnO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhQb3BvdmVyQ29tcG9uZW50LCBBWFBvcG92ZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wb3Zlcic7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUERhdGFQcm92aWRlciB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IE1vY2tEYXRhU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbW9ja3MnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZpcnN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFBUZW5hbnRDaG9vc2VyRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi90ZW5hbnQtY2hvb3Nlci90ZW5hbnQtY2hvb3Nlci1kcm9wZG93bi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2ZpbGUtc2xvdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQVhJbWFnZU1vZHVsZSxcbiAgICBBWEF2YXRhck1vZHVsZSxcbiAgICBBWFBvcG92ZXJNb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhQVGVuYW50Q2hvb3NlckRyb3Bkb3duQ29tcG9uZW50LFxuICAgIEFYTG9hZGluZ01vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1BdXRoUHJvZmlsZVNsb3RDb21wb25lbnQge1xuICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlID0gaW5qZWN0KEFYUFNlc3Npb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBkYXRhU2VydmljZSA9IGluamVjdChBWFBEYXRhUHJvdmlkZXIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgbW9ja2VyU2VydmljZSA9IGluamVjdChNb2NrRGF0YVNlcnZpY2UpO1xuXG4gIHByb3RlY3RlZCBoYXNQaWN0dXJlID0gc2lnbmFsKHRydWUpO1xuICBwcm90ZWN0ZWQgYXZhdGFyVGV4dCA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmxvYWRJbWFnZSgpO1xuICAgIHRoaXMuZ2V0QXZhdGFyVGV4dCgpO1xuICB9XG4gIHByb3RlY3RlZCBzcmMhOiBzdHJpbmc7XG4gIHByb3RlY3RlZCB1c2VyJCA9IHRoaXMuc2Vzc2lvblNlcnZpY2UudXNlciQ7XG4gIHByb3RlY3RlZCB0ZW5hbnQkID0gdGhpcy5zZXNzaW9uU2VydmljZS50ZW5hbnQkO1xuXG4gIHByb3RlY3RlZCBpc0F1dGhlbnRpY2F0ZWQkID0gdGhpcy5zZXNzaW9uU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQkO1xuXG4gIEBWaWV3Q2hpbGQoJ3Byb2ZpbGVQb3BvdmVyJykgcHJvZmlsZVBvcG92ZXIhOiBBWFBvcG92ZXJDb21wb25lbnQ7XG5cbiAgZWRpdFByb2ZpbGUoKSB7XG4gICAgY29uc3QgYXBwTmFtZSA9IHRoaXMuc2Vzc2lvblNlcnZpY2UuYXBwbGljYXRpb24/Lm5hbWU7XG4gICAgaWYgKGFwcE5hbWUgPT09ICdhc2MnKSB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYC9hc2Mvb2lkYy9lL3VzZXItaW5mby8wL3ZpZXdgXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgLyR7YXBwTmFtZX0vbS9vaWRjL2UvdXNlci1pbmZvLzAvdmlld2BdKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2dPdXQoKSB7XG4gICAgYXdhaXQgdGhpcy5zZXNzaW9uU2VydmljZS5zaWdub3V0KCk7XG4gIH1cblxuICB0b2dnbGVQcm9maWxlTWVudSgpIHtcbiAgICB0aGlzLnByb2ZpbGVQb3BvdmVyLm9wZW4oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVTaWduSW4oKSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvYXV0aC9sb2dpbiddKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkltYWdlRXJyb3IoZXZlbnQ6IEFYSHRtbEV2ZW50PEVycm9yRXZlbnQ+KSB7XG4gICAgdGhpcy5oYXNQaWN0dXJlLnNldChmYWxzZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0QXZhdGFyVGV4dCA9ICgpID0+IHtcbiAgICB0aGlzLnVzZXIkLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCh1c2VyKSA9PiB7XG4gICAgICBjb25zdCBuYW1lcyA9IHVzZXI/LnRpdGxlLnNwbGl0KCcgJyk7XG4gICAgICBpZiAobmFtZXM/Lmxlbmd0aCAmJiBuYW1lcz8ubGVuZ3RoID4gMSkge1xuICAgICAgICB0aGlzLmF2YXRhclRleHQuc2V0KGAke25hbWVzWzBdWzBdLnRvVXBwZXJDYXNlKCl9JHtuYW1lc1tuYW1lcy5sZW5ndGggLSAxXVswXS50b1VwcGVyQ2FzZSgpfWApO1xuICAgICAgfSBlbHNlIHJldHVybiB0aGlzLmF2YXRhclRleHQuc2V0KCdBQycpO1xuICAgIH0pO1xuICB9O1xuXG4gIHByaXZhdGUgYXN5bmMgbG9hZEltYWdlKCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB1cmwgPSB0aGlzLnNlc3Npb25TZXJ2aWNlLnVzZXI/LmF2YXRhciBhcyBzdHJpbmc7XG4gICAgICBpZiAodXJsPy50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoJ2h0dHAnKSkge1xuICAgICAgICB0aGlzLnNyYyA9IHVybDtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zZXNzaW9uU2VydmljZS51c2VyPy5hdmF0YXIgIT0gJ251bGwnICYmIHRoaXMuZGF0YVNlcnZpY2UpIHtcbiAgICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IHRoaXMuZGF0YVNlcnZpY2Uudmlld0ZpbGUodXJsLCAnJyk7XG4gICAgICAgIHRoaXMuc3JjID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc3JjID0gdGhpcy5tb2NrZXJTZXJ2aWNlLmF2YXRhcigpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmhhc1BpY3R1cmUuc2V0KGZhbHNlKTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIGltYWdlIGJ5IElEOicsIGVycm9yKTtcbiAgICAgIHRoaXMuc3JjID0gJyc7XG4gICAgfVxuICB9XG59XG4iLCJAaWYoKGlzQXV0aGVudGljYXRlZCQgfCBhc3luYykpIHtcbjxkaXYgY2xhc3M9XCJheC1zaXplLWZpdCBheC1weC0yXCI+XG4gIDxheC1hdmF0YXJcbiAgICAjYXZhdGFyXG4gICAgY29sb3I9XCJzZWNvbmRhcnlcIlxuICAgIChlcnJvcik9XCJ0aGlzLnNyYyA9ICdwYXRoL3RvL2RlZmF1bHQtaW1hZ2UuanBnJ1wiXG4gICAgW3NpemVdPVwiMzJcIlxuICAgIGNsYXNzPVwiYXgtY3Vyc29yLXBvaW50ZXJcIlxuICA+XG4gICAgQGlmKGhhc1BpY3R1cmUoKSl7XG4gICAgPGF4LWltYWdlIChvbkVycm9yKT1cIm9uSW1hZ2VFcnJvcigkZXZlbnQpXCIgW3NyY109XCJzcmNcIj48L2F4LWltYWdlPlxuICAgIH1AZWxzZXtcbiAgICA8YXgtdGV4dD5cbiAgICAgIDxzbWFsbCBjbGFzcz1cImF4LXRleHQteHMgYXgtZm9udC1zZW1pYm9sZFwiPnt7IGF2YXRhclRleHQoKSB9fTwvc21hbGw+XG4gICAgPC9heC10ZXh0PlxuICAgIH1cbiAgPC9heC1hdmF0YXI+XG4gIDxheC1wb3BvdmVyIFt0YXJnZXRdPVwiYXZhdGFyXCIgW29wZW5Pbl09XCIndG9nZ2xlJ1wiIFtjbG9zZU9uXT1cIidjbGlja091dCdcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtYmctc3VyZmFjZSBheC1ib3JkZXIgYXgtYm9yZGVyLWRlZmF1bHQgYXgtcm91bmRlZC1tZCBheC1zaGFkb3ctbWQgYXgtdy1mdWxsIGF4LW1pbi13LTY0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1pdGVtcy1jZW50ZXIgYXgtcC00IGF4LWJvcmRlci1iXCI+XG4gICAgICAgIDxheC1hdmF0YXIgW3NpemVdPVwiNjBcIj5cbiAgICAgICAgICBAaWYoaGFzUGljdHVyZSgpKXtcbiAgICAgICAgICA8YXgtaW1hZ2UgKG9uRXJyb3IpPVwib25JbWFnZUVycm9yKCRldmVudClcIiBbc3JjXT1cInNyY1wiPlxuICAgICAgICAgICAgPGF4LWxvYWRpbmc+PC9heC1sb2FkaW5nPlxuICAgICAgICAgIDwvYXgtaW1hZ2U+XG4gICAgICAgICAgfUBlbHNle1xuICAgICAgICAgIDxheC10ZXh0PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJcIj57eyBhdmF0YXJUZXh0KCkgfX08L3NwYW4+XG4gICAgICAgICAgPC9heC10ZXh0PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9heC1hdmF0YXI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sIGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWNlbnRlciBheC1tdC0yIGF4LWdhcC0xXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LXRleHQtYmFzZSBheC1mb250LWJvbGRcIj57eyAodXNlciQgfCBhc3luYyk/LnRpdGxlIH19PC9kaXY+XG4gICAgICAgICAgPGF4cC10ZW5hbnQtY2hvb3Nlci1kcm9wZG93bj48L2F4cC10ZW5hbnQtY2hvb3Nlci1kcm9wZG93bj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLW1lbnVzIGF4LXRleHQtc2xhdGUtNTAwXCI+XG4gICAgICAgIDwhLS0gPHVsPlxuICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1mb2xkZXItb3BlblwiPjwvaT5cbiAgICAgICAgICAgIDxzcGFuPiBQcm9qZWN0IE1hbmFnZW1lbnQgPC9zcGFuPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtZW52ZWxvcGUtb3Blbi10ZXh0XCI+PC9pPlxuICAgICAgICAgICAgPHNwYW4+RW1haWwgQ29uZmlnPC9zcGFuPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtZ2VhclwiPjwvaT5cbiAgICAgICAgICAgIDxzcGFuPlNldHRpbmc8L3NwYW4+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPiAtLT5cbiAgICAgICAgPHVsPlxuICAgICAgICAgIDwhLS0gPGxpPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1nZW0gYXgtdGV4dC1wcmltYXJ5LTUwMFwiPjwvaT5cbiAgICAgICAgICAgIDxzcGFuPiBVcGdyYWRlIGFjY291bnQgPC9zcGFuPlxuICAgICAgICAgICAgPC9saT4gLS0+XG4gICAgICAgICAgPGxpIChjbGljayk9XCJlZGl0UHJvZmlsZSgpXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLXVzZXJcIj48L2k+XG4gICAgICAgICAgICA8c3Bhbj57eyAncHJvZmlsZS5lZGl0JyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9zcGFuPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICAgIDx1bD5cbiAgICAgICAgICA8bGkgY2xhc3M9XCJheC10ZXh0LWRhbmdlci01MDBcIiAoY2xpY2spPVwibG9nT3V0KClcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtYXJyb3ctcmlnaHQtZnJvbS1icmFja2V0XCI+PC9pPlxuICAgICAgICAgICAgPHNwYW4+e3sgJ3Byb2ZpbGUubG9nb3V0JyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9zcGFuPlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9heC1wb3BvdmVyPlxuPC9kaXY+XG5cbn0gQGVsc2Uge1xuPGF4LWJ1dHRvbiBjb2xvcj1cImRlZmF1bHRcIiBsb29rPVwiYmxhbmtcIiB0ZXh0PVwiU2lnbiBVcCAvIFNpZ24gSW5cIiAoY2xpY2spPVwiaGFuZGxlU2lnbkluKClcIj5cbiAgPGF4LWljb24+XG4gICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS11c2VyIGF4LXRleHQtc2xhdGUtNDAwIGRhcms6YXgtdGV4dC1zbGF0ZS0yMDBcIj48L2k+XG4gIDwvYXgtaWNvbj5cbjwvYXgtYnV0dG9uPlxufVxuIl19
|
@@ -1,6 +1,5 @@
|
|
1
|
-
import { AXPCommonModule } from '@acorex/platform/common';
|
1
|
+
import { AXP_MENU_PROVIDER, AXPCommonModule } from '@acorex/platform/common';
|
2
2
|
import { CommonModule } from '@angular/common';
|
3
|
-
import { HttpClientModule } from '@angular/common/http';
|
4
3
|
import { NgModule } from '@angular/core';
|
5
4
|
import { RouterModule } from '@angular/router';
|
6
5
|
import { EffectsModule } from '@ngrx/effects';
|
@@ -8,22 +7,23 @@ import { routes } from './auth.routes';
|
|
8
7
|
import { AXMAuthErrorHandler } from './error-handler';
|
9
8
|
import { AXPAuthEffects } from './store';
|
10
9
|
import { AXPAccountModule } from './account/account.module';
|
10
|
+
import { AXMSecurityManagmentModuleMenuProvider } from './menu.provider';
|
11
11
|
import * as i0 from "@angular/core";
|
12
12
|
import * as i1 from "@acorex/platform/common";
|
13
13
|
import * as i2 from "@angular/router";
|
14
14
|
import * as i3 from "@ngrx/effects";
|
15
15
|
export class AXMAuthModule {
|
16
|
-
static forRoot() {
|
17
|
-
return {
|
18
|
-
ngModule: AXMAuthModule,
|
19
|
-
providers: [],
|
20
|
-
};
|
21
|
-
}
|
22
16
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
23
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXMAuthModule, imports: [CommonModule, i1.AXPCommonModule,
|
24
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMAuthModule, providers: [
|
17
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXMAuthModule, imports: [CommonModule, i1.AXPCommonModule, i2.RouterModule, i3.EffectsFeatureModule, AXPAccountModule] }); }
|
18
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMAuthModule, providers: [
|
19
|
+
AXMAuthErrorHandler,
|
20
|
+
{
|
21
|
+
provide: AXP_MENU_PROVIDER,
|
22
|
+
useClass: AXMSecurityManagmentModuleMenuProvider,
|
23
|
+
multi: true
|
24
|
+
}
|
25
|
+
], imports: [CommonModule,
|
25
26
|
AXPCommonModule.forChild({ errorHandlers: [AXMAuthErrorHandler] }),
|
26
|
-
HttpClientModule,
|
27
27
|
RouterModule.forChild(routes),
|
28
28
|
EffectsModule.forFeature([AXPAuthEffects]),
|
29
29
|
AXPAccountModule] }); }
|
@@ -34,12 +34,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
34
34
|
imports: [
|
35
35
|
CommonModule,
|
36
36
|
AXPCommonModule.forChild({ errorHandlers: [AXMAuthErrorHandler] }),
|
37
|
-
HttpClientModule,
|
38
37
|
RouterModule.forChild(routes),
|
39
38
|
EffectsModule.forFeature([AXPAuthEffects]),
|
40
39
|
AXPAccountModule
|
41
40
|
],
|
42
|
-
providers: [
|
41
|
+
providers: [
|
42
|
+
AXMAuthErrorHandler,
|
43
|
+
{
|
44
|
+
provide: AXP_MENU_PROVIDER,
|
45
|
+
useClass: AXMSecurityManagmentModuleMenuProvider,
|
46
|
+
multi: true
|
47
|
+
}
|
48
|
+
],
|
43
49
|
}]
|
44
50
|
}] });
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYXV0aC9zcmMvbGliL2F1dGgubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBb0J6RSxNQUFNLE9BQU8sYUFBYTs4R0FBYixhQUFhOytHQUFiLGFBQWEsWUFmdEIsWUFBWSxnRUFJWixnQkFBZ0I7K0dBV1AsYUFBYSxhQVRiO1lBQ1QsbUJBQW1CO1lBQ25CO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFFBQVEsRUFBRSxzQ0FBc0M7Z0JBQ2hELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRixZQWJDLFlBQVk7WUFDWixlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1lBQ2xFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQzdCLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUMxQyxnQkFBZ0I7OzJGQVdQLGFBQWE7a0JBakJ6QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGVBQWUsQ0FBQyxRQUFRLENBQUMsRUFBRSxhQUFhLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7d0JBQ2xFLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO3dCQUM3QixhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7d0JBQzFDLGdCQUFnQjtxQkFDakI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULG1CQUFtQjt3QkFDbkI7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsUUFBUSxFQUFFLHNDQUFzQzs0QkFDaEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBfTUVOVV9QUk9WSURFUiwgQVhQQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRWZmZWN0c01vZHVsZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgcm91dGVzIH0gZnJvbSAnLi9hdXRoLnJvdXRlcyc7XG5pbXBvcnQgeyBBWE1BdXRoRXJyb3JIYW5kbGVyIH0gZnJvbSAnLi9lcnJvci1oYW5kbGVyJztcbmltcG9ydCB7IEFYUEF1dGhFZmZlY3RzIH0gZnJvbSAnLi9zdG9yZSc7XG5pbXBvcnQgeyBBWFBBY2NvdW50TW9kdWxlIH0gZnJvbSAnLi9hY2NvdW50L2FjY291bnQubW9kdWxlJztcbmltcG9ydCB7IEFYTVNlY3VyaXR5TWFuYWdtZW50TW9kdWxlTWVudVByb3ZpZGVyIH0gZnJvbSAnLi9tZW51LnByb3ZpZGVyJztcblxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFYUENvbW1vbk1vZHVsZS5mb3JDaGlsZCh7IGVycm9ySGFuZGxlcnM6IFtBWE1BdXRoRXJyb3JIYW5kbGVyXSB9KSxcbiAgICBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKSxcbiAgICBFZmZlY3RzTW9kdWxlLmZvckZlYXR1cmUoW0FYUEF1dGhFZmZlY3RzXSksXG4gICAgQVhQQWNjb3VudE1vZHVsZVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBBWE1BdXRoRXJyb3JIYW5kbGVyLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9NRU5VX1BST1ZJREVSLFxuICAgICAgdXNlQ2xhc3M6IEFYTVNlY3VyaXR5TWFuYWdtZW50TW9kdWxlTWVudVByb3ZpZGVyLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTUF1dGhNb2R1bGUge1xuXG59XG4iXX0=
|