@elderbyte/ngx-starter 18.12.4 → 18.12.6

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 (49) hide show
  1. package/esm2022/lib/common/data/data-context/indexed-entities.mjs +13 -2
  2. package/esm2022/lib/common/selection/selection-model.mjs +4 -3
  3. package/esm2022/lib/components/data-view/common/selection/data-context-selection.directive.mjs +4 -2
  4. package/esm2022/lib/components/time/elder-interval-picker/controller/interval-anchor-controller.mjs +21 -0
  5. package/esm2022/lib/components/time/elder-interval-picker/controller/interval-calendar-controller.mjs +24 -0
  6. package/esm2022/lib/components/time/elder-interval-picker/controller/interval-controller.mjs +43 -0
  7. package/esm2022/lib/components/time/elder-interval-picker/controller/interval-form-controller.mjs +69 -0
  8. package/esm2022/lib/components/time/elder-interval-picker/controller/interval-select-controller.mjs +117 -0
  9. package/esm2022/lib/components/time/elder-interval-picker/controller/interval-shift-controller.mjs +44 -0
  10. package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker.component.mjs +87 -130
  11. package/esm2022/lib/components/time/elder-interval-picker/interval-picker-binding/elder-interval-picker-binding.directive.mjs +41 -0
  12. package/esm2022/lib/components/time/elder-interval-picker/interval-picker-toggle/elder-interval-picker-toggle.component.mjs +144 -0
  13. package/esm2022/lib/components/time/elder-interval-picker/manager/interval-picker-state-manager.mjs +93 -0
  14. package/esm2022/lib/components/time/elder-interval-picker/model/anchor-state.mjs +54 -0
  15. package/esm2022/lib/components/time/elder-interval-picker/model/interval-state.mjs +37 -0
  16. package/esm2022/lib/components/time/elder-interval-picker/model/smart-shift-state.mjs +10 -0
  17. package/esm2022/lib/components/time/elder-interval-picker/presenter/interval-picker-presenter.mjs +96 -0
  18. package/esm2022/lib/components/time/elder-interval-picker/util/interval-picker-util.mjs +194 -0
  19. package/esm2022/lib/components/time/elder-time.module.mjs +5 -5
  20. package/fesm2022/elderbyte-ngx-starter.mjs +789 -892
  21. package/fesm2022/elderbyte-ngx-starter.mjs.map +1 -1
  22. package/lib/components/time/elder-interval-picker/controller/interval-anchor-controller.d.ts +9 -0
  23. package/lib/components/time/elder-interval-picker/controller/interval-calendar-controller.d.ts +7 -0
  24. package/lib/components/time/elder-interval-picker/controller/interval-controller.d.ts +35 -0
  25. package/lib/components/time/elder-interval-picker/controller/interval-form-controller.d.ts +12 -0
  26. package/lib/components/time/elder-interval-picker/controller/interval-select-controller.d.ts +22 -0
  27. package/lib/components/time/elder-interval-picker/controller/interval-shift-controller.d.ts +13 -0
  28. package/lib/components/time/elder-interval-picker/elder-interval-picker.component.d.ts +26 -34
  29. package/lib/components/time/elder-interval-picker/{elder-interval-picker-binding.directive.d.ts → interval-picker-binding/elder-interval-picker-binding.directive.d.ts} +3 -4
  30. package/lib/components/time/elder-interval-picker/interval-picker-toggle/elder-interval-picker-toggle.component.d.ts +37 -0
  31. package/lib/components/time/elder-interval-picker/manager/interval-picker-state-manager.d.ts +46 -0
  32. package/lib/components/time/elder-interval-picker/model/anchor-state.d.ts +20 -0
  33. package/lib/components/time/elder-interval-picker/model/interval-state.d.ts +16 -0
  34. package/lib/components/time/elder-interval-picker/model/smart-shift-state.d.ts +8 -0
  35. package/lib/components/time/elder-interval-picker/presenter/interval-picker-presenter.d.ts +30 -0
  36. package/lib/components/time/elder-interval-picker/util/interval-picker-util.d.ts +20 -0
  37. package/lib/components/time/elder-time.module.d.ts +4 -4
  38. package/package.json +1 -1
  39. package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker-binding.directive.mjs +0 -40
  40. package/esm2022/lib/components/time/elder-interval-picker/elder-interval-picker-toggle/elder-interval-picker-toggle.component.mjs +0 -202
  41. package/esm2022/lib/components/time/elder-interval-picker/model/interval-picker-model-editor.mjs +0 -284
  42. package/esm2022/lib/components/time/elder-interval-picker/model/interval-picker-model.mjs +0 -445
  43. package/esm2022/lib/components/time/elder-interval-picker/model/plain-date-interval-message-renderer.mjs +0 -37
  44. package/esm2022/lib/components/time/elder-interval-picker/model/plain-temporal-duration-message-renderer.mjs +0 -25
  45. package/lib/components/time/elder-interval-picker/elder-interval-picker-toggle/elder-interval-picker-toggle.component.d.ts +0 -55
  46. package/lib/components/time/elder-interval-picker/model/interval-picker-model-editor.d.ts +0 -77
  47. package/lib/components/time/elder-interval-picker/model/interval-picker-model.d.ts +0 -113
  48. package/lib/components/time/elder-interval-picker/model/plain-date-interval-message-renderer.d.ts +0 -7
  49. package/lib/components/time/elder-interval-picker/model/plain-temporal-duration-message-renderer.d.ts +0 -4
@@ -0,0 +1,194 @@
1
+ import { Temporal } from '@js-temporal/polyfill';
2
+ import { Interval } from '../../../../common/time/interval';
3
+ import { TemporalUtil } from '../../../../common/time/temporal-util';
4
+ import { TimeUtil } from '../../../../common/time/time-util';
5
+ import IntervalState from '../model/interval-state';
6
+ export default class IntervalPickerUtil {
7
+ static createElderInterval(intervalState) {
8
+ let startInstant;
9
+ let endInstant;
10
+ try {
11
+ const startDateTimeJS = TemporalUtil.getJSDateFromPlainDateTime(intervalState.startDateTime);
12
+ startInstant = TimeUtil.instant(startDateTimeJS);
13
+ }
14
+ catch (e) {
15
+ startInstant = null;
16
+ }
17
+ try {
18
+ const endDateTimeJS = TemporalUtil.getJSDateFromPlainDateTime(intervalState.endDateTime);
19
+ endInstant = TimeUtil.instant(endDateTimeJS);
20
+ }
21
+ catch (e) {
22
+ endInstant = null;
23
+ }
24
+ return new Interval(startInstant, endInstant);
25
+ }
26
+ static transformToIntervalState(interval) {
27
+ if (!interval) {
28
+ return null;
29
+ }
30
+ const startDateTimeJS = interval.start ? TimeUtil.date(interval.start) : null;
31
+ const endDateTimeJS = interval.end ? TimeUtil.date(interval.end) : null;
32
+ let startDate = null;
33
+ let endDate = null;
34
+ let startTime = null;
35
+ let endTime = null;
36
+ try {
37
+ const startDateTime = TemporalUtil.getPlainDateTimeFromJSDate(startDateTimeJS);
38
+ startDate = startDateTime.toPlainDate();
39
+ startTime = startDateTime.toPlainTime();
40
+ }
41
+ catch (e) {
42
+ startDate = null;
43
+ startTime = null;
44
+ }
45
+ try {
46
+ const endDateTime = TemporalUtil.getPlainDateTimeFromJSDate(endDateTimeJS);
47
+ endDate = endDateTime.toPlainDate();
48
+ endTime = endDateTime.toPlainTime();
49
+ }
50
+ catch (e) {
51
+ endDate = null;
52
+ endTime = null;
53
+ }
54
+ return new IntervalState(startDate, endDate, startTime, endTime);
55
+ }
56
+ static createTemporalDateTime(date, time) {
57
+ if (!date) {
58
+ return null;
59
+ }
60
+ return Temporal.PlainDateTime.from({
61
+ year: date.year,
62
+ month: date.month,
63
+ day: date.day,
64
+ hour: time.hour,
65
+ minute: time.minute,
66
+ second: time.second,
67
+ millisecond: time.millisecond,
68
+ });
69
+ }
70
+ static isIntervalEquals(interval1, interval2) {
71
+ if (!interval1 && !interval2) {
72
+ return true;
73
+ }
74
+ if (!interval1 || !interval2) {
75
+ return false;
76
+ }
77
+ return (this.isEquals(interval1.startDate, interval2.startDate) &&
78
+ this.isEquals(interval1.endDate, interval2.endDate) &&
79
+ this.isEquals(interval1.startTime, interval2.startTime) &&
80
+ this.isEquals(interval1.endTime, interval2.endTime));
81
+ }
82
+ static isEquals(x, y) {
83
+ if (!x && !y) {
84
+ return true;
85
+ }
86
+ if (!x || !y) {
87
+ return false;
88
+ }
89
+ return x.equals(y);
90
+ }
91
+ static isIntervalWithStartAndEnd(interval) {
92
+ return !!interval?.startDate && !!interval?.endDate;
93
+ }
94
+ static isOpenInterval(interval) {
95
+ if (!interval) {
96
+ return false;
97
+ }
98
+ return ((!!interval.startDate && !interval.endDate) || (!interval.startDate && !!interval.endDate));
99
+ }
100
+ static getDeltaHumanReadable(interval) {
101
+ if (IntervalPickerUtil.isOpenInterval(interval)) {
102
+ return '∞';
103
+ }
104
+ if (!IntervalPickerUtil.isIntervalWithStartAndEnd(interval)) {
105
+ return '-';
106
+ }
107
+ const duration = interval.startDateTime.until(interval.endDateTime);
108
+ const tmp = [];
109
+ if (duration.days) {
110
+ tmp.push(`${duration.days}d`);
111
+ }
112
+ if (duration.hours) {
113
+ tmp.push(`${duration.hours}h`);
114
+ }
115
+ if (duration.minutes) {
116
+ tmp.push(`${duration.minutes}min`);
117
+ }
118
+ if (duration.seconds) {
119
+ tmp.push(`${duration.seconds}s`);
120
+ }
121
+ if (!tmp.length) {
122
+ return '0s';
123
+ }
124
+ return tmp.join(', ');
125
+ }
126
+ static getSmartShiftMessage(mode, dateInterval) {
127
+ if (!dateInterval) {
128
+ return '-';
129
+ }
130
+ const startDate = dateInterval.startDate;
131
+ const endDate = dateInterval.endDate;
132
+ switch (mode) {
133
+ case 'years':
134
+ return `1y (${startDate.year})`;
135
+ case 'quarters':
136
+ return `Q${TemporalUtil.getQuarterForDate(startDate)}, ${startDate.year}`;
137
+ case 'months':
138
+ return `1m (${startDate.monthCode}, ${startDate.year})`;
139
+ case 'weeks':
140
+ return `1w (CW ${startDate.weekOfYear}, ${endDate.year})`;
141
+ case 'days':
142
+ return `${startDate.until(endDate).days}d`;
143
+ case 'time':
144
+ return `${this.getDeltaHumanReadable(dateInterval)}`;
145
+ default:
146
+ return `${startDate.until(endDate).days}d`;
147
+ }
148
+ }
149
+ static isTimeSetAndNotMidnight(time) {
150
+ if (!time) {
151
+ return false;
152
+ }
153
+ if (time.hour === 0 && time.minute === 0 && time.second === 0) {
154
+ return false;
155
+ }
156
+ return true;
157
+ }
158
+ static setMillisecondsToZero(interval) {
159
+ return new IntervalState(interval.startDate, interval.endDate, interval.startTime.with({ millisecond: 0, microsecond: 0, nanosecond: 0 }), interval.endTime.with({ millisecond: 0, microsecond: 0, nanosecond: 0 }));
160
+ }
161
+ static roundUpToSeconds(time) {
162
+ return time.with({
163
+ second: time.second + 1,
164
+ millisecond: 0,
165
+ microsecond: 0,
166
+ nanosecond: 0,
167
+ });
168
+ }
169
+ static updateMatCalendarActiveDate(calendarStart, calendarEnd, startDate, endDate) {
170
+ if (!calendarStart || !calendarEnd) {
171
+ return;
172
+ }
173
+ if (!startDate && !endDate) {
174
+ return;
175
+ }
176
+ setTimeout(() => {
177
+ // timeout is needed to run calendar update last, otherwise there are issues
178
+ if (startDate) {
179
+ calendarStart.activeDate = TemporalUtil.getJSDateFromPlainDateTime(startDate);
180
+ }
181
+ if (endDate) {
182
+ calendarEnd.activeDate = TemporalUtil.getJSDateFromPlainDateTime(endDate);
183
+ }
184
+ }, 0);
185
+ }
186
+ static updateMatCalendarTodayDate(calendarStart, calendarEnd) {
187
+ if (!calendarStart || !calendarEnd) {
188
+ return;
189
+ }
190
+ calendarStart.updateTodaysDate();
191
+ calendarEnd.updateTodaysDate();
192
+ }
193
+ }
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJ2YWwtcGlja2VyLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3RpbWUvZWxkZXItaW50ZXJ2YWwtcGlja2VyL3V0aWwvaW50ZXJ2YWwtcGlja2VyLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQzVELE9BQU8sYUFBYSxNQUFNLHlCQUF5QixDQUFBO0FBRW5ELE1BQU0sQ0FBQyxPQUFPLE9BQU8sa0JBQWtCO0lBQzlCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxhQUE0QjtRQUM1RCxJQUFJLFlBQXFCLENBQUE7UUFDekIsSUFBSSxVQUFtQixDQUFBO1FBRXZCLElBQUksQ0FBQztZQUNILE1BQU0sZUFBZSxHQUFHLFlBQVksQ0FBQywwQkFBMEIsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUE7WUFDNUYsWUFBWSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUE7UUFDbEQsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxZQUFZLEdBQUcsSUFBSSxDQUFBO1FBQ3JCLENBQUM7UUFFRCxJQUFJLENBQUM7WUFDSCxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsMEJBQTBCLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1lBQ3hGLFVBQVUsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQzlDLENBQUM7UUFB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QUFDO1lBRUQsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixXQUFXLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUMzRSxDQUFDO1FBQ0gsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ1AsQ0FBQztJQUVNLE1BQU0sQ0FBQywwQkFBMEIsQ0FDdEMsYUFBNEMsRUFDNUMsV0FBMEM7UUFFMUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25DLE9BQU07UUFDUixDQUFDO1FBRUQsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUE7UUFDaEMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLENBQUE7SUFDaEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWF0Q2FsZW5kYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJ1xuaW1wb3J0IHsgSW5zdGFudCB9IGZyb20gJ0Bqcy1qb2RhL2NvcmUnXG5pbXBvcnQgeyBUZW1wb3JhbCB9IGZyb20gJ0Bqcy10ZW1wb3JhbC9wb2x5ZmlsbCdcbmltcG9ydCB7IEludGVydmFsIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL3RpbWUvaW50ZXJ2YWwnXG5pbXBvcnQgeyBUZW1wb3JhbFV0aWwgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vdGltZS90ZW1wb3JhbC11dGlsJ1xuaW1wb3J0IHsgVGltZVV0aWwgfSBmcm9tICcuLi8uLi8uLi8uLi9jb21tb24vdGltZS90aW1lLXV0aWwnXG5pbXBvcnQgSW50ZXJ2YWxTdGF0ZSBmcm9tICcuLi9tb2RlbC9pbnRlcnZhbC1zdGF0ZSdcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSW50ZXJ2YWxQaWNrZXJVdGlsIHtcbiAgcHVibGljIHN0YXRpYyBjcmVhdGVFbGRlckludGVydmFsKGludGVydmFsU3RhdGU6IEludGVydmFsU3RhdGUpIHtcbiAgICBsZXQgc3RhcnRJbnN0YW50OiBJbnN0YW50XG4gICAgbGV0IGVuZEluc3RhbnQ6IEluc3RhbnRcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBzdGFydERhdGVUaW1lSlMgPSBUZW1wb3JhbFV0aWwuZ2V0SlNEYXRlRnJvbVBsYWluRGF0ZVRpbWUoaW50ZXJ2YWxTdGF0ZS5zdGFydERhdGVUaW1lKVxuICAgICAgc3RhcnRJbnN0YW50ID0gVGltZVV0aWwuaW5zdGFudChzdGFydERhdGVUaW1lSlMpXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgc3RhcnRJbnN0YW50ID0gbnVsbFxuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBlbmREYXRlVGltZUpTID0gVGVtcG9yYWxVdGlsLmdldEpTRGF0ZUZyb21QbGFpbkRhdGVUaW1lKGludGVydmFsU3RhdGUuZW5kRGF0ZVRpbWUpXG4gICAgICBlbmRJbnN0YW50ID0gVGltZVV0aWwuaW5zdGFudChlbmREYXRlVGltZUpTKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGVuZEluc3RhbnQgPSBudWxsXG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBJbnRlcnZhbChzdGFydEluc3RhbnQsIGVuZEluc3RhbnQpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHRyYW5zZm9ybVRvSW50ZXJ2YWxTdGF0ZShpbnRlcnZhbDogSW50ZXJ2YWwpOiBJbnRlcnZhbFN0YXRlIHtcbiAgICBpZiAoIWludGVydmFsKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0RGF0ZVRpbWVKUyA9IGludGVydmFsLnN0YXJ0ID8gVGltZVV0aWwuZGF0ZShpbnRlcnZhbC5zdGFydCkgOiBudWxsXG4gICAgY29uc3QgZW5kRGF0ZVRpbWVKUyA9IGludGVydmFsLmVuZCA/IFRpbWVVdGlsLmRhdGUoaW50ZXJ2YWwuZW5kKSA6IG51bGxcblxuICAgIGxldCBzdGFydERhdGU6IFRlbXBvcmFsLlBsYWluRGF0ZSA9IG51bGxcbiAgICBsZXQgZW5kRGF0ZTogVGVtcG9yYWwuUGxhaW5EYXRlID0gbnVsbFxuICAgIGxldCBzdGFydFRpbWU6IFRlbXBvcmFsLlBsYWluVGltZSA9IG51bGxcbiAgICBsZXQgZW5kVGltZTogVGVtcG9yYWwuUGxhaW5UaW1lID0gbnVsbFxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN0YXJ0RGF0ZVRpbWUgPSBUZW1wb3JhbFV0aWwuZ2V0UGxhaW5EYXRlVGltZUZyb21KU0RhdGUoc3RhcnREYXRlVGltZUpTKVxuICAgICAgc3RhcnREYXRlID0gc3RhcnREYXRlVGltZS50b1BsYWluRGF0ZSgpXG4gICAgICBzdGFydFRpbWUgPSBzdGFydERhdGVUaW1lLnRvUGxhaW5UaW1lKClcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBzdGFydERhdGUgPSBudWxsXG4gICAgICBzdGFydFRpbWUgPSBudWxsXG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGVuZERhdGVUaW1lID0gVGVtcG9yYWxVdGlsLmdldFBsYWluRGF0ZVRpbWVGcm9tSlNEYXRlKGVuZERhdGVUaW1lSlMpXG4gICAgICBlbmREYXRlID0gZW5kRGF0ZVRpbWUudG9QbGFpbkRhdGUoKVxuICAgICAgZW5kVGltZSA9IGVuZERhdGVUaW1lLnRvUGxhaW5UaW1lKClcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBlbmREYXRlID0gbnVsbFxuICAgICAgZW5kVGltZSA9IG51bGxcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEludGVydmFsU3RhdGUoc3RhcnREYXRlLCBlbmREYXRlLCBzdGFydFRpbWUsIGVuZFRpbWUpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZVRlbXBvcmFsRGF0ZVRpbWUoXG4gICAgZGF0ZTogVGVtcG9yYWwuUGxhaW5EYXRlLFxuICAgIHRpbWU6IFRlbXBvcmFsLlBsYWluVGltZVxuICApOiBUZW1wb3JhbC5QbGFpbkRhdGVUaW1lIHtcbiAgICBpZiAoIWRhdGUpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgcmV0dXJuIFRlbXBvcmFsLlBsYWluRGF0ZVRpbWUuZnJvbSh7XG4gICAgICB5ZWFyOiBkYXRlLnllYXIsXG4gICAgICBtb250aDogZGF0ZS5tb250aCxcbiAgICAgIGRheTogZGF0ZS5kYXksXG4gICAgICBob3VyOiB0aW1lLmhvdXIsXG4gICAgICBtaW51dGU6IHRpbWUubWludXRlLFxuICAgICAgc2Vjb25kOiB0aW1lLnNlY29uZCxcbiAgICAgIG1pbGxpc2Vjb25kOiB0aW1lLm1pbGxpc2Vjb25kLFxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzSW50ZXJ2YWxFcXVhbHMoaW50ZXJ2YWwxOiBJbnRlcnZhbFN0YXRlLCBpbnRlcnZhbDI6IEludGVydmFsU3RhdGUpOiBib29sZWFuIHtcbiAgICBpZiAoIWludGVydmFsMSAmJiAhaW50ZXJ2YWwyKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIGlmICghaW50ZXJ2YWwxIHx8ICFpbnRlcnZhbDIpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmlzRXF1YWxzKGludGVydmFsMS5zdGFydERhdGUsIGludGVydmFsMi5zdGFydERhdGUpICYmXG4gICAgICB0aGlzLmlzRXF1YWxzKGludGVydmFsMS5lbmREYXRlLCBpbnRlcnZhbDIuZW5kRGF0ZSkgJiZcbiAgICAgIHRoaXMuaXNFcXVhbHMoaW50ZXJ2YWwxLnN0YXJ0VGltZSwgaW50ZXJ2YWwyLnN0YXJ0VGltZSkgJiZcbiAgICAgIHRoaXMuaXNFcXVhbHMoaW50ZXJ2YWwxLmVuZFRpbWUsIGludGVydmFsMi5lbmRUaW1lKVxuICAgIClcbiAgfVxuXG4gIHN0YXRpYyBpc0VxdWFscyhcbiAgICB4OiBUZW1wb3JhbC5QbGFpbkRhdGUgfCBUZW1wb3JhbC5QbGFpblRpbWUgfCBUZW1wb3JhbC5QbGFpbkRhdGVUaW1lLFxuICAgIHk6IFRlbXBvcmFsLlBsYWluRGF0ZSB8IFRlbXBvcmFsLlBsYWluVGltZSB8IFRlbXBvcmFsLlBsYWluRGF0ZVRpbWVcbiAgKTogYm9vbGVhbiB7XG4gICAgaWYgKCF4ICYmICF5KSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIGlmICgheCB8fCAheSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgcmV0dXJuIHguZXF1YWxzKHkpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzSW50ZXJ2YWxXaXRoU3RhcnRBbmRFbmQoaW50ZXJ2YWw6IEludGVydmFsU3RhdGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISFpbnRlcnZhbD8uc3RhcnREYXRlICYmICEhaW50ZXJ2YWw/LmVuZERhdGVcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaXNPcGVuSW50ZXJ2YWwoaW50ZXJ2YWw6IEludGVydmFsU3RhdGUpOiBib29sZWFuIHtcbiAgICBpZiAoIWludGVydmFsKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgcmV0dXJuIChcbiAgICAgICghIWludGVydmFsLnN0YXJ0RGF0ZSAmJiAhaW50ZXJ2YWwuZW5kRGF0ZSkgfHwgKCFpbnRlcnZhbC5zdGFydERhdGUgJiYgISFpbnRlcnZhbC5lbmREYXRlKVxuICAgIClcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0RGVsdGFIdW1hblJlYWRhYmxlKGludGVydmFsOiBJbnRlcnZhbFN0YXRlKTogc3RyaW5nIHtcbiAgICBpZiAoSW50ZXJ2YWxQaWNrZXJVdGlsLmlzT3BlbkludGVydmFsKGludGVydmFsKSkge1xuICAgICAgcmV0dXJuICfiiJ4nXG4gICAgfVxuXG4gICAgaWYgKCFJbnRlcnZhbFBpY2tlclV0aWwuaXNJbnRlcnZhbFdpdGhTdGFydEFuZEVuZChpbnRlcnZhbCkpIHtcbiAgICAgIHJldHVybiAnLSdcbiAgICB9XG5cbiAgICBjb25zdCBkdXJhdGlvbiA9IGludGVydmFsLnN0YXJ0RGF0ZVRpbWUudW50aWwoaW50ZXJ2YWwuZW5kRGF0ZVRpbWUpXG5cbiAgICBjb25zdCB0bXAgPSBbXVxuICAgIGlmIChkdXJhdGlvbi5kYXlzKSB7XG4gICAgICB0bXAucHVzaChgJHtkdXJhdGlvbi5kYXlzfWRgKVxuICAgIH1cbiAgICBpZiAoZHVyYXRpb24uaG91cnMpIHtcbiAgICAgIHRtcC5wdXNoKGAke2R1cmF0aW9uLmhvdXJzfWhgKVxuICAgIH1cbiAgICBpZiAoZHVyYXRpb24ubWludXRlcykge1xuICAgICAgdG1wLnB1c2goYCR7ZHVyYXRpb24ubWludXRlc31taW5gKVxuICAgIH1cbiAgICBpZiAoZHVyYXRpb24uc2Vjb25kcykge1xuICAgICAgdG1wLnB1c2goYCR7ZHVyYXRpb24uc2Vjb25kc31zYClcbiAgICB9XG5cbiAgICBpZiAoIXRtcC5sZW5ndGgpIHtcbiAgICAgIHJldHVybiAnMHMnXG4gICAgfVxuXG4gICAgcmV0dXJuIHRtcC5qb2luKCcsICcpXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldFNtYXJ0U2hpZnRNZXNzYWdlKG1vZGU6IHN0cmluZywgZGF0ZUludGVydmFsOiBJbnRlcnZhbFN0YXRlKTogc3RyaW5nIHtcbiAgICBpZiAoIWRhdGVJbnRlcnZhbCkge1xuICAgICAgcmV0dXJuICctJ1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IGRhdGVJbnRlcnZhbC5zdGFydERhdGVcbiAgICBjb25zdCBlbmREYXRlID0gZGF0ZUludGVydmFsLmVuZERhdGVcblxuICAgIHN3aXRjaCAobW9kZSkge1xuICAgICAgY2FzZSAneWVhcnMnOlxuICAgICAgICByZXR1cm4gYDF5ICgke3N0YXJ0RGF0ZS55ZWFyfSlgXG4gICAgICBjYXNlICdxdWFydGVycyc6XG4gICAgICAgIHJldHVybiBgUSR7VGVtcG9yYWxVdGlsLmdldFF1YXJ0ZXJGb3JEYXRlKHN0YXJ0RGF0ZSl9LCAke3N0YXJ0RGF0ZS55ZWFyfWBcbiAgICAgIGNhc2UgJ21vbnRocyc6XG4gICAgICAgIHJldHVybiBgMW0gKCR7c3RhcnREYXRlLm1vbnRoQ29kZX0sICR7c3RhcnREYXRlLnllYXJ9KWBcbiAgICAgIGNhc2UgJ3dlZWtzJzpcbiAgICAgICAgcmV0dXJuIGAxdyAoQ1cgJHtzdGFydERhdGUud2Vla09mWWVhcn0sICR7ZW5kRGF0ZS55ZWFyfSlgXG4gICAgICBjYXNlICdkYXlzJzpcbiAgICAgICAgcmV0dXJuIGAke3N0YXJ0RGF0ZS51bnRpbChlbmREYXRlKS5kYXlzfWRgXG4gICAgICBjYXNlICd0aW1lJzpcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuZ2V0RGVsdGFIdW1hblJlYWRhYmxlKGRhdGVJbnRlcnZhbCl9YFxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGAke3N0YXJ0RGF0ZS51bnRpbChlbmREYXRlKS5kYXlzfWRgXG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc1RpbWVTZXRBbmROb3RNaWRuaWdodCh0aW1lOiBUZW1wb3JhbC5QbGFpblRpbWUpOiBib29sZWFuIHtcbiAgICBpZiAoIXRpbWUpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICBpZiAodGltZS5ob3VyID09PSAwICYmIHRpbWUubWludXRlID09PSAwICYmIHRpbWUuc2Vjb25kID09PSAwKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgc2V0TWlsbGlzZWNvbmRzVG9aZXJvKGludGVydmFsOiBJbnRlcnZhbFN0YXRlKTogSW50ZXJ2YWxTdGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBJbnRlcnZhbFN0YXRlKFxuICAgICAgaW50ZXJ2YWwuc3RhcnREYXRlLFxuICAgICAgaW50ZXJ2YWwuZW5kRGF0ZSxcbiAgICAgIGludGVydmFsLnN0YXJ0VGltZS53aXRoKHsgbWlsbGlzZWNvbmQ6IDAsIG1pY3Jvc2Vjb25kOiAwLCBuYW5vc2Vjb25kOiAwIH0pLFxuICAgICAgaW50ZXJ2YWwuZW5kVGltZS53aXRoKHsgbWlsbGlzZWNvbmQ6IDAsIG1pY3Jvc2Vjb25kOiAwLCBuYW5vc2Vjb25kOiAwIH0pXG4gICAgKVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyByb3VuZFVwVG9TZWNvbmRzPFQgZXh0ZW5kcyBUZW1wb3JhbC5QbGFpblRpbWUgfCBUZW1wb3JhbC5QbGFpbkRhdGVUaW1lPihcbiAgICB0aW1lOiBUXG4gICk6IFQge1xuICAgIHJldHVybiB0aW1lLndpdGgoe1xuICAgICAgc2Vjb25kOiB0aW1lLnNlY29uZCArIDEsXG4gICAgICBtaWxsaXNlY29uZDogMCxcbiAgICAgIG1pY3Jvc2Vjb25kOiAwLFxuICAgICAgbmFub3NlY29uZDogMCxcbiAgICB9KSBhcyBUXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHVwZGF0ZU1hdENhbGVuZGFyQWN0aXZlRGF0ZShcbiAgICBjYWxlbmRhclN0YXJ0OiBNYXRDYWxlbmRhcjxEYXRlPiB8IHVuZGVmaW5lZCxcbiAgICBjYWxlbmRhckVuZDogTWF0Q2FsZW5kYXI8RGF0ZT4gfCB1bmRlZmluZWQsXG4gICAgc3RhcnREYXRlOiBUZW1wb3JhbC5QbGFpbkRhdGUsXG4gICAgZW5kRGF0ZTogVGVtcG9yYWwuUGxhaW5EYXRlXG4gICkge1xuICAgIGlmICghY2FsZW5kYXJTdGFydCB8fCAhY2FsZW5kYXJFbmQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmICghc3RhcnREYXRlICYmICFlbmREYXRlKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIC8vIHRpbWVvdXQgaXMgbmVlZGVkIHRvIHJ1biBjYWxlbmRhciB1cGRhdGUgbGFzdCwgb3RoZXJ3aXNlIHRoZXJlIGFyZSBpc3N1ZXNcbiAgICAgIGlmIChzdGFydERhdGUpIHtcbiAgICAgICAgY2FsZW5kYXJTdGFydC5hY3RpdmVEYXRlID0gVGVtcG9yYWxVdGlsLmdldEpTRGF0ZUZyb21QbGFpbkRhdGVUaW1lKHN0YXJ0RGF0ZSlcbiAgICAgIH1cblxuICAgICAgaWYgKGVuZERhdGUpIHtcbiAgICAgICAgY2FsZW5kYXJFbmQuYWN0aXZlRGF0ZSA9IFRlbXBvcmFsVXRpbC5nZXRKU0RhdGVGcm9tUGxhaW5EYXRlVGltZShlbmREYXRlKVxuICAgICAgfVxuICAgIH0sIDApXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHVwZGF0ZU1hdENhbGVuZGFyVG9kYXlEYXRlKFxuICAgIGNhbGVuZGFyU3RhcnQ6IE1hdENhbGVuZGFyPERhdGU+IHwgdW5kZWZpbmVkLFxuICAgIGNhbGVuZGFyRW5kOiBNYXRDYWxlbmRhcjxEYXRlPiB8IHVuZGVmaW5lZFxuICApOiB2b2lkIHtcbiAgICBpZiAoIWNhbGVuZGFyU3RhcnQgfHwgIWNhbGVuZGFyRW5kKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjYWxlbmRhclN0YXJ0LnVwZGF0ZVRvZGF5c0RhdGUoKVxuICAgIGNhbGVuZGFyRW5kLnVwZGF0ZVRvZGF5c0RhdGUoKVxuICB9XG59XG4iXX0=
@@ -19,8 +19,8 @@ import { ElderFormsDirectivesModule } from '../forms/directives/elder-forms-dire
19
19
  import { ElderPeriodInputComponent } from './period/elder-period-input/elder-period-input.component';
20
20
  import { ToIsoDateStringPipe } from './pipes/to-iso-date-string.pipe';
21
21
  import { ElderIntervalPickerComponent } from './elder-interval-picker/elder-interval-picker.component';
22
- import { ElderIntervalPickerToggleComponent } from './elder-interval-picker/elder-interval-picker-toggle/elder-interval-picker-toggle.component';
23
- import { ElderIntervalPickerBindingDirective } from './elder-interval-picker/elder-interval-picker-binding.directive';
22
+ import { ElderIntervalPickerToggleComponent } from './elder-interval-picker/interval-picker-toggle/elder-interval-picker-toggle.component';
23
+ import { ElderIntervalPickerBindingDirective } from './elder-interval-picker/interval-picker-binding/elder-interval-picker-binding.directive';
24
24
  import * as i0 from "@angular/core";
25
25
  export { ElderDateSwitcherComponent } from './elder-date-switcher/elder-date-switcher.component';
26
26
  export { ElderIntervalInputComponent } from './elder-interval-input/elder-interval-input.component';
@@ -30,8 +30,8 @@ export { ElderLocalDateInputComponent } from './elder-local-date-input/elder-loc
30
30
  export { ElderDurationInputComponent } from './duration/elder-duration-input/elder-duration-input.component';
31
31
  export { ElderPeriodInputComponent } from './period/elder-period-input/elder-period-input.component';
32
32
  export { ElderIntervalPickerComponent } from './elder-interval-picker/elder-interval-picker.component';
33
- export { ElderIntervalPickerToggleComponent } from './elder-interval-picker/elder-interval-picker-toggle/elder-interval-picker-toggle.component';
34
- export { ElderIntervalPickerBindingDirective } from './elder-interval-picker/elder-interval-picker-binding.directive';
33
+ export { ElderIntervalPickerToggleComponent } from './elder-interval-picker/interval-picker-toggle/elder-interval-picker-toggle.component';
34
+ export { ElderIntervalPickerBindingDirective } from './elder-interval-picker/interval-picker-binding/elder-interval-picker-binding.directive';
35
35
  export { ToIsoDateStringPipe } from './pipes/to-iso-date-string.pipe';
36
36
  export class ElderTimeModule {
37
37
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ElderTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -151,4 +151,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
151
151
  providers: [{ provide: DateAdapter, useClass: CustomDateAdapter }],
152
152
  }]
153
153
  }] });
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdGltZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3RpbWUvZWxkZXItdGltZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUE7QUFDaEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUE7QUFDbkcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seURBQXlELENBQUE7QUFDckcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUE7QUFDeEcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJE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QUNaLG1CQUFtQjt3QkFDbkIsUUFBUTt3QkFDUixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsMkJBQTJCO3dCQUMzQiwyQkFBMkI7d0JBQzNCLDRCQUE0Qjt3QkFDNUIsNEJBQTRCO3dCQUM1QiwyQkFBMkI7d0JBQzNCLHlCQUF5Qjt3QkFDekIsNEJBQTRCO3dCQUM1QixrQ0FBa0M7d0JBQ2xDLG1DQUFtQzt3QkFDbkMsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsMEJBQTBCO3dCQUMxQiwyQkFBMkI7d0JBQzNCLDJCQUEyQjt3QkFDM0IsNEJBQTRCO3dCQUM1Qiw0QkFBNEI7d0JBQzVCLDJCQUEyQjt3QkFDM0IseUJBQXlCO3dCQUN6Qiw0QkFBNEI7d0JBQzVCLGtDQUFrQzt3QkFDbEMsbUNBQW1DO3dCQUNuQyxtQkFBbUI7cUJBQ3BCO29CQUNELFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztpQkFDbkUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nXG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcidcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCdcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJ1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBFbGRlckRhdGVTd2l0Y2hlckNvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItZGF0ZS1zd2l0Y2hlci9lbGRlci1kYXRlLXN3aXRjaGVyLmNvbXBvbmVudCdcbmltcG9ydCB7IEN1c3RvbURhdGVBZGFwdGVyIH0gZnJvbSAnLi9kYXRlLWFkYXB0ZXJzL2N1c3RvbS1kYXRlLWFkYXB0ZXInXG5pbXBvcnQgeyBFbGRlckludGVydmFsSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLWludGVydmFsLWlucHV0L2VsZGVyLWludGVydmFsLWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IEVsZGVyRGF0ZVRpbWVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItZGF0ZS10aW1lLWlucHV0L2VsZGVyLWRhdGUtdGltZS1pbnB1dC5jb21wb25lbnQnXG5pbXBvcnQgeyBFbGRlckxvY2FsVGltZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9lbGRlci1sb2NhbC10aW1lLWlucHV0L2VsZGVyLWxvY2FsLXRpbWUtaW5wdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgRWxkZXJMb2NhbERhdGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItbG9jYWwtZGF0ZS1pbnB1dC9lbGRlci1sb2NhbC1kYXRlLWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IEVsZGVyRHVyYXRpb25JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZHVyYXRpb24vZWxkZXItZHVyYXRpb24taW5wdXQvZWxkZXItZHVyYXRpb24taW5wdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgRWxkZXJGb3Jtc0RpcmVjdGl2ZXNNb2R1bGUgfSBmcm9tICcuLi9mb3Jtcy9kaXJlY3RpdmVzL2VsZGVyLWZvcm1zLWRpcmVjdGl2ZXMubW9kdWxlJ1xuaW1wb3J0IHsgRWxkZXJQZXJpb2RJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vcGVyaW9kL2VsZGVyLXBlcmlvZC1pbnB1dC9lbGRlci1wZXJpb2QtaW5wdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgVG9Jc29EYXRlU3RyaW5nUGlwZSB9IGZyb20gJy4vcGlwZXMvdG8taXNvLWRhdGUtc3RyaW5nLnBpcGUnXG5pbXBvcnQgeyBFbGRlckludGVydmFsUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9lbGRlci1pbnRlcnZhbC1waWNrZXIvZWxkZXItaW50ZXJ2YWwtcGlja2VyLmNvbXBvbmVudCdcbmltcG9ydCB7IEVsZGVySW50ZXJ2YWxQaWNrZXJUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLWludGVydmFsLXBpY2tlci9lbGRlci1pbnRlcnZhbC1waWNrZXItdG9nZ2xlL2VsZGVyLWludGVydmFsLXBpY2tlci10b2dnbGUuY29tcG9uZW50J1xuaW1wb3J0IHsgRWxkZXJJbnRlcnZhbFBpY2tlckJpbmRpbmdEaXJlY3RpdmUgfSBmcm9tICcuL2VsZGVyLWludGVydmFsLXBpY2tlci9lbGRlci1pbnRlcnZhbC1waWNrZXItYmluZGluZy5kaXJlY3RpdmUnXG5cbmV4cG9ydCB7IEVsZGVyRGF0ZVN3aXRjaGVyQ29tcG9uZW50IH0gZnJvbSAnLi9lbGRlci1kYXRlLXN3aXRjaGVyL2VsZGVyLWRhdGUtc3dpdGNoZXIuY29tcG9uZW50J1xuZXhwb3J0IHsgRWxkZXJJbnRlcnZhbElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9lbGRlci1pbnRlcnZhbC1pbnB1dC9lbGRlci1pbnRlcnZhbC1pbnB1dC5jb21wb25lbnQnXG5leHBvcnQgeyBFbGRlckRhdGVUaW1lSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLWRhdGUtdGltZS1pbnB1dC9lbGRlci1kYXRlLXRpbWUtaW5wdXQuY29tcG9uZW50J1xuZXhwb3J0IHsgRWxkZXJMb2NhbFRpbWVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItbG9jYWwtdGltZS1pbnB1dC9lbGRlci1sb2NhbC10aW1lLWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCB7IEVsZGVyTG9jYWxEYXRlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLWxvY2FsLWRhdGUtaW5wdXQvZWxkZXItbG9jYWwtZGF0ZS1pbnB1dC5jb21wb25lbnQnXG5leHBvcnQgeyBFbGRlckR1cmF0aW9uSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2R1cmF0aW9uL2VsZGVyLWR1cmF0aW9uLWlucHV0L2VsZGVyLWR1cmF0aW9uLWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCB7IEVsZGVyUGVyaW9kSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3BlcmlvZC9lbGRlci1wZXJpb2QtaW5wdXQvZWxkZXItcGVyaW9kLWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCB7IEVsZGVySW50ZXJ2YWxQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLWludGVydmFsLXBpY2tlci9lbGRlci1pbnRlcnZhbC1waWNrZXIuY29tcG9uZW50J1xuZXhwb3J0IHsgRWxkZXJJbnRlcnZhbFBpY2tlclRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItaW50ZXJ2YWwtcGlja2VyL2VsZGVyLWludGVydmFsLXBpY2tlci10b2dnbGUvZWxkZXItaW50ZXJ2YWwtcGlja2VyLXRvZ2dsZS5jb21wb25lbnQnXG5leHBvcnQgeyBFbGRlckludGVydmFsUGlja2VyQmluZGluZ0RpcmVjdGl2ZSB9IGZyb20gJy4vZWxkZXItaW50ZXJ2YWwtcGlja2VyL2VsZGVyLWludGVydmFsLXBpY2tlci1iaW5kaW5nLmRpcmVjdGl2ZSdcbmV4cG9ydCB7IFRvSXNvRGF0ZVN0cmluZ1BpcGUgfSBmcm9tICcuL3BpcGVzL3RvLWlzby1kYXRlLXN0cmluZy5waXBlJ1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgLy8gY29tbW9uXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdE5hdGl2ZURhdGVNb2R1bGUsXG4gICAgLy8gZm9ybXNcbiAgICBGb3Jtc01vZHVsZSxcbiAgICAvLyBmb3JtIGNvbnRyb2xzXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICAvLyBidXR0b25zICYgaW5kaWNhdG9yc1xuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIC8vIHBvcHVwcyAmIG1vZGFsc1xuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgLy8gZGF0YSBtYXRUYWJsZVxuICAgIC8vIHRyYW5zbGF0aW9uc1xuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBFbGRlckZvcm1zRGlyZWN0aXZlc01vZHVsZSxcbiAgICBFbGRlckRhdGVTd2l0Y2hlckNvbXBvbmVudCxcbiAgICBFbGRlckludGVydmFsSW5wdXRDb21wb25lbnQsXG4gICAgRWxkZXJEYXRlVGltZUlucHV0Q29tcG9uZW50LFxuICAgIEVsZGVyTG9jYWxUaW1lSW5wdXRDb21wb25lbnQsXG4gICAgRWxkZXJMb2NhbERhdGVJbnB1dENvbXBvbmVudCxcbiAgICBFbGRlckR1cmF0aW9uSW5wdXRDb21wb25lbnQsXG4gICAgRWxkZXJQZXJpb2RJbnB1dENvbXBvbmVudCxcbiAgICBFbGRlckludGVydmFsUGlja2VyQ29tcG9uZW50LFxuICAgIEVsZGVySW50ZXJ2YWxQaWNrZXJUb2dnbGVDb21wb25lbnQsXG4gICAgRWxkZXJJbnRlcnZhbFBpY2tlckJpbmRpbmdEaXJlY3RpdmUsXG4gICAgVG9Jc29EYXRlU3RyaW5nUGlwZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEVsZGVyRGF0ZVN3aXRjaGVyQ29tcG9uZW50LFxuICAgIEVsZGVyRGF0ZVRpbWVJbnB1dENvbXBvbmVudCxcbiAgICBFbGRlckludGVydmFsSW5wdXRDb21wb25lbnQsXG4gICAgRWxkZXJMb2NhbFRpbWVJbnB1dENvbXBvbmVudCxcbiAgICBFbGRlckxvY2FsRGF0ZUlucHV0Q29tcG9uZW50LFxuICAgIEVsZGVyRHVyYXRpb25JbnB1dENvbXBvbmVudCxcbiAgICBFbGRlclBlcmlvZElucHV0Q29tcG9uZW50LFxuICAgIEVsZGVySW50ZXJ2YWxQaWNrZXJDb21wb25lbnQsXG4gICAgRWxkZXJJbnRlcnZhbFBpY2tlclRvZ2dsZUNvbXBvbmVudCxcbiAgICBFbGRlckludGVydmFsUGlja2VyQmluZGluZ0RpcmVjdGl2ZSxcbiAgICBUb0lzb0RhdGVTdHJpbmdQaXBlLFxuICBdLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IERhdGVBZGFwdGVyLCB1c2VDbGFzczogQ3VzdG9tRGF0ZUFkYXB0ZXIgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyVGltZU1vZHVsZSB7fVxuIl19
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItdGltZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL3RpbWUvZWxkZXItdGltZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUE7QUFDaEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUE7QUFDdkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdURBQXVELENBQUE7QUFDbkcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seURBQXlELENBQUE7QUFDckcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUE7QUFDeEcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJE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QUNaLG1CQUFtQjt3QkFDbkIsUUFBUTt3QkFDUixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGtCQUFrQjt3QkFDbEIsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIsMkJBQTJCO3dCQUMzQiwyQkFBMkI7d0JBQzNCLDRCQUE0Qjt3QkFDNUIsNEJBQTRCO3dCQUM1QiwyQkFBMkI7d0JBQzNCLHlCQUF5Qjt3QkFDekIsNEJBQTRCO3dCQUM1QixrQ0FBa0M7d0JBQ2xDLG1DQUFtQzt3QkFDbkMsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsMEJBQTBCO3dCQUMxQiwyQkFBMkI7d0JBQzNCLDJCQUEyQjt3QkFDM0IsNEJBQTRCO3dCQUM1Qiw0QkFBNEI7d0JBQzVCLDJCQUEyQjt3QkFDM0IseUJBQXlCO3dCQUN6Qiw0QkFBNEI7d0JBQzVCLGtDQUFrQzt3QkFDbEMsbUNBQW1DO3dCQUNuQyxtQkFBbUI7cUJBQ3BCO29CQUNELFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztpQkFDbkUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nXG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcidcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCdcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJ1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBFbGRlckRhdGVTd2l0Y2hlckNvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItZGF0ZS1zd2l0Y2hlci9lbGRlci1kYXRlLXN3aXRjaGVyLmNvbXBvbmVudCdcbmltcG9ydCB7IEN1c3RvbURhdGVBZGFwdGVyIH0gZnJvbSAnLi9kYXRlLWFkYXB0ZXJzL2N1c3RvbS1kYXRlLWFkYXB0ZXInXG5pbXBvcnQgeyBFbGRlckludGVydmFsSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLWludGVydmFsLWlucHV0L2VsZGVyLWludGVydmFsLWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IEVsZGVyRGF0ZVRpbWVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItZGF0ZS10aW1lLWlucHV0L2VsZGVyLWRhdGUtdGltZS1pbnB1dC5jb21wb25lbnQnXG5pbXBvcnQgeyBFbGRlckxvY2FsVGltZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9lbGRlci1sb2NhbC10aW1lLWlucHV0L2VsZGVyLWxvY2FsLXRpbWUtaW5wdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgRWxkZXJMb2NhbERhdGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItbG9jYWwtZGF0ZS1pbnB1dC9lbGRlci1sb2NhbC1kYXRlLWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IEVsZGVyRHVyYXRpb25JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZHVyYXRpb24vZWxkZXItZHVyYXRpb24taW5wdXQvZWxkZXItZHVyYXRpb24taW5wdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgRWxkZXJGb3Jtc0RpcmVjdGl2ZXNNb2R1bGUgfSBmcm9tICcuLi9mb3Jtcy9kaXJlY3RpdmVzL2VsZGVyLWZvcm1zLWRpcmVjdGl2ZXMubW9kdWxlJ1xuaW1wb3J0IHsgRWxkZXJQZXJpb2RJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vcGVyaW9kL2VsZGVyLXBlcmlvZC1pbnB1dC9lbGRlci1wZXJpb2QtaW5wdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgVG9Jc29EYXRlU3RyaW5nUGlwZSB9IGZyb20gJy4vcGlwZXMvdG8taXNvLWRhdGUtc3RyaW5nLnBpcGUnXG5pbXBvcnQgeyBFbGRlckludGVydmFsUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9lbGRlci1pbnRlcnZhbC1waWNrZXIvZWxkZXItaW50ZXJ2YWwtcGlja2VyLmNvbXBvbmVudCdcbmltcG9ydCB7IEVsZGVySW50ZXJ2YWxQaWNrZXJUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLWludGVydmFsLXBpY2tlci9pbnRlcnZhbC1waWNrZXItdG9nZ2xlL2VsZGVyLWludGVydmFsLXBpY2tlci10b2dnbGUuY29tcG9uZW50J1xuaW1wb3J0IHsgRWxkZXJJbnRlcnZhbFBpY2tlckJpbmRpbmdEaXJlY3RpdmUgfSBmcm9tICcuL2VsZGVyLWludGVydmFsLXBpY2tlci9pbnRlcnZhbC1waWNrZXItYmluZGluZy9lbGRlci1pbnRlcnZhbC1waWNrZXItYmluZGluZy5kaXJlY3RpdmUnXG5cbmV4cG9ydCB7IEVsZGVyRGF0ZVN3aXRjaGVyQ29tcG9uZW50IH0gZnJvbSAnLi9lbGRlci1kYXRlLXN3aXRjaGVyL2VsZGVyLWRhdGUtc3dpdGNoZXIuY29tcG9uZW50J1xuZXhwb3J0IHsgRWxkZXJJbnRlcnZhbElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9lbGRlci1pbnRlcnZhbC1pbnB1dC9lbGRlci1pbnRlcnZhbC1pbnB1dC5jb21wb25lbnQnXG5leHBvcnQgeyBFbGRlckRhdGVUaW1lSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLWRhdGUtdGltZS1pbnB1dC9lbGRlci1kYXRlLXRpbWUtaW5wdXQuY29tcG9uZW50J1xuZXhwb3J0IHsgRWxkZXJMb2NhbFRpbWVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItbG9jYWwtdGltZS1pbnB1dC9lbGRlci1sb2NhbC10aW1lLWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCB7IEVsZGVyTG9jYWxEYXRlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLWxvY2FsLWRhdGUtaW5wdXQvZWxkZXItbG9jYWwtZGF0ZS1pbnB1dC5jb21wb25lbnQnXG5leHBvcnQgeyBFbGRlckR1cmF0aW9uSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2R1cmF0aW9uL2VsZGVyLWR1cmF0aW9uLWlucHV0L2VsZGVyLWR1cmF0aW9uLWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCB7IEVsZGVyUGVyaW9kSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3BlcmlvZC9lbGRlci1wZXJpb2QtaW5wdXQvZWxkZXItcGVyaW9kLWlucHV0LmNvbXBvbmVudCdcbmV4cG9ydCB7IEVsZGVySW50ZXJ2YWxQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2VsZGVyLWludGVydmFsLXBpY2tlci9lbGRlci1pbnRlcnZhbC1waWNrZXIuY29tcG9uZW50J1xuZXhwb3J0IHsgRWxkZXJJbnRlcnZhbFBpY2tlclRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4vZWxkZXItaW50ZXJ2YWwtcGlja2VyL2ludGVydmFsLXBpY2tlci10b2dnbGUvZWxkZXItaW50ZXJ2YWwtcGlja2VyLXRvZ2dsZS5jb21wb25lbnQnXG5leHBvcnQgeyBFbGRlckludGVydmFsUGlja2VyQmluZGluZ0RpcmVjdGl2ZSB9IGZyb20gJy4vZWxkZXItaW50ZXJ2YWwtcGlja2VyL2ludGVydmFsLXBpY2tlci1iaW5kaW5nL2VsZGVyLWludGVydmFsLXBpY2tlci1iaW5kaW5nLmRpcmVjdGl2ZSdcbmV4cG9ydCB7IFRvSXNvRGF0ZVN0cmluZ1BpcGUgfSBmcm9tICcuL3BpcGVzL3RvLWlzby1kYXRlLXN0cmluZy5waXBlJ1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgLy8gY29tbW9uXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdE5hdGl2ZURhdGVNb2R1bGUsXG4gICAgLy8gZm9ybXNcbiAgICBGb3Jtc01vZHVsZSxcbiAgICAvLyBmb3JtIGNvbnRyb2xzXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICAvLyBidXR0b25zICYgaW5kaWNhdG9yc1xuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIC8vIHBvcHVwcyAmIG1vZGFsc1xuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgLy8gZGF0YSBtYXRUYWJsZVxuICAgIC8vIHRyYW5zbGF0aW9uc1xuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBFbGRlckZvcm1zRGlyZWN0aXZlc01vZHVsZSxcbiAgICBFbGRlckRhdGVTd2l0Y2hlckNvbXBvbmVudCxcbiAgICBFbGRlckludGVydmFsSW5wdXRDb21wb25lbnQsXG4gICAgRWxkZXJEYXRlVGltZUlucHV0Q29tcG9uZW50LFxuICAgIEVsZGVyTG9jYWxUaW1lSW5wdXRDb21wb25lbnQsXG4gICAgRWxkZXJMb2NhbERhdGVJbnB1dENvbXBvbmVudCxcbiAgICBFbGRlckR1cmF0aW9uSW5wdXRDb21wb25lbnQsXG4gICAgRWxkZXJQZXJpb2RJbnB1dENvbXBvbmVudCxcbiAgICBFbGRlckludGVydmFsUGlja2VyQ29tcG9uZW50LFxuICAgIEVsZGVySW50ZXJ2YWxQaWNrZXJUb2dnbGVDb21wb25lbnQsXG4gICAgRWxkZXJJbnRlcnZhbFBpY2tlckJpbmRpbmdEaXJlY3RpdmUsXG4gICAgVG9Jc29EYXRlU3RyaW5nUGlwZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEVsZGVyRGF0ZVN3aXRjaGVyQ29tcG9uZW50LFxuICAgIEVsZGVyRGF0ZVRpbWVJbnB1dENvbXBvbmVudCxcbiAgICBFbGRlckludGVydmFsSW5wdXRDb21wb25lbnQsXG4gICAgRWxkZXJMb2NhbFRpbWVJbnB1dENvbXBvbmVudCxcbiAgICBFbGRlckxvY2FsRGF0ZUlucHV0Q29tcG9uZW50LFxuICAgIEVsZGVyRHVyYXRpb25JbnB1dENvbXBvbmVudCxcbiAgICBFbGRlclBlcmlvZElucHV0Q29tcG9uZW50LFxuICAgIEVsZGVySW50ZXJ2YWxQaWNrZXJDb21wb25lbnQsXG4gICAgRWxkZXJJbnRlcnZhbFBpY2tlclRvZ2dsZUNvbXBvbmVudCxcbiAgICBFbGRlckludGVydmFsUGlja2VyQmluZGluZ0RpcmVjdGl2ZSxcbiAgICBUb0lzb0RhdGVTdHJpbmdQaXBlLFxuICBdLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IERhdGVBZGFwdGVyLCB1c2VDbGFzczogQ3VzdG9tRGF0ZUFkYXB0ZXIgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyVGltZU1vZHVsZSB7fVxuIl19