@kepler.gl/components 3.3.0-alpha.0 → 3.3.0-alpha.2
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-node.d.ts +11 -0
- package/dist/annotations/annotation-node.js +145 -0
- package/dist/annotations/annotation-overlay.d.ts +16 -0
- package/dist/annotations/annotation-overlay.js +166 -0
- package/dist/annotations/annotation-panel.d.ts +24 -0
- package/dist/annotations/annotation-panel.js +362 -0
- package/dist/annotations/annotation-text.d.ts +16 -0
- package/dist/annotations/annotation-text.js +150 -0
- package/dist/annotations/annotation-utils.d.ts +39 -0
- package/dist/annotations/annotation-utils.js +156 -0
- package/dist/annotations/index.d.ts +7 -0
- package/dist/annotations/index.js +53 -0
- package/dist/annotations/lexical-editor/clickable-link-plugin.d.ts +3 -0
- package/dist/annotations/lexical-editor/clickable-link-plugin.js +71 -0
- package/dist/annotations/lexical-editor/floating-link-editor.d.ts +1 -0
- package/dist/annotations/lexical-editor/floating-link-editor.js +194 -0
- package/dist/annotations/lexical-editor/index.d.ts +7 -0
- package/dist/annotations/lexical-editor/index.js +78 -0
- package/dist/annotations/lexical-editor/lexical-constants.d.ts +12 -0
- package/dist/annotations/lexical-editor/lexical-constants.js +22 -0
- package/dist/annotations/lexical-editor/lexical-nodes.d.ts +3 -0
- package/dist/annotations/lexical-editor/lexical-nodes.js +13 -0
- package/dist/annotations/lexical-editor/lexical-rich-text-editor.d.ts +15 -0
- package/dist/annotations/lexical-editor/lexical-rich-text-editor.js +122 -0
- package/dist/annotations/lexical-editor/lexical-theme.d.ts +15 -0
- package/dist/annotations/lexical-editor/lexical-theme.js +25 -0
- package/dist/annotations/lexical-editor/lexical-toolbar.d.ts +7 -0
- package/dist/annotations/lexical-editor/lexical-toolbar.js +293 -0
- package/dist/annotations/lexical-editor/lexical-utils.d.ts +4 -0
- package/dist/annotations/lexical-editor/lexical-utils.js +45 -0
- package/dist/annotations/lexical-editor/use-lexical-toolbar.d.ts +36 -0
- package/dist/annotations/lexical-editor/use-lexical-toolbar.js +253 -0
- package/dist/bottom-widget.d.ts +1 -1
- package/dist/bottom-widget.js +12 -6
- package/dist/common/action-panel.js +1 -1
- package/dist/common/animation-control/animation-control.d.ts +1 -0
- package/dist/common/animation-control/animation-control.js +3 -1
- package/dist/common/animation-control/animation-controller.js +8 -6
- package/dist/common/animation-control/export-video-control.d.ts +9 -0
- package/dist/common/animation-control/export-video-control.js +43 -0
- package/dist/common/animation-control/playback-controls.d.ts +4 -2
- package/dist/common/animation-control/playback-controls.js +7 -4
- package/dist/common/checkbox.d.ts +5 -21
- package/dist/common/checkbox.js +58 -70
- package/dist/common/color-legend.d.ts +1 -1
- package/dist/common/color-legend.js +3 -3
- package/dist/common/data-table/canvas.d.ts +1 -1
- package/dist/common/data-table/index.d.ts +2 -2
- package/dist/common/data-table/index.js +3 -3
- package/dist/common/dnd-layer-items.d.ts +4 -0
- package/dist/common/dnd-layer-items.js +6 -2
- package/dist/common/error-boundary.d.ts +1 -1
- package/dist/common/file-uploader/file-upload.d.ts +1 -1
- package/dist/common/file-uploader/file-upload.js +4 -4
- package/dist/common/flex-container.d.ts +15 -7
- package/dist/common/histogram-plot.js +102 -53
- package/dist/common/icon-button.d.ts +53 -6
- package/dist/common/icons/3d-models/airplane.d.ts +14 -0
- package/dist/common/icons/3d-models/airplane.js +104 -0
- package/dist/common/icons/3d-models/bicycle.d.ts +14 -0
- package/dist/common/icons/3d-models/bicycle.js +426 -0
- package/dist/common/icons/3d-models/boeing.d.ts +14 -0
- package/dist/common/icons/3d-models/boeing.js +119 -0
- package/dist/common/icons/3d-models/car.d.ts +14 -0
- package/dist/common/icons/3d-models/car.js +110 -0
- package/dist/common/icons/3d-models/cargoship.d.ts +14 -0
- package/dist/common/icons/3d-models/cargoship.js +246 -0
- package/dist/common/icons/3d-models/evtol.d.ts +14 -0
- package/dist/common/icons/3d-models/evtol.js +134 -0
- package/dist/common/icons/3d-models/glider.d.ts +14 -0
- package/dist/common/icons/3d-models/glider.js +62 -0
- package/dist/common/icons/3d-models/helicopter.d.ts +14 -0
- package/dist/common/icons/3d-models/helicopter.js +110 -0
- package/dist/common/icons/3d-models/scooter.d.ts +14 -0
- package/dist/common/icons/3d-models/scooter.js +159 -0
- package/dist/common/icons/3d-models/semitruck.d.ts +14 -0
- package/dist/common/icons/3d-models/semitruck.js +177 -0
- package/dist/common/icons/3d-models/truck.d.ts +14 -0
- package/dist/common/icons/3d-models/truck.js +122 -0
- package/dist/common/icons/anchor_window.d.ts +1 -8
- package/dist/common/icons/anchor_window.js +17 -10
- package/dist/common/icons/annotation-text.d.ts +9 -0
- package/dist/common/icons/annotation-text.js +56 -0
- package/dist/common/icons/arrow-down-full.d.ts +2 -1
- package/dist/common/icons/arrow-down-full.js +1 -1
- package/dist/common/icons/folder.d.ts +10 -0
- package/dist/common/icons/folder.js +51 -0
- package/dist/common/icons/index.d.ts +2 -0
- package/dist/common/icons/index.js +15 -1
- package/dist/common/icons/timeline-marker.d.ts +2 -1
- package/dist/common/icons/timeline-marker.js +1 -1
- package/dist/common/item-selector/chickleted-input.d.ts +1 -1
- package/dist/common/item-selector/chickleted-input.js +5 -5
- package/dist/common/item-selector/dropdown-list.d.ts +1 -1
- package/dist/common/item-selector/dropdown-list.js +1 -1
- package/dist/common/item-selector/dropdown-select.d.ts +13 -7
- package/dist/common/item-selector/item-selector.d.ts +1 -1
- package/dist/common/item-selector/item-selector.js +1 -1
- package/dist/common/item-selector/typeahead.d.ts +4 -4
- package/dist/common/item-selector/typeahead.js +1 -3
- package/dist/common/layout-splitter.d.ts +45 -0
- package/dist/common/layout-splitter.js +231 -0
- package/dist/common/line-chart.d.ts +10 -3
- package/dist/common/line-chart.js +219 -52
- package/dist/common/modal.d.ts +11 -5
- package/dist/common/modal.js +1 -1
- package/dist/common/portaled.d.ts +17 -17
- package/dist/common/range-plot.js +4 -2
- package/dist/common/range-slider.d.ts +2 -0
- package/dist/common/range-slider.js +108 -45
- package/dist/common/slider/mouse-event.d.ts +1 -1
- package/dist/common/slider/mouse-event.js +1 -2
- package/dist/common/slider/slider-bar-handle.d.ts +1 -1
- package/dist/common/slider/slider-bar-handle.js +1 -1
- package/dist/common/slider/slider-handle.d.ts +3 -3
- package/dist/common/slider/slider-handle.js +1 -1
- package/dist/common/slider/slider.d.ts +8 -4
- package/dist/common/slider/slider.js +78 -35
- package/dist/common/styled-components.d.ts +628 -178
- package/dist/common/styled-components.js +2 -2
- package/dist/common/time-range-slider-time-title.d.ts +1 -1
- package/dist/common/time-range-slider-time-title.js +5 -5
- package/dist/common/time-range-slider.d.ts +2 -1
- package/dist/common/time-range-slider.js +19 -7
- package/dist/common/timeline-helpers.d.ts +3 -0
- package/dist/common/timeline-helpers.js +57 -0
- package/dist/common/timeline-slider.js +21 -12
- package/dist/common/toolbar-item.js +5 -5
- package/dist/common/toolbar.d.ts +1 -1
- package/dist/common/toolbar.js +4 -4
- package/dist/common/vertical-toolbar.d.ts +13 -3
- package/dist/container.d.ts +3 -2
- package/dist/container.js +2 -2
- package/dist/context.d.ts +1 -1
- package/dist/context.js +1 -1
- package/dist/dnd-context.d.ts +4 -3
- package/dist/dnd-context.js +64 -9
- package/dist/effects/compact-color-picker.d.ts +1 -1
- package/dist/effects/effect-configurator.d.ts +5 -6
- package/dist/effects/effect-configurator.js +213 -52
- package/dist/effects/effect-manager.js +3 -3
- package/dist/effects/effect-panel-header.js +34 -17
- package/dist/effects/effect-panel.d.ts +4 -4
- package/dist/effects/effect-panel.js +61 -86
- package/dist/effects/effect-time-configurator.js +10 -10
- package/dist/effects/effect-type-dropdown-list.d.ts +1 -0
- package/dist/effects/effect-type-dropdown-list.js +1 -1
- package/dist/effects/effect-type-list-item.d.ts +2 -1
- package/dist/effects/effect-type-list-item.js +23 -7
- package/dist/effects/effect-type-selector.d.ts +1 -0
- package/dist/effects/effect-type-selector.js +2 -2
- package/dist/effects/surface-fog-section.d.ts +14 -0
- package/dist/effects/surface-fog-section.js +263 -0
- package/dist/filters/components.d.ts +7 -5
- package/dist/filters/filter-panels/filter-synced-dataset-panel.d.ts +6 -2
- package/dist/filters/index.d.ts +1 -0
- package/dist/filters/index.js +8 -1
- package/dist/filters/polygon-filter.js +2 -2
- package/dist/filters/time-range-filter.js +3 -1
- package/dist/filters/time-widget-settings.d.ts +14 -0
- package/dist/filters/time-widget-settings.js +312 -0
- package/dist/filters/time-widget-top.d.ts +2 -3
- package/dist/filters/time-widget-top.js +32 -39
- package/dist/filters/time-widget.d.ts +3 -2
- package/dist/filters/time-widget.js +285 -9
- package/dist/filters/types.d.ts +3 -3
- package/dist/filters/types.js +1 -1
- package/dist/geocoder/geocoder.d.ts +4 -1
- package/dist/geocoder/geocoder.js +61 -14
- package/dist/geocoder-panel.d.ts +3 -2
- package/dist/geocoder-panel.js +11 -8
- package/dist/hooks/use-dnd-layers.d.ts +4 -3
- package/dist/hooks/use-dnd-layers.js +103 -42
- package/dist/index.d.ts +17 -2
- package/dist/index.js +161 -9
- package/dist/injector.d.ts +1 -1
- package/dist/kepler-gl.d.ts +179 -27
- package/dist/kepler-gl.js +91 -12
- package/dist/loading-indicator.d.ts +3 -1
- package/dist/loading-indicator.js +6 -3
- package/dist/map/annotations/annotation-control.d.ts +16 -0
- package/dist/map/annotations/annotation-control.js +56 -0
- package/dist/map/layer-hover-info.d.ts +7 -3
- package/dist/map/layer-hover-info.js +124 -55
- package/dist/map/locale-panel.d.ts +1 -1
- package/dist/map/locale-panel.js +2 -2
- package/dist/map/map-control-panel.js +3 -2
- package/dist/map/map-control-toolbar.d.ts +33 -8
- package/dist/map/map-control.d.ts +14 -4
- package/dist/map/map-control.js +18 -8
- package/dist/map/map-draw-panel.d.ts +1 -1
- package/dist/map/map-draw-panel.js +7 -4
- package/dist/map/map-legend-panel.d.ts +11 -2
- package/dist/map/map-legend-panel.js +25 -8
- package/dist/map/map-legend.d.ts +20 -3
- package/dist/map/map-legend.js +145 -31
- package/dist/map/map-navigation-control.d.ts +13 -0
- package/dist/map/map-navigation-control.js +143 -0
- package/dist/map/map-popover.js +2 -2
- package/dist/map/split-map-button.d.ts +6 -1
- package/dist/map/split-map-button.js +113 -19
- package/dist/map-container.d.ts +13 -3
- package/dist/map-container.js +269 -59
- package/dist/map-view-state-context.d.ts +1 -0
- package/dist/map-view-state-context.js +1 -1
- package/dist/maps-layout.d.ts +3 -0
- package/dist/maps-layout.js +86 -26
- package/dist/modal-container.d.ts +3 -2
- package/dist/modal-container.js +28 -6
- package/dist/modals/add-map-style-modal.js +173 -200
- package/dist/modals/cloud-tile.d.ts +1 -2
- package/dist/modals/data-table-modal.d.ts +1 -1
- package/dist/modals/data-table-modal.js +146 -194
- package/dist/modals/export-data-modal.js +117 -139
- package/dist/modals/export-map-modal/components.d.ts +9 -5
- package/dist/modals/export-video-modal.d.ts +28 -0
- package/dist/modals/export-video-modal.js +371 -0
- package/dist/modals/export-video-modal.spec.d.ts +1 -0
- package/dist/modals/export-video-modal.spec.js +686 -0
- package/dist/modals/fog-height-animation.d.ts +8 -0
- package/dist/modals/fog-height-animation.js +97 -0
- package/dist/modals/hubble-utils.d.ts +41 -0
- package/dist/modals/hubble-utils.js +294 -0
- package/dist/modals/hubble-utils.spec.d.ts +1 -0
- package/dist/modals/hubble-utils.spec.js +397 -0
- package/dist/modals/modal-dialog.d.ts +1 -1
- package/dist/modals/share-map-modal.d.ts +2 -4
- package/dist/modals/swipe-composite-utils.d.ts +10 -0
- package/dist/modals/swipe-composite-utils.js +108 -0
- package/dist/modals/swipe-export-settings.d.ts +24 -0
- package/dist/modals/swipe-export-settings.js +370 -0
- package/dist/modals/swipe-export-video-container.d.ts +122 -0
- package/dist/modals/swipe-export-video-container.js +630 -0
- package/dist/modals/swipe-export-video-preview.d.ts +68 -0
- package/dist/modals/swipe-export-video-preview.js +339 -0
- package/dist/modals/tilesets-modals/load-data-footer.js +2 -2
- package/dist/modals/tilesets-modals/load-tileset.js +21 -10
- package/dist/modals/tilesets-modals/tileset-bitmap-form.d.ts +14 -0
- package/dist/modals/tilesets-modals/tileset-bitmap-form.js +284 -0
- package/dist/modals/tilesets-modals/tileset-raster-form.js +90 -11
- package/dist/modals/tilesets-modals/tileset-tile3d-form.js +3 -2
- package/dist/modals/tilesets-modals/tileset-vector-form.js +58 -4
- package/dist/modals/tilesets-modals/tileset-wms-form.js +4 -3
- package/dist/notification-panel/notification-item.d.ts +1 -53
- package/dist/notification-panel/notification-item.js +47 -75
- package/dist/notification-panel.d.ts +1 -1
- package/dist/notification-panel.js +20 -42
- package/dist/plot-container.js +7 -6
- package/dist/side-panel/add-by-dataset-button.js +3 -3
- package/dist/side-panel/common/dataset-info.js +2 -2
- package/dist/side-panel/filter-panel/filter-panel-header.d.ts +7 -3
- package/dist/side-panel/interaction-panel/geocoder-config.d.ts +11 -0
- package/dist/side-panel/interaction-panel/geocoder-config.js +45 -0
- package/dist/side-panel/interaction-panel/interaction-panel.d.ts +3 -2
- package/dist/side-panel/interaction-panel/interaction-panel.js +10 -3
- package/dist/side-panel/layer-manager.d.ts +5 -4
- package/dist/side-panel/layer-manager.js +26 -6
- package/dist/side-panel/layer-panel/color-scale-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/color-scale-selector.js +1 -1
- package/dist/side-panel/layer-panel/color-selector.d.ts +6 -4
- package/dist/side-panel/layer-panel/custom-palette.d.ts +3 -5
- package/dist/side-panel/layer-panel/custom-palette.js +5 -5
- package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +2 -1
- package/dist/side-panel/layer-panel/dataset-layer-group.js +1 -1
- package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +2 -1
- package/dist/side-panel/layer-panel/dataset-layer-section.js +19 -3
- package/dist/side-panel/layer-panel/layer-config-group.d.ts +5 -11
- package/dist/side-panel/layer-panel/layer-configurator.d.ts +4 -2
- package/dist/side-panel/layer-panel/layer-configurator.js +450 -76
- package/dist/side-panel/layer-panel/layer-group-header.d.ts +15 -0
- package/dist/side-panel/layer-panel/layer-group-header.js +179 -0
- package/dist/side-panel/layer-panel/layer-list.d.ts +9 -4
- package/dist/side-panel/layer-panel/layer-list.js +197 -40
- package/dist/side-panel/layer-panel/layer-panel-header.js +2 -2
- package/dist/side-panel/layer-panel/raster-tile-layer-configurator.d.ts +1 -1
- package/dist/side-panel/layer-panel/raster-tile-layer-configurator.js +127 -27
- package/dist/side-panel/layer-panel/scenegraph-model-selector.d.ts +24 -0
- package/dist/side-panel/layer-panel/scenegraph-model-selector.js +123 -0
- package/dist/side-panel/layer-panel/text-label-panel.d.ts +1 -1
- package/dist/side-panel/layer-panel/text-label-panel.js +11 -2
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.d.ts +1 -1
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +2 -10
- package/dist/side-panel/layer-panel/vis-config-slider.d.ts +2 -0
- package/dist/side-panel/layer-panel/vis-config-slider.js +7 -3
- package/dist/side-panel/panel-header.d.ts +1 -0
- package/dist/side-panel/panel-header.js +9 -2
- package/dist/side-panel/panel-tab.d.ts +2 -4
- package/dist/side-panel/panel-tab.js +4 -4
- package/dist/side-panel/panel-view-list-toggle.d.ts +4 -4
- package/dist/side-panel/side-bar.d.ts +1 -6
- package/dist/side-panel.d.ts +1 -1
- package/dist/side-panel.js +5 -1
- package/dist/types.d.ts +2 -2
- package/dist/types.js +1 -1
- package/package.json +53 -48
- package/dist/map/layer-selector-panel.d.ts +0 -21
- package/dist/map/layer-selector-panel.js +0 -85
- package/dist/side-panel/layer-panel/radius-by-zoom-input.d.ts +0 -11
- package/dist/side-panel/layer-panel/radius-by-zoom-input.js +0 -220
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Effect } from '@kepler.gl/types';
|
|
2
|
+
/**
|
|
3
|
+
* Drives the surface fog elevation animation during Hubble video export.
|
|
4
|
+
*
|
|
5
|
+
* Patches DeckSurfaceFogEffect.postRender to interpolate height per-frame
|
|
6
|
+
* using the Hubble adapter's videoCapture.timeMs for precise sync.
|
|
7
|
+
*/
|
|
8
|
+
export declare function useFogHeightAnimation(videoEffects: Effect[], hubbleContainerRef: React.RefObject<any>): void;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useFogHeightAnimation = useFogHeightAnimation;
|
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
+
var _react = require("react");
|
|
10
|
+
var _constants = require("@kepler.gl/constants");
|
|
11
|
+
// SPDX-License-Identifier: MIT
|
|
12
|
+
// Copyright contributors to the kepler.gl project
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Drives the surface fog elevation animation during Hubble video export.
|
|
16
|
+
*
|
|
17
|
+
* Patches DeckSurfaceFogEffect.postRender to interpolate height per-frame
|
|
18
|
+
* using the Hubble adapter's videoCapture.timeMs for precise sync.
|
|
19
|
+
*/
|
|
20
|
+
function useFogHeightAnimation(videoEffects, hubbleContainerRef) {
|
|
21
|
+
var surfaceFogEffect = (0, _react.useMemo)(function () {
|
|
22
|
+
return videoEffects.find(function (e) {
|
|
23
|
+
return e.type === _constants.SURFACE_FOG_TYPE && e.isEnabled;
|
|
24
|
+
});
|
|
25
|
+
}, [videoEffects]);
|
|
26
|
+
var fogHeightAnim = (0, _react.useMemo)(function () {
|
|
27
|
+
var _surfaceFogEffect$par;
|
|
28
|
+
if (!(surfaceFogEffect !== null && surfaceFogEffect !== void 0 && (_surfaceFogEffect$par = surfaceFogEffect.parameters) !== null && _surfaceFogEffect$par !== void 0 && _surfaceFogEffect$par.animateHeight)) return null;
|
|
29
|
+
var params = surfaceFogEffect.parameters;
|
|
30
|
+
return {
|
|
31
|
+
start: params.height,
|
|
32
|
+
end: params.heightEnd,
|
|
33
|
+
linear: Boolean(params.linearEasing)
|
|
34
|
+
};
|
|
35
|
+
}, [surfaceFogEffect]);
|
|
36
|
+
var fogAnimRef = (0, _react.useRef)({
|
|
37
|
+
active: false,
|
|
38
|
+
range: [0, 100],
|
|
39
|
+
originalHeight: 50,
|
|
40
|
+
linear: false
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
// Sync fogAnimRef config with effect parameters (don't start playing yet)
|
|
44
|
+
(0, _react.useEffect)(function () {
|
|
45
|
+
if (fogHeightAnim) {
|
|
46
|
+
fogAnimRef.current.active = true;
|
|
47
|
+
fogAnimRef.current.range = [fogHeightAnim.start, fogHeightAnim.end];
|
|
48
|
+
fogAnimRef.current.originalHeight = fogHeightAnim.start;
|
|
49
|
+
fogAnimRef.current.linear = fogHeightAnim.linear;
|
|
50
|
+
} else {
|
|
51
|
+
if (fogAnimRef.current.active && surfaceFogEffect !== null && surfaceFogEffect !== void 0 && surfaceFogEffect.deckEffect) {
|
|
52
|
+
var _surfaceFogEffect$dec, _surfaceFogEffect$dec2;
|
|
53
|
+
(_surfaceFogEffect$dec = (_surfaceFogEffect$dec2 = surfaceFogEffect.deckEffect).setProps) === null || _surfaceFogEffect$dec === void 0 || _surfaceFogEffect$dec.call(_surfaceFogEffect$dec2, {
|
|
54
|
+
height: fogAnimRef.current.originalHeight
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
fogAnimRef.current.active = false;
|
|
58
|
+
}
|
|
59
|
+
}, [fogHeightAnim, surfaceFogEffect]);
|
|
60
|
+
|
|
61
|
+
// Patch DeckSurfaceFogEffect.postRender to drive height animation per-frame.
|
|
62
|
+
// Reads the Hubble adapter's videoCapture.timeMs to derive progress,
|
|
63
|
+
// so our animation stays perfectly in sync with Hubble's own timeline.
|
|
64
|
+
(0, _react.useEffect)(function () {
|
|
65
|
+
var de = surfaceFogEffect === null || surfaceFogEffect === void 0 ? void 0 : surfaceFogEffect.deckEffect;
|
|
66
|
+
if (!de) return;
|
|
67
|
+
var originalPostRender = de.postRender.bind(de);
|
|
68
|
+
de.postRender = function (params) {
|
|
69
|
+
var ref = fogAnimRef.current;
|
|
70
|
+
if (ref.active) {
|
|
71
|
+
var _hubbleContainerRef$c;
|
|
72
|
+
var hubbleState = (_hubbleContainerRef$c = hubbleContainerRef.current) === null || _hubbleContainerRef$c === void 0 ? void 0 : _hubbleContainerRef$c.state;
|
|
73
|
+
var isPlaying = (hubbleState === null || hubbleState === void 0 ? void 0 : hubbleState.previewing) || (hubbleState === null || hubbleState === void 0 ? void 0 : hubbleState.rendering);
|
|
74
|
+
if (isPlaying) {
|
|
75
|
+
var adapter = hubbleState === null || hubbleState === void 0 ? void 0 : hubbleState.adapter;
|
|
76
|
+
var vc = adapter === null || adapter === void 0 ? void 0 : adapter.videoCapture;
|
|
77
|
+
var tc = vc === null || vc === void 0 ? void 0 : vc.timecode;
|
|
78
|
+
if (vc && tc && tc.duration > 0 && Number.isFinite(vc.timeMs) && Number.isFinite(tc.start)) {
|
|
79
|
+
var progress = Math.min(Math.max((vc.timeMs - tc.start) / tc.duration, 0), 1);
|
|
80
|
+
var t = ref.linear ? progress : progress * progress * (3 - 2 * progress);
|
|
81
|
+
var _ref$range = (0, _slicedToArray2["default"])(ref.range, 2),
|
|
82
|
+
s = _ref$range[0],
|
|
83
|
+
e = _ref$range[1];
|
|
84
|
+
this.props.height = s + (e - s) * t;
|
|
85
|
+
}
|
|
86
|
+
} else {
|
|
87
|
+
this.props.height = ref.originalHeight;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return originalPostRender(params);
|
|
91
|
+
};
|
|
92
|
+
return function () {
|
|
93
|
+
de.postRender = originalPostRender;
|
|
94
|
+
};
|
|
95
|
+
}, [surfaceFogEffect, hubbleContainerRef]);
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX2NvbnN0YW50cyIsInVzZUZvZ0hlaWdodEFuaW1hdGlvbiIsInZpZGVvRWZmZWN0cyIsImh1YmJsZUNvbnRhaW5lclJlZiIsInN1cmZhY2VGb2dFZmZlY3QiLCJ1c2VNZW1vIiwiZmluZCIsImUiLCJ0eXBlIiwiU1VSRkFDRV9GT0dfVFlQRSIsImlzRW5hYmxlZCIsImZvZ0hlaWdodEFuaW0iLCJfc3VyZmFjZUZvZ0VmZmVjdCRwYXIiLCJwYXJhbWV0ZXJzIiwiYW5pbWF0ZUhlaWdodCIsInBhcmFtcyIsInN0YXJ0IiwiaGVpZ2h0IiwiZW5kIiwiaGVpZ2h0RW5kIiwibGluZWFyIiwiQm9vbGVhbiIsImxpbmVhckVhc2luZyIsImZvZ0FuaW1SZWYiLCJ1c2VSZWYiLCJhY3RpdmUiLCJyYW5nZSIsIm9yaWdpbmFsSGVpZ2h0IiwidXNlRWZmZWN0IiwiY3VycmVudCIsImRlY2tFZmZlY3QiLCJfc3VyZmFjZUZvZ0VmZmVjdCRkZWMiLCJfc3VyZmFjZUZvZ0VmZmVjdCRkZWMyIiwic2V0UHJvcHMiLCJjYWxsIiwiZGUiLCJvcmlnaW5hbFBvc3RSZW5kZXIiLCJwb3N0UmVuZGVyIiwiYmluZCIsInJlZiIsIl9odWJibGVDb250YWluZXJSZWYkYyIsImh1YmJsZVN0YXRlIiwic3RhdGUiLCJpc1BsYXlpbmciLCJwcmV2aWV3aW5nIiwicmVuZGVyaW5nIiwiYWRhcHRlciIsInZjIiwidmlkZW9DYXB0dXJlIiwidGMiLCJ0aW1lY29kZSIsImR1cmF0aW9uIiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJ0aW1lTXMiLCJwcm9ncmVzcyIsIk1hdGgiLCJtaW4iLCJtYXgiLCJ0IiwiX3JlZiRyYW5nZSIsIl9zbGljZWRUb0FycmF5MiIsInMiLCJwcm9wcyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RhbHMvZm9nLWhlaWdodC1hbmltYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHt1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtTVVJGQUNFX0ZPR19UWVBFfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge0VmZmVjdH0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cbnR5cGUgRm9nQW5pbVN0YXRlID0ge1xuICBhY3RpdmU6IGJvb2xlYW47XG4gIHJhbmdlOiBbbnVtYmVyLCBudW1iZXJdO1xuICBvcmlnaW5hbEhlaWdodDogbnVtYmVyO1xuICBsaW5lYXI6IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIERyaXZlcyB0aGUgc3VyZmFjZSBmb2cgZWxldmF0aW9uIGFuaW1hdGlvbiBkdXJpbmcgSHViYmxlIHZpZGVvIGV4cG9ydC5cbiAqXG4gKiBQYXRjaGVzIERlY2tTdXJmYWNlRm9nRWZmZWN0LnBvc3RSZW5kZXIgdG8gaW50ZXJwb2xhdGUgaGVpZ2h0IHBlci1mcmFtZVxuICogdXNpbmcgdGhlIEh1YmJsZSBhZGFwdGVyJ3MgdmlkZW9DYXB0dXJlLnRpbWVNcyBmb3IgcHJlY2lzZSBzeW5jLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdXNlRm9nSGVpZ2h0QW5pbWF0aW9uKFxuICB2aWRlb0VmZmVjdHM6IEVmZmVjdFtdLFxuICBodWJibGVDb250YWluZXJSZWY6IFJlYWN0LlJlZk9iamVjdDxhbnk+XG4pOiB2b2lkIHtcbiAgY29uc3Qgc3VyZmFjZUZvZ0VmZmVjdCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gdmlkZW9FZmZlY3RzLmZpbmQoKGU6IEVmZmVjdCkgPT4gZS50eXBlID09PSBTVVJGQUNFX0ZPR19UWVBFICYmIGUuaXNFbmFibGVkKSxcbiAgICBbdmlkZW9FZmZlY3RzXVxuICApO1xuXG4gIGNvbnN0IGZvZ0hlaWdodEFuaW0gPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIXN1cmZhY2VGb2dFZmZlY3Q/LnBhcmFtZXRlcnM/LmFuaW1hdGVIZWlnaHQpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IHBhcmFtcyA9IHN1cmZhY2VGb2dFZmZlY3QucGFyYW1ldGVycztcbiAgICByZXR1cm4ge1xuICAgICAgc3RhcnQ6IHBhcmFtcy5oZWlnaHQgYXMgbnVtYmVyLFxuICAgICAgZW5kOiBwYXJhbXMuaGVpZ2h0RW5kIGFzIG51bWJlcixcbiAgICAgIGxpbmVhcjogQm9vbGVhbihwYXJhbXMubGluZWFyRWFzaW5nKVxuICAgIH07XG4gIH0sIFtzdXJmYWNlRm9nRWZmZWN0XSk7XG5cbiAgY29uc3QgZm9nQW5pbVJlZiA9IHVzZVJlZjxGb2dBbmltU3RhdGU+KHtcbiAgICBhY3RpdmU6IGZhbHNlLFxuICAgIHJhbmdlOiBbMCwgMTAwXSxcbiAgICBvcmlnaW5hbEhlaWdodDogNTAsXG4gICAgbGluZWFyOiBmYWxzZVxuICB9KTtcblxuICAvLyBTeW5jIGZvZ0FuaW1SZWYgY29uZmlnIHdpdGggZWZmZWN0IHBhcmFtZXRlcnMgKGRvbid0IHN0YXJ0IHBsYXlpbmcgeWV0KVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChmb2dIZWlnaHRBbmltKSB7XG4gICAgICBmb2dBbmltUmVmLmN1cnJlbnQuYWN0aXZlID0gdHJ1ZTtcbiAgICAgIGZvZ0FuaW1SZWYuY3VycmVudC5yYW5nZSA9IFtmb2dIZWlnaHRBbmltLnN0YXJ0LCBmb2dIZWlnaHRBbmltLmVuZF07XG4gICAgICBmb2dBbmltUmVmLmN1cnJlbnQub3JpZ2luYWxIZWlnaHQgPSBmb2dIZWlnaHRBbmltLnN0YXJ0O1xuICAgICAgZm9nQW5pbVJlZi5jdXJyZW50LmxpbmVhciA9IGZvZ0hlaWdodEFuaW0ubGluZWFyO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoZm9nQW5pbVJlZi5jdXJyZW50LmFjdGl2ZSAmJiBzdXJmYWNlRm9nRWZmZWN0Py5kZWNrRWZmZWN0KSB7XG4gICAgICAgIHN1cmZhY2VGb2dFZmZlY3QuZGVja0VmZmVjdC5zZXRQcm9wcz8uKHtoZWlnaHQ6IGZvZ0FuaW1SZWYuY3VycmVudC5vcmlnaW5hbEhlaWdodH0pO1xuICAgICAgfVxuICAgICAgZm9nQW5pbVJlZi5jdXJyZW50LmFjdGl2ZSA9IGZhbHNlO1xuICAgIH1cbiAgfSwgW2ZvZ0hlaWdodEFuaW0sIHN1cmZhY2VGb2dFZmZlY3RdKTtcblxuICAvLyBQYXRjaCBEZWNrU3VyZmFjZUZvZ0VmZmVjdC5wb3N0UmVuZGVyIHRvIGRyaXZlIGhlaWdodCBhbmltYXRpb24gcGVyLWZyYW1lLlxuICAvLyBSZWFkcyB0aGUgSHViYmxlIGFkYXB0ZXIncyB2aWRlb0NhcHR1cmUudGltZU1zIHRvIGRlcml2ZSBwcm9ncmVzcyxcbiAgLy8gc28gb3VyIGFuaW1hdGlvbiBzdGF5cyBwZXJmZWN0bHkgaW4gc3luYyB3aXRoIEh1YmJsZSdzIG93biB0aW1lbGluZS5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBkZSA9IHN1cmZhY2VGb2dFZmZlY3Q/LmRlY2tFZmZlY3Q7XG4gICAgaWYgKCFkZSkgcmV0dXJuO1xuICAgIGNvbnN0IG9yaWdpbmFsUG9zdFJlbmRlciA9IGRlLnBvc3RSZW5kZXIuYmluZChkZSk7XG4gICAgZGUucG9zdFJlbmRlciA9IGZ1bmN0aW9uICh0aGlzOiBhbnksIHBhcmFtczogYW55KSB7XG4gICAgICBjb25zdCByZWYgPSBmb2dBbmltUmVmLmN1cnJlbnQ7XG4gICAgICBpZiAocmVmLmFjdGl2ZSkge1xuICAgICAgICBjb25zdCBodWJibGVTdGF0ZSA9IGh1YmJsZUNvbnRhaW5lclJlZi5jdXJyZW50Py5zdGF0ZTtcbiAgICAgICAgY29uc3QgaXNQbGF5aW5nID0gaHViYmxlU3RhdGU/LnByZXZpZXdpbmcgfHwgaHViYmxlU3RhdGU/LnJlbmRlcmluZztcblxuICAgICAgICBpZiAoaXNQbGF5aW5nKSB7XG4gICAgICAgICAgY29uc3QgYWRhcHRlciA9IGh1YmJsZVN0YXRlPy5hZGFwdGVyO1xuICAgICAgICAgIGNvbnN0IHZjID0gYWRhcHRlcj8udmlkZW9DYXB0dXJlO1xuICAgICAgICAgIGNvbnN0IHRjID0gdmM/LnRpbWVjb2RlO1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHZjICYmXG4gICAgICAgICAgICB0YyAmJlxuICAgICAgICAgICAgdGMuZHVyYXRpb24gPiAwICYmXG4gICAgICAgICAgICBOdW1iZXIuaXNGaW5pdGUodmMudGltZU1zKSAmJlxuICAgICAgICAgICAgTnVtYmVyLmlzRmluaXRlKHRjLnN0YXJ0KVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgcHJvZ3Jlc3MgPSBNYXRoLm1pbihNYXRoLm1heCgodmMudGltZU1zIC0gdGMuc3RhcnQpIC8gdGMuZHVyYXRpb24sIDApLCAxKTtcbiAgICAgICAgICAgIGNvbnN0IHQgPSByZWYubGluZWFyID8gcHJvZ3Jlc3MgOiBwcm9ncmVzcyAqIHByb2dyZXNzICogKDMgLSAyICogcHJvZ3Jlc3MpO1xuICAgICAgICAgICAgY29uc3QgW3MsIGVdID0gcmVmLnJhbmdlO1xuICAgICAgICAgICAgdGhpcy5wcm9wcy5oZWlnaHQgPSBzICsgKGUgLSBzKSAqIHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucHJvcHMuaGVpZ2h0ID0gcmVmLm9yaWdpbmFsSGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gb3JpZ2luYWxQb3N0UmVuZGVyKHBhcmFtcyk7XG4gICAgfTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZGUucG9zdFJlbmRlciA9IG9yaWdpbmFsUG9zdFJlbmRlcjtcbiAgICB9O1xuICB9LCBbc3VyZmFjZUZvZ0VmZmVjdCwgaHViYmxlQ29udGFpbmVyUmVmXSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBSkE7QUFDQTs7QUFhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { type MapViewState } from '@deck.gl/core';
|
|
2
|
+
import { TimeRangeFilter } from '@kepler.gl/types';
|
|
3
|
+
type KeplerState = {
|
|
4
|
+
visState: any;
|
|
5
|
+
mapState: any;
|
|
6
|
+
mapStyle: any;
|
|
7
|
+
};
|
|
8
|
+
type MapboxLayerRef = {
|
|
9
|
+
id: string;
|
|
10
|
+
} & Record<string, any>;
|
|
11
|
+
type TimeRangeFilterKeyframes = {
|
|
12
|
+
keyframes: {
|
|
13
|
+
value: number | [number, number];
|
|
14
|
+
}[];
|
|
15
|
+
easings: (p: number) => number;
|
|
16
|
+
timings?: number[];
|
|
17
|
+
};
|
|
18
|
+
export declare function getTimeRangeFilterKeyframes({ filter, timings }: {
|
|
19
|
+
filter: TimeRangeFilter;
|
|
20
|
+
timings: number[];
|
|
21
|
+
}): TimeRangeFilterKeyframes;
|
|
22
|
+
export declare function getBeforeLayerId(topMapStyle: any, bottomMapStyle: any): MapboxLayerRef | null;
|
|
23
|
+
export declare function getStaticMapProps(keplerState: KeplerState, onViewChange: (viewState: Record<string, any>) => void, mapboxApiAccessToken: string, mapboxApiUrl?: string): Record<string, any>;
|
|
24
|
+
export declare function getHubbleDeckGlProps(keplerState: KeplerState, _mapboxApiAccessToken: string, _mapboxApiUrl?: string): Record<string, any>;
|
|
25
|
+
export declare function getAnimatableFilters(keplerState: KeplerState): TimeRangeFilter[];
|
|
26
|
+
export declare function scaleToVideoExport(viewState: MapViewState, container: {
|
|
27
|
+
width: number;
|
|
28
|
+
height: number;
|
|
29
|
+
}): MapViewState & {
|
|
30
|
+
width: number;
|
|
31
|
+
height: number;
|
|
32
|
+
};
|
|
33
|
+
export declare function parseSetCameraType(strCameraType: string, viewState: MapViewState): MapViewState;
|
|
34
|
+
type Resolution = {
|
|
35
|
+
value: string;
|
|
36
|
+
label: string;
|
|
37
|
+
width: number;
|
|
38
|
+
height: number;
|
|
39
|
+
};
|
|
40
|
+
export declare function getResolutionSetting(value: string): Resolution;
|
|
41
|
+
export {};
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.getAnimatableFilters = getAnimatableFilters;
|
|
9
|
+
exports.getBeforeLayerId = getBeforeLayerId;
|
|
10
|
+
exports.getHubbleDeckGlProps = getHubbleDeckGlProps;
|
|
11
|
+
exports.getResolutionSetting = getResolutionSetting;
|
|
12
|
+
exports.getStaticMapProps = getStaticMapProps;
|
|
13
|
+
exports.getTimeRangeFilterKeyframes = getTimeRangeFilterKeyframes;
|
|
14
|
+
exports.parseSetCameraType = parseSetCameraType;
|
|
15
|
+
exports.scaleToVideoExport = scaleToVideoExport;
|
|
16
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
18
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
19
|
+
var _core = require("@deck.gl/core");
|
|
20
|
+
var _constants = require("@kepler.gl/constants");
|
|
21
|
+
var _utils = require("@kepler.gl/utils");
|
|
22
|
+
var _maplibreglMapboxRequestTransformer = require("maplibregl-mapbox-request-transformer");
|
|
23
|
+
var _helpers = require("@turf/helpers");
|
|
24
|
+
var _transformTranslate = _interopRequireDefault(require("@turf/transform-translate"));
|
|
25
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
26
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(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; }
|
|
27
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
28
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } // SPDX-License-Identifier: MIT
|
|
29
|
+
// Copyright contributors to the kepler.gl project
|
|
30
|
+
var linear = function linear(p) {
|
|
31
|
+
return p;
|
|
32
|
+
};
|
|
33
|
+
var hold = function hold(p) {
|
|
34
|
+
return p === 1 ? 1 : 0;
|
|
35
|
+
};
|
|
36
|
+
function getKeyFramesFree(filter) {
|
|
37
|
+
var delta = filter.value[1] - filter.value[0];
|
|
38
|
+
return {
|
|
39
|
+
keyframes: [{
|
|
40
|
+
value: [filter.domain[0], filter.domain[0] + delta]
|
|
41
|
+
}, {
|
|
42
|
+
value: [filter.domain[1] - delta, filter.domain[1]]
|
|
43
|
+
}],
|
|
44
|
+
easings: linear
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
function getTimeRangeFilterKeyframes(_ref) {
|
|
48
|
+
var filter = _ref.filter,
|
|
49
|
+
timings = _ref.timings;
|
|
50
|
+
if (filter.type !== _constants.FILTER_TYPES.timeRange) {
|
|
51
|
+
throw new Error("filter type must be 'timeRange'.");
|
|
52
|
+
}
|
|
53
|
+
var duration = timings[1] - timings[0];
|
|
54
|
+
switch (filter.animationWindow) {
|
|
55
|
+
default:
|
|
56
|
+
case 'free':
|
|
57
|
+
{
|
|
58
|
+
return getKeyFramesFree(filter);
|
|
59
|
+
}
|
|
60
|
+
case 'incremental':
|
|
61
|
+
{
|
|
62
|
+
return {
|
|
63
|
+
keyframes: [{
|
|
64
|
+
value: [filter.value[0], filter.value[0] + 1]
|
|
65
|
+
}, {
|
|
66
|
+
value: [filter.value[0], filter.domain[1]]
|
|
67
|
+
}],
|
|
68
|
+
easings: linear
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
case 'point':
|
|
72
|
+
{
|
|
73
|
+
return {
|
|
74
|
+
keyframes: [{
|
|
75
|
+
value: filter.domain[0]
|
|
76
|
+
}, {
|
|
77
|
+
value: filter.domain[1]
|
|
78
|
+
}],
|
|
79
|
+
easings: linear
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
case 'interval':
|
|
83
|
+
{
|
|
84
|
+
var _timeBins$dataId$;
|
|
85
|
+
var plotType = filter.plotType,
|
|
86
|
+
timeBins = filter.timeBins,
|
|
87
|
+
dataId = filter.dataId;
|
|
88
|
+
var interval = plotType.interval;
|
|
89
|
+
var bins = timeBins === null || timeBins === void 0 || (_timeBins$dataId$ = timeBins[dataId[0]]) === null || _timeBins$dataId$ === void 0 ? void 0 : _timeBins$dataId$[interval];
|
|
90
|
+
if (!interval || !bins || bins.length === 0) {
|
|
91
|
+
return getKeyFramesFree(filter);
|
|
92
|
+
}
|
|
93
|
+
var delta = Math.round(duration / bins.length);
|
|
94
|
+
return {
|
|
95
|
+
timings: bins.map(function (_, idx) {
|
|
96
|
+
return timings[0] + delta * idx;
|
|
97
|
+
}),
|
|
98
|
+
keyframes: bins.map(function (bin) {
|
|
99
|
+
return {
|
|
100
|
+
value: [bin.x0, bin.x1]
|
|
101
|
+
};
|
|
102
|
+
}),
|
|
103
|
+
easings: hold
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
function getBeforeLayerId(topMapStyle, bottomMapStyle) {
|
|
109
|
+
var _topMapStyle$layers, _bottomMapStyle$layer;
|
|
110
|
+
if (topMapStyle !== null && topMapStyle !== void 0 && (_topMapStyle$layers = topMapStyle.layers) !== null && _topMapStyle$layers !== void 0 && _topMapStyle$layers.length && bottomMapStyle !== null && bottomMapStyle !== void 0 && (_bottomMapStyle$layer = bottomMapStyle.layers) !== null && _bottomMapStyle$layer !== void 0 && _bottomMapStyle$layer.length) {
|
|
111
|
+
var firstTopLayer = topMapStyle.layers[0];
|
|
112
|
+
var firstTopLayerIdx = bottomMapStyle.layers.findIndex(function (layer) {
|
|
113
|
+
return layer.id === firstTopLayer.id;
|
|
114
|
+
});
|
|
115
|
+
var beforeIdx = firstTopLayerIdx - 1;
|
|
116
|
+
return beforeIdx > -1 ? bottomMapStyle.layers[beforeIdx] : null;
|
|
117
|
+
}
|
|
118
|
+
return null;
|
|
119
|
+
}
|
|
120
|
+
function getStaticMapProps(keplerState, onViewChange, mapboxApiAccessToken) {
|
|
121
|
+
var _keplerState$mapStyle, _keplerState$mapStyle2, _keplerState$mapStyle3;
|
|
122
|
+
var mapboxApiUrl = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _constants.DEFAULT_MAPBOX_API_URL;
|
|
123
|
+
var currentStyle = (_keplerState$mapStyle = keplerState.mapStyle) === null || _keplerState$mapStyle === void 0 || (_keplerState$mapStyle = _keplerState$mapStyle.mapStyles) === null || _keplerState$mapStyle === void 0 ? void 0 : _keplerState$mapStyle[keplerState.mapStyle.styleType];
|
|
124
|
+
var accessToken = (currentStyle === null || currentStyle === void 0 ? void 0 : currentStyle.accessToken) || mapboxApiAccessToken;
|
|
125
|
+
var isMapbox = (0, _utils.getBaseMapLibrary)(currentStyle) === 'mapbox';
|
|
126
|
+
var mapboxTransformRequest = function mapboxTransformRequest(url, resourceType) {
|
|
127
|
+
if ((0, _maplibreglMapboxRequestTransformer.isMapboxURL)(url)) {
|
|
128
|
+
return (0, _maplibreglMapboxRequestTransformer.transformMapboxUrl)(url, resourceType, accessToken);
|
|
129
|
+
}
|
|
130
|
+
return {
|
|
131
|
+
url: url
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
return _objectSpread(_objectSpread({}, keplerState.mapState), {}, {
|
|
135
|
+
preserveDrawingBuffer: true,
|
|
136
|
+
mapboxApiAccessToken: accessToken,
|
|
137
|
+
mapboxApiUrl: mapboxApiUrl,
|
|
138
|
+
transformRequest: mapboxTransformRequest,
|
|
139
|
+
mapStyle: isMapbox ? convertMapboxStyleUrls((_keplerState$mapStyle2 = keplerState.mapStyle) === null || _keplerState$mapStyle2 === void 0 ? void 0 : _keplerState$mapStyle2.bottomMapStyle, accessToken) : (_keplerState$mapStyle3 = keplerState.mapStyle) === null || _keplerState$mapStyle3 === void 0 ? void 0 : _keplerState$mapStyle3.bottomMapStyle,
|
|
140
|
+
onViewportChange: onViewChange,
|
|
141
|
+
mapLib: Promise.resolve().then(function () {
|
|
142
|
+
return _interopRequireWildcard(require('maplibre-gl'));
|
|
143
|
+
})
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Convert mapbox:// URLs inside a Mapbox style object to HTTPS API URLs
|
|
149
|
+
* so that maplibre-gl can fetch them directly.
|
|
150
|
+
*/
|
|
151
|
+
function convertMapboxStyleUrls(style, accessToken) {
|
|
152
|
+
if (!style || (0, _typeof2["default"])(style) !== 'object') return style;
|
|
153
|
+
var converted = _objectSpread({}, style);
|
|
154
|
+
if (typeof converted.sprite === 'string' && (0, _maplibreglMapboxRequestTransformer.isMapboxURL)(converted.sprite)) {
|
|
155
|
+
var _transformMapboxUrl;
|
|
156
|
+
converted.sprite = (_transformMapboxUrl = (0, _maplibreglMapboxRequestTransformer.transformMapboxUrl)(converted.sprite, 'Sprite', accessToken)) === null || _transformMapboxUrl === void 0 ? void 0 : _transformMapboxUrl.url;
|
|
157
|
+
}
|
|
158
|
+
if (typeof converted.glyphs === 'string' && (0, _maplibreglMapboxRequestTransformer.isMapboxURL)(converted.glyphs)) {
|
|
159
|
+
var _transformMapboxUrl2;
|
|
160
|
+
converted.glyphs = (_transformMapboxUrl2 = (0, _maplibreglMapboxRequestTransformer.transformMapboxUrl)(converted.glyphs, 'Glyphs', accessToken)) === null || _transformMapboxUrl2 === void 0 ? void 0 : _transformMapboxUrl2.url;
|
|
161
|
+
}
|
|
162
|
+
if (converted.sources) {
|
|
163
|
+
var newSources = {};
|
|
164
|
+
for (var _i = 0, _Object$entries = Object.entries(converted.sources); _i < _Object$entries.length; _i++) {
|
|
165
|
+
var _Object$entries$_i = (0, _slicedToArray2["default"])(_Object$entries[_i], 2),
|
|
166
|
+
key = _Object$entries$_i[0],
|
|
167
|
+
source = _Object$entries$_i[1];
|
|
168
|
+
if (source !== null && source !== void 0 && source.url && (0, _maplibreglMapboxRequestTransformer.isMapboxURL)(source.url)) {
|
|
169
|
+
var _transformMapboxUrl3;
|
|
170
|
+
newSources[key] = _objectSpread(_objectSpread({}, source), {}, {
|
|
171
|
+
url: (_transformMapboxUrl3 = (0, _maplibreglMapboxRequestTransformer.transformMapboxUrl)(source.url, 'Source', accessToken)) === null || _transformMapboxUrl3 === void 0 ? void 0 : _transformMapboxUrl3.url
|
|
172
|
+
});
|
|
173
|
+
} else {
|
|
174
|
+
newSources[key] = source;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
converted.sources = newSources;
|
|
178
|
+
}
|
|
179
|
+
return converted;
|
|
180
|
+
}
|
|
181
|
+
function getHubbleParameters(keplerState) {
|
|
182
|
+
return (0, _utils.getLayerBlendingParameters)(keplerState.visState.layerBlending);
|
|
183
|
+
}
|
|
184
|
+
function getHubbleDeckGlProps(keplerState, _mapboxApiAccessToken) {
|
|
185
|
+
var _mapboxApiUrl = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _constants.DEFAULT_MAPBOX_API_URL;
|
|
186
|
+
return {
|
|
187
|
+
parameters: getHubbleParameters(keplerState),
|
|
188
|
+
controller: true,
|
|
189
|
+
views: new _core.MapView({
|
|
190
|
+
id: 'mapbox',
|
|
191
|
+
farZMultiplier: 1.2
|
|
192
|
+
})
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
function getAnimatableFilters(keplerState) {
|
|
196
|
+
var _keplerState$visState;
|
|
197
|
+
var filters = ((_keplerState$visState = keplerState.visState) === null || _keplerState$visState === void 0 ? void 0 : _keplerState$visState.filters) || [];
|
|
198
|
+
return filters.filter(function (f) {
|
|
199
|
+
return f.type === _constants.FILTER_TYPES.timeRange && (f.view === _constants.FILTER_VIEW_TYPES.enlarged || f.syncedWithLayerTimeline);
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
// --- Video export utilities (inlined from @hubble.gl internals) ---
|
|
204
|
+
|
|
205
|
+
function scaleToVideoExport(viewState, container) {
|
|
206
|
+
var viewport = new _core.WebMercatorViewport(viewState);
|
|
207
|
+
var nw = viewport.unproject([0, 0]);
|
|
208
|
+
var se = viewport.unproject([viewport.width, viewport.height]);
|
|
209
|
+
var videoViewport = new _core.WebMercatorViewport(_objectSpread(_objectSpread({}, viewState), {}, {
|
|
210
|
+
width: container.width,
|
|
211
|
+
height: container.height
|
|
212
|
+
})).fitBounds([nw, se]);
|
|
213
|
+
var height = videoViewport.height,
|
|
214
|
+
width = videoViewport.width,
|
|
215
|
+
latitude = videoViewport.latitude,
|
|
216
|
+
longitude = videoViewport.longitude,
|
|
217
|
+
zoom = videoViewport.zoom,
|
|
218
|
+
altitude = videoViewport.altitude;
|
|
219
|
+
return {
|
|
220
|
+
height: height,
|
|
221
|
+
width: width,
|
|
222
|
+
latitude: latitude,
|
|
223
|
+
longitude: longitude,
|
|
224
|
+
pitch: viewState.pitch,
|
|
225
|
+
zoom: zoom,
|
|
226
|
+
bearing: viewState.bearing,
|
|
227
|
+
altitude: altitude
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
function parseSetCameraType(strCameraType, viewState) {
|
|
231
|
+
var modifiedViewState = _objectSpread({}, viewState);
|
|
232
|
+
var match = strCameraType.match(/\b(?!to)\b\S+\w/g);
|
|
233
|
+
if (!match) return modifiedViewState;
|
|
234
|
+
var turfPoint = (0, _helpers.point)([modifiedViewState.longitude, modifiedViewState.latitude]);
|
|
235
|
+
if (match[0] === 'Orbit') {
|
|
236
|
+
modifiedViewState.bearing = modifiedViewState.bearing + parseInt(match[1], 10);
|
|
237
|
+
}
|
|
238
|
+
var directions = new Set(['East', 'South', 'West', 'North']);
|
|
239
|
+
if (directions.has(match[0])) {
|
|
240
|
+
var directionMap = {
|
|
241
|
+
East: 270,
|
|
242
|
+
South: 0,
|
|
243
|
+
West: 90,
|
|
244
|
+
North: 180
|
|
245
|
+
};
|
|
246
|
+
var translatedPoly = (0, _transformTranslate["default"])(turfPoint, 10, directionMap[match[0]]);
|
|
247
|
+
if (match[0] === 'East' || match[0] === 'West') {
|
|
248
|
+
modifiedViewState.longitude = translatedPoly.geometry.coordinates[0];
|
|
249
|
+
} else {
|
|
250
|
+
modifiedViewState.latitude = translatedPoly.geometry.coordinates[1];
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
if (match[0] === 'Zoom') {
|
|
254
|
+
modifiedViewState.zoom += match[1] === 'In' ? 3 : -3;
|
|
255
|
+
}
|
|
256
|
+
return modifiedViewState;
|
|
257
|
+
}
|
|
258
|
+
var RESOLUTIONS = [{
|
|
259
|
+
value: '960x540',
|
|
260
|
+
label: 'Good (540p)',
|
|
261
|
+
width: 960,
|
|
262
|
+
height: 540
|
|
263
|
+
}, {
|
|
264
|
+
value: '1280x720',
|
|
265
|
+
label: 'High (720p)',
|
|
266
|
+
width: 1280,
|
|
267
|
+
height: 720
|
|
268
|
+
}, {
|
|
269
|
+
value: '1920x1080',
|
|
270
|
+
label: 'Highest (1080p)',
|
|
271
|
+
width: 1920,
|
|
272
|
+
height: 1080
|
|
273
|
+
}, {
|
|
274
|
+
value: '640x480',
|
|
275
|
+
label: 'Good (480p)',
|
|
276
|
+
width: 640,
|
|
277
|
+
height: 480
|
|
278
|
+
}, {
|
|
279
|
+
value: '1280x960',
|
|
280
|
+
label: 'High (960p)',
|
|
281
|
+
width: 1280,
|
|
282
|
+
height: 960
|
|
283
|
+
}, {
|
|
284
|
+
value: '1920x1440',
|
|
285
|
+
label: 'Highest (1440p)',
|
|
286
|
+
width: 1920,
|
|
287
|
+
height: 1440
|
|
288
|
+
}];
|
|
289
|
+
function getResolutionSetting(value) {
|
|
290
|
+
return RESOLUTIONS.find(function (r) {
|
|
291
|
+
return r.value === value;
|
|
292
|
+
}) || RESOLUTIONS[0];
|
|
293
|
+
}
|
|
294
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29yZSIsInJlcXVpcmUiLCJfY29uc3RhbnRzIiwiX3V0aWxzIiwiX21hcGxpYnJlZ2xNYXBib3hSZXF1ZXN0VHJhbnNmb3JtZXIiLCJfaGVscGVycyIsIl90cmFuc2Zvcm1UcmFuc2xhdGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX19lc01vZHVsZSIsIl90eXBlb2YzIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwibGluZWFyIiwicCIsImhvbGQiLCJnZXRLZXlGcmFtZXNGcmVlIiwiZGVsdGEiLCJ2YWx1ZSIsImtleWZyYW1lcyIsImRvbWFpbiIsImVhc2luZ3MiLCJnZXRUaW1lUmFuZ2VGaWx0ZXJLZXlmcmFtZXMiLCJfcmVmIiwidGltaW5ncyIsInR5cGUiLCJGSUxURVJfVFlQRVMiLCJ0aW1lUmFuZ2UiLCJFcnJvciIsImR1cmF0aW9uIiwiYW5pbWF0aW9uV2luZG93IiwiX3RpbWVCaW5zJGRhdGFJZCQiLCJwbG90VHlwZSIsInRpbWVCaW5zIiwiZGF0YUlkIiwiaW50ZXJ2YWwiLCJiaW5zIiwiTWF0aCIsInJvdW5kIiwibWFwIiwiXyIsImlkeCIsImJpbiIsIngwIiwieDEiLCJnZXRCZWZvcmVMYXllcklkIiwidG9wTWFwU3R5bGUiLCJib3R0b21NYXBTdHlsZSIsIl90b3BNYXBTdHlsZSRsYXllcnMiLCJfYm90dG9tTWFwU3R5bGUkbGF5ZXIiLCJsYXllcnMiLCJmaXJzdFRvcExheWVyIiwiZmlyc3RUb3BMYXllcklkeCIsImZpbmRJbmRleCIsImxheWVyIiwiaWQiLCJiZWZvcmVJZHgiLCJnZXRTdGF0aWNNYXBQcm9wcyIsImtlcGxlclN0YXRlIiwib25WaWV3Q2hhbmdlIiwibWFwYm94QXBpQWNjZXNzVG9rZW4iLCJfa2VwbGVyU3RhdGUkbWFwU3R5bGUiLCJfa2VwbGVyU3RhdGUkbWFwU3R5bGUyIiwiX2tlcGxlclN0YXRlJG1hcFN0eWxlMyIsIm1hcGJveEFwaVVybCIsInVuZGVmaW5lZCIsIkRFRkFVTFRfTUFQQk9YX0FQSV9VUkwiLCJjdXJyZW50U3R5bGUiLCJtYXBTdHlsZSIsIm1hcFN0eWxlcyIsInN0eWxlVHlwZSIsImFjY2Vzc1Rva2VuIiwiaXNNYXBib3giLCJnZXRCYXNlTWFwTGlicmFyeSIsIm1hcGJveFRyYW5zZm9ybVJlcXVlc3QiLCJ1cmwiLCJyZXNvdXJjZVR5cGUiLCJpc01hcGJveFVSTCIsInRyYW5zZm9ybU1hcGJveFVybCIsIm1hcFN0YXRlIiwicHJlc2VydmVEcmF3aW5nQnVmZmVyIiwidHJhbnNmb3JtUmVxdWVzdCIsImNvbnZlcnRNYXBib3hTdHlsZVVybHMiLCJvblZpZXdwb3J0Q2hhbmdlIiwibWFwTGliIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0aGVuIiwic3R5bGUiLCJfdHlwZW9mMiIsImNvbnZlcnRlZCIsInNwcml0ZSIsIl90cmFuc2Zvcm1NYXBib3hVcmwiLCJnbHlwaHMiLCJfdHJhbnNmb3JtTWFwYm94VXJsMiIsInNvdXJjZXMiLCJuZXdTb3VyY2VzIiwiX2kiLCJfT2JqZWN0JGVudHJpZXMiLCJlbnRyaWVzIiwiX09iamVjdCRlbnRyaWVzJF9pIiwiX3NsaWNlZFRvQXJyYXkyIiwia2V5Iiwic291cmNlIiwiX3RyYW5zZm9ybU1hcGJveFVybDMiLCJnZXRIdWJibGVQYXJhbWV0ZXJzIiwiZ2V0TGF5ZXJCbGVuZGluZ1BhcmFtZXRlcnMiLCJ2aXNTdGF0ZSIsImxheWVyQmxlbmRpbmciLCJnZXRIdWJibGVEZWNrR2xQcm9wcyIsIl9tYXBib3hBcGlBY2Nlc3NUb2tlbiIsIl9tYXBib3hBcGlVcmwiLCJwYXJhbWV0ZXJzIiwiY29udHJvbGxlciIsInZpZXdzIiwiTWFwVmlldyIsImZhclpNdWx0aXBsaWVyIiwiZ2V0QW5pbWF0YWJsZUZpbHRlcnMiLCJfa2VwbGVyU3RhdGUkdmlzU3RhdGUiLCJmaWx0ZXJzIiwiZiIsInZpZXciLCJGSUxURVJfVklFV19UWVBFUyIsImVubGFyZ2VkIiwic3luY2VkV2l0aExheWVyVGltZWxpbmUiLCJzY2FsZVRvVmlkZW9FeHBvcnQiLCJ2aWV3U3RhdGUiLCJjb250YWluZXIiLCJ2aWV3cG9ydCIsIldlYk1lcmNhdG9yVmlld3BvcnQiLCJudyIsInVucHJvamVjdCIsInNlIiwid2lkdGgiLCJoZWlnaHQiLCJ2aWRlb1ZpZXdwb3J0IiwiZml0Qm91bmRzIiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJ6b29tIiwiYWx0aXR1ZGUiLCJwaXRjaCIsImJlYXJpbmciLCJwYXJzZVNldENhbWVyYVR5cGUiLCJzdHJDYW1lcmFUeXBlIiwibW9kaWZpZWRWaWV3U3RhdGUiLCJtYXRjaCIsInR1cmZQb2ludCIsInBvaW50IiwicGFyc2VJbnQiLCJkaXJlY3Rpb25zIiwiU2V0IiwiZGlyZWN0aW9uTWFwIiwiRWFzdCIsIlNvdXRoIiwiV2VzdCIsIk5vcnRoIiwidHJhbnNsYXRlZFBvbHkiLCJ0cmFuc2Zvcm1UcmFuc2xhdGUiLCJnZW9tZXRyeSIsImNvb3JkaW5hdGVzIiwiUkVTT0xVVElPTlMiLCJsYWJlbCIsImdldFJlc29sdXRpb25TZXR0aW5nIiwiZmluZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RhbHMvaHViYmxlLXV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7TWFwVmlldywgV2ViTWVyY2F0b3JWaWV3cG9ydCwgdHlwZSBNYXBWaWV3U3RhdGV9IGZyb20gJ0BkZWNrLmdsL2NvcmUnO1xuaW1wb3J0IHtERUZBVUxUX01BUEJPWF9BUElfVVJMLCBGSUxURVJfVklFV19UWVBFUywgRklMVEVSX1RZUEVTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge2dldExheWVyQmxlbmRpbmdQYXJhbWV0ZXJzLCBnZXRCYXNlTWFwTGlicmFyeX0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge2lzTWFwYm94VVJMLCB0cmFuc2Zvcm1NYXBib3hVcmx9IGZyb20gJ21hcGxpYnJlZ2wtbWFwYm94LXJlcXVlc3QtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHtwb2ludH0gZnJvbSAnQHR1cmYvaGVscGVycyc7XG5pbXBvcnQgdHJhbnNmb3JtVHJhbnNsYXRlIGZyb20gJ0B0dXJmL3RyYW5zZm9ybS10cmFuc2xhdGUnO1xuaW1wb3J0IHtUaW1lUmFuZ2VGaWx0ZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG50eXBlIEtlcGxlclN0YXRlID0ge1xuICB2aXNTdGF0ZTogYW55O1xuICBtYXBTdGF0ZTogYW55O1xuICBtYXBTdHlsZTogYW55O1xufTtcblxudHlwZSBNYXBib3hMYXllclJlZiA9IHtcbiAgaWQ6IHN0cmluZztcbn0gJiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG5jb25zdCBsaW5lYXI6IChwOiBudW1iZXIpID0+IG51bWJlciA9IHAgPT4gcDtcbmNvbnN0IGhvbGQ6IChwOiBudW1iZXIpID0+IG51bWJlciA9IHAgPT4gKHAgPT09IDEgPyAxIDogMCk7XG5cbnR5cGUgVGltZVJhbmdlRmlsdGVyS2V5ZnJhbWVzID0ge1xuICBrZXlmcmFtZXM6IHt2YWx1ZTogbnVtYmVyIHwgW251bWJlciwgbnVtYmVyXX1bXTtcbiAgZWFzaW5nczogKHA6IG51bWJlcikgPT4gbnVtYmVyO1xuICB0aW1pbmdzPzogbnVtYmVyW107XG59O1xuXG5mdW5jdGlvbiBnZXRLZXlGcmFtZXNGcmVlKGZpbHRlcjogVGltZVJhbmdlRmlsdGVyKTogVGltZVJhbmdlRmlsdGVyS2V5ZnJhbWVzIHtcbiAgY29uc3QgZGVsdGEgPSBmaWx0ZXIudmFsdWVbMV0gLSBmaWx0ZXIudmFsdWVbMF07XG4gIHJldHVybiB7XG4gICAga2V5ZnJhbWVzOiBbXG4gICAgICB7dmFsdWU6IFtmaWx0ZXIuZG9tYWluWzBdLCBmaWx0ZXIuZG9tYWluWzBdICsgZGVsdGFdfSxcbiAgICAgIHt2YWx1ZTogW2ZpbHRlci5kb21haW5bMV0gLSBkZWx0YSwgZmlsdGVyLmRvbWFpblsxXV19XG4gICAgXSxcbiAgICBlYXNpbmdzOiBsaW5lYXJcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRpbWVSYW5nZUZpbHRlcktleWZyYW1lcyh7XG4gIGZpbHRlcixcbiAgdGltaW5nc1xufToge1xuICBmaWx0ZXI6IFRpbWVSYW5nZUZpbHRlcjtcbiAgdGltaW5nczogbnVtYmVyW107XG59KTogVGltZVJhbmdlRmlsdGVyS2V5ZnJhbWVzIHtcbiAgaWYgKGZpbHRlci50eXBlICE9PSBGSUxURVJfVFlQRVMudGltZVJhbmdlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiZmlsdGVyIHR5cGUgbXVzdCBiZSAndGltZVJhbmdlJy5cIik7XG4gIH1cblxuICBjb25zdCBkdXJhdGlvbiA9IHRpbWluZ3NbMV0gLSB0aW1pbmdzWzBdO1xuXG4gIHN3aXRjaCAoZmlsdGVyLmFuaW1hdGlvbldpbmRvdykge1xuICAgIGRlZmF1bHQ6XG4gICAgY2FzZSAnZnJlZSc6IHtcbiAgICAgIHJldHVybiBnZXRLZXlGcmFtZXNGcmVlKGZpbHRlcik7XG4gICAgfVxuICAgIGNhc2UgJ2luY3JlbWVudGFsJzoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAga2V5ZnJhbWVzOiBbXG4gICAgICAgICAge3ZhbHVlOiBbZmlsdGVyLnZhbHVlWzBdLCBmaWx0ZXIudmFsdWVbMF0gKyAxXX0sXG4gICAgICAgICAge3ZhbHVlOiBbZmlsdGVyLnZhbHVlWzBdLCBmaWx0ZXIuZG9tYWluWzFdXX1cbiAgICAgICAgXSxcbiAgICAgICAgZWFzaW5nczogbGluZWFyXG4gICAgICB9O1xuICAgIH1cbiAgICBjYXNlICdwb2ludCc6IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGtleWZyYW1lczogW3t2YWx1ZTogZmlsdGVyLmRvbWFpblswXX0sIHt2YWx1ZTogZmlsdGVyLmRvbWFpblsxXX1dLFxuICAgICAgICBlYXNpbmdzOiBsaW5lYXJcbiAgICAgIH07XG4gICAgfVxuICAgIGNhc2UgJ2ludGVydmFsJzoge1xuICAgICAgY29uc3Qge3Bsb3RUeXBlLCB0aW1lQmlucywgZGF0YUlkfSA9IGZpbHRlcjtcbiAgICAgIGNvbnN0IHtpbnRlcnZhbH0gPSBwbG90VHlwZTtcblxuICAgICAgY29uc3QgYmlucyA9IHRpbWVCaW5zPy5bZGF0YUlkWzBdXT8uW2ludGVydmFsXTtcblxuICAgICAgaWYgKCFpbnRlcnZhbCB8fCAhYmlucyB8fCBiaW5zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gZ2V0S2V5RnJhbWVzRnJlZShmaWx0ZXIpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBkZWx0YSA9IE1hdGgucm91bmQoZHVyYXRpb24gLyBiaW5zLmxlbmd0aCk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRpbWluZ3M6IGJpbnMubWFwKChfLCBpZHgpID0+IHRpbWluZ3NbMF0gKyBkZWx0YSAqIGlkeCksXG4gICAgICAgIGtleWZyYW1lczogYmlucy5tYXAoYmluID0+ICh7dmFsdWU6IFtiaW4ueDAsIGJpbi54MV19KSksXG4gICAgICAgIGVhc2luZ3M6IGhvbGRcbiAgICAgIH07XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCZWZvcmVMYXllcklkKHRvcE1hcFN0eWxlOiBhbnksIGJvdHRvbU1hcFN0eWxlOiBhbnkpOiBNYXBib3hMYXllclJlZiB8IG51bGwge1xuICBpZiAodG9wTWFwU3R5bGU/LmxheWVycz8ubGVuZ3RoICYmIGJvdHRvbU1hcFN0eWxlPy5sYXllcnM/Lmxlbmd0aCkge1xuICAgIGNvbnN0IGZpcnN0VG9wTGF5ZXIgPSB0b3BNYXBTdHlsZS5sYXllcnNbMF07XG4gICAgY29uc3QgZmlyc3RUb3BMYXllcklkeCA9IGJvdHRvbU1hcFN0eWxlLmxheWVycy5maW5kSW5kZXgoXG4gICAgICAobGF5ZXI6IE1hcGJveExheWVyUmVmKSA9PiBsYXllci5pZCA9PT0gZmlyc3RUb3BMYXllci5pZFxuICAgICk7XG4gICAgY29uc3QgYmVmb3JlSWR4ID0gZmlyc3RUb3BMYXllcklkeCAtIDE7XG4gICAgcmV0dXJuIGJlZm9yZUlkeCA+IC0xID8gYm90dG9tTWFwU3R5bGUubGF5ZXJzW2JlZm9yZUlkeF0gOiBudWxsO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdGljTWFwUHJvcHMoXG4gIGtlcGxlclN0YXRlOiBLZXBsZXJTdGF0ZSxcbiAgb25WaWV3Q2hhbmdlOiAodmlld1N0YXRlOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSA9PiB2b2lkLFxuICBtYXBib3hBcGlBY2Nlc3NUb2tlbjogc3RyaW5nLFxuICBtYXBib3hBcGlVcmw6IHN0cmluZyA9IERFRkFVTFRfTUFQQk9YX0FQSV9VUkxcbik6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICBjb25zdCBjdXJyZW50U3R5bGUgPSBrZXBsZXJTdGF0ZS5tYXBTdHlsZT8ubWFwU3R5bGVzPy5ba2VwbGVyU3RhdGUubWFwU3R5bGUuc3R5bGVUeXBlXTtcbiAgY29uc3QgYWNjZXNzVG9rZW4gPSBjdXJyZW50U3R5bGU/LmFjY2Vzc1Rva2VuIHx8IG1hcGJveEFwaUFjY2Vzc1Rva2VuO1xuICBjb25zdCBpc01hcGJveCA9IGdldEJhc2VNYXBMaWJyYXJ5KGN1cnJlbnRTdHlsZSkgPT09ICdtYXBib3gnO1xuXG4gIGNvbnN0IG1hcGJveFRyYW5zZm9ybVJlcXVlc3QgPSAodXJsOiBzdHJpbmcsIHJlc291cmNlVHlwZTogc3RyaW5nKSA9PiB7XG4gICAgaWYgKGlzTWFwYm94VVJMKHVybCkpIHtcbiAgICAgIHJldHVybiB0cmFuc2Zvcm1NYXBib3hVcmwodXJsLCByZXNvdXJjZVR5cGUsIGFjY2Vzc1Rva2VuKTtcbiAgICB9XG4gICAgcmV0dXJuIHt1cmx9O1xuICB9O1xuXG4gIHJldHVybiB7XG4gICAgLi4ua2VwbGVyU3RhdGUubWFwU3RhdGUsXG4gICAgcHJlc2VydmVEcmF3aW5nQnVmZmVyOiB0cnVlLFxuICAgIG1hcGJveEFwaUFjY2Vzc1Rva2VuOiBhY2Nlc3NUb2tlbixcbiAgICBtYXBib3hBcGlVcmwsXG4gICAgdHJhbnNmb3JtUmVxdWVzdDogbWFwYm94VHJhbnNmb3JtUmVxdWVzdCxcbiAgICBtYXBTdHlsZTogaXNNYXBib3hcbiAgICAgID8gY29udmVydE1hcGJveFN0eWxlVXJscyhrZXBsZXJTdGF0ZS5tYXBTdHlsZT8uYm90dG9tTWFwU3R5bGUsIGFjY2Vzc1Rva2VuKVxuICAgICAgOiBrZXBsZXJTdGF0ZS5tYXBTdHlsZT8uYm90dG9tTWFwU3R5bGUsXG4gICAgb25WaWV3cG9ydENoYW5nZTogb25WaWV3Q2hhbmdlLFxuICAgIG1hcExpYjogaW1wb3J0KCdtYXBsaWJyZS1nbCcpXG4gIH07XG59XG5cbi8qKlxuICogQ29udmVydCBtYXBib3g6Ly8gVVJMcyBpbnNpZGUgYSBNYXBib3ggc3R5bGUgb2JqZWN0IHRvIEhUVFBTIEFQSSBVUkxzXG4gKiBzbyB0aGF0IG1hcGxpYnJlLWdsIGNhbiBmZXRjaCB0aGVtIGRpcmVjdGx5LlxuICovXG5mdW5jdGlvbiBjb252ZXJ0TWFwYm94U3R5bGVVcmxzKHN0eWxlOiBhbnksIGFjY2Vzc1Rva2VuOiBzdHJpbmcpOiBhbnkge1xuICBpZiAoIXN0eWxlIHx8IHR5cGVvZiBzdHlsZSAhPT0gJ29iamVjdCcpIHJldHVybiBzdHlsZTtcblxuICBjb25zdCBjb252ZXJ0ZWQgPSB7Li4uc3R5bGV9O1xuXG4gIGlmICh0eXBlb2YgY29udmVydGVkLnNwcml0ZSA9PT0gJ3N0cmluZycgJiYgaXNNYXBib3hVUkwoY29udmVydGVkLnNwcml0ZSkpIHtcbiAgICBjb252ZXJ0ZWQuc3ByaXRlID0gdHJhbnNmb3JtTWFwYm94VXJsKGNvbnZlcnRlZC5zcHJpdGUsICdTcHJpdGUnLCBhY2Nlc3NUb2tlbik/LnVybDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgY29udmVydGVkLmdseXBocyA9PT0gJ3N0cmluZycgJiYgaXNNYXBib3hVUkwoY29udmVydGVkLmdseXBocykpIHtcbiAgICBjb252ZXJ0ZWQuZ2x5cGhzID0gdHJhbnNmb3JtTWFwYm94VXJsKGNvbnZlcnRlZC5nbHlwaHMsICdHbHlwaHMnLCBhY2Nlc3NUb2tlbik/LnVybDtcbiAgfVxuXG4gIGlmIChjb252ZXJ0ZWQuc291cmNlcykge1xuICAgIGNvbnN0IG5ld1NvdXJjZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHNvdXJjZV0gb2YgT2JqZWN0LmVudHJpZXM8YW55Pihjb252ZXJ0ZWQuc291cmNlcykpIHtcbiAgICAgIGlmIChzb3VyY2U/LnVybCAmJiBpc01hcGJveFVSTChzb3VyY2UudXJsKSkge1xuICAgICAgICBuZXdTb3VyY2VzW2tleV0gPSB7XG4gICAgICAgICAgLi4uc291cmNlLFxuICAgICAgICAgIHVybDogdHJhbnNmb3JtTWFwYm94VXJsKHNvdXJjZS51cmwsICdTb3VyY2UnLCBhY2Nlc3NUb2tlbik/LnVybFxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3U291cmNlc1trZXldID0gc291cmNlO1xuICAgICAgfVxuICAgIH1cbiAgICBjb252ZXJ0ZWQuc291cmNlcyA9IG5ld1NvdXJjZXM7XG4gIH1cblxuICByZXR1cm4gY29udmVydGVkO1xufVxuXG5mdW5jdGlvbiBnZXRIdWJibGVQYXJhbWV0ZXJzKGtlcGxlclN0YXRlOiBLZXBsZXJTdGF0ZSk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICByZXR1cm4gZ2V0TGF5ZXJCbGVuZGluZ1BhcmFtZXRlcnMoa2VwbGVyU3RhdGUudmlzU3RhdGUubGF5ZXJCbGVuZGluZyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIdWJibGVEZWNrR2xQcm9wcyhcbiAga2VwbGVyU3RhdGU6IEtlcGxlclN0YXRlLFxuICBfbWFwYm94QXBpQWNjZXNzVG9rZW46IHN0cmluZyxcbiAgX21hcGJveEFwaVVybDogc3RyaW5nID0gREVGQVVMVF9NQVBCT1hfQVBJX1VSTFxuKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gIHJldHVybiB7XG4gICAgcGFyYW1ldGVyczogZ2V0SHViYmxlUGFyYW1ldGVycyhrZXBsZXJTdGF0ZSksXG4gICAgY29udHJvbGxlcjogdHJ1ZSxcbiAgICB2aWV3czogbmV3IE1hcFZpZXcoe1xuICAgICAgaWQ6ICdtYXBib3gnLFxuICAgICAgZmFyWk11bHRpcGxpZXI6IDEuMlxuICAgIH0pXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbmltYXRhYmxlRmlsdGVycyhrZXBsZXJTdGF0ZTogS2VwbGVyU3RhdGUpOiBUaW1lUmFuZ2VGaWx0ZXJbXSB7XG4gIGNvbnN0IGZpbHRlcnMgPSBrZXBsZXJTdGF0ZS52aXNTdGF0ZT8uZmlsdGVycyB8fCBbXTtcbiAgcmV0dXJuIGZpbHRlcnMuZmlsdGVyKFxuICAgIChmOiBhbnkpID0+XG4gICAgICBmLnR5cGUgPT09IEZJTFRFUl9UWVBFUy50aW1lUmFuZ2UgJiZcbiAgICAgIChmLnZpZXcgPT09IEZJTFRFUl9WSUVXX1RZUEVTLmVubGFyZ2VkIHx8IGYuc3luY2VkV2l0aExheWVyVGltZWxpbmUpXG4gICk7XG59XG5cbi8vIC0tLSBWaWRlbyBleHBvcnQgdXRpbGl0aWVzIChpbmxpbmVkIGZyb20gQGh1YmJsZS5nbCBpbnRlcm5hbHMpIC0tLVxuXG5leHBvcnQgZnVuY3Rpb24gc2NhbGVUb1ZpZGVvRXhwb3J0KFxuICB2aWV3U3RhdGU6IE1hcFZpZXdTdGF0ZSxcbiAgY29udGFpbmVyOiB7d2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXJ9XG4pOiBNYXBWaWV3U3RhdGUgJiB7d2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXJ9IHtcbiAgY29uc3Qgdmlld3BvcnQgPSBuZXcgV2ViTWVyY2F0b3JWaWV3cG9ydCh2aWV3U3RhdGUpO1xuICBjb25zdCBudyA9IHZpZXdwb3J0LnVucHJvamVjdChbMCwgMF0pIGFzIFtudW1iZXIsIG51bWJlcl07XG4gIGNvbnN0IHNlID0gdmlld3BvcnQudW5wcm9qZWN0KFt2aWV3cG9ydC53aWR0aCwgdmlld3BvcnQuaGVpZ2h0XSkgYXMgW251bWJlciwgbnVtYmVyXTtcbiAgY29uc3QgdmlkZW9WaWV3cG9ydCA9IG5ldyBXZWJNZXJjYXRvclZpZXdwb3J0KHtcbiAgICAuLi52aWV3U3RhdGUsXG4gICAgd2lkdGg6IGNvbnRhaW5lci53aWR0aCxcbiAgICBoZWlnaHQ6IGNvbnRhaW5lci5oZWlnaHRcbiAgfSkuZml0Qm91bmRzKFtudywgc2VdKTtcbiAgY29uc3Qge2hlaWdodCwgd2lkdGgsIGxhdGl0dWRlLCBsb25naXR1ZGUsIHpvb20sIGFsdGl0dWRlfSA9IHZpZGVvVmlld3BvcnQ7XG4gIHJldHVybiB7XG4gICAgaGVpZ2h0LFxuICAgIHdpZHRoLFxuICAgIGxhdGl0dWRlLFxuICAgIGxvbmdpdHVkZSxcbiAgICBwaXRjaDogdmlld1N0YXRlLnBpdGNoLFxuICAgIHpvb20sXG4gICAgYmVhcmluZzogdmlld1N0YXRlLmJlYXJpbmcsXG4gICAgYWx0aXR1ZGVcbiAgfSBhcyBhbnk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVNldENhbWVyYVR5cGUoc3RyQ2FtZXJhVHlwZTogc3RyaW5nLCB2aWV3U3RhdGU6IE1hcFZpZXdTdGF0ZSk6IE1hcFZpZXdTdGF0ZSB7XG4gIGNvbnN0IG1vZGlmaWVkVmlld1N0YXRlOiBhbnkgPSB7Li4udmlld1N0YXRlfTtcbiAgY29uc3QgbWF0Y2ggPSBzdHJDYW1lcmFUeXBlLm1hdGNoKC9cXGIoPyF0bylcXGJcXFMrXFx3L2cpO1xuICBpZiAoIW1hdGNoKSByZXR1cm4gbW9kaWZpZWRWaWV3U3RhdGU7XG5cbiAgY29uc3QgdHVyZlBvaW50ID0gcG9pbnQoW21vZGlmaWVkVmlld1N0YXRlLmxvbmdpdHVkZSwgbW9kaWZpZWRWaWV3U3RhdGUubGF0aXR1ZGVdKTtcblxuICBpZiAobWF0Y2hbMF0gPT09ICdPcmJpdCcpIHtcbiAgICBtb2RpZmllZFZpZXdTdGF0ZS5iZWFyaW5nID0gbW9kaWZpZWRWaWV3U3RhdGUuYmVhcmluZyArIHBhcnNlSW50KG1hdGNoWzFdLCAxMCk7XG4gIH1cblxuICBjb25zdCBkaXJlY3Rpb25zID0gbmV3IFNldChbJ0Vhc3QnLCAnU291dGgnLCAnV2VzdCcsICdOb3J0aCddKTtcbiAgaWYgKGRpcmVjdGlvbnMuaGFzKG1hdGNoWzBdKSkge1xuICAgIGNvbnN0IGRpcmVjdGlvbk1hcDogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHtFYXN0OiAyNzAsIFNvdXRoOiAwLCBXZXN0OiA5MCwgTm9ydGg6IDE4MH07XG4gICAgY29uc3QgdHJhbnNsYXRlZFBvbHkgPSB0cmFuc2Zvcm1UcmFuc2xhdGUodHVyZlBvaW50LCAxMCwgZGlyZWN0aW9uTWFwW21hdGNoWzBdXSk7XG4gICAgaWYgKG1hdGNoWzBdID09PSAnRWFzdCcgfHwgbWF0Y2hbMF0gPT09ICdXZXN0Jykge1xuICAgICAgbW9kaWZpZWRWaWV3U3RhdGUubG9uZ2l0dWRlID0gdHJhbnNsYXRlZFBvbHkuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF07XG4gICAgfSBlbHNlIHtcbiAgICAgIG1vZGlmaWVkVmlld1N0YXRlLmxhdGl0dWRlID0gdHJhbnNsYXRlZFBvbHkuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMV07XG4gICAgfVxuICB9XG5cbiAgaWYgKG1hdGNoWzBdID09PSAnWm9vbScpIHtcbiAgICBtb2RpZmllZFZpZXdTdGF0ZS56b29tICs9IG1hdGNoWzFdID09PSAnSW4nID8gMyA6IC0zO1xuICB9XG5cbiAgcmV0dXJuIG1vZGlmaWVkVmlld1N0YXRlO1xufVxuXG50eXBlIFJlc29sdXRpb24gPSB7dmFsdWU6IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgd2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXJ9O1xuXG5jb25zdCBSRVNPTFVUSU9OUzogUmVzb2x1dGlvbltdID0gW1xuICB7dmFsdWU6ICc5NjB4NTQwJywgbGFiZWw6ICdHb29kICg1NDBwKScsIHdpZHRoOiA5NjAsIGhlaWdodDogNTQwfSxcbiAge3ZhbHVlOiAnMTI4MHg3MjAnLCBsYWJlbDogJ0hpZ2ggKDcyMHApJywgd2lkdGg6IDEyODAsIGhlaWdodDogNzIwfSxcbiAge3ZhbHVlOiAnMTkyMHgxMDgwJywgbGFiZWw6ICdIaWdoZXN0ICgxMDgwcCknLCB3aWR0aDogMTkyMCwgaGVpZ2h0OiAxMDgwfSxcbiAge3ZhbHVlOiAnNjQweDQ4MCcsIGxhYmVsOiAnR29vZCAoNDgwcCknLCB3aWR0aDogNjQwLCBoZWlnaHQ6IDQ4MH0sXG4gIHt2YWx1ZTogJzEyODB4OTYwJywgbGFiZWw6ICdIaWdoICg5NjBwKScsIHdpZHRoOiAxMjgwLCBoZWlnaHQ6IDk2MH0sXG4gIHt2YWx1ZTogJzE5MjB4MTQ0MCcsIGxhYmVsOiAnSGlnaGVzdCAoMTQ0MHApJywgd2lkdGg6IDE5MjAsIGhlaWdodDogMTQ0MH1cbl07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZXNvbHV0aW9uU2V0dGluZyh2YWx1ZTogc3RyaW5nKTogUmVzb2x1dGlvbiB7XG4gIHJldHVybiBSRVNPTFVUSU9OUy5maW5kKHIgPT4gci52YWx1ZSA9PT0gdmFsdWUpIHx8IFJFU09MVVRJT05TWzBdO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxLQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|