@ardium-ui/ui 4.0.0 → 4.1.0
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/_internal/boolean-component.mjs +1 -1
- package/esm2022/lib/_internal/disablable-component.mjs +1 -1
- package/esm2022/lib/_internal/focusable-component.mjs +1 -1
- package/esm2022/lib/_internal/item-storages/dropdown-item-storage.mjs +1 -1
- package/esm2022/lib/_internal/item-storages/simple-item-storage.mjs +1 -1
- package/esm2022/lib/_internal/ngmodel-component.mjs +2 -2
- package/esm2022/lib/_internal/public-api.mjs +1 -1
- package/esm2022/lib/_internal/selectable-list-component.mjs +1 -1
- package/esm2022/lib/buttons/_button-base.defaults.mjs +1 -1
- package/esm2022/lib/buttons/_button-base.mjs +4 -2
- package/esm2022/lib/buttons/button/button.component.mjs +1 -1
- package/esm2022/lib/buttons/fab/fab.component.mjs +1 -1
- package/esm2022/lib/buttons/icon-button/icon-button.component.mjs +1 -1
- package/esm2022/lib/buttons/icon-button/icon-button.module.mjs +1 -1
- package/esm2022/lib/calendar/calendar.component.mjs +3 -3
- package/esm2022/lib/calendar/calendar.defaults.mjs +1 -1
- package/esm2022/lib/calendar/calendar.internal-types.mjs +1 -1
- package/esm2022/lib/calendar/calendar.module.mjs +1 -1
- package/esm2022/lib/calendar/calendar.types.mjs +1 -1
- package/esm2022/lib/calendar/index.mjs +1 -1
- package/esm2022/lib/calendar/views/days-view/days-view.component.mjs +3 -3
- package/esm2022/lib/calendar/views/days-view/days-view.helpers.mjs +1 -1
- package/esm2022/lib/calendar/views/months-view/months-view.component.mjs +3 -3
- package/esm2022/lib/calendar/views/months-view/months-view.helpers.mjs +1 -1
- package/esm2022/lib/calendar/views/years-view/years-view.component.mjs +3 -3
- package/esm2022/lib/calendar/views/years-view/years-view.helpers.mjs +1 -1
- package/esm2022/lib/checkbox-list/checkbox-list.component.mjs +3 -3
- package/esm2022/lib/checkbox-list/checkbox-list.module.mjs +1 -1
- package/esm2022/lib/dialog/dialog.component.mjs +3 -3
- package/esm2022/lib/dialog/dialog.defaults.mjs +1 -1
- package/esm2022/lib/dialog/dialog.directives.mjs +1 -1
- package/esm2022/lib/dialog/dialog.module.mjs +1 -1
- package/esm2022/lib/dialog/dialog.types.mjs +1 -1
- package/esm2022/lib/file-inputs/file-drop-area/file-drop-area.component.mjs +3 -3
- package/esm2022/lib/file-inputs/file-input/file-input.component.mjs +3 -3
- package/esm2022/lib/file-inputs/file-input-base.mjs +1 -1
- package/esm2022/lib/form-field/error/error.component.mjs +1 -1
- package/esm2022/lib/form-field/error/error.directive.mjs +1 -1
- package/esm2022/lib/form-field/form-field.component.mjs +4 -4
- package/esm2022/lib/form-field/form-field.module.mjs +1 -1
- package/esm2022/lib/form-field/hint/hint.component.mjs +1 -1
- package/esm2022/lib/form-field/hint/hint.directive.mjs +1 -1
- package/esm2022/lib/form-field/horizontal-form-field.component.mjs +3 -3
- package/esm2022/lib/form-field/index.mjs +1 -1
- package/esm2022/lib/form-field-frame/form-field-frame.component.mjs +1 -1
- package/esm2022/lib/inputs/_simple-input-base.mjs +2 -2
- package/esm2022/lib/inputs/date-input/date-input.component.mjs +3 -3
- package/esm2022/lib/inputs/date-input/date-input.defaults.mjs +1 -1
- package/esm2022/lib/inputs/date-input/date-input.directive.mjs +1 -1
- package/esm2022/lib/inputs/date-input/date-input.module.mjs +1 -1
- package/esm2022/lib/inputs/date-input/date-input.serializers.mjs +1 -1
- package/esm2022/lib/inputs/date-input/date-input.types.mjs +1 -1
- package/esm2022/lib/inputs/date-input/index.mjs +1 -1
- package/esm2022/lib/inputs/digit-input/digit-input.component.mjs +3 -3
- package/esm2022/lib/inputs/digit-input/digit-input.defaults.mjs +1 -1
- package/esm2022/lib/inputs/digit-input/digit-input.model.mjs +1 -1
- package/esm2022/lib/inputs/digit-input/digit-input.module.mjs +1 -1
- package/esm2022/lib/inputs/digit-input/digit-input.types.mjs +1 -1
- package/esm2022/lib/inputs/digit-input/digit-input.utils.mjs +1 -1
- package/esm2022/lib/inputs/hex-input/hex-input.component.mjs +3 -3
- package/esm2022/lib/inputs/hex-input/hex-input.defaults.mjs +1 -1
- package/esm2022/lib/inputs/input/input.component.mjs +3 -3
- package/esm2022/lib/inputs/input/input.module.mjs +1 -1
- package/esm2022/lib/inputs/input-utils.mjs +8 -3
- package/esm2022/lib/inputs/number-input/number-input.component.mjs +13 -4
- package/esm2022/lib/inputs/number-input/number-input.defaults.mjs +1 -1
- package/esm2022/lib/inputs/password-input/password-input.component.mjs +3 -3
- package/esm2022/lib/inputs/password-input/password-input.defaults.mjs +1 -1
- package/esm2022/lib/inputs/simple-input/simple-input.component.mjs +5 -5
- package/esm2022/lib/inputs/simple-input/simple-input.defaults.mjs +1 -1
- package/esm2022/lib/modal/index.mjs +1 -1
- package/esm2022/lib/modal/modal.component.mjs +3 -3
- package/esm2022/lib/modal/modal.defaults.mjs +1 -1
- package/esm2022/lib/modal/modal.directives.mjs +1 -1
- package/esm2022/lib/modal/modal.module.mjs +1 -1
- package/esm2022/lib/radio/radio/radio.component.mjs +1 -1
- package/esm2022/lib/radio/radio/radio.defaults.mjs +1 -1
- package/esm2022/lib/radio/radio-group.component.mjs +1 -1
- package/esm2022/lib/segment/segment.component.mjs +3 -3
- package/esm2022/lib/select/select.component.mjs +3 -3
- package/esm2022/lib/select/select.defaults.mjs +1 -1
- package/esm2022/lib/slide-toggle/slide-toggle.component.mjs +1 -1
- package/esm2022/lib/slider/range-slider/range-slider.component.mjs +1 -1
- package/esm2022/lib/slider/slider.component.mjs +3 -3
- package/esm2022/lib/star/index.mjs +1 -1
- package/esm2022/lib/star/rating-display/index.mjs +1 -1
- package/esm2022/lib/star/rating-display/rating-display.component.mjs +3 -3
- package/esm2022/lib/star/rating-display/rating-display.defaults.mjs +1 -1
- package/esm2022/lib/star/rating-display/rating-display.directives.mjs +1 -1
- package/esm2022/lib/star/rating-display/rating-display.module.mjs +1 -1
- package/esm2022/lib/star/rating-display/rating-display.types.mjs +1 -1
- package/esm2022/lib/star/rating-input/index.mjs +1 -1
- package/esm2022/lib/star/rating-input/rating-input.component.mjs +3 -3
- package/esm2022/lib/star/rating-input/rating-input.defaults.mjs +1 -1
- package/esm2022/lib/star/rating-input/rating-input.directives.mjs +2 -2
- package/esm2022/lib/star/rating-input/rating-input.module.mjs +1 -1
- package/esm2022/lib/star/rating-input/rating-input.types.mjs +1 -1
- package/esm2022/lib/star/star-button/index.mjs +1 -1
- package/esm2022/lib/star/star-button/star-button.component.mjs +4 -4
- package/esm2022/lib/star/star-button/star-button.defaults.mjs +1 -1
- package/esm2022/lib/star/star-button/star-button.directives.mjs +2 -2
- package/esm2022/lib/star/star-button/star-button.module.mjs +1 -1
- package/esm2022/lib/star/star-button/star-button.types.mjs +1 -1
- package/esm2022/lib/star/star.component.mjs +3 -3
- package/esm2022/lib/star/star.defaults.mjs +1 -1
- package/esm2022/lib/star/star.directives.mjs +2 -2
- package/esm2022/lib/star/star.module.mjs +1 -1
- package/esm2022/lib/star/star.types.mjs +1 -1
- package/esm2022/lib/text-list/index.mjs +1 -1
- package/esm2022/lib/text-list/text-list.component.mjs +3 -3
- package/esm2022/lib/text-list/text-list.module.mjs +1 -1
- package/esm2022/lib/text-list/text-list.pipe.mjs +1 -1
- package/esm2022/public-api.mjs +1 -1
- package/fesm2022/ardium-ui-ui.mjs +75 -59
- package/fesm2022/ardium-ui-ui.mjs.map +1 -1
- package/lib/dialog/dialog.types.d.ts +1 -1
- package/lib/inputs/date-input/date-input.types.d.ts +1 -1
- package/lib/inputs/number-input/number-input.component.d.ts +3 -1
- package/lib/star/rating-input/rating-input.directives.d.ts +2 -2
- package/lib/star/rating-input/rating-input.types.d.ts +1 -1
- package/lib/star/star-button/star-button.directives.d.ts +2 -2
- package/lib/star/star-button/star-button.types.d.ts +1 -1
- package/lib/star/star.directives.d.ts +2 -2
- package/package.json +1 -1
- package/prebuilt-themes/default/buttons/button.css.map +1 -1
- package/prebuilt-themes/default/buttons/fab.css.map +1 -1
- package/prebuilt-themes/default/buttons/icon-button.css.map +1 -1
- package/prebuilt-themes/default/calendar-OLD.css.map +1 -1
- package/prebuilt-themes/default/calendar.css.map +1 -1
- package/prebuilt-themes/default/checkbox-list.css.map +1 -1
- package/prebuilt-themes/default/checkbox.css.map +1 -1
- package/prebuilt-themes/default/chips.css.map +1 -1
- package/prebuilt-themes/default/form-field-frame.css.map +1 -1
- package/prebuilt-themes/default/inputs/color-input.css.map +1 -1
- package/prebuilt-themes/default/inputs/date-input.css.map +1 -1
- package/prebuilt-themes/default/inputs/digit-input.css.map +1 -1
- package/prebuilt-themes/default/inputs/file-input.css.map +1 -1
- package/prebuilt-themes/default/inputs/hex-input.css.map +1 -1
- package/prebuilt-themes/default/inputs/input.css.map +1 -1
- package/prebuilt-themes/default/inputs/number-input.css.map +1 -1
- package/prebuilt-themes/default/inputs/search-bar.css.map +1 -1
- package/prebuilt-themes/default/inputs/simple-input.css.map +1 -1
- package/prebuilt-themes/default/radio.css.map +1 -1
- package/prebuilt-themes/default/segment.css.map +1 -1
- package/prebuilt-themes/default/select.css.map +1 -1
- package/prebuilt-themes/default/slide-toggle.css.map +1 -1
- package/prebuilt-themes/default/slider.css.map +1 -1
- package/prebuilt-themes/default/stars.css.map +1 -1
- package/prebuilt-themes/default/statebox.css.map +1 -1
- package/prebuilt-themes/default/tabber.css.map +1 -1
- package/themes/_variables.scss +121 -121
- package/themes/default/_mixins.scss +8 -2
- package/themes/default/buttons/_button-mixins.scss +3 -1
- package/themes/default/buttons/button.scss +79 -79
- package/themes/default/buttons/fab.scss +81 -81
- package/themes/default/buttons/icon-button.scss +62 -62
- package/themes/default/calendar-OLD.scss +183 -183
- package/themes/default/calendar.scss +4 -2
- package/themes/default/card.scss +135 -135
- package/themes/default/core.scss +102 -102
- package/themes/default/form-field-frame.scss +3 -1
- package/themes/default/form-field.scss +2 -2
- package/themes/default/inputs/_shared.scss +50 -50
- package/themes/default/inputs/date-input.scss +4 -5
- package/themes/default/inputs/digit-input.scss +3 -1
- package/themes/default/inputs/file-input.scss +79 -79
- package/themes/default/inputs/input.scss +1 -1
- package/themes/default/inputs/number-input.scss +131 -131
- package/themes/default/inputs/simple-input.scss +1 -1
- package/themes/default/kbd.scss +21 -21
- package/themes/default/modal.scss +94 -94
- package/themes/default/spinner.scss +21 -21
- package/themes/default/stars.scss +85 -85
|
@@ -426,7 +426,7 @@ export class ArdiumCalendarComponent extends _NgModelComponentBase {
|
|
|
426
426
|
useExisting: forwardRef(() => ArdiumCalendarComponent),
|
|
427
427
|
multi: true,
|
|
428
428
|
},
|
|
429
|
-
], queries: [{ propertyName: "yearsViewHeaderTemplate", first: true, predicate: TemplateRef, descendants: true, isSignal: true }, { propertyName: "monthsViewHeaderTemplate", first: true, predicate: TemplateRef, descendants: true, isSignal: true }, { propertyName: "daysViewHeaderTemplate", first: true, predicate: TemplateRef, descendants: true, isSignal: true }, { propertyName: "floatingMonthTemplate", first: true, predicate: TemplateRef, descendants: true, isSignal: true }, { propertyName: "yearTemplate", first: true, predicate: TemplateRef, descendants: true, isSignal: true }, { propertyName: "monthTemplate", first: true, predicate: TemplateRef, descendants: true, isSignal: true }, { propertyName: "dayTemplate", first: true, predicate: TemplateRef, descendants: true, isSignal: true }, { propertyName: "weekdayTemplate", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"ard-calendar\"\r\n [ngClass]=\"ngClasses()\"\r\n>\r\n @switch (activeView()) {
|
|
429
|
+
], queries: [{ propertyName: "yearsViewHeaderTemplate", first: true, predicate: TemplateRef, descendants: true, isSignal: true }, { propertyName: "monthsViewHeaderTemplate", first: true, predicate: TemplateRef, descendants: true, isSignal: true }, { propertyName: "daysViewHeaderTemplate", first: true, predicate: TemplateRef, descendants: true, isSignal: true }, { propertyName: "floatingMonthTemplate", first: true, predicate: TemplateRef, descendants: true, isSignal: true }, { propertyName: "yearTemplate", first: true, predicate: TemplateRef, descendants: true, isSignal: true }, { propertyName: "monthTemplate", first: true, predicate: TemplateRef, descendants: true, isSignal: true }, { propertyName: "dayTemplate", first: true, predicate: TemplateRef, descendants: true, isSignal: true }, { propertyName: "weekdayTemplate", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"ard-calendar\"\r\n [ngClass]=\"ngClasses()\"\r\n>\r\n @switch (activeView()) {\r\n @case ('days') {\r\n <ard-days-view\r\n [tabIndex]=\"tabIndex()\"\r\n [readOnly]=\"readonly()\"\r\n [disabled]=\"disabled()\"\r\n [autoFocus]=\"autoFocus()\"\r\n [_isUsingKeyboard]=\"_isUsingKeyboard()\"\r\n [activeMonth]=\"activeMonth()\"\r\n [activeYear]=\"activeYear()\"\r\n [selectedDate]=\"selectedDate()\"\r\n [firstWeekday]=\"firstWeekday()\"\r\n [highlightedDay]=\"highlightedDay()\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [isDayFilteredOut]=\"isDayFilteredOut()\"\r\n [daysViewHeaderTemplate]=\"daysViewHeaderTemplate()\"\r\n [floatingMonthTemplate]=\"floatingMonthTemplate()\"\r\n [weekdayTemplate]=\"weekdayTemplate()\"\r\n [dayTemplate]=\"dayTemplate()\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n (triggerOpenMonthsView)=\"onTriggerOpenMonthsView()\"\r\n (triggerOpenYearsView)=\"onTriggerOpenYearsView()\"\r\n (triggerChangeMonth)=\"changeMonth($event)\"\r\n (triggerChangeYear)=\"changeYear($event)\"\r\n (triggerHighlightDay)=\"setHighlightedDay($event)\"\r\n (triggerHighlightFirstDay)=\"highlightFirstDay()\"\r\n (triggerHighlightLastDay)=\"highlightLastDay()\"\r\n (triggerHighlightNextDay)=\"highlightNextDay($event)\"\r\n (triggerHighlightPreviousDay)=\"highlightPreviousDay($event)\"\r\n (triggerHighlightSameDayNextPage)=\"$event ? highlightSameDayNextYear() : highlightSameDayNextMonth()\"\r\n (triggerHighlightSameDayPreviousPage)=\"$event ? highlightSameDayPreviousYear() : highlightSameDayPreviousMonth()\"\r\n (triggerSelectDay)=\"selectDay($event)\"\r\n />\r\n }\r\n @case ('months') {\r\n <ard-months-view\r\n [tabIndex]=\"tabIndex()\"\r\n [readOnly]=\"readonly()\"\r\n [disabled]=\"disabled()\"\r\n [autoFocus]=\"autoFocus()\"\r\n [_isUsingKeyboard]=\"_isUsingKeyboard()\"\r\n [color]=\"color()\"\r\n [activeMonth]=\"activeMonth()\"\r\n [activeYear]=\"activeYear()\"\r\n [selectedDate]=\"selectedDate()\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [highlightedMonth]=\"highlightedMonth()\"\r\n [monthsViewHeaderTemplate]=\"monthsViewHeaderTemplate()\"\r\n [monthTemplate]=\"monthTemplate()\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n (triggerOpenDaysView)=\"onTriggerOpenDaysView()\"\r\n (triggerOpenYearsView)=\"onTriggerOpenYearsView()\"\r\n (triggeChangeYear)=\"changeYear($event)\"\r\n (triggerSelectMonth)=\"selectMonth($event)\"\r\n (triggerHighlightMonth)=\"setHighlightedMonth($event)\"\r\n (triggerHighlightFirstMonth)=\"highlightFirstMonth()\"\r\n (triggerHighlightLastMonth)=\"highlightLastMonth()\"\r\n (triggerHighlightNextMonth)=\"highlightNextMonth($event)\"\r\n (triggerHighlightPreviousMonth)=\"highlightPreviousMonth($event)\"\r\n (triggerHighlightSameMonthNextPage)=\"highlightSameMonthNextYear($event)\"\r\n (triggerHighlightSameMonthPreviousPage)=\"highlightSameMonthPreviousYear($event)\"\r\n />\r\n }\r\n @case ('years') {\r\n <ard-years-view\r\n [tabIndex]=\"tabIndex()\"\r\n [readOnly]=\"readonly()\"\r\n [disabled]=\"disabled()\"\r\n [autoFocus]=\"autoFocus()\"\r\n [_isUsingKeyboard]=\"_isUsingKeyboard()\"\r\n [highlightedYear]=\"highlightedYear()\"\r\n [currentYearRangeStart]=\"currentYearRangeStart()\"\r\n [activeYear]=\"activeYear()\"\r\n [selectedDate]=\"selectedDate()\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [yearsViewHeaderTemplate]=\"yearsViewHeaderTemplate()\"\r\n [yearTemplate]=\"yearTemplate()\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n (triggerOpenDaysView)=\"onTriggerOpenDaysView()\"\r\n (triggerOpenMonthsView)=\"onTriggerOpenMonthsView()\"\r\n (triggerSelectYear)=\"selectYear($event)\"\r\n (triggerChangeYearsViewPage)=\"changeYearsViewPage($event)\"\r\n (triggerHighlightYear)=\"setHighlightedYear($event)\"\r\n (triggerHighlightFirstYear)=\"highlightFirstYear()\"\r\n (triggerHighlightLastYear)=\"highlightLastYear()\"\r\n (triggerHighlightNextYear)=\"highlightNextYear($event)\"\r\n (triggerHighlightPreviousYear)=\"highlightPreviousYear($event)\"\r\n (triggerHighlightSameYearNextPage)=\"highlightSameYearNextPage($event)\"\r\n (triggerHighlightSameYearPreviousPage)=\"highlightSameYearPreviousPage($event)\"\r\n />\r\n }\r\n }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.DaysViewComponent, selector: "ard-days-view", inputs: ["tabIndex", "readOnly", "disabled", "autoFocus", "_isUsingKeyboard", "activeYear", "activeMonth", "selectedDate", "min", "max", "isDayFilteredOut", "highlightedDay", "firstWeekday", "daysViewHeaderTemplate", "floatingMonthTemplate", "weekdayTemplate", "dayTemplate"], outputs: ["triggerOpenYearsView", "triggerOpenMonthsView", "triggerSelectDay", "triggerChangeMonth", "triggerChangeYear", "triggerHighlightDay", "triggerHighlightNextDay", "triggerHighlightPreviousDay", "triggerHighlightFirstDay", "triggerHighlightLastDay", "triggerHighlightSameDayPreviousPage", "triggerHighlightSameDayNextPage", "focus", "blur"] }, { kind: "component", type: i3.MonthsViewComponent, selector: "ard-months-view", inputs: ["tabIndex", "readOnly", "disabled", "autoFocus", "_isUsingKeyboard", "color", "activeYear", "activeMonth", "selectedDate", "min", "max", "highlightedMonth", "monthsViewHeaderTemplate", "monthTemplate"], outputs: ["triggerOpenYearsView", "triggerOpenDaysView", "focus", "blur", "triggerSelectMonth", "triggeChangeYear", "triggerHighlightMonth", "triggerHighlightNextMonth", "triggerHighlightPreviousMonth", "triggerHighlightFirstMonth", "triggerHighlightLastMonth", "triggerHighlightSameMonthPreviousPage", "triggerHighlightSameMonthNextPage"] }, { kind: "component", type: i4.YearsViewComponent, selector: "ard-years-view", inputs: ["tabIndex", "readOnly", "disabled", "autoFocus", "_isUsingKeyboard", "activeYear", "selectedDate", "min", "max", "currentYearRangeStart", "highlightedYear", "yearsViewHeaderTemplate", "yearTemplate"], outputs: ["triggerOpenMonthsView", "triggerOpenDaysView", "focus", "blur", "triggerSelectYear", "triggerChangeYearsViewPage", "triggerHighlightYear", "triggerHighlightNextYear", "triggerHighlightPreviousYear", "triggerHighlightFirstYear", "triggerHighlightLastYear", "triggerHighlightSameYearPreviousPage", "triggerHighlightSameYearNextPage"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
430
430
|
}
|
|
431
431
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ArdiumCalendarComponent, decorators: [{
|
|
432
432
|
type: Component,
|
|
@@ -436,7 +436,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
436
436
|
useExisting: forwardRef(() => ArdiumCalendarComponent),
|
|
437
437
|
multi: true,
|
|
438
438
|
},
|
|
439
|
-
], template: "<div\r\n class=\"ard-calendar\"\r\n [ngClass]=\"ngClasses()\"\r\n>\r\n @switch (activeView()) {
|
|
439
|
+
], template: "<div\r\n class=\"ard-calendar\"\r\n [ngClass]=\"ngClasses()\"\r\n>\r\n @switch (activeView()) {\r\n @case ('days') {\r\n <ard-days-view\r\n [tabIndex]=\"tabIndex()\"\r\n [readOnly]=\"readonly()\"\r\n [disabled]=\"disabled()\"\r\n [autoFocus]=\"autoFocus()\"\r\n [_isUsingKeyboard]=\"_isUsingKeyboard()\"\r\n [activeMonth]=\"activeMonth()\"\r\n [activeYear]=\"activeYear()\"\r\n [selectedDate]=\"selectedDate()\"\r\n [firstWeekday]=\"firstWeekday()\"\r\n [highlightedDay]=\"highlightedDay()\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [isDayFilteredOut]=\"isDayFilteredOut()\"\r\n [daysViewHeaderTemplate]=\"daysViewHeaderTemplate()\"\r\n [floatingMonthTemplate]=\"floatingMonthTemplate()\"\r\n [weekdayTemplate]=\"weekdayTemplate()\"\r\n [dayTemplate]=\"dayTemplate()\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n (triggerOpenMonthsView)=\"onTriggerOpenMonthsView()\"\r\n (triggerOpenYearsView)=\"onTriggerOpenYearsView()\"\r\n (triggerChangeMonth)=\"changeMonth($event)\"\r\n (triggerChangeYear)=\"changeYear($event)\"\r\n (triggerHighlightDay)=\"setHighlightedDay($event)\"\r\n (triggerHighlightFirstDay)=\"highlightFirstDay()\"\r\n (triggerHighlightLastDay)=\"highlightLastDay()\"\r\n (triggerHighlightNextDay)=\"highlightNextDay($event)\"\r\n (triggerHighlightPreviousDay)=\"highlightPreviousDay($event)\"\r\n (triggerHighlightSameDayNextPage)=\"$event ? highlightSameDayNextYear() : highlightSameDayNextMonth()\"\r\n (triggerHighlightSameDayPreviousPage)=\"$event ? highlightSameDayPreviousYear() : highlightSameDayPreviousMonth()\"\r\n (triggerSelectDay)=\"selectDay($event)\"\r\n />\r\n }\r\n @case ('months') {\r\n <ard-months-view\r\n [tabIndex]=\"tabIndex()\"\r\n [readOnly]=\"readonly()\"\r\n [disabled]=\"disabled()\"\r\n [autoFocus]=\"autoFocus()\"\r\n [_isUsingKeyboard]=\"_isUsingKeyboard()\"\r\n [color]=\"color()\"\r\n [activeMonth]=\"activeMonth()\"\r\n [activeYear]=\"activeYear()\"\r\n [selectedDate]=\"selectedDate()\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [highlightedMonth]=\"highlightedMonth()\"\r\n [monthsViewHeaderTemplate]=\"monthsViewHeaderTemplate()\"\r\n [monthTemplate]=\"monthTemplate()\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n (triggerOpenDaysView)=\"onTriggerOpenDaysView()\"\r\n (triggerOpenYearsView)=\"onTriggerOpenYearsView()\"\r\n (triggeChangeYear)=\"changeYear($event)\"\r\n (triggerSelectMonth)=\"selectMonth($event)\"\r\n (triggerHighlightMonth)=\"setHighlightedMonth($event)\"\r\n (triggerHighlightFirstMonth)=\"highlightFirstMonth()\"\r\n (triggerHighlightLastMonth)=\"highlightLastMonth()\"\r\n (triggerHighlightNextMonth)=\"highlightNextMonth($event)\"\r\n (triggerHighlightPreviousMonth)=\"highlightPreviousMonth($event)\"\r\n (triggerHighlightSameMonthNextPage)=\"highlightSameMonthNextYear($event)\"\r\n (triggerHighlightSameMonthPreviousPage)=\"highlightSameMonthPreviousYear($event)\"\r\n />\r\n }\r\n @case ('years') {\r\n <ard-years-view\r\n [tabIndex]=\"tabIndex()\"\r\n [readOnly]=\"readonly()\"\r\n [disabled]=\"disabled()\"\r\n [autoFocus]=\"autoFocus()\"\r\n [_isUsingKeyboard]=\"_isUsingKeyboard()\"\r\n [highlightedYear]=\"highlightedYear()\"\r\n [currentYearRangeStart]=\"currentYearRangeStart()\"\r\n [activeYear]=\"activeYear()\"\r\n [selectedDate]=\"selectedDate()\"\r\n [min]=\"min()\"\r\n [max]=\"max()\"\r\n [yearsViewHeaderTemplate]=\"yearsViewHeaderTemplate()\"\r\n [yearTemplate]=\"yearTemplate()\"\r\n (focus)=\"onFocus($event)\"\r\n (blur)=\"onBlur($event)\"\r\n (triggerOpenDaysView)=\"onTriggerOpenDaysView()\"\r\n (triggerOpenMonthsView)=\"onTriggerOpenMonthsView()\"\r\n (triggerSelectYear)=\"selectYear($event)\"\r\n (triggerChangeYearsViewPage)=\"changeYearsViewPage($event)\"\r\n (triggerHighlightYear)=\"setHighlightedYear($event)\"\r\n (triggerHighlightFirstYear)=\"highlightFirstYear()\"\r\n (triggerHighlightLastYear)=\"highlightLastYear()\"\r\n (triggerHighlightNextYear)=\"highlightNextYear($event)\"\r\n (triggerHighlightPreviousYear)=\"highlightPreviousYear($event)\"\r\n (triggerHighlightSameYearNextPage)=\"highlightSameYearNextPage($event)\"\r\n (triggerHighlightSameYearPreviousPage)=\"highlightSameYearPreviousPage($event)\"\r\n />\r\n }\r\n }\r\n</div>\r\n" }]
|
|
440
440
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
441
441
|
type: Inject,
|
|
442
442
|
args: [ARD_CALENDAR_DEFAULTS]
|
|
@@ -447,4 +447,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
447
447
|
type: HostListener,
|
|
448
448
|
args: ['document:keydown']
|
|
449
449
|
}] } });
|
|
450
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixZQUFZLEVBQ1osTUFBTSxFQUNOLFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixXQUFXLEVBQ1gsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFdkUsT0FBTyxFQUFFLHFCQUFxQixFQUF1QixNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFFTCxlQUFlLEdBU2hCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7QUFFekUsTUFBTSxL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eUNBdWJ6QyxtQkFBbUI7c0JBRGxCLFlBQVk7dUJBQUMsb0JBQW9CO2dCQUtsQyxpQkFBaUI7c0JBRGhCLFlBQVk7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDb21wb25lbnQsXHJcbiAgY29tcHV0ZWQsXHJcbiAgY29udGVudENoaWxkLFxyXG4gIGVmZmVjdCxcclxuICBmb3J3YXJkUmVmLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbmplY3QsXHJcbiAgaW5wdXQsXHJcbiAgbW9kZWwsXHJcbiAgb3V0cHV0LFxyXG4gIHNpZ25hbCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgY29lcmNlRGF0ZVByb3BlcnR5LCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcclxuaW1wb3J0IHsgcm91bmRGcm9tWmVybyB9IGZyb20gJ21vcmUtcm91bmRpbmcnO1xyXG5pbXBvcnQgeyBpc0RlZmluZWQsIGlzTnVsbCB9IGZyb20gJ3NpbXBsZS1ib29sJztcclxuaW1wb3J0IHsgX05nTW9kZWxDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vX2ludGVybmFsL25nbW9kZWwtY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tcG9uZW50Q29sb3IgfSBmcm9tICcuLi90eXBlcy9jb2xvcnMudHlwZXMnO1xyXG5pbXBvcnQgeyBBUkRfQ0FMRU5EQVJfREVGQVVMVFMsIEFyZENhbGVuZGFyRGVmYXVsdHMgfSBmcm9tICcuL2NhbGVuZGFyLmRlZmF1bHRzJztcclxuaW1wb3J0IHtcclxuICBBcmRDYWxlbmRhckZpbHRlckZuLFxyXG4gIEFyZENhbGVuZGFyVmlldyxcclxuICBDYWxlbmRhckRheUNvbnRleHQsXHJcbiAgQ2FsZW5kYXJEYXlzVmlld0hlYWRlckNvbnRleHQsXHJcbiAgQ2FsZW5kYXJGbG9hdGluZ01vbnRoQ29udGV4dCxcclxuICBDYWxlbmRhck1vbnRoQ29udGV4dCxcclxuICBDYWxlbmRhck1vbnRoc1ZpZXdIZWFkZXJDb250ZXh0LFxyXG4gIENhbGVuZGFyV2Vla2RheUNvbnRleHQsXHJcbiAgQ2FsZW5kYXJZZWFyQ29udGV4dCxcclxuICBDYWxlbmRhclllYXJzVmlld0hlYWRlckNvbnRleHQsXHJcbn0gZnJvbSAnLi9jYWxlbmRhci50eXBlcyc7XHJcbmltcG9ydCB7IGlzRGF5T3V0T2ZSYW5nZSB9IGZyb20gJy4vdmlld3MvZGF5cy12aWV3L2RheXMtdmlldy5oZWxwZXJzJztcclxuaW1wb3J0IHsgaXNNb250aE91dE9mUmFuZ2UgfSBmcm9tICcuL3ZpZXdzL21vbnRocy12aWV3L21vbnRocy12aWV3LmhlbHBlcnMnO1xyXG5pbXBvcnQgeyBpc1llYXJPdXRPZlJhbmdlIH0gZnJvbSAnLi92aWV3cy95ZWFycy12aWV3L3llYXJzLXZpZXcuaGVscGVycyc7XHJcblxyXG5jb25zdCBUT0RBWSA9IG5ldyBEYXRlKCk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FyZC1jYWxlbmRhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jYWxlbmRhci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBcmRpdW1DYWxlbmRhckNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXJkaXVtQ2FsZW5kYXJDb21wb25lbnQgZXh0ZW5kcyBfTmdNb2RlbENvbXBvbmVudEJhc2Uge1xyXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBfREVGQVVMVFMhOiBBcmRDYWxlbmRhckRlZmF1bHRzO1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQVJEX0NBTEVOREFSX0RFRkFVTFRTKSBkZWZhdWx0czogQXJkQ2FsZW5kYXJEZWZhdWx0cykge1xyXG4gICAgc3VwZXIoZGVmYXVsdHMpO1xyXG5cclxuICAgIGVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlKCk7IC8vIHRyaWdnZXIgZWZmZWN0XHJcbiAgICAgIHRoaXMuX2VtaXRDaGFuZ2UoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8hIGFwcGVhcmFuY2VcclxuICByZWFkb25seSBjb2xvciA9IGlucHV0PENvbXBvbmVudENvbG9yPih0aGlzLl9ERUZBVUxUUy5jb2xvcik7XHJcblxyXG4gIHJlYWRvbmx5IG5nQ2xhc3NlcyA9IGNvbXB1dGVkKCgpOiBzdHJpbmcgPT4gW2BhcmQtY29sb3ItJHt0aGlzLmNvbG9yKCl9YF0uam9pbignICcpKTtcclxuXHJcbiAgLy8hIGFjdGl2ZSB2aWV3XHJcbiAgcmVhZG9ubHkgYWN0aXZlVmlldyA9IG1vZGVsPEFyZENhbGVuZGFyVmlldz4odGhpcy5fREVGQVVMVFMuYWN0aXZlVmlldyk7XHJcbiAgcmVhZG9ubHkgYWN0aXZlWWVhciA9IG1vZGVsPG51bWJlcj4odGhpcy5fREVGQVVMVFMuYWN0aXZlWWVhcik7XHJcbiAgcmVhZG9ubHkgYWN0aXZlTW9udGggPSBtb2RlbDxudW1iZXI+KHRoaXMuX0RFRkFVTFRTLmFjdGl2ZU1vbnRoKTtcclxuXHJcbiAgcmVhZG9ubHkgZmlyc3RXZWVrZGF5ID0gaW5wdXQ8bnVtYmVyLCBhbnk+KHRoaXMuX0RFRkFVTFRTLmZpcnN0V2Vla2RheSwge1xyXG4gICAgdHJhbnNmb3JtOiB2ID0+IHtcclxuICAgICAgY29uc3QgdmFsdWUgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2LCB0aGlzLl9ERUZBVUxUUy5maXJzdFdlZWtkYXkpO1xyXG4gICAgICBpZiAoIU51bWJlci5pc0ludGVnZXIodmFsdWUpKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihcclxuICAgICAgICAgIG5ldyBFcnJvcihgQVJELU5GMjAwMUE6IFtmaXJzdFdlZWtkYXldIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyLCBnb3QgXCIke3ZhbHVlfVwiLiBVc2luZyBkZWZhdWx0IHZhbHVlIGluc3RlYWQuYClcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9ERUZBVUxUUy5maXJzdFdlZWtkYXk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHZhbHVlIDwgMCB8fCB2YWx1ZSA+IDYpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKFxyXG4gICAgICAgICAgbmV3IEVycm9yKFxyXG4gICAgICAgICAgICBgQVJELU5GMjAwMUI6IFtmaXJzdFdlZWtkYXldIG11c3QgYmUgYmV0d2VlbiAwIGFuZCA2LCBnb3QgXCIke3ZhbHVlfVwiLiBVc2luZyBtb2R1bG8gb3BlcmF0b3IgdG8gYWRqdXN0IHRoZSB2YWx1ZS5gXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdmFsdWUgJSA3O1xyXG4gICAgfSxcclxuICB9KTtcclxuXHJcbiAgcmVhZG9ubHkgbXVsdGlwbGVZZWFyUGFnZUNoYW5nZU1vZGlmaWVyID0gaW5wdXQ8bnVtYmVyLCBhbnk+KHRoaXMuX0RFRkFVTFRTLm11bHRpcGxlWWVhclBhZ2VDaGFuZ2VNb2RpZmllciwge1xyXG4gICAgdHJhbnNmb3JtOiB2ID0+IHtcclxuICAgICAgY29uc3QgdmFsdWUgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2LCB0aGlzLl9ERUZBVUxUUy5tdWx0aXBsZVllYXJQYWdlQ2hhbmdlTW9kaWZpZXIpO1xyXG4gICAgICBpZiAoIU51bWJlci5pc0ludGVnZXIodmFsdWUpIHx8IHZhbHVlIDwgMSkge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXHJcbiAgICAgICAgICBuZXcgRXJyb3IoXHJcbiAgICAgICAgICAgIGBBUkQtTkYyMDAyOiBbbXVsdGlwbGVZZWFyUGFnZUNoYW5nZU1vZGlmaWVyXSBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlciwgZ290IFwiJHt2YWx1ZX1cIi4gVXNpbmcgZGVmYXVsdCB2YWx1ZSBpbnN0ZWFkLmBcclxuICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9ERUZBVUxUUy5tdWx0aXBsZVllYXJQYWdlQ2hhbmdlTW9kaWZpZXI7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfSxcclxuICB9KTtcclxuXHJcbiAgcmVhZG9ubHkgYXV0b0ZvY3VzID0gaW5wdXQ8Ym9vbGVhbiwgYW55Pih0aGlzLl9ERUZBVUxUUy5hdXRvRm9jdXMsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcclxuXHJcbiAgb25UcmlnZ2VyT3BlbkRheXNWaWV3KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmVWaWV3LnNldChBcmRDYWxlbmRhclZpZXcuRGF5cyk7XHJcbiAgfVxyXG4gIG9uVHJpZ2dlck9wZW5Nb250aHNWaWV3KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hY3RpdmVWaWV3LnNldChBcmRDYWxlbmRhclZpZXcuTW9udGhzKTtcclxuICB9XHJcbiAgb25UcmlnZ2VyT3BlblllYXJzVmlldygpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZlVmlldy5zZXQoQXJkQ2FsZW5kYXJWaWV3LlllYXJzKTtcclxuICB9XHJcblxyXG4gIC8vISB2YWx1ZVxyXG4gIHJlYWRvbmx5IHNlbGVjdGVkRGF0ZSA9IG1vZGVsPERhdGUgfCBudWxsPihudWxsLCB7IGFsaWFzOiAnc2VsZWN0ZWQnIH0pO1xyXG5cclxuICByZWFkb25seSB5ZWFyU2VsZWN0ID0gb3V0cHV0PG51bWJlcj4oKTtcclxuICByZWFkb25seSBtb250aFNlbGVjdCA9IG91dHB1dDxudW1iZXI+KCk7XHJcblxyXG4gIHJlYWRvbmx5IG1pbiA9IGlucHV0PERhdGUgfCBudWxsLCBhbnk+KHRoaXMuX0RFRkFVTFRTLm1pbiwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlRGF0ZVByb3BlcnR5KHYsIHRoaXMuX0RFRkFVTFRTLm1pbikgfSk7XHJcbiAgcmVhZG9ubHkgbWF4ID0gaW5wdXQ8RGF0ZSB8IG51bGwsIGFueT4odGhpcy5fREVGQVVMVFMubWF4LCB7IHRyYW5zZm9ybTogdiA9PiBjb2VyY2VEYXRlUHJvcGVydHkodiwgdGhpcy5fREVGQVVMVFMubWF4KSB9KTtcclxuXHJcbiAgcmVhZG9ubHkgZmlsdGVyID0gaW5wdXQ8QXJkQ2FsZW5kYXJGaWx0ZXJGbiB8IG51bGw+KHRoaXMuX0RFRkFVTFRTLmZpbHRlcik7XHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodjogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodiBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuc2V0KHYpO1xyXG4gICAgfSBlbHNlIGlmICghaXNEZWZpbmVkKHYpKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLnNldChudWxsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IobmV3IEVycm9yKGBBUkQtTkYyMDAzOiA8YXJkLWNhbGVuZGFyPiBbd3JpdGVWYWx1ZV0gZXhwZWN0ZWQgYSBEYXRlIG9yIG51bGwsIGdvdCBcIiR7dn1cIi5gKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgX2VtaXRDaGFuZ2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9vbkNoYW5nZVJlZ2lzdGVyZWQ/Lih0aGlzLnNlbGVjdGVkRGF0ZSgpKTtcclxuICB9XHJcblxyXG4gIC8vISBzZWxlY3RpbmcgZGF5c1xyXG4gIGlzRGF5U2VsZWN0ZWQoZGF5OiBudW1iZXIgfCBEYXRlIHwgbnVsbCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGRheSBpbnN0YW5jZW9mIERhdGUpIGRheSA9IGRheS5nZXREYXRlKCk7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZSgpICE9PSBudWxsICYmXHJcbiAgICAgIHRoaXMuYWN0aXZlWWVhcigpID09PSB0aGlzLnNlbGVjdGVkRGF0ZSgpPy5nZXRGdWxsWWVhcigpICYmXHJcbiAgICAgIHRoaXMuYWN0aXZlTW9udGgoKSA9PT0gdGhpcy5zZWxlY3RlZERhdGUoKT8uZ2V0TW9udGgoKSAmJlxyXG4gICAgICBkYXkgPT09IHRoaXMuc2VsZWN0ZWREYXRlKCk/LmdldERhdGUoKVxyXG4gICAgKTtcclxuICB9XHJcbiAgaXNEYXlPdXRPZlJhbmdlKGRheTogbnVtYmVyLCBtb250aDogbnVtYmVyID0gdGhpcy5hY3RpdmVNb250aCgpLCB5ZWFyOiBudW1iZXIgPSB0aGlzLmFjdGl2ZVllYXIoKSk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gaXNEYXlPdXRPZlJhbmdlKGRheSwgbW9udGgsIHllYXIsIHRoaXMubWluKCksIHRoaXMubWF4KCkpO1xyXG4gIH1cclxuICByZWFkb25seSBpc0RheUZpbHRlcmVkT3V0ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgcmV0dXJuIChkYXk6IG51bWJlciwgbW9udGg6IG51bWJlciA9IHRoaXMuYWN0aXZlTW9udGgoKSwgeWVhcjogbnVtYmVyID0gdGhpcy5hY3RpdmVZZWFyKCkpOiBib29sZWFuID0+IHtcclxuICAgICAgY29uc3QgZmlsdGVyID0gdGhpcy5maWx0ZXIoKTtcclxuICAgICAgcmV0dXJuIGZpbHRlcj8uKG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXkpKSA/PyBmYWxzZTtcclxuICAgIH07XHJcbiAgfSk7XHJcbiAgc2VsZWN0RGF5KGRheTogbnVtYmVyIHwgRGF0ZSB8IG51bGwpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzRGF5U2VsZWN0ZWQoZGF5KSkgcmV0dXJuO1xyXG4gICAgaWYgKGlzTnVsbChkYXkpKSB7XHJcbiAgICAgIGlmICghaXNEZWZpbmVkKHRoaXMuc2VsZWN0ZWREYXRlKCkpKSByZXR1cm47XHJcblxyXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5zZXQobnVsbCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZGF5IGluc3RhbmNlb2YgRGF0ZSkgZGF5ID0gZGF5LmdldERhdGUoKTtcclxuICAgIGlmICgoZGF5ICYmIHRoaXMuaXNEYXlPdXRPZlJhbmdlKGRheSkpIHx8IHRoaXMuaXNEYXlGaWx0ZXJlZE91dCgpKGRheSkpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZS5zZXQobmV3IERhdGUodGhpcy5hY3RpdmVZZWFyKCksIHRoaXMuYWN0aXZlTW9udGgoKSwgZGF5LCAwLCAwLCAwLCAwKSk7XHJcbiAgfVxyXG4gIHNlbGVjdEN1cnJlbnRseUhpZ2hsaWdodGVkRGF5KCk6IHZvaWQge1xyXG4gICAgaWYgKCFpc0RlZmluZWQodGhpcy5oaWdobGlnaHRlZERheSgpKSkgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0RGF5KHRoaXMuaGlnaGxpZ2h0ZWREYXkoKSk7XHJcbiAgfVxyXG5cclxuICAvLyEgaGlnaGxpZ2h0aW5nIGRheXNcclxuICBwcml2YXRlIHJlYWRvbmx5IF9faGlnaGxpZ2h0ZWREYXkgPSBzaWduYWw8bnVtYmVyIHwgbnVsbD4obnVsbCk7XHJcbiAgcmVhZG9ubHkgaGlnaGxpZ2h0ZWREYXkgPSB0aGlzLl9faGlnaGxpZ2h0ZWREYXkuYXNSZWFkb25seSgpO1xyXG5cclxuICBzZXRIaWdobGlnaHRlZERheShkYXk6IG51bWJlciB8IG51bGwsIG1vbnRoOiBudW1iZXIgPSB0aGlzLmFjdGl2ZU1vbnRoKCksIHllYXI6IG51bWJlciA9IHRoaXMuYWN0aXZlWWVhcigpKTogdm9pZCB7XHJcbiAgICBpZiAoaXNOdWxsKGRheSkpIHtcclxuICAgICAgdGhpcy5fX2hpZ2hsaWdodGVkRGF5LnVwZGF0ZSgoKSA9PiBkYXkpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGgsIGRheSk7XHJcbiAgICBjb25zdCBvdXRPZlJhbmdlID0gdGhpcy5pc0RheU91dE9mUmFuZ2UoZGF5LCBtb250aCwgeWVhcik7XHJcblxyXG4gICAgaWYgKG91dE9mUmFuZ2UgPT09IC0xKSB7XHJcbiAgICAgIHRoaXMuX2hpZ2hsaWdodE1pbkRheSgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAob3V0T2ZSYW5nZSA9PT0gMSkge1xyXG4gICAgICB0aGlzLl9oaWdobGlnaHRNYXhEYXkoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX19oaWdobGlnaHRlZERheS51cGRhdGUoKCkgPT4gZGF0ZS5nZXREYXRlKCkpO1xyXG5cclxuICAgIGlmIChkYXRlLmdldEZ1bGxZZWFyKCkgIT09IHRoaXMuYWN0aXZlWWVhcigpKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlWWVhci5zZXQoZGF0ZS5nZXRGdWxsWWVhcigpKTtcclxuICAgIH1cclxuICAgIGlmIChkYXRlLmdldE1vbnRoKCkgIT09IHRoaXMuYWN0aXZlTW9udGgoKSkge1xyXG4gICAgICB0aGlzLmFjdGl2ZU1vbnRoLnNldChkYXRlLmdldE1vbnRoKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0TWluRGF5KCk6IHZvaWQge1xyXG4gICAgY29uc3QgbWluID0gdGhpcy5taW4oKTtcclxuICAgIGlmICghaXNEZWZpbmVkKG1pbikpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLmFjdGl2ZVllYXIuc2V0KG1pbi5nZXRGdWxsWWVhcigpKTtcclxuICAgIHRoaXMuYWN0aXZlTW9udGguc2V0KG1pbi5nZXRNb250aCgpKTtcclxuICAgIHRoaXMuX19oaWdobGlnaHRlZERheS5zZXQobWluLmdldERhdGUoKSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2hpZ2hsaWdodE1heERheSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG1heCA9IHRoaXMubWF4KCk7XHJcbiAgICBpZiAoIWlzRGVmaW5lZChtYXgpKSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5hY3RpdmVZZWFyLnNldChtYXguZ2V0RnVsbFllYXIoKSk7XHJcbiAgICB0aGlzLmFjdGl2ZU1vbnRoLnNldChtYXguZ2V0TW9udGgoKSk7XHJcbiAgICB0aGlzLl9faGlnaGxpZ2h0ZWREYXkuc2V0KG1heC5nZXREYXRlKCkpO1xyXG4gIH1cclxuXHJcbiAgaGlnaGxpZ2h0TmV4dERheShvZmZzZXQgPSAxKTogdm9pZCB7XHJcbiAgICBjb25zdCBjdXJyZW50RGF5ID0gdGhpcy5oaWdobGlnaHRlZERheSgpO1xyXG4gICAgY29uc3QgbmV3RGF5ID0gaXNEZWZpbmVkKGN1cnJlbnREYXkpID8gY3VycmVudERheSArIG9mZnNldCA6IDE7XHJcbiAgICB0aGlzLnNldEhpZ2hsaWdodGVkRGF5KG5ld0RheSk7XHJcbiAgfVxyXG4gIGhpZ2hsaWdodFByZXZpb3VzRGF5KG9mZnNldCA9IDEpOiB2b2lkIHtcclxuICAgIHRoaXMuaGlnaGxpZ2h0TmV4dERheShvZmZzZXQgKiAtMSk7XHJcbiAgfVxyXG4gIGhpZ2hsaWdodEZpcnN0RGF5KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRIaWdobGlnaHRlZERheSgxKTtcclxuICB9XHJcbiAgaGlnaGxpZ2h0TGFzdERheSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRheXNJbk1vbnRoID0gbmV3IERhdGUodGhpcy5hY3RpdmVZZWFyKCksIHRoaXMuYWN0aXZlTW9udGgoKSArIDEsIDApLmdldERhdGUoKTtcclxuICAgIHRoaXMuc2V0SGlnaGxpZ2h0ZWREYXkoZGF5c0luTW9udGgpO1xyXG4gIH1cclxuICBoaWdobGlnaHRTYW1lRGF5TmV4dE1vbnRoKCk6IHZvaWQge1xyXG4gICAgY29uc3QgbW9udGggPSB0aGlzLmFjdGl2ZU1vbnRoKCk7XHJcbiAgICBjb25zdCB5ZWFyID0gdGhpcy5hY3RpdmVZZWFyKCk7XHJcbiAgICBjb25zdCBuZXdNb250aCA9IG1vbnRoICsgMTtcclxuICAgIGNvbnN0IG5ld1llYXIgPSB5ZWFyICsgTWF0aC5mbG9vcihuZXdNb250aCAvIDEyKTtcclxuICAgIHRoaXMuc2V0SGlnaGxpZ2h0ZWREYXkodGhpcy5oaWdobGlnaHRlZERheSgpLCBuZXdNb250aCAlIDEyLCBuZXdZZWFyKTtcclxuICB9XHJcbiAgaGlnaGxpZ2h0U2FtZURheVByZXZpb3VzTW9udGgoKTogdm9pZCB7XHJcbiAgICBjb25zdCBtb250aCA9IHRoaXMuYWN0aXZlTW9udGgoKTtcclxuICAgIGNvbnN0IHllYXIgPSB0aGlzLmFjdGl2ZVllYXIoKTtcclxuICAgIGNvbnN0IG5ld01vbnRoID0gbW9udGggLSAxO1xyXG4gICAgY29uc3QgbmV3WWVhciA9IHllYXIgKyBNYXRoLmZsb29yKG5ld01vbnRoIC8gMTIpO1xyXG4gICAgdGhpcy5zZXRIaWdobGlnaHRlZERheSh0aGlzLmhpZ2hsaWdodGVkRGF5KCksIG5ld01vbnRoICUgMTIsIG5ld1llYXIpO1xyXG4gIH1cclxuICBoaWdobGlnaHRTYW1lRGF5TmV4dFllYXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldEhpZ2hsaWdodGVkRGF5KHRoaXMuaGlnaGxpZ2h0ZWREYXkoKSwgdGhpcy5hY3RpdmVNb250aCgpLCB0aGlzLmFjdGl2ZVllYXIoKSArIDEpO1xyXG4gIH1cclxuICBoaWdobGlnaHRTYW1lRGF5UHJldmlvdXNZZWFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRIaWdobGlnaHRlZERheSh0aGlzLmhpZ2hsaWdodGVkRGF5KCksIHRoaXMuYWN0aXZlTW9udGgoKSwgdGhpcy5hY3RpdmVZZWFyKCkgLSAxKTtcclxuICB9XHJcblxyXG4gIC8vISBzZWxlY3RpbmcgbW9udGhzXHJcbiAgaXNNb250aFNlbGVjdGVkKG1vbnRoOiBudW1iZXIgfCBEYXRlKTogYm9vbGVhbiB7XHJcbiAgICBpZiAobW9udGggaW5zdGFuY2VvZiBEYXRlKSBtb250aCA9IG1vbnRoLmdldE1vbnRoKCk7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZSgpICE9PSBudWxsICYmXHJcbiAgICAgIHRoaXMuYWN0aXZlWWVhcigpID09PSB0aGlzLnNlbGVjdGVkRGF0ZSgpPy5nZXRGdWxsWWVhcigpICYmXHJcbiAgICAgIG1vbnRoID09PSB0aGlzLnNlbGVjdGVkRGF0ZSgpPy5nZXRNb250aCgpXHJcbiAgICApO1xyXG4gIH1cclxuICBpc01vbnRoT3V0T2ZSYW5nZShtb250aDogbnVtYmVyLCB5ZWFyOiBudW1iZXIgPSB0aGlzLmFjdGl2ZVllYXIoKSk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gaXNNb250aE91dE9mUmFuZ2UobW9udGgsIHllYXIsIHRoaXMubWluKCksIHRoaXMubWF4KCkpO1xyXG4gIH1cclxuICBjaGFuZ2VNb250aChuZXdNb250aDogbnVtYmVyIHwgbnVsbCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGlzTnVsbChuZXdNb250aCkpIHtcclxuICAgICAgdGhpcy5hY3RpdmVNb250aC5zZXQoVE9EQVkuZ2V0TW9udGgoKSk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzTW9udGhPdXRPZlJhbmdlKG5ld01vbnRoKSkgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgIGlmIChuZXdNb250aCA+IDExKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlTW9udGguc2V0KDApO1xyXG4gICAgICB0aGlzLmFjdGl2ZVllYXIudXBkYXRlKHYgPT4gdiArIDEpO1xyXG4gICAgfSBlbHNlIGlmIChuZXdNb250aCA8IDApIHtcclxuICAgICAgdGhpcy5hY3RpdmVNb250aC5zZXQoMTEpO1xyXG4gICAgICB0aGlzLmFjdGl2ZVllYXIudXBkYXRlKHYgPT4gdiAtIDEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hY3RpdmVNb250aC5zZXQobmV3TW9udGgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuICBzZWxlY3RNb250aChuZXdNb250aDogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgaWYgKGlzTnVsbChuZXdNb250aCkgfHwgdGhpcy5pc01vbnRoT3V0T2ZSYW5nZShuZXdNb250aCkpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCB3YXNTdWNjZXNzZnVsID0gdGhpcy5jaGFuZ2VNb250aChuZXdNb250aCk7XHJcbiAgICBpZiAoIXdhc1N1Y2Nlc3NmdWwpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLmFjdGl2ZVZpZXcuc2V0KEFyZENhbGVuZGFyVmlldy5EYXlzKTtcclxuICAgIHRoaXMubW9udGhTZWxlY3QuZW1pdChuZXdNb250aCk7XHJcbiAgfVxyXG4gIHNlbGVjdEN1cnJlbnRseUhpZ2hsaWdodGVkTW9udGgoKTogdm9pZCB7XHJcbiAgICBpZiAoIWlzRGVmaW5lZCh0aGlzLmhpZ2hsaWdodGVkTW9udGgoKSkpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLnNlbGVjdE1vbnRoKHRoaXMuaGlnaGxpZ2h0ZWRNb250aCgpISk7XHJcbiAgfVxyXG5cclxuICAvLyEgaGlnaGxpZ2h0aW5nIG1vbnRoc1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX19oaWdobGlnaHRlZE1vbnRoID0gc2lnbmFsPG51bWJlciB8IG51bGw+KG51bGwpO1xyXG4gIHJlYWRvbmx5IGhpZ2hsaWdodGVkTW9udGggPSB0aGlzLl9faGlnaGxpZ2h0ZWRNb250aC5hc1JlYWRvbmx5KCk7XHJcblxyXG4gIHNldEhpZ2hsaWdodGVkTW9udGgobW9udGg6IG51bWJlciB8IG51bGwsIHllYXI6IG51bWJlciA9IHRoaXMuYWN0aXZlWWVhcigpKTogdm9pZCB7XHJcbiAgICBpZiAoaXNOdWxsKG1vbnRoKSkge1xyXG4gICAgICB0aGlzLl9faGlnaGxpZ2h0ZWRNb250aC51cGRhdGUoKCkgPT4gbW9udGgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGgsIDE1KTtcclxuICAgIGNvbnN0IG91dE9mUmFuZ2UgPSB0aGlzLmlzTW9udGhPdXRPZlJhbmdlKG1vbnRoLCB5ZWFyKTtcclxuXHJcbiAgICBpZiAob3V0T2ZSYW5nZSA9PT0gLTEpIHtcclxuICAgICAgdGhpcy5faGlnaGxpZ2h0TWluTW9udGgoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKG91dE9mUmFuZ2UgPT09IDEpIHtcclxuICAgICAgdGhpcy5faGlnaGxpZ2h0TWF4TW9udGgoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX19oaWdobGlnaHRlZE1vbnRoLnVwZGF0ZSgoKSA9PiBkYXRlLmdldE1vbnRoKCkpO1xyXG5cclxuICAgIGlmIChkYXRlLmdldEZ1bGxZZWFyKCkgIT09IHRoaXMuYWN0aXZlWWVhcigpKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlWWVhci5zZXQoZGF0ZS5nZXRGdWxsWWVhcigpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2hpZ2hsaWdodE1pbk1vbnRoKCk6IHZvaWQge1xyXG4gICAgY29uc3QgbWluID0gdGhpcy5taW4oKTtcclxuICAgIGlmICghaXNEZWZpbmVkKG1pbikpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLmFjdGl2ZVllYXIuc2V0KG1pbi5nZXRGdWxsWWVhcigpKTtcclxuICAgIHRoaXMuX19oaWdobGlnaHRlZE1vbnRoLnNldChtaW4uZ2V0TW9udGgoKSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2hpZ2hsaWdodE1heE1vbnRoKCk6IHZvaWQge1xyXG4gICAgY29uc3QgbWF4ID0gdGhpcy5tYXgoKTtcclxuICAgIGlmICghaXNEZWZpbmVkKG1heCkpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLmFjdGl2ZVllYXIuc2V0KG1heC5nZXRGdWxsWWVhcigpKTtcclxuICAgIHRoaXMuX19oaWdobGlnaHRlZE1vbnRoLnNldChtYXguZ2V0TW9udGgoKSk7XHJcbiAgfVxyXG5cclxuICBoaWdobGlnaHROZXh0TW9udGgob2Zmc2V0ID0gMSk6IHZvaWQge1xyXG4gICAgY29uc3QgY3VycmVudE1vbnRoID0gdGhpcy5oaWdobGlnaHRlZE1vbnRoKCk7XHJcbiAgICBjb25zdCBuZXdNb250aCA9IGlzRGVmaW5lZChjdXJyZW50TW9udGgpID8gY3VycmVudE1vbnRoICsgb2Zmc2V0IDogMDtcclxuICAgIHRoaXMuc2V0SGlnaGxpZ2h0ZWRNb250aChuZXdNb250aCk7XHJcbiAgfVxyXG4gIGhpZ2hsaWdodFByZXZpb3VzTW9udGgob2Zmc2V0ID0gMSk6IHZvaWQge1xyXG4gICAgdGhpcy5oaWdobGlnaHROZXh0TW9udGgob2Zmc2V0ICogLTEpO1xyXG4gIH1cclxuICBoaWdobGlnaHRGaXJzdE1vbnRoKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRIaWdobGlnaHRlZE1vbnRoKDApO1xyXG4gIH1cclxuICBoaWdobGlnaHRMYXN0TW9udGgoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldEhpZ2hsaWdodGVkTW9udGgoMTEpO1xyXG4gIH1cclxuICBoaWdobGlnaHRTYW1lTW9udGhOZXh0WWVhcihtdWx0aXBsZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRIaWdobGlnaHRlZE1vbnRoKHRoaXMuaGlnaGxpZ2h0ZWRNb250aCgpLCB0aGlzLmFjdGl2ZVllYXIoKSArIChtdWx0aXBsZSA/IDEwIDogMSkpO1xyXG4gIH1cclxuICBoaWdobGlnaHRTYW1lTW9udGhQcmV2aW91c1llYXIobXVsdGlwbGU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0SGlnaGxpZ2h0ZWRNb250aCh0aGlzLmhpZ2hsaWdodGVkTW9udGgoKSwgdGhpcy5hY3RpdmVZZWFyKCkgLSAobXVsdGlwbGUgPyAxMCA6IDEpKTtcclxuICB9XHJcblxyXG4gIC8vISBzZWxlY3RpbmcgeWVhcnNcclxuICBpc1llYXJTZWxlY3RlZCh5ZWFyOiBudW1iZXIgfCBEYXRlKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoeWVhciBpbnN0YW5jZW9mIERhdGUpIHllYXIgPSB5ZWFyLmdldEZ1bGxZZWFyKCk7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZERhdGUoKSAhPT0gbnVsbCAmJiB5ZWFyID09PSB0aGlzLnNlbGVjdGVkRGF0ZSgpPy5nZXRGdWxsWWVhcigpO1xyXG4gIH1cclxuICBpc1llYXJPdXRPZlJhbmdlKHllYXI6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICByZXR1cm4gaXNZZWFyT3V0T2ZSYW5nZSh5ZWFyLCB0aGlzLm1pbigpLCB0aGlzLm1heCgpKTtcclxuICB9XHJcbiAgY2hhbmdlWWVhcih5ZWFyOiBudW1iZXIgfCBudWxsKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoaXNOdWxsKHllYXIpKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlWWVhci5zZXQoVE9EQVkuZ2V0RnVsbFllYXIoKSk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzWWVhck91dE9mUmFuZ2UoeWVhcikpIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICB0aGlzLmFjdGl2ZVllYXIuc2V0KHllYXIpO1xyXG5cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuICBzZWxlY3RZZWFyKHllYXI6IG51bWJlciB8IERhdGUgfCBudWxsKTogdm9pZCB7XHJcbiAgICBpZiAoaXNOdWxsKHllYXIpKSByZXR1cm47XHJcbiAgICBpZiAoeWVhciBpbnN0YW5jZW9mIERhdGUpIHllYXIgPSB5ZWFyLmdldEZ1bGxZZWFyKCk7XHJcblxyXG4gICAgY29uc3Qgd2FzU3VjY2Vzc2Z1bCA9IHRoaXMuY2hhbmdlWWVhcih5ZWFyKTtcclxuICAgIGlmICghd2FzU3VjY2Vzc2Z1bCkgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMuYWN0aXZlVmlldy5zZXQoQXJkQ2FsZW5kYXJWaWV3Lk1vbnRocyk7XHJcbiAgICB0aGlzLnllYXJTZWxlY3QuZW1pdCh5ZWFyKTtcclxuICB9XHJcbiAgc2VsZWN0Q3VycmVudGx5SGlnaGxpZ2h0ZWRZZWFyKCk6IHZvaWQge1xyXG4gICAgaWYgKCFpc0RlZmluZWQodGhpcy5oaWdobGlnaHRlZFllYXIoKSkpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLnNlbGVjdFllYXIodGhpcy5oaWdobGlnaHRlZFllYXIoKSEpO1xyXG4gIH1cclxuXHJcbiAgLy8hIGhpZ2hsaWdodGluZyB5ZWFyc1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX19oaWdobGlnaHRlZFllYXIgPSBzaWduYWw8bnVtYmVyIHwgbnVsbD4obnVsbCk7XHJcbiAgcmVhZG9ubHkgaGlnaGxpZ2h0ZWRZZWFyID0gdGhpcy5fX2hpZ2hsaWdodGVkWWVhci5hc1JlYWRvbmx5KCk7XHJcblxyXG4gIHJlYWRvbmx5IGN1cnJlbnRZZWFyUmFuZ2VTdGFydCA9IHNpZ25hbDxudW1iZXI+KFRPREFZLmdldEZ1bGxZZWFyKCkgLSAoVE9EQVkuZ2V0RnVsbFllYXIoKSAlIDQpIC0gOCk7IC8vIGN1cnJlbnQgeWVhciBhbHdheXMgaW4gM3JkIHJvd1xyXG5cclxuICBzZXRIaWdobGlnaHRlZFllYXIoeWVhcjogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgaWYgKGlzTnVsbCh5ZWFyKSkge1xyXG4gICAgICB0aGlzLl9faGlnaGxpZ2h0ZWRZZWFyLnVwZGF0ZSgoKSA9PiB5ZWFyKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHllYXIsIDApO1xyXG4gICAgY29uc3Qgb3V0T2ZSYW5nZSA9IHRoaXMuaXNZZWFyT3V0T2ZSYW5nZSh5ZWFyKTtcclxuXHJcbiAgICBpZiAob3V0T2ZSYW5nZSA9PT0gLTEpIHtcclxuICAgICAgdGhpcy5faGlnaGxpZ2h0TWluWWVhcigpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAob3V0T2ZSYW5nZSA9PT0gMSkge1xyXG4gICAgICB0aGlzLl9oaWdobGlnaHRNYXhZZWFyKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBuZXdZZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xyXG4gICAgdGhpcy5fX2hpZ2hsaWdodGVkWWVhci51cGRhdGUoKCkgPT4gbmV3WWVhcik7XHJcblxyXG4gICAgaWYgKG5ld1llYXIgPCB0aGlzLmN1cnJlbnRZZWFyUmFuZ2VTdGFydCgpIHx8IG5ld1llYXIgPj0gdGhpcy5jdXJyZW50WWVhclJhbmdlU3RhcnQoKSArIDI0KSB7XHJcbiAgICAgIC8vIHJvdW5kIHRoZSBvZmZzZXQgYXdheSBmcm9tIHplcm86IDAuMSAtPiAxLCAtMC4xIC0+IC0xXHJcbiAgICAgIC8vIHRoaXMgaXMgdG8gZW5zdXJlIHRoZSByYW5nZSBzdGFydCBpcyBhbHdheXMgc2hpZnRlZCBieSAyNCB5ZWFyc1xyXG4gICAgICBjb25zdCBvZmZzZXQgPSByb3VuZEZyb21aZXJvKChuZXdZZWFyIC0gdGhpcy5jdXJyZW50WWVhclJhbmdlU3RhcnQoKSkgLyAyNCk7XHJcbiAgICAgIHRoaXMuY3VycmVudFllYXJSYW5nZVN0YXJ0LnVwZGF0ZSh2ID0+IHYgKyBvZmZzZXQgKiAyNCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VZZWFyc1ZpZXdQYWdlKG9mZnNldDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zdCBuZXdZZWFyUmFuZ2VTdGFydCA9IHRoaXMuY3VycmVudFllYXJSYW5nZVN0YXJ0KCkgKyBvZmZzZXQgKiAyNDtcclxuICAgIHRoaXMuY3VycmVudFllYXJSYW5nZVN0YXJ0LnNldChuZXdZZWFyUmFuZ2VTdGFydCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oaWdobGlnaHRNaW5ZZWFyKCk6IHZvaWQge1xyXG4gICAgY29uc3QgbWluID0gdGhpcy5taW4oKTtcclxuICAgIGlmICghaXNEZWZpbmVkKG1pbikpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLl9faGlnaGxpZ2h0ZWRZZWFyLnNldChtaW4uZ2V0RnVsbFllYXIoKSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2hpZ2hsaWdodE1heFllYXIoKTogdm9pZCB7XHJcbiAgICBjb25zdCBtYXggPSB0aGlzLm1heCgpO1xyXG4gICAgaWYgKCFpc0RlZmluZWQobWF4KSkgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMuX19oaWdobGlnaHRlZFllYXIuc2V0KG1heC5nZXRGdWxsWWVhcigpKTtcclxuICB9XHJcblxyXG4gIGhpZ2hsaWdodE5leHRZZWFyKG9mZnNldCA9IDEpOiB2b2lkIHtcclxuICAgIGNvbnN0IGN1cnJlbnRZZWFyID0gdGhpcy5oaWdobGlnaHRlZFllYXIoKTtcclxuICAgIGNvbnN0IG5ld1llYXIgPSBpc0RlZmluZWQoY3VycmVudFllYXIpID8gY3VycmVudFllYXIgKyBvZmZzZXQgOiBudWxsO1xyXG4gICAgdGhpcy5zZXRIaWdobGlnaHRlZFllYXIobmV3WWVhcik7XHJcbiAgfVxyXG4gIGhpZ2hsaWdodFByZXZpb3VzWWVhcihvZmZzZXQgPSAxKTogdm9pZCB7XHJcbiAgICB0aGlzLmhpZ2hsaWdodE5leHRZZWFyKG9mZnNldCAqIC0xKTtcclxuICB9XHJcbiAgaGlnaGxpZ2h0Rmlyc3RZZWFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRIaWdobGlnaHRlZFllYXIodGhpcy5jdXJyZW50WWVhclJhbmdlU3RhcnQoKSk7XHJcbiAgfVxyXG4gIGhpZ2hsaWdodExhc3RZZWFyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRIaWdobGlnaHRlZFllYXIodGhpcy5jdXJyZW50WWVhclJhbmdlU3RhcnQoKSArIDIzKTsgLy8gMjQgeWVhcnMgcGVyIHBhZ2VcclxuICB9XHJcbiAgaGlnaGxpZ2h0U2FtZVllYXJOZXh0UGFnZShtdWx0aXBsZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgY29uc3QgeWVhciA9IHRoaXMuaGlnaGxpZ2h0ZWRZZWFyKCkgPz8gdGhpcy5jdXJyZW50WWVhclJhbmdlU3RhcnQoKTtcclxuICAgIHRoaXMuc2V0SGlnaGxpZ2h0ZWRZZWFyKHllYXIgKyAobXVsdGlwbGUgPyA2MCA6IDI0KSk7XHJcbiAgfVxyXG4gIGhpZ2hsaWdodFNhbWVZZWFyUHJldmlvdXNQYWdlKG11bHRpcGxlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBjb25zdCB5ZWFyID0gdGhpcy5oaWdobGlnaHRlZFllYXIoKSA/PyB0aGlzLmN1cnJlbnRZZWFyUmFuZ2VTdGFydCgpO1xyXG4gICAgdGhpcy5zZXRIaWdobGlnaHRlZFllYXIoeWVhciAtIChtdWx0aXBsZSA/IDYwIDogMjQpKTtcclxuICB9XHJcblxyXG4gIC8vISBpbnRlcm5hbHNcclxuICByZWFkb25seSBfaXNVc2luZ0tleWJvYXJkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZW1vdmUnKVxyXG4gIG9uRG9jdW1lbnRNb3VzZW1vdmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9pc1VzaW5nS2V5Ym9hcmQuc2V0KGZhbHNlKTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicpXHJcbiAgb25Eb2N1bWVudEtleWRvd24oKTogdm9pZCB7XHJcbiAgICB0aGlzLl9pc1VzaW5nS2V5Ym9hcmQuc2V0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgLy8hIHRlbXBsYXRlc1xyXG4gIHJlYWRvbmx5IHllYXJzVmlld0hlYWRlclRlbXBsYXRlID0gY29udGVudENoaWxkPFRlbXBsYXRlUmVmPENhbGVuZGFyWWVhcnNWaWV3SGVhZGVyQ29udGV4dD4+KFRlbXBsYXRlUmVmKTtcclxuICByZWFkb25seSBtb250aHNWaWV3SGVhZGVyVGVtcGxhdGUgPSBjb250ZW50Q2hpbGQ8VGVtcGxhdGVSZWY8Q2FsZW5kYXJNb250aHNWaWV3SGVhZGVyQ29udGV4dD4+KFRlbXBsYXRlUmVmKTtcclxuICByZWFkb25seSBkYXlzVmlld0hlYWRlclRlbXBsYXRlID0gY29udGVudENoaWxkPFRlbXBsYXRlUmVmPENhbGVuZGFyRGF5c1ZpZXdIZWFkZXJDb250ZXh0Pj4oVGVtcGxhdGVSZWYpO1xyXG4gIHJlYWRvbmx5IGZsb2F0aW5nTW9udGhUZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZDxUZW1wbGF0ZVJlZjxDYWxlbmRhckZsb2F0aW5nTW9udGhDb250ZXh0Pj4oVGVtcGxhdGVSZWYpO1xyXG4gIHJlYWRvbmx5IHllYXJUZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZDxUZW1wbGF0ZVJlZjxDYWxlbmRhclllYXJDb250ZXh0Pj4oVGVtcGxhdGVSZWYpO1xyXG4gIHJlYWRvbmx5IG1vbnRoVGVtcGxhdGUgPSBjb250ZW50Q2hpbGQ8VGVtcGxhdGVSZWY8Q2FsZW5kYXJNb250aENvbnRleHQ+PihUZW1wbGF0ZVJlZik7XHJcbiAgcmVhZG9ubHkgZGF5VGVtcGxhdGUgPSBjb250ZW50Q2hpbGQ8VGVtcGxhdGVSZWY8Q2FsZW5kYXJEYXlDb250ZXh0Pj4oVGVtcGxhdGVSZWYpO1xyXG4gIHJlYWRvbmx5IHdlZWtkYXlUZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZDxUZW1wbGF0ZVJlZjxDYWxlbmRhcldlZWtkYXlDb250ZXh0Pj4oVGVtcGxhdGVSZWYpO1xyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cImFyZC1jYWxlbmRhclwiXHJcbiAgW25nQ2xhc3NdPVwibmdDbGFzc2VzKClcIlxyXG4+XHJcbiAgQHN3aXRjaCAoYWN0aXZlVmlldygpKSB7IEBjYXNlICgnZGF5cycpIHtcclxuICA8YXJkLWRheXMtdmlld1xyXG4gICAgW3RhYkluZGV4XT1cInRhYkluZGV4KClcIlxyXG4gICAgW3JlYWRPbmx5XT1cInJlYWRvbmx5KClcIlxyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxyXG4gICAgW2F1dG9Gb2N1c109XCJhdXRvRm9jdXMoKVwiXHJcbiAgICBbX2lzVXNpbmdLZXlib2FyZF09XCJfaXNVc2luZ0tleWJvYXJkKClcIlxyXG4gICAgW2FjdGl2ZU1vbnRoXT1cImFjdGl2ZU1vbnRoKClcIlxyXG4gICAgW2FjdGl2ZVllYXJdPVwiYWN0aXZlWWVhcigpXCJcclxuICAgIFtzZWxlY3RlZERhdGVdPVwic2VsZWN0ZWREYXRlKClcIlxyXG4gICAgW2ZpcnN0V2Vla2RheV09XCJmaXJzdFdlZWtkYXkoKVwiXHJcbiAgICBbaGlnaGxpZ2h0ZWREYXldPVwiaGlnaGxpZ2h0ZWREYXkoKVwiXHJcbiAgICBbbWluXT1cIm1pbigpXCJcclxuICAgIFttYXhdPVwibWF4KClcIlxyXG4gICAgW2lzRGF5RmlsdGVyZWRPdXRdPVwiaXNEYXlGaWx0ZXJlZE91dCgpXCJcclxuICAgIFtkYXlzVmlld0hlYWRlclRlbXBsYXRlXT1cImRheXNWaWV3SGVhZGVyVGVtcGxhdGUoKVwiXHJcbiAgICBbZmxvYXRpbmdNb250aFRlbXBsYXRlXT1cImZsb2F0aW5nTW9udGhUZW1wbGF0ZSgpXCJcclxuICAgIFt3ZWVrZGF5VGVtcGxhdGVdPVwid2Vla2RheVRlbXBsYXRlKClcIlxyXG4gICAgW2RheVRlbXBsYXRlXT1cImRheVRlbXBsYXRlKClcIlxyXG4gICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXHJcbiAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXHJcbiAgICAodHJpZ2dlck9wZW5Nb250aHNWaWV3KT1cIm9uVHJpZ2dlck9wZW5Nb250aHNWaWV3KClcIlxyXG4gICAgKHRyaWdnZXJPcGVuWWVhcnNWaWV3KT1cIm9uVHJpZ2dlck9wZW5ZZWFyc1ZpZXcoKVwiXHJcbiAgICAodHJpZ2dlckNoYW5nZU1vbnRoKT1cImNoYW5nZU1vbnRoKCRldmVudClcIlxyXG4gICAgKHRyaWdnZXJDaGFuZ2VZZWFyKT1cImNoYW5nZVllYXIoJGV2ZW50KVwiXHJcbiAgICAodHJpZ2dlckhpZ2hsaWdodERheSk9XCJzZXRIaWdobGlnaHRlZERheSgkZXZlbnQpXCJcclxuICAgICh0cmlnZ2VySGlnaGxpZ2h0Rmlyc3REYXkpPVwiaGlnaGxpZ2h0Rmlyc3REYXkoKVwiXHJcbiAgICAodHJpZ2dlckhpZ2hsaWdodExhc3REYXkpPVwiaGlnaGxpZ2h0TGFzdERheSgpXCJcclxuICAgICh0cmlnZ2VySGlnaGxpZ2h0TmV4dERheSk9XCJoaWdobGlnaHROZXh0RGF5KCRldmVudClcIlxyXG4gICAgKHRyaWdnZXJIaWdobGlnaHRQcmV2aW91c0RheSk9XCJoaWdobGlnaHRQcmV2aW91c0RheSgkZXZlbnQpXCJcclxuICAgICh0cmlnZ2VySGlnaGxpZ2h0U2FtZURheU5leHRQYWdlKT1cIiRldmVudCA/IGhpZ2hsaWdodFNhbWVEYXlOZXh0WWVhcigpIDogaGlnaGxpZ2h0U2FtZURheU5leHRNb250aCgpXCJcclxuICAgICh0cmlnZ2VySGlnaGxpZ2h0U2FtZURheVByZXZpb3VzUGFnZSk9XCIkZXZlbnQgPyBoaWdobGlnaHRTYW1lRGF5UHJldmlvdXNZZWFyKCkgOiBoaWdobGlnaHRTYW1lRGF5UHJldmlvdXNNb250aCgpXCJcclxuICAgICh0cmlnZ2VyU2VsZWN0RGF5KT1cInNlbGVjdERheSgkZXZlbnQpXCJcclxuICAvPlxyXG4gIH0gQGNhc2UgKCdtb250aHMnKSB7XHJcbiAgPGFyZC1tb250aHMtdmlld1xyXG4gICAgW3RhYkluZGV4XT1cInRhYkluZGV4KClcIlxyXG4gICAgW3JlYWRPbmx5XT1cInJlYWRvbmx5KClcIlxyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxyXG4gICAgW2F1dG9Gb2N1c109XCJhdXRvRm9jdXMoKVwiXHJcbiAgICBbX2lzVXNpbmdLZXlib2FyZF09XCJfaXNVc2luZ0tleWJvYXJkKClcIlxyXG4gICAgW2NvbG9yXT1cImNvbG9yKClcIlxyXG4gICAgW2FjdGl2ZU1vbnRoXT1cImFjdGl2ZU1vbnRoKClcIlxyXG4gICAgW2FjdGl2ZVllYXJdPVwiYWN0aXZlWWVhcigpXCJcclxuICAgIFtzZWxlY3RlZERhdGVdPVwic2VsZWN0ZWREYXRlKClcIlxyXG4gICAgW21pbl09XCJtaW4oKVwiXHJcbiAgICBbbWF4XT1cIm1heCgpXCJcclxuICAgIFtoaWdobGlnaHRlZE1vbnRoXT1cImhpZ2hsaWdodGVkTW9udGgoKVwiXHJcbiAgICBbbW9udGhzVmlld0hlYWRlclRlbXBsYXRlXT1cIm1vbnRoc1ZpZXdIZWFkZXJUZW1wbGF0ZSgpXCJcclxuICAgIFttb250aFRlbXBsYXRlXT1cIm1vbnRoVGVtcGxhdGUoKVwiXHJcbiAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcclxuICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcclxuICAgICh0cmlnZ2VyT3BlbkRheXNWaWV3KT1cIm9uVHJpZ2dlck9wZW5EYXlzVmlldygpXCJcclxuICAgICh0cmlnZ2VyT3BlblllYXJzVmlldyk9XCJvblRyaWdnZXJPcGVuWWVhcnNWaWV3KClcIlxyXG4gICAgKHRyaWdnZUNoYW5nZVllYXIpPVwiY2hhbmdlWWVhcigkZXZlbnQpXCJcclxuICAgICh0cmlnZ2VyU2VsZWN0TW9udGgpPVwic2VsZWN0TW9udGgoJGV2ZW50KVwiXHJcbiAgICAodHJpZ2dlckhpZ2hsaWdodE1vbnRoKT1cInNldEhpZ2hsaWdodGVkTW9udGgoJGV2ZW50KVwiXHJcbiAgICAodHJpZ2dlckhpZ2hsaWdodEZpcnN0TW9udGgpPVwiaGlnaGxpZ2h0Rmlyc3RNb250aCgpXCJcclxuICAgICh0cmlnZ2VySGlnaGxpZ2h0TGFzdE1vbnRoKT1cImhpZ2hsaWdodExhc3RNb250aCgpXCJcclxuICAgICh0cmlnZ2VySGlnaGxpZ2h0TmV4dE1vbnRoKT1cImhpZ2hsaWdodE5leHRNb250aCgkZXZlbnQpXCJcclxuICAgICh0cmlnZ2VySGlnaGxpZ2h0UHJldmlvdXNNb250aCk9XCJoaWdobGlnaHRQcmV2aW91c01vbnRoKCRldmVudClcIlxyXG4gICAgKHRyaWdnZXJIaWdobGlnaHRTYW1lTW9udGhOZXh0UGFnZSk9XCJoaWdobGlnaHRTYW1lTW9udGhOZXh0WWVhcigkZXZlbnQpXCJcclxuICAgICh0cmlnZ2VySGlnaGxpZ2h0U2FtZU1vbnRoUHJldmlvdXNQYWdlKT1cImhpZ2hsaWdodFNhbWVNb250aFByZXZpb3VzWWVhcigkZXZlbnQpXCJcclxuICAvPlxyXG4gIH0gQGNhc2UgKCd5ZWFycycpIHtcclxuICA8YXJkLXllYXJzLXZpZXdcclxuICAgIFt0YWJJbmRleF09XCJ0YWJJbmRleCgpXCJcclxuICAgIFtyZWFkT25seV09XCJyZWFkb25seSgpXCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcclxuICAgIFthdXRvRm9jdXNdPVwiYXV0b0ZvY3VzKClcIlxyXG4gICAgW19pc1VzaW5nS2V5Ym9hcmRdPVwiX2lzVXNpbmdLZXlib2FyZCgpXCJcclxuICAgIFtoaWdobGlnaHRlZFllYXJdPVwiaGlnaGxpZ2h0ZWRZZWFyKClcIlxyXG4gICAgW2N1cnJlbnRZZWFyUmFuZ2VTdGFydF09XCJjdXJyZW50WWVhclJhbmdlU3RhcnQoKVwiXHJcbiAgICBbYWN0aXZlWWVhcl09XCJhY3RpdmVZZWFyKClcIlxyXG4gICAgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGUoKVwiXHJcbiAgICBbbWluXT1cIm1pbigpXCJcclxuICAgIFttYXhdPVwibWF4KClcIlxyXG4gICAgW3llYXJzVmlld0hlYWRlclRlbXBsYXRlXT1cInllYXJzVmlld0hlYWRlclRlbXBsYXRlKClcIlxyXG4gICAgW3llYXJUZW1wbGF0ZV09XCJ5ZWFyVGVtcGxhdGUoKVwiXHJcbiAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcclxuICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcclxuICAgICh0cmlnZ2VyT3BlbkRheXNWaWV3KT1cIm9uVHJpZ2dlck9wZW5EYXlzVmlldygpXCJcclxuICAgICh0cmlnZ2VyT3Blbk1vbnRoc1ZpZXcpPVwib25UcmlnZ2VyT3Blbk1vbnRoc1ZpZXcoKVwiXHJcbiAgICAodHJpZ2dlclNlbGVjdFllYXIpPVwic2VsZWN0WWVhcigkZXZlbnQpXCJcclxuICAgICh0cmlnZ2VyQ2hhbmdlWWVhcnNWaWV3UGFnZSk9XCJjaGFuZ2VZZWFyc1ZpZXdQYWdlKCRldmVudClcIlxyXG4gICAgKHRyaWdnZXJIaWdobGlnaHRZZWFyKT1cInNldEhpZ2hsaWdodGVkWWVhcigkZXZlbnQpXCJcclxuICAgICh0cmlnZ2VySGlnaGxpZ2h0Rmlyc3RZZWFyKT1cImhpZ2hsaWdodEZpcnN0WWVhcigpXCJcclxuICAgICh0cmlnZ2VySGlnaGxpZ2h0TGFzdFllYXIpPVwiaGlnaGxpZ2h0TGFzdFllYXIoKVwiXHJcbiAgICAodHJpZ2dlckhpZ2hsaWdodE5leHRZZWFyKT1cImhpZ2hsaWdodE5leHRZZWFyKCRldmVudClcIlxyXG4gICAgKHRyaWdnZXJIaWdobGlnaHRQcmV2aW91c1llYXIpPVwiaGlnaGxpZ2h0UHJldmlvdXNZZWFyKCRldmVudClcIlxyXG4gICAgKHRyaWdnZXJIaWdobGlnaHRTYW1lWWVhck5leHRQYWdlKT1cImhpZ2hsaWdodFNhbWVZZWFyTmV4dFBhZ2UoJGV2ZW50KVwiXHJcbiAgICAodHJpZ2dlckhpZ2hsaWdodFNhbWVZZWFyUHJldmlvdXNQYWdlKT1cImhpZ2hsaWdodFNhbWVZZWFyUHJldmlvdXNQYWdlKCRldmVudClcIlxyXG4gIC8+XHJcbiAgfSB9XHJcbjwvZGl2PlxyXG4iXX0=
|
|
450
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixZQUFZLEVBQ1osTUFBTSxFQUNOLFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixXQUFXLEVBQ1gsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFdkUsT0FBTyxFQUFFLHFCQUFxQixFQUF1QixNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFFTCxlQUFlLEdBU2hCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7QUFFekUsTUFBTSxL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eUNBdWJ6QyxtQkFBbUI7c0JBRGxCLFlBQVk7dUJBQUMsb0JBQW9CO2dCQUtsQyxpQkFBaUI7c0JBRGhCLFlBQVk7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGNvbnRlbnRDaGlsZCxcbiAgZWZmZWN0LFxuICBmb3J3YXJkUmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdCxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBjb2VyY2VEYXRlUHJvcGVydHksIGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFyZGl1bS11aS9kZXZraXQnO1xuaW1wb3J0IHsgcm91bmRGcm9tWmVybyB9IGZyb20gJ21vcmUtcm91bmRpbmcnO1xuaW1wb3J0IHsgaXNEZWZpbmVkLCBpc051bGwgfSBmcm9tICdzaW1wbGUtYm9vbCc7XG5pbXBvcnQgeyBfTmdNb2RlbENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi9faW50ZXJuYWwvbmdtb2RlbC1jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tcG9uZW50Q29sb3IgfSBmcm9tICcuLi90eXBlcy9jb2xvcnMudHlwZXMnO1xuaW1wb3J0IHsgQVJEX0NBTEVOREFSX0RFRkFVTFRTLCBBcmRDYWxlbmRhckRlZmF1bHRzIH0gZnJvbSAnLi9jYWxlbmRhci5kZWZhdWx0cyc7XG5pbXBvcnQge1xuICBBcmRDYWxlbmRhckZpbHRlckZuLFxuICBBcmRDYWxlbmRhclZpZXcsXG4gIENhbGVuZGFyRGF5Q29udGV4dCxcbiAgQ2FsZW5kYXJEYXlzVmlld0hlYWRlckNvbnRleHQsXG4gIENhbGVuZGFyRmxvYXRpbmdNb250aENvbnRleHQsXG4gIENhbGVuZGFyTW9udGhDb250ZXh0LFxuICBDYWxlbmRhck1vbnRoc1ZpZXdIZWFkZXJDb250ZXh0LFxuICBDYWxlbmRhcldlZWtkYXlDb250ZXh0LFxuICBDYWxlbmRhclllYXJDb250ZXh0LFxuICBDYWxlbmRhclllYXJzVmlld0hlYWRlckNvbnRleHQsXG59IGZyb20gJy4vY2FsZW5kYXIudHlwZXMnO1xuaW1wb3J0IHsgaXNEYXlPdXRPZlJhbmdlIH0gZnJvbSAnLi92aWV3cy9kYXlzLXZpZXcvZGF5cy12aWV3LmhlbHBlcnMnO1xuaW1wb3J0IHsgaXNNb250aE91dE9mUmFuZ2UgfSBmcm9tICcuL3ZpZXdzL21vbnRocy12aWV3L21vbnRocy12aWV3LmhlbHBlcnMnO1xuaW1wb3J0IHsgaXNZZWFyT3V0T2ZSYW5nZSB9IGZyb20gJy4vdmlld3MveWVhcnMtdmlldy95ZWFycy12aWV3LmhlbHBlcnMnO1xuXG5jb25zdCBUT0RBWSA9IG5ldyBEYXRlKCk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FyZC1jYWxlbmRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhbGVuZGFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFyZGl1bUNhbGVuZGFyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFyZGl1bUNhbGVuZGFyQ29tcG9uZW50IGV4dGVuZHMgX05nTW9kZWxDb21wb25lbnRCYXNlIHtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IF9ERUZBVUxUUyE6IEFyZENhbGVuZGFyRGVmYXVsdHM7XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQVJEX0NBTEVOREFSX0RFRkFVTFRTKSBkZWZhdWx0czogQXJkQ2FsZW5kYXJEZWZhdWx0cykge1xuICAgIHN1cGVyKGRlZmF1bHRzKTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZSgpOyAvLyB0cmlnZ2VyIGVmZmVjdFxuICAgICAgdGhpcy5fZW1pdENoYW5nZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8hIGFwcGVhcmFuY2VcbiAgcmVhZG9ubHkgY29sb3IgPSBpbnB1dDxDb21wb25lbnRDb2xvcj4odGhpcy5fREVGQVVMVFMuY29sb3IpO1xuXG4gIHJlYWRvbmx5IG5nQ2xhc3NlcyA9IGNvbXB1dGVkKCgpOiBzdHJpbmcgPT4gW2BhcmQtY29sb3ItJHt0aGlzLmNvbG9yKCl9YF0uam9pbignICcpKTtcblxuICAvLyEgYWN0aXZlIHZpZXdcbiAgcmVhZG9ubHkgYWN0aXZlVmlldyA9IG1vZGVsPEFyZENhbGVuZGFyVmlldz4odGhpcy5fREVGQVVMVFMuYWN0aXZlVmlldyk7XG4gIHJlYWRvbmx5IGFjdGl2ZVllYXIgPSBtb2RlbDxudW1iZXI+KHRoaXMuX0RFRkFVTFRTLmFjdGl2ZVllYXIpO1xuICByZWFkb25seSBhY3RpdmVNb250aCA9IG1vZGVsPG51bWJlcj4odGhpcy5fREVGQVVMVFMuYWN0aXZlTW9udGgpO1xuXG4gIHJlYWRvbmx5IGZpcnN0V2Vla2RheSA9IGlucHV0PG51bWJlciwgYW55Pih0aGlzLl9ERUZBVUxUUy5maXJzdFdlZWtkYXksIHtcbiAgICB0cmFuc2Zvcm06IHYgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2LCB0aGlzLl9ERUZBVUxUUy5maXJzdFdlZWtkYXkpO1xuICAgICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKHZhbHVlKSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgIG5ldyBFcnJvcihgQVJELU5GMjAwMUE6IFtmaXJzdFdlZWtkYXldIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyLCBnb3QgXCIke3ZhbHVlfVwiLiBVc2luZyBkZWZhdWx0IHZhbHVlIGluc3RlYWQuYClcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX0RFRkFVTFRTLmZpcnN0V2Vla2RheTtcbiAgICAgIH1cbiAgICAgIGlmICh2YWx1ZSA8IDAgfHwgdmFsdWUgPiA2KSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgbmV3IEVycm9yKFxuICAgICAgICAgICAgYEFSRC1ORjIwMDFCOiBbZmlyc3RXZWVrZGF5XSBtdXN0IGJlIGJldHdlZW4gMCBhbmQgNiwgZ290IFwiJHt2YWx1ZX1cIi4gVXNpbmcgbW9kdWxvIG9wZXJhdG9yIHRvIGFkanVzdCB0aGUgdmFsdWUuYFxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2YWx1ZSAlIDc7XG4gICAgfSxcbiAgfSk7XG5cbiAgcmVhZG9ubHkgbXVsdGlwbGVZZWFyUGFnZUNoYW5nZU1vZGlmaWVyID0gaW5wdXQ8bnVtYmVyLCBhbnk+KHRoaXMuX0RFRkFVTFRTLm11bHRpcGxlWWVhclBhZ2VDaGFuZ2VNb2RpZmllciwge1xuICAgIHRyYW5zZm9ybTogdiA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGNvZXJjZU51bWJlclByb3BlcnR5KHYsIHRoaXMuX0RFRkFVTFRTLm11bHRpcGxlWWVhclBhZ2VDaGFuZ2VNb2RpZmllcik7XG4gICAgICBpZiAoIU51bWJlci5pc0ludGVnZXIodmFsdWUpIHx8IHZhbHVlIDwgMSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgIG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBBUkQtTkYyMDAyOiBbbXVsdGlwbGVZZWFyUGFnZUNoYW5nZU1vZGlmaWVyXSBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlciwgZ290IFwiJHt2YWx1ZX1cIi4gVXNpbmcgZGVmYXVsdCB2YWx1ZSBpbnN0ZWFkLmBcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB0aGlzLl9ERUZBVUxUUy5tdWx0aXBsZVllYXJQYWdlQ2hhbmdlTW9kaWZpZXI7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfSxcbiAgfSk7XG5cbiAgcmVhZG9ubHkgYXV0b0ZvY3VzID0gaW5wdXQ8Ym9vbGVhbiwgYW55Pih0aGlzLl9ERUZBVUxUUy5hdXRvRm9jdXMsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcblxuICBvblRyaWdnZXJPcGVuRGF5c1ZpZXcoKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVWaWV3LnNldChBcmRDYWxlbmRhclZpZXcuRGF5cyk7XG4gIH1cbiAgb25UcmlnZ2VyT3Blbk1vbnRoc1ZpZXcoKTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVWaWV3LnNldChBcmRDYWxlbmRhclZpZXcuTW9udGhzKTtcbiAgfVxuICBvblRyaWdnZXJPcGVuWWVhcnNWaWV3KCk6IHZvaWQge1xuICAgIHRoaXMuYWN0aXZlVmlldy5zZXQoQXJkQ2FsZW5kYXJWaWV3LlllYXJzKTtcbiAgfVxuXG4gIC8vISB2YWx1ZVxuICByZWFkb25seSBzZWxlY3RlZERhdGUgPSBtb2RlbDxEYXRlIHwgbnVsbD4obnVsbCwgeyBhbGlhczogJ3NlbGVjdGVkJyB9KTtcblxuICByZWFkb25seSB5ZWFyU2VsZWN0ID0gb3V0cHV0PG51bWJlcj4oKTtcbiAgcmVhZG9ubHkgbW9udGhTZWxlY3QgPSBvdXRwdXQ8bnVtYmVyPigpO1xuXG4gIHJlYWRvbmx5IG1pbiA9IGlucHV0PERhdGUgfCBudWxsLCBhbnk+KHRoaXMuX0RFRkFVTFRTLm1pbiwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlRGF0ZVByb3BlcnR5KHYsIHRoaXMuX0RFRkFVTFRTLm1pbikgfSk7XG4gIHJlYWRvbmx5IG1heCA9IGlucHV0PERhdGUgfCBudWxsLCBhbnk+KHRoaXMuX0RFRkFVTFRTLm1heCwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlRGF0ZVByb3BlcnR5KHYsIHRoaXMuX0RFRkFVTFRTLm1heCkgfSk7XG5cbiAgcmVhZG9ubHkgZmlsdGVyID0gaW5wdXQ8QXJkQ2FsZW5kYXJGaWx0ZXJGbiB8IG51bGw+KHRoaXMuX0RFRkFVTFRTLmZpbHRlcik7XG5cbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodiBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLnNldCh2KTtcbiAgICB9IGVsc2UgaWYgKCFpc0RlZmluZWQodikpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLnNldChudWxsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcihuZXcgRXJyb3IoYEFSRC1ORjIwMDM6IDxhcmQtY2FsZW5kYXI+IFt3cml0ZVZhbHVlXSBleHBlY3RlZCBhIERhdGUgb3IgbnVsbCwgZ290IFwiJHt2fVwiLmApKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgX2VtaXRDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2VSZWdpc3RlcmVkPy4odGhpcy5zZWxlY3RlZERhdGUoKSk7XG4gIH1cblxuICAvLyEgc2VsZWN0aW5nIGRheXNcbiAgaXNEYXlTZWxlY3RlZChkYXk6IG51bWJlciB8IERhdGUgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgaWYgKGRheSBpbnN0YW5jZW9mIERhdGUpIGRheSA9IGRheS5nZXREYXRlKCk7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlKCkgIT09IG51bGwgJiZcbiAgICAgIHRoaXMuYWN0aXZlWWVhcigpID09PSB0aGlzLnNlbGVjdGVkRGF0ZSgpPy5nZXRGdWxsWWVhcigpICYmXG4gICAgICB0aGlzLmFjdGl2ZU1vbnRoKCkgPT09IHRoaXMuc2VsZWN0ZWREYXRlKCk/LmdldE1vbnRoKCkgJiZcbiAgICAgIGRheSA9PT0gdGhpcy5zZWxlY3RlZERhdGUoKT8uZ2V0RGF0ZSgpXG4gICAgKTtcbiAgfVxuICBpc0RheU91dE9mUmFuZ2UoZGF5OiBudW1iZXIsIG1vbnRoOiBudW1iZXIgPSB0aGlzLmFjdGl2ZU1vbnRoKCksIHllYXI6IG51bWJlciA9IHRoaXMuYWN0aXZlWWVhcigpKTogbnVtYmVyIHtcbiAgICByZXR1cm4gaXNEYXlPdXRPZlJhbmdlKGRheSwgbW9udGgsIHllYXIsIHRoaXMubWluKCksIHRoaXMubWF4KCkpO1xuICB9XG4gIHJlYWRvbmx5IGlzRGF5RmlsdGVyZWRPdXQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIChkYXk6IG51bWJlciwgbW9udGg6IG51bWJlciA9IHRoaXMuYWN0aXZlTW9udGgoKSwgeWVhcjogbnVtYmVyID0gdGhpcy5hY3RpdmVZZWFyKCkpOiBib29sZWFuID0+IHtcbiAgICAgIGNvbnN0IGZpbHRlciA9IHRoaXMuZmlsdGVyKCk7XG4gICAgICByZXR1cm4gZmlsdGVyPy4obmV3IERhdGUoeWVhciwgbW9udGgsIGRheSkpID8/IGZhbHNlO1xuICAgIH07XG4gIH0pO1xuICBzZWxlY3REYXkoZGF5OiBudW1iZXIgfCBEYXRlIHwgbnVsbCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRGF5U2VsZWN0ZWQoZGF5KSkgcmV0dXJuO1xuICAgIGlmIChpc051bGwoZGF5KSkge1xuICAgICAgaWYgKCFpc0RlZmluZWQodGhpcy5zZWxlY3RlZERhdGUoKSkpIHJldHVybjtcblxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUuc2V0KG51bGwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChkYXkgaW5zdGFuY2VvZiBEYXRlKSBkYXkgPSBkYXkuZ2V0RGF0ZSgpO1xuICAgIGlmICgoZGF5ICYmIHRoaXMuaXNEYXlPdXRPZlJhbmdlKGRheSkpIHx8IHRoaXMuaXNEYXlGaWx0ZXJlZE91dCgpKGRheSkpIHJldHVybjtcblxuICAgIHRoaXMuc2VsZWN0ZWREYXRlLnNldChuZXcgRGF0ZSh0aGlzLmFjdGl2ZVllYXIoKSwgdGhpcy5hY3RpdmVNb250aCgpLCBkYXksIDAsIDAsIDAsIDApKTtcbiAgfVxuICBzZWxlY3RDdXJyZW50bHlIaWdobGlnaHRlZERheSgpOiB2b2lkIHtcbiAgICBpZiAoIWlzRGVmaW5lZCh0aGlzLmhpZ2hsaWdodGVkRGF5KCkpKSByZXR1cm47XG5cbiAgICB0aGlzLnNlbGVjdERheSh0aGlzLmhpZ2hsaWdodGVkRGF5KCkpO1xuICB9XG5cbiAgLy8hIGhpZ2hsaWdodGluZyBkYXlzXG4gIHByaXZhdGUgcmVhZG9ubHkgX19oaWdobGlnaHRlZERheSA9IHNpZ25hbDxudW1iZXIgfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgaGlnaGxpZ2h0ZWREYXkgPSB0aGlzLl9faGlnaGxpZ2h0ZWREYXkuYXNSZWFkb25seSgpO1xuXG4gIHNldEhpZ2hsaWdodGVkRGF5KGRheTogbnVtYmVyIHwgbnVsbCwgbW9udGg6IG51bWJlciA9IHRoaXMuYWN0aXZlTW9udGgoKSwgeWVhcjogbnVtYmVyID0gdGhpcy5hY3RpdmVZZWFyKCkpOiB2b2lkIHtcbiAgICBpZiAoaXNOdWxsKGRheSkpIHtcbiAgICAgIHRoaXMuX19oaWdobGlnaHRlZERheS51cGRhdGUoKCkgPT4gZGF5KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXkpO1xuICAgIGNvbnN0IG91dE9mUmFuZ2UgPSB0aGlzLmlzRGF5T3V0T2ZSYW5nZShkYXksIG1vbnRoLCB5ZWFyKTtcblxuICAgIGlmIChvdXRPZlJhbmdlID09PSAtMSkge1xuICAgICAgdGhpcy5faGlnaGxpZ2h0TWluRGF5KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChvdXRPZlJhbmdlID09PSAxKSB7XG4gICAgICB0aGlzLl9oaWdobGlnaHRNYXhEYXkoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9faGlnaGxpZ2h0ZWREYXkudXBkYXRlKCgpID0+IGRhdGUuZ2V0RGF0ZSgpKTtcblxuICAgIGlmIChkYXRlLmdldEZ1bGxZZWFyKCkgIT09IHRoaXMuYWN0aXZlWWVhcigpKSB7XG4gICAgICB0aGlzLmFjdGl2ZVllYXIuc2V0KGRhdGUuZ2V0RnVsbFllYXIoKSk7XG4gICAgfVxuICAgIGlmIChkYXRlLmdldE1vbnRoKCkgIT09IHRoaXMuYWN0aXZlTW9udGgoKSkge1xuICAgICAgdGhpcy5hY3RpdmVNb250aC5zZXQoZGF0ZS5nZXRNb250aCgpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oaWdobGlnaHRNaW5EYXkoKTogdm9pZCB7XG4gICAgY29uc3QgbWluID0gdGhpcy5taW4oKTtcbiAgICBpZiAoIWlzRGVmaW5lZChtaW4pKSByZXR1cm47XG5cbiAgICB0aGlzLmFjdGl2ZVllYXIuc2V0KG1pbi5nZXRGdWxsWWVhcigpKTtcbiAgICB0aGlzLmFjdGl2ZU1vbnRoLnNldChtaW4uZ2V0TW9udGgoKSk7XG4gICAgdGhpcy5fX2hpZ2hsaWdodGVkRGF5LnNldChtaW4uZ2V0RGF0ZSgpKTtcbiAgfVxuICBwcml2YXRlIF9oaWdobGlnaHRNYXhEYXkoKTogdm9pZCB7XG4gICAgY29uc3QgbWF4ID0gdGhpcy5tYXgoKTtcbiAgICBpZiAoIWlzRGVmaW5lZChtYXgpKSByZXR1cm47XG5cbiAgICB0aGlzLmFjdGl2ZVllYXIuc2V0KG1heC5nZXRGdWxsWWVhcigpKTtcbiAgICB0aGlzLmFjdGl2ZU1vbnRoLnNldChtYXguZ2V0TW9udGgoKSk7XG4gICAgdGhpcy5fX2hpZ2hsaWdodGVkRGF5LnNldChtYXguZ2V0RGF0ZSgpKTtcbiAgfVxuXG4gIGhpZ2hsaWdodE5leHREYXkob2Zmc2V0ID0gMSk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnREYXkgPSB0aGlzLmhpZ2hsaWdodGVkRGF5KCk7XG4gICAgY29uc3QgbmV3RGF5ID0gaXNEZWZpbmVkKGN1cnJlbnREYXkpID8gY3VycmVudERheSArIG9mZnNldCA6IDE7XG4gICAgdGhpcy5zZXRIaWdobGlnaHRlZERheShuZXdEYXkpO1xuICB9XG4gIGhpZ2hsaWdodFByZXZpb3VzRGF5KG9mZnNldCA9IDEpOiB2b2lkIHtcbiAgICB0aGlzLmhpZ2hsaWdodE5leHREYXkob2Zmc2V0ICogLTEpO1xuICB9XG4gIGhpZ2hsaWdodEZpcnN0RGF5KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0SGlnaGxpZ2h0ZWREYXkoMSk7XG4gIH1cbiAgaGlnaGxpZ2h0TGFzdERheSgpOiB2b2lkIHtcbiAgICBjb25zdCBkYXlzSW5Nb250aCA9IG5ldyBEYXRlKHRoaXMuYWN0aXZlWWVhcigpLCB0aGlzLmFjdGl2ZU1vbnRoKCkgKyAxLCAwKS5nZXREYXRlKCk7XG4gICAgdGhpcy5zZXRIaWdobGlnaHRlZERheShkYXlzSW5Nb250aCk7XG4gIH1cbiAgaGlnaGxpZ2h0U2FtZURheU5leHRNb250aCgpOiB2b2lkIHtcbiAgICBjb25zdCBtb250aCA9IHRoaXMuYWN0aXZlTW9udGgoKTtcbiAgICBjb25zdCB5ZWFyID0gdGhpcy5hY3RpdmVZZWFyKCk7XG4gICAgY29uc3QgbmV3TW9udGggPSBtb250aCArIDE7XG4gICAgY29uc3QgbmV3WWVhciA9IHllYXIgKyBNYXRoLmZsb29yKG5ld01vbnRoIC8gMTIpO1xuICAgIHRoaXMuc2V0SGlnaGxpZ2h0ZWREYXkodGhpcy5oaWdobGlnaHRlZERheSgpLCBuZXdNb250aCAlIDEyLCBuZXdZZWFyKTtcbiAgfVxuICBoaWdobGlnaHRTYW1lRGF5UHJldmlvdXNNb250aCgpOiB2b2lkIHtcbiAgICBjb25zdCBtb250aCA9IHRoaXMuYWN0aXZlTW9udGgoKTtcbiAgICBjb25zdCB5ZWFyID0gdGhpcy5hY3RpdmVZZWFyKCk7XG4gICAgY29uc3QgbmV3TW9udGggPSBtb250aCAtIDE7XG4gICAgY29uc3QgbmV3WWVhciA9IHllYXIgKyBNYXRoLmZsb29yKG5ld01vbnRoIC8gMTIpO1xuICAgIHRoaXMuc2V0SGlnaGxpZ2h0ZWREYXkodGhpcy5oaWdobGlnaHRlZERheSgpLCBuZXdNb250aCAlIDEyLCBuZXdZZWFyKTtcbiAgfVxuICBoaWdobGlnaHRTYW1lRGF5TmV4dFllYXIoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRIaWdobGlnaHRlZERheSh0aGlzLmhpZ2hsaWdodGVkRGF5KCksIHRoaXMuYWN0aXZlTW9udGgoKSwgdGhpcy5hY3RpdmVZZWFyKCkgKyAxKTtcbiAgfVxuICBoaWdobGlnaHRTYW1lRGF5UHJldmlvdXNZZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0SGlnaGxpZ2h0ZWREYXkodGhpcy5oaWdobGlnaHRlZERheSgpLCB0aGlzLmFjdGl2ZU1vbnRoKCksIHRoaXMuYWN0aXZlWWVhcigpIC0gMSk7XG4gIH1cblxuICAvLyEgc2VsZWN0aW5nIG1vbnRoc1xuICBpc01vbnRoU2VsZWN0ZWQobW9udGg6IG51bWJlciB8IERhdGUpOiBib29sZWFuIHtcbiAgICBpZiAobW9udGggaW5zdGFuY2VvZiBEYXRlKSBtb250aCA9IG1vbnRoLmdldE1vbnRoKCk7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlKCkgIT09IG51bGwgJiZcbiAgICAgIHRoaXMuYWN0aXZlWWVhcigpID09PSB0aGlzLnNlbGVjdGVkRGF0ZSgpPy5nZXRGdWxsWWVhcigpICYmXG4gICAgICBtb250aCA9PT0gdGhpcy5zZWxlY3RlZERhdGUoKT8uZ2V0TW9udGgoKVxuICAgICk7XG4gIH1cbiAgaXNNb250aE91dE9mUmFuZ2UobW9udGg6IG51bWJlciwgeWVhcjogbnVtYmVyID0gdGhpcy5hY3RpdmVZZWFyKCkpOiBudW1iZXIge1xuICAgIHJldHVybiBpc01vbnRoT3V0T2ZSYW5nZShtb250aCwgeWVhciwgdGhpcy5taW4oKSwgdGhpcy5tYXgoKSk7XG4gIH1cbiAgY2hhbmdlTW9udGgobmV3TW9udGg6IG51bWJlciB8IG51bGwpOiBib29sZWFuIHtcbiAgICBpZiAoaXNOdWxsKG5ld01vbnRoKSkge1xuICAgICAgdGhpcy5hY3RpdmVNb250aC5zZXQoVE9EQVkuZ2V0TW9udGgoKSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc01vbnRoT3V0T2ZSYW5nZShuZXdNb250aCkpIHJldHVybiBmYWxzZTtcblxuICAgIGlmIChuZXdNb250aCA+IDExKSB7XG4gICAgICB0aGlzLmFjdGl2ZU1vbnRoLnNldCgwKTtcbiAgICAgIHRoaXMuYWN0aXZlWWVhci51cGRhdGUodiA9PiB2ICsgMSk7XG4gICAgfSBlbHNlIGlmIChuZXdNb250aCA8IDApIHtcbiAgICAgIHRoaXMuYWN0aXZlTW9udGguc2V0KDExKTtcbiAgICAgIHRoaXMuYWN0aXZlWWVhci51cGRhdGUodiA9PiB2IC0gMSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYWN0aXZlTW9udGguc2V0KG5ld01vbnRoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBzZWxlY3RNb250aChuZXdNb250aDogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuICAgIGlmIChpc051bGwobmV3TW9udGgpIHx8IHRoaXMuaXNNb250aE91dE9mUmFuZ2UobmV3TW9udGgpKSByZXR1cm47XG5cbiAgICBjb25zdCB3YXNTdWNjZXNzZnVsID0gdGhpcy5jaGFuZ2VNb250aChuZXdNb250aCk7XG4gICAgaWYgKCF3YXNTdWNjZXNzZnVsKSByZXR1cm47XG5cbiAgICB0aGlzLmFjdGl2ZVZpZXcuc2V0KEFyZENhbGVuZGFyVmlldy5EYXlzKTtcbiAgICB0aGlzLm1vbnRoU2VsZWN0LmVtaXQobmV3TW9udGgpO1xuICB9XG4gIHNlbGVjdEN1cnJlbnRseUhpZ2hsaWdodGVkTW9udGgoKTogdm9pZCB7XG4gICAgaWYgKCFpc0RlZmluZWQodGhpcy5oaWdobGlnaHRlZE1vbnRoKCkpKSByZXR1cm47XG5cbiAgICB0aGlzLnNlbGVjdE1vbnRoKHRoaXMuaGlnaGxpZ2h0ZWRNb250aCgpISk7XG4gIH1cblxuICAvLyEgaGlnaGxpZ2h0aW5nIG1vbnRoc1xuICBwcml2YXRlIHJlYWRvbmx5IF9faGlnaGxpZ2h0ZWRNb250aCA9IHNpZ25hbDxudW1iZXIgfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgaGlnaGxpZ2h0ZWRNb250aCA9IHRoaXMuX19oaWdobGlnaHRlZE1vbnRoLmFzUmVhZG9ubHkoKTtcblxuICBzZXRIaWdobGlnaHRlZE1vbnRoKG1vbnRoOiBudW1iZXIgfCBudWxsLCB5ZWFyOiBudW1iZXIgPSB0aGlzLmFjdGl2ZVllYXIoKSk6IHZvaWQge1xuICAgIGlmIChpc051bGwobW9udGgpKSB7XG4gICAgICB0aGlzLl9faGlnaGxpZ2h0ZWRNb250aC51cGRhdGUoKCkgPT4gbW9udGgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGgsIDE1KTtcbiAgICBjb25zdCBvdXRPZlJhbmdlID0gdGhpcy5pc01vbnRoT3V0T2ZSYW5nZShtb250aCwgeWVhcik7XG5cbiAgICBpZiAob3V0T2ZSYW5nZSA9PT0gLTEpIHtcbiAgICAgIHRoaXMuX2hpZ2hsaWdodE1pbk1vbnRoKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChvdXRPZlJhbmdlID09PSAxKSB7XG4gICAgICB0aGlzLl9oaWdobGlnaHRNYXhNb250aCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX19oaWdobGlnaHRlZE1vbnRoLnVwZGF0ZSgoKSA9PiBkYXRlLmdldE1vbnRoKCkpO1xuXG4gICAgaWYgKGRhdGUuZ2V0RnVsbFllYXIoKSAhPT0gdGhpcy5hY3RpdmVZZWFyKCkpIHtcbiAgICAgIHRoaXMuYWN0aXZlWWVhci5zZXQoZGF0ZS5nZXRGdWxsWWVhcigpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oaWdobGlnaHRNaW5Nb250aCgpOiB2b2lkIHtcbiAgICBjb25zdCBtaW4gPSB0aGlzLm1pbigpO1xuICAgIGlmICghaXNEZWZpbmVkKG1pbikpIHJldHVybjtcblxuICAgIHRoaXMuYWN0aXZlWWVhci5zZXQobWluLmdldEZ1bGxZZWFyKCkpO1xuICAgIHRoaXMuX19oaWdobGlnaHRlZE1vbnRoLnNldChtaW4uZ2V0TW9udGgoKSk7XG4gIH1cbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0TWF4TW9udGgoKTogdm9pZCB7XG4gICAgY29uc3QgbWF4ID0gdGhpcy5tYXgoKTtcbiAgICBpZiAoIWlzRGVmaW5lZChtYXgpKSByZXR1cm47XG5cbiAgICB0aGlzLmFjdGl2ZVllYXIuc2V0KG1heC5nZXRGdWxsWWVhcigpKTtcbiAgICB0aGlzLl9faGlnaGxpZ2h0ZWRNb250aC5zZXQobWF4LmdldE1vbnRoKCkpO1xuICB9XG5cbiAgaGlnaGxpZ2h0TmV4dE1vbnRoKG9mZnNldCA9IDEpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50TW9udGggPSB0aGlzLmhpZ2hsaWdodGVkTW9udGgoKTtcbiAgICBjb25zdCBuZXdNb250aCA9IGlzRGVmaW5lZChjdXJyZW50TW9udGgpID8gY3VycmVudE1vbnRoICsgb2Zmc2V0IDogMDtcbiAgICB0aGlzLnNldEhpZ2hsaWdodGVkTW9udGgobmV3TW9udGgpO1xuICB9XG4gIGhpZ2hsaWdodFByZXZpb3VzTW9udGgob2Zmc2V0ID0gMSk6IHZvaWQge1xuICAgIHRoaXMuaGlnaGxpZ2h0TmV4dE1vbnRoKG9mZnNldCAqIC0xKTtcbiAgfVxuICBoaWdobGlnaHRGaXJzdE1vbnRoKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0SGlnaGxpZ2h0ZWRNb250aCgwKTtcbiAgfVxuICBoaWdobGlnaHRMYXN0TW9udGgoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRIaWdobGlnaHRlZE1vbnRoKDExKTtcbiAgfVxuICBoaWdobGlnaHRTYW1lTW9udGhOZXh0WWVhcihtdWx0aXBsZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuc2V0SGlnaGxpZ2h0ZWRNb250aCh0aGlzLmhpZ2hsaWdodGVkTW9udGgoKSwgdGhpcy5hY3RpdmVZZWFyKCkgKyAobXVsdGlwbGUgPyAxMCA6IDEpKTtcbiAgfVxuICBoaWdobGlnaHRTYW1lTW9udGhQcmV2aW91c1llYXIobXVsdGlwbGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnNldEhpZ2hsaWdodGVkTW9udGgodGhpcy5oaWdobGlnaHRlZE1vbnRoKCksIHRoaXMuYWN0aXZlWWVhcigpIC0gKG11bHRpcGxlID8gMTAgOiAxKSk7XG4gIH1cblxuICAvLyEgc2VsZWN0aW5nIHllYXJzXG4gIGlzWWVhclNlbGVjdGVkKHllYXI6IG51bWJlciB8IERhdGUpOiBib29sZWFuIHtcbiAgICBpZiAoeWVhciBpbnN0YW5jZW9mIERhdGUpIHllYXIgPSB5ZWFyLmdldEZ1bGxZZWFyKCk7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWREYXRlKCkgIT09IG51bGwgJiYgeWVhciA9PT0gdGhpcy5zZWxlY3RlZERhdGUoKT8uZ2V0RnVsbFllYXIoKTtcbiAgfVxuICBpc1llYXJPdXRPZlJhbmdlKHllYXI6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIGlzWWVhck91dE9mUmFuZ2UoeWVhciwgdGhpcy5taW4oKSwgdGhpcy5tYXgoKSk7XG4gIH1cbiAgY2hhbmdlWWVhcih5ZWFyOiBudW1iZXIgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgaWYgKGlzTnVsbCh5ZWFyKSkge1xuICAgICAgdGhpcy5hY3RpdmVZZWFyLnNldChUT0RBWS5nZXRGdWxsWWVhcigpKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzWWVhck91dE9mUmFuZ2UoeWVhcikpIHJldHVybiBmYWxzZTtcblxuICAgIHRoaXMuYWN0aXZlWWVhci5zZXQoeWVhcik7XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBzZWxlY3RZZWFyKHllYXI6IG51bWJlciB8IERhdGUgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKGlzTnVsbCh5ZWFyKSkgcmV0dXJuO1xuICAgIGlmICh5ZWFyIGluc3RhbmNlb2YgRGF0ZSkgeWVhciA9IHllYXIuZ2V0RnVsbFllYXIoKTtcblxuICAgIGNvbnN0IHdhc1N1Y2Nlc3NmdWwgPSB0aGlzLmNoYW5nZVllYXIoeWVhcik7XG4gICAgaWYgKCF3YXNTdWNjZXNzZnVsKSByZXR1cm47XG5cbiAgICB0aGlzLmFjdGl2ZVZpZXcuc2V0KEFyZENhbGVuZGFyVmlldy5Nb250aHMpO1xuICAgIHRoaXMueWVhclNlbGVjdC5lbWl0KHllYXIpO1xuICB9XG4gIHNlbGVjdEN1cnJlbnRseUhpZ2hsaWdodGVkWWVhcigpOiB2b2lkIHtcbiAgICBpZiAoIWlzRGVmaW5lZCh0aGlzLmhpZ2hsaWdodGVkWWVhcigpKSkgcmV0dXJuO1xuXG4gICAgdGhpcy5zZWxlY3RZZWFyKHRoaXMuaGlnaGxpZ2h0ZWRZZWFyKCkhKTtcbiAgfVxuXG4gIC8vISBoaWdobGlnaHRpbmcgeWVhcnNcbiAgcHJpdmF0ZSByZWFkb25seSBfX2hpZ2hsaWdodGVkWWVhciA9IHNpZ25hbDxudW1iZXIgfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgaGlnaGxpZ2h0ZWRZZWFyID0gdGhpcy5fX2hpZ2hsaWdodGVkWWVhci5hc1JlYWRvbmx5KCk7XG5cbiAgcmVhZG9ubHkgY3VycmVudFllYXJSYW5nZVN0YXJ0ID0gc2lnbmFsPG51bWJlcj4oVE9EQVkuZ2V0RnVsbFllYXIoKSAtIChUT0RBWS5nZXRGdWxsWWVhcigpICUgNCkgLSA4KTsgLy8gY3VycmVudCB5ZWFyIGFsd2F5cyBpbiAzcmQgcm93XG5cbiAgc2V0SGlnaGxpZ2h0ZWRZZWFyKHllYXI6IG51bWJlciB8IG51bGwpOiB2b2lkIHtcbiAgICBpZiAoaXNOdWxsKHllYXIpKSB7XG4gICAgICB0aGlzLl9faGlnaGxpZ2h0ZWRZZWFyLnVwZGF0ZSgoKSA9PiB5ZWFyKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHllYXIsIDApO1xuICAgIGNvbnN0IG91dE9mUmFuZ2UgPSB0aGlzLmlzWWVhck91dE9mUmFuZ2UoeWVhcik7XG5cbiAgICBpZiAob3V0T2ZSYW5nZSA9PT0gLTEpIHtcbiAgICAgIHRoaXMuX2hpZ2hsaWdodE1pblllYXIoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKG91dE9mUmFuZ2UgPT09IDEpIHtcbiAgICAgIHRoaXMuX2hpZ2hsaWdodE1heFllYXIoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZXdZZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgIHRoaXMuX19oaWdobGlnaHRlZFllYXIudXBkYXRlKCgpID0+IG5ld1llYXIpO1xuXG4gICAgaWYgKG5ld1llYXIgPCB0aGlzLmN1cnJlbnRZZWFyUmFuZ2VTdGFydCgpIHx8IG5ld1llYXIgPj0gdGhpcy5jdXJyZW50WWVhclJhbmdlU3RhcnQoKSArIDI0KSB7XG4gICAgICAvLyByb3VuZCB0aGUgb2Zmc2V0IGF3YXkgZnJvbSB6ZXJvOiAwLjEgLT4gMSwgLTAuMSAtPiAtMVxuICAgICAgLy8gdGhpcyBpcyB0byBlbnN1cmUgdGhlIHJhbmdlIHN0YXJ0IGlzIGFsd2F5cyBzaGlmdGVkIGJ5IDI0IHllYXJzXG4gICAgICBjb25zdCBvZmZzZXQgPSByb3VuZEZyb21aZXJvKChuZXdZZWFyIC0gdGhpcy5jdXJyZW50WWVhclJhbmdlU3RhcnQoKSkgLyAyNCk7XG4gICAgICB0aGlzLmN1cnJlbnRZZWFyUmFuZ2VTdGFydC51cGRhdGUodiA9PiB2ICsgb2Zmc2V0ICogMjQpO1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZVllYXJzVmlld1BhZ2Uob2Zmc2V0OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdZZWFyUmFuZ2VTdGFydCA9IHRoaXMuY3VycmVudFllYXJSYW5nZVN0YXJ0KCkgKyBvZmZzZXQgKiAyNDtcbiAgICB0aGlzLmN1cnJlbnRZZWFyUmFuZ2VTdGFydC5zZXQobmV3WWVhclJhbmdlU3RhcnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGlnaGxpZ2h0TWluWWVhcigpOiB2b2lkIHtcbiAgICBjb25zdCBtaW4gPSB0aGlzLm1pbigpO1xuICAgIGlmICghaXNEZWZpbmVkKG1pbikpIHJldHVybjtcblxuICAgIHRoaXMuX19oaWdobGlnaHRlZFllYXIuc2V0KG1pbi5nZXRGdWxsWWVhcigpKTtcbiAgfVxuICBwcml2YXRlIF9oaWdobGlnaHRNYXhZZWFyKCk6IHZvaWQge1xuICAgIGNvbnN0IG1heCA9IHRoaXMubWF4KCk7XG4gICAgaWYgKCFpc0RlZmluZWQobWF4KSkgcmV0dXJuO1xuXG4gICAgdGhpcy5fX2hpZ2hsaWdodGVkWWVhci5zZXQobWF4LmdldEZ1bGxZZWFyKCkpO1xuICB9XG5cbiAgaGlnaGxpZ2h0TmV4dFllYXIob2Zmc2V0ID0gMSk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRZZWFyID0gdGhpcy5oaWdobGlnaHRlZFllYXIoKTtcbiAgICBjb25zdCBuZXdZZWFyID0gaXNEZWZpbmVkKGN1cnJlbnRZZWFyKSA/IGN1cnJlbnRZZWFyICsgb2Zmc2V0IDogbnVsbDtcbiAgICB0aGlzLnNldEhpZ2hsaWdodGVkWWVhcihuZXdZZWFyKTtcbiAgfVxuICBoaWdobGlnaHRQcmV2aW91c1llYXIob2Zmc2V0ID0gMSk6IHZvaWQge1xuICAgIHRoaXMuaGlnaGxpZ2h0TmV4dFllYXIob2Zmc2V0ICogLTEpO1xuICB9XG4gIGhpZ2hsaWdodEZpcnN0WWVhcigpOiB2b2lkIHtcbiAgICB0aGlzLnNldEhpZ2hsaWdodGVkWWVhcih0aGlzLmN1cnJlbnRZZWFyUmFuZ2VTdGFydCgpKTtcbiAgfVxuICBoaWdobGlnaHRMYXN0WWVhcigpOiB2b2lkIHtcbiAgICB0aGlzLnNldEhpZ2hsaWdodGVkWWVhcih0aGlzLmN1cnJlbnRZZWFyUmFuZ2VTdGFydCgpICsgMjMpOyAvLyAyNCB5ZWFycyBwZXIgcGFnZVxuICB9XG4gIGhpZ2hsaWdodFNhbWVZZWFyTmV4dFBhZ2UobXVsdGlwbGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCB5ZWFyID0gdGhpcy5oaWdobGlnaHRlZFllYXIoKSA/PyB0aGlzLmN1cnJlbnRZZWFyUmFuZ2VTdGFydCgpO1xuICAgIHRoaXMuc2V0SGlnaGxpZ2h0ZWRZZWFyKHllYXIgKyAobXVsdGlwbGUgPyA2MCA6IDI0KSk7XG4gIH1cbiAgaGlnaGxpZ2h0U2FtZVllYXJQcmV2aW91c1BhZ2UobXVsdGlwbGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCB5ZWFyID0gdGhpcy5oaWdobGlnaHRlZFllYXIoKSA/PyB0aGlzLmN1cnJlbnRZZWFyUmFuZ2VTdGFydCgpO1xuICAgIHRoaXMuc2V0SGlnaGxpZ2h0ZWRZZWFyKHllYXIgLSAobXVsdGlwbGUgPyA2MCA6IDI0KSk7XG4gIH1cblxuICAvLyEgaW50ZXJuYWxzXG4gIHJlYWRvbmx5IF9pc1VzaW5nS2V5Ym9hcmQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZW1vdmUnKVxuICBvbkRvY3VtZW50TW91c2Vtb3ZlKCk6IHZvaWQge1xuICAgIHRoaXMuX2lzVXNpbmdLZXlib2FyZC5zZXQoZmFsc2UpO1xuICB9XG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nKVxuICBvbkRvY3VtZW50S2V5ZG93bigpOiB2b2lkIHtcbiAgICB0aGlzLl9pc1VzaW5nS2V5Ym9hcmQuc2V0KHRydWUpO1xuICB9XG5cbiAgLy8hIHRlbXBsYXRlc1xuICByZWFkb25seSB5ZWFyc1ZpZXdIZWFkZXJUZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZDxUZW1wbGF0ZVJlZjxDYWxlbmRhclllYXJzVmlld0hlYWRlckNvbnRleHQ+PihUZW1wbGF0ZVJlZik7XG4gIHJlYWRvbmx5IG1vbnRoc1ZpZXdIZWFkZXJUZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZDxUZW1wbGF0ZVJlZjxDYWxlbmRhck1vbnRoc1ZpZXdIZWFkZXJDb250ZXh0Pj4oVGVtcGxhdGVSZWYpO1xuICByZWFkb25seSBkYXlzVmlld0hlYWRlclRlbXBsYXRlID0gY29udGVudENoaWxkPFRlbXBsYXRlUmVmPENhbGVuZGFyRGF5c1ZpZXdIZWFkZXJDb250ZXh0Pj4oVGVtcGxhdGVSZWYpO1xuICByZWFkb25seSBmbG9hdGluZ01vbnRoVGVtcGxhdGUgPSBjb250ZW50Q2hpbGQ8VGVtcGxhdGVSZWY8Q2FsZW5kYXJGbG9hdGluZ01vbnRoQ29udGV4dD4+KFRlbXBsYXRlUmVmKTtcbiAgcmVhZG9ubHkgeWVhclRlbXBsYXRlID0gY29udGVudENoaWxkPFRlbXBsYXRlUmVmPENhbGVuZGFyWWVhckNvbnRleHQ+PihUZW1wbGF0ZVJlZik7XG4gIHJlYWRvbmx5IG1vbnRoVGVtcGxhdGUgPSBjb250ZW50Q2hpbGQ8VGVtcGxhdGVSZWY8Q2FsZW5kYXJNb250aENvbnRleHQ+PihUZW1wbGF0ZVJlZik7XG4gIHJlYWRvbmx5IGRheVRlbXBsYXRlID0gY29udGVudENoaWxkPFRlbXBsYXRlUmVmPENhbGVuZGFyRGF5Q29udGV4dD4+KFRlbXBsYXRlUmVmKTtcbiAgcmVhZG9ubHkgd2Vla2RheVRlbXBsYXRlID0gY29udGVudENoaWxkPFRlbXBsYXRlUmVmPENhbGVuZGFyV2Vla2RheUNvbnRleHQ+PihUZW1wbGF0ZVJlZik7XG59XG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJhcmQtY2FsZW5kYXJcIlxyXG4gIFtuZ0NsYXNzXT1cIm5nQ2xhc3NlcygpXCJcclxuPlxyXG4gIEBzd2l0Y2ggKGFjdGl2ZVZpZXcoKSkge1xyXG4gICAgQGNhc2UgKCdkYXlzJykge1xyXG4gICAgICA8YXJkLWRheXMtdmlld1xyXG4gICAgICAgIFt0YWJJbmRleF09XCJ0YWJJbmRleCgpXCJcclxuICAgICAgICBbcmVhZE9ubHldPVwicmVhZG9ubHkoKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxyXG4gICAgICAgIFthdXRvRm9jdXNdPVwiYXV0b0ZvY3VzKClcIlxyXG4gICAgICAgIFtfaXNVc2luZ0tleWJvYXJkXT1cIl9pc1VzaW5nS2V5Ym9hcmQoKVwiXHJcbiAgICAgICAgW2FjdGl2ZU1vbnRoXT1cImFjdGl2ZU1vbnRoKClcIlxyXG4gICAgICAgIFthY3RpdmVZZWFyXT1cImFjdGl2ZVllYXIoKVwiXHJcbiAgICAgICAgW3NlbGVjdGVkRGF0ZV09XCJzZWxlY3RlZERhdGUoKVwiXHJcbiAgICAgICAgW2ZpcnN0V2Vla2RheV09XCJmaXJzdFdlZWtkYXkoKVwiXHJcbiAgICAgICAgW2hpZ2hsaWdodGVkRGF5XT1cImhpZ2hsaWdodGVkRGF5KClcIlxyXG4gICAgICAgIFttaW5dPVwibWluKClcIlxyXG4gICAgICAgIFttYXhdPVwibWF4KClcIlxyXG4gICAgICAgIFtpc0RheUZpbHRlcmVkT3V0XT1cImlzRGF5RmlsdGVyZWRPdXQoKVwiXHJcbiAgICAgICAgW2RheXNWaWV3SGVhZGVyVGVtcGxhdGVdPVwiZGF5c1ZpZXdIZWFkZXJUZW1wbGF0ZSgpXCJcclxuICAgICAgICBbZmxvYXRpbmdNb250aFRlbXBsYXRlXT1cImZsb2F0aW5nTW9udGhUZW1wbGF0ZSgpXCJcclxuICAgICAgICBbd2Vla2RheVRlbXBsYXRlXT1cIndlZWtkYXlUZW1wbGF0ZSgpXCJcclxuICAgICAgICBbZGF5VGVtcGxhdGVdPVwiZGF5VGVtcGxhdGUoKVwiXHJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXHJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxyXG4gICAgICAgICh0cmlnZ2VyT3Blbk1vbnRoc1ZpZXcpPVwib25UcmlnZ2VyT3Blbk1vbnRoc1ZpZXcoKVwiXHJcbiAgICAgICAgKHRyaWdnZXJPcGVuWWVhcnNWaWV3KT1cIm9uVHJpZ2dlck9wZW5ZZWFyc1ZpZXcoKVwiXHJcbiAgICAgICAgKHRyaWdnZXJDaGFuZ2VNb250aCk9XCJjaGFuZ2VNb250aCgkZXZlbnQpXCJcclxuICAgICAgICAodHJpZ2dlckNoYW5nZVllYXIpPVwiY2hhbmdlWWVhcigkZXZlbnQpXCJcclxuICAgICAgICAodHJpZ2dlckhpZ2hsaWdodERheSk9XCJzZXRIaWdobGlnaHRlZERheSgkZXZlbnQpXCJcclxuICAgICAgICAodHJpZ2dlckhpZ2hsaWdodEZpcnN0RGF5KT1cImhpZ2hsaWdodEZpcnN0RGF5KClcIlxyXG4gICAgICAgICh0cmlnZ2VySGlnaGxpZ2h0TGFzdERheSk9XCJoaWdobGlnaHRMYXN0RGF5KClcIlxyXG4gICAgICAgICh0cmlnZ2VySGlnaGxpZ2h0TmV4dERheSk9XCJoaWdobGlnaHROZXh0RGF5KCRldmVudClcIlxyXG4gICAgICAgICh0cmlnZ2VySGlnaGxpZ2h0UHJldmlvdXNEYXkpPVwiaGlnaGxpZ2h0UHJldmlvdXNEYXkoJGV2ZW50KVwiXHJcbiAgICAgICAgKHRyaWdnZXJIaWdobGlnaHRTYW1lRGF5TmV4dFBhZ2UpPVwiJGV2ZW50ID8gaGlnaGxpZ2h0U2FtZURheU5leHRZZWFyKCkgOiBoaWdobGlnaHRTYW1lRGF5TmV4dE1vbnRoKClcIlxyXG4gICAgICAgICh0cmlnZ2VySGlnaGxpZ2h0U2FtZURheVByZXZpb3VzUGFnZSk9XCIkZXZlbnQgPyBoaWdobGlnaHRTYW1lRGF5UHJldmlvdXNZZWFyKCkgOiBoaWdobGlnaHRTYW1lRGF5UHJldmlvdXNNb250aCgpXCJcclxuICAgICAgICAodHJpZ2dlclNlbGVjdERheSk9XCJzZWxlY3REYXkoJGV2ZW50KVwiXHJcbiAgICAgIC8+XHJcbiAgICB9XHJcbiAgICBAY2FzZSAoJ21vbnRocycpIHtcclxuICAgICAgPGFyZC1tb250aHMtdmlld1xyXG4gICAgICAgIFt0YWJJbmRleF09XCJ0YWJJbmRleCgpXCJcclxuICAgICAgICBbcmVhZE9ubHldPVwicmVhZG9ubHkoKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxyXG4gICAgICAgIFthdXRvRm9jdXNdPVwiYXV0b0ZvY3VzKClcIlxyXG4gICAgICAgIFtfaXNVc2luZ0tleWJvYXJkXT1cIl9pc1VzaW5nS2V5Ym9hcmQoKVwiXHJcbiAgICAgICAgW2NvbG9yXT1cImNvbG9yKClcIlxyXG4gICAgICAgIFthY3RpdmVNb250aF09XCJhY3RpdmVNb250aCgpXCJcclxuICAgICAgICBbYWN0aXZlWWVhcl09XCJhY3RpdmVZZWFyKClcIlxyXG4gICAgICAgIFtzZWxlY3RlZERhdGVdPVwic2VsZWN0ZWREYXRlKClcIlxyXG4gICAgICAgIFttaW5dPVwibWluKClcIlxyXG4gICAgICAgIFttYXhdPVwibWF4KClcIlxyXG4gICAgICAgIFtoaWdobGlnaHRlZE1vbnRoXT1cImhpZ2hsaWdodGVkTW9udGgoKVwiXHJcbiAgICAgICAgW21vbnRoc1ZpZXdIZWFkZXJUZW1wbGF0ZV09XCJtb250aHNWaWV3SGVhZGVyVGVtcGxhdGUoKVwiXHJcbiAgICAgICAgW21vbnRoVGVtcGxhdGVdPVwibW9udGhUZW1wbGF0ZSgpXCJcclxuICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcclxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXHJcbiAgICAgICAgKHRyaWdnZXJPcGVuRGF5c1ZpZXcpPVwib25UcmlnZ2VyT3BlbkRheXNWaWV3KClcIlxyXG4gICAgICAgICh0cmlnZ2VyT3BlblllYXJzVmlldyk9XCJvblRyaWdnZXJPcGVuWWVhcnNWaWV3KClcIlxyXG4gICAgICAgICh0cmlnZ2VDaGFuZ2VZZWFyKT1cImNoYW5nZVllYXIoJGV2ZW50KVwiXHJcbiAgICAgICAgKHRyaWdnZXJTZWxlY3RNb250aCk9XCJzZWxlY3RNb250aCgkZXZlbnQpXCJcclxuICAgICAgICAodHJpZ2dlckhpZ2hsaWdodE1vbnRoKT1cInNldEhpZ2hsaWdodGVkTW9udGgoJGV2ZW50KVwiXHJcbiAgICAgICAgKHRyaWdnZXJIaWdobGlnaHRGaXJzdE1vbnRoKT1cImhpZ2hsaWdodEZpcnN0TW9udGgoKVwiXHJcbiAgICAgICAgKHRyaWdnZXJIaWdobGlnaHRMYXN0TW9udGgpPVwiaGlnaGxpZ2h0TGFzdE1vbnRoKClcIlxyXG4gICAgICAgICh0cmlnZ2VySGlnaGxpZ2h0TmV4dE1vbnRoKT1cImhpZ2hsaWdodE5leHRNb250aCgkZXZlbnQpXCJcclxuICAgICAgICAodHJpZ2dlckhpZ2hsaWdodFByZXZpb3VzTW9udGgpPVwiaGlnaGxpZ2h0UHJldmlvdXNNb250aCgkZXZlbnQpXCJcclxuICAgICAgICAodHJpZ2dlckhpZ2hsaWdodFNhbWVNb250aE5leHRQYWdlKT1cImhpZ2hsaWdodFNhbWVNb250aE5leHRZZWFyKCRldmVudClcIlxyXG4gICAgICAgICh0cmlnZ2VySGlnaGxpZ2h0U2FtZU1vbnRoUHJldmlvdXNQYWdlKT1cImhpZ2hsaWdodFNhbWVNb250aFByZXZpb3VzWWVhcigkZXZlbnQpXCJcclxuICAgICAgLz5cclxuICAgIH1cclxuICAgIEBjYXNlICgneWVhcnMnKSB7XHJcbiAgICAgIDxhcmQteWVhcnMtdmlld1xyXG4gICAgICAgIFt0YWJJbmRleF09XCJ0YWJJbmRleCgpXCJcclxuICAgICAgICBbcmVhZE9ubHldPVwicmVhZG9ubHkoKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxyXG4gICAgICAgIFthdXRvRm9jdXNdPVwiYXV0b0ZvY3VzKClcIlxyXG4gICAgICAgIFtfaXNVc2luZ0tleWJvYXJkXT1cIl9pc1VzaW5nS2V5Ym9hcmQoKVwiXHJcbiAgICAgICAgW2hpZ2hsaWdodGVkWWVhcl09XCJoaWdobGlnaHRlZFllYXIoKVwiXHJcbiAgICAgICAgW2N1cnJlbnRZZWFyUmFuZ2VTdGFydF09XCJjdXJyZW50WWVhclJhbmdlU3RhcnQoKVwiXHJcbiAgICAgICAgW2FjdGl2ZVllYXJdPVwiYWN0aXZlWWVhcigpXCJcclxuICAgICAgICBbc2VsZWN0ZWREYXRlXT1cInNlbGVjdGVkRGF0ZSgpXCJcclxuICAgICAgICBbbWluXT1cIm1pbigpXCJcclxuICAgICAgICBbbWF4XT1cIm1heCgpXCJcclxuICAgICAgICBbeWVhcnNWaWV3SGVhZGVyVGVtcGxhdGVdPVwieWVhcnNWaWV3SGVhZGVyVGVtcGxhdGUoKVwiXHJcbiAgICAgICAgW3llYXJUZW1wbGF0ZV09XCJ5ZWFyVGVtcGxhdGUoKVwiXHJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXHJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxyXG4gICAgICAgICh0cmlnZ2VyT3BlbkRheXNWaWV3KT1cIm9uVHJpZ2dlck9wZW5EYXlzVmlldygpXCJcclxuICAgICAgICAodHJpZ2dlck9wZW5Nb250aHNWaWV3KT1cIm9uVHJpZ2dlck9wZW5Nb250aHNWaWV3KClcIlxyXG4gICAgICAgICh0cmlnZ2VyU2VsZWN0WWVhcik9XCJzZWxlY3RZZWFyKCRldmVudClcIlxyXG4gICAgICAgICh0cmlnZ2VyQ2hhbmdlWWVhcnNWaWV3UGFnZSk9XCJjaGFuZ2VZZWFyc1ZpZXdQYWdlKCRldmVudClcIlxyXG4gICAgICAgICh0cmlnZ2VySGlnaGxpZ2h0WWVhcik9XCJzZXRIaWdobGlnaHRlZFllYXIoJGV2ZW50KVwiXHJcbiAgICAgICAgKHRyaWdnZXJIaWdobGlnaHRGaXJzdFllYXIpPVwiaGlnaGxpZ2h0Rmlyc3RZZWFyKClcIlxyXG4gICAgICAgICh0cmlnZ2VySGlnaGxpZ2h0TGFzdFllYXIpPVwiaGlnaGxpZ2h0TGFzdFllYXIoKVwiXHJcbiAgICAgICAgKHRyaWdnZXJIaWdobGlnaHROZXh0WWVhcik9XCJoaWdobGlnaHROZXh0WWVhcigkZXZlbnQpXCJcclxuICAgICAgICAodHJpZ2dlckhpZ2hsaWdodFByZXZpb3VzWWVhcik9XCJoaWdobGlnaHRQcmV2aW91c1llYXIoJGV2ZW50KVwiXHJcbiAgICAgICAgKHRyaWdnZXJIaWdobGlnaHRTYW1lWWVhck5leHRQYWdlKT1cImhpZ2hsaWdodFNhbWVZZWFyTmV4dFBhZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgKHRyaWdnZXJIaWdobGlnaHRTYW1lWWVhclByZXZpb3VzUGFnZSk9XCJoaWdobGlnaHRTYW1lWWVhclByZXZpb3VzUGFnZSgkZXZlbnQpXCJcclxuICAgICAgLz5cclxuICAgIH1cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -23,4 +23,4 @@ export const ARD_CALENDAR_DEFAULTS = new InjectionToken('ard-calendar-defaults',
|
|
|
23
23
|
export function provideCalendarDefaults(config) {
|
|
24
24
|
return { provide: ARD_CALENDAR_DEFAULTS, useValue: { ..._calendarDefaults, ...config } };
|
|
25
25
|
}
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLmRlZmF1bHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLHlCQUF5QixFQUE2QixNQUFNLGdDQUFnQyxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQXVCLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBZXhFLE1BQU0saUJBQWlCLEdBQXdCO0lBQzdDLEdBQUcseUJBQXlCO0lBQzVCLEtBQUssRUFBRSxjQUFjLENBQUMsT0FBTztJQUM3QixVQUFVLEVBQUUsZUFBZSxDQUFDLElBQUk7SUFDaEMsVUFBVSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFO0lBQ3BDLFdBQVcsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNsQyxZQUFZLEVBQUUsQ0FBQztJQUNmLDhCQUE4QixFQUFFLENBQUM7SUFDakMsU0FBUyxFQUFFLEtBQUs7SUFDaEIsR0FBRyxFQUFFLElBQUk7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULE1BQU0sRUFBRSxJQUFJO0NBQ2IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUFzQix1QkFBdUIsRUFBRTtJQUNwRyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNkLEdBQUcsaUJBQWlCO0tBQ3JCLENBQUM7Q0FDSCxDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsTUFBb0M7SUFDMUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLGlCQUFpQixFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQUUsQ0FBQztBQUMzRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBfbmdNb2RlbENvbXBvbmVudERlZmF1bHRzLCBfTmdNb2RlbENvbXBvbmVudERlZmF1bHRzIH0gZnJvbSAnLi4vX2ludGVybmFsL25nbW9kZWwtY29tcG9uZW50JztcbmltcG9ydCB7IENvbXBvbmVudENvbG9yIH0gZnJvbSAnLi4vdHlwZXMvY29sb3JzLnR5cGVzJztcbmltcG9ydCB7IEFyZENhbGVuZGFyRmlsdGVyRm4sIEFyZENhbGVuZGFyVmlldyB9IGZyb20gJy4vY2FsZW5kYXIudHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFyZENhbGVuZGFyRGVmYXVsdHMgZXh0ZW5kcyBfTmdNb2RlbENvbXBvbmVudERlZmF1bHRzIHtcbiAgY29sb3I6IENvbXBvbmVudENvbG9yO1xuICBhY3RpdmVWaWV3OiBBcmRDYWxlbmRhclZpZXc7XG4gIGFjdGl2ZVllYXI6IG51bWJlcjtcbiAgYWN0aXZlTW9udGg6IG51bWJlcjtcbiAgZmlyc3RXZWVrZGF5OiBudW1iZXI7XG4gIG11bHRpcGxlWWVhclBhZ2VDaGFuZ2VNb2RpZmllcjogbnVtYmVyO1xuICBhdXRvRm9jdXM6IGJvb2xlYW47XG4gIG1pbjogRGF0ZSB8IG51bGw7XG4gIG1heDogRGF0ZSB8IG51bGw7XG4gIGZpbHRlcjogQXJkQ2FsZW5kYXJGaWx0ZXJGbiB8IG51bGw7XG59XG5cbmNvbnN0IF9jYWxlbmRhckRlZmF1bHRzOiBBcmRDYWxlbmRhckRlZmF1bHRzID0ge1xuICAuLi5fbmdNb2RlbENvbXBvbmVudERlZmF1bHRzLFxuICBjb2xvcjogQ29tcG9uZW50Q29sb3IuUHJpbWFyeSxcbiAgYWN0aXZlVmlldzogQXJkQ2FsZW5kYXJWaWV3LkRheXMsXG4gIGFjdGl2ZVllYXI6IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSxcbiAgYWN0aXZlTW9udGg6IG5ldyBEYXRlKCkuZ2V0TW9udGgoKSxcbiAgZmlyc3RXZWVrZGF5OiAxLFxuICBtdWx0aXBsZVllYXJQYWdlQ2hhbmdlTW9kaWZpZXI6IDUsXG4gIGF1dG9Gb2N1czogZmFsc2UsXG4gIG1pbjogbnVsbCxcbiAgbWF4OiBudWxsLFxuICBmaWx0ZXI6IG51bGwsXG59O1xuXG5leHBvcnQgY29uc3QgQVJEX0NBTEVOREFSX0RFRkFVTFRTID0gbmV3IEluamVjdGlvblRva2VuPEFyZENhbGVuZGFyRGVmYXVsdHM+KCdhcmQtY2FsZW5kYXItZGVmYXVsdHMnLCB7XG4gIGZhY3Rvcnk6ICgpID0+ICh7XG4gICAgLi4uX2NhbGVuZGFyRGVmYXVsdHMsXG4gIH0pLFxufSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQ2FsZW5kYXJEZWZhdWx0cyhjb25maWc6IFBhcnRpYWw8QXJkQ2FsZW5kYXJEZWZhdWx0cz4pOiBQcm92aWRlciB7XG4gIHJldHVybiB7IHByb3ZpZGU6IEFSRF9DQUxFTkRBUl9ERUZBVUxUUywgdXNlVmFsdWU6IHsgLi4uX2NhbGVuZGFyRGVmYXVsdHMsIC4uLmNvbmZpZyB9IH07XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuaW50ZXJuYWwtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLmludGVybmFsLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyQXJyYXlJdGVtIHtcclxuICB2YWx1ZTogbnVtYmVyO1xyXG4gIGRpc2FibGVkOiBib29sZWFuO1xyXG59XHJcbiJdfQ==
|
|
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
21
21
|
exports: [ArdiumCalendarComponent],
|
|
22
22
|
}]
|
|
23
23
|
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDMUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUNBQXlDLENBQUM7O0FBTzdFLE1BQU0sT0FBTyxvQkFBb0I7K0dBQXBCLG9CQUFvQjtnSEFBcEIsb0JBQW9CLGlCQUpoQix1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsYUFDeEYsWUFBWSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLGFBQ25HLHVCQUF1QjtnSEFFdEIsb0JBQW9CLFlBSHJCLFlBQVksRUFBMkIsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCOzs0RkFHbEcsb0JBQW9CO2tCQUxoQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixDQUFDO29CQUNuRyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQztvQkFDOUcsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBEYXRlUGlwZSwgVXBwZXJDYXNlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFyZGl1bUJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbnMvYnV0dG9uJztcclxuaW1wb3J0IHsgQXJkaXVtSWNvbk1vZHVsZSB9IGZyb20gJy4uL2ljb24nO1xyXG5pbXBvcnQgeyBBcmRpdW1JY29uQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi8uLi9idXR0b25zL2ljb24tYnV0dG9uL2ljb24tYnV0dG9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IEFyZGl1bUNhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnLi9jYWxlbmRhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXlzVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdmlld3MvZGF5cy12aWV3L2RheXMtdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNb250aHNWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi92aWV3cy9tb250aHMtdmlldy9tb250aHMtdmlldy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBZZWFyc1ZpZXdDb21wb25lbnQgfSBmcm9tICcuL3ZpZXdzL3llYXJzLXZpZXcveWVhcnMtdmlldy5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtBcmRpdW1DYWxlbmRhckNvbXBvbmVudCwgRGF5c1ZpZXdDb21wb25lbnQsIE1vbnRoc1ZpZXdDb21wb25lbnQsIFllYXJzVmlld0NvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRGF0ZVBpcGUsIFVwcGVyQ2FzZVBpcGUsIEFyZGl1bUljb25CdXR0b25Nb2R1bGUsIEFyZGl1bUljb25Nb2R1bGUsIEFyZGl1bUJ1dHRvbk1vZHVsZV0sXHJcbiAgZXhwb3J0czogW0FyZGl1bUNhbGVuZGFyQ29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFyZGl1bUNhbGVuZGFyTW9kdWxlIHt9XHJcbiJdfQ==
|
|
@@ -3,4 +3,4 @@ export const ArdCalendarView = {
|
|
|
3
3
|
Months: 'months',
|
|
4
4
|
Years: 'years',
|
|
5
5
|
};
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QixJQUFJLEVBQUUsTUFBTTtJQUNaLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLEtBQUssRUFBRSxPQUFPO0NBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBBcmRDYWxlbmRhclZpZXcgPSB7XG4gIERheXM6ICdkYXlzJyxcbiAgTW9udGhzOiAnbW9udGhzJyxcbiAgWWVhcnM6ICd5ZWFycycsXG59IGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgQXJkQ2FsZW5kYXJWaWV3ID0gKHR5cGVvZiBBcmRDYWxlbmRhclZpZXcpW2tleW9mIHR5cGVvZiBBcmRDYWxlbmRhclZpZXddO1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGVSYW5nZSB7XG4gIGxvdzogRGF0ZTtcbiAgaGlnaDogRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBZZWFyUmFuZ2Uge1xuICBsb3c6IG51bWJlcjtcbiAgaGlnaDogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBBcmRDYWxlbmRhckZpbHRlckZuID0gKGRhdGU6IERhdGUpID0+IGJvb2xlYW47XG5cbi8vISB0ZW1wbGF0ZSBjb250ZXh0c1xuZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhclllYXJzVmlld0hlYWRlckNvbnRleHQge1xuICBuZXh0UGFnZTogKCkgPT4gdm9pZDtcbiAgcHJldlBhZ2U6ICgpID0+IHZvaWQ7XG4gIG9wZW5Nb250aHNWaWV3OiAoKSA9PiB2b2lkO1xuICBvcGVuRGF5c1ZpZXc6ICgpID0+IHZvaWQ7XG4gIGNhbkdvVG9OZXh0UGFnZTogYm9vbGVhbjtcbiAgY2FuR29Ub1ByZXZpb3VzUGFnZTogYm9vbGVhbjtcbiAgeWVhclJhbmdlOiBZZWFyUmFuZ2U7XG4gIGRhdGVSYW5nZTogRGF0ZVJhbmdlO1xuICAkaW1wbGljaXQ6IERhdGVSYW5nZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhck1vbnRoc1ZpZXdIZWFkZXJDb250ZXh0IHtcbiAgbmV4dFBhZ2U6ICgpID0+IHZvaWQ7XG4gIHByZXZQYWdlOiAoKSA9PiB2b2lkO1xuICBvcGVuRGF5c1ZpZXc6ICgpID0+IHZvaWQ7XG4gIG9wZW5ZZWFyc1ZpZXc6ICgpID0+IHZvaWQ7XG4gIGNhbkdvVG9OZXh0UGFnZTogYm9vbGVhbjtcbiAgY2FuR29Ub1ByZXZpb3VzUGFnZTogYm9vbGVhbjtcbiAgeWVhcjogbnVtYmVyO1xuICBkYXRlOiBEYXRlO1xuICAkaW1wbGljaXQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhckRheXNWaWV3SGVhZGVyQ29udGV4dCB7XG4gIG5leHRNb250aDogKCkgPT4gdm9pZDtcbiAgcHJldk1vbnRoOiAoKSA9PiB2b2lkO1xuICBuZXh0WWVhcjogKCkgPT4gdm9pZDtcbiAgcHJldlllYXI6ICgpID0+IHZvaWQ7XG4gIG9wZW5ZZWFyc1ZpZXc6ICgpID0+IHZvaWQ7XG4gIG9wZW5Nb250aHNWaWV3OiAoKSA9PiB2b2lkO1xuICBjYW5Hb1RvTmV4dFBhZ2U6IGJvb2xlYW47XG4gIGNhbkdvVG9QcmV2aW91c1BhZ2U6IGJvb2xlYW47XG4gIHllYXI6IG51bWJlcjtcbiAgbW9udGg6IG51bWJlcjtcbiAgJGltcGxpY2l0OiBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyV2Vla2RheUNvbnRleHQge1xuICBkYXlJbmRleDogbnVtYmVyO1xuICBkYXRlOiBEYXRlO1xuICAkaW1wbGljaXQ6IERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsZW5kYXJGbG9hdGluZ01vbnRoQ29udGV4dCB7XG4gIG1vbnRoOiBudW1iZXI7XG4gIGRhdGU6IERhdGU7XG4gICRpbXBsaWNpdDogRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhclllYXJDb250ZXh0IHtcbiAgdmFsdWU6IG51bWJlcjtcbiAgZGF0ZTogRGF0ZTtcbiAgJGltcGxpY2l0OiBEYXRlO1xuICBzZWxlY3Q6ICh5ZWFyOiBudW1iZXIpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsZW5kYXJNb250aENvbnRleHQge1xuICBtb250aDogbnVtYmVyO1xuICBkYXRlOiBEYXRlO1xuICAkaW1wbGljaXQ6IERhdGU7XG4gIHNlbGVjdDogKG1vbnRoOiBudW1iZXIgfCBEYXRlKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbGVuZGFyRGF5Q29udGV4dCB7XG4gIHZhbHVlOiBudW1iZXI7XG4gIGRhdGU6IERhdGU7XG4gICRpbXBsaWNpdDogbnVtYmVyO1xuICBzZWxlY3Q6IChkYXk6IG51bWJlciB8IERhdGUpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsZW5kYXJBY3Rpb25CdXR0b25zQ29udGV4dCB7XG4gIGNhbmNlbDogKCkgPT4gdm9pZDtcbiAgYXBwbHk6ICgpID0+IHZvaWQ7XG4gIHJlc2V0OiAoKSA9PiB2b2lkO1xufVxuIl19
|
|
@@ -2,4 +2,4 @@ export * from './calendar.component';
|
|
|
2
2
|
export * from './calendar.defaults';
|
|
3
3
|
export * from './calendar.module';
|
|
4
4
|
export * from './calendar.types';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NhbGVuZGFyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhbGVuZGFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXIuZGVmYXVsdHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NhbGVuZGFyLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2FsZW5kYXIudHlwZXMnO1xyXG4iXX0=
|