@kepler.gl/components 3.3.0-alpha.3 → 3.3.0-alpha.5
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/dist/annotations/annotation-overlay.d.ts +1 -0
- package/dist/annotations/annotation-overlay.js +7 -5
- package/dist/annotations/annotation-panel.js +16 -17
- package/dist/annotations/annotation-text.js +2 -3
- package/dist/annotations/annotation-utils.d.ts +14 -0
- package/dist/annotations/annotation-utils.js +44 -3
- package/dist/annotations/lexical-editor/floating-link-editor.js +9 -10
- package/dist/annotations/lexical-editor/lexical-rich-text-editor.js +2 -3
- package/dist/annotations/lexical-editor/lexical-toolbar.js +6 -7
- package/dist/annotations/lexical-editor/use-lexical-toolbar.js +15 -15
- package/dist/bottom-widget.js +3 -4
- package/dist/common/action-panel.js +2 -3
- package/dist/common/animation-control/animation-speed-slider.js +2 -3
- package/dist/common/animation-control/animation-window-control.js +2 -3
- package/dist/common/animation-control/floating-time-display.js +2 -3
- package/dist/common/animation-control/playback-controls.js +2 -3
- package/dist/common/animation-control/window-action-control.js +2 -3
- package/dist/common/checkbox.js +2 -3
- package/dist/common/color-legend.js +2 -3
- package/dist/common/column-stats-chart.js +2 -3
- package/dist/common/data-table/display-format.js +2 -3
- package/dist/common/data-table/grid.js +2 -3
- package/dist/common/data-table/header-cell.js +2 -3
- package/dist/common/data-table/index.js +2 -3
- package/dist/common/data-table/option-dropdown.js +2 -3
- package/dist/common/field-selector.js +2 -3
- package/dist/common/file-uploader/file-drop.js +2 -3
- package/dist/common/file-uploader/file-upload-progress.js +2 -3
- package/dist/common/file-uploader/file-upload.js +8 -9
- package/dist/common/file-uploader/upload-button.js +2 -3
- package/dist/common/histogram-plot.js +2 -3
- package/dist/common/icons/3d-models/airplane.js +2 -3
- package/dist/common/icons/3d-models/bicycle.js +2 -3
- package/dist/common/icons/3d-models/boeing.js +2 -3
- package/dist/common/icons/3d-models/car.js +2 -3
- package/dist/common/icons/3d-models/cargoship.js +2 -3
- package/dist/common/icons/3d-models/evtol.js +2 -3
- package/dist/common/icons/3d-models/glider.js +2 -3
- package/dist/common/icons/3d-models/helicopter.js +2 -3
- package/dist/common/icons/3d-models/scooter.js +2 -3
- package/dist/common/icons/3d-models/semitruck.js +2 -3
- package/dist/common/icons/3d-models/truck.js +2 -3
- package/dist/common/icons/add.js +2 -3
- package/dist/common/icons/annotation-text.js +2 -3
- package/dist/common/icons/arrow-down-alt.js +2 -3
- package/dist/common/icons/arrow-down-full.js +2 -3
- package/dist/common/icons/arrow-down-small.js +2 -3
- package/dist/common/icons/arrow-down-solid.js +2 -3
- package/dist/common/icons/arrow-down.js +2 -3
- package/dist/common/icons/arrow-left.js +2 -3
- package/dist/common/icons/arrow-right.js +2 -3
- package/dist/common/icons/arrow-up-alt.js +2 -3
- package/dist/common/icons/arrow-up-solid.js +2 -3
- package/dist/common/icons/arrow-up.js +2 -3
- package/dist/common/icons/base-map.js +2 -3
- package/dist/common/icons/base.js +2 -3
- package/dist/common/icons/bug.js +2 -3
- package/dist/common/icons/calendar.js +2 -3
- package/dist/common/icons/cancel.js +2 -3
- package/dist/common/icons/checkmark.js +2 -3
- package/dist/common/icons/clipboard.js +2 -3
- package/dist/common/icons/clock.js +2 -3
- package/dist/common/icons/close.js +2 -3
- package/dist/common/icons/cloud.js +2 -3
- package/dist/common/icons/code-alt.js +2 -3
- package/dist/common/icons/copy.js +2 -3
- package/dist/common/icons/crosshairs.js +2 -3
- package/dist/common/icons/cube-3d.js +2 -3
- package/dist/common/icons/cursor-click.js +2 -3
- package/dist/common/icons/cursor-point.js +2 -3
- package/dist/common/icons/data-table.js +2 -3
- package/dist/common/icons/db.js +2 -3
- package/dist/common/icons/delete.js +2 -3
- package/dist/common/icons/docs.js +2 -3
- package/dist/common/icons/docs2.js +2 -3
- package/dist/common/icons/drag-n-drop.js +2 -3
- package/dist/common/icons/draggable-dots.js +2 -3
- package/dist/common/icons/draw-polygon.js +2 -3
- package/dist/common/icons/edit.js +2 -3
- package/dist/common/icons/effects/brightness-contrast.js +2 -3
- package/dist/common/icons/effects/color-halftone.js +2 -3
- package/dist/common/icons/effects/distance-fog.js +2 -3
- package/dist/common/icons/effects/dot-screen.js +2 -3
- package/dist/common/icons/effects/edge-work.js +2 -3
- package/dist/common/icons/effects/hexagonal-pixelate.js +2 -3
- package/dist/common/icons/effects/hue-saturation.js +2 -3
- package/dist/common/icons/effects/ink.js +2 -3
- package/dist/common/icons/effects/light-and-shadow.js +2 -3
- package/dist/common/icons/effects/magic-wand.js +2 -3
- package/dist/common/icons/effects/magnify.js +2 -3
- package/dist/common/icons/effects/noise.js +2 -3
- package/dist/common/icons/effects/sepia.js +2 -3
- package/dist/common/icons/effects/surface-fog.js +2 -3
- package/dist/common/icons/effects/tilt-shift.js +2 -3
- package/dist/common/icons/effects/triangle-blur.js +2 -3
- package/dist/common/icons/effects/vibrance.js +2 -3
- package/dist/common/icons/effects/vignette.js +2 -3
- package/dist/common/icons/effects/zoom-blur.js +2 -3
- package/dist/common/icons/email.js +2 -3
- package/dist/common/icons/expand.js +2 -3
- package/dist/common/icons/eye-seen.js +2 -3
- package/dist/common/icons/eye-unseen.js +2 -3
- package/dist/common/icons/file.js +2 -3
- package/dist/common/icons/filter-funnel.js +2 -3
- package/dist/common/icons/folder.js +2 -3
- package/dist/common/icons/gear.js +2 -3
- package/dist/common/icons/globe.js +2 -3
- package/dist/common/icons/hash.js +2 -3
- package/dist/common/icons/help.js +2 -3
- package/dist/common/icons/horizontal-resize-handle.js +2 -3
- package/dist/common/icons/info.js +2 -3
- package/dist/common/icons/layers.js +2 -3
- package/dist/common/icons/left-arrow.js +2 -3
- package/dist/common/icons/legend.js +2 -3
- package/dist/common/icons/line-chart.js +2 -3
- package/dist/common/icons/location-marker.js +2 -3
- package/dist/common/icons/login.js +2 -3
- package/dist/common/icons/logout.js +2 -3
- package/dist/common/icons/map-icon.js +2 -3
- package/dist/common/icons/map-pin.js +2 -3
- package/dist/common/icons/messages.js +2 -3
- package/dist/common/icons/minus.js +2 -3
- package/dist/common/icons/moon.js +2 -3
- package/dist/common/icons/pause.js +2 -3
- package/dist/common/icons/pin.js +2 -3
- package/dist/common/icons/play.js +2 -3
- package/dist/common/icons/pointer-click.js +2 -3
- package/dist/common/icons/polygon.js +2 -3
- package/dist/common/icons/rectangle.js +2 -3
- package/dist/common/icons/reduce.js +2 -3
- package/dist/common/icons/reset.js +2 -3
- package/dist/common/icons/save.js +2 -3
- package/dist/common/icons/save2.js +2 -3
- package/dist/common/icons/search.js +2 -3
- package/dist/common/icons/settings.js +2 -3
- package/dist/common/icons/share.js +2 -3
- package/dist/common/icons/speed.js +2 -3
- package/dist/common/icons/split.js +2 -3
- package/dist/common/icons/square-select.js +2 -3
- package/dist/common/icons/sun.js +2 -3
- package/dist/common/icons/sunrise.js +2 -3
- package/dist/common/icons/sunset.js +2 -3
- package/dist/common/icons/timeline-marker.js +2 -3
- package/dist/common/icons/trash.js +2 -3
- package/dist/common/icons/vert-dots.js +2 -3
- package/dist/common/icons/vert-three-dots.js +2 -3
- package/dist/common/icons/warning-sign.js +2 -3
- package/dist/common/icons/warning.js +2 -3
- package/dist/common/icons/zoom-in.js +2 -3
- package/dist/common/icons/zoom-out.js +2 -3
- package/dist/common/index.js +2 -3
- package/dist/common/item-selector/chickleted-input.js +2 -3
- package/dist/common/item-selector/dropdown-list.js +2 -3
- package/dist/common/item-selector/item-selector.js +2 -3
- package/dist/common/item-selector/typeahead.js +2 -3
- package/dist/common/layout-splitter.js +2 -3
- package/dist/common/line-chart.js +2 -3
- package/dist/common/loading-spinner.js +2 -3
- package/dist/common/modal.js +6 -7
- package/dist/common/portaled.js +2 -3
- package/dist/common/radius-legend.js +2 -3
- package/dist/common/range-brush.js +2 -3
- package/dist/common/range-plot.js +2 -3
- package/dist/common/range-slider-timeline-panel.js +2 -3
- package/dist/common/range-slider-timeline.js +2 -3
- package/dist/common/range-slider.js +2 -3
- package/dist/common/slider/slider-bar-handle.js +2 -3
- package/dist/common/slider/slider-handle.js +2 -3
- package/dist/common/slider/slider.js +2 -3
- package/dist/common/styled-components.d.ts +86 -83
- package/dist/common/styled-components.js +53 -45
- package/dist/common/time-range-slider.js +2 -3
- package/dist/common/time-slider-marker.js +2 -3
- package/dist/common/timeline-slider.js +2 -3
- package/dist/common/tippy-tooltip.js +2 -3
- package/dist/connect/with-local-selector.js +2 -3
- package/dist/container.js +4 -5
- package/dist/context.js +2 -3
- package/dist/dnd-context.js +2 -3
- package/dist/editor/editor.js +3 -4
- package/dist/editor/feature-action-panel.js +2 -3
- package/dist/effects/compact-color-picker.js +2 -3
- package/dist/effects/effect-configurator.js +17 -18
- package/dist/effects/effect-list.js +2 -3
- package/dist/effects/effect-manager.js +2 -3
- package/dist/effects/effect-panel-header.js +2 -3
- package/dist/effects/effect-panel.js +2 -3
- package/dist/effects/effect-time-configurator.js +18 -7
- package/dist/effects/effect-time-selector.js +2 -3
- package/dist/effects/effect-time-slider.js +2 -3
- package/dist/effects/effect-type-dropdown-list.js +2 -3
- package/dist/effects/effect-type-list-item.js +2 -3
- package/dist/effects/effect-type-selector.js +2 -3
- package/dist/effects/surface-fog-section.js +7 -8
- package/dist/effects/timezone-selector.js +2 -3
- package/dist/filter-animation-controller.js +2 -3
- package/dist/filters/filter-panels/filter-panel-with-field-select.js +2 -3
- package/dist/filters/filter-panels/filter-synced-dataset-panel.js +4 -5
- package/dist/filters/filter-panels/multi-select-filter-panel.js +2 -3
- package/dist/filters/filter-panels/new-filter-panel.js +2 -3
- package/dist/filters/filter-panels/polygon-filter-panel.js +2 -3
- package/dist/filters/filter-panels/range-filter-panel.js +2 -3
- package/dist/filters/filter-panels/single-select-filter-panel.js +2 -3
- package/dist/filters/filter-panels/time-range-filter-panel.js +2 -3
- package/dist/filters/polygon-filter.js +3 -4
- package/dist/filters/time-widget-settings.js +9 -10
- package/dist/filters/time-widget-top.js +2 -3
- package/dist/filters/time-widget.js +2 -3
- package/dist/geocoder/geocoder.js +6 -7
- package/dist/geocoder-panel.js +2 -3
- package/dist/hooks/use-cloud-list-provider.js +2 -3
- package/dist/hooks/use-fetch-raster-tile-metadata.js +2 -2
- package/dist/hooks/use-fetch-vector-tile-metadata.js +2 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +31 -3
- package/dist/kepler-gl.d.ts +1 -0
- package/dist/kepler-gl.js +3 -3
- package/dist/layer-animation-controller.js +2 -3
- package/dist/loading-indicator.d.ts +1 -0
- package/dist/loading-indicator.js +6 -4
- package/dist/map/annotations/annotation-control.js +2 -3
- package/dist/map/attribution.d.ts +52 -0
- package/dist/map/attribution.js +391 -0
- package/dist/map/effects/effect-control.js +2 -3
- package/dist/map/layer-hover-info.js +2 -3
- package/dist/map/lazy-tippy.js +2 -3
- package/dist/map/locale-panel.d.ts +1 -1
- package/dist/map/locale-panel.js +2 -3
- package/dist/map/map-control-panel.js +2 -3
- package/dist/map/map-control.d.ts +3 -0
- package/dist/map/map-control.js +1 -1
- package/dist/map/map-draw-panel.d.ts +1 -1
- package/dist/map/map-draw-panel.js +2 -3
- package/dist/map/map-legend-panel.d.ts +1 -1
- package/dist/map/map-legend-panel.js +9 -14
- package/dist/map/map-legend.js +2 -3
- package/dist/map/map-navigation-control.js +20 -4
- package/dist/map/map-popover.js +2 -3
- package/dist/map/map-scale.d.ts +11 -0
- package/dist/map/map-scale.js +162 -0
- package/dist/map/split-map-button.d.ts +4 -2
- package/dist/map/split-map-button.js +63 -46
- package/dist/map/toggle-3d-button.d.ts +8 -2
- package/dist/map/toggle-3d-button.js +79 -17
- package/dist/map-container.d.ts +6 -16
- package/dist/map-container.js +354 -240
- package/dist/map-view-state-context.d.ts +2 -0
- package/dist/map-view-state-context.js +2 -3
- package/dist/maps-layout.js +2 -3
- package/dist/modal-container.js +2 -3
- package/dist/modals/add-map-style-modal.js +49 -12
- package/dist/modals/cloud-components/cloud-header.js +2 -3
- package/dist/modals/cloud-components/cloud-item.spec.js +8 -8
- package/dist/modals/cloud-components/cloud-maps.spec.js +7 -7
- package/dist/modals/cloud-tile.js +5 -6
- package/dist/modals/data-table-modal.js +2 -3
- package/dist/modals/error-display.js +2 -3
- package/dist/modals/export-data-modal.js +2 -3
- package/dist/modals/export-image-modal.js +2 -3
- package/dist/modals/export-map-modal/export-json-map.js +2 -3
- package/dist/modals/export-video-modal.js +52 -10
- package/dist/modals/export-video-modal.spec.js +83 -83
- package/dist/modals/globe-export-video-container.d.ts +117 -0
- package/dist/modals/globe-export-video-container.js +626 -0
- package/dist/modals/globe-export-video-preview.d.ts +41 -0
- package/dist/modals/globe-export-video-preview.js +152 -0
- package/dist/modals/hubble-utils.d.ts +13 -1
- package/dist/modals/hubble-utils.js +164 -36
- package/dist/modals/image-modal-container.js +2 -3
- package/dist/modals/load-data-modal.js +2 -3
- package/dist/modals/load-storage-map.js +2 -3
- package/dist/modals/load-storage-map.spec.js +10 -10
- package/dist/modals/modal-tabs.js +2 -3
- package/dist/modals/overwrite-map-modal.js +2 -3
- package/dist/modals/save-map-modal.js +2 -3
- package/dist/modals/save-map-modal.spec.js +16 -16
- package/dist/modals/share-map-modal.js +2 -3
- package/dist/modals/share-map-modal.spec.js +9 -9
- package/dist/modals/swipe-composite-utils.d.ts +1 -1
- package/dist/modals/swipe-composite-utils.js +11 -1
- package/dist/modals/swipe-export-settings.d.ts +1 -0
- package/dist/modals/swipe-export-settings.js +8 -6
- package/dist/modals/swipe-export-video-container.d.ts +6 -0
- package/dist/modals/swipe-export-video-container.js +27 -4
- package/dist/modals/swipe-export-video-preview.d.ts +2 -0
- package/dist/modals/swipe-export-video-preview.js +80 -18
- package/dist/modals/tilesets-modals/load-data-footer.js +2 -3
- package/dist/modals/tilesets-modals/load-tileset.js +2 -3
- package/dist/modals/tilesets-modals/tileset-bitmap-form.js +18 -19
- package/dist/modals/tilesets-modals/tileset-raster-form.js +5 -6
- package/dist/modals/tilesets-modals/tileset-tile3d-form.js +13 -14
- package/dist/modals/tilesets-modals/tileset-vector-form.js +7 -8
- package/dist/modals/tilesets-modals/tileset-wms-form.js +11 -12
- package/dist/notification-panel/notification-item.js +2 -3
- package/dist/plot-container.js +2 -3
- package/dist/side-panel/add-by-dataset-button.js +2 -3
- package/dist/side-panel/common/dataset-title.js +2 -3
- package/dist/side-panel/common/source-data-selector-content.js +2 -3
- package/dist/side-panel/common/source-selector.js +2 -3
- package/dist/side-panel/filter-manager.js +2 -3
- package/dist/side-panel/filter-panel/filter-panel-header.js +2 -3
- package/dist/side-panel/filter-panel/filter-panel.js +2 -3
- package/dist/side-panel/interaction-panel/interaction-panel.js +2 -3
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +2 -3
- package/dist/side-panel/interaction-panel/tooltip-config.js +2 -3
- package/dist/side-panel/layer-manager.d.ts +2 -1
- package/dist/side-panel/layer-manager.js +6 -4
- package/dist/side-panel/layer-panel/channel-by-value-selector.js +2 -3
- package/dist/side-panel/layer-panel/color-breaks-panel.js +2 -3
- package/dist/side-panel/layer-panel/color-palette.js +2 -3
- package/dist/side-panel/layer-panel/color-range-selector.js +2 -3
- package/dist/side-panel/layer-panel/color-scale-selector.js +2 -3
- package/dist/side-panel/layer-panel/color-selector.js +2 -3
- package/dist/side-panel/layer-panel/column-selector.js +2 -3
- package/dist/side-panel/layer-panel/custom-palette.js +41 -42
- package/dist/side-panel/layer-panel/custom-picker.js +2 -3
- package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +2 -1
- package/dist/side-panel/layer-panel/dataset-layer-group.js +6 -5
- package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +2 -1
- package/dist/side-panel/layer-panel/dataset-layer-section.js +5 -4
- package/dist/side-panel/layer-panel/dimension-scale-selector.js +2 -3
- package/dist/side-panel/layer-panel/layer-color-selector.js +2 -3
- package/dist/side-panel/layer-panel/layer-column-config.js +2 -3
- package/dist/side-panel/layer-panel/layer-column-mode-config.js +2 -3
- package/dist/side-panel/layer-panel/layer-config-group.js +2 -3
- package/dist/side-panel/layer-panel/layer-configurator.js +51 -52
- package/dist/side-panel/layer-panel/layer-group-header.js +2 -3
- package/dist/side-panel/layer-panel/layer-list.d.ts +2 -1
- package/dist/side-panel/layer-panel/layer-list.js +8 -7
- package/dist/side-panel/layer-panel/layer-panel-header.d.ts +1 -1
- package/dist/side-panel/layer-panel/layer-panel-header.js +3 -4
- package/dist/side-panel/layer-panel/layer-panel.d.ts +2 -1
- package/dist/side-panel/layer-panel/layer-panel.js +15 -6
- package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +2 -3
- package/dist/side-panel/layer-panel/layer-type-list-item.js +2 -3
- package/dist/side-panel/layer-panel/layer-type-selector.js +2 -3
- package/dist/side-panel/layer-panel/raster-tile-layer-configurator.js +4 -5
- package/dist/side-panel/layer-panel/scenegraph-model-selector.js +2 -3
- package/dist/side-panel/layer-panel/single-color-palette.js +2 -3
- package/dist/side-panel/layer-panel/text-label-panel.js +2 -3
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +2 -3
- package/dist/side-panel/layer-panel/vis-config-slider.js +2 -3
- package/dist/side-panel/map-manager.d.ts +9 -3
- package/dist/side-panel/map-manager.js +13 -7
- package/dist/side-panel/map-style-panel/globe-config-panel.d.ts +15 -0
- package/dist/side-panel/map-style-panel/globe-config-panel.js +269 -0
- package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +2 -3
- package/dist/side-panel/map-style-panel/map-layer-group-item.js +2 -3
- package/dist/side-panel/panel-header.js +9 -10
- package/dist/side-panel/panel-toggle.js +2 -3
- package/dist/side-panel/panel-view-list-toggle.js +2 -3
- package/dist/side-panel/side-bar.js +2 -3
- package/dist/side-panel.js +4 -3
- package/dist/types.d.ts +2 -1
- package/dist/types.js +1 -1
- package/package.json +23 -23
|
@@ -14,10 +14,9 @@ var _LexicalComposerContext = require("@lexical/react/LexicalComposerContext");
|
|
|
14
14
|
var _lexicalConstants = require("./lexical-constants");
|
|
15
15
|
var _useLexicalToolbar = require("./use-lexical-toolbar");
|
|
16
16
|
var _singleColorPalette = _interopRequireDefault(require("../../side-panel/layer-panel/single-color-palette"));
|
|
17
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9,
|
|
17
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject0, _templateObject1, _templateObject10; // SPDX-License-Identifier: MIT
|
|
18
18
|
// Copyright contributors to the kepler.gl project
|
|
19
|
-
function
|
|
20
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
19
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
21
20
|
var ToolbarContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n gap: 4px;\n padding: 4px 0;\n"])));
|
|
22
21
|
var ToolbarRow = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n gap: 2px;\n flex-wrap: wrap;\n"])));
|
|
23
22
|
var ToolbarDivider = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n height: 20px;\n width: 0;\n border-left: 1px solid rgba(255, 255, 255, 0.3);\n margin: 0 4px;\n"])));
|
|
@@ -35,11 +34,11 @@ var ColorPresetSwatch = _styledComponents["default"].div(_templateObject9 || (_t
|
|
|
35
34
|
}, function (props) {
|
|
36
35
|
return props.$isSelected ? '#fff' : 'rgba(255,255,255,0.3)';
|
|
37
36
|
});
|
|
38
|
-
var CustomPickerWrapper = _styledComponents["default"].div(
|
|
39
|
-
var SingleColorPaletteWrapper = _styledComponents["default"].div(
|
|
37
|
+
var CustomPickerWrapper = _styledComponents["default"].div(_templateObject0 || (_templateObject0 = (0, _taggedTemplateLiteral2["default"])(["\n border-top: 1px solid rgba(255, 255, 255, 0.15);\n padding-top: 4px;\n margin-top: 2px;\n"])));
|
|
38
|
+
var SingleColorPaletteWrapper = _styledComponents["default"].div(_templateObject1 || (_templateObject1 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n top: 100%;\n left: 0;\n margin-top: 4px;\n z-index: 30;\n background: ", ";\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);\n border-radius: 6px;\n overflow: hidden;\n width: 220px;\n"])), function (props) {
|
|
40
39
|
return props.theme.panelBackground || 'rgba(30, 33, 40, 0.98)';
|
|
41
40
|
});
|
|
42
|
-
var ColorPickerWrapper = _styledComponents["default"].div(
|
|
41
|
+
var ColorPickerWrapper = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n"])));
|
|
43
42
|
var ColorPickerButton = function ColorPickerButton(_ref) {
|
|
44
43
|
var color = _ref.color,
|
|
45
44
|
presets = _ref.presets,
|
|
@@ -290,4 +289,4 @@ var LexicalToolbar = exports.LexicalToolbar = function LexicalToolbar(_ref2) {
|
|
|
290
289
|
title: "Insert Link"
|
|
291
290
|
}, "\uD83D\uDD17")));
|
|
292
291
|
};
|
|
293
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfTGV4aWNhbENvbXBvc2VyQ29udGV4dCIsIl9sZXhpY2FsQ29uc3RhbnRzIiwiX3VzZUxleGljYWxUb29sYmFyIiwiX3NpbmdsZUNvbG9yUGFsZXR0ZSIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX3RlbXBsYXRlT2JqZWN0NCIsIl90ZW1wbGF0ZU9iamVjdDUiLCJfdGVtcGxhdGVPYmplY3Q2IiwiX3RlbXBsYXRlT2JqZWN0NyIsIl90ZW1wbGF0ZU9iamVjdDgiLCJfdGVtcGxhdGVPYmplY3Q5IiwiX3RlbXBsYXRlT2JqZWN0MTAiLCJfdGVtcGxhdGVPYmplY3QxMSIsIl90ZW1wbGF0ZU9iamVjdDEyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiVG9vbGJhckNvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwiVG9vbGJhclJvdyIsIlRvb2xiYXJEaXZpZGVyIiwiVG9vbGJhclNlbGVjdCIsInNlbGVjdCIsIlRvb2xiYXJCdXR0b24iLCJidXR0b24iLCJwcm9wcyIsIiRhY3RpdmUiLCJDb2xvclN3YXRjaCIsIiRjb2xvciIsIkNvbG9yUGlja2VyUG9wb3ZlciIsIkNvbG9yUHJlc2V0Um93IiwiQ29sb3JQcmVzZXRTd2F0Y2giLCIkaXNTZWxlY3RlZCIsIkN1c3RvbVBpY2tlcldyYXBwZXIiLCJTaW5nbGVDb2xvclBhbGV0dGVXcmFwcGVyIiwidGhlbWUiLCJwYW5lbEJhY2tncm91bmQiLCJDb2xvclBpY2tlcldyYXBwZXIiLCJDb2xvclBpY2tlckJ1dHRvbiIsIl9yZWYiLCJjb2xvciIsInByZXNldHMiLCJ0aXRsZSIsImxhYmVsIiwicmVuZGVySWNvbiIsIm9uU2VsZWN0Q29sb3IiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJpc09wZW4iLCJzZXRJc09wZW4iLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInNob3dDdXN0b20iLCJzZXRTaG93Q3VzdG9tIiwid3JhcHBlclJlZiIsInVzZVJlZiIsInVzZUVmZmVjdCIsImhhbmRsZUNsaWNrT3V0c2lkZSIsImN1cnJlbnQiLCJjb250YWlucyIsInRhcmdldCIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVUb2dnbGUiLCJ1c2VDYWxsYmFjayIsInByZXYiLCJoYW5kbGVQcmVzZXRTZWxlY3QiLCJjIiwiaGFuZGxlQ3VzdG9tU2VsZWN0IiwiQXJyYXkiLCJpc0FycmF5IiwiaGV4IiwiY29uY2F0IiwibWFwIiwidiIsInRvU3RyaW5nIiwicGFkU3RhcnQiLCJqb2luIiwiY3JlYXRlRWxlbWVudCIsInJlZiIsIm9uQ2xpY2siLCJzdHlsZSIsImZvbnRTaXplIiwibWFyZ2luTGVmdCIsIm9uTW91c2VEb3duIiwicHJldmVudERlZmF1bHQiLCJwIiwia2V5IiwiYmFja2dyb3VuZCIsInVuZGVmaW5lZCIsInNlbGVjdGVkQ29sb3IiLCJGT05UX0NPTE9SX1BSRVNFVFMiLCJCR19DT0xPUl9QUkVTRVRTIiwiTGV4aWNhbFRvb2xiYXIiLCJleHBvcnRzIiwiX3JlZjIiLCJpc0VkaXRpbmdUZXh0IiwidGV4dFZlcnRpY2FsQWxpZ24iLCJvbkNoYW5nZVRleHRWZXJ0aWNhbEFsaWduIiwiX3VzZUxleGljYWxDb21wb3NlckNvIiwidXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCIsIl91c2VMZXhpY2FsQ29tcG9zZXJDbzIiLCJlZGl0b3IiLCJfdXNlTGV4aWNhbFRleHRTdHlsZSIsInVzZUxleGljYWxUZXh0U3R5bGUiLCJCb29sZWFuIiwiZm9udEZhbWlseSIsImZvbnRDb2xvciIsImJnQ29sb3IiLCJoYW5kbGVDaGFuZ2VTdHlsZSIsIl91c2VMZXhpY2FsVGV4dEZvcm1hdCIsInVzZUxleGljYWxUZXh0Rm9ybWF0IiwiaXNCb2xkIiwiaXNJdGFsaWMiLCJpc1VuZGVybGluZSIsImhhbmRsZVRvZ2dsZVRleHRGb3JtYXQiLCJfdXNlSW5zZXJ0TGV4aWNhbExpbmsiLCJ1c2VJbnNlcnRMZXhpY2FsTGluayIsImlzTGluayIsImluc2VydExpbmsiLCJjbGFzc05hbWUiLCJIVE1MU2VsZWN0RWxlbWVudCIsInZhbHVlIiwib25DaGFuZ2UiLCJtYXJnaW5SaWdodCIsIkZPTlRfRkFNSUxZX09QVElPTlMiLCJmIiwiRk9OVF9TSVpFX09QVElPTlMiLCJzIiwidmlld0JveCIsIndpZHRoIiwiaGVpZ2h0IiwiZmlsbCIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwieCIsInkiLCJyeCIsInN0cm9rZURhc2hhcnJheSIsIngxIiwieTEiLCJ4MiIsInkyIiwiZGlzYWJsZWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYW5ub3RhdGlvbnMvbGV4aWNhbC1lZGl0b3IvbGV4aWNhbC10b29sYmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHtGQywgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge3VzZUxleGljYWxDb21wb3NlckNvbnRleHR9IGZyb20gJ0BsZXhpY2FsL3JlYWN0L0xleGljYWxDb21wb3NlckNvbnRleHQnO1xuXG5pbXBvcnQge0ZPTlRfRkFNSUxZX09QVElPTlMsIEZPTlRfU0laRV9PUFRJT05TfSBmcm9tICcuL2xleGljYWwtY29uc3RhbnRzJztcbmltcG9ydCB7dXNlTGV4aWNhbFRleHRTdHlsZSwgdXNlTGV4aWNhbFRleHRGb3JtYXQsIHVzZUluc2VydExleGljYWxMaW5rfSBmcm9tICcuL3VzZS1sZXhpY2FsLXRvb2xiYXInO1xuaW1wb3J0IFNpbmdsZUNvbG9yUGFsZXR0ZSBmcm9tICcuLi8uLi9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL3NpbmdsZS1jb2xvci1wYWxldHRlJztcblxuZXhwb3J0IHR5cGUgTGV4aWNhbFRvb2xiYXJQcm9wcyA9IHtcbiAgaXNFZGl0aW5nVGV4dD86IGJvb2xlYW47XG4gIHRleHRWZXJ0aWNhbEFsaWduPzogJ3RvcCcgfCAnYm90dG9tJyB8ICdtaWRkbGUnO1xuICBvbkNoYW5nZVRleHRWZXJ0aWNhbEFsaWduPzogKHZhbHVlOiAndG9wJyB8ICdib3R0b20nIHwgJ21pZGRsZScpID0+IHZvaWQ7XG59O1xuXG5jb25zdCBUb29sYmFyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG4gIHBhZGRpbmc6IDRweCAwO1xuYDtcblxuY29uc3QgVG9vbGJhclJvdyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMnB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG5gO1xuXG5jb25zdCBUb29sYmFyRGl2aWRlciA9IHN0eWxlZC5kaXZgXG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICBtYXJnaW46IDAgNHB4O1xuYDtcblxuY29uc3QgVG9vbGJhclNlbGVjdCA9IHN0eWxlZC5zZWxlY3RgXG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBwYWRkaW5nOiAycHggNHB4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWF4LXdpZHRoOiA5MHB4O1xuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICB9XG5gO1xuXG5jb25zdCBUb29sYmFyQnV0dG9uID0gc3R5bGVkLmJ1dHRvbjx7JGFjdGl2ZT86IGJvb2xlYW59PmBcbiAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiAocHJvcHMuJGFjdGl2ZSA/ICdyZ2JhKDI1NSwyNTUsMjU1LDAuMiknIDogJ3RyYW5zcGFyZW50Jyl9O1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHBhZGRpbmc6IDNweCA2cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtaW4td2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIH1cbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC40O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgQ29sb3JTd2F0Y2ggPSBzdHlsZWQuZGl2PHskY29sb3I6IHN0cmluZ30+YFxuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuJGNvbG9yfTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuYDtcblxuY29uc3QgQ29sb3JQaWNrZXJQb3BvdmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgYmFja2dyb3VuZDogcmdiYSgzMCwgMzMsIDQwLCAwLjk4KTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBwYWRkaW5nOiA4cHg7XG4gIHotaW5kZXg6IDIwO1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG4gIG1pbi13aWR0aDogMTIwcHg7XG5gO1xuXG5jb25zdCBDb2xvclByZXNldFJvdyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICBwYWRkaW5nOiA0cHggNHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogI2ZmZjtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICB9XG5gO1xuXG5jb25zdCBDb2xvclByZXNldFN3YXRjaCA9IHN0eWxlZC5kaXY8eyRjb2xvcjogc3RyaW5nOyAkaXNTZWxlY3RlZD86IGJvb2xlYW59PmBcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLiRjb2xvcn07XG4gIGJvcmRlcjogMS41cHggc29saWQgJHtwcm9wcyA9PiAocHJvcHMuJGlzU2VsZWN0ZWQgPyAnI2ZmZicgOiAncmdiYSgyNTUsMjU1LDI1NSwwLjMpJyl9O1xuICBmbGV4LXNocmluazogMDtcbmA7XG5cbmNvbnN0IEN1c3RvbVBpY2tlcldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgcGFkZGluZy10b3A6IDRweDtcbiAgbWFyZ2luLXRvcDogMnB4O1xuYDtcblxuY29uc3QgU2luZ2xlQ29sb3JQYWxldHRlV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIHotaW5kZXg6IDMwO1xuICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZCB8fCAncmdiYSgzMCwgMzMsIDQwLCAwLjk4KSd9O1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMjIwcHg7XG5gO1xuXG50eXBlIENvbG9yUGlja2VyQnV0dG9uUHJvcHMgPSB7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIHByZXNldHM6IEFycmF5PHtjb2xvcjogc3RyaW5nOyBsYWJlbDogc3RyaW5nfT47XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xuICByZW5kZXJJY29uPzogKCkgPT4gUmVhY3QuUmVhY3ROb2RlO1xuICBvblNlbGVjdENvbG9yOiAoY29sb3I6IHN0cmluZykgPT4gdm9pZDtcbn07XG5cbmNvbnN0IENvbG9yUGlja2VyV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IENvbG9yUGlja2VyQnV0dG9uOiBGQzxDb2xvclBpY2tlckJ1dHRvblByb3BzPiA9ICh7Y29sb3IsIHByZXNldHMsIHRpdGxlLCBsYWJlbCwgcmVuZGVySWNvbiwgb25TZWxlY3RDb2xvcn0pID0+IHtcbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3Nob3dDdXN0b20sIHNldFNob3dDdXN0b21dID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCB3cmFwcGVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNPcGVuKSByZXR1cm47XG4gICAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGlmICh3cmFwcGVyUmVmLmN1cnJlbnQgJiYgIXdyYXBwZXJSZWYuY3VycmVudC5jb250YWlucyhlLnRhcmdldCBhcyBOb2RlKSkge1xuICAgICAgICBzZXRJc09wZW4oZmFsc2UpO1xuICAgICAgICBzZXRTaG93Q3VzdG9tKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgcmV0dXJuICgpID0+IGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gIH0sIFtpc09wZW5dKTtcblxuICBjb25zdCBoYW5kbGVUb2dnbGUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNPcGVuKHByZXYgPT4gIXByZXYpO1xuICAgIHNldFNob3dDdXN0b20oZmFsc2UpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgaGFuZGxlUHJlc2V0U2VsZWN0ID0gdXNlQ2FsbGJhY2soXG4gICAgKGM6IHN0cmluZykgPT4ge1xuICAgICAgb25TZWxlY3RDb2xvcihjKTtcbiAgICAgIHNldElzT3BlbihmYWxzZSk7XG4gICAgICBzZXRTaG93Q3VzdG9tKGZhbHNlKTtcbiAgICB9LFxuICAgIFtvblNlbGVjdENvbG9yXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZUN1c3RvbVNlbGVjdCA9IHVzZUNhbGxiYWNrKFxuICAgIChjb2xvcjogW251bWJlciwgbnVtYmVyLCBudW1iZXJdIHwge2NvbG9yczogc3RyaW5nW119KSA9PiB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShjb2xvcikpIHtcbiAgICAgICAgY29uc3QgaGV4ID0gYCMke2NvbG9yLm1hcCh2ID0+IHYudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsICcwJykpLmpvaW4oJycpfWA7XG4gICAgICAgIG9uU2VsZWN0Q29sb3IoaGV4KTtcbiAgICAgIH1cbiAgICAgIHNldElzT3BlbihmYWxzZSk7XG4gICAgICBzZXRTaG93Q3VzdG9tKGZhbHNlKTtcbiAgICB9LFxuICAgIFtvblNlbGVjdENvbG9yXVxuICApIGFzIChjb2xvcjogYW55LCBlPzogYW55KSA9PiB2b2lkO1xuXG4gIHJldHVybiAoXG4gICAgPENvbG9yUGlja2VyV3JhcHBlciByZWY9e3dyYXBwZXJSZWZ9PlxuICAgICAgPFRvb2xiYXJCdXR0b24gb25DbGljaz17aGFuZGxlVG9nZ2xlfSB0aXRsZT17dGl0bGV9PlxuICAgICAgICB7cmVuZGVySWNvbiA/IHJlbmRlckljb24oKSA6IDxzcGFuIHN0eWxlPXt7Zm9udFNpemU6ICcxMHB4J319PntsYWJlbH08L3NwYW4+fVxuICAgICAgICA8Q29sb3JTd2F0Y2ggJGNvbG9yPXtjb2xvciA9PT0gJ3RyYW5zcGFyZW50JyA/ICdyZ2JhKDI1NSwyNTUsMjU1LDAuMSknIDogY29sb3J9IHN0eWxlPXt7bWFyZ2luTGVmdDogNH19IC8+XG4gICAgICA8L1Rvb2xiYXJCdXR0b24+XG4gICAgICB7aXNPcGVuICYmICFzaG93Q3VzdG9tICYmIChcbiAgICAgICAgPENvbG9yUGlja2VyUG9wb3ZlciBvbk1vdXNlRG93bj17ZSA9PiBlLnByZXZlbnREZWZhdWx0KCl9PlxuICAgICAgICAgIHtwcmVzZXRzLm1hcChwID0+IChcbiAgICAgICAgICAgIDxDb2xvclByZXNldFJvdyBrZXk9e3AuY29sb3J9IG9uQ2xpY2s9eygpID0+IGhhbmRsZVByZXNldFNlbGVjdChwLmNvbG9yKX0+XG4gICAgICAgICAgICAgIDxDb2xvclByZXNldFN3YXRjaFxuICAgICAgICAgICAgICAgICRjb2xvcj17cC5jb2xvciA9PT0gJ3RyYW5zcGFyZW50JyA/ICdyZXBlYXRpbmctY29uaWMtZ3JhZGllbnQoIzgwODA4MCAwJSAyNSUsIHRyYW5zcGFyZW50IDAlIDUwJSkgNTAlIC8gOHB4IDhweCcgOiBwLmNvbG9yfVxuICAgICAgICAgICAgICAgICRpc1NlbGVjdGVkPXtjb2xvciA9PT0gcC5jb2xvcn1cbiAgICAgICAgICAgICAgICBzdHlsZT17cC5jb2xvciA9PT0gJ3RyYW5zcGFyZW50JyA/IHtiYWNrZ3JvdW5kOiAncmVwZWF0aW5nLWNvbmljLWdyYWRpZW50KCM2MDYwNjAgMCUgMjUlLCAjNDA0MDQwIDAlIDUwJSkgNTAlIC8gOHB4IDhweCd9IDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICB7cC5sYWJlbH1cbiAgICAgICAgICAgIDwvQ29sb3JQcmVzZXRSb3c+XG4gICAgICAgICAgKSl9XG4gICAgICAgICAgPEN1c3RvbVBpY2tlcldyYXBwZXI+XG4gICAgICAgICAgICA8Q29sb3JQcmVzZXRSb3cgb25DbGljaz17KCkgPT4gc2V0U2hvd0N1c3RvbSh0cnVlKX0+XG4gICAgICAgICAgICAgIDxDb2xvclByZXNldFN3YXRjaFxuICAgICAgICAgICAgICAgICRjb2xvcj1cImxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmMDAsICMwZjAsICMwMGYpXCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e2JhY2tncm91bmQ6ICdsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjQ0LCAjNGY0LCAjNDRmKSd9fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICBDdXN0b20uLi5cbiAgICAgICAgICAgIDwvQ29sb3JQcmVzZXRSb3c+XG4gICAgICAgICAgPC9DdXN0b21QaWNrZXJXcmFwcGVyPlxuICAgICAgICA8L0NvbG9yUGlja2VyUG9wb3Zlcj5cbiAgICAgICl9XG4gICAgICB7aXNPcGVuICYmIHNob3dDdXN0b20gJiYgKFxuICAgICAgICA8U2luZ2xlQ29sb3JQYWxldHRlV3JhcHBlciBvbk1vdXNlRG93bj17ZSA9PiBlLnByZXZlbnREZWZhdWx0KCl9PlxuICAgICAgICAgIDxTaW5nbGVDb2xvclBhbGV0dGVcbiAgICAgICAgICAgIHNlbGVjdGVkQ29sb3I9e2NvbG9yID09PSAndHJhbnNwYXJlbnQnID8gJyMwMDAwMDAnIDogY29sb3J9XG4gICAgICAgICAgICBvblNlbGVjdENvbG9yPXtoYW5kbGVDdXN0b21TZWxlY3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TaW5nbGVDb2xvclBhbGV0dGVXcmFwcGVyPlxuICAgICAgKX1cbiAgICA8L0NvbG9yUGlja2VyV3JhcHBlcj5cbiAgKTtcbn07XG5cbmNvbnN0IEZPTlRfQ09MT1JfUFJFU0VUUyA9IFtcbiAge2NvbG9yOiAnI0ZGRkZGRicsIGxhYmVsOiAnV2hpdGUnfSxcbiAge2NvbG9yOiAnIzAwMDAwMCcsIGxhYmVsOiAnQmxhY2snfVxuXTtcblxuY29uc3QgQkdfQ09MT1JfUFJFU0VUUyA9IFtcbiAge2NvbG9yOiAndHJhbnNwYXJlbnQnLCBsYWJlbDogJ05vIGZpbGwnfSxcbiAge2NvbG9yOiAnIzAwMDAwMCcsIGxhYmVsOiAnQmxhY2snfSxcbiAge2NvbG9yOiAnI0ZGRkZGRicsIGxhYmVsOiAnV2hpdGUnfVxuXTtcblxuZXhwb3J0IGNvbnN0IExleGljYWxUb29sYmFyOiBGQzxMZXhpY2FsVG9vbGJhclByb3BzPiA9ICh7XG4gIGlzRWRpdGluZ1RleHQsXG4gIHRleHRWZXJ0aWNhbEFsaWduLFxuICBvbkNoYW5nZVRleHRWZXJ0aWNhbEFsaWduXG59KSA9PiB7XG4gIGNvbnN0IFtlZGl0b3JdID0gdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCgpO1xuICBjb25zdCB7Zm9udFNpemUsIGZvbnRGYW1pbHksIGZvbnRDb2xvciwgYmdDb2xvciwgaGFuZGxlQ2hhbmdlU3R5bGV9ID1cbiAgICB1c2VMZXhpY2FsVGV4dFN0eWxlKHtcbiAgICAgIGVkaXRvcixcbiAgICAgIGlzRWRpdGluZ1RleHQ6IEJvb2xlYW4oaXNFZGl0aW5nVGV4dClcbiAgICB9KTtcbiAgY29uc3Qge2lzQm9sZCwgaXNJdGFsaWMsIGlzVW5kZXJsaW5lLCBoYW5kbGVUb2dnbGVUZXh0Rm9ybWF0fSA9IHVzZUxleGljYWxUZXh0Rm9ybWF0KHtcbiAgICBlZGl0b3IsXG4gICAgaXNFZGl0aW5nVGV4dDogQm9vbGVhbihpc0VkaXRpbmdUZXh0KVxuICB9KTtcbiAgY29uc3Qge2lzTGluaywgaW5zZXJ0TGlua30gPSB1c2VJbnNlcnRMZXhpY2FsTGluayh7XG4gICAgZWRpdG9yLFxuICAgIGlzRWRpdGluZ1RleHQ6IEJvb2xlYW4oaXNFZGl0aW5nVGV4dClcbiAgfSk7XG5cbiAgcmV0dXJuIChcbiAgICA8VG9vbGJhckNvbnRhaW5lciBjbGFzc05hbWU9XCJsZXhpY2FsLXRvb2xiYXJcIiBvbk1vdXNlRG93bj17ZSA9PiB7XG4gICAgICBpZiAoZS50YXJnZXQgaW5zdGFuY2VvZiBIVE1MU2VsZWN0RWxlbWVudCkgcmV0dXJuO1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH19PlxuICAgICAgPFRvb2xiYXJSb3c+XG4gICAgICAgIDxUb29sYmFyU2VsZWN0XG4gICAgICAgICAgdmFsdWU9e2ZvbnRGYW1pbHl9XG4gICAgICAgICAgb25DaGFuZ2U9e2UgPT4gaGFuZGxlQ2hhbmdlU3R5bGUoJ2ZvbnQtZmFtaWx5JywgZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgIHN0eWxlPXt7bWFyZ2luUmlnaHQ6IDJ9fVxuICAgICAgICA+XG4gICAgICAgICAge0ZPTlRfRkFNSUxZX09QVElPTlMubWFwKGYgPT4gKFxuICAgICAgICAgICAgPG9wdGlvbiBrZXk9e2Z9IHZhbHVlPXtmfT5cbiAgICAgICAgICAgICAge2Z9XG4gICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9Ub29sYmFyU2VsZWN0PlxuICAgICAgICA8VG9vbGJhclNlbGVjdFxuICAgICAgICAgIHZhbHVlPXtmb250U2l6ZX1cbiAgICAgICAgICBvbkNoYW5nZT17ZSA9PiBoYW5kbGVDaGFuZ2VTdHlsZSgnZm9udC1zaXplJywgZS50YXJnZXQudmFsdWUpfVxuICAgICAgICA+XG4gICAgICAgICAge0ZPTlRfU0laRV9PUFRJT05TLm1hcChzID0+IChcbiAgICAgICAgICAgIDxvcHRpb24ga2V5PXtzfSB2YWx1ZT17c30+XG4gICAgICAgICAgICAgIHtzfVxuICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvVG9vbGJhclNlbGVjdD5cbiAgICAgICAgPFRvb2xiYXJEaXZpZGVyIC8+XG4gICAgICAgIDxUb29sYmFyQnV0dG9uICRhY3RpdmU9e2lzQm9sZH0gb25DbGljaz17KCkgPT4gaGFuZGxlVG9nZ2xlVGV4dEZvcm1hdCgnYm9sZCcpfSB0aXRsZT1cIkJvbGRcIj5cbiAgICAgICAgICA8c3Ryb25nPkI8L3N0cm9uZz5cbiAgICAgICAgPC9Ub29sYmFyQnV0dG9uPlxuICAgICAgICA8VG9vbGJhckJ1dHRvblxuICAgICAgICAgICRhY3RpdmU9e2lzSXRhbGljfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVRvZ2dsZVRleHRGb3JtYXQoJ2l0YWxpYycpfVxuICAgICAgICAgIHRpdGxlPVwiSXRhbGljXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxlbT5JPC9lbT5cbiAgICAgICAgPC9Ub29sYmFyQnV0dG9uPlxuICAgICAgICA8VG9vbGJhckJ1dHRvblxuICAgICAgICAgICRhY3RpdmU9e2lzVW5kZXJsaW5lfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVRvZ2dsZVRleHRGb3JtYXQoJ3VuZGVybGluZScpfVxuICAgICAgICAgIHRpdGxlPVwiVW5kZXJsaW5lXCJcbiAgICAgICAgPlxuICAgICAgICAgIDx1PlU8L3U+XG4gICAgICAgIDwvVG9vbGJhckJ1dHRvbj5cbiAgICAgICAgPFRvb2xiYXJEaXZpZGVyIC8+XG4gICAgICAgIDxDb2xvclBpY2tlckJ1dHRvblxuICAgICAgICAgIGNvbG9yPXtmb250Q29sb3J9XG4gICAgICAgICAgcHJlc2V0cz17Rk9OVF9DT0xPUl9QUkVTRVRTfVxuICAgICAgICAgIHRpdGxlPVwiVGV4dCBDb2xvclwiXG4gICAgICAgICAgbGFiZWw9XCJBXCJcbiAgICAgICAgICBvblNlbGVjdENvbG9yPXtjID0+IGhhbmRsZUNoYW5nZVN0eWxlKCdjb2xvcicsIGMpfVxuICAgICAgICAvPlxuICAgICAgICA8Q29sb3JQaWNrZXJCdXR0b25cbiAgICAgICAgICBjb2xvcj17YmdDb2xvcn1cbiAgICAgICAgICBwcmVzZXRzPXtCR19DT0xPUl9QUkVTRVRTfVxuICAgICAgICAgIHRpdGxlPVwiQmFja2dyb3VuZCBDb2xvclwiXG4gICAgICAgICAgbGFiZWw9XCJcIlxuICAgICAgICAgIHJlbmRlckljb249eygpID0+IChcbiAgICAgICAgICAgIDxzdmcgdmlld0JveD1cIjAgMCAxNiAxNlwiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHN0eWxlPXt7ZmlsbDogJ25vbmUnLCBzdHJva2U6ICdjdXJyZW50Q29sb3InLCBzdHJva2VXaWR0aDogMS41fX0+XG4gICAgICAgICAgICAgIDxyZWN0IHg9XCIyXCIgeT1cIjJcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiByeD1cIjFcIiBzdHJva2VEYXNoYXJyYXk9XCIyIDEuNVwiIC8+XG4gICAgICAgICAgICAgIDxsaW5lIHgxPVwiNFwiIHkxPVwiMTRcIiB4Mj1cIjE0XCIgeTI9XCI0XCIgLz5cbiAgICAgICAgICAgICAgPGxpbmUgeDE9XCI0XCIgeTE9XCIxMFwiIHgyPVwiMTBcIiB5Mj1cIjRcIiAvPlxuICAgICAgICAgICAgICA8bGluZSB4MT1cIjRcIiB5MT1cIjZcIiB4Mj1cIjZcIiB5Mj1cIjRcIiAvPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgKX1cbiAgICAgICAgICBvblNlbGVjdENvbG9yPXtjID0+IGhhbmRsZUNoYW5nZVN0eWxlKCdiYWNrZ3JvdW5kLWNvbG9yJywgYyl9XG4gICAgICAgIC8+XG4gICAgICAgIDxUb29sYmFyRGl2aWRlciAvPlxuICAgICAgICA8VG9vbGJhckJ1dHRvblxuICAgICAgICAgICRhY3RpdmU9e2lzTGlua31cbiAgICAgICAgICBvbkNsaWNrPXtpbnNlcnRMaW5rfVxuICAgICAgICAgIGRpc2FibGVkPXshaXNFZGl0aW5nVGV4dH1cbiAgICAgICAgICB0aXRsZT1cIkluc2VydCBMaW5rXCJcbiAgICAgICAgPlxuICAgICAgICAgIPCflJdcbiAgICAgICAgPC9Ub29sYmFyQnV0dG9uPlxuICAgICAgPC9Ub29sYmFyUm93PlxuICAgIDwvVG9vbGJhckNvbnRhaW5lcj5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsdUJBQUEsR0FBQUgsT0FBQTtBQUVBLElBQUFJLGlCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxrQkFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sbUJBQUEsR0FBQUosc0JBQUEsQ0FBQUYsT0FBQTtBQUFtRixJQUFBTyxlQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFD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
|
|
292
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfTGV4aWNhbENvbXBvc2VyQ29udGV4dCIsIl9sZXhpY2FsQ29uc3RhbnRzIiwiX3VzZUxleGljYWxUb29sYmFyIiwiX3NpbmdsZUNvbG9yUGFsZXR0ZSIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX3RlbXBsYXRlT2JqZWN0NCIsIl90ZW1wbGF0ZU9iamVjdDUiLCJfdGVtcGxhdGVPYmplY3Q2IiwiX3RlbXBsYXRlT2JqZWN0NyIsIl90ZW1wbGF0ZU9iamVjdDgiLCJfdGVtcGxhdGVPYmplY3Q5IiwiX3RlbXBsYXRlT2JqZWN0MCIsIl90ZW1wbGF0ZU9iamVjdDEiLCJfdGVtcGxhdGVPYmplY3QxMCIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiVG9vbGJhckNvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwiVG9vbGJhclJvdyIsIlRvb2xiYXJEaXZpZGVyIiwiVG9vbGJhclNlbGVjdCIsInNlbGVjdCIsIlRvb2xiYXJCdXR0b24iLCJidXR0b24iLCJwcm9wcyIsIiRhY3RpdmUiLCJDb2xvclN3YXRjaCIsIiRjb2xvciIsIkNvbG9yUGlja2VyUG9wb3ZlciIsIkNvbG9yUHJlc2V0Um93IiwiQ29sb3JQcmVzZXRTd2F0Y2giLCIkaXNTZWxlY3RlZCIsIkN1c3RvbVBpY2tlcldyYXBwZXIiLCJTaW5nbGVDb2xvclBhbGV0dGVXcmFwcGVyIiwidGhlbWUiLCJwYW5lbEJhY2tncm91bmQiLCJDb2xvclBpY2tlcldyYXBwZXIiLCJDb2xvclBpY2tlckJ1dHRvbiIsIl9yZWYiLCJjb2xvciIsInByZXNldHMiLCJ0aXRsZSIsImxhYmVsIiwicmVuZGVySWNvbiIsIm9uU2VsZWN0Q29sb3IiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJpc09wZW4iLCJzZXRJc09wZW4iLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInNob3dDdXN0b20iLCJzZXRTaG93Q3VzdG9tIiwid3JhcHBlclJlZiIsInVzZVJlZiIsInVzZUVmZmVjdCIsImhhbmRsZUNsaWNrT3V0c2lkZSIsImN1cnJlbnQiLCJjb250YWlucyIsInRhcmdldCIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVUb2dnbGUiLCJ1c2VDYWxsYmFjayIsInByZXYiLCJoYW5kbGVQcmVzZXRTZWxlY3QiLCJjIiwiaGFuZGxlQ3VzdG9tU2VsZWN0IiwiQXJyYXkiLCJpc0FycmF5IiwiaGV4IiwiY29uY2F0IiwibWFwIiwidiIsInRvU3RyaW5nIiwicGFkU3RhcnQiLCJqb2luIiwiY3JlYXRlRWxlbWVudCIsInJlZiIsIm9uQ2xpY2siLCJzdHlsZSIsImZvbnRTaXplIiwibWFyZ2luTGVmdCIsIm9uTW91c2VEb3duIiwicHJldmVudERlZmF1bHQiLCJwIiwia2V5IiwiYmFja2dyb3VuZCIsInVuZGVmaW5lZCIsInNlbGVjdGVkQ29sb3IiLCJGT05UX0NPTE9SX1BSRVNFVFMiLCJCR19DT0xPUl9QUkVTRVRTIiwiTGV4aWNhbFRvb2xiYXIiLCJleHBvcnRzIiwiX3JlZjIiLCJpc0VkaXRpbmdUZXh0IiwidGV4dFZlcnRpY2FsQWxpZ24iLCJvbkNoYW5nZVRleHRWZXJ0aWNhbEFsaWduIiwiX3VzZUxleGljYWxDb21wb3NlckNvIiwidXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCIsIl91c2VMZXhpY2FsQ29tcG9zZXJDbzIiLCJlZGl0b3IiLCJfdXNlTGV4aWNhbFRleHRTdHlsZSIsInVzZUxleGljYWxUZXh0U3R5bGUiLCJCb29sZWFuIiwiZm9udEZhbWlseSIsImZvbnRDb2xvciIsImJnQ29sb3IiLCJoYW5kbGVDaGFuZ2VTdHlsZSIsIl91c2VMZXhpY2FsVGV4dEZvcm1hdCIsInVzZUxleGljYWxUZXh0Rm9ybWF0IiwiaXNCb2xkIiwiaXNJdGFsaWMiLCJpc1VuZGVybGluZSIsImhhbmRsZVRvZ2dsZVRleHRGb3JtYXQiLCJfdXNlSW5zZXJ0TGV4aWNhbExpbmsiLCJ1c2VJbnNlcnRMZXhpY2FsTGluayIsImlzTGluayIsImluc2VydExpbmsiLCJjbGFzc05hbWUiLCJIVE1MU2VsZWN0RWxlbWVudCIsInZhbHVlIiwib25DaGFuZ2UiLCJtYXJnaW5SaWdodCIsIkZPTlRfRkFNSUxZX09QVElPTlMiLCJGT05UX1NJWkVfT1BUSU9OUyIsInMiLCJ2aWV3Qm94Iiwid2lkdGgiLCJoZWlnaHQiLCJmaWxsIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJ4IiwieSIsInJ4Iiwic3Ryb2tlRGFzaGFycmF5IiwieDEiLCJ5MSIsIngyIiwieTIiLCJkaXNhYmxlZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hbm5vdGF0aW9ucy9sZXhpY2FsLWVkaXRvci9sZXhpY2FsLXRvb2xiYXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge0ZDLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7dXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dH0gZnJvbSAnQGxleGljYWwvcmVhY3QvTGV4aWNhbENvbXBvc2VyQ29udGV4dCc7XG5cbmltcG9ydCB7Rk9OVF9GQU1JTFlfT1BUSU9OUywgRk9OVF9TSVpFX09QVElPTlN9IGZyb20gJy4vbGV4aWNhbC1jb25zdGFudHMnO1xuaW1wb3J0IHt1c2VMZXhpY2FsVGV4dFN0eWxlLCB1c2VMZXhpY2FsVGV4dEZvcm1hdCwgdXNlSW5zZXJ0TGV4aWNhbExpbmt9IGZyb20gJy4vdXNlLWxleGljYWwtdG9vbGJhcic7XG5pbXBvcnQgU2luZ2xlQ29sb3JQYWxldHRlIGZyb20gJy4uLy4uL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvc2luZ2xlLWNvbG9yLXBhbGV0dGUnO1xuXG5leHBvcnQgdHlwZSBMZXhpY2FsVG9vbGJhclByb3BzID0ge1xuICBpc0VkaXRpbmdUZXh0PzogYm9vbGVhbjtcbiAgdGV4dFZlcnRpY2FsQWxpZ24/OiAndG9wJyB8ICdib3R0b20nIHwgJ21pZGRsZSc7XG4gIG9uQ2hhbmdlVGV4dFZlcnRpY2FsQWxpZ24/OiAodmFsdWU6ICd0b3AnIHwgJ2JvdHRvbScgfCAnbWlkZGxlJykgPT4gdm9pZDtcbn07XG5cbmNvbnN0IFRvb2xiYXJDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbiAgcGFkZGluZzogNHB4IDA7XG5gO1xuXG5jb25zdCBUb29sYmFyUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAycHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbmA7XG5cbmNvbnN0IFRvb2xiYXJEaXZpZGVyID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gIG1hcmdpbjogMCA0cHg7XG5gO1xuXG5jb25zdCBUb29sYmFyU2VsZWN0ID0gc3R5bGVkLnNlbGVjdGBcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXgtd2lkdGg6IDkwcHg7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIH1cbmA7XG5cbmNvbnN0IFRvb2xiYXJCdXR0b24gPSBzdHlsZWQuYnV0dG9uPHskYWN0aXZlPzogYm9vbGVhbn0+YFxuICBiYWNrZ3JvdW5kOiAke3Byb3BzID0+IChwcm9wcy4kYWN0aXZlID8gJ3JnYmEoMjU1LDI1NSwyNTUsMC4yKScgOiAndHJhbnNwYXJlbnQnKX07XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgcGFkZGluZzogM3B4IDZweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1pbi13aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgfVxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBDb2xvclN3YXRjaCA9IHN0eWxlZC5kaXY8eyRjb2xvcjogc3RyaW5nfT5gXG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy4kY29sb3J9O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG5gO1xuXG5jb25zdCBDb2xvclBpY2tlclBvcG92ZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogNHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDMwLCAzMywgNDAsIDAuOTgpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDhweDtcbiAgei1pbmRleDogMjA7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDRweDtcbiAgbWluLXdpZHRoOiAxMjBweDtcbmA7XG5cbmNvbnN0IENvbG9yUHJlc2V0Um93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gIHBhZGRpbmc6IDRweCA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDExcHg7XG4gIGNvbG9yOiAjZmZmO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIH1cbmA7XG5cbmNvbnN0IENvbG9yUHJlc2V0U3dhdGNoID0gc3R5bGVkLmRpdjx7JGNvbG9yOiBzdHJpbmc7ICRpc1NlbGVjdGVkPzogYm9vbGVhbn0+YFxuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMuJGNvbG9yfTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCAke3Byb3BzID0+IChwcm9wcy4kaXNTZWxlY3RlZCA/ICcjZmZmJyA6ICdyZ2JhKDI1NSwyNTUsMjU1LDAuMyknKX07XG4gIGZsZXgtc2hyaW5rOiAwO1xuYDtcblxuY29uc3QgQ3VzdG9tUGlja2VyV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICBwYWRkaW5nLXRvcDogNHB4O1xuICBtYXJnaW4tdG9wOiAycHg7XG5gO1xuXG5jb25zdCBTaW5nbGVDb2xvclBhbGV0dGVXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgei1pbmRleDogMzA7XG4gIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kIHx8ICdyZ2JhKDMwLCAzMywgNDAsIDAuOTgpJ307XG4gIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAyMjBweDtcbmA7XG5cbnR5cGUgQ29sb3JQaWNrZXJCdXR0b25Qcm9wcyA9IHtcbiAgY29sb3I6IHN0cmluZztcbiAgcHJlc2V0czogQXJyYXk8e2NvbG9yOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmd9PjtcbiAgdGl0bGU6IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIHJlbmRlckljb24/OiAoKSA9PiBSZWFjdC5SZWFjdE5vZGU7XG4gIG9uU2VsZWN0Q29sb3I6IChjb2xvcjogc3RyaW5nKSA9PiB2b2lkO1xufTtcblxuY29uc3QgQ29sb3JQaWNrZXJXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgQ29sb3JQaWNrZXJCdXR0b246IEZDPENvbG9yUGlja2VyQnV0dG9uUHJvcHM+ID0gKHtjb2xvciwgcHJlc2V0cywgdGl0bGUsIGxhYmVsLCByZW5kZXJJY29uLCBvblNlbGVjdENvbG9yfSkgPT4ge1xuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbc2hvd0N1c3RvbSwgc2V0U2hvd0N1c3RvbV0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IHdyYXBwZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc09wZW4pIHJldHVybjtcbiAgICBjb25zdCBoYW5kbGVDbGlja091dHNpZGUgPSAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgaWYgKHdyYXBwZXJSZWYuY3VycmVudCAmJiAhd3JhcHBlclJlZi5jdXJyZW50LmNvbnRhaW5zKGUudGFyZ2V0IGFzIE5vZGUpKSB7XG4gICAgICAgIHNldElzT3BlbihmYWxzZSk7XG4gICAgICAgIHNldFNob3dDdXN0b20oZmFsc2UpO1xuICAgICAgfVxuICAgIH07XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgICByZXR1cm4gKCkgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgfSwgW2lzT3Blbl0pO1xuXG4gIGNvbnN0IGhhbmRsZVRvZ2dsZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc09wZW4ocHJldiA9PiAhcHJldik7XG4gICAgc2V0U2hvd0N1c3RvbShmYWxzZSk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBoYW5kbGVQcmVzZXRTZWxlY3QgPSB1c2VDYWxsYmFjayhcbiAgICAoYzogc3RyaW5nKSA9PiB7XG4gICAgICBvblNlbGVjdENvbG9yKGMpO1xuICAgICAgc2V0SXNPcGVuKGZhbHNlKTtcbiAgICAgIHNldFNob3dDdXN0b20oZmFsc2UpO1xuICAgIH0sXG4gICAgW29uU2VsZWN0Q29sb3JdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlQ3VzdG9tU2VsZWN0ID0gdXNlQ2FsbGJhY2soXG4gICAgKGNvbG9yOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0gfCB7Y29sb3JzOiBzdHJpbmdbXX0pID0+IHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGNvbG9yKSkge1xuICAgICAgICBjb25zdCBoZXggPSBgIyR7Y29sb3IubWFwKHYgPT4gdi50b1N0cmluZygxNikucGFkU3RhcnQoMiwgJzAnKSkuam9pbignJyl9YDtcbiAgICAgICAgb25TZWxlY3RDb2xvcihoZXgpO1xuICAgICAgfVxuICAgICAgc2V0SXNPcGVuKGZhbHNlKTtcbiAgICAgIHNldFNob3dDdXN0b20oZmFsc2UpO1xuICAgIH0sXG4gICAgW29uU2VsZWN0Q29sb3JdXG4gICkgYXMgKGNvbG9yOiBhbnksIGU/OiBhbnkpID0+IHZvaWQ7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29sb3JQaWNrZXJXcmFwcGVyIHJlZj17d3JhcHBlclJlZn0+XG4gICAgICA8VG9vbGJhckJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVUb2dnbGV9IHRpdGxlPXt0aXRsZX0+XG4gICAgICAgIHtyZW5kZXJJY29uID8gcmVuZGVySWNvbigpIDogPHNwYW4gc3R5bGU9e3tmb250U2l6ZTogJzEwcHgnfX0+e2xhYmVsfTwvc3Bhbj59XG4gICAgICAgIDxDb2xvclN3YXRjaCAkY29sb3I9e2NvbG9yID09PSAndHJhbnNwYXJlbnQnID8gJ3JnYmEoMjU1LDI1NSwyNTUsMC4xKScgOiBjb2xvcn0gc3R5bGU9e3ttYXJnaW5MZWZ0OiA0fX0gLz5cbiAgICAgIDwvVG9vbGJhckJ1dHRvbj5cbiAgICAgIHtpc09wZW4gJiYgIXNob3dDdXN0b20gJiYgKFxuICAgICAgICA8Q29sb3JQaWNrZXJQb3BvdmVyIG9uTW91c2VEb3duPXtlID0+IGUucHJldmVudERlZmF1bHQoKX0+XG4gICAgICAgICAge3ByZXNldHMubWFwKHAgPT4gKFxuICAgICAgICAgICAgPENvbG9yUHJlc2V0Um93IGtleT17cC5jb2xvcn0gb25DbGljaz17KCkgPT4gaGFuZGxlUHJlc2V0U2VsZWN0KHAuY29sb3IpfT5cbiAgICAgICAgICAgICAgPENvbG9yUHJlc2V0U3dhdGNoXG4gICAgICAgICAgICAgICAgJGNvbG9yPXtwLmNvbG9yID09PSAndHJhbnNwYXJlbnQnID8gJ3JlcGVhdGluZy1jb25pYy1ncmFkaWVudCgjODA4MDgwIDAlIDI1JSwgdHJhbnNwYXJlbnQgMCUgNTAlKSA1MCUgLyA4cHggOHB4JyA6IHAuY29sb3J9XG4gICAgICAgICAgICAgICAgJGlzU2VsZWN0ZWQ9e2NvbG9yID09PSBwLmNvbG9yfVxuICAgICAgICAgICAgICAgIHN0eWxlPXtwLmNvbG9yID09PSAndHJhbnNwYXJlbnQnID8ge2JhY2tncm91bmQ6ICdyZXBlYXRpbmctY29uaWMtZ3JhZGllbnQoIzYwNjA2MCAwJSAyNSUsICM0MDQwNDAgMCUgNTAlKSA1MCUgLyA4cHggOHB4J30gOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtwLmxhYmVsfVxuICAgICAgICAgICAgPC9Db2xvclByZXNldFJvdz5cbiAgICAgICAgICApKX1cbiAgICAgICAgICA8Q3VzdG9tUGlja2VyV3JhcHBlcj5cbiAgICAgICAgICAgIDxDb2xvclByZXNldFJvdyBvbkNsaWNrPXsoKSA9PiBzZXRTaG93Q3VzdG9tKHRydWUpfT5cbiAgICAgICAgICAgICAgPENvbG9yUHJlc2V0U3dhdGNoXG4gICAgICAgICAgICAgICAgJGNvbG9yPVwibGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2YwMCwgIzBmMCwgIzAwZilcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7YmFja2dyb3VuZDogJ2xpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmNDQsICM0ZjQsICM0NGYpJ319XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIEN1c3RvbS4uLlxuICAgICAgICAgICAgPC9Db2xvclByZXNldFJvdz5cbiAgICAgICAgICA8L0N1c3RvbVBpY2tlcldyYXBwZXI+XG4gICAgICAgIDwvQ29sb3JQaWNrZXJQb3BvdmVyPlxuICAgICAgKX1cbiAgICAgIHtpc09wZW4gJiYgc2hvd0N1c3RvbSAmJiAoXG4gICAgICAgIDxTaW5nbGVDb2xvclBhbGV0dGVXcmFwcGVyIG9uTW91c2VEb3duPXtlID0+IGUucHJldmVudERlZmF1bHQoKX0+XG4gICAgICAgICAgPFNpbmdsZUNvbG9yUGFsZXR0ZVxuICAgICAgICAgICAgc2VsZWN0ZWRDb2xvcj17Y29sb3IgPT09ICd0cmFuc3BhcmVudCcgPyAnIzAwMDAwMCcgOiBjb2xvcn1cbiAgICAgICAgICAgIG9uU2VsZWN0Q29sb3I9e2hhbmRsZUN1c3RvbVNlbGVjdH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1NpbmdsZUNvbG9yUGFsZXR0ZVdyYXBwZXI+XG4gICAgICApfVxuICAgIDwvQ29sb3JQaWNrZXJXcmFwcGVyPlxuICApO1xufTtcblxuY29uc3QgRk9OVF9DT0xPUl9QUkVTRVRTID0gW1xuICB7Y29sb3I6ICcjRkZGRkZGJywgbGFiZWw6ICdXaGl0ZSd9LFxuICB7Y29sb3I6ICcjMDAwMDAwJywgbGFiZWw6ICdCbGFjayd9XG5dO1xuXG5jb25zdCBCR19DT0xPUl9QUkVTRVRTID0gW1xuICB7Y29sb3I6ICd0cmFuc3BhcmVudCcsIGxhYmVsOiAnTm8gZmlsbCd9LFxuICB7Y29sb3I6ICcjMDAwMDAwJywgbGFiZWw6ICdCbGFjayd9LFxuICB7Y29sb3I6ICcjRkZGRkZGJywgbGFiZWw6ICdXaGl0ZSd9XG5dO1xuXG5leHBvcnQgY29uc3QgTGV4aWNhbFRvb2xiYXI6IEZDPExleGljYWxUb29sYmFyUHJvcHM+ID0gKHtcbiAgaXNFZGl0aW5nVGV4dCxcbiAgdGV4dFZlcnRpY2FsQWxpZ24sXG4gIG9uQ2hhbmdlVGV4dFZlcnRpY2FsQWxpZ25cbn0pID0+IHtcbiAgY29uc3QgW2VkaXRvcl0gPSB1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0KCk7XG4gIGNvbnN0IHtmb250U2l6ZSwgZm9udEZhbWlseSwgZm9udENvbG9yLCBiZ0NvbG9yLCBoYW5kbGVDaGFuZ2VTdHlsZX0gPVxuICAgIHVzZUxleGljYWxUZXh0U3R5bGUoe1xuICAgICAgZWRpdG9yLFxuICAgICAgaXNFZGl0aW5nVGV4dDogQm9vbGVhbihpc0VkaXRpbmdUZXh0KVxuICAgIH0pO1xuICBjb25zdCB7aXNCb2xkLCBpc0l0YWxpYywgaXNVbmRlcmxpbmUsIGhhbmRsZVRvZ2dsZVRleHRGb3JtYXR9ID0gdXNlTGV4aWNhbFRleHRGb3JtYXQoe1xuICAgIGVkaXRvcixcbiAgICBpc0VkaXRpbmdUZXh0OiBCb29sZWFuKGlzRWRpdGluZ1RleHQpXG4gIH0pO1xuICBjb25zdCB7aXNMaW5rLCBpbnNlcnRMaW5rfSA9IHVzZUluc2VydExleGljYWxMaW5rKHtcbiAgICBlZGl0b3IsXG4gICAgaXNFZGl0aW5nVGV4dDogQm9vbGVhbihpc0VkaXRpbmdUZXh0KVxuICB9KTtcblxuICByZXR1cm4gKFxuICAgIDxUb29sYmFyQ29udGFpbmVyIGNsYXNzTmFtZT1cImxleGljYWwtdG9vbGJhclwiIG9uTW91c2VEb3duPXtlID0+IHtcbiAgICAgIGlmIChlLnRhcmdldCBpbnN0YW5jZW9mIEhUTUxTZWxlY3RFbGVtZW50KSByZXR1cm47XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgfX0+XG4gICAgICA8VG9vbGJhclJvdz5cbiAgICAgICAgPFRvb2xiYXJTZWxlY3RcbiAgICAgICAgICB2YWx1ZT17Zm9udEZhbWlseX1cbiAgICAgICAgICBvbkNoYW5nZT17ZSA9PiBoYW5kbGVDaGFuZ2VTdHlsZSgnZm9udC1mYW1pbHknLCBlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgc3R5bGU9e3ttYXJnaW5SaWdodDogMn19XG4gICAgICAgID5cbiAgICAgICAgICB7Rk9OVF9GQU1JTFlfT1BUSU9OUy5tYXAoZiA9PiAoXG4gICAgICAgICAgICA8b3B0aW9uIGtleT17Zn0gdmFsdWU9e2Z9PlxuICAgICAgICAgICAgICB7Zn1cbiAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L1Rvb2xiYXJTZWxlY3Q+XG4gICAgICAgIDxUb29sYmFyU2VsZWN0XG4gICAgICAgICAgdmFsdWU9e2ZvbnRTaXplfVxuICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IGhhbmRsZUNoYW5nZVN0eWxlKCdmb250LXNpemUnLCBlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgID5cbiAgICAgICAgICB7Rk9OVF9TSVpFX09QVElPTlMubWFwKHMgPT4gKFxuICAgICAgICAgICAgPG9wdGlvbiBrZXk9e3N9IHZhbHVlPXtzfT5cbiAgICAgICAgICAgICAge3N9XG4gICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9Ub29sYmFyU2VsZWN0PlxuICAgICAgICA8VG9vbGJhckRpdmlkZXIgLz5cbiAgICAgICAgPFRvb2xiYXJCdXR0b24gJGFjdGl2ZT17aXNCb2xkfSBvbkNsaWNrPXsoKSA9PiBoYW5kbGVUb2dnbGVUZXh0Rm9ybWF0KCdib2xkJyl9IHRpdGxlPVwiQm9sZFwiPlxuICAgICAgICAgIDxzdHJvbmc+Qjwvc3Ryb25nPlxuICAgICAgICA8L1Rvb2xiYXJCdXR0b24+XG4gICAgICAgIDxUb29sYmFyQnV0dG9uXG4gICAgICAgICAgJGFjdGl2ZT17aXNJdGFsaWN9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlVG9nZ2xlVGV4dEZvcm1hdCgnaXRhbGljJyl9XG4gICAgICAgICAgdGl0bGU9XCJJdGFsaWNcIlxuICAgICAgICA+XG4gICAgICAgICAgPGVtPkk8L2VtPlxuICAgICAgICA8L1Rvb2xiYXJCdXR0b24+XG4gICAgICAgIDxUb29sYmFyQnV0dG9uXG4gICAgICAgICAgJGFjdGl2ZT17aXNVbmRlcmxpbmV9XG4gICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlVG9nZ2xlVGV4dEZvcm1hdCgndW5kZXJsaW5lJyl9XG4gICAgICAgICAgdGl0bGU9XCJVbmRlcmxpbmVcIlxuICAgICAgICA+XG4gICAgICAgICAgPHU+VTwvdT5cbiAgICAgICAgPC9Ub29sYmFyQnV0dG9uPlxuICAgICAgICA8VG9vbGJhckRpdmlkZXIgLz5cbiAgICAgICAgPENvbG9yUGlja2VyQnV0dG9uXG4gICAgICAgICAgY29sb3I9e2ZvbnRDb2xvcn1cbiAgICAgICAgICBwcmVzZXRzPXtGT05UX0NPTE9SX1BSRVNFVFN9XG4gICAgICAgICAgdGl0bGU9XCJUZXh0IENvbG9yXCJcbiAgICAgICAgICBsYWJlbD1cIkFcIlxuICAgICAgICAgIG9uU2VsZWN0Q29sb3I9e2MgPT4gaGFuZGxlQ2hhbmdlU3R5bGUoJ2NvbG9yJywgYyl9XG4gICAgICAgIC8+XG4gICAgICAgIDxDb2xvclBpY2tlckJ1dHRvblxuICAgICAgICAgIGNvbG9yPXtiZ0NvbG9yfVxuICAgICAgICAgIHByZXNldHM9e0JHX0NPTE9SX1BSRVNFVFN9XG4gICAgICAgICAgdGl0bGU9XCJCYWNrZ3JvdW5kIENvbG9yXCJcbiAgICAgICAgICBsYWJlbD1cIlwiXG4gICAgICAgICAgcmVuZGVySWNvbj17KCkgPT4gKFxuICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgc3R5bGU9e3tmaWxsOiAnbm9uZScsIHN0cm9rZTogJ2N1cnJlbnRDb2xvcicsIHN0cm9rZVdpZHRoOiAxLjV9fT5cbiAgICAgICAgICAgICAgPHJlY3QgeD1cIjJcIiB5PVwiMlwiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHJ4PVwiMVwiIHN0cm9rZURhc2hhcnJheT1cIjIgMS41XCIgLz5cbiAgICAgICAgICAgICAgPGxpbmUgeDE9XCI0XCIgeTE9XCIxNFwiIHgyPVwiMTRcIiB5Mj1cIjRcIiAvPlxuICAgICAgICAgICAgICA8bGluZSB4MT1cIjRcIiB5MT1cIjEwXCIgeDI9XCIxMFwiIHkyPVwiNFwiIC8+XG4gICAgICAgICAgICAgIDxsaW5lIHgxPVwiNFwiIHkxPVwiNlwiIHgyPVwiNlwiIHkyPVwiNFwiIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICApfVxuICAgICAgICAgIG9uU2VsZWN0Q29sb3I9e2MgPT4gaGFuZGxlQ2hhbmdlU3R5bGUoJ2JhY2tncm91bmQtY29sb3InLCBjKX1cbiAgICAgICAgLz5cbiAgICAgICAgPFRvb2xiYXJEaXZpZGVyIC8+XG4gICAgICAgIDxUb29sYmFyQnV0dG9uXG4gICAgICAgICAgJGFjdGl2ZT17aXNMaW5rfVxuICAgICAgICAgIG9uQ2xpY2s9e2luc2VydExpbmt9XG4gICAgICAgICAgZGlzYWJsZWQ9eyFpc0VkaXRpbmdUZXh0fVxuICAgICAgICAgIHRpdGxlPVwiSW5zZXJ0IExpbmtcIlxuICAgICAgICA+XG4gICAgICAgICAg8J+Ul1xuICAgICAgICA8L1Rvb2xiYXJCdXR0b24+XG4gICAgICA8L1Rvb2xiYXJSb3c+XG4gICAgPC9Ub29sYmFyQ29udGFpbmVyPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyx1QkFBQSxHQUFBSCxPQUFBO0FBRUEsSUFBQUksaUJBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGtCQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxtQkFBQSxHQUFBSixzQkFBQSxDQUFBRixPQUFBO0FBQW1GLElBQUFPLGVBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JB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RXNELGdCQUFpQjtJQUMxQnJELEtBQUssRUFBQyxrQkFBa0I7SUFDeEJDLEtBQUssRUFBQyxFQUFFO0lBQ1JDLFVBQVUsRUFBRSxTQUFaQSxVQUFVQSxDQUFBO01BQUEsb0JBQ1J0RSxNQUFBLFlBQUEyRyxhQUFBO1FBQUtrRCxPQUFPLEVBQUMsV0FBVztRQUFDQyxLQUFLLEVBQUMsSUFBSTtRQUFDQyxNQUFNLEVBQUMsSUFBSTtRQUFDakQsS0FBSyxFQUFFO1VBQUNrRCxJQUFJLEVBQUUsTUFBTTtVQUFFQyxNQUFNLEVBQUUsY0FBYztVQUFFQyxXQUFXLEVBQUU7UUFBRztNQUFFLGdCQUM5R2xLLE1BQUEsWUFBQTJHLGFBQUE7UUFBTXdELENBQUMsRUFBQyxHQUFHO1FBQUNDLENBQUMsRUFBQyxHQUFHO1FBQUNOLEtBQUssRUFBQyxJQUFJO1FBQUNDLE1BQU0sRUFBQyxJQUFJO1FBQUNNLEVBQUUsRUFBQyxHQUFHO1FBQUNDLGVBQWUsRUFBQztNQUFPLENBQUUsQ0FBQyxlQUMxRXRLLE1BQUEsWUFBQTJHLGFBQUE7UUFBTTRELEVBQUUsRUFBQyxHQUFHO1FBQUNDLEVBQUUsRUFBQyxJQUFJO1FBQUNDLEVBQUUsRUFBQyxJQUFJO1FBQUNDLEVBQUUsRUFBQztNQUFHLENBQUUsQ0FBQyxlQUN0QzFLLE1BQUEsWUFBQTJHLGFBQUE7UUFBTTRELEVBQUUsRUFBQyxHQUFHO1FBQUNDLEVBQUUsRUFBQyxJQUFJO1FBQUNDLEVBQUUsRUFBQyxJQUFJO1FBQUNDLEVBQUUsRUFBQztNQUFHLENBQUUsQ0FBQyxlQUN0QzFLLE1BQUEsWUFBQTJHLGFBQUE7UUFBTTRELEVBQUUsRUFBQyxHQUFHO1FBQUNDLEVBQUUsRUFBQyxHQUFHO1FBQUNDLEVBQUUsRUFBQyxHQUFHO1FBQUNDLEVBQUUsRUFBQztNQUFHLENBQUUsQ0FDaEMsQ0FBQztJQUFBLENBQ047SUFDRm5HLGFBQWEsRUFBRSxTQUFmQSxhQUFhQSxDQUFFeUIsQ0FBQztNQUFBLE9BQUkwQyxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRTFDLENBQUMsQ0FBQztJQUFBO0VBQUMsQ0FDOUQsQ0FBQyxlQUNGaEcsTUFBQSxZQUFBMkcsYUFBQSxDQUFDN0QsY0FBYyxNQUFFLENBQUMsZUFDbEI5QyxNQUFBLFlBQUEyRyxhQUFBLENBQUMxRCxhQUFhO0lBQ1pHLE9BQU8sRUFBRStGLE1BQU87SUFDaEJ0QyxPQUFPLEVBQUV1QyxVQUFXO0lBQ3BCdUIsUUFBUSxFQUFFLENBQUM5QyxhQUFjO0lBQ3pCekQsS0FBSyxFQUFDO0VBQWEsR0FDcEIsY0FFYyxDQUNMLENBQ0ksQ0FBQztBQUV2QixDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -100,17 +100,17 @@ var useLexicalTextStyle = exports.useLexicalTextStyle = function useLexicalTextS
|
|
|
100
100
|
fontSize = _useState8[0],
|
|
101
101
|
setFontSize = _useState8[1];
|
|
102
102
|
var _useState9 = (0, _react.useState)(defaultValues.fontColor),
|
|
103
|
-
|
|
104
|
-
fontColor =
|
|
105
|
-
setFontColor =
|
|
106
|
-
var
|
|
103
|
+
_useState0 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
104
|
+
fontColor = _useState0[0],
|
|
105
|
+
setFontColor = _useState0[1];
|
|
106
|
+
var _useState1 = (0, _react.useState)(defaultValues.bgColor),
|
|
107
|
+
_useState10 = (0, _slicedToArray2["default"])(_useState1, 2),
|
|
108
|
+
bgColor = _useState10[0],
|
|
109
|
+
setBgColor = _useState10[1];
|
|
110
|
+
var _useState11 = (0, _react.useState)(defaultValues.fontFamily),
|
|
107
111
|
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
var _useState13 = (0, _react.useState)(defaultValues.fontFamily),
|
|
111
|
-
_useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
|
|
112
|
-
fontFamily = _useState14[0],
|
|
113
|
-
setFontFamily = _useState14[1];
|
|
112
|
+
fontFamily = _useState12[0],
|
|
113
|
+
setFontFamily = _useState12[1];
|
|
114
114
|
var updateTextStyle = (0, _react.useCallback)(function () {
|
|
115
115
|
var selection = (0, _lexical.$getSelection)();
|
|
116
116
|
if ((0, _lexical.$isRangeSelection)(selection)) {
|
|
@@ -192,10 +192,10 @@ var useLexicalTextStyle = exports.useLexicalTextStyle = function useLexicalTextS
|
|
|
192
192
|
var useInsertLexicalLink = exports.useInsertLexicalLink = function useInsertLexicalLink(_ref5) {
|
|
193
193
|
var isEditingText = _ref5.isEditingText,
|
|
194
194
|
editor = _ref5.editor;
|
|
195
|
-
var
|
|
196
|
-
|
|
197
|
-
isLink =
|
|
198
|
-
setIsLink =
|
|
195
|
+
var _useState13 = (0, _react.useState)(false),
|
|
196
|
+
_useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
|
|
197
|
+
isLink = _useState14[0],
|
|
198
|
+
setIsLink = _useState14[1];
|
|
199
199
|
var updateLink = (0, _react.useCallback)(function () {
|
|
200
200
|
var selection = (0, _lexical.$getSelection)();
|
|
201
201
|
if ((0, _lexical.$isRangeSelection)(selection)) {
|
|
@@ -250,4 +250,4 @@ var useInsertLexicalLink = exports.useInsertLexicalLink = function useInsertLexi
|
|
|
250
250
|
insertLink: insertLink
|
|
251
251
|
};
|
|
252
252
|
};
|
|
253
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGluayIsInJlcXVpcmUiLCJfc2VsZWN0aW9uIiwiX3V0aWxzIiwiX2xleGljYWwiLCJfcmVhY3QiLCJfbGV4aWNhbENvbnN0YW50cyIsIl9sZXhpY2FsVXRpbHMiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsInVzZUxleGljYWxUZXh0Rm9ybWF0IiwiZXhwb3J0cyIsIl9yZWYiLCJpc0VkaXRpbmdUZXh0IiwiZWRpdG9yIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiaXNCb2xkIiwic2V0SXNCb2xkIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJpc0l0YWxpYyIsInNldElzSXRhbGljIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc1VuZGVybGluZSIsInNldElzVW5kZXJsaW5lIiwidXBkYXRlVGV4dEZvcm1hdCIsInVzZUNhbGxiYWNrIiwic2VsZWN0aW9uIiwiJGdldFNlbGVjdGlvbiIsIiRpc1JhbmdlU2VsZWN0aW9uIiwiaGFzRm9ybWF0IiwidXNlRWZmZWN0IiwibWVyZ2VSZWdpc3RlciIsInJlZ2lzdGVyVXBkYXRlTGlzdGVuZXIiLCJfcmVmMiIsImVkaXRvclN0YXRlIiwicmVhZCIsInJlZ2lzdGVyQ29tbWFuZCIsIlNFTEVDVElPTl9DSEFOR0VfQ09NTUFORCIsIkxPV19QUklPUklUWV9DT01NQU5EIiwiaGFuZGxlVG9nZ2xlVGV4dEZvcm1hdCIsImZvcm1hdCIsIndhc0VkaXRhYmxlIiwiaXNFZGl0YWJsZSIsInNldEVkaXRhYmxlIiwidXBkYXRlIiwiaXNDb2xsYXBzZWQiLCJyb290IiwiJGdldFJvb3QiLCJuZXdTZWxlY3Rpb24iLCIkY3JlYXRlUmFuZ2VTZWxlY3Rpb24iLCJmb2N1cyIsInNldCIsImdldEtleSIsImFuY2hvciIsImdldENoaWxkcmVuU2l6ZSIsIiRzZXRTZWxlY3Rpb24iLCJmb3JtYXRUZXh0Iiwic2V0VGltZW91dCIsInVzZUxleGljYWxUZXh0U3R5bGUiLCJfcmVmMyIsImRlZmF1bHRTZXR0aW5ncyIsImRlZmF1bHRWYWx1ZXMiLCJ1c2VNZW1vIiwiZm9udFNpemUiLCJERUZBVUxUX0ZPTlRfU0laRSIsImZvbnRDb2xvciIsIkRFRkFVTFRfRk9OVF9DT0xPUiIsImJnQ29sb3IiLCJERUZBVUxUX0JHX0NPTE9SIiwiZm9udEZhbWlseSIsIkRFRkFVTFRfRk9OVF9GQU1JTFkiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNldEZvbnRTaXplIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTEwIiwic2V0Rm9udENvbG9yIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsInNldEJnQ29sb3IiLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0Iiwic2V0Rm9udEZhbWlseSIsInVwZGF0ZVRleHRTdHlsZSIsIiRnZXRTZWxlY3Rpb25TdHlsZVZhbHVlRm9yUHJvcGVydHkiLCJfcmVmNCIsImhhbmRsZUNoYW5nZVN0eWxlIiwic3R5bGUiLCJvcHRpb24iLCIkcGF0Y2hTdHlsZVRleHQiLCJvblVwZGF0ZSIsImhhbmRsZUFsaWduSG9yaXpvbnRhbCIsImFsaWdubWVudCIsImRpc3BhdGNoQ29tbWFuZCIsIkZPUk1BVF9FTEVNRU5UX0NPTU1BTkQiLCJ1c2VJbnNlcnRMZXhpY2FsTGluayIsIl9yZWY1IiwiX3VzZVN0YXRlMTUiLCJfdXNlU3RhdGUxNiIsImlzTGluayIsInNldElzTGluayIsInVwZGF0ZUxpbmsiLCJub2RlIiwiZ2V0U2VsZWN0ZWROb2RlIiwicGFyZW50IiwiZ2V0UGFyZW50IiwiJGlzTGlua05vZGUiLCJfcmVmNiIsImluc2VydExpbmsiLCJUT0dHTEVfTElOS19DT01NQU5EIiwiREVGQVVMVF9MSU5LX05PREVfUFJPUFMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYW5ub3RhdGlvbnMvbGV4aWNhbC1lZGl0b3IvdXNlLWxleGljYWwtdG9vbGJhci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgeyRpc0xpbmtOb2RlLCBUT0dHTEVfTElOS19DT01NQU5EfSBmcm9tICdAbGV4aWNhbC9saW5rJztcbmltcG9ydCB7JGdldFNlbGVjdGlvblN0eWxlVmFsdWVGb3JQcm9wZXJ0eSwgJHBhdGNoU3R5bGVUZXh0fSBmcm9tICdAbGV4aWNhbC9zZWxlY3Rpb24nO1xuaW1wb3J0IHttZXJnZVJlZ2lzdGVyfSBmcm9tICdAbGV4aWNhbC91dGlscyc7XG5pbXBvcnQge1xuICAkZ2V0U2VsZWN0aW9uLFxuICAkaXNSYW5nZVNlbGVjdGlvbixcbiAgRk9STUFUX0VMRU1FTlRfQ09NTUFORCxcbiAgU0VMRUNUSU9OX0NIQU5HRV9DT01NQU5ELFxuICBUZXh0Rm9ybWF0VHlwZSxcbiAgJGNyZWF0ZVJhbmdlU2VsZWN0aW9uLFxuICAkZ2V0Um9vdCxcbiAgJHNldFNlbGVjdGlvbixcbiAgTGV4aWNhbEVkaXRvclxufSBmcm9tICdsZXhpY2FsJztcbmltcG9ydCB7dXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGV9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHtcbiAgREVGQVVMVF9CR19DT0xPUixcbiAgREVGQVVMVF9GT05UX0ZBTUlMWSxcbiAgREVGQVVMVF9GT05UX1NJWkUsXG4gIERFRkFVTFRfRk9OVF9DT0xPUixcbiAgREVGQVVMVF9MSU5LX05PREVfUFJPUFMsXG4gIExPV19QUklPUklUWV9DT01NQU5EXG59IGZyb20gJy4vbGV4aWNhbC1jb25zdGFudHMnO1xuaW1wb3J0IHtnZXRTZWxlY3RlZE5vZGV9IGZyb20gJy4vbGV4aWNhbC11dGlscyc7XG5cbnR5cGUgVXNlTGV4aWNhbFRvb2xiYXJQcm9wcyA9IHtcbiAgaXNFZGl0aW5nVGV4dD86IGJvb2xlYW47XG4gIGVkaXRvcjogTGV4aWNhbEVkaXRvcjtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZUxleGljYWxUZXh0Rm9ybWF0UmV0dXJuID0ge1xuICBpc0JvbGQ6IGJvb2xlYW47XG4gIGlzSXRhbGljOiBib29sZWFuO1xuICBpc1VuZGVybGluZTogYm9vbGVhbjtcbiAgaGFuZGxlVG9nZ2xlVGV4dEZvcm1hdDogKGZvcm1hdDogc3RyaW5nKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZUxleGljYWxUZXh0Rm9ybWF0ID0gKHtcbiAgaXNFZGl0aW5nVGV4dCxcbiAgZWRpdG9yXG59OiBVc2VMZXhpY2FsVG9vbGJhclByb3BzKTogVXNlTGV4aWNhbFRleHRGb3JtYXRSZXR1cm4gPT4ge1xuICBjb25zdCBbaXNCb2xkLCBzZXRJc0JvbGRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbaXNJdGFsaWMsIHNldElzSXRhbGljXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2lzVW5kZXJsaW5lLCBzZXRJc1VuZGVybGluZV0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgY29uc3QgdXBkYXRlVGV4dEZvcm1hdCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSAkZ2V0U2VsZWN0aW9uKCk7XG4gICAgaWYgKCRpc1JhbmdlU2VsZWN0aW9uKHNlbGVjdGlvbikpIHtcbiAgICAgIHNldElzQm9sZChzZWxlY3Rpb24uaGFzRm9ybWF0KCdib2xkJykpO1xuICAgICAgc2V0SXNJdGFsaWMoc2VsZWN0aW9uLmhhc0Zvcm1hdCgnaXRhbGljJykpO1xuICAgICAgc2V0SXNVbmRlcmxpbmUoc2VsZWN0aW9uLmhhc0Zvcm1hdCgndW5kZXJsaW5lJykpO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuIG1lcmdlUmVnaXN0ZXIoXG4gICAgICBlZGl0b3IucmVnaXN0ZXJVcGRhdGVMaXN0ZW5lcigoe2VkaXRvclN0YXRlfSkgPT4ge1xuICAgICAgICBlZGl0b3JTdGF0ZS5yZWFkKCgpID0+IHtcbiAgICAgICAgICB1cGRhdGVUZXh0Rm9ybWF0KCk7XG4gICAgICAgIH0pO1xuICAgICAgfSksXG4gICAgICBlZGl0b3IucmVnaXN0ZXJDb21tYW5kKFxuICAgICAgICBTRUxFQ1RJT05fQ0hBTkdFX0NPTU1BTkQsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB1cGRhdGVUZXh0Rm9ybWF0KCk7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgICBMT1dfUFJJT1JJVFlfQ09NTUFORFxuICAgICAgKVxuICAgICk7XG4gIH0sIFtlZGl0b3IsIHVwZGF0ZVRleHRGb3JtYXRdKTtcblxuICBjb25zdCBoYW5kbGVUb2dnbGVUZXh0Rm9ybWF0ID0gdXNlQ2FsbGJhY2soXG4gICAgKGZvcm1hdDogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCB3YXNFZGl0YWJsZSA9IGVkaXRvci5pc0VkaXRhYmxlKCk7XG4gICAgICBpZiAoIXdhc0VkaXRhYmxlKSB7XG4gICAgICAgIGVkaXRvci5zZXRFZGl0YWJsZSh0cnVlKTtcbiAgICAgIH1cbiAgICAgIGVkaXRvci51cGRhdGUoKCkgPT4ge1xuICAgICAgICBsZXQgc2VsZWN0aW9uID0gJGdldFNlbGVjdGlvbigpO1xuICAgICAgICBpZiAoISRpc1JhbmdlU2VsZWN0aW9uKHNlbGVjdGlvbikgfHwgc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCkpIHtcbiAgICAgICAgICBjb25zdCByb290ID0gJGdldFJvb3QoKTtcbiAgICAgICAgICBjb25zdCBuZXdTZWxlY3Rpb24gPSAkY3JlYXRlUmFuZ2VTZWxlY3Rpb24oKTtcbiAgICAgICAgICBuZXdTZWxlY3Rpb24uZm9jdXMuc2V0KHJvb3QuZ2V0S2V5KCksIDAsICdlbGVtZW50Jyk7XG4gICAgICAgICAgbmV3U2VsZWN0aW9uLmFuY2hvci5zZXQocm9vdC5nZXRLZXkoKSwgcm9vdC5nZXRDaGlsZHJlblNpemUoKSwgJ2VsZW1lbnQnKTtcbiAgICAgICAgICAkc2V0U2VsZWN0aW9uKG5ld1NlbGVjdGlvbik7XG4gICAgICAgICAgc2VsZWN0aW9uID0gJGdldFNlbGVjdGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICgkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pKSB7XG4gICAgICAgICAgc2VsZWN0aW9uLmZvcm1hdFRleHQoZm9ybWF0IGFzIFRleHRGb3JtYXRUeXBlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpZiAoIXdhc0VkaXRhYmxlKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gZWRpdG9yLnNldEVkaXRhYmxlKGZhbHNlKSwgMCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbZWRpdG9yXVxuICApO1xuICByZXR1cm4ge2lzQm9sZCwgaXNJdGFsaWMsIGlzVW5kZXJsaW5lLCBoYW5kbGVUb2dnbGVUZXh0Rm9ybWF0fTtcbn07XG5cbmV4cG9ydCB0eXBlIFVzZUxleGljYWxUZXh0U3R5bGVSZXR1cm4gPSB7XG4gIGZvbnRTaXplOiBzdHJpbmc7XG4gIGZvbnRDb2xvcjogc3RyaW5nO1xuICBiZ0NvbG9yOiBzdHJpbmc7XG4gIGZvbnRGYW1pbHk6IHN0cmluZztcbiAgaGFuZGxlQ2hhbmdlU3R5bGU6IChzdHlsZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xuICBoYW5kbGVBbGlnbkhvcml6b250YWw6IChhbGlnbm1lbnQ6ICdsZWZ0JyB8ICdyaWdodCcgfCAnY2VudGVyJyB8ICdqdXN0aWZ5JykgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VMZXhpY2FsVGV4dFN0eWxlID0gKHtcbiAgZWRpdG9yLFxuICBpc0VkaXRpbmdUZXh0LFxuICBkZWZhdWx0U2V0dGluZ3Ncbn06IHtcbiAgZWRpdG9yOiBMZXhpY2FsRWRpdG9yO1xuICBpc0VkaXRpbmdUZXh0OiBib29sZWFuO1xuICBkZWZhdWx0U2V0dGluZ3M/OiBQYXJ0aWFsPHtcbiAgICBmb250U2l6ZTogc3RyaW5nO1xuICAgIGZvbnRDb2xvcjogc3RyaW5nO1xuICAgIGJnQ29sb3I6IHN0cmluZztcbiAgICBmb250RmFtaWx5OiBzdHJpbmc7XG4gIH0+O1xufSk6IFVzZUxleGljYWxUZXh0U3R5bGVSZXR1cm4gPT4ge1xuICBjb25zdCBkZWZhdWx0VmFsdWVzID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgZm9udFNpemU6IERFRkFVTFRfRk9OVF9TSVpFLFxuICAgICAgZm9udENvbG9yOiBERUZBVUxUX0ZPTlRfQ09MT1IsXG4gICAgICBiZ0NvbG9yOiBERUZBVUxUX0JHX0NPTE9SLFxuICAgICAgZm9udEZhbWlseTogREVGQVVMVF9GT05UX0ZBTUlMWSxcbiAgICAgIC4uLmRlZmF1bHRTZXR0aW5nc1xuICAgIH0pLFxuICAgIFtkZWZhdWx0U2V0dGluZ3NdXG4gICk7XG5cbiAgY29uc3QgW2ZvbnRTaXplLCBzZXRGb250U2l6ZV0gPSB1c2VTdGF0ZTxzdHJpbmc+KGRlZmF1bHRWYWx1ZXMuZm9udFNpemUpO1xuICBjb25zdCBbZm9udENvbG9yLCBzZXRGb250Q29sb3JdID0gdXNlU3RhdGU8c3RyaW5nPihkZWZhdWx0VmFsdWVzLmZvbnRDb2xvcik7XG4gIGNvbnN0IFtiZ0NvbG9yLCBzZXRCZ0NvbG9yXSA9IHVzZVN0YXRlPHN0cmluZz4oZGVmYXVsdFZhbHVlcy5iZ0NvbG9yKTtcbiAgY29uc3QgW2ZvbnRGYW1pbHksIHNldEZvbnRGYW1pbHldID0gdXNlU3RhdGU8c3RyaW5nPihkZWZhdWx0VmFsdWVzLmZvbnRGYW1pbHkpO1xuXG4gIGNvbnN0IHVwZGF0ZVRleHRTdHlsZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSAkZ2V0U2VsZWN0aW9uKCk7XG4gICAgaWYgKCRpc1JhbmdlU2VsZWN0aW9uKHNlbGVjdGlvbikpIHtcbiAgICAgIHNldEZvbnRTaXplKFxuICAgICAgICAkZ2V0U2VsZWN0aW9uU3R5bGVWYWx1ZUZvclByb3BlcnR5KHNlbGVjdGlvbiwgJ2ZvbnQtc2l6ZScsIGRlZmF1bHRWYWx1ZXMuZm9udFNpemUpXG4gICAgICApO1xuICAgICAgc2V0Rm9udENvbG9yKCRnZXRTZWxlY3Rpb25TdHlsZVZhbHVlRm9yUHJvcGVydHkoc2VsZWN0aW9uLCAnY29sb3InLCBkZWZhdWx0VmFsdWVzLmZvbnRDb2xvcikpO1xuICAgICAgc2V0QmdDb2xvcigkZ2V0U2VsZWN0aW9uU3R5bGVWYWx1ZUZvclByb3BlcnR5KHNlbGVjdGlvbiwgJ2JhY2tncm91bmQtY29sb3InLCAndHJhbnNwYXJlbnQnKSk7XG4gICAgICBzZXRGb250RmFtaWx5KFxuICAgICAgICAkZ2V0U2VsZWN0aW9uU3R5bGVWYWx1ZUZvclByb3BlcnR5KHNlbGVjdGlvbiwgJ2ZvbnQtZmFtaWx5JywgZGVmYXVsdFZhbHVlcy5mb250RmFtaWx5KVxuICAgICAgKTtcbiAgICB9XG4gIH0sIFtkZWZhdWx0VmFsdWVzLmZvbnRDb2xvciwgZGVmYXVsdFZhbHVlcy5mb250RmFtaWx5LCBkZWZhdWx0VmFsdWVzLmZvbnRTaXplXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gbWVyZ2VSZWdpc3RlcihcbiAgICAgIGVkaXRvci5yZWdpc3RlclVwZGF0ZUxpc3RlbmVyKCh7ZWRpdG9yU3RhdGV9KSA9PiB7XG4gICAgICAgIGVkaXRvclN0YXRlLnJlYWQoKCkgPT4ge1xuICAgICAgICAgIHVwZGF0ZVRleHRTdHlsZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH0pLFxuICAgICAgZWRpdG9yLnJlZ2lzdGVyQ29tbWFuZChcbiAgICAgICAgU0VMRUNUSU9OX0NIQU5HRV9DT01NQU5ELFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdXBkYXRlVGV4dFN0eWxlKCk7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgICBMT1dfUFJJT1JJVFlfQ09NTUFORFxuICAgICAgKVxuICAgICk7XG4gIH0sIFtlZGl0b3IsIHVwZGF0ZVRleHRTdHlsZV0pO1xuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZVN0eWxlID0gdXNlQ2FsbGJhY2soXG4gICAgKHN0eWxlOiBzdHJpbmcsIG9wdGlvbjogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCB3YXNFZGl0YWJsZSA9IGVkaXRvci5pc0VkaXRhYmxlKCk7XG4gICAgICBpZiAoIXdhc0VkaXRhYmxlKSB7XG4gICAgICAgIGVkaXRvci5zZXRFZGl0YWJsZSh0cnVlKTtcbiAgICAgIH1cbiAgICAgIGVkaXRvci51cGRhdGUoXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBsZXQgc2VsZWN0aW9uID0gJGdldFNlbGVjdGlvbigpO1xuICAgICAgICAgIGlmICghJGlzUmFuZ2VTZWxlY3Rpb24oc2VsZWN0aW9uKSB8fCBzZWxlY3Rpb24uaXNDb2xsYXBzZWQoKSkge1xuICAgICAgICAgICAgY29uc3Qgcm9vdCA9ICRnZXRSb290KCk7XG4gICAgICAgICAgICBjb25zdCBuZXdTZWxlY3Rpb24gPSAkY3JlYXRlUmFuZ2VTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIG5ld1NlbGVjdGlvbi5mb2N1cy5zZXQocm9vdC5nZXRLZXkoKSwgMCwgJ2VsZW1lbnQnKTtcbiAgICAgICAgICAgIG5ld1NlbGVjdGlvbi5hbmNob3Iuc2V0KHJvb3QuZ2V0S2V5KCksIHJvb3QuZ2V0Q2hpbGRyZW5TaXplKCksICdlbGVtZW50Jyk7XG4gICAgICAgICAgICAkc2V0U2VsZWN0aW9uKG5ld1NlbGVjdGlvbik7XG4gICAgICAgICAgICBzZWxlY3Rpb24gPSAkZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICgkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICAkcGF0Y2hTdHlsZVRleHQoc2VsZWN0aW9uLCB7W3N0eWxlXTogb3B0aW9ufSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgb25VcGRhdGU6ICgpID0+IHtcbiAgICAgICAgICAgIGlmICghd2FzRWRpdGFibGUpIHtcbiAgICAgICAgICAgICAgZWRpdG9yLnNldEVkaXRhYmxlKGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSxcbiAgICBbZWRpdG9yXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZUFsaWduSG9yaXpvbnRhbCA9IHVzZUNhbGxiYWNrKFxuICAgIChhbGlnbm1lbnQ6ICdsZWZ0JyB8ICdyaWdodCcgfCAnY2VudGVyJyB8ICdqdXN0aWZ5JykgPT4ge1xuICAgICAgY29uc3Qgd2FzRWRpdGFibGUgPSBlZGl0b3IuaXNFZGl0YWJsZSgpO1xuICAgICAgaWYgKCF3YXNFZGl0YWJsZSkge1xuICAgICAgICBlZGl0b3Iuc2V0RWRpdGFibGUodHJ1ZSk7XG4gICAgICB9XG4gICAgICBlZGl0b3IudXBkYXRlKFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgbGV0IHNlbGVjdGlvbiA9ICRnZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgICBpZiAoISRpc1JhbmdlU2VsZWN0aW9uKHNlbGVjdGlvbikgfHwgc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHJvb3QgPSAkZ2V0Um9vdCgpO1xuICAgICAgICAgICAgY29uc3QgbmV3U2VsZWN0aW9uID0gJGNyZWF0ZVJhbmdlU2VsZWN0aW9uKCk7XG4gICAgICAgICAgICBuZXdTZWxlY3Rpb24uZm9jdXMuc2V0KHJvb3QuZ2V0S2V5KCksIDAsICdlbGVtZW50Jyk7XG4gICAgICAgICAgICBuZXdTZWxlY3Rpb24uYW5jaG9yLnNldChyb290LmdldEtleSgpLCByb290LmdldENoaWxkcmVuU2l6ZSgpLCAnZWxlbWVudCcpO1xuICAgICAgICAgICAgJHNldFNlbGVjdGlvbihuZXdTZWxlY3Rpb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9uVXBkYXRlOiAoKSA9PiB7XG4gICAgICAgICAgICBlZGl0b3IuZGlzcGF0Y2hDb21tYW5kKEZPUk1BVF9FTEVNRU5UX0NPTU1BTkQsIGFsaWdubWVudCk7XG4gICAgICAgICAgICBpZiAoIXdhc0VkaXRhYmxlKSB7XG4gICAgICAgICAgICAgIGVkaXRvci5zZXRFZGl0YWJsZShmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICAgIH0sXG4gICAgW2VkaXRvcl1cbiAgKTtcblxuICByZXR1cm4ge1xuICAgIGZvbnRTaXplLFxuICAgIGZvbnRDb2xvcixcbiAgICBiZ0NvbG9yLFxuICAgIGZvbnRGYW1pbHksXG4gICAgaGFuZGxlQ2hhbmdlU3R5bGUsXG4gICAgaGFuZGxlQWxpZ25Ib3Jpem9udGFsXG4gIH07XG59O1xuXG5leHBvcnQgdHlwZSBVc2VJbnNlcnRMZXhpY2FsTGlua1JldHVybiA9IHtcbiAgaXNMaW5rOiBib29sZWFuO1xuICBpbnNlcnRMaW5rOiAoKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZUluc2VydExleGljYWxMaW5rID0gKHtcbiAgaXNFZGl0aW5nVGV4dCxcbiAgZWRpdG9yXG59OiBVc2VMZXhpY2FsVG9vbGJhclByb3BzKTogVXNlSW5zZXJ0TGV4aWNhbExpbmtSZXR1cm4gPT4ge1xuICBjb25zdCBbaXNMaW5rLCBzZXRJc0xpbmtdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIGNvbnN0IHVwZGF0ZUxpbmsgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0aW9uID0gJGdldFNlbGVjdGlvbigpO1xuICAgIGlmICgkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pKSB7XG4gICAgICBjb25zdCBub2RlID0gZ2V0U2VsZWN0ZWROb2RlKHNlbGVjdGlvbik7XG4gICAgICBjb25zdCBwYXJlbnQgPSBub2RlLmdldFBhcmVudCgpO1xuICAgICAgaWYgKCRpc0xpbmtOb2RlKHBhcmVudCkgfHwgJGlzTGlua05vZGUobm9kZSkpIHtcbiAgICAgICAgc2V0SXNMaW5rKHRydWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0SXNMaW5rKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiBtZXJnZVJlZ2lzdGVyKFxuICAgICAgZWRpdG9yLnJlZ2lzdGVyVXBkYXRlTGlzdGVuZXIoKHtlZGl0b3JTdGF0ZX0pID0+IHtcbiAgICAgICAgZWRpdG9yU3RhdGUucmVhZCgoKSA9PiB7XG4gICAgICAgICAgdXBkYXRlTGluaygpO1xuICAgICAgICB9KTtcbiAgICAgIH0pLFxuICAgICAgZWRpdG9yLnJlZ2lzdGVyQ29tbWFuZChcbiAgICAgICAgU0VMRUNUSU9OX0NIQU5HRV9DT01NQU5ELFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdXBkYXRlTGluaygpO1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgTE9XX1BSSU9SSVRZX0NPTU1BTkRcbiAgICAgIClcbiAgICApO1xuICB9LCBbZWRpdG9yLCB1cGRhdGVMaW5rXSk7XG5cbiAgY29uc3QgaW5zZXJ0TGluayA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCB3YXNFZGl0YWJsZSA9IGVkaXRvci5pc0VkaXRhYmxlKCk7XG4gICAgaWYgKCF3YXNFZGl0YWJsZSkge1xuICAgICAgZWRpdG9yLnNldEVkaXRhYmxlKHRydWUpO1xuICAgIH1cbiAgICBlZGl0b3IudXBkYXRlKCgpID0+IHtcbiAgICAgIGxldCBzZWxlY3Rpb24gPSAkZ2V0U2VsZWN0aW9uKCk7XG4gICAgICBpZiAoISRpc1JhbmdlU2VsZWN0aW9uKHNlbGVjdGlvbikgfHwgc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCkpIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9ICRnZXRSb290KCk7XG4gICAgICAgIGNvbnN0IG5ld1NlbGVjdGlvbiA9ICRjcmVhdGVSYW5nZVNlbGVjdGlvbigpO1xuICAgICAgICBuZXdTZWxlY3Rpb24uZm9jdXMuc2V0KHJvb3QuZ2V0S2V5KCksIDAsICdlbGVtZW50Jyk7XG4gICAgICAgIG5ld1NlbGVjdGlvbi5hbmNob3Iuc2V0KHJvb3QuZ2V0S2V5KCksIHJvb3QuZ2V0Q2hpbGRyZW5TaXplKCksICdlbGVtZW50Jyk7XG4gICAgICAgICRzZXRTZWxlY3Rpb24obmV3U2VsZWN0aW9uKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghaXNMaW5rKSB7XG4gICAgICAgIGVkaXRvci5kaXNwYXRjaENvbW1hbmQoVE9HR0xFX0xJTktfQ09NTUFORCwgREVGQVVMVF9MSU5LX05PREVfUFJPUFMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZWRpdG9yLmRpc3BhdGNoQ29tbWFuZChUT0dHTEVfTElOS19DT01NQU5ELCBudWxsKTtcbiAgICAgIH1cbiAgICAgIGlmICghd2FzRWRpdGFibGUpIHtcbiAgICAgICAgZWRpdG9yLnNldEVkaXRhYmxlKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfSwgW2VkaXRvciwgaXNMaW5rXSk7XG5cbiAgcmV0dXJuIHtpc0xpbmssIGluc2VydExpbmt9O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR0EsSUFBQUEsS0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsUUFBQSxHQUFBSCxPQUFBO0FBV0EsSUFBQUksTUFBQSxHQUFBSixPQUFBO0FBRUEsSUFBQUssaUJBQUEsR0FBQUwsT0FBQTtBQVFB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
|
|
253
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGluayIsInJlcXVpcmUiLCJfc2VsZWN0aW9uIiwiX3V0aWxzIiwiX2xleGljYWwiLCJfcmVhY3QiLCJfbGV4aWNhbENvbnN0YW50cyIsIl9sZXhpY2FsVXRpbHMiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsInVzZUxleGljYWxUZXh0Rm9ybWF0IiwiZXhwb3J0cyIsIl9yZWYiLCJpc0VkaXRpbmdUZXh0IiwiZWRpdG9yIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiaXNCb2xkIiwic2V0SXNCb2xkIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJpc0l0YWxpYyIsInNldElzSXRhbGljIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc1VuZGVybGluZSIsInNldElzVW5kZXJsaW5lIiwidXBkYXRlVGV4dEZvcm1hdCIsInVzZUNhbGxiYWNrIiwic2VsZWN0aW9uIiwiJGdldFNlbGVjdGlvbiIsIiRpc1JhbmdlU2VsZWN0aW9uIiwiaGFzRm9ybWF0IiwidXNlRWZmZWN0IiwibWVyZ2VSZWdpc3RlciIsInJlZ2lzdGVyVXBkYXRlTGlzdGVuZXIiLCJfcmVmMiIsImVkaXRvclN0YXRlIiwicmVhZCIsInJlZ2lzdGVyQ29tbWFuZCIsIlNFTEVDVElPTl9DSEFOR0VfQ09NTUFORCIsIkxPV19QUklPUklUWV9DT01NQU5EIiwiaGFuZGxlVG9nZ2xlVGV4dEZvcm1hdCIsImZvcm1hdCIsIndhc0VkaXRhYmxlIiwiaXNFZGl0YWJsZSIsInNldEVkaXRhYmxlIiwidXBkYXRlIiwiaXNDb2xsYXBzZWQiLCJyb290IiwiJGdldFJvb3QiLCJuZXdTZWxlY3Rpb24iLCIkY3JlYXRlUmFuZ2VTZWxlY3Rpb24iLCJmb2N1cyIsInNldCIsImdldEtleSIsImFuY2hvciIsImdldENoaWxkcmVuU2l6ZSIsIiRzZXRTZWxlY3Rpb24iLCJmb3JtYXRUZXh0Iiwic2V0VGltZW91dCIsInVzZUxleGljYWxUZXh0U3R5bGUiLCJfcmVmMyIsImRlZmF1bHRTZXR0aW5ncyIsImRlZmF1bHRWYWx1ZXMiLCJ1c2VNZW1vIiwiZm9udFNpemUiLCJERUZBVUxUX0ZPTlRfU0laRSIsImZvbnRDb2xvciIsIkRFRkFVTFRfRk9OVF9DT0xPUiIsImJnQ29sb3IiLCJERUZBVUxUX0JHX0NPTE9SIiwiZm9udEZhbWlseSIsIkRFRkFVTFRfRk9OVF9GQU1JTFkiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNldEZvbnRTaXplIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTAiLCJzZXRGb250Q29sb3IiLCJfdXNlU3RhdGUxIiwiX3VzZVN0YXRlMTAiLCJzZXRCZ0NvbG9yIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsInNldEZvbnRGYW1pbHkiLCJ1cGRhdGVUZXh0U3R5bGUiLCIkZ2V0U2VsZWN0aW9uU3R5bGVWYWx1ZUZvclByb3BlcnR5IiwiX3JlZjQiLCJoYW5kbGVDaGFuZ2VTdHlsZSIsInN0eWxlIiwib3B0aW9uIiwiJHBhdGNoU3R5bGVUZXh0Iiwib25VcGRhdGUiLCJoYW5kbGVBbGlnbkhvcml6b250YWwiLCJhbGlnbm1lbnQiLCJkaXNwYXRjaENvbW1hbmQiLCJGT1JNQVRfRUxFTUVOVF9DT01NQU5EIiwidXNlSW5zZXJ0TGV4aWNhbExpbmsiLCJfcmVmNSIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJpc0xpbmsiLCJzZXRJc0xpbmsiLCJ1cGRhdGVMaW5rIiwibm9kZSIsImdldFNlbGVjdGVkTm9kZSIsInBhcmVudCIsImdldFBhcmVudCIsIiRpc0xpbmtOb2RlIiwiX3JlZjYiLCJpbnNlcnRMaW5rIiwiVE9HR0xFX0xJTktfQ09NTUFORCIsIkRFRkFVTFRfTElOS19OT0RFX1BST1BTIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Fubm90YXRpb25zL2xleGljYWwtZWRpdG9yL3VzZS1sZXhpY2FsLXRvb2xiYXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHskaXNMaW5rTm9kZSwgVE9HR0xFX0xJTktfQ09NTUFORH0gZnJvbSAnQGxleGljYWwvbGluayc7XG5pbXBvcnQgeyRnZXRTZWxlY3Rpb25TdHlsZVZhbHVlRm9yUHJvcGVydHksICRwYXRjaFN0eWxlVGV4dH0gZnJvbSAnQGxleGljYWwvc2VsZWN0aW9uJztcbmltcG9ydCB7bWVyZ2VSZWdpc3Rlcn0gZnJvbSAnQGxleGljYWwvdXRpbHMnO1xuaW1wb3J0IHtcbiAgJGdldFNlbGVjdGlvbixcbiAgJGlzUmFuZ2VTZWxlY3Rpb24sXG4gIEZPUk1BVF9FTEVNRU5UX0NPTU1BTkQsXG4gIFNFTEVDVElPTl9DSEFOR0VfQ09NTUFORCxcbiAgVGV4dEZvcm1hdFR5cGUsXG4gICRjcmVhdGVSYW5nZVNlbGVjdGlvbixcbiAgJGdldFJvb3QsXG4gICRzZXRTZWxlY3Rpb24sXG4gIExleGljYWxFZGl0b3Jcbn0gZnJvbSAnbGV4aWNhbCc7XG5pbXBvcnQge3VzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7XG4gIERFRkFVTFRfQkdfQ09MT1IsXG4gIERFRkFVTFRfRk9OVF9GQU1JTFksXG4gIERFRkFVTFRfRk9OVF9TSVpFLFxuICBERUZBVUxUX0ZPTlRfQ09MT1IsXG4gIERFRkFVTFRfTElOS19OT0RFX1BST1BTLFxuICBMT1dfUFJJT1JJVFlfQ09NTUFORFxufSBmcm9tICcuL2xleGljYWwtY29uc3RhbnRzJztcbmltcG9ydCB7Z2V0U2VsZWN0ZWROb2RlfSBmcm9tICcuL2xleGljYWwtdXRpbHMnO1xuXG50eXBlIFVzZUxleGljYWxUb29sYmFyUHJvcHMgPSB7XG4gIGlzRWRpdGluZ1RleHQ/OiBib29sZWFuO1xuICBlZGl0b3I6IExleGljYWxFZGl0b3I7XG59O1xuXG5leHBvcnQgdHlwZSBVc2VMZXhpY2FsVGV4dEZvcm1hdFJldHVybiA9IHtcbiAgaXNCb2xkOiBib29sZWFuO1xuICBpc0l0YWxpYzogYm9vbGVhbjtcbiAgaXNVbmRlcmxpbmU6IGJvb2xlYW47XG4gIGhhbmRsZVRvZ2dsZVRleHRGb3JtYXQ6IChmb3JtYXQ6IHN0cmluZykgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VMZXhpY2FsVGV4dEZvcm1hdCA9ICh7XG4gIGlzRWRpdGluZ1RleHQsXG4gIGVkaXRvclxufTogVXNlTGV4aWNhbFRvb2xiYXJQcm9wcyk6IFVzZUxleGljYWxUZXh0Rm9ybWF0UmV0dXJuID0+IHtcbiAgY29uc3QgW2lzQm9sZCwgc2V0SXNCb2xkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2lzSXRhbGljLCBzZXRJc0l0YWxpY10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtpc1VuZGVybGluZSwgc2V0SXNVbmRlcmxpbmVdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIGNvbnN0IHVwZGF0ZVRleHRGb3JtYXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0aW9uID0gJGdldFNlbGVjdGlvbigpO1xuICAgIGlmICgkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pKSB7XG4gICAgICBzZXRJc0JvbGQoc2VsZWN0aW9uLmhhc0Zvcm1hdCgnYm9sZCcpKTtcbiAgICAgIHNldElzSXRhbGljKHNlbGVjdGlvbi5oYXNGb3JtYXQoJ2l0YWxpYycpKTtcbiAgICAgIHNldElzVW5kZXJsaW5lKHNlbGVjdGlvbi5oYXNGb3JtYXQoJ3VuZGVybGluZScpKTtcbiAgICB9XG4gIH0sIFtdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiBtZXJnZVJlZ2lzdGVyKFxuICAgICAgZWRpdG9yLnJlZ2lzdGVyVXBkYXRlTGlzdGVuZXIoKHtlZGl0b3JTdGF0ZX0pID0+IHtcbiAgICAgICAgZWRpdG9yU3RhdGUucmVhZCgoKSA9PiB7XG4gICAgICAgICAgdXBkYXRlVGV4dEZvcm1hdCgpO1xuICAgICAgICB9KTtcbiAgICAgIH0pLFxuICAgICAgZWRpdG9yLnJlZ2lzdGVyQ29tbWFuZChcbiAgICAgICAgU0VMRUNUSU9OX0NIQU5HRV9DT01NQU5ELFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdXBkYXRlVGV4dEZvcm1hdCgpO1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgTE9XX1BSSU9SSVRZX0NPTU1BTkRcbiAgICAgIClcbiAgICApO1xuICB9LCBbZWRpdG9yLCB1cGRhdGVUZXh0Rm9ybWF0XSk7XG5cbiAgY29uc3QgaGFuZGxlVG9nZ2xlVGV4dEZvcm1hdCA9IHVzZUNhbGxiYWNrKFxuICAgIChmb3JtYXQ6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3Qgd2FzRWRpdGFibGUgPSBlZGl0b3IuaXNFZGl0YWJsZSgpO1xuICAgICAgaWYgKCF3YXNFZGl0YWJsZSkge1xuICAgICAgICBlZGl0b3Iuc2V0RWRpdGFibGUodHJ1ZSk7XG4gICAgICB9XG4gICAgICBlZGl0b3IudXBkYXRlKCgpID0+IHtcbiAgICAgICAgbGV0IHNlbGVjdGlvbiA9ICRnZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgaWYgKCEkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pIHx8IHNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpKSB7XG4gICAgICAgICAgY29uc3Qgcm9vdCA9ICRnZXRSb290KCk7XG4gICAgICAgICAgY29uc3QgbmV3U2VsZWN0aW9uID0gJGNyZWF0ZVJhbmdlU2VsZWN0aW9uKCk7XG4gICAgICAgICAgbmV3U2VsZWN0aW9uLmZvY3VzLnNldChyb290LmdldEtleSgpLCAwLCAnZWxlbWVudCcpO1xuICAgICAgICAgIG5ld1NlbGVjdGlvbi5hbmNob3Iuc2V0KHJvb3QuZ2V0S2V5KCksIHJvb3QuZ2V0Q2hpbGRyZW5TaXplKCksICdlbGVtZW50Jyk7XG4gICAgICAgICAgJHNldFNlbGVjdGlvbihuZXdTZWxlY3Rpb24pO1xuICAgICAgICAgIHNlbGVjdGlvbiA9ICRnZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoJGlzUmFuZ2VTZWxlY3Rpb24oc2VsZWN0aW9uKSkge1xuICAgICAgICAgIHNlbGVjdGlvbi5mb3JtYXRUZXh0KGZvcm1hdCBhcyBUZXh0Rm9ybWF0VHlwZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgaWYgKCF3YXNFZGl0YWJsZSkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IGVkaXRvci5zZXRFZGl0YWJsZShmYWxzZSksIDApO1xuICAgICAgfVxuICAgIH0sXG4gICAgW2VkaXRvcl1cbiAgKTtcbiAgcmV0dXJuIHtpc0JvbGQsIGlzSXRhbGljLCBpc1VuZGVybGluZSwgaGFuZGxlVG9nZ2xlVGV4dEZvcm1hdH07XG59O1xuXG5leHBvcnQgdHlwZSBVc2VMZXhpY2FsVGV4dFN0eWxlUmV0dXJuID0ge1xuICBmb250U2l6ZTogc3RyaW5nO1xuICBmb250Q29sb3I6IHN0cmluZztcbiAgYmdDb2xvcjogc3RyaW5nO1xuICBmb250RmFtaWx5OiBzdHJpbmc7XG4gIGhhbmRsZUNoYW5nZVN0eWxlOiAoc3R5bGU6IHN0cmluZywgdmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgaGFuZGxlQWxpZ25Ib3Jpem9udGFsOiAoYWxpZ25tZW50OiAnbGVmdCcgfCAncmlnaHQnIHwgJ2NlbnRlcicgfCAnanVzdGlmeScpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgY29uc3QgdXNlTGV4aWNhbFRleHRTdHlsZSA9ICh7XG4gIGVkaXRvcixcbiAgaXNFZGl0aW5nVGV4dCxcbiAgZGVmYXVsdFNldHRpbmdzXG59OiB7XG4gIGVkaXRvcjogTGV4aWNhbEVkaXRvcjtcbiAgaXNFZGl0aW5nVGV4dDogYm9vbGVhbjtcbiAgZGVmYXVsdFNldHRpbmdzPzogUGFydGlhbDx7XG4gICAgZm9udFNpemU6IHN0cmluZztcbiAgICBmb250Q29sb3I6IHN0cmluZztcbiAgICBiZ0NvbG9yOiBzdHJpbmc7XG4gICAgZm9udEZhbWlseTogc3RyaW5nO1xuICB9Pjtcbn0pOiBVc2VMZXhpY2FsVGV4dFN0eWxlUmV0dXJuID0+IHtcbiAgY29uc3QgZGVmYXVsdFZhbHVlcyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIGZvbnRTaXplOiBERUZBVUxUX0ZPTlRfU0laRSxcbiAgICAgIGZvbnRDb2xvcjogREVGQVVMVF9GT05UX0NPTE9SLFxuICAgICAgYmdDb2xvcjogREVGQVVMVF9CR19DT0xPUixcbiAgICAgIGZvbnRGYW1pbHk6IERFRkFVTFRfRk9OVF9GQU1JTFksXG4gICAgICAuLi5kZWZhdWx0U2V0dGluZ3NcbiAgICB9KSxcbiAgICBbZGVmYXVsdFNldHRpbmdzXVxuICApO1xuXG4gIGNvbnN0IFtmb250U2l6ZSwgc2V0Rm9udFNpemVdID0gdXNlU3RhdGU8c3RyaW5nPihkZWZhdWx0VmFsdWVzLmZvbnRTaXplKTtcbiAgY29uc3QgW2ZvbnRDb2xvciwgc2V0Rm9udENvbG9yXSA9IHVzZVN0YXRlPHN0cmluZz4oZGVmYXVsdFZhbHVlcy5mb250Q29sb3IpO1xuICBjb25zdCBbYmdDb2xvciwgc2V0QmdDb2xvcl0gPSB1c2VTdGF0ZTxzdHJpbmc+KGRlZmF1bHRWYWx1ZXMuYmdDb2xvcik7XG4gIGNvbnN0IFtmb250RmFtaWx5LCBzZXRGb250RmFtaWx5XSA9IHVzZVN0YXRlPHN0cmluZz4oZGVmYXVsdFZhbHVlcy5mb250RmFtaWx5KTtcblxuICBjb25zdCB1cGRhdGVUZXh0U3R5bGUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0aW9uID0gJGdldFNlbGVjdGlvbigpO1xuICAgIGlmICgkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pKSB7XG4gICAgICBzZXRGb250U2l6ZShcbiAgICAgICAgJGdldFNlbGVjdGlvblN0eWxlVmFsdWVGb3JQcm9wZXJ0eShzZWxlY3Rpb24sICdmb250LXNpemUnLCBkZWZhdWx0VmFsdWVzLmZvbnRTaXplKVxuICAgICAgKTtcbiAgICAgIHNldEZvbnRDb2xvcigkZ2V0U2VsZWN0aW9uU3R5bGVWYWx1ZUZvclByb3BlcnR5KHNlbGVjdGlvbiwgJ2NvbG9yJywgZGVmYXVsdFZhbHVlcy5mb250Q29sb3IpKTtcbiAgICAgIHNldEJnQ29sb3IoJGdldFNlbGVjdGlvblN0eWxlVmFsdWVGb3JQcm9wZXJ0eShzZWxlY3Rpb24sICdiYWNrZ3JvdW5kLWNvbG9yJywgJ3RyYW5zcGFyZW50JykpO1xuICAgICAgc2V0Rm9udEZhbWlseShcbiAgICAgICAgJGdldFNlbGVjdGlvblN0eWxlVmFsdWVGb3JQcm9wZXJ0eShzZWxlY3Rpb24sICdmb250LWZhbWlseScsIGRlZmF1bHRWYWx1ZXMuZm9udEZhbWlseSlcbiAgICAgICk7XG4gICAgfVxuICB9LCBbZGVmYXVsdFZhbHVlcy5mb250Q29sb3IsIGRlZmF1bHRWYWx1ZXMuZm9udEZhbWlseSwgZGVmYXVsdFZhbHVlcy5mb250U2l6ZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuIG1lcmdlUmVnaXN0ZXIoXG4gICAgICBlZGl0b3IucmVnaXN0ZXJVcGRhdGVMaXN0ZW5lcigoe2VkaXRvclN0YXRlfSkgPT4ge1xuICAgICAgICBlZGl0b3JTdGF0ZS5yZWFkKCgpID0+IHtcbiAgICAgICAgICB1cGRhdGVUZXh0U3R5bGUoKTtcbiAgICAgICAgfSk7XG4gICAgICB9KSxcbiAgICAgIGVkaXRvci5yZWdpc3RlckNvbW1hbmQoXG4gICAgICAgIFNFTEVDVElPTl9DSEFOR0VfQ09NTUFORCxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHVwZGF0ZVRleHRTdHlsZSgpO1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSxcbiAgICAgICAgTE9XX1BSSU9SSVRZX0NPTU1BTkRcbiAgICAgIClcbiAgICApO1xuICB9LCBbZWRpdG9yLCB1cGRhdGVUZXh0U3R5bGVdKTtcblxuICBjb25zdCBoYW5kbGVDaGFuZ2VTdHlsZSA9IHVzZUNhbGxiYWNrKFxuICAgIChzdHlsZTogc3RyaW5nLCBvcHRpb246IHN0cmluZykgPT4ge1xuICAgICAgY29uc3Qgd2FzRWRpdGFibGUgPSBlZGl0b3IuaXNFZGl0YWJsZSgpO1xuICAgICAgaWYgKCF3YXNFZGl0YWJsZSkge1xuICAgICAgICBlZGl0b3Iuc2V0RWRpdGFibGUodHJ1ZSk7XG4gICAgICB9XG4gICAgICBlZGl0b3IudXBkYXRlKFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgbGV0IHNlbGVjdGlvbiA9ICRnZXRTZWxlY3Rpb24oKTtcbiAgICAgICAgICBpZiAoISRpc1JhbmdlU2VsZWN0aW9uKHNlbGVjdGlvbikgfHwgc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHJvb3QgPSAkZ2V0Um9vdCgpO1xuICAgICAgICAgICAgY29uc3QgbmV3U2VsZWN0aW9uID0gJGNyZWF0ZVJhbmdlU2VsZWN0aW9uKCk7XG4gICAgICAgICAgICBuZXdTZWxlY3Rpb24uZm9jdXMuc2V0KHJvb3QuZ2V0S2V5KCksIDAsICdlbGVtZW50Jyk7XG4gICAgICAgICAgICBuZXdTZWxlY3Rpb24uYW5jaG9yLnNldChyb290LmdldEtleSgpLCByb290LmdldENoaWxkcmVuU2l6ZSgpLCAnZWxlbWVudCcpO1xuICAgICAgICAgICAgJHNldFNlbGVjdGlvbihuZXdTZWxlY3Rpb24pO1xuICAgICAgICAgICAgc2VsZWN0aW9uID0gJGdldFNlbGVjdGlvbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoJGlzUmFuZ2VTZWxlY3Rpb24oc2VsZWN0aW9uKSkge1xuICAgICAgICAgICAgJHBhdGNoU3R5bGVUZXh0KHNlbGVjdGlvbiwge1tzdHlsZV06IG9wdGlvbn0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG9uVXBkYXRlOiAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXdhc0VkaXRhYmxlKSB7XG4gICAgICAgICAgICAgIGVkaXRvci5zZXRFZGl0YWJsZShmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICAgIH0sXG4gICAgW2VkaXRvcl1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVBbGlnbkhvcml6b250YWwgPSB1c2VDYWxsYmFjayhcbiAgICAoYWxpZ25tZW50OiAnbGVmdCcgfCAncmlnaHQnIHwgJ2NlbnRlcicgfCAnanVzdGlmeScpID0+IHtcbiAgICAgIGNvbnN0IHdhc0VkaXRhYmxlID0gZWRpdG9yLmlzRWRpdGFibGUoKTtcbiAgICAgIGlmICghd2FzRWRpdGFibGUpIHtcbiAgICAgICAgZWRpdG9yLnNldEVkaXRhYmxlKHRydWUpO1xuICAgICAgfVxuICAgICAgZWRpdG9yLnVwZGF0ZShcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGxldCBzZWxlY3Rpb24gPSAkZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgICAgaWYgKCEkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pIHx8IHNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpKSB7XG4gICAgICAgICAgICBjb25zdCByb290ID0gJGdldFJvb3QoKTtcbiAgICAgICAgICAgIGNvbnN0IG5ld1NlbGVjdGlvbiA9ICRjcmVhdGVSYW5nZVNlbGVjdGlvbigpO1xuICAgICAgICAgICAgbmV3U2VsZWN0aW9uLmZvY3VzLnNldChyb290LmdldEtleSgpLCAwLCAnZWxlbWVudCcpO1xuICAgICAgICAgICAgbmV3U2VsZWN0aW9uLmFuY2hvci5zZXQocm9vdC5nZXRLZXkoKSwgcm9vdC5nZXRDaGlsZHJlblNpemUoKSwgJ2VsZW1lbnQnKTtcbiAgICAgICAgICAgICRzZXRTZWxlY3Rpb24obmV3U2VsZWN0aW9uKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBvblVwZGF0ZTogKCkgPT4ge1xuICAgICAgICAgICAgZWRpdG9yLmRpc3BhdGNoQ29tbWFuZChGT1JNQVRfRUxFTUVOVF9DT01NQU5ELCBhbGlnbm1lbnQpO1xuICAgICAgICAgICAgaWYgKCF3YXNFZGl0YWJsZSkge1xuICAgICAgICAgICAgICBlZGl0b3Iuc2V0RWRpdGFibGUoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9LFxuICAgIFtlZGl0b3JdXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBmb250U2l6ZSxcbiAgICBmb250Q29sb3IsXG4gICAgYmdDb2xvcixcbiAgICBmb250RmFtaWx5LFxuICAgIGhhbmRsZUNoYW5nZVN0eWxlLFxuICAgIGhhbmRsZUFsaWduSG9yaXpvbnRhbFxuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgVXNlSW5zZXJ0TGV4aWNhbExpbmtSZXR1cm4gPSB7XG4gIGlzTGluazogYm9vbGVhbjtcbiAgaW5zZXJ0TGluazogKCkgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VJbnNlcnRMZXhpY2FsTGluayA9ICh7XG4gIGlzRWRpdGluZ1RleHQsXG4gIGVkaXRvclxufTogVXNlTGV4aWNhbFRvb2xiYXJQcm9wcyk6IFVzZUluc2VydExleGljYWxMaW5rUmV0dXJuID0+IHtcbiAgY29uc3QgW2lzTGluaywgc2V0SXNMaW5rXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCB1cGRhdGVMaW5rID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGlvbiA9ICRnZXRTZWxlY3Rpb24oKTtcbiAgICBpZiAoJGlzUmFuZ2VTZWxlY3Rpb24oc2VsZWN0aW9uKSkge1xuICAgICAgY29uc3Qgbm9kZSA9IGdldFNlbGVjdGVkTm9kZShzZWxlY3Rpb24pO1xuICAgICAgY29uc3QgcGFyZW50ID0gbm9kZS5nZXRQYXJlbnQoKTtcbiAgICAgIGlmICgkaXNMaW5rTm9kZShwYXJlbnQpIHx8ICRpc0xpbmtOb2RlKG5vZGUpKSB7XG4gICAgICAgIHNldElzTGluayh0cnVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldElzTGluayhmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gbWVyZ2VSZWdpc3RlcihcbiAgICAgIGVkaXRvci5yZWdpc3RlclVwZGF0ZUxpc3RlbmVyKCh7ZWRpdG9yU3RhdGV9KSA9PiB7XG4gICAgICAgIGVkaXRvclN0YXRlLnJlYWQoKCkgPT4ge1xuICAgICAgICAgIHVwZGF0ZUxpbmsoKTtcbiAgICAgICAgfSk7XG4gICAgICB9KSxcbiAgICAgIGVkaXRvci5yZWdpc3RlckNvbW1hbmQoXG4gICAgICAgIFNFTEVDVElPTl9DSEFOR0VfQ09NTUFORCxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHVwZGF0ZUxpbmsoKTtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0sXG4gICAgICAgIExPV19QUklPUklUWV9DT01NQU5EXG4gICAgICApXG4gICAgKTtcbiAgfSwgW2VkaXRvciwgdXBkYXRlTGlua10pO1xuXG4gIGNvbnN0IGluc2VydExpbmsgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3Qgd2FzRWRpdGFibGUgPSBlZGl0b3IuaXNFZGl0YWJsZSgpO1xuICAgIGlmICghd2FzRWRpdGFibGUpIHtcbiAgICAgIGVkaXRvci5zZXRFZGl0YWJsZSh0cnVlKTtcbiAgICB9XG4gICAgZWRpdG9yLnVwZGF0ZSgoKSA9PiB7XG4gICAgICBsZXQgc2VsZWN0aW9uID0gJGdldFNlbGVjdGlvbigpO1xuICAgICAgaWYgKCEkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pIHx8IHNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpKSB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSAkZ2V0Um9vdCgpO1xuICAgICAgICBjb25zdCBuZXdTZWxlY3Rpb24gPSAkY3JlYXRlUmFuZ2VTZWxlY3Rpb24oKTtcbiAgICAgICAgbmV3U2VsZWN0aW9uLmZvY3VzLnNldChyb290LmdldEtleSgpLCAwLCAnZWxlbWVudCcpO1xuICAgICAgICBuZXdTZWxlY3Rpb24uYW5jaG9yLnNldChyb290LmdldEtleSgpLCByb290LmdldENoaWxkcmVuU2l6ZSgpLCAnZWxlbWVudCcpO1xuICAgICAgICAkc2V0U2VsZWN0aW9uKG5ld1NlbGVjdGlvbik7XG4gICAgICB9XG4gICAgfSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIWlzTGluaykge1xuICAgICAgICBlZGl0b3IuZGlzcGF0Y2hDb21tYW5kKFRPR0dMRV9MSU5LX0NPTU1BTkQsIERFRkFVTFRfTElOS19OT0RFX1BST1BTKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVkaXRvci5kaXNwYXRjaENvbW1hbmQoVE9HR0xFX0xJTktfQ09NTUFORCwgbnVsbCk7XG4gICAgICB9XG4gICAgICBpZiAoIXdhc0VkaXRhYmxlKSB7XG4gICAgICAgIGVkaXRvci5zZXRFZGl0YWJsZShmYWxzZSk7XG4gICAgICB9XG4gICAgfSwgMCk7XG4gIH0sIFtlZGl0b3IsIGlzTGlua10pO1xuXG4gIHJldHVybiB7aXNMaW5rLCBpbnNlcnRMaW5rfTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUdBLElBQUFBLEtBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFFBQUEsR0FBQUgsT0FBQTtBQVdBLElBQUFJLE1BQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLGlCQUFBLEdBQUFMLE9BQUE7QUFRQSxJ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
|
package/dist/bottom-widget.js
CHANGED
|
@@ -19,8 +19,7 @@ var _layerAnimationController = _interopRequireDefault(require("./layer-animatio
|
|
|
19
19
|
var _animationControl = _interopRequireDefault(require("./common/animation-control/animation-control"));
|
|
20
20
|
var _templateObject, _templateObject2, _templateObject3; // SPDX-License-Identifier: MIT
|
|
21
21
|
// Copyright contributors to the kepler.gl project
|
|
22
|
-
function
|
|
23
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
22
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
24
23
|
var maxWidth = 1080;
|
|
25
24
|
var BottomWidgetContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n padding-top: ", "px;\n padding-right: ", "px;\n padding-bottom: ", "px;\n padding-left: ", "px;\n pointer-events: none !important; /* prevent padding from blocking input */\n & > * {\n /* all children should allow input */\n pointer-events: all;\n }\n width: ", "px;\n z-index: 1;\n ", "\n"])), function (props) {
|
|
26
25
|
return props.$hasPadding ? props.theme.bottomWidgetPaddingTop : 0;
|
|
@@ -174,11 +173,11 @@ function BottomWidgetFactory(TimeWidget, AnimationControl, FilterAnimationContro
|
|
|
174
173
|
}) : null;
|
|
175
174
|
}) : null);
|
|
176
175
|
};
|
|
177
|
-
return (0, _styledComponents.withTheme)(
|
|
176
|
+
return (0, _styledComponents.withTheme)(/*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
178
177
|
return /*#__PURE__*/_react["default"].createElement(BottomWidget, (0, _extends2["default"])({}, props, {
|
|
179
178
|
rootRef: ref
|
|
180
179
|
}));
|
|
181
180
|
}));
|
|
182
181
|
}
|
|
183
182
|
/* eslint-enable complexity */
|
|
184
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9jb25zdGFudHMiLCJfdXRpbHMiLCJfc3R5bGVzIiwiX3RpbWVXaWRnZXQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2ZpbHRlckFuaW1hdGlvbkNvbnRyb2xsZXIiLCJfbGF5ZXJBbmltYXRpb25Db250cm9sbGVyIiwiX2FuaW1hdGlvbkNvbnRyb2wiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm1heFdpZHRoIiwiQm90dG9tV2lkZ2V0Q29udGFpbmVyIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsIiRoYXNQYWRkaW5nIiwidGhlbWUiLCJib3R0b21XaWRnZXRQYWRkaW5nVG9wIiwiYm90dG9tV2lkZ2V0UGFkZGluZ1JpZ2h0IiwiYm90dG9tV2lkZ2V0UGFkZGluZ0JvdHRvbSIsImJvdHRvbVdpZGdldFBhZGRpbmdMZWZ0Iiwid2lkdGgiLCJtZWRpYSIsInBvcnRhYmxlIiwiQm90dG9tV2lkZ2V0RmFjdG9yeSIsImRlcHMiLCJUaW1lV2lkZ2V0RmFjdG9yeSIsIkFuaW1hdGlvbkNvbnRyb2xGYWN0b3J5IiwiRmlsdGVyQW5pbWF0aW9uQ29udHJvbGxlckZhY3RvcnkiLCJMYXllckFuaW1hdGlvbkNvbnRyb2xsZXJGYWN0b3J5IiwiVGltZVdpZGdldCIsIkFuaW1hdGlvbkNvbnRyb2wiLCJGaWx0ZXJBbmltYXRpb25Db250cm9sbGVyIiwiTGF5ZXJBbmltYXRpb25Db250cm9sbGVyIiwiTGF5ZXJBbmltYXRpb25Db250cm9sIiwic2lkZVBhbmVsQmciLCJCb3R0b21XaWRnZXQiLCJfdWlTdGF0ZSRtYXBDb250cm9scyIsIl91aVN0YXRlJG1hcENvbnRyb2xzMiIsIl90aGVtZSRtYXBDb250cm9sIiwiX3RoZW1lJG1hcENvbnRyb2wyIiwiZGF0YXNldHMiLCJmaWx0ZXJzIiwiYW5pbWF0aW9uQ29uZmlnIiwidG9nZ2xlTW9kYWwiLCJ2aXNTdGF0ZUFjdGlvbnMiLCJjb250YWluZXJXIiwidWlTdGF0ZSIsInNpZGVQYW5lbFdpZHRoIiwibGF5ZXJzIiwicm9vdFJlZiIsImFjdGl2ZVNpZGVQYW5lbCIsInJlYWRPbmx5IiwiaXNPcGVuIiwiQm9vbGVhbiIsImVubGFyZ2VkRmlsdGVySWR4IiwidXNlTWVtbyIsImZpbmRJbmRleCIsImYiLCJpc1NpZGVGaWx0ZXIiLCJhbmltYXRlZEZpbHRlcklkeCIsImlzQW5pbWF0aW5nIiwiYW5pbWF0ZWRGaWx0ZXIiLCJpc1RpbWVsaW5lTGlua2VkV2l0aEZpbHRlciIsInNvbWUiLCJzeW5jZWRXaXRoTGF5ZXJUaW1lbGluZSIsImlzTW9iaWxlIiwiaGFzUG9ydGFibGVXaWR0aCIsImJyZWFrUG9pbnRWYWx1ZXMiLCJpc0xlZ2VuZFBpbm5lZCIsIm1hcENvbnRyb2xzIiwibWFwTGVnZW5kIiwic2hvdyIsImFjdGl2ZSIsInNwYWNlRm9yTGVnZW5kV2lkdGgiLCJtYXBDb250cm9sIiwicGlubmVkIiwicmlnaHQiLCJlbmxhcmdlZEZpbHRlcldpZHRoIiwiYW5pbWF0YWJsZUxheWVyIiwiZmlsdGVyIiwibCIsImNvbmZpZyIsImFuaW1hdGlvbiIsImVuYWJsZWQiLCJpc1Zpc2libGUiLCJyZWFkeVRvQW5pbWF0aW9uIiwiQXJyYXkiLCJpc0FycmF5IiwiZG9tYWluIiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJjdXJyZW50VGltZSIsInNob3dGbG9hdGluZ1RpbWVEaXNwbGF5IiwibGVuZ3RoIiwic2hvd0FuaW1hdGlvbkNvbnRyb2wiLCJoaWRlQ29udHJvbCIsInNob3dUaW1lV2lkZ2V0Iiwia2V5cyIsIl91c2VNZW1vIiwibWVyZ2VGaWx0ZXJXaXRoVGltZWxpbmUiLCJlbmhhbmNlZEZpbHRlciIsImVuaGFuY2VkQW5pbWF0aW9uQ29uZmlnIiwiZXhwb3J0QW5pbWF0aW9uIiwidXNlQ2FsbGJhY2siLCJFWFBPUlRfVklERU9fSUQiLCJvbkNsb3NlIiwic2V0RmlsdGVyVmlldyIsIkZJTFRFUl9WSUVXX1RZUEVTIiwic2lkZSIsIm9uVG9nZ2xlTWluaWZ5IiwidmlldyIsImVubGFyZ2VkIiwibWluaWZpZWQiLCJjcmVhdGVFbGVtZW50IiwiTWF0aCIsIm1pbiIsInN0eWxlIiwibWFyZ2luUmlnaHQiLCJjbGFzc05hbWUiLCJyZWYiLCJzZXRMYXllckFuaW1hdGlvblRpbWUiLCJzdGFydCIsInBhdXNlIiwicmVzZXRBbmltYXRpb24iLCJ0aW1lbGluZSIsInNldFRpbWVsaW5lVmFsdWUiLCJ1cGRhdGVBbmltYXRpb25TcGVlZCIsInVwZGF0ZUxheWVyQW5pbWF0aW9uU3BlZWQiLCJ0b2dnbGVBbmltYXRpb24iLCJ0b2dnbGVMYXllckFuaW1hdGlvbiIsImlzQW5pbWF0YWJsZSIsImZpbHRlcklkeCIsInNldEZpbHRlckFuaW1hdGlvblRpbWUiLCJpbmRleCIsInNob3dUaW1lRGlzcGxheSIsInNldEZpbHRlclBsb3QiLCJzZXRGaWx0ZXJBbmltYXRpb25XaW5kb3ciLCJzZXRGaWx0ZXJTeW5jVGltZWxpbmVNb2RlIiwic2V0VGltZUZpbHRlclN5bmNUaW1lbGluZU1vZGUiLCJ0b2dnbGVGaWx0ZXJBbmltYXRpb24iLCJ1cGRhdGVGaWx0ZXJBbmltYXRpb25TcGVlZCIsIndpdGhUaGVtZSIsImZvcndhcmRSZWYiLCJfZXh0ZW5kczIiXSwic291cmNlcyI6WyIuLi9zcmMvYm90dG9tLXdpZGdldC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Zm9yd2FyZFJlZiwgdXNlTWVtbywgdXNlQ2FsbGJhY2t9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQsIHt3aXRoVGhlbWUsIElTdHlsZWRDb21wb25lbnR9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IHtGSUxURVJfVklFV19UWVBFUywgRVhQT1JUX1ZJREVPX0lEfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge2hhc1BvcnRhYmxlV2lkdGgsIGlzU2lkZUZpbHRlciwgbWVyZ2VGaWx0ZXJXaXRoVGltZWxpbmV9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHttZWRpYSwgYnJlYWtQb2ludFZhbHVlc30gZnJvbSAnQGtlcGxlci5nbC9zdHlsZXMnO1xuaW1wb3J0IHtUaW1lUmFuZ2VGaWx0ZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5pbXBvcnQgVGltZVdpZGdldEZhY3RvcnkgZnJvbSAnLi9maWx0ZXJzL3RpbWUtd2lkZ2V0JztcbmltcG9ydCB7Ym90dG9tV2lkZ2V0U2VsZWN0b3J9IGZyb20gJy4va2VwbGVyLWdsJztcbmltcG9ydCBGaWx0ZXJBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeSBmcm9tICcuL2ZpbHRlci1hbmltYXRpb24tY29udHJvbGxlcic7XG5pbXBvcnQgTGF5ZXJBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeSBmcm9tICcuL2xheWVyLWFuaW1hdGlvbi1jb250cm9sbGVyJztcbmltcG9ydCBBbmltYXRpb25Db250cm9sRmFjdG9yeSBmcm9tICcuL2NvbW1vbi9hbmltYXRpb24tY29udHJvbC9hbmltYXRpb24tY29udHJvbCc7XG5pbXBvcnQge0Jhc2VDb21wb25lbnRQcm9wc30gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IG1heFdpZHRoID0gMTA4MDtcblxuZXhwb3J0IHR5cGUgQm90dG9tV2lkZ2V0Q29udGFpbmVyUHJvcHMgPSBCYXNlQ29tcG9uZW50UHJvcHMgJiB7XG4gICRoYXNQYWRkaW5nPzogYm9vbGVhbjtcbiAgd2lkdGg6IG51bWJlcjtcbiAgcmVmOiBSZWFjdC5Gb3J3YXJkZWRSZWY8SFRNTERpdkVsZW1lbnQ+O1xufTtcblxuY29uc3QgQm90dG9tV2lkZ2V0Q29udGFpbmVyOiBJU3R5bGVkQ29tcG9uZW50PFxuICAnd2ViJyxcbiAgQm90dG9tV2lkZ2V0Q29udGFpbmVyUHJvcHNcbj4gPSBzdHlsZWQuZGl2PEJvdHRvbVdpZGdldENvbnRhaW5lclByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZy10b3A6ICR7cHJvcHMgPT4gKHByb3BzLiRoYXNQYWRkaW5nID8gcHJvcHMudGhlbWUuYm90dG9tV2lkZ2V0UGFkZGluZ1RvcCA6IDApfXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAke3Byb3BzID0+IChwcm9wcy4kaGFzUGFkZGluZyA/IHByb3BzLnRoZW1lLmJvdHRvbVdpZGdldFBhZGRpbmdSaWdodCA6IDApfXB4O1xuICBwYWRkaW5nLWJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuJGhhc1BhZGRpbmcgPyBwcm9wcy50aGVtZS5ib3R0b21XaWRnZXRQYWRkaW5nQm90dG9tIDogMCl9cHg7XG4gIHBhZGRpbmctbGVmdDogJHtwcm9wcyA9PiAocHJvcHMuJGhhc1BhZGRpbmcgPyBwcm9wcy50aGVtZS5ib3R0b21XaWRnZXRQYWRkaW5nTGVmdCA6IDApfXB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50OyAvKiBwcmV2ZW50IHBhZGRpbmcgZnJvbSBibG9ja2luZyBpbnB1dCAqL1xuICAmID4gKiB7XG4gICAgLyogYWxsIGNoaWxkcmVuIHNob3VsZCBhbGxvdyBpbnB1dCAqL1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIH1cbiAgd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMud2lkdGh9cHg7XG4gIHotaW5kZXg6IDE7XG4gICR7bWVkaWEucG9ydGFibGVgcGFkZGluZzogMDtgfVxuYDtcblxuZXhwb3J0IHR5cGUgQm90dG9tV2lkZ2V0UHJvcHMgPSB7XG4gIHJvb3RSZWY6IFJlYWN0LkZvcndhcmRlZFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIGNvbnRhaW5lclc6IG51bWJlcjtcbn0gJiBSZXR1cm5UeXBlPHR5cGVvZiBib3R0b21XaWRnZXRTZWxlY3Rvcj47XG50eXBlIFRoZW1lUHJvcCA9IHtcbiAgdGhlbWU6IGFueTtcbn07XG50eXBlIEJvdHRvbVdpZGdldFRoZW1lZFByb3BzID0gQm90dG9tV2lkZ2V0UHJvcHMgJiBUaGVtZVByb3A7XG5cbkJvdHRvbVdpZGdldEZhY3RvcnkuZGVwcyA9IFtcbiAgVGltZVdpZGdldEZhY3RvcnksXG4gIEFuaW1hdGlvbkNvbnRyb2xGYWN0b3J5LFxuICBGaWx0ZXJBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeSxcbiAgTGF5ZXJBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeVxuXTtcblxuLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQm90dG9tV2lkZ2V0RmFjdG9yeShcbiAgVGltZVdpZGdldDogUmV0dXJuVHlwZTx0eXBlb2YgVGltZVdpZGdldEZhY3Rvcnk+LFxuICBBbmltYXRpb25Db250cm9sOiBSZXR1cm5UeXBlPHR5cGVvZiBBbmltYXRpb25Db250cm9sRmFjdG9yeT4sXG4gIEZpbHRlckFuaW1hdGlvbkNvbnRyb2xsZXI6IFJldHVyblR5cGU8dHlwZW9mIEZpbHRlckFuaW1hdGlvbkNvbnRyb2xsZXJGYWN0b3J5PixcbiAgTGF5ZXJBbmltYXRpb25Db250cm9sbGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllckFuaW1hdGlvbkNvbnRyb2xsZXJGYWN0b3J5PlxuKTogUmVhY3QuRkM8Qm90dG9tV2lkZ2V0VGhlbWVkUHJvcHM+IHtcbiAgY29uc3QgTGF5ZXJBbmltYXRpb25Db250cm9sID0gc3R5bGVkKEFuaW1hdGlvbkNvbnRyb2wpYFxuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZVBhbmVsQmd9O1xuICBgO1xuXG4gIGNvbnN0IEJvdHRvbVdpZGdldDogUmVhY3QuRkM8Qm90dG9tV2lkZ2V0VGhlbWVkUHJvcHM+ID0gKHByb3BzOiBCb3R0b21XaWRnZXRUaGVtZWRQcm9wcykgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGRhdGFzZXRzLFxuICAgICAgZmlsdGVycyxcbiAgICAgIGFuaW1hdGlvbkNvbmZpZyxcbiAgICAgIHRvZ2dsZU1vZGFsLFxuICAgICAgdmlzU3RhdGVBY3Rpb25zLFxuICAgICAgY29udGFpbmVyVyxcbiAgICAgIHVpU3RhdGUsXG4gICAgICBzaWRlUGFuZWxXaWR0aCxcbiAgICAgIGxheWVycyxcbiAgICAgIHJvb3RSZWYsXG4gICAgICB0aGVtZVxuICAgIH0gPSBwcm9wcztcblxuICAgIGNvbnN0IHthY3RpdmVTaWRlUGFuZWwsIHJlYWRPbmx5fSA9IHVpU3RhdGU7XG4gICAgY29uc3QgaXNPcGVuID0gQm9vbGVhbihhY3RpdmVTaWRlUGFuZWwpO1xuXG4gICAgY29uc3QgZW5sYXJnZWRGaWx0ZXJJZHggPSB1c2VNZW1vKCgpID0+IGZpbHRlcnMuZmluZEluZGV4KGYgPT4gIWlzU2lkZUZpbHRlcihmKSksIFtmaWx0ZXJzXSk7XG4gICAgY29uc3QgYW5pbWF0ZWRGaWx0ZXJJZHggPSB1c2VNZW1vKCgpID0+IGZpbHRlcnMuZmluZEluZGV4KGYgPT4gZi5pc0FuaW1hdGluZyksIFtmaWx0ZXJzXSk7XG4gICAgY29uc3QgYW5pbWF0ZWRGaWx0ZXIgPSBhbmltYXRlZEZpbHRlcklkeCA+IC0xID8gZmlsdGVyc1thbmltYXRlZEZpbHRlcklkeF0gOiBudWxsO1xuICAgIC8vIHdlIG5lZWQgdG8gaGlkZSBsYXllciB0aW1lbGluZSB3aGVuIGZpbHRlciBpcyBzeW5jZWQgYW5kIG5vdCBlbmxhcmdlZFxuICAgIGNvbnN0IGlzVGltZWxpbmVMaW5rZWRXaXRoRmlsdGVyID0gdXNlTWVtbyhcbiAgICAgICgpID0+IChmaWx0ZXJzIGFzIFRpbWVSYW5nZUZpbHRlcltdKS5zb21lKGYgPT4gZi5zeW5jZWRXaXRoTGF5ZXJUaW1lbGluZSksXG4gICAgICBbZmlsdGVyc11cbiAgICApO1xuXG4gICAgY29uc3QgaXNNb2JpbGUgPSB1c2VNZW1vKCgpID0+IGhhc1BvcnRhYmxlV2lkdGgoYnJlYWtQb2ludFZhbHVlcyksIFtdKTtcbiAgICBjb25zdCBpc0xlZ2VuZFBpbm5lZCA9XG4gICAgICB1aVN0YXRlLm1hcENvbnRyb2xzPy5tYXBMZWdlbmQ/LnNob3cgJiYgdWlTdGF0ZS5tYXBDb250cm9scz8ubWFwTGVnZW5kPy5hY3RpdmU7XG4gICAgY29uc3Qgc3BhY2VGb3JMZWdlbmRXaWR0aCA9IGlzTGVnZW5kUGlubmVkXG4gICAgICA/IHRoZW1lLm1hcENvbnRyb2w/LndpZHRoICtcbiAgICAgICAgdGhlbWUubWFwQ29udHJvbD8ubWFwTGVnZW5kPy5waW5uZWQ/LnJpZ2h0ICogMiAtXG4gICAgICAgIHRoZW1lLmJvdHRvbVdpZGdldFBhZGRpbmdSaWdodFxuICAgICAgOiAwO1xuXG4gICAgY29uc3QgZW5sYXJnZWRGaWx0ZXJXaWR0aCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAoIWlzTW9iaWxlICYmIGlzT3BlbiA/IGNvbnRhaW5lclcgLSBzaWRlUGFuZWxXaWR0aCA6IGNvbnRhaW5lclcpIC0gc3BhY2VGb3JMZWdlbmRXaWR0aCxcbiAgICAgIFtpc01vYmlsZSwgaXNPcGVuLCBjb250YWluZXJXLCBzaWRlUGFuZWxXaWR0aCwgc3BhY2VGb3JMZWdlbmRXaWR0aF1cbiAgICApO1xuXG4gICAgLy8gc2hvdyBwbGF5YmFjayBjb250cm9sIGlmIGxheWVycyBjb250YWluIHRyaXAgbGF5ZXIgJiBhdCBsZWFzdCBvbmUgdHJpcCBsYXllciBpcyB2aXNpYmxlXG4gICAgY29uc3QgYW5pbWF0YWJsZUxheWVyID0gdXNlTWVtbyhcbiAgICAgICgpID0+XG4gICAgICAgIGxheWVycy5maWx0ZXIobCA9PiBsLmNvbmZpZy5hbmltYXRpb24gJiYgbC5jb25maWcuYW5pbWF0aW9uLmVuYWJsZWQgJiYgbC5jb25maWcuaXNWaXNpYmxlKSxcbiAgICAgIFtsYXllcnNdXG4gICAgKTtcblxuICAgIGNvbnN0IHJlYWR5VG9BbmltYXRpb24gPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gQXJyYXkuaXNBcnJheShhbmltYXRpb25Db25maWcuZG9tYWluKSAmJiBOdW1iZXIuaXNGaW5pdGUoYW5pbWF0aW9uQ29uZmlnLmN1cnJlbnRUaW1lKSxcbiAgICAgIFthbmltYXRpb25Db25maWcuZG9tYWluLCBhbmltYXRpb25Db25maWcuY3VycmVudFRpbWVdXG4gICAgKTtcblxuICAgIC8vIGlmIGFuaW1hdGlvbiBjb250cm9sIGlzIHNob3dpbmcsIGhpZGUgdGltZSBkaXNwbGF5IGluIHRpbWUgc2xpZGVyXG4gICAgY29uc3Qgc2hvd0Zsb2F0aW5nVGltZURpc3BsYXkgPSAhYW5pbWF0YWJsZUxheWVyLmxlbmd0aDtcbiAgICBjb25zdCBzaG93QW5pbWF0aW9uQ29udHJvbCA9XG4gICAgICBhbmltYXRhYmxlTGF5ZXIubGVuZ3RoICYmIHJlYWR5VG9BbmltYXRpb24gJiYgIWFuaW1hdGlvbkNvbmZpZy5oaWRlQ29udHJvbDtcbiAgICBjb25zdCBzaG93VGltZVdpZGdldCA9IGVubGFyZ2VkRmlsdGVySWR4ID4gLTEgJiYgT2JqZWN0LmtleXMoZGF0YXNldHMpLmxlbmd0aCA+IDA7XG5cbiAgICAvLyBpZiBmaWx0ZXIgaXMgbm90IGFuaW1hdGluZywgcGFzcyBpbiBlbmxhcmdlZCBmaWx0ZXIgaGVyZSBiZWNhdXNlXG4gICAgLy8gYW5pbWF0aW9uIGNvbnRyb2xsZXIgbmVlZHMgdG8gY2FsbCByZXNldCBvbiBpdFxuICAgIGNvbnN0IGZpbHRlciA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAoYW5pbWF0ZWRGaWx0ZXIgYXMgVGltZVJhbmdlRmlsdGVyKSB8fCBmaWx0ZXJzW2VubGFyZ2VkRmlsdGVySWR4XSxcbiAgICAgIFthbmltYXRlZEZpbHRlciwgZmlsdGVycywgZW5sYXJnZWRGaWx0ZXJJZHhdXG4gICAgKTtcblxuICAgIC8vIHdlIG1lcmdlIGZpbHRlciBhbmQgdGltZWxpbmUgaWYgZmlsdGVyIGlzIHN5bmNlZFxuICAgIGNvbnN0IHtmaWx0ZXI6IGVuaGFuY2VkRmlsdGVyLCBhbmltYXRpb25Db25maWc6IGVuaGFuY2VkQW5pbWF0aW9uQ29uZmlnfSA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBmaWx0ZXI/LnN5bmNlZFdpdGhMYXllclRpbWVsaW5lXG4gICAgICAgICAgPyBtZXJnZUZpbHRlcldpdGhUaW1lbGluZShmaWx0ZXIsIGFuaW1hdGlvbkNvbmZpZylcbiAgICAgICAgICA6IHtmaWx0ZXIsIGFuaW1hdGlvbkNvbmZpZ30sXG4gICAgICBbZmlsdGVyLCBhbmltYXRpb25Db25maWddXG4gICAgKTtcblxuICAgIGNvbnN0IGV4cG9ydEFuaW1hdGlvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHRvZ2dsZU1vZGFsKEVYUE9SVF9WSURFT19JRCksIFt0b2dnbGVNb2RhbF0pO1xuXG4gICAgY29uc3Qgb25DbG9zZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKCkgPT4gdmlzU3RhdGVBY3Rpb25zLnNldEZpbHRlclZpZXcoZW5sYXJnZWRGaWx0ZXJJZHgsIEZJTFRFUl9WSUVXX1RZUEVTLnNpZGUpLFxuICAgICAgW3Zpc1N0YXRlQWN0aW9ucywgZW5sYXJnZWRGaWx0ZXJJZHhdXG4gICAgKTtcblxuICAgIGNvbnN0IG9uVG9nZ2xlTWluaWZ5ID0gdXNlQ2FsbGJhY2soXG4gICAgICAoKSA9PlxuICAgICAgICB2aXNTdGF0ZUFjdGlvbnMuc2V0RmlsdGVyVmlldyhcbiAgICAgICAgICBlbmxhcmdlZEZpbHRlcklkeCxcbiAgICAgICAgICBmaWx0ZXIudmlldyA9PT0gRklMVEVSX1ZJRVdfVFlQRVMuZW5sYXJnZWRcbiAgICAgICAgICAgID8gRklMVEVSX1ZJRVdfVFlQRVMubWluaWZpZWRcbiAgICAgICAgICAgIDogRklMVEVSX1ZJRVdfVFlQRVMuZW5sYXJnZWRcbiAgICAgICAgKSxcbiAgICAgIFtlbmxhcmdlZEZpbHRlcklkeCwgdmlzU3RhdGVBY3Rpb25zLCBmaWx0ZXJdXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8Qm90dG9tV2lkZ2V0Q29udGFpbmVyXG4gICAgICAgIHdpZHRoPXtNYXRoLm1pbihtYXhXaWR0aCwgZW5sYXJnZWRGaWx0ZXJXaWR0aCl9XG4gICAgICAgIHN0eWxlPXt7bWFyZ2luUmlnaHQ6IHNwYWNlRm9yTGVnZW5kV2lkdGh9fVxuICAgICAgICBjbGFzc05hbWU9XCJib3R0b20td2lkZ2V0LS1jb250YWluZXJcIlxuICAgICAgICAkaGFzUGFkZGluZz17c2hvd0FuaW1hdGlvbkNvbnRyb2wgfHwgc2hvd1RpbWVXaWRnZXR9XG4gICAgICAgIHJlZj17cm9vdFJlZn1cbiAgICAgID5cbiAgICAgICAgeyFpc1RpbWVsaW5lTGlua2VkV2l0aEZpbHRlciA/IChcbiAgICAgICAgICA8TGF5ZXJBbmltYXRpb25Db250cm9sbGVyXG4gICAgICAgICAgICBhbmltYXRpb25Db25maWc9e2VuaGFuY2VkQW5pbWF0aW9uQ29uZmlnfVxuICAgICAgICAgICAgc2V0TGF5ZXJBbmltYXRpb25UaW1lPXt2aXNTdGF0ZUFjdGlvbnMuc2V0TGF5ZXJBbmltYXRpb25UaW1lfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHsoaXNBbmltYXRpbmcsIHN0YXJ0LCBwYXVzZSwgcmVzZXRBbmltYXRpb24sIHRpbWVsaW5lLCBzZXRUaW1lbGluZVZhbHVlKSA9PlxuICAgICAgICAgICAgICBzaG93QW5pbWF0aW9uQ29udHJvbCA/IChcbiAgICAgICAgICAgICAgICA8TGF5ZXJBbmltYXRpb25Db250cm9sXG4gICAgICAgICAgICAgICAgICB1cGRhdGVBbmltYXRpb25TcGVlZD17dmlzU3RhdGVBY3Rpb25zLnVwZGF0ZUxheWVyQW5pbWF0aW9uU3BlZWR9XG4gICAgICAgICAgICAgICAgICB0b2dnbGVBbmltYXRpb249e3Zpc1N0YXRlQWN0aW9ucy50b2dnbGVMYXllckFuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICAgIGV4cG9ydEFuaW1hdGlvbj17ZXhwb3J0QW5pbWF0aW9ufVxuICAgICAgICAgICAgICAgICAgaXNBbmltYXRhYmxlPXshYW5pbWF0ZWRGaWx0ZXJ9XG4gICAgICAgICAgICAgICAgICBpc0FuaW1hdGluZz17aXNBbmltYXRpbmd9XG4gICAgICAgICAgICAgICAgICByZXNldEFuaW1hdGlvbj17cmVzZXRBbmltYXRpb259XG4gICAgICAgICAgICAgICAgICBzZXRUaW1lbGluZVZhbHVlPXtzZXRUaW1lbGluZVZhbHVlfVxuICAgICAgICAgICAgICAgICAgdGltZWxpbmU9e3RpbWVsaW5lfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkgOiBudWxsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9MYXllckFuaW1hdGlvbkNvbnRyb2xsZXI+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICB7ZW5oYW5jZWRGaWx0ZXIgPyAoXG4gICAgICAgICAgPEZpbHRlckFuaW1hdGlvbkNvbnRyb2xsZXJcbiAgICAgICAgICAgIGZpbHRlcj17ZW5oYW5jZWRGaWx0ZXJ9XG4gICAgICAgICAgICBmaWx0ZXJJZHg9e2FuaW1hdGVkRmlsdGVySWR4ID4gLTEgPyBhbmltYXRlZEZpbHRlcklkeCA6IGVubGFyZ2VkRmlsdGVySWR4fVxuICAgICAgICAgICAgc2V0RmlsdGVyQW5pbWF0aW9uVGltZT17dmlzU3RhdGVBY3Rpb25zLnNldEZpbHRlckFuaW1hdGlvblRpbWV9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgeyhpc0FuaW1hdGluZywgc3RhcnQsIHBhdXNlLCByZXNldEFuaW1hdGlvbiwgdGltZWxpbmUsIHNldFRpbWVsaW5lVmFsdWUpID0+XG4gICAgICAgICAgICAgIHNob3dUaW1lV2lkZ2V0ICYmIHRpbWVsaW5lID8gKFxuICAgICAgICAgICAgICAgIDxUaW1lV2lkZ2V0XG4gICAgICAgICAgICAgICAgICAvLyBUaW1lV2lkZ2V0IHVzZXMgUmVhY3QubWVtbywgaGVyZSB3ZSBwYXNzIHdpZHRoXG4gICAgICAgICAgICAgICAgICAvLyBldmVuIHRob3VnaCBpdCBkb2VzbnQgdXNlIGl0LCB0byBmb3JjZSByZXJlbmRlclxuICAgICAgICAgICAgICAgICAgZmlsdGVyPXtlbmhhbmNlZEZpbHRlciBhcyBUaW1lUmFuZ2VGaWx0ZXJ9XG4gICAgICAgICAgICAgICAgICBpbmRleD17ZW5sYXJnZWRGaWx0ZXJJZHh9XG4gICAgICAgICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICAgICAgICBsYXllcnM9e2xheWVyc31cbiAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgICAgIHNob3dUaW1lRGlzcGxheT17c2hvd0Zsb2F0aW5nVGltZURpc3BsYXl9XG4gICAgICAgICAgICAgICAgICBzZXRGaWx0ZXJQbG90PXt2aXNTdGF0ZUFjdGlvbnMuc2V0RmlsdGVyUGxvdH1cbiAgICAgICAgICAgICAgICAgIHNldEZpbHRlckFuaW1hdGlvblRpbWU9e3NldFRpbWVsaW5lVmFsdWV9XG4gICAgICAgICAgICAgICAgICBzZXRGaWx0ZXJBbmltYXRpb25XaW5kb3c9e3Zpc1N0YXRlQWN0aW9ucy5zZXRGaWx0ZXJBbmltYXRpb25XaW5kb3d9XG4gICAgICAgICAgICAgICAgICBzZXRGaWx0ZXJTeW5jVGltZWxpbmVNb2RlPXt2aXNTdGF0ZUFjdGlvbnMuc2V0VGltZUZpbHRlclN5bmNUaW1lbGluZU1vZGV9XG4gICAgICAgICAgICAgICAgICB0b2dnbGVBbmltYXRpb249e3Zpc1N0YXRlQWN0aW9ucy50b2dnbGVGaWx0ZXJBbmltYXRpb259XG4gICAgICAgICAgICAgICAgICBleHBvcnRBbmltYXRpb249e2V4cG9ydEFuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuaW1hdGlvblNwZWVkPXt2aXNTdGF0ZUFjdGlvbnMudXBkYXRlRmlsdGVyQW5pbWF0aW9uU3BlZWR9XG4gICAgICAgICAgICAgICAgICByZXNldEFuaW1hdGlvbj17cmVzZXRBbmltYXRpb259XG4gICAgICAgICAgICAgICAgICBpc0FuaW1hdGFibGU9eyFhbmltYXRpb25Db25maWcgfHwgIWFuaW1hdGlvbkNvbmZpZy5pc0FuaW1hdGluZ31cbiAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbkNvbmZpZz17YW5pbWF0aW9uQ29uZmlnfVxuICAgICAgICAgICAgICAgICAgb25DbG9zZT17b25DbG9zZX1cbiAgICAgICAgICAgICAgICAgIHRpbWVsaW5lPXt0aW1lbGluZX1cbiAgICAgICAgICAgICAgICAgIG9uVG9nZ2xlTWluaWZ5PXtvblRvZ2dsZU1pbmlmeX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApIDogbnVsbFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvRmlsdGVyQW5pbWF0aW9uQ29udHJvbGxlcj5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICA8L0JvdHRvbVdpZGdldENvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiB3aXRoVGhlbWUoXG4gICAgZm9yd2FyZFJlZigocHJvcHM6IEJvdHRvbVdpZGdldFRoZW1lZFByb3BzLCByZWY6IFJlYWN0LkZvcndhcmRlZFJlZjxIVE1MRGl2RWxlbWVudD4pID0+IChcbiAgICAgIDxCb3R0b21XaWRnZXQgey4uLnByb3BzfSByb290UmVmPXtyZWZ9IC8+XG4gICAgKSlcbiAgKTtcbn1cbi8qIGVzbGludC1lbmFibGUgY29tcGxleGl0eSAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUYsdUJBQUEsQ0FBQUMsT0FB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
|
|
183
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9jb25zdGFudHMiLCJfdXRpbHMiLCJfc3R5bGVzIiwiX3RpbWVXaWRnZXQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2ZpbHRlckFuaW1hdGlvbkNvbnRyb2xsZXIiLCJfbGF5ZXJBbmltYXRpb25Db250cm9sbGVyIiwiX2FuaW1hdGlvbkNvbnRyb2wiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwibWF4V2lkdGgiLCJCb3R0b21XaWRnZXRDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwiJGhhc1BhZGRpbmciLCJ0aGVtZSIsImJvdHRvbVdpZGdldFBhZGRpbmdUb3AiLCJib3R0b21XaWRnZXRQYWRkaW5nUmlnaHQiLCJib3R0b21XaWRnZXRQYWRkaW5nQm90dG9tIiwiYm90dG9tV2lkZ2V0UGFkZGluZ0xlZnQiLCJ3aWR0aCIsIm1lZGlhIiwicG9ydGFibGUiLCJCb3R0b21XaWRnZXRGYWN0b3J5IiwiZGVwcyIsIlRpbWVXaWRnZXRGYWN0b3J5IiwiQW5pbWF0aW9uQ29udHJvbEZhY3RvcnkiLCJGaWx0ZXJBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeSIsIkxheWVyQW5pbWF0aW9uQ29udHJvbGxlckZhY3RvcnkiLCJUaW1lV2lkZ2V0IiwiQW5pbWF0aW9uQ29udHJvbCIsIkZpbHRlckFuaW1hdGlvbkNvbnRyb2xsZXIiLCJMYXllckFuaW1hdGlvbkNvbnRyb2xsZXIiLCJMYXllckFuaW1hdGlvbkNvbnRyb2wiLCJzaWRlUGFuZWxCZyIsIkJvdHRvbVdpZGdldCIsIl91aVN0YXRlJG1hcENvbnRyb2xzIiwiX3VpU3RhdGUkbWFwQ29udHJvbHMyIiwiX3RoZW1lJG1hcENvbnRyb2wiLCJfdGhlbWUkbWFwQ29udHJvbDIiLCJkYXRhc2V0cyIsImZpbHRlcnMiLCJhbmltYXRpb25Db25maWciLCJ0b2dnbGVNb2RhbCIsInZpc1N0YXRlQWN0aW9ucyIsImNvbnRhaW5lclciLCJ1aVN0YXRlIiwic2lkZVBhbmVsV2lkdGgiLCJsYXllcnMiLCJyb290UmVmIiwiYWN0aXZlU2lkZVBhbmVsIiwicmVhZE9ubHkiLCJpc09wZW4iLCJCb29sZWFuIiwiZW5sYXJnZWRGaWx0ZXJJZHgiLCJ1c2VNZW1vIiwiZmluZEluZGV4IiwiaXNTaWRlRmlsdGVyIiwiYW5pbWF0ZWRGaWx0ZXJJZHgiLCJpc0FuaW1hdGluZyIsImFuaW1hdGVkRmlsdGVyIiwiaXNUaW1lbGluZUxpbmtlZFdpdGhGaWx0ZXIiLCJzb21lIiwic3luY2VkV2l0aExheWVyVGltZWxpbmUiLCJpc01vYmlsZSIsImhhc1BvcnRhYmxlV2lkdGgiLCJicmVha1BvaW50VmFsdWVzIiwiaXNMZWdlbmRQaW5uZWQiLCJtYXBDb250cm9scyIsIm1hcExlZ2VuZCIsInNob3ciLCJhY3RpdmUiLCJzcGFjZUZvckxlZ2VuZFdpZHRoIiwibWFwQ29udHJvbCIsInBpbm5lZCIsInJpZ2h0IiwiZW5sYXJnZWRGaWx0ZXJXaWR0aCIsImFuaW1hdGFibGVMYXllciIsImZpbHRlciIsImwiLCJjb25maWciLCJhbmltYXRpb24iLCJlbmFibGVkIiwiaXNWaXNpYmxlIiwicmVhZHlUb0FuaW1hdGlvbiIsIkFycmF5IiwiaXNBcnJheSIsImRvbWFpbiIsIk51bWJlciIsImlzRmluaXRlIiwiY3VycmVudFRpbWUiLCJzaG93RmxvYXRpbmdUaW1lRGlzcGxheSIsImxlbmd0aCIsInNob3dBbmltYXRpb25Db250cm9sIiwiaGlkZUNvbnRyb2wiLCJzaG93VGltZVdpZGdldCIsImtleXMiLCJfdXNlTWVtbyIsIm1lcmdlRmlsdGVyV2l0aFRpbWVsaW5lIiwiZW5oYW5jZWRGaWx0ZXIiLCJlbmhhbmNlZEFuaW1hdGlvbkNvbmZpZyIsImV4cG9ydEFuaW1hdGlvbiIsInVzZUNhbGxiYWNrIiwiRVhQT1JUX1ZJREVPX0lEIiwib25DbG9zZSIsInNldEZpbHRlclZpZXciLCJGSUxURVJfVklFV19UWVBFUyIsInNpZGUiLCJvblRvZ2dsZU1pbmlmeSIsInZpZXciLCJlbmxhcmdlZCIsIm1pbmlmaWVkIiwiY3JlYXRlRWxlbWVudCIsIk1hdGgiLCJtaW4iLCJzdHlsZSIsIm1hcmdpblJpZ2h0IiwiY2xhc3NOYW1lIiwicmVmIiwic2V0TGF5ZXJBbmltYXRpb25UaW1lIiwic3RhcnQiLCJwYXVzZSIsInJlc2V0QW5pbWF0aW9uIiwidGltZWxpbmUiLCJzZXRUaW1lbGluZVZhbHVlIiwidXBkYXRlQW5pbWF0aW9uU3BlZWQiLCJ1cGRhdGVMYXllckFuaW1hdGlvblNwZWVkIiwidG9nZ2xlQW5pbWF0aW9uIiwidG9nZ2xlTGF5ZXJBbmltYXRpb24iLCJpc0FuaW1hdGFibGUiLCJmaWx0ZXJJZHgiLCJzZXRGaWx0ZXJBbmltYXRpb25UaW1lIiwiaW5kZXgiLCJzaG93VGltZURpc3BsYXkiLCJzZXRGaWx0ZXJQbG90Iiwic2V0RmlsdGVyQW5pbWF0aW9uV2luZG93Iiwic2V0RmlsdGVyU3luY1RpbWVsaW5lTW9kZSIsInNldFRpbWVGaWx0ZXJTeW5jVGltZWxpbmVNb2RlIiwidG9nZ2xlRmlsdGVyQW5pbWF0aW9uIiwidXBkYXRlRmlsdGVyQW5pbWF0aW9uU3BlZWQiLCJ3aXRoVGhlbWUiLCJmb3J3YXJkUmVmIiwiX2V4dGVuZHMyIl0sInNvdXJjZXMiOlsiLi4vc3JjL2JvdHRvbS13aWRnZXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge2ZvcndhcmRSZWYsIHVzZU1lbW8sIHVzZUNhbGxiYWNrfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkLCB7d2l0aFRoZW1lLCBJU3R5bGVkQ29tcG9uZW50fSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCB7RklMVEVSX1ZJRVdfVFlQRVMsIEVYUE9SVF9WSURFT19JRH0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtoYXNQb3J0YWJsZVdpZHRoLCBpc1NpZGVGaWx0ZXIsIG1lcmdlRmlsdGVyV2l0aFRpbWVsaW5lfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7bWVkaWEsIGJyZWFrUG9pbnRWYWx1ZXN9IGZyb20gJ0BrZXBsZXIuZ2wvc3R5bGVzJztcbmltcG9ydCB7VGltZVJhbmdlRmlsdGVyfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuaW1wb3J0IFRpbWVXaWRnZXRGYWN0b3J5IGZyb20gJy4vZmlsdGVycy90aW1lLXdpZGdldCc7XG5pbXBvcnQge2JvdHRvbVdpZGdldFNlbGVjdG9yfSBmcm9tICcuL2tlcGxlci1nbCc7XG5pbXBvcnQgRmlsdGVyQW5pbWF0aW9uQ29udHJvbGxlckZhY3RvcnkgZnJvbSAnLi9maWx0ZXItYW5pbWF0aW9uLWNvbnRyb2xsZXInO1xuaW1wb3J0IExheWVyQW5pbWF0aW9uQ29udHJvbGxlckZhY3RvcnkgZnJvbSAnLi9sYXllci1hbmltYXRpb24tY29udHJvbGxlcic7XG5pbXBvcnQgQW5pbWF0aW9uQ29udHJvbEZhY3RvcnkgZnJvbSAnLi9jb21tb24vYW5pbWF0aW9uLWNvbnRyb2wvYW5pbWF0aW9uLWNvbnRyb2wnO1xuaW1wb3J0IHtCYXNlQ29tcG9uZW50UHJvcHN9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBtYXhXaWR0aCA9IDEwODA7XG5cbmV4cG9ydCB0eXBlIEJvdHRvbVdpZGdldENvbnRhaW5lclByb3BzID0gQmFzZUNvbXBvbmVudFByb3BzICYge1xuICAkaGFzUGFkZGluZz86IGJvb2xlYW47XG4gIHdpZHRoOiBudW1iZXI7XG4gIHJlZjogUmVhY3QuRm9yd2FyZGVkUmVmPEhUTUxEaXZFbGVtZW50Pjtcbn07XG5cbmNvbnN0IEJvdHRvbVdpZGdldENvbnRhaW5lcjogSVN0eWxlZENvbXBvbmVudDxcbiAgJ3dlYicsXG4gIEJvdHRvbVdpZGdldENvbnRhaW5lclByb3BzXG4+ID0gc3R5bGVkLmRpdjxCb3R0b21XaWRnZXRDb250YWluZXJQcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmctdG9wOiAke3Byb3BzID0+IChwcm9wcy4kaGFzUGFkZGluZyA/IHByb3BzLnRoZW1lLmJvdHRvbVdpZGdldFBhZGRpbmdUb3AgOiAwKX1weDtcbiAgcGFkZGluZy1yaWdodDogJHtwcm9wcyA9PiAocHJvcHMuJGhhc1BhZGRpbmcgPyBwcm9wcy50aGVtZS5ib3R0b21XaWRnZXRQYWRkaW5nUmlnaHQgOiAwKX1weDtcbiAgcGFkZGluZy1ib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLiRoYXNQYWRkaW5nID8gcHJvcHMudGhlbWUuYm90dG9tV2lkZ2V0UGFkZGluZ0JvdHRvbSA6IDApfXB4O1xuICBwYWRkaW5nLWxlZnQ6ICR7cHJvcHMgPT4gKHByb3BzLiRoYXNQYWRkaW5nID8gcHJvcHMudGhlbWUuYm90dG9tV2lkZ2V0UGFkZGluZ0xlZnQgOiAwKX1weDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDsgLyogcHJldmVudCBwYWRkaW5nIGZyb20gYmxvY2tpbmcgaW5wdXQgKi9cbiAgJiA+ICoge1xuICAgIC8qIGFsbCBjaGlsZHJlbiBzaG91bGQgYWxsb3cgaW5wdXQgKi9cbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB9XG4gIHdpZHRoOiAke3Byb3BzID0+IHByb3BzLndpZHRofXB4O1xuICB6LWluZGV4OiAxO1xuICAke21lZGlhLnBvcnRhYmxlYHBhZGRpbmc6IDA7YH1cbmA7XG5cbmV4cG9ydCB0eXBlIEJvdHRvbVdpZGdldFByb3BzID0ge1xuICByb290UmVmOiBSZWFjdC5Gb3J3YXJkZWRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBjb250YWluZXJXOiBudW1iZXI7XG59ICYgUmV0dXJuVHlwZTx0eXBlb2YgYm90dG9tV2lkZ2V0U2VsZWN0b3I+O1xudHlwZSBUaGVtZVByb3AgPSB7XG4gIHRoZW1lOiBhbnk7XG59O1xudHlwZSBCb3R0b21XaWRnZXRUaGVtZWRQcm9wcyA9IEJvdHRvbVdpZGdldFByb3BzICYgVGhlbWVQcm9wO1xuXG5Cb3R0b21XaWRnZXRGYWN0b3J5LmRlcHMgPSBbXG4gIFRpbWVXaWRnZXRGYWN0b3J5LFxuICBBbmltYXRpb25Db250cm9sRmFjdG9yeSxcbiAgRmlsdGVyQW5pbWF0aW9uQ29udHJvbGxlckZhY3RvcnksXG4gIExheWVyQW5pbWF0aW9uQ29udHJvbGxlckZhY3Rvcnlcbl07XG5cbi8qIGVzbGludC1kaXNhYmxlIGNvbXBsZXhpdHkgKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEJvdHRvbVdpZGdldEZhY3RvcnkoXG4gIFRpbWVXaWRnZXQ6IFJldHVyblR5cGU8dHlwZW9mIFRpbWVXaWRnZXRGYWN0b3J5PixcbiAgQW5pbWF0aW9uQ29udHJvbDogUmV0dXJuVHlwZTx0eXBlb2YgQW5pbWF0aW9uQ29udHJvbEZhY3Rvcnk+LFxuICBGaWx0ZXJBbmltYXRpb25Db250cm9sbGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBGaWx0ZXJBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeT4sXG4gIExheWVyQW5pbWF0aW9uQ29udHJvbGxlcjogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeT5cbik6IFJlYWN0LkZDPEJvdHRvbVdpZGdldFRoZW1lZFByb3BzPiB7XG4gIGNvbnN0IExheWVyQW5pbWF0aW9uQ29udHJvbCA9IHN0eWxlZChBbmltYXRpb25Db250cm9sKWBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVQYW5lbEJnfTtcbiAgYDtcblxuICBjb25zdCBCb3R0b21XaWRnZXQ6IFJlYWN0LkZDPEJvdHRvbVdpZGdldFRoZW1lZFByb3BzPiA9IChwcm9wczogQm90dG9tV2lkZ2V0VGhlbWVkUHJvcHMpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBkYXRhc2V0cyxcbiAgICAgIGZpbHRlcnMsXG4gICAgICBhbmltYXRpb25Db25maWcsXG4gICAgICB0b2dnbGVNb2RhbCxcbiAgICAgIHZpc1N0YXRlQWN0aW9ucyxcbiAgICAgIGNvbnRhaW5lclcsXG4gICAgICB1aVN0YXRlLFxuICAgICAgc2lkZVBhbmVsV2lkdGgsXG4gICAgICBsYXllcnMsXG4gICAgICByb290UmVmLFxuICAgICAgdGhlbWVcbiAgICB9ID0gcHJvcHM7XG5cbiAgICBjb25zdCB7YWN0aXZlU2lkZVBhbmVsLCByZWFkT25seX0gPSB1aVN0YXRlO1xuICAgIGNvbnN0IGlzT3BlbiA9IEJvb2xlYW4oYWN0aXZlU2lkZVBhbmVsKTtcblxuICAgIGNvbnN0IGVubGFyZ2VkRmlsdGVySWR4ID0gdXNlTWVtbygoKSA9PiBmaWx0ZXJzLmZpbmRJbmRleChmID0+ICFpc1NpZGVGaWx0ZXIoZikpLCBbZmlsdGVyc10pO1xuICAgIGNvbnN0IGFuaW1hdGVkRmlsdGVySWR4ID0gdXNlTWVtbygoKSA9PiBmaWx0ZXJzLmZpbmRJbmRleChmID0+IGYuaXNBbmltYXRpbmcpLCBbZmlsdGVyc10pO1xuICAgIGNvbnN0IGFuaW1hdGVkRmlsdGVyID0gYW5pbWF0ZWRGaWx0ZXJJZHggPiAtMSA/IGZpbHRlcnNbYW5pbWF0ZWRGaWx0ZXJJZHhdIDogbnVsbDtcbiAgICAvLyB3ZSBuZWVkIHRvIGhpZGUgbGF5ZXIgdGltZWxpbmUgd2hlbiBmaWx0ZXIgaXMgc3luY2VkIGFuZCBub3QgZW5sYXJnZWRcbiAgICBjb25zdCBpc1RpbWVsaW5lTGlua2VkV2l0aEZpbHRlciA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAoZmlsdGVycyBhcyBUaW1lUmFuZ2VGaWx0ZXJbXSkuc29tZShmID0+IGYuc3luY2VkV2l0aExheWVyVGltZWxpbmUpLFxuICAgICAgW2ZpbHRlcnNdXG4gICAgKTtcblxuICAgIGNvbnN0IGlzTW9iaWxlID0gdXNlTWVtbygoKSA9PiBoYXNQb3J0YWJsZVdpZHRoKGJyZWFrUG9pbnRWYWx1ZXMpLCBbXSk7XG4gICAgY29uc3QgaXNMZWdlbmRQaW5uZWQgPVxuICAgICAgdWlTdGF0ZS5tYXBDb250cm9scz8ubWFwTGVnZW5kPy5zaG93ICYmIHVpU3RhdGUubWFwQ29udHJvbHM/Lm1hcExlZ2VuZD8uYWN0aXZlO1xuICAgIGNvbnN0IHNwYWNlRm9yTGVnZW5kV2lkdGggPSBpc0xlZ2VuZFBpbm5lZFxuICAgICAgPyB0aGVtZS5tYXBDb250cm9sPy53aWR0aCArXG4gICAgICAgIHRoZW1lLm1hcENvbnRyb2w/Lm1hcExlZ2VuZD8ucGlubmVkPy5yaWdodCAqIDIgLVxuICAgICAgICB0aGVtZS5ib3R0b21XaWRnZXRQYWRkaW5nUmlnaHRcbiAgICAgIDogMDtcblxuICAgIGNvbnN0IGVubGFyZ2VkRmlsdGVyV2lkdGggPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKCFpc01vYmlsZSAmJiBpc09wZW4gPyBjb250YWluZXJXIC0gc2lkZVBhbmVsV2lkdGggOiBjb250YWluZXJXKSAtIHNwYWNlRm9yTGVnZW5kV2lkdGgsXG4gICAgICBbaXNNb2JpbGUsIGlzT3BlbiwgY29udGFpbmVyVywgc2lkZVBhbmVsV2lkdGgsIHNwYWNlRm9yTGVnZW5kV2lkdGhdXG4gICAgKTtcblxuICAgIC8vIHNob3cgcGxheWJhY2sgY29udHJvbCBpZiBsYXllcnMgY29udGFpbiB0cmlwIGxheWVyICYgYXQgbGVhc3Qgb25lIHRyaXAgbGF5ZXIgaXMgdmlzaWJsZVxuICAgIGNvbnN0IGFuaW1hdGFibGVMYXllciA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBsYXllcnMuZmlsdGVyKGwgPT4gbC5jb25maWcuYW5pbWF0aW9uICYmIGwuY29uZmlnLmFuaW1hdGlvbi5lbmFibGVkICYmIGwuY29uZmlnLmlzVmlzaWJsZSksXG4gICAgICBbbGF5ZXJzXVxuICAgICk7XG5cbiAgICBjb25zdCByZWFkeVRvQW5pbWF0aW9uID0gdXNlTWVtbyhcbiAgICAgICgpID0+IEFycmF5LmlzQXJyYXkoYW5pbWF0aW9uQ29uZmlnLmRvbWFpbikgJiYgTnVtYmVyLmlzRmluaXRlKGFuaW1hdGlvbkNvbmZpZy5jdXJyZW50VGltZSksXG4gICAgICBbYW5pbWF0aW9uQ29uZmlnLmRvbWFpbiwgYW5pbWF0aW9uQ29uZmlnLmN1cnJlbnRUaW1lXVxuICAgICk7XG5cbiAgICAvLyBpZiBhbmltYXRpb24gY29udHJvbCBpcyBzaG93aW5nLCBoaWRlIHRpbWUgZGlzcGxheSBpbiB0aW1lIHNsaWRlclxuICAgIGNvbnN0IHNob3dGbG9hdGluZ1RpbWVEaXNwbGF5ID0gIWFuaW1hdGFibGVMYXllci5sZW5ndGg7XG4gICAgY29uc3Qgc2hvd0FuaW1hdGlvbkNvbnRyb2wgPVxuICAgICAgYW5pbWF0YWJsZUxheWVyLmxlbmd0aCAmJiByZWFkeVRvQW5pbWF0aW9uICYmICFhbmltYXRpb25Db25maWcuaGlkZUNvbnRyb2w7XG4gICAgY29uc3Qgc2hvd1RpbWVXaWRnZXQgPSBlbmxhcmdlZEZpbHRlcklkeCA+IC0xICYmIE9iamVjdC5rZXlzKGRhdGFzZXRzKS5sZW5ndGggPiAwO1xuXG4gICAgLy8gaWYgZmlsdGVyIGlzIG5vdCBhbmltYXRpbmcsIHBhc3MgaW4gZW5sYXJnZWQgZmlsdGVyIGhlcmUgYmVjYXVzZVxuICAgIC8vIGFuaW1hdGlvbiBjb250cm9sbGVyIG5lZWRzIHRvIGNhbGwgcmVzZXQgb24gaXRcbiAgICBjb25zdCBmaWx0ZXIgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKGFuaW1hdGVkRmlsdGVyIGFzIFRpbWVSYW5nZUZpbHRlcikgfHwgZmlsdGVyc1tlbmxhcmdlZEZpbHRlcklkeF0sXG4gICAgICBbYW5pbWF0ZWRGaWx0ZXIsIGZpbHRlcnMsIGVubGFyZ2VkRmlsdGVySWR4XVxuICAgICk7XG5cbiAgICAvLyB3ZSBtZXJnZSBmaWx0ZXIgYW5kIHRpbWVsaW5lIGlmIGZpbHRlciBpcyBzeW5jZWRcbiAgICBjb25zdCB7ZmlsdGVyOiBlbmhhbmNlZEZpbHRlciwgYW5pbWF0aW9uQ29uZmlnOiBlbmhhbmNlZEFuaW1hdGlvbkNvbmZpZ30gPSB1c2VNZW1vKFxuICAgICAgKCkgPT5cbiAgICAgICAgZmlsdGVyPy5zeW5jZWRXaXRoTGF5ZXJUaW1lbGluZVxuICAgICAgICAgID8gbWVyZ2VGaWx0ZXJXaXRoVGltZWxpbmUoZmlsdGVyLCBhbmltYXRpb25Db25maWcpXG4gICAgICAgICAgOiB7ZmlsdGVyLCBhbmltYXRpb25Db25maWd9LFxuICAgICAgW2ZpbHRlciwgYW5pbWF0aW9uQ29uZmlnXVxuICAgICk7XG5cbiAgICBjb25zdCBleHBvcnRBbmltYXRpb24gPSB1c2VDYWxsYmFjaygoKSA9PiB0b2dnbGVNb2RhbChFWFBPUlRfVklERU9fSUQpLCBbdG9nZ2xlTW9kYWxdKTtcblxuICAgIGNvbnN0IG9uQ2xvc2UgPSB1c2VDYWxsYmFjayhcbiAgICAgICgpID0+IHZpc1N0YXRlQWN0aW9ucy5zZXRGaWx0ZXJWaWV3KGVubGFyZ2VkRmlsdGVySWR4LCBGSUxURVJfVklFV19UWVBFUy5zaWRlKSxcbiAgICAgIFt2aXNTdGF0ZUFjdGlvbnMsIGVubGFyZ2VkRmlsdGVySWR4XVxuICAgICk7XG5cbiAgICBjb25zdCBvblRvZ2dsZU1pbmlmeSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKCkgPT5cbiAgICAgICAgdmlzU3RhdGVBY3Rpb25zLnNldEZpbHRlclZpZXcoXG4gICAgICAgICAgZW5sYXJnZWRGaWx0ZXJJZHgsXG4gICAgICAgICAgZmlsdGVyLnZpZXcgPT09IEZJTFRFUl9WSUVXX1RZUEVTLmVubGFyZ2VkXG4gICAgICAgICAgICA/IEZJTFRFUl9WSUVXX1RZUEVTLm1pbmlmaWVkXG4gICAgICAgICAgICA6IEZJTFRFUl9WSUVXX1RZUEVTLmVubGFyZ2VkXG4gICAgICAgICksXG4gICAgICBbZW5sYXJnZWRGaWx0ZXJJZHgsIHZpc1N0YXRlQWN0aW9ucywgZmlsdGVyXVxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEJvdHRvbVdpZGdldENvbnRhaW5lclxuICAgICAgICB3aWR0aD17TWF0aC5taW4obWF4V2lkdGgsIGVubGFyZ2VkRmlsdGVyV2lkdGgpfVxuICAgICAgICBzdHlsZT17e21hcmdpblJpZ2h0OiBzcGFjZUZvckxlZ2VuZFdpZHRofX1cbiAgICAgICAgY2xhc3NOYW1lPVwiYm90dG9tLXdpZGdldC0tY29udGFpbmVyXCJcbiAgICAgICAgJGhhc1BhZGRpbmc9e3Nob3dBbmltYXRpb25Db250cm9sIHx8IHNob3dUaW1lV2lkZ2V0fVxuICAgICAgICByZWY9e3Jvb3RSZWZ9XG4gICAgICA+XG4gICAgICAgIHshaXNUaW1lbGluZUxpbmtlZFdpdGhGaWx0ZXIgPyAoXG4gICAgICAgICAgPExheWVyQW5pbWF0aW9uQ29udHJvbGxlclxuICAgICAgICAgICAgYW5pbWF0aW9uQ29uZmlnPXtlbmhhbmNlZEFuaW1hdGlvbkNvbmZpZ31cbiAgICAgICAgICAgIHNldExheWVyQW5pbWF0aW9uVGltZT17dmlzU3RhdGVBY3Rpb25zLnNldExheWVyQW5pbWF0aW9uVGltZX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7KGlzQW5pbWF0aW5nLCBzdGFydCwgcGF1c2UsIHJlc2V0QW5pbWF0aW9uLCB0aW1lbGluZSwgc2V0VGltZWxpbmVWYWx1ZSkgPT5cbiAgICAgICAgICAgICAgc2hvd0FuaW1hdGlvbkNvbnRyb2wgPyAoXG4gICAgICAgICAgICAgICAgPExheWVyQW5pbWF0aW9uQ29udHJvbFxuICAgICAgICAgICAgICAgICAgdXBkYXRlQW5pbWF0aW9uU3BlZWQ9e3Zpc1N0YXRlQWN0aW9ucy51cGRhdGVMYXllckFuaW1hdGlvblNwZWVkfVxuICAgICAgICAgICAgICAgICAgdG9nZ2xlQW5pbWF0aW9uPXt2aXNTdGF0ZUFjdGlvbnMudG9nZ2xlTGF5ZXJBbmltYXRpb259XG4gICAgICAgICAgICAgICAgICBleHBvcnRBbmltYXRpb249e2V4cG9ydEFuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICAgIGlzQW5pbWF0YWJsZT17IWFuaW1hdGVkRmlsdGVyfVxuICAgICAgICAgICAgICAgICAgaXNBbmltYXRpbmc9e2lzQW5pbWF0aW5nfVxuICAgICAgICAgICAgICAgICAgcmVzZXRBbmltYXRpb249e3Jlc2V0QW5pbWF0aW9ufVxuICAgICAgICAgICAgICAgICAgc2V0VGltZWxpbmVWYWx1ZT17c2V0VGltZWxpbmVWYWx1ZX1cbiAgICAgICAgICAgICAgICAgIHRpbWVsaW5lPXt0aW1lbGluZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApIDogbnVsbFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvTGF5ZXJBbmltYXRpb25Db250cm9sbGVyPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAge2VuaGFuY2VkRmlsdGVyID8gKFxuICAgICAgICAgIDxGaWx0ZXJBbmltYXRpb25Db250cm9sbGVyXG4gICAgICAgICAgICBmaWx0ZXI9e2VuaGFuY2VkRmlsdGVyfVxuICAgICAgICAgICAgZmlsdGVySWR4PXthbmltYXRlZEZpbHRlcklkeCA+IC0xID8gYW5pbWF0ZWRGaWx0ZXJJZHggOiBlbmxhcmdlZEZpbHRlcklkeH1cbiAgICAgICAgICAgIHNldEZpbHRlckFuaW1hdGlvblRpbWU9e3Zpc1N0YXRlQWN0aW9ucy5zZXRGaWx0ZXJBbmltYXRpb25UaW1lfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHsoaXNBbmltYXRpbmcsIHN0YXJ0LCBwYXVzZSwgcmVzZXRBbmltYXRpb24sIHRpbWVsaW5lLCBzZXRUaW1lbGluZVZhbHVlKSA9PlxuICAgICAgICAgICAgICBzaG93VGltZVdpZGdldCAmJiB0aW1lbGluZSA/IChcbiAgICAgICAgICAgICAgICA8VGltZVdpZGdldFxuICAgICAgICAgICAgICAgICAgLy8gVGltZVdpZGdldCB1c2VzIFJlYWN0Lm1lbW8sIGhlcmUgd2UgcGFzcyB3aWR0aFxuICAgICAgICAgICAgICAgICAgLy8gZXZlbiB0aG91Z2ggaXQgZG9lc250IHVzZSBpdCwgdG8gZm9yY2UgcmVyZW5kZXJcbiAgICAgICAgICAgICAgICAgIGZpbHRlcj17ZW5oYW5jZWRGaWx0ZXIgYXMgVGltZVJhbmdlRmlsdGVyfVxuICAgICAgICAgICAgICAgICAgaW5kZXg9e2VubGFyZ2VkRmlsdGVySWR4fVxuICAgICAgICAgICAgICAgICAgZGF0YXNldHM9e2RhdGFzZXRzfVxuICAgICAgICAgICAgICAgICAgbGF5ZXJzPXtsYXllcnN9XG4gICAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICBzaG93VGltZURpc3BsYXk9e3Nob3dGbG9hdGluZ1RpbWVEaXNwbGF5fVxuICAgICAgICAgICAgICAgICAgc2V0RmlsdGVyUGxvdD17dmlzU3RhdGVBY3Rpb25zLnNldEZpbHRlclBsb3R9XG4gICAgICAgICAgICAgICAgICBzZXRGaWx0ZXJBbmltYXRpb25UaW1lPXtzZXRUaW1lbGluZVZhbHVlfVxuICAgICAgICAgICAgICAgICAgc2V0RmlsdGVyQW5pbWF0aW9uV2luZG93PXt2aXNTdGF0ZUFjdGlvbnMuc2V0RmlsdGVyQW5pbWF0aW9uV2luZG93fVxuICAgICAgICAgICAgICAgICAgc2V0RmlsdGVyU3luY1RpbWVsaW5lTW9kZT17dmlzU3RhdGVBY3Rpb25zLnNldFRpbWVGaWx0ZXJTeW5jVGltZWxpbmVNb2RlfVxuICAgICAgICAgICAgICAgICAgdG9nZ2xlQW5pbWF0aW9uPXt2aXNTdGF0ZUFjdGlvbnMudG9nZ2xlRmlsdGVyQW5pbWF0aW9ufVxuICAgICAgICAgICAgICAgICAgZXhwb3J0QW5pbWF0aW9uPXtleHBvcnRBbmltYXRpb259XG4gICAgICAgICAgICAgICAgICB1cGRhdGVBbmltYXRpb25TcGVlZD17dmlzU3RhdGVBY3Rpb25zLnVwZGF0ZUZpbHRlckFuaW1hdGlvblNwZWVkfVxuICAgICAgICAgICAgICAgICAgcmVzZXRBbmltYXRpb249e3Jlc2V0QW5pbWF0aW9ufVxuICAgICAgICAgICAgICAgICAgaXNBbmltYXRhYmxlPXshYW5pbWF0aW9uQ29uZmlnIHx8ICFhbmltYXRpb25Db25maWcuaXNBbmltYXRpbmd9XG4gICAgICAgICAgICAgICAgICBhbmltYXRpb25Db25maWc9e2FuaW1hdGlvbkNvbmZpZ31cbiAgICAgICAgICAgICAgICAgIG9uQ2xvc2U9e29uQ2xvc2V9XG4gICAgICAgICAgICAgICAgICB0aW1lbGluZT17dGltZWxpbmV9XG4gICAgICAgICAgICAgICAgICBvblRvZ2dsZU1pbmlmeT17b25Ub2dnbGVNaW5pZnl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKSA6IG51bGxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L0ZpbHRlckFuaW1hdGlvbkNvbnRyb2xsZXI+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9Cb3R0b21XaWRnZXRDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gd2l0aFRoZW1lKFxuICAgIGZvcndhcmRSZWYoKHByb3BzOiBCb3R0b21XaWRnZXRUaGVtZWRQcm9wcywgcmVmOiBSZWFjdC5Gb3J3YXJkZWRSZWY8SFRNTERpdkVsZW1lbnQ+KSA9PiAoXG4gICAgICA8Qm90dG9tV2lkZ2V0IHsuLi5wcm9wc30gcm9vdFJlZj17cmVmfSAvPlxuICAgICkpXG4gICk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIGNvbXBsZXhpdHkgKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFGLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRSxVQUFBLEdBQUFGLE9B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
|