@acorex/modules 18.0.9 → 18.0.10

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/auth/lib/auth.config.d.ts +2 -2
  2. package/backend/lib/auth/oidc/index.d.ts +0 -2
  3. package/backend/lib/auth/oidc/oidc.strategy.d.ts +41 -9
  4. package/backend/lib/auth/oidc/signincallback.component.d.ts +1 -3
  5. package/backend/lib/backend.module.d.ts +4 -3
  6. package/backend/lib/data/api/file.service.d.ts +16 -0
  7. package/backend/lib/data/index.d.ts +1 -0
  8. package/esm2022/auth/lib/account/account.module.mjs +24 -19
  9. package/esm2022/auth/lib/account/app-chooser/app-chooser-list.component.mjs +3 -3
  10. package/esm2022/auth/lib/account/app-chooser/app-chooser-slot.component.mjs +4 -4
  11. package/esm2022/auth/lib/account/app-chooser/app-chooser.component.mjs +3 -3
  12. package/esm2022/auth/lib/account/profile/profile-slot.component.mjs +4 -4
  13. package/esm2022/auth/lib/account/tenant-chooser/tenant-chooser-dropdown.component.mjs +3 -3
  14. package/esm2022/auth/lib/account/tenant-chooser/tenant-chooser.component.mjs +5 -5
  15. package/esm2022/auth/lib/auth.config.mjs +1 -1
  16. package/esm2022/auth/lib/auth.module.mjs +4 -4
  17. package/esm2022/auth/lib/error-handler.mjs +3 -3
  18. package/esm2022/auth/lib/forgot/password/password.component.mjs +4 -4
  19. package/esm2022/auth/lib/login/login.module.mjs +4 -4
  20. package/esm2022/auth/lib/login/password/password.component.mjs +7 -6
  21. package/esm2022/auth/lib/shared/layouts/blank/blank.layout.mjs +3 -3
  22. package/esm2022/auth/lib/shared/layouts/master/master.layout.mjs +3 -3
  23. package/esm2022/auth/lib/shared/services/idle.service.mjs +3 -3
  24. package/esm2022/auth/lib/store/auth.effects.mjs +3 -3
  25. package/esm2022/auth/lib/two-factor/two-factor-code/two-factor-code.component.mjs +4 -4
  26. package/esm2022/auth/lib/two-factor/two-factor.module.mjs +4 -4
  27. package/esm2022/backend/lib/auth/oidc/application.loader.mjs +3 -3
  28. package/esm2022/backend/lib/auth/oidc/configuration.service.mjs +3 -3
  29. package/esm2022/backend/lib/auth/oidc/index.mjs +1 -3
  30. package/esm2022/backend/lib/auth/oidc/oidc.strategy.mjs +195 -56
  31. package/esm2022/backend/lib/auth/oidc/permission.loader.mjs +3 -3
  32. package/esm2022/backend/lib/auth/oidc/signincallback.component.mjs +8 -11
  33. package/esm2022/backend/lib/auth/oidc/tenant.loader.mjs +3 -3
  34. package/esm2022/backend/lib/backend.module.mjs +23 -9
  35. package/esm2022/backend/lib/data/api/data-provider.mjs +3 -3
  36. package/esm2022/backend/lib/data/api/file.service.mjs +101 -0
  37. package/esm2022/backend/lib/data/index.mjs +2 -1
  38. package/esm2022/backend/lib/data/local/local-data-provider.mjs +3 -3
  39. package/esm2022/log-management/lib/log-management.module.mjs +4 -4
  40. package/esm2022/notification/lib/notification.module.mjs +4 -4
  41. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-BjhfeQT8.mjs → acorex-modules-auth-acorex-modules-auth-d_YCfQWo.mjs} +55 -50
  42. package/fesm2022/acorex-modules-auth-acorex-modules-auth-d_YCfQWo.mjs.map +1 -0
  43. package/fesm2022/{acorex-modules-auth-app-chooser.component-B-wfsJob.mjs → acorex-modules-auth-app-chooser.component-D6LlSqNY.mjs} +5 -5
  44. package/fesm2022/{acorex-modules-auth-app-chooser.component-B-wfsJob.mjs.map → acorex-modules-auth-app-chooser.component-D6LlSqNY.mjs.map} +1 -1
  45. package/fesm2022/{acorex-modules-auth-blank.layout-BOdRxDNv.mjs → acorex-modules-auth-blank.layout-Bq822Iz4.mjs} +4 -4
  46. package/fesm2022/{acorex-modules-auth-blank.layout-BOdRxDNv.mjs.map → acorex-modules-auth-blank.layout-Bq822Iz4.mjs.map} +1 -1
  47. package/fesm2022/{acorex-modules-auth-login.module-CcNDUqEl.mjs → acorex-modules-auth-login.module-DZ0QDjNv.mjs} +8 -8
  48. package/fesm2022/{acorex-modules-auth-login.module-CcNDUqEl.mjs.map → acorex-modules-auth-login.module-DZ0QDjNv.mjs.map} +1 -1
  49. package/fesm2022/{acorex-modules-auth-master.layout-BGy5Vo5H.mjs → acorex-modules-auth-master.layout-CjfjDdzw.mjs} +5 -5
  50. package/fesm2022/{acorex-modules-auth-master.layout-BGy5Vo5H.mjs.map → acorex-modules-auth-master.layout-CjfjDdzw.mjs.map} +1 -1
  51. package/fesm2022/{acorex-modules-auth-password.component-IzjzV-ia.mjs → acorex-modules-auth-password.component-BudkNaNl.mjs} +8 -7
  52. package/fesm2022/acorex-modules-auth-password.component-BudkNaNl.mjs.map +1 -0
  53. package/fesm2022/{acorex-modules-auth-password.component-BZfvv8yV.mjs → acorex-modules-auth-password.component-CAw3jKFN.mjs} +5 -5
  54. package/fesm2022/{acorex-modules-auth-password.component-BZfvv8yV.mjs.map → acorex-modules-auth-password.component-CAw3jKFN.mjs.map} +1 -1
  55. package/fesm2022/{acorex-modules-auth-routes-JW0JYsnX.mjs → acorex-modules-auth-routes-CTyAW4kk.mjs} +2 -2
  56. package/fesm2022/{acorex-modules-auth-routes-JW0JYsnX.mjs.map → acorex-modules-auth-routes-CTyAW4kk.mjs.map} +1 -1
  57. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-Bkyqj03k.mjs → acorex-modules-auth-tenant-chooser.component-B_uu2uK2.mjs} +5 -5
  58. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-Bkyqj03k.mjs.map → acorex-modules-auth-tenant-chooser.component-B_uu2uK2.mjs.map} +1 -1
  59. package/fesm2022/{acorex-modules-auth-two-factor-code.component-ChMhFBJL.mjs → acorex-modules-auth-two-factor-code.component-BfS5gngN.mjs} +4 -4
  60. package/fesm2022/{acorex-modules-auth-two-factor-code.component-ChMhFBJL.mjs.map → acorex-modules-auth-two-factor-code.component-BfS5gngN.mjs.map} +1 -1
  61. package/fesm2022/{acorex-modules-auth-two-factor.module-Biz85Ffl.mjs → acorex-modules-auth-two-factor.module-D-jZC2Fc.mjs} +7 -7
  62. package/fesm2022/{acorex-modules-auth-two-factor.module-Biz85Ffl.mjs.map → acorex-modules-auth-two-factor.module-D-jZC2Fc.mjs.map} +1 -1
  63. package/fesm2022/acorex-modules-auth.mjs +1 -1
  64. package/fesm2022/acorex-modules-backend.mjs +579 -370
  65. package/fesm2022/acorex-modules-backend.mjs.map +1 -1
  66. package/fesm2022/acorex-modules-log-management.mjs +4 -4
  67. package/fesm2022/acorex-modules-notification.mjs +4 -4
  68. package/package.json +1 -1
  69. package/backend/lib/auth/oidc/usermanager.service.d.ts +0 -15
  70. package/esm2022/backend/lib/auth/oidc/usermanager.service.mjs +0 -37
  71. package/fesm2022/acorex-modules-auth-acorex-modules-auth-BjhfeQT8.mjs.map +0 -1
  72. package/fesm2022/acorex-modules-auth-password.component-IzjzV-ia.mjs.map +0 -1
@@ -14,9 +14,9 @@ function routesFacory() {
14
14
  return routes;
15
15
  }
16
16
  export class AXPTwoFactorModule {
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPTwoFactorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: AXPTwoFactorModule, imports: [RouterModule] }); }
19
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPTwoFactorModule, providers: [
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPTwoFactorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXPTwoFactorModule, imports: [RouterModule] }); }
19
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPTwoFactorModule, providers: [
20
20
  {
21
21
  provide: ROUTES,
22
22
  multi: true,
@@ -24,7 +24,7 @@ export class AXPTwoFactorModule {
24
24
  },
25
25
  ], imports: [RouterModule] }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXPTwoFactorModule, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPTwoFactorModule, decorators: [{
28
28
  type: NgModule,
29
29
  args: [{
30
30
  declarations: [],
@@ -45,10 +45,10 @@ export class AXMOidcApplicationLoader {
45
45
  // features: item.features || [],
46
46
  };
47
47
  }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMOidcApplicationLoader, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
49
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMOidcApplicationLoader }); }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcApplicationLoader, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
49
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcApplicationLoader }); }
50
50
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMOidcApplicationLoader, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcApplicationLoader, decorators: [{
52
52
  type: Injectable
53
53
  }], ctorParameters: () => [{ type: i1.HttpClient }] });
54
54
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24ubG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2JhY2tlbmQvc3JjL2xpYi9hdXRoL29pZGMvYXBwbGljYXRpb24ubG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFHdkMsTUFBTSxPQUFPLHdCQUF3QjtJQUluQyxZQUFvQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBSDVCLFlBQU8sR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN4QyxlQUFVLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8saUNBQWlDLENBQUM7UUFDdEUsY0FBUyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLGlCQUFpQixDQUFDO0lBQ3JCLENBQUM7SUFHekMsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQW1CLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQzFELEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2YsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdEUsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxHQUFHLENBQUMsV0FBMkI7UUFDN0IsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELDJCQUEyQjtJQUMzQix3RUFBd0U7SUFDeEUsd0ZBQXdGO0lBQ3hGLDBCQUEwQjtJQUMxQixpQkFBaUI7SUFDakIseUJBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQix5Q0FBeUM7SUFDekMsMENBQTBDO0lBQzFDLFlBQVk7SUFDWixXQUFXO0lBQ1gsU0FBUztJQUNULE9BQU87SUFDUCxJQUFJO0lBRUksbUJBQW1CLENBQUMsSUFBUztRQUNuQyxPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksYUFBYTtZQUNoQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssSUFBSSxjQUFjO1lBQ25DLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU87WUFDaEMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLHNEQUFzRDtZQUN2RSxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsaUNBQWlDO1NBQ2xDLENBQUM7SUFDSixDQUFDOzhHQTdDVSx3QkFBd0I7a0hBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEFwcGxpY2F0aW9uLCBBWFBBcHBsaWNhdGlvbkxvYWRlciwgQVhQUmVmcmVzaFRva2VuUmVzdWx0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEFYUF9ST09UX0NPTkZJR19UT0tFTiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG1hcCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNT2lkY0FwcGxpY2F0aW9uTG9hZGVyIGltcGxlbWVudHMgQVhQQXBwbGljYXRpb25Mb2FkZXIge1xuICBwcml2YXRlIGNvbmZpZ3MgPSBpbmplY3QoQVhQX1JPT1RfQ09ORklHX1RPS0VOKTtcbiAgcHJpdmF0ZSBhcGlHZXRBcHBzID0gYCR7dGhpcy5jb25maWdzLmJhc2VVcmx9L2FwcGxpY2F0aW9ucy9HZXRMaXN0QnlUZW5hbnRJZGA7XG4gIHByaXZhdGUgYXBpU2V0QXBwID0gYCR7dGhpcy5jb25maWdzLmJhc2VVcmx9L1NldEFwcGxpY2F0aW9uYDtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7IH1cblxuXG4gIGdldExpc3QoKTogT2JzZXJ2YWJsZTxBWFBBcHBsaWNhdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8eyBpdGVtczogYW55W10gfT4odGhpcy5hcGlHZXRBcHBzKS5waXBlKFxuICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICByZXR1cm4gcmVzcG9uc2UuaXRlbXMubWFwKChpdGVtKSA9PiB0aGlzLm1hcFRvQVhQQXBwbGljYXRpb24oaXRlbSkpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc2V0KGFwcGxpY2F0aW9uOiBBWFBBcHBsaWNhdGlvbik6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxuXG4gIC8vIC8vVE9ETzogc2hvdWQgYmUgcmVtb3ZlZFxuICAvLyBzZXQoYXBwbGljYXRpb246IEFYUEFwcGxpY2F0aW9uKTogT2JzZXJ2YWJsZTxBWFBSZWZyZXNoVG9rZW5SZXN1bHQ+IHtcbiAgLy8gICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih0aGlzLmFwaVNldEFwcCwgeyBhcHBsaWNhdGlvbklkOiBhcHBsaWNhdGlvbi5pZCB9KS5waXBlKFxuICAvLyAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAvLyAgICAgICByZXR1cm4ge1xuICAvLyAgICAgICAgIHN1Y2NlZWQ6IHRydWUsXG4gIC8vICAgICAgICAgZGF0YToge1xuICAvLyAgICAgICAgICAgYWNjZXNzVG9rZW46IHJlc3BvbnNlLnRva2VuLFxuICAvLyAgICAgICAgICAgcmVmcmVzaFRva2VuOiByZXNwb25zZS50b2tlbixcbiAgLy8gICAgICAgICB9XG4gIC8vICAgICAgIH07XG4gIC8vICAgICB9KVxuICAvLyAgICk7XG4gIC8vIH1cblxuICBwcml2YXRlIG1hcFRvQVhQQXBwbGljYXRpb24oaXRlbTogYW55KTogQVhQQXBwbGljYXRpb24ge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogaXRlbS5pZCxcbiAgICAgIG5hbWU6IGl0ZW0ubmFtZSB8fCAnZGVmYXVsdE5hbWUnLFxuICAgICAgdGl0bGU6IGl0ZW0udGl0bGUgfHwgJ2RlZmF1bHRUaXRsZScsXG4gICAgICB2ZXJzaW9uOiBpdGVtLnZlcnNpb24gfHwgJzEuMC4wJyxcbiAgICAgIGRlc2NyaXB0aW9uOiBpdGVtLmRlc2NyaXB0aW9uLFxuICAgICAgbG9nbzogaXRlbS5sb2dvLCAvLyBBc3N1bWluZyBsb2dvIGlzIG9mIHR5cGUgQVhQTG9nb0NvbmZpZyBvciB1bmRlZmluZWRcbiAgICAgIGVkaXRpb25OYW1lOiBpdGVtLmVkaXRpb25OYW1lLFxuICAgICAgLy8gZmVhdHVyZXM6IGl0ZW0uZmVhdHVyZXMgfHwgW10sXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -40,10 +40,10 @@ export class AXMConfigurationService {
40
40
  switchMap(() => of(this.applicationConfig)));
41
41
  }
42
42
  }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMConfigurationService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
44
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMConfigurationService, providedIn: 'root' }); }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMConfigurationService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
44
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMConfigurationService, providedIn: 'root' }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMConfigurationService, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMConfigurationService, decorators: [{
47
47
  type: Injectable,
48
48
  args: [{
49
49
  providedIn: 'root',
@@ -3,7 +3,5 @@ export * from './configuration.service';
3
3
  export * from './feature.loader';
4
4
  export * from './oidc.strategy';
5
5
  export * from './permission.loader';
6
- export * from './signincallback.component';
7
6
  export * from './tenant.loader';
8
- export * from './usermanager.service';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYmFja2VuZC9zcmMvbGliL2F1dGgvb2lkYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwcGxpY2F0aW9uLmxvYWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZ3VyYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUubG9hZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vb2lkYy5zdHJhdGVneSc7XG5leHBvcnQgKiBmcm9tICcuL3Blcm1pc3Npb24ubG9hZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc2lnbmluY2FsbGJhY2suY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGVuYW50LmxvYWRlcic7XG5leHBvcnQgKiBmcm9tICcuL3VzZXJtYW5hZ2VyLnNlcnZpY2UnO1xuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYmFja2VuZC9zcmMvbGliL2F1dGgvb2lkYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXBwbGljYXRpb24ubG9hZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS5sb2FkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9vaWRjLnN0cmF0ZWd5JztcbmV4cG9ydCAqIGZyb20gJy4vcGVybWlzc2lvbi5sb2FkZXInO1xuZXhwb3J0ICogZnJvbSAnLi90ZW5hbnQubG9hZGVyJztcbiJdfQ==
@@ -1,79 +1,218 @@
1
- import { Injectable, Injector, inject } from '@angular/core';
2
- import { AXMOidcUserManagerService } from './usermanager.service';
1
+ import { AXM_AUTH_CONFIG_TOKEN } from '@acorex/modules/auth';
2
+ import { AXPSessionService, } from '@acorex/platform/auth';
3
+ import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
4
+ import { Injectable, inject } from '@angular/core';
5
+ import { OAuthService } from 'angular-oauth2-oidc';
6
+ import { firstValueFrom } from 'rxjs';
3
7
  import * as i0 from "@angular/core";
4
8
  export class AXMOidcStrategy {
5
9
  constructor() {
6
- this.injector = inject(Injector);
7
- this.userManagerService = this.injector.get(AXMOidcUserManagerService);
8
- this.userManager = this.userManagerService.getUserManager();
9
- // Log.setLogger(console);
10
- // Log.setLevel(Log.DEBUG);
10
+ this.aXMAuthConfigs = inject(AXM_AUTH_CONFIG_TOKEN);
11
+ this.oauthService = inject(OAuthService);
12
+ this.http = inject(HttpClient);
11
13
  }
12
- get name() {
13
- return 'user-pass';
14
+ async configureOAuth() {
15
+ if (this.openidConfigurationInfo)
16
+ return;
17
+ if (!this.authConfig) {
18
+ if (!this.aXMAuthConfigs.authConfig) {
19
+ throw new Error('authConfig is missing');
20
+ }
21
+ this.authConfig = this.aXMAuthConfigs.authConfig;
22
+ }
23
+ this.oauthService.configure(this.authConfig);
24
+ this.oauthService.setStorage(localStorage);
25
+ this.openidConfigurationInfo = await this.oauthService.loadDiscoveryDocument();
26
+ if (!this.openidConfigurationInfo) {
27
+ throw new Error('openidConfigurationInfo is missing');
28
+ }
29
+ this.oauthService.events.subscribe(async (event) => {
30
+ // console.log('event', event);
31
+ // if (event.type === 'token_received') {
32
+ // console.log('Token has been refreshed');
33
+ // }
34
+ // if (event.type === 'token_expires') {
35
+ // console.log('Token is about to expire. Triggering silent refresh...');
36
+ // }
37
+ });
38
+ const oidcJson = localStorage.getItem(AXPSessionService.SESSION_KEY);
39
+ if (oidcJson) {
40
+ const authData = JSON.parse(oidcJson);
41
+ if (authData) {
42
+ this.setServiceProps(authData);
43
+ if (authData.expiresIn && new Date(authData.expiresIn) < new Date()) {
44
+ if (authData.expiresIn) {
45
+ // this.refresh();
46
+ }
47
+ else {
48
+ this.logout();
49
+ }
50
+ }
51
+ }
52
+ }
14
53
  }
15
54
  async signin(credentials) {
55
+ await this.configureOAuth();
16
56
  try {
17
- await this.userManager.removeUser();
18
- await this.userManager.clearStaleState();
19
- const oidcUser = await this.userManager.signinSilent({
20
- extraQueryParams: {
21
- username: credentials.username,
22
- password: credentials.password,
23
- },
57
+ const body = new HttpParams()
58
+ .set('grant_type', 'password')
59
+ .set('client_id', this.authConfig.clientId)
60
+ .set('client_secret', this.authConfig.dummyClientSecret)
61
+ .set('username', credentials.username)
62
+ .set('password', credentials.password)
63
+ .set('scope', this.authConfig.scope);
64
+ const headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');
65
+ const response = await firstValueFrom(this.http.post(this.openidConfigurationInfo.info.discoveryDocument.token_endpoint, body.toString(), { headers }));
66
+ // const authData = new AuthenticationData(response);
67
+ this.setServiceProps({
68
+ accessToken: response.access_token,
69
+ refreshToken: response.refresh_token,
70
+ idToken: response.id_token,
71
+ expiresIn: this.calculateExpireInDate(response.expires_in ?? 0),
24
72
  });
25
- if (oidcUser) {
26
- const profile = oidcUser.profile; // Cast to any to access deeply nested properties
27
- const user = {
28
- id: profile.sub,
29
- name: `${profile.email}`,
30
- title: `${profile.name}`,
31
- avatar: `${profile.picture}`,
32
- };
33
- const accessToken = oidcUser.access_token;
34
- const refreshToken = oidcUser.refresh_token ?? '';
35
- return {
36
- succeed: true,
37
- data: { user, accessToken, refreshToken },
38
- };
39
- }
40
73
  return {
41
- succeed: false,
74
+ succeed: true,
75
+ data: {
76
+ accessToken: response.access_token,
77
+ expiresIn: this.calculateExpireInDate(response.expires_in ?? 0),
78
+ idToken: response.id_token,
79
+ refreshToken: response.refresh_token,
80
+ user: {
81
+ id: response.sub,
82
+ title: response.fullname,
83
+ name: response.sub,
84
+ avatar: response.picture,
85
+ },
86
+ tenant: {
87
+ id: response.tenantid,
88
+ name: response.tenantname,
89
+ title: response.tenanttitle,
90
+ },
91
+ application: {
92
+ id: response.applicationid,
93
+ name: response.applicationname,
94
+ title: response.applicationtitle,
95
+ },
96
+ },
42
97
  };
43
98
  }
44
99
  catch (error) {
45
- if (error?.message)
46
- throw new Error(error.message);
47
- // Depending on the error type, you might want to throw a specific error
48
- throw new Error('Network or server error occurred');
100
+ this.handleError(error);
49
101
  }
50
102
  }
51
103
  async signout() {
52
- console.log('User signed out');
53
- this.userManager.removeUser();
54
- this.userManager.clearStaleState();
55
- //this.userManager.signoutSilent();
104
+ this.logout();
56
105
  }
57
106
  async refreshToken(context) {
58
- const currentUser = await this.userManager.getUser();
59
- if (currentUser) {
60
- const accessToken = currentUser?.access_token;
61
- const newRefreshToken = currentUser?.refresh_token;
62
- return {
63
- succeed: true,
64
- data: { accessToken, refreshToken: newRefreshToken },
65
- };
107
+ console.log('context.tenant', context.tenant);
108
+ try {
109
+ await this.configureOAuth();
110
+ const refreshResult = await this.refresh(context.tenant?.id, context.application?.id);
111
+ if (refreshResult) {
112
+ return {
113
+ succeed: true,
114
+ data: {
115
+ accessToken: this.oauthService.getAccessToken(),
116
+ refreshToken: this.oauthService.getRefreshToken(),
117
+ },
118
+ };
119
+ }
120
+ else {
121
+ return { succeed: false };
122
+ }
123
+ }
124
+ catch (error) {
125
+ console.error('Error refreshing token', error);
126
+ return { succeed: false };
127
+ }
128
+ }
129
+ async refresh(tenantId, applicationId) {
130
+ await this.configureOAuth();
131
+ const authData = this.loadAuthData();
132
+ if (!authData)
133
+ return false;
134
+ const refreshToken = this.oauthService.getRefreshToken();
135
+ if (!refreshToken)
136
+ return false;
137
+ const body = new HttpParams()
138
+ .set('grant_type', 'refresh_token')
139
+ .set('client_id', this.authConfig.clientId)
140
+ .set('client_secret', this.authConfig.dummyClientSecret)
141
+ .set('refresh_token', refreshToken)
142
+ .set('tenantId', tenantId ?? '')
143
+ .set('applicationId', applicationId ?? '');
144
+ const headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');
145
+ try {
146
+ const response = await firstValueFrom(this.http.post(this.openidConfigurationInfo.info.discoveryDocument.token_endpoint, body.toString(), { headers }));
147
+ this.setServiceProps({
148
+ accessToken: response.access_token,
149
+ refreshToken: response.refresh_token,
150
+ idToken: response.id_token,
151
+ expiresIn: this.calculateExpireInDate(response.expires_in ?? 0),
152
+ });
153
+ return true;
154
+ }
155
+ catch (error) {
156
+ console.error('Token refresh error', error);
157
+ return false;
158
+ }
159
+ }
160
+ expires_in_milisecound(expires_in_date) {
161
+ const now = new Date();
162
+ const expire = new Date(expires_in_date);
163
+ return expire.getTime() - now.getTime();
164
+ }
165
+ setServiceProps(authData) {
166
+ this.oauthService.getAccessToken = () => authData.accessToken;
167
+ this.oauthService.getIdToken = () => authData.idToken ?? '';
168
+ this.oauthService.getRefreshToken = () => authData.refreshToken;
169
+ if (authData.expiresIn) {
170
+ const refreshTime = this.expires_in_milisecound(authData.expiresIn);
171
+ this.oauthService.getAccessTokenExpiration = () => refreshTime;
172
+ // if (refreshTime < 0) {
173
+ // this.refresh();
174
+ // }else{
175
+ // }
176
+ }
177
+ }
178
+ loadAuthData() {
179
+ const authDataJson = localStorage.getItem(AXPSessionService.SESSION_KEY);
180
+ if (!authDataJson)
181
+ return undefined;
182
+ const authData = JSON.parse(authDataJson);
183
+ // return authData ? new AuthenticationData(authData) : undefined;
184
+ return authData;
185
+ }
186
+ async loadUserInfo() {
187
+ return this.oauthService.loadUserProfile();
188
+ }
189
+ calculateExpireInDate(expireInMilisecound) {
190
+ return new Date(Date.now() + expireInMilisecound * 1000).toISOString();
191
+ }
192
+ logout() {
193
+ this.oauthService.logOut({
194
+ noRedirectToLogoutUrl: true
195
+ });
196
+ }
197
+ handleError(error) {
198
+ if (error?.reason) {
199
+ throw new Error(JSON.stringify(error.reason));
200
+ }
201
+ else if (error?.message) {
202
+ throw new Error(error.message);
66
203
  }
67
204
  else {
68
- return {
69
- succeed: false,
70
- };
205
+ throw new Error('Network or server error occurred');
71
206
  }
72
207
  }
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMOidcStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
74
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMOidcStrategy }); }
208
+ //#region getter
209
+ get name() {
210
+ return 'user-pass';
211
+ }
212
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
213
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcStrategy }); }
75
214
  }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMOidcStrategy, decorators: [{
215
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcStrategy, decorators: [{
77
216
  type: Injectable
78
- }], ctorParameters: () => [] });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9iYWNrZW5kL3NyYy9saWIvYXV0aC9vaWRjL29pZGMuc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQVFsRSxNQUFNLE9BQU8sZUFBZTtJQUsxQjtRQUZRLGFBQVEsR0FBYSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFHNUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDNUQsMEJBQTBCO1FBQzFCLDJCQUEyQjtJQUM3QixDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBbUM7UUFDOUMsSUFBSSxDQUFDO1lBQ0gsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUV6QyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDO2dCQUNuRCxnQkFBZ0IsRUFBRTtvQkFDaEIsUUFBUSxFQUFFLFdBQVcsQ0FBQyxRQUFRO29CQUM5QixRQUFRLEVBQUUsV0FBVyxDQUFDLFFBQVE7aUJBQy9CO2FBQ0YsQ0FBQyxDQUFBO1lBRUYsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDYixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsaURBQWlEO2dCQUNuRixNQUFNLElBQUksR0FBWTtvQkFDcEIsRUFBRSxFQUFFLE9BQU8sQ0FBQyxHQUFHO29CQUNmLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUU7b0JBQ3hCLEtBQUssRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUU7b0JBQ3hCLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUU7aUJBQzdCLENBQUM7Z0JBQ0YsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQztnQkFDMUMsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUM7Z0JBRWxELE9BQU87b0JBQ0wsT0FBTyxFQUFFLElBQUk7b0JBQ2IsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUU7aUJBQzFDLENBQUM7WUFDSixDQUFDO1lBRUQsT0FBTztnQkFDTCxPQUFPLEVBQUUsS0FBSzthQUNmLENBQUM7UUFDSixDQUFDO1FBQUMsT0FBTyxLQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLEtBQUssRUFBRSxPQUFPO2dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25ELHdFQUF3RTtZQUN4RSxNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDbkMsbUNBQW1DO0lBQ3JDLENBQUM7SUFFRCxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQTBCO1FBQzNDLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNyRCxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sV0FBVyxHQUFHLFdBQVcsRUFBRSxZQUFZLENBQUM7WUFDOUMsTUFBTSxlQUFlLEdBQUcsV0FBVyxFQUFFLGFBQWEsQ0FBQztZQUNuRCxPQUFPO2dCQUNMLE9BQU8sRUFBRSxJQUFJO2dCQUNiLElBQUksRUFBRSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFO2FBQ3JELENBQUM7UUFDSixDQUFDO2FBQ0ksQ0FBQztZQUNKLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLEtBQUs7YUFDZixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7OEdBN0VVLGVBQWU7a0hBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUEF1dGhTdHJhdGVneSwgQVhQQmFzZUNyZWRlbnRpYWxzLCBBWFBSZWZyZXNoVG9rZW5SZXN1bHQsIEFYUFNlc3Npb25Db250ZXh0LCBBWFBTaWduSW5SZXN1bHQsIEFYUFVzZXIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVXNlck1hbmFnZXIsIExvZyB9IGZyb20gJ29pZGMtY2xpZW50LXRzJztcbmltcG9ydCB7IEFYTU9pZGNVc2VyTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuL3VzZXJtYW5hZ2VyLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFVzZXJQYXNzQ3JlZGVudGlhbHMgZXh0ZW5kcyBBWFBCYXNlQ3JlZGVudGlhbHMge1xuICB1c2VybmFtZTogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhNT2lkY1N0cmF0ZWd5IGltcGxlbWVudHMgQVhQQXV0aFN0cmF0ZWd5IHtcbiAgcHJpdmF0ZSB1c2VyTWFuYWdlclNlcnZpY2U6IEFYTU9pZGNVc2VyTWFuYWdlclNlcnZpY2U7XG4gIHByaXZhdGUgdXNlck1hbmFnZXI6IFVzZXJNYW5hZ2VyO1xuICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy51c2VyTWFuYWdlclNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChBWE1PaWRjVXNlck1hbmFnZXJTZXJ2aWNlKTtcbiAgICB0aGlzLnVzZXJNYW5hZ2VyID0gdGhpcy51c2VyTWFuYWdlclNlcnZpY2UuZ2V0VXNlck1hbmFnZXIoKTtcbiAgICAvLyBMb2cuc2V0TG9nZ2VyKGNvbnNvbGUpO1xuICAgIC8vIExvZy5zZXRMZXZlbChMb2cuREVCVUcpO1xuICB9XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ3VzZXItcGFzcyc7XG4gIH1cblxuICBhc3luYyBzaWduaW4oY3JlZGVudGlhbHM6IEFYUFVzZXJQYXNzQ3JlZGVudGlhbHMpOiBQcm9taXNlPEFYUFNpZ25JblJlc3VsdD4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnVzZXJNYW5hZ2VyLnJlbW92ZVVzZXIoKTtcbiAgICAgIGF3YWl0IHRoaXMudXNlck1hbmFnZXIuY2xlYXJTdGFsZVN0YXRlKCk7XG5cbiAgICAgIGNvbnN0IG9pZGNVc2VyID0gYXdhaXQgdGhpcy51c2VyTWFuYWdlci5zaWduaW5TaWxlbnQoe1xuICAgICAgICBleHRyYVF1ZXJ5UGFyYW1zOiB7XG4gICAgICAgICAgdXNlcm5hbWU6IGNyZWRlbnRpYWxzLnVzZXJuYW1lLFxuICAgICAgICAgIHBhc3N3b3JkOiBjcmVkZW50aWFscy5wYXNzd29yZCxcbiAgICAgICAgfSxcbiAgICAgIH0pXG5cbiAgICAgIGlmIChvaWRjVXNlcikge1xuICAgICAgICBjb25zdCBwcm9maWxlID0gb2lkY1VzZXIucHJvZmlsZTsgLy8gQ2FzdCB0byBhbnkgdG8gYWNjZXNzIGRlZXBseSBuZXN0ZWQgcHJvcGVydGllc1xuICAgICAgICBjb25zdCB1c2VyOiBBWFBVc2VyID0ge1xuICAgICAgICAgIGlkOiBwcm9maWxlLnN1YixcbiAgICAgICAgICBuYW1lOiBgJHtwcm9maWxlLmVtYWlsfWAsXG4gICAgICAgICAgdGl0bGU6IGAke3Byb2ZpbGUubmFtZX1gLFxuICAgICAgICAgIGF2YXRhcjogYCR7cHJvZmlsZS5waWN0dXJlfWAsXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGFjY2Vzc1Rva2VuID0gb2lkY1VzZXIuYWNjZXNzX3Rva2VuO1xuICAgICAgICBjb25zdCByZWZyZXNoVG9rZW4gPSBvaWRjVXNlci5yZWZyZXNoX3Rva2VuID8/ICcnO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc3VjY2VlZDogdHJ1ZSxcbiAgICAgICAgICBkYXRhOiB7IHVzZXIsIGFjY2Vzc1Rva2VuLCByZWZyZXNoVG9rZW4gfSxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VlZDogZmFsc2UsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIGlmIChlcnJvcj8ubWVzc2FnZSkgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgLy8gRGVwZW5kaW5nIG9uIHRoZSBlcnJvciB0eXBlLCB5b3UgbWlnaHQgd2FudCB0byB0aHJvdyBhIHNwZWNpZmljIGVycm9yXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05ldHdvcmsgb3Igc2VydmVyIGVycm9yIG9jY3VycmVkJyk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2lnbm91dCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zb2xlLmxvZygnVXNlciBzaWduZWQgb3V0Jyk7XG4gICAgdGhpcy51c2VyTWFuYWdlci5yZW1vdmVVc2VyKCk7XG4gICAgdGhpcy51c2VyTWFuYWdlci5jbGVhclN0YWxlU3RhdGUoKTtcbiAgICAvL3RoaXMudXNlck1hbmFnZXIuc2lnbm91dFNpbGVudCgpO1xuICB9XG5cbiAgYXN5bmMgcmVmcmVzaFRva2VuKGNvbnRleHQ6IEFYUFNlc3Npb25Db250ZXh0KTogUHJvbWlzZTxBWFBSZWZyZXNoVG9rZW5SZXN1bHQ+IHtcbiAgICBjb25zdCBjdXJyZW50VXNlciA9IGF3YWl0IHRoaXMudXNlck1hbmFnZXIuZ2V0VXNlcigpO1xuICAgIGlmIChjdXJyZW50VXNlcikge1xuICAgICAgY29uc3QgYWNjZXNzVG9rZW4gPSBjdXJyZW50VXNlcj8uYWNjZXNzX3Rva2VuO1xuICAgICAgY29uc3QgbmV3UmVmcmVzaFRva2VuID0gY3VycmVudFVzZXI/LnJlZnJlc2hfdG9rZW47XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZWVkOiB0cnVlLFxuICAgICAgICBkYXRhOiB7IGFjY2Vzc1Rva2VuLCByZWZyZXNoVG9rZW46IG5ld1JlZnJlc2hUb2tlbiB9LFxuICAgICAgfTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZWVkOiBmYWxzZSxcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG4iXX0=
217
+ }] });
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy5zdHJhdGVneS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9iYWNrZW5kL3NyYy9saWIvYXV0aC9vaWRjL29pZGMuc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sRUFNTCxpQkFBaUIsR0FHbEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWMsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHdEMsTUFBTSxPQUFPLGVBQWU7SUFENUI7UUFFVSxtQkFBYyxHQUFtQixNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUMvRCxpQkFBWSxHQUFpQixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbEQsU0FBSSxHQUFlLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQWlPL0M7SUE1TlEsS0FBSyxDQUFDLGNBQWM7UUFDekIsSUFBSSxJQUFJLENBQUMsdUJBQXVCO1lBQUUsT0FBTztRQUV6QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDM0MsQ0FBQztZQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUM7UUFDbkQsQ0FBQztRQUVE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LENBQUMsZUFBZSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUNNLHFCQUFxQixDQUFDLG1CQUEyQjtRQUN0RCxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN6RSxDQUFDO0lBQ08sTUFBTTtRQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO1lBQ3ZCLHFCQUFxQixFQUFFLElBQUk7U0FDNUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFVO1FBQzVCLElBQUksS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNoRCxDQUFDO2FBQU0sSUFBSSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakMsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0I7SUFDaEIsSUFBSSxJQUFJO1FBQ04sT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQzs4R0FsT1UsZUFBZTtrSEFBZixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhNQXV0aENvbmZpZ3MsIEFYTV9BVVRIX0NPTkZJR19UT0tFTiB9IGZyb20gJ0BhY29yZXgvbW9kdWxlcy9hdXRoJztcbmltcG9ydCB7XG4gIEFYUEF1dGhTdHJhdGVneSxcbiAgQVhQQmFzZUNyZWRlbnRpYWxzLFxuICBBWFBSZWZyZXNoVG9rZW5SZXN1bHQsXG4gIEFYUFNlc3Npb25Db250ZXh0LFxuICBBWFBTZXNzaW9uRGF0YSxcbiAgQVhQU2Vzc2lvblNlcnZpY2UsXG4gIEFYUFNpZ25JblJlc3VsdCxcbiAgQVhQVXNlcixcbn0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoQ29uZmlnLCBPQXV0aFNlcnZpY2UgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1PaWRjU3RyYXRlZ3kgaW1wbGVtZW50cyBBWFBBdXRoU3RyYXRlZ3kge1xuICBwcml2YXRlIGFYTUF1dGhDb25maWdzOiBBWE1BdXRoQ29uZmlncyA9IGluamVjdChBWE1fQVVUSF9DT05GSUdfVE9LRU4pO1xuICBwcml2YXRlIG9hdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlID0gaW5qZWN0KE9BdXRoU2VydmljZSk7XG4gIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgcHVibGljIHVzZXJJbmZvOiBhbnk7XG4gIHB1YmxpYyBhdXRoQ29uZmlnOiBBdXRoQ29uZmlnO1xuICBwdWJsaWMgb3BlbmlkQ29uZmlndXJhdGlvbkluZm86IGFueTsgLy8gY2xhcmlmeSB0aGUgdHlwZSBpZiBwb3NzaWJsZVxuXG4gIHB1YmxpYyBhc3luYyBjb25maWd1cmVPQXV0aCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5vcGVuaWRDb25maWd1cmF0aW9uSW5mbykgcmV0dXJuO1xuXG4gICAgaWYgKCF0aGlzLmF1dGhDb25maWcpIHtcbiAgICAgIGlmICghdGhpcy5hWE1BdXRoQ29uZmlncy5hdXRoQ29uZmlnKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignYXV0aENvbmZpZyBpcyBtaXNzaW5nJyk7XG4gICAgICB9XG4gICAgICB0aGlzLmF1dGhDb25maWcgPSB0aGlzLmFYTUF1dGhDb25maWdzLmF1dGhDb25maWc7XG4gICAgfVxuXG4gICAgdGhpcy5vYXV0aFNlcnZpY2UuY29uZmlndXJlKHRoaXMuYXV0aENvbmZpZyk7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2Uuc2V0U3RvcmFnZShsb2NhbFN0b3JhZ2UpO1xuXG4gICAgdGhpcy5vcGVuaWRDb25maWd1cmF0aW9uSW5mbyA9IGF3YWl0IHRoaXMub2F1dGhTZXJ2aWNlLmxvYWREaXNjb3ZlcnlEb2N1bWVudCgpO1xuXG4gICAgaWYgKCF0aGlzLm9wZW5pZENvbmZpZ3VyYXRpb25JbmZvKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ29wZW5pZENvbmZpZ3VyYXRpb25JbmZvIGlzIG1pc3NpbmcnKTtcbiAgICB9XG5cbiAgICB0aGlzLm9hdXRoU2VydmljZS5ldmVudHMuc3Vic2NyaWJlKGFzeW5jIChldmVudCkgPT4ge1xuICAgICAgLy8gY29uc29sZS5sb2coJ2V2ZW50JywgZXZlbnQpO1xuICAgICAgLy8gaWYgKGV2ZW50LnR5cGUgPT09ICd0b2tlbl9yZWNlaXZlZCcpIHtcbiAgICAgIC8vICAgY29uc29sZS5sb2coJ1Rva2VuIGhhcyBiZWVuIHJlZnJlc2hlZCcpO1xuICAgICAgLy8gfVxuICAgICAgLy8gaWYgKGV2ZW50LnR5cGUgPT09ICd0b2tlbl9leHBpcmVzJykge1xuICAgICAgLy8gICBjb25zb2xlLmxvZygnVG9rZW4gaXMgYWJvdXQgdG8gZXhwaXJlLiBUcmlnZ2VyaW5nIHNpbGVudCByZWZyZXNoLi4uJyk7XG4gICAgICAvLyB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBvaWRjSnNvbiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKEFYUFNlc3Npb25TZXJ2aWNlLlNFU1NJT05fS0VZKTtcblxuICAgIGlmIChvaWRjSnNvbikge1xuICAgICAgY29uc3QgYXV0aERhdGEgPSBKU09OLnBhcnNlKG9pZGNKc29uKSBhcyBBWFBTZXNzaW9uRGF0YTtcbiAgICAgIGlmIChhdXRoRGF0YSkge1xuICAgICAgICB0aGlzLnNldFNlcnZpY2VQcm9wcyhhdXRoRGF0YSk7XG5cbiAgICAgICAgaWYgKGF1dGhEYXRhLmV4cGlyZXNJbiAmJiBuZXcgRGF0ZShhdXRoRGF0YS5leHBpcmVzSW4pIDwgbmV3IERhdGUoKSkge1xuICAgICAgICAgIGlmIChhdXRoRGF0YS5leHBpcmVzSW4pIHtcbiAgICAgICAgICAgIC8vIHRoaXMucmVmcmVzaCgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmxvZ291dCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHNpZ25pbihjcmVkZW50aWFsczogQVhQVXNlclBhc3NDcmVkZW50aWFscyk6IFByb21pc2U8QVhQU2lnbkluUmVzdWx0PiB7XG4gICAgYXdhaXQgdGhpcy5jb25maWd1cmVPQXV0aCgpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBib2R5ID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgICAgICAuc2V0KCdncmFudF90eXBlJywgJ3Bhc3N3b3JkJylcbiAgICAgICAgLnNldCgnY2xpZW50X2lkJywgdGhpcy5hdXRoQ29uZmlnLmNsaWVudElkISlcbiAgICAgICAgLnNldCgnY2xpZW50X3NlY3JldCcsIHRoaXMuYXV0aENvbmZpZy5kdW1teUNsaWVudFNlY3JldCEpXG4gICAgICAgIC5zZXQoJ3VzZXJuYW1lJywgY3JlZGVudGlhbHMudXNlcm5hbWUpXG4gICAgICAgIC5zZXQoJ3Bhc3N3b3JkJywgY3JlZGVudGlhbHMucGFzc3dvcmQpXG4gICAgICAgIC5zZXQoJ3Njb3BlJywgdGhpcy5hdXRoQ29uZmlnLnNjb3BlISk7XG5cbiAgICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnKTtcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgdGhpcy5odHRwLnBvc3Q8SUF1dGhlbnRpY2F0aW9uRGF0YU1vZGVsPih0aGlzLm9wZW5pZENvbmZpZ3VyYXRpb25JbmZvLmluZm8uZGlzY292ZXJ5RG9jdW1lbnQudG9rZW5fZW5kcG9pbnQsIGJvZHkudG9TdHJpbmcoKSwgeyBoZWFkZXJzIH0pXG4gICAgICApO1xuXG4gICAgICAvLyBjb25zdCBhdXRoRGF0YSA9IG5ldyBBdXRoZW50aWNhdGlvbkRhdGEocmVzcG9uc2UpO1xuICAgICAgdGhpcy5zZXRTZXJ2aWNlUHJvcHMoe1xuICAgICAgICBhY2Nlc3NUb2tlbjogcmVzcG9uc2UuYWNjZXNzX3Rva2VuLFxuICAgICAgICByZWZyZXNoVG9rZW46IHJlc3BvbnNlLnJlZnJlc2hfdG9rZW4sXG4gICAgICAgIGlkVG9rZW46IHJlc3BvbnNlLmlkX3Rva2VuLFxuICAgICAgICBleHBpcmVzSW46IHRoaXMuY2FsY3VsYXRlRXhwaXJlSW5EYXRlKHJlc3BvbnNlLmV4cGlyZXNfaW4gPz8gMCksXG4gICAgICB9IGFzIEFYUFNlc3Npb25EYXRhKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VlZDogdHJ1ZSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgIGFjY2Vzc1Rva2VuOiByZXNwb25zZS5hY2Nlc3NfdG9rZW4sXG4gICAgICAgICAgZXhwaXJlc0luOiB0aGlzLmNhbGN1bGF0ZUV4cGlyZUluRGF0ZShyZXNwb25zZS5leHBpcmVzX2luID8/IDApLFxuICAgICAgICAgIGlkVG9rZW46IHJlc3BvbnNlLmlkX3Rva2VuLFxuICAgICAgICAgIHJlZnJlc2hUb2tlbjogcmVzcG9uc2UucmVmcmVzaF90b2tlbiEsXG4gICAgICAgICAgdXNlcjoge1xuICAgICAgICAgICAgaWQ6IHJlc3BvbnNlLnN1YixcbiAgICAgICAgICAgIHRpdGxlOiByZXNwb25zZS5mdWxsbmFtZSxcbiAgICAgICAgICAgIG5hbWU6IHJlc3BvbnNlLnN1YixcbiAgICAgICAgICAgIGF2YXRhcjogcmVzcG9uc2UucGljdHVyZSxcbiAgICAgICAgICB9IGFzIEFYUFVzZXIsXG4gICAgICAgICAgdGVuYW50OiB7XG4gICAgICAgICAgICBpZDogcmVzcG9uc2UudGVuYW50aWQhLFxuICAgICAgICAgICAgbmFtZTogcmVzcG9uc2UudGVuYW50bmFtZSEsXG4gICAgICAgICAgICB0aXRsZTogcmVzcG9uc2UudGVuYW50dGl0bGUhLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYXBwbGljYXRpb246IHtcbiAgICAgICAgICAgIGlkOiByZXNwb25zZS5hcHBsaWNhdGlvbmlkISxcbiAgICAgICAgICAgIG5hbWU6IHJlc3BvbnNlLmFwcGxpY2F0aW9ubmFtZSEsXG4gICAgICAgICAgICB0aXRsZTogcmVzcG9uc2UuYXBwbGljYXRpb250aXRsZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICB0aGlzLmhhbmRsZUVycm9yKGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBzaWdub3V0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMubG9nb3V0KCk7XG4gIH1cblxuICBhc3luYyByZWZyZXNoVG9rZW4oY29udGV4dDogQVhQU2Vzc2lvbkNvbnRleHQpOiBQcm9taXNlPEFYUFJlZnJlc2hUb2tlblJlc3VsdD4ge1xuICAgIGNvbnNvbGUubG9nKCdjb250ZXh0LnRlbmFudCcsIGNvbnRleHQudGVuYW50KTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5jb25maWd1cmVPQXV0aCgpO1xuICAgICAgY29uc3QgcmVmcmVzaFJlc3VsdCA9IGF3YWl0IHRoaXMucmVmcmVzaChjb250ZXh0LnRlbmFudD8uaWQsIGNvbnRleHQuYXBwbGljYXRpb24/LmlkKTtcbiAgICAgIGlmIChyZWZyZXNoUmVzdWx0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc3VjY2VlZDogdHJ1ZSxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICBhY2Nlc3NUb2tlbjogdGhpcy5vYXV0aFNlcnZpY2UuZ2V0QWNjZXNzVG9rZW4oKSxcbiAgICAgICAgICAgIHJlZnJlc2hUb2tlbjogdGhpcy5vYXV0aFNlcnZpY2UuZ2V0UmVmcmVzaFRva2VuKCksXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB7IHN1Y2NlZWQ6IGZhbHNlIH07XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHJlZnJlc2hpbmcgdG9rZW4nLCBlcnJvcik7XG4gICAgICByZXR1cm4geyBzdWNjZWVkOiBmYWxzZSB9O1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHJlZnJlc2godGVuYW50SWQ/OiBzdHJpbmcsIGFwcGxpY2F0aW9uSWQ/OiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBhd2FpdCB0aGlzLmNvbmZpZ3VyZU9BdXRoKCk7XG4gICAgY29uc3QgYXV0aERhdGEgPSB0aGlzLmxvYWRBdXRoRGF0YSgpO1xuICAgIGlmICghYXV0aERhdGEpIHJldHVybiBmYWxzZTtcblxuICAgIGNvbnN0IHJlZnJlc2hUb2tlbiA9IHRoaXMub2F1dGhTZXJ2aWNlLmdldFJlZnJlc2hUb2tlbigpO1xuICAgIGlmICghcmVmcmVzaFRva2VuKSByZXR1cm4gZmFsc2U7XG5cbiAgICBjb25zdCBib2R5ID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgICAgLnNldCgnZ3JhbnRfdHlwZScsICdyZWZyZXNoX3Rva2VuJylcbiAgICAgIC5zZXQoJ2NsaWVudF9pZCcsIHRoaXMuYXV0aENvbmZpZy5jbGllbnRJZCEpXG4gICAgICAuc2V0KCdjbGllbnRfc2VjcmV0JywgdGhpcy5hdXRoQ29uZmlnLmR1bW15Q2xpZW50U2VjcmV0ISlcbiAgICAgIC5zZXQoJ3JlZnJlc2hfdG9rZW4nLCByZWZyZXNoVG9rZW4pXG4gICAgICAuc2V0KCd0ZW5hbnRJZCcsIHRlbmFudElkID8/ICcnKVxuICAgICAgLnNldCgnYXBwbGljYXRpb25JZCcsIGFwcGxpY2F0aW9uSWQgPz8gJycpO1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoJ0NvbnRlbnQtVHlwZScsICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICB0aGlzLmh0dHAucG9zdDxJQXV0aGVudGljYXRpb25EYXRhTW9kZWw+KHRoaXMub3BlbmlkQ29uZmlndXJhdGlvbkluZm8uaW5mby5kaXNjb3ZlcnlEb2N1bWVudC50b2tlbl9lbmRwb2ludCwgYm9keS50b1N0cmluZygpLCB7IGhlYWRlcnMgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLnNldFNlcnZpY2VQcm9wcyh7XG4gICAgICAgIGFjY2Vzc1Rva2VuOiByZXNwb25zZS5hY2Nlc3NfdG9rZW4sXG4gICAgICAgIHJlZnJlc2hUb2tlbjogcmVzcG9uc2UucmVmcmVzaF90b2tlbixcbiAgICAgICAgaWRUb2tlbjogcmVzcG9uc2UuaWRfdG9rZW4sXG4gICAgICAgIGV4cGlyZXNJbjogdGhpcy5jYWxjdWxhdGVFeHBpcmVJbkRhdGUocmVzcG9uc2UuZXhwaXJlc19pbiA/PyAwKSxcbiAgICAgIH0gYXMgQVhQU2Vzc2lvbkRhdGEpO1xuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignVG9rZW4gcmVmcmVzaCBlcnJvcicsIGVycm9yKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBleHBpcmVzX2luX21pbGlzZWNvdW5kKGV4cGlyZXNfaW5fZGF0ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IGV4cGlyZSA9IG5ldyBEYXRlKGV4cGlyZXNfaW5fZGF0ZSk7XG4gICAgcmV0dXJuIGV4cGlyZS5nZXRUaW1lKCkgLSBub3cuZ2V0VGltZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRTZXJ2aWNlUHJvcHMoYXV0aERhdGE6IEFYUFNlc3Npb25EYXRhKTogdm9pZCB7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UuZ2V0QWNjZXNzVG9rZW4gPSAoKSA9PiBhdXRoRGF0YS5hY2Nlc3NUb2tlbjtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5nZXRJZFRva2VuID0gKCkgPT4gYXV0aERhdGEuaWRUb2tlbiA/PyAnJztcbiAgICB0aGlzLm9hdXRoU2VydmljZS5nZXRSZWZyZXNoVG9rZW4gPSAoKSA9PiBhdXRoRGF0YS5yZWZyZXNoVG9rZW47XG4gICAgaWYgKGF1dGhEYXRhLmV4cGlyZXNJbikge1xuICAgICAgY29uc3QgcmVmcmVzaFRpbWUgPSB0aGlzLmV4cGlyZXNfaW5fbWlsaXNlY291bmQoYXV0aERhdGEuZXhwaXJlc0luISk7XG4gICAgICB0aGlzLm9hdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbkV4cGlyYXRpb24gPSAoKSA9PiByZWZyZXNoVGltZTtcbiAgICAgIC8vIGlmIChyZWZyZXNoVGltZSA8IDApIHtcbiAgICAgIC8vICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgICAvLyB9ZWxzZXtcbiAgICAgIC8vIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxvYWRBdXRoRGF0YSgpOiBBWFBTZXNzaW9uRGF0YSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgYXV0aERhdGFKc29uID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oQVhQU2Vzc2lvblNlcnZpY2UuU0VTU0lPTl9LRVkpO1xuICAgIGlmICghYXV0aERhdGFKc29uKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgYXV0aERhdGEgPSBKU09OLnBhcnNlKGF1dGhEYXRhSnNvbikgYXMgQVhQU2Vzc2lvbkRhdGE7XG5cbiAgICAvLyByZXR1cm4gYXV0aERhdGEgPyBuZXcgQXV0aGVudGljYXRpb25EYXRhKGF1dGhEYXRhKSA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gYXV0aERhdGE7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbG9hZFVzZXJJbmZvKCk6IFByb21pc2U8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMub2F1dGhTZXJ2aWNlLmxvYWRVc2VyUHJvZmlsZSgpO1xuICB9XG4gIHB1YmxpYyBjYWxjdWxhdGVFeHBpcmVJbkRhdGUoZXhwaXJlSW5NaWxpc2Vjb3VuZDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKERhdGUubm93KCkgKyBleHBpcmVJbk1pbGlzZWNvdW5kICogMTAwMCkudG9JU09TdHJpbmcoKTtcbiAgfVxuICBwcml2YXRlIGxvZ291dCgpOiB2b2lkIHtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5sb2dPdXQoe1xuICAgICAgbm9SZWRpcmVjdFRvTG9nb3V0VXJsOiB0cnVlXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUVycm9yKGVycm9yOiBhbnkpOiBuZXZlciB7XG4gICAgaWYgKGVycm9yPy5yZWFzb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihKU09OLnN0cmluZ2lmeShlcnJvci5yZWFzb24pKTtcbiAgICB9IGVsc2UgaWYgKGVycm9yPy5tZXNzYWdlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTmV0d29yayBvciBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQnKTtcbiAgICB9XG4gIH1cblxuICAvLyNyZWdpb24gZ2V0dGVyXG4gIGdldCBuYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICd1c2VyLXBhc3MnO1xuICB9XG4gIC8vI2VuZHJlZ2lvblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFVzZXJQYXNzQ3JlZGVudGlhbHMgZXh0ZW5kcyBBWFBCYXNlQ3JlZGVudGlhbHMge1xuICB1c2VybmFtZTogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xufVxuXG4vLyBleHBvcnQgY2xhc3MgQXV0aGVudGljYXRpb25EYXRhIHtcbi8vICAgYWNjZXNzX3Rva2VuOiBzdHJpbmc7XG4vLyAgIGFwcGxpY2F0aW9uaWQ/OiBzdHJpbmc7XG4vLyAgIGFwcGxpY2F0aW9ubmFtZT86IHN0cmluZztcbi8vICAgYXBwbGljYXRpb250aXRsZT86IHN0cmluZztcbi8vICAgZWRpdGlvbmlkPzogc3RyaW5nO1xuLy8gICBlZGl0aW9ubmFtZT86IHN0cmluZztcbi8vICAgZWRpdGlvbnRpdGxlPzogc3RyaW5nO1xuLy8gICBpZF90b2tlbj86IHN0cmluZztcbi8vICAgcmVmcmVzaF90b2tlbj86IHN0cmluZztcbi8vICAgc2NvcGU/OiBzdHJpbmc7XG4vLyAgIHRlbmFudGlkPzogc3RyaW5nO1xuLy8gICB0ZW5hbnRuYW1lPzogc3RyaW5nO1xuLy8gICB0ZW5hbnR0aXRsZT86IHN0cmluZztcbi8vICAgdG9rZW5fdHlwZT86IHN0cmluZztcbi8vICAgZXhwaXJlc19pbl9kYXRlPzogc3RyaW5nO1xuLy8gICBzdWI/OiBzdHJpbmc7XG4vLyAgIHBpY3R1cmU/OiBzdHJpbmc7XG4vLyAgIGZ1bGxuYW1lPzogc3RyaW5nO1xuXG4vLyAgIGNvbnN0cnVjdG9yKGRhdGE6IEF1dGhlbnRpY2F0aW9uRGF0YU1vZGVsKSB7XG4vLyAgICAgdGhpcy5hY2Nlc3NfdG9rZW4gPSBkYXRhLmFjY2Vzc190b2tlbjtcbi8vICAgICB0aGlzLmFwcGxpY2F0aW9uaWQgPSBkYXRhLmFwcGxpY2F0aW9uaWQ7XG4vLyAgICAgdGhpcy5hcHBsaWNhdGlvbm5hbWUgPSBkYXRhLmFwcGxpY2F0aW9ubmFtZTtcbi8vICAgICB0aGlzLmFwcGxpY2F0aW9udGl0bGUgPSBkYXRhLmFwcGxpY2F0aW9udGl0bGU7XG4vLyAgICAgdGhpcy5lZGl0aW9uaWQgPSBkYXRhLmVkaXRpb25pZDtcbi8vICAgICB0aGlzLmVkaXRpb25uYW1lID0gZGF0YS5lZGl0aW9ubmFtZTtcbi8vICAgICB0aGlzLmVkaXRpb250aXRsZSA9IGRhdGEuZWRpdGlvbnRpdGxlO1xuLy8gICAgIHRoaXMuaWRfdG9rZW4gPSBkYXRhLmlkX3Rva2VuO1xuLy8gICAgIHRoaXMucmVmcmVzaF90b2tlbiA9IGRhdGEucmVmcmVzaF90b2tlbjtcbi8vICAgICB0aGlzLnNjb3BlID0gZGF0YS5zY29wZTtcbi8vICAgICB0aGlzLnRlbmFudGlkID0gZGF0YS50ZW5hbnRpZDtcbi8vICAgICB0aGlzLnRlbmFudG5hbWUgPSBkYXRhLnRlbmFudG5hbWU7XG4vLyAgICAgdGhpcy50ZW5hbnR0aXRsZSA9IGRhdGEudGVuYW50dGl0bGU7XG4vLyAgICAgdGhpcy50b2tlbl90eXBlID0gZGF0YS50b2tlbl90eXBlO1xuLy8gICAgIHRoaXMuc3ViID0gZGF0YS5zdWI7XG4vLyAgICAgdGhpcy5waWN0dXJlID0gZGF0YS5waWN0dXJlO1xuLy8gICAgIHRoaXMuZnVsbG5hbWUgPSBkYXRhLmZ1bGxuYW1lO1xuXG4vLyAgICAgaWYgKGRhdGEuZXhwaXJlc19pbikge1xuLy8gICAgICAgdGhpcy5leHBpcmVzX2luX2RhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpICsgZGF0YS5leHBpcmVzX2luICogMTAwMCkudG9JU09TdHJpbmcoKTtcbi8vICAgICB9IGVsc2Uge1xuLy8gICAgICAgdGhpcy5leHBpcmVzX2luX2RhdGUgPSBkYXRhLmV4cGlyZXNfaW5fZGF0ZSB8fCAnJztcbi8vICAgICB9XG4vLyAgIH1cblxuLy8gICBnZXQgZXhwaXJlc19pbl9taWxpc2Vjb3VuZCgpOiBudW1iZXIge1xuLy8gICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4vLyAgICAgY29uc3QgZXhwaXJlID0gbmV3IERhdGUodGhpcy5leHBpcmVzX2luX2RhdGUhKTtcbi8vICAgICByZXR1cm4gZXhwaXJlLmdldFRpbWUoKSAtIG5vdy5nZXRUaW1lKCk7XG4vLyAgIH1cblxuLy8gICBwdWJsaWMgc2V0VG9rZW5SZWZyZXNoTW9kZWwoZGF0YTogQXV0aGVudGljYXRpb25EYXRhTW9kZWwpOiB2b2lkIHtcbi8vICAgICB0aGlzLmFjY2Vzc190b2tlbiA9IGRhdGEuYWNjZXNzX3Rva2VuO1xuLy8gICAgIHRoaXMuaWRfdG9rZW4gPSBkYXRhLmlkX3Rva2VuO1xuLy8gICAgIHRoaXMudG9rZW5fdHlwZSA9IGRhdGEudG9rZW5fdHlwZTtcbi8vICAgICB0aGlzLnNjb3BlID0gZGF0YS5zY29wZTtcbi8vICAgICB0aGlzLnJlZnJlc2hfdG9rZW4gPSBkYXRhLnJlZnJlc2hfdG9rZW47XG4vLyAgICAgdGhpcy5leHBpcmVzX2luX2RhdGUgPSBuZXcgRGF0ZShEYXRlLm5vdygpICsgZGF0YS5leHBpcmVzX2luISAqIDEwMDApLnRvSVNPU3RyaW5nKCk7XG4vLyAgIH1cbi8vIH1cblxuZXhwb3J0IGludGVyZmFjZSBJQXV0aGVudGljYXRpb25EYXRhTW9kZWwge1xuICBhY2Nlc3NfdG9rZW46IHN0cmluZztcbiAgYXBwbGljYXRpb25pZDogc3RyaW5nO1xuICBhcHBsaWNhdGlvbm5hbWU6IHN0cmluZztcbiAgYXBwbGljYXRpb250aXRsZTogc3RyaW5nO1xuICBlZGl0aW9uaWQ6IHN0cmluZztcbiAgZWRpdGlvbm5hbWU6IHN0cmluZztcbiAgZWRpdGlvbnRpdGxlOiBzdHJpbmc7XG4gIGlkX3Rva2VuOiBzdHJpbmc7XG4gIHJlZnJlc2hfdG9rZW46IHN0cmluZztcbiAgc2NvcGU6IHN0cmluZztcbiAgdGVuYW50aWQ6IHN0cmluZztcbiAgdGVuYW50bmFtZTogc3RyaW5nO1xuICB0ZW5hbnR0aXRsZTogc3RyaW5nO1xuICB0b2tlbl90eXBlOiBzdHJpbmc7XG4gIGV4cGlyZXNfaW4/OiBudW1iZXI7XG4gIHN1Yj86IHN0cmluZztcbiAgZnVsbG5hbWU/OiBzdHJpbmc7XG4gIHBpY3R1cmU/OiBzdHJpbmc7XG59XG4iXX0=
@@ -25,10 +25,10 @@ export class AXMOidcPermissionLoader {
25
25
  const truePolicies = Object.keys(policies).filter((key) => policies[key] === true);
26
26
  return truePolicies;
27
27
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMOidcPermissionLoader, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
29
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMOidcPermissionLoader }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcPermissionLoader, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
29
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcPermissionLoader }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMOidcPermissionLoader, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcPermissionLoader, decorators: [{
32
32
  type: Injectable
33
33
  }], ctorParameters: () => [{ type: i1.HttpClient }] });
34
34
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi5sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYmFja2VuZC9zcmMvbGliL2F1dGgvb2lkYy9wZXJtaXNzaW9uLmxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBR3ZDLE1BQU0sT0FBTyx1QkFBdUI7SUFJbEMsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUg1QixZQUFPLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDeEMsaUJBQVksR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxnQ0FBZ0MsQ0FBQztJQUV4QyxDQUFDO0lBRXhDLE9BQU8sQ0FBQyxPQUEwQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFpQixJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEcsNEJBQTRCO1FBQzVCLG1CQUFtQjtRQUNuQix1REFBdUQ7UUFDdkQsMEhBQTBIO1FBQzFILE9BQU87UUFDUCxxQ0FBcUM7UUFDckMsd0hBQXdIO0lBQzFILENBQUM7SUFFRCxLQUFLLENBQUMsT0FBWTtRQUNoQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUM5QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO1FBQ25GLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7OEdBckJVLHVCQUF1QjtrSEFBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQUGVybWlzc2lvbiwgQVhQUGVybWlzc2lvbkxvYWRlciwgQVhQU2Vzc2lvbkNvbnRleHQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgQVhQX1JPT1RfQ09ORklHX1RPS0VOIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgbWFwIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWE1PaWRjUGVybWlzc2lvbkxvYWRlciBpbXBsZW1lbnRzIEFYUFBlcm1pc3Npb25Mb2FkZXIge1xuICBwcml2YXRlIGNvbmZpZ3MgPSBpbmplY3QoQVhQX1JPT1RfQ09ORklHX1RPS0VOKTtcbiAgcHJpdmF0ZSBhcGlHZXRDb25maWcgPSBgJHt0aGlzLmNvbmZpZ3MuYmFzZVVybH0vYWJwL2FwcGxpY2F0aW9uLWNvbmZpZ3VyYXRpb25gO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cblxuICBnZXRMaXN0KGNvbnRleHQ6IEFYUFNlc3Npb25Db250ZXh0KTogT2JzZXJ2YWJsZTxBWFBQZXJtaXNzaW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDx7IGl0ZW1zOiBhbnkgfT4odGhpcy5hcGlHZXRDb25maWcpLnBpcGUobWFwKChyZXNwb25zZSkgPT4gdGhpcy5tYXBUbyhyZXNwb25zZSkpKTtcbiAgICAvLyBpZiAoY29udGV4dC51c2VyID09IG51bGwpXG4gICAgLy8gICByZXR1cm4gb2YoW10pO1xuICAgIC8vIGVsc2UgaWYgKGNvbnRleHQudXNlci5uYW1lLnRvTG93ZXJDYXNlKCkgPT0gJ2FkbWluJylcbiAgICAvLyAgIHJldHVybiBvZihbJ2F4cC5hZG1pbi5jb25zb2xlJywgJ2FzYy5hZG1pbi5tZXNzYWdlJywgJ2FzYy5hZG1pbi5zZXR0aW5ncycsICdhc2MuYWRtaW4uZ2xpZGluZycsICdhc2MudXNlci5nbGlkaW5nJ10pO1xuICAgIC8vIGVsc2VcbiAgICAvLyAgIHJldHVybiBvZihbJ2FzYy51c2VyLmdsaWRpbmcnXSk7XG4gICAgLy8gcmV0dXJuIG9mKFsnYXhwLmFkbWluLmNvbnNvbGUnLCAnYXNjLmFkbWluLm1lc3NhZ2UnLCAnYXNjLmFkbWluLnNldHRpbmdzJywgJ2FzYy5hZG1pbi5nbGlkaW5nJywgJ2FzYy51c2VyLmdsaWRpbmcnXSk7XG4gIH1cblxuICBtYXBUbyhqc29uT2JqOiBhbnkpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgcG9saWNpZXMgPSBqc29uT2JqLmF1dGguZ3JhbnRlZFBvbGljaWVzO1xuICAgIGNvbnN0IHRydWVQb2xpY2llcyA9IE9iamVjdC5rZXlzKHBvbGljaWVzKS5maWx0ZXIoKGtleSkgPT4gcG9saWNpZXNba2V5XSA9PT0gdHJ1ZSk7XG4gICAgcmV0dXJuIHRydWVQb2xpY2llcztcbiAgfVxufVxuIl19
@@ -1,13 +1,10 @@
1
1
  import { AXPSessionService } from '@acorex/platform/auth';
2
2
  import { Component, inject } from '@angular/core';
3
3
  import { ActivatedRoute, Router } from '@angular/router';
4
- import { AXMOidcUserManagerService } from './usermanager.service';
5
4
  import * as i0 from "@angular/core";
6
- import * as i1 from "./usermanager.service";
7
- import * as i2 from "@angular/router";
5
+ import * as i1 from "@angular/router";
8
6
  export class SignincallbackComponent {
9
- constructor(userManagerService, router, route) {
10
- this.userManagerService = userManagerService;
7
+ constructor(router, route) {
11
8
  this.router = router;
12
9
  this.route = route;
13
10
  this.sessionService = inject(AXPSessionService);
@@ -32,15 +29,15 @@ export class SignincallbackComponent {
32
29
  };
33
30
  this.sessionService.setApplication(selectedApplication);
34
31
  }
35
- this.userManagerService.signinSilentCallback();
32
+ // this.userManagerService.signinSilentCallback();
36
33
  }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: SignincallbackComponent, deps: [{ token: i1.AXMOidcUserManagerService }, { token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
38
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: SignincallbackComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true }); }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SignincallbackComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: SignincallbackComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true }); }
39
36
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: SignincallbackComponent, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SignincallbackComponent, decorators: [{
41
38
  type: Component,
42
39
  args: [{
43
40
  template: '',
44
41
  }]
45
- }], ctorParameters: () => [{ type: i1.AXMOidcUserManagerService }, { type: i2.Router }, { type: i2.ActivatedRoute }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmluY2FsbGJhY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2JhY2tlbmQvc3JjL2xpYi9hdXRoL29pZGMvc2lnbmluY2FsbGJhY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFLbEUsTUFBTSxPQUFPLHVCQUF1QjtJQUVsQyxZQUFvQixrQkFBNkMsRUFBVSxNQUFjLEVBQVUsS0FBcUI7UUFBcEcsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUEyQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQURoSCxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRW5ELENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1FBQ3BELElBQUksV0FBVyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDNUIsTUFBTSxjQUFjLEdBQUc7Z0JBQ3JCLEVBQUUsRUFBRSxXQUFXLENBQUMsVUFBVSxDQUFDO2dCQUMzQixJQUFJLEVBQUUsV0FBVyxDQUFDLFlBQVksQ0FBQztnQkFDL0IsS0FBSyxFQUFFLFdBQVcsQ0FBQyxhQUFhLENBQUM7YUFDbEMsQ0FBQztZQUNGLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFDRCxJQUFJLFdBQVcsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sbUJBQW1CLEdBQUc7Z0JBQzFCLEVBQUUsRUFBRSxXQUFXLENBQUMsZUFBZSxDQUFDO2dCQUNoQyxJQUFJLEVBQUUsV0FBVyxDQUFDLGlCQUFpQixDQUFDO2dCQUNwQyxLQUFLLEVBQUUsV0FBVyxDQUFDLGtCQUFrQixDQUFDO2dCQUN0QyxPQUFPLEVBQUUsR0FBRztnQkFDWixXQUFXLEVBQUUsV0FBVyxDQUFDLGFBQWEsQ0FBQzthQUN4QyxDQUFDO1lBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDakQsQ0FBQzs4R0ExQlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsb0RBRnhCLEVBQUU7OzJGQUVELHVCQUF1QjtrQkFIbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQVhNT2lkY1VzZXJNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4vdXNlcm1hbmFnZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogJycsXG59KVxuZXhwb3J0IGNsYXNzIFNpZ25pbmNhbGxiYWNrQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSBzZXNzaW9uU2VydmljZSA9IGluamVjdChBWFBTZXNzaW9uU2VydmljZSk7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdXNlck1hbmFnZXJTZXJ2aWNlOiBBWE1PaWRjVXNlck1hbmFnZXJTZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zO1xuICAgIGlmIChxdWVyeVBhcmFtc1sndGVuYW50aWQnXSkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRUZW5hbnQgPSB7XG4gICAgICAgIGlkOiBxdWVyeVBhcmFtc1sndGVuYW50aWQnXSxcbiAgICAgICAgbmFtZTogcXVlcnlQYXJhbXNbJ3RlbmFudG5hbWUnXSxcbiAgICAgICAgdGl0bGU6IHF1ZXJ5UGFyYW1zWyd0ZW5hbnR0aXRsZSddLFxuICAgICAgfTtcbiAgICAgIHRoaXMuc2Vzc2lvblNlcnZpY2Uuc2V0VGVuYW50KHNlbGVjdGVkVGVuYW50KTtcbiAgICB9XG4gICAgaWYgKHF1ZXJ5UGFyYW1zWydhcHBsaWNhdGlvbmlkJ10pIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkQXBwbGljYXRpb24gPSB7XG4gICAgICAgIGlkOiBxdWVyeVBhcmFtc1snYXBwbGljYXRpb25pZCddLFxuICAgICAgICBuYW1lOiBxdWVyeVBhcmFtc1snYXBwbGljYXRpb25uYW1lJ10sXG4gICAgICAgIHRpdGxlOiBxdWVyeVBhcmFtc1snYXBwbGljYXRpb250aXRsZSddLFxuICAgICAgICB2ZXJzaW9uOiAnMScsXG4gICAgICAgIGVkaXRpb25OYW1lOiBxdWVyeVBhcmFtc1snZWRpdGlvbm5hbWUnXSxcbiAgICAgIH07XG4gICAgICB0aGlzLnNlc3Npb25TZXJ2aWNlLnNldEFwcGxpY2F0aW9uKHNlbGVjdGVkQXBwbGljYXRpb24pO1xuICAgIH1cbiAgICB0aGlzLnVzZXJNYW5hZ2VyU2VydmljZS5zaWduaW5TaWxlbnRDYWxsYmFjaygpO1xuICB9XG59XG4iXX0=
42
+ }], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }] });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmluY2FsbGJhY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2JhY2tlbmQvc3JjL2xpYi9hdXRoL29pZGMvc2lnbmluY2FsbGJhY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUt6RCxNQUFNLE9BQU8sdUJBQXVCO0lBRWxDLFlBQW9CLE1BQWMsRUFBVSxLQUFxQjtRQUE3QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFEekQsbUJBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNpQixDQUFDO0lBRXJFLFFBQVE7UUFDTixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7UUFDcEQsSUFBSSxXQUFXLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUM1QixNQUFNLGNBQWMsR0FBRztnQkFDckIsRUFBRSxFQUFFLFdBQVcsQ0FBQyxVQUFVLENBQUM7Z0JBQzNCLElBQUksRUFBRSxXQUFXLENBQUMsWUFBWSxDQUFDO2dCQUMvQixLQUFLLEVBQUUsV0FBVyxDQUFDLGFBQWEsQ0FBQzthQUNsQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUNELElBQUksV0FBVyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDakMsTUFBTSxtQkFBbUIsR0FBRztnQkFDMUIsRUFBRSxFQUFFLFdBQVcsQ0FBQyxlQUFlLENBQUM7Z0JBQ2hDLElBQUksRUFBRSxXQUFXLENBQUMsaUJBQWlCLENBQUM7Z0JBQ3BDLEtBQUssRUFBRSxXQUFXLENBQUMsa0JBQWtCLENBQUM7Z0JBQ3RDLE9BQU8sRUFBRSxHQUFHO2dCQUNaLFdBQVcsRUFBRSxXQUFXLENBQUMsYUFBYSxDQUFDO2FBQ3hDLENBQUM7WUFDRixJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFDRCxrREFBa0Q7SUFDcEQsQ0FBQzs4R0F6QlUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsb0RBRnhCLEVBQUU7OzJGQUVELHVCQUF1QjtrQkFIbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9hdXRoJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnLFxufSlcbmV4cG9ydCBjbGFzcyBTaWduaW5jYWxsYmFja0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgc2Vzc2lvblNlcnZpY2UgPSBpbmplY3QoQVhQU2Vzc2lvblNlcnZpY2UpO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbXM7XG4gICAgaWYgKHF1ZXJ5UGFyYW1zWyd0ZW5hbnRpZCddKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZFRlbmFudCA9IHtcbiAgICAgICAgaWQ6IHF1ZXJ5UGFyYW1zWyd0ZW5hbnRpZCddLFxuICAgICAgICBuYW1lOiBxdWVyeVBhcmFtc1sndGVuYW50bmFtZSddLFxuICAgICAgICB0aXRsZTogcXVlcnlQYXJhbXNbJ3RlbmFudHRpdGxlJ10sXG4gICAgICB9O1xuICAgICAgdGhpcy5zZXNzaW9uU2VydmljZS5zZXRUZW5hbnQoc2VsZWN0ZWRUZW5hbnQpO1xuICAgIH1cbiAgICBpZiAocXVlcnlQYXJhbXNbJ2FwcGxpY2F0aW9uaWQnXSkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRBcHBsaWNhdGlvbiA9IHtcbiAgICAgICAgaWQ6IHF1ZXJ5UGFyYW1zWydhcHBsaWNhdGlvbmlkJ10sXG4gICAgICAgIG5hbWU6IHF1ZXJ5UGFyYW1zWydhcHBsaWNhdGlvbm5hbWUnXSxcbiAgICAgICAgdGl0bGU6IHF1ZXJ5UGFyYW1zWydhcHBsaWNhdGlvbnRpdGxlJ10sXG4gICAgICAgIHZlcnNpb246ICcxJyxcbiAgICAgICAgZWRpdGlvbk5hbWU6IHF1ZXJ5UGFyYW1zWydlZGl0aW9ubmFtZSddLFxuICAgICAgfTtcbiAgICAgIHRoaXMuc2Vzc2lvblNlcnZpY2Uuc2V0QXBwbGljYXRpb24oc2VsZWN0ZWRBcHBsaWNhdGlvbik7XG4gICAgfVxuICAgIC8vIHRoaXMudXNlck1hbmFnZXJTZXJ2aWNlLnNpZ25pblNpbGVudENhbGxiYWNrKCk7XG4gIH1cbn1cbiJdfQ==
@@ -25,10 +25,10 @@ export class AXMOidcTenantLoader {
25
25
  // Add other fields and defaults as needed, and handle the logo if applicable
26
26
  };
27
27
  }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMOidcTenantLoader, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
29
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMOidcTenantLoader }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcTenantLoader, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
29
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcTenantLoader }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMOidcTenantLoader, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMOidcTenantLoader, decorators: [{
32
32
  type: Injectable
33
33
  }], ctorParameters: () => [{ type: i1.HttpClient }] });
34
34
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVuYW50LmxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9iYWNrZW5kL3NyYy9saWIvYXV0aC9vaWRjL3RlbmFudC5sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUd2QyxNQUFNLE9BQU8sbUJBQW1CO0lBSTlCLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFINUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sdUJBQXVCLENBQUM7UUFDL0QsaUJBQVksR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxZQUFZLENBQUM7SUFDbkIsQ0FBQztJQUV6QyxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBbUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlJLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQWlCO1FBQ3pCLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTyxjQUFjLENBQUMsSUFBUztRQUM5QixPQUFPO1lBQ0wsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksYUFBYTtZQUNoQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssSUFBSSxjQUFjO1lBQ25DLDZFQUE2RTtTQUM5RSxDQUFDO0lBQ0osQ0FBQzs4R0FyQlUsbUJBQW1CO2tIQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBUZW5hbnQsIEFYUFRlbmFudExvYWRlciB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBBWFBfUk9PVF9DT05GSUdfVE9LRU4gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYTU9pZGNUZW5hbnRMb2FkZXIgaW1wbGVtZW50cyBBWFBUZW5hbnRMb2FkZXIge1xuICBwcml2YXRlIGNvbmZpZ3MgPSBpbmplY3QoQVhQX1JPT1RfQ09ORklHX1RPS0VOKTtcbiAgcHJpdmF0ZSBhcGlHZXRUZW5hbnRzID0gYCR7dGhpcy5jb25maWdzLmJhc2VVcmx9L3VzZXItdGVuYW50cy9UZW5hbnRzYDtcbiAgcHJpdmF0ZSBhcGlTZXRUZW5hbnQgPSBgJHt0aGlzLmNvbmZpZ3MuYmFzZVVybH0vU2V0VGVuYW50YDtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7IH1cblxuICBnZXRMaXN0KCk6IE9ic2VydmFibGU8QVhQVGVuYW50W10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDx7IGl0ZW1zOiBhbnlbXSB9Pih0aGlzLmFwaUdldFRlbmFudHMpLnBpcGUobWFwKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuaXRlbXMubWFwKChpdGVtKSA9PiB0aGlzLm1hcFRvQVhQVGVuYW50KGl0ZW0pKSkpO1xuICB9XG5cbiAgYXN5bmMgc2V0KHRlbmFudDogQVhQVGVuYW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBUb0FYUFRlbmFudChpdGVtOiBhbnkpOiBBWFBUZW5hbnQge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogaXRlbS5pZCxcbiAgICAgIG5hbWU6IGl0ZW0ubmFtZSB8fCAnZGVmYXVsdE5hbWUnLFxuICAgICAgdGl0bGU6IGl0ZW0udGl0bGUgfHwgJ2RlZmF1bHRUaXRsZScsXG4gICAgICAvLyBBZGQgb3RoZXIgZmllbGRzIGFuZCBkZWZhdWx0cyBhcyBuZWVkZWQsIGFuZCBoYW5kbGUgdGhlIGxvZ28gaWYgYXBwbGljYWJsZVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,24 +1,28 @@
1
1
  import { AXMAuthModule } from '@acorex/modules/auth';
2
2
  import { AXPAuthModule, AXP_APPLICATION_LOADER, AXP_FEATURE_LOADER, AXP_PERMISSION_LOADER, AXP_TENANT_LOADER } from '@acorex/platform/auth';
3
3
  import { AXPDataProvider } from '@acorex/platform/common';
4
+ import { AXPFileManagementService } from '@acorex/platform/widgets';
4
5
  import { NgModule } from '@angular/core';
5
6
  import { ROUTES } from '@angular/router';
6
7
  //-----------------------------------------------------------------
7
- import { AXMBackendDataProvider } from './data/api/data-provider';
8
8
  import { AXMOidcApplicationLoader, AXMOidcFeatureLoader, AXMOidcPermissionLoader, AXMOidcStrategy, AXMOidcTenantLoader } from './auth/oidc';
9
+ import { AXMBackendDataProvider } from './data/api/data-provider';
9
10
  //-----------------------------------------------------------------
11
+ import { OAuthModule } from 'angular-oauth2-oidc';
10
12
  import { SignincallbackComponent } from './auth/oidc/signincallback.component';
13
+ import { AXMFileManagementService } from './data';
11
14
  import * as i0 from "@angular/core";
12
- import * as i1 from "@acorex/modules/auth";
13
- import * as i2 from "@acorex/platform/auth";
15
+ import * as i1 from "angular-oauth2-oidc";
16
+ import * as i2 from "@acorex/modules/auth";
17
+ import * as i3 from "@acorex/platform/auth";
14
18
  function routesFactory() {
15
19
  const routes = [{ path: 'auth/signincallback', component: SignincallbackComponent }];
16
20
  return routes;
17
21
  }
18
22
  export class AXMBackendModule {
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMBackendModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
20
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: AXMBackendModule, imports: [i1.AXMAuthModule, i2.AXPAuthModule] }); }
21
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMBackendModule, providers: [
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMBackendModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
24
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: AXMBackendModule, imports: [i1.OAuthModule, i2.AXMAuthModule, i3.AXPAuthModule] }); }
25
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMBackendModule, providers: [
22
26
  {
23
27
  provide: AXPDataProvider,
24
28
  useClass: AXMBackendDataProvider,
@@ -39,20 +43,26 @@ export class AXMBackendModule {
39
43
  provide: AXP_FEATURE_LOADER,
40
44
  useClass: AXMOidcFeatureLoader,
41
45
  },
46
+ {
47
+ provide: AXPFileManagementService,
48
+ useClass: AXMFileManagementService,
49
+ },
42
50
  {
43
51
  provide: ROUTES,
44
52
  multi: true,
45
53
  useFactory: routesFactory,
46
54
  },
47
- ], imports: [AXMAuthModule.forRoot(),
55
+ ], imports: [OAuthModule.forRoot(),
56
+ AXMAuthModule.forRoot(),
48
57
  AXPAuthModule.forRoot({
49
58
  strategies: [AXMOidcStrategy],
50
59
  })] }); }
51
60
  }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AXMBackendModule, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXMBackendModule, decorators: [{
53
62
  type: NgModule,
54
63
  args: [{
55
64
  imports: [
65
+ OAuthModule.forRoot(),
56
66
  AXMAuthModule.forRoot(),
57
67
  AXPAuthModule.forRoot({
58
68
  strategies: [AXMOidcStrategy],
@@ -81,6 +91,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
81
91
  provide: AXP_FEATURE_LOADER,
82
92
  useClass: AXMOidcFeatureLoader,
83
93
  },
94
+ {
95
+ provide: AXPFileManagementService,
96
+ useClass: AXMFileManagementService,
97
+ },
84
98
  {
85
99
  provide: ROUTES,
86
100
  multi: true,
@@ -89,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImpor
89
103
  ],
90
104
  }]
91
105
  }] });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYmFja2VuZC9zcmMvbGliL2JhY2tlbmQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLHNCQUFzQixFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUksT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLE1BQU0sRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELG1FQUFtRTtBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsb0JBQW9CLEVBQUUsdUJBQXVCLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVJLG1FQUFtRTtBQUVuRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQUUvRSxTQUFTLGFBQWE7SUFDcEIsTUFBTSxNQUFNLEdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDO0lBQzdGLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUF1Q0QsTUFBTSxPQUFPLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixhQTVCaEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsZUFBZTtnQkFDeEIsUUFBUSxFQUFFLHNCQUFzQjthQUNqQztZQUNEO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFFBQVEsRUFBRSxtQkFBbUI7YUFDOUI7WUFDRDtnQkFDRSxPQUFPLEVBQUUsc0JBQXNCO2dCQUMvQixRQUFRLEVBQUUsd0JBQXdCO2FBQ25DO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLHFCQUFxQjtnQkFDOUIsUUFBUSxFQUFFLHVCQUF1QjthQUNsQztZQUNEO2dCQUNFLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFFBQVEsRUFBRSxvQkFBb0I7YUFDL0I7WUFDRDtnQkFDRSxPQUFPLEVBQUUsTUFBTTtnQkFDZixLQUFLLEVBQUUsSUFBSTtnQkFDWCxVQUFVLEVBQUUsYUFBYTthQUMxQjtTQUNGLFlBakNDLGFBQWEsQ0FBQyxPQUFPLEVBQUU7WUFDdkIsYUFBYSxDQUFDLE9BQU8sQ0FBQztnQkFDcEIsVUFBVSxFQUFFLENBQUMsZUFBZSxDQUFDO2FBQzlCLENBQUM7OzJGQWdDTyxnQkFBZ0I7a0JBckM1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxhQUFhLENBQUMsT0FBTyxFQUFFO3dCQUN2QixhQUFhLENBQUMsT0FBTyxDQUFDOzRCQUNwQixVQUFVLEVBQUUsQ0FBQyxlQUFlLENBQUM7eUJBQzlCLENBQUM7cUJBQ0g7b0JBQ0QsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsZUFBZTs0QkFDeEIsUUFBUSxFQUFFLHNCQUFzQjt5QkFDakM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsUUFBUSxFQUFFLG1CQUFtQjt5QkFDOUI7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHNCQUFzQjs0QkFDL0IsUUFBUSxFQUFFLHdCQUF3Qjt5QkFDbkM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHFCQUFxQjs0QkFDOUIsUUFBUSxFQUFFLHVCQUF1Qjt5QkFDbEM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsUUFBUSxFQUFFLG9CQUFvQjt5QkFDL0I7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLE1BQU07NEJBQ2YsS0FBSyxFQUFFLElBQUk7NEJBQ1gsVUFBVSxFQUFFLGFBQWE7eUJBQzFCO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhNQXV0aE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvbW9kdWxlcy9hdXRoJztcbmltcG9ydCB7IEFYUEF1dGhNb2R1bGUsIEFYUF9BUFBMSUNBVElPTl9MT0FERVIsIEFYUF9GRUFUVVJFX0xPQURFUiwgQVhQX1BFUk1JU1NJT05fTE9BREVSLCBBWFBfVEVOQU5UX0xPQURFUiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBBWFBEYXRhUHJvdmlkZXIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUk9VVEVTLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5pbXBvcnQgeyBBWE1CYWNrZW5kRGF0YVByb3ZpZGVyIH0gZnJvbSAnLi9kYXRhL2FwaS9kYXRhLXByb3ZpZGVyJztcbmltcG9ydCB7IEFYTU9pZGNBcHBsaWNhdGlvbkxvYWRlciwgQVhNT2lkY0ZlYXR1cmVMb2FkZXIsIEFYTU9pZGNQZXJtaXNzaW9uTG9hZGVyLCBBWE1PaWRjU3RyYXRlZ3ksIEFYTU9pZGNUZW5hbnRMb2FkZXIgfSBmcm9tICcuL2F1dGgvb2lkYyc7XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmltcG9ydCB7IFNpZ25pbmNhbGxiYWNrQ29tcG9uZW50IH0gZnJvbSAnLi9hdXRoL29pZGMvc2lnbmluY2FsbGJhY2suY29tcG9uZW50JztcblxuZnVuY3Rpb24gcm91dGVzRmFjdG9yeSgpIHtcbiAgY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbeyBwYXRoOiAnYXV0aC9zaWduaW5jYWxsYmFjaycsIGNvbXBvbmVudDogU2lnbmluY2FsbGJhY2tDb21wb25lbnQgfV07XG4gIHJldHVybiByb3V0ZXM7XG59XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBBWE1BdXRoTW9kdWxlLmZvclJvb3QoKSxcbiAgICBBWFBBdXRoTW9kdWxlLmZvclJvb3Qoe1xuICAgICAgc3RyYXRlZ2llczogW0FYTU9pZGNTdHJhdGVneV0sXG4gICAgfSksXG4gIF0sXG4gIGV4cG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBEYXRhUHJvdmlkZXIsXG4gICAgICB1c2VDbGFzczogQVhNQmFja2VuZERhdGFQcm92aWRlcixcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9URU5BTlRfTE9BREVSLFxuICAgICAgdXNlQ2xhc3M6IEFYTU9pZGNUZW5hbnRMb2FkZXIsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfQVBQTElDQVRJT05fTE9BREVSLFxuICAgICAgdXNlQ2xhc3M6IEFYTU9pZGNBcHBsaWNhdGlvbkxvYWRlcixcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9QRVJNSVNTSU9OX0xPQURFUixcbiAgICAgIHVzZUNsYXNzOiBBWE1PaWRjUGVybWlzc2lvbkxvYWRlcixcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUF9GRUFUVVJFX0xPQURFUixcbiAgICAgIHVzZUNsYXNzOiBBWE1PaWRjRmVhdHVyZUxvYWRlcixcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFJPVVRFUyxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgdXNlRmFjdG9yeTogcm91dGVzRmFjdG9yeSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1CYWNrZW5kTW9kdWxlIHsgfVxuIl19
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2VuZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvYmFja2VuZC9zcmMvbGliL2JhY2tlbmQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLHNCQUFzQixFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUksT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLE1BQU0sRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBRWpELG1FQUFtRTtBQUNuRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsb0JBQW9CLEVBQUUsdUJBQXVCLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVJLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLG1FQUFtRTtBQUVuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sUUFBUSxDQUFDOzs7OztBQUVsRCxTQUFTLGFBQWE7SUFDcEIsTUFBTSxNQUFNLEdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxxQkFBcUIsRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDO0lBQzdGLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUE0Q0QsTUFBTSxPQUFPLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixhQWhDaEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsZUFBZTtnQkFDeEIsUUFBUSxFQUFFLHNCQUFzQjthQUNqQztZQUNEO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFFBQVEsRUFBRSxtQkFBbUI7YUFDOUI7WUFDRDtnQkFDRSxPQUFPLEVBQUUsc0JBQXNCO2dCQUMvQixRQUFRLEVBQUUsd0JBQXdCO2FBQ25DO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLHFCQUFxQjtnQkFDOUIsUUFBUSxFQUFFLHVCQUF1QjthQUNsQztZQUNEO2dCQUNFLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFFBQVEsRUFBRSxvQkFBb0I7YUFDL0I7WUFDRDtnQkFDRSxPQUFPLEVBQUUsd0JBQXdCO2dCQUNqQyxRQUFRLEVBQUUsd0JBQXdCO2FBQ25DO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLE1BQU07Z0JBQ2YsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsVUFBVSxFQUFFLGFBQWE7YUFDMUI7U0FDRixZQXRDQyxXQUFXLENBQUMsT0FBTyxFQUFFO1lBQ3JCLGFBQWEsQ0FBQyxPQUFPLEVBQUU7WUFDdkIsYUFBYSxDQUFDLE9BQU8sQ0FBQztnQkFDcEIsVUFBVSxFQUFFLENBQUMsZUFBZSxDQUFDO2FBQzlCLENBQUM7OzJGQW9DTyxnQkFBZ0I7a0JBMUM1QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxXQUFXLENBQUMsT0FBTyxFQUFFO3dCQUNyQixhQUFhLENBQUMsT0FBTyxFQUFFO3dCQUN2QixhQUFhLENBQUMsT0FBTyxDQUFDOzRCQUNwQixVQUFVLEVBQUUsQ0FBQyxlQUFlLENBQUM7eUJBQzlCLENBQUM7cUJBQ0g7b0JBQ0QsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsZUFBZTs0QkFDeEIsUUFBUSxFQUFFLHNCQUFzQjt5QkFDakM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsUUFBUSxFQUFFLG1CQUFtQjt5QkFDOUI7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHNCQUFzQjs0QkFDL0IsUUFBUSxFQUFFLHdCQUF3Qjt5QkFDbkM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHFCQUFxQjs0QkFDOUIsUUFBUSxFQUFFLHVCQUF1Qjt5QkFDbEM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsUUFBUSxFQUFFLG9CQUFvQjt5QkFDL0I7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLHdCQUF3Qjs0QkFDakMsUUFBUSxFQUFFLHdCQUF3Qjt5QkFDbkM7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLE1BQU07NEJBQ2YsS0FBSyxFQUFFLElBQUk7NEJBQ1gsVUFBVSxFQUFFLGFBQWE7eUJBQzFCO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhNQXV0aE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvbW9kdWxlcy9hdXRoJztcbmltcG9ydCB7IEFYUEF1dGhNb2R1bGUsIEFYUF9BUFBMSUNBVElPTl9MT0FERVIsIEFYUF9GRUFUVVJFX0xPQURFUiwgQVhQX1BFUk1JU1NJT05fTE9BREVSLCBBWFBfVEVOQU5UX0xPQURFUiB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQgeyBBWFBEYXRhUHJvdmlkZXIgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBGaWxlTWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dpZGdldHMnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJPVVRFUywgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuaW1wb3J0IHsgQVhNT2lkY0FwcGxpY2F0aW9uTG9hZGVyLCBBWE1PaWRjRmVhdHVyZUxvYWRlciwgQVhNT2lkY1Blcm1pc3Npb25Mb2FkZXIsIEFYTU9pZGNTdHJhdGVneSwgQVhNT2lkY1RlbmFudExvYWRlciB9IGZyb20gJy4vYXV0aC9vaWRjJztcbmltcG9ydCB7IEFYTUJhY2tlbmREYXRhUHJvdmlkZXIgfSBmcm9tICcuL2RhdGEvYXBpL2RhdGEtcHJvdmlkZXInO1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5pbXBvcnQgeyBPQXV0aE1vZHVsZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IHsgU2lnbmluY2FsbGJhY2tDb21wb25lbnQgfSBmcm9tICcuL2F1dGgvb2lkYy9zaWduaW5jYWxsYmFjay5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhNRmlsZU1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9kYXRhJztcblxuZnVuY3Rpb24gcm91dGVzRmFjdG9yeSgpIHtcbiAgY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbeyBwYXRoOiAnYXV0aC9zaWduaW5jYWxsYmFjaycsIGNvbXBvbmVudDogU2lnbmluY2FsbGJhY2tDb21wb25lbnQgfV07XG4gIHJldHVybiByb3V0ZXM7XG59XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBPQXV0aE1vZHVsZS5mb3JSb290KCksXG4gICAgQVhNQXV0aE1vZHVsZS5mb3JSb290KCksXG4gICAgQVhQQXV0aE1vZHVsZS5mb3JSb290KHtcbiAgICAgIHN0cmF0ZWdpZXM6IFtBWE1PaWRjU3RyYXRlZ3ldLFxuICAgIH0pLFxuICBdLFxuICBleHBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQRGF0YVByb3ZpZGVyLFxuICAgICAgdXNlQ2xhc3M6IEFYTUJhY2tlbmREYXRhUHJvdmlkZXIsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfVEVOQU5UX0xPQURFUixcbiAgICAgIHVzZUNsYXNzOiBBWE1PaWRjVGVuYW50TG9hZGVyLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQVhQX0FQUExJQ0FUSU9OX0xPQURFUixcbiAgICAgIHVzZUNsYXNzOiBBWE1PaWRjQXBwbGljYXRpb25Mb2FkZXIsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfUEVSTUlTU0lPTl9MT0FERVIsXG4gICAgICB1c2VDbGFzczogQVhNT2lkY1Blcm1pc3Npb25Mb2FkZXIsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBfRkVBVFVSRV9MT0FERVIsXG4gICAgICB1c2VDbGFzczogQVhNT2lkY0ZlYXR1cmVMb2FkZXIsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBBWFBGaWxlTWFuYWdlbWVudFNlcnZpY2UsXG4gICAgICB1c2VDbGFzczogQVhNRmlsZU1hbmFnZW1lbnRTZXJ2aWNlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogUk9VVEVTLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICB1c2VGYWN0b3J5OiByb3V0ZXNGYWN0b3J5LFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTUJhY2tlbmRNb2R1bGUge31cbiJdfQ==