@apipass/inputs 1.0.186 → 1.0.188
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.
|
@@ -80,6 +80,8 @@ class InputDateTimeIntervalComponent {
|
|
|
80
80
|
selectedEndTime;
|
|
81
81
|
selectedStartDate;
|
|
82
82
|
selectedEndDate;
|
|
83
|
+
defaultStartOfDayTime = '00:00:00';
|
|
84
|
+
defaultEndOfDayTime = '23:59:59';
|
|
83
85
|
dropdownOpen;
|
|
84
86
|
scrollbarRef;
|
|
85
87
|
onKeydownHandler() {
|
|
@@ -171,8 +173,8 @@ class InputDateTimeIntervalComponent {
|
|
|
171
173
|
else {
|
|
172
174
|
if (this.selectedStartDate) {
|
|
173
175
|
const startDate = this.stringToDate(this.selectedStartDate);
|
|
174
|
-
this.applyTimeOnDate(startDate, this.selectedStartTime);
|
|
175
|
-
this.selectedStartTime = this.selectedStartTime ??
|
|
176
|
+
this.applyTimeOnDate(startDate, this.selectedStartTime || this.defaultStartOfDayTime);
|
|
177
|
+
this.selectedStartTime = this.selectedStartTime ?? this.defaultStartOfDayTime;
|
|
176
178
|
this._value.absoluteStartDate = moment(startDate).toDate();
|
|
177
179
|
}
|
|
178
180
|
else {
|
|
@@ -180,8 +182,8 @@ class InputDateTimeIntervalComponent {
|
|
|
180
182
|
}
|
|
181
183
|
if (this.selectedEndDate) {
|
|
182
184
|
const endDate = this.stringToDate(this.selectedEndDate);
|
|
183
|
-
this.applyTimeOnDate(endDate, this.selectedEndTime);
|
|
184
|
-
this.selectedEndTime = this.selectedEndTime ??
|
|
185
|
+
this.applyTimeOnDate(endDate, this.selectedEndTime || this.defaultEndOfDayTime);
|
|
186
|
+
this.selectedEndTime = this.selectedEndTime ?? this.defaultEndOfDayTime;
|
|
185
187
|
this._value.absoluteEndDate = moment(endDate).toDate();
|
|
186
188
|
}
|
|
187
189
|
else {
|
|
@@ -314,4 +316,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
|
|
|
314
316
|
type: HostListener,
|
|
315
317
|
args: ['document:keydown.escape', ['$event']]
|
|
316
318
|
}] } });
|
|
317
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS10aW1lLWludGVydmFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0cy9zcmMvaW5wdXQtZGF0ZS10aW1lLWludGVydmFsL2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbC9pbnB1dC1kYXRlLXRpbWUtaW50ZXJ2YWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pELE9BQU8sRUFBa0IscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RSxPQUFPLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7OztBQUU1QyxNQVdhLDhCQUE4QjtJQTZIdEI7SUEzSFgsTUFBTSxDQUFtQjtJQUN2QixrQkFBa0IsQ0FBa0I7SUFDdkMsY0FBYyxDQUFnQjtJQUc5QixRQUFRLEdBQVcsbUJBQW1CLENBQUE7SUFHdEMsUUFBUSxHQUFXLFlBQVksQ0FBQTtJQUcvQixRQUFRLEdBQVcsVUFBVSxDQUFBO0lBRzdCLFVBQVUsR0FBVyxxQkFBcUIsQ0FBQTtJQUcxQyxLQUFLLENBQVE7SUFHYixXQUFXLEdBQVcs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QURsQixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUlDLGVBQWU7c0JBRHJCLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFXRixLQUFLO3NCQURSLEtBQUs7Z0JBNkJDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxXQUFXO3NCQURqQixNQUFNO2dCQVdvQixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBRWxCLGdCQUFnQjtzQkFEdEIsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBUaW1lSW50ZXJ2YWwgfSBmcm9tICcuL2RlZmF1bHQtaW50ZXJ2YWwvdGltZS1pbnRlcnZhbCc7XG5pbXBvcnQgeyBUaW1lSW50ZXJ2YWxWYWx1ZSB9IGZyb20gJy4vbW9kZWwvZGF0ZS10aW1lLWludGVybmFsLm1vZGVsJztcbmltcG9ydCB7IERhdGVSYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgU2Nyb2xsU3RyYXRlZ3ksIFNjcm9sbFN0cmF0ZWd5T3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcbmltcG9ydCB7IE5nU2Nyb2xsYmFyIH0gZnJvbSAnbmd4LXNjcm9sbGJhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbCcsXG4gIHRlbXBsYXRlVXJsOiAnaW5wdXQtZGF0ZS10aW1lLWludGVydmFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXREYXRlVGltZUludGVydmFsQ29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dERhdGVUaW1lSW50ZXJ2YWxDb21wb25lbnQge1xuXG4gIHByaXZhdGUgX3ZhbHVlOiBUaW1lSW50ZXJ2YWxWYWx1ZVxuICBwcm90ZWN0ZWQgX3NlbGVjdGVkRGF0ZVJhbmdlOiBEYXRlUmFuZ2U8RGF0ZT47XG4gIHB1YmxpYyBzY3JvbGxTdHJhdGVneTogU2Nyb2xsU3RyYXRlZ3lcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdGltZXpvbmU6IHN0cmluZyA9ICdBbWVyaWNhL1Nhb19QYXVsbydcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0ZU1hc2s6IHN0cmluZyA9ICcwMC8wMC8wMDAwJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0aW1lTWFzazogc3RyaW5nID0gJzAwOjAwOjAwJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkYXRlRm9ybWF0OiBzdHJpbmcgPSAnREQvTU0vWVlZWSBISDptbTpzcydcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWw6IHN0cmluZ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwZXJpb2RMYWJlbDogc3RyaW5nID0gJ1NlbGVjdGVkIFJlbGF0aXZlIEludGVydmFsJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZWxhdGl2ZUxhYmVsOiBzdHJpbmcgPSAnUmVsYXRpdmUgVGltZSc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGFic29sdXRlTGFiZWw6IHN0cmluZyA9ICdBYnNvbHV0ZSBUaW1lJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdGFydERhdGVMYWJlbCA9ICdTdGFydCBEYXRlJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdGFydERhdGU6IERhdGU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHN0YXJ0VGltZUxhYmVsID0gJ1N0YXJ0IFRpbWUnXG5cbiAgQElucHV0KClcbiAgcHVibGljIHN0YXJ0VGltZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlbmRUaW1lTGFiZWwgPSAnRW5kIFRpbWUnXG5cbiAgQElucHV0KClcbiAgcHVibGljIGVuZFRpbWU6IHN0cmluZ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlbmREYXRlTGFiZWwgPSAnRW5kIERhdGUnXG5cbiAgQElucHV0KClcbiAgcHVibGljIGVuZERhdGU6IERhdGVcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2FsZW5kYXJNYXhEYXRlOiBEYXRlXG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhbGVuZGFyTWluRGF0ZTogRGF0ZVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYW5jZWxMYWJlbDogc3RyaW5nID0gJ0NhbmNlbCdcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXBwbHlMYWJlbDogc3RyaW5nID0gJ0FwcGx5J1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoaWRlVGltZSA9IGZhbHNlO1xuXG4gIGdldCB2YWx1ZSgpOiBUaW1lSW50ZXJ2YWxWYWx1ZSB7XG4gICAgaWYgKCF0aGlzLl92YWx1ZSkge1xuICAgICAgdGhpcy5fdmFsdWUgPSBuZXcgVGltZUludGVydmFsVmFsdWUodGhpcy50aW1lem9uZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogVGltZUludGVydmFsVmFsdWUpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMucmVmcmVzaFZhbHVlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoVmFsdWVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl92YWx1ZS5pbnRlcnZhbCkge1xuICAgICAgdGhpcy5zZWxlY3RlZEludGVydmFsID0gdGhpcy5fdmFsdWUuaW50ZXJ2YWw7XG4gICAgICB0aGlzLnJlc2V0RGF0ZXMoKVxuICAgIH0gZWxzZSBpZiAodGhpcy5fdmFsdWU/LmFic29sdXRlU3RhcnREYXRlIHx8IHRoaXMuX3ZhbHVlPy5hYnNvbHV0ZUVuZERhdGUpIHtcbiAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMuX3ZhbHVlPy5hYnNvbHV0ZVN0YXJ0RGF0ZSB8fCB0aGlzLnN0YXJ0RGF0ZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGFydERhdGUgPSB0aGlzLmRhdGVUb1N0cmluZyhzdGFydERhdGUpO1xuICAgICAgY29uc3QgZW5kRGF0ZSA9IHRoaXMuX3ZhbHVlPy5hYnNvbHV0ZUVuZERhdGUgfHwgdGhpcy5lbmREYXRlO1xuICAgICAgdGhpcy5zZWxlY3RlZEVuZERhdGUgPSB0aGlzLmRhdGVUb1N0cmluZyhlbmREYXRlKTtcbiAgICAgIHRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlID0gdGhpcy5nZXREYXRlUmFuZ2UodGhpcy5zdHJpbmdUb0RhdGUodGhpcy5zZWxlY3RlZFN0YXJ0RGF0ZSksIHRoaXMuc3RyaW5nVG9EYXRlKHRoaXMuc2VsZWN0ZWRFbmREYXRlKSk7XG4gICAgICBpZiAodGhpcy5fdmFsdWU/LmFic29sdXRlU3RhcnREYXRlKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTdGFydFRpbWUgPSB0aGlzLl92YWx1ZS5hYnNvbHV0ZVN0YXJ0RGF0ZS50b1RpbWVTdHJpbmcoKS5zcGxpdCgnICcpWzBdXG4gICAgICB9XG4gICAgICBpZiAodGhpcy52YWx1ZT8uYWJzb2x1dGVFbmREYXRlKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRFbmRUaW1lID0gdGhpcy52YWx1ZT8uYWJzb2x1dGVFbmREYXRlLnRvVGltZVN0cmluZygpLnNwbGl0KCcgJylbMF1cbiAgICAgIH1cbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGFydFRpbWUgPSB0aGlzLnNlbGVjdGVkU3RhcnRUaW1lIHx8IHRoaXMuc3RhcnRUaW1lO1xuICAgICAgdGhpcy5zZWxlY3RlZEVuZFRpbWUgPSB0aGlzLnNlbGVjdGVkRW5kVGltZSB8fCB0aGlzLmVuZFRpbWU7XG4gICAgICB0aGlzLnNlbGVjdGVkSW50ZXJ2YWwgPSB1bmRlZmluZWRcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgaW50ZXJ2YWxzOiBUaW1lSW50ZXJ2YWxbXVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxUaW1lSW50ZXJ2YWxWYWx1ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPFRpbWVJbnRlcnZhbFZhbHVlPigpXG5cbiAgcHVibGljIHNlbGVjdGVkSW50ZXJ2YWw6IFRpbWVJbnRlcnZhbDtcbiAgcHVibGljIHNlbGVjdGVkU3RhcnRUaW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBzZWxlY3RlZEVuZFRpbWU6IHN0cmluZztcbiAgcHVibGljIHNlbGVjdGVkU3RhcnREYXRlOiBzdHJpbmdcbiAgcHVibGljIHNlbGVjdGVkRW5kRGF0ZTogc3RyaW5nXG5cbiAgcHVibGljIGRyb3Bkb3duT3BlbjogYm9vbGVhblxuXG4gIEBWaWV3Q2hpbGQoJ2ludGVydmFsc0JhcicpIHNjcm9sbGJhclJlZjogTmdTY3JvbGxiYXJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25LZXlkb3duSGFuZGxlcigpOiB2b2lkIHtcbiAgICB0aGlzLmRyb3Bkb3duT3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzc286IFNjcm9sbFN0cmF0ZWd5T3B0aW9ucykge1xuICAgIHRoaXMuc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLnNzby5ibG9jaygpXG4gICAgdGhpcy5yZXNldERhdGVzKCk7XG4gIH1cblxuICBwdWJsaWMgb3BlbkRyb3BEb3duKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmRyb3Bkb3duT3BlbiA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5fdmFsdWUuaW50ZXJ2YWwpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJbnRlcnZhbCA9IHRoaXMuX3ZhbHVlLmludGVydmFsO1xuICAgICAgICB0aGlzLnNjcm9sbGJhclJlZi5zY3JvbGxUb0VsZW1lbnQoYCNhcGlwYXNzLWRhdGV0aW1lLWludGVydmFsLSR7c2VsZWN0ZWRJbnRlcnZhbC5pZH1gLCB7IGR1cmF0aW9uOiA4MDAgfSkudGhlbigpXG4gICAgICB9XG4gICAgfSlcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICB9XG5cbiAgcHVibGljIGNsb3NlRHJvcGRvd24oZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuY2FuY2VsKCk7XG4gICAgdGhpcy5kcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICB9XG5cbiAgcHVibGljIGlzU2VsZWN0ZWQoaW50ZXJ2YWw6IFRpbWVJbnRlcnZhbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpbnRlcnZhbD8uaWQgPT09IHRoaXMuc2VsZWN0ZWRJbnRlcnZhbD8uaWQ7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0SW50ZXJ2YWwoaW50ZXJ2YWw6IFRpbWVJbnRlcnZhbCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRJbnRlcnZhbCA9IGludGVydmFsO1xuICAgIHRoaXMucmVzZXREYXRlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldERhdGVzKCk6IHZvaWQge1xuICAgIHRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlID0gdGhpcy5nZXREYXRlUmFuZ2UodGhpcy5zdGFydERhdGUsIHRoaXMuZW5kRGF0ZSk7XG4gICAgdGhpcy5zZWxlY3RlZFN0YXJ0VGltZSA9IHRoaXMuc3RhcnRUaW1lXG4gICAgdGhpcy5zZWxlY3RlZEVuZFRpbWUgPSB0aGlzLmVuZFRpbWVcbiAgICB0aGlzLnNlbGVjdGVkU3RhcnREYXRlID0gdGhpcy5kYXRlVG9TdHJpbmcodGhpcy5zdGFydERhdGUpO1xuICAgIHRoaXMuc2VsZWN0ZWRFbmREYXRlID0gdGhpcy5kYXRlVG9TdHJpbmcodGhpcy5lbmREYXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkRhdGVSYW5nZUNoYW5nZShkYXRlOiBEYXRlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlPy5zdGFydCAmJiBkYXRlID4gdGhpcy5fc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnQgJiYgIXRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlLmVuZCkge1xuICAgICAgdGhpcy5fc2VsZWN0ZWREYXRlUmFuZ2UgPSB0aGlzLmdldERhdGVSYW5nZSh0aGlzLl9zZWxlY3RlZERhdGVSYW5nZS5zdGFydCwgZGF0ZSk7XG4gICAgICB0aGlzLnNlbGVjdGVkRW5kRGF0ZSA9IHRoaXMuZGF0ZVRvU3RyaW5nKGRhdGUpO1xuICAgICAgdGhpcy5zZWxlY3RlZEludGVydmFsID0gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZERhdGVSYW5nZSA9IHRoaXMuZ2V0RGF0ZVJhbmdlKGRhdGUsIHVuZGVmaW5lZClcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGFydERhdGUgPSB0aGlzLmRhdGVUb1N0cmluZyhkYXRlKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbnRlcnZhbCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRhdGVUb1N0cmluZyhkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZGF0ZSA/IG1vbWVudChkYXRlKS5mb3JtYXQodGhpcy5kYXRlRm9ybWF0KSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgc3RyaW5nVG9EYXRlKGRhdGU6IHN0cmluZyk6IERhdGUge1xuICAgIHJldHVybiBkYXRlID8gbW9tZW50KGRhdGUsIHRoaXMuZGF0ZUZvcm1hdCkudG9EYXRlKCkgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGF0ZVJhbmdlKHN0YXJ0RGF0ZTogRGF0ZSwgZW5kRGF0ZTogRGF0ZSk6IERhdGVSYW5nZTxEYXRlPiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZVJhbmdlKHN0YXJ0RGF0ZSA/IG1vbWVudChzdGFydERhdGUpLnRvRGF0ZSgpIDogdW5kZWZpbmVkLCBlbmREYXRlID8gbW9tZW50KGVuZERhdGUpLnRvRGF0ZSgpIDogdW5kZWZpbmVkKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGVSYW5nZTxEYXRlPihudWxsLCBudWxsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RhcnREYXRlQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zZWxlY3RlZERhdGVSYW5nZSA9IHRoaXMuZ2V0RGF0ZVJhbmdlKHRoaXMuc3RyaW5nVG9EYXRlKHRoaXMuc2VsZWN0ZWRTdGFydERhdGUpLCB0aGlzLnN0cmluZ1RvRGF0ZSh0aGlzLnNlbGVjdGVkRW5kRGF0ZSkpO1xuICAgIHRoaXMuc2VsZWN0ZWRJbnRlcnZhbCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBlbmREYXRlQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICBjb25zdCBzdGFydERhdGUgPSB0aGlzLnN0cmluZ1RvRGF0ZSh0aGlzLnNlbGVjdGVkU3RhcnREYXRlKTtcbiAgICBjb25zdCBlbmREYXRlID0gdGhpcy5zdHJpbmdUb0RhdGUodGhpcy5zZWxlY3RlZEVuZERhdGUpO1xuICAgIGlmIChlbmREYXRlIDwgc3RhcnREYXRlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRW5kRGF0ZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy5fc2VsZWN0ZWREYXRlUmFuZ2UgPSB0aGlzLmdldERhdGVSYW5nZShzdGFydERhdGUsIGVuZERhdGUpO1xuICAgIHRoaXMuc2VsZWN0ZWRJbnRlcnZhbCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5yZWZyZXNoVmFsdWVzKCk7XG4gICAgdGhpcy5kcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBhcHBseSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEludGVydmFsKSB7XG4gICAgICB0aGlzLl92YWx1ZS5pbnRlcnZhbCA9IHRoaXMuc2VsZWN0ZWRJbnRlcnZhbDtcbiAgICAgIHRoaXMuX3ZhbHVlLmFic29sdXRlU3RhcnREYXRlID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5fdmFsdWUuYWJzb2x1dGVFbmREYXRlID0gdW5kZWZpbmVkXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkU3RhcnREYXRlKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMuc3RyaW5nVG9EYXRlKHRoaXMuc2VsZWN0ZWRTdGFydERhdGUpO1xuICAgICAgICB0aGlzLmFwcGx5VGltZU9uRGF0ZShzdGFydERhdGUsIHRoaXMuc2VsZWN0ZWRTdGFydFRpbWUpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkU3RhcnRUaW1lID0gdGhpcy5zZWxlY3RlZFN0YXJ0VGltZSA/PyAnMDA6MDA6MDAnXG4gICAgICAgIHRoaXMuX3ZhbHVlLmFic29sdXRlU3RhcnREYXRlID0gbW9tZW50KHN0YXJ0RGF0ZSkudG9EYXRlKClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlLmFic29sdXRlU3RhcnREYXRlID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRFbmREYXRlKSB7XG4gICAgICAgIGNvbnN0IGVuZERhdGUgPSB0aGlzLnN0cmluZ1RvRGF0ZSh0aGlzLnNlbGVjdGVkRW5kRGF0ZSk7XG4gICAgICAgIHRoaXMuYXBwbHlUaW1lT25EYXRlKGVuZERhdGUsIHRoaXMuc2VsZWN0ZWRFbmRUaW1lKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEVuZFRpbWUgPSB0aGlzLnNlbGVjdGVkRW5kVGltZSA/PyAnMDA6MDA6MDAnXG4gICAgICAgIHRoaXMuX3ZhbHVlLmFic29sdXRlRW5kRGF0ZSA9IG1vbWVudChlbmREYXRlKS50b0RhdGUoKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fdmFsdWUuYWJzb2x1dGVFbmREYXRlID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgdGhpcy5fdmFsdWUuaW50ZXJ2YWwgPSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLl92YWx1ZSk7XG4gICAgdGhpcy5kcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlUaW1lT25EYXRlKGRhdGU6IERhdGUsIHRpbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aW1lKSB7XG4gICAgICBkYXRlLnNldEhvdXJzKHRoaXMuZ2V0SG91cnNGcm9tVGltZSh0aW1lKSlcbiAgICAgIGRhdGUuc2V0TWludXRlcyh0aGlzLmdldE1pbnV0ZXNGcm9tVGltZSh0aW1lKSlcbiAgICAgIGRhdGUuc2V0U2Vjb25kcyh0aGlzLmdldFNlY29uZHNGcm9tVGltZSh0aW1lKSlcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEhvdXJzRnJvbVRpbWUodGltZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHBhcnNlRmxvYXQodGltZS5zcGxpdCgnOicpWzBdKSB8fCAwO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0TWludXRlc0Zyb21UaW1lKHRpbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBwYXJzZUZsb2F0KHRpbWUuc3BsaXQoJzonKVsxXSkgfHwgMDtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFNlY29uZHNGcm9tVGltZSh0aW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gcGFyc2VGbG9hdCh0aW1lLnNwbGl0KCc6JylbMl0pIHx8IDA7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldElucHV0VGV4dCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLl92YWx1ZT8uaW50ZXJ2YWwpIHtcbiAgICAgIHJldHVybiB0aGlzLnBlcmlvZExhYmVsO1xuICAgIH1cbiAgICBjb25zdCBlbXB0eURhdGU6IHN0cmluZyA9IHRoaXMuaGlkZVRpbWUgPyAnX19fX19fX19fXycgOiAnX19fX19fX19fXyBfX19fX19fXyc7XG4gICAgbGV0IGZvcm1hdGVkVGV4dCA9ICcnO1xuICAgIGlmICh0aGlzLl92YWx1ZS5hYnNvbHV0ZVN0YXJ0RGF0ZSkge1xuICAgICAgZm9ybWF0ZWRUZXh0ICs9IHRoaXMuZGF0ZVRvU3RyaW5nKHRoaXMuX3ZhbHVlLmFic29sdXRlU3RhcnREYXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9ybWF0ZWRUZXh0ICs9IGVtcHR5RGF0ZVxuICAgIH1cbiAgICBmb3JtYXRlZFRleHQgKz0gJyAtICdcbiAgICBpZiAodGhpcy5fdmFsdWUuYWJzb2x1dGVFbmREYXRlKSB7XG4gICAgICBmb3JtYXRlZFRleHQgKz0gdGhpcy5kYXRlVG9TdHJpbmcodGhpcy5fdmFsdWUuYWJzb2x1dGVFbmREYXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9ybWF0ZWRUZXh0ICs9IGVtcHR5RGF0ZVxuICAgIH1cbiAgICByZXR1cm4gZm9ybWF0ZWRUZXh0O1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJpbnB1dC1kYXRlLXRpbWUtaW50ZXJ2YWxcIj5cbiAgPG1hdC1mb3JtLWZpZWxkIGNka092ZXJsYXlPcmlnaW4gI29yaWdpbj1cImNka092ZXJsYXlPcmlnaW5cIiBjbGFzcz1cImNsaWNrYWJsZVwiXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZHJvcGRvd25PcGVuID8gY2xvc2VEcm9wZG93bigkZXZlbnQpIDogb3BlbkRyb3BEb3duKCRldmVudClcIj5cbiAgICA8bWF0LWxhYmVsIGNsYXNzPVwibWRjLWZsb2F0aW5nLWxhYmVsLS1mbG9hdC1hYm92ZVwiIFtpbm5lckhUTUxdPVwibGFiZWxcIj48L21hdC1sYWJlbD5cbiAgICA8c3BhbiBjbGFzcz1cImludGVydmFsLWlucHV0XCI+XG4gICAgICA8ZGl2IG1hdFByZWZpeCBjbGFzcz1cInBlcmlvZC1iYWRnZXQgdGV4dC1wcmltYXJ5XCIgKm5nSWY9XCJ2YWx1ZT8uaW50ZXJ2YWxcIj5cbiAgICAgICAgPG1hdC1pY29uPmRhdGVfcmFuZ2U8L21hdC1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInBlcmlvZC10ZXh0XCIgW2lubmVySFRNTF09XCJ2YWx1ZT8uaW50ZXJ2YWw/LmxhYmVsXCI+PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8aW5wdXQgc3R5bGU9XCJkaXNwbGF5OiBmbGV4XCIgY2xhc3M9XCJjbGlja2FibGVcIiBtYXRJbnB1dCBbdmFsdWVdPVwiZ2V0SW5wdXRUZXh0KClcIiBbcmVhZG9ubHldPVwidHJ1ZVwiPlxuICAgIDwvc3Bhbj5cbiAgICA8bWF0LWljb24gY2xhc3M9XCJjbGlja2FibGUgdGV4dC10ZXJ0aWFyeVwiIG1hdEljb25TdWZmaXg+e3tkcm9wZG93bk9wZW4gPyAnZXhwYW5kX2xlc3MnIDogJ2V4cGFuZF9tb3JlJ319PC9tYXQtaWNvbj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5UGFuZWxDbGFzc109XCInaW5wdXQtZGF0ZS10aW1lLWludGVydmFsLW92ZXJsYXktcGFuZWwnXCJcbiAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVNjcm9sbFN0cmF0ZWd5XT1cInNjcm9sbFN0cmF0ZWd5XCJcbiAgICAgICAgICAgICAoYmFja2Ryb3BDbGljayk9XCJjbG9zZURyb3Bkb3duKCRldmVudClcIlxuICAgICAgICAgICAgIChvdmVybGF5T3V0c2lkZUNsaWNrKT1cImNsb3NlRHJvcGRvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwib3JpZ2luXCJcbiAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwiZHJvcGRvd25PcGVuXCI+XG4gIDxkaXYgY2xhc3M9XCJpbnB1dC1kYXRlLXRpbWUtaW50ZXJ2YWwtZHJvcGRvd25cIj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtb3B0aW9ucy1jb250YWluZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbnRlcnZhbHMtY29udGFpbmVyXCIgKm5nSWY9XCJ0aGlzLmludGVydmFsc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLXRleHRcIiAqbmdJZj1cInJlbGF0aXZlTGFiZWxcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlbGF0aXZlLXRleHRcIiBbaW5uZXJIVE1MXT1cInJlbGF0aXZlTGFiZWxcIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bmctc2Nyb2xsYmFyICNpbnRlcnZhbHNCYXIgY2xhc3M9XCJkYXRlLXRpbWUtaW50ZXJ2YWwtc2Nyb2xsYmFyXCIgW3Zpc2liaWxpdHldPVwiJ2Fsd2F5cydcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW50ZXJ2YWxcIlxuICAgICAgICAgICAgICAgW2lkXT1cIidhcGlwYXNzLWRhdGV0aW1lLWludGVydmFsLScgKyBpbnRlcnZhbC5pZFwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0SW50ZXJ2YWwoaW50ZXJ2YWwpXCJcbiAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaW50ZXJ2YWwtc2VsZWN0ZWQnOiBpc1NlbGVjdGVkKGludGVydmFsKX1cIlxuICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGludGVydmFsIG9mIHRoaXMuaW50ZXJ2YWxzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW50ZXJ2YWwtbGFiZWxcIj5cbiAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJpbnRlcnZhbC5sYWJlbFwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImludGVydmFsLWljb25cIiAqbmdJZj1cImlzU2VsZWN0ZWQoaW50ZXJ2YWwpXCI+XG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXNsaW0gdGV4dC1zZWNvbmRhcnlcIj5jaGVjazwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy1zY3JvbGxiYXI+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImNhbGVuZGFyLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsnb25seS1jYWxlbmRhcic6ICF0aGlzLmludGVydmFsc31cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci10ZXh0XCIgKm5nSWY9XCJhYnNvbHV0ZUxhYmVsXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhYnNvbHV0ZS10ZXh0XCIgW2lubmVySFRNTF09XCJhYnNvbHV0ZUxhYmVsXCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBpY2tlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwaWNrZXItZmllbGRzXCIgW25nQ2xhc3NdPVwieydwaWNrZXItb25seS1kYXRlJzogaGlkZVRpbWV9XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGlja2VyLWdyb3VwXCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFwaXBhc3MtaW5wdXQtdGV4dC1zbGltXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCBbaW5uZXJIVE1MXT1cInN0YXJ0RGF0ZUxhYmVsXCI+PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwic2VsZWN0ZWRTdGFydERhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICBbbWFza109XCJkYXRlTWFza1wiIFtkcm9wU3BlY2lhbENoYXJhY3RlcnNdPVwiZmFsc2VcIiAoYmx1cik9XCJzdGFydERhdGVDaGFuZ2VkKClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1zbGltIHRleHQtdGVydGlhcnlcIiBtYXRJY29uU3VmZml4PmRhdGVfcmFuZ2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFwaXBhc3MtaW5wdXQtdGV4dC1zbGltXCIgKm5nSWY9XCIhaGlkZVRpbWVcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIFtpbm5lckhUTUxdPVwic3RhcnRUaW1lTGFiZWxcIj48L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgW21hc2tdPVwidGltZU1hc2tcIiBbZHJvcFNwZWNpYWxDaGFyYWN0ZXJzXT1cImZhbHNlXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFN0YXJ0VGltZVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXNsaW0gdGV4dC10ZXJ0aWFyeVwiIG1hdEljb25TdWZmaXg+c2NoZWR1bGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGlja2VyLWdyb3VwXCI+XG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFwaXBhc3MtaW5wdXQtdGV4dC1zbGltXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCBbaW5uZXJIVE1MXT1cImVuZERhdGVMYWJlbFwiPjwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRW5kRGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFttYXNrXT1cImRhdGVNYXNrXCIgW2Ryb3BTcGVjaWFsQ2hhcmFjdGVyc109XCJmYWxzZVwiIChibHVyKT1cImVuZERhdGVDaGFuZ2VkKClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1zbGltIHRleHQtdGVydGlhcnlcIiBtYXRJY29uU3VmZml4PmRhdGVfcmFuZ2U8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFwaXBhc3MtaW5wdXQtdGV4dC1zbGltXCIgKm5nSWY9XCIhaGlkZVRpbWVcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIFtpbm5lckhUTUxdPVwiZW5kVGltZUxhYmVsXCI+PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFttYXNrXT1cInRpbWVNYXNrXCIgW2Ryb3BTcGVjaWFsQ2hhcmFjdGVyc109XCJmYWxzZVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRFbmRUaW1lXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tc2xpbSB0ZXh0LXRlcnRpYXJ5XCIgbWF0SWNvblN1ZmZpeD5zY2hlZHVsZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bWF0LWNhbGVuZGFyXG4gICAgICAgICAgICBbc2VsZWN0ZWRdPVwiX3NlbGVjdGVkRGF0ZVJhbmdlXCJcbiAgICAgICAgICAgIFttYXhEYXRlXT1cImNhbGVuZGFyTWF4RGF0ZVwiXG4gICAgICAgICAgICBbbWluRGF0ZV09XCJjYWxlbmRhck1pbkRhdGVcIlxuICAgICAgICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cIm9uRGF0ZVJhbmdlQ2hhbmdlKCRldmVudClcIj48L21hdC1jYWxlbmRhcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZGF0ZS10aW1lLWFjdGlvbnNcIj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJhY3Rpb24tYnV0dG9uIGRyb3Bkb3duLWNhbmNlbC1idXR0b25cIiAqbmdJZj1cImNhbmNlbExhYmVsXCIgKGNsaWNrKT1cImNhbmNlbCgpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZHJvcGRvd24tY2FuY2VsLWJ1dHRvbi10ZXh0XCIgW2lubmVySFRNTF09XCJjYW5jZWxMYWJlbFwiPjwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImFjdGlvbi1idXR0b24gZHJvcGRvd24tYXBwbHktYnV0dG9uXCIgKm5nSWY9XCJhcHBseUxhYmVsXCIgKGNsaWNrKT1cImFwcGx5KClcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJkcm9wZG93bi1jYW5jZWwtYnV0dG9uLXRleHRcIiBbaW5uZXJIVE1MXT1cImFwcGx5TGFiZWxcIj48L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
319
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZGF0ZS10aW1lLWludGVydmFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0cy9zcmMvaW5wdXQtZGF0ZS10aW1lLWludGVydmFsL2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbC9pbnB1dC1kYXRlLXRpbWUtaW50ZXJ2YWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pELE9BQU8sRUFBa0IscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RSxPQUFPLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7OztBQUU1QyxNQVdhLDhCQUE4QjtJQStIdEI7SUE3SFgsTUFBTSxDQUFtQjtJQUN2QixrQkFBa0IsQ0FBa0I7SUFDdkMsY0FBYyxDQUFnQjtJQUc5QixRQUFRLEdBQVcsbUJBQW1CLENBQUE7SUFHdEMsUUFBUSxHQUFXLFlBQVksQ0FBQTtJQUcvQixRQUFRLEdBQVcsVUFBVSxDQUFBO0lBRzdCLFVBQVUsR0FBVyxxQkFBcUIsQ0FBQTtJQUcxQyxLQUFLLENBQVE7SUFHYixXQUFXLEdBQVcs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QUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxjQUFjO3NCQURwQixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxZQUFZO3NCQURsQixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxZQUFZO3NCQURsQixLQUFLO2dCQUlDLE9BQU87c0JBRGIsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUlDLGVBQWU7c0JBRHJCLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFXRixLQUFLO3NCQURSLEtBQUs7Z0JBNkJDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxXQUFXO3NCQURqQixNQUFNO2dCQWFvQixZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWM7Z0JBRWxCLGdCQUFnQjtzQkFEdEIsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgeyBUaW1lSW50ZXJ2YWwgfSBmcm9tICcuL2RlZmF1bHQtaW50ZXJ2YWwvdGltZS1pbnRlcnZhbCc7XG5pbXBvcnQgeyBUaW1lSW50ZXJ2YWxWYWx1ZSB9IGZyb20gJy4vbW9kZWwvZGF0ZS10aW1lLWludGVybmFsLm1vZGVsJztcbmltcG9ydCB7IERhdGVSYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgU2Nyb2xsU3RyYXRlZ3ksIFNjcm9sbFN0cmF0ZWd5T3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcbmltcG9ydCB7IE5nU2Nyb2xsYmFyIH0gZnJvbSAnbmd4LXNjcm9sbGJhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbCcsXG4gIHRlbXBsYXRlVXJsOiAnaW5wdXQtZGF0ZS10aW1lLWludGVydmFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5wdXREYXRlVGltZUludGVydmFsQ29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dERhdGVUaW1lSW50ZXJ2YWxDb21wb25lbnQge1xuXG4gIHByaXZhdGUgX3ZhbHVlOiBUaW1lSW50ZXJ2YWxWYWx1ZVxuICBwcm90ZWN0ZWQgX3NlbGVjdGVkRGF0ZVJhbmdlOiBEYXRlUmFuZ2U8RGF0ZT47XG4gIHB1YmxpYyBzY3JvbGxTdHJhdGVneTogU2Nyb2xsU3RyYXRlZ3lcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdGltZXpvbmU6IHN0cmluZyA9ICdBbWVyaWNhL1Nhb19QYXVsbydcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0ZU1hc2s6IHN0cmluZyA9ICcwMC8wMC8wMDAwJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0aW1lTWFzazogc3RyaW5nID0gJzAwOjAwOjAwJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkYXRlRm9ybWF0OiBzdHJpbmcgPSAnREQvTU0vWVlZWSBISDptbTpzcydcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWw6IHN0cmluZ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwZXJpb2RMYWJlbDogc3RyaW5nID0gJ1NlbGVjdGVkIFJlbGF0aXZlIEludGVydmFsJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZWxhdGl2ZUxhYmVsOiBzdHJpbmcgPSAnUmVsYXRpdmUgVGltZSc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGFic29sdXRlTGFiZWw6IHN0cmluZyA9ICdBYnNvbHV0ZSBUaW1lJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdGFydERhdGVMYWJlbCA9ICdTdGFydCBEYXRlJ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzdGFydERhdGU6IERhdGU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHN0YXJ0VGltZUxhYmVsID0gJ1N0YXJ0IFRpbWUnXG5cbiAgQElucHV0KClcbiAgcHVibGljIHN0YXJ0VGltZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlbmRUaW1lTGFiZWwgPSAnRW5kIFRpbWUnXG5cbiAgQElucHV0KClcbiAgcHVibGljIGVuZFRpbWU6IHN0cmluZ1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlbmREYXRlTGFiZWwgPSAnRW5kIERhdGUnXG5cbiAgQElucHV0KClcbiAgcHVibGljIGVuZERhdGU6IERhdGVcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY2FsZW5kYXJNYXhEYXRlOiBEYXRlXG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhbGVuZGFyTWluRGF0ZTogRGF0ZVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYW5jZWxMYWJlbDogc3RyaW5nID0gJ0NhbmNlbCdcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXBwbHlMYWJlbDogc3RyaW5nID0gJ0FwcGx5J1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoaWRlVGltZSA9IGZhbHNlO1xuXG4gIGdldCB2YWx1ZSgpOiBUaW1lSW50ZXJ2YWxWYWx1ZSB7XG4gICAgaWYgKCF0aGlzLl92YWx1ZSkge1xuICAgICAgdGhpcy5fdmFsdWUgPSBuZXcgVGltZUludGVydmFsVmFsdWUodGhpcy50aW1lem9uZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogVGltZUludGVydmFsVmFsdWUpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMucmVmcmVzaFZhbHVlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoVmFsdWVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl92YWx1ZS5pbnRlcnZhbCkge1xuICAgICAgdGhpcy5zZWxlY3RlZEludGVydmFsID0gdGhpcy5fdmFsdWUuaW50ZXJ2YWw7XG4gICAgICB0aGlzLnJlc2V0RGF0ZXMoKVxuICAgIH0gZWxzZSBpZiAodGhpcy5fdmFsdWU/LmFic29sdXRlU3RhcnREYXRlIHx8IHRoaXMuX3ZhbHVlPy5hYnNvbHV0ZUVuZERhdGUpIHtcbiAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMuX3ZhbHVlPy5hYnNvbHV0ZVN0YXJ0RGF0ZSB8fCB0aGlzLnN0YXJ0RGF0ZTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGFydERhdGUgPSB0aGlzLmRhdGVUb1N0cmluZyhzdGFydERhdGUpO1xuICAgICAgY29uc3QgZW5kRGF0ZSA9IHRoaXMuX3ZhbHVlPy5hYnNvbHV0ZUVuZERhdGUgfHwgdGhpcy5lbmREYXRlO1xuICAgICAgdGhpcy5zZWxlY3RlZEVuZERhdGUgPSB0aGlzLmRhdGVUb1N0cmluZyhlbmREYXRlKTtcbiAgICAgIHRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlID0gdGhpcy5nZXREYXRlUmFuZ2UodGhpcy5zdHJpbmdUb0RhdGUodGhpcy5zZWxlY3RlZFN0YXJ0RGF0ZSksIHRoaXMuc3RyaW5nVG9EYXRlKHRoaXMuc2VsZWN0ZWRFbmREYXRlKSk7XG4gICAgICBpZiAodGhpcy5fdmFsdWU/LmFic29sdXRlU3RhcnREYXRlKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTdGFydFRpbWUgPSB0aGlzLl92YWx1ZS5hYnNvbHV0ZVN0YXJ0RGF0ZS50b1RpbWVTdHJpbmcoKS5zcGxpdCgnICcpWzBdXG4gICAgICB9XG4gICAgICBpZiAodGhpcy52YWx1ZT8uYWJzb2x1dGVFbmREYXRlKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRFbmRUaW1lID0gdGhpcy52YWx1ZT8uYWJzb2x1dGVFbmREYXRlLnRvVGltZVN0cmluZygpLnNwbGl0KCcgJylbMF1cbiAgICAgIH1cbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGFydFRpbWUgPSB0aGlzLnNlbGVjdGVkU3RhcnRUaW1lIHx8IHRoaXMuc3RhcnRUaW1lO1xuICAgICAgdGhpcy5zZWxlY3RlZEVuZFRpbWUgPSB0aGlzLnNlbGVjdGVkRW5kVGltZSB8fCB0aGlzLmVuZFRpbWU7XG4gICAgICB0aGlzLnNlbGVjdGVkSW50ZXJ2YWwgPSB1bmRlZmluZWRcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgaW50ZXJ2YWxzOiBUaW1lSW50ZXJ2YWxbXVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxUaW1lSW50ZXJ2YWxWYWx1ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPFRpbWVJbnRlcnZhbFZhbHVlPigpXG5cbiAgcHVibGljIHNlbGVjdGVkSW50ZXJ2YWw6IFRpbWVJbnRlcnZhbDtcbiAgcHVibGljIHNlbGVjdGVkU3RhcnRUaW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBzZWxlY3RlZEVuZFRpbWU6IHN0cmluZztcbiAgcHVibGljIHNlbGVjdGVkU3RhcnREYXRlOiBzdHJpbmdcbiAgcHVibGljIHNlbGVjdGVkRW5kRGF0ZTogc3RyaW5nXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdFN0YXJ0T2ZEYXlUaW1lOiBzdHJpbmcgPSAnMDA6MDA6MDAnO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRFbmRPZkRheVRpbWU6IHN0cmluZyA9ICcyMzo1OTo1OSc7XG5cbiAgcHVibGljIGRyb3Bkb3duT3BlbjogYm9vbGVhblxuXG4gIEBWaWV3Q2hpbGQoJ2ludGVydmFsc0JhcicpIHNjcm9sbGJhclJlZjogTmdTY3JvbGxiYXJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUnLCBbJyRldmVudCddKVxuICBwdWJsaWMgb25LZXlkb3duSGFuZGxlcigpOiB2b2lkIHtcbiAgICB0aGlzLmRyb3Bkb3duT3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzc286IFNjcm9sbFN0cmF0ZWd5T3B0aW9ucykge1xuICAgIHRoaXMuc2Nyb2xsU3RyYXRlZ3kgPSB0aGlzLnNzby5ibG9jaygpXG4gICAgdGhpcy5yZXNldERhdGVzKCk7XG4gIH1cblxuICBwdWJsaWMgb3BlbkRyb3BEb3duKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmRyb3Bkb3duT3BlbiA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5fdmFsdWUuaW50ZXJ2YWwpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRJbnRlcnZhbCA9IHRoaXMuX3ZhbHVlLmludGVydmFsO1xuICAgICAgICB0aGlzLnNjcm9sbGJhclJlZi5zY3JvbGxUb0VsZW1lbnQoYCNhcGlwYXNzLWRhdGV0aW1lLWludGVydmFsLSR7c2VsZWN0ZWRJbnRlcnZhbC5pZH1gLCB7IGR1cmF0aW9uOiA4MDAgfSkudGhlbigpXG4gICAgICB9XG4gICAgfSlcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICB9XG5cbiAgcHVibGljIGNsb3NlRHJvcGRvd24oZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuY2FuY2VsKCk7XG4gICAgdGhpcy5kcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICB9XG5cbiAgcHVibGljIGlzU2VsZWN0ZWQoaW50ZXJ2YWw6IFRpbWVJbnRlcnZhbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpbnRlcnZhbD8uaWQgPT09IHRoaXMuc2VsZWN0ZWRJbnRlcnZhbD8uaWQ7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0SW50ZXJ2YWwoaW50ZXJ2YWw6IFRpbWVJbnRlcnZhbCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRJbnRlcnZhbCA9IGludGVydmFsO1xuICAgIHRoaXMucmVzZXREYXRlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldERhdGVzKCk6IHZvaWQge1xuICAgIHRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlID0gdGhpcy5nZXREYXRlUmFuZ2UodGhpcy5zdGFydERhdGUsIHRoaXMuZW5kRGF0ZSk7XG4gICAgdGhpcy5zZWxlY3RlZFN0YXJ0VGltZSA9IHRoaXMuc3RhcnRUaW1lXG4gICAgdGhpcy5zZWxlY3RlZEVuZFRpbWUgPSB0aGlzLmVuZFRpbWVcbiAgICB0aGlzLnNlbGVjdGVkU3RhcnREYXRlID0gdGhpcy5kYXRlVG9TdHJpbmcodGhpcy5zdGFydERhdGUpO1xuICAgIHRoaXMuc2VsZWN0ZWRFbmREYXRlID0gdGhpcy5kYXRlVG9TdHJpbmcodGhpcy5lbmREYXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkRhdGVSYW5nZUNoYW5nZShkYXRlOiBEYXRlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlPy5zdGFydCAmJiBkYXRlID4gdGhpcy5fc2VsZWN0ZWREYXRlUmFuZ2Uuc3RhcnQgJiYgIXRoaXMuX3NlbGVjdGVkRGF0ZVJhbmdlLmVuZCkge1xuICAgICAgdGhpcy5fc2VsZWN0ZWREYXRlUmFuZ2UgPSB0aGlzLmdldERhdGVSYW5nZSh0aGlzLl9zZWxlY3RlZERhdGVSYW5nZS5zdGFydCwgZGF0ZSk7XG4gICAgICB0aGlzLnNlbGVjdGVkRW5kRGF0ZSA9IHRoaXMuZGF0ZVRvU3RyaW5nKGRhdGUpO1xuICAgICAgdGhpcy5zZWxlY3RlZEludGVydmFsID0gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZERhdGVSYW5nZSA9IHRoaXMuZ2V0RGF0ZVJhbmdlKGRhdGUsIHVuZGVmaW5lZClcbiAgICAgIHRoaXMuc2VsZWN0ZWRTdGFydERhdGUgPSB0aGlzLmRhdGVUb1N0cmluZyhkYXRlKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJbnRlcnZhbCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRhdGVUb1N0cmluZyhkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZGF0ZSA/IG1vbWVudChkYXRlKS5mb3JtYXQodGhpcy5kYXRlRm9ybWF0KSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgc3RyaW5nVG9EYXRlKGRhdGU6IHN0cmluZyk6IERhdGUge1xuICAgIHJldHVybiBkYXRlID8gbW9tZW50KGRhdGUsIHRoaXMuZGF0ZUZvcm1hdCkudG9EYXRlKCkgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0RGF0ZVJhbmdlKHN0YXJ0RGF0ZTogRGF0ZSwgZW5kRGF0ZTogRGF0ZSk6IERhdGVSYW5nZTxEYXRlPiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZVJhbmdlKHN0YXJ0RGF0ZSA/IG1vbWVudChzdGFydERhdGUpLnRvRGF0ZSgpIDogdW5kZWZpbmVkLCBlbmREYXRlID8gbW9tZW50KGVuZERhdGUpLnRvRGF0ZSgpIDogdW5kZWZpbmVkKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gbmV3IERhdGVSYW5nZTxEYXRlPihudWxsLCBudWxsKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RhcnREYXRlQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zZWxlY3RlZERhdGVSYW5nZSA9IHRoaXMuZ2V0RGF0ZVJhbmdlKHRoaXMuc3RyaW5nVG9EYXRlKHRoaXMuc2VsZWN0ZWRTdGFydERhdGUpLCB0aGlzLnN0cmluZ1RvRGF0ZSh0aGlzLnNlbGVjdGVkRW5kRGF0ZSkpO1xuICAgIHRoaXMuc2VsZWN0ZWRJbnRlcnZhbCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBlbmREYXRlQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICBjb25zdCBzdGFydERhdGUgPSB0aGlzLnN0cmluZ1RvRGF0ZSh0aGlzLnNlbGVjdGVkU3RhcnREYXRlKTtcbiAgICBjb25zdCBlbmREYXRlID0gdGhpcy5zdHJpbmdUb0RhdGUodGhpcy5zZWxlY3RlZEVuZERhdGUpO1xuICAgIGlmIChlbmREYXRlIDwgc3RhcnREYXRlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRW5kRGF0ZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy5fc2VsZWN0ZWREYXRlUmFuZ2UgPSB0aGlzLmdldERhdGVSYW5nZShzdGFydERhdGUsIGVuZERhdGUpO1xuICAgIHRoaXMuc2VsZWN0ZWRJbnRlcnZhbCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5yZWZyZXNoVmFsdWVzKCk7XG4gICAgdGhpcy5kcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBhcHBseSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEludGVydmFsKSB7XG4gICAgICB0aGlzLl92YWx1ZS5pbnRlcnZhbCA9IHRoaXMuc2VsZWN0ZWRJbnRlcnZhbDtcbiAgICAgIHRoaXMuX3ZhbHVlLmFic29sdXRlU3RhcnREYXRlID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5fdmFsdWUuYWJzb2x1dGVFbmREYXRlID0gdW5kZWZpbmVkXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkU3RhcnREYXRlKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHRoaXMuc3RyaW5nVG9EYXRlKHRoaXMuc2VsZWN0ZWRTdGFydERhdGUpO1xuICAgICAgICB0aGlzLmFwcGx5VGltZU9uRGF0ZShzdGFydERhdGUsIHRoaXMuc2VsZWN0ZWRTdGFydFRpbWUgfHwgdGhpcy5kZWZhdWx0U3RhcnRPZkRheVRpbWUpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkU3RhcnRUaW1lID0gdGhpcy5zZWxlY3RlZFN0YXJ0VGltZSA/PyB0aGlzLmRlZmF1bHRTdGFydE9mRGF5VGltZVxuICAgICAgICB0aGlzLl92YWx1ZS5hYnNvbHV0ZVN0YXJ0RGF0ZSA9IG1vbWVudChzdGFydERhdGUpLnRvRGF0ZSgpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl92YWx1ZS5hYnNvbHV0ZVN0YXJ0RGF0ZSA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkRW5kRGF0ZSkge1xuICAgICAgICBjb25zdCBlbmREYXRlID0gdGhpcy5zdHJpbmdUb0RhdGUodGhpcy5zZWxlY3RlZEVuZERhdGUpO1xuICAgICAgICB0aGlzLmFwcGx5VGltZU9uRGF0ZShlbmREYXRlLCB0aGlzLnNlbGVjdGVkRW5kVGltZSB8fCB0aGlzLmRlZmF1bHRFbmRPZkRheVRpbWUpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRW5kVGltZSA9IHRoaXMuc2VsZWN0ZWRFbmRUaW1lID8/IHRoaXMuZGVmYXVsdEVuZE9mRGF5VGltZVxuICAgICAgICB0aGlzLl92YWx1ZS5hYnNvbHV0ZUVuZERhdGUgPSBtb21lbnQoZW5kRGF0ZSkudG9EYXRlKClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3ZhbHVlLmFic29sdXRlRW5kRGF0ZSA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHRoaXMuX3ZhbHVlLmludGVydmFsID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy5fdmFsdWUpO1xuICAgIHRoaXMuZHJvcGRvd25PcGVuID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5VGltZU9uRGF0ZShkYXRlOiBEYXRlLCB0aW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGltZSkge1xuICAgICAgZGF0ZS5zZXRIb3Vycyh0aGlzLmdldEhvdXJzRnJvbVRpbWUodGltZSkpXG4gICAgICBkYXRlLnNldE1pbnV0ZXModGhpcy5nZXRNaW51dGVzRnJvbVRpbWUodGltZSkpXG4gICAgICBkYXRlLnNldFNlY29uZHModGhpcy5nZXRTZWNvbmRzRnJvbVRpbWUodGltZSkpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRIb3Vyc0Zyb21UaW1lKHRpbWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBwYXJzZUZsb2F0KHRpbWUuc3BsaXQoJzonKVswXSkgfHwgMDtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldE1pbnV0ZXNGcm9tVGltZSh0aW1lOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gcGFyc2VGbG9hdCh0aW1lLnNwbGl0KCc6JylbMV0pIHx8IDA7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRTZWNvbmRzRnJvbVRpbWUodGltZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHBhcnNlRmxvYXQodGltZS5zcGxpdCgnOicpWzJdKSB8fCAwO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRJbnB1dFRleHQoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5fdmFsdWU/LmludGVydmFsKSB7XG4gICAgICByZXR1cm4gdGhpcy5wZXJpb2RMYWJlbDtcbiAgICB9XG4gICAgY29uc3QgZW1wdHlEYXRlOiBzdHJpbmcgPSB0aGlzLmhpZGVUaW1lID8gJ19fX19fX19fX18nIDogJ19fX19fX19fX18gX19fX19fX18nO1xuICAgIGxldCBmb3JtYXRlZFRleHQgPSAnJztcbiAgICBpZiAodGhpcy5fdmFsdWUuYWJzb2x1dGVTdGFydERhdGUpIHtcbiAgICAgIGZvcm1hdGVkVGV4dCArPSB0aGlzLmRhdGVUb1N0cmluZyh0aGlzLl92YWx1ZS5hYnNvbHV0ZVN0YXJ0RGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm1hdGVkVGV4dCArPSBlbXB0eURhdGVcbiAgICB9XG4gICAgZm9ybWF0ZWRUZXh0ICs9ICcgLSAnXG4gICAgaWYgKHRoaXMuX3ZhbHVlLmFic29sdXRlRW5kRGF0ZSkge1xuICAgICAgZm9ybWF0ZWRUZXh0ICs9IHRoaXMuZGF0ZVRvU3RyaW5nKHRoaXMuX3ZhbHVlLmFic29sdXRlRW5kRGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZvcm1hdGVkVGV4dCArPSBlbXB0eURhdGVcbiAgICB9XG4gICAgcmV0dXJuIGZvcm1hdGVkVGV4dDtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiaW5wdXQtZGF0ZS10aW1lLWludGVydmFsXCI+XG4gIDxtYXQtZm9ybS1maWVsZCBjZGtPdmVybGF5T3JpZ2luICNvcmlnaW49XCJjZGtPdmVybGF5T3JpZ2luXCIgY2xhc3M9XCJjbGlja2FibGVcIlxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRyb3Bkb3duT3BlbiA/IGNsb3NlRHJvcGRvd24oJGV2ZW50KSA6IG9wZW5Ecm9wRG93bigkZXZlbnQpXCI+XG4gICAgPG1hdC1sYWJlbCBjbGFzcz1cIm1kYy1mbG9hdGluZy1sYWJlbC0tZmxvYXQtYWJvdmVcIiBbaW5uZXJIVE1MXT1cImxhYmVsXCI+PC9tYXQtbGFiZWw+XG4gICAgPHNwYW4gY2xhc3M9XCJpbnRlcnZhbC1pbnB1dFwiPlxuICAgICAgPGRpdiBtYXRQcmVmaXggY2xhc3M9XCJwZXJpb2QtYmFkZ2V0IHRleHQtcHJpbWFyeVwiICpuZ0lmPVwidmFsdWU/LmludGVydmFsXCI+XG4gICAgICAgIDxtYXQtaWNvbj5kYXRlX3JhbmdlPC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJwZXJpb2QtdGV4dFwiIFtpbm5lckhUTUxdPVwidmFsdWU/LmludGVydmFsPy5sYWJlbFwiPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGlucHV0IHN0eWxlPVwiZGlzcGxheTogZmxleFwiIGNsYXNzPVwiY2xpY2thYmxlXCIgbWF0SW5wdXQgW3ZhbHVlXT1cImdldElucHV0VGV4dCgpXCIgW3JlYWRvbmx5XT1cInRydWVcIj5cbiAgICA8L3NwYW4+XG4gICAgPG1hdC1pY29uIGNsYXNzPVwiY2xpY2thYmxlIHRleHQtdGVydGlhcnlcIiBtYXRJY29uU3VmZml4Pnt7ZHJvcGRvd25PcGVuID8gJ2V4cGFuZF9sZXNzJyA6ICdleHBhbmRfbW9yZSd9fTwvbWF0LWljb24+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlIGNka0Nvbm5lY3RlZE92ZXJsYXlcbiAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBhbmVsQ2xhc3NdPVwiJ2lucHV0LWRhdGUtdGltZS1pbnRlcnZhbC1vdmVybGF5LXBhbmVsJ1wiXG4gICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlTY3JvbGxTdHJhdGVneV09XCJzY3JvbGxTdHJhdGVneVwiXG4gICAgICAgICAgICAgKGJhY2tkcm9wQ2xpY2spPVwiY2xvc2VEcm9wZG93bigkZXZlbnQpXCJcbiAgICAgICAgICAgICAob3ZlcmxheU91dHNpZGVDbGljayk9XCJjbG9zZURyb3Bkb3duKCRldmVudClcIlxuICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cIm9yaWdpblwiXG4gICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cImRyb3Bkb3duT3BlblwiPlxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtZGF0ZS10aW1lLWludGVydmFsLWRyb3Bkb3duXCI+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0LW9wdGlvbnMtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW50ZXJ2YWxzLWNvbnRhaW5lclwiICpuZ0lmPVwidGhpcy5pbnRlcnZhbHNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci10ZXh0XCIgKm5nSWY9XCJyZWxhdGl2ZUxhYmVsXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZWxhdGl2ZS10ZXh0XCIgW2lubmVySFRNTF09XCJyZWxhdGl2ZUxhYmVsXCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLXNjcm9sbGJhciAjaW50ZXJ2YWxzQmFyIGNsYXNzPVwiZGF0ZS10aW1lLWludGVydmFsLXNjcm9sbGJhclwiIFt2aXNpYmlsaXR5XT1cIidhbHdheXMnXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImludGVydmFsXCJcbiAgICAgICAgICAgICAgIFtpZF09XCInYXBpcGFzcy1kYXRldGltZS1pbnRlcnZhbC0nICsgaW50ZXJ2YWwuaWRcIlxuICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdEludGVydmFsKGludGVydmFsKVwiXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2ludGVydmFsLXNlbGVjdGVkJzogaXNTZWxlY3RlZChpbnRlcnZhbCl9XCJcbiAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpbnRlcnZhbCBvZiB0aGlzLmludGVydmFsc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImludGVydmFsLWxhYmVsXCI+XG4gICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiaW50ZXJ2YWwubGFiZWxcIj48L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnRlcnZhbC1pY29uXCIgKm5nSWY9XCJpc1NlbGVjdGVkKGludGVydmFsKVwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1zbGltIHRleHQtc2Vjb25kYXJ5XCI+Y2hlY2s8L21hdC1pY29uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctc2Nyb2xsYmFyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJjYWxlbmRhci1jb250YWluZXJcIiBbbmdDbGFzc109XCJ7J29ubHktY2FsZW5kYXInOiAhdGhpcy5pbnRlcnZhbHN9XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItdGV4dFwiICpuZ0lmPVwiYWJzb2x1dGVMYWJlbFwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWJzb2x1dGUtdGV4dFwiIFtpbm5lckhUTUxdPVwiYWJzb2x1dGVMYWJlbFwiPjwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwaWNrZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGlja2VyLWZpZWxkc1wiIFtuZ0NsYXNzXT1cInsncGlja2VyLW9ubHktZGF0ZSc6IGhpZGVUaW1lfVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBpY2tlci1ncm91cFwiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhcGlwYXNzLWlucHV0LXRleHQtc2xpbVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgW2lubmVySFRNTF09XCJzdGFydERhdGVMYWJlbFwiPjwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkU3RhcnREYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW21hc2tdPVwiZGF0ZU1hc2tcIiBbZHJvcFNwZWNpYWxDaGFyYWN0ZXJzXT1cImZhbHNlXCIgKGJsdXIpPVwic3RhcnREYXRlQ2hhbmdlZCgpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tc2xpbSB0ZXh0LXRlcnRpYXJ5XCIgbWF0SWNvblN1ZmZpeD5kYXRlX3JhbmdlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhcGlwYXNzLWlucHV0LXRleHQtc2xpbVwiICpuZ0lmPVwiIWhpZGVUaW1lXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCBbaW5uZXJIVE1MXT1cInN0YXJ0VGltZUxhYmVsXCI+PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFttYXNrXT1cInRpbWVNYXNrXCIgW2Ryb3BTcGVjaWFsQ2hhcmFjdGVyc109XCJmYWxzZVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWRTdGFydFRpbWVcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1zbGltIHRleHQtdGVydGlhcnlcIiBtYXRJY29uU3VmZml4PnNjaGVkdWxlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBpY2tlci1ncm91cFwiPlxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhcGlwYXNzLWlucHV0LXRleHQtc2xpbVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgW2lubmVySFRNTF09XCJlbmREYXRlTGFiZWxcIj48L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEVuZERhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICBbbWFza109XCJkYXRlTWFza1wiIFtkcm9wU3BlY2lhbENoYXJhY3RlcnNdPVwiZmFsc2VcIiAoYmx1cik9XCJlbmREYXRlQ2hhbmdlZCgpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tc2xpbSB0ZXh0LXRlcnRpYXJ5XCIgbWF0SWNvblN1ZmZpeD5kYXRlX3JhbmdlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhcGlwYXNzLWlucHV0LXRleHQtc2xpbVwiICpuZ0lmPVwiIWhpZGVUaW1lXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1sYWJlbCBbaW5uZXJIVE1MXT1cImVuZFRpbWVMYWJlbFwiPjwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbbWFza109XCJ0aW1lTWFza1wiIFtkcm9wU3BlY2lhbENoYXJhY3RlcnNdPVwiZmFsc2VcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRW5kVGltZVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXNsaW0gdGV4dC10ZXJ0aWFyeVwiIG1hdEljb25TdWZmaXg+c2NoZWR1bGU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPG1hdC1jYWxlbmRhclxuICAgICAgICAgICAgW3NlbGVjdGVkXT1cIl9zZWxlY3RlZERhdGVSYW5nZVwiXG4gICAgICAgICAgICBbbWF4RGF0ZV09XCJjYWxlbmRhck1heERhdGVcIlxuICAgICAgICAgICAgW21pbkRhdGVdPVwiY2FsZW5kYXJNaW5EYXRlXCJcbiAgICAgICAgICAgIChzZWxlY3RlZENoYW5nZSk9XCJvbkRhdGVSYW5nZUNoYW5nZSgkZXZlbnQpXCI+PC9tYXQtY2FsZW5kYXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImlucHV0LWRhdGUtdGltZS1hY3Rpb25zXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYWN0aW9uLWJ1dHRvbiBkcm9wZG93bi1jYW5jZWwtYnV0dG9uXCIgKm5nSWY9XCJjYW5jZWxMYWJlbFwiIChjbGljayk9XCJjYW5jZWwoKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImRyb3Bkb3duLWNhbmNlbC1idXR0b24tdGV4dFwiIFtpbm5lckhUTUxdPVwiY2FuY2VsTGFiZWxcIj48L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJhY3Rpb24tYnV0dG9uIGRyb3Bkb3duLWFwcGx5LWJ1dHRvblwiICpuZ0lmPVwiYXBwbHlMYWJlbFwiIChjbGljayk9XCJhcHBseSgpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZHJvcGRvd24tY2FuY2VsLWJ1dHRvbi10ZXh0XCIgW2lubmVySFRNTF09XCJhcHBseUxhYmVsXCI+PC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1977,6 +1977,8 @@ class InputDateTimeIntervalComponent {
|
|
|
1977
1977
|
selectedEndTime;
|
|
1978
1978
|
selectedStartDate;
|
|
1979
1979
|
selectedEndDate;
|
|
1980
|
+
defaultStartOfDayTime = '00:00:00';
|
|
1981
|
+
defaultEndOfDayTime = '23:59:59';
|
|
1980
1982
|
dropdownOpen;
|
|
1981
1983
|
scrollbarRef;
|
|
1982
1984
|
onKeydownHandler() {
|
|
@@ -2068,8 +2070,8 @@ class InputDateTimeIntervalComponent {
|
|
|
2068
2070
|
else {
|
|
2069
2071
|
if (this.selectedStartDate) {
|
|
2070
2072
|
const startDate = this.stringToDate(this.selectedStartDate);
|
|
2071
|
-
this.applyTimeOnDate(startDate, this.selectedStartTime);
|
|
2072
|
-
this.selectedStartTime = this.selectedStartTime ??
|
|
2073
|
+
this.applyTimeOnDate(startDate, this.selectedStartTime || this.defaultStartOfDayTime);
|
|
2074
|
+
this.selectedStartTime = this.selectedStartTime ?? this.defaultStartOfDayTime;
|
|
2073
2075
|
this._value.absoluteStartDate = moment(startDate).toDate();
|
|
2074
2076
|
}
|
|
2075
2077
|
else {
|
|
@@ -2077,8 +2079,8 @@ class InputDateTimeIntervalComponent {
|
|
|
2077
2079
|
}
|
|
2078
2080
|
if (this.selectedEndDate) {
|
|
2079
2081
|
const endDate = this.stringToDate(this.selectedEndDate);
|
|
2080
|
-
this.applyTimeOnDate(endDate, this.selectedEndTime);
|
|
2081
|
-
this.selectedEndTime = this.selectedEndTime ??
|
|
2082
|
+
this.applyTimeOnDate(endDate, this.selectedEndTime || this.defaultEndOfDayTime);
|
|
2083
|
+
this.selectedEndTime = this.selectedEndTime ?? this.defaultEndOfDayTime;
|
|
2082
2084
|
this._value.absoluteEndDate = moment(endDate).toDate();
|
|
2083
2085
|
}
|
|
2084
2086
|
else {
|