UNPKG

kepler.gl

Version:

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

85 lines (84 loc) 15 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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral")); var _react = _interopRequireDefault(require("react")); var _styledComponents = _interopRequireWildcard(require("styled-components")); var _classnames = _interopRequireDefault(require("classnames")); var _progressBar = _interopRequireDefault(require("../progress-bar")); var _styledComponents2 = require("../styled-components"); var _utils = require("@kepler.gl/utils"); var _templateObject, _templateObject2, _templateObject3; // 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 StyledFileProgress = _styledComponents["default"].div.attrs(function (props) { return { className: (0, _classnames["default"])('file-upload__progress', props.className) }; })(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-size: 12px;\n margin-top: 12px;\n border-image: initial;\n padding: 8px 12px;\n\n .top-row {\n display: flex;\n justify-content: space-between;\n }\n\n .file-name {\n font-weight: 500;\n }\n .middle-row {\n margin-top: 6px;\n }\n .bottom-row {\n margin-top: 6px;\n text-align: start;\n }\n"])), function (props) { return props.theme.textColorLT; }); var StyledProgressWrapper = _styledComponents["default"].div.attrs({ className: 'file-upload__progress__wrapper' })(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n width: 400px;\n"]))); var StyledContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n display: flex;\n justify-content: center;\n"]))); var formatPercent = function formatPercent(percent) { return "".concat(Math.floor(percent * 100), "%"); }; /** * @param {object} params * @param {string} params.message * @param {string} params.fileName * @param {number} params.percent * @param {any} params.error * @param {object} params.theme */ var UploadProgress = function UploadProgress(_ref) { var message = _ref.message, fileName = _ref.fileName, percent = _ref.percent, error = _ref.error, theme = _ref.theme; var percentStr = formatPercent(percent); var barColor = error ? theme.errorColor : theme.activeColorLT; return /*#__PURE__*/_react["default"].createElement(StyledFileProgress, { className: "file-upload-progress__message" }, /*#__PURE__*/_react["default"].createElement("div", { className: "top-row" }, /*#__PURE__*/_react["default"].createElement(_styledComponents2.TruncatedTitleText, { className: "file-name", title: fileName }, fileName), /*#__PURE__*/_react["default"].createElement("div", { className: "percent" }, percentStr)), /*#__PURE__*/_react["default"].createElement("div", { className: "middle-row" }, /*#__PURE__*/_react["default"].createElement(_progressBar["default"], { percent: percentStr, barColor: barColor, isLoading: true, theme: theme })), /*#__PURE__*/_react["default"].createElement("div", { className: "bottom-row", style: { color: error ? theme.errorColor : theme.textColorLT } }, error ? (0, _utils.getError)(error) : message)); }; var FileUploadProgress = function FileUploadProgress(_ref2) { var fileLoadingProgress = _ref2.fileLoadingProgress, theme = _ref2.theme; return /*#__PURE__*/_react["default"].createElement(StyledContainer, null, /*#__PURE__*/_react["default"].createElement(StyledProgressWrapper, null, Object.values(fileLoadingProgress).map(function (item) { return /*#__PURE__*/_react["default"].createElement(UploadProgress, (0, _extends2["default"])({}, item, { key: item.fileName, theme: theme })); }))); }; var _default = exports["default"] = (0, _styledComponents.withTheme)(FileUploadProgress); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfY2xhc3NuYW1lcyIsIl9wcm9ncmVzc0JhciIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl91dGlscyIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiU3R5bGVkRmlsZVByb2dyZXNzIiwic3R5bGVkIiwiZGl2IiwiYXR0cnMiLCJwcm9wcyIsImNsYXNzTmFtZSIsImNsYXNzbmFtZXMiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInRoZW1lIiwidGV4dENvbG9yTFQiLCJTdHlsZWRQcm9ncmVzc1dyYXBwZXIiLCJTdHlsZWRDb250YWluZXIiLCJmb3JtYXRQZXJjZW50IiwicGVyY2VudCIsImNvbmNhdCIsIk1hdGgiLCJmbG9vciIsIlVwbG9hZFByb2dyZXNzIiwiX3JlZiIsIm1lc3NhZ2UiLCJmaWxlTmFtZSIsImVycm9yIiwicGVyY2VudFN0ciIsImJhckNvbG9yIiwiZXJyb3JDb2xvciIsImFjdGl2ZUNvbG9yTFQiLCJjcmVhdGVFbGVtZW50IiwiVHJ1bmNhdGVkVGl0bGVUZXh0IiwidGl0bGUiLCJpc0xvYWRpbmciLCJzdHlsZSIsImNvbG9yIiwiZ2V0RXJyb3IiLCJGaWxlVXBsb2FkUHJvZ3Jlc3MiLCJfcmVmMiIsImZpbGVMb2FkaW5nUHJvZ3Jlc3MiLCJ2YWx1ZXMiLCJtYXAiLCJpdGVtIiwiX2V4dGVuZHMyIiwia2V5IiwiX2RlZmF1bHQiLCJleHBvcnRzIiwid2l0aFRoZW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1vbi9maWxlLXVwbG9hZGVyL2ZpbGUtdXBsb2FkLXByb2dyZXNzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCwge3dpdGhUaGVtZX0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgUHJvZ3Jlc3NCYXIgZnJvbSAnLi4vcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7VHJ1bmNhdGVkVGl0bGVUZXh0fSBmcm9tICcuLi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge2dldEVycm9yfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7RmlsZUxvYWRpbmdQcm9ncmVzc30gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cbmNvbnN0IFN0eWxlZEZpbGVQcm9ncmVzcyA9IHN0eWxlZC5kaXYuYXR0cnMocHJvcHMgPT4gKHtcbiAgY2xhc3NOYW1lOiBjbGFzc25hbWVzKCdmaWxlLXVwbG9hZF9fcHJvZ3Jlc3MnLCBwcm9wcy5jbGFzc05hbWUpXG59KSlgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckxUfTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXJnaW4tdG9wOiAxMnB4O1xuICBib3JkZXItaW1hZ2U6IGluaXRpYWw7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuXG4gIC50b3Atcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIC5maWxlLW5hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbiAgLm1pZGRsZS1yb3cge1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgfVxuICAuYm90dG9tLXJvdyB7XG4gICAgbWFyZ2luLXRvcDogNnB4O1xuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRQcm9ncmVzc1dyYXBwZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnZmlsZS11cGxvYWRfX3Byb2dyZXNzX193cmFwcGVyJ1xufSlgXG4gIHdpZHRoOiA0MDBweDtcbmA7XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbmA7XG5cbmNvbnN0IGZvcm1hdFBlcmNlbnQgPSBwZXJjZW50ID0+IGAke01hdGguZmxvb3IocGVyY2VudCAqIDEwMCl9JWA7XG5cbmludGVyZmFjZSBVcGxvYWRQcm9ncmVzc1Byb3BzIHtcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgZmlsZU5hbWU/OiBzdHJpbmc7XG4gIHBlcmNlbnQ6IG51bWJlcjtcbiAgZXJyb3I/OiBhbnk7XG4gIHRoZW1lOiBhbnk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IHBhcmFtc1xuICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtcy5tZXNzYWdlXG4gKiBAcGFyYW0ge3N0cmluZ30gcGFyYW1zLmZpbGVOYW1lXG4gKiBAcGFyYW0ge251bWJlcn0gcGFyYW1zLnBlcmNlbnRcbiAqIEBwYXJhbSB7YW55fSBwYXJhbXMuZXJyb3JcbiAqIEBwYXJhbSB7b2JqZWN0fSBwYXJhbXMudGhlbWVcbiAqL1xuY29uc3QgVXBsb2FkUHJvZ3Jlc3MgPSAoe21lc3NhZ2UsIGZpbGVOYW1lLCBwZXJjZW50LCBlcnJvciwgdGhlbWV9OiBVcGxvYWRQcm9ncmVzc1Byb3BzKSA9PiB7XG4gIGNvbnN0IHBlcmNlbnRTdHIgPSBmb3JtYXRQZXJjZW50KHBlcmNlbnQpO1xuICBjb25zdCBiYXJDb2xvciA9IGVycm9yID8gdGhlbWUuZXJyb3JDb2xvciA6IHRoZW1lLmFjdGl2ZUNvbG9yTFQ7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkRmlsZVByb2dyZXNzIGNsYXNzTmFtZT1cImZpbGUtdXBsb2FkLXByb2dyZXNzX19tZXNzYWdlXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInRvcC1yb3dcIj5cbiAgICAgICAgPFRydW5jYXRlZFRpdGxlVGV4dCBjbGFzc05hbWU9XCJmaWxlLW5hbWVcIiB0aXRsZT17ZmlsZU5hbWV9PlxuICAgICAgICAgIHtmaWxlTmFtZX1cbiAgICAgICAgPC9UcnVuY2F0ZWRUaXRsZVRleHQ+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicGVyY2VudFwiPntwZXJjZW50U3RyfTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1pZGRsZS1yb3dcIj5cbiAgICAgICAgPFByb2dyZXNzQmFyIHBlcmNlbnQ9e3BlcmNlbnRTdHJ9IGJhckNvbG9yPXtiYXJDb2xvcn0gaXNMb2FkaW5nIHRoZW1lPXt0aGVtZX0gLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3R0b20tcm93XCIgc3R5bGU9e3tjb2xvcjogZXJyb3IgPyB0aGVtZS5lcnJvckNvbG9yIDogdGhlbWUudGV4dENvbG9yTFR9fT5cbiAgICAgICAge2Vycm9yID8gZ2V0RXJyb3IoZXJyb3IpIDogbWVzc2FnZX1cbiAgICAgIDwvZGl2PlxuICAgIDwvU3R5bGVkRmlsZVByb2dyZXNzPlxuICApO1xufTtcblxudHlwZSBGaWxlVXBsb2FkUHJvZ3Jlc3NQcm9wcyA9IHtcbiAgZmlsZUxvYWRpbmdQcm9ncmVzczogRmlsZUxvYWRpbmdQcm9ncmVzcztcbiAgdGhlbWU6IGFueTtcbn07XG5cbmNvbnN0IEZpbGVVcGxvYWRQcm9ncmVzczogUmVhY3QuRkM8RmlsZVVwbG9hZFByb2dyZXNzUHJvcHM+ID0gKHtcbiAgZmlsZUxvYWRpbmdQcm9ncmVzcyxcbiAgdGhlbWVcbn06IEZpbGVVcGxvYWRQcm9ncmVzc1Byb3BzKSA9PiAoXG4gIDxTdHlsZWRDb250YWluZXI+XG4gICAgPFN0eWxlZFByb2dyZXNzV3JhcHBlcj5cbiAgICAgIHtPYmplY3QudmFsdWVzKGZpbGVMb2FkaW5nUHJvZ3Jlc3MpLm1hcChpdGVtID0+IChcbiAgICAgICAgPFVwbG9hZFByb2dyZXNzIHsuLi5pdGVtfSBrZXk9e2l0ZW0uZmlsZU5hbWV9IHRoZW1lPXt0aGVtZX0gLz5cbiAgICAgICkpfVxuICAgIDwvU3R5bGVkUHJvZ3Jlc3NXcmFwcGVyPlxuICA8L1N0eWxlZENvbnRhaW5lcj5cbik7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhUaGVtZShGaWxlVXBsb2FkUHJvZ3Jlc3MpIGFzIFJlYWN0LkZDPEZpbGVVcGxvYWRQcm9ncmVzc1Byb3BzPjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxZQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxrQkFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBQTBDLElBQUFPLGVBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFSMUM7QUFDQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBVCx3QkFBQVMsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZCxDQUFBLG9CQUFBYyxDQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxDQUFBLFNBQUFHLENBQUEsR0FBQVAsQ0FBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFiLENBQUEsRUFBQWMsQ0FBQSxVQUFBRyxDQUFBLEtBQUFBLENBQUEsQ0FBQVYsR0FBQSxJQUFBVSxDQUFBLENBQUFDLEdBQUEsSUFBQVAsTUFBQSxDQUFBQyxjQUFBLENBQUFKLENBQUEsRUFBQU0sQ0FBQSxFQUFBRyxDQUFBLElBQUFULENBQUEsQ0FBQU0sQ0FBQSxJQUFBZCxDQUFBLENBQUFjLENBQUEsWUFBQU4sQ0FBQSxjQUFBUixDQUFBLEVBQUFHLENBQUEsSUFBQUEsQ0FBQSxDQUFBZSxHQUFBLENBQUFsQixDQUFBLEVBQUFRLENBQUEsR0FBQUEsQ0FBQTtBQVVBLElBQU1XLGtCQUFrQixHQUFHQyw0QkFBTSxDQUFDQyxHQUFHLENBQUNDLEtBQUssQ0FBQyxVQUFBQyxLQUFLO0VBQUEsT0FBSztJQUNwREMsU0FBUyxFQUFFLElBQUFDLHNCQUFVLEVBQUMsdUJBQXVCLEVBQUVGLEtBQUssQ0FBQ0MsU0FBUztFQUNoRSxDQUFDO0FBQUEsQ0FBQyxDQUFDLENBQUE1QixlQUFBLEtBQUFBLGVBQUEsT0FBQThCLHVCQUFBLDRXQUNRLFVBQUFILEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNJLEtBQUssQ0FBQ0MsV0FBVztBQUFBLEVBcUIxQztBQUVELElBQU1DLHFCQUFxQixHQUFHVCw0QkFBTSxDQUFDQyxHQUFHLENBQUNDLEtBQUssQ0FBQztFQUM3Q0UsU0FBUyxFQUFFO0FBQ2IsQ0FBQyxDQUFDLENBQUEzQixnQkFBQSxLQUFBQSxnQkFBQSxPQUFBNkIsdUJBQUEsdUNBRUQ7QUFFRCxJQUFNSSxlQUFlLEdBQUdWLDRCQUFNLENBQUNDLEdBQUcsQ0FBQXZCLGdCQUFBLEtBQUFBLGdCQUFBLE9BQUE0Qix1QkFBQSxvRkFJakM7QUFFRCxJQUFNSyxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQUdDLE9BQU87RUFBQSxVQUFBQyxNQUFBLENBQU9DLElBQUksQ0FBQ0MsS0FBSyxDQUFDSCxPQUFPLEdBQUcsR0FBRyxDQUFDO0FBQUEsQ0FBRztBQVVoRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBTUksY0FBYyxHQUFHLFNBQWpCQSxjQUFjQSxDQUFBQyxJQUFBLEVBQXdFO0VBQUEsSUFBbkVDLE9BQU8sR0FBQUQsSUFBQSxDQUFQQyxPQUFPO0lBQUVDLFFBQVEsR0FBQUYsSUFBQSxDQUFSRSxRQUFRO0lBQUVQLE9BQU8sR0FBQUssSUFBQSxDQUFQTCxPQUFPO0lBQUVRLEtBQUssR0FBQUgsSUFBQSxDQUFMRyxLQUFLO0lBQUViLEtBQUssR0FBQVUsSUFBQSxDQUFMVixLQUFLO0VBQy9ELElBQU1jLFVBQVUsR0FBR1YsYUFBYSxDQUFDQyxPQUFPLENBQUM7RUFDekMsSUFBTVUsUUFBUSxHQUFHRixLQUFLLEdBQUdiLEtBQUssQ0FBQ2dCLFVBQVUsR0FBR2hCLEtBQUssQ0FBQ2lCLGFBQWE7RUFFL0Qsb0JBQ0V6RCxNQUFBLFlBQUEwRCxhQUFBLENBQUMxQixrQkFBa0I7SUFBQ0ssU0FBUyxFQUFDO0VBQStCLGdCQUMzRHJDLE1BQUEsWUFBQTBELGFBQUE7SUFBS3JCLFNBQVMsRUFBQztFQUFTLGdCQUN0QnJDLE1BQUEsWUFBQTBELGFBQUEsQ0FBQ25ELGtCQUFBLENBQUFvRCxrQkFBa0I7SUFBQ3RCLFNBQVMsRUFBQyxXQUFXO0lBQUN1QixLQUFLLEVBQUVSO0VBQVMsR0FDdkRBLFFBQ2lCLENBQUMsZUFDckJwRCxNQUFBLFlBQUEwRCxhQUFBO0lBQUtyQixTQUFTLEVBQUM7RUFBUyxHQUFFaUIsVUFBZ0IsQ0FDdkMsQ0FBQyxlQUNOdEQsTUFBQSxZQUFBMEQsYUFBQTtJQUFLckIsU0FBUyxFQUFDO0VBQVksZ0JBQ3pCckMsTUFBQSxZQUFBMEQsYUFBQSxDQUFDcEQsWUFBQSxXQUFXO0lBQUN1QyxPQUFPLEVBQUVTLFVBQVc7SUFBQ0MsUUFBUSxFQUFFQSxRQUFTO0lBQUNNLFNBQVM7SUFBQ3JCLEtBQUssRUFBRUE7RUFBTSxDQUFFLENBQzVFLENBQUMsZUFDTnhDLE1BQUEsWUFBQTBELGFBQUE7SUFBS3JCLFNBQVMsRUFBQyxZQUFZO0lBQUN5QixLQUFLLEVBQUU7TUFBQ0MsS0FBSyxFQUFFVixLQUFLLEdBQUdiLEtBQUssQ0FBQ2dCLFVBQVUsR0FBR2hCLEtBQUssQ0FBQ0M7SUFBVztFQUFFLEdBQ3RGWSxLQUFLLEdBQUcsSUFBQVcsZUFBUSxFQUFDWCxLQUFLLENBQUMsR0FBR0YsT0FDeEIsQ0FDYSxDQUFDO0FBRXpCLENBQUM7QUFPRCxJQUFNYyxrQkFBcUQsR0FBRyxTQUF4REEsa0JBQXFEQSxDQUFBQyxLQUFBO0VBQUEsSUFDekRDLG1CQUFtQixHQUFBRCxLQUFBLENBQW5CQyxtQkFBbUI7SUFDbkIzQixLQUFLLEdBQUEwQixLQUFBLENBQUwxQixLQUFLO0VBQUEsb0JBRUx4QyxNQUFBLFlBQUEwRCxhQUFBLENBQUNmLGVBQWUscUJBQ2QzQyxNQUFBLFlBQUEwRCxhQUFBLENBQUNoQixxQkFBcUIsUUFDbkJsQixNQUFNLENBQUM0QyxNQUFNLENBQUNELG1CQUFtQixDQUFDLENBQUNFLEdBQUcsQ0FBQyxVQUFBQyxJQUFJO0lBQUEsb0JBQzFDdEUsTUFBQSxZQUFBMEQsYUFBQSxDQUFDVCxjQUFjLE1BQUFzQixTQUFBLGlCQUFLRCxJQUFJO01BQUVFLEdBQUcsRUFBRUYsSUFBSSxDQUFDbEIsUUFBUztNQUFDWixLQUFLLEVBQUVBO0lBQU0sRUFBRSxDQUFDO0VBQUEsQ0FDL0QsQ0FDb0IsQ0FDUixDQUFDO0FBQUEsQ0FDbkI7QUFBQyxJQUFBaUMsUUFBQSxHQUFBQyxPQUFBLGNBRWEsSUFBQUMsMkJBQVMsRUFBQ1Ysa0JBQWtCLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=