@progressio_resources/gravity-design-system 3.6.11 → 3.6.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/gravity-chip-group/gravity-chip-group.component.mjs +3 -3
- package/esm2022/lib/components/gravity-date-picker/components/day-calendar/day-calendar.component.mjs +25 -23
- package/esm2022/lib/components/gravity-date-picker/components/day-calendar/range-days-calendar.utils.mjs +26 -9
- package/esm2022/lib/components/gravity-date-picker/components/month-calendar/month-calendar.component.mjs +6 -7
- package/esm2022/lib/components/gravity-date-picker/components/year-calendar/year-calendar.component.mjs +6 -7
- package/esm2022/lib/components/gravity-date-picker/gravity-date-picker.component.mjs +5 -6
- package/esm2022/lib/components/gravity-date-picker/shared/date-picker.modal.mjs +1 -1
- package/fesm2022/progressio_resources-gravity-design-system.mjs +59 -41
- package/fesm2022/progressio_resources-gravity-design-system.mjs.map +1 -1
- package/lib/components/gravity-date-picker/components/day-calendar/day-calendar.component.d.ts +4 -7
- package/lib/components/gravity-date-picker/gravity-date-picker.component.d.ts +2 -1
- package/lib/components/gravity-date-picker/shared/date-picker.modal.d.ts +0 -1
- package/package.json +1 -1
- package/src/lib/assets/icon-set/gt-icon-chevron-double-left/gt-icon-chevron-double-left-lg-24.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-chevron-double-left/gt-icon-chevron-double-left-md-16.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-chevron-double-left/gt-icon-chevron-double-left-sm-12.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-chevron-double-left/gt-icon-chevron-double-left-xl-32.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-chevron-double-right/gt-icon-chevron-double-right-lg-24.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-chevron-double-right/gt-icon-chevron-double-right-md-16.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-chevron-double-right/gt-icon-chevron-double-right-sm-12.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-chevron-double-right/gt-icon-chevron-double-right-xl-32.svg +3 -0
- package/src/lib/assets/icon-set/gt-icon-receipt/gt-icon-receipt-lg-24.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-receipt/gt-icon-receipt-md-16.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-receipt/gt-icon-receipt-sm-12.svg +10 -0
- package/src/lib/assets/icon-set/gt-icon-receipt/gt-icon-receipt-xl-32.svg +10 -0
- package/src/lib/assets/json/icons.json +48 -0
|
@@ -21,12 +21,9 @@ export class DayCalendarComponent {
|
|
|
21
21
|
this.navType = 'both';
|
|
22
22
|
this.clearHover = new EventEmitter();
|
|
23
23
|
this.clearSelection = new EventEmitter();
|
|
24
|
-
this.changeMonth = new EventEmitter();
|
|
25
24
|
this.hoverDay = new EventEmitter();
|
|
26
|
-
this.openIntegratedCalendar = new EventEmitter();
|
|
27
25
|
this.selectedRage = new EventEmitter();
|
|
28
26
|
this.calendarResponse = new EventEmitter();
|
|
29
|
-
this.changeMonthYearResponse = new EventEmitter();
|
|
30
27
|
this.endDateError = '';
|
|
31
28
|
this.startDateError = '';
|
|
32
29
|
this.endFieldDisabled = false;
|
|
@@ -44,8 +41,8 @@ export class DayCalendarComponent {
|
|
|
44
41
|
this.onHoverDay = onHoverDay;
|
|
45
42
|
this.onDateKeyup = onDateKeyup;
|
|
46
43
|
this.onClearHover = onClearHover;
|
|
47
|
-
this.calendarDateToDate = calendarDateToDate;
|
|
48
44
|
this.isPeriodAvailable = isPeriodAvailable;
|
|
45
|
+
this.calendarDateToDate = calendarDateToDate;
|
|
49
46
|
}
|
|
50
47
|
get i18n() { return CALENDAR_I18N[this.appearance.language]; }
|
|
51
48
|
get monthsList() { return this.appearance.language === 'en' ? MONTHS_EN : MONTHS_ES; }
|
|
@@ -67,15 +64,22 @@ export class DayCalendarComponent {
|
|
|
67
64
|
}
|
|
68
65
|
processInitDate() {
|
|
69
66
|
if (this.range) {
|
|
70
|
-
|
|
67
|
+
processPreselectedRangeDate(this);
|
|
71
68
|
}
|
|
72
69
|
else if (this.config.initDate instanceof Date) {
|
|
73
70
|
this.currentDate = getStartDate(this.config.initDate);
|
|
74
71
|
this.selectedDay = dateToCalendarDay(this.config.initDate);
|
|
75
72
|
}
|
|
76
73
|
}
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
hasDateSelected(requireBothInRange = false) {
|
|
75
|
+
if (!this.range) {
|
|
76
|
+
return !!this.selectedDay;
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
return requireBothInRange
|
|
80
|
+
? !!this.selectedRangeStart && !!this.selectedRangeEnd
|
|
81
|
+
: !!this.selectedRangeStart || !!this.selectedRangeEnd;
|
|
82
|
+
}
|
|
79
83
|
}
|
|
80
84
|
getDaySelectionClass(day) {
|
|
81
85
|
if (!day.inCurrentMonth)
|
|
@@ -129,28 +133,34 @@ export class DayCalendarComponent {
|
|
|
129
133
|
clearSelectedDate(clearTarget) {
|
|
130
134
|
if (this.range && (clearTarget === 'all' || clearTarget === 'end')) {
|
|
131
135
|
this.endDateError = '';
|
|
132
|
-
this.endDateField.focus();
|
|
133
136
|
this.selectedRangeEnd = null;
|
|
134
137
|
this.startFieldDisabled = false;
|
|
135
138
|
this.endDateField.inputValue = '';
|
|
139
|
+
if (!this.appearance.isMobile) {
|
|
140
|
+
this.endDateField.focus();
|
|
141
|
+
}
|
|
136
142
|
if (this.selectedRangeStart) {
|
|
137
143
|
this.currentDate = calendarDateToDate(this.selectedRangeStart);
|
|
138
144
|
}
|
|
139
145
|
}
|
|
140
146
|
if (this.range && (clearTarget === 'all' || clearTarget === 'start')) {
|
|
141
147
|
this.startDateError = '';
|
|
142
|
-
this.startDateField.focus();
|
|
143
148
|
this.endFieldDisabled = false;
|
|
144
149
|
this.selectedRangeStart = null;
|
|
145
150
|
this.startDateField.inputValue = '';
|
|
151
|
+
if (!this.appearance.isMobile) {
|
|
152
|
+
this.startDateField.focus();
|
|
153
|
+
}
|
|
146
154
|
if (this.selectedRangeEnd) {
|
|
147
155
|
this.currentDate = calendarDateToDate(this.selectedRangeEnd);
|
|
148
156
|
}
|
|
149
157
|
}
|
|
150
158
|
if (this.range && this.selectedRangeStart === null && this.selectedRangeEnd === null) {
|
|
151
159
|
this.focused = 'start';
|
|
152
|
-
this.startDateField.focus();
|
|
153
160
|
this.currentDate = new Date();
|
|
161
|
+
if (!this.appearance.isMobile) {
|
|
162
|
+
this.startDateField.focus();
|
|
163
|
+
}
|
|
154
164
|
}
|
|
155
165
|
this.selectedDay = null;
|
|
156
166
|
this.notification = null;
|
|
@@ -173,14 +183,12 @@ export class DayCalendarComponent {
|
|
|
173
183
|
this.initYear = this.currentDate;
|
|
174
184
|
this.showYearCalendar = false;
|
|
175
185
|
}
|
|
176
|
-
this.changeMonthYearResponse.emit(this.currentDate);
|
|
177
186
|
}
|
|
178
187
|
handleOnClickDropdownLabel(isMonth) {
|
|
179
188
|
this.initMonth = isMonth ? this.currentDate : this.initMonth;
|
|
180
189
|
this.initYear = !isMonth ? this.currentDate : this.initYear;
|
|
181
190
|
this.showMonthCalendar = isMonth;
|
|
182
191
|
this.showYearCalendar = !isMonth;
|
|
183
|
-
this.openIntegratedCalendar.emit();
|
|
184
192
|
}
|
|
185
193
|
getMonthGrid() {
|
|
186
194
|
let week = [];
|
|
@@ -222,19 +230,19 @@ export class DayCalendarComponent {
|
|
|
222
230
|
return grid;
|
|
223
231
|
}
|
|
224
232
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DayCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
225
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DayCalendarComponent, selector: "day-calendar", inputs: { initYear: "initYear", initMonth: "initMonth", config: "config", range: "range", restart: "restart", appyOnClose: "appyOnClose", currentDate: "currentDate", appearance: "appearance", navType: "navType" }, outputs: { clearHover: "clearHover", clearSelection: "clearSelection", changeMonth: "changeMonth", hoverDay: "hoverDay", openIntegratedCalendar: "openIntegratedCalendar", selectedRage: "selectedRage", calendarResponse: "calendarResponse", changeMonthYearResponse: "changeMonthYearResponse" }, viewQueries: [{ propertyName: "endDateField", first: true, predicate: ["endDate"], descendants: true }, { propertyName: "startDateField", first: true, predicate: ["startDate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<section *ngIf=\"showMonthCalendar\">\n <month-calendar\n [config]=\"config\"\n [integratedMode]=\"true\"\n [restart]=\"showMonthCalendar\"\n (response)=\"handleCalendarResponse($event, true)\" [initDate]=\"initMonth\"\n [appearance]=\"{language: appearance.language, isMobile: appearance.isMobile, actions: false, }\">\n </month-calendar>\n</section>\n\n<section *ngIf=\"showYearCalendar\">\n <year-calendar\n [config]=\"config\"\n [integratedMode]=\"true\"\n [restart]=\"showYearCalendar\"\n (response)=\"handleCalendarResponse($event, false)\" [initDate]=\"initYear\"\n [appearance]=\"{language: appearance.language, isMobile: appearance.isMobile, actions: false}\">\n </year-calendar>\n</section>\n\n<div *ngIf=\"!showYearCalendar && !showMonthCalendar\" class=\"gravity-calendar-content\" [class.mobile]=\"appearance.isMobile\">\n <span *ngIf=\"!appearance.isMobile\" class=\"hr-label sm-bold title\">{{range ? i18n.select_range : i18n.select_date}}</span>\n\n <div *ngIf=\"range\" class=\"selected-dates\">\n <gravity-text-field #startDate\n [size]=\"'sm'\"\n [width]=\"'short'\"\n [label]=\"i18n.start_date\"\n [inputContentType]=\"'date'\"\n [supportText]=\"startDateError\"\n [placeholder]=\"i18n.date_placeholder\"\n [clickOnRightIcon]=\"!startFieldDisabled\"\n (keyup)=\"onDateKeyup(this, $event, 'start')\"\n (clickIconRight)=\"clearSelectedDate('start')\"\n (focusout)=\"searchDate(this, startDate.inputValue, 'start')\"\n [iconRight]=\"(selectedRangeStart || startDate.inputValue.length > 9) ? 'unsuccess' : ''\"\n (click)=\"focused = 'start'; selectedRangeStart ? currentDate = calendarDateToDate(selectedRangeStart) : null\"\n [customState]=\"startFieldDisabled ? 'disabled' : startDateError ? 'typed-error' : (startDate.inputValue.length < 1 ? 'default' : 'typing')\"/>\n\n <gravity-text-field #endDate\n [size]=\"'sm'\"\n [width]=\"'short'\"\n [label]=\"i18n.end_date\"\n [inputContentType]=\"'date'\"\n [supportText]=\"endDateError\"\n [placeholder]=\"i18n.date_placeholder\"\n [clickOnRightIcon]=\"!endFieldDisabled\"\n (keyup)=\"onDateKeyup(this, $event, 'end')\"\n (clickIconRight)=\"clearSelectedDate('end')\"\n (focusout)=\"searchDate(this, endDate.inputValue, 'end')\"\n [iconRight]=\"(selectedRangeEnd || endDate.inputValue.length > 9) ? 'unsuccess' : ''\"\n (click)=\" focused = 'end'; selectedRangeEnd ? currentDate = calendarDateToDate(selectedRangeEnd) : null\"\n [customState]=\"endFieldDisabled ? 'disabled' : endDateError ? 'typed-error' : (endDate.inputValue.length < 1 ? 'default' : 'typing')\"/>\n </div>\n\n <section class=\"gravity-calendar-header\" [class.mobile]=\"appearance.isMobile\">\n <gravity-icon-button [type]=\"'primary'\" [size]=\"'sm'\" [icon]=\"'arrow-left'\" [supportText]=\"i18n.preview_month\"\n (clickOnIcon)=\"currentDate = changeDate(-1, currentDate, true); changeMonth.emit(-1)\"\n [state]=\"(navType === 'prev' || navType === 'both') && (appearance.state !== 'disabled') &&\n isPeriodAvailable(currentDate, config.minDate, 'month', 'prev') ? 'active' : 'disabled'\"/>\n\n <div class=\"month-year-label\">\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"monthsList[currentDate.getMonth()]\"\n [state]=\"appearance.state === 'disabled' ? 'inactive' : 'active'\" (onClickLabel)=\"handleOnClickDropdownLabel(true)\"> </gravity-dropdown-label>\n\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"currentDate.getFullYear().toString()\"\n [state]=\"appearance.state === 'disabled' ? 'inactive' : 'active'\" (onClickLabel)=\"handleOnClickDropdownLabel(false)\"> </gravity-dropdown-label>\n </div>\n\n <gravity-icon-button [type]=\"'primary'\" [size]=\"'sm'\" [icon]=\"'arrow-right'\" [supportText]=\"i18n.next_month\"\n (clickOnIcon)=\"currentDate = changeDate(1, currentDate, true); changeMonth.emit(1)\"\n [state]=\"(navType === 'next' || navType === 'both') && (appearance.state !== 'disabled') &&\n isPeriodAvailable(currentDate, config.maxDate, 'month', 'next') ? 'active' : 'disabled'\"/>\n </section>\n\n <section class=\"gravity-calendar-body\" [class.mobile]=\"appearance.isMobile\">\n <section class=\"days-name-line\">\n <div class=\"days-name\">\n <span class=\"hr-body\" [ngClass]=\"appearance.isMobile ? 'md-regular' : 'sm-regular'\"\n *ngFor=\"let day of daysList\"> {{ day }} </span>\n </div>\n\n <div class=\"separator-line\"></div>\n </section>\n\n <section class=\"days-number-selector\">\n <div class=\"days-number-table\">\n <div class=\"week-row\" *ngFor=\"let week of getMonthGrid(); trackBy: trackByWeek\">\n <span class=\"hr-body\" *ngFor=\"let day of week; trackBy: trackByDay\"\n [class.preview]=\"range ? isPreview(this, day) : null\"\n [class.disabled]=\"!day.inCurrentMonth\" [class.today]=\"day.isToday\"\n (mouseenter)=\"range ? onHoverDay(this, day) : null; hoverDay.emit(day)\"\n (mouseleave)=\"range ? onClearHover(this) : null; this.clearHover.emit()\"\n [ngClass]=\"[appearance.isMobile ? 'md-regular' : 'sm-regular',\n appearance.state === 'disabled' ? 'disabled' : getDaySelectionClass(day)]\"\n (click)=\"day.inCurrentMonth ? onSelectDay(day): null\"> {{ day.day }} </span>\n </div>\n </div>\n\n <div *ngIf=\"notification\" class=\"notification\" [class.error]=\"notification.error\">\n <gravity-icon [style.--icon-color]=\"'var(--notification-icon-color)'\" [iconSize]=\"'sm-12'\" [iconName]=\"'information-circle'\"/>\n <span class=\"hr-label sm-regular\">{{notification.text}}</span>\n </div>\n\n <div *ngIf=\"appearance.actions\" class=\"action-section\" >\n <gravity-link [linkText]=\"i18n.clear\" [state]=\"!isDateSelected() ? 'disabled' : 'active'\"\n (click)=\" isDateSelected() ? clearSelectedDate('all') : null\"> </gravity-link>\n\n <gravity-button [size]=\"'sm'\" [type]=\"'tertiary'\" [disabled]=\"!isDateSelected()\"\n (click)=\"isDateSelected() ? applySelectedDate() : null\"> {{i18n.apply}} </gravity-button>\n </div>\n </section>\n </section>\n</div>\n", styles: [":root{--gravity-spacing-none: 0;--gravity-spacing-xxxs: .125rem;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.next-button,.previous-button{cursor:pointer;padding:var(--gravity-spacing-xs);border-radius:var(--gravity-spacing-xs)}.next-button:not(.disabled):hover,.previous-button:not(.disabled):hover{background:var(--bg-button-active-tertiary)}.next-button.disabled,.previous-button.disabled{cursor:default;pointer-events:none;--icon-color: var(--on-bg-disabled)}.separator-line{border-bottom:2px solid var(--divider-menu-active-primary)}.action-section{height:25px;display:flex;align-self:stretch;align-items:center;justify-content:space-between}.gravity-calendar-content{display:flex;align-items:center;justify-items:center;flex-direction:column;gap:var(--gravity-spacing-md)}.gravity-calendar-content .title{color:var(--label-text-empty-enabled-primary)}.gravity-calendar-content .selected-dates{width:100%;display:flex;align-items:flex-start;gap:var(--gravity-spacing-xs)}.gravity-calendar-content .selected-dates ::ng-deep gravity-text-field .gravity-input-field{width:130px}.gravity-calendar-content .gravity-calendar-header{gap:0;width:268px;height:auto;display:flex;padding-top:0;align-items:center;justify-content:space-between}.gravity-calendar-content .gravity-calendar-header .month-year-label{display:flex;gap:var(--gravity-spacing-sm)}.gravity-calendar-content .gravity-calendar-header.mobile,.gravity-calendar-content .gravity-calendar-body{width:100%}.gravity-calendar-content .gravity-calendar-body .days-name-line{display:flex;flex-direction:column;gap:var(--gravity-spacing-xs);padding-bottom:var(--gravity-spacing-xs)}.gravity-calendar-content .gravity-calendar-body .days-name-line .days-name{display:flex;align-self:stretch;justify-content:space-between}.gravity-calendar-content .gravity-calendar-body .days-name-line .days-name span{display:flex;cursor:default;align-items:center;justify-content:center;padding:var(--gravity-spacing-xs);color:var(--text-highlight-primary)}.gravity-calendar-content .gravity-calendar-body .days-name-line .separator-line{width:100%}.gravity-calendar-content .gravity-calendar-body .days-number-selector{display:flex;align-self:stretch;flex-direction:column;gap:var(--gravity-spacing-sm)}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table{display:flex;flex-direction:column}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row{height:25px;display:flex;align-self:stretch}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span{gap:10px;flex:1 0 0;width:31px;height:25px;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--gravity-spacing-xs);color:var(--on-bg-button-pressed-tertiary);border:2px solid var(--bg-calender-primary)}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.sl).today{border-color:var(--bg-number-calendar-hover-primary)}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.disabled):not(.sl):hover{color:var(--on-bg-button-pressed-tertiary);background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.single,.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.start,.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.end{color:var(--on-bg-button-pressed-primary);background:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary)}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.range,.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.disabled).preview{border-radius:0;background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.start,.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.nsl-start:hover{border-radius:var(--gravity-spacing-xs) 0 0 var(--gravity-spacing-xs)}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.end,.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.nsl-end:hover{border-radius:0 var(--gravity-spacing-xs) var(--gravity-spacing-xs) 0}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.in-slt:hover{border-color:var(--bg-button-pressed-primary)!important}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.default{border-radius:0!important;border-color:transparent!important}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.same-sln{border-radius:var(--gravity-spacing-xs)!important}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.disabled{cursor:default;pointer-events:none;color:var(--on-bg-disabled)}.gravity-calendar-content .gravity-calendar-body .days-number-selector .notification{display:flex;align-items:center;align-self:stretch;gap:var(--gravity-spacing-xxs);border-radius:.3125rem;padding:var(--gravity-spacing-xs);color:var(--on-bg-button-active-tertiary);background:var(--bg-button-active-tertiary);--notification-icon-color: var(--on-bg-button-active-tertiary)}.gravity-calendar-content .gravity-calendar-body .days-number-selector .notification.error{color:var(--on-bg-button-active-negative);background:var(--bg-button-active-negative);--notification-icon-color: var(--on-bg-button-active-negative)}.gravity-calendar-content.mobile{width:100%;height:auto}.gravity-calendar-content.mobile .selected-dates ::ng-deep gravity-text-field{width:100%}.gravity-calendar-content.mobile .selected-dates ::ng-deep gravity-text-field .gravity-input-field{min-width:100%}.gravity-calendar-content.mobile .days-name-line .separator-line{width:100%}.gravity-calendar-content.mobile .days-number-selector .days-number-table .week-row,.gravity-calendar-content.mobile .days-number-selector .days-number-table span{height:43px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GravityButtonComponent, selector: "gravity-button", inputs: ["cypressTag", "disabled", "iconName", "isLoading", "showContent", "size", "iconPosition", "customState", "type"] }, { kind: "component", type: i3.GravityIconButtonComponent, selector: "gravity-icon-button", inputs: ["cypressTag", "icon", "supportText", "variant", "size", "type", "state", "badge"], outputs: ["clickOnIcon"] }, { kind: "component", type: i4.GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "iconSize", "hoverIcon", "size", "isCoin"] }, { kind: "component", type: i5.GravityTextFieldComponent, selector: "gravity-text-field", inputs: ["currentLang", "customInputValue", "customState", "cypressTag", "label", "prefix", "required", "supportText", "textFieldType", "clickOnLeftIcon", "clickOnRightIcon", "iconColor", "iconLeft", "iconRight", "autocomplete", "inputContentType", "placeholder", "validations", "size", "width"], outputs: ["clickIconLeft", "clickIconRight", "response"] }, { kind: "component", type: i6.GravityLinkComponent, selector: "gravity-link", inputs: ["linkText", "fontClass", "link", "cypressTag", "iconName", "target", "iconPosition", "iconSize", "state"] }, { kind: "component", type: i7.GravityDropdownLabelComponent, selector: "gravity-dropdown-label", inputs: ["label", "fontClass", "isOpen", "stopPropagation", "size", "state"], outputs: ["onClickLabel"] }, { kind: "component", type: i8.MonthCalendarComponent, selector: "month-calendar", inputs: ["config", "initDate", "restart", "appearance", "integratedMode"], outputs: ["clearSelection", "response"] }, { kind: "component", type: i9.YearCalendarComponent, selector: "year-calendar", inputs: ["config", "initDate", "restart", "appearance", "integratedMode"], outputs: ["clearSelection", "response"] }] }); }
|
|
233
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DayCalendarComponent, selector: "day-calendar", inputs: { initYear: "initYear", initMonth: "initMonth", range: "range", config: "config", restart: "restart", appyOnClose: "appyOnClose", currentDate: "currentDate", appearance: "appearance", navType: "navType" }, outputs: { clearHover: "clearHover", clearSelection: "clearSelection", hoverDay: "hoverDay", selectedRage: "selectedRage", calendarResponse: "calendarResponse" }, viewQueries: [{ propertyName: "endDateField", first: true, predicate: ["endDate"], descendants: true }, { propertyName: "startDateField", first: true, predicate: ["startDate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<section *ngIf=\"showMonthCalendar\">\n <month-calendar\n [config]=\"config\"\n [integratedMode]=\"true\"\n [restart]=\"showMonthCalendar\"\n (response)=\"handleCalendarResponse($event, true)\" [initDate]=\"initMonth\"\n [appearance]=\"{language: appearance.language, isMobile: appearance.isMobile }\">\n </month-calendar>\n</section>\n\n<section *ngIf=\"showYearCalendar\">\n <year-calendar\n [config]=\"config\"\n [integratedMode]=\"true\"\n [restart]=\"showYearCalendar\"\n (response)=\"handleCalendarResponse($event, false)\" [initDate]=\"initYear\"\n [appearance]=\"{language: appearance.language, isMobile: appearance.isMobile}\">\n </year-calendar>\n</section>\n\n<div *ngIf=\"!appearance.isMobile && !showMonthCalendar && !showYearCalendar\" class=\"title\">\n <span class=\"hr-label sm-bold\">{{range ? i18n.select_range : i18n.select_date}}</span>\n</div>\n\n<div class=\"gravity-date-picker-content\" [class.hidden]=\"showYearCalendar || showMonthCalendar\" [class.mobile]=\"appearance.isMobile\">\n\n <div *ngIf=\"range\" class=\"selected-dates\">\n <gravity-text-field #startDate\n [size]=\"'sm'\"\n [width]=\"'short'\"\n [label]=\"i18n.start_date\"\n [inputContentType]=\"'date'\"\n [supportText]=\"startDateError\"\n [placeholder]=\"i18n.date_placeholder\"\n [clickOnRightIcon]=\"!startFieldDisabled\"\n (keyup)=\"onDateKeyup(this, $event, 'start')\"\n (clickIconRight)=\"clearSelectedDate('start')\"\n (focusout)=\"searchDate(this, startDate.inputValue, 'start')\"\n [iconRight]=\"(selectedRangeStart || startDate.inputValue.length > 9) ? 'unsuccess' : ''\"\n (click)=\"focused = 'start'; selectedRangeStart ? currentDate = calendarDateToDate(selectedRangeStart) : null\"\n [customState]=\"startFieldDisabled ? 'disabled' : startDateError ? 'typed-error' : (startDate.inputValue.length < 1 ? 'default' : 'typing')\"/>\n\n <gravity-text-field #endDate\n [size]=\"'sm'\"\n [width]=\"'short'\"\n [label]=\"i18n.end_date\"\n [inputContentType]=\"'date'\"\n [supportText]=\"endDateError\"\n [placeholder]=\"i18n.date_placeholder\"\n [clickOnRightIcon]=\"!endFieldDisabled\"\n (keyup)=\"onDateKeyup(this, $event, 'end')\"\n (clickIconRight)=\"clearSelectedDate('end')\"\n (focusout)=\"searchDate(this, endDate.inputValue, 'end')\"\n [iconRight]=\"(selectedRangeEnd || endDate.inputValue.length > 9) ? 'unsuccess' : ''\"\n (click)=\" focused = 'end'; selectedRangeEnd ? currentDate = calendarDateToDate(selectedRangeEnd) : null\"\n [customState]=\"endFieldDisabled ? 'disabled' : endDateError ? 'typed-error' : (endDate.inputValue.length < 1 ? 'default' : 'typing')\"/>\n </div>\n\n <section class=\"gravity-date-picker-header\" [class.mobile]=\"appearance.isMobile\">\n <gravity-icon-button [type]=\"'primary'\" [size]=\"'sm'\" [icon]=\"'arrow-left'\" [supportText]=\"i18n.preview_month\"\n (clickOnIcon)=\"currentDate = changeDate(-1, currentDate, true);\"\n [state]=\"(navType === 'prev' || navType === 'both') && (appearance.state !== 'disabled') &&\n isPeriodAvailable(currentDate, config.minDate, 'month', 'prev') ? 'active' : 'disabled'\"/>\n\n <div class=\"month-year-label\">\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"monthsList[currentDate.getMonth()]\"\n [state]=\"appearance.state === 'disabled' ? 'inactive' : 'active'\" (onClickLabel)=\"handleOnClickDropdownLabel(true)\"> </gravity-dropdown-label>\n\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"currentDate.getFullYear().toString()\"\n [state]=\"appearance.state === 'disabled' ? 'inactive' : 'active'\" (onClickLabel)=\"handleOnClickDropdownLabel(false)\"> </gravity-dropdown-label>\n </div>\n\n <gravity-icon-button [type]=\"'primary'\" [size]=\"'sm'\" [icon]=\"'arrow-right'\" [supportText]=\"i18n.next_month\"\n (clickOnIcon)=\"currentDate = changeDate(1, currentDate, true);\"\n [state]=\"(navType === 'next' || navType === 'both') && (appearance.state !== 'disabled') &&\n isPeriodAvailable(currentDate, config.maxDate, 'month', 'next') ? 'active' : 'disabled'\"/>\n </section>\n\n <section class=\"gravity-date-picker-body\" [class.mobile]=\"appearance.isMobile\">\n <section class=\"days-name-line\">\n <div class=\"days-name\">\n <span class=\"hr-body\" [ngClass]=\"appearance.isMobile ? 'md-regular' : 'sm-regular'\"\n *ngFor=\"let day of daysList\"> {{ day }} </span>\n </div>\n\n <div class=\"separator-line\"></div>\n </section>\n\n <section class=\"days-number-selector\">\n <div class=\"days-number-table\">\n <div class=\"week-row\" *ngFor=\"let week of getMonthGrid(); trackBy: trackByWeek\">\n <span class=\"hr-body\" *ngFor=\"let day of week; trackBy: trackByDay\"\n [class.preview]=\"range ? isPreview(this, day) : null\"\n [class.disabled]=\"!day.inCurrentMonth\" [class.today]=\"day.isToday\"\n (mouseenter)=\"range ? onHoverDay(this, day) : null; hoverDay.emit(day)\"\n (mouseleave)=\"range ? onClearHover(this) : null; this.clearHover.emit()\"\n [ngClass]=\"[appearance.isMobile ? 'md-regular' : 'sm-regular',\n appearance.state === 'disabled' ? 'disabled' : getDaySelectionClass(day)]\"\n (click)=\"day.inCurrentMonth ? onSelectDay(day): null\"> {{ day.day }} </span>\n </div>\n </div>\n\n <div *ngIf=\"notification\" class=\"notification\" [class.error]=\"notification.error\">\n <gravity-icon [style.--icon-color]=\"'var(--notification-icon-color)'\" [iconSize]=\"'sm-12'\" [iconName]=\"'information-circle'\"/>\n <span class=\"hr-label sm-regular\">{{notification.text}}</span>\n </div>\n\n <div *ngIf=\"range || selectedDay\" class=\"action-section\" >\n <gravity-link [linkText]=\"i18n.clear\" [state]=\"hasDateSelected() ? 'active' : 'disabled'\"\n [fontClass]=\"appearance.isMobile ? 'hr-body md-regular' : 'hr-body sm-regular'\"\n (click)=\" hasDateSelected() ? clearSelectedDate('all') : null\"/>\n\n <gravity-button *ngIf=\"range\" [size]=\"appearance.isMobile ? 'md' : 'sm'\" [type]=\"'tertiary'\" [disabled]=\"!hasDateSelected(true)\"\n (click)=\"hasDateSelected(true) ? applySelectedDate() : null\"> {{i18n.apply}} </gravity-button>\n </div>\n </section>\n </section>\n</div>\n", styles: [":root{--gravity-spacing-none: 0;--gravity-spacing-xxxs: .125rem;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.next-button,.previous-button{cursor:pointer;padding:var(--gravity-spacing-xs);border-radius:var(--gravity-spacing-xs)}.next-button:not(.disabled):hover,.previous-button:not(.disabled):hover{background:var(--bg-button-active-tertiary)}.next-button.disabled,.previous-button.disabled{cursor:default;pointer-events:none;--icon-color: var(--on-bg-disabled)}.separator-line{border-bottom:2px solid var(--divider-menu-active-primary)}.action-section{height:25px;display:flex;align-self:stretch;align-items:center;justify-content:space-between}.title{width:100%;text-align:center;margin-bottom:var(--gravity-spacing-sm);color:var(--label-text-empty-enabled-primary)}.title span{height:11px;display:block;line-height:11px}.gravity-date-picker-content{display:flex;align-items:center;justify-items:center;flex-direction:column;gap:var(--gravity-spacing-md)}.gravity-date-picker-content .selected-dates{width:100%;display:flex;align-items:flex-start;gap:var(--gravity-spacing-xs)}.gravity-date-picker-content .selected-dates ::ng-deep gravity-text-field .gravity-input-field{width:130px}.gravity-date-picker-content .gravity-date-picker-header{gap:0;width:268px;height:auto;display:flex;padding-top:0;align-items:center;justify-content:space-between}.gravity-date-picker-content .gravity-date-picker-header .month-year-label{display:flex;gap:var(--gravity-spacing-sm)}.gravity-date-picker-content .gravity-date-picker-header.mobile,.gravity-date-picker-content .gravity-date-picker-body{width:100%}.gravity-date-picker-content .gravity-date-picker-body .days-name-line{display:flex;flex-direction:column;gap:var(--gravity-spacing-xs);padding-bottom:var(--gravity-spacing-xs)}.gravity-date-picker-content .gravity-date-picker-body .days-name-line .days-name{display:flex;align-self:stretch;justify-content:space-between}.gravity-date-picker-content .gravity-date-picker-body .days-name-line .days-name span{display:flex;cursor:default;align-items:center;justify-content:center;padding:var(--gravity-spacing-xs);color:var(--text-highlight-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-name-line .separator-line{width:100%}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector{display:flex;align-self:stretch;flex-direction:column;gap:var(--gravity-spacing-sm)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table{display:flex;flex-direction:column}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row{height:25px;display:flex;align-self:stretch}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span{gap:10px;flex:1 0 0;width:31px;height:25px;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--gravity-spacing-xs);color:var(--on-bg-button-pressed-tertiary);border:2px solid var(--bg-calender-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span:not(.sl).today{border-color:var(--bg-number-calendar-hover-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span:not(.disabled):not(.sl):hover{color:var(--on-bg-button-pressed-tertiary);background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.single,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.start,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.end{color:var(--on-bg-button-pressed-primary);background:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.range,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span:not(.disabled).preview{border-radius:0;background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.start,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.nsl-start:hover{border-radius:var(--gravity-spacing-xs) 0 0 var(--gravity-spacing-xs)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.end,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.nsl-end:hover{border-radius:0 var(--gravity-spacing-xs) var(--gravity-spacing-xs) 0}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.in-slt:hover{border-color:var(--bg-button-pressed-primary)!important}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.default{border-radius:0!important;border-color:transparent!important}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.same-sln{border-radius:var(--gravity-spacing-xs)!important}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.disabled{cursor:default;pointer-events:none;color:var(--on-bg-disabled)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .notification{display:flex;align-items:center;align-self:stretch;gap:var(--gravity-spacing-xxs);border-radius:.3125rem;padding:var(--gravity-spacing-xs);color:var(--on-bg-button-active-tertiary);background:var(--bg-button-active-tertiary);--notification-icon-color: var(--on-bg-button-active-tertiary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .notification.error{color:var(--on-bg-button-active-negative);background:var(--bg-button-active-negative);--notification-icon-color: var(--on-bg-button-active-negative)}.gravity-date-picker-content.mobile{width:100%;height:auto}.gravity-date-picker-content.mobile .selected-dates ::ng-deep gravity-text-field{width:100%}.gravity-date-picker-content.mobile .selected-dates ::ng-deep gravity-text-field .gravity-input-field{min-width:100%}.gravity-date-picker-content.mobile .days-name-line .separator-line{width:100%}.gravity-date-picker-content.mobile .days-number-selector .days-number-table .week-row,.gravity-date-picker-content.mobile .days-number-selector .days-number-table span{height:43px!important}.gravity-date-picker-content.hidden{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GravityButtonComponent, selector: "gravity-button", inputs: ["cypressTag", "disabled", "iconName", "isLoading", "showContent", "size", "iconPosition", "customState", "type"] }, { kind: "component", type: i3.GravityIconButtonComponent, selector: "gravity-icon-button", inputs: ["cypressTag", "icon", "supportText", "variant", "size", "type", "state", "badge"], outputs: ["clickOnIcon"] }, { kind: "component", type: i4.GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "iconSize", "hoverIcon", "size", "isCoin"] }, { kind: "component", type: i5.GravityTextFieldComponent, selector: "gravity-text-field", inputs: ["currentLang", "customInputValue", "customState", "cypressTag", "label", "prefix", "required", "supportText", "textFieldType", "clickOnLeftIcon", "clickOnRightIcon", "iconColor", "iconLeft", "iconRight", "autocomplete", "inputContentType", "placeholder", "validations", "size", "width"], outputs: ["clickIconLeft", "clickIconRight", "response"] }, { kind: "component", type: i6.GravityLinkComponent, selector: "gravity-link", inputs: ["linkText", "fontClass", "link", "cypressTag", "iconName", "target", "iconPosition", "iconSize", "state"] }, { kind: "component", type: i7.GravityDropdownLabelComponent, selector: "gravity-dropdown-label", inputs: ["label", "fontClass", "isOpen", "stopPropagation", "size", "state"], outputs: ["onClickLabel"] }, { kind: "component", type: i8.MonthCalendarComponent, selector: "month-calendar", inputs: ["config", "initDate", "restart", "appearance", "integratedMode"], outputs: ["clearSelection", "response"] }, { kind: "component", type: i9.YearCalendarComponent, selector: "year-calendar", inputs: ["config", "initDate", "restart", "appearance", "integratedMode"], outputs: ["clearSelection", "response"] }] }); }
|
|
226
234
|
}
|
|
227
235
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DayCalendarComponent, decorators: [{
|
|
228
236
|
type: Component,
|
|
229
|
-
args: [{ selector: 'day-calendar', template: "<section *ngIf=\"showMonthCalendar\">\n <month-calendar\n [config]=\"config\"\n [integratedMode]=\"true\"\n [restart]=\"showMonthCalendar\"\n (response)=\"handleCalendarResponse($event, true)\" [initDate]=\"initMonth\"\n [appearance]=\"{language: appearance.language, isMobile: appearance.isMobile, actions: false, }\">\n </month-calendar>\n</section>\n\n<section *ngIf=\"showYearCalendar\">\n <year-calendar\n [config]=\"config\"\n [integratedMode]=\"true\"\n [restart]=\"showYearCalendar\"\n (response)=\"handleCalendarResponse($event, false)\" [initDate]=\"initYear\"\n [appearance]=\"{language: appearance.language, isMobile: appearance.isMobile, actions: false}\">\n </year-calendar>\n</section>\n\n<div *ngIf=\"!showYearCalendar && !showMonthCalendar\" class=\"gravity-calendar-content\" [class.mobile]=\"appearance.isMobile\">\n <span *ngIf=\"!appearance.isMobile\" class=\"hr-label sm-bold title\">{{range ? i18n.select_range : i18n.select_date}}</span>\n\n <div *ngIf=\"range\" class=\"selected-dates\">\n <gravity-text-field #startDate\n [size]=\"'sm'\"\n [width]=\"'short'\"\n [label]=\"i18n.start_date\"\n [inputContentType]=\"'date'\"\n [supportText]=\"startDateError\"\n [placeholder]=\"i18n.date_placeholder\"\n [clickOnRightIcon]=\"!startFieldDisabled\"\n (keyup)=\"onDateKeyup(this, $event, 'start')\"\n (clickIconRight)=\"clearSelectedDate('start')\"\n (focusout)=\"searchDate(this, startDate.inputValue, 'start')\"\n [iconRight]=\"(selectedRangeStart || startDate.inputValue.length > 9) ? 'unsuccess' : ''\"\n (click)=\"focused = 'start'; selectedRangeStart ? currentDate = calendarDateToDate(selectedRangeStart) : null\"\n [customState]=\"startFieldDisabled ? 'disabled' : startDateError ? 'typed-error' : (startDate.inputValue.length < 1 ? 'default' : 'typing')\"/>\n\n <gravity-text-field #endDate\n [size]=\"'sm'\"\n [width]=\"'short'\"\n [label]=\"i18n.end_date\"\n [inputContentType]=\"'date'\"\n [supportText]=\"endDateError\"\n [placeholder]=\"i18n.date_placeholder\"\n [clickOnRightIcon]=\"!endFieldDisabled\"\n (keyup)=\"onDateKeyup(this, $event, 'end')\"\n (clickIconRight)=\"clearSelectedDate('end')\"\n (focusout)=\"searchDate(this, endDate.inputValue, 'end')\"\n [iconRight]=\"(selectedRangeEnd || endDate.inputValue.length > 9) ? 'unsuccess' : ''\"\n (click)=\" focused = 'end'; selectedRangeEnd ? currentDate = calendarDateToDate(selectedRangeEnd) : null\"\n [customState]=\"endFieldDisabled ? 'disabled' : endDateError ? 'typed-error' : (endDate.inputValue.length < 1 ? 'default' : 'typing')\"/>\n </div>\n\n <section class=\"gravity-calendar-header\" [class.mobile]=\"appearance.isMobile\">\n <gravity-icon-button [type]=\"'primary'\" [size]=\"'sm'\" [icon]=\"'arrow-left'\" [supportText]=\"i18n.preview_month\"\n (clickOnIcon)=\"currentDate = changeDate(-1, currentDate, true); changeMonth.emit(-1)\"\n [state]=\"(navType === 'prev' || navType === 'both') && (appearance.state !== 'disabled') &&\n isPeriodAvailable(currentDate, config.minDate, 'month', 'prev') ? 'active' : 'disabled'\"/>\n\n <div class=\"month-year-label\">\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"monthsList[currentDate.getMonth()]\"\n [state]=\"appearance.state === 'disabled' ? 'inactive' : 'active'\" (onClickLabel)=\"handleOnClickDropdownLabel(true)\"> </gravity-dropdown-label>\n\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"currentDate.getFullYear().toString()\"\n [state]=\"appearance.state === 'disabled' ? 'inactive' : 'active'\" (onClickLabel)=\"handleOnClickDropdownLabel(false)\"> </gravity-dropdown-label>\n </div>\n\n <gravity-icon-button [type]=\"'primary'\" [size]=\"'sm'\" [icon]=\"'arrow-right'\" [supportText]=\"i18n.next_month\"\n (clickOnIcon)=\"currentDate = changeDate(1, currentDate, true); changeMonth.emit(1)\"\n [state]=\"(navType === 'next' || navType === 'both') && (appearance.state !== 'disabled') &&\n isPeriodAvailable(currentDate, config.maxDate, 'month', 'next') ? 'active' : 'disabled'\"/>\n </section>\n\n <section class=\"gravity-calendar-body\" [class.mobile]=\"appearance.isMobile\">\n <section class=\"days-name-line\">\n <div class=\"days-name\">\n <span class=\"hr-body\" [ngClass]=\"appearance.isMobile ? 'md-regular' : 'sm-regular'\"\n *ngFor=\"let day of daysList\"> {{ day }} </span>\n </div>\n\n <div class=\"separator-line\"></div>\n </section>\n\n <section class=\"days-number-selector\">\n <div class=\"days-number-table\">\n <div class=\"week-row\" *ngFor=\"let week of getMonthGrid(); trackBy: trackByWeek\">\n <span class=\"hr-body\" *ngFor=\"let day of week; trackBy: trackByDay\"\n [class.preview]=\"range ? isPreview(this, day) : null\"\n [class.disabled]=\"!day.inCurrentMonth\" [class.today]=\"day.isToday\"\n (mouseenter)=\"range ? onHoverDay(this, day) : null; hoverDay.emit(day)\"\n (mouseleave)=\"range ? onClearHover(this) : null; this.clearHover.emit()\"\n [ngClass]=\"[appearance.isMobile ? 'md-regular' : 'sm-regular',\n appearance.state === 'disabled' ? 'disabled' : getDaySelectionClass(day)]\"\n (click)=\"day.inCurrentMonth ? onSelectDay(day): null\"> {{ day.day }} </span>\n </div>\n </div>\n\n <div *ngIf=\"notification\" class=\"notification\" [class.error]=\"notification.error\">\n <gravity-icon [style.--icon-color]=\"'var(--notification-icon-color)'\" [iconSize]=\"'sm-12'\" [iconName]=\"'information-circle'\"/>\n <span class=\"hr-label sm-regular\">{{notification.text}}</span>\n </div>\n\n <div *ngIf=\"appearance.actions\" class=\"action-section\" >\n <gravity-link [linkText]=\"i18n.clear\" [state]=\"!isDateSelected() ? 'disabled' : 'active'\"\n (click)=\" isDateSelected() ? clearSelectedDate('all') : null\"> </gravity-link>\n\n <gravity-button [size]=\"'sm'\" [type]=\"'tertiary'\" [disabled]=\"!isDateSelected()\"\n (click)=\"isDateSelected() ? applySelectedDate() : null\"> {{i18n.apply}} </gravity-button>\n </div>\n </section>\n </section>\n</div>\n", styles: [":root{--gravity-spacing-none: 0;--gravity-spacing-xxxs: .125rem;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.next-button,.previous-button{cursor:pointer;padding:var(--gravity-spacing-xs);border-radius:var(--gravity-spacing-xs)}.next-button:not(.disabled):hover,.previous-button:not(.disabled):hover{background:var(--bg-button-active-tertiary)}.next-button.disabled,.previous-button.disabled{cursor:default;pointer-events:none;--icon-color: var(--on-bg-disabled)}.separator-line{border-bottom:2px solid var(--divider-menu-active-primary)}.action-section{height:25px;display:flex;align-self:stretch;align-items:center;justify-content:space-between}.gravity-calendar-content{display:flex;align-items:center;justify-items:center;flex-direction:column;gap:var(--gravity-spacing-md)}.gravity-calendar-content .title{color:var(--label-text-empty-enabled-primary)}.gravity-calendar-content .selected-dates{width:100%;display:flex;align-items:flex-start;gap:var(--gravity-spacing-xs)}.gravity-calendar-content .selected-dates ::ng-deep gravity-text-field .gravity-input-field{width:130px}.gravity-calendar-content .gravity-calendar-header{gap:0;width:268px;height:auto;display:flex;padding-top:0;align-items:center;justify-content:space-between}.gravity-calendar-content .gravity-calendar-header .month-year-label{display:flex;gap:var(--gravity-spacing-sm)}.gravity-calendar-content .gravity-calendar-header.mobile,.gravity-calendar-content .gravity-calendar-body{width:100%}.gravity-calendar-content .gravity-calendar-body .days-name-line{display:flex;flex-direction:column;gap:var(--gravity-spacing-xs);padding-bottom:var(--gravity-spacing-xs)}.gravity-calendar-content .gravity-calendar-body .days-name-line .days-name{display:flex;align-self:stretch;justify-content:space-between}.gravity-calendar-content .gravity-calendar-body .days-name-line .days-name span{display:flex;cursor:default;align-items:center;justify-content:center;padding:var(--gravity-spacing-xs);color:var(--text-highlight-primary)}.gravity-calendar-content .gravity-calendar-body .days-name-line .separator-line{width:100%}.gravity-calendar-content .gravity-calendar-body .days-number-selector{display:flex;align-self:stretch;flex-direction:column;gap:var(--gravity-spacing-sm)}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table{display:flex;flex-direction:column}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row{height:25px;display:flex;align-self:stretch}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span{gap:10px;flex:1 0 0;width:31px;height:25px;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--gravity-spacing-xs);color:var(--on-bg-button-pressed-tertiary);border:2px solid var(--bg-calender-primary)}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.sl).today{border-color:var(--bg-number-calendar-hover-primary)}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.disabled):not(.sl):hover{color:var(--on-bg-button-pressed-tertiary);background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.single,.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.start,.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.end{color:var(--on-bg-button-pressed-primary);background:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary)}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.range,.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span:not(.disabled).preview{border-radius:0;background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.start,.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.nsl-start:hover{border-radius:var(--gravity-spacing-xs) 0 0 var(--gravity-spacing-xs)}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.end,.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.nsl-end:hover{border-radius:0 var(--gravity-spacing-xs) var(--gravity-spacing-xs) 0}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.in-slt:hover{border-color:var(--bg-button-pressed-primary)!important}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.default{border-radius:0!important;border-color:transparent!important}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.same-sln{border-radius:var(--gravity-spacing-xs)!important}.gravity-calendar-content .gravity-calendar-body .days-number-selector .days-number-table .week-row span.disabled{cursor:default;pointer-events:none;color:var(--on-bg-disabled)}.gravity-calendar-content .gravity-calendar-body .days-number-selector .notification{display:flex;align-items:center;align-self:stretch;gap:var(--gravity-spacing-xxs);border-radius:.3125rem;padding:var(--gravity-spacing-xs);color:var(--on-bg-button-active-tertiary);background:var(--bg-button-active-tertiary);--notification-icon-color: var(--on-bg-button-active-tertiary)}.gravity-calendar-content .gravity-calendar-body .days-number-selector .notification.error{color:var(--on-bg-button-active-negative);background:var(--bg-button-active-negative);--notification-icon-color: var(--on-bg-button-active-negative)}.gravity-calendar-content.mobile{width:100%;height:auto}.gravity-calendar-content.mobile .selected-dates ::ng-deep gravity-text-field{width:100%}.gravity-calendar-content.mobile .selected-dates ::ng-deep gravity-text-field .gravity-input-field{min-width:100%}.gravity-calendar-content.mobile .days-name-line .separator-line{width:100%}.gravity-calendar-content.mobile .days-number-selector .days-number-table .week-row,.gravity-calendar-content.mobile .days-number-selector .days-number-table span{height:43px!important}\n"] }]
|
|
237
|
+
args: [{ selector: 'day-calendar', template: "<section *ngIf=\"showMonthCalendar\">\n <month-calendar\n [config]=\"config\"\n [integratedMode]=\"true\"\n [restart]=\"showMonthCalendar\"\n (response)=\"handleCalendarResponse($event, true)\" [initDate]=\"initMonth\"\n [appearance]=\"{language: appearance.language, isMobile: appearance.isMobile }\">\n </month-calendar>\n</section>\n\n<section *ngIf=\"showYearCalendar\">\n <year-calendar\n [config]=\"config\"\n [integratedMode]=\"true\"\n [restart]=\"showYearCalendar\"\n (response)=\"handleCalendarResponse($event, false)\" [initDate]=\"initYear\"\n [appearance]=\"{language: appearance.language, isMobile: appearance.isMobile}\">\n </year-calendar>\n</section>\n\n<div *ngIf=\"!appearance.isMobile && !showMonthCalendar && !showYearCalendar\" class=\"title\">\n <span class=\"hr-label sm-bold\">{{range ? i18n.select_range : i18n.select_date}}</span>\n</div>\n\n<div class=\"gravity-date-picker-content\" [class.hidden]=\"showYearCalendar || showMonthCalendar\" [class.mobile]=\"appearance.isMobile\">\n\n <div *ngIf=\"range\" class=\"selected-dates\">\n <gravity-text-field #startDate\n [size]=\"'sm'\"\n [width]=\"'short'\"\n [label]=\"i18n.start_date\"\n [inputContentType]=\"'date'\"\n [supportText]=\"startDateError\"\n [placeholder]=\"i18n.date_placeholder\"\n [clickOnRightIcon]=\"!startFieldDisabled\"\n (keyup)=\"onDateKeyup(this, $event, 'start')\"\n (clickIconRight)=\"clearSelectedDate('start')\"\n (focusout)=\"searchDate(this, startDate.inputValue, 'start')\"\n [iconRight]=\"(selectedRangeStart || startDate.inputValue.length > 9) ? 'unsuccess' : ''\"\n (click)=\"focused = 'start'; selectedRangeStart ? currentDate = calendarDateToDate(selectedRangeStart) : null\"\n [customState]=\"startFieldDisabled ? 'disabled' : startDateError ? 'typed-error' : (startDate.inputValue.length < 1 ? 'default' : 'typing')\"/>\n\n <gravity-text-field #endDate\n [size]=\"'sm'\"\n [width]=\"'short'\"\n [label]=\"i18n.end_date\"\n [inputContentType]=\"'date'\"\n [supportText]=\"endDateError\"\n [placeholder]=\"i18n.date_placeholder\"\n [clickOnRightIcon]=\"!endFieldDisabled\"\n (keyup)=\"onDateKeyup(this, $event, 'end')\"\n (clickIconRight)=\"clearSelectedDate('end')\"\n (focusout)=\"searchDate(this, endDate.inputValue, 'end')\"\n [iconRight]=\"(selectedRangeEnd || endDate.inputValue.length > 9) ? 'unsuccess' : ''\"\n (click)=\" focused = 'end'; selectedRangeEnd ? currentDate = calendarDateToDate(selectedRangeEnd) : null\"\n [customState]=\"endFieldDisabled ? 'disabled' : endDateError ? 'typed-error' : (endDate.inputValue.length < 1 ? 'default' : 'typing')\"/>\n </div>\n\n <section class=\"gravity-date-picker-header\" [class.mobile]=\"appearance.isMobile\">\n <gravity-icon-button [type]=\"'primary'\" [size]=\"'sm'\" [icon]=\"'arrow-left'\" [supportText]=\"i18n.preview_month\"\n (clickOnIcon)=\"currentDate = changeDate(-1, currentDate, true);\"\n [state]=\"(navType === 'prev' || navType === 'both') && (appearance.state !== 'disabled') &&\n isPeriodAvailable(currentDate, config.minDate, 'month', 'prev') ? 'active' : 'disabled'\"/>\n\n <div class=\"month-year-label\">\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"monthsList[currentDate.getMonth()]\"\n [state]=\"appearance.state === 'disabled' ? 'inactive' : 'active'\" (onClickLabel)=\"handleOnClickDropdownLabel(true)\"> </gravity-dropdown-label>\n\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"currentDate.getFullYear().toString()\"\n [state]=\"appearance.state === 'disabled' ? 'inactive' : 'active'\" (onClickLabel)=\"handleOnClickDropdownLabel(false)\"> </gravity-dropdown-label>\n </div>\n\n <gravity-icon-button [type]=\"'primary'\" [size]=\"'sm'\" [icon]=\"'arrow-right'\" [supportText]=\"i18n.next_month\"\n (clickOnIcon)=\"currentDate = changeDate(1, currentDate, true);\"\n [state]=\"(navType === 'next' || navType === 'both') && (appearance.state !== 'disabled') &&\n isPeriodAvailable(currentDate, config.maxDate, 'month', 'next') ? 'active' : 'disabled'\"/>\n </section>\n\n <section class=\"gravity-date-picker-body\" [class.mobile]=\"appearance.isMobile\">\n <section class=\"days-name-line\">\n <div class=\"days-name\">\n <span class=\"hr-body\" [ngClass]=\"appearance.isMobile ? 'md-regular' : 'sm-regular'\"\n *ngFor=\"let day of daysList\"> {{ day }} </span>\n </div>\n\n <div class=\"separator-line\"></div>\n </section>\n\n <section class=\"days-number-selector\">\n <div class=\"days-number-table\">\n <div class=\"week-row\" *ngFor=\"let week of getMonthGrid(); trackBy: trackByWeek\">\n <span class=\"hr-body\" *ngFor=\"let day of week; trackBy: trackByDay\"\n [class.preview]=\"range ? isPreview(this, day) : null\"\n [class.disabled]=\"!day.inCurrentMonth\" [class.today]=\"day.isToday\"\n (mouseenter)=\"range ? onHoverDay(this, day) : null; hoverDay.emit(day)\"\n (mouseleave)=\"range ? onClearHover(this) : null; this.clearHover.emit()\"\n [ngClass]=\"[appearance.isMobile ? 'md-regular' : 'sm-regular',\n appearance.state === 'disabled' ? 'disabled' : getDaySelectionClass(day)]\"\n (click)=\"day.inCurrentMonth ? onSelectDay(day): null\"> {{ day.day }} </span>\n </div>\n </div>\n\n <div *ngIf=\"notification\" class=\"notification\" [class.error]=\"notification.error\">\n <gravity-icon [style.--icon-color]=\"'var(--notification-icon-color)'\" [iconSize]=\"'sm-12'\" [iconName]=\"'information-circle'\"/>\n <span class=\"hr-label sm-regular\">{{notification.text}}</span>\n </div>\n\n <div *ngIf=\"range || selectedDay\" class=\"action-section\" >\n <gravity-link [linkText]=\"i18n.clear\" [state]=\"hasDateSelected() ? 'active' : 'disabled'\"\n [fontClass]=\"appearance.isMobile ? 'hr-body md-regular' : 'hr-body sm-regular'\"\n (click)=\" hasDateSelected() ? clearSelectedDate('all') : null\"/>\n\n <gravity-button *ngIf=\"range\" [size]=\"appearance.isMobile ? 'md' : 'sm'\" [type]=\"'tertiary'\" [disabled]=\"!hasDateSelected(true)\"\n (click)=\"hasDateSelected(true) ? applySelectedDate() : null\"> {{i18n.apply}} </gravity-button>\n </div>\n </section>\n </section>\n</div>\n", styles: [":root{--gravity-spacing-none: 0;--gravity-spacing-xxxs: .125rem;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.next-button,.previous-button{cursor:pointer;padding:var(--gravity-spacing-xs);border-radius:var(--gravity-spacing-xs)}.next-button:not(.disabled):hover,.previous-button:not(.disabled):hover{background:var(--bg-button-active-tertiary)}.next-button.disabled,.previous-button.disabled{cursor:default;pointer-events:none;--icon-color: var(--on-bg-disabled)}.separator-line{border-bottom:2px solid var(--divider-menu-active-primary)}.action-section{height:25px;display:flex;align-self:stretch;align-items:center;justify-content:space-between}.title{width:100%;text-align:center;margin-bottom:var(--gravity-spacing-sm);color:var(--label-text-empty-enabled-primary)}.title span{height:11px;display:block;line-height:11px}.gravity-date-picker-content{display:flex;align-items:center;justify-items:center;flex-direction:column;gap:var(--gravity-spacing-md)}.gravity-date-picker-content .selected-dates{width:100%;display:flex;align-items:flex-start;gap:var(--gravity-spacing-xs)}.gravity-date-picker-content .selected-dates ::ng-deep gravity-text-field .gravity-input-field{width:130px}.gravity-date-picker-content .gravity-date-picker-header{gap:0;width:268px;height:auto;display:flex;padding-top:0;align-items:center;justify-content:space-between}.gravity-date-picker-content .gravity-date-picker-header .month-year-label{display:flex;gap:var(--gravity-spacing-sm)}.gravity-date-picker-content .gravity-date-picker-header.mobile,.gravity-date-picker-content .gravity-date-picker-body{width:100%}.gravity-date-picker-content .gravity-date-picker-body .days-name-line{display:flex;flex-direction:column;gap:var(--gravity-spacing-xs);padding-bottom:var(--gravity-spacing-xs)}.gravity-date-picker-content .gravity-date-picker-body .days-name-line .days-name{display:flex;align-self:stretch;justify-content:space-between}.gravity-date-picker-content .gravity-date-picker-body .days-name-line .days-name span{display:flex;cursor:default;align-items:center;justify-content:center;padding:var(--gravity-spacing-xs);color:var(--text-highlight-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-name-line .separator-line{width:100%}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector{display:flex;align-self:stretch;flex-direction:column;gap:var(--gravity-spacing-sm)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table{display:flex;flex-direction:column}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row{height:25px;display:flex;align-self:stretch}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span{gap:10px;flex:1 0 0;width:31px;height:25px;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--gravity-spacing-xs);color:var(--on-bg-button-pressed-tertiary);border:2px solid var(--bg-calender-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span:not(.sl).today{border-color:var(--bg-number-calendar-hover-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span:not(.disabled):not(.sl):hover{color:var(--on-bg-button-pressed-tertiary);background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.single,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.start,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.end{color:var(--on-bg-button-pressed-primary);background:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.range,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span:not(.disabled).preview{border-radius:0;background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.start,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.nsl-start:hover{border-radius:var(--gravity-spacing-xs) 0 0 var(--gravity-spacing-xs)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.end,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.nsl-end:hover{border-radius:0 var(--gravity-spacing-xs) var(--gravity-spacing-xs) 0}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.in-slt:hover{border-color:var(--bg-button-pressed-primary)!important}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.default{border-radius:0!important;border-color:transparent!important}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.same-sln{border-radius:var(--gravity-spacing-xs)!important}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.disabled{cursor:default;pointer-events:none;color:var(--on-bg-disabled)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .notification{display:flex;align-items:center;align-self:stretch;gap:var(--gravity-spacing-xxs);border-radius:.3125rem;padding:var(--gravity-spacing-xs);color:var(--on-bg-button-active-tertiary);background:var(--bg-button-active-tertiary);--notification-icon-color: var(--on-bg-button-active-tertiary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .notification.error{color:var(--on-bg-button-active-negative);background:var(--bg-button-active-negative);--notification-icon-color: var(--on-bg-button-active-negative)}.gravity-date-picker-content.mobile{width:100%;height:auto}.gravity-date-picker-content.mobile .selected-dates ::ng-deep gravity-text-field{width:100%}.gravity-date-picker-content.mobile .selected-dates ::ng-deep gravity-text-field .gravity-input-field{min-width:100%}.gravity-date-picker-content.mobile .days-name-line .separator-line{width:100%}.gravity-date-picker-content.mobile .days-number-selector .days-number-table .week-row,.gravity-date-picker-content.mobile .days-number-selector .days-number-table span{height:43px!important}.gravity-date-picker-content.hidden{display:none}\n"] }]
|
|
230
238
|
}], propDecorators: { initYear: [{
|
|
231
239
|
type: Input
|
|
232
240
|
}], initMonth: [{
|
|
233
241
|
type: Input
|
|
234
|
-
}], config: [{
|
|
235
|
-
type: Input
|
|
236
242
|
}], range: [{
|
|
237
243
|
type: Input
|
|
244
|
+
}], config: [{
|
|
245
|
+
type: Input
|
|
238
246
|
}], restart: [{
|
|
239
247
|
type: Input
|
|
240
248
|
}], appyOnClose: [{
|
|
@@ -249,18 +257,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
249
257
|
type: Output
|
|
250
258
|
}], clearSelection: [{
|
|
251
259
|
type: Output
|
|
252
|
-
}], changeMonth: [{
|
|
253
|
-
type: Output
|
|
254
260
|
}], hoverDay: [{
|
|
255
261
|
type: Output
|
|
256
|
-
}], openIntegratedCalendar: [{
|
|
257
|
-
type: Output
|
|
258
262
|
}], selectedRage: [{
|
|
259
263
|
type: Output
|
|
260
264
|
}], calendarResponse: [{
|
|
261
265
|
type: Output
|
|
262
|
-
}], changeMonthYearResponse: [{
|
|
263
|
-
type: Output
|
|
264
266
|
}], endDateField: [{
|
|
265
267
|
type: ViewChild,
|
|
266
268
|
args: ['endDate']
|
|
@@ -268,4 +270,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
268
270
|
type: ViewChild,
|
|
269
271
|
args: ['startDate']
|
|
270
272
|
}] } });
|
|
271
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1kYXRlLXBpY2tlci9jb21wb25lbnRzL2RheS1jYWxlbmRhci9kYXktY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LWRhdGUtcGlja2VyL2NvbXBvbmVudHMvZGF5LWNhbGVuZGFyL2RheS1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNySCxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xJLE9BQU8sRUFBQyxzQkFBc0IsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLDJCQUEyQixFQUFFLFVBQVUsRUFBQyxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7OztBQU9sTSxNQUFNLE9BQU8sb0JBQW9CO0lBTGpDO1FBU2tCLFVBQUssR0FBWSxLQUFLLENBQUM7UUFDdkIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUMxQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM1Qixn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LElBQUksa0JBQWtCLEVBQUU7WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuQjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzsrR0F6TlUsb0JBQW9CO21HQUFwQixvQkFBb0IsMndCQ1pqQyxzOE1Ba0hBOzs0RkR0R2Esb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNJLGNBQWM7OEJBS1YsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLO2dCQUNTLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1csV0FBVztzQkFBMUIsS0FBSztnQkFDVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBRVcsVUFBVTtzQkFBMUIsTUFBTTtnQkFDVSxjQUFjO3NCQUE5QixNQUFNO2dCQUNVLFdBQVc7c0JBQTNCLE1BQU07Z0JBQ1UsUUFBUTtzQkFBeEIsTUFBTTtnQkFDVSxzQkFBc0I7c0JBQXRDLE1BQU07Z0JBQ1UsWUFBWTtzQkFBNUIsTUFBTTtnQkFDVSxnQkFBZ0I7c0JBQWhDLE1BQU07Z0JBQ1UsdUJBQXVCO3NCQUF2QyxNQUFNO2dCQUVlLFlBQVk7c0JBQWpDLFNBQVM7dUJBQUMsU0FBUztnQkFDSSxjQUFjO3NCQUFyQyxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RhdGVQaWNrZXJBcHBlYXJhbmNlLCBEYXRlUGlja2VyQ29uZmlnLCBDYWxlbmRhckRhdGV9IGZyb20gXCIuLi8uLi9zaGFyZWQvZGF0ZS1waWNrZXIubW9kYWxcIjtcbmltcG9ydCB7R3Jhdml0eVRleHRGaWVsZENvbXBvbmVudH0gZnJvbSBcIi4uLy4uLy4uL2dyYXZpdHktdGV4dC1maWVsZC9ncmF2aXR5LXRleHQtZmllbGQuY29tcG9uZW50XCI7XG5pbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NBTEVOREFSX0kxOE4sIERBWVNfU0hPUlRfRU4sIERBWVNfU0hPUlRfRVMsIE1PTlRIU19FTiwgTU9OVEhTX0VTfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2RhdGUtcGlja2VyLmNvbnN0YW50c1wiO1xuaW1wb3J0IHtkYXRlVG9DYWxlbmRhckRheSwgZ2V0U3RhcnREYXRlLCBjaGFuZ2VEYXRlLCBjYWxlbmRhckRhdGVUb0RhdGUsIGlzUGVyaW9kQXZhaWxhYmxlfSBmcm9tICcuLi8uLi9zaGFyZWQvZGF0ZS1waWNrZXIudXRpbHMnO1xuaW1wb3J0IHtnZXRSYW5nZVNlbGVjdGlvbkNsYXNzLCBpc1ByZXZpZXcsIG9uQXBwbHlSYWdlRGF0ZSwgb25DbGVhckhvdmVyLCBvbkRhdGVLZXl1cCwgb25Ib3ZlckRheSwgb25TZWxlY3REYXlzUmFuZ2UsIHByb2Nlc3NQcmVzZWxlY3RlZFJhbmdlRGF0ZSwgc2VhcmNoRGF0ZX0gZnJvbSBcIi4vcmFuZ2UtZGF5cy1jYWxlbmRhci51dGlsc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RheS1jYWxlbmRhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RheS1jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGF5LWNhbGVuZGFyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRGF5Q2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBwdWJsaWMgaW5pdFllYXI6IERhdGU7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbml0TW9udGg6IERhdGU7XG4gIEBJbnB1dCgpIHB1YmxpYyBjb25maWc6IERhdGVQaWNrZXJDb25maWc7XG4gIEBJbnB1dCgpIHB1YmxpYyByYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgcmVzdGFydDogYm9vbGVhbiA9IGZhbHNlO1xuXHRASW5wdXQoKSBwdWJsaWMgYXBweU9uQ2xvc2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGN1cnJlbnREYXRlOiBEYXRlID0gbmV3IERhdGUoKTtcbiAgQElucHV0KCkgcHVibGljIGFwcGVhcmFuY2U6IERhdGVQaWNrZXJBcHBlYXJhbmNlO1xuICBASW5wdXQoKSBwdWJsaWMgbmF2VHlwZTogJ3ByZXYnIHwgJ25leHQnIHwgJ2JvdGgnIHwgJ25vbmUnPSAnYm90aCdcblxuICBAT3V0cHV0KCkgcHVibGljIGNsZWFySG92ZXI6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBjbGVhclNlbGVjdGlvbjogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgcHVibGljIGNoYW5nZU1vbnRoOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAT3V0cHV0KCkgcHVibGljIGhvdmVyRGF5OiBFdmVudEVtaXR0ZXI8Q2FsZW5kYXJEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FsZW5kYXJEYXRlPigpO1xuICBAT3V0cHV0KCkgcHVibGljIG9wZW5JbnRlZ3JhdGVkQ2FsZW5kYXI6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBzZWxlY3RlZFJhZ2U6IEV2ZW50RW1pdHRlcjxDYWxlbmRhckRhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxDYWxlbmRhckRhdGU+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2FsZW5kYXJSZXNwb25zZTogRXZlbnRFbWl0dGVyPERhdGVbXSB8IERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlW10gfCBEYXRlPigpO1xuICBAT3V0cHV0KCkgcHVibGljIGNoYW5nZU1vbnRoWWVhclJlc3BvbnNlOiBFdmVudEVtaXR0ZXI8RGF0ZSB8IERhdGVbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGUgfCBEYXRlW10+KCk7XG5cbiAgQFZpZXdDaGlsZCgnZW5kRGF0ZScpIGVuZERhdGVGaWVsZCE6IEdyYXZpdHlUZXh0RmllbGRDb21wb25lbnQ7XG4gIEBWaWV3Q2hpbGQoJ3N0YXJ0RGF0ZScpIHN0YXJ0RGF0ZUZpZWxkITogR3Jhdml0eVRleHRGaWVsZENvbXBvbmVudDtcblxuICBwdWJsaWMgZW5kRGF0ZUVycm9yOiBzdHJpbmcgPSAnJztcbiAgcHVibGljIHN0YXJ0RGF0ZUVycm9yOiBzdHJpbmcgPSAnJztcblx0cHVibGljIGVuZEZpZWxkRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblx0cHVibGljIHN0YXJ0RmllbGREaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXHRwdWJsaWMgc2VsZWN0ZWRSYW5nZUVuZDogQ2FsZW5kYXJEYXRlIHwgbnVsbCA9IG51bGw7XG5cdHB1YmxpYyBzZWxlY3RlZFJhbmdlU3RhcnQ6IENhbGVuZGFyRGF0ZSB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBzaG93WWVhckNhbGVuZGFyOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93TW9udGhDYWxlbmRhcjogYm9vbGVhbiA9IGZhbHNlO1xuXHRwdWJsaWMgZm9jdXNlZDogJ3N0YXJ0JyB8ICdlbmQnID0gJ3N0YXJ0Jztcblx0cHVibGljIGhvdmVyZWREYXk6IENhbGVuZGFyRGF0ZSB8IG51bGwgPSBudWxsO1xuXHRwdWJsaWMgc2VsZWN0ZWREYXk6IENhbGVuZGFyRGF0ZSB8IG51bGwgPSBudWxsO1xuXHRwdWJsaWMgbm90aWZpY2F0aW9uOiB7dGV4dDogc3RyaW5nLCBlcnJvcjogYm9vbGVhbn07XG5cbiAgcHVibGljIGdldCBpMThuKCkgeyByZXR1cm4gQ0FMRU5EQVJfSTE4Tlt0aGlzLmFwcGVhcmFuY2UubGFuZ3VhZ2VdOyB9XG4gIHB1YmxpYyBnZXQgbW9udGhzTGlzdCgpIHsgcmV0dXJuIHRoaXMuYXBwZWFyYW5jZS5sYW5ndWFnZSA9PT0gJ2VuJyA/IE1PTlRIU19FTiA6IE1PTlRIU19FUzsgfVxuICBwdWJsaWMgZ2V0IGRheXNMaXN0KCkgeyByZXR1cm4gdGhpcy5hcHBlYXJhbmNlLmxhbmd1YWdlID09PSAnZW4nID8gREFZU19TSE9SVF9FTiA6IERBWVNfU0hPUlRfRVM7IH1cblxuICBwdWJsaWMgdHJhY2tCeVdlZWsoaW5kZXg6IG51bWJlciwgXzogYW55KTogbnVtYmVyIHsgcmV0dXJuIGluZGV4OyB9XG4gIHB1YmxpYyB0cmFja0J5RGF5KF86IG51bWJlciwgZGF5OiBDYWxlbmRhckRhdGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtkYXkubW9udGhZZWFyLnllYXJ9LSR7ZGF5Lm1vbnRoWWVhci5tb250aH0tJHtkYXkuZGF5fWA7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3Qgc2hvdWxkUmVzdGFydCA9IGNoYW5nZXNbJ3Jlc3RhcnQnXSAmJiB0aGlzLnJlc3RhcnQ7XG5cdFx0Y29uc3Qgc2hvdWxkQXBweSA9IGNoYW5nZXNbJ2FwcHlPbkNsb3NlJ10gJiYgdGhpcy5hcHB5T25DbG9zZTtcbiAgICBjb25zdCBzaG91bGRQcm9jZXNzUHJlU2VsZWN0ZWQgPSBjaGFuZ2VzWydwcmVTZWxlY3RlZERhdGUnXSAmJiB0aGlzLmNvbmZpZy5pbml0RGF0ZTtcblxuXHRcdGlmIChzaG91bGRBcHB5KSB7IHRoaXMuYXBwbHlTZWxlY3RlZERhdGUoKTsgfVxuICAgIGlmIChzaG91bGRSZXN0YXJ0IHx8IHNob3VsZFByb2Nlc3NQcmVTZWxlY3RlZCkgeyB0aGlzLnByb2Nlc3NJbml0RGF0ZSgpOyB9XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NJbml0RGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yYW5nZSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7cHJvY2Vzc1ByZXNlbGVjdGVkUmFuZ2VEYXRlKHRoaXMpfSwgMCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy5pbml0RGF0ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHRoaXMuY3VycmVudERhdGUgPSBnZXRTdGFydERhdGUodGhpcy5jb25maWcuaW5pdERhdGUpO1xuICAgICAgdGhpcy5zZWxlY3RlZERheSA9IGRhdGVUb0NhbGVuZGFyRGF5KHRoaXMuY29uZmlnLmluaXREYXRlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNEYXRlU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gIXRoaXMucmFuZ2UgPyAhIXRoaXMuc2VsZWN0ZWREYXkgOiAhIXRoaXMuc2VsZWN0ZWRSYW5nZVN0YXJ0ICYmICEhdGhpcy5zZWxlY3RlZFJhbmdlRW5kO1xuICB9XG5cbiAgcHVibGljIGdldERheVNlbGVjdGlvbkNsYXNzKGRheTogQ2FsZW5kYXJEYXRlKTogc3RyaW5nIHtcbiAgICBpZiAoIWRheS5pbkN1cnJlbnRNb250aCkgcmV0dXJuICdkaXNhYmxlZCc7XG5cbiAgICBjb25zdCBkYXlEYXRlID0gbmV3IERhdGUoZGF5Lm1vbnRoWWVhci55ZWFyLCBkYXkubW9udGhZZWFyLm1vbnRoLCBkYXkuZGF5KTtcblxuICAgIGlmICh0aGlzLmNvbmZpZz8ubWluRGF0ZSkgeyBpZiAoZGF5RGF0ZSA8IHRoaXMuY29uZmlnLm1pbkRhdGUpIHJldHVybiAnZGlzYWJsZWQnOyB9XG4gICAgaWYgKHRoaXMuY29uZmlnPy5tYXhEYXRlKSB7IGlmIChkYXlEYXRlID4gdGhpcy5jb25maWcubWF4RGF0ZSkgcmV0dXJuICdkaXNhYmxlZCc7IH1cblxuICAgIHJldHVybiB0aGlzLnJhbmdlID8gZ2V0UmFuZ2VTZWxlY3Rpb25DbGFzcyh0aGlzLCBkYXkpIDogdGhpcy5nZXRTaW5nbGVEYXlTZWxlY3Rpb25DbGFzcyhkYXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTaW5nbGVEYXlTZWxlY3Rpb25DbGFzcyhkYXk6IENhbGVuZGFyRGF0ZSk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWREYXkgJiYgZGF5LmRheSA9PT0gdGhpcy5zZWxlY3RlZERheS5kYXkgJiZcbiAgICAgIGRheS5tb250aFllYXIubW9udGggPT09IHRoaXMuc2VsZWN0ZWREYXkubW9udGhZZWFyLm1vbnRoICYmXG4gICAgICBkYXkubW9udGhZZWFyLnllYXIgPT09IHRoaXMuc2VsZWN0ZWREYXkubW9udGhZZWFyLnllYXIpIHtcbiAgICAgIHJldHVybiAnc2wgc2luZ2xlJztcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0RGF5KGRheTogQ2FsZW5kYXJEYXRlKTogdm9pZCB7XG4gICAgaWYgKCFkYXkuaW5DdXJyZW50TW9udGgpIHJldHVybjtcblxuICAgIGlmICghdGhpcy5yYW5nZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZERheSA9IGRheTtcbiAgICAgIGNvbnN0IGN1cnJlbnREYXRlID0gY2FsZW5kYXJEYXRlVG9EYXRlKGRheSk7XG4gICAgICB0aGlzLmNhbGVuZGFyUmVzcG9uc2UuZW1pdChjdXJyZW50RGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG9uU2VsZWN0RGF5c1JhbmdlKHRoaXMsIGRheSk7XG4gICAgICB0aGlzLnNlbGVjdGVkUmFnZS5lbWl0KGRheSk7XG4gICAgfVxuICB9XG5cblx0cHVibGljIGFwcGx5U2VsZWN0ZWREYXRlKCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLnJhbmdlKSB7XG5cdFx0XHRpZiAodGhpcy5zZWxlY3RlZFJhbmdlU3RhcnQgJiYgdGhpcy5zZWxlY3RlZFJhbmdlRW5kKSB7XG5cdFx0XHRcdG9uQXBwbHlSYWdlRGF0ZSh0aGlzKTtcblx0XHRcdH0gZWxzZSBpZiAodGhpcy5lbmREYXRlRmllbGQgJiYgdGhpcy5zdGFydERhdGVGaWVsZCkge1xuXHRcdFx0XHR0aGlzLmNsZWFyU2VsZWN0ZWREYXRlKCdhbGwnKTtcblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKHRoaXMuc2VsZWN0ZWREYXkpIHtcblx0XHRcdGNvbnN0IGRhdGUgPSBjYWxlbmRhckRhdGVUb0RhdGUodGhpcy5zZWxlY3RlZERheSk7XG5cdFx0XHR0aGlzLmNhbGVuZGFyUmVzcG9uc2UuZW1pdChkYXRlKTtcblx0XHR9XG5cdH1cblxuICBwdWJsaWMgY2xlYXJTZWxlY3RlZERhdGUoY2xlYXJUYXJnZXQ6ICdhbGwnIHwgJ3N0YXJ0JyB8ICdlbmQnKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmFuZ2UgJiYgKGNsZWFyVGFyZ2V0ID09PSAnYWxsJyB8fCBjbGVhclRhcmdldCA9PT0gJ2VuZCcpKSB7XG5cdFx0XHR0aGlzLmVuZERhdGVFcnJvciA9ICcnO1xuXHQgICAgdGhpcy5lbmREYXRlRmllbGQuZm9jdXMoKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRSYW5nZUVuZCA9IG51bGw7XG5cdFx0XHR0aGlzLnN0YXJ0RmllbGREaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5lbmREYXRlRmllbGQuaW5wdXRWYWx1ZSA9ICcnO1xuXHRcdFx0aWYodGhpcy5zZWxlY3RlZFJhbmdlU3RhcnQpIHsgdGhpcy5jdXJyZW50RGF0ZSA9IGNhbGVuZGFyRGF0ZVRvRGF0ZSh0aGlzLnNlbGVjdGVkUmFuZ2VTdGFydCkgfVxuICAgIH1cblxuXHQgIGlmICh0aGlzLnJhbmdlICYmIChjbGVhclRhcmdldCA9PT0gJ2FsbCcgfHwgY2xlYXJUYXJnZXQgPT09ICdzdGFydCcpKSB7XG5cdFx0ICB0aGlzLnN0YXJ0RGF0ZUVycm9yID0gJyc7XG5cdFx0XHR0aGlzLnN0YXJ0RGF0ZUZpZWxkLmZvY3VzKCk7XG5cdFx0XHR0aGlzLmVuZEZpZWxkRGlzYWJsZWQgPSBmYWxzZTtcblx0XHQgIHRoaXMuc2VsZWN0ZWRSYW5nZVN0YXJ0ID0gbnVsbDtcblx0XHQgIHRoaXMuc3RhcnREYXRlRmllbGQuaW5wdXRWYWx1ZSA9ICcnO1xuXHRcdCAgaWYodGhpcy5zZWxlY3RlZFJhbmdlRW5kKSB7IHRoaXMuY3VycmVudERhdGUgPSBjYWxlbmRhckRhdGVUb0RhdGUodGhpcy5zZWxlY3RlZFJhbmdlRW5kKSB9XG5cdCAgfVxuXG5cdFx0aWYgKHRoaXMucmFuZ2UgJiYgdGhpcy5zZWxlY3RlZFJhbmdlU3RhcnQgPT09IG51bGwgJiYgdGhpcy5zZWxlY3RlZFJhbmdlRW5kID09PSBudWxsKSB7XG5cdFx0XHR0aGlzLmZvY3VzZWQgPSAnc3RhcnQnO1xuXHRcdFx0dGhpcy5zdGFydERhdGVGaWVsZC5mb2N1cygpO1xuXHRcdFx0dGhpcy5jdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XG5cdFx0fVxuXG4gICAgdGhpcy5zZWxlY3RlZERheSA9IG51bGw7XG5cdFx0dGhpcy5ub3RpZmljYXRpb24gPSBudWxsO1xuXHRcdGlmICghdGhpcy5yYW5nZSkgeyB0aGlzLmN1cnJlbnREYXRlID0gbmV3IERhdGUoKTsgfVxuXG4gICAgdGhpcy5jbGVhclNlbGVjdGlvbi5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlQ2FsZW5kYXJSZXNwb25zZShkYXRlOiBEYXRlIHwgRGF0ZVtdLCBpc01vbnRoOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKCEoZGF0ZSBpbnN0YW5jZW9mIERhdGUpKSByZXR1cm47XG5cbiAgICBjb25zdCB5ZWFyID0gaXNNb250aCA/IHRoaXMuY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKSA6IGRhdGUuZ2V0RnVsbFllYXIoKTtcbiAgICBjb25zdCBtb250aCA9IGlzTW9udGggPyBkYXRlLmdldE1vbnRoKCkgOiB0aGlzLmN1cnJlbnREYXRlLmdldE1vbnRoKCk7XG5cbiAgICB0aGlzLmN1cnJlbnREYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGgsIHRoaXMuY3VycmVudERhdGUuZ2V0RGF0ZSgpKTtcblxuICAgIGlmIChpc01vbnRoKSB7IHRoaXMuaW5pdE1vbnRoID0gdGhpcy5jdXJyZW50RGF0ZTsgdGhpcy5zaG93TW9udGhDYWxlbmRhciA9IGZhbHNlOyB9XG4gICAgZWxzZSB7IHRoaXMuaW5pdFllYXIgPSB0aGlzLmN1cnJlbnREYXRlOyB0aGlzLnNob3dZZWFyQ2FsZW5kYXIgPSBmYWxzZTsgfVxuXG4gICAgdGhpcy5jaGFuZ2VNb250aFllYXJSZXNwb25zZS5lbWl0KHRoaXMuY3VycmVudERhdGUpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZU9uQ2xpY2tEcm9wZG93bkxhYmVsKGlzTW9udGg6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgIHRoaXMuaW5pdE1vbnRoID0gaXNNb250aCA/IHRoaXMuY3VycmVudERhdGUgOiB0aGlzLmluaXRNb250aDtcbiAgICAgIHRoaXMuaW5pdFllYXIgPSAhaXNNb250aCA/IHRoaXMuY3VycmVudERhdGUgOiB0aGlzLmluaXRZZWFyO1xuXG4gICAgICB0aGlzLnNob3dNb250aENhbGVuZGFyID0gaXNNb250aDtcbiAgICAgIHRoaXMuc2hvd1llYXJDYWxlbmRhciA9ICFpc01vbnRoO1xuXG4gICAgICB0aGlzLm9wZW5JbnRlZ3JhdGVkQ2FsZW5kYXIuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIGdldE1vbnRoR3JpZCgpOiBDYWxlbmRhckRhdGVbXVtdIHtcbiAgICBsZXQgd2VlazogQ2FsZW5kYXJEYXRlW10gPSBbXTtcblxuICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCBncmlkOiBDYWxlbmRhckRhdGVbXVtdID0gW107XG4gICAgY29uc3QgYmFzZURhdGUgPSB0aGlzLmN1cnJlbnREYXRlO1xuICAgIGNvbnN0IG1vbnRoID0gYmFzZURhdGUuZ2V0TW9udGgoKTtcbiAgICBjb25zdCB5ZWFyID0gYmFzZURhdGUuZ2V0RnVsbFllYXIoKTtcblxuICAgIGNvbnN0IGZpcnN0RGF5ID0gbmV3IERhdGUoeWVhciwgbW9udGgsIDEpO1xuICAgIGNvbnN0IHN0YXJ0V2Vla2RheSA9IChmaXJzdERheS5nZXREYXkoKSArIDYpICUgNztcblxuICAgIGNvbnN0IGRheXNJbk1vbnRoID0gbmV3IERhdGUoeWVhciwgbW9udGggKyAxLCAwKS5nZXREYXRlKCk7XG4gICAgY29uc3QgZGF5c0luUHJldk1vbnRoID0gbmV3IERhdGUoeWVhciwgbW9udGgsIDApLmdldERhdGUoKTtcblxuICAgIC8vIGZpbGwgZGF5cyBmcm9tIHByZXZpb3VzIG1vbnRoXG4gICAgZm9yIChsZXQgaSA9IHN0YXJ0V2Vla2RheSAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgIGNvbnN0IGRheSA9IGRheXNJblByZXZNb250aCAtIGk7XG4gICAgICAgIGNvbnN0IHdlZWtEYXkgPSAoc3RhcnRXZWVrZGF5IC0gMSAtIGkgKyA3KSAlIDc7XG4gICAgICAgIHdlZWsucHVzaCh7IGRheSwgbW9udGhZZWFyOiB7bW9udGg6IG1vbnRoIC0gMSwgeWVhcjogeWVhcn0sIGlzVG9kYXk6IGZhbHNlLCBpbkN1cnJlbnRNb250aDogZmFsc2UsIHdlZWtEYXkgfSk7XG4gICAgfVxuXG4gICAgLy8gZmlsbCBkYXlzIGZyb20gY3VycmVudCBtb250aFxuICAgIGZvciAobGV0IGQgPSAxOyBkIDw9IGRheXNJbk1vbnRoOyBkKyspIHtcbiAgICAgICAgY29uc3QgaXNUb2RheSA9IGQgPT09IHRvZGF5LmdldERhdGUoKSAmJiBtb250aCA9PT0gdG9kYXkuZ2V0TW9udGgoKSAmJiB5ZWFyID09PSB0b2RheS5nZXRGdWxsWWVhcigpO1xuICAgICAgICBjb25zdCB3ZWVrRGF5ID0gd2Vlay5sZW5ndGggJSA3O1xuICAgICAgICB3ZWVrLnB1c2goeyBkYXk6IGQsIG1vbnRoWWVhcjoge21vbnRoOiBtb250aCwgeWVhcjogeWVhcn0sIGlzVG9kYXksIGluQ3VycmVudE1vbnRoOiB0cnVlLCB3ZWVrRGF5IH0pO1xuXG4gICAgICAgIGlmICh3ZWVrLmxlbmd0aCA9PT0gNykge1xuICAgICAgICAgICAgZ3JpZC5wdXNoKHdlZWspO1xuICAgICAgICAgICAgd2VlayA9IFtdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gZmlsbCByZW1haW5pbmcgZGF5cyBmcm9tIG5leHQgbW9udGhcbiAgICBsZXQgbmV4dERheSA9IDE7XG4gICAgd2hpbGUgKHdlZWsubGVuZ3RoIDwgNykge1xuICAgICAgICBjb25zdCB3ZWVrRGF5ID0gd2Vlay5sZW5ndGg7XG4gICAgICAgIHdlZWsucHVzaCh7IGRheTogbmV4dERheSsrLCBtb250aFllYXI6IHttb250aDogbW9udGggKyAxLCB5ZWFyOiB5ZWFyfSwgaXNUb2RheTogZmFsc2UsIGluQ3VycmVudE1vbnRoOiBmYWxzZSwgd2Vla0RheSB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBoYXNDdXJyZW50TW9udGhEYXkgPSB3ZWVrLnNvbWUoZGF5ID0+IGRheS5pbkN1cnJlbnRNb250aCk7XG4gICAgaWYgKGhhc0N1cnJlbnRNb250aERheSkge1xuICAgICAgICBncmlkLnB1c2god2Vlayk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdyaWQ7XG4gIH1cblxuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgY2hhbmdlRGF0ZSA9IGNoYW5nZURhdGU7XG4gIHByb3RlY3RlZCByZWFkb25seSBpc1ByZXZpZXcgPSBpc1ByZXZpZXc7XG5cdHByb3RlY3RlZCByZWFkb25seSBzZWFyY2hEYXRlID0gc2VhcmNoRGF0ZTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG9uSG92ZXJEYXkgPSBvbkhvdmVyRGF5O1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgb25EYXRlS2V5dXAgPSBvbkRhdGVLZXl1cDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG9uQ2xlYXJIb3ZlciA9IG9uQ2xlYXJIb3Zlcjtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IGNhbGVuZGFyRGF0ZVRvRGF0ZSA9IGNhbGVuZGFyRGF0ZVRvRGF0ZTtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IGlzUGVyaW9kQXZhaWxhYmxlID0gaXNQZXJpb2RBdmFpbGFibGU7XG59IiwiPHNlY3Rpb24gKm5nSWY9XCJzaG93TW9udGhDYWxlbmRhclwiPlxuICA8bW9udGgtY2FsZW5kYXJcbiAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgW2ludGVncmF0ZWRNb2RlXT1cInRydWVcIlxuICAgIFtyZXN0YXJ0XT1cInNob3dNb250aENhbGVuZGFyXCJcbiAgICAocmVzcG9uc2UpPVwiaGFuZGxlQ2FsZW5kYXJSZXNwb25zZSgkZXZlbnQsIHRydWUpXCIgW2luaXREYXRlXT1cImluaXRNb250aFwiXG4gICAgW2FwcGVhcmFuY2VdPVwie2xhbmd1YWdlOiBhcHBlYXJhbmNlLmxhbmd1YWdlLCBpc01vYmlsZTogYXBwZWFyYW5jZS5pc01vYmlsZSwgYWN0aW9uczogZmFsc2UsIH1cIj5cbiAgPC9tb250aC1jYWxlbmRhcj5cbjwvc2VjdGlvbj5cblxuPHNlY3Rpb24gKm5nSWY9XCJzaG93WWVhckNhbGVuZGFyXCI+XG4gIDx5ZWFyLWNhbGVuZGFyXG4gICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgIFtpbnRlZ3JhdGVkTW9kZV09XCJ0cnVlXCJcbiAgICBbcmVzdGFydF09XCJzaG93WWVhckNhbGVuZGFyXCJcbiAgICAocmVzcG9uc2UpPVwiaGFuZGxlQ2FsZW5kYXJSZXNwb25zZSgkZXZlbnQsIGZhbHNlKVwiIFtpbml0RGF0ZV09XCJpbml0WWVhclwiXG4gICAgW2FwcGVhcmFuY2VdPVwie2xhbmd1YWdlOiBhcHBlYXJhbmNlLmxhbmd1YWdlLCBpc01vYmlsZTogYXBwZWFyYW5jZS5pc01vYmlsZSwgYWN0aW9uczogZmFsc2V9XCI+XG4gIDwveWVhci1jYWxlbmRhcj5cbjwvc2VjdGlvbj5cblxuPGRpdiAqbmdJZj1cIiFzaG93WWVhckNhbGVuZGFyICYmICFzaG93TW9udGhDYWxlbmRhclwiIGNsYXNzPVwiZ3Jhdml0eS1jYWxlbmRhci1jb250ZW50XCIgW2NsYXNzLm1vYmlsZV09XCJhcHBlYXJhbmNlLmlzTW9iaWxlXCI+XG4gIDxzcGFuICpuZ0lmPVwiIWFwcGVhcmFuY2UuaXNNb2JpbGVcIiBjbGFzcz1cImhyLWxhYmVsIHNtLWJvbGQgdGl0bGVcIj57e3JhbmdlID8gaTE4bi5zZWxlY3RfcmFuZ2UgOiBpMThuLnNlbGVjdF9kYXRlfX08L3NwYW4+XG5cbiAgPGRpdiAqbmdJZj1cInJhbmdlXCIgY2xhc3M9XCJzZWxlY3RlZC1kYXRlc1wiPlxuICAgIDxncmF2aXR5LXRleHQtZmllbGQgI3N0YXJ0RGF0ZVxuICAgICAgW3NpemVdPVwiJ3NtJ1wiXG4gICAgICBbd2lkdGhdPVwiJ3Nob3J0J1wiXG4gICAgICBbbGFiZWxdPVwiaTE4bi5zdGFydF9kYXRlXCJcbiAgICAgIFtpbnB1dENvbnRlbnRUeXBlXT1cIidkYXRlJ1wiXG4gICAgICBbc3VwcG9ydFRleHRdPVwic3RhcnREYXRlRXJyb3JcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cImkxOG4uZGF0ZV9wbGFjZWhvbGRlclwiXG4gICAgICBbY2xpY2tPblJpZ2h0SWNvbl09XCIhc3RhcnRGaWVsZERpc2FibGVkXCJcbiAgICAgIChrZXl1cCk9XCJvbkRhdGVLZXl1cCh0aGlzLCAkZXZlbnQsICdzdGFydCcpXCJcbiAgICAgIChjbGlja0ljb25SaWdodCk9XCJjbGVhclNlbGVjdGVkRGF0ZSgnc3RhcnQnKVwiXG4gICAgICAoZm9jdXNvdXQpPVwic2VhcmNoRGF0ZSh0aGlzLCBzdGFydERhdGUuaW5wdXRWYWx1ZSwgJ3N0YXJ0JylcIlxuICAgICAgW2ljb25SaWdodF09XCIoc2VsZWN0ZWRSYW5nZVN0YXJ0IHx8IHN0YXJ0RGF0ZS5pbnB1dFZhbHVlLmxlbmd0aCA+IDkpID8gJ3Vuc3VjY2VzcycgOiAgJydcIlxuICAgICAgKGNsaWNrKT1cImZvY3VzZWQgPSAnc3RhcnQnOyBzZWxlY3RlZFJhbmdlU3RhcnQgPyBjdXJyZW50RGF0ZSA9IGNhbGVuZGFyRGF0ZVRvRGF0ZShzZWxlY3RlZFJhbmdlU3RhcnQpIDogbnVsbFwiXG4gICAgICBbY3VzdG9tU3RhdGVdPVwic3RhcnRGaWVsZERpc2FibGVkID8gJ2Rpc2FibGVkJyA6IHN0YXJ0RGF0ZUVycm9yID8gJ3R5cGVkLWVycm9yJyA6IChzdGFydERhdGUuaW5wdXRWYWx1ZS5sZW5ndGggPCAxID8gJ2RlZmF1bHQnIDogJ3R5cGluZycpXCIvPlxuXG4gICAgPGdyYXZpdHktdGV4dC1maWVsZCAjZW5kRGF0ZVxuICAgICAgW3NpemVdPVwiJ3NtJ1wiXG4gICAgICBbd2lkdGhdPVwiJ3Nob3J0J1wiXG4gICAgICBbbGFiZWxdPVwiaTE4bi5lbmRfZGF0ZVwiXG4gICAgICBbaW5wdXRDb250ZW50VHlwZV09XCInZGF0ZSdcIlxuICAgICAgW3N1cHBvcnRUZXh0XT1cImVuZERhdGVFcnJvclwiXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiaTE4bi5kYXRlX3BsYWNlaG9sZGVyXCJcbiAgICAgIFtjbGlja09uUmlnaHRJY29uXT1cIiFlbmRGaWVsZERpc2FibGVkXCJcbiAgICAgIChrZXl1cCk9XCJvbkRhdGVLZXl1cCh0aGlzLCAkZXZlbnQsICdlbmQnKVwiXG4gICAgICAoY2xpY2tJY29uUmlnaHQpPVwiY2xlYXJTZWxlY3RlZERhdGUoJ2VuZCcpXCJcbiAgICAgIChmb2N1c291dCk9XCJzZWFyY2hEYXRlKHRoaXMsIGVuZERhdGUuaW5wdXRWYWx1ZSwgJ2VuZCcpXCJcbiAgICAgIFtpY29uUmlnaHRdPVwiKHNlbGVjdGVkUmFuZ2VFbmQgfHwgZW5kRGF0ZS5pbnB1dFZhbHVlLmxlbmd0aCA+IDkpID8gJ3Vuc3VjY2VzcycgOiAnJ1wiXG4gICAgICAoY2xpY2spPVwiIGZvY3VzZWQgPSAnZW5kJzsgc2VsZWN0ZWRSYW5nZUVuZCA/IGN1cnJlbnREYXRlID0gY2FsZW5kYXJEYXRlVG9EYXRlKHNlbGVjdGVkUmFuZ2VFbmQpIDogbnVsbFwiXG4gICAgICBbY3VzdG9tU3RhdGVdPVwiZW5kRmllbGREaXNhYmxlZCA/ICdkaXNhYmxlZCcgOiBlbmREYXRlRXJyb3IgPyAndHlwZWQtZXJyb3InIDogKGVuZERhdGUuaW5wdXRWYWx1ZS5sZW5ndGggPCAxID8gJ2RlZmF1bHQnIDogJ3R5cGluZycpXCIvPlxuICA8L2Rpdj5cblxuICA8c2VjdGlvbiAgY2xhc3M9XCJncmF2aXR5LWNhbGVuZGFyLWhlYWRlclwiIFtjbGFzcy5tb2JpbGVdPVwiYXBwZWFyYW5jZS5pc01vYmlsZVwiPlxuICAgIDxncmF2aXR5LWljb24tYnV0dG9uIFt0eXBlXT1cIidwcmltYXJ5J1wiIFtzaXplXT1cIidzbSdcIiBbaWNvbl09XCInYXJyb3ctbGVmdCdcIiBbc3VwcG9ydFRleHRdPVwiaTE4bi5wcmV2aWV3X21vbnRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2tPbkljb24pPVwiY3VycmVudERhdGUgPSBjaGFuZ2VEYXRlKC0xLCBjdXJyZW50RGF0ZSwgdHJ1ZSk7IGNoYW5nZU1vbnRoLmVtaXQoLTEpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhdGVdPVwiKG5hdlR5cGUgPT09ICdwcmV2JyB8fCBuYXZUeXBlID09PSAnYm90aCcpICYmIChhcHBlYXJhbmNlLnN0YXRlICE9PSAnZGlzYWJsZWQnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICBpc1BlcmlvZEF2YWlsYWJsZShjdXJyZW50RGF0ZSwgY29uZmlnLm1pbkRhdGUsICdtb250aCcsICdwcmV2JykgPyAnYWN0aXZlJyA6ICdkaXNhYmxlZCdcIi8+XG5cbiAgICA8ZGl2IGNsYXNzPVwibW9udGgteWVhci1sYWJlbFwiPlxuICAgICAgPGdyYXZpdHktZHJvcGRvd24tbGFiZWwgW2ZvbnRDbGFzc109XCInaHItdGl0bGUgc20tYm9sZCdcIiBbc2l6ZV09XCInc20nXCIgW2xhYmVsXT1cIm1vbnRoc0xpc3RbY3VycmVudERhdGUuZ2V0TW9udGgoKV1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXRlXT1cImFwcGVhcmFuY2Uuc3RhdGUgPT09ICdkaXNhYmxlZCcgPyAnaW5hY3RpdmUnIDogJ2FjdGl2ZSdcIiAob25DbGlja0xhYmVsKT1cImhhbmRsZU9uQ2xpY2tEcm9wZG93bkxhYmVsKHRydWUpXCI+IDwvZ3Jhdml0eS1kcm9wZG93bi1sYWJlbD5cblxuICAgICAgPGdyYXZpdHktZHJvcGRvd24tbGFiZWwgW2ZvbnRDbGFzc109XCInaHItdGl0bGUgc20tYm9sZCdcIiBbc2l6ZV09XCInc20nXCIgW2xhYmVsXT1cImN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhdGVdPVwiYXBwZWFyYW5jZS5zdGF0ZSA9PT0gJ2Rpc2FibGVkJyA/ICdpbmFjdGl2ZScgOiAnYWN0aXZlJ1wiIChvbkNsaWNrTGFiZWwpPVwiaGFuZGxlT25DbGlja0Ryb3Bkb3duTGFiZWwoZmFsc2UpXCI+IDwvZ3Jhdml0eS1kcm9wZG93bi1sYWJlbD5cbiAgICA8L2Rpdj5cblxuICAgICAgPGdyYXZpdHktaWNvbi1idXR0b24gW3R5cGVdPVwiJ3ByaW1hcnknXCIgW3NpemVdPVwiJ3NtJ1wiIFtpY29uXT1cIidhcnJvdy1yaWdodCdcIiBbc3VwcG9ydFRleHRdPVwiaTE4bi5uZXh0X21vbnRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGlja09uSWNvbik9XCJjdXJyZW50RGF0ZSA9IGNoYW5nZURhdGUoMSwgY3VycmVudERhdGUsIHRydWUpOyBjaGFuZ2VNb250aC5lbWl0KDEpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0ZV09XCIobmF2VHlwZSA9PT0gJ25leHQnIHx8IG5hdlR5cGUgPT09ICdib3RoJykgJiYgKGFwcGVhcmFuY2Uuc3RhdGUgIT09ICdkaXNhYmxlZCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNQZXJpb2RBdmFpbGFibGUoY3VycmVudERhdGUsIGNvbmZpZy5tYXhEYXRlLCAnbW9udGgnLCAnbmV4dCcpID8gJ2FjdGl2ZScgOiAnZGlzYWJsZWQnXCIvPlxuICA8L3NlY3Rpb24+XG5cbiAgPHNlY3Rpb24gY2xhc3M9XCJncmF2aXR5LWNhbGVuZGFyLWJvZHlcIiBbY2xhc3MubW9iaWxlXT1cImFwcGVhcmFuY2UuaXNNb2JpbGVcIj5cbiAgICA8c2VjdGlvbiBjbGFzcz1cImRheXMtbmFtZS1saW5lXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGF5cy1uYW1lXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaHItYm9keVwiIFtuZ0NsYXNzXT1cImFwcGVhcmFuY2UuaXNNb2JpbGUgPyAnbWQtcmVndWxhcicgOiAnc20tcmVndWxhcidcIlxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZGF5IG9mIGRheXNMaXN0XCI+IHt7IGRheSB9fSA8L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvci1saW5lXCI+PC9kaXY+XG4gICAgPC9zZWN0aW9uPlxuXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJkYXlzLW51bWJlci1zZWxlY3RvclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImRheXMtbnVtYmVyLXRhYmxlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrLXJvd1wiICpuZ0Zvcj1cImxldCB3ZWVrIG9mIGdldE1vbnRoR3JpZCgpOyB0cmFja0J5OiB0cmFja0J5V2Vla1wiPlxuICAgICAgICAgPHNwYW4gY2xhc3M9XCJoci1ib2R5XCIgKm5nRm9yPVwibGV0IGRheSBvZiB3ZWVrOyB0cmFja0J5OiB0cmFja0J5RGF5XCJcbiAgICAgICAgICBbY2xhc3MucHJldmlld109XCJyYW5nZSA/IGlzUHJldmlldyh0aGlzLCBkYXkpIDogbnVsbFwiXG4gICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIiFkYXkuaW5DdXJyZW50TW9udGhcIiBbY2xhc3MudG9kYXldPVwiZGF5LmlzVG9kYXlcIlxuICAgICAgICAgIChtb3VzZWVudGVyKT1cInJhbmdlID8gb25Ib3ZlckRheSh0aGlzLCBkYXkpIDogbnVsbDsgaG92ZXJEYXkuZW1pdChkYXkpXCJcbiAgICAgICAgICAobW91c2VsZWF2ZSk9XCJyYW5nZSA/IG9uQ2xlYXJIb3Zlcih0aGlzKSA6IG51bGw7IHRoaXMuY2xlYXJIb3Zlci5lbWl0KClcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIlthcHBlYXJhbmNlLmlzTW9iaWxlID8gJ21kLXJlZ3VsYXInIDogJ3NtLXJlZ3VsYXInLFxuICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2Uuc3RhdGUgPT09ICdkaXNhYmxlZCcgPyAnZGlzYWJsZWQnIDogZ2V0RGF5U2VsZWN0aW9uQ2xhc3MoZGF5KV1cIlxuICAgICAgICAgIChjbGljayk9XCJkYXkuaW5DdXJyZW50TW9udGggPyBvblNlbGVjdERheShkYXkpOiBudWxsXCI+IHt7IGRheS5kYXkgfX0gPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwibm90aWZpY2F0aW9uXCIgY2xhc3M9XCJub3RpZmljYXRpb25cIiBbY2xhc3MuZXJyb3JdPVwibm90aWZpY2F0aW9uLmVycm9yXCI+XG4gICAgICAgIDxncmF2aXR5LWljb24gW3N0eWxlLi0taWNvbi1jb2xvcl09XCIndmFyKC0tbm90aWZpY2F0aW9uLWljb24tY29sb3IpJ1wiIFtpY29uU2l6ZV09XCInc20tMTInXCIgW2ljb25OYW1lXT1cIidpbmZvcm1hdGlvbi1jaXJjbGUnXCIvPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImhyLWxhYmVsIHNtLXJlZ3VsYXJcIj57e25vdGlmaWNhdGlvbi50ZXh0fX08L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiAqbmdJZj1cImFwcGVhcmFuY2UuYWN0aW9uc1wiIGNsYXNzPVwiYWN0aW9uLXNlY3Rpb25cIiA+XG4gICAgICAgIDxncmF2aXR5LWxpbmsgW2xpbmtUZXh0XT1cImkxOG4uY2xlYXJcIiBbc3RhdGVdPVwiIWlzRGF0ZVNlbGVjdGVkKCkgPyAnZGlzYWJsZWQnIDogJ2FjdGl2ZSdcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIgaXNEYXRlU2VsZWN0ZWQoKSA/IGNsZWFyU2VsZWN0ZWREYXRlKCdhbGwnKSA6IG51bGxcIj4gPC9ncmF2aXR5LWxpbms+XG5cbiAgICAgICAgPGdyYXZpdHktYnV0dG9uIFtzaXplXT1cIidzbSdcIiBbdHlwZV09XCIndGVydGlhcnknXCIgW2Rpc2FibGVkXT1cIiFpc0RhdGVTZWxlY3RlZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJpc0RhdGVTZWxlY3RlZCgpID8gYXBwbHlTZWxlY3RlZERhdGUoKSA6IG51bGxcIj4ge3tpMThuLmFwcGx5fX0gPC9ncmF2aXR5LWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cbiAgPC9zZWN0aW9uPlxuPC9kaXY+XG4iXX0=
|
|
273
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1kYXRlLXBpY2tlci9jb21wb25lbnRzL2RheS1jYWxlbmRhci9kYXktY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LWRhdGUtcGlja2VyL2NvbXBvbmVudHMvZGF5LWNhbGVuZGFyL2RheS1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNySCxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xJLE9BQU8sRUFBQyxzQkFBc0IsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLDJCQUEyQixFQUFFLFVBQVUsRUFBQyxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7OztBQU9sTSxNQUFNLE9BQU8sb0JBQW9CO0lBTGpDO1FBUWtCLFVBQUssR0FBWSxLQUFLLENBQUM7UUFFdkIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUMxQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM1Qixn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QUFDLENBQUM7UUFDaEUsSUFBSSxrQkFBa0IsRUFBRTtZQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ25CO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOytHQXpOVSxvQkFBb0I7bUdBQXBCLG9CQUFvQix5b0JDWmpDLHNtTkFzSEE7OzRGRDFHYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0ksY0FBYzs4QkFLVixRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1MsV0FBVztzQkFBMUIsS0FBSztnQkFDVyxXQUFXO3NCQUExQixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFFVyxVQUFVO3NCQUExQixNQUFNO2dCQUNVLGNBQWM7c0JBQTlCLE1BQU07Z0JBQ1UsUUFBUTtzQkFBeEIsTUFBTTtnQkFDVSxZQUFZO3NCQUE1QixNQUFNO2dCQUNVLGdCQUFnQjtzQkFBaEMsTUFBTTtnQkFFZSxZQUFZO3NCQUFqQyxTQUFTO3VCQUFDLFNBQVM7Z0JBQ0ksY0FBYztzQkFBckMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRlUGlja2VyQXBwZWFyYW5jZSwgRGF0ZVBpY2tlckNvbmZpZywgQ2FsZW5kYXJEYXRlfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2RhdGUtcGlja2VyLm1vZGFsXCI7XG5pbXBvcnQge0dyYXZpdHlUZXh0RmllbGRDb21wb25lbnR9IGZyb20gXCIuLi8uLi8uLi9ncmF2aXR5LXRleHQtZmllbGQvZ3Jhdml0eS10ZXh0LWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDQUxFTkRBUl9JMThOLCBEQVlTX1NIT1JUX0VOLCBEQVlTX1NIT1JUX0VTLCBNT05USFNfRU4sIE1PTlRIU19FU30gZnJvbSBcIi4uLy4uL3NoYXJlZC9kYXRlLXBpY2tlci5jb25zdGFudHNcIjtcbmltcG9ydCB7ZGF0ZVRvQ2FsZW5kYXJEYXksIGdldFN0YXJ0RGF0ZSwgY2hhbmdlRGF0ZSwgY2FsZW5kYXJEYXRlVG9EYXRlLCBpc1BlcmlvZEF2YWlsYWJsZX0gZnJvbSAnLi4vLi4vc2hhcmVkL2RhdGUtcGlja2VyLnV0aWxzJztcbmltcG9ydCB7Z2V0UmFuZ2VTZWxlY3Rpb25DbGFzcywgaXNQcmV2aWV3LCBvbkFwcGx5UmFnZURhdGUsIG9uQ2xlYXJIb3Zlciwgb25EYXRlS2V5dXAsIG9uSG92ZXJEYXksIG9uU2VsZWN0RGF5c1JhbmdlLCBwcm9jZXNzUHJlc2VsZWN0ZWRSYW5nZURhdGUsIHNlYXJjaERhdGV9IGZyb20gXCIuL3JhbmdlLWRheXMtY2FsZW5kYXIudXRpbHNcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkYXktY2FsZW5kYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXktY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RheS1jYWxlbmRhci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERheUNhbGVuZGFyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgcHVibGljIGluaXRZZWFyOiBEYXRlO1xuICBASW5wdXQoKSBwdWJsaWMgaW5pdE1vbnRoOiBEYXRlO1xuICBASW5wdXQoKSBwdWJsaWMgcmFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGNvbmZpZzogRGF0ZVBpY2tlckNvbmZpZztcbiAgQElucHV0KCkgcHVibGljIHJlc3RhcnQ6IGJvb2xlYW4gPSBmYWxzZTtcblx0QElucHV0KCkgcHVibGljIGFwcHlPbkNsb3NlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBjdXJyZW50RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XG4gIEBJbnB1dCgpIHB1YmxpYyBhcHBlYXJhbmNlOiBEYXRlUGlja2VyQXBwZWFyYW5jZTtcbiAgQElucHV0KCkgcHVibGljIG5hdlR5cGU6ICdwcmV2JyB8ICduZXh0JyB8ICdib3RoJyB8ICdub25lJz0gJ2JvdGgnXG5cbiAgQE91dHB1dCgpIHB1YmxpYyBjbGVhckhvdmVyOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJTZWxlY3Rpb246IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBob3ZlckRheTogRXZlbnRFbWl0dGVyPENhbGVuZGFyRGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPENhbGVuZGFyRGF0ZT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBzZWxlY3RlZFJhZ2U6IEV2ZW50RW1pdHRlcjxDYWxlbmRhckRhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxDYWxlbmRhckRhdGU+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2FsZW5kYXJSZXNwb25zZTogRXZlbnRFbWl0dGVyPERhdGVbXSB8IERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlW10gfCBEYXRlPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2VuZERhdGUnKSBlbmREYXRlRmllbGQhOiBHcmF2aXR5VGV4dEZpZWxkQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdzdGFydERhdGUnKSBzdGFydERhdGVGaWVsZCE6IEdyYXZpdHlUZXh0RmllbGRDb21wb25lbnQ7XG5cbiAgcHVibGljIGVuZERhdGVFcnJvcjogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBzdGFydERhdGVFcnJvcjogc3RyaW5nID0gJyc7XG5cdHB1YmxpYyBlbmRGaWVsZERpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cdHB1YmxpYyBzdGFydEZpZWxkRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblx0cHVibGljIHNlbGVjdGVkUmFuZ2VFbmQ6IENhbGVuZGFyRGF0ZSB8IG51bGwgPSBudWxsO1xuXHRwdWJsaWMgc2VsZWN0ZWRSYW5nZVN0YXJ0OiBDYWxlbmRhckRhdGUgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgc2hvd1llYXJDYWxlbmRhcjogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgc2hvd01vbnRoQ2FsZW5kYXI6IGJvb2xlYW4gPSBmYWxzZTtcblx0cHVibGljIGZvY3VzZWQ6ICdzdGFydCcgfCAnZW5kJyA9ICdzdGFydCc7XG5cdHB1YmxpYyBob3ZlcmVkRGF5OiBDYWxlbmRhckRhdGUgfCBudWxsID0gbnVsbDtcblx0cHVibGljIHNlbGVjdGVkRGF5OiBDYWxlbmRhckRhdGUgfCBudWxsID0gbnVsbDtcblx0cHVibGljIG5vdGlmaWNhdGlvbjoge3RleHQ6IHN0cmluZywgZXJyb3I6IGJvb2xlYW59O1xuXG4gIHB1YmxpYyBnZXQgaTE4bigpIHsgcmV0dXJuIENBTEVOREFSX0kxOE5bdGhpcy5hcHBlYXJhbmNlLmxhbmd1YWdlXTsgfVxuICBwdWJsaWMgZ2V0IG1vbnRoc0xpc3QoKSB7IHJldHVybiB0aGlzLmFwcGVhcmFuY2UubGFuZ3VhZ2UgPT09ICdlbicgPyBNT05USFNfRU4gOiBNT05USFNfRVM7IH1cbiAgcHVibGljIGdldCBkYXlzTGlzdCgpIHsgcmV0dXJuIHRoaXMuYXBwZWFyYW5jZS5sYW5ndWFnZSA9PT0gJ2VuJyA/IERBWVNfU0hPUlRfRU4gOiBEQVlTX1NIT1JUX0VTOyB9XG5cbiAgcHVibGljIHRyYWNrQnlXZWVrKGluZGV4OiBudW1iZXIsIF86IGFueSk6IG51bWJlciB7IHJldHVybiBpbmRleDsgfVxuICBwdWJsaWMgdHJhY2tCeURheShfOiBudW1iZXIsIGRheTogQ2FsZW5kYXJEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7ZGF5Lm1vbnRoWWVhci55ZWFyfS0ke2RheS5tb250aFllYXIubW9udGh9LSR7ZGF5LmRheX1gO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IHNob3VsZFJlc3RhcnQgPSBjaGFuZ2VzWydyZXN0YXJ0J10gJiYgdGhpcy5yZXN0YXJ0O1xuXHRcdGNvbnN0IHNob3VsZEFwcHkgPSBjaGFuZ2VzWydhcHB5T25DbG9zZSddICYmIHRoaXMuYXBweU9uQ2xvc2U7XG4gICAgY29uc3Qgc2hvdWxkUHJvY2Vzc1ByZVNlbGVjdGVkID0gY2hhbmdlc1sncHJlU2VsZWN0ZWREYXRlJ10gJiYgdGhpcy5jb25maWcuaW5pdERhdGU7XG5cblx0XHRpZiAoc2hvdWxkQXBweSkgeyB0aGlzLmFwcGx5U2VsZWN0ZWREYXRlKCk7IH1cbiAgICBpZiAoc2hvdWxkUmVzdGFydCB8fCBzaG91bGRQcm9jZXNzUHJlU2VsZWN0ZWQpIHsgdGhpcy5wcm9jZXNzSW5pdERhdGUoKTsgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzSW5pdERhdGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmFuZ2UpIHtcbiAgICAgIHByb2Nlc3NQcmVzZWxlY3RlZFJhbmdlRGF0ZSh0aGlzKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLmluaXREYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgdGhpcy5jdXJyZW50RGF0ZSA9IGdldFN0YXJ0RGF0ZSh0aGlzLmNvbmZpZy5pbml0RGF0ZSk7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF5ID0gZGF0ZVRvQ2FsZW5kYXJEYXkodGhpcy5jb25maWcuaW5pdERhdGUpO1xuICAgIH1cbiAgfVxuXG5cdHB1YmxpYyBoYXNEYXRlU2VsZWN0ZWQocmVxdWlyZUJvdGhJblJhbmdlID0gZmFsc2UpOiBib29sZWFuIHtcblx0XHRpZiAoIXRoaXMucmFuZ2UpIHtcblx0XHRcdHJldHVybiAhIXRoaXMuc2VsZWN0ZWREYXk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiByZXF1aXJlQm90aEluUmFuZ2Vcblx0XHRcdFx0PyAhIXRoaXMuc2VsZWN0ZWRSYW5nZVN0YXJ0ICYmICEhdGhpcy5zZWxlY3RlZFJhbmdlRW5kXG5cdFx0XHRcdDogISF0aGlzLnNlbGVjdGVkUmFuZ2VTdGFydCB8fCAhIXRoaXMuc2VsZWN0ZWRSYW5nZUVuZDtcblx0XHR9XG5cdH1cblxuXG5cdHB1YmxpYyBnZXREYXlTZWxlY3Rpb25DbGFzcyhkYXk6IENhbGVuZGFyRGF0ZSk6IHN0cmluZyB7XG4gICAgaWYgKCFkYXkuaW5DdXJyZW50TW9udGgpIHJldHVybiAnZGlzYWJsZWQnO1xuXG4gICAgY29uc3QgZGF5RGF0ZSA9IG5ldyBEYXRlKGRheS5tb250aFllYXIueWVhciwgZGF5Lm1vbnRoWWVhci5tb250aCwgZGF5LmRheSk7XG5cbiAgICBpZiAodGhpcy5jb25maWc/Lm1pbkRhdGUpIHsgaWYgKGRheURhdGUgPCB0aGlzLmNvbmZpZy5taW5EYXRlKSByZXR1cm4gJ2Rpc2FibGVkJzsgfVxuICAgIGlmICh0aGlzLmNvbmZpZz8ubWF4RGF0ZSkgeyBpZiAoZGF5RGF0ZSA+IHRoaXMuY29uZmlnLm1heERhdGUpIHJldHVybiAnZGlzYWJsZWQnOyB9XG5cbiAgICByZXR1cm4gdGhpcy5yYW5nZSA/IGdldFJhbmdlU2VsZWN0aW9uQ2xhc3ModGhpcywgZGF5KSA6IHRoaXMuZ2V0U2luZ2xlRGF5U2VsZWN0aW9uQ2xhc3MoZGF5KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2luZ2xlRGF5U2VsZWN0aW9uQ2xhc3MoZGF5OiBDYWxlbmRhckRhdGUpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkRGF5ICYmIGRheS5kYXkgPT09IHRoaXMuc2VsZWN0ZWREYXkuZGF5ICYmXG4gICAgICBkYXkubW9udGhZZWFyLm1vbnRoID09PSB0aGlzLnNlbGVjdGVkRGF5Lm1vbnRoWWVhci5tb250aCAmJlxuICAgICAgZGF5Lm1vbnRoWWVhci55ZWFyID09PSB0aGlzLnNlbGVjdGVkRGF5Lm1vbnRoWWVhci55ZWFyKSB7XG4gICAgICByZXR1cm4gJ3NsIHNpbmdsZSc7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdERheShkYXk6IENhbGVuZGFyRGF0ZSk6IHZvaWQge1xuICAgIGlmICghZGF5LmluQ3VycmVudE1vbnRoKSByZXR1cm47XG5cbiAgICBpZiAoIXRoaXMucmFuZ2UpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXkgPSBkYXk7XG4gICAgICBjb25zdCBjdXJyZW50RGF0ZSA9IGNhbGVuZGFyRGF0ZVRvRGF0ZShkYXkpO1xuICAgICAgdGhpcy5jYWxlbmRhclJlc3BvbnNlLmVtaXQoY3VycmVudERhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBvblNlbGVjdERheXNSYW5nZSh0aGlzLCBkYXkpO1xuICAgICAgdGhpcy5zZWxlY3RlZFJhZ2UuZW1pdChkYXkpO1xuICAgIH1cbiAgfVxuXG5cdHB1YmxpYyBhcHBseVNlbGVjdGVkRGF0ZSgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5yYW5nZSkge1xuXHRcdFx0aWYgKHRoaXMuc2VsZWN0ZWRSYW5nZVN0YXJ0ICYmIHRoaXMuc2VsZWN0ZWRSYW5nZUVuZCkge1xuXHRcdFx0XHRvbkFwcGx5UmFnZURhdGUodGhpcyk7XG5cdFx0XHR9IGVsc2UgaWYgKHRoaXMuZW5kRGF0ZUZpZWxkICYmIHRoaXMuc3RhcnREYXRlRmllbGQpIHtcblx0XHRcdFx0dGhpcy5jbGVhclNlbGVjdGVkRGF0ZSgnYWxsJyk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkRGF5KSB7XG5cdFx0XHRjb25zdCBkYXRlID0gY2FsZW5kYXJEYXRlVG9EYXRlKHRoaXMuc2VsZWN0ZWREYXkpO1xuXHRcdFx0dGhpcy5jYWxlbmRhclJlc3BvbnNlLmVtaXQoZGF0ZSk7XG5cdFx0fVxuXHR9XG5cbiAgcHVibGljIGNsZWFyU2VsZWN0ZWREYXRlKGNsZWFyVGFyZ2V0OiAnYWxsJyB8ICdzdGFydCcgfCAnZW5kJyk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJhbmdlICYmIChjbGVhclRhcmdldCA9PT0gJ2FsbCcgfHwgY2xlYXJUYXJnZXQgPT09ICdlbmQnKSkge1xuXHRcdFx0dGhpcy5lbmREYXRlRXJyb3IgPSAnJztcbiAgICAgIHRoaXMuc2VsZWN0ZWRSYW5nZUVuZCA9IG51bGw7XG5cdFx0XHR0aGlzLnN0YXJ0RmllbGREaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5lbmREYXRlRmllbGQuaW5wdXRWYWx1ZSA9ICcnO1xuXHQgICAgaWYoIXRoaXMuYXBwZWFyYW5jZS5pc01vYmlsZSkgeyB0aGlzLmVuZERhdGVGaWVsZC5mb2N1cygpOyB9XG5cdFx0XHRpZih0aGlzLnNlbGVjdGVkUmFuZ2VTdGFydCkgeyB0aGlzLmN1cnJlbnREYXRlID0gY2FsZW5kYXJEYXRlVG9EYXRlKHRoaXMuc2VsZWN0ZWRSYW5nZVN0YXJ0KSB9XG4gICAgfVxuXG5cdCAgaWYgKHRoaXMucmFuZ2UgJiYgKGNsZWFyVGFyZ2V0ID09PSAnYWxsJyB8fCBjbGVhclRhcmdldCA9PT0gJ3N0YXJ0JykpIHtcblx0XHQgIHRoaXMuc3RhcnREYXRlRXJyb3IgPSAnJztcblx0XHRcdHRoaXMuZW5kRmllbGREaXNhYmxlZCA9IGZhbHNlO1xuXHRcdCAgdGhpcy5zZWxlY3RlZFJhbmdlU3RhcnQgPSBudWxsO1xuXHRcdCAgdGhpcy5zdGFydERhdGVGaWVsZC5pbnB1dFZhbHVlID0gJyc7XG5cdFx0ICBpZighdGhpcy5hcHBlYXJhbmNlLmlzTW9iaWxlKSB7IHRoaXMuc3RhcnREYXRlRmllbGQuZm9jdXMoKTsgfVxuXHRcdCAgaWYodGhpcy5zZWxlY3RlZFJhbmdlRW5kKSB7IHRoaXMuY3VycmVudERhdGUgPSBjYWxlbmRhckRhdGVUb0RhdGUodGhpcy5zZWxlY3RlZFJhbmdlRW5kKSB9XG5cdCAgfVxuXG5cdFx0aWYgKHRoaXMucmFuZ2UgJiYgdGhpcy5zZWxlY3RlZFJhbmdlU3RhcnQgPT09IG51bGwgJiYgdGhpcy5zZWxlY3RlZFJhbmdlRW5kID09PSBudWxsKSB7XG5cdFx0XHR0aGlzLmZvY3VzZWQgPSAnc3RhcnQnO1xuXHRcdFx0dGhpcy5jdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XG5cdFx0XHRpZighdGhpcy5hcHBlYXJhbmNlLmlzTW9iaWxlKSB7IHRoaXMuc3RhcnREYXRlRmllbGQuZm9jdXMoKTsgfVxuXHRcdH1cblxuICAgIHRoaXMuc2VsZWN0ZWREYXkgPSBudWxsO1xuXHRcdHRoaXMubm90aWZpY2F0aW9uID0gbnVsbDtcblx0XHRpZiAoIXRoaXMucmFuZ2UpIHsgdGhpcy5jdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7IH1cblxuICAgIHRoaXMuY2xlYXJTZWxlY3Rpb24uZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUNhbGVuZGFyUmVzcG9uc2UoZGF0ZTogRGF0ZSB8IERhdGVbXSwgaXNNb250aDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICghKGRhdGUgaW5zdGFuY2VvZiBEYXRlKSkgcmV0dXJuO1xuXG4gICAgY29uc3QgeWVhciA9IGlzTW9udGggPyB0aGlzLmN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCkgOiBkYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgY29uc3QgbW9udGggPSBpc01vbnRoID8gZGF0ZS5nZXRNb250aCgpIDogdGhpcy5jdXJyZW50RGF0ZS5nZXRNb250aCgpO1xuXG4gICAgdGhpcy5jdXJyZW50RGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCB0aGlzLmN1cnJlbnREYXRlLmdldERhdGUoKSk7XG5cbiAgICBpZiAoaXNNb250aCkgeyB0aGlzLmluaXRNb250aCA9IHRoaXMuY3VycmVudERhdGU7IHRoaXMuc2hvd01vbnRoQ2FsZW5kYXIgPSBmYWxzZTsgfVxuICAgIGVsc2UgeyB0aGlzLmluaXRZZWFyID0gdGhpcy5jdXJyZW50RGF0ZTsgdGhpcy5zaG93WWVhckNhbGVuZGFyID0gZmFsc2U7IH1cbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVPbkNsaWNrRHJvcGRvd25MYWJlbChpc01vbnRoOiBib29sZWFuKTogdm9pZCB7XG4gICAgICB0aGlzLmluaXRNb250aCA9IGlzTW9udGggPyB0aGlzLmN1cnJlbnREYXRlIDogdGhpcy5pbml0TW9udGg7XG4gICAgICB0aGlzLmluaXRZZWFyID0gIWlzTW9udGggPyB0aGlzLmN1cnJlbnREYXRlIDogdGhpcy5pbml0WWVhcjtcblxuICAgICAgdGhpcy5zaG93TW9udGhDYWxlbmRhciA9IGlzTW9udGg7XG4gICAgICB0aGlzLnNob3dZZWFyQ2FsZW5kYXIgPSAhaXNNb250aDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNb250aEdyaWQoKTogQ2FsZW5kYXJEYXRlW11bXSB7XG4gICAgbGV0IHdlZWs6IENhbGVuZGFyRGF0ZVtdID0gW107XG5cbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgZ3JpZDogQ2FsZW5kYXJEYXRlW11bXSA9IFtdO1xuICAgIGNvbnN0IGJhc2VEYXRlID0gdGhpcy5jdXJyZW50RGF0ZTtcbiAgICBjb25zdCBtb250aCA9IGJhc2VEYXRlLmdldE1vbnRoKCk7XG4gICAgY29uc3QgeWVhciA9IGJhc2VEYXRlLmdldEZ1bGxZZWFyKCk7XG5cbiAgICBjb25zdCBmaXJzdERheSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxKTtcbiAgICBjb25zdCBzdGFydFdlZWtkYXkgPSAoZmlyc3REYXkuZ2V0RGF5KCkgKyA2KSAlIDc7XG5cbiAgICBjb25zdCBkYXlzSW5Nb250aCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoICsgMSwgMCkuZ2V0RGF0ZSgpO1xuICAgIGNvbnN0IGRheXNJblByZXZNb250aCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAwKS5nZXREYXRlKCk7XG5cbiAgICAvLyBmaWxsIGRheXMgZnJvbSBwcmV2aW91cyBtb250aFxuICAgIGZvciAobGV0IGkgPSBzdGFydFdlZWtkYXkgLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICBjb25zdCBkYXkgPSBkYXlzSW5QcmV2TW9udGggLSBpO1xuICAgICAgICBjb25zdCB3ZWVrRGF5ID0gKHN0YXJ0V2Vla2RheSAtIDEgLSBpICsgNykgJSA3O1xuICAgICAgICB3ZWVrLnB1c2goeyBkYXksIG1vbnRoWWVhcjoge21vbnRoOiBtb250aCAtIDEsIHllYXI6IHllYXJ9LCBpc1RvZGF5OiBmYWxzZSwgaW5DdXJyZW50TW9udGg6IGZhbHNlLCB3ZWVrRGF5IH0pO1xuICAgIH1cblxuICAgIC8vIGZpbGwgZGF5cyBmcm9tIGN1cnJlbnQgbW9udGhcbiAgICBmb3IgKGxldCBkID0gMTsgZCA8PSBkYXlzSW5Nb250aDsgZCsrKSB7XG4gICAgICAgIGNvbnN0IGlzVG9kYXkgPSBkID09PSB0b2RheS5nZXREYXRlKCkgJiYgbW9udGggPT09IHRvZGF5LmdldE1vbnRoKCkgJiYgeWVhciA9PT0gdG9kYXkuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgY29uc3Qgd2Vla0RheSA9IHdlZWsubGVuZ3RoICUgNztcbiAgICAgICAgd2Vlay5wdXNoKHsgZGF5OiBkLCBtb250aFllYXI6IHttb250aDogbW9udGgsIHllYXI6IHllYXJ9LCBpc1RvZGF5LCBpbkN1cnJlbnRNb250aDogdHJ1ZSwgd2Vla0RheSB9KTtcblxuICAgICAgICBpZiAod2Vlay5sZW5ndGggPT09IDcpIHtcbiAgICAgICAgICAgIGdyaWQucHVzaCh3ZWVrKTtcbiAgICAgICAgICAgIHdlZWsgPSBbXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGZpbGwgcmVtYWluaW5nIGRheXMgZnJvbSBuZXh0IG1vbnRoXG4gICAgbGV0IG5leHREYXkgPSAxO1xuICAgIHdoaWxlICh3ZWVrLmxlbmd0aCA8IDcpIHtcbiAgICAgICAgY29uc3Qgd2Vla0RheSA9IHdlZWsubGVuZ3RoO1xuICAgICAgICB3ZWVrLnB1c2goeyBkYXk6IG5leHREYXkrKywgbW9udGhZZWFyOiB7bW9udGg6IG1vbnRoICsgMSwgeWVhcjogeWVhcn0sIGlzVG9kYXk6IGZhbHNlLCBpbkN1cnJlbnRNb250aDogZmFsc2UsIHdlZWtEYXkgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgaGFzQ3VycmVudE1vbnRoRGF5ID0gd2Vlay5zb21lKGRheSA9PiBkYXkuaW5DdXJyZW50TW9udGgpO1xuICAgIGlmIChoYXNDdXJyZW50TW9udGhEYXkpIHtcbiAgICAgICAgZ3JpZC5wdXNoKHdlZWspO1xuICAgIH1cblxuICAgIHJldHVybiBncmlkO1xuICB9XG5cblx0cHJvdGVjdGVkIHJlYWRvbmx5IGNoYW5nZURhdGUgPSBjaGFuZ2VEYXRlO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNQcmV2aWV3ID0gaXNQcmV2aWV3O1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgc2VhcmNoRGF0ZSA9IHNlYXJjaERhdGU7XG4gIHByb3RlY3RlZCByZWFkb25seSBvbkhvdmVyRGF5ID0gb25Ib3ZlckRheTtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IG9uRGF0ZUtleXVwID0gb25EYXRlS2V5dXA7XG4gIHByb3RlY3RlZCByZWFkb25seSBvbkNsZWFySG92ZXIgPSBvbkNsZWFySG92ZXI7XG5cdHByb3RlY3RlZCByZWFkb25seSBpc1BlcmlvZEF2YWlsYWJsZSA9IGlzUGVyaW9kQXZhaWxhYmxlO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgY2FsZW5kYXJEYXRlVG9EYXRlID0gY2FsZW5kYXJEYXRlVG9EYXRlO1xufSIsIjxzZWN0aW9uICpuZ0lmPVwic2hvd01vbnRoQ2FsZW5kYXJcIj5cbiAgPG1vbnRoLWNhbGVuZGFyXG4gICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgIFtpbnRlZ3JhdGVkTW9kZV09XCJ0cnVlXCJcbiAgICBbcmVzdGFydF09XCJzaG93TW9udGhDYWxlbmRhclwiXG4gICAgKHJlc3BvbnNlKT1cImhhbmRsZUNhbGVuZGFyUmVzcG9uc2UoJGV2ZW50LCB0cnVlKVwiIFtpbml0RGF0ZV09XCJpbml0TW9udGhcIlxuICAgIFthcHBlYXJhbmNlXT1cIntsYW5ndWFnZTogYXBwZWFyYW5jZS5sYW5ndWFnZSwgaXNNb2JpbGU6IGFwcGVhcmFuY2UuaXNNb2JpbGUgfVwiPlxuICA8L21vbnRoLWNhbGVuZGFyPlxuPC9zZWN0aW9uPlxuXG48c2VjdGlvbiAqbmdJZj1cInNob3dZZWFyQ2FsZW5kYXJcIj5cbiAgPHllYXItY2FsZW5kYXJcbiAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgW2ludGVncmF0ZWRNb2RlXT1cInRydWVcIlxuICAgIFtyZXN0YXJ0XT1cInNob3dZZWFyQ2FsZW5kYXJcIlxuICAgIChyZXNwb25zZSk9XCJoYW5kbGVDYWxlbmRhclJlc3BvbnNlKCRldmVudCwgZmFsc2UpXCIgW2luaXREYXRlXT1cImluaXRZZWFyXCJcbiAgICBbYXBwZWFyYW5jZV09XCJ7bGFuZ3VhZ2U6IGFwcGVhcmFuY2UubGFuZ3VhZ2UsIGlzTW9iaWxlOiBhcHBlYXJhbmNlLmlzTW9iaWxlfVwiPlxuICA8L3llYXItY2FsZW5kYXI+XG48L3NlY3Rpb24+XG5cbjxkaXYgKm5nSWY9XCIhYXBwZWFyYW5jZS5pc01vYmlsZSAmJiAhc2hvd01vbnRoQ2FsZW5kYXIgJiYgIXNob3dZZWFyQ2FsZW5kYXJcIiBjbGFzcz1cInRpdGxlXCI+XG4gIDxzcGFuIGNsYXNzPVwiaHItbGFiZWwgc20tYm9sZFwiPnt7cmFuZ2UgPyBpMThuLnNlbGVjdF9yYW5nZSA6IGkxOG4uc2VsZWN0X2RhdGV9fTwvc3Bhbj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZ3Jhdml0eS1kYXRlLXBpY2tlci1jb250ZW50XCIgW2NsYXNzLmhpZGRlbl09XCJzaG93WWVhckNhbGVuZGFyIHx8IHNob3dNb250aENhbGVuZGFyXCIgIFtjbGFzcy5tb2JpbGVdPVwiYXBwZWFyYW5jZS5pc01vYmlsZVwiPlxuXG4gIDxkaXYgKm5nSWY9XCJyYW5nZVwiIGNsYXNzPVwic2VsZWN0ZWQtZGF0ZXNcIj5cbiAgICA8Z3Jhdml0eS10ZXh0LWZpZWxkICNzdGFydERhdGVcbiAgICAgIFtzaXplXT1cIidzbSdcIlxuICAgICAgW3dpZHRoXT1cIidzaG9ydCdcIlxuICAgICAgW2xhYmVsXT1cImkxOG4uc3RhcnRfZGF0ZVwiXG4gICAgICBbaW5wdXRDb250ZW50VHlwZV09XCInZGF0ZSdcIlxuICAgICAgW3N1cHBvcnRUZXh0XT1cInN0YXJ0RGF0ZUVycm9yXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJpMThuLmRhdGVfcGxhY2Vob2xkZXJcIlxuICAgICAgW2NsaWNrT25SaWdodEljb25dPVwiIXN0YXJ0RmllbGREaXNhYmxlZFwiXG4gICAgICAoa2V5dXApPVwib25EYXRlS2V5dXAodGhpcywgJGV2ZW50LCAnc3RhcnQnKVwiXG4gICAgICAoY2xpY2tJY29uUmlnaHQpPVwiY2xlYXJTZWxlY3RlZERhdGUoJ3N0YXJ0JylcIlxuICAgICAgKGZvY3Vzb3V0KT1cInNlYXJjaERhdGUodGhpcywgc3RhcnREYXRlLmlucHV0VmFsdWUsICdzdGFydCcpXCJcbiAgICAgIFtpY29uUmlnaHRdPVwiKHNlbGVjdGVkUmFuZ2VTdGFydCB8fCBzdGFydERhdGUuaW5wdXRWYWx1ZS5sZW5ndGggPiA5KSA/ICd1bnN1Y2Nlc3MnIDogICcnXCJcbiAgICAgIChjbGljayk9XCJmb2N1c2VkID0gJ3N0YXJ0Jzsgc2VsZWN0ZWRSYW5nZVN0YXJ0ID8gY3VycmVudERhdGUgPSBjYWxlbmRhckRhdGVUb0RhdGUoc2VsZWN0ZWRSYW5nZVN0YXJ0KSA6IG51bGxcIlxuICAgICAgW2N1c3RvbVN0YXRlXT1cInN0YXJ0RmllbGREaXNhYmxlZCA/ICdkaXNhYmxlZCcgOiBzdGFydERhdGVFcnJvciA/ICd0eXBlZC1lcnJvcicgOiAoc3RhcnREYXRlLmlucHV0VmFsdWUubGVuZ3RoIDwgMSA/ICdkZWZhdWx0JyA6ICd0eXBpbmcnKVwiLz5cblxuICAgIDxncmF2aXR5LXRleHQtZmllbGQgI2VuZERhdGVcbiAgICAgIFtzaXplXT1cIidzbSdcIlxuICAgICAgW3dpZHRoXT1cIidzaG9ydCdcIlxuICAgICAgW2xhYmVsXT1cImkxOG4uZW5kX2RhdGVcIlxuICAgICAgW2lucHV0Q29udGVudFR5cGVdPVwiJ2RhdGUnXCJcbiAgICAgIFtzdXBwb3J0VGV4dF09XCJlbmREYXRlRXJyb3JcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cImkxOG4uZGF0ZV9wbGFjZWhvbGRlclwiXG4gICAgICBbY2xpY2tPblJpZ2h0SWNvbl09XCIhZW5kRmllbGREaXNhYmxlZFwiXG4gICAgICAoa2V5dXApPVwib25EYXRlS2V5dXAodGhpcywgJGV2ZW50LCAnZW5kJylcIlxuICAgICAgKGNsaWNrSWNvblJpZ2h0KT1cImNsZWFyU2VsZWN0ZWREYXRlKCdlbmQnKVwiXG4gICAgICAoZm9jdXNvdXQpPVwic2VhcmNoRGF0ZSh0aGlzLCBlbmREYXRlLmlucHV0VmFsdWUsICdlbmQnKVwiXG4gICAgICBbaWNvblJpZ2h0XT1cIihzZWxlY3RlZFJhbmdlRW5kIHx8IGVuZERhdGUuaW5wdXRWYWx1ZS5sZW5ndGggPiA5KSA/ICd1bnN1Y2Nlc3MnIDogJydcIlxuICAgICAgKGNsaWNrKT1cIiBmb2N1c2VkID0gJ2VuZCc7IHNlbGVjdGVkUmFuZ2VFbmQgPyBjdXJyZW50RGF0ZSA9IGNhbGVuZGFyRGF0ZVRvRGF0ZShzZWxlY3RlZFJhbmdlRW5kKSA6IG51bGxcIlxuICAgICAgW2N1c3RvbVN0YXRlXT1cImVuZEZpZWxkRGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogZW5kRGF0ZUVycm9yID8gJ3R5cGVkLWVycm9yJyA6IChlbmREYXRlLmlucHV0VmFsdWUubGVuZ3RoIDwgMSA/ICdkZWZhdWx0JyA6ICd0eXBpbmcnKVwiLz5cbiAgPC9kaXY+XG5cbiAgPHNlY3Rpb24gY2xhc3M9XCJncmF2aXR5LWRhdGUtcGlja2VyLWhlYWRlclwiIFtjbGFzcy5tb2JpbGVdPVwiYXBwZWFyYW5jZS5pc01vYmlsZVwiPlxuICAgIDxncmF2aXR5LWljb24tYnV0dG9uIFt0eXBlXT1cIidwcmltYXJ5J1wiIFtzaXplXT1cIidzbSdcIiBbaWNvbl09XCInYXJyb3ctbGVmdCdcIiBbc3VwcG9ydFRleHRdPVwiaTE4bi5wcmV2aWV3X21vbnRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2tPbkljb24pPVwiY3VycmVudERhdGUgPSBjaGFuZ2VEYXRlKC0xLCBjdXJyZW50RGF0ZSwgdHJ1ZSk7XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhdGVdPVwiKG5hdlR5cGUgPT09ICdwcmV2JyB8fCBuYXZUeXBlID09PSAnYm90aCcpICYmIChhcHBlYXJhbmNlLnN0YXRlICE9PSAnZGlzYWJsZWQnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICBpc1BlcmlvZEF2YWlsYWJsZShjdXJyZW50RGF0ZSwgY29uZmlnLm1pbkRhdGUsICdtb250aCcsICdwcmV2JykgPyAnYWN0aXZlJyA6ICdkaXNhYmxlZCdcIi8+XG5cbiAgICA8ZGl2IGNsYXNzPVwibW9udGgteWVhci1sYWJlbFwiPlxuICAgICAgPGdyYXZpdHktZHJvcGRvd24tbGFiZWwgW2ZvbnRDbGFzc109XCInaHItdGl0bGUgc20tYm9sZCdcIiBbc2l6ZV09XCInc20nXCIgW2xhYmVsXT1cIm1vbnRoc0xpc3RbY3VycmVudERhdGUuZ2V0TW9udGgoKV1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXRlXT1cImFwcGVhcmFuY2Uuc3RhdGUgPT09ICdkaXNhYmxlZCcgPyAnaW5hY3RpdmUnIDogJ2FjdGl2ZSdcIiAob25DbGlja0xhYmVsKT1cImhhbmRsZU9uQ2xpY2tEcm9wZG93bkxhYmVsKHRydWUpXCI+IDwvZ3Jhdml0eS1kcm9wZG93bi1sYWJlbD5cblxuICAgICAgPGdyYXZpdHktZHJvcGRvd24tbGFiZWwgW2ZvbnRDbGFzc109XCInaHItdGl0bGUgc20tYm9sZCdcIiBbc2l6ZV09XCInc20nXCIgW2xhYmVsXT1cImN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhdGVdPVwiYXBwZWFyYW5jZS5zdGF0ZSA9PT0gJ2Rpc2FibGVkJyA/ICdpbmFjdGl2ZScgOiAnYWN0aXZlJ1wiIChvbkNsaWNrTGFiZWwpPVwiaGFuZGxlT25DbGlja0Ryb3Bkb3duTGFiZWwoZmFsc2UpXCI+IDwvZ3Jhdml0eS1kcm9wZG93bi1sYWJlbD5cbiAgICA8L2Rpdj5cblxuICAgICAgPGdyYXZpdHktaWNvbi1idXR0b24gW3R5cGVdPVwiJ3ByaW1hcnknXCIgW3NpemVdPVwiJ3NtJ1wiIFtpY29uXT1cIidhcnJvdy1yaWdodCdcIiBbc3VwcG9ydFRleHRdPVwiaTE4bi5uZXh0X21vbnRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGlja09uSWNvbik9XCJjdXJyZW50RGF0ZSA9IGNoYW5nZURhdGUoMSwgY3VycmVudERhdGUsIHRydWUpO1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhdGVdPVwiKG5hdlR5cGUgPT09ICduZXh0JyB8fCBuYXZUeXBlID09PSAnYm90aCcpICYmIChhcHBlYXJhbmNlLnN0YXRlICE9PSAnZGlzYWJsZWQnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUGVyaW9kQXZhaWxhYmxlKGN1cnJlbnREYXRlLCBjb25maWcubWF4RGF0ZSwgJ21vbnRoJywgJ25leHQnKSA/ICdhY3RpdmUnIDogJ2Rpc2FibGVkJ1wiLz5cbiAgPC9zZWN0aW9uPlxuXG4gIDxzZWN0aW9uIGNsYXNzPVwiZ3Jhdml0eS1kYXRlLXBpY2tlci1ib2R5XCIgW2NsYXNzLm1vYmlsZV09XCJhcHBlYXJhbmNlLmlzTW9iaWxlXCI+XG4gICAgPHNlY3Rpb24gY2xhc3M9XCJkYXlzLW5hbWUtbGluZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImRheXMtbmFtZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImhyLWJvZHlcIiBbbmdDbGFzc109XCJhcHBlYXJhbmNlLmlzTW9iaWxlID8gJ21kLXJlZ3VsYXInIDogJ3NtLXJlZ3VsYXInXCJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGRheSBvZiBkYXlzTGlzdFwiPiB7eyBkYXkgfX0gPC9zcGFuPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3ItbGluZVwiPjwvZGl2PlxuICAgIDwvc2VjdGlvbj5cblxuICAgIDxzZWN0aW9uIGNsYXNzPVwiZGF5cy1udW1iZXItc2VsZWN0b3JcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkYXlzLW51bWJlci10YWJsZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwid2Vlay1yb3dcIiAqbmdGb3I9XCJsZXQgd2VlayBvZiBnZXRNb250aEdyaWQoKTsgdHJhY2tCeTogdHJhY2tCeVdlZWtcIj5cbiAgICAgICAgIDxzcGFuIGNsYXNzPVwiaHItYm9keVwiICpuZ0Zvcj1cImxldCBkYXkgb2Ygd2VlazsgdHJhY2tCeTogdHJhY2tCeURheVwiXG4gICAgICAgICAgW2NsYXNzLnByZXZpZXddPVwicmFuZ2UgPyBpc1ByZXZpZXcodGhpcywgZGF5KSA6IG51bGxcIlxuICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCIhZGF5LmluQ3VycmVudE1vbnRoXCIgW2NsYXNzLnRvZGF5XT1cImRheS5pc1RvZGF5XCJcbiAgICAgICAgICAobW91c2VlbnRlcik9XCJyYW5nZSA/IG9uSG92ZXJEYXkodGhpcywgZGF5KSA6IG51bGw7IGhvdmVyRGF5LmVtaXQoZGF5KVwiXG4gICAgICAgICAgKG1vdXNlbGVhdmUpPVwicmFuZ2UgPyBvbkNsZWFySG92ZXIodGhpcykgOiBudWxsOyB0aGlzLmNsZWFySG92ZXIuZW1pdCgpXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJbYXBwZWFyYW5jZS5pc01vYmlsZSA/ICdtZC1yZWd1bGFyJyA6ICdzbS1yZWd1bGFyJyxcbiAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlLnN0YXRlID09PSAnZGlzYWJsZWQnID8gJ2Rpc2FibGVkJyA6IGdldERheVNlbGVjdGlvbkNsYXNzKGRheSldXCJcbiAgICAgICAgICAoY2xpY2spPVwiZGF5LmluQ3VycmVudE1vbnRoID8gb25TZWxlY3REYXkoZGF5KTogbnVsbFwiPiB7eyBkYXkuZGF5IH19IDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiAqbmdJZj1cIm5vdGlmaWNhdGlvblwiIGNsYXNzPVwibm90aWZpY2F0aW9uXCIgW2NsYXNzLmVycm9yXT1cIm5vdGlmaWNhdGlvbi5lcnJvclwiPlxuICAgICAgICA8Z3Jhdml0eS1pY29uIFtzdHlsZS4tLWljb24tY29sb3JdPVwiJ3ZhcigtLW5vdGlmaWNhdGlvbi1pY29uLWNvbG9yKSdcIiBbaWNvblNpemVdPVwiJ3NtLTEyJ1wiIFtpY29uTmFtZV09XCInaW5mb3JtYXRpb24tY2lyY2xlJ1wiLz5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJoci1sYWJlbCBzbS1yZWd1bGFyXCI+e3tub3RpZmljYXRpb24udGV4dH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJyYW5nZSB8fCBzZWxlY3RlZERheVwiIGNsYXNzPVwiYWN0aW9uLXNlY3Rpb25cIiA+XG4gICAgICAgIDxncmF2aXR5LWxpbmsgW2xpbmtUZXh0XT1cImkxOG4uY2xlYXJcIiBbc3RhdGVdPVwiaGFzRGF0ZVNlbGVjdGVkKCkgPyAnYWN0aXZlJyA6ICdkaXNhYmxlZCdcIlxuICAgICAgICAgICAgICAgICAgICAgIFtmb250Q2xhc3NdPVwiYXBwZWFyYW5jZS5pc01vYmlsZSA/ICdoci1ib2R5IG1kLXJlZ3VsYXInIDogJ2hyLWJvZHkgc20tcmVndWxhcidcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIgaGFzRGF0ZVNlbGVjdGVkKCkgPyBjbGVhclNlbGVjdGVkRGF0ZSgnYWxsJykgOiBudWxsXCIvPlxuXG4gICAgICAgIDxncmF2aXR5LWJ1dHRvbiAqbmdJZj1cInJhbmdlXCIgW3NpemVdPVwiYXBwZWFyYW5jZS5pc01vYmlsZSA/ICdtZCcgOiAnc20nXCIgW3R5cGVdPVwiJ3RlcnRpYXJ5J1wiIFtkaXNhYmxlZF09XCIhaGFzRGF0ZVNlbGVjdGVkKHRydWUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYXNEYXRlU2VsZWN0ZWQodHJ1ZSkgPyBhcHBseVNlbGVjdGVkRGF0ZSgpIDogbnVsbFwiPiB7e2kxOG4uYXBwbHl9fSA8L2dyYXZpdHktYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9zZWN0aW9uPlxuICA8L3NlY3Rpb24+XG48L2Rpdj5cbiJdfQ==
|