@ts-core/angular 15.0.2 → 15.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/VICommonModule.d.ts +10 -13
  2. package/application/ApplicationComponent.d.ts +1 -3
  3. package/esm2020/VICommonModule.mjs +4 -14
  4. package/esm2020/application/ApplicationComponent.mjs +2 -3
  5. package/esm2020/application/MessageBaseComponent.mjs +1 -1
  6. package/esm2020/language/LanguageModule.mjs +1 -8
  7. package/esm2020/pipe/CamelCasePipe.mjs +4 -12
  8. package/esm2020/pipe/StartCasePipe.mjs +4 -5
  9. package/esm2020/pipe/TimePipe.mjs +3 -2
  10. package/esm2020/pipe/TruncatePipe.mjs +3 -5
  11. package/esm2020/public-api.mjs +1 -68
  12. package/esm2020/service/PipeBaseService.mjs +1 -1
  13. package/esm2020/theme/ThemeAssetDirective.mjs +1 -1
  14. package/fesm2015/ts-core-angular.mjs +3023 -7419
  15. package/fesm2015/ts-core-angular.mjs.map +1 -1
  16. package/fesm2020/ts-core-angular.mjs +3003 -7397
  17. package/fesm2020/ts-core-angular.mjs.map +1 -1
  18. package/package.json +3 -9
  19. package/pipe/CamelCasePipe.d.ts +0 -1
  20. package/public-api.d.ts +0 -60
  21. package/style/_core.scss +120 -0
  22. package/style/_text.scss +9 -1
  23. package/application/ShellBaseComponent.d.ts +0 -20
  24. package/bottomSheet/BottomSheetImpl.d.ts +0 -66
  25. package/bottomSheet/BottomSheetModule.d.ts +0 -13
  26. package/bottomSheet/BottomSheetService.d.ts +0 -31
  27. package/bottomSheet/component/BottomSheetBaseComponent.d.ts +0 -8
  28. package/component/VIComponentModule.d.ts +0 -33
  29. package/component/cdk-table/CdkTableBaseComponent.d.ts +0 -60
  30. package/component/cdk-table/CdkTableDataSource.d.ts +0 -13
  31. package/component/cdk-table/CdkTableFilterableMapCollection.d.ts +0 -14
  32. package/component/cdk-table/CdkTablePaginableBookmarkMapCollection.d.ts +0 -11
  33. package/component/cdk-table/CdkTablePaginableMapCollection.d.ts +0 -13
  34. package/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.d.ts +0 -9
  35. package/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.d.ts +0 -18
  36. package/component/cdk-table/cdk-table-paginable-bookmark/cdk-table-paginable-bookmark.component.d.ts +0 -9
  37. package/component/cdk-table/cell/CdkTableCellClassNamePipe.d.ts +0 -8
  38. package/component/cdk-table/cell/CdkTableCellStyleNamePipe.d.ts +0 -10
  39. package/component/cdk-table/cell/CdkTableCellValuePipe.d.ts +0 -17
  40. package/component/cdk-table/cell/CdkTableCellValuePipePure.d.ts +0 -8
  41. package/component/cdk-table/column/CdkTableColumnClassNamePipe.d.ts +0 -8
  42. package/component/cdk-table/column/CdkTableColumnStyleNamePipe.d.ts +0 -10
  43. package/component/cdk-table/column/ICdkTableColumn.d.ts +0 -25
  44. package/component/cdk-table/row/CdkTableRowClassNamePipe.d.ts +0 -8
  45. package/component/cdk-table/row/CdkTableRowStyleNamePipe.d.ts +0 -10
  46. package/component/cdk-table/row/ICdkTableRow.d.ts +0 -8
  47. package/component/language/language-selector/language-selector.component.d.ts +0 -19
  48. package/component/menu-list/menu-list.component.d.ts +0 -9
  49. package/component/select-list/select-list.component.d.ts +0 -9
  50. package/component/tab-group/tab-group.component.d.ts +0 -18
  51. package/directive/MenuTriggerForDirective.d.ts +0 -11
  52. package/error/WindowClosedError.d.ts +0 -6
  53. package/esm2020/application/ShellBaseComponent.mjs +0 -78
  54. package/esm2020/bottomSheet/BottomSheetImpl.mjs +0 -228
  55. package/esm2020/bottomSheet/BottomSheetModule.mjs +0 -37
  56. package/esm2020/bottomSheet/BottomSheetService.mjs +0 -107
  57. package/esm2020/bottomSheet/component/BottomSheetBaseComponent.mjs +0 -44
  58. package/esm2020/component/VIComponentModule.mjs +0 -117
  59. package/esm2020/component/cdk-table/CdkTableBaseComponent.mjs +0 -192
  60. package/esm2020/component/cdk-table/CdkTableDataSource.mjs +0 -58
  61. package/esm2020/component/cdk-table/CdkTableFilterableMapCollection.mjs +0 -94
  62. package/esm2020/component/cdk-table/CdkTablePaginableBookmarkMapCollection.mjs +0 -49
  63. package/esm2020/component/cdk-table/CdkTablePaginableMapCollection.mjs +0 -57
  64. package/esm2020/component/cdk-table/cdk-table-filterable/cdk-table-filterable.component.mjs +0 -37
  65. package/esm2020/component/cdk-table/cdk-table-paginable/cdk-table-paginable.component.mjs +0 -65
  66. package/esm2020/component/cdk-table/cdk-table-paginable-bookmark/cdk-table-paginable-bookmark.component.mjs +0 -37
  67. package/esm2020/component/cdk-table/cell/CdkTableCellClassNamePipe.mjs +0 -25
  68. package/esm2020/component/cdk-table/cell/CdkTableCellStyleNamePipe.mjs +0 -22
  69. package/esm2020/component/cdk-table/cell/CdkTableCellValuePipe.mjs +0 -77
  70. package/esm2020/component/cdk-table/cell/CdkTableCellValuePipePure.mjs +0 -22
  71. package/esm2020/component/cdk-table/column/CdkTableColumnClassNamePipe.mjs +0 -22
  72. package/esm2020/component/cdk-table/column/CdkTableColumnStyleNamePipe.mjs +0 -22
  73. package/esm2020/component/cdk-table/column/ICdkTableColumn.mjs +0 -2
  74. package/esm2020/component/cdk-table/row/CdkTableRowClassNamePipe.mjs +0 -22
  75. package/esm2020/component/cdk-table/row/CdkTableRowStyleNamePipe.mjs +0 -22
  76. package/esm2020/component/cdk-table/row/ICdkTableRow.mjs +0 -2
  77. package/esm2020/component/language/language-selector/language-selector.component.mjs +0 -79
  78. package/esm2020/component/menu-list/menu-list.component.mjs +0 -16
  79. package/esm2020/component/select-list/select-list.component.mjs +0 -16
  80. package/esm2020/component/tab-group/tab-group.component.mjs +0 -82
  81. package/esm2020/directive/MenuTriggerForDirective.mjs +0 -55
  82. package/esm2020/error/WindowClosedError.mjs +0 -19
  83. package/esm2020/language/LanguageMatPaginatorIntl.mjs +0 -60
  84. package/esm2020/language/LanguageMomentDateAdapter.mjs +0 -13
  85. package/esm2020/notification/INotification.mjs +0 -7
  86. package/esm2020/notification/INotificationContent.mjs +0 -132
  87. package/esm2020/notification/NotificationConfig.mjs +0 -16
  88. package/esm2020/notification/NotificationFactory.mjs +0 -19
  89. package/esm2020/notification/NotificationImpl.mjs +0 -139
  90. package/esm2020/notification/NotificationModule.mjs +0 -53
  91. package/esm2020/notification/NotificationProperties.mjs +0 -2
  92. package/esm2020/notification/NotificationService.mjs +0 -239
  93. package/esm2020/notification/component/NotificationBaseComponent.mjs +0 -4
  94. package/esm2020/notification/component/NotificationQuestionBaseComponent.mjs +0 -50
  95. package/esm2020/notification/component/notification/notification.component.mjs +0 -61
  96. package/esm2020/service/BootstrapBreakpointService.mjs +0 -116
  97. package/esm2020/window/IWindow.mjs +0 -33
  98. package/esm2020/window/IWindowContent.mjs +0 -132
  99. package/esm2020/window/WindowBase.mjs +0 -168
  100. package/esm2020/window/WindowConfig.mjs +0 -232
  101. package/esm2020/window/WindowFactory.mjs +0 -27
  102. package/esm2020/window/WindowImpl.mjs +0 -354
  103. package/esm2020/window/WindowModule.mjs +0 -58
  104. package/esm2020/window/WindowProperties.mjs +0 -2
  105. package/esm2020/window/WindowService.mjs +0 -366
  106. package/esm2020/window/WindowServiceEvent.mjs +0 -9
  107. package/esm2020/window/component/WindowBaseComponent.mjs +0 -75
  108. package/esm2020/window/component/WindowDragAreaDirective.mjs +0 -97
  109. package/esm2020/window/component/WindowDragable.mjs +0 -69
  110. package/esm2020/window/component/WindowElement.mjs +0 -95
  111. package/esm2020/window/component/WindowQuestionBaseComponent.mjs +0 -17
  112. package/esm2020/window/component/WindowResizeable.mjs +0 -88
  113. package/esm2020/window/component/window-close-element/window-close-element.component.mjs +0 -55
  114. package/esm2020/window/component/window-expand-element/window-expand-element.component.mjs +0 -56
  115. package/esm2020/window/component/window-minimize-element/window-minimize-element.component.mjs +0 -75
  116. package/esm2020/window/component/window-question/window-question.component.mjs +0 -50
  117. package/esm2020/window/component/window-resize-element/window-resize-element.component.mjs +0 -56
  118. package/language/LanguageMatPaginatorIntl.d.ts +0 -20
  119. package/language/LanguageMomentDateAdapter.d.ts +0 -5
  120. package/notification/INotification.d.ts +0 -26
  121. package/notification/INotificationContent.d.ts +0 -31
  122. package/notification/NotificationConfig.d.ts +0 -13
  123. package/notification/NotificationFactory.d.ts +0 -11
  124. package/notification/NotificationImpl.d.ts +0 -38
  125. package/notification/NotificationModule.d.ts +0 -18
  126. package/notification/NotificationProperties.d.ts +0 -9
  127. package/notification/NotificationService.d.ts +0 -56
  128. package/notification/component/NotificationBaseComponent.d.ts +0 -3
  129. package/notification/component/NotificationQuestionBaseComponent.d.ts +0 -10
  130. package/notification/component/notification/notification.component.d.ts +0 -14
  131. package/service/BootstrapBreakpointService.d.ts +0 -45
  132. package/style/mat/_core.scss +0 -317
  133. package/style/mat/_index.scss +0 -169
  134. package/style/mat/_variables.scss +0 -1
  135. package/style/mat/bootstrap/_background.scss +0 -28
  136. package/style/mat/bootstrap/_border.scss +0 -202
  137. package/style/mat/bootstrap/_index.scss +0 -27
  138. package/style/mat/bootstrap/_text.scss +0 -47
  139. package/style/mat/helper/_theme.scss +0 -96
  140. package/style/mat/helper/_typography.scss +0 -15
  141. package/window/IWindow.d.ts +0 -42
  142. package/window/IWindowContent.d.ts +0 -34
  143. package/window/WindowBase.d.ts +0 -33
  144. package/window/WindowConfig.d.ts +0 -64
  145. package/window/WindowFactory.d.ts +0 -12
  146. package/window/WindowImpl.d.ts +0 -88
  147. package/window/WindowModule.d.ts +0 -20
  148. package/window/WindowProperties.d.ts +0 -9
  149. package/window/WindowService.d.ts +0 -71
  150. package/window/WindowServiceEvent.d.ts +0 -7
  151. package/window/component/WindowBaseComponent.d.ts +0 -20
  152. package/window/component/WindowDragAreaDirective.d.ts +0 -19
  153. package/window/component/WindowDragable.d.ts +0 -13
  154. package/window/component/WindowElement.d.ts +0 -22
  155. package/window/component/WindowQuestionBaseComponent.d.ts +0 -5
  156. package/window/component/WindowResizeable.d.ts +0 -10
  157. package/window/component/window-close-element/window-close-element.component.d.ts +0 -12
  158. package/window/component/window-expand-element/window-expand-element.component.d.ts +0 -12
  159. package/window/component/window-minimize-element/window-minimize-element.component.d.ts +0 -15
  160. package/window/component/window-question/window-question.component.d.ts +0 -12
  161. package/window/component/window-resize-element/window-resize-element.component.d.ts +0 -12
@@ -1,354 +0,0 @@
1
- import { Subject, filter, takeUntil } from 'rxjs';
2
- import { ViewUtil } from '../util/ViewUtil';
3
- import { WindowEvent } from './IWindow';
4
- import { WindowBase } from './WindowBase';
5
- import * as _ from 'lodash';
6
- import { ArrayUtil } from '@ts-core/common';
7
- export class WindowImpl extends WindowBase {
8
- // --------------------------------------------------------------------------
9
- //
10
- // Constructor
11
- //
12
- // --------------------------------------------------------------------------
13
- constructor(properties) {
14
- super();
15
- // --------------------------------------------------------------------------
16
- //
17
- // Properties
18
- //
19
- // --------------------------------------------------------------------------
20
- this._isBlink = false;
21
- this._isShaking = false;
22
- this._isOnTop = false;
23
- this._isDisabled = false;
24
- this._isMinimized = false;
25
- this.isOpened = false;
26
- this.isWasOnTop = false;
27
- // --------------------------------------------------------------------------
28
- //
29
- // Protected Methods
30
- //
31
- // --------------------------------------------------------------------------
32
- this.setClosed = () => {
33
- this.isOpened = false;
34
- this.emit(WindowEvent.CLOSED);
35
- this.destroy();
36
- };
37
- this.setOpened = () => {
38
- this.isOpened = true;
39
- this.emit(WindowEvent.OPENED);
40
- };
41
- this.blinkToggle = () => {
42
- this.isBlink = !this.isBlink;
43
- };
44
- this.stopShaking = () => {
45
- this.isShaking = false;
46
- };
47
- this.emitResize = () => {
48
- this.emit(WindowEvent.RESIZED);
49
- };
50
- this.resizeHandler = () => {
51
- if (!this.isOpened) {
52
- return;
53
- }
54
- clearTimeout(this.resizeTimer);
55
- this.resizeTimer = setTimeout(this.emitResize, WindowImpl.RESIZE_DELAY);
56
- };
57
- this.mouseDownHandlerProxy = (event) => {
58
- this.mouseDownHandler(event);
59
- };
60
- this.mouseClickHandlerProxy = (event) => {
61
- this.mouseClickHandler(event);
62
- };
63
- this.observer = new Subject();
64
- this.elements = new Array();
65
- this.properties = properties;
66
- this.content.window = this;
67
- // Have to save for unsubscribe on destroy
68
- this._wrapper = this.properties.overlay.hostElement;
69
- this._backdrop = this.properties.overlay.backdropElement;
70
- this._container = this.properties.overlay.overlayElement;
71
- this.setProperties();
72
- this.getReference().afterOpened().pipe(takeUntil(this.destroyed)).subscribe(this.setOpened);
73
- this.getReference().afterClosed().pipe(takeUntil(this.destroyed)).subscribe(this.setClosed);
74
- this.events
75
- .pipe(filter(event => event === WindowEvent.CONTENT_READY), takeUntil(this.destroyed))
76
- .subscribe(this.updatePosition);
77
- }
78
- // --------------------------------------------------------------------------
79
- //
80
- // Elements Methods
81
- //
82
- // --------------------------------------------------------------------------
83
- elementsCreate() {
84
- this.elements = new Array();
85
- }
86
- elementsDestroy() {
87
- this.elements.forEach(item => this.elementDestroy(item));
88
- this.elements = null;
89
- }
90
- elementAdd(item) {
91
- this.elements.push(item);
92
- item.instance.window = this;
93
- return item;
94
- }
95
- elementRemove(item) {
96
- ArrayUtil.remove(this.elements, item);
97
- this.elementDestroy(item);
98
- return item;
99
- }
100
- elementDestroy(item) {
101
- item.instance.window = null;
102
- item.destroy();
103
- return item;
104
- }
105
- setProperties() {
106
- super.setProperties();
107
- ViewUtil.addClass(this.container, 'vi-window');
108
- ViewUtil.toggleClass(this.container, 'vi-modal', this.config.isModal);
109
- this.container.addEventListener('click', this.mouseClickHandlerProxy, true);
110
- this.container.addEventListener('mousedown', this.mouseDownHandlerProxy);
111
- /*
112
- if (!this.config.isModal) {
113
- this.container.addEventListener('mousedown', this.mouseDownHandlerProxy);
114
- }
115
- */
116
- this.elementsCreate();
117
- }
118
- commitIsBlinkProperties() { }
119
- commitIsShakingProperties() { }
120
- commitIsDisabledProperties() { }
121
- commitIsOnTopProperties() {
122
- this.isBlink = false;
123
- }
124
- commitIsMinimizedProperties() {
125
- this.isBlink = false;
126
- }
127
- getConfig() {
128
- return this.properties.config;
129
- }
130
- getContainer() {
131
- return this.container;
132
- }
133
- getReference() {
134
- return this.properties.reference;
135
- }
136
- isNeedClickStopPropagation(event) {
137
- if (!this.isWasOnTop) {
138
- return true;
139
- }
140
- let element = _.find(this.elements, item => item.location.nativeElement === event.target);
141
- if (_.isNil(element)) {
142
- return false;
143
- }
144
- element.instance.clickHandler(event);
145
- return true;
146
- }
147
- mouseDownHandler(event) {
148
- this.setOnTop();
149
- }
150
- mouseClickHandler(event) {
151
- if (this.isNeedClickStopPropagation(event)) {
152
- event.stopPropagation();
153
- }
154
- if (!this.isWasOnTop) {
155
- this.isWasOnTop = true;
156
- }
157
- }
158
- // --------------------------------------------------------------------------
159
- //
160
- // Public Methods
161
- //
162
- // --------------------------------------------------------------------------
163
- emit(event) {
164
- this.observer.next(event);
165
- }
166
- close() {
167
- this.getReference().close();
168
- }
169
- destroy() {
170
- if (this.isDestroyed) {
171
- return;
172
- }
173
- super.destroy();
174
- this.elementsDestroy();
175
- this._container.removeEventListener('click', this.mouseClickHandlerProxy, true);
176
- this._container.removeEventListener('mousedown', this.mouseDownHandlerProxy);
177
- if (!_.isNil(this.content)) {
178
- this.content.destroy();
179
- }
180
- if (!_.isNil(this.observer)) {
181
- this.observer.complete();
182
- this.observer = null;
183
- }
184
- this.properties = null;
185
- this._wrapper = null;
186
- this._backdrop = null;
187
- this._container = null;
188
- clearInterval(this.shakeTimer);
189
- this.shakeTimer = null;
190
- clearTimeout(this.resizeTimer);
191
- this.resizeTimer = null;
192
- }
193
- blink() {
194
- this.isBlink = true;
195
- }
196
- shake() {
197
- if (this.isShaking) {
198
- return;
199
- }
200
- this.isShaking = true;
201
- clearInterval(this.shakeTimer);
202
- this.shakeTimer = setInterval(this.stopShaking, WindowImpl.SHAKE_DELAY);
203
- }
204
- setOnTop() {
205
- this.isWasOnTop = this.isOnTop;
206
- this.emit(WindowEvent.SET_ON_TOP);
207
- }
208
- // --------------------------------------------------------------------------
209
- //
210
- // Size Methods
211
- //
212
- // --------------------------------------------------------------------------
213
- getWidth() {
214
- return this.width;
215
- }
216
- getHeight() {
217
- return this.height;
218
- }
219
- setWidth(value, isNeedNotify = true) {
220
- this.width = value;
221
- if (isNeedNotify) {
222
- this.resizeHandler();
223
- }
224
- }
225
- setHeight(value, isNeedNotify = true) {
226
- this.height = value;
227
- if (isNeedNotify) {
228
- this.resizeHandler();
229
- }
230
- }
231
- setSize(width, height) {
232
- this.setWidth(width, false);
233
- this.setHeight(height, false);
234
- this.resizeHandler();
235
- }
236
- // --------------------------------------------------------------------------
237
- //
238
- // Move Methods
239
- //
240
- // --------------------------------------------------------------------------
241
- getX() {
242
- return this.x;
243
- }
244
- setX(value, isNeedNotify = true) {
245
- this.x = value;
246
- if (isNeedNotify) {
247
- this.emit(WindowEvent.MOVED);
248
- }
249
- }
250
- getY() {
251
- return this.y;
252
- }
253
- setY(value, isNeedNotify = true) {
254
- this.y = value;
255
- if (isNeedNotify) {
256
- this.emit(WindowEvent.MOVED);
257
- }
258
- }
259
- move(x, y) {
260
- this.setX(x, false);
261
- this.setY(y, false);
262
- this.emit(WindowEvent.MOVED);
263
- }
264
- // --------------------------------------------------------------------------
265
- //
266
- // Private Properties
267
- //
268
- // --------------------------------------------------------------------------
269
- get isBlink() {
270
- return this._isBlink;
271
- }
272
- set isBlink(value) {
273
- if (value === this._isBlink) {
274
- return;
275
- }
276
- this._isBlink = value;
277
- this.commitIsBlinkProperties();
278
- }
279
- get isShaking() {
280
- return this._isShaking;
281
- }
282
- set isShaking(value) {
283
- if (value === this._isShaking) {
284
- return;
285
- }
286
- this._isShaking = value;
287
- this.commitIsShakingProperties();
288
- }
289
- // --------------------------------------------------------------------------
290
- //
291
- // Public Properties
292
- //
293
- // --------------------------------------------------------------------------
294
- get events() {
295
- return this.observer.asObservable();
296
- }
297
- get config() {
298
- return this.properties.config;
299
- }
300
- get content() {
301
- return this.properties.reference ? this.properties.reference.componentInstance : null;
302
- }
303
- get container() {
304
- return this._container;
305
- }
306
- get wrapper() {
307
- return this._wrapper;
308
- }
309
- get backdrop() {
310
- return this._backdrop;
311
- }
312
- get isOnTop() {
313
- return this._isOnTop;
314
- }
315
- set isOnTop(value) {
316
- if (value === this._isOnTop) {
317
- return;
318
- }
319
- this._isOnTop = value;
320
- this.commitIsOnTopProperties();
321
- this.emit(WindowEvent.IS_ON_TOP_CHANGED);
322
- }
323
- get isMinimized() {
324
- return this._isMinimized;
325
- }
326
- set isMinimized(value) {
327
- if (value === this._isMinimized) {
328
- return;
329
- }
330
- this._isMinimized = value;
331
- this.commitIsMinimizedProperties();
332
- this.emit(WindowEvent.MINIMIZED_CHANGED);
333
- }
334
- get isDisabled() {
335
- return this._isDisabled;
336
- }
337
- set isDisabled(value) {
338
- if (value === this._isDisabled) {
339
- return;
340
- }
341
- this._isDisabled = value;
342
- this.commitIsDisabledProperties();
343
- this.emit(WindowEvent.DISABLED_CHANGED);
344
- }
345
- }
346
- // --------------------------------------------------------------------------
347
- //
348
- // Constants
349
- //
350
- // --------------------------------------------------------------------------
351
- WindowImpl.BLINK_DELAY = 500;
352
- WindowImpl.SHAKE_DELAY = 500;
353
- WindowImpl.RESIZE_DELAY = 200;
354
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93SW1wbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93aW5kb3cvV2luZG93SW1wbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWMsT0FBTyxFQUFnQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQVcsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRWpELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHMUMsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzVDLE1BQU0sT0FBTyxVQUFvQixTQUFRLFVBQWE7SUF5Q2xELDZFQUE2RTtJQUM3RSxFQUFFO0lBQ0YsZUFBZTtJQUNmLEVBQUU7SUFDRiw2RUFBNkU7SUFFN0UsWUFBWSxVQUE0QjtRQUNwQyxLQUFLLEVBQUUsQ0FBQztRQXJDWiw2RUFBNkU7UUFDN0UsRUFBRTtRQUNGLGNBQWM7UUFDZCxFQUFFO1FBQ0YsNkVBQTZFO1FBRXJFLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUs1QixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBQzdCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRTlCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQTRFcEMsNkVBQTZFO1FBQzdFLEVBQUU7UUFDRixxQkFBcUI7UUFDckIsRUFBRTtRQUNGLDZFQUE2RTtRQUVuRSxjQUFTLEdBQUcsR0FBUyxFQUFFO1lBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxJQUFJLENB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QUFpQixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQVcsVUFBVSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUM1QixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7O0FBbGJELDZFQUE2RTtBQUM3RSxFQUFFO0FBQ0YsYUFBYTtBQUNiLEVBQUU7QUFDRiw2RUFBNkU7QUFFL0Qsc0JBQVcsR0FBRyxHQUFHLENBQUM7QUFDbEIsc0JBQVcsR0FBRyxHQUFHLENBQUM7QUFDbEIsdUJBQVksR0FBRyxHQUFHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVmlld1V0aWwgfSBmcm9tICcuLi91dGlsL1ZpZXdVdGlsJztcbmltcG9ydCB7IElXaW5kb3csIFdpbmRvd0V2ZW50IH0gZnJvbSAnLi9JV2luZG93JztcbmltcG9ydCB7IElXaW5kb3dDb250ZW50IH0gZnJvbSAnLi9JV2luZG93Q29udGVudCc7XG5pbXBvcnQgeyBXaW5kb3dCYXNlIH0gZnJvbSAnLi9XaW5kb3dCYXNlJztcbmltcG9ydCB7IFdpbmRvd0NvbmZpZyB9IGZyb20gJy4vV2luZG93Q29uZmlnJztcbmltcG9ydCB7IFdpbmRvd1Byb3BlcnRpZXMgfSBmcm9tICcuL1dpbmRvd1Byb3BlcnRpZXMnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgV2luZG93RWxlbWVudCB9IGZyb20gJy4vY29tcG9uZW50L1dpbmRvd0VsZW1lbnQnO1xuaW1wb3J0IHsgQXJyYXlVdGlsIH0gZnJvbSAnQHRzLWNvcmUvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgV2luZG93SW1wbDxUID0gYW55PiBleHRlbmRzIFdpbmRvd0Jhc2U8VD4gaW1wbGVtZW50cyBJV2luZG93IHtcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIENvbnN0YW50c1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBzdGF0aWMgQkxJTktfREVMQVkgPSA1MDA7XG4gICAgcHVibGljIHN0YXRpYyBTSEFLRV9ERUxBWSA9IDUwMDtcbiAgICBwdWJsaWMgc3RhdGljIFJFU0laRV9ERUxBWSA9IDIwMDtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHJvcGVydGllc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByaXZhdGUgX2lzQmxpbms6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgX2lzU2hha2luZzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgc2hha2VUaW1lcjogYW55O1xuXG4gICAgcHJpdmF0ZSByZXNpemVUaW1lcjogYW55O1xuXG4gICAgcHJpdmF0ZSBfaXNPblRvcDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2lzRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIF9pc01pbmltaXplZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBpc09wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgaXNXYXNPblRvcDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBfd3JhcHBlcjogSFRNTEVsZW1lbnQ7XG4gICAgcHJpdmF0ZSBfYmFja2Ryb3A6IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgX2NvbnRhaW5lcjogSFRNTEVsZW1lbnQ7XG5cbiAgICBwcm90ZWN0ZWQgZWxlbWVudHM6IEFycmF5PENvbXBvbmVudFJlZjxXaW5kb3dFbGVtZW50Pj47XG4gICAgcHJvdGVjdGVkIHByb3BlcnRpZXM6IFdpbmRvd1Byb3BlcnRpZXM7XG5cbiAgICBwcm90ZWN0ZWQgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJvdGVjdGVkIG9ic2VydmVyOiBTdWJqZWN0PHN0cmluZz47XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIENvbnN0cnVjdG9yXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgY29uc3RydWN0b3IocHJvcGVydGllczogV2luZG93UHJvcGVydGllcykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLm9ic2VydmVyID0gbmV3IFN1YmplY3QoKTtcbiAgICAgICAgdGhpcy5lbGVtZW50cyA9IG5ldyBBcnJheSgpO1xuXG4gICAgICAgIHRoaXMucHJvcGVydGllcyA9IHByb3BlcnRpZXM7XG4gICAgICAgIHRoaXMuY29udGVudC53aW5kb3cgPSB0aGlzO1xuXG4gICAgICAgIC8vIEhhdmUgdG8gc2F2ZSBmb3IgdW5zdWJzY3JpYmUgb24gZGVzdHJveVxuICAgICAgICB0aGlzLl93cmFwcGVyID0gdGhpcy5wcm9wZXJ0aWVzLm92ZXJsYXkuaG9zdEVsZW1lbnQ7XG4gICAgICAgIHRoaXMuX2JhY2tkcm9wID0gdGhpcy5wcm9wZXJ0aWVzLm92ZXJsYXkuYmFja2Ryb3BFbGVtZW50O1xuICAgICAgICB0aGlzLl9jb250YWluZXIgPSB0aGlzLnByb3BlcnRpZXMub3ZlcmxheS5vdmVybGF5RWxlbWVudDtcblxuICAgICAgICB0aGlzLnNldFByb3BlcnRpZXMoKTtcbiAgICAgICAgdGhpcy5nZXRSZWZlcmVuY2UoKS5hZnRlck9wZW5lZCgpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSkuc3Vic2NyaWJlKHRoaXMuc2V0T3BlbmVkKTtcbiAgICAgICAgdGhpcy5nZXRSZWZlcmVuY2UoKS5hZnRlckNsb3NlZCgpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSkuc3Vic2NyaWJlKHRoaXMuc2V0Q2xvc2VkKTtcblxuICAgICAgICB0aGlzLmV2ZW50c1xuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50ID09PSBXaW5kb3dFdmVudC5DT05URU5UX1JFQURZKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHRoaXMudXBkYXRlUG9zaXRpb24pO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgRWxlbWVudHMgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHByb3RlY3RlZCBlbGVtZW50c0NyZWF0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50cyA9IG5ldyBBcnJheSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBlbGVtZW50c0Rlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWxlbWVudHMuZm9yRWFjaChpdGVtID0+IHRoaXMuZWxlbWVudERlc3Ryb3koaXRlbSkpO1xuICAgICAgICB0aGlzLmVsZW1lbnRzID0gbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZWxlbWVudEFkZChpdGVtOiBDb21wb25lbnRSZWY8V2luZG93RWxlbWVudD4pOiBDb21wb25lbnRSZWY8V2luZG93RWxlbWVudD4ge1xuICAgICAgICB0aGlzLmVsZW1lbnRzLnB1c2goaXRlbSk7XG4gICAgICAgIGl0ZW0uaW5zdGFuY2Uud2luZG93ID0gdGhpcztcbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGVsZW1lbnRSZW1vdmUoaXRlbTogQ29tcG9uZW50UmVmPFdpbmRvd0VsZW1lbnQ+KTogQ29tcG9uZW50UmVmPFdpbmRvd0VsZW1lbnQ+IHtcbiAgICAgICAgQXJyYXlVdGlsLnJlbW92ZSh0aGlzLmVsZW1lbnRzLCBpdGVtKTtcbiAgICAgICAgdGhpcy5lbGVtZW50RGVzdHJveShpdGVtKTtcbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGVsZW1lbnREZXN0cm95KGl0ZW06IENvbXBvbmVudFJlZjxXaW5kb3dFbGVtZW50Pik6IENvbXBvbmVudFJlZjxXaW5kb3dFbGVtZW50PiB7XG4gICAgICAgIGl0ZW0uaW5zdGFuY2Uud2luZG93ID0gbnVsbDtcbiAgICAgICAgaXRlbS5kZXN0cm95KCk7XG4gICAgICAgIHJldHVybiBpdGVtO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHJvdGVjdGVkIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwcm90ZWN0ZWQgc2V0Q2xvc2VkID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmlzT3BlbmVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZW1pdChXaW5kb3dFdmVudC5DTE9TRUQpO1xuICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICB9O1xuXG4gICAgcHJvdGVjdGVkIHNldE9wZW5lZCA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5pc09wZW5lZCA9IHRydWU7XG4gICAgICAgIHRoaXMuZW1pdChXaW5kb3dFdmVudC5PUEVORUQpO1xuICAgIH07XG5cbiAgICBwcm90ZWN0ZWQgYmxpbmtUb2dnbGUgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuaXNCbGluayA9ICF0aGlzLmlzQmxpbms7XG4gICAgfTtcblxuICAgIHByb3RlY3RlZCBzdG9wU2hha2luZyA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5pc1NoYWtpbmcgPSBmYWxzZTtcbiAgICB9O1xuXG4gICAgcHJvdGVjdGVkIGVtaXRSZXNpemUgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuZW1pdChXaW5kb3dFdmVudC5SRVNJWkVEKTtcbiAgICB9O1xuXG4gICAgcHJvdGVjdGVkIHNldFByb3BlcnRpZXMoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLnNldFByb3BlcnRpZXMoKTtcbiAgICAgICAgVmlld1V0aWwuYWRkQ2xhc3ModGhpcy5jb250YWluZXIsICd2aS13aW5kb3cnKTtcbiAgICAgICAgVmlld1V0aWwudG9nZ2xlQ2xhc3ModGhpcy5jb250YWluZXIsICd2aS1tb2RhbCcsIHRoaXMuY29uZmlnLmlzTW9kYWwpO1xuXG4gICAgICAgIHRoaXMuY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5tb3VzZUNsaWNrSGFuZGxlclByb3h5LCB0cnVlKTtcbiAgICAgICAgdGhpcy5jb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5tb3VzZURvd25IYW5kbGVyUHJveHkpO1xuICAgICAgICAvKlxuICAgICAgICBpZiAoIXRoaXMuY29uZmlnLmlzTW9kYWwpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMubW91c2VEb3duSGFuZGxlclByb3h5KTtcbiAgICAgICAgfVxuICAgICAgICAqL1xuXG4gICAgICAgIHRoaXMuZWxlbWVudHNDcmVhdGUoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29tbWl0SXNCbGlua1Byb3BlcnRpZXMoKTogdm9pZCB7fVxuICAgIHByb3RlY3RlZCBjb21taXRJc1NoYWtpbmdQcm9wZXJ0aWVzKCk6IHZvaWQge31cbiAgICBwcm90ZWN0ZWQgY29tbWl0SXNEaXNhYmxlZFByb3BlcnRpZXMoKTogdm9pZCB7fVxuXG4gICAgcHJvdGVjdGVkIGNvbW1pdElzT25Ub3BQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzQmxpbmsgPSBmYWxzZTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIGNvbW1pdElzTWluaW1pemVkUHJvcGVydGllcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0JsaW5rID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldENvbmZpZygpOiBXaW5kb3dDb25maWcge1xuICAgICAgICByZXR1cm4gdGhpcy5wcm9wZXJ0aWVzLmNvbmZpZztcbiAgICB9XG4gICAgcHJvdGVjdGVkIGdldENvbnRhaW5lcigpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lcjtcbiAgICB9XG4gICAgcHJvdGVjdGVkIGdldFJlZmVyZW5jZSgpOiBNYXREaWFsb2dSZWY8SVdpbmRvd0NvbnRlbnQ8VD4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcGVydGllcy5yZWZlcmVuY2U7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGlzTmVlZENsaWNrU3RvcFByb3BhZ2F0aW9uKGV2ZW50OiBNb3VzZUV2ZW50KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy5pc1dhc09uVG9wKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZWxlbWVudCA9IF8uZmluZCh0aGlzLmVsZW1lbnRzLCBpdGVtID0+IGl0ZW0ubG9jYXRpb24ubmF0aXZlRWxlbWVudCA9PT0gZXZlbnQudGFyZ2V0KTtcbiAgICAgICAgaWYgKF8uaXNOaWwoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBlbGVtZW50Lmluc3RhbmNlLmNsaWNrSGFuZGxlcihldmVudCk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNpemVIYW5kbGVyID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuaXNPcGVuZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5yZXNpemVUaW1lcik7XG4gICAgICAgIHRoaXMucmVzaXplVGltZXIgPSBzZXRUaW1lb3V0KHRoaXMuZW1pdFJlc2l6ZSwgV2luZG93SW1wbC5SRVNJWkVfREVMQVkpO1xuICAgIH07XG5cbiAgICBwcm90ZWN0ZWQgbW91c2VEb3duSGFuZGxlcihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldE9uVG9wKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG1vdXNlQ2xpY2tIYW5kbGVyKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTmVlZENsaWNrU3RvcFByb3BhZ2F0aW9uKGV2ZW50KSkge1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmlzV2FzT25Ub3ApIHtcbiAgICAgICAgICAgIHRoaXMuaXNXYXNPblRvcCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1vdXNlRG93bkhhbmRsZXJQcm94eSA9IChldmVudDogTW91c2VFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLm1vdXNlRG93bkhhbmRsZXIoZXZlbnQpO1xuICAgIH07XG5cbiAgICBwcml2YXRlIG1vdXNlQ2xpY2tIYW5kbGVyUHJveHkgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5tb3VzZUNsaWNrSGFuZGxlcihldmVudCk7XG4gICAgfTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHVibGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgZW1pdChldmVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMub2JzZXJ2ZXIubmV4dChldmVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmdldFJlZmVyZW5jZSgpLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmVsZW1lbnRzRGVzdHJveSgpO1xuXG4gICAgICAgIHRoaXMuX2NvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMubW91c2VDbGlja0hhbmRsZXJQcm94eSwgdHJ1ZSk7XG4gICAgICAgIHRoaXMuX2NvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLm1vdXNlRG93bkhhbmRsZXJQcm94eSk7XG5cbiAgICAgICAgaWYgKCFfLmlzTmlsKHRoaXMuY29udGVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudC5kZXN0cm95KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIV8uaXNOaWwodGhpcy5vYnNlcnZlcikpIHtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2ZXIgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wcm9wZXJ0aWVzID0gbnVsbDtcblxuICAgICAgICB0aGlzLl93cmFwcGVyID0gbnVsbDtcbiAgICAgICAgdGhpcy5fYmFja2Ryb3AgPSBudWxsO1xuICAgICAgICB0aGlzLl9jb250YWluZXIgPSBudWxsO1xuXG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5zaGFrZVRpbWVyKTtcbiAgICAgICAgdGhpcy5zaGFrZVRpbWVyID0gbnVsbDtcblxuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5yZXNpemVUaW1lcik7XG4gICAgICAgIHRoaXMucmVzaXplVGltZXIgPSBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBibGluaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0JsaW5rID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2hha2UoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzU2hha2luZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNTaGFraW5nID0gdHJ1ZTtcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnNoYWtlVGltZXIpO1xuICAgICAgICB0aGlzLnNoYWtlVGltZXIgPSBzZXRJbnRlcnZhbCh0aGlzLnN0b3BTaGFraW5nLCBXaW5kb3dJbXBsLlNIQUtFX0RFTEFZKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0T25Ub3AoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNXYXNPblRvcCA9IHRoaXMuaXNPblRvcDtcbiAgICAgICAgdGhpcy5lbWl0KFdpbmRvd0V2ZW50LlNFVF9PTl9UT1ApO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgU2l6ZSBNZXRob2RzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldFdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLndpZHRoO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRIZWlnaHQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGVpZ2h0O1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRXaWR0aCh2YWx1ZTogbnVtYmVyLCBpc05lZWROb3RpZnk6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIHRoaXMud2lkdGggPSB2YWx1ZTtcbiAgICAgICAgaWYgKGlzTmVlZE5vdGlmeSkge1xuICAgICAgICAgICAgdGhpcy5yZXNpemVIYW5kbGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0SGVpZ2h0KHZhbHVlOiBudW1iZXIsIGlzTmVlZE5vdGlmeTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oZWlnaHQgPSB2YWx1ZTtcbiAgICAgICAgaWYgKGlzTmVlZE5vdGlmeSkge1xuICAgICAgICAgICAgdGhpcy5yZXNpemVIYW5kbGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0U2l6ZSh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFdpZHRoKHdpZHRoLCBmYWxzZSk7XG4gICAgICAgIHRoaXMuc2V0SGVpZ2h0KGhlaWdodCwgZmFsc2UpO1xuICAgICAgICB0aGlzLnJlc2l6ZUhhbmRsZXIoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIE1vdmUgTWV0aG9kc1xuICAgIC8vXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIHB1YmxpYyBnZXRYKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLng7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFgodmFsdWU6IG51bWJlciwgaXNOZWVkTm90aWZ5OiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnggPSB2YWx1ZTtcbiAgICAgICAgaWYgKGlzTmVlZE5vdGlmeSkge1xuICAgICAgICAgICAgdGhpcy5lbWl0KFdpbmRvd0V2ZW50Lk1PVkVEKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRZKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnk7XG4gICAgfVxuICAgIHB1YmxpYyBzZXRZKHZhbHVlOiBudW1iZXIsIGlzTmVlZE5vdGlmeTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy55ID0gdmFsdWU7XG4gICAgICAgIGlmIChpc05lZWROb3RpZnkpIHtcbiAgICAgICAgICAgIHRoaXMuZW1pdChXaW5kb3dFdmVudC5NT1ZFRCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbW92ZSh4OiBudW1iZXIsIHk6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFgoeCwgZmFsc2UpO1xuICAgICAgICB0aGlzLnNldFkoeSwgZmFsc2UpO1xuICAgICAgICB0aGlzLmVtaXQoV2luZG93RXZlbnQuTU9WRUQpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy9cbiAgICAvLyAgUHJpdmF0ZSBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHJvdGVjdGVkIGdldCBpc0JsaW5rKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNCbGluaztcbiAgICB9XG4gICAgcHJvdGVjdGVkIHNldCBpc0JsaW5rKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5faXNCbGluaykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lzQmxpbmsgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jb21taXRJc0JsaW5rUHJvcGVydGllcygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaXNTaGFraW5nKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNTaGFraW5nO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgc2V0IGlzU2hha2luZyh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX2lzU2hha2luZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lzU2hha2luZyA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbW1pdElzU2hha2luZ1Byb3BlcnRpZXMoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vXG4gICAgLy8gIFB1YmxpYyBQcm9wZXJ0aWVzXG4gICAgLy9cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcHVibGljIGdldCBldmVudHMoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub2JzZXJ2ZXIuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjb25maWcoKTogV2luZG93Q29uZmlnIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcGVydGllcy5jb25maWc7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjb250ZW50KCk6IElXaW5kb3dDb250ZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcGVydGllcy5yZWZlcmVuY2UgPyB0aGlzLnByb3BlcnRpZXMucmVmZXJlbmNlLmNvbXBvbmVudEluc3RhbmNlIDogbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbnRhaW5lcigpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb250YWluZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB3cmFwcGVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3dyYXBwZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBiYWNrZHJvcCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9iYWNrZHJvcDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGlzT25Ub3AoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc09uVG9wO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGlzT25Ub3AodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbHVlID09PSB0aGlzLl9pc09uVG9wKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faXNPblRvcCA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbW1pdElzT25Ub3BQcm9wZXJ0aWVzKCk7XG4gICAgICAgIHRoaXMuZW1pdChXaW5kb3dFdmVudC5JU19PTl9UT1BfQ0hBTkdFRCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpc01pbmltaXplZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzTWluaW1pemVkO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGlzTWluaW1pemVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5faXNNaW5pbWl6ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pc01pbmltaXplZCA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbW1pdElzTWluaW1pemVkUHJvcGVydGllcygpO1xuICAgICAgICB0aGlzLmVtaXQoV2luZG93RXZlbnQuTUlOSU1JWkVEX0NIQU5HRUQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzRGlzYWJsZWQ7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgaXNEaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUgPT09IHRoaXMuX2lzRGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pc0Rpc2FibGVkID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY29tbWl0SXNEaXNhYmxlZFByb3BlcnRpZXMoKTtcbiAgICAgICAgdGhpcy5lbWl0KFdpbmRvd0V2ZW50LkRJU0FCTEVEX0NIQU5HRUQpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,58 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { MatDialogModule } from '@angular/material/dialog';
3
- import { CookieModule } from '../cookie/CookieModule';
4
- import { LanguageModule } from '../language/LanguageModule';
5
- import { WindowService } from './WindowService';
6
- import { CommonModule } from '@angular/common';
7
- import { FormsModule } from '@angular/forms';
8
- import { WindowDragAreaDirective } from './component/WindowDragAreaDirective';
9
- import { WindowQuestionComponent } from './component/window-question/window-question.component';
10
- import { WindowCloseElementComponent } from './component/window-close-element/window-close-element.component';
11
- import { WindowExpandElementComponent } from './component/window-expand-element/window-expand-element.component';
12
- import { WindowResizeElementComponent } from './component/window-resize-element/window-resize-element.component';
13
- import { WindowMinimizeElementComponent } from './component/window-minimize-element/window-minimize-element.component';
14
- import { MatButtonModule } from '@angular/material/button';
15
- import * as i0 from "@angular/core";
16
- const IMPORTS = [CommonModule, FormsModule, MatButtonModule, MatDialogModule, CookieModule, LanguageModule];
17
- const ENTRY_COMPONENTS = [
18
- WindowQuestionComponent,
19
- WindowCloseElementComponent,
20
- WindowExpandElementComponent,
21
- WindowResizeElementComponent,
22
- WindowMinimizeElementComponent
23
- ];
24
- const DECLARATIONS = [WindowDragAreaDirective, ...ENTRY_COMPONENTS];
25
- const EXPORTS = [...DECLARATIONS];
26
- export class WindowModule {
27
- // --------------------------------------------------------------------------
28
- //
29
- // Static Methods
30
- //
31
- // --------------------------------------------------------------------------
32
- static forRoot() {
33
- return {
34
- ngModule: WindowModule,
35
- providers: [WindowService]
36
- };
37
- }
38
- }
39
- WindowModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WindowModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
40
- WindowModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: WindowModule, declarations: [WindowDragAreaDirective, WindowQuestionComponent,
41
- WindowCloseElementComponent,
42
- WindowExpandElementComponent,
43
- WindowResizeElementComponent,
44
- WindowMinimizeElementComponent], imports: [CommonModule, FormsModule, MatButtonModule, MatDialogModule, CookieModule, LanguageModule], exports: [WindowDragAreaDirective, WindowQuestionComponent,
45
- WindowCloseElementComponent,
46
- WindowExpandElementComponent,
47
- WindowResizeElementComponent,
48
- WindowMinimizeElementComponent] });
49
- WindowModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WindowModule, imports: [IMPORTS] });
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: WindowModule, decorators: [{
51
- type: NgModule,
52
- args: [{
53
- imports: IMPORTS,
54
- declarations: DECLARATIONS,
55
- exports: EXPORTS
56
- }]
57
- }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93TW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dpbmRvdy9XaW5kb3dNb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDOUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDaEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFDOUcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDakgsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDakgsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFDdkgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUUzRCxNQUFNLE9BQU8sR0FBRyxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDNUcsTUFBTSxnQkFBZ0IsR0FBRztJQUNyQix1QkFBdUI7SUFDdkIsMkJBQTJCO0lBQzNCLDRCQUE0QjtJQUM1Qiw0QkFBNEI7SUFDNUIsOEJBQThCO0NBQ2pDLENBQUM7QUFDRixNQUFNLFlBQVksR0FBRyxDQUFDLHVCQUF1QixFQUFFLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQztBQUNwRSxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUM7QUFPbEMsTUFBTSxPQUFPLFlBQVk7SUFDckIsNkVBQTZFO0lBQzdFLEVBQUU7SUFDRixrQkFBa0I7SUFDbEIsRUFBRTtJQUNGLDZFQUE2RTtJQUV0RSxNQUFNLENBQUMsT0FBTztRQUNqQixPQUFPO1lBQ0gsUUFBUSxFQUFFLFlBQVk7WUFDdEIsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDO1NBQzdCLENBQUM7SUFDTixDQUFDOzt5R0FaUSxZQUFZOzBHQUFaLFlBQVksaUJBUkgsdUJBQXVCLEVBTnpDLHVCQUF1QjtRQUN2QiwyQkFBMkI7UUFDM0IsNEJBQTRCO1FBQzVCLDRCQUE0QjtRQUM1Qiw4QkFBOEIsYUFOakIsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxjQUFjLGFBUXBGLHVCQUF1QixFQU56Qyx1QkFBdUI7UUFDdkIsMkJBQTJCO1FBQzNCLDRCQUE0QjtRQUM1Qiw0QkFBNEI7UUFDNUIsOEJBQThCOzBHQVVyQixZQUFZLFlBSlosT0FBTzsyRkFJUCxZQUFZO2tCQUx4QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxPQUFPO29CQUNoQixZQUFZLEVBQUUsWUFBWTtvQkFDMUIsT0FBTyxFQUFFLE9BQU87aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBDb29raWVNb2R1bGUgfSBmcm9tICcuLi9jb29raWUvQ29va2llTW9kdWxlJztcbmltcG9ydCB7IExhbmd1YWdlTW9kdWxlIH0gZnJvbSAnLi4vbGFuZ3VhZ2UvTGFuZ3VhZ2VNb2R1bGUnO1xuaW1wb3J0IHsgV2luZG93U2VydmljZSB9IGZyb20gJy4vV2luZG93U2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBXaW5kb3dEcmFnQXJlYURpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50L1dpbmRvd0RyYWdBcmVhRGlyZWN0aXZlJztcbmltcG9ydCB7IFdpbmRvd1F1ZXN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvd2luZG93LXF1ZXN0aW9uL3dpbmRvdy1xdWVzdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2luZG93Q2xvc2VFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvd2luZG93LWNsb3NlLWVsZW1lbnQvd2luZG93LWNsb3NlLWVsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IFdpbmRvd0V4cGFuZEVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC93aW5kb3ctZXhwYW5kLWVsZW1lbnQvd2luZG93LWV4cGFuZC1lbGVtZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXaW5kb3dSZXNpemVFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvd2luZG93LXJlc2l6ZS1lbGVtZW50L3dpbmRvdy1yZXNpemUtZWxlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2luZG93TWluaW1pemVFbGVtZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvd2luZG93LW1pbmltaXplLWVsZW1lbnQvd2luZG93LW1pbmltaXplLWVsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbmNvbnN0IElNUE9SVFMgPSBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXREaWFsb2dNb2R1bGUsIENvb2tpZU1vZHVsZSwgTGFuZ3VhZ2VNb2R1bGVdO1xuY29uc3QgRU5UUllfQ09NUE9ORU5UUyA9IFtcbiAgICBXaW5kb3dRdWVzdGlvbkNvbXBvbmVudCxcbiAgICBXaW5kb3dDbG9zZUVsZW1lbnRDb21wb25lbnQsXG4gICAgV2luZG93RXhwYW5kRWxlbWVudENvbXBvbmVudCxcbiAgICBXaW5kb3dSZXNpemVFbGVtZW50Q29tcG9uZW50LFxuICAgIFdpbmRvd01pbmltaXplRWxlbWVudENvbXBvbmVudFxuXTtcbmNvbnN0IERFQ0xBUkFUSU9OUyA9IFtXaW5kb3dEcmFnQXJlYURpcmVjdGl2ZSwgLi4uRU5UUllfQ09NUE9ORU5UU107XG5jb25zdCBFWFBPUlRTID0gWy4uLkRFQ0xBUkFUSU9OU107XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogSU1QT1JUUyxcbiAgICBkZWNsYXJhdGlvbnM6IERFQ0xBUkFUSU9OUyxcbiAgICBleHBvcnRzOiBFWFBPUlRTXG59KVxuZXhwb3J0IGNsYXNzIFdpbmRvd01vZHVsZSB7XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvL1xuICAgIC8vIFx0U3RhdGljIE1ldGhvZHNcbiAgICAvL1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwdWJsaWMgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxXaW5kb3dNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBXaW5kb3dNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtXaW5kb3dTZXJ2aWNlXVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2luZG93UHJvcGVydGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93aW5kb3cvV2luZG93UHJvcGVydGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBJV2luZG93Q29udGVudCB9IGZyb20gJy4vSVdpbmRvd0NvbnRlbnQnO1xuaW1wb3J0IHsgV2luZG93Q29uZmlnIH0gZnJvbSAnLi9XaW5kb3dDb25maWcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFdpbmRvd1Byb3BlcnRpZXM8VSA9IGFueT4ge1xuICAgIHJlZmVyZW5jZT86IE1hdERpYWxvZ1JlZjxJV2luZG93Q29udGVudDxVPj47XG4gICAgY29uZmlnPzogV2luZG93Q29uZmlnO1xuICAgIG92ZXJsYXk/OiBPdmVybGF5UmVmO1xufVxuIl19