vcomply-workflow-engine 3.0.281 → 3.1.1
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/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.mjs +19 -18
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.mjs +19 -28
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.mjs +9 -17
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.mjs +58 -14
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.mjs +20 -28
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.mjs +19 -16
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.mjs +20 -30
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.mjs +20 -18
- package/esm2020/lib/workflow-risk/workflow-risk.component.mjs +25 -43
- package/fesm2015/vcomply-workflow-engine.mjs +257 -247
- package/fesm2015/vcomply-workflow-engine.mjs.map +1 -1
- package/fesm2020/vcomply-workflow-engine.mjs +236 -240
- package/fesm2020/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.d.ts +4 -0
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.d.ts +4 -0
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.d.ts +4 -4
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.d.ts +8 -2
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.d.ts +5 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.d.ts +4 -0
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.d.ts +5 -1
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.d.ts +5 -1
- package/package.json +1 -1
|
@@ -20,6 +20,8 @@ export class FrequencyDialogOneTimeComponent {
|
|
|
20
20
|
this.shortMonth = [];
|
|
21
21
|
this.dateObjectData = this.frequencyService.changeTimeZone(new Date()?.setDate(new Date()?.getDate() + 1));
|
|
22
22
|
this.minDate = moment(Date.now()).format('YYYY-MM-DD HH:mm:ss')?.split(' ')[0];
|
|
23
|
+
this.oneTimeExtension = 5;
|
|
24
|
+
this.oneTimeWindowOpen = 15;
|
|
23
25
|
this.mode = '';
|
|
24
26
|
this.frequencyDetails = new EventEmitter();
|
|
25
27
|
}
|
|
@@ -32,8 +34,6 @@ export class FrequencyDialogOneTimeComponent {
|
|
|
32
34
|
this.frequencyInfo = Object.assign(this.frequencyService.frequencyInfo);
|
|
33
35
|
this.shortMonth = this.frequencyService.monthArray.map((month) => month.substring(0, 3));
|
|
34
36
|
this.selectedDate = moment(this.todayDate);
|
|
35
|
-
console.log('this.dateConfig ', this.dateConfig, this.todayDate);
|
|
36
|
-
console.log('this.frequencyData ==>', this.frequencyData, this.frequencyData?.pattern.split('~'));
|
|
37
37
|
if (this.frequencyData?.pattern != '' &&
|
|
38
38
|
this.frequencyData?.pattern.split('~')[0] === '0') {
|
|
39
39
|
this.populateFrequency();
|
|
@@ -44,9 +44,7 @@ export class FrequencyDialogOneTimeComponent {
|
|
|
44
44
|
}
|
|
45
45
|
populateFrequency() {
|
|
46
46
|
const patternInfo = this.frequencyData?.pattern.split('~');
|
|
47
|
-
console.log('patternInfo ==>', patternInfo);
|
|
48
47
|
const timeStamp = moment(`${patternInfo[3]}-${patternInfo[2]}-${patternInfo[1]} ${this.frequencyData?.failedTime}`, 'DD-MM-YYYY HH:mm a').unix();
|
|
49
|
-
console.log('timeStamp -->', timeStamp);
|
|
50
48
|
this.todayDate = new Date(timeStamp * 1000);
|
|
51
49
|
this.selectedDate = moment(this.todayDate);
|
|
52
50
|
this.oneTimeFailed = this.frequencyData?.failed;
|
|
@@ -77,14 +75,23 @@ export class FrequencyDialogOneTimeComponent {
|
|
|
77
75
|
this.closeDatepicker();
|
|
78
76
|
this.getOneTimeFrequency();
|
|
79
77
|
}
|
|
78
|
+
onWindowOpenChange(event) {
|
|
79
|
+
if (event?.type?.toLowerCase() === 'window open') {
|
|
80
|
+
this.oneTimeWindowOpen = event?.value;
|
|
81
|
+
}
|
|
82
|
+
this.getOneTimeFrequency();
|
|
83
|
+
}
|
|
84
|
+
onExtensionChange(event) {
|
|
85
|
+
if (event?.type?.toLowerCase() === 'extension') {
|
|
86
|
+
this.oneTimeExtension = event.value;
|
|
87
|
+
}
|
|
88
|
+
this.getOneTimeFrequency();
|
|
89
|
+
}
|
|
80
90
|
onTimeChanged(event) {
|
|
81
|
-
console.log('event sring', event);
|
|
82
|
-
console.log(this.dateObjectData);
|
|
83
91
|
this.oneTimeStartTime = event;
|
|
84
92
|
if (typeof this.dateObjectData == 'object') {
|
|
85
93
|
this.dateObjectData = moment(this.dateObjectData).toDate();
|
|
86
94
|
}
|
|
87
|
-
console.log(this.dateObjectData);
|
|
88
95
|
let timeStamp = moment(this.dateObjectData.getDate() +
|
|
89
96
|
'-' +
|
|
90
97
|
(this.dateObjectData.getMonth() + 1) +
|
|
@@ -95,7 +102,6 @@ export class FrequencyDialogOneTimeComponent {
|
|
|
95
102
|
this.oneTimeSelected = moment(timeStamp * 1000)
|
|
96
103
|
.format('YYYY~MM~DDTHH:mm:ssZ')
|
|
97
104
|
.split('T')[0];
|
|
98
|
-
console.log('timeStamp', timeStamp, this.oneTimeSelected);
|
|
99
105
|
this.getOneTimeFrequency();
|
|
100
106
|
}
|
|
101
107
|
dateChange(event) {
|
|
@@ -110,13 +116,9 @@ export class FrequencyDialogOneTimeComponent {
|
|
|
110
116
|
this.dateObjectData.getFullYear() +
|
|
111
117
|
' ' +
|
|
112
118
|
this.oneTimeStartTime, 'DD-MM-YYYY hh:mm a').unix();
|
|
113
|
-
// tslint:disable-next-line: no-console
|
|
114
|
-
console.log('timeStamp', timeStamp, Date.now() / 1000, Date.now() / 1000 > timeStamp);
|
|
115
119
|
this.oneTimeSelected = event.date
|
|
116
120
|
.format('YYYY~MM~DDTHH:mm:ssZ')
|
|
117
121
|
.split('T')[0];
|
|
118
|
-
// tslint:disable-next-line: no-console
|
|
119
|
-
console.log(event.date.format('YYYY~MM~DDTHH:mm:ssZ'));
|
|
120
122
|
this.getOneTimeFrequency();
|
|
121
123
|
}
|
|
122
124
|
getOneTimeFrequency() {
|
|
@@ -124,7 +126,6 @@ export class FrequencyDialogOneTimeComponent {
|
|
|
124
126
|
this.todayDate = moment(this.todayDate).toDate();
|
|
125
127
|
}
|
|
126
128
|
this.selectedDate = moment(this.todayDate);
|
|
127
|
-
// tslint:disable-next-line: max-line-length
|
|
128
129
|
this.frequencyInfo.placeholder =
|
|
129
130
|
'One Time ' +
|
|
130
131
|
this.todayDate.getDate() +
|
|
@@ -158,15 +159,17 @@ export class FrequencyDialogOneTimeComponent {
|
|
|
158
159
|
this.frequencyInfo.timeIn24Hr = this.frequencyService.timeFrom12hTo24h(this.oneTimeStartTime);
|
|
159
160
|
this.frequencyInfo.failed_time_utc = 0;
|
|
160
161
|
this.frequencyInfo.reportId = 0;
|
|
162
|
+
this.frequencyInfo.failed_after_days = this.oneTimeExtension;
|
|
163
|
+
this.frequencyInfo.can_assess_before_days = this.oneTimeWindowOpen;
|
|
161
164
|
this.frequencyDetails.emit(this.frequencyInfo);
|
|
162
165
|
console.log(' this.frequencyInfo ==>', this.frequencyInfo);
|
|
163
166
|
}
|
|
164
167
|
}
|
|
165
168
|
FrequencyDialogOneTimeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FrequencyDialogOneTimeComponent, deps: [{ token: i1.FrequencyService }], target: i0.ɵɵFactoryTarget.Component });
|
|
166
|
-
FrequencyDialogOneTimeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FrequencyDialogOneTimeComponent, selector: "app-frequency-dialog-one-time", inputs: { frequencyData: "frequencyData", mode: "mode" }, outputs: { frequencyDetails: "frequencyDetails" }, viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["datePicker"], descendants: true }], ngImport: i0, template: "<!-- <div class=\"frequency-dialog-one-time\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">REASSESSMENT FREQUENCY:</div>\r\n <div class=\"frequency-dialog-one-time-item vx-p-3 vx-d-flex vx-align-center vx-justify-between vx-mb-5\">\r\n <div class=\"date-picker\">\r\n <i class=\"icons calendar-icon vx-fs-14 vx-txt-blue\"></i>\r\n <input class=\"datePicker\" (click)=\"openDatePicker()\" placeholder=\"Select Date\">\r\n <dp-date-picker #datePicker placeholder='Select Date' (click)=\"openDatePicker()\" (click)=\"closeDatepicker()\"></dp-date-picker>\r\n <div class=\"overlay\" (click)=\"closeDatepicker()\" *ngIf=\"datepickerOverlay\"></div>\r\n </div>\r\n <div class=\"time-picker vx-d-flex vx-align-center vx-justify-end vx-pr-3\">\r\n <input type=\"text\" readonly aria-label=\"12hr format\" [ngxTimepicker]=\"dailyTime\" placeholder=\"11:59 PM\">\r\n <i class=\"icons vx-fs-12 vx-txt-blue\"></i>\r\n <ngx-material-timepicker #dailyTime></ngx-material-timepicker>\r\n </div>\r\n </div>\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">REASSESSMENT EMAIL NOTIFICATION:</div>\r\n <div class=\"frequency-dialog-one-time-item vx-mb-5\">\r\n <app-frequency-dialog-due-date></app-frequency-dialog-due-date>\r\n </div>\r\n</div> -->\r\n\r\n<div class=\"frequency-dialog-one-time\" *ngIf=\"true\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">REASSESSMENT FREQUENCY:</div>\r\n <div class=\"frequency-dialog-one-time-item vx-p-3 vx-d-flex vx-align-center vx-justify-between vx-mb-5\">\r\n <div class=\"date-picker\">\r\n <i class=\"icons calendar-icon vx-fs-14 vx-txt-blue\"></i>\r\n <!-- <input class=\"datePicker\" (click)=\"openDatePicker()\" placeholder=\"Select Date\"> -->\r\n <input class=\"datePicker\" type=\"text\" [value]=\"todayDate | date: 'dd MMM yyyy'\" [placeholder]=\"todayDate | date: 'dd MMM yyyy'\" (click)=\"openDatePicker()\" readonly>\r\n <!-- <dp-date-picker #datePicker placeholder='Select Date' (click)=\"openDatePicker()\" (click)=\"closeDatepicker()\"></dp-date-picker> -->\r\n <dp-date-picker\r\n #datePicker\r\n [id]=\"'start-date-' + 6\"\r\n [placeholder]=\"todayDate | date: 'dd MMM yyyy'\"\r\n [(ngModel)]=\"selectedDate\"\r\n [config]=\"dateConfig\"\r\n (onSelect)=\"openDatePicker();dateChange($event); showDateError = false; datepickerOverlay = false\">\r\n </dp-date-picker>\r\n <div class=\"overlay\" (click)=\"closeDatepicker()\" *ngIf=\"datepickerOverlay\"></div>\r\n </div>\r\n <div class=\"time-picker vx-d-flex vx-align-center vx-justify-end vx-pr-3\">\r\n <!-- <input type=\"text\" readonly aria-label=\"12hr format\" [ngxTimepicker]=\"dailyTime\" placeholder=\"11:59 PM\"> -->\r\n <input type=\"text\" readonly aria-label=\"12hr format\" [(ngModel)]=\"oneTimeStartTime\" placeholder=\"Select Time\">\r\n <!-- <i class=\"icons vx-fs-12 vx-txt-blue\"></i> -->\r\n <ngx-material-timepicker [hoursOnly]=\"true\" (timeChanged)=\"onTimeChanged($event)\" #dailyTime></ngx-material-timepicker>\r\n </div>\r\n </div>\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">REASSESSMENT EMAIL NOTIFICATION:</div>\r\n <div class=\"frequency-dialog-one-time-item vx-mb-5\">\r\n <app-frequency-dialog-due-date\r\n [id] = '6'\r\n [mode]=\"mode\"\r\n [pageName]=\"'one-time'\"\r\n [isDeactivated]=\"false\"\r\n [completedValue]=\"oneTimeWindow\"\r\n (valueChange)=\"onValueChange($event)\"\r\n ></app-frequency-dialog-due-date>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .frequency-dialog-one-time-item{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .frequency-dialog-one-time-item .date-picker{position:relative;width:calc(100% - 6.75rem)}::ng-deep .frequency-dialog-one-time-item .date-picker .calendar-icon{position:absolute;left:.75rem;top:9px;pointer-events:none;z-index:1}::ng-deep .frequency-dialog-one-time-item .date-picker input{border-radius:.25rem;border:1px solid #dbdbdb;color:#161b2f;font-size:13px;font-weight:400;padding:0 .5rem 0 2.25rem;height:2rem;width:100%;cursor:pointer;outline:none}::ng-deep .frequency-dialog-one-time-item .date-picker input::placeholder{color:#161b2f}::ng-deep .frequency-dialog-one-time-item .time-picker{border-radius:.25rem;border:1px solid #dbdbdb;height:2rem;width:6.25rem;position:relative}::ng-deep .frequency-dialog-one-time-item .time-picker input{background:transparent;border-radius:0;border:none;color:#161b2f;font-size:13px;margin:0!important;padding:0 0 0 .75rem;position:absolute;top:0;left:0;height:100%;width:100%;cursor:pointer}::ng-deep .frequency-dialog-one-time-item .time-picker input::placeholder{color:#161b2f}::ng-deep .frequency-dialog-one-time-item .time-picker input:focus{outline:none}::ng-deep dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}::ng-deep dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}::ng-deep dp-date-picker input:focus{outline:none}::ng-deep dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep dp-date-picker .dp-popup dp-day-calendar,::ng-deep dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep dp-date-picker .dp-popup dp-day-calendar button,::ng-deep dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000000;display:inline-flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}::ng-deep dp-date-picker .dp-open+div{position:fixed!important;inset:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:rgba(0,0,0,.3)}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}\n"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.NgxMaterialTimepickerComponent, selector: "ngx-material-timepicker", inputs: ["ESC", "hoursOnly", "ngxMaterialTimepickerTheme", "format", "minutesGap", "cancelBtnTmpl", "editableHintTmpl", "confirmBtnTmpl", "enableKeyboardInput", "preventOverlayClick", "disableAnimation", "appendToInput", "defaultTime", "timepickerClass", "theme", "min", "max"], outputs: ["timeSet", "opened", "closed", "hourSelected", "timeChanged"] }, { kind: "component", type: i5.DatePickerComponent, selector: "dp-date-picker", inputs: ["mode", "placeholder", "disabled", "config", "displayDate", "theme", "minDate", "maxDate", "minTime", "maxTime"], outputs: ["open", "close", "onChange", "onGoToCurrent", "onLeftNav", "onRightNav", "onSelect"] }, { kind: "component", type: i6.FrequencyDialogDueDateComponent, selector: "app-frequency-dialog-due-date", inputs: ["mode", "completedValue", "deactivateValue", "isDeactivated", "id", "pageName"], outputs: ["valueChange"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }] });
|
|
169
|
+
FrequencyDialogOneTimeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FrequencyDialogOneTimeComponent, selector: "app-frequency-dialog-one-time", inputs: { frequencyData: "frequencyData", mode: "mode" }, outputs: { frequencyDetails: "frequencyDetails" }, viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["datePicker"], descendants: true }], ngImport: i0, template: "\r\n<div class=\"frequency-dialog-one-time\" *ngIf=\"true\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">REASSESSMENT FREQUENCY:</div>\r\n <div class=\"frequency-dialog-one-time-item vx-p-3 vx-d-flex vx-align-center vx-justify-between vx-mb-5\">\r\n <div class=\"date-picker\">\r\n <i class=\"icons calendar-icon vx-fs-14 vx-txt-blue\"></i>\r\n <!-- <input class=\"datePicker\" (click)=\"openDatePicker()\" placeholder=\"Select Date\"> -->\r\n <input class=\"datePicker\" type=\"text\" [value]=\"todayDate | date: 'dd MMM yyyy'\" [placeholder]=\"todayDate | date: 'dd MMM yyyy'\" (click)=\"openDatePicker()\" readonly>\r\n <!-- <dp-date-picker #datePicker placeholder='Select Date' (click)=\"openDatePicker()\" (click)=\"closeDatepicker()\"></dp-date-picker> -->\r\n <dp-date-picker\r\n #datePicker\r\n [id]=\"'start-date-' + 6\"\r\n [placeholder]=\"todayDate | date: 'dd MMM yyyy'\"\r\n [(ngModel)]=\"selectedDate\"\r\n [config]=\"dateConfig\"\r\n (onSelect)=\"openDatePicker();dateChange($event); showDateError = false; datepickerOverlay = false\">\r\n </dp-date-picker>\r\n <div class=\"overlay\" (click)=\"closeDatepicker()\" *ngIf=\"datepickerOverlay\"></div>\r\n </div>\r\n <div class=\"time-picker vx-d-flex vx-align-center vx-justify-end vx-pr-3\">\r\n <!-- <input type=\"text\" readonly aria-label=\"12hr format\" [ngxTimepicker]=\"dailyTime\" placeholder=\"11:59 PM\"> -->\r\n <input type=\"text\" readonly aria-label=\"12hr format\" [(ngModel)]=\"oneTimeStartTime\" placeholder=\"Select Time\">\r\n <!-- <i class=\"icons vx-fs-12 vx-txt-blue\"></i> -->\r\n <ngx-material-timepicker [hoursOnly]=\"true\" (timeChanged)=\"onTimeChanged($event)\" #dailyTime></ngx-material-timepicker>\r\n </div>\r\n </div>\r\n <app-frequency-dialog-due-date\r\n [id] = '6'\r\n [mode]=\"mode\"\r\n [pageName]=\"'one-time'\"\r\n [isDeactivated]=\"false\"\r\n [completedValue]=\"oneTimeWindow\"\r\n [windowCloses]=\"oneTimeExtension\"\r\n [assessWindowOpen]=\"oneTimeWindowOpen\"\r\n (valueChange)=\"onValueChange($event)\"\r\n (windowOpenChange)=\"onWindowOpenChange($event)\"\r\n (extensionValueChange)=\"onExtensionChange($event)\"\r\n ></app-frequency-dialog-due-date>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .frequency-dialog-one-time-item{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .frequency-dialog-one-time-item .date-picker{position:relative;width:calc(100% - 6.75rem)}::ng-deep .frequency-dialog-one-time-item .date-picker .calendar-icon{position:absolute;left:.75rem;top:9px;pointer-events:none;z-index:1}::ng-deep .frequency-dialog-one-time-item .date-picker input{border-radius:.25rem;border:1px solid #dbdbdb;color:#161b2f;font-size:13px;font-weight:400;padding:0 .5rem 0 2.25rem;height:2rem;width:100%;cursor:pointer;outline:none}::ng-deep .frequency-dialog-one-time-item .date-picker input::placeholder{color:#161b2f}::ng-deep .frequency-dialog-one-time-item .time-picker{border-radius:.25rem;border:1px solid #dbdbdb;height:2rem;width:6.25rem;position:relative}::ng-deep .frequency-dialog-one-time-item .time-picker input{background:transparent;border-radius:0;border:none;color:#161b2f;font-size:13px;margin:0!important;padding:0 0 0 .75rem;position:absolute;top:0;left:0;height:100%;width:100%;cursor:pointer}::ng-deep .frequency-dialog-one-time-item .time-picker input::placeholder{color:#161b2f}::ng-deep .frequency-dialog-one-time-item .time-picker input:focus{outline:none}::ng-deep dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}::ng-deep dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}::ng-deep dp-date-picker input:focus{outline:none}::ng-deep dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep dp-date-picker .dp-popup dp-day-calendar,::ng-deep dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep dp-date-picker .dp-popup dp-day-calendar button,::ng-deep dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000000;display:inline-flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}::ng-deep dp-date-picker .dp-open+div{position:fixed!important;inset:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:rgba(0,0,0,.3)}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}\n"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.NgxMaterialTimepickerComponent, selector: "ngx-material-timepicker", inputs: ["ESC", "hoursOnly", "ngxMaterialTimepickerTheme", "format", "minutesGap", "cancelBtnTmpl", "editableHintTmpl", "confirmBtnTmpl", "enableKeyboardInput", "preventOverlayClick", "disableAnimation", "appendToInput", "defaultTime", "timepickerClass", "theme", "min", "max"], outputs: ["timeSet", "opened", "closed", "hourSelected", "timeChanged"] }, { kind: "component", type: i5.DatePickerComponent, selector: "dp-date-picker", inputs: ["mode", "placeholder", "disabled", "config", "displayDate", "theme", "minDate", "maxDate", "minTime", "maxTime"], outputs: ["open", "close", "onChange", "onGoToCurrent", "onLeftNav", "onRightNav", "onSelect"] }, { kind: "component", type: i6.FrequencyDialogDueDateComponent, selector: "app-frequency-dialog-due-date", inputs: ["mode", "completedValue", "deactivateValue", "isDeactivated", "id", "pageName", "windowCloses", "assessWindowOpen"], outputs: ["valueChange", "windowOpenChange", "extensionValueChange"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }] });
|
|
167
170
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FrequencyDialogOneTimeComponent, decorators: [{
|
|
168
171
|
type: Component,
|
|
169
|
-
args: [{ selector: 'app-frequency-dialog-one-time', template: "<!-- <div class=\"frequency-dialog-one-time\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">REASSESSMENT FREQUENCY:</div>\r\n <div class=\"frequency-dialog-one-time-item vx-p-3 vx-d-flex vx-align-center vx-justify-between vx-mb-5\">\r\n <div class=\"date-picker\">\r\n <i class=\"icons calendar-icon vx-fs-14 vx-txt-blue\"></i>\r\n <input class=\"datePicker\" (click)=\"openDatePicker()\" placeholder=\"Select Date\">\r\n <dp-date-picker #datePicker placeholder='Select Date' (click)=\"openDatePicker()\" (click)=\"closeDatepicker()\"></dp-date-picker>\r\n <div class=\"overlay\" (click)=\"closeDatepicker()\" *ngIf=\"datepickerOverlay\"></div>\r\n </div>\r\n <div class=\"time-picker vx-d-flex vx-align-center vx-justify-end vx-pr-3\">\r\n <input type=\"text\" readonly aria-label=\"12hr format\" [ngxTimepicker]=\"dailyTime\" placeholder=\"11:59 PM\">\r\n <i class=\"icons vx-fs-12 vx-txt-blue\"></i>\r\n <ngx-material-timepicker #dailyTime></ngx-material-timepicker>\r\n </div>\r\n </div>\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">REASSESSMENT EMAIL NOTIFICATION:</div>\r\n <div class=\"frequency-dialog-one-time-item vx-mb-5\">\r\n <app-frequency-dialog-due-date></app-frequency-dialog-due-date>\r\n </div>\r\n</div> -->\r\n\r\n<div class=\"frequency-dialog-one-time\" *ngIf=\"true\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">REASSESSMENT FREQUENCY:</div>\r\n <div class=\"frequency-dialog-one-time-item vx-p-3 vx-d-flex vx-align-center vx-justify-between vx-mb-5\">\r\n <div class=\"date-picker\">\r\n <i class=\"icons calendar-icon vx-fs-14 vx-txt-blue\"></i>\r\n <!-- <input class=\"datePicker\" (click)=\"openDatePicker()\" placeholder=\"Select Date\"> -->\r\n <input class=\"datePicker\" type=\"text\" [value]=\"todayDate | date: 'dd MMM yyyy'\" [placeholder]=\"todayDate | date: 'dd MMM yyyy'\" (click)=\"openDatePicker()\" readonly>\r\n <!-- <dp-date-picker #datePicker placeholder='Select Date' (click)=\"openDatePicker()\" (click)=\"closeDatepicker()\"></dp-date-picker> -->\r\n <dp-date-picker\r\n #datePicker\r\n [id]=\"'start-date-' + 6\"\r\n [placeholder]=\"todayDate | date: 'dd MMM yyyy'\"\r\n [(ngModel)]=\"selectedDate\"\r\n [config]=\"dateConfig\"\r\n (onSelect)=\"openDatePicker();dateChange($event); showDateError = false; datepickerOverlay = false\">\r\n </dp-date-picker>\r\n <div class=\"overlay\" (click)=\"closeDatepicker()\" *ngIf=\"datepickerOverlay\"></div>\r\n </div>\r\n <div class=\"time-picker vx-d-flex vx-align-center vx-justify-end vx-pr-3\">\r\n <!-- <input type=\"text\" readonly aria-label=\"12hr format\" [ngxTimepicker]=\"dailyTime\" placeholder=\"11:59 PM\"> -->\r\n <input type=\"text\" readonly aria-label=\"12hr format\" [(ngModel)]=\"oneTimeStartTime\" placeholder=\"Select Time\">\r\n <!-- <i class=\"icons vx-fs-12 vx-txt-blue\"></i> -->\r\n <ngx-material-timepicker [hoursOnly]=\"true\" (timeChanged)=\"onTimeChanged($event)\" #dailyTime></ngx-material-timepicker>\r\n </div>\r\n </div>\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">REASSESSMENT EMAIL NOTIFICATION:</div>\r\n <div class=\"frequency-dialog-one-time-item vx-mb-5\">\r\n <app-frequency-dialog-due-date\r\n [id] = '6'\r\n [mode]=\"mode\"\r\n [pageName]=\"'one-time'\"\r\n [isDeactivated]=\"false\"\r\n [completedValue]=\"oneTimeWindow\"\r\n (valueChange)=\"onValueChange($event)\"\r\n ></app-frequency-dialog-due-date>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .frequency-dialog-one-time-item{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .frequency-dialog-one-time-item .date-picker{position:relative;width:calc(100% - 6.75rem)}::ng-deep .frequency-dialog-one-time-item .date-picker .calendar-icon{position:absolute;left:.75rem;top:9px;pointer-events:none;z-index:1}::ng-deep .frequency-dialog-one-time-item .date-picker input{border-radius:.25rem;border:1px solid #dbdbdb;color:#161b2f;font-size:13px;font-weight:400;padding:0 .5rem 0 2.25rem;height:2rem;width:100%;cursor:pointer;outline:none}::ng-deep .frequency-dialog-one-time-item .date-picker input::placeholder{color:#161b2f}::ng-deep .frequency-dialog-one-time-item .time-picker{border-radius:.25rem;border:1px solid #dbdbdb;height:2rem;width:6.25rem;position:relative}::ng-deep .frequency-dialog-one-time-item .time-picker input{background:transparent;border-radius:0;border:none;color:#161b2f;font-size:13px;margin:0!important;padding:0 0 0 .75rem;position:absolute;top:0;left:0;height:100%;width:100%;cursor:pointer}::ng-deep .frequency-dialog-one-time-item .time-picker input::placeholder{color:#161b2f}::ng-deep .frequency-dialog-one-time-item .time-picker input:focus{outline:none}::ng-deep dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}::ng-deep dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}::ng-deep dp-date-picker input:focus{outline:none}::ng-deep dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep dp-date-picker .dp-popup dp-day-calendar,::ng-deep dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep dp-date-picker .dp-popup dp-day-calendar button,::ng-deep dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000000;display:inline-flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}::ng-deep dp-date-picker .dp-open+div{position:fixed!important;inset:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:rgba(0,0,0,.3)}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}\n"] }]
|
|
172
|
+
args: [{ selector: 'app-frequency-dialog-one-time', template: "\r\n<div class=\"frequency-dialog-one-time\" *ngIf=\"true\">\r\n <div class=\"vx-fs-11 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mb-1\">REASSESSMENT FREQUENCY:</div>\r\n <div class=\"frequency-dialog-one-time-item vx-p-3 vx-d-flex vx-align-center vx-justify-between vx-mb-5\">\r\n <div class=\"date-picker\">\r\n <i class=\"icons calendar-icon vx-fs-14 vx-txt-blue\"></i>\r\n <!-- <input class=\"datePicker\" (click)=\"openDatePicker()\" placeholder=\"Select Date\"> -->\r\n <input class=\"datePicker\" type=\"text\" [value]=\"todayDate | date: 'dd MMM yyyy'\" [placeholder]=\"todayDate | date: 'dd MMM yyyy'\" (click)=\"openDatePicker()\" readonly>\r\n <!-- <dp-date-picker #datePicker placeholder='Select Date' (click)=\"openDatePicker()\" (click)=\"closeDatepicker()\"></dp-date-picker> -->\r\n <dp-date-picker\r\n #datePicker\r\n [id]=\"'start-date-' + 6\"\r\n [placeholder]=\"todayDate | date: 'dd MMM yyyy'\"\r\n [(ngModel)]=\"selectedDate\"\r\n [config]=\"dateConfig\"\r\n (onSelect)=\"openDatePicker();dateChange($event); showDateError = false; datepickerOverlay = false\">\r\n </dp-date-picker>\r\n <div class=\"overlay\" (click)=\"closeDatepicker()\" *ngIf=\"datepickerOverlay\"></div>\r\n </div>\r\n <div class=\"time-picker vx-d-flex vx-align-center vx-justify-end vx-pr-3\">\r\n <!-- <input type=\"text\" readonly aria-label=\"12hr format\" [ngxTimepicker]=\"dailyTime\" placeholder=\"11:59 PM\"> -->\r\n <input type=\"text\" readonly aria-label=\"12hr format\" [(ngModel)]=\"oneTimeStartTime\" placeholder=\"Select Time\">\r\n <!-- <i class=\"icons vx-fs-12 vx-txt-blue\"></i> -->\r\n <ngx-material-timepicker [hoursOnly]=\"true\" (timeChanged)=\"onTimeChanged($event)\" #dailyTime></ngx-material-timepicker>\r\n </div>\r\n </div>\r\n <app-frequency-dialog-due-date\r\n [id] = '6'\r\n [mode]=\"mode\"\r\n [pageName]=\"'one-time'\"\r\n [isDeactivated]=\"false\"\r\n [completedValue]=\"oneTimeWindow\"\r\n [windowCloses]=\"oneTimeExtension\"\r\n [assessWindowOpen]=\"oneTimeWindowOpen\"\r\n (valueChange)=\"onValueChange($event)\"\r\n (windowOpenChange)=\"onWindowOpenChange($event)\"\r\n (extensionValueChange)=\"onExtensionChange($event)\"\r\n ></app-frequency-dialog-due-date>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .frequency-dialog-one-time-item{border-radius:.25rem;border:1px solid #f1f1f1}::ng-deep .frequency-dialog-one-time-item .date-picker{position:relative;width:calc(100% - 6.75rem)}::ng-deep .frequency-dialog-one-time-item .date-picker .calendar-icon{position:absolute;left:.75rem;top:9px;pointer-events:none;z-index:1}::ng-deep .frequency-dialog-one-time-item .date-picker input{border-radius:.25rem;border:1px solid #dbdbdb;color:#161b2f;font-size:13px;font-weight:400;padding:0 .5rem 0 2.25rem;height:2rem;width:100%;cursor:pointer;outline:none}::ng-deep .frequency-dialog-one-time-item .date-picker input::placeholder{color:#161b2f}::ng-deep .frequency-dialog-one-time-item .time-picker{border-radius:.25rem;border:1px solid #dbdbdb;height:2rem;width:6.25rem;position:relative}::ng-deep .frequency-dialog-one-time-item .time-picker input{background:transparent;border-radius:0;border:none;color:#161b2f;font-size:13px;margin:0!important;padding:0 0 0 .75rem;position:absolute;top:0;left:0;height:100%;width:100%;cursor:pointer}::ng-deep .frequency-dialog-one-time-item .time-picker input::placeholder{color:#161b2f}::ng-deep .frequency-dialog-one-time-item .time-picker input:focus{outline:none}::ng-deep dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}::ng-deep dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}::ng-deep dp-date-picker input:focus{outline:none}::ng-deep dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}::ng-deep dp-date-picker .dp-popup dp-day-calendar,::ng-deep dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}::ng-deep dp-date-picker .dp-popup dp-day-calendar button,::ng-deep dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,::ng-deep dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000000;display:inline-flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week{display:flex;justify-content:space-around}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover{background-color:#f3f3f3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected{background:#1e5dd3}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}::ng-deep dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,::ng-deep dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}::ng-deep dp-date-picker .dp-open+div{position:fixed!important;inset:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:rgba(0,0,0,.3)}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}\n"] }]
|
|
170
173
|
}], ctorParameters: function () { return [{ type: i1.FrequencyService }]; }, propDecorators: { datePicker: [{
|
|
171
174
|
type: ViewChild,
|
|
172
175
|
args: ['datePicker']
|
|
@@ -177,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
177
180
|
}], frequencyDetails: [{
|
|
178
181
|
type: Output
|
|
179
182
|
}] } });
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWRpYWxvZy1vbmUtdGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS1kaWFsb2cvZnJlcXVlbmN5LWRpYWxvZy1vbmUtdGltZS9mcmVxdWVuY3ktZGlhbG9nLW9uZS10aW1lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5LWRpYWxvZy9mcmVxdWVuY3ktZGlhbG9nLW9uZS10aW1lL2ZyZXF1ZW5jeS1kaWFsb2ctb25lLXRpbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQU9uQyxNQUFNLE9BQU8sK0JBQStCO0lBNEMxQyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXZCdEQsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLHFCQUFnQixHQUFRLFVBQVUsQ0FBQztRQUNuQyxvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUVyQixjQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FDOUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FB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QkFBK0I7a0JBTDNDLFNBQVM7K0JBQ0UsK0JBQStCO3VHQXdCaEIsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQW1CZCxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICduZzItZGF0ZS1waWNrZXInO1xyXG5pbXBvcnQgeyBGcmVxdWVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZnJlcXVlbmN5L2ZyZXF1ZW5jeS5zZXJ2aWNlJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQvbW9tZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZyZXF1ZW5jeS1kaWFsb2ctb25lLXRpbWUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktZGlhbG9nLW9uZS10aW1lLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktZGlhbG9nLW9uZS10aW1lLmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lEaWFsb2dPbmVUaW1lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvLyB0aW1lRGF0YSA9ICcxMTo1OSBwbSc7XHJcbiAgLy8gQFZpZXdDaGlsZCgnZGF0ZVBpY2tlcicpIGRhdGVQaWNrZXIhOiBEYXRlUGlja2VyQ29tcG9uZW50O1xyXG4gIC8vIGRhdGVwaWNrZXJPdmVybGF5ID0gZmFsc2U7XHJcblxyXG4gIC8vIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIC8vIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gb3BlbkRhdGVQaWNrZXIoKSB7XHJcbiAgLy8gICB0aGlzLmRhdGVQaWNrZXI/LmFwaT8ub3BlbigpO1xyXG4gIC8vICAgdGhpcy5kYXRlcGlja2VyT3ZlcmxheSA9IHRydWU7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBjbG9zZURhdGVwaWNrZXIoKSB7XHJcbiAgLy8gICB0aGlzLmRhdGVQaWNrZXI/LmFwaT8uY2xvc2UoKTtcclxuICAvLyAgIHRoaXMuZGF0ZXBpY2tlck92ZXJsYXkgPSBmYWxzZTtcclxuICAvLyB9XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2RhdGVQaWNrZXInKSBkYXRlUGlja2VyITogRGF0ZVBpY2tlckNvbXBvbmVudDtcclxuICBkYXRlcGlja2VyT3ZlcmxheSA9IGZhbHNlO1xyXG4gIHNob3dEYXRlRXJyb3IgPSBmYWxzZTtcclxuICBvbmVUaW1lRmFpbGVkID0gNTtcclxuICBvbmVUaW1lV2luZG93ID0gMTU7XHJcbiAgb25lVGltZVN0YXJ0VGltZTogYW55ID0gJzExOjAwIHBtJztcclxuICBvbmVUaW1lU2VsZWN0ZWQgPSAnJztcclxuICBkYXRlQ29uZmlnOiBhbnk7XHJcbiAgdG9kYXlEYXRlID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmNoYW5nZVRpbWVab25lKFxyXG4gICAgbmV3IERhdGUoKT8uc2V0RGF0ZShuZXcgRGF0ZSgpPy5nZXREYXRlKCkgKyAxKVxyXG4gICk7XHJcbiAgLy8gdG9kYXlEYXRlID0gJ2ZyaSBKYW4gMjAgMjAyMyAyMzo0MDowOSBHTVQrMDUzMCAoSW5kaWEgU3RhbmRhcmQgVGltZSknO1xyXG4gIGZyZXF1ZW5jeUluZm86IGFueTtcclxuICBzaG9ydE1vbnRoOiBBcnJheTxzdHJpbmc+ID0gW107XHJcbiAgZGF0ZU9iamVjdERhdGEgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuY2hhbmdlVGltZVpvbmUoXHJcbiAgICBuZXcgRGF0ZSgpPy5zZXREYXRlKG5ldyBEYXRlKCk/LmdldERhdGUoKSArIDEpXHJcbiAgKTtcclxuICBtaW5EYXRlID0gbW9tZW50KERhdGUubm93KCkpLmZvcm1hdCgnWVlZWS1NTS1ERCBISDptbTpzcycpPy5zcGxpdCgnICcpWzBdO1xyXG4gIHNlbGVjdGVkRGF0ZTogYW55O1xyXG4gIEBJbnB1dCgpIGZyZXF1ZW5jeURhdGE6IGFueTtcclxuICBASW5wdXQoKSBtb2RlOiBhbnkgPSAnJztcclxuXHJcbiAgQE91dHB1dCgpIGZyZXF1ZW5jeURldGFpbHMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmcmVxdWVuY3lTZXJ2aWNlOiBGcmVxdWVuY3lTZXJ2aWNlKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGF0ZUNvbmZpZyA9IHRoaXMuZnJlcXVlbmN5U2VydmljZS5kYXRlQ29uZmlnO1xyXG4gICAgdGhpcy5kYXRlQ29uZmlnWydtaW4nXSA9IHRoaXMuZnJlcXVlbmN5U2VydmljZVxyXG4gICAgICAuY2hhbmdlVGltZVpvbmUobmV3IERhdGUoKT8uc2V0RGF0ZShuZXcgRGF0ZSgpPy5nZXREYXRlKCkgKyAxKSlcclxuICAgICAgPy5nZXREYXRlKClcclxuICAgICAgPy50b1N0cmluZygpO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvID0gT2JqZWN0LmFzc2lnbih0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuZnJlcXVlbmN5SW5mbyk7XHJcbiAgICB0aGlzLnNob3J0TW9udGggPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UubW9udGhBcnJheS5tYXAoKG1vbnRoKSA9PlxyXG4gICAgICBtb250aC5zdWJzdHJpbmcoMCwgMylcclxuICAgICk7XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IG1vbWVudCh0aGlzLnRvZGF5RGF0ZSk7XHJcbiAgICBjb25zb2xlLmxvZygndGhpcy5kYXRlQ29uZmlnICcsIHRoaXMuZGF0ZUNvbmZpZywgdGhpcy50b2RheURhdGUpO1xyXG4gICAgY29uc29sZS5sb2coXHJcbiAgICAgICd0aGlzLmZyZXF1ZW5jeURhdGEgPT0+JyxcclxuICAgICAgdGhpcy5mcmVxdWVuY3lEYXRhLFxyXG4gICAgICB0aGlzLmZyZXF1ZW5jeURhdGE/LnBhdHRlcm4uc3BsaXQoJ34nKVxyXG4gICAgKTtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5mcmVxdWVuY3lEYXRhPy5wYXR0ZXJuICE9ICcnICYmXHJcbiAgICAgIHRoaXMuZnJlcXVlbmN5RGF0YT8ucGF0dGVybi5zcGxpdCgnficpWzBdID09PSAnMCdcclxuICAgICkge1xyXG4gICAgICB0aGlzLnBvcHVsYXRlRnJlcXVlbmN5KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmdldE9uZVRpbWVGcmVxdWVuY3koKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHBvcHVsYXRlRnJlcXVlbmN5KCkge1xyXG4gICAgY29uc3QgcGF0dGVybkluZm8gPSB0aGlzLmZyZXF1ZW5jeURhdGE/LnBhdHRlcm4uc3BsaXQoJ34nKTtcclxuICAgIGNvbnNvbGUubG9nKCdwYXR0ZXJuSW5mbyA9PT4nLCBwYXR0ZXJuSW5mbyk7XHJcbiAgICBjb25zdCB0aW1lU3RhbXAgPSBtb21lbnQoXHJcbiAgICAgIGAke3BhdHRlcm5JbmZvWzNdfS0ke3BhdHRlcm5JbmZvWzJdfS0ke3BhdHRlcm5JbmZvWzFdfSAke3RoaXMuZnJlcXVlbmN5RGF0YT8uZmFpbGVkVGltZX1gLFxyXG4gICAgICAnREQtTU0tWVlZWSBISDptbSBhJ1xyXG4gICAgKS51bml4KCk7XHJcbiAgICBjb25zb2xlLmxvZygndGltZVN0YW1wICAtLT4nLCB0aW1lU3RhbXApO1xyXG4gICAgdGhpcy50b2RheURhdGUgPSBuZXcgRGF0ZSh0aW1lU3RhbXAgKiAxMDAwKTtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbW9tZW50KHRoaXMudG9kYXlEYXRlKTtcclxuICAgIHRoaXMub25lVGltZUZhaWxlZCA9IHRoaXMuZnJlcXVlbmN5RGF0YT8uZmFpbGVkO1xyXG4gICAgdGhpcy5vbmVUaW1lV2luZG93ID0gdGhpcy5mcmVxdWVuY3lEYXRhPy53aW5kb3c7XHJcbiAgICB0aGlzLm9uZVRpbWVTdGFydFRpbWUgPSB0aGlzLmZyZXF1ZW5jeURhdGE/LmZhaWxlZFRpbWU7XHJcbiAgICB0aGlzLm9uZVRpbWVTZWxlY3RlZCA9XHJcbiAgICAgIHBhdHRlcm5JbmZvWzFdICsgJ34nICsgcGF0dGVybkluZm9bMl0gKyAnficgKyBwYXR0ZXJuSW5mb1szXTtcclxuICAgIHRoaXMuZGF0ZU9iamVjdERhdGEgPSBuZXcgRGF0ZShcclxuICAgICAgbW9tZW50KFxyXG4gICAgICAgIHRoaXMub25lVGltZVNlbGVjdGVkICsgJyAnICsgdGhpcy5vbmVUaW1lU3RhcnRUaW1lLFxyXG4gICAgICAgICdZWVlZfk1NfkREIEhIOm1tOnNzJ1xyXG4gICAgICApLnVuaXgoKSAqIDEwMDBcclxuICAgICk7XHJcbiAgICB0aGlzLmdldE9uZVRpbWVGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIG9wZW5EYXRlUGlja2VyKCkge1xyXG4gICAgY29uc3QgbmV3RGF0ZSA9IG1vbWVudCh0aGlzLnRvZGF5RGF0ZSk7XHJcbiAgICB0aGlzLmRhdGVQaWNrZXI/LmFwaT8ubW92ZUNhbGVuZGFyVG8obmV3RGF0ZSk7XHJcbiAgICB0aGlzLmRhdGVQaWNrZXI/LmFwaT8ub3BlbigpO1xyXG4gICAgdGhpcy5kYXRlcGlja2VyT3ZlcmxheSA9IHRydWU7XHJcbiAgfVxyXG4gIGNsb3NlRGF0ZXBpY2tlcigpIHtcclxuICAgIHRoaXMuZGF0ZVBpY2tlci5hcGkuY2xvc2UoKTtcclxuICAgIHRoaXMuZGF0ZXBpY2tlck92ZXJsYXkgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uVmFsdWVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdjb21wbGV0ZWQnKSB7XHJcbiAgICAgIHRoaXMub25lVGltZVdpbmRvdyA9IGV2ZW50LnZhbHVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vbmVUaW1lRmFpbGVkID0gZXZlbnQudmFsdWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNsb3NlRGF0ZXBpY2tlcigpO1xyXG4gICAgdGhpcy5nZXRPbmVUaW1lRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBvblRpbWVDaGFuZ2VkKGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIGNvbnNvbGUubG9nKCdldmVudCBzcmluZycsIGV2ZW50KTtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuZGF0ZU9iamVjdERhdGEpO1xyXG5cclxuICAgIHRoaXMub25lVGltZVN0YXJ0VGltZSA9IGV2ZW50O1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLmRhdGVPYmplY3REYXRhID09ICdvYmplY3QnKSB7XHJcbiAgICAgIHRoaXMuZGF0ZU9iamVjdERhdGEgPSBtb21lbnQodGhpcy5kYXRlT2JqZWN0RGF0YSkudG9EYXRlKCk7XHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLmRhdGVPYmplY3REYXRhKTtcclxuICAgIGxldCB0aW1lU3RhbXAgPSBtb21lbnQoXHJcbiAgICAgIHRoaXMuZGF0ZU9iamVjdERhdGEuZ2V0RGF0ZSgpICtcclxuICAgICAgICAnLScgK1xyXG4gICAgICAgICh0aGlzLmRhdGVPYmplY3REYXRhLmdldE1vbnRoKCkgKyAxKSArXHJcbiAgICAgICAgJy0nICtcclxuICAgICAgICB0aGlzLmRhdGVPYmplY3REYXRhLmdldEZ1bGxZZWFyKCkgK1xyXG4gICAgICAgICcgJyArXHJcbiAgICAgICAgdGhpcy5vbmVUaW1lU3RhcnRUaW1lLFxyXG4gICAgICAnREQtTU0tWVlZWSBoaDptbSBhJ1xyXG4gICAgKS51bml4KCk7XHJcbiAgICB0aGlzLm9uZVRpbWVTZWxlY3RlZCA9IG1vbWVudCh0aW1lU3RhbXAgKiAxMDAwKVxyXG4gICAgICAuZm9ybWF0KCdZWVlZfk1NfkREVEhIOm1tOnNzWicpXHJcbiAgICAgIC5zcGxpdCgnVCcpWzBdO1xyXG4gICAgY29uc29sZS5sb2coJ3RpbWVTdGFtcCcsIHRpbWVTdGFtcCwgdGhpcy5vbmVUaW1lU2VsZWN0ZWQpO1xyXG4gICAgdGhpcy5nZXRPbmVUaW1lRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBkYXRlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gZXZlbnQuZGF0ZTtcclxuICAgIGNvbnN0IG5ld0RhdGUgPSBtb21lbnQoZXZlbnQuZGF0ZSkudW5peCgpO1xyXG5cclxuICAgIHRoaXMuZGF0ZU9iamVjdERhdGEgPSBuZXcgRGF0ZShuZXdEYXRlICogMTAwMCk7XHJcbiAgICB0aGlzLnRvZGF5RGF0ZSA9IHRoaXMuZGF0ZU9iamVjdERhdGE7XHJcbiAgICBsZXQgdGltZVN0YW1wID0gbW9tZW50KFxyXG4gICAgICB0aGlzLmRhdGVPYmplY3REYXRhLmdldERhdGUoKSArXHJcbiAgICAgICAgJy0nICtcclxuICAgICAgICAodGhpcy5kYXRlT2JqZWN0RGF0YS5nZXRNb250aCgpICsgMSkgK1xyXG4gICAgICAgICctJyArXHJcbiAgICAgICAgdGhpcy5kYXRlT2JqZWN0RGF0YS5nZXRGdWxsWWVhcigpICtcclxuICAgICAgICAnICcgK1xyXG4gICAgICAgIHRoaXMub25lVGltZVN0YXJ0VGltZSxcclxuICAgICAgJ0RELU1NLVlZWVkgaGg6bW0gYSdcclxuICAgICkudW5peCgpO1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1jb25zb2xlXHJcbiAgICBjb25zb2xlLmxvZyhcclxuICAgICAgJ3RpbWVTdGFtcCcsXHJcbiAgICAgIHRpbWVTdGFtcCxcclxuICAgICAgRGF0ZS5ub3coKSAvIDEwMDAsXHJcbiAgICAgIERhdGUubm93KCkgLyAxMDAwID4gdGltZVN0YW1wXHJcbiAgICApO1xyXG4gICAgdGhpcy5vbmVUaW1lU2VsZWN0ZWQgPSBldmVudC5kYXRlXHJcbiAgICAgIC5mb3JtYXQoJ1lZWVl+TU1+RERUSEg6bW06c3NaJylcclxuICAgICAgLnNwbGl0KCdUJylbMF07XHJcblxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1jb25zb2xlXHJcbiAgICBjb25zb2xlLmxvZyhldmVudC5kYXRlLmZvcm1hdCgnWVlZWX5NTX5ERFRISDptbTpzc1onKSk7XHJcbiAgICB0aGlzLmdldE9uZVRpbWVGcmVxdWVuY3koKTtcclxuICB9XHJcblxyXG4gIGdldE9uZVRpbWVGcmVxdWVuY3koKSB7XHJcbiAgICBpZiAodGhpcy5vbmVUaW1lU2VsZWN0ZWQgIT09ICcnKSB7XHJcbiAgICAgIHRoaXMudG9kYXlEYXRlID0gbW9tZW50KHRoaXMudG9kYXlEYXRlKS50b0RhdGUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbW9tZW50KHRoaXMudG9kYXlEYXRlKTtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbWF4LWxpbmUtbGVuZ3RoXHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGxhY2Vob2xkZXIgPVxyXG4gICAgICAnT25lIFRpbWUgJyArXHJcbiAgICAgIHRoaXMudG9kYXlEYXRlLmdldERhdGUoKSArXHJcbiAgICAgICcgJyArXHJcbiAgICAgIHRoaXMuc2hvcnRNb250aFt0aGlzLnRvZGF5RGF0ZS5nZXRNb250aCgpXSArXHJcbiAgICAgICcgJyArXHJcbiAgICAgIHRoaXMudG9kYXlEYXRlLmdldEZ1bGxZZWFyKCkgK1xyXG4gICAgICAnIGJ5ICcgK1xyXG4gICAgICB0aGlzLm9uZVRpbWVTdGFydFRpbWU7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGF0dGVybiA9XHJcbiAgICAgIDAgK1xyXG4gICAgICAnficgK1xyXG4gICAgICAodGhpcy5vbmVUaW1lU2VsZWN0ZWQgPT09ICcnXHJcbiAgICAgICAgPyB0aGlzLmZyZXF1ZW5jeVNlcnZpY2VcclxuICAgICAgICAgICAgLmNoYW5nZVRpbWVab25lKG5ldyBEYXRlKCk/LnNldERhdGUobmV3IERhdGUoKT8uZ2V0RGF0ZSgpICsgMSkpXHJcbiAgICAgICAgICAgID8uZ2V0RnVsbFllYXIoKSArXHJcbiAgICAgICAgICAnficgK1xyXG4gICAgICAgICAgKHRoaXMuZnJlcXVlbmN5U2VydmljZVxyXG4gICAgICAgICAgICAuY2hhbmdlVGltZVpvbmUobmV3IERhdGUoKT8uc2V0RGF0ZShuZXcgRGF0ZSgpPy5nZXREYXRlKCkgKyAxKSlcclxuICAgICAgICAgICAgPy5nZXRNb250aCgpICtcclxuICAgICAgICAgICAgMSkgK1xyXG4gICAgICAgICAgJ34nICtcclxuICAgICAgICAgIHRoaXMuZnJlcXVlbmN5U2VydmljZVxyXG4gICAgICAgICAgICAuY2hhbmdlVGltZVpvbmUobmV3IERhdGUoKT8uc2V0RGF0ZShuZXcgRGF0ZSgpPy5nZXREYXRlKCkgKyAxKSlcclxuICAgICAgICAgICAgPy5nZXREYXRlKClcclxuICAgICAgICA6IHRoaXMub25lVGltZVNlbGVjdGVkKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5jYXNlID0gJ29uZVRpbWUnO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZEFmdGVyID0gdGhpcy5vbmVUaW1lRmFpbGVkO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLndpbmRvdyA9IHRoaXMub25lVGltZVdpbmRvdztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby50aW1lSW4xMmhyID0gdGhpcy5vbmVUaW1lU3RhcnRUaW1lO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjI0SHIgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UudGltZUZyb20xMmhUbzI0aChcclxuICAgICAgdGhpcy5vbmVUaW1lU3RhcnRUaW1lXHJcbiAgICApO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF90aW1lX3V0YyA9IDA7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucmVwb3J0SWQgPSAwO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzLmVtaXQodGhpcy5mcmVxdWVuY3lJbmZvKTtcclxuICAgIGNvbnNvbGUubG9nKCcgdGhpcy5mcmVxdWVuY3lJbmZvID09PicsIHRoaXMuZnJlcXVlbmN5SW5mbyk7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1kaWFsb2ctb25lLXRpbWVcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMSB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tYi0xXCI+UkVBU1NFU1NNRU5UIEZSRVFVRU5DWTo8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nLW9uZS10aW1lLWl0ZW0gdngtcC0zIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LW1iLTVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZS1waWNrZXJcIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyBjYWxlbmRhci1pY29uIHZ4LWZzLTE0IHZ4LXR4dC1ibHVlXCI+JiN4ZTkyZDs8L2k+XHJcbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImRhdGVQaWNrZXJcIiAoY2xpY2spPVwib3BlbkRhdGVQaWNrZXIoKVwiIHBsYWNlaG9sZGVyPVwiU2VsZWN0IERhdGVcIj5cclxuICAgICAgICAgICAgPGRwLWRhdGUtcGlja2VyICNkYXRlUGlja2VyIHBsYWNlaG9sZGVyPSdTZWxlY3QgRGF0ZScgKGNsaWNrKT1cIm9wZW5EYXRlUGlja2VyKClcIiAoY2xpY2spPVwiY2xvc2VEYXRlcGlja2VyKClcIj48L2RwLWRhdGUtcGlja2VyPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcmxheVwiIChjbGljayk9XCJjbG9zZURhdGVwaWNrZXIoKVwiICpuZ0lmPVwiZGF0ZXBpY2tlck92ZXJsYXlcIj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGltZS1waWNrZXIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWVuZCB2eC1wci0zXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIHJlYWRvbmx5IGFyaWEtbGFiZWw9XCIxMmhyIGZvcm1hdFwiIFtuZ3hUaW1lcGlja2VyXT1cImRhaWx5VGltZVwiIHBsYWNlaG9sZGVyPVwiMTE6NTkgUE1cIj5cclxuICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xMiB2eC10eHQtYmx1ZVwiPiYjeGU5NTU7PC9pPlxyXG4gICAgICAgICAgICA8bmd4LW1hdGVyaWFsLXRpbWVwaWNrZXIgI2RhaWx5VGltZT48L25neC1tYXRlcmlhbC10aW1lcGlja2VyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWItMVwiPlJFQVNTRVNTTUVOVCBFTUFJTCBOT1RJRklDQVRJT046PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWRpYWxvZy1vbmUtdGltZS1pdGVtIHZ4LW1iLTVcIj5cclxuICAgICAgICA8YXBwLWZyZXF1ZW5jeS1kaWFsb2ctZHVlLWRhdGU+PC9hcHAtZnJlcXVlbmN5LWRpYWxvZy1kdWUtZGF0ZT5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4gLS0+XHJcblxyXG48ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWRpYWxvZy1vbmUtdGltZVwiICpuZ0lmPVwidHJ1ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LW1iLTFcIj5SRUFTU0VTU01FTlQgRlJFUVVFTkNZOjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1kaWFsb2ctb25lLXRpbWUtaXRlbSB2eC1wLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtbWItNVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLXBpY2tlclwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIGNhbGVuZGFyLWljb24gdngtZnMtMTQgdngtdHh0LWJsdWVcIj4mI3hlOTJkOzwvaT5cclxuICAgICAgICAgICAgPCEtLSA8aW5wdXQgY2xhc3M9XCJkYXRlUGlja2VyXCIgKGNsaWNrKT1cIm9wZW5EYXRlUGlja2VyKClcIiBwbGFjZWhvbGRlcj1cIlNlbGVjdCBEYXRlXCI+IC0tPlxyXG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJkYXRlUGlja2VyXCIgdHlwZT1cInRleHRcIiBbdmFsdWVdPVwidG9kYXlEYXRlIHwgZGF0ZTogJ2RkIE1NTSB5eXl5J1wiIFtwbGFjZWhvbGRlcl09XCJ0b2RheURhdGUgfCBkYXRlOiAnZGQgTU1NIHl5eXknXCIgKGNsaWNrKT1cIm9wZW5EYXRlUGlja2VyKClcIiByZWFkb25seT5cclxuICAgICAgICAgICAgPCEtLSA8ZHAtZGF0ZS1waWNrZXIgI2RhdGVQaWNrZXIgcGxhY2Vob2xkZXI9J1NlbGVjdCBEYXRlJyAoY2xpY2spPVwib3BlbkRhdGVQaWNrZXIoKVwiIChjbGljayk9XCJjbG9zZURhdGVwaWNrZXIoKVwiPjwvZHAtZGF0ZS1waWNrZXI+IC0tPlxyXG4gICAgICAgICAgICA8ZHAtZGF0ZS1waWNrZXJcclxuICAgICAgICAgICAgICAgICNkYXRlUGlja2VyXHJcbiAgICAgICAgICAgICAgICBbaWRdPVwiJ3N0YXJ0LWRhdGUtJyArIDZcIlxyXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInRvZGF5RGF0ZSB8IGRhdGU6ICdkZCBNTU0geXl5eSdcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZERhdGVcIlxyXG4gICAgICAgICAgICAgICAgW2NvbmZpZ109XCJkYXRlQ29uZmlnXCJcclxuICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJvcGVuRGF0ZVBpY2tlcigpO2RhdGVDaGFuZ2UoJGV2ZW50KTsgc2hvd0RhdGVFcnJvciA9IGZhbHNlOyBkYXRlcGlja2VyT3ZlcmxheSA9IGZhbHNlXCI+XHJcbiAgICAgICAgICAgIDwvZHAtZGF0ZS1waWNrZXI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVybGF5XCIgKGNsaWNrKT1cImNsb3NlRGF0ZXBpY2tlcigpXCIgKm5nSWY9XCJkYXRlcGlja2VyT3ZlcmxheVwiPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLXBpY2tlciB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktZW5kIHZ4LXByLTNcIj5cclxuICAgICAgICAgICAgPCEtLSA8aW5wdXQgdHlwZT1cInRleHRcIiByZWFkb25seSBhcmlhLWxhYmVsPVwiMTJociBmb3JtYXRcIiBbbmd4VGltZXBpY2tlcl09XCJkYWlseVRpbWVcIiBwbGFjZWhvbGRlcj1cIjExOjU5IFBNXCI+IC0tPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiByZWFkb25seSBhcmlhLWxhYmVsPVwiMTJociBmb3JtYXRcIiBbKG5nTW9kZWwpXT1cIm9uZVRpbWVTdGFydFRpbWVcIiAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgVGltZVwiPlxyXG4gICAgICAgICAgICA8IS0tIDxpIGNsYXNzPVwiaWNvbnMgdngtZnMtMTIgdngtdHh0LWJsdWVcIj4mI3hlOTU1OzwvaT4gLS0+XHJcbiAgICAgICAgICAgIDxuZ3gtbWF0ZXJpYWwtdGltZXBpY2tlciBbaG91cnNPbmx5XT1cInRydWVcIiAodGltZUNoYW5nZWQpPVwib25UaW1lQ2hhbmdlZCgkZXZlbnQpXCIgI2RhaWx5VGltZT48L25neC1tYXRlcmlhbC10aW1lcGlja2VyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTEgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtbWItMVwiPlJFQVNTRVNTTUVOVCBFTUFJTCBOT1RJRklDQVRJT046PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWRpYWxvZy1vbmUtdGltZS1pdGVtIHZ4LW1iLTVcIj5cclxuICAgICAgICA8YXBwLWZyZXF1ZW5jeS1kaWFsb2ctZHVlLWRhdGVcclxuICAgICAgICAgICAgW2lkXSA9ICc2J1xyXG4gICAgICAgICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgICAgICAgW3BhZ2VOYW1lXT1cIidvbmUtdGltZSdcIlxyXG4gICAgICAgICAgICBbaXNEZWFjdGl2YXRlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIFtjb21wbGV0ZWRWYWx1ZV09XCJvbmVUaW1lV2luZG93XCJcclxuICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvYXBwLWZyZXF1ZW5jeS1kaWFsb2ctZHVlLWRhdGU+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWRpYWxvZy1vbmUtdGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2ZyZXF1ZW5jeS1kaWFsb2cvZnJlcXVlbmN5LWRpYWxvZy1vbmUtdGltZS9mcmVxdWVuY3ktZGlhbG9nLW9uZS10aW1lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5LWRpYWxvZy9mcmVxdWVuY3ktZGlhbG9nLW9uZS10aW1lL2ZyZXF1ZW5jeS1kaWFsb2ctb25lLXRpbWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxNQUFNLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQU9uQyxNQUFNLE9BQU8sK0JBQStCO0lBMkIxQyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXpCdEQsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLHFCQUFnQixHQUFRLFVBQVUsQ0FBQztRQUNuQyxvQkFBZSxHQUFHLEVBQUUsQ0FBQztRQUVyQixjQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FDOUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FDL0MsQ0FBQztRQUVGLGVBQVUsR0FBa0IsRUFBRSxDQUFDO1FBQy9CLG1CQUFjLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FDbkQsSUFBSSxJQUFJLEVBQUUsRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FDL0MsQ0FBQztRQUNGLFlBQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTFFLHFCQUFnQixHQUFXLENBQUMsQ0FBQztRQUM3QixzQkFBaUIsR0FBVyxFQUFFLENBQUM7UUFHdEIsU0FBSSxHQUFRLEVBQUUsQ0FBQztRQUVkLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFFSSxDQUFDO0lBRTFELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUM7UUFDbkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCO2FBQzNDLGNBQWMsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQy9ELEVBQUUsT0FBTyxFQUFFO1lBQ1gsRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQy9ELEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUN0QixDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNDLElBQ0UsSUFBSSxDQUFDLGFBQWEsRUFBRSxPQUFPLElBQUksRUFBRTtZQUNqQyxJQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUNqRDtZQUNBLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQzFCO2FBQU07WUFDTCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxpQkFBaUI7UUFDZixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUN0QixHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLEVBQ3pGLG9CQUFvQixDQUNyQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7UUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQztRQUNoRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUM7UUFDdkQsSUFBSSxDQUFDLGVBQWU7WUFDbEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksSUFBSSxDQUM1QixNQUFNLENBQ0osSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUNsRCxxQkFBcUIsQ0FDdEIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQ2hCLENBQUM7UUFDRixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUNELGVBQWU7UUFDYixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBVTtRQUN0QixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFO1lBQzlCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQztTQUNsQzthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1NBQ2xDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFVO1FBQzNCLElBQUksS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxhQUFhLEVBQUU7WUFDaEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssRUFBRSxLQUFLLENBQUM7U0FDdkM7UUFDRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBVTtRQUMxQixJQUFJLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssV0FBVyxFQUFFO1lBQzlDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1NBQ3JDO1FBQ0QsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFhO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsSUFBSSxPQUFPLElBQUksQ0FBQyxjQUFjLElBQUksUUFBUSxFQUFFO1lBQzFDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUM1RDtRQUNELElBQUksU0FBUyxHQUFHLE1BQU0sQ0FDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUU7WUFDM0IsR0FBRztZQUNILENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDcEMsR0FBRztZQUNILElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFO1lBQ2pDLEdBQUc7WUFDSCxJQUFJLENBQUMsZ0JBQWdCLEVBQ3ZCLG9CQUFvQixDQUNyQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1QsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQzthQUM1QyxNQUFNLENBQUMsc0JBQXNCLENBQUM7YUFDOUIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDL0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUUxQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDckMsSUFBSSxTQUFTLEdBQUcsTUFBTSxDQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRTtZQUMzQixHQUFHO1lBQ0gsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNwQyxHQUFHO1lBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUU7WUFDakMsR0FBRztZQUNILElBQUksQ0FBQyxnQkFBZ0IsRUFDdkIsb0JBQW9CLENBQ3JCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDVCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxJQUFJO2FBQzlCLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQzthQUM5QixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssRUFBRSxFQUFFO1lBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNsRDtRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVc7WUFDNUIsV0FBVztnQkFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRTtnQkFDeEIsR0FBRztnQkFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzFDLEdBQUc7Z0JBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUU7Z0JBQzVCLE1BQU07Z0JBQ04sSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTztZQUN4QixDQUFDO2dCQUNELEdBQUc7Z0JBQ0gsQ0FBQyxJQUFJLENBQUMsZUFBZSxLQUFLLEVBQUU7b0JBQzFCLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCO3lCQUNsQixjQUFjLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQzt3QkFDL0QsRUFBRSxXQUFXLEVBQUU7d0JBQ2pCLEdBQUc7d0JBQ0gsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCOzZCQUNuQixjQUFjLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQzs0QkFDL0QsRUFBRSxRQUFRLEVBQUU7NEJBQ1osQ0FBQyxDQUFDO3dCQUNKLEdBQUc7d0JBQ0gsSUFBSSxDQUFDLGdCQUFnQjs2QkFDbEIsY0FBYyxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7NEJBQy9ELEVBQUUsT0FBTyxFQUFFO29CQUNmLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDcEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUMvQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDdEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUNwRSxJQUFJLENBQUMsZ0JBQWdCLENBQ3RCLENBQUM7UUFDRixJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQzdELElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQ25FLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9DLE9BQU8sQ0FBQyxHQUFHLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzdELENBQUM7OzRIQWxNVSwrQkFBK0I7Z0hBQS9CLCtCQUErQiw0UkNqQjVDLGcrRUF1Q0E7MkZEdEJhLCtCQUErQjtrQkFMM0MsU0FBUzsrQkFDRSwrQkFBK0I7dUdBS2hCLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWTtnQkFxQmQsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXRlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnbmcyLWRhdGUtcGlja2VyJztcclxuaW1wb3J0IHsgRnJlcXVlbmN5U2VydmljZSB9IGZyb20gJy4uLy4uL2ZyZXF1ZW5jeS9mcmVxdWVuY3kuc2VydmljZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50L21vbWVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktZGlhbG9nLW9uZS10aW1lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZnJlcXVlbmN5LWRpYWxvZy1vbmUtdGltZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZnJlcXVlbmN5LWRpYWxvZy1vbmUtdGltZS5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnJlcXVlbmN5RGlhbG9nT25lVGltZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnZGF0ZVBpY2tlcicpIGRhdGVQaWNrZXIhOiBEYXRlUGlja2VyQ29tcG9uZW50O1xyXG4gIGRhdGVwaWNrZXJPdmVybGF5ID0gZmFsc2U7XHJcbiAgc2hvd0RhdGVFcnJvciA9IGZhbHNlO1xyXG4gIG9uZVRpbWVGYWlsZWQgPSA1O1xyXG4gIG9uZVRpbWVXaW5kb3cgPSAxNTtcclxuICBvbmVUaW1lU3RhcnRUaW1lOiBhbnkgPSAnMTE6MDAgcG0nO1xyXG4gIG9uZVRpbWVTZWxlY3RlZCA9ICcnO1xyXG4gIGRhdGVDb25maWc6IGFueTtcclxuICB0b2RheURhdGUgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UuY2hhbmdlVGltZVpvbmUoXHJcbiAgICBuZXcgRGF0ZSgpPy5zZXREYXRlKG5ldyBEYXRlKCk/LmdldERhdGUoKSArIDEpXHJcbiAgKTtcclxuICBmcmVxdWVuY3lJbmZvOiBhbnk7XHJcbiAgc2hvcnRNb250aDogQXJyYXk8c3RyaW5nPiA9IFtdO1xyXG4gIGRhdGVPYmplY3REYXRhID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmNoYW5nZVRpbWVab25lKFxyXG4gICAgbmV3IERhdGUoKT8uc2V0RGF0ZShuZXcgRGF0ZSgpPy5nZXREYXRlKCkgKyAxKVxyXG4gICk7XHJcbiAgbWluRGF0ZSA9IG1vbWVudChEYXRlLm5vdygpKS5mb3JtYXQoJ1lZWVktTU0tREQgSEg6bW06c3MnKT8uc3BsaXQoJyAnKVswXTtcclxuICBzZWxlY3RlZERhdGU6IGFueTtcclxuICBvbmVUaW1lRXh0ZW5zaW9uOiBudW1iZXIgPSA1O1xyXG4gIG9uZVRpbWVXaW5kb3dPcGVuOiBudW1iZXIgPSAxNTtcclxuXHJcbiAgQElucHV0KCkgZnJlcXVlbmN5RGF0YTogYW55O1xyXG4gIEBJbnB1dCgpIG1vZGU6IGFueSA9ICcnO1xyXG5cclxuICBAT3V0cHV0KCkgZnJlcXVlbmN5RGV0YWlscyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZyZXF1ZW5jeVNlcnZpY2U6IEZyZXF1ZW5jeVNlcnZpY2UpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRlQ29uZmlnID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLmRhdGVDb25maWc7XHJcbiAgICB0aGlzLmRhdGVDb25maWdbJ21pbiddID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlXHJcbiAgICAgIC5jaGFuZ2VUaW1lWm9uZShuZXcgRGF0ZSgpPy5zZXREYXRlKG5ldyBEYXRlKCk/LmdldERhdGUoKSArIDEpKVxyXG4gICAgICA/LmdldERhdGUoKVxyXG4gICAgICA/LnRvU3RyaW5nKCk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8gPSBPYmplY3QuYXNzaWduKHRoaXMuZnJlcXVlbmN5U2VydmljZS5mcmVxdWVuY3lJbmZvKTtcclxuICAgIHRoaXMuc2hvcnRNb250aCA9IHRoaXMuZnJlcXVlbmN5U2VydmljZS5tb250aEFycmF5Lm1hcCgobW9udGgpID0+XHJcbiAgICAgIG1vbnRoLnN1YnN0cmluZygwLCAzKVxyXG4gICAgKTtcclxuICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbW9tZW50KHRoaXMudG9kYXlEYXRlKTtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5mcmVxdWVuY3lEYXRhPy5wYXR0ZXJuICE9ICcnICYmXHJcbiAgICAgIHRoaXMuZnJlcXVlbmN5RGF0YT8ucGF0dGVybi5zcGxpdCgnficpWzBdID09PSAnMCdcclxuICAgICkge1xyXG4gICAgICB0aGlzLnBvcHVsYXRlRnJlcXVlbmN5KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmdldE9uZVRpbWVGcmVxdWVuY3koKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHBvcHVsYXRlRnJlcXVlbmN5KCkge1xyXG4gICAgY29uc3QgcGF0dGVybkluZm8gPSB0aGlzLmZyZXF1ZW5jeURhdGE/LnBhdHRlcm4uc3BsaXQoJ34nKTtcclxuICAgIGNvbnN0IHRpbWVTdGFtcCA9IG1vbWVudChcclxuICAgICAgYCR7cGF0dGVybkluZm9bM119LSR7cGF0dGVybkluZm9bMl19LSR7cGF0dGVybkluZm9bMV19ICR7dGhpcy5mcmVxdWVuY3lEYXRhPy5mYWlsZWRUaW1lfWAsXHJcbiAgICAgICdERC1NTS1ZWVlZIEhIOm1tIGEnXHJcbiAgICApLnVuaXgoKTtcclxuICAgIHRoaXMudG9kYXlEYXRlID0gbmV3IERhdGUodGltZVN0YW1wICogMTAwMCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IG1vbWVudCh0aGlzLnRvZGF5RGF0ZSk7XHJcbiAgICB0aGlzLm9uZVRpbWVGYWlsZWQgPSB0aGlzLmZyZXF1ZW5jeURhdGE/LmZhaWxlZDtcclxuICAgIHRoaXMub25lVGltZVdpbmRvdyA9IHRoaXMuZnJlcXVlbmN5RGF0YT8ud2luZG93O1xyXG4gICAgdGhpcy5vbmVUaW1lU3RhcnRUaW1lID0gdGhpcy5mcmVxdWVuY3lEYXRhPy5mYWlsZWRUaW1lO1xyXG4gICAgdGhpcy5vbmVUaW1lU2VsZWN0ZWQgPVxyXG4gICAgICBwYXR0ZXJuSW5mb1sxXSArICd+JyArIHBhdHRlcm5JbmZvWzJdICsgJ34nICsgcGF0dGVybkluZm9bM107XHJcbiAgICB0aGlzLmRhdGVPYmplY3REYXRhID0gbmV3IERhdGUoXHJcbiAgICAgIG1vbWVudChcclxuICAgICAgICB0aGlzLm9uZVRpbWVTZWxlY3RlZCArICcgJyArIHRoaXMub25lVGltZVN0YXJ0VGltZSxcclxuICAgICAgICAnWVlZWX5NTX5ERCBISDptbTpzcydcclxuICAgICAgKS51bml4KCkgKiAxMDAwXHJcbiAgICApO1xyXG4gICAgdGhpcy5nZXRPbmVUaW1lRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBvcGVuRGF0ZVBpY2tlcigpIHtcclxuICAgIGNvbnN0IG5ld0RhdGUgPSBtb21lbnQodGhpcy50b2RheURhdGUpO1xyXG4gICAgdGhpcy5kYXRlUGlja2VyPy5hcGk/Lm1vdmVDYWxlbmRhclRvKG5ld0RhdGUpO1xyXG4gICAgdGhpcy5kYXRlUGlja2VyPy5hcGk/Lm9wZW4oKTtcclxuICAgIHRoaXMuZGF0ZXBpY2tlck92ZXJsYXkgPSB0cnVlO1xyXG4gIH1cclxuICBjbG9zZURhdGVwaWNrZXIoKSB7XHJcbiAgICB0aGlzLmRhdGVQaWNrZXIuYXBpLmNsb3NlKCk7XHJcbiAgICB0aGlzLmRhdGVwaWNrZXJPdmVybGF5ID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBvblZhbHVlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudC50eXBlID09PSAnY29tcGxldGVkJykge1xyXG4gICAgICB0aGlzLm9uZVRpbWVXaW5kb3cgPSBldmVudC52YWx1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub25lVGltZUZhaWxlZCA9IGV2ZW50LnZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jbG9zZURhdGVwaWNrZXIoKTtcclxuICAgIHRoaXMuZ2V0T25lVGltZUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgb25XaW5kb3dPcGVuQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChldmVudD8udHlwZT8udG9Mb3dlckNhc2UoKSA9PT0gJ3dpbmRvdyBvcGVuJykge1xyXG4gICAgICB0aGlzLm9uZVRpbWVXaW5kb3dPcGVuID0gZXZlbnQ/LnZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRPbmVUaW1lRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBvbkV4dGVuc2lvbkNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQ/LnR5cGU/LnRvTG93ZXJDYXNlKCkgPT09ICdleHRlbnNpb24nKSB7XHJcbiAgICAgIHRoaXMub25lVGltZUV4dGVuc2lvbiA9IGV2ZW50LnZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRPbmVUaW1lRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBvblRpbWVDaGFuZ2VkKGV2ZW50OiBzdHJpbmcpIHtcclxuICAgIHRoaXMub25lVGltZVN0YXJ0VGltZSA9IGV2ZW50O1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLmRhdGVPYmplY3REYXRhID09ICdvYmplY3QnKSB7XHJcbiAgICAgIHRoaXMuZGF0ZU9iamVjdERhdGEgPSBtb21lbnQodGhpcy5kYXRlT2JqZWN0RGF0YSkudG9EYXRlKCk7XHJcbiAgICB9XHJcbiAgICBsZXQgdGltZVN0YW1wID0gbW9tZW50KFxyXG4gICAgICB0aGlzLmRhdGVPYmplY3REYXRhLmdldERhdGUoKSArXHJcbiAgICAgICAgJy0nICtcclxuICAgICAgICAodGhpcy5kYXRlT2JqZWN0RGF0YS5nZXRNb250aCgpICsgMSkgK1xyXG4gICAgICAgICctJyArXHJcbiAgICAgICAgdGhpcy5kYXRlT2JqZWN0RGF0YS5nZXRGdWxsWWVhcigpICtcclxuICAgICAgICAnICcgK1xyXG4gICAgICAgIHRoaXMub25lVGltZVN0YXJ0VGltZSxcclxuICAgICAgJ0RELU1NLVlZWVkgaGg6bW0gYSdcclxuICAgICkudW5peCgpO1xyXG4gICAgdGhpcy5vbmVUaW1lU2VsZWN0ZWQgPSBtb21lbnQodGltZVN0YW1wICogMTAwMClcclxuICAgICAgLmZvcm1hdCgnWVlZWX5NTX5ERFRISDptbTpzc1onKVxyXG4gICAgICAuc3BsaXQoJ1QnKVswXTtcclxuICAgIHRoaXMuZ2V0T25lVGltZUZyZXF1ZW5jeSgpO1xyXG4gIH1cclxuXHJcbiAgZGF0ZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IGV2ZW50LmRhdGU7XHJcbiAgICBjb25zdCBuZXdEYXRlID0gbW9tZW50KGV2ZW50LmRhdGUpLnVuaXgoKTtcclxuXHJcbiAgICB0aGlzLmRhdGVPYmplY3REYXRhID0gbmV3IERhdGUobmV3RGF0ZSAqIDEwMDApO1xyXG4gICAgdGhpcy50b2RheURhdGUgPSB0aGlzLmRhdGVPYmplY3REYXRhO1xyXG4gICAgbGV0IHRpbWVTdGFtcCA9IG1vbWVudChcclxuICAgICAgdGhpcy5kYXRlT2JqZWN0RGF0YS5nZXREYXRlKCkgK1xyXG4gICAgICAgICctJyArXHJcbiAgICAgICAgKHRoaXMuZGF0ZU9iamVjdERhdGEuZ2V0TW9udGgoKSArIDEpICtcclxuICAgICAgICAnLScgK1xyXG4gICAgICAgIHRoaXMuZGF0ZU9iamVjdERhdGEuZ2V0RnVsbFllYXIoKSArXHJcbiAgICAgICAgJyAnICtcclxuICAgICAgICB0aGlzLm9uZVRpbWVTdGFydFRpbWUsXHJcbiAgICAgICdERC1NTS1ZWVlZIGhoOm1tIGEnXHJcbiAgICApLnVuaXgoKTtcclxuICAgIHRoaXMub25lVGltZVNlbGVjdGVkID0gZXZlbnQuZGF0ZVxyXG4gICAgICAuZm9ybWF0KCdZWVlZfk1NfkREVEhIOm1tOnNzWicpXHJcbiAgICAgIC5zcGxpdCgnVCcpWzBdO1xyXG4gICAgdGhpcy5nZXRPbmVUaW1lRnJlcXVlbmN5KCk7XHJcbiAgfVxyXG5cclxuICBnZXRPbmVUaW1lRnJlcXVlbmN5KCkge1xyXG4gICAgaWYgKHRoaXMub25lVGltZVNlbGVjdGVkICE9PSAnJykge1xyXG4gICAgICB0aGlzLnRvZGF5RGF0ZSA9IG1vbWVudCh0aGlzLnRvZGF5RGF0ZSkudG9EYXRlKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IG1vbWVudCh0aGlzLnRvZGF5RGF0ZSk7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGxhY2Vob2xkZXIgPVxyXG4gICAgICAnT25lIFRpbWUgJyArXHJcbiAgICAgIHRoaXMudG9kYXlEYXRlLmdldERhdGUoKSArXHJcbiAgICAgICcgJyArXHJcbiAgICAgIHRoaXMuc2hvcnRNb250aFt0aGlzLnRvZGF5RGF0ZS5nZXRNb250aCgpXSArXHJcbiAgICAgICcgJyArXHJcbiAgICAgIHRoaXMudG9kYXlEYXRlLmdldEZ1bGxZZWFyKCkgK1xyXG4gICAgICAnIGJ5ICcgK1xyXG4gICAgICB0aGlzLm9uZVRpbWVTdGFydFRpbWU7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucGF0dGVybiA9XHJcbiAgICAgIDAgK1xyXG4gICAgICAnficgK1xyXG4gICAgICAodGhpcy5vbmVUaW1lU2VsZWN0ZWQgPT09ICcnXHJcbiAgICAgICAgPyB0aGlzLmZyZXF1ZW5jeVNlcnZpY2VcclxuICAgICAgICAgICAgLmNoYW5nZVRpbWVab25lKG5ldyBEYXRlKCk/LnNldERhdGUobmV3IERhdGUoKT8uZ2V0RGF0ZSgpICsgMSkpXHJcbiAgICAgICAgICAgID8uZ2V0RnVsbFllYXIoKSArXHJcbiAgICAgICAgICAnficgK1xyXG4gICAgICAgICAgKHRoaXMuZnJlcXVlbmN5U2VydmljZVxyXG4gICAgICAgICAgICAuY2hhbmdlVGltZVpvbmUobmV3IERhdGUoKT8uc2V0RGF0ZShuZXcgRGF0ZSgpPy5nZXREYXRlKCkgKyAxKSlcclxuICAgICAgICAgICAgPy5nZXRNb250aCgpICtcclxuICAgICAgICAgICAgMSkgK1xyXG4gICAgICAgICAgJ34nICtcclxuICAgICAgICAgIHRoaXMuZnJlcXVlbmN5U2VydmljZVxyXG4gICAgICAgICAgICAuY2hhbmdlVGltZVpvbmUobmV3IERhdGUoKT8uc2V0RGF0ZShuZXcgRGF0ZSgpPy5nZXREYXRlKCkgKyAxKSlcclxuICAgICAgICAgICAgPy5nZXREYXRlKClcclxuICAgICAgICA6IHRoaXMub25lVGltZVNlbGVjdGVkKTtcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby5jYXNlID0gJ29uZVRpbWUnO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZEFmdGVyID0gdGhpcy5vbmVUaW1lRmFpbGVkO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLndpbmRvdyA9IHRoaXMub25lVGltZVdpbmRvdztcclxuICAgIHRoaXMuZnJlcXVlbmN5SW5mby50aW1lSW4xMmhyID0gdGhpcy5vbmVUaW1lU3RhcnRUaW1lO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLnRpbWVJbjI0SHIgPSB0aGlzLmZyZXF1ZW5jeVNlcnZpY2UudGltZUZyb20xMmhUbzI0aChcclxuICAgICAgdGhpcy5vbmVUaW1lU3RhcnRUaW1lXHJcbiAgICApO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF90aW1lX3V0YyA9IDA7XHJcbiAgICB0aGlzLmZyZXF1ZW5jeUluZm8ucmVwb3J0SWQgPSAwO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmZhaWxlZF9hZnRlcl9kYXlzID0gdGhpcy5vbmVUaW1lRXh0ZW5zaW9uO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lJbmZvLmNhbl9hc3Nlc3NfYmVmb3JlX2RheXMgPSB0aGlzLm9uZVRpbWVXaW5kb3dPcGVuO1xyXG4gICAgdGhpcy5mcmVxdWVuY3lEZXRhaWxzLmVtaXQodGhpcy5mcmVxdWVuY3lJbmZvKTtcclxuICAgIGNvbnNvbGUubG9nKCcgdGhpcy5mcmVxdWVuY3lJbmZvID09PicsIHRoaXMuZnJlcXVlbmN5SW5mbyk7XHJcbiAgfVxyXG59XHJcbiIsIlxyXG48ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWRpYWxvZy1vbmUtdGltZVwiICpuZ0lmPVwidHJ1ZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHQgdngtdHQtdXBwZXJjYXNlIHZ4LW1iLTFcIj5SRUFTU0VTU01FTlQgRlJFUVVFTkNZOjwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1kaWFsb2ctb25lLXRpbWUtaXRlbSB2eC1wLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtbWItNVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlLXBpY2tlclwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIGNhbGVuZGFyLWljb24gdngtZnMtMTQgdngtdHh0LWJsdWVcIj4mI3hlOTJkOzwvaT5cclxuICAgICAgICAgICAgPCEtLSA8aW5wdXQgY2xhc3M9XCJkYXRlUGlja2VyXCIgKGNsaWNrKT1cIm9wZW5EYXRlUGlja2VyKClcIiBwbGFjZWhvbGRlcj1cIlNlbGVjdCBEYXRlXCI+IC0tPlxyXG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJkYXRlUGlja2VyXCIgdHlwZT1cInRleHRcIiBbdmFsdWVdPVwidG9kYXlEYXRlIHwgZGF0ZTogJ2RkIE1NTSB5eXl5J1wiIFtwbGFjZWhvbGRlcl09XCJ0b2RheURhdGUgfCBkYXRlOiAnZGQgTU1NIHl5eXknXCIgKGNsaWNrKT1cIm9wZW5EYXRlUGlja2VyKClcIiByZWFkb25seT5cclxuICAgICAgICAgICAgPCEtLSA8ZHAtZGF0ZS1waWNrZXIgI2RhdGVQaWNrZXIgcGxhY2Vob2xkZXI9J1NlbGVjdCBEYXRlJyAoY2xpY2spPVwib3BlbkRhdGVQaWNrZXIoKVwiIChjbGljayk9XCJjbG9zZURhdGVwaWNrZXIoKVwiPjwvZHAtZGF0ZS1waWNrZXI+IC0tPlxyXG4gICAgICAgICAgICA8ZHAtZGF0ZS1waWNrZXJcclxuICAgICAgICAgICAgICAgICNkYXRlUGlja2VyXHJcbiAgICAgICAgICAgICAgICBbaWRdPVwiJ3N0YXJ0LWRhdGUtJyArIDZcIlxyXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInRvZGF5RGF0ZSB8IGRhdGU6ICdkZCBNTU0geXl5eSdcIlxyXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZERhdGVcIlxyXG4gICAgICAgICAgICAgICAgW2NvbmZpZ109XCJkYXRlQ29uZmlnXCJcclxuICAgICAgICAgICAgICAgIChvblNlbGVjdCk9XCJvcGVuRGF0ZVBpY2tlcigpO2RhdGVDaGFuZ2UoJGV2ZW50KTsgc2hvd0RhdGVFcnJvciA9IGZhbHNlOyBkYXRlcGlja2VyT3ZlcmxheSA9IGZhbHNlXCI+XHJcbiAgICAgICAgICAgIDwvZHAtZGF0ZS1waWNrZXI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvdmVybGF5XCIgKGNsaWNrKT1cImNsb3NlRGF0ZXBpY2tlcigpXCIgKm5nSWY9XCJkYXRlcGlja2VyT3ZlcmxheVwiPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lLXBpY2tlciB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktZW5kIHZ4LXByLTNcIj5cclxuICAgICAgICAgICAgPCEtLSA8aW5wdXQgdHlwZT1cInRleHRcIiByZWFkb25seSBhcmlhLWxhYmVsPVwiMTJociBmb3JtYXRcIiBbbmd4VGltZXBpY2tlcl09XCJkYWlseVRpbWVcIiBwbGFjZWhvbGRlcj1cIjExOjU5IFBNXCI+IC0tPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiByZWFkb25seSBhcmlhLWxhYmVsPVwiMTJociBmb3JtYXRcIiBbKG5nTW9kZWwpXT1cIm9uZVRpbWVTdGFydFRpbWVcIiAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgVGltZVwiPlxyXG4gICAgICAgICAgICA8IS0tIDxpIGNsYXNzPVwiaWNvbnMgdngtZnMtMTIgdngtdHh0LWJsdWVcIj4mI3hlOTU1OzwvaT4gLS0+XHJcbiAgICAgICAgICAgIDxuZ3gtbWF0ZXJpYWwtdGltZXBpY2tlciBbaG91cnNPbmx5XT1cInRydWVcIiAodGltZUNoYW5nZWQpPVwib25UaW1lQ2hhbmdlZCgkZXZlbnQpXCIgI2RhaWx5VGltZT48L25neC1tYXRlcmlhbC10aW1lcGlja2VyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8YXBwLWZyZXF1ZW5jeS1kaWFsb2ctZHVlLWRhdGVcclxuICAgICAgW2lkXSA9ICc2J1xyXG4gICAgICBbbW9kZV09XCJtb2RlXCJcclxuICAgICAgW3BhZ2VOYW1lXT1cIidvbmUtdGltZSdcIlxyXG4gICAgICBbaXNEZWFjdGl2YXRlZF09XCJmYWxzZVwiXHJcbiAgICAgIFtjb21wbGV0ZWRWYWx1ZV09XCJvbmVUaW1lV2luZG93XCJcclxuICAgICAgW3dpbmRvd0Nsb3Nlc109XCJvbmVUaW1lRXh0ZW5zaW9uXCJcclxuICAgICAgW2Fzc2Vzc1dpbmRvd09wZW5dPVwib25lVGltZVdpbmRvd09wZW5cIlxyXG4gICAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgKHdpbmRvd09wZW5DaGFuZ2UpPVwib25XaW5kb3dPcGVuQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAoZXh0ZW5zaW9uVmFsdWVDaGFuZ2UpPVwib25FeHRlbnNpb25DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICA+PC9hcHAtZnJlcXVlbmN5LWRpYWxvZy1kdWUtZGF0ZT5cclxuPC9kaXY+XHJcbiJdfQ==
|