UNPKG

kepler.gl

Version:

kepler.gl is a webgl based application to visualize large scale location data in the browser

84 lines (82 loc) 15.3 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral")); var _react = _interopRequireWildcard(require("react")); var _styledComponents = _interopRequireDefault(require("styled-components")); var _sourceDataCatalog = _interopRequireDefault(require("../common/source-data-catalog")); var _layerList = _interopRequireDefault(require("./layer-list")); var _utils = require("@kepler.gl/utils"); var _excluded = ["rasterTile"], _excluded2 = ["wms"]; var _templateObject; // SPDX-License-Identifier: MIT // Copyright contributors to the kepler.gl project function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } 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; } var DatasetLayerSectionWrapper = _styledComponents["default"].div.attrs({ className: 'dataset-layer-section' })(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 16px;\n"]))); DatasetLayerSectionFactory.deps = [_sourceDataCatalog["default"], _layerList["default"]]; function DatasetLayerSectionFactory(SourceDataCatalog, LayerList) { var DatasetLayerSection = function DatasetLayerSection(props) { var dataset = props.dataset, datasets = props.datasets, showDatasetTable = props.showDatasetTable, layers = props.layers, updateTableColor = props.updateTableColor, showDeleteDataset = props.showDeleteDataset, removeDataset = props.removeDataset, layerOrder = props.layerOrder, layerClasses = props.layerClasses, uiStateActions = props.uiStateActions, visStateActions = props.visStateActions, mapStateActions = props.mapStateActions; var datasetCatalog = (0, _react.useMemo)(function () { return (0, _defineProperty2["default"])({}, dataset.id, dataset); }, [dataset]); // temp patch to hide layers that are in development var enableRasterTileLayer = (0, _utils.getApplicationConfig)().enableRasterTileLayer; var enableWMSLayer = (0, _utils.getApplicationConfig)().enableWMSLayer; var filteredLayerClasses = (0, _react.useMemo)(function () { var filteredClasses = layerClasses; if (!enableRasterTileLayer) { var _filteredClasses = filteredClasses, _rasterTile = _filteredClasses.rasterTile, rest = (0, _objectWithoutProperties2["default"])(_filteredClasses, _excluded); filteredClasses = rest; } if (!enableWMSLayer) { var _filteredClasses2 = filteredClasses, _wms = _filteredClasses2.wms, _rest = (0, _objectWithoutProperties2["default"])(_filteredClasses2, _excluded2); filteredClasses = _rest; } return filteredClasses; }, [enableRasterTileLayer, enableWMSLayer, layerClasses]); return /*#__PURE__*/_react["default"].createElement(DatasetLayerSectionWrapper, null, /*#__PURE__*/_react["default"].createElement(SourceDataCatalog, { datasets: datasetCatalog, showDatasetTable: showDatasetTable, updateTableColor: updateTableColor, removeDataset: removeDataset, showDeleteDataset: showDeleteDataset }), /*#__PURE__*/_react["default"].createElement(LayerList, { datasets: datasets, layerOrder: layerOrder, layers: layers, layerClasses: filteredLayerClasses, uiStateActions: uiStateActions, visStateActions: visStateActions, mapStateActions: mapStateActions, isSortable: false })); }; return DatasetLayerSection; } var _default = exports["default"] = DatasetLayerSectionFactory; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfc291cmNlRGF0YUNhdGFsb2ciLCJfbGF5ZXJMaXN0IiwiX3V0aWxzIiwiX2V4Y2x1ZGVkIiwiX2V4Y2x1ZGVkMiIsIl90ZW1wbGF0ZU9iamVjdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIkRhdGFzZXRMYXllclNlY3Rpb25XcmFwcGVyIiwic3R5bGVkIiwiZGl2IiwiYXR0cnMiLCJjbGFzc05hbWUiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIkRhdGFzZXRMYXllclNlY3Rpb25GYWN0b3J5IiwiZGVwcyIsIlNvdXJjZURhdGFDYXRhbG9nRmFjdG9yeSIsIkxheWVyTGlzdEZhY3RvcnkiLCJTb3VyY2VEYXRhQ2F0YWxvZyIsIkxheWVyTGlzdCIsIkRhdGFzZXRMYXllclNlY3Rpb24iLCJwcm9wcyIsImRhdGFzZXQiLCJkYXRhc2V0cyIsInNob3dEYXRhc2V0VGFibGUiLCJsYXllcnMiLCJ1cGRhdGVUYWJsZUNvbG9yIiwic2hvd0RlbGV0ZURhdGFzZXQiLCJyZW1vdmVEYXRhc2V0IiwibGF5ZXJPcmRlciIsImxheWVyQ2xhc3NlcyIsInVpU3RhdGVBY3Rpb25zIiwidmlzU3RhdGVBY3Rpb25zIiwibWFwU3RhdGVBY3Rpb25zIiwiZGF0YXNldENhdGFsb2ciLCJ1c2VNZW1vIiwiX2RlZmluZVByb3BlcnR5MiIsImlkIiwiZW5hYmxlUmFzdGVyVGlsZUxheWVyIiwiZ2V0QXBwbGljYXRpb25Db25maWciLCJlbmFibGVXTVNMYXllciIsImZpbHRlcmVkTGF5ZXJDbGFzc2VzIiwiZmlsdGVyZWRDbGFzc2VzIiwiX2ZpbHRlcmVkQ2xhc3NlcyIsIl9yYXN0ZXJUaWxlIiwicmFzdGVyVGlsZSIsInJlc3QiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwiX2ZpbHRlcmVkQ2xhc3NlczIiLCJfd21zIiwid21zIiwiY3JlYXRlRWxlbWVudCIsImlzU29ydGFibGUiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2lkZS1wYW5lbC9sYXllci1wYW5lbC9kYXRhc2V0LWxheWVyLXNlY3Rpb24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQgU291cmNlRGF0YUNhdGFsb2dGYWN0b3J5IGZyb20gJy4uL2NvbW1vbi9zb3VyY2UtZGF0YS1jYXRhbG9nJztcbmltcG9ydCBMYXllckxpc3RGYWN0b3J5IGZyb20gJy4vbGF5ZXItbGlzdCc7XG5pbXBvcnQge0xheWVyLCBMYXllckNsYXNzZXNUeXBlfSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5pbXBvcnQge1VJU3RhdGVBY3Rpb25zLCBBY3Rpb25IYW5kbGVyLCBWaXNTdGF0ZUFjdGlvbnMsIE1hcFN0YXRlQWN0aW9uc30gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCB7S2VwbGVyVGFibGUsIERhdGFzZXRzfSBmcm9tICdAa2VwbGVyLmdsL3RhYmxlJztcbmltcG9ydCB7Z2V0QXBwbGljYXRpb25Db25maWd9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuXG50eXBlIERhdGFzZXRMYXllclNlY3Rpb25Qcm9wcyA9IHtcbiAgZGF0YXNldHM6IERhdGFzZXRzO1xuICBkYXRhc2V0OiBLZXBsZXJUYWJsZTtcbiAgbGF5ZXJzOiBMYXllcltdO1xuICBsYXllck9yZGVyOiBzdHJpbmdbXTtcbiAgbGF5ZXJDbGFzc2VzOiBMYXllckNsYXNzZXNUeXBlO1xuICBzaG93RGVsZXRlRGF0YXNldDogYm9vbGVhbjtcbiAgc2hvd0RhdGFzZXRUYWJsZTogQWN0aW9uSGFuZGxlcjx0eXBlb2YgVmlzU3RhdGVBY3Rpb25zLnNob3dEYXRhc2V0VGFibGU+O1xuICB1cGRhdGVUYWJsZUNvbG9yOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnMudXBkYXRlVGFibGVDb2xvcj47XG4gIHJlbW92ZURhdGFzZXQ6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIFVJU3RhdGVBY3Rpb25zLm9wZW5EZWxldGVNb2RhbD47XG4gIHVpU3RhdGVBY3Rpb25zOiB0eXBlb2YgVUlTdGF0ZUFjdGlvbnM7XG4gIHZpc1N0YXRlQWN0aW9uczogdHlwZW9mIFZpc1N0YXRlQWN0aW9ucztcbiAgbWFwU3RhdGVBY3Rpb25zOiB0eXBlb2YgTWFwU3RhdGVBY3Rpb25zO1xufTtcblxuY29uc3QgRGF0YXNldExheWVyU2VjdGlvbldyYXBwZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnZGF0YXNldC1sYXllci1zZWN0aW9uJ1xufSlgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG5gO1xuXG5EYXRhc2V0TGF5ZXJTZWN0aW9uRmFjdG9yeS5kZXBzID0gW1NvdXJjZURhdGFDYXRhbG9nRmFjdG9yeSwgTGF5ZXJMaXN0RmFjdG9yeV07XG5cbmZ1bmN0aW9uIERhdGFzZXRMYXllclNlY3Rpb25GYWN0b3J5KFxuICBTb3VyY2VEYXRhQ2F0YWxvZzogUmV0dXJuVHlwZTx0eXBlb2YgU291cmNlRGF0YUNhdGFsb2dGYWN0b3J5PixcbiAgTGF5ZXJMaXN0OiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllckxpc3RGYWN0b3J5PlxuKSB7XG4gIGNvbnN0IERhdGFzZXRMYXllclNlY3Rpb246IFJlYWN0LkZDPERhdGFzZXRMYXllclNlY3Rpb25Qcm9wcz4gPSBwcm9wcyA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgZGF0YXNldCxcbiAgICAgIGRhdGFzZXRzLFxuICAgICAgc2hvd0RhdGFzZXRUYWJsZSxcbiAgICAgIGxheWVycyxcbiAgICAgIHVwZGF0ZVRhYmxlQ29sb3IsXG4gICAgICBzaG93RGVsZXRlRGF0YXNldCxcbiAgICAgIHJlbW92ZURhdGFzZXQsXG4gICAgICBsYXllck9yZGVyLFxuICAgICAgbGF5ZXJDbGFzc2VzLFxuICAgICAgdWlTdGF0ZUFjdGlvbnMsXG4gICAgICB2aXNTdGF0ZUFjdGlvbnMsXG4gICAgICBtYXBTdGF0ZUFjdGlvbnNcbiAgICB9ID0gcHJvcHM7XG5cbiAgICBjb25zdCBkYXRhc2V0Q2F0YWxvZyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgcmV0dXJuIHtbZGF0YXNldC5pZF06IGRhdGFzZXR9O1xuICAgIH0sIFtkYXRhc2V0XSk7XG5cbiAgICAvLyB0ZW1wIHBhdGNoIHRvIGhpZGUgbGF5ZXJzIHRoYXQgYXJlIGluIGRldmVsb3BtZW50XG4gICAgY29uc3QgZW5hYmxlUmFzdGVyVGlsZUxheWVyID0gZ2V0QXBwbGljYXRpb25Db25maWcoKS5lbmFibGVSYXN0ZXJUaWxlTGF5ZXI7XG4gICAgY29uc3QgZW5hYmxlV01TTGF5ZXIgPSBnZXRBcHBsaWNhdGlvbkNvbmZpZygpLmVuYWJsZVdNU0xheWVyO1xuICAgIGNvbnN0IGZpbHRlcmVkTGF5ZXJDbGFzc2VzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBsZXQgZmlsdGVyZWRDbGFzc2VzID0gbGF5ZXJDbGFzc2VzO1xuICAgICAgaWYgKCFlbmFibGVSYXN0ZXJUaWxlTGF5ZXIpIHtcbiAgICAgICAgY29uc3Qge3Jhc3RlclRpbGU6IF9yYXN0ZXJUaWxlLCAuLi5yZXN0fSA9IGZpbHRlcmVkQ2xhc3NlcztcbiAgICAgICAgZmlsdGVyZWRDbGFzc2VzID0gcmVzdCBhcyBMYXllckNsYXNzZXNUeXBlO1xuICAgICAgfVxuICAgICAgaWYgKCFlbmFibGVXTVNMYXllcikge1xuICAgICAgICBjb25zdCB7d21zOiBfd21zLCAuLi5yZXN0fSA9IGZpbHRlcmVkQ2xhc3NlcztcbiAgICAgICAgZmlsdGVyZWRDbGFzc2VzID0gcmVzdCBhcyBMYXllckNsYXNzZXNUeXBlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZpbHRlcmVkQ2xhc3NlcyBhcyBMYXllckNsYXNzZXNUeXBlO1xuICAgIH0sIFtlbmFibGVSYXN0ZXJUaWxlTGF5ZXIsIGVuYWJsZVdNU0xheWVyLCBsYXllckNsYXNzZXNdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8RGF0YXNldExheWVyU2VjdGlvbldyYXBwZXI+XG4gICAgICAgIDxTb3VyY2VEYXRhQ2F0YWxvZ1xuICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0Q2F0YWxvZ31cbiAgICAgICAgICBzaG93RGF0YXNldFRhYmxlPXtzaG93RGF0YXNldFRhYmxlfVxuICAgICAgICAgIHVwZGF0ZVRhYmxlQ29sb3I9e3VwZGF0ZVRhYmxlQ29sb3J9XG4gICAgICAgICAgcmVtb3ZlRGF0YXNldD17cmVtb3ZlRGF0YXNldH1cbiAgICAgICAgICBzaG93RGVsZXRlRGF0YXNldD17c2hvd0RlbGV0ZURhdGFzZXR9XG4gICAgICAgIC8+XG4gICAgICAgIDxMYXllckxpc3RcbiAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgbGF5ZXJPcmRlcj17bGF5ZXJPcmRlcn1cbiAgICAgICAgICBsYXllcnM9e2xheWVyc31cbiAgICAgICAgICBsYXllckNsYXNzZXM9e2ZpbHRlcmVkTGF5ZXJDbGFzc2VzfVxuICAgICAgICAgIHVpU3RhdGVBY3Rpb25zPXt1aVN0YXRlQWN0aW9uc31cbiAgICAgICAgICB2aXNTdGF0ZUFjdGlvbnM9e3Zpc1N0YXRlQWN0aW9uc31cbiAgICAgICAgICBtYXBTdGF0ZUFjdGlvbnM9e21hcFN0YXRlQWN0aW9uc31cbiAgICAgICAgICBpc1NvcnRhYmxlPXtmYWxzZX1cbiAgICAgICAgLz5cbiAgICAgIDwvRGF0YXNldExheWVyU2VjdGlvbldyYXBwZXI+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gRGF0YXNldExheWVyU2VjdGlvbjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgRGF0YXNldExheWVyU2VjdGlvbkZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFHLGtCQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSxVQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFJQSxJQUFBSyxNQUFBLEdBQUFMLE9BQUE7QUFBc0QsSUFBQU0sU0FBQTtFQUFBQyxVQUFBO0FBQUEsSUFBQUMsZUFBQSxFQVh0RDtBQUNBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFYLHdCQUFBVyxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLE9BQUEsQ0FBQUwsQ0FBQSwwQkFBQUEsQ0FBQSxzQkFBQUEsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtBQUFDLFNBQUEsVUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxDQUFBLElBQUFkLENBQUEsb0JBQUFjLENBQUEsT0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFoQixDQUFBLEVBQUFjLENBQUEsU0FBQUcsQ0FBQSxHQUFBUCxDQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWIsQ0FBQSxFQUFBYyxDQUFBLFVBQUFHLENBQUEsS0FBQUEsQ0FBQSxDQUFBVixHQUFBLElBQUFVLENBQUEsQ0FBQUMsR0FBQSxJQUFBUCxNQUFBLENBQUFDLGNBQUEsQ0FBQUosQ0FBQSxFQUFBTSxDQUFBLEVBQUFHLENBQUEsSUFBQVQsQ0FBQSxDQUFBTSxDQUFBLElBQUFkLENBQUEsQ0FBQWMsQ0FBQSxZQUFBTixDQUFBLGNBQUFSLENBQUEsRUFBQUcsQ0FBQSxJQUFBQSxDQUFBLENBQUFlLEdBQUEsQ0FBQWxCLENBQUEsRUFBQVEsQ0FBQSxHQUFBQSxDQUFBO0FBMkJBLElBQU1XLDBCQUEwQixHQUFHQyw0QkFBTSxDQUFDQyxHQUFHLENBQUNDLEtBQUssQ0FBQztFQUNsREMsU0FBUyxFQUFFO0FBQ2IsQ0FBQyxDQUFDLENBQUF6QixlQUFBLEtBQUFBLGVBQUEsT0FBQTBCLHVCQUFBLDhDQUVEO0FBRURDLDBCQUEwQixDQUFDQyxJQUFJLEdBQUcsQ0FBQ0MsNkJBQXdCLEVBQUVDLHFCQUFnQixDQUFDO0FBRTlFLFNBQVNILDBCQUEwQkEsQ0FDakNJLGlCQUE4RCxFQUM5REMsU0FBOEMsRUFDOUM7RUFDQSxJQUFNQyxtQkFBdUQsR0FBRyxTQUExREEsbUJBQXVEQSxDQUFHQyxLQUFLLEVBQUk7SUFDdkUsSUFDRUMsT0FBTyxHQVlMRCxLQUFLLENBWlBDLE9BQU87TUFDUEMsUUFBUSxHQVdORixLQUFLLENBWFBFLFFBQVE7TUFDUkMsZ0JBQWdCLEdBVWRILEtBQUssQ0FWUEcsZ0JBQWdCO01BQ2hCQyxNQUFNLEdBU0pKLEtBQUssQ0FUUEksTUFBTTtNQUNOQyxnQkFBZ0IsR0FRZEwsS0FBSyxDQVJQSyxnQkFBZ0I7TUFDaEJDLGlCQUFpQixHQU9mTixLQUFLLENBUFBNLGlCQUFpQjtNQUNqQkMsYUFBYSxHQU1YUCxLQUFLLENBTlBPLGFBQWE7TUFDYkMsVUFBVSxHQUtSUixLQUFLLENBTFBRLFVBQVU7TUFDVkMsWUFBWSxHQUlWVCxLQUFLLENBSlBTLFlBQVk7TUFDWkMsY0FBYyxHQUdaVixLQUFLLENBSFBVLGNBQWM7TUFDZEMsZUFBZSxHQUViWCxLQUFLLENBRlBXLGVBQWU7TUFDZkMsZUFBZSxHQUNiWixLQUFLLENBRFBZLGVBQWU7SUFHakIsSUFBTUMsY0FBYyxHQUFHLElBQUFDLGNBQU8sRUFBQyxZQUFNO01BQ25DLFdBQUFDLGdCQUFBLGlCQUFTZCxPQUFPLENBQUNlLEVBQUUsRUFBR2YsT0FBTztJQUMvQixDQUFDLEVBQUUsQ0FBQ0EsT0FBTyxDQUFDLENBQUM7O0lBRWI7SUFDQSxJQUFNZ0IscUJBQXFCLEdBQUcsSUFBQUMsMkJBQW9CLEVBQUMsQ0FBQyxDQUFDRCxxQkFBcUI7SUFDMUUsSUFBTUUsY0FBYyxHQUFHLElBQUFELDJCQUFvQixFQUFDLENBQUMsQ0FBQ0MsY0FBYztJQUM1RCxJQUFNQyxvQkFBb0IsR0FBRyxJQUFBTixjQUFPLEVBQUMsWUFBTTtNQUN6QyxJQUFJTyxlQUFlLEdBQUdaLFlBQVk7TUFDbEMsSUFBSSxDQUFDUSxxQkFBcUIsRUFBRTtRQUMxQixJQUFBSyxnQkFBQSxHQUEyQ0QsZUFBZTtVQUF2Q0UsV0FBVyxHQUFBRCxnQkFBQSxDQUF2QkUsVUFBVTtVQUFrQkMsSUFBSSxPQUFBQyx5QkFBQSxhQUFBSixnQkFBQSxFQUFBMUQsU0FBQTtRQUN2Q3lELGVBQWUsR0FBR0ksSUFBd0I7TUFDNUM7TUFDQSxJQUFJLENBQUNOLGNBQWMsRUFBRTtRQUNuQixJQUFBUSxpQkFBQSxHQUE2Qk4sZUFBZTtVQUFoQ08sSUFBSSxHQUFBRCxpQkFBQSxDQUFURSxHQUFHO1VBQVdKLEtBQUksT0FBQUMseUJBQUEsYUFBQUMsaUJBQUEsRUFBQTlELFVBQUE7UUFDekJ3RCxlQUFlLEdBQUdJLEtBQXdCO01BQzVDO01BQ0EsT0FBT0osZUFBZTtJQUN4QixDQUFDLEVBQUUsQ0FBQ0oscUJBQXFCLEVBQUVFLGNBQWMsRUFBRVYsWUFBWSxDQUFDLENBQUM7SUFFekQsb0JBQ0VyRCxNQUFBLFlBQUEwRSxhQUFBLENBQUMzQywwQkFBMEIscUJBQ3pCL0IsTUFBQSxZQUFBMEUsYUFBQSxDQUFDakMsaUJBQWlCO01BQ2hCSyxRQUFRLEVBQUVXLGNBQWU7TUFDekJWLGdCQUFnQixFQUFFQSxnQkFBaUI7TUFDbkNFLGdCQUFnQixFQUFFQSxnQkFBaUI7TUFDbkNFLGFBQWEsRUFBRUEsYUFBYztNQUM3QkQsaUJBQWlCLEVBQUVBO0lBQWtCLENBQ3RDLENBQUMsZUFDRmxELE1BQUEsWUFBQTBFLGFBQUEsQ0FBQ2hDLFNBQVM7TUFDUkksUUFBUSxFQUFFQSxRQUFTO01BQ25CTSxVQUFVLEVBQUVBLFVBQVc7TUFDdkJKLE1BQU0sRUFBRUEsTUFBTztNQUNmSyxZQUFZLEVBQUVXLG9CQUFxQjtNQUNuQ1YsY0FBYyxFQUFFQSxjQUFlO01BQy9CQyxlQUFlLEVBQUVBLGVBQWdCO01BQ2pDQyxlQUFlLEVBQUVBLGVBQWdCO01BQ2pDbUIsVUFBVSxFQUFFO0lBQU0sQ0FDbkIsQ0FDeUIsQ0FBQztFQUVqQyxDQUFDO0VBRUQsT0FBT2hDLG1CQUFtQjtBQUM1QjtBQUFDLElBQUFpQyxRQUFBLEdBQUFDLE9BQUEsY0FFY3hDLDBCQUEwQiIsImlnbm9yZUxpc3QiOltdfQ==