@odx/auth 15.0.0 → 15.0.1

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 (72) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/esm2022/lib/auth.component.mjs +6 -1
  3. package/esm2022/lib/auth.config.mjs +38 -1
  4. package/esm2022/lib/auth.directive.mjs +11 -1
  5. package/esm2022/lib/auth.guard.mjs +9 -1
  6. package/esm2022/lib/auth.interceptor.mjs +8 -1
  7. package/esm2022/lib/auth.providers.mjs +35 -1
  8. package/esm2022/lib/auth.service.mjs +159 -1
  9. package/esm2022/lib/components/auth-actions/auth-actions.component.mjs +10 -1
  10. package/esm2022/lib/components/auth-loading-screen/auth-loading-screen.component.mjs +15 -3
  11. package/esm2022/lib/directives/auth-action.directive.mjs +7 -1
  12. package/esm2022/lib/directives/sign-in.directive.mjs +20 -1
  13. package/esm2022/lib/directives/sign-out.directive.mjs +20 -1
  14. package/esm2022/lib/helpers/create-auth-host-url.mjs +13 -1
  15. package/esm2022/lib/helpers/create-inititals.mjs +18 -1
  16. package/esm2022/lib/helpers/handle-auth-error.mjs +13 -3
  17. package/esm2022/lib/helpers/handle-oauth-event.mjs +9 -1
  18. package/esm2022/lib/helpers/resolve-email.mjs +21 -1
  19. package/esm2022/lib/helpers/resolve-username.mjs +22 -1
  20. package/esm2022/lib/helpers/set-http-auth-header.mjs +10 -1
  21. package/esm2022/lib/helpers/user-language-loader.mjs +8 -1
  22. package/esm2022/lib/plugins/core-debug.plugin.mjs +10 -1
  23. package/esm2022/lib/plugins/core-identity.plugin.mjs +8 -1
  24. package/esm2022/lib/plugins/user-profile-link.plugin.mjs +10 -1
  25. package/esm2022/lib/unauth.guard.mjs +9 -1
  26. package/esm2022/plugins/service-connect/lib/helpers/build-service-connect-url.mjs +8 -1
  27. package/esm2022/plugins/service-connect/lib/helpers/has-roles-or-rights-handler.mjs +8 -1
  28. package/esm2022/plugins/service-connect/lib/helpers/has-roles-or-rights.mjs +8 -1
  29. package/esm2022/plugins/service-connect/lib/helpers/service-connect-plugin-factory.mjs +7 -1
  30. package/esm2022/plugins/service-connect/lib/service-connect-rights.directive.mjs +13 -1
  31. package/esm2022/plugins/service-connect/lib/service-connect-rights.guard.mjs +9 -1
  32. package/esm2022/plugins/service-connect/lib/service-connect-rights.plugin.mjs +9 -1
  33. package/esm2022/plugins/service-connect/lib/service-connect-user-language.plugin.mjs +15 -1
  34. package/esm2022/plugins/service-connect/lib/service-connect-user-profile.plugin.mjs +9 -1
  35. package/fesm2022/odx-auth-plugins-service-connect.mjs +77 -0
  36. package/fesm2022/odx-auth-plugins-service-connect.mjs.map +1 -1
  37. package/fesm2022/odx-auth.mjs +466 -5
  38. package/fesm2022/odx-auth.mjs.map +1 -1
  39. package/lib/auth.component.d.ts +5 -0
  40. package/lib/auth.config.d.ts +42 -0
  41. package/lib/auth.directive.d.ts +10 -0
  42. package/lib/auth.guard.d.ts +8 -0
  43. package/lib/auth.interceptor.d.ts +7 -0
  44. package/lib/auth.providers.d.ts +34 -0
  45. package/lib/auth.service.d.ts +156 -0
  46. package/lib/components/auth-actions/auth-actions.component.d.ts +9 -0
  47. package/lib/components/auth-loading-screen/auth-loading-screen.component.d.ts +13 -0
  48. package/lib/directives/auth-action.directive.d.ts +6 -0
  49. package/lib/directives/sign-in.directive.d.ts +19 -0
  50. package/lib/directives/sign-out.directive.d.ts +19 -0
  51. package/lib/helpers/create-auth-host-url.d.ts +12 -0
  52. package/lib/helpers/create-inititals.d.ts +17 -0
  53. package/lib/helpers/handle-auth-error.d.ts +10 -0
  54. package/lib/helpers/handle-oauth-event.d.ts +8 -0
  55. package/lib/helpers/resolve-email.d.ts +20 -0
  56. package/lib/helpers/resolve-username.d.ts +21 -0
  57. package/lib/helpers/set-http-auth-header.d.ts +9 -0
  58. package/lib/helpers/user-language-loader.d.ts +7 -0
  59. package/lib/plugins/core-debug.plugin.d.ts +9 -0
  60. package/lib/plugins/core-identity.plugin.d.ts +7 -0
  61. package/lib/plugins/user-profile-link.plugin.d.ts +9 -0
  62. package/lib/unauth.guard.d.ts +8 -0
  63. package/package.json +1 -1
  64. package/plugins/service-connect/lib/helpers/build-service-connect-url.d.ts +7 -0
  65. package/plugins/service-connect/lib/helpers/has-roles-or-rights-handler.d.ts +7 -0
  66. package/plugins/service-connect/lib/helpers/has-roles-or-rights.d.ts +7 -0
  67. package/plugins/service-connect/lib/helpers/service-connect-plugin-factory.d.ts +6 -0
  68. package/plugins/service-connect/lib/service-connect-rights.directive.d.ts +12 -0
  69. package/plugins/service-connect/lib/service-connect-rights.guard.d.ts +8 -0
  70. package/plugins/service-connect/lib/service-connect-rights.plugin.d.ts +8 -0
  71. package/plugins/service-connect/lib/service-connect-user-language.plugin.d.ts +14 -0
  72. package/plugins/service-connect/lib/service-connect-user-profile.plugin.d.ts +8 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @odx/auth
2
2
 
3
+ ## 15.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - a1107dd: added getter accessTokenUpdate$ to @odx/auth service, added docs for @odx/auth, accessibility docs in storybook
8
+
3
9
  ## 15.0.0
4
10
 
5
11
  ### Major Changes
@@ -34,6 +34,11 @@ export class AuthComponent {
34
34
  idClaims: this.authService.identityClaims$,
35
35
  isAuthenticated: this.authService.isAuthenticated$,
36
36
  });
37
+ /**
38
+ * Whether to hide the institution information.
39
+ *
40
+ * @type {InputSignal<boolean>}
41
+ */
37
42
  this.hideInstitution = input(false);
38
43
  }
39
44
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AuthComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
@@ -54,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
54
59
  AsyncPipe,
55
60
  ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [provideTranslations(translations)], template: "<odx-action-group>\n @if (vm$ | async; as vm) {\n <ng-container ngProjectAs=\"[odxButton]\">\n @if (vm.isAuthenticated) {\n <button odxButton [odxDropdown]=\"userProfileMenu\" [odxDropdownOptions]=\"dropdownOptions\" data-testid=\"odx-auth-user-profile-button\">\n <ng-template [ngTemplateOutlet]=\"userAvatar\" />\n </button>\n } @else {\n <button class=\"odx-auth-sign-in\" odxButton odxAuthSignIn variant=\"secondary\" data-testid=\"odx-auth-sign-in-button\">\n <odx-icon name=\"user\" alignLeft />\n {{ 'signInButtonText' | odxTranslate | async }}\n </button>\n }\n <ng-template #userProfileMenu>\n @if (!hideInstitution() && vm.idClaims?.institutionName; as institutionName) {\n <odx-area-header class=\"odx-padding-x-12 odx-padding-bottom-8\" size=\"small\">\n <odx-area-header-subtitle class=\"odx-auth-institution-name\">{{ institutionName }}</odx-area-header-subtitle>\n </odx-area-header>\n }\n <odx-area-header class=\"odx-padding-x-12\" size=\"small\">\n <ng-template [ngTemplateOutlet]=\"userAvatar\" ngProjectAs=\"odx-avatar\" />\n {{ vm.idClaims?.username }}\n <odx-area-header-subtitle>\n {{ vm.idClaims?.email }}\n </odx-area-header-subtitle>\n </odx-area-header>\n <ng-content />\n <odx-auth-actions [claims]=\"vm.idClaims\"></odx-auth-actions>\n <div class=\"odx-margin-top-12\" odxLayout=\"flex vertical-center\">\n <odx-logo odxLayout=\"auto\" class=\"odx-margin-left-12 odx-margin-right-auto\"></odx-logo>\n <button odxButton odxAuthSignOut variant=\"ghost\" data-testid=\"odx-auth-sign-out-button\">\n {{ 'signOutButtonText' | odxTranslate | async }}\n <odx-icon name=\"logout\" alignRight />\n </button>\n </div>\n </ng-template>\n <ng-template #userAvatar>\n <odx-avatar class=\"odx-auth-user-avatar\">\n {{ vm.idClaims?.initials ?? '' }}\n </odx-avatar>\n </ng-template>\n </ng-container>\n }\n</odx-action-group>\n", styles: [".odx-auth-user-profile .odx-dropdown__inner>.odx-area-header{max-width:max(360px,25vw);min-width:296px}.odx-auth-actions{display:block;margin-top:calc(var(--odx-vertical-rythm-base-size) * .5);margin-bottom:calc(var(--odx-vertical-rythm-base-size) * .5);margin-right:calc(var(--odx-vertical-rythm-base-size) * .25);margin-left:calc(var(--odx-vertical-rythm-base-size) * .25)}\n"] }]
56
61
  }] });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9hdXRoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvYXV0aC9zcmMvbGliL2F1dGguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFtQixNQUFNLGtDQUFrQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLFlBQVksTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7Ozs7QUF1QmpFLE1BQU0sT0FBTyxhQUFhO0lBckIxQjtRQXNCcUIsZUFBVSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDaEMsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEMsb0JBQWUsR0FBRztZQUNuQyxRQUFRLEVBQUUsUUFBUSxDQUFDLFVBQVU7WUFDN0IsY0FBYyxFQUFFLEtBQUs7WUFDckIsY0FBYyxFQUFFLHVCQUF1QjtTQUNaLENBQUM7UUFFWCxRQUFHLEdBQUcsYUFBYSxDQUFDO1lBQ3JDLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWU7WUFDMUMsZUFBZSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCO1NBQ25ELENBQUMsQ0FBQztRQUVhLG9CQUFlLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ2hEOytHQWZZLGFBQWE7bUdBQWIsYUFBYSx5TkFGYixDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDLDBCQ25DaEQsaW1FQTRDQSxrYkR4QkksZ0JBQWdCLDY0QkFDaEIsY0FBYywwZkFDZCxZQUFZLCtCQUNaLGFBQWEsa0ZBQ2IsZUFBZSxtR0FDZixnQkFBZ0Isb0dBQ2hCLG9CQUFvQiwrQkFDcEIsb0JBQW9CLDRFQUNwQixhQUFhOzs0RkFTSixhQUFhO2tCQXJCekIsU0FBUztpQ0FDSSxJQUFJLFlBQ04sVUFBVSxXQUNYO3dCQUNQLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLFNBQVM7cUJBQ1YsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUIsQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXJlYUhlYWRlck1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2FyZWEtaGVhZGVyJztcbmltcG9ydCB7IERyb3Bkb3duTW9kdWxlLCBEcm9wZG93bk9wdGlvbnMgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBIZWFkZXJNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9oZWFkZXInO1xuaW1wb3J0IHsgTG9hZGluZ1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY29tcG9uZW50cy9sb2FkaW5nLXNwaW5uZXInO1xuaW1wb3J0IHsgTG9nb0RpcmVjdGl2ZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2xvZ28nO1xuaW1wb3J0IHsgcHJvdmlkZVRyYW5zbGF0aW9ucywgVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9pbnRlcm5hbC90cmFuc2xhdGUnO1xuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgaW5qZWN0QXV0aENvbmZpZyB9IGZyb20gJy4vYXV0aC5jb25maWcnO1xuaW1wb3J0IHRyYW5zbGF0aW9ucyBmcm9tICcuL2F1dGguaTE4bic7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7IFNpZ25JbkRpcmVjdGl2ZSwgU2lnbk91dERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ29keC1hdXRoJyxcbiAgaW1wb3J0czogW1xuICAgIEFyZWFIZWFkZXJNb2R1bGUsXG4gICAgRHJvcGRvd25Nb2R1bGUsXG4gICAgSGVhZGVyTW9kdWxlLFxuICAgIExvZ29EaXJlY3RpdmUsXG4gICAgU2lnbkluRGlyZWN0aXZlLFxuICAgIFNpZ25PdXREaXJlY3RpdmUsXG4gICAgTG9hZGluZ1NwaW5uZXJNb2R1bGUsXG4gICAgQXV0aEFjdGlvbnNDb21wb25lbnQsXG4gICAgVHJhbnNsYXRlUGlwZSxcbiAgICBBc3luY1BpcGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRoLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXV0aC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbcHJvdmlkZVRyYW5zbGF0aW9ucyh0cmFuc2xhdGlvbnMpXSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0aENvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBhdXRoQ29uZmlnID0gaW5qZWN0QXV0aENvbmZpZygpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZHJvcGRvd25PcHRpb25zID0ge1xuICAgIHBvc2l0aW9uOiBQb3NpdGlvbi5CT1RUT01fRU5ELFxuICAgIGVuYWJsZUZhbGxiYWNrOiBmYWxzZSxcbiAgICBjb250YWluZXJDbGFzczogJ29keC1hdXRoLXVzZXItcHJvZmlsZScsXG4gIH0gYXMgUGFydGlhbDxEcm9wZG93bk9wdGlvbnM+O1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB2bSQgPSBjb21iaW5lTGF0ZXN0KHtcbiAgICBpZENsYWltczogdGhpcy5hdXRoU2VydmljZS5pZGVudGl0eUNsYWltcyQsXG4gICAgaXNBdXRoZW50aWNhdGVkOiB0aGlzLmF1dGhTZXJ2aWNlLmlzQXV0aGVudGljYXRlZCQsXG4gIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSBoaWRlSW5zdGl0dXRpb24gPSBpbnB1dChmYWxzZSk7XG59XG4iLCI8b2R4LWFjdGlvbi1ncm91cD5cbiAgQGlmICh2bSQgfCBhc3luYzsgYXMgdm0pIHtcbiAgICA8bmctY29udGFpbmVyIG5nUHJvamVjdEFzPVwiW29keEJ1dHRvbl1cIj5cbiAgICAgIEBpZiAodm0uaXNBdXRoZW50aWNhdGVkKSB7XG4gICAgICAgIDxidXR0b24gb2R4QnV0dG9uIFtvZHhEcm9wZG93bl09XCJ1c2VyUHJvZmlsZU1lbnVcIiBbb2R4RHJvcGRvd25PcHRpb25zXT1cImRyb3Bkb3duT3B0aW9uc1wiIGRhdGEtdGVzdGlkPVwib2R4LWF1dGgtdXNlci1wcm9maWxlLWJ1dHRvblwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ1c2VyQXZhdGFyXCIgLz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm9keC1hdXRoLXNpZ24taW5cIiBvZHhCdXR0b24gb2R4QXV0aFNpZ25JbiB2YXJpYW50PVwic2Vjb25kYXJ5XCIgZGF0YS10ZXN0aWQ9XCJvZHgtYXV0aC1zaWduLWluLWJ1dHRvblwiPlxuICAgICAgICAgIDxvZHgtaWNvbiBuYW1lPVwidXNlclwiIGFsaWduTGVmdCAvPlxuICAgICAgICAgIHt7ICdzaWduSW5CdXR0b25UZXh0JyB8IG9keFRyYW5zbGF0ZSB8IGFzeW5jIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgfVxuICAgICAgPG5nLXRlbXBsYXRlICN1c2VyUHJvZmlsZU1lbnU+XG4gICAgICAgIEBpZiAoIWhpZGVJbnN0aXR1dGlvbigpICYmIHZtLmlkQ2xhaW1zPy5pbnN0aXR1dGlvbk5hbWU7IGFzIGluc3RpdHV0aW9uTmFtZSkge1xuICAgICAgICAgIDxvZHgtYXJlYS1oZWFkZXIgY2xhc3M9XCJvZHgtcGFkZGluZy14LTEyIG9keC1wYWRkaW5nLWJvdHRvbS04XCIgc2l6ZT1cInNtYWxsXCI+XG4gICAgICAgICAgICA8b2R4LWFyZWEtaGVhZGVyLXN1YnRpdGxlIGNsYXNzPVwib2R4LWF1dGgtaW5zdGl0dXRpb24tbmFtZVwiPnt7IGluc3RpdHV0aW9uTmFtZSB9fTwvb2R4LWFyZWEtaGVhZGVyLXN1YnRpdGxlPlxuICAgICAgICAgIDwvb2R4LWFyZWEtaGVhZGVyPlxuICAgICAgICB9XG4gICAgICAgIDxvZHgtYXJlYS1oZWFkZXIgY2xhc3M9XCJvZHgtcGFkZGluZy14LTEyXCIgc2l6ZT1cInNtYWxsXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInVzZXJBdmF0YXJcIiBuZ1Byb2plY3RBcz1cIm9keC1hdmF0YXJcIiAvPlxuICAgICAgICAgIHt7IHZtLmlkQ2xhaW1zPy51c2VybmFtZSB9fVxuICAgICAgICAgIDxvZHgtYXJlYS1oZWFkZXItc3VidGl0bGU+XG4gICAgICAgICAgICB7eyB2bS5pZENsYWltcz8uZW1haWwgfX1cbiAgICAgICAgICA8L29keC1hcmVhLWhlYWRlci1zdWJ0aXRsZT5cbiAgICAgICAgPC9vZHgtYXJlYS1oZWFkZXI+XG4gICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICAgIDxvZHgtYXV0aC1hY3Rpb25zIFtjbGFpbXNdPVwidm0uaWRDbGFpbXNcIj48L29keC1hdXRoLWFjdGlvbnM+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJvZHgtbWFyZ2luLXRvcC0xMlwiIG9keExheW91dD1cImZsZXggdmVydGljYWwtY2VudGVyXCI+XG4gICAgICAgICAgPG9keC1sb2dvIG9keExheW91dD1cImF1dG9cIiBjbGFzcz1cIm9keC1tYXJnaW4tbGVmdC0xMiBvZHgtbWFyZ2luLXJpZ2h0LWF1dG9cIj48L29keC1sb2dvPlxuICAgICAgICAgIDxidXR0b24gb2R4QnV0dG9uIG9keEF1dGhTaWduT3V0IHZhcmlhbnQ9XCJnaG9zdFwiIGRhdGEtdGVzdGlkPVwib2R4LWF1dGgtc2lnbi1vdXQtYnV0dG9uXCI+XG4gICAgICAgICAgICB7eyAnc2lnbk91dEJ1dHRvblRleHQnIHwgb2R4VHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgICAgICAgIDxvZHgtaWNvbiBuYW1lPVwibG9nb3V0XCIgYWxpZ25SaWdodCAvPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgI3VzZXJBdmF0YXI+XG4gICAgICAgIDxvZHgtYXZhdGFyIGNsYXNzPVwib2R4LWF1dGgtdXNlci1hdmF0YXJcIj5cbiAgICAgICAgICB7eyB2bS5pZENsYWltcz8uaW5pdGlhbHMgPz8gJycgfX1cbiAgICAgICAgPC9vZHgtYXZhdGFyPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgfVxuPC9vZHgtYWN0aW9uLWdyb3VwPlxuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9hdXRoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvYXV0aC9zcmMvbGliL2F1dGguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFtQixNQUFNLGtDQUFrQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLFlBQVksTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7Ozs7QUF1QmpFLE1BQU0sT0FBTyxhQUFhO0lBckIxQjtRQXNCcUIsZUFBVSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDaEMsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEMsb0JBQWUsR0FBRztZQUNuQyxRQUFRLEVBQUUsUUFBUSxDQUFDLFVBQVU7WUFDN0IsY0FBYyxFQUFFLEtBQUs7WUFDckIsY0FBYyxFQUFFLHVCQUF1QjtTQUNaLENBQUM7UUFDWCxRQUFHLEdBQUcsYUFBYSxDQUFDO1lBQ3JDLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWU7WUFDMUMsZUFBZSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCO1NBQ25ELENBQUMsQ0FBQztRQUVIOzs7O1dBSUc7UUFDYSxvQkFBZSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNoRDsrR0FuQlksYUFBYTttR0FBYixhQUFhLHlOQUZiLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUMsMEJDbkNoRCxpbUVBNENBLGtiRHhCSSxnQkFBZ0IsNjRCQUNoQixjQUFjLDBmQUNkLFlBQVksK0JBQ1osYUFBYSxrRkFDYixlQUFlLG1HQUNmLGdCQUFnQixvR0FDaEIsb0JBQW9CLCtCQUNwQixvQkFBb0IsNEVBQ3BCLGFBQWE7OzRGQVNKLGFBQWE7a0JBckJ6QixTQUFTO2lDQUNJLElBQUksWUFDTixVQUFVLFdBQ1g7d0JBQ1AsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsb0JBQW9CO3dCQUNwQixvQkFBb0I7d0JBQ3BCLGFBQWE7d0JBQ2IsU0FBUztxQkFDVixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcmVhSGVhZGVyTW9kdWxlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvYXJlYS1oZWFkZXInO1xuaW1wb3J0IHsgRHJvcGRvd25Nb2R1bGUsIERyb3Bkb3duT3B0aW9ucyB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEhlYWRlck1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2hlYWRlcic7XG5pbXBvcnQgeyBMb2FkaW5nU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jb21wb25lbnRzL2xvYWRpbmctc3Bpbm5lcic7XG5pbXBvcnQgeyBMb2dvRGlyZWN0aXZlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2NvbXBvbmVudHMvbG9nbyc7XG5pbXBvcnQgeyBwcm92aWRlVHJhbnNsYXRpb25zLCBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG9keC9hbmd1bGFyL2ludGVybmFsL3RyYW5zbGF0ZSc7XG5pbXBvcnQgeyBQb3NpdGlvbiB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpbmplY3RBdXRoQ29uZmlnIH0gZnJvbSAnLi9hdXRoLmNvbmZpZyc7XG5pbXBvcnQgdHJhbnNsYXRpb25zIGZyb20gJy4vYXV0aC5pMThuJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aEFjdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgU2lnbkluRGlyZWN0aXZlLCBTaWduT3V0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnb2R4LWF1dGgnLFxuICBpbXBvcnRzOiBbXG4gICAgQXJlYUhlYWRlck1vZHVsZSxcbiAgICBEcm9wZG93bk1vZHVsZSxcbiAgICBIZWFkZXJNb2R1bGUsXG4gICAgTG9nb0RpcmVjdGl2ZSxcbiAgICBTaWduSW5EaXJlY3RpdmUsXG4gICAgU2lnbk91dERpcmVjdGl2ZSxcbiAgICBMb2FkaW5nU3Bpbm5lck1vZHVsZSxcbiAgICBBdXRoQWN0aW9uc0NvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVQaXBlLFxuICAgIEFzeW5jUGlwZSxcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dGguY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hdXRoLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtwcm92aWRlVHJhbnNsYXRpb25zKHRyYW5zbGF0aW9ucyldLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRoQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGF1dGhDb25maWcgPSBpbmplY3RBdXRoQ29uZmlnKCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBkcm9wZG93bk9wdGlvbnMgPSB7XG4gICAgcG9zaXRpb246IFBvc2l0aW9uLkJPVFRPTV9FTkQsXG4gICAgZW5hYmxlRmFsbGJhY2s6IGZhbHNlLFxuICAgIGNvbnRhaW5lckNsYXNzOiAnb2R4LWF1dGgtdXNlci1wcm9maWxlJyxcbiAgfSBhcyBQYXJ0aWFsPERyb3Bkb3duT3B0aW9ucz47XG4gIHByb3RlY3RlZCByZWFkb25seSB2bSQgPSBjb21iaW5lTGF0ZXN0KHtcbiAgICBpZENsYWltczogdGhpcy5hdXRoU2VydmljZS5pZGVudGl0eUNsYWltcyQsXG4gICAgaXNBdXRoZW50aWNhdGVkOiB0aGlzLmF1dGhTZXJ2aWNlLmlzQXV0aGVudGljYXRlZCQsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGhpZGUgdGhlIGluc3RpdHV0aW9uIGluZm9ybWF0aW9uLlxuICAgKlxuICAgKiBAdHlwZSB7SW5wdXRTaWduYWw8Ym9vbGVhbj59XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaGlkZUluc3RpdHV0aW9uID0gaW5wdXQoZmFsc2UpO1xufVxuIiwiPG9keC1hY3Rpb24tZ3JvdXA+XG4gIEBpZiAodm0kIHwgYXN5bmM7IGFzIHZtKSB7XG4gICAgPG5nLWNvbnRhaW5lciBuZ1Byb2plY3RBcz1cIltvZHhCdXR0b25dXCI+XG4gICAgICBAaWYgKHZtLmlzQXV0aGVudGljYXRlZCkge1xuICAgICAgICA8YnV0dG9uIG9keEJ1dHRvbiBbb2R4RHJvcGRvd25dPVwidXNlclByb2ZpbGVNZW51XCIgW29keERyb3Bkb3duT3B0aW9uc109XCJkcm9wZG93bk9wdGlvbnNcIiBkYXRhLXRlc3RpZD1cIm9keC1hdXRoLXVzZXItcHJvZmlsZS1idXR0b25cIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwidXNlckF2YXRhclwiIC8+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJvZHgtYXV0aC1zaWduLWluXCIgb2R4QnV0dG9uIG9keEF1dGhTaWduSW4gdmFyaWFudD1cInNlY29uZGFyeVwiIGRhdGEtdGVzdGlkPVwib2R4LWF1dGgtc2lnbi1pbi1idXR0b25cIj5cbiAgICAgICAgICA8b2R4LWljb24gbmFtZT1cInVzZXJcIiBhbGlnbkxlZnQgLz5cbiAgICAgICAgICB7eyAnc2lnbkluQnV0dG9uVGV4dCcgfCBvZHhUcmFuc2xhdGUgfCBhc3luYyB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICAgIDxuZy10ZW1wbGF0ZSAjdXNlclByb2ZpbGVNZW51PlxuICAgICAgICBAaWYgKCFoaWRlSW5zdGl0dXRpb24oKSAmJiB2bS5pZENsYWltcz8uaW5zdGl0dXRpb25OYW1lOyBhcyBpbnN0aXR1dGlvbk5hbWUpIHtcbiAgICAgICAgICA8b2R4LWFyZWEtaGVhZGVyIGNsYXNzPVwib2R4LXBhZGRpbmcteC0xMiBvZHgtcGFkZGluZy1ib3R0b20tOFwiIHNpemU9XCJzbWFsbFwiPlxuICAgICAgICAgICAgPG9keC1hcmVhLWhlYWRlci1zdWJ0aXRsZSBjbGFzcz1cIm9keC1hdXRoLWluc3RpdHV0aW9uLW5hbWVcIj57eyBpbnN0aXR1dGlvbk5hbWUgfX08L29keC1hcmVhLWhlYWRlci1zdWJ0aXRsZT5cbiAgICAgICAgICA8L29keC1hcmVhLWhlYWRlcj5cbiAgICAgICAgfVxuICAgICAgICA8b2R4LWFyZWEtaGVhZGVyIGNsYXNzPVwib2R4LXBhZGRpbmcteC0xMlwiIHNpemU9XCJzbWFsbFwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJ1c2VyQXZhdGFyXCIgbmdQcm9qZWN0QXM9XCJvZHgtYXZhdGFyXCIgLz5cbiAgICAgICAgICB7eyB2bS5pZENsYWltcz8udXNlcm5hbWUgfX1cbiAgICAgICAgICA8b2R4LWFyZWEtaGVhZGVyLXN1YnRpdGxlPlxuICAgICAgICAgICAge3sgdm0uaWRDbGFpbXM/LmVtYWlsIH19XG4gICAgICAgICAgPC9vZHgtYXJlYS1oZWFkZXItc3VidGl0bGU+XG4gICAgICAgIDwvb2R4LWFyZWEtaGVhZGVyPlxuICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICA8b2R4LWF1dGgtYWN0aW9ucyBbY2xhaW1zXT1cInZtLmlkQ2xhaW1zXCI+PC9vZHgtYXV0aC1hY3Rpb25zPlxuICAgICAgICA8ZGl2IGNsYXNzPVwib2R4LW1hcmdpbi10b3AtMTJcIiBvZHhMYXlvdXQ9XCJmbGV4IHZlcnRpY2FsLWNlbnRlclwiPlxuICAgICAgICAgIDxvZHgtbG9nbyBvZHhMYXlvdXQ9XCJhdXRvXCIgY2xhc3M9XCJvZHgtbWFyZ2luLWxlZnQtMTIgb2R4LW1hcmdpbi1yaWdodC1hdXRvXCI+PC9vZHgtbG9nbz5cbiAgICAgICAgICA8YnV0dG9uIG9keEJ1dHRvbiBvZHhBdXRoU2lnbk91dCB2YXJpYW50PVwiZ2hvc3RcIiBkYXRhLXRlc3RpZD1cIm9keC1hdXRoLXNpZ24tb3V0LWJ1dHRvblwiPlxuICAgICAgICAgICAge3sgJ3NpZ25PdXRCdXR0b25UZXh0JyB8IG9keFRyYW5zbGF0ZSB8IGFzeW5jIH19XG4gICAgICAgICAgICA8b2R4LWljb24gbmFtZT1cImxvZ291dFwiIGFsaWduUmlnaHQgLz5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPG5nLXRlbXBsYXRlICN1c2VyQXZhdGFyPlxuICAgICAgICA8b2R4LWF2YXRhciBjbGFzcz1cIm9keC1hdXRoLXVzZXItYXZhdGFyXCI+XG4gICAgICAgICAge3sgdm0uaWRDbGFpbXM/LmluaXRpYWxzID8/ICcnIH19XG4gICAgICAgIDwvb2R4LWF2YXRhcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIH1cbjwvb2R4LWFjdGlvbi1ncm91cD5cbiJdfQ==
@@ -12,6 +12,43 @@ export const ODX_AUTH_USER_PROFILE_HOSTS = {
12
12
  stage: 'https://purple-cliff-0e61c5703.3.azurestaticapps.net',
13
13
  prod: 'https://id.draeger.com',
14
14
  };
15
+ /**
16
+ * Tools for injecting and providing the auth configuration with default configuration for the authentication.
17
+ *
18
+ * @example
19
+ * // Providing custom authentication configuration.
20
+ * ```ts
21
+ * import { createInitials, resolveEmail, resolveUsername } from './helpers';
22
+ *
23
+ * providers: [provideAuthConfig({
24
+ * environment: 'dev',
25
+ * redirectPath: 'login/callback',
26
+ * allowedUrls: [],
27
+ * timeoutFactor: 0.75,
28
+ * maxOfflineTime: 60 * 60, // 1 hour
29
+ * loadUserProfile: false,
30
+ * errorHandler: (error) => {
31
+ * throw error;
32
+ * },
33
+ * createInitials,
34
+ * resolveEmail,
35
+ * resolveUsername,
36
+ * plugins: [],
37
+ * defaultAuthorizedHandler: null,
38
+ * enableLoadingScreen: true,
39
+ * loadingScreenMessage: 'Loading...',
40
+ * waitForTokenInMs: 500,
41
+ *
42
+ * })],
43
+ *
44
+ * // Injecting the datepicker configuration.
45
+ * ```ts
46
+ * @Component({})
47
+ * export class MyComponent {
48
+ * constructor(@Inject(injectAuthConfig()) private readonly authConfig: AuthConfig) {}
49
+ * }
50
+ * ```
51
+ */
15
52
  export const { AuthDefaultConfig, AuthConfig, injectAuthConfig, provideAuthConfig } = createConfigTokens('Auth', '@odx/auth', {
16
53
  environment: 'prod',
17
54
  redirectPath: 'login/callback',
@@ -31,4 +68,4 @@ export const { AuthDefaultConfig, AuthConfig, injectAuthConfig, provideAuthConfi
31
68
  loadingScreenMessage: null,
32
69
  waitForTokenInMs: 1000,
33
70
  });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9hdXRoLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFJMUUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsZUFBZSxDQUFDO0FBQ2hELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztBQUN4RixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQW9DO0lBQzdELEdBQUcsRUFBRSwrQkFBK0I7SUFDcEMsS0FBSyxFQUFFLGdDQUFnQztJQUN2QyxJQUFJLEVBQUUsMkJBQTJCO0NBQ2xDLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBb0M7SUFDMUUsR0FBRyxFQUFFLHFEQUFxRDtJQUMxRCxLQUFLLEVBQUUsc0RBQXNEO0lBQzdELElBQUksRUFBRSx3QkFBd0I7Q0FDL0IsQ0FBQztBQXNDRixNQUFNLENBQUMsTUFBTSxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUU7SUFDNUgsV0FBVyxFQUFFLE1BQU07SUFDbkIsWUFBWSxFQUFFLGdCQUFnQjtJQUM5QixXQUFXLEVBQUUsRUFBRTtJQUNmLGFBQWEsRUFBRSxJQUFJO0lBQ25CLGNBQWMsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxRQUFRO0lBQ3RDLGVBQWUsRUFBRSxLQUFLO0lBQ3RCLFlBQVksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ3RCLE1BQU0sS0FBSyxDQUFDO0lBQ2QsQ0FBQztJQUNELGNBQWM7SUFDZCxZQUFZO0lBQ1osZUFBZTtJQUNmLE9BQU8sRUFBRSxFQUFFO0lBQ1gsd0JBQXdCLEVBQUUsSUFBSTtJQUM5QixtQkFBbUIsRUFBRSxJQUFJO0lBQ3pCLG9CQUFvQixFQUFFLElBQUk7SUFDMUIsZ0JBQWdCLEVBQUUsSUFBSTtDQUNULENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER5bmFtaWNUZXh0Q29udGVudCB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvZHluYW1pYy12aWV3JztcbmltcG9ydCB7IGNyZWF0ZUNvbmZpZ1Rva2VucyB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBPQXV0aEVycm9yRXZlbnQsIE9BdXRoU3RvcmFnZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IHsgY3JlYXRlSW5pdGlhbHMsIHJlc29sdmVFbWFpbCwgcmVzb2x2ZVVzZXJuYW1lIH0gZnJvbSAnLi9oZWxwZXJzJztcblxuaW1wb3J0IHsgQXV0aEVudmlyb25tZW50LCBBdXRob3JpemVkSGFuZGxlciwgQXV0aFBsdWdpbkZhY3RvcnkgfSBmcm9tICcuL21vZGVscyc7XG5cbmV4cG9ydCBjb25zdCBBVVRIX0hUVFBfSEVBREVSID0gJ0F1dGhvcml6YXRpb24nO1xuZXhwb3J0IGNvbnN0IE9EWF9BVVRIX0RFRkFVTFRfU0NPUEVTID0gWydvcGVuaWQnLCAncHJvZmlsZScsICdlbWFpbCcsICdvZmZsaW5lX2FjY2VzcyddO1xuZXhwb3J0IGNvbnN0IE9EWF9BVVRIX0hPU1RTOiBSZWNvcmQ8QXV0aEVudmlyb25tZW50LCBzdHJpbmc+ID0ge1xuICBkZXY6ICdodHRwczovL2Rldi5sb2dpbi5kcmFlZ2VyLmNvbScsXG4gIHN0YWdlOiAnaHR0cHM6Ly90ZXN0LmxvZ2luLmRyYWVnZXIuY29tJyxcbiAgcHJvZDogJ2h0dHBzOi8vbG9naW4uZHJhZWdlci5jb20nLFxufTtcbmV4cG9ydCBjb25zdCBPRFhfQVVUSF9VU0VSX1BST0ZJTEVfSE9TVFM6IFJlY29yZDxBdXRoRW52aXJvbm1lbnQsIHN0cmluZz4gPSB7XG4gIGRldjogJ2h0dHBzOi8vbGVtb24tb2NlYW4tMDRhOTIyNzAzLjMuYXp1cmVzdGF0aWNhcHBzLm5ldCcsXG4gIHN0YWdlOiAnaHR0cHM6Ly9wdXJwbGUtY2xpZmYtMGU2MWM1NzAzLjMuYXp1cmVzdGF0aWNhcHBzLm5ldCcsXG4gIHByb2Q6ICdodHRwczovL2lkLmRyYWVnZXIuY29tJyxcbn07XG5cbmV4cG9ydCB0eXBlIEF1dGhFcnJvckhhbmRsZXJGbiA9IChlcnJvcjogT0F1dGhFcnJvckV2ZW50KSA9PiB2b2lkO1xuZXhwb3J0IHR5cGUgUmVzb2x2ZVVzZXJuYW1lRm4gPSAocmF3Q2xhaW1zOiBPZHhBdXRoLlJhd0lkZW50aXR5Q2xhaW1zKSA9PiBzdHJpbmc7XG5leHBvcnQgdHlwZSBSZXNvbHZlRW1haWxGbiA9IChyYXdDbGFpbXM6IE9keEF1dGguUmF3SWRlbnRpdHlDbGFpbXMpID0+IHN0cmluZztcbmV4cG9ydCB0eXBlIENyZWF0ZUluaXRpYWxzRm4gPSAodmFsdWU6IHN0cmluZykgPT4gc3RyaW5nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhDb25maWcge1xuICBlbnZpcm9ubWVudDogQXV0aEVudmlyb25tZW50O1xuICBjbGllbnRJZD86IHN0cmluZztcbiAgaXNzdWVyPzogc3RyaW5nO1xuICByZWRpcmVjdFBhdGg6IHN0cmluZztcbiAgYWxsb3dlZFVybHM6IEFycmF5PHN0cmluZyB8IFJlZ0V4cD47XG4gIHRpbWVvdXRGYWN0b3I6IG51bWJlcjtcbiAgbWF4T2ZmbGluZVRpbWU6IG51bWJlcjtcbiAgbG9hZFVzZXJQcm9maWxlOiBib29sZWFuO1xuICBwb3N0TG9nb3V0UmVkaXJlY3RVcmw/OiBzdHJpbmc7XG4gIHNjb3Blcz86IHN0cmluZ1tdO1xuICBkaXNjb3ZlcnlVcmw/OiBzdHJpbmc7XG4gIGVycm9ySGFuZGxlcjogQXV0aEVycm9ySGFuZGxlckZuO1xuICBjcmVhdGVJbml0aWFsczogQ3JlYXRlSW5pdGlhbHNGbjtcbiAgcmVzb2x2ZUVtYWlsOiBSZXNvbHZlRW1haWxGbjtcbiAgcmVzb2x2ZVVzZXJuYW1lOiBSZXNvbHZlVXNlcm5hbWVGbjtcbiAgc3RvcmFnZT86IE9BdXRoU3RvcmFnZTtcbiAgcGx1Z2luczogQXV0aFBsdWdpbkZhY3RvcnlbXTtcbiAgcGx1Z2luc0Vycm9ySGFuZGxlcj86IChlcnJvcjogdW5rbm93bikgPT4gdm9pZDtcbiAgZGVmYXVsdEF1dGhvcml6ZWRIYW5kbGVyPzogQXV0aG9yaXplZEhhbmRsZXIgfCBudWxsO1xuICBlbmFibGVMb2FkaW5nU2NyZWVuOiBib29sZWFuO1xuICByZWZyZXNoVG9rZW5PbkluaXQ/OiBib29sZWFuO1xuICBsb2FkaW5nU2NyZWVuTWVzc2FnZT86IER5bmFtaWNUZXh0Q29udGVudCB8IG51bGw7XG4gIHVzZXJQcm9maWxlVXJsPzogc3RyaW5nO1xuICByZXF1aXJlU2lnbkluPzogYm9vbGVhbjtcbiAgcmVxdWlyZVNpZ25JbkZvclJlcXVlc3RzPzogYm9vbGVhbjtcbiAgd2FpdEZvclRva2VuSW5Ncz86IG51bWJlcjtcbiAgc2hvd0RlYnVnSW5mb3JtYXRpb24/OiBib29sZWFuO1xuICBwbHVnaW5UaW1lb3V0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgeyBBdXRoRGVmYXVsdENvbmZpZywgQXV0aENvbmZpZywgaW5qZWN0QXV0aENvbmZpZywgcHJvdmlkZUF1dGhDb25maWcgfSA9IGNyZWF0ZUNvbmZpZ1Rva2VucygnQXV0aCcsICdAb2R4L2F1dGgnLCB7XG4gIGVudmlyb25tZW50OiAncHJvZCcsXG4gIHJlZGlyZWN0UGF0aDogJ2xvZ2luL2NhbGxiYWNrJyxcbiAgYWxsb3dlZFVybHM6IFtdLFxuICB0aW1lb3V0RmFjdG9yOiAwLjc1LFxuICBtYXhPZmZsaW5lVGltZTogMjQgKiA2MCAqIDYwLCAvLyAxIGRheVxuICBsb2FkVXNlclByb2ZpbGU6IGZhbHNlLFxuICBlcnJvckhhbmRsZXI6IChlcnJvcikgPT4ge1xuICAgIHRocm93IGVycm9yO1xuICB9LFxuICBjcmVhdGVJbml0aWFscyxcbiAgcmVzb2x2ZUVtYWlsLFxuICByZXNvbHZlVXNlcm5hbWUsXG4gIHBsdWdpbnM6IFtdLFxuICBkZWZhdWx0QXV0aG9yaXplZEhhbmRsZXI6IG51bGwsXG4gIGVuYWJsZUxvYWRpbmdTY3JlZW46IHRydWUsXG4gIGxvYWRpbmdTY3JlZW5NZXNzYWdlOiBudWxsLFxuICB3YWl0Rm9yVG9rZW5Jbk1zOiAxMDAwLFxufSBhcyBBdXRoQ29uZmlnKTtcbiJdfQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9hdXRoLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFJMUUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsZUFBZSxDQUFDO0FBQ2hELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztBQUN4RixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQW9DO0lBQzdELEdBQUcsRUFBRSwrQkFBK0I7SUFDcEMsS0FBSyxFQUFFLGdDQUFnQztJQUN2QyxJQUFJLEVBQUUsMkJBQTJCO0NBQ2xDLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBb0M7SUFDMUUsR0FBRyxFQUFFLHFEQUFxRDtJQUMxRCxLQUFLLEVBQUUsc0RBQXNEO0lBQzdELElBQUksRUFBRSx3QkFBd0I7Q0FDL0IsQ0FBQztBQTJDRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0NHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFO0lBQzVILFdBQVcsRUFBRSxNQUFNO0lBQ25CLFlBQVksRUFBRSxnQkFBZ0I7SUFDOUIsV0FBVyxFQUFFLEVBQUU7SUFDZixhQUFhLEVBQUUsSUFBSTtJQUNuQixjQUFjLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsUUFBUTtJQUN0QyxlQUFlLEVBQUUsS0FBSztJQUN0QixZQUFZLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUN0QixNQUFNLEtBQUssQ0FBQztJQUNkLENBQUM7SUFDRCxjQUFjO0lBQ2QsWUFBWTtJQUNaLGVBQWU7SUFDZixPQUFPLEVBQUUsRUFBRTtJQUNYLHdCQUF3QixFQUFFLElBQUk7SUFDOUIsbUJBQW1CLEVBQUUsSUFBSTtJQUN6QixvQkFBb0IsRUFBRSxJQUFJO0lBQzFCLGdCQUFnQixFQUFFLElBQUk7Q0FDVCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEeW5hbWljVGV4dENvbnRlbnQgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldyc7XG5pbXBvcnQgeyBjcmVhdGVDb25maWdUb2tlbnMgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgT0F1dGhFcnJvckV2ZW50LCBPQXV0aFN0b3JhZ2UgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IGNyZWF0ZUluaXRpYWxzLCByZXNvbHZlRW1haWwsIHJlc29sdmVVc2VybmFtZSB9IGZyb20gJy4vaGVscGVycyc7XG5cbmltcG9ydCB7IEF1dGhFbnZpcm9ubWVudCwgQXV0aG9yaXplZEhhbmRsZXIsIEF1dGhQbHVnaW5GYWN0b3J5IH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5leHBvcnQgY29uc3QgQVVUSF9IVFRQX0hFQURFUiA9ICdBdXRob3JpemF0aW9uJztcbmV4cG9ydCBjb25zdCBPRFhfQVVUSF9ERUZBVUxUX1NDT1BFUyA9IFsnb3BlbmlkJywgJ3Byb2ZpbGUnLCAnZW1haWwnLCAnb2ZmbGluZV9hY2Nlc3MnXTtcbmV4cG9ydCBjb25zdCBPRFhfQVVUSF9IT1NUUzogUmVjb3JkPEF1dGhFbnZpcm9ubWVudCwgc3RyaW5nPiA9IHtcbiAgZGV2OiAnaHR0cHM6Ly9kZXYubG9naW4uZHJhZWdlci5jb20nLFxuICBzdGFnZTogJ2h0dHBzOi8vdGVzdC5sb2dpbi5kcmFlZ2VyLmNvbScsXG4gIHByb2Q6ICdodHRwczovL2xvZ2luLmRyYWVnZXIuY29tJyxcbn07XG5leHBvcnQgY29uc3QgT0RYX0FVVEhfVVNFUl9QUk9GSUxFX0hPU1RTOiBSZWNvcmQ8QXV0aEVudmlyb25tZW50LCBzdHJpbmc+ID0ge1xuICBkZXY6ICdodHRwczovL2xlbW9uLW9jZWFuLTA0YTkyMjcwMy4zLmF6dXJlc3RhdGljYXBwcy5uZXQnLFxuICBzdGFnZTogJ2h0dHBzOi8vcHVycGxlLWNsaWZmLTBlNjFjNTcwMy4zLmF6dXJlc3RhdGljYXBwcy5uZXQnLFxuICBwcm9kOiAnaHR0cHM6Ly9pZC5kcmFlZ2VyLmNvbScsXG59O1xuXG5leHBvcnQgdHlwZSBBdXRoRXJyb3JIYW5kbGVyRm4gPSAoZXJyb3I6IE9BdXRoRXJyb3JFdmVudCkgPT4gdm9pZDtcbmV4cG9ydCB0eXBlIFJlc29sdmVVc2VybmFtZUZuID0gKHJhd0NsYWltczogT2R4QXV0aC5SYXdJZGVudGl0eUNsYWltcykgPT4gc3RyaW5nO1xuZXhwb3J0IHR5cGUgUmVzb2x2ZUVtYWlsRm4gPSAocmF3Q2xhaW1zOiBPZHhBdXRoLlJhd0lkZW50aXR5Q2xhaW1zKSA9PiBzdHJpbmc7XG5leHBvcnQgdHlwZSBDcmVhdGVJbml0aWFsc0ZuID0gKHZhbHVlOiBzdHJpbmcpID0+IHN0cmluZztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBhdXRoZW50aWNhdGlvbiBtb2R1bGUuXG4gKlxuICogQGludGVyZmFjZSBBdXRoQ29uZmlnXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aENvbmZpZyB7XG4gIGVudmlyb25tZW50OiBBdXRoRW52aXJvbm1lbnQ7XG4gIGNsaWVudElkPzogc3RyaW5nO1xuICBpc3N1ZXI/OiBzdHJpbmc7XG4gIHJlZGlyZWN0UGF0aDogc3RyaW5nO1xuICBhbGxvd2VkVXJsczogQXJyYXk8c3RyaW5nIHwgUmVnRXhwPjtcbiAgdGltZW91dEZhY3RvcjogbnVtYmVyO1xuICBtYXhPZmZsaW5lVGltZTogbnVtYmVyO1xuICBsb2FkVXNlclByb2ZpbGU6IGJvb2xlYW47XG4gIHBvc3RMb2dvdXRSZWRpcmVjdFVybD86IHN0cmluZztcbiAgc2NvcGVzPzogc3RyaW5nW107XG4gIGRpc2NvdmVyeVVybD86IHN0cmluZztcbiAgZXJyb3JIYW5kbGVyOiBBdXRoRXJyb3JIYW5kbGVyRm47XG4gIGNyZWF0ZUluaXRpYWxzOiBDcmVhdGVJbml0aWFsc0ZuO1xuICByZXNvbHZlRW1haWw6IFJlc29sdmVFbWFpbEZuO1xuICByZXNvbHZlVXNlcm5hbWU6IFJlc29sdmVVc2VybmFtZUZuO1xuICBzdG9yYWdlPzogT0F1dGhTdG9yYWdlO1xuICBwbHVnaW5zOiBBdXRoUGx1Z2luRmFjdG9yeVtdO1xuICBwbHVnaW5zRXJyb3JIYW5kbGVyPzogKGVycm9yOiB1bmtub3duKSA9PiB2b2lkO1xuICBkZWZhdWx0QXV0aG9yaXplZEhhbmRsZXI/OiBBdXRob3JpemVkSGFuZGxlciB8IG51bGw7XG4gIGVuYWJsZUxvYWRpbmdTY3JlZW46IGJvb2xlYW47XG4gIHJlZnJlc2hUb2tlbk9uSW5pdD86IGJvb2xlYW47XG4gIGxvYWRpbmdTY3JlZW5NZXNzYWdlPzogRHluYW1pY1RleHRDb250ZW50IHwgbnVsbDtcbiAgdXNlclByb2ZpbGVVcmw/OiBzdHJpbmc7XG4gIHJlcXVpcmVTaWduSW4/OiBib29sZWFuO1xuICByZXF1aXJlU2lnbkluRm9yUmVxdWVzdHM/OiBib29sZWFuO1xuICB3YWl0Rm9yVG9rZW5Jbk1zPzogbnVtYmVyO1xuICBzaG93RGVidWdJbmZvcm1hdGlvbj86IGJvb2xlYW47XG4gIHBsdWdpblRpbWVvdXQ/OiBudW1iZXI7XG59XG5cbi8qKlxuICogVG9vbHMgZm9yIGluamVjdGluZyBhbmQgcHJvdmlkaW5nIHRoZSBhdXRoIGNvbmZpZ3VyYXRpb24gd2l0aCBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBhdXRoZW50aWNhdGlvbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gUHJvdmlkaW5nIGN1c3RvbSBhdXRoZW50aWNhdGlvbiBjb25maWd1cmF0aW9uLlxuICogYGBgdHNcbiAqICAgaW1wb3J0IHsgY3JlYXRlSW5pdGlhbHMsIHJlc29sdmVFbWFpbCwgcmVzb2x2ZVVzZXJuYW1lIH0gZnJvbSAnLi9oZWxwZXJzJztcbiAqXG4gKiAgIHByb3ZpZGVyczogW3Byb3ZpZGVBdXRoQ29uZmlnKHtcbiAqICAgICAgICBlbnZpcm9ubWVudDogJ2RldicsXG4gKiAgICAgICAgcmVkaXJlY3RQYXRoOiAnbG9naW4vY2FsbGJhY2snLFxuICogICAgICAgIGFsbG93ZWRVcmxzOiBbXSxcbiAqICAgICAgICB0aW1lb3V0RmFjdG9yOiAwLjc1LFxuICogICAgICAgIG1heE9mZmxpbmVUaW1lOiA2MCAqIDYwLCAvLyAxIGhvdXJcbiAqICAgICAgICBsb2FkVXNlclByb2ZpbGU6IGZhbHNlLFxuICogICAgICAgIGVycm9ySGFuZGxlcjogKGVycm9yKSA9PiB7XG4gKiAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAqICAgICAgICB9LFxuICogICAgICAgIGNyZWF0ZUluaXRpYWxzLFxuICogICAgICAgIHJlc29sdmVFbWFpbCxcbiAqICAgICAgICByZXNvbHZlVXNlcm5hbWUsXG4gKiAgICAgICAgcGx1Z2luczogW10sXG4gKiAgICAgICAgZGVmYXVsdEF1dGhvcml6ZWRIYW5kbGVyOiBudWxsLFxuICogICAgICAgIGVuYWJsZUxvYWRpbmdTY3JlZW46IHRydWUsXG4gKiAgICAgICAgbG9hZGluZ1NjcmVlbk1lc3NhZ2U6ICdMb2FkaW5nLi4uJyxcbiAqICAgICAgICB3YWl0Rm9yVG9rZW5Jbk1zOiA1MDAsXG4gKlxuICogICAgfSldLFxuICpcbiAqIC8vIEluamVjdGluZyB0aGUgZGF0ZXBpY2tlciBjb25maWd1cmF0aW9uLlxuICogYGBgdHNcbiAqIEBDb21wb25lbnQoe30pXG4gKiBleHBvcnQgY2xhc3MgTXlDb21wb25lbnQge1xuICogIGNvbnN0cnVjdG9yKEBJbmplY3QoaW5qZWN0QXV0aENvbmZpZygpKSBwcml2YXRlIHJlYWRvbmx5IGF1dGhDb25maWc6IEF1dGhDb25maWcpIHt9XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IHsgQXV0aERlZmF1bHRDb25maWcsIEF1dGhDb25maWcsIGluamVjdEF1dGhDb25maWcsIHByb3ZpZGVBdXRoQ29uZmlnIH0gPSBjcmVhdGVDb25maWdUb2tlbnMoJ0F1dGgnLCAnQG9keC9hdXRoJywge1xuICBlbnZpcm9ubWVudDogJ3Byb2QnLFxuICByZWRpcmVjdFBhdGg6ICdsb2dpbi9jYWxsYmFjaycsXG4gIGFsbG93ZWRVcmxzOiBbXSxcbiAgdGltZW91dEZhY3RvcjogMC43NSxcbiAgbWF4T2ZmbGluZVRpbWU6IDI0ICogNjAgKiA2MCwgLy8gMSBkYXlcbiAgbG9hZFVzZXJQcm9maWxlOiBmYWxzZSxcbiAgZXJyb3JIYW5kbGVyOiAoZXJyb3IpID0+IHtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfSxcbiAgY3JlYXRlSW5pdGlhbHMsXG4gIHJlc29sdmVFbWFpbCxcbiAgcmVzb2x2ZVVzZXJuYW1lLFxuICBwbHVnaW5zOiBbXSxcbiAgZGVmYXVsdEF1dGhvcml6ZWRIYW5kbGVyOiBudWxsLFxuICBlbmFibGVMb2FkaW5nU2NyZWVuOiB0cnVlLFxuICBsb2FkaW5nU2NyZWVuTWVzc2FnZTogbnVsbCxcbiAgd2FpdEZvclRva2VuSW5NczogMTAwMCxcbn0gYXMgQXV0aENvbmZpZyk7XG4iXX0=
@@ -9,8 +9,18 @@ export class AuthDirective {
9
9
  this.authService = inject(AuthService);
10
10
  this.ngIfDirective = inject(NgIf, { host: true });
11
11
  this.takeUntilDestroyed = untilDestroyed();
12
+ /**
13
+ * The authorization handler or a string representing the handler.
14
+ *
15
+ * @type {AuthorizedHandler | null | string}
16
+ */
12
17
  this.authorizationHandler = null;
13
18
  }
19
+ /**
20
+ * Sets the template to be displayed when the authorization check fails.
21
+ *
22
+ * @param {TemplateRef<NgIfContext<unknown>>} value - The template reference.
23
+ */
14
24
  // eslint-disable-next-line @angular-eslint/no-input-rename
15
25
  set elseTemplate(value) {
16
26
  this.ngIfDirective.ngIfElse = value;
@@ -38,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
38
48
  type: Input,
39
49
  args: ['odxAuthElse']
40
50
  }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9hdXRoLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFlLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQVE3QyxNQUFNLE9BQU8sYUFBYTtJQUwxQjtRQU1tQixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsQyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3Qyx1QkFBa0IsR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUdoRCx5QkFBb0IsR0FBdUMsSUFBSSxDQUFDO0tBY3hFO0lBWkMsMkRBQTJEO0lBQzNELElBQ1csWUFBWSxDQUFDLEtBQXdDO1FBQzlELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN0QyxDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzlFLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUM7WUFDdkYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQW5CVSxhQUFhO21HQUFiLGFBQWE7OzRGQUFiLGFBQWE7a0JBTHpCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FBQztpQkFDdkI7OEJBT1Esb0JBQW9CO3NCQUQxQixLQUFLO3VCQUFDLFNBQVM7Z0JBS0wsWUFBWTtzQkFEdEIsS0FBSzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiwgTmdJZkNvbnRleHQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNTdHJpbmcsIHVudGlsRGVzdHJveWVkIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aG9yaXplZEhhbmRsZXIgfSBmcm9tICcuL21vZGVscyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW29keEF1dGhdJyxcbiAgaG9zdERpcmVjdGl2ZXM6IFtOZ0lmXSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0aERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBuZ0lmRGlyZWN0aXZlID0gaW5qZWN0KE5nSWYsIHsgaG9zdDogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSByZWFkb25seSB0YWtlVW50aWxEZXN0cm95ZWQgPSB1bnRpbERlc3Ryb3llZCgpO1xuXG4gIEBJbnB1dCgnb2R4QXV0aCcpXG4gIHB1YmxpYyBhdXRob3JpemF0aW9uSGFuZGxlcj86IEF1dGhvcml6ZWRIYW5kbGVyIHwgbnVsbCB8IHN0cmluZyA9IG51bGw7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdvZHhBdXRoRWxzZScpXG4gIHB1YmxpYyBzZXQgZWxzZVRlbXBsYXRlKHZhbHVlOiBUZW1wbGF0ZVJlZjxOZ0lmQ29udGV4dDx1bmtub3duPj4pIHtcbiAgICB0aGlzLm5nSWZEaXJlY3RpdmUubmdJZkVsc2UgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hdXRoU2VydmljZS5pZGVudGl0eUNsYWltcyQucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlciA9IGlzU3RyaW5nKHRoaXMuYXV0aG9yaXphdGlvbkhhbmRsZXIpID8gbnVsbCA6IHRoaXMuYXV0aG9yaXphdGlvbkhhbmRsZXI7XG4gICAgICB0aGlzLm5nSWZEaXJlY3RpdmUubmdJZiA9IHRoaXMuYXV0aFNlcnZpY2UuaXNBdXRob3JpemVkKGhhbmRsZXIpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9hdXRoLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFlLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFpQixTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQVE3QyxNQUFNLE9BQU8sYUFBYTtJQUwxQjtRQU1tQixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsQyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3Qyx1QkFBa0IsR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUV2RDs7OztXQUlHO1FBRUkseUJBQW9CLEdBQXVDLElBQUksQ0FBQztLQW1CeEU7SUFqQkM7Ozs7T0FJRztJQUNILDJEQUEyRDtJQUMzRCxJQUNXLFlBQVksQ0FBQyxLQUF3QztRQUM5RCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQUVNLGVBQWU7UUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM5RSxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDO1lBQ3ZGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0E3QlUsYUFBYTttR0FBYixhQUFhOzs0RkFBYixhQUFhO2tCQUx6QixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUM7aUJBQ3ZCOzhCQVlRLG9CQUFvQjtzQkFEMUIsS0FBSzt1QkFBQyxTQUFTO2dCQVVMLFlBQVk7c0JBRHRCLEtBQUs7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nSWYsIE5nSWZDb250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzU3RyaW5nLCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhvcml6ZWRIYW5kbGVyIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtvZHhBdXRoXScsXG4gIGhvc3REaXJlY3RpdmVzOiBbTmdJZl0sXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgbmdJZkRpcmVjdGl2ZSA9IGluamVjdChOZ0lmLCB7IGhvc3Q6IHRydWUgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGFrZVVudGlsRGVzdHJveWVkID0gdW50aWxEZXN0cm95ZWQoKTtcblxuICAvKipcbiAgICogVGhlIGF1dGhvcml6YXRpb24gaGFuZGxlciBvciBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGhhbmRsZXIuXG4gICAqXG4gICAqIEB0eXBlIHtBdXRob3JpemVkSGFuZGxlciB8IG51bGwgfCBzdHJpbmd9XG4gICAqL1xuICBASW5wdXQoJ29keEF1dGgnKVxuICBwdWJsaWMgYXV0aG9yaXphdGlvbkhhbmRsZXI/OiBBdXRob3JpemVkSGFuZGxlciB8IG51bGwgfCBzdHJpbmcgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB0ZW1wbGF0ZSB0byBiZSBkaXNwbGF5ZWQgd2hlbiB0aGUgYXV0aG9yaXphdGlvbiBjaGVjayBmYWlscy5cbiAgICpcbiAgICogQHBhcmFtIHtUZW1wbGF0ZVJlZjxOZ0lmQ29udGV4dDx1bmtub3duPj59IHZhbHVlIC0gVGhlIHRlbXBsYXRlIHJlZmVyZW5jZS5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gIEBJbnB1dCgnb2R4QXV0aEVsc2UnKVxuICBwdWJsaWMgc2V0IGVsc2VUZW1wbGF0ZSh2YWx1ZTogVGVtcGxhdGVSZWY8TmdJZkNvbnRleHQ8dW5rbm93bj4+KSB7XG4gICAgdGhpcy5uZ0lmRGlyZWN0aXZlLm5nSWZFbHNlID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYXV0aFNlcnZpY2UuaWRlbnRpdHlDbGFpbXMkLnBpcGUodGhpcy50YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbnN0IGhhbmRsZXIgPSBpc1N0cmluZyh0aGlzLmF1dGhvcml6YXRpb25IYW5kbGVyKSA/IG51bGwgOiB0aGlzLmF1dGhvcml6YXRpb25IYW5kbGVyO1xuICAgICAgdGhpcy5uZ0lmRGlyZWN0aXZlLm5nSWYgPSB0aGlzLmF1dGhTZXJ2aWNlLmlzQXV0aG9yaXplZChoYW5kbGVyKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -4,6 +4,14 @@ import { WindowRef } from '@odx/angular';
4
4
  import { isString } from '@odx/angular/utils';
5
5
  import { EMPTY, of, switchMap, take, tap } from 'rxjs';
6
6
  import { AuthService } from './auth.service';
7
+ /**
8
+ * Guard function to protect routes from unauthorized access.
9
+ *
10
+ * @param {AuthorizedHandler} [authorizedHandler] - Optional handler to check if the user is authorized.
11
+ * @param {string | any[]} [redirectTo] - Optional URL or route to redirect unauthorized users to. Can be a string or an array of strings.
12
+ * @param {boolean} [isExternal=false] - Optional flag to indicate if the redirection should be external. Defaults to false.
13
+ * @returns {CanActivateFn} A function that implements the CanActivateFn interface.
14
+ */
7
15
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
16
  export function authGuard(authorizedHandler, redirectTo, isExternal = false) {
9
17
  return (_, state) => {
@@ -33,4 +41,4 @@ export function authGuard(authorizedHandler, redirectTo, isExternal = false) {
33
41
  }), take(1));
34
42
  };
35
43
  }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYXV0aC9zcmMvbGliL2F1dGguZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3Qyw4REFBOEQ7QUFDOUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxpQkFBcUMsRUFBRSxVQUEyQixFQUFFLFVBQVUsR0FBRyxLQUFLO0lBQzlHLE9BQU8sQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDbEIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFbEQsT0FBTyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUN0QyxTQUFTLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUM1QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3JCLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUU5QixPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7WUFDRCxPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTtZQUNuQixJQUFJLFlBQVksSUFBSSxDQUFDLE1BQU07Z0JBQUUsT0FBTztZQUNwQyxJQUFJLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUN6QixJQUFJLFVBQVUsRUFBRSxDQUFDO29CQUNmLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUN4QyxDQUFDO3FCQUFNLENBQUM7b0JBQ04sTUFBTSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDbkMsQ0FBQztZQUNILENBQUM7aUJBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDOUIsQ0FBQztRQUNILENBQUMsQ0FBQyxFQUNGLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDUixDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FuQWN0aXZhdGVGbiwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFdpbmRvd1JlZiB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBFTVBUWSwgb2YsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhvcml6ZWRIYW5kbGVyIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuZXhwb3J0IGZ1bmN0aW9uIGF1dGhHdWFyZChhdXRob3JpemVkSGFuZGxlcj86IEF1dGhvcml6ZWRIYW5kbGVyLCByZWRpcmVjdFRvPzogYW55W10gfCBzdHJpbmcsIGlzRXh0ZXJuYWwgPSBmYWxzZSk6IENhbkFjdGl2YXRlRm4ge1xuICByZXR1cm4gKF8sIHN0YXRlKSA9PiB7XG4gICAgY29uc3QgYXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICAgIGNvbnN0IHdpbmRvd1JlZiA9IGluamVjdChXaW5kb3dSZWYpO1xuICAgIGNvbnN0IHJvdXRlciA9IGluamVjdChSb3V0ZXIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgICByZXR1cm4gYXV0aFNlcnZpY2UuaXNBdXRoZW50aWNhdGVkJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKChpc0F1dGhlbnRpY2F0ZWQpID0+IHtcbiAgICAgICAgaWYgKCFpc0F1dGhlbnRpY2F0ZWQpIHtcbiAgICAgICAgICBhdXRoU2VydmljZS5zaWduSW4oc3RhdGUudXJsKTtcblxuICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2YoYXV0aFNlcnZpY2UuaXNBdXRob3JpemVkKGF1dGhvcml6ZWRIYW5kbGVyKSk7XG4gICAgICB9KSxcbiAgICAgIHRhcCgoaXNBdXRob3JpemVkKSA9PiB7XG4gICAgICAgIGlmIChpc0F1dGhvcml6ZWQgfHwgIXJvdXRlcikgcmV0dXJuO1xuICAgICAgICBpZiAoaXNTdHJpbmcocmVkaXJlY3RUbykpIHtcbiAgICAgICAgICBpZiAoaXNFeHRlcm5hbCkge1xuICAgICAgICAgICAgd2luZG93UmVmLmxvY2F0aW9uLmFzc2lnbihyZWRpcmVjdFRvKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcm91dGVyLm5hdmlnYXRlQnlVcmwocmVkaXJlY3RUbyk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocmVkaXJlY3RUbykpIHtcbiAgICAgICAgICByb3V0ZXIubmF2aWdhdGUocmVkaXJlY3RUbyk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgdGFrZSgxKSxcbiAgICApO1xuICB9O1xufVxuIl19
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYXV0aC9zcmMvbGliL2F1dGguZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc3Qzs7Ozs7OztHQU9HO0FBQ0gsOERBQThEO0FBQzlELE1BQU0sVUFBVSxTQUFTLENBQUMsaUJBQXFDLEVBQUUsVUFBMkIsRUFBRSxVQUFVLEdBQUcsS0FBSztJQUM5RyxPQUFPLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ2xCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4QyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRWxELE9BQU8sV0FBVyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FDdEMsU0FBUyxDQUFDLENBQUMsZUFBZSxFQUFFLEVBQUU7WUFDNUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUNyQixXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFFOUIsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1lBQ0QsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDbkIsSUFBSSxZQUFZLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU87WUFDcEMsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxVQUFVLEVBQUUsQ0FBQztvQkFDZixTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDeEMsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ25DLENBQUM7WUFDSCxDQUFDO2lCQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUNyQyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzlCLENBQUM7UUFDSCxDQUFDLENBQUMsRUFDRixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1IsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbkFjdGl2YXRlRm4sIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBXaW5kb3dSZWYgfSBmcm9tICdAb2R4L2FuZ3VsYXInO1xuaW1wb3J0IHsgaXNTdHJpbmcgfSBmcm9tICdAb2R4L2FuZ3VsYXIvdXRpbHMnO1xuaW1wb3J0IHsgRU1QVFksIG9mLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XG5pbXBvcnQgeyBBdXRob3JpemVkSGFuZGxlciB9IGZyb20gJy4vbW9kZWxzJztcblxuLyoqXG4gKiBHdWFyZCBmdW5jdGlvbiB0byBwcm90ZWN0IHJvdXRlcyBmcm9tIHVuYXV0aG9yaXplZCBhY2Nlc3MuXG4gKlxuICogQHBhcmFtIHtBdXRob3JpemVkSGFuZGxlcn0gW2F1dGhvcml6ZWRIYW5kbGVyXSAtIE9wdGlvbmFsIGhhbmRsZXIgdG8gY2hlY2sgaWYgdGhlIHVzZXIgaXMgYXV0aG9yaXplZC5cbiAqIEBwYXJhbSB7c3RyaW5nIHwgYW55W119IFtyZWRpcmVjdFRvXSAtIE9wdGlvbmFsIFVSTCBvciByb3V0ZSB0byByZWRpcmVjdCB1bmF1dGhvcml6ZWQgdXNlcnMgdG8uIENhbiBiZSBhIHN0cmluZyBvciBhbiBhcnJheSBvZiBzdHJpbmdzLlxuICogQHBhcmFtIHtib29sZWFufSBbaXNFeHRlcm5hbD1mYWxzZV0gLSBPcHRpb25hbCBmbGFnIHRvIGluZGljYXRlIGlmIHRoZSByZWRpcmVjdGlvbiBzaG91bGQgYmUgZXh0ZXJuYWwuIERlZmF1bHRzIHRvIGZhbHNlLlxuICogQHJldHVybnMge0NhbkFjdGl2YXRlRm59IEEgZnVuY3Rpb24gdGhhdCBpbXBsZW1lbnRzIHRoZSBDYW5BY3RpdmF0ZUZuIGludGVyZmFjZS5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmV4cG9ydCBmdW5jdGlvbiBhdXRoR3VhcmQoYXV0aG9yaXplZEhhbmRsZXI/OiBBdXRob3JpemVkSGFuZGxlciwgcmVkaXJlY3RUbz86IGFueVtdIHwgc3RyaW5nLCBpc0V4dGVybmFsID0gZmFsc2UpOiBDYW5BY3RpdmF0ZUZuIHtcbiAgcmV0dXJuIChfLCBzdGF0ZSkgPT4ge1xuICAgIGNvbnN0IGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgICBjb25zdCB3aW5kb3dSZWYgPSBpbmplY3QoV2luZG93UmVmKTtcbiAgICBjb25zdCByb3V0ZXIgPSBpbmplY3QoUm91dGVyLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICAgcmV0dXJuIGF1dGhTZXJ2aWNlLmlzQXV0aGVudGljYXRlZCQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoaXNBdXRoZW50aWNhdGVkKSA9PiB7XG4gICAgICAgIGlmICghaXNBdXRoZW50aWNhdGVkKSB7XG4gICAgICAgICAgYXV0aFNlcnZpY2Uuc2lnbkluKHN0YXRlLnVybCk7XG5cbiAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9mKGF1dGhTZXJ2aWNlLmlzQXV0aG9yaXplZChhdXRob3JpemVkSGFuZGxlcikpO1xuICAgICAgfSksXG4gICAgICB0YXAoKGlzQXV0aG9yaXplZCkgPT4ge1xuICAgICAgICBpZiAoaXNBdXRob3JpemVkIHx8ICFyb3V0ZXIpIHJldHVybjtcbiAgICAgICAgaWYgKGlzU3RyaW5nKHJlZGlyZWN0VG8pKSB7XG4gICAgICAgICAgaWYgKGlzRXh0ZXJuYWwpIHtcbiAgICAgICAgICAgIHdpbmRvd1JlZi5sb2NhdGlvbi5hc3NpZ24ocmVkaXJlY3RUbyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHJlZGlyZWN0VG8pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHJlZGlyZWN0VG8pKSB7XG4gICAgICAgICAgcm91dGVyLm5hdmlnYXRlKHJlZGlyZWN0VG8pO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHRha2UoMSksXG4gICAgKTtcbiAgfTtcbn1cbiJdfQ==
@@ -5,6 +5,13 @@ import { mergeMap } from 'rxjs';
5
5
  import { injectAuthConfig } from './auth.config';
6
6
  import { AuthService } from './auth.service';
7
7
  export const requireAuthentication = new HttpContextToken(() => false);
8
+ /**
9
+ * Interceptor to handle authentication for HTTP requests.
10
+ *
11
+ * This interceptor checks if the request URL is allowed or if the request requires authentication.
12
+ * If the URL is not allowed and the request does not require authentication, it simply forwards the request.
13
+ * Otherwise, it prepares the authentication request using the AuthService.
14
+ */
8
15
  export const authInterceptor = (req, next) => {
9
16
  const { allowedUrls, requireSignInForRequests } = injectAuthConfig();
10
17
  const isUrlAllowed = allowedUrls.some((allowedUrl) => matchUrl(req.url, allowedUrl));
@@ -13,4 +20,4 @@ export const authInterceptor = (req, next) => {
13
20
  }
14
21
  return inject(AuthService).prepareAuthRequest$(req, requireSignInForRequests).pipe(mergeMap(next));
15
22
  };
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYXV0aC9zcmMvbGliL2F1dGguaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFxQixNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGdCQUFnQixDQUFVLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBRWhGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBc0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7SUFDOUQsTUFBTSxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7SUFDckUsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNyRixJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO1FBQzdELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsd0JBQXdCLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDckcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENvbnRleHRUb2tlbiwgSHR0cEludGVyY2VwdG9yRm4gfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1hdGNoVXJsIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpbmplY3RBdXRoQ29uZmlnIH0gZnJvbSAnLi9hdXRoLmNvbmZpZyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IHJlcXVpcmVBdXRoZW50aWNhdGlvbiA9IG5ldyBIdHRwQ29udGV4dFRva2VuPGJvb2xlYW4+KCgpID0+IGZhbHNlKTtcblxuZXhwb3J0IGNvbnN0IGF1dGhJbnRlcmNlcHRvcjogSHR0cEludGVyY2VwdG9yRm4gPSAocmVxLCBuZXh0KSA9PiB7XG4gIGNvbnN0IHsgYWxsb3dlZFVybHMsIHJlcXVpcmVTaWduSW5Gb3JSZXF1ZXN0cyB9ID0gaW5qZWN0QXV0aENvbmZpZygpO1xuICBjb25zdCBpc1VybEFsbG93ZWQgPSBhbGxvd2VkVXJscy5zb21lKChhbGxvd2VkVXJsKSA9PiBtYXRjaFVybChyZXEudXJsLCBhbGxvd2VkVXJsKSk7XG4gIGlmICghaXNVcmxBbGxvd2VkICYmICFyZXEuY29udGV4dC5nZXQocmVxdWlyZUF1dGhlbnRpY2F0aW9uKSkge1xuICAgIHJldHVybiBuZXh0KHJlcSk7XG4gIH1cblxuICByZXR1cm4gaW5qZWN0KEF1dGhTZXJ2aWNlKS5wcmVwYXJlQXV0aFJlcXVlc3QkKHJlcSwgcmVxdWlyZVNpZ25JbkZvclJlcXVlc3RzKS5waXBlKG1lcmdlTWFwKG5leHQpKTtcbn07XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYXV0aC9zcmMvbGliL2F1dGguaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFxQixNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGdCQUFnQixDQUFVLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBRWhGOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBc0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7SUFDOUQsTUFBTSxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7SUFDckUsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNyRixJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO1FBQzdELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsd0JBQXdCLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDckcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENvbnRleHRUb2tlbiwgSHR0cEludGVyY2VwdG9yRm4gfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1hdGNoVXJsIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpbmplY3RBdXRoQ29uZmlnIH0gZnJvbSAnLi9hdXRoLmNvbmZpZyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IHJlcXVpcmVBdXRoZW50aWNhdGlvbiA9IG5ldyBIdHRwQ29udGV4dFRva2VuPGJvb2xlYW4+KCgpID0+IGZhbHNlKTtcblxuLyoqXG4gKiBJbnRlcmNlcHRvciB0byBoYW5kbGUgYXV0aGVudGljYXRpb24gZm9yIEhUVFAgcmVxdWVzdHMuXG4gKlxuICogVGhpcyBpbnRlcmNlcHRvciBjaGVja3MgaWYgdGhlIHJlcXVlc3QgVVJMIGlzIGFsbG93ZWQgb3IgaWYgdGhlIHJlcXVlc3QgcmVxdWlyZXMgYXV0aGVudGljYXRpb24uXG4gKiBJZiB0aGUgVVJMIGlzIG5vdCBhbGxvd2VkIGFuZCB0aGUgcmVxdWVzdCBkb2VzIG5vdCByZXF1aXJlIGF1dGhlbnRpY2F0aW9uLCBpdCBzaW1wbHkgZm9yd2FyZHMgdGhlIHJlcXVlc3QuXG4gKiBPdGhlcndpc2UsIGl0IHByZXBhcmVzIHRoZSBhdXRoZW50aWNhdGlvbiByZXF1ZXN0IHVzaW5nIHRoZSBBdXRoU2VydmljZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGF1dGhJbnRlcmNlcHRvcjogSHR0cEludGVyY2VwdG9yRm4gPSAocmVxLCBuZXh0KSA9PiB7XG4gIGNvbnN0IHsgYWxsb3dlZFVybHMsIHJlcXVpcmVTaWduSW5Gb3JSZXF1ZXN0cyB9ID0gaW5qZWN0QXV0aENvbmZpZygpO1xuICBjb25zdCBpc1VybEFsbG93ZWQgPSBhbGxvd2VkVXJscy5zb21lKChhbGxvd2VkVXJsKSA9PiBtYXRjaFVybChyZXEudXJsLCBhbGxvd2VkVXJsKSk7XG4gIGlmICghaXNVcmxBbGxvd2VkICYmICFyZXEuY29udGV4dC5nZXQocmVxdWlyZUF1dGhlbnRpY2F0aW9uKSkge1xuICAgIHJldHVybiBuZXh0KHJlcSk7XG4gIH1cblxuICByZXR1cm4gaW5qZWN0KEF1dGhTZXJ2aWNlKS5wcmVwYXJlQXV0aFJlcXVlc3QkKHJlcSwgcmVxdWlyZVNpZ25JbkZvclJlcXVlc3RzKS5waXBlKG1lcmdlTWFwKG5leHQpKTtcbn07XG4iXX0=
@@ -43,6 +43,11 @@ export const ODX_AUTH_PLUGINS = new InjectionToken('@odx/auth::Plugins', {
43
43
  return [...corePlugins, ...plugins].map((pluginFactory) => pluginFactory());
44
44
  },
45
45
  });
46
+ /**
47
+ * Provides a logger for the authentication module.
48
+ *
49
+ * @returns {Provider} - The provider for the logger.
50
+ */
46
51
  export function provideAuthLogger() {
47
52
  return {
48
53
  provide: ENVIRONMENT_INITIALIZER,
@@ -55,11 +60,19 @@ export function provideAuthLogger() {
55
60
  multi: true,
56
61
  };
57
62
  }
63
+ /**
64
+ * Initializes the authentication error handlers.
65
+ */
58
66
  export function initializeAuthErrorHandlers() {
59
67
  const authService = inject(AuthService);
60
68
  const handler = handleAuthError(inject(ODX_AUTH_ERROR_HANDLERS));
61
69
  authService.errors$.pipe(tap((error) => handler(error))).subscribe();
62
70
  }
71
+ /**
72
+ * Initializes the authentication configuration.
73
+ *
74
+ * @returns {() => Promise<void>} - A function that returns a promise resolving when the configuration is initialized.
75
+ */
63
76
  export function initalizeAuthConfig() {
64
77
  const { clientId, scopes, redirectPath, environment, postLogoutRedirectUrl, issuer, timeoutFactor, discoveryUrl, enableLoadingScreen } = injectAuthConfig();
65
78
  const authService = inject(AuthService);
@@ -82,6 +95,27 @@ export function initalizeAuthConfig() {
82
95
  waitForTokenInMsec: 1000,
83
96
  });
84
97
  }
98
+ /**
99
+ * Provides the authentication configuration and dependencies.
100
+ *
101
+ * @param {ConfigProvider<Partial<AuthConfig>, D>} config - The configuration provider.
102
+ * @returns {EnvironmentProviders} The environment providers for authentication.
103
+ * @template D
104
+ *
105
+ * @example Provide the authentication configuration and dependencies
106
+ * ```ts
107
+ * providers: [
108
+ * provideAuth({
109
+ * useFactory: ({ environment, auth: { clientId, loadUserProfile } }: ApplicationEnvironment) => ({
110
+ * environment,
111
+ * clientId,
112
+ * loadUserProfile,
113
+ * }),
114
+ * deps: [APPLICATION_ENVIRONMENT],
115
+ * }),
116
+ * ],
117
+ * ```
118
+ */
85
119
  export function provideAuth(config) {
86
120
  return makeEnvironmentProviders([
87
121
  provideAuthConfig(config),
@@ -99,4 +133,4 @@ export function provideAuth(config) {
99
133
  },
100
134
  ]);
101
135
  }
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9hdXRoLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUF3QixjQUFjLEVBQVksTUFBTSxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNKLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbkUsT0FBTyxFQUFzQyxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQixPQUFPLEVBQWtDLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFDbkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9ELE9BQU8sRUFBeUQsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUcsT0FBTyxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FB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QUFPLEVBQUUsZUFBZTtZQUN4QixVQUFVLEVBQUUsbUJBQW1CO1lBQy9CLEtBQUssRUFBRSxJQUFJO1NBQ1o7UUFDRDtZQUNFLE9BQU8sRUFBRSxZQUFZO1lBQ3JCLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxDQUFDLFlBQVk7U0FDNUY7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcHJvdmlkZUh0dHBDbGllbnQsIHdpdGhJbnRlcmNlcHRvcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBUFBfSU5JVElBTElaRVIsIEVOVklST05NRU5UX0lOSVRJQUxJWkVSLCBFbnZpcm9ubWVudFByb3ZpZGVycywgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyLCBpbmplY3QsIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV2luZG93UmVmIH0gZnJvbSAnQG9keC9hbmd1bGFyJztcbmltcG9ydCB7IER5bmFtaWNWaWV3U2VydmljZSB9IGZyb20gJ0BvZHgvYW5ndWxhci9jZGsvZHluYW1pYy12aWV3JztcbmltcG9ydCB7IENvbmZpZ0RlcGVuZGVuY2llcywgQ29uZmlnUHJvdmlkZXIsIGJ1aWxkVXJsIH0gZnJvbSAnQG9keC9hbmd1bGFyL3V0aWxzJztcbmltcG9ydCB7IE9BdXRoU3RvcmFnZSwgcHJvdmlkZU9BdXRoQ2xpZW50IH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEF1dGhDb25maWcsIEF1dGhFcnJvckhhbmRsZXJGbiwgT0RYX0FVVEhfREVGQVVMVF9TQ09QRVMsIGluamVjdEF1dGhDb25maWcsIHByb3ZpZGVBdXRoQ29uZmlnIH0gZnJvbSAnLi9hdXRoLmNvbmZpZyc7XG5pbXBvcnQgeyBhdXRoSW50ZXJjZXB0b3IgfSBmcm9tICcuL2F1dGguaW50ZXJjZXB0b3InO1xuaW1wb3J0IGxvZ2dlciBmcm9tICcuL2F1dGgubG9nZ2VyJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aExvYWRpbmdTY3JlZW5Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgY3JlYXRlQXV0aEhvc3RVcmwsIGhhbmRsZUF1dGhFcnJvciB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBBdXRoUGx1Z2luLCBBdXRoUGx1Z2luRXJyb3JIYW5kbGVyLCBBdXRoUGx1Z2luRmFjdG9yeSwgb2ZmbGluZUF1dGhFcnJvckhhbmRsZXIgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBjb3JlRGVidWdQbHVnaW4sIGNvcmVJZGVudGl0eVBsdWdpbiwgdXNlclByb2ZpbGVVcmxQbHVnaW4gfSBmcm9tICcuL3BsdWdpbnMnO1xuXG5leHBvcnQgY29uc3QgT0RYX0FVVEhfRVJST1JfSEFORExFUlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48QXV0aEVycm9ySGFuZGxlckZuW10+KCdAb2R4L2F1dGg6OkVycm9ySGFuZGxlcnMnLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4ge1xuICAgIGNvbnN0IHsgZXJyb3JIYW5kbGVyIH0gPSBpbmplY3RBdXRoQ29uZmlnKCk7XG5cbiAgICByZXR1cm4gW29mZmxpbmVBdXRoRXJyb3JIYW5kbGVyLCBlcnJvckhhbmRsZXJdO1xuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCBPRFhfQVVUSF9QTFVHSU5TX0VSUk9SX0hBTkRMRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48QXV0aFBsdWdpbkVycm9ySGFuZGxlciB8IG51bGw+KCdAb2R4L2F1dGg6OlBsdWdpbnNFcnJvckhhbmRsZXInLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4gaW5qZWN0QXV0aENvbmZpZygpLnBsdWdpbnNFcnJvckhhbmRsZXIgPz8gbnVsbCxcbn0pO1xuXG5leHBvcnQgY29uc3QgT0RYX0FVVEhfQ09SRV9QTFVHSU5TID0gbmV3IEluamVjdGlvblRva2VuPEF1dGhQbHVnaW5GYWN0b3J5W10+KCdAb2R4L2F1dGg6OkNvcmVQbHVnaW5zJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+IHtcbiAgICBjb25zdCB7IHNob3dEZWJ1Z0luZm9ybWF0aW9uIH0gPSBpbmplY3RBdXRoQ29uZmlnKCk7XG4gICAgY29uc3QgcGx1Z2lucyA9IFtjb3JlSWRlbnRpdHlQbHVnaW4sIHVzZXJQcm9maWxlVXJsUGx1Z2luXTtcbiAgICBpZiAoc2hvd0RlYnVnSW5mb3JtYXRpb24pIHtcbiAgICAgIHBsdWdpbnMucHVzaChjb3JlRGVidWdQbHVnaW4pO1xuICAgIH1cblxuICAgIHJldHVybiBwbHVnaW5zO1xuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCBPRFhfQVVUSF9QTFVHSU5TID0gbmV3IEluamVjdGlvblRva2VuPEF1dGhQbHVnaW5bXT4oJ0BvZHgvYXV0aDo6UGx1Z2lucycsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5OiAoKSA9PiB7XG4gICAgY29uc3QgeyBwbHVnaW5zIH0gPSBpbmplY3RBdXRoQ29uZmlnKCk7XG4gICAgY29uc3QgY29yZVBsdWdpbnMgPSBpbmplY3QoT0RYX0FVVEhfQ09SRV9QTFVHSU5TKTtcblxuICAgIHJldHVybiBbLi4uY29yZVBsdWdpbnMsIC4uLnBsdWdpbnNdLm1hcCgocGx1Z2luRmFjdG9yeSkgPT4gcGx1Z2luRmFjdG9yeSgpKTtcbiAgfSxcbn0pO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUF1dGhMb2dnZXIoKTogUHJvdmlkZXIge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IEVOVklST05NRU5UX0lOSVRJQUxJWkVSLFxuICAgIHVzZUZhY3Rvcnk6ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgc2hvd0RlYnVnSW5mb3JtYXRpb24gfSA9IGluamVjdEF1dGhDb25maWcoKTtcbiAgICAgIGlmICghc2hvd0RlYnVnSW5mb3JtYXRpb24pIGxvZ2dlci5kaXNhYmxlKCk7XG5cbiAgICAgIHJldHVybiAoKSA9PiB2b2lkIDA7XG4gICAgfSxcbiAgICBtdWx0aTogdHJ1ZSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVBdXRoRXJyb3JIYW5kbGVycygpOiB2b2lkIHtcbiAgY29uc3QgYXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICBjb25zdCBoYW5kbGVyID0gaGFuZGxlQXV0aEVycm9yKGluamVjdChPRFhfQVVUSF9FUlJPUl9IQU5ETEVSUykpO1xuXG4gIGF1dGhTZXJ2aWNlLmVycm9ycyQucGlwZSh0YXAoKGVycm9yKSA9PiBoYW5kbGVyKGVycm9yKSkpLnN1YnNjcmliZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdGFsaXplQXV0aENvbmZpZygpOiAoKSA9PiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgeyBjbGllbnRJZCwgc2NvcGVzLCByZWRpcmVjdFBhdGgsIGVudmlyb25tZW50LCBwb3N0TG9nb3V0UmVkaXJlY3RVcmwsIGlzc3VlciwgdGltZW91dEZhY3RvciwgZGlzY292ZXJ5VXJsLCBlbmFibGVMb2FkaW5nU2NyZWVuIH0gPSBpbmplY3RBdXRoQ29uZmlnKCk7XG4gIGNvbnN0IGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgY29uc3QgcmVkaXJlY3RVcmkgPSBidWlsZFVybChpbmplY3QoV2luZG93UmVmKS5nZXRPcmlnaW4oKSwgcmVkaXJlY3RQYXRoKTtcbiAgY29uc3Qgc2NvcGUgPSBBcnJheS5mcm9tKG5ldyBTZXQoT0RYX0FVVEhfREVGQVVMVF9TQ09QRVMuY29uY2F0KHNjb3BlcyA/PyBbXSkpKS5qb2luKCcgJyk7XG4gIGlmIChlbmFibGVMb2FkaW5nU2NyZWVuKSB7XG4gICAgQXV0aExvYWRpbmdTY3JlZW5Db21wb25lbnQuaW5pdGlhbGl6ZShhdXRoU2VydmljZSwgaW5qZWN0KER5bmFtaWNWaWV3U2VydmljZSkpO1xuICB9XG4gIHJldHVybiAoKSA9PlxuICAgIGF1dGhTZXJ2aWNlLmluaXRpYWxpemUoe1xuICAgICAgY2xpZW50SWQsXG4gICAgICBpc3N1ZXI6IGlzc3VlciA/PyBjcmVhdGVBdXRoSG9zdFVybChlbnZpcm9ubWVudCwgJ29hdXRoMi9kZWZhdWx0JyksXG4gICAgICBzY29wZSxcbiAgICAgIHJlZGlyZWN0VXJpLFxuICAgICAgcG9zdExvZ291dFJlZGlyZWN0VXJpOiBwb3N0TG9nb3V0UmVkaXJlY3RVcmwsXG4gICAgICBwcmVzZXJ2ZVJlcXVlc3RlZFJvdXRlOiB0cnVlLFxuICAgICAgc3RyaWN0RGlzY292ZXJ5RG9jdW1lbnRWYWxpZGF0aW9uOiAhZGlzY292ZXJ5VXJsLFxuICAgICAgcmVzcG9uc2VUeXBlOiAnY29kZScsXG4gICAgICBzaG93RGVidWdJbmZvcm1hdGlvbjogZmFsc2UsXG4gICAgICB0aW1lb3V0RmFjdG9yLFxuICAgICAgd2FpdEZvclRva2VuSW5Nc2VjOiAxMDAwLFxuICAgIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUF1dGg8RCBleHRlbmRzIENvbmZpZ0RlcGVuZGVuY2llcz4oY29uZmlnOiBDb25maWdQcm92aWRlcjxQYXJ0aWFsPEF1dGhDb25maWc+LCBEPik6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gICAgcHJvdmlkZUF1dGhDb25maWcoY29uZmlnKSxcbiAgICBwcm92aWRlQXV0aExvZ2dlcigpLFxuICAgIHByb3ZpZGVPQXV0aENsaWVudCh7IHJlc291cmNlU2VydmVyOiB7IHNlbmRBY2Nlc3NUb2tlbjogZmFsc2UsIGFsbG93ZWRVcmxzOiBbXSB9IH0pLFxuICAgIHByb3ZpZGVIdHRwQ2xpZW50KHdpdGhJbnRlcmNlcHRvcnMoW2F1dGhJbnRlcmNlcHRvcl0pKSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICB1c2VGYWN0b3J5OiBpbml0YWxpemVBdXRoQ29uZmlnLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBPQXV0aFN0b3JhZ2UsXG4gICAgICB1c2VGYWN0b3J5OiAoKSA9PiBpbmplY3RBdXRoQ29uZmlnKCkuc3RvcmFnZSA/PyBpbmplY3QoV2luZG93UmVmKS5uYXRpdmVXaW5kb3cubG9jYWxTdG9yYWdlLFxuICAgIH0sXG4gIF0pO1xufVxuIl19
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2F1dGgvc3JjL2xpYi9hdXRoLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUF3QixjQUFjLEVBQVksTUFBTSxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNKLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbkUsT0FBTyxFQUFzQyxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQixPQUFPLEVBQWtDLHVCQUF1QixFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLE1BQU0sTUFBTSxlQUFlLENBQUM7QUFDbkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQy9ELE9BQU8sRUFBeUQsdUJBQXVCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDMUcsT0FBTyxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV0RixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FBdUIsMEJBQTBCLEVBQUU7SUFDMUcsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNaLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBRTVDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNqRCxDQUFDO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsSUFBSSxjQUFjLENBQWdDLGdDQUFnQyxFQUFFO0lBQ2hJLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLG1CQUFtQixJQUFJLElBQUk7Q0FDOUQsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQXNCLHdCQUF3QixFQUFFO0lBQ3JHLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDWixNQUFNLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3BELE1BQU0sT0FBTyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUMzRCxJQUFJLG9CQUFvQixFQUFFLENBQUM7WUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUFlLG9CQUFvQixFQUFFO0lBQ3JGLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDWixNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUN2QyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUVsRCxPQUFPLENBQUMsR0FBRyxXQUFXLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDOUUsQ0FBQztDQUNGLENBQUMsQ0FBQztBQUVIOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCO0lBQy9CLE9BQU87UUFDTCxPQUFPLEVBQUUsdUJBQXVCO1FBQ2hDLFVBQVUsRUFBRSxHQUFHLEVBQUU7WUFDZixNQUFNLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3BELElBQUksQ0FBQyxvQkFBb0I7Z0JBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBRTVDLE9BQU8sR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEIsQ0FBQztRQUNELEtBQUssRUFBRSxJQUFJO0tBQ1osQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSwyQkFBMkI7SUFDekMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO0lBRWpFLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUN2RSxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxtQkFBbUI7SUFDakMsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7SUFDNUosTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDMUUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUYsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQ3hCLDBCQUEwQixDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBQ0QsT0FBTyxHQUFHLEVBQUUsQ0FDVixXQUFXLENBQUMsVUFBVSxDQUFDO1FBQ3JCLFFBQVE7UUFDUixNQUFNLEVBQUUsTUFBTSxJQUFJLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQztRQUNsRSxLQUFLO1FBQ0wsV0FBVztRQUNYLHFCQUFxQixFQUFFLHFCQUFxQjtRQUM1QyxzQkFBc0IsRUFBRSxJQUFJO1FBQzVCLGlDQUFpQyxFQUFFLENBQUMsWUFBWTtRQUNoRCxZQUFZLEVBQUUsTUFBTTtRQUNwQixvQkFBb0IsRUFBRSxLQUFLO1FBQzNCLGFBQWE7UUFDYixrQkFBa0IsRUFBRSxJQUFJO0tBQ3pCLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUErQixNQUE4QztJQUN0RyxPQUFPLHdCQUF3QixDQUFDO1FBQzlCLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztRQUN6QixpQkFBaUIsRUFBRTtRQUNuQixrQkFBa0IsQ0FBQyxFQUFFLGNBQWMsRUFBRSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDbkYsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ3REO1lBQ0UsT0FBTyxFQUFFLGVBQWU7WUFDeEIsVUFBVSxFQUFFLG1CQUFtQjtZQUMvQixLQUFLLEVBQUUsSUFBSTtTQUNaO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsWUFBWTtZQUNyQixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxZQUFZO1NBQzVGO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb3ZpZGVIdHRwQ2xpZW50LCB3aXRoSW50ZXJjZXB0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBFTlZJUk9OTUVOVF9JTklUSUFMSVpFUiwgRW52aXJvbm1lbnRQcm92aWRlcnMsIEluamVjdGlvblRva2VuLCBQcm92aWRlciwgaW5qZWN0LCBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdpbmRvd1JlZiB9IGZyb20gJ0BvZHgvYW5ndWxhcic7XG5pbXBvcnQgeyBEeW5hbWljVmlld1NlcnZpY2UgfSBmcm9tICdAb2R4L2FuZ3VsYXIvY2RrL2R5bmFtaWMtdmlldyc7XG5pbXBvcnQgeyBDb25maWdEZXBlbmRlbmNpZXMsIENvbmZpZ1Byb3ZpZGVyLCBidWlsZFVybCB9IGZyb20gJ0BvZHgvYW5ndWxhci91dGlscyc7XG5pbXBvcnQgeyBPQXV0aFN0b3JhZ2UsIHByb3ZpZGVPQXV0aENsaWVudCB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBdXRoQ29uZmlnLCBBdXRoRXJyb3JIYW5kbGVyRm4sIE9EWF9BVVRIX0RFRkFVTFRfU0NPUEVTLCBpbmplY3RBdXRoQ29uZmlnLCBwcm92aWRlQXV0aENvbmZpZyB9IGZyb20gJy4vYXV0aC5jb25maWcnO1xuaW1wb3J0IHsgYXV0aEludGVyY2VwdG9yIH0gZnJvbSAnLi9hdXRoLmludGVyY2VwdG9yJztcbmltcG9ydCBsb2dnZXIgZnJvbSAnLi9hdXRoLmxvZ2dlcic7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4vYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhMb2FkaW5nU2NyZWVuQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzJztcbmltcG9ydCB7IGNyZWF0ZUF1dGhIb3N0VXJsLCBoYW5kbGVBdXRoRXJyb3IgfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgQXV0aFBsdWdpbiwgQXV0aFBsdWdpbkVycm9ySGFuZGxlciwgQXV0aFBsdWdpbkZhY3RvcnksIG9mZmxpbmVBdXRoRXJyb3JIYW5kbGVyIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgY29yZURlYnVnUGx1Z2luLCBjb3JlSWRlbnRpdHlQbHVnaW4sIHVzZXJQcm9maWxlVXJsUGx1Z2luIH0gZnJvbSAnLi9wbHVnaW5zJztcblxuZXhwb3J0IGNvbnN0IE9EWF9BVVRIX0VSUk9SX0hBTkRMRVJTID0gbmV3IEluamVjdGlvblRva2VuPEF1dGhFcnJvckhhbmRsZXJGbltdPignQG9keC9hdXRoOjpFcnJvckhhbmRsZXJzJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+IHtcbiAgICBjb25zdCB7IGVycm9ySGFuZGxlciB9ID0gaW5qZWN0QXV0aENvbmZpZygpO1xuXG4gICAgcmV0dXJuIFtvZmZsaW5lQXV0aEVycm9ySGFuZGxlciwgZXJyb3JIYW5kbGVyXTtcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgT0RYX0FVVEhfUExVR0lOU19FUlJPUl9IQU5ETEVSID0gbmV3IEluamVjdGlvblRva2VuPEF1dGhQbHVnaW5FcnJvckhhbmRsZXIgfCBudWxsPignQG9keC9hdXRoOjpQbHVnaW5zRXJyb3JIYW5kbGVyJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+IGluamVjdEF1dGhDb25maWcoKS5wbHVnaW5zRXJyb3JIYW5kbGVyID8/IG51bGwsXG59KTtcblxuZXhwb3J0IGNvbnN0IE9EWF9BVVRIX0NPUkVfUExVR0lOUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBdXRoUGx1Z2luRmFjdG9yeVtdPignQG9keC9hdXRoOjpDb3JlUGx1Z2lucycsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5OiAoKSA9PiB7XG4gICAgY29uc3QgeyBzaG93RGVidWdJbmZvcm1hdGlvbiB9ID0gaW5qZWN0QXV0aENvbmZpZygpO1xuICAgIGNvbnN0IHBsdWdpbnMgPSBbY29yZUlkZW50aXR5UGx1Z2luLCB1c2VyUHJvZmlsZVVybFBsdWdpbl07XG4gICAgaWYgKHNob3dEZWJ1Z0luZm9ybWF0aW9uKSB7XG4gICAgICBwbHVnaW5zLnB1c2goY29yZURlYnVnUGx1Z2luKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGx1Z2lucztcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgT0RYX0FVVEhfUExVR0lOUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBdXRoUGx1Z2luW10+KCdAb2R4L2F1dGg6OlBsdWdpbnMnLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4ge1xuICAgIGNvbnN0IHsgcGx1Z2lucyB9ID0gaW5qZWN0QXV0aENvbmZpZygpO1xuICAgIGNvbnN0IGNvcmVQbHVnaW5zID0gaW5qZWN0KE9EWF9BVVRIX0NPUkVfUExVR0lOUyk7XG5cbiAgICByZXR1cm4gWy4uLmNvcmVQbHVnaW5zLCAuLi5wbHVnaW5zXS5tYXAoKHBsdWdpbkZhY3RvcnkpID0+IHBsdWdpbkZhY3RvcnkoKSk7XG4gIH0sXG59KTtcblxuLyoqXG4gKiBQcm92aWRlcyBhIGxvZ2dlciBmb3IgdGhlIGF1dGhlbnRpY2F0aW9uIG1vZHVsZS5cbiAqXG4gKiBAcmV0dXJucyB7UHJvdmlkZXJ9IC0gVGhlIHByb3ZpZGVyIGZvciB0aGUgbG9nZ2VyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUF1dGhMb2dnZXIoKTogUHJvdmlkZXIge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IEVOVklST05NRU5UX0lOSVRJQUxJWkVSLFxuICAgIHVzZUZhY3Rvcnk6ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgc2hvd0RlYnVnSW5mb3JtYXRpb24gfSA9IGluamVjdEF1dGhDb25maWcoKTtcbiAgICAgIGlmICghc2hvd0RlYnVnSW5mb3JtYXRpb24pIGxvZ2dlci5kaXNhYmxlKCk7XG5cbiAgICAgIHJldHVybiAoKSA9PiB2b2lkIDA7XG4gICAgfSxcbiAgICBtdWx0aTogdHJ1ZSxcbiAgfTtcbn1cblxuLyoqXG4gKiBJbml0aWFsaXplcyB0aGUgYXV0aGVudGljYXRpb24gZXJyb3IgaGFuZGxlcnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplQXV0aEVycm9ySGFuZGxlcnMoKTogdm9pZCB7XG4gIGNvbnN0IGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgY29uc3QgaGFuZGxlciA9IGhhbmRsZUF1dGhFcnJvcihpbmplY3QoT0RYX0FVVEhfRVJST1JfSEFORExFUlMpKTtcblxuICBhdXRoU2VydmljZS5lcnJvcnMkLnBpcGUodGFwKChlcnJvcikgPT4gaGFuZGxlcihlcnJvcikpKS5zdWJzY3JpYmUoKTtcbn1cblxuLyoqXG4gKiBJbml0aWFsaXplcyB0aGUgYXV0aGVudGljYXRpb24gY29uZmlndXJhdGlvbi5cbiAqXG4gKiBAcmV0dXJucyB7KCkgPT4gUHJvbWlzZTx2b2lkPn0gLSBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIHByb21pc2UgcmVzb2x2aW5nIHdoZW4gdGhlIGNvbmZpZ3VyYXRpb24gaXMgaW5pdGlhbGl6ZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0YWxpemVBdXRoQ29uZmlnKCk6ICgpID0+IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7IGNsaWVudElkLCBzY29wZXMsIHJlZGlyZWN0UGF0aCwgZW52aXJvbm1lbnQsIHBvc3RMb2dvdXRSZWRpcmVjdFVybCwgaXNzdWVyLCB0aW1lb3V0RmFjdG9yLCBkaXNjb3ZlcnlVcmwsIGVuYWJsZUxvYWRpbmdTY3JlZW4gfSA9IGluamVjdEF1dGhDb25maWcoKTtcbiAgY29uc3QgYXV0aFNlcnZpY2UgPSBpbmplY3QoQXV0aFNlcnZpY2UpO1xuICBjb25zdCByZWRpcmVjdFVyaSA9IGJ1aWxkVXJsKGluamVjdChXaW5kb3dSZWYpLmdldE9yaWdpbigpLCByZWRpcmVjdFBhdGgpO1xuICBjb25zdCBzY29wZSA9IEFycmF5LmZyb20obmV3IFNldChPRFhfQVVUSF9ERUZBVUxUX1NDT1BFUy5jb25jYXQoc2NvcGVzID8/IFtdKSkpLmpvaW4oJyAnKTtcbiAgaWYgKGVuYWJsZUxvYWRpbmdTY3JlZW4pIHtcbiAgICBBdXRoTG9hZGluZ1NjcmVlbkNvbXBvbmVudC5pbml0aWFsaXplKGF1dGhTZXJ2aWNlLCBpbmplY3QoRHluYW1pY1ZpZXdTZXJ2aWNlKSk7XG4gIH1cbiAgcmV0dXJuICgpID0+XG4gICAgYXV0aFNlcnZpY2UuaW5pdGlhbGl6ZSh7XG4gICAgICBjbGllbnRJZCxcbiAgICAgIGlzc3VlcjogaXNzdWVyID8/IGNyZWF0ZUF1dGhIb3N0VXJsKGVudmlyb25tZW50LCAnb2F1dGgyL2RlZmF1bHQnKSxcbiAgICAgIHNjb3BlLFxuICAgICAgcmVkaXJlY3RVcmksXG4gICAgICBwb3N0TG9nb3V0UmVkaXJlY3RVcmk6IHBvc3RMb2dvdXRSZWRpcmVjdFVybCxcbiAgICAgIHByZXNlcnZlUmVxdWVzdGVkUm91dGU6IHRydWUsXG4gICAgICBzdHJpY3REaXNjb3ZlcnlEb2N1bWVudFZhbGlkYXRpb246ICFkaXNjb3ZlcnlVcmwsXG4gICAgICByZXNwb25zZVR5cGU6ICdjb2RlJyxcbiAgICAgIHNob3dEZWJ1Z0luZm9ybWF0aW9uOiBmYWxzZSxcbiAgICAgIHRpbWVvdXRGYWN0b3IsXG4gICAgICB3YWl0Rm9yVG9rZW5Jbk1zZWM6IDEwMDAsXG4gICAgfSk7XG59XG5cbi8qKlxuICogUHJvdmlkZXMgdGhlIGF1dGhlbnRpY2F0aW9uIGNvbmZpZ3VyYXRpb24gYW5kIGRlcGVuZGVuY2llcy5cbiAqXG4gKiBAcGFyYW0ge0NvbmZpZ1Byb3ZpZGVyPFBhcnRpYWw8QXV0aENvbmZpZz4sIEQ+fSBjb25maWcgLSBUaGUgY29uZmlndXJhdGlvbiBwcm92aWRlci5cbiAqIEByZXR1cm5zIHtFbnZpcm9ubWVudFByb3ZpZGVyc30gVGhlIGVudmlyb25tZW50IHByb3ZpZGVycyBmb3IgYXV0aGVudGljYXRpb24uXG4gKiBAdGVtcGxhdGUgRFxuICpcbiAqIEBleGFtcGxlIFByb3ZpZGUgdGhlIGF1dGhlbnRpY2F0aW9uIGNvbmZpZ3VyYXRpb24gYW5kIGRlcGVuZGVuY2llc1xuICogYGBgdHNcbiAqIHByb3ZpZGVyczogW1xuICogIHByb3ZpZGVBdXRoKHtcbiAqICAgdXNlRmFjdG9yeTogKHsgZW52aXJvbm1lbnQsIGF1dGg6IHsgY2xpZW50SWQsIGxvYWRVc2VyUHJvZmlsZSB9IH06IEFwcGxpY2F0aW9uRW52aXJvbm1lbnQpID0+ICh7XG4gKiAgICAgZW52aXJvbm1lbnQsXG4gKiAgICAgY2xpZW50SWQsXG4gKiAgICAgbG9hZFVzZXJQcm9maWxlLFxuICogICB9KSxcbiAqICAgZGVwczogW0FQUExJQ0FUSU9OX0VOVklST05NRU5UXSxcbiAqICB9KSxcbiAqIF0sXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVBdXRoPEQgZXh0ZW5kcyBDb25maWdEZXBlbmRlbmNpZXM+KGNvbmZpZzogQ29uZmlnUHJvdmlkZXI8UGFydGlhbDxBdXRoQ29uZmlnPiwgRD4pOiBFbnZpcm9ubWVudFByb3ZpZGVycyB7XG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICAgIHByb3ZpZGVBdXRoQ29uZmlnKGNvbmZpZyksXG4gICAgcHJvdmlkZUF1dGhMb2dnZXIoKSxcbiAgICBwcm92aWRlT0F1dGhDbGllbnQoeyByZXNvdXJjZVNlcnZlcjogeyBzZW5kQWNjZXNzVG9rZW46IGZhbHNlLCBhbGxvd2VkVXJsczogW10gfSB9KSxcbiAgICBwcm92aWRlSHR0cENsaWVudCh3aXRoSW50ZXJjZXB0b3JzKFthdXRoSW50ZXJjZXB0b3JdKSksXG4gICAge1xuICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgdXNlRmFjdG9yeTogaW5pdGFsaXplQXV0aENvbmZpZyxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogT0F1dGhTdG9yYWdlLFxuICAgICAgdXNlRmFjdG9yeTogKCkgPT4gaW5qZWN0QXV0aENvbmZpZygpLnN0b3JhZ2UgPz8gaW5qZWN0KFdpbmRvd1JlZikubmF0aXZlV2luZG93LmxvY2FsU3RvcmFnZSxcbiAgICB9LFxuICBdKTtcbn1cbiJdfQ==