@coreui/angular-pro 5.0.0-alpha.13 → 5.0.0-alpha.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/accordion/accordion/accordion.component.mjs +23 -17
- package/esm2022/lib/accordion/accordion-button/accordion-button.directive.mjs +3 -3
- package/esm2022/lib/accordion/accordion-item/accordion-item.component.mjs +3 -3
- package/esm2022/lib/accordion/accordion.module.mjs +4 -4
- package/esm2022/lib/accordion/accordion.service.mjs +4 -4
- package/esm2022/lib/alert/alert-heading.directive.mjs +3 -3
- package/esm2022/lib/alert/alert-link.directive.mjs +3 -3
- package/esm2022/lib/alert/alert.component.mjs +4 -4
- package/esm2022/lib/alert/alert.module.mjs +4 -4
- package/esm2022/lib/avatar/avatar.component.mjs +3 -3
- package/esm2022/lib/avatar/avatar.module.mjs +4 -4
- package/esm2022/lib/backdrop/backdrop.service.mjs +4 -4
- package/esm2022/lib/badge/badge.component.mjs +3 -3
- package/esm2022/lib/badge/badge.module.mjs +4 -4
- package/esm2022/lib/breadcrumb/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/lib/breadcrumb/breadcrumb-item/breadcrumb-item.component.mjs +4 -4
- package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.component.mjs +6 -6
- package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +4 -4
- package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +4 -4
- package/esm2022/lib/button/button-close.directive.mjs +3 -3
- package/esm2022/lib/button/button.directive.mjs +3 -3
- package/esm2022/lib/button/button.module.mjs +4 -4
- package/esm2022/lib/button-group/button-group/button-group.component.mjs +3 -3
- package/esm2022/lib/button-group/button-group.module.mjs +4 -4
- package/esm2022/lib/button-group/button-toolbar/button-toolbar.component.mjs +3 -3
- package/esm2022/lib/calendar/calendar/calendar-class-view.pipe.mjs +3 -3
- package/esm2022/lib/calendar/calendar/calendar.component.mjs +6 -6
- package/esm2022/lib/calendar/calendar-month/calendar-class-day.pipe.mjs +3 -3
- package/esm2022/lib/calendar/calendar-month/calendar-class-month.pipe.mjs +3 -3
- package/esm2022/lib/calendar/calendar-month/calendar-class-row.pipe.mjs +3 -3
- package/esm2022/lib/calendar/calendar-month/calendar-class-year.pipe.mjs +3 -3
- package/esm2022/lib/calendar/calendar-month/calendar-day-title.pipe.mjs +3 -3
- package/esm2022/lib/calendar/calendar-month/calendar-day.directive.mjs +4 -4
- package/esm2022/lib/calendar/calendar-month/calendar-day.pipe.mjs +3 -3
- package/esm2022/lib/calendar/calendar-month/calendar-month.component.mjs +6 -11
- package/esm2022/lib/calendar/calendar-month/calendar-row.directive.mjs +4 -4
- package/esm2022/lib/calendar/calendar-month/calendar-weekday.pipe.mjs +3 -3
- package/esm2022/lib/calendar/calendar-navigation/calendar-navigation.component.mjs +6 -6
- package/esm2022/lib/calendar/calendar.module.mjs +4 -4
- package/esm2022/lib/calendar/calendar.service.mjs +4 -4
- package/esm2022/lib/calendar/calendar.utils.mjs +1 -1
- package/esm2022/lib/callout/callout.component.mjs +3 -3
- package/esm2022/lib/callout/callout.module.mjs +4 -4
- package/esm2022/lib/card/card-body.component.mjs +3 -3
- package/esm2022/lib/card/card-footer.component.mjs +3 -3
- package/esm2022/lib/card/card-group.component.mjs +3 -3
- package/esm2022/lib/card/card-header-actions.component.mjs +3 -3
- package/esm2022/lib/card/card-header.component.mjs +3 -3
- package/esm2022/lib/card/card-img-overlay/card-img-overlay.component.mjs +3 -3
- package/esm2022/lib/card/card-img.directive.mjs +3 -3
- package/esm2022/lib/card/card-link.directive.mjs +3 -3
- package/esm2022/lib/card/card-subtitle.directive.mjs +3 -3
- package/esm2022/lib/card/card-text.directive.mjs +3 -3
- package/esm2022/lib/card/card-title.directive.mjs +3 -3
- package/esm2022/lib/card/card.component.mjs +3 -3
- package/esm2022/lib/card/card.module.mjs +4 -4
- package/esm2022/lib/carousel/carousel/carousel.component.mjs +4 -4
- package/esm2022/lib/carousel/carousel-caption/carousel-caption.component.mjs +3 -3
- package/esm2022/lib/carousel/carousel-control/carousel-control.component.mjs +4 -4
- package/esm2022/lib/carousel/carousel-indicators/carousel-indicators.component.mjs +5 -6
- package/esm2022/lib/carousel/carousel-inner/carousel-inner.component.mjs +4 -4
- package/esm2022/lib/carousel/carousel-item/carousel-item.component.mjs +4 -4
- package/esm2022/lib/carousel/carousel-state.mjs +4 -4
- package/esm2022/lib/carousel/carousel.config.mjs +3 -3
- package/esm2022/lib/carousel/carousel.module.mjs +4 -4
- package/esm2022/lib/carousel/carousel.service.mjs +3 -3
- package/esm2022/lib/collapse/collapse.directive.mjs +4 -4
- package/esm2022/lib/collapse/collapse.module.mjs +4 -4
- package/esm2022/lib/date-picker/date-picker.component.mjs +7 -9
- package/esm2022/lib/date-picker/date-picker.module.mjs +4 -4
- package/esm2022/lib/date-range-picker/date-range-picker/custom-range-key.pipe.mjs +3 -3
- package/esm2022/lib/date-range-picker/date-range-picker/date-range-picker.component.mjs +7 -9
- package/esm2022/lib/date-range-picker/date-range-picker.module.mjs +4 -4
- package/esm2022/lib/dropdown/dropdown/dropdown.component.mjs +7 -7
- package/esm2022/lib/dropdown/dropdown-close/dropdown-close.directive.mjs +4 -4
- package/esm2022/lib/dropdown/dropdown-divider/dropdown-divider.directive.mjs +3 -3
- package/esm2022/lib/dropdown/dropdown-header/dropdown-header.directive.mjs +3 -3
- package/esm2022/lib/dropdown/dropdown-item/dropdown-item-plain.directive.mjs +3 -3
- package/esm2022/lib/dropdown/dropdown-item/dropdown-item.directive.mjs +4 -4
- package/esm2022/lib/dropdown/dropdown-menu/dropdown-menu.directive.mjs +4 -4
- package/esm2022/lib/dropdown/dropdown.module.mjs +4 -4
- package/esm2022/lib/dropdown/dropdown.service.mjs +3 -3
- package/esm2022/lib/element-cover/element-cover.component.mjs +4 -4
- package/esm2022/lib/element-cover/element-cover.module.mjs +4 -4
- package/esm2022/lib/footer/footer.component.mjs +3 -3
- package/esm2022/lib/footer/footer.module.mjs +4 -4
- package/esm2022/lib/form/form/form.directive.mjs +3 -3
- package/esm2022/lib/form/form-check/form-check-input.directive.mjs +4 -4
- package/esm2022/lib/form/form-check/form-check-label.directive.mjs +3 -3
- package/esm2022/lib/form/form-check/form-check.component.mjs +3 -3
- package/esm2022/lib/form/form-control/form-control.directive.mjs +4 -4
- package/esm2022/lib/form/form-feedback/form-feedback.component.mjs +3 -3
- package/esm2022/lib/form/form-floating/form-floating.directive.mjs +3 -3
- package/esm2022/lib/form/form-label/form-label.directive.mjs +3 -3
- package/esm2022/lib/form/form-select/form-select.directive.mjs +3 -3
- package/esm2022/lib/form/form-text/form-text.directive.mjs +3 -3
- package/esm2022/lib/form/form.module.mjs +4 -4
- package/esm2022/lib/form/input-group/input-group.component.mjs +3 -3
- package/esm2022/lib/form/input-group-text/input-group-text.directive.mjs +3 -3
- package/esm2022/lib/grid/col.component.mjs +3 -3
- package/esm2022/lib/grid/col.directive.mjs +4 -4
- package/esm2022/lib/grid/container.component.mjs +3 -3
- package/esm2022/lib/grid/grid.module.mjs +4 -4
- package/esm2022/lib/grid/gutter.directive.mjs +4 -4
- package/esm2022/lib/grid/row.component.mjs +3 -3
- package/esm2022/lib/grid/row.directive.mjs +4 -4
- package/esm2022/lib/header/header/header.component.mjs +3 -3
- package/esm2022/lib/header/header-brand/header-brand.component.mjs +3 -3
- package/esm2022/lib/header/header-divider/header-divider.component.mjs +3 -3
- package/esm2022/lib/header/header-nav/header-nav.component.mjs +3 -3
- package/esm2022/lib/header/header-text/header-text.component.mjs +3 -3
- package/esm2022/lib/header/header-toggler/header-toggler.directive.mjs +4 -4
- package/esm2022/lib/header/header.module.mjs +4 -4
- package/esm2022/lib/image/img.directive.mjs +3 -3
- package/esm2022/lib/image/img.module.mjs +4 -4
- package/esm2022/lib/list-group/list-group-item.directive.mjs +3 -3
- package/esm2022/lib/list-group/list-group.directive.mjs +3 -3
- package/esm2022/lib/list-group/list-group.module.mjs +4 -4
- package/esm2022/lib/loading-button/loading-button.component.mjs +4 -4
- package/esm2022/lib/loading-button/loading-button.module.mjs +4 -4
- package/esm2022/lib/modal/modal/modal.component.mjs +4 -4
- package/esm2022/lib/modal/modal-body/modal-body.component.mjs +3 -3
- package/esm2022/lib/modal/modal-content/modal-content.component.mjs +3 -3
- package/esm2022/lib/modal/modal-dialog/modal-dialog.component.mjs +3 -3
- package/esm2022/lib/modal/modal-dismiss/modal-toggle.directive.mjs +3 -3
- package/esm2022/lib/modal/modal-footer/modal-footer.component.mjs +3 -3
- package/esm2022/lib/modal/modal-header/modal-header.component.mjs +3 -3
- package/esm2022/lib/modal/modal-title/modal-title.directive.mjs +3 -3
- package/esm2022/lib/modal/modal.module.mjs +4 -4
- package/esm2022/lib/modal/modal.service.mjs +3 -3
- package/esm2022/lib/multi-select/multi-select/multi-select-search.directive.mjs +4 -4
- package/esm2022/lib/multi-select/multi-select/multi-select.component.mjs +4 -4
- package/esm2022/lib/multi-select/multi-select-native-select/multi-select-native-select.component.mjs +3 -3
- package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup-label.component.mjs +3 -3
- package/esm2022/lib/multi-select/multi-select-optgroup/multi-select-optgroup.component.mjs +4 -4
- package/esm2022/lib/multi-select/multi-select-option/multi-select-option.component.mjs +4 -4
- package/esm2022/lib/multi-select/multi-select-tag/multi-select-tag.component.mjs +4 -4
- package/esm2022/lib/multi-select/multi-select.module.mjs +4 -4
- package/esm2022/lib/multi-select/multi-select.service.mjs +3 -3
- package/esm2022/lib/nav/nav-item.component.mjs +3 -3
- package/esm2022/lib/nav/nav-link.directive.mjs +3 -3
- package/esm2022/lib/nav/nav.component.mjs +3 -3
- package/esm2022/lib/nav/nav.module.mjs +4 -4
- package/esm2022/lib/navbar/navbar-brand/navbar-brand.directive.mjs +3 -3
- package/esm2022/lib/navbar/navbar-nav/navbar-nav.component.mjs +3 -3
- package/esm2022/lib/navbar/navbar-text/navbar-text.component.mjs +3 -3
- package/esm2022/lib/navbar/navbar-toggler/navbar-toggler.directive.mjs +4 -4
- package/esm2022/lib/navbar/navbar.component.mjs +4 -4
- package/esm2022/lib/navbar/navbar.module.mjs +4 -4
- package/esm2022/lib/offcanvas/offcanvas/offcanvas.component.mjs +4 -4
- package/esm2022/lib/offcanvas/offcanvas-body/offcanvas-body.component.mjs +3 -3
- package/esm2022/lib/offcanvas/offcanvas-header/offcanvas-header.component.mjs +3 -3
- package/esm2022/lib/offcanvas/offcanvas-title/offcanvas-title.directive.mjs +3 -3
- package/esm2022/lib/offcanvas/offcanvas-toggle/offcanvas-toggle.directive.mjs +3 -3
- package/esm2022/lib/offcanvas/offcanvas.module.mjs +4 -4
- package/esm2022/lib/offcanvas/offcanvas.service.mjs +3 -3
- package/esm2022/lib/pagination/page-item/page-item.component.mjs +3 -3
- package/esm2022/lib/pagination/page-item/page-item.directive.mjs +4 -4
- package/esm2022/lib/pagination/page-link/page-link.directive.mjs +3 -3
- package/esm2022/lib/pagination/pagination/pagination.component.mjs +3 -3
- package/esm2022/lib/pagination/pagination.module.mjs +4 -4
- package/esm2022/lib/placeholder/placeholder-animation.directive.mjs +3 -3
- package/esm2022/lib/placeholder/placeholder.directive.mjs +3 -3
- package/esm2022/lib/placeholder/placeholder.module.mjs +4 -4
- package/esm2022/lib/popover/popover/popover.component.mjs +4 -4
- package/esm2022/lib/popover/popover.directive.mjs +4 -4
- package/esm2022/lib/popover/popover.module.mjs +4 -4
- package/esm2022/lib/progress/progress-bar.component.mjs +3 -3
- package/esm2022/lib/progress/progress-bar.directive.mjs +4 -4
- package/esm2022/lib/progress/progress-stacked.component.mjs +3 -3
- package/esm2022/lib/progress/progress.component.mjs +4 -4
- package/esm2022/lib/progress/progress.module.mjs +4 -4
- package/esm2022/lib/services/class-toggle.service.mjs +4 -4
- package/esm2022/lib/services/color-mode.service.mjs +4 -4
- package/esm2022/lib/services/in-memory-storage.service.mjs +3 -3
- package/esm2022/lib/services/intersection.service.mjs +4 -4
- package/esm2022/lib/services/listeners.service.mjs +4 -4
- package/esm2022/lib/services/local-storage.service.mjs +3 -3
- package/esm2022/lib/shared/html-attr.directive.mjs +4 -4
- package/esm2022/lib/shared/shared.module.mjs +4 -4
- package/esm2022/lib/shared/template-id.directive.mjs +3 -3
- package/esm2022/lib/shared/theme.directive.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar/sidebar.component.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar-backdrop/sidebar-backdrop.service.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar-brand/sidebar-brand.component.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar-footer/sidebar-footer.component.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-header/sidebar-header.component.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-badge.pipe.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-divider.component.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-group.service.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-icon.pipe.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-item-class.pipe.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-label.component.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.component.mjs +7 -7
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.pipe.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-title.component.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +9 -13
- package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.service.mjs +7 -7
- package/esm2022/lib/sidebar/sidebar-toggle/sidebar-toggle.directive.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar-toggler/sidebar-toggler.directive.mjs +3 -3
- package/esm2022/lib/sidebar/sidebar.module.mjs +4 -4
- package/esm2022/lib/sidebar/sidebar.service.mjs +3 -3
- package/esm2022/lib/smart-pagination/smart-pagination.component.mjs +22 -26
- package/esm2022/lib/smart-pagination/smart-pagination.module.mjs +4 -4
- package/esm2022/lib/smart-table/smart-table/smart-table.component.mjs +4 -4
- package/esm2022/lib/smart-table/smart-table-column-filter/smart-table-column-filter.component.mjs +3 -3
- package/esm2022/lib/smart-table/smart-table-filter/filter-input.directive.mjs +4 -4
- package/esm2022/lib/smart-table/smart-table-filter/smart-table-filter.component.mjs +3 -3
- package/esm2022/lib/smart-table/smart-table-head/smart-table-column-label.pipe.mjs +3 -3
- package/esm2022/lib/smart-table/smart-table-head/smart-table-head.component.mjs +4 -4
- package/esm2022/lib/smart-table/smart-table-items-per-page-selector/smart-table-items-per-page-selector.component.mjs +4 -4
- package/esm2022/lib/smart-table/smart-table.module.mjs +4 -4
- package/esm2022/lib/smart-table/smart-table.utils.mjs +1 -1
- package/esm2022/lib/spinner/spinner.component.mjs +3 -3
- package/esm2022/lib/spinner/spinner.module.mjs +4 -4
- package/esm2022/lib/table/table-active.directive.mjs +3 -3
- package/esm2022/lib/table/table-color.directive.mjs +3 -3
- package/esm2022/lib/table/table.directive.mjs +4 -4
- package/esm2022/lib/table/table.module.mjs +4 -4
- package/esm2022/lib/tabs/tab-content/tab-content.component.mjs +4 -4
- package/esm2022/lib/tabs/tab-content-ref.directive.mjs +4 -4
- package/esm2022/lib/tabs/tab-pane/tab-pane.component.mjs +4 -4
- package/esm2022/lib/tabs/tab.service.mjs +3 -3
- package/esm2022/lib/tabs/tabs.module.mjs +4 -4
- package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.mjs +7 -7
- package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.mjs +7 -7
- package/esm2022/lib/time-picker/time-picker.component.mjs +4 -4
- package/esm2022/lib/time-picker/time-picker.module.mjs +4 -4
- package/esm2022/lib/time-picker/time.utils.mjs +1 -1
- package/esm2022/lib/toast/toast/toast.component.mjs +4 -4
- package/esm2022/lib/toast/toast-body/toast-body.component.mjs +3 -3
- package/esm2022/lib/toast/toast-close.directive.mjs +3 -3
- package/esm2022/lib/toast/toast-header/toast-header.component.mjs +3 -3
- package/esm2022/lib/toast/toast.module.mjs +4 -4
- package/esm2022/lib/toast/toaster/toaster-host.directive.mjs +3 -3
- package/esm2022/lib/toast/toaster/toaster.component.mjs +4 -4
- package/esm2022/lib/toast/toaster/toaster.service.mjs +3 -3
- package/esm2022/lib/tooltip/tooltip/tooltip.component.mjs +4 -4
- package/esm2022/lib/tooltip/tooltip.directive.mjs +4 -4
- package/esm2022/lib/tooltip/tooltip.module.mjs +4 -4
- package/esm2022/lib/utilities/align.directive.mjs +3 -3
- package/esm2022/lib/utilities/bg-color.directive.mjs +3 -3
- package/esm2022/lib/utilities/border.directive.mjs +4 -4
- package/esm2022/lib/utilities/rounded.directive.mjs +4 -4
- package/esm2022/lib/utilities/shadow-on-scroll.directive.mjs +4 -4
- package/esm2022/lib/utilities/text-color.directive.mjs +3 -3
- package/esm2022/lib/utilities/utilities.module.mjs +4 -4
- package/esm2022/lib/widget/widget-stat-a/widget-stat-a.component.mjs +3 -3
- package/esm2022/lib/widget/widget-stat-b/widget-stat-b.component.mjs +3 -3
- package/esm2022/lib/widget/widget-stat-c/widget-stat-c.component.mjs +3 -3
- package/esm2022/lib/widget/widget-stat-d/widget-stat-d.component.mjs +6 -6
- package/esm2022/lib/widget/widget-stat-e/widget-stat-e.component.mjs +3 -3
- package/esm2022/lib/widget/widget-stat-f/widget-stat-f.component.mjs +3 -3
- package/esm2022/lib/widget/widget.module.mjs +4 -4
- package/fesm2022/coreui-angular-pro.mjs +862 -870
- package/fesm2022/coreui-angular-pro.mjs.map +1 -1
- package/lib/accordion/accordion/accordion.component.d.ts +4 -6
- package/lib/smart-pagination/smart-pagination.component.d.ts +4 -8
- package/package.json +1 -1
|
@@ -429,8 +429,8 @@ export class TimePickerComponent {
|
|
|
429
429
|
}), takeUntilDestroyed(this.#destroyRef))
|
|
430
430
|
.subscribe();
|
|
431
431
|
}
|
|
432
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
433
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.
|
|
432
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
433
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.9", type: TimePickerComponent, isStandalone: true, selector: "c-time-picker", inputs: { cleaner: ["cleaner", "cleaner", booleanAttribute], dateTimeFormatOptions: "dateTimeFormatOptions", disabled: ["disabled", "disabled", booleanAttribute], filterHours: "filterHours", filterMinutes: "filterMinutes", filterSeconds: "filterSeconds", indicator: ["indicator", "indicator", booleanAttribute], inputReadOnly: ["inputReadOnly", "inputReadOnly", booleanAttribute], locale: "locale", placeholder: "placeholder", seconds: ["seconds", "seconds", booleanAttribute], size: "size", time: "time", variant: "variant", valid: "valid", visible: ["visible", "visible", booleanAttribute] }, outputs: { timeChange: "timeChange" }, host: { listeners: { "blur": "onBlur()" } }, providers: [
|
|
434
434
|
{
|
|
435
435
|
provide: NG_VALUE_ACCESSOR,
|
|
436
436
|
useExisting: forwardRef(() => TimePickerComponent),
|
|
@@ -438,7 +438,7 @@ export class TimePickerComponent {
|
|
|
438
438
|
}
|
|
439
439
|
], queries: [{ propertyName: "contentTemplates", predicate: TemplateIdDirective, descendants: true }], viewQueries: [{ propertyName: "dropdownRef", first: true, predicate: DropdownComponent, descendants: true, read: ElementRef }], exportAs: ["cTimePicker"], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"variant==='select'\" class=\"date-picker-timepickers\">\n <div class=\"picker time-picker\">\n <div [formGroup]=\"selectTime\" [ngClass]=\"timePickerClasses\" class=\"time-picker-body\">\n <span class=\"time-picker-inline-icon\"></span>\n <select (blur)=\"onBlur()\" [attr.disabled]=\"disabled || null\" [sizing]=\"size ?? ''\"\n cSelect class=\"time-picker-inline-select ms-0\" formControlName=\"selectHours\">\n <option *ngFor=\"let hour of listOfHours12; index as i; trackBy: trackByHour\" [attr.disabled]=\"hour.disabled || null\"\n [ngValue]=\"hour.value\">{{hour.label}}</option>\n </select>\n {{' :'}}<select (blur)=\"onBlur()\" [attr.disabled]=\"disabled || null\" [sizing]=\"size ?? ''\"\n cSelect class=\"time-picker-inline-select ms-0\" formControlName=\"selectMinutes\">\n <option *ngFor=\"let minute of listOfMinutes ; trackBy: trackByHour\" [attr.disabled]=\"minute.disabled || null\"\n [ngValue]=\"minute.value\">{{minute.label}}</option>\n </select>\n <ng-template [ngIf]=\"seconds\">\n {{' :'}}<select (blur)=\"onBlur()\" [attr.disabled]=\"disabled || null\" [sizing]=\"size ?? ''\"\n cSelect class=\"time-picker-inline-select ms-0\" formControlName=\"selectSeconds\">\n <option *ngFor=\"let second of listOfSeconds; trackBy: trackByHour\" [attr.disabled]=\"second.disabled || null\"\n [ngValue]=\"second.value\">{{second.label}}</option>\n </select>\n </ng-template>\n <ng-template [ngIf]=\"hour12\">\n <select (blur)=\"onBlur()\" [attr.disabled]=\"disabled || null\" [sizing]=\"size ?? ''\"\n cSelect class=\"time-picker-inline-select ms-0\" formControlName=\"selectDayPeriod\">\n <option *ngFor=\"let dayPeriod of dayPeriods\" [ngValue]=\"dayPeriod.value\"\n class=\"time-picker-roll-cell\">{{dayPeriod.label}}</option>\n </select>\n </ng-template>\n </div>\n </div>\n</div>\n\n<c-dropdown #dropdown=\"cDropdown\" *ngIf=\"variant==='roll'\" [autoClose]=\"'outside'\" [ngClass]=\"timePickerClasses\"\n [visible]=\"visible\">\n <div [caret]=\"false\" cDropdownToggle class=\"time-picker-input-group\">\n <input (blur)=\"handleBlur($event);\"\n (change)=\"handleTimeInputChange($event)\"\n (focus)=\"handleFocus($event)\"\n [attr.disabled]=\"disabled ?? dropdown.visible ? '' : null\"\n [attr.pattern]=\"hour12 ? '(((0[1-9])|(1[0-2])):([0-5])([0-9])\\\\s(A|P)M)' : '([01]?[0-9]|2[0-3]):[0-5][0-9]'\"\n [attr.tabindex]=\"disabled ? -1 : 0\"\n [formControl]=\"timeInput\"\n [placeholder]=\"placeholder\"\n [readonly]=\"inputReadOnly ?? null\"\n class=\"time-picker-input\"\n >\n <div *ngIf=\"indicator\" class=\"time-picker-indicator\"></div>\n <div (click)=\"!disabled && handleClear($event)\" *ngIf=\"cleaner && time && !disabled\" class=\"time-picker-cleaner\"\n role=\"button\"></div>\n\n </div>\n <div #dropdownMenu=\"cDropdownMenu\" cDropdownMenu class=\"time-picker-dropdown py-0\">\n <div class=\"time-picker-body time-picker-roll\" style=\"position: relative;\">\n <c-time-picker-roll-col\n (selectedChange)=\"handleSelectTimeChange($event, 'hour')\"\n [disabled]=\"disabled\"\n [elements]=\"listOfHours12\"\n [refresh]=\"dropdownMenu.visible\"\n [selected]=\"hour\"\n role=\"listbox\"\n >\n </c-time-picker-roll-col>\n <c-time-picker-roll-col\n (selectedChange)=\"handleSelectTimeChange($event, 'minute')\"\n [disabled]=\"disabled\"\n [elements]=\"listOfMinutes\"\n [refresh]=\"dropdownMenu.visible\"\n [selected]=\"minute\"\n role=\"listbox\"\n >\n </c-time-picker-roll-col>\n <c-time-picker-roll-col\n (selectedChange)=\"handleSelectTimeChange($event, 'second')\"\n *ngIf=\"seconds\"\n [disabled]=\"disabled\"\n [elements]=\"listOfSeconds\"\n [refresh]=\"dropdownMenu.visible\"\n [selected]=\"second\"\n role=\"listbox\"\n >\n </c-time-picker-roll-col>\n <c-time-picker-roll-am-pm\n (selectedChange)=\"handleSelectDayPeriodChange($event)\" *ngIf=\"hour12\"\n [disabled]=\"disabled\"\n [elements]=\"dayPeriods\"\n [refresh]=\"dropdownMenu.visible\"\n [selected]=\"dayPeriod\"\n role=\"listbox\"\n >\n </c-time-picker-roll-am-pm>\n </div>\n <div *ngIf=\"templates?.timePickerFooter\" class=\"time-picker-footer\">\n <ng-container *ngTemplateOutlet=\"templates?.timePickerFooter; context: {$implicit: dropdown}\"></ng-container>\n </div>\n </div>\n</c-dropdown>\n", styles: [".disabled{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.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: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: DropdownComponent, selector: "c-dropdown", inputs: ["alignment", "autoClose", "direction", "placement", "popper", "popperOptions", "variant", "visible"], outputs: ["visibleChange"], exportAs: ["cDropdown"] }, { kind: "directive", type: DropdownToggleDirective, selector: "[cDropdownToggle]", inputs: ["dropdownComponent", "disabled", "caret", "split"], exportAs: ["cDropdownToggle"] }, { kind: "directive", type: DropdownMenuDirective, selector: "[cDropdownMenu]", inputs: ["alignment", "visible"], exportAs: ["cDropdownMenu"] }, { kind: "directive", type: FormSelectDirective, selector: "select[cSelect]", inputs: ["sizing", "valid"] }, { kind: "component", type: TimePickerRollColComponent, selector: "c-time-picker-roll-col", inputs: ["disabled", "elements", "onClick", "selected", "refresh"], outputs: ["selectedChange"], exportAs: ["cTimePickerRollCol"] }, { kind: "component", type: TimePickerRollAmPmComponent, selector: "c-time-picker-roll-am-pm", inputs: ["disabled", "elements", "onClick", "selected", "refresh"], outputs: ["selectedChange"] }] }); }
|
|
440
440
|
}
|
|
441
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
441
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TimePickerComponent, decorators: [{
|
|
442
442
|
type: Component,
|
|
443
443
|
args: [{ selector: 'c-time-picker', exportAs: 'cTimePicker', standalone: true, imports: [
|
|
444
444
|
NgClass,
|
|
@@ -512,4 +512,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
512
512
|
type: ContentChildren,
|
|
513
513
|
args: [TemplateIdDirective, { descendants: true }]
|
|
514
514
|
}] } });
|
|
515
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxFQUdOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsV0FBVyxFQUNYLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLFVBQVUsRUFDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUNMLGVBQWUsRUFDZixlQUFlLEVBQ2YsaUJBQWlCLEVBR2pCLE9BQU8sRUFDUCxhQUFhLEVBQ2IsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLFdBQVcsRUFFWixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUscUJBQXFCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEcs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T0csYUFBYTtzQkFBckIsS0FBSztnQkFPa0MsU0FBUztzQkFBaEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFPRSxhQUFhO3NCQUFwRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQU83QixNQUFNO3NCQUFkLEtBQUs7Z0JBT0csV0FBVztzQkFBbkIsS0FBSztnQkFPa0MsT0FBTztzQkFBOUMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFPN0IsSUFBSTtzQkFBWixLQUFLO2dCQVFGLElBQUk7c0JBRFAsS0FBSztnQkE2QkcsT0FBTztzQkFBZixLQUFLO2dCQU9HLEtBQUs7c0JBQWIsS0FBSztnQkFPa0MsT0FBTztzQkFBOUMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFFNUIsVUFBVTtzQkFBbkIsTUFBTTtnQkFFZSxNQUFNO3NCQUEzQixZQUFZO3VCQUFDLE1BQU07Z0JBSWdDLFdBQVc7c0JBQTlELFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUlsRCxnQkFBZ0I7c0JBRGYsZUFBZTt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGVzdHJveVJlZixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIEZvcm1Db250cm9sLFxuICBGb3JtR3JvdXAsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICBWYWxpZGF0b3JzXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5nQ2xhc3MsIE5nRm9yT2YsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIGNvbnZlcnQxMmhUbzI0aCxcbiAgY29udmVydDI0aFRvMTJoLFxuICBjb252ZXJ0VGltZVRvRGF0ZSxcbiAgRGF0ZVRpbWVGb3JtYXRPcHRpb25zLFxuICBEYXlQZXJpb2QsXG4gIGdldEFtUG0sXG4gIGdldERheVBlcmlvZHMsXG4gIGdldExpc3RPZkhvdXJzLFxuICBnZXRMaXN0T2ZNaW51dGVzLFxuICBnZXRMaXN0T2ZTZWNvbmRzLFxuICBpc0hvdXIxMixcbiAgaXNWYWxpZFRpbWUsXG4gIElUaW1lVmFsdWVcbn0gZnJvbSAnLi90aW1lLnV0aWxzJztcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50LCBEcm9wZG93bk1lbnVEaXJlY3RpdmUsIERyb3Bkb3duVG9nZ2xlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZHJvcGRvd24nO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2xEaXJlY3RpdmUsIEZvcm1TZWxlY3REaXJlY3RpdmUsIElucHV0R3JvdXBDb21wb25lbnQsIElucHV0R3JvdXBUZXh0RGlyZWN0aXZlIH0gZnJvbSAnLi4vZm9ybSc7XG5pbXBvcnQgeyBUZW1wbGF0ZUlkRGlyZWN0aXZlIH0gZnJvbSAnLi4vc2hhcmVkJztcbmltcG9ydCB7IFRpbWVQaWNrZXJSb2xsQ29sQ29tcG9uZW50IH0gZnJvbSAnLi90aW1lLXBpY2tlci1yb2xsLWNvbC90aW1lLXBpY2tlci1yb2xsLWNvbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGltZVBpY2tlclJvbGxBbVBtQ29tcG9uZW50IH0gZnJvbSAnLi90aW1lLXBpY2tlci1yb2xsLWNvbC90aW1lLXBpY2tlci1yb2xsLWFtLXBtLmNvbXBvbmVudCc7XG5cbi8vIHRvZG86IEZvY3VzIG1hbmFnZW1lbnRcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYy10aW1lLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi90aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RpbWUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGV4cG9ydEFzOiAnY1RpbWVQaWNrZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdDbGFzcyxcbiAgICBOZ0lmLFxuICAgIE5nRm9yT2YsXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIERyb3Bkb3duQ29tcG9uZW50LFxuICAgIERyb3Bkb3duVG9nZ2xlRGlyZWN0aXZlLFxuICAgIERyb3Bkb3duTWVudURpcmVjdGl2ZSxcbiAgICBGb3JtQ29udHJvbERpcmVjdGl2ZSxcbiAgICBGb3JtU2VsZWN0RGlyZWN0aXZlLFxuICAgIElucHV0R3JvdXBDb21wb25lbnQsXG4gICAgSW5wdXRHcm91cFRleHREaXJlY3RpdmUsXG4gICAgVGltZVBpY2tlclJvbGxDb2xDb21wb25lbnQsXG4gICAgVGltZVBpY2tlclJvbGxBbVBtQ29tcG9uZW50XG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGltZVBpY2tlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUaW1lUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0IHtcblxuICByZWFkb25seSAjZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB2aXNpYmlsaXR5IG9yIHNldCB0aGUgY29udGVudCBvZiB0aGUgY2xlYW5lciBidXR0b24uXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGNsZWFuZXI6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBTZXRzIERhdGVUaW1lIGZvcm1hdCBvcHRpb25zIGluY2x1ZGluZyB0aW1lWm9uZVxuICAgKiBAdHlwZSBEYXRlVGltZUZvcm1hdE9wdGlvbnNcbiAgICogQGRlZmF1bHQge31cbiAgICogQG5vdGUgVGhlIGRhdGUgb2JqZWN0IGRvZXNuJ3Qgc3RvcmUgdGltZVpvbmUsIGl0IGtlZXBzIHRoZSBsb2NhbCB0aW1lem9uZSBvZiB0aGUgYnJvd3NlciwgcmVnYXJkbGVzcyBpZiB5b3UgcGFyc2VkIFVUQyBkYXRlcy5cbiAgICovXG4gIEBJbnB1dCgpIGRhdGVUaW1lRm9ybWF0T3B0aW9uczogRGF0ZVRpbWVGb3JtYXRPcHRpb25zID0ge307XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgZGlzYWJsZWQgc3RhdGUgZm9yIHRoZSBjb21wb25lbnQuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBGaWx0ZXIgYXZhaWxhYmxlIGhvdXJzIHRvIHBpY2suXG4gICAqIEB0eXBlICh2YWx1ZTogbnVtYmVyKSA9PiBib29sZWFuO1xuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIEBJbnB1dCgpIGZpbHRlckhvdXJzPzogKHZhbHVlOiBudW1iZXIpID0+IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEZpbHRlciBhdmFpbGFibGUgbWludXRlcyB0byBwaWNrLlxuICAgKiBAdHlwZSAodmFsdWU6IG51bWJlcikgPT4gYm9vbGVhbjtcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICBASW5wdXQoKSBmaWx0ZXJNaW51dGVzPzogKHZhbHVlOiBudW1iZXIpID0+IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEZpbHRlciBhdmFpbGFibGUgc2Vjb25kcyB0byBwaWNrLlxuICAgKiBAdHlwZSAodmFsdWU6IG51bWJlcikgPT4gYm9vbGVhbjtcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICBASW5wdXQoKSBmaWx0ZXJTZWNvbmRzPzogKHZhbHVlOiBudW1iZXIpID0+IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB2aXNpYmlsaXR5IG9yIHNldCB0aGUgY29udGVudCBvZiB0aGUgaW5wdXQgaW5kaWNhdG9yLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpbmRpY2F0b3I6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIHJlYWRvbmx5IHN0YXRlIGZvciB0aGUgY29tcG9uZW50LlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaW5wdXRSZWFkT25seTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkZWZhdWx0IGxvY2FsZSBmb3IgY29tcG9uZW50cy4gSWYgbm90IHNldCwgaXQgaXMgaW5oZXJpdGVkIGZyb20gdGhlIGJyb3dzZXIuXG4gICAqIEB0eXBlIHN0cmluZ1xuICAgKiBAZGVmYXVsdCBkZWZhdWx0XG4gICAqL1xuICBASW5wdXQoKSBsb2NhbGU6IHN0cmluZyA9ICdkZWZhdWx0JztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHNob3J0IGhpbnQgdmlzaWJsZSBpbiB0aW1lIGlucHV0LlxuICAgKiBAdHlwZSBzdHJpbmdcbiAgICogQGRlZmF1bHQgJ1NlbGVjdCB0aW1lJ1xuICAgKi9cbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICdTZWxlY3QgdGltZSc7XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSBzZWNvbmRzIHZpc2liaWxpdHkuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzZWNvbmRzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNpemUgdGhlIGNvbXBvbmVudCBzbWFsbCBvciBsYXJnZS5cbiAgICogQHR5cGUgJ3NtJyB8ICdsZycgfCB1bmRlZmluZWRcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICBASW5wdXQoKSBzaXplPzogJ3NtJyB8ICdsZyc7XG5cbiAgLyoqXG4gICAqIEluaXRpYWwgc2VsZWN0ZWQgdGltZS5cbiAgICogQHR5cGUgRGF0ZSB8IHN0cmluZyB8IG51bGwgfCBudW1iZXJcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgdGltZSh2YWx1ZTogRGF0ZSB8IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSAmJiBpc1ZhbGlkVGltZSh2YWx1ZSkpIHtcbiAgICAgIGNvbnN0IHRpbWUgPSBjb252ZXJ0VGltZVRvRGF0ZSh2YWx1ZSk7XG4gICAgICBpZiAoIXRpbWUpIHtcbiAgICAgICAgdGhpcy5jbGVhclRpbWUoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5kYXlQZXJpb2QgPSBnZXRBbVBtKHRpbWUsIHRoaXMubG9jYWxlKTtcbiAgICAgIGlmICh0aGlzLl90aW1lPy5nZXRUaW1lKCkgIT09IHRpbWUuZ2V0VGltZSgpKSB7XG4gICAgICAgIHRoaXMuX3RpbWUgPSBuZXcgRGF0ZSh0aW1lLmdldFRpbWUoKSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY2xlYXJUaW1lKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHRpbWUoKTogRGF0ZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3RpbWU7XG4gIH1cblxuICBwcml2YXRlIF90aW1lPzogRGF0ZTtcbiAgcHJpdmF0ZSBfdGltZUludGVybmFsPzogRGF0ZTtcblxuICAvKipcbiAgICogU2V0IHRoZSB0aW1lIHBpY2tlciB2YXJpYW50IHRvIGEgcm9sbCBvciBzZWxlY3QuXG4gICAqIEB0eXBlICdyb2xsJyB8ICdzZWxlY3QnXG4gICAqIEBkZWZhdWx0ICdyb2xsJ1xuICAgKi9cbiAgQElucHV0KCkgdmFyaWFudDogJ3JvbGwnIHwgJ3NlbGVjdCcgPSAncm9sbCc7XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB2aXN1YWwgdmFsaWRhdGlvbiBmZWVkYmFjay5cbiAgICogQHR5cGUgYm9vbGVhbiB8IHVuZGVmaW5lZFxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIEBJbnB1dCgpIHZhbGlkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVG9nZ2xlIHRoZSB2aXNpYmlsaXR5IG9mIGRyb3Bkb3duIHRpbWVwaWNrZXIgbWVudSBjb21wb25lbnQuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB2aXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHRpbWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlIHwgdW5kZWZpbmVkPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZSB8IHVuZGVmaW5lZD4oZmFsc2UpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKSBvbkJsdXIoKSB7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoRHJvcGRvd25Db21wb25lbnQsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBkcm9wZG93blJlZiE6IEVsZW1lbnRSZWY7XG5cbiAgdGVtcGxhdGVzOiBhbnkgPSB7fTtcbiAgQENvbnRlbnRDaGlsZHJlbihUZW1wbGF0ZUlkRGlyZWN0aXZlLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIGNvbnRlbnRUZW1wbGF0ZXMhOiBRdWVyeUxpc3Q8VGVtcGxhdGVJZERpcmVjdGl2ZT47XG5cbiAgbGlzdE9mSG91cnMhOiBJVGltZVZhbHVlW107XG4gIGxpc3RPZkhvdXJzMTIhOiBJVGltZVZhbHVlW107XG4gIGxpc3RPZk1pbnV0ZXMhOiBJVGltZVZhbHVlW107XG4gIGxpc3RPZlNlY29uZHMhOiBJVGltZVZhbHVlW107XG4gIGhvdXIxMjogYm9vbGVhbiA9IGlzSG91cjEyKHRoaXMubG9jYWxlKTtcbiAgZGF5UGVyaW9kcyA9IFtcbiAgICB7IHZhbHVlOiAnYW0nLCBsYWJlbDogJ2FtJyB9LFxuICAgIHsgdmFsdWU6ICdwbScsIGxhYmVsOiAncG0nIH1cbiAgXTtcblxuICBnZXRMaXN0T2ZIb3VyczEyKCk6IElUaW1lVmFsdWVbXSB7XG4gICAgY29uc3QgbGlzdE9mSG91cnMxMiA9IHRoaXMuaG91cjEyID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5saXN0T2ZIb3Vycz8uZmlsdGVyKChpdGVtKSA9PiAoaXRlbS5kYXlQZXJpb2QgJiYgaXRlbS5kYXlQZXJpb2QgPT09IHRoaXMuZGF5UGVyaW9kKSB8fCAhaXRlbS5kYXlQZXJpb2QpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5saXN0T2ZIb3VycztcbiAgICBpZiAodGhpcy5ob3VyMTIpIHtcbiAgICAgIGxpc3RPZkhvdXJzMTIucHVzaCg8SVRpbWVWYWx1ZT5saXN0T2ZIb3VyczEyLnNoaWZ0KCkpO1xuICAgIH1cbiAgICByZXR1cm4gbGlzdE9mSG91cnMxMjtcbiAgfVxuXG4gIHNldCB0aW1lSW5wdXRWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy50aW1lSW5wdXQuc2V0VmFsdWUodmFsdWUpO1xuICAgIHRoaXMuX3RpbWVJbnB1dFZhbHVlID0gdmFsdWU7XG4gIH1cblxuICBnZXQgdGltZUlucHV0VmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdGltZUlucHV0VmFsdWU7XG4gIH1cblxuICBwcml2YXRlIF90aW1lSW5wdXRWYWx1ZTogc3RyaW5nID1cbiAgICB0aGlzLnRpbWU/LnRvTG9jYWxlVGltZVN0cmluZyh0aGlzLmxvY2FsZSwgeyB0aW1lU3R5bGU6IHRoaXMuc2Vjb25kcyA/ICdtZWRpdW0nIDogJ3Nob3J0JyB9KSA/P1xuICAgICcnO1xuXG4gIGdldCB0aW1lUGlja2VyQ2xhc3NlcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgJ3RpbWUtcGlja2VyJzogdHJ1ZSxcbiAgICAgIFtgdGltZS1waWNrZXItJHt0aGlzLnNpemV9YF06ICEhdGhpcy5zaXplLFxuICAgICAgJ2Zvcm0tY29udHJvbCc6IHRoaXMudmFyaWFudCA9PT0gJ3NlbGVjdCcgJiYgdGhpcy52YWxpZCAhPT0gdW5kZWZpbmVkLFxuICAgICAgJ2lzLXZhbGlkJzogdGhpcy52YWxpZCA9PT0gdHJ1ZSxcbiAgICAgICdpcy1pbnZhbGlkJzogdGhpcy52YWxpZCA9PT0gZmFsc2UsXG4gICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZFxuICAgIH07XG4gIH1cblxuICBzZWxlY3RUaW1lID0gbmV3IEZvcm1Hcm91cDx7XG4gICAgc2VsZWN0SG91cnM6IEZvcm1Db250cm9sPG51bWJlciB8IG51bGw+O1xuICAgIHNlbGVjdE1pbnV0ZXM6IEZvcm1Db250cm9sPG51bWJlciB8IG51bGw+O1xuICAgIHNlbGVjdFNlY29uZHM/OiBGb3JtQ29udHJvbDxudW1iZXIgfCBudWxsPjtcbiAgICBzZWxlY3REYXlQZXJpb2Q/OiBGb3JtQ29udHJvbDwnYW0nIHwgJ3BtJyB8IG51bGw+O1xuICB9PihcbiAgICB7XG4gICAgICBzZWxlY3RIb3VyczogbmV3IEZvcm1Db250cm9sKFxuICAgICAgICB7IHZhbHVlOiB0aGlzLmhvdXIsIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkIH0sXG4gICAgICAgIHsgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMubWluKDApLCBWYWxpZGF0b3JzLm1heCh0aGlzLmhvdXIxMiA/IDExIDogMjMpXSB9XG4gICAgICApLFxuICAgICAgc2VsZWN0TWludXRlczogbmV3IEZvcm1Db250cm9sKFxuICAgICAgICB7IHZhbHVlOiB0aGlzLm1pbnV0ZSwgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQgfSxcbiAgICAgICAgeyB2YWxpZGF0b3JzOiBbVmFsaWRhdG9ycy5taW4oMCksIFZhbGlkYXRvcnMubWF4KDU5KV0gfVxuICAgICAgKSxcbiAgICAgIHNlbGVjdFNlY29uZHM6IG5ldyBGb3JtQ29udHJvbChcbiAgICAgICAgeyB2YWx1ZTogdGhpcy5zZWNvbmQsIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkIH0sXG4gICAgICAgIHsgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMubWluKDApLCBWYWxpZGF0b3JzLm1heCg1OSldIH1cbiAgICAgICksXG4gICAgICBzZWxlY3REYXlQZXJpb2Q6IG5ldyBGb3JtQ29udHJvbChcbiAgICAgICAgeyB2YWx1ZTogdGhpcy5kYXlQZXJpb2QsIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkIH0sXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWRcbiAgICAgIClcbiAgICB9LFxuICAgIHsgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWRdIH1cbiAgKTtcblxuICB0aW1lSW5wdXQgPSBuZXcgRm9ybUNvbnRyb2woXG4gICAge1xuICAgICAgdmFsdWU6IHRoaXMudGltZUlucHV0VmFsdWUsXG4gICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZFxuICAgIH0sXG4gICAgeyB2YWxpZGF0b3JzOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF0gfVxuICApO1xuXG4gIHNldCBob3VyKHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5faG91ciAhPT0gdmFsdWUpIHtcbiAgICAgIGlmICh2YWx1ZSA8IDApIHtcbiAgICAgICAgdGhpcy5jbGVhclRpbWUoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5faG91ciA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGdldCBob3VyKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2hvdXI7XG4gIH1cblxuICBwcml2YXRlIF9ob3VyID0gLTE7XG5cbiAgc2V0IG1pbnV0ZSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMuX21pbnV0ZSAhPT0gdmFsdWUpIHtcbiAgICAgIGlmICh2YWx1ZSA8IDApIHtcbiAgICAgICAgdGhpcy5jbGVhclRpbWUoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5fbWludXRlID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgZ2V0IG1pbnV0ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9taW51dGU7XG4gIH1cblxuICBwcml2YXRlIF9taW51dGUgPSAtMTtcblxuICBzZXQgc2Vjb25kKHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5fc2Vjb25kICE9PSB2YWx1ZSkge1xuICAgICAgaWYgKHZhbHVlIDwgMCkge1xuICAgICAgICB0aGlzLmNsZWFyVGltZSgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLl9zZWNvbmQgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBnZXQgc2Vjb25kKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3NlY29uZDtcbiAgfVxuXG4gIHByaXZhdGUgX3NlY29uZCA9IC0xO1xuXG4gIHNldCBkYXlQZXJpb2QodmFsdWUpIHtcbiAgICBpZiAodGhpcy5fZGF5UGVyaW9kICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5fZGF5UGVyaW9kID0gdmFsdWU7XG4gICAgICBpZiAodGhpcy5saXN0T2ZIb3Vycykge1xuICAgICAgICB0aGlzLmxpc3RPZkhvdXJzMTIgPSB0aGlzLmdldExpc3RPZkhvdXJzMTIoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucGF0Y2hTZWxlY3RUaW1lVmFsdWVzKCk7XG4gICAgfVxuICAgIC8vIHRoaXMubGlzdE9mSG91cnMxMiA9IHRoaXMuaG91cjEyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmxpc3RPZkhvdXJzPy5maWx0ZXIoXG4gICAgLy8gICAgIChpdGVtKSA9PiAoaXRlbS5kYXlQZXJpb2QgJiYgaXRlbS5kYXlQZXJpb2QgPT09IHZhbHVlKSB8fCAhaXRlbS5kYXlQZXJpb2RcbiAgICAvLyAgIClcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMubGlzdE9mSG91cnM7XG4gICAgLy8gdGhpcy5wYXRjaFNlbGVjdFRpbWVWYWx1ZXMoKTtcbiAgfVxuXG4gIGdldCBkYXlQZXJpb2QoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RheVBlcmlvZDtcbiAgfVxuXG4gIHByaXZhdGUgX2RheVBlcmlvZDogRGF5UGVyaW9kID0gJ2FtJztcblxuICBzZXRUaW1lKCkge1xuICAgIHRoaXMuX2hvdXIgPSB0aGlzLl9ob3VyIDwgMCA/IDAgOiB0aGlzLl9ob3VyO1xuICAgIHRoaXMuX21pbnV0ZSA9IHRoaXMuX21pbnV0ZSA8IDAgPyAwIDogdGhpcy5fbWludXRlO1xuICAgIHRoaXMuX3NlY29uZCA9IHRoaXMuX3NlY29uZCA8IDAgPyAwIDogdGhpcy5fc2Vjb25kO1xuXG4gICAgY29uc3QgdGltZSA9IG5ldyBEYXRlKHRoaXMuX3RpbWU/LmdldFRpbWUoKSB8fCBuZXcgRGF0ZSgpKTtcbiAgICB0aW1lLnNldEhvdXJzKHRoaXMuaG91ciwgdGhpcy5taW51dGUsIHRoaXMuc2Vjb25kLCAwKTtcbiAgICB0aGlzLnRpbWUgPSB0aW1lO1xuICAgIHRoaXMuZW1pdFRpbWUodGltZSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJUaW1lKCkge1xuICAgIGlmICh0aGlzLnRpbWUpIHtcbiAgICAgIHRoaXMuX3RpbWUgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLmVtaXRUaW1lKHVuZGVmaW5lZCk7XG4gICAgfVxuICAgIHRoaXMuX2hvdXIgPSAtMTtcbiAgICB0aGlzLl9taW51dGUgPSAtMTtcbiAgICB0aGlzLl9zZWNvbmQgPSAtMTtcbiAgICB0aGlzLmRheVBlcmlvZCA9ICdhbSc7XG4gICAgdGhpcy5wYXRjaFNlbGVjdFRpbWVWYWx1ZXMoKTtcbiAgICB0aGlzLnRpbWVJbnB1dFZhbHVlID0gJyc7XG4gIH1cblxuICBlbWl0VGltZSh0aW1lOiBEYXRlIHwgdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgdGltZVZhbHVlID0gISF0aW1lICYmIGlzVmFsaWRUaW1lKHRpbWUpID8gbmV3IERhdGUodGltZS5nZXRUaW1lKCkpIDogdW5kZWZpbmVkO1xuICAgIGlmICh0aGlzLl90aW1lSW50ZXJuYWw/LmdldFRpbWUoKSAhPT0gdGltZVZhbHVlPy5nZXRUaW1lKCkpIHtcbiAgICAgIHRoaXMudGltZUNoYW5nZS5lbWl0KHRpbWVWYWx1ZSk7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHRpbWVWYWx1ZSk7XG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgdGhpcy5fdGltZUludGVybmFsID0gdGltZVZhbHVlO1xuICAgIH1cbiAgICB0aGlzLnRpbWVJbnB1dFZhbHVlID1cbiAgICAgIHRoaXMudGltZT8udG9Mb2NhbGVUaW1lU3RyaW5nKHRoaXMubG9jYWxlLCB7XG4gICAgICAgIHRpbWVTdHlsZTogdGhpcy5zZWNvbmRzID8gJ21lZGl1bScgOiAnc2hvcnQnXG4gICAgICB9KSA/PyAnJztcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0VGltZUxpc3RzKCk7XG4gICAgdGhpcy51cGRhdGVTZWxlY3RUaW1lKCk7XG4gICAgdGhpcy5zZXRDaGFuZ2VIYW5kbGVycygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWyd0aW1lJ10pIHtcbiAgICAgIGlmICghY2hhbmdlc1sndGltZSddLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgIGlmICh0aGlzLl90aW1lSW50ZXJuYWw/LmdldFRpbWUoKSAhPT0gY2hhbmdlc1sndGltZSddLmN1cnJlbnRWYWx1ZT8uZ2V0VGltZSgpKSB7XG4gICAgICAgICAgdGhpcy51cGRhdGVTZWxlY3RUaW1lKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmNvbnRlbnRUZW1wbGF0ZXMuZm9yRWFjaCgoY2hpbGQ6IFRlbXBsYXRlSWREaXJlY3RpdmUpID0+IHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZXNbY2hpbGQuaWRdID0gY2hpbGQudGVtcGxhdGVSZWY7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHNldFRpbWVMaXN0cygpIHtcbiAgICB0aGlzLmRheVBlcmlvZHMgPSBnZXREYXlQZXJpb2RzKHRoaXMubG9jYWxlLCB0aGlzLmRhdGVUaW1lRm9ybWF0T3B0aW9ucyk7XG4gICAgdGhpcy5ob3VyMTIgPSBpc0hvdXIxMih0aGlzLmxvY2FsZSk7XG4gICAgdGhpcy5saXN0T2ZIb3VycyA9IHRoaXMubGlzdE9mVGltZVNlZ21lbnRzKGdldExpc3RPZkhvdXJzLCB0aGlzLmZpbHRlckhvdXJzKTtcbiAgICB0aGlzLmxpc3RPZk1pbnV0ZXMgPSB0aGlzLmxpc3RPZlRpbWVTZWdtZW50cyhnZXRMaXN0T2ZNaW51dGVzLCB0aGlzLmZpbHRlck1pbnV0ZXMpO1xuICAgIHRoaXMubGlzdE9mU2Vjb25kcyA9IHRoaXMubGlzdE9mVGltZVNlZ21lbnRzKGdldExpc3RPZlNlY29uZHMsIHRoaXMuZmlsdGVyU2Vjb25kcyk7XG4gICAgaWYgKHRoaXMudmFyaWFudCA9PT0gJ3NlbGVjdCcpIHtcbiAgICAgIGNvbnN0IHVuZGVmU2VnbWVudCA9IHsgdmFsdWU6IC0xLCBsYWJlbDogJyAtLScsIGRpc2FibGVkOiB0cnVlIH07XG4gICAgICB0aGlzLmxpc3RPZkhvdXJzLnVuc2hpZnQoeyAuLi51bmRlZlNlZ21lbnQgfSk7XG4gICAgICB0aGlzLmxpc3RPZk1pbnV0ZXMudW5zaGlmdCh7IC4uLnVuZGVmU2VnbWVudCB9KTtcbiAgICAgIHRoaXMubGlzdE9mU2Vjb25kcy51bnNoaWZ0KHsgLi4udW5kZWZTZWdtZW50IH0pO1xuICAgIH1cbiAgICB0aGlzLmxpc3RPZkhvdXJzMTIgPSB0aGlzLmdldExpc3RPZkhvdXJzMTIoKTtcbiAgfVxuXG4gIHVwZGF0ZVNlbGVjdFRpbWUodGltZSA9IHRoaXMudGltZSkge1xuICAgIGlmICghIXRpbWUgJiYgaXNWYWxpZFRpbWUodGltZSkpIHtcbiAgICAgIGNvbnN0IGhvdXIgPSB0aW1lLmdldEhvdXJzKCkgPz8gMDtcbiAgICAgIGNvbnN0IG1pbnV0ZSA9IHRpbWUuZ2V0TWludXRlcygpID8/IDA7XG4gICAgICBjb25zdCBzZWNvbmQgPSB0aGlzLnNlY29uZHMgPyB0aW1lLmdldFNlY29uZHMoKSA/PyAwIDogMDtcblxuICAgICAgY29uc3QgY2xvc2VzdFNlY29uZCA9IHRoaXMuY2xvc2VzdFRpbWUodGhpcy5saXN0T2ZTZWNvbmRzLCBzZWNvbmQpO1xuICAgICAgY29uc3QgY2xvc2VzdE1pbnV0ZSA9IHRoaXMuY2xvc2VzdFRpbWUodGhpcy5saXN0T2ZNaW51dGVzLCBtaW51dGUpO1xuICAgICAgY29uc3QgY2xvc2VzdEhvdXIgPSB0aGlzLmNsb3Nlc3RUaW1lKHRoaXMubGlzdE9mSG91cnMsIGhvdXIpO1xuXG4gICAgICB0aGlzLnNlY29uZCA9IHRoaXMuc2Vjb25kcyA/IGNsb3Nlc3RTZWNvbmQudmFsdWUgOiAwO1xuICAgICAgdGhpcy5taW51dGUgPSBjbG9zZXN0TWludXRlLnZhbHVlO1xuICAgICAgdGhpcy5ob3VyID0gY2xvc2VzdEhvdXIudmFsdWU7XG4gICAgICB0aGlzLnNldFRpbWUoKTtcbiAgICAgIHRoaXMucGF0Y2hTZWxlY3RUaW1lVmFsdWVzKCk7XG4gICAgfVxuICB9XG5cbiAgY2xvc2VzdFRpbWUodGltZUFycmF5OiBJVGltZVZhbHVlW10sIHRpbWVTZWdtZW50OiBudW1iZXIpIHtcbiAgICBsZXQgYXJyYXkgPSB0aW1lQXJyYXkgPz8gW3sgdmFsdWU6IDAsIGxhYmVsOiAnMDAnIH1dO1xuICAgIGlmICh0aGlzLnRpbWUpIHtcbiAgICAgIGFycmF5ID0gdGltZUFycmF5LmZpbHRlcigoZWwpID0+IGVsLnZhbHVlID49IDApO1xuICAgICAgYXJyYXkgPSBhcnJheS5sZW5ndGggPyBhcnJheSA6IHRpbWVBcnJheTtcbiAgICB9XG4gICAgcmV0dXJuIGFycmF5LnJlZHVjZSgoYTogSVRpbWVWYWx1ZSwgYjogSVRpbWVWYWx1ZSkgPT4ge1xuICAgICAgcmV0dXJuIE1hdGguYWJzKGIudmFsdWUgLSB0aW1lU2VnbWVudCkgPCBNYXRoLmFicyhhLnZhbHVlIC0gdGltZVNlZ21lbnQpID8gYiA6IGE7XG4gICAgfSk7XG4gIH1cblxuICBsaXN0T2ZUaW1lU2VnbWVudHMoXG4gICAgZ2V0TGlzdE9mVGltZVNlZ21lbnRzOiAoXG4gICAgICBsb2NhbGU6IHN0cmluZyxcbiAgICAgIGRhdGVUaW1lRm9ybWF0T3B0aW9uczogRGF0ZVRpbWVGb3JtYXRPcHRpb25zXG4gICAgKSA9PiBJVGltZVZhbHVlW10sXG4gICAgZmlsdGVyVGltZVNlZ21lbnRzOiAoKHRpbWVTZWdtZW50VmFsdWU6IG51bWJlcikgPT4gYm9vbGVhbikgfCB1bmRlZmluZWRcbiAgKSB7XG4gICAgY29uc3QgbGlzdCA9IGdldExpc3RPZlRpbWVTZWdtZW50cyh0aGlzLmxvY2FsZSwgdGhpcy5kYXRlVGltZUZvcm1hdE9wdGlvbnMpLmZpbHRlcihcbiAgICAgIChzZWdtZW50OiBJVGltZVZhbHVlKSA9PiB7XG4gICAgICAgIHJldHVybiB0eXBlb2YgZmlsdGVyVGltZVNlZ21lbnRzID09PSAnZnVuY3Rpb24nID8gZmlsdGVyVGltZVNlZ21lbnRzKHNlZ21lbnQudmFsdWUpIDogdHJ1ZTtcbiAgICAgIH1cbiAgICApO1xuICAgIHJldHVybiBsaXN0Lmxlbmd0aFxuICAgICAgICAgICA/IGxpc3RcbiAgICAgICAgICAgOiBnZXRMaXN0T2ZUaW1lU2VnbWVudHModGhpcy5sb2NhbGUsIHRoaXMuZGF0ZVRpbWVGb3JtYXRPcHRpb25zKS5zbGljZSgwLCAxKTtcbiAgfVxuXG4gIGhhbmRsZVNlbGVjdERheVBlcmlvZENoYW5nZShkYXlQZXJpb2Q6IERheVBlcmlvZCkge1xuICAgIGlmIChkYXlQZXJpb2QgIT09IHRoaXMuZGF5UGVyaW9kKSB7XG4gICAgICBjb25zdCBocnMgPSB0aGlzLnRpbWU/LmdldEhvdXJzKCkgPz8gKHRoaXMuaG91ciA8IDAgPyAwIDogdGhpcy5ob3VyKTtcbiAgICAgIGNvbnN0IGhvdXIgPSBocnMgPiAxMiA/IGNvbnZlcnQyNGhUbzEyaChocnMpIDogY29udmVydDEyaFRvMjRoKGRheVBlcmlvZCwgaHJzKTtcbiAgICAgIHRoaXMuaG91ciA9IHRoaXMuY2xvc2VzdFRpbWUodGhpcy5saXN0T2ZIb3VycywgaG91cikudmFsdWU7XG4gICAgICBpZiAoaG91ciA+PSAwKSB7XG4gICAgICAgIHRoaXMuc2V0VGltZSgpO1xuICAgICAgfVxuICAgICAgdGhpcy51cGRhdGVTZWxlY3RUaW1lKCk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlU2VsZWN0VGltZUNoYW5nZSh2YWx1ZTogbnVtYmVyLCBzZWdtZW50OiAnaG91cicgfCAnbWludXRlJyB8ICdzZWNvbmQnKSB7XG4gICAgdGhpc1tzZWdtZW50XSA9IHZhbHVlO1xuICAgIGlmICh2YWx1ZSA+PSAwKSB7XG4gICAgICB0aGlzLnNldFRpbWUoKTtcbiAgICB9XG4gICAgdGhpcy51cGRhdGVTZWxlY3RUaW1lKCk7XG4gIH1cblxuICBwYXRjaFNlbGVjdFRpbWVWYWx1ZXMoKSB7XG4gICAgY29uc3QgZGF5UGVyaW9kID0gdGhpcy5zZWxlY3RUaW1lLmdldCgnc2VsZWN0RGF5UGVyaW9kJyk/LnZhbHVlO1xuICAgIGlmICh0aGlzLmRheVBlcmlvZCAhPT0gZGF5UGVyaW9kKSB7XG4gICAgICB0aGlzLnNlbGVjdFRpbWUucGF0Y2hWYWx1ZSh7XG4gICAgICAgIHNlbGVjdERheVBlcmlvZDogdGhpcy5kYXlQZXJpb2QgPz8gJ2FtJ1xuICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IGhvdXJzID0gdGhpcy5zZWxlY3RUaW1lLmdldCgnc2VsZWN0SG91cnMnKT8udmFsdWU7XG4gICAgY29uc3QgbWludXRlcyA9IHRoaXMuc2VsZWN0VGltZS5nZXQoJ3NlbGVjdE1pbnV0ZXMnKT8udmFsdWU7XG4gICAgY29uc3Qgc2Vjb25kcyA9IHRoaXMuc2VsZWN0VGltZS5nZXQoJ3NlbGVjdFNlY29uZHMnKT8udmFsdWU7XG4gICAgY29uc3QgZ29VcGRhdGUgPVxuICAgICAgKHRoaXMuc2Vjb25kIDwgMCAmJiB0aGlzLm1pbnV0ZSA8IDApIHx8XG4gICAgICAodGhpcy5ob3VyID49IDAgJiYgdGhpcy5taW51dGUgPj0gMCAmJiB0aGlzLnNlY29uZCA+PSAwKTtcbiAgICBjb25zdCB0aW1lQ2hhbmdlZCA9IHRoaXMuaG91ciAhPT0gaG91cnMgfHwgdGhpcy5taW51dGUgIT09IG1pbnV0ZXMgfHwgdGhpcy5zZWNvbmQgIT09IHNlY29uZHM7XG4gICAgaWYgKGdvVXBkYXRlICYmIHRpbWVDaGFuZ2VkKSB7XG4gICAgICBpZiAodGhpcy5ob3VyICE9PSBob3Vycykge1xuICAgICAgICB0aGlzLnNlbGVjdFRpbWUucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgc2VsZWN0SG91cnM6IHRoaXMuaG91ciA/PyAwXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMubWludXRlICE9PSBtaW51dGVzKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0VGltZS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICBzZWxlY3RNaW51dGVzOiB0aGlzLm1pbnV0ZSA/PyAwXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuc2Vjb25kICE9PSBzZWNvbmRzKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0VGltZS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICBzZWxlY3RTZWNvbmRzOiB0aGlzLnNlY29uZCA/PyAwXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRyYWNrQnlIb3VyKGluZGV4OiBudW1iZXIsIGhvdXI6IElUaW1lVmFsdWUpIHtcbiAgICByZXR1cm4gaG91cjtcbiAgfVxuXG4gIG9uQ2hhbmdlID0gKHZhbHVlOiBEYXRlIHwgdW5kZWZpbmVkKSA9PiB7fTtcbiAgb25Ub3VjaGVkID0gKCkgPT4ge307XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy50aW1lID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVTZWxlY3RUaW1lKCk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgaGFuZGxlVGltZUlucHV0Q2hhbmdlKCRldmVudDogYW55KSB7XG4gICAgY29uc3QgdmFsdWUgPSAkZXZlbnQudGFyZ2V0Py52YWx1ZTtcbiAgICBpZiAoIXZhbHVlIHx8ICFpc1ZhbGlkVGltZSh2YWx1ZSkpIHtcbiAgICAgIHRoaXMuY2xlYXJUaW1lKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHRpbWUgPSBjb252ZXJ0VGltZVRvRGF0ZSh2YWx1ZSk7XG4gICAgdGhpcy51cGRhdGVTZWxlY3RUaW1lKHRpbWUgPz8gbmV3IERhdGUoRGF0ZS5ub3coKSkpO1xuICB9XG5cbiAgaGFuZGxlQ2xlYXIoJGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5jbGVhclRpbWUoKTtcbiAgfVxuXG4gIGhhbmRsZUJsdXIoJGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5kcm9wZG93blJlZj8ubmF0aXZlRWxlbWVudD8uY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5vbkJsdXIoKTtcbiAgICB9LCAxMDApO1xuICB9XG5cbiAgaGFuZGxlRm9jdXMoJGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5kcm9wZG93blJlZj8ubmF0aXZlRWxlbWVudD8uY2xhc3NMaXN0LmFkZCgnc2hvdycpO1xuICB9XG5cbiAgc2V0Q2hhbmdlSGFuZGxlcnMoKSB7XG5cbiAgICBpZiAodGhpcy52YXJpYW50ICE9PSAnc2VsZWN0Jykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0VGltZS5nZXQoJ3NlbGVjdEhvdXJzJyk/LnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCh2YWx1ZSA9PiB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVTZWxlY3RUaW1lQ2hhbmdlKDxudW1iZXI+dmFsdWUsICdob3VyJyk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZilcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuc2VsZWN0VGltZS5nZXQoJ3NlbGVjdE1pbnV0ZXMnKT8udmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKHZhbHVlID0+IHtcbiAgICAgICAgICB0aGlzLmhhbmRsZVNlbGVjdFRpbWVDaGFuZ2UoPG51bWJlcj52YWx1ZSwgJ21pbnV0ZScpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLnNlbGVjdFRpbWUuZ2V0KCdzZWxlY3RTZWNvbmRzJyk/LnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLnNlY29uZHMpLFxuICAgICAgICB0YXAodmFsdWUgPT4ge1xuICAgICAgICAgIHRoaXMuaGFuZGxlU2VsZWN0VGltZUNoYW5nZSg8bnVtYmVyPnZhbHVlLCAnc2Vjb25kJyk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZilcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuc2VsZWN0VGltZS5nZXQoJ3NlbGVjdERheVBlcmlvZCcpPy52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5ob3VyMTIpLFxuICAgICAgICB0YXAodmFsdWUgPT4ge1xuICAgICAgICAgIHRoaXMuaGFuZGxlU2VsZWN0RGF5UGVyaW9kQ2hhbmdlKDxEYXlQZXJpb2Q+dmFsdWUpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJ2YXJpYW50PT09J3NlbGVjdCdcIiBjbGFzcz1cImRhdGUtcGlja2VyLXRpbWVwaWNrZXJzXCI+XG4gIDxkaXYgY2xhc3M9XCJwaWNrZXIgdGltZS1waWNrZXJcIj5cbiAgICA8ZGl2IFtmb3JtR3JvdXBdPVwic2VsZWN0VGltZVwiIFtuZ0NsYXNzXT1cInRpbWVQaWNrZXJDbGFzc2VzXCIgY2xhc3M9XCJ0aW1lLXBpY2tlci1ib2R5XCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInRpbWUtcGlja2VyLWlubGluZS1pY29uXCI+PC9zcGFuPlxuICAgICAgPHNlbGVjdCAoYmx1cik9XCJvbkJsdXIoKVwiIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkIHx8IG51bGxcIiBbc2l6aW5nXT1cInNpemUgPz8gJydcIlxuICAgICAgICAgICAgICBjU2VsZWN0IGNsYXNzPVwidGltZS1waWNrZXItaW5saW5lLXNlbGVjdCBtcy0wXCIgZm9ybUNvbnRyb2xOYW1lPVwic2VsZWN0SG91cnNcIj5cbiAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgaG91ciBvZiBsaXN0T2ZIb3VyczEyOyBpbmRleCBhcyBpOyB0cmFja0J5OiB0cmFja0J5SG91clwiIFthdHRyLmRpc2FibGVkXT1cImhvdXIuZGlzYWJsZWQgfHwgbnVsbFwiXG4gICAgICAgICAgICAgICAgW25nVmFsdWVdPVwiaG91ci52YWx1ZVwiPnt7aG91ci5sYWJlbH19PC9vcHRpb24+XG4gICAgICA8L3NlbGVjdD5cbiAgICAgIHt7JyA6J319PHNlbGVjdCAoYmx1cik9XCJvbkJsdXIoKVwiIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkIHx8IG51bGxcIiBbc2l6aW5nXT1cInNpemUgPz8gJydcIlxuICAgICAgICAgICAgICAgICAgICAgIGNTZWxlY3QgY2xhc3M9XCJ0aW1lLXBpY2tlci1pbmxpbmUtc2VsZWN0IG1zLTBcIiBmb3JtQ29udHJvbE5hbWU9XCJzZWxlY3RNaW51dGVzXCI+XG4gICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBtaW51dGUgb2YgbGlzdE9mTWludXRlcyA7IHRyYWNrQnk6IHRyYWNrQnlIb3VyXCIgW2F0dHIuZGlzYWJsZWRdPVwibWludXRlLmRpc2FibGVkIHx8IG51bGxcIlxuICAgICAgICAgICAgICBbbmdWYWx1ZV09XCJtaW51dGUudmFsdWVcIj57e21pbnV0ZS5sYWJlbH19PC9vcHRpb24+XG4gICAgPC9zZWxlY3Q+XG4gICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwic2Vjb25kc1wiPlxuICAgICAgICB7eycgOid9fTxzZWxlY3QgKGJsdXIpPVwib25CbHVyKClcIiBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBudWxsXCIgW3NpemluZ109XCJzaXplID8/ICcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNTZWxlY3QgY2xhc3M9XCJ0aW1lLXBpY2tlci1pbmxpbmUtc2VsZWN0IG1zLTBcIiBmb3JtQ29udHJvbE5hbWU9XCJzZWxlY3RTZWNvbmRzXCI+XG4gICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IHNlY29uZCBvZiBsaXN0T2ZTZWNvbmRzOyB0cmFja0J5OiB0cmFja0J5SG91clwiIFthdHRyLmRpc2FibGVkXT1cInNlY29uZC5kaXNhYmxlZCB8fCBudWxsXCJcbiAgICAgICAgICAgICAgICBbbmdWYWx1ZV09XCJzZWNvbmQudmFsdWVcIj57e3NlY29uZC5sYWJlbH19PC9vcHRpb24+XG4gICAgICA8L3NlbGVjdD5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctdGVtcGxhdGUgW25nSWZdPVwiaG91cjEyXCI+XG4gICAgICAgIDxzZWxlY3QgKGJsdXIpPVwib25CbHVyKClcIiBbYXR0ci5kaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBudWxsXCIgW3NpemluZ109XCJzaXplID8/ICcnXCJcbiAgICAgICAgICAgICAgICBjU2VsZWN0IGNsYXNzPVwidGltZS1waWNrZXItaW5saW5lLXNlbGVjdCBtcy0wXCIgZm9ybUNvbnRyb2xOYW1lPVwic2VsZWN0RGF5UGVyaW9kXCI+XG4gICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgZGF5UGVyaW9kIG9mIGRheVBlcmlvZHNcIiBbbmdWYWx1ZV09XCJkYXlQZXJpb2QudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0aW1lLXBpY2tlci1yb2xsLWNlbGxcIj57e2RheVBlcmlvZC5sYWJlbH19PC9vcHRpb24+XG4gICAgICAgIDwvc2VsZWN0PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGMtZHJvcGRvd24gI2Ryb3Bkb3duPVwiY0Ryb3Bkb3duXCIgKm5nSWY9XCJ2YXJpYW50PT09J3JvbGwnXCIgW2F1dG9DbG9zZV09XCInb3V0c2lkZSdcIiBbbmdDbGFzc109XCJ0aW1lUGlja2VyQ2xhc3Nlc1wiXG4gICAgICAgICAgICBbdmlzaWJsZV09XCJ2aXNpYmxlXCI+XG4gIDxkaXYgW2NhcmV0XT1cImZhbHNlXCIgY0Ryb3Bkb3duVG9nZ2xlIGNsYXNzPVwidGltZS1waWNrZXItaW5wdXQtZ3JvdXBcIj5cbiAgICA8aW5wdXQgKGJsdXIpPVwiaGFuZGxlQmx1cigkZXZlbnQpO1wiXG4gICAgICAgICAgIChjaGFuZ2UpPVwiaGFuZGxlVGltZUlucHV0Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAoZm9jdXMpPVwiaGFuZGxlRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkID8/IGRyb3Bkb3duLnZpc2libGUgPyAnJyA6IG51bGxcIlxuICAgICAgICAgICBbYXR0ci5wYXR0ZXJuXT1cImhvdXIxMiA/ICcoKCgwWzEtOV0pfCgxWzAtMl0pKTooWzAtNV0pKFswLTldKVxcXFxzKEF8UClNKScgOiAnKFswMV0/WzAtOV18MlswLTNdKTpbMC01XVswLTldJ1wiXG4gICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cImRpc2FibGVkID8gLTEgOiAwXCJcbiAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInRpbWVJbnB1dFwiXG4gICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgIFtyZWFkb25seV09XCJpbnB1dFJlYWRPbmx5ID8/IG51bGxcIlxuICAgICAgICAgICBjbGFzcz1cInRpbWUtcGlja2VyLWlucHV0XCJcbiAgICA+XG4gICAgPGRpdiAqbmdJZj1cImluZGljYXRvclwiIGNsYXNzPVwidGltZS1waWNrZXItaW5kaWNhdG9yXCI+PC9kaXY+XG4gICAgPGRpdiAoY2xpY2spPVwiIWRpc2FibGVkICYmIGhhbmRsZUNsZWFyKCRldmVudClcIiAqbmdJZj1cImNsZWFuZXIgJiYgdGltZSAmJiAhZGlzYWJsZWRcIiBjbGFzcz1cInRpbWUtcGlja2VyLWNsZWFuZXJcIlxuICAgICAgICAgcm9sZT1cImJ1dHRvblwiPjwvZGl2PlxuXG4gIDwvZGl2PlxuICA8ZGl2ICNkcm9wZG93bk1lbnU9XCJjRHJvcGRvd25NZW51XCIgY0Ryb3Bkb3duTWVudSBjbGFzcz1cInRpbWUtcGlja2VyLWRyb3Bkb3duIHB5LTBcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGltZS1waWNrZXItYm9keSB0aW1lLXBpY2tlci1yb2xsXCIgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmU7XCI+XG4gICAgICA8Yy10aW1lLXBpY2tlci1yb2xsLWNvbFxuICAgICAgICAoc2VsZWN0ZWRDaGFuZ2UpPVwiaGFuZGxlU2VsZWN0VGltZUNoYW5nZSgkZXZlbnQsICdob3VyJylcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbZWxlbWVudHNdPVwibGlzdE9mSG91cnMxMlwiXG4gICAgICAgIFtyZWZyZXNoXT1cImRyb3Bkb3duTWVudS52aXNpYmxlXCJcbiAgICAgICAgW3NlbGVjdGVkXT1cImhvdXJcIlxuICAgICAgICByb2xlPVwibGlzdGJveFwiXG4gICAgICA+XG4gICAgICA8L2MtdGltZS1waWNrZXItcm9sbC1jb2w+XG4gICAgICA8Yy10aW1lLXBpY2tlci1yb2xsLWNvbFxuICAgICAgICAoc2VsZWN0ZWRDaGFuZ2UpPVwiaGFuZGxlU2VsZWN0VGltZUNoYW5nZSgkZXZlbnQsICdtaW51dGUnKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtlbGVtZW50c109XCJsaXN0T2ZNaW51dGVzXCJcbiAgICAgICAgW3JlZnJlc2hdPVwiZHJvcGRvd25NZW51LnZpc2libGVcIlxuICAgICAgICBbc2VsZWN0ZWRdPVwibWludXRlXCJcbiAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgPlxuICAgICAgPC9jLXRpbWUtcGlja2VyLXJvbGwtY29sPlxuICAgICAgPGMtdGltZS1waWNrZXItcm9sbC1jb2xcbiAgICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cImhhbmRsZVNlbGVjdFRpbWVDaGFuZ2UoJGV2ZW50LCAnc2Vjb25kJylcIlxuICAgICAgICAqbmdJZj1cInNlY29uZHNcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbZWxlbWVudHNdPVwibGlzdE9mU2Vjb25kc1wiXG4gICAgICAgIFtyZWZyZXNoXT1cImRyb3Bkb3duTWVudS52aXNpYmxlXCJcbiAgICAgICAgW3NlbGVjdGVkXT1cInNlY29uZFwiXG4gICAgICAgIHJvbGU9XCJsaXN0Ym94XCJcbiAgICAgID5cbiAgICAgIDwvYy10aW1lLXBpY2tlci1yb2xsLWNvbD5cbiAgICAgIDxjLXRpbWUtcGlja2VyLXJvbGwtYW0tcG1cbiAgICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cImhhbmRsZVNlbGVjdERheVBlcmlvZENoYW5nZSgkZXZlbnQpXCIgKm5nSWY9XCJob3VyMTJcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbZWxlbWVudHNdPVwiZGF5UGVyaW9kc1wiXG4gICAgICAgIFtyZWZyZXNoXT1cImRyb3Bkb3duTWVudS52aXNpYmxlXCJcbiAgICAgICAgW3NlbGVjdGVkXT1cImRheVBlcmlvZFwiXG4gICAgICAgIHJvbGU9XCJsaXN0Ym94XCJcbiAgICAgID5cbiAgICAgIDwvYy10aW1lLXBpY2tlci1yb2xsLWFtLXBtPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJ0ZW1wbGF0ZXM/LnRpbWVQaWNrZXJGb290ZXJcIiBjbGFzcz1cInRpbWUtcGlja2VyLWZvb3RlclwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlcz8udGltZVBpY2tlckZvb3RlcjsgY29udGV4dDogeyRpbXBsaWNpdDogZHJvcGRvd259XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9jLWRyb3Bkb3duPlxuIl19
|
|
515
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxFQUdOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsV0FBVyxFQUNYLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLFVBQVUsRUFDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUNMLGVBQWUsRUFDZixlQUFlLEVBQ2YsaUJBQWlCLEVBR2pCLE9BQU8sRUFDUCxhQUFhLEVBQ2IsY0FBYyxFQUNkLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLFdBQVcsRUFFWixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUscUJBQXFCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEcs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QyxPQUFPO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUU1QixVQUFVO3NCQUFuQixNQUFNO2dCQUVlLE1BQU07c0JBQTNCLFlBQVk7dUJBQUMsTUFBTTtnQkFJZ0MsV0FBVztzQkFBOUQsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBSWxELGdCQUFnQjtzQkFEZixlQUFlO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBEZXN0cm95UmVmLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgRm9ybUNvbnRyb2wsXG4gIEZvcm1Hcm91cCxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gIFZhbGlkYXRvcnNcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdGb3JPZiwgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgY29udmVydDEyaFRvMjRoLFxuICBjb252ZXJ0MjRoVG8xMmgsXG4gIGNvbnZlcnRUaW1lVG9EYXRlLFxuICBEYXRlVGltZUZvcm1hdE9wdGlvbnMsXG4gIERheVBlcmlvZCxcbiAgZ2V0QW1QbSxcbiAgZ2V0RGF5UGVyaW9kcyxcbiAgZ2V0TGlzdE9mSG91cnMsXG4gIGdldExpc3RPZk1pbnV0ZXMsXG4gIGdldExpc3RPZlNlY29uZHMsXG4gIGlzSG91cjEyLFxuICBpc1ZhbGlkVGltZSxcbiAgSVRpbWVWYWx1ZVxufSBmcm9tICcuL3RpbWUudXRpbHMnO1xuaW1wb3J0IHsgRHJvcGRvd25Db21wb25lbnQsIERyb3Bkb3duTWVudURpcmVjdGl2ZSwgRHJvcGRvd25Ub2dnbGVEaXJlY3RpdmUgfSBmcm9tICcuLi9kcm9wZG93bic7XG5pbXBvcnQgeyBGb3JtQ29udHJvbERpcmVjdGl2ZSwgRm9ybVNlbGVjdERpcmVjdGl2ZSwgSW5wdXRHcm91cENvbXBvbmVudCwgSW5wdXRHcm91cFRleHREaXJlY3RpdmUgfSBmcm9tICcuLi9mb3JtJztcbmltcG9ydCB7IFRlbXBsYXRlSWREaXJlY3RpdmUgfSBmcm9tICcuLi9zaGFyZWQnO1xuaW1wb3J0IHsgVGltZVBpY2tlclJvbGxDb2xDb21wb25lbnQgfSBmcm9tICcuL3RpbWUtcGlja2VyLXJvbGwtY29sL3RpbWUtcGlja2VyLXJvbGwtY29sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaW1lUGlja2VyUm9sbEFtUG1Db21wb25lbnQgfSBmcm9tICcuL3RpbWUtcGlja2VyLXJvbGwtY29sL3RpbWUtcGlja2VyLXJvbGwtYW0tcG0uY29tcG9uZW50JztcblxuLy8gdG9kbzogRm9jdXMgbWFuYWdlbWVudFxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLXRpbWUtcGlja2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGltZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdjVGltZVBpY2tlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0NsYXNzLFxuICAgIE5nSWYsXG4gICAgTmdGb3JPZixcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRHJvcGRvd25Db21wb25lbnQsXG4gICAgRHJvcGRvd25Ub2dnbGVEaXJlY3RpdmUsXG4gICAgRHJvcGRvd25NZW51RGlyZWN0aXZlLFxuICAgIEZvcm1Db250cm9sRGlyZWN0aXZlLFxuICAgIEZvcm1TZWxlY3REaXJlY3RpdmUsXG4gICAgSW5wdXRHcm91cENvbXBvbmVudCxcbiAgICBJbnB1dEdyb3VwVGV4dERpcmVjdGl2ZSxcbiAgICBUaW1lUGlja2VyUm9sbENvbENvbXBvbmVudCxcbiAgICBUaW1lUGlja2VyUm9sbEFtUG1Db21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUaW1lUGlja2VyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQge1xuXG4gIHJlYWRvbmx5ICNkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICAvKipcbiAgICogVG9nZ2xlIHZpc2liaWxpdHkgb3Igc2V0IHRoZSBjb250ZW50IG9mIHRoZSBjbGVhbmVyIGJ1dHRvbi5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgY2xlYW5lcjogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFNldHMgRGF0ZVRpbWUgZm9ybWF0IG9wdGlvbnMgaW5jbHVkaW5nIHRpbWVab25lXG4gICAqIEB0eXBlIERhdGVUaW1lRm9ybWF0T3B0aW9uc1xuICAgKiBAZGVmYXVsdCB7fVxuICAgKiBAbm90ZSBUaGUgZGF0ZSBvYmplY3QgZG9lc24ndCBzdG9yZSB0aW1lWm9uZSwgaXQga2VlcHMgdGhlIGxvY2FsIHRpbWV6b25lIG9mIHRoZSBicm93c2VyLCByZWdhcmRsZXNzIGlmIHlvdSBwYXJzZWQgVVRDIGRhdGVzLlxuICAgKi9cbiAgQElucHV0KCkgZGF0ZVRpbWVGb3JtYXRPcHRpb25zOiBEYXRlVGltZUZvcm1hdE9wdGlvbnMgPSB7fTtcblxuICAvKipcbiAgICogVG9nZ2xlIHRoZSBkaXNhYmxlZCBzdGF0ZSBmb3IgdGhlIGNvbXBvbmVudC5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEZpbHRlciBhdmFpbGFibGUgaG91cnMgdG8gcGljay5cbiAgICogQHR5cGUgKHZhbHVlOiBudW1iZXIpID0+IGJvb2xlYW47XG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgQElucHV0KCkgZmlsdGVySG91cnM/OiAodmFsdWU6IG51bWJlcikgPT4gYm9vbGVhbjtcblxuICAvKipcbiAgICogRmlsdGVyIGF2YWlsYWJsZSBtaW51dGVzIHRvIHBpY2suXG4gICAqIEB0eXBlICh2YWx1ZTogbnVtYmVyKSA9PiBib29sZWFuO1xuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIEBJbnB1dCgpIGZpbHRlck1pbnV0ZXM/OiAodmFsdWU6IG51bWJlcikgPT4gYm9vbGVhbjtcblxuICAvKipcbiAgICogRmlsdGVyIGF2YWlsYWJsZSBzZWNvbmRzIHRvIHBpY2suXG4gICAqIEB0eXBlICh2YWx1ZTogbnVtYmVyKSA9PiBib29sZWFuO1xuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIEBJbnB1dCgpIGZpbHRlclNlY29uZHM/OiAodmFsdWU6IG51bWJlcikgPT4gYm9vbGVhbjtcblxuICAvKipcbiAgICogVG9nZ2xlIHZpc2liaWxpdHkgb3Igc2V0IHRoZSBjb250ZW50IG9mIHRoZSBpbnB1dCBpbmRpY2F0b3IuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGluZGljYXRvcjogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB0aGUgcmVhZG9ubHkgc3RhdGUgZm9yIHRoZSBjb21wb25lbnQuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpbnB1dFJlYWRPbmx5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGRlZmF1bHQgbG9jYWxlIGZvciBjb21wb25lbnRzLiBJZiBub3Qgc2V0LCBpdCBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgYnJvd3Nlci5cbiAgICogQHR5cGUgc3RyaW5nXG4gICAqIEBkZWZhdWx0IGRlZmF1bHRcbiAgICovXG4gIEBJbnB1dCgpIGxvY2FsZTogc3RyaW5nID0gJ2RlZmF1bHQnO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgc2hvcnQgaGludCB2aXNpYmxlIGluIHRpbWUgaW5wdXQuXG4gICAqIEB0eXBlIHN0cmluZ1xuICAgKiBAZGVmYXVsdCAnU2VsZWN0IHRpbWUnXG4gICAqL1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ1NlbGVjdCB0aW1lJztcblxuICAvKipcbiAgICogVG9nZ2xlIHNlY29uZHMgdmlzaWJpbGl0eS5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNlY29uZHM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogU2l6ZSB0aGUgY29tcG9uZW50IHNtYWxsIG9yIGxhcmdlLlxuICAgKiBAdHlwZSAnc20nIHwgJ2xnJyB8IHVuZGVmaW5lZFxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIEBJbnB1dCgpIHNpemU/OiAnc20nIHwgJ2xnJztcblxuICAvKipcbiAgICogSW5pdGlhbCBzZWxlY3RlZCB0aW1lLlxuICAgKiBAdHlwZSBEYXRlIHwgc3RyaW5nIHwgbnVsbCB8IG51bWJlclxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCB0aW1lKHZhbHVlOiBEYXRlIHwgc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlICYmIGlzVmFsaWRUaW1lKHZhbHVlKSkge1xuICAgICAgY29uc3QgdGltZSA9IGNvbnZlcnRUaW1lVG9EYXRlKHZhbHVlKTtcbiAgICAgIGlmICghdGltZSkge1xuICAgICAgICB0aGlzLmNsZWFyVGltZSgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLmRheVBlcmlvZCA9IGdldEFtUG0odGltZSwgdGhpcy5sb2NhbGUpO1xuICAgICAgaWYgKHRoaXMuX3RpbWU/LmdldFRpbWUoKSAhPT0gdGltZS5nZXRUaW1lKCkpIHtcbiAgICAgICAgdGhpcy5fdGltZSA9IG5ldyBEYXRlKHRpbWUuZ2V0VGltZSgpKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbGVhclRpbWUoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgdGltZSgpOiBEYXRlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fdGltZTtcbiAgfVxuXG4gIHByaXZhdGUgX3RpbWU/OiBEYXRlO1xuICBwcml2YXRlIF90aW1lSW50ZXJuYWw/OiBEYXRlO1xuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHRpbWUgcGlja2VyIHZhcmlhbnQgdG8gYSByb2xsIG9yIHNlbGVjdC5cbiAgICogQHR5cGUgJ3JvbGwnIHwgJ3NlbGVjdCdcbiAgICogQGRlZmF1bHQgJ3JvbGwnXG4gICAqL1xuICBASW5wdXQoKSB2YXJpYW50OiAncm9sbCcgfCAnc2VsZWN0JyA9ICdyb2xsJztcblxuICAvKipcbiAgICogVG9nZ2xlIHZpc3VhbCB2YWxpZGF0aW9uIGZlZWRiYWNrLlxuICAgKiBAdHlwZSBib29sZWFuIHwgdW5kZWZpbmVkXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgQElucHV0KCkgdmFsaWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUb2dnbGUgdGhlIHZpc2liaWxpdHkgb2YgZHJvcGRvd24gdGltZXBpY2tlciBtZW51IGNvbXBvbmVudC5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgdGltZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGUgfCB1bmRlZmluZWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlIHwgdW5kZWZpbmVkPihmYWxzZSk7XG5cbiAgQEhvc3RMaXN0ZW5lcignYmx1cicpIG9uQmx1cigpIHtcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICB9XG5cbiAgQFZpZXdDaGlsZChEcm9wZG93bkNvbXBvbmVudCwgeyByZWFkOiBFbGVtZW50UmVmIH0pIGRyb3Bkb3duUmVmITogRWxlbWVudFJlZjtcblxuICB0ZW1wbGF0ZXM6IGFueSA9IHt9O1xuICBAQ29udGVudENoaWxkcmVuKFRlbXBsYXRlSWREaXJlY3RpdmUsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgY29udGVudFRlbXBsYXRlcyE6IFF1ZXJ5TGlzdDxUZW1wbGF0ZUlkRGlyZWN0aXZlPjtcblxuICBsaXN0T2ZIb3VycyE6IElUaW1lVmFsdWVbXTtcbiAgbGlzdE9mSG91cnMxMiE6IElUaW1lVmFsdWVbXTtcbiAgbGlzdE9mTWludXRlcyE6IElUaW1lVmFsdWVbXTtcbiAgbGlzdE9mU2Vjb25kcyE6IElUaW1lVmFsdWVbXTtcbiAgaG91cjEyOiBib29sZWFuID0gaXNIb3VyMTIodGhpcy5sb2NhbGUpO1xuICBkYXlQZXJpb2RzID0gW1xuICAgIHsgdmFsdWU6ICdhbScsIGxhYmVsOiAnYW0nIH0sXG4gICAgeyB2YWx1ZTogJ3BtJywgbGFiZWw6ICdwbScgfVxuICBdO1xuXG4gIGdldExpc3RPZkhvdXJzMTIoKTogSVRpbWVWYWx1ZVtdIHtcbiAgICBjb25zdCBsaXN0T2ZIb3VyczEyID0gdGhpcy5ob3VyMTIgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxpc3RPZkhvdXJzPy5maWx0ZXIoKGl0ZW0pID0+IChpdGVtLmRheVBlcmlvZCAmJiBpdGVtLmRheVBlcmlvZCA9PT0gdGhpcy5kYXlQZXJpb2QpIHx8ICFpdGVtLmRheVBlcmlvZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLmxpc3RPZkhvdXJzO1xuICAgIGlmICh0aGlzLmhvdXIxMikge1xuICAgICAgbGlzdE9mSG91cnMxMi5wdXNoKDxJVGltZVZhbHVlPmxpc3RPZkhvdXJzMTIuc2hpZnQoKSk7XG4gICAgfVxuICAgIHJldHVybiBsaXN0T2ZIb3VyczEyO1xuICB9XG5cbiAgc2V0IHRpbWVJbnB1dFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRpbWVJbnB1dC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5fdGltZUlucHV0VmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIGdldCB0aW1lSW5wdXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90aW1lSW5wdXRWYWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgX3RpbWVJbnB1dFZhbHVlOiBzdHJpbmcgPVxuICAgIHRoaXMudGltZT8udG9Mb2NhbGVUaW1lU3RyaW5nKHRoaXMubG9jYWxlLCB7IHRpbWVTdHlsZTogdGhpcy5zZWNvbmRzID8gJ21lZGl1bScgOiAnc2hvcnQnIH0pID8/XG4gICAgJyc7XG5cbiAgZ2V0IHRpbWVQaWNrZXJDbGFzc2VzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAndGltZS1waWNrZXInOiB0cnVlLFxuICAgICAgW2B0aW1lLXBpY2tlci0ke3RoaXMuc2l6ZX1gXTogISF0aGlzLnNpemUsXG4gICAgICAnZm9ybS1jb250cm9sJzogdGhpcy52YXJpYW50ID09PSAnc2VsZWN0JyAmJiB0aGlzLnZhbGlkICE9PSB1bmRlZmluZWQsXG4gICAgICAnaXMtdmFsaWQnOiB0aGlzLnZhbGlkID09PSB0cnVlLFxuICAgICAgJ2lzLWludmFsaWQnOiB0aGlzLnZhbGlkID09PSBmYWxzZSxcbiAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkXG4gICAgfTtcbiAgfVxuXG4gIHNlbGVjdFRpbWUgPSBuZXcgRm9ybUdyb3VwPHtcbiAgICBzZWxlY3RIb3VyczogRm9ybUNvbnRyb2w8bnVtYmVyIHwgbnVsbD47XG4gICAgc2VsZWN0TWludXRlczogRm9ybUNvbnRyb2w8bnVtYmVyIHwgbnVsbD47XG4gICAgc2VsZWN0U2Vjb25kcz86IEZvcm1Db250cm9sPG51bWJlciB8IG51bGw+O1xuICAgIHNlbGVjdERheVBlcmlvZD86IEZvcm1Db250cm9sPCdhbScgfCAncG0nIHwgbnVsbD47XG4gIH0+KFxuICAgIHtcbiAgICAgIHNlbGVjdEhvdXJzOiBuZXcgRm9ybUNvbnRyb2woXG4gICAgICAgIHsgdmFsdWU6IHRoaXMuaG91ciwgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQgfSxcbiAgICAgICAgeyB2YWxpZGF0b3JzOiBbVmFsaWRhdG9ycy5taW4oMCksIFZhbGlkYXRvcnMubWF4KHRoaXMuaG91cjEyID8gMTEgOiAyMyldIH1cbiAgICAgICksXG4gICAgICBzZWxlY3RNaW51dGVzOiBuZXcgRm9ybUNvbnRyb2woXG4gICAgICAgIHsgdmFsdWU6IHRoaXMubWludXRlLCBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCB9LFxuICAgICAgICB7IHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLm1pbigwKSwgVmFsaWRhdG9ycy5tYXgoNTkpXSB9XG4gICAgICApLFxuICAgICAgc2VsZWN0U2Vjb25kczogbmV3IEZvcm1Db250cm9sKFxuICAgICAgICB7IHZhbHVlOiB0aGlzLnNlY29uZCwgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQgfSxcbiAgICAgICAgeyB2YWxpZGF0b3JzOiBbVmFsaWRhdG9ycy5taW4oMCksIFZhbGlkYXRvcnMubWF4KDU5KV0gfVxuICAgICAgKSxcbiAgICAgIHNlbGVjdERheVBlcmlvZDogbmV3IEZvcm1Db250cm9sKFxuICAgICAgICB7IHZhbHVlOiB0aGlzLmRheVBlcmlvZCwgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQgfSxcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxuICAgICAgKVxuICAgIH0sXG4gICAgeyB2YWxpZGF0b3JzOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF0gfVxuICApO1xuXG4gIHRpbWVJbnB1dCA9IG5ldyBGb3JtQ29udHJvbChcbiAgICB7XG4gICAgICB2YWx1ZTogdGhpcy50aW1lSW5wdXRWYWx1ZSxcbiAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkXG4gICAgfSxcbiAgICB7IHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSB9XG4gICk7XG5cbiAgc2V0IGhvdXIodmFsdWU6IG51bWJlcikge1xuICAgIGlmICh0aGlzLl9ob3VyICE9PSB2YWx1ZSkge1xuICAgICAgaWYgKHZhbHVlIDwgMCkge1xuICAgICAgICB0aGlzLmNsZWFyVGltZSgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLl9ob3VyID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGhvdXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5faG91cjtcbiAgfVxuXG4gIHByaXZhdGUgX2hvdXIgPSAtMTtcblxuICBzZXQgbWludXRlKHZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5fbWludXRlICE9PSB2YWx1ZSkge1xuICAgICAgaWYgKHZhbHVlIDwgMCkge1xuICAgICAgICB0aGlzLmNsZWFyVGltZSgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLl9taW51dGUgPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBnZXQgbWludXRlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX21pbnV0ZTtcbiAgfVxuXG4gIHByaXZhdGUgX21pbnV0ZSA9IC0xO1xuXG4gIHNldCBzZWNvbmQodmFsdWU6IG51bWJlcikge1xuICAgIGlmICh0aGlzLl9zZWNvbmQgIT09IHZhbHVlKSB7XG4gICAgICBpZiAodmFsdWUgPCAwKSB7XG4gICAgICAgIHRoaXMuY2xlYXJUaW1lKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuX3NlY29uZCA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzZWNvbmQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fc2Vjb25kO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2Vjb25kID0gLTE7XG5cbiAgc2V0IGRheVBlcmlvZCh2YWx1ZSkge1xuICAgIGlmICh0aGlzLl9kYXlQZXJpb2QgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLl9kYXlQZXJpb2QgPSB2YWx1ZTtcbiAgICAgIGlmICh0aGlzLmxpc3RPZkhvdXJzKSB7XG4gICAgICAgIHRoaXMubGlzdE9mSG91cnMxMiA9IHRoaXMuZ2V0TGlzdE9mSG91cnMxMigpO1xuICAgICAgfVxuICAgICAgdGhpcy5wYXRjaFNlbGVjdFRpbWVWYWx1ZXMoKTtcbiAgICB9XG4gICAgLy8gdGhpcy5saXN0T2ZIb3VyczEyID0gdGhpcy5ob3VyMTJcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgICA/IHRoaXMubGlzdE9mSG91cnM/LmZpbHRlcihcbiAgICAvLyAgICAgKGl0ZW0pID0+IChpdGVtLmRheVBlcmlvZCAmJiBpdGVtLmRheVBlcmlvZCA9PT0gdmFsdWUpIHx8ICFpdGVtLmRheVBlcmlvZFxuICAgIC8vICAgKVxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5saXN0T2ZIb3VycztcbiAgICAvLyB0aGlzLnBhdGNoU2VsZWN0VGltZVZhbHVlcygpO1xuICB9XG5cbiAgZ2V0IGRheVBlcmlvZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF5UGVyaW9kO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGF5UGVyaW9kOiBEYXlQZXJpb2QgPSAnYW0nO1xuXG4gIHNldFRpbWUoKSB7XG4gICAgdGhpcy5faG91ciA9IHRoaXMuX2hvdXIgPCAwID8gMCA6IHRoaXMuX2hvdXI7XG4gICAgdGhpcy5fbWludXRlID0gdGhpcy5fbWludXRlIDwgMCA/IDAgOiB0aGlzLl9taW51dGU7XG4gICAgdGhpcy5fc2Vjb25kID0gdGhpcy5fc2Vjb25kIDwgMCA/IDAgOiB0aGlzLl9zZWNvbmQ7XG5cbiAgICBjb25zdCB0aW1lID0gbmV3IERhdGUodGhpcy5fdGltZT8uZ2V0VGltZSgpIHx8IG5ldyBEYXRlKCkpO1xuICAgIHRpbWUuc2V0SG91cnModGhpcy5ob3VyLCB0aGlzLm1pbnV0ZSwgdGhpcy5zZWNvbmQsIDApO1xuICAgIHRoaXMudGltZSA9IHRpbWU7XG4gICAgdGhpcy5lbWl0VGltZSh0aW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclRpbWUoKSB7XG4gICAgaWYgKHRoaXMudGltZSkge1xuICAgICAgdGhpcy5fdGltZSA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuZW1pdFRpbWUodW5kZWZpbmVkKTtcbiAgICB9XG4gICAgdGhpcy5faG91ciA9IC0xO1xuICAgIHRoaXMuX21pbnV0ZSA9IC0xO1xuICAgIHRoaXMuX3NlY29uZCA9IC0xO1xuICAgIHRoaXMuZGF5UGVyaW9kID0gJ2FtJztcbiAgICB0aGlzLnBhdGNoU2VsZWN0VGltZVZhbHVlcygpO1xuICAgIHRoaXMudGltZUlucHV0VmFsdWUgPSAnJztcbiAgfVxuXG4gIGVtaXRUaW1lKHRpbWU6IERhdGUgfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCB0aW1lVmFsdWUgPSAhIXRpbWUgJiYgaXNWYWxpZFRpbWUodGltZSkgPyBuZXcgRGF0ZSh0aW1lLmdldFRpbWUoKSkgOiB1bmRlZmluZWQ7XG4gICAgaWYgKHRoaXMuX3RpbWVJbnRlcm5hbD8uZ2V0VGltZSgpICE9PSB0aW1lVmFsdWU/LmdldFRpbWUoKSkge1xuICAgICAgdGhpcy50aW1lQ2hhbmdlLmVtaXQodGltZVZhbHVlKTtcbiAgICAgIHRoaXMub25DaGFuZ2UodGltZVZhbHVlKTtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICB0aGlzLl90aW1lSW50ZXJuYWwgPSB0aW1lVmFsdWU7XG4gICAgfVxuICAgIHRoaXMudGltZUlucHV0VmFsdWUgPVxuICAgICAgdGhpcy50aW1lPy50b0xvY2FsZVRpbWVTdHJpbmcodGhpcy5sb2NhbGUsIHtcbiAgICAgICAgdGltZVN0eWxlOiB0aGlzLnNlY29uZHMgPyAnbWVkaXVtJyA6ICdzaG9ydCdcbiAgICAgIH0pID8/ICcnO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRUaW1lTGlzdHMoKTtcbiAgICB0aGlzLnVwZGF0ZVNlbGVjdFRpbWUoKTtcbiAgICB0aGlzLnNldENoYW5nZUhhbmRsZXJzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3RpbWUnXSkge1xuICAgICAgaWYgKCFjaGFuZ2VzWyd0aW1lJ10uZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgaWYgKHRoaXMuX3RpbWVJbnRlcm5hbD8uZ2V0VGltZSgpICE9PSBjaGFuZ2VzWyd0aW1lJ10uY3VycmVudFZhbHVlPy5nZXRUaW1lKCkpIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZVNlbGVjdFRpbWUoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuY29udGVudFRlbXBsYXRlcy5mb3JFYWNoKChjaGlsZDogVGVtcGxhdGVJZERpcmVjdGl2ZSkgPT4ge1xuICAgICAgICB0aGlzLnRlbXBsYXRlc1tjaGlsZC5pZF0gPSBjaGlsZC50ZW1wbGF0ZVJlZjtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgc2V0VGltZUxpc3RzKCkge1xuICAgIHRoaXMuZGF5UGVyaW9kcyA9IGdldERheVBlcmlvZHModGhpcy5sb2NhbGUsIHRoaXMuZGF0ZVRpbWVGb3JtYXRPcHRpb25zKTtcbiAgICB0aGlzLmhvdXIxMiA9IGlzSG91cjEyKHRoaXMubG9jYWxlKTtcbiAgICB0aGlzLmxpc3RPZkhvdXJzID0gdGhpcy5saXN0T2ZUaW1lU2VnbWVudHMoZ2V0TGlzdE9mSG91cnMsIHRoaXMuZmlsdGVySG91cnMpO1xuICAgIHRoaXMubGlzdE9mTWludXRlcyA9IHRoaXMubGlzdE9mVGltZVNlZ21lbnRzKGdldExpc3RPZk1pbnV0ZXMsIHRoaXMuZmlsdGVyTWludXRlcyk7XG4gICAgdGhpcy5saXN0T2ZTZWNvbmRzID0gdGhpcy5saXN0T2ZUaW1lU2VnbWVudHMoZ2V0TGlzdE9mU2Vjb25kcywgdGhpcy5maWx0ZXJTZWNvbmRzKTtcbiAgICBpZiAodGhpcy52YXJpYW50ID09PSAnc2VsZWN0Jykge1xuICAgICAgY29uc3QgdW5kZWZTZWdtZW50ID0geyB2YWx1ZTogLTEsIGxhYmVsOiAnIC0tJywgZGlzYWJsZWQ6IHRydWUgfTtcbiAgICAgIHRoaXMubGlzdE9mSG91cnMudW5zaGlmdCh7IC4uLnVuZGVmU2VnbWVudCB9KTtcbiAgICAgIHRoaXMubGlzdE9mTWludXRlcy51bnNoaWZ0KHsgLi4udW5kZWZTZWdtZW50IH0pO1xuICAgICAgdGhpcy5saXN0T2ZTZWNvbmRzLnVuc2hpZnQoeyAuLi51bmRlZlNlZ21lbnQgfSk7XG4gICAgfVxuICAgIHRoaXMubGlzdE9mSG91cnMxMiA9IHRoaXMuZ2V0TGlzdE9mSG91cnMxMigpO1xuICB9XG5cbiAgdXBkYXRlU2VsZWN0VGltZSh0aW1lID0gdGhpcy50aW1lKSB7XG4gICAgaWYgKCEhdGltZSAmJiBpc1ZhbGlkVGltZSh0aW1lKSkge1xuICAgICAgY29uc3QgaG91ciA9IHRpbWUuZ2V0SG91cnMoKSA/PyAwO1xuICAgICAgY29uc3QgbWludXRlID0gdGltZS5nZXRNaW51dGVzKCkgPz8gMDtcbiAgICAgIGNvbnN0IHNlY29uZCA9IHRoaXMuc2Vjb25kcyA/IHRpbWUuZ2V0U2Vjb25kcygpID8/IDAgOiAwO1xuXG4gICAgICBjb25zdCBjbG9zZXN0U2Vjb25kID0gdGhpcy5jbG9zZXN0VGltZSh0aGlzLmxpc3RPZlNlY29uZHMsIHNlY29uZCk7XG4gICAgICBjb25zdCBjbG9zZXN0TWludXRlID0gdGhpcy5jbG9zZXN0VGltZSh0aGlzLmxpc3RPZk1pbnV0ZXMsIG1pbnV0ZSk7XG4gICAgICBjb25zdCBjbG9zZXN0SG91ciA9IHRoaXMuY2xvc2VzdFRpbWUodGhpcy5saXN0T2ZIb3VycywgaG91cik7XG5cbiAgICAgIHRoaXMuc2Vjb25kID0gdGhpcy5zZWNvbmRzID8gY2xvc2VzdFNlY29uZC52YWx1ZSA6IDA7XG4gICAgICB0aGlzLm1pbnV0ZSA9IGNsb3Nlc3RNaW51dGUudmFsdWU7XG4gICAgICB0aGlzLmhvdXIgPSBjbG9zZXN0SG91ci52YWx1ZTtcbiAgICAgIHRoaXMuc2V0VGltZSgpO1xuICAgICAgdGhpcy5wYXRjaFNlbGVjdFRpbWVWYWx1ZXMoKTtcbiAgICB9XG4gIH1cblxuICBjbG9zZXN0VGltZSh0aW1lQXJyYXk6IElUaW1lVmFsdWVbXSwgdGltZVNlZ21lbnQ6IG51bWJlcikge1xuICAgIGxldCBhcnJheSA9IHRpbWVBcnJheSA/PyBbeyB2YWx1ZTogMCwgbGFiZWw6ICcwMCcgfV07XG4gICAgaWYgKHRoaXMudGltZSkge1xuICAgICAgYXJyYXkgPSB0aW1lQXJyYXkuZmlsdGVyKChlbCkgPT4gZWwudmFsdWUgPj0gMCk7XG4gICAgICBhcnJheSA9IGFycmF5Lmxlbmd0aCA/IGFycmF5IDogdGltZUFycmF5O1xuICAgIH1cbiAgICByZXR1cm4gYXJyYXkucmVkdWNlKChhOiBJVGltZVZhbHVlLCBiOiBJVGltZVZhbHVlKSA9PiB7XG4gICAgICByZXR1cm4gTWF0aC5hYnMoYi52YWx1ZSAtIHRpbWVTZWdtZW50KSA8IE1hdGguYWJzKGEudmFsdWUgLSB0aW1lU2VnbWVudCkgPyBiIDogYTtcbiAgICB9KTtcbiAgfVxuXG4gIGxpc3RPZlRpbWVTZWdtZW50cyhcbiAgICBnZXRMaXN0T2ZUaW1lU2VnbWVudHM6IChcbiAgICAgIGxvY2FsZTogc3RyaW5nLFxuICAgICAgZGF0ZVRpbWVGb3JtYXRPcHRpb25zOiBEYXRlVGltZUZvcm1hdE9wdGlvbnNcbiAgICApID0+IElUaW1lVmFsdWVbXSxcbiAgICBmaWx0ZXJUaW1lU2VnbWVudHM6ICgodGltZVNlZ21lbnRWYWx1ZTogbnVtYmVyKSA9PiBib29sZWFuKSB8IHVuZGVmaW5lZFxuICApIHtcbiAgICBjb25zdCBsaXN0ID0gZ2V0TGlzdE9mVGltZVNlZ21lbnRzKHRoaXMubG9jYWxlLCB0aGlzLmRhdGVUaW1lRm9ybWF0T3B0aW9ucykuZmlsdGVyKFxuICAgICAgKHNlZ21lbnQ6IElUaW1lVmFsdWUpID0+IHtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBmaWx0ZXJUaW1lU2VnbWVudHMgPT09ICdmdW5jdGlvbicgPyBmaWx0ZXJUaW1lU2VnbWVudHMoc2VnbWVudC52YWx1ZSkgOiB0cnVlO1xuICAgICAgfVxuICAgICk7XG4gICAgcmV0dXJuIGxpc3QubGVuZ3RoXG4gICAgICAgICAgID8gbGlzdFxuICAgICAgICAgICA6IGdldExpc3RPZlRpbWVTZWdtZW50cyh0aGlzLmxvY2FsZSwgdGhpcy5kYXRlVGltZUZvcm1hdE9wdGlvbnMpLnNsaWNlKDAsIDEpO1xuICB9XG5cbiAgaGFuZGxlU2VsZWN0RGF5UGVyaW9kQ2hhbmdlKGRheVBlcmlvZDogRGF5UGVyaW9kKSB7XG4gICAgaWYgKGRheVBlcmlvZCAhPT0gdGhpcy5kYXlQZXJpb2QpIHtcbiAgICAgIGNvbnN0IGhycyA9IHRoaXMudGltZT8uZ2V0SG91cnMoKSA/PyAodGhpcy5ob3VyIDwgMCA/IDAgOiB0aGlzLmhvdXIpO1xuICAgICAgY29uc3QgaG91ciA9IGhycyA+IDEyID8gY29udmVydDI0aFRvMTJoKGhycykgOiBjb252ZXJ0MTJoVG8yNGgoZGF5UGVyaW9kLCBocnMpO1xuICAgICAgdGhpcy5ob3VyID0gdGhpcy5jbG9zZXN0VGltZSh0aGlzLmxpc3RPZkhvdXJzLCBob3VyKS52YWx1ZTtcbiAgICAgIGlmIChob3VyID49IDApIHtcbiAgICAgICAgdGhpcy5zZXRUaW1lKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnVwZGF0ZVNlbGVjdFRpbWUoKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVTZWxlY3RUaW1lQ2hhbmdlKHZhbHVlOiBudW1iZXIsIHNlZ21lbnQ6ICdob3VyJyB8ICdtaW51dGUnIHwgJ3NlY29uZCcpIHtcbiAgICB0aGlzW3NlZ21lbnRdID0gdmFsdWU7XG4gICAgaWYgKHZhbHVlID49IDApIHtcbiAgICAgIHRoaXMuc2V0VGltZSgpO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZVNlbGVjdFRpbWUoKTtcbiAgfVxuXG4gIHBhdGNoU2VsZWN0VGltZVZhbHVlcygpIHtcbiAgICBjb25zdCBkYXlQZXJpb2QgPSB0aGlzLnNlbGVjdFRpbWUuZ2V0KCdzZWxlY3REYXlQZXJpb2QnKT8udmFsdWU7XG4gICAgaWYgKHRoaXMuZGF5UGVyaW9kICE9PSBkYXlQZXJpb2QpIHtcbiAgICAgIHRoaXMuc2VsZWN0VGltZS5wYXRjaFZhbHVlKHtcbiAgICAgICAgc2VsZWN0RGF5UGVyaW9kOiB0aGlzLmRheVBlcmlvZCA/PyAnYW0nXG4gICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgaG91cnMgPSB0aGlzLnNlbGVjdFRpbWUuZ2V0KCdzZWxlY3RIb3VycycpPy52YWx1ZTtcbiAgICBjb25zdCBtaW51dGVzID0gdGhpcy5zZWxlY3RUaW1lLmdldCgnc2VsZWN0TWludXRlcycpPy52YWx1ZTtcbiAgICBjb25zdCBzZWNvbmRzID0gdGhpcy5zZWxlY3RUaW1lLmdldCgnc2VsZWN0U2Vjb25kcycpPy52YWx1ZTtcbiAgICBjb25zdCBnb1VwZGF0ZSA9XG4gICAgICAodGhpcy5zZWNvbmQgPCAwICYmIHRoaXMubWludXRlIDwgMCkgfHxcbiAgICAgICh0aGlzLmhvdXIgPj0gMCAmJiB0aGlzLm1pbnV0ZSA+PSAwICYmIHRoaXMuc2Vjb25kID49IDApO1xuICAgIGNvbnN0IHRpbWVDaGFuZ2VkID0gdGhpcy5ob3VyICE9PSBob3VycyB8fCB0aGlzLm1pbnV0ZSAhPT0gbWludXRlcyB8fCB0aGlzLnNlY29uZCAhPT0gc2Vjb25kcztcbiAgICBpZiAoZ29VcGRhdGUgJiYgdGltZUNoYW5nZWQpIHtcbiAgICAgIGlmICh0aGlzLmhvdXIgIT09IGhvdXJzKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0VGltZS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICBzZWxlY3RIb3VyczogdGhpcy5ob3VyID8/IDBcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5taW51dGUgIT09IG1pbnV0ZXMpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RUaW1lLnBhdGNoVmFsdWUoe1xuICAgICAgICAgIHNlbGVjdE1pbnV0ZXM6IHRoaXMubWludXRlID8/IDBcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5zZWNvbmQgIT09IHNlY29uZHMpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RUaW1lLnBhdGNoVmFsdWUoe1xuICAgICAgICAgIHNlbGVjdFNlY29uZHM6IHRoaXMuc2Vjb25kID8/IDBcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdHJhY2tCeUhvdXIoaW5kZXg6IG51bWJlciwgaG91cjogSVRpbWVWYWx1ZSkge1xuICAgIHJldHVybiBob3VyO1xuICB9XG5cbiAgb25DaGFuZ2UgPSAodmFsdWU6IERhdGUgfCB1bmRlZmluZWQpID0+IHt9O1xuICBvblRvdWNoZWQgPSAoKSA9PiB7fTtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnRpbWUgPSB2YWx1ZTtcbiAgICB0aGlzLnVwZGF0ZVNlbGVjdFRpbWUoKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICBoYW5kbGVUaW1lSW5wdXRDaGFuZ2UoJGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCB2YWx1ZSA9ICRldmVudC50YXJnZXQ/LnZhbHVlO1xuICAgIGlmICghdmFsdWUgfHwgIWlzVmFsaWRUaW1lKHZhbHVlKSkge1xuICAgICAgdGhpcy5jbGVhclRpbWUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdGltZSA9IGNvbnZlcnRUaW1lVG9EYXRlKHZhbHVlKTtcbiAgICB0aGlzLnVwZGF0ZVNlbGVjdFRpbWUodGltZSA/PyBuZXcgRGF0ZShEYXRlLm5vdygpKSk7XG4gIH1cblxuICBoYW5kbGVDbGVhcigkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICB0aGlzLmNsZWFyVGltZSgpO1xuICB9XG5cbiAgaGFuZGxlQmx1cigkZXZlbnQ6IEZvY3VzRXZlbnQpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmRyb3Bkb3duUmVmPy5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3QucmVtb3ZlKCdzaG93Jyk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm9uQmx1cigpO1xuICAgIH0sIDEwMCk7XG4gIH1cblxuICBoYW5kbGVGb2N1cygkZXZlbnQ6IEZvY3VzRXZlbnQpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmRyb3Bkb3duUmVmPy5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3QuYWRkKCdzaG93Jyk7XG4gIH1cblxuICBzZXRDaGFuZ2VIYW5kbGVycygpIHtcblxuICAgIGlmICh0aGlzLnZhcmlhbnQgIT09ICdzZWxlY3QnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RUaW1lLmdldCgnc2VsZWN0SG91cnMnKT8udmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKHZhbHVlID0+IHtcbiAgICAgICAgICB0aGlzLmhhbmRsZVNlbGVjdFRpbWVDaGFuZ2UoPG51bWJlcj52YWx1ZSwgJ2hvdXInKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5zZWxlY3RUaW1lLmdldCgnc2VsZWN0TWludXRlcycpPy52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAodmFsdWUgPT4ge1xuICAgICAgICAgIHRoaXMuaGFuZGxlU2VsZWN0VGltZUNoYW5nZSg8bnVtYmVyPnZhbHVlLCAnbWludXRlJyk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZilcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuc2VsZWN0VGltZS5nZXQoJ3NlbGVjdFNlY29uZHMnKT8udmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuc2Vjb25kcyksXG4gICAgICAgIHRhcCh2YWx1ZSA9PiB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVTZWxlY3RUaW1lQ2hhbmdlKDxudW1iZXI+dmFsdWUsICdzZWNvbmQnKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLiNkZXN0cm95UmVmKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5zZWxlY3RUaW1lLmdldCgnc2VsZWN0RGF5UGVyaW9kJyk/LnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLmhvdXIxMiksXG4gICAgICAgIHRhcCh2YWx1ZSA9PiB7XG4gICAgICAgICAgdGhpcy5oYW5kbGVTZWxlY3REYXlQZXJpb2RDaGFuZ2UoPERheVBlcmlvZD52YWx1ZSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZilcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cInZhcmlhbnQ9PT0nc2VsZWN0J1wiIGNsYXNzPVwiZGF0ZS1waWNrZXItdGltZXBpY2tlcnNcIj5cbiAgPGRpdiBjbGFzcz1cInBpY2tlciB0aW1lLXBpY2tlclwiPlxuICAgIDxkaXYgW2Zvcm1Hcm91cF09XCJzZWxlY3RUaW1lXCIgW25nQ2xhc3NdPVwidGltZVBpY2tlckNsYXNzZXNcIiBjbGFzcz1cInRpbWUtcGlja2VyLWJvZHlcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGltZS1waWNrZXItaW5saW5lLWljb25cIj48L3NwYW4+XG4gICAgICA8c2VsZWN0IChibHVyKT1cIm9uQmx1cigpXCIgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbnVsbFwiIFtzaXppbmddPVwic2l6ZSA/PyAnJ1wiXG4gICAgICAgICAgICAgIGNTZWxlY3QgY2xhc3M9XCJ0aW1lLXBpY2tlci1pbmxpbmUtc2VsZWN0IG1zLTBcIiBmb3JtQ29udHJvbE5hbWU9XCJzZWxlY3RIb3Vyc1wiPlxuICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBob3VyIG9mIGxpc3RPZkhvdXJzMTI7IGluZGV4IGFzIGk7IHRyYWNrQnk6IHRyYWNrQnlIb3VyXCIgW2F0dHIuZGlzYWJsZWRdPVwiaG91ci5kaXNhYmxlZCB8fCBudWxsXCJcbiAgICAgICAgICAgICAgICBbbmdWYWx1ZV09XCJob3VyLnZhbHVlXCI+e3tob3VyLmxhYmVsfX08L29wdGlvbj5cbiAgICAgIDwvc2VsZWN0PlxuICAgICAge3snIDonfX08c2VsZWN0IChibHVyKT1cIm9uQmx1cigpXCIgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgbnVsbFwiIFtzaXppbmddPVwic2l6ZSA/PyAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgY1NlbGVjdCBjbGFzcz1cInRpbWUtcGlja2VyLWlubGluZS1zZWxlY3QgbXMtMFwiIGZvcm1Db250cm9sTmFtZT1cInNlbGVjdE1pbnV0ZXNcIj5cbiAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IG1pbnV0ZSBvZiBsaXN0T2ZNaW51dGVzIDsgdHJhY2tCeTogdHJhY2tCeUhvdXJcIiBbYXR0ci5kaXNhYmxlZF09XCJtaW51dGUuZGlzYWJsZWQgfHwgbnVsbFwiXG4gICAgICAgICAgICAgIFtuZ1ZhbHVlXT1cIm1pbnV0ZS52YWx1ZVwiPnt7bWludXRlLmxhYmVsfX08L29wdGlvbj5cbiAgICA8L3NlbGVjdD5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJzZWNvbmRzXCI+XG4gICAgICAgIHt7JyA6J319PHNlbGVjdCAoYmx1cik9XCJvbkJsdXIoKVwiIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkIHx8IG51bGxcIiBbc2l6aW5nXT1cInNpemUgPz8gJydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY1NlbGVjdCBjbGFzcz1cInRpbWUtcGlja2VyLWlubGluZS1zZWxlY3QgbXMtMFwiIGZvcm1Db250cm9sTmFtZT1cInNlbGVjdFNlY29uZHNcIj5cbiAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgc2Vjb25kIG9mIGxpc3RPZlNlY29uZHM7IHRyYWNrQnk6IHRyYWNrQnlIb3VyXCIgW2F0dHIuZGlzYWJsZWRdPVwic2Vjb25kLmRpc2FibGVkIHx8IG51bGxcIlxuICAgICAgICAgICAgICAgIFtuZ1ZhbHVlXT1cInNlY29uZC52YWx1ZVwiPnt7c2Vjb25kLmxhYmVsfX08L29wdGlvbj5cbiAgICAgIDwvc2VsZWN0PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJob3VyMTJcIj5cbiAgICAgICAgPHNlbGVjdCAoYmx1cik9XCJvbkJsdXIoKVwiIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkIHx8IG51bGxcIiBbc2l6aW5nXT1cInNpemUgPz8gJydcIlxuICAgICAgICAgICAgICAgIGNTZWxlY3QgY2xhc3M9XCJ0aW1lLXBpY2tlci1pbmxpbmUtc2VsZWN0IG1zLTBcIiBmb3JtQ29udHJvbE5hbWU9XCJzZWxlY3REYXlQZXJpb2RcIj5cbiAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBkYXlQZXJpb2Qgb2YgZGF5UGVyaW9kc1wiIFtuZ1ZhbHVlXT1cImRheVBlcmlvZC52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInRpbWUtcGlja2VyLXJvbGwtY2VsbFwiPnt7ZGF5UGVyaW9kLmxhYmVsfX08L29wdGlvbj5cbiAgICAgICAgPC9zZWxlY3Q+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48Yy1kcm9wZG93biAjZHJvcGRvd249XCJjRHJvcGRvd25cIiAqbmdJZj1cInZhcmlhbnQ9PT0ncm9sbCdcIiBbYXV0b0Nsb3NlXT1cIidvdXRzaWRlJ1wiIFtuZ0NsYXNzXT1cInRpbWVQaWNrZXJDbGFzc2VzXCJcbiAgICAgICAgICAgIFt2aXNpYmxlXT1cInZpc2libGVcIj5cbiAgPGRpdiBbY2FyZXRdPVwiZmFsc2VcIiBjRHJvcGRvd25Ub2dnbGUgY2xhc3M9XCJ0aW1lLXBpY2tlci1pbnB1dC1ncm91cFwiPlxuICAgIDxpbnB1dCAoYmx1cik9XCJoYW5kbGVCbHVyKCRldmVudCk7XCJcbiAgICAgICAgICAgKGNoYW5nZSk9XCJoYW5kbGVUaW1lSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgIChmb2N1cyk9XCJoYW5kbGVGb2N1cygkZXZlbnQpXCJcbiAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPz8gZHJvcGRvd24udmlzaWJsZSA/ICcnIDogbnVsbFwiXG4gICAgICAgICAgIFthdHRyLnBhdHRlcm5dPVwiaG91cjEyID8gJygoKDBbMS05XSl8KDFbMC0yXSkpOihbMC01XSkoWzAtOV0pXFxcXHMoQXxQKU0pJyA6ICcoWzAxXT9bMC05XXwyWzAtM10pOlswLTVdWzAtOV0nXCJcbiAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwiZGlzYWJsZWQgPyAtMSA6IDBcIlxuICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwidGltZUlucHV0XCJcbiAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgW3JlYWRvbmx5XT1cImlucHV0UmVhZE9ubHkgPz8gbnVsbFwiXG4gICAgICAgICAgIGNsYXNzPVwidGltZS1waWNrZXItaW5wdXRcIlxuICAgID5cbiAgICA8ZGl2ICpuZ0lmPVwiaW5kaWNhdG9yXCIgY2xhc3M9XCJ0aW1lLXBpY2tlci1pbmRpY2F0b3JcIj48L2Rpdj5cbiAgICA8ZGl2IChjbGljayk9XCIhZGlzYWJsZWQgJiYgaGFuZGxlQ2xlYXIoJGV2ZW50KVwiICpuZ0lmPVwiY2xlYW5lciAmJiB0aW1lICYmICFkaXNhYmxlZFwiIGNsYXNzPVwidGltZS1waWNrZXItY2xlYW5lclwiXG4gICAgICAgICByb2xlPVwiYnV0dG9uXCI+PC9kaXY+XG5cbiAgPC9kaXY+XG4gIDxkaXYgI2Ryb3Bkb3duTWVudT1cImNEcm9wZG93bk1lbnVcIiBjRHJvcGRvd25NZW51IGNsYXNzPVwidGltZS1waWNrZXItZHJvcGRvd24gcHktMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0aW1lLXBpY2tlci1ib2R5IHRpbWUtcGlja2VyLXJvbGxcIiBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZTtcIj5cbiAgICAgIDxjLXRpbWUtcGlja2VyLXJvbGwtY29sXG4gICAgICAgIChzZWxlY3RlZENoYW5nZSk9XCJoYW5kbGVTZWxlY3RUaW1lQ2hhbmdlKCRldmVudCwgJ2hvdXInKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtlbGVtZW50c109XCJsaXN0T2ZIb3VyczEyXCJcbiAgICAgICAgW3JlZnJlc2hdPVwiZHJvcGRvd25NZW51LnZpc2libGVcIlxuICAgICAgICBbc2VsZWN0ZWRdPVwiaG91clwiXG4gICAgICAgIHJvbGU9XCJsaXN0Ym94XCJcbiAgICAgID5cbiAgICAgIDwvYy10aW1lLXBpY2tlci1yb2xsLWNvbD5cbiAgICAgIDxjLXRpbWUtcGlja2VyLXJvbGwtY29sXG4gICAgICAgIChzZWxlY3RlZENoYW5nZSk9XCJoYW5kbGVTZWxlY3RUaW1lQ2hhbmdlKCRldmVudCwgJ21pbnV0ZScpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW2VsZW1lbnRzXT1cImxpc3RPZk1pbnV0ZXNcIlxuICAgICAgICBbcmVmcmVzaF09XCJkcm9wZG93bk1lbnUudmlzaWJsZVwiXG4gICAgICAgIFtzZWxlY3RlZF09XCJtaW51dGVcIlxuICAgICAgICByb2xlPVwibGlzdGJveFwiXG4gICAgICA+XG4gICAgICA8L2MtdGltZS1waWNrZXItcm9sbC1jb2w+XG4gICAgICA8Yy10aW1lLXBpY2tlci1yb2xsLWNvbFxuICAgICAgICAoc2VsZWN0ZWRDaGFuZ2UpPVwiaGFuZGxlU2VsZWN0VGltZUNoYW5nZSgkZXZlbnQsICdzZWNvbmQnKVwiXG4gICAgICAgICpuZ0lmPVwic2Vjb25kc1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtlbGVtZW50c109XCJsaXN0T2ZTZWNvbmRzXCJcbiAgICAgICAgW3JlZnJlc2hdPVwiZHJvcGRvd25NZW51LnZpc2libGVcIlxuICAgICAgICBbc2VsZWN0ZWRdPVwic2Vjb25kXCJcbiAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgPlxuICAgICAgPC9jLXRpbWUtcGlja2VyLXJvbGwtY29sPlxuICAgICAgPGMtdGltZS1waWNrZXItcm9sbC1hbS1wbVxuICAgICAgICAoc2VsZWN0ZWRDaGFuZ2UpPVwiaGFuZGxlU2VsZWN0RGF5UGVyaW9kQ2hhbmdlKCRldmVudClcIiAqbmdJZj1cImhvdXIxMlwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtlbGVtZW50c109XCJkYXlQZXJpb2RzXCJcbiAgICAgICAgW3JlZnJlc2hdPVwiZHJvcGRvd25NZW51LnZpc2libGVcIlxuICAgICAgICBbc2VsZWN0ZWRdPVwiZGF5UGVyaW9kXCJcbiAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgPlxuICAgICAgPC9jLXRpbWUtcGlja2VyLXJvbGwtYW0tcG0+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cInRlbXBsYXRlcz8udGltZVBpY2tlckZvb3RlclwiIGNsYXNzPVwidGltZS1waWNrZXItZm9vdGVyXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVzPy50aW1lUGlja2VyRm9vdGVyOyBjb250ZXh0OiB7JGltcGxpY2l0OiBkcm9wZG93bn1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2MtZHJvcGRvd24+XG4iXX0=
|
|
@@ -9,8 +9,8 @@ import { DayPeriodElementDirective, TimePickerRollAmPmComponent } from './time-p
|
|
|
9
9
|
import { TimePickerComponent } from './time-picker.component';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
export class TimePickerModule {
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.
|
|
13
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
13
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: TimePickerModule, imports: [CommonModule,
|
|
14
14
|
ReactiveFormsModule,
|
|
15
15
|
FormModule,
|
|
16
16
|
ButtonModule,
|
|
@@ -20,7 +20,7 @@ export class TimePickerModule {
|
|
|
20
20
|
TimePickerComponent,
|
|
21
21
|
TimePickerRollAmPmComponent,
|
|
22
22
|
TimePickerRollColComponent], exports: [TimePickerComponent] }); }
|
|
23
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.
|
|
23
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TimePickerModule, imports: [CommonModule,
|
|
24
24
|
ReactiveFormsModule,
|
|
25
25
|
FormModule,
|
|
26
26
|
ButtonModule,
|
|
@@ -29,7 +29,7 @@ export class TimePickerModule {
|
|
|
29
29
|
TimePickerRollAmPmComponent,
|
|
30
30
|
TimePickerRollColComponent] }); }
|
|
31
31
|
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TimePickerModule, decorators: [{
|
|
33
33
|
type: NgModule,
|
|
34
34
|
args: [{
|
|
35
35
|
declarations: [],
|
|
@@ -642,4 +642,4 @@ export const getDayPeriods = (locale = 'default', options = {}) => {
|
|
|
642
642
|
// };
|
|
643
643
|
//
|
|
644
644
|
// Object.keys(formats).forEach(lang => {const period = getDayPeriods(lang); if (period.am === 'AM') return; console.log(lang, period )})
|
|
645
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvdGltZS1waWNrZXIvdGltZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFnQ3pELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsU0FBaUIsU0FBUyxFQUFFLEVBQUU7SUFDL0QsSUFBSSxlQUF1QixDQUFDO0lBQzVCLElBQUksQ0FBQztRQUNILGVBQWUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDL0YsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDWCxlQUFlLEdBQUcsU0FBUyxDQUFDO0lBQzlCLENBQUM7SUFDRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxTQUFpQixTQUFTLEVBQVcsRUFBRTtJQUM5RCxNQUFNLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFBRSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUNyRyxPQUFPLE1BQU0sSUFBSSxLQUFLLENBQUM7QUFDekIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsSUFBaUIsRUFBRSxJQUFZLEVBQUUsRUFBRTtJQUNqRSxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEVBQUUsRUFBRSxDQUFD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QjtBQUM1Qiw0QkFBNEI7QUFDNUIsNEJBQTRCO0FBQzVCLDJCQUEyQjtBQUMzQiwyQkFBMkI7QUFDM0IsNkJBQTZCO0FBQzdCLDBCQUEwQjtBQUMxQiw2QkFBNkI7QUFDN0IsMEJBQTBCO0FBQzFCLDRCQUE0QjtBQUM1Qiw0QkFBNEI7QUFDNUIsMEJBQTBCO0FBQzFCLDZCQUE2QjtBQUM3Qiw2QkFBNkI7QUFDN0IsMEJBQTBCO0FBQzFCLCtCQUErQjtBQUMvQiwyQkFBMkI7QUFDM0IsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQiwwQkFBMEI7QUFDMUIsNEJBQTRCO0FBQzVCLCtCQUErQjtBQUMvQiwrQkFBK0I7QUFDL0IsNEJBQTRCO0FBQzVCLCtCQUErQjtBQUMvQiw0QkFBNEI7QUFDNUIsNEJBQTRCO0FBQzVCLDRCQUE0QjtBQUM1QiwwQkFBMEI7QUFDMUIsMkJBQTJCO0FBQzNCLDRCQUE0QjtBQUM1QiwwQkFBMEI7QUFDMUIsNEJBQTRCO0FBQzVCLDBCQUEwQjtBQUMxQiwwQkFBMEI7QUFDMUIsMEJBQTBCO0FBQzFCLCtCQUErQjtBQUMvQiw0QkFBNEI7QUFDNUIsK0JBQStCO0FBQy9CLDBCQUEwQjtBQUMxQiw0QkFBNEI7QUFDNUIsNEJBQTRCO0FBQzVCLDRCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsK0JBQStCO0FBQy9CLCtCQUErQjtBQUMvQiwrQkFBK0I7QUFDL0IsNkJBQTZCO0FBQzdCLDRCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsNkJBQTZCO0FBQzdCLDZCQUE2QjtBQUM3QiwyQkFBMkI7QUFDM0IsK0JBQStCO0FBQy9CLDZCQUE2QjtBQUM3QiwwQkFBMEI7QUFDMUIsMEJBQTBCO0FBQzFCLCtCQUErQjtBQUMvQix5QkFBeUI7QUFDekIsS0FBSztBQUNMLEVBQUU7QUFDRix5SUFBeUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1ZhbGlkRGF0ZSB9IGZyb20gJy4uL2NhbGVuZGFyL2NhbGVuZGFyLnV0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBEYXRlVGltZUZvcm1hdE9wdGlvbnMge1xuICBsb2NhbGVNYXRjaGVyPzogJ2Jlc3QgZml0JyB8ICdsb29rdXAnIHwgdW5kZWZpbmVkO1xuICB3ZWVrZGF5PzogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnIHwgdW5kZWZpbmVkO1xuICBlcmE/OiAnbG9uZycgfCAnc2hvcnQnIHwgJ25hcnJvdycgfCB1bmRlZmluZWQ7XG4gIHllYXI/OiAnbnVtZXJpYycgfCAnMi1kaWdpdCcgfCB1bmRlZmluZWQ7XG4gIG1vbnRoPzogJ251bWVyaWMnIHwgJzItZGlnaXQnIHwgJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnIHwgdW5kZWZpbmVkO1xuICBkYXk/OiAnbnVtZXJpYycgfCAnMi1kaWdpdCcgfCB1bmRlZmluZWQ7XG4gIGhvdXI/OiAnbnVtZXJpYycgfCAnMi1kaWdpdCcgfCB1bmRlZmluZWQ7XG4gIG1pbnV0ZT86ICdudW1lcmljJyB8ICcyLWRpZ2l0JyB8IHVuZGVmaW5lZDtcbiAgc2Vjb25kPzogJ251bWVyaWMnIHwgJzItZGlnaXQnIHwgdW5kZWZpbmVkO1xuICB0aW1lWm9uZU5hbWU/OiAnbG9uZycgfCAnc2hvcnQnIHwgdW5kZWZpbmVkO1xuICBmb3JtYXRNYXRjaGVyPzogJ2Jlc3QgZml0JyB8ICdiYXNpYycgfCB1bmRlZmluZWQ7XG4gIGhvdXIxMj86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIHRpbWVab25lPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgdHlwZSBEYXlQZXJpb2QgPSAoJ2FtJyB8ICdwbScpO1xuXG5leHBvcnQgaW50ZXJmYWNlIElUaW1lVmFsdWUge1xuICB2YWx1ZTogbnVtYmVyO1xuICBsYWJlbDogc3RyaW5nO1xuICBkYXlQZXJpb2Q/OiBEYXlQZXJpb2Q7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF5UGVyaW9kcyB7XG4gIGFtOiBzdHJpbmc7XG4gIHBtOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBnZXRTdXBwb3J0ZWRMb2NhbGUgPSAobG9jYWxlOiBzdHJpbmcgPSAnZGVmYXVsdCcpID0+IHtcbiAgbGV0IHN1cHBvcnRlZExvY2FsZTogc3RyaW5nO1xuICB0cnkge1xuICAgIHN1cHBvcnRlZExvY2FsZSA9IEludGwuRGF0ZVRpbWVGb3JtYXQuc3VwcG9ydGVkTG9jYWxlc09mKGxvY2FsZSkubGVuZ3RoID8gbG9jYWxlIDogJ2RlZmF1bHQnO1xuICB9IGNhdGNoIChlKSB7XG4gICAgc3VwcG9ydGVkTG9jYWxlID0gJ2RlZmF1bHQnO1xuICB9XG4gIHJldHVybiBzdXBwb3J0ZWRMb2NhbGU7XG59O1xuXG5leHBvcnQgY29uc3QgaXNIb3VyMTIgPSAobG9jYWxlOiBzdHJpbmcgPSAnZGVmYXVsdCcpOiBib29sZWFuID0+IHtcbiAgY29uc3Qgc3VwcG9ydGVkTG9jYWxlID0gZ2V0U3VwcG9ydGVkTG9jYWxlKGxvY2FsZSk7XG4gIGNvbnN0IGhvdXIxMiA9IEludGwuRGF0ZVRpbWVGb3JtYXQoc3VwcG9ydGVkTG9jYWxlLCB7IHRpbWVTdHlsZTogJ3Nob3J0JyB9KS5yZXNvbHZlZE9wdGlvbnMoKS5ob3VyMTI7XG4gIHJldHVybiBob3VyMTIgPz8gZmFsc2U7XG59O1xuXG5leHBvcnQgY29uc3QgY29udmVydDEyaFRvMjRoID0gKGFiYnI6ICdhbScgfCAncG0nLCBob3VyOiBudW1iZXIpID0+IHtcbiAgaWYgKGFiYnIgPT09ICdhbScgJiYgaG91ciA9PT0gMTIpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuICBpZiAoYWJiciA9PT0gJ2FtJykge1xuICAgIHJldHVybiBob3VyO1xuICB9XG4gIGlmIChhYmJyID09PSAncG0nICYmIGhvdXIgPT09IDEyKSB7XG4gICAgcmV0dXJuIDEyO1xuICB9XG4gIHJldHVybiBob3VyICsgMTI7XG59O1xuXG5leHBvcnQgY29uc3QgY29udmVydDI0aFRvMTJoID0gKGhvdXI6IG51bWJlcikgPT4gaG91ciAlIDEyIHx8IDEyO1xuXG5leHBvcnQgY29uc3QgY29udmVydFRpbWVUb0RhdGUgPSAodGltZTogRGF0ZSB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpID0+XG4gIHRpbWUgPyAodGltZSBpbnN0YW5jZW9mIERhdGUgPyBuZXcgRGF0ZSh0aW1lKSA6IG5ldyBEYXRlKGAxOTcwLTAxLTAxICR7dGltZX1gKSkgOiBudWxsO1xuXG4vLyBleHBvcnQgY29uc3QgZ2V0QW1QbSA9IChkYXRlOiBEYXRlLCBsb2NhbGU6IHN0cmluZykgPT4ge1xuLy8gICBpZiAoZGF0ZS50b0xvY2FsZVRpbWVTdHJpbmcobG9jYWxlKS5pbmNsdWRlcygnQU0nKSkge1xuLy8gICAgIHJldHVybiAnYW0nXG4vLyAgIH1cbi8vICAgaWYgKGRhdGUudG9Mb2NhbGVUaW1lU3RyaW5nKGxvY2FsZSkuaW5jbHVkZXMoJ1BNJykpIHtcbi8vICAgICByZXR1cm4gJ3BtJ1xuLy8gICB9XG4vLyAgIHJldHVybiBkYXRlLmdldEhvdXJzKCkgPj0gMTIgPyAncG0nIDogJ2FtJ1xuLy8gfVxuXG5leHBvcnQgY29uc3QgZ2V0QW1QbSA9IChkYXRlOiBEYXRlLCBsb2NhbGU6IHN0cmluZywgb3B0aW9uczogRGF0ZVRpbWVGb3JtYXRPcHRpb25zID0ge30pOiBEYXlQZXJpb2QgPT4ge1xuXG4gIGNvbnN0IGRheVBlcmlvZHMgPSBnZXREYXlQZXJpb2RzKCdlbi1VUycsIG9wdGlvbnMpO1xuICBjb25zdCB0aW1lID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoJ2VuLVVTJywgeyB0aW1lU3R5bGU6ICdzaG9ydCcsIGhvdXIxMjogdHJ1ZSB9KS5mb3JtYXQoZGF0ZSk7XG5cbiAgY29uc3QgZGF5UGVyaW9kID0gZGF5UGVyaW9kcy5maW5kKGVsZW1lbnQgPT4gdGltZS5pbmNsdWRlcyhlbGVtZW50LmxhYmVsKSk7XG5cbiAgcmV0dXJuIDxEYXlQZXJpb2Q+KGRheVBlcmlvZD8udmFsdWUgPz8gKGRhdGUuZ2V0SG91cnMoKSA+PSAxMiA/ICdwbScgOiAnYW0nKSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNBbSA9IChkYXRlOiBEYXRlKSA9PiB7XG4gIHJldHVybiBkYXRlLmdldEhvdXJzKCkgPCAxMjtcbn07XG5leHBvcnQgY29uc3QgaXNQbSA9IChkYXRlOiBEYXRlKSA9PiB7XG4gIHJldHVybiBkYXRlLmdldEhvdXJzKCkgPiAxMTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1ZhbGlkVGltZVpvbmUgPSAodGltZVpvbmU6IHVua25vd24pOiBib29sZWFuID0+IHtcbiAgdHJ5IHtcbiAgICBpZiAodGltZVpvbmUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmICghSW50bCB8fCAhSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RpbWUgem9uZXMgbm90IHN1cHBvcnRlZC4nKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHRpbWVab25lICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRpbWVab25lIHR5cGUgc3BlY2lmaWVkOiAke3RpbWVab25lfWApO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICAvLyB0aHJvd3MgYW4gZXJyb3IgaWYgdGltZXpvbmUgaXMgbm90IHZhbGlkXG4gICAgICBJbnRsLkRhdGVUaW1lRm9ybWF0KHVuZGVmaW5lZCwgeyB0aW1lWm9uZTogdGltZVpvbmUgfSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0aW1lWm9uZSBzdHJpbmcgc3BlY2lmaWVkOiAke3RpbWVab25lfWApO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUud2FybihlcnJvcik7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TGlzdE9mSG91cnMgPSAobG9jYWxlOiBzdHJpbmcsIG9wdGlvbnM6IERhdGVUaW1lRm9ybWF0T3B0aW9ucyA9IHt9KSA9PiB7XG4gIGNvbnN0IGhvdXIxMiA9IGlzSG91cjEyKGxvY2FsZSk7XG4gIGNvbnN0IHRpbWUgPSBuZXcgRGF0ZSgwKTtcbiAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IDI0IH0sIChfLCBpKSA9PiB7XG4gICAgdGltZS5zZXRIb3VycyhpKTtcbiAgICBjb25zdCBkYXlQZXJpb2QgPSBnZXRBbVBtKHRpbWUsIGxvY2FsZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZhbHVlOiBpLFxuICAgICAgZGF5UGVyaW9kOiA8RGF5UGVyaW9kPmRheVBlcmlvZCxcbiAgICAgIGxhYmVsOiB0aW1lLnRvTG9jYWxlVGltZVN0cmluZyhsb2NhbGUsIHtcbiAgICAgICAgaG91cjogJzItZGlnaXQnLFxuICAgICAgICBob3VyMTI6IGhvdXIxMixcbiAgICAgICAgbWludXRlOiAnMi1kaWdpdCcsXG4gICAgICAgIHNlY29uZDogJzItZGlnaXQnXG4gICAgICB9KS5zcGxpdCgnOicpWzBdXG4gICAgfTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TGlzdE9mTWludXRlcyA9IChsb2NhbGU6IHN0cmluZywgb3B0aW9uczogRGF0ZVRpbWVGb3JtYXRPcHRpb25zID0ge30sIHZhbHVlQXNTdHJpbmcgPSBmYWxzZSkgPT4ge1xuICBjb25zdCBkID0gbmV3IERhdGUoMCk7XG4gIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiA2MCB9LCAoXywgaSkgPT4ge1xuICAgIGQuc2V0TWludXRlcyhpKTtcbiAgICByZXR1cm4ge1xuICAgICAgdmFsdWU6IGksXG4gICAgICAvLyB2YWx1ZTogdmFsdWVBc1N0cmluZyA/IGkudG9TdHJpbmcoKSA6IGksXG4gICAgICBsYWJlbDogZC50b0xvY2FsZVRpbWVTdHJpbmcobG9jYWxlLCB7XG4gICAgICAgIC8vIC4uLm9wdGlvbnMsXG4gICAgICAgIGhvdXI6ICcyLWRpZ2l0JyxcbiAgICAgICAgaG91cjEyOiBmYWxzZSxcbiAgICAgICAgbWludXRlOiAnMi1kaWdpdCcsXG4gICAgICAgIHNlY29uZDogJzItZGlnaXQnXG4gICAgICB9KS5zcGxpdCgnOicpWzFdXG4gICAgfTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TGlzdE9mU2Vjb25kcyA9IChsb2NhbGU6IHN0cmluZywgb3B0aW9uczogRGF0ZVRpbWVGb3JtYXRPcHRpb25zID0ge30sIHZhbHVlQXNTdHJpbmcgPSBmYWxzZSkgPT5cbiAgQXJyYXkuZnJvbSh7IGxlbmd0aDogNjAgfSwgKF8sIGkpID0+IHtcbiAgICBjb25zdCBkID0gbmV3IERhdGUoMCk7XG4gICAgZC5zZXRTZWNvbmRzKGkpO1xuICAgIHJldHVybiB7XG4gICAgICB2YWx1ZTogaSxcbiAgICAgIC8vIHZhbHVlOiB2YWx1ZUFzU3RyaW5nID8gaS50b1N0cmluZygpIDogaSxcbiAgICAgIGxhYmVsOiBkLnRvTG9jYWxlVGltZVN0cmluZyhsb2NhbGUsIHtcbiAgICAgICAgLy8gLi4ub3B0aW9ucyxcbiAgICAgICAgaG91cjogJzItZGlnaXQnLFxuICAgICAgICBob3VyMTI6IGZhbHNlLFxuICAgICAgICBtaW51dGU6ICcyLWRpZ2l0JyxcbiAgICAgICAgc2Vjb25kOiAnMi1kaWdpdCdcbiAgICAgIH0pLnNwbGl0KCc6JylbMl1cbiAgICB9O1xuICB9KTtcblxuZXhwb3J0IGNvbnN0IGdldFNlbGVjdGVkSG91ciA9IChkYXRlOiBEYXRlIHwgbnVsbCwgbG9jYWxlOiBzdHJpbmcpID0+XG4gIGRhdGUgaW5zdGFuY2VvZiBEYXRlID8gKGlzSG91cjEyKGxvY2FsZSkgPyBjb252ZXJ0MjRoVG8xMmgoZGF0ZS5nZXRIb3VycygpKSA6IGRhdGUuZ2V0SG91cnMoKSkgOiAnJztcblxuZXhwb3J0IGNvbnN0IGdldFNlbGVjdGVkTWludXRlcyA9IChkYXRlOiBEYXRlIHwgbnVsbCkgPT4gKGRhdGUgPyBkYXRlLmdldE1pbnV0ZXMoKSA6ICcnKTtcblxuZXhwb3J0IGNvbnN0IGdldFNlbGVjdGVkU2Vjb25kcyA9IChkYXRlOiBEYXRlIHwgbnVsbCkgPT4gKGRhdGUgPyBkYXRlLmdldFNlY29uZHMoKSA6ICcnKTtcblxuLy8gZXhwb3J0IGNvbnN0IGlzQW1QbSA9IChsb2NhbGU6IHN0cmluZykgPT5cbi8vICAgWydhbScsICdBTScsICdwbScsICdQTSddLnNvbWUoKGVsKSA9PiBuZXcgRGF0ZSgpLnRvTG9jYWxlU3RyaW5nKGxvY2FsZSkuaW5jbHVkZXMoZWwpKVxuXG5leHBvcnQgY29uc3QgaXNBbVBtID0gKGxvY2FsZTogc3RyaW5nID0gJ2RlZmF1bHQnKSA9PiB7XG4gIGNvbnN0IHN1cHBvcnRlZExvY2FsZSA9IGdldFN1cHBvcnRlZExvY2FsZShsb2NhbGUpO1xuICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcbiAgY29uc3QgdGltZSA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHN1cHBvcnRlZExvY2FsZSwgeyB0aW1lU3R5bGU6ICdzaG9ydCcgfSkuZm9ybWF0KGRhdGUpO1xuICBjb25zdCBpc0FtUG0gPSB0aW1lLm1hdGNoKC8oPzpcXHB7TH1cXHB7TX1cXHB7UH0qKSt8KD86XFxwe0x9XFxwe1B9KikrL2d1KSA/PyBbXTtcbiAgcmV0dXJuIGlzQW1QbS5sZW5ndGggPiAwO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzVmFsaWRUaW1lID0gKHRpbWU6IHN0cmluZyB8IERhdGUgfCBudW1iZXIgfCBhbnkpID0+IHtcbiAgaWYgKHR5cGVvZiB0aW1lID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBpc1ZhbGlkRGF0ZSh0aW1lKSB8fCBpc1ZhbGlkRGF0ZShuZXcgRGF0ZShgMTk3MC0wMS0wMSAke3RpbWV9YCkpO1xuICB9XG4gIHJldHVybiBpc1ZhbGlkRGF0ZSh0aW1lKTtcbiAgLy8gY29uc3QgZCA9IG5ldyBEYXRlKGAxOTcwLTAxLTAxICR7dGltZX1gKVxuICAvLyByZXR1cm4gZCBpbnN0YW5jZW9mIERhdGUgJiYgZC5nZXRUaW1lKClcbn07XG5cbi8vIGV4cG9ydCBjb25zdCBfZ2V0RGF5UGVyaW9kcyA9IChsb2NhbGU6IHN0cmluZyA9ICdkZWZhdWx0Jywgb3B0aW9uczogRGF0ZVRpbWVGb3JtYXRPcHRpb25zID0ge30pID0+IHtcbi8vICAgY29uc3Qgc3VwcG9ydGVkTG9jYWxlID0gZ2V0U3VwcG9ydGVkTG9jYWxlKGxvY2FsZSk7XG4vL1xuLy8gICBjb25zdCBkYXlQZXJpb2RzID0geyBhbTogJ2FtJywgcG06ICdwbScgfTtcbi8vXG4vLyAgIGNvbnN0IGhvdXIxMiA9IGlzSG91cjEyKHN1cHBvcnRlZExvY2FsZSk7XG4vLyAgIGlmICghaG91cjEyKSB7XG4vLyAgICAgcmV0dXJuIGRheVBlcmlvZHM7XG4vLyAgIH1cbi8vXG4vLyAgIGNvbnN0IGFtID0gbmV3IERhdGUoRGF0ZS5VVEMoMTk3MCwgMCwgMSwgMCwgMCwgMCkpO1xuLy8gICBjb25zdCBwbSA9IG5ldyBEYXRlKERhdGUuVVRDKDE5NzAsIDAsIDEsIDEzLCAwLCAwKSk7XG4vL1xuLy8gICBjb25zdCBmb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChzdXBwb3J0ZWRMb2NhbGUsIHsgaG91cjEyOiBob3VyMTIsIGhvdXI6ICdudW1lcmljJywgdGltZVpvbmU6ICdVVEMnIH0pO1xuLy8gICBkYXlQZXJpb2RzLmFtID0gZm9ybWF0dGVyLmZvcm1hdFRvUGFydHMoYW0pLmZpbmQocGFydCA9PiBwYXJ0LnR5cGUgPT09ICdkYXlQZXJpb2QnKT8udmFsdWUgPz8gJ2FtJztcbi8vICAgZGF5UGVyaW9kcy5wbSA9IGZvcm1hdHRlci5mb3JtYXRUb1BhcnRzKHBtKS5maW5kKHBhcnQgPT4gcGFydC50eXBlID09PSAnZGF5UGVyaW9kJyk/LnZhbHVlID8/ICdwbSdcbi8vICAgcmV0dXJuIGRheVBlcmlvZHM7XG4vLyB9O1xuXG5leHBvcnQgY29uc3QgZ2V0RGF5UGVyaW9kcyA9IChsb2NhbGU6IHN0cmluZyA9ICdkZWZhdWx0Jywgb3B0aW9uczogRGF0ZVRpbWVGb3JtYXRPcHRpb25zID0ge30pID0+IHtcbiAgY29uc3Qgc3VwcG9ydGVkTG9jYWxlID0gZ2V0U3VwcG9ydGVkTG9jYWxlKGxvY2FsZSk7XG5cbiAgY29uc3QgZGF5UGVyaW9kcyA9IFtcbiAgICB7IHZhbHVlOiAnYW0nLCBsYWJlbDogJ2FtJyB9LFxuICAgIHsgdmFsdWU6ICdwbScsIGxhYmVsOiAncG0nIH1cbiAgXTtcblxuICBjb25zdCBob3VyMTIgPSBpc0hvdXIxMihzdXBwb3J0ZWRMb2NhbGUpO1xuICBpZiAoIWhvdXIxMikge1xuICAgIHJldHVybiBkYXlQZXJpb2RzO1xuICB9XG5cbiAgY29uc3QgYW0gPSBuZXcgRGF0ZShEYXRlLlVUQygxOTcwLCAwLCAxLCAwLCAwLCAwKSk7XG4gIGNvbnN0IHBtID0gbmV3IERhdGUoRGF0ZS5VVEMoMTk3MCwgMCwgMSwgMTMsIDAsIDApKTtcbiAgY29uc3QgZm9ybWF0dGVyID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoc3VwcG9ydGVkTG9jYWxlLCB7IGhvdXIxMjogaG91cjEyLCBob3VyOiAnbnVtZXJpYycsIHRpbWVab25lOiAnVVRDJyB9KTtcbiAgY29uc3QgZm9ybWF0dGVkQW0gPSBmb3JtYXR0ZXIuZm9ybWF0VG9QYXJ0cyhhbSkuZmluZChwYXJ0ID0+IHBhcnQudHlwZSA9PT0gJ2RheVBlcmlvZCcpPy52YWx1ZSA/PyAnYW0nO1xuICBjb25zdCBmb3JtYXR0ZWRQbSA9IGZvcm1hdHRlci5mb3JtYXRUb1BhcnRzKHBtKS5maW5kKHBhcnQgPT4gcGFydC50eXBlID09PSAnZGF5UGVyaW9kJyk/LnZhbHVlID8/ICdwbSc7XG5cbiAgZGF5UGVyaW9kcy5mb3JFYWNoKChlbGVtZW50LCBpbmRleCwgZGF5UGVyaW9kcykgPT4ge1xuICAgIGRheVBlcmlvZHNbaW5kZXhdLmxhYmVsID0gZWxlbWVudC52YWx1ZSA9PT0gJ2FtJyA/IChmb3JtYXR0ZWRBbSA/PyAnYW0nKSA6IChmb3JtYXR0ZWRQbSA/PyAncG0nKTtcbiAgfSk7XG5cbiAgcmV0dXJuIGRheVBlcmlvZHM7XG59O1xuXG4vLyB0ZXN0aW5nXG4vLyBjb25zdCBsYW5ncyA9IFtcbi8vICAgWydBYmtoYXppYW4nLCAnYWInXSxcbi8vICAgWydBZmFyJywgJ2FhJ10sXG4vLyAgIFsnQWZyaWthYW5zJywgJ2FmJ10sXG4vLyAgIFsnQWthbicsICdhayddLFxuLy8gICBbJ0FsYmFuaWFuJywgJ3NxJ10sXG4vLyAgIFsnQW1oYXJpYycsICdhbSddLFxuLy8gICBbJ0FyYWJpYycsICdhciddLFxuLy8gICBbJ0FyYWdvbmVzZScsICdhbiddLFxuLy8gICBbJ0FyZ2VudGluYScsICdlcy1hciddLFxuLy8gICBbJ0FybWVuaWFuJywgJ2h5J10sXG4vLyAgIFsnQXNzYW1lc2UnLCAnYXMnXSxcbi8vICAgWydBdmFyaWMnLCAnYXYnXSxcbi8vICAgWydBdmVzdGFuJywgJ2FlJ10sXG4vLyAgIFsnQXltYXJhJywgJ2F5J10sXG4vLyAgIFsnQXplcmJhaWphbmknLCAnYXonXSxcbi8vICAgWydCYW1iYXJhJywgJ2JtJ10sXG4vLyAgIFsnQmFzaGtpcicsICdiYSddLFxuLy8gICBbJ0Jhc3F1ZScsICdldSddLFxuLy8gICBbJ0JlbGFydXNpYW4nLCAnYmUnXSxcbi8vICAgWydCZW5nYWxpIChCYW5nbGEpJywgJ2JuJ10sXG4vLyAgIFsnQmloYXJpJywgJ2JoJ10sXG4vLyAgIFsnQmlzbGFtYScsICdiaSddLFxuLy8gICBbJ0Jvc25pYW4nLCAnYnMnXSxcbi8vICAgWydCcmV0b24nLCAnYnInXSxcbi8vICAgWydCdWxnYXJpYW4nLCAnYmcnXSxcbi8vICAgWydCdXJtZXNlJywgJ215J10sXG4vLyAgIFsnQ2F0YWxhbicsICdjYSddLFxuLy8gICBbJ0NoYW1vcnJvJywgJ2NoJ10sXG4vLyAgIFsnQ2hlY2hlbicsICdjZSddLFxuLy8gICBbJ0NoaWNoZXdhLCBDaGV3YSwgTnlhbmphJywgJ255J10sXG4vLyAgIFsnQ2hpbmVzZScsICd6aCddLFxuLy8gICBbJ0NoaW5lc2UgKFNpbXBsaWZpZWQpJywgJ3poLUhhbnMnXSxcbi8vICAgWydDaGluZXNlIChUcmFkaXRpb25hbCknLCAnemgtSGFudCddLFxuLy8gICBbJ0NodXZhc2gnLCAnY3YnXSxcbi8vICAgWydDb3JuaXNoJywgJ2t3J10sXG4vLyAgIFsnQ29yc2ljYW4nLCAnY28nXSxcbi8vICAgWydDcmVlJywgJ2NyJ10sXG4vLyAgIFsnQ3JvYXRpYW4nLCAnaHInXSxcbi8vICAgWydDemVjaCcsICdjcyddLFxuLy8gICBbJ0RhbmlzaCcsICdkYSddLFxuLy8gICBbJ0RpdmVoaSwgRGhpdmVoaSwgTWFsZGl2aWFuJywgJ2R2J10sXG4vLyAgIFsnRHV0Y2gnLCAnbmwnXSxcbi8vICAgWydEem9uZ2toYScsICdkeiddLFxuLy8gICBbJ0VuZ2xpc2gnLCAnZW4nXSxcbi8vICAgWydFc3BlcmFudG8nLCAnZW8nXSxcbi8vICAgWydFc3RvbmlhbicsICdldCddLFxuLy8gICBbJ0V3ZScsICdlZSddLFxuLy8gICBbJ0Zhcm9lc2UnLCAnZm8nXSxcbi8vICAgWydGaWppYW4nLCAnZmonXSxcbi8vICAgWydGaW5uaXNoJywgJ2ZpJ10sXG4vLyAgIFsnRnJlbmNoJywgJ2ZyJ10sXG4vLyAgIFsnRnVsYSwgRnVsYWgsIFB1bGFhciwgUHVsYXInLCAnZmYnXSxcbi8vICAgWydHYWxpY2lhbicsICdnbCddLFxuLy8gICBbJ0dhZWxpYyAoU2NvdHRpc2gpJywgJ2dkJ10sXG4vLyAgIFsnR2FlbGljIChNYW54KScsICdndiddLFxuLy8gICBbJ0dlb3JnaWFuJywgJ2thJ10sXG4vLyAgIFsnR2VybWFuJywgJ2RlJ10sXG4vLyAgIFsnR3JlZWsnLCAnZWwnXSxcbi8vICAgWydHcmVlbmxhbmRpYycsICdrbCddLFxuLy8gICBbJ0d1YXJhbmknLCAnZ24nXSxcbi8vICAgWydHdWphcmF0aScsICdndSddLFxuLy8gICBbJ0hhaXRpYW4gQ3Jlb2xlJywgJ2h0J10sXG4vLyAgIFsnSGF1c2EnLCAnaGEnXSxcbi8vICAgWydIZWJyZXcnLCAnaGUnXSxcbi8vICAgWydIZXJlcm8nLCAnaHonXSxcbi8vICAgWydIaW5kaScsICdoaSddLFxuLy8gICBbJ0hpcmkgTW90dScsICdobyddLFxuLy8gICBbJ0h1bmdhcmlhbicsICdodSddLFxuLy8gICBbJ0ljZWxhbmRpYycsICdpcyddLFxuLy8gICBbJ0lkbycsICdpbyddLFxuLy8gICBbJ0lnYm8nLCAnaWcnXSxcbi8vICAgWydJbmRvbmVzaWFuJywgJ2lkJywgJ2luJ10sXG4vLyAgIFsnSW50ZXJsaW5ndWEnLCAnaWEnXSxcbi8vICAgWydJbnRlcmxpbmd1ZScsICdpZSddLFxuLy8gICBbJ0ludWt0aXR1dCcsICdpdSddLFxuLy8gICBbJ0ludXBpYWsnLCAnaWsnXSxcbi8vICAgWydJcmlzaCcsICdnYSddLFxuLy8gICBbJ0l0YWxpYW4nLCAnaXQnXSxcbi8vICAgWydKYXBhbmVzZScsICdqYSddLFxuLy8gICBbJ0phdmFuZXNlJywgJ2p2J10sXG4vLyAgIFsnS2FsYWFsbGlzdXQsIEdyZWVubGFuZGljJywgJ2tsJ10sXG4vLyAgIFsnS2FubmFkYScsICdrbiddLFxuLy8gICBbJ0thbnVyaScsICdrciddLFxuLy8gICBbJ0thc2htaXJpJywgJ2tzJ10sXG4vLyAgIFsnS2F6YWtoJywgJ2trJ10sXG4vLyAgIFsnS2htZXInLCAna20nXSxcbi8vICAgWydLaWt1eXUnLCAna2knXSxcbi8vICAgWydLaW55YXJ3YW5kYSAoUndhbmRhKScsICdydyddLFxuLy8gICBbJ0tpcnVuZGknLCAncm4nXSxcbi8vICAgWydLeXJneXonLCAna3knXSxcbi8vICAgWydLb21pJywgJ2t2J10sXG4vLyAgIFsnS29uZ28nLCAna2cnXSxcbi8vICAgWydLb3JlYW4nLCAna28nXSxcbi8vICAgWydLdXJkaXNoJywgJ2t1J10sXG4vLyAgIFsnS3dhbnlhbWEnLCAna2onXSxcbi8vICAgWydMYW8nLCAnbG8nXSxcbi8vICAgWydMYXRpbicsICdsYSddLFxuLy8gICBbJ0xhdHZpYW4gKExldHRpc2gpJywgJ2x2J10sXG4vLyAgIFsnTGltYnVyZ2lzaCAoTGltYnVyZ2VyKScsICdsaSddLFxuLy8gICBbJ0xpbmdhbGEnLCAnbG4nXSxcbi8vICAgWydMaXRodWFuaWFuJywgJ2x0J10sXG4vLyAgIFsnTHVnYS1LYXRhbmdhJywgJ2x1J10sXG4vLyAgIFsnTHVnYW5kYSwgR2FuZGEnLCAnbGcnXSxcbi8vICAgWydMdXhlbWJvdXJnaXNoJywgJ2xiJ10sXG4vLyAgIFsnTWFueCcsICdndiddLFxuLy8gICBbJ01hY2Vkb25pYW4nLCAnbWsnXSxcbi8vICAgWydNYWxhZ2FzeScsICdtZyddLFxuLy8gICBbJ01hbGF5JywgJ21zJ10sXG4vLyAgIFsnTWFsYXlhbGFtJywgJ21sJ10sXG4vLyAgIFsnTWFsdGVzZScsICdtdCddLFxuLy8gICBbJ01hb3JpJywgJ21pJ10sXG4vLyAgIFsnTWFyYXRoaScsICdtciddLFxuLy8gICBbJ01hcnNoYWxsZXNlJywgJ21oJ10sXG4vLyAgIFsnTW9sZGF2aWFuJywgJ21vJ10sXG4vLyAgIFsnTW9uZ29saWFuJywgJ21uJ10sXG4vLyAgIFsnTmF1cnUnLCAnbmEnXSxcbi8vICAgWydOYXZham8nLCAnbnYnXSxcbi8vICAgWydOZG9uZ2EnLCAnbmcnXSxcbi8vICAgWydOb3J0aGVybiBOZGViZWxlJywgJ25kJ10sXG4vLyAgIFsnTmVwYWxpJywgJ25lJ10sXG4vLyAgIFsnTm9yd2VnaWFuJywgJ25vJ10sXG4vLyAgIFsnTm9yd2VnaWFuIGJva23DpWwnLCAnbmInXSxcbi8vICAgWydOb3J3ZWdpYW4gbnlub3JzaycsICdubiddLFxuLy8gICBbJ051b3N1JywgJ2lpJ10sXG4vLyAgIFsnT2NjaXRhbicsICdvYyddLFxuLy8gICBbJ09qaWJ3ZScsICdvaiddLFxuLy8gICBbJ09sZCBDaHVyY2ggU2xhdm9uaWMsIE9sZCBCdWxnYXJpYW4nLCAnY3UnXSxcbi8vICAgWydPcml5YScsICdvciddLFxuLy8gICBbJ09yb21vIChBZmFhbiBPcm9tbyknLCAnb20nXSxcbi8vICAgWydPc3NldGlhbicsICdvcyddLFxuLy8gICBbJ1DEgWxpJywgJ3BpJ10sXG4vLyAgIFsnUGFzaHRvLCBQdXNodG8nLCAncHMnXSxcbi8vICAgWydQZXJzaWFuIChGYXJzaSknLCAnZmEnXSxcbi8vICAgWydQb2xpc2gnLCAncGwnXSxcbi8vICAgWydQb3J0dWd1ZXNlJywgJ3B0J10sXG4vLyAgIFsnUHVuamFiaSAoRWFzdGVybiknLCAncGEnXSxcbi8vICAgWydRdWVjaHVhJywgJ3F1J10sXG4vLyAgIFsnUm9tYW5zaCcsICdybSddLFxuLy8gICBbJ1JvbWFuaWFuJywgJ3JvJ10sXG4vLyAgIFsnUnVzc2lhbicsICdydSddLFxuLy8gICBbJ1NhbWknLCAnc2UnXSxcbi8vICAgWydTYW1vYW4nLCAnc20nXSxcbi8vICAgWydTYW5nbycsICdzZyddLFxuLy8gICBbJ1NhbnNrcml0JywgJ3NhJ10sXG4vLyAgIFsnU2VyYmlhbicsICdzciddLFxuLy8gICBbJ1NlcmJvLUNyb2F0aWFuJywgJ3NoJ10sXG4vLyAgIFsnU2Vzb3RobycsICdzdCddLFxuLy8gICBbJ1NldHN3YW5hJywgJ3RuJ10sXG4vLyAgIFsnU2hvbmEnLCAnc24nXSxcbi8vICAgWydTaWNodWFuIFlpJywgJ2lpJ10sXG4vLyAgIFsnU2luZGhpJywgJ3NkJ10sXG4vLyAgIFsnU2luaGFsZXNlJywgJ3NpJ10sXG4vLyAgIFsnU2lzd2F0aScsICdzcyddLFxuLy8gICBbJ1Nsb3ZhaycsICdzayddLFxuLy8gICBbJ1Nsb3ZlbmlhbicsICdzbCddLFxuLy8gICBbJ1NvbWFsaScsICdzbyddLFxuLy8gICBbJ1NvdXRoZXJuIE5kZWJlbGUnLCAnbnInXSxcbi8vICAgWydTcGFuaXNoJywgJ2VzJ10sXG4vLyAgIFsnU3VuZGFuZXNlJywgJ3N1J10sXG4vLyAgIFsnU3dhaGlsaSAoS2lzd2FoaWxpKScsICdzdyddLFxuLy8gICBbJ1N3YXRpJywgJ3NzJ10sXG4vLyAgIFsnU3dlZGlzaCcsICdzdiddLFxuLy8gICBbJ1RhZ2Fsb2cnLCAndGwnXSxcbi8vICAgWydUYWhpdGlhbicsICd0eSddLFxuLy8gICBbJ1RhamlrJywgJ3RnJ10sXG4vLyAgIFsnVGFtaWwnLCAndGEnXSxcbi8vICAgWydUYXRhcicsICd0dCddLFxuLy8gICBbJ1RlbHVndScsICd0ZSddLFxuLy8gICBbJ1RoYWknLCAndGgnXSxcbi8vICAgWydUaWJldGFuJywgJ2JvJ10sXG4vLyAgIFsnVGlncmlueWEnLCAndGknXSxcbi8vICAgWydUb25nYScsICd0byddLFxuLy8gICBbJ1Rzb25nYScsICd0cyddLFxuLy8gICBbJ1R1cmtpc2gnLCAndHInXSxcbi8vICAgWydUdXJrbWVuJywgJ3RrJ10sXG4vLyAgIFsnVHdpJywgJ3R3J10sXG4vLyAgIFsnVXlnaHVyJywgJ3VnJ10sXG4vLyAgIFsnVWtyYWluaWFuJywgJ3VrJ10sXG4vLyAgIFsnVXJkdScsICd1ciddLFxuLy8gICBbJ1V6YmVrJywgJ3V6J10sXG4vLyAgIFsnVmVuZGEnLCAndmUnXSxcbi8vICAgWydWaWV0bmFtZXNlJywgJ3ZpJ10sXG4vLyAgIFsnVm9sYXDDvGsnLCAndm8nXSxcbi8vICAgWydXYWxsb24nLCAnd2EnXSxcbi8vICAgWydXZWxzaCcsICdjeSddLFxuLy8gICBbJ1dvbG9mJywgJ3dvJ10sXG4vLyAgIFsnV2VzdGVybiBGcmlzaWFuJywgJ2Z5J10sXG4vLyAgIFsnWGhvc2EnLCAneGgnXSxcbi8vICAgWydZaWRkaXNoJywgJ3lpJywgJ2ppJ10sXG4vLyAgIFsnWW9ydWJhJywgJ3lvJ10sXG4vLyAgIFsnWmh1YW5nLCBDaHVhbmcnLCAnemEnXSxcbi8vICAgWydadWx1JywgJ3p1J10sXG4vLyBdXG4vL1xuLy8gbGFuZ3MuZm9yRWFjaChsYW5nID0+IHtjb25zdCBwZXJpb2QgPSBnZXREYXlQZXJpb2RzKGxhbmdbMV0pOyBpZiAocGVyaW9kLmFtID09PSAnQU0nKSByZXR1cm47IGNvbnNvbGUubG9nKGxhbmdbMV0sIHBlcmlvZCApfSlcblxuLy8gQ2hyb21lIC8gT3BlcmFcbi8vIEFtaGFyaWMgYW0ge2FtOiAn4Yyl4YuL4Ym1JywgcG06ICfhiqjhiLDhi5PhibUnfVxuLy8gQXJhYmljIGFyIHthbTogJ9i1JywgcG06ICfZhSd9XG4vLyBCdWxnYXJpYW4gYmcge2FtOiAn0L/RgC7QvtCxLicsIHBtOiAn0YHQuy7QvtCxLid9XG4vLyBDaGluZXNlIChUcmFkaXRpb25hbCkgemgtSGFudCB7YW06ICfkuIrljYgnLCBwbTogJ+S4i+WNiCd9XG4vLyBHcmVlayBlbCB7YW06ICfPgC7OvC4nLCBwbTogJ868Ls68Lid9XG4vLyBIaW5kaSBoaSB7YW06ICdhbScsIHBtOiAncG0nfVxuLy8gS2FubmFkYSBrbiB7YW06ICfgsqrgs4LgsrDgs43gsrXgsr7gsrngs43gsqgnLCBwbTogJ+CyheCyquCysOCyvuCyueCzjeCyqCd9XG4vLyBLb3JlYW4ga28ge2FtOiAn7Jik7KCEJywgcG06ICfsmKTtm4QnfVxuLy8gTWFsYXkgbXMge2FtOiAnUEcnLCBwbTogJ1BURyd9XG4vLyBUYW1pbCB0YSB7YW06ICfgrq7gr4HgrrHgr43grqrgrpXgrrLgr40nLCBwbTogJ+CuquCuv+CuseCvjeCuquCuleCusuCvjSd9XG5cbi8vIEVkZ2UgQ2hyb21pdW1cbi8vIEFsYmFuaWFuIHNxIHthbTogJ2UgcGFyYWRpdGVzJywgcG06ICdlIHBhc2RpdGVzJ31cbi8vIEFtaGFyaWMgYW0ge2FtOiAn4Yyl4YuL4Ym1JywgcG06ICfhiqjhiLDhi5PhibUnfVxuLy8gQXJhYmljIGFyIHthbTogJ9i1JywgcG06ICfZhSd9XG4vLyBCdWxnYXJpYW4gYmcge2FtOiAn0L/RgC7QvtCxLicsIHBtOiAn0YHQuy7QvtCxLid9XG4vLyBDaGluZXNlIChUcmFkaXRpb25hbCkgemgtSGFudCB7YW06ICfkuIrljYgnLCBwbTogJ+S4i+WNiCd9XG4vLyBHcmVlayBlbCB7YW06ICfPgC7OvC4nLCBwbTogJ868Ls68Lid9XG4vLyBIaW5kaSBoaSB7YW06ICdhbScsIHBtOiAncG0nfVxuLy8gS2FubmFkYSBrbiB7YW06ICfgsqrgs4LgsrDgs43gsrXgsr7gsrngs43gsqgnLCBwbTogJ+CyheCyquCysOCyvuCyueCzjeCyqCd9XG4vLyBLb3JlYW4ga28ge2FtOiAn7Jik7KCEJywgcG06ICfsmKTtm4QnfVxuLy8gTWFsYXkgbXMge2FtOiAnUEcnLCBwbTogJ1BURyd9XG4vLyBQdW5qYWJpIChFYXN0ZXJuKSBwYSB7YW06ICfgqKrgqYIu4Kim4KmBLicsIHBtOiAn4Kis4Ki+LuCopuCpgS4nfVxuLy8gU2luZGhpIHNkIHthbTogJ9i12KjYrdiMINmF2YbYrNmH2YbYrycsIHBtOiAn2YXZhtis2YfZhtiv2Iwg2LTYp9mFJ31cbi8vIFRhbWlsIHRhIHthbTogJ+CuruCvgeCuseCvjeCuquCuleCusuCvjScsIHBtOiAn4K6q4K6/4K6x4K+N4K6q4K6V4K6y4K+NJ31cblxuLy8gRmlyZWZveFxuLy8gQWthbiBhayB7IGFtOiBcIkFOXCIsIHBtOiBcIkVXXCIgfVxuLy8gQWxiYW5pYW4gc3EgeyBhbTogXCJlIHBhcmFkaXRlc1wiLCBwbTogXCJlIHBhc2RpdGVzXCIgfVxuLy8gQW1oYXJpYyBhbSB7IGFtOiBcIuGMpeGLi+GJtVwiLCBwbTogXCLhiqjhiLDhi5PhibVcIiB9XG4vLyBBcmFiaWMgYXIgeyBhbTogXCLYtVwiLCBwbTogXCLZhVwiIH1cbi8vIEFzc2FtZXNlIGFzIHsgYW06IFwi4Kaq4KeC4Kew4KeN4Kas4Ka+4Ka54KeN4KaoXCIsIHBtOiBcIuCmheCmquCnsOCmvuCmueCnjeCmqFwiIH1cbi8vIEJ1bGdhcmlhbiBiZyB7IGFtOiBcItC/0YAu0L7QsS5cIiwgcG06IFwi0YHQuy7QvtCxLlwiIH1cbi8vIENoaW5lc2UgKFRyYWRpdGlvbmFsKSB6aC1IYW50IHsgYW06IFwi5LiK5Y2IXCIsIHBtOiBcIuS4i+WNiFwiIH1cbi8vIER6b25na2hhIGR6IHsgYW06IFwi4L2m4L6U4LyL4L2G4LyLXCIsIHBtOiBcIuC9leC+seC9suC8i+C9huC8i1wiIH1cbi8vIEV3ZSBlZSB7IGFtOiBcIsWLZGlcIiwgcG06IFwiyaNldHLJlFwiIH1cbi8vIEdyZWVrIGVsIHsgYW06IFwiz4AuzrwuXCIsIHBtOiBcIs68Ls68LlwiIH1cbi8vIEhpbmRpIGhpIHsgYW06IFwiYW1cIiwgcG06IFwicG1cIiB9XG4vLyBLYW5uYWRhIGtuIHsgYW06IFwi4LKq4LOC4LKw4LON4LK14LK+4LK54LON4LKoXCIsIHBtOiBcIuCyheCyquCysOCyvuCyueCzjeCyqFwiIH1cbi8vIEtvcmVhbiBrbyB7IGFtOiBcIuyYpOyghFwiLCBwbTogXCLsmKTtm4RcIiB9XG4vLyBNYWxheSBtcyB7IGFtOiBcIlBHXCIsIHBtOiBcIlBUR1wiIH1cbi8vIE9yb21vIChBZmFhbiBPcm9tbykgb20geyBhbTogXCJXRFwiLCBwbTogXCJXQlwiIH1cbi8vIFB1bmphYmkgKEVhc3Rlcm4pIHBhIHsgYW06IFwi4Kiq4KmCLuCopuCpgS5cIiwgcG06IFwi4Kis4Ki+LuCopuCpgS5cIiB9XG4vLyBTYW5za3JpdCBzYSB7IGFtOiBcIuCkquClguCksOCljeCkteCkvuCkueCljeCkqFwiLCBwbTogXCLgpIXgpKrgpLDgpL7gpLngpY3gpKhcIiB9XG4vLyBTaW5kaGkgc2QgeyBhbTogXCLYtdio2K3YjCDZhdmG2KzZh9mG2K9cIiwgcG06IFwi2YXZhtis2YfZhtiv2Iwg2LTYp9mFXCIgfVxuLy8gU29tYWxpIHNvIHsgYW06IFwiR0hcIiwgcG06IFwiR0RcIiB9XG4vLyBUYW1pbCB0YSB7IGFtOiBcIuCuruCvgeCuseCvjeCuquCuleCusuCvjVwiLCBwbTogXCLgrqrgrr/grrHgr43grqrgrpXgrrLgr41cIiB9XG4vLyBUaWdyaW55YSB0aSB7IGFtOiBcIuGJhS7hiYAuXCIsIHBtOiBcIuGLtS7hiYAuXCIgfVxuLy8gVG9uZ2EgdG8geyBhbTogXCJoZW5naWhlbmdpXCIsIHBtOiBcImVmaWFmaVwiIH1cbi8vIFR3aSB0dyB7IGFtOiBcIkFOXCIsIHBtOiBcIkVXXCIgfVxuXG4vLyBjb25zdCBmb3JtYXRzID0ge1xuLy8gICBcImFyLVNBXCIgOiBcImRkL01NL3l5XCIsXG4vLyAgIFwiYmctQkdcIiA6IFwiZGQuTS55eXl5XCIsXG4vLyAgIFwiY2EtRVNcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcInpoLVRXXCIgOiBcInl5eXkvTS9kXCIsXG4vLyAgIFwiY3MtQ1pcIiA6IFwiZC5NLnl5eXlcIixcbi8vICAgXCJkYS1ES1wiIDogXCJkZC1NTS15eXl5XCIsXG4vLyAgIFwiZGUtREVcIiA6IFwiZGQuTU0ueXl5eVwiLFxuLy8gICBcImVsLUdSXCIgOiBcImQvTS95eXl5XCIsXG4vLyAgIFwiZW4tVVNcIiA6IFwiTS9kL3l5eXlcIixcbi8vICAgXCJmaS1GSVwiIDogXCJkLk0ueXl5eVwiLFxuLy8gICBcImZyLUZSXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJoZS1JTFwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiaHUtSFVcIiA6IFwieXl5eS4gTU0uIGRkLlwiLFxuLy8gICBcImlzLUlTXCIgOiBcImQuTS55eXl5XCIsXG4vLyAgIFwiaXQtSVRcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImphLUpQXCIgOiBcInl5eXkvTU0vZGRcIixcbi8vICAgXCJrby1LUlwiIDogXCJ5eXl5LU1NLWRkXCIsXG4vLyAgIFwibmwtTkxcIiA6IFwiZC1NLXl5eXlcIixcbi8vICAgXCJuYi1OT1wiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwicGwtUExcIiA6IFwieXl5eS1NTS1kZFwiLFxuLy8gICBcInB0LUJSXCIgOiBcImQvTS95eXl5XCIsXG4vLyAgIFwicm8tUk9cIiA6IFwiZGQuTU0ueXl5eVwiLFxuLy8gICBcInJ1LVJVXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJoci1IUlwiIDogXCJkLk0ueXl5eVwiLFxuLy8gICBcInNrLVNLXCIgOiBcImQuIE0uIHl5eXlcIixcbi8vICAgXCJzcS1BTFwiIDogXCJ5eXl5LU1NLWRkXCIsXG4vLyAgIFwic3YtU0VcIiA6IFwieXl5eS1NTS1kZFwiLFxuLy8gICBcInRoLVRIXCIgOiBcImQvTS95eXl5XCIsXG4vLyAgIFwidHItVFJcIiA6IFwiZGQuTU0ueXl5eVwiLFxuLy8gICBcInVyLVBLXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJpZC1JRFwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwidWstVUFcIiA6IFwiZGQuTU0ueXl5eVwiLFxuLy8gICBcImJlLUJZXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJzbC1TSVwiIDogXCJkLk0ueXl5eVwiLFxuLy8gICBcImV0LUVFXCIgOiBcImQuTU0ueXl5eVwiLFxuLy8gICBcImx2LUxWXCIgOiBcInl5eXkuTU0uZGQuXCIsXG4vLyAgIFwibHQtTFRcIiA6IFwieXl5eS5NTS5kZFwiLFxuLy8gICBcImZhLUlSXCIgOiBcIk1NL2RkL3l5eXlcIixcbi8vICAgXCJ2aS1WTlwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiaHktQU1cIiA6IFwiZGQuTU0ueXl5eVwiLFxuLy8gICBcImF6LUxhdG4tQVpcIiA6IFwiZGQuTU0ueXl5eVwiLFxuLy8gICBcImV1LUVTXCIgOiBcInl5eXkvTU0vZGRcIixcbi8vICAgXCJtay1NS1wiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwiYWYtWkFcIiA6IFwieXl5eS9NTS9kZFwiLFxuLy8gICBcImthLUdFXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJmby1GT1wiIDogXCJkZC1NTS15eXl5XCIsXG4vLyAgIFwiaGktSU5cIiA6IFwiZGQtTU0teXl5eVwiLFxuLy8gICBcIm1zLU1ZXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJray1LWlwiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwia3ktS0dcIiA6IFwiZGQuTU0ueXlcIixcbi8vICAgXCJzdy1LRVwiIDogXCJNL2QveXl5eVwiLFxuLy8gICBcInV6LUxhdG4tVVpcIiA6IFwiZGQvTU0geXl5eVwiLFxuLy8gICBcInR0LVJVXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJwYS1JTlwiIDogXCJkZC1NTS15eVwiLFxuLy8gICBcImd1LUlOXCIgOiBcImRkLU1NLXl5XCIsXG4vLyAgIFwidGEtSU5cIiA6IFwiZGQtTU0teXl5eVwiLFxuLy8gICBcInRlLUlOXCIgOiBcImRkLU1NLXl5XCIsXG4vLyAgIFwia24tSU5cIiA6IFwiZGQtTU0teXlcIixcbi8vICAgXCJtci1JTlwiIDogXCJkZC1NTS15eXl5XCIsXG4vLyAgIFwic2EtSU5cIiA6IFwiZGQtTU0teXl5eVwiLFxuLy8gICBcIm1uLU1OXCIgOiBcInl5Lk1NLmRkXCIsXG4vLyAgIFwiZ2wtRVNcIiA6IFwiZGQvTU0veXlcIixcbi8vICAgXCJrb2stSU5cIiA6IFwiZGQtTU0teXl5eVwiLFxuLy8gICBcInN5ci1TWVwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZHYtTVZcIiA6IFwiZGQvTU0veXlcIixcbi8vICAgXCJhci1JUVwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiemgtQ05cIiA6IFwieXl5eS9NL2RcIixcbi8vICAgXCJkZS1DSFwiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwiZW4tR0JcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImVzLU1YXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJmci1CRVwiIDogXCJkL01NL3l5eXlcIixcbi8vICAgXCJpdC1DSFwiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwibmwtQkVcIiA6IFwiZC9NTS95eXl5XCIsXG4vLyAgIFwibm4tTk9cIiA6IFwiZGQuTU0ueXl5eVwiLFxuLy8gICBcInB0LVBUXCIgOiBcImRkLU1NLXl5eXlcIixcbi8vICAgXCJzci1MYXRuLUNTXCIgOiBcImQuTS55eXl5XCIsXG4vLyAgIFwic3YtRklcIiA6IFwiZC5NLnl5eXlcIixcbi8vICAgXCJhei1DeXJsLUFaXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJtcy1CTlwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwidXotQ3lybC1VWlwiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwiYXItRUdcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcInpoLUhLXCIgOiBcImQvTS95eXl5XCIsXG4vLyAgIFwiZGUtQVRcIiA6IFwiZGQuTU0ueXl5eVwiLFxuLy8gICBcImVuLUFVXCIgOiBcImQvTU0veXl5eVwiLFxuLy8gICBcImVzLUVTXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJmci1DQVwiIDogXCJ5eXl5LU1NLWRkXCIsXG4vLyAgIFwic3ItQ3lybC1DU1wiIDogXCJkLk0ueXl5eVwiLFxuLy8gICBcImFyLUxZXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJ6aC1TR1wiIDogXCJkL00veXl5eVwiLFxuLy8gICBcImRlLUxVXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJlbi1DQVwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZXMtR1RcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImZyLUNIXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJhci1EWlwiIDogXCJkZC1NTS15eXl5XCIsXG4vLyAgIFwiemgtTU9cIiA6IFwiZC9NL3l5eXlcIixcbi8vICAgXCJkZS1MSVwiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwiZW4tTlpcIiA6IFwiZC9NTS95eXl5XCIsXG4vLyAgIFwiZXMtQ1JcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImZyLUxVXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJhci1NQVwiIDogXCJkZC1NTS15eXl5XCIsXG4vLyAgIFwiZW4tSUVcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImVzLVBBXCIgOiBcIk1NL2RkL3l5eXlcIixcbi8vICAgXCJmci1NQ1wiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiYXItVE5cIiA6IFwiZGQtTU0teXl5eVwiLFxuLy8gICBcImVuLVpBXCIgOiBcInl5eXkvTU0vZGRcIixcbi8vICAgXCJlcy1ET1wiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiYXItT01cIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImVuLUpNXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJlcy1WRVwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiYXItWUVcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImVuLTAyOVwiIDogXCJNTS9kZC95eXl5XCIsXG4vLyAgIFwiZXMtQ09cIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImFyLVNZXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJlbi1CWlwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZXMtUEVcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImFyLUpPXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJlbi1UVFwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZXMtQVJcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImFyLUxCXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJlbi1aV1wiIDogXCJNL2QveXl5eVwiLFxuLy8gICBcImVzLUVDXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJhci1LV1wiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZW4tUEhcIiA6IFwiTS9kL3l5eXlcIixcbi8vICAgXCJlcy1DTFwiIDogXCJkZC1NTS15eXl5XCIsXG4vLyAgIFwiYXItQUVcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImVzLVVZXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJhci1CSFwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZXMtUFlcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImFyLVFBXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJlcy1CT1wiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZXMtU1ZcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImVzLUhOXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJlcy1OSVwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZXMtUFJcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImFtLUVUXCIgOiBcImQvTS95eXl5XCIsXG4vLyAgIFwidHptLUxhdG4tRFpcIiA6IFwiZGQtTU0teXl5eVwiLFxuLy8gICBcIml1LUxhdG4tQ0FcIiA6IFwiZC9NTS95eXl5XCIsXG4vLyAgIFwic21hLU5PXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJtbi1Nb25nLUNOXCIgOiBcInl5eXkvTS9kXCIsXG4vLyAgIFwiZ2QtR0JcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImVuLU1ZXCIgOiBcImQvTS95eXl5XCIsXG4vLyAgIFwicHJzLUFGXCIgOiBcImRkL01NL3l5XCIsXG4vLyAgIFwiYm4tQkRcIiA6IFwiZGQtTU0teXlcIixcbi8vICAgXCJ3by1TTlwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwicnctUldcIiA6IFwiTS9kL3l5eXlcIixcbi8vICAgXCJxdXQtR1RcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcInNhaC1SVVwiIDogXCJNTS5kZC55eXl5XCIsXG4vLyAgIFwiZ3N3LUZSXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJjby1GUlwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwib2MtRlJcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcIm1pLU5aXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJnYS1JRVwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwic2UtU0VcIiA6IFwieXl5eS1NTS1kZFwiLFxuLy8gICBcImJyLUZSXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJzbW4tRklcIiA6IFwiZC5NLnl5eXlcIixcbi8vICAgXCJtb2gtQ0FcIiA6IFwiTS9kL3l5eXlcIixcbi8vICAgXCJhcm4tQ0xcIiA6IFwiZGQtTU0teXl5eVwiLFxuLy8gICBcImlpLUNOXCIgOiBcInl5eXkvTS9kXCIsXG4vLyAgIFwiZHNiLURFXCIgOiBcImQuIE0uIHl5eXlcIixcbi8vICAgXCJpZy1OR1wiIDogXCJkL00veXl5eVwiLFxuLy8gICBcImtsLUdMXCIgOiBcImRkLU1NLXl5eXlcIixcbi8vICAgXCJsYi1MVVwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiYmEtUlVcIiA6IFwiZGQuTU0ueXlcIixcbi8vICAgXCJuc28tWkFcIiA6IFwieXl5eS9NTS9kZFwiLFxuLy8gICBcInF1ei1CT1wiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwieW8tTkdcIiA6IFwiZC9NL3l5eXlcIixcbi8vICAgXCJoYS1MYXRuLU5HXCIgOiBcImQvTS95eXl5XCIsXG4vLyAgIFwiZmlsLVBIXCIgOiBcIk0vZC95eXl5XCIsXG4vLyAgIFwicHMtQUZcIiA6IFwiZGQvTU0veXlcIixcbi8vICAgXCJmeS1OTFwiIDogXCJkLU0teXl5eVwiLFxuLy8gICBcIm5lLU5QXCIgOiBcIk0vZC95eXl5XCIsXG4vLyAgIFwic2UtTk9cIiA6IFwiZGQuTU0ueXl5eVwiLFxuLy8gICBcIml1LUNhbnMtQ0FcIiA6IFwiZC9NL3l5eXlcIixcbi8vICAgXCJzci1MYXRuLVJTXCIgOiBcImQuTS55eXl5XCIsXG4vLyAgIFwic2ktTEtcIiA6IFwieXl5eS1NTS1kZFwiLFxuLy8gICBcInNyLUN5cmwtUlNcIiA6IFwiZC5NLnl5eXlcIixcbi8vICAgXCJsby1MQVwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwia20tS0hcIiA6IFwieXl5eS1NTS1kZFwiLFxuLy8gICBcImN5LUdCXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJiby1DTlwiIDogXCJ5eXl5L00vZFwiLFxuLy8gICBcInNtcy1GSVwiIDogXCJkLk0ueXl5eVwiLFxuLy8gICBcImFzLUlOXCIgOiBcImRkLU1NLXl5eXlcIixcbi8vICAgXCJtbC1JTlwiIDogXCJkZC1NTS15eVwiLFxuLy8gICBcImVuLUlOXCIgOiBcImRkLU1NLXl5eXlcIixcbi8vICAgXCJvci1JTlwiIDogXCJkZC1NTS15eVwiLFxuLy8gICBcImJuLUlOXCIgOiBcImRkLU1NLXl5XCIsXG4vLyAgIFwidGstVE1cIiA6IFwiZGQuTU0ueXlcIixcbi8vICAgXCJicy1MYXRuLUJBXCIgOiBcImQuTS55eXl5XCIsXG4vLyAgIFwibXQtTVRcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcInNyLUN5cmwtTUVcIiA6IFwiZC5NLnl5eXlcIixcbi8vICAgXCJzZS1GSVwiIDogXCJkLk0ueXl5eVwiLFxuLy8gICBcInp1LVpBXCIgOiBcInl5eXkvTU0vZGRcIixcbi8vICAgXCJ4aC1aQVwiIDogXCJ5eXl5L01NL2RkXCIsXG4vLyAgIFwidG4tWkFcIiA6IFwieXl5eS9NTS9kZFwiLFxuLy8gICBcImhzYi1ERVwiIDogXCJkLiBNLiB5eXl5XCIsXG4vLyAgIFwiYnMtQ3lybC1CQVwiIDogXCJkLk0ueXl5eVwiLFxuLy8gICBcInRnLUN5cmwtVEpcIiA6IFwiZGQuTU0ueXlcIixcbi8vICAgXCJzci1MYXRuLUJBXCIgOiBcImQuTS55eXl5XCIsXG4vLyAgIFwic21qLU5PXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJybS1DSFwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwic21qLVNFXCIgOiBcInl5eXktTU0tZGRcIixcbi8vICAgXCJxdXotRUNcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcInF1ei1QRVwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiaHItQkFcIiA6IFwiZC5NLnl5eXkuXCIsXG4vLyAgIFwic3ItTGF0bi1NRVwiIDogXCJkLk0ueXl5eVwiLFxuLy8gICBcInNtYS1TRVwiIDogXCJ5eXl5LU1NLWRkXCIsXG4vLyAgIFwiZW4tU0dcIiA6IFwiZC9NL3l5eXlcIixcbi8vICAgXCJ1Zy1DTlwiIDogXCJ5eXl5LU0tZFwiLFxuLy8gICBcInNyLUN5cmwtQkFcIiA6IFwiZC5NLnl5eXlcIixcbi8vICAgXCJlcy1VU1wiIDogXCJNL2QveXl5eVwiXG4vLyB9O1xuLy9cbi8vIE9iamVjdC5rZXlzKGZvcm1hdHMpLmZvckVhY2gobGFuZyA9PiB7Y29uc3QgcGVyaW9kID0gZ2V0RGF5UGVyaW9kcyhsYW5nKTsgaWYgKHBlcmlvZC5hbSA9PT0gJ0FNJykgcmV0dXJuOyBjb25zb2xlLmxvZyhsYW5nLCBwZXJpb2QgKX0pXG4iXX0=
|
|
645
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvdGltZS1waWNrZXIvdGltZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFnQ3pELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsU0FBaUIsU0FBUyxFQUFFLEVBQUU7SUFDL0QsSUFBSSxlQUF1QixDQUFDO0lBQzVCLElBQUk7UUFDRixlQUFlLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0tBQzlGO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixlQUFlLEdBQUcsU0FBUyxDQUFDO0tBQzdCO0lBQ0QsT0FBTyxlQUFlLENBQUM7QUFDekIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsU0FBaUIsU0FBUyxFQUFXLEVBQUU7SUFDOUQsTUFBTSxlQUFlLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxNQUFNLENBQUM7SUFDckcsT0FBTyxNQUFNLElBQUksS0FBSyxDQUFDO0FBQ3pCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLElBQWlCLEVBQUUsSUFBWSxFQUFFLEVBQUU7SUFDakUsSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxFQUFFLEVBQUU7UUFDaEMsT0FBTyxDQUFDLENBQUM7S0FD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LDRCQUE0QjtBQUM1QiwwQkFBMEI7QUFDMUIsNEJBQTRCO0FBQzVCLDJCQUEyQjtBQUMzQiw0QkFBNEI7QUFDNUIsNEJBQTRCO0FBQzVCLDRCQUE0QjtBQUM1Qiw0QkFBNEI7QUFDNUIsNEJBQTRCO0FBQzVCLDRCQUE0QjtBQUM1Qiw0QkFBNEI7QUFDNUIsNEJBQTRCO0FBQzVCLDRCQUE0QjtBQUM1Qiw0QkFBNEI7QUFDNUIsNEJBQTRCO0FBQzVCLDRCQUE0QjtBQUM1Qiw0QkFBNEI7QUFDNUIsNkJBQTZCO0FBQzdCLDRCQUE0QjtBQUM1Qiw0QkFBNEI7QUFDNUIsNEJBQTRCO0FBQzVCLDRCQUE0QjtBQUM1Qiw0QkFBNEI7QUFDNUIsNEJBQTRCO0FBQzVCLDRCQUE0QjtBQUM1Qiw0QkFBNEI7QUFDNUIsMEJBQTBCO0FBQzFCLDRCQUE0QjtBQUM1Qiw0QkFBNEI7QUFDNUIsMEJBQTBCO0FBQzFCLDRCQUE0QjtBQUM1Qiw0QkFBNEI7QUFDNUIsNEJBQTRCO0FBQzVCLDRCQUE0QjtBQUM1Qiw0QkFBNEI7QUFDNUIsNEJBQTRCO0FBQzVCLDRCQUE0QjtBQUM1Qiw0QkFBNEI7QUFDNUIsNEJBQTRCO0FBQzVCLDRCQUE0QjtBQUM1Qiw0QkFBNEI7QUFDNUIsMEJBQTBCO0FBQzFCLGtDQUFrQztBQUNsQyxnQ0FBZ0M7QUFDaEMsNkJBQTZCO0FBQzdCLCtCQUErQjtBQUMvQiw0QkFBNEI7QUFDNUIsMEJBQTBCO0FBQzFCLDJCQUEyQjtBQUMzQiwwQkFBMEI7QUFDMUIsNEJBQTRCO0FBQzVCLDBCQUEwQjtBQUMxQiw2QkFBNkI7QUFDN0IsNkJBQTZCO0FBQzdCLDZCQUE2QjtBQUM3Qiw0QkFBNEI7QUFDNUIsNEJBQTRCO0FBQzVCLDRCQUE0QjtBQUM1Qiw0QkFBNEI7QUFDNUIsNEJBQTRCO0FBQzVCLDRCQUE0QjtBQUM1QiwyQkFBMkI7QUFDM0IsMkJBQTJCO0FBQzNCLDZCQUE2QjtBQUM3QiwwQkFBMEI7QUFDMUIsNkJBQTZCO0FBQzdCLDBCQUEwQjtBQUMxQiw0QkFBNEI7QUFDNUIsNEJBQTRCO0FBQzVCLDBCQUEwQjtBQUMxQiw2QkFBNkI7QUFDN0IsNkJBQTZCO0FBQzdCLDBCQUEwQjtBQUMxQiwrQkFBK0I7QUFDL0IsMkJBQTJCO0FBQzNCLDBCQUEwQjtBQUMxQiwwQkFBMEI7QUFDMUIsMEJBQTBCO0FBQzFCLDRCQUE0QjtBQUM1QiwrQkFBK0I7QUFDL0IsK0JBQStCO0FBQy9CLDRCQUE0QjtBQUM1QiwrQkFBK0I7QUFDL0IsNEJBQTRCO0FBQzVCLDRCQUE0QjtBQUM1Qiw0QkFBNEI7QUFDNUIsMEJBQTBCO0FBQzFCLDJCQUEyQjtBQUMzQiw0QkFBNEI7QUFDNUIsMEJBQTBCO0FBQzFCLDRCQUE0QjtBQUM1QiwwQkFBMEI7QUFDMUIsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQiwrQkFBK0I7QUFDL0IsNEJBQTRCO0FBQzVCLCtCQUErQjtBQUMvQiwwQkFBMEI7QUFDMUIsNEJBQTRCO0FBQzVCLDRCQUE0QjtBQUM1Qiw0QkFBNEI7QUFDNUIsNkJBQTZCO0FBQzdCLCtCQUErQjtBQUMvQiwrQkFBK0I7QUFDL0IsK0JBQStCO0FBQy9CLDZCQUE2QjtBQUM3Qiw0QkFBNEI7QUFDNUIsNkJBQTZCO0FBQzdCLDZCQUE2QjtBQUM3Qiw2QkFBNkI7QUFDN0IsMkJBQTJCO0FBQzNCLCtCQUErQjtBQUMvQiw2QkFBNkI7QUFDN0IsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQiwrQkFBK0I7QUFDL0IseUJBQXlCO0FBQ3pCLEtBQUs7QUFDTCxFQUFFO0FBQ0YseUlBQXlJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNWYWxpZERhdGUgfSBmcm9tICcuLi9jYWxlbmRhci9jYWxlbmRhci51dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0ZVRpbWVGb3JtYXRPcHRpb25zIHtcbiAgbG9jYWxlTWF0Y2hlcj86ICdiZXN0IGZpdCcgfCAnbG9va3VwJyB8IHVuZGVmaW5lZDtcbiAgd2Vla2RheT86ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93JyB8IHVuZGVmaW5lZDtcbiAgZXJhPzogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnIHwgdW5kZWZpbmVkO1xuICB5ZWFyPzogJ251bWVyaWMnIHwgJzItZGlnaXQnIHwgdW5kZWZpbmVkO1xuICBtb250aD86ICdudW1lcmljJyB8ICcyLWRpZ2l0JyB8ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93JyB8IHVuZGVmaW5lZDtcbiAgZGF5PzogJ251bWVyaWMnIHwgJzItZGlnaXQnIHwgdW5kZWZpbmVkO1xuICBob3VyPzogJ251bWVyaWMnIHwgJzItZGlnaXQnIHwgdW5kZWZpbmVkO1xuICBtaW51dGU/OiAnbnVtZXJpYycgfCAnMi1kaWdpdCcgfCB1bmRlZmluZWQ7XG4gIHNlY29uZD86ICdudW1lcmljJyB8ICcyLWRpZ2l0JyB8IHVuZGVmaW5lZDtcbiAgdGltZVpvbmVOYW1lPzogJ2xvbmcnIHwgJ3Nob3J0JyB8IHVuZGVmaW5lZDtcbiAgZm9ybWF0TWF0Y2hlcj86ICdiZXN0IGZpdCcgfCAnYmFzaWMnIHwgdW5kZWZpbmVkO1xuICBob3VyMTI/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICB0aW1lWm9uZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IHR5cGUgRGF5UGVyaW9kID0gKCdhbScgfCAncG0nKTtcblxuZXhwb3J0IGludGVyZmFjZSBJVGltZVZhbHVlIHtcbiAgdmFsdWU6IG51bWJlcjtcbiAgbGFiZWw6IHN0cmluZztcbiAgZGF5UGVyaW9kPzogRGF5UGVyaW9kO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURheVBlcmlvZHMge1xuICBhbTogc3RyaW5nO1xuICBwbTogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgZ2V0U3VwcG9ydGVkTG9jYWxlID0gKGxvY2FsZTogc3RyaW5nID0gJ2RlZmF1bHQnKSA9PiB7XG4gIGxldCBzdXBwb3J0ZWRMb2NhbGU6IHN0cmluZztcbiAgdHJ5IHtcbiAgICBzdXBwb3J0ZWRMb2NhbGUgPSBJbnRsLkRhdGVUaW1lRm9ybWF0LnN1cHBvcnRlZExvY2FsZXNPZihsb2NhbGUpLmxlbmd0aCA/IGxvY2FsZSA6ICdkZWZhdWx0JztcbiAgfSBjYXRjaCAoZSkge1xuICAgIHN1cHBvcnRlZExvY2FsZSA9ICdkZWZhdWx0JztcbiAgfVxuICByZXR1cm4gc3VwcG9ydGVkTG9jYWxlO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzSG91cjEyID0gKGxvY2FsZTogc3RyaW5nID0gJ2RlZmF1bHQnKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IHN1cHBvcnRlZExvY2FsZSA9IGdldFN1cHBvcnRlZExvY2FsZShsb2NhbGUpO1xuICBjb25zdCBob3VyMTIgPSBJbnRsLkRhdGVUaW1lRm9ybWF0KHN1cHBvcnRlZExvY2FsZSwgeyB0aW1lU3R5bGU6ICdzaG9ydCcgfSkucmVzb2x2ZWRPcHRpb25zKCkuaG91cjEyO1xuICByZXR1cm4gaG91cjEyID8/IGZhbHNlO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbnZlcnQxMmhUbzI0aCA9IChhYmJyOiAnYW0nIHwgJ3BtJywgaG91cjogbnVtYmVyKSA9PiB7XG4gIGlmIChhYmJyID09PSAnYW0nICYmIGhvdXIgPT09IDEyKSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbiAgaWYgKGFiYnIgPT09ICdhbScpIHtcbiAgICByZXR1cm4gaG91cjtcbiAgfVxuICBpZiAoYWJiciA9PT0gJ3BtJyAmJiBob3VyID09PSAxMikge1xuICAgIHJldHVybiAxMjtcbiAgfVxuICByZXR1cm4gaG91ciArIDEyO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbnZlcnQyNGhUbzEyaCA9IChob3VyOiBudW1iZXIpID0+IGhvdXIgJSAxMiB8fCAxMjtcblxuZXhwb3J0IGNvbnN0IGNvbnZlcnRUaW1lVG9EYXRlID0gKHRpbWU6IERhdGUgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSA9PlxuICB0aW1lID8gKHRpbWUgaW5zdGFuY2VvZiBEYXRlID8gbmV3IERhdGUodGltZSkgOiBuZXcgRGF0ZShgMTk3MC0wMS0wMSAke3RpbWV9YCkpIDogbnVsbDtcblxuLy8gZXhwb3J0IGNvbnN0IGdldEFtUG0gPSAoZGF0ZTogRGF0ZSwgbG9jYWxlOiBzdHJpbmcpID0+IHtcbi8vICAgaWYgKGRhdGUudG9Mb2NhbGVUaW1lU3RyaW5nKGxvY2FsZSkuaW5jbHVkZXMoJ0FNJykpIHtcbi8vICAgICByZXR1cm4gJ2FtJ1xuLy8gICB9XG4vLyAgIGlmIChkYXRlLnRvTG9jYWxlVGltZVN0cmluZyhsb2NhbGUpLmluY2x1ZGVzKCdQTScpKSB7XG4vLyAgICAgcmV0dXJuICdwbSdcbi8vICAgfVxuLy8gICByZXR1cm4gZGF0ZS5nZXRIb3VycygpID49IDEyID8gJ3BtJyA6ICdhbSdcbi8vIH1cblxuZXhwb3J0IGNvbnN0IGdldEFtUG0gPSAoZGF0ZTogRGF0ZSwgbG9jYWxlOiBzdHJpbmcsIG9wdGlvbnM6IERhdGVUaW1lRm9ybWF0T3B0aW9ucyA9IHt9KTogRGF5UGVyaW9kID0+IHtcblxuICBjb25zdCBkYXlQZXJpb2RzID0gZ2V0RGF5UGVyaW9kcygnZW4tVVMnLCBvcHRpb25zKTtcbiAgY29uc3QgdGltZSA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCdlbi1VUycsIHsgdGltZVN0eWxlOiAnc2hvcnQnLCBob3VyMTI6IHRydWUgfSkuZm9ybWF0KGRhdGUpO1xuXG4gIGNvbnN0IGRheVBlcmlvZCA9IGRheVBlcmlvZHMuZmluZChlbGVtZW50ID0+IHRpbWUuaW5jbHVkZXMoZWxlbWVudC5sYWJlbCkpO1xuXG4gIHJldHVybiA8RGF5UGVyaW9kPihkYXlQZXJpb2Q/LnZhbHVlID8/IChkYXRlLmdldEhvdXJzKCkgPj0gMTIgPyAncG0nIDogJ2FtJykpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzQW0gPSAoZGF0ZTogRGF0ZSkgPT4ge1xuICByZXR1cm4gZGF0ZS5nZXRIb3VycygpIDwgMTI7XG59O1xuZXhwb3J0IGNvbnN0IGlzUG0gPSAoZGF0ZTogRGF0ZSkgPT4ge1xuICByZXR1cm4gZGF0ZS5nZXRIb3VycygpID4gMTE7XG59O1xuXG5leHBvcnQgY29uc3QgaXNWYWxpZFRpbWVab25lID0gKHRpbWVab25lOiB1bmtub3duKTogYm9vbGVhbiA9PiB7XG4gIHRyeSB7XG4gICAgaWYgKHRpbWVab25lID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoIUludGwgfHwgIUludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaW1lIHpvbmVzIG5vdCBzdXBwb3J0ZWQuJyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0aW1lWm9uZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0aW1lWm9uZSB0eXBlIHNwZWNpZmllZDogJHt0aW1lWm9uZX1gKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgLy8gdGhyb3dzIGFuIGVycm9yIGlmIHRpbWV6b25lIGlzIG5vdCB2YWxpZFxuICAgICAgSW50bC5EYXRlVGltZUZvcm1hdCh1bmRlZmluZWQsIHsgdGltZVpvbmU6IHRpbWVab25lIH0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdGltZVpvbmUgc3RyaW5nIHNwZWNpZmllZDogJHt0aW1lWm9uZX1gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLndhcm4oZXJyb3IpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGdldExpc3RPZkhvdXJzID0gKGxvY2FsZTogc3RyaW5nLCBvcHRpb25zOiBEYXRlVGltZUZvcm1hdE9wdGlvbnMgPSB7fSkgPT4ge1xuICBjb25zdCBob3VyMTIgPSBpc0hvdXIxMihsb2NhbGUpO1xuICBjb25zdCB0aW1lID0gbmV3IERhdGUoMCk7XG4gIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiAyNCB9LCAoXywgaSkgPT4ge1xuICAgIHRpbWUuc2V0SG91cnMoaSk7XG4gICAgY29uc3QgZGF5UGVyaW9kID0gZ2V0QW1QbSh0aW1lLCBsb2NhbGUpO1xuICAgIHJldHVybiB7XG4gICAgICB2YWx1ZTogaSxcbiAgICAgIGRheVBlcmlvZDogPERheVBlcmlvZD5kYXlQZXJpb2QsXG4gICAgICBsYWJlbDogdGltZS50b0xvY2FsZVRpbWVTdHJpbmcobG9jYWxlLCB7XG4gICAgICAgIGhvdXI6ICcyLWRpZ2l0JyxcbiAgICAgICAgaG91cjEyOiBob3VyMTIsXG4gICAgICAgIG1pbnV0ZTogJzItZGlnaXQnLFxuICAgICAgICBzZWNvbmQ6ICcyLWRpZ2l0J1xuICAgICAgfSkuc3BsaXQoJzonKVswXVxuICAgIH07XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldExpc3RPZk1pbnV0ZXMgPSAobG9jYWxlOiBzdHJpbmcsIG9wdGlvbnM6IERhdGVUaW1lRm9ybWF0T3B0aW9ucyA9IHt9LCB2YWx1ZUFzU3RyaW5nID0gZmFsc2UpID0+IHtcbiAgY29uc3QgZCA9IG5ldyBEYXRlKDApO1xuICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aDogNjAgfSwgKF8sIGkpID0+IHtcbiAgICBkLnNldE1pbnV0ZXMoaSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZhbHVlOiBpLFxuICAgICAgLy8gdmFsdWU6IHZhbHVlQXNTdHJpbmcgPyBpLnRvU3RyaW5nKCkgOiBpLFxuICAgICAgbGFiZWw6IGQudG9Mb2NhbGVUaW1lU3RyaW5nKGxvY2FsZSwge1xuICAgICAgICAvLyAuLi5vcHRpb25zLFxuICAgICAgICBob3VyOiAnMi1kaWdpdCcsXG4gICAgICAgIGhvdXIxMjogZmFsc2UsXG4gICAgICAgIG1pbnV0ZTogJzItZGlnaXQnLFxuICAgICAgICBzZWNvbmQ6ICcyLWRpZ2l0J1xuICAgICAgfSkuc3BsaXQoJzonKVsxXVxuICAgIH07XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldExpc3RPZlNlY29uZHMgPSAobG9jYWxlOiBzdHJpbmcsIG9wdGlvbnM6IERhdGVUaW1lRm9ybWF0T3B0aW9ucyA9IHt9LCB2YWx1ZUFzU3RyaW5nID0gZmFsc2UpID0+XG4gIEFycmF5LmZyb20oeyBsZW5ndGg6IDYwIH0sIChfLCBpKSA9PiB7XG4gICAgY29uc3QgZCA9IG5ldyBEYXRlKDApO1xuICAgIGQuc2V0U2Vjb25kcyhpKTtcbiAgICByZXR1cm4ge1xuICAgICAgdmFsdWU6IGksXG4gICAgICAvLyB2YWx1ZTogdmFsdWVBc1N0cmluZyA/IGkudG9TdHJpbmcoKSA6IGksXG4gICAgICBsYWJlbDogZC50b0xvY2FsZVRpbWVTdHJpbmcobG9jYWxlLCB7XG4gICAgICAgIC8vIC4uLm9wdGlvbnMsXG4gICAgICAgIGhvdXI6ICcyLWRpZ2l0JyxcbiAgICAgICAgaG91cjEyOiBmYWxzZSxcbiAgICAgICAgbWludXRlOiAnMi1kaWdpdCcsXG4gICAgICAgIHNlY29uZDogJzItZGlnaXQnXG4gICAgICB9KS5zcGxpdCgnOicpWzJdXG4gICAgfTtcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBnZXRTZWxlY3RlZEhvdXIgPSAoZGF0ZTogRGF0ZSB8IG51bGwsIGxvY2FsZTogc3RyaW5nKSA9PlxuICBkYXRlIGluc3RhbmNlb2YgRGF0ZSA/IChpc0hvdXIxMihsb2NhbGUpID8gY29udmVydDI0aFRvMTJoKGRhdGUuZ2V0SG91cnMoKSkgOiBkYXRlLmdldEhvdXJzKCkpIDogJyc7XG5cbmV4cG9ydCBjb25zdCBnZXRTZWxlY3RlZE1pbnV0ZXMgPSAoZGF0ZTogRGF0ZSB8IG51bGwpID0+IChkYXRlID8gZGF0ZS5nZXRNaW51dGVzKCkgOiAnJyk7XG5cbmV4cG9ydCBjb25zdCBnZXRTZWxlY3RlZFNlY29uZHMgPSAoZGF0ZTogRGF0ZSB8IG51bGwpID0+IChkYXRlID8gZGF0ZS5nZXRTZWNvbmRzKCkgOiAnJyk7XG5cbi8vIGV4cG9ydCBjb25zdCBpc0FtUG0gPSAobG9jYWxlOiBzdHJpbmcpID0+XG4vLyAgIFsnYW0nLCAnQU0nLCAncG0nLCAnUE0nXS5zb21lKChlbCkgPT4gbmV3IERhdGUoKS50b0xvY2FsZVN0cmluZyhsb2NhbGUpLmluY2x1ZGVzKGVsKSlcblxuZXhwb3J0IGNvbnN0IGlzQW1QbSA9IChsb2NhbGU6IHN0cmluZyA9ICdkZWZhdWx0JykgPT4ge1xuICBjb25zdCBzdXBwb3J0ZWRMb2NhbGUgPSBnZXRTdXBwb3J0ZWRMb2NhbGUobG9jYWxlKTtcbiAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XG4gIGNvbnN0IHRpbWUgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChzdXBwb3J0ZWRMb2NhbGUsIHsgdGltZVN0eWxlOiAnc2hvcnQnIH0pLmZvcm1hdChkYXRlKTtcbiAgY29uc3QgaXNBbVBtID0gdGltZS5tYXRjaCgvKD86XFxwe0x9XFxwe019XFxwe1B9KikrfCg/OlxccHtMfVxccHtQfSopKy9ndSkgPz8gW107XG4gIHJldHVybiBpc0FtUG0ubGVuZ3RoID4gMDtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1ZhbGlkVGltZSA9ICh0aW1lOiBzdHJpbmcgfCBEYXRlIHwgbnVtYmVyIHwgYW55KSA9PiB7XG4gIGlmICh0eXBlb2YgdGltZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gaXNWYWxpZERhdGUodGltZSkgfHwgaXNWYWxpZERhdGUobmV3IERhdGUoYDE5NzAtMDEtMDEgJHt0aW1lfWApKTtcbiAgfVxuICByZXR1cm4gaXNWYWxpZERhdGUodGltZSk7XG4gIC8vIGNvbnN0IGQgPSBuZXcgRGF0ZShgMTk3MC0wMS0wMSAke3RpbWV9YClcbiAgLy8gcmV0dXJuIGQgaW5zdGFuY2VvZiBEYXRlICYmIGQuZ2V0VGltZSgpXG59O1xuXG4vLyBleHBvcnQgY29uc3QgX2dldERheVBlcmlvZHMgPSAobG9jYWxlOiBzdHJpbmcgPSAnZGVmYXVsdCcsIG9wdGlvbnM6IERhdGVUaW1lRm9ybWF0T3B0aW9ucyA9IHt9KSA9PiB7XG4vLyAgIGNvbnN0IHN1cHBvcnRlZExvY2FsZSA9IGdldFN1cHBvcnRlZExvY2FsZShsb2NhbGUpO1xuLy9cbi8vICAgY29uc3QgZGF5UGVyaW9kcyA9IHsgYW06ICdhbScsIHBtOiAncG0nIH07XG4vL1xuLy8gICBjb25zdCBob3VyMTIgPSBpc0hvdXIxMihzdXBwb3J0ZWRMb2NhbGUpO1xuLy8gICBpZiAoIWhvdXIxMikge1xuLy8gICAgIHJldHVybiBkYXlQZXJpb2RzO1xuLy8gICB9XG4vL1xuLy8gICBjb25zdCBhbSA9IG5ldyBEYXRlKERhdGUuVVRDKDE5NzAsIDAsIDEsIDAsIDAsIDApKTtcbi8vICAgY29uc3QgcG0gPSBuZXcgRGF0ZShEYXRlLlVUQygxOTcwLCAwLCAxLCAxMywgMCwgMCkpO1xuLy9cbi8vICAgY29uc3QgZm9ybWF0dGVyID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoc3VwcG9ydGVkTG9jYWxlLCB7IGhvdXIxMjogaG91cjEyLCBob3VyOiAnbnVtZXJpYycsIHRpbWVab25lOiAnVVRDJyB9KTtcbi8vICAgZGF5UGVyaW9kcy5hbSA9IGZvcm1hdHRlci5mb3JtYXRUb1BhcnRzKGFtKS5maW5kKHBhcnQgPT4gcGFydC50eXBlID09PSAnZGF5UGVyaW9kJyk/LnZhbHVlID8/ICdhbSc7XG4vLyAgIGRheVBlcmlvZHMucG0gPSBmb3JtYXR0ZXIuZm9ybWF0VG9QYXJ0cyhwbSkuZmluZChwYXJ0ID0+IHBhcnQudHlwZSA9PT0gJ2RheVBlcmlvZCcpPy52YWx1ZSA/PyAncG0nXG4vLyAgIHJldHVybiBkYXlQZXJpb2RzO1xuLy8gfTtcblxuZXhwb3J0IGNvbnN0IGdldERheVBlcmlvZHMgPSAobG9jYWxlOiBzdHJpbmcgPSAnZGVmYXVsdCcsIG9wdGlvbnM6IERhdGVUaW1lRm9ybWF0T3B0aW9ucyA9IHt9KSA9PiB7XG4gIGNvbnN0IHN1cHBvcnRlZExvY2FsZSA9IGdldFN1cHBvcnRlZExvY2FsZShsb2NhbGUpO1xuXG4gIGNvbnN0IGRheVBlcmlvZHMgPSBbXG4gICAgeyB2YWx1ZTogJ2FtJywgbGFiZWw6ICdhbScgfSxcbiAgICB7IHZhbHVlOiAncG0nLCBsYWJlbDogJ3BtJyB9XG4gIF07XG5cbiAgY29uc3QgaG91cjEyID0gaXNIb3VyMTIoc3VwcG9ydGVkTG9jYWxlKTtcbiAgaWYgKCFob3VyMTIpIHtcbiAgICByZXR1cm4gZGF5UGVyaW9kcztcbiAgfVxuXG4gIGNvbnN0IGFtID0gbmV3IERhdGUoRGF0ZS5VVEMoMTk3MCwgMCwgMSwgMCwgMCwgMCkpO1xuICBjb25zdCBwbSA9IG5ldyBEYXRlKERhdGUuVVRDKDE5NzAsIDAsIDEsIDEzLCAwLCAwKSk7XG4gIGNvbnN0IGZvcm1hdHRlciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHN1cHBvcnRlZExvY2FsZSwgeyBob3VyMTI6IGhvdXIxMiwgaG91cjogJ251bWVyaWMnLCB0aW1lWm9uZTogJ1VUQycgfSk7XG4gIGNvbnN0IGZvcm1hdHRlZEFtID0gZm9ybWF0dGVyLmZvcm1hdFRvUGFydHMoYW0pLmZpbmQocGFydCA9PiBwYXJ0LnR5cGUgPT09ICdkYXlQZXJpb2QnKT8udmFsdWUgPz8gJ2FtJztcbiAgY29uc3QgZm9ybWF0dGVkUG0gPSBmb3JtYXR0ZXIuZm9ybWF0VG9QYXJ0cyhwbSkuZmluZChwYXJ0ID0+IHBhcnQudHlwZSA9PT0gJ2RheVBlcmlvZCcpPy52YWx1ZSA/PyAncG0nO1xuXG4gIGRheVBlcmlvZHMuZm9yRWFjaCgoZWxlbWVudCwgaW5kZXgsIGRheVBlcmlvZHMpID0+IHtcbiAgICBkYXlQZXJpb2RzW2luZGV4XS5sYWJlbCA9IGVsZW1lbnQudmFsdWUgPT09ICdhbScgPyAoZm9ybWF0dGVkQW0gPz8gJ2FtJykgOiAoZm9ybWF0dGVkUG0gPz8gJ3BtJyk7XG4gIH0pO1xuXG4gIHJldHVybiBkYXlQZXJpb2RzO1xufTtcblxuLy8gdGVzdGluZ1xuLy8gY29uc3QgbGFuZ3MgPSBbXG4vLyAgIFsnQWJraGF6aWFuJywgJ2FiJ10sXG4vLyAgIFsnQWZhcicsICdhYSddLFxuLy8gICBbJ0FmcmlrYWFucycsICdhZiddLFxuLy8gICBbJ0FrYW4nLCAnYWsnXSxcbi8vICAgWydBbGJhbmlhbicsICdzcSddLFxuLy8gICBbJ0FtaGFyaWMnLCAnYW0nXSxcbi8vICAgWydBcmFiaWMnLCAnYXInXSxcbi8vICAgWydBcmFnb25lc2UnLCAnYW4nXSxcbi8vICAgWydBcmdlbnRpbmEnLCAnZXMtYXInXSxcbi8vICAgWydBcm1lbmlhbicsICdoeSddLFxuLy8gICBbJ0Fzc2FtZXNlJywgJ2FzJ10sXG4vLyAgIFsnQXZhcmljJywgJ2F2J10sXG4vLyAgIFsnQXZlc3RhbicsICdhZSddLFxuLy8gICBbJ0F5bWFyYScsICdheSddLFxuLy8gICBbJ0F6ZXJiYWlqYW5pJywgJ2F6J10sXG4vLyAgIFsnQmFtYmFyYScsICdibSddLFxuLy8gICBbJ0Jhc2hraXInLCAnYmEnXSxcbi8vICAgWydCYXNxdWUnLCAnZXUnXSxcbi8vICAgWydCZWxhcnVzaWFuJywgJ2JlJ10sXG4vLyAgIFsnQmVuZ2FsaSAoQmFuZ2xhKScsICdibiddLFxuLy8gICBbJ0JpaGFyaScsICdiaCddLFxuLy8gICBbJ0Jpc2xhbWEnLCAnYmknXSxcbi8vICAgWydCb3NuaWFuJywgJ2JzJ10sXG4vLyAgIFsnQnJldG9uJywgJ2JyJ10sXG4vLyAgIFsnQnVsZ2FyaWFuJywgJ2JnJ10sXG4vLyAgIFsnQnVybWVzZScsICdteSddLFxuLy8gICBbJ0NhdGFsYW4nLCAnY2EnXSxcbi8vICAgWydDaGFtb3JybycsICdjaCddLFxuLy8gICBbJ0NoZWNoZW4nLCAnY2UnXSxcbi8vICAgWydDaGljaGV3YSwgQ2hld2EsIE55YW5qYScsICdueSddLFxuLy8gICBbJ0NoaW5lc2UnLCAnemgnXSxcbi8vICAgWydDaGluZXNlIChTaW1wbGlmaWVkKScsICd6aC1IYW5zJ10sXG4vLyAgIFsnQ2hpbmVzZSAoVHJhZGl0aW9uYWwpJywgJ3poLUhhbnQnXSxcbi8vICAgWydDaHV2YXNoJywgJ2N2J10sXG4vLyAgIFsnQ29ybmlzaCcsICdrdyddLFxuLy8gICBbJ0NvcnNpY2FuJywgJ2NvJ10sXG4vLyAgIFsnQ3JlZScsICdjciddLFxuLy8gICBbJ0Nyb2F0aWFuJywgJ2hyJ10sXG4vLyAgIFsnQ3plY2gnLCAnY3MnXSxcbi8vICAgWydEYW5pc2gnLCAnZGEnXSxcbi8vICAgWydEaXZlaGksIERoaXZlaGksIE1hbGRpdmlhbicsICdkdiddLFxuLy8gICBbJ0R1dGNoJywgJ25sJ10sXG4vLyAgIFsnRHpvbmdraGEnLCAnZHonXSxcbi8vICAgWydFbmdsaXNoJywgJ2VuJ10sXG4vLyAgIFsnRXNwZXJhbnRvJywgJ2VvJ10sXG4vLyAgIFsnRXN0b25pYW4nLCAnZXQnXSxcbi8vICAgWydFd2UnLCAnZWUnXSxcbi8vICAgWydGYXJvZXNlJywgJ2ZvJ10sXG4vLyAgIFsnRmlqaWFuJywgJ2ZqJ10sXG4vLyAgIFsnRmlubmlzaCcsICdmaSddLFxuLy8gICBbJ0ZyZW5jaCcsICdmciddLFxuLy8gICBbJ0Z1bGEsIEZ1bGFoLCBQdWxhYXIsIFB1bGFyJywgJ2ZmJ10sXG4vLyAgIFsnR2FsaWNpYW4nLCAnZ2wnXSxcbi8vICAgWydHYWVsaWMgKFNjb3R0aXNoKScsICdnZCddLFxuLy8gICBbJ0dhZWxpYyAoTWFueCknLCAnZ3YnXSxcbi8vICAgWydHZW9yZ2lhbicsICdrYSddLFxuLy8gICBbJ0dlcm1hbicsICdkZSddLFxuLy8gICBbJ0dyZWVrJywgJ2VsJ10sXG4vLyAgIFsnR3JlZW5sYW5kaWMnLCAna2wnXSxcbi8vICAgWydHdWFyYW5pJywgJ2duJ10sXG4vLyAgIFsnR3VqYXJhdGknLCAnZ3UnXSxcbi8vICAgWydIYWl0aWFuIENyZW9sZScsICdodCddLFxuLy8gICBbJ0hhdXNhJywgJ2hhJ10sXG4vLyAgIFsnSGVicmV3JywgJ2hlJ10sXG4vLyAgIFsnSGVyZXJvJywgJ2h6J10sXG4vLyAgIFsnSGluZGknLCAnaGknXSxcbi8vICAgWydIaXJpIE1vdHUnLCAnaG8nXSxcbi8vICAgWydIdW5nYXJpYW4nLCAnaHUnXSxcbi8vICAgWydJY2VsYW5kaWMnLCAnaXMnXSxcbi8vICAgWydJZG8nLCAnaW8nXSxcbi8vICAgWydJZ2JvJywgJ2lnJ10sXG4vLyAgIFsnSW5kb25lc2lhbicsICdpZCcsICdpbiddLFxuLy8gICBbJ0ludGVybGluZ3VhJywgJ2lhJ10sXG4vLyAgIFsnSW50ZXJsaW5ndWUnLCAnaWUnXSxcbi8vICAgWydJbnVrdGl0dXQnLCAnaXUnXSxcbi8vICAgWydJbnVwaWFrJywgJ2lrJ10sXG4vLyAgIFsnSXJpc2gnLCAnZ2EnXSxcbi8vICAgWydJdGFsaWFuJywgJ2l0J10sXG4vLyAgIFsnSmFwYW5lc2UnLCAnamEnXSxcbi8vICAgWydKYXZhbmVzZScsICdqdiddLFxuLy8gICBbJ0thbGFhbGxpc3V0LCBHcmVlbmxhbmRpYycsICdrbCddLFxuLy8gICBbJ0thbm5hZGEnLCAna24nXSxcbi8vICAgWydLYW51cmknLCAna3InXSxcbi8vICAgWydLYXNobWlyaScsICdrcyddLFxuLy8gICBbJ0themFraCcsICdrayddLFxuLy8gICBbJ0tobWVyJywgJ2ttJ10sXG4vLyAgIFsnS2lrdXl1JywgJ2tpJ10sXG4vLyAgIFsnS2lueWFyd2FuZGEgKFJ3YW5kYSknLCAncncnXSxcbi8vICAgWydLaXJ1bmRpJywgJ3JuJ10sXG4vLyAgIFsnS3lyZ3l6JywgJ2t5J10sXG4vLyAgIFsnS29taScsICdrdiddLFxuLy8gICBbJ0tvbmdvJywgJ2tnJ10sXG4vLyAgIFsnS29yZWFuJywgJ2tvJ10sXG4vLyAgIFsnS3VyZGlzaCcsICdrdSddLFxuLy8gICBbJ0t3YW55YW1hJywgJ2tqJ10sXG4vLyAgIFsnTGFvJywgJ2xvJ10sXG4vLyAgIFsnTGF0aW4nLCAnbGEnXSxcbi8vICAgWydMYXR2aWFuIChMZXR0aXNoKScsICdsdiddLFxuLy8gICBbJ0xpbWJ1cmdpc2ggKExpbWJ1cmdlciknLCAnbGknXSxcbi8vICAgWydMaW5nYWxhJywgJ2xuJ10sXG4vLyAgIFsnTGl0aHVhbmlhbicsICdsdCddLFxuLy8gICBbJ0x1Z2EtS2F0YW5nYScsICdsdSddLFxuLy8gICBbJ0x1Z2FuZGEsIEdhbmRhJywgJ2xnJ10sXG4vLyAgIFsnTHV4ZW1ib3VyZ2lzaCcsICdsYiddLFxuLy8gICBbJ01hbngnLCAnZ3YnXSxcbi8vICAgWydNYWNlZG9uaWFuJywgJ21rJ10sXG4vLyAgIFsnTWFsYWdhc3knLCAnbWcnXSxcbi8vICAgWydNYWxheScsICdtcyddLFxuLy8gICBbJ01hbGF5YWxhbScsICdtbCddLFxuLy8gICBbJ01hbHRlc2UnLCAnbXQnXSxcbi8vICAgWydNYW9yaScsICdtaSddLFxuLy8gICBbJ01hcmF0aGknLCAnbXInXSxcbi8vICAgWydNYXJzaGFsbGVzZScsICdtaCddLFxuLy8gICBbJ01vbGRhdmlhbicsICdtbyddLFxuLy8gICBbJ01vbmdvbGlhbicsICdtbiddLFxuLy8gICBbJ05hdXJ1JywgJ25hJ10sXG4vLyAgIFsnTmF2YWpvJywgJ252J10sXG4vLyAgIFsnTmRvbmdhJywgJ25nJ10sXG4vLyAgIFsnTm9ydGhlcm4gTmRlYmVsZScsICduZCddLFxuLy8gICBbJ05lcGFsaScsICduZSddLFxuLy8gICBbJ05vcndlZ2lhbicsICdubyddLFxuLy8gICBbJ05vcndlZ2lhbiBib2ttw6VsJywgJ25iJ10sXG4vLyAgIFsnTm9yd2VnaWFuIG55bm9yc2snLCAnbm4nXSxcbi8vICAgWydOdW9zdScsICdpaSddLFxuLy8gICBbJ09jY2l0YW4nLCAnb2MnXSxcbi8vICAgWydPamlid2UnLCAnb2onXSxcbi8vICAgWydPbGQgQ2h1cmNoIFNsYXZvbmljLCBPbGQgQnVsZ2FyaWFuJywgJ2N1J10sXG4vLyAgIFsnT3JpeWEnLCAnb3InXSxcbi8vICAgWydPcm9tbyAoQWZhYW4gT3JvbW8pJywgJ29tJ10sXG4vLyAgIFsnT3NzZXRpYW4nLCAnb3MnXSxcbi8vICAgWydQxIFsaScsICdwaSddLFxuLy8gICBbJ1Bhc2h0bywgUHVzaHRvJywgJ3BzJ10sXG4vLyAgIFsnUGVyc2lhbiAoRmFyc2kpJywgJ2ZhJ10sXG4vLyAgIFsnUG9saXNoJywgJ3BsJ10sXG4vLyAgIFsnUG9ydHVndWVzZScsICdwdCddLFxuLy8gICBbJ1B1bmphYmkgKEVhc3Rlcm4pJywgJ3BhJ10sXG4vLyAgIFsnUXVlY2h1YScsICdxdSddLFxuLy8gICBbJ1JvbWFuc2gnLCAncm0nXSxcbi8vICAgWydSb21hbmlhbicsICdybyddLFxuLy8gICBbJ1J1c3NpYW4nLCAncnUnXSxcbi8vICAgWydTYW1pJywgJ3NlJ10sXG4vLyAgIFsnU2Ftb2FuJywgJ3NtJ10sXG4vLyAgIFsnU2FuZ28nLCAnc2cnXSxcbi8vICAgWydTYW5za3JpdCcsICdzYSddLFxuLy8gICBbJ1NlcmJpYW4nLCAnc3InXSxcbi8vICAgWydTZXJiby1Dcm9hdGlhbicsICdzaCddLFxuLy8gICBbJ1Nlc290aG8nLCAnc3QnXSxcbi8vICAgWydTZXRzd2FuYScsICd0biddLFxuLy8gICBbJ1Nob25hJywgJ3NuJ10sXG4vLyAgIFsnU2ljaHVhbiBZaScsICdpaSddLFxuLy8gICBbJ1NpbmRoaScsICdzZCddLFxuLy8gICBbJ1NpbmhhbGVzZScsICdzaSddLFxuLy8gICBbJ1Npc3dhdGknLCAnc3MnXSxcbi8vICAgWydTbG92YWsnLCAnc2snXSxcbi8vICAgWydTbG92ZW5pYW4nLCAnc2wnXSxcbi8vICAgWydTb21hbGknLCAnc28nXSxcbi8vICAgWydTb3V0aGVybiBOZGViZWxlJywgJ25yJ10sXG4vLyAgIFsnU3BhbmlzaCcsICdlcyddLFxuLy8gICBbJ1N1bmRhbmVzZScsICdzdSddLFxuLy8gICBbJ1N3YWhpbGkgKEtpc3dhaGlsaSknLCAnc3cnXSxcbi8vICAgWydTd2F0aScsICdzcyddLFxuLy8gICBbJ1N3ZWRpc2gnLCAnc3YnXSxcbi8vICAgWydUYWdhbG9nJywgJ3RsJ10sXG4vLyAgIFsnVGFoaXRpYW4nLCAndHknXSxcbi8vICAgWydUYWppaycsICd0ZyddLFxuLy8gICBbJ1RhbWlsJywgJ3RhJ10sXG4vLyAgIFsnVGF0YXInLCAndHQnXSxcbi8vICAgWydUZWx1Z3UnLCAndGUnXSxcbi8vICAgWydUaGFpJywgJ3RoJ10sXG4vLyAgIFsnVGliZXRhbicsICdibyddLFxuLy8gICBbJ1RpZ3JpbnlhJywgJ3RpJ10sXG4vLyAgIFsnVG9uZ2EnLCAndG8nXSxcbi8vICAgWydUc29uZ2EnLCAndHMnXSxcbi8vICAgWydUdXJraXNoJywgJ3RyJ10sXG4vLyAgIFsnVHVya21lbicsICd0ayddLFxuLy8gICBbJ1R3aScsICd0dyddLFxuLy8gICBbJ1V5Z2h1cicsICd1ZyddLFxuLy8gICBbJ1VrcmFpbmlhbicsICd1ayddLFxuLy8gICBbJ1VyZHUnLCAndXInXSxcbi8vICAgWydVemJlaycsICd1eiddLFxuLy8gICBbJ1ZlbmRhJywgJ3ZlJ10sXG4vLyAgIFsnVmlldG5hbWVzZScsICd2aSddLFxuLy8gICBbJ1ZvbGFww7xrJywgJ3ZvJ10sXG4vLyAgIFsnV2FsbG9uJywgJ3dhJ10sXG4vLyAgIFsnV2Vsc2gnLCAnY3knXSxcbi8vICAgWydXb2xvZicsICd3byddLFxuLy8gICBbJ1dlc3Rlcm4gRnJpc2lhbicsICdmeSddLFxuLy8gICBbJ1hob3NhJywgJ3hoJ10sXG4vLyAgIFsnWWlkZGlzaCcsICd5aScsICdqaSddLFxuLy8gICBbJ1lvcnViYScsICd5byddLFxuLy8gICBbJ1podWFuZywgQ2h1YW5nJywgJ3phJ10sXG4vLyAgIFsnWnVsdScsICd6dSddLFxuLy8gXVxuLy9cbi8vIGxhbmdzLmZvckVhY2gobGFuZyA9PiB7Y29uc3QgcGVyaW9kID0gZ2V0RGF5UGVyaW9kcyhsYW5nWzFdKTsgaWYgKHBlcmlvZC5hbSA9PT0gJ0FNJykgcmV0dXJuOyBjb25zb2xlLmxvZyhsYW5nWzFdLCBwZXJpb2QgKX0pXG5cbi8vIENocm9tZSAvIE9wZXJhXG4vLyBBbWhhcmljIGFtIHthbTogJ+GMpeGLi+GJtScsIHBtOiAn4Yqo4Yiw4YuT4Ym1J31cbi8vIEFyYWJpYyBhciB7YW06ICfYtScsIHBtOiAn2YUnfVxuLy8gQnVsZ2FyaWFuIGJnIHthbTogJ9C/0YAu0L7QsS4nLCBwbTogJ9GB0Lsu0L7QsS4nfVxuLy8gQ2hpbmVzZSAoVHJhZGl0aW9uYWwpIHpoLUhhbnQge2FtOiAn5LiK5Y2IJywgcG06ICfkuIvljYgnfVxuLy8gR3JlZWsgZWwge2FtOiAnz4AuzrwuJywgcG06ICfOvC7OvC4nfVxuLy8gSGluZGkgaGkge2FtOiAnYW0nLCBwbTogJ3BtJ31cbi8vIEthbm5hZGEga24ge2FtOiAn4LKq4LOC4LKw4LON4LK14LK+4LK54LON4LKoJywgcG06ICfgsoXgsqrgsrDgsr7gsrngs43gsqgnfVxuLy8gS29yZWFuIGtvIHthbTogJ+yYpOyghCcsIHBtOiAn7Jik7ZuEJ31cbi8vIE1hbGF5IG1zIHthbTogJ1BHJywgcG06ICdQVEcnfVxuLy8gVGFtaWwgdGEge2FtOiAn4K6u4K+B4K6x4K+N4K6q4K6V4K6y4K+NJywgcG06ICfgrqrgrr/grrHgr43grqrgrpXgrrLgr40nfVxuXG4vLyBFZGdlIENocm9taXVtXG4vLyBBbGJhbmlhbiBzcSB7YW06ICdlIHBhcmFkaXRlcycsIHBtOiAnZSBwYXNkaXRlcyd9XG4vLyBBbWhhcmljIGFtIHthbTogJ+GMpeGLi+GJtScsIHBtOiAn4Yqo4Yiw4YuT4Ym1J31cbi8vIEFyYWJpYyBhciB7YW06ICfYtScsIHBtOiAn2YUnfVxuLy8gQnVsZ2FyaWFuIGJnIHthbTogJ9C/0YAu0L7QsS4nLCBwbTogJ9GB0Lsu0L7QsS4nfVxuLy8gQ2hpbmVzZSAoVHJhZGl0aW9uYWwpIHpoLUhhbnQge2FtOiAn5LiK5Y2IJywgcG06ICfkuIvljYgnfVxuLy8gR3JlZWsgZWwge2FtOiAnz4AuzrwuJywgcG06ICfOvC7OvC4nfVxuLy8gSGluZGkgaGkge2FtOiAnYW0nLCBwbTogJ3BtJ31cbi8vIEthbm5hZGEga24ge2FtOiAn4LKq4LOC4LKw4LON4LK14LK+4LK54LON4LKoJywgcG06ICfgsoXgsqrgsrDgsr7gsrngs43gsqgnfVxuLy8gS29yZWFuIGtvIHthbTogJ+yYpOyghCcsIHBtOiAn7Jik7ZuEJ31cbi8vIE1hbGF5IG1zIHthbTogJ1BHJywgcG06ICdQVEcnfVxuLy8gUHVuamFiaSAoRWFzdGVybikgcGEge2FtOiAn4Kiq4KmCLuCopuCpgS4nLCBwbTogJ+CorOCovi7gqKbgqYEuJ31cbi8vIFNpbmRoaSBzZCB7YW06ICfYtdio2K3YjCDZhdmG2KzZh9mG2K8nLCBwbTogJ9mF2YbYrNmH2YbYr9iMINi02KfZhSd9XG4vLyBUYW1pbCB0YSB7YW06ICfgrq7gr4HgrrHgr43grqrgrpXgrrLgr40nLCBwbTogJ+CuquCuv+CuseCvjeCuquCuleCusuCvjSd9XG5cbi8vIEZpcmVmb3hcbi8vIEFrYW4gYWsgeyBhbTogXCJBTlwiLCBwbTogXCJFV1wiIH1cbi8vIEFsYmFuaWFuIHNxIHsgYW06IFwiZSBwYXJhZGl0ZXNcIiwgcG06IFwiZSBwYXNkaXRlc1wiIH1cbi8vIEFtaGFyaWMgYW0geyBhbTogXCLhjKXhi4vhibVcIiwgcG06IFwi4Yqo4Yiw4YuT4Ym1XCIgfVxuLy8gQXJhYmljIGFyIHsgYW06IFwi2LVcIiwgcG06IFwi2YVcIiB9XG4vLyBBc3NhbWVzZSBhcyB7IGFtOiBcIuCmquCnguCnsOCnjeCmrOCmvuCmueCnjeCmqFwiLCBwbTogXCLgpoXgpqrgp7Dgpr7gprngp43gpqhcIiB9XG4vLyBCdWxnYXJpYW4gYmcgeyBhbTogXCLQv9GALtC+0LEuXCIsIHBtOiBcItGB0Lsu0L7QsS5cIiB9XG4vLyBDaGluZXNlIChUcmFkaXRpb25hbCkgemgtSGFudCB7IGFtOiBcIuS4iuWNiFwiLCBwbTogXCLkuIvljYhcIiB9XG4vLyBEem9uZ2toYSBkeiB7IGFtOiBcIuC9puC+lOC8i+C9huC8i1wiLCBwbTogXCLgvZXgvrHgvbLgvIvgvYbgvItcIiB9XG4vLyBFd2UgZWUgeyBhbTogXCLFi2RpXCIsIHBtOiBcIsmjZXRyyZRcIiB9XG4vLyBHcmVlayBlbCB7IGFtOiBcIs+ALs68LlwiLCBwbTogXCLOvC7OvC5cIiB9XG4vLyBIaW5kaSBoaSB7IGFtOiBcImFtXCIsIHBtOiBcInBtXCIgfVxuLy8gS2FubmFkYSBrbiB7IGFtOiBcIuCyquCzguCysOCzjeCyteCyvuCyueCzjeCyqFwiLCBwbTogXCLgsoXgsqrgsrDgsr7gsrngs43gsqhcIiB9XG4vLyBLb3JlYW4ga28geyBhbTogXCLsmKTsoIRcIiwgcG06IFwi7Jik7ZuEXCIgfVxuLy8gTWFsYXkgbXMgeyBhbTogXCJQR1wiLCBwbTogXCJQVEdcIiB9XG4vLyBPcm9tbyAoQWZhYW4gT3JvbW8pIG9tIHsgYW06IFwiV0RcIiwgcG06IFwiV0JcIiB9XG4vLyBQdW5qYWJpIChFYXN0ZXJuKSBwYSB7IGFtOiBcIuCoquCpgi7gqKbgqYEuXCIsIHBtOiBcIuCorOCovi7gqKbgqYEuXCIgfVxuLy8gU2Fuc2tyaXQgc2EgeyBhbTogXCLgpKrgpYLgpLDgpY3gpLXgpL7gpLngpY3gpKhcIiwgcG06IFwi4KSF4KSq4KSw4KS+4KS54KWN4KSoXCIgfVxuLy8gU2luZGhpIHNkIHsgYW06IFwi2LXYqNit2Iwg2YXZhtis2YfZhtivXCIsIHBtOiBcItmF2YbYrNmH2YbYr9iMINi02KfZhVwiIH1cbi8vIFNvbWFsaSBzbyB7IGFtOiBcIkdIXCIsIHBtOiBcIkdEXCIgfVxuLy8gVGFtaWwgdGEgeyBhbTogXCLgrq7gr4HgrrHgr43grqrgrpXgrrLgr41cIiwgcG06IFwi4K6q4K6/4K6x4K+N4K6q4K6V4K6y4K+NXCIgfVxuLy8gVGlncmlueWEgdGkgeyBhbTogXCLhiYUu4YmALlwiLCBwbTogXCLhi7Uu4YmALlwiIH1cbi8vIFRvbmdhIHRvIHsgYW06IFwiaGVuZ2loZW5naVwiLCBwbTogXCJlZmlhZmlcIiB9XG4vLyBUd2kgdHcgeyBhbTogXCJBTlwiLCBwbTogXCJFV1wiIH1cblxuLy8gY29uc3QgZm9ybWF0cyA9IHtcbi8vICAgXCJhci1TQVwiIDogXCJkZC9NTS95eVwiLFxuLy8gICBcImJnLUJHXCIgOiBcImRkLk0ueXl5eVwiLFxuLy8gICBcImNhLUVTXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJ6aC1UV1wiIDogXCJ5eXl5L00vZFwiLFxuLy8gICBcImNzLUNaXCIgOiBcImQuTS55eXl5XCIsXG4vLyAgIFwiZGEtREtcIiA6IFwiZGQtTU0teXl5eVwiLFxuLy8gICBcImRlLURFXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJlbC1HUlwiIDogXCJkL00veXl5eVwiLFxuLy8gICBcImVuLVVTXCIgOiBcIk0vZC95eXl5XCIsXG4vLyAgIFwiZmktRklcIiA6IFwiZC5NLnl5eXlcIixcbi8vICAgXCJmci1GUlwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiaGUtSUxcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImh1LUhVXCIgOiBcInl5eXkuIE1NLiBkZC5cIixcbi8vICAgXCJpcy1JU1wiIDogXCJkLk0ueXl5eVwiLFxuLy8gICBcIml0LUlUXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJqYS1KUFwiIDogXCJ5eXl5L01NL2RkXCIsXG4vLyAgIFwia28tS1JcIiA6IFwieXl5eS1NTS1kZFwiLFxuLy8gICBcIm5sLU5MXCIgOiBcImQtTS15eXl5XCIsXG4vLyAgIFwibmItTk9cIiA6IFwiZGQuTU0ueXl5eVwiLFxuLy8gICBcInBsLVBMXCIgOiBcInl5eXktTU0tZGRcIixcbi8vICAgXCJwdC1CUlwiIDogXCJkL00veXl5eVwiLFxuLy8gICBcInJvLVJPXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJydS1SVVwiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwiaHItSFJcIiA6IFwiZC5NLnl5eXlcIixcbi8vICAgXCJzay1TS1wiIDogXCJkLiBNLiB5eXl5XCIsXG4vLyAgIFwic3EtQUxcIiA6IFwieXl5eS1NTS1kZFwiLFxuLy8gICBcInN2LVNFXCIgOiBcInl5eXktTU0tZGRcIixcbi8vICAgXCJ0aC1USFwiIDogXCJkL00veXl5eVwiLFxuLy8gICBcInRyLVRSXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJ1ci1QS1wiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiaWQtSURcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcInVrLVVBXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJiZS1CWVwiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwic2wtU0lcIiA6IFwiZC5NLnl5eXlcIixcbi8vICAgXCJldC1FRVwiIDogXCJkLk1NLnl5eXlcIixcbi8vICAgXCJsdi1MVlwiIDogXCJ5eXl5Lk1NLmRkLlwiLFxuLy8gICBcImx0LUxUXCIgOiBcInl5eXkuTU0uZGRcIixcbi8vICAgXCJmYS1JUlwiIDogXCJNTS9kZC95eXl5XCIsXG4vLyAgIFwidmktVk5cIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImh5LUFNXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJhei1MYXRuLUFaXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJldS1FU1wiIDogXCJ5eXl5L01NL2RkXCIsXG4vLyAgIFwibWstTUtcIiA6IFwiZGQuTU0ueXl5eVwiLFxuLy8gICBcImFmLVpBXCIgOiBcInl5eXkvTU0vZGRcIixcbi8vICAgXCJrYS1HRVwiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwiZm8tRk9cIiA6IFwiZGQtTU0teXl5eVwiLFxuLy8gICBcImhpLUlOXCIgOiBcImRkLU1NLXl5eXlcIixcbi8vICAgXCJtcy1NWVwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwia2stS1pcIiA6IFwiZGQuTU0ueXl5eVwiLFxuLy8gICBcImt5LUtHXCIgOiBcImRkLk1NLnl5XCIsXG4vLyAgIFwic3ctS0VcIiA6IFwiTS9kL3l5eXlcIixcbi8vICAgXCJ1ei1MYXRuLVVaXCIgOiBcImRkL01NIHl5eXlcIixcbi8vICAgXCJ0dC1SVVwiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwicGEtSU5cIiA6IFwiZGQtTU0teXlcIixcbi8vICAgXCJndS1JTlwiIDogXCJkZC1NTS15eVwiLFxuLy8gICBcInRhLUlOXCIgOiBcImRkLU1NLXl5eXlcIixcbi8vICAgXCJ0ZS1JTlwiIDogXCJkZC1NTS15eVwiLFxuLy8gICBcImtuLUlOXCIgOiBcImRkLU1NLXl5XCIsXG4vLyAgIFwibXItSU5cIiA6IFwiZGQtTU0teXl5eVwiLFxuLy8gICBcInNhLUlOXCIgOiBcImRkLU1NLXl5eXlcIixcbi8vICAgXCJtbi1NTlwiIDogXCJ5eS5NTS5kZFwiLFxuLy8gICBcImdsLUVTXCIgOiBcImRkL01NL3l5XCIsXG4vLyAgIFwia29rLUlOXCIgOiBcImRkLU1NLXl5eXlcIixcbi8vICAgXCJzeXItU1lcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImR2LU1WXCIgOiBcImRkL01NL3l5XCIsXG4vLyAgIFwiYXItSVFcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcInpoLUNOXCIgOiBcInl5eXkvTS9kXCIsXG4vLyAgIFwiZGUtQ0hcIiA6IFwiZGQuTU0ueXl5eVwiLFxuLy8gICBcImVuLUdCXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJlcy1NWFwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZnItQkVcIiA6IFwiZC9NTS95eXl5XCIsXG4vLyAgIFwiaXQtQ0hcIiA6IFwiZGQuTU0ueXl5eVwiLFxuLy8gICBcIm5sLUJFXCIgOiBcImQvTU0veXl5eVwiLFxuLy8gICBcIm5uLU5PXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJwdC1QVFwiIDogXCJkZC1NTS15eXl5XCIsXG4vLyAgIFwic3ItTGF0bi1DU1wiIDogXCJkLk0ueXl5eVwiLFxuLy8gICBcInN2LUZJXCIgOiBcImQuTS55eXl5XCIsXG4vLyAgIFwiYXotQ3lybC1BWlwiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwibXMtQk5cIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcInV6LUN5cmwtVVpcIiA6IFwiZGQuTU0ueXl5eVwiLFxuLy8gICBcImFyLUVHXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJ6aC1IS1wiIDogXCJkL00veXl5eVwiLFxuLy8gICBcImRlLUFUXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJlbi1BVVwiIDogXCJkL01NL3l5eXlcIixcbi8vICAgXCJlcy1FU1wiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZnItQ0FcIiA6IFwieXl5eS1NTS1kZFwiLFxuLy8gICBcInNyLUN5cmwtQ1NcIiA6IFwiZC5NLnl5eXlcIixcbi8vICAgXCJhci1MWVwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiemgtU0dcIiA6IFwiZC9NL3l5eXlcIixcbi8vICAgXCJkZS1MVVwiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwiZW4tQ0FcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImVzLUdUXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJmci1DSFwiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwiYXItRFpcIiA6IFwiZGQtTU0teXl5eVwiLFxuLy8gICBcInpoLU1PXCIgOiBcImQvTS95eXl5XCIsXG4vLyAgIFwiZGUtTElcIiA6IFwiZGQuTU0ueXl5eVwiLFxuLy8gICBcImVuLU5aXCIgOiBcImQvTU0veXl5eVwiLFxuLy8gICBcImVzLUNSXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJmci1MVVwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiYXItTUFcIiA6IFwiZGQtTU0teXl5eVwiLFxuLy8gICBcImVuLUlFXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJlcy1QQVwiIDogXCJNTS9kZC95eXl5XCIsXG4vLyAgIFwiZnItTUNcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImFyLVROXCIgOiBcImRkLU1NLXl5eXlcIixcbi8vICAgXCJlbi1aQVwiIDogXCJ5eXl5L01NL2RkXCIsXG4vLyAgIFwiZXMtRE9cIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImFyLU9NXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJlbi1KTVwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZXMtVkVcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImFyLVlFXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJlbi0wMjlcIiA6IFwiTU0vZGQveXl5eVwiLFxuLy8gICBcImVzLUNPXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJhci1TWVwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZW4tQlpcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImVzLVBFXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJhci1KT1wiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZW4tVFRcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImVzLUFSXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJhci1MQlwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZW4tWldcIiA6IFwiTS9kL3l5eXlcIixcbi8vICAgXCJlcy1FQ1wiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiYXItS1dcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImVuLVBIXCIgOiBcIk0vZC95eXl5XCIsXG4vLyAgIFwiZXMtQ0xcIiA6IFwiZGQtTU0teXl5eVwiLFxuLy8gICBcImFyLUFFXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJlcy1VWVwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiYXItQkhcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImVzLVBZXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJhci1RQVwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZXMtQk9cIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImVzLVNWXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJlcy1ITlwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZXMtTklcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImVzLVBSXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJhbS1FVFwiIDogXCJkL00veXl5eVwiLFxuLy8gICBcInR6bS1MYXRuLURaXCIgOiBcImRkLU1NLXl5eXlcIixcbi8vICAgXCJpdS1MYXRuLUNBXCIgOiBcImQvTU0veXl5eVwiLFxuLy8gICBcInNtYS1OT1wiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwibW4tTW9uZy1DTlwiIDogXCJ5eXl5L00vZFwiLFxuLy8gICBcImdkLUdCXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJlbi1NWVwiIDogXCJkL00veXl5eVwiLFxuLy8gICBcInBycy1BRlwiIDogXCJkZC9NTS95eVwiLFxuLy8gICBcImJuLUJEXCIgOiBcImRkLU1NLXl5XCIsXG4vLyAgIFwid28tU05cIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcInJ3LVJXXCIgOiBcIk0vZC95eXl5XCIsXG4vLyAgIFwicXV0LUdUXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJzYWgtUlVcIiA6IFwiTU0uZGQueXl5eVwiLFxuLy8gICBcImdzdy1GUlwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiY28tRlJcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcIm9jLUZSXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJtaS1OWlwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiZ2EtSUVcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcInNlLVNFXCIgOiBcInl5eXktTU0tZGRcIixcbi8vICAgXCJici1GUlwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwic21uLUZJXCIgOiBcImQuTS55eXl5XCIsXG4vLyAgIFwibW9oLUNBXCIgOiBcIk0vZC95eXl5XCIsXG4vLyAgIFwiYXJuLUNMXCIgOiBcImRkLU1NLXl5eXlcIixcbi8vICAgXCJpaS1DTlwiIDogXCJ5eXl5L00vZFwiLFxuLy8gICBcImRzYi1ERVwiIDogXCJkLiBNLiB5eXl5XCIsXG4vLyAgIFwiaWctTkdcIiA6IFwiZC9NL3l5eXlcIixcbi8vICAgXCJrbC1HTFwiIDogXCJkZC1NTS15eXl5XCIsXG4vLyAgIFwibGItTFVcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImJhLVJVXCIgOiBcImRkLk1NLnl5XCIsXG4vLyAgIFwibnNvLVpBXCIgOiBcInl5eXkvTU0vZGRcIixcbi8vICAgXCJxdXotQk9cIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcInlvLU5HXCIgOiBcImQvTS95eXl5XCIsXG4vLyAgIFwiaGEtTGF0bi1OR1wiIDogXCJkL00veXl5eVwiLFxuLy8gICBcImZpbC1QSFwiIDogXCJNL2QveXl5eVwiLFxuLy8gICBcInBzLUFGXCIgOiBcImRkL01NL3l5XCIsXG4vLyAgIFwiZnktTkxcIiA6IFwiZC1NLXl5eXlcIixcbi8vICAgXCJuZS1OUFwiIDogXCJNL2QveXl5eVwiLFxuLy8gICBcInNlLU5PXCIgOiBcImRkLk1NLnl5eXlcIixcbi8vICAgXCJpdS1DYW5zLUNBXCIgOiBcImQvTS95eXl5XCIsXG4vLyAgIFwic3ItTGF0bi1SU1wiIDogXCJkLk0ueXl5eVwiLFxuLy8gICBcInNpLUxLXCIgOiBcInl5eXktTU0tZGRcIixcbi8vICAgXCJzci1DeXJsLVJTXCIgOiBcImQuTS55eXl5XCIsXG4vLyAgIFwibG8tTEFcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImttLUtIXCIgOiBcInl5eXktTU0tZGRcIixcbi8vICAgXCJjeS1HQlwiIDogXCJkZC9NTS95eXl5XCIsXG4vLyAgIFwiYm8tQ05cIiA6IFwieXl5eS9NL2RcIixcbi8vICAgXCJzbXMtRklcIiA6IFwiZC5NLnl5eXlcIixcbi8vICAgXCJhcy1JTlwiIDogXCJkZC1NTS15eXl5XCIsXG4vLyAgIFwibWwtSU5cIiA6IFwiZGQtTU0teXlcIixcbi8vICAgXCJlbi1JTlwiIDogXCJkZC1NTS15eXl5XCIsXG4vLyAgIFwib3ItSU5cIiA6IFwiZGQtTU0teXlcIixcbi8vICAgXCJibi1JTlwiIDogXCJkZC1NTS15eVwiLFxuLy8gICBcInRrLVRNXCIgOiBcImRkLk1NLnl5XCIsXG4vLyAgIFwiYnMtTGF0bi1CQVwiIDogXCJkLk0ueXl5eVwiLFxuLy8gICBcIm10LU1UXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJzci1DeXJsLU1FXCIgOiBcImQuTS55eXl5XCIsXG4vLyAgIFwic2UtRklcIiA6IFwiZC5NLnl5eXlcIixcbi8vICAgXCJ6dS1aQVwiIDogXCJ5eXl5L01NL2RkXCIsXG4vLyAgIFwieGgtWkFcIiA6IFwieXl5eS9NTS9kZFwiLFxuLy8gICBcInRuLVpBXCIgOiBcInl5eXkvTU0vZGRcIixcbi8vICAgXCJoc2ItREVcIiA6IFwiZC4gTS4geXl5eVwiLFxuLy8gICBcImJzLUN5cmwtQkFcIiA6IFwiZC5NLnl5eXlcIixcbi8vICAgXCJ0Zy1DeXJsLVRKXCIgOiBcImRkLk1NLnl5XCIsXG4vLyAgIFwic3ItTGF0bi1CQVwiIDogXCJkLk0ueXl5eVwiLFxuLy8gICBcInNtai1OT1wiIDogXCJkZC5NTS55eXl5XCIsXG4vLyAgIFwicm0tQ0hcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcInNtai1TRVwiIDogXCJ5eXl5LU1NLWRkXCIsXG4vLyAgIFwicXV6LUVDXCIgOiBcImRkL01NL3l5eXlcIixcbi8vICAgXCJxdXotUEVcIiA6IFwiZGQvTU0veXl5eVwiLFxuLy8gICBcImhyLUJBXCIgOiBcImQuTS55eXl5LlwiLFxuLy8gICBcInNyLUxhdG4tTUVcIiA6IFwiZC5NLnl5eXlcIixcbi8vICAgXCJzbWEtU0VcIiA6IFwieXl5eS1NTS1kZFwiLFxuLy8gICBcImVuLVNHXCIgOiBcImQvTS95eXl5XCIsXG4vLyAgIFwidWctQ05cIiA6IFwieXl5eS1NLWRcIixcbi8vICAgXCJzci1DeXJsLUJBXCIgOiBcImQuTS55eXl5XCIsXG4vLyAgIFwiZXMtVVNcIiA6IFwiTS9kL3l5eXlcIlxuLy8gfTtcbi8vXG4vLyBPYmplY3Qua2V5cyhmb3JtYXRzKS5mb3JFYWNoKGxhbmcgPT4ge2NvbnN0IHBlcmlvZCA9IGdldERheVBlcmlvZHMobGFuZyk7IGlmIChwZXJpb2QuYW0gPT09ICdBTScpIHJldHVybjsgY29uc29sZS5sb2cobGFuZywgcGVyaW9kICl9KVxuIl19
|