@spicainternational/ngx-sds-components 8.1.1 → 8.3.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -16
- package/esm2022/public-api.mjs +1 -1
- package/esm2022/src/lib/app-switcher/app-switcher.component.mjs +3 -3
- package/esm2022/src/lib/app-switcher/app-switcher.model.mjs +1 -1
- package/esm2022/src/lib/app-switcher/public-api.mjs +1 -1
- package/esm2022/src/lib/avatar/avatar-group.component.mjs +3 -3
- package/esm2022/src/lib/avatar/avatar-group.model.mjs +1 -1
- package/esm2022/src/lib/avatar/avatar.component.mjs +3 -3
- package/esm2022/src/lib/avatar/public-api.mjs +1 -1
- package/esm2022/src/lib/badge/badge.directive.mjs +1 -1
- package/esm2022/src/lib/badge/badge.types.mjs +1 -1
- package/esm2022/src/lib/badge/components/badge.component.mjs +3 -3
- package/esm2022/src/lib/badge/public-api.mjs +1 -1
- package/esm2022/src/lib/callout/callout.component.mjs +3 -3
- package/esm2022/src/lib/callout/public-api.mjs +1 -1
- package/esm2022/src/lib/color-picker/color-picker.component.mjs +3 -3
- package/esm2022/src/lib/color-picker/public-api.mjs +1 -1
- package/esm2022/src/lib/date-picker/date-picker.component.mjs +3 -3
- package/esm2022/src/lib/date-picker/date-picker.model.mjs +1 -1
- package/esm2022/src/lib/date-picker/public-api.mjs +1 -1
- package/esm2022/src/lib/date-picker/sds-date-picker.service.mjs +1 -1
- package/esm2022/src/lib/date-pipes/date-compare.pipe.mjs +1 -1
- package/esm2022/src/lib/date-pipes/date-format.pipe.mjs +1 -1
- package/esm2022/src/lib/date-pipes/date-period-format.pipe.mjs +1 -1
- package/esm2022/src/lib/date-pipes/date-time-formats.constants.mjs +1 -1
- package/esm2022/src/lib/date-pipes/date-time-range-duration.pipe.mjs +1 -1
- package/esm2022/src/lib/date-pipes/date-time-range-format.pipe.mjs +1 -1
- package/esm2022/src/lib/date-pipes/public-api.mjs +1 -1
- package/esm2022/src/lib/drawer/drawer.component.mjs +3 -3
- package/esm2022/src/lib/drawer/public-api.mjs +1 -1
- package/esm2022/src/lib/duration-box/duration-box.component.mjs +3 -3
- package/esm2022/src/lib/duration-box/duration.service.mjs +1 -1
- package/esm2022/src/lib/duration-box/public-api.mjs +1 -1
- package/esm2022/src/lib/duration-pipe/duration-format.pipe.mjs +1 -1
- package/esm2022/src/lib/duration-pipe/public-api.mjs +1 -1
- package/esm2022/src/lib/ellipsis/directives/ellipsis.directive.mjs +1 -1
- package/esm2022/src/lib/ellipsis/public-api.mjs +1 -1
- package/esm2022/src/lib/expansion-panel/expansion-panel.component.mjs +3 -3
- package/esm2022/src/lib/expansion-panel/expansion-panel.types.mjs +1 -1
- package/esm2022/src/lib/expansion-panel/public-api.mjs +1 -1
- package/esm2022/src/lib/highlight-text/directives/highlight-text.directive.mjs +1 -1
- package/esm2022/src/lib/highlight-text/directives/index.mjs +1 -1
- package/esm2022/src/lib/highlight-text/pipes/highlight-text.pipe.mjs +1 -1
- package/esm2022/src/lib/highlight-text/pipes/index.mjs +1 -1
- package/esm2022/src/lib/highlight-text/public-api.mjs +1 -1
- package/esm2022/src/lib/highlight-text/utils/highlight-text.utils.mjs +1 -1
- package/esm2022/src/lib/highlight-text/utils/index.mjs +1 -1
- package/esm2022/src/lib/intersection/directives/index.mjs +1 -1
- package/esm2022/src/lib/intersection/directives/intersection.directive.mjs +1 -1
- package/esm2022/src/lib/intersection/public-api.mjs +1 -1
- package/esm2022/src/lib/intersection/services/index.mjs +1 -1
- package/esm2022/src/lib/intersection/services/intersection.service.mjs +1 -1
- package/esm2022/src/lib/keyboard-shortcut/directives/index.mjs +1 -1
- package/esm2022/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.mjs +19 -29
- package/esm2022/src/lib/keyboard-shortcut/public-api.mjs +1 -1
- package/esm2022/src/lib/layout/default-layout/default-layout.component.mjs +3 -3
- package/esm2022/src/lib/layout/extra-large-layout/extra-large-layout.component.mjs +3 -3
- package/esm2022/src/lib/layout/fluid-layout/fluid-layout.component.mjs +3 -3
- package/esm2022/src/lib/layout/medium-layout/medium-layout.component.mjs +3 -3
- package/esm2022/src/lib/layout/public-api.mjs +1 -1
- package/esm2022/src/lib/layout/small-layout/small-layout.component.mjs +3 -3
- package/esm2022/src/lib/message/message.component.mjs +3 -3
- package/esm2022/src/lib/message/public-api.mjs +1 -1
- package/esm2022/src/lib/modal/dialog/dialog.component.mjs +3 -3
- package/esm2022/src/lib/modal/modal.component.mjs +3 -3
- package/esm2022/src/lib/modal/modal.model.mjs +1 -1
- package/esm2022/src/lib/modal/public-api.mjs +1 -1
- package/esm2022/src/lib/navigation/models/navigation-models.mjs +1 -1
- package/esm2022/src/lib/navigation/navigation-collapsible-frame/navigation-collapsible-frame.component.mjs +3 -3
- package/esm2022/src/lib/navigation/navigation-container/navigation-container.component.mjs +5 -8
- package/esm2022/src/lib/navigation/navigation-external-link/navigation-external-link.component.mjs +3 -3
- package/esm2022/src/lib/navigation/navigation-group/navigation-group.component.mjs +121 -22
- package/esm2022/src/lib/navigation/navigation-header/navigation-header.component.mjs +3 -3
- package/esm2022/src/lib/navigation/navigation-route-link/navigation-route-link.component.mjs +61 -23
- package/esm2022/src/lib/navigation/navigation-separator/navigation-separator.component.mjs +3 -3
- package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-action-button/user-profile-action-button.component.mjs +3 -3
- package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-selector/user-profile-selector.component.mjs +3 -3
- package/esm2022/src/lib/navigation/navigation-user-profile/components/user-profile-tile/user-profile-tile.component.mjs +3 -3
- package/esm2022/src/lib/navigation/navigation-user-profile/navigation-profile.model.mjs +1 -1
- package/esm2022/src/lib/navigation/navigation-user-profile/navigation-user-profile.component.mjs +3 -3
- package/esm2022/src/lib/navigation/product-home/product-home.component.mjs +5 -5
- package/esm2022/src/lib/navigation/public-api.mjs +1 -1
- package/esm2022/src/lib/navigation/utils/navigation.utils.mjs +1 -1
- package/esm2022/src/lib/number-box/number-box.component.mjs +3 -3
- package/esm2022/src/lib/number-box/public-api.mjs +1 -1
- package/esm2022/src/lib/page-header/page-header.component.mjs +3 -3
- package/esm2022/src/lib/page-header/public-api.mjs +1 -1
- package/esm2022/src/lib/pane/pane.component.mjs +3 -3
- package/esm2022/src/lib/pane/pane.model.mjs +1 -1
- package/esm2022/src/lib/pane/public-api.mjs +1 -1
- package/esm2022/src/lib/quick-info/quick-info.component.mjs +3 -3
- package/esm2022/src/lib/quick-info/quick-info.model.mjs +1 -1
- package/esm2022/src/lib/ripple/public-api.mjs +1 -1
- package/esm2022/src/lib/ripple/ripple.directive.mjs +1 -1
- package/esm2022/src/lib/segmented-control/public-api.mjs +1 -1
- package/esm2022/src/lib/segmented-control/segmented-control.component.mjs +3 -3
- package/esm2022/src/lib/side-bar/side-bar.component.mjs +22 -16
- package/esm2022/src/lib/static-value/public-api.mjs +1 -1
- package/esm2022/src/lib/static-value/static-value.component.mjs +3 -3
- package/esm2022/src/lib/table-actions/public-api.mjs +1 -1
- package/esm2022/src/lib/table-actions/table-actions.component.mjs +3 -3
- package/esm2022/src/lib/timeline/components/timeline.component.mjs +13 -3
- package/esm2022/src/lib/timeline/models/timeline.model.mjs +1 -1
- package/esm2022/src/lib/timeline/public-api.mjs +1 -1
- package/esm2022/src/lib/timeline/services/timeline.service.mjs +1 -1
- package/esm2022/src/lib/timeline/types/timeline.types.mjs +1 -1
- package/esm2022/src/lib/timer/public-api.mjs +1 -1
- package/esm2022/src/lib/timer/services/index.mjs +1 -1
- package/esm2022/src/lib/timer/services/timer.service.mjs +1 -1
- package/esm2022/src/lib/timer/utils/index.mjs +1 -1
- package/esm2022/src/lib/timer/utils/timer.utils.mjs +1 -1
- package/esm2022/src/lib/tooltip/components/tooltip.component.mjs +3 -3
- package/esm2022/src/lib/tooltip/public-api.mjs +1 -1
- package/esm2022/src/lib/tooltip/tooltip.directive.mjs +1 -1
- package/esm2022/src/lib/tooltip/tooltip.types.mjs +1 -1
- package/esm2022/src/lib/tooltip/utils/tooltip.utils.mjs +1 -1
- package/esm2022/src/lib/utils/date-time/date-time-format.function.mjs +1 -1
- package/esm2022/src/lib/utils/date-time/intl-date-time-format-options-presets.mjs +1 -1
- package/esm2022/src/lib/utils/date-time/public-api.mjs +1 -1
- package/esm2022/src/lib/utils/public-api.mjs +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-app-switcher.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs +4 -4
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-avatar.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-badge.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-callout.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-date-pipes.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-drawer.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-drawer.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-duration-pipe.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-expansion-panel.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-highlight-text.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +18 -28
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs +10 -10
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-layout.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-message.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs +4 -4
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs +215 -83
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-number-box.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-page-header.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-pane.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-quick-info.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-ripple.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-segmented-control.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs +21 -15
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-side-bar.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-static-value.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-table-actions.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs +12 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-timeline.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-tooltip.mjs +2 -2
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-tooltip.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils-date-time.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components-src-lib-utils.mjs.map +1 -1
- package/fesm2022/spicainternational-ngx-sds-components.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.d.ts +5 -10
- package/src/lib/navigation/navigation-container/navigation-container.component.d.ts +1 -2
- package/src/lib/navigation/navigation-group/navigation-group.component.d.ts +20 -1
- package/src/lib/navigation/navigation-route-link/navigation-route-link.component.d.ts +22 -9
- package/src/lib/ripple/sds-ripple.css +20 -20
- package/src/lib/side-bar/side-bar.component.d.ts +13 -7
- package/src/lib/timeline/components/timeline.component.d.ts +9 -1
|
@@ -150,6 +150,14 @@ export class SdsTimelineComponent {
|
|
|
150
150
|
* @memberof SdsTimelineComponent
|
|
151
151
|
*/
|
|
152
152
|
this.cutOffset = false;
|
|
153
|
+
/**
|
|
154
|
+
* Sets default cursor, that should be shown when hovering over timeline component.
|
|
155
|
+
* Default value is 'default'.
|
|
156
|
+
*
|
|
157
|
+
* @type {string}
|
|
158
|
+
* @memberof SdsTimelineComponent
|
|
159
|
+
*/
|
|
160
|
+
this.defaultCursor = "default";
|
|
153
161
|
// protected
|
|
154
162
|
this.hourTicks = [];
|
|
155
163
|
this.hourLabels = [];
|
|
@@ -306,7 +314,7 @@ export class SdsTimelineComponent {
|
|
|
306
314
|
});
|
|
307
315
|
}
|
|
308
316
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsTimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
309
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SdsTimelineComponent, isStandalone: true, selector: "sds-timeline", inputs: { start: "start", end: "end", items: "items", pointInTimeItems: "pointInTimeItems", itemTemplate: "itemTemplate", pointInTimeTemplate: "pointInTimeTemplate", dayLabelTemplate: "dayLabelTemplate", dayLabelCustomDataFn: "dayLabelCustomDataFn", tickFrequency: "tickFrequency", hourLabelFrequency: "hourLabelFrequency", zoomPercent: "zoomPercent", viewOffsetPercent: "viewOffsetPercent", maxZoomPercent: "maxZoomPercent", showHourLabels: "showHourLabels", hourLabelClass: "hourLabelClass", showDayLabels: "showDayLabels", dayLabelClass: "dayLabelClass", showTimeline: "showTimeline", hourTickClass: "hourTickClass", timelineHeight: "timelineHeight", enableZoomAndDrag: "enableZoomAndDrag", offSetMinutes: "offSetMinutes", locales: "locales", cutOffset: "cutOffset" }, outputs: { zoomPercentChange: "zoomPercentChange", viewOffsetPercentChange: "viewOffsetPercentChange" }, host: { listeners: { "window:mousemove": "onDragMove($event)", "window:touchmove": "onDragMoveTouch($event)", "window:mouseup": "onDragEnd($event)", "window:touchend": "onDragEnd($event)" } }, viewQueries: [{ propertyName: "_viewport", first: true, predicate: ["viewport"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #defaultItemTemplate let-item=\"item\">\
|
|
317
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SdsTimelineComponent, isStandalone: true, selector: "sds-timeline", inputs: { start: "start", end: "end", items: "items", pointInTimeItems: "pointInTimeItems", itemTemplate: "itemTemplate", pointInTimeTemplate: "pointInTimeTemplate", dayLabelTemplate: "dayLabelTemplate", dayLabelCustomDataFn: "dayLabelCustomDataFn", tickFrequency: "tickFrequency", hourLabelFrequency: "hourLabelFrequency", zoomPercent: "zoomPercent", viewOffsetPercent: "viewOffsetPercent", maxZoomPercent: "maxZoomPercent", showHourLabels: "showHourLabels", hourLabelClass: "hourLabelClass", showDayLabels: "showDayLabels", dayLabelClass: "dayLabelClass", showTimeline: "showTimeline", hourTickClass: "hourTickClass", timelineHeight: "timelineHeight", enableZoomAndDrag: "enableZoomAndDrag", offSetMinutes: "offSetMinutes", locales: "locales", cutOffset: "cutOffset", defaultCursor: "defaultCursor" }, outputs: { zoomPercentChange: "zoomPercentChange", viewOffsetPercentChange: "viewOffsetPercentChange" }, host: { listeners: { "window:mousemove": "onDragMove($event)", "window:touchmove": "onDragMoveTouch($event)", "window:mouseup": "onDragEnd($event)", "window:touchend": "onDragEnd($event)" } }, viewQueries: [{ propertyName: "_viewport", first: true, predicate: ["viewport"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #defaultItemTemplate let-item=\"item\">\n <div \n class=\"sds-timeline-item h-100\"\n [title]=\"item.hint\"\n >\n </div>\n</ng-template>\n\n<ng-template #defaultPointInTimeItemTemplate let-item=\"item\">\n <div \n class=\"sds-timeline-item h-100\"\n [title]=\"item.hint\"\n >\n </div>\n</ng-template>\n\n<ng-template #defaultDayLabelTemplate let-label=\"label\">\n {{label.label}}\n</ng-template>\n\n<div \n #viewport\n class=\"sds-timeline-viewport\"\n (wheel)=\"onScroll($event)\"\n\n (mousedown)=\"onDragStart($event)\"\n (touchstart)=\"onDragStart($event)\"\n >\n\n <div \n class=\"sds-timeline-container d-flex flex-column\"\n [style.left.%]=\"viewOffsetPercent\"\n [style.width.%]=\"zoomPercent\"\n [style.cursor]=\"isDragging ? 'ew-resize' : defaultCursor\"\n >\n\n <div\n *ngIf=\"showDayLabels\" \n class=\"sds-timeline-day-header\">\n\n <div \n *ngFor=\"let label of dayLabels\"\n class=\"sds-day-label\" \n [ngClass]=\"dayLabelClass ?? null\"\n [style.left.%]=\"label.x\"\n [style.width.%]=\"label.width\"\n >\n <ng-container \n [ngTemplateOutlet]=\"dayLabelTemplate ? dayLabelTemplate : defaultDayLabelTemplate\"\n [ngTemplateOutletContext]=\"{label: label}\">\n </ng-container> \n </div>\n </div>\n\n <div \n *ngIf=\"showHourLabels\" \n class=\"sds-timeline-hour-header\">\n\n <div \n *ngFor=\"let label of hourLabels;\"\n class=\"sds-hour-label\" \n [ngClass]=\"hourLabelClass ?? null\"\n [style.left.%]=\"label.x\"\n [style.width.rem]=\"1.2\"\n [ngStyle]=\"{'left': 'calc(' + label.x + '% - 0.6rem)'}\"\n >\n \n {{label.label}}\n \n </div>\n </div>\n\n <div \n *ngIf=\"showTimeline\"\n class=\"sds-timeline flex-grow-1\"\n [style.height]=\"timelineHeight\"\n >\n\n <div \n *ngFor=\"let tick of hourTicks\"\n class=\"sds-timeline-tick\" \n [ngClass]=\"hourTickClass ?? null\"\t\n [ngStyle]=\"tick.x == 100 ? {'left': 'calc(' + tick.x +'% - 1px)'} : {'left': 'calc(' + tick.x + '% - 0.5px)'}\"\n >\n </div>\n\n <div \n *ngFor=\"let item of presentationItems\"\n class=\"sds-timeline-item-container\"\n [ngClass]=\"item.class ?? null\"\n [ngStyle]=\"{\n 'width': 'max(' + item.width +'%, 1px)',\n 'top': 'calc(' + item.top + ' - max(calc(' + item.height +'/2), 1px))', \n }\"\n\n [style.left.%]=\"item.x\"\n [style.height]=\"item.height\"\n [style.backgroundColor]=\"item.backgroundColor\"\n >\n\n <ng-container \n [ngTemplateOutlet]=\"itemTemplate ? itemTemplate : defaultItemTemplate\"\n [ngTemplateOutletContext]=\"{item: item}\">\n </ng-container> \n </div>\n\n\n <!-- [ngClass]=\"item.class\"\t -->\n <div *ngFor=\"let item of presentationPointInTimeItems\"\n class=`sds-timeline-point-in-time-item-container ${item.class}`\n [style.height]=\"item.height\"\n [style.width]=\"item.width\"\n [ngStyle]=\"{\n 'top': 'calc(' + item.top + ' - max(calc(' + item.height +'/2), 1px))', \n 'left': 'calc(' + item.x + '% - max( calc(' + item.width +'/2), 1px))',\n \n }\"\n [style.backgroundColor]=\"item.backgroundColor\"\n >\n\n <ng-container \n [ngTemplateOutlet]=\"pointInTimeTemplate ? pointInTimeTemplate : defaultPointInTimeItemTemplate\"\n [ngTemplateOutletContext]=\"{item: item}\">\n </ng-container> \n\n </div>\n\n </div>\n </div>\n</div>\n", styles: [".sds-timeline-viewport{overflow:hidden}.sds-timeline-viewport .sds-timeline-container{width:100%;min-height:0;position:relative;-webkit-user-select:none;user-select:none}.sds-timeline-viewport .sds-timeline-container .sds-timeline-day-header{height:1.6rem;position:relative}.sds-timeline-viewport .sds-timeline-container .sds-timeline-day-header .sds-day-label{position:absolute;display:inline;text-align:center;font-size:.875rem}.sds-timeline-viewport .sds-timeline-container .sds-timeline-hour-header{height:1.6rem;position:relative;font-size:.8em}.sds-timeline-viewport .sds-timeline-container .sds-timeline-hour-header .sds-hour-label{position:absolute;display:inline;text-align:center;font-size:.875rem}.sds-timeline-viewport .sds-timeline-container .sds-timeline{position:relative}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-tick{border-left:1px solid rgb(187,187,187);height:100%;position:absolute;display:inline}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-item-container{height:100%;position:absolute;display:inline;top:20%;height:60%}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-item-container .sds-timeline-item{position:relative;width:100%}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-point-in-time-item-container{width:1px;height:1px;position:absolute}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-point-in-time-item-container .sds-timeline-item{position:relative;width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
310
318
|
}
|
|
311
319
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SdsTimelineComponent, decorators: [{
|
|
312
320
|
type: Component,
|
|
@@ -316,7 +324,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
316
324
|
NgStyle,
|
|
317
325
|
NgClass,
|
|
318
326
|
NgTemplateOutlet,
|
|
319
|
-
], template: "<ng-template #defaultItemTemplate let-item=\"item\">\
|
|
327
|
+
], template: "<ng-template #defaultItemTemplate let-item=\"item\">\n <div \n class=\"sds-timeline-item h-100\"\n [title]=\"item.hint\"\n >\n </div>\n</ng-template>\n\n<ng-template #defaultPointInTimeItemTemplate let-item=\"item\">\n <div \n class=\"sds-timeline-item h-100\"\n [title]=\"item.hint\"\n >\n </div>\n</ng-template>\n\n<ng-template #defaultDayLabelTemplate let-label=\"label\">\n {{label.label}}\n</ng-template>\n\n<div \n #viewport\n class=\"sds-timeline-viewport\"\n (wheel)=\"onScroll($event)\"\n\n (mousedown)=\"onDragStart($event)\"\n (touchstart)=\"onDragStart($event)\"\n >\n\n <div \n class=\"sds-timeline-container d-flex flex-column\"\n [style.left.%]=\"viewOffsetPercent\"\n [style.width.%]=\"zoomPercent\"\n [style.cursor]=\"isDragging ? 'ew-resize' : defaultCursor\"\n >\n\n <div\n *ngIf=\"showDayLabels\" \n class=\"sds-timeline-day-header\">\n\n <div \n *ngFor=\"let label of dayLabels\"\n class=\"sds-day-label\" \n [ngClass]=\"dayLabelClass ?? null\"\n [style.left.%]=\"label.x\"\n [style.width.%]=\"label.width\"\n >\n <ng-container \n [ngTemplateOutlet]=\"dayLabelTemplate ? dayLabelTemplate : defaultDayLabelTemplate\"\n [ngTemplateOutletContext]=\"{label: label}\">\n </ng-container> \n </div>\n </div>\n\n <div \n *ngIf=\"showHourLabels\" \n class=\"sds-timeline-hour-header\">\n\n <div \n *ngFor=\"let label of hourLabels;\"\n class=\"sds-hour-label\" \n [ngClass]=\"hourLabelClass ?? null\"\n [style.left.%]=\"label.x\"\n [style.width.rem]=\"1.2\"\n [ngStyle]=\"{'left': 'calc(' + label.x + '% - 0.6rem)'}\"\n >\n \n {{label.label}}\n \n </div>\n </div>\n\n <div \n *ngIf=\"showTimeline\"\n class=\"sds-timeline flex-grow-1\"\n [style.height]=\"timelineHeight\"\n >\n\n <div \n *ngFor=\"let tick of hourTicks\"\n class=\"sds-timeline-tick\" \n [ngClass]=\"hourTickClass ?? null\"\t\n [ngStyle]=\"tick.x == 100 ? {'left': 'calc(' + tick.x +'% - 1px)'} : {'left': 'calc(' + tick.x + '% - 0.5px)'}\"\n >\n </div>\n\n <div \n *ngFor=\"let item of presentationItems\"\n class=\"sds-timeline-item-container\"\n [ngClass]=\"item.class ?? null\"\n [ngStyle]=\"{\n 'width': 'max(' + item.width +'%, 1px)',\n 'top': 'calc(' + item.top + ' - max(calc(' + item.height +'/2), 1px))', \n }\"\n\n [style.left.%]=\"item.x\"\n [style.height]=\"item.height\"\n [style.backgroundColor]=\"item.backgroundColor\"\n >\n\n <ng-container \n [ngTemplateOutlet]=\"itemTemplate ? itemTemplate : defaultItemTemplate\"\n [ngTemplateOutletContext]=\"{item: item}\">\n </ng-container> \n </div>\n\n\n <!-- [ngClass]=\"item.class\"\t -->\n <div *ngFor=\"let item of presentationPointInTimeItems\"\n class=`sds-timeline-point-in-time-item-container ${item.class}`\n [style.height]=\"item.height\"\n [style.width]=\"item.width\"\n [ngStyle]=\"{\n 'top': 'calc(' + item.top + ' - max(calc(' + item.height +'/2), 1px))', \n 'left': 'calc(' + item.x + '% - max( calc(' + item.width +'/2), 1px))',\n \n }\"\n [style.backgroundColor]=\"item.backgroundColor\"\n >\n\n <ng-container \n [ngTemplateOutlet]=\"pointInTimeTemplate ? pointInTimeTemplate : defaultPointInTimeItemTemplate\"\n [ngTemplateOutletContext]=\"{item: item}\">\n </ng-container> \n\n </div>\n\n </div>\n </div>\n</div>\n", styles: [".sds-timeline-viewport{overflow:hidden}.sds-timeline-viewport .sds-timeline-container{width:100%;min-height:0;position:relative;-webkit-user-select:none;user-select:none}.sds-timeline-viewport .sds-timeline-container .sds-timeline-day-header{height:1.6rem;position:relative}.sds-timeline-viewport .sds-timeline-container .sds-timeline-day-header .sds-day-label{position:absolute;display:inline;text-align:center;font-size:.875rem}.sds-timeline-viewport .sds-timeline-container .sds-timeline-hour-header{height:1.6rem;position:relative;font-size:.8em}.sds-timeline-viewport .sds-timeline-container .sds-timeline-hour-header .sds-hour-label{position:absolute;display:inline;text-align:center;font-size:.875rem}.sds-timeline-viewport .sds-timeline-container .sds-timeline{position:relative}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-tick{border-left:1px solid rgb(187,187,187);height:100%;position:absolute;display:inline}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-item-container{height:100%;position:absolute;display:inline;top:20%;height:60%}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-item-container .sds-timeline-item{position:relative;width:100%}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-point-in-time-item-container{width:1px;height:1px;position:absolute}.sds-timeline-viewport .sds-timeline-container .sds-timeline .sds-timeline-point-in-time-item-container .sds-timeline-item{position:relative;width:100%}\n"] }]
|
|
320
328
|
}], ctorParameters: () => [], propDecorators: { start: [{
|
|
321
329
|
type: Input
|
|
322
330
|
}], end: [{
|
|
@@ -369,6 +377,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
369
377
|
type: Input
|
|
370
378
|
}], cutOffset: [{
|
|
371
379
|
type: Input
|
|
380
|
+
}], defaultCursor: [{
|
|
381
|
+
type: Input
|
|
372
382
|
}], _viewport: [{
|
|
373
383
|
type: ViewChild,
|
|
374
384
|
args: ['viewport', { static: true }]
|
|
@@ -385,4 +395,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
385
395
|
type: HostListener,
|
|
386
396
|
args: ['window:touchend', ['$event']]
|
|
387
397
|
}] } });
|
|
388
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvdGltZWxpbmUvY29tcG9uZW50cy90aW1lbGluZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi90aW1lbGluZS9jb21wb25lbnRzL3RpbWVsaW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBR04sU0FBUyxFQUNULFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQVNsRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBZWxGLE1BQU0sT0FBTyxvQkFBb0I7SUE4TjdCO1FBN05BOzs7OztXQUtHO1FBQ00sVUFBSyxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUFFbEM7Ozs7O1dBS0c7UUFDTSxRQUFHLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUVoQzs7Ozs7O1dBTUc7UUFDTSxVQUFLLEdBQW1CLEVBQUUsQ0FBQztRQUVwQzs7Ozs7O1dBTUc7UUFDTSxxQkFBZ0IsR0FBOEIsRUFBRSxDQUFDO1FBRTFEOzs7OztXQUtHO1FBQ00saUJBQVksR0FBaUMsU0FBUyxDQUFDO1FBRWhFOzs7OztXQUtHO1FBQ00sd0JBQW1CLEdBQWlDLFNBQVMsQ0FBQztRQUV2RTs7Ozs7V0FLRztRQUNNLHFCQUFnQixHQUFpQyxTQUFTLENBQUM7UUFFcEU7Ozs7O1dBS0c7UUFDTSx5QkFBb0IsR0FBK0MsU0FB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QXNCbUMsU0FBUztzQkFBakQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQTRGaEMsVUFBVTtzQkFEaEIsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFXNUMsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVlyQyxTQUFTO3NCQUZmLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUN6QyxZQUFZO3VCQUFDLGlCQUFpQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEFmdGVyVmlld0luaXQsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgSG9zdExpc3RlbmVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBPbkluaXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBTaW1wbGVDaGFuZ2VzLFxyXG4gICAgVGVtcGxhdGVSZWYsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBFdmVudEVtaXR0ZXJcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGltZWxpbmVDdXN0b21EYXRlRGF0YVByb3ZpZGVyLCBUaW1lbGluZVRpY2tGcmVxdWVuY3kgfSBmcm9tICcuLi90eXBlcy90aW1lbGluZS50eXBlcyc7XHJcbmltcG9ydCB7IFNkc1RpbWVsaW5lU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RpbWVsaW5lLnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gICAgVGltZWxpbmVJbnRlcnZhbExhYmVsLFxyXG4gICAgVGltZWxpbmVJdGVtLFxyXG4gICAgVGltZWxpbmVJdGVtUHJlc2VudGF0aW9uLFxyXG4gICAgVGltZWxpbmVQb2ludEluVGltZUl0ZW0sXHJcbiAgICBUaW1lbGluZVBvaW50SW5UaW1lSXRlbVByZXNlbnRhdGlvbixcclxuICAgIFRpbWVsaW5lVGljayxcclxufSBmcm9tICcuLi9tb2RlbHMvdGltZWxpbmUubW9kZWwnO1xyXG5pbXBvcnQgeyBOZ0lmLCBOZ0ZvciwgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCwgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2RzLXRpbWVsaW5lJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi90aW1lbGluZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi90aW1lbGluZS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBOZ0lmLFxyXG4gICAgICAgIE5nRm9yLFxyXG4gICAgICAgIE5nU3R5bGUsXHJcbiAgICAgICAgTmdDbGFzcyxcclxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNkc1RpbWVsaW5lQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc3RhcnQgZGF0ZSBhbmQgdGltZSBmb3IgdGhlIHRpbWVsaW5lLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtEYXRlfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHN0YXJ0OiBEYXRlID0gbmV3IERhdGUoKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBlbmQgZGF0ZSBhbmQgdGltZSBmb3IgdGhlIHRpbWVsaW5lLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtEYXRlfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGVuZDogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgcGVyaW9kIGJhc2VkIGl0ZW1zIHRvIGJlIGRpc3BsYXllZCBvbiB0aGUgdGltZWxpbmUuIFNwZWNpZnkgZGF0YSBpZiB5b3UgbmVlZCBcclxuICAgICAqIGFkZGl0aW9uYWwgZGF0YSBmb3IgY3VzdG9tIHJlbmRlcmluZyBvZiB0aGUgaXRlbXMuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge1RpbWVsaW5lSXRlbVtdfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGl0ZW1zOiBUaW1lbGluZUl0ZW1bXSA9IFtdO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSXRlbXMgdG8gYmUgZGlzcGxheWVkIG9uIHRoZSB0aW1lbGluZSBhdCBhIHNwZWNpZmljIHBvaW50IGluIHRpbWUuXHJcbiAgICAgKiBTcGVjaWZ5IGRhdGEgaWYgeW91IG5lZWQgYWRkaXRpb25hbCBkYXRhIGZvciBjdXN0b20gcmVuZGVyaW5nIG9mIHRoZSBpdGVtcy5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7VGltZWxpbmVQb2ludEluVGltZUl0ZW1bXX1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBwb2ludEluVGltZUl0ZW1zOiBUaW1lbGluZVBvaW50SW5UaW1lSXRlbVtdID0gW107XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgdGVtcGxhdGUgdG8gYmUgdXNlZCBmb3IgY3VzdG9tIHJlbmRlcmluZyBvZiB0aGUgaXRlbXMuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUgeyhUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkKX1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBpdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgdGVtcGxhdGUgdG8gYmUgdXNlZCBmb3IgY3VzdG9tIHJlbmRlcmluZyBvZiB0aGUgcG9pbi1pbi10aW1lIGl0ZW1zLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHsoVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCl9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgcG9pbnRJblRpbWVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSB0ZW1wbGF0ZSB0byBiZSB1c2VkIGZvciBjdXN0b20gcmVuZGVyaW5nIG9mIHRoZSBkYXkgbGFiZWxzLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHsoVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCl9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgZGF5TGFiZWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBBIGN1c3RvbSBkYXRhIGZ1bmN0aW9uIGZvciB0aGUgZGF5IGxhYmVscy4gXHJcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIHRha2VzIGEgRGF0ZSBvYmplY3QgYXMgaW5wdXQgYW5kIHJldHVybnMgYW55IGN1c3RvbSBkYXRhIHRoYXQgd2lsbCBiZSBhdmFpbGFibGUgZm9yIHRoZSBjdXN0b20gdGVtcGxhdGVcclxuICAgICAqXHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgZGF5TGFiZWxDdXN0b21EYXRhRm46IFRpbWVsaW5lQ3VzdG9tRGF0ZURhdGFQcm92aWRlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBmcmVxdWVuY3kgb2YgdGhlIHRpY2tzIG9uIHRoZSB0aW1lbGluZS5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7VGltZWxpbmVUaWNrRnJlcXVlbmN5fVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHRpY2tGcmVxdWVuY3k6IFRpbWVsaW5lVGlja0ZyZXF1ZW5jeSA9ICdob3VybHknO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGZyZXF1ZW5jeSBvZiB0aGUgaG91ciBsYWJlbHMgb24gdGhlIHRpbWVsaW5lLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtUaW1lbGluZVRpY2tGcmVxdWVuY3l9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgaG91ckxhYmVsRnJlcXVlbmN5OiBUaW1lbGluZVRpY2tGcmVxdWVuY3kgPSAnM2hycyc7XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGN1cnJlbnQgem9vbSBsZXZlbCBvZiB0aGUgdGltZWxpbmUuIEluIHBlcmNlbnQuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge251bWJlcn1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSB6b29tUGVyY2VudDogbnVtYmVyID0gMTAwO1xyXG4gICAgQE91dHB1dCgpIHpvb21QZXJjZW50Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbml0aWFsIG9mZnNldCBvZiB0aGUgdmlld3BvcnQgaW4gcGVyY2VudC4gVGhpcyBpcyB1c2VkIGluIHNjZW5hcmlvcyBcclxuICAgICAqIHdpdGggbXVsdGlwbGUgZGF5cyB3aGVuIHlvdSB3YW50IHRvIHNob3cgbm9uLWZpcnN0IGRheSBhcyBkZWZ1bHQuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge251bWJlcn1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSB2aWV3T2Zmc2V0UGVyY2VudDogbnVtYmVyID0gMDtcclxuICAgIEBPdXRwdXQoKSB2aWV3T2Zmc2V0UGVyY2VudENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIG1heGltdW0gYWxsb3dlZCB6b29tIGxldmVsIG9mIHRoZSB0aW1lbGluZS4gSW4gcGVyY2VudC5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7bnVtYmVyfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIG1heFpvb21QZXJjZW50OiBudW1iZXIgPSA1MDA7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBXaGV0aGVyIHRvIHNob3cgaG91ciBsYWJlbHMuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge2Jvb2xlYW59XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgc2hvd0hvdXJMYWJlbHM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIENTUyBjbGFzcyB0byBiZSBhcHBsaWVkIHRvIHRoZSBob3VyIGxhYmVscy5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGhvdXJMYWJlbENsYXNzPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogV2hldGhlciB0byBzaG93IGRheSBsYWJlbHMuIFxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHNob3dEYXlMYWJlbHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBDU1MgY2xhc3MgdG8gYmUgYXBwbGllZCB0byB0aGUgZGF5IGxhYmVscy5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGRheUxhYmVsQ2xhc3M/OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBXaGV0aGVyIHRvIHNob3cgdGltZWxpbmUuIFVzZWZ1bCBmb3IgaGlkaW5nIHRoZSB0aW1lbGluZSB3aGVuIHdlIG9ubHkgbmVlZCBoZWFkZXIuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge2Jvb2xlYW59XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgc2hvd1RpbWVsaW5lOiBib29sZWFuID0gdHJ1ZTsgICAgXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgQ1NTIGNsYXNzIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGhvdXIgdGlja3MuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge3N0cmluZ31cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBob3VyVGlja0NsYXNzPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGhlaWdodCBvZiB0aGUgdGltZWxpbmUuIERlZmF1bHQgaXMgMnJlbS5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHRpbWVsaW5lSGVpZ2h0OiBzdHJpbmcgPSAnMnJlbSc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBXaGV0aGVyIHRvIGVuYWJsZSB6b29tIGFuZCBkcmFnIGZ1bmN0aW9uYWxpdHkuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge2Jvb2xlYW59XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgZW5hYmxlWm9vbUFuZERyYWc6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTnVtYmVyIG9mIG1pbnV0ZXMgYWRkZWQgdG8gc3RhcnQgYW5kIHN0b3AgdG8gZml0IHRoZSBkYXRhIG9uIHRoZSBlZGdlc1xyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtudW1iZXJ9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgb2ZmU2V0TWludXRlczogbnVtYmVyID0gMTU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbG9jYWxlcyB0byBiZSB1c2VkIGZvciBmb3JtYXR0aW5nIHRoZSB0aW1lbGluZS5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7KHN0cmluZyB8IEFycmF5PHN0cmluZz4pfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGxvY2FsZXM/OiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udHJvbCBpZiB0aG9zZSBwYXJ0cyBvZiBzZWdtZW50cyAob3Igd2hvbGUgc2VnbWVudHMpIHRoYXQgZmFsbCBpbnRvIHRoZSBPZmZzZXQgXHJcbiAgICAgKiBwZXJpb2QgYXJlIGRpc3BsYXllZCBvciBub3RcclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBjdXRPZmZzZXQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvLyBwcm90ZWN0ZWRcclxuICAgIGhvdXJUaWNrczogVGltZWxpbmVUaWNrW10gPSBbXTtcclxuICAgIGhvdXJMYWJlbHM6IFRpbWVsaW5lSW50ZXJ2YWxMYWJlbFtdID0gW107XHJcbiAgICBkYXlMYWJlbHM6IFRpbWVsaW5lSW50ZXJ2YWxMYWJlbFtdID0gW107XHJcblxyXG4gICAgcHJpdmF0ZSBfdGltZWxpbmVTZXJ2aWNlOiBTZHNUaW1lbGluZVNlcnZpY2UgPSBuZXcgU2RzVGltZWxpbmVTZXJ2aWNlKFxyXG4gICAgICAgIHRoaXMuc3RhcnQsXHJcbiAgICAgICAgdGhpcy5lbmQsXHJcbiAgICAgICAgdGhpcy5vZmZTZXRNaW51dGVzLFxyXG4gICAgICAgIHRoaXMuY3V0T2Zmc2V0XHJcbiAgICApO1xyXG5cclxuICAgIHB1YmxpYyBwcmVzZW50YXRpb25JdGVtczogVGltZWxpbmVJdGVtUHJlc2VudGF0aW9uW10gPSBbXTtcclxuICAgIHB1YmxpYyBwcmVzZW50YXRpb25Qb2ludEluVGltZUl0ZW1zOiBUaW1lbGluZVBvaW50SW5UaW1lSXRlbVByZXNlbnRhdGlvbltdID0gW107XHJcblxyXG4gICAgcHVibGljIGlzRHJhZ2dpbmcgPSBmYWxzZTtcclxuICAgIHB1YmxpYyBpbml0aWFsRHJhZ1ggPSAwO1xyXG5cclxuICAgIHByaXZhdGUgdmlld09mZnNldFBlcmNlbnREcmFnU3RhcnQgPSAwO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ3ZpZXdwb3J0JywgeyBzdGF0aWM6IHRydWUgfSkgX3ZpZXdwb3J0OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5nZW5lcmF0ZVRpY2tzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLnN0YXJ0ICYmIHRoaXMuZW5kKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lU2VydmljZSA9IG5ldyBTZHNUaW1lbGluZVNlcnZpY2UoXHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5lbmQsXHJcbiAgICAgICAgICAgICAgICB0aGlzLm9mZlNldE1pbnV0ZXMsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmN1dE9mZnNldFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlVGlja3MoKTtcclxuICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZUludGVybmFsVGltZWxpbmVJdGVtcygpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3N0YXJ0J10gfHwgY2hhbmdlc1snZW5kJ10gfHwgY2hhbmdlc1snb2ZmU2V0TWludXRlcyddIHx8IGNoYW5nZXNbJ2N1dE9mZnNldCddKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lU2VydmljZSA9IG5ldyBTZHNUaW1lbGluZVNlcnZpY2UoXHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5lbmQsXHJcbiAgICAgICAgICAgICAgICB0aGlzLm9mZlNldE1pbnV0ZXMsXHJcbiAgICAgICAgICAgICAgICB0aGlzLmN1dE9mZnNldFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlVGlja3MoKTtcclxuICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZUludGVybmFsVGltZWxpbmVJdGVtcygpOyAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ2l0ZW1zJ10pIHtcclxuICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZUludGVybmFsVGltZWxpbmVJdGVtcygpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3BvaW50SW5UaW1lSXRlbXMnXSkge1xyXG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlSW50ZXJuYWxUaW1lbGluZVBvaW50SW5UaW1lSXRlbXMoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjaGFuZ2VzWyd6b29tUGVyY2VudCddKSB7XHJcbiAgICAgICAgICAgIC8vIHRoaXMudmlld09mZnNldFBlcmNlbnQgPSAodGhpcy56b29tUGVyY2VudCAtIDEwMCkgLyAtMjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjaGFuZ2VzWydzaG93RGF5TGFiZWxzJ10gfHwgY2hhbmdlc1snc2hvd0hvdXJMYWJlbHMnXSkge1xyXG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlVGlja3MoKTtcclxuICAgICAgICB9ICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuICAgIC8vI3JlZ2lvbiBtb3VzZSB3aGVlbCB6b29tXHJcbiAgICBvblNjcm9sbChldmVudDogV2hlZWxFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmVuYWJsZVpvb21BbmREcmFnKSB7XHJcblxyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgZGVsdGEgPSBNYXRoLnNpZ24oZXZlbnQuZGVsdGFZKTtcclxuICAgICAgICAgICAgY29uc3QgbmV3Wm9vbVBlcmNlbnQgPSBNYXRoLm1pbihcclxuICAgICAgICAgICAgICAgIE1hdGgubWF4KHRoaXMuem9vbVBlcmNlbnQgKyAtZGVsdGEgKiAyMCwgMTAwKSxcclxuICAgICAgICAgICAgICAgIHRoaXMubWF4Wm9vbVBlcmNlbnRcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgY29uc3QgZGVsdGFab29tUGVyY2VudCA9IG5ld1pvb21QZXJjZW50IC0gdGhpcy56b29tUGVyY2VudDtcclxuICAgICAgICAgICAgdGhpcy56b29tUGVyY2VudCA9IG5ld1pvb21QZXJjZW50O1xyXG4gICAgICAgICAgICB0aGlzLnpvb21QZXJjZW50Q2hhbmdlLmVtaXQodGhpcy56b29tUGVyY2VudCk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAvLyBnZXQgdGhlIHJlbGF0aXZlIHBvc2l0aW9uIG9mIHRoZSBjdXJzb3Igb24gdGhlIHZpZXdwb3J0IHNvIHdlIGNhbiB6b29tIGluIGludG8gdGhpcyBwb3NpdGlvblxyXG4gICAgICAgICAgICBjb25zdCB4ID0gZXZlbnQuY2xpZW50WCAtIHRoaXMuX3ZpZXdwb3J0Py5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQ7XHJcbiAgICAgICAgICAgIGNvbnN0IGN1cnNvclJlbGF0aXZlUG9zaXRpb24gPSB4IC8gdGhpcy5fdmlld3BvcnQ/Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XHJcbiAgICAgICAgICAgIC8vIHRoaXMudmlld09mZnNldFBlcmNlbnQgPSB0aGlzLnZpZXdPZmZzZXRQZXJjZW50IC0gZGVsdGFab29tUGVyY2VudCAqIGN1cnNvclJlbGF0aXZlUG9zaXRpb247XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNvbnN0cmFpbk9mZnNldCh0aGlzLnZpZXdPZmZzZXRQZXJjZW50IC0gZGVsdGFab29tUGVyY2VudCAqIGN1cnNvclJlbGF0aXZlUG9zaXRpb24pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxuICAgIC8vI3JlZ2lvbiBkcmFnZ2luZ1xyXG4gICAgXHJcbiAgICBwdWJsaWMgb25EcmFnU3RhcnQoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlWm9vbUFuZERyYWcgJiYgdGhpcy56b29tUGVyY2VudCA+IDEwMCkge1xyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICB0aGlzLmlzRHJhZ2dpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdPZmZzZXRQZXJjZW50RHJhZ1N0YXJ0ID0gdGhpcy52aWV3T2Zmc2V0UGVyY2VudDtcclxuXHJcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbERyYWdYID0gZXZlbnQuY2xpZW50WDtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIFRvdWNoRXZlbnQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbERyYWdYID0gZXZlbnQudG91Y2hlc1swXS5jbGllbnRYO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzptb3VzZW1vdmUnLCBbJyRldmVudCddKVxyXG4gICAgcHVibGljIG9uRHJhZ01vdmUoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5lbmFibGVab29tQW5kRHJhZykge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5pc0RyYWdnaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50WCA9IGV2ZW50LmNsaWVudFg7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmVFbGVtZW50KGN1cnJlbnRYKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6dG91Y2htb3ZlJywgWyckZXZlbnQnXSlcclxuICAgIG9uRHJhZ01vdmVUb3VjaChldmVudDogVG91Y2hFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmVuYWJsZVpvb21BbmREcmFnKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRHJhZ2dpbmcpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRYID0gZXZlbnQudG91Y2hlc1swXS5jbGllbnRYO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tb3ZlRWxlbWVudChjdXJyZW50WCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93Om1vdXNldXAnLCBbJyRldmVudCddKVxyXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnRvdWNoZW5kJywgWyckZXZlbnQnXSlcclxuICAgIHB1YmxpYyBvbkRyYWdFbmQoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZW5hYmxlWm9vbUFuZERyYWcpIHtcclxuICAgICAgICAgICAgdGhpcy5pc0RyYWdnaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgbW92ZUVsZW1lbnQoY3VycmVudFg6IG51bWJlcik6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGRpZmYgPSBjdXJyZW50WCAtIHRoaXMuaW5pdGlhbERyYWdYO1xyXG4gICAgICAgIGlmICh0aGlzLl92aWV3cG9ydCAmJiB0aGlzLl92aWV3cG9ydC5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRpZmZJblBlcmNlbnQgPSAoZGlmZiAvIHRoaXMuX3ZpZXdwb3J0Py5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKSAqIDEwMDtcclxuICAgICAgICAgICAgLy8gdGhpcy52aWV3T2Zmc2V0UGVyY2VudCA9IHRoaXMudmlld09mZnNldFBlcmNlbnREcmFnU3RhcnQgKyBkaWZmSW5QZXJjZW50O1xyXG4gICAgICAgICAgICB0aGlzLmNvbnN0cmFpbk9mZnNldCh0aGlzLnZpZXdPZmZzZXRQZXJjZW50RHJhZ1N0YXJ0ICsgZGlmZkluUGVyY2VudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxuICAgIHByaXZhdGUgY29uc3RyYWluT2Zmc2V0KG5ld09mZnNldDogbnVtYmVyKTogdm9pZCB7ICAgICAgICBcclxuICAgICAgICBpZiAodGhpcy56b29tUGVyY2VudCArIG5ld09mZnNldCA8IDEwMCkge1xyXG4gICAgICAgICAgICBuZXdPZmZzZXQgPSAtdGhpcy56b29tUGVyY2VudCArIDEwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgbmV3T2Zmc2V0ID0gTWF0aC5taW4oMCwgbmV3T2Zmc2V0KTtcclxuICAgICAgICBpZiAobmV3T2Zmc2V0ICE9IHRoaXMudmlld09mZnNldFBlcmNlbnQpIHtcclxuICAgICAgICAgICAgdGhpcy52aWV3T2Zmc2V0UGVyY2VudCA9IG5ld09mZnNldDtcclxuICAgICAgICAgICAgdGhpcy52aWV3T2Zmc2V0UGVyY2VudENoYW5nZS5lbWl0KHRoaXMudmlld09mZnNldFBlcmNlbnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdlbmVyYXRlVGlja3MoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5ob3VyVGlja3MgPSB0aGlzLl90aW1lbGluZVNlcnZpY2UuZ2V0SG91clRpY2tzKHRoaXMudGlja0ZyZXF1ZW5jeSk7XHJcbiAgICAgICAgdGhpcy5kYXlMYWJlbHMgPSB0aGlzLl90aW1lbGluZVNlcnZpY2UuZ2V0RGF5TGFiZWxzKHRoaXMubG9jYWxlcywgdGhpcy5kYXlMYWJlbEN1c3RvbURhdGFGbik7XHJcbiAgICAgICAgdGhpcy5ob3VyTGFiZWxzID0gdGhpcy5fdGltZWxpbmVTZXJ2aWNlLmdldEhvdXJMYWJlbHModGhpcy5ob3VyTGFiZWxGcmVxdWVuY3kpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2VuZXJhdGVJbnRlcm5hbFRpbWVsaW5lSXRlbXMoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgY3V0dE9mZlN0YXJ0ID0gdGhpcy5jdXRPZmZzZXQgPyB0aGlzLnN0YXJ0IDogbmV3IERhdGUodGhpcy5zdGFydC5nZXRUaW1lKCkgLSB0aGlzLm9mZlNldE1pbnV0ZXMgKiA2MDAwMCk7XHJcbiAgICAgICAgY29uc3QgY3V0dE9mZkVuZCA9IHRoaXMuY3V0T2Zmc2V0ID8gdGhpcy5lbmQgOiBuZXcgRGF0ZSh0aGlzLmVuZC5nZXRUaW1lKCkgKyB0aGlzLm9mZlNldE1pbnV0ZXMgKiA2MDAwMCk7XHJcblxyXG4gICAgICAgIHRoaXMucHJlc2VudGF0aW9uSXRlbXMgPSB0aGlzLml0ZW1zXHJcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uZW5kIDwgY3V0dE9mZlN0YXJ0IHx8IGl0ZW0uc3RhcnQgPiBjdXR0T2ZmRW5kID8gZmFsc2UgOiB0cnVlKVxyXG4gICAgICAgICAgICAubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBzdGFydFRpbWUgPSBuZXcgRGF0ZShpdGVtLnN0YXJ0KS50b0xvY2FsZVRpbWVTdHJpbmcodGhpcy5sb2NhbGVzPz8gW10sIHsgaG91cjogJ251bWVyaWMnLCBtaW51dGU6ICcyLWRpZ2l0JyB9KTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVuZFRpbWUgPSBuZXcgRGF0ZShpdGVtLmVuZCkudG9Mb2NhbGVUaW1lU3RyaW5nKHRoaXMubG9jYWxlcz8/IFtdLCB7IGhvdXI6ICdudW1lcmljJywgbWludXRlOiAnMi1kaWdpdCcgfSk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB0aW1lUmFuZ2UgPSBgJHtzdGFydFRpbWV9IC0gJHtlbmRUaW1lfWA7XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IGl0ZW0uZGF0YSxcclxuICAgICAgICAgICAgICAgICAgICB4OiB0aGlzLl90aW1lbGluZVNlcnZpY2UuZ2V0WChpdGVtLnN0YXJ0KSxcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogdGhpcy5fdGltZWxpbmVTZXJ2aWNlLmdldFdpZHRoRnJvbVRpbWUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uc3RhcnQsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uZW5kXHJcbiAgICAgICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICAgICAgICBoaW50OiBpdGVtLmhpbnQgPz8gdGltZVJhbmdlLFxyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogaXRlbS5iYWNrZ3JvdW5kQ29sb3IsXHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBpdGVtLnRvcCA/PyAnNTAlJyxcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGl0ZW0uaGVpZ2h0ID8/ICc2MCUnLFxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzOiBpdGVtLmNsYXNzLFxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgZ2VuZXJhdGVJbnRlcm5hbFRpbWVsaW5lUG9pbnRJblRpbWVJdGVtcygpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjdXR0T2ZmU3RhcnQgPSB0aGlzLmN1dE9mZnNldCA/IHRoaXMuc3RhcnQgOiBuZXcgRGF0ZSh0aGlzLnN0YXJ0LmdldFRpbWUoKSAtIHRoaXMub2ZmU2V0TWludXRlcyAqIDYwMDAwKTtcclxuICAgICAgICBjb25zdCBjdXR0T2ZmRW5kID0gdGhpcy5jdXRPZmZzZXQgPyB0aGlzLmVuZCA6IG5ldyBEYXRlKHRoaXMuZW5kLmdldFRpbWUoKSArIHRoaXMub2ZmU2V0TWludXRlcyAqIDYwMDAwKTtcclxuXHJcbiAgICAgICAgdGhpcy5wcmVzZW50YXRpb25Qb2ludEluVGltZUl0ZW1zID0gdGhpcy5wb2ludEluVGltZUl0ZW1zXHJcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uZGF0ZSA8IGN1dHRPZmZTdGFydCB8fCBpdGVtLmRhdGUgPiBjdXR0T2ZmRW5kID8gZmFsc2UgOiB0cnVlKVxyXG4gICAgICAgICAgICAubWFwKChpdGVtKSA9PiB7XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgdGltZVBvaW50U3RyaW5nID0gbmV3IERhdGUoaXRlbS5kYXRlKS50b0xvY2FsZVRpbWVTdHJpbmcodGhpcy5sb2NhbGVzPz8gW10sIHsgaG91cjogJ251bWVyaWMnLCBtaW51dGU6ICcyLWRpZ2l0JyB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IGl0ZW0uZGF0YSxcclxuICAgICAgICAgICAgICAgICAgICB4OiB0aGlzLl90aW1lbGluZVNlcnZpY2UuZ2V0WChpdGVtLmRhdGUpLFxyXG4gICAgICAgICAgICAgICAgICAgIGhpbnQ6IGl0ZW0uaGludCA/PyB0aW1lUG9pbnRTdHJpbmcsXHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBpdGVtLnRvcCA/PyAnMjAlJyxcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGl0ZW0uaGVpZ2h0ID8/ICcxcmVtJyxcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogaXRlbS53aWR0aCA/PyAnMXJlbScsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M6IGl0ZW0uY2xhc3MsXHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBpdGVtLmJhY2tncm91bmRDb2xvcixcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEl0ZW1UZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIj5cclxuICAgIDxkaXYgXHJcbiAgICAgICAgY2xhc3M9XCJzZHMtdGltZWxpbmUtaXRlbSBoLTEwMFwiXHJcbiAgICAgICAgW3RpdGxlXT1cIml0ZW0uaGludFwiXHJcbiAgICAgICAgPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2RlZmF1bHRQb2ludEluVGltZUl0ZW1UZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIj5cclxuICAgIDxkaXYgXHJcbiAgICAgICAgY2xhc3M9XCJzZHMtdGltZWxpbmUtaXRlbSBoLTEwMFwiXHJcbiAgICAgICAgW3RpdGxlXT1cIml0ZW0uaGludFwiXHJcbiAgICAgICAgPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2RlZmF1bHREYXlMYWJlbFRlbXBsYXRlIGxldC1sYWJlbD1cImxhYmVsXCI+XHJcbiAgICB7e2xhYmVsLmxhYmVsfX1cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxkaXYgXHJcbiAgICAjdmlld3BvcnRcclxuICAgIGNsYXNzPVwic2RzLXRpbWVsaW5lLXZpZXdwb3J0XCJcclxuICAgICh3aGVlbCk9XCJvblNjcm9sbCgkZXZlbnQpXCJcclxuXHJcbiAgICAobW91c2Vkb3duKT1cIm9uRHJhZ1N0YXJ0KCRldmVudClcIlxyXG4gICAgKHRvdWNoc3RhcnQpPVwib25EcmFnU3RhcnQoJGV2ZW50KVwiXHJcbiAgICA+XHJcblxyXG4gICAgPGRpdiBcclxuICAgICAgICBjbGFzcz1cInNkcy10aW1lbGluZS1jb250YWluZXIgZC1mbGV4IGZsZXgtY29sdW1uXCJcclxuICAgICAgICBbc3R5bGUubGVmdC4lXT1cInZpZXdPZmZzZXRQZXJjZW50XCJcclxuICAgICAgICBbc3R5bGUud2lkdGguJV09XCJ6b29tUGVyY2VudFwiXHJcbiAgICAgICAgW3N0eWxlLmN1cnNvcl09XCJpc0RyYWdnaW5nID8gJ2V3LXJlc2l6ZScgOiAnZGVmYXVsdCdcIlxyXG4gICAgICAgID5cclxuXHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAqbmdJZj1cInNob3dEYXlMYWJlbHNcIiBcclxuICAgICAgICAgICAgY2xhc3M9XCJzZHMtdGltZWxpbmUtZGF5LWhlYWRlclwiPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBsYWJlbCBvZiBkYXlMYWJlbHNcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZHMtZGF5LWxhYmVsXCIgIFxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiZGF5TGFiZWxDbGFzcyA/PyBudWxsXCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LiVdPVwibGFiZWwueFwiXHJcbiAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGguJV09XCJsYWJlbC53aWR0aFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgXHJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGF5TGFiZWxUZW1wbGF0ZSA/IGRheUxhYmVsVGVtcGxhdGUgOiBkZWZhdWx0RGF5TGFiZWxUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntsYWJlbDogbGFiZWx9XCI+XHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gIFxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgKm5nSWY9XCJzaG93SG91ckxhYmVsc1wiIFxyXG4gICAgICAgICAgICBjbGFzcz1cInNkcy10aW1lbGluZS1ob3VyLWhlYWRlclwiPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBsYWJlbCBvZiBob3VyTGFiZWxzO1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNkcy1ob3VyLWxhYmVsXCIgIFxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaG91ckxhYmVsQ2xhc3MgPz8gbnVsbFwiXHJcbiAgICAgICAgICAgICAgICBbc3R5bGUubGVmdC4lXT1cImxhYmVsLnhcIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLnJlbV09XCIxLjJcIlxyXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwieydsZWZ0JzogJ2NhbGMoJyArIGxhYmVsLnggKyAnJSAtIDAuNnJlbSknfVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAge3tsYWJlbC5sYWJlbH19XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd1RpbWVsaW5lXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJzZHMtdGltZWxpbmUgZmxleC1ncm93LTFcIlxyXG4gICAgICAgICAgICBbc3R5bGUuaGVpZ2h0XT1cInRpbWVsaW5lSGVpZ2h0XCJcclxuICAgICAgICAgICAgPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0aWNrIG9mIGhvdXJUaWNrc1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNkcy10aW1lbGluZS10aWNrXCIgIFxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaG91clRpY2tDbGFzcyA/PyBudWxsXCJcdFxyXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwidGljay54ID09IDEwMCA/IHsnbGVmdCc6ICdjYWxjKCcgKyB0aWNrLnggKyclIC0gMXB4KSd9IDogeydsZWZ0JzogJ2NhbGMoJyArIHRpY2sueCArICclIC0gMC41cHgpJ31cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHByZXNlbnRhdGlvbkl0ZW1zXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2RzLXRpbWVsaW5lLWl0ZW0tY29udGFpbmVyXCJcclxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3MgPz8gbnVsbFwiXHJcbiAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJ21heCgnICsgaXRlbS53aWR0aCArJyUsIDFweCknLFxyXG4gICAgICAgICAgICAgICAgICAgICd0b3AnOiAnY2FsYygnICsgaXRlbS50b3AgKyAnIC0gbWF4KGNhbGMoJyArIGl0ZW0uaGVpZ2h0ICsnLzIpLCAxcHgpKScsIFxyXG4gICAgICAgICAgICAgICAgfVwiXHJcblxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLmxlZnQuJV09XCJpdGVtLnhcIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLmhlaWdodF09XCJpdGVtLmhlaWdodFwiXHJcbiAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cIml0ZW0uYmFja2dyb3VuZENvbG9yXCJcclxuICAgICAgICAgICAgICAgID5cclxuXHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UZW1wbGF0ZSA/IGl0ZW1UZW1wbGF0ZSA6IGRlZmF1bHRJdGVtVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aXRlbTogaXRlbX1cIj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAgXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgIDwhLS0gW25nQ2xhc3NdPVwiaXRlbS5jbGFzc1wiXHQgLS0+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcHJlc2VudGF0aW9uUG9pbnRJblRpbWVJdGVtc1wiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1gc2RzLXRpbWVsaW5lLXBvaW50LWluLXRpbWUtaXRlbS1jb250YWluZXIgJHtpdGVtLmNsYXNzfWBcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiaXRlbS5oZWlnaHRcIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cIml0ZW0ud2lkdGhcIlxyXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICd0b3AnOiAnY2FsYygnICsgaXRlbS50b3AgKyAnIC0gbWF4KGNhbGMoJyArIGl0ZW0uaGVpZ2h0ICsnLzIpLCAxcHgpKScsIFxyXG4gICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJ2NhbGMoJyArIGl0ZW0ueCArICclIC0gbWF4KCBjYWxjKCcgKyBpdGVtLndpZHRoICsnLzIpLCAxcHgpKScsXHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiaXRlbS5iYWNrZ3JvdW5kQ29sb3JcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgXHJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicG9pbnRJblRpbWVUZW1wbGF0ZSA/IHBvaW50SW5UaW1lVGVtcGxhdGUgOiBkZWZhdWx0UG9pbnRJblRpbWVJdGVtVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aXRlbTogaXRlbX1cIj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAgXHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
398
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvdGltZWxpbmUvY29tcG9uZW50cy90aW1lbGluZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi90aW1lbGluZS9jb21wb25lbnRzL3RpbWVsaW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBR04sU0FBUyxFQUNULFlBQVksRUFDZixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQVNsRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBZWxGLE1BQU0sT0FBTyxvQkFBb0I7SUF1TzdCO1FBdE9BOzs7OztXQUtHO1FBQ00sVUFBSyxHQUFTLElBQUksSUFBSSxFQUFFLENBQUM7UUFFbEM7Ozs7O1dBS0c7UUFDTSxRQUFHLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUVoQzs7Ozs7O1dBTUc7UUFDTSxVQUFLLEdBQW1CLEVBQUUsQ0FBQztRQUVwQzs7Ozs7O1dBTUc7UUFDTSxxQkFBZ0IsR0FBOEIsRUFBRSxDQUFDO1FBRTFEOzs7OztXQUtHO1FBQ00saUJBQVksR0FBaUMsU0FBUyxDQUFDO1FBRWhFOzs7OztXQUtHO1FBQ00sd0JBQW1CLEdBQWlDLFNBQVMsQ0FBQztRQUV2RTs7Ozs7V0FLRztRQUNNLHFCQUFnQixHQUFpQyxTQUFTLENBQUM7UUFFcEU7Ozs7O1dBS0c7UUFDTSx5QkFBb0IsR0FBK0MsU0FB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LE9BQU87c0JBQWYsS0FBSztnQkFTRyxTQUFTO3NCQUFqQixLQUFLO2dCQVNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBc0JtQyxTQUFTO3NCQUFqRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBNEZoQyxVQUFVO3NCQURoQixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVc1QyxlQUFlO3NCQURkLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBWXJDLFNBQVM7c0JBRmYsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3pDLFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIEV2ZW50RW1pdHRlclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRpbWVsaW5lQ3VzdG9tRGF0ZURhdGFQcm92aWRlciwgVGltZWxpbmVUaWNrRnJlcXVlbmN5IH0gZnJvbSAnLi4vdHlwZXMvdGltZWxpbmUudHlwZXMnO1xuaW1wb3J0IHsgU2RzVGltZWxpbmVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdGltZWxpbmUuc2VydmljZSc7XG5pbXBvcnQge1xuICAgIFRpbWVsaW5lSW50ZXJ2YWxMYWJlbCxcbiAgICBUaW1lbGluZUl0ZW0sXG4gICAgVGltZWxpbmVJdGVtUHJlc2VudGF0aW9uLFxuICAgIFRpbWVsaW5lUG9pbnRJblRpbWVJdGVtLFxuICAgIFRpbWVsaW5lUG9pbnRJblRpbWVJdGVtUHJlc2VudGF0aW9uLFxuICAgIFRpbWVsaW5lVGljayxcbn0gZnJvbSAnLi4vbW9kZWxzL3RpbWVsaW5lLm1vZGVsJztcbmltcG9ydCB7IE5nSWYsIE5nRm9yLCBOZ1N0eWxlLCBOZ1RlbXBsYXRlT3V0bGV0LCBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzZHMtdGltZWxpbmUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90aW1lbGluZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGltZWxpbmUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdJZixcbiAgICAgICAgTmdGb3IsXG4gICAgICAgIE5nU3R5bGUsXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2RzVGltZWxpbmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqXG4gICAgICogVGhlIHN0YXJ0IGRhdGUgYW5kIHRpbWUgZm9yIHRoZSB0aW1lbGluZS5cbiAgICAgKlxuICAgICAqIEB0eXBlIHtEYXRlfVxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0YXJ0OiBEYXRlID0gbmV3IERhdGUoKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBlbmQgZGF0ZSBhbmQgdGltZSBmb3IgdGhlIHRpbWVsaW5lLlxuICAgICAqXG4gICAgICogQHR5cGUge0RhdGV9XG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XG4gICAgICovXG4gICAgQElucHV0KCkgZW5kOiBEYXRlID0gbmV3IERhdGUoKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBwZXJpb2QgYmFzZWQgaXRlbXMgdG8gYmUgZGlzcGxheWVkIG9uIHRoZSB0aW1lbGluZS4gU3BlY2lmeSBkYXRhIGlmIHlvdSBuZWVkIFxuICAgICAqIGFkZGl0aW9uYWwgZGF0YSBmb3IgY3VzdG9tIHJlbmRlcmluZyBvZiB0aGUgaXRlbXMuXG4gICAgICpcbiAgICAgKiBAdHlwZSB7VGltZWxpbmVJdGVtW119XG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XG4gICAgICovXG4gICAgQElucHV0KCkgaXRlbXM6IFRpbWVsaW5lSXRlbVtdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBJdGVtcyB0byBiZSBkaXNwbGF5ZWQgb24gdGhlIHRpbWVsaW5lIGF0IGEgc3BlY2lmaWMgcG9pbnQgaW4gdGltZS5cbiAgICAgKiBTcGVjaWZ5IGRhdGEgaWYgeW91IG5lZWQgYWRkaXRpb25hbCBkYXRhIGZvciBjdXN0b20gcmVuZGVyaW5nIG9mIHRoZSBpdGVtcy5cbiAgICAgKlxuICAgICAqIEB0eXBlIHtUaW1lbGluZVBvaW50SW5UaW1lSXRlbVtdfVxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHBvaW50SW5UaW1lSXRlbXM6IFRpbWVsaW5lUG9pbnRJblRpbWVJdGVtW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSB0byBiZSB1c2VkIGZvciBjdXN0b20gcmVuZGVyaW5nIG9mIHRoZSBpdGVtcy5cbiAgICAgKlxuICAgICAqIEB0eXBlIHsoVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCl9XG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XG4gICAgICovXG4gICAgQElucHV0KCkgaXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHRlbXBsYXRlIHRvIGJlIHVzZWQgZm9yIGN1c3RvbSByZW5kZXJpbmcgb2YgdGhlIHBvaW4taW4tdGltZSBpdGVtcy5cbiAgICAgKlxuICAgICAqIEB0eXBlIHsoVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCl9XG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XG4gICAgICovXG4gICAgQElucHV0KCkgcG9pbnRJblRpbWVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSB0byBiZSB1c2VkIGZvciBjdXN0b20gcmVuZGVyaW5nIG9mIHRoZSBkYXkgbGFiZWxzLlxuICAgICAqXG4gICAgICogQHR5cGUgeyhUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkKX1cbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBkYXlMYWJlbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIFxuICAgIC8qKlxuICAgICAqIEEgY3VzdG9tIGRhdGEgZnVuY3Rpb24gZm9yIHRoZSBkYXkgbGFiZWxzLiBcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIHRha2VzIGEgRGF0ZSBvYmplY3QgYXMgaW5wdXQgYW5kIHJldHVybnMgYW55IGN1c3RvbSBkYXRhIHRoYXQgd2lsbCBiZSBhdmFpbGFibGUgZm9yIHRoZSBjdXN0b20gdGVtcGxhdGVcbiAgICAgKlxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGRheUxhYmVsQ3VzdG9tRGF0YUZuOiBUaW1lbGluZUN1c3RvbURhdGVEYXRhUHJvdmlkZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZnJlcXVlbmN5IG9mIHRoZSB0aWNrcyBvbiB0aGUgdGltZWxpbmUuXG4gICAgICpcbiAgICAgKiBAdHlwZSB7VGltZWxpbmVUaWNrRnJlcXVlbmN5fVxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRpY2tGcmVxdWVuY3k6IFRpbWVsaW5lVGlja0ZyZXF1ZW5jeSA9ICdob3VybHknO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGZyZXF1ZW5jeSBvZiB0aGUgaG91ciBsYWJlbHMgb24gdGhlIHRpbWVsaW5lLlxuICAgICAqXG4gICAgICogQHR5cGUge1RpbWVsaW5lVGlja0ZyZXF1ZW5jeX1cbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBob3VyTGFiZWxGcmVxdWVuY3k6IFRpbWVsaW5lVGlja0ZyZXF1ZW5jeSA9ICczaHJzJztcblxuXG4gICAgLyoqXG4gICAgICogVGhlIGN1cnJlbnQgem9vbSBsZXZlbCBvZiB0aGUgdGltZWxpbmUuIEluIHBlcmNlbnQuXG4gICAgICpcbiAgICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHpvb21QZXJjZW50OiBudW1iZXIgPSAxMDA7XG4gICAgQE91dHB1dCgpIHpvb21QZXJjZW50Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsIG9mZnNldCBvZiB0aGUgdmlld3BvcnQgaW4gcGVyY2VudC4gVGhpcyBpcyB1c2VkIGluIHNjZW5hcmlvcyBcbiAgICAgKiB3aXRoIG11bHRpcGxlIGRheXMgd2hlbiB5b3Ugd2FudCB0byBzaG93IG5vbi1maXJzdCBkYXkgYXMgZGVmdWx0LlxuICAgICAqXG4gICAgICogQHR5cGUge251bWJlcn1cbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKSB2aWV3T2Zmc2V0UGVyY2VudDogbnVtYmVyID0gMDtcbiAgICBAT3V0cHV0KCkgdmlld09mZnNldFBlcmNlbnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBtYXhpbXVtIGFsbG93ZWQgem9vbSBsZXZlbCBvZiB0aGUgdGltZWxpbmUuIEluIHBlcmNlbnQuXG4gICAgICpcbiAgICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1heFpvb21QZXJjZW50OiBudW1iZXIgPSA1MDA7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIHNob3cgaG91ciBsYWJlbHMuXG4gICAgICpcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzaG93SG91ckxhYmVsczogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgQ1NTIGNsYXNzIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGhvdXIgbGFiZWxzLlxuICAgICAqXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBob3VyTGFiZWxDbGFzcz86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gc2hvdyBkYXkgbGFiZWxzLiBcbiAgICAgKlxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHNob3dEYXlMYWJlbHM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBDU1MgY2xhc3MgdG8gYmUgYXBwbGllZCB0byB0aGUgZGF5IGxhYmVscy5cbiAgICAgKlxuICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XG4gICAgICovXG4gICAgQElucHV0KCkgZGF5TGFiZWxDbGFzcz86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gc2hvdyB0aW1lbGluZS4gVXNlZnVsIGZvciBoaWRpbmcgdGhlIHRpbWVsaW5lIHdoZW4gd2Ugb25seSBuZWVkIGhlYWRlci5cbiAgICAgKlxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHNob3dUaW1lbGluZTogYm9vbGVhbiA9IHRydWU7ICAgIFxuXG4gICAgLyoqXG4gICAgICogVGhlIENTUyBjbGFzcyB0byBiZSBhcHBsaWVkIHRvIHRoZSBob3VyIHRpY2tzLlxuICAgICAqXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKiBAbWVtYmVyb2YgU2RzVGltZWxpbmVDb21wb25lbnRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBob3VyVGlja0NsYXNzPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGhlaWdodCBvZiB0aGUgdGltZWxpbmUuIERlZmF1bHQgaXMgMnJlbS5cbiAgICAgKlxuICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XG4gICAgICovXG4gICAgQElucHV0KCkgdGltZWxpbmVIZWlnaHQ6IHN0cmluZyA9ICcycmVtJztcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gZW5hYmxlIHpvb20gYW5kIGRyYWcgZnVuY3Rpb25hbGl0eS5cbiAgICAgKlxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGVuYWJsZVpvb21BbmREcmFnOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiBtaW51dGVzIGFkZGVkIHRvIHN0YXJ0IGFuZCBzdG9wIHRvIGZpdCB0aGUgZGF0YSBvbiB0aGUgZWRnZXNcbiAgICAgKlxuICAgICAqIEB0eXBlIHtudW1iZXJ9XG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XG4gICAgICovXG4gICAgQElucHV0KCkgb2ZmU2V0TWludXRlczogbnVtYmVyID0gMTU7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbG9jYWxlcyB0byBiZSB1c2VkIGZvciBmb3JtYXR0aW5nIHRoZSB0aW1lbGluZS5cbiAgICAgKlxuICAgICAqIEB0eXBlIHsoc3RyaW5nIHwgQXJyYXk8c3RyaW5nPil9XG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XG4gICAgICovXG4gICAgQElucHV0KCkgbG9jYWxlcz86IHN0cmluZyB8IEFycmF5PHN0cmluZz47XG5cbiAgICAvKipcbiAgICAgKiBDb250cm9sIGlmIHRob3NlIHBhcnRzIG9mIHNlZ21lbnRzIChvciB3aG9sZSBzZWdtZW50cykgdGhhdCBmYWxsIGludG8gdGhlIE9mZnNldCBcbiAgICAgKiBwZXJpb2QgYXJlIGRpc3BsYXllZCBvciBub3RcbiAgICAgKlxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqIEBtZW1iZXJvZiBTZHNUaW1lbGluZUNvbXBvbmVudFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGN1dE9mZnNldDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogU2V0cyBkZWZhdWx0IGN1cnNvciwgdGhhdCBzaG91bGQgYmUgc2hvd24gd2hlbiBob3ZlcmluZyBvdmVyIHRpbWVsaW5lIGNvbXBvbmVudC5cbiAgICAgKiBEZWZhdWx0IHZhbHVlIGlzICdkZWZhdWx0Jy5cbiAgICAgKlxuICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICogQG1lbWJlcm9mIFNkc1RpbWVsaW5lQ29tcG9uZW50XG4gICAgICovXG4gICAgQElucHV0KCkgZGVmYXVsdEN1cnNvcjogc3RyaW5nID0gXCJkZWZhdWx0XCI7XG5cbiAgICAvLyBwcm90ZWN0ZWRcbiAgICBob3VyVGlja3M6IFRpbWVsaW5lVGlja1tdID0gW107XG4gICAgaG91ckxhYmVsczogVGltZWxpbmVJbnRlcnZhbExhYmVsW10gPSBbXTtcbiAgICBkYXlMYWJlbHM6IFRpbWVsaW5lSW50ZXJ2YWxMYWJlbFtdID0gW107XG5cbiAgICBwcml2YXRlIF90aW1lbGluZVNlcnZpY2U6IFNkc1RpbWVsaW5lU2VydmljZSA9IG5ldyBTZHNUaW1lbGluZVNlcnZpY2UoXG4gICAgICAgIHRoaXMuc3RhcnQsXG4gICAgICAgIHRoaXMuZW5kLFxuICAgICAgICB0aGlzLm9mZlNldE1pbnV0ZXMsXG4gICAgICAgIHRoaXMuY3V0T2Zmc2V0XG4gICAgKTtcblxuICAgIHB1YmxpYyBwcmVzZW50YXRpb25JdGVtczogVGltZWxpbmVJdGVtUHJlc2VudGF0aW9uW10gPSBbXTtcbiAgICBwdWJsaWMgcHJlc2VudGF0aW9uUG9pbnRJblRpbWVJdGVtczogVGltZWxpbmVQb2ludEluVGltZUl0ZW1QcmVzZW50YXRpb25bXSA9IFtdO1xuXG4gICAgcHVibGljIGlzRHJhZ2dpbmcgPSBmYWxzZTtcbiAgICBwdWJsaWMgaW5pdGlhbERyYWdYID0gMDtcblxuICAgIHByaXZhdGUgdmlld09mZnNldFBlcmNlbnREcmFnU3RhcnQgPSAwO1xuXG4gICAgQFZpZXdDaGlsZCgndmlld3BvcnQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBfdmlld3BvcnQ6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2VuZXJhdGVUaWNrcygpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhcnQgJiYgdGhpcy5lbmQpIHtcbiAgICAgICAgICAgIHRoaXMuX3RpbWVsaW5lU2VydmljZSA9IG5ldyBTZHNUaW1lbGluZVNlcnZpY2UoXG4gICAgICAgICAgICAgICAgdGhpcy5zdGFydCxcbiAgICAgICAgICAgICAgICB0aGlzLmVuZCxcbiAgICAgICAgICAgICAgICB0aGlzLm9mZlNldE1pbnV0ZXMsXG4gICAgICAgICAgICAgICAgdGhpcy5jdXRPZmZzZXRcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlVGlja3MoKTtcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVJbnRlcm5hbFRpbWVsaW5lSXRlbXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGFuZ2VzWydzdGFydCddIHx8IGNoYW5nZXNbJ2VuZCddIHx8IGNoYW5nZXNbJ29mZlNldE1pbnV0ZXMnXSB8fCBjaGFuZ2VzWydjdXRPZmZzZXQnXSkge1xuICAgICAgICAgICAgdGhpcy5fdGltZWxpbmVTZXJ2aWNlID0gbmV3IFNkc1RpbWVsaW5lU2VydmljZShcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0LFxuICAgICAgICAgICAgICAgIHRoaXMuZW5kLFxuICAgICAgICAgICAgICAgIHRoaXMub2ZmU2V0TWludXRlcyxcbiAgICAgICAgICAgICAgICB0aGlzLmN1dE9mZnNldFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVUaWNrcygpO1xuICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZUludGVybmFsVGltZWxpbmVJdGVtcygpOyAgICAgICAgICAgIFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYW5nZXNbJ2l0ZW1zJ10pIHtcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVJbnRlcm5hbFRpbWVsaW5lSXRlbXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGFuZ2VzWydwb2ludEluVGltZUl0ZW1zJ10pIHtcbiAgICAgICAgICAgIHRoaXMuZ2VuZXJhdGVJbnRlcm5hbFRpbWVsaW5lUG9pbnRJblRpbWVJdGVtcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoYW5nZXNbJ3pvb21QZXJjZW50J10pIHtcbiAgICAgICAgICAgIC8vIHRoaXMudmlld09mZnNldFBlcmNlbnQgPSAodGhpcy56b29tUGVyY2VudCAtIDEwMCkgLyAtMjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGFuZ2VzWydzaG93RGF5TGFiZWxzJ10gfHwgY2hhbmdlc1snc2hvd0hvdXJMYWJlbHMnXSkge1xuICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZVRpY2tzKCk7XG4gICAgICAgIH0gICAgICBcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgICAvLyNyZWdpb24gbW91c2Ugd2hlZWwgem9vbVxuICAgIG9uU2Nyb2xsKGV2ZW50OiBXaGVlbEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVuYWJsZVpvb21BbmREcmFnKSB7XG5cbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGRlbHRhID0gTWF0aC5zaWduKGV2ZW50LmRlbHRhWSk7XG4gICAgICAgICAgICBjb25zdCBuZXdab29tUGVyY2VudCA9IE1hdGgubWluKFxuICAgICAgICAgICAgICAgIE1hdGgubWF4KHRoaXMuem9vbVBlcmNlbnQgKyAtZGVsdGEgKiAyMCwgMTAwKSxcbiAgICAgICAgICAgICAgICB0aGlzLm1heFpvb21QZXJjZW50XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3QgZGVsdGFab29tUGVyY2VudCA9IG5ld1pvb21QZXJjZW50IC0gdGhpcy56b29tUGVyY2VudDtcbiAgICAgICAgICAgIHRoaXMuem9vbVBlcmNlbnQgPSBuZXdab29tUGVyY2VudDtcbiAgICAgICAgICAgIHRoaXMuem9vbVBlcmNlbnRDaGFuZ2UuZW1pdCh0aGlzLnpvb21QZXJjZW50KTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLy8gZ2V0IHRoZSByZWxhdGl2ZSBwb3NpdGlvbiBvZiB0aGUgY3Vyc29yIG9uIHRoZSB2aWV3cG9ydCBzbyB3ZSBjYW4gem9vbSBpbiBpbnRvIHRoaXMgcG9zaXRpb25cbiAgICAgICAgICAgIGNvbnN0IHggPSBldmVudC5jbGllbnRYIC0gdGhpcy5fdmlld3BvcnQ/Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdDtcbiAgICAgICAgICAgIGNvbnN0IGN1cnNvclJlbGF0aXZlUG9zaXRpb24gPSB4IC8gdGhpcy5fdmlld3BvcnQ/Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7XG4gICAgICAgICAgICAvLyB0aGlzLnZpZXdPZmZzZXRQZXJjZW50ID0gdGhpcy52aWV3T2Zmc2V0UGVyY2VudCAtIGRlbHRhWm9vbVBlcmNlbnQgKiBjdXJzb3JSZWxhdGl2ZVBvc2l0aW9uO1xuXG4gICAgICAgICAgICB0aGlzLmNvbnN0cmFpbk9mZnNldCh0aGlzLnZpZXdPZmZzZXRQZXJjZW50IC0gZGVsdGFab29tUGVyY2VudCAqIGN1cnNvclJlbGF0aXZlUG9zaXRpb24pO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIGRyYWdnaW5nXG4gICAgXG4gICAgcHVibGljIG9uRHJhZ1N0YXJ0KGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5lbmFibGVab29tQW5kRHJhZyAmJiB0aGlzLnpvb21QZXJjZW50ID4gMTAwKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdGhpcy5pc0RyYWdnaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMudmlld09mZnNldFBlcmNlbnREcmFnU3RhcnQgPSB0aGlzLnZpZXdPZmZzZXRQZXJjZW50O1xuXG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBNb3VzZUV2ZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsRHJhZ1ggPSBldmVudC5jbGllbnRYO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIFRvdWNoRXZlbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRpYWxEcmFnWCA9IGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzptb3VzZW1vdmUnLCBbJyRldmVudCddKVxuICAgIHB1YmxpYyBvbkRyYWdNb3ZlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVuYWJsZVpvb21BbmREcmFnKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0RyYWdnaW5nKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudFggPSBldmVudC5jbGllbnRYO1xuICAgICAgICAgICAgICAgIHRoaXMubW92ZUVsZW1lbnQoY3VycmVudFgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnRvdWNobW92ZScsIFsnJGV2ZW50J10pXG4gICAgb25EcmFnTW92ZVRvdWNoKGV2ZW50OiBUb3VjaEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVuYWJsZVpvb21BbmREcmFnKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0RyYWdnaW5nKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudFggPSBldmVudC50b3VjaGVzWzBdLmNsaWVudFg7XG4gICAgICAgICAgICAgICAgdGhpcy5tb3ZlRWxlbWVudChjdXJyZW50WCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6bW91c2V1cCcsIFsnJGV2ZW50J10pXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnRvdWNoZW5kJywgWyckZXZlbnQnXSlcbiAgICBwdWJsaWMgb25EcmFnRW5kKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5lbmFibGVab29tQW5kRHJhZykge1xuICAgICAgICAgICAgdGhpcy5pc0RyYWdnaW5nID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1vdmVFbGVtZW50KGN1cnJlbnRYOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGlmZiA9IGN1cnJlbnRYIC0gdGhpcy5pbml0aWFsRHJhZ1g7XG4gICAgICAgIGlmICh0aGlzLl92aWV3cG9ydCAmJiB0aGlzLl92aWV3cG9ydC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICBjb25zdCBkaWZmSW5QZXJjZW50ID0gKGRpZmYgLyB0aGlzLl92aWV3cG9ydD8ubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCkgKiAxMDA7XG4gICAgICAgICAgICAvLyB0aGlzLnZpZXdPZmZzZXRQZXJjZW50ID0gdGhpcy52aWV3T2Zmc2V0UGVyY2VudERyYWdTdGFydCArIGRpZmZJblBlcmNlbnQ7XG4gICAgICAgICAgICB0aGlzLmNvbnN0cmFpbk9mZnNldCh0aGlzLnZpZXdPZmZzZXRQZXJjZW50RHJhZ1N0YXJ0ICsgZGlmZkluUGVyY2VudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIHByaXZhdGUgY29uc3RyYWluT2Zmc2V0KG5ld09mZnNldDogbnVtYmVyKTogdm9pZCB7ICAgICAgICBcbiAgICAgICAgaWYgKHRoaXMuem9vbVBlcmNlbnQgKyBuZXdPZmZzZXQgPCAxMDApIHtcbiAgICAgICAgICAgIG5ld09mZnNldCA9IC10aGlzLnpvb21QZXJjZW50ICsgMTAwO1xuICAgICAgICB9XG4gICAgICAgIG5ld09mZnNldCA9IE1hdGgubWluKDAsIG5ld09mZnNldCk7XG4gICAgICAgIGlmIChuZXdPZmZzZXQgIT0gdGhpcy52aWV3T2Zmc2V0UGVyY2VudCkge1xuICAgICAgICAgICAgdGhpcy52aWV3T2Zmc2V0UGVyY2VudCA9IG5ld09mZnNldDtcbiAgICAgICAgICAgIHRoaXMudmlld09mZnNldFBlcmNlbnRDaGFuZ2UuZW1pdCh0aGlzLnZpZXdPZmZzZXRQZXJjZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2VuZXJhdGVUaWNrcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3VyVGlja3MgPSB0aGlzLl90aW1lbGluZVNlcnZpY2UuZ2V0SG91clRpY2tzKHRoaXMudGlja0ZyZXF1ZW5jeSk7XG4gICAgICAgIHRoaXMuZGF5TGFiZWxzID0gdGhpcy5fdGltZWxpbmVTZXJ2aWNlLmdldERheUxhYmVscyh0aGlzLmxvY2FsZXMsIHRoaXMuZGF5TGFiZWxDdXN0b21EYXRhRm4pO1xuICAgICAgICB0aGlzLmhvdXJMYWJlbHMgPSB0aGlzLl90aW1lbGluZVNlcnZpY2UuZ2V0SG91ckxhYmVscyh0aGlzLmhvdXJMYWJlbEZyZXF1ZW5jeSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUludGVybmFsVGltZWxpbmVJdGVtcygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3V0dE9mZlN0YXJ0ID0gdGhpcy5jdXRPZmZzZXQgPyB0aGlzLnN0YXJ0IDogbmV3IERhdGUodGhpcy5zdGFydC5nZXRUaW1lKCkgLSB0aGlzLm9mZlNldE1pbnV0ZXMgKiA2MDAwMCk7XG4gICAgICAgIGNvbnN0IGN1dHRPZmZFbmQgPSB0aGlzLmN1dE9mZnNldCA/IHRoaXMuZW5kIDogbmV3IERhdGUodGhpcy5lbmQuZ2V0VGltZSgpICsgdGhpcy5vZmZTZXRNaW51dGVzICogNjAwMDApO1xuXG4gICAgICAgIHRoaXMucHJlc2VudGF0aW9uSXRlbXMgPSB0aGlzLml0ZW1zXG4gICAgICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmVuZCA8IGN1dHRPZmZTdGFydCB8fCBpdGVtLnN0YXJ0ID4gY3V0dE9mZkVuZCA/IGZhbHNlIDogdHJ1ZSlcbiAgICAgICAgICAgIC5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdGFydFRpbWUgPSBuZXcgRGF0ZShpdGVtLnN0YXJ0KS50b0xvY2FsZVRpbWVTdHJpbmcodGhpcy5sb2NhbGVzPz8gW10sIHsgaG91cjogJ251bWVyaWMnLCBtaW51dGU6ICcyLWRpZ2l0JyB9KTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmRUaW1lID0gbmV3IERhdGUoaXRlbS5lbmQpLnRvTG9jYWxlVGltZVN0cmluZyh0aGlzLmxvY2FsZXM/PyBbXSwgeyBob3VyOiAnbnVtZXJpYycsIG1pbnV0ZTogJzItZGlnaXQnIH0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRpbWVSYW5nZSA9IGAke3N0YXJ0VGltZX0gLSAke2VuZFRpbWV9YDtcbiAgICAgICAgXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YTogaXRlbS5kYXRhLFxuICAgICAgICAgICAgICAgICAgICB4OiB0aGlzLl90aW1lbGluZVNlcnZpY2UuZ2V0WChpdGVtLnN0YXJ0KSxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHRoaXMuX3RpbWVsaW5lU2VydmljZS5nZXRXaWR0aEZyb21UaW1lKFxuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5zdGFydCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uZW5kXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIGhpbnQ6IGl0ZW0uaGludCA/PyB0aW1lUmFuZ2UsXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogaXRlbS5iYWNrZ3JvdW5kQ29sb3IsXG4gICAgICAgICAgICAgICAgICAgIHRvcDogaXRlbS50b3AgPz8gJzUwJScsXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogaXRlbS5oZWlnaHQgPz8gJzYwJScsXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzOiBpdGVtLmNsYXNzLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cblxuICAgIHByaXZhdGUgZ2VuZXJhdGVJbnRlcm5hbFRpbWVsaW5lUG9pbnRJblRpbWVJdGVtcygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3V0dE9mZlN0YXJ0ID0gdGhpcy5jdXRPZmZzZXQgPyB0aGlzLnN0YXJ0IDogbmV3IERhdGUodGhpcy5zdGFydC5nZXRUaW1lKCkgLSB0aGlzLm9mZlNldE1pbnV0ZXMgKiA2MDAwMCk7XG4gICAgICAgIGNvbnN0IGN1dHRPZmZFbmQgPSB0aGlzLmN1dE9mZnNldCA/IHRoaXMuZW5kIDogbmV3IERhdGUodGhpcy5lbmQuZ2V0VGltZSgpICsgdGhpcy5vZmZTZXRNaW51dGVzICogNjAwMDApO1xuXG4gICAgICAgIHRoaXMucHJlc2VudGF0aW9uUG9pbnRJblRpbWVJdGVtcyA9IHRoaXMucG9pbnRJblRpbWVJdGVtc1xuICAgICAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5kYXRlIDwgY3V0dE9mZlN0YXJ0IHx8IGl0ZW0uZGF0ZSA+IGN1dHRPZmZFbmQgPyBmYWxzZSA6IHRydWUpXG4gICAgICAgICAgICAubWFwKChpdGVtKSA9PiB7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB0aW1lUG9pbnRTdHJpbmcgPSBuZXcgRGF0ZShpdGVtLmRhdGUpLnRvTG9jYWxlVGltZVN0cmluZyh0aGlzLmxvY2FsZXM/PyBbXSwgeyBob3VyOiAnbnVtZXJpYycsIG1pbnV0ZTogJzItZGlnaXQnIH0pO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YTogaXRlbS5kYXRhLFxuICAgICAgICAgICAgICAgICAgICB4OiB0aGlzLl90aW1lbGluZVNlcnZpY2UuZ2V0WChpdGVtLmRhdGUpLFxuICAgICAgICAgICAgICAgICAgICBoaW50OiBpdGVtLmhpbnQgPz8gdGltZVBvaW50U3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICB0b3A6IGl0ZW0udG9wID8/ICcyMCUnLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGl0ZW0uaGVpZ2h0ID8/ICcxcmVtJyxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGl0ZW0ud2lkdGggPz8gJzFyZW0nLFxuICAgICAgICAgICAgICAgICAgICBjbGFzczogaXRlbS5jbGFzcyxcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBpdGVtLmJhY2tncm91bmRDb2xvcixcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICNkZWZhdWx0SXRlbVRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgIDxkaXYgXG4gICAgICAgIGNsYXNzPVwic2RzLXRpbWVsaW5lLWl0ZW0gaC0xMDBcIlxuICAgICAgICBbdGl0bGVdPVwiaXRlbS5oaW50XCJcbiAgICAgICAgPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0UG9pbnRJblRpbWVJdGVtVGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgPGRpdiBcbiAgICAgICAgY2xhc3M9XCJzZHMtdGltZWxpbmUtaXRlbSBoLTEwMFwiXG4gICAgICAgIFt0aXRsZV09XCJpdGVtLmhpbnRcIlxuICAgICAgICA+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHREYXlMYWJlbFRlbXBsYXRlIGxldC1sYWJlbD1cImxhYmVsXCI+XG4gICAge3tsYWJlbC5sYWJlbH19XG48L25nLXRlbXBsYXRlPlxuXG48ZGl2IFxuICAgICN2aWV3cG9ydFxuICAgIGNsYXNzPVwic2RzLXRpbWVsaW5lLXZpZXdwb3J0XCJcbiAgICAod2hlZWwpPVwib25TY3JvbGwoJGV2ZW50KVwiXG5cbiAgICAobW91c2Vkb3duKT1cIm9uRHJhZ1N0YXJ0KCRldmVudClcIlxuICAgICh0b3VjaHN0YXJ0KT1cIm9uRHJhZ1N0YXJ0KCRldmVudClcIlxuICAgID5cblxuICAgIDxkaXYgXG4gICAgICAgIGNsYXNzPVwic2RzLXRpbWVsaW5lLWNvbnRhaW5lciBkLWZsZXggZmxleC1jb2x1bW5cIlxuICAgICAgICBbc3R5bGUubGVmdC4lXT1cInZpZXdPZmZzZXRQZXJjZW50XCJcbiAgICAgICAgW3N0eWxlLndpZHRoLiVdPVwiem9vbVBlcmNlbnRcIlxuICAgICAgICBbc3R5bGUuY3Vyc29yXT1cImlzRHJhZ2dpbmcgPyAnZXctcmVzaXplJyA6IGRlZmF1bHRDdXJzb3JcIlxuICAgICAgICA+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJzaG93RGF5TGFiZWxzXCIgXG4gICAgICAgICAgICBjbGFzcz1cInNkcy10aW1lbGluZS1kYXktaGVhZGVyXCI+XG5cbiAgICAgICAgICAgIDxkaXYgXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGxhYmVsIG9mIGRheUxhYmVsc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzZHMtZGF5LWxhYmVsXCIgIFxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImRheUxhYmVsQ2xhc3MgPz8gbnVsbFwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmxlZnQuJV09XCJsYWJlbC54XCJcbiAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGguJV09XCJsYWJlbC53aWR0aFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGF5TGFiZWxUZW1wbGF0ZSA/IGRheUxhYmVsVGVtcGxhdGUgOiBkZWZhdWx0RGF5TGFiZWxUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7bGFiZWw6IGxhYmVsfVwiPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAgXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd0hvdXJMYWJlbHNcIiBcbiAgICAgICAgICAgIGNsYXNzPVwic2RzLXRpbWVsaW5lLWhvdXItaGVhZGVyXCI+XG5cbiAgICAgICAgICAgIDxkaXYgXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGxhYmVsIG9mIGhvdXJMYWJlbHM7XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNkcy1ob3VyLWxhYmVsXCIgIFxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImhvdXJMYWJlbENsYXNzID8/IG51bGxcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5sZWZ0LiVdPVwibGFiZWwueFwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoLnJlbV09XCIxLjJcIlxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsnbGVmdCc6ICdjYWxjKCcgKyBsYWJlbC54ICsgJyUgLSAwLjZyZW0pJ31cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIHt7bGFiZWwubGFiZWx9fVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgXG4gICAgICAgICAgICAqbmdJZj1cInNob3dUaW1lbGluZVwiXG4gICAgICAgICAgICBjbGFzcz1cInNkcy10aW1lbGluZSBmbGV4LWdyb3ctMVwiXG4gICAgICAgICAgICBbc3R5bGUuaGVpZ2h0XT1cInRpbWVsaW5lSGVpZ2h0XCJcbiAgICAgICAgICAgID5cblxuICAgICAgICAgICAgPGRpdiBcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgdGljayBvZiBob3VyVGlja3NcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2RzLXRpbWVsaW5lLXRpY2tcIiAgXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaG91clRpY2tDbGFzcyA/PyBudWxsXCJcdFxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cInRpY2sueCA9PSAxMDAgPyB7J2xlZnQnOiAnY2FsYygnICsgdGljay54ICsnJSAtIDFweCknfSA6IHsnbGVmdCc6ICdjYWxjKCcgKyB0aWNrLnggKyAnJSAtIDAuNXB4KSd9XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IFxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHByZXNlbnRhdGlvbkl0ZW1zXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNkcy10aW1lbGluZS1pdGVtLWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5jbGFzcyA/PyBudWxsXCJcbiAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICdtYXgoJyArIGl0ZW0ud2lkdGggKyclLCAxcHgpJyxcbiAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICdjYWxjKCcgKyBpdGVtLnRvcCArICcgLSBtYXgoY2FsYygnICsgaXRlbS5oZWlnaHQgKycvMiksIDFweCkpJywgXG4gICAgICAgICAgICAgICAgfVwiXG5cbiAgICAgICAgICAgICAgICBbc3R5bGUubGVmdC4lXT1cIml0ZW0ueFwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmhlaWdodF09XCJpdGVtLmhlaWdodFwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJpdGVtLmJhY2tncm91bmRDb2xvclwiXG4gICAgICAgICAgICAgICAgPlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVRlbXBsYXRlID8gaXRlbVRlbXBsYXRlIDogZGVmYXVsdEl0ZW1UZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aXRlbTogaXRlbX1cIj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gIFxuICAgICAgICAgICAgPC9kaXY+XG5cblxuICAgICAgICAgICAgPCEtLSBbbmdDbGFzc109XCJpdGVtLmNsYXNzXCJcdCAtLT5cbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcHJlc2VudGF0aW9uUG9pbnRJblRpbWVJdGVtc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9YHNkcy10aW1lbGluZS1wb2ludC1pbi10aW1lLWl0ZW0tY29udGFpbmVyICR7aXRlbS5jbGFzc31gXG4gICAgICAgICAgICAgICAgW3N0eWxlLmhlaWdodF09XCJpdGVtLmhlaWdodFwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLndpZHRoXT1cIml0ZW0ud2lkdGhcIlxuICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICdjYWxjKCcgKyBpdGVtLnRvcCArICcgLSBtYXgoY2FsYygnICsgaXRlbS5oZWlnaHQgKycvMiksIDFweCkpJywgXG4gICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJ2NhbGMoJyArIGl0ZW0ueCArICclIC0gbWF4KCBjYWxjKCcgKyBpdGVtLndpZHRoICsnLzIpLCAxcHgpKScsXG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwiaXRlbS5iYWNrZ3JvdW5kQ29sb3JcIlxuICAgICAgICAgICAgICAgID5cblxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInBvaW50SW5UaW1lVGVtcGxhdGUgPyBwb2ludEluVGltZVRlbXBsYXRlIDogZGVmYXVsdFBvaW50SW5UaW1lSXRlbVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtOiBpdGVtfVwiPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiAgXG5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi90aW1lbGluZS9tb2RlbHMvdGltZWxpbmUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVGltZWxpbmVUaWNrIHtcbiAgICBkYXRlOiBEYXRlO1xuICAgIHg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaW1lbGluZUludGVydmFsTGFiZWwge1xuICAgIHg6IG51bWJlcjtcbiAgICB3aWR0aDogbnVtYmVyO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgZGF0ZTogRGF0ZTtcbiAgICBkYXRhOiBhbnk7XG59XG5cbmludGVyZmFjZSBUaW1lbGluZUJhc2VJdGVtIHtcbiAgICBkYXRhPzogYW55O1xuXG4gICAgaGludD86IHN0cmluZztcbiAgICB0b3A/OiBzdHJpbmc7XG4gICAgaGVpZ2h0Pzogc3RyaW5nO1xuICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgICBjbGFzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaW1lbGluZUl0ZW0gZXh0ZW5kcyBUaW1lbGluZUJhc2VJdGVtIHtcbiAgICBzdGFydDogRGF0ZTtcbiAgICBlbmQ6IERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGltZWxpbmVQb2ludEluVGltZUl0ZW0gZXh0ZW5kcyBUaW1lbGluZUJhc2VJdGVtIHtcbiAgICBkYXRlOiBEYXRlO1xuICAgIHdpZHRoOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBUaW1lbGluZUl0ZW1QcmVzZW50YXRpb25CYXNlIHtcbiAgICBkYXRhPzogYW55O1xuICAgIHg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaW1lbGluZUl0ZW1QcmVzZW50YXRpb24gZXh0ZW5kcyBUaW1lbGluZUJhc2VJdGVtLCBUaW1lbGluZUl0ZW1QcmVzZW50YXRpb25CYXNlICB7XG4gICAgd2lkdGg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaW1lbGluZVBvaW50SW5UaW1lSXRlbVByZXNlbnRhdGlvbiBleHRlbmRzIFRpbWVsaW5lQmFzZUl0ZW0sIFRpbWVsaW5lSXRlbVByZXNlbnRhdGlvbkJhc2UgIHtcbiAgICB3aWR0aDogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './components/timeline.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL3RpbWVsaW5lL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsY0FBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3RpbWVsaW5lLmNvbXBvbmVudCc7XG5cblxuIl19
|
|
@@ -149,4 +149,4 @@ export class SdsTimelineService {
|
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL3RpbWVsaW5lL3NlcnZpY2VzL3RpbWVsaW5lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLGtCQUFrQjtJQWdCM0IsWUFBWSxLQUFXLEVBQUUsR0FBUyxFQUFFLGFBQXFCLEVBQUUsU0FBa0I7UUFkckUsb0JBQWUsR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ25DLGtCQUFhLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUVqQyxVQUFLLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN6QixRQUFHLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUV2QixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBS2pCLGNBQVMsR0FBbUIsRUFBRSxDQUFDO1FBSW5DLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBRTNCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxHQUFHLGFBQWEsQ0FBQyxDQUFDO1FBRW5GLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxHQUFHLGFBQWEsQ0FBQyxDQUFDO1FBRS9FLElB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QyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1QixPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBR08sY0FBYyxDQUFDLElBQVU7UUFDN0IsSUFBSSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVCLE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFHTyxhQUFhO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBRXBCLHVDQUF1QztRQUN2QyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUV4RCxvQ0FBb0M7UUFDcEMsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFdEQsSUFBSSxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDckMsT0FBTyxXQUFXLElBQUksT0FBTyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQy9DLFdBQVcsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3JELENBQUM7SUFDTCxDQUFDO0NBSUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaW1lbGluZUludGVydmFsTGFiZWwsIFRpbWVsaW5lVGljayB9IGZyb20gJy4uL21vZGVscy90aW1lbGluZS5tb2RlbCc7XHJcbmltcG9ydCB7IFRpbWVsaW5lQ3VzdG9tRGF0ZURhdGFQcm92aWRlciwgVGltZWxpbmVUaWNrRnJlcXVlbmN5IH0gZnJvbSAnLi4vdHlwZXMvdGltZWxpbmUudHlwZXMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIFNkc1RpbWVsaW5lU2VydmljZSB7XHJcblxyXG4gICAgcHJpdmF0ZSBzdGFydFdpdGhPZmZzZXQ6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgcHJpdmF0ZSBlbmRXaXRoT2Zmc2V0OiBEYXRlID0gbmV3IERhdGUoKTtcclxuXHJcbiAgICBwcml2YXRlIHN0YXJ0OiBEYXRlID0gbmV3IERhdGUoKTtcclxuICAgIHByaXZhdGUgZW5kOiBEYXRlID0gbmV3IERhdGUoKTtcclxuXHJcbiAgICBwcml2YXRlIGN1dE9mZnNldCA9IHRydWU7XHJcblxyXG5cclxuICAgIHByaXZhdGUgd2lkdGhQZXJjZW50UGVyTWludXRlOiBudW1iZXI7XHJcblxyXG4gICAgcHJpdmF0ZSBob3VyVGlja3M6IFRpbWVsaW5lVGlja1tdID0gW107XHJcblxyXG4gICAgXHJcbiAgICBjb25zdHJ1Y3RvcihzdGFydDogRGF0ZSwgZW5kOiBEYXRlLCBvZmZTZXRNaW51dGVzOiBudW1iZXIsIGN1dE9mZnNldDogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuY3V0T2Zmc2V0ID0gY3V0T2Zmc2V0O1xyXG5cclxuICAgICAgICB0aGlzLnN0YXJ0ID0gbmV3IERhdGUoc3RhcnQpO1xyXG4gICAgICAgIHRoaXMuc3RhcnRXaXRoT2Zmc2V0ID0gbmV3IERhdGUoc3RhcnQpO1xyXG4gICAgICAgIHRoaXMuc3RhcnRXaXRoT2Zmc2V0LnNldE1pbnV0ZXModGhpcy5zdGFydFdpdGhPZmZzZXQuZ2V0TWludXRlcygpIC0gb2ZmU2V0TWludXRlcyk7XHJcblxyXG4gICAgICAgIHRoaXMuZW5kID0gbmV3IERhdGUoZW5kKTtcclxuICAgICAgICB0aGlzLmVuZFdpdGhPZmZzZXQgPSBuZXcgRGF0ZShlbmQpOyBcclxuICAgICAgICB0aGlzLmVuZFdpdGhPZmZzZXQuc2V0TWludXRlcyh0aGlzLmVuZFdpdGhPZmZzZXQuZ2V0TWludXRlcygpICsgb2ZmU2V0TWludXRlcyk7XHJcblxyXG4gICAgICAgIHRoaXMud2lkdGhQZXJjZW50UGVyTWludXRlID0gKDEwMCAvIHRoaXMuZGlmZkluTWludXRlcyh0aGlzLnN0YXJ0V2l0aE9mZnNldCwgdGhpcy5lbmRXaXRoT2Zmc2V0KSk7XHJcblxyXG4gICAgICAgIHRoaXMuaW5pdEhvdXJUaWNrcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRYKHRpbWU6IERhdGUpOiBudW1iZXIge1xyXG4gICAgICAgIGNvbnN0IHRyaW1tZWRUaW1lID0gbmV3IERhdGUodGltZSk7XHJcbiAgICAgICAgaWYgKHRoaXMuY3V0T2Zmc2V0KSB7XHJcbiAgICAgICAgICAgIGlmICh0cmltbWVkVGltZSA8IHRoaXMuc3RhcnQpIHtcclxuICAgICAgICAgICAgICAgIHRyaW1tZWRUaW1lLnNldFRpbWUodGhpcy5zdGFydC5nZXRUaW1lKCkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0cmltbWVkVGltZSA+IHRoaXMuZW5kKSB7XHJcbiAgICAgICAgICAgICAgICB0cmltbWVkVGltZS5zZXRUaW1lKHRoaXMuZW5kLmdldFRpbWUoKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmRpZmZJbk1pbnV0ZXModGhpcy5zdGFydFdpdGhPZmZzZXQsIHRyaW1tZWRUaW1lKSAqIHRoaXMud2lkdGhQZXJjZW50UGVyTWludXRlOyAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldFdpZHRoRnJvbU1pbnV0ZXMobWludXRlczogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gbWludXRlcyAqIHRoaXMud2lkdGhQZXJjZW50UGVyTWludXRlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRXaWR0aEZyb21UaW1lKHN0YXJ0OiBEYXRlLCBlbmQ6IERhdGUpOiBudW1iZXIge1xyXG4gICAgICAgIGNvbnN0IHRyaW1tZWRTdGFydCA9IG5ldyBEYXRlKHN0YXJ0KTtcclxuICAgICAgICBpZiAodGhpcy5jdXRPZmZzZXQpIHtcclxuICAgICAgICAgICAgaWYgKHRyaW1tZWRTdGFydCA8IHRoaXMuc3RhcnQpIHtcclxuICAgICAgICAgICAgICAgIHRyaW1tZWRTdGFydC5zZXRUaW1lKHRoaXMuc3RhcnQuZ2V0VGltZSgpKTtcclxuICAgICAgICAgICAgfSAgIFxyXG4gICAgICAgICAgICBpZiAodHJpbW1lZFN0YXJ0ID4gdGhpcy5lbmQpIHtcclxuICAgICAgICAgICAgICAgIHRyaW1tZWRTdGFydC5zZXRUaW1lKHRoaXMuZW5kLmdldFRpbWUoKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHRyaW1tZWRFbmQgPSBuZXcgRGF0ZShlbmQpO1xyXG4gICAgICAgIGlmICh0aGlzLmN1dE9mZnNldCkge1xyXG4gICAgICAgICAgICBpZiAodHJpbW1lZEVuZCA8IHRoaXMuc3RhcnQpIHtcclxuICAgICAgICAgICAgICAgIHRyaW1tZWRFbmQuc2V0VGltZSh0aGlzLnN0YXJ0LmdldFRpbWUoKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRyaW1tZWRFbmQgPiB0aGlzLmVuZCkge1xyXG4gICAgICAgICAgICAgICAgdHJpbW1lZEVuZC5zZXRUaW1lKHRoaXMuZW5kLmdldFRpbWUoKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmdldFdpZHRoRnJvbU1pbnV0ZXModGhpcy5kaWZmSW5NaW51dGVzKHRyaW1tZWRTdGFydCwgdHJpbW1lZEVuZCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRUaWNrKHRpbWU6IERhdGUpOiBUaW1lbGluZVRpY2sge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGRhdGU6IG5ldyBEYXRlKHRpbWUpLFxyXG4gICAgICAgICAgICB4OiB0aGlzLmdldFgodGltZSksXHJcbiAgICAgICAgfSAgICAgICAgXHJcbiAgICB9XHJcbiAgICBcclxuICAgIHB1YmxpYyBnZXRIb3VyVGlja3MoZnJlcXVlbmN5OiBUaW1lbGluZVRpY2tGcmVxdWVuY3kgPSAnaG91cmx5Jyk6IFRpbWVsaW5lVGlja1tdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5ob3VyVGlja3MuZmlsdGVyKHRpY2sgPT4gdGhpcy5pc1ZhbGlkRnJlcXVlbmN5SG91cih0aWNrLmRhdGUuZ2V0SG91cnMoKSwgZnJlcXVlbmN5KSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEhvdXJMYWJlbHMoZnJlcXVlbmN5OiBUaW1lbGluZVRpY2tGcmVxdWVuY3kgPSAnaG91cmx5Jyk6IFRpbWVsaW5lSW50ZXJ2YWxMYWJlbFtdIHtcclxuICAgICAgICBjb25zdCBob3VyTGFiZWxzOiBUaW1lbGluZUludGVydmFsTGFiZWxbXSA9IFtdO1xyXG5cclxuICAgICAgICBjb25zdCB0aWNrcyA9IHRoaXMuaG91clRpY2tzLmZpbHRlcih0aWNrID0+IHRoaXMuaXNWYWxpZEZyZXF1ZW5jeUhvdXIodGljay5kYXRlLmdldEhvdXJzKCksIGZyZXF1ZW5jeSkpO1xyXG4gICAgICAgIHRpY2tzLmZvckVhY2godGljayA9PiB7XHJcbiAgICAgICAgICAgIGxldCBsYWJlbFN0YXJ0VGltZSA9IG5ldyBEYXRlKHRpY2suZGF0ZSk7XHJcbiAgICAgICAgICAgIGhvdXJMYWJlbHMucHVzaChcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB4OiB0aGlzLmdldFgobGFiZWxTdGFydFRpbWUpLFxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aWNrLmRhdGUuZ2V0SG91cnMoKS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGU6IG5ldyBEYXRlKGxhYmVsU3RhcnRUaW1lKSxcclxuICAgICAgICAgICAgICAgICAgICBkYXRhOiBudWxsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gaG91ckxhYmVscztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0RGF5TGFiZWxzKFxyXG4gICAgICAgIGxvY2FsZXM6IHN0cmluZyB8IEFycmF5PHN0cmluZz4gfCB1bmRlZmluZWQsIFxyXG4gICAgICAgIGN1c3RvbURhdGFGbjogVGltZWxpbmVDdXN0b21EYXRlRGF0YVByb3ZpZGVyIHwgdW5kZWZpbmVkKTogVGltZWxpbmVJbnRlcnZhbExhYmVsW10ge1xyXG4gICAgICAgIGNvbnN0IGRheUxhYmVscyA9IFtdO1xyXG5cclxuICAgICAgICAvLyBnZXQgc3RhcnQgZGF0ZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkYXlcclxuICAgICAgICBsZXQgc3RhcnREYXRlID0gbmV3IERhdGUodGhpcy5zdGFydFdpdGhPZmZzZXQpO1xyXG4gICAgICAgIHN0YXJ0RGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcclxuXHJcbiAgICAgICAgLy8gZ2V0IGVuZCBkYXRlIGF0IHRoZSBlbmQgb2YgdGhlIGRheVxyXG4gICAgICAgIGxldCBlbmREYXRlID0gbmV3IERhdGUodGhpcy5lbmRXaXRoT2Zmc2V0KTtcclxuICAgICAgICBlbmREYXRlLnNldEhvdXJzKDIzLCA1OSwgNTksIDk5OSk7XHJcblxyXG4gICAgICAgIGxldCBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKHN0YXJ0RGF0ZSk7XHJcbiAgICAgICAgd2hpbGUgKGN1cnJlbnREYXRlIDw9IGVuZERhdGUpIHtcclxuICAgICAgICAgICAgbGV0IGVuZE9mQ3VycmVudERheSA9IG5ldyBEYXRlKGN1cnJlbnREYXRlKTtcclxuICAgICAgICAgICAgZW5kT2ZDdXJyZW50RGF5LnNldEhvdXJzKDIzLCA1OSwgNTksIDk5OSk7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBkYXlMYWJlbFdpZHRoID0gdGhpcy5nZXRXaWR0aEZyb21UaW1lKGN1cnJlbnREYXRlLCBlbmRPZkN1cnJlbnREYXkpO1xyXG5cclxuICAgICAgICAgICAgaWYgKGRheUxhYmVsV2lkdGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICBkYXlMYWJlbHMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gZGF0ZTogbmV3IERhdGUoY3VycmVudERhdGUpLFxyXG4gICAgICAgICAgICAgICAgICAgIHg6IHRoaXMuZ2V0WChuZXcgRGF0ZShjdXJyZW50RGF0ZSkpLFxyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBkYXlMYWJlbFdpZHRoLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBjdXJyZW50RGF0ZS50b0xvY2FsZURhdGVTdHJpbmcobG9jYWxlcyA/PyBbXSwgeyB3ZWVrZGF5OiAnbG9uZycsIGRheTogJ251bWVyaWMnLCBtb250aDogJ2xvbmcnLCB5ZWFyOiAnbnVtZXJpYycgfSksXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0ZTogbmV3IERhdGUoY3VycmVudERhdGUpLFxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IGN1c3RvbURhdGFGbiA/IGN1c3RvbURhdGFGbihuZXcgRGF0ZShjdXJyZW50RGF0ZSkpIDogbnVsbFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY3VycmVudERhdGUuc2V0RGF0ZShjdXJyZW50RGF0ZS5nZXREYXRlKCkgKyAxKTsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBkYXlMYWJlbHM7XHJcbiAgICB9ICAgICBcclxuXHJcbiAgICAvLyNyZWdpb24gUHJpdmF0ZSBNZXRob2RzXHJcblxyXG4gICAgcHJpdmF0ZSBpc1ZhbGlkRnJlcXVlbmN5SG91cihob3VyczogbnVtYmVyLCBmcmVxdWVuY3k6IFRpbWVsaW5lVGlja0ZyZXF1ZW5jeSkge1xyXG5cclxuICAgICAgICBpZiAoZnJlcXVlbmN5ID09PSAnaG91cmx5Jykge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gZXZlcnkgdGljayBpcyB2YWxpZFxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgaWYgKGZyZXF1ZW5jeSA9PT0gJzJocnMnKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBob3VycyAlIDIgPT09IDA7XHJcbiAgICAgICAgfSBcclxuICAgICAgICBpZiAoZnJlcXVlbmN5ID09PSAnM2hycycpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGhvdXJzICUgMyA9PT0gMDtcclxuICAgICAgICB9IFxyXG4gICAgICAgIGlmIChmcmVxdWVuY3kgPT09ICc2aHJzJykge1xyXG4gICAgICAgICAgICByZXR1cm4gaG91cnMgJSA2ID09PSAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7IC8vIHVuc3VwcG9ydGVkIGZyZXF1ZW5jeVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZGlmZkluTWludXRlcyhzdGFydDogRGF0ZSwgZW5kOiBEYXRlKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gKGVuZC5nZXRUaW1lKCkgLSBzdGFydC5nZXRUaW1lKCkpIC8gKDEwMDAgKiA2MCk7O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcm91bmRIb3Vyc1VwKHRpbWU6IERhdGUpOiBEYXRlIHtcclxuICAgIFxyXG4gICAgICAgIGxldCBuZXdUaW1lID0gbmV3IERhdGUodGltZSk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKG5ld1RpbWUuZ2V0TWludXRlcygpID4gMCB8fCBuZXdUaW1lLmdldFNlY29uZHMoKSA+IDAgfHwgbmV3VGltZS5nZXRNaWxsaXNlY29uZHMoKSA+IDApIHtcclxuICAgICAgICAgICAgbmV3VGltZS5zZXRIb3VycyhuZXdUaW1lLmdldEhvdXJzKCkgKyAxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbmV3VGltZS5zZXRNaW51dGVzKDAsIDAsIDApO1xyXG4gICAgICAgIHJldHVybiBuZXdUaW1lO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIHJvdW5kSG91cnNEb3duKHRpbWU6IERhdGUpIHtcclxuICAgICAgICBsZXQgbmV3VGltZSA9IG5ldyBEYXRlKHRpbWUpO1xyXG4gICAgICAgIG5ld1RpbWUuc2V0TWludXRlcygwLCAwLCAwKTtcclxuICAgICAgICByZXR1cm4gbmV3VGltZTtcclxuICAgIH1cclxuICAgIFxyXG5cclxuICAgIHByaXZhdGUgaW5pdEhvdXJUaWNrcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmhvdXJUaWNrcyA9IFtdO1xyXG5cclxuICAgICAgICAvLyBnZXQgZmlyc3Qgd2hvbGUgaG91ciBmcm9tIHN0YXJ0IGRhdGVcclxuICAgICAgICBsZXQgc3RhcnRIb3VyID0gdGhpcy5yb3VuZEhvdXJzVXAodGhpcy5zdGFydFdpdGhPZmZzZXQpO1xyXG5cclxuICAgICAgICAvLyBnZXQgbGFzdCB3aG9sZSBob3VyIGZyb20gZW5kIGRhdGVcclxuICAgICAgICBsZXQgZW5kSG91ciA9IHRoaXMucm91bmRIb3Vyc0Rvd24odGhpcy5lbmRXaXRoT2Zmc2V0KTtcclxuXHJcbiAgICAgICAgbGV0IGN1cnJlbnRIb3VyID0gbmV3IERhdGUoc3RhcnRIb3VyKVxyXG4gICAgICAgIHdoaWxlIChjdXJyZW50SG91ciA8PSBlbmRIb3VyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaG91clRpY2tzLnB1c2godGhpcy5nZXRUaWNrKGN1cnJlbnRIb3VyKSk7XHJcbiAgICAgICAgICAgIGN1cnJlbnRIb3VyLnNldEhvdXJzKGN1cnJlbnRIb3VyLmdldEhvdXJzKCkgKyAxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxufVxyXG4iXX0=
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL3RpbWVsaW5lL3NlcnZpY2VzL3RpbWVsaW5lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLGtCQUFrQjtJQWdCM0IsWUFBWSxLQUFXLEVBQUUsR0FBUyxFQUFFLGFBQXFCLEVBQUUsU0FBa0I7UUFkckUsb0JBQWUsR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ25DLGtCQUFhLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUVqQyxVQUFLLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN6QixRQUFHLEdBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUV2QixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBS2pCLGNBQVMsR0FBbUIsRUFBRSxDQUFDO1FBSW5DLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBRTNCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxHQUFHLGFBQWEsQ0FBQyxDQUFDO1FBRW5GLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxHQUFHLGFBQWEsQ0FBQyxDQUFDO1FBRS9FLElB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QyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM1QixPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBR08sY0FBYyxDQUFDLElBQVU7UUFDN0IsSUFBSSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVCLE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7SUFHTyxhQUFhO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBRXBCLHVDQUF1QztRQUN2QyxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUV4RCxvQ0FBb0M7UUFDcEMsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFdEQsSUFBSSxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDckMsT0FBTyxXQUFXLElBQUksT0FBTyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQy9DLFdBQVcsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3JELENBQUM7SUFDTCxDQUFDO0NBSUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaW1lbGluZUludGVydmFsTGFiZWwsIFRpbWVsaW5lVGljayB9IGZyb20gJy4uL21vZGVscy90aW1lbGluZS5tb2RlbCc7XG5pbXBvcnQgeyBUaW1lbGluZUN1c3RvbURhdGVEYXRhUHJvdmlkZXIsIFRpbWVsaW5lVGlja0ZyZXF1ZW5jeSB9IGZyb20gJy4uL3R5cGVzL3RpbWVsaW5lLnR5cGVzJztcblxuZXhwb3J0IGNsYXNzIFNkc1RpbWVsaW5lU2VydmljZSB7XG5cbiAgICBwcml2YXRlIHN0YXJ0V2l0aE9mZnNldDogRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgcHJpdmF0ZSBlbmRXaXRoT2Zmc2V0OiBEYXRlID0gbmV3IERhdGUoKTtcblxuICAgIHByaXZhdGUgc3RhcnQ6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIHByaXZhdGUgZW5kOiBEYXRlID0gbmV3IERhdGUoKTtcblxuICAgIHByaXZhdGUgY3V0T2Zmc2V0ID0gdHJ1ZTtcblxuXG4gICAgcHJpdmF0ZSB3aWR0aFBlcmNlbnRQZXJNaW51dGU6IG51bWJlcjtcblxuICAgIHByaXZhdGUgaG91clRpY2tzOiBUaW1lbGluZVRpY2tbXSA9IFtdO1xuXG4gICAgXG4gICAgY29uc3RydWN0b3Ioc3RhcnQ6IERhdGUsIGVuZDogRGF0ZSwgb2ZmU2V0TWludXRlczogbnVtYmVyLCBjdXRPZmZzZXQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5jdXRPZmZzZXQgPSBjdXRPZmZzZXQ7XG5cbiAgICAgICAgdGhpcy5zdGFydCA9IG5ldyBEYXRlKHN0YXJ0KTtcbiAgICAgICAgdGhpcy5zdGFydFdpdGhPZmZzZXQgPSBuZXcgRGF0ZShzdGFydCk7XG4gICAgICAgIHRoaXMuc3RhcnRXaXRoT2Zmc2V0LnNldE1pbnV0ZXModGhpcy5zdGFydFdpdGhPZmZzZXQuZ2V0TWludXRlcygpIC0gb2ZmU2V0TWludXRlcyk7XG5cbiAgICAgICAgdGhpcy5lbmQgPSBuZXcgRGF0ZShlbmQpO1xuICAgICAgICB0aGlzLmVuZFdpdGhPZmZzZXQgPSBuZXcgRGF0ZShlbmQpOyBcbiAgICAgICAgdGhpcy5lbmRXaXRoT2Zmc2V0LnNldE1pbnV0ZXModGhpcy5lbmRXaXRoT2Zmc2V0LmdldE1pbnV0ZXMoKSArIG9mZlNldE1pbnV0ZXMpO1xuXG4gICAgICAgIHRoaXMud2lkdGhQZXJjZW50UGVyTWludXRlID0gKDEwMCAvIHRoaXMuZGlmZkluTWludXRlcyh0aGlzLnN0YXJ0V2l0aE9mZnNldCwgdGhpcy5lbmRXaXRoT2Zmc2V0KSk7XG5cbiAgICAgICAgdGhpcy5pbml0SG91clRpY2tzKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFgodGltZTogRGF0ZSk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHRyaW1tZWRUaW1lID0gbmV3IERhdGUodGltZSk7XG4gICAgICAgIGlmICh0aGlzLmN1dE9mZnNldCkge1xuICAgICAgICAgICAgaWYgKHRyaW1tZWRUaW1lIDwgdGhpcy5zdGFydCkge1xuICAgICAgICAgICAgICAgIHRyaW1tZWRUaW1lLnNldFRpbWUodGhpcy5zdGFydC5nZXRUaW1lKCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRyaW1tZWRUaW1lID4gdGhpcy5lbmQpIHtcbiAgICAgICAgICAgICAgICB0cmltbWVkVGltZS5zZXRUaW1lKHRoaXMuZW5kLmdldFRpbWUoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5kaWZmSW5NaW51dGVzKHRoaXMuc3RhcnRXaXRoT2Zmc2V0LCB0cmltbWVkVGltZSkgKiB0aGlzLndpZHRoUGVyY2VudFBlck1pbnV0ZTsgICAgICAgIFxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRXaWR0aEZyb21NaW51dGVzKG1pbnV0ZXM6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBtaW51dGVzICogdGhpcy53aWR0aFBlcmNlbnRQZXJNaW51dGU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFdpZHRoRnJvbVRpbWUoc3RhcnQ6IERhdGUsIGVuZDogRGF0ZSk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHRyaW1tZWRTdGFydCA9IG5ldyBEYXRlKHN0YXJ0KTtcbiAgICAgICAgaWYgKHRoaXMuY3V0T2Zmc2V0KSB7XG4gICAgICAgICAgICBpZiAodHJpbW1lZFN0YXJ0IDwgdGhpcy5zdGFydCkge1xuICAgICAgICAgICAgICAgIHRyaW1tZWRTdGFydC5zZXRUaW1lKHRoaXMuc3RhcnQuZ2V0VGltZSgpKTtcbiAgICAgICAgICAgIH0gICBcbiAgICAgICAgICAgIGlmICh0cmltbWVkU3RhcnQgPiB0aGlzLmVuZCkge1xuICAgICAgICAgICAgICAgIHRyaW1tZWRTdGFydC5zZXRUaW1lKHRoaXMuZW5kLmdldFRpbWUoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0cmltbWVkRW5kID0gbmV3IERhdGUoZW5kKTtcbiAgICAgICAgaWYgKHRoaXMuY3V0T2Zmc2V0KSB7XG4gICAgICAgICAgICBpZiAodHJpbW1lZEVuZCA8IHRoaXMuc3RhcnQpIHtcbiAgICAgICAgICAgICAgICB0cmltbWVkRW5kLnNldFRpbWUodGhpcy5zdGFydC5nZXRUaW1lKCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRyaW1tZWRFbmQgPiB0aGlzLmVuZCkge1xuICAgICAgICAgICAgICAgIHRyaW1tZWRFbmQuc2V0VGltZSh0aGlzLmVuZC5nZXRUaW1lKCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0V2lkdGhGcm9tTWludXRlcyh0aGlzLmRpZmZJbk1pbnV0ZXModHJpbW1lZFN0YXJ0LCB0cmltbWVkRW5kKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFRpY2sodGltZTogRGF0ZSk6IFRpbWVsaW5lVGljayB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkYXRlOiBuZXcgRGF0ZSh0aW1lKSxcbiAgICAgICAgICAgIHg6IHRoaXMuZ2V0WCh0aW1lKSxcbiAgICAgICAgfSAgICAgICAgXG4gICAgfVxuICAgIFxuICAgIHB1YmxpYyBnZXRIb3VyVGlja3MoZnJlcXVlbmN5OiBUaW1lbGluZVRpY2tGcmVxdWVuY3kgPSAnaG91cmx5Jyk6IFRpbWVsaW5lVGlja1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG91clRpY2tzLmZpbHRlcih0aWNrID0+IHRoaXMuaXNWYWxpZEZyZXF1ZW5jeUhvdXIodGljay5kYXRlLmdldEhvdXJzKCksIGZyZXF1ZW5jeSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRIb3VyTGFiZWxzKGZyZXF1ZW5jeTogVGltZWxpbmVUaWNrRnJlcXVlbmN5ID0gJ2hvdXJseScpOiBUaW1lbGluZUludGVydmFsTGFiZWxbXSB7XG4gICAgICAgIGNvbnN0IGhvdXJMYWJlbHM6IFRpbWVsaW5lSW50ZXJ2YWxMYWJlbFtdID0gW107XG5cbiAgICAgICAgY29uc3QgdGlja3MgPSB0aGlzLmhvdXJUaWNrcy5maWx0ZXIodGljayA9PiB0aGlzLmlzVmFsaWRGcmVxdWVuY3lIb3VyKHRpY2suZGF0ZS5nZXRIb3VycygpLCBmcmVxdWVuY3kpKTtcbiAgICAgICAgdGlja3MuZm9yRWFjaCh0aWNrID0+IHtcbiAgICAgICAgICAgIGxldCBsYWJlbFN0YXJ0VGltZSA9IG5ldyBEYXRlKHRpY2suZGF0ZSk7XG4gICAgICAgICAgICBob3VyTGFiZWxzLnB1c2goXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB4OiB0aGlzLmdldFgobGFiZWxTdGFydFRpbWUpLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRpY2suZGF0ZS5nZXRIb3VycygpLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgIGRhdGU6IG5ldyBEYXRlKGxhYmVsU3RhcnRUaW1lKSxcbiAgICAgICAgICAgICAgICAgICAgZGF0YTogbnVsbFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGhvdXJMYWJlbHM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldERheUxhYmVscyhcbiAgICAgICAgbG9jYWxlczogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPiB8IHVuZGVmaW5lZCwgXG4gICAgICAgIGN1c3RvbURhdGFGbjogVGltZWxpbmVDdXN0b21EYXRlRGF0YVByb3ZpZGVyIHwgdW5kZWZpbmVkKTogVGltZWxpbmVJbnRlcnZhbExhYmVsW10ge1xuICAgICAgICBjb25zdCBkYXlMYWJlbHMgPSBbXTtcblxuICAgICAgICAvLyBnZXQgc3RhcnQgZGF0ZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkYXlcbiAgICAgICAgbGV0IHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKHRoaXMuc3RhcnRXaXRoT2Zmc2V0KTtcbiAgICAgICAgc3RhcnREYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuXG4gICAgICAgIC8vIGdldCBlbmQgZGF0ZSBhdCB0aGUgZW5kIG9mIHRoZSBkYXlcbiAgICAgICAgbGV0IGVuZERhdGUgPSBuZXcgRGF0ZSh0aGlzLmVuZFdpdGhPZmZzZXQpO1xuICAgICAgICBlbmREYXRlLnNldEhvdXJzKDIzLCA1OSwgNTksIDk5OSk7XG5cbiAgICAgICAgbGV0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoc3RhcnREYXRlKTtcbiAgICAgICAgd2hpbGUgKGN1cnJlbnREYXRlIDw9IGVuZERhdGUpIHtcbiAgICAgICAgICAgIGxldCBlbmRPZkN1cnJlbnREYXkgPSBuZXcgRGF0ZShjdXJyZW50RGF0ZSk7XG4gICAgICAgICAgICBlbmRPZkN1cnJlbnREYXkuc2V0SG91cnMoMjMsIDU5LCA1OSwgOTk5KTtcblxuICAgICAgICAgICAgY29uc3QgZGF5TGFiZWxXaWR0aCA9IHRoaXMuZ2V0V2lkdGhGcm9tVGltZShjdXJyZW50RGF0ZSwgZW5kT2ZDdXJyZW50RGF5KTtcblxuICAgICAgICAgICAgaWYgKGRheUxhYmVsV2lkdGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZGF5TGFiZWxzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAvLyBkYXRlOiBuZXcgRGF0ZShjdXJyZW50RGF0ZSksXG4gICAgICAgICAgICAgICAgICAgIHg6IHRoaXMuZ2V0WChuZXcgRGF0ZShjdXJyZW50RGF0ZSkpLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZGF5TGFiZWxXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGN1cnJlbnREYXRlLnRvTG9jYWxlRGF0ZVN0cmluZyhsb2NhbGVzID8/IFtdLCB7IHdlZWtkYXk6ICdsb25nJywgZGF5OiAnbnVtZXJpYycsIG1vbnRoOiAnbG9uZycsIHllYXI6ICdudW1lcmljJyB9KSxcbiAgICAgICAgICAgICAgICAgICAgZGF0ZTogbmV3IERhdGUoY3VycmVudERhdGUpLFxuICAgICAgICAgICAgICAgICAgICBkYXRhOiBjdXN0b21EYXRhRm4gPyBjdXN0b21EYXRhRm4obmV3IERhdGUoY3VycmVudERhdGUpKSA6IG51bGxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGN1cnJlbnREYXRlLnNldERhdGUoY3VycmVudERhdGUuZ2V0RGF0ZSgpICsgMSk7IFxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkYXlMYWJlbHM7XG4gICAgfSAgICAgXG5cbiAgICAvLyNyZWdpb24gUHJpdmF0ZSBNZXRob2RzXG5cbiAgICBwcml2YXRlIGlzVmFsaWRGcmVxdWVuY3lIb3VyKGhvdXJzOiBudW1iZXIsIGZyZXF1ZW5jeTogVGltZWxpbmVUaWNrRnJlcXVlbmN5KSB7XG5cbiAgICAgICAgaWYgKGZyZXF1ZW5jeSA9PT0gJ2hvdXJseScpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlOyAvLyBldmVyeSB0aWNrIGlzIHZhbGlkXG4gICAgICAgIH0gXG4gICAgICAgIGlmIChmcmVxdWVuY3kgPT09ICcyaHJzJykge1xuICAgICAgICAgICAgcmV0dXJuIGhvdXJzICUgMiA9PT0gMDtcbiAgICAgICAgfSBcbiAgICAgICAgaWYgKGZyZXF1ZW5jeSA9PT0gJzNocnMnKSB7XG4gICAgICAgICAgICByZXR1cm4gaG91cnMgJSAzID09PSAwO1xuICAgICAgICB9IFxuICAgICAgICBpZiAoZnJlcXVlbmN5ID09PSAnNmhycycpIHtcbiAgICAgICAgICAgIHJldHVybiBob3VycyAlIDYgPT09IDA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyB1bnN1cHBvcnRlZCBmcmVxdWVuY3lcbiAgICB9XG5cbiAgICBwcml2YXRlIGRpZmZJbk1pbnV0ZXMoc3RhcnQ6IERhdGUsIGVuZDogRGF0ZSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAoZW5kLmdldFRpbWUoKSAtIHN0YXJ0LmdldFRpbWUoKSkgLyAoMTAwMCAqIDYwKTs7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByb3VuZEhvdXJzVXAodGltZTogRGF0ZSk6IERhdGUge1xuICAgIFxuICAgICAgICBsZXQgbmV3VGltZSA9IG5ldyBEYXRlKHRpbWUpO1xuICAgICAgICBcbiAgICAgICAgaWYgKG5ld1RpbWUuZ2V0TWludXRlcygpID4gMCB8fCBuZXdUaW1lLmdldFNlY29uZHMoKSA+IDAgfHwgbmV3VGltZS5nZXRNaWxsaXNlY29uZHMoKSA+IDApIHtcbiAgICAgICAgICAgIG5ld1RpbWUuc2V0SG91cnMobmV3VGltZS5nZXRIb3VycygpICsgMSk7XG4gICAgICAgIH1cbiAgICAgICAgbmV3VGltZS5zZXRNaW51dGVzKDAsIDAsIDApO1xuICAgICAgICByZXR1cm4gbmV3VGltZTtcbiAgICB9XG5cblxuICAgIHByaXZhdGUgcm91bmRIb3Vyc0Rvd24odGltZTogRGF0ZSkge1xuICAgICAgICBsZXQgbmV3VGltZSA9IG5ldyBEYXRlKHRpbWUpO1xuICAgICAgICBuZXdUaW1lLnNldE1pbnV0ZXMoMCwgMCwgMCk7XG4gICAgICAgIHJldHVybiBuZXdUaW1lO1xuICAgIH1cbiAgICBcblxuICAgIHByaXZhdGUgaW5pdEhvdXJUaWNrcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3VyVGlja3MgPSBbXTtcblxuICAgICAgICAvLyBnZXQgZmlyc3Qgd2hvbGUgaG91ciBmcm9tIHN0YXJ0IGRhdGVcbiAgICAgICAgbGV0IHN0YXJ0SG91ciA9IHRoaXMucm91bmRIb3Vyc1VwKHRoaXMuc3RhcnRXaXRoT2Zmc2V0KTtcblxuICAgICAgICAvLyBnZXQgbGFzdCB3aG9sZSBob3VyIGZyb20gZW5kIGRhdGVcbiAgICAgICAgbGV0IGVuZEhvdXIgPSB0aGlzLnJvdW5kSG91cnNEb3duKHRoaXMuZW5kV2l0aE9mZnNldCk7XG5cbiAgICAgICAgbGV0IGN1cnJlbnRIb3VyID0gbmV3IERhdGUoc3RhcnRIb3VyKVxuICAgICAgICB3aGlsZSAoY3VycmVudEhvdXIgPD0gZW5kSG91cikge1xuICAgICAgICAgICAgdGhpcy5ob3VyVGlja3MucHVzaCh0aGlzLmdldFRpY2soY3VycmVudEhvdXIpKTtcbiAgICAgICAgICAgIGN1cnJlbnRIb3VyLnNldEhvdXJzKGN1cnJlbnRIb3VyLmdldEhvdXJzKCkgKyAxKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAvLyNlbmRyZWdpb25cblxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi90aW1lbGluZS90eXBlcy90aW1lbGluZS50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgVGltZWxpbmVUaWNrRnJlcXVlbmN5ID0gJ2hvdXJseScgfCAnMmhycycgfCAnM2hycycgfCAnNmhycycgO1xuXG5leHBvcnQgdHlwZSBUaW1lbGluZUN1c3RvbURhdGVEYXRhUHJvdmlkZXIgPSAoZGF0ZTogRGF0ZSkgPT4gYW55OyJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export * from './services';
|
|
2
2
|
export * from './utils';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL3RpbWVyL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUE7QUFDMUIsY0FBYyxTQUFTLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzJ1xuZXhwb3J0ICogZnJvbSAnLi91dGlscydcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './timer.service';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi90aW1lci9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90aW1lci5zZXJ2aWNlJ1xuIl19
|
|
@@ -96,4 +96,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
96
96
|
providedIn: 'root'
|
|
97
97
|
}]
|
|
98
98
|
}], ctorParameters: () => [] });
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL3RpbWVyL3NlcnZpY2VzL3RpbWVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUE0QixRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLDZCQUE2QixFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSx3QkFBd0IsRUFBRSx3QkFBd0IsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNqTixPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUtwRCxNQUFNLE9BQU8sZUFBZTtJQTJGNUI7UUFoREk7OztXQUdHO1FBQ0ssNEJBQXVCLEdBQTBCLElBQUksZUFBZSxDQUFPLFNBQVMsQ0FBQyxDQUFBO1FBRTdGOzs7V0FHRztRQUNLLHlCQUFvQixHQUEwQixJQUFJLGVBQWUsQ0FBTyxTQUFTLENBQUMsQ0FBQTtRQUUxRjs7O1dBR0c7UUFDSyxzQkFBaUIsR0FBMEIsSUFBSSxlQUFlLENBQ3RFLFNBQVMsQ0FDUixDQUFDO1FBRUY7OztXQUdHO1FBQ0ssc0JBQWlCLEdBQTBCLElBQUksZUFBZSxDQUN0RSxTQUFTLENBQ1IsQ0FBQztRQUVGOzs7V0FHRztRQUNLLG9CQUFlLEdBQTBCLElBQUksZUFBZSxDQUFPLFNBQVMsQ0FBQyxDQUFBO1FBRXJGOzs7V0FHRztRQUNLLHFCQUFnQixHQUEwQixJQUFJLGVBQWUsQ0FBTyxTQUFTLENBQUMsQ0FBQztRQUV2Rjs7O1dBR0c7UUFDSyx3QkFBbUIsR0FBMEIsSUFBSSxlQUFlLENBQU8sU0FBUyxDQUFDLENBQUE7UUFFakYs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WUFDOUIsSUFBSSwyQkFBMkIsR0FBRyxJQUFJLEVBQUUsQ0FBQztnQkFDckMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xDLENBQUM7WUFFRCw4QkFBOEI7WUFDOUIsSUFBSSwyQkFBMkIsR0FBRyxJQUFJLEVBQUUsQ0FBQztnQkFDckMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xDLENBQUM7WUFFRCx1REFBdUQ7UUFDdkQsQ0FBQyxDQUNKLENBQUM7UUFFRixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2hELENBQUM7K0dBaEtZLGVBQWU7bUhBQWYsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgaW50ZXJ2YWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGltZVRvTmV4dEZpZnRlZW5NaW51dGVzSW50ZXJ2YWwsIHRpbWVUb05leHRGaXZlTWludXRlc0ludGVydmFsLCB0aW1lVG9OZXh0SGFsZkhvdXIsIHRpbWVUb05leHRIb3VyLCB0aW1lVG9OZXh0TWludXRlSW50ZXJ2YWwsIHRpbWVUb05leHRTZWNvbmRJbnRlcnZhbCwgdGltZVRvTmV4dFRlbk1pbnV0ZXNJbnRlcnZhbCB9IGZyb20gJy4uL3V0aWxzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBza2lwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RzVGltZXJTZXJ2aWNlIHtcclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBUaW1lciBlbWl0dGVkIGV2ZXJ5IDE1IG1pbnV0ZXMgKGUuZy4gMDg6MDAsIDA4OjE1LCAwODozMCwgZXRjLilcclxuICAgICAqL1xyXG4gICAgcHVibGljIGZpZnRlZW5NaW51dGVzSW50ZXJ2YWwkOiBPYnNlcnZhYmxlPHZvaWQ+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBUaW1lciBlbWl0dGVkIGV2ZXJ5IDUgbWludXRlcyAoZS5nLiAwODowMCwgMDg6MDUsIDA4OjEwLCBldGMuKVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZml2ZU1pbnV0ZXNJbnRlcnZhbCQ6IE9ic2VydmFibGU8dm9pZD47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFRpbWVyIHRoYXQgaW52b2tlcyBlYWNoIGZ1bGwgaG91clxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZnVsbEhvdXJJbnRlcnZhbCQ6IE9ic2VydmFibGU8dm9pZD47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFRpbWVyIGVtaXR0ZWQgZXZlcnkgMzAgbWludXRlcyBhdCBmdWxsIGFuZCBoYWxmIGhvdXIgKGUuZy4gYXQgMTA6MDAsIDEwOjMwLCAxMTowMCwgZXRjLilcclxuICAgICAqL1xyXG4gICAgcHVibGljIGhhbGZIb3VySW50ZXJ2YWwkOiBPYnNlcnZhYmxlPHZvaWQ+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBUaW1lciBlbWl0dGVkIGV2ZXJ5IG1pbnV0ZSAoZS5nLiAwODowMCwgMDg6MDEsIDA4OjAyLCBldGMuKVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbWludXRlSW50ZXJ2YWwkOiBPYnNlcnZhYmxlPHZvaWQ+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBUaW1lciBlbWl0dGVkIGV2ZXJ5IHNlY29uZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2Vjb25kc0ludGVydmFsJDogT2JzZXJ2YWJsZTx2b2lkPjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogVGltZXIgZW1pdHRlZCBldmVyeSAxMCBtaW51dGVzIChlLmcuIDA4OjAwLCAwODoxMCwgMDg6MjAsIGV0Yy4pXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0ZW5NaW51dGVzSW50ZXJ2YWwkOiBPYnNlcnZhYmxlPHZvaWQ+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBTb3VyY2UgZm9yIGZpZnRlZW4gbWludXRlIGludGVydmFsXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2ZpZnRlZW5NaW51dGVzSW50ZXJ2YWw6IEJlaGF2aW9yU3ViamVjdDx2b2lkPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dm9pZD4odW5kZWZpbmVkKVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBTb3VyY2UgZm9yIGZpdmUgbWludXRlIGludGVydmFsXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2ZpdmVNaW51dGVzSW50ZXJ2YWw6IEJlaGF2aW9yU3ViamVjdDx2b2lkPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dm9pZD4odW5kZWZpbmVkKVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBTb3VyY2UgZm9yIGhhbGYgaG91ciBpbnRlcnZhbFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9mdWxsSG91ckludGVydmFsOiBCZWhhdmlvclN1YmplY3Q8dm9pZD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KFxyXG4gICAgdW5kZWZpbmVkXHJcbiAgICApO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBTb3VyY2UgZm9yIGhhbGYgaG91ciBpbnRlcnZhbFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9oYWxmSG91ckludGVydmFsOiBCZWhhdmlvclN1YmplY3Q8dm9pZD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KFxyXG4gICAgdW5kZWZpbmVkXHJcbiAgICApO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBTb3VyY2UgZm9yIG1pbnV0ZSBpbnRlcnZhbFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9taW51dGVJbnRlcnZhbDogQmVoYXZpb3JTdWJqZWN0PHZvaWQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih1bmRlZmluZWQpXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFNvdXJjZSBmb3Igc2Vjb25nIGludGVydmFsXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3NlY29uZHNJbnRlcnZhbDogQmVoYXZpb3JTdWJqZWN0PHZvaWQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih1bmRlZmluZWQpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBTb3VyY2UgZm9yIHRlbiBtaW51dGVzIGludGVydmFsXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3Rlbk1pbnV0ZXNJbnRlcnZhbDogQmVoYXZpb3JTdWJqZWN0PHZvaWQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih1bmRlZmluZWQpXHJcblxyXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbmNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5maWZ0ZWVuTWludXRlc0ludGVydmFsJCA9IHRoaXMuX2ZpZnRlZW5NaW51dGVzSW50ZXJ2YWwuYXNPYnNlcnZhYmxlKCkucGlwZShza2lwKDEpKTtcclxuICAgIHRoaXMuZml2ZU1pbnV0ZXNJbnRlcnZhbCQgPSB0aGlzLl9maXZlTWludXRlc0ludGVydmFsLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2tpcCgxKSk7XHJcbiAgICB0aGlzLmZ1bGxIb3VySW50ZXJ2YWwkID0gdGhpcy5fZnVsbEhvdXJJbnRlcnZhbC5hc09ic2VydmFibGUoKS5waXBlKHNraXAoMSkpO1xyXG4gICAgdGhpcy5oYWxmSG91ckludGVydmFsJCA9IHRoaXMuX2hhbGZIb3VySW50ZXJ2YWwuYXNPYnNlcnZhYmxlKCkucGlwZShza2lwKDEpKTtcclxuICAgIHRoaXMubWludXRlSW50ZXJ2YWwkID0gdGhpcy5fbWludXRlSW50ZXJ2YWwuYXNPYnNlcnZhYmxlKCkucGlwZSgpLnBpcGUoc2tpcCgxKSk7XHJcbiAgICB0aGlzLnNlY29uZHNJbnRlcnZhbCQgPSB0aGlzLl9zZWNvbmRzSW50ZXJ2YWwuYXNPYnNlcnZhYmxlKCkucGlwZShza2lwKDEpKTtcclxuICAgIHRoaXMudGVuTWludXRlc0ludGVydmFsJCA9IHRoaXMuX3Rlbk1pbnV0ZXNJbnRlcnZhbC5hc09ic2VydmFibGUoKS5waXBlKHNraXAoMSkpO1xyXG5cclxuICAgIGNvbnN0IHRpbWVPZmZzZXRUb0Z1bGxTZWNvbmQgPSB0aW1lVG9OZXh0U2Vjb25kSW50ZXJ2YWwobmV3IERhdGUoKS5nZXRUaW1lKCkpXHJcblxyXG4gICAgLy8gVGhpcyBvYnNlcnZhYmxlIHdpbGwgaW52b2tlIGVhY2ggc2Vjb25kIHdoaWxlIGFwcCBpcyBydW5uaW5nXHJcbiAgICBjb25zdCB0aWNrc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gaW50ZXJ2YWwoMTAwMCkucGlwZShkZWJvdW5jZVRpbWUodGltZU9mZnNldFRvRnVsbFNlY29uZCkpLnN1YnNjcmliZShcclxuICAgICAgICBpbnRlcnZhbFRpY2sgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuXHJcbiAgICAgICAgY29uc3QgdGltZVJlbWFpbmluZ1RvTmV4dE1pbnV0ZUludGVydmFsID0gdGltZVRvTmV4dE1pbnV0ZUludGVydmFsKG5vdyk7XHJcblxyXG4gICAgICAgIGNvbnN0IHRpbWVSZW1haW5naW5nVG9OZXh0Rml2ZU1pbnV0ZXNJbnRlcnZhbCA9IHRpbWVUb05leHRGaXZlTWludXRlc0ludGVydmFsKG5vdyk7XHJcblxyXG4gICAgICAgIGNvbnN0IHRpbWVSZW1haW5pbmdUb05leHRUZW5NaW51dGVzSW50ZXJ2YWwgPSB0aW1lVG9OZXh0VGVuTWludXRlc0ludGVydmFsKG5vdyk7XHJcblxyXG4gICAgICAgIGNvbnN0IHRpbWVSZW1haW5pbmdUb05leHRGaWZ0ZWVuTWludXRlc0ludGVydmFsID0gdGltZVRvTmV4dEZpZnRlZW5NaW51dGVzSW50ZXJ2YWwobm93KTtcclxuXHJcbiAgICAgICAgY29uc3QgdGltZVJlbWFpbmluZ1RvTmV4dEZ1bGxIb3VyID0gdGltZVRvTmV4dEhvdXIoXHJcbiAgICAgICAgICAgIG5vd1xyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGNvbnN0IHRpbWVSZW1haW5pbmdUb05leHRIYWxmSG91ciA9IHRpbWVUb05leHRIYWxmSG91cihcclxuICAgICAgICAgICAgbm93XHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5fc2Vjb25kc0ludGVydmFsLm5leHQoKTtcclxuXHJcbiAgICAgICAgLy8gQ2hlY2sgaWYgaXRzIG1pbnV0ZSB0aWNrXHJcbiAgICAgICAgaWYgKHRpbWVSZW1haW5pbmdUb05leHRNaW51dGVJbnRlcnZhbCA+IDU5KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX21pbnV0ZUludGVydmFsLm5leHQoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENoZWNrIGlmIGl0cyBmaXZlIG1pbnV0ZSBpbnRlcnZhbCB0aWNrXHJcbiAgICAgICAgaWYgKHRpbWVSZW1haW5naW5nVG9OZXh0Rml2ZU1pbnV0ZXNJbnRlcnZhbCA+IDI5OSkge1xyXG4gICAgICAgICAgICB0aGlzLl9maXZlTWludXRlc0ludGVydmFsLm5leHQoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENoZWNrIGlmIGl0cyB0ZW4gbWludXRlIGludGVydmFsXHJcbiAgICAgICAgaWYgKHRpbWVSZW1haW5pbmdUb05leHRUZW5NaW51dGVzSW50ZXJ2YWwgPiA1OTkpIHtcclxuICAgICAgICAgICAgdGhpcy5fdGVuTWludXRlc0ludGVydmFsLm5leHQoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENoZWNrIGlmIGl0cyBmaWZ0ZWVuIG1pbnV0ZSBpbnRlcnZhbFxyXG4gICAgICAgIGlmICh0aW1lUmVtYWluaW5nVG9OZXh0RmlmdGVlbk1pbnV0ZXNJbnRlcnZhbCA+IDg5OSkge1xyXG4gICAgICAgICAgICB0aGlzLl9maWZ0ZWVuTWludXRlc0ludGVydmFsLm5leHQoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENoZWNrIGlmIGl0cyBoYWxmIGhvdXIgdGlja1xyXG4gICAgICAgIGlmICh0aW1lUmVtYWluaW5nVG9OZXh0SGFsZkhvdXIgPiAxNzk5KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2hhbGZIb3VySW50ZXJ2YWwubmV4dCgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQ2hlY2sgaWYgaXRzIGZ1bGwgaG91ciB0aWNrXHJcbiAgICAgICAgaWYgKHRpbWVSZW1haW5pbmdUb05leHRGdWxsSG91ciA+IDM1OTkpIHtcclxuICAgICAgICAgICAgdGhpcy5fZnVsbEhvdXJJbnRlcnZhbC5uZXh0KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBEZWZpbmUgYW55IGFkZGl0aW9uYWwgaW50ZXJ2YWxzIHRoYXQgbWlnaHQgYmUgbmVlZGVkXHJcbiAgICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnB1c2godGlja3NTdWJzY3JpcHRpb24pO1xyXG59XHJcbn1cclxuIl19
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL3RpbWVyL3NlcnZpY2VzL3RpbWVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUE0QixRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLDZCQUE2QixFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSx3QkFBd0IsRUFBRSx3QkFBd0IsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNqTixPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUtwRCxNQUFNLE9BQU8sZUFBZTtJQTJGNUI7UUFoREk7OztXQUdHO1FBQ0ssNEJBQXVCLEdBQTBCLElBQUksZUFBZSxDQUFPLFNBQVMsQ0FBQyxDQUFBO1FBRTdGOzs7V0FHRztRQUNLLHlCQUFvQixHQUEwQixJQUFJLGVBQWUsQ0FBTyxTQUFTLENBQUMsQ0FBQTtRQUUxRjs7O1dBR0c7UUFDSyxzQkFBaUIsR0FBMEIsSUFBSSxlQUFlLENBQ3RFLFNBQVMsQ0FDUixDQUFDO1FBRUY7OztXQUdHO1FBQ0ssc0JBQWlCLEdBQTBCLElBQUksZUFBZSxDQUN0RSxTQUFTLENBQ1IsQ0FBQztRQUVGOzs7V0FHRztRQUNLLG9CQUFlLEdBQTBCLElBQUksZUFBZSxDQUFPLFNBQVMsQ0FBQyxDQUFBO1FBRXJGOzs7V0FHRztRQUNLLHFCQUFnQixHQUEwQixJQUFJLGVBQWUsQ0FBTyxTQUFTLENBQUMsQ0FBQztRQUV2Rjs7O1dBR0c7UUFDSyx3QkFBbUIsR0FBMEIsSUFBSSxlQUFlLENBQU8sU0FBUyxDQUFDLENBQUE7UUFFakYs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WUFDOUIsSUFBSSwyQkFBMkIsR0FBRyxJQUFJLEVBQUUsQ0FBQztnQkFDckMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xDLENBQUM7WUFFRCw4QkFBOEI7WUFDOUIsSUFBSSwyQkFBMkIsR0FBRyxJQUFJLEVBQUUsQ0FBQztnQkFDckMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xDLENBQUM7WUFFRCx1REFBdUQ7UUFDdkQsQ0FBQyxDQUNKLENBQUM7UUFFRixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2hELENBQUM7K0dBaEtZLGVBQWU7bUhBQWYsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIGludGVydmFsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0aW1lVG9OZXh0RmlmdGVlbk1pbnV0ZXNJbnRlcnZhbCwgdGltZVRvTmV4dEZpdmVNaW51dGVzSW50ZXJ2YWwsIHRpbWVUb05leHRIYWxmSG91ciwgdGltZVRvTmV4dEhvdXIsIHRpbWVUb05leHRNaW51dGVJbnRlcnZhbCwgdGltZVRvTmV4dFNlY29uZEludGVydmFsLCB0aW1lVG9OZXh0VGVuTWludXRlc0ludGVydmFsIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBza2lwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTZHNUaW1lclNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFRpbWVyIGVtaXR0ZWQgZXZlcnkgMTUgbWludXRlcyAoZS5nLiAwODowMCwgMDg6MTUsIDA4OjMwLCBldGMuKVxuICAgICAqL1xuICAgIHB1YmxpYyBmaWZ0ZWVuTWludXRlc0ludGVydmFsJDogT2JzZXJ2YWJsZTx2b2lkPjtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFRpbWVyIGVtaXR0ZWQgZXZlcnkgNSBtaW51dGVzIChlLmcuIDA4OjAwLCAwODowNSwgMDg6MTAsIGV0Yy4pXG4gICAgICovXG4gICAgcHVibGljIGZpdmVNaW51dGVzSW50ZXJ2YWwkOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogVGltZXIgdGhhdCBpbnZva2VzIGVhY2ggZnVsbCBob3VyXG4gICAgICovXG4gICAgcHVibGljIGZ1bGxIb3VySW50ZXJ2YWwkOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogVGltZXIgZW1pdHRlZCBldmVyeSAzMCBtaW51dGVzIGF0IGZ1bGwgYW5kIGhhbGYgaG91ciAoZS5nLiBhdCAxMDowMCwgMTA6MzAsIDExOjAwLCBldGMuKVxuICAgICAqL1xuICAgIHB1YmxpYyBoYWxmSG91ckludGVydmFsJDogT2JzZXJ2YWJsZTx2b2lkPjtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFRpbWVyIGVtaXR0ZWQgZXZlcnkgbWludXRlIChlLmcuIDA4OjAwLCAwODowMSwgMDg6MDIsIGV0Yy4pXG4gICAgICovXG4gICAgcHVibGljIG1pbnV0ZUludGVydmFsJDogT2JzZXJ2YWJsZTx2b2lkPjtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFRpbWVyIGVtaXR0ZWQgZXZlcnkgc2Vjb25kXG4gICAgICovXG4gICAgcHVibGljIHNlY29uZHNJbnRlcnZhbCQ6IE9ic2VydmFibGU8dm9pZD47XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBUaW1lciBlbWl0dGVkIGV2ZXJ5IDEwIG1pbnV0ZXMgKGUuZy4gMDg6MDAsIDA4OjEwLCAwODoyMCwgZXRjLilcbiAgICAgKi9cbiAgICBwdWJsaWMgdGVuTWludXRlc0ludGVydmFsJDogT2JzZXJ2YWJsZTx2b2lkPjtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFNvdXJjZSBmb3IgZmlmdGVlbiBtaW51dGUgaW50ZXJ2YWxcbiAgICAgKi9cbiAgICBwcml2YXRlIF9maWZ0ZWVuTWludXRlc0ludGVydmFsOiBCZWhhdmlvclN1YmplY3Q8dm9pZD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KHVuZGVmaW5lZClcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFNvdXJjZSBmb3IgZml2ZSBtaW51dGUgaW50ZXJ2YWxcbiAgICAgKi9cbiAgICBwcml2YXRlIF9maXZlTWludXRlc0ludGVydmFsOiBCZWhhdmlvclN1YmplY3Q8dm9pZD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KHVuZGVmaW5lZClcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFNvdXJjZSBmb3IgaGFsZiBob3VyIGludGVydmFsXG4gICAgICovXG4gICAgcHJpdmF0ZSBfZnVsbEhvdXJJbnRlcnZhbDogQmVoYXZpb3JTdWJqZWN0PHZvaWQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPihcbiAgICB1bmRlZmluZWRcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uXG4gICAgICogU291cmNlIGZvciBoYWxmIGhvdXIgaW50ZXJ2YWxcbiAgICAgKi9cbiAgICBwcml2YXRlIF9oYWxmSG91ckludGVydmFsOiBCZWhhdmlvclN1YmplY3Q8dm9pZD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KFxuICAgIHVuZGVmaW5lZFxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBTb3VyY2UgZm9yIG1pbnV0ZSBpbnRlcnZhbFxuICAgICAqL1xuICAgIHByaXZhdGUgX21pbnV0ZUludGVydmFsOiBCZWhhdmlvclN1YmplY3Q8dm9pZD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KHVuZGVmaW5lZClcblxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvblxuICAgICAqIFNvdXJjZSBmb3Igc2Vjb25nIGludGVydmFsXG4gICAgICovXG4gICAgcHJpdmF0ZSBfc2Vjb25kc0ludGVydmFsOiBCZWhhdmlvclN1YmplY3Q8dm9pZD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KHVuZGVmaW5lZCk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb25cbiAgICAgKiBTb3VyY2UgZm9yIHRlbiBtaW51dGVzIGludGVydmFsXG4gICAgICovXG4gICAgcHJpdmF0ZSBfdGVuTWludXRlc0ludGVydmFsOiBCZWhhdmlvclN1YmplY3Q8dm9pZD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KHVuZGVmaW5lZClcblxuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbmNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZmlmdGVlbk1pbnV0ZXNJbnRlcnZhbCQgPSB0aGlzLl9maWZ0ZWVuTWludXRlc0ludGVydmFsLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2tpcCgxKSk7XG4gICAgdGhpcy5maXZlTWludXRlc0ludGVydmFsJCA9IHRoaXMuX2ZpdmVNaW51dGVzSW50ZXJ2YWwuYXNPYnNlcnZhYmxlKCkucGlwZShza2lwKDEpKTtcbiAgICB0aGlzLmZ1bGxIb3VySW50ZXJ2YWwkID0gdGhpcy5fZnVsbEhvdXJJbnRlcnZhbC5hc09ic2VydmFibGUoKS5waXBlKHNraXAoMSkpO1xuICAgIHRoaXMuaGFsZkhvdXJJbnRlcnZhbCQgPSB0aGlzLl9oYWxmSG91ckludGVydmFsLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2tpcCgxKSk7XG4gICAgdGhpcy5taW51dGVJbnRlcnZhbCQgPSB0aGlzLl9taW51dGVJbnRlcnZhbC5hc09ic2VydmFibGUoKS5waXBlKCkucGlwZShza2lwKDEpKTtcbiAgICB0aGlzLnNlY29uZHNJbnRlcnZhbCQgPSB0aGlzLl9zZWNvbmRzSW50ZXJ2YWwuYXNPYnNlcnZhYmxlKCkucGlwZShza2lwKDEpKTtcbiAgICB0aGlzLnRlbk1pbnV0ZXNJbnRlcnZhbCQgPSB0aGlzLl90ZW5NaW51dGVzSW50ZXJ2YWwuYXNPYnNlcnZhYmxlKCkucGlwZShza2lwKDEpKTtcblxuICAgIGNvbnN0IHRpbWVPZmZzZXRUb0Z1bGxTZWNvbmQgPSB0aW1lVG9OZXh0U2Vjb25kSW50ZXJ2YWwobmV3IERhdGUoKS5nZXRUaW1lKCkpXG5cbiAgICAvLyBUaGlzIG9ic2VydmFibGUgd2lsbCBpbnZva2UgZWFjaCBzZWNvbmQgd2hpbGUgYXBwIGlzIHJ1bm5pbmdcbiAgICBjb25zdCB0aWNrc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gaW50ZXJ2YWwoMTAwMCkucGlwZShkZWJvdW5jZVRpbWUodGltZU9mZnNldFRvRnVsbFNlY29uZCkpLnN1YnNjcmliZShcbiAgICAgICAgaW50ZXJ2YWxUaWNrID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuXG4gICAgICAgIGNvbnN0IHRpbWVSZW1haW5pbmdUb05leHRNaW51dGVJbnRlcnZhbCA9IHRpbWVUb05leHRNaW51dGVJbnRlcnZhbChub3cpO1xuXG4gICAgICAgIGNvbnN0IHRpbWVSZW1haW5naW5nVG9OZXh0Rml2ZU1pbnV0ZXNJbnRlcnZhbCA9IHRpbWVUb05leHRGaXZlTWludXRlc0ludGVydmFsKG5vdyk7XG5cbiAgICAgICAgY29uc3QgdGltZVJlbWFpbmluZ1RvTmV4dFRlbk1pbnV0ZXNJbnRlcnZhbCA9IHRpbWVUb05leHRUZW5NaW51dGVzSW50ZXJ2YWwobm93KTtcblxuICAgICAgICBjb25zdCB0aW1lUmVtYWluaW5nVG9OZXh0RmlmdGVlbk1pbnV0ZXNJbnRlcnZhbCA9IHRpbWVUb05leHRGaWZ0ZWVuTWludXRlc0ludGVydmFsKG5vdyk7XG5cbiAgICAgICAgY29uc3QgdGltZVJlbWFpbmluZ1RvTmV4dEZ1bGxIb3VyID0gdGltZVRvTmV4dEhvdXIoXG4gICAgICAgICAgICBub3dcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCB0aW1lUmVtYWluaW5nVG9OZXh0SGFsZkhvdXIgPSB0aW1lVG9OZXh0SGFsZkhvdXIoXG4gICAgICAgICAgICBub3dcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9zZWNvbmRzSW50ZXJ2YWwubmV4dCgpO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIGl0cyBtaW51dGUgdGlja1xuICAgICAgICBpZiAodGltZVJlbWFpbmluZ1RvTmV4dE1pbnV0ZUludGVydmFsID4gNTkpIHtcbiAgICAgICAgICAgIHRoaXMuX21pbnV0ZUludGVydmFsLm5leHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENoZWNrIGlmIGl0cyBmaXZlIG1pbnV0ZSBpbnRlcnZhbCB0aWNrXG4gICAgICAgIGlmICh0aW1lUmVtYWluZ2luZ1RvTmV4dEZpdmVNaW51dGVzSW50ZXJ2YWwgPiAyOTkpIHtcbiAgICAgICAgICAgIHRoaXMuX2ZpdmVNaW51dGVzSW50ZXJ2YWwubmV4dCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgaXRzIHRlbiBtaW51dGUgaW50ZXJ2YWxcbiAgICAgICAgaWYgKHRpbWVSZW1haW5pbmdUb05leHRUZW5NaW51dGVzSW50ZXJ2YWwgPiA1OTkpIHtcbiAgICAgICAgICAgIHRoaXMuX3Rlbk1pbnV0ZXNJbnRlcnZhbC5uZXh0KCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVjayBpZiBpdHMgZmlmdGVlbiBtaW51dGUgaW50ZXJ2YWxcbiAgICAgICAgaWYgKHRpbWVSZW1haW5pbmdUb05leHRGaWZ0ZWVuTWludXRlc0ludGVydmFsID4gODk5KSB7XG4gICAgICAgICAgICB0aGlzLl9maWZ0ZWVuTWludXRlc0ludGVydmFsLm5leHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENoZWNrIGlmIGl0cyBoYWxmIGhvdXIgdGlja1xuICAgICAgICBpZiAodGltZVJlbWFpbmluZ1RvTmV4dEhhbGZIb3VyID4gMTc5OSkge1xuICAgICAgICAgICAgdGhpcy5faGFsZkhvdXJJbnRlcnZhbC5uZXh0KCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVjayBpZiBpdHMgZnVsbCBob3VyIHRpY2tcbiAgICAgICAgaWYgKHRpbWVSZW1haW5pbmdUb05leHRGdWxsSG91ciA+IDM1OTkpIHtcbiAgICAgICAgICAgIHRoaXMuX2Z1bGxIb3VySW50ZXJ2YWwubmV4dCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGVmaW5lIGFueSBhZGRpdGlvbmFsIGludGVydmFscyB0aGF0IG1pZ2h0IGJlIG5lZWRlZFxuICAgICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMucHVzaCh0aWNrc1N1YnNjcmlwdGlvbik7XG59XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './timer.utils';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi90aW1lci91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGltZXIudXRpbHMnXG4iXX0=
|
|
@@ -94,4 +94,4 @@ export const timeToNextTenMinutesInterval = (currentTimestamp) => {
|
|
|
94
94
|
const numberOfSecondsToTheNextInterval = 600 - numberOfSecondsIntoTheCurrentInterval;
|
|
95
95
|
return numberOfSecondsToTheNextInterval;
|
|
96
96
|
};
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXIudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi90aW1lci91dGlscy90aW1lci51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsQ0FBQyxnQkFBd0IsRUFBRSxFQUFFO0lBQ3pFLE1BQU0sZ0JBQWdCLEdBQUcsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0lBRWpELE1BQU0scUNBQXFDLEdBQUcsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDO0lBRXJFLE1BQU0sZ0NBQWdDLEdBQUcsR0FBRyxHQUFHLHFDQUFxQyxDQUFDO0lBQ3JGLE9BQU8sZ0NBQWdDLENBQUM7QUFDNUMsQ0FBQyxDQUFBO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLENBQUMsZ0JBQXdCLEVBQUUsRUFBRTtJQUN0RSxNQUFNLGdCQUFnQixHQUFHLGdCQUFnQixHQUFHLElBQUksQ0FBQztJQUVqRCxNQUFNLHFDQUFxQyxHQUFHLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztJQUVyRSxNQUFNLGdDQUFnQyxHQUFHLEdBQUcsR0FBRyxxQ0FBcUMsQ0FBQztJQUNyRixPQUFPLGdDQUFnQyxDQUFDO0FBQzVDLENBQUMsQ0FBQTtBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLGdCQUF3QixFQUFFLEVBQUU7SUFDdkQsTUFBTSxnQkFBZ0IsR0FBRyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFFakQsTUFBTSxpQ0FBaUMsR0FBRyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFFbEUsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLEdBQUcsaUNBQWlDLENBQUM7SUFDOUUsT0FBTyw0QkFBNEIsQ0FBQztBQUN0QyxDQUFDLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDTCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLGdCQUF3QixFQUFFLEVBQUU7SUFDM0QsTUFBTSxnQkFBZ0IsR0FBRyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFFakQsTUFBTSxxQ0FBcUMsR0FBRyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFFdEUsTUFBTSxnQ0FBZ0MsR0FBRyxJQUFJLEdBQUcscUNBQXFDLENBQUM7SUFDdEYsT0FBTyxnQ0FBZ0MsQ0FBQztBQUMxQyxDQUFDLENBQUM7QUFFSjs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxnQkFBd0IsRUFBRSxFQUFFO0lBQ2pFLE1BQU0sZ0JBQWdCLEdBQUcsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0lBRWpELE1BQU0scUNBQXFDLEdBQUcsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBRXBFLE1BQU0sZ0NBQWdDLEdBQUcsRUFBRSxHQUFHLHFDQUFxQyxDQUFDO0lBQ3BGLE9BQU8sZ0NBQWdDLENBQUM7QUFDNUMsQ0FBQyxDQUFBO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsZ0JBQXdCLEVBQUUsRUFBRTtJQUNqRSxNQUFNLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0lBRTFDLE1BQU0sNENBQTRDLEdBQUcsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDO0lBRTVFLE1BQU0sMkNBQTJDLEdBQUcsR0FBRyxHQUFHLDRDQUE0QyxDQUFDO0lBQ3ZHLE9BQU8sMkNBQTJDLENBQUM7QUFDdkQsQ0FBQyxDQUFBO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLENBQUMsZ0JBQXdCLEVBQUUsRUFBRTtJQUNyRSxNQUFNLGdCQUFnQixHQUFHLGdCQUFnQixHQUFHLElBQUksQ0FBQztJQUVqRCxNQUFNLHFDQUFxQyxHQUFHLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztJQUVyRSxNQUFNLGdDQUFnQyxHQUFHLEdBQUcsR0FBRyxxQ0FBcUMsQ0FBQztJQUNyRixPQUFPLGdDQUFnQyxDQUFDO0FBQzVDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHB1YmxpYyBAZnVuY3Rpb24gdGltZVRvTmV4dEZpZnRlZW5NaW51dGVzSW50ZXJ2YWxcbiAqIEBkZXNjcmlwdGlvblxuICogRnVuY3Rpb24gcmVzcG9uc2libGUgZm9yIGNhbGMgb2YgdGltZSB1bnRpbCBuZXh0IGZpZnRlZW4gbWludXRlcyBpbnRlcnZhbC4gQnkgZmlmdGVlbiBtaW51dGVzIGludGVydmFsXG4gKiB3ZSBtZWFuIChlLmcuIDA4OjE1LCAwODozMCwgMDg6NDUsLi4uKVxuICogQHBhcmFtIHsgbnVtYmVyIH0gY3VycmVudFRpbWVzdGFtcE1zXG4gKiBAcmV0dXJucyB7IG51bWJlciB9XG4gKi9cbmV4cG9ydCBjb25zdCB0aW1lVG9OZXh0RmlmdGVlbk1pbnV0ZXNJbnRlcnZhbCA9IChjdXJyZW50VGltZXN0YW1wOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCB0aW1lc3RhbXBTZWNvbmRzID0gY3VycmVudFRpbWVzdGFtcCAvIDEwMDA7XG5cbiAgICBjb25zdCBudW1iZXJPZlNlY29uZHNJbnRvVGhlQ3VycmVudEludGVydmFsID0gdGltZXN0YW1wU2Vjb25kcyAlIDkwMDtcblxuICAgIGNvbnN0IG51bWJlck9mU2Vjb25kc1RvVGhlTmV4dEludGVydmFsID0gOTAwIC0gbnVtYmVyT2ZTZWNvbmRzSW50b1RoZUN1cnJlbnRJbnRlcnZhbDtcbiAgICByZXR1cm4gbnVtYmVyT2ZTZWNvbmRzVG9UaGVOZXh0SW50ZXJ2YWw7XG59XG5cbi8qKlxuICogQHB1YmxpYyBAZnVuY3Rpb24gdGltZVRvTmV4dEZpdmVNaW51dGVzSW50ZXJ2YWxcbiAqIEBkZXNjcmlwdGlvblxuICogRnVuY3Rpb24gcmVzcG9uc2libGUgZm9yIGNhbGMgb2YgdGltZSB1bnRpbCBuZXh0IGZpdmUgbWludXRlcyBpbnRlcnZhbC4gQnkgZml2ZSBtaW51dGVzIGludGVydmFsXG4gKiB3ZSBtZWFuIChlLmcuIDA4OjA1LCAwODoxMCwgMDg6MTUsLi4uKVxuICogQHBhcmFtIHsgbnVtYmVyIH0gY3VycmVudFRpbWVzdGFtcE1zXG4gKiBAcmV0dXJucyB7IG51bWJlciB9XG4gKi9cbmV4cG9ydCBjb25zdCB0aW1lVG9OZXh0Rml2ZU1pbnV0ZXNJbnRlcnZhbCA9IChjdXJyZW50VGltZXN0YW1wOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCB0aW1lc3RhbXBTZWNvbmRzID0gY3VycmVudFRpbWVzdGFtcCAvIDEwMDA7XG5cbiAgICBjb25zdCBudW1iZXJPZlNlY29uZHNJbnRvVGhlQ3VycmVudEludGVydmFsID0gdGltZXN0YW1wU2Vjb25kcyAlIDMwMDtcblxuICAgIGNvbnN0IG51bWJlck9mU2Vjb25kc1RvVGhlTmV4dEludGVydmFsID0gMzAwIC0gbnVtYmVyT2ZTZWNvbmRzSW50b1RoZUN1cnJlbnRJbnRlcnZhbDtcbiAgICByZXR1cm4gbnVtYmVyT2ZTZWNvbmRzVG9UaGVOZXh0SW50ZXJ2YWw7XG59XG5cbi8qKlxuICogQHB1YmxpYyBAZnVuY3Rpb24gdGltZVRvTmV4dEhvdXJcbiAqIEBkZXNjcmlwdGlvblxuICogRnVuY3Rpb24gcmVzcG9uc2libGUgZm9yIGNhbGMgb2YgdGltZSB1bnRpbCBuZXh0IGhvdXJcbiAqIEBwYXJhbSB7IG51bWJlciB9IGN1cnJlbnRUaW1lc3RhbXBNc1xuICogQHJldHVybnMgeyBudW1iZXIgfVxuICovXG5leHBvcnQgY29uc3QgdGltZVRvTmV4dEhvdXIgPSAoY3VycmVudFRpbWVzdGFtcDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgdGltZXN0YW1wU2Vjb25kcyA9IGN1cnJlbnRUaW1lc3RhbXAgLyAxMDAwO1xuXG4gICAgY29uc3QgbnVtYmVyT2ZTZWNvbmRzSW50b1RoZUN1cnJlbnRIb3VyID0gdGltZXN0YW1wU2Vjb25kcyAlIDM2MDA7XG5cbiAgICBjb25zdCBudW1iZXJPZlNlY29uZHNUb1RoZU5leHRIb3VyID0gMzYwMCAtIG51bWJlck9mU2Vjb25kc0ludG9UaGVDdXJyZW50SG91cjtcbiAgICByZXR1cm4gbnVtYmVyT2ZTZWNvbmRzVG9UaGVOZXh0SG91cjtcbiAgfTtcblxuICAvKipcbiAgICogQHB1YmxpYyBAZnVuY3Rpb24gdGltZVRvTmV4dEhhbGZIb3VyXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBGdW5jdGlvbiByZXNwb25zaWJsZSBmb3IgY2FsYyBvZiB0aW1lIHVudGlsIGhhbGYgaG91clxuICAgKiBAcGFyYW0geyBudW1iZXIgfSBjdXJyZW50VGltZXN0YW1wTXNcbiAgICogQHJldHVybnMgeyBudW1iZXIgfVxuICAgKi9cbmV4cG9ydCBjb25zdCB0aW1lVG9OZXh0SGFsZkhvdXIgPSAoY3VycmVudFRpbWVzdGFtcDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgdGltZXN0YW1wU2Vjb25kcyA9IGN1cnJlbnRUaW1lc3RhbXAgLyAxMDAwO1xuXG4gICAgY29uc3QgbnVtYmVyT2ZTZWNvbmRzSW50b1RoZUN1cnJlbnRIYWxmSG91ciA9IHRpbWVzdGFtcFNlY29uZHMgJSAxODAwO1xuXG4gICAgY29uc3QgbnVtYmVyT2ZTZWNvbmRzVG9UaGVOZXh0SGFsZkhvdXIgPSAxODAwIC0gbnVtYmVyT2ZTZWNvbmRzSW50b1RoZUN1cnJlbnRIYWxmSG91cjtcbiAgICByZXR1cm4gbnVtYmVyT2ZTZWNvbmRzVG9UaGVOZXh0SGFsZkhvdXI7XG4gIH07XG5cbi8qKlxuICogQHB1YmxpYyBAZnVuY3Rpb24gdGltZVRvTmV4dE1pbnV0ZUludGVydmFsXG4gKiBAZGVzY3JpcHRpb25cbiAqIEZ1bmN0aW9uIHJlc3BvbnNpYmxlIGZvciBjYWxjIG9mIHRpbWUgdW50aWwgbmV4dCBtaW51dGUgaW50ZXJ2YWwuIEJ5IG1pbnV0ZSBpbnRlcnZhbFxuICogd2UgbWVhbiAoZS5nLiAwODowMCwgMDg6MDEsIDA4OjAyLC4uLilcbiAqIEBwYXJhbSB7IG51bWJlciB9IGN1cnJlbnRUaW1lc3RhbXBNc1xuICogQHJldHVybnMgeyBudW1iZXIgfVxuICovXG5leHBvcnQgY29uc3QgdGltZVRvTmV4dE1pbnV0ZUludGVydmFsID0gKGN1cnJlbnRUaW1lc3RhbXA6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IHRpbWVzdGFtcFNlY29uZHMgPSBjdXJyZW50VGltZXN0YW1wIC8gMTAwMDtcblxuICAgIGNvbnN0IG51bWJlck9mU2Vjb25kc0ludG9UaGVDdXJyZW50SW50ZXJ2YWwgPSB0aW1lc3RhbXBTZWNvbmRzICUgNjA7XG5cbiAgICBjb25zdCBudW1iZXJPZlNlY29uZHNUb1RoZU5leHRJbnRlcnZhbCA9IDYwIC0gbnVtYmVyT2ZTZWNvbmRzSW50b1RoZUN1cnJlbnRJbnRlcnZhbDtcbiAgICByZXR1cm4gbnVtYmVyT2ZTZWNvbmRzVG9UaGVOZXh0SW50ZXJ2YWw7XG59XG5cbi8qKlxuICogQHB1YmxpYyBAZnVuY3Rpb24gdGltZVRvTmV4dFNlY29uZEludGVydmFsXG4gKiBAZGVzY3JpcHRpb25cbiAqIEZ1bmN0aW9uIHJlc3BvbnNpYmxlIGZvciBjYWxjIG9mIHRpbWUgdW50aWwgbmV4dCBzZWNvbmQgaW50ZXJ2YWwuIEJ5IHNlY29uZCBpbnRlcnZhbFxuICogd2UgbWVhbiAoZS5nLiAwODowMDowMSwgMDg6MDA6MDEsIDA4OjAwOjAyLC4uLilcbiAqIEBwYXJhbSB7IG51bWJlciB9IGN1cnJlbnRUaW1lc3RhbXBNc1xuICogQHJldHVybnMgeyBudW1iZXIgfVxuICovXG5leHBvcnQgY29uc3QgdGltZVRvTmV4dFNlY29uZEludGVydmFsID0gKGN1cnJlbnRUaW1lc3RhbXA6IG51bWJlcikgPT4ge1xuICAgIGNvbnN0IHRpbWVzdGFtcFNlY29uZHMgPSBjdXJyZW50VGltZXN0YW1wO1xuXG4gICAgY29uc3QgbnVtYmVyT2ZNaWxpc2VjU2Vjb25kc0ludG9UaGVDdXJyZW50SW50ZXJ2YWwgPSB0aW1lc3RhbXBTZWNvbmRzICUgOTk5O1xuXG4gICAgY29uc3QgbnVtYmVyT2ZNaWxpc2Vjb25kc1NlY29uZHNUb1RoZU5leHRJbnRlcnZhbCA9IDk5OSAtIG51bWJlck9mTWlsaXNlY1NlY29uZHNJbnRvVGhlQ3VycmVudEludGVydmFsO1xuICAgIHJldHVybiBudW1iZXJPZk1pbGlzZWNvbmRzU2Vjb25kc1RvVGhlTmV4dEludGVydmFsO1xufVxuXG4vKipcbiAqIEBwdWJsaWMgQGZ1bmN0aW9uIHRpbWVUb05leHRUZW5NaW51dGVzSW50ZXJ2YWxcbiAqIEBkZXNjcmlwdGlvblxuICogRnVuY3Rpb24gcmVzcG9uc2libGUgZm9yIGNhbGMgb2YgdGltZSB1bnRpbCBuZXh0IHRlbiBtaW51dGVzIGludGVydmFsLiBCeSB0ZW4gbWludXRlcyBpbnRlcnZhbFxuICogd2UgbWVhbiAoZS5nLiAwODoxMCwgMDg6MjAsIDA4OjMwLC4uLilcbiAqIEBwYXJhbSB7IG51bWJlciB9IGN1cnJlbnRUaW1lc3RhbXBNc1xuICogQHJldHVybnMgeyBudW1iZXIgfVxuICovXG5leHBvcnQgY29uc3QgdGltZVRvTmV4dFRlbk1pbnV0ZXNJbnRlcnZhbCA9IChjdXJyZW50VGltZXN0YW1wOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCB0aW1lc3RhbXBTZWNvbmRzID0gY3VycmVudFRpbWVzdGFtcCAvIDEwMDA7XG5cbiAgICBjb25zdCBudW1iZXJPZlNlY29uZHNJbnRvVGhlQ3VycmVudEludGVydmFsID0gdGltZXN0YW1wU2Vjb25kcyAlIDYwMDtcblxuICAgIGNvbnN0IG51bWJlck9mU2Vjb25kc1RvVGhlTmV4dEludGVydmFsID0gNjAwIC0gbnVtYmVyT2ZTZWNvbmRzSW50b1RoZUN1cnJlbnRJbnRlcnZhbDtcbiAgICByZXR1cm4gbnVtYmVyT2ZTZWNvbmRzVG9UaGVOZXh0SW50ZXJ2YWw7XG59XG4iXX0=
|