@skyux/datetime 7.0.0-beta.11 → 7.0.0-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +1532 -991
- package/esm2020/lib/modules/date-range-picker/date-range-picker-end-date-resource-key.pipe.mjs +20 -0
- package/esm2020/lib/modules/date-range-picker/date-range-picker-start-date-resource-key.pipe.mjs +20 -0
- package/esm2020/lib/modules/date-range-picker/date-range-picker.component.mjs +262 -204
- package/esm2020/lib/modules/date-range-picker/date-range-picker.module.mjs +11 -3
- package/esm2020/lib/modules/date-range-picker/date-range.service.mjs +42 -38
- package/esm2020/lib/modules/date-range-picker/types/date-range-calculator-date-range-function.mjs +1 -1
- package/esm2020/lib/modules/date-range-picker/types/date-range-calculator-validate-function.mjs +1 -1
- package/esm2020/lib/modules/date-range-picker/types/date-range-calculator.mjs +15 -15
- package/esm2020/lib/modules/date-range-picker/types/date-range-default-calculator-configs.mjs +4 -2
- package/esm2020/lib/modules/date-range-picker/types/date-range.mjs +1 -1
- package/esm2020/lib/modules/datepicker/date-formatter.mjs +2 -2
- package/esm2020/lib/modules/datepicker/datepicker-adapter.service.mjs +7 -14
- package/esm2020/lib/modules/datepicker/datepicker-calendar-inner.component.mjs +43 -20
- package/esm2020/lib/modules/datepicker/datepicker-calendar.component.mjs +28 -35
- package/esm2020/lib/modules/datepicker/datepicker-config.service.mjs +1 -1
- package/esm2020/lib/modules/datepicker/datepicker-input-fuzzy.directive.mjs +223 -209
- package/esm2020/lib/modules/datepicker/datepicker-input.directive.mjs +212 -220
- package/esm2020/lib/modules/datepicker/datepicker.component.mjs +117 -138
- package/esm2020/lib/modules/datepicker/daypicker-button.component.mjs +3 -3
- package/esm2020/lib/modules/datepicker/daypicker-cell.component.mjs +61 -59
- package/esm2020/lib/modules/datepicker/daypicker.component.mjs +143 -137
- package/esm2020/lib/modules/datepicker/fuzzy-date.service.mjs +123 -132
- package/esm2020/lib/modules/datepicker/monthpicker.component.mjs +51 -49
- package/esm2020/lib/modules/datepicker/yearpicker.component.mjs +52 -50
- package/esm2020/lib/modules/timepicker/timepicker.component.mjs +104 -88
- package/esm2020/lib/modules/timepicker/timepicker.directive.mjs +105 -98
- package/fesm2015/skyux-datetime.mjs +1642 -1516
- package/fesm2015/skyux-datetime.mjs.map +1 -1
- package/fesm2020/skyux-datetime.mjs +1618 -1510
- package/fesm2020/skyux-datetime.mjs.map +1 -1
- package/lib/modules/date-range-picker/date-range-picker-end-date-resource-key.pipe.d.ts +8 -0
- package/lib/modules/date-range-picker/date-range-picker-start-date-resource-key.pipe.d.ts +8 -0
- package/lib/modules/date-range-picker/date-range-picker.component.d.ts +14 -43
- package/lib/modules/date-range-picker/date-range-picker.module.d.ts +9 -7
- package/lib/modules/date-range-picker/date-range.service.d.ts +1 -5
- package/lib/modules/date-range-picker/types/date-range-calculator-date-range-function.d.ts +1 -1
- package/lib/modules/date-range-picker/types/date-range-calculator-validate-function.d.ts +1 -1
- package/lib/modules/date-range-picker/types/date-range-calculator.d.ts +3 -8
- package/lib/modules/date-range-picker/types/date-range.d.ts +2 -2
- package/lib/modules/datepicker/date-formatter.d.ts +3 -3
- package/lib/modules/datepicker/datepicker-adapter.service.d.ts +1 -5
- package/lib/modules/datepicker/datepicker-calendar-inner.component.d.ts +18 -19
- package/lib/modules/datepicker/datepicker-calendar.component.d.ts +14 -25
- package/lib/modules/datepicker/datepicker-config.service.d.ts +3 -3
- package/lib/modules/datepicker/datepicker-input-fuzzy.directive.d.ts +17 -53
- package/lib/modules/datepicker/datepicker-input.directive.d.ts +13 -68
- package/lib/modules/datepicker/datepicker.component.d.ts +21 -58
- package/lib/modules/datepicker/daypicker-button.component.d.ts +1 -1
- package/lib/modules/datepicker/daypicker-cell.component.d.ts +3 -10
- package/lib/modules/datepicker/daypicker.component.d.ts +4 -16
- package/lib/modules/datepicker/fuzzy-date.service.d.ts +6 -30
- package/lib/modules/datepicker/monthpicker.component.d.ts +1 -4
- package/lib/modules/datepicker/yearpicker.component.d.ts +1 -3
- package/lib/modules/timepicker/timepicker.component.d.ts +14 -32
- package/lib/modules/timepicker/timepicker.directive.d.ts +9 -27
- package/package.json +8 -8
@@ -1,8 +1,9 @@
|
|
1
|
+
var _SkyTimepickerInputDirective_instances, _SkyTimepickerInputDirective__timeFormat, _SkyTimepickerInputDirective_modelValue_get, _SkyTimepickerInputDirective_modelValue_set, _SkyTimepickerInputDirective_control, _SkyTimepickerInputDirective__disabled, _SkyTimepickerInputDirective__modelValue, _SkyTimepickerInputDirective__skyTimepickerInput, _SkyTimepickerInputDirective_renderer, _SkyTimepickerInputDirective_elRef, _SkyTimepickerInputDirective_resourcesService, _SkyTimepickerInputDirective_changeDetector, _SkyTimepickerInputDirective_setInputValue, _SkyTimepickerInputDirective_formatter, _SkyTimepickerInputDirective_updateTimepickerInput, _SkyTimepickerInputDirective__onChange, _SkyTimepickerInputDirective__onTouched, _SkyTimepickerInputDirective__validatorChange;
|
2
|
+
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
1
3
|
import { ChangeDetectorRef, Directive, ElementRef, HostListener, Input, Renderer2, forwardRef, } from '@angular/core';
|
2
4
|
import { NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
|
3
5
|
import { SkyLibResourcesService } from '@skyux/i18n';
|
4
6
|
import moment from 'moment';
|
5
|
-
import { SkyTimepickerComponent } from './timepicker.component';
|
6
7
|
import * as i0 from "@angular/core";
|
7
8
|
import * as i1 from "@skyux/i18n";
|
8
9
|
const SKY_TIMEPICKER_VALUE_ACCESSOR = {
|
@@ -17,18 +18,31 @@ const SKY_TIMEPICKER_VALIDATOR = {
|
|
17
18
|
};
|
18
19
|
export class SkyTimepickerInputDirective {
|
19
20
|
constructor(renderer, elRef, resourcesService, changeDetector) {
|
20
|
-
this
|
21
|
-
this
|
22
|
-
this
|
23
|
-
this
|
24
|
-
this
|
25
|
-
|
26
|
-
this
|
21
|
+
_SkyTimepickerInputDirective_instances.add(this);
|
22
|
+
_SkyTimepickerInputDirective__timeFormat.set(this, 'hh');
|
23
|
+
_SkyTimepickerInputDirective_control.set(this, void 0);
|
24
|
+
_SkyTimepickerInputDirective__disabled.set(this, false);
|
25
|
+
_SkyTimepickerInputDirective__modelValue.set(this, void 0);
|
26
|
+
_SkyTimepickerInputDirective__skyTimepickerInput.set(this, void 0);
|
27
|
+
_SkyTimepickerInputDirective_renderer.set(this, void 0);
|
28
|
+
_SkyTimepickerInputDirective_elRef.set(this, void 0);
|
29
|
+
_SkyTimepickerInputDirective_resourcesService.set(this, void 0);
|
30
|
+
_SkyTimepickerInputDirective_changeDetector.set(this, void 0);
|
31
|
+
/* istanbul ignore next */
|
32
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any
|
33
|
+
_SkyTimepickerInputDirective__onChange.set(this, (_) => { });
|
34
|
+
/* istanbul ignore next */
|
27
35
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
28
|
-
this
|
36
|
+
_SkyTimepickerInputDirective__onTouched.set(this, () => { });
|
37
|
+
/* istanbul ignore next */
|
29
38
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
30
|
-
this
|
39
|
+
_SkyTimepickerInputDirective__validatorChange.set(this, () => { });
|
40
|
+
__classPrivateFieldSet(this, _SkyTimepickerInputDirective_renderer, renderer, "f");
|
41
|
+
__classPrivateFieldSet(this, _SkyTimepickerInputDirective_elRef, elRef, "f");
|
42
|
+
__classPrivateFieldSet(this, _SkyTimepickerInputDirective_resourcesService, resourcesService, "f");
|
43
|
+
__classPrivateFieldSet(this, _SkyTimepickerInputDirective_changeDetector, changeDetector, "f");
|
31
44
|
}
|
45
|
+
// TODO: In a future breaking change - grab the parent component through dependency injection and remove this setter.
|
32
46
|
/**
|
33
47
|
* Creates the timepicker input field and picker. Place this attribute on an `input` element,
|
34
48
|
* and wrap the input in a `sky-timepicker` component.
|
@@ -36,70 +50,59 @@ export class SkyTimepickerInputDirective {
|
|
36
50
|
* @required
|
37
51
|
*/
|
38
52
|
get skyTimepickerInput() {
|
39
|
-
return this
|
53
|
+
return __classPrivateFieldGet(this, _SkyTimepickerInputDirective__skyTimepickerInput, "f");
|
40
54
|
}
|
41
55
|
set skyTimepickerInput(value) {
|
42
|
-
this
|
43
|
-
this.
|
56
|
+
__classPrivateFieldSet(this, _SkyTimepickerInputDirective__skyTimepickerInput, value, "f");
|
57
|
+
__classPrivateFieldGet(this, _SkyTimepickerInputDirective_instances, "m", _SkyTimepickerInputDirective_updateTimepickerInput).call(this);
|
44
58
|
}
|
59
|
+
// TODO: In a future breaking change - make this more specific than "string"
|
45
60
|
/**
|
46
61
|
* Specifies the 12-hour `hh` or 24-hour `HH` time format for the input.
|
47
62
|
* @default "hh"
|
48
63
|
*/
|
49
64
|
set timeFormat(value) {
|
50
|
-
this
|
65
|
+
__classPrivateFieldSet(this, _SkyTimepickerInputDirective__timeFormat, value || 'hh', "f");
|
51
66
|
}
|
52
67
|
get timeFormat() {
|
53
|
-
return this
|
68
|
+
return __classPrivateFieldGet(this, _SkyTimepickerInputDirective__timeFormat, "f");
|
54
69
|
}
|
55
70
|
/**
|
56
71
|
* Indicates whether to disable the timepicker.
|
57
72
|
* @default false
|
58
73
|
*/
|
59
74
|
get disabled() {
|
60
|
-
return this
|
75
|
+
return __classPrivateFieldGet(this, _SkyTimepickerInputDirective__disabled, "f");
|
61
76
|
}
|
62
77
|
set disabled(value) {
|
63
|
-
this
|
64
|
-
this.
|
65
|
-
this.
|
66
|
-
}
|
67
|
-
get modelValue() {
|
68
|
-
return this._modelValue;
|
69
|
-
}
|
70
|
-
set modelValue(value) {
|
71
|
-
if (value !== this._modelValue) {
|
72
|
-
this._modelValue = value;
|
73
|
-
this.updateTimepickerInput();
|
74
|
-
this.setInputValue(value);
|
75
|
-
this._validatorChange();
|
76
|
-
this._onChange(value);
|
77
|
-
}
|
78
|
+
__classPrivateFieldSet(this, _SkyTimepickerInputDirective__disabled, value || false, "f");
|
79
|
+
__classPrivateFieldGet(this, _SkyTimepickerInputDirective_instances, "m", _SkyTimepickerInputDirective_updateTimepickerInput).call(this);
|
80
|
+
__classPrivateFieldGet(this, _SkyTimepickerInputDirective_renderer, "f").setProperty(__classPrivateFieldGet(this, _SkyTimepickerInputDirective_elRef, "f").nativeElement, 'disabled', value);
|
78
81
|
}
|
79
82
|
ngOnInit() {
|
80
|
-
this.
|
83
|
+
__classPrivateFieldGet(this, _SkyTimepickerInputDirective_renderer, "f").addClass(__classPrivateFieldGet(this, _SkyTimepickerInputDirective_elRef, "f").nativeElement, 'sky-form-control');
|
81
84
|
this.pickerChangedSubscription =
|
82
|
-
this.skyTimepickerInput
|
85
|
+
this.skyTimepickerInput?.selectedTimeChanged.subscribe((newTime) => {
|
83
86
|
this.writeValue(newTime);
|
84
|
-
this.
|
87
|
+
__classPrivateFieldGet(this, _SkyTimepickerInputDirective__onTouched, "f").call(this);
|
85
88
|
});
|
86
89
|
/* istanbul ignore else */
|
87
|
-
if (!this.
|
88
|
-
this
|
90
|
+
if (!__classPrivateFieldGet(this, _SkyTimepickerInputDirective_elRef, "f").nativeElement.getAttribute('aria-label')) {
|
91
|
+
__classPrivateFieldGet(this, _SkyTimepickerInputDirective_resourcesService, "f")
|
89
92
|
.getString('skyux_timepicker_input_default_label')
|
90
93
|
.subscribe((value) => {
|
91
|
-
this.
|
94
|
+
__classPrivateFieldGet(this, _SkyTimepickerInputDirective_renderer, "f").setAttribute(__classPrivateFieldGet(this, _SkyTimepickerInputDirective_elRef, "f").nativeElement, 'aria-label', value);
|
92
95
|
});
|
93
96
|
}
|
94
97
|
}
|
95
98
|
ngAfterContentInit() {
|
96
99
|
// Watch for the control to be added and initialize the value immediately.
|
97
100
|
/* istanbul ignore else */
|
98
|
-
if (this
|
99
|
-
this.
|
101
|
+
if (__classPrivateFieldGet(this, _SkyTimepickerInputDirective_control, "f") && __classPrivateFieldGet(this, _SkyTimepickerInputDirective_control, "f").parent) {
|
102
|
+
__classPrivateFieldGet(this, _SkyTimepickerInputDirective_control, "f").setValue(__classPrivateFieldGet(this, _SkyTimepickerInputDirective_instances, "a", _SkyTimepickerInputDirective_modelValue_get), {
|
100
103
|
emitEvent: false,
|
101
104
|
});
|
102
|
-
this.
|
105
|
+
__classPrivateFieldGet(this, _SkyTimepickerInputDirective_changeDetector, "f").markForCheck();
|
103
106
|
}
|
104
107
|
}
|
105
108
|
ngOnDestroy() {
|
@@ -109,38 +112,40 @@ export class SkyTimepickerInputDirective {
|
|
109
112
|
}
|
110
113
|
}
|
111
114
|
ngOnChanges() {
|
112
|
-
this.skyTimepickerInput
|
113
|
-
|
115
|
+
if (this.skyTimepickerInput) {
|
116
|
+
this.skyTimepickerInput.setFormat(this.timeFormat);
|
117
|
+
this.skyTimepickerInput.returnFormat = this.returnFormat;
|
118
|
+
}
|
114
119
|
}
|
115
120
|
onChange(event) {
|
116
121
|
this.writeValue(event.target.value);
|
117
122
|
}
|
118
123
|
/* istanbul ignore next */
|
119
124
|
onBlur() {
|
120
|
-
this.
|
125
|
+
__classPrivateFieldGet(this, _SkyTimepickerInputDirective__onTouched, "f").call(this);
|
121
126
|
}
|
122
127
|
registerOnChange(fn) {
|
123
|
-
this
|
128
|
+
__classPrivateFieldSet(this, _SkyTimepickerInputDirective__onChange, fn, "f");
|
124
129
|
}
|
125
130
|
registerOnTouched(fn) {
|
126
|
-
this
|
131
|
+
__classPrivateFieldSet(this, _SkyTimepickerInputDirective__onTouched, fn, "f");
|
127
132
|
}
|
128
133
|
registerOnValidatorChange(fn) {
|
129
|
-
this
|
134
|
+
__classPrivateFieldSet(this, _SkyTimepickerInputDirective__validatorChange, fn, "f");
|
130
135
|
}
|
131
136
|
setDisabledState(isDisabled) {
|
132
137
|
this.disabled = isDisabled;
|
133
138
|
}
|
134
139
|
writeValue(value) {
|
135
|
-
this
|
140
|
+
__classPrivateFieldSet(this, _SkyTimepickerInputDirective_instances, __classPrivateFieldGet(this, _SkyTimepickerInputDirective_instances, "m", _SkyTimepickerInputDirective_formatter).call(this, value), "a", _SkyTimepickerInputDirective_modelValue_set);
|
136
141
|
}
|
137
142
|
validate(control) {
|
138
|
-
if (!this
|
139
|
-
this
|
143
|
+
if (!__classPrivateFieldGet(this, _SkyTimepickerInputDirective_control, "f")) {
|
144
|
+
__classPrivateFieldSet(this, _SkyTimepickerInputDirective_control, control, "f");
|
140
145
|
}
|
141
146
|
const value = control.value;
|
142
147
|
if (!value) {
|
143
|
-
return
|
148
|
+
return null;
|
144
149
|
}
|
145
150
|
/* istanbul ignore next */
|
146
151
|
if (value.local === 'Invalid date') {
|
@@ -150,59 +155,61 @@ export class SkyTimepickerInputDirective {
|
|
150
155
|
},
|
151
156
|
};
|
152
157
|
}
|
153
|
-
return
|
154
|
-
}
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
158
|
+
return null;
|
159
|
+
}
|
160
|
+
}
|
161
|
+
_SkyTimepickerInputDirective__timeFormat = new WeakMap(), _SkyTimepickerInputDirective_control = new WeakMap(), _SkyTimepickerInputDirective__disabled = new WeakMap(), _SkyTimepickerInputDirective__modelValue = new WeakMap(), _SkyTimepickerInputDirective__skyTimepickerInput = new WeakMap(), _SkyTimepickerInputDirective_renderer = new WeakMap(), _SkyTimepickerInputDirective_elRef = new WeakMap(), _SkyTimepickerInputDirective_resourcesService = new WeakMap(), _SkyTimepickerInputDirective_changeDetector = new WeakMap(), _SkyTimepickerInputDirective__onChange = new WeakMap(), _SkyTimepickerInputDirective__onTouched = new WeakMap(), _SkyTimepickerInputDirective__validatorChange = new WeakMap(), _SkyTimepickerInputDirective_instances = new WeakSet(), _SkyTimepickerInputDirective_modelValue_get = function _SkyTimepickerInputDirective_modelValue_get() {
|
162
|
+
return __classPrivateFieldGet(this, _SkyTimepickerInputDirective__modelValue, "f");
|
163
|
+
}, _SkyTimepickerInputDirective_modelValue_set = function _SkyTimepickerInputDirective_modelValue_set(value) {
|
164
|
+
if (value !== __classPrivateFieldGet(this, _SkyTimepickerInputDirective__modelValue, "f")) {
|
165
|
+
__classPrivateFieldSet(this, _SkyTimepickerInputDirective__modelValue, value, "f");
|
166
|
+
__classPrivateFieldGet(this, _SkyTimepickerInputDirective_instances, "m", _SkyTimepickerInputDirective_updateTimepickerInput).call(this);
|
167
|
+
__classPrivateFieldGet(this, _SkyTimepickerInputDirective_instances, "m", _SkyTimepickerInputDirective_setInputValue).call(this, value);
|
168
|
+
__classPrivateFieldGet(this, _SkyTimepickerInputDirective__validatorChange, "f").call(this);
|
169
|
+
__classPrivateFieldGet(this, _SkyTimepickerInputDirective__onChange, "f").call(this, value);
|
170
|
+
}
|
171
|
+
}, _SkyTimepickerInputDirective_setInputValue = function _SkyTimepickerInputDirective_setInputValue(value) {
|
172
|
+
let formattedValue = '';
|
173
|
+
if (value) {
|
174
|
+
const output = moment(value).format(value.customFormat);
|
175
|
+
/* istanbul ignore else */
|
176
|
+
if (output !== 'Invalid date') {
|
177
|
+
formattedValue = output;
|
163
178
|
}
|
164
|
-
this.renderer.setProperty(this.elRef.nativeElement, 'value', formattedValue);
|
165
179
|
}
|
166
|
-
|
167
|
-
|
168
|
-
|
180
|
+
__classPrivateFieldGet(this, _SkyTimepickerInputDirective_renderer, "f").setProperty(__classPrivateFieldGet(this, _SkyTimepickerInputDirective_elRef, "f").nativeElement, 'value', formattedValue);
|
181
|
+
}, _SkyTimepickerInputDirective_formatter = function _SkyTimepickerInputDirective_formatter(time) {
|
182
|
+
if (time && typeof time !== 'string' && 'local' in time) {
|
183
|
+
return time;
|
184
|
+
}
|
185
|
+
if (typeof time === 'string') {
|
186
|
+
if (time.length === 0) {
|
187
|
+
return '';
|
169
188
|
}
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
}
|
174
|
-
let currentFormat;
|
175
|
-
if (this.timeFormat === 'hh') {
|
176
|
-
currentFormat = 'h:mm A';
|
177
|
-
}
|
178
|
-
if (this.timeFormat === 'HH') {
|
179
|
-
currentFormat = 'H:mm';
|
180
|
-
}
|
181
|
-
if (typeof this.returnFormat === 'undefined') {
|
182
|
-
this.returnFormat = currentFormat;
|
183
|
-
}
|
184
|
-
const formatTime = {
|
185
|
-
hour: moment(time, currentFormat).hour(),
|
186
|
-
minute: moment(time, currentFormat).minute(),
|
187
|
-
meridie: moment(time, currentFormat).format('A'),
|
188
|
-
timezone: parseInt(moment(time, currentFormat).format('Z'), 10),
|
189
|
-
iso8601: moment(time, currentFormat).toDate(),
|
190
|
-
local: moment(time, currentFormat).format(currentFormat),
|
191
|
-
customFormat: this.returnFormat,
|
192
|
-
};
|
193
|
-
return formatTime;
|
189
|
+
const currentFormat = this.timeFormat === 'HH' ? 'H:mm' : 'h:mm A';
|
190
|
+
if (typeof this.returnFormat === 'undefined') {
|
191
|
+
this.returnFormat = currentFormat;
|
194
192
|
}
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
193
|
+
const formatTime = {
|
194
|
+
hour: moment(time, currentFormat).hour(),
|
195
|
+
minute: moment(time, currentFormat).minute(),
|
196
|
+
meridie: moment(time, currentFormat).format('A'),
|
197
|
+
timezone: parseInt(moment(time, currentFormat).format('Z'), 10),
|
198
|
+
iso8601: moment(time, currentFormat).toDate(),
|
199
|
+
local: moment(time, currentFormat).format(currentFormat),
|
200
|
+
customFormat: this.returnFormat,
|
201
|
+
};
|
202
|
+
return formatTime;
|
203
|
+
}
|
204
|
+
}, _SkyTimepickerInputDirective_updateTimepickerInput = function _SkyTimepickerInputDirective_updateTimepickerInput() {
|
205
|
+
if (this.skyTimepickerInput) {
|
206
|
+
this.skyTimepickerInput.disabled = this.disabled;
|
207
|
+
/* istanbul ignore else */
|
208
|
+
if (this.skyTimepickerInput.selectedTime !== __classPrivateFieldGet(this, _SkyTimepickerInputDirective_instances, "a", _SkyTimepickerInputDirective_modelValue_get)) {
|
209
|
+
this.skyTimepickerInput.selectedTime = __classPrivateFieldGet(this, _SkyTimepickerInputDirective_instances, "a", _SkyTimepickerInputDirective_modelValue_get);
|
203
210
|
}
|
204
211
|
}
|
205
|
-
}
|
212
|
+
};
|
206
213
|
SkyTimepickerInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTimepickerInputDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.SkyLibResourcesService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
|
207
214
|
SkyTimepickerInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: SkyTimepickerInputDirective, selector: "[skyTimepickerInput]", inputs: { skyTimepickerInput: "skyTimepickerInput", timeFormat: "timeFormat", returnFormat: "returnFormat", disabled: "disabled" }, host: { listeners: { "change": "onChange($event)", "blur": "onBlur()" } }, providers: [SKY_TIMEPICKER_VALUE_ACCESSOR, SKY_TIMEPICKER_VALIDATOR], usesOnChanges: true, ngImport: i0 });
|
208
215
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyTimepickerInputDirective, decorators: [{
|
@@ -226,4 +233,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
|
|
226
233
|
type: HostListener,
|
227
234
|
args: ['blur']
|
228
235
|
}] } });
|
229
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL3RpbWVwaWNrZXIvdGltZXBpY2tlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBSUwsU0FBUyxFQUNULFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsYUFBYSxFQUNiLGlCQUFpQixHQUVsQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVyRCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQUdoRSxNQUFNLDZCQUE2QixHQUFHO0lBQ3BDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztJQUMxRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFFRixNQUFNLHdCQUF3QixHQUFHO0lBQy9CLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsMkJBQTJCLENBQUM7SUFDMUQsS0FBSyxFQUFFLElBQUk7Q0FDWixDQUFDO0FBTUYsTUFBTSxPQUFPLDJCQUEyQjtJQXFGdEMsWUFDVSxRQUFtQixFQUNuQixLQUFpQixFQUNqQixnQkFBd0MsRUFDeEMsY0FBaUM7UUFIakMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBd0I7UUFD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SUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDM0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBRWpELDBCQUEwQjtZQUMxQixJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDNUQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ3hEO1NBQ0Y7SUFDSCxDQUFDOzt3SEF2UFUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsOFBBRjNCLENBQUMsNkJBQTZCLEVBQUUsd0JBQXdCLENBQUM7MkZBRXpELDJCQUEyQjtrQkFKdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxTQUFTLEVBQUUsQ0FBQyw2QkFBNkIsRUFBRSx3QkFBd0IsQ0FBQztpQkFDckU7OExBb0JZLGtCQUFrQjtzQkFENUIsS0FBSztnQkFlSyxVQUFVO3NCQURwQixLQUFLO2dCQWNDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBUUssUUFBUTtzQkFEbEIsS0FBSztnQkF3RkMsUUFBUTtzQkFEZCxZQUFZO3VCQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPM0IsTUFBTTtzQkFEWixZQUFZO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjIsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRvcixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreVRpbWVwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL3RpbWVwaWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreVRpbWVwaWNrZXJUaW1lT3V0cHV0IH0gZnJvbSAnLi90aW1lcGlja2VyLmludGVyZmFjZSc7XG5cbmNvbnN0IFNLWV9USU1FUElDS0VSX1ZBTFVFX0FDQ0VTU09SID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5VGltZXBpY2tlcklucHV0RGlyZWN0aXZlKSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG5jb25zdCBTS1lfVElNRVBJQ0tFUl9WQUxJREFUT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreVRpbWVwaWNrZXJJbnB1dERpcmVjdGl2ZSksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreVRpbWVwaWNrZXJJbnB1dF0nLFxuICBwcm92aWRlcnM6IFtTS1lfVElNRVBJQ0tFUl9WQUxVRV9BQ0NFU1NPUiwgU0tZX1RJTUVQSUNLRVJfVkFMSURBVE9SXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGltZXBpY2tlcklucHV0RGlyZWN0aXZlXG4gIGltcGxlbWVudHNcbiAgICBPbkluaXQsXG4gICAgT25EZXN0cm95LFxuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIFZhbGlkYXRvcixcbiAgICBPbkNoYW5nZXMsXG4gICAgQWZ0ZXJDb250ZW50SW5pdFxue1xuICBwdWJsaWMgcGlja2VyQ2hhbmdlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIF90aW1lRm9ybWF0ID0gJ2hoJztcblxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgdGltZXBpY2tlciBpbnB1dCBmaWVsZCBhbmQgcGlja2VyLiBQbGFjZSB0aGlzIGF0dHJpYnV0ZSBvbiBhbiBgaW5wdXRgIGVsZW1lbnQsXG4gICAqIGFuZCB3cmFwIHRoZSBpbnB1dCBpbiBhIGBza3ktdGltZXBpY2tlcmAgY29tcG9uZW50LlxuICAgKiBUaGlzIGF0dHJpYnV0ZSBtdXN0IGJlIHNldCB0byB0aGUgaW5zdGFuY2Ugb2YgdGhlIGBza3ktdGltZXBpY2tlcmAuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBza3lUaW1lcGlja2VySW5wdXQoKTogU2t5VGltZXBpY2tlckNvbXBvbmVudCB7XG4gICAgcmV0dXJuIHRoaXMuX3NreVRpbWVwaWNrZXJJbnB1dDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc2t5VGltZXBpY2tlcklucHV0KHZhbHVlOiBTa3lUaW1lcGlja2VyQ29tcG9uZW50KSB7XG4gICAgdGhpcy5fc2t5VGltZXBpY2tlcklucHV0ID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVUaW1lcGlja2VySW5wdXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIDEyLWhvdXIgYGhoYCBvciAyNC1ob3VyIGBISGAgdGltZSBmb3JtYXQgZm9yIHRoZSBpbnB1dC5cbiAgICogQGRlZmF1bHQgXCJoaFwiXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRpbWVGb3JtYXQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3RpbWVGb3JtYXQgPSB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdGltZUZvcm1hdCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90aW1lRm9ybWF0IHx8ICdoaCc7XG4gIH1cblxuICAvKipcbiAgICogU3BlY2lmaWVzIGEgY3VzdG9tIHRpbWUgZm9ybWF0LiBGb3IgZXhhbXBsZXMsXG4gICAqIHNlZSB0aGUgW21vbWVudC5qc10oaHR0cHM6Ly9tb21lbnRqcy5jb20vZG9jcy8jL2Rpc3BsYXlpbmcvZm9ybWF0LykgZG9jcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZXR1cm5Gb3JtYXQ6IHN0cmluZztcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgdGltZXBpY2tlci5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkIHx8IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG5cbiAgICB0aGlzLnVwZGF0ZVRpbWVwaWNrZXJJbnB1dCgpO1xuXG4gICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNhYmxlZCcsIHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IG1vZGVsVmFsdWUoKTogU2t5VGltZXBpY2tlclRpbWVPdXRwdXQge1xuICAgIHJldHVybiB0aGlzLl9tb2RlbFZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXQgbW9kZWxWYWx1ZSh2YWx1ZTogU2t5VGltZXBpY2tlclRpbWVPdXRwdXQpIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuX21vZGVsVmFsdWUpIHtcbiAgICAgIHRoaXMuX21vZGVsVmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMudXBkYXRlVGltZXBpY2tlcklucHV0KCk7XG4gICAgICB0aGlzLnNldElucHV0VmFsdWUodmFsdWUpO1xuICAgICAgdGhpcy5fdmFsaWRhdG9yQ2hhbmdlKCk7XG4gICAgICB0aGlzLl9vbkNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG5cbiAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgX21vZGVsVmFsdWU6IFNreVRpbWVwaWNrZXJUaW1lT3V0cHV0O1xuICBwcml2YXRlIF9za3lUaW1lcGlja2VySW5wdXQ6IFNreVRpbWVwaWNrZXJDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZXNvdXJjZXNTZXJ2aWNlOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsICdza3ktZm9ybS1jb250cm9sJyk7XG4gICAgdGhpcy5waWNrZXJDaGFuZ2VkU3Vic2NyaXB0aW9uID1cbiAgICAgIHRoaXMuc2t5VGltZXBpY2tlcklucHV0LnNlbGVjdGVkVGltZUNoYW5nZWQuc3Vic2NyaWJlKFxuICAgICAgICAobmV3VGltZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgdGhpcy53cml0ZVZhbHVlKG5ld1RpbWUpO1xuICAgICAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoIXRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKSkge1xuICAgICAgdGhpcy5yZXNvdXJjZXNTZXJ2aWNlXG4gICAgICAgIC5nZXRTdHJpbmcoJ3NreXV4X3RpbWVwaWNrZXJfaW5wdXRfZGVmYXVsdF9sYWJlbCcpXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShcbiAgICAgICAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICdhcmlhLWxhYmVsJyxcbiAgICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAvLyBXYXRjaCBmb3IgdGhlIGNvbnRyb2wgdG8gYmUgYWRkZWQgYW5kIGluaXRpYWxpemUgdGhlIHZhbHVlIGltbWVkaWF0ZWx5LlxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuY29udHJvbCAmJiB0aGlzLmNvbnRyb2wucGFyZW50KSB7XG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUodGhpcy5tb2RlbFZhbHVlLCB7XG4gICAgICAgIGVtaXRFdmVudDogZmFsc2UsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMucGlja2VyQ2hhbmdlZFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5waWNrZXJDaGFuZ2VkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMuc2t5VGltZXBpY2tlcklucHV0LnNldEZvcm1hdCh0aGlzLnRpbWVGb3JtYXQpO1xuICAgIHRoaXMuc2t5VGltZXBpY2tlcklucHV0LnJldHVybkZvcm1hdCA9IHRoaXMucmV0dXJuRm9ybWF0O1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2hhbmdlJywgWyckZXZlbnQnXSlcbiAgcHVibGljIG9uQ2hhbmdlKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLndyaXRlVmFsdWUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICBwdWJsaWMgb25CbHVyKCkge1xuICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICB9XG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25Ub3VjaGVkID0gZm47XG4gIH1cbiAgcHVibGljIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl92YWxpZGF0b3JDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLm1vZGVsVmFsdWUgPSB0aGlzLmZvcm1hdHRlcih2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgaWYgKCF0aGlzLmNvbnRyb2wpIHtcbiAgICAgIHRoaXMuY29udHJvbCA9IGNvbnRyb2w7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAodmFsdWUubG9jYWwgPT09ICdJbnZhbGlkIGRhdGUnKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBza3lUaW1lOiB7XG4gICAgICAgICAgaW52YWxpZDogY29udHJvbC52YWx1ZSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SW5wdXRWYWx1ZSh2YWx1ZTogU2t5VGltZXBpY2tlclRpbWVPdXRwdXQpOiB2b2lkIHtcbiAgICBsZXQgZm9ybWF0dGVkVmFsdWUgPSAnJztcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIGNvbnN0IG91dHB1dCA9IG1vbWVudCh2YWx1ZSkuZm9ybWF0KHZhbHVlLmN1c3RvbUZvcm1hdCk7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKG91dHB1dCAhPT0gJ0ludmFsaWQgZGF0ZScpIHtcbiAgICAgICAgZm9ybWF0dGVkVmFsdWUgPSBvdXRwdXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShcbiAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICd2YWx1ZScsXG4gICAgICBmb3JtYXR0ZWRWYWx1ZVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdHRlcih0aW1lOiBhbnkpIHtcbiAgICBpZiAodGltZSAmJiB0eXBlb2YgdGltZSAhPT0gJ3N0cmluZycgJiYgJ2xvY2FsJyBpbiB0aW1lKSB7XG4gICAgICByZXR1cm4gdGltZTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB0aW1lID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKHRpbWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICAgIH1cbiAgICAgIGxldCBjdXJyZW50Rm9ybWF0OiBzdHJpbmc7XG4gICAgICBpZiAodGhpcy50aW1lRm9ybWF0ID09PSAnaGgnKSB7XG4gICAgICAgIGN1cnJlbnRGb3JtYXQgPSAnaDptbSBBJztcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnRpbWVGb3JtYXQgPT09ICdISCcpIHtcbiAgICAgICAgY3VycmVudEZvcm1hdCA9ICdIOm1tJztcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgdGhpcy5yZXR1cm5Gb3JtYXQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHRoaXMucmV0dXJuRm9ybWF0ID0gY3VycmVudEZvcm1hdDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZvcm1hdFRpbWU6IFNreVRpbWVwaWNrZXJUaW1lT3V0cHV0ID0ge1xuICAgICAgICBob3VyOiBtb21lbnQodGltZSwgY3VycmVudEZvcm1hdCkuaG91cigpLFxuICAgICAgICBtaW51dGU6IG1vbWVudCh0aW1lLCBjdXJyZW50Rm9ybWF0KS5taW51dGUoKSxcbiAgICAgICAgbWVyaWRpZTogbW9tZW50KHRpbWUsIGN1cnJlbnRGb3JtYXQpLmZvcm1hdCgnQScpLFxuICAgICAgICB0aW1lem9uZTogcGFyc2VJbnQobW9tZW50KHRpbWUsIGN1cnJlbnRGb3JtYXQpLmZvcm1hdCgnWicpLCAxMCksXG4gICAgICAgIGlzbzg2MDE6IG1vbWVudCh0aW1lLCBjdXJyZW50Rm9ybWF0KS50b0RhdGUoKSxcbiAgICAgICAgbG9jYWw6IG1vbWVudCh0aW1lLCBjdXJyZW50Rm9ybWF0KS5mb3JtYXQoY3VycmVudEZvcm1hdCksXG4gICAgICAgIGN1c3RvbUZvcm1hdDogdGhpcy5yZXR1cm5Gb3JtYXQsXG4gICAgICB9O1xuICAgICAgcmV0dXJuIGZvcm1hdFRpbWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVUaW1lcGlja2VySW5wdXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2t5VGltZXBpY2tlcklucHV0KSB7XG4gICAgICB0aGlzLnNreVRpbWVwaWNrZXJJbnB1dC5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XG5cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAodGhpcy5za3lUaW1lcGlja2VySW5wdXQuc2VsZWN0ZWRUaW1lICE9PSB0aGlzLm1vZGVsVmFsdWUpIHtcbiAgICAgICAgdGhpcy5za3lUaW1lcGlja2VySW5wdXQuc2VsZWN0ZWRUaW1lID0gdGhpcy5tb2RlbFZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgcHJpdmF0ZSBfb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7fTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICBwcml2YXRlIF9vblRvdWNoZWQgPSAoKSA9PiB7fTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICBwcml2YXRlIF92YWxpZGF0b3JDaGFuZ2UgPSAoKSA9PiB7fTtcbn1cbiJdfQ==
|
236
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZGF0ZXRpbWUvc3JjL2xpYi9tb2R1bGVzL3RpbWVwaWNrZXIvdGltZXBpY2tlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFJTCxTQUFTLEVBQ1QsVUFBVSxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxhQUFhLEVBQ2IsaUJBQWlCLEdBR2xCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXJELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQzs7O0FBTTVCLE1BQU0sNkJBQTZCLEdBQUc7SUFDcEMsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDO0lBQzFELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQUVGLE1BQU0sd0JBQXdCLEdBQUc7SUFDL0IsT0FBTyxFQUFFLGFBQWE7SUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztJQUMxRCxLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFNRixNQUFNLE9BQU8sMkJBQTJCO0lBNEZ0QyxZQUNFLFFBQW1CLEVBQ25CLEtBQWlCLEVBQ2pCLGdCQUF3QyxFQUN4QyxjQUFpQzs7UUF0Rm5DLG1EQUFlLElBQUksRUFBQztRQXVFcEIsdURBQXNDO1FBRXRDLGlEQUFhLEtBQUssRUFBQztRQUNuQiwyREFBa0Q7UUFDbEQsbUVBQXlEO1FBRXpELHdEQUFxQjtRQUNyQixxREFBbUI7UUFDbkIsZ0VBQTBDO1FBQzFD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clJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBSZW5kZXJlcjIsXG4gIGZvcndhcmRSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcixcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNreVRpbWVwaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL3RpbWVwaWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreVRpbWVwaWNrZXJUaW1lT3V0cHV0IH0gZnJvbSAnLi90aW1lcGlja2VyLmludGVyZmFjZSc7XG5cbmNvbnN0IFNLWV9USU1FUElDS0VSX1ZBTFVFX0FDQ0VTU09SID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2t5VGltZXBpY2tlcklucHV0RGlyZWN0aXZlKSxcbiAgbXVsdGk6IHRydWUsXG59O1xuXG5jb25zdCBTS1lfVElNRVBJQ0tFUl9WQUxJREFUT1IgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNreVRpbWVwaWNrZXJJbnB1dERpcmVjdGl2ZSksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreVRpbWVwaWNrZXJJbnB1dF0nLFxuICBwcm92aWRlcnM6IFtTS1lfVElNRVBJQ0tFUl9WQUxVRV9BQ0NFU1NPUiwgU0tZX1RJTUVQSUNLRVJfVkFMSURBVE9SXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGltZXBpY2tlcklucHV0RGlyZWN0aXZlXG4gIGltcGxlbWVudHNcbiAgICBPbkluaXQsXG4gICAgT25EZXN0cm95LFxuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIFZhbGlkYXRvcixcbiAgICBPbkNoYW5nZXMsXG4gICAgQWZ0ZXJDb250ZW50SW5pdFxue1xuICBwdWJsaWMgcGlja2VyQ2hhbmdlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuICAjX3RpbWVGb3JtYXQgPSAnaGgnO1xuXG4gIC8vIFRPRE86IEluIGEgZnV0dXJlIGJyZWFraW5nIGNoYW5nZSAtIGdyYWIgdGhlIHBhcmVudCBjb21wb25lbnQgdGhyb3VnaCBkZXBlbmRlbmN5IGluamVjdGlvbiBhbmQgcmVtb3ZlIHRoaXMgc2V0dGVyLlxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgdGltZXBpY2tlciBpbnB1dCBmaWVsZCBhbmQgcGlja2VyLiBQbGFjZSB0aGlzIGF0dHJpYnV0ZSBvbiBhbiBgaW5wdXRgIGVsZW1lbnQsXG4gICAqIGFuZCB3cmFwIHRoZSBpbnB1dCBpbiBhIGBza3ktdGltZXBpY2tlcmAgY29tcG9uZW50LlxuICAgKiBUaGlzIGF0dHJpYnV0ZSBtdXN0IGJlIHNldCB0byB0aGUgaW5zdGFuY2Ugb2YgdGhlIGBza3ktdGltZXBpY2tlcmAuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBza3lUaW1lcGlja2VySW5wdXQoKTogU2t5VGltZXBpY2tlckNvbXBvbmVudCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI19za3lUaW1lcGlja2VySW5wdXQ7XG4gIH1cblxuICBwdWJsaWMgc2V0IHNreVRpbWVwaWNrZXJJbnB1dCh2YWx1ZTogU2t5VGltZXBpY2tlckNvbXBvbmVudCB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19za3lUaW1lcGlja2VySW5wdXQgPSB2YWx1ZTtcbiAgICB0aGlzLiN1cGRhdGVUaW1lcGlja2VySW5wdXQoKTtcbiAgfVxuXG4gIC8vIFRPRE86IEluIGEgZnV0dXJlIGJyZWFraW5nIGNoYW5nZSAtIG1ha2UgdGhpcyBtb3JlIHNwZWNpZmljIHRoYW4gXCJzdHJpbmdcIlxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSAxMi1ob3VyIGBoaGAgb3IgMjQtaG91ciBgSEhgIHRpbWUgZm9ybWF0IGZvciB0aGUgaW5wdXQuXG4gICAqIEBkZWZhdWx0IFwiaGhcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCB0aW1lRm9ybWF0KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfdGltZUZvcm1hdCA9IHZhbHVlIHx8ICdoaCc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRpbWVGb3JtYXQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX3RpbWVGb3JtYXQ7XG4gIH1cblxuICAvKipcbiAgICogU3BlY2lmaWVzIGEgY3VzdG9tIHRpbWUgZm9ybWF0LiBGb3IgZXhhbXBsZXMsXG4gICAqIHNlZSB0aGUgW21vbWVudC5qc10oaHR0cHM6Ly9tb21lbnRqcy5jb20vZG9jcy8jL2Rpc3BsYXlpbmcvZm9ybWF0LykgZG9jcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZXR1cm5Gb3JtYXQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdG8gZGlzYWJsZSB0aGUgdGltZXBpY2tlci5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI19kaXNhYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfZGlzYWJsZWQgPSB2YWx1ZSB8fCBmYWxzZTtcblxuICAgIHRoaXMuI3VwZGF0ZVRpbWVwaWNrZXJJbnB1dCgpO1xuXG4gICAgdGhpcy4jcmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy4jZWxSZWYubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJywgdmFsdWUpO1xuICB9XG5cbiAgZ2V0ICNtb2RlbFZhbHVlKCk6IFNreVRpbWVwaWNrZXJUaW1lT3V0cHV0IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX21vZGVsVmFsdWU7XG4gIH1cblxuICBzZXQgI21vZGVsVmFsdWUodmFsdWU6IFNreVRpbWVwaWNrZXJUaW1lT3V0cHV0IHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLiNfbW9kZWxWYWx1ZSkge1xuICAgICAgdGhpcy4jX21vZGVsVmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMuI3VwZGF0ZVRpbWVwaWNrZXJJbnB1dCgpO1xuICAgICAgdGhpcy4jc2V0SW5wdXRWYWx1ZSh2YWx1ZSk7XG4gICAgICB0aGlzLiNfdmFsaWRhdG9yQ2hhbmdlKCk7XG4gICAgICB0aGlzLiNfb25DaGFuZ2UodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gICNjb250cm9sOiBBYnN0cmFjdENvbnRyb2wgfCB1bmRlZmluZWQ7XG5cbiAgI19kaXNhYmxlZCA9IGZhbHNlO1xuICAjX21vZGVsVmFsdWU6IFNreVRpbWVwaWNrZXJUaW1lT3V0cHV0IHwgdW5kZWZpbmVkO1xuICAjX3NreVRpbWVwaWNrZXJJbnB1dDogU2t5VGltZXBpY2tlckNvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICAjcmVuZGVyZXI6IFJlbmRlcmVyMjtcbiAgI2VsUmVmOiBFbGVtZW50UmVmO1xuICAjcmVzb3VyY2VzU2VydmljZTogU2t5TGliUmVzb3VyY2VzU2VydmljZTtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIHJlc291cmNlc1NlcnZpY2U6IFNreUxpYlJlc291cmNlc1NlcnZpY2UsXG4gICAgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXI7XG4gICAgdGhpcy4jZWxSZWYgPSBlbFJlZjtcbiAgICB0aGlzLiNyZXNvdXJjZXNTZXJ2aWNlID0gcmVzb3VyY2VzU2VydmljZTtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuI3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuI2VsUmVmLm5hdGl2ZUVsZW1lbnQsICdza3ktZm9ybS1jb250cm9sJyk7XG4gICAgdGhpcy5waWNrZXJDaGFuZ2VkU3Vic2NyaXB0aW9uID1cbiAgICAgIHRoaXMuc2t5VGltZXBpY2tlcklucHV0Py5zZWxlY3RlZFRpbWVDaGFuZ2VkLnN1YnNjcmliZShcbiAgICAgICAgKG5ld1RpbWU6IHN0cmluZykgPT4ge1xuICAgICAgICAgIHRoaXMud3JpdGVWYWx1ZShuZXdUaW1lKTtcbiAgICAgICAgICB0aGlzLiNfb25Ub3VjaGVkKCk7XG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICghdGhpcy4jZWxSZWYubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKSkge1xuICAgICAgdGhpcy4jcmVzb3VyY2VzU2VydmljZVxuICAgICAgICAuZ2V0U3RyaW5nKCdza3l1eF90aW1lcGlja2VyX2lucHV0X2RlZmF1bHRfbGFiZWwnKVxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgdGhpcy4jcmVuZGVyZXIuc2V0QXR0cmlidXRlKFxuICAgICAgICAgICAgdGhpcy4jZWxSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICdhcmlhLWxhYmVsJyxcbiAgICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAvLyBXYXRjaCBmb3IgdGhlIGNvbnRyb2wgdG8gYmUgYWRkZWQgYW5kIGluaXRpYWxpemUgdGhlIHZhbHVlIGltbWVkaWF0ZWx5LlxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI2NvbnRyb2wgJiYgdGhpcy4jY29udHJvbC5wYXJlbnQpIHtcbiAgICAgIHRoaXMuI2NvbnRyb2wuc2V0VmFsdWUodGhpcy4jbW9kZWxWYWx1ZSwge1xuICAgICAgICBlbWl0RXZlbnQ6IGZhbHNlLFxuICAgICAgfSk7XG4gICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5waWNrZXJDaGFuZ2VkU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLnBpY2tlckNoYW5nZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMuc2t5VGltZXBpY2tlcklucHV0KSB7XG4gICAgICB0aGlzLnNreVRpbWVwaWNrZXJJbnB1dC5zZXRGb3JtYXQodGhpcy50aW1lRm9ybWF0KTtcbiAgICAgIHRoaXMuc2t5VGltZXBpY2tlcklucHV0LnJldHVybkZvcm1hdCA9IHRoaXMucmV0dXJuRm9ybWF0O1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NoYW5nZScsIFsnJGV2ZW50J10pXG4gIHB1YmxpYyBvbkNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy53cml0ZVZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBASG9zdExpc3RlbmVyKCdibHVyJylcbiAgcHVibGljIG9uQmx1cigpIHtcbiAgICB0aGlzLiNfb25Ub3VjaGVkKCk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnkpID0+IGFueSk6IHZvaWQge1xuICAgIHRoaXMuI19vbkNoYW5nZSA9IGZuO1xuICB9XG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gYW55KTogdm9pZCB7XG4gICAgdGhpcy4jX29uVG91Y2hlZCA9IGZuO1xuICB9XG4gIHB1YmxpYyByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy4jX3ZhbGlkYXRvckNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMuI21vZGVsVmFsdWUgPSB0aGlzLiNmb3JtYXR0ZXIodmFsdWUpO1xuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuI2NvbnRyb2wpIHtcbiAgICAgIHRoaXMuI2NvbnRyb2wgPSBjb250cm9sO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmICh2YWx1ZS5sb2NhbCA9PT0gJ0ludmFsaWQgZGF0ZScpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNreVRpbWU6IHtcbiAgICAgICAgICBpbnZhbGlkOiBjb250cm9sLnZhbHVlLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gICNzZXRJbnB1dFZhbHVlKHZhbHVlOiBTa3lUaW1lcGlja2VyVGltZU91dHB1dCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGxldCBmb3JtYXR0ZWRWYWx1ZSA9ICcnO1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgY29uc3Qgb3V0cHV0ID0gbW9tZW50KHZhbHVlKS5mb3JtYXQodmFsdWUuY3VzdG9tRm9ybWF0KTtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAob3V0cHV0ICE9PSAnSW52YWxpZCBkYXRlJykge1xuICAgICAgICBmb3JtYXR0ZWRWYWx1ZSA9IG91dHB1dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLiNyZW5kZXJlci5zZXRQcm9wZXJ0eShcbiAgICAgIHRoaXMuI2VsUmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAndmFsdWUnLFxuICAgICAgZm9ybWF0dGVkVmFsdWVcbiAgICApO1xuICB9XG5cbiAgI2Zvcm1hdHRlcih0aW1lOiBhbnkpIHtcbiAgICBpZiAodGltZSAmJiB0eXBlb2YgdGltZSAhPT0gJ3N0cmluZycgJiYgJ2xvY2FsJyBpbiB0aW1lKSB7XG4gICAgICByZXR1cm4gdGltZTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB0aW1lID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKHRpbWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICAgIH1cbiAgICAgIGNvbnN0IGN1cnJlbnRGb3JtYXQgPSB0aGlzLnRpbWVGb3JtYXQgPT09ICdISCcgPyAnSDptbScgOiAnaDptbSBBJztcblxuICAgICAgaWYgKHR5cGVvZiB0aGlzLnJldHVybkZvcm1hdCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdGhpcy5yZXR1cm5Gb3JtYXQgPSBjdXJyZW50Rm9ybWF0O1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmb3JtYXRUaW1lOiBTa3lUaW1lcGlja2VyVGltZU91dHB1dCA9IHtcbiAgICAgICAgaG91cjogbW9tZW50KHRpbWUsIGN1cnJlbnRGb3JtYXQpLmhvdXIoKSxcbiAgICAgICAgbWludXRlOiBtb21lbnQodGltZSwgY3VycmVudEZvcm1hdCkubWludXRlKCksXG4gICAgICAgIG1lcmlkaWU6IG1vbWVudCh0aW1lLCBjdXJyZW50Rm9ybWF0KS5mb3JtYXQoJ0EnKSxcbiAgICAgICAgdGltZXpvbmU6IHBhcnNlSW50KG1vbWVudCh0aW1lLCBjdXJyZW50Rm9ybWF0KS5mb3JtYXQoJ1onKSwgMTApLFxuICAgICAgICBpc284NjAxOiBtb21lbnQodGltZSwgY3VycmVudEZvcm1hdCkudG9EYXRlKCksXG4gICAgICAgIGxvY2FsOiBtb21lbnQodGltZSwgY3VycmVudEZvcm1hdCkuZm9ybWF0KGN1cnJlbnRGb3JtYXQpLFxuICAgICAgICBjdXN0b21Gb3JtYXQ6IHRoaXMucmV0dXJuRm9ybWF0LFxuICAgICAgfTtcbiAgICAgIHJldHVybiBmb3JtYXRUaW1lO1xuICAgIH1cbiAgfVxuXG4gICN1cGRhdGVUaW1lcGlja2VySW5wdXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2t5VGltZXBpY2tlcklucHV0KSB7XG4gICAgICB0aGlzLnNreVRpbWVwaWNrZXJJbnB1dC5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XG5cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAodGhpcy5za3lUaW1lcGlja2VySW5wdXQuc2VsZWN0ZWRUaW1lICE9PSB0aGlzLiNtb2RlbFZhbHVlKSB7XG4gICAgICAgIHRoaXMuc2t5VGltZXBpY2tlcklucHV0LnNlbGVjdGVkVGltZSA9IHRoaXMuI21vZGVsVmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvbiwgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICNfb25DaGFuZ2UgPSAoXzogYW55KTogdm9pZCA9PiB7fTtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAjX29uVG91Y2hlZCA9ICgpOiB2b2lkID0+IHt9O1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICNfdmFsaWRhdG9yQ2hhbmdlID0gKCk6IHZvaWQgPT4ge307XG59XG4iXX0=
|