adb-shared 6.0.2 → 6.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 (97) hide show
  1. package/esm2022/adb-shared.mjs +4 -4
  2. package/esm2022/lib/components/adb-artportalen-nav/adb-artportalen-footer.component.mjs +48 -48
  3. package/esm2022/lib/components/adb-artportalen-nav/adb-artportalen-nav.component.mjs +112 -112
  4. package/esm2022/lib/components/adb-artportalen-nav/adb-artportalen-nav.module.mjs +58 -66
  5. package/esm2022/lib/components/adb-artportalen-nav/environment.service.mjs +16 -16
  6. package/esm2022/lib/components/adb-artportalen-nav/navigation.model.mjs +1 -1
  7. package/esm2022/lib/components/adb-buttons/adb-buttons.module.mjs +19 -19
  8. package/esm2022/lib/components/adb-buttons/help-button.component.mjs +35 -35
  9. package/esm2022/lib/components/adb-confirm-modal/adb-confirm-modal.mjs +29 -29
  10. package/esm2022/lib/components/adb-confirm-modal/adb-modal.module.mjs +23 -23
  11. package/esm2022/lib/components/adb-confirm-modal/adb-modal.service.mjs +46 -46
  12. package/esm2022/lib/components/adb-dropdown/adb-dropdown.directive.mjs +100 -100
  13. package/esm2022/lib/components/adb-dropdown/adb-dropdown.module.mjs +24 -24
  14. package/esm2022/lib/components/adb-dropdown/adb-dropdown.service.mjs +10 -10
  15. package/esm2022/lib/components/adb-dropdown/adb-dropdown2.directive.mjs +119 -119
  16. package/esm2022/lib/components/adb-header/adb-header.module.mjs +49 -57
  17. package/esm2022/lib/components/adb-header/adb-nav.component.mjs +115 -115
  18. package/esm2022/lib/components/adb-header/environment.service.mjs +16 -16
  19. package/esm2022/lib/components/adb-header/navigation.model.mjs +1 -1
  20. package/esm2022/lib/components/adb-rich-editor/adb-rich-editor.component.mjs +84 -65
  21. package/esm2022/lib/components/adb-rich-editor/adb-rich-editor.module.mjs +19 -19
  22. package/esm2022/lib/components/adb-toast/adb-toast.mjs +25 -25
  23. package/esm2022/lib/components/adb-toast/adb-toast.module.mjs +23 -23
  24. package/esm2022/lib/components/adb-toast/adb-toast.service.mjs +55 -55
  25. package/esm2022/lib/components/date-picker/adb-date-picker.component.mjs +177 -177
  26. package/esm2022/lib/components/date-picker/adb-date-picker.directive.mjs +220 -220
  27. package/esm2022/lib/components/date-picker/adb-date-picker.module.mjs +25 -25
  28. package/esm2022/lib/components/date-picker/adb-date-picker.service.mjs +10 -10
  29. package/esm2022/lib/components/pagers/infinite-scroll.component.mjs +47 -47
  30. package/esm2022/lib/components/pagers/pager-base.directive.mjs +57 -57
  31. package/esm2022/lib/components/pagers/pager-inline.mjs +49 -49
  32. package/esm2022/lib/components/pagers/pager.mjs +53 -53
  33. package/esm2022/lib/components/pagers/pagers.module.mjs +26 -26
  34. package/esm2022/lib/directives/click-outside.directive.mjs +28 -28
  35. package/esm2022/lib/directives/directives.module.mjs +21 -21
  36. package/esm2022/lib/directives/file-upload.directive.mjs +36 -36
  37. package/esm2022/lib/directives/focus.directive.mjs +34 -34
  38. package/esm2022/lib/directives/redlist-badge-class.directive.mjs +44 -44
  39. package/esm2022/lib/directives/risk-class.directive.mjs +37 -37
  40. package/esm2022/lib/pipes/date.pipe.mjs +22 -22
  41. package/esm2022/lib/pipes/emptyValue.pipe.mjs +22 -22
  42. package/esm2022/lib/pipes/highlight-html.pipe.mjs +46 -46
  43. package/esm2022/lib/pipes/highlight.pipe.mjs +46 -46
  44. package/esm2022/lib/pipes/number-spacing.pipe.mjs +21 -21
  45. package/esm2022/lib/pipes/pipes.module.mjs +22 -22
  46. package/esm2022/lib/pipes/rich.pipe.mjs +36 -36
  47. package/esm2022/public-api.mjs +41 -41
  48. package/fesm2022/adb-shared.mjs +1817 -1815
  49. package/fesm2022/adb-shared.mjs.map +1 -1
  50. package/index.d.ts +5 -5
  51. package/lib/components/adb-artportalen-nav/adb-artportalen-footer.component.d.ts +23 -23
  52. package/lib/components/adb-artportalen-nav/adb-artportalen-nav.component.d.ts +41 -41
  53. package/lib/components/adb-artportalen-nav/adb-artportalen-nav.module.d.ts +16 -17
  54. package/lib/components/adb-artportalen-nav/environment.service.d.ts +7 -7
  55. package/lib/components/adb-artportalen-nav/navigation.model.d.ts +18 -18
  56. package/lib/components/adb-buttons/adb-buttons.module.d.ts +9 -9
  57. package/lib/components/adb-buttons/help-button.component.d.ts +13 -13
  58. package/lib/components/adb-confirm-modal/adb-confirm-modal.d.ts +20 -20
  59. package/lib/components/adb-confirm-modal/adb-modal.module.d.ts +10 -10
  60. package/lib/components/adb-confirm-modal/adb-modal.service.d.ts +18 -18
  61. package/lib/components/adb-dropdown/adb-dropdown.directive.d.ts +21 -21
  62. package/lib/components/adb-dropdown/adb-dropdown.module.d.ts +11 -11
  63. package/lib/components/adb-dropdown/adb-dropdown.service.d.ts +7 -7
  64. package/lib/components/adb-dropdown/adb-dropdown2.directive.d.ts +23 -23
  65. package/lib/components/adb-header/adb-header.module.d.ts +15 -16
  66. package/lib/components/adb-header/adb-nav.component.d.ts +41 -41
  67. package/lib/components/adb-header/environment.service.d.ts +7 -7
  68. package/lib/components/adb-header/navigation.model.d.ts +29 -29
  69. package/lib/components/adb-rich-editor/adb-rich-editor.component.d.ts +24 -22
  70. package/lib/components/adb-rich-editor/adb-rich-editor.module.d.ts +9 -9
  71. package/lib/components/adb-toast/adb-toast.d.ts +11 -11
  72. package/lib/components/adb-toast/adb-toast.module.d.ts +10 -10
  73. package/lib/components/adb-toast/adb-toast.service.d.ts +36 -36
  74. package/lib/components/date-picker/adb-date-picker.component.d.ts +64 -64
  75. package/lib/components/date-picker/adb-date-picker.directive.d.ts +47 -47
  76. package/lib/components/date-picker/adb-date-picker.module.d.ts +12 -12
  77. package/lib/components/date-picker/adb-date-picker.service.d.ts +8 -8
  78. package/lib/components/pagers/infinite-scroll.component.d.ts +15 -15
  79. package/lib/components/pagers/pager-base.directive.d.ts +16 -16
  80. package/lib/components/pagers/pager-inline.d.ts +16 -16
  81. package/lib/components/pagers/pager.d.ts +22 -22
  82. package/lib/components/pagers/pagers.module.d.ts +11 -11
  83. package/lib/directives/click-outside.directive.d.ts +10 -10
  84. package/lib/directives/directives.module.d.ts +11 -11
  85. package/lib/directives/file-upload.directive.d.ts +12 -12
  86. package/lib/directives/focus.directive.d.ts +11 -11
  87. package/lib/directives/redlist-badge-class.directive.d.ts +7 -7
  88. package/lib/directives/risk-class.directive.d.ts +7 -7
  89. package/lib/pipes/date.pipe.d.ts +10 -10
  90. package/lib/pipes/emptyValue.pipe.d.ts +7 -7
  91. package/lib/pipes/highlight-html.pipe.d.ts +10 -10
  92. package/lib/pipes/highlight.pipe.d.ts +9 -9
  93. package/lib/pipes/number-spacing.pipe.d.ts +7 -7
  94. package/lib/pipes/pipes.module.d.ts +12 -12
  95. package/lib/pipes/rich.pipe.d.ts +11 -11
  96. package/package.json +5 -5
  97. package/public-api.d.ts +38 -38
@@ -1,220 +1,220 @@
1
- import { formatDate } from "@angular/common";
2
- import { Directive, EventEmitter, forwardRef, HostBinding, HostListener, Input, Output } from "@angular/core";
3
- import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from "@angular/forms";
4
- import { isValid, parseISO } from "date-fns";
5
- import { Subscription } from "rxjs";
6
- import { AdbDatePickerComponent } from "./adb-date-picker.component";
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "./adb-date-picker.service";
9
- import * as i2 from "@ngx-translate/core";
10
- export class AdbDatePickerDirective {
11
- constructor(viewContainerRef, renderer, elementRef, adbDatePickerService, translate) {
12
- this.viewContainerRef = viewContainerRef;
13
- this.renderer = renderer;
14
- this.elementRef = elementRef;
15
- this.adbDatePickerService = adbDatePickerService;
16
- this.translate = translate;
17
- this.subscriptions = new Subscription();
18
- this.autocomplete = 'off';
19
- this.adbBlur = new EventEmitter();
20
- this.format = 'yyyy-MM-dd';
21
- this.settings = null;
22
- //ControlValueAccessor
23
- this.onChange = () => { };
24
- this.onTouched = () => { };
25
- this.onValidationChange = () => { };
26
- }
27
- ngOnInit() {
28
- this.elementRef.nativeElement.setAttribute("placeholder", this.format);
29
- }
30
- onClick() {
31
- if (this.adbDatePickerService.viewRef) {
32
- this.adbDatePickerService.viewRef.destroy();
33
- }
34
- const viewRef = this.viewContainerRef.createComponent(AdbDatePickerComponent);
35
- viewRef.instance.settings = this.settings;
36
- viewRef.instance.toLeft = this.toLeft;
37
- viewRef.instance.initialDate = this.currentDate;
38
- this.id = this.getId();
39
- viewRef.instance.id = this.id;
40
- viewRef.instance.selectDate.subscribe((date) => {
41
- this.renderer.setProperty(this.elementRef.nativeElement, 'value', formatDate(date, this.format, this.translate.currentLang));
42
- this.onChange(date);
43
- this.currentDate = date;
44
- this.onHide();
45
- this.adbBlur.emit(date);
46
- });
47
- this.adbDatePickerService.viewRef = viewRef;
48
- }
49
- onKeyup(event) {
50
- const date = AdbDatePickerDirective.tryParse(event.target.value);
51
- if (date) {
52
- const now = new Date();
53
- date.setHours(now.getHours());
54
- date.setMinutes(now.getMinutes());
55
- date.setSeconds(now.getSeconds());
56
- this.onChange(date);
57
- }
58
- else {
59
- this.onChange(event.target.value); //send inccorect values to form
60
- }
61
- }
62
- onTabDown() {
63
- this.updateValueOnLeave();
64
- this.onHide();
65
- this.adbBlur.emit(this.currentDate);
66
- }
67
- onEscdOWN() {
68
- this.updateValueOnLeave();
69
- this.onHide();
70
- }
71
- onHide() {
72
- this.adbDatePickerService.viewRef = null;
73
- this.viewContainerRef.detach();
74
- this.viewContainerRef.clear();
75
- }
76
- onCheckOutSideClick(target) {
77
- const nativeElement = this.adbDatePickerService.viewRef?.instance.elementRef.nativeElement ?? null;
78
- if (nativeElement) {
79
- if (nativeElement.id === this.id) {
80
- if (!target.hasAttribute('adbdatepicker')) {
81
- const clickedInside = nativeElement.contains(target);
82
- if (!clickedInside) {
83
- this.updateValueOnLeave();
84
- this.onHide();
85
- this.adbBlur.emit(this.currentDate);
86
- }
87
- }
88
- }
89
- }
90
- }
91
- updateValueOnLeave() {
92
- if (this.isValid) {
93
- if (this.currentDate) {
94
- this.renderer.setProperty(this.elementRef.nativeElement, 'value', formatDate(this.currentDate, this.format, this.translate.currentLang));
95
- }
96
- else {
97
- this.renderer.setProperty(this.elementRef.nativeElement, 'value', '');
98
- }
99
- }
100
- }
101
- ngOnDestroy() {
102
- this.subscriptions.unsubscribe();
103
- }
104
- //Validator
105
- validate(control) {
106
- const value = control.value;
107
- if (!value) {
108
- this.currentDate = null;
109
- this.isValid = true;
110
- return null;
111
- }
112
- if (value instanceof Date) {
113
- this.currentDate = value;
114
- this.isValid = true;
115
- return null;
116
- }
117
- if (typeof value === 'string' || value instanceof String) {
118
- const date = AdbDatePickerDirective.tryParse(value);
119
- if (!date) {
120
- this.isValid = false;
121
- return { date: true };
122
- }
123
- }
124
- this.isValid = true;
125
- return null;
126
- }
127
- registerOnValidatorChange(fn) {
128
- this.onValidationChange = fn;
129
- }
130
- writeValue(value) {
131
- if (!value) {
132
- this.currentDate = null;
133
- this.renderer.setProperty(this.elementRef.nativeElement, 'value', '');
134
- return;
135
- }
136
- if (typeof value === 'string' || value instanceof String) {
137
- const date = AdbDatePickerDirective.tryParse(value);
138
- if (!date) {
139
- this.renderer.setProperty(this.elementRef.nativeElement, 'value', value);
140
- return;
141
- }
142
- value = date;
143
- }
144
- if (value instanceof Date) {
145
- this.currentDate = value;
146
- this.renderer.setProperty(this.elementRef.nativeElement, 'value', formatDate(this.currentDate, this.format, this.translate.currentLang));
147
- }
148
- }
149
- registerOnChange(fn) {
150
- this.onChange = fn;
151
- }
152
- registerOnTouched(fn) {
153
- this.onTouched = fn;
154
- }
155
- setDisabledState(isDisabled) {
156
- this.viewContainerRef.clear();
157
- }
158
- static tryParse(dateString) {
159
- const parsed = parseISO(dateString);
160
- return isValid(parsed) ? parsed : null;
161
- }
162
- getId() {
163
- return '' + Math.floor(Math.random() * Date.now());
164
- }
165
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdbDatePickerDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.AdbDatePickerService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Directive }); }
166
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AdbDatePickerDirective, selector: "input[adbDatepicker]", inputs: { format: "format", toLeft: "toLeft", settings: "settings" }, outputs: { adbBlur: "adbBlur" }, host: { listeners: { "click": "onClick()", "keyup": "onKeyup($event)", "keydown.shift.tab": "onTabDown()", "keydown.tab": "onTabDown()", "keydown.esc": "onEscdOWN()", "document:click": "onCheckOutSideClick($event.target)" }, properties: { "autocomplete": "this.autocomplete" } }, providers: [{
167
- provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => AdbDatePickerDirective)),
168
- multi: true
169
- },
170
- {
171
- provide: NG_VALIDATORS,
172
- useExisting: AdbDatePickerDirective,
173
- multi: true,
174
- },], ngImport: i0 }); }
175
- }
176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdbDatePickerDirective, decorators: [{
177
- type: Directive,
178
- args: [{
179
- selector: `input[adbDatepicker]`,
180
- providers: [{
181
- provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => AdbDatePickerDirective)),
182
- multi: true
183
- },
184
- {
185
- provide: NG_VALIDATORS,
186
- useExisting: AdbDatePickerDirective,
187
- multi: true,
188
- },]
189
- }]
190
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.AdbDatePickerService }, { type: i2.TranslateService }]; }, propDecorators: { autocomplete: [{
191
- type: HostBinding,
192
- args: ['autocomplete']
193
- }], adbBlur: [{
194
- type: Output
195
- }], format: [{
196
- type: Input
197
- }], toLeft: [{
198
- type: Input
199
- }], settings: [{
200
- type: Input
201
- }], onClick: [{
202
- type: HostListener,
203
- args: ['click']
204
- }], onKeyup: [{
205
- type: HostListener,
206
- args: ['keyup', ['$event']]
207
- }], onTabDown: [{
208
- type: HostListener,
209
- args: ['keydown.shift.tab']
210
- }, {
211
- type: HostListener,
212
- args: ['keydown.tab']
213
- }], onEscdOWN: [{
214
- type: HostListener,
215
- args: ['keydown.esc']
216
- }], onCheckOutSideClick: [{
217
- type: HostListener,
218
- args: ['document:click', ['$event.target']]
219
- }] } });
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWRhdGUtcGlja2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBpY2tlci9hZGItZGF0ZS1waWNrZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWdDLE1BQU0sRUFBOEMsTUFBTSxlQUFlLENBQUM7QUFDcE0sT0FBTyxFQUF5QyxhQUFhLEVBQUUsaUJBQWlCLEVBQStCLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEksT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQWVyRSxNQUFNLE9BQU8sc0JBQXNCO0lBVy9CLFlBQ1ksZ0JBQWtDLEVBQ2xDLFFBQW1CLEVBQ25CLFVBQXNCLEVBQ3RCLG9CQUEwQyxFQUMzQyxTQUEyQjtRQUoxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzNDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBZjlCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNkLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3hDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3BDLFdBQU0sR0FBRyxZQUFZLENBQUM7UUFFdEIsYUFBUSxHQUF5RCxJQUFJLENBQUM7UUE4SC9FLHNCQUFzQjtRQUN0QixhQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLGNBQVMsR0FBUSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDM0IsdUJBQWtCLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBckhwQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFHRCxPQUFPO1FBQ0gsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFO1lBQ25DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDL0M7UUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUF5QixzQkFBc0IsQ0FBQyxDQUFDO1FBQ3RHLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDMUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN0QyxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ2hELElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDOUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDN0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ2hELENBQUM7SUFFeUMsT0FBTyxDQUFDLEtBQW9CO1FBQ2xFLE1BQU0sSUFBSSxHQUFHLHNCQUFzQixDQUFDLFFBQVEsQ0FBRSxLQUFLLENBQUMsTUFBMkIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2RixJQUFJLElBQUksRUFBRTtZQUNOLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7WUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBQ3BHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkI7YUFBTTtZQUNILElBQUksQ0FBQyxRQUFRLENBQUUsS0FBSyxDQUFDLE1BQTJCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQywrQkFBK0I7U0FDM0Y7SUFDTCxDQUFDO0lBSUQsU0FBUztRQUNMLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBR0QsU0FBUztRQUNMLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBR0QsTUFBTTtRQUNGLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUdELG1CQUFtQixDQUFDLE1BQVc7UUFDM0IsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUM7UUFDbkcsSUFBSSxhQUFhLEVBQUU7WUFDZixJQUFJLGFBQWEsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLEVBQUU7b0JBQ3ZDLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3JELElBQUksQ0FBQyxhQUFhLEVBQUU7d0JBQ2hCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO3dCQUMxQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7d0JBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO3FCQUN2QztpQkFDSjthQUNKO1NBQ0o7SUFDTCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3RCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNkLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2FBQzVJO2lCQUFNO2dCQUNILElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQzthQUN6RTtTQUNKO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxXQUFXO0lBQ1gsUUFBUSxDQUFDLE9BQXdCO1FBQzdCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNSLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxJQUFJLEtBQUssWUFBWSxJQUFJLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssWUFBWSxNQUFNLEVBQUU7WUFDdEQsTUFBTSxJQUFJLEdBQUcsc0JBQXNCLENBQUMsUUFBUSxDQUFDLEtBQWUsQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUE7YUFDeEI7U0FDSjtRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFPRCx5QkFBeUIsQ0FBRSxFQUFjO1FBQ3JDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFvQjtRQUMzQixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1IsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3RFLE9BQU87U0FDVjtRQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssWUFBWSxNQUFNLEVBQUU7WUFDdEQsTUFBTSxJQUFJLEdBQUcsc0JBQXNCLENBQUMsUUFBUSxDQUFDLEtBQWUsQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUN6RSxPQUFPO2FBQ1Y7WUFDRCxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQ2hCO1FBQ0QsSUFBSSxLQUFLLFlBQVksSUFBSSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztTQUM1STtJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxVQUFtQjtRQUNqQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBa0I7UUFDOUIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMzQyxDQUFDO0lBRU8sS0FBSztRQUNULE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFBO0lBQ3RELENBQUM7a0lBcExRLHNCQUFzQjtzSEFBdEIsc0JBQXNCLDhhQVZwQixDQUFDO2dCQUNSLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixFQUFDO2dCQUNqRixLQUFLLEVBQUUsSUFBSTthQUNkO1lBQ0Q7Z0JBQ0ksT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLFdBQVcsRUFBRSxzQkFBc0I7Z0JBQ25DLEtBQUssRUFBRSxJQUFJO2FBQ2QsRUFBRTs7NEZBRU0sc0JBQXNCO2tCQVpsQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFNBQVMsRUFBRSxDQUFDOzRCQUNSLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSx1QkFBdUIsRUFBQzs0QkFDakYsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsd0JBQXdCOzRCQUNuQyxLQUFLLEVBQUUsSUFBSTt5QkFDZCxFQUFFO2lCQUNOOzBOQUdnQyxZQUFZO3NCQUF4QyxXQUFXO3VCQUFDLGNBQWM7Z0JBQ2pCLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0UsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQW1CTixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkFxQnFCLE9BQU87c0JBQWhELFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWFqQyxTQUFTO3NCQUZSLFlBQVk7dUJBQUMsbUJBQW1COztzQkFDaEMsWUFBWTt1QkFBQyxhQUFhO2dCQVEzQixTQUFTO3NCQURSLFlBQVk7dUJBQUMsYUFBYTtnQkFjM0IsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFJlbmRlcmVyMiwgU2ltcGxlQ2hhbmdlcywgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcbmltcG9ydCB7IGlzVmFsaWQsIHBhcnNlSVNPIH0gZnJvbSBcImRhdGUtZm5zXCI7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEFkYkRhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tIFwiLi9hZGItZGF0ZS1waWNrZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFkYkRhdGVQaWNrZXJTZXJ2aWNlIH0gZnJvbSBcIi4vYWRiLWRhdGUtcGlja2VyLnNlcnZpY2VcIjtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6IGBpbnB1dFthZGJEYXRlcGlja2VyXWAsXHJcbiAgICBwcm92aWRlcnM6IFt7XHJcbiAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFkYkRhdGVQaWNrZXJEaXJlY3RpdmUpLFxyXG4gICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgICAgdXNlRXhpc3Rpbmc6IEFkYkRhdGVQaWNrZXJEaXJlY3RpdmUsXHJcbiAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFkYkRhdGVQaWNrZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yLCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgICBASG9zdEJpbmRpbmcoJ2F1dG9jb21wbGV0ZScpIGF1dG9jb21wbGV0ZSA9ICdvZmYnO1xyXG4gICAgQE91dHB1dCgpIGFkYkJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcbiAgICBASW5wdXQoKSBmb3JtYXQgPSAneXl5eS1NTS1kZCc7XHJcbiAgICBASW5wdXQoKSB0b0xlZnQ6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBzZXR0aW5nczogeyBtYXhEYXRlPzogRGF0ZSB8IHN0cmluZywgbWluRGF0ZT86IERhdGUgfCBzdHJpbmcgfSA9IG51bGw7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgY3VycmVudERhdGU6IERhdGU7XHJcbiAgICBpc1ZhbGlkOiBib29sZWFuO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByaXZhdGUgYWRiRGF0ZVBpY2tlclNlcnZpY2U6IEFkYkRhdGVQaWNrZXJTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKFwicGxhY2Vob2xkZXJcIiwgdGhpcy5mb3JtYXQpO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcclxuICAgIG9uQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuYWRiRGF0ZVBpY2tlclNlcnZpY2Uudmlld1JlZikge1xyXG4gICAgICAgICAgICB0aGlzLmFkYkRhdGVQaWNrZXJTZXJ2aWNlLnZpZXdSZWYuZGVzdHJveSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB2aWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudDxBZGJEYXRlUGlja2VyQ29tcG9uZW50PihBZGJEYXRlUGlja2VyQ29tcG9uZW50KTtcclxuICAgICAgICB2aWV3UmVmLmluc3RhbmNlLnNldHRpbmdzID0gdGhpcy5zZXR0aW5ncztcclxuICAgICAgICB2aWV3UmVmLmluc3RhbmNlLnRvTGVmdCA9IHRoaXMudG9MZWZ0O1xyXG4gICAgICAgIHZpZXdSZWYuaW5zdGFuY2UuaW5pdGlhbERhdGUgPSB0aGlzLmN1cnJlbnREYXRlO1xyXG4gICAgICAgIHRoaXMuaWQgPSB0aGlzLmdldElkKCk7XHJcbiAgICAgICAgdmlld1JlZi5pbnN0YW5jZS5pZCA9IHRoaXMuaWQ7XHJcbiAgICAgICAgdmlld1JlZi5pbnN0YW5jZS5zZWxlY3REYXRlLnN1YnNjcmliZSgoZGF0ZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndmFsdWUnLCBmb3JtYXREYXRlKGRhdGUsIHRoaXMuZm9ybWF0LCB0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZykpO1xyXG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKGRhdGUpO1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnREYXRlID0gZGF0ZTtcclxuICAgICAgICAgICAgdGhpcy5vbkhpZGUoKTtcclxuICAgICAgICAgICAgdGhpcy5hZGJCbHVyLmVtaXQoZGF0ZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5hZGJEYXRlUGlja2VyU2VydmljZS52aWV3UmVmID0gdmlld1JlZjtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pIHB1YmxpYyBvbktleXVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZGF0ZSA9IEFkYkRhdGVQaWNrZXJEaXJlY3RpdmUudHJ5UGFyc2UoKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZSk7XHJcbiAgICAgICAgaWYgKGRhdGUpIHtcclxuICAgICAgICAgICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcclxuICAgICAgICAgICAgZGF0ZS5zZXRIb3Vycyhub3cuZ2V0SG91cnMoKSk7IGRhdGUuc2V0TWludXRlcyhub3cuZ2V0TWludXRlcygpKTsgZGF0ZS5zZXRTZWNvbmRzKG5vdy5nZXRTZWNvbmRzKCkpO1xyXG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKGRhdGUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UoKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZSk7IC8vc2VuZCBpbmNjb3JlY3QgdmFsdWVzIHRvIGZvcm1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5zaGlmdC50YWInKVxyXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi50YWInKVxyXG4gICAgb25UYWJEb3duKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWVPbkxlYXZlKCk7XHJcbiAgICAgICAgdGhpcy5vbkhpZGUoKTtcclxuICAgICAgICB0aGlzLmFkYkJsdXIuZW1pdCh0aGlzLmN1cnJlbnREYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVzYycpXHJcbiAgICBvbkVzY2RPV04oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZU9uTGVhdmUoKTtcclxuICAgICAgICB0aGlzLm9uSGlkZSgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBvbkhpZGUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5hZGJEYXRlUGlja2VyU2VydmljZS52aWV3UmVmID0gbnVsbDtcclxuICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuZGV0YWNoKCk7XHJcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcclxuICAgIG9uQ2hlY2tPdXRTaWRlQ2xpY2sodGFyZ2V0OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBuYXRpdmVFbGVtZW50ID0gdGhpcy5hZGJEYXRlUGlja2VyU2VydmljZS52aWV3UmVmPy5pbnN0YW5jZS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgPz8gbnVsbDtcclxuICAgICAgICBpZiAobmF0aXZlRWxlbWVudCkge1xyXG4gICAgICAgICAgICBpZiAobmF0aXZlRWxlbWVudC5pZCA9PT0gdGhpcy5pZCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0YXJnZXQuaGFzQXR0cmlidXRlKCdhZGJkYXRlcGlja2VyJykpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gbmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghY2xpY2tlZEluc2lkZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlT25MZWF2ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uSGlkZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkYkJsdXIuZW1pdCh0aGlzLmN1cnJlbnREYXRlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGVWYWx1ZU9uTGVhdmUoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNWYWxpZCkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50RGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgZm9ybWF0RGF0ZSh0aGlzLmN1cnJlbnREYXRlLCB0aGlzLmZvcm1hdCwgdGhpcy50cmFuc2xhdGUuY3VycmVudExhbmcpKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd2YWx1ZScsICcnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvL1ZhbGlkYXRvclxyXG4gICAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50RGF0ZSA9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMuaXNWYWxpZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudERhdGUgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5pc1ZhbGlkID0gdHJ1ZTtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHZhbHVlIGluc3RhbmNlb2YgU3RyaW5nKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGUgPSBBZGJEYXRlUGlja2VyRGlyZWN0aXZlLnRyeVBhcnNlKHZhbHVlIGFzIHN0cmluZyk7XHJcbiAgICAgICAgICAgIGlmICghZGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4geyBkYXRlOiB0cnVlIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmlzVmFsaWQgPSB0cnVlO1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8vQ29udHJvbFZhbHVlQWNjZXNzb3JcclxuICAgIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHsgfTtcclxuICAgIG9uVmFsaWRhdGlvbkNoYW5nZTogYW55ID0gKCkgPT4geyB9O1xyXG5cclxuICAgIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2U/KGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vblZhbGlkYXRpb25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBEYXRlIHwgc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnREYXRlID0gbnVsbDtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgJycpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHZhbHVlIGluc3RhbmNlb2YgU3RyaW5nKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGUgPSBBZGJEYXRlUGlja2VyRGlyZWN0aXZlLnRyeVBhcnNlKHZhbHVlIGFzIHN0cmluZyk7XHJcbiAgICAgICAgICAgIGlmICghZGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgdmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHZhbHVlID0gZGF0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnREYXRlID0gdmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd2YWx1ZScsIGZvcm1hdERhdGUodGhpcy5jdXJyZW50RGF0ZSwgdGhpcy5mb3JtYXQsIHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHRyeVBhcnNlKGRhdGVTdHJpbmc6IHN0cmluZyk6IERhdGUge1xyXG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlSVNPKGRhdGVTdHJpbmcpO1xyXG4gICAgICAgIHJldHVybiBpc1ZhbGlkKHBhcnNlZCkgPyBwYXJzZWQgOiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0SWQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gJycgKyBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBEYXRlLm5vdygpKVxyXG4gICAgfVxyXG59Il19
1
+ import { formatDate } from "@angular/common";
2
+ import { Directive, EventEmitter, forwardRef, HostBinding, HostListener, Input, Output } from "@angular/core";
3
+ import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from "@angular/forms";
4
+ import { isValid, parseISO } from "date-fns";
5
+ import { Subscription } from "rxjs";
6
+ import { AdbDatePickerComponent } from "./adb-date-picker.component";
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "./adb-date-picker.service";
9
+ import * as i2 from "@ngx-translate/core";
10
+ export class AdbDatePickerDirective {
11
+ constructor(viewContainerRef, renderer, elementRef, adbDatePickerService, translate) {
12
+ this.viewContainerRef = viewContainerRef;
13
+ this.renderer = renderer;
14
+ this.elementRef = elementRef;
15
+ this.adbDatePickerService = adbDatePickerService;
16
+ this.translate = translate;
17
+ this.subscriptions = new Subscription();
18
+ this.autocomplete = 'off';
19
+ this.adbBlur = new EventEmitter();
20
+ this.format = 'yyyy-MM-dd';
21
+ this.settings = null;
22
+ //ControlValueAccessor
23
+ this.onChange = () => { };
24
+ this.onTouched = () => { };
25
+ this.onValidationChange = () => { };
26
+ }
27
+ ngOnInit() {
28
+ this.elementRef.nativeElement.setAttribute("placeholder", this.format);
29
+ }
30
+ onClick() {
31
+ if (this.adbDatePickerService.viewRef) {
32
+ this.adbDatePickerService.viewRef.destroy();
33
+ }
34
+ const viewRef = this.viewContainerRef.createComponent(AdbDatePickerComponent);
35
+ viewRef.instance.settings = this.settings;
36
+ viewRef.instance.toLeft = this.toLeft;
37
+ viewRef.instance.initialDate = this.currentDate;
38
+ this.id = this.getId();
39
+ viewRef.instance.id = this.id;
40
+ viewRef.instance.selectDate.subscribe((date) => {
41
+ this.renderer.setProperty(this.elementRef.nativeElement, 'value', formatDate(date, this.format, this.translate.currentLang));
42
+ this.onChange(date);
43
+ this.currentDate = date;
44
+ this.onHide();
45
+ this.adbBlur.emit(date);
46
+ });
47
+ this.adbDatePickerService.viewRef = viewRef;
48
+ }
49
+ onKeyup(event) {
50
+ const date = AdbDatePickerDirective.tryParse(event.target.value);
51
+ if (date) {
52
+ const now = new Date();
53
+ date.setHours(now.getHours());
54
+ date.setMinutes(now.getMinutes());
55
+ date.setSeconds(now.getSeconds());
56
+ this.onChange(date);
57
+ }
58
+ else {
59
+ this.onChange(event.target.value); //send inccorect values to form
60
+ }
61
+ }
62
+ onTabDown() {
63
+ this.updateValueOnLeave();
64
+ this.onHide();
65
+ this.adbBlur.emit(this.currentDate);
66
+ }
67
+ onEscdOWN() {
68
+ this.updateValueOnLeave();
69
+ this.onHide();
70
+ }
71
+ onHide() {
72
+ this.adbDatePickerService.viewRef = null;
73
+ this.viewContainerRef.detach();
74
+ this.viewContainerRef.clear();
75
+ }
76
+ onCheckOutSideClick(target) {
77
+ const nativeElement = this.adbDatePickerService.viewRef?.instance.elementRef.nativeElement ?? null;
78
+ if (nativeElement) {
79
+ if (nativeElement.id === this.id) {
80
+ if (!target.hasAttribute('adbdatepicker')) {
81
+ const clickedInside = nativeElement.contains(target);
82
+ if (!clickedInside) {
83
+ this.updateValueOnLeave();
84
+ this.onHide();
85
+ this.adbBlur.emit(this.currentDate);
86
+ }
87
+ }
88
+ }
89
+ }
90
+ }
91
+ updateValueOnLeave() {
92
+ if (this.isValid) {
93
+ if (this.currentDate) {
94
+ this.renderer.setProperty(this.elementRef.nativeElement, 'value', formatDate(this.currentDate, this.format, this.translate.currentLang));
95
+ }
96
+ else {
97
+ this.renderer.setProperty(this.elementRef.nativeElement, 'value', '');
98
+ }
99
+ }
100
+ }
101
+ ngOnDestroy() {
102
+ this.subscriptions.unsubscribe();
103
+ }
104
+ //Validator
105
+ validate(control) {
106
+ const value = control.value;
107
+ if (!value) {
108
+ this.currentDate = null;
109
+ this.isValid = true;
110
+ return null;
111
+ }
112
+ if (value instanceof Date) {
113
+ this.currentDate = value;
114
+ this.isValid = true;
115
+ return null;
116
+ }
117
+ if (typeof value === 'string' || value instanceof String) {
118
+ const date = AdbDatePickerDirective.tryParse(value);
119
+ if (!date) {
120
+ this.isValid = false;
121
+ return { date: true };
122
+ }
123
+ }
124
+ this.isValid = true;
125
+ return null;
126
+ }
127
+ registerOnValidatorChange(fn) {
128
+ this.onValidationChange = fn;
129
+ }
130
+ writeValue(value) {
131
+ if (!value) {
132
+ this.currentDate = null;
133
+ this.renderer.setProperty(this.elementRef.nativeElement, 'value', '');
134
+ return;
135
+ }
136
+ if (typeof value === 'string' || value instanceof String) {
137
+ const date = AdbDatePickerDirective.tryParse(value);
138
+ if (!date) {
139
+ this.renderer.setProperty(this.elementRef.nativeElement, 'value', value);
140
+ return;
141
+ }
142
+ value = date;
143
+ }
144
+ if (value instanceof Date) {
145
+ this.currentDate = value;
146
+ this.renderer.setProperty(this.elementRef.nativeElement, 'value', formatDate(this.currentDate, this.format, this.translate.currentLang));
147
+ }
148
+ }
149
+ registerOnChange(fn) {
150
+ this.onChange = fn;
151
+ }
152
+ registerOnTouched(fn) {
153
+ this.onTouched = fn;
154
+ }
155
+ setDisabledState(isDisabled) {
156
+ this.viewContainerRef.clear();
157
+ }
158
+ static tryParse(dateString) {
159
+ const parsed = parseISO(dateString);
160
+ return isValid(parsed) ? parsed : null;
161
+ }
162
+ getId() {
163
+ return '' + Math.floor(Math.random() * Date.now());
164
+ }
165
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbDatePickerDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.AdbDatePickerService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Directive }); }
166
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: AdbDatePickerDirective, selector: "input[adbDatepicker]", inputs: { format: "format", toLeft: "toLeft", settings: "settings" }, outputs: { adbBlur: "adbBlur" }, host: { listeners: { "click": "onClick()", "keyup": "onKeyup($event)", "keydown.shift.tab": "onTabDown()", "keydown.tab": "onTabDown()", "keydown.esc": "onEscdOWN()", "document:click": "onCheckOutSideClick($event.target)" }, properties: { "autocomplete": "this.autocomplete" } }, providers: [{
167
+ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => AdbDatePickerDirective)),
168
+ multi: true
169
+ },
170
+ {
171
+ provide: NG_VALIDATORS,
172
+ useExisting: AdbDatePickerDirective,
173
+ multi: true,
174
+ },], ngImport: i0 }); }
175
+ }
176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbDatePickerDirective, decorators: [{
177
+ type: Directive,
178
+ args: [{
179
+ selector: `input[adbDatepicker]`,
180
+ providers: [{
181
+ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef((() => AdbDatePickerDirective)),
182
+ multi: true
183
+ },
184
+ {
185
+ provide: NG_VALIDATORS,
186
+ useExisting: AdbDatePickerDirective,
187
+ multi: true,
188
+ },]
189
+ }]
190
+ }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.AdbDatePickerService }, { type: i2.TranslateService }], propDecorators: { autocomplete: [{
191
+ type: HostBinding,
192
+ args: ['autocomplete']
193
+ }], adbBlur: [{
194
+ type: Output
195
+ }], format: [{
196
+ type: Input
197
+ }], toLeft: [{
198
+ type: Input
199
+ }], settings: [{
200
+ type: Input
201
+ }], onClick: [{
202
+ type: HostListener,
203
+ args: ['click']
204
+ }], onKeyup: [{
205
+ type: HostListener,
206
+ args: ['keyup', ['$event']]
207
+ }], onTabDown: [{
208
+ type: HostListener,
209
+ args: ['keydown.shift.tab']
210
+ }, {
211
+ type: HostListener,
212
+ args: ['keydown.tab']
213
+ }], onEscdOWN: [{
214
+ type: HostListener,
215
+ args: ['keydown.esc']
216
+ }], onCheckOutSideClick: [{
217
+ type: HostListener,
218
+ args: ['document:click', ['$event.target']]
219
+ }] } });
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWRhdGUtcGlja2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBpY2tlci9hZGItZGF0ZS1waWNrZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWdDLE1BQU0sRUFBOEMsTUFBTSxlQUFlLENBQUM7QUFDcE0sT0FBTyxFQUF5QyxhQUFhLEVBQUUsaUJBQWlCLEVBQStCLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEksT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDN0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQWVyRSxNQUFNLE9BQU8sc0JBQXNCO0lBVy9CLFlBQ1ksZ0JBQWtDLEVBQ2xDLFFBQW1CLEVBQ25CLFVBQXNCLEVBQ3RCLG9CQUEwQyxFQUMzQyxTQUEyQjtRQUoxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzNDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBZjlCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNkLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3hDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3BDLFdBQU0sR0FBRyxZQUFZ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QkFBdUIsRUFBQzs0QkFDakYsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsd0JBQXdCOzRCQUNuQyxLQUFLLEVBQUUsSUFBSTt5QkFDZCxFQUFFO2lCQUNOO3dNQUdnQyxZQUFZO3NCQUF4QyxXQUFXO3VCQUFDLGNBQWM7Z0JBQ2pCLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0UsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQW1CTixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkFxQnFCLE9BQU87c0JBQWhELFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWFqQyxTQUFTO3NCQUZSLFlBQVk7dUJBQUMsbUJBQW1COztzQkFDaEMsWUFBWTt1QkFBQyxhQUFhO2dCQVEzQixTQUFTO3NCQURSLFlBQVk7dUJBQUMsYUFBYTtnQkFjM0IsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFJlbmRlcmVyMiwgU2ltcGxlQ2hhbmdlcywgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XHJcbmltcG9ydCB7IGlzVmFsaWQsIHBhcnNlSVNPIH0gZnJvbSBcImRhdGUtZm5zXCI7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEFkYkRhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tIFwiLi9hZGItZGF0ZS1waWNrZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEFkYkRhdGVQaWNrZXJTZXJ2aWNlIH0gZnJvbSBcIi4vYWRiLWRhdGUtcGlja2VyLnNlcnZpY2VcIjtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6IGBpbnB1dFthZGJEYXRlcGlja2VyXWAsXHJcbiAgICBwcm92aWRlcnM6IFt7XHJcbiAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFkYkRhdGVQaWNrZXJEaXJlY3RpdmUpLFxyXG4gICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXHJcbiAgICAgICAgdXNlRXhpc3Rpbmc6IEFkYkRhdGVQaWNrZXJEaXJlY3RpdmUsXHJcbiAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9LF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFkYkRhdGVQaWNrZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yLCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgICBASG9zdEJpbmRpbmcoJ2F1dG9jb21wbGV0ZScpIGF1dG9jb21wbGV0ZSA9ICdvZmYnO1xyXG4gICAgQE91dHB1dCgpIGFkYkJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcbiAgICBASW5wdXQoKSBmb3JtYXQgPSAneXl5eS1NTS1kZCc7XHJcbiAgICBASW5wdXQoKSB0b0xlZnQ6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBzZXR0aW5nczogeyBtYXhEYXRlPzogRGF0ZSB8IHN0cmluZywgbWluRGF0ZT86IERhdGUgfCBzdHJpbmcgfSA9IG51bGw7XHJcbiAgICBpZDogc3RyaW5nO1xyXG4gICAgY3VycmVudERhdGU6IERhdGU7XHJcbiAgICBpc1ZhbGlkOiBib29sZWFuO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByaXZhdGUgYWRiRGF0ZVBpY2tlclNlcnZpY2U6IEFkYkRhdGVQaWNrZXJTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKFwicGxhY2Vob2xkZXJcIiwgdGhpcy5mb3JtYXQpO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcclxuICAgIG9uQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuYWRiRGF0ZVBpY2tlclNlcnZpY2Uudmlld1JlZikge1xyXG4gICAgICAgICAgICB0aGlzLmFkYkRhdGVQaWNrZXJTZXJ2aWNlLnZpZXdSZWYuZGVzdHJveSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB2aWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudDxBZGJEYXRlUGlja2VyQ29tcG9uZW50PihBZGJEYXRlUGlja2VyQ29tcG9uZW50KTtcclxuICAgICAgICB2aWV3UmVmLmluc3RhbmNlLnNldHRpbmdzID0gdGhpcy5zZXR0aW5ncztcclxuICAgICAgICB2aWV3UmVmLmluc3RhbmNlLnRvTGVmdCA9IHRoaXMudG9MZWZ0O1xyXG4gICAgICAgIHZpZXdSZWYuaW5zdGFuY2UuaW5pdGlhbERhdGUgPSB0aGlzLmN1cnJlbnREYXRlO1xyXG4gICAgICAgIHRoaXMuaWQgPSB0aGlzLmdldElkKCk7XHJcbiAgICAgICAgdmlld1JlZi5pbnN0YW5jZS5pZCA9IHRoaXMuaWQ7XHJcbiAgICAgICAgdmlld1JlZi5pbnN0YW5jZS5zZWxlY3REYXRlLnN1YnNjcmliZSgoZGF0ZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndmFsdWUnLCBmb3JtYXREYXRlKGRhdGUsIHRoaXMuZm9ybWF0LCB0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZykpO1xyXG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKGRhdGUpO1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnREYXRlID0gZGF0ZTtcclxuICAgICAgICAgICAgdGhpcy5vbkhpZGUoKTtcclxuICAgICAgICAgICAgdGhpcy5hZGJCbHVyLmVtaXQoZGF0ZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5hZGJEYXRlUGlja2VyU2VydmljZS52aWV3UmVmID0gdmlld1JlZjtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pIHB1YmxpYyBvbktleXVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZGF0ZSA9IEFkYkRhdGVQaWNrZXJEaXJlY3RpdmUudHJ5UGFyc2UoKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZSk7XHJcbiAgICAgICAgaWYgKGRhdGUpIHtcclxuICAgICAgICAgICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcclxuICAgICAgICAgICAgZGF0ZS5zZXRIb3Vycyhub3cuZ2V0SG91cnMoKSk7IGRhdGUuc2V0TWludXRlcyhub3cuZ2V0TWludXRlcygpKTsgZGF0ZS5zZXRTZWNvbmRzKG5vdy5nZXRTZWNvbmRzKCkpO1xyXG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKGRhdGUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UoKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZSk7IC8vc2VuZCBpbmNjb3JlY3QgdmFsdWVzIHRvIGZvcm1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5zaGlmdC50YWInKVxyXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi50YWInKVxyXG4gICAgb25UYWJEb3duKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWVPbkxlYXZlKCk7XHJcbiAgICAgICAgdGhpcy5vbkhpZGUoKTtcclxuICAgICAgICB0aGlzLmFkYkJsdXIuZW1pdCh0aGlzLmN1cnJlbnREYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVzYycpXHJcbiAgICBvbkVzY2RPV04oKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZU9uTGVhdmUoKTtcclxuICAgICAgICB0aGlzLm9uSGlkZSgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBvbkhpZGUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5hZGJEYXRlUGlja2VyU2VydmljZS52aWV3UmVmID0gbnVsbDtcclxuICAgICAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuZGV0YWNoKCk7XHJcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudC50YXJnZXQnXSlcclxuICAgIG9uQ2hlY2tPdXRTaWRlQ2xpY2sodGFyZ2V0OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBuYXRpdmVFbGVtZW50ID0gdGhpcy5hZGJEYXRlUGlja2VyU2VydmljZS52aWV3UmVmPy5pbnN0YW5jZS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgPz8gbnVsbDtcclxuICAgICAgICBpZiAobmF0aXZlRWxlbWVudCkge1xyXG4gICAgICAgICAgICBpZiAobmF0aXZlRWxlbWVudC5pZCA9PT0gdGhpcy5pZCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0YXJnZXQuaGFzQXR0cmlidXRlKCdhZGJkYXRlcGlja2VyJykpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjbGlja2VkSW5zaWRlID0gbmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICghY2xpY2tlZEluc2lkZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlT25MZWF2ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uSGlkZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkYkJsdXIuZW1pdCh0aGlzLmN1cnJlbnREYXRlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGVWYWx1ZU9uTGVhdmUoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNWYWxpZCkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5jdXJyZW50RGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgZm9ybWF0RGF0ZSh0aGlzLmN1cnJlbnREYXRlLCB0aGlzLmZvcm1hdCwgdGhpcy50cmFuc2xhdGUuY3VycmVudExhbmcpKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd2YWx1ZScsICcnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvL1ZhbGlkYXRvclxyXG4gICAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5jdXJyZW50RGF0ZSA9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMuaXNWYWxpZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3VycmVudERhdGUgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5pc1ZhbGlkID0gdHJ1ZTtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHZhbHVlIGluc3RhbmNlb2YgU3RyaW5nKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGUgPSBBZGJEYXRlUGlja2VyRGlyZWN0aXZlLnRyeVBhcnNlKHZhbHVlIGFzIHN0cmluZyk7XHJcbiAgICAgICAgICAgIGlmICghZGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc1ZhbGlkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4geyBkYXRlOiB0cnVlIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmlzVmFsaWQgPSB0cnVlO1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8vQ29udHJvbFZhbHVlQWNjZXNzb3JcclxuICAgIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7IH07XHJcbiAgICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHsgfTtcclxuICAgIG9uVmFsaWRhdGlvbkNoYW5nZTogYW55ID0gKCkgPT4geyB9O1xyXG5cclxuICAgIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2U/KGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vblZhbGlkYXRpb25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBEYXRlIHwgc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnREYXRlID0gbnVsbDtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgJycpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHZhbHVlIGluc3RhbmNlb2YgU3RyaW5nKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRhdGUgPSBBZGJEYXRlUGlja2VyRGlyZWN0aXZlLnRyeVBhcnNlKHZhbHVlIGFzIHN0cmluZyk7XHJcbiAgICAgICAgICAgIGlmICghZGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3ZhbHVlJywgdmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHZhbHVlID0gZGF0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmN1cnJlbnREYXRlID0gdmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd2YWx1ZScsIGZvcm1hdERhdGUodGhpcy5jdXJyZW50RGF0ZSwgdGhpcy5mb3JtYXQsIHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIHRyeVBhcnNlKGRhdGVTdHJpbmc6IHN0cmluZyk6IERhdGUge1xyXG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlSVNPKGRhdGVTdHJpbmcpO1xyXG4gICAgICAgIHJldHVybiBpc1ZhbGlkKHBhcnNlZCkgPyBwYXJzZWQgOiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0SWQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gJycgKyBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBEYXRlLm5vdygpKVxyXG4gICAgfVxyXG59Il19
@@ -1,25 +1,25 @@
1
- import { CommonModule } from "@angular/common";
2
- import { NgModule } from "@angular/core";
3
- import { TranslateModule } from "@ngx-translate/core";
4
- import { AdbDirectivesModule } from "../../directives/directives.module";
5
- import { AdbPipesModule } from "../../pipes/pipes.module";
6
- import { AdbDatePickerComponent } from "./adb-date-picker.component";
7
- import { AdbDatePickerDirective } from "./adb-date-picker.directive";
8
- import { AdbDatePickerService } from "./adb-date-picker.service";
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "@ngx-translate/core";
11
- export class AdbDatePickerModule {
12
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdbDatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AdbDatePickerModule, declarations: [AdbDatePickerComponent, AdbDatePickerDirective], imports: [CommonModule, i1.TranslateModule, AdbPipesModule, AdbDirectivesModule], exports: [AdbDatePickerComponent, AdbDatePickerDirective] }); }
14
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdbDatePickerModule, providers: [AdbDatePickerService], imports: [CommonModule, TranslateModule.forChild(), AdbPipesModule, AdbDirectivesModule] }); }
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdbDatePickerModule, decorators: [{
17
- type: NgModule,
18
- args: [{
19
- imports: [CommonModule, TranslateModule.forChild(), AdbPipesModule, AdbDirectivesModule],
20
- declarations: [AdbDatePickerComponent, AdbDatePickerDirective],
21
- exports: [AdbDatePickerComponent, AdbDatePickerDirective],
22
- providers: [AdbDatePickerService]
23
- }]
24
- }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWRhdGUtcGlja2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBpY2tlci9hZGItZGF0ZS1waWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQVFqRSxNQUFNLE9BQU8sbUJBQW1CO2tJQUFuQixtQkFBbUI7bUlBQW5CLG1CQUFtQixpQkFKYixzQkFBc0IsRUFBRSxzQkFBc0IsYUFEbkQsWUFBWSxzQkFBOEIsY0FBYyxFQUFFLG1CQUFtQixhQUU3RSxzQkFBc0IsRUFBRSxzQkFBc0I7bUlBRy9DLG1CQUFtQixhQUZqQixDQUFDLG9CQUFvQixDQUFDLFlBSHZCLFlBQVksRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLEVBQUUsY0FBYyxFQUFFLG1CQUFtQjs7NEZBSzlFLG1CQUFtQjtrQkFOL0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQztvQkFDeEYsWUFBWSxFQUFFLENBQUMsc0JBQXNCLEVBQUUsc0JBQXNCLENBQUM7b0JBQzlELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixFQUFFLHNCQUFzQixDQUFDO29CQUN6RCxTQUFTLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcclxuaW1wb3J0IHsgQWRiRGlyZWN0aXZlc01vZHVsZSB9IGZyb20gXCIuLi8uLi9kaXJlY3RpdmVzL2RpcmVjdGl2ZXMubW9kdWxlXCI7XHJcbmltcG9ydCB7IEFkYlBpcGVzTW9kdWxlIH0gZnJvbSBcIi4uLy4uL3BpcGVzL3BpcGVzLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBBZGJEYXRlUGlja2VyQ29tcG9uZW50IH0gZnJvbSBcIi4vYWRiLWRhdGUtcGlja2VyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBZGJEYXRlUGlja2VyRGlyZWN0aXZlIH0gZnJvbSBcIi4vYWRiLWRhdGUtcGlja2VyLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQgeyBBZGJEYXRlUGlja2VyU2VydmljZSB9IGZyb20gXCIuL2FkYi1kYXRlLXBpY2tlci5zZXJ2aWNlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKCksIEFkYlBpcGVzTW9kdWxlLCBBZGJEaXJlY3RpdmVzTW9kdWxlXSxcclxuICAgIGRlY2xhcmF0aW9uczogW0FkYkRhdGVQaWNrZXJDb21wb25lbnQsIEFkYkRhdGVQaWNrZXJEaXJlY3RpdmVdLFxyXG4gICAgZXhwb3J0czogW0FkYkRhdGVQaWNrZXJDb21wb25lbnQsIEFkYkRhdGVQaWNrZXJEaXJlY3RpdmVdLFxyXG4gICAgcHJvdmlkZXJzOiBbQWRiRGF0ZVBpY2tlclNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGJEYXRlUGlja2VyTW9kdWxlIHsgfSJdfQ==
1
+ import { CommonModule } from "@angular/common";
2
+ import { NgModule } from "@angular/core";
3
+ import { TranslateModule } from "@ngx-translate/core";
4
+ import { AdbDirectivesModule } from "../../directives/directives.module";
5
+ import { AdbPipesModule } from "../../pipes/pipes.module";
6
+ import { AdbDatePickerComponent } from "./adb-date-picker.component";
7
+ import { AdbDatePickerDirective } from "./adb-date-picker.directive";
8
+ import { AdbDatePickerService } from "./adb-date-picker.service";
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@ngx-translate/core";
11
+ export class AdbDatePickerModule {
12
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbDatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: AdbDatePickerModule, declarations: [AdbDatePickerComponent, AdbDatePickerDirective], imports: [CommonModule, i1.TranslateModule, AdbPipesModule, AdbDirectivesModule], exports: [AdbDatePickerComponent, AdbDatePickerDirective] }); }
14
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbDatePickerModule, providers: [AdbDatePickerService], imports: [CommonModule, TranslateModule.forChild(), AdbPipesModule, AdbDirectivesModule] }); }
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbDatePickerModule, decorators: [{
17
+ type: NgModule,
18
+ args: [{
19
+ imports: [CommonModule, TranslateModule.forChild(), AdbPipesModule, AdbDirectivesModule],
20
+ declarations: [AdbDatePickerComponent, AdbDatePickerDirective],
21
+ exports: [AdbDatePickerComponent, AdbDatePickerDirective],
22
+ providers: [AdbDatePickerService]
23
+ }]
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWRhdGUtcGlja2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FydGRhdGEtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9kYXRlLXBpY2tlci9hZGItZGF0ZS1waWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQVFqRSxNQUFNLE9BQU8sbUJBQW1CO2lJQUFuQixtQkFBbUI7a0lBQW5CLG1CQUFtQixpQkFKYixzQkFBc0IsRUFBRSxzQkFBc0IsYUFEbkQsWUFBWSxzQkFBOEIsY0FBYyxFQUFFLG1CQUFtQixhQUU3RSxzQkFBc0IsRUFBRSxzQkFBc0I7a0lBRy9DLG1CQUFtQixhQUZqQixDQUFDLG9CQUFvQixDQUFDLFlBSHZCLFlBQVksRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLEVBQUUsY0FBYyxFQUFFLG1CQUFtQjs7MkZBSzlFLG1CQUFtQjtrQkFOL0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQztvQkFDeEYsWUFBWSxFQUFFLENBQUMsc0JBQXNCLEVBQUUsc0JBQXNCLENBQUM7b0JBQzlELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixFQUFFLHNCQUFzQixDQUFDO29CQUN6RCxTQUFTLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztpQkFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcclxuaW1wb3J0IHsgQWRiRGlyZWN0aXZlc01vZHVsZSB9IGZyb20gXCIuLi8uLi9kaXJlY3RpdmVzL2RpcmVjdGl2ZXMubW9kdWxlXCI7XHJcbmltcG9ydCB7IEFkYlBpcGVzTW9kdWxlIH0gZnJvbSBcIi4uLy4uL3BpcGVzL3BpcGVzLm1vZHVsZVwiO1xyXG5pbXBvcnQgeyBBZGJEYXRlUGlja2VyQ29tcG9uZW50IH0gZnJvbSBcIi4vYWRiLWRhdGUtcGlja2VyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBZGJEYXRlUGlja2VyRGlyZWN0aXZlIH0gZnJvbSBcIi4vYWRiLWRhdGUtcGlja2VyLmRpcmVjdGl2ZVwiO1xyXG5pbXBvcnQgeyBBZGJEYXRlUGlja2VyU2VydmljZSB9IGZyb20gXCIuL2FkYi1kYXRlLXBpY2tlci5zZXJ2aWNlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKCksIEFkYlBpcGVzTW9kdWxlLCBBZGJEaXJlY3RpdmVzTW9kdWxlXSxcclxuICAgIGRlY2xhcmF0aW9uczogW0FkYkRhdGVQaWNrZXJDb21wb25lbnQsIEFkYkRhdGVQaWNrZXJEaXJlY3RpdmVdLFxyXG4gICAgZXhwb3J0czogW0FkYkRhdGVQaWNrZXJDb21wb25lbnQsIEFkYkRhdGVQaWNrZXJEaXJlY3RpdmVdLFxyXG4gICAgcHJvdmlkZXJzOiBbQWRiRGF0ZVBpY2tlclNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGJEYXRlUGlja2VyTW9kdWxlIHsgfSJdfQ==
@@ -1,10 +1,10 @@
1
- import { Injectable } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export class AdbDatePickerService {
4
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdbDatePickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdbDatePickerService }); }
6
- }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AdbDatePickerService, decorators: [{
8
- type: Injectable
9
- }] });
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWRhdGUtcGlja2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnRkYXRhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvYWRiLWRhdGUtcGlja2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3QixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS2pFLE1BQU0sT0FBTyxvQkFBb0I7a0lBQXBCLG9CQUFvQjtzSUFBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBBZGJEYXRlUGlja2VyQ29tcG9uZW50IH0gZnJvbSBcIi4vYWRiLWRhdGUtcGlja2VyLmNvbXBvbmVudFwiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQWRiRGF0ZVBpY2tlclNlcnZpY2Uge1xyXG4gICAgdmlld1JlZjogQ29tcG9uZW50UmVmPEFkYkRhdGVQaWNrZXJDb21wb25lbnQ+O1xyXG59Il19
1
+ import { Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class AdbDatePickerService {
4
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbDatePickerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbDatePickerService }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: AdbDatePickerService, decorators: [{
8
+ type: Injectable
9
+ }] });
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRiLWRhdGUtcGlja2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnRkYXRhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvYWRiLWRhdGUtcGlja2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3QixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS2pFLE1BQU0sT0FBTyxvQkFBb0I7aUlBQXBCLG9CQUFvQjtxSUFBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBBZGJEYXRlUGlja2VyQ29tcG9uZW50IH0gZnJvbSBcIi4vYWRiLWRhdGUtcGlja2VyLmNvbXBvbmVudFwiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQWRiRGF0ZVBpY2tlclNlcnZpY2Uge1xyXG4gICAgdmlld1JlZjogQ29tcG9uZW50UmVmPEFkYkRhdGVQaWNrZXJDb21wb25lbnQ+O1xyXG59Il19