kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
59 lines (58 loc) • 13.8 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.CloudItem = void 0;
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
var _moment = _interopRequireDefault(require("moment/moment"));
var _react = _interopRequireDefault(require("react"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _icons = require("../../common/icons");
var _templateObject; // SPDX-License-Identifier: MIT
// Copyright contributors to the kepler.gl project
var MapIcon = function MapIcon(props) {
return /*#__PURE__*/_react["default"].createElement("div", props, props.children, /*#__PURE__*/_react["default"].createElement(_icons.Base, {
height: "32px",
viewBox: '0 0 16 16'
}, /*#__PURE__*/_react["default"].createElement("path", {
fill: "#d3d8d6",
d: "m13.6 11.572-3.2 2.1336v-9.2776l3.2-2.1336zm-12-7.144 3.2-2.1336v9.2776l-3.2 2.1336zm13.244 8.2376c0.2224-0.148 0.356-0.3984 0.356-0.6656v-11.2c0-0.2952-0.1624-0.5664-0.4224-0.7048-0.26-0.14-0.576-0.1248-0.8216 0.0392l-4.3128 2.876-3.5432-2.8352c-0.1208-0.0936-0.2952-0.1624-0.472-0.1688-0.1648-0.0064-0.348 0.0464-0.472 0.128l-4.8 3.2c-0.2224 0.1488-0.356 0.3984-0.356 0.6656v11.2c0 0.2952 0.1624 0.5664 0.4224 0.7056 0.1184 0.0632 0.248 0.0944 0.3776 0.0944 0.1552 0 0.3096-0.0448 0.444-0.1344l4.3128-2.876 3.5432 2.8352c0.1448 0.116 0.3216 0.1752 0.5 0.1752 0.1184 0 0.236-0.0248 0.3464-0.0784z"
})));
};
var PrivacyBadge = function PrivacyBadge(_ref) {
var privateMap = _ref.privateMap;
return /*#__PURE__*/_react["default"].createElement("span", {
className: "vis_item-privacy"
}, privateMap ? 'Private' : 'Public');
};
var StyledVisualizationItem = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n flex: 0 0 auto;\n width: 208px;\n display: flex;\n flex-direction: column;\n padding: 16px 8px;\n color: #3a414c;\n cursor: pointer;\n font-size: 12px;\n line-height: 18px;\n border: 1px solid transparent;\n\n &:hover {\n .vis_item-icon,\n .vis_item-thumb,\n .vis_item-description,\n .vis_item-modification-date {\n opacity: 1;\n }\n border: 1px solid #bbbbbb;\n }\n\n .vis_item-icon,\n .vis_item-thumb,\n .vis_item-description,\n .vis_item-modification-date {\n opacity: 0.9;\n transition: opacity 0.4s ease;\n }\n\n .vis_item-icon {\n position: relative;\n flex: 0 0 108px;\n background-color: #6a7484;\n border-radius: 4px;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n }\n\n .vis_item-thumb {\n position: relative;\n flex: 0 0 108px;\n background-size: cover;\n background-position: center;\n border-radius: 4px;\n }\n\n .vis_item-privacy {\n position: absolute;\n top: 0;\n left: 0;\n padding: 3px 6px;\n border-radius: 4px 0;\n background-color: rgba(58, 65, 76, 0.7);\n color: #fff;\n font-size: 11px;\n line-height: 18px;\n }\n\n .vis_item-title {\n margin-top: 16px;\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .vis_item-description {\n flex: 1 1 auto;\n margin-top: 8px;\n }\n\n .vis_item-modification-date {\n margin-top: 16px;\n flex: 1 0 auto;\n color: #6a7484;\n line-height: 15px;\n }\n"])));
var CloudItem = exports.CloudItem = function CloudItem(_ref2) {
var _vis$description;
var vis = _ref2.vis,
onClick = _ref2.onClick;
var thumbnailStyle = {
backgroundImage: "url(".concat(vis.thumbnail, ")")
};
return /*#__PURE__*/_react["default"].createElement(StyledVisualizationItem, {
onClick: onClick
}, vis.thumbnail ? /*#__PURE__*/_react["default"].createElement("div", {
role: "thumbnail-wrapper",
className: "vis_item-thumb",
style: thumbnailStyle
}, Object.prototype.hasOwnProperty.call(vis, 'privateMap') ? /*#__PURE__*/_react["default"].createElement(PrivacyBadge, {
privateMap: vis.privateMap
}) : null) : /*#__PURE__*/_react["default"].createElement(MapIcon, {
role: "map-icon",
className: "vis_item-icon"
}, Object.prototype.hasOwnProperty.call(vis, 'privateMap') ? /*#__PURE__*/_react["default"].createElement(PrivacyBadge, {
privateMap: vis.privateMap
}) : null), /*#__PURE__*/_react["default"].createElement("span", {
className: "vis_item-title"
}, vis.title), ((_vis$description = vis.description) === null || _vis$description === void 0 ? void 0 : _vis$description.length) > 0 && /*#__PURE__*/_react["default"].createElement("span", {
className: "vis_item-description"
}, vis.description), /*#__PURE__*/_react["default"].createElement("span", {
className: "vis_item-modification-date"
}, "Last modified ", _moment["default"].utc(vis.updatedAt).fromNow()));
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbW9tZW50IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pY29ucyIsIl90ZW1wbGF0ZU9iamVjdCIsIk1hcEljb24iLCJwcm9wcyIsImNyZWF0ZUVsZW1lbnQiLCJjaGlsZHJlbiIsIkJhc2UiLCJoZWlnaHQiLCJ2aWV3Qm94IiwiZmlsbCIsImQiLCJQcml2YWN5QmFkZ2UiLCJfcmVmIiwicHJpdmF0ZU1hcCIsImNsYXNzTmFtZSIsIlN0eWxlZFZpc3VhbGl6YXRpb25JdGVtIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJDbG91ZEl0ZW0iLCJleHBvcnRzIiwiX3JlZjIiLCJfdmlzJGRlc2NyaXB0aW9uIiwidmlzIiwib25DbGljayIsInRodW1ibmFpbFN0eWxlIiwiYmFja2dyb3VuZEltYWdlIiwiY29uY2F0IiwidGh1bWJuYWlsIiwicm9sZSIsInN0eWxlIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsImxlbmd0aCIsIm1vbWVudCIsInV0YyIsInVwZGF0ZWRBdCIsImZyb21Ob3ciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kYWxzL2Nsb3VkLWNvbXBvbmVudHMvY2xvdWQtaXRlbS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQvbW9tZW50JztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7QmFzZX0gZnJvbSAnLi4vLi4vY29tbW9uL2ljb25zJztcblxuY29uc3QgTWFwSWNvbiA9IHByb3BzID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IHsuLi5wcm9wc30+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8QmFzZSBoZWlnaHQ9XCIzMnB4XCIgdmlld0JveD17JzAgMCAxNiAxNid9PlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGw9XCIjZDNkOGQ2XCJcbiAgICAgICAgICBkPVwibTEzLjYgMTEuNTcyLTMuMiAyLjEzMzZ2LTkuMjc3NmwzLjItMi4xMzM2em0tMTItNy4xNDQgMy4yLTIuMTMzNnY5LjI3NzZsLTMuMiAyLjEzMzZ6bTEzLjI0NCA4LjIzNzZjMC4yMjI0LTAuMTQ4IDAuMzU2LTAuMzk4NCAwLjM1Ni0wLjY2NTZ2LTExLjJjMC0wLjI5NTItMC4xNjI0LTAuNTY2NC0wLjQyMjQtMC43MDQ4LTAuMjYtMC4xNC0wLjU3Ni0wLjEyNDgtMC44MjE2IDAuMDM5MmwtNC4zMTI4IDIuODc2LTMuNTQzMi0yLjgzNTJjLTAuMTIwOC0wLjA5MzYtMC4yOTUyLTAuMTYyNC0wLjQ3Mi0wLjE2ODgtMC4xNjQ4LTAuMDA2NC0wLjM0OCAwLjA0NjQtMC40NzIgMC4xMjhsLTQuOCAzLjJjLTAuMjIyNCAwLjE0ODgtMC4zNTYgMC4zOTg0LTAuMzU2IDAuNjY1NnYxMS4yYzAgMC4yOTUyIDAuMTYyNCAwLjU2NjQgMC40MjI0IDAuNzA1NiAwLjExODQgMC4wNjMyIDAuMjQ4IDAuMDk0NCAwLjM3NzYgMC4wOTQ0IDAuMTU1MiAwIDAuMzA5Ni0wLjA0NDggMC40NDQtMC4xMzQ0bDQuMzEyOC0yLjg3NiAzLjU0MzIgMi44MzUyYzAuMTQ0OCAwLjExNiAwLjMyMTYgMC4xNzUyIDAuNSAwLjE3NTIgMC4xMTg0IDAgMC4yMzYtMC4wMjQ4IDAuMzQ2NC0wLjA3ODR6XCJcbiAgICAgICAgLz5cbiAgICAgIDwvQmFzZT5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmNvbnN0IFByaXZhY3lCYWRnZSA9ICh7cHJpdmF0ZU1hcH0pID0+IChcbiAgPHNwYW4gY2xhc3NOYW1lPVwidmlzX2l0ZW0tcHJpdmFjeVwiPntwcml2YXRlTWFwID8gJ1ByaXZhdGUnIDogJ1B1YmxpYyd9PC9zcGFuPlxuKTtcblxuY29uc3QgU3R5bGVkVmlzdWFsaXphdGlvbkl0ZW0gPSBzdHlsZWQuZGl2YFxuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IDIwOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAxNnB4IDhweDtcbiAgY29sb3I6ICMzYTQxNGM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgJjpob3ZlciB7XG4gICAgLnZpc19pdGVtLWljb24sXG4gICAgLnZpc19pdGVtLXRodW1iLFxuICAgIC52aXNfaXRlbS1kZXNjcmlwdGlvbixcbiAgICAudmlzX2l0ZW0tbW9kaWZpY2F0aW9uLWRhdGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2JiYmJiYjtcbiAgfVxuXG4gIC52aXNfaXRlbS1pY29uLFxuICAudmlzX2l0ZW0tdGh1bWIsXG4gIC52aXNfaXRlbS1kZXNjcmlwdGlvbixcbiAgLnZpc19pdGVtLW1vZGlmaWNhdGlvbi1kYXRlIHtcbiAgICBvcGFjaXR5OiAwLjk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2U7XG4gIH1cblxuICAudmlzX2l0ZW0taWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDAgMCAxMDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmE3NDg0O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC52aXNfaXRlbS10aHVtYiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDAgMCAxMDhweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIH1cblxuICAudmlzX2l0ZW0tcHJpdmFjeSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OCwgNjUsIDc2LCAwLjcpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgfVxuXG4gIC52aXNfaXRlbS10aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuXG4gIC52aXNfaXRlbS1kZXNjcmlwdGlvbiB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICB9XG5cbiAgLnZpc19pdGVtLW1vZGlmaWNhdGlvbi1kYXRlIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIGNvbG9yOiAjNmE3NDg0O1xuICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgQ2xvdWRJdGVtID0gKHt2aXMsIG9uQ2xpY2t9KSA9PiB7XG4gIGNvbnN0IHRodW1ibmFpbFN0eWxlID0ge2JhY2tncm91bmRJbWFnZTogYHVybCgke3Zpcy50aHVtYm5haWx9KWB9O1xuICByZXR1cm4gKFxuICAgIDxTdHlsZWRWaXN1YWxpemF0aW9uSXRlbSBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICAgIHt2aXMudGh1bWJuYWlsID8gKFxuICAgICAgICA8ZGl2IHJvbGU9XCJ0aHVtYm5haWwtd3JhcHBlclwiIGNsYXNzTmFtZT1cInZpc19pdGVtLXRodW1iXCIgc3R5bGU9e3RodW1ibmFpbFN0eWxlfT5cbiAgICAgICAgICB7T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZpcywgJ3ByaXZhdGVNYXAnKSA/IChcbiAgICAgICAgICAgIDxQcml2YWN5QmFkZ2UgcHJpdmF0ZU1hcD17dmlzLnByaXZhdGVNYXB9IC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IChcbiAgICAgICAgPE1hcEljb24gcm9sZT1cIm1hcC1pY29uXCIgY2xhc3NOYW1lPVwidmlzX2l0ZW0taWNvblwiPlxuICAgICAgICAgIHtPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmlzLCAncHJpdmF0ZU1hcCcpID8gKFxuICAgICAgICAgICAgPFByaXZhY3lCYWRnZSBwcml2YXRlTWFwPXt2aXMucHJpdmF0ZU1hcH0gLz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9NYXBJY29uPlxuICAgICAgKX1cbiAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInZpc19pdGVtLXRpdGxlXCI+e3Zpcy50aXRsZX08L3NwYW4+XG4gICAgICB7dmlzLmRlc2NyaXB0aW9uPy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidmlzX2l0ZW0tZGVzY3JpcHRpb25cIj57dmlzLmRlc2NyaXB0aW9ufTwvc3Bhbj5cbiAgICAgICl9XG4gICAgICA8c3BhbiBjbGFzc05hbWU9XCJ2aXNfaXRlbS1tb2RpZmljYXRpb24tZGF0ZVwiPlxuICAgICAgICBMYXN0IG1vZGlmaWVkIHttb21lbnQudXRjKHZpcy51cGRhdGVkQXQpLmZyb21Ob3coKX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L1N0eWxlZFZpc3VhbGl6YXRpb25JdGVtPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxpQkFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBSCxPQUFBO0FBQXdDLElBQUFJLGVBQUEsRUFOeEM7QUFDQTtBQU9BLElBQU1DLE9BQU8sR0FBRyxTQUFWQSxPQUFPQSxDQUFHQyxLQUFLLEVBQUk7RUFDdkIsb0JBQ0VMLE1BQUEsWUFBQU0sYUFBQSxRQUFTRCxLQUFLLEVBQ1hBLEtBQUssQ0FBQ0UsUUFBUSxlQUNmUCxNQUFBLFlBQUFNLGFBQUEsQ0FBQ0osTUFBQSxDQUFBTSxJQUFJO0lBQUNDLE1BQU0sRUFBQyxNQUFNO0lBQUNDLE9BQU8sRUFBRTtFQUFZLGdCQUN2Q1YsTUFBQSxZQUFBTSxhQUFBO0lBQ0VLLElBQUksRUFBQyxTQUFTO0lBQ2RDLENBQUMsRUFBQztFQUF1bEIsQ0FDMWxCLENBQ0csQ0FDSCxDQUFDO0FBRVYsQ0FBQztBQUVELElBQU1DLFlBQVksR0FBRyxTQUFmQSxZQUFZQSxDQUFBQyxJQUFBO0VBQUEsSUFBS0MsVUFBVSxHQUFBRCxJQUFBLENBQVZDLFVBQVU7RUFBQSxvQkFDL0JmLE1BQUEsWUFBQU0sYUFBQTtJQUFNVSxTQUFTLEVBQUM7RUFBa0IsR0FBRUQsVUFBVSxHQUFHLFNBQVMsR0FBRyxRQUFlLENBQUM7QUFBQSxDQUM5RTtBQUVELElBQU1FLHVCQUF1QixHQUFHQyw0QkFBTSxDQUFDQyxHQUFHLENBQUFoQixlQUFBLEtBQUFBLGVBQUEsT0FBQWlCLHVCQUFBLDZpREFnRnpDO0FBRU0sSUFBTUMsU0FBUyxHQUFBQyxPQUFBLENBQUFELFNBQUEsR0FBRyxTQUFaQSxTQUFTQSxDQUFBRSxLQUFBLEVBQXVCO0VBQUEsSUFBQUMsZ0JBQUE7RUFBQSxJQUFsQkMsR0FBRyxHQUFBRixLQUFBLENBQUhFLEdBQUc7SUFBRUMsT0FBTyxHQUFBSCxLQUFBLENBQVBHLE9BQU87RUFDckMsSUFBTUMsY0FBYyxHQUFHO0lBQUNDLGVBQWUsU0FBQUMsTUFBQSxDQUFTSixHQUFHLENBQUNLLFNBQVM7RUFBRyxDQUFDO0VBQ2pFLG9CQUNFOUIsTUFBQSxZQUFBTSxhQUFBLENBQUNXLHVCQUF1QjtJQUFDUyxPQUFPLEVBQUVBO0VBQVEsR0FDdkNELEdBQUcsQ0FBQ0ssU0FBUyxnQkFDWjlCLE1BQUEsWUFBQU0sYUFBQTtJQUFLeUIsSUFBSSxFQUFDLG1CQUFtQjtJQUFDZixTQUFTLEVBQUMsZ0JBQWdCO0lBQUNnQixLQUFLLEVBQUVMO0VBQWUsR0FDNUVNLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1gsR0FBRyxFQUFFLFlBQVksQ0FBQyxnQkFDdER6QixNQUFBLFlBQUFNLGFBQUEsQ0FBQ08sWUFBWTtJQUFDRSxVQUFVLEVBQUVVLEdBQUcsQ0FBQ1Y7RUFBVyxDQUFFLENBQUMsR0FDMUMsSUFDRCxDQUFDLGdCQUVOZixNQUFBLFlBQUFNLGFBQUEsQ0FBQ0YsT0FBTztJQUFDMkIsSUFBSSxFQUFDLFVBQVU7SUFBQ2YsU0FBUyxFQUFDO0VBQWUsR0FDL0NpQixNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNYLEdBQUcsRUFBRSxZQUFZLENBQUMsZ0JBQ3REekIsTUFBQSxZQUFBTSxhQUFBLENBQUNPLFlBQVk7SUFBQ0UsVUFBVSxFQUFFVSxHQUFHLENBQUNWO0VBQVcsQ0FBRSxDQUFDLEdBQzFDLElBQ0csQ0FDVixlQUNEZixNQUFBLFlBQUFNLGFBQUE7SUFBTVUsU0FBUyxFQUFDO0VBQWdCLEdBQUVTLEdBQUcsQ0FBQ1ksS0FBWSxDQUFDLEVBQ2xELEVBQUFiLGdCQUFBLEdBQUFDLEdBQUcsQ0FBQ2EsV0FBVyxjQUFBZCxnQkFBQSx1QkFBZkEsZ0JBQUEsQ0FBaUJlLE1BQU0sSUFBRyxDQUFDLGlCQUMxQnZDLE1BQUEsWUFBQU0sYUFBQTtJQUFNVSxTQUFTLEVBQUM7RUFBc0IsR0FBRVMsR0FBRyxDQUFDYSxXQUFrQixDQUMvRCxlQUNEdEMsTUFBQSxZQUFBTSxhQUFBO0lBQU1VLFNBQVMsRUFBQztFQUE0QixHQUFDLGdCQUM3QixFQUFDd0Isa0JBQU0sQ0FBQ0MsR0FBRyxDQUFDaEIsR0FBRyxDQUFDaUIsU0FBUyxDQUFDLENBQUNDLE9BQU8sQ0FBQyxDQUM3QyxDQUNpQixDQUFDO0FBRTlCLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=