@wavemaker/app-ng-runtime 11.5.2-next.141146 → 11.5.2-next.141147
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.
- app-ng-runtime/components/basic/rich-text-editor/bundles/index.umd.js +9 -9
- app-ng-runtime/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +10 -10
- app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs +9 -9
- app-ng-runtime/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/components/input/epoch/bundles/index.umd.js +173 -40
- app-ng-runtime/components/input/epoch/date/date.component.d.ts +8 -2
- app-ng-runtime/components/input/epoch/date/imaskUtil.d.ts +92 -0
- app-ng-runtime/components/input/epoch/epoch.module.d.ts +2 -1
- app-ng-runtime/components/input/epoch/esm2022/date/date.component.mjs +52 -26
- app-ng-runtime/components/input/epoch/esm2022/date/date.props.mjs +3 -2
- app-ng-runtime/components/input/epoch/esm2022/date/imaskUtil.mjs +106 -0
- app-ng-runtime/components/input/epoch/esm2022/epoch.module.mjs +8 -4
- app-ng-runtime/components/input/epoch/fesm2022/index.mjs +166 -31
- app-ng-runtime/components/input/epoch/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/core/bundles/index.umd.js +0 -23
- app-ng-runtime/core/esm2022/public_api.mjs +1 -2
- app-ng-runtime/core/fesm2022/index.mjs +3 -25
- app-ng-runtime/core/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/core/public_api.d.ts +0 -1
- app-ng-runtime/package.json +1 -1
- app-ng-runtime/runtime/base/bundles/index.umd.js +3 -5
- app-ng-runtime/runtime/base/components/app-component/app.component.d.ts +1 -3
- app-ng-runtime/runtime/base/esm2022/components/app-component/app.component.mjs +5 -7
- app-ng-runtime/runtime/base/fesm2022/index.mjs +3 -5
- app-ng-runtime/runtime/base/fesm2022/index.mjs.map +1 -1
- app-ng-runtime/scripts/datatable/datatable.js +2 -2
- app-ng-runtime/core/esm2022/services/custom-icons-loader.service.mjs +0 -26
- app-ng-runtime/core/services/custom-icons-loader.service.d.ts +0 -7
|
@@ -5,26 +5,30 @@ import { adjustContainerPosition, addEventListenerOnElement, AppDefaults, FormWi
|
|
|
5
5
|
import { provideAs, provideAsWidgetRef, setFocusTrap, styler } from '@wm/components/base';
|
|
6
6
|
import { BaseDateTimeComponent } from './../base-date-time.component';
|
|
7
7
|
import { registerProps } from './date.props';
|
|
8
|
+
import { validateTheMaskedDate } from './imaskUtil';
|
|
9
|
+
import { IMaskDirective } from 'angular-imask';
|
|
8
10
|
import * as i0 from "@angular/core";
|
|
9
11
|
import * as i1 from "@wm/core";
|
|
10
12
|
import * as i2 from "@angular/common";
|
|
11
13
|
import * as i3 from "ngx-bootstrap/datepicker";
|
|
12
|
-
import * as i4 from "
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
import * as i4 from "angular-imask";
|
|
15
|
+
import * as i5 from "../date-time/date-time-picker.component";
|
|
16
|
+
const _c0 = ["dateInput"];
|
|
17
|
+
const _c1 = ["wmDate", ""];
|
|
18
|
+
function DateComponent_ng_template_8_Template(rf, ctx) { if (rf & 1) {
|
|
19
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
20
|
+
i0.ɵɵelementStart(0, "wm-datetimepicker", 9);
|
|
21
|
+
i0.ɵɵlistener("change", function DateComponent_ng_template_8_Template_wm_datetimepicker_change_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.onDateChange($event)); });
|
|
18
22
|
i0.ɵɵelementEnd();
|
|
19
|
-
i0.ɵɵelementStart(1, "div",
|
|
20
|
-
i0.ɵɵlistener("click", function
|
|
23
|
+
i0.ɵɵelementStart(1, "div", 10);
|
|
24
|
+
i0.ɵɵlistener("click", function DateComponent_ng_template_8_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(!(ctx_r5.disabled || ctx_r5.readonly || ctx_r5.isCurrentDate) && ctx_r5.showDatePickerModal(ctx_r5.bsDataValue)); })("focus", function DateComponent_ng_template_8_Template_div_focus_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r6 = i0.ɵɵnextContext(); ctx_r6.onDateTimeInputFocus(true); return i0.ɵɵresetView(ctx_r6.invokeOnFocus($event)); })("blur", function DateComponent_ng_template_8_Template_div_blur_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r7 = i0.ɵɵnextContext(); ctx_r7.onDateTimeInputBlur(); return i0.ɵɵresetView(ctx_r7.invokeOnTouched($event)); });
|
|
21
25
|
i0.ɵɵelementEnd();
|
|
22
26
|
} if (rf & 2) {
|
|
23
|
-
const
|
|
24
|
-
i0.ɵɵproperty("config",
|
|
27
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
28
|
+
i0.ɵɵproperty("config", ctx_r2._dateOptions)("placement", ctx_r2.modal)("excludedDaysToDisable", ctx_r2.excludedDaysToDisable)("excludedDatesToDisable", ctx_r2.excludedDatesToDisable)("displayFormat", ctx_r2.dateInputFormat)("value", ctx_r2.bsDataValue);
|
|
25
29
|
i0.ɵɵadvance(1);
|
|
26
|
-
i0.ɵɵproperty("tabindex",
|
|
27
|
-
i0.ɵɵattribute("aria-label",
|
|
30
|
+
i0.ɵɵproperty("tabindex", ctx_r2.tabindex || 0);
|
|
31
|
+
i0.ɵɵattribute("aria-label", ctx_r2.displayValue ? "Change Date " + ctx_r2.displayValue : ctx_r2.hint || "Choose Date");
|
|
28
32
|
} }
|
|
29
33
|
const CURRENT_DATE = 'CURRENT_DATE';
|
|
30
34
|
const DEFAULT_CLS = 'app-date input-group';
|
|
@@ -75,6 +79,7 @@ export class DateComponent extends BaseDateTimeComponent {
|
|
|
75
79
|
this.appDefaults = appDefaults;
|
|
76
80
|
this.isOpen = false;
|
|
77
81
|
this.isEnterPressedOnDateInput = false;
|
|
82
|
+
this.showdateformatasplaceholder = false;
|
|
78
83
|
styler(this.nativeElement, this);
|
|
79
84
|
this.dateContainerCls = `app-date-${this.widgetId}`;
|
|
80
85
|
this._dateOptions.containerClass = `app-date ${this.dateContainerCls}`;
|
|
@@ -87,6 +92,7 @@ export class DateComponent extends BaseDateTimeComponent {
|
|
|
87
92
|
* This is an internal method triggered when the date input changes
|
|
88
93
|
*/
|
|
89
94
|
onDisplayDateChange($event, isNativePicker = false) {
|
|
95
|
+
this.updateIMask();
|
|
90
96
|
if (this.isEnterPressedOnDateInput) {
|
|
91
97
|
this.isEnterPressedOnDateInput = false;
|
|
92
98
|
return;
|
|
@@ -115,6 +121,7 @@ export class DateComponent extends BaseDateTimeComponent {
|
|
|
115
121
|
}
|
|
116
122
|
if (newVal) {
|
|
117
123
|
this.bsDataValue = newVal;
|
|
124
|
+
this.updateIMask();
|
|
118
125
|
}
|
|
119
126
|
else {
|
|
120
127
|
this.bsDataValue = undefined;
|
|
@@ -127,6 +134,7 @@ export class DateComponent extends BaseDateTimeComponent {
|
|
|
127
134
|
if (!this.bsDataValue) {
|
|
128
135
|
this.hightlightToday(this.activeDate);
|
|
129
136
|
}
|
|
137
|
+
this.updateIMask();
|
|
130
138
|
// We are using the two input tags(To maintain the modal and proxy modal) for the date control.
|
|
131
139
|
// So actual bootstrap input target width we made it to 0, so bootstrap calculating the calendar container top position improperly.
|
|
132
140
|
// To fix the container top position set the width 1px;
|
|
@@ -142,11 +150,15 @@ export class DateComponent extends BaseDateTimeComponent {
|
|
|
142
150
|
adjustContainerRightEdges($('bs-datepicker-container'), this.nativeElement, this.bsDatePickerDirective._datepicker);
|
|
143
151
|
}
|
|
144
152
|
onInputBlur($event) {
|
|
153
|
+
this.updateIMask();
|
|
145
154
|
if (!$($event.relatedTarget).hasClass('current-date')) {
|
|
146
155
|
this.invokeOnTouched();
|
|
147
156
|
this.invokeEventCallback('blur', { $event });
|
|
148
157
|
}
|
|
149
158
|
}
|
|
159
|
+
updateIMask() {
|
|
160
|
+
this.imask?.maskRef?.updateValue();
|
|
161
|
+
}
|
|
150
162
|
hideDatepickerDropdown() {
|
|
151
163
|
this.invokeOnTouched();
|
|
152
164
|
this.isOpen = false;
|
|
@@ -221,6 +233,7 @@ export class DateComponent extends BaseDateTimeComponent {
|
|
|
221
233
|
this.invalidDateTimeFormat = false;
|
|
222
234
|
this.isEnterPressedOnDateInput = true;
|
|
223
235
|
this.bsDatePickerDirective.bsValue = event.target.value ? newVal : '';
|
|
236
|
+
this.updateIMask();
|
|
224
237
|
}
|
|
225
238
|
this.toggleDpDropdown(event);
|
|
226
239
|
}
|
|
@@ -248,32 +261,42 @@ export class DateComponent extends BaseDateTimeComponent {
|
|
|
248
261
|
}
|
|
249
262
|
this.setDataValue(newVal);
|
|
250
263
|
}
|
|
264
|
+
ngAfterViewInit() {
|
|
265
|
+
super.ngAfterViewInit();
|
|
266
|
+
this.imask.destroyMask();
|
|
267
|
+
if (this.showdateformatasplaceholder && this.datepattern !== 'timestamp') {
|
|
268
|
+
this.mask = validateTheMaskedDate(this.datepattern, this.selectedLocale);
|
|
269
|
+
this.updateIMask();
|
|
270
|
+
}
|
|
271
|
+
}
|
|
251
272
|
static { this.ɵfac = function DateComponent_Factory(t) { return new (t || DateComponent)(i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i1.AppDefaults)); }; }
|
|
252
273
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DateComponent, selectors: [["", "wmDate", ""]], viewQuery: function DateComponent_Query(rf, ctx) { if (rf & 1) {
|
|
253
274
|
i0.ɵɵviewQuery(BsDatepickerDirective, 5);
|
|
275
|
+
i0.ɵɵviewQuery(_c0, 5, IMaskDirective);
|
|
254
276
|
} if (rf & 2) {
|
|
255
277
|
let _t;
|
|
256
278
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.bsDatePickerDirective = _t.first);
|
|
279
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.imask = _t.first);
|
|
257
280
|
} }, features: [i0.ɵɵProvidersFeature([
|
|
258
281
|
provideAs(DateComponent, NG_VALUE_ACCESSOR, true),
|
|
259
282
|
provideAs(DateComponent, NG_VALIDATORS, true),
|
|
260
283
|
provideAsWidgetRef(DateComponent)
|
|
261
|
-
]), i0.ɵɵInheritDefinitionFeature], attrs:
|
|
262
|
-
i0.ɵɵelementStart(0, "input", 0);
|
|
263
|
-
i0.ɵɵlistener("click", function DateComponent_Template_input_click_0_listener($event) { return ctx.toggleDpDropdown($event, true); })("focus", function DateComponent_Template_input_focus_0_listener($event) { ctx.onDateTimeInputFocus();
|
|
284
|
+
]), i0.ɵɵInheritDefinitionFeature], attrs: _c1, decls: 9, vars: 27, consts: [["focus-target", "", "type", "text", 1, "form-control", "app-textbox", "app-dateinput", "display-input", 3, "name", "imask", "unmask", "tabindex", "value", "disabled", "autofocus", "required", "readOnly", "click", "focus", "blur", "change", "keydown"], ["dateInput", ""], [1, "input-group-btn"], ["type", "button", "aria-haspopup", "true", "aria-expanded", "false", 1, "btn", "btn-default", "btn-time", 3, "tabindex", "disabled", "click"], ["aria-hidden", "true", 1, "app-icon", "wm-sl-l", "sl-calendar"], [2, "width", "0", "display", "inline-block"], ["aria-label", "datepicker dropdownmenu", "aria-controls", "date", "bsDatepicker", "", "placement", "bottom right", 1, "model-holder", 3, "tabindex", "container", "bsConfig", "isOpen", "daysDisabled", "datesDisabled", "isDisabled", "bsValue", "onShown", "onHidden", "bsValueChange"], ["datepicker", "bsDatepicker"], [3, "ngIf"], ["dateTimePicker", "", "mode", "DATE", 3, "config", "placement", "excludedDaysToDisable", "excludedDatesToDisable", "displayFormat", "value", "change"], ["role", "button", 1, "mobile-input", "mobile-datepicker-container", 3, "tabindex", "click", "focus", "blur"]], template: function DateComponent_Template(rf, ctx) { if (rf & 1) {
|
|
285
|
+
i0.ɵɵelementStart(0, "input", 0, 1);
|
|
286
|
+
i0.ɵɵlistener("click", function DateComponent_Template_input_click_0_listener($event) { return ctx.toggleDpDropdown($event, true); })("focus", function DateComponent_Template_input_focus_0_listener($event) { ctx.onDateTimeInputFocus(); ctx.invokeOnFocus($event); return ctx.updateIMask(); })("blur", function DateComponent_Template_input_blur_0_listener($event) { return ctx.onInputBlur($event); })("change", function DateComponent_Template_input_change_0_listener($event) { return ctx.onDisplayDateChange($event); })("keydown", function DateComponent_Template_input_keydown_0_listener($event) { ctx._triggeredByUser = true; return ctx.onDisplayKeydown($event); });
|
|
264
287
|
i0.ɵɵelementEnd();
|
|
265
|
-
i0.ɵɵelementStart(
|
|
266
|
-
i0.ɵɵlistener("click", function
|
|
267
|
-
i0.ɵɵelement(
|
|
288
|
+
i0.ɵɵelementStart(2, "span", 2)(3, "button", 3);
|
|
289
|
+
i0.ɵɵlistener("click", function DateComponent_Template_button_click_3_listener($event) { return ctx.toggleDpDropdown($event, false); });
|
|
290
|
+
i0.ɵɵelement(4, "i", 4);
|
|
268
291
|
i0.ɵɵelementEnd()();
|
|
269
|
-
i0.ɵɵelementStart(
|
|
270
|
-
i0.ɵɵlistener("onShown", function
|
|
292
|
+
i0.ɵɵelementStart(5, "div", 5)(6, "input", 6, 7);
|
|
293
|
+
i0.ɵɵlistener("onShown", function DateComponent_Template_input_onShown_6_listener() { return ctx.onDatePickerOpen(); })("onHidden", function DateComponent_Template_input_onHidden_6_listener() { return ctx.hideDatepickerDropdown(); })("bsValueChange", function DateComponent_Template_input_bsValueChange_6_listener($event) { return ctx.onDateChange($event); });
|
|
271
294
|
i0.ɵɵelementEnd()();
|
|
272
|
-
i0.ɵɵtemplate(
|
|
295
|
+
i0.ɵɵtemplate(8, DateComponent_ng_template_8_Template, 2, 8, "ng-template", 8);
|
|
273
296
|
} if (rf & 2) {
|
|
274
|
-
i0.ɵɵproperty("name", ctx.name)("tabindex", ctx.loadNativeDateInput ? "-1" : ctx.tabindex)("value", ctx.displayValue)("disabled", ctx.disabled || ctx.readonly)("autofocus", ctx.autofocus)("required", ctx.required)("readOnly", ctx.isReadOnly);
|
|
297
|
+
i0.ɵɵproperty("name", ctx.name)("imask", ctx.mask)("unmask", true)("tabindex", ctx.loadNativeDateInput ? "-1" : ctx.tabindex)("value", ctx.displayValue)("disabled", ctx.disabled || ctx.readonly)("autofocus", ctx.autofocus)("required", ctx.required)("readOnly", ctx.isReadOnly);
|
|
275
298
|
i0.ɵɵattribute("aria-hidden", !!ctx.loadNativeDateInput)("placeholder", ctx.placeholder)("accesskey", ctx.shortcutkey)("aria-label", ctx.hint);
|
|
276
|
-
i0.ɵɵadvance(
|
|
299
|
+
i0.ɵɵadvance(3);
|
|
277
300
|
i0.ɵɵproperty("tabindex", ctx.loadNativeDateInput ? "-1" : ctx.tabindex)("disabled", ctx.disabled || ctx.readonly);
|
|
278
301
|
i0.ɵɵattribute("aria-hidden", !!ctx.loadNativeDateInput)("aria-label", ctx.displayValue ? "Change Date " + ctx.displayValue : "Choose date by pressing enter");
|
|
279
302
|
i0.ɵɵadvance(3);
|
|
@@ -281,7 +304,7 @@ export class DateComponent extends BaseDateTimeComponent {
|
|
|
281
304
|
i0.ɵɵattribute("aria-hidden", !!ctx.loadNativeDateInput);
|
|
282
305
|
i0.ɵɵadvance(2);
|
|
283
306
|
i0.ɵɵproperty("ngIf", ctx.loadNativeDateInput);
|
|
284
|
-
} }, dependencies: [i2.NgIf, i3.BsDatepickerDirective, i3.BsDatepickerInputDirective, i4.DateTimePickerComponent], encapsulation: 2 }); }
|
|
307
|
+
} }, dependencies: [i2.NgIf, i3.BsDatepickerDirective, i3.BsDatepickerInputDirective, i4.IMaskDirective, i5.DateTimePickerComponent], encapsulation: 2 }); }
|
|
285
308
|
}
|
|
286
309
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DateComponent, [{
|
|
287
310
|
type: Component,
|
|
@@ -289,9 +312,12 @@ export class DateComponent extends BaseDateTimeComponent {
|
|
|
289
312
|
provideAs(DateComponent, NG_VALUE_ACCESSOR, true),
|
|
290
313
|
provideAs(DateComponent, NG_VALIDATORS, true),
|
|
291
314
|
provideAsWidgetRef(DateComponent)
|
|
292
|
-
], template: " <input class=\"form-control app-textbox app-dateinput display-input\"\n focus-target\n type=\"text\"\n [name]=\"name\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [value]=\"displayValue\"\n (click)=\"toggleDpDropdown($event, true)\"\n (focus)=\"onDateTimeInputFocus(); invokeOnFocus($event)
|
|
315
|
+
], template: " <input class=\"form-control app-textbox app-dateinput display-input\"\n focus-target\n type=\"text\"\n [name]=\"name\"\n #dateInput\n [imask]=\"mask\"\n [unmask]=\"true\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [value]=\"displayValue\"\n (click)=\"toggleDpDropdown($event, true)\"\n (focus)=\"onDateTimeInputFocus(); invokeOnFocus($event); updateIMask()\"\n (blur)=\"onInputBlur($event)\"\n [disabled]=\"disabled || readonly\"\n [autofocus]=\"autofocus\"\n [required]=\"required\"\n [readOnly]=\"isReadOnly\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-label]=\"hint\"\n (change)=\"onDisplayDateChange($event)\"\n (keydown)=\"this._triggeredByUser = true; onDisplayKeydown($event);\">\n\n <span class=\"input-group-btn\">\n <button type=\"button\"\n class=\"btn btn-default btn-time\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [disabled]=\"disabled || readonly\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : 'Choose date by pressing enter'\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"toggleDpDropdown($event, false)\">\n <i aria-hidden=\"true\"\n class=\"app-icon wm-sl-l sl-calendar\"></i>\n </button>\n </span>\n <div style=\"width: 0;display: inline-block;\">\n <input class=\"model-holder\"\n aria-label=\"datepicker dropdownmenu\"\n aria-controls=\"date\"\n [tabindex]=\"-1\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [container]=\"containerTarget || '.wm-app'\"\n [bsConfig]=\"_dateOptions\"\n [isOpen]=\"isOpen\"\n #datepicker=\"bsDatepicker\"\n bsDatepicker\n [daysDisabled]=\"excludedDaysToDisable\"\n [datesDisabled]=\"excludedDatesToDisable\"\n placement=\"bottom right\"\n [isDisabled]=\"disabled || readonly\"\n [bsValue]=\"bsDataValue\"\n (onShown)=\"onDatePickerOpen()\"\n (onHidden)=\"hideDatepickerDropdown()\"\n (bsValueChange)=\"onDateChange($event)\">\n</div>\n\n<ng-template [ngIf]=\"loadNativeDateInput\">\n <wm-datetimepicker\n dateTimePicker\n mode=\"DATE\"\n [config]=\"_dateOptions\"\n [placement]=\"modal\"\n [excludedDaysToDisable]=\"excludedDaysToDisable\"\n [excludedDatesToDisable]=\"excludedDatesToDisable\"\n [displayFormat]=\"dateInputFormat\"\n [value]=\"bsDataValue\"\n (change)=\"onDateChange($event)\">\n </wm-datetimepicker>\n <div class=\"mobile-input mobile-datepicker-container\"\n [tabindex]=\"tabindex || 0\"\n (click)=\"!(disabled || readonly || isCurrentDate) && showDatePickerModal(bsDataValue)\"\n (focus)=\"onDateTimeInputFocus(true); invokeOnFocus($event);\"\n (blur)=\"onDateTimeInputBlur(); invokeOnTouched($event)\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : hint || 'Choose Date'\"\n role=\"button\">\n </div>\n</ng-template>\n" }]
|
|
293
316
|
}], function () { return [{ type: i0.Injector }, { type: i0.ChangeDetectorRef }, { type: i1.AppDefaults }]; }, { bsDatePickerDirective: [{
|
|
294
317
|
type: ViewChild,
|
|
295
318
|
args: [BsDatepickerDirective]
|
|
319
|
+
}], imask: [{
|
|
320
|
+
type: ViewChild,
|
|
321
|
+
args: ['dateInput', { read: IMaskDirective }]
|
|
296
322
|
}] }); })();
|
|
297
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvZXBvY2gvc3JjL2RhdGUvZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvZXBvY2gvc3JjL2RhdGUvZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFVLFFBQVEsRUFBWSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWpFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIseUJBQXlCLEVBQ3pCLFdBQVcsRUFFWCxjQUFjLEVBQ2QsVUFBVSxFQUNWLHdCQUF3QixFQUN4QixnQkFBZ0IsRUFDaEIseUJBQXlCLEVBQ3pCLHFCQUFxQixFQUV4QixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQWlCLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7O0lDb0N6Qyw0Q0FTb0M7SUFBaEMscUxBQVUsZUFBQSwyQkFBb0IsQ0FBQSxJQUFDO0lBQ25DLGlCQUFvQjtJQUNwQiw4QkFNbUI7SUFKZCwrSkFBUyxnRkFBNEMsOENBQWdDLENBQUEsSUFBQyxpSkFDOUUsNEJBQXFCLElBQUksQ0FBQyxTQUFFLGVBQUEsNEJBQXFCLENB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Z0ZBRWhDLHVCQUFtQixJQUZhLG9GQVU5QiwrQkFBMkIsSUFWRyxzR0FXTCxJQUFJLFNBQUUsNEJBQXdCLElBWHpCO1lBUDVDLGlCQWtCd0U7WUFFeEUsK0JBQThCLGdCQUFBO1lBU3RCLGdHQUFTLDZCQUF5QixLQUFLLENBQUMsSUFBQztZQUN6Qyx1QkFDNkM7WUFDakQsaUJBQVMsRUFBQTtZQUViLDhCQUE2QyxrQkFBQTtZQWdCekMsNkZBQVcsc0JBQWtCLElBQUMsa0ZBQ2xCLDRCQUF3QixJQUROLGtHQUViLHdCQUFvQixJQUZQO1lBZmxDLGlCQWlCMkMsRUFBQTtZQUcvQyw4RUFvQmM7O1lBeEVOLCtCQUFhLDJEQUFBLDJCQUFBLDBDQUFBLDRCQUFBLDBCQUFBLDRCQUFBO1lBRWIsd0RBQTBDLGdDQUFBLDhCQUFBLHdCQUFBO1lBa0J0QyxlQUFrRDtZQUFsRCx3RUFBa0QsMENBQUE7WUFDbEQsd0RBQTBDLHNHQUFBO1lBYzlDLGVBQWU7WUFBZiw2QkFBZSwrQ0FBQSw4QkFBQSxzQkFBQSwyQ0FBQSw2Q0FBQSw0Q0FBQSw0QkFBQTtZQUNmLHdEQUEwQztZQWdCckMsZUFBNEI7WUFBNUIsOENBQTRCOzs7dUZEZjVCLGFBQWE7Y0FUekIsU0FBUzsyQkFDSSxVQUFVLGFBRVQ7b0JBQ1AsU0FBUyxnQkFBZ0IsaUJBQWlCLEVBQUUsSUFBSSxDQUFDO29CQUNqRCxTQUFTLGdCQUFnQixhQUFhLEVBQUUsSUFBSSxDQUFDO29CQUM3QyxrQkFBa0IsZUFBZTtpQkFDcEM7cUhBd0QyQyxxQkFBcUI7a0JBQWhFLFNBQVM7bUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3QsIEluamVjdG9yLCBPcHRpb25hbCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBOR19WQUxJREFUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBCc0RhdGVwaWNrZXJEaXJlY3RpdmUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL2RhdGVwaWNrZXInO1xuXG5pbXBvcnQge1xuICAgIGFkanVzdENvbnRhaW5lclBvc2l0aW9uLFxuICAgIGFkZEV2ZW50TGlzdGVuZXJPbkVsZW1lbnQsXG4gICAgQXBwRGVmYXVsdHMsXG4gICAgRVZFTlRfTElGRSxcbiAgICBGb3JtV2lkZ2V0VHlwZSxcbiAgICBnZXREYXRlT2JqLFxuICAgIGdldERpc3BsYXlEYXRlVGltZUZvcm1hdCxcbiAgICBnZXRGb3JtYXR0ZWREYXRlLFxuICAgIGFkanVzdENvbnRhaW5lclJpZ2h0RWRnZXMsXG4gICAgZ2V0TW9tZW50TG9jYWxlT2JqZWN0LFxuICAgIEFwcFxufSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBJV2lkZ2V0Q29uZmlnLCBwcm92aWRlQXMsIHByb3ZpZGVBc1dpZGdldFJlZiwgc2V0Rm9jdXNUcmFwLCBzdHlsZXIgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7IEJhc2VEYXRlVGltZUNvbXBvbmVudCB9IGZyb20gJy4vLi4vYmFzZS1kYXRlLXRpbWUuY29tcG9uZW50JztcbmltcG9ydCB7IHJlZ2lzdGVyUHJvcHMgfSBmcm9tICcuL2RhdGUucHJvcHMnO1xuXG5kZWNsYXJlIGNvbnN0IF8sICQsIG1vbWVudDtcblxuY29uc3QgQ1VSUkVOVF9EQVRFID0gJ0NVUlJFTlRfREFURSc7XG5jb25zdCBERUZBVUxUX0NMUyA9ICdhcHAtZGF0ZSBpbnB1dC1ncm91cCc7XG5jb25zdCBXSURHRVRfQ09ORklHOiBJV2lkZ2V0Q29uZmlnID0ge1xuICAgIHdpZGdldFR5cGU6ICd3bS1kYXRlJyxcbiAgICBob3N0Q2xhc3M6IERFRkFVTFRfQ0xTXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1t3bURhdGVdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVBcyhEYXRlQ29tcG9uZW50LCBOR19WQUxVRV9BQ0NFU1NPUiwgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBcyhEYXRlQ29tcG9uZW50LCBOR19WQUxJREFUT1JTLCB0cnVlKSxcbiAgICAgICAgcHJvdmlkZUFzV2lkZ2V0UmVmKERhdGVDb21wb25lbnQpXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRlQ29tcG9uZW50IGV4dGVuZHMgQmFzZURhdGVUaW1lQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgaW5pdGlhbGl6ZVByb3BzID0gcmVnaXN0ZXJQcm9wcygpO1xuXG4gICAgcHVibGljIGJzRGF0YVZhbHVlO1xuICAgIHB1YmxpYyBzaG93ZHJvcGRvd25vbjogc3RyaW5nO1xuICAgIHByaXZhdGUgZGF0ZUNvbnRhaW5lckNsczogc3RyaW5nO1xuICAgIHB1YmxpYyBpc09wZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwcml2YXRlIGlzRW50ZXJQcmVzc2VkT25EYXRlSW5wdXQgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9ic0RlZmF1bHRMb2FkQ2hlY2s6IGJvb2xlYW47XG4gICAgcHVibGljIGhpbnQ6IHN0cmluZztcblxuICAgIHByaXZhdGUgZGVyZWdpc3RlckV2ZW50TGlzdGVuZXI7XG4gICAgcHJpdmF0ZSBpc0N1cnJlbnREYXRlO1xuICAgIHByaXZhdGUgZm9jdXNUcmFwO1xuXG4gICAgZ2V0IHRpbWVzdGFtcCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnNEYXRhVmFsdWUgPyB0aGlzLmJzRGF0YVZhbHVlLnZhbHVlT2YoKSA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBnZXQgZGF0ZUlucHV0Rm9ybWF0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZU9wdGlvbnMuZGF0ZUlucHV0Rm9ybWF0IHx8ICd5eXl5LU1NLWRkJztcbiAgICB9XG5cbiAgICBnZXQgZGlzcGxheVZhbHVlKCkge1xuICAgICAgICByZXR1cm4gZ2V0Rm9ybWF0dGVkRGF0ZSh0aGlzLmRhdGVQaXBlLCB0aGlzLmJzRGF0YVZhbHVlLCB0aGlzLmRhdGVJbnB1dEZvcm1hdCwgdGhpcy50aW1lWm9uZSwgbnVsbCwgdGhpcy5pc0N1cnJlbnREYXRlLCB0aGlzKSB8fCAnJztcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRGlzcGxheVZhbHVlKCkge1xuICAgICAgICByZXR1cm4gZ2V0Rm9ybWF0dGVkRGF0ZSh0aGlzLmRhdGVQaXBlLCB0aGlzLmJzRGF0YVZhbHVlLCAneXl5eS1NTS1kZCcsIHRoaXMudGltZVpvbmUsIG51bGwsIHRoaXMuaXNDdXJyZW50RGF0ZSwgdGhpcykgfHwgJyc7XG4gICAgfVxuXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGdldCBkYXRhdmFsdWUoKSB7XG4gICAgICAgIHJldHVybiBnZXRGb3JtYXR0ZWREYXRlKHRoaXMuZGF0ZVBpcGUsIHRoaXMuYnNEYXRhVmFsdWUsIHRoaXMub3V0cHV0Zm9ybWF0LCB0aGlzLnRpbWVab25lLCBudWxsLCB0aGlzLmlzQ3VycmVudERhdGUsIHRoaXMpIHx8ICcnO1xuICAgIH1cblxuICAgIC8vIFRvZG9bU2h1YmhhbV06IG5lZWRzIHRvIGJlIHJlZGVmaW5lZFxuICAgIC8vIHNldHMgdGhlIGRhdGFWYWx1ZSBhbmQgY29tcHV0ZXMgdGhlIGRpc3BsYXkgbW9kZWwgdmFsdWVzXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHNldCBkYXRhdmFsdWUobmV3VmFsKSB7XG4gICAgICAgIGlmIChuZXdWYWwgPT09IENVUlJFTlRfREFURSkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5ic0RhdGFWYWx1ZSA9IHRoaXMudGltZVpvbmUgPyBnZXRNb21lbnRMb2NhbGVPYmplY3QodGhpcy50aW1lWm9uZSkgOiBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgfSwgNTApO1xuICAgICAgICAgICAgdGhpcy5pc0N1cnJlbnREYXRlID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYnNEYXRhVmFsdWUgPSBuZXdWYWwgPyBnZXREYXRlT2JqKG5ld1ZhbCwge2lzTmF0aXZlUGlja2VyOiB0aGlzLmxvYWROYXRpdmVEYXRlSW5wdXR9LCB0aGlzLnRpbWVab25lKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHRoaXMuaXNDdXJyZW50RGF0ZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIC8vIHVwZGF0ZSB0aGUgcHJldmlvdXMgZGF0YXZhbHVlLlxuICAgICAgICB0aGlzLmludm9rZU9uQ2hhbmdlKHRoaXMuZGF0YXZhbHVlLCB1bmRlZmluZWQsIHRydWUpO1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBAVmlld0NoaWxkKEJzRGF0ZXBpY2tlckRpcmVjdGl2ZSkgcHJvdGVjdGVkIGJzRGF0ZVBpY2tlckRpcmVjdGl2ZTtcblxuICAgIC8vIFRPRE8gdXNlIEJzTG9jYWxlU2VydmljZSB0byBzZXQgdGhlIGN1cnJlbnQgdXNlcidzIGxvY2FsZSB0byBzZWUgdGhlIGxvY2FsaXplZCBsYWJlbHNcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgYXBwRGVmYXVsdHM6IEFwcERlZmF1bHRzXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRyk7XG4gICAgICAgIHN0eWxlcih0aGlzLm5hdGl2ZUVsZW1lbnQsIHRoaXMpO1xuXG4gICAgICAgIHRoaXMuZGF0ZUNvbnRhaW5lckNscyA9IGBhcHAtZGF0ZS0ke3RoaXMud2lkZ2V0SWR9YDtcbiAgICAgICAgdGhpcy5fZGF0ZU9wdGlvbnMuY29udGFpbmVyQ2xhc3MgPSBgYXBwLWRhdGUgJHt0aGlzLmRhdGVDb250YWluZXJDbHN9YDtcbiAgICAgICAgdGhpcy5fZGF0ZU9wdGlvbnMuc2hvd1dlZWtOdW1iZXJzID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2JzRGVmYXVsdExvYWRDaGVjayA9IHRydWU7XG4gICAgICAgIHRoaXMuZGF0ZXBhdHRlcm4gPSB0aGlzLmFwcERlZmF1bHRzLmRhdGVGb3JtYXQgfHwgZ2V0RGlzcGxheURhdGVUaW1lRm9ybWF0KEZvcm1XaWRnZXRUeXBlLkRBVEUpO1xuICAgICAgICB0aGlzLnVwZGF0ZUZvcm1hdCgnZGF0ZXBhdHRlcm4nKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGlzIGFuIGludGVybmFsIG1ldGhvZCB0cmlnZ2VyZWQgd2hlbiB0aGUgZGF0ZSBpbnB1dCBjaGFuZ2VzXG4gICAgICovXG4gICAgb25EaXNwbGF5RGF0ZUNoYW5nZSgkZXZlbnQsIGlzTmF0aXZlUGlja2VyOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNFbnRlclByZXNzZWRPbkRhdGVJbnB1dCkge1xuICAgICAgICAgICAgdGhpcy5pc0VudGVyUHJlc3NlZE9uRGF0ZUlucHV0ID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV3VmFsID0gZ2V0RGF0ZU9iaigkZXZlbnQudGFyZ2V0LnZhbHVlLCB7cGF0dGVybjogdGhpcy5kYXRlcGF0dGVybiwgaXNOYXRpdmVQaWNrZXI6IGlzTmF0aXZlUGlja2VyfSk7XG4gICAgICAgIC8vIGRhdGUgcGF0dGVybiB2YWxpZGF0aW9uXG4gICAgICAgIC8vIGlmIGludmFsaWQgcGF0dGVybiBpcyBlbnRlcmVkLCBkZXZpY2UgaXMgc2hvd2luZyBhbiBlcnJvci5cbiAgICAgICAgaWYgKCF0aGlzLmZvcm1hdFZhbGlkYXRpb24obmV3VmFsLCAkZXZlbnQudGFyZ2V0LnZhbHVlLCBpc05hdGl2ZVBpY2tlcikpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBtaW4gZGF0ZSBhbmQgbWF4IGRhdGUgdmFsaWRhdGlvbiBpbiBtb2JpbGUgdmlldy5cbiAgICAgICAgLy8gaWYgaW52YWxpZCBkYXRlcyBhcmUgZW50ZXJlZCwgZGV2aWNlIGlzIHNob3dpbmcgYW4gYWxlcnQuXG4gICAgICAgIGlmIChpc05hdGl2ZVBpY2tlciAmJiB0aGlzLm1pbkRhdGVNYXhEYXRlVmFsaWRhdGlvbk9uSW5wdXQobmV3VmFsLCAkZXZlbnQsIHRoaXMuZGlzcGxheVZhbHVlLCBpc05hdGl2ZVBpY2tlcikpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldERhdGFWYWx1ZShuZXdWYWwpO1xuICAgIH1cblxuICAgIC8vIHNldHMgdGhlIGRhdGFWYWx1ZSBhbmQgY29tcHV0ZXMgdGhlIGRpc3BsYXkgbW9kZWwgdmFsdWVzXG4gICAgcHJpdmF0ZSBzZXREYXRhVmFsdWUobmV3VmFsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW52YWxpZERhdGVUaW1lRm9ybWF0ID0gZmFsc2U7XG4gICAgICAgIC8vIG1pbiBkYXRlIGFuZCBtYXggZGF0ZSB2YWxpZGF0aW9uIGluIHdlYi5cbiAgICAgICAgLy8gaWYgaW52YWxpZCBkYXRlcyBhcmUgZW50ZXJlZCwgZGV2aWNlIGlzIHNob3dpbmcgdmFsaWRhdGlvbiBtZXNzYWdlLlxuICAgICAgICB0aGlzLm1pbkRhdGVNYXhEYXRlVmFsaWRhdGlvbk9uSW5wdXQobmV3VmFsKTtcbiAgICAgICAgaWYgKGdldEZvcm1hdHRlZERhdGUodGhpcy5kYXRlUGlwZSwgbmV3VmFsLCB0aGlzLmRhdGVJbnB1dEZvcm1hdCwgdGhpcy50aW1lWm9uZSwgbnVsbCwgdGhpcy5pc0N1cnJlbnREYXRlLCB0aGlzKSA9PT0gdGhpcy5kaXNwbGF5VmFsdWUpIHtcbiAgICAgICAgICAgICQodGhpcy5uYXRpdmVFbGVtZW50KS5maW5kKCcuZGlzcGxheS1pbnB1dCcpLnZhbCh0aGlzLmRpc3BsYXlWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5ld1ZhbCkge1xuICAgICAgICAgICAgdGhpcy5ic0RhdGFWYWx1ZSA9IG5ld1ZhbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYnNEYXRhVmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbnZva2VPbkNoYW5nZSh0aGlzLmRhdGF2YWx1ZSwge30sIHRydWUpO1xuICAgIH1cblxuICAgIG9uRGF0ZVBpY2tlck9wZW4oKSB7XG4gICAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5ic0RhdGFWYWx1ZSA/IHRoaXMuYWN0aXZlRGF0ZSA9IHRoaXMuYnNEYXRhVmFsdWUgOiB0aGlzLmFjdGl2ZURhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBpZiAoIXRoaXMuYnNEYXRhVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaGlnaHRsaWdodFRvZGF5KHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBXZSBhcmUgdXNpbmcgdGhlIHR3byBpbnB1dCB0YWdzKFRvIG1haW50YWluIHRoZSBtb2RhbCBhbmQgcHJveHkgbW9kYWwpIGZvciB0aGUgZGF0ZSBjb250cm9sLlxuICAgICAgICAvLyBTbyBhY3R1YWwgYm9vdHN0cmFwIGlucHV0IHRhcmdldCB3aWR0aCB3ZSBtYWRlIGl0IHRvIDAsIHNvIGJvb3RzdHJhcCBjYWxjdWxhdGluZyB0aGUgY2FsZW5kYXIgY29udGFpbmVyIHRvcCBwb3NpdGlvbiBpbXByb3Blcmx5LlxuICAgICAgICAvLyBUbyBmaXggdGhlIGNvbnRhaW5lciB0b3AgcG9zaXRpb24gc2V0IHRoZSB3aWR0aCAxcHg7XG4gICAgICAgIHRoaXMuJGVsZW1lbnQuZmluZCgnLm1vZGVsLWhvbGRlcicpLndpZHRoKCcxcHgnKTtcbiAgICAgICAgY29uc3QgZHBDb250YWluZXJFbCA9ICQoJ2JzLWRhdGVwaWNrZXItY29udGFpbmVyJyk7XG4gICAgICAgIGRwQ29udGFpbmVyRWwuYXR0cignYXJpYS1sYWJlbCcsICdVc2UgQXJyb3cga2V5cyB0byBuYXZpZ2F0ZSBkYXRlcywgQ2hvb3NlIERhdGUgZnJvbSBkYXRlcGlja2VyJyk7XG4gICAgICAgICQoJy5icy1jYWxlbmRhci1jb250YWluZXInKS5yZW1vdmVBdHRyKCdyb2xlJyk7XG4gICAgICAgIGNvbnN0IGRhdGVQaWNrZXJDb250YWluZXIgPSAkKCcuYnMtZGF0ZXBpY2tlci1jb250YWluZXInKVswXTtcbiAgICAgICAgdGhpcy5mb2N1c1RyYXAgPSBzZXRGb2N1c1RyYXAoZGF0ZVBpY2tlckNvbnRhaW5lciwgdHJ1ZSk7XG4gICAgICAgIHRoaXMuZm9jdXNUcmFwLmFjdGl2YXRlKCk7XG4gICAgICAgIHRoaXMuYWRkRGF0ZXBpY2tlcktleWJvYXJkRXZlbnRzKHRoaXMsIGZhbHNlKTtcbiAgICAgICAgYWRqdXN0Q29udGFpbmVyUG9zaXRpb24oJCgnYnMtZGF0ZXBpY2tlci1jb250YWluZXInKSwgdGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzLmJzRGF0ZVBpY2tlckRpcmVjdGl2ZS5fZGF0ZXBpY2tlcik7XG4gICAgICAgIGFkanVzdENvbnRhaW5lclJpZ2h0RWRnZXMoJCgnYnMtZGF0ZXBpY2tlci1jb250YWluZXInKSwgdGhpcy5uYXRpdmVFbGVtZW50LCB0aGlzLmJzRGF0ZVBpY2tlckRpcmVjdGl2ZS5fZGF0ZXBpY2tlcik7XG4gICAgfVxuICAgIG9uSW5wdXRCbHVyKCRldmVudCkge1xuICAgICAgICBpZiAoISQoJGV2ZW50LnJlbGF0ZWRUYXJnZXQpLmhhc0NsYXNzKCdjdXJyZW50LWRhdGUnKSkge1xuICAgICAgICAgICAgdGhpcy5pbnZva2VPblRvdWNoZWQoKTtcbiAgICAgICAgICAgIHRoaXMuaW52b2tlRXZlbnRDYWxsYmFjaygnYmx1cicsIHsgJGV2ZW50IH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGhpZGVEYXRlcGlja2VyRHJvcGRvd24oKSB7XG4gICAgICAgIHRoaXMuaW52b2tlT25Ub3VjaGVkKCk7XG4gICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZm9jdXNUcmFwPy5kZWFjdGl2YXRlKCk7XG4gICAgICAgIHRoaXMuaXNFbnRlclByZXNzZWRPbkRhdGVJbnB1dCA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5kZXJlZ2lzdGVyRXZlbnRMaXN0ZW5lcikge1xuICAgICAgICAgICAgdGhpcy5kZXJlZ2lzdGVyRXZlbnRMaXN0ZW5lcigpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYmx1ckRhdGVJbnB1dCh0aGlzLmlzT3Blbik7XG4gICAgfVxuXG4gICAgLy8gY2hhbmdlIGFuZCBibHVyIGV2ZW50cyBhcmUgYWRkZWQgZnJvbSB0aGUgdGVtcGxhdGVcbiAgICBwcm90ZWN0ZWQgaGFuZGxlRXZlbnQobm9kZTogSFRNTEVsZW1lbnQsIGV2ZW50TmFtZTogc3RyaW5nLCBjYWxsYmFjazogRnVuY3Rpb24sIGxvY2FsczogYW55KSB7XG4gICAgICAgIGlmICghXy5pbmNsdWRlcyhbJ2JsdXInLCAnZm9jdXMnLCAnY2hhbmdlJywgJ2NsaWNrJ10sIGV2ZW50TmFtZSkpIHtcbiAgICAgICAgICAgIHN1cGVyLmhhbmRsZUV2ZW50KG5vZGUsIGV2ZW50TmFtZSwgY2FsbGJhY2ssIGxvY2Fscyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGlzIGFuIGludGVybmFsIG1ldGhvZCB1c2VkIHRvIHRvZ2dsZSB0aGUgZHJvcGRvd24gb2YgdGhlIGRhdGUgd2lkZ2V0XG4gICAgICovXG4gICAgIHB1YmxpYyB0b2dnbGVEcERyb3Bkb3duKCRldmVudCwgc2tpcEZvY3VzOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKHRoaXMubG9hZE5hdGl2ZURhdGVJbnB1dCkge1xuICAgICAgICAgICAgIC8vIEZpeGVzIGNsaWNrIGV2ZW50IGdldHRpbmcgdHJpZ2dyZWQgdHdpY2UgaW4gTW9iaWxlIGRldmljZXMuXG4gICAgICAgICAgICBpZiAoIXNraXBGb2N1cykge1xuICAgICAgICAgICAgICAgIHRoaXMub25EYXRlVGltZUlucHV0Rm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoJGV2ZW50LnR5cGUgPT09ICdjbGljaycpIHtcbiAgICAgICAgICAgIHRoaXMuaW52b2tlRXZlbnRDYWxsYmFjaygnY2xpY2snLCB7ICRldmVudDogJGV2ZW50IH0pO1xuICAgICAgICAgIC8vICB0aGlzLmZvY3VzT25JbnB1dEVsKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCRldmVudC50YXJnZXQgJiYgJCgkZXZlbnQudGFyZ2V0KS5pcygnaW5wdXQnKSAmJiAhKHRoaXMuaXNEcm9wRG93bkRpc3BsYXlFbmFibGVkT25JbnB1dCh0aGlzLnNob3dkcm9wZG93bm9uKSkpIHtcbiAgICAgICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmJzRGF0ZVBpY2tlckRpcmVjdGl2ZS50b2dnbGUoKTtcbiAgICAgICAgdGhpcy5hZGRCb2R5Q2xpY2tMaXN0ZW5lcih0aGlzLmJzRGF0ZVBpY2tlckRpcmVjdGl2ZS5pc09wZW4pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkQm9keUNsaWNrTGlzdGVuZXIoc2tpcExpc3RlbmVyKSB7XG4gICAgICAgIGlmICghc2tpcExpc3RlbmVyKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYm9keUVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdib2R5Jyk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYnNEYXRlQ29udGFpbmVyRWxlbWVudCA9IGJvZHlFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYC4ke3RoaXMuZGF0ZUNvbnRhaW5lckNsc31gKTtcbiAgICAgICAgICAgIHRoaXMuZGVyZWdpc3RlckV2ZW50TGlzdGVuZXIgPSBhZGRFdmVudExpc3RlbmVyT25FbGVtZW50KGJvZHlFbGVtZW50LCBic0RhdGVDb250YWluZXJFbGVtZW50LCB0aGlzLm5hdGl2ZUVsZW1lbnQsICdjbGljaycsIHRoaXMuaXNEcm9wRG93bkRpc3BsYXlFbmFibGVkT25JbnB1dCh0aGlzLnNob3dkcm9wZG93bm9uKSwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgICB9LCBFVkVOVF9MSUZFLk9OQ0UsIHRydWUpO1xuICAgICAgICB9LCAzNTApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgaXMgYW4gaW50ZXJuYWwgbWV0aG9kIHRyaWdnZXJlZCB3aGVuIHByZXNzaW5nIGtleSBvbiB0aGUgZGF0ZSBpbnB1dFxuICAgICAqL1xuICAgIHB1YmxpYyBvbkRpc3BsYXlLZXlkb3duKGV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmlzRHJvcERvd25EaXNwbGF5RW5hYmxlZE9uSW5wdXQodGhpcy5zaG93ZHJvcGRvd25vbikpIHtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1ZhbCA9IGdldERhdGVPYmooZXZlbnQudGFyZ2V0LnZhbHVlLCB7cGF0dGVybjogdGhpcy5kYXRlcGF0dGVybn0pO1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkRGF0ZSA9IGdldEZvcm1hdHRlZERhdGUodGhpcy5kYXRlUGlwZSwgbmV3VmFsLCB0aGlzLmRhdGVJbnB1dEZvcm1hdCwgdGhpcy50aW1lWm9uZSwgbnVsbCwgdGhpcy5pc0N1cnJlbnREYXRlLCB0aGlzKTtcbiAgICAgICAgICAgICAgICBjb25zdCBpbnB1dFZhbCA9IGV2ZW50LnRhcmdldC52YWx1ZS50cmltKCk7XG4gICAgICAgICAgICAgICAgaWYgKGlucHV0VmFsICYmIHRoaXMuZGF0ZXBhdHRlcm4gPT09ICd0aW1lc3RhbXAnKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghXy5pc05hTihpbnB1dFZhbCkgJiYgXy5wYXJzZUludChpbnB1dFZhbCkgIT09IGZvcm1hdHRlZERhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW52YWxpZERhdGVUaW1lRm9ybWF0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW52b2tlT25DaGFuZ2UodGhpcy5kYXRhdmFsdWUsIGV2ZW50LCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlucHV0VmFsICYmIGlucHV0VmFsICE9PSBmb3JtYXR0ZWREYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW52YWxpZERhdGVUaW1lRm9ybWF0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnZva2VPbkNoYW5nZSh0aGlzLmRhdGF2YWx1ZSwgZXZlbnQsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmludmFsaWREYXRlVGltZUZvcm1hdCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRW50ZXJQcmVzc2VkT25EYXRlSW5wdXQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJzRGF0ZVBpY2tlckRpcmVjdGl2ZS5ic1ZhbHVlID0gIGV2ZW50LnRhcmdldC52YWx1ZSA/IG5ld1ZhbCA6ICcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZURwRHJvcGRvd24oZXZlbnQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGVEYXRlcGlja2VyRHJvcGRvd24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZURhdGVwaWNrZXJEcm9wZG93bigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBpcyBhbiBpbnRlcm5hbCBtZXRob2QgdHJpZ2dlcmVkIHdoZW4gdGhlIGRhdGUgc2VsZWN0aW9uIGNoYW5nZXNcbiAgICAgKi9cbiAgICBvbkRhdGVDaGFuZ2UobmV3VmFsKTogdm9pZCB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiAgTmd4LWJvb3RzdHJhcCB1cGdyYWRlIDogVG8gYXZvaWQgdGhlIHBhZ2UgbG9hZCBkYXRlY2hhbmdlIGV2ZW50O1xuICAgICAgICAgKiAgVE9ETzpcbiAgICAgICAgICogIGh0dHBzOi8vZ2l0aHViLmNvbS92YWxvci1zb2Z0d2FyZS9uZ3gtYm9vdHN0cmFwL2lzc3Vlcy82MDE2XG4gICAgICAgICAqICBGb3IgYWJvdmUgaXNzdWUsIG9uY2Ugd2UgZ2V0IHRoZSBzb2x1dGlvbiBmcm9tIE5neC1Cb290c3RyYXAgdGVhbSwgIHJlbW92ZSB0aGUgX2JzRGVmYXVsdExvYWRDaGVjayBjaGVjayBhbmQgdXBkYXRlIGFjY29yZGluZ2x5LlxuICAgICAgICAgKiAqL1xuICAgICAgICBpZiAodGhpcy5fYnNEZWZhdWx0TG9hZENoZWNrKSB7XG4gICAgICAgICAgICB0aGlzLl9ic0RlZmF1bHRMb2FkQ2hlY2sgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0RGF0YVZhbHVlKG5ld1ZhbCk7XG4gICAgfVxufVxuIiwiICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbCBhcHAtdGV4dGJveCBhcHAtZGF0ZWlucHV0IGRpc3BsYXktaW5wdXRcIlxuICAgICAgICBmb2N1cy10YXJnZXRcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgW3RhYmluZGV4XT1cImxvYWROYXRpdmVEYXRlSW5wdXQgPyAnLTEnIDogdGFiaW5kZXhcIlxuICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCIhIWxvYWROYXRpdmVEYXRlSW5wdXRcIlxuICAgICAgICBbdmFsdWVdPVwiZGlzcGxheVZhbHVlXCJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZURwRHJvcGRvd24oJGV2ZW50LCB0cnVlKVwiXG4gICAgICAgIChmb2N1cyk9XCJvbkRhdGVUaW1lSW5wdXRGb2N1cygpOyBpbnZva2VPbkZvY3VzKCRldmVudCk7XCJcbiAgICAgICAgKGJsdXIpPVwib25JbnB1dEJsdXIoJGV2ZW50KVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiXG4gICAgICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgW3JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIlxuICAgICAgICBbYXR0ci5wbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgIFthdHRyLmFjY2Vzc2tleV09XCJzaG9ydGN1dGtleVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaGludFwiXG4gICAgICAgIChjaGFuZ2UpPVwib25EaXNwbGF5RGF0ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGtleWRvd24pPVwidGhpcy5fdHJpZ2dlcmVkQnlVc2VyID0gdHJ1ZTsgb25EaXNwbGF5S2V5ZG93bigkZXZlbnQpO1wiPlxuXG4gICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1ncm91cC1idG5cIj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IGJ0bi10aW1lXCJcbiAgICAgICAgICAgIFt0YWJpbmRleF09XCJsb2FkTmF0aXZlRGF0ZUlucHV0ID8gJy0xJyA6IHRhYmluZGV4XCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIiEhbG9hZE5hdGl2ZURhdGVJbnB1dFwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJkaXNwbGF5VmFsdWUgPyAnQ2hhbmdlIERhdGUgJyArIGRpc3BsYXlWYWx1ZSA6ICdDaG9vc2UgZGF0ZSBieSBwcmVzc2luZyBlbnRlcidcIlxuICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgICAgYXJpYS1leHBhbmRlZD1cImZhbHNlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVEcERyb3Bkb3duKCRldmVudCwgZmFsc2UpXCI+XG4gICAgICAgICAgICA8aSBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYXBwLWljb24gd20tc2wtbCBzbC1jYWxlbmRhclwiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9zcGFuPlxuICAgIDxkaXYgc3R5bGU9XCJ3aWR0aDogMDtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XCI+XG4gICAgPGlucHV0IGNsYXNzPVwibW9kZWwtaG9sZGVyXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cImRhdGVwaWNrZXIgZHJvcGRvd25tZW51XCJcbiAgICAgICAgYXJpYS1jb250cm9scz1cImRhdGVcIlxuICAgICAgICBbdGFiaW5kZXhdPVwiLTFcIlxuICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCIhIWxvYWROYXRpdmVEYXRlSW5wdXRcIlxuICAgICAgICBbY29udGFpbmVyXT1cImNvbnRhaW5lclRhcmdldCB8fCAnLndtLWFwcCdcIlxuICAgICAgICBbYnNDb25maWddPVwiX2RhdGVPcHRpb25zXCJcbiAgICAgICAgW2lzT3Blbl09XCJpc09wZW5cIlxuICAgICAgICAjZGF0ZXBpY2tlcj1cImJzRGF0ZXBpY2tlclwiXG4gICAgICAgIGJzRGF0ZXBpY2tlclxuICAgICAgICBbZGF5c0Rpc2FibGVkXT1cImV4Y2x1ZGVkRGF5c1RvRGlzYWJsZVwiXG4gICAgICAgIFtkYXRlc0Rpc2FibGVkXT1cImV4Y2x1ZGVkRGF0ZXNUb0Rpc2FibGVcIlxuICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b20gcmlnaHRcIlxuICAgICAgICBbaXNEaXNhYmxlZF09XCJkaXNhYmxlZCB8fCByZWFkb25seVwiXG4gICAgICAgIFtic1ZhbHVlXT1cImJzRGF0YVZhbHVlXCJcbiAgICAgICAgKG9uU2hvd24pPVwib25EYXRlUGlja2VyT3BlbigpXCJcbiAgICAgICAgKG9uSGlkZGVuKT1cImhpZGVEYXRlcGlja2VyRHJvcGRvd24oKVwiXG4gICAgICAgIChic1ZhbHVlQ2hhbmdlKT1cIm9uRGF0ZUNoYW5nZSgkZXZlbnQpXCI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlIFtuZ0lmXT1cImxvYWROYXRpdmVEYXRlSW5wdXRcIj5cbiAgICA8d20tZGF0ZXRpbWVwaWNrZXJcbiAgICAgICAgZGF0ZVRpbWVQaWNrZXJcbiAgICAgICAgbW9kZT1cIkRBVEVcIlxuICAgICAgICBbY29uZmlnXT1cIl9kYXRlT3B0aW9uc1wiXG4gICAgICAgIFtwbGFjZW1lbnRdPVwibW9kYWxcIlxuICAgICAgICBbZXhjbHVkZWREYXlzVG9EaXNhYmxlXT1cImV4Y2x1ZGVkRGF5c1RvRGlzYWJsZVwiXG4gICAgICAgIFtleGNsdWRlZERhdGVzVG9EaXNhYmxlXT1cImV4Y2x1ZGVkRGF0ZXNUb0Rpc2FibGVcIlxuICAgICAgICBbZGlzcGxheUZvcm1hdF09XCJkYXRlSW5wdXRGb3JtYXRcIlxuICAgICAgICBbdmFsdWVdPVwiYnNEYXRhVmFsdWVcIlxuICAgICAgICAoY2hhbmdlKT1cIm9uRGF0ZUNoYW5nZSgkZXZlbnQpXCI+XG4gICAgPC93bS1kYXRldGltZXBpY2tlcj5cbiAgICA8ZGl2IGNsYXNzPVwibW9iaWxlLWlucHV0IG1vYmlsZS1kYXRlcGlja2VyLWNvbnRhaW5lclwiXG4gICAgICAgIFt0YWJpbmRleF09XCJ0YWJpbmRleCB8fCAwXCJcbiAgICAgICAgIChjbGljayk9XCIhKGRpc2FibGVkIHx8IHJlYWRvbmx5IHx8IGlzQ3VycmVudERhdGUpICYmIHNob3dEYXRlUGlja2VyTW9kYWwoYnNEYXRhVmFsdWUpXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRGF0ZVRpbWVJbnB1dEZvY3VzKHRydWUpOyBpbnZva2VPbkZvY3VzKCRldmVudCk7XCJcbiAgICAgICAgKGJsdXIpPVwib25EYXRlVGltZUlucHV0Qmx1cigpOyBpbnZva2VPblRvdWNoZWQoJGV2ZW50KVwiXG4gICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImRpc3BsYXlWYWx1ZSA/ICdDaGFuZ2UgRGF0ZSAnICsgZGlzcGxheVZhbHVlIDogaGludCB8fCAnQ2hvb3NlIERhdGUnXCJcbiAgICAgICAgIHJvbGU9XCJidXR0b25cIj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
323
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvZXBvY2gvc3JjL2RhdGUvZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvZXBvY2gvc3JjL2RhdGUvZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVqRSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLHlCQUF5QixFQUN6QixXQUFXLEVBRVgsY0FBYyxFQUNkLFVBQVUsRUFDVix3QkFBd0IsRUFDeEIsZ0JBQWdCLEVBQ2hCLHlCQUF5QixFQUN6QixxQkFBcUIsRUFDeEIsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFpQixTQUFTLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7O0lDc0MzQyw0Q0FTb0M7SUFBaEMscUxBQVUsZUFBQSwyQkFBb0IsQ0FBQSxJQUFDO0lBQ25DLGlCQUFvQjtJQUNw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QUFBO1lBRy9DLDhFQW9CYzs7WUEzRU4sK0JBQWEsbUJBQUEsZ0JBQUEsMkRBQUEsMkJBQUEsMENBQUEsNEJBQUEsMEJBQUEsNEJBQUE7WUFLYix3REFBMEMsZ0NBQUEsOEJBQUEsd0JBQUE7WUFrQnRDLGVBQWtEO1lBQWxELHdFQUFrRCwwQ0FBQTtZQUNsRCx3REFBMEMsc0dBQUE7WUFjOUMsZUFBZTtZQUFmLDZCQUFlLCtDQUFBLDhCQUFBLHNCQUFBLDJDQUFBLDZDQUFBLDRDQUFBLDRCQUFBO1lBQ2Ysd0RBQTBDO1lBZ0JyQyxlQUE0QjtZQUE1Qiw4Q0FBNEI7Ozt1RkRqQjVCLGFBQWE7Y0FUekIsU0FBUzsyQkFDSSxVQUFVLGFBRVQ7b0JBQ1AsU0FBUyxnQkFBZ0IsaUJBQWlCLEVBQUUsSUFBSSxDQUFDO29CQUNqRCxTQUFTLGdCQUFnQixhQUFhLEVBQUUsSUFBSSxDQUFDO29CQUM3QyxrQkFBa0IsZUFBZTtpQkFDcEM7cUhBMEQyQyxxQkFBcUI7a0JBQWhFLFNBQVM7bUJBQUMscUJBQXFCO1lBQ2dCLEtBQUs7a0JBQXBELFNBQVM7bUJBQUMsV0FBVyxFQUFFLEVBQUMsSUFBSSxFQUFFLGNBQWMsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEluamVjdG9yLCBWaWV3Q2hpbGQsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBOR19WQUxJREFUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBCc0RhdGVwaWNrZXJEaXJlY3RpdmUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL2RhdGVwaWNrZXInO1xuXG5pbXBvcnQge1xuICAgIGFkanVzdENvbnRhaW5lclBvc2l0aW9uLFxuICAgIGFkZEV2ZW50TGlzdGVuZXJPbkVsZW1lbnQsXG4gICAgQXBwRGVmYXVsdHMsXG4gICAgRVZFTlRfTElGRSxcbiAgICBGb3JtV2lkZ2V0VHlwZSxcbiAgICBnZXREYXRlT2JqLFxuICAgIGdldERpc3BsYXlEYXRlVGltZUZvcm1hdCxcbiAgICBnZXRGb3JtYXR0ZWREYXRlLFxuICAgIGFkanVzdENvbnRhaW5lclJpZ2h0RWRnZXMsXG4gICAgZ2V0TW9tZW50TG9jYWxlT2JqZWN0XG59IGZyb20gJ0B3bS9jb3JlJztcbmltcG9ydCB7IElXaWRnZXRDb25maWcsIHByb3ZpZGVBcywgcHJvdmlkZUFzV2lkZ2V0UmVmLCBzZXRGb2N1c1RyYXAsIHN0eWxlciB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHsgQmFzZURhdGVUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi8uLi9iYXNlLWRhdGUtdGltZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgcmVnaXN0ZXJQcm9wcyB9IGZyb20gJy4vZGF0ZS5wcm9wcyc7XG5pbXBvcnQgeyB2YWxpZGF0ZVRoZU1hc2tlZERhdGUgfSBmcm9tICcuL2ltYXNrVXRpbCc7XG5pbXBvcnQgeyBJTWFza0RpcmVjdGl2ZSB9IGZyb20gJ2FuZ3VsYXItaW1hc2snO1xuXG5kZWNsYXJlIGNvbnN0IF8sICQ7XG5cbmNvbnN0IENVUlJFTlRfREFURSA9ICdDVVJSRU5UX0RBVEUnO1xuY29uc3QgREVGQVVMVF9DTFMgPSAnYXBwLWRhdGUgaW5wdXQtZ3JvdXAnO1xuY29uc3QgV0lER0VUX0NPTkZJRzogSVdpZGdldENvbmZpZyA9IHtcbiAgICB3aWRnZXRUeXBlOiAnd20tZGF0ZScsXG4gICAgaG9zdENsYXNzOiBERUZBVUxUX0NMU1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbd21EYXRlXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBwcm92aWRlQXMoRGF0ZUNvbXBvbmVudCwgTkdfVkFMVUVfQUNDRVNTT1IsIHRydWUpLFxuICAgICAgICBwcm92aWRlQXMoRGF0ZUNvbXBvbmVudCwgTkdfVkFMSURBVE9SUywgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihEYXRlQ29tcG9uZW50KVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRGF0ZUNvbXBvbmVudCBleHRlbmRzIEJhc2VEYXRlVGltZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBwdWJsaWMgYnNEYXRhVmFsdWU7XG4gICAgcHVibGljIHNob3dkcm9wZG93bm9uOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBkYXRlQ29udGFpbmVyQ2xzOiBzdHJpbmc7XG4gICAgcHVibGljIGlzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHByaXZhdGUgaXNFbnRlclByZXNzZWRPbkRhdGVJbnB1dCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2JzRGVmYXVsdExvYWRDaGVjazogYm9vbGVhbjtcbiAgICBwdWJsaWMgaGludDogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBkZXJlZ2lzdGVyRXZlbnRMaXN0ZW5lcjtcbiAgICBwcml2YXRlIGlzQ3VycmVudERhdGU7XG4gICAgcHJpdmF0ZSBmb2N1c1RyYXA7XG4gICAgcHJpdmF0ZSBzaG93ZGF0ZWZvcm1hdGFzcGxhY2Vob2xkZXIgPSBmYWxzZTtcbiAgICBtYXNrO1xuXG4gICAgZ2V0IHRpbWVzdGFtcCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnNEYXRhVmFsdWUgPyB0aGlzLmJzRGF0YVZhbHVlLnZhbHVlT2YoKSA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBnZXQgZGF0ZUlucHV0Rm9ybWF0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZU9wdGlvbnMuZGF0ZUlucHV0Rm9ybWF0IHx8ICd5eXl5LU1NLWRkJztcbiAgICB9XG5cbiAgICBnZXQgZGlzcGxheVZhbHVlKCkge1xuICAgICAgICByZXR1cm4gZ2V0Rm9ybWF0dGVkRGF0ZSh0aGlzLmRhdGVQaXBlLCB0aGlzLmJzRGF0YVZhbHVlLCB0aGlzLmRhdGVJbnB1dEZvcm1hdCwgdGhpcy50aW1lWm9uZSwgbnVsbCwgdGhpcy5pc0N1cnJlbnREYXRlLCB0aGlzKSB8fCAnJztcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRGlzcGxheVZhbHVlKCkge1xuICAgICAgICByZXR1cm4gZ2V0Rm9ybWF0dGVkRGF0ZSh0aGlzLmRhdGVQaXBlLCB0aGlzLmJzRGF0YVZhbHVlLCAneXl5eS1NTS1kZCcsIHRoaXMudGltZVpvbmUsIG51bGwsIHRoaXMuaXNDdXJyZW50RGF0ZSwgdGhpcykgfHwgJyc7XG4gICAgfVxuXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGdldCBkYXRhdmFsdWUoKSB7XG4gICAgICAgIHJldHVybiBnZXRGb3JtYXR0ZWREYXRlKHRoaXMuZGF0ZVBpcGUsIHRoaXMuYnNEYXRhVmFsdWUsIHRoaXMub3V0cHV0Zm9ybWF0LCB0aGlzLnRpbWVab25lLCBudWxsLCB0aGlzLmlzQ3VycmVudERhdGUsIHRoaXMpIHx8ICcnO1xuICAgIH1cblxuICAgIC8vIFRvZG9bU2h1YmhhbV06IG5lZWRzIHRvIGJlIHJlZGVmaW5lZFxuICAgIC8vIHNldHMgdGhlIGRhdGFWYWx1ZSBhbmQgY29tcHV0ZXMgdGhlIGRpc3BsYXkgbW9kZWwgdmFsdWVzXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHNldCBkYXRhdmFsdWUobmV3VmFsKSB7XG4gICAgICAgIGlmIChuZXdWYWwgPT09IENVUlJFTlRfREFURSkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5ic0RhdGFWYWx1ZSA9IHRoaXMudGltZVpvbmUgPyBnZXRNb21lbnRMb2NhbGVPYmplY3QodGhpcy50aW1lWm9uZSkgOiBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgfSwgNTApO1xuICAgICAgICAgICAgdGhpcy5pc0N1cnJlbnREYXRlID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYnNEYXRhVmFsdWUgPSBuZXdWYWwgPyBnZXREYXRlT2JqKG5ld1ZhbCwge2lzTmF0aXZlUGlja2VyOiB0aGlzLmxvYWROYXRpdmVEYXRlSW5wdXR9LCB0aGlzLnRpbWVab25lKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHRoaXMuaXNDdXJyZW50RGF0ZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIC8vIHVwZGF0ZSB0aGUgcHJldmlvdXMgZGF0YXZhbHVlLlxuICAgICAgICB0aGlzLmludm9rZU9uQ2hhbmdlKHRoaXMuZGF0YXZhbHVlLCB1bmRlZmluZWQsIHRydWUpO1xuICAgICAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBAVmlld0NoaWxkKEJzRGF0ZXBpY2tlckRpcmVjdGl2ZSkgcHJvdGVjdGVkIGJzRGF0ZVBpY2tlckRpcmVjdGl2ZTtcbiAgICBAVmlld0NoaWxkKCdkYXRlSW5wdXQnLCB7cmVhZDogSU1hc2tEaXJlY3RpdmV9KSBpbWFzazogSU1hc2tEaXJlY3RpdmU8YW55PjtcblxuICAgIC8vIFRPRE8gdXNlIEJzTG9jYWxlU2VydmljZSB0byBzZXQgdGhlIGN1cnJlbnQgdXNlcidzIGxvY2FsZSB0byBzZWUgdGhlIGxvY2FsaXplZCBsYWJlbHNcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgYXBwRGVmYXVsdHM6IEFwcERlZmF1bHRzXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluaiwgV0lER0VUX0NPTkZJRyk7XG4gICAgICAgIHN0eWxlcih0aGlzLm5hdGl2ZUVsZW1lbnQsIHRoaXMpO1xuXG4gICAgICAgIHRoaXMuZGF0ZUNvbnRhaW5lckNscyA9IGBhcHAtZGF0ZS0ke3RoaXMud2lkZ2V0SWR9YDtcbiAgICAgICAgdGhpcy5fZGF0ZU9wdGlvbnMuY29udGFpbmVyQ2xhc3MgPSBgYXBwLWRhdGUgJHt0aGlzLmRhdGVDb250YWluZXJDbHN9YDtcbiAgICAgICAgdGhpcy5fZGF0ZU9wdGlvbnMuc2hvd1dlZWtOdW1iZXJzID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2JzRGVmYXVsdExvYWRDaGVjayA9IHRydWU7XG4gICAgICAgIHRoaXMuZGF0ZXBhdHRlcm4gPSB0aGlzLmFwcERlZmF1bHRzLmRhdGVGb3JtYXQgfHwgZ2V0RGlzcGxheURhdGVUaW1lRm9ybWF0KEZvcm1XaWRnZXRUeXBlLkRBVEUpO1xuICAgICAgICB0aGlzLnVwZGF0ZUZvcm1hdCgnZGF0ZXBhdHRlcm4nKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogVGhpcyBpcyBhbiBpbnRlcm5hbCBtZXRob2QgdHJpZ2dlcmVkIHdoZW4gdGhlIGRhdGUgaW5wdXQgY2hhbmdlc1xuICAgICAqL1xuICAgIG9uRGlzcGxheURhdGVDaGFuZ2UoJGV2ZW50LCBpc05hdGl2ZVBpY2tlcjogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgICAgIHRoaXMudXBkYXRlSU1hc2soKTtcbiAgICAgICAgaWYgKHRoaXMuaXNFbnRlclByZXNzZWRPbkRhdGVJbnB1dCkge1xuICAgICAgICAgICAgdGhpcy5pc0VudGVyUHJlc3NlZE9uRGF0ZUlucHV0ID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV3VmFsID0gZ2V0RGF0ZU9iaigkZXZlbnQudGFyZ2V0LnZhbHVlLCB7cGF0dGVybjogdGhpcy5kYXRlcGF0dGVybiwgaXNOYXRpdmVQaWNrZXI6IGlzTmF0aXZlUGlja2VyfSk7XG4gICAgICAgIC8vIGRhdGUgcGF0dGVybiB2YWxpZGF0aW9uXG4gICAgICAgIC8vIGlmIGludmFsaWQgcGF0dGVybiBpcyBlbnRlcmVkLCBkZXZpY2UgaXMgc2hvd2luZyBhbiBlcnJvci5cbiAgICAgICAgaWYgKCF0aGlzLmZvcm1hdFZhbGlkYXRpb24obmV3VmFsLCAkZXZlbnQudGFyZ2V0LnZhbHVlLCBpc05hdGl2ZVBpY2tlcikpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBtaW4gZGF0ZSBhbmQgbWF4IGRhdGUgdmFsaWRhdGlvbiBpbiBtb2JpbGUgdmlldy5cbiAgICAgICAgLy8gaWYgaW52YWxpZCBkYXRlcyBhcmUgZW50ZXJlZCwgZGV2aWNlIGlzIHNob3dpbmcgYW4gYWxlcnQuXG4gICAgICAgIGlmIChpc05hdGl2ZVBpY2tlciAmJiB0aGlzLm1pbkRhdGVNYXhEYXRlVmFsaWRhdGlvbk9uSW5wdXQobmV3VmFsLCAkZXZlbnQsIHRoaXMuZGlzcGxheVZhbHVlLCBpc05hdGl2ZVBpY2tlcikpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldERhdGFWYWx1ZShuZXdWYWwpO1xuICAgIH1cblxuICAgIC8vIHNldHMgdGhlIGRhdGFWYWx1ZSBhbmQgY29tcHV0ZXMgdGhlIGRpc3BsYXkgbW9kZWwgdmFsdWVzXG4gICAgcHJpdmF0ZSBzZXREYXRhVmFsdWUobmV3VmFsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW52YWxpZERhdGVUaW1lRm9ybWF0ID0gZmFsc2U7XG4gICAgICAgIC8vIG1pbiBkYXRlIGFuZCBtYXggZGF0ZSB2YWxpZGF0aW9uIGluIHdlYi5cbiAgICAgICAgLy8gaWYgaW52YWxpZCBkYXRlcyBhcmUgZW50ZXJlZCwgZGV2aWNlIGlzIHNob3dpbmcgdmFsaWRhdGlvbiBtZXNzYWdlLlxuICAgICAgICB0aGlzLm1pbkRhdGVNYXhEYXRlVmFsaWRhdGlvbk9uSW5wdXQobmV3VmFsKTtcbiAgICAgICAgaWYgKGdldEZvcm1hdHRlZERhdGUodGhpcy5kYXRlUGlwZSwgbmV3VmFsLCB0aGlzLmRhdGVJbnB1dEZvcm1hdCwgdGhpcy50aW1lWm9uZSwgbnVsbCwgdGhpcy5pc0N1cnJlbnREYXRlLCB0aGlzKSA9PT0gdGhpcy5kaXNwbGF5VmFsdWUpIHtcbiAgICAgICAgICAgICQodGhpcy5uYXRpdmVFbGVtZW50KS5maW5kKCcuZGlzcGxheS1pbnB1dCcpLnZhbCh0aGlzLmRpc3BsYXlWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5ld1ZhbCkge1xuICAgICAgICAgICAgdGhpcy5ic0RhdGFWYWx1ZSA9IG5ld1ZhbDtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlSU1hc2soKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYnNEYXRhVmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbnZva2VPbkNoYW5nZSh0aGlzLmRhdGF2YWx1ZSwge30sIHRydWUpO1xuICAgIH1cblxuICAgIG9uRGF0ZVBpY2tlck9wZW4oKSB7XG4gICAgICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5ic0RhdGFWYWx1ZSA/IHRoaXMuYWN0aXZlRGF0ZSA9IHRoaXMuYnNEYXRhVmFsdWUgOiB0aGlzLmFjdGl2ZURhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBpZiAoIXRoaXMuYnNEYXRhVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaGlnaHRsaWdodFRvZGF5KHRoaXMuYWN0aXZlRGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGRhdGVJTWFzaygpO1xuXG4gICAgICAgIC8vIFdlIGFyZSB1c2luZyB0aGUgdHdvIGlucHV0IHRhZ3MoVG8gbWFpbnRhaW4gdGhlIG1vZGFsIGFuZCBwcm94eSBtb2RhbCkgZm9yIHRoZSBkYXRlIGNvbnRyb2wuXG4gICAgICAgIC8vIFNvIGFjdHVhbCBib290c3RyYXAgaW5wdXQgdGFyZ2V0IHdpZHRoIHdlIG1hZGUgaXQgdG8gMCwgc28gYm9vdHN0cmFwIGNhbGN1bGF0aW5nIHRoZSBjYWxlbmRhciBjb250YWluZXIgdG9wIHBvc2l0aW9uIGltcHJvcGVybHkuXG4gICAgICAgIC8vIFRvIGZpeCB0aGUgY29udGFpbmVyIHRvcCBwb3NpdGlvbiBzZXQgdGhlIHdpZHRoIDFweDtcbiAgICAgICAgdGhpcy4kZWxlbWVudC5maW5kKCcubW9kZWwtaG9sZGVyJykud2lkdGgoJzFweCcpO1xuICAgICAgICBjb25zdCBkcENvbnRhaW5lckVsID0gJCgnYnMtZGF0ZXBpY2tlci1jb250YWluZXInKTtcbiAgICAgICAgZHBDb250YWluZXJFbC5hdHRyKCdhcmlhLWxhYmVsJywgJ1VzZSBBcnJvdyBrZXlzIHRvIG5hdmlnYXRlIGRhdGVzLCBDaG9vc2UgRGF0ZSBmcm9tIGRhdGVwaWNrZXInKTtcbiAgICAgICAgJCgnLmJzLWNhbGVuZGFyLWNvbnRhaW5lcicpLnJlbW92ZUF0dHIoJ3JvbGUnKTtcbiAgICAgICAgY29uc3QgZGF0ZVBpY2tlckNvbnRhaW5lciA9ICQoJy5icy1kYXRlcGlja2VyLWNvbnRhaW5lcicpWzBdO1xuICAgICAgICB0aGlzLmZvY3VzVHJhcCA9IHNldEZvY3VzVHJhcChkYXRlUGlja2VyQ29udGFpbmVyLCB0cnVlKTtcbiAgICAgICAgdGhpcy5mb2N1c1RyYXAuYWN0aXZhdGUoKTtcbiAgICAgICAgdGhpcy5hZGREYXRlcGlja2VyS2V5Ym9hcmRFdmVudHModGhpcywgZmFsc2UpO1xuICAgICAgICBhZGp1c3RDb250YWluZXJQb3NpdGlvbigkKCdicy1kYXRlcGlja2VyLWNvbnRhaW5lcicpLCB0aGlzLm5hdGl2ZUVsZW1lbnQsIHRoaXMuYnNEYXRlUGlja2VyRGlyZWN0aXZlLl9kYXRlcGlja2VyKTtcbiAgICAgICAgYWRqdXN0Q29udGFpbmVyUmlnaHRFZGdlcygkKCdicy1kYXRlcGlja2VyLWNvbnRhaW5lcicpLCB0aGlzLm5hdGl2ZUVsZW1lbnQsIHRoaXMuYnNEYXRlUGlja2VyRGlyZWN0aXZlLl9kYXRlcGlja2VyKTtcbiAgICB9XG4gICAgb25JbnB1dEJsdXIoJGV2ZW50KSB7XG4gICAgICAgIHRoaXMudXBkYXRlSU1hc2soKTtcbiAgICAgICAgaWYgKCEkKCRldmVudC5yZWxhdGVkVGFyZ2V0KS5oYXNDbGFzcygnY3VycmVudC1kYXRlJykpIHtcbiAgICAgICAgICAgIHRoaXMuaW52b2tlT25Ub3VjaGVkKCk7XG4gICAgICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2soJ2JsdXInLCB7ICRldmVudCB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZUlNYXNrKCkge1xuICAgICAgICB0aGlzLmltYXNrPy5tYXNrUmVmPy51cGRhdGVWYWx1ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBoaWRlRGF0ZXBpY2tlckRyb3Bkb3duKCkge1xuICAgICAgICB0aGlzLmludm9rZU9uVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmZvY3VzVHJhcD8uZGVhY3RpdmF0ZSgpO1xuICAgICAgICB0aGlzLmlzRW50ZXJQcmVzc2VkT25EYXRlSW5wdXQgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuZGVyZWdpc3RlckV2ZW50TGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMuZGVyZWdpc3RlckV2ZW50TGlzdGVuZXIoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmJsdXJEYXRlSW5wdXQodGhpcy5pc09wZW4pO1xuICAgIH1cblxuICAgIC8vIGNoYW5nZSBhbmQgYmx1ciBldmVudHMgYXJlIGFkZGVkIGZyb20gdGhlIHRlbXBsYXRlXG4gICAgcHJvdGVjdGVkIGhhbmRsZUV2ZW50KG5vZGU6IEhUTUxFbGVtZW50LCBldmVudE5hbWU6IHN0cmluZywgY2FsbGJhY2s6IEZ1bmN0aW9uLCBsb2NhbHM6IGFueSkge1xuICAgICAgICBpZiAoIV8uaW5jbHVkZXMoWydibHVyJywgJ2ZvY3VzJywgJ2NoYW5nZScsICdjbGljayddLCBldmVudE5hbWUpKSB7XG4gICAgICAgICAgICBzdXBlci5oYW5kbGVFdmVudChub2RlLCBldmVudE5hbWUsIGNhbGxiYWNrLCBsb2NhbHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBpcyBhbiBpbnRlcm5hbCBtZXRob2QgdXNlZCB0byB0b2dnbGUgdGhlIGRyb3Bkb3duIG9mIHRoZSBkYXRlIHdpZGdldFxuICAgICAqL1xuICAgICBwdWJsaWMgdG9nZ2xlRHBEcm9wZG93bigkZXZlbnQsIHNraXBGb2N1czogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgICAgIGlmICh0aGlzLmxvYWROYXRpdmVEYXRlSW5wdXQpIHtcbiAgICAgICAgICAgICAvLyBGaXhlcyBjbGljayBldmVudCBnZXR0aW5nIHRyaWdncmVkIHR3aWNlIGluIE1vYmlsZSBkZXZpY2VzLlxuICAgICAgICAgICAgaWYgKCFza2lwRm9jdXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uRGF0ZVRpbWVJbnB1dEZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCRldmVudC50eXBlID09PSAnY2xpY2snKSB7XG4gICAgICAgICAgICB0aGlzLmludm9rZUV2ZW50Q2FsbGJhY2soJ2NsaWNrJywgeyAkZXZlbnQ6ICRldmVudCB9KTtcbiAgICAgICAgICAvLyAgdGhpcy5mb2N1c09uSW5wdXRFbCgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICgkZXZlbnQudGFyZ2V0ICYmICQoJGV2ZW50LnRhcmdldCkuaXMoJ2lucHV0JykgJiYgISh0aGlzLmlzRHJvcERvd25EaXNwbGF5RW5hYmxlZE9uSW5wdXQodGhpcy5zaG93ZHJvcGRvd25vbikpKSB7XG4gICAgICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ic0RhdGVQaWNrZXJEaXJlY3RpdmUudG9nZ2xlKCk7XG4gICAgICAgIHRoaXMuYWRkQm9keUNsaWNrTGlzdGVuZXIodGhpcy5ic0RhdGVQaWNrZXJEaXJlY3RpdmUuaXNPcGVuKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZEJvZHlDbGlja0xpc3RlbmVyKHNraXBMaXN0ZW5lcikge1xuICAgICAgICBpZiAoIXNraXBMaXN0ZW5lcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGJvZHlFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYm9keScpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGJzRGF0ZUNvbnRhaW5lckVsZW1lbnQgPSBib2R5RWxlbWVudC5xdWVyeVNlbGVjdG9yKGAuJHt0aGlzLmRhdGVDb250YWluZXJDbHN9YCk7XG4gICAgICAgICAgICB0aGlzLmRlcmVnaXN0ZXJFdmVudExpc3RlbmVyID0gYWRkRXZlbnRMaXN0ZW5lck9uRWxlbWVudChib2R5RWxlbWVudCwgYnNEYXRlQ29udGFpbmVyRWxlbWVudCwgdGhpcy5uYXRpdmVFbGVtZW50LCAnY2xpY2snLCB0aGlzLmlzRHJvcERvd25EaXNwbGF5RW5hYmxlZE9uSW5wdXQodGhpcy5zaG93ZHJvcGRvd25vbiksICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgICAgICAgICAgfSwgRVZFTlRfTElGRS5PTkNFLCB0cnVlKTtcbiAgICAgICAgfSwgMzUwKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGlzIGFuIGludGVybmFsIG1ldGhvZCB0cmlnZ2VyZWQgd2hlbiBwcmVzc2luZyBrZXkgb24gdGhlIGRhdGUgaW5wdXRcbiAgICAgKi9cbiAgICBwdWJsaWMgb25EaXNwbGF5S2V5ZG93bihldmVudCkge1xuICAgICAgICBpZiAodGhpcy5pc0Ryb3BEb3duRGlzcGxheUVuYWJsZWRPbklucHV0KHRoaXMuc2hvd2Ryb3Bkb3dub24pKSB7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdWYWwgPSBnZXREYXRlT2JqKGV2ZW50LnRhcmdldC52YWx1ZSwge3BhdHRlcm46IHRoaXMuZGF0ZXBhdHRlcm59KTtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSBnZXRGb3JtYXR0ZWREYXRlKHRoaXMuZGF0ZVBpcGUsIG5ld1ZhbCwgdGhpcy5kYXRlSW5wdXRGb3JtYXQsIHRoaXMudGltZVpvbmUsIG51bGwsIHRoaXMuaXNDdXJyZW50RGF0ZSwgdGhpcyk7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5wdXRWYWwgPSBldmVudC50YXJnZXQudmFsdWUudHJpbSgpO1xuICAgICAgICAgICAgICAgIGlmIChpbnB1dFZhbCAmJiB0aGlzLmRhdGVwYXR0ZXJuID09PSAndGltZXN0YW1wJykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIV8uaXNOYU4oaW5wdXRWYWwpICYmIF8ucGFyc2VJbnQoaW5wdXRWYWwpICE9PSBmb3JtYXR0ZWREYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmludmFsaWREYXRlVGltZUZvcm1hdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmludm9rZU9uQ2hhbmdlKHRoaXMuZGF0YXZhbHVlLCBldmVudCwgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpbnB1dFZhbCAmJiBpbnB1dFZhbCAhPT0gZm9ybWF0dGVkRGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmludmFsaWREYXRlVGltZUZvcm1hdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW52b2tlT25DaGFuZ2UodGhpcy5kYXRhdmFsdWUsIGV2ZW50LCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnZhbGlkRGF0ZVRpbWVGb3JtYXQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0VudGVyUHJlc3NlZE9uRGF0ZUlucHV0ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ic0RhdGVQaWNrZXJEaXJlY3RpdmUuYnNWYWx1ZSA9ICBldmVudC50YXJnZXQudmFsdWUgPyBuZXdWYWwgOiAnJztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVJTWFzaygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZURwRHJvcGRvd24oZXZlbnQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGVEYXRlcGlja2VyRHJvcGRvd24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZURhdGVwaWNrZXJEcm9wZG93bigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBpcyBhbiBpbnRlcm5hbCBtZXRob2QgdHJpZ2dlcmVkIHdoZW4gdGhlIGRhdGUgc2VsZWN0aW9uIGNoYW5nZXNcbiAgICAgKi9cbiAgICBvbkRhdGVDaGFuZ2UobmV3VmFsKTogdm9pZCB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiAgTmd4LWJvb3RzdHJhcCB1cGdyYWRlIDogVG8gYXZvaWQgdGhlIHBhZ2UgbG9hZCBkYXRlY2hhbmdlIGV2ZW50O1xuICAgICAgICAgKiAgVE9ETzpcbiAgICAgICAgICogIGh0dHBzOi8vZ2l0aHViLmNvbS92YWxvci1zb2Z0d2FyZS9uZ3gtYm9vdHN0cmFwL2lzc3Vlcy82MDE2XG4gICAgICAgICAqICBGb3IgYWJvdmUgaXNzdWUsIG9uY2Ugd2UgZ2V0IHRoZSBzb2x1dGlvbiBmcm9tIE5neC1Cb290c3RyYXAgdGVhbSwgIHJlbW92ZSB0aGUgX2JzRGVmYXVsdExvYWRDaGVjayBjaGVjayBhbmQgdXBkYXRlIGFjY29yZGluZ2x5LlxuICAgICAgICAgKiAqL1xuICAgICAgICBpZiAodGhpcy5fYnNEZWZhdWx0TG9hZENoZWNrKSB7XG4gICAgICAgICAgICB0aGlzLl9ic0RlZmF1bHRMb2FkQ2hlY2sgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2V0RGF0YVZhbHVlKG5ld1ZhbCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgdGhpcy5pbWFzay5kZXN0cm95TWFzaygpO1xuICAgICAgICBpZiAodGhpcy5zaG93ZGF0ZWZvcm1hdGFzcGxhY2Vob2xkZXIgJiYgdGhpcy5kYXRlcGF0dGVybiAhPT0gJ3RpbWVzdGFtcCcpIHtcbiAgICAgICAgICAgIHRoaXMubWFzayA9IHZhbGlkYXRlVGhlTWFza2VkRGF0ZSh0aGlzLmRhdGVwYXR0ZXJuLCB0aGlzLnNlbGVjdGVkTG9jYWxlKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlSU1hc2soKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIiAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYXBwLXRleHRib3ggYXBwLWRhdGVpbnB1dCBkaXNwbGF5LWlucHV0XCJcbiAgICAgICAgZm9jdXMtdGFyZ2V0XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICNkYXRlSW5wdXRcbiAgICAgICAgW2ltYXNrXT1cIm1hc2tcIlxuICAgICAgICBbdW5tYXNrXT1cInRydWVcIlxuICAgICAgICBbdGFiaW5kZXhdPVwibG9hZE5hdGl2ZURhdGVJbnB1dCA/ICctMScgOiB0YWJpbmRleFwiXG4gICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIiEhbG9hZE5hdGl2ZURhdGVJbnB1dFwiXG4gICAgICAgIFt2YWx1ZV09XCJkaXNwbGF5VmFsdWVcIlxuICAgICAgICAoY2xpY2spPVwidG9nZ2xlRHBEcm9wZG93bigkZXZlbnQsIHRydWUpXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRGF0ZVRpbWVJbnB1dEZvY3VzKCk7IGludm9rZU9uRm9jdXMoJGV2ZW50KTsgdXBkYXRlSU1hc2soKVwiXG4gICAgICAgIChibHVyKT1cIm9uSW5wdXRCbHVyKCRldmVudClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIlxuICAgICAgICBbYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXG4gICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIFtyZWFkT25seV09XCJpc1JlYWRPbmx5XCJcbiAgICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICBbYXR0ci5hY2Nlc3NrZXldPVwic2hvcnRjdXRrZXlcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImhpbnRcIlxuICAgICAgICAoY2hhbmdlKT1cIm9uRGlzcGxheURhdGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duKT1cInRoaXMuX3RyaWdnZXJlZEJ5VXNlciA9IHRydWU7IG9uRGlzcGxheUtleWRvd24oJGV2ZW50KTtcIj5cblxuICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtYnRuXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZGVmYXVsdCBidG4tdGltZVwiXG4gICAgICAgICAgICBbdGFiaW5kZXhdPVwibG9hZE5hdGl2ZURhdGVJbnB1dCA/ICctMScgOiB0YWJpbmRleFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCIhIWxvYWROYXRpdmVEYXRlSW5wdXRcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IHJlYWRvbmx5XCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZGlzcGxheVZhbHVlID8gJ0NoYW5nZSBEYXRlICcgKyBkaXNwbGF5VmFsdWUgOiAnQ2hvb3NlIGRhdGUgYnkgcHJlc3NpbmcgZW50ZXInXCJcbiAgICAgICAgICAgIGFyaWEtaGFzcG9wdXA9XCJ0cnVlXCJcbiAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlRHBEcm9wZG93bigkZXZlbnQsIGZhbHNlKVwiPlxuICAgICAgICAgICAgPGkgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFwcC1pY29uIHdtLXNsLWwgc2wtY2FsZW5kYXJcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvc3Bhbj5cbiAgICA8ZGl2IHN0eWxlPVwid2lkdGg6IDA7ZGlzcGxheTogaW5saW5lLWJsb2NrO1wiPlxuICAgIDxpbnB1dCBjbGFzcz1cIm1vZGVsLWhvbGRlclwiXG4gICAgICAgIGFyaWEtbGFiZWw9XCJkYXRlcGlja2VyIGRyb3Bkb3dubWVudVwiXG4gICAgICAgIGFyaWEtY29udHJvbHM9XCJkYXRlXCJcbiAgICAgICAgW3RhYmluZGV4XT1cIi0xXCJcbiAgICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwiISFsb2FkTmF0aXZlRGF0ZUlucHV0XCJcbiAgICAgICAgW2NvbnRhaW5lcl09XCJjb250YWluZXJUYXJnZXQgfHwgJy53bS1hcHAnXCJcbiAgICAgICAgW2JzQ29uZmlnXT1cIl9kYXRlT3B0aW9uc1wiXG4gICAgICAgIFtpc09wZW5dPVwiaXNPcGVuXCJcbiAgICAgICAgI2RhdGVwaWNrZXI9XCJic0RhdGVwaWNrZXJcIlxuICAgICAgICBic0RhdGVwaWNrZXJcbiAgICAgICAgW2RheXNEaXNhYmxlZF09XCJleGNsdWRlZERheXNUb0Rpc2FibGVcIlxuICAgICAgICBbZGF0ZXNEaXNhYmxlZF09XCJleGNsdWRlZERhdGVzVG9EaXNhYmxlXCJcbiAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tIHJpZ2h0XCJcbiAgICAgICAgW2lzRGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgcmVhZG9ubHlcIlxuICAgICAgICBbYnNWYWx1ZV09XCJic0RhdGFWYWx1ZVwiXG4gICAgICAgIChvblNob3duKT1cIm9uRGF0ZVBpY2tlck9wZW4oKVwiXG4gICAgICAgIChvbkhpZGRlbik9XCJoaWRlRGF0ZXBpY2tlckRyb3Bkb3duKClcIlxuICAgICAgICAoYnNWYWx1ZUNoYW5nZSk9XCJvbkRhdGVDaGFuZ2UoJGV2ZW50KVwiPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSBbbmdJZl09XCJsb2FkTmF0aXZlRGF0ZUlucHV0XCI+XG4gICAgPHdtLWRhdGV0aW1lcGlja2VyXG4gICAgICAgIGRhdGVUaW1lUGlja2VyXG4gICAgICAgIG1vZGU9XCJEQVRFXCJcbiAgICAgICAgW2NvbmZpZ109XCJfZGF0ZU9wdGlvbnNcIlxuICAgICAgICBbcGxhY2VtZW50XT1cIm1vZGFsXCJcbiAgICAgICAgW2V4Y2x1ZGVkRGF5c1RvRGlzYWJsZV09XCJleGNsdWRlZERheXNUb0Rpc2FibGVcIlxuICAgICAgICBbZXhjbHVkZWREYXRlc1RvRGlzYWJsZV09XCJleGNsdWRlZERhdGVzVG9EaXNhYmxlXCJcbiAgICAgICAgW2Rpc3BsYXlGb3JtYXRdPVwiZGF0ZUlucHV0Rm9ybWF0XCJcbiAgICAgICAgW3ZhbHVlXT1cImJzRGF0YVZhbHVlXCJcbiAgICAgICAgKGNoYW5nZSk9XCJvbkRhdGVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgIDwvd20tZGF0ZXRpbWVwaWNrZXI+XG4gICAgPGRpdiBjbGFzcz1cIm1vYmlsZS1pbnB1dCBtb2JpbGUtZGF0ZXBpY2tlci1jb250YWluZXJcIlxuICAgICAgICBbdGFiaW5kZXhdPVwidGFiaW5kZXggfHwgMFwiXG4gICAgICAgICAoY2xpY2spPVwiIShkaXNhYmxlZCB8fCByZWFkb25seSB8fCBpc0N1cnJlbnREYXRlKSAmJiBzaG93RGF0ZVBpY2tlck1vZGFsKGJzRGF0YVZhbHVlKVwiXG4gICAgICAgIChmb2N1cyk9XCJvbkRhdGVUaW1lSW5wdXRGb2N1cyh0cnVlKTsgaW52b2tlT25Gb2N1cygkZXZlbnQpO1wiXG4gICAgICAgIChibHVyKT1cIm9uRGF0ZVRpbWVJbnB1dEJsdXIoKTsgaW52b2tlT25Ub3VjaGVkKCRldmVudClcIlxuICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJkaXNwbGF5VmFsdWUgPyAnQ2hhbmdlIERhdGUgJyArIGRpc3BsYXlWYWx1ZSA6IGhpbnQgfHwgJ0Nob29zZSBEYXRlJ1wiXG4gICAgICAgICByb2xlPVwiYnV0dG9uXCI+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
@@ -31,10 +31,11 @@ export const dateProps = new Map([
|
|
|
31
31
|
['clearbutton', { value: true, ...PROP_BOOLEAN }],
|
|
32
32
|
['adaptiveposition', { value: true, ...PROP_BOOLEAN }],
|
|
33
33
|
['todaybuttonlabel', { value: 'LABEL_TODAY_DATE', ...PROP_STRING }],
|
|
34
|
-
['clearbuttonlabel', { value: 'LABEL_CLEAR_DATE', ...PROP_STRING }]
|
|
34
|
+
['clearbuttonlabel', { value: 'LABEL_CLEAR_DATE', ...PROP_STRING }],
|
|
35
|
+
['showdateformatasplaceholder', PROP_BOOLEAN],
|
|
35
36
|
]);
|
|
36
37
|
export const registerProps = () => {
|
|
37
38
|
register('wm-date', dateProps);
|
|
38
39
|
registerFormWidget(FormWidgetType.DATE, new Map(dateProps));
|
|
39
40
|
};
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5wcm9wcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9lcG9jaC9zcmMvZGF0ZS9kYXRlLnByb3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckgsT0FBTyxFQUFFLGNBQWMsRUFBZSxNQUFNLFVBQVUsQ0FBQztBQUV2RCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLENBQzVCO0lBQ0ksQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDO0lBQzNCLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQztJQUN0QixDQUFDLGVBQWUsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQztJQUN2RCxDQUFDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQztJQUM3QixDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7SUFDMUIsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDO0lBQzVCLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQztJQUMxQixDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUM7SUFDNUIsQ0FBQyxjQUFjLEVBQUUsV0FBVyxDQUFDO0lBQzdCLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQztJQUNyQixDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUM7SUFDeEIsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDO0lBQ3hCLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQztJQUNyQixDQUFDLGNBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQztJQUN6RCxDQUFDLGFBQWEsRUFBRSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQztJQUN6RCxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUM7SUFDMUIsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDO0lBQzFCLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQztJQUM1QixDQUFDLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxZQUFZLEVBQUUsQ0FBQztJQUMxQyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLFdBQVcsRUFBRSxDQUFDO0lBQ3hELENBQUMsZUFBZSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLFlBQVksRUFBRSxDQUFDO0lBQ25ELENBQUMsa0JBQWtCLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsWUFBWSxFQUFFLENBQUM7SUFDdkQsQ0FBQyxjQUFjLEVBQUUsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQztJQUMvRSxDQUFDLFdBQVcsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsR0FBRyxZQUFZLEVBQUUsQ0FBQztJQUNoRCxDQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQztJQUMxQyxDQUFDLHNCQUFzQixFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLFlBQVksRUFBRSxDQUFDO0lBQzFELENBQUMsYUFBYSxFQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLFlBQVksRUFBRSxDQUFDO0lBQ2xELENBQUMsYUFBYSxFQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLFlBQVksRUFBRSxDQUFDO0lBQ2xELENBQUMsa0JBQWtCLEVBQUUsRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsWUFBWSxFQUFDLENBQUM7SUFDcEQsQ0FBQyxrQkFBa0IsRUFBRyxFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxHQUFHLFdBQVcsRUFBRSxDQUFDO0lBQ3BFLENBQUMsa0JBQWtCLEVBQUcsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQztJQUNwRSxDQUFDLDZCQUE2QixFQUFFLFlBQVksQ0FBQztDQUVoRCxDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsR0FBRyxFQUFFO0lBQzlCLFFBQVEsQ0FDSixTQUFTLEVBQ1QsU0FBUyxDQUNaLENBQUM7SUFDRixrQkFBa0IsQ0FDZCxjQUFjLENBQUMsSUFBSSxFQUNuQixJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FDckIsQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBST1BfQU5ZLCBQUk9QX0JPT0xFQU4sIFBST1BfTlVNQkVSLCBQUk9QX1NUUklORywgcmVnaXN0ZXIsIHJlZ2lzdGVyRm9ybVdpZGdldCB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHsgRm9ybVdpZGdldFR5cGUsIGlzTW9iaWxlQXBwIH0gZnJvbSAnQHdtL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgZGF0ZVByb3BzID0gbmV3IE1hcChcbiAgICBbXG4gICAgICAgIFsnYXV0b2ZvY3VzJywgUFJPUF9CT09MRUFOXSxcbiAgICAgICAgWydjbGFzcycsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydkYXRhZW50cnltb2RlJywgeyB2YWx1ZTogJ2RlZmF1bHQnLCAuLi5QUk9QX1NUUklORyB9XSxcbiAgICAgICAgWydkYXRhdmFsdWVzb3VyY2UnLCBQUk9QX0FOWV0sXG4gICAgICAgIFsnZGF0YXZhbHVlJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2RhdGVwYXR0ZXJuJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2Rpc2FibGVkJywgUFJPUF9CT09MRUFOXSxcbiAgICAgICAgWydleGNsdWRlZGF5cycsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydleGNsdWRlZGF0ZXMnLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnaGludCcsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydtYXhkYXRlJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ21pbmRhdGUnLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnbmFtZScsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydvdXRwdXRmb3JtYXQnLCB7IHZhbHVlOiAneXl5eS1NTS1kZCcsIC4uLlBST1BfU1RSSU5HIH1dLFxuICAgICAgICBbJ3BsYWNlaG9sZGVyJywgeyB2YWx1ZTogJ1NlbGVjdCBEYXRlJywgLi4uUFJPUF9TVFJJTkcgfV0sXG4gICAgICAgIFsncmVhZG9ubHknLCBQUk9QX0JPT0xFQU5dLFxuICAgICAgICBbJ3JlcXVpcmVkJywgUFJPUF9CT09MRUFOXSxcbiAgICAgICAgWydzaG9ydGN1dGtleScsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydzaG93JywgeyB2YWx1ZTogdHJ1ZSwgLi4uUFJPUF9CT09MRUFOIH1dLFxuICAgICAgICBbJ3Nob3dkcm9wZG93bm9uJywgeyB2YWx1ZTogJ2RlZmF1bHQnLCAuLi5QUk9QX1NUUklORyB9XSxcbiAgICAgICAgWydzaG93YnV0dG9uYmFyJywgeyB2YWx1ZTogdHJ1ZSwgLi4uUFJPUF9CT09MRUFOIH1dLCAvLyBUT0RPIG5vdCBhZGRyZXNzZWRcbiAgICAgICAgWydzaG93Y3VzdG9tcGlja2VyJywgeyB2YWx1ZTogZmFsc2UsIC4uLlBST1BfQk9PTEVBTiB9XSxcbiAgICAgICAgWydzaG93aW5kZXZpY2UnLCB7IGRpc3BsYXlUeXBlOiAnaW5saW5lLWJsb2NrJywgdmFsdWU6ICdhbGwnLCAuLi5QUk9QX1NUUklORyB9XSxcbiAgICAgICAgWydzaG93d2Vla3MnLCB7IHZhbHVlOiBmYWxzZSwgLi4uUFJPUF9CT09MRUFOIH1dLFxuICAgICAgICBbJ3RhYmluZGV4JywgeyB2YWx1ZTogMCwgLi4uUFJPUF9OVU1CRVIgfV0sXG4gICAgICAgIFsnc2VsZWN0ZnJvbW90aGVybW9udGgnLCB7IHZhbHVlOiB0cnVlLCAuLi5QUk9QX0JPT0xFQU4gfV0sXG4gICAgICAgIFsndG9kYXlidXR0b24nLCAgeyB2YWx1ZTogdHJ1ZSwgLi4uUFJPUF9CT09MRUFOIH1dLFxuICAgICAgICBbJ2NsZWFyYnV0dG9uJywgIHsgdmFsdWU6IHRydWUsIC4uLlBST1BfQk9PTEVBTiB9XSxcbiAgICAgICAgWydhZGFwdGl2ZXBvc2l0aW9uJywge3ZhbHVlOiB0cnVlLCAuLi5QUk9QX0JPT0xFQU59XSxcbiAgICAgICAgWyd0b2RheWJ1dHRvbmxhYmVsJywgIHsgdmFsdWU6ICdMQUJFTF9UT0RBWV9EQVRFJywgLi4uUFJPUF9TVFJJTkcgfV0sXG4gICAgICAgIFsnY2xlYXJidXR0b25sYWJlbCcsICB7IHZhbHVlOiAnTEFCRUxfQ0xFQVJfREFURScsIC4uLlBST1BfU1RSSU5HIH1dLFxuICAgICAgICBbJ3Nob3dkYXRlZm9ybWF0YXNwbGFjZWhvbGRlcicsIFBST1BfQk9PTEVBTl0sXG5cbiAgICBdXG4pO1xuXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJQcm9wcyA9ICgpID0+IHtcbiAgICByZWdpc3RlcihcbiAgICAgICAgJ3dtLWRhdGUnLFxuICAgICAgICBkYXRlUHJvcHNcbiAgICApO1xuICAgIHJlZ2lzdGVyRm9ybVdpZGdldChcbiAgICAgICAgRm9ybVdpZGdldFR5cGUuREFURSxcbiAgICAgICAgbmV3IE1hcChkYXRlUHJvcHMpXG4gICAgKTtcbn07XG4iXX0=
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import IMask from "imask";
|
|
2
|
+
export function validateTheMaskedDate(format, locale) {
|
|
3
|
+
if (format == 'timestamp') {
|
|
4
|
+
return false;
|
|
5
|
+
}
|
|
6
|
+
const modifiedFormat = format.toUpperCase().replace(/E/g, 'd');
|
|
7
|
+
const parseFn = str => {
|
|
8
|
+
return moment(str, modifiedFormat).toDate();
|
|
9
|
+
};
|
|
10
|
+
const formatFn = date => {
|
|
11
|
+
return moment(date, modifiedFormat).format(modifiedFormat);
|
|
12
|
+
};
|
|
13
|
+
return {
|
|
14
|
+
mask: Date,
|
|
15
|
+
pattern: modifiedFormat,
|
|
16
|
+
format: formatFn,
|
|
17
|
+
parse: parseFn,
|
|
18
|
+
blocks: {
|
|
19
|
+
YYYY: {
|
|
20
|
+
mask: IMask.MaskedRange,
|
|
21
|
+
from: 1900,
|
|
22
|
+
to: 9999,
|
|
23
|
+
placeholderChar: 'Y',
|
|
24
|
+
maxLength: 4,
|
|
25
|
+
},
|
|
26
|
+
YYY: {
|
|
27
|
+
mask: IMask.MaskedRange,
|
|
28
|
+
from: 900,
|
|
29
|
+
to: 999,
|
|
30
|
+
placeholderChar: 'Y',
|
|
31
|
+
maxLength: 3,
|
|
32
|
+
},
|
|
33
|
+
YY: {
|
|
34
|
+
mask: IMask.MaskedRange,
|
|
35
|
+
from: 0,
|
|
36
|
+
to: 99,
|
|
37
|
+
placeholderChar: 'Y',
|
|
38
|
+
maxLength: 2,
|
|
39
|
+
},
|
|
40
|
+
Y: {
|
|
41
|
+
mask: IMask.MaskedRange,
|
|
42
|
+
from: 1900,
|
|
43
|
+
to: 9999,
|
|
44
|
+
placeholderChar: 'Y',
|
|
45
|
+
maxLength: 4,
|
|
46
|
+
},
|
|
47
|
+
M: {
|
|
48
|
+
mask: IMask.MaskedRange,
|
|
49
|
+
from: 1,
|
|
50
|
+
to: 12,
|
|
51
|
+
placeholderChar: 'M',
|
|
52
|
+
maxLength: 2,
|
|
53
|
+
},
|
|
54
|
+
MM: {
|
|
55
|
+
mask: IMask.MaskedRange,
|
|
56
|
+
from: 1,
|
|
57
|
+
to: 12,
|
|
58
|
+
placeholderChar: 'M',
|
|
59
|
+
maxLength: 2,
|
|
60
|
+
},
|
|
61
|
+
MMM: {
|
|
62
|
+
mask: IMask.MaskedEnum,
|
|
63
|
+
enum: Array.from({ length: 12 }, (_, i) => new Date(0, i).toLocaleString(locale, { month: 'short' })),
|
|
64
|
+
placeholderChar: 'M',
|
|
65
|
+
maxLength: 3,
|
|
66
|
+
},
|
|
67
|
+
MMMM: {
|
|
68
|
+
mask: IMask.MaskedEnum,
|
|
69
|
+
enum: Array.from({ length: 12 }, (_, i) => new Date(0, i).toLocaleString(locale, { month: 'long' })),
|
|
70
|
+
placeholderChar: "M",
|
|
71
|
+
maxLength: 4
|
|
72
|
+
},
|
|
73
|
+
DD: {
|
|
74
|
+
mask: IMask.MaskedRange,
|
|
75
|
+
from: 1,
|
|
76
|
+
to: 31,
|
|
77
|
+
placeholderChar: 'D',
|
|
78
|
+
maxLength: 2,
|
|
79
|
+
},
|
|
80
|
+
D: {
|
|
81
|
+
mask: IMask.MaskedRange,
|
|
82
|
+
from: 1,
|
|
83
|
+
to: 31,
|
|
84
|
+
placeholderChar: 'D',
|
|
85
|
+
maxLength: 2,
|
|
86
|
+
},
|
|
87
|
+
ddd: {
|
|
88
|
+
mask: IMask.MaskedEnum,
|
|
89
|
+
enum: Array.from({ length: 7 }, (_, i) => new Date(0, 0, i + 1).toLocaleString(locale, { weekday: 'short' })),
|
|
90
|
+
placeholderChar: 'E',
|
|
91
|
+
maxLength: 3,
|
|
92
|
+
},
|
|
93
|
+
dddd: {
|
|
94
|
+
mask: IMask.MaskedEnum,
|
|
95
|
+
enum: Array.from({ length: 7 }, (_, i) => new Date(0, 0, i + 1).toLocaleString(locale, { weekday: 'long' })),
|
|
96
|
+
placeholderChar: 'E',
|
|
97
|
+
minLength: 6,
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
autofix: true,
|
|
101
|
+
lazy: false,
|
|
102
|
+
overwrite: true,
|
|
103
|
+
skipInvalid: true
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hc2tVdGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L2Vwb2NoL3NyYy9kYXRlL2ltYXNrVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFHMUIsTUFBTSxVQUFVLHFCQUFxQixDQUFFLE1BQU0sRUFBRSxNQUFNO0lBQ2pELElBQUcsTUFBTSxJQUFJLFdBQVcsRUFBRTtRQUN0QixPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUNELE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxFQUFFO1FBQ2xCLE9BQU8sTUFBTSxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoRCxDQUFDLENBQUM7SUFDRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsRUFBRTtRQUNoQixPQUFPLE1BQU0sQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQy9ELENBQUMsQ0FBQztJQUNOLE9BQU87UUFDSCxJQUFJLEVBQUUsSUFBSTtRQUNWLE9BQU8sRUFBRSxjQUFjO1FBQ3ZCLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLEtBQUssRUFBRSxPQUFPO1FBRWQsTUFBTSxFQUFFO1lBQ0osSUFBSSxFQUFFO2dCQUNGLElBQUksRUFBRSxLQUFLLENBQUMsV0FBVztnQkFDbkIsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsRUFBRSxFQUFFLElBQUk7Z0JBQ1IsZUFBZSxFQUFDLEdBQUc7Z0JBQ3ZCLFNBQVMsRUFBRSxDQUFDO2FBQ2Y7WUFDRCxHQUFHLEVBQUU7Z0JBQ0QsSUFBSSxFQUFFLEtBQUssQ0FBQyxX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LEVBQUUsQ0FBQzthQUNmO1lBQ0QsSUFBSSxFQUFFO2dCQUNGLElBQUksRUFBRSxLQUFLLENBQUMsVUFBVTtnQkFDdEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDckMsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUNwRTtnQkFDRCxlQUFlLEVBQUMsR0FBRztnQkFDbkIsU0FBUyxFQUFFLENBQUM7YUFDZjtTQUNSO1FBQ0csT0FBTyxFQUFFLElBQUk7UUFDYixJQUFJLEVBQUUsS0FBSztRQUNYLFNBQVMsRUFBRSxJQUFJO1FBQ2YsV0FBVyxFQUFFLElBQUk7S0FFcEIsQ0FBQTtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgSU1hc2sgZnJvbSBcImltYXNrXCI7XG5kZWNsYXJlIGNvbnN0IG1vbWVudDtcblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlVGhlTWFza2VkRGF0ZSAoZm9ybWF0LCBsb2NhbGUpICB7XG4gICAgaWYoZm9ybWF0ID09ICd0aW1lc3RhbXAnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgbW9kaWZpZWRGb3JtYXQgPSBmb3JtYXQudG9VcHBlckNhc2UoKS5yZXBsYWNlKC9FL2csICdkJyk7XG4gICAgY29uc3QgcGFyc2VGbj0gIHN0ciA9PiB7XG4gICAgICAgIHJldHVybiBtb21lbnQoc3RyLCBtb2RpZmllZEZvcm1hdCkudG9EYXRlKCk7XG4gICAgfTtcbiAgICBjb25zdCBmb3JtYXRGbiA9IGRhdGUgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG1vbWVudChkYXRlLCBtb2RpZmllZEZvcm1hdCkuZm9ybWF0KG1vZGlmaWVkRm9ybWF0KTtcbiAgICAgICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgICBtYXNrOiBEYXRlLFxuICAgICAgICBwYXR0ZXJuOiBtb2RpZmllZEZvcm1hdCxcbiAgICAgICAgZm9ybWF0OiBmb3JtYXRGbixcbiAgICAgICAgcGFyc2U6IHBhcnNlRm4sXG5cbiAgICAgICAgYmxvY2tzOiB7XG4gICAgICAgICAgICBZWVlZOiB7XG4gICAgICAgICAgICAgICAgbWFzazogSU1hc2suTWFza2VkUmFuZ2UsXG4gICAgICAgICAgICAgICAgICAgIGZyb206IDE5MDAsXG4gICAgICAgICAgICAgICAgICAgIHRvOiA5OTk5LFxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlckNoYXI6J1knLFxuICAgICAgICAgICAgICAgIG1heExlbmd0aDogNCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBZWVk6IHtcbiAgICAgICAgICAgICAgICBtYXNrOiBJTWFzay5NYXNrZWRSYW5nZSxcbiAgICAgICAgICAgICAgICBmcm9tOiA5MDAsXG4gICAgICAgICAgICAgICAgdG86IDk5OSxcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlckNoYXI6J1knLFxuICAgICAgICAgICAgICAgIG1heExlbmd0aDogMyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBZWToge1xuICAgICAgICAgICAgICAgIG1hc2s6IElNYXNrLk1hc2tlZFJhbmdlLFxuICAgICAgICAgICAgICAgIGZyb206IDAsXG4gICAgICAgICAgICAgICAgdG86IDk5LFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyQ2hhcjonWScsXG4gICAgICAgICAgICAgICAgbWF4TGVuZ3RoOiAyLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFk6IHtcbiAgICAgICAgICAgICAgICBtYXNrOiBJTWFzay5NYXNrZWRSYW5nZSxcbiAgICAgICAgICAgICAgICBmcm9tOiAxOTAwLFxuICAgICAgICAgICAgICAgIHRvOiA5OTk5LFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyQ2hhcjonWScsXG4gICAgICAgICAgICAgICAgbWF4TGVuZ3RoOiA0LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIE06IHtcbiAgICAgICAgICAgICAgICBtYXNrOiBJTWFzay5NYXNrZWRSYW5nZSxcbiAgICAgICAgICAgICAgICBmcm9tOiAxLFxuICAgICAgICAgICAgICAgIHRvOiAxMixcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlckNoYXI6J00nLFxuICAgICAgICAgICAgICAgIG1heExlbmd0aDogMixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBNTToge1xuICAgICAgICAgICAgICAgIG1hc2s6IElNYXNrLk1hc2tlZFJhbmdlLFxuICAgICAgICAgICAgICAgIGZyb206IDEsXG4gICAgICAgICAgICAgICAgdG86IDEyLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyQ2hhcjonTScsXG4gICAgICAgICAgICAgICAgbWF4TGVuZ3RoOiAyLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIE1NTToge1xuICAgICAgICAgICAgICAgIG1hc2s6IElNYXNrLk1hc2tlZEVudW0sXG4gICAgICAgICAgICAgICAgZW51bTogQXJyYXkuZnJvbSh7IGxlbmd0aDogMTIgfSwgKF8sIGkpID0+XG4gICAgICAgICAgICAgICAgICAgIG5ldyBEYXRlKDAsIGkpLnRvTG9jYWxlU3RyaW5nKGxvY2FsZSwgeyBtb250aDogJ3Nob3J0JyB9KVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXJDaGFyOidNJyxcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IDMsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgTU1NTToge1xuICAgICAgICAgICAgICAgIG1hc2s6IElNYXNrLk1hc2tlZEVudW0sXG4gICAgICAgICAgICAgICBlbnVtOiBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxMiB9LCAoXywgaSkgPT5cbiAgICAgICAgICAgICAgICAgICAgbmV3IERhdGUoMCwgaSkudG9Mb2NhbGVTdHJpbmcobG9jYWxlLCB7IG1vbnRoOiAnbG9uZycgfSlcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyQ2hhcjogXCJNXCIsXG4gICAgICAgICAgICAgICAgbWF4TGVuZ3RoOiA0XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgREQ6IHtcbiAgICAgICAgICAgICAgICBtYXNrOiBJTWFzay5NYXNrZWRSYW5nZSxcbiAgICAgICAgICAgICAgICBmcm9tOiAxLFxuICAgICAgICAgICAgICAgIHRvOiAzMSxcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlckNoYXI6J0QnLFxuICAgICAgICAgICAgICAgIG1heExlbmd0aDogMixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBEOiB7XG4gICAgICAgICAgICAgICAgbWFzazogSU1hc2suTWFza2VkUmFuZ2UsXG4gICAgICAgICAgICAgICAgZnJvbTogMSxcbiAgICAgICAgICAgICAgICB0bzogMzEsXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXJDaGFyOidEJyxcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGg6IDIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGRkOiB7XG4gICAgICAgICAgICAgICAgbWFzazogSU1hc2suTWFza2VkRW51bSxcbiAgICAgICAgICAgICAgICBlbnVtOiBBcnJheS5mcm9tKHsgbGVuZ3RoOiA3IH0sIChfLCBpKSA9PlxuICAgICAgICAgICAgICAgICAgICBuZXcgRGF0ZSgwLCAwLCBpICsgMSkudG9Mb2NhbGVTdHJpbmcobG9jYWxlLCB7IHdlZWtkYXk6ICdzaG9ydCcgfSlcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyQ2hhcjonRScsXG4gICAgICAgICAgICAgICAgbWF4TGVuZ3RoOiAzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRkZGQ6IHtcbiAgICAgICAgICAgICAgICBtYXNrOiBJTWFzay5NYXNrZWRFbnVtLFxuICAgICAgICAgICAgICAgIGVudW06IEFycmF5LmZyb20oeyBsZW5ndGg6IDcgfSwgKF8sIGkpID0+XG4gICAgICAgICAgICAgICAgICAgIG5ldyBEYXRlKDAsIDAsIGkgKyAxKS50b0xvY2FsZVN0cmluZyhsb2NhbGUsIHsgd2Vla2RheTogJ2xvbmcnIH0pXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlckNoYXI6J0UnLFxuICAgICAgICAgICAgICAgIG1pbkxlbmd0aDogNixcbiAgICAgICAgICAgIH0sXG4gICAgfSxcbiAgICAgICAgYXV0b2ZpeDogdHJ1ZSxcbiAgICAgICAgbGF6eTogZmFsc2UsXG4gICAgICAgIG92ZXJ3cml0ZTogdHJ1ZSxcbiAgICAgICAgc2tpcEludmFsaWQ6IHRydWVcblxuICAgIH1cbn1cblxuXG5cblxuXG5cblxuXG5cblxuXG4iXX0=
|
|
@@ -10,6 +10,7 @@ import { DateTimePickerComponent, TimePickerComponent } from './date-time/date-t
|
|
|
10
10
|
import { DatetimeComponent } from './date-time/date-time.component';
|
|
11
11
|
import { TimeComponent } from './time/time.component';
|
|
12
12
|
import { PickerComponent, PickerGroupComponent } from './picker/picker.component';
|
|
13
|
+
import { IMaskModule } from 'angular-imask';
|
|
13
14
|
import * as i0 from "@angular/core";
|
|
14
15
|
const components = [
|
|
15
16
|
DateComponent,
|
|
@@ -28,7 +29,8 @@ export class EpochModule {
|
|
|
28
29
|
BsDropdownModule,
|
|
29
30
|
FormsModule,
|
|
30
31
|
TimepickerModule,
|
|
31
|
-
WmComponentsModule
|
|
32
|
+
WmComponentsModule,
|
|
33
|
+
IMaskModule] }); }
|
|
32
34
|
}
|
|
33
35
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EpochModule, [{
|
|
34
36
|
type: NgModule,
|
|
@@ -39,7 +41,8 @@ export class EpochModule {
|
|
|
39
41
|
BsDropdownModule,
|
|
40
42
|
FormsModule,
|
|
41
43
|
TimepickerModule,
|
|
42
|
-
WmComponentsModule
|
|
44
|
+
WmComponentsModule,
|
|
45
|
+
IMaskModule
|
|
43
46
|
],
|
|
44
47
|
declarations: [...components],
|
|
45
48
|
exports: [...components]
|
|
@@ -56,11 +59,12 @@ export class EpochModule {
|
|
|
56
59
|
BsDropdownModule,
|
|
57
60
|
FormsModule,
|
|
58
61
|
TimepickerModule,
|
|
59
|
-
WmComponentsModule
|
|
62
|
+
WmComponentsModule,
|
|
63
|
+
IMaskModule], exports: [DateComponent,
|
|
60
64
|
DatetimeComponent,
|
|
61
65
|
TimeComponent,
|
|
62
66
|
DateTimePickerComponent,
|
|
63
67
|
TimePickerComponent,
|
|
64
68
|
PickerComponent,
|
|
65
69
|
PickerGroupComponent] }); })();
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2gubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L2Vwb2NoL3NyYy9lcG9jaC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXpELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN0RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzVDLE1BQU0sVUFBVSxHQUFHO0lBQ2YsYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQixlQUFlO0lBQ2Ysb0JBQW9CO0NBQ3ZCLENBQUM7QUFlRixNQUFNLE9BQU8sV0FBVzs0RUFBWCxXQUFXO21FQUFYLFdBQVc7dUVBWGhCLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLFdBQVc7WUFDWCxnQkFBZ0I7WUFDaEIsa0JBQWtCO1lBQ2xCLFdBQVc7O3VGQUtOLFdBQVc7Y0FidkIsUUFBUTtlQUFDO2dCQUNOLE9BQU8sRUFBRTtvQkFDTCxZQUFZO29CQUNaLGtCQUFrQjtvQkFDbEIsZ0JBQWdCO29CQUNoQixXQUFXO29CQUNYLGdCQUFnQjtvQkFDaEIsa0JBQWtCO29CQUNsQixXQUFXO2lCQUNkO2dCQUNELFlBQVksRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2dCQUM3QixPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQzthQUMzQjs7d0ZBQ1ksV0FBVyxtQkF0QnBCLGFBQWE7UUFDYixpQkFBaUI7UUFDakIsYUFBYTtRQUNiLHVCQUF1QjtRQUN2QixtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLG9CQUFvQixhQUtoQixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLGdCQUFnQjtRQUNoQixXQUFXO1FBQ1gsZ0JBQWdCO1FBQ2hCLGtCQUFrQjtRQUNsQixXQUFXLGFBakJmLGFBQWE7UUFDYixpQkFBaUI7UUFDakIsYUFBYTtRQUNiLHVCQUF1QjtRQUN2QixtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEJzRGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ25neC1ib290c3RyYXAvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBCc0Ryb3Bkb3duTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9kcm9wZG93bic7XG5pbXBvcnQgeyBUaW1lcGlja2VyTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC90aW1lcGlja2VyJztcbmltcG9ydCB7IFdtQ29tcG9uZW50c01vZHVsZSB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuXG5pbXBvcnQgeyBEYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlL2RhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVUaW1lUGlja2VyQ29tcG9uZW50LCBUaW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLXRpbWUvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZXRpbWVDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtdGltZS9kYXRlLXRpbWUuY29tcG9uZW50JztcbmltcG9ydCB7IFRpbWVDb21wb25lbnQgfSBmcm9tICcuL3RpbWUvdGltZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGlja2VyQ29tcG9uZW50LCBQaWNrZXJHcm91cENvbXBvbmVudCB9IGZyb20gJy4vcGlja2VyL3BpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSU1hc2tNb2R1bGUgfSBmcm9tICdhbmd1bGFyLWltYXNrJztcblxuXG5jb25zdCBjb21wb25lbnRzID0gW1xuICAgIERhdGVDb21wb25lbnQsXG4gICAgRGF0ZXRpbWVDb21wb25lbnQsXG4gICAgVGltZUNvbXBvbmVudCxcbiAgICBEYXRlVGltZVBpY2tlckNvbXBvbmVudCxcbiAgICBUaW1lUGlja2VyQ29tcG9uZW50LFxuICAgIFBpY2tlckNvbXBvbmVudCxcbiAgICBQaWNrZXJHcm91cENvbXBvbmVudFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQnNEYXRlcGlja2VyTW9kdWxlLFxuICAgICAgICBCc0Ryb3Bkb3duTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgVGltZXBpY2tlck1vZHVsZSxcbiAgICAgICAgV21Db21wb25lbnRzTW9kdWxlLFxuICAgICAgICBJTWFza01vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbLi4uY29tcG9uZW50c10sXG4gICAgZXhwb3J0czogWy4uLmNvbXBvbmVudHNdXG59KVxuZXhwb3J0IGNsYXNzIEVwb2NoTW9kdWxlIHtcbn1cbiJdfQ==
|