@c8y/ngx-components 1021.63.2 → 1021.66.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/auth-configuration/sso-configuration/template-parts/signature-configuration.component.d.ts +7 -2
- package/auth-configuration/sso-configuration/template-parts/signature-configuration.component.d.ts.map +1 -1
- package/core/bottom-drawer/bottom-drawer-ref.d.ts +4 -0
- package/core/bottom-drawer/bottom-drawer-ref.d.ts.map +1 -1
- package/core/breadcrumb/breadcrumb-item.component.d.ts +1 -1
- package/core/breadcrumb/breadcrumb-item.component.d.ts.map +1 -1
- package/core/breadcrumb/breadcrumb-outlet.component.d.ts +1 -1
- package/core/breadcrumb/breadcrumb-outlet.component.d.ts.map +1 -1
- package/core/breadcrumb/breadcrumb.component.d.ts +1 -1
- package/core/breadcrumb/breadcrumb.component.d.ts.map +1 -1
- package/core/breadcrumb/breadcrumb.module.d.ts +7 -7
- package/core/breadcrumb/breadcrumb.module.d.ts.map +1 -1
- package/core/common/common.module.d.ts +38 -38
- package/core/common/date-format.service.d.ts +30 -0
- package/core/common/date-format.service.d.ts.map +1 -0
- package/core/common/date.pipe.d.ts +7 -3
- package/core/common/date.pipe.d.ts.map +1 -1
- package/core/common/index.d.ts +1 -0
- package/core/common/index.d.ts.map +1 -1
- package/core/common/outlet.directive.d.ts +1 -1
- package/core/common/outlet.directive.d.ts.map +1 -1
- package/core/common/user-preferences/user-preferences-store-current-user.d.ts +11 -0
- package/core/common/user-preferences/user-preferences-store-current-user.d.ts.map +1 -0
- package/core/common/user-preferences/user-preferences.service.d.ts +40 -1
- package/core/common/user-preferences/user-preferences.service.d.ts.map +1 -1
- package/core/date-picker/date-picker.component.d.ts +3 -1
- package/core/date-picker/date-picker.component.d.ts.map +1 -1
- package/core/date-time-picker/date-time-picker.component.d.ts +6 -3
- package/core/date-time-picker/date-time-picker.component.d.ts.map +1 -1
- package/core/dynamic-forms/date/date.type.component.d.ts +3 -0
- package/core/dynamic-forms/date/date.type.component.d.ts.map +1 -1
- package/core/plugins/plugins.model.d.ts +1 -0
- package/core/plugins/plugins.model.d.ts.map +1 -1
- package/core/plugins/plugins.service.d.ts +7 -2
- package/core/plugins/plugins.service.d.ts.map +1 -1
- package/core/time-interval/time-interval.component.d.ts +4 -2
- package/core/time-interval/time-interval.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/application-plugin-readme.component.d.ts +15 -0
- package/ecosystem/application-plugins/application-plugin-readme.component.d.ts.map +1 -0
- package/ecosystem/application-plugins/application-plugins.component.d.ts +4 -2
- package/ecosystem/application-plugins/application-plugins.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/application-plugins.module.d.ts +4 -3
- package/ecosystem/application-plugins/application-plugins.module.d.ts.map +1 -1
- package/ecosystem/application-plugins/install-plugin.component.d.ts +8 -4
- package/ecosystem/application-plugins/install-plugin.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/plugin-list.component.d.ts +10 -26
- package/ecosystem/application-plugins/plugin-list.component.d.ts.map +1 -1
- package/ecosystem/application-plugins/plugin-list.service.d.ts +27 -0
- package/ecosystem/application-plugins/plugin-list.service.d.ts.map +1 -0
- package/ecosystem/ecosystem.module.d.ts +2 -1
- package/ecosystem/ecosystem.module.d.ts.map +1 -1
- package/ecosystem/packages/package-changelog-tab/package-changelog-tab.component.d.ts +15 -0
- package/ecosystem/packages/package-changelog-tab/package-changelog-tab.component.d.ts.map +1 -0
- package/ecosystem/packages/package-changelog.guard.d.ts +10 -0
- package/ecosystem/packages/package-changelog.guard.d.ts.map +1 -0
- package/ecosystem/packages/package-details/package-details.component.d.ts +7 -9
- package/ecosystem/packages/package-details/package-details.component.d.ts.map +1 -1
- package/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.d.ts +5 -1
- package/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.d.ts.map +1 -1
- package/ecosystem/packages/package-versions/package-contents/packages-contents.component.d.ts +8 -3
- package/ecosystem/packages/package-versions/package-contents/packages-contents.component.d.ts.map +1 -1
- package/ecosystem/packages/package-versions/packages-versions.component.d.ts +9 -2
- package/ecosystem/packages/package-versions/packages-versions.component.d.ts.map +1 -1
- package/ecosystem/shared/index.d.ts +1 -0
- package/ecosystem/shared/index.d.ts.map +1 -1
- package/ecosystem/shared/package-changelog/package-changelog.component.d.ts +24 -0
- package/ecosystem/shared/package-changelog/package-changelog.component.d.ts.map +1 -0
- package/ecosystem/shared/shared-ecosystem.module.d.ts +2 -1
- package/ecosystem/shared/shared-ecosystem.module.d.ts.map +1 -1
- package/esm2022/auth-configuration/sso-configuration/template-parts/signature-configuration.component.mjs +11 -7
- package/esm2022/core/bottom-drawer/bottom-drawer-ref.mjs +9 -3
- package/esm2022/core/breadcrumb/breadcrumb-item.component.mjs +3 -3
- package/esm2022/core/breadcrumb/breadcrumb-outlet.component.mjs +19 -9
- package/esm2022/core/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/core/breadcrumb/breadcrumb.module.mjs +16 -5
- package/esm2022/core/common/common.module.mjs +6 -6
- package/esm2022/core/common/date-format.service.mjs +81 -0
- package/esm2022/core/common/date.pipe.mjs +29 -6
- package/esm2022/core/common/index.mjs +2 -1
- package/esm2022/core/common/outlet.directive.mjs +4 -3
- package/esm2022/core/common/user-preferences/user-preferences-store-current-user.mjs +22 -0
- package/esm2022/core/common/user-preferences/user-preferences.service.mjs +106 -16
- package/esm2022/core/date-picker/date-picker.component.mjs +11 -4
- package/esm2022/core/date-time-picker/date-time-picker.component.mjs +20 -11
- package/esm2022/core/dynamic-forms/date/date.type.component.mjs +12 -4
- package/esm2022/core/plugins/plugins.model.mjs +1 -1
- package/esm2022/core/plugins/plugins.service.mjs +31 -5
- package/esm2022/core/time-interval/time-interval.component.mjs +9 -2
- package/esm2022/ecosystem/application-plugins/application-plugin-readme.component.mjs +26 -0
- package/esm2022/ecosystem/application-plugins/application-plugins.component.mjs +29 -14
- package/esm2022/ecosystem/application-plugins/application-plugins.module.mjs +6 -3
- package/esm2022/ecosystem/application-plugins/install-plugin.component.mjs +21 -15
- package/esm2022/ecosystem/application-plugins/plugin-list-item.component.mjs +3 -3
- package/esm2022/ecosystem/application-plugins/plugin-list.component.mjs +26 -202
- package/esm2022/ecosystem/application-plugins/plugin-list.service.mjs +200 -0
- package/esm2022/ecosystem/application-plugins/update-plugin-of-app/update-plugin-of-app.component.mjs +3 -3
- package/esm2022/ecosystem/application-properties/update-application-modal/update-application-modal.component.mjs +1 -1
- package/esm2022/ecosystem/ecosystem.module.mjs +21 -5
- package/esm2022/ecosystem/packages/package-changelog-tab/package-changelog-tab.component.mjs +33 -0
- package/esm2022/ecosystem/packages/package-changelog.guard.mjs +22 -0
- package/esm2022/ecosystem/packages/package-details/package-details.component.mjs +25 -44
- package/esm2022/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.mjs +14 -4
- package/esm2022/ecosystem/packages/package-versions/package-contents/packages-contents.component.mjs +27 -8
- package/esm2022/ecosystem/packages/package-versions/packages-versions.component.mjs +22 -8
- package/esm2022/ecosystem/shared/index.mjs +2 -1
- package/esm2022/ecosystem/shared/list-filters/list-filters.component.mjs +3 -3
- package/esm2022/ecosystem/shared/package-changelog/package-changelog.component.mjs +82 -0
- package/esm2022/ecosystem/shared/package-version-select/package-version-select.component.mjs +3 -3
- package/esm2022/ecosystem/shared/shared-ecosystem.module.mjs +12 -6
- package/esm2022/operations/bulk-operation-scheduler/operation-scheduler.component.mjs +9 -7
- package/esm2022/operations/bulk-operations-list/bulk-operations-list.component.mjs +1 -1
- package/esm2022/upgrade/ng1/downgraded.services.mjs +3 -2
- package/esm2022/upgrade/ng1/index.mjs +3 -2
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs +9 -5
- package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +209 -142
- package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +96 -13
- package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-ecosystem.mjs +336 -186
- package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs +7 -5
- package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs +1 -1
- package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components-upgrade.mjs +3 -1
- package/fesm2022/c8y-ngx-components-upgrade.mjs.map +1 -1
- package/fesm2022/c8y-ngx-components.mjs +833 -550
- package/fesm2022/c8y-ngx-components.mjs.map +1 -1
- package/locales/de.po +45 -6
- package/locales/es.po +45 -6
- package/locales/fr.po +45 -6
- package/locales/ja_JP.po +45 -6
- package/locales/ko.po +45 -6
- package/locales/locales.pot +42 -6
- package/locales/nl.po +45 -6
- package/locales/pl.po +45 -6
- package/locales/pt_BR.po +45 -6
- package/locales/zh_CN.po +45 -6
- package/locales/zh_TW.po +45 -6
- package/operations/bulk-operation-scheduler/operation-scheduler.component.d.ts +4 -2
- package/operations/bulk-operation-scheduler/operation-scheduler.component.d.ts.map +1 -1
- package/package.json +1 -1
- package/upgrade/ng1/downgraded.services.d.ts +1 -0
- package/upgrade/ng1/downgraded.services.d.ts.map +1 -1
- package/upgrade/ng1/index.d.ts.map +1 -1
|
@@ -9,10 +9,12 @@ import { CloseDatePickerDirective } from './close-date-picker.directive';
|
|
|
9
9
|
import { TimepickerModule } from 'ngx-bootstrap/timepicker';
|
|
10
10
|
import { DatePickerComponent } from '../date-picker/date-picker.component';
|
|
11
11
|
import { C8yTranslatePipe } from '../i18n/c8y-translate.pipe';
|
|
12
|
+
import { DateFormatService } from '../common/date-format.service';
|
|
12
13
|
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "
|
|
14
|
-
import * as i2 from "
|
|
15
|
-
import * as i3 from "
|
|
14
|
+
import * as i1 from "../common/date-format.service";
|
|
15
|
+
import * as i2 from "ngx-bootstrap/datepicker";
|
|
16
|
+
import * as i3 from "@angular/forms";
|
|
17
|
+
import * as i4 from "ngx-bootstrap/timepicker";
|
|
16
18
|
export class DateTimePickerComponent {
|
|
17
19
|
set _minDate(value) {
|
|
18
20
|
this.minDate = value ? new Date(value) : undefined;
|
|
@@ -20,9 +22,9 @@ export class DateTimePickerComponent {
|
|
|
20
22
|
set _maxDate(value) {
|
|
21
23
|
this.maxDate = value ? new Date(value) : undefined;
|
|
22
24
|
}
|
|
23
|
-
constructor(cd) {
|
|
25
|
+
constructor(cd, dateFormatService) {
|
|
24
26
|
this.cd = cd;
|
|
25
|
-
this.
|
|
27
|
+
this.dateFormatService = dateFormatService;
|
|
26
28
|
this.adaptivePosition = false;
|
|
27
29
|
/**
|
|
28
30
|
* Specifies the type of date input.
|
|
@@ -37,7 +39,6 @@ export class DateTimePickerComponent {
|
|
|
37
39
|
*/
|
|
38
40
|
this.dateType = 'DateAndTime';
|
|
39
41
|
this.config = {
|
|
40
|
-
showMeridian: false,
|
|
41
42
|
showMinutes: true,
|
|
42
43
|
showSeconds: false,
|
|
43
44
|
showSpinners: false
|
|
@@ -64,6 +65,14 @@ export class DateTimePickerComponent {
|
|
|
64
65
|
this.onTouched();
|
|
65
66
|
});
|
|
66
67
|
}
|
|
68
|
+
ngOnInit() {
|
|
69
|
+
if (!this.dateInputFormat) {
|
|
70
|
+
this.dateInputFormat = this.dateFormatService.getDateFormat();
|
|
71
|
+
}
|
|
72
|
+
if (!('showMeridian' in this.config)) {
|
|
73
|
+
this.config.showMeridian = this.dateFormatService.shouldUseMeridianFormat();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
67
76
|
ngOnDestroy() {
|
|
68
77
|
this.destroy$.next();
|
|
69
78
|
this.destroy$.complete();
|
|
@@ -193,7 +202,7 @@ export class DateTimePickerComponent {
|
|
|
193
202
|
isInputCleared(value) {
|
|
194
203
|
return this.previousValue?.date && value.date === undefined;
|
|
195
204
|
}
|
|
196
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateTimePickerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
205
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateTimePickerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DateFormatService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
197
206
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DateTimePickerComponent, isStandalone: true, selector: "c8y-date-time-picker", inputs: { _minDate: ["minDate", "_minDate"], _maxDate: ["maxDate", "_maxDate"], placeholder: "placeholder", dateInputFormat: "dateInputFormat", adaptivePosition: "adaptivePosition", size: "size", dateType: "dateType", config: "config" }, outputs: { onDateSelected: "onDateSelected" }, providers: [
|
|
198
207
|
{
|
|
199
208
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -205,7 +214,7 @@ export class DateTimePickerComponent {
|
|
|
205
214
|
useExisting: forwardRef(() => DateTimePickerComponent),
|
|
206
215
|
multi: true
|
|
207
216
|
}
|
|
208
|
-
], viewQueries: [{ propertyName: "datepicker", first: true, predicate: BsDatepickerDirective, descendants: true }], ngImport: i0, template: "<div\n class=\"datetime-picker\"\n [ngSwitch]=\"dateType\"\n>\n <div\n class=\"d-contents\"\n *ngSwitchCase=\"'DateAndTime'\"\n [closeDatepicker]=\"datepicker\"\n >\n <div class=\"form-group datepicker {{ size ? 'form-group-' + size : '' }}\">\n <input\n class=\"form-control\"\n style=\"min-width: 120px\"\n [placeholder]=\"placeholder || defaultPlaceholder | translate\"\n bsDatepicker\n [outsideClick]=\"false\"\n [bsConfig]=\"{\n customTodayClass: 'today',\n dateInputFormat: dateInputFormat,\n adaptivePosition: adaptivePosition\n }\"\n [formControl]=\"form.get('date')\"\n (blur)=\"onTouched()\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n />\n </div>\n <timepicker\n class=\"form-group {{ size ? 'form-group-' + size : '' }}\"\n [formControl]=\"form.get('time')\"\n [showSeconds]=\"config.showSeconds\"\n [showSpinners]=\"config.showSpinners\"\n [showMeridian]=\"config.showMeridian\"\n (wheel)=\"handleMouseWheel($event)\"\n ></timepicker>\n </div>\n\n <div\n class=\"d-contents\"\n *ngSwitchCase=\"'Date'\"\n [closeDatepicker]=\"datepicker\"\n >\n <div class=\"form-group datepicker {{ size ? 'form-group-' + size : '' }}\">\n <input\n class=\"form-control\"\n [placeholder]=\"placeholder || defaultPlaceholder | translate\"\n bsDatepicker\n [outsideClick]=\"false\"\n [bsConfig]=\"{\n customTodayClass: 'today',\n dateInputFormat: dateInputFormat,\n adaptivePosition: adaptivePosition\n }\"\n [formControl]=\"form.get('date')\"\n (blur)=\"onTouched()\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n />\n </div>\n </div>\n\n <div\n class=\"d-contents\"\n *ngSwitchCase=\"'DateRange'\"\n >\n <div class=\"form-group datepicker {{ size ? 'form-group-' + size : '' }}\">\n <input\n class=\"form-control\"\n placeholder=\"{{ 'Select a date range' | translate }}\"\n [formControl]=\"form.get('date')\"\n [bsConfig]=\"{\n customTodayClass: 'today',\n adaptivePosition: true,\n rangeInputFormat: dateInputFormat\n }\"\n bsDaterangepicker\n />\n </div>\n </div>\n\n <div\n class=\"d-contents\"\n *ngSwitchCase=\"'Time'\"\n >\n <timepicker\n class=\"form-group {{ size ? 'form-group-' + size : '' }}\"\n [formControl]=\"form.get('time')\"\n [showSeconds]=\"config.showSeconds\"\n [showSpinners]=\"config.showSpinners\"\n [showMeridian]=\"config.showMeridian\"\n [minutesPlaceholder]=\"'MM`MINUTES`' | translate\"\n [hoursPlaceholder]=\"'HH`HOURS`' | translate\"\n [secondsPlaceholder]=\"'SS`SECONDS`' | translate\"\n (wheel)=\"handleMouseWheel($event)\"\n ></timepicker>\n </div>\n\n <div *ngSwitchCase=\"'SingleDateRequired'\">\n <div class=\"form-group {{ size ? 'form-group-' + size : '' }}\">\n <c8y-date-picker (onDateSelected)=\"onDateSelected.emit($event)\"></c8y-date-picker>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: CloseDatePickerDirective, selector: "[closeDatepicker]", inputs: ["closeDatepicker"] }, { kind: "ngmodule", type: BsDatepickerModule }, { kind: "directive", type:
|
|
217
|
+
], viewQueries: [{ propertyName: "datepicker", first: true, predicate: BsDatepickerDirective, descendants: true }], ngImport: i0, template: "<div\n class=\"datetime-picker\"\n [ngSwitch]=\"dateType\"\n>\n <div\n class=\"d-contents\"\n *ngSwitchCase=\"'DateAndTime'\"\n [closeDatepicker]=\"datepicker\"\n >\n <div class=\"form-group datepicker {{ size ? 'form-group-' + size : '' }}\">\n <input\n class=\"form-control\"\n data-cy=\"bootstrap-date-input\"\n style=\"min-width: 120px\"\n [placeholder]=\"placeholder || defaultPlaceholder | translate\"\n bsDatepicker\n [outsideClick]=\"false\"\n [bsConfig]=\"{\n customTodayClass: 'today',\n dateInputFormat: dateInputFormat,\n adaptivePosition: adaptivePosition\n }\"\n [formControl]=\"form.get('date')\"\n (blur)=\"onTouched()\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n />\n </div>\n <timepicker\n class=\"form-group {{ size ? 'form-group-' + size : '' }}\"\n [formControl]=\"form.get('time')\"\n [showSeconds]=\"config.showSeconds\"\n [showSpinners]=\"config.showSpinners\"\n [showMeridian]=\"config.showMeridian\"\n (wheel)=\"handleMouseWheel($event)\"\n ></timepicker>\n </div>\n\n <div\n class=\"d-contents\"\n *ngSwitchCase=\"'Date'\"\n [closeDatepicker]=\"datepicker\"\n >\n <div class=\"form-group datepicker {{ size ? 'form-group-' + size : '' }}\">\n <input\n class=\"form-control\"\n [placeholder]=\"placeholder || defaultPlaceholder | translate\"\n bsDatepicker\n [outsideClick]=\"false\"\n [bsConfig]=\"{\n customTodayClass: 'today',\n dateInputFormat: dateInputFormat,\n adaptivePosition: adaptivePosition\n }\"\n [formControl]=\"form.get('date')\"\n (blur)=\"onTouched()\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n />\n </div>\n </div>\n\n <div\n class=\"d-contents\"\n *ngSwitchCase=\"'DateRange'\"\n >\n <div class=\"form-group datepicker {{ size ? 'form-group-' + size : '' }}\">\n <input\n class=\"form-control\"\n placeholder=\"{{ 'Select a date range' | translate }}\"\n [formControl]=\"form.get('date')\"\n [bsConfig]=\"{\n customTodayClass: 'today',\n adaptivePosition: true,\n rangeInputFormat: dateInputFormat\n }\"\n bsDaterangepicker\n />\n </div>\n </div>\n\n <div\n class=\"d-contents\"\n *ngSwitchCase=\"'Time'\"\n >\n <timepicker\n class=\"form-group {{ size ? 'form-group-' + size : '' }}\"\n [formControl]=\"form.get('time')\"\n [showSeconds]=\"config.showSeconds\"\n [showSpinners]=\"config.showSpinners\"\n [showMeridian]=\"config.showMeridian\"\n [minutesPlaceholder]=\"'MM`MINUTES`' | translate\"\n [hoursPlaceholder]=\"'HH`HOURS`' | translate\"\n [secondsPlaceholder]=\"'SS`SECONDS`' | translate\"\n (wheel)=\"handleMouseWheel($event)\"\n ></timepicker>\n </div>\n\n <div *ngSwitchCase=\"'SingleDateRequired'\">\n <div class=\"form-group {{ size ? 'form-group-' + size : '' }}\">\n <c8y-date-picker (onDateSelected)=\"onDateSelected.emit($event)\"></c8y-date-picker>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: CloseDatePickerDirective, selector: "[closeDatepicker]", inputs: ["closeDatepicker"] }, { kind: "ngmodule", type: BsDatepickerModule }, { kind: "directive", type: i2.BsDatepickerDirective, selector: "[bsDatepicker]", inputs: ["placement", "triggers", "outsideClick", "container", "outsideEsc", "isDisabled", "minDate", "maxDate", "minMode", "daysDisabled", "datesDisabled", "datesEnabled", "dateCustomClasses", "dateTooltipTexts", "isOpen", "bsValue", "bsConfig"], outputs: ["onShown", "onHidden", "bsValueChange"], exportAs: ["bsDatepicker"] }, { kind: "directive", type: i2.BsDatepickerInputDirective, selector: "input[bsDatepicker]" }, { kind: "directive", type: i2.BsDaterangepickerDirective, selector: "[bsDaterangepicker]", inputs: ["placement", "triggers", "outsideClick", "container", "outsideEsc", "isOpen", "bsValue", "bsConfig", "isDisabled", "minDate", "maxDate", "dateCustomClasses", "daysDisabled", "datesDisabled", "datesEnabled"], outputs: ["onShown", "onHidden", "bsValueChange"], exportAs: ["bsDaterangepicker"] }, { kind: "directive", type: i2.BsDaterangepickerInputDirective, selector: "input[bsDaterangepicker]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: TimepickerModule }, { kind: "component", type: i4.TimepickerComponent, selector: "timepicker", inputs: ["hourStep", "minuteStep", "secondsStep", "readonlyInput", "disabled", "mousewheel", "arrowkeys", "showSpinners", "showMeridian", "showMinutes", "showSeconds", "meridians", "min", "max", "hoursPlaceholder", "minutesPlaceholder", "secondsPlaceholder"], outputs: ["isValid", "meridianChange"] }, { kind: "component", type: DatePickerComponent, selector: "c8y-date-picker", inputs: ["placeholder", "dateInputFormat"], outputs: ["onDateSelected"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] }); }
|
|
209
218
|
}
|
|
210
219
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateTimePickerComponent, decorators: [{
|
|
211
220
|
type: Component,
|
|
@@ -230,8 +239,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
230
239
|
TimepickerModule,
|
|
231
240
|
DatePickerComponent,
|
|
232
241
|
C8yTranslatePipe
|
|
233
|
-
], template: "<div\n class=\"datetime-picker\"\n [ngSwitch]=\"dateType\"\n>\n <div\n class=\"d-contents\"\n *ngSwitchCase=\"'DateAndTime'\"\n [closeDatepicker]=\"datepicker\"\n >\n <div class=\"form-group datepicker {{ size ? 'form-group-' + size : '' }}\">\n <input\n class=\"form-control\"\n style=\"min-width: 120px\"\n [placeholder]=\"placeholder || defaultPlaceholder | translate\"\n bsDatepicker\n [outsideClick]=\"false\"\n [bsConfig]=\"{\n customTodayClass: 'today',\n dateInputFormat: dateInputFormat,\n adaptivePosition: adaptivePosition\n }\"\n [formControl]=\"form.get('date')\"\n (blur)=\"onTouched()\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n />\n </div>\n <timepicker\n class=\"form-group {{ size ? 'form-group-' + size : '' }}\"\n [formControl]=\"form.get('time')\"\n [showSeconds]=\"config.showSeconds\"\n [showSpinners]=\"config.showSpinners\"\n [showMeridian]=\"config.showMeridian\"\n (wheel)=\"handleMouseWheel($event)\"\n ></timepicker>\n </div>\n\n <div\n class=\"d-contents\"\n *ngSwitchCase=\"'Date'\"\n [closeDatepicker]=\"datepicker\"\n >\n <div class=\"form-group datepicker {{ size ? 'form-group-' + size : '' }}\">\n <input\n class=\"form-control\"\n [placeholder]=\"placeholder || defaultPlaceholder | translate\"\n bsDatepicker\n [outsideClick]=\"false\"\n [bsConfig]=\"{\n customTodayClass: 'today',\n dateInputFormat: dateInputFormat,\n adaptivePosition: adaptivePosition\n }\"\n [formControl]=\"form.get('date')\"\n (blur)=\"onTouched()\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n />\n </div>\n </div>\n\n <div\n class=\"d-contents\"\n *ngSwitchCase=\"'DateRange'\"\n >\n <div class=\"form-group datepicker {{ size ? 'form-group-' + size : '' }}\">\n <input\n class=\"form-control\"\n placeholder=\"{{ 'Select a date range' | translate }}\"\n [formControl]=\"form.get('date')\"\n [bsConfig]=\"{\n customTodayClass: 'today',\n adaptivePosition: true,\n rangeInputFormat: dateInputFormat\n }\"\n bsDaterangepicker\n />\n </div>\n </div>\n\n <div\n class=\"d-contents\"\n *ngSwitchCase=\"'Time'\"\n >\n <timepicker\n class=\"form-group {{ size ? 'form-group-' + size : '' }}\"\n [formControl]=\"form.get('time')\"\n [showSeconds]=\"config.showSeconds\"\n [showSpinners]=\"config.showSpinners\"\n [showMeridian]=\"config.showMeridian\"\n [minutesPlaceholder]=\"'MM`MINUTES`' | translate\"\n [hoursPlaceholder]=\"'HH`HOURS`' | translate\"\n [secondsPlaceholder]=\"'SS`SECONDS`' | translate\"\n (wheel)=\"handleMouseWheel($event)\"\n ></timepicker>\n </div>\n\n <div *ngSwitchCase=\"'SingleDateRequired'\">\n <div class=\"form-group {{ size ? 'form-group-' + size : '' }}\">\n <c8y-date-picker (onDateSelected)=\"onDateSelected.emit($event)\"></c8y-date-picker>\n </div>\n </div>\n</div>\n" }]
|
|
234
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { _minDate: [{
|
|
242
|
+
], template: "<div\n class=\"datetime-picker\"\n [ngSwitch]=\"dateType\"\n>\n <div\n class=\"d-contents\"\n *ngSwitchCase=\"'DateAndTime'\"\n [closeDatepicker]=\"datepicker\"\n >\n <div class=\"form-group datepicker {{ size ? 'form-group-' + size : '' }}\">\n <input\n class=\"form-control\"\n data-cy=\"bootstrap-date-input\"\n style=\"min-width: 120px\"\n [placeholder]=\"placeholder || defaultPlaceholder | translate\"\n bsDatepicker\n [outsideClick]=\"false\"\n [bsConfig]=\"{\n customTodayClass: 'today',\n dateInputFormat: dateInputFormat,\n adaptivePosition: adaptivePosition\n }\"\n [formControl]=\"form.get('date')\"\n (blur)=\"onTouched()\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n />\n </div>\n <timepicker\n class=\"form-group {{ size ? 'form-group-' + size : '' }}\"\n [formControl]=\"form.get('time')\"\n [showSeconds]=\"config.showSeconds\"\n [showSpinners]=\"config.showSpinners\"\n [showMeridian]=\"config.showMeridian\"\n (wheel)=\"handleMouseWheel($event)\"\n ></timepicker>\n </div>\n\n <div\n class=\"d-contents\"\n *ngSwitchCase=\"'Date'\"\n [closeDatepicker]=\"datepicker\"\n >\n <div class=\"form-group datepicker {{ size ? 'form-group-' + size : '' }}\">\n <input\n class=\"form-control\"\n [placeholder]=\"placeholder || defaultPlaceholder | translate\"\n bsDatepicker\n [outsideClick]=\"false\"\n [bsConfig]=\"{\n customTodayClass: 'today',\n dateInputFormat: dateInputFormat,\n adaptivePosition: adaptivePosition\n }\"\n [formControl]=\"form.get('date')\"\n (blur)=\"onTouched()\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n />\n </div>\n </div>\n\n <div\n class=\"d-contents\"\n *ngSwitchCase=\"'DateRange'\"\n >\n <div class=\"form-group datepicker {{ size ? 'form-group-' + size : '' }}\">\n <input\n class=\"form-control\"\n placeholder=\"{{ 'Select a date range' | translate }}\"\n [formControl]=\"form.get('date')\"\n [bsConfig]=\"{\n customTodayClass: 'today',\n adaptivePosition: true,\n rangeInputFormat: dateInputFormat\n }\"\n bsDaterangepicker\n />\n </div>\n </div>\n\n <div\n class=\"d-contents\"\n *ngSwitchCase=\"'Time'\"\n >\n <timepicker\n class=\"form-group {{ size ? 'form-group-' + size : '' }}\"\n [formControl]=\"form.get('time')\"\n [showSeconds]=\"config.showSeconds\"\n [showSpinners]=\"config.showSpinners\"\n [showMeridian]=\"config.showMeridian\"\n [minutesPlaceholder]=\"'MM`MINUTES`' | translate\"\n [hoursPlaceholder]=\"'HH`HOURS`' | translate\"\n [secondsPlaceholder]=\"'SS`SECONDS`' | translate\"\n (wheel)=\"handleMouseWheel($event)\"\n ></timepicker>\n </div>\n\n <div *ngSwitchCase=\"'SingleDateRequired'\">\n <div class=\"form-group {{ size ? 'form-group-' + size : '' }}\">\n <c8y-date-picker (onDateSelected)=\"onDateSelected.emit($event)\"></c8y-date-picker>\n </div>\n </div>\n</div>\n" }]
|
|
243
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.DateFormatService }], propDecorators: { _minDate: [{
|
|
235
244
|
type: Input,
|
|
236
245
|
args: ['minDate']
|
|
237
246
|
}], _maxDate: [{
|
|
@@ -255,4 +264,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
255
264
|
type: ViewChild,
|
|
256
265
|
args: [BsDatepickerDirective]
|
|
257
266
|
}] } });
|
|
258
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxXQUFXLEVBQ1gsU0FBUyxFQUNULGFBQWEsRUFDYixpQkFBaUIsRUFHakIsV0FBVyxFQUNYLG1CQUFtQixFQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJGLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7O0FBNEM5RCxNQUFNLE9BQU8sdUJBQXVCO0lBR2xDLElB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QkFBQyxTQUFTO2dCQU1oQixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFlTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQVNOLGNBQWM7c0JBRGIsTUFBTTtnQkFRMkIsVUFBVTtzQkFBM0MsU0FBUzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgRm9ybUNvbnRyb2wsXG4gIEZvcm1Hcm91cCxcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcixcbiAgRm9ybXNNb2R1bGUsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGVcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZmlyc3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGdldHRleHQgfSBmcm9tICcuLi9pMThuJztcbmltcG9ydCB7IEJzRGF0ZXBpY2tlckRpcmVjdGl2ZSwgQnNEYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9kYXRlcGlja2VyJztcbmltcG9ydCB7IFBpY2tlZERhdGVzIH0gZnJvbSAnLi4vZGF0ZS1waWNrZXInO1xuaW1wb3J0IHsgTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDbG9zZURhdGVQaWNrZXJEaXJlY3RpdmUgfSBmcm9tICcuL2Nsb3NlLWRhdGUtcGlja2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUaW1lcGlja2VyTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC90aW1lcGlja2VyJztcbmltcG9ydCB7IERhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQzh5VHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uL2kxOG4vYzh5LXRyYW5zbGF0ZS5waXBlJztcblxuaW50ZXJmYWNlIERhdGVBbmRUaW1lIHtcbiAgZGF0ZTogRGF0ZTtcbiAgdGltZTogRGF0ZTtcbn1cblxuaW50ZXJmYWNlIERhdGVBbmRUaW1lT3B0aW9ucyB7XG4gIHNob3dTcGlubmVycz86IGJvb2xlYW47XG4gIHNob3dNZXJpZGlhbj86IGJvb2xlYW47XG4gIHNob3dNaW51dGVzPzogYm9vbGVhbjtcbiAgc2hvd1NlY29uZHM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBEYXRlVHlwZSA9ICdEYXRlQW5kVGltZScgfCAnRGF0ZScgfCAnRGF0ZVJhbmdlJyB8ICdTaW5nbGVEYXRlUmVxdWlyZWQnIHwgJ1RpbWUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktZGF0ZS10aW1lLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlVGltZVBpY2tlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVUaW1lUGlja2VyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdTd2l0Y2gsXG4gICAgTmdTd2l0Y2hDYXNlLFxuICAgIENsb3NlRGF0ZVBpY2tlckRpcmVjdGl2ZSxcbiAgICBCc0RhdGVwaWNrZXJNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBUaW1lcGlja2VyTW9kdWxlLFxuICAgIERhdGVQaWNrZXJDb21wb25lbnQsXG4gICAgQzh5VHJhbnNsYXRlUGlwZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERhdGVUaW1lUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIFZhbGlkYXRvciwgT25EZXN0cm95IHtcbiAgbWluRGF0ZTogRGF0ZTtcblxuICBASW5wdXQoJ21pbkRhdGUnKVxuICBzZXQgX21pbkRhdGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMubWluRGF0ZSA9IHZhbHVlID8gbmV3IERhdGUodmFsdWUpIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgbWF4RGF0ZTogRGF0ZTtcblxuICBASW5wdXQoJ21heERhdGUnKVxuICBzZXQgX21heERhdGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMubWF4RGF0ZSA9IHZhbHVlID8gbmV3IERhdGUodmFsdWUpIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgQElucHV0KClcbiAgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBkYXRlSW5wdXRGb3JtYXQgPSAnWVlZWS1NTS1ERCc7XG5cbiAgQElucHV0KClcbiAgYWRhcHRpdmVQb3NpdGlvbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNpemU6IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB0eXBlIG9mIGRhdGUgaW5wdXQuXG4gICAqXG4gICAqIEBwYXJhbSBEYXRlQW5kVGltZSAtIERpc3BsYXkgYm90aCBkYXRlIGFuZCB0aW1lLlxuICAgKiBAcGFyYW0gRGF0ZSAtIERpc3BsYXkgb25seSB0aGUgZGF0ZSB3aXRob3V0IHRoZSB0aW1lLlxuICAgKiBAcGFyYW0gRGF0ZVJhbmdlIC0gU3BlY2lmeSBhIHJhbmdlIG9mIGRhdGVzLlxuICAgKiBAcGFyYW0gU2luZ2xlRGF0ZVJlcXVpcmVkIC0gUmVxdWlyZSB0aGUgc2VsZWN0aW9uIG9mIGEgc2luZ2xlIGRhdGUuXG4gICAqIEBwYXJhbSBUaW1lIC0gRGlzcGxheSBvbmx5IHRoZSB0aW1lIHdpdGhvdXQgdGhlIGRhdGUuXG4gICAqXG4gICAqIEBkZWZhdWx0VmFsdWUgJ0RhdGVBbmRUaW1lJ1xuICAgKi9cbiAgQElucHV0KClcbiAgZGF0ZVR5cGU6IERhdGVUeXBlID0gJ0RhdGVBbmRUaW1lJztcblxuICBASW5wdXQoKVxuICBjb25maWc6IERhdGVBbmRUaW1lT3B0aW9ucyA9IHtcbiAgICBzaG93TWVyaWRpYW46IGZhbHNlLFxuICAgIHNob3dNaW51dGVzOiB0cnVlLFxuICAgIHNob3dTZWNvbmRzOiBmYWxzZSxcbiAgICBzaG93U3Bpbm5lcnM6IGZhbHNlXG4gIH07XG5cbiAgQE91dHB1dCgpXG4gIG9uRGF0ZVNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8UGlja2VkRGF0ZXM+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGRhdGU6IERhdGU7XG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBkZWZhdWx0UGxhY2Vob2xkZXIgPSBnZXR0ZXh0KCdTZWxlY3QgYSBkYXRl4oCmJyk7XG5cbiAgQFZpZXdDaGlsZChCc0RhdGVwaWNrZXJEaXJlY3RpdmUpIGRhdGVwaWNrZXI6IEJzRGF0ZXBpY2tlckRpcmVjdGl2ZTtcblxuICBwcml2YXRlIHByZXZpb3VzVmFsdWU6IERhdGVBbmRUaW1lO1xuICBwcml2YXRlIHByZXZpb3VzVGltZVBpY2tlclZhbHVlczogeyBob3Vycz86IG51bWJlcjsgbWludXRlcz86IG51bWJlciB9ID0ge307XG4gIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ2RhdGUnLCBuZXcgRm9ybUNvbnRyb2wobnVsbCkpO1xuICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCd0aW1lJywgbmV3IEZvcm1Db250cm9sKG51bGwpKTtcbiAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHZhbHVlOiBEYXRlQW5kVGltZSkgPT4ge1xuICAgICAgdGhpcy5zZXREYXRldGltZSh2YWx1ZSk7XG4gICAgICB0aGlzLnByZXZpb3VzVmFsdWUgPSB2YWx1ZTtcbiAgICB9KTtcbiAgICB0aGlzLmZvcm0uc3RhdHVzQ2hhbmdlc1xuICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgfSk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIG9uQ2hhbmdlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCA9ICgpID0+IHt9O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb250cm9sIFZhbHVlIEFjY2Vzc29yIC0gSWYgZm9ybSB2YWx1ZSBjaGFuZ2VzIGJ5IGV4dGVybmFsIGZhY3RvciwgdXBkYXRlIGRhdGUgcHJvcGVydHkgYW5kIGludGVybmFsIGZvcm0gd2l0aCBuZXcgdmFsdWUuXG4gICAqL1xuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZGF0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICAgIHRoaXMuZm9ybS5zZXRWYWx1ZShcbiAgICAgICAge1xuICAgICAgICAgIGRhdGU6IG5ldyBEYXRlKHZhbHVlKSxcbiAgICAgICAgICB0aW1lOiB0aGlzLmRhdGVcbiAgICAgICAgfSxcbiAgICAgICAgeyBlbWl0RXZlbnQ6IGZhbHNlIH1cbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybS5zZXRWYWx1ZSh7IGRhdGU6IG51bGwsIHRpbWU6IG51bGwgfSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIH1cbiAgICB0aGlzLnByZXZpb3VzVmFsdWUgPSB0aGlzLmZvcm0udmFsdWU7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6IGFueSkge1xuICAgIHRoaXMub25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbikge1xuICAgIGlmIChkaXNhYmxlZCA9PT0gdGhpcy5mb3JtPy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBkaXNhYmxlZCA/IHRoaXMuZm9ybS5kaXNhYmxlKCkgOiB0aGlzLmZvcm0uZW5hYmxlKCk7XG4gIH1cblxuICB2YWxpZGF0ZShfY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmICh0aGlzLmRhdGU/LmdldFRpbWUoKSA8IG5ldyBEYXRlKHRoaXMubWluRGF0ZSkuZ2V0VGltZSgpKSB7XG4gICAgICByZXR1cm4geyBkYXRlQmVmb3JlUmFuZ2VNaW46IHRydWUgfTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGF0ZT8uZ2V0VGltZSgpID4gbmV3IERhdGUodGhpcy5tYXhEYXRlKS5nZXRUaW1lKCkpIHtcbiAgICAgIHJldHVybiB7IGRhdGVBZnRlclJhbmdlTWF4OiB0cnVlIH07XG4gICAgfSBlbHNlIGlmICh0aGlzLmZvcm0uaW52YWxpZCkge1xuICAgICAgcmV0dXJuIHsgaW52YWxpZERhdGVUaW1lOiB0cnVlIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByZXZpb3VzRGF5KCkge1xuICAgIGNvbnN0IGlzT3BlbiA9IHRoaXMuZGF0ZXBpY2tlci5pc09wZW47XG4gICAgdGhpcy5kYXRlLnNldERhdGUodGhpcy5kYXRlLmdldERhdGUoKSAtIDEpO1xuICAgIHRoaXMuc2V0RGF0ZXRpbWUoeyBkYXRlOiB0aGlzLmRhdGUsIHRpbWU6IHRoaXMuZm9ybS5nZXQoJ3RpbWUnKS52YWx1ZSB9KTtcbiAgICBpZiAoaXNPcGVuKSB7XG4gICAgICB0aGlzLmRhdGVwaWNrZXIuc2hvdygpO1xuICAgIH1cbiAgfVxuXG4gIG5leHREYXkoKSB7XG4gICAgY29uc3QgaXNPcGVuID0gdGhpcy5kYXRlcGlja2VyLmlzT3BlbjtcbiAgICB0aGlzLmRhdGUuc2V0RGF0ZSh0aGlzLmRhdGUuZ2V0RGF0ZSgpICsgMSk7XG4gICAgdGhpcy5zZXREYXRldGltZSh7IGRhdGU6IHRoaXMuZGF0ZSwgdGltZTogdGhpcy5mb3JtLmdldCgndGltZScpLnZhbHVlIH0pO1xuICAgIGlmIChpc09wZW4pIHtcbiAgICAgIHRoaXMuZGF0ZXBpY2tlci5zaG93KCk7XG4gICAgfVxuICB9XG5cbiAgaGlkZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGVwaWNrZXIuaGlkZSgpO1xuICB9XG5cbiAgaGFuZGxlTW91c2VXaGVlbChldmVudDogV2hlZWxFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGhvdXJzID0gdGhpcy5mb3JtLmdldCgndGltZScpLnZhbHVlLmdldEhvdXJzKCk7XG4gICAgY29uc3QgbWludXRlcyA9IHRoaXMuZm9ybS5nZXQoJ3RpbWUnKS52YWx1ZS5nZXRNaW51dGVzKCk7XG4gICAgLy8gZG93blxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKGV2ZW50LmRlbHRhWSA+IDApIHtcbiAgICAgIGlmIChOdW1iZXIoaG91cnMpID09PSAyMyAmJiB0aGlzLnByZXZpb3VzVGltZVBpY2tlclZhbHVlcy5ob3VycyAhPT0gMjMpIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c0RheSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHVwXG4gICAgaWYgKGV2ZW50LmRlbHRhWSA8IDApIHtcbiAgICAgIGlmICh0aGlzLnByZXZpb3VzVGltZVBpY2tlclZhbHVlcy5ob3VycyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIC8vIHNjcm9sbGluZyB1cCBvbiBlbXB0eSBmb3JtIHNob3VsZCBub3QgcmVzdWx0IGluIGluY3JlYXNpbmcgZGF5LlxuICAgICAgfSBlbHNlIGlmIChOdW1iZXIoaG91cnMpID09PSAwICYmIHRoaXMucHJldmlvdXNUaW1lUGlja2VyVmFsdWVzLmhvdXJzICE9PSAwKSB7XG4gICAgICAgIHRoaXMubmV4dERheSgpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnByZXZpb3VzVGltZVBpY2tlclZhbHVlcyA9IHsgaG91cnMsIG1pbnV0ZXMgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiBpbnRlcm5hbCBmb3JtIGNoYW5nZXMgaXRzIHZhbHVlLCB0aGVuIGNvbWJpbmUgZGF0ZSBhbmQgdGltZSBpbnRvIG9uZSBEYXRlIGFuZCBwYXNzIGl0cyBJU08gc3RyaW5nIHZhbHVlIHRvIG9uQ2hhbmdlIG1ldGhvZFxuICAgKiBAcGFyYW0gZGF0ZVRpbWVcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgc2V0RGF0ZXRpbWUoZGF0ZVRpbWU6IERhdGVBbmRUaW1lKSB7XG4gICAgLy8gaWYgZGF0ZSBpbnB1dCBpcyBjbGVhcmVkIGZyb20gYSBwcmV2aW91cyBjb3JyZWN0IHZhbHVlLCBjbGVhciBmb3JtIHZhbHVlOlxuICAgIGlmICh0aGlzLmlzSW5wdXRDbGVhcmVkKGRhdGVUaW1lKSkge1xuICAgICAgdGhpcy5mb3JtLmdldCgnZGF0ZScpLnNldFZhbHVlKHVuZGVmaW5lZCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgdGhpcy5mb3JtLmdldCgndGltZScpLnNldFZhbHVlKHVuZGVmaW5lZCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgdGhpcy5vbkNoYW5nZShudWxsKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBpZiBib3RoIGRhdGUgYW5kIHRpbWUgaXMgaW52YWxpZCwgZG8gc2V0IGZvcm0gdmFsdWUgdG8gbnVsbCBhbmQgc3RvcDpcbiAgICBpZiAoIXRoaXMudmVyaWZ5RGF0ZShkYXRlVGltZS5kYXRlKSAmJiAhdGhpcy52ZXJpZnlEYXRlKGRhdGVUaW1lLnRpbWUpKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlKG51bGwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBJZiBvbmx5IHRpbWUgaXMgcHJvdmlkZWQsIHNldCBEYXRlIHRvIHRvZGF5OlxuICAgIGlmICghdGhpcy52ZXJpZnlEYXRlKGRhdGVUaW1lLmRhdGUpICYmIHRoaXMudmVyaWZ5RGF0ZShkYXRlVGltZS50aW1lKSkge1xuICAgICAgZGF0ZVRpbWUuZGF0ZSA9IG5ldyBEYXRlKGRhdGVUaW1lLnRpbWUpO1xuICAgIH1cblxuICAgIC8vIElmIG9ubHkgZGF0ZSBpcyBwcm92aWRlZCwgc2V0IHRpbWUgdG8gMDA6MDA6XG4gICAgaWYgKHRoaXMudmVyaWZ5RGF0ZShkYXRlVGltZS5kYXRlKSAmJiAhdGhpcy52ZXJpZnlEYXRlKGRhdGVUaW1lLnRpbWUpKSB7XG4gICAgICBkYXRlVGltZS50aW1lID0gbmV3IERhdGUoXG4gICAgICAgIGRhdGVUaW1lLmRhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgZGF0ZVRpbWUuZGF0ZS5nZXRNb250aCgpLFxuICAgICAgICBkYXRlVGltZS5kYXRlLmdldERhdGUoKSxcbiAgICAgICAgMCxcbiAgICAgICAgMCxcbiAgICAgICAgMFxuICAgICAgKTtcbiAgICAgIHRoaXMuZm9ybS5nZXQoJ3RpbWUnKS5zZXRWYWx1ZShkYXRlVGltZS50aW1lLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfVxuXG4gICAgLy8gTWVyZ2UgZGF0ZSBhbmQgdGltZSwgYW5kIGVtaXQgYXMgbmV3IGZvcm0gdmFsdWU6XG4gICAgdGhpcy5kYXRlID0gbmV3IERhdGUoZGF0ZVRpbWUuZGF0ZSk7XG4gICAgdGhpcy5kYXRlLnNldEhvdXJzKGRhdGVUaW1lLnRpbWUuZ2V0SG91cnMoKSwgZGF0ZVRpbWUudGltZS5nZXRNaW51dGVzKCkpO1xuICAgIHRoaXMuZm9ybS5nZXQoJ2RhdGUnKS5zZXRWYWx1ZShkYXRlVGltZS5kYXRlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLmRhdGUudG9JU09TdHJpbmcoKSk7XG4gIH1cblxuICBwcml2YXRlIHZlcmlmeURhdGUodmFsdWU6IERhdGUpOiBib29sZWFuIHtcbiAgICBjb25zdCBkYXRlID0gdmFsdWU7XG4gICAgcmV0dXJuIGRhdGUgaW5zdGFuY2VvZiBEYXRlICYmICFpc05hTihkYXRlLmdldFRpbWUoKSk7XG4gIH1cblxuICBwcml2YXRlIGlzSW5wdXRDbGVhcmVkKHZhbHVlOiBEYXRlQW5kVGltZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnByZXZpb3VzVmFsdWU/LmRhdGUgJiYgdmFsdWUuZGF0ZSA9PT0gdW5kZWZpbmVkO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiZGF0ZXRpbWUtcGlja2VyXCJcbiAgW25nU3dpdGNoXT1cImRhdGVUeXBlXCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZC1jb250ZW50c1wiXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidEYXRlQW5kVGltZSdcIlxuICAgIFtjbG9zZURhdGVwaWNrZXJdPVwiZGF0ZXBpY2tlclwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBkYXRlcGlja2VyIHt7IHNpemUgPyAnZm9ybS1ncm91cC0nICsgc2l6ZSA6ICcnIH19XCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICBzdHlsZT1cIm1pbi13aWR0aDogMTIwcHhcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfHwgZGVmYXVsdFBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgYnNEYXRlcGlja2VyXG4gICAgICAgIFtvdXRzaWRlQ2xpY2tdPVwiZmFsc2VcIlxuICAgICAgICBbYnNDb25maWddPVwie1xuICAgICAgICAgIGN1c3RvbVRvZGF5Q2xhc3M6ICd0b2RheScsXG4gICAgICAgICAgZGF0ZUlucHV0Rm9ybWF0OiBkYXRlSW5wdXRGb3JtYXQsXG4gICAgICAgICAgYWRhcHRpdmVQb3NpdGlvbjogYWRhcHRpdmVQb3NpdGlvblxuICAgICAgICB9XCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm0uZ2V0KCdkYXRlJylcIlxuICAgICAgICAoYmx1cik9XCJvblRvdWNoZWQoKVwiXG4gICAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPHRpbWVwaWNrZXJcbiAgICAgIGNsYXNzPVwiZm9ybS1ncm91cCB7eyBzaXplID8gJ2Zvcm0tZ3JvdXAtJyArIHNpemUgOiAnJyB9fVwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybS5nZXQoJ3RpbWUnKVwiXG4gICAgICBbc2hvd1NlY29uZHNdPVwiY29uZmlnLnNob3dTZWNvbmRzXCJcbiAgICAgIFtzaG93U3Bpbm5lcnNdPVwiY29uZmlnLnNob3dTcGlubmVyc1wiXG4gICAgICBbc2hvd01lcmlkaWFuXT1cImNvbmZpZy5zaG93TWVyaWRpYW5cIlxuICAgICAgKHdoZWVsKT1cImhhbmRsZU1vdXNlV2hlZWwoJGV2ZW50KVwiXG4gICAgPjwvdGltZXBpY2tlcj5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZC1jb250ZW50c1wiXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidEYXRlJ1wiXG4gICAgW2Nsb3NlRGF0ZXBpY2tlcl09XCJkYXRlcGlja2VyXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGRhdGVwaWNrZXIge3sgc2l6ZSA/ICdmb3JtLWdyb3VwLScgKyBzaXplIDogJycgfX1cIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8fCBkZWZhdWx0UGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIlxuICAgICAgICBic0RhdGVwaWNrZXJcbiAgICAgICAgW291dHNpZGVDbGlja109XCJmYWxzZVwiXG4gICAgICAgIFtic0NvbmZpZ109XCJ7XG4gICAgICAgICAgY3VzdG9tVG9kYXlDbGFzczogJ3RvZGF5JyxcbiAgICAgICAgICBkYXRlSW5wdXRGb3JtYXQ6IGRhdGVJbnB1dEZvcm1hdCxcbiAgICAgICAgICBhZGFwdGl2ZVBvc2l0aW9uOiBhZGFwdGl2ZVBvc2l0aW9uXG4gICAgICAgIH1cIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybS5nZXQoJ2RhdGUnKVwiXG4gICAgICAgIChibHVyKT1cIm9uVG91Y2hlZCgpXCJcbiAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZC1jb250ZW50c1wiXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidEYXRlUmFuZ2UnXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGRhdGVwaWNrZXIge3sgc2l6ZSA/ICdmb3JtLWdyb3VwLScgKyBzaXplIDogJycgfX1cIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ1NlbGVjdCBhIGRhdGUgcmFuZ2UnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm0uZ2V0KCdkYXRlJylcIlxuICAgICAgICBbYnNDb25maWddPVwie1xuICAgICAgICAgIGN1c3RvbVRvZGF5Q2xhc3M6ICd0b2RheScsXG4gICAgICAgICAgYWRhcHRpdmVQb3NpdGlvbjogdHJ1ZSxcbiAgICAgICAgICByYW5nZUlucHV0Rm9ybWF0OiBkYXRlSW5wdXRGb3JtYXRcbiAgICAgICAgfVwiXG4gICAgICAgIGJzRGF0ZXJhbmdlcGlja2VyXG4gICAgICAvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2XG4gICAgY2xhc3M9XCJkLWNvbnRlbnRzXCJcbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ1RpbWUnXCJcbiAgPlxuICAgIDx0aW1lcGlja2VyXG4gICAgICBjbGFzcz1cImZvcm0tZ3JvdXAge3sgc2l6ZSA/ICdmb3JtLWdyb3VwLScgKyBzaXplIDogJycgfX1cIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm0uZ2V0KCd0aW1lJylcIlxuICAgICAgW3Nob3dTZWNvbmRzXT1cImNvbmZpZy5zaG93U2Vjb25kc1wiXG4gICAgICBbc2hvd1NwaW5uZXJzXT1cImNvbmZpZy5zaG93U3Bpbm5lcnNcIlxuICAgICAgW3Nob3dNZXJpZGlhbl09XCJjb25maWcuc2hvd01lcmlkaWFuXCJcbiAgICAgIFttaW51dGVzUGxhY2Vob2xkZXJdPVwiJ01NYE1JTlVURVNgJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbaG91cnNQbGFjZWhvbGRlcl09XCInSEhgSE9VUlNgJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbc2Vjb25kc1BsYWNlaG9sZGVyXT1cIidTU2BTRUNPTkRTYCcgfCB0cmFuc2xhdGVcIlxuICAgICAgKHdoZWVsKT1cImhhbmRsZU1vdXNlV2hlZWwoJGV2ZW50KVwiXG4gICAgPjwvdGltZXBpY2tlcj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ1NpbmdsZURhdGVSZXF1aXJlZCdcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCB7eyBzaXplID8gJ2Zvcm0tZ3JvdXAtJyArIHNpemUgOiAnJyB9fVwiPlxuICAgICAgPGM4eS1kYXRlLXBpY2tlciAob25EYXRlU2VsZWN0ZWQpPVwib25EYXRlU2VsZWN0ZWQuZW1pdCgkZXZlbnQpXCI+PC9jOHktZGF0ZS1waWNrZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
267
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxXQUFXLEVBQ1gsU0FBUyxFQUNULGFBQWEsRUFDYixpQkFBaUIsRUFHakIsV0FBVyxFQUNYLG1CQUFtQixFQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJGLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JB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SyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0Q7NEJBQ0UsT0FBTyxFQUFFLGFBQWE7NEJBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDOzRCQUN0RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixjQUNXLElBQUksV0FDUDt3QkFDUCxRQUFRO3dCQUNSLFlBQVk7d0JBQ1osd0JBQXdCO3dCQUN4QixrQkFBa0I7d0JBQ2xCLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3FCQUNqQjtzSEFRRyxRQUFRO3NCQURYLEtBQUs7dUJBQUMsU0FBUztnQkFRWixRQUFRO3NCQURYLEtBQUs7dUJBQUMsU0FBUztnQkFNaEIsV0FBVztzQkFEVixLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBZU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFRTixjQUFjO3NCQURiLE1BQU07Z0JBUTJCLFVBQVU7c0JBQTNDLFNBQVM7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgRm9ybUNvbnRyb2wsXG4gIEZvcm1Hcm91cCxcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcixcbiAgRm9ybXNNb2R1bGUsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGVcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZmlyc3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGdldHRleHQgfSBmcm9tICcuLi9pMThuJztcbmltcG9ydCB7IEJzRGF0ZXBpY2tlckRpcmVjdGl2ZSwgQnNEYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9kYXRlcGlja2VyJztcbmltcG9ydCB7IFBpY2tlZERhdGVzIH0gZnJvbSAnLi4vZGF0ZS1waWNrZXInO1xuaW1wb3J0IHsgTmdTd2l0Y2gsIE5nU3dpdGNoQ2FzZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDbG9zZURhdGVQaWNrZXJEaXJlY3RpdmUgfSBmcm9tICcuL2Nsb3NlLWRhdGUtcGlja2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUaW1lcGlja2VyTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC90aW1lcGlja2VyJztcbmltcG9ydCB7IERhdGVQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQzh5VHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uL2kxOG4vYzh5LXRyYW5zbGF0ZS5waXBlJztcbmltcG9ydCB7IERhdGVGb3JtYXRTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL2RhdGUtZm9ybWF0LnNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgRGF0ZUFuZFRpbWUge1xuICBkYXRlOiBEYXRlO1xuICB0aW1lOiBEYXRlO1xufVxuXG5pbnRlcmZhY2UgRGF0ZUFuZFRpbWVPcHRpb25zIHtcbiAgc2hvd1NwaW5uZXJzPzogYm9vbGVhbjtcbiAgc2hvd01lcmlkaWFuPzogYm9vbGVhbjtcbiAgc2hvd01pbnV0ZXM/OiBib29sZWFuO1xuICBzaG93U2Vjb25kcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIERhdGVUeXBlID0gJ0RhdGVBbmRUaW1lJyB8ICdEYXRlJyB8ICdEYXRlUmFuZ2UnIHwgJ1NpbmdsZURhdGVSZXF1aXJlZCcgfCAnVGltZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1kYXRlLXRpbWUtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVUaW1lUGlja2VyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ1N3aXRjaCxcbiAgICBOZ1N3aXRjaENhc2UsXG4gICAgQ2xvc2VEYXRlUGlja2VyRGlyZWN0aXZlLFxuICAgIEJzRGF0ZXBpY2tlck1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFRpbWVwaWNrZXJNb2R1bGUsXG4gICAgRGF0ZVBpY2tlckNvbXBvbmVudCxcbiAgICBDOHlUcmFuc2xhdGVQaXBlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVRpbWVQaWNrZXJDb21wb25lbnRcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yLCBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxue1xuICBtaW5EYXRlOiBEYXRlO1xuXG4gIEBJbnB1dCgnbWluRGF0ZScpXG4gIHNldCBfbWluRGF0ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5taW5EYXRlID0gdmFsdWUgPyBuZXcgRGF0ZSh2YWx1ZSkgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBtYXhEYXRlOiBEYXRlO1xuXG4gIEBJbnB1dCgnbWF4RGF0ZScpXG4gIHNldCBfbWF4RGF0ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5tYXhEYXRlID0gdmFsdWUgPyBuZXcgRGF0ZSh2YWx1ZSkgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGRhdGVJbnB1dEZvcm1hdDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGFkYXB0aXZlUG9zaXRpb24gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzaXplOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgdHlwZSBvZiBkYXRlIGlucHV0LlxuICAgKlxuICAgKiBAcGFyYW0gRGF0ZUFuZFRpbWUgLSBEaXNwbGF5IGJvdGggZGF0ZSBhbmQgdGltZS5cbiAgICogQHBhcmFtIERhdGUgLSBEaXNwbGF5IG9ubHkgdGhlIGRhdGUgd2l0aG91dCB0aGUgdGltZS5cbiAgICogQHBhcmFtIERhdGVSYW5nZSAtIFNwZWNpZnkgYSByYW5nZSBvZiBkYXRlcy5cbiAgICogQHBhcmFtIFNpbmdsZURhdGVSZXF1aXJlZCAtIFJlcXVpcmUgdGhlIHNlbGVjdGlvbiBvZiBhIHNpbmdsZSBkYXRlLlxuICAgKiBAcGFyYW0gVGltZSAtIERpc3BsYXkgb25seSB0aGUgdGltZSB3aXRob3V0IHRoZSBkYXRlLlxuICAgKlxuICAgKiBAZGVmYXVsdFZhbHVlICdEYXRlQW5kVGltZSdcbiAgICovXG4gIEBJbnB1dCgpXG4gIGRhdGVUeXBlOiBEYXRlVHlwZSA9ICdEYXRlQW5kVGltZSc7XG5cbiAgQElucHV0KClcbiAgY29uZmlnOiBEYXRlQW5kVGltZU9wdGlvbnMgPSB7XG4gICAgc2hvd01pbnV0ZXM6IHRydWUsXG4gICAgc2hvd1NlY29uZHM6IGZhbHNlLFxuICAgIHNob3dTcGlubmVyczogZmFsc2VcbiAgfTtcblxuICBAT3V0cHV0KClcbiAgb25EYXRlU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxQaWNrZWREYXRlcz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgZGF0ZTogRGF0ZTtcbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIGRlZmF1bHRQbGFjZWhvbGRlciA9IGdldHRleHQoJ1NlbGVjdCBhIGRhdGXigKYnKTtcblxuICBAVmlld0NoaWxkKEJzRGF0ZXBpY2tlckRpcmVjdGl2ZSkgZGF0ZXBpY2tlcjogQnNEYXRlcGlja2VyRGlyZWN0aXZlO1xuXG4gIHByaXZhdGUgcHJldmlvdXNWYWx1ZTogRGF0ZUFuZFRpbWU7XG4gIHByaXZhdGUgcHJldmlvdXNUaW1lUGlja2VyVmFsdWVzOiB7IGhvdXJzPzogbnVtYmVyOyBtaW51dGVzPzogbnVtYmVyIH0gPSB7fTtcbiAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBkYXRlRm9ybWF0U2VydmljZTogRGF0ZUZvcm1hdFNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ2RhdGUnLCBuZXcgRm9ybUNvbnRyb2wobnVsbCkpO1xuICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCd0aW1lJywgbmV3IEZvcm1Db250cm9sKG51bGwpKTtcbiAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHZhbHVlOiBEYXRlQW5kVGltZSkgPT4ge1xuICAgICAgdGhpcy5zZXREYXRldGltZSh2YWx1ZSk7XG4gICAgICB0aGlzLnByZXZpb3VzVmFsdWUgPSB2YWx1ZTtcbiAgICB9KTtcbiAgICB0aGlzLmZvcm0uc3RhdHVzQ2hhbmdlc1xuICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgfSk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIG9uQ2hhbmdlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCA9ICgpID0+IHt9O1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kYXRlSW5wdXRGb3JtYXQpIHtcbiAgICAgIHRoaXMuZGF0ZUlucHV0Rm9ybWF0ID0gdGhpcy5kYXRlRm9ybWF0U2VydmljZS5nZXREYXRlRm9ybWF0KCk7XG4gICAgfVxuICAgIGlmICghKCdzaG93TWVyaWRpYW4nIGluIHRoaXMuY29uZmlnKSkge1xuICAgICAgdGhpcy5jb25maWcuc2hvd01lcmlkaWFuID0gdGhpcy5kYXRlRm9ybWF0U2VydmljZS5zaG91bGRVc2VNZXJpZGlhbkZvcm1hdCgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb250cm9sIFZhbHVlIEFjY2Vzc29yIC0gSWYgZm9ybSB2YWx1ZSBjaGFuZ2VzIGJ5IGV4dGVybmFsIGZhY3RvciwgdXBkYXRlIGRhdGUgcHJvcGVydHkgYW5kIGludGVybmFsIGZvcm0gd2l0aCBuZXcgdmFsdWUuXG4gICAqL1xuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiB2YWx1ZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZGF0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICAgIHRoaXMuZm9ybS5zZXRWYWx1ZShcbiAgICAgICAge1xuICAgICAgICAgIGRhdGU6IG5ldyBEYXRlKHZhbHVlKSxcbiAgICAgICAgICB0aW1lOiB0aGlzLmRhdGVcbiAgICAgICAgfSxcbiAgICAgICAgeyBlbWl0RXZlbnQ6IGZhbHNlIH1cbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybS5zZXRWYWx1ZSh7IGRhdGU6IG51bGwsIHRpbWU6IG51bGwgfSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIH1cbiAgICB0aGlzLnByZXZpb3VzVmFsdWUgPSB0aGlzLmZvcm0udmFsdWU7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6IGFueSkge1xuICAgIHRoaXMub25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShkaXNhYmxlZDogYm9vbGVhbikge1xuICAgIGlmIChkaXNhYmxlZCA9PT0gdGhpcy5mb3JtPy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBkaXNhYmxlZCA/IHRoaXMuZm9ybS5kaXNhYmxlKCkgOiB0aGlzLmZvcm0uZW5hYmxlKCk7XG4gIH1cblxuICB2YWxpZGF0ZShfY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmICh0aGlzLmRhdGU/LmdldFRpbWUoKSA8IG5ldyBEYXRlKHRoaXMubWluRGF0ZSkuZ2V0VGltZSgpKSB7XG4gICAgICByZXR1cm4geyBkYXRlQmVmb3JlUmFuZ2VNaW46IHRydWUgfTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGF0ZT8uZ2V0VGltZSgpID4gbmV3IERhdGUodGhpcy5tYXhEYXRlKS5nZXRUaW1lKCkpIHtcbiAgICAgIHJldHVybiB7IGRhdGVBZnRlclJhbmdlTWF4OiB0cnVlIH07XG4gICAgfSBlbHNlIGlmICh0aGlzLmZvcm0uaW52YWxpZCkge1xuICAgICAgcmV0dXJuIHsgaW52YWxpZERhdGVUaW1lOiB0cnVlIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByZXZpb3VzRGF5KCkge1xuICAgIGNvbnN0IGlzT3BlbiA9IHRoaXMuZGF0ZXBpY2tlci5pc09wZW47XG4gICAgdGhpcy5kYXRlLnNldERhdGUodGhpcy5kYXRlLmdldERhdGUoKSAtIDEpO1xuICAgIHRoaXMuc2V0RGF0ZXRpbWUoeyBkYXRlOiB0aGlzLmRhdGUsIHRpbWU6IHRoaXMuZm9ybS5nZXQoJ3RpbWUnKS52YWx1ZSB9KTtcbiAgICBpZiAoaXNPcGVuKSB7XG4gICAgICB0aGlzLmRhdGVwaWNrZXIuc2hvdygpO1xuICAgIH1cbiAgfVxuXG4gIG5leHREYXkoKSB7XG4gICAgY29uc3QgaXNPcGVuID0gdGhpcy5kYXRlcGlja2VyLmlzT3BlbjtcbiAgICB0aGlzLmRhdGUuc2V0RGF0ZSh0aGlzLmRhdGUuZ2V0RGF0ZSgpICsgMSk7XG4gICAgdGhpcy5zZXREYXRldGltZSh7IGRhdGU6IHRoaXMuZGF0ZSwgdGltZTogdGhpcy5mb3JtLmdldCgndGltZScpLnZhbHVlIH0pO1xuICAgIGlmIChpc09wZW4pIHtcbiAgICAgIHRoaXMuZGF0ZXBpY2tlci5zaG93KCk7XG4gICAgfVxuICB9XG5cbiAgaGlkZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGVwaWNrZXIuaGlkZSgpO1xuICB9XG5cbiAgaGFuZGxlTW91c2VXaGVlbChldmVudDogV2hlZWxFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGhvdXJzID0gdGhpcy5mb3JtLmdldCgndGltZScpLnZhbHVlLmdldEhvdXJzKCk7XG4gICAgY29uc3QgbWludXRlcyA9IHRoaXMuZm9ybS5nZXQoJ3RpbWUnKS52YWx1ZS5nZXRNaW51dGVzKCk7XG4gICAgLy8gZG93blxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKGV2ZW50LmRlbHRhWSA+IDApIHtcbiAgICAgIGlmIChOdW1iZXIoaG91cnMpID09PSAyMyAmJiB0aGlzLnByZXZpb3VzVGltZVBpY2tlclZhbHVlcy5ob3VycyAhPT0gMjMpIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c0RheSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHVwXG4gICAgaWYgKGV2ZW50LmRlbHRhWSA8IDApIHtcbiAgICAgIGlmICh0aGlzLnByZXZpb3VzVGltZVBpY2tlclZhbHVlcy5ob3VycyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIC8vIHNjcm9sbGluZyB1cCBvbiBlbXB0eSBmb3JtIHNob3VsZCBub3QgcmVzdWx0IGluIGluY3JlYXNpbmcgZGF5LlxuICAgICAgfSBlbHNlIGlmIChOdW1iZXIoaG91cnMpID09PSAwICYmIHRoaXMucHJldmlvdXNUaW1lUGlja2VyVmFsdWVzLmhvdXJzICE9PSAwKSB7XG4gICAgICAgIHRoaXMubmV4dERheSgpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnByZXZpb3VzVGltZVBpY2tlclZhbHVlcyA9IHsgaG91cnMsIG1pbnV0ZXMgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiBpbnRlcm5hbCBmb3JtIGNoYW5nZXMgaXRzIHZhbHVlLCB0aGVuIGNvbWJpbmUgZGF0ZSBhbmQgdGltZSBpbnRvIG9uZSBEYXRlIGFuZCBwYXNzIGl0cyBJU08gc3RyaW5nIHZhbHVlIHRvIG9uQ2hhbmdlIG1ldGhvZFxuICAgKiBAcGFyYW0gZGF0ZVRpbWVcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgc2V0RGF0ZXRpbWUoZGF0ZVRpbWU6IERhdGVBbmRUaW1lKSB7XG4gICAgLy8gaWYgZGF0ZSBpbnB1dCBpcyBjbGVhcmVkIGZyb20gYSBwcmV2aW91cyBjb3JyZWN0IHZhbHVlLCBjbGVhciBmb3JtIHZhbHVlOlxuICAgIGlmICh0aGlzLmlzSW5wdXRDbGVhcmVkKGRhdGVUaW1lKSkge1xuICAgICAgdGhpcy5mb3JtLmdldCgnZGF0ZScpLnNldFZhbHVlKHVuZGVmaW5lZCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgdGhpcy5mb3JtLmdldCgndGltZScpLnNldFZhbHVlKHVuZGVmaW5lZCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgdGhpcy5vbkNoYW5nZShudWxsKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBpZiBib3RoIGRhdGUgYW5kIHRpbWUgaXMgaW52YWxpZCwgZG8gc2V0IGZvcm0gdmFsdWUgdG8gbnVsbCBhbmQgc3RvcDpcbiAgICBpZiAoIXRoaXMudmVyaWZ5RGF0ZShkYXRlVGltZS5kYXRlKSAmJiAhdGhpcy52ZXJpZnlEYXRlKGRhdGVUaW1lLnRpbWUpKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlKG51bGwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBJZiBvbmx5IHRpbWUgaXMgcHJvdmlkZWQsIHNldCBEYXRlIHRvIHRvZGF5OlxuICAgIGlmICghdGhpcy52ZXJpZnlEYXRlKGRhdGVUaW1lLmRhdGUpICYmIHRoaXMudmVyaWZ5RGF0ZShkYXRlVGltZS50aW1lKSkge1xuICAgICAgZGF0ZVRpbWUuZGF0ZSA9IG5ldyBEYXRlKGRhdGVUaW1lLnRpbWUpO1xuICAgIH1cblxuICAgIC8vIElmIG9ubHkgZGF0ZSBpcyBwcm92aWRlZCwgc2V0IHRpbWUgdG8gMDA6MDA6XG4gICAgaWYgKHRoaXMudmVyaWZ5RGF0ZShkYXRlVGltZS5kYXRlKSAmJiAhdGhpcy52ZXJpZnlEYXRlKGRhdGVUaW1lLnRpbWUpKSB7XG4gICAgICBkYXRlVGltZS50aW1lID0gbmV3IERhdGUoXG4gICAgICAgIGRhdGVUaW1lLmRhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgZGF0ZVRpbWUuZGF0ZS5nZXRNb250aCgpLFxuICAgICAgICBkYXRlVGltZS5kYXRlLmdldERhdGUoKSxcbiAgICAgICAgMCxcbiAgICAgICAgMCxcbiAgICAgICAgMFxuICAgICAgKTtcbiAgICAgIHRoaXMuZm9ybS5nZXQoJ3RpbWUnKS5zZXRWYWx1ZShkYXRlVGltZS50aW1lLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfVxuXG4gICAgLy8gTWVyZ2UgZGF0ZSBhbmQgdGltZSwgYW5kIGVtaXQgYXMgbmV3IGZvcm0gdmFsdWU6XG4gICAgdGhpcy5kYXRlID0gbmV3IERhdGUoZGF0ZVRpbWUuZGF0ZSk7XG4gICAgdGhpcy5kYXRlLnNldEhvdXJzKGRhdGVUaW1lLnRpbWUuZ2V0SG91cnMoKSwgZGF0ZVRpbWUudGltZS5nZXRNaW51dGVzKCkpO1xuICAgIHRoaXMuZm9ybS5nZXQoJ2RhdGUnKS5zZXRWYWx1ZShkYXRlVGltZS5kYXRlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLmRhdGUudG9JU09TdHJpbmcoKSk7XG4gIH1cblxuICBwcml2YXRlIHZlcmlmeURhdGUodmFsdWU6IERhdGUpOiBib29sZWFuIHtcbiAgICBjb25zdCBkYXRlID0gdmFsdWU7XG4gICAgcmV0dXJuIGRhdGUgaW5zdGFuY2VvZiBEYXRlICYmICFpc05hTihkYXRlLmdldFRpbWUoKSk7XG4gIH1cblxuICBwcml2YXRlIGlzSW5wdXRDbGVhcmVkKHZhbHVlOiBEYXRlQW5kVGltZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnByZXZpb3VzVmFsdWU/LmRhdGUgJiYgdmFsdWUuZGF0ZSA9PT0gdW5kZWZpbmVkO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiZGF0ZXRpbWUtcGlja2VyXCJcbiAgW25nU3dpdGNoXT1cImRhdGVUeXBlXCJcbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZC1jb250ZW50c1wiXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidEYXRlQW5kVGltZSdcIlxuICAgIFtjbG9zZURhdGVwaWNrZXJdPVwiZGF0ZXBpY2tlclwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBkYXRlcGlja2VyIHt7IHNpemUgPyAnZm9ybS1ncm91cC0nICsgc2l6ZSA6ICcnIH19XCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICBkYXRhLWN5PVwiYm9vdHN0cmFwLWRhdGUtaW5wdXRcIlxuICAgICAgICBzdHlsZT1cIm1pbi13aWR0aDogMTIwcHhcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfHwgZGVmYXVsdFBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgYnNEYXRlcGlja2VyXG4gICAgICAgIFtvdXRzaWRlQ2xpY2tdPVwiZmFsc2VcIlxuICAgICAgICBbYnNDb25maWddPVwie1xuICAgICAgICAgIGN1c3RvbVRvZGF5Q2xhc3M6ICd0b2RheScsXG4gICAgICAgICAgZGF0ZUlucHV0Rm9ybWF0OiBkYXRlSW5wdXRGb3JtYXQsXG4gICAgICAgICAgYWRhcHRpdmVQb3NpdGlvbjogYWRhcHRpdmVQb3NpdGlvblxuICAgICAgICB9XCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm0uZ2V0KCdkYXRlJylcIlxuICAgICAgICAoYmx1cik9XCJvblRvdWNoZWQoKVwiXG4gICAgICAgIFttaW5EYXRlXT1cIm1pbkRhdGVcIlxuICAgICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICAgPHRpbWVwaWNrZXJcbiAgICAgIGNsYXNzPVwiZm9ybS1ncm91cCB7eyBzaXplID8gJ2Zvcm0tZ3JvdXAtJyArIHNpemUgOiAnJyB9fVwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybS5nZXQoJ3RpbWUnKVwiXG4gICAgICBbc2hvd1NlY29uZHNdPVwiY29uZmlnLnNob3dTZWNvbmRzXCJcbiAgICAgIFtzaG93U3Bpbm5lcnNdPVwiY29uZmlnLnNob3dTcGlubmVyc1wiXG4gICAgICBbc2hvd01lcmlkaWFuXT1cImNvbmZpZy5zaG93TWVyaWRpYW5cIlxuICAgICAgKHdoZWVsKT1cImhhbmRsZU1vdXNlV2hlZWwoJGV2ZW50KVwiXG4gICAgPjwvdGltZXBpY2tlcj5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZC1jb250ZW50c1wiXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidEYXRlJ1wiXG4gICAgW2Nsb3NlRGF0ZXBpY2tlcl09XCJkYXRlcGlja2VyXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGRhdGVwaWNrZXIge3sgc2l6ZSA/ICdmb3JtLWdyb3VwLScgKyBzaXplIDogJycgfX1cIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8fCBkZWZhdWx0UGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIlxuICAgICAgICBic0RhdGVwaWNrZXJcbiAgICAgICAgW291dHNpZGVDbGlja109XCJmYWxzZVwiXG4gICAgICAgIFtic0NvbmZpZ109XCJ7XG4gICAgICAgICAgY3VzdG9tVG9kYXlDbGFzczogJ3RvZGF5JyxcbiAgICAgICAgICBkYXRlSW5wdXRGb3JtYXQ6IGRhdGVJbnB1dEZvcm1hdCxcbiAgICAgICAgICBhZGFwdGl2ZVBvc2l0aW9uOiBhZGFwdGl2ZVBvc2l0aW9uXG4gICAgICAgIH1cIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybS5nZXQoJ2RhdGUnKVwiXG4gICAgICAgIChibHVyKT1cIm9uVG91Y2hlZCgpXCJcbiAgICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZC1jb250ZW50c1wiXG4gICAgKm5nU3dpdGNoQ2FzZT1cIidEYXRlUmFuZ2UnXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGRhdGVwaWNrZXIge3sgc2l6ZSA/ICdmb3JtLWdyb3VwLScgKyBzaXplIDogJycgfX1cIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ1NlbGVjdCBhIGRhdGUgcmFuZ2UnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm0uZ2V0KCdkYXRlJylcIlxuICAgICAgICBbYnNDb25maWddPVwie1xuICAgICAgICAgIGN1c3RvbVRvZGF5Q2xhc3M6ICd0b2RheScsXG4gICAgICAgICAgYWRhcHRpdmVQb3NpdGlvbjogdHJ1ZSxcbiAgICAgICAgICByYW5nZUlucHV0Rm9ybWF0OiBkYXRlSW5wdXRGb3JtYXRcbiAgICAgICAgfVwiXG4gICAgICAgIGJzRGF0ZXJhbmdlcGlja2VyXG4gICAgICAvPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8ZGl2XG4gICAgY2xhc3M9XCJkLWNvbnRlbnRzXCJcbiAgICAqbmdTd2l0Y2hDYXNlPVwiJ1RpbWUnXCJcbiAgPlxuICAgIDx0aW1lcGlja2VyXG4gICAgICBjbGFzcz1cImZvcm0tZ3JvdXAge3sgc2l6ZSA/ICdmb3JtLWdyb3VwLScgKyBzaXplIDogJycgfX1cIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm0uZ2V0KCd0aW1lJylcIlxuICAgICAgW3Nob3dTZWNvbmRzXT1cImNvbmZpZy5zaG93U2Vjb25kc1wiXG4gICAgICBbc2hvd1NwaW5uZXJzXT1cImNvbmZpZy5zaG93U3Bpbm5lcnNcIlxuICAgICAgW3Nob3dNZXJpZGlhbl09XCJjb25maWcuc2hvd01lcmlkaWFuXCJcbiAgICAgIFttaW51dGVzUGxhY2Vob2xkZXJdPVwiJ01NYE1JTlVURVNgJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbaG91cnNQbGFjZWhvbGRlcl09XCInSEhgSE9VUlNgJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbc2Vjb25kc1BsYWNlaG9sZGVyXT1cIidTU2BTRUNPTkRTYCcgfCB0cmFuc2xhdGVcIlxuICAgICAgKHdoZWVsKT1cImhhbmRsZU1vdXNlV2hlZWwoJGV2ZW50KVwiXG4gICAgPjwvdGltZXBpY2tlcj5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ1NpbmdsZURhdGVSZXF1aXJlZCdcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCB7eyBzaXplID8gJ2Zvcm0tZ3JvdXAtJyArIHNpemUgOiAnJyB9fVwiPlxuICAgICAgPGM4eS1kYXRlLXBpY2tlciAob25EYXRlU2VsZWN0ZWQpPVwib25EYXRlU2VsZWN0ZWQuZW1pdCgkZXZlbnQpXCI+PC9jOHktZGF0ZS1waWNrZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, importProvidersFrom } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, importProvidersFrom, inject } from '@angular/core';
|
|
2
2
|
import { FieldType, FormlyModule } from '@ngx-formly/core';
|
|
3
|
+
import { DateFormatService } from '../../common/date-format.service';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "@angular/common";
|
|
5
6
|
import * as i2 from "ngx-bootstrap/popover";
|
|
@@ -18,11 +19,18 @@ export const fieldDateTypeConfig = () => importProvidersFrom(FormlyModule.forChi
|
|
|
18
19
|
]
|
|
19
20
|
}));
|
|
20
21
|
export class FieldDate extends FieldType {
|
|
22
|
+
constructor() {
|
|
23
|
+
super(...arguments);
|
|
24
|
+
this.dateFormatService = inject(DateFormatService);
|
|
25
|
+
}
|
|
26
|
+
ngOnInit() {
|
|
27
|
+
this.dateInputFormat = this.dateFormatService.getDateFormat();
|
|
28
|
+
}
|
|
21
29
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FieldDate, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FieldDate, selector: "c8y-field-date", usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\" [attr.aria-labelledby]=\"id + '-fieldset'\">\n <label id=\"{{ id + '-fieldset' }}\" *ngIf=\"to.label || to.description\">\n {{ to.label | humanize }}\n <button\n class=\"btn-help btn-help--sm\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"to.description\"\n placement=\"right\"\n triggers=\"focus\"\n *ngIf=\"to.description\"\n ></button>\n </label>\n <div class=\"form-group datepicker\">\n <input\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n class=\"form-control\"\n placeholder=\"Date\"\n [bsConfig]=\"{ customTodayClass: 'today', dateInputFormat:
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FieldDate, selector: "c8y-field-date", usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\" [attr.aria-labelledby]=\"id + '-fieldset'\">\n <label id=\"{{ id + '-fieldset' }}\" *ngIf=\"to.label || to.description\">\n {{ to.label | humanize }}\n <button\n class=\"btn-help btn-help--sm\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"to.description\"\n placement=\"right\"\n triggers=\"focus\"\n *ngIf=\"to.description\"\n ></button>\n </label>\n <div class=\"form-group datepicker\">\n <input\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n class=\"form-control\"\n placeholder=\"Date\"\n [bsConfig]=\"{ customTodayClass: 'today', dateInputFormat: dateInputFormat }\"\n [placeholder]=\"'Select a date\u2026' | translate\"\n placement=\"top\"\n bsDatepicker\n [required]=\"to.required\"\n />\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.PopoverDirective, selector: "[popover]", inputs: ["adaptivePosition", "boundariesElement", "popover", "popoverContext", "popoverTitle", "placement", "outsideClick", "triggers", "container", "containerClass", "isOpen", "delay"], outputs: ["onShown", "onHidden"], exportAs: ["bs-popover"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "directive", type: i5.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "directive", type: i6.BsDatepickerDirective, selector: "[bsDatepicker]", inputs: ["placement", "triggers", "outsideClick", "container", "outsideEsc", "isDisabled", "minDate", "maxDate", "minMode", "daysDisabled", "datesDisabled", "datesEnabled", "dateCustomClasses", "dateTooltipTexts", "isOpen", "bsValue", "bsConfig"], outputs: ["onShown", "onHidden", "bsValueChange"], exportAs: ["bsDatepicker"] }, { kind: "directive", type: i6.BsDatepickerInputDirective, selector: "input[bsDatepicker]" }, { kind: "pipe", type: i7.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i8.HumanizePipe, name: "humanize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23
31
|
}
|
|
24
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FieldDate, decorators: [{
|
|
25
33
|
type: Component,
|
|
26
|
-
args: [{ selector: 'c8y-field-date', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-group\" [attr.aria-labelledby]=\"id + '-fieldset'\">\n <label id=\"{{ id + '-fieldset' }}\" *ngIf=\"to.label || to.description\">\n {{ to.label | humanize }}\n <button\n class=\"btn-help btn-help--sm\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"to.description\"\n placement=\"right\"\n triggers=\"focus\"\n *ngIf=\"to.description\"\n ></button>\n </label>\n <div class=\"form-group datepicker\">\n <input\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n class=\"form-control\"\n placeholder=\"Date\"\n [bsConfig]=\"{ customTodayClass: 'today', dateInputFormat:
|
|
34
|
+
args: [{ selector: 'c8y-field-date', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-group\" [attr.aria-labelledby]=\"id + '-fieldset'\">\n <label id=\"{{ id + '-fieldset' }}\" *ngIf=\"to.label || to.description\">\n {{ to.label | humanize }}\n <button\n class=\"btn-help btn-help--sm\"\n type=\"button\"\n [attr.aria-label]=\"'Help' | translate\"\n [popover]=\"to.description\"\n placement=\"right\"\n triggers=\"focus\"\n *ngIf=\"to.description\"\n ></button>\n </label>\n <div class=\"form-group datepicker\">\n <input\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n class=\"form-control\"\n placeholder=\"Date\"\n [bsConfig]=\"{ customTodayClass: 'today', dateInputFormat: dateInputFormat }\"\n [placeholder]=\"'Select a date\u2026' | translate\"\n placement=\"top\"\n bsDatepicker\n [required]=\"to.required\"\n />\n </div>\n</div>\n" }]
|
|
27
35
|
}] });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS50eXBlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NvcmUvZHluYW1pYy1mb3Jtcy9kYXRlL2RhdGUudHlwZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9jb3JlL2R5bmFtaWMtZm9ybXMvZGF0ZS9kYXRlLnR5cGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsbUJBQW1CLEVBQ25CLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7O0FBRXJFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEdBQXlCLEVBQUUsQ0FDNUQsbUJBQW1CLENBQ2pCLFlBQVksQ0FBQyxRQUFRLENBQUM7SUFDcEIsS0FBSyxFQUFFO1FBQ0w7WUFDRSxJQUFJLEVBQUUsTUFBTTtZQUNaLFNBQVMsRUFBRSxTQUFTO1NBQ3JCO0tBQ0Y7Q0FDRixDQUFDLENBQ0gsQ0FBQztBQU9KLE1BQU0sT0FBTyxTQUFVLFNBQVEsU0FBUztJQUx4Qzs7UUFPVSxzQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztLQUt2RDtJQUhDLFFBQVE7UUFDTixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNoRSxDQUFDOytHQU5VLFNBQVM7bUdBQVQsU0FBUyw2RUMzQnRCLHkzQkEyQkE7OzRGREFhLFNBQVM7a0JBTHJCLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUVULHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbnZpcm9ubWVudFByb3ZpZGVycyxcbiAgaW1wb3J0UHJvdmlkZXJzRnJvbSxcbiAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGRUeXBlLCBGb3JtbHlNb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IERhdGVGb3JtYXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL2RhdGUtZm9ybWF0LnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgZmllbGREYXRlVHlwZUNvbmZpZyA9ICgpOiBFbnZpcm9ubWVudFByb3ZpZGVycyA9PlxuICBpbXBvcnRQcm92aWRlcnNGcm9tKFxuICAgIEZvcm1seU1vZHVsZS5mb3JDaGlsZCh7XG4gICAgICB0eXBlczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2RhdGUnLFxuICAgICAgICAgIGNvbXBvbmVudDogRmllbGREYXRlXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9KVxuICApO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktZmllbGQtZGF0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLnR5cGUuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZERhdGUgZXh0ZW5kcyBGaWVsZFR5cGUge1xuICBkYXRlSW5wdXRGb3JtYXQ6IHN0cmluZztcbiAgcHJpdmF0ZSBkYXRlRm9ybWF0U2VydmljZSA9IGluamVjdChEYXRlRm9ybWF0U2VydmljZSk7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlSW5wdXRGb3JtYXQgPSB0aGlzLmRhdGVGb3JtYXRTZXJ2aWNlLmdldERhdGVGb3JtYXQoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaWQgKyAnLWZpZWxkc2V0J1wiPlxuICA8bGFiZWwgaWQ9XCJ7eyBpZCArICctZmllbGRzZXQnIH19XCIgKm5nSWY9XCJ0by5sYWJlbCB8fCB0by5kZXNjcmlwdGlvblwiPlxuICAgIHt7IHRvLmxhYmVsIHwgaHVtYW5pemUgfX1cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImJ0bi1oZWxwIGJ0bi1oZWxwLS1zbVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0hlbHAnIHwgdHJhbnNsYXRlXCJcbiAgICAgIFtwb3BvdmVyXT1cInRvLmRlc2NyaXB0aW9uXCJcbiAgICAgIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgICAgIHRyaWdnZXJzPVwiZm9jdXNcIlxuICAgICAgKm5nSWY9XCJ0by5kZXNjcmlwdGlvblwiXG4gICAgPjwvYnV0dG9uPlxuICA8L2xhYmVsPlxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBkYXRlcGlja2VyXCI+XG4gICAgPGlucHV0XG4gICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgcGxhY2Vob2xkZXI9XCJEYXRlXCJcbiAgICAgIFtic0NvbmZpZ109XCJ7IGN1c3RvbVRvZGF5Q2xhc3M6ICd0b2RheScsIGRhdGVJbnB1dEZvcm1hdDogZGF0ZUlucHV0Rm9ybWF0IH1cIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cIidTZWxlY3QgYSBkYXRl4oCmJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBwbGFjZW1lbnQ9XCJ0b3BcIlxuICAgICAgYnNEYXRlcGlja2VyXG4gICAgICBbcmVxdWlyZWRdPVwidG8ucmVxdWlyZWRcIlxuICAgIC8+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -29,4 +29,4 @@ export var PackageType;
|
|
|
29
29
|
*/
|
|
30
30
|
PackageType["ARCHIVED"] = "ARCHIVED";
|
|
31
31
|
})(PackageType || (PackageType = {}));
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvcGx1Z2lucy9wbHVnaW5zLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sQ0FBTixJQUFZLHVCQU1YO0FBTkQsV0FBWSx1QkFBdUI7SUFDakMsZ0RBQXFCLENBQUE7SUFDckIsNENBQWlCLENBQUE7SUFDakIsZ0RBQXFCLENBQUE7SUFDckIsOENBQW1CLENBQUE7SUFDbkIsd0NBQWEsQ0FBQTtBQUNmLENBQUMsRUFOVyx1QkFBdUIsS0FBdkIsdUJBQXVCLFFBTWxDO0FBRUQsTUFBTSxDQUFOLElBQVksV0FxQlg7QUFyQkQsV0FBWSxXQUFXO0lBQ3JCOztPQUVHO0lBQ0gsb0NBQXFCLENBQUE7SUFDckI7O09BRUc7SUFDSCxzQ0FBdUIsQ0FBQTtJQUN2Qjs7T0FFRztJQUNILGtDQUFtQixDQUFBO0lBQ25COztPQUVHO0lBQ0gsZ0NBQWlCLENBQUE7SUFDakI7O09BRUc7SUFDSCxvQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBckJXLFdBQVcsS0FBWCxXQUFXLFFBcUJ0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucywgSUFwcGxpY2F0aW9uLCBWZXJzaW9uaW5nTWF0cml4IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHR5cGUgeyBQbHVnaW5zRXhwb3J0U2NvcGVzIH0gZnJvbSAnLi4vY29tbW9uL0FwcGxpY2F0aW9uT3B0aW9ucyc7XG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbnNDb25maWcge1xuICByZW1vdGVzOiBBcHBsaWNhdGlvblJlbW90ZVBsdWdpbnM7XG4gIGV4Y2x1ZGVkUmVtb3Rlcz86IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucztcbn1cblxuZXhwb3J0IGVudW0gQXBwbGljYXRpb25QbHVnaW5TdGF0dXMge1xuICBPUlBIQU5FRCA9ICdPUlBIQU5FRCcsXG4gIExBVEVTVCA9ICdMQVRFU1QnLFxuICBPVVREQVRFRCA9ICdPVVREQVRFRCcsXG4gIFJFVk9LRUQgPSAnUkVWT0tFRCcsXG4gIEFVVE8gPSAnQVVUTydcbn1cblxuZXhwb3J0IGVudW0gUGFja2FnZVR5cGUge1xuICAvKipcbiAgICogQSBwYWNrYWdlIGNvbWluZyBmcm9tIHRoZSBvZmZpY2lhbCBTb2Z0d2FyZSBBRyBnaXRodWIgZW50ZXJwcmlzZS5cbiAgICovXG4gIE9GRklDSUFMID0gJ09GRklDSUFMJyxcbiAgLyoqXG4gICAqIEEgcGFja2FnZSBjb21pbmcgZnJvbSBhbnkgY29ubmVjdGVkIHBhcnRuZXIgcmVwb3NpdG9yeS5cbiAgICovXG4gIENPTU1VTklUWSA9ICdDT01NVU5JVFknLFxuICAvKipcbiAgICogQSBwYWNrYWdlIHdoZXJlIHRoZSBvcmlnaW4gaXMgdW5rbm93biAoZS5nLiB1cGxvYWRlZCB0byBtYW5hZ2VtZW50IHdpdGggYW4gdW5rbm93biBsYWJlbClcbiAgICovXG4gIFVOS05PV04gPSAnVU5LTk9XTicsXG4gIC8qKlxuICAgKiBBIGN1c3RvbSBwYWNrYWdlIGUuZy4gdXBsb2FkZWQgdG8gdGhlIHRlbmFudCBieSBhIHVzZXJcbiAgICovXG4gIENVU1RPTSA9ICdDVVNUT00nLFxuICAvKipcbiAgICogQSBwYWNrYWdlIHRoYXQgd2FzIGFyY2hpdmVkIGJ5IHRoZSB1c2VyXG4gICAqL1xuICBBUkNISVZFRCA9ICdBUkNISVZFRCdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcHBsaWNhdGlvblBsdWdpbiB7XG4gIGlkOiBzdHJpbmc7XG4gIGlkTGF0ZXN0OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIG1vZHVsZTogc3RyaW5nO1xuICBwYXRoOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICB2ZXJzaW9uPzogc3RyaW5nO1xuICBzY29wZT86IFBsdWdpbnNFeHBvcnRTY29wZXM7XG4gIGluc3RhbGxlZD86IGJvb2xlYW47XG4gIGNvbnRleHRQYXRoPzogc3RyaW5nO1xuICBzdGF0dXM/OiBBcHBsaWNhdGlvblBsdWdpblN0YXR1cztcbiAgdGFncz86IHN0cmluZ1tdO1xuICBsaWNlbnNlPzogc3RyaW5nO1xuICB0eXBlPzogUGFja2FnZVR5cGU7XG4gIHZlcnNpb25pbmdNYXRyaXg/
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvcGx1Z2lucy9wbHVnaW5zLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sQ0FBTixJQUFZLHVCQU1YO0FBTkQsV0FBWSx1QkFBdUI7SUFDakMsZ0RBQXFCLENBQUE7SUFDckIsNENBQWlCLENBQUE7SUFDakIsZ0RBQXFCLENBQUE7SUFDckIsOENBQW1CLENBQUE7SUFDbkIsd0NBQWEsQ0FBQTtBQUNmLENBQUMsRUFOVyx1QkFBdUIsS0FBdkIsdUJBQXVCLFFBTWxDO0FBRUQsTUFBTSxDQUFOLElBQVksV0FxQlg7QUFyQkQsV0FBWSxXQUFXO0lBQ3JCOztPQUVHO0lBQ0gsb0NBQXFCLENBQUE7SUFDckI7O09BRUc7SUFDSCxzQ0FBdUIsQ0FBQTtJQUN2Qjs7T0FFRztJQUNILGtDQUFtQixDQUFBO0lBQ25COztPQUVHO0lBQ0gsZ0NBQWlCLENBQUE7SUFDakI7O09BRUc7SUFDSCxvQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBckJXLFdBQVcsS0FBWCxXQUFXLFFBcUJ0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucywgSUFwcGxpY2F0aW9uLCBWZXJzaW9uaW5nTWF0cml4IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHR5cGUgeyBQbHVnaW5zRXhwb3J0U2NvcGVzIH0gZnJvbSAnLi4vY29tbW9uL0FwcGxpY2F0aW9uT3B0aW9ucyc7XG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbnNDb25maWcge1xuICByZW1vdGVzOiBBcHBsaWNhdGlvblJlbW90ZVBsdWdpbnM7XG4gIGV4Y2x1ZGVkUmVtb3Rlcz86IEFwcGxpY2F0aW9uUmVtb3RlUGx1Z2lucztcbn1cblxuZXhwb3J0IGVudW0gQXBwbGljYXRpb25QbHVnaW5TdGF0dXMge1xuICBPUlBIQU5FRCA9ICdPUlBIQU5FRCcsXG4gIExBVEVTVCA9ICdMQVRFU1QnLFxuICBPVVREQVRFRCA9ICdPVVREQVRFRCcsXG4gIFJFVk9LRUQgPSAnUkVWT0tFRCcsXG4gIEFVVE8gPSAnQVVUTydcbn1cblxuZXhwb3J0IGVudW0gUGFja2FnZVR5cGUge1xuICAvKipcbiAgICogQSBwYWNrYWdlIGNvbWluZyBmcm9tIHRoZSBvZmZpY2lhbCBTb2Z0d2FyZSBBRyBnaXRodWIgZW50ZXJwcmlzZS5cbiAgICovXG4gIE9GRklDSUFMID0gJ09GRklDSUFMJyxcbiAgLyoqXG4gICAqIEEgcGFja2FnZSBjb21pbmcgZnJvbSBhbnkgY29ubmVjdGVkIHBhcnRuZXIgcmVwb3NpdG9yeS5cbiAgICovXG4gIENPTU1VTklUWSA9ICdDT01NVU5JVFknLFxuICAvKipcbiAgICogQSBwYWNrYWdlIHdoZXJlIHRoZSBvcmlnaW4gaXMgdW5rbm93biAoZS5nLiB1cGxvYWRlZCB0byBtYW5hZ2VtZW50IHdpdGggYW4gdW5rbm93biBsYWJlbClcbiAgICovXG4gIFVOS05PV04gPSAnVU5LTk9XTicsXG4gIC8qKlxuICAgKiBBIGN1c3RvbSBwYWNrYWdlIGUuZy4gdXBsb2FkZWQgdG8gdGhlIHRlbmFudCBieSBhIHVzZXJcbiAgICovXG4gIENVU1RPTSA9ICdDVVNUT00nLFxuICAvKipcbiAgICogQSBwYWNrYWdlIHRoYXQgd2FzIGFyY2hpdmVkIGJ5IHRoZSB1c2VyXG4gICAqL1xuICBBUkNISVZFRCA9ICdBUkNISVZFRCdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcHBsaWNhdGlvblBsdWdpbiB7XG4gIGlkOiBzdHJpbmc7XG4gIGlkTGF0ZXN0OiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIG1vZHVsZTogc3RyaW5nO1xuICBwYXRoOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICB2ZXJzaW9uPzogc3RyaW5nO1xuICBzY29wZT86IFBsdWdpbnNFeHBvcnRTY29wZXM7XG4gIGluc3RhbGxlZD86IGJvb2xlYW47XG4gIGNvbnRleHRQYXRoPzogc3RyaW5nO1xuICBzdGF0dXM/OiBBcHBsaWNhdGlvblBsdWdpblN0YXR1cztcbiAgdGFncz86IHN0cmluZ1tdO1xuICBsaWNlbnNlPzogc3RyaW5nO1xuICB0eXBlPzogUGFja2FnZVR5cGU7XG4gIHZlcnNpb25pbmdNYXRyaXg/OiBWZXJzaW9uaW5nTWF0cml4O1xuICBzZWxlY3RlZD86IGJvb2xlYW47XG4gIG9yaWdpbkFwcD86IElBcHBsaWNhdGlvbjtcbiAgaW5zdGFsbGVkVmlhVGFnPzogc3RyaW5nIHwgZmFsc2U7XG4gIHJlYWRtZVBhdGg/OiBzdHJpbmc7XG59XG4iXX0=
|