@kepler.gl/components 3.3.0-alpha.2 → 3.3.0-alpha.4
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 +84 -82
- package/dist/common/styled-components.js +48 -44
- 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 +2 -2
- package/dist/index.js +23 -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.js +2 -3
- package/dist/map/annotations/annotation-control.js +2 -3
- package/dist/map/attribution.d.ts +52 -0
- package/dist/map/attribution.js +389 -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/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 +3 -14
- package/dist/map-container.js +211 -178
- 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 +2 -3
- 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 +166 -38
- 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 +2 -3
- 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 -20
|
@@ -19,8 +19,7 @@ var _icons = require("../../common/icons");
|
|
|
19
19
|
var _panelHeaderAction = _interopRequireDefault(require("../panel-header-action"));
|
|
20
20
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8; // 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 GROUP_COLORS = ['#4BA9C9', '#E8A838', '#8BC58B', '#D67AB1', '#7B8FF7', '#F2726F', '#56C4A0', '#C9A84B'];
|
|
25
24
|
function getGroupColor(id) {
|
|
26
25
|
var hash = 0;
|
|
@@ -176,4 +175,4 @@ function LayerGroupHeaderFactory(PanelHeaderAction) {
|
|
|
176
175
|
return LayerGroupHeader;
|
|
177
176
|
}
|
|
178
177
|
var _default = exports["default"] = LayerGroupHeaderFactory;
|
|
179
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9hY3Rpb25zIiwiX3JlZHVjZXJzIiwiX3N0eWxlZENvbXBvbmVudHMyIiwiX2xheWVyUGFuZWxIZWFkZXIiLCJfaWNvbnMiLCJfcGFuZWxIZWFkZXJBY3Rpb24iLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIl90ZW1wbGF0ZU9iamVjdDQiLCJfdGVtcGxhdGVPYmplY3Q1IiwiX3RlbXBsYXRlT2JqZWN0NiIsIl90ZW1wbGF0ZU9iamVjdDciLCJfdGVtcGxhdGVPYmplY3Q4IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiR1JPVVBfQ09MT1JTIiwiZ2V0R3JvdXBDb2xvciIsImlkIiwiaGFzaCIsImxlbmd0aCIsImNoYXJDb2RlQXQiLCJNYXRoIiwiYWJzIiwiUmVtb3ZlQWN0aW9uIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJDb250YWluZXIiLCJTdHlsZWRQYW5lbEhlYWRlciIsInByb3BzIiwidGhlbWUiLCJsYXllclBhbmVsSGVhZGVySGVpZ2h0IiwidGV4dENvbG9yIiwicGFuZWxCYWNrZ3JvdW5kSG92ZXIiLCJDb3JuZXJUcmlhbmdsZSIsInJvdW5kIiwiJGNvbG9yIiwiQWN0aW9ucyIsIkxlZnRTZWN0aW9uIiwiR3JvdXBMYWJlbElucHV0IiwiSW5saW5lSW5wdXQiLCJDb25maXJtYXRpb25CYXIiLCJDb25maXJtQnV0dG9uIiwiYnV0dG9uIiwic2Vjb25kYXJ5QnRuQmdkIiwic2Vjb25kYXJ5QnRuQ29sb3IiLCJzZWNvbmRhcnlCdG5CZ2RIb3ZlciIsIkxheWVyR3JvdXBIZWFkZXJGYWN0b3J5IiwiZGVwcyIsIlBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeSIsIlBhbmVsSGVhZGVyQWN0aW9uIiwiTGF5ZXJHcm91cEhlYWRlciIsIl9yZWYiLCJsYXllckdyb3VwIiwib25Ub2dnbGVMYXllckdyb3VwQ29udGVudCIsImlzTGF5ZXJHcm91cENvbnRlbnRPcGVuIiwibGlzdGVuZXJzIiwiY2xhc3NOYW1lIiwibGFiZWwiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2hvd0NvbmZpcm1hdGlvbiIsInNldFNob3dDb25maXJtYXRpb24iLCJjb25maXJtUmVmIiwidXNlUmVmIiwibGF5ZXJDb3VudCIsImdldEZsYXRMYXllck9yZGVyIiwibGF5ZXJPcmRlciIsInVzZUVmZmVjdCIsImhhbmRsZUNsaWNrT3V0c2lkZSIsImN1cnJlbnQiLCJjb250YWlucyIsInRhcmdldCIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJvblVwZGF0ZUxhYmVsIiwidXNlQ2FsbGJhY2siLCJldmVudCIsInVwZGF0ZUxheWVyR3JvdXAiLCJvcHRpb25zIiwidmFsdWUiLCJvblRvZ2dsZVZpc2liaWxpdHkiLCJpc1Zpc2libGUiLCJvbkRlbGV0ZSIsInN0b3BQcm9wYWdhdGlvbiIsInJlbW92ZUxheWVyR3JvdXAiLCJvbkNvbmZpcm1EZWxldGUiLCJWaXNpYmlsaXR5SWNvbiIsIkV5ZVNlZW4iLCJFeWVVbnNlZW4iLCJDb2xsYXBzZUljb24iLCJBcnJvd0Rvd24iLCJBcnJvd1JpZ2h0IiwiY3JlYXRlRWxlbWVudCIsIm9uQ2xpY2siLCJEcmFnSGFuZGxlIiwiVmVydERvdHMiLCJoZWlnaHQiLCJ0eXBlIiwib25DaGFuZ2UiLCJjb25jYXQiLCJ0b29sdGlwIiwiSWNvbkNvbXBvbmVudCIsIlRyYXNoIiwicmVmIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvbGF5ZXItZ3JvdXAtaGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlUmVmfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge3VzZURpc3BhdGNofSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IHt1cGRhdGVMYXllckdyb3VwLCByZW1vdmVMYXllckdyb3VwfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtMYXllck9yZGVyR3JvdXB9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtnZXRGbGF0TGF5ZXJPcmRlcn0gZnJvbSAnQGtlcGxlci5nbC9yZWR1Y2Vycyc7XG5cbmltcG9ydCB7U3R5bGVkUGFuZWxIZWFkZXIsIElubGluZUlucHV0fSBmcm9tICcuLi8uLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtEcmFnSGFuZGxlfSBmcm9tICcuL2xheWVyLXBhbmVsLWhlYWRlcic7XG5pbXBvcnQge1ZlcnREb3RzLCBFeWVTZWVuLCBFeWVVbnNlZW4sIFRyYXNoLCBBcnJvd0Rvd24sIEFycm93UmlnaHR9IGZyb20gJy4uLy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IGZyb20gJy4uL3BhbmVsLWhlYWRlci1hY3Rpb24nO1xuXG5jb25zdCBHUk9VUF9DT0xPUlMgPSBbXG4gICcjNEJBOUM5JyxcbiAgJyNFOEE4MzgnLFxuICAnIzhCQzU4QicsXG4gICcjRDY3QUIxJyxcbiAgJyM3QjhGRjcnLFxuICAnI0YyNzI2RicsXG4gICcjNTZDNEEwJyxcbiAgJyNDOUE4NEInXG5dO1xuXG5mdW5jdGlvbiBnZXRHcm91cENvbG9yKGlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICBsZXQgaGFzaCA9IDA7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgaWQubGVuZ3RoOyBpKyspIHtcbiAgICBoYXNoID0gKChoYXNoIDw8IDUpIC0gaGFzaCArIGlkLmNoYXJDb2RlQXQoaSkpIHwgMDtcbiAgfVxuICByZXR1cm4gR1JPVVBfQ09MT1JTW01hdGguYWJzKGhhc2gpICUgR1JPVVBfQ09MT1JTLmxlbmd0aF07XG59XG5cbmNvbnN0IFJlbW92ZUFjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZTtcbiAgLnBhbmVsLS1oZWFkZXJfX2FjdGlvbiB7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICB9XG5gO1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQoU3R5bGVkUGFuZWxIZWFkZXIpYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllclBhbmVsSGVhZGVySGVpZ2h0fXB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuICAgIC5sYXllcl9fZHJhZy1oYW5kbGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgJHtSZW1vdmVBY3Rpb259IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBDb3JuZXJUcmlhbmdsZSA9IHN0eWxlZC5kaXY8eyRjb2xvcjogc3RyaW5nfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6ICR7cHJvcHMgPT4gTWF0aC5yb3VuZChwcm9wcy50aGVtZS5sYXllclBhbmVsSGVhZGVySGVpZ2h0IC8gMyl9cHhcbiAgICAke3Byb3BzID0+IE1hdGgucm91bmQocHJvcHMudGhlbWUubGF5ZXJQYW5lbEhlYWRlckhlaWdodCAvIDMpfXB4IDAgMDtcbiAgYm9yZGVyLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLiRjb2xvcn0gdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG5gO1xuXG5jb25zdCBBY3Rpb25zID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwO1xuICBoZWlnaHQ6IDE2cHg7XG4gIC5wYW5lbC0taGVhZGVyX19hY3Rpb24ge1xuICAgIGhlaWdodDogMTZweDtcbiAgfVxuYDtcblxuY29uc3QgTGVmdFNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWdyb3c6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5gO1xuXG5jb25zdCBHcm91cExhYmVsSW5wdXQgPSBzdHlsZWQoSW5saW5lSW5wdXQpYFxuICBtYXJnaW4tbGVmdDogNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuYDtcblxuY29uc3QgQ29uZmlybWF0aW9uQmFyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiA2cHggMTJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gIGJvcmRlcjogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuICBib3JkZXItdG9wOiBub25lO1xuICBmb250LXNpemU6IDExcHg7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIGdhcDogOHB4O1xuYDtcblxuY29uc3QgQ29uZmlybUJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQmdkfTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQ29sb3J9O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgcGFkZGluZzogM3B4IDhweDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2Vjb25kYXJ5QnRuQmdkSG92ZXJ9O1xuICB9XG5gO1xuXG5leHBvcnQgdHlwZSBMYXllckdyb3VwSGVhZGVyUHJvcHMgPSB7XG4gIGxheWVyR3JvdXA6IExheWVyT3JkZXJHcm91cDtcbiAgaXNMYXllckdyb3VwQ29udGVudE9wZW4/OiBib29sZWFuO1xuICBvblRvZ2dsZUxheWVyR3JvdXBDb250ZW50PzogKCkgPT4gdm9pZDtcbiAgbGlzdGVuZXJzPzogYW55O1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG59O1xuXG5MYXllckdyb3VwSGVhZGVyRmFjdG9yeS5kZXBzID0gW1BhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeV07XG5cbmZ1bmN0aW9uIExheWVyR3JvdXBIZWFkZXJGYWN0b3J5KFxuICBQYW5lbEhlYWRlckFjdGlvbjogUmV0dXJuVHlwZTx0eXBlb2YgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5PlxuKTogUmVhY3QuRkM8TGF5ZXJHcm91cEhlYWRlclByb3BzPiB7XG4gIGNvbnN0IExheWVyR3JvdXBIZWFkZXI6IFJlYWN0LkZDPExheWVyR3JvdXBIZWFkZXJQcm9wcz4gPSAoe1xuICAgIGxheWVyR3JvdXAsXG4gICAgb25Ub2dnbGVMYXllckdyb3VwQ29udGVudCxcbiAgICBpc0xheWVyR3JvdXBDb250ZW50T3BlbixcbiAgICBsaXN0ZW5lcnMsXG4gICAgY2xhc3NOYW1lXG4gIH0pID0+IHtcbiAgICBjb25zdCB7aWQsIGxhYmVsfSA9IGxheWVyR3JvdXA7XG4gICAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICAgIGNvbnN0IFtzaG93Q29uZmlybWF0aW9uLCBzZXRTaG93Q29uZmlybWF0aW9uXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBjb25maXJtUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcblxuICAgIGNvbnN0IGxheWVyQ291bnQgPSBnZXRGbGF0TGF5ZXJPcmRlcihsYXllckdyb3VwLmxheWVyT3JkZXIpLmxlbmd0aDtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoIXNob3dDb25maXJtYXRpb24pIHJldHVybjtcbiAgICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChlOiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChjb25maXJtUmVmLmN1cnJlbnQgJiYgIWNvbmZpcm1SZWYuY3VycmVudC5jb250YWlucyhlLnRhcmdldCBhcyBOb2RlKSkge1xuICAgICAgICAgIHNldFNob3dDb25maXJtYXRpb24oZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgICAgIHJldHVybiAoKSA9PiBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpO1xuICAgIH0sIFtzaG93Q29uZmlybWF0aW9uXSk7XG5cbiAgICBjb25zdCBvblVwZGF0ZUxhYmVsID0gdXNlQ2FsbGJhY2soXG4gICAgICBldmVudCA9PiB7XG4gICAgICAgIGRpc3BhdGNoKHVwZGF0ZUxheWVyR3JvdXAoe2lkLCBvcHRpb25zOiB7bGFiZWw6IGV2ZW50LnRhcmdldC52YWx1ZX19KSk7XG4gICAgICB9LFxuICAgICAgW2Rpc3BhdGNoLCBpZF1cbiAgICApO1xuXG4gICAgY29uc3Qgb25Ub2dnbGVWaXNpYmlsaXR5ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgZGlzcGF0Y2godXBkYXRlTGF5ZXJHcm91cCh7aWQsIG9wdGlvbnM6IHtpc1Zpc2libGU6ICFsYXllckdyb3VwLmlzVmlzaWJsZX19KSk7XG4gICAgfSwgW2Rpc3BhdGNoLCBpZCwgbGF5ZXJHcm91cC5pc1Zpc2libGVdKTtcblxuICAgIGNvbnN0IG9uRGVsZXRlID0gdXNlQ2FsbGJhY2soXG4gICAgICAoZTogUmVhY3QuTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAobGF5ZXJDb3VudCA+IDApIHtcbiAgICAgICAgICBzZXRTaG93Q29uZmlybWF0aW9uKHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRpc3BhdGNoKHJlbW92ZUxheWVyR3JvdXAoe2lkfSkpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW2Rpc3BhdGNoLCBpZCwgbGF5ZXJDb3VudF1cbiAgICApO1xuXG4gICAgY29uc3Qgb25Db25maXJtRGVsZXRlID0gdXNlQ2FsbGJhY2soXG4gICAgICAoZTogUmVhY3QuTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBkaXNwYXRjaChyZW1vdmVMYXllckdyb3VwKHtpZH0pKTtcbiAgICAgICAgc2V0U2hvd0NvbmZpcm1hdGlvbihmYWxzZSk7XG4gICAgICB9LFxuICAgICAgW2Rpc3BhdGNoLCBpZF1cbiAgICApO1xuXG4gICAgY29uc3QgVmlzaWJpbGl0eUljb24gPSBsYXllckdyb3VwLmlzVmlzaWJsZSA/IEV5ZVNlZW4gOiBFeWVVbnNlZW47XG4gICAgY29uc3QgQ29sbGFwc2VJY29uID0gaXNMYXllckdyb3VwQ29udGVudE9wZW4gPyBBcnJvd0Rvd24gOiBBcnJvd1JpZ2h0O1xuXG4gICAgY29uc3Qgc3RvcFByb3BhZ2F0aW9uID0gdXNlQ2FsbGJhY2soKGU6IFJlYWN0Lk1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfSwgW10pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxDb250YWluZXIgY2xhc3NOYW1lPXtjbGFzc05hbWV9IG9uQ2xpY2s9e29uVG9nZ2xlTGF5ZXJHcm91cENvbnRlbnR9PlxuICAgICAgICAgIDxDb3JuZXJUcmlhbmdsZSAkY29sb3I9e2dldEdyb3VwQ29sb3IoaWQpfSAvPlxuICAgICAgICAgIDxMZWZ0U2VjdGlvbj5cbiAgICAgICAgICAgIDxEcmFnSGFuZGxlIGNsYXNzTmFtZT1cImxheWVyX19kcmFnLWhhbmRsZVwiIGxpc3RlbmVycz17bGlzdGVuZXJzfT5cbiAgICAgICAgICAgICAgPFZlcnREb3RzIGhlaWdodD1cIjIwcHhcIiAvPlxuICAgICAgICAgICAgPC9EcmFnSGFuZGxlPlxuICAgICAgICAgICAgPEdyb3VwTGFiZWxJbnB1dFxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIHZhbHVlPXtsYWJlbH1cbiAgICAgICAgICAgICAgb25DbGljaz17c3RvcFByb3BhZ2F0aW9ufVxuICAgICAgICAgICAgICBvbkNoYW5nZT17b25VcGRhdGVMYWJlbH1cbiAgICAgICAgICAgICAgaWQ9e2Ake2lkfTppbnB1dC1ncm91cC1sYWJlbGB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvTGVmdFNlY3Rpb24+XG4gICAgICAgICAgPEFjdGlvbnMgb25DbGljaz17c3RvcFByb3BhZ2F0aW9ufT5cbiAgICAgICAgICAgIDxSZW1vdmVBY3Rpb24+XG4gICAgICAgICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyLWdyb3VwX19kZWxldGVcIlxuICAgICAgICAgICAgICAgIGlkPXtgJHtpZH0tZGVsZXRlYH1cbiAgICAgICAgICAgICAgICB0b29sdGlwPVwiUmVtb3ZlIGdyb3VwXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtvbkRlbGV0ZX1cbiAgICAgICAgICAgICAgICBJY29uQ29tcG9uZW50PXtUcmFzaH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvUmVtb3ZlQWN0aW9uPlxuICAgICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyLWdyb3VwX192aXNpYmlsaXR5LXRvZ2dsZVwiXG4gICAgICAgICAgICAgIGlkPXtgJHtpZH0tdmlzaWJpbGl0eWB9XG4gICAgICAgICAgICAgIHRvb2x0aXA9XCJUb2dnbGUgZ3JvdXAgdmlzaWJpbGl0eVwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uVG9nZ2xlVmlzaWJpbGl0eX1cbiAgICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17VmlzaWJpbGl0eUljb259XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyLWdyb3VwX19zZWN0aW9uLXRvZ2dsZVwiXG4gICAgICAgICAgICAgIGlkPXtgJHtpZH0tY29sbGFwc2VgfVxuICAgICAgICAgICAgICB0b29sdGlwPVwiVG9nZ2xlIGdyb3VwIGNvbnRlbnRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblRvZ2dsZUxheWVyR3JvdXBDb250ZW50fVxuICAgICAgICAgICAgICBJY29uQ29tcG9uZW50PXtDb2xsYXBzZUljb259XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQWN0aW9ucz5cbiAgICAgICAgPC9Db250YWluZXI+XG4gICAgICAgIHtzaG93Q29uZmlybWF0aW9uID8gKFxuICAgICAgICAgIDxDb25maXJtYXRpb25CYXIgcmVmPXtjb25maXJtUmVmfSBvbkNsaWNrPXtzdG9wUHJvcGFnYXRpb259PlxuICAgICAgICAgICAgPHNwYW4+UmVtb3ZlIGdyb3VwIHdpdGggbGF5ZXJzPzwvc3Bhbj5cbiAgICAgICAgICAgIDxDb25maXJtQnV0dG9uIG9uQ2xpY2s9e29uQ29uZmlybURlbGV0ZX0+UmVtb3ZlPC9Db25maXJtQnV0dG9uPlxuICAgICAgICAgIDwvQ29uZmlybWF0aW9uQmFyPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIExheWVyR3JvdXBIZWFkZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IExheWVyR3JvdXBIZWFkZXJGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUVBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLFNBQUEsR0FBQUwsT0FBQTtBQUVB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
|
|
178
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9hY3Rpb25zIiwiX3JlZHVjZXJzIiwiX3N0eWxlZENvbXBvbmVudHMyIiwiX2xheWVyUGFuZWxIZWFkZXIiLCJfaWNvbnMiLCJfcGFuZWxIZWFkZXJBY3Rpb24iLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIl90ZW1wbGF0ZU9iamVjdDQiLCJfdGVtcGxhdGVPYmplY3Q1IiwiX3RlbXBsYXRlT2JqZWN0NiIsIl90ZW1wbGF0ZU9iamVjdDciLCJfdGVtcGxhdGVPYmplY3Q4IiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJHUk9VUF9DT0xPUlMiLCJnZXRHcm91cENvbG9yIiwiaWQiLCJoYXNoIiwibGVuZ3RoIiwiY2hhckNvZGVBdCIsIk1hdGgiLCJhYnMiLCJSZW1vdmVBY3Rpb24iLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIkNvbnRhaW5lciIsIlN0eWxlZFBhbmVsSGVhZGVyIiwicHJvcHMiLCJ0aGVtZSIsImxheWVyUGFuZWxIZWFkZXJIZWlnaHQiLCJ0ZXh0Q29sb3IiLCJwYW5lbEJhY2tncm91bmRIb3ZlciIsIkNvcm5lclRyaWFuZ2xlIiwicm91bmQiLCIkY29sb3IiLCJBY3Rpb25zIiwiTGVmdFNlY3Rpb24iLCJHcm91cExhYmVsSW5wdXQiLCJJbmxpbmVJbnB1dCIsIkNvbmZpcm1hdGlvbkJhciIsIkNvbmZpcm1CdXR0b24iLCJidXR0b24iLCJzZWNvbmRhcnlCdG5CZ2QiLCJzZWNvbmRhcnlCdG5Db2xvciIsInNlY29uZGFyeUJ0bkJnZEhvdmVyIiwiTGF5ZXJHcm91cEhlYWRlckZhY3RvcnkiLCJkZXBzIiwiUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IiwiUGFuZWxIZWFkZXJBY3Rpb24iLCJMYXllckdyb3VwSGVhZGVyIiwiX3JlZiIsImxheWVyR3JvdXAiLCJvblRvZ2dsZUxheWVyR3JvdXBDb250ZW50IiwiaXNMYXllckdyb3VwQ29udGVudE9wZW4iLCJsaXN0ZW5lcnMiLCJjbGFzc05hbWUiLCJsYWJlbCIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJzaG93Q29uZmlybWF0aW9uIiwic2V0U2hvd0NvbmZpcm1hdGlvbiIsImNvbmZpcm1SZWYiLCJ1c2VSZWYiLCJsYXllckNvdW50IiwiZ2V0RmxhdExheWVyT3JkZXIiLCJsYXllck9yZGVyIiwidXNlRWZmZWN0IiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwiY3VycmVudCIsImNvbnRhaW5zIiwidGFyZ2V0IiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIm9uVXBkYXRlTGFiZWwiLCJ1c2VDYWxsYmFjayIsImV2ZW50IiwidXBkYXRlTGF5ZXJHcm91cCIsIm9wdGlvbnMiLCJ2YWx1ZSIsIm9uVG9nZ2xlVmlzaWJpbGl0eSIsImlzVmlzaWJsZSIsIm9uRGVsZXRlIiwic3RvcFByb3BhZ2F0aW9uIiwicmVtb3ZlTGF5ZXJHcm91cCIsIm9uQ29uZmlybURlbGV0ZSIsIlZpc2liaWxpdHlJY29uIiwiRXllU2VlbiIsIkV5ZVVuc2VlbiIsIkNvbGxhcHNlSWNvbiIsIkFycm93RG93biIsIkFycm93UmlnaHQiLCJjcmVhdGVFbGVtZW50Iiwib25DbGljayIsIkRyYWdIYW5kbGUiLCJWZXJ0RG90cyIsImhlaWdodCIsInR5cGUiLCJvbkNoYW5nZSIsImNvbmNhdCIsInRvb2x0aXAiLCJJY29uQ29tcG9uZW50IiwiVHJhc2giLCJyZWYiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2lkZS1wYW5lbC9sYXllci1wYW5lbC9sYXllci1ncm91cC1oZWFkZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VSZWZ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7dXNlRGlzcGF0Y2h9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQge3VwZGF0ZUxheWVyR3JvdXAsIHJlbW92ZUxheWVyR3JvdXB9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge0xheWVyT3JkZXJHcm91cH0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge2dldEZsYXRMYXllck9yZGVyfSBmcm9tICdAa2VwbGVyLmdsL3JlZHVjZXJzJztcblxuaW1wb3J0IHtTdHlsZWRQYW5lbEhlYWRlciwgSW5saW5lSW5wdXR9IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0RyYWdIYW5kbGV9IGZyb20gJy4vbGF5ZXItcGFuZWwtaGVhZGVyJztcbmltcG9ydCB7VmVydERvdHMsIEV5ZVNlZW4sIEV5ZVVuc2VlbiwgVHJhc2gsIEFycm93RG93biwgQXJyb3dSaWdodH0gZnJvbSAnLi4vLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCBQYW5lbEhlYWRlckFjdGlvbkZhY3RvcnkgZnJvbSAnLi4vcGFuZWwtaGVhZGVyLWFjdGlvbic7XG5cbmNvbnN0IEdST1VQX0NPTE9SUyA9IFtcbiAgJyM0QkE5QzknLFxuICAnI0U4QTgzOCcsXG4gICcjOEJDNThCJyxcbiAgJyNENjdBQjEnLFxuICAnIzdCOEZGNycsXG4gICcjRjI3MjZGJyxcbiAgJyM1NkM0QTAnLFxuICAnI0M5QTg0Qidcbl07XG5cbmZ1bmN0aW9uIGdldEdyb3VwQ29sb3IoaWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIGxldCBoYXNoID0gMDtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBpZC5sZW5ndGg7IGkrKykge1xuICAgIGhhc2ggPSAoKGhhc2ggPDwgNSkgLSBoYXNoICsgaWQuY2hhckNvZGVBdChpKSkgfCAwO1xuICB9XG4gIHJldHVybiBHUk9VUF9DT0xPUlNbTWF0aC5hYnMoaGFzaCkgJSBHUk9VUF9DT0xPUlMubGVuZ3RoXTtcbn1cblxuY29uc3QgUmVtb3ZlQWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlO1xuICAucGFuZWwtLWhlYWRlcl9fYWN0aW9uIHtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZChTdHlsZWRQYW5lbEhlYWRlcilgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxheWVyUGFuZWxIZWFkZXJIZWlnaHR9cHg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBib3JkZXI6IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyfTtcblxuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gICAgLmxheWVyX19kcmFnLWhhbmRsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAke1JlbW92ZUFjdGlvbn0ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IENvcm5lclRyaWFuZ2xlID0gc3R5bGVkLmRpdjx7JGNvbG9yOiBzdHJpbmd9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogJHtwcm9wcyA9PiBNYXRoLnJvdW5kKHByb3BzLnRoZW1lLmxheWVyUGFuZWxIZWFkZXJIZWlnaHQgLyAzKX1weFxuICAgICR7cHJvcHMgPT4gTWF0aC5yb3VuZChwcm9wcy50aGVtZS5sYXllclBhbmVsSGVhZGVySGVpZ2h0IC8gMyl9cHggMCAwO1xuICBib3JkZXItY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMuJGNvbG9yfSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbmA7XG5cbmNvbnN0IEFjdGlvbnMgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDA7XG4gIGhlaWdodDogMTZweDtcbiAgLnBhbmVsLS1oZWFkZXJfX2FjdGlvbiB7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICB9XG5gO1xuXG5jb25zdCBMZWZ0U2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZ3JvdzogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbmA7XG5cbmNvbnN0IEdyb3VwTGFiZWxJbnB1dCA9IHN0eWxlZChJbmxpbmVJbnB1dClgXG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5gO1xuXG5jb25zdCBDb25maXJtYXRpb25CYXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyfTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgZ2FwOiA4cHg7XG5gO1xuXG5jb25zdCBDb25maXJtQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5CZ2R9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5Db2xvcn07XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBwYWRkaW5nOiAzcHggOHB4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zZWNvbmRhcnlCdG5CZ2RIb3Zlcn07XG4gIH1cbmA7XG5cbmV4cG9ydCB0eXBlIExheWVyR3JvdXBIZWFkZXJQcm9wcyA9IHtcbiAgbGF5ZXJHcm91cDogTGF5ZXJPcmRlckdyb3VwO1xuICBpc0xheWVyR3JvdXBDb250ZW50T3Blbj86IGJvb2xlYW47XG4gIG9uVG9nZ2xlTGF5ZXJHcm91cENvbnRlbnQ/OiAoKSA9PiB2b2lkO1xuICBsaXN0ZW5lcnM/OiBhbnk7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbn07XG5cbkxheWVyR3JvdXBIZWFkZXJGYWN0b3J5LmRlcHMgPSBbUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5XTtcblxuZnVuY3Rpb24gTGF5ZXJHcm91cEhlYWRlckZhY3RvcnkoXG4gIFBhbmVsSGVhZGVyQWN0aW9uOiBSZXR1cm5UeXBlPHR5cGVvZiBQYW5lbEhlYWRlckFjdGlvbkZhY3Rvcnk+XG4pOiBSZWFjdC5GQzxMYXllckdyb3VwSGVhZGVyUHJvcHM+IHtcbiAgY29uc3QgTGF5ZXJHcm91cEhlYWRlcjogUmVhY3QuRkM8TGF5ZXJHcm91cEhlYWRlclByb3BzPiA9ICh7XG4gICAgbGF5ZXJHcm91cCxcbiAgICBvblRvZ2dsZUxheWVyR3JvdXBDb250ZW50LFxuICAgIGlzTGF5ZXJHcm91cENvbnRlbnRPcGVuLFxuICAgIGxpc3RlbmVycyxcbiAgICBjbGFzc05hbWVcbiAgfSkgPT4ge1xuICAgIGNvbnN0IHtpZCwgbGFiZWx9ID0gbGF5ZXJHcm91cDtcbiAgICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gICAgY29uc3QgW3Nob3dDb25maXJtYXRpb24sIHNldFNob3dDb25maXJtYXRpb25dID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IGNvbmZpcm1SZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuXG4gICAgY29uc3QgbGF5ZXJDb3VudCA9IGdldEZsYXRMYXllck9yZGVyKGxheWVyR3JvdXAubGF5ZXJPcmRlcikubGVuZ3RoO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghc2hvd0NvbmZpcm1hdGlvbikgcmV0dXJuO1xuICAgICAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKGNvbmZpcm1SZWYuY3VycmVudCAmJiAhY29uZmlybVJlZi5jdXJyZW50LmNvbnRhaW5zKGUudGFyZ2V0IGFzIE5vZGUpKSB7XG4gICAgICAgICAgc2V0U2hvd0NvbmZpcm1hdGlvbihmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpO1xuICAgICAgcmV0dXJuICgpID0+IGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgfSwgW3Nob3dDb25maXJtYXRpb25dKTtcblxuICAgIGNvbnN0IG9uVXBkYXRlTGFiZWwgPSB1c2VDYWxsYmFjayhcbiAgICAgIGV2ZW50ID0+IHtcbiAgICAgICAgZGlzcGF0Y2godXBkYXRlTGF5ZXJHcm91cCh7aWQsIG9wdGlvbnM6IHtsYWJlbDogZXZlbnQudGFyZ2V0LnZhbHVlfX0pKTtcbiAgICAgIH0sXG4gICAgICBbZGlzcGF0Y2gsIGlkXVxuICAgICk7XG5cbiAgICBjb25zdCBvblRvZ2dsZVZpc2liaWxpdHkgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBkaXNwYXRjaCh1cGRhdGVMYXllckdyb3VwKHtpZCwgb3B0aW9uczoge2lzVmlzaWJsZTogIWxheWVyR3JvdXAuaXNWaXNpYmxlfX0pKTtcbiAgICB9LCBbZGlzcGF0Y2gsIGlkLCBsYXllckdyb3VwLmlzVmlzaWJsZV0pO1xuXG4gICAgY29uc3Qgb25EZWxldGUgPSB1c2VDYWxsYmFjayhcbiAgICAgIChlOiBSZWFjdC5Nb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGlmIChsYXllckNvdW50ID4gMCkge1xuICAgICAgICAgIHNldFNob3dDb25maXJtYXRpb24odHJ1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGlzcGF0Y2gocmVtb3ZlTGF5ZXJHcm91cCh7aWR9KSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbZGlzcGF0Y2gsIGlkLCBsYXllckNvdW50XVxuICAgICk7XG5cbiAgICBjb25zdCBvbkNvbmZpcm1EZWxldGUgPSB1c2VDYWxsYmFjayhcbiAgICAgIChlOiBSZWFjdC5Nb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGRpc3BhdGNoKHJlbW92ZUxheWVyR3JvdXAoe2lkfSkpO1xuICAgICAgICBzZXRTaG93Q29uZmlybWF0aW9uKGZhbHNlKTtcbiAgICAgIH0sXG4gICAgICBbZGlzcGF0Y2gsIGlkXVxuICAgICk7XG5cbiAgICBjb25zdCBWaXNpYmlsaXR5SWNvbiA9IGxheWVyR3JvdXAuaXNWaXNpYmxlID8gRXllU2VlbiA6IEV5ZVVuc2VlbjtcbiAgICBjb25zdCBDb2xsYXBzZUljb24gPSBpc0xheWVyR3JvdXBDb250ZW50T3BlbiA/IEFycm93RG93biA6IEFycm93UmlnaHQ7XG5cbiAgICBjb25zdCBzdG9wUHJvcGFnYXRpb24gPSB1c2VDYWxsYmFjaygoZTogUmVhY3QuTW91c2VFdmVudCkgPT4ge1xuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9LCBbXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdj5cbiAgICAgICAgPENvbnRhaW5lciBjbGFzc05hbWU9e2NsYXNzTmFtZX0gb25DbGljaz17b25Ub2dnbGVMYXllckdyb3VwQ29udGVudH0+XG4gICAgICAgICAgPENvcm5lclRyaWFuZ2xlICRjb2xvcj17Z2V0R3JvdXBDb2xvcihpZCl9IC8+XG4gICAgICAgICAgPExlZnRTZWN0aW9uPlxuICAgICAgICAgICAgPERyYWdIYW5kbGUgY2xhc3NOYW1lPVwibGF5ZXJfX2RyYWctaGFuZGxlXCIgbGlzdGVuZXJzPXtsaXN0ZW5lcnN9PlxuICAgICAgICAgICAgICA8VmVydERvdHMgaGVpZ2h0PVwiMjBweFwiIC8+XG4gICAgICAgICAgICA8L0RyYWdIYW5kbGU+XG4gICAgICAgICAgICA8R3JvdXBMYWJlbElucHV0XG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgdmFsdWU9e2xhYmVsfVxuICAgICAgICAgICAgICBvbkNsaWNrPXtzdG9wUHJvcGFnYXRpb259XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtvblVwZGF0ZUxhYmVsfVxuICAgICAgICAgICAgICBpZD17YCR7aWR9OmlucHV0LWdyb3VwLWxhYmVsYH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9MZWZ0U2VjdGlvbj5cbiAgICAgICAgICA8QWN0aW9ucyBvbkNsaWNrPXtzdG9wUHJvcGFnYXRpb259PlxuICAgICAgICAgICAgPFJlbW92ZUFjdGlvbj5cbiAgICAgICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXItZ3JvdXBfX2RlbGV0ZVwiXG4gICAgICAgICAgICAgICAgaWQ9e2Ake2lkfS1kZWxldGVgfVxuICAgICAgICAgICAgICAgIHRvb2x0aXA9XCJSZW1vdmUgZ3JvdXBcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uRGVsZXRlfVxuICAgICAgICAgICAgICAgIEljb25Db21wb25lbnQ9e1RyYXNofVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9SZW1vdmVBY3Rpb24+XG4gICAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXItZ3JvdXBfX3Zpc2liaWxpdHktdG9nZ2xlXCJcbiAgICAgICAgICAgICAgaWQ9e2Ake2lkfS12aXNpYmlsaXR5YH1cbiAgICAgICAgICAgICAgdG9vbHRpcD1cIlRvZ2dsZSBncm91cCB2aXNpYmlsaXR5XCJcbiAgICAgICAgICAgICAgb25DbGljaz17b25Ub2dnbGVWaXNpYmlsaXR5fVxuICAgICAgICAgICAgICBJY29uQ29tcG9uZW50PXtWaXNpYmlsaXR5SWNvbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXItZ3JvdXBfX3NlY3Rpb24tdG9nZ2xlXCJcbiAgICAgICAgICAgICAgaWQ9e2Ake2lkfS1jb2xsYXBzZWB9XG4gICAgICAgICAgICAgIHRvb2x0aXA9XCJUb2dnbGUgZ3JvdXAgY29udGVudFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uVG9nZ2xlTGF5ZXJHcm91cENvbnRlbnR9XG4gICAgICAgICAgICAgIEljb25Db21wb25lbnQ9e0NvbGxhcHNlSWNvbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9BY3Rpb25zPlxuICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAge3Nob3dDb25maXJtYXRpb24gPyAoXG4gICAgICAgICAgPENvbmZpcm1hdGlvbkJhciByZWY9e2NvbmZpcm1SZWZ9IG9uQ2xpY2s9e3N0b3BQcm9wYWdhdGlvbn0+XG4gICAgICAgICAgICA8c3Bhbj5SZW1vdmUgZ3JvdXAgd2l0aCBsYXllcnM/PC9zcGFuPlxuICAgICAgICAgICAgPENvbmZpcm1CdXR0b24gb25DbGljaz17b25Db25maXJtRGVsZXRlfT5SZW1vdmU8L0NvbmZpcm1CdXR0b24+XG4gICAgICAgICAgPC9Db25maXJtYXRpb25CYXI+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gTGF5ZXJHcm91cEhlYWRlcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTGF5ZXJHcm91cEhlYWRlckZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBRUEsSUFBQUksUUFBQSxHQUFBSixPQUFBO0FBRUEsSUFBQUssU0FBQSxHQUFBTCxPQUFBO0FBRUEsSUFBQU0sa0JBQUEsR0FBQU4sT0FB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
|
|
@@ -2,7 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { Layer, LayerClassesType } from '@kepler.gl/layers';
|
|
3
3
|
import { Datasets } from '@kepler.gl/table';
|
|
4
4
|
import { UIStateActions, VisStateActions, MapStateActions } from '@kepler.gl/actions';
|
|
5
|
-
import { LayerOrder } from '@kepler.gl/types';
|
|
5
|
+
import { LayerOrder, MapState } from '@kepler.gl/types';
|
|
6
6
|
import LayerPanelFactory from './layer-panel';
|
|
7
7
|
import LayerGroupHeaderFactory from './layer-group-header';
|
|
8
8
|
import { SplitMap } from '@kepler.gl/types';
|
|
@@ -13,6 +13,7 @@ export type LayerListProps = {
|
|
|
13
13
|
layerClasses: LayerClassesType;
|
|
14
14
|
isSortable?: boolean;
|
|
15
15
|
splitMap?: SplitMap;
|
|
16
|
+
mapState?: MapState;
|
|
16
17
|
uiStateActions: typeof UIStateActions;
|
|
17
18
|
visStateActions: typeof VisStateActions;
|
|
18
19
|
mapStateActions: typeof MapStateActions;
|
|
@@ -21,10 +21,9 @@ var _layerGroupHeader = _interopRequireDefault(require("./layer-group-header"));
|
|
|
21
21
|
var _reducers = require("@kepler.gl/reducers");
|
|
22
22
|
var _constants = require("@kepler.gl/constants");
|
|
23
23
|
var _dndLayerItems = require("../../common/dnd-layer-items");
|
|
24
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9,
|
|
24
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject0; // SPDX-License-Identifier: MIT
|
|
25
25
|
// Copyright contributors to the kepler.gl project
|
|
26
|
-
function
|
|
27
|
-
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; }
|
|
26
|
+
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); }
|
|
28
27
|
var Container = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n gap: 8px;\n"])));
|
|
29
28
|
var animateLayoutChanges = function animateLayoutChanges(args) {
|
|
30
29
|
var isSorting = args.isSorting,
|
|
@@ -82,7 +81,7 @@ var TreeTile = _styledComponents["default"].div(_templateObject8 || (_templateOb
|
|
|
82
81
|
return props.theme.labelColor;
|
|
83
82
|
});
|
|
84
83
|
var NestedLayerContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n"])));
|
|
85
|
-
var NestedLayerContent = _styledComponents["default"].div(
|
|
84
|
+
var NestedLayerContent = _styledComponents["default"].div(_templateObject0 || (_templateObject0 = (0, _taggedTemplateLiteral2["default"])(["\n width: calc(100% - ", "px);\n padding-top: 8px;\n"])), TREE_TILE_WIDTH + TREE_TILE_BORDER_WIDTH);
|
|
86
85
|
LayerListFactory.deps = [_layerPanel["default"], _layerGroupHeader["default"]];
|
|
87
86
|
function LayerListFactory(LayerPanel, LayerGroupHeader) {
|
|
88
87
|
var NestedLayer = function NestedLayer(_ref) {
|
|
@@ -243,6 +242,7 @@ function LayerListFactory(LayerPanel, LayerGroupHeader) {
|
|
|
243
242
|
uiStateActions = props.uiStateActions,
|
|
244
243
|
visStateActions = props.visStateActions,
|
|
245
244
|
mapStateActions = props.mapStateActions,
|
|
245
|
+
mapState = props.mapState,
|
|
246
246
|
layerClasses = props.layerClasses,
|
|
247
247
|
_props$isSortable = props.isSortable,
|
|
248
248
|
isSortable = _props$isSortable === void 0 ? true : _props$isSortable,
|
|
@@ -292,9 +292,10 @@ function LayerListFactory(LayerPanel, LayerGroupHeader) {
|
|
|
292
292
|
datasets: datasets,
|
|
293
293
|
openModal: openModal,
|
|
294
294
|
layerTypeOptions: layerTypeOptions,
|
|
295
|
-
splitMap: splitMap
|
|
295
|
+
splitMap: splitMap,
|
|
296
|
+
mapState: mapState
|
|
296
297
|
};
|
|
297
|
-
}, [datasets, openModal, layerTypeOptions, splitMap]);
|
|
298
|
+
}, [datasets, openModal, layerTypeOptions, splitMap, mapState]);
|
|
298
299
|
return /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(_sortable.SortableContext, {
|
|
299
300
|
id: _dndLayerItems.SORTABLE_SIDE_PANEL_TYPE,
|
|
300
301
|
items: sidePanelDndItems,
|
|
@@ -326,4 +327,4 @@ function LayerListFactory(LayerPanel, LayerGroupHeader) {
|
|
|
326
327
|
return LayerList;
|
|
327
328
|
}
|
|
328
329
|
var _default = exports["default"] = LayerListFactory;
|
|
329
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY2xhc3NuYW1lczMiLCJfY29yZSIsIl9zb3J0YWJsZSIsIl91dGlsaXRpZXMiLCJfbGF5ZXJQYW5lbCIsIl9sYXllckdyb3VwSGVhZGVyIiwiX3JlZHVjZXJzIiwiX2NvbnN0YW50cyIsIl9kbmRMYXllckl0ZW1zIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfdGVtcGxhdGVPYmplY3Q3IiwiX3RlbXBsYXRlT2JqZWN0OCIsIl90ZW1wbGF0ZU9iamVjdDkiLCJfdGVtcGxhdGVPYmplY3QxMCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwiYW5pbWF0ZUxheW91dENoYW5nZXMiLCJhcmdzIiwiaXNTb3J0aW5nIiwid2FzRHJhZ2dpbmciLCJkZWZhdWx0QW5pbWF0ZUxheW91dENoYW5nZXMiLCJFbmRQbGFjZWhvbGRlciIsIlNvcnRhYmxlU3R5bGVkSXRlbSIsInByb3BzIiwiJHRyYW5zaXRpb24iLCIkdHJhbnNmb3JtIiwidGhlbWUiLCJwYW5lbEJhY2tncm91bmRIb3ZlciIsImZvbnRGYW1pbHkiLCJmb250V2VpZ2h0IiwiZm9udFNpemUiLCJsaW5lSGVpZ2h0IiwidGV4dENvbG9ySGwiLCJDb2xsYXBzaWJsZUdyb3VwQ29udGVudCIsIiRpc092ZXIiLCJDb2xsYXBzZWREcm9wWm9uZSIsImFjdGl2ZUNvbG9yIiwiRW1wdHlMYXllckdyb3VwIiwibGFiZWxDb2xvciIsInN1YnRleHRDb2xvciIsIlRSRUVfVElMRV9XSURUSCIsIlRSRUVfVElMRV9CT1JERVJfV0lEVEgiLCJTdHlsZWRDb2x1bW4iLCIkaXNMYXN0IiwiVHJlZVRpbGUiLCJsYXllclBhbmVsSGVhZGVySGVpZ2h0IiwiTmVzdGVkTGF5ZXJDb250YWluZXIiLCJOZXN0ZWRMYXllckNvbnRlbnQiLCJMYXllckxpc3RGYWN0b3J5IiwiZGVwcyIsIkxheWVyUGFuZWxGYWN0b3J5IiwiTGF5ZXJHcm91cEhlYWRlckZhY3RvcnkiLCJMYXllclBhbmVsIiwiTGF5ZXJHcm91cEhlYWRlciIsIk5lc3RlZExheWVyIiwiX3JlZiIsImNoaWxkcmVuIiwiaXNMYXN0IiwiY3JlYXRlRWxlbWVudCIsIlNvcnRhYmxlTGF5ZXJJdGVtIiwiX3JlZjIiLCJsYXllciIsImlkeCIsInBhbmVsUHJvcHMiLCJsYXllckFjdGlvbnMiLCJkaXNhYmxlZCIsInBhcmVudCIsIl91c2VTb3J0YWJsZSIsInVzZVNvcnRhYmxlIiwiaWQiLCJkYXRhIiwidHlwZSIsIlNPUlRBQkxFX0xBWUVSX1RZUEUiLCJhdHRyaWJ1dGVzIiwibGlzdGVuZXJzIiwic2V0Tm9kZVJlZiIsImlzRHJhZ2dpbmciLCJ0cmFuc2Zvcm0iLCJ0cmFuc2l0aW9uIiwiX2V4dGVuZHMyIiwicmVmIiwiY2xhc3NOYW1lIiwiY2xhc3NuYW1lcyIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJkYXRhVGVzdElkcyIsInNvcnRhYmxlTGF5ZXJJdGVtIiwic3RhdGljTGF5ZXJJdGVtIiwic29ydGluZyIsIkNTUyIsIlRyYW5zZm9ybSIsInRvU3RyaW5nIiwia2V5IiwiaXNEcmFnZ2FibGUiLCJTb3J0YWJsZUdyb3VwSXRlbSIsIl9yZWYzIiwibGF5ZXJHcm91cCIsImxheWVycyIsIl91c2VTb3J0YWJsZTIiLCJTT1JUQUJMRV9MQVlFUl9HUk9VUF9UWVBFIiwibGF5ZXJFbnRyaWVzVG9TaG93IiwiYnVpbGRMYXllck9yZGVySGllcmFyY2h5IiwibGF5ZXJPcmRlciIsImRuZEl0ZW1zIiwibWFwIiwiZW50cnkiLCJfZW50cnkkMSRpZCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImlzU2VjdGlvbk9wZW4iLCJzZXRJc1NlY3Rpb25PcGVuIiwib25Ub2dnbGUiLCJ1c2VDYWxsYmFjayIsInByZXYiLCJzdHlsZSIsInVzZU1lbW8iLCJvcGFjaXR5IiwiX3VzZURyb3BwYWJsZSIsInVzZURyb3BwYWJsZSIsImNvbmNhdCIsIlNPUlRBQkxFX0xBWUVSX0dST1VQX0RST1BQQUJMRV9UWVBFIiwiaXNPdmVyIiwiZHJvcHBhYmxlU2V0Tm9kZVJlZiIsImlzT3BlbiIsIm9uVG9nZ2xlTGF5ZXJHcm91cENvbnRlbnQiLCJpc0xheWVyR3JvdXBDb250ZW50T3BlbiIsImxlbmd0aCIsIlNvcnRhYmxlQ29udGV4dCIsIml0ZW1zIiwic3RyYXRlZ3kiLCJ2ZXJ0aWNhbExpc3RTb3J0aW5nU3RyYXRlZ3kiLCJfcmVmNCIsImluZGV4IiwiX3JlZjUiLCJuZXN0ZWRFbnRyeSIsImZpbmRJbmRleCIsImwiLCJTb3J0YWJsZUVuZFBsYWNlaG9sZGVyIiwiX3VzZVNvcnRhYmxlMyIsIlNPUlRBQkxFX0xBWUVSX0VORF9QTEFDRUhPTERFUiIsIlNPUlRBQkxFX0xBWUVSX0VORF9UWVBFIiwiTGF5ZXJMaXN0IiwiZGF0YXNldHMiLCJ1aVN0YXRlQWN0aW9ucyIsInZpc1N0YXRlQWN0aW9ucyIsIm1hcFN0YXRlQWN0aW9ucyIsImxheWVyQ2xhc3NlcyIsIl9wcm9wcyRpc1NvcnRhYmxlIiwiaXNTb3J0YWJsZSIsInNwbGl0TWFwIiwib3Blbk1vZGFsIiwidG9nZ2xlTW9kYWwiLCJzaWRlUGFuZWxEbmRJdGVtcyIsIl9lbnRyeSQxJGlkMiIsInB1c2giLCJsYXllclR5cGVPcHRpb25zIiwia2V5cyIsImRhdGFJZCIsImxhYmVsIiwibmFtZSIsImljb24iLCJsYXllckljb24iLCJyZXF1aXJlRGF0YSIsImxheWVyQ29sb3JVSUNoYW5nZSIsImxheWVyQ29uZmlnQ2hhbmdlIiwibGF5ZXJWaXN1YWxDaGFubmVsQ29uZmlnQ2hhbmdlIiwibGF5ZXJUb2dnbGVWaXNpYmlsaXR5IiwibGF5ZXJUeXBlQ2hhbmdlIiwibGF5ZXJWaXNDb25maWdDaGFuZ2UiLCJsYXllclRleHRMYWJlbENoYW5nZSIsInJlbW92ZUxheWVyIiwiem9vbVRvTGF5ZXIiLCJmaXRCb3VuZHMiLCJkdXBsaWNhdGVMYXllciIsImxheWVyU2V0SXNWYWxpZCIsIlNPUlRBQkxFX1NJREVfUEFORUxfVFlQRSIsIl9yZWY2IiwiX3JlZjciLCJpdGVtIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvbGF5ZXItbGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlTWVtbywgdXNlQ2FsbGJhY2ssIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuXG5pbXBvcnQge0xheWVyLCBMYXllckNsYXNzZXNUeXBlfSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5pbXBvcnQge0RhdGFzZXRzfSBmcm9tICdAa2VwbGVyLmdsL3RhYmxlJztcbmltcG9ydCB7VUlTdGF0ZUFjdGlvbnMsIFZpc1N0YXRlQWN0aW9ucywgTWFwU3RhdGVBY3Rpb25zfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtMYXllck9yZGVyR3JvdXAsIExheWVyT3JkZXIsIExheWVyT3JkZXJIaWVyYXJjaHl9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5pbXBvcnQge3VzZURyb3BwYWJsZX0gZnJvbSAnQGRuZC1raXQvY29yZSc7XG5pbXBvcnQge1xuICB1c2VTb3J0YWJsZSxcbiAgU29ydGFibGVDb250ZXh0LFxuICB2ZXJ0aWNhbExpc3RTb3J0aW5nU3RyYXRlZ3ksXG4gIGRlZmF1bHRBbmltYXRlTGF5b3V0Q2hhbmdlc1xufSBmcm9tICdAZG5kLWtpdC9zb3J0YWJsZSc7XG5pbXBvcnQge0NTU30gZnJvbSAnQGRuZC1raXQvdXRpbGl0aWVzJztcbmltcG9ydCBMYXllclBhbmVsRmFjdG9yeSBmcm9tICcuL2xheWVyLXBhbmVsJztcbmltcG9ydCBMYXllckdyb3VwSGVhZGVyRmFjdG9yeSBmcm9tICcuL2xheWVyLWdyb3VwLWhlYWRlcic7XG5pbXBvcnQge2J1aWxkTGF5ZXJPcmRlckhpZXJhcmNoeX0gZnJvbSAnQGtlcGxlci5nbC9yZWR1Y2Vycyc7XG5pbXBvcnQge2RhdGFUZXN0SWRzfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge1NwbGl0TWFwfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7XG4gIFNPUlRBQkxFX0xBWUVSX1RZUEUsXG4gIFNPUlRBQkxFX1NJREVfUEFORUxfVFlQRSxcbiAgU09SVEFCTEVfTEFZRVJfR1JPVVBfVFlQRSxcbiAgU09SVEFCTEVfTEFZRVJfR1JPVVBfRFJPUFBBQkxFX1RZUEUsXG4gIFNPUlRBQkxFX0xBWUVSX0VORF9QTEFDRUhPTERFUixcbiAgU09SVEFCTEVfTEFZRVJfRU5EX1RZUEVcbn0gZnJvbSAnLi4vLi4vY29tbW9uL2RuZC1sYXllci1pdGVtcyc7XG5cbmV4cG9ydCB0eXBlIExheWVyTGlzdFByb3BzID0ge1xuICBkYXRhc2V0czogRGF0YXNldHM7XG4gIGxheWVyczogTGF5ZXJbXTtcbiAgbGF5ZXJPcmRlcjogTGF5ZXJPcmRlcjtcbiAgbGF5ZXJDbGFzc2VzOiBMYXllckNsYXNzZXNUeXBlO1xuICBpc1NvcnRhYmxlPzogYm9vbGVhbjtcbiAgc3BsaXRNYXA/OiBTcGxpdE1hcDtcbiAgdWlTdGF0ZUFjdGlvbnM6IHR5cGVvZiBVSVN0YXRlQWN0aW9ucztcbiAgdmlzU3RhdGVBY3Rpb25zOiB0eXBlb2YgVmlzU3RhdGVBY3Rpb25zO1xuICBtYXBTdGF0ZUFjdGlvbnM6IHR5cGVvZiBNYXBTdGF0ZUFjdGlvbnM7XG59O1xuXG5leHBvcnQgdHlwZSBMYXllckxpc3RGYWN0b3J5RGVwcyA9IFtcbiAgdHlwZW9mIExheWVyUGFuZWxGYWN0b3J5LFxuICB0eXBlb2YgTGF5ZXJHcm91cEhlYWRlckZhY3Rvcnlcbl07XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogOHB4O1xuYDtcblxuY29uc3QgYW5pbWF0ZUxheW91dENoYW5nZXMgPSBhcmdzID0+IHtcbiAgY29uc3Qge2lzU29ydGluZywgd2FzRHJhZ2dpbmd9ID0gYXJncztcbiAgaWYgKGlzU29ydGluZyB8fCB3YXNEcmFnZ2luZykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gZGVmYXVsdEFuaW1hdGVMYXlvdXRDaGFuZ2VzKGFyZ3MpO1xufTtcblxuY29uc3QgRW5kUGxhY2Vob2xkZXIgPSBzdHlsZWQuZGl2YFxuICBoZWlnaHQ6IDRweDtcbmA7XG5cbmludGVyZmFjZSBTb3J0YWJsZVN0eWxlZEl0ZW1Qcm9wcyB7XG4gICR0cmFuc2l0aW9uPzogc3RyaW5nO1xuICAkdHJhbnNmb3JtPzogc3RyaW5nO1xufVxuXG5jb25zdCBTb3J0YWJsZVN0eWxlZEl0ZW0gPSBzdHlsZWQuZGl2PFNvcnRhYmxlU3R5bGVkSXRlbVByb3BzPmBcbiAgdHJhbnNpdGlvbjogJHtwcm9wcyA9PiBwcm9wcy4kdHJhbnNpdGlvbn07XG4gIHRyYW5zZm9ybTogJHtwcm9wcyA9PiBwcm9wcy4kdHJhbnNmb3JtfTtcbiAgJi5zb3J0aW5nIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgJi5zb3J0aW5nLWxheWVycyAubGF5ZXItcGFuZWxfX2hlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gICAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseX07XG4gICAgZm9udC13ZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udFdlaWdodH07XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5saW5lSGVpZ2h0fTtcbiAgICAqLFxuICAgICo6YmVmb3JlLFxuICAgICo6YWZ0ZXIge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG4gICAgLmxheWVyX19kcmFnLWhhbmRsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgQ29sbGFwc2libGVHcm91cENvbnRlbnQgPSBzdHlsZWQuZGl2PHskaXNPdmVyPzogYm9vbGVhbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDA7XG4gIHBhZGRpbmc6IDRweCAwO1xuICBtaW4taGVpZ2h0OiAzMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IChwcm9wcy4kaXNPdmVyID8gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXIgOiAndHJhbnNwYXJlbnQnKX07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcbmA7XG5cbmNvbnN0IENvbGxhcHNlZERyb3Bab25lID0gc3R5bGVkLmRpdjx7JGlzT3Zlcj86IGJvb2xlYW59PmBcbiAgbWluLWhlaWdodDogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IChwcm9wcy4kaXNPdmVyID8gcHJvcHMudGhlbWUuYWN0aXZlQ29sb3IgOiAndHJhbnNwYXJlbnQnKX07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSwgbWluLWhlaWdodCAwLjE1cyBlYXNlO1xuICAke3Byb3BzID0+IHByb3BzLiRpc092ZXIgJiYgJ21pbi1oZWlnaHQ6IDI0cHg7J31cbmA7XG5cbmNvbnN0IEVtcHR5TGF5ZXJHcm91cCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDI4cHg7XG4gIGJvcmRlcjogMXB4IGRhc2hlZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbmA7XG5cbmNvbnN0IFRSRUVfVElMRV9XSURUSCA9IDEwO1xuY29uc3QgVFJFRV9USUxFX0JPUkRFUl9XSURUSCA9IDE7XG5cbmNvbnN0IFN0eWxlZENvbHVtbiA9IHN0eWxlZC5kaXY8eyRpc0xhc3Q/OiBib29sZWFufT5gXG4gIGJvcmRlci1sZWZ0OiAke3Byb3BzID0+IChwcm9wcy4kaXNMYXN0ID8gMCA6IDEpfXB4IGRhc2hlZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuYDtcblxuY29uc3QgVHJlZVRpbGUgPSBzdHlsZWQuZGl2PHskaXNMYXN0PzogYm9vbGVhbn0+YFxuICB3aWR0aDogJHtUUkVFX1RJTEVfV0lEVEh9cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgaGVpZ2h0OiAke3Byb3BzID0+IChwcm9wcy50aGVtZS5sYXllclBhbmVsSGVhZGVySGVpZ2h0IHx8IDMyKSAvIDJ9cHg7XG4gIG1hcmdpbi10b3A6IDJweDtcbiAgYm9yZGVyLWxlZnQ6ICR7cHJvcHMgPT4gKHByb3BzLiRpc0xhc3QgPyAxIDogMCl9cHggZGFzaGVkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG5gO1xuXG5jb25zdCBOZXN0ZWRMYXllckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xuXG5jb25zdCBOZXN0ZWRMYXllckNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogY2FsYygxMDAlIC0gJHtUUkVFX1RJTEVfV0lEVEggKyBUUkVFX1RJTEVfQk9SREVSX1dJRFRIfXB4KTtcbiAgcGFkZGluZy10b3A6IDhweDtcbmA7XG5cbkxheWVyTGlzdEZhY3RvcnkuZGVwcyA9IFtMYXllclBhbmVsRmFjdG9yeSwgTGF5ZXJHcm91cEhlYWRlckZhY3RvcnldO1xuXG5mdW5jdGlvbiBMYXllckxpc3RGYWN0b3J5KFxuICBMYXllclBhbmVsOiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllclBhbmVsRmFjdG9yeT4sXG4gIExheWVyR3JvdXBIZWFkZXI6IFJldHVyblR5cGU8dHlwZW9mIExheWVyR3JvdXBIZWFkZXJGYWN0b3J5PlxuKSB7XG4gIGNvbnN0IE5lc3RlZExheWVyOiBSZWFjdC5GQzx7Y2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTsgaXNMYXN0PzogYm9vbGVhbn0+ID0gKHtcbiAgICBjaGlsZHJlbixcbiAgICBpc0xhc3RcbiAgfSkgPT4gKFxuICAgIDxOZXN0ZWRMYXllckNvbnRhaW5lcj5cbiAgICAgIDxTdHlsZWRDb2x1bW4gJGlzTGFzdD17aXNMYXN0fT5cbiAgICAgICAgPFRyZWVUaWxlICRpc0xhc3Q9e2lzTGFzdH0gLz5cbiAgICAgIDwvU3R5bGVkQ29sdW1uPlxuICAgICAgPE5lc3RlZExheWVyQ29udGVudD57Y2hpbGRyZW59PC9OZXN0ZWRMYXllckNvbnRlbnQ+XG4gICAgPC9OZXN0ZWRMYXllckNvbnRhaW5lcj5cbiAgKTtcblxuICBjb25zdCBTb3J0YWJsZUxheWVySXRlbSA9ICh7bGF5ZXIsIGlkeCwgcGFuZWxQcm9wcywgbGF5ZXJBY3Rpb25zLCBkaXNhYmxlZCwgcGFyZW50fToge1xuICAgIGxheWVyOiBMYXllcjtcbiAgICBpZHg6IG51bWJlcjtcbiAgICBwYW5lbFByb3BzOiBhbnk7XG4gICAgbGF5ZXJBY3Rpb25zOiBhbnk7XG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAgIHBhcmVudD86IExheWVyT3JkZXJHcm91cDtcbiAgfSkgPT4ge1xuICAgIGNvbnN0IHthdHRyaWJ1dGVzLCBsaXN0ZW5lcnMsIHNldE5vZGVSZWYsIGlzRHJhZ2dpbmcsIHRyYW5zZm9ybSwgdHJhbnNpdGlvbn0gPSB1c2VTb3J0YWJsZSh7XG4gICAgICBpZDogbGF5ZXIuaWQsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHR5cGU6IFNPUlRBQkxFX0xBWUVSX1RZUEUsXG4gICAgICAgIHBhcmVudFxuICAgICAgfSxcbiAgICAgIGRpc2FibGVkLFxuICAgICAgYW5pbWF0ZUxheW91dENoYW5nZXNcbiAgICB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U29ydGFibGVTdHlsZWRJdGVtXG4gICAgICAgIHJlZj17c2V0Tm9kZVJlZn1cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICAgIHtbZGF0YVRlc3RJZHMuc29ydGFibGVMYXllckl0ZW1dOiAhZGlzYWJsZWR9LFxuICAgICAgICAgIHtbZGF0YVRlc3RJZHMuc3RhdGljTGF5ZXJJdGVtXTogZGlzYWJsZWR9LFxuICAgICAgICAgIHtzb3J0aW5nOiBpc0RyYWdnaW5nfVxuICAgICAgICApfVxuICAgICAgICBkYXRhLXRlc3RpZD17ZGlzYWJsZWQgPyBkYXRhVGVzdElkcy5zdGF0aWNMYXllckl0ZW0gOiBkYXRhVGVzdElkcy5zb3J0YWJsZUxheWVySXRlbX1cbiAgICAgICAgJHRyYW5zZm9ybT17Q1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pfVxuICAgICAgICAkdHJhbnNpdGlvbj17dHJhbnNpdGlvbn1cbiAgICAgICAgey4uLmF0dHJpYnV0ZXN9XG4gICAgICA+XG4gICAgICAgIDxMYXllclBhbmVsXG4gICAgICAgICAgey4uLnBhbmVsUHJvcHN9XG4gICAgICAgICAgey4uLmxheWVyQWN0aW9uc31cbiAgICAgICAgICBrZXk9e2xheWVyLmlkfVxuICAgICAgICAgIGlkeD17aWR4fVxuICAgICAgICAgIGxheWVyPXtsYXllcn1cbiAgICAgICAgICBsaXN0ZW5lcnM9e2xpc3RlbmVyc31cbiAgICAgICAgICBpc0RyYWdnYWJsZT17IWRpc2FibGVkfVxuICAgICAgICAvPlxuICAgICAgPC9Tb3J0YWJsZVN0eWxlZEl0ZW0+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBTb3J0YWJsZUdyb3VwSXRlbTogUmVhY3QuRkM8e1xuICAgIGxheWVyR3JvdXA6IExheWVyT3JkZXJHcm91cDtcbiAgICBsYXllcnM6IExheWVyW107XG4gICAgcGFuZWxQcm9wczogYW55O1xuICAgIGxheWVyQWN0aW9uczogYW55O1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgfT4gPSAoe2xheWVyR3JvdXAsIGxheWVycywgcGFuZWxQcm9wcywgbGF5ZXJBY3Rpb25zLCBkaXNhYmxlZH0pID0+IHtcbiAgICBjb25zdCB7YXR0cmlidXRlcywgaXNEcmFnZ2luZywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb259ID0gdXNlU29ydGFibGUoe1xuICAgICAgaWQ6IGxheWVyR3JvdXAuaWQsXG4gICAgICBkYXRhOiB7dHlwZTogU09SVEFCTEVfTEFZRVJfR1JPVVBfVFlQRX0sXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIGFuaW1hdGVMYXlvdXRDaGFuZ2VzXG4gICAgfSk7XG5cbiAgICBjb25zdCBsYXllckVudHJpZXNUb1Nob3cgPSBidWlsZExheWVyT3JkZXJIaWVyYXJjaHkobGF5ZXJHcm91cC5sYXllck9yZGVyLCBsYXllcnMpO1xuICAgIGNvbnN0IGRuZEl0ZW1zID0gbGF5ZXJFbnRyaWVzVG9TaG93Lm1hcChlbnRyeSA9PiBlbnRyeVsxXS5pZCA/PyBlbnRyeVsxXSk7XG5cbiAgICBjb25zdCBbaXNTZWN0aW9uT3Blbiwgc2V0SXNTZWN0aW9uT3Blbl0gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgICBjb25zdCBvblRvZ2dsZSA9IHVzZUNhbGxiYWNrKCgpID0+IHNldElzU2VjdGlvbk9wZW4ocHJldiA9PiAhcHJldiksIFtdKTtcblxuICAgIGNvbnN0IHN0eWxlID0gdXNlTWVtbyhcbiAgICAgICgpID0+ICh7XG4gICAgICAgIHRyYW5zZm9ybTogQ1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pLFxuICAgICAgICB0cmFuc2l0aW9uLFxuICAgICAgICBvcGFjaXR5OiBpc0RyYWdnaW5nID8gMC41IDogMVxuICAgICAgfSksXG4gICAgICBbaXNEcmFnZ2luZywgdHJhbnNmb3JtLCB0cmFuc2l0aW9uXVxuICAgICk7XG5cbiAgICBjb25zdCB7aXNPdmVyLCBzZXROb2RlUmVmOiBkcm9wcGFibGVTZXROb2RlUmVmfSA9IHVzZURyb3BwYWJsZSh7XG4gICAgICBpZDogYGRyb3BwYWJsZS1sYXllci1ncm91cC1jb250ZW50LSR7bGF5ZXJHcm91cC5pZH1gLFxuICAgICAgZGF0YToge1xuICAgICAgICB0eXBlOiBTT1JUQUJMRV9MQVlFUl9HUk9VUF9EUk9QUEFCTEVfVFlQRSxcbiAgICAgICAgcGFyZW50OiBsYXllckdyb3VwXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBpc09wZW4gPSB1c2VNZW1vKCgpID0+IGlzU2VjdGlvbk9wZW4gJiYgIWlzRHJhZ2dpbmcsIFtpc1NlY3Rpb25PcGVuLCBpc0RyYWdnaW5nXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBzdHlsZT17c3R5bGV9PlxuICAgICAgICA8ZGl2IHJlZj17c2V0Tm9kZVJlZn0gey4uLmF0dHJpYnV0ZXN9PlxuICAgICAgICAgIDxMYXllckdyb3VwSGVhZGVyXG4gICAgICAgICAgICBsYXllckdyb3VwPXtsYXllckdyb3VwfVxuICAgICAgICAgICAgb25Ub2dnbGVMYXllckdyb3VwQ29udGVudD17b25Ub2dnbGV9XG4gICAgICAgICAgICBpc0xheWVyR3JvdXBDb250ZW50T3Blbj17aXNTZWN0aW9uT3Blbn1cbiAgICAgICAgICAgIGxpc3RlbmVycz17bGlzdGVuZXJzfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7aXNPcGVuID8gKFxuICAgICAgICAgIDxDb2xsYXBzaWJsZUdyb3VwQ29udGVudCByZWY9e2Ryb3BwYWJsZVNldE5vZGVSZWZ9ICRpc092ZXI9e2lzT3Zlcn0+XG4gICAgICAgICAgICB7bGF5ZXJFbnRyaWVzVG9TaG93Lmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgPFNvcnRhYmxlQ29udGV4dFxuICAgICAgICAgICAgICAgIGlkPXtgc29ydGFibGUtZ3JvdXAtJHtsYXllckdyb3VwLmlkfWB9XG4gICAgICAgICAgICAgICAgaXRlbXM9e2RuZEl0ZW1zfVxuICAgICAgICAgICAgICAgIHN0cmF0ZWd5PXt2ZXJ0aWNhbExpc3RTb3J0aW5nU3RyYXRlZ3l9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7bGF5ZXJFbnRyaWVzVG9TaG93Lm1hcCgoW3R5cGUsIG5lc3RlZEVudHJ5XSwgaW5kZXgpID0+XG4gICAgICAgICAgICAgICAgICB0eXBlID09PSAnbGF5ZXInID8gKFxuICAgICAgICAgICAgICAgICAgICA8TmVzdGVkTGF5ZXJcbiAgICAgICAgICAgICAgICAgICAgICBrZXk9e25lc3RlZEVudHJ5LmlkfVxuICAgICAgICAgICAgICAgICAgICAgIGlzTGFzdD17aW5kZXggPT09IGxheWVyRW50cmllc1RvU2hvdy5sZW5ndGggLSAxfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPFNvcnRhYmxlTGF5ZXJJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICBsYXllcj17bmVzdGVkRW50cnkgYXMgTGF5ZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICBpZHg9e2xheWVycy5maW5kSW5kZXgobCA9PiBsPy5pZCA9PT0gbmVzdGVkRW50cnkuaWQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgcGFuZWxQcm9wcz17cGFuZWxQcm9wc31cbiAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyQWN0aW9ucz17bGF5ZXJBY3Rpb25zfVxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50PXtsYXllckdyb3VwfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvTmVzdGVkTGF5ZXI+XG4gICAgICAgICAgICAgICAgICApIDogbnVsbFxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPEVtcHR5TGF5ZXJHcm91cD5EcmFnIGxheWVyIGhlcmU8L0VtcHR5TGF5ZXJHcm91cD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Db2xsYXBzaWJsZUdyb3VwQ29udGVudD5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8Q29sbGFwc2VkRHJvcFpvbmUgcmVmPXtkcm9wcGFibGVTZXROb2RlUmVmfSAkaXNPdmVyPXtpc092ZXJ9IC8+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IFNvcnRhYmxlRW5kUGxhY2Vob2xkZXIgPSAoKSA9PiB7XG4gICAgY29uc3Qge3NldE5vZGVSZWZ9ID0gdXNlU29ydGFibGUoe1xuICAgICAgaWQ6IFNPUlRBQkxFX0xBWUVSX0VORF9QTEFDRUhPTERFUixcbiAgICAgIGRhdGE6IHt0eXBlOiBTT1JUQUJMRV9MQVlFUl9FTkRfVFlQRX0sXG4gICAgICBhbmltYXRlTGF5b3V0Q2hhbmdlc1xuICAgIH0pO1xuICAgIHJldHVybiA8RW5kUGxhY2Vob2xkZXIgcmVmPXtzZXROb2RlUmVmfSAvPjtcbiAgfTtcblxuICBjb25zdCBMYXllckxpc3Q6IFJlYWN0LkZDPExheWVyTGlzdFByb3BzPiA9IHByb3BzID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBsYXllcnMsXG4gICAgICBkYXRhc2V0cyxcbiAgICAgIGxheWVyT3JkZXIsXG4gICAgICB1aVN0YXRlQWN0aW9ucyxcbiAgICAgIHZpc1N0YXRlQWN0aW9ucyxcbiAgICAgIG1hcFN0YXRlQWN0aW9ucyxcbiAgICAgIGxheWVyQ2xhc3NlcyxcbiAgICAgIGlzU29ydGFibGUgPSB0cnVlLFxuICAgICAgc3BsaXRNYXBcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3Qge3RvZ2dsZU1vZGFsOiBvcGVuTW9kYWx9ID0gdWlTdGF0ZUFjdGlvbnM7XG5cbiAgICBjb25zdCBsYXllckVudHJpZXNUb1Nob3c6IExheWVyT3JkZXJIaWVyYXJjaHkgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gYnVpbGRMYXllck9yZGVySGllcmFyY2h5KGxheWVyT3JkZXIsIGxheWVycyksXG4gICAgICBbbGF5ZXJPcmRlciwgbGF5ZXJzXVxuICAgICk7XG5cbiAgICBjb25zdCBzaWRlUGFuZWxEbmRJdGVtcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3QgaXRlbXMgPSBsYXllckVudHJpZXNUb1Nob3cubWFwKGVudHJ5ID0+IGVudHJ5WzFdLmlkID8/IGVudHJ5WzFdKTtcbiAgICAgIGl0ZW1zLnB1c2goU09SVEFCTEVfTEFZRVJfRU5EX1BMQUNFSE9MREVSKTtcbiAgICAgIHJldHVybiBpdGVtcztcbiAgICB9LCBbbGF5ZXJFbnRyaWVzVG9TaG93XSk7XG5cbiAgICBjb25zdCBsYXllclR5cGVPcHRpb25zID0gdXNlTWVtbyhcbiAgICAgICgpID0+XG4gICAgICAgIE9iamVjdC5rZXlzKGxheWVyQ2xhc3NlcykubWFwKGtleSA9PiB7XG4gICAgICAgICAgY29uc3QgbGF5ZXIgPSBuZXcgbGF5ZXJDbGFzc2VzW2tleV0oe2RhdGFJZDogJyd9KTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWQ6IGtleSxcbiAgICAgICAgICAgIGxhYmVsOiBsYXllci5uYW1lLFxuICAgICAgICAgICAgaWNvbjogbGF5ZXIubGF5ZXJJY29uLFxuICAgICAgICAgICAgcmVxdWlyZURhdGE6IGxheWVyLnJlcXVpcmVEYXRhXG4gICAgICAgICAgfTtcbiAgICAgICAgfSksXG4gICAgICBbbGF5ZXJDbGFzc2VzXVxuICAgICk7XG5cbiAgICBjb25zdCBsYXllckFjdGlvbnMgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKHtcbiAgICAgICAgbGF5ZXJDb2xvclVJQ2hhbmdlOiB2aXNTdGF0ZUFjdGlvbnMubGF5ZXJDb2xvclVJQ2hhbmdlLFxuICAgICAgICBsYXllckNvbmZpZ0NoYW5nZTogdmlzU3RhdGVBY3Rpb25zLmxheWVyQ29uZmlnQ2hhbmdlLFxuICAgICAgICBsYXllclZpc3VhbENoYW5uZWxDb25maWdDaGFuZ2U6IHZpc1N0YXRlQWN0aW9ucy5sYXllclZpc3VhbENoYW5uZWxDb25maWdDaGFuZ2UsXG4gICAgICAgIGxheWVyVG9nZ2xlVmlzaWJpbGl0eTogdmlzU3RhdGVBY3Rpb25zLmxheWVyVG9nZ2xlVmlzaWJpbGl0eSxcbiAgICAgICAgbGF5ZXJUeXBlQ2hhbmdlOiB2aXNTdGF0ZUFjdGlvbnMubGF5ZXJUeXBlQ2hhbmdlLFxuICAgICAgICBsYXllclZpc0NvbmZpZ0NoYW5nZTogdmlzU3RhdGVBY3Rpb25zLmxheWVyVmlzQ29uZmlnQ2hhbmdlLFxuICAgICAgICBsYXllclRleHRMYWJlbENoYW5nZTogdmlzU3RhdGVBY3Rpb25zLmxheWVyVGV4dExhYmVsQ2hhbmdlLFxuICAgICAgICByZW1vdmVMYXllcjogdmlzU3RhdGVBY3Rpb25zLnJlbW92ZUxheWVyLFxuICAgICAgICB6b29tVG9MYXllcjogbWFwU3RhdGVBY3Rpb25zLmZpdEJvdW5kcyxcbiAgICAgICAgZHVwbGljYXRlTGF5ZXI6IHZpc1N0YXRlQWN0aW9ucy5kdXBsaWNhdGVMYXllcixcbiAgICAgICAgbGF5ZXJTZXRJc1ZhbGlkOiB2aXNTdGF0ZUFjdGlvbnMubGF5ZXJTZXRJc1ZhbGlkXG4gICAgICB9KSxcbiAgICAgIFt2aXNTdGF0ZUFjdGlvbnMsIG1hcFN0YXRlQWN0aW9uc11cbiAgICApO1xuXG4gICAgY29uc3QgcGFuZWxQcm9wcyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAoe1xuICAgICAgICBkYXRhc2V0cyxcbiAgICAgICAgb3Blbk1vZGFsLFxuICAgICAgICBsYXllclR5cGVPcHRpb25zLFxuICAgICAgICBzcGxpdE1hcFxuICAgICAgfSksXG4gICAgICBbZGF0YXNldHMsIG9wZW5Nb2RhbCwgbGF5ZXJUeXBlT3B0aW9ucywgc3BsaXRNYXBdXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8Q29udGFpbmVyPlxuICAgICAgICA8U29ydGFibGVDb250ZXh0XG4gICAgICAgICAgaWQ9e1NPUlRBQkxFX1NJREVfUEFORUxfVFlQRX1cbiAgICAgICAgICBpdGVtcz17c2lkZVBhbmVsRG5kSXRlbXN9XG4gICAgICAgICAgc3RyYXRlZ3k9e3ZlcnRpY2FsTGlzdFNvcnRpbmdTdHJhdGVneX1cbiAgICAgICAgICBkaXNhYmxlZD17IWlzU29ydGFibGV9XG4gICAgICAgID5cbiAgICAgICAgICB7bGF5ZXJFbnRyaWVzVG9TaG93Lm1hcCgoW3R5cGUsIGl0ZW1dKSA9PlxuICAgICAgICAgICAgdHlwZSA9PT0gJ2xheWVyJyA/IChcbiAgICAgICAgICAgICAgPFNvcnRhYmxlTGF5ZXJJdGVtXG4gICAgICAgICAgICAgICAga2V5PXtpdGVtLmlkfVxuICAgICAgICAgICAgICAgIGxheWVyPXtpdGVtIGFzIExheWVyfVxuICAgICAgICAgICAgICAgIGlkeD17bGF5ZXJzLmZpbmRJbmRleChsID0+IGw/LmlkID09PSBpdGVtLmlkKX1cbiAgICAgICAgICAgICAgICBwYW5lbFByb3BzPXtwYW5lbFByb3BzfVxuICAgICAgICAgICAgICAgIGxheWVyQWN0aW9ucz17bGF5ZXJBY3Rpb25zfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXshaXNTb3J0YWJsZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxTb3J0YWJsZUdyb3VwSXRlbVxuICAgICAgICAgICAgICAgIGtleT17KGl0ZW0gYXMgTGF5ZXJPcmRlckdyb3VwKS5pZH1cbiAgICAgICAgICAgICAgICBsYXllckdyb3VwPXtpdGVtIGFzIExheWVyT3JkZXJHcm91cH1cbiAgICAgICAgICAgICAgICBsYXllcnM9e2xheWVyc31cbiAgICAgICAgICAgICAgICBwYW5lbFByb3BzPXtwYW5lbFByb3BzfVxuICAgICAgICAgICAgICAgIGxheWVyQWN0aW9ucz17bGF5ZXJBY3Rpb25zfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXshaXNTb3J0YWJsZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIClcbiAgICAgICAgICApfVxuICAgICAgICAgIDxTb3J0YWJsZUVuZFBsYWNlaG9sZGVyIC8+XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgKTtcbiAgfTtcbiAgcmV0dXJuIExheWVyTGlzdDtcbn1cbmV4cG9ydCBkZWZhdWx0IExheWVyTGlzdEZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElB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
|
|
330
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY2xhc3NuYW1lczMiLCJfY29yZSIsIl9zb3J0YWJsZSIsIl91dGlsaXRpZXMiLCJfbGF5ZXJQYW5lbCIsIl9sYXllckdyb3VwSGVhZGVyIiwiX3JlZHVjZXJzIiwiX2NvbnN0YW50cyIsIl9kbmRMYXllckl0ZW1zIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfdGVtcGxhdGVPYmplY3Q3IiwiX3RlbXBsYXRlT2JqZWN0OCIsIl90ZW1wbGF0ZU9iamVjdDkiLCJfdGVtcGxhdGVPYmplY3QwIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsImFuaW1hdGVMYXlvdXRDaGFuZ2VzIiwiYXJncyIsImlzU29ydGluZyIsIndhc0RyYWdnaW5nIiwiZGVmYXVsdEFuaW1hdGVMYXlvdXRDaGFuZ2VzIiwiRW5kUGxhY2Vob2xkZXIiLCJTb3J0YWJsZVN0eWxlZEl0ZW0iLCJwcm9wcyIsIiR0cmFuc2l0aW9uIiwiJHRyYW5zZm9ybSIsInRoZW1lIiwicGFuZWxCYWNrZ3JvdW5kSG92ZXIiLCJmb250RmFtaWx5IiwiZm9udFdlaWdodCIsImZvbnRTaXplIiwibGluZUhlaWdodCIsInRleHRDb2xvckhsIiwiQ29sbGFwc2libGVHcm91cENvbnRlbnQiLCIkaXNPdmVyIiwiQ29sbGFwc2VkRHJvcFpvbmUiLCJhY3RpdmVDb2xvciIsIkVtcHR5TGF5ZXJHcm91cCIsImxhYmVsQ29sb3IiLCJzdWJ0ZXh0Q29sb3IiLCJUUkVFX1RJTEVfV0lEVEgiLCJUUkVFX1RJTEVfQk9SREVSX1dJRFRIIiwiU3R5bGVkQ29sdW1uIiwiJGlzTGFzdCIsIlRyZWVUaWxlIiwibGF5ZXJQYW5lbEhlYWRlckhlaWdodCIsIk5lc3RlZExheWVyQ29udGFpbmVyIiwiTmVzdGVkTGF5ZXJDb250ZW50IiwiTGF5ZXJMaXN0RmFjdG9yeSIsImRlcHMiLCJMYXllclBhbmVsRmFjdG9yeSIsIkxheWVyR3JvdXBIZWFkZXJGYWN0b3J5IiwiTGF5ZXJQYW5lbCIsIkxheWVyR3JvdXBIZWFkZXIiLCJOZXN0ZWRMYXllciIsIl9yZWYiLCJjaGlsZHJlbiIsImlzTGFzdCIsImNyZWF0ZUVsZW1lbnQiLCJTb3J0YWJsZUxheWVySXRlbSIsIl9yZWYyIiwibGF5ZXIiLCJpZHgiLCJwYW5lbFByb3BzIiwibGF5ZXJBY3Rpb25zIiwiZGlzYWJsZWQiLCJwYXJlbnQiLCJfdXNlU29ydGFibGUiLCJ1c2VTb3J0YWJsZSIsImlkIiwiZGF0YSIsInR5cGUiLCJTT1JUQUJMRV9MQVlFUl9UWVBFIiwiYXR0cmlidXRlcyIsImxpc3RlbmVycyIsInNldE5vZGVSZWYiLCJpc0RyYWdnaW5nIiwidHJhbnNmb3JtIiwidHJhbnNpdGlvbiIsIl9leHRlbmRzMiIsInJlZiIsImNsYXNzTmFtZSIsImNsYXNzbmFtZXMiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGF0YVRlc3RJZHMiLCJzb3J0YWJsZUxheWVySXRlbSIsInN0YXRpY0xheWVySXRlbSIsInNvcnRpbmciLCJDU1MiLCJUcmFuc2Zvcm0iLCJ0b1N0cmluZyIsImtleSIsImlzRHJhZ2dhYmxlIiwiU29ydGFibGVHcm91cEl0ZW0iLCJfcmVmMyIsImxheWVyR3JvdXAiLCJsYXllcnMiLCJfdXNlU29ydGFibGUyIiwiU09SVEFCTEVfTEFZRVJfR1JPVVBfVFlQRSIsImxheWVyRW50cmllc1RvU2hvdyIsImJ1aWxkTGF5ZXJPcmRlckhpZXJhcmNoeSIsImxheWVyT3JkZXIiLCJkbmRJdGVtcyIsIm1hcCIsImVudHJ5IiwiX2VudHJ5JDEkaWQiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJpc1NlY3Rpb25PcGVuIiwic2V0SXNTZWN0aW9uT3BlbiIsIm9uVG9nZ2xlIiwidXNlQ2FsbGJhY2siLCJwcmV2Iiwic3R5bGUiLCJ1c2VNZW1vIiwib3BhY2l0eSIsIl91c2VEcm9wcGFibGUiLCJ1c2VEcm9wcGFibGUiLCJjb25jYXQiLCJTT1JUQUJMRV9MQVlFUl9HUk9VUF9EUk9QUEFCTEVfVFlQRSIsImlzT3ZlciIsImRyb3BwYWJsZVNldE5vZGVSZWYiLCJpc09wZW4iLCJvblRvZ2dsZUxheWVyR3JvdXBDb250ZW50IiwiaXNMYXllckdyb3VwQ29udGVudE9wZW4iLCJsZW5ndGgiLCJTb3J0YWJsZUNvbnRleHQiLCJpdGVtcyIsInN0cmF0ZWd5IiwidmVydGljYWxMaXN0U29ydGluZ1N0cmF0ZWd5IiwiX3JlZjQiLCJpbmRleCIsIl9yZWY1IiwibmVzdGVkRW50cnkiLCJmaW5kSW5kZXgiLCJsIiwiU29ydGFibGVFbmRQbGFjZWhvbGRlciIsIl91c2VTb3J0YWJsZTMiLCJTT1JUQUJMRV9MQVlFUl9FTkRfUExBQ0VIT0xERVIiLCJTT1JUQUJMRV9MQVlFUl9FTkRfVFlQRSIsIkxheWVyTGlzdCIsImRhdGFzZXRzIiwidWlTdGF0ZUFjdGlvbnMiLCJ2aXNTdGF0ZUFjdGlvbnMiLCJtYXBTdGF0ZUFjdGlvbnMiLCJtYXBTdGF0ZSIsImxheWVyQ2xhc3NlcyIsIl9wcm9wcyRpc1NvcnRhYmxlIiwiaXNTb3J0YWJsZSIsInNwbGl0TWFwIiwib3Blbk1vZGFsIiwidG9nZ2xlTW9kYWwiLCJzaWRlUGFuZWxEbmRJdGVtcyIsIl9lbnRyeSQxJGlkMiIsInB1c2giLCJsYXllclR5cGVPcHRpb25zIiwia2V5cyIsImRhdGFJZCIsImxhYmVsIiwibmFtZSIsImljb24iLCJsYXllckljb24iLCJyZXF1aXJlRGF0YSIsImxheWVyQ29sb3JVSUNoYW5nZSIsImxheWVyQ29uZmlnQ2hhbmdlIiwibGF5ZXJWaXN1YWxDaGFubmVsQ29uZmlnQ2hhbmdlIiwibGF5ZXJUb2dnbGVWaXNpYmlsaXR5IiwibGF5ZXJUeXBlQ2hhbmdlIiwibGF5ZXJWaXNDb25maWdDaGFuZ2UiLCJsYXllclRleHRMYWJlbENoYW5nZSIsInJlbW92ZUxheWVyIiwiem9vbVRvTGF5ZXIiLCJmaXRCb3VuZHMiLCJkdXBsaWNhdGVMYXllciIsImxheWVyU2V0SXNWYWxpZCIsIlNPUlRBQkxFX1NJREVfUEFORUxfVFlQRSIsIl9yZWY2IiwiX3JlZjciLCJpdGVtIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvbGF5ZXItbGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlTWVtbywgdXNlQ2FsbGJhY2ssIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuXG5pbXBvcnQge0xheWVyLCBMYXllckNsYXNzZXNUeXBlfSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5pbXBvcnQge0RhdGFzZXRzfSBmcm9tICdAa2VwbGVyLmdsL3RhYmxlJztcbmltcG9ydCB7VUlTdGF0ZUFjdGlvbnMsIFZpc1N0YXRlQWN0aW9ucywgTWFwU3RhdGVBY3Rpb25zfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtMYXllck9yZGVyR3JvdXAsIExheWVyT3JkZXIsIExheWVyT3JkZXJIaWVyYXJjaHksIE1hcFN0YXRlfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuaW1wb3J0IHt1c2VEcm9wcGFibGV9IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IHtcbiAgdXNlU29ydGFibGUsXG4gIFNvcnRhYmxlQ29udGV4dCxcbiAgdmVydGljYWxMaXN0U29ydGluZ1N0cmF0ZWd5LFxuICBkZWZhdWx0QW5pbWF0ZUxheW91dENoYW5nZXNcbn0gZnJvbSAnQGRuZC1raXQvc29ydGFibGUnO1xuaW1wb3J0IHtDU1N9IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQgTGF5ZXJQYW5lbEZhY3RvcnkgZnJvbSAnLi9sYXllci1wYW5lbCc7XG5pbXBvcnQgTGF5ZXJHcm91cEhlYWRlckZhY3RvcnkgZnJvbSAnLi9sYXllci1ncm91cC1oZWFkZXInO1xuaW1wb3J0IHtidWlsZExheWVyT3JkZXJIaWVyYXJjaHl9IGZyb20gJ0BrZXBsZXIuZ2wvcmVkdWNlcnMnO1xuaW1wb3J0IHtkYXRhVGVzdElkc30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtTcGxpdE1hcH0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge1xuICBTT1JUQUJMRV9MQVlFUl9UWVBFLFxuICBTT1JUQUJMRV9TSURFX1BBTkVMX1RZUEUsXG4gIFNPUlRBQkxFX0xBWUVSX0dST1VQX1RZUEUsXG4gIFNPUlRBQkxFX0xBWUVSX0dST1VQX0RST1BQQUJMRV9UWVBFLFxuICBTT1JUQUJMRV9MQVlFUl9FTkRfUExBQ0VIT0xERVIsXG4gIFNPUlRBQkxFX0xBWUVSX0VORF9UWVBFXG59IGZyb20gJy4uLy4uL2NvbW1vbi9kbmQtbGF5ZXItaXRlbXMnO1xuXG5leHBvcnQgdHlwZSBMYXllckxpc3RQcm9wcyA9IHtcbiAgZGF0YXNldHM6IERhdGFzZXRzO1xuICBsYXllcnM6IExheWVyW107XG4gIGxheWVyT3JkZXI6IExheWVyT3JkZXI7XG4gIGxheWVyQ2xhc3NlczogTGF5ZXJDbGFzc2VzVHlwZTtcbiAgaXNTb3J0YWJsZT86IGJvb2xlYW47XG4gIHNwbGl0TWFwPzogU3BsaXRNYXA7XG4gIG1hcFN0YXRlPzogTWFwU3RhdGU7XG4gIHVpU3RhdGVBY3Rpb25zOiB0eXBlb2YgVUlTdGF0ZUFjdGlvbnM7XG4gIHZpc1N0YXRlQWN0aW9uczogdHlwZW9mIFZpc1N0YXRlQWN0aW9ucztcbiAgbWFwU3RhdGVBY3Rpb25zOiB0eXBlb2YgTWFwU3RhdGVBY3Rpb25zO1xufTtcblxuZXhwb3J0IHR5cGUgTGF5ZXJMaXN0RmFjdG9yeURlcHMgPSBbXG4gIHR5cGVvZiBMYXllclBhbmVsRmFjdG9yeSxcbiAgdHlwZW9mIExheWVyR3JvdXBIZWFkZXJGYWN0b3J5XG5dO1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDhweDtcbmA7XG5cbmNvbnN0IGFuaW1hdGVMYXlvdXRDaGFuZ2VzID0gYXJncyA9PiB7XG4gIGNvbnN0IHtpc1NvcnRpbmcsIHdhc0RyYWdnaW5nfSA9IGFyZ3M7XG4gIGlmIChpc1NvcnRpbmcgfHwgd2FzRHJhZ2dpbmcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIGRlZmF1bHRBbmltYXRlTGF5b3V0Q2hhbmdlcyhhcmdzKTtcbn07XG5cbmNvbnN0IEVuZFBsYWNlaG9sZGVyID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiA0cHg7XG5gO1xuXG5pbnRlcmZhY2UgU29ydGFibGVTdHlsZWRJdGVtUHJvcHMge1xuICAkdHJhbnNpdGlvbj86IHN0cmluZztcbiAgJHRyYW5zZm9ybT86IHN0cmluZztcbn1cblxuY29uc3QgU29ydGFibGVTdHlsZWRJdGVtID0gc3R5bGVkLmRpdjxTb3J0YWJsZVN0eWxlZEl0ZW1Qcm9wcz5gXG4gIHRyYW5zaXRpb246ICR7cHJvcHMgPT4gcHJvcHMuJHRyYW5zaXRpb259O1xuICB0cmFuc2Zvcm06ICR7cHJvcHMgPT4gcHJvcHMuJHRyYW5zZm9ybX07XG4gICYuc29ydGluZyB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gICYuc29ydGluZy1sYXllcnMgLmxheWVyLXBhbmVsX19oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuICAgIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRGYW1pbHl9O1xuICAgIGZvbnQtd2VpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRXZWlnaHR9O1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGluZUhlaWdodH07XG4gICAgKixcbiAgICAqOmJlZm9yZSxcbiAgICAqOmFmdGVyIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICAgIC5sYXllcl9fZHJhZy1oYW5kbGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IENvbGxhcHNpYmxlR3JvdXBDb250ZW50ID0gc3R5bGVkLmRpdjx7JGlzT3Zlcj86IGJvb2xlYW59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwO1xuICBwYWRkaW5nOiA0cHggMDtcbiAgbWluLWhlaWdodDogMzJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiAocHJvcHMuJGlzT3ZlciA/IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyIDogJ3RyYW5zcGFyZW50Jyl9O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG5gO1xuXG5jb25zdCBDb2xsYXBzZWREcm9wWm9uZSA9IHN0eWxlZC5kaXY8eyRpc092ZXI/OiBib29sZWFufT5gXG4gIG1pbi1oZWlnaHQ6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiAocHJvcHMuJGlzT3ZlciA/IHByb3BzLnRoZW1lLmFjdGl2ZUNvbG9yIDogJ3RyYW5zcGFyZW50Jyl9O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsIG1pbi1oZWlnaHQgMC4xNXMgZWFzZTtcbiAgJHtwcm9wcyA9PiBwcm9wcy4kaXNPdmVyICYmICdtaW4taGVpZ2h0OiAyNHB4Oyd9XG5gO1xuXG5jb25zdCBFbXB0eUxheWVyR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAyOHB4O1xuICBib3JkZXI6IDFweCBkYXNoZWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvcn07XG5gO1xuXG5jb25zdCBUUkVFX1RJTEVfV0lEVEggPSAxMDtcbmNvbnN0IFRSRUVfVElMRV9CT1JERVJfV0lEVEggPSAxO1xuXG5jb25zdCBTdHlsZWRDb2x1bW4gPSBzdHlsZWQuZGl2PHskaXNMYXN0PzogYm9vbGVhbn0+YFxuICBib3JkZXItbGVmdDogJHtwcm9wcyA9PiAocHJvcHMuJGlzTGFzdCA/IDAgOiAxKX1weCBkYXNoZWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbmA7XG5cbmNvbnN0IFRyZWVUaWxlID0gc3R5bGVkLmRpdjx7JGlzTGFzdD86IGJvb2xlYW59PmBcbiAgd2lkdGg6ICR7VFJFRV9USUxFX1dJRFRIfXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG4gIGhlaWdodDogJHtwcm9wcyA9PiAocHJvcHMudGhlbWUubGF5ZXJQYW5lbEhlYWRlckhlaWdodCB8fCAzMikgLyAyfXB4O1xuICBtYXJnaW4tdG9wOiAycHg7XG4gIGJvcmRlci1sZWZ0OiAke3Byb3BzID0+IChwcm9wcy4kaXNMYXN0ID8gMSA6IDApfXB4IGRhc2hlZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuYDtcblxuY29uc3QgTmVzdGVkTGF5ZXJDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuY29uc3QgTmVzdGVkTGF5ZXJDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IGNhbGMoMTAwJSAtICR7VFJFRV9USUxFX1dJRFRIICsgVFJFRV9USUxFX0JPUkRFUl9XSURUSH1weCk7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG5gO1xuXG5MYXllckxpc3RGYWN0b3J5LmRlcHMgPSBbTGF5ZXJQYW5lbEZhY3RvcnksIExheWVyR3JvdXBIZWFkZXJGYWN0b3J5XTtcblxuZnVuY3Rpb24gTGF5ZXJMaXN0RmFjdG9yeShcbiAgTGF5ZXJQYW5lbDogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJQYW5lbEZhY3Rvcnk+LFxuICBMYXllckdyb3VwSGVhZGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllckdyb3VwSGVhZGVyRmFjdG9yeT5cbikge1xuICBjb25zdCBOZXN0ZWRMYXllcjogUmVhY3QuRkM8e2NoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7IGlzTGFzdD86IGJvb2xlYW59PiA9ICh7XG4gICAgY2hpbGRyZW4sXG4gICAgaXNMYXN0XG4gIH0pID0+IChcbiAgICA8TmVzdGVkTGF5ZXJDb250YWluZXI+XG4gICAgICA8U3R5bGVkQ29sdW1uICRpc0xhc3Q9e2lzTGFzdH0+XG4gICAgICAgIDxUcmVlVGlsZSAkaXNMYXN0PXtpc0xhc3R9IC8+XG4gICAgICA8L1N0eWxlZENvbHVtbj5cbiAgICAgIDxOZXN0ZWRMYXllckNvbnRlbnQ+e2NoaWxkcmVufTwvTmVzdGVkTGF5ZXJDb250ZW50PlxuICAgIDwvTmVzdGVkTGF5ZXJDb250YWluZXI+XG4gICk7XG5cbiAgY29uc3QgU29ydGFibGVMYXllckl0ZW0gPSAoe2xheWVyLCBpZHgsIHBhbmVsUHJvcHMsIGxheWVyQWN0aW9ucywgZGlzYWJsZWQsIHBhcmVudH06IHtcbiAgICBsYXllcjogTGF5ZXI7XG4gICAgaWR4OiBudW1iZXI7XG4gICAgcGFuZWxQcm9wczogYW55O1xuICAgIGxheWVyQWN0aW9uczogYW55O1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICBwYXJlbnQ/OiBMYXllck9yZGVyR3JvdXA7XG4gIH0pID0+IHtcbiAgICBjb25zdCB7YXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCBpc0RyYWdnaW5nLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb259ID0gdXNlU29ydGFibGUoe1xuICAgICAgaWQ6IGxheWVyLmlkLFxuICAgICAgZGF0YToge1xuICAgICAgICB0eXBlOiBTT1JUQUJMRV9MQVlFUl9UWVBFLFxuICAgICAgICBwYXJlbnRcbiAgICAgIH0sXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIGFuaW1hdGVMYXlvdXRDaGFuZ2VzXG4gICAgfSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNvcnRhYmxlU3R5bGVkSXRlbVxuICAgICAgICByZWY9e3NldE5vZGVSZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhcbiAgICAgICAgICB7W2RhdGFUZXN0SWRzLnNvcnRhYmxlTGF5ZXJJdGVtXTogIWRpc2FibGVkfSxcbiAgICAgICAgICB7W2RhdGFUZXN0SWRzLnN0YXRpY0xheWVySXRlbV06IGRpc2FibGVkfSxcbiAgICAgICAgICB7c29ydGluZzogaXNEcmFnZ2luZ31cbiAgICAgICAgKX1cbiAgICAgICAgZGF0YS10ZXN0aWQ9e2Rpc2FibGVkID8gZGF0YVRlc3RJZHMuc3RhdGljTGF5ZXJJdGVtIDogZGF0YVRlc3RJZHMuc29ydGFibGVMYXllckl0ZW19XG4gICAgICAgICR0cmFuc2Zvcm09e0NTUy5UcmFuc2Zvcm0udG9TdHJpbmcodHJhbnNmb3JtKX1cbiAgICAgICAgJHRyYW5zaXRpb249e3RyYW5zaXRpb259XG4gICAgICAgIHsuLi5hdHRyaWJ1dGVzfVxuICAgICAgPlxuICAgICAgICA8TGF5ZXJQYW5lbFxuICAgICAgICAgIHsuLi5wYW5lbFByb3BzfVxuICAgICAgICAgIHsuLi5sYXllckFjdGlvbnN9XG4gICAgICAgICAga2V5PXtsYXllci5pZH1cbiAgICAgICAgICBpZHg9e2lkeH1cbiAgICAgICAgICBsYXllcj17bGF5ZXJ9XG4gICAgICAgICAgbGlzdGVuZXJzPXtsaXN0ZW5lcnN9XG4gICAgICAgICAgaXNEcmFnZ2FibGU9eyFkaXNhYmxlZH1cbiAgICAgICAgLz5cbiAgICAgIDwvU29ydGFibGVTdHlsZWRJdGVtPlxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgU29ydGFibGVHcm91cEl0ZW06IFJlYWN0LkZDPHtcbiAgICBsYXllckdyb3VwOiBMYXllck9yZGVyR3JvdXA7XG4gICAgbGF5ZXJzOiBMYXllcltdO1xuICAgIHBhbmVsUHJvcHM6IGFueTtcbiAgICBsYXllckFjdGlvbnM6IGFueTtcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIH0+ID0gKHtsYXllckdyb3VwLCBsYXllcnMsIHBhbmVsUHJvcHMsIGxheWVyQWN0aW9ucywgZGlzYWJsZWR9KSA9PiB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZXMsIGlzRHJhZ2dpbmcsIGxpc3RlbmVycywgc2V0Tm9kZVJlZiwgdHJhbnNmb3JtLCB0cmFuc2l0aW9ufSA9IHVzZVNvcnRhYmxlKHtcbiAgICAgIGlkOiBsYXllckdyb3VwLmlkLFxuICAgICAgZGF0YToge3R5cGU6IFNPUlRBQkxFX0xBWUVSX0dST1VQX1RZUEV9LFxuICAgICAgZGlzYWJsZWQsXG4gICAgICBhbmltYXRlTGF5b3V0Q2hhbmdlc1xuICAgIH0pO1xuXG4gICAgY29uc3QgbGF5ZXJFbnRyaWVzVG9TaG93ID0gYnVpbGRMYXllck9yZGVySGllcmFyY2h5KGxheWVyR3JvdXAubGF5ZXJPcmRlciwgbGF5ZXJzKTtcbiAgICBjb25zdCBkbmRJdGVtcyA9IGxheWVyRW50cmllc1RvU2hvdy5tYXAoZW50cnkgPT4gZW50cnlbMV0uaWQgPz8gZW50cnlbMV0pO1xuXG4gICAgY29uc3QgW2lzU2VjdGlvbk9wZW4sIHNldElzU2VjdGlvbk9wZW5dID0gdXNlU3RhdGUodHJ1ZSk7XG4gICAgY29uc3Qgb25Ub2dnbGUgPSB1c2VDYWxsYmFjaygoKSA9PiBzZXRJc1NlY3Rpb25PcGVuKHByZXYgPT4gIXByZXYpLCBbXSk7XG5cbiAgICBjb25zdCBzdHlsZSA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAoe1xuICAgICAgICB0cmFuc2Zvcm06IENTUy5UcmFuc2Zvcm0udG9TdHJpbmcodHJhbnNmb3JtKSxcbiAgICAgICAgdHJhbnNpdGlvbixcbiAgICAgICAgb3BhY2l0eTogaXNEcmFnZ2luZyA/IDAuNSA6IDFcbiAgICAgIH0pLFxuICAgICAgW2lzRHJhZ2dpbmcsIHRyYW5zZm9ybSwgdHJhbnNpdGlvbl1cbiAgICApO1xuXG4gICAgY29uc3Qge2lzT3Zlciwgc2V0Tm9kZVJlZjogZHJvcHBhYmxlU2V0Tm9kZVJlZn0gPSB1c2VEcm9wcGFibGUoe1xuICAgICAgaWQ6IGBkcm9wcGFibGUtbGF5ZXItZ3JvdXAtY29udGVudC0ke2xheWVyR3JvdXAuaWR9YCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdHlwZTogU09SVEFCTEVfTEFZRVJfR1JPVVBfRFJPUFBBQkxFX1RZUEUsXG4gICAgICAgIHBhcmVudDogbGF5ZXJHcm91cFxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgaXNPcGVuID0gdXNlTWVtbygoKSA9PiBpc1NlY3Rpb25PcGVuICYmICFpc0RyYWdnaW5nLCBbaXNTZWN0aW9uT3BlbiwgaXNEcmFnZ2luZ10pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgc3R5bGU9e3N0eWxlfT5cbiAgICAgICAgPGRpdiByZWY9e3NldE5vZGVSZWZ9IHsuLi5hdHRyaWJ1dGVzfT5cbiAgICAgICAgICA8TGF5ZXJHcm91cEhlYWRlclxuICAgICAgICAgICAgbGF5ZXJHcm91cD17bGF5ZXJHcm91cH1cbiAgICAgICAgICAgIG9uVG9nZ2xlTGF5ZXJHcm91cENvbnRlbnQ9e29uVG9nZ2xlfVxuICAgICAgICAgICAgaXNMYXllckdyb3VwQ29udGVudE9wZW49e2lzU2VjdGlvbk9wZW59XG4gICAgICAgICAgICBsaXN0ZW5lcnM9e2xpc3RlbmVyc31cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAge2lzT3BlbiA/IChcbiAgICAgICAgICA8Q29sbGFwc2libGVHcm91cENvbnRlbnQgcmVmPXtkcm9wcGFibGVTZXROb2RlUmVmfSAkaXNPdmVyPXtpc092ZXJ9PlxuICAgICAgICAgICAge2xheWVyRW50cmllc1RvU2hvdy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgIDxTb3J0YWJsZUNvbnRleHRcbiAgICAgICAgICAgICAgICBpZD17YHNvcnRhYmxlLWdyb3VwLSR7bGF5ZXJHcm91cC5pZH1gfVxuICAgICAgICAgICAgICAgIGl0ZW1zPXtkbmRJdGVtc31cbiAgICAgICAgICAgICAgICBzdHJhdGVneT17dmVydGljYWxMaXN0U29ydGluZ1N0cmF0ZWd5fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2xheWVyRW50cmllc1RvU2hvdy5tYXAoKFt0eXBlLCBuZXN0ZWRFbnRyeV0sIGluZGV4KSA9PlxuICAgICAgICAgICAgICAgICAgdHlwZSA9PT0gJ2xheWVyJyA/IChcbiAgICAgICAgICAgICAgICAgICAgPE5lc3RlZExheWVyXG4gICAgICAgICAgICAgICAgICAgICAga2V5PXtuZXN0ZWRFbnRyeS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICBpc0xhc3Q9e2luZGV4ID09PSBsYXllckVudHJpZXNUb1Nob3cubGVuZ3RoIC0gMX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxTb3J0YWJsZUxheWVySXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXI9e25lc3RlZEVudHJ5IGFzIExheWVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWR4PXtsYXllcnMuZmluZEluZGV4KGwgPT4gbD8uaWQgPT09IG5lc3RlZEVudHJ5LmlkKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHBhbmVsUHJvcHM9e3BhbmVsUHJvcHN9XG4gICAgICAgICAgICAgICAgICAgICAgICBsYXllckFjdGlvbnM9e2xheWVyQWN0aW9uc31cbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudD17bGF5ZXJHcm91cH1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L05lc3RlZExheWVyPlxuICAgICAgICAgICAgICAgICAgKSA6IG51bGxcbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1NvcnRhYmxlQ29udGV4dD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxFbXB0eUxheWVyR3JvdXA+RHJhZyBsYXllciBoZXJlPC9FbXB0eUxheWVyR3JvdXA+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvQ29sbGFwc2libGVHcm91cENvbnRlbnQ+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPENvbGxhcHNlZERyb3Bab25lIHJlZj17ZHJvcHBhYmxlU2V0Tm9kZVJlZn0gJGlzT3Zlcj17aXNPdmVyfSAvPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBTb3J0YWJsZUVuZFBsYWNlaG9sZGVyID0gKCkgPT4ge1xuICAgIGNvbnN0IHtzZXROb2RlUmVmfSA9IHVzZVNvcnRhYmxlKHtcbiAgICAgIGlkOiBTT1JUQUJMRV9MQVlFUl9FTkRfUExBQ0VIT0xERVIsXG4gICAgICBkYXRhOiB7dHlwZTogU09SVEFCTEVfTEFZRVJfRU5EX1RZUEV9LFxuICAgICAgYW5pbWF0ZUxheW91dENoYW5nZXNcbiAgICB9KTtcbiAgICByZXR1cm4gPEVuZFBsYWNlaG9sZGVyIHJlZj17c2V0Tm9kZVJlZn0gLz47XG4gIH07XG5cbiAgY29uc3QgTGF5ZXJMaXN0OiBSZWFjdC5GQzxMYXllckxpc3RQcm9wcz4gPSBwcm9wcyA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgbGF5ZXJzLFxuICAgICAgZGF0YXNldHMsXG4gICAgICBsYXllck9yZGVyLFxuICAgICAgdWlTdGF0ZUFjdGlvbnMsXG4gICAgICB2aXNTdGF0ZUFjdGlvbnMsXG4gICAgICBtYXBTdGF0ZUFjdGlvbnMsXG4gICAgICBtYXBTdGF0ZSxcbiAgICAgIGxheWVyQ2xhc3NlcyxcbiAgICAgIGlzU29ydGFibGUgPSB0cnVlLFxuICAgICAgc3BsaXRNYXBcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3Qge3RvZ2dsZU1vZGFsOiBvcGVuTW9kYWx9ID0gdWlTdGF0ZUFjdGlvbnM7XG5cbiAgICBjb25zdCBsYXllckVudHJpZXNUb1Nob3c6IExheWVyT3JkZXJIaWVyYXJjaHkgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gYnVpbGRMYXllck9yZGVySGllcmFyY2h5KGxheWVyT3JkZXIsIGxheWVycyksXG4gICAgICBbbGF5ZXJPcmRlciwgbGF5ZXJzXVxuICAgICk7XG5cbiAgICBjb25zdCBzaWRlUGFuZWxEbmRJdGVtcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3QgaXRlbXMgPSBsYXllckVudHJpZXNUb1Nob3cubWFwKGVudHJ5ID0+IGVudHJ5WzFdLmlkID8/IGVudHJ5WzFdKTtcbiAgICAgIGl0ZW1zLnB1c2goU09SVEFCTEVfTEFZRVJfRU5EX1BMQUNFSE9MREVSKTtcbiAgICAgIHJldHVybiBpdGVtcztcbiAgICB9LCBbbGF5ZXJFbnRyaWVzVG9TaG93XSk7XG5cbiAgICBjb25zdCBsYXllclR5cGVPcHRpb25zID0gdXNlTWVtbyhcbiAgICAgICgpID0+XG4gICAgICAgIE9iamVjdC5rZXlzKGxheWVyQ2xhc3NlcykubWFwKGtleSA9PiB7XG4gICAgICAgICAgY29uc3QgbGF5ZXIgPSBuZXcgbGF5ZXJDbGFzc2VzW2tleV0oe2RhdGFJZDogJyd9KTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWQ6IGtleSxcbiAgICAgICAgICAgIGxhYmVsOiBsYXllci5uYW1lLFxuICAgICAgICAgICAgaWNvbjogbGF5ZXIubGF5ZXJJY29uLFxuICAgICAgICAgICAgcmVxdWlyZURhdGE6IGxheWVyLnJlcXVpcmVEYXRhXG4gICAgICAgICAgfTtcbiAgICAgICAgfSksXG4gICAgICBbbGF5ZXJDbGFzc2VzXVxuICAgICk7XG5cbiAgICBjb25zdCBsYXllckFjdGlvbnMgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKHtcbiAgICAgICAgbGF5ZXJDb2xvclVJQ2hhbmdlOiB2aXNTdGF0ZUFjdGlvbnMubGF5ZXJDb2xvclVJQ2hhbmdlLFxuICAgICAgICBsYXllckNvbmZpZ0NoYW5nZTogdmlzU3RhdGVBY3Rpb25zLmxheWVyQ29uZmlnQ2hhbmdlLFxuICAgICAgICBsYXllclZpc3VhbENoYW5uZWxDb25maWdDaGFuZ2U6IHZpc1N0YXRlQWN0aW9ucy5sYXllclZpc3VhbENoYW5uZWxDb25maWdDaGFuZ2UsXG4gICAgICAgIGxheWVyVG9nZ2xlVmlzaWJpbGl0eTogdmlzU3RhdGVBY3Rpb25zLmxheWVyVG9nZ2xlVmlzaWJpbGl0eSxcbiAgICAgICAgbGF5ZXJUeXBlQ2hhbmdlOiB2aXNTdGF0ZUFjdGlvbnMubGF5ZXJUeXBlQ2hhbmdlLFxuICAgICAgICBsYXllclZpc0NvbmZpZ0NoYW5nZTogdmlzU3RhdGVBY3Rpb25zLmxheWVyVmlzQ29uZmlnQ2hhbmdlLFxuICAgICAgICBsYXllclRleHRMYWJlbENoYW5nZTogdmlzU3RhdGVBY3Rpb25zLmxheWVyVGV4dExhYmVsQ2hhbmdlLFxuICAgICAgICByZW1vdmVMYXllcjogdmlzU3RhdGVBY3Rpb25zLnJlbW92ZUxheWVyLFxuICAgICAgICB6b29tVG9MYXllcjogbWFwU3RhdGVBY3Rpb25zLmZpdEJvdW5kcyxcbiAgICAgICAgZHVwbGljYXRlTGF5ZXI6IHZpc1N0YXRlQWN0aW9ucy5kdXBsaWNhdGVMYXllcixcbiAgICAgICAgbGF5ZXJTZXRJc1ZhbGlkOiB2aXNTdGF0ZUFjdGlvbnMubGF5ZXJTZXRJc1ZhbGlkXG4gICAgICB9KSxcbiAgICAgIFt2aXNTdGF0ZUFjdGlvbnMsIG1hcFN0YXRlQWN0aW9uc11cbiAgICApO1xuXG4gICAgY29uc3QgcGFuZWxQcm9wcyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAoe1xuICAgICAgICBkYXRhc2V0cyxcbiAgICAgICAgb3Blbk1vZGFsLFxuICAgICAgICBsYXllclR5cGVPcHRpb25zLFxuICAgICAgICBzcGxpdE1hcCxcbiAgICAgICAgbWFwU3RhdGVcbiAgICAgIH0pLFxuICAgICAgW2RhdGFzZXRzLCBvcGVuTW9kYWwsIGxheWVyVHlwZU9wdGlvbnMsIHNwbGl0TWFwLCBtYXBTdGF0ZV1cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxDb250YWluZXI+XG4gICAgICAgIDxTb3J0YWJsZUNvbnRleHRcbiAgICAgICAgICBpZD17U09SVEFCTEVfU0lERV9QQU5FTF9UWVBFfVxuICAgICAgICAgIGl0ZW1zPXtzaWRlUGFuZWxEbmRJdGVtc31cbiAgICAgICAgICBzdHJhdGVneT17dmVydGljYWxMaXN0U29ydGluZ1N0cmF0ZWd5fVxuICAgICAgICAgIGRpc2FibGVkPXshaXNTb3J0YWJsZX1cbiAgICAgICAgPlxuICAgICAgICAgIHtsYXllckVudHJpZXNUb1Nob3cubWFwKChbdHlwZSwgaXRlbV0pID0+XG4gICAgICAgICAgICB0eXBlID09PSAnbGF5ZXInID8gKFxuICAgICAgICAgICAgICA8U29ydGFibGVMYXllckl0ZW1cbiAgICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgICAgbGF5ZXI9e2l0ZW0gYXMgTGF5ZXJ9XG4gICAgICAgICAgICAgICAgaWR4PXtsYXllcnMuZmluZEluZGV4KGwgPT4gbD8uaWQgPT09IGl0ZW0uaWQpfVxuICAgICAgICAgICAgICAgIHBhbmVsUHJvcHM9e3BhbmVsUHJvcHN9XG4gICAgICAgICAgICAgICAgbGF5ZXJBY3Rpb25zPXtsYXllckFjdGlvbnN9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFpc1NvcnRhYmxlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFNvcnRhYmxlR3JvdXBJdGVtXG4gICAgICAgICAgICAgICAga2V5PXsoaXRlbSBhcyBMYXllck9yZGVyR3JvdXApLmlkfVxuICAgICAgICAgICAgICAgIGxheWVyR3JvdXA9e2l0ZW0gYXMgTGF5ZXJPcmRlckdyb3VwfVxuICAgICAgICAgICAgICAgIGxheWVycz17bGF5ZXJzfVxuICAgICAgICAgICAgICAgIHBhbmVsUHJvcHM9e3BhbmVsUHJvcHN9XG4gICAgICAgICAgICAgICAgbGF5ZXJBY3Rpb25zPXtsYXllckFjdGlvbnN9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFpc1NvcnRhYmxlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKVxuICAgICAgICAgICl9XG4gICAgICAgICAgPFNvcnRhYmxlRW5kUGxhY2Vob2xkZXIgLz5cbiAgICAgICAgPC9Tb3J0YWJsZUNvbnRleHQ+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuICByZXR1cm4gTGF5ZXJMaXN0O1xufVxuZXhwb3J0IGRlZmF1bHQgTGF5ZXJMaXN0RmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFlBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQU9BLElBQUFJLEtBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQUwsT0FBQTtBQU1BLElBQUFNLFVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFdBQUEsR0FBQUwsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFRLGlCQUFBLEdBQUFOLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUyxTQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxVQUFBLEdBQUFWLE9BQUE7QUFFQSxJQUFBVyxjQUFBLEdBQUFYLE9BQUE7QUFPc0MsSUFBQVksZUFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQWhDdEM7QUFDQTtBQUFBLFNBQUF0Qix3QkFBQXVCLENBQUEsRUFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxNQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUF6Qix1QkFBQSxZQUFBQSx3QkFBQXVCLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxtQkFBQVQsQ0FBQSxpQkFBQUEsQ0FBQSxnQkFBQVUsT0FBQSxDQUFBVixDQUFBLDBCQUFBQSxDQUFBLFNBQUFRLENBQUEsTUFBQUYsQ0FBQSxHQUFBTCxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxRQUFBRyxDQUFBLENBQUFLLEdBQUEsQ0FBQVgsQ0FBQSxVQUFBTSxDQUFBLENBQUFNLEdBQUEsQ0FBQVosQ0FBQSxHQUFBTSxDQUFBLENBQUFPLEdBQUEsQ0FBQWIsQ0FBQSxFQUFBUSxDQUFBLGNBQUFNLEVBQUEsSUFBQWQsQ0FBQSxnQkFBQWMsRUFBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLElBQUFELENBQUEsR0FBQVcsTUFBQSxDQUFBQyxjQUFBLEtBQUFELE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQW5CLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLENBQUFLLEdBQUEsSUFBQUwsQ0FBQSxDQUFBTSxHQUFBLElBQUFQLENBQUEsQ0FBQUUsQ0FBQSxFQUFBTSxFQUFBLEVBQUFQLENBQUEsSUFBQUMsQ0FBQSxDQUFBTSxFQUFBLElBQUFkLENBQUEsQ0FBQWMsRUFBQSxXQUFBTixDQUFBLEtBQUFSLENBQUEsRUFBQUMsQ0FBQTtBQW1EQSxJQUFNbUIsU0FBUyxHQUFHQyw0QkFBTSxDQUFDQyxHQUFHLENBQUFoQyxlQUFBLEtBQUFBLGVBQUEsT0FBQWlDLHVCQUFBLGdGQUkzQjtBQUVELElBQU1DLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBb0JBLENBQUdDLElBQUksRUFBSTtFQUNuQyxJQUFPQyxTQUFTLEdBQWlCRCxJQUFJLENBQTlCQyxTQUFTO0lBQUVDLFdBQVcsR0FBSUYsSUFBSSxDQUFuQkUsV0FBVztFQUM3QixJQUFJRCxTQUFTLElBQUlDLFdBQVcsRUFBRTtJQUM1QixPQUFPLEtBQUs7RUFDZDtFQUNBLE9BQU8sSUFBQUMscUNBQTJCLEVBQUNILElBQUksQ0FBQztBQUMxQyxDQUFDO0FBRUQsSUFBTUksY0FBYyxHQUFHUiw0QkFBTSxDQUFDQyxHQUFHLENBQUEvQixnQkFBQSxLQUFBQSxnQkFBQSxPQUFBZ0MsdUJBQUEsc0NBRWhDO0FBT0QsSUFBTU8sa0JBQWtCLEdBQUdULDRCQUFNLENBQUNDLEdBQUcsQ0FBQTlCLGdCQUFBLEtBQUFBLGdCQUFBLE9BQUErQix1QkFBQSxrY0FDckIsVUFBQVEsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsV0FBVztBQUFBLEdBQzNCLFVBQUFELEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNFLFVBQVU7QUFBQSxHQU1oQixVQUFBRixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDRyxLQUFLLENBQUNDLG9CQUFvQjtBQUFBLEdBQzlDLFVBQUFKLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNHLEtBQUssQ0FBQ0UsVUFBVTtBQUFBLEdBQy9CLFVBQUFMLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNHLEtBQUssQ0FBQ0csVUFBVTtBQUFBLEdBQ2pDLFVBQUFOLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNHLEtBQUssQ0FBQ0ksUUFBUTtBQUFBLEdBQzNCLFVBQUFQLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNHLEtBQUssQ0FBQ0ssVUFBVTtBQUFBLEdBUW5DLFVBQUFSLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNHLEtBQUssQ0FBQ00sV0FBVztBQUFBLEVBRzlDO0FBRUQsSUFBTUMsdUJBQXVCLEdBQUdwQiw0QkFBTSxDQUFDQyxHQUFHLENBQUE3QixnQkFBQSxLQUFBQSxnQkFBQSxPQUFBOEIsdUJBQUEsOExBTXBCLFVBQUFRLEtBQUs7RUFBQSxPQUFLQSxLQUFLLENBQUNXLE9BQU8sR0FBR1gsS0FBSyxDQUFDRyxLQUFLLENBQUNDLG9CQUFvQixHQUFHLGFBQWE7QUFBQSxDQUFDLENBRWhHO0FBRUQsSUFBTVEsaUJBQWlCLEdBQUd0Qiw0QkFBTSxDQUFDQyxHQUFHLENBQUE1QixnQkFBQSxLQUFBQSxnQkFBQSxPQUFBNkIsdUJBQUEsaUpBRWQsVUFBQVEsS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQ1csT0FBTyxHQUFHWCxLQUFLLENBQUNHLEtBQUssQ0FBQ1UsV0FBVyxHQUFHLGFBQWE7QUFBQSxDQUFDLEVBRXBGLFVBQUFiLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNXLE9BQU8sSUFBSSxtQkFBbUI7QUFBQSxFQUNoRDtBQUVELElBQU1HLGVBQWUsR0FBR3hCLDRCQUFNLENBQUNDLEdBQUcsQ0FBQTNCLGdCQUFBLEtBQUFBLGdCQUFBLE9BQUE0Qix1QkFBQSw2TkFNWCxVQUFBUSxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDRyxLQUFLLENBQUNZLFVBQVU7QUFBQSxHQUczQyxVQUFBZixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDRyxLQUFLLENBQUNhLFlBQVk7QUFBQSxFQUMzQztBQUVELElBQU1DLGVBQWUsR0FBRyxFQUFFO0FBQzFCLElBQU1DLHNCQUFzQixHQUFHLENBQUM7QUFFaEMsSUFBTUMsWUFBWSxHQUFHN0IsNEJBQU0sQ0FBQ0MsR0FBRyxDQUFBMUIsZ0JBQUEsS0FBQUEsZ0JBQUEsT0FBQTJCLHVCQUFBLDJEQUNkLFVBQUFRLEtBQUs7RUFBQSxPQUFLQSxLQUFLLENBQUNvQixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUM7QUFBQSxDQUFDLEVBQWEsVUFBQXBCLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNHLEtBQUssQ0FBQ1ksVUFBVTtBQUFBLEVBQzVGO0FBRUQsSUFBTU0sUUFBUSxHQUFHL0IsNEJBQU0sQ0FBQ0MsR0FBRyxDQUFBekIsZ0JBQUEsS0FBQUEsZ0JBQUEsT0FBQTBCLHVCQUFBLHVKQUNoQnlCLGVBQWUsRUFDSSxVQUFBakIsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0csS0FBSyxDQUFDWSxVQUFVO0FBQUEsR0FDakQsVUFBQWYsS0FBSztFQUFBLE9BQUksQ0FBQ0EsS0FBSyxDQUFDRyxLQUFLLENBQUNtQixzQkFBc0IsSUFBSSxFQUFFLElBQUksQ0FBQztBQUFBLEdBRWxELFVBQUF0QixLQUFLO0VBQUEsT0FBS0EsS0FBSyxDQUFDb0IsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDO0FBQUEsQ0FBQyxFQUFhLFVBQUFwQixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDRyxLQUFLLENBQUNZLFVBQVU7QUFBQSxFQUM1RjtBQUVELElBQU1RLG9CQUFvQixHQUFHakMsNEJBQU0sQ0FBQ0MsR0FBRyxDQUFBeEIsZ0JBQUEsS0FBQUEsZ0JBQUEsT0FBQXlCLHVCQUFBLHdDQUV0QztBQUVELElBQU1nQyxrQkFBa0IsR0FBR2xDLDRCQUFNLENBQUNDLEdBQUcsQ0FBQXZCLGdCQUFBLEtBQUFBLGdCQUFBLE9BQUF3Qix1QkFBQSwyRUFDZHlCLGVBQWUsR0FBR0Msc0JBQXNCLENBRTlEO0FBRURPLGdCQUFnQixDQUFDQyxJQUFJLEdBQUcsQ0FBQ0Msc0JBQWlCLEVBQUVDLDRCQUF1QixDQUFDO0FBRXBFLFNBQVNILGdCQUFnQkEsQ0FDdkJJLFVBQWdELEVBQ2hEQyxnQkFBNEQsRUFDNUQ7RUFDQSxJQUFNQyxXQUFvRSxHQUFHLFNBQXZFQSxXQUFvRUEsQ0FBQUMsSUFBQTtJQUFBLElBQ3hFQyxRQUFRLEdBQUFELElBQUEsQ0FBUkMsUUFBUTtNQUNSQyxNQUFNLEdBQUFGLElBQUEsQ0FBTkUsTUFBTTtJQUFBLG9CQUVOekYsTUFBQSxZQUFBMEYsYUFBQSxDQUFDWixvQkFBb0IscUJBQ25COUUsTUFBQSxZQUFBMEYsYUFBQSxDQUFDaEIsWUFBWTtNQUFDQyxPQUFPLEVBQUVjO0lBQU8sZ0JBQzVCekYsTUFBQSxZQUFBMEYsYUFBQSxDQUFDZCxRQUFRO01BQUNELE9BQU8sRUFBRWM7SUFBTyxDQUFFLENBQ2hCLENBQUMsZUFDZnpGLE1BQUEsWUFBQTBGLGFBQUEsQ0FBQ1gsa0JBQWtCLFFBQUVTLFFBQTZCLENBQzlCLENBQUM7RUFBQSxDQUN4QjtFQUVELElBQU1HLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUFDLEtBQUEsRUFPakI7SUFBQSxJQVBzQkMsS0FBSyxHQUFBRCxLQUFBLENBQUxDLEtBQUs7TUFBRUMsR0FBRyxHQUFBRixLQUFBLENBQUhFLEdBQUc7TUFBRUMsVUFBVSxHQUFBSCxLQUFBLENBQVZHLFVBQVU7TUFBRUMsWUFBWSxHQUFBSixLQUFBLENBQVpJLFlBQVk7TUFBRUMsUUFBUSxHQUFBTCxLQUFBLENBQVJLLFFBQVE7TUFBRUMsTUFBTSxHQUFBTixLQUFBLENBQU5NLE1BQU07SUFRaEYsSUFBQUMsWUFBQSxHQUErRSxJQUFBQyxxQkFBVyxFQUFDO1FBQ3pGQyxFQUFFLEVBQUVSLEtBQUssQ0FBQ1EsRUFBRTtRQUNaQyxJQUFJLEVBQUU7VUFDSkMsSUFBSSxFQUFFQyxrQ0FBbUI7VUFDekJOLE1BQU0sRUFBTkE7UUFDRixDQUFDO1FBQ0RELFFBQVEsRUFBUkEsUUFBUTtRQUNSakQsb0JBQW9CLEVBQXBCQTtNQUNGLENBQUMsQ0FBQztNQVJLeUQsVUFBVSxHQUFBTixZQUFBLENBQVZNLFVBQVU7TUFBRUMsU0FBUyxHQUFBUCxZQUFBLENBQVRPLFNBQVM7TUFBRUMsVUFBVSxHQUFBUixZQUFBLENBQVZRLFVBQVU7TUFBRUMsVUFBVSxHQUFBVCxZQUFBLENBQVZTLFVBQVU7TUFBRUMsU0FBUyxHQUFBVixZQUFBLENBQVRVLFNBQVM7TUFBRUMsVUFBVSxHQUFBWCxZQUFBLENBQVZXLFVBQVU7SUFVM0Usb0JBQ0U5RyxNQUFBLFlBQUEwRixhQUFBLENBQUNwQyxrQkFBa0IsTUFBQXlELFNBQUE7TUFDakJDLEdBQUcsRUFBRUwsVUFBVztNQUNoQk0sU0FBUyxFQUFFLElBQUFDLHVCQUFVLE1BQUFDLGdCQUFBLGlCQUNqQkMsc0JBQVcsQ0FBQ0MsaUJBQWlCLEVBQUcsQ0FBQ3BCLFFBQVEsT0FBQWtCLGdCQUFBLGlCQUN6Q0Msc0JBQVcsQ0FBQ0UsZUFBZSxFQUFHckIsUUFBUSxHQUN4QztRQUFDc0IsT0FBTyxFQUFFWDtNQUFVLENBQ3RCLENBQUU7TUFDRixlQUFhWCxRQUFRLEdBQUdtQixzQkFBVyxDQUFDRSxlQUFlLEdBQUdGLHNCQUFXLENBQUNDLGlCQUFrQjtNQUNwRjVELFVBQVUsRUFBRStELGNBQUcsQ0FBQ0MsU0FBUyxDQUFDQyxRQUFRLENBQUNiLFNBQVMsQ0FBRTtNQUM5Q3JELFdBQVcsRUFBRXNEO0lBQVcsR0FDcEJMLFVBQVUsZ0JBRWR6RyxNQUFBLFlBQUEwRixhQUFBLENBQUNOLFVBQVUsTUFBQTJCLFNBQUEsaUJBQ0xoQixVQUFVLEVBQ1ZDLFlBQVk7TUFDaEIyQixHQUFHLEVBQUU5QixLQUFLLENBQUNRLEVBQUc7TUFDZFAsR0FBRyxFQUFFQSxHQUFJO01BQ1RELEtBQUssRUFBRUEsS0FBTTtNQUNiYSxTQUFTLEVBQUVBLFNBQVU7TUFDckJrQixXQUFXLEVBQUUsQ0FBQzNCO0lBQVMsRUFDeEIsQ0FDaUIsQ0FBQztFQUV6QixDQUFDO0VBRUQsSUFBTTRCLGlCQU1KLEdBQUcsU0FOQ0EsaUJBTUpBLENBQUFDLEtBQUEsRUFBaUU7SUFBQSxJQUE1REMsVUFBVSxHQUFBRCxLQUFBLENBQVZDLFVBQVU7TUFBRUMsTUFBTSxHQUFBRixLQUFBLENBQU5FLE1BQU07TUFBRWpDLFVBQVUsR0FBQStCLEtBQUEsQ0FBVi9CLFVBQVU7TUFBRUMsWUFBWSxHQUFBOEIsS0FBQSxDQUFaOUIsWUFBWTtNQUFFQyxRQUFRLEdBQUE2QixLQUFBLENBQVI3QixRQUFRO0lBQzNELElBQUFnQyxhQUFBLEdBQStFLElBQUE3QixxQkFBVyxFQUFDO1FBQ3pGQyxFQUFFLEVBQUUwQixVQUFVLENBQUMxQixFQUFFO1FBQ2pCQyxJQUFJLEVBQUU7VUFBQ0MsSUFBSSxFQUFFMkI7UUFBeUIsQ0FBQztRQUN2Q2pDLFFBQVEsRUFBUkEsUUFBUTtRQUNSakQsb0JBQW9CLEVBQXBCQTtNQUNGLENBQUMsQ0FBQztNQUxLeUQsVUFBVSxHQUFBd0IsYUFBQSxDQUFWeEIsVUFBVTtNQUFFRyxVQUFVLEdBQUFxQixhQUFBLENBQVZyQixVQUFVO01BQUVGLFNBQVMsR0FBQXVCLGFBQUEsQ0FBVHZCLFNBQVM7TUFBRUMsVUFBVSxHQUFBc0IsYUFBQSxDQUFWdEIsVUFBVTtNQUFFRSxTQUFTLEdBQUFvQixhQUFBLENBQVRwQixTQUFTO01BQUVDLFVBQVUsR0FBQW1CLGFBQUEsQ0FBVm5CLFVBQVU7SUFPM0UsSUFBTXFCLGtCQUFrQixHQUFHLElBQUFDLGtDQUF3QixFQUFDTCxVQUFVLENBQUNNLFVBQVUsRUFBRUwsTUFBTSxDQUFDO0lBQ2xGLElBQU1NLFFBQVEsR0FBR0gsa0JBQWtCLENBQUNJLEdBQUcsQ0FBQyxVQUFBQyxLQUFLO01BQUEsSUFBQUMsV0FBQTtNQUFBLFFBQUFBLFdBQUEsR0FBSUQsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDbkMsRUFBRSxjQUFBb0MsV0FBQSxjQUFBQSxXQUFBLEdBQUlELEtBQUssQ0FBQyxDQUFDLENBQUM7SUFBQSxFQUFDO0lBRXpFLElBQUFFLFNBQUEsR0FBMEMsSUFBQUMsZUFBUSxFQUFDLElBQUksQ0FBQztNQUFBQyxVQUFBLE9BQUFDLGVBQUEsYUFBQUgsU0FBQTtNQUFqREksYUFBYSxHQUFBRixVQUFBO01BQUVHLGdCQUFnQixHQUFBSCxVQUFBO0lBQ3RDLElBQU1JLFFBQVEsR0FBRyxJQUFBQyxrQkFBVyxFQUFDO01BQUEsT0FBTUYsZ0JBQWdCLENBQUMsVUFBQUcsSUFBSTtRQUFBLE9BQUksQ0FBQ0EsSUFBSTtNQUFBLEVBQUM7SUFBQSxHQUFFLEVBQUUsQ0FBQztJQUV2RSxJQUFNQyxLQUFLLEdBQUcsSUFBQUMsY0FBTyxFQUNuQjtNQUFBLE9BQU87UUFDTHZDLFNBQVMsRUFBRVcsY0FBRyxDQUFDQyxTQUFTLENBQUNDLFFBQVEsQ0FBQ2IsU0FBUyxDQUFDO1FBQzVDQyxVQUFVLEVBQVZBLFVBQVU7UUFDVnVDLE9BQU8sRUFBRXpDLFVBQVUsR0FBRyxHQUFHLEdBQUc7TUFDOUIsQ0FBQztJQUFBLENBQUMsRUFDRixDQUFDQSxVQUFVLEVBQUVDLFNBQVMsRUFBRUMsVUFBVSxDQUNwQyxDQUFDO0lBRUQsSUFBQXdDLGFBQUEsR0FBa0QsSUFBQUMsa0JBQVksRUFBQztRQUM3RGxELEVBQUUsbUNBQUFtRCxNQUFBLENBQW1DekIsVUFBVSxDQUFDMUIsRUFBRSxDQUFFO1FBQ3BEQyxJQUFJLEVBQUU7VUFDSkMsSUFBSSxFQUFFa0Qsa0RBQW1DO1VBQ3pDdkQsTUFBTSxFQUFFNkI7UUFDVjtNQUNGLENBQUMsQ0FBQztNQU5LMkIsTUFBTSxHQUFBSixhQUFBLENBQU5JLE1BQU07TUFBY0MsbUJBQW1CLEdBQUFMLGFBQUEsQ0FBL0IzQyxVQUFVO0lBUXpCLElBQU1pRCxNQUFNLEdBQUcsSUFBQVIsY0FBTyxFQUFDO01BQUEsT0FBTU4sYUFBYSxJQUFJLENBQUNsQyxVQUFVO0lBQUEsR0FBRSxDQUFDa0MsYUFBYSxFQUFFbEMsVUFBVSxDQUFDLENBQUM7SUFFdkYsb0JBQ0U1RyxNQUFBLFlBQUEwRixhQUFBO01BQUt5RCxLQUFLLEVBQUVBO0lBQU0sZ0JBQ2hCbkosTUFBQSxZQUFBMEYsYUFBQSxZQUFBcUIsU0FBQTtNQUFLQyxHQUFHLEVBQUVMO0lBQVcsR0FBS0YsVUFBVSxnQkFDbEN6RyxNQUFBLFlBQUEwRixhQUFBLENBQUNMLGdCQUFnQjtNQUNmMEMsVUFBVSxFQUFFQSxVQUFXO01BQ3ZCOEIseUJBQXlCLEVBQUViLFFBQVM7TUFDcENjLHVCQUF1QixFQUFFaEIsYUFBYztNQUN2Q3BDLFNBQVMsRUFBRUE7SUFBVSxDQUN0QixDQUNFLENBQUMsRUFDTGtELE1BQU0sZ0JBQ0w1SixNQUFBLFlBQUEwRixhQUFBLENBQUN6Qix1QkFBdUI7TUFBQytDLEdBQUcsRUFBRTJDLG1CQUFvQjtNQUFDekYsT0FBTyxFQUFFd0Y7SUFBTyxHQUNoRXZCLGtCQUFrQixDQUFDNEIsTUFBTSxnQkFDeEIvSixNQUFBLFlBQUEwRixhQUFBLENBQUNuRixTQUFBLENBQUF5SixlQUFlO01BQ2QzRCxFQUFFLG9CQUFBbUQsTUFBQSxDQUFvQnpCLFVBQVUsQ0FBQzFCLEVBQUUsQ0FBRztNQUN0QzRELEtBQUssRUFBRTNCLFFBQVM7TUFDaEI0QixRQUFRLEVBQUVDO0lBQTRCLEdBRXJDaEMsa0JBQWtCLENBQUNJLEdBQUcsQ0FBQyxVQUFBNkIsS0FBQSxFQUFzQkMsS0FBSztNQUFBLElBQUFDLEtBQUEsT0FBQXpCLGVBQUEsYUFBQXVCLEtBQUE7UUFBekI3RCxJQUFJLEdBQUErRCxLQUFBO1FBQUVDLFdBQVcsR0FBQUQsS0FBQTtNQUFBLE9BQ3pDL0QsSUFBSSxLQUFLLE9BQU8sZ0JBQ2R2RyxNQUFBLFlBQUEwRixhQUFBLENBQUNKLFdBQVc7UUFDVnFDLEdBQUcsRUFBRTRDLFdBQVcsQ0FBQ2xFLEVBQUc7UUFDcEJaLE1BQU0sRUFBRTRFLEtBQUssS0FBS2xDLGtCQUFrQixDQUFDNEIsTUFBTSxHQUFHO01BQUUsZ0JBRWhEL0osTUFBQSxZQUFBMEYsYUFBQSxDQUFDQyxpQkFBaUI7UUFDaEJFLEtBQUssRUFBRTBFLFdBQXFCO1FBQzVCekUsR0FBRyxFQUFFa0MsTUFBTSxDQUFDd0MsU0FBUyxDQUFDLFVBQUFDLENBQUM7VUFBQSxPQUFJLENBQUFBLENBQUMsYUFBREEsQ0FBQyx1QkFBREEsQ0FBQyxDQUFFcEUsRUFBRSxNQUFLa0UsV0FBVyxDQUFDbEUsRUFBRTtRQUFBLEVBQUU7UUFDckROLFVBQVUsRUFBRUEsVUFBVztRQUN2QkMsWUFBWSxFQUFFQSxZQUFhO1FBQzNCQyxRQUFRLEVBQUVBLFFBQVM7UUFDbkJDLE1BQU0sRUFBRTZCO01BQVcsQ0FDcEIsQ0FDVSxDQUFDLEdBQ1osSUFBSTtJQUFBLENBQ1YsQ0FDZSxDQUFDLGdCQUVsQi9ILE1BQUEsWUFBQTBGLGFBQUEsQ0FBQ3JCLGVBQWUsUUFBQyxpQkFBZ0MsQ0FFNUIsQ0FBQyxnQkFFMUJyRSxNQUFBLFlBQUEwRixhQUFBLENBQUN2QixpQkFBaUI7TUFBQzZDLEdBQUcsRUFBRTJDLG1CQUFvQjtNQUFDekYsT0FBTyxFQUFFd0Y7SUFBTyxDQUFFLENBRTlELENBQUM7RUFFVixDQUFDO0VBRUQsSUFBTWdCLHNCQUFzQixHQUFHLFNBQXpCQSxzQkFBc0JBLENBQUEsRUFBUztJQUNuQyxJQUFBQyxhQUFBLEdBQXFCLElBQUF2RSxxQkFBVyxFQUFDO1FBQy9CQyxFQUFFLEVBQUV1RSw2Q0FBOEI7UUFDbEN0RSxJQUFJLEVBQUU7VUFBQ0MsSUFBSSxFQUFFc0U7UUFBdUIsQ0FBQztRQUNyQzdILG9CQUFvQixFQUFwQkE7TUFDRixDQUFDLENBQUM7TUFKSzJELFVBQVUsR0FBQWdFLGFBQUEsQ0FBVmhFLFVBQVU7SUFLakIsb0JBQU8zRyxNQUFBLFlBQUEwRixhQUFBLENBQUNyQyxjQUFjO01BQUMyRCxHQUFHLEVBQUVMO0lBQVcsQ0FBRSxDQUFDO0VBQzVDLENBQUM7RUFFRCxJQUFNbUUsU0FBbUMsR0FBRyxTQUF0Q0EsU0FBbUNBLENBQUd2SCxLQUFLLEVBQUk7SUFDbkQsSUFDRXlFLE1BQU0sR0FVSnpFLEtBQUssQ0FWUHlFLE1BQU07TUFDTitDLFFBQVEsR0FTTnhILEtBQUssQ0FUUHdILFFBQVE7TUFDUjFDLFVBQVUsR0FRUjlFLEtBQUssQ0FSUDhFLFVBQVU7TUFDVjJDLGNBQWMsR0FPWnpILEtBQUssQ0FQUHlILGNBQWM7TUFDZEMsZUFBZSxHQU1iMUgsS0FBSyxDQU5QMEgsZUFBZTtNQUNmQyxlQUFlLEdBS2IzSCxLQUFLLENBTFAySCxlQUFlO01BQ2ZDLFFBQVEsR0FJTjVILEtBQUssQ0FKUDRILFFBQVE7TUFDUkMsWUFBWSxHQUdWN0gsS0FBSyxDQUhQNkgsWUFBWTtNQUFBQyxpQkFBQSxHQUdWOUgsS0FBSyxDQUZQK0gsVUFBVTtNQUFWQSxVQUFVLEdBQUFELGlCQUFBLGNBQUcsSUFBSSxHQUFBQSxpQkFBQTtNQUNqQkUsUUFBUSxHQUNOaEksS0FBSyxDQURQZ0ksUUFBUTtJQUVWLElBQW9CQyxTQUFTLEdBQUlSLGNBQWMsQ0FBeENTLFdBQVc7SUFFbEIsSUFBTXRELGtCQUF1QyxHQUFHLElBQUFpQixjQUFPLEVBQ3JEO01BQUEsT0FBTSxJQUFBaEIsa0NBQXdCLEVBQUNDLFVBQVUsRUFBRUwsTUFBTSxDQUFDO0lBQUEsR0FDbEQsQ0FBQ0ssVUFBVSxFQUFFTCxNQUFNLENBQ3JCLENBQUM7SUFFRCxJQUFNMEQsaUJBQWlCLEdBQUcsSUFBQXRDLGNBQU8sRUFBQyxZQUFNO01BQ3RDLElBQU1hLEtBQUssR0FBRzlCLGtCQUFrQixDQUFDSSxHQUFHLENBQUMsVUFBQUMsS0FBSztRQUFBLElBQUFtRCxZQUFBO1FBQUEsUUFBQUEsWUFBQSxHQUFJbkQsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDbkMsRUFBRSxjQUFBc0YsWUFBQSxjQUFBQSxZQUFBLEdBQUluRCxLQUFLLENBQUMsQ0FBQyxDQUFDO01BQUEsRUFBQztNQUN0RXlCLEtBQUssQ0FBQzJCLElBQUksQ0FBQ2hCLDZDQUE4QixDQUFDO01BQzFDLE9BQU9YLEtBQUs7SUFDZCxDQUFDLEVBQUUsQ0FBQzlCLGtCQUFrQixDQUFDLENBQUM7SUFFeEIsSUFBTTBELGdCQUFnQixHQUFHLElBQUF6QyxjQUFPLEVBQzlCO01BQUEsT0FDRTNHLE1BQU0sQ0FBQ3FKLElBQUksQ0FBQ1YsWUFBWSxDQUFDLENBQUM3QyxHQUFHLENBQUMsVUFBQVosR0FBRyxFQUFJO1FBQ25DLElBQU05QixLQUFLLEdBQUcsSUFBSXVGLFlBQVksQ0FBQ3pELEdBQUcsQ0FBQyxDQUFDO1VBQUNvRSxNQUFNLEVBQUU7UUFBRSxDQUFDLENBQUM7UUFDakQsT0FBTztVQUNMMUYsRUFBRSxFQUFFc0IsR0FBRztVQUNQcUUsS0FBSyxFQUFFbkcsS0FBSyxDQUFDb0csSUFBSTtVQUNqQkMsSUFBSSxFQUFFckcsS0FBSyxDQUFDc0csU0FBUztVQUNyQkMsV0FBVyxFQUFFdkcsS0FBSyxDQUFDdUc7UUFDckIsQ0FBQztNQUNILENBQUMsQ0FBQztJQUFBLEdBQ0osQ0FBQ2hCLFlBQVksQ0FDZixDQUFDO0lBRUQsSUFBTXBGLFlBQVksR0FBRyxJQUFBb0QsY0FBTyxFQUMxQjtNQUFBLE9BQU87UUFDTGlELGtCQUFrQixFQUFFcEIsZUFBZSxDQUFDb0Isa0JBQWtCO1FBQ3REQyxpQkFBaUIsRUFBRXJCLGVBQWUsQ0FBQ3FCLGlCQUFpQjtRQUNwREMsOEJBQThCLEVBQUV0QixlQUFlLENBQUNzQiw4QkFBOEI7UUFDOUVDLHFCQUFxQixFQUFFdkIsZUFBZSxDQUFDdUIscUJBQXFCO1FBQzVEQyxlQUFlLEVBQUV4QixlQUFlLENBQUN3QixlQUFlO1FBQ2hEQyxvQkFBb0IsRUFBRXpCLGVBQWUsQ0FBQ3lCLG9CQUFvQjtRQUMxREMsb0JBQW9CLEVBQUUxQixlQUFlLENBQUMwQixvQkFBb0I7UUFDMURDLFdBQVcsRUFBRTNCLGVBQWUsQ0FBQzJCLFdBQVc7UUFDeENDLFdBQVcsRUFBRTNCLGVBQWUsQ0FBQzRCLFNBQVM7UUFDdENDLGNBQWMsRUFBRTlCLGVBQWUsQ0FBQzhCLGNBQWM7UUFDOUNDLGVBQWUsRUFBRS9CLGVBQWUsQ0FBQytCO01BQ25DLENBQUM7SUFBQSxDQUFDLEVBQ0YsQ0FBQy9CLGVBQWUsRUFBRUMsZUFBZSxDQUNuQyxDQUFDO0lBRUQsSUFBTW5GLFVBQVUsR0FBRyxJQUFBcUQsY0FBTyxFQUN4QjtNQUFBLE9BQU87UUFDTDJCLFFBQVEsRUFBUkEsUUFBUTtRQUNSUyxTQUFTLEVBQVRBLFNBQVM7UUFDVEssZ0JBQWdCLEVBQWhCQSxnQkFBZ0I7UUFDaEJOLFFBQVEsRUFBUkEsUUFBUTtRQUNSSixRQUFRLEVBQVJBO01BQ0YsQ0FBQztJQUFBLENBQUMsRUFDRixDQUFDSixRQUFRLEVBQUVTLFNBQVMsRUFBRUssZ0JBQWdCLEVBQUVOLFFBQVEsRUFBRUosUUFBUSxDQUM1RCxDQUFDO0lBRUQsb0JBQ0VuTCxNQUFBLFlBQUEwRixhQUFBLENBQUM5QyxTQUFTLHFCQUNSNUMsTUFBQSxZQUFBMEYsYUFBQSxDQUFDbkYsU0FBQSxDQUFBeUosZUFBZTtNQUNkM0QsRUFBRSxFQUFFNEcsdUNBQXlCO01BQzdCaEQsS0FBSyxFQUFFeUIsaUJBQWtCO01BQ3pCeEIsUUFBUSxFQUFFQyxxQ0FBNEI7TUFDdENsRSxRQUFRLEVBQUUsQ0FBQ3FGO0lBQVcsR0FFckJuRCxrQkFBa0IsQ0FBQ0ksR0FBRyxDQUFDLFVBQUEyRSxLQUFBO01BQUEsSUFBQUMsS0FBQSxPQUFBdEUsZUFBQSxhQUFBcUUsS0FBQTtRQUFFM0csSUFBSSxHQUFBNEcsS0FBQTtRQUFFQyxJQUFJLEdBQUFELEtBQUE7TUFBQSxPQUNsQzVHLElBQUksS0FBSyxPQUFPLGdCQUNkdkcsTUFBQSxZQUFBMEYsYUFBQSxDQUFDQyxpQkFBaUI7UUFDaEJnQyxHQUFHLEVBQUV5RixJQUFJLENBQUMvRyxFQUFHO1FBQ2JSLEtBQUssRUFBRXVILElBQWM7UUFDckJ0SCxHQUFHLEVBQUVrQyxNQUFNLENBQUN3QyxTQUFTLENBQUMsVUFBQUMsQ0FBQztVQUFBLE9BQUksQ0FBQUEsQ0FBQyxhQUFEQSxDQUFDLHVCQUFEQSxDQUFDLENBQUVwRSxFQUFFLE1BQUsrRyxJQUFJLENBQUMvRyxFQUFFO1FBQUEsRUFBRTtRQUM5Q04sVUFBVSxFQUFFQSxVQUFXO1FBQ3ZCQyxZQUFZLEVBQUVBLFlBQWE7UUFDM0JDLFFBQVEsRUFBRSxDQUFDcUY7TUFBVyxDQUN2QixDQUFDLGdCQUVGdEwsTUFBQSxZQUFBMEYsYUFBQSxDQUFDbUMsaUJBQWlCO1FBQ2hCRixHQUFHLEVBQUd5RixJQUFJLENBQXFCL0csRUFBRztRQUNsQzBCLFVBQVUsRUFBRXFGLElBQXdCO1FBQ3BDcEYsTUFBTSxFQUFFQSxNQUFPO1FBQ2ZqQyxVQUFVLEVBQUVBLFVBQVc7UUFDdkJDLFlBQVksRUFBRUEsWUFBYTtRQUMzQkMsUUFBUSxFQUFFLENBQUNxRjtNQUFXLENBQ3ZCLENBQ0Y7SUFBQSxDQUNILENBQUMsZUFDRHRMLE1BQUEsWUFBQTBGLGFBQUEsQ0FBQ2dGLHNCQUFzQixNQUFFLENBQ1YsQ0FDUixDQUFDO0VBRWhCLENBQUM7RUFDRCxPQUFPSSxTQUFTO0FBQ2xCO0FBQUMsSUFBQXVDLFFBQUEsR0FBQUMsT0FBQSxjQUNjdEksZ0JBQWdCIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -34,7 +34,7 @@ export type LayerPanelHeaderProps = {
|
|
|
34
34
|
layerType?: string | null;
|
|
35
35
|
allowDuplicate?: boolean;
|
|
36
36
|
isDragNDropEnabled?: boolean;
|
|
37
|
-
warning?:
|
|
37
|
+
warning?: React.ReactNode;
|
|
38
38
|
labelRCGColorValues?: RGBColor | null;
|
|
39
39
|
actionIcons?: {
|
|
40
40
|
remove: ComponentType<Partial<BaseProps>>;
|
|
@@ -23,8 +23,7 @@ var _localization = require("@kepler.gl/localization");
|
|
|
23
23
|
var _constants = require("@kepler.gl/constants");
|
|
24
24
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9; // SPDX-License-Identifier: MIT
|
|
25
25
|
// Copyright contributors to the kepler.gl project
|
|
26
|
-
function
|
|
27
|
-
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; }
|
|
26
|
+
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); }
|
|
28
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; }
|
|
29
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; }
|
|
30
29
|
var getBorderCss = function getBorderCss(status) {
|
|
@@ -275,7 +274,7 @@ function LayerPanelHeaderFactory(LayerTitleSection, LayerPanelHeaderActionSectio
|
|
|
275
274
|
'sort--handle': !isConfigActive
|
|
276
275
|
}),
|
|
277
276
|
isValid: isValid,
|
|
278
|
-
warning: warning,
|
|
277
|
+
warning: Boolean(warning),
|
|
279
278
|
$active: isConfigActive,
|
|
280
279
|
labelRCGColorValues: labelRCGColorValues,
|
|
281
280
|
onClick: onToggleEnableConfig
|
|
@@ -309,4 +308,4 @@ function LayerPanelHeaderFactory(LayerTitleSection, LayerPanelHeaderActionSectio
|
|
|
309
308
|
return LayerPanelHeader;
|
|
310
309
|
}
|
|
311
310
|
var _default = exports["default"] = LayerPanelHeaderFactory;
|
|
312
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9wYW5lbEhlYWRlckFjdGlvbiIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl9pY29ucyIsIl9sb2NhbGl6YXRpb24iLCJfY29uc3RhbnRzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfdGVtcGxhdGVPYmplY3Q3IiwiX3RlbXBsYXRlT2JqZWN0OCIsIl90ZW1wbGF0ZU9iamVjdDkiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJnZXRCb3JkZXJDc3MiLCJzdGF0dXMiLCJjc3MiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIl9yZWYiLCJ0aGVtZSIsIm5vdGlmaWNhdGlvbkNvbG9ycyIsIl9yZWYyIiwiX3JlZjMiLCJTdHlsZWRMYXllclBhbmVsSGVhZGVyIiwic3R5bGVkIiwiU3R5bGVkUGFuZWxIZWFkZXIiLCJwcm9wcyIsImxheWVyUGFuZWxIZWFkZXJIZWlnaHQiLCJ3YXJuaW5nIiwiaXNWYWxpZCIsInBhbmVsQmFja2dyb3VuZEhvdmVyIiwiSGVhZGVyTGFiZWxTZWN0aW9uIiwiZGl2IiwidGV4dENvbG9yIiwiSGVhZGVyQWN0aW9uU2VjdGlvbiIsIndpdGhDb25maWciLCJzaG91bGRGb3J3YXJkUHJvcCIsImlzRWRpdGluZ0xhYmVsIiwiU3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zIiwiYXR0cnMiLCJjbGFzc05hbWUiLCJpc0NvbmZpZ0FjdGl2ZSIsInBhbmVsQmFja2dyb3VuZCIsIlN0eWxlZERyYWdIYW5kbGUiLCJ0ZXh0Q29sb3JIbCIsIkRyYWdIYW5kbGUiLCJleHBvcnRzIiwiX3JlZjQiLCJsaXN0ZW5lcnMiLCJjaGlsZHJlbiIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kczIiLCJub09wIiwiZXZlbnQiLCJzdG9wUHJvcGFnYXRpb24iLCJwcmV2ZW50RGVmYXVsdCIsIkxheWVyTGFiZWxFZGl0b3IiLCJfcmVmNSIsImxheWVySWQiLCJsYWJlbCIsIm9uRWRpdCIsIm9uRm9jdXMiLCJvbkJsdXIiLCJJbmxpbmVJbnB1dCIsInR5cGUiLCJkYXRhVGVzdElkcyIsImxheWVyVGl0bGVFZGl0b3IiLCJ2YWx1ZSIsIm9uQ2xpY2siLCJvbkNoYW5nZSIsImlkIiwiY29uY2F0IiwiTGF5ZXJUaXRsZVNlY3Rpb25GYWN0b3J5IiwiU3R5bGVkTGF5ZXJUaXRsZVNlY3Rpb24iLCJzdWJ0ZXh0Q29sb3IiLCJMYXllclRpdGxlU2VjdGlvbiIsIl9yZWY2IiwibGF5ZXJUeXBlIiwib25VcGRhdGVMYXllckxhYmVsIiwiRm9ybWF0dGVkTWVzc2FnZSIsInRvTG93ZXJDYXNlIiwiTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25GYWN0b3J5IiwiZGVwcyIsIlBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeSIsIlBhbmVsSGVhZGVyQWN0aW9uIiwiTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb24iLCJhbGxvd0R1cGxpY2F0ZSIsImlzVmlzaWJsZSIsIm9uVG9nZ2xlVmlzaWJpbGl0eSIsIm9uUmVzZXRJc1ZhbGlkIiwib25Ub2dnbGVFbmFibGVDb25maWciLCJvbkR1cGxpY2F0ZUxheWVyIiwib25SZW1vdmVMYXllciIsIm9uWm9vbVRvTGF5ZXIiLCJfcHJvcHMkc2hvd1JlbW92ZUxheWUiLCJzaG93UmVtb3ZlTGF5ZXIiLCJjdXN0b21BY3Rpb25JY29ucyIsImFjdGlvbkljb25zIiwiZGVmYXVsdEFjdGlvbkljb25zIiwidGVzdElkIiwidG9vbHRpcCIsInRvb2x0aXBUeXBlIiwiSWNvbkNvbXBvbmVudCIsInJlbW92ZSIsImR1cGxpY2F0ZSIsImRpc2FibGVkIiwiY3Jvc3NoYWlycyIsInZpc2libGUiLCJoaWRkZW4iLCJyZXNldElzVmFsaWQiLCJjbGFzc25hbWVzIiwiZGlzYWJsZUNvbmZpZyIsImVuYWJsZUNvbmZpZyIsIlN0eWxlZEhlYWRlcldhcmluZyIsIl9yZWY3IiwiSGVhZGVyV2FybmluZyIsIl9yZWY4IiwiV2FybmluZ1NpZ24iLCJoZWlnaHQiLCJUb29sdGlwIiwiZWZmZWN0IiwiUm90YXRlZEljb24iLCJUcmFzaCIsIkV5ZVNlZW4iLCJFeWVVbnNlZW4iLCJBcnJvd0Rvd24iLCJDb3B5IiwiUmVzZXQiLCJab29tSW4iLCJMYXllclBhbmVsSGVhZGVyRmFjdG9yeSIsIkxheWVyUGFuZWxIZWFkZXIiLCJfcHJvcHMkaXNEcmFnTkRyb3BFbmEiLCJpc0RyYWdORHJvcEVuYWJsZWQiLCJsYWJlbFJDR0NvbG9yVmFsdWVzIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2V0SXNFZGl0aW5nTGFiZWwiLCIkYWN0aXZlIiwiVmVydERvdHMiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLXBhbmVsLWhlYWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVN0YXRlLFxuICBDb21wb25lbnRUeXBlLFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgTW91c2VFdmVudCxcbiAgQ2hhbmdlRXZlbnRIYW5kbGVyXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHN0eWxlZCwge2Nzc30gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IFBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeSBmcm9tICcuLi9wYW5lbC1oZWFkZXItYWN0aW9uJztcbmltcG9ydCB7VG9vbHRpcCwgc2hvdWxkRm9yd2FyZFByb3B9IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge1xuICBDb3B5LFxuICBBcnJvd0Rvd24sXG4gIEV5ZVNlZW4sXG4gIEV5ZVVuc2VlbixcbiAgVHJhc2gsXG4gIFZlcnREb3RzLFxuICBXYXJuaW5nU2lnbixcbiAgUmVzZXQsXG4gIFpvb21JblxufSBmcm9tICcuLi8uLi9jb21tb24vaWNvbnMnO1xuXG5pbXBvcnQge0lubGluZUlucHV0LCBTdHlsZWRQYW5lbEhlYWRlcn0gZnJvbSAnLi4vLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnQGtlcGxlci5nbC9sb2NhbGl6YXRpb24nO1xuaW1wb3J0IHtkYXRhVGVzdElkc30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtSR0JDb2xvcn0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge0Jhc2VQcm9wc30gZnJvbSAnLi4vLi4vY29tbW9uL2ljb25zJztcblxuZXhwb3J0IHR5cGUgTGF5ZXJMYWJlbEVkaXRvclByb3BzID0ge1xuICBsYXllcklkOiBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBvbkVkaXQ6IENoYW5nZUV2ZW50SGFuZGxlcjtcbiAgb25Gb2N1czogQ2hhbmdlRXZlbnRIYW5kbGVyO1xuICBvbkJsdXI6IENoYW5nZUV2ZW50SGFuZGxlcjtcbn07XG5cbmV4cG9ydCB0eXBlIExheWVyVGl0bGVTZWN0aW9uUHJvcHMgPSB7XG4gIGxheWVyVHlwZT86IHN0cmluZyB8IG51bGw7XG4gIGxheWVySWQ6IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIG9uVXBkYXRlTGF5ZXJMYWJlbDogQ2hhbmdlRXZlbnRIYW5kbGVyO1xuICBvbkZvY3VzOiBDaGFuZ2VFdmVudEhhbmRsZXI7XG4gIG9uQmx1cjogQ2hhbmdlRXZlbnRIYW5kbGVyO1xufTtcblxuZXhwb3J0IHR5cGUgTGF5ZXJQYW5lbEhlYWRlclByb3BzID0ge1xuICBsYXllcklkOiBzdHJpbmc7XG4gIGlzVmlzaWJsZTogYm9vbGVhbjtcbiAgaXNWYWxpZDogYm9vbGVhbjtcbiAgb25Ub2dnbGVWaXNpYmlsaXR5OiBNb3VzZUV2ZW50SGFuZGxlcjtcbiAgb25VcGRhdGVMYXllckxhYmVsOiBDaGFuZ2VFdmVudEhhbmRsZXI7XG4gIG9uVG9nZ2xlRW5hYmxlQ29uZmlnOiBNb3VzZUV2ZW50SGFuZGxlcjtcbiAgb25SZW1vdmVMYXllcjogTW91c2VFdmVudEhhbmRsZXI7XG4gIG9uWm9vbVRvTGF5ZXI6IE1vdXNlRXZlbnRIYW5kbGVyO1xuICBvbkR1cGxpY2F0ZUxheWVyOiBNb3VzZUV2ZW50SGFuZGxlcjtcbiAgb25SZXNldElzVmFsaWQ6IE1vdXNlRXZlbnRIYW5kbGVyO1xuICBpc0NvbmZpZ0FjdGl2ZTogYm9vbGVhbjtcbiAgc2hvd1JlbW92ZUxheWVyPzogYm9vbGVhbjtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGxheWVyVHlwZT86IHN0cmluZyB8IG51bGw7XG4gIGFsbG93RHVwbGljYXRlPzogYm9vbGVhbjtcbiAgaXNEcmFnTkRyb3BFbmFibGVkPzogYm9vbGVhbjtcbiAgd2FybmluZz86IGJvb2xlYW47XG4gIGxhYmVsUkNHQ29sb3JWYWx1ZXM/OiBSR0JDb2xvciB8IG51bGw7XG4gIGFjdGlvbkljb25zPzoge1xuICAgIHJlbW92ZTogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIHZpc2libGU6IENvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgICBoaWRkZW46IENvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgICBlbmFibGVDb25maWc6IENvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgICBkaXNhYmxlQ29uZmlnPzogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIHJlc2V0SXNWYWxpZDogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGR1cGxpY2F0ZTogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGNyb3NzaGFpcnM6IENvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgfTtcbiAgbGlzdGVuZXJzPzogUmVhY3QuRWxlbWVudFR5cGU7XG59O1xuXG50eXBlIEhlYWRlckFjdGlvblNlY3Rpb25Qcm9wcyA9IHtcbiAgaXNFZGl0aW5nTGFiZWw6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvblByb3BzID0gTGF5ZXJQYW5lbEhlYWRlclByb3BzICYgSGVhZGVyQWN0aW9uU2VjdGlvblByb3BzO1xuXG5jb25zdCBnZXRCb3JkZXJDc3MgPSBzdGF0dXMgPT4gY3NzYFxuICBib3JkZXItdG9wOiAycHggc29saWQgJHsoe3RoZW1lfSkgPT4gdGhlbWUubm90aWZpY2F0aW9uQ29sb3JzW3N0YXR1c119O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHsoe3RoZW1lfSkgPT4gdGhlbWUubm90aWZpY2F0aW9uQ29sb3JzW3N0YXR1c119O1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkeyh7dGhlbWV9KSA9PiB0aGVtZS5ub3RpZmljYXRpb25Db2xvcnNbc3RhdHVzXX07XG5gO1xuXG5jb25zdCBTdHlsZWRMYXllclBhbmVsSGVhZGVyID0gc3R5bGVkKFN0eWxlZFBhbmVsSGVhZGVyKWBcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxheWVyUGFuZWxIZWFkZXJIZWlnaHR9cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgLmxheWVyX19yZW1vdmUtbGF5ZXIge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAubGF5ZXJfX2RyYWctaGFuZGxlX19wbGFjZWhvbGRlciB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gIH1cblxuICAke3Byb3BzID0+IChwcm9wcy53YXJuaW5nID8gZ2V0Qm9yZGVyQ3NzKCd3YXJuaW5nJykgOiBwcm9wcy5pc1ZhbGlkID8gJycgOiBnZXRCb3JkZXJDc3MoJ2Vycm9yJykpfVxuXG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyfTtcblxuICAgIC5sYXllcl9fZHJhZy1oYW5kbGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAubGF5ZXJfX3JlbW92ZS1sYXllciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgSGVhZGVyTGFiZWxTZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgZmxleC1ncm93OiAxO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgLy8gbGVhdmUgc3BhY2UgZm9yIGV5ZSBhbmQgY29sbGFwc2UgaWNvblxuICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuYDtcblxuY29uc3QgSGVhZGVyQWN0aW9uU2VjdGlvbiA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KTxIZWFkZXJBY3Rpb25TZWN0aW9uUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHJpZ2h0OiAxMHB4O1xuICBwb2ludGVyLWV2ZW50czogJHtwcm9wcyA9PiAocHJvcHMuaXNFZGl0aW5nTGFiZWwgPyAnbm9uZScgOiAnYWxsJyl9O1xuICAmOmhvdmVyIHtcbiAgICAubGF5ZXItcGFuZWxfX2hlYWRlcl9fYWN0aW9uc19faGlkZGVuIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyfTtcbiAgICB9XG4gIH1cbmA7XG5cbnR5cGUgU3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zUHJvcHMgPSB7XG4gIGlzQ29uZmlnQWN0aXZlOiBMYXllclBhbmVsSGVhZGVyUHJvcHNbJ2lzQ29uZmlnQWN0aXZlJ107XG59O1xuXG4vLyBIaWRlbiBhY3Rpb25zIG9ubHkgc2hvdyB1cCBvbiBob3ZlclxuY29uc3QgU3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zID0gc3R5bGVkLmRpdi53aXRoQ29uZmlnKHtzaG91bGRGb3J3YXJkUHJvcH0pLmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbGF5ZXItcGFuZWxfX2hlYWRlcl9fYWN0aW9uc19faGlkZGVuJ1xufSk8U3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zUHJvcHM+YFxuICBvcGFjaXR5OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuaXNDb25maWdBY3RpdmUgPyBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3ZlciA6IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZH07XG4gIHRyYW5zaXRpb246XG4gICAgb3BhY2l0eSAwLjRzIGVhc2UsXG4gICAgYmFja2dyb3VuZC1jb2xvciAwLjRzIGVhc2U7XG5cbiAgJjpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkRHJhZ0hhbmRsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBtb3ZlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgRHJhZ0hhbmRsZTogUmVhY3QuRkM8e1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIGxpc3RlbmVycz86IGFueTtcbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG59PiA9ICh7Y2xhc3NOYW1lLCBsaXN0ZW5lcnMsIGNoaWxkcmVufSkgPT4gKFxuICA8U3R5bGVkRHJhZ0hhbmRsZSBjbGFzc05hbWU9e2NsYXNzTmFtZX0gey4uLihsaXN0ZW5lcnMgPyBsaXN0ZW5lcnMgOiB7fSl9PlxuICAgIHtjaGlsZHJlbn1cbiAgPC9TdHlsZWREcmFnSGFuZGxlPlxuKTtcblxuY29uc3Qgbm9PcCA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBMYXllckxhYmVsRWRpdG9yOiBSZWFjdC5GQzxMYXllckxhYmVsRWRpdG9yUHJvcHM+ID0gKHtcbiAgbGF5ZXJJZCxcbiAgbGFiZWwsXG4gIG9uRWRpdCxcbiAgb25Gb2N1cyxcbiAgb25CbHVyXG59KSA9PiAoXG4gIDxJbmxpbmVJbnB1dFxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBjbGFzc05hbWU9XCJsYXllcl9fdGl0bGVfX2VkaXRvclwiXG4gICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWRzLmxheWVyVGl0bGVFZGl0b3J9XG4gICAgdmFsdWU9e2xhYmVsfVxuICAgIG9uQ2xpY2s9e25vT3B9XG4gICAgb25DaGFuZ2U9e29uRWRpdH1cbiAgICBvbkZvY3VzPXtvbkZvY3VzfVxuICAgIG9uQmx1cj17b25CbHVyfVxuICAgIGlkPXtgJHtsYXllcklkfTppbnB1dC1sYXllci1sYWJlbGB9XG4gIC8+XG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gTGF5ZXJUaXRsZVNlY3Rpb25GYWN0b3J5KCkge1xuICBjb25zdCBTdHlsZWRMYXllclRpdGxlU2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC5sYXllcl9fdGl0bGVfX2lubmVyIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG5cbiAgICAubGF5ZXJfX3RpdGxlX190eXBlIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvcn07XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjM3cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICB9XG4gIGA7XG4gIGNvbnN0IExheWVyVGl0bGVTZWN0aW9uOiBSZWFjdC5GQzxMYXllclRpdGxlU2VjdGlvblByb3BzPiA9ICh7XG4gICAgbGF5ZXJUeXBlLFxuICAgIGxheWVySWQsXG4gICAgbGFiZWwsXG4gICAgb25VcGRhdGVMYXllckxhYmVsLFxuICAgIG9uRm9jdXMsXG4gICAgb25CbHVyXG4gIH0pID0+IChcbiAgICA8U3R5bGVkTGF5ZXJUaXRsZVNlY3Rpb24gY2xhc3NOYW1lPVwibGF5ZXJfX3RpdGxlXCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8TGF5ZXJMYWJlbEVkaXRvclxuICAgICAgICAgIGxheWVySWQ9e2xheWVySWR9XG4gICAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICAgIG9uRWRpdD17b25VcGRhdGVMYXllckxhYmVsfVxuICAgICAgICAgIG9uRm9jdXM9e29uRm9jdXN9XG4gICAgICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICAgIC8+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGF5ZXJfX3RpdGxlX190eXBlXCI+XG4gICAgICAgICAge2xheWVyVHlwZSAmJiA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17YGxheWVyLnR5cGUuJHtsYXllclR5cGUudG9Mb3dlckNhc2UoKX1gfSAvPn1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L1N0eWxlZExheWVyVGl0bGVTZWN0aW9uPlxuICApO1xuICByZXR1cm4gTGF5ZXJUaXRsZVNlY3Rpb247XG59XG5cbkxheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uRmFjdG9yeS5kZXBzID0gW1BhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeV07XG5cbmV4cG9ydCBmdW5jdGlvbiBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3RvcnkoXG4gIFBhbmVsSGVhZGVyQWN0aW9uOiBSZXR1cm5UeXBlPHR5cGVvZiBQYW5lbEhlYWRlckFjdGlvbkZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb246IFJlYWN0LkZDPExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uUHJvcHM+ID0gKFxuICAgIHByb3BzOiBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvblByb3BzXG4gICkgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGlzQ29uZmlnQWN0aXZlLFxuICAgICAgYWxsb3dEdXBsaWNhdGUsXG4gICAgICBpc1Zpc2libGUsXG4gICAgICBpc1ZhbGlkLFxuICAgICAgbGF5ZXJJZCxcbiAgICAgIG9uVG9nZ2xlVmlzaWJpbGl0eSxcbiAgICAgIG9uUmVzZXRJc1ZhbGlkLFxuICAgICAgb25Ub2dnbGVFbmFibGVDb25maWcsXG4gICAgICBvbkR1cGxpY2F0ZUxheWVyLFxuICAgICAgb25SZW1vdmVMYXllcixcbiAgICAgIG9uWm9vbVRvTGF5ZXIsXG4gICAgICBzaG93UmVtb3ZlTGF5ZXIgPSB0cnVlLFxuICAgICAgaXNFZGl0aW5nTGFiZWwsXG4gICAgICBhY3Rpb25JY29uczogY3VzdG9tQWN0aW9uSWNvbnNcbiAgICB9ID0gcHJvcHM7XG4gICAgLy8gTWVyZ2UgY3VzdG9tIGFjdGlvbkljb25zIHdpdGggZGVmYXVsdHMgdG8gYXZvaWQgYnJlYWtpbmcgY2hhbmdlc1xuICAgIGNvbnN0IGFjdGlvbkljb25zID0gey4uLmRlZmF1bHRBY3Rpb25JY29ucywgLi4uY3VzdG9tQWN0aW9uSWNvbnN9O1xuICAgIHJldHVybiAoXG4gICAgICA8SGVhZGVyQWN0aW9uU2VjdGlvbiBjbGFzc05hbWU9XCJsYXllci1wYW5lbF9faGVhZGVyX19hY3Rpb25zXCIgaXNFZGl0aW5nTGFiZWw9e2lzRWRpdGluZ0xhYmVsfT5cbiAgICAgICAgPFN0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9ucyBpc0NvbmZpZ0FjdGl2ZT17aXNDb25maWdBY3RpdmV9PlxuICAgICAgICAgIHtzaG93UmVtb3ZlTGF5ZXIgPyAoXG4gICAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXJfX3JlbW92ZS1sYXllclwiXG4gICAgICAgICAgICAgIHRlc3RJZD1cInJlbW92ZS1sYXllci1hY3Rpb25cIlxuICAgICAgICAgICAgICBpZD17bGF5ZXJJZH1cbiAgICAgICAgICAgICAgdG9vbHRpcD17J3Rvb2x0aXAucmVtb3ZlTGF5ZXInfVxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblJlbW92ZUxheWVyfVxuICAgICAgICAgICAgICB0b29sdGlwVHlwZT1cImVycm9yXCJcbiAgICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17YWN0aW9uSWNvbnMucmVtb3ZlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyX19kdXBsaWNhdGVcIlxuICAgICAgICAgICAgaWQ9e2xheWVySWR9XG4gICAgICAgICAgICB0b29sdGlwPXsndG9vbHRpcC5kdXBsaWNhdGVMYXllcid9XG4gICAgICAgICAgICBvbkNsaWNrPXtvbkR1cGxpY2F0ZUxheWVyfVxuICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17YWN0aW9uSWNvbnMuZHVwbGljYXRlfVxuICAgICAgICAgICAgZGlzYWJsZWQ9eyFhbGxvd0R1cGxpY2F0ZX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXJfX3pvb20tdG8tbGF5ZXJcIlxuICAgICAgICAgICAgaWQ9e2xheWVySWR9XG4gICAgICAgICAgICB0b29sdGlwPXsndG9vbHRpcC56b29tVG9MYXllcid9XG4gICAgICAgICAgICBvbkNsaWNrPXtvblpvb21Ub0xheWVyfVxuICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17YWN0aW9uSWNvbnMuY3Jvc3NoYWlyc31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1N0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9ucz5cbiAgICAgICAge2lzVmFsaWQgPyAoXG4gICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJsYXllcl9fdmlzaWJpbGl0eS10b2dnbGVcIlxuICAgICAgICAgICAgaWQ9e2xheWVySWR9XG4gICAgICAgICAgICB0b29sdGlwPXtpc1Zpc2libGUgPyAndG9vbHRpcC5oaWRlTGF5ZXInIDogJ3Rvb2x0aXAuc2hvd0xheWVyJ31cbiAgICAgICAgICAgIG9uQ2xpY2s9e29uVG9nZ2xlVmlzaWJpbGl0eX1cbiAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2lzVmlzaWJsZSA/IGFjdGlvbkljb25zLnZpc2libGUgOiBhY3Rpb25JY29ucy5oaWRkZW59XG4gICAgICAgICAgLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyX19pcy12YWxpZC1yZWZyZXNoXCJcbiAgICAgICAgICAgIGlkPXtsYXllcklkfVxuICAgICAgICAgICAgdG9vbHRpcD17J3Rvb2x0aXAucmVzZXRBZnRlckVycm9yJ31cbiAgICAgICAgICAgIG9uQ2xpY2s9e29uUmVzZXRJc1ZhbGlkfVxuICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17YWN0aW9uSWNvbnMucmVzZXRJc1ZhbGlkfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG5cbiAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdsYXllcl9fZW5hYmxlLWNvbmZpZyAnLCB7XG4gICAgICAgICAgICAnaXMtb3Blbic6IGlzQ29uZmlnQWN0aXZlXG4gICAgICAgICAgfSl9XG4gICAgICAgICAgaWQ9e2xheWVySWR9XG4gICAgICAgICAgdG9vbHRpcD17J3Rvb2x0aXAubGF5ZXJTZXR0aW5ncyd9XG4gICAgICAgICAgb25DbGljaz17b25Ub2dnbGVFbmFibGVDb25maWd9XG4gICAgICAgICAgSWNvbkNvbXBvbmVudD17XG4gICAgICAgICAgICBpc0NvbmZpZ0FjdGl2ZVxuICAgICAgICAgICAgICA/IGFjdGlvbkljb25zLmRpc2FibGVDb25maWcgfHwgYWN0aW9uSWNvbnMuZW5hYmxlQ29uZmlnXG4gICAgICAgICAgICAgIDogYWN0aW9uSWNvbnMuZW5hYmxlQ29uZmlnXG4gICAgICAgICAgfVxuICAgICAgICAvPlxuICAgICAgPC9IZWFkZXJBY3Rpb25TZWN0aW9uPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uO1xufVxuXG5jb25zdCBTdHlsZWRIZWFkZXJXYXJpbmcgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAtOXB4O1xuICB0b3A6IGNhbGMoNTAlIC0gOXB4KTtcbiAgY29sb3I6ICR7KHt0aGVtZX0pID0+IHRoZW1lLm5vdGlmaWNhdGlvbkNvbG9ycy53YXJuaW5nfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBIZWFkZXJXYXJuaW5nID0gKHt3YXJuaW5nLCBpZH0pID0+IChcbiAgPFN0eWxlZEhlYWRlcldhcmluZz5cbiAgICA8V2FybmluZ1NpZ24gZGF0YS10aXAgZGF0YS1mb3I9e2BsYXllci0ke2lkfS13YXJuaW5nYH0gaGVpZ2h0PVwiMTZweFwiIC8+XG4gICAgPFRvb2x0aXAgaWQ9e2BsYXllci0ke2lkfS13YXJuaW5nYH0gdHlwZT1cIndhcm5pbmdcIiBlZmZlY3Q9XCJzb2xpZFwiIHRleHRDb2xvcj1cImJsYWNrXCI+XG4gICAgICB7d2FybmluZ31cbiAgICA8L1Rvb2x0aXA+XG4gIDwvU3R5bGVkSGVhZGVyV2FyaW5nPlxuKTtcblxuY29uc3QgUm90YXRlZEljb24gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbmA7XG5cbmNvbnN0IGRlZmF1bHRBY3Rpb25JY29ucyA9IHtcbiAgcmVtb3ZlOiBwcm9wcyA9PiA8VHJhc2ggey4uLnByb3BzfSBoZWlnaHQ9XCIxNnB4XCIgLz4sXG4gIHZpc2libGU6IHByb3BzID0+IDxFeWVTZWVuIHsuLi5wcm9wc30gaGVpZ2h0PVwiMTZweFwiIC8+LFxuICBoaWRkZW46IHByb3BzID0+IDxFeWVVbnNlZW4gey4uLnByb3BzfSBoZWlnaHQ9XCIxNnB4XCIgLz4sXG4gIGVuYWJsZUNvbmZpZzogcHJvcHMgPT4gPEFycm93RG93biB7Li4ucHJvcHN9IGhlaWdodD1cIjE4cHhcIiAvPixcbiAgZGlzYWJsZUNvbmZpZzogcHJvcHMgPT4gKFxuICAgIDxSb3RhdGVkSWNvbj5cbiAgICAgIDxBcnJvd0Rvd24gey4uLnByb3BzfSBoZWlnaHQ9XCIxOHB4XCIgLz5cbiAgICA8L1JvdGF0ZWRJY29uPlxuICApLFxuICBkdXBsaWNhdGU6IHByb3BzID0+IDxDb3B5IHsuLi5wcm9wc30gaGVpZ2h0PVwiMTRweFwiIC8+LFxuICByZXNldElzVmFsaWQ6IFJlc2V0LFxuICBjcm9zc2hhaXJzOiBwcm9wcyA9PiA8Wm9vbUluIHsuLi5wcm9wc30gaGVpZ2h0PVwiMTRweFwiIC8+XG59O1xuXG5MYXllclBhbmVsSGVhZGVyRmFjdG9yeS5kZXBzID0gW0xheWVyVGl0bGVTZWN0aW9uRmFjdG9yeSwgTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25GYWN0b3J5XTtcblxuZnVuY3Rpb24gTGF5ZXJQYW5lbEhlYWRlckZhY3RvcnkoXG4gIExheWVyVGl0bGVTZWN0aW9uOiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllclRpdGxlU2VjdGlvbkZhY3Rvcnk+LFxuICBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbjogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25GYWN0b3J5PlxuKSB7XG4gIGNvbnN0IExheWVyUGFuZWxIZWFkZXI6IFJlYWN0LkZDPExheWVyUGFuZWxIZWFkZXJQcm9wcz4gPSBwcm9wcyA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgaXNDb25maWdBY3RpdmUsXG4gICAgICBpc0RyYWdORHJvcEVuYWJsZWQgPSB0cnVlLFxuICAgICAgaXNWYWxpZCxcbiAgICAgIHdhcm5pbmcsXG4gICAgICBsYWJlbCxcbiAgICAgIGxheWVySWQsXG4gICAgICBsYXllclR5cGUsXG4gICAgICBsYWJlbFJDR0NvbG9yVmFsdWVzLFxuICAgICAgb25VcGRhdGVMYXllckxhYmVsLFxuICAgICAgb25Ub2dnbGVFbmFibGVDb25maWcsXG4gICAgICBsaXN0ZW5lcnNcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgW2lzRWRpdGluZ0xhYmVsLCBzZXRJc0VkaXRpbmdMYWJlbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRMYXllclBhbmVsSGVhZGVyXG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnbGF5ZXItcGFuZWxfX2hlYWRlcicsIHtcbiAgICAgICAgICAnc29ydC0taGFuZGxlJzogIWlzQ29uZmlnQWN0aXZlXG4gICAgICAgIH0pfVxuICAgICAgICBpc1ZhbGlkPXtpc1ZhbGlkfVxuICAgICAgICB3YXJuaW5nPXt3YXJuaW5nfVxuICAgICAgICAkYWN0aXZlPXtpc0NvbmZpZ0FjdGl2ZX1cbiAgICAgICAgbGFiZWxSQ0dDb2xvclZhbHVlcz17bGFiZWxSQ0dDb2xvclZhbHVlc31cbiAgICAgICAgb25DbGljaz17b25Ub2dnbGVFbmFibGVDb25maWd9XG4gICAgICA+XG4gICAgICAgIHt3YXJuaW5nID8gPEhlYWRlcldhcm5pbmcgd2FybmluZz17d2FybmluZ30gaWQ9e2xheWVySWR9IC8+IDogbnVsbH1cbiAgICAgICAgPEhlYWRlckxhYmVsU2VjdGlvbiBjbGFzc05hbWU9XCJsYXllci1wYW5lbF9faGVhZGVyX19jb250ZW50XCI+XG4gICAgICAgICAge2lzRHJhZ05Ecm9wRW5hYmxlZCA/IChcbiAgICAgICAgICAgIDxEcmFnSGFuZGxlIGNsYXNzTmFtZT1cImxheWVyX19kcmFnLWhhbmRsZVwiIGxpc3RlbmVycz17bGlzdGVuZXJzfT5cbiAgICAgICAgICAgICAgPFZlcnREb3RzIGhlaWdodD1cIjIwcHhcIiAvPlxuICAgICAgICAgICAgPC9EcmFnSGFuZGxlPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxheWVyX19kcmFnLWhhbmRsZV9fcGxhY2Vob2xkZXJcIiAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPExheWVyVGl0bGVTZWN0aW9uXG4gICAgICAgICAgICBsYXllcklkPXtsYXllcklkfVxuICAgICAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICAgICAgb25VcGRhdGVMYXllckxhYmVsPXtvblVwZGF0ZUxheWVyTGFiZWx9XG4gICAgICAgICAgICBsYXllclR5cGU9e2xheWVyVHlwZX1cbiAgICAgICAgICAgIG9uRm9jdXM9eygpID0+IHtcbiAgICAgICAgICAgICAgc2V0SXNFZGl0aW5nTGFiZWwodHJ1ZSk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25CbHVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgIHNldElzRWRpdGluZ0xhYmVsKGZhbHNlKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9IZWFkZXJMYWJlbFNlY3Rpb24+XG4gICAgICAgIDxMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbiB7Li4ucHJvcHN9IGlzRWRpdGluZ0xhYmVsPXtpc0VkaXRpbmdMYWJlbH0gLz5cbiAgICAgIDwvU3R5bGVkTGF5ZXJQYW5lbEhlYWRlcj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBMYXllclBhbmVsSGVhZGVyO1xufVxuXG5leHBvcnQgZGVmYXVsdCBMYXllclBhbmVsSGVhZGVyRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBT0EsSUFBQUMsV0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsaUJBQUEsR0FBQUosdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLGtCQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7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
|
|
311
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9wYW5lbEhlYWRlckFjdGlvbiIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl9pY29ucyIsIl9sb2NhbGl6YXRpb24iLCJfY29uc3RhbnRzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfdGVtcGxhdGVPYmplY3Q3IiwiX3RlbXBsYXRlT2JqZWN0OCIsIl90ZW1wbGF0ZU9iamVjdDkiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZ2V0Qm9yZGVyQ3NzIiwic3RhdHVzIiwiY3NzIiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJfcmVmIiwidGhlbWUiLCJub3RpZmljYXRpb25Db2xvcnMiLCJfcmVmMiIsIl9yZWYzIiwiU3R5bGVkTGF5ZXJQYW5lbEhlYWRlciIsInN0eWxlZCIsIlN0eWxlZFBhbmVsSGVhZGVyIiwicHJvcHMiLCJsYXllclBhbmVsSGVhZGVySGVpZ2h0Iiwid2FybmluZyIsImlzVmFsaWQiLCJwYW5lbEJhY2tncm91bmRIb3ZlciIsIkhlYWRlckxhYmVsU2VjdGlvbiIsImRpdiIsInRleHRDb2xvciIsIkhlYWRlckFjdGlvblNlY3Rpb24iLCJ3aXRoQ29uZmlnIiwic2hvdWxkRm9yd2FyZFByb3AiLCJpc0VkaXRpbmdMYWJlbCIsIlN0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9ucyIsImF0dHJzIiwiY2xhc3NOYW1lIiwiaXNDb25maWdBY3RpdmUiLCJwYW5lbEJhY2tncm91bmQiLCJTdHlsZWREcmFnSGFuZGxlIiwidGV4dENvbG9ySGwiLCJEcmFnSGFuZGxlIiwiZXhwb3J0cyIsIl9yZWY0IiwibGlzdGVuZXJzIiwiY2hpbGRyZW4iLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMyIiwibm9PcCIsImV2ZW50Iiwic3RvcFByb3BhZ2F0aW9uIiwicHJldmVudERlZmF1bHQiLCJMYXllckxhYmVsRWRpdG9yIiwiX3JlZjUiLCJsYXllcklkIiwibGFiZWwiLCJvbkVkaXQiLCJvbkZvY3VzIiwib25CbHVyIiwiSW5saW5lSW5wdXQiLCJ0eXBlIiwiZGF0YVRlc3RJZHMiLCJsYXllclRpdGxlRWRpdG9yIiwidmFsdWUiLCJvbkNsaWNrIiwib25DaGFuZ2UiLCJpZCIsImNvbmNhdCIsIkxheWVyVGl0bGVTZWN0aW9uRmFjdG9yeSIsIlN0eWxlZExheWVyVGl0bGVTZWN0aW9uIiwic3VidGV4dENvbG9yIiwiTGF5ZXJUaXRsZVNlY3Rpb24iLCJfcmVmNiIsImxheWVyVHlwZSIsIm9uVXBkYXRlTGF5ZXJMYWJlbCIsIkZvcm1hdHRlZE1lc3NhZ2UiLCJ0b0xvd2VyQ2FzZSIsIkxheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uRmFjdG9yeSIsImRlcHMiLCJQYW5lbEhlYWRlckFjdGlvbkZhY3RvcnkiLCJQYW5lbEhlYWRlckFjdGlvbiIsIkxheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uIiwiYWxsb3dEdXBsaWNhdGUiLCJpc1Zpc2libGUiLCJvblRvZ2dsZVZpc2liaWxpdHkiLCJvblJlc2V0SXNWYWxpZCIsIm9uVG9nZ2xlRW5hYmxlQ29uZmlnIiwib25EdXBsaWNhdGVMYXllciIsIm9uUmVtb3ZlTGF5ZXIiLCJvblpvb21Ub0xheWVyIiwiX3Byb3BzJHNob3dSZW1vdmVMYXllIiwic2hvd1JlbW92ZUxheWVyIiwiY3VzdG9tQWN0aW9uSWNvbnMiLCJhY3Rpb25JY29ucyIsImRlZmF1bHRBY3Rpb25JY29ucyIsInRlc3RJZCIsInRvb2x0aXAiLCJ0b29sdGlwVHlwZSIsIkljb25Db21wb25lbnQiLCJyZW1vdmUiLCJkdXBsaWNhdGUiLCJkaXNhYmxlZCIsImNyb3NzaGFpcnMiLCJ2aXNpYmxlIiwiaGlkZGVuIiwicmVzZXRJc1ZhbGlkIiwiY2xhc3NuYW1lcyIsImRpc2FibGVDb25maWciLCJlbmFibGVDb25maWciLCJTdHlsZWRIZWFkZXJXYXJpbmciLCJfcmVmNyIsIkhlYWRlcldhcm5pbmciLCJfcmVmOCIsIldhcm5pbmdTaWduIiwiaGVpZ2h0IiwiVG9vbHRpcCIsImVmZmVjdCIsIlJvdGF0ZWRJY29uIiwiVHJhc2giLCJFeWVTZWVuIiwiRXllVW5zZWVuIiwiQXJyb3dEb3duIiwiQ29weSIsIlJlc2V0IiwiWm9vbUluIiwiTGF5ZXJQYW5lbEhlYWRlckZhY3RvcnkiLCJMYXllclBhbmVsSGVhZGVyIiwiX3Byb3BzJGlzRHJhZ05Ecm9wRW5hIiwiaXNEcmFnTkRyb3BFbmFibGVkIiwibGFiZWxSQ0dDb2xvclZhbHVlcyIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNldElzRWRpdGluZ0xhYmVsIiwiQm9vbGVhbiIsIiRhY3RpdmUiLCJWZXJ0RG90cyIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvbGF5ZXItcGFuZWwtaGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHtcbiAgdXNlU3RhdGUsXG4gIENvbXBvbmVudFR5cGUsXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICBNb3VzZUV2ZW50LFxuICBDaGFuZ2VFdmVudEhhbmRsZXJcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgc3R5bGVkLCB7Y3NzfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IGZyb20gJy4uL3BhbmVsLWhlYWRlci1hY3Rpb24nO1xuaW1wb3J0IHtUb29sdGlwLCBzaG91bGRGb3J3YXJkUHJvcH0gZnJvbSAnLi4vLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIENvcHksXG4gIEFycm93RG93bixcbiAgRXllU2VlbixcbiAgRXllVW5zZWVuLFxuICBUcmFzaCxcbiAgVmVydERvdHMsXG4gIFdhcm5pbmdTaWduLFxuICBSZXNldCxcbiAgWm9vbUluXG59IGZyb20gJy4uLy4uL2NvbW1vbi9pY29ucyc7XG5cbmltcG9ydCB7SW5saW5lSW5wdXQsIFN0eWxlZFBhbmVsSGVhZGVyfSBmcm9tICcuLi8uLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge2RhdGFUZXN0SWRzfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge1JHQkNvbG9yfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7QmFzZVByb3BzfSBmcm9tICcuLi8uLi9jb21tb24vaWNvbnMnO1xuXG5leHBvcnQgdHlwZSBMYXllckxhYmVsRWRpdG9yUHJvcHMgPSB7XG4gIGxheWVySWQ6IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIG9uRWRpdDogQ2hhbmdlRXZlbnRIYW5kbGVyO1xuICBvbkZvY3VzOiBDaGFuZ2VFdmVudEhhbmRsZXI7XG4gIG9uQmx1cjogQ2hhbmdlRXZlbnRIYW5kbGVyO1xufTtcblxuZXhwb3J0IHR5cGUgTGF5ZXJUaXRsZVNlY3Rpb25Qcm9wcyA9IHtcbiAgbGF5ZXJUeXBlPzogc3RyaW5nIHwgbnVsbDtcbiAgbGF5ZXJJZDogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbiAgb25VcGRhdGVMYXllckxhYmVsOiBDaGFuZ2VFdmVudEhhbmRsZXI7XG4gIG9uRm9jdXM6IENoYW5nZUV2ZW50SGFuZGxlcjtcbiAgb25CbHVyOiBDaGFuZ2VFdmVudEhhbmRsZXI7XG59O1xuXG5leHBvcnQgdHlwZSBMYXllclBhbmVsSGVhZGVyUHJvcHMgPSB7XG4gIGxheWVySWQ6IHN0cmluZztcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBpc1ZhbGlkOiBib29sZWFuO1xuICBvblRvZ2dsZVZpc2liaWxpdHk6IE1vdXNlRXZlbnRIYW5kbGVyO1xuICBvblVwZGF0ZUxheWVyTGFiZWw6IENoYW5nZUV2ZW50SGFuZGxlcjtcbiAgb25Ub2dnbGVFbmFibGVDb25maWc6IE1vdXNlRXZlbnRIYW5kbGVyO1xuICBvblJlbW92ZUxheWVyOiBNb3VzZUV2ZW50SGFuZGxlcjtcbiAgb25ab29tVG9MYXllcjogTW91c2VFdmVudEhhbmRsZXI7XG4gIG9uRHVwbGljYXRlTGF5ZXI6IE1vdXNlRXZlbnRIYW5kbGVyO1xuICBvblJlc2V0SXNWYWxpZDogTW91c2VFdmVudEhhbmRsZXI7XG4gIGlzQ29uZmlnQWN0aXZlOiBib29sZWFuO1xuICBzaG93UmVtb3ZlTGF5ZXI/OiBib29sZWFuO1xuICBsYWJlbD86IHN0cmluZztcbiAgbGF5ZXJUeXBlPzogc3RyaW5nIHwgbnVsbDtcbiAgYWxsb3dEdXBsaWNhdGU/OiBib29sZWFuO1xuICBpc0RyYWdORHJvcEVuYWJsZWQ/OiBib29sZWFuO1xuICB3YXJuaW5nPzogUmVhY3QuUmVhY3ROb2RlO1xuICBsYWJlbFJDR0NvbG9yVmFsdWVzPzogUkdCQ29sb3IgfCBudWxsO1xuICBhY3Rpb25JY29ucz86IHtcbiAgICByZW1vdmU6IENvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgICB2aXNpYmxlOiBDb21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gICAgaGlkZGVuOiBDb21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gICAgZW5hYmxlQ29uZmlnOiBDb21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gICAgZGlzYWJsZUNvbmZpZz86IENvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgICByZXNldElzVmFsaWQ6IENvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgICBkdXBsaWNhdGU6IENvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgICBjcm9zc2hhaXJzOiBDb21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gIH07XG4gIGxpc3RlbmVycz86IFJlYWN0LkVsZW1lbnRUeXBlO1xufTtcblxudHlwZSBIZWFkZXJBY3Rpb25TZWN0aW9uUHJvcHMgPSB7XG4gIGlzRWRpdGluZ0xhYmVsOiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25Qcm9wcyA9IExheWVyUGFuZWxIZWFkZXJQcm9wcyAmIEhlYWRlckFjdGlvblNlY3Rpb25Qcm9wcztcblxuY29uc3QgZ2V0Qm9yZGVyQ3NzID0gc3RhdHVzID0+IGNzc2BcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICR7KHt0aGVtZX0pID0+IHRoZW1lLm5vdGlmaWNhdGlvbkNvbG9yc1tzdGF0dXNdfTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR7KHt0aGVtZX0pID0+IHRoZW1lLm5vdGlmaWNhdGlvbkNvbG9yc1tzdGF0dXNdfTtcbiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJHsoe3RoZW1lfSkgPT4gdGhlbWUubm90aWZpY2F0aW9uQ29sb3JzW3N0YXR1c119O1xuYDtcblxuY29uc3QgU3R5bGVkTGF5ZXJQYW5lbEhlYWRlciA9IHN0eWxlZChTdHlsZWRQYW5lbEhlYWRlcilgXG4gIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllclBhbmVsSGVhZGVySGVpZ2h0fXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gIC5sYXllcl9fcmVtb3ZlLWxheWVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgLmxheWVyX19kcmFnLWhhbmRsZV9fcGxhY2Vob2xkZXIge1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICB9XG5cbiAgJHtwcm9wcyA9PiAocHJvcHMud2FybmluZyA/IGdldEJvcmRlckNzcygnd2FybmluZycpIDogcHJvcHMuaXNWYWxpZCA/ICcnIDogZ2V0Qm9yZGVyQ3NzKCdlcnJvcicpKX1cblxuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG5cbiAgICAubGF5ZXJfX2RyYWctaGFuZGxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLmxheWVyX19yZW1vdmUtbGF5ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IEhlYWRlckxhYmVsU2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gIGZsZXgtZ3JvdzogMTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIC8vIGxlYXZlIHNwYWNlIGZvciBleWUgYW5kIGNvbGxhcHNlIGljb25cbiAgcGFkZGluZy1yaWdodDogNTBweDtcbmA7XG5cbmNvbnN0IEhlYWRlckFjdGlvblNlY3Rpb24gPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe3Nob3VsZEZvcndhcmRQcm9wfSk8SGVhZGVyQWN0aW9uU2VjdGlvblByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICByaWdodDogMTBweDtcbiAgcG9pbnRlci1ldmVudHM6ICR7cHJvcHMgPT4gKHByb3BzLmlzRWRpdGluZ0xhYmVsID8gJ25vbmUnIDogJ2FsbCcpfTtcbiAgJjpob3ZlciB7XG4gICAgLmxheWVyLXBhbmVsX19oZWFkZXJfX2FjdGlvbnNfX2hpZGRlbiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gICAgfVxuICB9XG5gO1xuXG50eXBlIFN0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9uc1Byb3BzID0ge1xuICBpc0NvbmZpZ0FjdGl2ZTogTGF5ZXJQYW5lbEhlYWRlclByb3BzWydpc0NvbmZpZ0FjdGl2ZSddO1xufTtcblxuLy8gSGlkZW4gYWN0aW9ucyBvbmx5IHNob3cgdXAgb24gaG92ZXJcbmNvbnN0IFN0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9ucyA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KS5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2xheWVyLXBhbmVsX19oZWFkZXJfX2FjdGlvbnNfX2hpZGRlbidcbn0pPFN0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9uc1Byb3BzPmBcbiAgb3BhY2l0eTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmlzQ29uZmlnQWN0aXZlID8gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXIgOiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmR9O1xuICB0cmFuc2l0aW9uOlxuICAgIG9wYWNpdHkgMC40cyBlYXNlLFxuICAgIGJhY2tncm91bmQtY29sb3IgMC40cyBlYXNlO1xuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZERyYWdIYW5kbGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuXG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogbW92ZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IERyYWdIYW5kbGU6IFJlYWN0LkZDPHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBsaXN0ZW5lcnM/OiBhbnk7XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xufT4gPSAoe2NsYXNzTmFtZSwgbGlzdGVuZXJzLCBjaGlsZHJlbn0pID0+IChcbiAgPFN0eWxlZERyYWdIYW5kbGUgY2xhc3NOYW1lPXtjbGFzc05hbWV9IHsuLi4obGlzdGVuZXJzID8gbGlzdGVuZXJzIDoge30pfT5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3R5bGVkRHJhZ0hhbmRsZT5cbik7XG5cbmNvbnN0IG5vT3AgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG59O1xuXG5leHBvcnQgY29uc3QgTGF5ZXJMYWJlbEVkaXRvcjogUmVhY3QuRkM8TGF5ZXJMYWJlbEVkaXRvclByb3BzPiA9ICh7XG4gIGxheWVySWQsXG4gIGxhYmVsLFxuICBvbkVkaXQsXG4gIG9uRm9jdXMsXG4gIG9uQmx1clxufSkgPT4gKFxuICA8SW5saW5lSW5wdXRcbiAgICB0eXBlPVwidGV4dFwiXG4gICAgY2xhc3NOYW1lPVwibGF5ZXJfX3RpdGxlX19lZGl0b3JcIlxuICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkcy5sYXllclRpdGxlRWRpdG9yfVxuICAgIHZhbHVlPXtsYWJlbH1cbiAgICBvbkNsaWNrPXtub09wfVxuICAgIG9uQ2hhbmdlPXtvbkVkaXR9XG4gICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICBvbkJsdXI9e29uQmx1cn1cbiAgICBpZD17YCR7bGF5ZXJJZH06aW5wdXQtbGF5ZXItbGFiZWxgfVxuICAvPlxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIExheWVyVGl0bGVTZWN0aW9uRmFjdG9yeSgpIHtcbiAgY29uc3QgU3R5bGVkTGF5ZXJUaXRsZVNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAubGF5ZXJfX3RpdGxlX19pbm5lciB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuXG4gICAgLmxheWVyX190aXRsZV9fdHlwZSB7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3J9O1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4zN3B4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgfVxuICBgO1xuICBjb25zdCBMYXllclRpdGxlU2VjdGlvbjogUmVhY3QuRkM8TGF5ZXJUaXRsZVNlY3Rpb25Qcm9wcz4gPSAoe1xuICAgIGxheWVyVHlwZSxcbiAgICBsYXllcklkLFxuICAgIGxhYmVsLFxuICAgIG9uVXBkYXRlTGF5ZXJMYWJlbCxcbiAgICBvbkZvY3VzLFxuICAgIG9uQmx1clxuICB9KSA9PiAoXG4gICAgPFN0eWxlZExheWVyVGl0bGVTZWN0aW9uIGNsYXNzTmFtZT1cImxheWVyX190aXRsZVwiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPExheWVyTGFiZWxFZGl0b3JcbiAgICAgICAgICBsYXllcklkPXtsYXllcklkfVxuICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgICBvbkVkaXQ9e29uVXBkYXRlTGF5ZXJMYWJlbH1cbiAgICAgICAgICBvbkZvY3VzPXtvbkZvY3VzfVxuICAgICAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgICAvPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxheWVyX190aXRsZV9fdHlwZVwiPlxuICAgICAgICAgIHtsYXllclR5cGUgJiYgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9e2BsYXllci50eXBlLiR7bGF5ZXJUeXBlLnRvTG93ZXJDYXNlKCl9YH0gLz59XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9TdHlsZWRMYXllclRpdGxlU2VjdGlvbj5cbiAgKTtcbiAgcmV0dXJuIExheWVyVGl0bGVTZWN0aW9uO1xufVxuXG5MYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3RvcnkuZGVwcyA9IFtQYW5lbEhlYWRlckFjdGlvbkZhY3RvcnldO1xuXG5leHBvcnQgZnVuY3Rpb24gTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25GYWN0b3J5KFxuICBQYW5lbEhlYWRlckFjdGlvbjogUmV0dXJuVHlwZTx0eXBlb2YgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5PlxuKSB7XG4gIGNvbnN0IExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uOiBSZWFjdC5GQzxMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvblByb3BzPiA9IChcbiAgICBwcm9wczogTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25Qcm9wc1xuICApID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBpc0NvbmZpZ0FjdGl2ZSxcbiAgICAgIGFsbG93RHVwbGljYXRlLFxuICAgICAgaXNWaXNpYmxlLFxuICAgICAgaXNWYWxpZCxcbiAgICAgIGxheWVySWQsXG4gICAgICBvblRvZ2dsZVZpc2liaWxpdHksXG4gICAgICBvblJlc2V0SXNWYWxpZCxcbiAgICAgIG9uVG9nZ2xlRW5hYmxlQ29uZmlnLFxuICAgICAgb25EdXBsaWNhdGVMYXllcixcbiAgICAgIG9uUmVtb3ZlTGF5ZXIsXG4gICAgICBvblpvb21Ub0xheWVyLFxuICAgICAgc2hvd1JlbW92ZUxheWVyID0gdHJ1ZSxcbiAgICAgIGlzRWRpdGluZ0xhYmVsLFxuICAgICAgYWN0aW9uSWNvbnM6IGN1c3RvbUFjdGlvbkljb25zXG4gICAgfSA9IHByb3BzO1xuICAgIC8vIE1lcmdlIGN1c3RvbSBhY3Rpb25JY29ucyB3aXRoIGRlZmF1bHRzIHRvIGF2b2lkIGJyZWFraW5nIGNoYW5nZXNcbiAgICBjb25zdCBhY3Rpb25JY29ucyA9IHsuLi5kZWZhdWx0QWN0aW9uSWNvbnMsIC4uLmN1c3RvbUFjdGlvbkljb25zfTtcbiAgICByZXR1cm4gKFxuICAgICAgPEhlYWRlckFjdGlvblNlY3Rpb24gY2xhc3NOYW1lPVwibGF5ZXItcGFuZWxfX2hlYWRlcl9fYWN0aW9uc1wiIGlzRWRpdGluZ0xhYmVsPXtpc0VkaXRpbmdMYWJlbH0+XG4gICAgICAgIDxTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnMgaXNDb25maWdBY3RpdmU9e2lzQ29uZmlnQWN0aXZlfT5cbiAgICAgICAgICB7c2hvd1JlbW92ZUxheWVyID8gKFxuICAgICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyX19yZW1vdmUtbGF5ZXJcIlxuICAgICAgICAgICAgICB0ZXN0SWQ9XCJyZW1vdmUtbGF5ZXItYWN0aW9uXCJcbiAgICAgICAgICAgICAgaWQ9e2xheWVySWR9XG4gICAgICAgICAgICAgIHRvb2x0aXA9eyd0b29sdGlwLnJlbW92ZUxheWVyJ31cbiAgICAgICAgICAgICAgb25DbGljaz17b25SZW1vdmVMYXllcn1cbiAgICAgICAgICAgICAgdG9vbHRpcFR5cGU9XCJlcnJvclwiXG4gICAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2FjdGlvbkljb25zLnJlbW92ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJsYXllcl9fZHVwbGljYXRlXCJcbiAgICAgICAgICAgIGlkPXtsYXllcklkfVxuICAgICAgICAgICAgdG9vbHRpcD17J3Rvb2x0aXAuZHVwbGljYXRlTGF5ZXInfVxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGVMYXllcn1cbiAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2FjdGlvbkljb25zLmR1cGxpY2F0ZX1cbiAgICAgICAgICAgIGRpc2FibGVkPXshYWxsb3dEdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyX196b29tLXRvLWxheWVyXCJcbiAgICAgICAgICAgIGlkPXtsYXllcklkfVxuICAgICAgICAgICAgdG9vbHRpcD17J3Rvb2x0aXAuem9vbVRvTGF5ZXInfVxuICAgICAgICAgICAgb25DbGljaz17b25ab29tVG9MYXllcn1cbiAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2FjdGlvbkljb25zLmNyb3NzaGFpcnN9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnM+XG4gICAgICAgIHtpc1ZhbGlkID8gKFxuICAgICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXJfX3Zpc2liaWxpdHktdG9nZ2xlXCJcbiAgICAgICAgICAgIGlkPXtsYXllcklkfVxuICAgICAgICAgICAgdG9vbHRpcD17aXNWaXNpYmxlID8gJ3Rvb2x0aXAuaGlkZUxheWVyJyA6ICd0b29sdGlwLnNob3dMYXllcid9XG4gICAgICAgICAgICBvbkNsaWNrPXtvblRvZ2dsZVZpc2liaWxpdHl9XG4gICAgICAgICAgICBJY29uQ29tcG9uZW50PXtpc1Zpc2libGUgPyBhY3Rpb25JY29ucy52aXNpYmxlIDogYWN0aW9uSWNvbnMuaGlkZGVufVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJsYXllcl9faXMtdmFsaWQtcmVmcmVzaFwiXG4gICAgICAgICAgICBpZD17bGF5ZXJJZH1cbiAgICAgICAgICAgIHRvb2x0aXA9eyd0b29sdGlwLnJlc2V0QWZ0ZXJFcnJvcid9XG4gICAgICAgICAgICBvbkNsaWNrPXtvblJlc2V0SXNWYWxpZH1cbiAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2FjdGlvbkljb25zLnJlc2V0SXNWYWxpZH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuXG4gICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnbGF5ZXJfX2VuYWJsZS1jb25maWcgJywge1xuICAgICAgICAgICAgJ2lzLW9wZW4nOiBpc0NvbmZpZ0FjdGl2ZVxuICAgICAgICAgIH0pfVxuICAgICAgICAgIGlkPXtsYXllcklkfVxuICAgICAgICAgIHRvb2x0aXA9eyd0b29sdGlwLmxheWVyU2V0dGluZ3MnfVxuICAgICAgICAgIG9uQ2xpY2s9e29uVG9nZ2xlRW5hYmxlQ29uZmlnfVxuICAgICAgICAgIEljb25Db21wb25lbnQ9e1xuICAgICAgICAgICAgaXNDb25maWdBY3RpdmVcbiAgICAgICAgICAgICAgPyBhY3Rpb25JY29ucy5kaXNhYmxlQ29uZmlnIHx8IGFjdGlvbkljb25zLmVuYWJsZUNvbmZpZ1xuICAgICAgICAgICAgICA6IGFjdGlvbkljb25zLmVuYWJsZUNvbmZpZ1xuICAgICAgICAgIH1cbiAgICAgICAgLz5cbiAgICAgIDwvSGVhZGVyQWN0aW9uU2VjdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbjtcbn1cblxuY29uc3QgU3R5bGVkSGVhZGVyV2FyaW5nID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTlweDtcbiAgdG9wOiBjYWxjKDUwJSAtIDlweCk7XG4gIGNvbG9yOiAkeyh7dGhlbWV9KSA9PiB0aGVtZS5ub3RpZmljYXRpb25Db2xvcnMud2FybmluZ307XG5gO1xuXG5leHBvcnQgY29uc3QgSGVhZGVyV2FybmluZyA9ICh7d2FybmluZywgaWR9KSA9PiAoXG4gIDxTdHlsZWRIZWFkZXJXYXJpbmc+XG4gICAgPFdhcm5pbmdTaWduIGRhdGEtdGlwIGRhdGEtZm9yPXtgbGF5ZXItJHtpZH0td2FybmluZ2B9IGhlaWdodD1cIjE2cHhcIiAvPlxuICAgIDxUb29sdGlwIGlkPXtgbGF5ZXItJHtpZH0td2FybmluZ2B9IHR5cGU9XCJ3YXJuaW5nXCIgZWZmZWN0PVwic29saWRcIiB0ZXh0Q29sb3I9XCJibGFja1wiPlxuICAgICAge3dhcm5pbmd9XG4gICAgPC9Ub29sdGlwPlxuICA8L1N0eWxlZEhlYWRlcldhcmluZz5cbik7XG5cbmNvbnN0IFJvdGF0ZWRJY29uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG5gO1xuXG5jb25zdCBkZWZhdWx0QWN0aW9uSWNvbnMgPSB7XG4gIHJlbW92ZTogcHJvcHMgPT4gPFRyYXNoIHsuLi5wcm9wc30gaGVpZ2h0PVwiMTZweFwiIC8+LFxuICB2aXNpYmxlOiBwcm9wcyA9PiA8RXllU2VlbiB7Li4ucHJvcHN9IGhlaWdodD1cIjE2cHhcIiAvPixcbiAgaGlkZGVuOiBwcm9wcyA9PiA8RXllVW5zZWVuIHsuLi5wcm9wc30gaGVpZ2h0PVwiMTZweFwiIC8+LFxuICBlbmFibGVDb25maWc6IHByb3BzID0+IDxBcnJvd0Rvd24gey4uLnByb3BzfSBoZWlnaHQ9XCIxOHB4XCIgLz4sXG4gIGRpc2FibGVDb25maWc6IHByb3BzID0+IChcbiAgICA8Um90YXRlZEljb24+XG4gICAgICA8QXJyb3dEb3duIHsuLi5wcm9wc30gaGVpZ2h0PVwiMThweFwiIC8+XG4gICAgPC9Sb3RhdGVkSWNvbj5cbiAgKSxcbiAgZHVwbGljYXRlOiBwcm9wcyA9PiA8Q29weSB7Li4ucHJvcHN9IGhlaWdodD1cIjE0cHhcIiAvPixcbiAgcmVzZXRJc1ZhbGlkOiBSZXNldCxcbiAgY3Jvc3NoYWlyczogcHJvcHMgPT4gPFpvb21JbiB7Li4ucHJvcHN9IGhlaWdodD1cIjE0cHhcIiAvPlxufTtcblxuTGF5ZXJQYW5lbEhlYWRlckZhY3RvcnkuZGVwcyA9IFtMYXllclRpdGxlU2VjdGlvbkZhY3RvcnksIExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uRmFjdG9yeV07XG5cbmZ1bmN0aW9uIExheWVyUGFuZWxIZWFkZXJGYWN0b3J5KFxuICBMYXllclRpdGxlU2VjdGlvbjogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJUaXRsZVNlY3Rpb25GYWN0b3J5PixcbiAgTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb246IFJldHVyblR5cGU8dHlwZW9mIExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uRmFjdG9yeT5cbikge1xuICBjb25zdCBMYXllclBhbmVsSGVhZGVyOiBSZWFjdC5GQzxMYXllclBhbmVsSGVhZGVyUHJvcHM+ID0gcHJvcHMgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGlzQ29uZmlnQWN0aXZlLFxuICAgICAgaXNEcmFnTkRyb3BFbmFibGVkID0gdHJ1ZSxcbiAgICAgIGlzVmFsaWQsXG4gICAgICB3YXJuaW5nLFxuICAgICAgbGFiZWwsXG4gICAgICBsYXllcklkLFxuICAgICAgbGF5ZXJUeXBlLFxuICAgICAgbGFiZWxSQ0dDb2xvclZhbHVlcyxcbiAgICAgIG9uVXBkYXRlTGF5ZXJMYWJlbCxcbiAgICAgIG9uVG9nZ2xlRW5hYmxlQ29uZmlnLFxuICAgICAgbGlzdGVuZXJzXG4gICAgfSA9IHByb3BzO1xuICAgIGNvbnN0IFtpc0VkaXRpbmdMYWJlbCwgc2V0SXNFZGl0aW5nTGFiZWxdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkTGF5ZXJQYW5lbEhlYWRlclxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2xheWVyLXBhbmVsX19oZWFkZXInLCB7XG4gICAgICAgICAgJ3NvcnQtLWhhbmRsZSc6ICFpc0NvbmZpZ0FjdGl2ZVxuICAgICAgICB9KX1cbiAgICAgICAgaXNWYWxpZD17aXNWYWxpZH1cbiAgICAgICAgd2FybmluZz17Qm9vbGVhbih3YXJuaW5nKX1cbiAgICAgICAgJGFjdGl2ZT17aXNDb25maWdBY3RpdmV9XG4gICAgICAgIGxhYmVsUkNHQ29sb3JWYWx1ZXM9e2xhYmVsUkNHQ29sb3JWYWx1ZXN9XG4gICAgICAgIG9uQ2xpY2s9e29uVG9nZ2xlRW5hYmxlQ29uZmlnfVxuICAgICAgPlxuICAgICAgICB7d2FybmluZyA/IDxIZWFkZXJXYXJuaW5nIHdhcm5pbmc9e3dhcm5pbmd9IGlkPXtsYXllcklkfSAvPiA6IG51bGx9XG4gICAgICAgIDxIZWFkZXJMYWJlbFNlY3Rpb24gY2xhc3NOYW1lPVwibGF5ZXItcGFuZWxfX2hlYWRlcl9fY29udGVudFwiPlxuICAgICAgICAgIHtpc0RyYWdORHJvcEVuYWJsZWQgPyAoXG4gICAgICAgICAgICA8RHJhZ0hhbmRsZSBjbGFzc05hbWU9XCJsYXllcl9fZHJhZy1oYW5kbGVcIiBsaXN0ZW5lcnM9e2xpc3RlbmVyc30+XG4gICAgICAgICAgICAgIDxWZXJ0RG90cyBoZWlnaHQ9XCIyMHB4XCIgLz5cbiAgICAgICAgICAgIDwvRHJhZ0hhbmRsZT5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYXllcl9fZHJhZy1oYW5kbGVfX3BsYWNlaG9sZGVyXCIgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxMYXllclRpdGxlU2VjdGlvblxuICAgICAgICAgICAgbGF5ZXJJZD17bGF5ZXJJZH1cbiAgICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgICAgIG9uVXBkYXRlTGF5ZXJMYWJlbD17b25VcGRhdGVMYXllckxhYmVsfVxuICAgICAgICAgICAgbGF5ZXJUeXBlPXtsYXllclR5cGV9XG4gICAgICAgICAgICBvbkZvY3VzPXsoKSA9PiB7XG4gICAgICAgICAgICAgIHNldElzRWRpdGluZ0xhYmVsKHRydWUpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uQmx1cj17KCkgPT4ge1xuICAgICAgICAgICAgICBzZXRJc0VkaXRpbmdMYWJlbChmYWxzZSk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvSGVhZGVyTGFiZWxTZWN0aW9uPlxuICAgICAgICA8TGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb24gey4uLnByb3BzfSBpc0VkaXRpbmdMYWJlbD17aXNFZGl0aW5nTGFiZWx9IC8+XG4gICAgICA8L1N0eWxlZExheWVyUGFuZWxIZWFkZXI+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gTGF5ZXJQYW5lbEhlYWRlcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTGF5ZXJQYW5lbEhlYWRlckZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQU9BLElBQUFDLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLGlCQUFBLEdBQUFKLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxrQkFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFB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
|
|
@@ -2,7 +2,7 @@ import React, { CSSProperties, MouseEventHandler, TouchEventHandler } from 'reac
|
|
|
2
2
|
import { ActionHandler, MapStateActions, VisStateActions, toggleModal } from '@kepler.gl/actions';
|
|
3
3
|
import { Layer } from '@kepler.gl/layers';
|
|
4
4
|
import { Datasets } from '@kepler.gl/table';
|
|
5
|
-
import { SplitMap } from '@kepler.gl/types';
|
|
5
|
+
import { MapState, SplitMap } from '@kepler.gl/types';
|
|
6
6
|
import LayerConfiguratorFactory from './layer-configurator';
|
|
7
7
|
import LayerPanelHeaderFactory from './layer-panel-header';
|
|
8
8
|
type LayerPanelProps = {
|
|
@@ -20,6 +20,7 @@ type LayerPanelProps = {
|
|
|
20
20
|
}[];
|
|
21
21
|
isDraggable?: boolean;
|
|
22
22
|
idx: number;
|
|
23
|
+
mapState?: MapState;
|
|
23
24
|
openModal: ActionHandler<typeof toggleModal>;
|
|
24
25
|
layerColorUIChange: ActionHandler<typeof VisStateActions.layerColorUIChange>;
|
|
25
26
|
layerConfigChange: ActionHandler<typeof VisStateActions.layerConfigChange>;
|