@ts-core/angular 15.0.3 → 15.0.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ts-core/angular",
3
- "version": "15.0.3",
3
+ "version": "15.0.4",
4
4
  "description": "Modules for frontend based on angular",
5
5
  "main": "public-api.js",
6
6
  "author": {
package/public-api.d.ts CHANGED
@@ -90,4 +90,4 @@ export * from './transport/TransportLazy';
90
90
  export * from './transport/TransportLazyModule';
91
91
  export * from './transport/TransportLazyModuleLoadedEvent';
92
92
  export * from './util/ViewUtil';
93
- export * from './VICommonModule';
93
+ export * from './VIModule';
@@ -1,175 +0,0 @@
1
- import { APP_INITIALIZER, InjectionToken, NgModule, RendererFactory2 } from '@angular/core';
2
- import { Logger, LoggerLevel } from '@ts-core/common';
3
- import { ICookieOptions } from '@ts-core/frontend';
4
- import { DefaultLogger } from '@ts-core/frontend';
5
- import { LoadingService, NativeWindowService } from '@ts-core/frontend';
6
- import * as _ from 'lodash';
7
- import { AssetModule } from './asset/AssetModule';
8
- import { CookieModule } from './cookie/CookieModule';
9
- import { CanDeactivateGuard } from './service/route/CanDeactivateGuard';
10
- import { AspectRatioResizeDirective } from './directive/AspectRatioResizeDirective';
11
- import { AutoScrollBottomDirective } from './directive/AutoScrollBottomDirective';
12
- import { ClickToCopyDirective } from './directive/ClickToCopyDirective';
13
- import { ClickToSelectDirective } from './directive/ClickToSelectDirective';
14
- import { FocusDirective } from './directive/FocusDirective';
15
- import { SelectOnFocusDirective } from './directive/SelectOnFocusDirective';
16
- import { HTMLTitleDirective } from './directive/HTMLTitleDirective';
17
- import { HTMLContentTitleDirective } from './directive/HTMLContentTitleDirective';
18
- import { InfiniteScrollDirective } from './directive/InfiniteScrollDirective';
19
- import { ResizeDirective } from './directive/ResizeDirective';
20
- import { ScrollCheckDirective } from './directive/ScrollCheckDirective';
21
- import { ScrollDirective } from './directive/ScrollDirective';
22
- import { LanguageModule } from './language/LanguageModule';
23
- import { CamelCasePipe } from './pipe/CamelCasePipe';
24
- import { FinancePipe } from './pipe/FinancePipe';
25
- import { MomentDateAdaptivePipe } from './pipe/MomentDateAdaptivePipe';
26
- import { MomentDateFromNowPipe } from './pipe/MomentDateFromNowPipe';
27
- import { MomentDatePipe } from './pipe/MomentDatePipe';
28
- import { MomentTimePipe } from './pipe/MomentTimePipe';
29
- import { NgModelErrorPipe } from './pipe/NgModelErrorPipe';
30
- import { SanitizePipe } from './pipe/SanitizePipe';
31
- import { StartCasePipe } from './pipe/StartCasePipe';
32
- import { TimePipe } from './pipe/TimePipe';
33
- import { TruncatePipe } from './pipe/TruncatePipe';
34
- import { PrettifyPipe } from './pipe/PrettifyPipe';
35
- import { ThemeModule } from './theme/ThemeModule';
36
- import { IsServerDirective } from './directive/IsServerDirective';
37
- import { IsBrowserDirective } from './directive/IsBrowserDirective';
38
- import { DOCUMENT } from '@angular/common';
39
- import { PlatformService } from './service/PlatformService';
40
- import { ViewUtil } from './util/ViewUtil';
41
- import * as i0 from "@angular/core";
42
- const IMPORTS = [CookieModule, ThemeModule, LanguageModule, AssetModule];
43
- const DECLARATIONS = [
44
- TimePipe,
45
- FinancePipe,
46
- SanitizePipe,
47
- TruncatePipe,
48
- PrettifyPipe,
49
- CamelCasePipe,
50
- StartCasePipe,
51
- NgModelErrorPipe,
52
- IsServerDirective,
53
- IsBrowserDirective,
54
- MomentDatePipe,
55
- MomentTimePipe,
56
- MomentDateFromNowPipe,
57
- MomentDateAdaptivePipe,
58
- FocusDirective,
59
- ResizeDirective,
60
- ScrollDirective,
61
- ScrollCheckDirective,
62
- ClickToCopyDirective,
63
- SelectOnFocusDirective,
64
- ClickToSelectDirective,
65
- InfiniteScrollDirective,
66
- HTMLTitleDirective,
67
- HTMLContentTitleDirective,
68
- AutoScrollBottomDirective,
69
- AspectRatioResizeDirective
70
- ];
71
- export class VICommonModule {
72
- // --------------------------------------------------------------------------
73
- //
74
- // Static Methods
75
- //
76
- // --------------------------------------------------------------------------
77
- static forRoot(options) {
78
- return {
79
- ngModule: VICommonModule,
80
- providers: [
81
- {
82
- provide: APP_INITIALIZER,
83
- deps: [NativeWindowService, RendererFactory2],
84
- useFactory: initializerFactory,
85
- multi: true
86
- },
87
- LoadingService,
88
- PlatformService,
89
- CanDeactivateGuard,
90
- { provide: VI_ANGULAR_OPTIONS, useValue: options || {} },
91
- { provide: Logger, deps: [VI_ANGULAR_OPTIONS], useFactory: loggerServiceFactory },
92
- { provide: NativeWindowService, deps: [DOCUMENT], useFactory: nativeWindowServiceFactory },
93
- ...CookieModule.forRoot(options).providers,
94
- ...ThemeModule.forRoot(options ? options.themeOptions : null).providers,
95
- ...LanguageModule.forRoot(options ? options.languageOptions : null).providers
96
- ]
97
- };
98
- }
99
- }
100
- VICommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: VICommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
101
- VICommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: VICommonModule, declarations: [TimePipe,
102
- FinancePipe,
103
- SanitizePipe,
104
- TruncatePipe,
105
- PrettifyPipe,
106
- CamelCasePipe,
107
- StartCasePipe,
108
- NgModelErrorPipe,
109
- IsServerDirective,
110
- IsBrowserDirective,
111
- MomentDatePipe,
112
- MomentTimePipe,
113
- MomentDateFromNowPipe,
114
- MomentDateAdaptivePipe,
115
- FocusDirective,
116
- ResizeDirective,
117
- ScrollDirective,
118
- ScrollCheckDirective,
119
- ClickToCopyDirective,
120
- SelectOnFocusDirective,
121
- ClickToSelectDirective,
122
- InfiniteScrollDirective,
123
- HTMLTitleDirective,
124
- HTMLContentTitleDirective,
125
- AutoScrollBottomDirective,
126
- AspectRatioResizeDirective], imports: [CookieModule, ThemeModule, LanguageModule, AssetModule], exports: [CookieModule, ThemeModule, LanguageModule, AssetModule, TimePipe,
127
- FinancePipe,
128
- SanitizePipe,
129
- TruncatePipe,
130
- PrettifyPipe,
131
- CamelCasePipe,
132
- StartCasePipe,
133
- NgModelErrorPipe,
134
- IsServerDirective,
135
- IsBrowserDirective,
136
- MomentDatePipe,
137
- MomentTimePipe,
138
- MomentDateFromNowPipe,
139
- MomentDateAdaptivePipe,
140
- FocusDirective,
141
- ResizeDirective,
142
- ScrollDirective,
143
- ScrollCheckDirective,
144
- ClickToCopyDirective,
145
- SelectOnFocusDirective,
146
- ClickToSelectDirective,
147
- InfiniteScrollDirective,
148
- HTMLTitleDirective,
149
- HTMLContentTitleDirective,
150
- AutoScrollBottomDirective,
151
- AspectRatioResizeDirective] });
152
- VICommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: VICommonModule, imports: [IMPORTS, CookieModule, ThemeModule, LanguageModule, AssetModule] });
153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: VICommonModule, decorators: [{
154
- type: NgModule,
155
- args: [{
156
- imports: IMPORTS,
157
- declarations: DECLARATIONS,
158
- exports: [...IMPORTS, ...DECLARATIONS]
159
- }]
160
- }] });
161
- export class IVICommonOptions extends ICookieOptions {
162
- }
163
- export function initializerFactory(nativeWindow, rendererFactory2) {
164
- ViewUtil.renderer = rendererFactory2.createRenderer(null, null);
165
- ViewUtil.document = nativeWindow.document;
166
- return () => Promise.resolve();
167
- }
168
- export function loggerServiceFactory(options) {
169
- return new DefaultLogger(!_.isNil(options.loggerLevel) ? options.loggerLevel : LoggerLevel.LOG);
170
- }
171
- export function nativeWindowServiceFactory(document) {
172
- return new NativeWindowService(document);
173
- }
174
- export const VI_ANGULAR_OPTIONS = new InjectionToken(`VI_ANGULAR_OPTIONS`);
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVklDb21tb25Nb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvVklDb21tb25Nb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQXVCLFFBQVEsRUFBYSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SCxPQUFPLEVBQVcsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXhFLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDbEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFN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LENBQUM7QUFDcEcsQ0FBQztBQUNELE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxRQUFrQjtJQUN6RCxPQUFPLElBQUksbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFtQixvQkFBb0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBJbmplY3Rpb25Ub2tlbiwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIFJlbmRlcmVyMiwgUmVuZGVyZXJGYWN0b3J5MiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUxvZ2dlciwgTG9nZ2VyLCBMb2dnZXJMZXZlbCB9IGZyb20gJ0B0cy1jb3JlL2NvbW1vbic7XG5pbXBvcnQgeyBJQ29va2llT3B0aW9ucyB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kJztcbmltcG9ydCB7IElMYW5ndWFnZVNlcnZpY2VPcHRpb25zIH0gZnJvbSAnQHRzLWNvcmUvZnJvbnRlbmQnO1xuaW1wb3J0IHsgRGVmYXVsdExvZ2dlciB9IGZyb20gJ0B0cy1jb3JlL2Zyb250ZW5kJztcbmltcG9ydCB7IExvYWRpbmdTZXJ2aWNlLCBOYXRpdmVXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnQHRzLWNvcmUvZnJvbnRlbmQnO1xuaW1wb3J0IHsgSVRoZW1lU2VydmljZU9wdGlvbnMgfSBmcm9tICdAdHMtY29yZS9mcm9udGVuZCc7XG5pbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBBc3NldE1vZHVsZSB9IGZyb20gJy4vYXNzZXQvQXNzZXRNb2R1bGUnO1xuaW1wb3J0IHsgQ29va2llTW9kdWxlIH0gZnJvbSAnLi9jb29raWUvQ29va2llTW9kdWxlJztcbmltcG9ydCB7IENhbkRlYWN0aXZhdGVHdWFyZCB9IGZyb20gJy4vc2VydmljZS9yb3V0ZS9DYW5EZWFjdGl2YXRlR3VhcmQnO1xuaW1wb3J0IHsgQXNwZWN0UmF0aW9SZXNpemVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS9Bc3BlY3RSYXRpb1Jlc2l6ZURpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBdXRvU2Nyb2xsQm90dG9tRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvQXV0b1Njcm9sbEJvdHRvbURpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDbGlja1RvQ29weURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlL0NsaWNrVG9Db3B5RGlyZWN0aXZlJztcbmltcG9ydCB7IENsaWNrVG9TZWxlY3REaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS9DbGlja1RvU2VsZWN0RGlyZWN0aXZlJztcbmltcG9ydCB7IEZvY3VzRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvRm9jdXNEaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2VsZWN0T25Gb2N1c0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlL1NlbGVjdE9uRm9jdXNEaXJlY3RpdmUnO1xuaW1wb3J0IHsgSFRNTFRpdGxlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvSFRNTFRpdGxlRGlyZWN0aXZlJztcbmltcG9ydCB7IEhUTUxDb250ZW50VGl0bGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS9IVE1MQ29udGVudFRpdGxlRGlyZWN0aXZlJztcbmltcG9ydCB7IEluZmluaXRlU2Nyb2xsRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvSW5maW5pdGVTY3JvbGxEaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmVzaXplRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvUmVzaXplRGlyZWN0aXZlJztcbmltcG9ydCB7IFNjcm9sbENoZWNrRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvU2Nyb2xsQ2hlY2tEaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2Nyb2xsRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmUvU2Nyb2xsRGlyZWN0aXZlJztcbmltcG9ydCB7IExhbmd1YWdlTW9kdWxlIH0gZnJvbSAnLi9sYW5ndWFnZS9MYW5ndWFnZU1vZHVsZSc7XG5pbXBvcnQgeyBDYW1lbENhc2VQaXBlIH0gZnJvbSAnLi9waXBlL0NhbWVsQ2FzZVBpcGUnO1xuaW1wb3J0IHsgRmluYW5jZVBpcGUgfSBmcm9tICcuL3BpcGUvRmluYW5jZVBpcGUnO1xuaW1wb3J0IHsgTW9tZW50RGF0ZUFkYXB0aXZlUGlwZSB9IGZyb20gJy4vcGlwZS9Nb21lbnREYXRlQWRhcHRpdmVQaXBlJztcbmltcG9ydCB7IE1vbWVudERhdGVGcm9tTm93UGlwZSB9IGZyb20gJy4vcGlwZS9Nb21lbnREYXRlRnJvbU5vd1BpcGUnO1xuaW1wb3J0IHsgTW9tZW50RGF0ZVBpcGUgfSBmcm9tICcuL3BpcGUvTW9tZW50RGF0ZVBpcGUnO1xuaW1wb3J0IHsgTW9tZW50VGltZVBpcGUgfSBmcm9tICcuL3BpcGUvTW9tZW50VGltZVBpcGUnO1xuaW1wb3J0IHsgTmdNb2RlbEVycm9yUGlwZSB9IGZyb20gJy4vcGlwZS9OZ01vZGVsRXJyb3JQaXBlJztcbmltcG9ydCB7IFNhbml0aXplUGlwZSB9IGZyb20gJy4vcGlwZS9TYW5pdGl6ZVBpcGUnO1xuaW1wb3J0IHsgU3RhcnRDYXNlUGlwZSB9IGZyb20gJy4vcGlwZS9TdGFydENhc2VQaXBlJztcbmltcG9ydCB7IFRpbWVQaXBlIH0gZnJvbSAnLi9waXBlL1RpbWVQaXBlJztcbmltcG9ydCB7IFRydW5jYXRlUGlwZSB9IGZyb20gJy4vcGlwZS9UcnVuY2F0ZVBpcGUnO1xuaW1wb3J0IHsgUHJldHRpZnlQaXBlIH0gZnJvbSAnLi9waXBlL1ByZXR0aWZ5UGlwZSc7XG5pbXBvcnQgeyBUaGVtZU1vZHVsZSB9IGZyb20gJy4vdGhlbWUvVGhlbWVNb2R1bGUnO1xuaW1wb3J0IHsgSXNTZXJ2ZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS9Jc1NlcnZlckRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJc0Jyb3dzZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZS9Jc0Jyb3dzZXJEaXJlY3RpdmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUGxhdGZvcm1TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlL1BsYXRmb3JtU2VydmljZSc7XG5pbXBvcnQgeyBWaWV3VXRpbCB9IGZyb20gJy4vdXRpbC9WaWV3VXRpbCc7XG5cbmNvbnN0IElNUE9SVFMgPSBbQ29va2llTW9kdWxlLCBUaGVtZU1vZHVsZSwgTGFuZ3VhZ2VNb2R1bGUsIEFzc2V0TW9kdWxlXTtcblxuY29uc3QgREVDTEFSQVRJT05TID0gW1xuICAgIFRpbWVQaXBlLFxuICAgIEZpbmFuY2VQaXBlLFxuICAgIFNhbml0aXplUGlwZSxcbiAgICBUcnVuY2F0ZVBpcGUsXG4gICAgUHJldHRpZnlQaXBlLFxuICAgIENhbWVsQ2FzZVBpcGUsXG4gICAgU3RhcnRDYXNlUGlwZSxcbiAgICBOZ01vZGVsRXJyb3JQaXBlLFxuXG4gICAgSXNTZXJ2ZXJEaXJlY3RpdmUsXG4gICAgSXNCcm93c2VyRGlyZWN0aXZlLFxuXG4gICAgTW9tZW50RGF0ZVBpcGUsXG4gICAgTW9tZW50VGltZVBpcGUsXG4gICAgTW9tZW50RGF0ZUZyb21Ob3dQaXBlLFxuICAgIE1vbWVudERhdGVBZGFwdGl2ZVBpcGUsXG5cbiAgICBGb2N1c0RpcmVjdGl2ZSxcbiAgICBSZXNpemVEaXJlY3RpdmUsXG4gICAgU2Nyb2xsRGlyZWN0aXZlLFxuICAgIFNjcm9sbENoZWNrRGlyZWN0aXZlLFxuICAgIENsaWNrVG9Db3B5RGlyZWN0aXZlLFxuICAgIFNlbGVjdE9uRm9jdXNEaXJlY3RpdmUsXG4gICAgQ2xpY2tUb1NlbGVjdERpcmVjdGl2ZSxcbiAgICBJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSxcbiAgICBIVE1MVGl0bGVEaXJlY3RpdmUsXG4gICAgSFRNTENvbnRlbnRUaXRsZURpcmVjdGl2ZSxcbiAgICBBdXRvU2Nyb2xsQm90dG9tRGlyZWN0aXZlLFxuICAgIEFzcGVjdFJhdGlvUmVzaXplRGlyZWN0aXZlXG5dO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IElNUE9SVFMsXG4gICAgZGVjbGFyYXRpb25zOiBERUNMQVJBVElPTlMsXG4gICAgZXhwb3J0czogWy4uLklNUE9SVFMsIC4uLkRFQ0xBUkFUSU9OU11cbn0pXG5leHBvcnQgY2xhc3MgVklDb21tb25Nb2R1bGUge1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyBcdFN0YXRpYyBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIHN0YXRpYyBmb3JSb290KG9wdGlvbnM/OiBJVklDb21tb25PcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxWSUNvbW1vbk1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IFZJQ29tbW9uTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtOYXRpdmVXaW5kb3dTZXJ2aWNlLCBSZW5kZXJlckZhY3RvcnkyXSxcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogaW5pdGlhbGl6ZXJGYWN0b3J5LFxuICAgICAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgICAgICBMb2FkaW5nU2VydmljZSxcbiAgICAgICAgICAgICAgICBQbGF0Zm9ybVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQ2FuRGVhY3RpdmF0ZUd1YXJkLFxuXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBWSV9BTkdVTEFSX09QVElPTlMsIHVzZVZhbHVlOiBvcHRpb25zIHx8IHt9IH0sXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBMb2dnZXIsIGRlcHM6IFtWSV9BTkdVTEFSX09QVElPTlNdLCB1c2VGYWN0b3J5OiBsb2dnZXJTZXJ2aWNlRmFjdG9yeSB9LFxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogTmF0aXZlV2luZG93U2VydmljZSwgZGVwczogW0RPQ1VNRU5UXSwgdXNlRmFjdG9yeTogbmF0aXZlV2luZG93U2VydmljZUZhY3RvcnkgfSxcblxuICAgICAgICAgICAgICAgIC4uLkNvb2tpZU1vZHVsZS5mb3JSb290KG9wdGlvbnMpLnByb3ZpZGVycyxcbiAgICAgICAgICAgICAgICAuLi5UaGVtZU1vZHVsZS5mb3JSb290KG9wdGlvbnMgPyBvcHRpb25zLnRoZW1lT3B0aW9ucyA6IG51bGwpLnByb3ZpZGVycyxcbiAgICAgICAgICAgICAgICAuLi5MYW5ndWFnZU1vZHVsZS5mb3JSb290KG9wdGlvbnMgPyBvcHRpb25zLmxhbmd1YWdlT3B0aW9ucyA6IG51bGwpLnByb3ZpZGVyc1xuICAgICAgICAgICAgXVxuICAgICAgICB9O1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIElWSUNvbW1vbk9wdGlvbnMgZXh0ZW5kcyBJQ29va2llT3B0aW9ucyB7XG4gICAgbG9nZ2VyTGV2ZWw/OiBMb2dnZXJMZXZlbDtcbiAgICB0aGVtZU9wdGlvbnM/OiBJVGhlbWVTZXJ2aWNlT3B0aW9ucztcbiAgICBsYW5ndWFnZU9wdGlvbnM/OiBJTGFuZ3VhZ2VTZXJ2aWNlT3B0aW9ucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVyRmFjdG9yeShuYXRpdmVXaW5kb3c6IE5hdGl2ZVdpbmRvd1NlcnZpY2UsIHJlbmRlcmVyRmFjdG9yeTI6IFJlbmRlcmVyRmFjdG9yeTIpOiBWaWV3VXRpbCB7XG4gICAgVmlld1V0aWwucmVuZGVyZXIgPSByZW5kZXJlckZhY3RvcnkyLmNyZWF0ZVJlbmRlcmVyKG51bGwsIG51bGwpO1xuICAgIFZpZXdVdGlsLmRvY3VtZW50ID0gbmF0aXZlV2luZG93LmRvY3VtZW50O1xuICAgIHJldHVybiAoKSA9PiBQcm9taXNlLnJlc29sdmUoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvZ2dlclNlcnZpY2VGYWN0b3J5KG9wdGlvbnM6IElWSUNvbW1vbk9wdGlvbnMpOiBJTG9nZ2VyIHtcbiAgICByZXR1cm4gbmV3IERlZmF1bHRMb2dnZXIoIV8uaXNOaWwob3B0aW9ucy5sb2dnZXJMZXZlbCkgPyBvcHRpb25zLmxvZ2dlckxldmVsIDogTG9nZ2VyTGV2ZWwuTE9HKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBuYXRpdmVXaW5kb3dTZXJ2aWNlRmFjdG9yeShkb2N1bWVudDogRG9jdW1lbnQpOiBOYXRpdmVXaW5kb3dTZXJ2aWNlIHtcbiAgICByZXR1cm4gbmV3IE5hdGl2ZVdpbmRvd1NlcnZpY2UoZG9jdW1lbnQpO1xufVxuXG5leHBvcnQgY29uc3QgVklfQU5HVUxBUl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPElWSUNvbW1vbk9wdGlvbnM+KGBWSV9BTkdVTEFSX09QVElPTlNgKTtcbiJdfQ==