@indigina/kendo 1.0.134-beta → 1.0.149-beta

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 (45) hide show
  1. package/bundles/indigina-kendo.umd.js +2848 -2589
  2. package/bundles/indigina-kendo.umd.js.map +1 -1
  3. package/bundles/indigina-kendo.umd.min.js +2 -2
  4. package/bundles/indigina-kendo.umd.min.js.map +1 -1
  5. package/esm2015/indigina-kendo.js +2 -1
  6. package/esm2015/lib/angular/indigina.module.js +24 -14
  7. package/esm2015/lib/angular/models/AppSettings.js +1 -1
  8. package/esm2015/lib/angular/services/http.service.js +7 -6
  9. package/esm2015/lib/angular/services/settings.service.js +8 -1
  10. package/esm2015/lib/components/azure-login-callback/azure-login-callback.component.js +35 -0
  11. package/esm2015/lib/config/msal-instance.factory.js +27 -0
  12. package/esm2015/lib/interceptors/auth-headers.interceptor.js +32 -0
  13. package/esm2015/lib/kendo.module.js +44 -24
  14. package/esm2015/lib/models/AuthProviders.js +6 -0
  15. package/esm2015/lib/models/AzureB2CSettings.js +2 -0
  16. package/esm2015/lib/models/SystemInfo.js +2 -0
  17. package/esm2015/lib/services/account.service.js +9 -9
  18. package/esm2015/lib/services/auth-provider.resolver.js +48 -0
  19. package/esm2015/lib/services/auth.providers/AuthProvider.js +3 -0
  20. package/esm2015/lib/services/auth.providers/azureb2c.provider.js +44 -0
  21. package/esm2015/lib/services/auth.providers/oauth.provider.js +40 -0
  22. package/esm2015/lib/services/base.account.service.js +67 -66
  23. package/esm2015/public-api.js +52 -47
  24. package/fesm2015/indigina-kendo.js +2513 -2275
  25. package/fesm2015/indigina-kendo.js.map +1 -1
  26. package/indigina-kendo.d.ts +1 -0
  27. package/indigina-kendo.metadata.json +1 -1
  28. package/lib/angular/indigina.module.d.ts +1 -1
  29. package/lib/angular/models/AppSettings.d.ts +4 -0
  30. package/lib/angular/services/http.service.d.ts +3 -3
  31. package/lib/angular/services/settings.service.d.ts +2 -0
  32. package/lib/components/azure-login-callback/azure-login-callback.component.d.ts +11 -0
  33. package/lib/config/msal-instance.factory.d.ts +3 -0
  34. package/lib/interceptors/auth-headers.interceptor.d.ts +8 -0
  35. package/lib/models/AuthProviders.d.ts +4 -0
  36. package/lib/models/AzureB2CSettings.d.ts +5 -0
  37. package/lib/models/SystemInfo.d.ts +3 -0
  38. package/lib/services/account.service.d.ts +5 -5
  39. package/lib/services/auth-provider.resolver.d.ts +12 -0
  40. package/lib/services/auth.providers/AuthProvider.d.ts +8 -0
  41. package/lib/services/auth.providers/azureb2c.provider.d.ts +14 -0
  42. package/lib/services/auth.providers/oauth.provider.d.ts +15 -0
  43. package/lib/services/base.account.service.d.ts +5 -5
  44. package/package.json +3 -1
  45. package/public-api.d.ts +68 -61
@@ -1,32 +1,32 @@
1
1
  import { Injectable } from '@angular/core';
2
- import { OAuthService } from 'angular-oauth2-oidc';
3
2
  import { HttpService } from '../angular/services/http.service';
4
3
  import { SettingsService } from '../angular/services/settings.service';
5
- import { SignalRService } from './signalr/signalr.service';
4
+ import { AuthProviderResolver } from './auth-provider.resolver';
6
5
  import { BaseAccountService } from './base.account.service';
6
+ import { SignalRService } from './signalr/signalr.service';
7
7
  import * as i0 from "@angular/core";
8
- import * as i1 from "angular-oauth2-oidc";
8
+ import * as i1 from "./auth-provider.resolver";
9
9
  import * as i2 from "../angular/services/http.service";
10
10
  import * as i3 from "../angular/services/settings.service";
11
11
  import * as i4 from "./signalr/signalr.service";
12
12
  const adminKey = 'Admin';
13
13
  export class AccountService extends BaseAccountService {
14
- constructor(oauthService, httpService, settingsService, signalRService) {
15
- super(oauthService, httpService, settingsService, signalRService);
16
- this.oauthService = oauthService;
14
+ constructor(resolver, httpService, settingsService, signalRService) {
15
+ super(resolver, httpService, settingsService, signalRService);
16
+ this.resolver = resolver;
17
17
  this.isAdmin = (member) => { var _a; return (_a = (member === null || member === void 0 ? void 0 : member.type) === adminKey) !== null && _a !== void 0 ? _a : false; };
18
18
  }
19
19
  }
20
- AccountService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(i0.ɵɵinject(i1.OAuthService), i0.ɵɵinject(i2.HttpService), i0.ɵɵinject(i3.SettingsService), i0.ɵɵinject(i4.SignalRService)); }, token: AccountService, providedIn: "root" });
20
+ AccountService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(i0.ɵɵinject(i1.AuthProviderResolver), i0.ɵɵinject(i2.HttpService), i0.ɵɵinject(i3.SettingsService), i0.ɵɵinject(i4.SignalRService)); }, token: AccountService, providedIn: "root" });
21
21
  AccountService.decorators = [
22
22
  { type: Injectable, args: [{
23
23
  providedIn: 'root',
24
24
  },] }
25
25
  ];
26
26
  AccountService.ctorParameters = () => [
27
- { type: OAuthService },
27
+ { type: AuthProviderResolver },
28
28
  { type: HttpService },
29
29
  { type: SettingsService },
30
30
  { type: SignalRService }
31
31
  ];
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQUU1RCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUM7QUFLekIsTUFBTSxPQUFPLGNBQWUsU0FBUSxrQkFBMEI7SUFDNUQsWUFDUyxZQUEwQixFQUNqQyxXQUF3QixFQUN4QixlQUFnQyxFQUNoQyxjQUE4QjtRQUU5QixLQUFLLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFMM0QsaUJBQVksR0FBWixZQUFZLENBQWM7UUFRNUIsWUFBTyxHQUFHLENBQUMsTUFBYyxFQUFXLEVBQUUsd0JBQzNDLENBQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLElBQUksTUFBSyxRQUFRLG1DQUFJLEtBQUssR0FBQSxDQUFDO0lBSHJDLENBQUM7Ozs7WUFYRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQVhRLFlBQVk7WUFFWixXQUFXO1lBQ1gsZUFBZTtZQUNmLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPQXV0aFNlcnZpY2UgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IE1lbWJlciB9IGZyb20gJy4uL21vZGVscy9NZW1iZXInO1xuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tICcuLi9hbmd1bGFyL3NlcnZpY2VzL2h0dHAuc2VydmljZSc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi9hbmd1bGFyL3NlcnZpY2VzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2lnbmFsUlNlcnZpY2UgfSBmcm9tICcuL3NpZ25hbHIvc2lnbmFsci5zZXJ2aWNlJztcbmltcG9ydCB7IEJhc2VBY2NvdW50U2VydmljZSB9IGZyb20gJy4vYmFzZS5hY2NvdW50LnNlcnZpY2UnO1xuXG5jb25zdCBhZG1pbktleSA9ICdBZG1pbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBY2NvdW50U2VydmljZSBleHRlbmRzIEJhc2VBY2NvdW50U2VydmljZTxNZW1iZXI+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG9hdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlLFxuICAgIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSxcbiAgICBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcbiAgICBzaWduYWxSU2VydmljZTogU2lnbmFsUlNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIob2F1dGhTZXJ2aWNlLCBodHRwU2VydmljZSwgc2V0dGluZ3NTZXJ2aWNlLCBzaWduYWxSU2VydmljZSk7XG4gIH1cblxuICBwdWJsaWMgaXNBZG1pbiA9IChtZW1iZXI6IE1lbWJlcik6IGJvb2xlYW4gPT5cbiAgICBtZW1iZXI/LnR5cGUgPT09IGFkbWluS2V5ID8/IGZhbHNlO1xufVxuIl19
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7O0FBRTNELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQztBQUt6QixNQUFNLE9BQU8sY0FBZSxTQUFRLGtCQUEwQjtJQUM1RCxZQUNTLFFBQThCLEVBQ3JDLFdBQXdCLEVBQ3hCLGVBQWdDLEVBQ2hDLGNBQThCO1FBRTlCLEtBQUssQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUx2RCxhQUFRLEdBQVIsUUFBUSxDQUFzQjtRQVFoQyxZQUFPLEdBQUcsQ0FBQyxNQUFjLEVBQVcsRUFBRSx3QkFDM0MsQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsSUFBSSxNQUFLLFFBQVEsbUNBQUksS0FBSyxHQUFBLENBQUM7SUFIckMsQ0FBQzs7OztZQVhGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBUlEsb0JBQW9CO1lBSHBCLFdBQVc7WUFDWCxlQUFlO1lBSWYsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vYW5ndWxhci9zZXJ2aWNlcy9odHRwLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vYW5ndWxhci9zZXJ2aWNlcy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IE1lbWJlciB9IGZyb20gJy4uL21vZGVscy9NZW1iZXInO1xuaW1wb3J0IHsgQXV0aFByb3ZpZGVyUmVzb2x2ZXIgfSBmcm9tICcuL2F1dGgtcHJvdmlkZXIucmVzb2x2ZXInO1xuaW1wb3J0IHsgQmFzZUFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi9iYXNlLmFjY291bnQuc2VydmljZSc7XG5pbXBvcnQgeyBTaWduYWxSU2VydmljZSB9IGZyb20gJy4vc2lnbmFsci9zaWduYWxyLnNlcnZpY2UnO1xuXG5jb25zdCBhZG1pbktleSA9ICdBZG1pbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBY2NvdW50U2VydmljZSBleHRlbmRzIEJhc2VBY2NvdW50U2VydmljZTxNZW1iZXI+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlc29sdmVyOiBBdXRoUHJvdmlkZXJSZXNvbHZlcixcbiAgICBodHRwU2VydmljZTogSHR0cFNlcnZpY2UsXG4gICAgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgc2lnbmFsUlNlcnZpY2U6IFNpZ25hbFJTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKHJlc29sdmVyLCBodHRwU2VydmljZSwgc2V0dGluZ3NTZXJ2aWNlLCBzaWduYWxSU2VydmljZSk7XG4gIH1cblxuICBwdWJsaWMgaXNBZG1pbiA9IChtZW1iZXI6IE1lbWJlcik6IGJvb2xlYW4gPT5cbiAgICBtZW1iZXI/LnR5cGUgPT09IGFkbWluS2V5ID8/IGZhbHNlO1xufVxuIl19
@@ -0,0 +1,48 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { MsalService } from '@azure/msal-angular';
3
+ import { OAuthService } from 'angular-oauth2-oidc';
4
+ import { BehaviorSubject } from 'rxjs';
5
+ import { filter } from 'rxjs/operators';
6
+ import { IndiginaConfiguration } from '../angular/models/IndiginaConfiguration';
7
+ import { HttpService } from '../angular/services/http.service';
8
+ import { SettingsService } from '../angular/services/settings.service';
9
+ import { AuthProviders } from '../models/AuthProviders';
10
+ import { AzureB2CProvider } from './../services/auth.providers/azureb2c.provider';
11
+ import { OAuthProvider } from './../services/auth.providers/oauth.provider';
12
+ import { endpoints } from './endpoints';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "../angular/services/http.service";
15
+ import * as i2 from "angular-oauth2-oidc";
16
+ import * as i3 from "@azure/msal-angular";
17
+ import * as i4 from "../angular/services/settings.service";
18
+ import * as i5 from "../angular/models/IndiginaConfiguration";
19
+ export class AuthProviderResolver {
20
+ constructor(httpService, oauthService, msalService, settingsService, indiginaConfiguration) {
21
+ this.AuthProvider$ = new BehaviorSubject(null);
22
+ this.getProvider = () => this.AuthProvider$.pipe(filter((x) => !!x));
23
+ httpService.get(endpoints.system.info).subscribe((info) => {
24
+ let provider;
25
+ if (info.identityProvider === AuthProviders.IdentityServer) {
26
+ provider = new OAuthProvider(oauthService, indiginaConfiguration);
27
+ }
28
+ else {
29
+ provider = new AzureB2CProvider(msalService, settingsService);
30
+ }
31
+ provider.initialize().subscribe(() => this.AuthProvider$.next(provider));
32
+ });
33
+ }
34
+ }
35
+ AuthProviderResolver.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthProviderResolver_Factory() { return new AuthProviderResolver(i0.ɵɵinject(i1.HttpService), i0.ɵɵinject(i2.OAuthService), i0.ɵɵinject(i3.MsalService), i0.ɵɵinject(i4.SettingsService), i0.ɵɵinject(i5.IndiginaConfiguration)); }, token: AuthProviderResolver, providedIn: "root" });
36
+ AuthProviderResolver.decorators = [
37
+ { type: Injectable, args: [{
38
+ providedIn: 'root',
39
+ },] }
40
+ ];
41
+ AuthProviderResolver.ctorParameters = () => [
42
+ { type: HttpService },
43
+ { type: OAuthService },
44
+ { type: MsalService },
45
+ { type: SettingsService },
46
+ { type: IndiginaConfiguration }
47
+ ];
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1wcm92aWRlci5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvc2VydmljZXMvYXV0aC1wcm92aWRlci5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7QUFLeEMsTUFBTSxPQUFPLG9CQUFvQjtJQUcvQixZQUNFLFdBQXdCLEVBQ3hCLFlBQTBCLEVBQzFCLFdBQXdCLEVBQ3hCLGVBQWdDLEVBQ2hDLHFCQUE0QztRQVB0QyxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFlLElBQUksQ0FBQyxDQUFDO1FBcUJ6RCxnQkFBVyxHQUFHLEdBQTZCLEVBQUUsQ0FDbEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQWI1QyxXQUFXLENBQUMsR0FBRyxDQUFhLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDcEUsSUFBSSxRQUFzQixDQUFDO1lBQzNCLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLGFBQWEsQ0FBQyxjQUFjLEVBQUU7Z0JBQzFELFFBQVEsR0FBRyxJQUFJLGFBQWEsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLENBQUMsQ0FBQzthQUNuRTtpQkFBTTtnQkFDTCxRQUFRLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFDLENBQUM7YUFDL0Q7WUFFRCxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDM0UsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7O1lBdkJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBWFEsV0FBVztZQUpYLFlBQVk7WUFEWixXQUFXO1lBTVgsZUFBZTtZQUZmLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1zYWxTZXJ2aWNlIH0gZnJvbSAnQGF6dXJlL21zYWwtYW5ndWxhcic7XG5pbXBvcnQgeyBPQXV0aFNlcnZpY2UgfSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSW5kaWdpbmFDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vYW5ndWxhci9tb2RlbHMvSW5kaWdpbmFDb25maWd1cmF0aW9uJztcbmltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vYW5ndWxhci9zZXJ2aWNlcy9odHRwLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vYW5ndWxhci9zZXJ2aWNlcy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhQcm92aWRlcnMgfSBmcm9tICcuLi9tb2RlbHMvQXV0aFByb3ZpZGVycyc7XG5pbXBvcnQgeyBTeXN0ZW1JbmZvIH0gZnJvbSAnLi4vbW9kZWxzL1N5c3RlbUluZm8nO1xuaW1wb3J0IHsgQXV0aFByb3ZpZGVyIH0gZnJvbSAnLi4vc2VydmljZXMvYXV0aC5wcm92aWRlcnMvQXV0aFByb3ZpZGVyJztcbmltcG9ydCB7IEF6dXJlQjJDUHJvdmlkZXIgfSBmcm9tICcuLy4uL3NlcnZpY2VzL2F1dGgucHJvdmlkZXJzL2F6dXJlYjJjLnByb3ZpZGVyJztcbmltcG9ydCB7IE9BdXRoUHJvdmlkZXIgfSBmcm9tICcuLy4uL3NlcnZpY2VzL2F1dGgucHJvdmlkZXJzL29hdXRoLnByb3ZpZGVyJztcbmltcG9ydCB7IGVuZHBvaW50cyB9IGZyb20gJy4vZW5kcG9pbnRzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhQcm92aWRlclJlc29sdmVyIHtcbiAgcHJpdmF0ZSBBdXRoUHJvdmlkZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBdXRoUHJvdmlkZXI+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGh0dHBTZXJ2aWNlOiBIdHRwU2VydmljZSxcbiAgICBvYXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSxcbiAgICBtc2FsU2VydmljZTogTXNhbFNlcnZpY2UsXG4gICAgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2UsXG4gICAgaW5kaWdpbmFDb25maWd1cmF0aW9uOiBJbmRpZ2luYUNvbmZpZ3VyYXRpb25cbiAgKSB7XG4gICAgaHR0cFNlcnZpY2UuZ2V0PFN5c3RlbUluZm8+KGVuZHBvaW50cy5zeXN0ZW0uaW5mbykuc3Vic2NyaWJlKChpbmZvKSA9PiB7XG4gICAgICBsZXQgcHJvdmlkZXI6IEF1dGhQcm92aWRlcjtcbiAgICAgIGlmIChpbmZvLmlkZW50aXR5UHJvdmlkZXIgPT09IEF1dGhQcm92aWRlcnMuSWRlbnRpdHlTZXJ2ZXIpIHtcbiAgICAgICAgcHJvdmlkZXIgPSBuZXcgT0F1dGhQcm92aWRlcihvYXV0aFNlcnZpY2UsIGluZGlnaW5hQ29uZmlndXJhdGlvbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwcm92aWRlciA9IG5ldyBBenVyZUIyQ1Byb3ZpZGVyKG1zYWxTZXJ2aWNlLCBzZXR0aW5nc1NlcnZpY2UpO1xuICAgICAgfVxuXG4gICAgICBwcm92aWRlci5pbml0aWFsaXplKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuQXV0aFByb3ZpZGVyJC5uZXh0KHByb3ZpZGVyKSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UHJvdmlkZXIgPSAoKTogT2JzZXJ2YWJsZTxBdXRoUHJvdmlkZXI+ID0+XG4gICAgdGhpcy5BdXRoUHJvdmlkZXIkLnBpcGUoZmlsdGVyKCh4KSA9PiAhIXgpKTtcbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export class AuthProvider {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXV0aFByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi9zZXJ2aWNlcy9hdXRoLnByb3ZpZGVycy9BdXRoUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFnQixZQUFZO0NBTWpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQXV0aFByb3ZpZGVyIHtcbiAgcHVibGljIGFic3RyYWN0IGluaXRpYWxpemUoKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcHVibGljIGFic3RyYWN0IGxvZ2luKCk7XG4gIHB1YmxpYyBhYnN0cmFjdCBsb2dvdXQoKTtcbiAgcHVibGljIGFic3RyYWN0IGlzVXNlckxvZ2dlZEluKCk6IGJvb2xlYW47XG4gIHB1YmxpYyBhYnN0cmFjdCBnZXRBY2Nlc3NUb2tlbigpOiBPYnNlcnZhYmxlPHN0cmluZz47XG59XG4iXX0=
@@ -0,0 +1,44 @@
1
+ import { __awaiter } from "tslib";
2
+ import { InteractionRequiredAuthError } from '@azure/msal-browser';
3
+ import { from, of } from 'rxjs';
4
+ import { AuthProvider } from './AuthProvider';
5
+ export class AzureB2CProvider extends AuthProvider {
6
+ constructor(authService, settingsService) {
7
+ super();
8
+ this.authService = authService;
9
+ this.settingsService = settingsService;
10
+ this.isUserLoggedIn = () => { var _a; return !!((_a = this.authService.instance.getActiveAccount()) === null || _a === void 0 ? void 0 : _a.localAccountId); };
11
+ }
12
+ initialize() {
13
+ return of(true);
14
+ }
15
+ login() {
16
+ if (!this.isUserLoggedIn()) {
17
+ this.authService.loginRedirect().subscribe();
18
+ }
19
+ }
20
+ logout() {
21
+ this.authService.logoutRedirect({
22
+ postLogoutRedirectUri: location.origin,
23
+ });
24
+ }
25
+ getAccessToken() {
26
+ const request = {
27
+ scopes: ['openid', 'offline_access', 'profile'],
28
+ };
29
+ return from(this.authService.instance
30
+ .acquireTokenSilent(request)
31
+ .then((authenticationResult) => {
32
+ const token = authenticationResult.idToken;
33
+ this.settingsService.setToken(token);
34
+ return token;
35
+ })
36
+ .catch((error) => __awaiter(this, void 0, void 0, function* () {
37
+ if (error instanceof InteractionRequiredAuthError) {
38
+ yield this.authService.instance.acquireTokenRedirect(request);
39
+ return this.settingsService.getToken();
40
+ }
41
+ })));
42
+ }
43
+ }
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp1cmViMmMucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3NlcnZpY2VzL2F1dGgucHJvdmlkZXJzL2F6dXJlYjJjLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsSUFBSSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFlBQVk7SUFDaEQsWUFDVSxXQUF3QixFQUN4QixlQUFnQztRQUV4QyxLQUFLLEVBQUUsQ0FBQztRQUhBLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQTZDbkMsbUJBQWMsR0FBRyxHQUFZLEVBQUUsV0FDcEMsT0FBQSxDQUFDLFFBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsMENBQUUsY0FBYyxDQUFBLENBQUEsRUFBQSxDQUFDO0lBM0NqRSxDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQzlDO0lBQ0gsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQztZQUM5QixxQkFBcUIsRUFBRSxRQUFRLENBQUMsTUFBTTtTQUN2QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sY0FBYztRQUNuQixNQUFNLE9BQU8sR0FBRztZQUNkLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLENBQUM7U0FDaEQsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUNULElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUTthQUN0QixrQkFBa0IsQ0FBQyxPQUFPLENBQUM7YUFDM0IsSUFBSSxDQUFDLENBQUMsb0JBQW9CLEVBQUUsRUFBRTtZQUM3QixNQUFNLEtBQUssR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLENBQUM7WUFDM0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFckMsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsQ0FBTyxLQUFLLEVBQUUsRUFBRTtZQUNyQixJQUFJLEtBQUssWUFBWSw0QkFBNEIsRUFBRTtnQkFDakQsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFOUQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ3hDO1FBQ0gsQ0FBQyxDQUFBLENBQUMsQ0FDTCxDQUFDO0lBQ0osQ0FBQztDQUlGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTXNhbFNlcnZpY2UgfSBmcm9tICdAYXp1cmUvbXNhbC1hbmd1bGFyJztcbmltcG9ydCB7IEludGVyYWN0aW9uUmVxdWlyZWRBdXRoRXJyb3IgfSBmcm9tICdAYXp1cmUvbXNhbC1icm93c2VyJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9hbmd1bGFyL3NlcnZpY2VzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aFByb3ZpZGVyIH0gZnJvbSAnLi9BdXRoUHJvdmlkZXInO1xuXG5leHBvcnQgY2xhc3MgQXp1cmVCMkNQcm92aWRlciBleHRlbmRzIEF1dGhQcm92aWRlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IE1zYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2V0dGluZ3NTZXJ2aWNlOiBTZXR0aW5nc1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBvZih0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBsb2dpbigpIHtcbiAgICBpZiAoIXRoaXMuaXNVc2VyTG9nZ2VkSW4oKSkge1xuICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dpblJlZGlyZWN0KCkuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGxvZ291dCgpIHtcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dFJlZGlyZWN0KHtcbiAgICAgIHBvc3RMb2dvdXRSZWRpcmVjdFVyaTogbG9jYXRpb24ub3JpZ2luLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldEFjY2Vzc1Rva2VuKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgY29uc3QgcmVxdWVzdCA9IHtcbiAgICAgIHNjb3BlczogWydvcGVuaWQnLCAnb2ZmbGluZV9hY2Nlc3MnLCAncHJvZmlsZSddLFxuICAgIH07XG5cbiAgICByZXR1cm4gZnJvbShcbiAgICAgIHRoaXMuYXV0aFNlcnZpY2UuaW5zdGFuY2VcbiAgICAgICAgLmFjcXVpcmVUb2tlblNpbGVudChyZXF1ZXN0KVxuICAgICAgICAudGhlbigoYXV0aGVudGljYXRpb25SZXN1bHQpID0+IHtcbiAgICAgICAgICBjb25zdCB0b2tlbiA9IGF1dGhlbnRpY2F0aW9uUmVzdWx0LmlkVG9rZW47XG4gICAgICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2Uuc2V0VG9rZW4odG9rZW4pO1xuXG4gICAgICAgICAgcmV0dXJuIHRva2VuO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goYXN5bmMgKGVycm9yKSA9PiB7XG4gICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSW50ZXJhY3Rpb25SZXF1aXJlZEF1dGhFcnJvcikge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5hdXRoU2VydmljZS5pbnN0YW5jZS5hY3F1aXJlVG9rZW5SZWRpcmVjdChyZXF1ZXN0KTtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLmdldFRva2VuKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgaXNVc2VyTG9nZ2VkSW4gPSAoKTogYm9vbGVhbiA9PlxuICAgICEhdGhpcy5hdXRoU2VydmljZS5pbnN0YW5jZS5nZXRBY3RpdmVBY2NvdW50KCk/LmxvY2FsQWNjb3VudElkO1xufVxuIl19
@@ -0,0 +1,40 @@
1
+ import { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';
2
+ import { from, of } from 'rxjs';
3
+ import { mergeMap } from 'rxjs/operators';
4
+ import { AuthProvider } from './AuthProvider';
5
+ const homePath = '/home';
6
+ export class OAuthProvider extends AuthProvider {
7
+ constructor(oauthService, configuration) {
8
+ super();
9
+ this.oauthService = oauthService;
10
+ this.configuration = configuration;
11
+ this.isUserLoggedIn = () => this.oauthService.hasValidAccessToken();
12
+ }
13
+ initialize() {
14
+ const authConfig = {
15
+ issuer: this.configuration.appSettings.oidc.issuer,
16
+ redirectUri: window.location.origin + '/login/callback',
17
+ clientId: this.configuration.appSettings.oidc.clientId,
18
+ scope: 'openid profile offline_access',
19
+ postLogoutRedirectUri: window.location.origin + homePath,
20
+ silentRefreshRedirectUri: window.location.origin + '/silent-renew.html',
21
+ };
22
+ return this.configure(authConfig);
23
+ }
24
+ login() {
25
+ this.oauthService.initLoginFlow();
26
+ }
27
+ logout() {
28
+ this.oauthService.logOut();
29
+ }
30
+ getAccessToken() {
31
+ return of(this.oauthService.getAccessToken());
32
+ }
33
+ configure(authConfig) {
34
+ this.oauthService.configure(authConfig);
35
+ this.oauthService.tokenValidationHandler = new JwksValidationHandler();
36
+ this.oauthService.setupAutomaticSilentRefresh();
37
+ return from(this.oauthService.loadDiscoveryDocument(authConfig.issuer + '/identity/.well-known/openid-configuration')).pipe(mergeMap(() => from(this.oauthService.tryLoginImplicitFlow())));
38
+ }
39
+ }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2F1dGgucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3NlcnZpY2VzL2F1dGgucHJvdmlkZXJzL29hdXRoLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxJQUFJLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDO0FBRXpCLE1BQU0sT0FBTyxhQUFjLFNBQVEsWUFBWTtJQUM3QyxZQUNVLFlBQTBCLEVBQzFCLGFBQW9DO1FBRTVDLEtBQUssRUFBRSxDQUFDO1FBSEEsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsa0JBQWEsR0FBYixhQUFhLENBQXVCO1FBOEJ2QyxtQkFBYyxHQUFHLEdBQVksRUFBRSxDQUNwQyxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUE1QjFDLENBQUM7SUFFTSxVQUFVO1FBQ2YsTUFBTSxVQUFVLEdBQWU7WUFDN0IsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNO1lBQ2xELFdBQVcsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxpQkFBaUI7WUFDdkQsUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQ3RELEtBQUssRUFBRSwrQkFBK0I7WUFDdEMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsUUFBUTtZQUN4RCx3QkFBd0IsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxvQkFBb0I7U0FDeEUsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBS08sU0FBUyxDQUFDLFVBQXNCO1FBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxZQUFZLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxZQUFZLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUVoRCxPQUFPLElBQUksQ0FDVCxJQUFJLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUNyQyxVQUFVLENBQUMsTUFBTSxHQUFHLDRDQUE0QyxDQUNqRSxDQUNGLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGhDb25maWcsIE9BdXRoU2VydmljZSB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0IHsgSndrc1ZhbGlkYXRpb25IYW5kbGVyIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYy1qd2tzJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEluZGlnaW5hQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uLy4uL2FuZ3VsYXIvbW9kZWxzL0luZGlnaW5hQ29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBBdXRoUHJvdmlkZXIgfSBmcm9tICcuL0F1dGhQcm92aWRlcic7XG5cbmNvbnN0IGhvbWVQYXRoID0gJy9ob21lJztcblxuZXhwb3J0IGNsYXNzIE9BdXRoUHJvdmlkZXIgZXh0ZW5kcyBBdXRoUHJvdmlkZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIG9hdXRoU2VydmljZTogT0F1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlndXJhdGlvbjogSW5kaWdpbmFDb25maWd1cmF0aW9uXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCBhdXRoQ29uZmlnOiBBdXRoQ29uZmlnID0ge1xuICAgICAgaXNzdWVyOiB0aGlzLmNvbmZpZ3VyYXRpb24uYXBwU2V0dGluZ3Mub2lkYy5pc3N1ZXIsXG4gICAgICByZWRpcmVjdFVyaTogd2luZG93LmxvY2F0aW9uLm9yaWdpbiArICcvbG9naW4vY2FsbGJhY2snLFxuICAgICAgY2xpZW50SWQ6IHRoaXMuY29uZmlndXJhdGlvbi5hcHBTZXR0aW5ncy5vaWRjLmNsaWVudElkLFxuICAgICAgc2NvcGU6ICdvcGVuaWQgcHJvZmlsZSBvZmZsaW5lX2FjY2VzcycsXG4gICAgICBwb3N0TG9nb3V0UmVkaXJlY3RVcmk6IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyBob21lUGF0aCxcbiAgICAgIHNpbGVudFJlZnJlc2hSZWRpcmVjdFVyaTogd2luZG93LmxvY2F0aW9uLm9yaWdpbiArICcvc2lsZW50LXJlbmV3Lmh0bWwnLFxuICAgIH07XG5cbiAgICByZXR1cm4gdGhpcy5jb25maWd1cmUoYXV0aENvbmZpZyk7XG4gIH1cblxuICBwdWJsaWMgbG9naW4oKSB7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UuaW5pdExvZ2luRmxvdygpO1xuICB9XG5cbiAgcHVibGljIGxvZ291dCgpIHtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5sb2dPdXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBY2Nlc3NUb2tlbigpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiBvZih0aGlzLm9hdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbigpKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1VzZXJMb2dnZWRJbiA9ICgpOiBib29sZWFuID0+XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UuaGFzVmFsaWRBY2Nlc3NUb2tlbigpO1xuXG4gIHByaXZhdGUgY29uZmlndXJlKGF1dGhDb25maWc6IEF1dGhDb25maWcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5jb25maWd1cmUoYXV0aENvbmZpZyk7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UudG9rZW5WYWxpZGF0aW9uSGFuZGxlciA9IG5ldyBKd2tzVmFsaWRhdGlvbkhhbmRsZXIoKTtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5zZXR1cEF1dG9tYXRpY1NpbGVudFJlZnJlc2goKTtcblxuICAgIHJldHVybiBmcm9tKFxuICAgICAgdGhpcy5vYXV0aFNlcnZpY2UubG9hZERpc2NvdmVyeURvY3VtZW50KFxuICAgICAgICBhdXRoQ29uZmlnLmlzc3VlciArICcvaWRlbnRpdHkvLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb24nXG4gICAgICApXG4gICAgKS5waXBlKG1lcmdlTWFwKCgpID0+IGZyb20odGhpcy5vYXV0aFNlcnZpY2UudHJ5TG9naW5JbXBsaWNpdEZsb3coKSkpKTtcbiAgfVxufVxuIl19
@@ -1,87 +1,88 @@
1
1
  import { __awaiter } from "tslib";
2
2
  import { BehaviorSubject } from 'rxjs';
3
- import { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';
3
+ import { map, mergeMap } from 'rxjs/operators';
4
4
  import { endpoints } from './endpoints';
5
5
  import { EventNames } from './signalr/EventNames';
6
- import { map } from 'rxjs/operators';
7
6
  const adminUriPart = '/admin/';
8
- const homePath = '/home';
9
7
  export class BaseAccountService {
10
- constructor(oauthService, httpService, settingsService, signalRService) {
11
- this.oauthService = oauthService;
8
+ constructor(resolver, httpService, settingsService, signalRService) {
9
+ this.resolver = resolver;
12
10
  this.httpService = httpService;
13
11
  this.settingsService = settingsService;
14
12
  this.signalRService = signalRService;
15
13
  this.user = new BehaviorSubject(null);
16
- this.userHasLoggedIn = () => this.oauthService.hasValidAccessToken();
17
- this.httpService
18
- .get(endpoints.oidc.config)
19
- .subscribe((oidcResponse) => {
20
- const authConfig = {
21
- issuer: oidcResponse.issuer,
22
- redirectUri: window.location.origin + '/login/callback',
23
- clientId: oidcResponse.clientId,
24
- scope: 'openid profile offline_access',
25
- postLogoutRedirectUri: window.location.origin + homePath,
26
- silentRefreshRedirectUri: window.location.origin + '/silent-renew.html',
27
- };
28
- this.configure(authConfig);
29
- this.signalRService
30
- .on(EventNames.UserUpdated)
31
- .subscribe(() => __awaiter(this, void 0, void 0, function* () {
32
- this.signalRService.reconnect(this.oauthService.getAccessToken());
33
- this.httpService
34
- .get(endpoints.members.me)
35
- .subscribe((user) => this.user.next(user));
36
- }));
37
- });
14
+ this.resolver
15
+ .getProvider()
16
+ .pipe(map((provider) => {
17
+ this.initialize(provider);
18
+ }))
19
+ .subscribe();
38
20
  }
39
21
  login() {
40
- this.oauthService.initLoginFlow();
22
+ this.resolver
23
+ .getProvider()
24
+ .pipe(map((provider) => {
25
+ provider.login();
26
+ }))
27
+ .subscribe();
41
28
  }
42
29
  logout() {
43
30
  this.settingsService.clearLoginAsUser();
44
- this.oauthService.logOut();
31
+ this.resolver
32
+ .getProvider()
33
+ .pipe(map((provider) => {
34
+ provider.logout();
35
+ }))
36
+ .subscribe();
37
+ }
38
+ initialize(provider) {
39
+ this.getCurrentUser().subscribe((user) => {
40
+ if (!user) {
41
+ return;
42
+ }
43
+ const path = this.settingsService.getCallbackPath();
44
+ if (path) {
45
+ this.settingsService.clearCallbackPath();
46
+ window.location.href = window.location.origin + path;
47
+ return;
48
+ }
49
+ if (this.isAdmin(user) &&
50
+ !window.location.pathname.startsWith(adminUriPart)) {
51
+ window.location.href = `${window.location.origin}${adminUriPart}`;
52
+ return;
53
+ }
54
+ provider.getAccessToken().subscribe((token) => {
55
+ this.signalRService.startConnection(token);
56
+ this.signalRService
57
+ .on(EventNames.UserUpdated)
58
+ .subscribe(() => __awaiter(this, void 0, void 0, function* () {
59
+ provider.getAccessToken().subscribe((token) => {
60
+ this.signalRService.reconnect(token);
61
+ });
62
+ this.httpService
63
+ .get(endpoints.members.me)
64
+ .subscribe((user) => this.user.next(user));
65
+ }));
66
+ });
67
+ });
45
68
  }
46
69
  getCurrentUser() {
47
- if (this.user.getValue() || !this.oauthService.hasValidAccessToken()) {
48
- return this.user;
49
- }
50
- return this.httpService.get(endpoints.members.me).pipe(map((user) => {
51
- this.user.next(user);
52
- return user;
70
+ return this.resolver.getProvider().pipe(mergeMap((provider) => {
71
+ if (this.user.getValue() || !provider.isUserLoggedIn()) {
72
+ return this.user;
73
+ }
74
+ return provider.getAccessToken().pipe(mergeMap(() => {
75
+ return this.httpService.get(endpoints.members.me).pipe(map((user) => {
76
+ this.user.next(user);
77
+ return user;
78
+ }));
79
+ }));
53
80
  }));
54
81
  }
55
- configure(authConfig) {
56
- return __awaiter(this, void 0, void 0, function* () {
57
- this.oauthService.configure(authConfig);
58
- this.oauthService.tokenValidationHandler = new JwksValidationHandler();
59
- this.oauthService.setupAutomaticSilentRefresh();
60
- yield this.oauthService.loadDiscoveryDocument(authConfig.issuer + '/identity/.well-known/openid-configuration');
61
- this.oauthService.tryLoginImplicitFlow().then(() => __awaiter(this, void 0, void 0, function* () {
62
- if (!this.oauthService.hasValidAccessToken()) {
63
- return;
64
- }
65
- this.getCurrentUser().subscribe((user) => {
66
- if (!user) {
67
- return;
68
- }
69
- const path = this.settingsService.getCallbackPath();
70
- if (path) {
71
- this.settingsService.clearCallbackPath();
72
- window.location.href = window.location.origin + path;
73
- return;
74
- }
75
- if (this.isAdmin(user) &&
76
- !window.location.pathname.startsWith(adminUriPart)) {
77
- window.location.href = `${window.location.origin}${adminUriPart}`;
78
- return;
79
- }
80
- const token = this.oauthService.getAccessToken();
81
- this.signalRService.startConnection(token);
82
- });
83
- }));
84
- });
82
+ isUserLoggedIn() {
83
+ return this.resolver
84
+ .getProvider()
85
+ .pipe(map((provider) => provider.isUserLoggedIn()));
85
86
  }
86
87
  }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5hY2NvdW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3NlcnZpY2VzL2Jhc2UuYWNjb3VudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBR25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUM7QUFDL0IsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDO0FBRXpCLE1BQU0sT0FBZ0Isa0JBQWtCO0lBR3RDLFlBQ1MsWUFBMEIsRUFDdkIsV0FBd0IsRUFDeEIsZUFBZ0MsRUFDaEMsY0FBOEI7UUFIakMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQU5uQyxTQUFJLEdBQUcsSUFBSSxlQUFlLENBQUksSUFBSSxDQUFDLENBQUM7UUFnR3BDLG9CQUFlLEdBQUcsR0FBWSxFQUFFLENBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQXpGeEMsSUFBSSxDQUFDLFdBQVc7YUFDYixHQUFHLENBQWUsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7YUFDeEMsU0FBUyxDQUFDLENBQUMsWUFBMEIsRUFBRSxFQUFFO1lBQ3hDLE1BQU0sVUFBVSxHQUFlO2dCQUM3QixNQUFNLEVBQUUsWUFBWSxDQUFD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ekMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO3dCQUVyRCxPQUFPO3FCQUNSO29CQUVELElBQ0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7d0JBQ2xCLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUNsRDt3QkFDQSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLFlBQVksRUFBRSxDQUFDO3dCQUVsRSxPQUFPO3FCQUNSO29CQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ2pELElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM3QyxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQSxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQUE7Q0FNRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0aENvbmZpZywgT0F1dGhTZXJ2aWNlIH0gZnJvbSAnYW5ndWxhci1vYXV0aDItb2lkYyc7XG5pbXBvcnQgeyBPaWRjU2V0dGluZ3MgfSBmcm9tICcuLi9tb2RlbHMvT2lkY1NldHRpbmdzJztcbmltcG9ydCB7IEp3a3NWYWxpZGF0aW9uSGFuZGxlciB9IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMtandrcyc7XG5pbXBvcnQgeyBlbmRwb2ludHMgfSBmcm9tICcuL2VuZHBvaW50cyc7XG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJy4uL2FuZ3VsYXIvc2VydmljZXMvaHR0cC5zZXJ2aWNlJztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uL2FuZ3VsYXIvc2VydmljZXMvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBTaWduYWxSU2VydmljZSB9IGZyb20gJy4vc2lnbmFsci9zaWduYWxyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXZlbnROYW1lcyB9IGZyb20gJy4vc2lnbmFsci9FdmVudE5hbWVzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgYWRtaW5VcmlQYXJ0ID0gJy9hZG1pbi8nO1xuY29uc3QgaG9tZVBhdGggPSAnL2hvbWUnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUFjY291bnRTZXJ2aWNlPFQ+IHtcbiAgcHVibGljIHVzZXIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFQ+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBvYXV0aFNlcnZpY2U6IE9BdXRoU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgaHR0cFNlcnZpY2U6IEh0dHBTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgc2lnbmFsUlNlcnZpY2U6IFNpZ25hbFJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgIC5nZXQ8T2lkY1NldHRpbmdzPihlbmRwb2ludHMub2lkYy5jb25maWcpXG4gICAgICAuc3Vic2NyaWJlKChvaWRjUmVzcG9uc2U6IE9pZGNTZXR0aW5ncykgPT4ge1xuICAgICAgICBjb25zdCBhdXRoQ29uZmlnOiBBdXRoQ29uZmlnID0ge1xuICAgICAgICAgIGlzc3Vlcjogb2lkY1Jlc3BvbnNlLmlzc3VlcixcbiAgICAgICAgICByZWRpcmVjdFVyaTogd2luZG93LmxvY2F0aW9uLm9yaWdpbiArICcvbG9naW4vY2FsbGJhY2snLFxuICAgICAgICAgIGNsaWVudElkOiBvaWRjUmVzcG9uc2UuY2xpZW50SWQsXG4gICAgICAgICAgc2NvcGU6ICdvcGVuaWQgcHJvZmlsZSBvZmZsaW5lX2FjY2VzcycsXG4gICAgICAgICAgcG9zdExvZ291dFJlZGlyZWN0VXJpOiB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgaG9tZVBhdGgsXG4gICAgICAgICAgc2lsZW50UmVmcmVzaFJlZGlyZWN0VXJpOlxuICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLm9yaWdpbiArICcvc2lsZW50LXJlbmV3Lmh0bWwnLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuY29uZmlndXJlKGF1dGhDb25maWcpO1xuICAgICAgICB0aGlzLnNpZ25hbFJTZXJ2aWNlXG4gICAgICAgICAgLm9uPFQ+KEV2ZW50TmFtZXMuVXNlclVwZGF0ZWQpXG4gICAgICAgICAgLnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNpZ25hbFJTZXJ2aWNlLnJlY29ubmVjdCh0aGlzLm9hdXRoU2VydmljZS5nZXRBY2Nlc3NUb2tlbigpKTtcbiAgICAgICAgICAgIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgICAgICAgICAgLmdldDxUPihlbmRwb2ludHMubWVtYmVycy5tZSlcbiAgICAgICAgICAgICAgLnN1YnNjcmliZSgodXNlcikgPT4gdGhpcy51c2VyLm5leHQodXNlcikpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBsb2dpbigpIHtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5pbml0TG9naW5GbG93KCk7XG4gIH1cblxuICBsb2dvdXQoKSB7XG4gICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UuY2xlYXJMb2dpbkFzVXNlcigpO1xuICAgIHRoaXMub2F1dGhTZXJ2aWNlLmxvZ091dCgpO1xuICB9XG5cbiAgZ2V0Q3VycmVudFVzZXIoKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgaWYgKHRoaXMudXNlci5nZXRWYWx1ZSgpIHx8ICF0aGlzLm9hdXRoU2VydmljZS5oYXNWYWxpZEFjY2Vzc1Rva2VuKCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnVzZXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KGVuZHBvaW50cy5tZW1iZXJzLm1lKS5waXBlKFxuICAgICAgbWFwKCh1c2VyKSA9PiB7XG4gICAgICAgIHRoaXMudXNlci5uZXh0KHVzZXIgYXMgVCk7XG5cbiAgICAgICAgcmV0dXJuIHVzZXIgYXMgVDtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY29uZmlndXJlKGF1dGhDb25maWc6IEF1dGhDb25maWcpIHtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5jb25maWd1cmUoYXV0aENvbmZpZyk7XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UudG9rZW5WYWxpZGF0aW9uSGFuZGxlciA9IG5ldyBKd2tzVmFsaWRhdGlvbkhhbmRsZXIoKTtcbiAgICB0aGlzLm9hdXRoU2VydmljZS5zZXR1cEF1dG9tYXRpY1NpbGVudFJlZnJlc2goKTtcbiAgICBhd2FpdCB0aGlzLm9hdXRoU2VydmljZS5sb2FkRGlzY292ZXJ5RG9jdW1lbnQoXG4gICAgICBhdXRoQ29uZmlnLmlzc3VlciArICcvaWRlbnRpdHkvLndlbGwta25vd24vb3BlbmlkLWNvbmZpZ3VyYXRpb24nXG4gICAgKTtcbiAgICB0aGlzLm9hdXRoU2VydmljZS50cnlMb2dpbkltcGxpY2l0RmxvdygpLnRoZW4oYXN5bmMgKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLm9hdXRoU2VydmljZS5oYXNWYWxpZEFjY2Vzc1Rva2VuKCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmdldEN1cnJlbnRVc2VyKCkuc3Vic2NyaWJlKCh1c2VyKSA9PiB7XG4gICAgICAgIGlmICghdXNlcikge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhdGggPSB0aGlzLnNldHRpbmdzU2VydmljZS5nZXRDYWxsYmFja1BhdGgoKTtcbiAgICAgICAgaWYgKHBhdGgpIHtcbiAgICAgICAgICB0aGlzLnNldHRpbmdzU2VydmljZS5jbGVhckNhbGxiYWNrUGF0aCgpO1xuICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHBhdGg7XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgdGhpcy5pc0FkbWluKHVzZXIpICYmXG4gICAgICAgICAgIXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zdGFydHNXaXRoKGFkbWluVXJpUGFydClcbiAgICAgICAgKSB7XG4gICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBgJHt3aW5kb3cubG9jYXRpb24ub3JpZ2lufSR7YWRtaW5VcmlQYXJ0fWA7XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0b2tlbiA9IHRoaXMub2F1dGhTZXJ2aWNlLmdldEFjY2Vzc1Rva2VuKCk7XG4gICAgICAgIHRoaXMuc2lnbmFsUlNlcnZpY2Uuc3RhcnRDb25uZWN0aW9uKHRva2VuKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHVzZXJIYXNMb2dnZWRJbiA9ICgpOiBib29sZWFuID0+XG4gICAgdGhpcy5vYXV0aFNlcnZpY2UuaGFzVmFsaWRBY2Nlc3NUb2tlbigpO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBpc0FkbWluKG1lbWJlcjogVCk6IGJvb2xlYW47XG59XG4iXX0=
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5hY2NvdW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3NlcnZpY2VzL2Jhc2UuYWNjb3VudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHbEQsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDO0FBRS9CLE1BQU0sT0FBZ0Isa0JBQWtCO0lBR3RDLFlBQ1MsUUFBOEIsRUFDM0IsV0FBd0IsRUFDeEIsZUFBZ0MsRUFDaEMsY0FBOEI7UUFIakMsYUFBUSxHQUFSLFFBQVEsQ0FBc0I7UUFDM0IsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQU5uQyxTQUFJLEdBQUcsSUFBSSxlQUFlLENBQUksSUFBSSxDQUFDLENBQUM7UUFRekMsSUFBSSxDQUFDLFFBQVE7YUFDVixXQUFXLEVBQUU7YUFDYixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUNIO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsUUFBUTthQUNWLFdBQVcsRUFBRTthQUNiLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNmLFFBQVEsQ0FBQyxLQUFLLEVBQUUs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QUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUVyQixPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDLENBQUMsQ0FDSCxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxRQUFRO2FBQ2pCLFdBQVcsRUFBRTthQUNiLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztDQUdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tICcuLi9hbmd1bGFyL3NlcnZpY2VzL2h0dHAuc2VydmljZSc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi9hbmd1bGFyL3NlcnZpY2VzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aFByb3ZpZGVyUmVzb2x2ZXIgfSBmcm9tICcuL2F1dGgtcHJvdmlkZXIucmVzb2x2ZXInO1xuaW1wb3J0IHsgQXV0aFByb3ZpZGVyIH0gZnJvbSAnLi9hdXRoLnByb3ZpZGVycy9BdXRoUHJvdmlkZXInO1xuaW1wb3J0IHsgZW5kcG9pbnRzIH0gZnJvbSAnLi9lbmRwb2ludHMnO1xuaW1wb3J0IHsgRXZlbnROYW1lcyB9IGZyb20gJy4vc2lnbmFsci9FdmVudE5hbWVzJztcbmltcG9ydCB7IFNpZ25hbFJTZXJ2aWNlIH0gZnJvbSAnLi9zaWduYWxyL3NpZ25hbHIuc2VydmljZSc7XG5cbmNvbnN0IGFkbWluVXJpUGFydCA9ICcvYWRtaW4vJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VBY2NvdW50U2VydmljZTxUPiB7XG4gIHB1YmxpYyB1c2VyID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUPihudWxsKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVzb2x2ZXI6IEF1dGhQcm92aWRlclJlc29sdmVyLFxuICAgIHByb3RlY3RlZCBodHRwU2VydmljZTogSHR0cFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBzaWduYWxSU2VydmljZTogU2lnbmFsUlNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5yZXNvbHZlclxuICAgICAgLmdldFByb3ZpZGVyKClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHByb3ZpZGVyKSA9PiB7XG4gICAgICAgICAgdGhpcy5pbml0aWFsaXplKHByb3ZpZGVyKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGxvZ2luKCkge1xuICAgIHRoaXMucmVzb2x2ZXJcbiAgICAgIC5nZXRQcm92aWRlcigpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChwcm92aWRlcikgPT4ge1xuICAgICAgICAgIHByb3ZpZGVyLmxvZ2luKCk7XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBsb2dvdXQoKSB7XG4gICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UuY2xlYXJMb2dpbkFzVXNlcigpO1xuICAgIHRoaXMucmVzb2x2ZXJcbiAgICAgIC5nZXRQcm92aWRlcigpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChwcm92aWRlcikgPT4ge1xuICAgICAgICAgIHByb3ZpZGVyLmxvZ291dCgpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplKHByb3ZpZGVyOiBBdXRoUHJvdmlkZXIpIHtcbiAgICB0aGlzLmdldEN1cnJlbnRVc2VyKCkuc3Vic2NyaWJlKCh1c2VyKSA9PiB7XG4gICAgICBpZiAoIXVzZXIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwYXRoID0gdGhpcy5zZXR0aW5nc1NlcnZpY2UuZ2V0Q2FsbGJhY2tQYXRoKCk7XG4gICAgICBpZiAocGF0aCkge1xuICAgICAgICB0aGlzLnNldHRpbmdzU2VydmljZS5jbGVhckNhbGxiYWNrUGF0aCgpO1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyBwYXRoO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmlzQWRtaW4odXNlcikgJiZcbiAgICAgICAgIXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5zdGFydHNXaXRoKGFkbWluVXJpUGFydClcbiAgICAgICkge1xuICAgICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IGAke3dpbmRvdy5sb2NhdGlvbi5vcmlnaW59JHthZG1pblVyaVBhcnR9YDtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHByb3ZpZGVyLmdldEFjY2Vzc1Rva2VuKCkuc3Vic2NyaWJlKCh0b2tlbikgPT4ge1xuICAgICAgICB0aGlzLnNpZ25hbFJTZXJ2aWNlLnN0YXJ0Q29ubmVjdGlvbih0b2tlbik7XG4gICAgICAgIHRoaXMuc2lnbmFsUlNlcnZpY2VcbiAgICAgICAgICAub248VD4oRXZlbnROYW1lcy5Vc2VyVXBkYXRlZClcbiAgICAgICAgICAuc3Vic2NyaWJlKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIHByb3ZpZGVyLmdldEFjY2Vzc1Rva2VuKCkuc3Vic2NyaWJlKCh0b2tlbikgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnNpZ25hbFJTZXJ2aWNlLnJlY29ubmVjdCh0b2tlbik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgICAgICAgICAgLmdldDxUPihlbmRwb2ludHMubWVtYmVycy5tZSlcbiAgICAgICAgICAgICAgLnN1YnNjcmliZSgodXNlcikgPT4gdGhpcy51c2VyLm5leHQodXNlcikpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBnZXRDdXJyZW50VXNlcigpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlci5nZXRQcm92aWRlcigpLnBpcGUoXG4gICAgICBtZXJnZU1hcCgocHJvdmlkZXIpID0+IHtcbiAgICAgICAgaWYgKHRoaXMudXNlci5nZXRWYWx1ZSgpIHx8ICFwcm92aWRlci5pc1VzZXJMb2dnZWRJbigpKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMudXNlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwcm92aWRlci5nZXRBY2Nlc3NUb2tlbigpLnBpcGUoXG4gICAgICAgICAgbWVyZ2VNYXAoKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFNlcnZpY2UuZ2V0KGVuZHBvaW50cy5tZW1iZXJzLm1lKS5waXBlKFxuICAgICAgICAgICAgICBtYXAoKHVzZXI6IFQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXIubmV4dCh1c2VyKTtcblxuICAgICAgICAgICAgICAgIHJldHVybiB1c2VyO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGlzVXNlckxvZ2dlZEluKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVyXG4gICAgICAuZ2V0UHJvdmlkZXIoKVxuICAgICAgLnBpcGUobWFwKChwcm92aWRlcikgPT4gcHJvdmlkZXIuaXNVc2VyTG9nZ2VkSW4oKSkpO1xuICB9XG5cbiAgcHVibGljIGFic3RyYWN0IGlzQWRtaW4obWVtYmVyOiBUKTogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -1,65 +1,70 @@
1
+ import * as momentModule from 'moment-timezone';
1
2
  /*
2
3
  * Public API Surface of kendo
3
4
  */
4
- export { FooterBarComponent } from './lib/widgets/footer-bar/footer-bar.component';
5
- export { TopMenuComponent } from './lib/widgets/top-bar/top-bar.component';
6
- export { MemberTypes } from './lib/models/MemberTypes';
7
- export { PermissionTypes } from './lib/models/PermissionTypes';
5
+ export * from '@angular/platform-browser/animations';
6
+ export * from '@azure/msal-angular';
7
+ export { LogLevel } from '@microsoft/signalr';
8
+ export * from '@ngx-loading-bar/http-client';
9
+ export * from '@ngx-translate/core';
10
+ export { OAuthModule, OAuthModuleConfig, OAuthService, OAuthStorage, } from 'angular-oauth2-oidc';
11
+ export * from 'ngx-clipboard';
12
+ export * from 'ngx-toastr';
13
+ export { IndiginaModule } from '././lib/angular/indigina.module';
14
+ export { BaseAccountService } from '././lib/services/base.account.service';
15
+ export { ReEntrySubscription } from './lib/angular/extensions/ReEntrySubscription';
16
+ export { DebounceDirective } from './lib/angular/forms/directives/debounce.directive';
17
+ export { FormGroupWithErrors } from './lib/angular/forms/extensions/FormGroupWithErrors';
18
+ export { FieldInputComponent } from './lib/angular/forms/widgets/field/field-input/field-input.component';
19
+ export { NumberInputComponent } from './lib/angular/forms/widgets/field/field-input/number-input.component';
20
+ export { FieldComponent } from './lib/angular/forms/widgets/field/field.component';
21
+ export { GeneralErrorsComponent } from './lib/angular/forms/widgets/general-errors/general-errors.component';
22
+ export { AppSettings } from './lib/angular/models/AppSettings';
23
+ export { HttpCodes } from './lib/angular/models/HttpCodes';
24
+ export { HttpMethods } from './lib/angular/models/HttpMethods';
25
+ export { IndiginaConfiguration } from './lib/angular/models/IndiginaConfiguration';
26
+ export { HttpService } from './lib/angular/services/http.service';
27
+ export { LocaleSettingsService } from './lib/angular/services/locale-settings.service';
28
+ export { SettingsService } from './lib/angular/services/settings.service';
29
+ export { AppToastrService } from './lib/angular/services/toastr.service';
30
+ export { LiveUpdatesControlComponent } from './lib/angular/widgets/live-updates-control/live-updates-control.component';
31
+ export { SideMenuComponent } from './lib/angular/widgets/side-menu/side-menu.component';
32
+ export { TreeViewComponent } from './lib/angular/widgets/tree-view/tree-view.component';
33
+ export { AccountMenuComponent } from './lib/components/account-menu/account-menu.component';
34
+ export { AzureLoginCallbackComponent } from './lib/components/azure-login-callback/azure-login-callback.component';
35
+ export { LanguageSelectorComponent } from './lib/components/language-selector/language-selector.component';
36
+ export { MSALInstanceFactory } from './lib/config/msal-instance.factory';
37
+ export { RequirePermissionDirective } from './lib/directives/requirePermission.directive';
38
+ export { KendoModule } from './lib/kendo.module';
8
39
  export { FieldTypes } from './lib/models/FieldTypes';
9
40
  export { FilterTargets } from './lib/models/FilterTargets';
41
+ export { MemberTypes } from './lib/models/MemberTypes';
10
42
  export { Operators } from './lib/models/Operators';
43
+ export { PermissionTypes } from './lib/models/PermissionTypes';
11
44
  export { AccountService } from './lib/services/account.service';
12
- export { SignalRService } from './lib/services/signalr/signalr.service';
13
- export { EventNames } from './lib/services/signalr/EventNames';
45
+ export { ActivityFilterService } from './lib/services/activity.filter.service';
46
+ export { AuthProviderResolver } from './lib/services/auth-provider.resolver';
47
+ export { AuthProvider } from './lib/services/auth.providers/AuthProvider';
14
48
  export { buildActivityEndpoints, buildEntityEndpoints, endpoints, } from './lib/services/endpoints';
15
49
  export { EntityService } from './lib/services/entity.service';
16
50
  export { PermissionsService } from './lib/services/permissions.service';
17
- export { ActivityFilterService } from './lib/services/activity.filter.service';
18
- export { AccountMenuComponent } from './lib/components/account-menu/account-menu.component';
19
- export { LanguageSelectorComponent } from './lib/components/language-selector/language-selector.component';
20
- export { MulticheckFilterComponent } from './lib/widgets/multicheck-filter/multicheck-filter.component';
21
- export { EntityEditComponent } from './lib/widgets/entity-edit/entity-edit.component';
22
- export { EntityEditFormComponent } from './lib/widgets/entity-edit/entity-edit-form.component';
51
+ export { EventNames } from './lib/services/signalr/EventNames';
52
+ export { SignalRService } from './lib/services/signalr/signalr.service';
53
+ export { ActivityFilterComponent } from './lib/widgets/activity-filter/activity-filter.component';
54
+ export { ConfirmDialogComponent } from './lib/widgets/confirm-dialog/confirm-dialog.component';
55
+ export { CurrentTimezoneComponent } from './lib/widgets/current-timezone/current-timezone.component';
23
56
  export { EntityEditButtonsBarComponent } from './lib/widgets/entity-edit/buttons-bar/buttons-bar.component';
57
+ export { EntityEditFormComponent } from './lib/widgets/entity-edit/entity-edit-form.component';
58
+ export { EntityEditComponent } from './lib/widgets/entity-edit/entity-edit.component';
24
59
  export { FieldDropdownComponent } from './lib/widgets/entity-edit/field-dropdown/field-dropdown.component';
25
60
  export { FieldMultiSelectComponent } from './lib/widgets/entity-edit/field-multiselect/field-multiselect.component';
26
61
  export { EntityListComponent } from './lib/widgets/entity-list/entity-list.component';
27
- export { urlDeserialize, urlSerialize, } from './lib/widgets/entity-list/UrlSerializer';
28
62
  export { FieldDropdownlistComponent } from './lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component';
29
- export { ConfirmDialogComponent } from './lib/widgets/confirm-dialog/confirm-dialog.component';
63
+ export { urlDeserialize, urlSerialize, } from './lib/widgets/entity-list/UrlSerializer';
30
64
  export { ExcelExportButtonComponent } from './lib/widgets/excel-export-button/excel-export-button.component';
31
- export { ActivityFilterComponent } from './lib/widgets/activity-filter/activity-filter.component';
32
- export { CurrentTimezoneComponent } from './lib/widgets/current-timezone/current-timezone.component';
65
+ export { FooterBarComponent } from './lib/widgets/footer-bar/footer-bar.component';
33
66
  export { ModalWindowComponent } from './lib/widgets/modal-window/modal-window.component';
34
- export { RequirePermissionDirective } from './lib/directives/requirePermission.directive';
35
- export { KendoModule } from './lib/kendo.module';
36
- export { OAuthModule, OAuthService, OAuthStorage, OAuthModuleConfig, } from 'angular-oauth2-oidc';
37
- import * as momentModule from 'moment-timezone';
67
+ export { MulticheckFilterComponent } from './lib/widgets/multicheck-filter/multicheck-filter.component';
68
+ export { TopMenuComponent } from './lib/widgets/top-bar/top-bar.component';
38
69
  export const momentTimezone = momentModule;
39
- export { TreeViewComponent } from './lib/angular/widgets/tree-view/tree-view.component';
40
- export { SideMenuComponent } from './lib/angular/widgets/side-menu/side-menu.component';
41
- export { DebounceDirective } from './lib/angular/forms/directives/debounce.directive';
42
- export { FormGroupWithErrors } from './lib/angular/forms/extensions/FormGroupWithErrors';
43
- export { GeneralErrorsComponent } from './lib/angular/forms/widgets/general-errors/general-errors.component';
44
- export { FieldInputComponent } from './lib/angular/forms/widgets/field/field-input/field-input.component';
45
- export { NumberInputComponent } from './lib/angular/forms/widgets/field/field-input/number-input.component';
46
- export { HttpService } from './lib/angular/services/http.service';
47
- export { LocaleSettingsService } from './lib/angular/services/locale-settings.service';
48
- export { SettingsService } from './lib/angular/services/settings.service';
49
- export { AppToastrService } from './lib/angular/services/toastr.service';
50
- export { AppSettings } from './lib/angular/models/AppSettings';
51
- export { HttpCodes } from './lib/angular/models/HttpCodes';
52
- export { HttpMethods } from './lib/angular/models/HttpMethods';
53
- export { IndiginaConfiguration } from './lib/angular/models/IndiginaConfiguration';
54
- export { FieldComponent } from './lib/angular/forms/widgets/field/field.component';
55
- export { ReEntrySubscription } from './lib/angular/extensions/ReEntrySubscription';
56
- export { LiveUpdatesControlComponent } from './lib/angular/widgets/live-updates-control/live-updates-control.component';
57
- export { IndiginaModule } from '././lib/angular/indigina.module';
58
- export { BaseAccountService } from '././lib/services/base.account.service';
59
- export { LogLevel } from '@microsoft/signalr';
60
- export * from '@angular/platform-browser/animations';
61
- export * from '@ngx-translate/core';
62
- export * from 'ngx-toastr';
63
- export * from 'ngx-clipboard';
64
- export * from '@ngx-loading-bar/http-client';
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFHM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUsvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUluRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUNwQixTQUFTLEdBQ1YsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDNUYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDM0csT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0s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QUFDckQsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBrZW5kb1xuICovXG5leHBvcnQgeyBGb290ZXJCYXJDb21wb25lbnQgfSBmcm9tICcuL2xpYi93aWRnZXRzL2Zvb3Rlci1iYXIvZm9vdGVyLWJhci5jb21wb25lbnQnO1xuZXhwb3J0IHsgVG9wTWVudUNvbXBvbmVudCB9IGZyb20gJy4vbGliL3dpZGdldHMvdG9wLWJhci90b3AtYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgeyBNZW1iZXIgfSBmcm9tICcuL2xpYi9tb2RlbHMvTWVtYmVyJztcbmV4cG9ydCB7IE1lbWJlckJhc2UgfSBmcm9tICcuL2xpYi9tb2RlbHMvTWVtYmVyQmFzZSc7XG5leHBvcnQgeyBNZW1iZXJUeXBlcyB9IGZyb20gJy4vbGliL21vZGVscy9NZW1iZXJUeXBlcyc7XG5leHBvcnQgeyBPaWRjU2V0dGluZ3MgfSBmcm9tICcuL2xpYi9tb2RlbHMvT2lkY1NldHRpbmdzJztcbmV4cG9ydCB7IFBhZ2UgfSBmcm9tICcuL2xpYi9tb2RlbHMvUGFnZSc7XG5leHBvcnQgeyBQZXJtaXNzaW9uVHlwZXMgfSBmcm9tICcuL2xpYi9tb2RlbHMvUGVybWlzc2lvblR5cGVzJztcbmV4cG9ydCB7IFBlcm1pc3Npb25zIH0gZnJvbSAnLi9saWIvbW9kZWxzL1Blcm1pc3Npb25zJztcbmV4cG9ydCB7IEFjdGl2aXR5RmlsdGVyIH0gZnJvbSAnLi9saWIvbW9kZWxzL0FjdGl2aXR5RmlsdGVyJztcbmV4cG9ydCB7IEN1c3RvbUZpbHRlciB9IGZyb20gJy4vbGliL21vZGVscy9DdXN0b21GaWx0ZXInO1xuZXhwb3J0IHsgQ3VzdG9tRmlsdGVyRWxlbWVudCB9IGZyb20gJy4vbGliL21vZGVscy9DdXN0b21GaWx0ZXJFbGVtZW50JztcbmV4cG9ydCB7IEZpZWxkVHlwZXMgfSBmcm9tICcuL2xpYi9tb2RlbHMvRmllbGRUeXBlcyc7XG5leHBvcnQgeyBGaWx0ZXJUYXJnZXRzIH0gZnJvbSAnLi9saWIvbW9kZWxzL0ZpbHRlclRhcmdldHMnO1xuZXhwb3J0IHsgT3BlcmF0b3JzIH0gZnJvbSAnLi9saWIvbW9kZWxzL09wZXJhdG9ycyc7XG5leHBvcnQgeyBJQWN0aXZpdHlFbmRwb2ludHMgfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9JQWN0aXZpdHlFbmRwb2ludHMnO1xuZXhwb3J0IHsgSUVudGl0eUVuZHBvaW50cyB9IGZyb20gJy4vbGliL3NlcnZpY2VzL0lFbnRpdHlFbmRwb2ludHMnO1xuZXhwb3J0IHsgSUVudGl0eVNlcnZpY2UgfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9JRW50aXR5U2VydmljZSc7XG5leHBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4vbGliL3NlcnZpY2VzL2FjY291bnQuc2VydmljZSc7XG5leHBvcnQgeyBTaWduYWxSU2VydmljZSB9IGZyb20gJy4vbGliL3NlcnZpY2VzL3NpZ25hbHIvc2lnbmFsci5zZXJ2aWNlJztcbmV4cG9ydCB7IEV2ZW50TmFtZXMgfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9zaWduYWxyL0V2ZW50TmFtZXMnO1xuZXhwb3J0IHtcbiAgYnVpbGRBY3Rpdml0eUVuZHBvaW50cyxcbiAgYnVpbGRFbnRpdHlFbmRwb2ludHMsXG4gIGVuZHBvaW50cyxcbn0gZnJvbSAnLi9saWIvc2VydmljZXMvZW5kcG9pbnRzJztcbmV4cG9ydCB7IEVudGl0eVNlcnZpY2UgfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9lbnRpdHkuc2VydmljZSc7XG5leHBvcnQgeyBQZXJtaXNzaW9uc1NlcnZpY2UgfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9wZXJtaXNzaW9ucy5zZXJ2aWNlJztcbmV4cG9ydCB7IEFjdGl2aXR5RmlsdGVyU2VydmljZSB9IGZyb20gJy4vbGliL3NlcnZpY2VzL2FjdGl2aXR5LmZpbHRlci5zZXJ2aWNlJztcbmV4cG9ydCB7IEFjY291bnRNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9hY2NvdW50LW1lbnUvYWNjb3VudC1tZW51LmNvbXBvbmVudCc7XG5leHBvcnQgeyBMYW5ndWFnZVNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9sYW5ndWFnZS1zZWxlY3Rvci9sYW5ndWFnZS1zZWxlY3Rvci5jb21wb25lbnQnO1xuZXhwb3J0IHsgTXVsdGljaGVja0ZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vbGliL3dpZGdldHMvbXVsdGljaGVjay1maWx0ZXIvbXVsdGljaGVjay1maWx0ZXIuY29tcG9uZW50JztcbmV4cG9ydCB7IEVudGl0eUVkaXRDb21wb25lbnQgfSBmcm9tICcuL2xpYi93aWRnZXRzL2VudGl0eS1lZGl0L2VudGl0eS1lZGl0LmNvbXBvbmVudCc7XG5leHBvcnQgeyBFbnRpdHlFZGl0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vbGliL3dpZGdldHMvZW50aXR5LWVkaXQvZW50aXR5LWVkaXQtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0IHsgRW50aXR5RWRpdEJ1dHRvbnNCYXJDb21wb25lbnQgfSBmcm9tICcuL2xpYi93aWRnZXRzL2VudGl0eS1lZGl0L2J1dHRvbnMtYmFyL2J1dHRvbnMtYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgeyBGaWVsZERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvd2lkZ2V0cy9lbnRpdHktZWRpdC9maWVsZC1kcm9wZG93bi9maWVsZC1kcm9wZG93bi5jb21wb25lbnQnO1xuZXhwb3J0IHsgRmllbGRNdWx0aVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vbGliL3dpZGdldHMvZW50aXR5LWVkaXQvZmllbGQtbXVsdGlzZWxlY3QvZmllbGQtbXVsdGlzZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCB7IEVudGl0eUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2xpYi93aWRnZXRzL2VudGl0eS1saXN0L2VudGl0eS1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQge1xuICB1cmxEZXNlcmlhbGl6ZSxcbiAgdXJsU2VyaWFsaXplLFxufSBmcm9tICcuL2xpYi93aWRnZXRzL2VudGl0eS1saXN0L1VybFNlcmlhbGl6ZXInO1xuZXhwb3J0IHsgRmllbGQgfSBmcm9tICcuL2xpYi93aWRnZXRzL2VudGl0eS1saXN0L0ZpZWxkJztcbmV4cG9ydCB7IEZpZWxkRHJvcGRvd25saXN0Q29tcG9uZW50IH0gZnJvbSAnLi9saWIvd2lkZ2V0cy9lbnRpdHktbGlzdC9maWVsZC1kcm9wZG93bmxpc3QvZmllbGQtZHJvcGRvd25saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgeyBDb21tYW5kIH0gZnJvbSAnLi9saWIvd2lkZ2V0cy9lbnRpdHktbGlzdC9Db21tYW5kJztcbmV4cG9ydCB7IENvbmZpcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2xpYi93aWRnZXRzL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgeyBFeGNlbEV4cG9ydEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vbGliL3dpZGdldHMvZXhjZWwtZXhwb3J0LWJ1dHRvbi9leGNlbC1leHBvcnQtYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgeyBBY3Rpdml0eUZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vbGliL3dpZGdldHMvYWN0aXZpdHktZmlsdGVyL2FjdGl2aXR5LWZpbHRlci5jb21wb25lbnQnO1xuZXhwb3J0IHsgQ3VycmVudFRpbWV6b25lQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvd2lkZ2V0cy9jdXJyZW50LXRpbWV6b25lL2N1cnJlbnQtdGltZXpvbmUuY29tcG9uZW50JztcbmV4cG9ydCB7IE1vZGFsV2luZG93Q29tcG9uZW50IH0gZnJvbSAnLi9saWIvd2lkZ2V0cy9tb2RhbC13aW5kb3cvbW9kYWwtd2luZG93LmNvbXBvbmVudCc7XG5leHBvcnQgeyBSZXF1aXJlUGVybWlzc2lvbkRpcmVjdGl2ZSB9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvcmVxdWlyZVBlcm1pc3Npb24uZGlyZWN0aXZlJztcbmV4cG9ydCB7IEtlbmRvTW9kdWxlIH0gZnJvbSAnLi9saWIva2VuZG8ubW9kdWxlJztcbmV4cG9ydCB7XG4gIE9BdXRoTW9kdWxlLFxuICBPQXV0aFNlcnZpY2UsXG4gIE9BdXRoU3RvcmFnZSxcbiAgT0F1dGhNb2R1bGVDb25maWcsXG59IGZyb20gJ2FuZ3VsYXItb2F1dGgyLW9pZGMnO1xuaW1wb3J0ICogYXMgbW9tZW50TW9kdWxlIGZyb20gJ21vbWVudC10aW1lem9uZSc7XG5leHBvcnQgY29uc3QgbW9tZW50VGltZXpvbmUgPSBtb21lbnRNb2R1bGU7XG5leHBvcnQgeyBUcmVlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vbGliL2FuZ3VsYXIvd2lkZ2V0cy90cmVlLXZpZXcvdHJlZS12aWV3LmNvbXBvbmVudCc7XG5leHBvcnQgeyBTaWRlTWVudUNvbXBvbmVudCB9IGZyb20gJy4vbGliL2FuZ3VsYXIvd2lkZ2V0cy9zaWRlLW1lbnUvc2lkZS1tZW51LmNvbXBvbmVudCc7XG5leHBvcnQgeyBNZW51SXRlbSB9IGZyb20gJy4vbGliL2FuZ3VsYXIvd2lkZ2V0cy9zaWRlLW1lbnUvTWVudUl0ZW0nO1xuZXhwb3J0IHsgRGVib3VuY2VEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9hbmd1bGFyL2Zvcm1zL2RpcmVjdGl2ZXMvZGVib3VuY2UuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZvcm1Hcm91cFdpdGhFcnJvcnMgfSBmcm9tICcuL2xpYi9hbmd1bGFyL2Zvcm1zL2V4dGVuc2lvbnMvRm9ybUdyb3VwV2l0aEVycm9ycyc7XG5leHBvcnQgeyBHZW5lcmFsRXJyb3JzQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvYW5ndWxhci9mb3Jtcy93aWRnZXRzL2dlbmVyYWwtZXJyb3JzL2dlbmVyYWwtZXJyb3JzLmNvbXBvbmVudCc7XG5leHBvcnQgeyBGaWVsZElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9saWIvYW5ndWxhci9mb3Jtcy93aWRnZXRzL2ZpZWxkL2ZpZWxkLWlucHV0L2ZpZWxkLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgeyBOdW1iZXJJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vbGliL2FuZ3VsYXIvZm9ybXMvd2lkZ2V0cy9maWVsZC9maWVsZC1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi9saWIvYW5ndWxhci9zZXJ2aWNlcy9odHRwLnNlcnZpY2UnO1xuZXhwb3J0IHsgTG9jYWxlU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi9saWIvYW5ndWxhci9zZXJ2aWNlcy9sb2NhbGUtc2V0dGluZ3Muc2VydmljZSc7XG5leHBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuL2xpYi9hbmd1bGFyL3NlcnZpY2VzL3NldHRpbmdzLnNlcnZpY2UnO1xuZXhwb3J0IHsgQXBwVG9hc3RyU2VydmljZSB9IGZyb20gJy4vbGliL2FuZ3VsYXIvc2VydmljZXMvdG9hc3RyLnNlcnZpY2UnO1xuZXhwb3J0IHsgQXBwU2V0dGluZ3MgfSBmcm9tICcuL2xpYi9hbmd1bGFyL21vZGVscy9BcHBTZXR0aW5ncyc7XG5leHBvcnQgdHlwZSB7IEN1c3RvbUh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnLi9saWIvYW5ndWxhci9tb2RlbHMvQ3VzdG9tSHR0cEVycm9yUmVzcG9uc2UnO1xuZXhwb3J0IHsgSHR0cENvZGVzIH0gZnJvbSAnLi9saWIvYW5ndWxhci9tb2RlbHMvSHR0cENvZGVzJztcbmV4cG9ydCB7IEh0dHBNZXRob2RzIH0gZnJvbSAnLi9saWIvYW5ndWxhci9tb2RlbHMvSHR0cE1ldGhvZHMnO1xuZXhwb3J0IHsgSWRlbnRpZmllZE1vZGVsIH0gZnJvbSAnLi9saWIvYW5ndWxhci9tb2RlbHMvSWRlbnRpZmllZE1vZGVsJztcbmV4cG9ydCB7IEluZGlnaW5hQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vbGliL2FuZ3VsYXIvbW9kZWxzL0luZGlnaW5hQ29uZmlndXJhdGlvbic7XG5leHBvcnQgeyBMYW5ndWFnZSB9IGZyb20gJy4vbGliL2FuZ3VsYXIvbW9kZWxzL0xhbmd1YWdlJztcbmV4cG9ydCB7IE5hbWVkTW9kZWwgfSBmcm9tICcuL2xpYi9hbmd1bGFyL21vZGVscy9OYW1lZE1vZGVsJztcbmV4cG9ydCB7IEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvYW5ndWxhci9mb3Jtcy93aWRnZXRzL2ZpZWxkL2ZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQgeyBSZUVudHJ5U3Vic2NyaXB0aW9uIH0gZnJvbSAnLi9saWIvYW5ndWxhci9leHRlbnNpb25zL1JlRW50cnlTdWJzY3JpcHRpb24nO1xuZXhwb3J0IHsgSVN1YnNjcmlwdGlvbkNvbnRyb2wgfSBmcm9tICcuL2xpYi9hbmd1bGFyL2V4dGVuc2lvbnMvSVN1YnNjcmlwdGlvbkNvbnRyb2wnO1xuZXhwb3J0IHsgTGl2ZVVwZGF0ZXNDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvYW5ndWxhci93aWRnZXRzL2xpdmUtdXBkYXRlcy1jb250cm9sL2xpdmUtdXBkYXRlcy1jb250cm9sLmNvbXBvbmVudCc7XG5leHBvcnQgeyBJbmRpZ2luYU1vZHVsZSB9IGZyb20gJy4vLi9saWIvYW5ndWxhci9pbmRpZ2luYS5tb2R1bGUnO1xuZXhwb3J0IHsgQmFzZUFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi8uL2xpYi9zZXJ2aWNlcy9iYXNlLmFjY291bnQuc2VydmljZSc7XG5leHBvcnQgeyBMb2dMZXZlbCB9IGZyb20gJ0BtaWNyb3NvZnQvc2lnbmFscic7XG5leHBvcnQgKiBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5leHBvcnQgKiBmcm9tICduZ3gtdG9hc3RyJztcbmV4cG9ydCAqIGZyb20gJ25neC1jbGlwYm9hcmQnO1xuZXhwb3J0ICogZnJvbSAnQG5neC1sb2FkaW5nLWJhci9odHRwLWNsaWVudCc7XG4iXX0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxZQUFZLE1BQU0saUJBQWlCLENBQUM7QUFDaEQ7O0dBRUc7QUFDSCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMscUJBQXFCLENBQUM7QUFDcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxPQUFPLEVBQ0wsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osWUFBWSxHQUNiLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFL0QsT0FBTyxFQUFFLFNBQVMsRUFB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LEdBQ2IsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUN6RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMzRSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgbW9tZW50TW9kdWxlIGZyb20gJ21vbWVudC10aW1lem9uZSc7XG4vKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGtlbmRvXG4gKi9cbmV4cG9ydCAqIGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG5leHBvcnQgKiBmcm9tICdAYXp1cmUvbXNhbC1hbmd1bGFyJztcbmV4cG9ydCB7IExvZ0xldmVsIH0gZnJvbSAnQG1pY3Jvc29mdC9zaWduYWxyJztcbmV4cG9ydCAqIGZyb20gJ0BuZ3gtbG9hZGluZy1iYXIvaHR0cC1jbGllbnQnO1xuZXhwb3J0ICogZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5leHBvcnQge1xuICBPQXV0aE1vZHVsZSxcbiAgT0F1dGhNb2R1bGVDb25maWcsXG4gIE9BdXRoU2VydmljZSxcbiAgT0F1dGhTdG9yYWdlLFxufSBmcm9tICdhbmd1bGFyLW9hdXRoMi1vaWRjJztcbmV4cG9ydCAqIGZyb20gJ25neC1jbGlwYm9hcmQnO1xuZXhwb3J0ICogZnJvbSAnbmd4LXRvYXN0cic7XG5leHBvcnQgeyBJbmRpZ2luYU1vZHVsZSB9IGZyb20gJy4vLi9saWIvYW5ndWxhci9pbmRpZ2luYS5tb2R1bGUnO1xuZXhwb3J0IHsgQmFzZUFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi8uL2xpYi9zZXJ2aWNlcy9iYXNlLmFjY291bnQuc2VydmljZSc7XG5leHBvcnQgeyBJU3Vic2NyaXB0aW9uQ29udHJvbCB9IGZyb20gJy4vbGliL2FuZ3VsYXIvZXh0ZW5zaW9ucy9JU3Vic2NyaXB0aW9uQ29udHJvbCc7XG5leHBvcnQgeyBSZUVudHJ5U3Vic2NyaXB0aW9uIH0gZnJvbSAnLi9saWIvYW5ndWxhci9leHRlbnNpb25zL1JlRW50cnlTdWJzY3JpcHRpb24nO1xuZXhwb3J0IHsgRGVib3VuY2VEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9hbmd1bGFyL2Zvcm1zL2RpcmVjdGl2ZXMvZGVib3VuY2UuZGlyZWN0aXZlJztcbmV4cG9ydCB7IEZvcm1Hcm91cFdpdGhFcnJvcnMgfSBmcm9tICcuL2xpYi9hbmd1bGFyL2Zvcm1zL2V4dGVuc2lvbnMvRm9ybUdyb3VwV2l0aEVycm9ycyc7XG5leHBvcnQgeyBGaWVsZElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9saWIvYW5ndWxhci9mb3Jtcy93aWRnZXRzL2ZpZWxkL2ZpZWxkLWlucHV0L2ZpZWxkLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgeyBOdW1iZXJJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vbGliL2FuZ3VsYXIvZm9ybXMvd2lkZ2V0cy9maWVsZC9maWVsZC1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCB7IEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvYW5ndWxhci9mb3Jtcy93aWRnZXRzL2ZpZWxkL2ZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQgeyBHZW5lcmFsRXJyb3JzQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvYW5ndWxhci9mb3Jtcy93aWRnZXRzL2dlbmVyYWwtZXJyb3JzL2dlbmVyYWwtZXJyb3JzLmNvbXBvbmVudCc7XG5leHBvcnQgeyBBcHBTZXR0aW5ncyB9IGZyb20gJy4vbGliL2FuZ3VsYXIvbW9kZWxzL0FwcFNldHRpbmdzJztcbmV4cG9ydCB0eXBlIHsgQ3VzdG9tSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICcuL2xpYi9hbmd1bGFyL21vZGVscy9DdXN0b21IdHRwRXJyb3JSZXNwb25zZSc7XG5leHBvcnQgeyBIdHRwQ29kZXMgfSBmcm9tICcuL2xpYi9hbmd1bGFyL21vZGVscy9IdHRwQ29kZXMnO1xuZXhwb3J0IHsgSHR0cE1ldGhvZHMgfSBmcm9tICcuL2xpYi9hbmd1bGFyL21vZGVscy9IdHRwTWV0aG9kcyc7XG5leHBvcnQgeyBJZGVudGlmaWVkTW9kZWwgfSBmcm9tICcuL2xpYi9hbmd1bGFyL21vZGVscy9JZGVudGlmaWVkTW9kZWwnO1xuZXhwb3J0IHsgSW5kaWdpbmFDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9saWIvYW5ndWxhci9tb2RlbHMvSW5kaWdpbmFDb25maWd1cmF0aW9uJztcbmV4cG9ydCB7IExhbmd1YWdlIH0gZnJvbSAnLi9saWIvYW5ndWxhci9tb2RlbHMvTGFuZ3VhZ2UnO1xuZXhwb3J0IHsgTmFtZWRNb2RlbCB9IGZyb20gJy4vbGliL2FuZ3VsYXIvbW9kZWxzL05hbWVkTW9kZWwnO1xuZXhwb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tICcuL2xpYi9hbmd1bGFyL3NlcnZpY2VzL2h0dHAuc2VydmljZSc7XG5leHBvcnQgeyBMb2NhbGVTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuL2xpYi9hbmd1bGFyL3NlcnZpY2VzL2xvY2FsZS1zZXR0aW5ncy5zZXJ2aWNlJztcbmV4cG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4vbGliL2FuZ3VsYXIvc2VydmljZXMvc2V0dGluZ3Muc2VydmljZSc7XG5leHBvcnQgeyBBcHBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnLi9saWIvYW5ndWxhci9zZXJ2aWNlcy90b2FzdHIuc2VydmljZSc7XG5leHBvcnQgeyBMaXZlVXBkYXRlc0NvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL2xpYi9hbmd1bGFyL3dpZGdldHMvbGl2ZS11cGRhdGVzLWNvbnRyb2wvbGl2ZS11cGRhdGVzLWNvbnRyb2wuY29tcG9uZW50JztcbmV4cG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAnLi9saWIvYW5ndWxhci93aWRnZXRzL3NpZGUtbWVudS9NZW51SXRlbSc7XG5leHBvcnQgeyBTaWRlTWVudUNvbXBvbmVudCB9IGZyb20gJy4vbGliL2FuZ3VsYXIvd2lkZ2V0cy9zaWRlLW1lbnUvc2lkZS1tZW51LmNvbXBvbmVudCc7XG5leHBvcnQgeyBUcmVlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vbGliL2FuZ3VsYXIvd2lkZ2V0cy90cmVlLXZpZXcvdHJlZS12aWV3LmNvbXBvbmVudCc7XG5leHBvcnQgeyBBY2NvdW50TWVudUNvbXBvbmVudCB9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWNjb3VudC1tZW51L2FjY291bnQtbWVudS5jb21wb25lbnQnO1xuZXhwb3J0IHsgQXp1cmVMb2dpbkNhbGxiYWNrQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9henVyZS1sb2dpbi1jYWxsYmFjay9henVyZS1sb2dpbi1jYWxsYmFjay5jb21wb25lbnQnO1xuZXhwb3J0IHsgTGFuZ3VhZ2VTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGFuZ3VhZ2Utc2VsZWN0b3IvbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50JztcbmV4cG9ydCB7IE1TQUxJbnN0YW5jZUZhY3RvcnkgfSBmcm9tICcuL2xpYi9jb25maWcvbXNhbC1pbnN0YW5jZS5mYWN0b3J5JztcbmV4cG9ydCB7IFJlcXVpcmVQZXJtaXNzaW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9yZXF1aXJlUGVybWlzc2lvbi5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgS2VuZG9Nb2R1bGUgfSBmcm9tICcuL2xpYi9rZW5kby5tb2R1bGUnO1xuZXhwb3J0IHsgQWN0aXZpdHlGaWx0ZXIgfSBmcm9tICcuL2xpYi9tb2RlbHMvQWN0aXZpdHlGaWx0ZXInO1xuZXhwb3J0IHsgQXp1cmVCMkNTZXR0aW5ncyB9IGZyb20gJy4vbGliL21vZGVscy9BenVyZUIyQ1NldHRpbmdzJztcbmV4cG9ydCB7IEN1c3RvbUZpbHRlciB9IGZyb20gJy4vbGliL21vZGVscy9DdXN0b21GaWx0ZXInO1xuZXhwb3J0IHsgQ3VzdG9tRmlsdGVyRWxlbWVudCB9IGZyb20gJy4vbGliL21vZGVscy9DdXN0b21GaWx0ZXJFbGVtZW50JztcbmV4cG9ydCB7IEZpZWxkVHlwZXMgfSBmcm9tICcuL2xpYi9tb2RlbHMvRmllbGRUeXBlcyc7XG5leHBvcnQgeyBGaWx0ZXJUYXJnZXRzIH0gZnJvbSAnLi9saWIvbW9kZWxzL0ZpbHRlclRhcmdldHMnO1xuZXhwb3J0IHsgTWVtYmVyIH0gZnJvbSAnLi9saWIvbW9kZWxzL01lbWJlcic7XG5leHBvcnQgeyBNZW1iZXJCYXNlIH0gZnJvbSAnLi9saWIvbW9kZWxzL01lbWJlckJhc2UnO1xuZXhwb3J0IHsgTWVtYmVyVHlwZXMgfSBmcm9tICcuL2xpYi9tb2RlbHMvTWVtYmVyVHlwZXMnO1xuZXhwb3J0IHsgT2lkY1NldHRpbmdzIH0gZnJvbSAnLi9saWIvbW9kZWxzL09pZGNTZXR0aW5ncyc7XG5leHBvcnQgeyBPcGVyYXRvcnMgfSBmcm9tICcuL2xpYi9tb2RlbHMvT3BlcmF0b3JzJztcbmV4cG9ydCB7IFBhZ2UgfSBmcm9tICcuL2xpYi9tb2RlbHMvUGFnZSc7XG5leHBvcnQgeyBQZXJtaXNzaW9ucyB9IGZyb20gJy4vbGliL21vZGVscy9QZXJtaXNzaW9ucyc7XG5leHBvcnQgeyBQZXJtaXNzaW9uVHlwZXMgfSBmcm9tICcuL2xpYi9tb2RlbHMvUGVybWlzc2lvblR5cGVzJztcbmV4cG9ydCB7IFN5c3RlbUluZm8gfSBmcm9tICcuL2xpYi9tb2RlbHMvU3lzdGVtSW5mbyc7XG5leHBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4vbGliL3NlcnZpY2VzL2FjY291bnQuc2VydmljZSc7XG5leHBvcnQgeyBBY3Rpdml0eUZpbHRlclNlcnZpY2UgfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hY3Rpdml0eS5maWx0ZXIuc2VydmljZSc7XG5leHBvcnQgeyBBdXRoUHJvdmlkZXJSZXNvbHZlciB9IGZyb20gJy4vbGliL3NlcnZpY2VzL2F1dGgtcHJvdmlkZXIucmVzb2x2ZXInO1xuZXhwb3J0IHsgQXV0aFByb3ZpZGVyIH0gZnJvbSAnLi9saWIvc2VydmljZXMvYXV0aC5wcm92aWRlcnMvQXV0aFByb3ZpZGVyJztcbmV4cG9ydCB7XG4gIGJ1aWxkQWN0aXZpdHlFbmRwb2ludHMsXG4gIGJ1aWxkRW50aXR5RW5kcG9pbnRzLFxuICBlbmRwb2ludHMsXG59IGZyb20gJy4vbGliL3NlcnZpY2VzL2VuZHBvaW50cyc7XG5leHBvcnQgeyBFbnRpdHlTZXJ2aWNlIH0gZnJvbSAnLi9saWIvc2VydmljZXMvZW50aXR5LnNlcnZpY2UnO1xuZXhwb3J0IHsgSUFjdGl2aXR5RW5kcG9pbnRzIH0gZnJvbSAnLi9saWIvc2VydmljZXMvSUFjdGl2aXR5RW5kcG9pbnRzJztcbmV4cG9ydCB7IElFbnRpdHlFbmRwb2ludHMgfSBmcm9tICcuL2xpYi9zZXJ2aWNlcy9JRW50aXR5RW5kcG9pbnRzJztcbmV4cG9ydCB7IElFbnRpdHlTZXJ2aWNlIH0gZnJvbSAnLi9saWIvc2VydmljZXMvSUVudGl0eVNlcnZpY2UnO1xuZXhwb3J0IHsgUGVybWlzc2lvbnNTZXJ2aWNlIH0gZnJvbSAnLi9saWIvc2VydmljZXMvcGVybWlzc2lvbnMuc2VydmljZSc7XG5leHBvcnQgeyBFdmVudE5hbWVzIH0gZnJvbSAnLi9saWIvc2VydmljZXMvc2lnbmFsci9FdmVudE5hbWVzJztcbmV4cG9ydCB7IFNpZ25hbFJTZXJ2aWNlIH0gZnJvbSAnLi9saWIvc2VydmljZXMvc2lnbmFsci9zaWduYWxyLnNlcnZpY2UnO1xuZXhwb3J0IHsgQWN0aXZpdHlGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2xpYi93aWRnZXRzL2FjdGl2aXR5LWZpbHRlci9hY3Rpdml0eS1maWx0ZXIuY29tcG9uZW50JztcbmV4cG9ydCB7IENvbmZpcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2xpYi93aWRnZXRzL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgeyBDdXJyZW50VGltZXpvbmVDb21wb25lbnQgfSBmcm9tICcuL2xpYi93aWRnZXRzL2N1cnJlbnQtdGltZXpvbmUvY3VycmVudC10aW1lem9uZS5jb21wb25lbnQnO1xuZXhwb3J0IHsgRW50aXR5RWRpdEJ1dHRvbnNCYXJDb21wb25lbnQgfSBmcm9tICcuL2xpYi93aWRnZXRzL2VudGl0eS1lZGl0L2J1dHRvbnMtYmFyL2J1dHRvbnMtYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgeyBFbnRpdHlFZGl0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vbGliL3dpZGdldHMvZW50aXR5LWVkaXQvZW50aXR5LWVkaXQtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0IHsgRW50aXR5RWRpdENvbXBvbmVudCB9IGZyb20gJy4vbGliL3dpZGdldHMvZW50aXR5LWVkaXQvZW50aXR5LWVkaXQuY29tcG9uZW50JztcbmV4cG9ydCB7IEZpZWxkRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2xpYi93aWRnZXRzL2VudGl0eS1lZGl0L2ZpZWxkLWRyb3Bkb3duL2ZpZWxkLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgeyBGaWVsZE11bHRpU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9saWIvd2lkZ2V0cy9lbnRpdHktZWRpdC9maWVsZC1tdWx0aXNlbGVjdC9maWVsZC1tdWx0aXNlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0IHsgQ29tbWFuZCB9IGZyb20gJy4vbGliL3dpZGdldHMvZW50aXR5LWxpc3QvQ29tbWFuZCc7XG5leHBvcnQgeyBFbnRpdHlMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9saWIvd2lkZ2V0cy9lbnRpdHktbGlzdC9lbnRpdHktbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0IHsgRmllbGQgfSBmcm9tICcuL2xpYi93aWRnZXRzL2VudGl0eS1saXN0L0ZpZWxkJztcbmV4cG9ydCB7IEZpZWxkRHJvcGRvd25saXN0Q29tcG9uZW50IH0gZnJvbSAnLi9saWIvd2lkZ2V0cy9lbnRpdHktbGlzdC9maWVsZC1kcm9wZG93bmxpc3QvZmllbGQtZHJvcGRvd25saXN0LmNvbXBvbmVudCc7XG5leHBvcnQge1xuICB1cmxEZXNlcmlhbGl6ZSxcbiAgdXJsU2VyaWFsaXplLFxufSBmcm9tICcuL2xpYi93aWRnZXRzL2VudGl0eS1saXN0L1VybFNlcmlhbGl6ZXInO1xuZXhwb3J0IHsgRXhjZWxFeHBvcnRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2xpYi93aWRnZXRzL2V4Y2VsLWV4cG9ydC1idXR0b24vZXhjZWwtZXhwb3J0LWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0IHsgRm9vdGVyQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvd2lkZ2V0cy9mb290ZXItYmFyL2Zvb3Rlci1iYXIuY29tcG9uZW50JztcbmV4cG9ydCB7IE1vZGFsV2luZG93Q29tcG9uZW50IH0gZnJvbSAnLi9saWIvd2lkZ2V0cy9tb2RhbC13aW5kb3cvbW9kYWwtd2luZG93LmNvbXBvbmVudCc7XG5leHBvcnQgeyBNdWx0aWNoZWNrRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvd2lkZ2V0cy9tdWx0aWNoZWNrLWZpbHRlci9tdWx0aWNoZWNrLWZpbHRlci5jb21wb25lbnQnO1xuZXhwb3J0IHsgVG9wTWVudUNvbXBvbmVudCB9IGZyb20gJy4vbGliL3dpZGdldHMvdG9wLWJhci90b3AtYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgY29uc3QgbW9tZW50VGltZXpvbmUgPSBtb21lbnRNb2R1bGU7XG4iXX0=