UNPKG

kepler.gl

Version:

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

121 lines (120 loc) 20.6 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 _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral")); var _react = _interopRequireWildcard(require("/Users/ihordykhta/Desktop/unfolded/kepler.gl/node_modules/react")); var _styledComponents = _interopRequireDefault(require("/Users/ihordykhta/Desktop/unfolded/kepler.gl/node_modules/styled-components")); var _imagePreview = _interopRequireDefault(require("../common/image-preview")); var _src = require("/Users/ihordykhta/Desktop/unfolded/kepler.gl/src/constants/src"); var _styledComponents2 = require("../common/styled-components"); var _switch = _interopRequireDefault(require("../common/switch")); var _reactIntl = require("/Users/ihordykhta/Desktop/unfolded/kepler.gl/node_modules/react-intl"); var _src2 = require("/Users/ihordykhta/Desktop/unfolded/kepler.gl/src/localization/src"); 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 ImageOptionList = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: space-around;\n width: 250px;\n\n .image-option-section {\n .image-option-section-title {\n font-weight: 500;\n font-size: 14px;\n }\n }\n\n .button-list {\n display: flex;\n flex-direction: row;\n padding: 8px 0px;\n }\n\n input {\n margin-right: 8px;\n }\n"]))); var ExportImageModalFactory = function ExportImageModalFactory() { var ExportImageModal = function ExportImageModal(_ref) { var mapW = _ref.mapW, mapH = _ref.mapH, exportImage = _ref.exportImage, onUpdateImageSetting = _ref.onUpdateImageSetting, cleanupExportImage = _ref.cleanupExportImage, intl = _ref.intl; var legend = exportImage.legend, ratio = exportImage.ratio, resolution = exportImage.resolution; (0, _react.useEffect)(function () { onUpdateImageSetting({ exporting: true }); return cleanupExportImage; }, [onUpdateImageSetting, cleanupExportImage]); (0, _react.useEffect)(function () { if (mapH !== exportImage.mapH || mapW !== exportImage.mapW) { onUpdateImageSetting({ mapH: mapH, mapW: mapW }); } }, [mapH, mapW, exportImage, onUpdateImageSetting]); return /*#__PURE__*/_react["default"].createElement(_styledComponents2.StyledModalContent, { className: "export-image-modal" }, /*#__PURE__*/_react["default"].createElement(ImageOptionList, null, /*#__PURE__*/_react["default"].createElement("div", { className: "image-option-section" }, /*#__PURE__*/_react["default"].createElement("div", { className: "image-option-section-title" }, /*#__PURE__*/_react["default"].createElement(_src2.FormattedMessage, { id: 'modal.exportImage.ratioTitle' })), /*#__PURE__*/_react["default"].createElement(_src2.FormattedMessage, { id: 'modal.exportImage.ratioDescription' }), /*#__PURE__*/_react["default"].createElement("div", { className: "button-list", id: "export-image-modal__option_ratio" }, _src.EXPORT_IMG_RATIO_OPTIONS.filter(function (op) { return !op.hidden; }).map(function (op) { return /*#__PURE__*/_react["default"].createElement(_styledComponents2.SelectionButton, { key: op.id, selected: ratio === op.id, onClick: function onClick() { return onUpdateImageSetting({ ratio: op.id }); } }, /*#__PURE__*/_react["default"].createElement(_src2.FormattedMessage, { id: op.label }), ratio === op.id && /*#__PURE__*/_react["default"].createElement(_styledComponents2.CheckMark, null)); }))), /*#__PURE__*/_react["default"].createElement("div", { className: "image-option-section" }, /*#__PURE__*/_react["default"].createElement("div", { className: "image-option-section-title" }, /*#__PURE__*/_react["default"].createElement(_src2.FormattedMessage, { id: 'modal.exportImage.resolutionTitle' })), /*#__PURE__*/_react["default"].createElement(_src2.FormattedMessage, { id: 'modal.exportImage.resolutionDescription' }), /*#__PURE__*/_react["default"].createElement("div", { className: "button-list", id: "export-image-modal__option_resolution" }, _src.EXPORT_IMG_RESOLUTION_OPTIONS.map(function (op) { return /*#__PURE__*/_react["default"].createElement(_styledComponents2.SelectionButton, { key: op.id, selected: resolution === op.id, onClick: function onClick() { return op.available && onUpdateImageSetting({ resolution: op.id }); } }, op.label, resolution === op.id && /*#__PURE__*/_react["default"].createElement(_styledComponents2.CheckMark, null)); }))), /*#__PURE__*/_react["default"].createElement("div", { className: "image-option-section" }, /*#__PURE__*/_react["default"].createElement("div", { className: "image-option-section-title" }, /*#__PURE__*/_react["default"].createElement(_src2.FormattedMessage, { id: 'modal.exportImage.mapLegendTitle' })), /*#__PURE__*/_react["default"].createElement(_switch["default"], { type: "checkbox", id: "add-map-legend", checked: legend, label: intl.formatMessage({ id: 'modal.exportImage.mapLegendAdd' }), onChange: function onChange() { return onUpdateImageSetting({ legend: !legend }); } }))), /*#__PURE__*/_react["default"].createElement(_imagePreview["default"], { exportImage: exportImage })); }; return (0, _reactIntl.injectIntl)(ExportImageModal); }; var _default = exports["default"] = ExportImageModalFactory; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfaW1hZ2VQcmV2aWV3IiwiX3NyYyIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl9zd2l0Y2giLCJfcmVhY3RJbnRsIiwiX3NyYzIiLCJfdGVtcGxhdGVPYmplY3QiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJJbWFnZU9wdGlvbkxpc3QiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIkV4cG9ydEltYWdlTW9kYWxGYWN0b3J5IiwiRXhwb3J0SW1hZ2VNb2RhbCIsIl9yZWYiLCJtYXBXIiwibWFwSCIsImV4cG9ydEltYWdlIiwib25VcGRhdGVJbWFnZVNldHRpbmciLCJjbGVhbnVwRXhwb3J0SW1hZ2UiLCJpbnRsIiwibGVnZW5kIiwicmF0aW8iLCJyZXNvbHV0aW9uIiwidXNlRWZmZWN0IiwiZXhwb3J0aW5nIiwiY3JlYXRlRWxlbWVudCIsIlN0eWxlZE1vZGFsQ29udGVudCIsImNsYXNzTmFtZSIsIkZvcm1hdHRlZE1lc3NhZ2UiLCJpZCIsIkVYUE9SVF9JTUdfUkFUSU9fT1BUSU9OUyIsImZpbHRlciIsIm9wIiwiaGlkZGVuIiwibWFwIiwiU2VsZWN0aW9uQnV0dG9uIiwia2V5Iiwic2VsZWN0ZWQiLCJvbkNsaWNrIiwibGFiZWwiLCJDaGVja01hcmsiLCJFWFBPUlRfSU1HX1JFU09MVVRJT05fT1BUSU9OUyIsImF2YWlsYWJsZSIsInR5cGUiLCJjaGVja2VkIiwiZm9ybWF0TWVzc2FnZSIsIm9uQ2hhbmdlIiwiaW5qZWN0SW50bCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NyYy9tb2RhbHMvZXhwb3J0LWltYWdlLW1vZGFsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VFZmZlY3R9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IEltYWdlUHJldmlldyBmcm9tICcuLi9jb21tb24vaW1hZ2UtcHJldmlldyc7XG5pbXBvcnQge1NldEV4cG9ydEltYWdlU2V0dGluZ1VwZGF0ZXJBY3Rpb259IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5cbmltcG9ydCB7RVhQT1JUX0lNR19SQVRJT19PUFRJT05TLCBFWFBPUlRfSU1HX1JFU09MVVRJT05fT1BUSU9OU30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtFeHBvcnRJbWFnZX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge1N0eWxlZE1vZGFsQ29udGVudCwgU2VsZWN0aW9uQnV0dG9uLCBDaGVja01hcmt9IGZyb20gJy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgU3dpdGNoIGZyb20gJy4uL2NvbW1vbi9zd2l0Y2gnO1xuaW1wb3J0IHtpbmplY3RJbnRsLCBJbnRsU2hhcGV9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5cbmNvbnN0IEltYWdlT3B0aW9uTGlzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICB3aWR0aDogMjUwcHg7XG5cbiAgLmltYWdlLW9wdGlvbi1zZWN0aW9uIHtcbiAgICAuaW1hZ2Utb3B0aW9uLXNlY3Rpb24tdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gIH1cblxuICAuYnV0dG9uLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBwYWRkaW5nOiA4cHggMHB4O1xuICB9XG5cbiAgaW5wdXQge1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICB9XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4cG9ydEltYWdlTW9kYWxQcm9wcyB7XG4gIGV4cG9ydEltYWdlOiBFeHBvcnRJbWFnZTtcbiAgbWFwVzogbnVtYmVyO1xuICBtYXBIOiBudW1iZXI7XG4gIG9uVXBkYXRlSW1hZ2VTZXR0aW5nOiAocGF5bG9hZDogU2V0RXhwb3J0SW1hZ2VTZXR0aW5nVXBkYXRlckFjdGlvblsncGF5bG9hZCddKSA9PiB2b2lkO1xuICBjbGVhbnVwRXhwb3J0SW1hZ2U6ICgpID0+IHZvaWQ7XG4gIGludGw6IEludGxTaGFwZTtcbn1cblxuY29uc3QgRXhwb3J0SW1hZ2VNb2RhbEZhY3RvcnkgPSAoKSA9PiB7XG4gIGNvbnN0IEV4cG9ydEltYWdlTW9kYWw6IFJlYWN0LkZDPEV4cG9ydEltYWdlTW9kYWxQcm9wcz4gPSAoe1xuICAgIG1hcFcsXG4gICAgbWFwSCxcbiAgICBleHBvcnRJbWFnZSxcbiAgICBvblVwZGF0ZUltYWdlU2V0dGluZyxcbiAgICBjbGVhbnVwRXhwb3J0SW1hZ2UsXG4gICAgaW50bFxuICB9KSA9PiB7XG4gICAgY29uc3Qge2xlZ2VuZCwgcmF0aW8sIHJlc29sdXRpb259ID0gZXhwb3J0SW1hZ2U7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgb25VcGRhdGVJbWFnZVNldHRpbmcoe1xuICAgICAgICBleHBvcnRpbmc6IHRydWVcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGNsZWFudXBFeHBvcnRJbWFnZTtcbiAgICB9LCBbb25VcGRhdGVJbWFnZVNldHRpbmcsIGNsZWFudXBFeHBvcnRJbWFnZV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChtYXBIICE9PSBleHBvcnRJbWFnZS5tYXBIIHx8IG1hcFcgIT09IGV4cG9ydEltYWdlLm1hcFcpIHtcbiAgICAgICAgb25VcGRhdGVJbWFnZVNldHRpbmcoe1xuICAgICAgICAgIG1hcEgsXG4gICAgICAgICAgbWFwV1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LCBbbWFwSCwgbWFwVywgZXhwb3J0SW1hZ2UsIG9uVXBkYXRlSW1hZ2VTZXR0aW5nXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZE1vZGFsQ29udGVudCBjbGFzc05hbWU9XCJleHBvcnQtaW1hZ2UtbW9kYWxcIj5cbiAgICAgICAgPEltYWdlT3B0aW9uTGlzdD5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImltYWdlLW9wdGlvbi1zZWN0aW9uXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImltYWdlLW9wdGlvbi1zZWN0aW9uLXRpdGxlXCI+XG4gICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW9UaXRsZSd9IC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbW9kYWwuZXhwb3J0SW1hZ2UucmF0aW9EZXNjcmlwdGlvbid9IC8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJ1dHRvbi1saXN0XCIgaWQ9XCJleHBvcnQtaW1hZ2UtbW9kYWxfX29wdGlvbl9yYXRpb1wiPlxuICAgICAgICAgICAgICB7RVhQT1JUX0lNR19SQVRJT19PUFRJT05TLmZpbHRlcihvcCA9PiAhb3AuaGlkZGVuKS5tYXAob3AgPT4gKFxuICAgICAgICAgICAgICAgIDxTZWxlY3Rpb25CdXR0b25cbiAgICAgICAgICAgICAgICAgIGtleT17b3AuaWR9XG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZD17cmF0aW8gPT09IG9wLmlkfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25VcGRhdGVJbWFnZVNldHRpbmcoe3JhdGlvOiBvcC5pZH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtvcC5sYWJlbH0gLz5cbiAgICAgICAgICAgICAgICAgIHtyYXRpbyA9PT0gb3AuaWQgJiYgPENoZWNrTWFyayAvPn1cbiAgICAgICAgICAgICAgICA8L1NlbGVjdGlvbkJ1dHRvbj5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImltYWdlLW9wdGlvbi1zZWN0aW9uXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImltYWdlLW9wdGlvbi1zZWN0aW9uLXRpdGxlXCI+XG4gICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbW9kYWwuZXhwb3J0SW1hZ2UucmVzb2x1dGlvblRpdGxlJ30gLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydtb2RhbC5leHBvcnRJbWFnZS5yZXNvbHV0aW9uRGVzY3JpcHRpb24nfSAvPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJidXR0b24tbGlzdFwiIGlkPVwiZXhwb3J0LWltYWdlLW1vZGFsX19vcHRpb25fcmVzb2x1dGlvblwiPlxuICAgICAgICAgICAgICB7RVhQT1JUX0lNR19SRVNPTFVUSU9OX09QVElPTlMubWFwKG9wID0+IChcbiAgICAgICAgICAgICAgICA8U2VsZWN0aW9uQnV0dG9uXG4gICAgICAgICAgICAgICAgICBrZXk9e29wLmlkfVxuICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ9e3Jlc29sdXRpb24gPT09IG9wLmlkfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb3AuYXZhaWxhYmxlICYmIG9uVXBkYXRlSW1hZ2VTZXR0aW5nKHtyZXNvbHV0aW9uOiBvcC5pZH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtvcC5sYWJlbH1cbiAgICAgICAgICAgICAgICAgIHtyZXNvbHV0aW9uID09PSBvcC5pZCAmJiA8Q2hlY2tNYXJrIC8+fVxuICAgICAgICAgICAgICAgIDwvU2VsZWN0aW9uQnV0dG9uPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW1hZ2Utb3B0aW9uLXNlY3Rpb25cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW1hZ2Utb3B0aW9uLXNlY3Rpb24tdGl0bGVcIj5cbiAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydtb2RhbC5leHBvcnRJbWFnZS5tYXBMZWdlbmRUaXRsZSd9IC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxTd2l0Y2hcbiAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgaWQ9XCJhZGQtbWFwLWxlZ2VuZFwiXG4gICAgICAgICAgICAgIGNoZWNrZWQ9e2xlZ2VuZH1cbiAgICAgICAgICAgICAgbGFiZWw9e2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6ICdtb2RhbC5leHBvcnRJbWFnZS5tYXBMZWdlbmRBZGQnfSl9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoKSA9PiBvblVwZGF0ZUltYWdlU2V0dGluZyh7bGVnZW5kOiAhbGVnZW5kfSl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L0ltYWdlT3B0aW9uTGlzdD5cbiAgICAgICAgPEltYWdlUHJldmlldyBleHBvcnRJbWFnZT17ZXhwb3J0SW1hZ2V9IC8+XG4gICAgICA8L1N0eWxlZE1vZGFsQ29udGVudD5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBpbmplY3RJbnRsKEV4cG9ydEltYWdlTW9kYWwpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRXhwb3J0SW1hZ2VNb2RhbEZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxhQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFHQSxJQUFBSSxJQUFBLEdBQUFKLE9BQUE7QUFFQSxJQUFBSyxrQkFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sT0FBQSxHQUFBSixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU8sVUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsS0FBQSxHQUFBUixPQUFBO0FBQXlELElBQUFTLGVBQUEsRUFiekQ7QUFDQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBWix3QkFBQVksQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZCxDQUFBLG9CQUFBYyxDQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxDQUFBLFNBQUFHLENBQUEsR0FBQVAsQ0FBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFiLENBQUEsRUFBQWMsQ0FBQSxVQUFBRyxDQUFBLEtBQUFBLENBQUEsQ0FBQVYsR0FBQSxJQUFBVSxDQUFBLENBQUFDLEdBQUEsSUFBQVAsTUFBQSxDQUFBQyxjQUFBLENBQUFKLENBQUEsRUFBQU0sQ0FBQSxFQUFBRyxDQUFBLElBQUFULENBQUEsQ0FBQU0sQ0FBQSxJQUFBZCxDQUFBLENBQUFjLENBQUEsWUFBQU4sQ0FBQSxjQUFBUixDQUFBLEVBQUFHLENBQUEsSUFBQUEsQ0FBQSxDQUFBZSxHQUFBLENBQUFsQixDQUFBLEVBQUFRLENBQUEsR0FBQUEsQ0FBQTtBQWNBLElBQU1XLGVBQWUsR0FBR0MsNEJBQU0sQ0FBQ0MsR0FBRyxDQUFBdkIsZUFBQSxLQUFBQSxlQUFBLE9BQUF3Qix1QkFBQSwyWEFzQmpDO0FBV0QsSUFBTUMsdUJBQXVCLEdBQUcsU0FBMUJBLHVCQUF1QkEsQ0FBQSxFQUFTO0VBQ3BDLElBQU1DLGdCQUFpRCxHQUFHLFNBQXBEQSxnQkFBaURBLENBQUFDLElBQUEsRUFPakQ7SUFBQSxJQU5KQyxJQUFJLEdBQUFELElBQUEsQ0FBSkMsSUFBSTtNQUNKQyxJQUFJLEdBQUFGLElBQUEsQ0FBSkUsSUFBSTtNQUNKQyxXQUFXLEdBQUFILElBQUEsQ0FBWEcsV0FBVztNQUNYQyxvQkFBb0IsR0FBQUosSUFBQSxDQUFwQkksb0JBQW9CO01BQ3BCQyxrQkFBa0IsR0FBQUwsSUFBQSxDQUFsQkssa0JBQWtCO01BQ2xCQyxJQUFJLEdBQUFOLElBQUEsQ0FBSk0sSUFBSTtJQUVKLElBQU9DLE1BQU0sR0FBdUJKLFdBQVcsQ0FBeENJLE1BQU07TUFBRUMsS0FBSyxHQUFnQkwsV0FBVyxDQUFoQ0ssS0FBSztNQUFFQyxVQUFVLEdBQUlOLFdBQVcsQ0FBekJNLFVBQVU7SUFFaEMsSUFBQUMsZ0JBQVMsRUFBQyxZQUFNO01BQ2ROLG9CQUFvQixDQUFDO1FBQ25CTyxTQUFTLEVBQUU7TUFDYixDQUFDLENBQUM7TUFDRixPQUFPTixrQkFBa0I7SUFDM0IsQ0FBQyxFQUFFLENBQUNELG9CQUFvQixFQUFFQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRTlDLElBQUFLLGdCQUFTLEVBQUMsWUFBTTtNQUNkLElBQUlSLElBQUksS0FBS0MsV0FBVyxDQUFDRCxJQUFJLElBQUlELElBQUksS0FBS0UsV0FBVyxDQUFDRixJQUFJLEVBQUU7UUFDMURHLG9CQUFvQixDQUFDO1VBQ25CRixJQUFJLEVBQUpBLElBQUk7VUFDSkQsSUFBSSxFQUFKQTtRQUNGLENBQUMsQ0FBQztNQUNKO0lBQ0YsQ0FBQyxFQUFFLENBQUNDLElBQUksRUFBRUQsSUFBSSxFQUFFRSxXQUFXLEVBQUVDLG9CQUFvQixDQUFDLENBQUM7SUFFbkQsb0JBQ0UxQyxNQUFBLFlBQUFrRCxhQUFBLENBQUMzQyxrQkFBQSxDQUFBNEMsa0JBQWtCO01BQUNDLFNBQVMsRUFBQztJQUFvQixnQkFDaERwRCxNQUFBLFlBQUFrRCxhQUFBLENBQUNsQixlQUFlLHFCQUNkaEMsTUFBQSxZQUFBa0QsYUFBQTtNQUFLRSxTQUFTLEVBQUM7SUFBc0IsZ0JBQ25DcEQsTUFBQSxZQUFBa0QsYUFBQTtNQUFLRSxTQUFTLEVBQUM7SUFBNEIsZ0JBQ3pDcEQsTUFBQSxZQUFBa0QsYUFBQSxDQUFDeEMsS0FBQSxDQUFBMkMsZ0JBQWdCO01BQUNDLEVBQUUsRUFBRTtJQUErQixDQUFFLENBQ3BELENBQUMsZUFDTnRELE1BQUEsWUFBQWtELGFBQUEsQ0FBQ3hDLEtBQUEsQ0FBQTJDLGdCQUFnQjtNQUFDQyxFQUFFLEVBQUU7SUFBcUMsQ0FBRSxDQUFDLGVBQzlEdEQsTUFBQSxZQUFBa0QsYUFBQTtNQUFLRSxTQUFTLEVBQUMsYUFBYTtNQUFDRSxFQUFFLEVBQUM7SUFBa0MsR0FDL0RDLDZCQUF3QixDQUFDQyxNQUFNLENBQUMsVUFBQUMsRUFBRTtNQUFBLE9BQUksQ0FBQ0EsRUFBRSxDQUFDQyxNQUFNO0lBQUEsRUFBQyxDQUFDQyxHQUFHLENBQUMsVUFBQUYsRUFBRTtNQUFBLG9CQUN2RHpELE1BQUEsWUFBQWtELGFBQUEsQ0FBQzNDLGtCQUFBLENBQUFxRCxlQUFlO1FBQ2RDLEdBQUcsRUFBRUosRUFBRSxDQUFDSCxFQUFHO1FBQ1hRLFFBQVEsRUFBRWhCLEtBQUssS0FBS1csRUFBRSxDQUFDSCxFQUFHO1FBQzFCUyxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtVQUFBLE9BQVFyQixvQkFBb0IsQ0FBQztZQUFDSSxLQUFLLEVBQUVXLEVBQUUsQ0FBQ0g7VUFBRSxDQUFDLENBQUM7UUFBQTtNQUFDLGdCQUVwRHRELE1BQUEsWUFBQWtELGFBQUEsQ0FBQ3hDLEtBQUEsQ0FBQTJDLGdCQUFnQjtRQUFDQyxFQUFFLEVBQUVHLEVBQUUsQ0FBQ087TUFBTSxDQUFFLENBQUMsRUFDakNsQixLQUFLLEtBQUtXLEVBQUUsQ0FBQ0gsRUFBRSxpQkFBSXRELE1BQUEsWUFBQWtELGFBQUEsQ0FBQzNDLGtCQUFBLENBQUEwRCxTQUFTLE1BQUUsQ0FDakIsQ0FBQztJQUFBLENBQ25CLENBQ0UsQ0FDRixDQUFDLGVBQ05qRSxNQUFBLFlBQUFrRCxhQUFBO01BQUtFLFNBQVMsRUFBQztJQUFzQixnQkFDbkNwRCxNQUFBLFlBQUFrRCxhQUFBO01BQUtFLFNBQVMsRUFBQztJQUE0QixnQkFDekNwRCxNQUFBLFlBQUFrRCxhQUFBLENBQUN4QyxLQUFBLENBQUEyQyxnQkFBZ0I7TUFBQ0MsRUFBRSxFQUFFO0lBQW9DLENBQUUsQ0FDekQsQ0FBQyxlQUNOdEQsTUFBQSxZQUFBa0QsYUFBQSxDQUFDeEMsS0FBQSxDQUFBMkMsZ0JBQWdCO01BQUNDLEVBQUUsRUFBRTtJQUEwQyxDQUFFLENBQUMsZUFDbkV0RCxNQUFBLFlBQUFrRCxhQUFBO01BQUtFLFNBQVMsRUFBQyxhQUFhO01BQUNFLEVBQUUsRUFBQztJQUF1QyxHQUNwRVksa0NBQTZCLENBQUNQLEdBQUcsQ0FBQyxVQUFBRixFQUFFO01BQUEsb0JBQ25DekQsTUFBQSxZQUFBa0QsYUFBQSxDQUFDM0Msa0JBQUEsQ0FBQXFELGVBQWU7UUFDZEMsR0FBRyxFQUFFSixFQUFFLENBQUNILEVBQUc7UUFDWFEsUUFBUSxFQUFFZixVQUFVLEtBQUtVLEVBQUUsQ0FBQ0gsRUFBRztRQUMvQlMsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7VUFBQSxPQUFRTixFQUFFLENBQUNVLFNBQVMsSUFBSXpCLG9CQUFvQixDQUFDO1lBQUNLLFVBQVUsRUFBRVUsRUFBRSxDQUFDSDtVQUFFLENBQUMsQ0FBQztRQUFBO01BQUMsR0FFeEVHLEVBQUUsQ0FBQ08sS0FBSyxFQUNSakIsVUFBVSxLQUFLVSxFQUFFLENBQUNILEVBQUUsaUJBQUl0RCxNQUFBLFlBQUFrRCxhQUFBLENBQUMzQyxrQkFBQSxDQUFBMEQsU0FBUyxNQUFFLENBQ3RCLENBQUM7SUFBQSxDQUNuQixDQUNFLENBQ0YsQ0FBQyxlQUNOakUsTUFBQSxZQUFBa0QsYUFBQTtNQUFLRSxTQUFTLEVBQUM7SUFBc0IsZ0JBQ25DcEQsTUFBQSxZQUFBa0QsYUFBQTtNQUFLRSxTQUFTLEVBQUM7SUFBNEIsZ0JBQ3pDcEQsTUFBQSxZQUFBa0QsYUFBQSxDQUFDeEMsS0FBQSxDQUFBMkMsZ0JBQWdCO01BQUNDLEVBQUUsRUFBRTtJQUFtQyxDQUFFLENBQ3hELENBQUMsZUFDTnRELE1BQUEsWUFBQWtELGFBQUEsQ0FBQzFDLE9BQUEsV0FBTTtNQUNMNEQsSUFBSSxFQUFDLFVBQVU7TUFDZmQsRUFBRSxFQUFDLGdCQUFnQjtNQUNuQmUsT0FBTyxFQUFFeEIsTUFBTztNQUNoQm1CLEtBQUssRUFBRXBCLElBQUksQ0FBQzBCLGFBQWEsQ0FBQztRQUFDaEIsRUFBRSxFQUFFO01BQWdDLENBQUMsQ0FBRTtNQUNsRWlCLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFBO1FBQUEsT0FBUTdCLG9CQUFvQixDQUFDO1VBQUNHLE1BQU0sRUFBRSxDQUFDQTtRQUFNLENBQUMsQ0FBQztNQUFBO0lBQUMsQ0FDekQsQ0FDRSxDQUNVLENBQUMsZUFDbEI3QyxNQUFBLFlBQUFrRCxhQUFBLENBQUM3QyxhQUFBLFdBQVk7TUFBQ29DLFdBQVcsRUFBRUE7SUFBWSxDQUFFLENBQ3ZCLENBQUM7RUFFekIsQ0FBQztFQUVELE9BQU8sSUFBQStCLHFCQUFVLEVBQUNuQyxnQkFBZ0IsQ0FBQztBQUNyQyxDQUFDO0FBQUMsSUFBQW9DLFFBQUEsR0FBQUMsT0FBQSxjQUVhdEMsdUJBQXVCIiwiaWdub3JlTGlzdCI6W119