@ts-core/angular 17.0.19 → 17.0.21

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.
package/VIModule.d.ts CHANGED
@@ -4,6 +4,7 @@ import { ICookieOptions } from '@ts-core/frontend';
4
4
  import { ILanguageServiceOptions } from '@ts-core/frontend';
5
5
  import { NativeWindowService } from '@ts-core/frontend';
6
6
  import { IThemeServiceOptions } from '@ts-core/frontend';
7
+ import { PlatformService } from './service/PlatformService';
7
8
  import { ViewUtil } from './util/ViewUtil';
8
9
  import { CookieService } from './cookie/CookieService';
9
10
  import { LoginTokenStorage } from './login/LoginTokenStorage';
@@ -53,6 +54,6 @@ export declare class IVIOptions extends ICookieOptions {
53
54
  export declare function initializerFactory(nativeWindow: NativeWindowService, rendererFactory2: RendererFactory2): ViewUtil;
54
55
  export declare function loggerServiceFactory(options: IVIOptions): ILogger;
55
56
  export declare function nativeWindowServiceFactory(document: Document): NativeWindowService;
56
- export declare function localStorageServiceFactory(nativeWindow: NativeWindowService): LocalStorageService;
57
- export declare function loginTokenStorageServiceFactory(storage: LocalStorageService, cookies: CookieService): LoginTokenStorage;
57
+ export declare function localStorageServiceFactory(nativeWindow: NativeWindowService, platform: PlatformService): LocalStorageService;
58
+ export declare function loginTokenStorageServiceFactory(local: LocalStorageService, cookies: CookieService): LoginTokenStorage;
58
59
  export declare const VI_ANGULAR_OPTIONS: InjectionToken<IVIOptions>;
@@ -1,5 +1,5 @@
1
1
  import { InjectionToken, ModuleWithProviders } from '@angular/core';
2
- import { ICookieOptions } from '@ts-core/frontend';
2
+ import { ICookieOptions, NativeWindowService } from '@ts-core/frontend';
3
3
  import { CookieService } from './CookieService';
4
4
  import { PlatformService } from '../service/PlatformService';
5
5
  import * as i0 from "@angular/core";
@@ -9,5 +9,5 @@ export declare class CookieModule {
9
9
  static ɵmod: i0.ɵɵNgModuleDeclaration<CookieModule, never, never, never>;
10
10
  static ɵinj: i0.ɵɵInjectorDeclaration<CookieModule>;
11
11
  }
12
- export declare function cookieServiceFactory(document: Document, options: ICookieOptions, platform: PlatformService): CookieService;
12
+ export declare function cookieServiceFactory(nativeWindow: NativeWindowService, options: ICookieOptions, platform: PlatformService): CookieService;
13
13
  export declare const COOKIE_OPTIONS: InjectionToken<ICookieOptions>;
@@ -94,7 +94,7 @@ export class VIModule {
94
94
  { provide: VI_ANGULAR_OPTIONS, useValue: options || {} },
95
95
  { provide: Logger, deps: [VI_ANGULAR_OPTIONS], useFactory: loggerServiceFactory },
96
96
  { provide: NativeWindowService, deps: [DOCUMENT], useFactory: nativeWindowServiceFactory },
97
- { provide: LocalStorageService, deps: [NativeWindowService], useFactory: localStorageServiceFactory },
97
+ { provide: LocalStorageService, deps: [NativeWindowService, PlatformService], useFactory: localStorageServiceFactory },
98
98
  { provide: LoginTokenStorage, deps: [LocalStorageService, CookieService], useFactory: loginTokenStorageServiceFactory },
99
99
  ...CookieModule.forRoot(options).providers,
100
100
  ...ThemeModule.forRoot(options ? options.themeOptions : null).providers,
@@ -180,11 +180,11 @@ export function loggerServiceFactory(options) {
180
180
  export function nativeWindowServiceFactory(document) {
181
181
  return new NativeWindowService(document);
182
182
  }
183
- export function localStorageServiceFactory(nativeWindow) {
184
- return new LocalStorageService(nativeWindow);
183
+ export function localStorageServiceFactory(nativeWindow, platform) {
184
+ return new LocalStorageService(nativeWindow.window.localStorage, platform.isPlatformBrowser);
185
185
  }
186
- export function loginTokenStorageServiceFactory(storage, cookies) {
187
- return new LoginTokenStorage(storage, cookies);
186
+ export function loginTokenStorageServiceFactory(local, cookies) {
187
+ return new LoginTokenStorage(local, cookies);
188
188
  }
189
189
  export const VI_ANGULAR_OPTIONS = new InjectionToken(`VI_ANGULAR_OPTIONS`);
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVklNb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvVklNb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQXVCLFFBQVEsRUFBYSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SCxPQUFPLEVBQVcsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXhFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDbEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFD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QWtDO0lBQ3BHLFFBQVEsQ0FBQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRSxRQUFRLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUM7SUFDMUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDbkMsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxPQUFtQjtJQUNwRCxPQUFPLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNwRyxDQUFDO0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUFDLFFBQWtCO0lBQ3pELE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUFDLFlBQWlDO0lBQ3hFLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUNqRCxDQUFDO0FBRUQsTUFBTSxVQUFVLCtCQUErQixDQUFDLE9BQTRCLEVBQUUsT0FBc0I7SUFDaEcsT0FBTyxJQUFJLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQWEsb0JBQW9CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgSW5qZWN0aW9uVG9rZW4sIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBSZW5kZXJlcjIsIFJlbmRlcmVyRmFjdG9yeTIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElMb2dnZXIsIExvZ2dlciwgTG9nZ2VyTGV2ZWwgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0IHsgSUNvb2tpZU9wdGlvbnMgfSBmcm9tICdAdHMtY29yZS9mcm9udGVuZCc7XG5pbXBvcnQgeyBJTGFuZ3VhZ2VTZXJ2aWNlT3B0aW9ucyB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kJztcbmltcG9ydCB7IERlZmF1bHRMb2dnZXIgfSBmcm9tICdAdHMtY29yZS9mcm9udGVuZCc7XG5pbXBvcnQgeyBMb2FkaW5nU2VydmljZSwgTmF0aXZlV2luZG93U2VydmljZSB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kJztcbmltcG9ydCB7IElUaGVtZVNlcnZpY2VPcHRpb25zIH0gZnJvbSAnQHRzLWNvcmUvZnJvbnRlbmQnO1xuaW1wb3J0IHsgQXNzZXRNb2R1bGUgfSBmcm9tICcuL2Fzc2V0L0Fzc2V0TW9kdWxlJztcbmltcG9ydCB7IENvb2tpZU1vZHVsZSB9IGZyb20gJy4vY29va2llL0Nvb2tpZU1vZHVsZSc7XG5pbXBvcnQgeyBDYW5EZWFjdGl2YXRlR3VhcmQgfSBmcm9tICcuL3NlcnZpY2Uvcm91dGUvQ2FuRGVhY3RpdmF0ZUd1YXJkJztcbmltcG9ydCB7IEFzcGVjdFJhdGlvUmVzaXplRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvQXNwZWN0UmF0aW9SZXNpemVEaXJlY3RpdmUnO1xuaW1wb3J0IHsgQXV0b1Njcm9sbEJvdHRvbURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlL0F1dG9TY3JvbGxCb3R0b21EaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2xpY2tUb0NvcHlEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS9DbGlja1RvQ29weURpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDbGlja1RvU2VsZWN0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvQ2xpY2tUb1NlbGVjdERpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGb2N1c0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlL0ZvY3VzRGlyZWN0aXZlJztcbmltcG9ydCB7IFNlbGVjdE9uRm9jdXNEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS9TZWxlY3RPbkZvY3VzRGlyZWN0aXZlJztcbmltcG9ydCB7IEhUTUxUaXRsZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlL0hUTUxUaXRsZURpcmVjdGl2ZSc7XG5pbXBvcnQgeyBIVE1MQ29udGVudFRpdGxlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvSFRNTENvbnRlbnRUaXRsZURpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlL0luZmluaXRlU2Nyb2xsRGlyZWN0aXZlJztcbmltcG9ydCB7IFJlc2l6ZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlL1Jlc2l6ZURpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTY3JvbGxDaGVja0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlL1Njcm9sbENoZWNrRGlyZWN0aXZlJztcbmltcG9ydCB7IFNjcm9sbERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlL1Njcm9sbERpcmVjdGl2ZSc7XG5pbXBvcnQgeyBMYW5ndWFnZU1vZHVsZSB9IGZyb20gJy4vbGFuZ3VhZ2UvTGFuZ3VhZ2VNb2R1bGUnO1xuaW1wb3J0IHsgQ2FtZWxDYXNlUGlwZSB9IGZyb20gJy4vcGlwZS9DYW1lbENhc2VQaXBlJztcbmltcG9ydCB7IEZpbmFuY2VQaXBlIH0gZnJvbSAnLi9waXBlL0ZpbmFuY2VQaXBlJztcbmltcG9ydCB7IE1vbWVudERhdGVBZGFwdGl2ZVBpcGUgfSBmcm9tICcuL3BpcGUvTW9tZW50RGF0ZUFkYXB0aXZlUGlwZSc7XG5pbXBvcnQgeyBNb21lbnREYXRlRnJvbU5vd1BpcGUgfSBmcm9tICcuL3BpcGUvTW9tZW50RGF0ZUZyb21Ob3dQaXBlJztcbmltcG9ydCB7IE1vbWVudERhdGVQaXBlIH0gZnJvbSAnLi9waXBlL01vbWVudERhdGVQaXBlJztcbmltcG9ydCB7IE1vbWVudFRpbWVQaXBlIH0gZnJvbSAnLi9waXBlL01vbWVudFRpbWVQaXBlJztcbmltcG9ydCB7IE5nTW9kZWxFcnJvclBpcGUgfSBmcm9tICcuL3BpcGUvTmdNb2RlbEVycm9yUGlwZSc7XG5pbXBvcnQgeyBTYW5pdGl6ZVBpcGUgfSBmcm9tICcuL3BpcGUvU2FuaXRpemVQaXBlJztcbmltcG9ydCB7IFN0YXJ0Q2FzZVBpcGUgfSBmcm9tICcuL3BpcGUvU3RhcnRDYXNlUGlwZSc7XG5pbXBvcnQgeyBUaW1lUGlwZSB9IGZyb20gJy4vcGlwZS9UaW1lUGlwZSc7XG5pbXBvcnQgeyBUcnVuY2F0ZVBpcGUgfSBmcm9tICcuL3BpcGUvVHJ1bmNhdGVQaXBlJztcbmltcG9ydCB7IFByZXR0aWZ5UGlwZSB9IGZyb20gJy4vcGlwZS9QcmV0dGlmeVBpcGUnO1xuaW1wb3J0IHsgVGhlbWVNb2R1bGUgfSBmcm9tICcuL3RoZW1lL1RoZW1lTW9kdWxlJztcbmltcG9ydCB7IElzU2VydmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvSXNTZXJ2ZXJEaXJlY3RpdmUnO1xuaW1wb3J0IHsgSXNCcm93c2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvSXNCcm93c2VyRGlyZWN0aXZlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFBsYXRmb3JtU2VydmljZSB9IGZyb20gJy4vc2VydmljZS9QbGF0Zm9ybVNlcnZpY2UnO1xuaW1wb3J0IHsgVmlld1V0aWwgfSBmcm9tICcuL3V0aWwvVmlld1V0aWwnO1xuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJy4vY29va2llL0Nvb2tpZVNlcnZpY2UnO1xuaW1wb3J0IHsgTG9naW5Ub2tlblN0b3JhZ2UgfSBmcm9tICcuL2xvZ2luL0xvZ2luVG9rZW5TdG9yYWdlJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JhZ2UvTG9jYWxTdG9yYWdlU2VydmljZSc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5cbmxldCBpbXBvcnRzID0gW0Nvb2tpZU1vZHVsZSwgVGhlbWVNb2R1bGUsIExhbmd1YWdlTW9kdWxlLCBBc3NldE1vZHVsZV07XG5cbmxldCBkZWNsYXJhdGlvbnMgPSBbXG4gICAgVGltZVBpcGUsXG4gICAgRmluYW5jZVBpcGUsXG4gICAgU2FuaXRpemVQaXBlLFxuICAgIFRydW5jYXRlUGlwZSxcbiAgICBQcmV0dGlmeVBpcGUsXG4gICAgQ2FtZWxDYXNlUGlwZSxcbiAgICBTdGFydENhc2VQaXBlLFxuICAgIE5nTW9kZWxFcnJvclBpcGUsXG5cbiAgICBJc1NlcnZlckRpcmVjdGl2ZSxcbiAgICBJc0Jyb3dzZXJEaXJlY3RpdmUsXG5cbiAgICBNb21lbnREYXRlUGlwZSxcbiAgICBNb21lbnRUaW1lUGlwZSxcbiAgICBNb21lbnREYXRlRnJvbU5vd1BpcGUsXG4gICAgTW9tZW50RGF0ZUFkYXB0aXZlUGlwZSxcblxuICAgIEZvY3VzRGlyZWN0aXZlLFxuICAgIFJlc2l6ZURpcmVjdGl2ZSxcbiAgICBTY3JvbGxEaXJlY3RpdmUsXG4gICAgU2Nyb2xsQ2hlY2tEaXJlY3RpdmUsXG4gICAgQ2xpY2tUb0NvcHlEaXJlY3RpdmUsXG4gICAgU2VsZWN0T25Gb2N1c0RpcmVjdGl2ZSxcbiAgICBDbGlja1RvU2VsZWN0RGlyZWN0aXZlLFxuICAgIEluZmluaXRlU2Nyb2xsRGlyZWN0aXZlLFxuICAgIEhUTUxUaXRsZURpcmVjdGl2ZSxcbiAgICBIVE1MQ29udGVudFRpdGxlRGlyZWN0aXZlLFxuICAgIEF1dG9TY3JvbGxCb3R0b21EaXJlY3RpdmUsXG4gICAgQXNwZWN0UmF0aW9SZXNpemVEaXJlY3RpdmVcbl07XG5cbmxldCBleHBvcnRzID0gWy4uLmltcG9ydHMsIC4uLmRlY2xhcmF0aW9uc107XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0cyxcbiAgICBkZWNsYXJhdGlvbnMsXG4gICAgZXhwb3J0c1xufSlcbmV4cG9ydCBjbGFzcyBWSU1vZHVsZSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0U3RhdGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgc3RhdGljIGZvclJvb3Qob3B0aW9ucz86IElWSU9wdGlvbnMpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFZJTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogVklNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW05hdGl2ZVdpbmRvd1NlcnZpY2UsIFJlbmRlcmVyRmFjdG9yeTJdLFxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBpbml0aWFsaXplckZhY3RvcnksXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgICAgIExvYWRpbmdTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIFBsYXRmb3JtU2VydmljZSxcbiAgICAgICAgICAgICAgICBDYW5EZWFjdGl2YXRlR3VhcmQsXG5cbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IFZJX0FOR1VMQVJfT1BUSU9OUywgdXNlVmFsdWU6IG9wdGlvbnMgfHwge30gfSxcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IExvZ2dlciwgZGVwczogW1ZJX0FOR1VMQVJfT1BUSU9OU10sIHVzZUZhY3Rvcnk6IGxvZ2dlclNlcnZpY2VGYWN0b3J5IH0sXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBOYXRpdmVXaW5kb3dTZXJ2aWNlLCBkZXBzOiBbRE9DVU1FTlRdLCB1c2VGYWN0b3J5OiBuYXRpdmVXaW5kb3dTZXJ2aWNlRmFjdG9yeSB9LFxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogTG9jYWxTdG9yYWdlU2VydmljZSwgZGVwczogW05hdGl2ZVdpbmRvd1NlcnZpY2VdLCB1c2VGYWN0b3J5OiBsb2NhbFN0b3JhZ2VTZXJ2aWNlRmFjdG9yeSB9LFxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogTG9naW5Ub2tlblN0b3JhZ2UsIGRlcHM6IFtMb2NhbFN0b3JhZ2VTZXJ2aWNlLCBDb29raWVTZXJ2aWNlXSwgdXNlRmFjdG9yeTogbG9naW5Ub2tlblN0b3JhZ2VTZXJ2aWNlRmFjdG9yeSB9LFxuXG4gICAgICAgICAgICAgICAgLi4uQ29va2llTW9kdWxlLmZvclJvb3Qob3B0aW9ucykucHJvdmlkZXJzLFxuICAgICAgICAgICAgICAgIC4uLlRoZW1lTW9kdWxlLmZvclJvb3Qob3B0aW9ucyA/IG9wdGlvbnMudGhlbWVPcHRpb25zIDogbnVsbCkucHJvdmlkZXJzLFxuICAgICAgICAgICAgICAgIC4uLkxhbmd1YWdlTW9kdWxlLmZvclJvb3Qob3B0aW9ucyA/IG9wdGlvbnMubGFuZ3VhZ2VPcHRpb25zIDogbnVsbCkucHJvdmlkZXJzXG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgSVZJT3B0aW9ucyBleHRlbmRzIElDb29raWVPcHRpb25zIHtcbiAgICBsb2dnZXJMZXZlbD86IExvZ2dlckxldmVsO1xuICAgIHRoZW1lT3B0aW9ucz86IElUaGVtZVNlcnZpY2VPcHRpb25zO1xuICAgIGxhbmd1YWdlT3B0aW9ucz86IElMYW5ndWFnZVNlcnZpY2VPcHRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdGlhbGl6ZXJGYWN0b3J5KG5hdGl2ZVdpbmRvdzogTmF0aXZlV2luZG93U2VydmljZSwgcmVuZGVyZXJGYWN0b3J5MjogUmVuZGVyZXJGYWN0b3J5Mik6IFZpZXdVdGlsIHtcbiAgICBWaWV3VXRpbC5yZW5kZXJlciA9IHJlbmRlcmVyRmFjdG9yeTIuY3JlYXRlUmVuZGVyZXIobnVsbCwgbnVsbCk7XG4gICAgVmlld1V0aWwuZG9jdW1lbnQgPSBuYXRpdmVXaW5kb3cuZG9jdW1lbnQ7XG4gICAgcmV0dXJuICgpID0+IFByb21pc2UucmVzb2x2ZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9nZ2VyU2VydmljZUZhY3Rvcnkob3B0aW9uczogSVZJT3B0aW9ucyk6IElMb2dnZXIge1xuICAgIHJldHVybiBuZXcgRGVmYXVsdExvZ2dlcighXy5pc05pbChvcHRpb25zLmxvZ2dlckxldmVsKSA/IG9wdGlvbnMubG9nZ2VyTGV2ZWwgOiBMb2dnZXJMZXZlbC5BTEwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbmF0aXZlV2luZG93U2VydmljZUZhY3RvcnkoZG9jdW1lbnQ6IERvY3VtZW50KTogTmF0aXZlV2luZG93U2VydmljZSB7XG4gICAgcmV0dXJuIG5ldyBOYXRpdmVXaW5kb3dTZXJ2aWNlKGRvY3VtZW50KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvY2FsU3RvcmFnZVNlcnZpY2VGYWN0b3J5KG5hdGl2ZVdpbmRvdzogTmF0aXZlV2luZG93U2VydmljZSk6IExvY2FsU3RvcmFnZVNlcnZpY2Uge1xuICAgIHJldHVybiBuZXcgTG9jYWxTdG9yYWdlU2VydmljZShuYXRpdmVXaW5kb3cpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9naW5Ub2tlblN0b3JhZ2VTZXJ2aWNlRmFjdG9yeShzdG9yYWdlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlLCBjb29raWVzOiBDb29raWVTZXJ2aWNlKTogTG9naW5Ub2tlblN0b3JhZ2Uge1xuICAgIHJldHVybiBuZXcgTG9naW5Ub2tlblN0b3JhZ2Uoc3RvcmFnZSwgY29va2llcyk7XG59XG5cbmV4cG9ydCBjb25zdCBWSV9BTkdVTEFSX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48SVZJT3B0aW9ucz4oYFZJX0FOR1VMQVJfT1BUSU9OU2ApO1xuIl19
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVklNb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvVklNb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQXVCLFFBQVEsRUFBYSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SCxPQUFPLEVBQVcsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXhFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDbEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7O0FBRTVCLElBQUksT0FBTyxHQUFHLENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFFdkUsSUFBSSxZQUFZLEdBQUc7SUFDZixRQUFRO0lBQ1IsV0FBVztJQUNYLFlBQVk7SUFDWixZQUFZO0lBQ1osWUFBWTtJQUNaLGFBQWE7SUFDYixhQUFhO0lBQ2IsZ0JBQWdCO0lBRWhCLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFFbEIsY0FBYztJQUNkLGNBQWM7SUFDZCxxQkFBcUI7SUFDckIsc0JBQXNCO0lBRXRCLGNBQWM7SUFDZCxlQUFlO0lBQ2YsZUFBZTtJQUNmLG9CQUFvQjtJQUNwQixvQkFBb0I7SUFDcEIsc0JBQXNCO0lBQ3RCLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFDdkIsa0JBQWtCO0lBQ2xCLHlCQUF5QjtJQUN6Qix5QkFBeUI7SUFDekIsMEJBQTBCO0NBQzdCLENBQUM7QUFFRixJQUFJLE9BQU8sR0FBRyxDQUFDLEdBQUcsT0FBTyxFQUFFLEdBQUcsWUFBWSxDQUFDLENBQUM7QUFPNUMsTUFBTSxPQUFPLFFBQVE7SUFDakIsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixrQkFBa0I7SUFDbEIsRUFBRTtJQUNGLDZFQUE2RTtJQUV0RSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQW9CO1FBQ3RDLE9BQU87WUFDSCxRQUFRLEVBQUUsUUFBUTtZQUNsQixTQUFTLEVBQUU7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLGVBQWU7b0JBQ3hCLElBQUksRUFBRSxDQUFDLG1CQUFtQixFQUFFLGdCQUFnQixDQUFDO29CQUM3QyxVQUFVLEVBQUUsa0JBQWtCO29CQUM5QixLQUFLLEVBQUUsSUFBSTtpQkFDZDtnQkFFRCxjQUFjO2dCQUNkLGVBQWU7Z0JBQ2Ysa0JBQWtCO2dCQUVsQixFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsT0FBTyxJQUFJLEVBQUUsRUFBRTtnQkFDeEQsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixFQUFFO2dCQUNqRixFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxVQUFVLEVBQUUsMEJBQTBCLEVBQUU7Z0JBQzFGLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxDQUFDLG1CQUFtQixFQUFFLGVBQWUsQ0FBQyxFQUFFLFVBQVUsRUFBRSwwQkFBMEIsRUFBRTtnQkFDdEgsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsYUFBYSxDQUFDLEVBQUUsVUFBVSxFQUFFLCtCQUErQixFQUFFO2dCQUV2SCxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUztnQkFDMUMsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUztnQkFDdkUsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUzthQUNoRjtTQUNKLENBQUM7SUFDTixDQUFDO3VHQWpDUSxRQUFRO3dHQUFSLFFBQVEsaUJBdENqQixRQUFRO1lBQ1IsV0FBVztZQUNYLFlBQVk7WUFDWixZQUFZO1lBQ1osWUFBWTtZQUNaLGFBQWE7WUFDYixhQUFhO1lBQ2IsZ0JBQWdCO1lBRWhCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFFbEIsY0FBYztZQUNkLGNBQWM7WUFDZCxxQkFBcUI7WUFDckIsc0JBQXNCO1lBRXRCLGNBQWM7WUFDZCxlQUFlO1lBQ2YsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQixvQkFBb0I7WUFDcEIsc0JBQXNCO1lBQ3RCLHNCQUFzQjtZQUN0Qix1QkFBdUI7WUFDdkIsa0JBQWtCO1lBQ2xCLHlCQUF5QjtZQUN6Qix5QkFBeUI7WUFDekIsMEJBQTBCLGFBL0JmLFlBQVksRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLFdBQVcsYUFBdEQsWUFBWSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUdqRSxRQUFRO1lBQ1IsV0FBVztZQUNYLFlBQVk7WUFDWixZQUFZO1lBQ1osWUFBWTtZQUNaLGFBQWE7WUFDYixhQUFhO1lBQ2IsZ0JBQWdCO1lBRWhCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFFbEIsY0FBYztZQUNkLGNBQWM7WUFDZCxxQkFBcUI7WUFDckIsc0JBQXNCO1lBRXRCLGNBQWM7WUFDZCxlQUFlO1lBQ2YsZUFBZTtZQUNmLG9CQUFvQjtZQUNwQixvQkFBb0I7WUFDcEIsc0JBQXNCO1lBQ3RCLHNCQUFzQjtZQUN0Qix1QkFBdUI7WUFDdkIsa0JBQWtCO1lBQ2xCLHlCQUF5QjtZQUN6Qix5QkFBeUI7WUFDekIsMEJBQTBCO3dHQVVqQixRQUFRLFlBSmpCLE9BQU8sRUFyQ0ksWUFBWSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsV0FBVzs7MkZBeUN4RCxRQUFRO2tCQUxwQixRQUFRO21CQUFDO29CQUNOLE9BQU87b0JBQ1AsWUFBWTtvQkFDWixPQUFPO2lCQUNWOztBQXFDRCxNQUFNLE9BQU8sVUFBVyxTQUFRLGNBQWM7SUFDMUMsV0FBVyxDQUFlO0lBQzFCLFlBQVksQ0FBd0I7SUFDcEMsZUFBZSxDQUEyQjtDQUM3QztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxZQUFpQyxFQUFFLGdCQUFrQztJQUNwRyxRQUFRLENBQUMsUUFBUSxHQUFHLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEUsUUFBUSxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQzFDLE9BQU8sR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ25DLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsT0FBbUI7SUFDcEQsT0FBTyxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDcEcsQ0FBQztBQUVELE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxRQUFrQjtJQUN6RCxPQUFPLElBQUksbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxZQUFpQyxFQUFFLFFBQXlCO0lBQ25HLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUNqRyxDQUFDO0FBRUQsTUFBTSxVQUFVLCtCQUErQixDQUFDLEtBQTBCLEVBQUUsT0FBc0I7SUFDOUYsT0FBTyxJQUFJLGlCQUFpQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNqRCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQWEsb0JBQW9CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgSW5qZWN0aW9uVG9rZW4sIE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBSZW5kZXJlcjIsIFJlbmRlcmVyRmFjdG9yeTIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElMb2dnZXIsIExvZ2dlciwgTG9nZ2VyTGV2ZWwgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0IHsgSUNvb2tpZU9wdGlvbnMgfSBmcm9tICdAdHMtY29yZS9mcm9udGVuZCc7XG5pbXBvcnQgeyBJTGFuZ3VhZ2VTZXJ2aWNlT3B0aW9ucyB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kJztcbmltcG9ydCB7IERlZmF1bHRMb2dnZXIgfSBmcm9tICdAdHMtY29yZS9mcm9udGVuZCc7XG5pbXBvcnQgeyBMb2FkaW5nU2VydmljZSwgTmF0aXZlV2luZG93U2VydmljZSB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kJztcbmltcG9ydCB7IElUaGVtZVNlcnZpY2VPcHRpb25zIH0gZnJvbSAnQHRzLWNvcmUvZnJvbnRlbmQnO1xuaW1wb3J0IHsgQXNzZXRNb2R1bGUgfSBmcm9tICcuL2Fzc2V0L0Fzc2V0TW9kdWxlJztcbmltcG9ydCB7IENvb2tpZU1vZHVsZSB9IGZyb20gJy4vY29va2llL0Nvb2tpZU1vZHVsZSc7XG5pbXBvcnQgeyBDYW5EZWFjdGl2YXRlR3VhcmQgfSBmcm9tICcuL3NlcnZpY2Uvcm91dGUvQ2FuRGVhY3RpdmF0ZUd1YXJkJztcbmltcG9ydCB7IEFzcGVjdFJhdGlvUmVzaXplRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvQXNwZWN0UmF0aW9SZXNpemVEaXJlY3RpdmUnO1xuaW1wb3J0IHsgQXV0b1Njcm9sbEJvdHRvbURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlL0F1dG9TY3JvbGxCb3R0b21EaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2xpY2tUb0NvcHlEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS9DbGlja1RvQ29weURpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDbGlja1RvU2VsZWN0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvQ2xpY2tUb1NlbGVjdERpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGb2N1c0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlL0ZvY3VzRGlyZWN0aXZlJztcbmltcG9ydCB7IFNlbGVjdE9uRm9jdXNEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS9TZWxlY3RPbkZvY3VzRGlyZWN0aXZlJztcbmltcG9ydCB7IEhUTUxUaXRsZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlL0hUTUxUaXRsZURpcmVjdGl2ZSc7XG5pbXBvcnQgeyBIVE1MQ29udGVudFRpdGxlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvSFRNTENvbnRlbnRUaXRsZURpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlL0luZmluaXRlU2Nyb2xsRGlyZWN0aXZlJztcbmltcG9ydCB7IFJlc2l6ZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlL1Jlc2l6ZURpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTY3JvbGxDaGVja0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlL1Njcm9sbENoZWNrRGlyZWN0aXZlJztcbmltcG9ydCB7IFNjcm9sbERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlL1Njcm9sbERpcmVjdGl2ZSc7XG5pbXBvcnQgeyBMYW5ndWFnZU1vZHVsZSB9IGZyb20gJy4vbGFuZ3VhZ2UvTGFuZ3VhZ2VNb2R1bGUnO1xuaW1wb3J0IHsgQ2FtZWxDYXNlUGlwZSB9IGZyb20gJy4vcGlwZS9DYW1lbENhc2VQaXBlJztcbmltcG9ydCB7IEZpbmFuY2VQaXBlIH0gZnJvbSAnLi9waXBlL0ZpbmFuY2VQaXBlJztcbmltcG9ydCB7IE1vbWVudERhdGVBZGFwdGl2ZVBpcGUgfSBmcm9tICcuL3BpcGUvTW9tZW50RGF0ZUFkYXB0aXZlUGlwZSc7XG5pbXBvcnQgeyBNb21lbnREYXRlRnJvbU5vd1BpcGUgfSBmcm9tICcuL3BpcGUvTW9tZW50RGF0ZUZyb21Ob3dQaXBlJztcbmltcG9ydCB7IE1vbWVudERhdGVQaXBlIH0gZnJvbSAnLi9waXBlL01vbWVudERhdGVQaXBlJztcbmltcG9ydCB7IE1vbWVudFRpbWVQaXBlIH0gZnJvbSAnLi9waXBlL01vbWVudFRpbWVQaXBlJztcbmltcG9ydCB7IE5nTW9kZWxFcnJvclBpcGUgfSBmcm9tICcuL3BpcGUvTmdNb2RlbEVycm9yUGlwZSc7XG5pbXBvcnQgeyBTYW5pdGl6ZVBpcGUgfSBmcm9tICcuL3BpcGUvU2FuaXRpemVQaXBlJztcbmltcG9ydCB7IFN0YXJ0Q2FzZVBpcGUgfSBmcm9tICcuL3BpcGUvU3RhcnRDYXNlUGlwZSc7XG5pbXBvcnQgeyBUaW1lUGlwZSB9IGZyb20gJy4vcGlwZS9UaW1lUGlwZSc7XG5pbXBvcnQgeyBUcnVuY2F0ZVBpcGUgfSBmcm9tICcuL3BpcGUvVHJ1bmNhdGVQaXBlJztcbmltcG9ydCB7IFByZXR0aWZ5UGlwZSB9IGZyb20gJy4vcGlwZS9QcmV0dGlmeVBpcGUnO1xuaW1wb3J0IHsgVGhlbWVNb2R1bGUgfSBmcm9tICcuL3RoZW1lL1RoZW1lTW9kdWxlJztcbmltcG9ydCB7IElzU2VydmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvSXNTZXJ2ZXJEaXJlY3RpdmUnO1xuaW1wb3J0IHsgSXNCcm93c2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvSXNCcm93c2VyRGlyZWN0aXZlJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFBsYXRmb3JtU2VydmljZSB9IGZyb20gJy4vc2VydmljZS9QbGF0Zm9ybVNlcnZpY2UnO1xuaW1wb3J0IHsgVmlld1V0aWwgfSBmcm9tICcuL3V0aWwvVmlld1V0aWwnO1xuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJy4vY29va2llL0Nvb2tpZVNlcnZpY2UnO1xuaW1wb3J0IHsgTG9naW5Ub2tlblN0b3JhZ2UgfSBmcm9tICcuL2xvZ2luL0xvZ2luVG9rZW5TdG9yYWdlJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuL3N0b3JhZ2UvTG9jYWxTdG9yYWdlU2VydmljZSc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5cbmxldCBpbXBvcnRzID0gW0Nvb2tpZU1vZHVsZSwgVGhlbWVNb2R1bGUsIExhbmd1YWdlTW9kdWxlLCBBc3NldE1vZHVsZV07XG5cbmxldCBkZWNsYXJhdGlvbnMgPSBbXG4gICAgVGltZVBpcGUsXG4gICAgRmluYW5jZVBpcGUsXG4gICAgU2FuaXRpemVQaXBlLFxuICAgIFRydW5jYXRlUGlwZSxcbiAgICBQcmV0dGlmeVBpcGUsXG4gICAgQ2FtZWxDYXNlUGlwZSxcbiAgICBTdGFydENhc2VQaXBlLFxuICAgIE5nTW9kZWxFcnJvclBpcGUsXG5cbiAgICBJc1NlcnZlckRpcmVjdGl2ZSxcbiAgICBJc0Jyb3dzZXJEaXJlY3RpdmUsXG5cbiAgICBNb21lbnREYXRlUGlwZSxcbiAgICBNb21lbnRUaW1lUGlwZSxcbiAgICBNb21lbnREYXRlRnJvbU5vd1BpcGUsXG4gICAgTW9tZW50RGF0ZUFkYXB0aXZlUGlwZSxcblxuICAgIEZvY3VzRGlyZWN0aXZlLFxuICAgIFJlc2l6ZURpcmVjdGl2ZSxcbiAgICBTY3JvbGxEaXJlY3RpdmUsXG4gICAgU2Nyb2xsQ2hlY2tEaXJlY3RpdmUsXG4gICAgQ2xpY2tUb0NvcHlEaXJlY3RpdmUsXG4gICAgU2VsZWN0T25Gb2N1c0RpcmVjdGl2ZSxcbiAgICBDbGlja1RvU2VsZWN0RGlyZWN0aXZlLFxuICAgIEluZmluaXRlU2Nyb2xsRGlyZWN0aXZlLFxuICAgIEhUTUxUaXRsZURpcmVjdGl2ZSxcbiAgICBIVE1MQ29udGVudFRpdGxlRGlyZWN0aXZlLFxuICAgIEF1dG9TY3JvbGxCb3R0b21EaXJlY3RpdmUsXG4gICAgQXNwZWN0UmF0aW9SZXNpemVEaXJlY3RpdmVcbl07XG5cbmxldCBleHBvcnRzID0gWy4uLmltcG9ydHMsIC4uLmRlY2xhcmF0aW9uc107XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0cyxcbiAgICBkZWNsYXJhdGlvbnMsXG4gICAgZXhwb3J0c1xufSlcbmV4cG9ydCBjbGFzcyBWSU1vZHVsZSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0U3RhdGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgc3RhdGljIGZvclJvb3Qob3B0aW9ucz86IElWSU9wdGlvbnMpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFZJTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogVklNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW05hdGl2ZVdpbmRvd1NlcnZpY2UsIFJlbmRlcmVyRmFjdG9yeTJdLFxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBpbml0aWFsaXplckZhY3RvcnksXG4gICAgICAgICAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgICAgIExvYWRpbmdTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIFBsYXRmb3JtU2VydmljZSxcbiAgICAgICAgICAgICAgICBDYW5EZWFjdGl2YXRlR3VhcmQsXG5cbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IFZJX0FOR1VMQVJfT1BUSU9OUywgdXNlVmFsdWU6IG9wdGlvbnMgfHwge30gfSxcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IExvZ2dlciwgZGVwczogW1ZJX0FOR1VMQVJfT1BUSU9OU10sIHVzZUZhY3Rvcnk6IGxvZ2dlclNlcnZpY2VGYWN0b3J5IH0sXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBOYXRpdmVXaW5kb3dTZXJ2aWNlLCBkZXBzOiBbRE9DVU1FTlRdLCB1c2VGYWN0b3J5OiBuYXRpdmVXaW5kb3dTZXJ2aWNlRmFjdG9yeSB9LFxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogTG9jYWxTdG9yYWdlU2VydmljZSwgZGVwczogW05hdGl2ZVdpbmRvd1NlcnZpY2UsIFBsYXRmb3JtU2VydmljZV0sIHVzZUZhY3Rvcnk6IGxvY2FsU3RvcmFnZVNlcnZpY2VGYWN0b3J5IH0sXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBMb2dpblRva2VuU3RvcmFnZSwgZGVwczogW0xvY2FsU3RvcmFnZVNlcnZpY2UsIENvb2tpZVNlcnZpY2VdLCB1c2VGYWN0b3J5OiBsb2dpblRva2VuU3RvcmFnZVNlcnZpY2VGYWN0b3J5IH0sXG5cbiAgICAgICAgICAgICAgICAuLi5Db29raWVNb2R1bGUuZm9yUm9vdChvcHRpb25zKS5wcm92aWRlcnMsXG4gICAgICAgICAgICAgICAgLi4uVGhlbWVNb2R1bGUuZm9yUm9vdChvcHRpb25zID8gb3B0aW9ucy50aGVtZU9wdGlvbnMgOiBudWxsKS5wcm92aWRlcnMsXG4gICAgICAgICAgICAgICAgLi4uTGFuZ3VhZ2VNb2R1bGUuZm9yUm9vdChvcHRpb25zID8gb3B0aW9ucy5sYW5ndWFnZU9wdGlvbnMgOiBudWxsKS5wcm92aWRlcnNcbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJVklPcHRpb25zIGV4dGVuZHMgSUNvb2tpZU9wdGlvbnMge1xuICAgIGxvZ2dlckxldmVsPzogTG9nZ2VyTGV2ZWw7XG4gICAgdGhlbWVPcHRpb25zPzogSVRoZW1lU2VydmljZU9wdGlvbnM7XG4gICAgbGFuZ3VhZ2VPcHRpb25zPzogSUxhbmd1YWdlU2VydmljZU9wdGlvbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplckZhY3RvcnkobmF0aXZlV2luZG93OiBOYXRpdmVXaW5kb3dTZXJ2aWNlLCByZW5kZXJlckZhY3RvcnkyOiBSZW5kZXJlckZhY3RvcnkyKTogVmlld1V0aWwge1xuICAgIFZpZXdVdGlsLnJlbmRlcmVyID0gcmVuZGVyZXJGYWN0b3J5Mi5jcmVhdGVSZW5kZXJlcihudWxsLCBudWxsKTtcbiAgICBWaWV3VXRpbC5kb2N1bWVudCA9IG5hdGl2ZVdpbmRvdy5kb2N1bWVudDtcbiAgICByZXR1cm4gKCkgPT4gUHJvbWlzZS5yZXNvbHZlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2dnZXJTZXJ2aWNlRmFjdG9yeShvcHRpb25zOiBJVklPcHRpb25zKTogSUxvZ2dlciB7XG4gICAgcmV0dXJuIG5ldyBEZWZhdWx0TG9nZ2VyKCFfLmlzTmlsKG9wdGlvbnMubG9nZ2VyTGV2ZWwpID8gb3B0aW9ucy5sb2dnZXJMZXZlbCA6IExvZ2dlckxldmVsLkFMTCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuYXRpdmVXaW5kb3dTZXJ2aWNlRmFjdG9yeShkb2N1bWVudDogRG9jdW1lbnQpOiBOYXRpdmVXaW5kb3dTZXJ2aWNlIHtcbiAgICByZXR1cm4gbmV3IE5hdGl2ZVdpbmRvd1NlcnZpY2UoZG9jdW1lbnQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9jYWxTdG9yYWdlU2VydmljZUZhY3RvcnkobmF0aXZlV2luZG93OiBOYXRpdmVXaW5kb3dTZXJ2aWNlLCBwbGF0Zm9ybTogUGxhdGZvcm1TZXJ2aWNlKTogTG9jYWxTdG9yYWdlU2VydmljZSB7XG4gICAgcmV0dXJuIG5ldyBMb2NhbFN0b3JhZ2VTZXJ2aWNlKG5hdGl2ZVdpbmRvdy53aW5kb3cubG9jYWxTdG9yYWdlLCBwbGF0Zm9ybS5pc1BsYXRmb3JtQnJvd3Nlcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2dpblRva2VuU3RvcmFnZVNlcnZpY2VGYWN0b3J5KGxvY2FsOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlLCBjb29raWVzOiBDb29raWVTZXJ2aWNlKTogTG9naW5Ub2tlblN0b3JhZ2Uge1xuICAgIHJldHVybiBuZXcgTG9naW5Ub2tlblN0b3JhZ2UobG9jYWwsIGNvb2tpZXMpO1xufVxuXG5leHBvcnQgY29uc3QgVklfQU5HVUxBUl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPElWSU9wdGlvbnM+KGBWSV9BTkdVTEFSX09QVElPTlNgKTtcbiJdfQ==
@@ -1,8 +1,8 @@
1
1
  import { InjectionToken, NgModule } from '@angular/core';
2
+ import { NativeWindowService } from '@ts-core/frontend';
2
3
  import { CookieService } from './CookieService';
3
4
  import { PlatformService } from '../service/PlatformService';
4
5
  import * as _ from 'lodash';
5
- import { DOCUMENT } from '@angular/common';
6
6
  import * as i0 from "@angular/core";
7
7
  export class CookieModule {
8
8
  // --------------------------------------------------------------------------
@@ -20,7 +20,7 @@ export class CookieModule {
20
20
  },
21
21
  {
22
22
  provide: CookieService,
23
- deps: [DOCUMENT, COOKIE_OPTIONS, PlatformService],
23
+ deps: [NativeWindowService, COOKIE_OPTIONS, PlatformService],
24
24
  useFactory: cookieServiceFactory
25
25
  }
26
26
  ]
@@ -33,7 +33,7 @@ export class CookieModule {
33
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CookieModule, decorators: [{
34
34
  type: NgModule
35
35
  }] });
36
- export function cookieServiceFactory(document, options, platform) {
36
+ export function cookieServiceFactory(nativeWindow, options, platform) {
37
37
  options = _.assign({
38
38
  path: '/',
39
39
  domain: null,
@@ -41,7 +41,7 @@ export function cookieServiceFactory(document, options, platform) {
41
41
  secure: false,
42
42
  httpOnly: false
43
43
  }, options);
44
- return new CookieService(document, options, platform.isPlatformBrowser);
44
+ return new CookieService(nativeWindow.document, options, platform.isPlatformBrowser);
45
45
  }
46
46
  export const COOKIE_OPTIONS = new InjectionToken(`COOKIE_OPTIONS`);
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29va2llTW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Nvb2tpZS9Db29raWVNb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUczQyxNQUFNLE9BQU8sWUFBWTtJQUNyQiw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBd0I7UUFDMUMsT0FBTztZQUNILFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsY0FBYztvQkFDdkIsUUFBUSxFQUFFLE9BQU8sSUFBSSxFQUFFO2lCQUMxQjtnQkFDRDtvQkFDSSxPQUFPLEVBQUUsYUFBYTtvQkFDdEIsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLGNBQWMsRUFBRSxlQUFlLENBQUM7b0JBQ2pELFVBQVUsRUFBRSxvQkFBb0I7aUJBQ25DO2FBQ0o7U0FDSixDQUFDO0lBQ04sQ0FBQzt1R0F0QlEsWUFBWTt3R0FBWixZQUFZO3dHQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBRHhCLFFBQVE7O0FBMEJULE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxRQUFrQixFQUFFLE9BQXVCLEVBQUUsUUFBeUI7SUFDdkcsT0FBTyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQ2Q7UUFDSSxJQUFJLEVBQUUsR0FBRztRQUNULE1BQU0sRUFBRSxJQUFJO1FBQ1osT0FBTyxFQUFFLElBQUk7UUFDYixNQUFNLEVBQUUsS0FBSztRQUNiLFFBQVEsRUFBRSxLQUFLO0tBQ2xCLEVBQ0QsT0FBTyxDQUNWLENBQUM7SUFDRixPQUFPLElBQUksYUFBYSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsZ0JBQWdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUNvb2tpZU9wdGlvbnMsIE5hdGl2ZVdpbmRvd1NlcnZpY2UgfSBmcm9tICdAdHMtY29yZS9mcm9udGVuZCc7XG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi9Db29raWVTZXJ2aWNlJztcbmltcG9ydCB7IFBsYXRmb3JtU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvUGxhdGZvcm1TZXJ2aWNlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQE5nTW9kdWxlKClcbmV4cG9ydCBjbGFzcyBDb29raWVNb2R1bGUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFN0YXRpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIHN0YXRpYyBmb3JSb290KG9wdGlvbnM/OiBJQ29va2llT3B0aW9ucyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Q29va2llTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogQ29va2llTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBDT09LSUVfT1BUSU9OUyxcbiAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnMgfHwge31cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogQ29va2llU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW0RPQ1VNRU5ULCBDT09LSUVfT1BUSU9OUywgUGxhdGZvcm1TZXJ2aWNlXSxcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogY29va2llU2VydmljZUZhY3RvcnlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH07XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY29va2llU2VydmljZUZhY3RvcnkoZG9jdW1lbnQ6IERvY3VtZW50LCBvcHRpb25zOiBJQ29va2llT3B0aW9ucywgcGxhdGZvcm06IFBsYXRmb3JtU2VydmljZSk6IENvb2tpZVNlcnZpY2Uge1xuICAgIG9wdGlvbnMgPSBfLmFzc2lnbihcbiAgICAgICAge1xuICAgICAgICAgICAgcGF0aDogJy8nLFxuICAgICAgICAgICAgZG9tYWluOiBudWxsLFxuICAgICAgICAgICAgZXhwaXJlczogbnVsbCxcbiAgICAgICAgICAgIHNlY3VyZTogZmFsc2UsXG4gICAgICAgICAgICBodHRwT25seTogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9uc1xuICAgICk7XG4gICAgcmV0dXJuIG5ldyBDb29raWVTZXJ2aWNlKGRvY3VtZW50LCBvcHRpb25zLCBwbGF0Zm9ybS5pc1BsYXRmb3JtQnJvd3Nlcik7XG59XG5cbmV4cG9ydCBjb25zdCBDT09LSUVfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJQ29va2llT3B0aW9ucz4oYENPT0tJRV9PUFRJT05TYCk7XG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29va2llTW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Nvb2tpZS9Db29raWVNb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlFLE9BQU8sRUFBa0IsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDOztBQUk1QixNQUFNLE9BQU8sWUFBWTtJQUNyQiw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNkVBQTZFO0lBRXRFLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBd0I7UUFDMUMsT0FBTztZQUNILFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsY0FBYztvQkFDdkIsUUFBUSxFQUFFLE9BQU8sSUFBSSxFQUFFO2lCQUMxQjtnQkFDRDtvQkFDSSxPQUFPLEVBQUUsYUFBYTtvQkFDdEIsSUFBSSxFQUFFLENBQUMsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLGVBQWUsQ0FBQztvQkFDNUQsVUFBVSxFQUFFLG9CQUFvQjtpQkFDbkM7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDO3VHQXRCUSxZQUFZO3dHQUFaLFlBQVk7d0dBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFEeEIsUUFBUTs7QUEwQlQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFlBQWlDLEVBQUUsT0FBdUIsRUFBRSxRQUF5QjtJQUN0SCxPQUFPLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FDZDtRQUNJLElBQUksRUFBRSxHQUFHO1FBQ1QsTUFBTSxFQUFFLElBQUk7UUFDWixPQUFPLEVBQUUsSUFBSTtRQUNiLE1BQU0sRUFBRSxLQUFLO1FBQ2IsUUFBUSxFQUFFLEtBQUs7S0FDbEIsRUFDRCxPQUFPLENBQ1YsQ0FBQztJQUNGLE9BQU8sSUFBSSxhQUFhLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFDekYsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsZ0JBQWdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUNvb2tpZU9wdGlvbnMsIE5hdGl2ZVdpbmRvd1NlcnZpY2UgfSBmcm9tICdAdHMtY29yZS9mcm9udGVuZCc7XG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi9Db29raWVTZXJ2aWNlJztcbmltcG9ydCB7IFBsYXRmb3JtU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvUGxhdGZvcm1TZXJ2aWNlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQE5nTW9kdWxlKClcbmV4cG9ydCBjbGFzcyBDb29raWVNb2R1bGUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFN0YXRpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIHN0YXRpYyBmb3JSb290KG9wdGlvbnM/OiBJQ29va2llT3B0aW9ucyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Q29va2llTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogQ29va2llTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBDT09LSUVfT1BUSU9OUyxcbiAgICAgICAgICAgICAgICAgICAgdXNlVmFsdWU6IG9wdGlvbnMgfHwge31cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogQ29va2llU2VydmljZSxcbiAgICAgICAgICAgICAgICAgICAgZGVwczogW05hdGl2ZVdpbmRvd1NlcnZpY2UsIENPT0tJRV9PUFRJT05TLCBQbGF0Zm9ybVNlcnZpY2VdLFxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBjb29raWVTZXJ2aWNlRmFjdG9yeVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb29raWVTZXJ2aWNlRmFjdG9yeShuYXRpdmVXaW5kb3c6IE5hdGl2ZVdpbmRvd1NlcnZpY2UsIG9wdGlvbnM6IElDb29raWVPcHRpb25zLCBwbGF0Zm9ybTogUGxhdGZvcm1TZXJ2aWNlKTogQ29va2llU2VydmljZSB7XG4gICAgb3B0aW9ucyA9IF8uYXNzaWduKFxuICAgICAgICB7XG4gICAgICAgICAgICBwYXRoOiAnLycsXG4gICAgICAgICAgICBkb21haW46IG51bGwsXG4gICAgICAgICAgICBleHBpcmVzOiBudWxsLFxuICAgICAgICAgICAgc2VjdXJlOiBmYWxzZSxcbiAgICAgICAgICAgIGh0dHBPbmx5OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zXG4gICAgKTtcbiAgICByZXR1cm4gbmV3IENvb2tpZVNlcnZpY2UobmF0aXZlV2luZG93LmRvY3VtZW50LCBvcHRpb25zLCBwbGF0Zm9ybS5pc1BsYXRmb3JtQnJvd3Nlcik7XG59XG5cbmV4cG9ydCBjb25zdCBDT09LSUVfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJQ29va2llT3B0aW9ucz4oYENPT0tJRV9PUFRJT05TYCk7XG4iXX0=
@@ -151,8 +151,8 @@ export class LoginBaseService extends Loadable {
151
151
  if (this.isDestroyed) {
152
152
  return;
153
153
  }
154
- super.destroy();
155
154
  this.reset();
155
+ super.destroy();
156
156
  }
157
157
  // --------------------------------------------------------------------------
158
158
  //
@@ -188,4 +188,4 @@ export var LoginBaseServiceEvent;
188
188
  LoginBaseServiceEvent["REGISTRATION_COMPLETE"] = "REGISTRATION_COMPLETE";
189
189
  LoginBaseServiceEvent["REGISTRATION_FINISHED"] = "REGISTRATION_FINISHED";
190
190
  })(LoginBaseServiceEvent || (LoginBaseServiceEvent = {}));
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9naW5CYXNlU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2dpbi9Mb2dpbkJhc2VTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEYsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsTUFBTSxPQUFnQixnQkFBNEMsU0FBUSxRQUEwRDtJQUNoSSw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRW5FLElBQUksQ0FBUztJQUNiLFVBQVUsQ0FBSTtJQUNkLFdBQVcsR0FBWSxLQUFLLENBQUM7SUFFdkMsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixlQUFlO0lBQ2YsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RTtRQUNJLEtBQUssRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YscUJBQXFCO0lBQ3JCLEVBQUU7SUFDRiw2RUFBNkU7SUFFbkUsS0FBSyxDQUFDLFlBQVksQ0FBVSxLQUFTO1FBQzNDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVTLEtBQUssQ0FBQyxlQUFlLENBQUMsaUJBQTRDO1FBQ3hFLElBQUksSUFBSSxD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akMsNERBQW1DLENBQUE7SUFFbkMsa0VBQXlDLENBQUE7SUFDekMsc0VBQTZDLENBQUE7SUFDN0Msd0VBQStDLENBQUE7SUFDL0Msd0VBQStDLENBQUE7QUFDbkQsQ0FBQyxFQVpXLHFCQUFxQixLQUFyQixxQkFBcUIsUUFZaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2FkYWJsZUV2ZW50LCBMb2FkYWJsZSwgTG9hZGFibGVTdGF0dXMgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0IHsgRXh0ZW5kZWRFcnJvciB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlRGF0YSB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc3BvcnROb0Nvbm5lY3Rpb25FcnJvciwgVHJhbnNwb3J0VGltZW91dEVycm9yIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgZmlsdGVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMb2dpbkJhc2VTZXJ2aWNlPEUgPSBhbnksIFUgPSBhbnksIFYgPSBhbnk+IGV4dGVuZHMgTG9hZGFibGU8RSB8IExvZ2luQmFzZVNlcnZpY2VFdmVudCwgVSB8IFYgfCBFeHRlbmRlZEVycm9yPiB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBfc2lkOiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIF9sb2dpbkRhdGE6IFY7XG4gICAgcHJvdGVjdGVkIF9pc0xvZ2dlZEluOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRDb25zdHJ1Y3RvclxuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByb3RlY3RlZCBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGFzeW5jIGxvZ2luQnlQYXJhbTxUID0gYW55PihwYXJhbT86IFQpOiBQcm9taXNlPFU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9naW5CeUZ1bmN0aW9uKCgpID0+IHRoaXMubG9naW5SZXF1ZXN0KHBhcmFtKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFzeW5jIGxvZ2luQnlGdW5jdGlvbihzaWRSZXR1cm5GdW5jdGlvbjogKC4uLnBhcmFtcykgPT4gUHJvbWlzZTxVPik6IFByb21pc2U8VT4ge1xuICAgICAgICBpZiAodGhpcy5pc0xvZ2dlZEluIHx8IHRoaXMuaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCByZXNwb25zZTogVTtcbiAgICAgICAgdGhpcy5zdGF0dXMgPSBMb2FkYWJsZVN0YXR1cy5MT0FESU5HO1xuICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvYWRhYmxlRXZlbnQuU1RBUlRFRCkpO1xuICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvZ2luQmFzZVNlcnZpY2VFdmVudC5MT0dJTl9TVEFSVEVEKSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJlc3BvbnNlID0gYXdhaXQgc2lkUmV0dXJuRnVuY3Rpb24oKTtcbiAgICAgICAgICAgIHRoaXMucGFyc2VMb2dpblJlc3BvbnNlKHJlc3BvbnNlKTtcbiAgICAgICAgICAgIGlmICghdGhpcy5pc0NhbkxvZ2luV2l0aFNpZCgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0dXMgPSBMb2FkYWJsZVN0YXR1cy5MT0FERUQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubG9naW5CeVNpZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgbGV0IGV4dGVuZGVkRXJyb3IgPSBFeHRlbmRlZEVycm9yLmNyZWF0ZTxhbnksIG51bWJlcj4oZXJyb3IgYXMgYW55KTtcblxuICAgICAgICAgICAgdGhpcy5zdGF0dXMgPSBMb2FkYWJsZVN0YXR1cy5FUlJPUjtcbiAgICAgICAgICAgIHRoaXMucGFyc2VMb2dpbkVycm9yUmVzcG9uc2UoZXh0ZW5kZWRFcnJvcik7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvZ2luQmFzZVNlcnZpY2VFdmVudC5MT0dJTl9FUlJPUiwgbnVsbCwgZXh0ZW5kZWRFcnJvcikpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzTG9hZGluZykge1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2FkYWJsZUV2ZW50LkZJTklTSEVEKSk7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvZ2luQmFzZVNlcnZpY2VFdmVudC5MT0dJTl9GSU5JU0hFRCkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgbG9naW5CeVNpZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKF8uaXNOaWwodGhpcy5zaWQpKSB7XG4gICAgICAgICAgICB0aGlzLl9zaWQgPSB0aGlzLmdldFNhdmVkU2lkKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgbGV0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5sb2dpblNpZFJlcXVlc3QoKTtcbiAgICAgICAgICAgIHRoaXMucGFyc2VMb2dpblNpZFJlc3BvbnNlKHJlc3BvbnNlKTtcblxuICAgICAgICAgICAgdGhpcy5faXNMb2dnZWRJbiA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLkxPQURFRDtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9hZGFibGVFdmVudC5DT01QTEVURSwgcmVzcG9uc2UpKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR0lOX0NPTVBMRVRFLCByZXNwb25zZSkpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgbGV0IGV4dGVuZGVkRXJyb3IgPSBFeHRlbmRlZEVycm9yLmNyZWF0ZTxhbnksIG51bWJlcj4oZXJyb3IpO1xuICAgICAgICAgICAgdGhpcy5wYXJzZUxvZ2luU2lkRXJyb3JSZXNwb25zZShleHRlbmRlZEVycm9yKTtcblxuICAgICAgICAgICAgdGhpcy5faXNMb2dnZWRJbiA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5zdGF0dXMgPSBMb2FkYWJsZVN0YXR1cy5FUlJPUjtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9hZGFibGVFdmVudC5FUlJPUiwgbnVsbCwgZXh0ZW5kZWRFcnJvcikpO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2dpbkJhc2VTZXJ2aWNlRXZlbnQuTE9HSU5fRVJST1IsIG51bGwsIGV4dGVuZGVkRXJyb3IpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9hZGFibGVFdmVudC5GSU5JU0hFRCkpO1xuICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvZ2luQmFzZVNlcnZpY2VFdmVudC5MT0dJTl9GSU5JU0hFRCkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNldCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2lkID0gbnVsbDtcbiAgICAgICAgdGhpcy5fbG9naW5EYXRhID0gbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgbG9naW5SZXF1ZXN0KC4uLnBhcmFtcyk6IFByb21pc2U8VT47XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGxvZ2luU2lkUmVxdWVzdCgpOiBQcm9taXNlPFY+O1xuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGxvZ291dFJlcXVlc3QoKTogUHJvbWlzZTx2b2lkPjtcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0U2F2ZWRTaWQoKTogc3RyaW5nO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UGFyc2UgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBwYXJzZUxvZ2luUmVzcG9uc2UocmVzcG9uc2U6IFUpOiB2b2lkO1xuXG4gICAgcHJvdGVjdGVkIHBhcnNlTG9naW5FcnJvclJlc3BvbnNlKGVycm9yOiBFeHRlbmRlZEVycm9yKTogdm9pZCB7fVxuXG4gICAgcHJvdGVjdGVkIHBhcnNlTG9nb3V0RXJyb3JSZXNwb25zZShlcnJvcjogRXh0ZW5kZWRFcnJvcik6IHZvaWQge31cblxuICAgIHByb3RlY3RlZCBwYXJzZUxvZ2luU2lkUmVzcG9uc2UocmVzcG9uc2U6IFYpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbG9naW5EYXRhID0gcmVzcG9uc2U7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHBhcnNlTG9naW5TaWRFcnJvclJlc3BvbnNlKGVycm9yOiBFeHRlbmRlZEVycm9yKTogdm9pZCB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIFRyYW5zcG9ydFRpbWVvdXRFcnJvciB8fCBlcnJvciBpbnN0YW5jZW9mIFRyYW5zcG9ydE5vQ29ubmVjdGlvbkVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGFic3RyYWN0IGxvZ2luKHBhcmFtOiBhbnkpOiB2b2lkO1xuXG4gICAgcHVibGljIGFzeW5jIGxvZ2luQnlSZXNwb25zZShwYXJhbTogVSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAodGhpcy5pc0xvZ2dlZEluIHx8IHRoaXMuaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLkxPQURJTkc7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9hZGFibGVFdmVudC5TVEFSVEVEKSk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR0lOX1NUQVJURUQpKTtcblxuICAgICAgICB0aGlzLnBhcnNlTG9naW5SZXNwb25zZShwYXJhbSk7XG4gICAgICAgIHRoaXMuc3RhdHVzID0gIXRoaXMuaXNDYW5Mb2dpbldpdGhTaWQoKSA/IExvYWRhYmxlU3RhdHVzLkxPQURFRCA6IExvYWRhYmxlU3RhdHVzLkxPQURJTkc7XG4gICAgICAgIGlmICh0aGlzLmlzTG9hZGluZykge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5sb2dpbkJ5U2lkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbG9naW5CeVNpZElmQ2FuKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuaXNDYW5Mb2dpbldpdGhTaWQoKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNMb2dnZWRJbiB8fCB0aGlzLmlzTG9hZGluZykge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLkxPQURJTkc7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9hZGFibGVFdmVudC5TVEFSVEVEKSk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR0lOX1NUQVJURUQpKTtcbiAgICAgICAgdGhpcy5sb2dpbkJ5U2lkKCk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBsb2dvdXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICghdGhpcy5pc0xvZ2dlZEluKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvYWRhYmxlRXZlbnQuU1RBUlRFRCkpO1xuICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvZ2luQmFzZVNlcnZpY2VFdmVudC5MT0dPVVRfU1RBUlRFRCkpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmxvZ291dFJlcXVlc3QoKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGxldCBleHRlbmRlZEVycm9yID0gRXh0ZW5kZWRFcnJvci5jcmVhdGU8YW55LCBudW1iZXI+KGVycm9yKTtcbiAgICAgICAgICAgIHRoaXMucGFyc2VMb2dvdXRFcnJvclJlc3BvbnNlKGV4dGVuZGVkRXJyb3IpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICAgICAgdGhpcy5faXNMb2dnZWRJbiA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5zdGF0dXMgPSBMb2FkYWJsZVN0YXR1cy5OT1RfTE9BREVEO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2FkYWJsZUV2ZW50LkZJTklTSEVEKSk7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvZ2luQmFzZVNlcnZpY2VFdmVudC5MT0dPVVRfRklOSVNIRUQpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBpc0NhbkxvZ2luV2l0aFNpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICFfLmlzTmlsKHRoaXMuc2lkKSB8fCAhXy5pc05pbCh0aGlzLmdldFNhdmVkU2lkKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCBsb2dpbmVkKCk6IE9ic2VydmFibGU8Vj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5ldmVudHMucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihpdGVtID0+IGl0ZW0udHlwZSA9PT0gTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR0lOX0NPTVBMRVRFKSxcbiAgICAgICAgICAgIG1hcChpdGVtID0+IGl0ZW0uZGF0YSBhcyBWKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbG9nb3V0ZWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV2ZW50cy5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKGl0ZW0gPT4gaXRlbS50eXBlID09PSBMb2dpbkJhc2VTZXJ2aWNlRXZlbnQuTE9HT1VUX0ZJTklTSEVEKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiBudWxsKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2lkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsb2dpbkRhdGEoKTogViB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2dpbkRhdGE7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc0xvZ2dlZEluKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNMb2dnZWRJbjtcbiAgICB9XG59XG5cbmV4cG9ydCBlbnVtIExvZ2luQmFzZVNlcnZpY2VFdmVudCB7XG4gICAgTE9HSU5fRVJST1IgPSAnTE9HSU5fRVJST1InLFxuICAgIExPR0lOX1NUQVJURUQgPSAnTE9HSU5fU1RBUlRFRCcsXG4gICAgTE9HSU5fQ09NUExFVEUgPSAnTE9HSU5fQ09NUExFVEUnLFxuICAgIExPR0lOX0ZJTklTSEVEID0gJ0xPR0lOX0ZJTklTSEVEJyxcbiAgICBMT0dPVVRfU1RBUlRFRCA9ICdMT0dPVVRfU1RBUlRFRCcsXG4gICAgTE9HT1VUX0ZJTklTSEVEID0gJ0xPR09VVF9GSU5JU0hFRCcsXG5cbiAgICBSRUdJU1RSQVRJT05fRVJST1IgPSAnUkVHSVNUUkFUSU9OX0VSUk9SJyxcbiAgICBSRUdJU1RSQVRJT05fU1RBUlRFRCA9ICdSRUdJU1RSQVRJT05fU1RBUlRFRCcsXG4gICAgUkVHSVNUUkFUSU9OX0NPTVBMRVRFID0gJ1JFR0lTVFJBVElPTl9DT01QTEVURScsXG4gICAgUkVHSVNUUkFUSU9OX0ZJTklTSEVEID0gJ1JFR0lTVFJBVElPTl9GSU5JU0hFRCdcbn1cbiJdfQ==
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9naW5CYXNlU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2dpbi9Mb2dpbkJhc2VTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEYsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsTUFBTSxPQUFnQixnQkFBNEMsU0FBUSxRQUEwRDtJQUNoSSw2RUFBNkU7SUFDN0UsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNkVBQTZFO0lBRW5FLElBQUksQ0FBUztJQUNiLFVBQVUsQ0FBSTtJQUNkLFdBQVcsR0FBWSxLQUFLLENBQUM7SUFFdkMsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixlQUFlO0lBQ2YsRUFBRTtJQUNGLDZFQUE2RTtJQUU3RTtRQUNJLEtBQUssRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YscUJBQXFCO0lBQ3JCLEVBQUU7SUFDRiw2RUFBNkU7SUFFbkUsS0FBSyxDQUFDLFlBQVksQ0FBVSxLQUFTO1FBQzNDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVTLEtBQUssQ0FBQyxlQUFlLENBQUMsaUJBQTRDO1FBQ3hFLElBQUksSUFBSSxD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Qyw0REFBbUMsQ0FBQTtJQUVuQyxrRUFBeUMsQ0FBQTtJQUN6QyxzRUFBNkMsQ0FBQTtJQUM3Qyx3RUFBK0MsQ0FBQTtJQUMvQyx3RUFBK0MsQ0FBQTtBQUNuRCxDQUFDLEVBWlcscUJBQXFCLEtBQXJCLHFCQUFxQixRQVloQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvYWRhYmxlRXZlbnQsIExvYWRhYmxlLCBMb2FkYWJsZVN0YXR1cyB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBFeHRlbmRlZEVycm9yIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IE9ic2VydmFibGVEYXRhIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zcG9ydE5vQ29ubmVjdGlvbkVycm9yLCBUcmFuc3BvcnRUaW1lb3V0RXJyb3IgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBmaWx0ZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExvZ2luQmFzZVNlcnZpY2U8RSA9IGFueSwgVSA9IGFueSwgViA9IGFueT4gZXh0ZW5kcyBMb2FkYWJsZTxFIHwgTG9naW5CYXNlU2VydmljZUV2ZW50LCBVIHwgViB8IEV4dGVuZGVkRXJyb3I+IHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIF9zaWQ6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgX2xvZ2luRGF0YTogVjtcbiAgICBwcm90ZWN0ZWQgX2lzTG9nZ2VkSW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvdGVjdGVkIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgbG9naW5CeVBhcmFtPFQgPSBhbnk+KHBhcmFtPzogVCk6IFByb21pc2U8VT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2dpbkJ5RnVuY3Rpb24oKCkgPT4gdGhpcy5sb2dpblJlcXVlc3QocGFyYW0pKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgbG9naW5CeUZ1bmN0aW9uKHNpZFJldHVybkZ1bmN0aW9uOiAoLi4ucGFyYW1zKSA9PiBQcm9taXNlPFU+KTogUHJvbWlzZTxVPiB7XG4gICAgICAgIGlmICh0aGlzLmlzTG9nZ2VkSW4gfHwgdGhpcy5pc0xvYWRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHJlc3BvbnNlOiBVO1xuICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLkxPQURJTkc7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9hZGFibGVFdmVudC5TVEFSVEVEKSk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR0lOX1NUQVJURUQpKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmVzcG9uc2UgPSBhd2FpdCBzaWRSZXR1cm5GdW5jdGlvbigpO1xuICAgICAgICAgICAgdGhpcy5wYXJzZUxvZ2luUmVzcG9uc2UocmVzcG9uc2UpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmlzQ2FuTG9naW5XaXRoU2lkKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLkxPQURFRDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dpbkJ5U2lkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBsZXQgZXh0ZW5kZWRFcnJvciA9IEV4dGVuZGVkRXJyb3IuY3JlYXRlPGFueSwgbnVtYmVyPihlcnJvciBhcyBhbnkpO1xuXG4gICAgICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLkVSUk9SO1xuICAgICAgICAgICAgdGhpcy5wYXJzZUxvZ2luRXJyb3JSZXNwb25zZShleHRlbmRlZEVycm9yKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR0lOX0VSUk9SLCBudWxsLCBleHRlbmRlZEVycm9yKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvYWRhYmxlRXZlbnQuRklOSVNIRUQpKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR0lOX0ZJTklTSEVEKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBsb2dpbkJ5U2lkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAoXy5pc05pbCh0aGlzLnNpZCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3NpZCA9IHRoaXMuZ2V0U2F2ZWRTaWQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBsZXQgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmxvZ2luU2lkUmVxdWVzdCgpO1xuICAgICAgICAgICAgdGhpcy5wYXJzZUxvZ2luU2lkUmVzcG9uc2UocmVzcG9uc2UpO1xuXG4gICAgICAgICAgICB0aGlzLl9pc0xvZ2dlZEluID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc3RhdHVzID0gTG9hZGFibGVTdGF0dXMuTE9BREVEO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2FkYWJsZUV2ZW50LkNPTVBMRVRFLCByZXNwb25zZSkpO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2dpbkJhc2VTZXJ2aWNlRXZlbnQuTE9HSU5fQ09NUExFVEUsIHJlc3BvbnNlKSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBsZXQgZXh0ZW5kZWRFcnJvciA9IEV4dGVuZGVkRXJyb3IuY3JlYXRlPGFueSwgbnVtYmVyPihlcnJvcik7XG4gICAgICAgICAgICB0aGlzLnBhcnNlTG9naW5TaWRFcnJvclJlc3BvbnNlKGV4dGVuZGVkRXJyb3IpO1xuXG4gICAgICAgICAgICB0aGlzLl9pc0xvZ2dlZEluID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLkVSUk9SO1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2FkYWJsZUV2ZW50LkVSUk9SLCBudWxsLCBleHRlbmRlZEVycm9yKSk7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvZ2luQmFzZVNlcnZpY2VFdmVudC5MT0dJTl9FUlJPUiwgbnVsbCwgZXh0ZW5kZWRFcnJvcikpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2FkYWJsZUV2ZW50LkZJTklTSEVEKSk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR0lOX0ZJTklTSEVEKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlc2V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zaWQgPSBudWxsO1xuICAgICAgICB0aGlzLl9sb2dpbkRhdGEgPSBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBsb2dpblJlcXVlc3QoLi4ucGFyYW1zKTogUHJvbWlzZTxVPjtcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgbG9naW5TaWRSZXF1ZXN0KCk6IFByb21pc2U8Vj47XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgbG9nb3V0UmVxdWVzdCgpOiBQcm9taXNlPHZvaWQ+O1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRTYXZlZFNpZCgpOiBzdHJpbmc7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQYXJzZSBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IHBhcnNlTG9naW5SZXNwb25zZShyZXNwb25zZTogVSk6IHZvaWQ7XG5cbiAgICBwcm90ZWN0ZWQgcGFyc2VMb2dpbkVycm9yUmVzcG9uc2UoZXJyb3I6IEV4dGVuZGVkRXJyb3IpOiB2b2lkIHt9XG5cbiAgICBwcm90ZWN0ZWQgcGFyc2VMb2dvdXRFcnJvclJlc3BvbnNlKGVycm9yOiBFeHRlbmRlZEVycm9yKTogdm9pZCB7fVxuXG4gICAgcHJvdGVjdGVkIHBhcnNlTG9naW5TaWRSZXNwb25zZShyZXNwb25zZTogVik6IHZvaWQge1xuICAgICAgICB0aGlzLl9sb2dpbkRhdGEgPSByZXNwb25zZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcGFyc2VMb2dpblNpZEVycm9yUmVzcG9uc2UoZXJyb3I6IEV4dGVuZGVkRXJyb3IpOiB2b2lkIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgVHJhbnNwb3J0VGltZW91dEVycm9yIHx8IGVycm9yIGluc3RhbmNlb2YgVHJhbnNwb3J0Tm9Db25uZWN0aW9uRXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgYWJzdHJhY3QgbG9naW4ocGFyYW06IGFueSk6IHZvaWQ7XG5cbiAgICBwdWJsaWMgYXN5bmMgbG9naW5CeVJlc3BvbnNlKHBhcmFtOiBVKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLmlzTG9nZ2VkSW4gfHwgdGhpcy5pc0xvYWRpbmcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3RhdHVzID0gTG9hZGFibGVTdGF0dXMuTE9BRElORztcbiAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2FkYWJsZUV2ZW50LlNUQVJURUQpKTtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2dpbkJhc2VTZXJ2aWNlRXZlbnQuTE9HSU5fU1RBUlRFRCkpO1xuXG4gICAgICAgIHRoaXMucGFyc2VMb2dpblJlc3BvbnNlKHBhcmFtKTtcbiAgICAgICAgdGhpcy5zdGF0dXMgPSAhdGhpcy5pc0NhbkxvZ2luV2l0aFNpZCgpID8gTG9hZGFibGVTdGF0dXMuTE9BREVEIDogTG9hZGFibGVTdGF0dXMuTE9BRElORztcbiAgICAgICAgaWYgKHRoaXMuaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmxvZ2luQnlTaWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBsb2dpbkJ5U2lkSWZDYW4oKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5pc0NhbkxvZ2luV2l0aFNpZCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc0xvZ2dlZEluIHx8IHRoaXMuaXNMb2FkaW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3RhdHVzID0gTG9hZGFibGVTdGF0dXMuTE9BRElORztcbiAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2FkYWJsZUV2ZW50LlNUQVJURUQpKTtcbiAgICAgICAgdGhpcy5vYnNlcnZlci5uZXh0KG5ldyBPYnNlcnZhYmxlRGF0YShMb2dpbkJhc2VTZXJ2aWNlRXZlbnQuTE9HSU5fU1RBUlRFRCkpO1xuICAgICAgICB0aGlzLmxvZ2luQnlTaWQoKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGxvZ291dCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKCF0aGlzLmlzTG9nZ2VkSW4pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9hZGFibGVFdmVudC5TVEFSVEVEKSk7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR09VVF9TVEFSVEVEKSk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubG9nb3V0UmVxdWVzdCgpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgbGV0IGV4dGVuZGVkRXJyb3IgPSBFeHRlbmRlZEVycm9yLmNyZWF0ZTxhbnksIG51bWJlcj4oZXJyb3IpO1xuICAgICAgICAgICAgdGhpcy5wYXJzZUxvZ291dEVycm9yUmVzcG9uc2UoZXh0ZW5kZWRFcnJvcik7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgICB0aGlzLl9pc0xvZ2dlZEluID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnN0YXR1cyA9IExvYWRhYmxlU3RhdHVzLk5PVF9MT0FERUQ7XG4gICAgICAgICAgICB0aGlzLm9ic2VydmVyLm5leHQobmV3IE9ic2VydmFibGVEYXRhKExvYWRhYmxlRXZlbnQuRklOSVNIRUQpKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChuZXcgT2JzZXJ2YWJsZURhdGEoTG9naW5CYXNlU2VydmljZUV2ZW50LkxPR09VVF9GSU5JU0hFRCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGlzQ2FuTG9naW5XaXRoU2lkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIV8uaXNOaWwodGhpcy5zaWQpIHx8ICFfLmlzTmlsKHRoaXMuZ2V0U2F2ZWRTaWQoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICBzdXBlci5kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0IGxvZ2luZWQoKTogT2JzZXJ2YWJsZTxWPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV2ZW50cy5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKGl0ZW0gPT4gaXRlbS50eXBlID09PSBMb2dpbkJhc2VTZXJ2aWNlRXZlbnQuTE9HSU5fQ09NUExFVEUpLFxuICAgICAgICAgICAgbWFwKGl0ZW0gPT4gaXRlbS5kYXRhIGFzIFYpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsb2dvdXRlZCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXZlbnRzLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoaXRlbSA9PiBpdGVtLnR5cGUgPT09IExvZ2luQmFzZVNlcnZpY2VFdmVudC5MT0dPVVRfRklOSVNIRUQpLFxuICAgICAgICAgICAgbWFwKCgpID0+IG51bGwpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzaWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGxvZ2luRGF0YSgpOiBWIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvZ2luRGF0YTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzTG9nZ2VkSW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0xvZ2dlZEluO1xuICAgIH1cbn1cblxuZXhwb3J0IGVudW0gTG9naW5CYXNlU2VydmljZUV2ZW50IHtcbiAgICBMT0dJTl9FUlJPUiA9ICdMT0dJTl9FUlJPUicsXG4gICAgTE9HSU5fU1RBUlRFRCA9ICdMT0dJTl9TVEFSVEVEJyxcbiAgICBMT0dJTl9DT01QTEVURSA9ICdMT0dJTl9DT01QTEVURScsXG4gICAgTE9HSU5fRklOSVNIRUQgPSAnTE9HSU5fRklOSVNIRUQnLFxuICAgIExPR09VVF9TVEFSVEVEID0gJ0xPR09VVF9TVEFSVEVEJyxcbiAgICBMT0dPVVRfRklOSVNIRUQgPSAnTE9HT1VUX0ZJTklTSEVEJyxcblxuICAgIFJFR0lTVFJBVElPTl9FUlJPUiA9ICdSRUdJU1RSQVRJT05fRVJST1InLFxuICAgIFJFR0lTVFJBVElPTl9TVEFSVEVEID0gJ1JFR0lTVFJBVElPTl9TVEFSVEVEJyxcbiAgICBSRUdJU1RSQVRJT05fQ09NUExFVEUgPSAnUkVHSVNUUkFUSU9OX0NPTVBMRVRFJyxcbiAgICBSRUdJU1RSQVRJT05fRklOSVNIRUQgPSAnUkVHSVNUUkFUSU9OX0ZJTklTSEVEJ1xufVxuIl19
@@ -11,8 +11,8 @@ export class LoginTokenStorage extends ValueStorage {
11
11
  // Constructor
12
12
  //
13
13
  //--------------------------------------------------------------------------
14
- constructor(localStorage, cookies) {
15
- super(LoginTokenStorage.TOKEN_KEY, localStorage, cookies);
14
+ constructor(local, cookies) {
15
+ super(LoginTokenStorage.TOKEN_KEY, local, cookies);
16
16
  }
17
17
  }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9naW5Ub2tlblN0b3JhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbG9naW4vTG9naW5Ub2tlblN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSXZELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxZQUFZO0lBQy9DLDRFQUE0RTtJQUM1RSxFQUFFO0lBQ0YsY0FBYztJQUNkLEVBQUU7SUFDRiw0RUFBNEU7SUFFckUsTUFBTSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFFaEMsNEVBQTRFO0lBQzVFLEVBQUU7SUFDRixlQUFlO0lBQ2YsRUFBRTtJQUNGLDRFQUE0RTtJQUU1RSxZQUFZLFlBQWlDLEVBQUUsT0FBc0I7UUFDakUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDOUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICcuLi9jb29raWUvQ29va2llU2VydmljZSc7XG5pbXBvcnQgeyBWYWx1ZVN0b3JhZ2UgfSBmcm9tICcuLi9zdG9yYWdlL1ZhbHVlU3RvcmFnZSc7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmFnZS9Mb2NhbFN0b3JhZ2VTZXJ2aWNlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuZXhwb3J0IGNsYXNzIExvZ2luVG9rZW5TdG9yYWdlIGV4dGVuZHMgVmFsdWVTdG9yYWdlIHtcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBzdGF0aWMgVE9LRU5fS0VZID0gJ3NpZCc7XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3Rvcihsb2NhbFN0b3JhZ2U6IExvY2FsU3RvcmFnZVNlcnZpY2UsIGNvb2tpZXM6IENvb2tpZVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoTG9naW5Ub2tlblN0b3JhZ2UuVE9LRU5fS0VZLCBsb2NhbFN0b3JhZ2UsIGNvb2tpZXMpO1xuICAgIH1cbn1cbiJdfQ==
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9naW5Ub2tlblN0b3JhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbG9naW4vTG9naW5Ub2tlblN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSXZELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxZQUFZO0lBQy9DLDRFQUE0RTtJQUM1RSxFQUFFO0lBQ0YsY0FBYztJQUNkLEVBQUU7SUFDRiw0RUFBNEU7SUFFckUsTUFBTSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFFaEMsNEVBQTRFO0lBQzVFLEVBQUU7SUFDRixlQUFlO0lBQ2YsRUFBRTtJQUNGLDRFQUE0RTtJQUU1RSxZQUFZLEtBQTBCLEVBQUUsT0FBc0I7UUFDMUQsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICcuLi9jb29raWUvQ29va2llU2VydmljZSc7XG5pbXBvcnQgeyBWYWx1ZVN0b3JhZ2UgfSBmcm9tICcuLi9zdG9yYWdlL1ZhbHVlU3RvcmFnZSc7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmFnZS9Mb2NhbFN0b3JhZ2VTZXJ2aWNlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuZXhwb3J0IGNsYXNzIExvZ2luVG9rZW5TdG9yYWdlIGV4dGVuZHMgVmFsdWVTdG9yYWdlIHtcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBzdGF0aWMgVE9LRU5fS0VZID0gJ3NpZCc7XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3Rvcihsb2NhbDogTG9jYWxTdG9yYWdlU2VydmljZSwgY29va2llczogQ29va2llU2VydmljZSkge1xuICAgICAgICBzdXBlcihMb2dpblRva2VuU3RvcmFnZS5UT0tFTl9LRVksIGxvY2FsLCBjb29raWVzKTtcbiAgICB9XG59XG4iXX0=
@@ -1,15 +1,22 @@
1
1
  import { DestroyableContainer } from '@ts-core/common';
2
2
  import * as _ from 'lodash';
3
3
  export class LocalStorageService extends DestroyableContainer {
4
- nativeWindow;
4
+ //--------------------------------------------------------------------------
5
+ //
6
+ // Properties
7
+ //
8
+ //--------------------------------------------------------------------------
9
+ storage;
10
+ isPlatformBrowser;
5
11
  //--------------------------------------------------------------------------
6
12
  //
7
13
  // Constructor
8
14
  //
9
15
  //--------------------------------------------------------------------------
10
- constructor(nativeWindow) {
16
+ constructor(storage, isPlatformBrowser) {
11
17
  super();
12
- this.nativeWindow = nativeWindow;
18
+ this.storage = storage;
19
+ this.isPlatformBrowser = isPlatformBrowser;
13
20
  }
14
21
  //--------------------------------------------------------------------------
15
22
  //
@@ -36,13 +43,6 @@ export class LocalStorageService extends DestroyableContainer {
36
43
  clear() {
37
44
  this.storage.clear();
38
45
  }
39
- destroy() {
40
- if (this.isDestroyed) {
41
- return;
42
- }
43
- super.destroy();
44
- this.nativeWindow = null;
45
- }
46
46
  //--------------------------------------------------------------------------
47
47
  //
48
48
  // Protected Properties
@@ -51,8 +51,5 @@ export class LocalStorageService extends DestroyableContainer {
51
51
  get length() {
52
52
  return this.storage.length;
53
53
  }
54
- get storage() {
55
- return this.nativeWindow.window.localStorage;
56
- }
57
54
  }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxTdG9yYWdlU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdG9yYWdlL0xvY2FsU3RvcmFnZVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdkQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG9CQUFvQjtJQU9yQztJQU5wQiw0RUFBNEU7SUFDNUUsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNEVBQTRFO0lBRTVFLFlBQW9CLFlBQWlDO1FBQ2pELEtBQUssRUFBRSxDQUFDO1FBRFEsaUJBQVksR0FBWixZQUFZLENBQXFCO0lBRXJELENBQUM7SUFFRCw0RUFBNEU7SUFDNUUsRUFBRTtJQUNGLGtCQUFrQjtJQUNsQixFQUFFO0lBQ0YsNEVBQTRFO0lBRXJFLEdBQUcsQ0FBQyxHQUFXLEVBQUUsWUFBcUI7UUFDekMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQ3BFLENBQUM7SUFFTSxHQUFHLENBQUMsR0FBVztRQUNsQixPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQWE7UUFDakMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLEdBQVc7UUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVNLEtBQUs7UUFDUixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxPQUFPO1FBQ1YsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsT0FBTztRQUNYLENBQUM7UUFDRCxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVELDRFQUE0RTtJQUM1RSxFQUFFO0lBQ0Ysd0JBQXdCO0lBQ3hCLEVBQUU7SUFDRiw0RUFBNEU7SUFFNUUsSUFBYyxNQUFNO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQWMsT0FBTztRQUNqQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUNqRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95YWJsZUNvbnRhaW5lciB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBOYXRpdmVXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnQHRzLWNvcmUvZnJvbnRlbmQnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuXG5leHBvcnQgY2xhc3MgTG9jYWxTdG9yYWdlU2VydmljZSBleHRlbmRzIERlc3Ryb3lhYmxlQ29udGFpbmVyIHtcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5hdGl2ZVdpbmRvdzogTmF0aXZlV2luZG93U2VydmljZSkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXQoa2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhcyhrZXkpID8gdGhpcy5zdG9yYWdlLmdldEl0ZW0oa2V5KSA6IGRlZmF1bHRWYWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhXy5pc05pbCh0aGlzLnN0b3JhZ2UuZ2V0SXRlbShrZXkpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICghXy5pc05pbCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKGtleSwgdmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmUoa2V5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmUoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmFnZS5jbGVhcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5uYXRpdmVXaW5kb3cgPSBudWxsO1xuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvdGVjdGVkIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBnZXQgbGVuZ3RoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JhZ2UubGVuZ3RoO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgc3RvcmFnZSgpOiBTdG9yYWdlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlV2luZG93LndpbmRvdy5sb2NhbFN0b3JhZ2U7XG4gICAgfVxufVxuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxTdG9yYWdlU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zdG9yYWdlL0xvY2FsU3RvcmFnZVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsTUFBTSxPQUFPLG1CQUFvQixTQUFRLG9CQUFvQjtJQUN6RCw0RUFBNEU7SUFDNUUsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNEVBQTRFO0lBRWxFLE9BQU8sQ0FBVTtJQUNqQixpQkFBaUIsQ0FBVTtJQUVyQyw0RUFBNEU7SUFDNUUsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNEVBQTRFO0lBRTVFLFlBQVksT0FBZ0IsRUFBRSxpQkFBMEI7UUFDcEQsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7SUFDL0MsQ0FBQztJQUVELDRFQUE0RTtJQUM1RSxFQUFFO0lBQ0Ysa0JBQWtCO0lBQ2xCLEVBQUU7SUFDRiw0RUFBNEU7SUFFckUsR0FBRyxDQUFDLEdBQVcsRUFBRSxZQUFxQjtRQUN6QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7SUFDcEUsQ0FBQztJQUVNLEdBQUcsQ0FBQyxHQUFXO1FBQ2xCLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBYTtRQUNqQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckIsQ0FBQztJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsR0FBVztRQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sS0FBSztRQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELDRFQUE0RTtJQUM1RSxFQUFFO0lBQ0Ysd0JBQXdCO0lBQ3hCLEVBQUU7SUFDRiw0RUFBNEU7SUFFNUUsSUFBYyxNQUFNO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveWFibGVDb250YWluZXIgfSBmcm9tICdAdHMtY29yZS9jb21tb24nO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuXG5leHBvcnQgY2xhc3MgTG9jYWxTdG9yYWdlU2VydmljZSBleHRlbmRzIERlc3Ryb3lhYmxlQ29udGFpbmVyIHtcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBzdG9yYWdlOiBTdG9yYWdlO1xuICAgIHByb3RlY3RlZCBpc1BsYXRmb3JtQnJvd3NlcjogYm9vbGVhbjtcblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0Q29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKHN0b3JhZ2U6IFN0b3JhZ2UsIGlzUGxhdGZvcm1Ccm93c2VyOiBib29sZWFuKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuc3RvcmFnZSA9IHN0b3JhZ2U7XG4gICAgICAgIHRoaXMuaXNQbGF0Zm9ybUJyb3dzZXIgPSBpc1BsYXRmb3JtQnJvd3NlcjtcbiAgICB9XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0KGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXMoa2V5KSA/IHRoaXMuc3RvcmFnZS5nZXRJdGVtKGtleSkgOiBkZWZhdWx0VmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGhhcyhrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIV8uaXNOaWwodGhpcy5zdG9yYWdlLmdldEl0ZW0oa2V5KSk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoIV8uaXNOaWwodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlKGtleSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlKGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JhZ2UuY2xlYXIoKTtcbiAgICB9XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFByb3RlY3RlZCBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGxlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yYWdlLmxlbmd0aDtcbiAgICB9XG59XG4iXX0=
@@ -37,6 +37,9 @@ export class ValueStorage extends DestroyableContainer {
37
37
  //
38
38
  //--------------------------------------------------------------------------
39
39
  get(defaultValue) {
40
+ if (this.isDestroyed) {
41
+ return null;
42
+ }
40
43
  let item = null;
41
44
  if (this.storage.has(this.name)) {
42
45
  item = this.storage.get(this.name);
@@ -47,9 +50,15 @@ export class ValueStorage extends DestroyableContainer {
47
50
  return !_.isNil(item) ? this.serialize(item) : defaultValue;
48
51
  }
49
52
  has() {
53
+ if (this.isDestroyed) {
54
+ return false;
55
+ }
50
56
  return this.storage.has(this.name) || this.cookies.has(this.name);
51
57
  }
52
58
  set(value) {
59
+ if (this.isDestroyed) {
60
+ return null;
61
+ }
53
62
  let item = !_.isNil(value) ? this.deserialize(value) : null;
54
63
  this.cookies.put(this.name, item);
55
64
  this.storage.set(this.name, item);
@@ -72,4 +81,4 @@ export class ValueStorage extends DestroyableContainer {
72
81
  return this._name;
73
82
  }
74
83
  }
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFsdWVTdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0b3JhZ2UvVmFsdWVTdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSXZELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE1BQU0sT0FBTyxZQUF5QixTQUFRLG9CQUFvQjtJQWUxQjtJQUF3QztJQWQ1RSw0RUFBNEU7SUFDNUUsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNEVBQTRFO0lBRWxFLEtBQUssQ0FBUztJQUV4Qiw0RUFBNEU7SUFDNUUsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNEVBQTRFO0lBRTVFLFlBQVksSUFBWSxFQUFZLE9BQTRCLEVBQVksT0FBc0I7UUFDOUYsS0FBSyxFQUFFLENBQUM7UUFEd0IsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFBWSxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBRTlGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFRCw0RUFBNEU7SUFDNUUsRUFBRTtJQUNGLHFCQUFxQjtJQUNyQixFQUFFO0lBQ0YsNEVBQTRFO0lBRWxFLFNBQVMsQ0FBQyxLQUFhO1FBQzdCLE9BQU8sS0FBVSxDQUFDO0lBQ3RCLENBQUM7SUFFUyxXQUFXLENBQUMsS0FBUTtRQUMxQixPQUFPLEtBQWUsQ0FBQztJQUMzQixDQUFDO0lBRUQsNEVBQTRFO0lBQzVFLEVBQUU7SUFDRixrQkFBa0I7SUFDbEIsRUFBRTtJQUNGLDRFQUE0RTtJQUVyRSxHQUFHLENBQUMsWUFBZ0I7UUFDdkIsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDOUIsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNyQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0lBQ2hFLENBQUM7SUFFTSxHQUFHO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFTSxHQUFHLENBQUMsS0FBUTtRQUNmLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzVELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsQyxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU0sT0FBTztRQUNWLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLE9BQU87UUFDWCxDQUFDO1FBQ0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFFRCw0RUFBNEU7SUFDNUUsRUFBRTtJQUNGLHFCQUFxQjtJQUNyQixFQUFFO0lBQ0YsNEVBQTRFO0lBRTVFLElBQVcsSUFBSTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95YWJsZUNvbnRhaW5lciB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi4vY29va2llL0Nvb2tpZVNlcnZpY2UnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3N0b3JhZ2UvTG9jYWxTdG9yYWdlU2VydmljZSc7XG5pbXBvcnQgeyBJVmFsdWVTdG9yYWdlIH0gZnJvbSAnLi9JVmFsdWVTdG9yYWdlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuZXhwb3J0IGNsYXNzIFZhbHVlU3RvcmFnZTxUID0gc3RyaW5nPiBleHRlbmRzIERlc3Ryb3lhYmxlQ29udGFpbmVyIGltcGxlbWVudHMgSVZhbHVlU3RvcmFnZTxUPiB7XG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgX25hbWU6IHN0cmluZztcblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0Q29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZywgcHJvdGVjdGVkIHN0b3JhZ2U6IExvY2FsU3RvcmFnZVNlcnZpY2UsIHByb3RlY3RlZCBjb29raWVzOiBDb29raWVTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuX25hbWUgPSBuYW1lO1xuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvdGVjdGVkIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBzZXJpYWxpemUodmFsdWU6IHN0cmluZyk6IFQge1xuICAgICAgICByZXR1cm4gdmFsdWUgYXMgVDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZGVzZXJpYWxpemUodmFsdWU6IFQpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdmFsdWUgYXMgc3RyaW5nO1xuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXQoZGVmYXVsdFZhbHVlPzogVCk6IFQge1xuICAgICAgICBsZXQgaXRlbSA9IG51bGw7XG4gICAgICAgIGlmICh0aGlzLnN0b3JhZ2UuaGFzKHRoaXMubmFtZSkpIHtcbiAgICAgICAgICAgIGl0ZW0gPSB0aGlzLnN0b3JhZ2UuZ2V0KHRoaXMubmFtZSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jb29raWVzLmhhcyh0aGlzLm5hbWUpKSB7XG4gICAgICAgICAgICBpdGVtID0gdGhpcy5jb29raWVzLmdldCh0aGlzLm5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAhXy5pc05pbChpdGVtKSA/IHRoaXMuc2VyaWFsaXplKGl0ZW0pIDogZGVmYXVsdFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JhZ2UuaGFzKHRoaXMubmFtZSkgfHwgdGhpcy5jb29raWVzLmhhcyh0aGlzLm5hbWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQodmFsdWU6IFQpOiBUIHtcbiAgICAgICAgbGV0IGl0ZW0gPSAhXy5pc05pbCh2YWx1ZSkgPyB0aGlzLmRlc2VyaWFsaXplKHZhbHVlKSA6IG51bGw7XG4gICAgICAgIHRoaXMuY29va2llcy5wdXQodGhpcy5uYW1lLCBpdGVtKTtcbiAgICAgICAgdGhpcy5zdG9yYWdlLnNldCh0aGlzLm5hbWUsIGl0ZW0pO1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmNvb2tpZXMgPSBudWxsO1xuICAgICAgICB0aGlzLnN0b3JhZ2UgPSBudWxsO1xuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIFByb3BlcnRpZXNcbiAgICAvL1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbmFtZTtcbiAgICB9XG59XG4iXX0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFsdWVTdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3N0b3JhZ2UvVmFsdWVTdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSXZELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE1BQU0sT0FBTyxZQUF5QixTQUFRLG9CQUFvQjtJQWUxQjtJQUF3QztJQWQ1RSw0RUFBNEU7SUFDNUUsRUFBRTtJQUNGLGNBQWM7SUFDZCxFQUFFO0lBQ0YsNEVBQTRFO0lBRWxFLEtBQUssQ0FBUztJQUV4Qiw0RUFBNEU7SUFDNUUsRUFBRTtJQUNGLGVBQWU7SUFDZixFQUFFO0lBQ0YsNEVBQTRFO0lBRTVFLFlBQVksSUFBWSxFQUFZLE9BQTRCLEVBQVksT0FBc0I7UUFDOUYsS0FBSyxFQUFFLENBQUM7UUFEd0IsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUFBWSxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBRTlGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFRCw0RUFBNEU7SUFDNUUsRUFBRTtJQUNGLHFCQUFxQjtJQUNyQixFQUFFO0lBQ0YsNEVBQTRFO0lBRWxFLFNBQVMsQ0FBQyxLQUFhO1FBQzdCLE9BQU8sS0FBVSxDQUFDO0lBQ3RCLENBQUM7SUFFUyxXQUFXLENBQUMsS0FBUTtRQUMxQixPQUFPLEtBQWUsQ0FBQztJQUMzQixDQUFDO0lBRUQsNEVBQTRFO0lBQzVFLEVBQUU7SUFDRixrQkFBa0I7SUFDbEIsRUFBRTtJQUNGLDRFQUE0RTtJQUVyRSxHQUFHLENBQUMsWUFBZ0I7UUFDdkIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUNELElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztRQUNoQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzlCLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDckMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUNoRSxDQUFDO0lBRU0sR0FBRztRQUNOLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVNLEdBQUcsQ0FBQyxLQUFRO1FBQ2YsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUNELElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzVELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsQyxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU0sT0FBTztRQUNWLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLE9BQU87UUFDWCxDQUFDO1FBQ0QsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFFRCw0RUFBNEU7SUFDNUUsRUFBRTtJQUNGLHFCQUFxQjtJQUNyQixFQUFFO0lBQ0YsNEVBQTRFO0lBRTVFLElBQVcsSUFBSTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95YWJsZUNvbnRhaW5lciB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi4vY29va2llL0Nvb2tpZVNlcnZpY2UnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3N0b3JhZ2UvTG9jYWxTdG9yYWdlU2VydmljZSc7XG5pbXBvcnQgeyBJVmFsdWVTdG9yYWdlIH0gZnJvbSAnLi9JVmFsdWVTdG9yYWdlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuZXhwb3J0IGNsYXNzIFZhbHVlU3RvcmFnZTxUID0gc3RyaW5nPiBleHRlbmRzIERlc3Ryb3lhYmxlQ29udGFpbmVyIGltcGxlbWVudHMgSVZhbHVlU3RvcmFnZTxUPiB7XG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gXHRQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgX25hbWU6IHN0cmluZztcblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0Q29uc3RydWN0b3JcbiAgICAvL1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGNvbnN0cnVjdG9yKG5hbWU6IHN0cmluZywgcHJvdGVjdGVkIHN0b3JhZ2U6IExvY2FsU3RvcmFnZVNlcnZpY2UsIHByb3RlY3RlZCBjb29raWVzOiBDb29raWVTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuX25hbWUgPSBuYW1lO1xuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHJvdGVjdGVkIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBzZXJpYWxpemUodmFsdWU6IHN0cmluZyk6IFQge1xuICAgICAgICByZXR1cm4gdmFsdWUgYXMgVDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZGVzZXJpYWxpemUodmFsdWU6IFQpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdmFsdWUgYXMgc3RyaW5nO1xuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0UHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXQoZGVmYXVsdFZhbHVlPzogVCk6IFQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGl0ZW0gPSBudWxsO1xuICAgICAgICBpZiAodGhpcy5zdG9yYWdlLmhhcyh0aGlzLm5hbWUpKSB7XG4gICAgICAgICAgICBpdGVtID0gdGhpcy5zdG9yYWdlLmdldCh0aGlzLm5hbWUpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY29va2llcy5oYXModGhpcy5uYW1lKSkge1xuICAgICAgICAgICAgaXRlbSA9IHRoaXMuY29va2llcy5nZXQodGhpcy5uYW1lKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gIV8uaXNOaWwoaXRlbSkgPyB0aGlzLnNlcmlhbGl6ZShpdGVtKSA6IGRlZmF1bHRWYWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JhZ2UuaGFzKHRoaXMubmFtZSkgfHwgdGhpcy5jb29raWVzLmhhcyh0aGlzLm5hbWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQodmFsdWU6IFQpOiBUIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGxldCBpdGVtID0gIV8uaXNOaWwodmFsdWUpID8gdGhpcy5kZXNlcmlhbGl6ZSh2YWx1ZSkgOiBudWxsO1xuICAgICAgICB0aGlzLmNvb2tpZXMucHV0KHRoaXMubmFtZSwgaXRlbSk7XG4gICAgICAgIHRoaXMuc3RvcmFnZS5zZXQodGhpcy5uYW1lLCBpdGVtKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5jb29raWVzID0gbnVsbDtcbiAgICAgICAgdGhpcy5zdG9yYWdlID0gbnVsbDtcbiAgICB9XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hbWU7XG4gICAgfVxufVxuIl19
@@ -3,11 +3,11 @@ import { Component, ViewContainerRef, booleanAttribute, Directive, Input, Pipe,
3
3
  import { DestroyableContainer, PromiseHandler, LoadableEvent, ExtendedError, Destroyable, DateUtil, Loadable, LoadableStatus, ObservableData, TransportTimeoutError, TransportNoConnectionError, ArrayUtil, FilterableMapCollection, RemoveFilterableCondition, GetFilterableCondition, IDestroyable, MapCollection, TransportEvent, TransportLocal, Logger, LoggerLevel } from '@ts-core/common';
4
4
  import * as _ from 'lodash';
5
5
  import * as i1 from '@ts-core/frontend';
6
- import { Assets, AssetUrlProvider, LanguageService, ThemeService, NativeWindowService, ThemeAssetService, LoadingService, ICookieOptions, DefaultLogger } from '@ts-core/frontend';
6
+ import { Assets, AssetUrlProvider, NativeWindowService, LanguageService, ThemeService, ThemeAssetService, LoadingService, ICookieOptions, DefaultLogger } from '@ts-core/frontend';
7
7
  import { takeUntil, BehaviorSubject, distinctUntilChanged, debounceTime, fromEvent, filter, map, Subject } from 'rxjs';
8
8
  import moment from 'moment';
9
9
  import numeral from 'numeral';
10
- import { CommonModule, isPlatformServer, isPlatformBrowser, DOCUMENT, DatePipe } from '@angular/common';
10
+ import { CommonModule, isPlatformServer, isPlatformBrowser, DatePipe, DOCUMENT } from '@angular/common';
11
11
  import * as Cookie from 'ngx-cookie';
12
12
  import * as interact from 'interactjs';
13
13
  import * as i1$1 from '@angular/router';
@@ -1215,7 +1215,7 @@ class CookieModule {
1215
1215
  },
1216
1216
  {
1217
1217
  provide: CookieService,
1218
- deps: [DOCUMENT, COOKIE_OPTIONS, PlatformService],
1218
+ deps: [NativeWindowService, COOKIE_OPTIONS, PlatformService],
1219
1219
  useFactory: cookieServiceFactory
1220
1220
  }
1221
1221
  ]
@@ -1228,7 +1228,7 @@ class CookieModule {
1228
1228
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: CookieModule, decorators: [{
1229
1229
  type: NgModule
1230
1230
  }] });
1231
- function cookieServiceFactory(document, options, platform) {
1231
+ function cookieServiceFactory(nativeWindow, options, platform) {
1232
1232
  options = _.assign({
1233
1233
  path: '/',
1234
1234
  domain: null,
@@ -1236,7 +1236,7 @@ function cookieServiceFactory(document, options, platform) {
1236
1236
  secure: false,
1237
1237
  httpOnly: false
1238
1238
  }, options);
1239
- return new CookieService(document, options, platform.isPlatformBrowser);
1239
+ return new CookieService(nativeWindow.document, options, platform.isPlatformBrowser);
1240
1240
  }
1241
1241
  const COOKIE_OPTIONS = new InjectionToken(`COOKIE_OPTIONS`);
1242
1242
 
@@ -3086,8 +3086,8 @@ class LoginBaseService extends Loadable {
3086
3086
  if (this.isDestroyed) {
3087
3087
  return;
3088
3088
  }
3089
- super.destroy();
3090
3089
  this.reset();
3090
+ super.destroy();
3091
3091
  }
3092
3092
  // --------------------------------------------------------------------------
3093
3093
  //
@@ -3340,6 +3340,9 @@ class ValueStorage extends DestroyableContainer {
3340
3340
  //
3341
3341
  //--------------------------------------------------------------------------
3342
3342
  get(defaultValue) {
3343
+ if (this.isDestroyed) {
3344
+ return null;
3345
+ }
3343
3346
  let item = null;
3344
3347
  if (this.storage.has(this.name)) {
3345
3348
  item = this.storage.get(this.name);
@@ -3350,9 +3353,15 @@ class ValueStorage extends DestroyableContainer {
3350
3353
  return !_.isNil(item) ? this.serialize(item) : defaultValue;
3351
3354
  }
3352
3355
  has() {
3356
+ if (this.isDestroyed) {
3357
+ return false;
3358
+ }
3353
3359
  return this.storage.has(this.name) || this.cookies.has(this.name);
3354
3360
  }
3355
3361
  set(value) {
3362
+ if (this.isDestroyed) {
3363
+ return null;
3364
+ }
3356
3365
  let item = !_.isNil(value) ? this.deserialize(value) : null;
3357
3366
  this.cookies.put(this.name, item);
3358
3367
  this.storage.set(this.name, item);
@@ -3388,8 +3397,8 @@ class LoginTokenStorage extends ValueStorage {
3388
3397
  // Constructor
3389
3398
  //
3390
3399
  //--------------------------------------------------------------------------
3391
- constructor(localStorage, cookies) {
3392
- super(LoginTokenStorage.TOKEN_KEY, localStorage, cookies);
3400
+ constructor(local, cookies) {
3401
+ super(LoginTokenStorage.TOKEN_KEY, local, cookies);
3393
3402
  }
3394
3403
  }
3395
3404
 
@@ -6641,15 +6650,22 @@ class BottomSheetService extends Destroyable {
6641
6650
  }
6642
6651
 
6643
6652
  class LocalStorageService extends DestroyableContainer {
6644
- nativeWindow;
6653
+ //--------------------------------------------------------------------------
6654
+ //
6655
+ // Properties
6656
+ //
6657
+ //--------------------------------------------------------------------------
6658
+ storage;
6659
+ isPlatformBrowser;
6645
6660
  //--------------------------------------------------------------------------
6646
6661
  //
6647
6662
  // Constructor
6648
6663
  //
6649
6664
  //--------------------------------------------------------------------------
6650
- constructor(nativeWindow) {
6665
+ constructor(storage, isPlatformBrowser) {
6651
6666
  super();
6652
- this.nativeWindow = nativeWindow;
6667
+ this.storage = storage;
6668
+ this.isPlatformBrowser = isPlatformBrowser;
6653
6669
  }
6654
6670
  //--------------------------------------------------------------------------
6655
6671
  //
@@ -6676,13 +6692,6 @@ class LocalStorageService extends DestroyableContainer {
6676
6692
  clear() {
6677
6693
  this.storage.clear();
6678
6694
  }
6679
- destroy() {
6680
- if (this.isDestroyed) {
6681
- return;
6682
- }
6683
- super.destroy();
6684
- this.nativeWindow = null;
6685
- }
6686
6695
  //--------------------------------------------------------------------------
6687
6696
  //
6688
6697
  // Protected Properties
@@ -6691,9 +6700,6 @@ class LocalStorageService extends DestroyableContainer {
6691
6700
  get length() {
6692
6701
  return this.storage.length;
6693
6702
  }
6694
- get storage() {
6695
- return this.nativeWindow.window.localStorage;
6696
- }
6697
6703
  }
6698
6704
 
6699
6705
  class DateValueStorage extends ValueStorage {
@@ -7031,7 +7037,7 @@ class VIModule {
7031
7037
  { provide: VI_ANGULAR_OPTIONS, useValue: options || {} },
7032
7038
  { provide: Logger, deps: [VI_ANGULAR_OPTIONS], useFactory: loggerServiceFactory },
7033
7039
  { provide: NativeWindowService, deps: [DOCUMENT], useFactory: nativeWindowServiceFactory },
7034
- { provide: LocalStorageService, deps: [NativeWindowService], useFactory: localStorageServiceFactory },
7040
+ { provide: LocalStorageService, deps: [NativeWindowService, PlatformService], useFactory: localStorageServiceFactory },
7035
7041
  { provide: LoginTokenStorage, deps: [LocalStorageService, CookieService], useFactory: loginTokenStorageServiceFactory },
7036
7042
  ...CookieModule.forRoot(options).providers,
7037
7043
  ...ThemeModule.forRoot(options ? options.themeOptions : null).providers,
@@ -7117,11 +7123,11 @@ function loggerServiceFactory(options) {
7117
7123
  function nativeWindowServiceFactory(document) {
7118
7124
  return new NativeWindowService(document);
7119
7125
  }
7120
- function localStorageServiceFactory(nativeWindow) {
7121
- return new LocalStorageService(nativeWindow);
7126
+ function localStorageServiceFactory(nativeWindow, platform) {
7127
+ return new LocalStorageService(nativeWindow.window.localStorage, platform.isPlatformBrowser);
7122
7128
  }
7123
- function loginTokenStorageServiceFactory(storage, cookies) {
7124
- return new LoginTokenStorage(storage, cookies);
7129
+ function loginTokenStorageServiceFactory(local, cookies) {
7130
+ return new LoginTokenStorage(local, cookies);
7125
7131
  }
7126
7132
  const VI_ANGULAR_OPTIONS = new InjectionToken(`VI_ANGULAR_OPTIONS`);
7127
7133