@softheon/armature 17.4.0 → 17.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/esm2022/lib/alert-banner/alert-banner.module.mjs +4 -4
  2. package/esm2022/lib/alert-banner/components/alert-banner/alert-banner.component.mjs +3 -3
  3. package/esm2022/lib/alert-banner/services/alert-banner.service.mjs +3 -3
  4. package/esm2022/lib/armature.module.mjs +4 -4
  5. package/esm2022/lib/base-components/base-component-api.mjs +2 -1
  6. package/esm2022/lib/base-components/base-component.module.mjs +20 -11
  7. package/esm2022/lib/base-components/sof-alert/sof-alert.component.mjs +3 -3
  8. package/esm2022/lib/base-components/sof-badge/sof-badge.component.mjs +5 -5
  9. package/esm2022/lib/base-components/sof-banner/sof-banner.component.mjs +3 -3
  10. package/esm2022/lib/base-components/sof-button-toggle-group/sof-button-toggle-group.component.mjs +3 -3
  11. package/esm2022/lib/base-components/sof-confirm-address/sof-confirm-address.component.mjs +5 -5
  12. package/esm2022/lib/base-components/sof-image-checkbox/sof-image-checkbox.component.mjs +5 -5
  13. package/esm2022/lib/base-components/sof-input-stepper/sof-input-stepper.component.mjs +185 -0
  14. package/esm2022/lib/base-components/sof-modal/sof-modal.component.mjs +12 -11
  15. package/esm2022/lib/base-components/sof-progress-bar/sof-progress-bar.component.mjs +5 -5
  16. package/esm2022/lib/base-components/sof-radio-card/sof-radio-card.component.mjs +3 -3
  17. package/esm2022/lib/base-components/sof-simple-alert/sof-simple-alert.component.mjs +3 -3
  18. package/esm2022/lib/base-components/sof-star-rating/sof-star-rating.component.mjs +3 -3
  19. package/esm2022/lib/component-save-print/components/component-save-print/component-save-print.component.mjs +3 -3
  20. package/esm2022/lib/component-save-print/services/component-save-print.service.mjs +3 -3
  21. package/esm2022/lib/component-save-print/sof-ar-component-save-print.module.mjs +4 -4
  22. package/esm2022/lib/core/client-generated/api/session.service.mjs +3 -3
  23. package/esm2022/lib/core/components/app-template/app-template.component.mjs +23 -14
  24. package/esm2022/lib/core/initializer/initializer.service.mjs +3 -3
  25. package/esm2022/lib/core/interceptors/armature-auth-token-append.interceptor.mjs +3 -3
  26. package/esm2022/lib/core/services/authorization.service.mjs +3 -3
  27. package/esm2022/lib/core/services/banner.service.mjs +3 -3
  28. package/esm2022/lib/core/services/base-config.service.mjs +3 -3
  29. package/esm2022/lib/core/services/default-config.service.mjs +3 -3
  30. package/esm2022/lib/core/services/federated-module.service.mjs +3 -3
  31. package/esm2022/lib/core/services/session.service.mjs +3 -3
  32. package/esm2022/lib/core/services/user-entity.service.mjs +3 -3
  33. package/esm2022/lib/distributed-cache/client-generated/api/cache.service.mjs +3 -3
  34. package/esm2022/lib/distributed-cache/distributed-cache.module.mjs +4 -4
  35. package/esm2022/lib/distributed-cache/services/server-cache.service.mjs +3 -3
  36. package/esm2022/lib/error/components/error-common/error-common.component.mjs +3 -3
  37. package/esm2022/lib/error/error.module.mjs +4 -4
  38. package/esm2022/lib/faq/components/faq/faq.component.mjs +3 -3
  39. package/esm2022/lib/faq/faq.module.mjs +4 -4
  40. package/esm2022/lib/feedback-tool/components/feedback-tool/feedback-tool.component.mjs +3 -3
  41. package/esm2022/lib/feedback-tool/feedback-tool.module.mjs +4 -4
  42. package/esm2022/lib/footer/components/footer/footer.component.mjs +3 -3
  43. package/esm2022/lib/footer/components/site-map/site-map.component.mjs +3 -3
  44. package/esm2022/lib/footer/footer.module.mjs +4 -4
  45. package/esm2022/lib/forms/components/sof-address/sof-address.component.mjs +5 -5
  46. package/esm2022/lib/forms/directives/alphanumeric/alphanumeric.directive.mjs +3 -3
  47. package/esm2022/lib/forms/directives/input-trim/input-trim.directive.mjs +3 -3
  48. package/esm2022/lib/forms/directives/letters-characters/letters-characters.directive.mjs +3 -3
  49. package/esm2022/lib/forms/directives/letters-only/letters-only.directive.mjs +3 -3
  50. package/esm2022/lib/forms/directives/numbers-only/numbers-only.directive.mjs +3 -3
  51. package/esm2022/lib/forms/forms.module.mjs +4 -4
  52. package/esm2022/lib/forms/pipes/phone-format.pipe.mjs +3 -3
  53. package/esm2022/lib/forms/services/alert.service.mjs +3 -3
  54. package/esm2022/lib/header/components/header/header.component.mjs +5 -5
  55. package/esm2022/lib/header/components/mobile-header-menu/mobile-header-menu.component.mjs +3 -3
  56. package/esm2022/lib/header/header.module.mjs +4 -4
  57. package/esm2022/lib/navigation/components/navigation/navigation.component.mjs +6 -6
  58. package/esm2022/lib/navigation/models/nav.settings.mjs +1 -1
  59. package/esm2022/lib/navigation/navigation.module.mjs +4 -4
  60. package/esm2022/lib/oauth/oauth.module.mjs +4 -4
  61. package/esm2022/lib/oauth/services/hybrid-saml-oauth.service.mjs +3 -3
  62. package/esm2022/lib/rbac/directives/rbac-action.directive.mjs +3 -3
  63. package/esm2022/lib/rbac/rbac.module.mjs +4 -4
  64. package/esm2022/lib/rbac/services/ar-role-nav.service.mjs +3 -3
  65. package/esm2022/lib/rbac/services/oauth2-role.service.mjs +3 -3
  66. package/esm2022/lib/resize-panels/components/resize-panels/resize-panels.component.mjs +3 -3
  67. package/esm2022/lib/resize-panels/resize-panels.module.mjs +4 -4
  68. package/esm2022/lib/rum/rum.module.mjs +4 -4
  69. package/esm2022/lib/rum/services/rum.service.mjs +3 -3
  70. package/esm2022/lib/rum/services/shared-error.service.mjs +3 -3
  71. package/esm2022/lib/rum/services/softheon-error-handler.service.mjs +3 -3
  72. package/esm2022/lib/saml/components/redirect-saml/redirect-saml.component.mjs +3 -3
  73. package/esm2022/lib/saml/saml.module.mjs +4 -4
  74. package/esm2022/lib/saml/services/entry/sso-gateway-entry.service.mjs +3 -3
  75. package/esm2022/lib/saml/services/send-off/saml.service.mjs +3 -3
  76. package/esm2022/lib/sof-pipe/pipes/sof-blank/sof-blank.pipe.mjs +3 -3
  77. package/esm2022/lib/sof-pipe/pipes/sof-date/sof-date.pipe.mjs +3 -3
  78. package/esm2022/lib/sof-pipe/pipes/sof-ssn/sof-ssn.pipe.mjs +3 -3
  79. package/esm2022/lib/sof-pipe/sof-pipe.module.mjs +4 -4
  80. package/esm2022/lib/theming/directives/css-override.directive.mjs +3 -3
  81. package/esm2022/lib/theming/services/theme.service.mjs +3 -3
  82. package/esm2022/lib/theming/theme.module.mjs +4 -4
  83. package/fesm2022/softheon-armature.mjs +495 -308
  84. package/fesm2022/softheon-armature.mjs.map +1 -1
  85. package/lib/base-components/base-component-api.d.ts +1 -0
  86. package/lib/base-components/base-component.module.d.ts +20 -18
  87. package/lib/base-components/sof-input-stepper/sof-input-stepper.component.d.ts +78 -0
  88. package/lib/core/components/app-template/app-template.component.d.ts +7 -1
  89. package/lib/navigation/models/nav.settings.d.ts +2 -0
  90. package/package.json +1 -1
@@ -18,10 +18,10 @@ export class ComponentSavePrintService {
18
18
  savePrintComponent(component) {
19
19
  this.componentSavePrintBs.next(component);
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ComponentSavePrintService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
22
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ComponentSavePrintService, providedIn: 'root' }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ComponentSavePrintService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
22
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ComponentSavePrintService, providedIn: 'root' }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ComponentSavePrintService, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ComponentSavePrintService, decorators: [{
25
25
  type: Injectable,
26
26
  args: [{
27
27
  providedIn: 'root'
@@ -5,13 +5,13 @@ import { ComponentSavePrintComponent } from './components/component-save-print/c
5
5
  import * as i0 from "@angular/core";
6
6
  /** The component save print module */
7
7
  export class SofArComponentSavePrintModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SofArComponentSavePrintModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: SofArComponentSavePrintModule, declarations: [ComponentSavePrintComponent], imports: [CommonModule], exports: [ComponentSavePrintComponent] }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SofArComponentSavePrintModule, providers: [
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: SofArComponentSavePrintModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.7", ngImport: i0, type: SofArComponentSavePrintModule, declarations: [ComponentSavePrintComponent], imports: [CommonModule], exports: [ComponentSavePrintComponent] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: SofArComponentSavePrintModule, providers: [
11
11
  ComponentSavePrintService
12
12
  ], imports: [CommonModule] }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SofArComponentSavePrintModule, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: SofArComponentSavePrintModule, decorators: [{
15
15
  type: NgModule,
16
16
  args: [{
17
17
  declarations: [ComponentSavePrintComponent],
@@ -226,10 +226,10 @@ export class SessionService {
226
226
  reportProgress: reportProgress
227
227
  });
228
228
  }
229
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SessionService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: i2.Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
230
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SessionService }); }
229
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: SessionService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: i2.Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
230
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: SessionService }); }
231
231
  }
232
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SessionService, decorators: [{
232
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: SessionService, decorators: [{
233
233
  type: Injectable
234
234
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
235
235
  type: Optional
@@ -1,16 +1,18 @@
1
1
  import { Component } from '@angular/core';
2
+ import { routeToPreLoginRoute } from '../../functions/route-to-pre-login-route';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "../../services/base-config.service";
4
5
  import * as i2 from "@ngx-translate/core";
5
6
  import * as i3 from "../../services/federated-module.service";
6
- import * as i4 from "../../../navigation/components/navigation/navigation.component";
7
- import * as i5 from "../../../header/components/header/header.component";
8
- import * as i6 from "../../../footer/components/footer/footer.component";
9
- import * as i7 from "../../../alert-banner/components/alert-banner/alert-banner.component";
10
- import * as i8 from "@angular/router";
11
- import * as i9 from "@angular/common";
12
- import * as i10 from "@ngbracket/ngx-layout/flex";
13
- import * as i11 from "@ngbracket/ngx-layout/extended";
7
+ import * as i4 from "@angular/router";
8
+ import * as i5 from "angular-oauth2-oidc";
9
+ import * as i6 from "../../../navigation/components/navigation/navigation.component";
10
+ import * as i7 from "../../../header/components/header/header.component";
11
+ import * as i8 from "../../../footer/components/footer/footer.component";
12
+ import * as i9 from "../../../alert-banner/components/alert-banner/alert-banner.component";
13
+ import * as i10 from "@angular/common";
14
+ import * as i11 from "@ngbracket/ngx-layout/flex";
15
+ import * as i12 from "@ngbracket/ngx-layout/extended";
14
16
  /** The app template component */
15
17
  export class AppTemplateComponent {
16
18
  /** The log out text */
@@ -26,11 +28,15 @@ export class AppTemplateComponent {
26
28
  * @param configService The config service
27
29
  * @param translateService The translate service
28
30
  * @param federatedModuleService The federated module service
31
+ * @param router The router
32
+ * @param oauthService The OAuth service
29
33
  */
30
- constructor(configService, translateService, federatedModuleService) {
34
+ constructor(configService, translateService, federatedModuleService, router, oauthService) {
31
35
  this.configService = configService;
32
36
  this.translateService = translateService;
33
37
  this.federatedModuleService = federatedModuleService;
38
+ this.router = router;
39
+ this.oauthService = oauthService;
34
40
  /** The header settings */
35
41
  this.headerSettings = {};
36
42
  /** The header theme settings */
@@ -56,6 +62,9 @@ export class AppTemplateComponent {
56
62
  this.config$ = this.configService.config$;
57
63
  this.setDefaults();
58
64
  this.configService.config$.subscribe(config => {
65
+ if (config.oAuthSettings.preserveRequestedRoute && this.oauthService.hasValidAccessToken()) {
66
+ routeToPreLoginRoute(this.router);
67
+ }
59
68
  // object assign is used here so the header doesn't have to re render with the new object reference
60
69
  // header
61
70
  Object.assign(this.headerSettings, config?.header?.settings);
@@ -248,11 +257,11 @@ export class AppTemplateComponent {
248
257
  };
249
258
  Object.assign(this.navigationTheme, defaultNavTheme);
250
259
  }
251
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppTemplateComponent, deps: [{ token: i1.BaseConfigService }, { token: i2.TranslateService }, { token: i3.FederatedModuleService }], target: i0.ɵɵFactoryTarget.Component }); }
252
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppTemplateComponent, selector: "sof-ar-app-template", ngImport: i0, template: "<header *ngIf=\"!isFederatedModule\">\r\n <sof-ar-header [settings]=\"headerSettings\" [themeSettings]=\"headerThemeSettings\" [authSettings]=\"headerAuthSettings\"\r\n (setLanguage$)=\"applyLanguage()\" [currentLang]=\"currentLang\">\r\n <ng-container sof-ar-header-left>\r\n <ng-content select=\"[sof-ar-header-left]\"></ng-content>\r\n </ng-container>\r\n <ng-container sof-ar-header-center>\r\n <ng-content select=\"[sof-ar-header-center]\"></ng-content>\r\n </ng-container>\r\n <ng-container sof-ar-header-right>\r\n <ng-content select=\"[sof-ar-header-right]\"></ng-content>\r\n </ng-container>\r\n <ng-container sof-header-user-menu>\r\n <ng-content select=\"[sof-header-user-menu]\"></ng-content>\r\n </ng-container>\r\n </sof-ar-header>\r\n</header>\r\n<ng-content select=\"[sof-ar-template-content]\"> </ng-content>\r\n<ng-container *ngIf=\"isFederatedModule\">\r\n <router-outlet></router-outlet>\r\n</ng-container>\r\n<sof-ar-navigation *ngIf=\"!isFederatedModule\" [navigationData]=\"navigationNodes\" [settings]=\"navigationSettings\"\r\n [advancedSettings]=\"navigationAdvancedSettings\" [themeSettings]=\"navigationTheme\"\r\n [languageSettings]=\"languageSettings\" [currentLang]=\"currentLang\" (setLanguage$)=\"applyLanguage()\"\r\n [logOutText]=\"logOutText\">\r\n <ng-container sof-ar-nav-content>\r\n <sof-ar-alert-banner class=\"sof-ar-alert-banner-container\"></sof-ar-alert-banner>\r\n <div class=\"sof-ar-nav-container\" fxLayout=\"column\" fxLayout=\"start stretch\" style=\"height: 100%;\">\r\n <ng-content select=\"[sof-ar-nav-content-header]\"></ng-content>\r\n <div class=\"sof-ar-nav-content-container\" fxFlex=\"1 0 100%\">\r\n <main [ngStyle.lt-md]=\"{'max-width':navigationSettings?.maxContentWidthMobile+'%'}\"\r\n [ngStyle.gt-sm]=\"{'max-width':navigationSettings?.maxContentWidthDesktop+'%'}\" class=\"main-content\">\r\n <router-outlet></router-outlet>\r\n </main>\r\n </div>\r\n <div fxFlex=\"auto\" fxLayoutAlign=\"end end\">\r\n <sof-ar-footer style=\"width: 100%;\" [footerConfig]=\"{ showPreContent1: false, showPreContent2: false }\">\r\n <ng-container sof-ar-footer-content>\r\n <ng-content select=\"[sof-ar-footer-content]\"></ng-content>\r\n </ng-container>\r\n </sof-ar-footer>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container sof-ar-nav-mobile-footer>\r\n <ng-content select=\"[sof-ar-nav-mobile-footer]\"></ng-content>\r\n </ng-container>\r\n</sof-ar-navigation>\r\n", styles: [".nav-content-container{display:flex;flex-direction:column;height:100%}.sof-ar-nav-container{overflow:overlay}.sof-ar-nav-content-container{width:100%}.main-content{margin:auto}\n"], dependencies: [{ kind: "component", type: i4.ArmatureNavigationComponent, selector: "sof-ar-navigation", inputs: ["navigationData", "settings", "advancedSettings", "themeSettings", "languageSettings", "currentLang", "logOutText"], outputs: ["setLanguage$"] }, { kind: "component", type: i5.ArmatureHeaderComponent, selector: "sof-ar-header", inputs: ["settings", "themeSettings", "authSettings", "currentLang"], outputs: ["setLanguage$", "isLoggedInEE"] }, { kind: "component", type: i6.ArmatureFooterComponent, selector: "sof-ar-footer", inputs: ["footerConfig"] }, { kind: "component", type: i7.AlertBannerComponent, selector: "sof-ar-alert-banner", inputs: ["context"] }, { kind: "directive", type: i8.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i10.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i10.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i11.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }] }); }
260
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: AppTemplateComponent, deps: [{ token: i1.BaseConfigService }, { token: i2.TranslateService }, { token: i3.FederatedModuleService }, { token: i4.Router }, { token: i5.OAuthService }], target: i0.ɵɵFactoryTarget.Component }); }
261
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: AppTemplateComponent, selector: "sof-ar-app-template", ngImport: i0, template: "<header *ngIf=\"!isFederatedModule\">\r\n <sof-ar-header [settings]=\"headerSettings\" [themeSettings]=\"headerThemeSettings\" [authSettings]=\"headerAuthSettings\"\r\n (setLanguage$)=\"applyLanguage()\" [currentLang]=\"currentLang\">\r\n <ng-container sof-ar-header-left>\r\n <ng-content select=\"[sof-ar-header-left]\"></ng-content>\r\n </ng-container>\r\n <ng-container sof-ar-header-center>\r\n <ng-content select=\"[sof-ar-header-center]\"></ng-content>\r\n </ng-container>\r\n <ng-container sof-ar-header-right>\r\n <ng-content select=\"[sof-ar-header-right]\"></ng-content>\r\n </ng-container>\r\n <ng-container sof-header-user-menu>\r\n <ng-content select=\"[sof-header-user-menu]\"></ng-content>\r\n </ng-container>\r\n </sof-ar-header>\r\n</header>\r\n<ng-content select=\"[sof-ar-template-content]\"> </ng-content>\r\n<ng-container *ngIf=\"isFederatedModule\">\r\n <router-outlet></router-outlet>\r\n</ng-container>\r\n<sof-ar-navigation *ngIf=\"!isFederatedModule\" [navigationData]=\"navigationNodes\" [settings]=\"navigationSettings\"\r\n [advancedSettings]=\"navigationAdvancedSettings\" [themeSettings]=\"navigationTheme\"\r\n [languageSettings]=\"languageSettings\" [currentLang]=\"currentLang\" (setLanguage$)=\"applyLanguage()\"\r\n [logOutText]=\"logOutText\">\r\n <ng-container sof-ar-nav-content>\r\n <sof-ar-alert-banner class=\"sof-ar-alert-banner-container\"></sof-ar-alert-banner>\r\n <div class=\"sof-ar-nav-container\" fxLayout=\"column\" fxLayout=\"start stretch\" style=\"height: 100%;\">\r\n <ng-content select=\"[sof-ar-nav-content-header]\"></ng-content>\r\n <div class=\"sof-ar-nav-content-container\" fxFlex=\"1 0 100%\">\r\n <main [ngStyle.lt-md]=\"{'max-width':navigationSettings?.maxContentWidthMobile+'%'}\"\r\n [ngStyle.gt-sm]=\"{'max-width':navigationSettings?.maxContentWidthDesktop+'%'}\" class=\"main-content\">\r\n <router-outlet></router-outlet>\r\n </main>\r\n </div>\r\n <div fxFlex=\"auto\" fxLayoutAlign=\"end end\">\r\n <sof-ar-footer style=\"width: 100%;\" [footerConfig]=\"{ showPreContent1: false, showPreContent2: false }\">\r\n <ng-container sof-ar-footer-content>\r\n <ng-content select=\"[sof-ar-footer-content]\"></ng-content>\r\n </ng-container>\r\n </sof-ar-footer>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container sof-ar-nav-mobile-footer>\r\n <ng-content select=\"[sof-ar-nav-mobile-footer]\"></ng-content>\r\n </ng-container>\r\n</sof-ar-navigation>\r\n", styles: [".nav-content-container{display:flex;flex-direction:column;height:100%}.sof-ar-nav-container{overflow:overlay}.sof-ar-nav-content-container{width:100%}.main-content{margin:auto}\n"], dependencies: [{ kind: "component", type: i6.ArmatureNavigationComponent, selector: "sof-ar-navigation", inputs: ["navigationData", "settings", "advancedSettings", "themeSettings", "languageSettings", "currentLang", "logOutText"], outputs: ["setLanguage$"] }, { kind: "component", type: i7.ArmatureHeaderComponent, selector: "sof-ar-header", inputs: ["settings", "themeSettings", "authSettings", "currentLang"], outputs: ["setLanguage$", "isLoggedInEE"] }, { kind: "component", type: i8.ArmatureFooterComponent, selector: "sof-ar-footer", inputs: ["footerConfig"] }, { kind: "component", type: i9.AlertBannerComponent, selector: "sof-ar-alert-banner", inputs: ["context"] }, { kind: "directive", type: i4.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i11.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i11.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i11.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i12.DefaultStyleDirective, selector: " [ngStyle], [ngStyle.xs], [ngStyle.sm], [ngStyle.md], [ngStyle.lg], [ngStyle.xl], [ngStyle.lt-sm], [ngStyle.lt-md], [ngStyle.lt-lg], [ngStyle.lt-xl], [ngStyle.gt-xs], [ngStyle.gt-sm], [ngStyle.gt-md], [ngStyle.gt-lg]", inputs: ["ngStyle", "ngStyle.xs", "ngStyle.sm", "ngStyle.md", "ngStyle.lg", "ngStyle.xl", "ngStyle.lt-sm", "ngStyle.lt-md", "ngStyle.lt-lg", "ngStyle.lt-xl", "ngStyle.gt-xs", "ngStyle.gt-sm", "ngStyle.gt-md", "ngStyle.gt-lg"] }] }); }
253
262
  }
254
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppTemplateComponent, decorators: [{
263
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: AppTemplateComponent, decorators: [{
255
264
  type: Component,
256
265
  args: [{ selector: 'sof-ar-app-template', template: "<header *ngIf=\"!isFederatedModule\">\r\n <sof-ar-header [settings]=\"headerSettings\" [themeSettings]=\"headerThemeSettings\" [authSettings]=\"headerAuthSettings\"\r\n (setLanguage$)=\"applyLanguage()\" [currentLang]=\"currentLang\">\r\n <ng-container sof-ar-header-left>\r\n <ng-content select=\"[sof-ar-header-left]\"></ng-content>\r\n </ng-container>\r\n <ng-container sof-ar-header-center>\r\n <ng-content select=\"[sof-ar-header-center]\"></ng-content>\r\n </ng-container>\r\n <ng-container sof-ar-header-right>\r\n <ng-content select=\"[sof-ar-header-right]\"></ng-content>\r\n </ng-container>\r\n <ng-container sof-header-user-menu>\r\n <ng-content select=\"[sof-header-user-menu]\"></ng-content>\r\n </ng-container>\r\n </sof-ar-header>\r\n</header>\r\n<ng-content select=\"[sof-ar-template-content]\"> </ng-content>\r\n<ng-container *ngIf=\"isFederatedModule\">\r\n <router-outlet></router-outlet>\r\n</ng-container>\r\n<sof-ar-navigation *ngIf=\"!isFederatedModule\" [navigationData]=\"navigationNodes\" [settings]=\"navigationSettings\"\r\n [advancedSettings]=\"navigationAdvancedSettings\" [themeSettings]=\"navigationTheme\"\r\n [languageSettings]=\"languageSettings\" [currentLang]=\"currentLang\" (setLanguage$)=\"applyLanguage()\"\r\n [logOutText]=\"logOutText\">\r\n <ng-container sof-ar-nav-content>\r\n <sof-ar-alert-banner class=\"sof-ar-alert-banner-container\"></sof-ar-alert-banner>\r\n <div class=\"sof-ar-nav-container\" fxLayout=\"column\" fxLayout=\"start stretch\" style=\"height: 100%;\">\r\n <ng-content select=\"[sof-ar-nav-content-header]\"></ng-content>\r\n <div class=\"sof-ar-nav-content-container\" fxFlex=\"1 0 100%\">\r\n <main [ngStyle.lt-md]=\"{'max-width':navigationSettings?.maxContentWidthMobile+'%'}\"\r\n [ngStyle.gt-sm]=\"{'max-width':navigationSettings?.maxContentWidthDesktop+'%'}\" class=\"main-content\">\r\n <router-outlet></router-outlet>\r\n </main>\r\n </div>\r\n <div fxFlex=\"auto\" fxLayoutAlign=\"end end\">\r\n <sof-ar-footer style=\"width: 100%;\" [footerConfig]=\"{ showPreContent1: false, showPreContent2: false }\">\r\n <ng-container sof-ar-footer-content>\r\n <ng-content select=\"[sof-ar-footer-content]\"></ng-content>\r\n </ng-container>\r\n </sof-ar-footer>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container sof-ar-nav-mobile-footer>\r\n <ng-content select=\"[sof-ar-nav-mobile-footer]\"></ng-content>\r\n </ng-container>\r\n</sof-ar-navigation>\r\n", styles: [".nav-content-container{display:flex;flex-direction:column;height:100%}.sof-ar-nav-container{overflow:overlay}.sof-ar-nav-content-container{width:100%}.main-content{margin:auto}\n"] }]
257
- }], ctorParameters: () => [{ type: i1.BaseConfigService }, { type: i2.TranslateService }, { type: i3.FederatedModuleService }] });
258
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvY29yZS9jb21wb25lbnRzL2FwcC10ZW1wbGF0ZS9hcHAtdGVtcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9jb3JlL2NvbXBvbmVudHMvYXBwLXRlbXBsYXRlL2FwcC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBY2xELGlDQUFpQztBQU1qQyxNQUFNLE9BQU8sb0JBQW9CO0lBZ0MvQix1QkFBdUI7SUFDdkIsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsaUNBQWlDO0lBQ2pDLElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBS0Q7Ozs7O09BS0c7SUFDSCxZQUNtQixhQUFnQyxFQUNoQyxnQkFBa0MsRUFDbEMsc0JBQThDO1FBRjlDLGtCQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUNoQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFqRGpFLDBCQUEwQjtRQUNuQixtQkFBYyxHQUFtQixFQUFFLENBQUM7UUFFM0MsZ0NBQWdDO1FBQ3pCLHdCQUFtQixHQUF3QixFQUFFLENBQUM7UUFFckQsK0JBQStCO1FBQ3hCLHVCQUFrQixHQUF1QixF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LEVBQUUsWUFBWTtnQkFDbkIsUUFBUSxFQUFFLEVBQUU7YUFDYjtZQUNEO2dCQUNFLElBQUksRUFBRSxNQUFNO2dCQUNaLGVBQWUsRUFBRSxpQkFBaUI7Z0JBQ2xDLEtBQUssRUFBRSxPQUFPO2dCQUNkLFFBQVEsRUFBRSxFQUFFO2FBQ2I7WUFDRDtnQkFDRSxJQUFJLEVBQUUsZUFBZTtnQkFDckIsZUFBZSxFQUFFLGlCQUFpQjtnQkFDbEMsS0FBSyxFQUFFLGdCQUFnQjtnQkFDdkIsUUFBUSxFQUFFLEVBQUU7YUFDYjtTQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsMkNBQTJDO0lBQ25DLHFCQUFxQixDQUFDLE1BQWtCO1FBQzlDLE1BQU0sZUFBZSxHQUFHO1lBQ3RCLGdCQUFnQixFQUFFLE1BQU07WUFDeEIsZ0JBQWdCLEVBQUUsTUFBTTtZQUN4QixnQkFBZ0IsRUFBRSxhQUFhO1lBQy9CLGNBQWMsRUFBRSxTQUFTO1lBQ3pCLFNBQVMsRUFBRSxNQUFNO1lBQ2pCLGtCQUFrQixFQUFFLG9CQUFvQjtZQUN4QyxrQkFBa0IsRUFBRSxrQkFBa0I7WUFDdEMsZUFBZSxFQUFFLFNBQVM7WUFDMUIsbUJBQW1CLEVBQUUsd0JBQXdCO1lBQzdDLHVCQUF1QixFQUFFLFNBQVM7U0FDbkMsQ0FBQztRQUNGLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN2RCxDQUFDOzhHQTNRVSxvQkFBb0I7a0dBQXBCLG9CQUFvQiwyRENwQmpDLDJtRkFnREE7OzJGRDVCYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgSGVhZGVyQXV0aFNldHRpbmdzIH0gZnJvbSAnLi4vLi4vLi4vaGVhZGVyL21vZGVscy9oZWFkZXItYXV0aC5zZXR0aW5ncyc7XHJcbmltcG9ydCB7IEhlYWRlckxhbmd1YWdlU2V0dGluZ3MgfSBmcm9tICcuLi8uLi8uLi9oZWFkZXIvbW9kZWxzL2hlYWRlci1sYW5ndWFnZS5zZXR0aW5ncyc7XHJcbmltcG9ydCB7IEhlYWRlclRoZW1lU2V0dGluZ3MgfSBmcm9tICcuLi8uLi8uLi9oZWFkZXIvbW9kZWxzL2hlYWRlci10aGVtZS5zZXR0aW5ncyc7XHJcbmltcG9ydCB7IEhlYWRlclNldHRpbmdzIH0gZnJvbSAnLi4vLi4vLi4vaGVhZGVyL21vZGVscy9oZWFkZXIuc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uQWR2YW5jZWRTZXR0aW5ncywgTmF2aWdhdGlvblNldHRpbmdzLCBOYXZpZ2F0aW9uVGhlbWVTZXR0aW5ncywgTmF2Tm9kZSB9IGZyb20gJy4uLy4uLy4uL25hdmlnYXRpb24vbmF2aWdhdGlvbi1hcGknO1xyXG5pbXBvcnQgeyBCYXNlQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Jhc2UtY29uZmlnJztcclxuaW1wb3J0IHsgQmFzZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9iYXNlLWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmVkZXJhdGVkTW9kdWxlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZlZGVyYXRlZC1tb2R1bGUuc2VydmljZSc7XHJcblxyXG4vKiogVGhlIGFwcCB0ZW1wbGF0ZSBjb21wb25lbnQgKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzb2YtYXItYXBwLXRlbXBsYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXBwLXRlbXBsYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hcHAtdGVtcGxhdGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwVGVtcGxhdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAvKiogVGhlIGNvbmZpZyBvYnNlcnZhYmxlICovXHJcbiAgcHVibGljIGNvbmZpZyQ6IE9ic2VydmFibGU8QmFzZUNvbmZpZz47XHJcblxyXG4gIC8qKiBUaGUgaGVhZGVyIHNldHRpbmdzICovXHJcbiAgcHVibGljIGhlYWRlclNldHRpbmdzOiBIZWFkZXJTZXR0aW5ncyA9IHt9O1xyXG5cclxuICAvKiogVGhlIGhlYWRlciB0aGVtZSBzZXR0aW5ncyAqL1xyXG4gIHB1YmxpYyBoZWFkZXJUaGVtZVNldHRpbmdzOiBIZWFkZXJUaGVtZVNldHRpbmdzID0ge307XHJcblxyXG4gIC8qKiBUaGUgaGVhZGVyIGF1dGggc2V0dGluZ3MgKi9cclxuICBwdWJsaWMgaGVhZGVyQXV0aFNldHRpbmdzOiBIZWFkZXJBdXRoU2V0dGluZ3MgPSB7fSBhcyBhbnk7XHJcblxyXG4gIC8qKiB0aGUgbmF2aWdhdGlvbiB0aGVtZSBzZXR0aW5ncyAqL1xyXG4gIHB1YmxpYyBuYXZpZ2F0aW9uVGhlbWU6IE5hdmlnYXRpb25UaGVtZVNldHRpbmdzID0ge307XHJcblxyXG4gIC8qKiBUaGUgbmF2aWdhdGlvbiBzZXR0aW5ncyAqL1xyXG4gIHB1YmxpYyBuYXZpZ2F0aW9uU2V0dGluZ3M6IE5hdmlnYXRpb25TZXR0aW5ncyA9IHt9O1xyXG5cclxuICAvKiogVGhlIG5hdmlnYXRpb24gbm9kZXMgKi9cclxuICBwdWJsaWMgbmF2aWdhdGlvbk5vZGVzOiBBcnJheTxOYXZOb2RlPiA9IFtdO1xyXG5cclxuICAvKiogVGhlIG5hdmlnYXRpb24gYWR2YW5jZWQgc2V0dGluZ3MgKi9cclxuICBwdWJsaWMgbmF2aWdhdGlvbkFkdmFuY2VkU2V0dGluZ3M6IE5hdmlnYXRpb25BZHZhbmNlZFNldHRpbmdzID0ge307XHJcblxyXG4gIC8qKiBUaGUgbGFuZ3VhZ2Ugc2V0dGluZ3MgKi9cclxuICBwdWJsaWMgbGFuZ3VhZ2VTZXR0aW5nczogSGVhZGVyTGFuZ3VhZ2VTZXR0aW5ncyA9IHt9O1xyXG5cclxuICAvKiogVGhlIGN1cnJlbnQgbGFuZ3VhZ2UgKi9cclxuICBwdWJsaWMgY3VycmVudExhbmc6IHN0cmluZztcclxuXHJcbiAgLyoqIFRoZSBsb2cgb3V0IHRleHQgKi9cclxuICBwdWJsaWMgZ2V0IGxvZ091dFRleHQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmhlYWRlckF1dGhTZXR0aW5ncy5sb2dPdXRUZXh0O1xyXG4gIH1cclxuXHJcbiAgLyoqIGdldHMgdGhlIG5vbiB1c2VkIGxhbmd1YWdlICovXHJcbiAgcHVibGljIGdldCBvdGhlckxhbmdUZXh0KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5sYW5ndWFnZVNldHRpbmdzPy5sYW5ndWFnZXM/LmZpbmQoeCA9PiB4ICE9PSB0aGlzLmN1cnJlbnRMYW5nKTtcclxuICB9XHJcblxyXG4gIC8qKiBUcnVlIHdoZW4gdGhlIGFwcGxpY2F0aW9uIGlzIHJ1bm5pbmcgYXMgYSBmZWRlcmF0ZWQgbW9kdWxlICovXHJcbiAgcHVibGljIGlzRmVkZXJhdGVkTW9kdWxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdHMgdGhlIGNvbXBvbmVudFxyXG4gICAqIEBwYXJhbSBjb25maWdTZXJ2aWNlIFRoZSBjb25maWcgc2VydmljZVxyXG4gICAqIEBwYXJhbSB0cmFuc2xhdGVTZXJ2aWNlIFRoZSB0cmFuc2xhdGUgc2VydmljZVxyXG4gICAqIEBwYXJhbSBmZWRlcmF0ZWRNb2R1bGVTZXJ2aWNlIFRoZSBmZWRlcmF0ZWQgbW9kdWxlIHNlcnZpY2VcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogQmFzZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZlZGVyYXRlZE1vZHVsZVNlcnZpY2U6IEZlZGVyYXRlZE1vZHVsZVNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIC8qKiBMaWZlIGN5Y2xlIGhvb2sgZm9yIGNvbXBvbmVudCBpbml0aWFsaXphdGlvbiAqL1xyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNGZWRlcmF0ZWRNb2R1bGUgPSB0aGlzLmZlZGVyYXRlZE1vZHVsZVNlcnZpY2UuaXNGZWRlcmF0ZWRNb2R1bGU7XHJcbiAgICB0aGlzLmNvbmZpZyQgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnJDtcclxuICAgIHRoaXMuc2V0RGVmYXVsdHMoKTtcclxuICAgIHRoaXMuY29uZmlnU2VydmljZS5jb25maWckLnN1YnNjcmliZShjb25maWcgPT4ge1xyXG4gICAgICAvLyBvYmplY3QgYXNzaWduIGlzIHVzZWQgaGVyZSBzbyB0aGUgaGVhZGVyIGRvZXNuJ3QgaGF2ZSB0byByZSByZW5kZXIgd2l0aCB0aGUgbmV3IG9iamVjdCByZWZlcmVuY2VcclxuICAgICAgLy8gaGVhZGVyXHJcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5oZWFkZXJTZXR0aW5ncywgY29uZmlnPy5oZWFkZXI/LnNldHRpbmdzKTtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLmhlYWRlclRoZW1lU2V0dGluZ3MsIGNvbmZpZz8uaGVhZGVyPy50aGVtZSk7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5oZWFkZXJBdXRoU2V0dGluZ3MsIGNvbmZpZz8ub0F1dGhTZXR0aW5ncyk7XHJcblxyXG4gICAgICAvLyBuYXZpZ2F0aW9uXHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbk5vZGVzID0gY29uZmlnPy5uYXZpZ2F0aW9uPy5ub2RlcyB8fCB0aGlzLmdldEV4YW1wbGVOYXZOb2RlcygpO1xyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMubmF2aWdhdGlvblNldHRpbmdzLCBjb25maWc/Lm5hdmlnYXRpb24/LnNldHRpbmdzKTtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLm5hdmlnYXRpb25BZHZhbmNlZFNldHRpbmdzLCBjb25maWc/Lm5hdmlnYXRpb24/LmFkdmFuY2VkKTtcclxuICAgICAgdGhpcy5hc3NpZ25EZWZhdWx0TmF2VGhlbWUoY29uZmlnKTtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLm5hdmlnYXRpb25UaGVtZSwgY29uZmlnPy5uYXZpZ2F0aW9uPy50aGVtZSk7XHJcblxyXG4gICAgICAvLyBzZXQgZGVwZW5kZW50IHZhbHVlXHJcbiAgICAgIHRoaXMuaGVhZGVyU2V0dGluZ3MuYXJtYXR1cmVOYXZpZ2F0aW9uID0gIXRoaXMubmF2aWdhdGlvblNldHRpbmdzLmhpZGVOYXZpZ2F0aW9uO1xyXG4gICAgICBcclxuICAgICAgaWYgKHRoaXMubmF2aWdhdGlvblNldHRpbmdzLm1lbnVTdHlsZSA9PT0gJ3Byb2dyZXNzJyB8fCB0aGlzLm5hdmlnYXRpb25TZXR0aW5ncy5oaWRlTmF2aWdhdGlvbikge1xyXG4gICAgICAgIHRoaXMuaGVhZGVyU2V0dGluZ3MuY3JlYXRlU3BhY2VGb3JOYXZUb2dnbGUgPSB0aGlzLm5hdmlnYXRpb25TZXR0aW5ncy5hbGxvd05hdlRvZ2dsZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBTZXQgYm90aCBuYXZpZ2F0aW9uIHRvZ2dsZSBzZXR0aW5ncyB0byB0cnVlIGlmIGVpdGhlciBpcyB0cnVlXHJcbiAgICAgIGlmICh0aGlzLmhlYWRlclNldHRpbmdzLmNyZWF0ZVNwYWNlRm9yTmF2VG9nZ2xlIHx8IHRoaXMubmF2aWdhdGlvblNldHRpbmdzLmFsbG93TmF2VG9nZ2xlKSB7XHJcbiAgICAgICAgdGhpcy5oZWFkZXJTZXR0aW5ncy5jcmVhdGVTcGFjZUZvck5hdlRvZ2dsZSA9IHRoaXMubmF2aWdhdGlvblNldHRpbmdzLmFsbG93TmF2VG9nZ2xlID0gdHJ1ZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5zZXRMYW5ndWFnZU9wdGlvbnMoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQXBwbGllcyB0aGUgbGFuZ3VhZ2UgdG8gdGhlIHRyYW5zbGF0ZSBzZXJ2aWNlXHJcbiAgICogQHBhcmFtIGxhbmcgdGhlIGxhbmd1YWdlXHJcbiAgICovXHJcbiAgcHVibGljIGFwcGx5TGFuZ3VhZ2UobGFuZz86IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKCFsYW5nKSB7XHJcbiAgICAgIGxhbmcgPSB0aGlzLm90aGVyTGFuZ1RleHQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKGxhbmcpO1xyXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nID0gbGFuZztcclxuICAgIHRoaXMuY3VycmVudExhbmcgPSBsYW5nO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNldCB0aGUgbGFuZ3VhZ2Ugb3B0aW9ucyAqL1xyXG4gIHByaXZhdGUgc2V0TGFuZ3VhZ2VPcHRpb25zKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaGVhZGVyU2V0dGluZ3MubGFuZ3VhZ2VTZXR0aW5ncykge1xyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMubGFuZ3VhZ2VTZXR0aW5ncywgdGhpcy5oZWFkZXJTZXR0aW5ncy5sYW5ndWFnZVNldHRpbmdzKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxhbmd1YWdlU2V0dGluZ3MuZGVmYXVsdExhbmd1YWdlID0gdGhpcy5sYW5ndWFnZVNldHRpbmdzLmRlZmF1bHRMYW5ndWFnZSB8fCAnZW4nO1xyXG4gICAgdGhpcy5sYW5ndWFnZVNldHRpbmdzLmRpc3BsYXlMYW5ndWFnZU9wdGlvbnMgPSB0aGlzLmxhbmd1YWdlU2V0dGluZ3MuZGlzcGxheUxhbmd1YWdlT3B0aW9ucyB8fCBmYWxzZTtcclxuICAgIHRoaXMubGFuZ3VhZ2VTZXR0aW5ncy5sYW5ndWFnZXMgPSB0aGlzLmxhbmd1YWdlU2V0dGluZ3MubGFuZ3VhZ2VzIHx8IFsnZW4nLCAnZXMnXTtcclxuICAgIHRoaXMubGFuZ3VhZ2VTZXR0aW5ncy5idXR0b25UZXh0ID0gdGhpcy5sYW5ndWFnZVNldHRpbmdzLmJ1dHRvblRleHQgfHwgJ0xhbmd1YWdlcyc7XHJcblxyXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmFkZExhbmdzKHRoaXMubGFuZ3VhZ2VTZXR0aW5ncy5sYW5ndWFnZXMpO1xyXG4gICAgdGhpcy5jdXJyZW50TGFuZyA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZztcclxuICAgIHRoaXMuaGVhZGVyU2V0dGluZ3MubGFuZ3VhZ2VTZXR0aW5ncyA9IHRoaXMubGFuZ3VhZ2VTZXR0aW5ncztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGVmYXVsdHMoKTogdm9pZCB7XHJcbiAgICAvLyBoZWFkZXJcclxuICAgIHRoaXMuaGVhZGVyU2V0dGluZ3MgPSB7XHJcbiAgICAgIGFybWF0dXJlTmF2aWdhdGlvbjogdHJ1ZSxcclxuICAgICAgY3JlYXRlU3BhY2VGb3JOYXZUb2dnbGU6IHRydWUsXHJcbiAgICAgIGRpc3BsYXlMb2dvOiB0cnVlLFxyXG4gICAgICBsb2dvVXJsOiAnaHR0cHM6Ly9zb2Z0aGVvbmNkbnN0b3JhZ2UuYmxvYi5jb3JlLndpbmRvd3MubmV0L2ltYWdlcy9zb2Z0aGVvbi9sb2dvLnN2ZycsXHJcbiAgICAgIGxvZ29BbHRUZXh0OiAndGhlIGV4YW1wbGUgcG9ydGFsIGhlYWRlciBsb2dvJyxcclxuICAgICAgZGlzcGxheUxvZ29UZXh0OiBmYWxzZSxcclxuICAgICAgZGlzcGxheURyb3BEb3duTWVudTogZmFsc2UsXHJcbiAgICAgIGRyb3BEb3duQXJpYVRleHQ6ICd0aGUgaGVhZGVyIGRyb3AgZG93biBtZW51IGJ1dHRvbiBpY29uJyxcclxuICAgICAgZHJvcERvd25NZW51U1JUZXh0OiAndGhlIGhlYWRlciBhY2NvdW50IGJ1dHRvbiBkcm9wIGRvd24gb3B0aW9ucycsXHJcbiAgICAgIGRpc3BsYXlBdXRoSW5mbzogdHJ1ZSxcclxuICAgICAgbGFuZ3VhZ2VTZXR0aW5nczoge1xyXG4gICAgICAgIGRpc3BsYXlMYW5ndWFnZU9wdGlvbnM6IHRydWVcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRoaXMuaGVhZGVyVGhlbWVTZXR0aW5ncyA9IHtcclxuICAgICAgaGVhZGVyQ29sb3I6ICcnLFxyXG4gICAgICBoZWFkZXJEcm9wU2hhZG93OiB0cnVlLFxyXG4gICAgICBhdXRob3JpemF0aW9uQnV0dG9uQ29sb3I6ICdyZ2IoMTEsIDgxLCAxNTYpJyxcclxuICAgICAgYXV0aG9yaXphdGlvbkJ1dHRvbkJhY2tncm91bmQ6ICdyZ2IoMTk5LCAyMTksIDI0MCknXHJcbiAgICB9O1xyXG4gICAgdGhpcy5oZWFkZXJBdXRoU2V0dGluZ3MgPSB7XHJcbiAgICAgIGNsaWVudElkOiAnJyxcclxuICAgICAgaXNzdWVyOiAnJyxcclxuICAgICAgc2NvcGU6ICdvcGVuaWQgcHJvZmlsZScsXHJcbiAgICAgIGxvZ0luVGV4dDogJ1NJR04gSU4nLFxyXG4gICAgICBsb2dPdXRUZXh0OiAnU0lHTiBPVVQnLFxyXG4gICAgICByZWRpcmVjdFVyaTogJ2h0dHA6Ly9sb2NhbGhvc3Q6NDIwMC8nLFxyXG4gICAgICBza2lwSXNzdWVyQ2hlY2s6IHRydWUsXHJcbiAgICAgIHBvc3RMb2dPdXRVcmw6ICdodHRwOi8vbG9jYWxob3N0OjQyMDAvJyxcclxuICAgICAgbG9naW5Vcmw6ICcnLFxyXG4gICAgICByZXR1cm5Sb3V0ZTogJycsXHJcbiAgICAgIHRpbWVvdXRGYWN0b3I6IDksXHJcbiAgICAgIG15QWNjb3VudFRleHQ6ICdNeSBBY2NvdW50JyxcclxuICAgICAgYXV0aFNldE9uU3RhcnR1cDogZmFsc2UsXHJcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2NvZGUnXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIG5hdmlnYXRpb25cclxuICAgIHRoaXMubmF2aWdhdGlvblNldHRpbmdzID0ge1xyXG4gICAgICBtYWluTWVudVRleHQ6ICdNQUlOIE1FTlUnLFxyXG4gICAgICBoZWFkZXJIZWlnaHQ6IDY0LFxyXG4gICAgICBtZW51QnV0dG9uU1JUZXh0OiAnTmF2aWdhdGlvbiBNZW51IEJ1dHRvbicsXHJcbiAgICAgIG1heENvbnRlbnRXaWR0aERlc2t0b3A6IDEwMCxcclxuICAgICAgbWF4Q29udGVudFdpZHRoTW9iaWxlOiAxMDBcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICAvKiogR2V0cyB0aGUgZXhhbXBsZSBuYXZpZ2F0aW9uIG5vZGVzICovXHJcbiAgcHJpdmF0ZSBnZXRFeGFtcGxlTmF2Tm9kZXMoKTogQXJyYXk8TmF2Tm9kZT4ge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAge1xyXG4gICAgICAgIHRleHQ6ICdkZW1vLm5hdl8xJyxcclxuICAgICAgICBmb250QXdlc29tZUljb246ICdmYWQgZmEtaG9tZScsXHJcbiAgICAgICAgcm91dGU6ICcvb3ZlcnZpZXcnLFxyXG4gICAgICAgIHN1Yk5vZGVzOiBbXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ2RlbW8ubmF2XzInLFxyXG4gICAgICAgIGZvbnRBd2Vzb21lSWNvbjogJ2ZhZCBmYS1maWxlLWFsdCcsXHJcbiAgICAgICAgcm91dGU6ICcvZG9jdW1lbnRzJyxcclxuICAgICAgICBzdWJOb2RlczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0ZXh0OiAnZGVtby5uYXZfMmEnLFxyXG4gICAgICAgICAgICByb3V0ZTogJy9kb2N1bWVudHMvaW52b2ljZSdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRleHQ6ICdkZW1vLm5hdl8yYicsXHJcbiAgICAgICAgICAgIHJvdXRlOiAnL2RvY3VtZW50cy9ub3RpY2UnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0ZXh0OiAnZGVtby5uYXZfMmMnLFxyXG4gICAgICAgICAgICByb3V0ZTogJy90YXgnXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ1BBWU1FTlRTJyxcclxuICAgICAgICBmb250QXdlc29tZUljb246ICdmYWQgZmEtZG9sbGFyLXNpZ24nLFxyXG4gICAgICAgIHN1Yk5vZGVzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRleHQ6ICdNYWtlIGEgUGF5bWVudCcsXHJcbiAgICAgICAgICAgIHJvdXRlOiAnL3BheW1lbnQnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0ZXh0OiAnQXV0b3BheScsXHJcbiAgICAgICAgICAgIHJvdXRlOiAnL2F1dG9wYXknXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0ZXh0OiAnU2NoZWR1bGVkIFBheW1lbnRzJyxcclxuICAgICAgICAgICAgcm91dGU6ICcvc2NoZWR1bGVkJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGV4dDogJ1BheW1lbnQgSGlzdG9yeScsXHJcbiAgICAgICAgICAgIHJvdXRlOiAnL2hpc3RvcnknXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0ZXh0OiAnTXkgUGF5bWVudCBNZXRob2RzJyxcclxuICAgICAgICAgICAgcm91dGU6ICcvcGF5bWVudC1tZXRob2RzJ1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRleHQ6ICdTRVJWSUNFIFJFUVVFU1QnLFxyXG4gICAgICAgIGZvbnRBd2Vzb21lSWNvbjogJ2ZhZCBmYS1oYW5kcy1oZWxwaW5nJyxcclxuICAgICAgICByb3V0ZTogJy9zZXJ2aWNlLXJlcXVlc3RzJyxcclxuICAgICAgICBzdWJOb2RlczogW11cclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRleHQ6ICdQQVBFUkxFU1MgU0VUVElOR1MnLFxyXG4gICAgICAgIGZvbnRBd2Vzb21lSWNvbjogJ2ZhZCBmYS1sZWFmLWhlYXJ0JyxcclxuICAgICAgICByb3V0ZTogJy9wYXBlcmxlc3MnLFxyXG4gICAgICAgIHN1Yk5vZGVzOiBbXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ0ZBUXMnLFxyXG4gICAgICAgIGZvbnRBd2Vzb21lSWNvbjogJ2ZhZCBmYS1xdWVzdGlvbicsXHJcbiAgICAgICAgcm91dGU6ICcvZmFxcycsXHJcbiAgICAgICAgc3ViTm9kZXM6IFtdXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0ZXh0OiAnTGFuZ3VhZ2UgSGVscCcsXHJcbiAgICAgICAgZm9udEF3ZXNvbWVJY29uOiAnZmFyIGZhLWxhbmd1YWdlJyxcclxuICAgICAgICByb3V0ZTogJy9sYW5ndWFnZS1oZWxwJyxcclxuICAgICAgICBzdWJOb2RlczogW11cclxuICAgICAgfV07XHJcbiAgfVxyXG5cclxuICAvKiogQXNzaWducyB0aGUgZGVmYXVsdCBuYXZpZ2F0aW9uIHRoZW1lICovXHJcbiAgcHJpdmF0ZSBhc3NpZ25EZWZhdWx0TmF2VGhlbWUoY29uZmlnOiBCYXNlQ29uZmlnKTogdm9pZCB7XHJcbiAgICBjb25zdCBkZWZhdWx0TmF2VGhlbWUgPSB7XHJcbiAgICAgIGJnR3JhZGllbnRDb2xvcjE6ICcjZmZmJyxcclxuICAgICAgYmdHcmFkaWVudENvbG9yMjogJyNmZmYnLFxyXG4gICAgICBib3JkZXJSaWdodENvbG9yOiAndHJhbnNwYXJlbnQnLFxyXG4gICAgICBjb250ZW50QmdDb2xvcjogJyNlY2VjZWMnLFxyXG4gICAgICBmb250Q29sb3I6ICcjMDAwJyxcclxuICAgICAgaGlnaGxpZ2h0R3JhZGllbnQxOiAncmdiKDE5OSwgMjE5LCAyNDApJyxcclxuICAgICAgaGlnaGxpZ2h0R3JhZGllbnQyOiAncmdiKDExLCA4MSwgMTU2KScsXHJcbiAgICAgIGxpc3RCb3JkZXJDb2xvcjogJyNDRkQ4REMnLFxyXG4gICAgICBzdWJIaWdobGlnaHRCZ0NvbG9yOiAncmdiYSgyNTUsMjU1LDI1NSwgLjIwKScsXHJcbiAgICAgIHN1YkhpZ2hsaWdodEJvcmRlckNvbG9yOiAnIzAwQUNDMSdcclxuICAgIH07XHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMubmF2aWdhdGlvblRoZW1lLCBkZWZhdWx0TmF2VGhlbWUpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGhlYWRlciAqbmdJZj1cIiFpc0ZlZGVyYXRlZE1vZHVsZVwiPlxyXG4gIDxzb2YtYXItaGVhZGVyIFtzZXR0aW5nc109XCJoZWFkZXJTZXR0aW5nc1wiIFt0aGVtZVNldHRpbmdzXT1cImhlYWRlclRoZW1lU2V0dGluZ3NcIiBbYXV0aFNldHRpbmdzXT1cImhlYWRlckF1dGhTZXR0aW5nc1wiXHJcbiAgICAgICAgICAgICAgICAgKHNldExhbmd1YWdlJCk9XCJhcHBseUxhbmd1YWdlKClcIiBbY3VycmVudExhbmddPVwiY3VycmVudExhbmdcIj5cclxuICAgIDxuZy1jb250YWluZXIgc29mLWFyLWhlYWRlci1sZWZ0PlxyXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc29mLWFyLWhlYWRlci1sZWZ0XVwiPjwvbmctY29udGVudD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciBzb2YtYXItaGVhZGVyLWNlbnRlcj5cclxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NvZi1hci1oZWFkZXItY2VudGVyXVwiPjwvbmctY29udGVudD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciBzb2YtYXItaGVhZGVyLXJpZ2h0PlxyXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc29mLWFyLWhlYWRlci1yaWdodF1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgc29mLWhlYWRlci11c2VyLW1lbnU+XHJcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzb2YtaGVhZGVyLXVzZXItbWVudV1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L3NvZi1hci1oZWFkZXI+XHJcbjwvaGVhZGVyPlxyXG48bmctY29udGVudCBzZWxlY3Q9XCJbc29mLWFyLXRlbXBsYXRlLWNvbnRlbnRdXCI+IDwvbmctY29udGVudD5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRmVkZXJhdGVkTW9kdWxlXCI+XHJcbiAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxyXG48L25nLWNvbnRhaW5lcj5cclxuPHNvZi1hci1uYXZpZ2F0aW9uICpuZ0lmPVwiIWlzRmVkZXJhdGVkTW9kdWxlXCIgW25hdmlnYXRpb25EYXRhXT1cIm5hdmlnYXRpb25Ob2Rlc1wiIFtzZXR0aW5nc109XCJuYXZpZ2F0aW9uU2V0dGluZ3NcIlxyXG4gICAgICAgICAgICAgICAgICAgW2FkdmFuY2VkU2V0dGluZ3NdPVwibmF2aWdhdGlvbkFkdmFuY2VkU2V0dGluZ3NcIiBbdGhlbWVTZXR0aW5nc109XCJuYXZpZ2F0aW9uVGhlbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgW2xhbmd1YWdlU2V0dGluZ3NdPVwibGFuZ3VhZ2VTZXR0aW5nc1wiIFtjdXJyZW50TGFuZ109XCJjdXJyZW50TGFuZ1wiIChzZXRMYW5ndWFnZSQpPVwiYXBwbHlMYW5ndWFnZSgpXCJcclxuICAgICAgICAgICAgICAgICAgIFtsb2dPdXRUZXh0XT1cImxvZ091dFRleHRcIj5cclxuICA8bmctY29udGFpbmVyIHNvZi1hci1uYXYtY29udGVudD5cclxuICAgIDxzb2YtYXItYWxlcnQtYmFubmVyIGNsYXNzPVwic29mLWFyLWFsZXJ0LWJhbm5lci1jb250YWluZXJcIj48L3NvZi1hci1hbGVydC1iYW5uZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic29mLWFyLW5hdi1jb250YWluZXJcIiBmeExheW91dD1cImNvbHVtblwiIGZ4TGF5b3V0PVwic3RhcnQgc3RyZXRjaFwiIHN0eWxlPVwiaGVpZ2h0OiAxMDAlO1wiPlxyXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc29mLWFyLW5hdi1jb250ZW50LWhlYWRlcl1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzb2YtYXItbmF2LWNvbnRlbnQtY29udGFpbmVyXCIgZnhGbGV4PVwiMSAwIDEwMCVcIj5cclxuICAgICAgICA8bWFpbiBbbmdTdHlsZS5sdC1tZF09XCJ7J21heC13aWR0aCc6bmF2aWdhdGlvblNldHRpbmdzPy5tYXhDb250ZW50V2lkdGhNb2JpbGUrJyUnfVwiXHJcbiAgICAgICAgICAgICAgW25nU3R5bGUuZ3Qtc21dPVwieydtYXgtd2lkdGgnOm5hdmlnYXRpb25TZXR0aW5ncz8ubWF4Q29udGVudFdpZHRoRGVza3RvcCsnJSd9XCIgY2xhc3M9XCJtYWluLWNvbnRlbnRcIj5cclxuICAgICAgICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cclxuICAgICAgICA8L21haW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGZ4RmxleD1cImF1dG9cIiBmeExheW91dEFsaWduPVwiZW5kIGVuZFwiPlxyXG4gICAgICAgIDxzb2YtYXItZm9vdGVyIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgW2Zvb3RlckNvbmZpZ109XCJ7IHNob3dQcmVDb250ZW50MTogZmFsc2UsIHNob3dQcmVDb250ZW50MjogZmFsc2UgfVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBzb2YtYXItZm9vdGVyLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzb2YtYXItZm9vdGVyLWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9zb2YtYXItZm9vdGVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgc29mLWFyLW5hdi1tb2JpbGUtZm9vdGVyPlxyXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NvZi1hci1uYXYtbW9iaWxlLWZvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvc29mLWFyLW5hdmlnYXRpb24+XHJcbiJdfQ==
266
+ }], ctorParameters: () => [{ type: i1.BaseConfigService }, { type: i2.TranslateService }, { type: i3.FederatedModuleService }, { type: i4.Router }, { type: i5.OAuthService }] });
267
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXRlbXBsYXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvY29yZS9jb21wb25lbnRzL2FwcC10ZW1wbGF0ZS9hcHAtdGVtcGxhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJtYXR1cmUvc3JjL2xpYi9jb3JlL2NvbXBvbmVudHMvYXBwLXRlbXBsYXRlL2FwcC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBWWxELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7Ozs7Ozs7OztBQUtoRixpQ0FBaUM7QUFNakMsTUFBTSxPQUFPLG9CQUFvQjtJQWdDL0IsdUJBQXVCO0lBQ3ZCLElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUM7SUFDNUMsQ0FBQztJQUVELGlDQUFpQztJQUNqQyxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUtEOzs7Ozs7O09BT0c7SUFDSCxZQUNtQixhQUFnQyxFQUNoQyxnQkFBa0MsRUFDbEMsc0JBQThDLEVBQzlDLE1BQWMsRUFDZCxZQUEwQjtRQUoxQixrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxpQkFBWSxHQUFaLFlBQVks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QUFvQiwyREN2QmpDLDJtRkFnREE7OzJGRHpCYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEhlYWRlckF1dGhTZXR0aW5ncyB9IGZyb20gJy4uLy4uLy4uL2hlYWRlci9tb2RlbHMvaGVhZGVyLWF1dGguc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBIZWFkZXJMYW5ndWFnZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vLi4vaGVhZGVyL21vZGVscy9oZWFkZXItbGFuZ3VhZ2Uuc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBIZWFkZXJUaGVtZVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vLi4vaGVhZGVyL21vZGVscy9oZWFkZXItdGhlbWUuc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBIZWFkZXJTZXR0aW5ncyB9IGZyb20gJy4uLy4uLy4uL2hlYWRlci9tb2RlbHMvaGVhZGVyLnNldHRpbmdzJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkFkdmFuY2VkU2V0dGluZ3MsIE5hdmlnYXRpb25TZXR0aW5ncywgTmF2aWdhdGlvblRoZW1lU2V0dGluZ3MsIE5hdk5vZGUgfSBmcm9tICcuLi8uLi8uLi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tYXBpJztcclxuaW1wb3J0IHsgcm91dGVUb1ByZUxvZ2luUm91dGUgfSBmcm9tICcuLi8uLi9mdW5jdGlvbnMvcm91dGUtdG8tcHJlLWxvZ2luLXJvdXRlJztcclxuaW1wb3J0IHsgQmFzZUNvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9iYXNlLWNvbmZpZyc7XHJcbmltcG9ydCB7IEJhc2VDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYmFzZS1jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IEZlZGVyYXRlZE1vZHVsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mZWRlcmF0ZWQtbW9kdWxlLnNlcnZpY2UnO1xyXG5cclxuLyoqIFRoZSBhcHAgdGVtcGxhdGUgY29tcG9uZW50ICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc29mLWFyLWFwcC10ZW1wbGF0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FwcC10ZW1wbGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYXBwLXRlbXBsYXRlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcFRlbXBsYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgLyoqIFRoZSBjb25maWcgb2JzZXJ2YWJsZSAqL1xyXG4gIHB1YmxpYyBjb25maWckOiBPYnNlcnZhYmxlPEJhc2VDb25maWc+O1xyXG5cclxuICAvKiogVGhlIGhlYWRlciBzZXR0aW5ncyAqL1xyXG4gIHB1YmxpYyBoZWFkZXJTZXR0aW5nczogSGVhZGVyU2V0dGluZ3MgPSB7fTtcclxuXHJcbiAgLyoqIFRoZSBoZWFkZXIgdGhlbWUgc2V0dGluZ3MgKi9cclxuICBwdWJsaWMgaGVhZGVyVGhlbWVTZXR0aW5nczogSGVhZGVyVGhlbWVTZXR0aW5ncyA9IHt9O1xyXG5cclxuICAvKiogVGhlIGhlYWRlciBhdXRoIHNldHRpbmdzICovXHJcbiAgcHVibGljIGhlYWRlckF1dGhTZXR0aW5nczogSGVhZGVyQXV0aFNldHRpbmdzID0ge30gYXMgYW55O1xyXG5cclxuICAvKiogdGhlIG5hdmlnYXRpb24gdGhlbWUgc2V0dGluZ3MgKi9cclxuICBwdWJsaWMgbmF2aWdhdGlvblRoZW1lOiBOYXZpZ2F0aW9uVGhlbWVTZXR0aW5ncyA9IHt9O1xyXG5cclxuICAvKiogVGhlIG5hdmlnYXRpb24gc2V0dGluZ3MgKi9cclxuICBwdWJsaWMgbmF2aWdhdGlvblNldHRpbmdzOiBOYXZpZ2F0aW9uU2V0dGluZ3MgPSB7fTtcclxuXHJcbiAgLyoqIFRoZSBuYXZpZ2F0aW9uIG5vZGVzICovXHJcbiAgcHVibGljIG5hdmlnYXRpb25Ob2RlczogQXJyYXk8TmF2Tm9kZT4gPSBbXTtcclxuXHJcbiAgLyoqIFRoZSBuYXZpZ2F0aW9uIGFkdmFuY2VkIHNldHRpbmdzICovXHJcbiAgcHVibGljIG5hdmlnYXRpb25BZHZhbmNlZFNldHRpbmdzOiBOYXZpZ2F0aW9uQWR2YW5jZWRTZXR0aW5ncyA9IHt9O1xyXG5cclxuICAvKiogVGhlIGxhbmd1YWdlIHNldHRpbmdzICovXHJcbiAgcHVibGljIGxhbmd1YWdlU2V0dGluZ3M6IEhlYWRlckxhbmd1YWdlU2V0dGluZ3MgPSB7fTtcclxuXHJcbiAgLyoqIFRoZSBjdXJyZW50IGxhbmd1YWdlICovXHJcbiAgcHVibGljIGN1cnJlbnRMYW5nOiBzdHJpbmc7XHJcblxyXG4gIC8qKiBUaGUgbG9nIG91dCB0ZXh0ICovXHJcbiAgcHVibGljIGdldCBsb2dPdXRUZXh0KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5oZWFkZXJBdXRoU2V0dGluZ3MubG9nT3V0VGV4dDtcclxuICB9XHJcblxyXG4gIC8qKiBnZXRzIHRoZSBub24gdXNlZCBsYW5ndWFnZSAqL1xyXG4gIHB1YmxpYyBnZXQgb3RoZXJMYW5nVGV4dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VTZXR0aW5ncz8ubGFuZ3VhZ2VzPy5maW5kKHggPT4geCAhPT0gdGhpcy5jdXJyZW50TGFuZyk7XHJcbiAgfVxyXG5cclxuICAvKiogVHJ1ZSB3aGVuIHRoZSBhcHBsaWNhdGlvbiBpcyBydW5uaW5nIGFzIGEgZmVkZXJhdGVkIG1vZHVsZSAqL1xyXG4gIHB1YmxpYyBpc0ZlZGVyYXRlZE1vZHVsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBDb25zdHJ1Y3RzIHRoZSBjb21wb25lbnRcclxuICAgKiBAcGFyYW0gY29uZmlnU2VydmljZSBUaGUgY29uZmlnIHNlcnZpY2VcclxuICAgKiBAcGFyYW0gdHJhbnNsYXRlU2VydmljZSBUaGUgdHJhbnNsYXRlIHNlcnZpY2VcclxuICAgKiBAcGFyYW0gZmVkZXJhdGVkTW9kdWxlU2VydmljZSBUaGUgZmVkZXJhdGVkIG1vZHVsZSBzZXJ2aWNlXHJcbiAgICogQHBhcmFtIHJvdXRlciBUaGUgcm91dGVyXHJcbiAgICogQHBhcmFtIG9hdXRoU2VydmljZSBUaGUgT0F1dGggc2VydmljZVxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBCYXNlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmVkZXJhdGVkTW9kdWxlU2VydmljZTogRmVkZXJhdGVkTW9kdWxlU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9hdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICAvKiogTGlmZSBjeWNsZSBob29rIGZvciBjb21wb25lbnQgaW5pdGlhbGl6YXRpb24gKi9cclxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRmVkZXJhdGVkTW9kdWxlID0gdGhpcy5mZWRlcmF0ZWRNb2R1bGVTZXJ2aWNlLmlzRmVkZXJhdGVkTW9kdWxlO1xyXG4gICAgdGhpcy5jb25maWckID0gdGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZyQ7XHJcbiAgICB0aGlzLnNldERlZmF1bHRzKCk7XHJcbiAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnJC5zdWJzY3JpYmUoY29uZmlnID0+IHtcclxuICAgICAgaWYgKGNvbmZpZy5vQXV0aFNldHRpbmdzLnByZXNlcnZlUmVxdWVzdGVkUm91dGUgJiYgdGhpcy5vYXV0aFNlcnZpY2UuaGFzVmFsaWRBY2Nlc3NUb2tlbigpKSB7XHJcbiAgICAgICAgcm91dGVUb1ByZUxvZ2luUm91dGUodGhpcy5yb3V0ZXIpO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIG9iamVjdCBhc3NpZ24gaXMgdXNlZCBoZXJlIHNvIHRoZSBoZWFkZXIgZG9lc24ndCBoYXZlIHRvIHJlIHJlbmRlciB3aXRoIHRoZSBuZXcgb2JqZWN0IHJlZmVyZW5jZVxyXG4gICAgICAvLyBoZWFkZXJcclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLmhlYWRlclNldHRpbmdzLCBjb25maWc/LmhlYWRlcj8uc2V0dGluZ3MpO1xyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuaGVhZGVyVGhlbWVTZXR0aW5ncywgY29uZmlnPy5oZWFkZXI/LnRoZW1lKTtcclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLmhlYWRlckF1dGhTZXR0aW5ncywgY29uZmlnPy5vQXV0aFNldHRpbmdzKTtcclxuXHJcbiAgICAgIC8vIG5hdmlnYXRpb25cclxuICAgICAgdGhpcy5uYXZpZ2F0aW9uTm9kZXMgPSBjb25maWc/Lm5hdmlnYXRpb24/Lm5vZGVzIHx8IHRoaXMuZ2V0RXhhbXBsZU5hdk5vZGVzKCk7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5uYXZpZ2F0aW9uU2V0dGluZ3MsIGNvbmZpZz8ubmF2aWdhdGlvbj8uc2V0dGluZ3MpO1xyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMubmF2aWdhdGlvbkFkdmFuY2VkU2V0dGluZ3MsIGNvbmZpZz8ubmF2aWdhdGlvbj8uYWR2YW5jZWQpO1xyXG4gICAgICB0aGlzLmFzc2lnbkRlZmF1bHROYXZUaGVtZShjb25maWcpO1xyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMubmF2aWdhdGlvblRoZW1lLCBjb25maWc/Lm5hdmlnYXRpb24/LnRoZW1lKTtcclxuXHJcbiAgICAgIC8vIHNldCBkZXBlbmRlbnQgdmFsdWVcclxuICAgICAgdGhpcy5oZWFkZXJTZXR0aW5ncy5hcm1hdHVyZU5hdmlnYXRpb24gPSAhdGhpcy5uYXZpZ2F0aW9uU2V0dGluZ3MuaGlkZU5hdmlnYXRpb247XHJcbiAgICAgIFxyXG4gICAgICBpZiAodGhpcy5uYXZpZ2F0aW9uU2V0dGluZ3MubWVudVN0eWxlID09PSAncHJvZ3Jlc3MnIHx8IHRoaXMubmF2aWdhdGlvblNldHRpbmdzLmhpZGVOYXZpZ2F0aW9uKSB7XHJcbiAgICAgICAgdGhpcy5oZWFkZXJTZXR0aW5ncy5jcmVhdGVTcGFjZUZvck5hdlRvZ2dsZSA9IHRoaXMubmF2aWdhdGlvblNldHRpbmdzLmFsbG93TmF2VG9nZ2xlID0gZmFsc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIFNldCBib3RoIG5hdmlnYXRpb24gdG9nZ2xlIHNldHRpbmdzIHRvIHRydWUgaWYgZWl0aGVyIGlzIHRydWVcclxuICAgICAgaWYgKHRoaXMuaGVhZGVyU2V0dGluZ3MuY3JlYXRlU3BhY2VGb3JOYXZUb2dnbGUgfHwgdGhpcy5uYXZpZ2F0aW9uU2V0dGluZ3MuYWxsb3dOYXZUb2dnbGUpIHtcclxuICAgICAgICB0aGlzLmhlYWRlclNldHRpbmdzLmNyZWF0ZVNwYWNlRm9yTmF2VG9nZ2xlID0gdGhpcy5uYXZpZ2F0aW9uU2V0dGluZ3MuYWxsb3dOYXZUb2dnbGUgPSB0cnVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLnNldExhbmd1YWdlT3B0aW9ucygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBcHBsaWVzIHRoZSBsYW5ndWFnZSB0byB0aGUgdHJhbnNsYXRlIHNlcnZpY2VcclxuICAgKiBAcGFyYW0gbGFuZyB0aGUgbGFuZ3VhZ2VcclxuICAgKi9cclxuICBwdWJsaWMgYXBwbHlMYW5ndWFnZShsYW5nPzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAoIWxhbmcpIHtcclxuICAgICAgbGFuZyA9IHRoaXMub3RoZXJMYW5nVGV4dDtcclxuICAgIH1cclxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS51c2UobGFuZyk7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcgPSBsYW5nO1xyXG4gICAgdGhpcy5jdXJyZW50TGFuZyA9IGxhbmc7XHJcbiAgfVxyXG5cclxuICAvKiogU2V0IHRoZSBsYW5ndWFnZSBvcHRpb25zICovXHJcbiAgcHJpdmF0ZSBzZXRMYW5ndWFnZU9wdGlvbnMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5oZWFkZXJTZXR0aW5ncy5sYW5ndWFnZVNldHRpbmdzKSB7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5sYW5ndWFnZVNldHRpbmdzLCB0aGlzLmhlYWRlclNldHRpbmdzLmxhbmd1YWdlU2V0dGluZ3MpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubGFuZ3VhZ2VTZXR0aW5ncy5kZWZhdWx0TGFuZ3VhZ2UgPSB0aGlzLmxhbmd1YWdlU2V0dGluZ3MuZGVmYXVsdExhbmd1YWdlIHx8ICdlbic7XHJcbiAgICB0aGlzLmxhbmd1YWdlU2V0dGluZ3MuZGlzcGxheUxhbmd1YWdlT3B0aW9ucyA9IHRoaXMubGFuZ3VhZ2VTZXR0aW5ncy5kaXNwbGF5TGFuZ3VhZ2VPcHRpb25zIHx8IGZhbHNlO1xyXG4gICAgdGhpcy5sYW5ndWFnZVNldHRpbmdzLmxhbmd1YWdlcyA9IHRoaXMubGFuZ3VhZ2VTZXR0aW5ncy5sYW5ndWFnZXMgfHwgWydlbicsICdlcyddO1xyXG4gICAgdGhpcy5sYW5ndWFnZVNldHRpbmdzLmJ1dHRvblRleHQgPSB0aGlzLmxhbmd1YWdlU2V0dGluZ3MuYnV0dG9uVGV4dCB8fCAnTGFuZ3VhZ2VzJztcclxuXHJcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuYWRkTGFuZ3ModGhpcy5sYW5ndWFnZVNldHRpbmdzLmxhbmd1YWdlcyk7XHJcbiAgICB0aGlzLmN1cnJlbnRMYW5nID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nO1xyXG4gICAgdGhpcy5oZWFkZXJTZXR0aW5ncy5sYW5ndWFnZVNldHRpbmdzID0gdGhpcy5sYW5ndWFnZVNldHRpbmdzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXREZWZhdWx0cygpOiB2b2lkIHtcclxuICAgIC8vIGhlYWRlclxyXG4gICAgdGhpcy5oZWFkZXJTZXR0aW5ncyA9IHtcclxuICAgICAgYXJtYXR1cmVOYXZpZ2F0aW9uOiB0cnVlLFxyXG4gICAgICBjcmVhdGVTcGFjZUZvck5hdlRvZ2dsZTogdHJ1ZSxcclxuICAgICAgZGlzcGxheUxvZ286IHRydWUsXHJcbiAgICAgIGxvZ29Vcmw6ICdodHRwczovL3NvZnRoZW9uY2Ruc3RvcmFnZS5ibG9iLmNvcmUud2luZG93cy5uZXQvaW1hZ2VzL3NvZnRoZW9uL2xvZ28uc3ZnJyxcclxuICAgICAgbG9nb0FsdFRleHQ6ICd0aGUgZXhhbXBsZSBwb3J0YWwgaGVhZGVyIGxvZ28nLFxyXG4gICAgICBkaXNwbGF5TG9nb1RleHQ6IGZhbHNlLFxyXG4gICAgICBkaXNwbGF5RHJvcERvd25NZW51OiBmYWxzZSxcclxuICAgICAgZHJvcERvd25BcmlhVGV4dDogJ3RoZSBoZWFkZXIgZHJvcCBkb3duIG1lbnUgYnV0dG9uIGljb24nLFxyXG4gICAgICBkcm9wRG93bk1lbnVTUlRleHQ6ICd0aGUgaGVhZGVyIGFjY291bnQgYnV0dG9uIGRyb3AgZG93biBvcHRpb25zJyxcclxuICAgICAgZGlzcGxheUF1dGhJbmZvOiB0cnVlLFxyXG4gICAgICBsYW5ndWFnZVNldHRpbmdzOiB7XHJcbiAgICAgICAgZGlzcGxheUxhbmd1YWdlT3B0aW9uczogdHJ1ZVxyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgdGhpcy5oZWFkZXJUaGVtZVNldHRpbmdzID0ge1xyXG4gICAgICBoZWFkZXJDb2xvcjogJycsXHJcbiAgICAgIGhlYWRlckRyb3BTaGFkb3c6IHRydWUsXHJcbiAgICAgIGF1dGhvcml6YXRpb25CdXR0b25Db2xvcjogJ3JnYigxMSwgODEsIDE1NiknLFxyXG4gICAgICBhdXRob3JpemF0aW9uQnV0dG9uQmFja2dyb3VuZDogJ3JnYigxOTksIDIxOSwgMjQwKSdcclxuICAgIH07XHJcbiAgICB0aGlzLmhlYWRlckF1dGhTZXR0aW5ncyA9IHtcclxuICAgICAgY2xpZW50SWQ6ICcnLFxyXG4gICAgICBpc3N1ZXI6ICcnLFxyXG4gICAgICBzY29wZTogJ29wZW5pZCBwcm9maWxlJyxcclxuICAgICAgbG9nSW5UZXh0OiAnU0lHTiBJTicsXHJcbiAgICAgIGxvZ091dFRleHQ6ICdTSUdOIE9VVCcsXHJcbiAgICAgIHJlZGlyZWN0VXJpOiAnaHR0cDovL2xvY2FsaG9zdDo0MjAwLycsXHJcbiAgICAgIHNraXBJc3N1ZXJDaGVjazogdHJ1ZSxcclxuICAgICAgcG9zdExvZ091dFVybDogJ2h0dHA6Ly9sb2NhbGhvc3Q6NDIwMC8nLFxyXG4gICAgICBsb2dpblVybDogJycsXHJcbiAgICAgIHJldHVyblJvdXRlOiAnJyxcclxuICAgICAgdGltZW91dEZhY3RvcjogOSxcclxuICAgICAgbXlBY2NvdW50VGV4dDogJ015IEFjY291bnQnLFxyXG4gICAgICBhdXRoU2V0T25TdGFydHVwOiBmYWxzZSxcclxuICAgICAgcmVzcG9uc2VUeXBlOiAnY29kZSdcclxuICAgIH07XHJcblxyXG4gICAgLy8gbmF2aWdhdGlvblxyXG4gICAgdGhpcy5uYXZpZ2F0aW9uU2V0dGluZ3MgPSB7XHJcbiAgICAgIG1haW5NZW51VGV4dDogJ01BSU4gTUVOVScsXHJcbiAgICAgIGhlYWRlckhlaWdodDogNjQsXHJcbiAgICAgIG1lbnVCdXR0b25TUlRleHQ6ICdOYXZpZ2F0aW9uIE1lbnUgQnV0dG9uJyxcclxuICAgICAgbWF4Q29udGVudFdpZHRoRGVza3RvcDogMTAwLFxyXG4gICAgICBtYXhDb250ZW50V2lkdGhNb2JpbGU6IDEwMFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKiBHZXRzIHRoZSBleGFtcGxlIG5hdmlnYXRpb24gbm9kZXMgKi9cclxuICBwcml2YXRlIGdldEV4YW1wbGVOYXZOb2RlcygpOiBBcnJheTxOYXZOb2RlPiB7XHJcbiAgICByZXR1cm4gW1xyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ2RlbW8ubmF2XzEnLFxyXG4gICAgICAgIGZvbnRBd2Vzb21lSWNvbjogJ2ZhZCBmYS1ob21lJyxcclxuICAgICAgICByb3V0ZTogJy9vdmVydmlldycsXHJcbiAgICAgICAgc3ViTm9kZXM6IFtdXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0ZXh0OiAnZGVtby5uYXZfMicsXHJcbiAgICAgICAgZm9udEF3ZXNvbWVJY29uOiAnZmFkIGZhLWZpbGUtYWx0JyxcclxuICAgICAgICByb3V0ZTogJy9kb2N1bWVudHMnLFxyXG4gICAgICAgIHN1Yk5vZGVzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRleHQ6ICdkZW1vLm5hdl8yYScsXHJcbiAgICAgICAgICAgIHJvdXRlOiAnL2RvY3VtZW50cy9pbnZvaWNlJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGV4dDogJ2RlbW8ubmF2XzJiJyxcclxuICAgICAgICAgICAgcm91dGU6ICcvZG9jdW1lbnRzL25vdGljZSdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRleHQ6ICdkZW1vLm5hdl8yYycsXHJcbiAgICAgICAgICAgIHJvdXRlOiAnL3RheCdcclxuICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0ZXh0OiAnUEFZTUVOVFMnLFxyXG4gICAgICAgIGZvbnRBd2Vzb21lSWNvbjogJ2ZhZCBmYS1kb2xsYXItc2lnbicsXHJcbiAgICAgICAgc3ViTm9kZXM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGV4dDogJ01ha2UgYSBQYXltZW50JyxcclxuICAgICAgICAgICAgcm91dGU6ICcvcGF5bWVudCdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRleHQ6ICdBdXRvcGF5JyxcclxuICAgICAgICAgICAgcm91dGU6ICcvYXV0b3BheSdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRleHQ6ICdTY2hlZHVsZWQgUGF5bWVudHMnLFxyXG4gICAgICAgICAgICByb3V0ZTogJy9zY2hlZHVsZWQnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0ZXh0OiAnUGF5bWVudCBIaXN0b3J5JyxcclxuICAgICAgICAgICAgcm91dGU6ICcvaGlzdG9yeSdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRleHQ6ICdNeSBQYXltZW50IE1ldGhvZHMnLFxyXG4gICAgICAgICAgICByb3V0ZTogJy9wYXltZW50LW1ldGhvZHMnXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ1NFUlZJQ0UgUkVRVUVTVCcsXHJcbiAgICAgICAgZm9udEF3ZXNvbWVJY29uOiAnZmFkIGZhLWhhbmRzLWhlbHBpbmcnLFxyXG4gICAgICAgIHJvdXRlOiAnL3NlcnZpY2UtcmVxdWVzdHMnLFxyXG4gICAgICAgIHN1Yk5vZGVzOiBbXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ1BBUEVSTEVTUyBTRVRUSU5HUycsXHJcbiAgICAgICAgZm9udEF3ZXNvbWVJY29uOiAnZmFkIGZhLWxlYWYtaGVhcnQnLFxyXG4gICAgICAgIHJvdXRlOiAnL3BhcGVybGVzcycsXHJcbiAgICAgICAgc3ViTm9kZXM6IFtdXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0ZXh0OiAnRkFRcycsXHJcbiAgICAgICAgZm9udEF3ZXNvbWVJY29uOiAnZmFkIGZhLXF1ZXN0aW9uJyxcclxuICAgICAgICByb3V0ZTogJy9mYXFzJyxcclxuICAgICAgICBzdWJOb2RlczogW11cclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRleHQ6ICdMYW5ndWFnZSBIZWxwJyxcclxuICAgICAgICBmb250QXdlc29tZUljb246ICdmYXIgZmEtbGFuZ3VhZ2UnLFxyXG4gICAgICAgIHJvdXRlOiAnL2xhbmd1YWdlLWhlbHAnLFxyXG4gICAgICAgIHN1Yk5vZGVzOiBbXVxyXG4gICAgICB9XTtcclxuICB9XHJcblxyXG4gIC8qKiBBc3NpZ25zIHRoZSBkZWZhdWx0IG5hdmlnYXRpb24gdGhlbWUgKi9cclxuICBwcml2YXRlIGFzc2lnbkRlZmF1bHROYXZUaGVtZShjb25maWc6IEJhc2VDb25maWcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRlZmF1bHROYXZUaGVtZSA9IHtcclxuICAgICAgYmdHcmFkaWVudENvbG9yMTogJyNmZmYnLFxyXG4gICAgICBiZ0dyYWRpZW50Q29sb3IyOiAnI2ZmZicsXHJcbiAgICAgIGJvcmRlclJpZ2h0Q29sb3I6ICd0cmFuc3BhcmVudCcsXHJcbiAgICAgIGNvbnRlbnRCZ0NvbG9yOiAnI2VjZWNlYycsXHJcbiAgICAgIGZvbnRDb2xvcjogJyMwMDAnLFxyXG4gICAgICBoaWdobGlnaHRHcmFkaWVudDE6ICdyZ2IoMTk5LCAyMTksIDI0MCknLFxyXG4gICAgICBoaWdobGlnaHRHcmFkaWVudDI6ICdyZ2IoMTEsIDgxLCAxNTYpJyxcclxuICAgICAgbGlzdEJvcmRlckNvbG9yOiAnI0NGRDhEQycsXHJcbiAgICAgIHN1YkhpZ2hsaWdodEJnQ29sb3I6ICdyZ2JhKDI1NSwyNTUsMjU1LCAuMjApJyxcclxuICAgICAgc3ViSGlnaGxpZ2h0Qm9yZGVyQ29sb3I6ICcjMDBBQ0MxJ1xyXG4gICAgfTtcclxuICAgIE9iamVjdC5hc3NpZ24odGhpcy5uYXZpZ2F0aW9uVGhlbWUsIGRlZmF1bHROYXZUaGVtZSk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8aGVhZGVyICpuZ0lmPVwiIWlzRmVkZXJhdGVkTW9kdWxlXCI+XHJcbiAgPHNvZi1hci1oZWFkZXIgW3NldHRpbmdzXT1cImhlYWRlclNldHRpbmdzXCIgW3RoZW1lU2V0dGluZ3NdPVwiaGVhZGVyVGhlbWVTZXR0aW5nc1wiIFthdXRoU2V0dGluZ3NdPVwiaGVhZGVyQXV0aFNldHRpbmdzXCJcclxuICAgICAgICAgICAgICAgICAoc2V0TGFuZ3VhZ2UkKT1cImFwcGx5TGFuZ3VhZ2UoKVwiIFtjdXJyZW50TGFuZ109XCJjdXJyZW50TGFuZ1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciBzb2YtYXItaGVhZGVyLWxlZnQ+XHJcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzb2YtYXItaGVhZGVyLWxlZnRdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyIHNvZi1hci1oZWFkZXItY2VudGVyPlxyXG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc29mLWFyLWhlYWRlci1jZW50ZXJdXCI+PC9uZy1jb250ZW50PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyIHNvZi1hci1oZWFkZXItcmlnaHQ+XHJcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzb2YtYXItaGVhZGVyLXJpZ2h0XVwiPjwvbmctY29udGVudD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciBzb2YtaGVhZGVyLXVzZXItbWVudT5cclxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NvZi1oZWFkZXItdXNlci1tZW51XVwiPjwvbmctY29udGVudD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvc29mLWFyLWhlYWRlcj5cclxuPC9oZWFkZXI+XHJcbjxuZy1jb250ZW50IHNlbGVjdD1cIltzb2YtYXItdGVtcGxhdGUtY29udGVudF1cIj4gPC9uZy1jb250ZW50PlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiaXNGZWRlcmF0ZWRNb2R1bGVcIj5cclxuICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XHJcbjwvbmctY29udGFpbmVyPlxyXG48c29mLWFyLW5hdmlnYXRpb24gKm5nSWY9XCIhaXNGZWRlcmF0ZWRNb2R1bGVcIiBbbmF2aWdhdGlvbkRhdGFdPVwibmF2aWdhdGlvbk5vZGVzXCIgW3NldHRpbmdzXT1cIm5hdmlnYXRpb25TZXR0aW5nc1wiXHJcbiAgICAgICAgICAgICAgICAgICBbYWR2YW5jZWRTZXR0aW5nc109XCJuYXZpZ2F0aW9uQWR2YW5jZWRTZXR0aW5nc1wiIFt0aGVtZVNldHRpbmdzXT1cIm5hdmlnYXRpb25UaGVtZVwiXHJcbiAgICAgICAgICAgICAgICAgICBbbGFuZ3VhZ2VTZXR0aW5nc109XCJsYW5ndWFnZVNldHRpbmdzXCIgW2N1cnJlbnRMYW5nXT1cImN1cnJlbnRMYW5nXCIgKHNldExhbmd1YWdlJCk9XCJhcHBseUxhbmd1YWdlKClcIlxyXG4gICAgICAgICAgICAgICAgICAgW2xvZ091dFRleHRdPVwibG9nT3V0VGV4dFwiPlxyXG4gIDxuZy1jb250YWluZXIgc29mLWFyLW5hdi1jb250ZW50PlxyXG4gICAgPHNvZi1hci1hbGVydC1iYW5uZXIgY2xhc3M9XCJzb2YtYXItYWxlcnQtYmFubmVyLWNvbnRhaW5lclwiPjwvc29mLWFyLWFsZXJ0LWJhbm5lcj5cclxuICAgIDxkaXYgY2xhc3M9XCJzb2YtYXItbmF2LWNvbnRhaW5lclwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXQ9XCJzdGFydCBzdHJldGNoXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMCU7XCI+XHJcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzb2YtYXItbmF2LWNvbnRlbnQtaGVhZGVyXVwiPjwvbmctY29udGVudD5cclxuICAgICAgPGRpdiBjbGFzcz1cInNvZi1hci1uYXYtY29udGVudC1jb250YWluZXJcIiBmeEZsZXg9XCIxIDAgMTAwJVwiPlxyXG4gICAgICAgIDxtYWluIFtuZ1N0eWxlLmx0LW1kXT1cInsnbWF4LXdpZHRoJzpuYXZpZ2F0aW9uU2V0dGluZ3M/Lm1heENvbnRlbnRXaWR0aE1vYmlsZSsnJSd9XCJcclxuICAgICAgICAgICAgICBbbmdTdHlsZS5ndC1zbV09XCJ7J21heC13aWR0aCc6bmF2aWdhdGlvblNldHRpbmdzPy5tYXhDb250ZW50V2lkdGhEZXNrdG9wKyclJ31cIiBjbGFzcz1cIm1haW4tY29udGVudFwiPlxyXG4gICAgICAgICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxyXG4gICAgICAgIDwvbWFpbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgZnhGbGV4PVwiYXV0b1wiIGZ4TGF5b3V0QWxpZ249XCJlbmQgZW5kXCI+XHJcbiAgICAgICAgPHNvZi1hci1mb290ZXIgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIiBbZm9vdGVyQ29uZmlnXT1cInsgc2hvd1ByZUNvbnRlbnQxOiBmYWxzZSwgc2hvd1ByZUNvbnRlbnQyOiBmYWxzZSB9XCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyIHNvZi1hci1mb290ZXItY29udGVudD5cclxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NvZi1hci1mb290ZXItY29udGVudF1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L3NvZi1hci1mb290ZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciBzb2YtYXItbmF2LW1vYmlsZS1mb290ZXI+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbc29mLWFyLW5hdi1tb2JpbGUtZm9vdGVyXVwiPjwvbmctY29udGVudD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9zb2YtYXItbmF2aWdhdGlvbj5cclxuIl19
@@ -283,10 +283,10 @@ export class Initializer {
283
283
  this.window.sessionStorage.setItem(federatedModuleConfigStorageKey, JSON.stringify(this.configService.config.federatedModules));
284
284
  return true;
285
285
  }
286
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: Initializer, deps: [{ token: i1.HttpClient }, { token: i2.TranslateService }, { token: i3.ThemeService }, { token: i4.BaseConfigService }, { token: i5.OAuthService }, { token: i6.Router }, { token: i7.Location }, { token: i8.FederatedModuleService }, { token: i9.CustomAuthConfigService, optional: true }, { token: WINDOW, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
287
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: Initializer, providedIn: 'root' }); }
286
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: Initializer, deps: [{ token: i1.HttpClient }, { token: i2.TranslateService }, { token: i3.ThemeService }, { token: i4.BaseConfigService }, { token: i5.OAuthService }, { token: i6.Router }, { token: i7.Location }, { token: i8.FederatedModuleService }, { token: i9.CustomAuthConfigService, optional: true }, { token: WINDOW, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
287
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: Initializer, providedIn: 'root' }); }
288
288
  }
289
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: Initializer, decorators: [{
289
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: Initializer, decorators: [{
290
290
  type: Injectable,
291
291
  args: [{
292
292
  providedIn: 'root'
@@ -59,10 +59,10 @@ export class ArmatureAuthTokenAppendInterceptor {
59
59
  return next.handle(req)
60
60
  .pipe(catchError(err => this.errorHandler.handleError(err)));
61
61
  }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ArmatureAuthTokenAppendInterceptor, deps: [{ token: i1.OAuthStorage }, { token: i1.OAuthResourceServerErrorHandler }, { token: i1.OAuthModuleConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
63
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ArmatureAuthTokenAppendInterceptor, providedIn: 'root' }); }
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ArmatureAuthTokenAppendInterceptor, deps: [{ token: i1.OAuthStorage }, { token: i1.OAuthResourceServerErrorHandler }, { token: i1.OAuthModuleConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
63
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ArmatureAuthTokenAppendInterceptor, providedIn: 'root' }); }
64
64
  }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ArmatureAuthTokenAppendInterceptor, decorators: [{
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ArmatureAuthTokenAppendInterceptor, decorators: [{
66
66
  type: Injectable,
67
67
  args: [{
68
68
  providedIn: 'root'
@@ -161,10 +161,10 @@ export class AuthorizationService {
161
161
  console.error(e);
162
162
  });
163
163
  }
164
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AuthorizationService, deps: [{ token: i1.OAuthService }, { token: i2.HttpClient }, { token: i1.OAuthStorage }, { token: i3.HybridSamlOauthService }, { token: i4.CustomAuthConfigService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
165
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AuthorizationService, providedIn: 'root' }); }
164
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: AuthorizationService, deps: [{ token: i1.OAuthService }, { token: i2.HttpClient }, { token: i1.OAuthStorage }, { token: i3.HybridSamlOauthService }, { token: i4.CustomAuthConfigService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
165
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: AuthorizationService, providedIn: 'root' }); }
166
166
  }
167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AuthorizationService, decorators: [{
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: AuthorizationService, decorators: [{
168
168
  type: Injectable,
169
169
  args: [{
170
170
  providedIn: 'root'
@@ -31,10 +31,10 @@ export class BannerService {
31
31
  hideMessage() {
32
32
  this.showBanner.next(false);
33
33
  }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BannerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
35
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BannerService, providedIn: 'root' }); }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: BannerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
35
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: BannerService, providedIn: 'root' }); }
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BannerService, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: BannerService, decorators: [{
38
38
  type: Injectable,
39
39
  args: [{
40
40
  providedIn: 'root'
@@ -20,10 +20,10 @@ export class BaseConfigService {
20
20
  this.configBs = new BehaviorSubject(undefined);
21
21
  this.config$ = this.configBs.asObservable();
22
22
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BaseConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
24
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BaseConfigService, providedIn: 'root' }); }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: BaseConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
24
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: BaseConfigService, providedIn: 'root' }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: BaseConfigService, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: BaseConfigService, decorators: [{
27
27
  type: Injectable,
28
28
  args: [{
29
29
  providedIn: 'root'
@@ -7,10 +7,10 @@ export class DefaultConfigService extends BaseConfigService {
7
7
  super();
8
8
  }
9
9
  ;
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DefaultConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DefaultConfigService, providedIn: 'root' }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DefaultConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
11
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DefaultConfigService, providedIn: 'root' }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DefaultConfigService, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DefaultConfigService, decorators: [{
14
14
  type: Injectable,
15
15
  args: [{
16
16
  providedIn: 'root'
@@ -38,10 +38,10 @@ export class FederatedModuleService {
38
38
  this.federatedModuleId = federatedModuleId;
39
39
  this.window = _window || window;
40
40
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: FederatedModuleService, deps: [{ token: WINDOW, optional: true }, { token: FEDERATED_MODULE_ID, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
42
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: FederatedModuleService, providedIn: 'root' }); }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FederatedModuleService, deps: [{ token: WINDOW, optional: true }, { token: FEDERATED_MODULE_ID, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
42
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FederatedModuleService, providedIn: 'root' }); }
43
43
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: FederatedModuleService, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: FederatedModuleService, decorators: [{
45
45
  type: Injectable,
46
46
  args: [{
47
47
  providedIn: 'root'
@@ -356,10 +356,10 @@ export class SessionService {
356
356
  decode(str) {
357
357
  return JSON.parse(decodeURIComponent(escape(window.atob(str))));
358
358
  }
359
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SessionService, deps: [{ token: SESSION_CONFIG, optional: true }, { token: WINDOW, optional: true }, { token: i1.OAuthService, optional: true }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
360
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SessionService, providedIn: 'root' }); }
359
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: SessionService, deps: [{ token: SESSION_CONFIG, optional: true }, { token: WINDOW, optional: true }, { token: i1.OAuthService, optional: true }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
360
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: SessionService, providedIn: 'root' }); }
361
361
  }
362
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SessionService, decorators: [{
362
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: SessionService, decorators: [{
363
363
  type: Injectable,
364
364
  args: [{
365
365
  providedIn: 'root'
@@ -123,10 +123,10 @@ export class UserEntityService {
123
123
  config.getUserPartial = config.getUserPartial == undefined ? this.getUserPartial : config.getUserPartial;
124
124
  return config;
125
125
  }
126
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UserEntityService, deps: [{ token: i1.OAuthService }, { token: i2.HttpClient }, { token: USER_ENTITY_SERVICE_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
127
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UserEntityService, providedIn: 'root' }); }
126
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: UserEntityService, deps: [{ token: i1.OAuthService }, { token: i2.HttpClient }, { token: USER_ENTITY_SERVICE_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
127
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: UserEntityService, providedIn: 'root' }); }
128
128
  }
129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: UserEntityService, decorators: [{
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: UserEntityService, decorators: [{
130
130
  type: Injectable,
131
131
  args: [{
132
132
  providedIn: 'root'
@@ -197,10 +197,10 @@ export class CacheService {
197
197
  reportProgress: reportProgress
198
198
  });
199
199
  }
200
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CacheService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: i2.Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
201
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CacheService }); }
200
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CacheService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: i2.Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
201
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CacheService }); }
202
202
  }
203
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: CacheService, decorators: [{
203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CacheService, decorators: [{
204
204
  type: Injectable
205
205
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
206
206
  type: Optional
@@ -7,9 +7,9 @@ import { DISTRIBUTED_CACHE_BASE_PATH } from './models/constants';
7
7
  import * as i0 from "@angular/core";
8
8
  /** The distributed cache module */
9
9
  export class DistributedCacheModule {
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DistributedCacheModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: DistributedCacheModule, imports: [CommonModule] }); }
12
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DistributedCacheModule, providers: [
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DistributedCacheModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.7", ngImport: i0, type: DistributedCacheModule, imports: [CommonModule] }); }
12
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DistributedCacheModule, providers: [
13
13
  {
14
14
  provide: BASE_PATH,
15
15
  useExisting: DISTRIBUTED_CACHE_BASE_PATH
@@ -18,7 +18,7 @@ export class DistributedCacheModule {
18
18
  ServerCacheService
19
19
  ], imports: [CommonModule] }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DistributedCacheModule, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: DistributedCacheModule, decorators: [{
22
22
  type: NgModule,
23
23
  args: [{
24
24
  declarations: [],
@@ -36,10 +36,10 @@ export class ServerCacheService {
36
36
  formatKey(key) {
37
37
  return `${this.sessionService.sessionId}-${key}`;
38
38
  }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ServerCacheService, deps: [{ token: i1.SessionService }, { token: i2.CacheService }], target: i0.ɵɵFactoryTarget.Injectable }); }
40
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ServerCacheService, providedIn: 'root' }); }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ServerCacheService, deps: [{ token: i1.SessionService }, { token: i2.CacheService }], target: i0.ɵɵFactoryTarget.Injectable }); }
40
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ServerCacheService, providedIn: 'root' }); }
41
41
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ServerCacheService, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ServerCacheService, decorators: [{
43
43
  type: Injectable,
44
44
  args: [{
45
45
  providedIn: 'root'
@@ -13,10 +13,10 @@ export class ErrorCommonComponent {
13
13
  throw new Error('sof-ar-error-common: [config] input is required');
14
14
  }
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ErrorCommonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ErrorCommonComponent, selector: "sof-ar-error-common", inputs: { config: "config" }, ngImport: i0, template: "<div *ngIf=\"config\" class=\"error-container\">\r\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"center center\">\r\n <div fxFlex=\"100%\" fxLayout=\"column\" fxLayoutAlign=\"start start\">\r\n <div *ngIf=\"config.showErrorImage\" fxFlex=\"100%\" fxLayout=\"row wrap\" fxLayoutAlign=\"center center\" class=\"error-image-container\">\r\n <img src=\"{{config.errorImageUrl}}\">\r\n </div>\r\n <div fxFlex=\"auto\" fxLayout=\"row\" fxLayoutAlign=\"start start\">\r\n <h1 class=\"{{config.headerOneClass}}\" fxFlex=\"auto\">{{config.headerOneText | translate}}</h1>\r\n </div>\r\n <div fxFlex=\"auto\" fxLayout=\"row\" fxLayoutAlign=\"start start\">\r\n <h2 class=\"{{config.headerTwoClass}}\" fxFlex=\"auto\">{{config.headerTwoText | translate}}</h2>\r\n </div>\r\n <div fxFlex=\"auto\" fxLayout=\"row\" fxLayoutAlign=\"start start\">\r\n <h3 h5 class=\"{{config.infoTextClass}}\" fxFlex=\"auto\">{{config.infoText | translate}}</h3>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".error-container{height:100%;margin-top:30px;width:700px}.error-image-container{padding-bottom:24px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ErrorCommonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.7", type: ErrorCommonComponent, selector: "sof-ar-error-common", inputs: { config: "config" }, ngImport: i0, template: "<div *ngIf=\"config\" class=\"error-container\">\r\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"center center\">\r\n <div fxFlex=\"100%\" fxLayout=\"column\" fxLayoutAlign=\"start start\">\r\n <div *ngIf=\"config.showErrorImage\" fxFlex=\"100%\" fxLayout=\"row wrap\" fxLayoutAlign=\"center center\" class=\"error-image-container\">\r\n <img src=\"{{config.errorImageUrl}}\">\r\n </div>\r\n <div fxFlex=\"auto\" fxLayout=\"row\" fxLayoutAlign=\"start start\">\r\n <h1 class=\"{{config.headerOneClass}}\" fxFlex=\"auto\">{{config.headerOneText | translate}}</h1>\r\n </div>\r\n <div fxFlex=\"auto\" fxLayout=\"row\" fxLayoutAlign=\"start start\">\r\n <h2 class=\"{{config.headerTwoClass}}\" fxFlex=\"auto\">{{config.headerTwoText | translate}}</h2>\r\n </div>\r\n <div fxFlex=\"auto\" fxLayout=\"row\" fxLayoutAlign=\"start start\">\r\n <h3 h5 class=\"{{config.infoTextClass}}\" fxFlex=\"auto\">{{config.infoText | translate}}</h3>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".error-container{height:100%;margin-top:30px;width:700px}.error-image-container{padding-bottom:24px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i2.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i2.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ErrorCommonComponent, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ErrorCommonComponent, decorators: [{
20
20
  type: Component,
21
21
  args: [{ selector: 'sof-ar-error-common', template: "<div *ngIf=\"config\" class=\"error-container\">\r\n <div fxLayout=\"row wrap\" fxLayoutAlign=\"center center\">\r\n <div fxFlex=\"100%\" fxLayout=\"column\" fxLayoutAlign=\"start start\">\r\n <div *ngIf=\"config.showErrorImage\" fxFlex=\"100%\" fxLayout=\"row wrap\" fxLayoutAlign=\"center center\" class=\"error-image-container\">\r\n <img src=\"{{config.errorImageUrl}}\">\r\n </div>\r\n <div fxFlex=\"auto\" fxLayout=\"row\" fxLayoutAlign=\"start start\">\r\n <h1 class=\"{{config.headerOneClass}}\" fxFlex=\"auto\">{{config.headerOneText | translate}}</h1>\r\n </div>\r\n <div fxFlex=\"auto\" fxLayout=\"row\" fxLayoutAlign=\"start start\">\r\n <h2 class=\"{{config.headerTwoClass}}\" fxFlex=\"auto\">{{config.headerTwoText | translate}}</h2>\r\n </div>\r\n <div fxFlex=\"auto\" fxLayout=\"row\" fxLayoutAlign=\"start start\">\r\n <h3 h5 class=\"{{config.infoTextClass}}\" fxFlex=\"auto\">{{config.infoText | translate}}</h3>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".error-container{height:100%;margin-top:30px;width:700px}.error-image-container{padding-bottom:24px}\n"] }]
22
22
  }], ctorParameters: () => [], propDecorators: { config: [{
@@ -6,15 +6,15 @@ import { TranslateModule } from '@ngx-translate/core';
6
6
  import * as i0 from "@angular/core";
7
7
  /** The error module */
8
8
  export class ErrorModule {
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ErrorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: ErrorModule, declarations: [ErrorCommonComponent], imports: [CommonModule,
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ErrorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.7", ngImport: i0, type: ErrorModule, declarations: [ErrorCommonComponent], imports: [CommonModule,
11
11
  FlexLayoutModule,
12
12
  TranslateModule], exports: [ErrorCommonComponent] }); }
13
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ErrorModule, imports: [CommonModule,
13
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ErrorModule, imports: [CommonModule,
14
14
  FlexLayoutModule,
15
15
  TranslateModule] }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ErrorModule, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: ErrorModule, decorators: [{
18
18
  type: NgModule,
19
19
  args: [{
20
20
  declarations: [ErrorCommonComponent],