@energycap/components 0.39.36-ECAP-26840-date-input.20241119-1615 → 0.39.36-ECAP-26840-date-input.20241121-1051
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/controls/date-input/date-input.component.mjs +3 -1
- package/esm2020/lib/core/date-time-helper.mjs +3 -1
- package/fesm2015/energycap-components.mjs +4 -0
- package/fesm2015/energycap-components.mjs.map +1 -1
- package/fesm2020/energycap-components.mjs +4 -0
- package/fesm2020/energycap-components.mjs.map +1 -1
- package/package.json +1 -1
@@ -114,6 +114,8 @@ export class DateInputComponent extends FormControlBase {
|
|
114
114
|
this.calendarSelection = selection;
|
115
115
|
if (isCalendarSelectionSingleDate(selection)) {
|
116
116
|
this.formModel.setValue(selection);
|
117
|
+
this.isCalendarOpen = false;
|
118
|
+
this.focusInput();
|
117
119
|
}
|
118
120
|
}
|
119
121
|
onTextboxBlur() {
|
@@ -250,4 +252,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
250
252
|
type: ViewChild,
|
251
253
|
args: ['overlay']
|
252
254
|
}] } });
|
253
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvY29udHJvbHMvZGF0ZS1pbnB1dC9kYXRlLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9kYXRlLWlucHV0L2RhdGUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQW1CLFdBQVcsRUFBa0MsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFLN0QsT0FBTyxFQUFxQiw2QkFBNkIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVN2RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsZUFBZTtJQXNDckQsWUFDWSx3QkFBa0QsRUFDbEQsZUFBZ0MsRUFDbEMscUJBQTRDLEVBQzVDLGVBQWdDLEVBQ2hDLEVBQWMsRUFDZCxjQUF1QjtRQUUvQixLQUFLLENBQUMsd0JBQXdCLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFQdkMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDbEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxvQkFBZSxHQUFm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Q0FBQztTQUM5QjtJQUNILENBQUM7SUFBQSxDQUFDO0lBRUY7Ozs7OztPQU1HO0lBQ0ssS0FBSyxDQUFDLGNBQWM7UUFDMUIsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3JGLE1BQU0sVUFBVSxHQUFHLFVBQVUsRUFBRSxVQUFVLENBQUM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNsRCxJQUFJLENBQUMsWUFBWSxHQUFHLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBbUJELDhCQUE4QjtJQUN0QixVQUFVO1FBQ2hCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN4RCxDQUFDOzsrR0E1UFUsa0JBQWtCO21HQUFsQixrQkFBa0Isc1RDcEIvQix3dUVBaURBOzJGRDdCYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZUFBZTs4UEFPVCxFQUFFO3NCQURqQixXQUFXO3VCQUFDLFNBQVM7O3NCQUNyQixLQUFLO2dCQUdVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBRVUsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQTJCZ0IsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrQ29ubmVjdGVkT3ZlcmxheSwgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wsIEZvcm1Db250cm9sU3RhdHVzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IERhdGVUaW1lSGVscGVyIH0gZnJvbSAnLi4vLi4vY29yZS9kYXRlLXRpbWUtaGVscGVyJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvbk1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS92YWxpZGF0aW9uLW1lc3NhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGVEaXNwbGF5UGlwZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9kaXNwbGF5L3BpcGVzL2RhdGUtZGlzcGxheS5waXBlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwSGVscGVyIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Zvcm0tZ3JvdXAuaGVscGVyJztcclxuaW1wb3J0IHsgVXNlclByZWZlcmVuY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL3VzZXItcHJlZmVyZW5jZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2FsZW5kYXJTZWxlY3Rpb24sIGlzQ2FsZW5kYXJTZWxlY3Rpb25TaW5nbGVEYXRlIH0gZnJvbSAnLi4vY2FsZW5kYXIvY2FsZW5kYXIudHlwZXMnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbEJhc2UgfSBmcm9tICcuLi9mb3JtLWNvbnRyb2wtYmFzZSc7XHJcblxyXG5leHBvcnQgdHlwZSBEYXRlSW5wdXRGb3JtQ29udHJvbCA9IEZvcm1Db250cm9sPERhdGUgfCBudWxsPjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWMtZGF0ZS1pbnB1dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGUtaW5wdXQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZUlucHV0Q29tcG9uZW50IGV4dGVuZHMgRm9ybUNvbnRyb2xCYXNlIGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcclxuICBASW5wdXQoKSBwdWJsaWMgaWQ6IHN0cmluZyA9ICcnO1xyXG5cclxuICAvKiogVGhlIGZvcm0gY29udHJvbCBwcm92aWRlZCBieSB0aGUgaG9zdGluZyBmb3JtLiAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtTW9kZWw6IERhdGVJbnB1dEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sPERhdGUgfCBudWxsPihudWxsKTtcclxuXHJcbiAgQElucHV0KCkgcHVibGljIG1pbkRhdGU6IERhdGUgPSBEYXRlVGltZUhlbHBlci5taW5EYXRlUGlja2VyRGF0ZTtcclxuICBASW5wdXQoKSBwdWJsaWMgbWF4RGF0ZTogRGF0ZSA9IERhdGVUaW1lSGVscGVyLm1heERhdGVQaWNrZXJEYXRlO1xyXG5cclxuICAvKiogVGhlIGludGVybmFsIHRleHRib3gncyBmb3JtIGNvbnRyb2wuICovXHJcbiAgcHVibGljIHRleHRib3hDb250cm9sID0gbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwpO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgY3VycmVudCBjYWxlbmRhciBzZWxlY3Rpb24uXHJcbiAgICogVXBkYXRlZCB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiBhIGNhbGVuZGFyIGl0ZW0gb3Igd2hlbiB0aGUgZGF0ZSBlbnRlcmVkIGludG8gdGhlIHRleHRib3ggaXMgcGFyc2VkLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBjYWxlbmRhclNlbGVjdGlvbjogQ2FsZW5kYXJTZWxlY3Rpb24gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLyoqIENvbnRyb2xzIHdoZXRoZXIgdGhlIGNhbGVuZGFyIG92ZXJsYXkgaXMgb3BlbiBvciBub3QuICovXHJcbiAgcHVibGljIGlzQ2FsZW5kYXJPcGVuID0gZmFsc2U7XHJcblxyXG4gIC8qKiBQbGFjZWhvbGRlciBmb3IgdGhlIHRleHRib3guIFVwZGF0ZWQgdG8gcmVmbGVjdCB0aGUgdXNlcidzIGRhdGUgZGlzcGxheSBwcmVmZXJlbmNlLiAqL1xyXG4gIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ01NL0REL1lZWVknO1xyXG5cclxuICAvKiogT3ZlcmxheSBzY3JvbGwgc3RyYXRlZ3kgZm9yIHRoZSBjYWxlbmRhciBvdmVybGF5LiBDbG9zZXMgdGhlIGNhbGVuZGFyIG9uIHNjcm9sbC4gKi9cclxuICBwdWJsaWMgb3ZlcmxheVNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5U2VydmljZS5zY3JvbGxTdHJhdGVnaWVzLmNsb3NlKCk7XHJcblxyXG4gIC8qKiBcclxuICAgKiBEYXRlIHBhcnNpbmcgZm9ybWF0cyBmb3IgdXNlci1lbnRlcmVkIGRhdGVzLiBEZWZhdWx0cyB0byBtb250aC1maXJzdCBmb3JtYXRzLCBidXQgaXMgdXBkYXRlZCBpbiBvbkluaXRcclxuICAgKiB0byB1c2UgdGhlIHVzZXIncyBwcmVmZXJyZWQgZGF0ZSBmb3JtYXQuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBwYXJzZUZvcm1hdHM6IHN0cmluZ1tdID0gRGF0ZVRpbWVIZWxwZXIuZ2V0UGFyc2VGb3JtYXRzKCk7XHJcblxyXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIG92ZXJsYXkgZGlyZWN0aXZlIChzZWUgdGVtcGxhdGUpLiBVc2VkIHRvIGFjY2VzcyB0aGUgb3ZlcmxheSdzIGhvc3QgZWxlbWVudCB0byBjb250cm9sIGZvY3VzLiAqL1xyXG4gIEBWaWV3Q2hpbGQoJ292ZXJsYXknKSBvdmVybGF5PzogQ2RrQ29ubmVjdGVkT3ZlcmxheTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcm90ZWN0ZWQgdmFsaWRhdGlvbk1lc3NhZ2VTZXJ2aWNlOiBWYWxpZGF0aW9uTWVzc2FnZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgZm9ybUdyb3VwSGVscGVyOiBGb3JtR3JvdXBIZWxwZXIsXHJcbiAgICBwcml2YXRlIHVzZXJQcmVmZXJlbmNlU2VydmljZTogVXNlclByZWZlcmVuY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkYXRlRGlzcGxheVBpcGU6IERhdGVEaXNwbGF5UGlwZSxcclxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIG92ZXJsYXlTZXJ2aWNlOiBPdmVybGF5XHJcbiAgKSB7XHJcbiAgICBzdXBlcih2YWxpZGF0aW9uTWVzc2FnZVNlcnZpY2UsIGZvcm1Hcm91cEhlbHBlcik7XHJcbiAgfVxyXG5cclxuICAvKiogRm9jdXNlcyB0aGUgaW5wdXQgd2hlbmV2ZXIgdGhlIGNhbGVuZGFyIGlzIHNoaWZ0LXRhYmJlZCBvdXQgb2YuICovXHJcbiAgcHVibGljIG9uQ2FsZW5kYXJGb2N1c091dFN0YXJ0KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgdGhpcy5mb2N1c0lucHV0KCk7XHJcbiAgfVxyXG5cclxuICAvKiogQ2xvc2VzIHRoZSBjYWxlbmRhciBhbmQgZm9jdXNlcyB0aGUgaW5wdXQgd2hlbmV2ZXIgdGhlIGNhbGVuZGFyIGlzIHRhYmJlZCBvdXQgb2YuICovXHJcbiAgcHVibGljIG9uQ2FsZW5kYXJGb2N1c091dEVuZChldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuaXNDYWxlbmRhck9wZW4gPSBmYWxzZTtcclxuICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqIENsb3NlIHRoZSBjYWxlbmRhciBpZiB0aGUgdXNlciBjbGlja3Mgb3V0c2lkZSBvZiB0aGUgY2FsZW5kYXIgYW5kIGRhdGUgaW5wdXQuICovXHJcbiAgcHVibGljIG9uT3ZlcmxheU91dHNpZGVDbGljayhldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgLy8gRG8gbm90IGNsb3NlIHRoZSBjYWxlbmRhciBpZiB0aGUgY2xpY2sgd2FzIHdpdGhpbiB0aGUgZGF0ZSBpbnB1dCBvciBhY3Rpb24gYnV0dG9uXHJcbiAgICBjb25zdCByZWN0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgY29uc3QgY2xpY2tlZE91dHNpZGVDb250cm9sID0gZXZlbnQuY2xpZW50WSA8IHJlY3QudG9wIHx8XHJcbiAgICAgIGV2ZW50LmNsaWVudFkgPiByZWN0LmJvdHRvbSB8fFxyXG4gICAgICBldmVudC5jbGllbnRYIDwgcmVjdC5sZWZ0IHx8XHJcbiAgICAgIGV2ZW50LmNsaWVudFggPiByZWN0LnJpZ2h0O1xyXG4gICAgLy8gSXQncyBwb3NzaWJsZSB0aGF0IHRoZSB1c2VyIGhpdCBlbnRlciBvbiB0aGUgYWN0aW9uIGJ1dHRvbiBpbnN0ZWFkIG9mIGNsaWNraW5nIHdpdGggdGhlIG1vdXNlLlxyXG4gICAgLy8gSW4gdGhpcyBjYXNlIHRoZSBcImNsaWNrXCIgZXZlbnQgd2lsbCBiZSBvdXRzaWRlIG9mIHRoZSBjb21wb25lbnQgYmVjYXVzZSB0aGUgY2xpZW50eCBhbmQgeSBhcmUgMCxcclxuICAgIC8vIGJ1dCB3ZSBkb24ndCB3YW50IHRvIGNsb3NlIGluIHRoaXMgY2FzZSBiZWNhdXNlIGJ1dHRvbiBjbGlja3MgdHJpZ2dlciBjYWxlbmRhciBvcGVuL2Nsb3NlIHNlcGFyYXRlbHkuXHJcbiAgICBjb25zdCBpc0FjdGlvbkNsaWNrID0gKDxIVE1MRWxlbWVudD5ldmVudC50YXJnZXQpLmlkID09PSBgJHt0aGlzLmlkfV9hY3Rpb25gO1xyXG5cclxuICAgIGlmICghaXNBY3Rpb25DbGljayAmJiBjbGlja2VkT3V0c2lkZUNvbnRyb2wpIHtcclxuICAgICAgdGhpcy5pc0NhbGVuZGFyT3BlbiA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIElmIHRoZSB1c2VyIHRhYnMgb3V0IG9mIHRoZSBmb3JtIGNvbnRyb2wncyBhY3Rpb24gYnV0dG9uIGFuZCB0aGUgY2FsZW5kYXIgaXMgb3BlbiwgZm9jdXMgdGhlIGZpcnN0IGl0ZW0gaW4gdGhlIGNhbGVuZGFyIG92ZXJsYXkgKi9cclxuICBwdWJsaWMgb25BY3Rpb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnVGFiJyAmJiAhZXZlbnQuc2hpZnRLZXkgJiYgdGhpcy5pc0NhbGVuZGFyT3Blbikge1xyXG4gICAgICAvLyBQcmV2ZW50IHRoZSBkZWZhdWx0IHRhYiBhY3Rpb24gc28gdGhlIGZvY3VzIGRvZXNuJ3QgbW92ZSB0byB0aGUgbmV4dCBlbGVtZW50IGluIHRoZSB0YWIgb3JkZXIgYWZ0ZXIgd2UgbWFudWFsbHkgZm9jdXMgdGhlIGNhbGVuZGFyIGJ1dHRvbi5cclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgLy8gRm9jdXMgdGhlIGZpcnN0IGJ1dHRvbiBpbiB0aGUgY2FsZW5kYXIgb3ZlcmxheVxyXG4gICAgICBjb25zdCBmaXJzdEJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsIHwgdW5kZWZpbmVkID0gdGhpcy5vdmVybGF5Py5vdmVybGF5UmVmLmhvc3RFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbjpub3QoOmRpc2FibGVkKScpO1xyXG4gICAgICBmaXJzdEJ1dHRvbj8uZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblRleHRib3hLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnVGFiJyAmJiBldmVudC5zaGlmdEtleSkge1xyXG4gICAgICAvLyBJZiB0aGUgdXNlciBpcyB0YWJiaW5nIGJhY2t3YXJkcyBmcm9tIHRoZSB0ZXh0Ym94LCBjbG9zZSB0aGUgY2FsZW5kYXIuXHJcbiAgICAgIHRoaXMuaXNDYWxlbmRhck9wZW4gPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBXaGVuZXZlciB0aGUgdXNlciBzZWxlY3RzIGEgZGF0ZSBmcm9tIHRoZSBjYWxlbmRhciwgdXBkYXRlIHRoZSBmb3JtTW9kZWwgd2l0aCB0aGUgc2VsZWN0aW9uICovXHJcbiAgcHVibGljIG9uU2VsZWN0aW9uQ2hhbmdlKHNlbGVjdGlvbjogQ2FsZW5kYXJTZWxlY3Rpb24gfCBudWxsKSB7XHJcbiAgICB0aGlzLmNhbGVuZGFyU2VsZWN0aW9uID0gc2VsZWN0aW9uO1xyXG4gICAgaWYgKGlzQ2FsZW5kYXJTZWxlY3Rpb25TaW5nbGVEYXRlKHNlbGVjdGlvbikpIHtcclxuICAgICAgdGhpcy5mb3JtTW9kZWwuc2V0VmFsdWUoc2VsZWN0aW9uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblRleHRib3hCbHVyKCkge1xyXG4gICAgLy8gUGFyc2UgdGhlIHRleHRib3ggdmFsdWUgaW50byBhIGRhdGUgYW5kIHVwZGF0ZSB0aGUgZm9ybSBtb2RlbFxyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnRleHRib3hDb250cm9sLnZhbHVlO1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIGNvbnN0IHBhcnNlZERhdGUgPSBtb21lbnQodmFsdWUsIHRoaXMucGFyc2VGb3JtYXRzKTtcclxuICAgICAgaWYgKHBhcnNlZERhdGUuaXNWYWxpZCgpKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtTW9kZWwuc2V0VmFsdWUocGFyc2VkRGF0ZS50b0RhdGUoKSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5mb3JtTW9kZWwuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZm9ybU1vZGVsLnNldFZhbHVlKG51bGwpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFVwZGF0ZSB0aGUgZm9ybSBtb2RlbCdzIHRvdWNoZWQgYW5kIGRpcnR5IHN0YXR1cyBiYXNlZCBvbiB0aGUgdGV4dGJveCdzIHN0YXR1cy5cclxuICAgIC8vIFNpbmNlIHRoZSB1c2VyIGludGVyYWN0cyB3aXRoIGEgY29udHJvbCB0aGF0IGlzIGludGVybmFsIHRvIHRoaXMgY29tcG9uZW50LCB0aGVcclxuICAgIC8vIGZvcm0gbW9kZWwncyBzdGF0dXMgd29uJ3QgYmUgdXBkYXRlZCBhdXRvbWF0aWNhbGx5LlxyXG4gICAgaWYgKHRoaXMudGV4dGJveENvbnRyb2wudG91Y2hlZCAmJiAhdGhpcy5mb3JtTW9kZWwudG91Y2hlZCkge1xyXG4gICAgICB0aGlzLmZvcm1Nb2RlbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy50ZXh0Ym94Q29udHJvbC5kaXJ0eSAmJiAhdGhpcy5mb3JtTW9kZWwuZGlydHkpIHtcclxuICAgICAgdGhpcy5mb3JtTW9kZWwubWFya0FzRGlydHkoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgLy8gU2V0dXBcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLnNldERhdGVGb3JtYXRzKCk7XHJcblxyXG4gICAgdGhpcy5mb3JtTW9kZWwuYWRkVmFsaWRhdG9ycyh0aGlzLmRhdGVWYWxpZGF0b3IpO1xyXG5cclxuICAgIC8vIFN1YnNjcmlwdGlvbnNcclxuICAgIHRoaXMub25Gb3JtTW9kZWxTdGF0dXNDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLm9uRm9ybU1vZGVsVmFsdWVDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLm9uVGV4dGJveFZhbHVlQ2hhbmdlcygpO1xyXG5cclxuICAgIC8vIFN5bmMgdGhlIGluaXRpYWwgZGlzYWJsZWQgc3RhdHVzIGFuZCB2YWx1ZSBvZiB0aGUgdGV4dGJveFxyXG4gICAgdGhpcy5zeW5jVGV4dGJveENvbnRyb2xEaXNhYmxlZFN0YXR1cyh0aGlzLmZvcm1Nb2RlbC5zdGF0dXMpO1xyXG4gICAgdGhpcy50ZXh0Ym94Q29udHJvbC5zZXRWYWx1ZSh0aGlzLmRhdGVEaXNwbGF5UGlwZS50cmFuc2Zvcm0odGhpcy5mb3JtTW9kZWwudmFsdWUpLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICB0aGlzLmNhbGVuZGFyU2VsZWN0aW9uID0gdGhpcy5mb3JtTW9kZWwudmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uRm9ybU1vZGVsU3RhdHVzQ2hhbmdlcygpIHtcclxuICAgIC8vIEtlZXAgdGhlIHRleHRib3hDb250cm9sIGRpc2FibGVkIHN0YXR1cyBpbiBzeW5jIHdpdGggdGhlIGZvcm1Nb2RlbFxyXG4gICAgdGhpcy5mb3JtTW9kZWwuc3RhdHVzQ2hhbmdlcy5waXBlKFxyXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpXHJcbiAgICApLnN1YnNjcmliZShzdGF0dXMgPT4ge1xyXG4gICAgICB0aGlzLnN5bmNUZXh0Ym94Q29udHJvbERpc2FibGVkU3RhdHVzKHN0YXR1cyk7XHJcblxyXG4gICAgICBpZiAodGhpcy5pc0NhbGVuZGFyT3Blbikge1xyXG4gICAgICAgIC8vIEFzIHZhbGlkYXRpb24gbWVzc2FnZXMgYXBwZWFyL2Rpc2FwcGVhciwgdGhlIGRhdGUgaW5wdXQgbWF5IGhhdmUgc2hpZnRlZCB1cCBvciBkb3duIG9uIHRoZSBwYWdlLlxyXG4gICAgICAgIC8vIFVwZGF0ZSB0aGUgb3ZlcmxheSBwb3NpdGlvbiB0byBlbnN1cmUgaXQncyBzdGlsbCBhbGlnbmVkIHdpdGggdGhlIHRleHRib3ggYW5kIG5vdCBibG9ja2luZyBpdC5cclxuICAgICAgICAvLyBTZXR0aW1lb3V0IGlzIG5lZWRlZCB0byBlbnN1cmUgdGhlIG92ZXJsYXkgaXMgYmVpbmcgdXBkYXRlZCBhZnRlciB0aGUgbWVzc2FnZSBpcyByZW5kZXJlZC5cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIHRoaXMub3ZlcmxheT8ub3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb24oKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uRm9ybU1vZGVsVmFsdWVDaGFuZ2VzKCkge1xyXG4gICAgLy8gVXBkYXRlIHRoZSBjYWxlbmRhciBzZWxlY3Rpb24gdGV4dGJveCB2YWx1ZSB3aXRoIGEgZm9ybWF0dGVkIGRhdGUgd2hlbiB0aGUgZm9ybSBtb2RlbCBjaGFuZ2VzLlxyXG4gICAgLy8gVGhpcyBpcyB1c3VhbGx5IHRyaWdnZXJlZCBieSBwcm9ncmFtbWF0aWMgY2hhbmdlcyB0byB0aGUgZm9ybSBtb2RlbCBieSBhIHBhcmVudCBjb21wb25lbnQuXHJcbiAgICB0aGlzLmZvcm1Nb2RlbC52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IG1vbWVudChhKS5pc1NhbWUoYiwgJ2RheScpKSxcclxuICAgICAgdGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKVxyXG4gICAgKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gICAgICBjb25zdCBkaXNwbGF5VmFsdWUgPSB0aGlzLmRhdGVEaXNwbGF5UGlwZS50cmFuc2Zvcm0odmFsdWUpO1xyXG4gICAgICAvLyBEb24ndCBlbWl0IGFuIGV2ZW50IHdoZW4gc2V0dGluZyB0aGUgdGV4dGJveCB2YWx1ZSB0byBhdm9pZCBjaXJjdWxhciB1cGRhdGVzIGJldHdlZW4gdGhlIHRleHRib3ggYW5kIGZvcm0gbW9kZWwuXHJcbiAgICAgIHRoaXMudGV4dGJveENvbnRyb2wuc2V0VmFsdWUoZGlzcGxheVZhbHVlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgIHRoaXMuY2FsZW5kYXJTZWxlY3Rpb24gPSB2YWx1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvblRleHRib3hWYWx1ZUNoYW5nZXMoKSB7XHJcbiAgICAvLyBVcGRhdGUgdGhlIGNhbGVuZGFyIHNlbGVjdGlvbiB3aGVuIHRoZSB0ZXh0Ym94IHZhbHVlIGNoYW5nZXMgdG8gdXBkYXRlIHRoZSBjYWxlbmRhci5cclxuICAgIC8vIFdlIGRvbid0IHBhdGNoIHRoZSBmb3JtTW9kZWwgaGVyZSBiZWNhdXNlIHdlIGRvbid0IHdhbnQgdG8gdHJpZ2dlciB0aGVcclxuICAgIC8vIGRhdGUgZm9ybWF0dGluZyBsb2dpYyBhbmQgb3ZlcndyaXRlIHRoZSB1c2VyJ3MgaW5wdXQuXHJcbiAgICAvLyBXZSdsbCBkbyB0aGF0IHdoZW4gdGhlIHVzZXIgYmx1cnMgb3V0IG9mIHRoZSB0ZXh0Ym94LiBTZWUgb25UZXh0Ym94Qmx1cigpXHJcbiAgICB0aGlzLnRleHRib3hDb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxyXG4gICAgICBkZWJvdW5jZVRpbWUoMzAwKSxcclxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgdGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKVxyXG4gICAgKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICBjb25zdCBwYXJzZWREYXRlID0gbW9tZW50KHZhbHVlLCB0aGlzLnBhcnNlRm9ybWF0cyk7XHJcbiAgICAgICAgaWYgKHBhcnNlZERhdGUuaXNWYWxpZCgpKSB7XHJcbiAgICAgICAgICAvLyBJZiB0aGUgcGFyc2VkIGRhdGUgaXMgYmVmb3JlIHRoZSBtaW5EYXRlLCBzZXQgdGhlIHllYXIgdG8gdGhlIGN1cnJlbnQgeWVhci5cclxuICAgICAgICAgIC8vIFRoaXMgcHJldmVudHMgdGhlIGNhbGVuZGFyIGZyb20gc2hvd2luZyB1bmhlbHBmdWwgZGF0ZXMgaW4gdGhlIGRpc3RhbnQgcGFzdCBhcyB0aGUgdXNlciB0eXBlc1xyXG4gICAgICAgICAgaWYgKHBhcnNlZERhdGUueWVhcigpIDwgdGhpcy5taW5EYXRlLmdldEZ1bGxZZWFyKCkpIHtcclxuICAgICAgICAgICAgcGFyc2VkRGF0ZS5zZXQoJ3llYXInLCBtb21lbnQoKS55ZWFyKCkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5jYWxlbmRhclNlbGVjdGlvbiA9IHBhcnNlZERhdGUudG9EYXRlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY2FsZW5kYXJTZWxlY3Rpb24gPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3luY1RleHRib3hDb250cm9sRGlzYWJsZWRTdGF0dXMoc3RhdHVzOiBGb3JtQ29udHJvbFN0YXR1cykge1xyXG4gICAgLy8gVGhlIHRleHRib3ggc2hvdWxkIG9ubHkgYmUgZGlzYWJsZWQgaWYgdGhlIGZvcm0gbW9kZWwgaXMgZGlzYWJsZWQuXHJcbiAgICAvLyBBbGwgb3RoZXIgc3RhdHVzZXMgYXJlIGNvbnNpZGVyZWQgZW5hYmxlZC5cclxuICAgIGlmIChzdGF0dXMgPT09ICdESVNBQkxFRCcgJiYgdGhpcy50ZXh0Ym94Q29udHJvbC5lbmFibGVkKSB7XHJcbiAgICAgIHRoaXMudGV4dGJveENvbnRyb2wuZGlzYWJsZSgpO1xyXG4gICAgfSBlbHNlIGlmIChzdGF0dXMgIT09ICdESVNBQkxFRCcgJiYgdGhpcy50ZXh0Ym94Q29udHJvbC5kaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLnRleHRib3hDb250cm9sLmVuYWJsZSgpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIC8qKiBcclxuICAgKiBVcGRhdGVzIHRoZSBkYXRlIHBhcnNpbmcgZm9ybWF0cyBhbmQgcGxhY2Vob2xkZXIgYmFzZWQgb24gdGhlIHVzZXIncyBkaXNwbGF5IHByZWZlcmVuY2UuXHJcbiAgICogTk9URTogVGhpcyBpcyBhc3luYyBiZWNhdXNlIHdlJ3JlIHJldHJpZXZpbmcgdGhlIHVzZXIncyBwcmVmZXJlbmNlcy4gV2UncmUgbm90IGF3YWl0aW5nIHRoZSByZXN1bHRcclxuICAgKiBiZWNhdXNlIHRoZSBvbmx5IGxvZ2ljIHRoYXQgZGVwZW5kcyBvbiB0aGlzIGlzIHRoZSB0ZXh0IGJveCBkYXRlIHBhcnNpbmcgbG9naWMgYW5kIHBsYWNlaG9sZGVyLlxyXG4gICAqIE91ciBmb3JtcyBzaG91bGQgYWx3YXlzIGJlIGJlaGluZCBhIHBlbmRpbmcgb3ZlcmxheSwgc28gdGhlIHVzZXIgd29uJ3QgYmUgYWJsZSB0byBpbnRlcmFjdCB3aXRoIHRoZVxyXG4gICAqIGZvcm0gdW50aWwgdGhlIHVzZXIgaXMgbG9hZGVkIGFueXdheS5cclxuICAgKi9cclxuICBwcml2YXRlIGFzeW5jIHNldERhdGVGb3JtYXRzKCkge1xyXG4gICAgY29uc3QgeyBwcmVmZXJlbmNlIH0gPSBhd2FpdCB0aGlzLnVzZXJQcmVmZXJlbmNlU2VydmljZS5nZXRQcmVmZXJlbmNlcygpLnRvUHJvbWlzZSgpO1xyXG4gICAgY29uc3QgZGF0ZUZvcm1hdCA9IHByZWZlcmVuY2U/LmRhdGVGb3JtYXQ7XHJcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gZGF0ZUZvcm1hdCA/PyB0aGlzLnBsYWNlaG9sZGVyO1xyXG4gICAgdGhpcy5wYXJzZUZvcm1hdHMgPSBEYXRlVGltZUhlbHBlci5nZXRNb21lbnRQYXJzZUZvcm1hdHMoZGF0ZUZvcm1hdCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0b3IgdGhhdCBjaGVja3MgaWYgdGhlIGRhdGUgaXMgd2l0aGluIHRoZSBtaW4gYW5kIG1heCBkYXRlIHJhbmdlLlxyXG4gICAqIElmIHRoZSBkYXRlIGlzIG91dHNpZGUgb2YgdGhlIHJhbmdlLCB0aGUgdmFsaWRhdG9yIHJldHVybnMgYW4gZXJyb3IgdGhhdFxyXG4gICAqIHRyaWdnZXJzIHRoZSB2YWxpZGF0aW9uIG1lc3NhZ2Ugc2VydmljZSB0byBzaG93IHRoZSBlcnJvciBpbiB0aGUgbGFiZWwuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBkYXRlVmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcclxuICAgIGlmIChjb250cm9sLnZhbHVlKSB7XHJcbiAgICAgIGlmIChjb250cm9sLnZhbHVlIDwgdGhpcy5taW5EYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIHsgbWluRGF0ZTogeyBtaW5WYWx1ZTogdGhpcy5taW5EYXRlIH0gfTtcclxuICAgICAgfSBlbHNlIGlmIChjb250cm9sLnZhbHVlID4gdGhpcy5tYXhEYXRlKSB7XHJcbiAgICAgICAgcmV0dXJuIHsgbWF4RGF0ZTogeyBtYXhWYWx1ZTogdGhpcy5tYXhEYXRlIH0gfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH07XHJcblxyXG4gIC8qKiBGb2N1c2VzIHRoZSBkYXRlIGlucHV0LiAqL1xyXG4gIHByaXZhdGUgZm9jdXNJbnB1dCgpIHtcclxuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpPy5mb2N1cygpO1xyXG4gIH1cclxufVxyXG4iLCI8bGFiZWwgKm5nSWY9XCJsYWJlbFwiPlxyXG4gIDxzcGFuPnt7bGFiZWwgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICA8c3BhbiAqbmdJZj1cInZhbGlkYXRpb25FcnJvcnMubGVuZ3RoID4gMCAmJiBmb3JtTW9kZWwudG91Y2hlZCAmJiBmb3JtTW9kZWwuaW52YWxpZFwiPiZuYnNwO3t7dmFsaWRhdGlvbkVycm9yc319PC9zcGFuPlxyXG4gIDxlYy1oZWxwLXBvcG92ZXIgaWQ9XCJ7e2lkfX1faGVscFBvcG92ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgKm5nSWY9XCJoZWxwUG9wb3ZlclwiXHJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cImQtaW5saW5lLWJsb2NrIG15LW4zIG14LW4xXCJcclxuICAgICAgICAgICAgICAgICAgIHRleHQ9XCJ7e2hlbHBQb3BvdmVyIHwgdHJhbnNsYXRlfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgY29udGVudFBvc2l0aW9uPVwie3toZWxwUG9wb3ZlclBvc2l0aW9ufX1cIj5cclxuICA8L2VjLWhlbHAtcG9wb3Zlcj5cclxuPC9sYWJlbD5cclxuXHJcbjxlYy1mb3JtLWNvbnRyb2wgaWQ9XCJ7e2lkfX1cIlxyXG4gICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICAgICAgICAgICAgICAgW2F1dG9mb2N1c109XCJhdXRvZm9jdXNcIlxyXG4gICAgICAgICAgICAgICAgIFtwZW5kaW5nXT1cInBlbmRpbmdcIlxyXG4gICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICAgW2Zvcm1Nb2RlbF09XCJmb3JtTW9kZWxcIlxyXG4gICAgICAgICAgICAgICAgIChhY3Rpb25DbGlja2VkKT1cImlzQ2FsZW5kYXJPcGVuID0gIWlzQ2FsZW5kYXJPcGVuXCJcclxuICAgICAgICAgICAgICAgICAoYWN0aW9uS2V5ZG93bik9XCJvbkFjdGlvbktleWRvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgW3Nob3dDbGVhcl09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgYWN0aW9uSWNvbj1cImljb24tZGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgY2RrT3ZlcmxheU9yaWdpblxyXG4gICAgICAgICAgICAgICAgICNvdmVybGF5T3JpZ2luPVwiY2RrT3ZlcmxheU9yaWdpblwiPlxyXG4gIDxpbnB1dCBpZD1cInt7aWR9fV9pbnB1dFwiXHJcbiAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7e3BsYWNlaG9sZGVyfX1cIlxyXG4gICAgICAgICBbZm9ybUNvbnRyb2xdPVwidGV4dGJveENvbnRyb2xcIlxyXG4gICAgICAgICAoYmx1cik9XCJvblRleHRib3hCbHVyKClcIlxyXG4gICAgICAgICAoa2V5ZG93bik9XCJvblRleHRib3hLZXlkb3duKCRldmVudClcIj5cclxuPC9lYy1mb3JtLWNvbnRyb2w+XHJcblxyXG48bmctdGVtcGxhdGUgY2RrQ29ubmVjdGVkT3ZlcmxheVxyXG4gICAgICAgICAgICAgI292ZXJsYXk9XCJjZGtDb25uZWN0ZWRPdmVybGF5XCJcclxuICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cIm92ZXJsYXlPcmlnaW5cIlxyXG4gICAgICAgICAgICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cImlzQ2FsZW5kYXJPcGVuXCJcclxuICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5U2Nyb2xsU3RyYXRlZ3ldPVwib3ZlcmxheVNjcm9sbFN0cmF0ZWd5XCJcclxuICAgICAgICAgICAgIGNka0Nvbm5lY3RlZE92ZXJsYXlQYW5lbENsYXNzPVwibXktMVwiXHJcbiAgICAgICAgICAgICAob3ZlcmxheU91dHNpZGVDbGljayk9XCJvbk92ZXJsYXlPdXRzaWRlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAoZGV0YWNoKT1cImlzQ2FsZW5kYXJPcGVuID0gZmFsc2VcIj5cclxuICA8ZWMtY2FsZW5kYXIgW2lkXT1cImlkICsgJ19jYWxlbmRhcidcIlxyXG4gICAgICAgICAgICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcclxuICAgICAgICAgICAgICAgW21heERhdGVdPVwibWF4RGF0ZVwiXHJcbiAgICAgICAgICAgICAgIFtzZWxlY3Rpb25dPVwiY2FsZW5kYXJTZWxlY3Rpb25cIlxyXG4gICAgICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICBjbGFzcz1cImNhcmQgcHgtMSBwdC0xIHBiLTJcIlxyXG4gICAgICAgICAgICAgICAoZm9jdXNPdXRTdGFydCk9XCJvbkNhbGVuZGFyRm9jdXNPdXRTdGFydCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgKGZvY3VzT3V0RW5kKT1cIm9uQ2FsZW5kYXJGb2N1c091dEVuZCgkZXZlbnQpXCI+XHJcbiAgPC9lYy1jYWxlbmRhcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
255
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvY29udHJvbHMvZGF0ZS1pbnB1dC9kYXRlLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb250cm9scy9kYXRlLWlucHV0L2RhdGUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQW1CLFdBQVcsRUFBa0MsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFLN0QsT0FBTyxFQUFxQiw2QkFBNkIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVN2RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsZUFBZTtJQXNDckQsWUFDWSx3QkFBa0QsRUFDbEQsZUFBZ0MsRUFDbEMscUJBQTRDLEVBQzVDLGVBQWdDLEVBQ2hDLEVBQWMsRUFDZCxjQUF1QjtRQUUvQixLQUFLLENBQUMsd0JBQXdCLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFQdkMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDbEMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxvQkFBZSxHQUFm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LElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFO1lBQ2hFLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBQUEsQ0FBQztJQUVGOzs7Ozs7T0FNRztJQUNLLEtBQUssQ0FBQyxjQUFjO1FBQzFCLE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyRixNQUFNLFVBQVUsR0FBRyxVQUFVLEVBQUUsVUFBVSxDQUFDO1FBQzFDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDbEQsSUFBSSxDQUFDLFlBQVksR0FBRyxjQUFjLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQW1CRCw4QkFBOEI7SUFDdEIsVUFBVTtRQUNoQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDeEQsQ0FBQzs7K0dBOVBVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHNUQ3BCL0Isd3VFQWlEQTsyRkQ3QmEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGVBQWU7OFBBT1QsRUFBRTtzQkFEakIsV0FBVzt1QkFBQyxTQUFTOztzQkFDckIsS0FBSztnQkFHVSxTQUFTO3NCQUF4QixLQUFLO2dCQUVVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkEyQmdCLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0Nvbm5lY3RlZE92ZXJsYXksIE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBGb3JtQ29udHJvbFN0YXR1cywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBEYXRlVGltZUhlbHBlciB9IGZyb20gJy4uLy4uL2NvcmUvZGF0ZS10aW1lLWhlbHBlcic7XHJcbmltcG9ydCB7IFZhbGlkYXRpb25NZXNzYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvdmFsaWRhdGlvbi1tZXNzYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEYXRlRGlzcGxheVBpcGUgfSBmcm9tICcuLi8uLi9zaGFyZWQvZGlzcGxheS9waXBlcy9kYXRlLWRpc3BsYXkucGlwZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cEhlbHBlciB9IGZyb20gJy4uLy4uL3NoYXJlZC9mb3JtLWdyb3VwLmhlbHBlcic7XHJcbmltcG9ydCB7IFVzZXJQcmVmZXJlbmNlU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC91c2VyLXByZWZlcmVuY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IENhbGVuZGFyU2VsZWN0aW9uLCBpc0NhbGVuZGFyU2VsZWN0aW9uU2luZ2xlRGF0ZSB9IGZyb20gJy4uL2NhbGVuZGFyL2NhbGVuZGFyLnR5cGVzJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2xCYXNlIH0gZnJvbSAnLi4vZm9ybS1jb250cm9sLWJhc2UnO1xyXG5cclxuZXhwb3J0IHR5cGUgRGF0ZUlucHV0Rm9ybUNvbnRyb2wgPSBGb3JtQ29udHJvbDxEYXRlIHwgbnVsbD47XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjLWRhdGUtaW5wdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRlLWlucHV0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIERhdGVJbnB1dENvbXBvbmVudCBleHRlbmRzIEZvcm1Db250cm9sQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBIb3N0QmluZGluZygnYXR0ci5pZCcpXHJcbiAgQElucHV0KCkgcHVibGljIGlkOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgLyoqIFRoZSBmb3JtIGNvbnRyb2wgcHJvdmlkZWQgYnkgdGhlIGhvc3RpbmcgZm9ybS4gKi9cclxuICBASW5wdXQoKSBwdWJsaWMgZm9ybU1vZGVsOiBEYXRlSW5wdXRGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxEYXRlIHwgbnVsbD4obnVsbCk7XHJcblxyXG4gIEBJbnB1dCgpIHB1YmxpYyBtaW5EYXRlOiBEYXRlID0gRGF0ZVRpbWVIZWxwZXIubWluRGF0ZVBpY2tlckRhdGU7XHJcbiAgQElucHV0KCkgcHVibGljIG1heERhdGU6IERhdGUgPSBEYXRlVGltZUhlbHBlci5tYXhEYXRlUGlja2VyRGF0ZTtcclxuXHJcbiAgLyoqIFRoZSBpbnRlcm5hbCB0ZXh0Ym94J3MgZm9ybSBjb250cm9sLiAqL1xyXG4gIHB1YmxpYyB0ZXh0Ym94Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsKTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGN1cnJlbnQgY2FsZW5kYXIgc2VsZWN0aW9uLlxyXG4gICAqIFVwZGF0ZWQgd2hlbiB0aGUgdXNlciBjbGlja3Mgb24gYSBjYWxlbmRhciBpdGVtIG9yIHdoZW4gdGhlIGRhdGUgZW50ZXJlZCBpbnRvIHRoZSB0ZXh0Ym94IGlzIHBhcnNlZC5cclxuICAgKi9cclxuICBwdWJsaWMgY2FsZW5kYXJTZWxlY3Rpb246IENhbGVuZGFyU2VsZWN0aW9uIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKiBDb250cm9scyB3aGV0aGVyIHRoZSBjYWxlbmRhciBvdmVybGF5IGlzIG9wZW4gb3Igbm90LiAqL1xyXG4gIHB1YmxpYyBpc0NhbGVuZGFyT3BlbiA9IGZhbHNlO1xyXG5cclxuICAvKiogUGxhY2Vob2xkZXIgZm9yIHRoZSB0ZXh0Ym94LiBVcGRhdGVkIHRvIHJlZmxlY3QgdGhlIHVzZXIncyBkYXRlIGRpc3BsYXkgcHJlZmVyZW5jZS4gKi9cclxuICBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICdNTS9ERC9ZWVlZJztcclxuXHJcbiAgLyoqIE92ZXJsYXkgc2Nyb2xsIHN0cmF0ZWd5IGZvciB0aGUgY2FsZW5kYXIgb3ZlcmxheS4gQ2xvc2VzIHRoZSBjYWxlbmRhciBvbiBzY3JvbGwuICovXHJcbiAgcHVibGljIG92ZXJsYXlTY3JvbGxTdHJhdGVneSA9IHRoaXMub3ZlcmxheVNlcnZpY2Uuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpO1xyXG5cclxuICAvKiogXHJcbiAgICogRGF0ZSBwYXJzaW5nIGZvcm1hdHMgZm9yIHVzZXItZW50ZXJlZCBkYXRlcy4gRGVmYXVsdHMgdG8gbW9udGgtZmlyc3QgZm9ybWF0cywgYnV0IGlzIHVwZGF0ZWQgaW4gb25Jbml0XHJcbiAgICogdG8gdXNlIHRoZSB1c2VyJ3MgcHJlZmVycmVkIGRhdGUgZm9ybWF0LlxyXG4gICAqL1xyXG4gIHByaXZhdGUgcGFyc2VGb3JtYXRzOiBzdHJpbmdbXSA9IERhdGVUaW1lSGVscGVyLmdldFBhcnNlRm9ybWF0cygpO1xyXG5cclxuICAvKiogUmVmZXJlbmNlIHRvIHRoZSBvdmVybGF5IGRpcmVjdGl2ZSAoc2VlIHRlbXBsYXRlKS4gVXNlZCB0byBhY2Nlc3MgdGhlIG92ZXJsYXkncyBob3N0IGVsZW1lbnQgdG8gY29udHJvbCBmb2N1cy4gKi9cclxuICBAVmlld0NoaWxkKCdvdmVybGF5Jykgb3ZlcmxheT86IENka0Nvbm5lY3RlZE92ZXJsYXk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIHZhbGlkYXRpb25NZXNzYWdlU2VydmljZTogVmFsaWRhdGlvbk1lc3NhZ2VTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGZvcm1Hcm91cEhlbHBlcjogRm9ybUdyb3VwSGVscGVyLFxyXG4gICAgcHJpdmF0ZSB1c2VyUHJlZmVyZW5jZVNlcnZpY2U6IFVzZXJQcmVmZXJlbmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgZGF0ZURpc3BsYXlQaXBlOiBEYXRlRGlzcGxheVBpcGUsXHJcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSBvdmVybGF5U2VydmljZTogT3ZlcmxheVxyXG4gICkge1xyXG4gICAgc3VwZXIodmFsaWRhdGlvbk1lc3NhZ2VTZXJ2aWNlLCBmb3JtR3JvdXBIZWxwZXIpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEZvY3VzZXMgdGhlIGlucHV0IHdoZW5ldmVyIHRoZSBjYWxlbmRhciBpcyBzaGlmdC10YWJiZWQgb3V0IG9mLiAqL1xyXG4gIHB1YmxpYyBvbkNhbGVuZGFyRm9jdXNPdXRTdGFydChldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqIENsb3NlcyB0aGUgY2FsZW5kYXIgYW5kIGZvY3VzZXMgdGhlIGlucHV0IHdoZW5ldmVyIHRoZSBjYWxlbmRhciBpcyB0YWJiZWQgb3V0IG9mLiAqL1xyXG4gIHB1YmxpYyBvbkNhbGVuZGFyRm9jdXNPdXRFbmQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLmlzQ2FsZW5kYXJPcGVuID0gZmFsc2U7XHJcbiAgICB0aGlzLmZvY3VzSW5wdXQoKTtcclxuICB9XHJcblxyXG4gIC8qKiBDbG9zZSB0aGUgY2FsZW5kYXIgaWYgdGhlIHVzZXIgY2xpY2tzIG91dHNpZGUgb2YgdGhlIGNhbGVuZGFyIGFuZCBkYXRlIGlucHV0LiAqL1xyXG4gIHB1YmxpYyBvbk92ZXJsYXlPdXRzaWRlQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIC8vIERvIG5vdCBjbG9zZSB0aGUgY2FsZW5kYXIgaWYgdGhlIGNsaWNrIHdhcyB3aXRoaW4gdGhlIGRhdGUgaW5wdXQgb3IgYWN0aW9uIGJ1dHRvblxyXG4gICAgY29uc3QgcmVjdCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIGNvbnN0IGNsaWNrZWRPdXRzaWRlQ29udHJvbCA9IGV2ZW50LmNsaWVudFkgPCByZWN0LnRvcCB8fFxyXG4gICAgICBldmVudC5jbGllbnRZID4gcmVjdC5ib3R0b20gfHxcclxuICAgICAgZXZlbnQuY2xpZW50WCA8IHJlY3QubGVmdCB8fFxyXG4gICAgICBldmVudC5jbGllbnRYID4gcmVjdC5yaWdodDtcclxuICAgIC8vIEl0J3MgcG9zc2libGUgdGhhdCB0aGUgdXNlciBoaXQgZW50ZXIgb24gdGhlIGFjdGlvbiBidXR0b24gaW5zdGVhZCBvZiBjbGlja2luZyB3aXRoIHRoZSBtb3VzZS5cclxuICAgIC8vIEluIHRoaXMgY2FzZSB0aGUgXCJjbGlja1wiIGV2ZW50IHdpbGwgYmUgb3V0c2lkZSBvZiB0aGUgY29tcG9uZW50IGJlY2F1c2UgdGhlIGNsaWVudHggYW5kIHkgYXJlIDAsXHJcbiAgICAvLyBidXQgd2UgZG9uJ3Qgd2FudCB0byBjbG9zZSBpbiB0aGlzIGNhc2UgYmVjYXVzZSBidXR0b24gY2xpY2tzIHRyaWdnZXIgY2FsZW5kYXIgb3Blbi9jbG9zZSBzZXBhcmF0ZWx5LlxyXG4gICAgY29uc3QgaXNBY3Rpb25DbGljayA9ICg8SFRNTEVsZW1lbnQ+ZXZlbnQudGFyZ2V0KS5pZCA9PT0gYCR7dGhpcy5pZH1fYWN0aW9uYDtcclxuXHJcbiAgICBpZiAoIWlzQWN0aW9uQ2xpY2sgJiYgY2xpY2tlZE91dHNpZGVDb250cm9sKSB7XHJcbiAgICAgIHRoaXMuaXNDYWxlbmRhck9wZW4gPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBJZiB0aGUgdXNlciB0YWJzIG91dCBvZiB0aGUgZm9ybSBjb250cm9sJ3MgYWN0aW9uIGJ1dHRvbiBhbmQgdGhlIGNhbGVuZGFyIGlzIG9wZW4sIGZvY3VzIHRoZSBmaXJzdCBpdGVtIGluIHRoZSBjYWxlbmRhciBvdmVybGF5ICovXHJcbiAgcHVibGljIG9uQWN0aW9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ1RhYicgJiYgIWV2ZW50LnNoaWZ0S2V5ICYmIHRoaXMuaXNDYWxlbmRhck9wZW4pIHtcclxuICAgICAgLy8gUHJldmVudCB0aGUgZGVmYXVsdCB0YWIgYWN0aW9uIHNvIHRoZSBmb2N1cyBkb2Vzbid0IG1vdmUgdG8gdGhlIG5leHQgZWxlbWVudCBpbiB0aGUgdGFiIG9yZGVyIGFmdGVyIHdlIG1hbnVhbGx5IGZvY3VzIHRoZSBjYWxlbmRhciBidXR0b24uXHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIC8vIEZvY3VzIHRoZSBmaXJzdCBidXR0b24gaW4gdGhlIGNhbGVuZGFyIG92ZXJsYXlcclxuICAgICAgY29uc3QgZmlyc3RCdXR0b246IEhUTUxCdXR0b25FbGVtZW50IHwgbnVsbCB8IHVuZGVmaW5lZCA9IHRoaXMub3ZlcmxheT8ub3ZlcmxheVJlZi5ob3N0RWxlbWVudC5xdWVyeVNlbGVjdG9yKCdidXR0b246bm90KDpkaXNhYmxlZCknKTtcclxuICAgICAgZmlyc3RCdXR0b24/LmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25UZXh0Ym94S2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ1RhYicgJiYgZXZlbnQuc2hpZnRLZXkpIHtcclxuICAgICAgLy8gSWYgdGhlIHVzZXIgaXMgdGFiYmluZyBiYWNrd2FyZHMgZnJvbSB0aGUgdGV4dGJveCwgY2xvc2UgdGhlIGNhbGVuZGFyLlxyXG4gICAgICB0aGlzLmlzQ2FsZW5kYXJPcGVuID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogV2hlbmV2ZXIgdGhlIHVzZXIgc2VsZWN0cyBhIGRhdGUgZnJvbSB0aGUgY2FsZW5kYXIsIHVwZGF0ZSB0aGUgZm9ybU1vZGVsIHdpdGggdGhlIHNlbGVjdGlvbiAqL1xyXG4gIHB1YmxpYyBvblNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb246IENhbGVuZGFyU2VsZWN0aW9uIHwgbnVsbCkge1xyXG4gICAgdGhpcy5jYWxlbmRhclNlbGVjdGlvbiA9IHNlbGVjdGlvbjtcclxuICAgIGlmIChpc0NhbGVuZGFyU2VsZWN0aW9uU2luZ2xlRGF0ZShzZWxlY3Rpb24pKSB7XHJcbiAgICAgIHRoaXMuZm9ybU1vZGVsLnNldFZhbHVlKHNlbGVjdGlvbik7XHJcbiAgICAgIHRoaXMuaXNDYWxlbmRhck9wZW4gPSBmYWxzZTtcclxuICAgICAgdGhpcy5mb2N1c0lucHV0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25UZXh0Ym94Qmx1cigpIHtcclxuICAgIC8vIFBhcnNlIHRoZSB0ZXh0Ym94IHZhbHVlIGludG8gYSBkYXRlIGFuZCB1cGRhdGUgdGhlIGZvcm0gbW9kZWxcclxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy50ZXh0Ym94Q29udHJvbC52YWx1ZTtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICBjb25zdCBwYXJzZWREYXRlID0gbW9tZW50KHZhbHVlLCB0aGlzLnBhcnNlRm9ybWF0cyk7XHJcbiAgICAgIGlmIChwYXJzZWREYXRlLmlzVmFsaWQoKSkge1xyXG4gICAgICAgIHRoaXMuZm9ybU1vZGVsLnNldFZhbHVlKHBhcnNlZERhdGUudG9EYXRlKCkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZm9ybU1vZGVsLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm1Nb2RlbC5zZXRWYWx1ZShudWxsKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBVcGRhdGUgdGhlIGZvcm0gbW9kZWwncyB0b3VjaGVkIGFuZCBkaXJ0eSBzdGF0dXMgYmFzZWQgb24gdGhlIHRleHRib3gncyBzdGF0dXMuXHJcbiAgICAvLyBTaW5jZSB0aGUgdXNlciBpbnRlcmFjdHMgd2l0aCBhIGNvbnRyb2wgdGhhdCBpcyBpbnRlcm5hbCB0byB0aGlzIGNvbXBvbmVudCwgdGhlXHJcbiAgICAvLyBmb3JtIG1vZGVsJ3Mgc3RhdHVzIHdvbid0IGJlIHVwZGF0ZWQgYXV0b21hdGljYWxseS5cclxuICAgIGlmICh0aGlzLnRleHRib3hDb250cm9sLnRvdWNoZWQgJiYgIXRoaXMuZm9ybU1vZGVsLnRvdWNoZWQpIHtcclxuICAgICAgdGhpcy5mb3JtTW9kZWwubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudGV4dGJveENvbnRyb2wuZGlydHkgJiYgIXRoaXMuZm9ybU1vZGVsLmRpcnR5KSB7XHJcbiAgICAgIHRoaXMuZm9ybU1vZGVsLm1hcmtBc0RpcnR5KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIC8vIFNldHVwXHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5zZXREYXRlRm9ybWF0cygpO1xyXG5cclxuICAgIHRoaXMuZm9ybU1vZGVsLmFkZFZhbGlkYXRvcnModGhpcy5kYXRlVmFsaWRhdG9yKTtcclxuXHJcbiAgICAvLyBTdWJzY3JpcHRpb25zXHJcbiAgICB0aGlzLm9uRm9ybU1vZGVsU3RhdHVzQ2hhbmdlcygpO1xyXG4gICAgdGhpcy5vbkZvcm1Nb2RlbFZhbHVlQ2hhbmdlcygpO1xyXG4gICAgdGhpcy5vblRleHRib3hWYWx1ZUNoYW5nZXMoKTtcclxuXHJcbiAgICAvLyBTeW5jIHRoZSBpbml0aWFsIGRpc2FibGVkIHN0YXR1cyBhbmQgdmFsdWUgb2YgdGhlIHRleHRib3hcclxuICAgIHRoaXMuc3luY1RleHRib3hDb250cm9sRGlzYWJsZWRTdGF0dXModGhpcy5mb3JtTW9kZWwuc3RhdHVzKTtcclxuICAgIHRoaXMudGV4dGJveENvbnRyb2wuc2V0VmFsdWUodGhpcy5kYXRlRGlzcGxheVBpcGUudHJhbnNmb3JtKHRoaXMuZm9ybU1vZGVsLnZhbHVlKSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgdGhpcy5jYWxlbmRhclNlbGVjdGlvbiA9IHRoaXMuZm9ybU1vZGVsLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkZvcm1Nb2RlbFN0YXR1c0NoYW5nZXMoKSB7XHJcbiAgICAvLyBLZWVwIHRoZSB0ZXh0Ym94Q29udHJvbCBkaXNhYmxlZCBzdGF0dXMgaW4gc3luYyB3aXRoIHRoZSBmb3JtTW9kZWxcclxuICAgIHRoaXMuZm9ybU1vZGVsLnN0YXR1c0NoYW5nZXMucGlwZShcclxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgdGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKVxyXG4gICAgKS5zdWJzY3JpYmUoc3RhdHVzID0+IHtcclxuICAgICAgdGhpcy5zeW5jVGV4dGJveENvbnRyb2xEaXNhYmxlZFN0YXR1cyhzdGF0dXMpO1xyXG5cclxuICAgICAgaWYgKHRoaXMuaXNDYWxlbmRhck9wZW4pIHtcclxuICAgICAgICAvLyBBcyB2YWxpZGF0aW9uIG1lc3NhZ2VzIGFwcGVhci9kaXNhcHBlYXIsIHRoZSBkYXRlIGlucHV0IG1heSBoYXZlIHNoaWZ0ZWQgdXAgb3IgZG93biBvbiB0aGUgcGFnZS5cclxuICAgICAgICAvLyBVcGRhdGUgdGhlIG92ZXJsYXkgcG9zaXRpb24gdG8gZW5zdXJlIGl0J3Mgc3RpbGwgYWxpZ25lZCB3aXRoIHRoZSB0ZXh0Ym94IGFuZCBub3QgYmxvY2tpbmcgaXQuXHJcbiAgICAgICAgLy8gU2V0dGltZW91dCBpcyBuZWVkZWQgdG8gZW5zdXJlIHRoZSBvdmVybGF5IGlzIGJlaW5nIHVwZGF0ZWQgYWZ0ZXIgdGhlIG1lc3NhZ2UgaXMgcmVuZGVyZWQuXHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm92ZXJsYXk/Lm92ZXJsYXlSZWY/LnVwZGF0ZVBvc2l0aW9uKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkZvcm1Nb2RlbFZhbHVlQ2hhbmdlcygpIHtcclxuICAgIC8vIFVwZGF0ZSB0aGUgY2FsZW5kYXIgc2VsZWN0aW9uIHRleHRib3ggdmFsdWUgd2l0aCBhIGZvcm1hdHRlZCBkYXRlIHdoZW4gdGhlIGZvcm0gbW9kZWwgY2hhbmdlcy5cclxuICAgIC8vIFRoaXMgaXMgdXN1YWxseSB0cmlnZ2VyZWQgYnkgcHJvZ3JhbW1hdGljIGNoYW5nZXMgdG8gdGhlIGZvcm0gbW9kZWwgYnkgYSBwYXJlbnQgY29tcG9uZW50LlxyXG4gICAgdGhpcy5mb3JtTW9kZWwudmFsdWVDaGFuZ2VzLnBpcGUoXHJcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBtb21lbnQoYSkuaXNTYW1lKGIsICdkYXknKSksXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZClcclxuICAgICkuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgY29uc3QgZGlzcGxheVZhbHVlID0gdGhpcy5kYXRlRGlzcGxheVBpcGUudHJhbnNmb3JtKHZhbHVlKTtcclxuICAgICAgLy8gRG9uJ3QgZW1pdCBhbiBldmVudCB3aGVuIHNldHRpbmcgdGhlIHRleHRib3ggdmFsdWUgdG8gYXZvaWQgY2lyY3VsYXIgdXBkYXRlcyBiZXR3ZWVuIHRoZSB0ZXh0Ym94IGFuZCBmb3JtIG1vZGVsLlxyXG4gICAgICB0aGlzLnRleHRib3hDb250cm9sLnNldFZhbHVlKGRpc3BsYXlWYWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICB0aGlzLmNhbGVuZGFyU2VsZWN0aW9uID0gdmFsdWU7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25UZXh0Ym94VmFsdWVDaGFuZ2VzKCkge1xyXG4gICAgLy8gVXBkYXRlIHRoZSBjYWxlbmRhciBzZWxlY3Rpb24gd2hlbiB0aGUgdGV4dGJveCB2YWx1ZSBjaGFuZ2VzIHRvIHVwZGF0ZSB0aGUgY2FsZW5kYXIuXHJcbiAgICAvLyBXZSBkb24ndCBwYXRjaCB0aGUgZm9ybU1vZGVsIGhlcmUgYmVjYXVzZSB3ZSBkb24ndCB3YW50IHRvIHRyaWdnZXIgdGhlXHJcbiAgICAvLyBkYXRlIGZvcm1hdHRpbmcgbG9naWMgYW5kIG92ZXJ3cml0ZSB0aGUgdXNlcidzIGlucHV0LlxyXG4gICAgLy8gV2UnbGwgZG8gdGhhdCB3aGVuIHRoZSB1c2VyIGJsdXJzIG91dCBvZiB0aGUgdGV4dGJveC4gU2VlIG9uVGV4dGJveEJsdXIoKVxyXG4gICAgdGhpcy50ZXh0Ym94Q29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcclxuICAgICAgZGVib3VuY2VUaW1lKDMwMCksXHJcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZClcclxuICAgICkuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgY29uc3QgcGFyc2VkRGF0ZSA9IG1vbWVudCh2YWx1ZSwgdGhpcy5wYXJzZUZvcm1hdHMpO1xyXG4gICAgICAgIGlmIChwYXJzZWREYXRlLmlzVmFsaWQoKSkge1xyXG4gICAgICAgICAgLy8gSWYgdGhlIHBhcnNlZCBkYXRlIGlzIGJlZm9yZSB0aGUgbWluRGF0ZSwgc2V0IHRoZSB5ZWFyIHRvIHRoZSBjdXJyZW50IHllYXIuXHJcbiAgICAgICAgICAvLyBUaGlzIHByZXZlbnRzIHRoZSBjYWxlbmRhciBmcm9tIHNob3dpbmcgdW5oZWxwZnVsIGRhdGVzIGluIHRoZSBkaXN0YW50IHBhc3QgYXMgdGhlIHVzZXIgdHlwZXNcclxuICAgICAgICAgIGlmIChwYXJzZWREYXRlLnllYXIoKSA8IHRoaXMubWluRGF0ZS5nZXRGdWxsWWVhcigpKSB7XHJcbiAgICAgICAgICAgIHBhcnNlZERhdGUuc2V0KCd5ZWFyJywgbW9tZW50KCkueWVhcigpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuY2FsZW5kYXJTZWxlY3Rpb24gPSBwYXJzZWREYXRlLnRvRGF0ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNhbGVuZGFyU2VsZWN0aW9uID0gbnVsbDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN5bmNUZXh0Ym94Q29udHJvbERpc2FibGVkU3RhdHVzKHN0YXR1czogRm9ybUNvbnRyb2xTdGF0dXMpIHtcclxuICAgIC8vIFRoZSB0ZXh0Ym94IHNob3VsZCBvbmx5IGJlIGRpc2FibGVkIGlmIHRoZSBmb3JtIG1vZGVsIGlzIGRpc2FibGVkLlxyXG4gICAgLy8gQWxsIG90aGVyIHN0YXR1c2VzIGFyZSBjb25zaWRlcmVkIGVuYWJsZWQuXHJcbiAgICBpZiAoc3RhdHVzID09PSAnRElTQUJMRUQnICYmIHRoaXMudGV4dGJveENvbnRyb2wuZW5hYmxlZCkge1xyXG4gICAgICB0aGlzLnRleHRib3hDb250cm9sLmRpc2FibGUoKTtcclxuICAgIH0gZWxzZSBpZiAoc3RhdHVzICE9PSAnRElTQUJMRUQnICYmIHRoaXMudGV4dGJveENvbnRyb2wuZGlzYWJsZWQpIHtcclxuICAgICAgdGhpcy50ZXh0Ym94Q29udHJvbC5lbmFibGUoKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICAvKiogXHJcbiAgICogVXBkYXRlcyB0aGUgZGF0ZSBwYXJzaW5nIGZvcm1hdHMgYW5kIHBsYWNlaG9sZGVyIGJhc2VkIG9uIHRoZSB1c2VyJ3MgZGlzcGxheSBwcmVmZXJlbmNlLlxyXG4gICAqIE5PVEU6IFRoaXMgaXMgYXN5bmMgYmVjYXVzZSB3ZSdyZSByZXRyaWV2aW5nIHRoZSB1c2VyJ3MgcHJlZmVyZW5jZXMuIFdlJ3JlIG5vdCBhd2FpdGluZyB0aGUgcmVzdWx0XHJcbiAgICogYmVjYXVzZSB0aGUgb25seSBsb2dpYyB0aGF0IGRlcGVuZHMgb24gdGhpcyBpcyB0aGUgdGV4dCBib3ggZGF0ZSBwYXJzaW5nIGxvZ2ljIGFuZCBwbGFjZWhvbGRlci5cclxuICAgKiBPdXIgZm9ybXMgc2hvdWxkIGFsd2F5cyBiZSBiZWhpbmQgYSBwZW5kaW5nIG92ZXJsYXksIHNvIHRoZSB1c2VyIHdvbid0IGJlIGFibGUgdG8gaW50ZXJhY3Qgd2l0aCB0aGVcclxuICAgKiBmb3JtIHVudGlsIHRoZSB1c2VyIGlzIGxvYWRlZCBhbnl3YXkuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBhc3luYyBzZXREYXRlRm9ybWF0cygpIHtcclxuICAgIGNvbnN0IHsgcHJlZmVyZW5jZSB9ID0gYXdhaXQgdGhpcy51c2VyUHJlZmVyZW5jZVNlcnZpY2UuZ2V0UHJlZmVyZW5jZXMoKS50b1Byb21pc2UoKTtcclxuICAgIGNvbnN0IGRhdGVGb3JtYXQgPSBwcmVmZXJlbmNlPy5kYXRlRm9ybWF0O1xyXG4gICAgdGhpcy5wbGFjZWhvbGRlciA9IGRhdGVGb3JtYXQgPz8gdGhpcy5wbGFjZWhvbGRlcjtcclxuICAgIHRoaXMucGFyc2VGb3JtYXRzID0gRGF0ZVRpbWVIZWxwZXIuZ2V0TW9tZW50UGFyc2VGb3JtYXRzKGRhdGVGb3JtYXQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVmFsaWRhdG9yIHRoYXQgY2hlY2tzIGlmIHRoZSBkYXRlIGlzIHdpdGhpbiB0aGUgbWluIGFuZCBtYXggZGF0ZSByYW5nZS5cclxuICAgKiBJZiB0aGUgZGF0ZSBpcyBvdXRzaWRlIG9mIHRoZSByYW5nZSwgdGhlIHZhbGlkYXRvciByZXR1cm5zIGFuIGVycm9yIHRoYXRcclxuICAgKiB0cmlnZ2VycyB0aGUgdmFsaWRhdGlvbiBtZXNzYWdlIHNlcnZpY2UgdG8gc2hvdyB0aGUgZXJyb3IgaW4gdGhlIGxhYmVsLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgZGF0ZVZhbGlkYXRvcjogVmFsaWRhdG9yRm4gPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XHJcbiAgICBpZiAoY29udHJvbC52YWx1ZSkge1xyXG4gICAgICBpZiAoY29udHJvbC52YWx1ZSA8IHRoaXMubWluRGF0ZSkge1xyXG4gICAgICAgIHJldHVybiB7IG1pbkRhdGU6IHsgbWluVmFsdWU6IHRoaXMubWluRGF0ZSB9IH07XHJcbiAgICAgIH0gZWxzZSBpZiAoY29udHJvbC52YWx1ZSA+IHRoaXMubWF4RGF0ZSkge1xyXG4gICAgICAgIHJldHVybiB7IG1heERhdGU6IHsgbWF4VmFsdWU6IHRoaXMubWF4RGF0ZSB9IH07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9O1xyXG5cclxuICAvKiogRm9jdXNlcyB0aGUgZGF0ZSBpbnB1dC4gKi9cclxuICBwcml2YXRlIGZvY3VzSW5wdXQoKSB7XHJcbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXQnKT8uZm9jdXMoKTtcclxuICB9XHJcbn1cclxuIiwiPGxhYmVsICpuZ0lmPVwibGFiZWxcIj5cclxuICA8c3Bhbj57e2xhYmVsIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgPHNwYW4gKm5nSWY9XCJ2YWxpZGF0aW9uRXJyb3JzLmxlbmd0aCA+IDAgJiYgZm9ybU1vZGVsLnRvdWNoZWQgJiYgZm9ybU1vZGVsLmludmFsaWRcIj4mbmJzcDt7e3ZhbGlkYXRpb25FcnJvcnN9fTwvc3Bhbj5cclxuICA8ZWMtaGVscC1wb3BvdmVyIGlkPVwie3tpZH19X2hlbHBQb3BvdmVyXCJcclxuICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaGVscFBvcG92ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWlubGluZS1ibG9jayBteS1uMyBteC1uMVwiXHJcbiAgICAgICAgICAgICAgICAgICB0ZXh0PVwie3toZWxwUG9wb3ZlciB8IHRyYW5zbGF0ZX19XCJcclxuICAgICAgICAgICAgICAgICAgIGNvbnRlbnRQb3NpdGlvbj1cInt7aGVscFBvcG92ZXJQb3NpdGlvbn19XCI+XHJcbiAgPC9lYy1oZWxwLXBvcG92ZXI+XHJcbjwvbGFiZWw+XHJcblxyXG48ZWMtZm9ybS1jb250cm9sIGlkPVwie3tpZH19XCJcclxuICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgICAgICAgICAgICAgIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcclxuICAgICAgICAgICAgICAgICBbcGVuZGluZ109XCJwZW5kaW5nXCJcclxuICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgIFtmb3JtTW9kZWxdPVwiZm9ybU1vZGVsXCJcclxuICAgICAgICAgICAgICAgICAoYWN0aW9uQ2xpY2tlZCk9XCJpc0NhbGVuZGFyT3BlbiA9ICFpc0NhbGVuZGFyT3BlblwiXHJcbiAgICAgICAgICAgICAgICAgKGFjdGlvbktleWRvd24pPVwib25BY3Rpb25LZXlkb3duKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgIFtzaG93Q2xlYXJdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgIGFjdGlvbkljb249XCJpY29uLWRhdGVcIlxyXG4gICAgICAgICAgICAgICAgIGNka092ZXJsYXlPcmlnaW5cclxuICAgICAgICAgICAgICAgICAjb3ZlcmxheU9yaWdpbj1cImNka092ZXJsYXlPcmlnaW5cIj5cclxuICA8aW5wdXQgaWQ9XCJ7e2lkfX1faW5wdXRcIlxyXG4gICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgIHBsYWNlaG9sZGVyPVwie3twbGFjZWhvbGRlcn19XCJcclxuICAgICAgICAgW2Zvcm1Db250cm9sXT1cInRleHRib3hDb250cm9sXCJcclxuICAgICAgICAgKGJsdXIpPVwib25UZXh0Ym94Qmx1cigpXCJcclxuICAgICAgICAgKGtleWRvd24pPVwib25UZXh0Ym94S2V5ZG93bigkZXZlbnQpXCI+XHJcbjwvZWMtZm9ybS1jb250cm9sPlxyXG5cclxuPG5nLXRlbXBsYXRlIGNka0Nvbm5lY3RlZE92ZXJsYXlcclxuICAgICAgICAgICAgICNvdmVybGF5PVwiY2RrQ29ubmVjdGVkT3ZlcmxheVwiXHJcbiAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJvdmVybGF5T3JpZ2luXCJcclxuICAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJpc0NhbGVuZGFyT3BlblwiXHJcbiAgICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVNjcm9sbFN0cmF0ZWd5XT1cIm92ZXJsYXlTY3JvbGxTdHJhdGVneVwiXHJcbiAgICAgICAgICAgICBjZGtDb25uZWN0ZWRPdmVybGF5UGFuZWxDbGFzcz1cIm15LTFcIlxyXG4gICAgICAgICAgICAgKG92ZXJsYXlPdXRzaWRlQ2xpY2spPVwib25PdmVybGF5T3V0c2lkZUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgKGRldGFjaCk9XCJpc0NhbGVuZGFyT3BlbiA9IGZhbHNlXCI+XHJcbiAgPGVjLWNhbGVuZGFyIFtpZF09XCJpZCArICdfY2FsZW5kYXInXCJcclxuICAgICAgICAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXHJcbiAgICAgICAgICAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxyXG4gICAgICAgICAgICAgICBbc2VsZWN0aW9uXT1cImNhbGVuZGFyU2VsZWN0aW9uXCJcclxuICAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkIHB4LTEgcHQtMSBwYi0yXCJcclxuICAgICAgICAgICAgICAgKGZvY3VzT3V0U3RhcnQpPVwib25DYWxlbmRhckZvY3VzT3V0U3RhcnQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgIChmb2N1c091dEVuZCk9XCJvbkNhbGVuZGFyRm9jdXNPdXRFbmQoJGV2ZW50KVwiPlxyXG4gIDwvZWMtY2FsZW5kYXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
@@ -155,6 +155,7 @@ DateTimeHelper.momentMonthFirstParseFormats = [
|
|
155
155
|
'MM-DD',
|
156
156
|
'M-D-YY',
|
157
157
|
'MM-DD-YY',
|
158
|
+
'MMDDYYYY',
|
158
159
|
'YYYYMMDD',
|
159
160
|
'YYYY-MM-DD',
|
160
161
|
'MM-DD-YYYY'
|
@@ -191,6 +192,7 @@ DateTimeHelper.momentDateFirstParseFormats = [
|
|
191
192
|
'DD-MM',
|
192
193
|
'D-M-YY',
|
193
194
|
'DD-MM-YY',
|
195
|
+
'DDMMYYYY',
|
194
196
|
'YYYYMMDD',
|
195
197
|
'YYYY-MM-DD',
|
196
198
|
'DD-MM-YYYY'
|
@@ -215,4 +217,4 @@ DateTimeHelper.momentMedAndLongDateFormats = [
|
|
215
217
|
* Format to display the time portion of a datetime
|
216
218
|
*/
|
217
219
|
DateTimeHelper.timeFormat = 'HH:mm:ss';
|
218
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlL2RhdGUtdGltZS1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRTVCOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUF3SXZCLHVEQUF1RDtJQUN2RCxVQUFVO0lBQ1YsdURBQXVEO0lBRXZEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFtQyxFQUFFLGlCQUEwQixLQUFLO1FBQzFGLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN0RSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFHRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBb0MsRUFBRSxLQUFvQztRQUM5RixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUEwQjtRQUNwRCxJQUFJLEdBQUcsR0FBRztZQUNOLFlBQVksRUFBRSxJQUFJLENBQUMsc0JBQXNCO1lBQ3pDLFlBQVksRUFBRSxJQUFJLENBQUMsc0JBQXNCO1lBQ3pDLFlBQVksRUFBRSxJQUFJLENBQUMscUJBQXFCO1lBQ3hDLFlBQVksRUFBRSxJQUFJLENBQUMscUJBQXFCO1lBQ3hDLFlBQVksRUFBRSxJQUFJLENBQUMsc0JBQXNCO1lBQ3pDLFlBQVksRUFBRSxJQUFJLENBQUMsc0JBQXNCO1NBQzVDLENBQUM7UUFFRixPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUM7SUFDdEUsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxVQUEwQjtRQUMxRCxJQUFJLEdBQUcsR0FBRztZQUNOLFlBQVksRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixFQUFFLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDO1lBQ3pGLFlBQVksRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixFQUFFLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDO1lBQ3pGLFlBQVksRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixFQUFFLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDO1lBQ3hGLFlBQVksRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixFQUFFLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDO1lBQ3hGLFlBQVksRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixFQUFFLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDO1lBQ3pGLFlBQVksRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixFQUFFLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDO1NBQzVGLENBQUM7UUFFRixPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUM7SUFDNUUsQ0FBQztJQUlEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsd0JBQXdCLENBQUMsZ0JBQXFCLEVBQUUsWUFBb0Q7UUFDOUcsSUFBSSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxJQUFJLFlBQVksQ0FBQyxTQUFTLENBQUM7UUFDekUsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsZ0NBQWdDLENBQUM7SUFDN0YsQ0FBQztJQUdEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxnQkFBcUIsRUFBRSxZQUFrRDtRQUMxRyxJQUFJLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxXQUFXLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQztRQUNuRSxJQUFJLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDakQsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM1QjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLENBQUMsYUFBYSxDQUN2QixJQUFVLEVBQ1YsU0FBdUIsRUFDdkIsT0FBcUIsRUFDckIsWUFBc0IsRUFDdEIsVUFBb0I7UUFFcEIsSUFBSSxXQUFXLEdBQThCLElBQUksQ0FBQztRQUNsRCxJQUFJLFlBQVksSUFBSSxVQUFVLEVBQUc7WUFDN0IsV0FBVyxHQUFHLElBQUksQ0FBQztTQUN0QjthQUFNLElBQUksWUFBWSxFQUFFO1lBQ3JCLFdBQVcsR0FBRyxJQUFJLENBQUM7U0FDdEI7YUFBTSxJQUFJLFVBQVUsRUFBRTtZQUNuQixXQUFXLEdBQUcsSUFBSSxDQUFDO1NBQ3RCO1FBRUQsMEVBQTBFO1FBQzFFLFNBQVMsR0FBRyxTQUFTLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUU5QyxvRUFBb0U7UUFDcEUsT0FBTyxHQUFHLE9BQU8sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO1FBRXBDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRU0sTUFBTSxDQUFDLFlBQVksQ0FBQyxVQUFxQztRQUM5RCxJQUFJLFVBQVUsS0FBSyxJQUFJLElBQUksVUFBVSxLQUFLLFNBQVMsRUFBRTtZQUNuRCxPQUFPLFVBQVUsQ0FBQztTQUNuQjthQUFNO1lBQ0wsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDcEM7SUFDSCxDQUFDOztBQXJQRCx1REFBdUQ7QUFDdkQsWUFBWTtBQUNaLHVEQUF1RDtBQUV6Qyw4QkFBZSxHQUFTLElBQUksSUFBSSxDQUFDLElBQUksRUFBQyxFQUFFLEVBQUMsRUFBRSxDQUFDLENBQUM7QUFFM0QsaUJBQWlCO0FBQ0gsd0JBQVMsR0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRXJELHFCQUFxQjtBQUNQLDJCQUFZLEdBQVMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUVyRSw0RUFBNEU7QUFDOUQsK0NBQWdDLEdBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUU1RSxrRkFBa0Y7QUFDcEUsaURBQWtDLEdBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUU5RSxtREFBbUQ7QUFDckMsZ0NBQWlCLEdBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUU3RCxtTEFBbUw7QUFDckssZ0NBQWlCLEdBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLEVBQUUsRUFBQyxFQUFFLENBQUMsQ0FBQztBQUVwRSx3QkFBd0I7QUFDVixnQ0FBaUIsR0FBVyxZQUFZLENBQUM7QUFDekMsZ0NBQWlCLEdBQVcsVUFBVSxDQUFDO0FBQ3ZDLHFDQUFzQixHQUFXLEdBQUcsY0FBYyxDQUFDLGlCQUFpQixJQUFJLGNBQWMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0FBRXpIOztHQUVHO0FBQ1csMENBQTJCLEdBQUc7SUFDeEMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRTtJQUNoRyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUU7Q0FBQyxDQUFDO0FBRWhKOzs7R0FHRztBQUNXLHFDQUFzQixHQUFhO0lBQzdDLFlBQVk7SUFDWixZQUFZO0lBQ1osVUFBVTtJQUNWLFVBQVU7SUFDVixRQUFRO0lBQ1IsT0FBTztJQUNQLFlBQVk7SUFDWixZQUFZO0lBQ1osVUFBVTtJQUNWLE9BQU87SUFDUCxZQUFZO0lBQ1osWUFBWTtJQUNaLFVBQVU7SUFDVixPQUFPO0lBQ1AsVUFBVTtDQUNiLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNXLDJDQUE0QixHQUFhO0lBQ25ELEtBQUs7SUFDTCxPQUFPO0lBQ1AsUUFBUTtJQUNSLFVBQVU7SUFDVixVQUFVO0lBQ1YsWUFBWTtJQUNaLFlBQVk7Q0FDZixDQUFDO0FBRUY7OztHQUdHO0FBQ1csb0NBQXFCLEdBQWE7SUFDNUMsWUFBWTtJQUNaLFlBQVk7SUFDWixVQUFVO0lBQ1YsVUFBVTtJQUNWLFFBQVE7SUFDUixPQUFPO0lBQ1AsWUFBWTtJQUNaLFlBQVk7SUFDWixVQUFVO0lBQ1YsT0FBTztJQUNQLFlBQVk7SUFDWixZQUFZO0lBQ1osVUFBVTtJQUNWLE9BQU87SUFDUCxVQUFVO0NBQ2IsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ1csMENBQTJCLEdBQWE7SUFDbEQsS0FBSztJQUNMLE9BQU87SUFDUCxRQUFRO0lBQ1IsVUFBVTtJQUNWLFVBQVU7SUFDVixZQUFZO0lBQ1osWUFBWTtDQUNmLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNXLDBDQUEyQixHQUFhO0lBQ2xELFdBQVc7SUFDWCxhQUFhO0lBQ2IsY0FBYztJQUNkLFdBQVc7SUFDWCxhQUFhO0lBQ2IsY0FBYztJQUNkLGNBQWM7SUFDZCxlQUFlO0NBQ2xCLENBQUM7QUFFRjs7R0FFRztBQUNXLHlCQUFVLEdBQVcsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEhlbHBlciBjbGFzcyB0aGF0IHByb3ZpZGVzIGNvbW1vbiBkYXRlIGNvbnN0YW50cyBhbmQgaGVscGZ1bCBkYXRlIGZ1bmN0aW9uc1xyXG4gKi9cclxuZXhwb3J0IGNsYXNzIERhdGVUaW1lSGVscGVyIHtcclxuXHJcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgICAvLyBDT05TVEFOVFNcclxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGJlZ2lubmluZ09mVGltZTogRGF0ZSA9IG5ldyBEYXRlKDE4OTksMTEsMzEpO1xyXG4gICAgIFxyXG4gICAgLyoqIDMwMDAtMDEtMDEgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZW5kT2ZUaW1lOiBEYXRlID0gbmV3IERhdGUoMzAwMCwgMCwgMSk7XHJcblxyXG4gICAgLyoqIDMwMDAtMDEtMDEgVVRDICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGVuZE9mVGltZVVUQzogRGF0ZSA9IG1vbWVudC51dGMoJzMwMDAtMDEtMDEnKS50b0RhdGUoKTtcclxuXHJcbiAgICAvKiogRGVmYXVsdCBlZmZlY3RpdmUgZGF0ZSBmb3IgbmV3IEFjY291bnRNZXRlciByZWxhdGlvbnNoaXBzOiAyMDEwLTAxLTAxICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGRlZmF1bHRBY2NvdW50TWV0ZXJFZmZlY3RpdmVEYXRlOiBEYXRlID0gbmV3IERhdGUoMjAxMCwgMCwgMSk7XHJcblxyXG4gICAgLyoqIFRoZSBkZWZhdWx0IGRhdGUgdGhhdCBhIG5ld2x5IGNyZWF0ZWQgYWNjb3VudCBiZWNvbWVzIGVmZmVjdGl2ZTogMjAxMC0wMS0wMSAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBkZWZhdWx0QWNjb3VudFNlcnZpY2VFZmZlY3RpdmVEYXRlOiBEYXRlID0gbmV3IERhdGUoMjAxMCwgMCwgMSk7XHJcblxyXG4gICAgLyoqIE1pbmltdW0gZGF0ZSBmb3IgYWxsIGRhdGVwaWNrZXJzOiAxOTgwLTAxLTAxICovXHJcbiAgICBwdWJsaWMgc3RhdGljIG1pbkRhdGVQaWNrZXJEYXRlOiBEYXRlID0gbmV3IERhdGUoMTk4MCwgMCwgMSk7XHJcblxyXG4gICAgLyoqIE1heGltdW0gZGF0ZSBmb3IgYWxsIGRhdGVwaWNrZXJzOiAzMDAwLTAxLTAxIDExOjU5OjU5IFBNIHRvIGFsbG93IGZvciBsb2NhbCB0aW1lIG9mZnNldCB3b3JraW5nIGluIGZvciAzMDAwLTAxLTAxIGRhdGVzLCB3aGljaCB3ZSBzdG9yZSBpbiB0aGUgZGIgdG8gcmVwcmVzZW50IFwiZW5kIG9mIHRpbWVcIiAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBtYXhEYXRlUGlja2VyRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKDMwMDAsMCwxLDIzLDU5LDU5KTtcclxuXHJcbiAgICAvKiogVGltZXN0YW1wIGZvcm1hdHMgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZGVmYXVsdERhdGVGb3JtYXQ6IHN0cmluZyA9IFwieXl5eS1NTS1kZFwiO1xyXG4gICAgcHVibGljIHN0YXRpYyBkZWZhdWx0VGltZUZvcm1hdDogc3RyaW5nID0gXCJISDptbTpzc1wiO1xyXG4gICAgcHVibGljIHN0YXRpYyBkZWZhdWx0VGltZXN0YW1wRm9ybWF0OiBzdHJpbmcgPSBgJHtEYXRlVGltZUhlbHBlci5kZWZhdWx0RGF0ZUZvcm1hdH0gJHtEYXRlVGltZUhlbHBlci5kZWZhdWx0VGltZUZvcm1hdH1gO1xyXG5cclxuICAgIC8qKiBMaXN0IG9mIHZhbGlkIGJpbGwgaW1wb3J0IGRhdGUgZm9ybWF0c1xyXG4gICAgICogIFdhcm5pbmchIERvIG5vdCB1c2UgdGhlc2UgZm9yIGFjdHVhbCBmb3JtYXR0aW5nIG9mIGRhdGVzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgYmlsbEltcG9ydEZvcm1hdERhdGVGb3JtYXRzID0gW1xyXG4gICAgICAgIHsgbGFiZWw6IFwibW0vZGQveXl5eVwiLCB2YWx1ZTogXCJtbS9kZC95eXl5XCIgfSwgeyBsYWJlbDogXCJNb250aCBkZCB5eXl5XCIsIHZhbHVlOiBcIk1vbnRoIGRkIHl5eXlcIiB9LCBcclxuICAgICAgICB7IGxhYmVsOiBcImRkL21tL3l5eXlcIiwgdmFsdWU6IFwiZGQvbW0veXl5eVwiIH0sIHsgbGFiZWw6IFwiZGQgTW9udGggeXl5eVwiLCB2YWx1ZTogXCJkZCBNb250aCB5eXl5XCIgfSwgeyBsYWJlbDogXCJ5eXl5bW1kZFwiLCB2YWx1ZTogXCJ5eXl5bW1kZFwiIH1dO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXNlciBpbnB1dCBmb3JtYXRzIHRoYXQgd2Ugd2lsbCBwYXJzZSBpbnRvIGEgZGF0ZVxyXG4gICAgICogd2hlbiB0aGUgdXNlcnMgZGF0ZSBmb3JtYXQgcHJlZmVyZW5jZSBoYXMgbW9udGggYmVmb3JlIGRheVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIG1vbnRoRmlyc3RQYXJzZUZvcm1hdHM6IHN0cmluZ1tdID0gW1xyXG4gICAgICAgIFwieXl5eS9NTS9kZFwiLFxyXG4gICAgICAgIFwiTU0vZGQveXl5eVwiLFxyXG4gICAgICAgIFwiTU1kZHl5eXlcIixcclxuICAgICAgICBcIk1NL2RkL3l5XCIsXHJcbiAgICAgICAgXCJNTWRkeXlcIixcclxuICAgICAgICBcIk1NL2RkXCIsXHJcbiAgICAgICAgXCJ5eXl5Lk1NLmRkXCIsXHJcbiAgICAgICAgXCJNTS5kZC55eXl5XCIsXHJcbiAgICAgICAgXCJNTS5kZC55eVwiLFxyXG4gICAgICAgIFwiTU0uZGRcIixcclxuICAgICAgICBcInl5eXktTU0tZGRcIixcclxuICAgICAgICBcIk1NLWRkLXl5eXlcIixcclxuICAgICAgICBcIk1NLWRkLXl5XCIsXHJcbiAgICAgICAgXCJNTS1kZFwiLFxyXG4gICAgICAgIFwieXl5eU1NZGRcIlxyXG4gICAgXTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFVzZXIgaW5wdXQgZm9ybWF0cyB0aGF0IHdlIHdpbGwgcGFyc2UgaW50byBhIGRhdGVcclxuICAgICAqIHdoZW4gdGhlIHVzZXJzIGRhdGUgZm9ybWF0IHByZWZlcmVuY2UgaGFzIG1vbnRoIGJlZm9yZSBkYXkuXHJcbiAgICAgKiBUbyBiZSB1c2VkIHdpdGggbW9tZW50LmpzLiBNb21lbnQgaWdub3JlcyBub24tYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcclxuICAgICAqIHNvIGRhdGVzIGxpa2UgMjAyMC8wOS8xMCB3aWxsIGJlIHBhcnNlZCB0aGUgc2FtZSBhcyAyMDIwLTA5LTEwXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgbW9tZW50TW9udGhGaXJzdFBhcnNlRm9ybWF0czogc3RyaW5nW10gPSBbXHJcbiAgICAgICAgJ00tRCcsXHJcbiAgICAgICAgJ01NLUREJyxcclxuICAgICAgICAnTS1ELVlZJyxcclxuICAgICAgICAnTU0tREQtWVknLFxyXG4gICAgICAgICdZWVlZTU1ERCcsXHJcbiAgICAgICAgJ1lZWVktTU0tREQnLFxyXG4gICAgICAgICdNTS1ERC1ZWVlZJ1xyXG4gICAgXTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFVzZXIgaW5wdXQgZm9ybWF0cyB0aGF0IHdlIHdpbGwgcGFyc2UgaW50byBhIGRhdGVcclxuICAgICAqIHdoZW4gdGhlIHVzZXJzIGRhdGUgZm9ybWF0IHByZWZlcmVuY2UgaGFzIGRheSBiZWZvcmUgbW9udGhcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBkYXRlRmlyc3RQYXJzZUZvcm1hdHM6IHN0cmluZ1tdID0gW1xyXG4gICAgICAgIFwieXl5eS9kZC9NTVwiLFxyXG4gICAgICAgIFwiZGQvTU0veXl5eVwiLFxyXG4gICAgICAgIFwiZGRNTXl5eXlcIixcclxuICAgICAgICBcImRkL01NL3l5XCIsXHJcbiAgICAgICAgXCJkZE1NeXlcIixcclxuICAgICAgICBcImRkL01NXCIsXHJcbiAgICAgICAgXCJ5eXl5LmRkLk1NXCIsXHJcbiAgICAgICAgXCJkZC5NTS55eXl5XCIsXHJcbiAgICAgICAgXCJkZC5NTS55eVwiLFxyXG4gICAgICAgIFwiZGQuTU1cIixcclxuICAgICAgICBcInl5eXktZGQtTU1cIixcclxuICAgICAgICBcImRkLU1NLXl5eXlcIixcclxuICAgICAgICBcImRkLU1NLXl5XCIsXHJcbiAgICAgICAgXCJkZC1NTVwiLFxyXG4gICAgICAgIFwieXl5eUREbW1cIlxyXG4gICAgXTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFVzZXIgaW5wdXQgZm9ybWF0cyB0aGF0IHdlIHdpbGwgcGFyc2UgaW50byBhIGRhdGVcclxuICAgICAqIHdoZW4gdGhlIHVzZXJzIGRhdGUgZm9ybWF0IHByZWZlcmVuY2UgaGFzIGRheSBiZWZvcmUgbW9udGguXHJcbiAgICAgKiBUbyBiZSB1c2VkIHdpdGggbW9tZW50LmpzLiBNb21lbnQgaWdub3JlcyBub24tYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcclxuICAgICAqIHNvIGRhdGVzIGxpa2UgMjAyMC8wOS8xMCB3aWxsIGJlIHBhcnNlZCB0aGUgc2FtZSBhcyAyMDIwLTA5LTEwXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgbW9tZW50RGF0ZUZpcnN0UGFyc2VGb3JtYXRzOiBzdHJpbmdbXSA9IFtcclxuICAgICAgICAnRC1NJyxcclxuICAgICAgICAnREQtTU0nLFxyXG4gICAgICAgICdELU0tWVknLFxyXG4gICAgICAgICdERC1NTS1ZWScsXHJcbiAgICAgICAgJ1lZWVlNTUREJyxcclxuICAgICAgICAnWVlZWS1NTS1ERCcsXHJcbiAgICAgICAgJ0RELU1NLVlZWVknXHJcbiAgICBdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRm9ybWF0cyB1c2VkIHRvIHBhcnNlIGRhdGVzIHRoYXQgYXJlIGluIHRoZSBtZWRpdW0gb3IgbG9uZyBmb3JtYXQgYnkgbW9tZW50IGpzLlxyXG4gICAgICogVGhlc2UgYXJlIHNoYXJlZCBieSBkYXRlLWZpcnN0IGFuZCBtb250aC1maXJzdCBkYXRlIGZvcm1hdHMuIFRoZSBkYXRlIGNhbid0IGJlXHJcbiAgICAgKiBwYXJzZWQgZGlmZmVyZW50bHkgYmFzZWQgb24gdGhlIGRhdGUgcHJlZmVyZW5jZSBzaW5jZSB0aGUgbW9udGggaXMgbm90IG51bWVyaWMuXHJcbiAgICAgKiBUaGlzIGlzIG5vdCBhbiBleGhhdXN0aXZlIGxpc3Qgb2YgZm9ybWF0cywgYnV0IGl0IHNob3VsZCBjb3ZlciBtb3N0IGNvbW1vbiBmb3JtYXRzLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIG1vbWVudE1lZEFuZExvbmdEYXRlRm9ybWF0czogc3RyaW5nW10gPSBbXHJcbiAgICAgICAgJ0REIE1NTSBZWScsXHJcbiAgICAgICAgJ0REIE1NTSBZWVlZJyxcclxuICAgICAgICAnREQgTU1NTSBZWVlZJyxcclxuICAgICAgICAnTU1NIEQsIFlZJyxcclxuICAgICAgICAnTU1NIEQsIFlZWVknLFxyXG4gICAgICAgICdNTU0gREQsIFlZWVknLFxyXG4gICAgICAgICdNTU1NIEQsIFlZWVknLFxyXG4gICAgICAgICdNTU1NIERELCBZWVlZJ1xyXG4gICAgXTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEZvcm1hdCB0byBkaXNwbGF5IHRoZSB0aW1lIHBvcnRpb24gb2YgYSBkYXRldGltZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIHRpbWVGb3JtYXQ6IHN0cmluZyA9ICdISDptbTpzcyc7XHJcblxyXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLy8gTUVUSE9EU1xyXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJuIHRydWUgaWYgQHNlZSBkYXRlIGlzIGVxdWFsIHRvIHRoZSBAc2VlIGVuZE9mVGltZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGlzRW5kT2ZUaW1lKGRhdGU6IERhdGUgfCBtb21lbnQuTW9tZW50IHwgc3RyaW5nLCB0aW1lWm9uZU9mZnNldDogYm9vbGVhbiA9IGZhbHNlKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgZW5kT2ZUaW1lID0gdGltZVpvbmVPZmZzZXQgPyB0aGlzLmVuZE9mVGltZVVUQyA6IHRoaXMuZW5kT2ZUaW1lO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmlzU2FtZURheShkYXRlLCBlbmRPZlRpbWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbXBhcmUgdHdvIGRhdGVzIGFuZCByZXR1cm4gdHJ1ZSBpZiB0aGV5IHJlcHJlc2VudCB0aGUgc2FtZSB5ZWFyLCBtb250aCwgYW5kIGRheSAodGltZSBpcyBpZ25vcmVkKS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBpc1NhbWVEYXkoZGF0ZTE6IERhdGUgfCBtb21lbnQuTW9tZW50IHwgc3RyaW5nLCBkYXRlMjogRGF0ZSB8IG1vbWVudC5Nb21lbnQgfCBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gbW9tZW50KGRhdGUxKS5pc1NhbWUobW9tZW50KGRhdGUyKSwgJ2RheScpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0IHRoZSBwYXJzZSBmb3JtYXRzIGJhc2VkIG9uIHRoZSBnaXZlbiBkYXRlIGZvcm1hdC4gSWYgbm8gZGF0ZSBmb3JtYXQgaXNcclxuICAgICAqIGdpdmVuLCBvciB3ZSBkb24ndCByZWNvZ25pemUgdGhlIGZvcm1hdCwgcmV0dXJuIHRoZSBtb250aCBmaXJzdCBwYXJzZSBmb3JtYXRzLlxyXG4gICAgICogXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0UGFyc2VGb3JtYXRzKGRhdGVGb3JtYXQ/OiBzdHJpbmcgfCBudWxsKTogc3RyaW5nW10ge1xyXG4gICAgICAgIGxldCBtYXAgPSB7XHJcbiAgICAgICAgICAgICdNTS9ERC9ZWVlZJzogdGhpcy5tb250aEZpcnN0UGFyc2VGb3JtYXRzLFxyXG4gICAgICAgICAgICAnTU0tREQtWVlZWSc6IHRoaXMubW9udGhGaXJzdFBhcnNlRm9ybWF0cyxcclxuICAgICAgICAgICAgJ0REL01NL1lZWVknOiB0aGlzLmRhdGVGaXJzdFBhcnNlRm9ybWF0cyxcclxuICAgICAgICAgICAgJ0RELU1NLVlZWVknOiB0aGlzLmRhdGVGaXJzdFBhcnNlRm9ybWF0cyxcclxuICAgICAgICAgICAgJ1lZWVkvTU0vREQnOiB0aGlzLm1vbnRoRmlyc3RQYXJzZUZvcm1hdHMsXHJcbiAgICAgICAgICAgICdZWVlZLU1NLUREJzogdGhpcy5tb250aEZpcnN0UGFyc2VGb3JtYXRzXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGRhdGVGb3JtYXQgPyBtYXBbZGF0ZUZvcm1hdF0gOiB0aGlzLm1vbnRoRmlyc3RQYXJzZUZvcm1hdHM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgdGhlIG1vbWVudCBwYXJzZSBmb3JtYXRzIGJhc2VkIG9uIHRoZSBnaXZlbiBkYXRlIGZvcm1hdC4gSWYgbm8gZGF0ZSBmb3JtYXQgaXNcclxuICAgICAqIGdpdmVuLCBvciB3ZSBkb24ndCByZWNvZ25pemUgdGhlIGZvcm1hdCwgcmV0dXJuIHRoZSBtb250aCBmaXJzdCBwYXJzZSBmb3JtYXRzLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldE1vbWVudFBhcnNlRm9ybWF0cyhkYXRlRm9ybWF0Pzogc3RyaW5nIHwgbnVsbCk6IHN0cmluZ1tdIHtcclxuICAgICAgICBsZXQgbWFwID0ge1xyXG4gICAgICAgICAgICAnTU0vREQvWVlZWSc6IFsuLi50aGlzLm1vbWVudE1vbnRoRmlyc3RQYXJzZUZvcm1hdHMsIC4uLnRoaXMubW9tZW50TWVkQW5kTG9uZ0RhdGVGb3JtYXRzXSxcclxuICAgICAgICAgICAgJ01NLURELVlZWVknOiBbLi4udGhpcy5tb21lbnRNb250aEZpcnN0UGFyc2VGb3JtYXRzLCAuLi50aGlzLm1vbWVudE1lZEFuZExvbmdEYXRlRm9ybWF0c10sXHJcbiAgICAgICAgICAgICdERC9NTS9ZWVlZJzogWy4uLnRoaXMubW9tZW50RGF0ZUZpcnN0UGFyc2VGb3JtYXRzLCAuLi50aGlzLm1vbWVudE1lZEFuZExvbmdEYXRlRm9ybWF0c10sXHJcbiAgICAgICAgICAgICdERC1NTS1ZWVlZJzogWy4uLnRoaXMubW9tZW50RGF0ZUZpcnN0UGFyc2VGb3JtYXRzLCAuLi50aGlzLm1vbWVudE1lZEFuZExvbmdEYXRlRm9ybWF0c10sXHJcbiAgICAgICAgICAgICdZWVlZL01NL0REJzogWy4uLnRoaXMubW9tZW50TW9udGhGaXJzdFBhcnNlRm9ybWF0cywgLi4udGhpcy5tb21lbnRNZWRBbmRMb25nRGF0ZUZvcm1hdHNdLFxyXG4gICAgICAgICAgICAnWVlZWS1NTS1ERCc6IFsuLi50aGlzLm1vbWVudE1vbnRoRmlyc3RQYXJzZUZvcm1hdHMsIC4uLnRoaXMubW9tZW50TWVkQW5kTG9uZ0RhdGVGb3JtYXRzXVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHJldHVybiBkYXRlRm9ybWF0ID8gbWFwW2RhdGVGb3JtYXRdIDogdGhpcy5tb21lbnRNb250aEZpcnN0UGFyc2VGb3JtYXRzO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgcmVsYXRpb25zaGlwIHN0YXJ0IGRhdGUgKGZhdm9yaW5nIGRhdGUgaW4gcGFydGlhbEZvcm1TdGF0ZSBpZiBleGlzdHMpXHJcbiAgICAgKiAqIHJldHVybiBkZWZhdWx0IGFjY291bnQtbWV0ZXIgZWZmZWN0aXZlIGRhdGUgaWYgbm8gc3RhcnQgZGF0ZSBmb3VuZFxyXG4gICAgICogXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0QWNjb3VudE1ldGVyU3RhcnREYXRlKHBhcnRpYWxGb3JtU3RhdGU6IGFueSwgYWNjb3VudE1ldGVyOiB7IHN0YXJ0RGF0ZTogRGF0ZSB8IG51bGwgfCB1bmRlZmluZWQgfSk6IERhdGUge1xyXG4gICAgICAgIGxldCBzdGFydERhdGUgPSBwYXJ0aWFsRm9ybVN0YXRlLmVmZmVjdGl2ZUZyb20gfHwgYWNjb3VudE1ldGVyLnN0YXJ0RGF0ZTtcclxuICAgICAgICByZXR1cm4gc3RhcnREYXRlID8gbmV3IERhdGUoc3RhcnREYXRlKSA6IERhdGVUaW1lSGVscGVyLmRlZmF1bHRBY2NvdW50TWV0ZXJFZmZlY3RpdmVEYXRlO1xyXG4gICAgfVxyXG5cclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgcmVsYXRpb25zaGlwIGVuZCBkYXRlIChmYXZvcmluZyBkYXRlIGluIHBhcnRpYWxGb3JtU3RhdGUgaWYgZXhpc3RzKVxyXG4gICAgICogKiByZXR1cm4gbnVsbCBpZiBubyBzdG9yZWQgZGF0ZSBvciBlbmQgZGF0ZSBpcyAxLzEvMzAwMFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldEFjY291bnRNZXRlckVuZERhdGUocGFydGlhbEZvcm1TdGF0ZTogYW55LCBhY2NvdW50TWV0ZXI6IHsgZW5kRGF0ZTogRGF0ZSB8IG51bGwgfCB1bmRlZmluZWQgfSk6IERhdGUgfCBudWxsIHtcclxuICAgICAgICBsZXQgZW5kRGF0ZSA9IHBhcnRpYWxGb3JtU3RhdGUuZWZmZWN0aXZlVG8gfHwgYWNjb3VudE1ldGVyLmVuZERhdGU7XHJcbiAgICAgICAgaWYgKGVuZERhdGUgJiYgIURhdGVUaW1lSGVscGVyLmlzRW5kT2ZUaW1lKGVuZERhdGUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShlbmREYXRlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyBzdGF0aWMgaXNEYXRlQmV0d2VlbihcclxuICAgICAgICBkYXRlOiBEYXRlLCBcclxuICAgICAgICBzdGFydERhdGU/OiBEYXRlIHwgbnVsbCwgXHJcbiAgICAgICAgZW5kRGF0ZT86IERhdGUgfCBudWxsLCBcclxuICAgICAgICBpbmNsdWRlU3RhcnQ/OiBib29sZWFuLCBcclxuICAgICAgICBpbmNsdWRlRW5kPzogYm9vbGVhblxyXG4gICAgKTpib29sZWFuIHtcclxuICAgICAgICBsZXQgaW5jbHVzaXZpdHk6ICcoKScgfCAnWyknIHwgJyhdJyB8ICdbXScgPSAnKCknO1xyXG4gICAgICAgIGlmIChpbmNsdWRlU3RhcnQgJiYgaW5jbHVkZUVuZCApIHtcclxuICAgICAgICAgICAgaW5jbHVzaXZpdHkgPSAnW10nO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaW5jbHVkZVN0YXJ0KSB7XHJcbiAgICAgICAgICAgIGluY2x1c2l2aXR5ID0gJ1spJztcclxuICAgICAgICB9IGVsc2UgaWYgKGluY2x1ZGVFbmQpIHtcclxuICAgICAgICAgICAgaW5jbHVzaXZpdHkgPSAnKF0nO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gSWYgYSBzdGFydCBkYXRlIGlzIG5vdCBwcm92aWRlLCB3ZSdsbCB1c2Ugb3VyIGJlZ2lubmluZyBvZiB0aW1lIGluc3RlYWRcclxuICAgICAgICBzdGFydERhdGUgPSBzdGFydERhdGUgfHwgdGhpcy5iZWdpbm5pbmdPZlRpbWU7XHJcblxyXG4gICAgICAgIC8vIElmIGFuIGVuZCBkYXRlIGlzIG5vdCBwcm92aWRlZCwgd2UnbGwgdXNlIG91ciBlbmQgb2YgdGltZSBpbnN0ZWFkXHJcbiAgICAgICAgZW5kRGF0ZSA9IGVuZERhdGUgfHwgdGhpcy5lbmRPZlRpbWU7XHJcblxyXG4gICAgICAgIHJldHVybiBtb21lbnQoZGF0ZSkuaXNCZXR3ZWVuKHN0YXJ0RGF0ZSwgZW5kRGF0ZSwgJ2RheScsIGluY2x1c2l2aXR5KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIHN0cmluZ1RvRGF0ZShkYXRlU3RyaW5nOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogRGF0ZSB8IG51bGwgfCB1bmRlZmluZWQge1xyXG4gICAgICBpZiAoZGF0ZVN0cmluZyA9PT0gbnVsbCB8fCBkYXRlU3RyaW5nID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICByZXR1cm4gZGF0ZVN0cmluZztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbW9tZW50KGRhdGVTdHJpbmcpLnRvRGF0ZSgpO1xyXG4gICAgICB9ICAgICAgXHJcbiAgICB9XHJcbn0iXX0=
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlL2RhdGUtdGltZS1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRTVCOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUEwSXZCLHVEQUF1RDtJQUN2RCxVQUFVO0lBQ1YsdURBQXVEO0lBRXZEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFtQyxFQUFFLGlCQUEwQixLQUFLO1FBQzFGLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN0RSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFHRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBb0MsRUFBRSxLQUFvQztRQUM5RixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUEwQjtRQUNwRCxJQUFJLEdBQUcsR0FBRztZQUNOLFlBQVksRUFBRSxJQUFJLENBQUMsc0JBQXNCO1lBQ3pDLFlBQVksRUFBRSxJQUFJLENBQUMsc0JBQXNCO1lBQ3pDLFlBQVksRUFBRSxJQUFJLENBQUMscUJBQXFCO1lBQ3hDLFlBQVksRUFBRSxJQUFJLENBQUMscUJBQXFCO1lBQ3hDLFlBQVksRUFBRSxJQUFJLENBQUMsc0JBQXNCO1lBQ3pDLFlBQVksRUFBRSxJQUFJLENBQUMsc0JBQXNCO1NBQzVDLENB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QUNYLGFBQWE7SUFDYixjQUFjO0lBQ2QsV0FBVztJQUNYLGFBQWE7SUFDYixjQUFjO0lBQ2QsY0FBYztJQUNkLGVBQWU7Q0FDbEIsQ0FBQztBQUVGOztHQUVHO0FBQ1cseUJBQVUsR0FBVyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcblxyXG4vKipcclxuICogSGVscGVyIGNsYXNzIHRoYXQgcHJvdmlkZXMgY29tbW9uIGRhdGUgY29uc3RhbnRzIGFuZCBoZWxwZnVsIGRhdGUgZnVuY3Rpb25zXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRGF0ZVRpbWVIZWxwZXIge1xyXG5cclxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICAgIC8vIENPTlNUQU5UU1xyXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgYmVnaW5uaW5nT2ZUaW1lOiBEYXRlID0gbmV3IERhdGUoMTg5OSwxMSwzMSk7XHJcbiAgICAgXHJcbiAgICAvKiogMzAwMC0wMS0wMSAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBlbmRPZlRpbWU6IERhdGUgPSBuZXcgRGF0ZSgzMDAwLCAwLCAxKTtcclxuXHJcbiAgICAvKiogMzAwMC0wMS0wMSBVVEMgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZW5kT2ZUaW1lVVRDOiBEYXRlID0gbW9tZW50LnV0YygnMzAwMC0wMS0wMScpLnRvRGF0ZSgpO1xyXG5cclxuICAgIC8qKiBEZWZhdWx0IGVmZmVjdGl2ZSBkYXRlIGZvciBuZXcgQWNjb3VudE1ldGVyIHJlbGF0aW9uc2hpcHM6IDIwMTAtMDEtMDEgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZGVmYXVsdEFjY291bnRNZXRlckVmZmVjdGl2ZURhdGU6IERhdGUgPSBuZXcgRGF0ZSgyMDEwLCAwLCAxKTtcclxuXHJcbiAgICAvKiogVGhlIGRlZmF1bHQgZGF0ZSB0aGF0IGEgbmV3bHkgY3JlYXRlZCBhY2NvdW50IGJlY29tZXMgZWZmZWN0aXZlOiAyMDEwLTAxLTAxICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGRlZmF1bHRBY2NvdW50U2VydmljZUVmZmVjdGl2ZURhdGU6IERhdGUgPSBuZXcgRGF0ZSgyMDEwLCAwLCAxKTtcclxuXHJcbiAgICAvKiogTWluaW11bSBkYXRlIGZvciBhbGwgZGF0ZXBpY2tlcnM6IDE5ODAtMDEtMDEgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgbWluRGF0ZVBpY2tlckRhdGU6IERhdGUgPSBuZXcgRGF0ZSgxOTgwLCAwLCAxKTtcclxuXHJcbiAgICAvKiogTWF4aW11bSBkYXRlIGZvciBhbGwgZGF0ZXBpY2tlcnM6IDMwMDAtMDEtMDEgMTE6NTk6NTkgUE0gdG8gYWxsb3cgZm9yIGxvY2FsIHRpbWUgb2Zmc2V0IHdvcmtpbmcgaW4gZm9yIDMwMDAtMDEtMDEgZGF0ZXMsIHdoaWNoIHdlIHN0b3JlIGluIHRoZSBkYiB0byByZXByZXNlbnQgXCJlbmQgb2YgdGltZVwiICovXHJcbiAgICBwdWJsaWMgc3RhdGljIG1heERhdGVQaWNrZXJEYXRlOiBEYXRlID0gbmV3IERhdGUoMzAwMCwwLDEsMjMsNTksNTkpO1xyXG5cclxuICAgIC8qKiBUaW1lc3RhbXAgZm9ybWF0cyAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBkZWZhdWx0RGF0ZUZvcm1hdDogc3RyaW5nID0gXCJ5eXl5LU1NLWRkXCI7XHJcbiAgICBwdWJsaWMgc3RhdGljIGRlZmF1bHRUaW1lRm9ybWF0OiBzdHJpbmcgPSBcIkhIOm1tOnNzXCI7XHJcbiAgICBwdWJsaWMgc3RhdGljIGRlZmF1bHRUaW1lc3RhbXBGb3JtYXQ6IHN0cmluZyA9IGAke0RhdGVUaW1lSGVscGVyLmRlZmF1bHREYXRlRm9ybWF0fSAke0RhdGVUaW1lSGVscGVyLmRlZmF1bHRUaW1lRm9ybWF0fWA7XHJcblxyXG4gICAgLyoqIExpc3Qgb2YgdmFsaWQgYmlsbCBpbXBvcnQgZGF0ZSBmb3JtYXRzXHJcbiAgICAgKiAgV2FybmluZyEgRG8gbm90IHVzZSB0aGVzZSBmb3IgYWN0dWFsIGZvcm1hdHRpbmcgb2YgZGF0ZXNcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBiaWxsSW1wb3J0Rm9ybWF0RGF0ZUZvcm1hdHMgPSBbXHJcbiAgICAgICAgeyBsYWJlbDogXCJtbS9kZC95eXl5XCIsIHZhbHVlOiBcIm1tL2RkL3l5eXlcIiB9LCB7IGxhYmVsOiBcIk1vbnRoIGRkIHl5eXlcIiwgdmFsdWU6IFwiTW9udGggZGQgeXl5eVwiIH0sIFxyXG4gICAgICAgIHsgbGFiZWw6IFwiZGQvbW0veXl5eVwiLCB2YWx1ZTogXCJkZC9tbS95eXl5XCIgfSwgeyBsYWJlbDogXCJkZCBNb250aCB5eXl5XCIsIHZhbHVlOiBcImRkIE1vbnRoIHl5eXlcIiB9LCB7IGxhYmVsOiBcInl5eXltbWRkXCIsIHZhbHVlOiBcInl5eXltbWRkXCIgfV07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVc2VyIGlucHV0IGZvcm1hdHMgdGhhdCB3ZSB3aWxsIHBhcnNlIGludG8gYSBkYXRlXHJcbiAgICAgKiB3aGVuIHRoZSB1c2VycyBkYXRlIGZvcm1hdCBwcmVmZXJlbmNlIGhhcyBtb250aCBiZWZvcmUgZGF5XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgbW9udGhGaXJzdFBhcnNlRm9ybWF0czogc3RyaW5nW10gPSBbXHJcbiAgICAgICAgXCJ5eXl5L01NL2RkXCIsXHJcbiAgICAgICAgXCJNTS9kZC95eXl5XCIsXHJcbiAgICAgICAgXCJNTWRkeXl5eVwiLFxyXG4gICAgICAgIFwiTU0vZGQveXlcIixcclxuICAgICAgICBcIk1NZGR5eVwiLFxyXG4gICAgICAgIFwiTU0vZGRcIixcclxuICAgICAgICBcInl5eXkuTU0uZGRcIixcclxuICAgICAgICBcIk1NLmRkLnl5eXlcIixcclxuICAgICAgICBcIk1NLmRkLnl5XCIsXHJcbiAgICAgICAgXCJNTS5kZFwiLFxyXG4gICAgICAgIFwieXl5eS1NTS1kZFwiLFxyXG4gICAgICAgIFwiTU0tZGQteXl5eVwiLFxyXG4gICAgICAgIFwiTU0tZGQteXlcIixcclxuICAgICAgICBcIk1NLWRkXCIsXHJcbiAgICAgICAgXCJ5eXl5TU1kZFwiXHJcbiAgICBdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXNlciBpbnB1dCBmb3JtYXRzIHRoYXQgd2Ugd2lsbCBwYXJzZSBpbnRvIGEgZGF0ZVxyXG4gICAgICogd2hlbiB0aGUgdXNlcnMgZGF0ZSBmb3JtYXQgcHJlZmVyZW5jZSBoYXMgbW9udGggYmVmb3JlIGRheS5cclxuICAgICAqIFRvIGJlIHVzZWQgd2l0aCBtb21lbnQuanMuIE1vbWVudCBpZ25vcmVzIG5vbi1hbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xyXG4gICAgICogc28gZGF0ZXMgbGlrZSAyMDIwLzA5LzEwIHdpbGwgYmUgcGFyc2VkIHRoZSBzYW1lIGFzIDIwMjAtMDktMTBcclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBtb21lbnRNb250aEZpcnN0UGFyc2VGb3JtYXRzOiBzdHJpbmdbXSA9IFtcclxuICAgICAgICAnTS1EJyxcclxuICAgICAgICAnTU0tREQnLFxyXG4gICAgICAgICdNLUQtWVknLFxyXG4gICAgICAgICdNTS1ERC1ZWScsXHJcbiAgICAgICAgJ01NRERZWVlZJyxcclxuICAgICAgICAnWVlZWU1NREQnLFxyXG4gICAgICAgICdZWVlZLU1NLUREJyxcclxuICAgICAgICAnTU0tREQtWVlZWSdcclxuICAgIF07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVc2VyIGlucHV0IGZvcm1hdHMgdGhhdCB3ZSB3aWxsIHBhcnNlIGludG8gYSBkYXRlXHJcbiAgICAgKiB3aGVuIHRoZSB1c2VycyBkYXRlIGZvcm1hdCBwcmVmZXJlbmNlIGhhcyBkYXkgYmVmb3JlIG1vbnRoXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZGF0ZUZpcnN0UGFyc2VGb3JtYXRzOiBzdHJpbmdbXSA9IFtcclxuICAgICAgICBcInl5eXkvZGQvTU1cIixcclxuICAgICAgICBcImRkL01NL3l5eXlcIixcclxuICAgICAgICBcImRkTU15eXl5XCIsXHJcbiAgICAgICAgXCJkZC9NTS95eVwiLFxyXG4gICAgICAgIFwiZGRNTXl5XCIsXHJcbiAgICAgICAgXCJkZC9NTVwiLFxyXG4gICAgICAgIFwieXl5eS5kZC5NTVwiLFxyXG4gICAgICAgIFwiZGQuTU0ueXl5eVwiLFxyXG4gICAgICAgIFwiZGQuTU0ueXlcIixcclxuICAgICAgICBcImRkLk1NXCIsXHJcbiAgICAgICAgXCJ5eXl5LWRkLU1NXCIsXHJcbiAgICAgICAgXCJkZC1NTS15eXl5XCIsXHJcbiAgICAgICAgXCJkZC1NTS15eVwiLFxyXG4gICAgICAgIFwiZGQtTU1cIixcclxuICAgICAgICBcInl5eXlERG1tXCJcclxuICAgIF07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVc2VyIGlucHV0IGZvcm1hdHMgdGhhdCB3ZSB3aWxsIHBhcnNlIGludG8gYSBkYXRlXHJcbiAgICAgKiB3aGVuIHRoZSB1c2VycyBkYXRlIGZvcm1hdCBwcmVmZXJlbmNlIGhhcyBkYXkgYmVmb3JlIG1vbnRoLlxyXG4gICAgICogVG8gYmUgdXNlZCB3aXRoIG1vbWVudC5qcy4gTW9tZW50IGlnbm9yZXMgbm9uLWFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzXHJcbiAgICAgKiBzbyBkYXRlcyBsaWtlIDIwMjAvMDkvMTAgd2lsbCBiZSBwYXJzZWQgdGhlIHNhbWUgYXMgMjAyMC0wOS0xMFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIG1vbWVudERhdGVGaXJzdFBhcnNlRm9ybWF0czogc3RyaW5nW10gPSBbXHJcbiAgICAgICAgJ0QtTScsXHJcbiAgICAgICAgJ0RELU1NJyxcclxuICAgICAgICAnRC1NLVlZJyxcclxuICAgICAgICAnREQtTU0tWVknLFxyXG4gICAgICAgICdERE1NWVlZWScsXHJcbiAgICAgICAgJ1lZWVlNTUREJyxcclxuICAgICAgICAnWVlZWS1NTS1ERCcsXHJcbiAgICAgICAgJ0RELU1NLVlZWVknXHJcbiAgICBdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRm9ybWF0cyB1c2VkIHRvIHBhcnNlIGRhdGVzIHRoYXQgYXJlIGluIHRoZSBtZWRpdW0gb3IgbG9uZyBmb3JtYXQgYnkgbW9tZW50IGpzLlxyXG4gICAgICogVGhlc2UgYXJlIHNoYXJlZCBieSBkYXRlLWZpcnN0IGFuZCBtb250aC1maXJzdCBkYXRlIGZvcm1hdHMuIFRoZSBkYXRlIGNhbid0IGJlXHJcbiAgICAgKiBwYXJzZWQgZGlmZmVyZW50bHkgYmFzZWQgb24gdGhlIGRhdGUgcHJlZmVyZW5jZSBzaW5jZSB0aGUgbW9udGggaXMgbm90IG51bWVyaWMuXHJcbiAgICAgKiBUaGlzIGlzIG5vdCBhbiBleGhhdXN0aXZlIGxpc3Qgb2YgZm9ybWF0cywgYnV0IGl0IHNob3VsZCBjb3ZlciBtb3N0IGNvbW1vbiBmb3JtYXRzLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIG1vbWVudE1lZEFuZExvbmdEYXRlRm9ybWF0czogc3RyaW5nW10gPSBbXHJcbiAgICAgICAgJ0REIE1NTSBZWScsXHJcbiAgICAgICAgJ0REIE1NTSBZWVlZJyxcclxuICAgICAgICAnREQgTU1NTSBZWVlZJyxcclxuICAgICAgICAnTU1NIEQsIFlZJyxcclxuICAgICAgICAnTU1NIEQsIFlZWVknLFxyXG4gICAgICAgICdNTU0gREQsIFlZWVknLFxyXG4gICAgICAgICdNTU1NIEQsIFlZWVknLFxyXG4gICAgICAgICdNTU1NIERELCBZWVlZJ1xyXG4gICAgXTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEZvcm1hdCB0byBkaXNwbGF5IHRoZSB0aW1lIHBvcnRpb24gb2YgYSBkYXRldGltZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIHRpbWVGb3JtYXQ6IHN0cmluZyA9ICdISDptbTpzcyc7XHJcblxyXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4gICAgLy8gTUVUSE9EU1xyXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJuIHRydWUgaWYgQHNlZSBkYXRlIGlzIGVxdWFsIHRvIHRoZSBAc2VlIGVuZE9mVGltZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGlzRW5kT2ZUaW1lKGRhdGU6IERhdGUgfCBtb21lbnQuTW9tZW50IHwgc3RyaW5nLCB0aW1lWm9uZU9mZnNldDogYm9vbGVhbiA9IGZhbHNlKTogYm9vbGVhbiB7XHJcbiAgICAgICAgY29uc3QgZW5kT2ZUaW1lID0gdGltZVpvbmVPZmZzZXQgPyB0aGlzLmVuZE9mVGltZVVUQyA6IHRoaXMuZW5kT2ZUaW1lO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmlzU2FtZURheShkYXRlLCBlbmRPZlRpbWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbXBhcmUgdHdvIGRhdGVzIGFuZCByZXR1cm4gdHJ1ZSBpZiB0aGV5IHJlcHJlc2VudCB0aGUgc2FtZSB5ZWFyLCBtb250aCwgYW5kIGRheSAodGltZSBpcyBpZ25vcmVkKS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHN0YXRpYyBpc1NhbWVEYXkoZGF0ZTE6IERhdGUgfCBtb21lbnQuTW9tZW50IHwgc3RyaW5nLCBkYXRlMjogRGF0ZSB8IG1vbWVudC5Nb21lbnQgfCBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gbW9tZW50KGRhdGUxKS5pc1NhbWUobW9tZW50KGRhdGUyKSwgJ2RheScpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0IHRoZSBwYXJzZSBmb3JtYXRzIGJhc2VkIG9uIHRoZSBnaXZlbiBkYXRlIGZvcm1hdC4gSWYgbm8gZGF0ZSBmb3JtYXQgaXNcclxuICAgICAqIGdpdmVuLCBvciB3ZSBkb24ndCByZWNvZ25pemUgdGhlIGZvcm1hdCwgcmV0dXJuIHRoZSBtb250aCBmaXJzdCBwYXJzZSBmb3JtYXRzLlxyXG4gICAgICogXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0UGFyc2VGb3JtYXRzKGRhdGVGb3JtYXQ/OiBzdHJpbmcgfCBudWxsKTogc3RyaW5nW10ge1xyXG4gICAgICAgIGxldCBtYXAgPSB7XHJcbiAgICAgICAgICAgICdNTS9ERC9ZWVlZJzogdGhpcy5tb250aEZpcnN0UGFyc2VGb3JtYXRzLFxyXG4gICAgICAgICAgICAnTU0tREQtWVlZWSc6IHRoaXMubW9udGhGaXJzdFBhcnNlRm9ybWF0cyxcclxuICAgICAgICAgICAgJ0REL01NL1lZWVknOiB0aGlzLmRhdGVGaXJzdFBhcnNlRm9ybWF0cyxcclxuICAgICAgICAgICAgJ0RELU1NLVlZWVknOiB0aGlzLmRhdGVGaXJzdFBhcnNlRm9ybWF0cyxcclxuICAgICAgICAgICAgJ1lZWVkvTU0vREQnOiB0aGlzLm1vbnRoRmlyc3RQYXJzZUZvcm1hdHMsXHJcbiAgICAgICAgICAgICdZWVlZLU1NLUREJzogdGhpcy5tb250aEZpcnN0UGFyc2VGb3JtYXRzXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGRhdGVGb3JtYXQgPyBtYXBbZGF0ZUZvcm1hdF0gOiB0aGlzLm1vbnRoRmlyc3RQYXJzZUZvcm1hdHM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgdGhlIG1vbWVudCBwYXJzZSBmb3JtYXRzIGJhc2VkIG9uIHRoZSBnaXZlbiBkYXRlIGZvcm1hdC4gSWYgbm8gZGF0ZSBmb3JtYXQgaXNcclxuICAgICAqIGdpdmVuLCBvciB3ZSBkb24ndCByZWNvZ25pemUgdGhlIGZvcm1hdCwgcmV0dXJuIHRoZSBtb250aCBmaXJzdCBwYXJzZSBmb3JtYXRzLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldE1vbWVudFBhcnNlRm9ybWF0cyhkYXRlRm9ybWF0Pzogc3RyaW5nIHwgbnVsbCk6IHN0cmluZ1tdIHtcclxuICAgICAgICBsZXQgbWFwID0ge1xyXG4gICAgICAgICAgICAnTU0vREQvWVlZWSc6IFsuLi50aGlzLm1vbWVudE1vbnRoRmlyc3RQYXJzZUZvcm1hdHMsIC4uLnRoaXMubW9tZW50TWVkQW5kTG9uZ0RhdGVGb3JtYXRzXSxcclxuICAgICAgICAgICAgJ01NLURELVlZWVknOiBbLi4udGhpcy5tb21lbnRNb250aEZpcnN0UGFyc2VGb3JtYXRzLCAuLi50aGlzLm1vbWVudE1lZEFuZExvbmdEYXRlRm9ybWF0c10sXHJcbiAgICAgICAgICAgICdERC9NTS9ZWVlZJzogWy4uLnRoaXMubW9tZW50RGF0ZUZpcnN0UGFyc2VGb3JtYXRzLCAuLi50aGlzLm1vbWVudE1lZEFuZExvbmdEYXRlRm9ybWF0c10sXHJcbiAgICAgICAgICAgICdERC1NTS1ZWVlZJzogWy4uLnRoaXMubW9tZW50RGF0ZUZpcnN0UGFyc2VGb3JtYXRzLCAuLi50aGlzLm1vbWVudE1lZEFuZExvbmdEYXRlRm9ybWF0c10sXHJcbiAgICAgICAgICAgICdZWVlZL01NL0REJzogWy4uLnRoaXMubW9tZW50TW9udGhGaXJzdFBhcnNlRm9ybWF0cywgLi4udGhpcy5tb21lbnRNZWRBbmRMb25nRGF0ZUZvcm1hdHNdLFxyXG4gICAgICAgICAgICAnWVlZWS1NTS1ERCc6IFsuLi50aGlzLm1vbWVudE1vbnRoRmlyc3RQYXJzZUZvcm1hdHMsIC4uLnRoaXMubW9tZW50TWVkQW5kTG9uZ0RhdGVGb3JtYXRzXVxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHJldHVybiBkYXRlRm9ybWF0ID8gbWFwW2RhdGVGb3JtYXRdIDogdGhpcy5tb21lbnRNb250aEZpcnN0UGFyc2VGb3JtYXRzO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgcmVsYXRpb25zaGlwIHN0YXJ0IGRhdGUgKGZhdm9yaW5nIGRhdGUgaW4gcGFydGlhbEZvcm1TdGF0ZSBpZiBleGlzdHMpXHJcbiAgICAgKiAqIHJldHVybiBkZWZhdWx0IGFjY291bnQtbWV0ZXIgZWZmZWN0aXZlIGRhdGUgaWYgbm8gc3RhcnQgZGF0ZSBmb3VuZFxyXG4gICAgICogXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0QWNjb3VudE1ldGVyU3RhcnREYXRlKHBhcnRpYWxGb3JtU3RhdGU6IGFueSwgYWNjb3VudE1ldGVyOiB7IHN0YXJ0RGF0ZTogRGF0ZSB8IG51bGwgfCB1bmRlZmluZWQgfSk6IERhdGUge1xyXG4gICAgICAgIGxldCBzdGFydERhdGUgPSBwYXJ0aWFsRm9ybVN0YXRlLmVmZmVjdGl2ZUZyb20gfHwgYWNjb3VudE1ldGVyLnN0YXJ0RGF0ZTtcclxuICAgICAgICByZXR1cm4gc3RhcnREYXRlID8gbmV3IERhdGUoc3RhcnREYXRlKSA6IERhdGVUaW1lSGVscGVyLmRlZmF1bHRBY2NvdW50TWV0ZXJFZmZlY3RpdmVEYXRlO1xyXG4gICAgfVxyXG5cclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgcmVsYXRpb25zaGlwIGVuZCBkYXRlIChmYXZvcmluZyBkYXRlIGluIHBhcnRpYWxGb3JtU3RhdGUgaWYgZXhpc3RzKVxyXG4gICAgICogKiByZXR1cm4gbnVsbCBpZiBubyBzdG9yZWQgZGF0ZSBvciBlbmQgZGF0ZSBpcyAxLzEvMzAwMFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc3RhdGljIGdldEFjY291bnRNZXRlckVuZERhdGUocGFydGlhbEZvcm1TdGF0ZTogYW55LCBhY2NvdW50TWV0ZXI6IHsgZW5kRGF0ZTogRGF0ZSB8IG51bGwgfCB1bmRlZmluZWQgfSk6IERhdGUgfCBudWxsIHtcclxuICAgICAgICBsZXQgZW5kRGF0ZSA9IHBhcnRpYWxGb3JtU3RhdGUuZWZmZWN0aXZlVG8gfHwgYWNjb3VudE1ldGVyLmVuZERhdGU7XHJcbiAgICAgICAgaWYgKGVuZERhdGUgJiYgIURhdGVUaW1lSGVscGVyLmlzRW5kT2ZUaW1lKGVuZERhdGUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZShlbmREYXRlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyBzdGF0aWMgaXNEYXRlQmV0d2VlbihcclxuICAgICAgICBkYXRlOiBEYXRlLCBcclxuICAgICAgICBzdGFydERhdGU/OiBEYXRlIHwgbnVsbCwgXHJcbiAgICAgICAgZW5kRGF0ZT86IERhdGUgfCBudWxsLCBcclxuICAgICAgICBpbmNsdWRlU3RhcnQ/OiBib29sZWFuLCBcclxuICAgICAgICBpbmNsdWRlRW5kPzogYm9vbGVhblxyXG4gICAgKTpib29sZWFuIHtcclxuICAgICAgICBsZXQgaW5jbHVzaXZpdHk6ICcoKScgfCAnWyknIHwgJyhdJyB8ICdbXScgPSAnKCknO1xyXG4gICAgICAgIGlmIChpbmNsdWRlU3RhcnQgJiYgaW5jbHVkZUVuZCApIHtcclxuICAgICAgICAgICAgaW5jbHVzaXZpdHkgPSAnW10nO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaW5jbHVkZVN0YXJ0KSB7XHJcbiAgICAgICAgICAgIGluY2x1c2l2aXR5ID0gJ1spJztcclxuICAgICAgICB9IGVsc2UgaWYgKGluY2x1ZGVFbmQpIHtcclxuICAgICAgICAgICAgaW5jbHVzaXZpdHkgPSAnKF0nO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gSWYgYSBzdGFydCBkYXRlIGlzIG5vdCBwcm92aWRlLCB3ZSdsbCB1c2Ugb3VyIGJlZ2lubmluZyBvZiB0aW1lIGluc3RlYWRcclxuICAgICAgICBzdGFydERhdGUgPSBzdGFydERhdGUgfHwgdGhpcy5iZWdpbm5pbmdPZlRpbWU7XHJcblxyXG4gICAgICAgIC8vIElmIGFuIGVuZCBkYXRlIGlzIG5vdCBwcm92aWRlZCwgd2UnbGwgdXNlIG91ciBlbmQgb2YgdGltZSBpbnN0ZWFkXHJcbiAgICAgICAgZW5kRGF0ZSA9IGVuZERhdGUgfHwgdGhpcy5lbmRPZlRpbWU7XHJcblxyXG4gICAgICAgIHJldHVybiBtb21lbnQoZGF0ZSkuaXNCZXR3ZWVuKHN0YXJ0RGF0ZSwgZW5kRGF0ZSwgJ2RheScsIGluY2x1c2l2aXR5KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIHN0cmluZ1RvRGF0ZShkYXRlU3RyaW5nOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogRGF0ZSB8IG51bGwgfCB1bmRlZmluZWQge1xyXG4gICAgICBpZiAoZGF0ZVN0cmluZyA9PT0gbnVsbCB8fCBkYXRlU3RyaW5nID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICByZXR1cm4gZGF0ZVN0cmluZztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbW9tZW50KGRhdGVTdHJpbmcpLnRvRGF0ZSgpO1xyXG4gICAgICB9ICAgICAgXHJcbiAgICB9XHJcbn0iXX0=
|
@@ -678,6 +678,7 @@ DateTimeHelper.momentMonthFirstParseFormats = [
|
|
678
678
|
'MM-DD',
|
679
679
|
'M-D-YY',
|
680
680
|
'MM-DD-YY',
|
681
|
+
'MMDDYYYY',
|
681
682
|
'YYYYMMDD',
|
682
683
|
'YYYY-MM-DD',
|
683
684
|
'MM-DD-YYYY'
|
@@ -714,6 +715,7 @@ DateTimeHelper.momentDateFirstParseFormats = [
|
|
714
715
|
'DD-MM',
|
715
716
|
'D-M-YY',
|
716
717
|
'DD-MM-YY',
|
718
|
+
'DDMMYYYY',
|
717
719
|
'YYYYMMDD',
|
718
720
|
'YYYY-MM-DD',
|
719
721
|
'DD-MM-YYYY'
|
@@ -4121,6 +4123,8 @@ class DateInputComponent extends FormControlBase {
|
|
4121
4123
|
this.calendarSelection = selection;
|
4122
4124
|
if (isCalendarSelectionSingleDate(selection)) {
|
4123
4125
|
this.formModel.setValue(selection);
|
4126
|
+
this.isCalendarOpen = false;
|
4127
|
+
this.focusInput();
|
4124
4128
|
}
|
4125
4129
|
}
|
4126
4130
|
onTextboxBlur() {
|