@wavemaker/app-ng-runtime 12.0.0-next.45057 → 12.0.0-next.45061

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. app-ng-runtime/components/dialogs/default/base-dialog.d.ts +2 -0
  2. app-ng-runtime/components/dialogs/default/bundles/index.umd.js +3 -0
  3. app-ng-runtime/components/dialogs/default/esm2022/base-dialog.mjs +5 -2
  4. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs +4 -1
  5. app-ng-runtime/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  6. app-ng-runtime/components/dialogs/design-dialog/bundles/index.umd.js +19 -2
  7. app-ng-runtime/components/dialogs/design-dialog/dialog.component.d.ts +3 -2
  8. app-ng-runtime/components/dialogs/design-dialog/esm2022/dialog.component.mjs +20 -3
  9. app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs +19 -2
  10. app-ng-runtime/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  11. app-ng-runtime/components/page/left-panel/bundles/index.umd.js +1 -1
  12. app-ng-runtime/components/page/left-panel/esm2022/left-panel.directive.mjs +3 -3
  13. app-ng-runtime/components/page/left-panel/fesm2022/index.mjs +2 -2
  14. app-ng-runtime/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  15. app-ng-runtime/components/page/right-panel/bundles/index.umd.js +1 -1
  16. app-ng-runtime/components/page/right-panel/esm2022/right-panel.directive.mjs +3 -3
  17. app-ng-runtime/components/page/right-panel/fesm2022/index.mjs +2 -2
  18. app-ng-runtime/components/page/right-panel/fesm2022/index.mjs.map +1 -1
  19. app-ng-runtime/core/bundles/index.umd.js +12 -3
  20. app-ng-runtime/core/esm2022/public_api.mjs +2 -2
  21. app-ng-runtime/core/esm2022/utils/utils.mjs +9 -2
  22. app-ng-runtime/core/fesm2022/index.mjs +11 -3
  23. app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
  24. app-ng-runtime/core/public_api.d.ts +1 -1
  25. app-ng-runtime/core/utils/utils.d.ts +2 -1
  26. app-ng-runtime/package.json +1 -1
  27. app-ng-runtime/runtime/base/bundles/index.umd.js +9 -5
  28. app-ng-runtime/runtime/base/components/base-custom-widget.component.d.ts +2 -1
  29. app-ng-runtime/runtime/base/esm2022/components/base-custom-widget.component.mjs +9 -7
  30. app-ng-runtime/runtime/base/esm2022/public_api.mjs +1 -1
  31. app-ng-runtime/runtime/base/esm2022/types/types.mjs +3 -1
  32. app-ng-runtime/runtime/base/fesm2022/index.mjs +9 -6
  33. app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
  34. app-ng-runtime/runtime/base/types/types.d.ts +3 -0
  35. app-ng-runtime/runtime/dynamic/app/services/customwidget-config-provider.service.d.ts +8 -0
  36. app-ng-runtime/runtime/dynamic/bundles/index.umd.js +22 -4
  37. app-ng-runtime/runtime/dynamic/esm2022/app/app.module.mjs +4 -2
  38. app-ng-runtime/runtime/dynamic/esm2022/app/services/customwidget-config-provider.service.mjs +22 -0
  39. app-ng-runtime/runtime/dynamic/fesm2022/index.mjs +25 -5
  40. app-ng-runtime/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  41. app-ng-runtime/scripts/custom-widgets-m3/src/checkbox_set/checkbox_set.d.ts +0 -0
  42. app-ng-runtime/scripts/custom-widgets-m3/src/checkbox_set/checkbox_set.js +38 -0
  43. app-ng-runtime/scripts/custom-widgets-m3/src/checkbox_set/page.min.d.ts +7 -0
  44. app-ng-runtime/scripts/custom-widgets-m3/src/checkbox_set/page.min.js +7 -0
  45. app-ng-runtime/scripts/custom-widgets-m3/src/discrete_slider/discrete_slider.d.ts +10 -0
  46. app-ng-runtime/scripts/custom-widgets-m3/src/discrete_slider/discrete_slider.js +171 -0
  47. app-ng-runtime/scripts/custom-widgets-m3/src/discrete_slider/page.min.d.ts +7 -0
  48. app-ng-runtime/scripts/custom-widgets-m3/src/discrete_slider/page.min.js +7 -0
  49. app-ng-runtime/scripts/custom-widgets-m3/src/divider/divider.d.ts +0 -0
  50. app-ng-runtime/scripts/custom-widgets-m3/src/divider/divider.js +28 -0
  51. app-ng-runtime/scripts/custom-widgets-m3/src/divider/page.min.d.ts +7 -0
  52. app-ng-runtime/scripts/custom-widgets-m3/src/divider/page.min.js +7 -0
  53. app-ng-runtime/scripts/custom-widgets-m3/src/icon_button/icon_button.d.ts +0 -0
  54. app-ng-runtime/scripts/custom-widgets-m3/src/icon_button/icon_button.js +24 -0
  55. app-ng-runtime/scripts/custom-widgets-m3/src/icon_button/page.min.d.ts +7 -0
  56. app-ng-runtime/scripts/custom-widgets-m3/src/icon_button/page.min.js +7 -0
  57. app-ng-runtime/scripts/custom-widgets-m3/src/input_chip/input_chip.d.ts +0 -0
  58. app-ng-runtime/scripts/custom-widgets-m3/src/input_chip/input_chip.js +34 -0
  59. app-ng-runtime/scripts/custom-widgets-m3/src/input_chip/input_chip.variables.d.ts +0 -0
  60. app-ng-runtime/scripts/custom-widgets-m3/src/input_chip/input_chip.variables.js +1 -0
  61. app-ng-runtime/scripts/custom-widgets-m3/src/input_chip/page.min.d.ts +7 -0
  62. app-ng-runtime/scripts/custom-widgets-m3/src/input_chip/page.min.js +7 -0
  63. app-ng-runtime/scripts/custom-widgets-m3/src/payee_list/page.min.d.ts +7 -0
  64. app-ng-runtime/scripts/custom-widgets-m3/src/payee_list/page.min.js +7 -0
  65. app-ng-runtime/scripts/custom-widgets-m3/src/payee_list/payee_list.d.ts +0 -0
  66. app-ng-runtime/scripts/custom-widgets-m3/src/payee_list/payee_list.js +19 -0
  67. app-ng-runtime/scripts/custom-widgets-m3/src/progressbar/page.min.d.ts +7 -0
  68. app-ng-runtime/scripts/custom-widgets-m3/src/progressbar/page.min.js +7 -0
  69. app-ng-runtime/scripts/custom-widgets-m3/src/progressbar/progressbar.d.ts +0 -0
  70. app-ng-runtime/scripts/custom-widgets-m3/src/progressbar/progressbar.js +52 -0
  71. app-ng-runtime/scripts/custom-widgets-m3/src/radio_set/page.min.d.ts +7 -0
  72. app-ng-runtime/scripts/custom-widgets-m3/src/radio_set/page.min.js +7 -0
  73. app-ng-runtime/scripts/custom-widgets-m3/src/radio_set/radio_set.d.ts +0 -0
  74. app-ng-runtime/scripts/custom-widgets-m3/src/radio_set/radio_set.js +35 -0
  75. app-ng-runtime/scripts/custom-widgets-m3/src/slider/page.min.d.ts +7 -0
  76. app-ng-runtime/scripts/custom-widgets-m3/src/slider/page.min.js +7 -0
  77. app-ng-runtime/scripts/custom-widgets-m3/src/slider/slider.d.ts +11 -0
  78. app-ng-runtime/scripts/custom-widgets-m3/src/slider/slider.js +121 -0
  79. app-ng-runtime/scripts/custom-widgets-m3/src/switch_button/page.min.d.ts +7 -0
  80. app-ng-runtime/scripts/custom-widgets-m3/src/switch_button/page.min.js +7 -0
  81. app-ng-runtime/scripts/custom-widgets-m3/src/switch_button/switch_button.d.ts +0 -0
  82. app-ng-runtime/scripts/custom-widgets-m3/src/switch_button/switch_button.js +33 -0
  83. app-ng-runtime/scripts/custom-widgets-m3/src/textfield/page.min.d.ts +7 -0
  84. app-ng-runtime/scripts/custom-widgets-m3/src/textfield/page.min.js +7 -0
  85. app-ng-runtime/scripts/custom-widgets-m3/src/textfield/textfield.d.ts +4 -0
  86. app-ng-runtime/scripts/custom-widgets-m3/src/textfield/textfield.js +65 -0
  87. app-ng-runtime/scripts/custom-widgets-m3/src/widget-registry.d.ts +6 -0
  88. app-ng-runtime/scripts/custom-widgets-m3/src/widget-registry.js +68 -0
@@ -11,6 +11,9 @@ export declare abstract class ComponentRefProvider {
11
11
  export declare abstract class PrefabConfigProvider {
12
12
  abstract getConfig(prefabName: string): Promise<any>;
13
13
  }
14
+ export declare abstract class CustomwidgetConfigProvider {
15
+ abstract getConfig(widgetname: string): Promise<any>;
16
+ }
14
17
  export declare abstract class AppJSProvider {
15
18
  abstract getAppScriptFn(): Promise<Function>;
16
19
  }
@@ -0,0 +1,8 @@
1
+ import { CustomwidgetConfigProvider } from '@wm/runtime/base';
2
+ import * as i0 from "@angular/core";
3
+ export declare class CustomwidgetConfigProviderService extends CustomwidgetConfigProvider {
4
+ constructor();
5
+ getConfig(widgetname: string): Promise<any>;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<CustomwidgetConfigProviderService, never>;
7
+ static ɵprov: i0.ɵɵInjectableDeclaration<CustomwidgetConfigProviderService>;
8
+ }
@@ -168,22 +168,22 @@
168
168
  }]
169
169
  }], () => [{ type: i1$1__namespace.HttpClient }], null); })();
170
170
 
171
- const cache$1 = new Map();
171
+ const cache$2 = new Map();
172
172
  class AppResourceManagerService {
173
173
  get(url, useCache) {
174
- const cachedResponse = cache$1.get(url);
174
+ const cachedResponse = cache$2.get(url);
175
175
  if (cachedResponse) {
176
176
  return Promise.resolve(cachedResponse);
177
177
  }
178
178
  return this.$http.get(url).then(response => {
179
179
  if (useCache) {
180
- cache$1.set(url, response);
180
+ cache$2.set(url, response);
181
181
  }
182
182
  return response;
183
183
  });
184
184
  }
185
185
  clearCache() {
186
- cache$1.clear();
186
+ cache$2.clear();
187
187
  }
188
188
  constructor($http) {
189
189
  this.$http = $http;
@@ -437,6 +437,23 @@
437
437
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(ComponentRefProviderService, [{
438
438
  type: i0.Injectable
439
439
  }], () => [{ type: AppResourceManagerService }, { type: i5__namespace.App }, { type: i4__namespace.AppManagerService }, { type: i0__namespace.Compiler }], null); })();
440
+ class CustomwidgetConfigProviderService extends i4.CustomwidgetConfigProvider {
441
+ constructor() {
442
+ super();
443
+ }
444
+ getConfig(widgetname) {
445
+ return new Promise((res, rej) => {
446
+ Promise.resolve(window['resourceCache'].get(`./custom-widgets/${widgetname}/page.min.json`)).then((pageInfo) => {
447
+ res(pageInfo.config);
448
+ });
449
+ });
450
+ }
451
+ static { this.ɵfac = function CustomwidgetConfigProviderService_Factory(t) { return new (t || CustomwidgetConfigProviderService)(); }; }
452
+ static { this.ɵprov = /*@__PURE__*/ i0__namespace.ɵɵdefineInjectable({ token: CustomwidgetConfigProviderService, factory: CustomwidgetConfigProviderService.ɵfac }); }
453
+ }
454
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(CustomwidgetConfigProviderService, [{
455
+ type: i0.Injectable
456
+ }], () => [], null); })();
440
457
 
441
458
  const cache = new Map();
442
459
  class PrefabConfigProviderService extends i4.PrefabConfigProvider {
@@ -603,6 +620,7 @@
603
620
  { provide: i4.ComponentRefProvider, useClass: ComponentRefProviderService },
604
621
  { provide: i5.PartialRefProvider, useClass: ComponentRefProviderService },
605
622
  { provide: i5.CustomWidgetRefProvider, useClass: ComponentRefProviderService },
623
+ { provide: i4.CustomwidgetConfigProvider, useClass: CustomwidgetConfigProviderService },
606
624
  { provide: i4.PrefabConfigProvider, useClass: PrefabConfigProviderService },
607
625
  { provide: i1.RouteReuseStrategy, useClass: i4.WmRouteReuseStrategy }
608
626
  ],
@@ -74,13 +74,14 @@ import { LeftPanelModule } from '@wm/components/page/left-panel';
74
74
  import { RightPanelModule } from '@wm/components/page/right-panel';
75
75
  import { TopNavModule } from '@wm/components/page/top-nav';
76
76
  import { PrefabModule } from '@wm/components/prefab';
77
- import { AppComponent, AppJSProvider, AppVariablesProvider, ComponentRefProvider, PrefabConfigProvider, WmRouteReuseStrategy, WM_MODULES_FOR_ROOT, REQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS, AppExtensionProvider } from '@wm/runtime/base';
77
+ import { AppComponent, AppJSProvider, AppVariablesProvider, ComponentRefProvider, PrefabConfigProvider, WmRouteReuseStrategy, WM_MODULES_FOR_ROOT, CustomwidgetConfigProvider, REQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS, AppExtensionProvider } from '@wm/runtime/base';
78
78
  import { routes } from './app.routes';
79
79
  import { PageWrapperComponent } from './components/page-wrapper.component';
80
80
  import { AppJSProviderService } from './services/app-js-provider.service';
81
81
  import { AppVariablesProviderService } from './services/app-variables-provider.service';
82
82
  import { AppExtensionProviderService } from './services/app-extension.service';
83
83
  import { ComponentRefProviderService } from './services/component-ref-provider.service';
84
+ import { CustomwidgetConfigProviderService } from './services/customwidget-config-provider.service';
84
85
  import { PrefabConfigProviderService } from './services/prefab-config-provider.service';
85
86
  import { AppResourceManagerService } from './services/app-resource-manager.service';
86
87
  import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
@@ -225,6 +226,7 @@ AppModule = __decorate([
225
226
  { provide: ComponentRefProvider, useClass: ComponentRefProviderService },
226
227
  { provide: PartialRefProvider, useClass: ComponentRefProviderService },
227
228
  { provide: CustomWidgetRefProvider, useClass: ComponentRefProviderService },
229
+ { provide: CustomwidgetConfigProvider, useClass: CustomwidgetConfigProviderService },
228
230
  { provide: PrefabConfigProvider, useClass: PrefabConfigProviderService },
229
231
  { provide: RouteReuseStrategy, useClass: WmRouteReuseStrategy }
230
232
  ],
@@ -233,4 +235,4 @@ AppModule = __decorate([
233
235
  __metadata("design:paramtypes", [App, Injector, ComponentRefProvider])
234
236
  ], AppModule);
235
237
  export { AppModule };
236
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3J1bnRpbWUtZHluYW1pYy9zcmMvYXBwL2FwcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsSUFBSSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFFLE9BQU8s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ZWN0b3IsIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUm91dGVSZXVzZVN0cmF0ZWd5LCBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSwgSHR0cENsaWVudFhzcmZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgVHlwZWFoZWFkTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC90eXBlYWhlYWQnO1xuaW1wb3J0IHsgVGltZXBpY2tlck1vZHVsZSBhcyBuZ3hUaW1lcGlja2VyTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC90aW1lcGlja2VyJztcbmltcG9ydCB7IFByb2dyZXNzYmFyTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9wcm9ncmVzc2Jhcic7XG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIGFzIG5neFBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL3BhZ2luYXRpb24nO1xuaW1wb3J0IHsgTW9kYWxNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL21vZGFsJztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQnNEYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9kYXRlcGlja2VyJztcbmltcG9ydCB7IEJzRHJvcGRvd25Nb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL2Ryb3Bkb3duJztcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgYXMgbmd4UG9wb3Zlck1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvcG9wb3Zlcic7XG5cbmltcG9ydCB7IE5nQ2lyY2xlUHJvZ3Jlc3NNb2R1bGUgfSBmcm9tICduZy1jaXJjbGUtcHJvZ3Jlc3MnO1xuaW1wb3J0IHsgVG9hc3ROb0FuaW1hdGlvbk1vZHVsZSB9IGZyb20gJ25neC10b2FzdHInO1xuaW1wb3J0IHsgQ2Fyb3VzZWxNb2R1bGUgYXMgbmd4Q2Fyb3VzZWxNb2R1bGUsIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9jYXJvdXNlbCc7XG5cbmltcG9ydCB7QXBwLCBnZXRXbVByb2plY3RQcm9wZXJ0aWVzLCBQYXJ0aWFsUmVmUHJvdmlkZXIsIEN1c3RvbVdpZGdldFJlZlByb3ZpZGVyfSBmcm9tICdAd20vY29yZSc7XG4vLyBCYXNpYyB3aWRnZXRzXG5cbmltcG9ydCB7IEJhc2ljTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzaWMnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNpYy9wcm9ncmVzcyc7XG5pbXBvcnQgeyBSaWNoVGV4dEVkaXRvck1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2ljL3JpY2gtdGV4dC1lZGl0b3InO1xuaW1wb3J0IHsgU2VhcmNoTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzaWMvc2VhcmNoJztcbmltcG9ydCB7IFRyZWVNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNpYy90cmVlJztcblxuLy8gaW5wdXRcbmltcG9ydCB7IElucHV0TW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvaW5wdXQnO1xuaW1wb3J0IHsgQ2FsZW5kYXJNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9pbnB1dC9jYWxlbmRhcic7XG5pbXBvcnQgeyBDaGlwc01vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2lucHV0L2NoaXBzJztcbmltcG9ydCB7IENvbG9yUGlja2VyTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvaW5wdXQvY29sb3ItcGlja2VyJztcbmltcG9ydCB7IEN1cnJlbmN5TW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvaW5wdXQvY3VycmVuY3knO1xuaW1wb3J0IHsgRXBvY2hNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9pbnB1dC9lcG9jaCc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvaW5wdXQvZmlsZS11cGxvYWQnO1xuaW1wb3J0IHsgUmF0aW5nTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvaW5wdXQvcmF0aW5nJztcbmltcG9ydCB7IFNsaWRlck1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2lucHV0L3NsaWRlcic7XG5cbmltcG9ydCB7IE1vYmlsZVJ1bnRpbWVEeW5hbWljTW9kdWxlLCBNT0JJTEVfQ09NUE9ORU5UX01PRFVMRVNfRk9SX1JPT1QgfSBmcm9tICdAd20vbW9iaWxlL3J1bnRpbWUvZHluYW1pYyc7XG5cbi8vIERhdGFcbmltcG9ydCB7IENhcmRNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9kYXRhL2NhcmQnO1xuaW1wb3J0IHsgRm9ybU1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2RhdGEvZm9ybSc7XG5pbXBvcnQgeyBMaXN0TW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvZGF0YS9saXN0JztcbmltcG9ydCB7IExpdmVUYWJsZU1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2RhdGEvbGl2ZS10YWJsZSc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvZGF0YS9wYWdpbmF0aW9uJztcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvZGF0YS90YWJsZSc7XG5cbi8vIENoYXJ0XG5pbXBvcnQgeyBDaGFydE1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2NoYXJ0JztcblxuLy8gQ29udGFpbmVyc1xuaW1wb3J0IHsgQWNjb3JkaW9uTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvY29udGFpbmVycy9hY2NvcmRpb24nO1xuaW1wb3J0IHsgTGluZWFyTGF5b3V0TW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvY29udGFpbmVycy9saW5lYXItbGF5b3V0JztcbmltcG9ydCB7IExheW91dEdyaWRNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9jb250YWluZXJzL2xheW91dC1ncmlkJztcbmltcG9ydCB7IFBhbmVsTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvY29udGFpbmVycy9wYW5lbCc7XG5pbXBvcnQgeyBUYWJzTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvY29udGFpbmVycy90YWJzJztcbmltcG9ydCB7IFRpbGVNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9jb250YWluZXJzL3RpbGUnO1xuaW1wb3J0IHsgV2l6YXJkTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvY29udGFpbmVycy93aXphcmQnO1xuXG4vLyBEaWFsb2dzXG5pbXBvcnQgeyBBbGVydERpYWxvZ01vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2RpYWxvZ3MvYWxlcnQtZGlhbG9nJztcbmltcG9ydCB7IElmcmFtZURpYWxvZ01vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2RpYWxvZ3MvaWZyYW1lLWRpYWxvZyc7XG5pbXBvcnQgeyBMb2dpbkRpYWxvZ01vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2RpYWxvZ3MvbG9naW4tZGlhbG9nJztcbmltcG9ydCB7IFBhcnRpYWxEaWFsb2dNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9kaWFsb2dzL3BhcnRpYWwtZGlhbG9nJztcblxuLy8gTmF2aWdhdGlvblxuaW1wb3J0IHsgQnJlYWRjcnVtYk1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL25hdmlnYXRpb24vYnJlYWRjcnVtYic7XG5pbXBvcnQgeyBNZW51TW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9tZW51JztcbmltcG9ydCB7IE5hdmJhck1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2YmFyJztcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9uYXZpZ2F0aW9uL3BvcG92ZXInO1xuXG4vLyBBZHZhbmNlZFxuaW1wb3J0IHsgQ2Fyb3VzZWxNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9hZHZhbmNlZC9jYXJvdXNlbCc7XG5pbXBvcnQgeyBMb2dpbk1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2FkdmFuY2VkL2xvZ2luJztcbmltcG9ydCB7IE1hcnF1ZWVNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9hZHZhbmNlZC9tYXJxdWVlJztcbmltcG9ydCB7IEN1c3RvbU1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2FkdmFuY2VkL2N1c3RvbSc7XG5cbmltcG9ydCB7IFBhZ2VNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9wYWdlJztcbmltcG9ydCB7IEZvb3Rlck1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL3BhZ2UvZm9vdGVyJztcbmltcG9ydCB7IEhlYWRlck1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL3BhZ2UvaGVhZGVyJztcbmltcG9ydCB7IExlZnRQYW5lbE1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL3BhZ2UvbGVmdC1wYW5lbCc7XG5pbXBvcnQgeyBSaWdodFBhbmVsTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvcGFnZS9yaWdodC1wYW5lbCc7XG5pbXBvcnQgeyBUb3BOYXZNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9wYWdlL3RvcC1uYXYnO1xuXG5pbXBvcnQgeyBQcmVmYWJNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9wcmVmYWInO1xuXG5pbXBvcnQge1xuICAgIEFwcENvbXBvbmVudCxcbiAgICBBcHBKU1Byb3ZpZGVyLFxuICAgIEFwcFZhcmlhYmxlc1Byb3ZpZGVyLFxuICAgIENvbXBvbmVudFJlZlByb3ZpZGVyLFxuICAgIFByZWZhYkNvbmZpZ1Byb3ZpZGVyLFxuICAgIFdtUm91dGVSZXVzZVN0cmF0ZWd5LFxuICAgIFdNX01PRFVMRVNfRk9SX1JPT1QsXG4gICAgUkVRVUlSRURfTU9EVUxFU19GT1JfRFlOQU1JQ19DT01QT05FTlRTLFxuICAgIEFwcEV4dGVuc2lvblByb3ZpZGVyXG59IGZyb20gJ0B3bS9ydW50aW1lL2Jhc2UnO1xuXG5pbXBvcnQgeyByb3V0ZXMgfSBmcm9tICcuL2FwcC5yb3V0ZXMnO1xuaW1wb3J0IHsgUGFnZVdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFnZS13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHBKU1Byb3ZpZGVyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYXBwLWpzLXByb3ZpZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwVmFyaWFibGVzUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hcHAtdmFyaWFibGVzLXByb3ZpZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwRXh0ZW5zaW9uUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hcHAtZXh0ZW5zaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9jb21wb25lbnQtcmVmLXByb3ZpZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJlZmFiQ29uZmlnUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wcmVmYWItY29uZmlnLXByb3ZpZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwUmVzb3VyY2VNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYXBwLXJlc291cmNlLW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCByb3V0ZXJNb2R1bGUgPSBSb3V0ZXJNb2R1bGUuZm9yUm9vdChyb3V0ZXMsIHsgdXNlSGFzaDogdHJ1ZSwgc2Nyb2xsUG9zaXRpb25SZXN0b3JhdGlvbjogJ3RvcCcgfSk7XG5leHBvcnQgY29uc3QgdG9hc3RyTW9kdWxlID0gVG9hc3ROb0FuaW1hdGlvbk1vZHVsZS5mb3JSb290KHsgbWF4T3BlbmVkOiAxLCBhdXRvRGlzbWlzczogdHJ1ZSB9KTtcblxuLy8gSW4gYW5ndWxhciAxNSwgeHNyZiBoZWFkZXJOYW1lIHNob3VsZCBub3QgYmUgbnVsbC4gQW5ndWxhciAxNSBpcyBub3QgdXNpbmcgZGVmYXVsdCBoZWFkZXIgdmFsdWUgbGlrZSBpdCB1c2VkIHRvIHNlbmQgaW4gY2FsbHNcbi8vIGZvciBhbmd1bGFyIDEyIGlmIHRoZSBoZWFkZXJOYW1lIGlzIG51bGwgLiBUaGUgdXNlciBoYXMgdG8gdGFrZSBjYXJlIG9mIG5vdCBzZW5kaW5nIG51bGwgdmFsdWVzLiBUaGVuIG5nIDE1IHVzZXMgZGVmYXVsdCB2YWx1ZSBmb3IgaGVhZGVyTmFtZVxubGV0IHhzcmZIZWFkZXJOYW1lID0gZ2V0V21Qcm9qZWN0UHJvcGVydGllcygpLnhzcmZfaGVhZGVyX25hbWU7XG5sZXQgeHNyZk9wdGlvbnMgPSB7XG4gICAgY29va2llTmFtZTogJ3dtX3hzcmZfdG9rZW4nXG59XG5pZih4c3JmSGVhZGVyTmFtZSkge1xuICAgIHhzcmZPcHRpb25zWydoZWFkZXJOYW1lJ10gPSB4c3JmSGVhZGVyTmFtZTtcbn1cbmV4cG9ydCBjb25zdCBodHRwQ2xpZW50WHNyZk1vZHVsZSA9IEh0dHBDbGllbnRYc3JmTW9kdWxlLndpdGhPcHRpb25zKHhzcmZPcHRpb25zKTtcblxuZXhwb3J0IGNvbnN0IG1vZGFsTW9kdWxlOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE1vZGFsTW9kdWxlPiA9IE1vZGFsTW9kdWxlLmZvclJvb3QoKTtcbmV4cG9ydCBjb25zdCBic0RhdGVQaWNrZXJNb2R1bGU6IE1vZHVsZVdpdGhQcm92aWRlcnM8QnNEYXRlcGlja2VyTW9kdWxlPiA9IEJzRGF0ZXBpY2tlck1vZHVsZS5mb3JSb290KCk7XG5leHBvcnQgY29uc3QgdGltZXBpY2tlck1vZHVsZTogTW9kdWxlV2l0aFByb3ZpZGVyczxuZ3hUaW1lcGlja2VyTW9kdWxlPiA9IG5neFRpbWVwaWNrZXJNb2R1bGUuZm9yUm9vdCgpO1xuZXhwb3J0IGNvbnN0IGJzRHJvcGRvd25Nb2R1bGU6IE1vZHVsZVdpdGhQcm92aWRlcnM8QnNEcm9wZG93bk1vZHVsZT4gPSBCc0Ryb3Bkb3duTW9kdWxlLmZvclJvb3QoKTtcbmV4cG9ydCBjb25zdCBwYWdpbmF0aW9uTW9kdWxlOiBNb2R1bGVXaXRoUHJvdmlkZXJzPG5neFBhZ2luYXRpb25Nb2R1bGU+ID0gbmd4UGFnaW5hdGlvbk1vZHVsZS5mb3JSb290KCk7XG5leHBvcnQgY29uc3QgdHlwZWFoZWFkTW9kdWxlOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFR5cGVhaGVhZE1vZHVsZT4gPSBUeXBlYWhlYWRNb2R1bGUuZm9yUm9vdCgpO1xuZXhwb3J0IGNvbnN0IHByb2dyZXNzYmFyTW9kdWxlOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFByb2dyZXNzYmFyTW9kdWxlPiA9IFByb2dyZXNzYmFyTW9kdWxlLmZvclJvb3QoKTtcbmV4cG9ydCBjb25zdCBjYXJvdXNlbE1vZHVsZTogTW9kdWxlV2l0aFByb3ZpZGVyczxuZ3hDYXJvdXNlbE1vZHVsZT4gPSBuZ3hDYXJvdXNlbE1vZHVsZS5mb3JSb290KCk7XG5leHBvcnQgY29uc3QgcG9wb3Zlck1vZHVsZTogTW9kdWxlV2l0aFByb3ZpZGVyczxuZ3hQb3BvdmVyTW9kdWxlPiA9IG5neFBvcG92ZXJNb2R1bGUuZm9yUm9vdCgpO1xuZXhwb3J0IGNvbnN0IG5nQ2lyY2xlUHJvZ3Jlc3NNb2R1bGU6IE1vZHVsZVdpdGhQcm92aWRlcnM8TmdDaXJjbGVQcm9ncmVzc01vZHVsZT4gPSBOZ0NpcmNsZVByb2dyZXNzTW9kdWxlLmZvclJvb3Qoe30pO1xuZXhwb3J0IGNvbnN0IHRvb2x0aXBNb2R1bGU6IE1vZHVsZVdpdGhQcm92aWRlcnM8VG9vbHRpcE1vZHVsZT4gPSBUb29sdGlwTW9kdWxlLmZvclJvb3QoKTtcblxuY29uc3QgY29tcG9uZW50c01vZHVsZSA9IFtcbiAgICAvLyBOR1ggQm9vdHN0cmFwXG4gICAgQnNEYXRlcGlja2VyTW9kdWxlLFxuICAgIG5neFRpbWVwaWNrZXJNb2R1bGUsXG4gICAgQnNEcm9wZG93bk1vZHVsZSxcbiAgICBuZ3hQYWdpbmF0aW9uTW9kdWxlLFxuICAgIFR5cGVhaGVhZE1vZHVsZSxcbiAgICBQcm9ncmVzc2Jhck1vZHVsZSxcbiAgICBuZ3hDYXJvdXNlbE1vZHVsZSxcbiAgICBuZ3hQb3BvdmVyTW9kdWxlLFxuICAgIE5nQ2lyY2xlUHJvZ3Jlc3NNb2R1bGUsXG4gICAgVG9vbHRpcE1vZHVsZSxcblxuICAgIC8vIEJhc2ljIHdpZGdldHNcbiAgICBCYXNpY01vZHVsZSxcbiAgICBQcm9ncmVzc01vZHVsZSxcbiAgICBSaWNoVGV4dEVkaXRvck1vZHVsZSxcbiAgICBTZWFyY2hNb2R1bGUsXG4gICAgVHJlZU1vZHVsZSxcblxuICAgIC8vIElucHV0XG4gICAgQ2FsZW5kYXJNb2R1bGUsXG4gICAgQ2hpcHNNb2R1bGUsXG4gICAgQ29sb3JQaWNrZXJNb2R1bGUsXG4gICAgQ3VycmVuY3lNb2R1bGUsXG4gICAgRXBvY2hNb2R1bGUsXG4gICAgRmlsZVVwbG9hZE1vZHVsZSxcbiAgICBJbnB1dE1vZHVsZSxcbiAgICBSYXRpbmdNb2R1bGUsXG4gICAgU2xpZGVyTW9kdWxlLFxuXG4gICAgLy8gRGF0YVxuICAgIENhcmRNb2R1bGUsXG4gICAgRm9ybU1vZHVsZSxcbiAgICBMaXN0TW9kdWxlLFxuICAgIExpdmVUYWJsZU1vZHVsZSxcbiAgICBQYWdpbmF0aW9uTW9kdWxlLFxuICAgIFRhYmxlTW9kdWxlLFxuXG4gICAgLy8gY2hhcnRcbiAgICBDaGFydE1vZHVsZSxcblxuICAgIC8vIGNvbnRhaW5lciBtb2R1bGVzXG4gICAgQWNjb3JkaW9uTW9kdWxlLFxuICAgIExpbmVhckxheW91dE1vZHVsZSxcbiAgICBMYXlvdXRHcmlkTW9kdWxlLFxuICAgIFBhbmVsTW9kdWxlLFxuICAgIFRhYnNNb2R1bGUsXG4gICAgVGlsZU1vZHVsZSxcbiAgICBXaXphcmRNb2R1bGUsXG5cbiAgICAvLyBkaWFsb2dzXG4gICAgQWxlcnREaWFsb2dNb2R1bGUsXG4gICAgSWZyYW1lRGlhbG9nTW9kdWxlLFxuICAgIExvZ2luRGlhbG9nTW9kdWxlLFxuICAgIFBhcnRpYWxEaWFsb2dNb2R1bGUsXG5cbiAgICAvLyBuYXZpZ2F0aW9uXG4gICAgQnJlYWRjcnVtYk1vZHVsZSxcbiAgICBNZW51TW9kdWxlLFxuICAgIE5hdmJhck1vZHVsZSxcbiAgICBQb3BvdmVyTW9kdWxlLFxuXG4gICAgLy8gQWR2YW5jZWRcbiAgICBDYXJvdXNlbE1vZHVsZSxcbiAgICBMb2dpbk1vZHVsZSxcbiAgICBNYXJxdWVlTW9kdWxlLFxuICAgIEN1c3RvbU1vZHVsZSxcblxuICAgIFBhZ2VNb2R1bGUsXG4gICAgRm9vdGVyTW9kdWxlLFxuICAgIEhlYWRlck1vZHVsZSxcbiAgICBMZWZ0UGFuZWxNb2R1bGUsXG4gICAgUmlnaHRQYW5lbE1vZHVsZSxcbiAgICBUb3BOYXZNb2R1bGUsXG5cbiAgICBQcmVmYWJNb2R1bGVcbl07XG5cblJFUVVJUkVEX01PRFVMRVNfRk9SX0RZTkFNSUNfQ09NUE9ORU5UUy5wdXNoKC4uLmNvbXBvbmVudHNNb2R1bGUpO1xuUkVRVUlSRURfTU9EVUxFU19GT1JfRFlOQU1JQ19DT01QT05FTlRTLnB1c2goLi4uTU9CSUxFX0NPTVBPTkVOVF9NT0RVTEVTX0ZPUl9ST09UKTtcblJFUVVJUkVEX01PRFVMRVNfRk9SX0RZTkFNSUNfQ09NUE9ORU5UUy5wdXNoKEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlKTtcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgUGFnZVdyYXBwZXJDb21wb25lbnRcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQnJvd3Nlck1vZHVsZSxcbiAgICAgICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBIdHRwQ2xpZW50TW9kdWxlLFxuXG4gICAgICAgIG1vZGFsTW9kdWxlLFxuICAgICAgICBic0RhdGVQaWNrZXJNb2R1bGUsXG4gICAgICAgIHRpbWVwaWNrZXJNb2R1bGUsXG4gICAgICAgIGJzRHJvcGRvd25Nb2R1bGUsXG4gICAgICAgIHBhZ2luYXRpb25Nb2R1bGUsXG4gICAgICAgIHR5cGVhaGVhZE1vZHVsZSxcbiAgICAgICAgdG9vbHRpcE1vZHVsZSxcbiAgICAgICAgcHJvZ3Jlc3NiYXJNb2R1bGUsXG4gICAgICAgIGNhcm91c2VsTW9kdWxlLFxuICAgICAgICBwb3BvdmVyTW9kdWxlLFxuICAgICAgICBuZ0NpcmNsZVByb2dyZXNzTW9kdWxlLFxuXG4gICAgICAgIHJvdXRlck1vZHVsZSxcbiAgICAgICAgdG9hc3RyTW9kdWxlLFxuICAgICAgICBodHRwQ2xpZW50WHNyZk1vZHVsZSxcblxuICAgICAgICBNb2JpbGVSdW50aW1lRHluYW1pY01vZHVsZSxcbiAgICAgICAgV01fTU9EVUxFU19GT1JfUk9PVFxuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIEFwcFJlc291cmNlTWFuYWdlclNlcnZpY2UsXG4gICAgICAgIHsgcHJvdmlkZTogQXBwSlNQcm92aWRlciwgdXNlQ2xhc3M6IEFwcEpTUHJvdmlkZXJTZXJ2aWNlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogQXBwVmFyaWFibGVzUHJvdmlkZXIsIHVzZUNsYXNzOiBBcHBWYXJpYWJsZXNQcm92aWRlclNlcnZpY2UgfSxcbiAgICAgICAgeyBwcm92aWRlOiBBcHBFeHRlbnNpb25Qcm92aWRlcix1c2VDbGFzczpBcHBFeHRlbnNpb25Qcm92aWRlclNlcnZpY2V9LFxuICAgICAgICB7IHByb3ZpZGU6IENvbXBvbmVudFJlZlByb3ZpZGVyLCB1c2VDbGFzczogQ29tcG9uZW50UmVmUHJvdmlkZXJTZXJ2aWNlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogUGFydGlhbFJlZlByb3ZpZGVyLCB1c2VDbGFzczogQ29tcG9uZW50UmVmUHJvdmlkZXJTZXJ2aWNlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogQ3VzdG9tV2lkZ2V0UmVmUHJvdmlkZXIsIHVzZUNsYXNzOiBDb21wb25lbnRSZWZQcm92aWRlclNlcnZpY2UgfSxcbiAgICAgICAgeyBwcm92aWRlOiBQcmVmYWJDb25maWdQcm92aWRlciwgdXNlQ2xhc3M6IFByZWZhYkNvbmZpZ1Byb3ZpZGVyU2VydmljZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IFJvdXRlUmV1c2VTdHJhdGVneSwgdXNlQ2xhc3M6IFdtUm91dGVSZXVzZVN0cmF0ZWd5IH1cbiAgICBdLFxuICAgIGJvb3RzdHJhcDogW0FwcENvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgQXBwTW9kdWxlIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwcDogQXBwLCBwcml2YXRlIGluajogSW5qZWN0b3IsIHByaXZhdGUgY29tcG9uZW50UmVmUHJvdmlkZXI6IENvbXBvbmVudFJlZlByb3ZpZGVyKSB7XG4gICAgICAgIGlmICh3aW5kb3dbJ2NvcmRvdmEnXSkge1xuICAgICAgICAgICAgLy8gY2xlYXIgdGhlIGNhY2hlZCB1cmxzIG9uIGxvZ291dCwgdG8gbG9hZCB0aGUgTG9naW4gUGFnZSBhbmQgbm90IHRoZSBNYWluIFBhZ2UgYXMgYXBwIHJlbG9hZCh3aW5kb3cubG9jYXRpb24ucmVsb2FkKSBpcyBub3QgaW52b2tlZCBpbiBtb2JpbGVcbiAgICAgICAgICAgIHRoaXMuYXBwLnN1YnNjcmliZSgndXNlckxvZ2dlZE91dCcsIHRoaXMuY29tcG9uZW50UmVmUHJvdmlkZXIuY2xlYXJDb21wb25lbnRGYWN0b3J5UmVmQ2FjaGUuYmluZCh0aGlzLmNvbXBvbmVudFJlZlByb3ZpZGVyKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3J1bnRpbWUtZHluYW1pYy9zcmMvYXBwL2FwcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsSUFBSSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFFLE9BQU8s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QUUsQ0FBQyxZQUFZLENBQUM7S0FDNUIsQ0FBQztxQ0FFMkIsR0FBRyxFQUFlLFFBQVEsRUFBZ0Msb0JBQW9CO0dBRDlGLFNBQVMsQ0FPckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSb3V0ZVJldXNlU3RyYXRlZ3ksIFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlLCBIdHRwQ2xpZW50WHNyZk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBUeXBlYWhlYWRNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL3R5cGVhaGVhZCc7XG5pbXBvcnQgeyBUaW1lcGlja2VyTW9kdWxlIGFzIG5neFRpbWVwaWNrZXJNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL3RpbWVwaWNrZXInO1xuaW1wb3J0IHsgUHJvZ3Jlc3NiYXJNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL3Byb2dyZXNzYmFyJztcbmltcG9ydCB7IFBhZ2luYXRpb25Nb2R1bGUgYXMgbmd4UGFnaW5hdGlvbk1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvcGFnaW5hdGlvbic7XG5pbXBvcnQgeyBNb2RhbE1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvdG9vbHRpcCc7XG5pbXBvcnQgeyBCc0RhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgQnNEcm9wZG93bk1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvZHJvcGRvd24nO1xuaW1wb3J0IHsgUG9wb3Zlck1vZHVsZSBhcyBuZ3hQb3BvdmVyTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9wb3BvdmVyJztcblxuaW1wb3J0IHsgTmdDaXJjbGVQcm9ncmVzc01vZHVsZSB9IGZyb20gJ25nLWNpcmNsZS1wcm9ncmVzcyc7XG5pbXBvcnQgeyBUb2FzdE5vQW5pbWF0aW9uTW9kdWxlIH0gZnJvbSAnbmd4LXRvYXN0cic7XG5pbXBvcnQgeyBDYXJvdXNlbE1vZHVsZSBhcyBuZ3hDYXJvdXNlbE1vZHVsZSwgfSBmcm9tICduZ3gtYm9vdHN0cmFwL2Nhcm91c2VsJztcblxuaW1wb3J0IHtBcHAsIGdldFdtUHJvamVjdFByb3BlcnRpZXMsIFBhcnRpYWxSZWZQcm92aWRlciwgQ3VzdG9tV2lkZ2V0UmVmUHJvdmlkZXJ9IGZyb20gJ0B3bS9jb3JlJztcbi8vIEJhc2ljIHdpZGdldHNcblxuaW1wb3J0IHsgQmFzaWNNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNpYyc7XG5pbXBvcnQgeyBQcm9ncmVzc01vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2ljL3Byb2dyZXNzJztcbmltcG9ydCB7IFJpY2hUZXh0RWRpdG9yTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYmFzaWMvcmljaC10ZXh0LWVkaXRvcic7XG5pbXBvcnQgeyBTZWFyY2hNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNpYy9zZWFyY2gnO1xuaW1wb3J0IHsgVHJlZU1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2ljL3RyZWUnO1xuXG4vLyBpbnB1dFxuaW1wb3J0IHsgSW5wdXRNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9pbnB1dCc7XG5pbXBvcnQgeyBDYWxlbmRhck1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2lucHV0L2NhbGVuZGFyJztcbmltcG9ydCB7IENoaXBzTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvaW5wdXQvY2hpcHMnO1xuaW1wb3J0IHsgQ29sb3JQaWNrZXJNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9pbnB1dC9jb2xvci1waWNrZXInO1xuaW1wb3J0IHsgQ3VycmVuY3lNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9pbnB1dC9jdXJyZW5jeSc7XG5pbXBvcnQgeyBFcG9jaE1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2lucHV0L2Vwb2NoJztcbmltcG9ydCB7IEZpbGVVcGxvYWRNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9pbnB1dC9maWxlLXVwbG9hZCc7XG5pbXBvcnQgeyBSYXRpbmdNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9pbnB1dC9yYXRpbmcnO1xuaW1wb3J0IHsgU2xpZGVyTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvaW5wdXQvc2xpZGVyJztcblxuaW1wb3J0IHsgTW9iaWxlUnVudGltZUR5bmFtaWNNb2R1bGUsIE1PQklMRV9DT01QT05FTlRfTU9EVUxFU19GT1JfUk9PVCB9IGZyb20gJ0B3bS9tb2JpbGUvcnVudGltZS9keW5hbWljJztcblxuLy8gRGF0YVxuaW1wb3J0IHsgQ2FyZE1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2RhdGEvY2FyZCc7XG5pbXBvcnQgeyBGb3JtTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvZGF0YS9mb3JtJztcbmltcG9ydCB7IExpc3RNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9kYXRhL2xpc3QnO1xuaW1wb3J0IHsgTGl2ZVRhYmxlTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvZGF0YS9saXZlLXRhYmxlJztcbmltcG9ydCB7IFBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9kYXRhL3BhZ2luYXRpb24nO1xuaW1wb3J0IHsgVGFibGVNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9kYXRhL3RhYmxlJztcblxuLy8gQ2hhcnRcbmltcG9ydCB7IENoYXJ0TW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvY2hhcnQnO1xuXG4vLyBDb250YWluZXJzXG5pbXBvcnQgeyBBY2NvcmRpb25Nb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9jb250YWluZXJzL2FjY29yZGlvbic7XG5pbXBvcnQgeyBMaW5lYXJMYXlvdXRNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9jb250YWluZXJzL2xpbmVhci1sYXlvdXQnO1xuaW1wb3J0IHsgTGF5b3V0R3JpZE1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2NvbnRhaW5lcnMvbGF5b3V0LWdyaWQnO1xuaW1wb3J0IHsgUGFuZWxNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9jb250YWluZXJzL3BhbmVsJztcbmltcG9ydCB7IFRhYnNNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9jb250YWluZXJzL3RhYnMnO1xuaW1wb3J0IHsgVGlsZU1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2NvbnRhaW5lcnMvdGlsZSc7XG5pbXBvcnQgeyBXaXphcmRNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9jb250YWluZXJzL3dpemFyZCc7XG5cbi8vIERpYWxvZ3NcbmltcG9ydCB7IEFsZXJ0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvZGlhbG9ncy9hbGVydC1kaWFsb2cnO1xuaW1wb3J0IHsgSWZyYW1lRGlhbG9nTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvZGlhbG9ncy9pZnJhbWUtZGlhbG9nJztcbmltcG9ydCB7IExvZ2luRGlhbG9nTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvZGlhbG9ncy9sb2dpbi1kaWFsb2cnO1xuaW1wb3J0IHsgUGFydGlhbERpYWxvZ01vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2RpYWxvZ3MvcGFydGlhbC1kaWFsb2cnO1xuXG4vLyBOYXZpZ2F0aW9uXG5pbXBvcnQgeyBCcmVhZGNydW1iTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9icmVhZGNydW1iJztcbmltcG9ydCB7IE1lbnVNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9uYXZpZ2F0aW9uL21lbnUnO1xuaW1wb3J0IHsgTmF2YmFyTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9uYXZiYXInO1xuaW1wb3J0IHsgUG9wb3Zlck1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL25hdmlnYXRpb24vcG9wb3Zlcic7XG5cbi8vIEFkdmFuY2VkXG5pbXBvcnQgeyBDYXJvdXNlbE1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2FkdmFuY2VkL2Nhcm91c2VsJztcbmltcG9ydCB7IExvZ2luTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYWR2YW5jZWQvbG9naW4nO1xuaW1wb3J0IHsgTWFycXVlZU1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2FkdmFuY2VkL21hcnF1ZWUnO1xuaW1wb3J0IHsgQ3VzdG9tTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvYWR2YW5jZWQvY3VzdG9tJztcblxuaW1wb3J0IHsgUGFnZU1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL3BhZ2UnO1xuaW1wb3J0IHsgRm9vdGVyTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvcGFnZS9mb290ZXInO1xuaW1wb3J0IHsgSGVhZGVyTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvcGFnZS9oZWFkZXInO1xuaW1wb3J0IHsgTGVmdFBhbmVsTW9kdWxlIH0gZnJvbSAnQHdtL2NvbXBvbmVudHMvcGFnZS9sZWZ0LXBhbmVsJztcbmltcG9ydCB7IFJpZ2h0UGFuZWxNb2R1bGUgfSBmcm9tICdAd20vY29tcG9uZW50cy9wYWdlL3JpZ2h0LXBhbmVsJztcbmltcG9ydCB7IFRvcE5hdk1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL3BhZ2UvdG9wLW5hdic7XG5cbmltcG9ydCB7IFByZWZhYk1vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL3ByZWZhYic7XG5cbmltcG9ydCB7XG4gICAgQXBwQ29tcG9uZW50LFxuICAgIEFwcEpTUHJvdmlkZXIsXG4gICAgQXBwVmFyaWFibGVzUHJvdmlkZXIsXG4gICAgQ29tcG9uZW50UmVmUHJvdmlkZXIsXG4gICAgUHJlZmFiQ29uZmlnUHJvdmlkZXIsXG4gICAgV21Sb3V0ZVJldXNlU3RyYXRlZ3ksXG4gICAgV01fTU9EVUxFU19GT1JfUk9PVCxcbiAgICBDdXN0b213aWRnZXRDb25maWdQcm92aWRlcixcbiAgICBSRVFVSVJFRF9NT0RVTEVTX0ZPUl9EWU5BTUlDX0NPTVBPTkVOVFMsXG4gICAgQXBwRXh0ZW5zaW9uUHJvdmlkZXJcbn0gZnJvbSAnQHdtL3J1bnRpbWUvYmFzZSc7XG5cbmltcG9ydCB7IHJvdXRlcyB9IGZyb20gJy4vYXBwLnJvdXRlcyc7XG5pbXBvcnQgeyBQYWdlV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYWdlLXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFwcEpTUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hcHAtanMtcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBWYXJpYWJsZXNQcm92aWRlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2FwcC12YXJpYWJsZXMtcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBFeHRlbnNpb25Qcm92aWRlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2FwcC1leHRlbnNpb24uc2VydmljZSc7XG5pbXBvcnQgeyBDb21wb25lbnRSZWZQcm92aWRlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2NvbXBvbmVudC1yZWYtcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBDdXN0b213aWRnZXRDb25maWdQcm92aWRlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2N1c3RvbXdpZGdldC1jb25maWctcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQcmVmYWJDb25maWdQcm92aWRlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3ByZWZhYi1jb25maWctcHJvdmlkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBSZXNvdXJjZU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hcHAtcmVzb3VyY2UtbWFuYWdlci5zZXJ2aWNlJztcbmltcG9ydCB7IEJyb3dzZXJBbmltYXRpb25zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcblxuZXhwb3J0IGNvbnN0IHJvdXRlck1vZHVsZSA9IFJvdXRlck1vZHVsZS5mb3JSb290KHJvdXRlcywgeyB1c2VIYXNoOiB0cnVlLCBzY3JvbGxQb3NpdGlvblJlc3RvcmF0aW9uOiAndG9wJyB9KTtcbmV4cG9ydCBjb25zdCB0b2FzdHJNb2R1bGUgPSBUb2FzdE5vQW5pbWF0aW9uTW9kdWxlLmZvclJvb3QoeyBtYXhPcGVuZWQ6IDEsIGF1dG9EaXNtaXNzOiB0cnVlIH0pO1xuXG4vLyBJbiBhbmd1bGFyIDE1LCB4c3JmIGhlYWRlck5hbWUgc2hvdWxkIG5vdCBiZSBudWxsLiBBbmd1bGFyIDE1IGlzIG5vdCB1c2luZyBkZWZhdWx0IGhlYWRlciB2YWx1ZSBsaWtlIGl0IHVzZWQgdG8gc2VuZCBpbiBjYWxsc1xuLy8gZm9yIGFuZ3VsYXIgMTIgaWYgdGhlIGhlYWRlck5hbWUgaXMgbnVsbCAuIFRoZSB1c2VyIGhhcyB0byB0YWtlIGNhcmUgb2Ygbm90IHNlbmRpbmcgbnVsbCB2YWx1ZXMuIFRoZW4gbmcgMTUgdXNlcyBkZWZhdWx0IHZhbHVlIGZvciBoZWFkZXJOYW1lXG5sZXQgeHNyZkhlYWRlck5hbWUgPSBnZXRXbVByb2plY3RQcm9wZXJ0aWVzKCkueHNyZl9oZWFkZXJfbmFtZTtcbmxldCB4c3JmT3B0aW9ucyA9IHtcbiAgICBjb29raWVOYW1lOiAnd21feHNyZl90b2tlbidcbn1cbmlmKHhzcmZIZWFkZXJOYW1lKSB7XG4gICAgeHNyZk9wdGlvbnNbJ2hlYWRlck5hbWUnXSA9IHhzcmZIZWFkZXJOYW1lO1xufVxuZXhwb3J0IGNvbnN0IGh0dHBDbGllbnRYc3JmTW9kdWxlID0gSHR0cENsaWVudFhzcmZNb2R1bGUud2l0aE9wdGlvbnMoeHNyZk9wdGlvbnMpO1xuXG5leHBvcnQgY29uc3QgbW9kYWxNb2R1bGU6IE1vZHVsZVdpdGhQcm92aWRlcnM8TW9kYWxNb2R1bGU+ID0gTW9kYWxNb2R1bGUuZm9yUm9vdCgpO1xuZXhwb3J0IGNvbnN0IGJzRGF0ZVBpY2tlck1vZHVsZTogTW9kdWxlV2l0aFByb3ZpZGVyczxCc0RhdGVwaWNrZXJNb2R1bGU+ID0gQnNEYXRlcGlja2VyTW9kdWxlLmZvclJvb3QoKTtcbmV4cG9ydCBjb25zdCB0aW1lcGlja2VyTW9kdWxlOiBNb2R1bGVXaXRoUHJvdmlkZXJzPG5neFRpbWVwaWNrZXJNb2R1bGU+ID0gbmd4VGltZXBpY2tlck1vZHVsZS5mb3JSb290KCk7XG5leHBvcnQgY29uc3QgYnNEcm9wZG93bk1vZHVsZTogTW9kdWxlV2l0aFByb3ZpZGVyczxCc0Ryb3Bkb3duTW9kdWxlPiA9IEJzRHJvcGRvd25Nb2R1bGUuZm9yUm9vdCgpO1xuZXhwb3J0IGNvbnN0IHBhZ2luYXRpb25Nb2R1bGU6IE1vZHVsZVdpdGhQcm92aWRlcnM8bmd4UGFnaW5hdGlvbk1vZHVsZT4gPSBuZ3hQYWdpbmF0aW9uTW9kdWxlLmZvclJvb3QoKTtcbmV4cG9ydCBjb25zdCB0eXBlYWhlYWRNb2R1bGU6IE1vZHVsZVdpdGhQcm92aWRlcnM8VHlwZWFoZWFkTW9kdWxlPiA9IFR5cGVhaGVhZE1vZHVsZS5mb3JSb290KCk7XG5leHBvcnQgY29uc3QgcHJvZ3Jlc3NiYXJNb2R1bGU6IE1vZHVsZVdpdGhQcm92aWRlcnM8UHJvZ3Jlc3NiYXJNb2R1bGU+ID0gUHJvZ3Jlc3NiYXJNb2R1bGUuZm9yUm9vdCgpO1xuZXhwb3J0IGNvbnN0IGNhcm91c2VsTW9kdWxlOiBNb2R1bGVXaXRoUHJvdmlkZXJzPG5neENhcm91c2VsTW9kdWxlPiA9IG5neENhcm91c2VsTW9kdWxlLmZvclJvb3QoKTtcbmV4cG9ydCBjb25zdCBwb3BvdmVyTW9kdWxlOiBNb2R1bGVXaXRoUHJvdmlkZXJzPG5neFBvcG92ZXJNb2R1bGU+ID0gbmd4UG9wb3Zlck1vZHVsZS5mb3JSb290KCk7XG5leHBvcnQgY29uc3QgbmdDaXJjbGVQcm9ncmVzc01vZHVsZTogTW9kdWxlV2l0aFByb3ZpZGVyczxOZ0NpcmNsZVByb2dyZXNzTW9kdWxlPiA9IE5nQ2lyY2xlUHJvZ3Jlc3NNb2R1bGUuZm9yUm9vdCh7fSk7XG5leHBvcnQgY29uc3QgdG9vbHRpcE1vZHVsZTogTW9kdWxlV2l0aFByb3ZpZGVyczxUb29sdGlwTW9kdWxlPiA9IFRvb2x0aXBNb2R1bGUuZm9yUm9vdCgpO1xuXG5jb25zdCBjb21wb25lbnRzTW9kdWxlID0gW1xuICAgIC8vIE5HWCBCb290c3RyYXBcbiAgICBCc0RhdGVwaWNrZXJNb2R1bGUsXG4gICAgbmd4VGltZXBpY2tlck1vZHVsZSxcbiAgICBCc0Ryb3Bkb3duTW9kdWxlLFxuICAgIG5neFBhZ2luYXRpb25Nb2R1bGUsXG4gICAgVHlwZWFoZWFkTW9kdWxlLFxuICAgIFByb2dyZXNzYmFyTW9kdWxlLFxuICAgIG5neENhcm91c2VsTW9kdWxlLFxuICAgIG5neFBvcG92ZXJNb2R1bGUsXG4gICAgTmdDaXJjbGVQcm9ncmVzc01vZHVsZSxcbiAgICBUb29sdGlwTW9kdWxlLFxuXG4gICAgLy8gQmFzaWMgd2lkZ2V0c1xuICAgIEJhc2ljTW9kdWxlLFxuICAgIFByb2dyZXNzTW9kdWxlLFxuICAgIFJpY2hUZXh0RWRpdG9yTW9kdWxlLFxuICAgIFNlYXJjaE1vZHVsZSxcbiAgICBUcmVlTW9kdWxlLFxuXG4gICAgLy8gSW5wdXRcbiAgICBDYWxlbmRhck1vZHVsZSxcbiAgICBDaGlwc01vZHVsZSxcbiAgICBDb2xvclBpY2tlck1vZHVsZSxcbiAgICBDdXJyZW5jeU1vZHVsZSxcbiAgICBFcG9jaE1vZHVsZSxcbiAgICBGaWxlVXBsb2FkTW9kdWxlLFxuICAgIElucHV0TW9kdWxlLFxuICAgIFJhdGluZ01vZHVsZSxcbiAgICBTbGlkZXJNb2R1bGUsXG5cbiAgICAvLyBEYXRhXG4gICAgQ2FyZE1vZHVsZSxcbiAgICBGb3JtTW9kdWxlLFxuICAgIExpc3RNb2R1bGUsXG4gICAgTGl2ZVRhYmxlTW9kdWxlLFxuICAgIFBhZ2luYXRpb25Nb2R1bGUsXG4gICAgVGFibGVNb2R1bGUsXG5cbiAgICAvLyBjaGFydFxuICAgIENoYXJ0TW9kdWxlLFxuXG4gICAgLy8gY29udGFpbmVyIG1vZHVsZXNcbiAgICBBY2NvcmRpb25Nb2R1bGUsXG4gICAgTGluZWFyTGF5b3V0TW9kdWxlLFxuICAgIExheW91dEdyaWRNb2R1bGUsXG4gICAgUGFuZWxNb2R1bGUsXG4gICAgVGFic01vZHVsZSxcbiAgICBUaWxlTW9kdWxlLFxuICAgIFdpemFyZE1vZHVsZSxcblxuICAgIC8vIGRpYWxvZ3NcbiAgICBBbGVydERpYWxvZ01vZHVsZSxcbiAgICBJZnJhbWVEaWFsb2dNb2R1bGUsXG4gICAgTG9naW5EaWFsb2dNb2R1bGUsXG4gICAgUGFydGlhbERpYWxvZ01vZHVsZSxcblxuICAgIC8vIG5hdmlnYXRpb25cbiAgICBCcmVhZGNydW1iTW9kdWxlLFxuICAgIE1lbnVNb2R1bGUsXG4gICAgTmF2YmFyTW9kdWxlLFxuICAgIFBvcG92ZXJNb2R1bGUsXG5cbiAgICAvLyBBZHZhbmNlZFxuICAgIENhcm91c2VsTW9kdWxlLFxuICAgIExvZ2luTW9kdWxlLFxuICAgIE1hcnF1ZWVNb2R1bGUsXG4gICAgQ3VzdG9tTW9kdWxlLFxuXG4gICAgUGFnZU1vZHVsZSxcbiAgICBGb290ZXJNb2R1bGUsXG4gICAgSGVhZGVyTW9kdWxlLFxuICAgIExlZnRQYW5lbE1vZHVsZSxcbiAgICBSaWdodFBhbmVsTW9kdWxlLFxuICAgIFRvcE5hdk1vZHVsZSxcblxuICAgIFByZWZhYk1vZHVsZVxuXTtcblxuUkVRVUlSRURfTU9EVUxFU19GT1JfRFlOQU1JQ19DT01QT05FTlRTLnB1c2goLi4uY29tcG9uZW50c01vZHVsZSk7XG5SRVFVSVJFRF9NT0RVTEVTX0ZPUl9EWU5BTUlDX0NPTVBPTkVOVFMucHVzaCguLi5NT0JJTEVfQ09NUE9ORU5UX01PRFVMRVNfRk9SX1JPT1QpO1xuUkVRVUlSRURfTU9EVUxFU19GT1JfRFlOQU1JQ19DT01QT05FTlRTLnB1c2goRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUpO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBQYWdlV3JhcHBlckNvbXBvbmVudFxuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBCcm93c2VyTW9kdWxlLFxuICAgICAgICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSxcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBSb3V0ZXJNb2R1bGUsXG4gICAgICAgIEh0dHBDbGllbnRNb2R1bGUsXG5cbiAgICAgICAgbW9kYWxNb2R1bGUsXG4gICAgICAgIGJzRGF0ZVBpY2tlck1vZHVsZSxcbiAgICAgICAgdGltZXBpY2tlck1vZHVsZSxcbiAgICAgICAgYnNEcm9wZG93bk1vZHVsZSxcbiAgICAgICAgcGFnaW5hdGlvbk1vZHVsZSxcbiAgICAgICAgdHlwZWFoZWFkTW9kdWxlLFxuICAgICAgICB0b29sdGlwTW9kdWxlLFxuICAgICAgICBwcm9ncmVzc2Jhck1vZHVsZSxcbiAgICAgICAgY2Fyb3VzZWxNb2R1bGUsXG4gICAgICAgIHBvcG92ZXJNb2R1bGUsXG4gICAgICAgIG5nQ2lyY2xlUHJvZ3Jlc3NNb2R1bGUsXG5cbiAgICAgICAgcm91dGVyTW9kdWxlLFxuICAgICAgICB0b2FzdHJNb2R1bGUsXG4gICAgICAgIGh0dHBDbGllbnRYc3JmTW9kdWxlLFxuXG4gICAgICAgIE1vYmlsZVJ1bnRpbWVEeW5hbWljTW9kdWxlLFxuICAgICAgICBXTV9NT0RVTEVTX0ZPUl9ST09UXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgQXBwUmVzb3VyY2VNYW5hZ2VyU2VydmljZSxcbiAgICAgICAgeyBwcm92aWRlOiBBcHBKU1Byb3ZpZGVyLCB1c2VDbGFzczogQXBwSlNQcm92aWRlclNlcnZpY2UgfSxcbiAgICAgICAgeyBwcm92aWRlOiBBcHBWYXJpYWJsZXNQcm92aWRlciwgdXNlQ2xhc3M6IEFwcFZhcmlhYmxlc1Byb3ZpZGVyU2VydmljZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IEFwcEV4dGVuc2lvblByb3ZpZGVyLHVzZUNsYXNzOkFwcEV4dGVuc2lvblByb3ZpZGVyU2VydmljZX0sXG4gICAgICAgIHsgcHJvdmlkZTogQ29tcG9uZW50UmVmUHJvdmlkZXIsIHVzZUNsYXNzOiBDb21wb25lbnRSZWZQcm92aWRlclNlcnZpY2UgfSxcbiAgICAgICAgeyBwcm92aWRlOiBQYXJ0aWFsUmVmUHJvdmlkZXIsIHVzZUNsYXNzOiBDb21wb25lbnRSZWZQcm92aWRlclNlcnZpY2UgfSxcbiAgICAgICAgeyBwcm92aWRlOiBDdXN0b21XaWRnZXRSZWZQcm92aWRlciwgdXNlQ2xhc3M6IENvbXBvbmVudFJlZlByb3ZpZGVyU2VydmljZSB9LFxuICAgICAgICB7IHByb3ZpZGU6IEN1c3RvbXdpZGdldENvbmZpZ1Byb3ZpZGVyLCB1c2VDbGFzczogQ3VzdG9td2lkZ2V0Q29uZmlnUHJvdmlkZXJTZXJ2aWNlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogUHJlZmFiQ29uZmlnUHJvdmlkZXIsIHVzZUNsYXNzOiBQcmVmYWJDb25maWdQcm92aWRlclNlcnZpY2UgfSxcbiAgICAgICAgeyBwcm92aWRlOiBSb3V0ZVJldXNlU3RyYXRlZ3ksIHVzZUNsYXNzOiBXbVJvdXRlUmV1c2VTdHJhdGVneSB9XG4gICAgXSxcbiAgICBib290c3RyYXA6IFtBcHBDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEFwcE1vZHVsZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhcHA6IEFwcCwgcHJpdmF0ZSBpbmo6IEluamVjdG9yLCBwcml2YXRlIGNvbXBvbmVudFJlZlByb3ZpZGVyOiBDb21wb25lbnRSZWZQcm92aWRlcikge1xuICAgICAgICBpZiAod2luZG93Wydjb3Jkb3ZhJ10pIHtcbiAgICAgICAgICAgIC8vIGNsZWFyIHRoZSBjYWNoZWQgdXJscyBvbiBsb2dvdXQsIHRvIGxvYWQgdGhlIExvZ2luIFBhZ2UgYW5kIG5vdCB0aGUgTWFpbiBQYWdlIGFzIGFwcCByZWxvYWQod2luZG93LmxvY2F0aW9uLnJlbG9hZCkgaXMgbm90IGludm9rZWQgaW4gbW9iaWxlXG4gICAgICAgICAgICB0aGlzLmFwcC5zdWJzY3JpYmUoJ3VzZXJMb2dnZWRPdXQnLCB0aGlzLmNvbXBvbmVudFJlZlByb3ZpZGVyLmNsZWFyQ29tcG9uZW50RmFjdG9yeVJlZkNhY2hlLmJpbmQodGhpcy5jb21wb25lbnRSZWZQcm92aWRlcikpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -0,0 +1,22 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { CustomwidgetConfigProvider } from '@wm/runtime/base';
3
+ import * as i0 from "@angular/core";
4
+ const cache = new Map();
5
+ export class CustomwidgetConfigProviderService extends CustomwidgetConfigProvider {
6
+ constructor() {
7
+ super();
8
+ }
9
+ getConfig(widgetname) {
10
+ return new Promise((res, rej) => {
11
+ Promise.resolve(window['resourceCache'].get(`./custom-widgets/${widgetname}/page.min.json`)).then((pageInfo) => {
12
+ res(pageInfo.config);
13
+ });
14
+ });
15
+ }
16
+ static { this.ɵfac = function CustomwidgetConfigProviderService_Factory(t) { return new (t || CustomwidgetConfigProviderService)(); }; }
17
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CustomwidgetConfigProviderService, factory: CustomwidgetConfigProviderService.ɵfac }); }
18
+ }
19
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CustomwidgetConfigProviderService, [{
20
+ type: Injectable
21
+ }], () => [], null); })();
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9td2lkZ2V0LWNvbmZpZy1wcm92aWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcnVudGltZS1keW5hbWljL3NyYy9hcHAvc2VydmljZXMvY3VzdG9td2lkZ2V0LWNvbmZpZy1wcm92aWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRTlELE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUFlLENBQUM7QUFFckMsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLDBCQUEwQjtJQUU3RTtRQUNJLEtBQUssRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVNLFNBQVMsQ0FBQyxVQUFrQjtRQUMvQixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzVCLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsVUFBVSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQzNHLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDekIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7a0dBWlEsaUNBQWlDO3VFQUFqQyxpQ0FBaUMsV0FBakMsaUNBQWlDOztpRkFBakMsaUNBQWlDO2NBRDdDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEN1c3RvbXdpZGdldENvbmZpZ1Byb3ZpZGVyIH0gZnJvbSAnQHdtL3J1bnRpbWUvYmFzZSc7XG5cbmNvbnN0IGNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKTtcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDdXN0b213aWRnZXRDb25maWdQcm92aWRlclNlcnZpY2UgZXh0ZW5kcyBDdXN0b213aWRnZXRDb25maWdQcm92aWRlciB7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29uZmlnKHdpZGdldG5hbWU6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzLCByZWopID0+IHtcbiAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZSh3aW5kb3dbJ3Jlc291cmNlQ2FjaGUnXS5nZXQoYC4vY3VzdG9tLXdpZGdldHMvJHt3aWRnZXRuYW1lfS9wYWdlLm1pbi5qc29uYCkpLnRoZW4oKHBhZ2VJbmZvKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzKHBhZ2VJbmZvLmNvbmZpZyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICB9XG59XG4iXX0=
@@ -72,7 +72,7 @@ import { RightPanelModule } from '@wm/components/page/right-panel';
72
72
  import { TopNavModule } from '@wm/components/page/top-nav';
73
73
  import { PrefabModule } from '@wm/components/prefab';
74
74
  import * as i4 from '@wm/runtime/base';
75
- import { ComponentType, BasePageComponent, SecurityConfigResolve, MetadataResolve, AppExtensionJSResolve, EmptyPageComponent, PrefabPreviewComponent, CanDeactivatePageGuard, AppJSProvider, AppVariablesProvider, AppExtensionProvider, getPrefabPartialJsonUrl, getPrefabMinJsonUrl, RuntimeBaseModule, BaseCustomWidgetComponent, BasePrefabComponent, BasePartialComponent, ComponentRefProvider, PrefabConfigProvider, getPrefabConfigUrl, REQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS, WM_MODULES_FOR_ROOT, WmRouteReuseStrategy, AppComponent } from '@wm/runtime/base';
75
+ import { ComponentType, BasePageComponent, SecurityConfigResolve, MetadataResolve, AppExtensionJSResolve, EmptyPageComponent, PrefabPreviewComponent, CanDeactivatePageGuard, AppJSProvider, AppVariablesProvider, AppExtensionProvider, getPrefabPartialJsonUrl, getPrefabMinJsonUrl, RuntimeBaseModule, BaseCustomWidgetComponent, BasePrefabComponent, BasePartialComponent, ComponentRefProvider, CustomwidgetConfigProvider, PrefabConfigProvider, getPrefabConfigUrl, REQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS, WM_MODULES_FOR_ROOT, WmRouteReuseStrategy, AppComponent } from '@wm/runtime/base';
76
76
  import * as i2 from '@wm/variables';
77
77
  import * as i3 from '@wm/security';
78
78
  import { transpile, scopeComponentStyles } from '@wm/transpiler';
@@ -218,22 +218,22 @@ class AppJSProviderService extends AppJSProvider {
218
218
  }]
219
219
  }], () => [{ type: i1$1.HttpClient }], null); })();
220
220
 
221
- const cache$1 = new Map();
221
+ const cache$2 = new Map();
222
222
  class AppResourceManagerService {
223
223
  get(url, useCache) {
224
- const cachedResponse = cache$1.get(url);
224
+ const cachedResponse = cache$2.get(url);
225
225
  if (cachedResponse) {
226
226
  return Promise.resolve(cachedResponse);
227
227
  }
228
228
  return this.$http.get(url).then(response => {
229
229
  if (useCache) {
230
- cache$1.set(url, response);
230
+ cache$2.set(url, response);
231
231
  }
232
232
  return response;
233
233
  });
234
234
  }
235
235
  clearCache() {
236
- cache$1.clear();
236
+ cache$2.clear();
237
237
  }
238
238
  constructor($http) {
239
239
  this.$http = $http;
@@ -488,6 +488,25 @@ class ComponentRefProviderService extends ComponentRefProvider {
488
488
  type: Injectable
489
489
  }], () => [{ type: AppResourceManagerService }, { type: i5.App }, { type: i4.AppManagerService }, { type: i0.Compiler }], null); })();
490
490
 
491
+ const cache$1 = new Map();
492
+ class CustomwidgetConfigProviderService extends CustomwidgetConfigProvider {
493
+ constructor() {
494
+ super();
495
+ }
496
+ getConfig(widgetname) {
497
+ return new Promise((res, rej) => {
498
+ Promise.resolve(window['resourceCache'].get(`./custom-widgets/${widgetname}/page.min.json`)).then((pageInfo) => {
499
+ res(pageInfo.config);
500
+ });
501
+ });
502
+ }
503
+ static { this.ɵfac = function CustomwidgetConfigProviderService_Factory(t) { return new (t || CustomwidgetConfigProviderService)(); }; }
504
+ static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: CustomwidgetConfigProviderService, factory: CustomwidgetConfigProviderService.ɵfac }); }
505
+ }
506
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CustomwidgetConfigProviderService, [{
507
+ type: Injectable
508
+ }], () => [], null); })();
509
+
491
510
  const cache = new Map();
492
511
  class PrefabConfigProviderService extends PrefabConfigProvider {
493
512
  constructor(resourceMngr) {
@@ -653,6 +672,7 @@ AppModule = __decorate([
653
672
  { provide: ComponentRefProvider, useClass: ComponentRefProviderService },
654
673
  { provide: PartialRefProvider, useClass: ComponentRefProviderService },
655
674
  { provide: CustomWidgetRefProvider, useClass: ComponentRefProviderService },
675
+ { provide: CustomwidgetConfigProvider, useClass: CustomwidgetConfigProviderService },
656
676
  { provide: PrefabConfigProvider, useClass: PrefabConfigProviderService },
657
677
  { provide: RouteReuseStrategy, useClass: WmRouteReuseStrategy }
658
678
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../../projects/runtime-dynamic/src/app/components/page-wrapper.component.ts","../../../../projects/runtime-dynamic/src/app/app.routes.ts","../../../../projects/runtime-dynamic/src/app/services/app-js-provider.service.ts","../../../../projects/runtime-dynamic/src/app/services/app-resource-manager.service.ts","../../../../projects/runtime-dynamic/src/app/services/app-variables-provider.service.ts","../../../../projects/runtime-dynamic/src/app/services/app-extension.service.ts","../../../../projects/runtime-dynamic/src/app/services/component-ref-provider.service.ts","../../../../projects/runtime-dynamic/src/app/services/prefab-config-provider.service.ts","../../../../projects/runtime-dynamic/src/app/app.module.ts","../../../../projects/runtime-dynamic/src/main.ts","../../../../projects/runtime-dynamic/src/index.ts"],"sourcesContent":["import {\n ApplicationRef,\n Component,\n ElementRef,\n Injector,\n NgZone,\n OnDestroy,\n OnInit,\n ViewContainerRef,\n HostListener\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { Subscription } from 'rxjs';\n\nimport { AbstractSpinnerService, App, noop} from '@wm/core';\nimport { MetadataService } from '@wm/variables';\nimport { SecurityService } from '@wm/security';\nimport { AppManagerService, BasePageComponent, ComponentRefProvider, ComponentType } from '@wm/runtime/base';\n\n@Component({\n selector: 'app-page-outlet',\n template: '<div></div>'\n})\nexport class PageWrapperComponent implements OnInit, OnDestroy {\n\n subscription: Subscription;\n instance: any;\n\n constructor(\n private injector: Injector,\n private route: ActivatedRoute,\n private vcRef: ViewContainerRef,\n private appRef: ApplicationRef,\n private metadataService: MetadataService,\n private securityService: SecurityService,\n private appManager: AppManagerService,\n private app: App,\n private ngZone: NgZone,\n private elRef: ElementRef,\n private spinnerService: AbstractSpinnerService,\n private componentRefProvider: ComponentRefProvider,\n private router: Router\n ) {}\n\n getTargetNode() {\n return this.elRef.nativeElement;\n }\n\n resetViewContainer() {\n this.vcRef.clear();\n const $target = this.getTargetNode();\n $target.innerHTML = '';\n }\n\n renderPage(pageName) {\n const $target = this.getTargetNode();\n\n this.appManager.loadAppVariables()\n .then(async () => {\n const pageComponentFactoryRef = await this.componentRefProvider.getComponentFactoryRef(pageName, ComponentType.PAGE);\n if (pageComponentFactoryRef) {\n const componentRef = this.vcRef.createComponent(pageComponentFactoryRef, 0, this.injector);\n this.instance = componentRef.instance;\n $target.appendChild(componentRef.location.nativeElement);\n } else {\n BasePageComponent.clear();\n }\n if (this.vcRef.length > 1) {\n this.vcRef.remove(1);\n }\n });\n }\n\n renderPrefabPreviewPage() {\n this.router.navigate(['prefab-preview']);\n }\n\n loadPage(pageName) {\n this.ngZone.run(() => {\n if (pageName) {\n this.renderPage(pageName);\n }\n });\n }\n\n ngOnInit() {\n if (this.app.isPrefabType) {\n // there is only one route\n this.renderPrefabPreviewPage();\n } else {\n $(this.getTargetNode()).find('>div').first().remove();\n this.subscription = this.route.params.subscribe(({pageName}: any) => {\n this.loadPage(pageName);\n });\n }\n }\n\n ngOnDestroy() {\n this.vcRef.clear();\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n ngOnAttach() {\n this.getTargetNode().appendChild(this.instance.$page[0]);\n this.instance.ngOnAttach();\n }\n\n ngOnDetach() {\n this.instance.ngOnDetach();\n }\n}\n","import { MetadataResolve, AppExtensionJSResolve } from '@wm/runtime/base';\nimport { SecurityConfigResolve, PrefabPreviewComponent, CanDeactivatePageGuard, EmptyPageComponent } from '@wm/runtime/base';\n\nimport { PageWrapperComponent } from './components/page-wrapper.component';\nimport {Routes} from '@angular/router';\n\nconst appDependenciesResolve = {\n securityConfig: SecurityConfigResolve,\n metadata: MetadataResolve,\n appMetaConfig: AppExtensionJSResolve\n};\n\nexport const routes: Routes = [\n {\n path: '',\n pathMatch: 'full',\n resolve: appDependenciesResolve,\n component: EmptyPageComponent\n },\n {\n path: 'prefab-preview',\n pathMatch: 'full',\n resolve: appDependenciesResolve,\n component: PrefabPreviewComponent\n },\n {\n path: ':pageName',\n pathMatch: 'full',\n resolve: appDependenciesResolve,\n component: PageWrapperComponent,\n canDeactivate: [CanDeactivatePageGuard]\n }\n];\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\nimport { AppJSProvider } from '@wm/runtime/base';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppJSProviderService extends AppJSProvider {\n constructor(private $http: HttpClient) {\n super();\n }\n\n public getAppScriptFn(): Promise<Function> {\n return this.$http.get('./app.js', {responseType: 'text'})\n .toPromise()\n .then(script => new Function('App', 'Utils', 'Injector', script));\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { AbstractHttpService, App } from '@wm/core';\n\nconst cache = new Map<string, string>();\n\n@Injectable()\nexport class AppResourceManagerService {\n\n get(url: string, useCache?: boolean): string | any {\n const cachedResponse = cache.get(url);\n\n if (cachedResponse) {\n return Promise.resolve(cachedResponse);\n }\n\n return this.$http.get(url).then(response => {\n if (useCache) {\n cache.set(url, response);\n }\n return response;\n });\n }\n\n public clearCache() {\n cache.clear();\n }\n\n constructor(private $http: AbstractHttpService) {}\n}\n","import { Injectable } from '@angular/core';\nimport { AppVariablesProvider } from '@wm/runtime/base';\nimport { AppResourceManagerService } from './app-resource-manager.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppVariablesProviderService extends AppVariablesProvider {\n constructor(private resourceManager: AppResourceManagerService) {\n super();\n }\n\n public async getAppVariables(): Promise<any> {\n return this.resourceManager.get('./app.variables.json');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AppExtensionProvider } from '@wm/runtime/base';\nimport { appendScriptToHead } from '@wm/core';\n@Injectable({\n providedIn: 'root'\n})\nexport class AppExtensionProviderService extends AppExtensionProvider {\n\n // With renderer create element, added onloaded callback the append to the body\n public loadFormatterConfigScript(callback:Function):void {\n try{\n appendScriptToHead(callback);\n }catch(e){\n console.warn('Error while loading the formatters.js file');\n }\n }\n}\n","import {\n Compiler,\n Component,\n CUSTOM_ELEMENTS_SCHEMA, forwardRef, Inject,\n Injectable,\n Injector,\n NgModule,\n NO_ERRORS_SCHEMA,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { App, getValidJSON, UserDefinedExecutionContext } from '@wm/core';\nimport { transpile, scopeComponentStyles } from '@wm/transpiler';\nimport {\n AppManagerService,\n BasePageComponent,\n BasePartialComponent,\n BaseCustomWidgetComponent,\n BasePrefabComponent,\n ComponentRefProvider,\n ComponentType,\n RuntimeBaseModule,\n getPrefabMinJsonUrl,\n getPrefabPartialJsonUrl\n} from '@wm/runtime/base';\n\nimport { AppResourceManagerService } from './app-resource-manager.service';\nimport {isString, isUndefined} from \"lodash-es\";\nimport * as customWidgets from '@wavemaker/custom-widgets-m3';\n\ninterface IPageMinJSON {\n markup: string;\n script: string;\n styles: string;\n variables: string;\n config?: string;\n}\n\ndeclare const window: any;\n\nconst fragmentCache = new Map<string, any>();\n\nwindow.resourceCache = fragmentCache;\n\nconst componentFactoryRefCache = new Map<ComponentType, Map<string, any>>();\n\ncomponentFactoryRefCache.set(ComponentType.PAGE, new Map<string, any>());\ncomponentFactoryRefCache.set(ComponentType.PARTIAL, new Map<string, any>());\ncomponentFactoryRefCache.set(ComponentType.PREFAB, new Map<string, any>());\ncomponentFactoryRefCache.set(ComponentType.WIDGET, new Map<string, any>());\n\nconst _decodeURIComponent = (str: string) => decodeURIComponent(str.replace(/\\+/g, ' '));\n\nconst getFragmentUrl = (fragmentName: string, type: ComponentType, options?) => {\n if (type === ComponentType.PAGE || type === ComponentType.PARTIAL) {\n return options && options.prefab ? getPrefabPartialJsonUrl(options.prefab, fragmentName) : `./pages/${fragmentName}/page.min.json`;\n } else if (type === ComponentType.PREFAB) {\n return getPrefabMinJsonUrl(fragmentName);\n } else if (type === ComponentType.WIDGET){\n return `./custom-widgets/${fragmentName}/page.min.json` \n }\n};\n\nconst scriptCache = new Map<string, Function>();\nconst execScript = (\n script: string,\n identifier: string,\n ctx: string,\n instance: any,\n app: any,\n utils: any\n) => {\n let fn = scriptCache.get(identifier);\n // Fix for [WMS-21196]: Incorrect script is being assigned, when 2 prefabs have same partial name (i.e. same identifier).\n if ((ctx === 'Partial' && !isUndefined(instance.Prefab)) || !fn) {\n fn = new Function(ctx, 'App', 'Utils', script);\n scriptCache.set(identifier, fn);\n }\n fn(instance, app, utils);\n};\n\nclass BaseDynamicComponent {\n init() {}\n}\n\nconst getDynamicModule = (componentRef: any) => {\n return NgModule({\n declarations: [componentRef],\n imports: [\n RuntimeBaseModule,\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n })(class DynamicModule {});\n};\n\nconst getDynamicComponent = (\n componentName,\n type: ComponentType,\n template: string,\n css: string,\n script: any,\n variables: string,\n) => {\n\n const componentDef = {\n template,\n styles: [css],\n encapsulation: ViewEncapsulation.None\n };\n\n let BaseClass: any = BaseDynamicComponent;\n let selector = '';\n let context = '';\n\n switch (type) {\n case ComponentType.PAGE:\n BaseClass = BasePageComponent;\n selector = `app-page-${componentName}`;\n context = 'Page';\n break;\n case ComponentType.PARTIAL:\n BaseClass = BasePartialComponent;\n selector = `app-partial-${componentName}`;\n context = 'Partial';\n break;\n case ComponentType.PREFAB:\n BaseClass = BasePrefabComponent;\n selector = `app-prefab-${componentName}`;\n context = 'Prefab';\n break;\n case ComponentType.WIDGET:\n BaseClass = BaseCustomWidgetComponent;\n selector = `app-custom-${componentName}`;\n context = 'Widget';\n break;\n }\n\n class DynamicComponent extends BaseClass {\n isDynamicComponent: boolean = true;\n pageName;\n partialName;\n prefabName;\n customWidgetName;\n constructor(@Inject(Injector) public injector: Injector) {\n super();\n this.injector = injector;\n switch (type) {\n case ComponentType.PAGE:\n this.pageName = componentName;\n break;\n case ComponentType.PARTIAL:\n this.partialName = componentName;\n break;\n case ComponentType.PREFAB:\n this.prefabName = componentName;\n break;\n case ComponentType.WIDGET:\n this.customWidgetName = componentName;\n break;\n }\n\n super.init();\n }\n\n evalUserScript(instance: any, appContext: any, utils: any) {\n execScript(script, selector, context, instance, appContext, utils);\n }\n\n getVariables() {\n return JSON.parse(variables);\n }\n\n // in preview mode, there will be no function registered. functions will be generated dynamically through $parseEvent and $parseExpr\n getExpressions() {\n return {};\n }\n }\n\n const component = Component({\n ...componentDef,\n selector,\n providers: [\n {\n provide: UserDefinedExecutionContext,\n useExisting: DynamicComponent\n }\n ]\n })(DynamicComponent)\n return component;\n};\n\n@Injectable()\nexport class ComponentRefProviderService extends ComponentRefProvider {\n\n private loadResourcesOfFragment(componentName, componentType, options?): Promise<IPageMinJSON> {\n const url = getFragmentUrl(componentName, componentType, options);\n\n const resource = fragmentCache.get(url);\n\n if (resource) {\n return resource;\n }\n const promise = (((componentType === ComponentType.WIDGET && !customWidgets[componentName]) || componentType !== ComponentType.WIDGET) ? this.resouceMngr.get(url, true) : Promise.resolve(customWidgets[componentName]))\n .then(({markup, script, styles, variables, config}: IPageMinJSON) => {\n const response = {\n markup: transpile(_decodeURIComponent(markup)).markup,\n script: _decodeURIComponent(script),\n styles: scopeComponentStyles(componentName, componentType, _decodeURIComponent(styles)),\n variables: getValidJSON(_decodeURIComponent(variables)),\n ...(config? {config : getValidJSON(_decodeURIComponent(config))} : {})\n };\n fragmentCache.set(url, Promise.resolve(response));\n\n return response;\n }, e => {\n const status = e.details.status;\n const errorMsgMap = {\n 404 : this.app.appLocale.MESSAGE_PAGE_NOT_FOUND || 'The page you are trying to reach is not available',\n 403 : this.app.appLocale.LABEL_ACCESS_DENIED || 'Access Denied'\n };\n return Promise.reject(errorMsgMap[status]);\n });\n fragmentCache.set(url, promise);\n return promise;\n }\n\n constructor(\n private resouceMngr: AppResourceManagerService,\n private app: App,\n private appManager: AppManagerService,\n private compiler: Compiler\n ) {\n super();\n }\n\n public async getComponentFactoryRef(componentName: string, componentType: ComponentType, options?: {}): Promise<any> {\n // check in the cache.\n const componentFactoryMap = componentFactoryRefCache.get(componentType);\n let componentFactoryRef;\n if (componentFactoryMap) {\n const updatedComponentName = (options && options['prefab']) ? options['prefab'] + componentName : componentName;\n componentFactoryRef = componentFactoryMap.get(updatedComponentName);\n\n if (componentFactoryRef) {\n return componentFactoryRef;\n }\n }\n\n return this.loadResourcesOfFragment(componentName, componentType, options)\n .then(({markup, script, styles, variables}) => {\n const componentDef = getDynamicComponent(componentName, componentType, markup, styles, script, JSON.stringify(variables));\n const moduleDef = getDynamicModule(componentDef);\n\n componentFactoryRef = this.compiler\n .compileModuleAndAllComponentsSync(moduleDef)\n .componentFactories\n .filter(factory => // @ts-ignore\n factory.componentType === componentDef)[0];\n const updatedComponentName = (options && options['prefab']) ? options['prefab'] + componentName : componentName;\n componentFactoryRefCache.get(componentType).set(updatedComponentName, componentFactoryRef);\n\n return componentFactoryRef;\n }, (err) => {\n if (err) {\n const msg = \"Error while loading page\";\n // console the error for easy debugging\n console.log(msg, err);\n this.appManager.notifyApp(\n isString(err) ? err : msg + ', check browser console for error details',\n 'error'\n );\n }\n });\n }\n\n // clears the cache map\n public clearComponentFactoryRefCache() {\n this.resouceMngr.clearCache();\n fragmentCache.clear();\n componentFactoryRefCache.forEach(map => {\n map.clear();\n });\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { getPrefabConfigUrl, PrefabConfigProvider } from '@wm/runtime/base';\n\nimport { AppResourceManagerService } from './app-resource-manager.service';\n\nconst cache = new Map<string, any>();\n@Injectable()\nexport class PrefabConfigProviderService extends PrefabConfigProvider {\n\n constructor(private resourceMngr: AppResourceManagerService) {\n super();\n }\n\n public getConfig(prefabName: string): Promise<any> {\n const config = cache.get(prefabName);\n if (config) {\n return Promise.resolve(config);\n }\n\n return this.resourceMngr.get(getPrefabConfigUrl(prefabName))\n .then(_config => {\n cache.set(prefabName, _config);\n return _config;\n });\n }\n}\n","import { Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { CommonModule } from '@angular/common';\nimport { RouteReuseStrategy, RouterModule } from '@angular/router';\nimport { HttpClientModule, HttpClientXsrfModule } from '@angular/common/http';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { TypeaheadModule } from 'ngx-bootstrap/typeahead';\nimport { TimepickerModule as ngxTimepickerModule } from 'ngx-bootstrap/timepicker';\nimport { ProgressbarModule } from 'ngx-bootstrap/progressbar';\nimport { PaginationModule as ngxPaginationModule } from 'ngx-bootstrap/pagination';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { PopoverModule as ngxPopoverModule } from 'ngx-bootstrap/popover';\n\nimport { NgCircleProgressModule } from 'ng-circle-progress';\nimport { ToastNoAnimationModule } from 'ngx-toastr';\nimport { CarouselModule as ngxCarouselModule, } from 'ngx-bootstrap/carousel';\n\nimport {App, getWmProjectProperties, PartialRefProvider, CustomWidgetRefProvider} from '@wm/core';\n// Basic widgets\n\nimport { BasicModule } from '@wm/components/basic';\nimport { ProgressModule } from '@wm/components/basic/progress';\nimport { RichTextEditorModule } from '@wm/components/basic/rich-text-editor';\nimport { SearchModule } from '@wm/components/basic/search';\nimport { TreeModule } from '@wm/components/basic/tree';\n\n// input\nimport { InputModule } from '@wm/components/input';\nimport { CalendarModule } from '@wm/components/input/calendar';\nimport { ChipsModule } from '@wm/components/input/chips';\nimport { ColorPickerModule } from '@wm/components/input/color-picker';\nimport { CurrencyModule } from '@wm/components/input/currency';\nimport { EpochModule } from '@wm/components/input/epoch';\nimport { FileUploadModule } from '@wm/components/input/file-upload';\nimport { RatingModule } from '@wm/components/input/rating';\nimport { SliderModule } from '@wm/components/input/slider';\n\nimport { MobileRuntimeDynamicModule, MOBILE_COMPONENT_MODULES_FOR_ROOT } from '@wm/mobile/runtime/dynamic';\n\n// Data\nimport { CardModule } from '@wm/components/data/card';\nimport { FormModule } from '@wm/components/data/form';\nimport { ListModule } from '@wm/components/data/list';\nimport { LiveTableModule } from '@wm/components/data/live-table';\nimport { PaginationModule } from '@wm/components/data/pagination';\nimport { TableModule } from '@wm/components/data/table';\n\n// Chart\nimport { ChartModule } from '@wm/components/chart';\n\n// Containers\nimport { AccordionModule } from '@wm/components/containers/accordion';\nimport { LinearLayoutModule } from '@wm/components/containers/linear-layout';\nimport { LayoutGridModule } from '@wm/components/containers/layout-grid';\nimport { PanelModule } from '@wm/components/containers/panel';\nimport { TabsModule } from '@wm/components/containers/tabs';\nimport { TileModule } from '@wm/components/containers/tile';\nimport { WizardModule } from '@wm/components/containers/wizard';\n\n// Dialogs\nimport { AlertDialogModule } from '@wm/components/dialogs/alert-dialog';\nimport { IframeDialogModule } from '@wm/components/dialogs/iframe-dialog';\nimport { LoginDialogModule } from '@wm/components/dialogs/login-dialog';\nimport { PartialDialogModule } from '@wm/components/dialogs/partial-dialog';\n\n// Navigation\nimport { BreadcrumbModule } from '@wm/components/navigation/breadcrumb';\nimport { MenuModule } from '@wm/components/navigation/menu';\nimport { NavbarModule } from '@wm/components/navigation/navbar';\nimport { PopoverModule } from '@wm/components/navigation/popover';\n\n// Advanced\nimport { CarouselModule } from '@wm/components/advanced/carousel';\nimport { LoginModule } from '@wm/components/advanced/login';\nimport { MarqueeModule } from '@wm/components/advanced/marquee';\nimport { CustomModule } from '@wm/components/advanced/custom';\n\nimport { PageModule } from '@wm/components/page';\nimport { FooterModule } from '@wm/components/page/footer';\nimport { HeaderModule } from '@wm/components/page/header';\nimport { LeftPanelModule } from '@wm/components/page/left-panel';\nimport { RightPanelModule } from '@wm/components/page/right-panel';\nimport { TopNavModule } from '@wm/components/page/top-nav';\n\nimport { PrefabModule } from '@wm/components/prefab';\n\nimport {\n AppComponent,\n AppJSProvider,\n AppVariablesProvider,\n ComponentRefProvider,\n PrefabConfigProvider,\n WmRouteReuseStrategy,\n WM_MODULES_FOR_ROOT,\n REQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS,\n AppExtensionProvider\n} from '@wm/runtime/base';\n\nimport { routes } from './app.routes';\nimport { PageWrapperComponent } from './components/page-wrapper.component';\nimport { AppJSProviderService } from './services/app-js-provider.service';\nimport { AppVariablesProviderService } from './services/app-variables-provider.service';\nimport { AppExtensionProviderService } from './services/app-extension.service';\nimport { ComponentRefProviderService } from './services/component-ref-provider.service';\nimport { PrefabConfigProviderService } from './services/prefab-config-provider.service';\nimport { AppResourceManagerService } from './services/app-resource-manager.service';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nexport const routerModule = RouterModule.forRoot(routes, { useHash: true, scrollPositionRestoration: 'top' });\nexport const toastrModule = ToastNoAnimationModule.forRoot({ maxOpened: 1, autoDismiss: true });\n\n// In angular 15, xsrf headerName should not be null. Angular 15 is not using default header value like it used to send in calls\n// for angular 12 if the headerName is null . The user has to take care of not sending null values. Then ng 15 uses default value for headerName\nlet xsrfHeaderName = getWmProjectProperties().xsrf_header_name;\nlet xsrfOptions = {\n cookieName: 'wm_xsrf_token'\n}\nif(xsrfHeaderName) {\n xsrfOptions['headerName'] = xsrfHeaderName;\n}\nexport const httpClientXsrfModule = HttpClientXsrfModule.withOptions(xsrfOptions);\n\nexport const modalModule: ModuleWithProviders<ModalModule> = ModalModule.forRoot();\nexport const bsDatePickerModule: ModuleWithProviders<BsDatepickerModule> = BsDatepickerModule.forRoot();\nexport const timepickerModule: ModuleWithProviders<ngxTimepickerModule> = ngxTimepickerModule.forRoot();\nexport const bsDropdownModule: ModuleWithProviders<BsDropdownModule> = BsDropdownModule.forRoot();\nexport const paginationModule: ModuleWithProviders<ngxPaginationModule> = ngxPaginationModule.forRoot();\nexport const typeaheadModule: ModuleWithProviders<TypeaheadModule> = TypeaheadModule.forRoot();\nexport const progressbarModule: ModuleWithProviders<ProgressbarModule> = ProgressbarModule.forRoot();\nexport const carouselModule: ModuleWithProviders<ngxCarouselModule> = ngxCarouselModule.forRoot();\nexport const popoverModule: ModuleWithProviders<ngxPopoverModule> = ngxPopoverModule.forRoot();\nexport const ngCircleProgressModule: ModuleWithProviders<NgCircleProgressModule> = NgCircleProgressModule.forRoot({});\nexport const tooltipModule: ModuleWithProviders<TooltipModule> = TooltipModule.forRoot();\n\nconst componentsModule = [\n // NGX Bootstrap\n BsDatepickerModule,\n ngxTimepickerModule,\n BsDropdownModule,\n ngxPaginationModule,\n TypeaheadModule,\n ProgressbarModule,\n ngxCarouselModule,\n ngxPopoverModule,\n NgCircleProgressModule,\n TooltipModule,\n\n // Basic widgets\n BasicModule,\n ProgressModule,\n RichTextEditorModule,\n SearchModule,\n TreeModule,\n\n // Input\n CalendarModule,\n ChipsModule,\n ColorPickerModule,\n CurrencyModule,\n EpochModule,\n FileUploadModule,\n InputModule,\n RatingModule,\n SliderModule,\n\n // Data\n CardModule,\n FormModule,\n ListModule,\n LiveTableModule,\n PaginationModule,\n TableModule,\n\n // chart\n ChartModule,\n\n // container modules\n AccordionModule,\n LinearLayoutModule,\n LayoutGridModule,\n PanelModule,\n TabsModule,\n TileModule,\n WizardModule,\n\n // dialogs\n AlertDialogModule,\n IframeDialogModule,\n LoginDialogModule,\n PartialDialogModule,\n\n // navigation\n BreadcrumbModule,\n MenuModule,\n NavbarModule,\n PopoverModule,\n\n // Advanced\n CarouselModule,\n LoginModule,\n MarqueeModule,\n CustomModule,\n\n PageModule,\n FooterModule,\n HeaderModule,\n LeftPanelModule,\n RightPanelModule,\n TopNavModule,\n\n PrefabModule\n];\n\nREQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS.push(...componentsModule);\nREQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS.push(...MOBILE_COMPONENT_MODULES_FOR_ROOT);\nREQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS.push(FormsModule, ReactiveFormsModule);\n\n@NgModule({\n declarations: [\n PageWrapperComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n CommonModule,\n RouterModule,\n HttpClientModule,\n\n modalModule,\n bsDatePickerModule,\n timepickerModule,\n bsDropdownModule,\n paginationModule,\n typeaheadModule,\n tooltipModule,\n progressbarModule,\n carouselModule,\n popoverModule,\n ngCircleProgressModule,\n\n routerModule,\n toastrModule,\n httpClientXsrfModule,\n\n MobileRuntimeDynamicModule,\n WM_MODULES_FOR_ROOT\n ],\n providers: [\n AppResourceManagerService,\n { provide: AppJSProvider, useClass: AppJSProviderService },\n { provide: AppVariablesProvider, useClass: AppVariablesProviderService },\n { provide: AppExtensionProvider,useClass:AppExtensionProviderService},\n { provide: ComponentRefProvider, useClass: ComponentRefProviderService },\n { provide: PartialRefProvider, useClass: ComponentRefProviderService },\n { provide: CustomWidgetRefProvider, useClass: ComponentRefProviderService },\n { provide: PrefabConfigProvider, useClass: PrefabConfigProviderService },\n { provide: RouteReuseStrategy, useClass: WmRouteReuseStrategy }\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule {\n constructor(private app: App, private inj: Injector, private componentRefProvider: ComponentRefProvider) {\n if (window['cordova']) {\n // clear the cached urls on logout, to load the Login Page and not the Main Page as app reload(window.location.reload) is not invoked in mobile\n this.app.subscribe('userLoggedOut', this.componentRefProvider.clearComponentFactoryRefCache.bind(this.componentRefProvider));\n }\n }\n}\n","import { ApplicationRef, enableProdMode, NgModuleRef } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport {isEmpty} from \"lodash-es\";\n\nconst DEBUG_MODE = 'debugMode';\n\nif (sessionStorage.getItem(DEBUG_MODE) !== 'true') {\n enableProdMode();\n}\n\nconsole.time('bootstrap');\n\n\ndocument.addEventListener('DOMContentLoaded', () => {\n new Promise<void|Event>( resolve => {\n if (window['cordova']) {\n document.addEventListener('deviceready', resolve);\n } else {\n resolve();\n }\n }).then(() => platformBrowserDynamic().bootstrapModule(AppModule))\n .then((appModuleRef: NgModuleRef<AppModule>) => {\n const applicationRef = appModuleRef.injector.get(ApplicationRef);\n window.addEventListener('unload', () => {\n applicationRef.components.map(c => c && c.destroy());\n });\n console.timeEnd('bootstrap');\n }, err => console.log(err));\n});\n\n(window as any).debugMode = function(on) {\n if (isEmpty(on)) {\n on = true;\n }\n const value = on ? 'true' : 'false';\n if (sessionStorage.getItem(DEBUG_MODE) !== value) {\n sessionStorage.setItem(DEBUG_MODE, value);\n window.location.reload();\n }\n};\n\nexport default () => {};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","cache","i1.AppResourceManagerService","i2","i3","ngxTimepickerModule","ngxPaginationModule","ngxCarouselModule","ngxPopoverModule","PaginationModule","PopoverModule","CarouselModule"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../../projects/runtime-dynamic/src/app/components/page-wrapper.component.ts","../../../../projects/runtime-dynamic/src/app/app.routes.ts","../../../../projects/runtime-dynamic/src/app/services/app-js-provider.service.ts","../../../../projects/runtime-dynamic/src/app/services/app-resource-manager.service.ts","../../../../projects/runtime-dynamic/src/app/services/app-variables-provider.service.ts","../../../../projects/runtime-dynamic/src/app/services/app-extension.service.ts","../../../../projects/runtime-dynamic/src/app/services/component-ref-provider.service.ts","../../../../projects/runtime-dynamic/src/app/services/customwidget-config-provider.service.ts","../../../../projects/runtime-dynamic/src/app/services/prefab-config-provider.service.ts","../../../../projects/runtime-dynamic/src/app/app.module.ts","../../../../projects/runtime-dynamic/src/main.ts","../../../../projects/runtime-dynamic/src/index.ts"],"sourcesContent":["import {\n ApplicationRef,\n Component,\n ElementRef,\n Injector,\n NgZone,\n OnDestroy,\n OnInit,\n ViewContainerRef,\n HostListener\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { Subscription } from 'rxjs';\n\nimport { AbstractSpinnerService, App, noop} from '@wm/core';\nimport { MetadataService } from '@wm/variables';\nimport { SecurityService } from '@wm/security';\nimport { AppManagerService, BasePageComponent, ComponentRefProvider, ComponentType } from '@wm/runtime/base';\n\n@Component({\n selector: 'app-page-outlet',\n template: '<div></div>'\n})\nexport class PageWrapperComponent implements OnInit, OnDestroy {\n\n subscription: Subscription;\n instance: any;\n\n constructor(\n private injector: Injector,\n private route: ActivatedRoute,\n private vcRef: ViewContainerRef,\n private appRef: ApplicationRef,\n private metadataService: MetadataService,\n private securityService: SecurityService,\n private appManager: AppManagerService,\n private app: App,\n private ngZone: NgZone,\n private elRef: ElementRef,\n private spinnerService: AbstractSpinnerService,\n private componentRefProvider: ComponentRefProvider,\n private router: Router\n ) {}\n\n getTargetNode() {\n return this.elRef.nativeElement;\n }\n\n resetViewContainer() {\n this.vcRef.clear();\n const $target = this.getTargetNode();\n $target.innerHTML = '';\n }\n\n renderPage(pageName) {\n const $target = this.getTargetNode();\n\n this.appManager.loadAppVariables()\n .then(async () => {\n const pageComponentFactoryRef = await this.componentRefProvider.getComponentFactoryRef(pageName, ComponentType.PAGE);\n if (pageComponentFactoryRef) {\n const componentRef = this.vcRef.createComponent(pageComponentFactoryRef, 0, this.injector);\n this.instance = componentRef.instance;\n $target.appendChild(componentRef.location.nativeElement);\n } else {\n BasePageComponent.clear();\n }\n if (this.vcRef.length > 1) {\n this.vcRef.remove(1);\n }\n });\n }\n\n renderPrefabPreviewPage() {\n this.router.navigate(['prefab-preview']);\n }\n\n loadPage(pageName) {\n this.ngZone.run(() => {\n if (pageName) {\n this.renderPage(pageName);\n }\n });\n }\n\n ngOnInit() {\n if (this.app.isPrefabType) {\n // there is only one route\n this.renderPrefabPreviewPage();\n } else {\n $(this.getTargetNode()).find('>div').first().remove();\n this.subscription = this.route.params.subscribe(({pageName}: any) => {\n this.loadPage(pageName);\n });\n }\n }\n\n ngOnDestroy() {\n this.vcRef.clear();\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n ngOnAttach() {\n this.getTargetNode().appendChild(this.instance.$page[0]);\n this.instance.ngOnAttach();\n }\n\n ngOnDetach() {\n this.instance.ngOnDetach();\n }\n}\n","import { MetadataResolve, AppExtensionJSResolve } from '@wm/runtime/base';\nimport { SecurityConfigResolve, PrefabPreviewComponent, CanDeactivatePageGuard, EmptyPageComponent } from '@wm/runtime/base';\n\nimport { PageWrapperComponent } from './components/page-wrapper.component';\nimport {Routes} from '@angular/router';\n\nconst appDependenciesResolve = {\n securityConfig: SecurityConfigResolve,\n metadata: MetadataResolve,\n appMetaConfig: AppExtensionJSResolve\n};\n\nexport const routes: Routes = [\n {\n path: '',\n pathMatch: 'full',\n resolve: appDependenciesResolve,\n component: EmptyPageComponent\n },\n {\n path: 'prefab-preview',\n pathMatch: 'full',\n resolve: appDependenciesResolve,\n component: PrefabPreviewComponent\n },\n {\n path: ':pageName',\n pathMatch: 'full',\n resolve: appDependenciesResolve,\n component: PageWrapperComponent,\n canDeactivate: [CanDeactivatePageGuard]\n }\n];\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\nimport { AppJSProvider } from '@wm/runtime/base';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppJSProviderService extends AppJSProvider {\n constructor(private $http: HttpClient) {\n super();\n }\n\n public getAppScriptFn(): Promise<Function> {\n return this.$http.get('./app.js', {responseType: 'text'})\n .toPromise()\n .then(script => new Function('App', 'Utils', 'Injector', script));\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { AbstractHttpService, App } from '@wm/core';\n\nconst cache = new Map<string, string>();\n\n@Injectable()\nexport class AppResourceManagerService {\n\n get(url: string, useCache?: boolean): string | any {\n const cachedResponse = cache.get(url);\n\n if (cachedResponse) {\n return Promise.resolve(cachedResponse);\n }\n\n return this.$http.get(url).then(response => {\n if (useCache) {\n cache.set(url, response);\n }\n return response;\n });\n }\n\n public clearCache() {\n cache.clear();\n }\n\n constructor(private $http: AbstractHttpService) {}\n}\n","import { Injectable } from '@angular/core';\nimport { AppVariablesProvider } from '@wm/runtime/base';\nimport { AppResourceManagerService } from './app-resource-manager.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppVariablesProviderService extends AppVariablesProvider {\n constructor(private resourceManager: AppResourceManagerService) {\n super();\n }\n\n public async getAppVariables(): Promise<any> {\n return this.resourceManager.get('./app.variables.json');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { AppExtensionProvider } from '@wm/runtime/base';\nimport { appendScriptToHead } from '@wm/core';\n@Injectable({\n providedIn: 'root'\n})\nexport class AppExtensionProviderService extends AppExtensionProvider {\n\n // With renderer create element, added onloaded callback the append to the body\n public loadFormatterConfigScript(callback:Function):void {\n try{\n appendScriptToHead(callback);\n }catch(e){\n console.warn('Error while loading the formatters.js file');\n }\n }\n}\n","import {\n Compiler,\n Component,\n CUSTOM_ELEMENTS_SCHEMA, forwardRef, Inject,\n Injectable,\n Injector,\n NgModule,\n NO_ERRORS_SCHEMA,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { App, getValidJSON, UserDefinedExecutionContext } from '@wm/core';\nimport { transpile, scopeComponentStyles } from '@wm/transpiler';\nimport {\n AppManagerService,\n BasePageComponent,\n BasePartialComponent,\n BaseCustomWidgetComponent,\n BasePrefabComponent,\n ComponentRefProvider,\n ComponentType,\n RuntimeBaseModule,\n getPrefabMinJsonUrl,\n getPrefabPartialJsonUrl\n} from '@wm/runtime/base';\n\nimport { AppResourceManagerService } from './app-resource-manager.service';\nimport {isString, isUndefined} from \"lodash-es\";\nimport * as customWidgets from '@wavemaker/custom-widgets-m3';\n\ninterface IPageMinJSON {\n markup: string;\n script: string;\n styles: string;\n variables: string;\n config?: string;\n}\n\ndeclare const window: any;\n\nconst fragmentCache = new Map<string, any>();\n\nwindow.resourceCache = fragmentCache;\n\nconst componentFactoryRefCache = new Map<ComponentType, Map<string, any>>();\n\ncomponentFactoryRefCache.set(ComponentType.PAGE, new Map<string, any>());\ncomponentFactoryRefCache.set(ComponentType.PARTIAL, new Map<string, any>());\ncomponentFactoryRefCache.set(ComponentType.PREFAB, new Map<string, any>());\ncomponentFactoryRefCache.set(ComponentType.WIDGET, new Map<string, any>());\n\nconst _decodeURIComponent = (str: string) => decodeURIComponent(str.replace(/\\+/g, ' '));\n\nconst getFragmentUrl = (fragmentName: string, type: ComponentType, options?) => {\n if (type === ComponentType.PAGE || type === ComponentType.PARTIAL) {\n return options && options.prefab ? getPrefabPartialJsonUrl(options.prefab, fragmentName) : `./pages/${fragmentName}/page.min.json`;\n } else if (type === ComponentType.PREFAB) {\n return getPrefabMinJsonUrl(fragmentName);\n } else if (type === ComponentType.WIDGET){\n return `./custom-widgets/${fragmentName}/page.min.json` \n }\n};\n\nconst scriptCache = new Map<string, Function>();\nconst execScript = (\n script: string,\n identifier: string,\n ctx: string,\n instance: any,\n app: any,\n utils: any\n) => {\n let fn = scriptCache.get(identifier);\n // Fix for [WMS-21196]: Incorrect script is being assigned, when 2 prefabs have same partial name (i.e. same identifier).\n if ((ctx === 'Partial' && !isUndefined(instance.Prefab)) || !fn) {\n fn = new Function(ctx, 'App', 'Utils', script);\n scriptCache.set(identifier, fn);\n }\n fn(instance, app, utils);\n};\n\nclass BaseDynamicComponent {\n init() {}\n}\n\nconst getDynamicModule = (componentRef: any) => {\n return NgModule({\n declarations: [componentRef],\n imports: [\n RuntimeBaseModule,\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA]\n })(class DynamicModule {});\n};\n\nconst getDynamicComponent = (\n componentName,\n type: ComponentType,\n template: string,\n css: string,\n script: any,\n variables: string,\n) => {\n\n const componentDef = {\n template,\n styles: [css],\n encapsulation: ViewEncapsulation.None\n };\n\n let BaseClass: any = BaseDynamicComponent;\n let selector = '';\n let context = '';\n\n switch (type) {\n case ComponentType.PAGE:\n BaseClass = BasePageComponent;\n selector = `app-page-${componentName}`;\n context = 'Page';\n break;\n case ComponentType.PARTIAL:\n BaseClass = BasePartialComponent;\n selector = `app-partial-${componentName}`;\n context = 'Partial';\n break;\n case ComponentType.PREFAB:\n BaseClass = BasePrefabComponent;\n selector = `app-prefab-${componentName}`;\n context = 'Prefab';\n break;\n case ComponentType.WIDGET:\n BaseClass = BaseCustomWidgetComponent;\n selector = `app-custom-${componentName}`;\n context = 'Widget';\n break;\n }\n\n class DynamicComponent extends BaseClass {\n isDynamicComponent: boolean = true;\n pageName;\n partialName;\n prefabName;\n customWidgetName;\n constructor(@Inject(Injector) public injector: Injector) {\n super();\n this.injector = injector;\n switch (type) {\n case ComponentType.PAGE:\n this.pageName = componentName;\n break;\n case ComponentType.PARTIAL:\n this.partialName = componentName;\n break;\n case ComponentType.PREFAB:\n this.prefabName = componentName;\n break;\n case ComponentType.WIDGET:\n this.customWidgetName = componentName;\n break;\n }\n\n super.init();\n }\n\n evalUserScript(instance: any, appContext: any, utils: any) {\n execScript(script, selector, context, instance, appContext, utils);\n }\n\n getVariables() {\n return JSON.parse(variables);\n }\n\n // in preview mode, there will be no function registered. functions will be generated dynamically through $parseEvent and $parseExpr\n getExpressions() {\n return {};\n }\n }\n\n const component = Component({\n ...componentDef,\n selector,\n providers: [\n {\n provide: UserDefinedExecutionContext,\n useExisting: DynamicComponent\n }\n ]\n })(DynamicComponent)\n return component;\n};\n\n@Injectable()\nexport class ComponentRefProviderService extends ComponentRefProvider {\n\n private loadResourcesOfFragment(componentName, componentType, options?): Promise<IPageMinJSON> {\n const url = getFragmentUrl(componentName, componentType, options);\n\n const resource = fragmentCache.get(url);\n\n if (resource) {\n return resource;\n }\n const promise = (((componentType === ComponentType.WIDGET && !customWidgets[componentName]) || componentType !== ComponentType.WIDGET) ? this.resouceMngr.get(url, true) : Promise.resolve(customWidgets[componentName]))\n .then(({markup, script, styles, variables, config}: IPageMinJSON) => {\n const response = {\n markup: transpile(_decodeURIComponent(markup)).markup,\n script: _decodeURIComponent(script),\n styles: scopeComponentStyles(componentName, componentType, _decodeURIComponent(styles)),\n variables: getValidJSON(_decodeURIComponent(variables)),\n ...(config? {config : getValidJSON(_decodeURIComponent(config))} : {})\n };\n fragmentCache.set(url, Promise.resolve(response));\n\n return response;\n }, e => {\n const status = e.details.status;\n const errorMsgMap = {\n 404 : this.app.appLocale.MESSAGE_PAGE_NOT_FOUND || 'The page you are trying to reach is not available',\n 403 : this.app.appLocale.LABEL_ACCESS_DENIED || 'Access Denied'\n };\n return Promise.reject(errorMsgMap[status]);\n });\n fragmentCache.set(url, promise);\n return promise;\n }\n\n constructor(\n private resouceMngr: AppResourceManagerService,\n private app: App,\n private appManager: AppManagerService,\n private compiler: Compiler\n ) {\n super();\n }\n\n public async getComponentFactoryRef(componentName: string, componentType: ComponentType, options?: {}): Promise<any> {\n // check in the cache.\n const componentFactoryMap = componentFactoryRefCache.get(componentType);\n let componentFactoryRef;\n if (componentFactoryMap) {\n const updatedComponentName = (options && options['prefab']) ? options['prefab'] + componentName : componentName;\n componentFactoryRef = componentFactoryMap.get(updatedComponentName);\n\n if (componentFactoryRef) {\n return componentFactoryRef;\n }\n }\n\n return this.loadResourcesOfFragment(componentName, componentType, options)\n .then(({markup, script, styles, variables}) => {\n const componentDef = getDynamicComponent(componentName, componentType, markup, styles, script, JSON.stringify(variables));\n const moduleDef = getDynamicModule(componentDef);\n\n componentFactoryRef = this.compiler\n .compileModuleAndAllComponentsSync(moduleDef)\n .componentFactories\n .filter(factory => // @ts-ignore\n factory.componentType === componentDef)[0];\n const updatedComponentName = (options && options['prefab']) ? options['prefab'] + componentName : componentName;\n componentFactoryRefCache.get(componentType).set(updatedComponentName, componentFactoryRef);\n\n return componentFactoryRef;\n }, (err) => {\n if (err) {\n const msg = \"Error while loading page\";\n // console the error for easy debugging\n console.log(msg, err);\n this.appManager.notifyApp(\n isString(err) ? err : msg + ', check browser console for error details',\n 'error'\n );\n }\n });\n }\n\n // clears the cache map\n public clearComponentFactoryRefCache() {\n this.resouceMngr.clearCache();\n fragmentCache.clear();\n componentFactoryRefCache.forEach(map => {\n map.clear();\n });\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { CustomwidgetConfigProvider } from '@wm/runtime/base';\n\nconst cache = new Map<string, any>();\n@Injectable()\nexport class CustomwidgetConfigProviderService extends CustomwidgetConfigProvider {\n\n constructor() {\n super();\n }\n\n public getConfig(widgetname: string): Promise<any> {\n return new Promise((res, rej) => {\n Promise.resolve(window['resourceCache'].get(`./custom-widgets/${widgetname}/page.min.json`)).then((pageInfo) => {\n res(pageInfo.config);\n });\n })\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { getPrefabConfigUrl, PrefabConfigProvider } from '@wm/runtime/base';\n\nimport { AppResourceManagerService } from './app-resource-manager.service';\n\nconst cache = new Map<string, any>();\n@Injectable()\nexport class PrefabConfigProviderService extends PrefabConfigProvider {\n\n constructor(private resourceMngr: AppResourceManagerService) {\n super();\n }\n\n public getConfig(prefabName: string): Promise<any> {\n const config = cache.get(prefabName);\n if (config) {\n return Promise.resolve(config);\n }\n\n return this.resourceMngr.get(getPrefabConfigUrl(prefabName))\n .then(_config => {\n cache.set(prefabName, _config);\n return _config;\n });\n }\n}\n","import { Injector, ModuleWithProviders, NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { CommonModule } from '@angular/common';\nimport { RouteReuseStrategy, RouterModule } from '@angular/router';\nimport { HttpClientModule, HttpClientXsrfModule } from '@angular/common/http';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { TypeaheadModule } from 'ngx-bootstrap/typeahead';\nimport { TimepickerModule as ngxTimepickerModule } from 'ngx-bootstrap/timepicker';\nimport { ProgressbarModule } from 'ngx-bootstrap/progressbar';\nimport { PaginationModule as ngxPaginationModule } from 'ngx-bootstrap/pagination';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { TooltipModule } from 'ngx-bootstrap/tooltip';\nimport { BsDatepickerModule } from 'ngx-bootstrap/datepicker';\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\nimport { PopoverModule as ngxPopoverModule } from 'ngx-bootstrap/popover';\n\nimport { NgCircleProgressModule } from 'ng-circle-progress';\nimport { ToastNoAnimationModule } from 'ngx-toastr';\nimport { CarouselModule as ngxCarouselModule, } from 'ngx-bootstrap/carousel';\n\nimport {App, getWmProjectProperties, PartialRefProvider, CustomWidgetRefProvider} from '@wm/core';\n// Basic widgets\n\nimport { BasicModule } from '@wm/components/basic';\nimport { ProgressModule } from '@wm/components/basic/progress';\nimport { RichTextEditorModule } from '@wm/components/basic/rich-text-editor';\nimport { SearchModule } from '@wm/components/basic/search';\nimport { TreeModule } from '@wm/components/basic/tree';\n\n// input\nimport { InputModule } from '@wm/components/input';\nimport { CalendarModule } from '@wm/components/input/calendar';\nimport { ChipsModule } from '@wm/components/input/chips';\nimport { ColorPickerModule } from '@wm/components/input/color-picker';\nimport { CurrencyModule } from '@wm/components/input/currency';\nimport { EpochModule } from '@wm/components/input/epoch';\nimport { FileUploadModule } from '@wm/components/input/file-upload';\nimport { RatingModule } from '@wm/components/input/rating';\nimport { SliderModule } from '@wm/components/input/slider';\n\nimport { MobileRuntimeDynamicModule, MOBILE_COMPONENT_MODULES_FOR_ROOT } from '@wm/mobile/runtime/dynamic';\n\n// Data\nimport { CardModule } from '@wm/components/data/card';\nimport { FormModule } from '@wm/components/data/form';\nimport { ListModule } from '@wm/components/data/list';\nimport { LiveTableModule } from '@wm/components/data/live-table';\nimport { PaginationModule } from '@wm/components/data/pagination';\nimport { TableModule } from '@wm/components/data/table';\n\n// Chart\nimport { ChartModule } from '@wm/components/chart';\n\n// Containers\nimport { AccordionModule } from '@wm/components/containers/accordion';\nimport { LinearLayoutModule } from '@wm/components/containers/linear-layout';\nimport { LayoutGridModule } from '@wm/components/containers/layout-grid';\nimport { PanelModule } from '@wm/components/containers/panel';\nimport { TabsModule } from '@wm/components/containers/tabs';\nimport { TileModule } from '@wm/components/containers/tile';\nimport { WizardModule } from '@wm/components/containers/wizard';\n\n// Dialogs\nimport { AlertDialogModule } from '@wm/components/dialogs/alert-dialog';\nimport { IframeDialogModule } from '@wm/components/dialogs/iframe-dialog';\nimport { LoginDialogModule } from '@wm/components/dialogs/login-dialog';\nimport { PartialDialogModule } from '@wm/components/dialogs/partial-dialog';\n\n// Navigation\nimport { BreadcrumbModule } from '@wm/components/navigation/breadcrumb';\nimport { MenuModule } from '@wm/components/navigation/menu';\nimport { NavbarModule } from '@wm/components/navigation/navbar';\nimport { PopoverModule } from '@wm/components/navigation/popover';\n\n// Advanced\nimport { CarouselModule } from '@wm/components/advanced/carousel';\nimport { LoginModule } from '@wm/components/advanced/login';\nimport { MarqueeModule } from '@wm/components/advanced/marquee';\nimport { CustomModule } from '@wm/components/advanced/custom';\n\nimport { PageModule } from '@wm/components/page';\nimport { FooterModule } from '@wm/components/page/footer';\nimport { HeaderModule } from '@wm/components/page/header';\nimport { LeftPanelModule } from '@wm/components/page/left-panel';\nimport { RightPanelModule } from '@wm/components/page/right-panel';\nimport { TopNavModule } from '@wm/components/page/top-nav';\n\nimport { PrefabModule } from '@wm/components/prefab';\n\nimport {\n AppComponent,\n AppJSProvider,\n AppVariablesProvider,\n ComponentRefProvider,\n PrefabConfigProvider,\n WmRouteReuseStrategy,\n WM_MODULES_FOR_ROOT,\n CustomwidgetConfigProvider,\n REQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS,\n AppExtensionProvider\n} from '@wm/runtime/base';\n\nimport { routes } from './app.routes';\nimport { PageWrapperComponent } from './components/page-wrapper.component';\nimport { AppJSProviderService } from './services/app-js-provider.service';\nimport { AppVariablesProviderService } from './services/app-variables-provider.service';\nimport { AppExtensionProviderService } from './services/app-extension.service';\nimport { ComponentRefProviderService } from './services/component-ref-provider.service';\nimport { CustomwidgetConfigProviderService } from './services/customwidget-config-provider.service';\nimport { PrefabConfigProviderService } from './services/prefab-config-provider.service';\nimport { AppResourceManagerService } from './services/app-resource-manager.service';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nexport const routerModule = RouterModule.forRoot(routes, { useHash: true, scrollPositionRestoration: 'top' });\nexport const toastrModule = ToastNoAnimationModule.forRoot({ maxOpened: 1, autoDismiss: true });\n\n// In angular 15, xsrf headerName should not be null. Angular 15 is not using default header value like it used to send in calls\n// for angular 12 if the headerName is null . The user has to take care of not sending null values. Then ng 15 uses default value for headerName\nlet xsrfHeaderName = getWmProjectProperties().xsrf_header_name;\nlet xsrfOptions = {\n cookieName: 'wm_xsrf_token'\n}\nif(xsrfHeaderName) {\n xsrfOptions['headerName'] = xsrfHeaderName;\n}\nexport const httpClientXsrfModule = HttpClientXsrfModule.withOptions(xsrfOptions);\n\nexport const modalModule: ModuleWithProviders<ModalModule> = ModalModule.forRoot();\nexport const bsDatePickerModule: ModuleWithProviders<BsDatepickerModule> = BsDatepickerModule.forRoot();\nexport const timepickerModule: ModuleWithProviders<ngxTimepickerModule> = ngxTimepickerModule.forRoot();\nexport const bsDropdownModule: ModuleWithProviders<BsDropdownModule> = BsDropdownModule.forRoot();\nexport const paginationModule: ModuleWithProviders<ngxPaginationModule> = ngxPaginationModule.forRoot();\nexport const typeaheadModule: ModuleWithProviders<TypeaheadModule> = TypeaheadModule.forRoot();\nexport const progressbarModule: ModuleWithProviders<ProgressbarModule> = ProgressbarModule.forRoot();\nexport const carouselModule: ModuleWithProviders<ngxCarouselModule> = ngxCarouselModule.forRoot();\nexport const popoverModule: ModuleWithProviders<ngxPopoverModule> = ngxPopoverModule.forRoot();\nexport const ngCircleProgressModule: ModuleWithProviders<NgCircleProgressModule> = NgCircleProgressModule.forRoot({});\nexport const tooltipModule: ModuleWithProviders<TooltipModule> = TooltipModule.forRoot();\n\nconst componentsModule = [\n // NGX Bootstrap\n BsDatepickerModule,\n ngxTimepickerModule,\n BsDropdownModule,\n ngxPaginationModule,\n TypeaheadModule,\n ProgressbarModule,\n ngxCarouselModule,\n ngxPopoverModule,\n NgCircleProgressModule,\n TooltipModule,\n\n // Basic widgets\n BasicModule,\n ProgressModule,\n RichTextEditorModule,\n SearchModule,\n TreeModule,\n\n // Input\n CalendarModule,\n ChipsModule,\n ColorPickerModule,\n CurrencyModule,\n EpochModule,\n FileUploadModule,\n InputModule,\n RatingModule,\n SliderModule,\n\n // Data\n CardModule,\n FormModule,\n ListModule,\n LiveTableModule,\n PaginationModule,\n TableModule,\n\n // chart\n ChartModule,\n\n // container modules\n AccordionModule,\n LinearLayoutModule,\n LayoutGridModule,\n PanelModule,\n TabsModule,\n TileModule,\n WizardModule,\n\n // dialogs\n AlertDialogModule,\n IframeDialogModule,\n LoginDialogModule,\n PartialDialogModule,\n\n // navigation\n BreadcrumbModule,\n MenuModule,\n NavbarModule,\n PopoverModule,\n\n // Advanced\n CarouselModule,\n LoginModule,\n MarqueeModule,\n CustomModule,\n\n PageModule,\n FooterModule,\n HeaderModule,\n LeftPanelModule,\n RightPanelModule,\n TopNavModule,\n\n PrefabModule\n];\n\nREQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS.push(...componentsModule);\nREQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS.push(...MOBILE_COMPONENT_MODULES_FOR_ROOT);\nREQUIRED_MODULES_FOR_DYNAMIC_COMPONENTS.push(FormsModule, ReactiveFormsModule);\n\n@NgModule({\n declarations: [\n PageWrapperComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n CommonModule,\n RouterModule,\n HttpClientModule,\n\n modalModule,\n bsDatePickerModule,\n timepickerModule,\n bsDropdownModule,\n paginationModule,\n typeaheadModule,\n tooltipModule,\n progressbarModule,\n carouselModule,\n popoverModule,\n ngCircleProgressModule,\n\n routerModule,\n toastrModule,\n httpClientXsrfModule,\n\n MobileRuntimeDynamicModule,\n WM_MODULES_FOR_ROOT\n ],\n providers: [\n AppResourceManagerService,\n { provide: AppJSProvider, useClass: AppJSProviderService },\n { provide: AppVariablesProvider, useClass: AppVariablesProviderService },\n { provide: AppExtensionProvider,useClass:AppExtensionProviderService},\n { provide: ComponentRefProvider, useClass: ComponentRefProviderService },\n { provide: PartialRefProvider, useClass: ComponentRefProviderService },\n { provide: CustomWidgetRefProvider, useClass: ComponentRefProviderService },\n { provide: CustomwidgetConfigProvider, useClass: CustomwidgetConfigProviderService },\n { provide: PrefabConfigProvider, useClass: PrefabConfigProviderService },\n { provide: RouteReuseStrategy, useClass: WmRouteReuseStrategy }\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule {\n constructor(private app: App, private inj: Injector, private componentRefProvider: ComponentRefProvider) {\n if (window['cordova']) {\n // clear the cached urls on logout, to load the Login Page and not the Main Page as app reload(window.location.reload) is not invoked in mobile\n this.app.subscribe('userLoggedOut', this.componentRefProvider.clearComponentFactoryRefCache.bind(this.componentRefProvider));\n }\n }\n}\n","import { ApplicationRef, enableProdMode, NgModuleRef } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport {isEmpty} from \"lodash-es\";\n\nconst DEBUG_MODE = 'debugMode';\n\nif (sessionStorage.getItem(DEBUG_MODE) !== 'true') {\n enableProdMode();\n}\n\nconsole.time('bootstrap');\n\n\ndocument.addEventListener('DOMContentLoaded', () => {\n new Promise<void|Event>( resolve => {\n if (window['cordova']) {\n document.addEventListener('deviceready', resolve);\n } else {\n resolve();\n }\n }).then(() => platformBrowserDynamic().bootstrapModule(AppModule))\n .then((appModuleRef: NgModuleRef<AppModule>) => {\n const applicationRef = appModuleRef.injector.get(ApplicationRef);\n window.addEventListener('unload', () => {\n applicationRef.components.map(c => c && c.destroy());\n });\n console.timeEnd('bootstrap');\n }, err => console.log(err));\n});\n\n(window as any).debugMode = function(on) {\n if (isEmpty(on)) {\n on = true;\n }\n const value = on ? 'true' : 'false';\n if (sessionStorage.getItem(DEBUG_MODE) !== value) {\n sessionStorage.setItem(DEBUG_MODE, value);\n window.location.reload();\n }\n};\n\nexport default () => {};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","cache","i1.AppResourceManagerService","i2","i3","ngxTimepickerModule","ngxPaginationModule","ngxCarouselModule","ngxPopoverModule","PaginationModule","PopoverModule","CarouselModule"],"mappings":"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"}