@eui/mobile-core 17.2.0-snapshot-1716965435198 → 17.2.0-snapshot-1717135823057

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.
Files changed (29) hide show
  1. package/assets/i18n-mobile/en.json +7 -1
  2. package/assets/i18n-mobile/es.json +8 -2
  3. package/assets/i18n-mobile/fr.json +7 -1
  4. package/assets/i18n-mobile/tr.json +7 -1
  5. package/docs/components/EuimAboutComponent.html +7 -0
  6. package/docs/components/EuimPdfViewerComponent.html +8 -1
  7. package/docs/components/EuimSliderInfoScreenComponent.html +4 -4
  8. package/docs/components/EuimToolbarDatepickerComponent.html +24 -4
  9. package/docs/dependencies.html +5 -5
  10. package/docs/js/menu-wc.js +3 -3
  11. package/docs/js/menu-wc_es5.js +1 -1
  12. package/docs/js/search/search_index.js +2 -2
  13. package/esm2022/lib/components/euim-about/euim-about.component.mjs +5 -1
  14. package/esm2022/lib/components/euim-pdf-viewer/euim-pdf-viewer.component.mjs +7 -3
  15. package/esm2022/lib/components/euim-slider-info-screen/euim-slider-info-screen.component.mjs +7 -6
  16. package/esm2022/lib/components/euim-slider-info-screen/euim-slider-info-screen.module.mjs +7 -3
  17. package/esm2022/lib/components/euim-toolbar-datepicker/euim-toolbar-datepicker.component.mjs +46 -13
  18. package/fesm2022/eui-mobile-core.mjs +109 -66
  19. package/fesm2022/eui-mobile-core.mjs.map +1 -1
  20. package/lib/components/euim-about/euim-about.component.d.ts +4 -0
  21. package/lib/components/euim-about/euim-about.component.d.ts.map +1 -1
  22. package/lib/components/euim-pdf-viewer/euim-pdf-viewer.component.d.ts +4 -0
  23. package/lib/components/euim-pdf-viewer/euim-pdf-viewer.component.d.ts.map +1 -1
  24. package/lib/components/euim-slider-info-screen/euim-slider-info-screen.component.d.ts.map +1 -1
  25. package/lib/components/euim-slider-info-screen/euim-slider-info-screen.module.d.ts +2 -1
  26. package/lib/components/euim-slider-info-screen/euim-slider-info-screen.module.d.ts.map +1 -1
  27. package/lib/components/euim-toolbar-datepicker/euim-toolbar-datepicker.component.d.ts +17 -5
  28. package/lib/components/euim-toolbar-datepicker/euim-toolbar-datepicker.component.d.ts.map +1 -1
  29. package/package.json +1 -1
@@ -2,24 +2,32 @@ import { booleanAttribute, Component, EventEmitter, HostBinding, Input, Output,
2
2
  import { BaseStatesDirective } from '../base-states.directive';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "../base-states.directive";
5
- import * as i2 from "@ionic/angular";
6
- import * as i3 from "../euim-avatar-icon/euim-avatar-icon.component";
7
- import * as i4 from "../atoms/euim-label/euim-label.component";
5
+ import * as i2 from "@ngx-translate/core";
6
+ import * as i3 from "@ionic/angular";
7
+ import * as i4 from "../euim-avatar-icon/euim-avatar-icon.component";
8
+ import * as i5 from "../atoms/euim-label/euim-label.component";
9
+ import * as i6 from "@angular/forms";
10
+ /**
11
+ * This component is not ready yet for production
12
+ * @beta
13
+ */
8
14
  export class EuimToolbarDatepickerComponent {
9
15
  get cssClasses() {
10
16
  return this.getCssClasses();
11
17
  }
12
- constructor(baseStatesDirective) {
18
+ constructor(baseStatesDirective, translate) {
13
19
  this.baseStatesDirective = baseStatesDirective;
20
+ this.translate = translate;
14
21
  this.icon = 'calendar-clear-sharp';
15
22
  this.prevBtnClick = new EventEmitter();
16
23
  this.nextBtnClick = new EventEmitter();
17
24
  this.dateChanged = new EventEmitter();
18
- this.weekdays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
25
+ this.weekdays = [];
19
26
  this._dateTimeId = 'date';
20
27
  this.dateTimeId = crypto.randomUUID();
21
28
  this.modalId = crypto.randomUUID();
22
29
  this.currentDate = new Date();
30
+ this.formattedDate = this.currentDate.toLocaleDateString();
23
31
  }
24
32
  get dateTimeId() {
25
33
  return this._dateTimeId;
@@ -31,8 +39,19 @@ export class EuimToolbarDatepickerComponent {
31
39
  if (!this.baseStatesDirective.color) {
32
40
  this.baseStatesDirective.color = 'primary';
33
41
  }
42
+ this.loadWeekdaysTranslation(this.translate.currentLang);
43
+ this.langChangeSubscription = this.translate.onLangChange.subscribe((event) => {
44
+ this.currentLang = event.lang;
45
+ this.loadWeekdaysTranslation(event.lang);
46
+ this.formatDateAndWeekDay();
47
+ });
34
48
  this.formatDateAndWeekDay();
35
49
  }
50
+ ngOnDestroy() {
51
+ if (this.langChangeSubscription) {
52
+ this.langChangeSubscription.unsubscribe();
53
+ }
54
+ }
36
55
  getCssClasses() {
37
56
  return [
38
57
  this.baseStatesDirective.getCssClasses('euim-toolbar-datepicker'),
@@ -41,28 +60,42 @@ export class EuimToolbarDatepickerComponent {
41
60
  updateCurrentDate(date) {
42
61
  this.currentDate = (new Date(date));
43
62
  this.dateChanged.emit(this.currentDate);
63
+ this.formattedDate = this.currentDate.toLocaleDateString();
44
64
  this.formatDateAndWeekDay();
45
65
  }
46
66
  calendarDateChanged(event) {
47
- this.currentDate = (new Date(event.detail.value));
48
- this.dateChanged.emit(this.currentDate);
49
- this.formatDateAndWeekDay();
67
+ const customEvent = event;
68
+ if (customEvent.detail.value) {
69
+ this.currentDate = (new Date(customEvent.detail.value));
70
+ this.formattedDate = this.currentDate.toLocaleDateString();
71
+ this.formatDateAndWeekDay();
72
+ this.dateChanged.emit(this.currentDate);
73
+ }
50
74
  }
51
75
  selectPrevDate() {
52
76
  this.currentDate.setDate(this.currentDate.getDate() - 1);
77
+ this.formattedDate = this.currentDate.toLocaleDateString();
53
78
  this.formatDateAndWeekDay();
79
+ this.selectedDate = this.currentDate.toISOString();
54
80
  this.prevBtnClick.emit(this.currentDate);
55
81
  }
56
82
  selectNextDate() {
57
83
  this.currentDate.setDate(this.currentDate.getDate() + 1);
84
+ this.formattedDate = this.currentDate.toLocaleDateString();
58
85
  this.formatDateAndWeekDay();
86
+ this.selectedDate = this.currentDate.toISOString();
59
87
  this.nextBtnClick.emit(this.currentDate);
60
88
  }
89
+ loadWeekdaysTranslation(lang) {
90
+ this.translate.get('euim.toolbar-datepicker.WEEKDAYS').subscribe((weekdays) => {
91
+ this.weekdays = weekdays;
92
+ });
93
+ }
61
94
  formatDateAndWeekDay() {
62
95
  this.weekDayName = this.weekdays[this.currentDate.getDay()];
63
96
  }
64
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EuimToolbarDatepickerComponent, deps: [{ token: i1.BaseStatesDirective }], target: i0.ɵɵFactoryTarget.Component }); }
65
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.7", type: EuimToolbarDatepickerComponent, selector: "euim-toolbar-datepicker", inputs: { icon: "icon", title: "title", subTitle: "subTitle", euimPrevBtnDisabled: ["euimPrevBtnDisabled", "euimPrevBtnDisabled", booleanAttribute], euimNextBtnDisabled: ["euimNextBtnDisabled", "euimNextBtnDisabled", booleanAttribute], euimReadOnly: ["euimReadOnly", "euimReadOnly", booleanAttribute] }, outputs: { prevBtnClick: "prevBtnClick", nextBtnClick: "nextBtnClick", dateChanged: "dateChanged" }, host: { properties: { "class": "this.cssClasses" } }, hostDirectives: [{ directive: i1.BaseStatesDirective, inputs: ["color", "color"] }], ngImport: i0, template: "<ion-item class=\"euim-toolbar-datepicker__item\"\n color=\"primary\">\n <euim-avatar-icon fill=\"clear\" slot=\"start\" >\n <ion-icon [name]=\"icon\"\n class=\"euim-toolbar-datepicker__calendar\"></ion-icon>\n </euim-avatar-icon>\n\n <ion-label class=\"euim-toolbar-datepicker__date\"\n position=\"fixed\">\n <euim-label class=\"euim-toolbar-datepicker__title\"\n euimLabelTitle\n disabled=\"euimReadOnly\">{{!title ? this.weekDayName : title}}</euim-label>\n @if (!subTitle) {\n <ion-datetime-button class=\"euim-toolbar-datepicker__datetime-button\"\n [datetime]=\"dateTimeId\"\n [disabled]=\"euimReadOnly\">\n </ion-datetime-button>\n } @else {\n <div euimLabel euimLabelSubTitle\n disabled=\"euimReadOnly\">{{subTitle}}</div>\n }\n\n </ion-label>\n @if (!euimReadOnly){\n <ion-icon class=\"euim-toolbar-datepicker__datetime-caret\"\n name=\"caret-down-sharp\"\n [id]=\"modalId\"></ion-icon>\n }\n\n @if (!euimReadOnly) {\n <ion-buttons slot=\"end\">\n <ion-button size=\"large\"\n (click)=\"selectPrevDate()\"\n [disabled] = \"euimPrevBtnDisabled\"\n shape=\"round\"\n class=\"euim-toolbar-datepicker__nav-button\">\n <ion-icon name=\"chevron-back-circle-sharp\"\n color=\"light\"\n size=\"large\">\n </ion-icon>\n </ion-button>\n <ion-button\n (click)=\"selectNextDate()\"\n [disabled]=\"euimNextBtnDisabled\"\n shape=\"round\"\n size=\"large\"\n class=\"euim-toolbar-datepicker__nav-button\">\n <ion-icon name=\"chevron-forward-circle-sharp\"\n color=\"light\"\n size=\"large\"></ion-icon>\n </ion-button>\n </ion-buttons>\n }\n</ion-item>\n\n<ion-modal [keepContentsMounted]=\"true\"\n [trigger]=\"modalId\">\n <ng-template>\n <ng-content select=\"ion-datetime\"></ng-content>\n </ng-template>\n</ion-modal>\n", styles: [".euim-toolbar-datepicker{--inner-padding-end: var(--eui-base-spacing-xs)}.euim-toolbar-datepicker ion-item:has(ion-buttons ion-button ion-icon){--inner-padding-end: var(--eui-base-spacing-2xs)}.euim-toolbar-datepicker__datetime_icon{margin-left:var(--eui-base-spacing-l);margin-right:var(--eui-base-spacing-l);width:var(--eui-base-spacing-l);height:var(--eui-base-spacing-l)}.euim-toolbar-datepicker__day{font:var(--eui-base-font-m);font-weight:700}.euim-toolbar-datepicker__datetime-button::part(native){display:block;background:var(--eui-base-color-primary);color:#fff;padding:0;margin:0;font-size:var(--eui-base-font-m)}.euim-toolbar-datepicker__datetime-button{display:inline-block;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.euim-toolbar-datepicker__datetime-caret{margin-left:var(--eui-base-spacing-xs)!important;width:var(--eui-base-spacing-m);height:var(--eui-base-spacing-m)}.euim-toolbar-datepicker__date-chevrons ion-icon{margin:var(--eui-base-spacing-m);cursor:pointer}.euim-toolbar-datepicker__nav-button{width:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs))!important;height:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs))!important}.euim-toolbar-datepicker__date{display:inline-table!important;flex:0 0 0!important;min-width:0!important}.euim-toolbar-datepicker__title{width:fit-content}.euim-toolbar-datepicker--primary .euim-toolbar-datepicker__calendar,.euim-toolbar-datepicker--primary .euim-label{color:#fff}.euim-toolbar-datepicker--primary .euim-toolbar-datepicker__datetime-button::part(native){background:var(--eui-base-color-primary);color:#fff}\n"], dependencies: [{ kind: "component", type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i2.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i2.IonDatetimeButton, selector: "ion-datetime-button", inputs: ["color", "datetime", "disabled", "mode"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i2.IonModal, selector: "ion-modal", inputs: ["animated", "keepContentsMounted", "backdropBreakpoint", "backdropDismiss", "breakpoints", "canDismiss", "cssClass", "enterAnimation", "event", "handle", "handleBehavior", "initialBreakpoint", "isOpen", "keyboardClose", "leaveAnimation", "mode", "presentingElement", "showBackdrop", "swipeToClose", "translucent", "trigger"] }, { kind: "component", type: i3.EuimAvatarIconComponent, selector: "euim-avatar-icon", inputs: ["color", "size", "fill", "variant", "borderColor"] }, { kind: "component", type: i4.EuimLabelComponent, selector: "div[euimLabel], p[euimLabel], span[euimLabel], euim-label", inputs: ["euimLabelTruncateWithLines", "euimLabelTitle", "euimLabelSubTitle", "euimLabelMeta", "euimLabelTruncate"] }], encapsulation: i0.ViewEncapsulation.None }); }
97
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EuimToolbarDatepickerComponent, deps: [{ token: i1.BaseStatesDirective }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
98
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.7", type: EuimToolbarDatepickerComponent, selector: "euim-toolbar-datepicker", inputs: { icon: "icon", title: "title", subTitle: "subTitle", euimPrevBtnDisabled: ["euimPrevBtnDisabled", "euimPrevBtnDisabled", booleanAttribute], euimNextBtnDisabled: ["euimNextBtnDisabled", "euimNextBtnDisabled", booleanAttribute], euimReadOnly: ["euimReadOnly", "euimReadOnly", booleanAttribute] }, outputs: { prevBtnClick: "prevBtnClick", nextBtnClick: "nextBtnClick", dateChanged: "dateChanged" }, host: { properties: { "class": "this.cssClasses" } }, hostDirectives: [{ directive: i1.BaseStatesDirective, inputs: ["color", "color"] }], ngImport: i0, template: "<ion-item class=\"euim-toolbar-datepicker__item\"\n color=\"primary\">\n <euim-avatar-icon fill=\"clear\" slot=\"start\" >\n <ion-icon [name]=\"icon\"\n class=\"euim-toolbar-datepicker__calendar\"></ion-icon>\n </euim-avatar-icon>\n\n <ion-datetime-button class=\"euim-toolbar-datepicker__datetime-button--hidden\"\n [datetime]=\"dateTimeId\">\n </ion-datetime-button>\n <div class=\"euim-toolbar-datepicker__datetime-button\" [id]=\"modalId\">\n <ion-label class=\"euim-toolbar-datepicker__date\"\n position=\"fixed\">\n <div class=\"euim-toolbar-datepicker__title\"\n euimLabel\n euimLabelTitle\n disabled=\"euimReadOnly\">{{!title ? weekDayName : title}}</div>\n\n <div euimLabel euimLabelSubTitle\n disabled=\"euimReadOnly\">{{!subTitle ? formattedDate : subTitle}}</div>\n </ion-label>\n @if (!euimReadOnly){\n <ion-icon class=\"euim-toolbar-datepicker__datetime-caret\"\n name=\"caret-down-sharp\"\n color=\"light\"></ion-icon>\n }\n </div>\n\n @if (!euimReadOnly) {\n <ion-buttons slot=\"end\">\n <ion-button (click)=\"selectPrevDate()\"\n [disabled] = \"euimPrevBtnDisabled\"\n shape=\"round\"\n class=\"euim-toolbar-datepicker__nav-button\">\n <ion-icon name=\"chevron-back-circle-sharp\"\n color=\"light\">\n </ion-icon>\n </ion-button>\n <ion-button\n (click)=\"selectNextDate()\"\n [disabled]=\"euimNextBtnDisabled\"\n shape=\"round\"\n class=\"euim-toolbar-datepicker__nav-button euim-toolbar-datepicker__nav-button--next\">\n <ion-icon name=\"chevron-forward-circle-sharp\"\n color=\"light\"></ion-icon>\n </ion-button>\n </ion-buttons>\n }\n</ion-item>\n\n<ion-modal [keepContentsMounted]=\"true\"\n [trigger]=\"modalId\">\n <ng-template>\n <ion-datetime\n [showDefaultButtons]=\"true\"\n (ionChange)=\"calendarDateChanged($event)\"\n size=\"cover\"\n [id]=\"dateTimeId\"\n [locale]=\"currentLang\"\n [(ngModel)]=\"selectedDate\"\n presentation=\"date\"></ion-datetime>\n </ng-template>\n</ion-modal>\n", styles: [".euim-toolbar-datepicker{--inner-padding-end: var(--eui-base-spacing-xs)}.euim-toolbar-datepicker ion-item:has(ion-buttons ion-button ion-icon){--inner-padding-end: var(--eui-base-spacing-2xs)}.euim-toolbar-datepicker__datetime_icon{margin-left:var(--eui-base-spacing-l);margin-right:var(--eui-base-spacing-l);width:var(--eui-base-spacing-l);height:var(--eui-base-spacing-l)}.euim-toolbar-datepicker__datetime-button{cursor:pointer;display:flex;align-items:center;height:100%;padding-top:var(--eui-base-spacing-s);padding-bottom:var(--eui-base-spacing-s)}.euim-toolbar-datepicker__datetime-button--hidden{display:none}.euim-toolbar-datepicker__datetime-caret{margin-left:var(--eui-base-spacing-xs)!important;margin-right:var(--eui-base-spacing-xs)!important;width:var(--eui-base-spacing-m);height:var(--eui-base-spacing-m)}.euim-toolbar-datepicker__nav-button{width:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs))!important;height:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs))!important}.euim-toolbar-datepicker__nav-button ion-icon{width:var(--eui-base-spacing-xl);height:var(--eui-base-spacing-xl)}.euim-toolbar-datepicker__date{display:inline-table!important;flex:0 0 0!important;min-width:0!important}.euim-toolbar-datepicker__title{width:fit-content}.euim-toolbar-datepicker--primary .euim-toolbar-datepicker__calendar,.euim-toolbar-datepicker--primary .euim-label{color:#fff}.euim-toolbar-datepicker--primary .euim-toolbar-datepicker__datetime-button::part(native){background:var(--eui-base-color-primary);color:#fff}\n"], dependencies: [{ kind: "component", type: i3.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i3.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i3.IonDatetime, selector: "ion-datetime", inputs: ["cancelText", "clearText", "color", "dayValues", "disabled", "doneText", "firstDayOfWeek", "highlightedDates", "hourCycle", "hourValues", "isDateEnabled", "locale", "max", "min", "minuteValues", "mode", "monthValues", "multiple", "name", "preferWheel", "presentation", "readonly", "showClearButton", "showDefaultButtons", "showDefaultTimeLabel", "showDefaultTitle", "size", "titleSelectedDatesFormatter", "value", "yearValues"] }, { kind: "component", type: i3.IonDatetimeButton, selector: "ion-datetime-button", inputs: ["color", "datetime", "disabled", "mode"] }, { kind: "component", type: i3.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i3.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i3.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i3.IonModal, selector: "ion-modal", inputs: ["animated", "keepContentsMounted", "backdropBreakpoint", "backdropDismiss", "breakpoints", "canDismiss", "cssClass", "enterAnimation", "event", "handle", "handleBehavior", "initialBreakpoint", "isOpen", "keyboardClose", "leaveAnimation", "mode", "presentingElement", "showBackdrop", "swipeToClose", "translucent", "trigger"] }, { kind: "directive", type: i3.SelectValueAccessor, selector: "ion-range, ion-select, ion-radio-group, ion-segment, ion-datetime" }, { kind: "component", type: i4.EuimAvatarIconComponent, selector: "euim-avatar-icon", inputs: ["color", "size", "fill", "variant", "borderColor"] }, { kind: "component", type: i5.EuimLabelComponent, selector: "div[euimLabel], p[euimLabel], span[euimLabel], euim-label", inputs: ["euimLabelTruncateWithLines", "euimLabelTitle", "euimLabelSubTitle", "euimLabelMeta", "euimLabelTruncate"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None }); }
66
99
  }
67
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: EuimToolbarDatepickerComponent, decorators: [{
68
101
  type: Component,
@@ -73,8 +106,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
73
106
  'color',
74
107
  ],
75
108
  },
76
- ], template: "<ion-item class=\"euim-toolbar-datepicker__item\"\n color=\"primary\">\n <euim-avatar-icon fill=\"clear\" slot=\"start\" >\n <ion-icon [name]=\"icon\"\n class=\"euim-toolbar-datepicker__calendar\"></ion-icon>\n </euim-avatar-icon>\n\n <ion-label class=\"euim-toolbar-datepicker__date\"\n position=\"fixed\">\n <euim-label class=\"euim-toolbar-datepicker__title\"\n euimLabelTitle\n disabled=\"euimReadOnly\">{{!title ? this.weekDayName : title}}</euim-label>\n @if (!subTitle) {\n <ion-datetime-button class=\"euim-toolbar-datepicker__datetime-button\"\n [datetime]=\"dateTimeId\"\n [disabled]=\"euimReadOnly\">\n </ion-datetime-button>\n } @else {\n <div euimLabel euimLabelSubTitle\n disabled=\"euimReadOnly\">{{subTitle}}</div>\n }\n\n </ion-label>\n @if (!euimReadOnly){\n <ion-icon class=\"euim-toolbar-datepicker__datetime-caret\"\n name=\"caret-down-sharp\"\n [id]=\"modalId\"></ion-icon>\n }\n\n @if (!euimReadOnly) {\n <ion-buttons slot=\"end\">\n <ion-button size=\"large\"\n (click)=\"selectPrevDate()\"\n [disabled] = \"euimPrevBtnDisabled\"\n shape=\"round\"\n class=\"euim-toolbar-datepicker__nav-button\">\n <ion-icon name=\"chevron-back-circle-sharp\"\n color=\"light\"\n size=\"large\">\n </ion-icon>\n </ion-button>\n <ion-button\n (click)=\"selectNextDate()\"\n [disabled]=\"euimNextBtnDisabled\"\n shape=\"round\"\n size=\"large\"\n class=\"euim-toolbar-datepicker__nav-button\">\n <ion-icon name=\"chevron-forward-circle-sharp\"\n color=\"light\"\n size=\"large\"></ion-icon>\n </ion-button>\n </ion-buttons>\n }\n</ion-item>\n\n<ion-modal [keepContentsMounted]=\"true\"\n [trigger]=\"modalId\">\n <ng-template>\n <ng-content select=\"ion-datetime\"></ng-content>\n </ng-template>\n</ion-modal>\n", styles: [".euim-toolbar-datepicker{--inner-padding-end: var(--eui-base-spacing-xs)}.euim-toolbar-datepicker ion-item:has(ion-buttons ion-button ion-icon){--inner-padding-end: var(--eui-base-spacing-2xs)}.euim-toolbar-datepicker__datetime_icon{margin-left:var(--eui-base-spacing-l);margin-right:var(--eui-base-spacing-l);width:var(--eui-base-spacing-l);height:var(--eui-base-spacing-l)}.euim-toolbar-datepicker__day{font:var(--eui-base-font-m);font-weight:700}.euim-toolbar-datepicker__datetime-button::part(native){display:block;background:var(--eui-base-color-primary);color:#fff;padding:0;margin:0;font-size:var(--eui-base-font-m)}.euim-toolbar-datepicker__datetime-button{display:inline-block;font:normal normal 400 1rem/1.25rem var(--eui-base-font-family)}.euim-toolbar-datepicker__datetime-caret{margin-left:var(--eui-base-spacing-xs)!important;width:var(--eui-base-spacing-m);height:var(--eui-base-spacing-m)}.euim-toolbar-datepicker__date-chevrons ion-icon{margin:var(--eui-base-spacing-m);cursor:pointer}.euim-toolbar-datepicker__nav-button{width:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs))!important;height:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs))!important}.euim-toolbar-datepicker__date{display:inline-table!important;flex:0 0 0!important;min-width:0!important}.euim-toolbar-datepicker__title{width:fit-content}.euim-toolbar-datepicker--primary .euim-toolbar-datepicker__calendar,.euim-toolbar-datepicker--primary .euim-label{color:#fff}.euim-toolbar-datepicker--primary .euim-toolbar-datepicker__datetime-button::part(native){background:var(--eui-base-color-primary);color:#fff}\n"] }]
77
- }], ctorParameters: () => [{ type: i1.BaseStatesDirective }], propDecorators: { icon: [{
109
+ ], template: "<ion-item class=\"euim-toolbar-datepicker__item\"\n color=\"primary\">\n <euim-avatar-icon fill=\"clear\" slot=\"start\" >\n <ion-icon [name]=\"icon\"\n class=\"euim-toolbar-datepicker__calendar\"></ion-icon>\n </euim-avatar-icon>\n\n <ion-datetime-button class=\"euim-toolbar-datepicker__datetime-button--hidden\"\n [datetime]=\"dateTimeId\">\n </ion-datetime-button>\n <div class=\"euim-toolbar-datepicker__datetime-button\" [id]=\"modalId\">\n <ion-label class=\"euim-toolbar-datepicker__date\"\n position=\"fixed\">\n <div class=\"euim-toolbar-datepicker__title\"\n euimLabel\n euimLabelTitle\n disabled=\"euimReadOnly\">{{!title ? weekDayName : title}}</div>\n\n <div euimLabel euimLabelSubTitle\n disabled=\"euimReadOnly\">{{!subTitle ? formattedDate : subTitle}}</div>\n </ion-label>\n @if (!euimReadOnly){\n <ion-icon class=\"euim-toolbar-datepicker__datetime-caret\"\n name=\"caret-down-sharp\"\n color=\"light\"></ion-icon>\n }\n </div>\n\n @if (!euimReadOnly) {\n <ion-buttons slot=\"end\">\n <ion-button (click)=\"selectPrevDate()\"\n [disabled] = \"euimPrevBtnDisabled\"\n shape=\"round\"\n class=\"euim-toolbar-datepicker__nav-button\">\n <ion-icon name=\"chevron-back-circle-sharp\"\n color=\"light\">\n </ion-icon>\n </ion-button>\n <ion-button\n (click)=\"selectNextDate()\"\n [disabled]=\"euimNextBtnDisabled\"\n shape=\"round\"\n class=\"euim-toolbar-datepicker__nav-button euim-toolbar-datepicker__nav-button--next\">\n <ion-icon name=\"chevron-forward-circle-sharp\"\n color=\"light\"></ion-icon>\n </ion-button>\n </ion-buttons>\n }\n</ion-item>\n\n<ion-modal [keepContentsMounted]=\"true\"\n [trigger]=\"modalId\">\n <ng-template>\n <ion-datetime\n [showDefaultButtons]=\"true\"\n (ionChange)=\"calendarDateChanged($event)\"\n size=\"cover\"\n [id]=\"dateTimeId\"\n [locale]=\"currentLang\"\n [(ngModel)]=\"selectedDate\"\n presentation=\"date\"></ion-datetime>\n </ng-template>\n</ion-modal>\n", styles: [".euim-toolbar-datepicker{--inner-padding-end: var(--eui-base-spacing-xs)}.euim-toolbar-datepicker ion-item:has(ion-buttons ion-button ion-icon){--inner-padding-end: var(--eui-base-spacing-2xs)}.euim-toolbar-datepicker__datetime_icon{margin-left:var(--eui-base-spacing-l);margin-right:var(--eui-base-spacing-l);width:var(--eui-base-spacing-l);height:var(--eui-base-spacing-l)}.euim-toolbar-datepicker__datetime-button{cursor:pointer;display:flex;align-items:center;height:100%;padding-top:var(--eui-base-spacing-s);padding-bottom:var(--eui-base-spacing-s)}.euim-toolbar-datepicker__datetime-button--hidden{display:none}.euim-toolbar-datepicker__datetime-caret{margin-left:var(--eui-base-spacing-xs)!important;margin-right:var(--eui-base-spacing-xs)!important;width:var(--eui-base-spacing-m);height:var(--eui-base-spacing-m)}.euim-toolbar-datepicker__nav-button{width:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs))!important;height:calc(var(--eui-base-spacing-2xl) + var(--eui-base-spacing-2xs))!important}.euim-toolbar-datepicker__nav-button ion-icon{width:var(--eui-base-spacing-xl);height:var(--eui-base-spacing-xl)}.euim-toolbar-datepicker__date{display:inline-table!important;flex:0 0 0!important;min-width:0!important}.euim-toolbar-datepicker__title{width:fit-content}.euim-toolbar-datepicker--primary .euim-toolbar-datepicker__calendar,.euim-toolbar-datepicker--primary .euim-label{color:#fff}.euim-toolbar-datepicker--primary .euim-toolbar-datepicker__datetime-button::part(native){background:var(--eui-base-color-primary);color:#fff}\n"] }]
110
+ }], ctorParameters: () => [{ type: i1.BaseStatesDirective }, { type: i2.TranslateService }], propDecorators: { icon: [{
78
111
  type: Input
79
112
  }], title: [{
80
113
  type: Input
@@ -99,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImpor
99
132
  type: HostBinding,
100
133
  args: ['class']
101
134
  }] } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS10b29sYmFyLWRhdGVwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2V1aW0tdG9vbGJhci1kYXRlcGlja2VyL2V1aW0tdG9vbGJhci1kYXRlcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLXRvb2xiYXItZGF0ZXBpY2tlci9ldWltLXRvb2xiYXItZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7QUFnQi9ELE1BQU0sT0FBTyw4QkFBOEI7SUF1QnZDLElBQ1csVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsWUFBbUIsbUJBQXdDO1FBQXhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUF6QmxELFNBQUksR0FBRyxzQkFBc0IsQ0FBQztRQVc3QixpQkFBWSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzVELGlCQUFZLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDNUQsZ0JBQVcsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUk3RCxhQUFRLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMxRixnQkFBVyxHQUFHLE1BQU0sQ0FBQztRQVF6QixJQUFJLENBQUMsVUFBVSxHQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBYyxVQUFVLENBQUMsR0FBVTtRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUMzQixDQUFDO0lBSUQsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1NBQzlDO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELGFBQWE7UUFDVCxPQUFPO1lBQ0gsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQztTQUNwRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsSUFBVztRQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQWtCO1FBQ2xDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFDUyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFFLENBQUM7UUFDMUQsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFUyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFFLENBQUM7UUFDMUQsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTyxvQkFBb0I7UUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO2lJQWpGUSw4QkFBOEI7cUhBQTlCLDhCQUE4Qix5S0FLbkIsZ0JBQWdCLHVFQUVoQixnQkFBZ0Isa0RBR2hCLGdCQUFnQiw2UUNuQ3hDLDY1RUE2REE7OzJGRHBDYSw4QkFBOEI7a0JBZDFDLFNBQVM7K0JBQ0kseUJBQXlCLGlCQUdwQixpQkFBaUIsQ0FBQyxJQUFJLGtCQUNyQjt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsbUJBQW1COzRCQUM5QixNQUFNLEVBQUU7Z0NBQ0osT0FBTzs2QkFDVjt5QkFDSjtxQkFDSjt3RkFJUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRU4sbUJBQW1CO3NCQURsQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUd0QyxtQkFBbUI7c0JBRGxCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSXRDLFlBQVk7c0JBRFgsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFHNUIsWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBU0ksVUFBVTtzQkFEcEIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBib29sZWFuQXR0cmlidXRlLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LCBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VTdGF0ZXNEaXJlY3RpdmUgfSBmcm9tICcuLi9iYXNlLXN0YXRlcy5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aW0tdG9vbGJhci1kYXRlcGlja2VyJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZVVybDogJ2V1aW0tdG9vbGJhci1kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogQmFzZVN0YXRlc0RpcmVjdGl2ZSxcbiAgICAgICAgICAgIGlucHV0czogW1xuICAgICAgICAgICAgICAgICdjb2xvcicsXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEV1aW1Ub29sYmFyRGF0ZXBpY2tlckNvbXBvbmVudFxuICAgIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBpY29uID0gJ2NhbGVuZGFyLWNsZWFyLXNoYXJwJztcbiAgICBASW5wdXQoKSB0aXRsZSA6IHN0cmluZztcbiAgICBASW5wdXQoKSBzdWJUaXRsZSA6IHN0cmluZztcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBldWltUHJldkJ0bkRpc2FibGVkOiBib29sZWFuO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIGV1aW1OZXh0QnRuRGlzYWJsZWQ6Ym9vbGVhbjtcbiAgICAvLyBzaG91bGQgYmUgZml4ZWQgYXMgbm93IGlzIGl0IGRpc2FibGVkIGNvbG9yc1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIGV1aW1SZWFkT25seTpib29sZWFuO1xuXG4gICAgQE91dHB1dCgpIHByZXZCdG5DbGljazogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuICAgIEBPdXRwdXQoKSBuZXh0QnRuQ2xpY2s6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcbiAgICBAT3V0cHV0KCkgZGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcblxuICAgIHdlZWtEYXlOYW1lOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIHdlZWtkYXlzID0gWydTdW5kYXknLCAnTW9uZGF5JywgJ1R1ZXNkYXknLCAnV2VkbmVzZGF5JywgJ1RodXJzZGF5JywgJ0ZyaWRheScsICdTYXR1cmRheSddO1xuICAgIHByaXZhdGUgX2RhdGVUaW1lSWQgPSAnZGF0ZSc7XG5cbiAgICBwcm90ZWN0ZWQgbW9kYWxJZDogc3RyaW5nO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICAgIHB1YmxpYyBnZXQgY3NzQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDc3NDbGFzc2VzKCk7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBiYXNlU3RhdGVzRGlyZWN0aXZlOiBCYXNlU3RhdGVzRGlyZWN0aXZlKSB7XG4gICAgICAgIHRoaXMuZGF0ZVRpbWVJZCA9ICBjcnlwdG8ucmFuZG9tVVVJRCgpO1xuICAgICAgICB0aGlzLm1vZGFsSWQgPSAgY3J5cHRvLnJhbmRvbVVVSUQoKTtcbiAgICAgICAgdGhpcy5jdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgfVxuXG4gICAgZ2V0IGRhdGVUaW1lSWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGVUaW1lSWQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldCBkYXRlVGltZUlkKHZhbDpzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fZGF0ZVRpbWVJZCA9IHZhbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3VycmVudERhdGU6IERhdGU7XG5cbiAgICBuZ09uSW5pdCAoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5iYXNlU3RhdGVzRGlyZWN0aXZlLmNvbG9yKSB7XG4gICAgICAgICAgICB0aGlzLmJhc2VTdGF0ZXNEaXJlY3RpdmUuY29sb3IgPSAncHJpbWFyeSc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mb3JtYXREYXRlQW5kV2Vla0RheSgpO1xuICAgIH1cblxuICAgIGdldENzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHRoaXMuYmFzZVN0YXRlc0RpcmVjdGl2ZS5nZXRDc3NDbGFzc2VzKCdldWltLXRvb2xiYXItZGF0ZXBpY2tlcicpLFxuICAgICAgICBdLmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDdXJyZW50RGF0ZShkYXRlOnN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnREYXRlID0gKG5ldyBEYXRlKGRhdGUpKTtcbiAgICAgICAgdGhpcy5kYXRlQ2hhbmdlZC5lbWl0KHRoaXMuY3VycmVudERhdGUpO1xuICAgICAgICB0aGlzLmZvcm1hdERhdGVBbmRXZWVrRGF5KCk7XG4gICAgfVxuXG4gICAgY2FsZW5kYXJEYXRlQ2hhbmdlZChldmVudDogQ3VzdG9tRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50RGF0ZSA9IChuZXcgRGF0ZShldmVudC5kZXRhaWwudmFsdWUpKTtcbiAgICAgICAgdGhpcy5kYXRlQ2hhbmdlZC5lbWl0KHRoaXMuY3VycmVudERhdGUpO1xuICAgICAgICB0aGlzLmZvcm1hdERhdGVBbmRXZWVrRGF5KCk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBzZWxlY3RQcmV2RGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50RGF0ZS5zZXREYXRlKHRoaXMuY3VycmVudERhdGUuZ2V0RGF0ZSgpIC0gMSApO1xuICAgICAgICB0aGlzLmZvcm1hdERhdGVBbmRXZWVrRGF5KCk7XG4gICAgICAgIHRoaXMucHJldkJ0bkNsaWNrLmVtaXQodGhpcy5jdXJyZW50RGF0ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNlbGVjdE5leHREYXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnREYXRlLnNldERhdGUodGhpcy5jdXJyZW50RGF0ZS5nZXREYXRlKCkgKyAxICk7XG4gICAgICAgIHRoaXMuZm9ybWF0RGF0ZUFuZFdlZWtEYXkoKTtcbiAgICAgICAgdGhpcy5uZXh0QnRuQ2xpY2suZW1pdCh0aGlzLmN1cnJlbnREYXRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdERhdGVBbmRXZWVrRGF5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLndlZWtEYXlOYW1lID0gdGhpcy53ZWVrZGF5c1t0aGlzLmN1cnJlbnREYXRlLmdldERheSgpXTtcbiAgICB9XG5cbn1cbiIsIjxpb24taXRlbSBjbGFzcz1cImV1aW0tdG9vbGJhci1kYXRlcGlja2VyX19pdGVtXCJcbiAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgPGV1aW0tYXZhdGFyLWljb24gIGZpbGw9XCJjbGVhclwiIHNsb3Q9XCJzdGFydFwiID5cbiAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cImljb25cIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWltLXRvb2xiYXItZGF0ZXBpY2tlcl9fY2FsZW5kYXJcIj48L2lvbi1pY29uPlxuICAgIDwvZXVpbS1hdmF0YXItaWNvbj5cblxuICAgIDxpb24tbGFiZWwgY2xhc3M9XCJldWltLXRvb2xiYXItZGF0ZXBpY2tlcl9fZGF0ZVwiXG4gICAgICAgICAgICAgICBwb3NpdGlvbj1cImZpeGVkXCI+XG4gICAgICAgIDxldWltLWxhYmVsIGNsYXNzPVwiZXVpbS10b29sYmFyLWRhdGVwaWNrZXJfX3RpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgZXVpbUxhYmVsVGl0bGVcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9XCJldWltUmVhZE9ubHlcIj57eyF0aXRsZSA/IHRoaXMud2Vla0RheU5hbWUgOiB0aXRsZX19PC9ldWltLWxhYmVsPlxuICAgICAgICBAaWYgKCFzdWJUaXRsZSkge1xuICAgICAgICAgICAgICAgIDxpb24tZGF0ZXRpbWUtYnV0dG9uIGNsYXNzPVwiZXVpbS10b29sYmFyLWRhdGVwaWNrZXJfX2RhdGV0aW1lLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGV0aW1lXT1cImRhdGVUaW1lSWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJldWltUmVhZE9ubHlcIj5cbiAgICAgICAgICAgICAgICA8L2lvbi1kYXRldGltZS1idXR0b24+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGRpdiBldWltTGFiZWwgZXVpbUxhYmVsU3ViVGl0bGVcbiAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9XCJldWltUmVhZE9ubHlcIj57e3N1YlRpdGxlfX08L2Rpdj5cbiAgICAgICAgfVxuXG4gICAgPC9pb24tbGFiZWw+XG4gICAgQGlmICghZXVpbVJlYWRPbmx5KXtcbiAgICAgICAgPGlvbi1pY29uIGNsYXNzPVwiZXVpbS10b29sYmFyLWRhdGVwaWNrZXJfX2RhdGV0aW1lLWNhcmV0XCJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJjYXJldC1kb3duLXNoYXJwXCJcbiAgICAgICAgICAgICAgICAgIFtpZF09XCJtb2RhbElkXCI+PC9pb24taWNvbj5cbiAgICB9XG5cbiAgICBAaWYgKCFldWltUmVhZE9ubHkpIHtcbiAgICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uIHNpemU9XCJsYXJnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0UHJldkRhdGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdID0gXCJldWltUHJldkJ0bkRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXBlPVwicm91bmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWltLXRvb2xiYXItZGF0ZXBpY2tlcl9fbmF2LWJ1dHRvblwiPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2hldnJvbi1iYWNrLWNpcmNsZS1zaGFycFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwibGlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwibGFyZ2VcIj5cbiAgICAgICAgICAgICAgICA8L2lvbi1pY29uPlxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgPGlvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3ROZXh0RGF0ZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJldWltTmV4dEJ0bkRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXBlPVwicm91bmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpbS10b29sYmFyLWRhdGVwaWNrZXJfX25hdi1idXR0b25cIj5cbiAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNoZXZyb24tZm9yd2FyZC1jaXJjbGUtc2hhcnBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cImxpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImxhcmdlXCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9pb24tYnV0dG9ucz5cbiAgICB9XG48L2lvbi1pdGVtPlxuXG48aW9uLW1vZGFsIFtrZWVwQ29udGVudHNNb3VudGVkXT1cInRydWVcIlxuICAgICAgICAgICBbdHJpZ2dlcl09XCJtb2RhbElkXCI+XG4gICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJpb24tZGF0ZXRpbWVcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvaW9uLW1vZGFsPlxuIl19
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS10b29sYmFyLWRhdGVwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2V1aW0tdG9vbGJhci1kYXRlcGlja2VyL2V1aW0tdG9vbGJhci1kYXRlcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLXRvb2xiYXItZGF0ZXBpY2tlci9ldWltLXRvb2xiYXItZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBRU4saUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7OztBQUkvRDs7O0dBR0c7QUFlSCxNQUFNLE9BQU8sOEJBQThCO0lBMkJ2QyxJQUNXLFVBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUNELFlBQW1CLG1CQUF3QyxFQUFVLFNBQTJCO1FBQTdFLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQTdCdkYsU0FBSSxHQUFHLHNCQUFzQixDQUFDO1FBVzdCLGlCQUFZLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDNUQsaUJBQVksR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUM1RCxnQkFBVyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBTTdELGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxnQkFBVyxHQUFHLE1BQU0sQ0FBQztRQVV6QixJQUFJLENBQUMsVUFBVSxHQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN2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QUM5QixNQUFNLEVBQUU7Z0NBQ0osT0FBTzs2QkFDVjt5QkFDSjtxQkFDSjt1SEFJUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRU4sbUJBQW1CO3NCQURsQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUd0QyxtQkFBbUI7c0JBRGxCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSXRDLFlBQVk7c0JBRFgsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFHNUIsWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBYUksVUFBVTtzQkFEcEIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgT25EZXN0cm95LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VTdGF0ZXNEaXJlY3RpdmUgfSBmcm9tICcuLi9iYXNlLXN0YXRlcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSwgTGFuZ0NoYW5nZUV2ZW50IH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBpcyBub3QgcmVhZHkgeWV0IGZvciBwcm9kdWN0aW9uXG4gKiBAYmV0YVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aW0tdG9vbGJhci1kYXRlcGlja2VyJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZVVybDogJ2V1aW0tdG9vbGJhci1kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogQmFzZVN0YXRlc0RpcmVjdGl2ZSxcbiAgICAgICAgICAgIGlucHV0czogW1xuICAgICAgICAgICAgICAgICdjb2xvcicsXG4gICAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEV1aW1Ub29sYmFyRGF0ZXBpY2tlckNvbXBvbmVudFxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGljb24gPSAnY2FsZW5kYXItY2xlYXItc2hhcnAnO1xuICAgIEBJbnB1dCgpIHRpdGxlIDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHN1YlRpdGxlIDogc3RyaW5nO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIGV1aW1QcmV2QnRuRGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgZXVpbU5leHRCdG5EaXNhYmxlZDpib29sZWFuO1xuICAgIC8vIHNob3VsZCBiZSBmaXhlZCBhcyBub3cgaXMgaXQgZGlzYWJsZWQgY29sb3JzXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgZXVpbVJlYWRPbmx5OmJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgcHJldkJ0bkNsaWNrOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG4gICAgQE91dHB1dCgpIG5leHRCdG5DbGljazogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuICAgIEBPdXRwdXQoKSBkYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuXG4gICAgd2Vla0RheU5hbWU6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgZm9ybWF0dGVkRGF0ZTogc3RyaW5nO1xuICAgIHByb3RlY3RlZCBzZWxlY3RlZERhdGU6IHN0cmluZztcblxuICAgIHByaXZhdGUgd2Vla2RheXMgPSBbXTtcbiAgICBwcml2YXRlIF9kYXRlVGltZUlkID0gJ2RhdGUnO1xuICAgIHByaXZhdGUgbGFuZ0NoYW5nZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIHByb3RlY3RlZCBjdXJyZW50TGFuZzogc3RyaW5nO1xuXG4gICAgcHJvdGVjdGVkIG1vZGFsSWQ6IHN0cmluZztcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBwdWJsaWMgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q3NzQ2xhc3NlcygpO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgYmFzZVN0YXRlc0RpcmVjdGl2ZTogQmFzZVN0YXRlc0RpcmVjdGl2ZSwgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5kYXRlVGltZUlkID0gIGNyeXB0by5yYW5kb21VVUlEKCk7XG4gICAgICAgIHRoaXMubW9kYWxJZCA9ICBjcnlwdG8ucmFuZG9tVVVJRCgpO1xuICAgICAgICB0aGlzLmN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcbiAgICAgICAgdGhpcy5mb3JtYXR0ZWREYXRlID0gdGhpcy5jdXJyZW50RGF0ZS50b0xvY2FsZURhdGVTdHJpbmcoKTtcbiAgICB9XG5cbiAgICBnZXQgZGF0ZVRpbWVJZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGF0ZVRpbWVJZDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0IGRhdGVUaW1lSWQodmFsOnN0cmluZykge1xuICAgICAgICB0aGlzLl9kYXRlVGltZUlkID0gdmFsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjdXJyZW50RGF0ZTogRGF0ZTtcblxuICAgIG5nT25Jbml0ICgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmJhc2VTdGF0ZXNEaXJlY3RpdmUuY29sb3IpIHtcbiAgICAgICAgICAgIHRoaXMuYmFzZVN0YXRlc0RpcmVjdGl2ZS5jb2xvciA9ICdwcmltYXJ5JztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxvYWRXZWVrZGF5c1RyYW5zbGF0aW9uKHRoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nKTtcblxuICAgICAgICB0aGlzLmxhbmdDaGFuZ2VTdWJzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0ZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudDogTGFuZ0NoYW5nZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRMYW5nID0gZXZlbnQubGFuZztcbiAgICAgICAgICAgIHRoaXMubG9hZFdlZWtkYXlzVHJhbnNsYXRpb24oZXZlbnQubGFuZyk7XG4gICAgICAgICAgICB0aGlzLmZvcm1hdERhdGVBbmRXZWVrRGF5KCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZm9ybWF0RGF0ZUFuZFdlZWtEYXkoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubGFuZ0NoYW5nZVN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5sYW5nQ2hhbmdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRDc3NDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB0aGlzLmJhc2VTdGF0ZXNEaXJlY3RpdmUuZ2V0Q3NzQ2xhc3NlcygnZXVpbS10b29sYmFyLWRhdGVwaWNrZXInKSxcbiAgICAgICAgXS5qb2luKCcgJyk7XG4gICAgfVxuXG4gICAgdXBkYXRlQ3VycmVudERhdGUoZGF0ZTpzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50RGF0ZSA9IChuZXcgRGF0ZShkYXRlKSk7XG4gICAgICAgIHRoaXMuZGF0ZUNoYW5nZWQuZW1pdCh0aGlzLmN1cnJlbnREYXRlKTtcbiAgICAgICAgdGhpcy5mb3JtYXR0ZWREYXRlID0gdGhpcy5jdXJyZW50RGF0ZS50b0xvY2FsZURhdGVTdHJpbmcoKTtcbiAgICAgICAgdGhpcy5mb3JtYXREYXRlQW5kV2Vla0RheSgpO1xuICAgIH1cblxuICAgIGNhbGVuZGFyRGF0ZUNoYW5nZWQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGN1c3RvbUV2ZW50ID0gZXZlbnQgYXMgQ3VzdG9tRXZlbnQ7XG4gICAgICAgIGlmIChjdXN0b21FdmVudC5kZXRhaWwudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudERhdGUgPSAobmV3IERhdGUoY3VzdG9tRXZlbnQuZGV0YWlsLnZhbHVlKSk7XG4gICAgICAgICAgICB0aGlzLmZvcm1hdHRlZERhdGUgPSB0aGlzLmN1cnJlbnREYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpO1xuICAgICAgICAgICAgdGhpcy5mb3JtYXREYXRlQW5kV2Vla0RheSgpO1xuICAgICAgICAgICAgdGhpcy5kYXRlQ2hhbmdlZC5lbWl0KHRoaXMuY3VycmVudERhdGUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByb3RlY3RlZCBzZWxlY3RQcmV2RGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50RGF0ZS5zZXREYXRlKHRoaXMuY3VycmVudERhdGUuZ2V0RGF0ZSgpIC0gMSApO1xuICAgICAgICB0aGlzLmZvcm1hdHRlZERhdGUgPSB0aGlzLmN1cnJlbnREYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpO1xuICAgICAgICB0aGlzLmZvcm1hdERhdGVBbmRXZWVrRGF5KCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gdGhpcy5jdXJyZW50RGF0ZS50b0lTT1N0cmluZygpO1xuICAgICAgICB0aGlzLnByZXZCdG5DbGljay5lbWl0KHRoaXMuY3VycmVudERhdGUpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBzZWxlY3ROZXh0RGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50RGF0ZS5zZXREYXRlKHRoaXMuY3VycmVudERhdGUuZ2V0RGF0ZSgpICsgMSApO1xuICAgICAgICB0aGlzLmZvcm1hdHRlZERhdGUgPSB0aGlzLmN1cnJlbnREYXRlLnRvTG9jYWxlRGF0ZVN0cmluZygpO1xuICAgICAgICB0aGlzLmZvcm1hdERhdGVBbmRXZWVrRGF5KCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gdGhpcy5jdXJyZW50RGF0ZS50b0lTT1N0cmluZygpO1xuICAgICAgICB0aGlzLm5leHRCdG5DbGljay5lbWl0KHRoaXMuY3VycmVudERhdGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZFdlZWtkYXlzVHJhbnNsYXRpb24obGFuZzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldCgnZXVpbS50b29sYmFyLWRhdGVwaWNrZXIuV0VFS0RBWVMnKS5zdWJzY3JpYmUoKHdlZWtkYXlzOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgICAgICAgdGhpcy53ZWVrZGF5cyA9IHdlZWtkYXlzO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdERhdGVBbmRXZWVrRGF5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLndlZWtEYXlOYW1lID0gdGhpcy53ZWVrZGF5c1t0aGlzLmN1cnJlbnREYXRlLmdldERheSgpXTtcbiAgICB9XG5cbn1cbiIsIjxpb24taXRlbSBjbGFzcz1cImV1aW0tdG9vbGJhci1kYXRlcGlja2VyX19pdGVtXCJcbiAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgPGV1aW0tYXZhdGFyLWljb24gIGZpbGw9XCJjbGVhclwiIHNsb3Q9XCJzdGFydFwiID5cbiAgICAgICAgPGlvbi1pY29uIFtuYW1lXT1cImljb25cIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWltLXRvb2xiYXItZGF0ZXBpY2tlcl9fY2FsZW5kYXJcIj48L2lvbi1pY29uPlxuICAgIDwvZXVpbS1hdmF0YXItaWNvbj5cblxuICAgIDxpb24tZGF0ZXRpbWUtYnV0dG9uIGNsYXNzPVwiZXVpbS10b29sYmFyLWRhdGVwaWNrZXJfX2RhdGV0aW1lLWJ1dHRvbi0taGlkZGVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0ZXRpbWVdPVwiZGF0ZVRpbWVJZFwiPlxuICAgIDwvaW9uLWRhdGV0aW1lLWJ1dHRvbj5cbiAgICA8ZGl2IGNsYXNzPVwiZXVpbS10b29sYmFyLWRhdGVwaWNrZXJfX2RhdGV0aW1lLWJ1dHRvblwiIFtpZF09XCJtb2RhbElkXCI+XG4gICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJldWltLXRvb2xiYXItZGF0ZXBpY2tlcl9fZGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgcG9zaXRpb249XCJmaXhlZFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV1aW0tdG9vbGJhci1kYXRlcGlja2VyX190aXRsZVwiXG4gICAgICAgICAgICAgICAgIGV1aW1MYWJlbFxuICAgICAgICAgICAgICAgICBldWltTGFiZWxUaXRsZVxuICAgICAgICAgICAgICAgICBkaXNhYmxlZD1cImV1aW1SZWFkT25seVwiPnt7IXRpdGxlID8gd2Vla0RheU5hbWUgOiB0aXRsZX19PC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgZXVpbUxhYmVsIGV1aW1MYWJlbFN1YlRpdGxlXG4gICAgICAgICAgICAgICAgIGRpc2FibGVkPVwiZXVpbVJlYWRPbmx5XCI+e3shc3ViVGl0bGUgPyBmb3JtYXR0ZWREYXRlIDogc3ViVGl0bGV9fTwvZGl2PlxuICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgQGlmICghZXVpbVJlYWRPbmx5KXtcbiAgICAgICAgICAgIDxpb24taWNvbiBjbGFzcz1cImV1aW0tdG9vbGJhci1kYXRlcGlja2VyX19kYXRldGltZS1jYXJldFwiXG4gICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImNhcmV0LWRvd24tc2hhcnBcIlxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwibGlnaHRcIj48L2lvbi1pY29uPlxuICAgICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICBAaWYgKCFldWltUmVhZE9ubHkpIHtcbiAgICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj5cbiAgICAgICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJzZWxlY3RQcmV2RGF0ZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF0gPSBcImV1aW1QcmV2QnRuRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2hhcGU9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aW0tdG9vbGJhci1kYXRlcGlja2VyX19uYXYtYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGV2cm9uLWJhY2stY2lyY2xlLXNoYXJwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJsaWdodFwiPlxuICAgICAgICAgICAgICAgIDwvaW9uLWljb24+XG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICA8aW9uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdE5leHREYXRlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImV1aW1OZXh0QnRuRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2hhcGU9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aW0tdG9vbGJhci1kYXRlcGlja2VyX19uYXYtYnV0dG9uIGV1aW0tdG9vbGJhci1kYXRlcGlja2VyX19uYXYtYnV0dG9uLS1uZXh0XCI+XG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGV2cm9uLWZvcndhcmQtY2lyY2xlLXNoYXJwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJsaWdodFwiPjwvaW9uLWljb24+XG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgIDwvaW9uLWJ1dHRvbnM+XG4gICAgfVxuPC9pb24taXRlbT5cblxuPGlvbi1tb2RhbCBba2VlcENvbnRlbnRzTW91bnRlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgW3RyaWdnZXJdPVwibW9kYWxJZFwiPlxuICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgICAgPGlvbi1kYXRldGltZVxuICAgICAgICAgICAgW3Nob3dEZWZhdWx0QnV0dG9uc109XCJ0cnVlXCJcbiAgICAgICAgICAgIChpb25DaGFuZ2UpPVwiY2FsZW5kYXJEYXRlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgIHNpemU9XCJjb3ZlclwiXG4gICAgICAgICAgICBbaWRdPVwiZGF0ZVRpbWVJZFwiXG4gICAgICAgICAgICBbbG9jYWxlXT1cImN1cnJlbnRMYW5nXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWREYXRlXCJcbiAgICAgICAgICAgIHByZXNlbnRhdGlvbj1cImRhdGVcIj48L2lvbi1kYXRldGltZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9pb24tbW9kYWw+XG4iXX0=