ngx-tethys 15.2.5 → 15.2.7

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 (41) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/color-picker/color-picker.component.d.ts +30 -6
  3. package/esm2020/color-picker/color-picker.component.mjs +121 -19
  4. package/esm2020/dialog/header/dialog-header.component.mjs +3 -3
  5. package/esm2020/layout/sidebar.component.mjs +10 -3
  6. package/esm2020/popover/header/popover-header.component.mjs +3 -3
  7. package/esm2020/slide/slide-header/slide-header.component.mjs +3 -3
  8. package/esm2020/tree/tree-node.component.mjs +9 -7
  9. package/esm2020/version.mjs +2 -2
  10. package/fesm2015/ngx-tethys-color-picker.mjs +119 -18
  11. package/fesm2015/ngx-tethys-color-picker.mjs.map +1 -1
  12. package/fesm2015/ngx-tethys-dialog.mjs +2 -2
  13. package/fesm2015/ngx-tethys-dialog.mjs.map +1 -1
  14. package/fesm2015/ngx-tethys-layout.mjs +9 -2
  15. package/fesm2015/ngx-tethys-layout.mjs.map +1 -1
  16. package/fesm2015/ngx-tethys-popover.mjs +2 -2
  17. package/fesm2015/ngx-tethys-popover.mjs.map +1 -1
  18. package/fesm2015/ngx-tethys-slide.mjs +2 -2
  19. package/fesm2015/ngx-tethys-slide.mjs.map +1 -1
  20. package/fesm2015/ngx-tethys-tree.mjs +8 -6
  21. package/fesm2015/ngx-tethys-tree.mjs.map +1 -1
  22. package/fesm2015/ngx-tethys.mjs +1 -1
  23. package/fesm2015/ngx-tethys.mjs.map +1 -1
  24. package/fesm2020/ngx-tethys-color-picker.mjs +117 -17
  25. package/fesm2020/ngx-tethys-color-picker.mjs.map +1 -1
  26. package/fesm2020/ngx-tethys-dialog.mjs +2 -2
  27. package/fesm2020/ngx-tethys-dialog.mjs.map +1 -1
  28. package/fesm2020/ngx-tethys-layout.mjs +9 -2
  29. package/fesm2020/ngx-tethys-layout.mjs.map +1 -1
  30. package/fesm2020/ngx-tethys-popover.mjs +2 -2
  31. package/fesm2020/ngx-tethys-popover.mjs.map +1 -1
  32. package/fesm2020/ngx-tethys-slide.mjs +2 -2
  33. package/fesm2020/ngx-tethys-slide.mjs.map +1 -1
  34. package/fesm2020/ngx-tethys-tree.mjs +8 -6
  35. package/fesm2020/ngx-tethys-tree.mjs.map +1 -1
  36. package/fesm2020/ngx-tethys.mjs +1 -1
  37. package/fesm2020/ngx-tethys.mjs.map +1 -1
  38. package/layout/sidebar.component.d.ts +2 -0
  39. package/package.json +1 -1
  40. package/schematics/version.d.ts +1 -1
  41. package/schematics/version.js +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,35 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [15.2.7](https://github.com/atinc/ngx-tethys/compare/15.2.4...15.2.7) (2023-05-04)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **date-picker:** compatibility null values at updateHourMinute ([#2633](https://github.com/atinc/ngx-tethys/issues/2633)) ([1207c47](https://github.com/atinc/ngx-tethys/commit/1207c473f98c18d8a30dc4d2e00b002b86aeb246))
11
+ * **layout:** collapse dom appears when the mouse hovers over the sidebar #INFR-5569 ([#2616](https://github.com/atinc/ngx-tethys/issues/2616)) ([e9b925d](https://github.com/atinc/ngx-tethys/commit/e9b925dce96175ac8f2b6eb1a48503391f877fc3)), closes [#INFR-5569](https://github.com/atinc/ngx-tethys/issues/INFR-5569) [#INFR-5569](https://github.com/atinc/ngx-tethys/issues/INFR-5569)
12
+ * **layout:** fix can't operate layout content ([#2635](https://github.com/atinc/ngx-tethys/issues/2635)) ([0c7ce6f](https://github.com/atinc/ngx-tethys/commit/0c7ce6f506db35fec9f523b2b3f5087df8810d64))
13
+ * **tree:** fix the problem of clicking to disable the parent node #INFR-7545 ([#2639](https://github.com/atinc/ngx-tethys/issues/2639)) ([4936aba](https://github.com/atinc/ngx-tethys/commit/4936aba4890c891f5792bf46d6df86802e095e3a)), closes [#INFR-7545](https://github.com/atinc/ngx-tethys/issues/INFR-7545)
14
+
15
+
16
+ ### Features
17
+
18
+ * **color-picker:** support hover trigger #INFR-7525 ([#2642](https://github.com/atinc/ngx-tethys/issues/2642)) ([78b5c7a](https://github.com/atinc/ngx-tethys/commit/78b5c7ac34e5fc897cbdac40579c12aeee25d991)), closes [#INFR-7525](https://github.com/atinc/ngx-tethys/issues/INFR-7525)
19
+ * **color-picker:** support thyPlacement params #INFR-7526 ([#2637](https://github.com/atinc/ngx-tethys/issues/2637)) ([366f742](https://github.com/atinc/ngx-tethys/commit/366f742859fd39c4f61ff04c2715aae96632a05b)), closes [#INFR-7526](https://github.com/atinc/ngx-tethys/issues/INFR-7526)
20
+
21
+
22
+
23
+ ## [15.2.6](https://github.com/atinc/ngx-tethys/compare/15.2.4...15.2.6) (2023-04-26)
24
+
25
+
26
+ ### Bug Fixes
27
+
28
+ * **date-picker:** compatibility null values at updateHourMinute ([#2633](https://github.com/atinc/ngx-tethys/issues/2633)) ([1207c47](https://github.com/atinc/ngx-tethys/commit/1207c473f98c18d8a30dc4d2e00b002b86aeb246))
29
+ * **layout:** collapse dom appears when the mouse hovers over the sidebar #INFR-5569 ([#2616](https://github.com/atinc/ngx-tethys/issues/2616)) ([e9b925d](https://github.com/atinc/ngx-tethys/commit/e9b925dce96175ac8f2b6eb1a48503391f877fc3)), closes [#INFR-5569](https://github.com/atinc/ngx-tethys/issues/INFR-5569) [#INFR-5569](https://github.com/atinc/ngx-tethys/issues/INFR-5569)
30
+ * **layout:** fix can't operate layout content ([#2635](https://github.com/atinc/ngx-tethys/issues/2635)) ([0c7ce6f](https://github.com/atinc/ngx-tethys/commit/0c7ce6f506db35fec9f523b2b3f5087df8810d64))
31
+
32
+
33
+
5
34
  ## [15.2.5](https://github.com/atinc/ngx-tethys/compare/15.2.4...15.2.5) (2023-04-26)
6
35
 
7
36
 
@@ -1,14 +1,17 @@
1
+ import { FocusMonitor } from '@angular/cdk/a11y';
2
+ import { Platform } from '@angular/cdk/platform';
1
3
  import { ElementRef, EventEmitter, NgZone, OnDestroy, OnInit } from '@angular/core';
4
+ import { ThyOverlayDirectiveBase, ThyPlacement, ThyOverlayTrigger } from 'ngx-tethys/core';
2
5
  import { ThyPopover } from 'ngx-tethys/popover';
3
6
  import * as i0 from "@angular/core";
4
7
  /**
5
8
  * 颜色选择组件
6
9
  * @name thyColorPicker
7
10
  */
8
- export declare class ThyColorPickerDirective implements OnInit, OnDestroy {
11
+ export declare class ThyColorPickerDirective extends ThyOverlayDirectiveBase implements OnInit, OnDestroy {
9
12
  private thyPopover;
10
13
  private zone;
11
- private elementRef;
14
+ protected elementRef: ElementRef<HTMLElement>;
12
15
  /**
13
16
  * 弹框偏移量。
14
17
  * @type number
@@ -30,6 +33,11 @@ export declare class ThyColorPickerDirective implements OnInit, OnDestroy {
30
33
  * 预设的快捷选择颜色。
31
34
  */
32
35
  thyPresetColors: string[];
36
+ /**
37
+ * 颜色面板弹出位置 'top' | 'topLeft' | 'topRight' | 'bottom' | 'bottomLeft' | 'bottomRight' | 'left' | 'leftTop' | 'leftBottom' | 'right' | 'rightTop' | 'rightBottom'
38
+ * @type ThyPlacement
39
+ */
40
+ thyPlacement: ThyPlacement;
33
41
  /**
34
42
  * panel 展开后触发
35
43
  */
@@ -38,21 +46,37 @@ export declare class ThyColorPickerDirective implements OnInit, OnDestroy {
38
46
  * panel 关闭后触发
39
47
  */
40
48
  thyPanelClose: EventEmitter<void>;
49
+ /**
50
+ * 弹出悬浮层的触发方式
51
+ * @type 'hover' | 'click'
52
+ * @default click
53
+ */
54
+ set thyTrigger(trigger: ThyOverlayTrigger);
55
+ /**
56
+ * 显示延迟时间
57
+ */
58
+ set thyShowDelay(value: number);
59
+ /**
60
+ * 隐藏延迟时间
61
+ */
62
+ set thyHideDelay(value: number);
41
63
  private onChangeFn;
42
64
  private onTouchFn;
43
65
  color: string;
44
66
  private popoverRef;
67
+ private closePanel;
45
68
  private destroy$;
46
69
  get backgroundColor(): string;
47
- constructor(thyPopover: ThyPopover, zone: NgZone, elementRef: ElementRef<HTMLElement>);
70
+ constructor(thyPopover: ThyPopover, zone: NgZone, elementRef: ElementRef<HTMLElement>, platform: Platform, focusMonitor: FocusMonitor);
48
71
  ngOnInit(): void;
49
- togglePanel(event: Event): void;
50
- hide(): void;
72
+ togglePanel(): import("@angular/cdk/overlay").OverlayRef;
73
+ show(delay?: number): void;
74
+ hide(delay?: number): void;
51
75
  writeValue(value: string): void;
52
76
  registerOnChange(fn: any): void;
53
77
  registerOnTouched(fn: any): void;
54
78
  onModelChange(value: string): void;
55
79
  ngOnDestroy(): void;
56
80
  static ɵfac: i0.ɵɵFactoryDeclaration<ThyColorPickerDirective, never>;
57
- static ɵdir: i0.ɵɵDirectiveDeclaration<ThyColorPickerDirective, "[thyColorPicker]", never, { "thyOffset": "thyOffset"; "thyHasBackdrop": "thyHasBackdrop"; "thyDefaultColor": "thyDefaultColor"; "thyTransparentColorSelectable": "thyTransparentColorSelectable"; "thyPresetColors": "thyPresetColors"; }, { "thyPanelOpen": "thyPanelOpen"; "thyPanelClose": "thyPanelClose"; }, never, never, true, never>;
81
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ThyColorPickerDirective, "[thyColorPicker]", never, { "thyOffset": "thyOffset"; "thyHasBackdrop": "thyHasBackdrop"; "thyDefaultColor": "thyDefaultColor"; "thyTransparentColorSelectable": "thyTransparentColorSelectable"; "thyPresetColors": "thyPresetColors"; "thyPlacement": "thyPlacement"; "thyTrigger": "thyTrigger"; "thyShowDelay": "thyShowDelay"; "thyHideDelay": "thyHideDelay"; }, { "thyPanelOpen": "thyPanelOpen"; "thyPanelClose": "thyPanelClose"; }, never, never, true, never>;
58
82
  }
@@ -1,24 +1,49 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
+ import { FocusMonitor } from '@angular/cdk/a11y';
3
+ import { Platform } from '@angular/cdk/platform';
2
4
  import { Directive, ElementRef, EventEmitter, forwardRef, Input, NgZone, Output } from '@angular/core';
3
5
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import { InputBoolean, InputNumber } from 'ngx-tethys/core';
6
+ import { InputBoolean, InputNumber, ThyOverlayDirectiveBase } from 'ngx-tethys/core';
5
7
  import { ThyPopover } from 'ngx-tethys/popover';
6
8
  import { fromEvent, Subject } from 'rxjs';
7
- import { takeUntil } from 'rxjs/operators';
8
9
  import { ThyColorPickerPanelComponent } from './color-picker-panel.component';
9
10
  import { DEFAULT_COLORS } from './constant';
10
11
  import ThyColor from './helpers/color.class';
12
+ import { takeUntil } from 'rxjs/operators';
11
13
  import * as i0 from "@angular/core";
12
14
  import * as i1 from "ngx-tethys/popover";
15
+ import * as i2 from "@angular/cdk/platform";
16
+ import * as i3 from "@angular/cdk/a11y";
13
17
  /**
14
18
  * 颜色选择组件
15
19
  * @name thyColorPicker
16
20
  */
17
- export class ThyColorPickerDirective {
21
+ export class ThyColorPickerDirective extends ThyOverlayDirectiveBase {
22
+ /**
23
+ * 弹出悬浮层的触发方式
24
+ * @type 'hover' | 'click'
25
+ * @default click
26
+ */
27
+ set thyTrigger(trigger) {
28
+ this.trigger = trigger;
29
+ }
30
+ /**
31
+ * 显示延迟时间
32
+ */
33
+ set thyShowDelay(value) {
34
+ this.showDelay = value;
35
+ }
36
+ /**
37
+ * 隐藏延迟时间
38
+ */
39
+ set thyHideDelay(value) {
40
+ this.hideDelay = value;
41
+ }
18
42
  get backgroundColor() {
19
43
  return this.color;
20
44
  }
21
- constructor(thyPopover, zone, elementRef) {
45
+ constructor(thyPopover, zone, elementRef, platform, focusMonitor) {
46
+ super(elementRef, platform, focusMonitor, zone, true);
22
47
  this.thyPopover = thyPopover;
23
48
  this.zone = zone;
24
49
  this.elementRef = elementRef;
@@ -39,6 +64,11 @@ export class ThyColorPickerDirective {
39
64
  * 预设的快捷选择颜色。
40
65
  */
41
66
  this.thyPresetColors = DEFAULT_COLORS;
67
+ /**
68
+ * 颜色面板弹出位置 'top' | 'topLeft' | 'topRight' | 'bottom' | 'bottomLeft' | 'bottomRight' | 'left' | 'leftTop' | 'leftBottom' | 'right' | 'rightTop' | 'rightBottom'
69
+ * @type ThyPlacement
70
+ */
71
+ this.thyPlacement = 'bottom';
42
72
  /**
43
73
  * panel 展开后触发
44
74
  */
@@ -49,32 +79,56 @@ export class ThyColorPickerDirective {
49
79
  this.thyPanelClose = new EventEmitter();
50
80
  this.onChangeFn = () => { };
51
81
  this.onTouchFn = () => { };
82
+ this.closePanel = true;
52
83
  this.destroy$ = new Subject();
53
84
  }
54
85
  ngOnInit() {
55
- this.zone.runOutsideAngular(() => {
56
- fromEvent(this.elementRef.nativeElement, 'click')
57
- .pipe(takeUntil(this.destroy$))
58
- .subscribe(event => {
59
- this.zone.run(() => this.togglePanel(event));
86
+ this.initialize();
87
+ if (this.trigger === 'hover') {
88
+ this.ngZone.runOutsideAngular(() => {
89
+ return fromEvent(document, 'mousemove')
90
+ .pipe(takeUntil(this.destroy$))
91
+ .subscribe(event => {
92
+ if (this.popoverRef?.getOverlayRef()?.hasAttached()) {
93
+ if (this.elementRef.nativeElement.contains(event.target) ||
94
+ event.target.closest('.thy-color-picker-custom-panel') ||
95
+ !!event.target.querySelector('.thy-color-picker-custom-panel') ||
96
+ this.popoverRef.getOverlayRef()?.hostElement?.contains(event.target)) {
97
+ this.closePanel = false;
98
+ }
99
+ else {
100
+ this.closePanel = true;
101
+ this.popoverRef.close();
102
+ }
103
+ }
104
+ });
60
105
  });
61
- });
106
+ }
62
107
  }
63
- togglePanel(event) {
108
+ togglePanel() {
109
+ this.closePanel = false;
64
110
  this.popoverRef = this.thyPopover.open(ThyColorPickerPanelComponent, {
65
- origin: event.currentTarget,
111
+ origin: this.elementRef.nativeElement,
66
112
  offset: this.thyOffset,
67
113
  manualClosure: true,
68
114
  width: '286px',
115
+ placement: this.thyPlacement,
69
116
  originActiveClass: 'thy-default-picker-active',
70
117
  hasBackdrop: this.thyHasBackdrop,
71
118
  outsideClosable: false,
119
+ canClose: () => {
120
+ if (this.trigger === 'hover') {
121
+ return this.closePanel;
122
+ }
123
+ return true;
124
+ },
72
125
  initialState: {
73
126
  color: new ThyColor(this.color).toHexString(true),
74
127
  defaultColor: this.thyDefaultColor,
75
128
  transparentColorSelectable: this.thyTransparentColorSelectable,
76
129
  defaultColors: this.thyPresetColors,
77
130
  colorChange: (value) => {
131
+ this.closePanel = true;
78
132
  this.onModelChange(value);
79
133
  }
80
134
  }
@@ -100,9 +154,36 @@ export class ThyColorPickerDirective {
100
154
  }
101
155
  });
102
156
  }
157
+ return this.popoverRef.getOverlayRef();
103
158
  }
104
- hide() {
105
- this.popoverRef?.getOverlayRef()?.hasAttached() && this.popoverRef.close();
159
+ show(delay = this.showDelay) {
160
+ if (this.hideTimeoutId) {
161
+ clearTimeout(this.hideTimeoutId);
162
+ this.hideTimeoutId = null;
163
+ }
164
+ if (this.disabled || (this.overlayRef && this.overlayRef.hasAttached())) {
165
+ return;
166
+ }
167
+ if (this.trigger !== 'hover') {
168
+ delay = 0;
169
+ }
170
+ this.showTimeoutId = setTimeout(() => {
171
+ const overlayRef = this.togglePanel();
172
+ this.overlayRef = overlayRef;
173
+ this.showTimeoutId = null;
174
+ }, delay);
175
+ }
176
+ hide(delay = this.hideDelay) {
177
+ if (this.showTimeoutId) {
178
+ clearTimeout(this.showTimeoutId);
179
+ this.showTimeoutId = null;
180
+ }
181
+ this.hideTimeoutId = setTimeout(() => {
182
+ if (this.popoverRef) {
183
+ this.popoverRef?.getOverlayRef()?.hasAttached() && this.popoverRef.close();
184
+ }
185
+ this.hideTimeoutId = null;
186
+ }, delay);
106
187
  }
107
188
  writeValue(value) {
108
189
  this.color = value;
@@ -121,17 +202,18 @@ export class ThyColorPickerDirective {
121
202
  this.destroy$.next();
122
203
  this.destroy$.complete();
123
204
  this.hide();
205
+ this.dispose();
124
206
  this.popoverRef = null;
125
207
  }
126
208
  }
127
- ThyColorPickerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ThyColorPickerDirective, deps: [{ token: i1.ThyPopover }, { token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
128
- ThyColorPickerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: ThyColorPickerDirective, isStandalone: true, selector: "[thyColorPicker]", inputs: { thyOffset: "thyOffset", thyHasBackdrop: "thyHasBackdrop", thyDefaultColor: "thyDefaultColor", thyTransparentColorSelectable: "thyTransparentColorSelectable", thyPresetColors: "thyPresetColors" }, outputs: { thyPanelOpen: "thyPanelOpen", thyPanelClose: "thyPanelClose" }, providers: [
209
+ ThyColorPickerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ThyColorPickerDirective, deps: [{ token: i1.ThyPopover }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: i2.Platform }, { token: i3.FocusMonitor }], target: i0.ɵɵFactoryTarget.Directive });
210
+ ThyColorPickerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: ThyColorPickerDirective, isStandalone: true, selector: "[thyColorPicker]", inputs: { thyOffset: "thyOffset", thyHasBackdrop: "thyHasBackdrop", thyDefaultColor: "thyDefaultColor", thyTransparentColorSelectable: "thyTransparentColorSelectable", thyPresetColors: "thyPresetColors", thyPlacement: "thyPlacement", thyTrigger: "thyTrigger", thyShowDelay: "thyShowDelay", thyHideDelay: "thyHideDelay" }, outputs: { thyPanelOpen: "thyPanelOpen", thyPanelClose: "thyPanelClose" }, providers: [
129
211
  {
130
212
  provide: NG_VALUE_ACCESSOR,
131
213
  multi: true,
132
214
  useExisting: forwardRef(() => ThyColorPickerDirective)
133
215
  }
134
- ], ngImport: i0 });
216
+ ], usesInheritance: true, ngImport: i0 });
135
217
  __decorate([
136
218
  InputNumber(),
137
219
  __metadata("design:type", Number)
@@ -144,6 +226,16 @@ __decorate([
144
226
  InputBoolean(),
145
227
  __metadata("design:type", Boolean)
146
228
  ], ThyColorPickerDirective.prototype, "thyTransparentColorSelectable", void 0);
229
+ __decorate([
230
+ InputNumber(),
231
+ __metadata("design:type", Number),
232
+ __metadata("design:paramtypes", [Number])
233
+ ], ThyColorPickerDirective.prototype, "thyShowDelay", null);
234
+ __decorate([
235
+ InputNumber(),
236
+ __metadata("design:type", Number),
237
+ __metadata("design:paramtypes", [Number])
238
+ ], ThyColorPickerDirective.prototype, "thyHideDelay", null);
147
239
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ThyColorPickerDirective, decorators: [{
148
240
  type: Directive,
149
241
  args: [{
@@ -157,7 +249,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
157
249
  ],
158
250
  standalone: true
159
251
  }]
160
- }], ctorParameters: function () { return [{ type: i1.ThyPopover }, { type: i0.NgZone }, { type: i0.ElementRef }]; }, propDecorators: { thyOffset: [{
252
+ }], ctorParameters: function () { return [{ type: i1.ThyPopover }, { type: i0.NgZone }, { type: i0.ElementRef }, { type: i2.Platform }, { type: i3.FocusMonitor }]; }, propDecorators: { thyOffset: [{
161
253
  type: Input
162
254
  }], thyHasBackdrop: [{
163
255
  type: Input
@@ -167,9 +259,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
167
259
  type: Input
168
260
  }], thyPresetColors: [{
169
261
  type: Input
262
+ }], thyPlacement: [{
263
+ type: Input
170
264
  }], thyPanelOpen: [{
171
265
  type: Output
172
266
  }], thyPanelClose: [{
173
267
  type: Output
268
+ }], thyTrigger: [{
269
+ type: Input
270
+ }], thyShowDelay: [{
271
+ type: Input,
272
+ args: ['thyShowDelay']
273
+ }], thyHideDelay: [{
274
+ type: Input,
275
+ args: ['thyHideDelay']
174
276
  }] } });
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2xvci1waWNrZXIvY29sb3ItcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFpQixNQUFNLG9CQUFvQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVDLE9BQU8sUUFBUSxNQUFNLHVCQUF1QixDQUFDOzs7QUFFN0M7OztHQUdHO0FBWUgsTUFBTSxPQUFPLHVCQUF1QjtJQStDaEMsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBb0IsVUFBc0IsRUFBVSxJQUFZLEVBQVUsVUFBbUM7UUFBekYsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLFNBQUksR0FBSixJQUFJLENBQVE7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQWxEN0c7OztXQUdHO1FBQ3FCLGNBQVMsR0FBVyxDQUFDLENBQUM7UUFFOUM7O1dBRUc7UUFDc0IsbUJBQWMsR0FBWSxJQUFJLENB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QVV4RDtJQUFVLFlBQVksRUFBRTs7OEVBQStDOzJGQXBCOUQsdUJBQXVCO2tCQVhuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixLQUFLLEVBQUUsSUFBSTs0QkFDWCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzt5QkFDekQ7cUJBQ0o7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ25COytJQU0yQixTQUFTO3NCQUFoQyxLQUFLO2dCQUttQixjQUFjO3NCQUF0QyxLQUFLO2dCQUtHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBS21CLDZCQUE2QjtzQkFBckQsS0FBSztnQkFLRyxlQUFlO3NCQUF2QixLQUFLO2dCQUtJLFlBQVk7c0JBQXJCLE1BQU07Z0JBS0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElucHV0Qm9vbGVhbiwgSW5wdXROdW1iZXIgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlciwgVGh5UG9wb3ZlclJlZiB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRoeUNvbG9yUGlja2VyUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbG9yLXBpY2tlci1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgREVGQVVMVF9DT0xPUlMgfSBmcm9tICcuL2NvbnN0YW50JztcbmltcG9ydCBUaHlDb2xvciBmcm9tICcuL2hlbHBlcnMvY29sb3IuY2xhc3MnO1xuXG4vKipcbiAqIOminOiJsumAieaLqee7hOS7tlxuICogQG5hbWUgdGh5Q29sb3JQaWNrZXJcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdGh5Q29sb3JQaWNrZXJdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRoeUNvbG9yUGlja2VyRGlyZWN0aXZlKVxuICAgICAgICB9XG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRoeUNvbG9yUGlja2VyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIOW8ueahhuWBj+enu+mHj+OAglxuICAgICAqIEB0eXBlICBudW1iZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXROdW1iZXIoKSB0aHlPZmZzZXQ6IG51bWJlciA9IDA7XG5cbiAgICAvKipcbiAgICAgKiDpopzoibLpgInmi6npnaLmnb/mmK/lkKbmnInluZXluIPjgIJcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgdGh5SGFzQmFja2Ryb3A6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog6K6+572u6aKc6Imy6YCJ5oup6Z2i5p2/55qE6buY6K6k6aKc6Imy6YCJ6aG55YC844CCXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5RGVmYXVsdENvbG9yOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmmL7npLon5peg5aGr5YWF6ImyJ+mAiemhueOAglxuICAgICAqL1xuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSB0aHlUcmFuc3BhcmVudENvbG9yU2VsZWN0YWJsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDpooTorr7nmoTlv6vmjbfpgInmi6npopzoibLjgIJcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlQcmVzZXRDb2xvcnM6IHN0cmluZ1tdID0gREVGQVVMVF9DT0xPUlM7XG5cbiAgICAvKipcbiAgICAgKiBwYW5lbCDlsZXlvIDlkI7op6blj5FcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5UGFuZWxPcGVuOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBwYW5lbCDlhbPpl63lkI7op6blj5FcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdGh5UGFuZWxDbG9zZTogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgcHJpdmF0ZSBvbkNoYW5nZUZuOiAodmFsdWU6IG51bWJlciB8IHN0cmluZykgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgcHJpdmF0ZSBvblRvdWNoRm46ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIGNvbG9yOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIHBvcG92ZXJSZWY6IFRoeVBvcG92ZXJSZWY8VGh5Q29sb3JQaWNrZXJQYW5lbENvbXBvbmVudD47XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHB1YmxpYyBnZXQgYmFja2dyb3VuZENvbG9yKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbG9yO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdGh5UG9wb3ZlcjogVGh5UG9wb3ZlciwgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGZyb21FdmVudDxFdmVudD4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnpvbmUucnVuKCgpID0+IHRoaXMudG9nZ2xlUGFuZWwoZXZlbnQpKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdG9nZ2xlUGFuZWwoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIHRoaXMucG9wb3ZlclJlZiA9IHRoaXMudGh5UG9wb3Zlci5vcGVuKFRoeUNvbG9yUGlja2VyUGFuZWxDb21wb25lbnQsIHtcbiAgICAgICAgICAgIG9yaWdpbjogZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIG9mZnNldDogdGhpcy50aHlPZmZzZXQsXG4gICAgICAgICAgICBtYW51YWxDbG9zdXJlOiB0cnVlLFxuICAgICAgICAgICAgd2lkdGg6ICcyODZweCcsXG4gICAgICAgICAgICBvcmlnaW5BY3RpdmVDbGFzczogJ3RoeS1kZWZhdWx0LXBpY2tlci1hY3RpdmUnLFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IHRoaXMudGh5SGFzQmFja2Ryb3AsXG4gICAgICAgICAgICBvdXRzaWRlQ2xvc2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG5ldyBUaHlDb2xvcih0aGlzLmNvbG9yKS50b0hleFN0cmluZyh0cnVlKSxcbiAgICAgICAgICAgICAgICBkZWZhdWx0Q29sb3I6IHRoaXMudGh5RGVmYXVsdENvbG9yLFxuICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50Q29sb3JTZWxlY3RhYmxlOiB0aGlzLnRoeVRyYW5zcGFyZW50Q29sb3JTZWxlY3RhYmxlLFxuICAgICAgICAgICAgICAgIGRlZmF1bHRDb2xvcnM6IHRoaXMudGh5UHJlc2V0Q29sb3JzLFxuICAgICAgICAgICAgICAgIGNvbG9yQ2hhbmdlOiAodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uTW9kZWxDaGFuZ2UodmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlmICh0aGlzLnBvcG92ZXJSZWYpIHtcbiAgICAgICAgICAgIHRoaXMucG9wb3ZlclJlZi5hZnRlck9wZW5lZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50aHlQYW5lbE9wZW4uZW1pdCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXJSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudGh5UGFuZWxDbG9zZS5lbWl0KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5wb3BvdmVyUmVmICYmICF0aGlzLnRoeUhhc0JhY2tkcm9wKSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXJSZWZcbiAgICAgICAgICAgICAgICAuZ2V0T3ZlcmxheVJlZigpXG4gICAgICAgICAgICAgICAgLm91dHNpZGVQb2ludGVyRXZlbnRzKClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoJy50aHktY29sb3ItcGlja2VyLWN1c3RvbS1wYW5lbCcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLnBvcG92ZXJSZWYuZ2V0T3ZlcmxheVJlZigpLmhvc3RFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoaWRlKCkge1xuICAgICAgICB0aGlzLnBvcG92ZXJSZWY/LmdldE92ZXJsYXlSZWYoKT8uaGFzQXR0YWNoZWQoKSAmJiB0aGlzLnBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb2xvciA9IHZhbHVlO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlRm4gPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaEZuID0gZm47XG4gICAgfVxuXG4gICAgb25Nb2RlbENoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29sb3IgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUZuKHZhbHVlKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgIHRoaXMucG9wb3ZlclJlZiA9IG51bGw7XG4gICAgfVxufVxuIl19
277
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2xvci1waWNrZXIvY29sb3ItcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBbUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN0SCxPQUFPLEVBQUUsVUFBVSxFQUFpQixNQUFNLG9CQUFvQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUMsT0FBTyxRQUFRLE1BQU0sdUJBQXVCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUUzQzs7O0dBR0c7QUFZSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsdUJBQXVCO0lBMkNoRTs7OztPQUlHO0lBQ0gsSUFBYSxVQUFVLENBQUMsT0FBMEI7UUFDOUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFFSSxZQUFZLENBQUMsS0FBYTtRQUMxQixJQUFJLENB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b250ZW50IjpbImltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElucHV0Qm9vbGVhbiwgSW5wdXROdW1iZXIsIFRoeU92ZXJsYXlEaXJlY3RpdmVCYXNlLCBUaHlQbGFjZW1lbnQsIFRoeU92ZXJsYXlUcmlnZ2VyIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUaHlDb2xvclBpY2tlclBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9jb2xvci1waWNrZXItcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IERFRkFVTFRfQ09MT1JTIH0gZnJvbSAnLi9jb25zdGFudCc7XG5pbXBvcnQgVGh5Q29sb3IgZnJvbSAnLi9oZWxwZXJzL2NvbG9yLmNsYXNzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gKiDpopzoibLpgInmi6nnu4Tku7ZcbiAqIEBuYW1lIHRoeUNvbG9yUGlja2VyXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3RoeUNvbG9yUGlja2VyXScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUaHlDb2xvclBpY2tlckRpcmVjdGl2ZSlcbiAgICAgICAgfVxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUaHlDb2xvclBpY2tlckRpcmVjdGl2ZSBleHRlbmRzIFRoeU92ZXJsYXlEaXJlY3RpdmVCYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIOW8ueahhuWBj+enu+mHj+OAglxuICAgICAqIEB0eXBlICBudW1iZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXROdW1iZXIoKSB0aHlPZmZzZXQ6IG51bWJlciA9IDA7XG5cbiAgICAvKipcbiAgICAgKiDpopzoibLpgInmi6npnaLmnb/mmK/lkKbmnInluZXluIPjgIJcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgdGh5SGFzQmFja2Ryb3A6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog6K6+572u6aKc6Imy6YCJ5oup6Z2i5p2/55qE6buY6K6k6aKc6Imy6YCJ6aG55YC844CCXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5RGVmYXVsdENvbG9yOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmmL7npLon5peg5aGr5YWF6ImyJ+mAiemhueOAglxuICAgICAqL1xuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSB0aHlUcmFuc3BhcmVudENvbG9yU2VsZWN0YWJsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDpooTorr7nmoTlv6vmjbfpgInmi6npopzoibLjgIJcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlQcmVzZXRDb2xvcnM6IHN0cmluZ1tdID0gREVGQVVMVF9DT0xPUlM7XG5cbiAgICAvKipcbiAgICAgKiDpopzoibLpnaLmnb/lvLnlh7rkvY3nva4gJ3RvcCcgfCAndG9wTGVmdCcgfCAndG9wUmlnaHQnIHwgJ2JvdHRvbScgfCAnYm90dG9tTGVmdCcgfCAnYm90dG9tUmlnaHQnIHwgJ2xlZnQnIHwgJ2xlZnRUb3AnIHwgJ2xlZnRCb3R0b20nIHwgJ3JpZ2h0JyB8ICdyaWdodFRvcCcgfCAncmlnaHRCb3R0b20nXG4gICAgICogQHR5cGUgVGh5UGxhY2VtZW50XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5UGxhY2VtZW50OiBUaHlQbGFjZW1lbnQgPSAnYm90dG9tJztcblxuICAgIC8qKlxuICAgICAqIHBhbmVsIOWxleW8gOWQjuinpuWPkVxuICAgICAqL1xuICAgIEBPdXRwdXQoKSB0aHlQYW5lbE9wZW46IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIHBhbmVsIOWFs+mXreWQjuinpuWPkVxuICAgICAqL1xuICAgIEBPdXRwdXQoKSB0aHlQYW5lbENsb3NlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiDlvLnlh7rmgqzmta7lsYLnmoTop6blj5HmlrnlvI9cbiAgICAgKiBAdHlwZSAnaG92ZXInIHwgJ2NsaWNrJ1xuICAgICAqIEBkZWZhdWx0IGNsaWNrXG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IHRoeVRyaWdnZXIodHJpZ2dlcjogVGh5T3ZlcmxheVRyaWdnZXIpIHtcbiAgICAgICAgdGhpcy50cmlnZ2VyID0gdHJpZ2dlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmmL7npLrlu7bov5/ml7bpl7RcbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeVNob3dEZWxheScpXG4gICAgQElucHV0TnVtYmVyKClcbiAgICBzZXQgdGh5U2hvd0RlbGF5KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zaG93RGVsYXkgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDpmpDol4/lu7bov5/ml7bpl7RcbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeUhpZGVEZWxheScpXG4gICAgQElucHV0TnVtYmVyKClcbiAgICBzZXQgdGh5SGlkZURlbGF5KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5oaWRlRGVsYXkgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uQ2hhbmdlRm46ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICBwcml2YXRlIG9uVG91Y2hGbjogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgY29sb3I6IHN0cmluZztcblxuICAgIHByaXZhdGUgcG9wb3ZlclJlZjogVGh5UG9wb3ZlclJlZjxUaHlDb2xvclBpY2tlclBhbmVsQ29tcG9uZW50PjtcblxuICAgIHByaXZhdGUgY2xvc2VQYW5lbCA9IHRydWU7XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHB1YmxpYyBnZXQgYmFja2dyb3VuZENvbG9yKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbG9yO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRoeVBvcG92ZXI6IFRoeVBvcG92ZXIsXG4gICAgICAgIHByaXZhdGUgem9uZTogTmdab25lLFxuICAgICAgICBwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHBsYXRmb3JtOiBQbGF0Zm9ybSxcbiAgICAgICAgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3JcbiAgICApIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgcGxhdGZvcm0sIGZvY3VzTW9uaXRvciwgem9uZSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xuICAgICAgICBpZiAodGhpcy50cmlnZ2VyID09PSAnaG92ZXInKSB7XG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZyb21FdmVudChkb2N1bWVudCwgJ21vdXNlbW92ZScpXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wb3BvdmVyUmVmPy5nZXRPdmVybGF5UmVmKCk/Lmhhc0F0dGFjaGVkKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdCgnLnRoeS1jb2xvci1waWNrZXItY3VzdG9tLXBhbmVsJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISEoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5xdWVyeVNlbGVjdG9yKCcudGh5LWNvbG9yLXBpY2tlci1jdXN0b20tcGFuZWwnKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJSZWYuZ2V0T3ZlcmxheVJlZigpPy5ob3N0RWxlbWVudD8uY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlUGFuZWwgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlUGFuZWwgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0b2dnbGVQYW5lbCgpIHtcbiAgICAgICAgdGhpcy5jbG9zZVBhbmVsID0gZmFsc2U7XG4gICAgICAgIHRoaXMucG9wb3ZlclJlZiA9IHRoaXMudGh5UG9wb3Zlci5vcGVuKFRoeUNvbG9yUGlja2VyUGFuZWxDb21wb25lbnQsIHtcbiAgICAgICAgICAgIG9yaWdpbjogdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQsXG4gICAgICAgICAgICBvZmZzZXQ6IHRoaXMudGh5T2Zmc2V0LFxuICAgICAgICAgICAgbWFudWFsQ2xvc3VyZTogdHJ1ZSxcbiAgICAgICAgICAgIHdpZHRoOiAnMjg2cHgnLFxuICAgICAgICAgICAgcGxhY2VtZW50OiB0aGlzLnRoeVBsYWNlbWVudCxcbiAgICAgICAgICAgIG9yaWdpbkFjdGl2ZUNsYXNzOiAndGh5LWRlZmF1bHQtcGlja2VyLWFjdGl2ZScsXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogdGhpcy50aHlIYXNCYWNrZHJvcCxcbiAgICAgICAgICAgIG91dHNpZGVDbG9zYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBjYW5DbG9zZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRyaWdnZXIgPT09ICdob3ZlcicpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2xvc2VQYW5lbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG5ldyBUaHlDb2xvcih0aGlzLmNvbG9yKS50b0hleFN0cmluZyh0cnVlKSxcbiAgICAgICAgICAgICAgICBkZWZhdWx0Q29sb3I6IHRoaXMudGh5RGVmYXVsdENvbG9yLFxuICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50Q29sb3JTZWxlY3RhYmxlOiB0aGlzLnRoeVRyYW5zcGFyZW50Q29sb3JTZWxlY3RhYmxlLFxuICAgICAgICAgICAgICAgIGRlZmF1bHRDb2xvcnM6IHRoaXMudGh5UHJlc2V0Q29sb3JzLFxuICAgICAgICAgICAgICAgIGNvbG9yQ2hhbmdlOiAodmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlUGFuZWwgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uTW9kZWxDaGFuZ2UodmFsdWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlmICh0aGlzLnBvcG92ZXJSZWYpIHtcbiAgICAgICAgICAgIHRoaXMucG9wb3ZlclJlZi5hZnRlck9wZW5lZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50aHlQYW5lbE9wZW4uZW1pdCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXJSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudGh5UGFuZWxDbG9zZS5lbWl0KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5wb3BvdmVyUmVmICYmICF0aGlzLnRoeUhhc0JhY2tkcm9wKSB7XG4gICAgICAgICAgICB0aGlzLnBvcG92ZXJSZWZcbiAgICAgICAgICAgICAgICAuZ2V0T3ZlcmxheVJlZigpXG4gICAgICAgICAgICAgICAgLm91dHNpZGVQb2ludGVyRXZlbnRzKClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoJy50aHktY29sb3ItcGlja2VyLWN1c3RvbS1wYW5lbCcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLnBvcG92ZXJSZWYuZ2V0T3ZlcmxheVJlZigpLmhvc3RFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMucG9wb3ZlclJlZi5nZXRPdmVybGF5UmVmKCk7XG4gICAgfVxuXG4gICAgc2hvdyhkZWxheTogbnVtYmVyID0gdGhpcy5zaG93RGVsYXkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaGlkZVRpbWVvdXRJZCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuaGlkZVRpbWVvdXRJZCk7XG4gICAgICAgICAgICB0aGlzLmhpZGVUaW1lb3V0SWQgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgKHRoaXMub3ZlcmxheVJlZiAmJiB0aGlzLm92ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy50cmlnZ2VyICE9PSAnaG92ZXInKSB7XG4gICAgICAgICAgICBkZWxheSA9IDA7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNob3dUaW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLnRvZ2dsZVBhbmVsKCk7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSBvdmVybGF5UmVmO1xuICAgICAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfSwgZGVsYXkpO1xuICAgIH1cblxuICAgIGhpZGUoZGVsYXk6IG51bWJlciA9IHRoaXMuaGlkZURlbGF5KSB7XG4gICAgICAgIGlmICh0aGlzLnNob3dUaW1lb3V0SWQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnNob3dUaW1lb3V0SWQpO1xuICAgICAgICAgICAgdGhpcy5zaG93VGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaGlkZVRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMucG9wb3ZlclJlZikge1xuICAgICAgICAgICAgICAgIHRoaXMucG9wb3ZlclJlZj8uZ2V0T3ZlcmxheVJlZigpPy5oYXNBdHRhY2hlZCgpICYmIHRoaXMucG9wb3ZlclJlZi5jbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5oaWRlVGltZW91dElkID0gbnVsbDtcbiAgICAgICAgfSwgZGVsYXkpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbG9yID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2VGbiA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoRm4gPSBmbjtcbiAgICB9XG5cbiAgICBvbk1vZGVsQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb2xvciA9IHZhbHVlO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlRm4odmFsdWUpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgdGhpcy5kaXNwb3NlKCk7XG4gICAgICAgIHRoaXMucG9wb3ZlclJlZiA9IG51bGw7XG4gICAgfVxufVxuIl19
@@ -62,7 +62,7 @@ export class DialogHeaderComponent {
62
62
  }
63
63
  }
64
64
  DialogHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DialogHeaderComponent, deps: [{ token: i0.ElementRef }, { token: i1.ThyDialog }, { token: i2.ThyTranslate }, { token: i3.ThyDialogContainerComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
65
- DialogHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: DialogHeaderComponent, isStandalone: true, selector: "thy-dialog-header", inputs: { thyTitle: "thyTitle", thySize: "thySize", thyDivided: "thyDivided", thyTitleTranslationKey: "thyTitleTranslationKey", thyIcon: "thyIcon" }, outputs: { thyOnClose: "thyOnClose" }, host: { properties: { "class.thy-dialog-header-lg": "thySize === 'lg'", "class.thy-dialog-header-divided": "thyDivided" }, classAttribute: "dialog-header thy-dialog-header" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ["dialogHeader"], descendants: true }], exportAs: ["thyDialogHeader"], ngImport: i0, template: "<ng-container *ngIf=\"headerTemplate; else defaultHeader\">\n <template [ngTemplateOutlet]=\"headerTemplate\"></template>\n</ng-container>\n<ng-template #defaultHeader>\n <h3 class=\"dialog-title\"><thy-icon [thyIconName]=\"thyIcon\"></thy-icon>{{ thyTitle }}</h3>\n <a href=\"javascript:;\" class=\"mr-n2\" thyAction thyActionIcon=\"close-bold\" (click)=\"close($event)\"></a>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyActionComponent, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }] });
65
+ DialogHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: DialogHeaderComponent, isStandalone: true, selector: "thy-dialog-header", inputs: { thyTitle: "thyTitle", thySize: "thySize", thyDivided: "thyDivided", thyTitleTranslationKey: "thyTitleTranslationKey", thyIcon: "thyIcon" }, outputs: { thyOnClose: "thyOnClose" }, host: { properties: { "class.thy-dialog-header-lg": "thySize === 'lg'", "class.thy-dialog-header-divided": "thyDivided" }, classAttribute: "dialog-header thy-dialog-header" }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ["dialogHeader"], descendants: true }], exportAs: ["thyDialogHeader"], ngImport: i0, template: "<ng-container *ngIf=\"headerTemplate; else defaultHeader\">\n <template [ngTemplateOutlet]=\"headerTemplate\"></template>\n</ng-container>\n<ng-template #defaultHeader>\n <h3 class=\"dialog-title\"><thy-icon [thyIconName]=\"thyIcon\"></thy-icon>{{ thyTitle }}</h3>\n <a href=\"javascript:;\" class=\"mr-n2\" thyAction thyActionIcon=\"close\" (click)=\"close($event)\"></a>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyActionComponent, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }] });
66
66
  __decorate([
67
67
  InputBoolean(),
68
68
  __metadata("design:type", Boolean)
@@ -73,7 +73,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
73
73
  class: 'dialog-header thy-dialog-header',
74
74
  '[class.thy-dialog-header-lg]': `thySize === 'lg'`,
75
75
  '[class.thy-dialog-header-divided]': `thyDivided`
76
- }, standalone: true, imports: [NgIf, NgTemplateOutlet, ThyIconComponent, ThyActionComponent], template: "<ng-container *ngIf=\"headerTemplate; else defaultHeader\">\n <template [ngTemplateOutlet]=\"headerTemplate\"></template>\n</ng-container>\n<ng-template #defaultHeader>\n <h3 class=\"dialog-title\"><thy-icon [thyIconName]=\"thyIcon\"></thy-icon>{{ thyTitle }}</h3>\n <a href=\"javascript:;\" class=\"mr-n2\" thyAction thyActionIcon=\"close-bold\" (click)=\"close($event)\"></a>\n</ng-template>\n" }]
76
+ }, standalone: true, imports: [NgIf, NgTemplateOutlet, ThyIconComponent, ThyActionComponent], template: "<ng-container *ngIf=\"headerTemplate; else defaultHeader\">\n <template [ngTemplateOutlet]=\"headerTemplate\"></template>\n</ng-container>\n<ng-template #defaultHeader>\n <h3 class=\"dialog-title\"><thy-icon [thyIconName]=\"thyIcon\"></thy-icon>{{ thyTitle }}</h3>\n <a href=\"javascript:;\" class=\"mr-n2\" thyAction thyActionIcon=\"close\" (click)=\"close($event)\"></a>\n</ng-template>\n" }]
77
77
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ThyDialog }, { type: i2.ThyTranslate }, { type: i3.ThyDialogContainerComponent, decorators: [{
78
78
  type: Optional
79
79
  }] }]; }, propDecorators: { headerTemplate: [{
@@ -92,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
92
92
  }], thyOnClose: [{
93
93
  type: Output
94
94
  }] } });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZGlhbG9nL2hlYWRlci9kaWFsb2ctaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9kaWFsb2cvaGVhZGVyL2RpYWxvZy1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBVSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFFekQ7Ozs7R0FJRztBQWNILE1BQU0sT0FBTyxxQkFBcUI7SUEwQjlCOztPQUVHO0lBQ0gsSUFDSSxzQkFBc0IsQ0FBQyxHQUFXO1FBQ2xDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQy9DO0lBQ0wsQ0FBQztJQVlELFlBQ1ksVUFBc0IsRUFDdEIsTUFBaUIsRUFDakIsU0FBdUIsRUFDWCxlQUE0QztRQUh4RCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUNYLG9CQUFlLEdBQWYsZUFBZSxDQUE2QjtRQVRwRTs7V0FFRztRQUNPLGVBQVUsR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQztJQU9uRSxDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3ZCLGlGQUFpRjtZQUNqRixrR0FBa0c7WUFDbEcsa0dBQWtHO1lBQ2xHLG9GQUFvRjtZQUNwRixtQ0FBbUM7WUFDbkMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBOEIsQ0FBQztZQUMzRyxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDekU7UUFFRCxtRkFBbUY7UUFDbkYsOEVBQThFO1FBQzlFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3hCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQzthQUN2RDtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFhO1FBQ2YsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQy9CO2FBQU07WUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3ZCO0lBQ0wsQ0FBQzs7a0hBL0VRLHFCQUFxQjtzR0FBckIscUJBQXFCLHFrQkMzQmxDLGdaQU9BLDRDRGtCYyxJQUFJLDZGQUFFLGdCQUFnQixvSkFBRSxnQkFBZ0Isc01BQUUsa0JBQWtCO0FBMEJ0RTtJQUFVLFlBQVksRUFBRTs7eURBQXFCOzJGQXhCcEMscUJBQXFCO2tCQWJqQyxTQUFTOytCQUNJLG1CQUFtQixZQUduQixpQkFBaUIsUUFDckI7d0JBQ0YsS0FBSyxFQUFFLGlDQUFpQzt3QkFDeEMsOEJBQThCLEVBQUUsa0JBQWtCO3dCQUNsRCxtQ0FBbUMsRUFBRSxZQUFZO3FCQUNwRCxjQUNXLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQzs7MEJBb0RsRSxRQUFROzRDQTVDTixjQUFjO3NCQURwQixZQUFZO3VCQUFDLGNBQWM7Z0JBTW5CLFFBQVE7c0JBQWhCLEtBQUs7Z0JBT0csT0FBTztzQkFBZixLQUFLO2dCQU1tQixVQUFVO3NCQUFsQyxLQUFLO2dCQU1GLHNCQUFzQjtzQkFEekIsS0FBSztnQkFVRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0ksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDb250ZW50Q2hpbGQsIFRlbXBsYXRlUmVmLCBPbkluaXQsIE9wdGlvbmFsLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlEaWFsb2cgfSBmcm9tICcuLi9kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBUaHlEaWFsb2dDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9kaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dEJvb2xlYW4sIFRoeVRyYW5zbGF0ZSB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBUaHlJbnRlcm5hbERpYWxvZ1JlZiB9IGZyb20gJy4uL2RpYWxvZy1yZWYnO1xuaW1wb3J0IHsgVGh5QWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnbmd4LXRldGh5cy9hY3Rpb24nO1xuaW1wb3J0IHsgVGh5SWNvbkNvbXBvbmVudCB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLyoqXG4gKiDmqKHmgIHmoYblpLTpg6jnu4Tku7ZcbiAqIEBuYW1lIHRoeS1kaWFsb2ctaGVhZGVyXG4gKiBAb3JkZXIgNDBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktZGlhbG9nLWhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIC8vIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGV4cG9ydEFzOiAndGh5RGlhbG9nSGVhZGVyJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZGlhbG9nLWhlYWRlciB0aHktZGlhbG9nLWhlYWRlcicsXG4gICAgICAgICdbY2xhc3MudGh5LWRpYWxvZy1oZWFkZXItbGddJzogYHRoeVNpemUgPT09ICdsZydgLFxuICAgICAgICAnW2NsYXNzLnRoeS1kaWFsb2ctaGVhZGVyLWRpdmlkZWRdJzogYHRoeURpdmlkZWRgXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0LCBUaHlJY29uQ29tcG9uZW50LCBUaHlBY3Rpb25Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ0hlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqXG4gICAgICog6Ieq5a6a5LmJ5aS06YOo5qih5p2/XG4gICAgICogQHR5cGUgVGVtcGxhdGVSZWZcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdkaWFsb2dIZWFkZXInKVxuICAgIHB1YmxpYyBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIOagh+mimFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVRpdGxlOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDlpKflsI/vvIzlj6rmnInlpKfnmoTor6bmg4XpobXlnLrmma/kvJrkvb/nlKggbGcsIOW3puWPsyBwYWRkaW5nIOe8qeWwj+iHsyAyMHB4XG4gICAgICogQHR5cGUgbGcgfCBtZFxuICAgICAqIEBkZWZhdWx0IG1kXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5U2l6ZTogJ2xnJyB8ICdtZCc7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmmL7npLrliIblibLnur9cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSB0aHlEaXZpZGVkOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog5qCH6aKY55qE5aSa6K+t6KiAIEtleVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVRpdGxlVHJhbnNsYXRpb25LZXkoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKGtleSAmJiAhdGhpcy50aHlUaXRsZSkge1xuICAgICAgICAgICAgdGhpcy50aHlUaXRsZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoa2V5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWktOmDqOWbvuagh1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUljb246IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOWFs+mXreS6i+S7tlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSB0aHlPbkNsb3NlOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgZGlhbG9nOiBUaHlEaWFsb2csXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUaHlUcmFuc2xhdGUsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgZGlhbG9nQ29udGFpbmVyOiBUaHlEaWFsb2dDb250YWluZXJDb21wb25lbnRcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpYWxvZ0NvbnRhaW5lcikge1xuICAgICAgICAgICAgLy8gV2hlbiB0aGlzIGRpcmVjdGl2ZSBpcyBpbmNsdWRlZCBpbiBhIGRpYWxvZyB2aWEgVGVtcGxhdGVSZWYgKHJhdGhlciB0aGFuIGJlaW5nXG4gICAgICAgICAgICAvLyBpbiBhIENvbXBvbmVudCksIHRoZSBUaHlEaWFsb2dDb250YWluZXJDb21wb25lbnQgaXNuJ3QgYXZhaWxhYmxlIHZpYSBpbmplY3Rpb24gYmVjYXVzZSBlbWJlZGRlZFxuICAgICAgICAgICAgLy8gdmlld3MgY2Fubm90IGJlIGdpdmVuIGEgY3VzdG9tIGluamVjdG9yLiBJbnN0ZWFkLCB3ZSBsb29rIHVwIHRoZSBUaHlEaWFsb2dDb250YWluZXJDb21wb25lbnQgYnlcbiAgICAgICAgICAgIC8vIElELiBUaGlzIG11c3Qgb2NjdXIgaW4gYG9uSW5pdGAsIGFzIHRoZSBJRCBiaW5kaW5nIGZvciB0aGUgZGlhbG9nIGNvbnRhaW5lciB3b24ndFxuICAgICAgICAgICAgLy8gYmUgcmVzb2x2ZWQgYXQgY29uc3RydWN0b3IgdGltZS5cbiAgICAgICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLmdldENsb3Nlc3REaWFsb2codGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpIGFzIFRoeUludGVybmFsRGlhbG9nUmVmPGFueT47XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ0NvbnRhaW5lciA9IGRpYWxvZ1JlZiA/IGRpYWxvZ1JlZi5jb250YWluZXJJbnN0YW5jZSA6IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBjaGFuZ2UgaW4gbmV4dCBtaWNyb3Rhc2sgYXZvaWQgdGhyb3cgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvclxuICAgICAgICAvLyBiZWNhdXNlIHN1YiBjb21wb25lbnQgY2hhbmdlIHBhcmVudCdzIEhvc3RCaW5kaW5nIHByb3BlcnR5IChhcmlhTGFiZWxsZWRCeSlcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5kaWFsb2dDb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ0NvbnRhaW5lci5hcmlhTGFiZWxsZWRCeSA9IHRoaXMudGh5VGl0bGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNsb3NlKGV2ZW50PzogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMudGh5T25DbG9zZS5vYnNlcnZlcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy50aHlPbkNsb3NlLmVtaXQoZXZlbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kaWFsb2cuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJoZWFkZXJUZW1wbGF0ZTsgZWxzZSBkZWZhdWx0SGVhZGVyXCI+XG4gIDx0ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUZW1wbGF0ZVwiPjwvdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEhlYWRlcj5cbiAgPGgzIGNsYXNzPVwiZGlhbG9nLXRpdGxlXCI+PHRoeS1pY29uIFt0aHlJY29uTmFtZV09XCJ0aHlJY29uXCI+PC90aHktaWNvbj57eyB0aHlUaXRsZSB9fTwvaDM+XG4gIDxhIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiBjbGFzcz1cIm1yLW4yXCIgdGh5QWN0aW9uIHRoeUFjdGlvbkljb249XCJjbG9zZS1ib2xkXCIgKGNsaWNrKT1cImNsb3NlKCRldmVudClcIj48L2E+XG48L25nLXRlbXBsYXRlPlxuIl19
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZGlhbG9nL2hlYWRlci9kaWFsb2ctaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9kaWFsb2cvaGVhZGVyL2RpYWxvZy1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBVSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFFekQ7Ozs7R0FJRztBQWNILE1BQU0sT0FBTyxxQkFBcUI7SUEwQjlCOztPQUVHO0lBQ0gsSUFDSSxzQkFBc0IsQ0FBQyxHQUFXO1FBQ2xDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQy9DO0lBQ0wsQ0FBQztJQVlELFlBQ1ksVUFBc0IsRUFDdEIsTUFBaUIsRUFDakIsU0FBdUIsRUFDWCxlQUE0QztRQUh4RCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUNYLG9CQUFlLEdBQWYsZUFBZSxDQUE2QjtRQVRwRTs7V0FFRztRQUNPLGVBQVUsR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQztJQU9uRSxDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3ZCLGlGQUFpRjtZQUNqRixrR0FBa0c7WUFDbEcsa0dBQWtHO1lBQ2xHLG9GQUFvRjtZQUNwRixtQ0FBbUM7WUFDbkMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBOEIsQ0FBQztZQUMzRyxJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDekU7UUFFRCxtRkFBbUY7UUFDbkYsOEVBQThFO1FBQzlFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3hCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQzthQUN2RDtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFhO1FBQ2YsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQy9CO2FBQU07WUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3ZCO0lBQ0wsQ0FBQzs7a0hBL0VRLHFCQUFxQjtzR0FBckIscUJBQXFCLHFrQkMzQmxDLDJZQU9BLDRDRGtCYyxJQUFJLDZGQUFFLGdCQUFnQixvSkFBRSxnQkFBZ0Isc01BQUUsa0JBQWtCO0FBMEJ0RTtJQUFVLFlBQVksRUFBRTs7eURBQXFCOzJGQXhCcEMscUJBQXFCO2tCQWJqQyxTQUFTOytCQUNJLG1CQUFtQixZQUduQixpQkFBaUIsUUFDckI7d0JBQ0YsS0FBSyxFQUFFLGlDQUFpQzt3QkFDeEMsOEJBQThCLEVBQUUsa0JBQWtCO3dCQUNsRCxtQ0FBbUMsRUFBRSxZQUFZO3FCQUNwRCxjQUNXLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQzs7MEJBb0RsRSxRQUFROzRDQTVDTixjQUFjO3NCQURwQixZQUFZO3VCQUFDLGNBQWM7Z0JBTW5CLFFBQVE7c0JBQWhCLEtBQUs7Z0JBT0csT0FBTztzQkFBZixLQUFLO2dCQU1tQixVQUFVO3NCQUFsQyxLQUFLO2dCQU1GLHNCQUFzQjtzQkFEekIsS0FBSztnQkFVRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0ksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDb250ZW50Q2hpbGQsIFRlbXBsYXRlUmVmLCBPbkluaXQsIE9wdGlvbmFsLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlEaWFsb2cgfSBmcm9tICcuLi9kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQgeyBUaHlEaWFsb2dDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9kaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dEJvb2xlYW4sIFRoeVRyYW5zbGF0ZSB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBUaHlJbnRlcm5hbERpYWxvZ1JlZiB9IGZyb20gJy4uL2RpYWxvZy1yZWYnO1xuaW1wb3J0IHsgVGh5QWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnbmd4LXRldGh5cy9hY3Rpb24nO1xuaW1wb3J0IHsgVGh5SWNvbkNvbXBvbmVudCB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLyoqXG4gKiDmqKHmgIHmoYblpLTpg6jnu4Tku7ZcbiAqIEBuYW1lIHRoeS1kaWFsb2ctaGVhZGVyXG4gKiBAb3JkZXIgNDBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktZGlhbG9nLWhlYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIC8vIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGV4cG9ydEFzOiAndGh5RGlhbG9nSGVhZGVyJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZGlhbG9nLWhlYWRlciB0aHktZGlhbG9nLWhlYWRlcicsXG4gICAgICAgICdbY2xhc3MudGh5LWRpYWxvZy1oZWFkZXItbGddJzogYHRoeVNpemUgPT09ICdsZydgLFxuICAgICAgICAnW2NsYXNzLnRoeS1kaWFsb2ctaGVhZGVyLWRpdmlkZWRdJzogYHRoeURpdmlkZWRgXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0LCBUaHlJY29uQ29tcG9uZW50LCBUaHlBY3Rpb25Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ0hlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqXG4gICAgICog6Ieq5a6a5LmJ5aS06YOo5qih5p2/XG4gICAgICogQHR5cGUgVGVtcGxhdGVSZWZcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdkaWFsb2dIZWFkZXInKVxuICAgIHB1YmxpYyBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIOagh+mimFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVRpdGxlOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDlpKflsI/vvIzlj6rmnInlpKfnmoTor6bmg4XpobXlnLrmma/kvJrkvb/nlKggbGcsIOW3puWPsyBwYWRkaW5nIOe8qeWwj+iHsyAyMHB4XG4gICAgICogQHR5cGUgbGcgfCBtZFxuICAgICAqIEBkZWZhdWx0IG1kXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5U2l6ZTogJ2xnJyB8ICdtZCc7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmmL7npLrliIblibLnur9cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSB0aHlEaXZpZGVkOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog5qCH6aKY55qE5aSa6K+t6KiAIEtleVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVRpdGxlVHJhbnNsYXRpb25LZXkoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKGtleSAmJiAhdGhpcy50aHlUaXRsZSkge1xuICAgICAgICAgICAgdGhpcy50aHlUaXRsZSA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoa2V5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWktOmDqOWbvuagh1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUljb246IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOWFs+mXreS6i+S7tlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSB0aHlPbkNsb3NlOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgZGlhbG9nOiBUaHlEaWFsb2csXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUaHlUcmFuc2xhdGUsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgZGlhbG9nQ29udGFpbmVyOiBUaHlEaWFsb2dDb250YWluZXJDb21wb25lbnRcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpYWxvZ0NvbnRhaW5lcikge1xuICAgICAgICAgICAgLy8gV2hlbiB0aGlzIGRpcmVjdGl2ZSBpcyBpbmNsdWRlZCBpbiBhIGRpYWxvZyB2aWEgVGVtcGxhdGVSZWYgKHJhdGhlciB0aGFuIGJlaW5nXG4gICAgICAgICAgICAvLyBpbiBhIENvbXBvbmVudCksIHRoZSBUaHlEaWFsb2dDb250YWluZXJDb21wb25lbnQgaXNuJ3QgYXZhaWxhYmxlIHZpYSBpbmplY3Rpb24gYmVjYXVzZSBlbWJlZGRlZFxuICAgICAgICAgICAgLy8gdmlld3MgY2Fubm90IGJlIGdpdmVuIGEgY3VzdG9tIGluamVjdG9yLiBJbnN0ZWFkLCB3ZSBsb29rIHVwIHRoZSBUaHlEaWFsb2dDb250YWluZXJDb21wb25lbnQgYnlcbiAgICAgICAgICAgIC8vIElELiBUaGlzIG11c3Qgb2NjdXIgaW4gYG9uSW5pdGAsIGFzIHRoZSBJRCBiaW5kaW5nIGZvciB0aGUgZGlhbG9nIGNvbnRhaW5lciB3b24ndFxuICAgICAgICAgICAgLy8gYmUgcmVzb2x2ZWQgYXQgY29uc3RydWN0b3IgdGltZS5cbiAgICAgICAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLmdldENsb3Nlc3REaWFsb2codGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpIGFzIFRoeUludGVybmFsRGlhbG9nUmVmPGFueT47XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ0NvbnRhaW5lciA9IGRpYWxvZ1JlZiA/IGRpYWxvZ1JlZi5jb250YWluZXJJbnN0YW5jZSA6IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBjaGFuZ2UgaW4gbmV4dCBtaWNyb3Rhc2sgYXZvaWQgdGhyb3cgRXhwcmVzc2lvbkNoYW5nZWRBZnRlckl0SGFzQmVlbkNoZWNrZWRFcnJvclxuICAgICAgICAvLyBiZWNhdXNlIHN1YiBjb21wb25lbnQgY2hhbmdlIHBhcmVudCdzIEhvc3RCaW5kaW5nIHByb3BlcnR5IChhcmlhTGFiZWxsZWRCeSlcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5kaWFsb2dDb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ0NvbnRhaW5lci5hcmlhTGFiZWxsZWRCeSA9IHRoaXMudGh5VGl0bGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNsb3NlKGV2ZW50PzogRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMudGh5T25DbG9zZS5vYnNlcnZlcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy50aHlPbkNsb3NlLmVtaXQoZXZlbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kaWFsb2cuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJoZWFkZXJUZW1wbGF0ZTsgZWxzZSBkZWZhdWx0SGVhZGVyXCI+XG4gIDx0ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUZW1wbGF0ZVwiPjwvdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEhlYWRlcj5cbiAgPGgzIGNsYXNzPVwiZGlhbG9nLXRpdGxlXCI+PHRoeS1pY29uIFt0aHlJY29uTmFtZV09XCJ0aHlJY29uXCI+PC90aHktaWNvbj57eyB0aHlUaXRsZSB9fTwvaDM+XG4gIDxhIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiBjbGFzcz1cIm1yLW4yXCIgdGh5QWN0aW9uIHRoeUFjdGlvbkljb249XCJjbG9zZVwiIChjbGljayk9XCJjbG9zZSgkZXZlbnQpXCI+PC9hPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==