UNPKG

kepler.gl

Version:

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

109 lines (89 loc) 16.2 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.uiStateReducerFactory = exports.INITIAL_UI_STATE = exports.DEFAULT_EXPORT_DATA = exports.DEFAULT_EXPORT_IMAGE = exports.DEFAULT_MAP_CONTROLS = exports.DEFAULT_MODAL = exports.DEFAULT_ACTIVE_SIDE_PANEL = undefined; var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _defineProperty2 = require('babel-runtime/helpers/defineProperty'); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _actionHandler; // Copyright (c) 2018 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. var _reduxActions = require('redux-actions'); var _actionTypes = require('../constants/action-types'); var _actionTypes2 = _interopRequireDefault(_actionTypes); var _defaultSettings = require('../constants/default-settings'); var _uiStateUpdaters = require('./ui-state-updaters'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var DEFAULT_ACTIVE_SIDE_PANEL = exports.DEFAULT_ACTIVE_SIDE_PANEL = 'layer'; var DEFAULT_MODAL = exports.DEFAULT_MODAL = _defaultSettings.ADD_DATA_ID; var DEFAULT_MAP_CONTROLS = exports.DEFAULT_MAP_CONTROLS = { visibleLayers: { show: true, active: false }, mapLegend: { show: true, active: false }, toggle3d: { show: true }, splitMap: { show: true } }; var DEFAULT_EXPORT_IMAGE = exports.DEFAULT_EXPORT_IMAGE = { // user options ratio: _defaultSettings.RATIOS.SCREEN, resolution: _defaultSettings.RESOLUTIONS.ONE_X, legend: false, // exporting state imageDataUri: '', exporting: false }; var DEFAULT_EXPORT_DATA = exports.DEFAULT_EXPORT_DATA = { selectedDataset: '', dataType: _defaultSettings.EXPORT_DATA_TYPE.CSV, filtered: true, config: false, // no longer used, since we removed the option to export config from modal data export data: false // this is used in modal config export }; var INITIAL_UI_STATE = exports.INITIAL_UI_STATE = { readOnly: false, activeSidePanel: DEFAULT_ACTIVE_SIDE_PANEL, currentModal: DEFAULT_MODAL, datasetKeyToRemove: null, visibleDropdown: null, // export image modal ui exportImage: DEFAULT_EXPORT_IMAGE, // export data modal ui exportData: DEFAULT_EXPORT_DATA, // map control panels mapControls: DEFAULT_MAP_CONTROLS }; var actionHandler = (_actionHandler = {}, (0, _defineProperty3.default)(_actionHandler, _actionTypes2.default.TOGGLE_SIDE_PANEL, _uiStateUpdaters.toggleSidePanelUpdater), (0, _defineProperty3.default)(_actionHandler, _actionTypes2.default.TOGGLE_MODAL, _uiStateUpdaters.toggleModalUpdater), (0, _defineProperty3.default)(_actionHandler, _actionTypes2.default.SHOW_EXPORT_DROPDOWN, _uiStateUpdaters.showExportDropdownUpdater), (0, _defineProperty3.default)(_actionHandler, _actionTypes2.default.HIDE_EXPORT_DROPDOWN, _uiStateUpdaters.hideExportDropdownUpdater), (0, _defineProperty3.default)(_actionHandler, _actionTypes2.default.OPEN_DELETE_MODAL, _uiStateUpdaters.openDeleteModalUpdater), (0, _defineProperty3.default)(_actionHandler, _actionTypes2.default.TOGGLE_MAP_CONTROL, _uiStateUpdaters.toggleMapControlUpdater), (0, _defineProperty3.default)(_actionHandler, _actionTypes2.default.SET_RATIO, _uiStateUpdaters.setRatioUpdater), (0, _defineProperty3.default)(_actionHandler, _actionTypes2.default.SET_RESOLUTION, _uiStateUpdaters.setResolutionUpdater), (0, _defineProperty3.default)(_actionHandler, _actionTypes2.default.TOGGLE_LEGEND, _uiStateUpdaters.toggleLegendUpdater), (0, _defineProperty3.default)(_actionHandler, _actionTypes2.default.START_EXPORTING_IMAGE, _uiStateUpdaters.startExportingImage), (0, _defineProperty3.default)(_actionHandler, _actionTypes2.default.SET_EXPORT_IMAGE_DATA_URI, _uiStateUpdaters.setExportImageDataUri), (0, _defineProperty3.default)(_actionHandler, _actionTypes2.default.CLEANUP_EXPORT_IMAGE, _uiStateUpdaters.cleanupExportImage), (0, _defineProperty3.default)(_actionHandler, _actionTypes2.default.SET_EXPORT_SELECTED_DATASET, _uiStateUpdaters.setExportSelectedDatasetUpdater), (0, _defineProperty3.default)(_actionHandler, _actionTypes2.default.SET_EXPORT_DATA_TYPE, _uiStateUpdaters.setExportDataTypeUpdater), (0, _defineProperty3.default)(_actionHandler, _actionTypes2.default.SET_EXPORT_FILTERED, _uiStateUpdaters.setExportFilteredUpdater), (0, _defineProperty3.default)(_actionHandler, _actionTypes2.default.SET_EXPORT_CONFIG, _uiStateUpdaters.setExportConfigUpdater), (0, _defineProperty3.default)(_actionHandler, _actionTypes2.default.SET_EXPORT_DATA, _uiStateUpdaters.setExportDataUpdater), _actionHandler); /* Reducer */ var uiStateReducerFactory = exports.uiStateReducerFactory = function uiStateReducerFactory() { var initialState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; return (0, _reduxActions.handleActions)(actionHandler, (0, _extends3.default)({}, INITIAL_UI_STATE, initialState, { initialState: initialState })); }; exports.default = uiStateReducerFactory(); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZWR1Y2Vycy91aS1zdGF0ZS5qcyJdLCJuYW1lcyI6WyJERUZBVUxUX0FDVElWRV9TSURFX1BBTkVMIiwiREVGQVVMVF9NT0RBTCIsIkFERF9EQVRBX0lEIiwiREVGQVVMVF9NQVBfQ09OVFJPTFMiLCJ2aXNpYmxlTGF5ZXJzIiwic2hvdyIsImFjdGl2ZSIsIm1hcExlZ2VuZCIsInRvZ2dsZTNkIiwic3BsaXRNYXAiLCJERUZBVUxUX0VYUE9SVF9JTUFHRSIsInJhdGlvIiwiUkFUSU9TIiwiU0NSRUVOIiwicmVzb2x1dGlvbiIsIlJFU09MVVRJT05TIiwiT05FX1giLCJsZWdlbmQiLCJpbWFnZURhdGFVcmkiLCJleHBvcnRpbmciLCJERUZBVUxUX0VYUE9SVF9EQVRBIiwic2VsZWN0ZWREYXRhc2V0IiwiZGF0YVR5cGUiLCJFWFBPUlRfREFUQV9UWVBFIiwiQ1NWIiwiZmlsdGVyZWQiLCJjb25maWciLCJkYXRhIiwiSU5JVElBTF9VSV9TVEFURSIsInJlYWRPbmx5IiwiYWN0aXZlU2lkZVBhbmVsIiwiY3VycmVudE1vZGFsIiwiZGF0YXNldEtleVRvUmVtb3ZlIiwidmlzaWJsZURyb3Bkb3duIiwiZXhwb3J0SW1hZ2UiLCJleHBvcnREYXRhIiwibWFwQ29udHJvbHMiLCJhY3Rpb25IYW5kbGVyIiwiQWN0aW9uVHlwZXMiLCJUT0dHTEVfU0lERV9QQU5FTCIsInRvZ2dsZVNpZGVQYW5lbFVwZGF0ZXIiLCJUT0dHTEVfTU9EQUwiLCJ0b2dnbGVNb2RhbFVwZGF0ZXIiLCJTSE9XX0VYUE9SVF9EUk9QRE9XTiIsInNob3dFeHBvcnREcm9wZG93blVwZGF0ZXIiLCJISURFX0VYUE9SVF9EUk9QRE9XTiIsImhpZGVFeHBvcnREcm9wZG93blVwZGF0ZXIiLCJPUEVOX0RFTEVURV9NT0RBTCIsIm9wZW5EZWxldGVNb2RhbFVwZGF0ZXIiLCJUT0dHTEVfTUFQX0NPTlRST0wiLCJ0b2dnbGVNYXBDb250cm9sVXBkYXRlciIsIlNFVF9SQVRJTyIsInNldFJhdGlvVXBkYXRlciIsIlNFVF9SRVNPTFVUSU9OIiwic2V0UmVzb2x1dGlvblVwZGF0ZXIiLCJUT0dHTEVfTEVHRU5EIiwidG9nZ2xlTGVnZW5kVXBkYXRlciIsIlNUQVJUX0VYUE9SVElOR19JTUFHRSIsInN0YXJ0RXhwb3J0aW5nSW1hZ2UiLCJTRVRfRVhQT1JUX0lNQUdFX0RBVEFfVVJJIiwic2V0RXhwb3J0SW1hZ2VEYXRhVXJpIiwiQ0xFQU5VUF9FWFBPUlRfSU1BR0UiLCJjbGVhbnVwRXhwb3J0SW1hZ2UiLCJTRVRfRVhQT1JUX1NFTEVDVEVEX0RBVEFTRVQiLCJzZXRFeHBvcnRTZWxlY3RlZERhdGFzZXRVcGRhdGVyIiwiU0VUX0VYUE9SVF9EQVRBX1RZUEUiLCJzZXRFeHBvcnREYXRhVHlwZVVwZGF0ZXIiLCJTRVRfRVhQT1JUX0ZJTFRFUkVEIiwic2V0RXhwb3J0RmlsdGVyZWRVcGRhdGVyIiwiU0VUX0VYUE9SVF9DT05GSUciLCJzZXRFeHBvcnRDb25maWdVcGRhdGVyIiwiU0VUX0VYUE9SVF9EQVRBIiwic2V0RXhwb3J0RGF0YVVwZGF0ZXIiLCJ1aVN0YXRlUmVkdWNlckZhY3RvcnkiLCJpbml0aWFsU3RhdGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztvQkFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTs7OztBQUNBOztBQU1BOzs7O0FBdUJPLElBQU1BLGdFQUE0QixPQUFsQztBQUNBLElBQU1DLHdDQUFnQkMsNEJBQXRCOztBQUVBLElBQU1DLHNEQUF1QjtBQUNsQ0MsaUJBQWU7QUFDYkMsVUFBTSxJQURPO0FBRWJDLFlBQVE7QUFGSyxHQURtQjtBQUtsQ0MsYUFBVztBQUNURixVQUFNLElBREc7QUFFVEMsWUFBUTtBQUZDLEdBTHVCO0FBU2xDRSxZQUFVO0FBQ1JILFVBQU07QUFERSxHQVR3QjtBQVlsQ0ksWUFBVTtBQUNSSixVQUFNO0FBREU7QUFad0IsQ0FBN0I7O0FBaUJBLElBQU1LLHNEQUF1QjtBQUNsQztBQUNBQyxTQUFPQyx3QkFBT0MsTUFGb0I7QUFHbENDLGNBQVlDLDZCQUFZQyxLQUhVO0FBSWxDQyxVQUFRLEtBSjBCO0FBS2xDO0FBQ0FDLGdCQUFjLEVBTm9CO0FBT2xDQyxhQUFXO0FBUHVCLENBQTdCOztBQVVBLElBQU1DLG9EQUFzQjtBQUNqQ0MsbUJBQWlCLEVBRGdCO0FBRWpDQyxZQUFVQyxrQ0FBaUJDLEdBRk07QUFHakNDLFlBQVUsSUFIdUI7QUFJakNDLFVBQVEsS0FKeUIsRUFJbEI7QUFDZkMsUUFBTSxLQUwyQixDQUtyQjtBQUxxQixDQUE1Qjs7QUFRQSxJQUFNQyw4Q0FBbUI7QUFDOUJDLFlBQVUsS0FEb0I7QUFFOUJDLG1CQUFpQjlCLHlCQUZhO0FBRzlCK0IsZ0JBQWM5QixhQUhnQjtBQUk5QitCLHNCQUFvQixJQUpVO0FBSzlCQyxtQkFBaUIsSUFMYTtBQU05QjtBQUNBQyxlQUFheEIsb0JBUGlCO0FBUTlCO0FBQ0F5QixjQUFZZixtQkFUa0I7QUFVOUI7QUFDQWdCLGVBQWFqQztBQVhpQixDQUF6Qjs7QUFjUCxJQUFNa0Msb0ZBQ0hDLHNCQUFZQyxpQkFEVCxFQUM2QkMsdUNBRDdCLGlEQUVIRixzQkFBWUcsWUFGVCxFQUV3QkMsbUNBRnhCLGlEQUdISixzQkFBWUssb0JBSFQsRUFHZ0NDLDBDQUhoQyxpREFJSE4sc0JBQVlPLG9CQUpULEVBSWdDQywwQ0FKaEMsaURBS0hSLHNCQUFZUyxpQkFMVCxFQUs2QkMsdUNBTDdCLGlEQU1IVixzQkFBWVcsa0JBTlQsRUFNOEJDLHdDQU45QixpREFRSFosc0JBQVlhLFNBUlQsRUFRcUJDLGdDQVJyQixpREFTSGQsc0JBQVllLGNBVFQsRUFTMEJDLHFDQVQxQixpREFVSGhCLHNCQUFZaUIsYUFWVCxFQVV5QkMsb0NBVnpCLGlEQVdIbEIsc0JBQVltQixxQkFYVCxFQVdpQ0Msb0NBWGpDLGlEQVlIcEIsc0JBQVlxQix5QkFaVCxFQVlxQ0Msc0NBWnJDLGlEQWFIdEIsc0JBQVl1QixvQkFiVCxFQWFnQ0MsbUNBYmhDLGlEQWVIeEIsc0JBQVl5QiwyQkFmVCxFQWV1Q0MsZ0RBZnZDLGlEQWdCSDFCLHNCQUFZMkIsb0JBaEJULEVBZ0JnQ0MseUNBaEJoQyxpREFpQkg1QixzQkFBWTZCLG1CQWpCVCxFQWlCK0JDLHlDQWpCL0IsaURBa0JIOUIsc0JBQVkrQixpQkFsQlQsRUFrQjZCQyx1Q0FsQjdCLGlEQW1CSGhDLHNCQUFZaUMsZUFuQlQsRUFtQjJCQyxxQ0FuQjNCLGtCQUFOOztBQXNCQTtBQUNPLElBQU1DLHdEQUF3QixTQUF4QkEscUJBQXdCO0FBQUEsTUFBQ0MsWUFBRCx1RUFBZ0IsRUFBaEI7QUFBQSxTQUNuQyxpQ0FBY3JDLGFBQWQsNkJBQWlDVCxnQkFBakMsRUFBc0Q4QyxZQUF0RCxJQUFvRUEsMEJBQXBFLElBRG1DO0FBQUEsQ0FBOUI7O2tCQUdRRCx1QiIsImZpbGUiOiJ1aS1zdGF0ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAxOCBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB7aGFuZGxlQWN0aW9uc30gZnJvbSAncmVkdXgtYWN0aW9ucyc7XG5pbXBvcnQgQWN0aW9uVHlwZXMgZnJvbSAnY29uc3RhbnRzL2FjdGlvbi10eXBlcyc7XG5pbXBvcnQge1xuICBBRERfREFUQV9JRCxcbiAgRVhQT1JUX0RBVEFfVFlQRSxcbiAgUkFUSU9TLFxuICBSRVNPTFVUSU9OU1xufSBmcm9tICdjb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncyc7XG5pbXBvcnQge1xuICBvcGVuRGVsZXRlTW9kYWxVcGRhdGVyLFxuICB0b2dnbGVNb2RhbFVwZGF0ZXIsXG4gIHNob3dFeHBvcnREcm9wZG93blVwZGF0ZXIsXG4gIGhpZGVFeHBvcnREcm9wZG93blVwZGF0ZXIsXG4gIHRvZ2dsZVNpZGVQYW5lbFVwZGF0ZXIsXG4gIHRvZ2dsZU1hcENvbnRyb2xVcGRhdGVyLFxuXG4gIC8vIGV4cG9ydCBpbWFnZVxuICBjbGVhbnVwRXhwb3J0SW1hZ2UsXG4gIHNldEV4cG9ydEltYWdlRGF0YVVyaSxcbiAgc2V0UmF0aW9VcGRhdGVyLFxuICBzZXRSZXNvbHV0aW9uVXBkYXRlcixcbiAgc3RhcnRFeHBvcnRpbmdJbWFnZSxcbiAgdG9nZ2xlTGVnZW5kVXBkYXRlcixcbiAgLy8gZXhwb3J0IGRhdGFcbiAgc2V0RXhwb3J0U2VsZWN0ZWREYXRhc2V0VXBkYXRlcixcbiAgc2V0RXhwb3J0RGF0YVR5cGVVcGRhdGVyLFxuICBzZXRFeHBvcnRGaWx0ZXJlZFVwZGF0ZXIsXG4gIHNldEV4cG9ydENvbmZpZ1VwZGF0ZXIsXG4gIHNldEV4cG9ydERhdGFVcGRhdGVyXG59IGZyb20gJy4vdWktc3RhdGUtdXBkYXRlcnMnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9BQ1RJVkVfU0lERV9QQU5FTCA9ICdsYXllcic7XG5leHBvcnQgY29uc3QgREVGQVVMVF9NT0RBTCA9IEFERF9EQVRBX0lEO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBfQ09OVFJPTFMgPSB7XG4gIHZpc2libGVMYXllcnM6IHtcbiAgICBzaG93OiB0cnVlLFxuICAgIGFjdGl2ZTogZmFsc2VcbiAgfSxcbiAgbWFwTGVnZW5kOiB7XG4gICAgc2hvdzogdHJ1ZSxcbiAgICBhY3RpdmU6IGZhbHNlXG4gIH0sXG4gIHRvZ2dsZTNkOiB7XG4gICAgc2hvdzogdHJ1ZVxuICB9LFxuICBzcGxpdE1hcDoge1xuICAgIHNob3c6IHRydWVcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRVhQT1JUX0lNQUdFID0ge1xuICAvLyB1c2VyIG9wdGlvbnNcbiAgcmF0aW86IFJBVElPUy5TQ1JFRU4sXG4gIHJlc29sdXRpb246IFJFU09MVVRJT05TLk9ORV9YLFxuICBsZWdlbmQ6IGZhbHNlLFxuICAvLyBleHBvcnRpbmcgc3RhdGVcbiAgaW1hZ2VEYXRhVXJpOiAnJyxcbiAgZXhwb3J0aW5nOiBmYWxzZVxufTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRVhQT1JUX0RBVEEgPSB7XG4gIHNlbGVjdGVkRGF0YXNldDogJycsXG4gIGRhdGFUeXBlOiBFWFBPUlRfREFUQV9UWVBFLkNTVixcbiAgZmlsdGVyZWQ6IHRydWUsXG4gIGNvbmZpZzogZmFsc2UsIC8vIG5vIGxvbmdlciB1c2VkLCBzaW5jZSB3ZSByZW1vdmVkIHRoZSBvcHRpb24gdG8gZXhwb3J0IGNvbmZpZyBmcm9tIG1vZGFsIGRhdGEgZXhwb3J0XG4gIGRhdGE6IGZhbHNlIC8vIHRoaXMgaXMgdXNlZCBpbiBtb2RhbCBjb25maWcgZXhwb3J0XG59O1xuXG5leHBvcnQgY29uc3QgSU5JVElBTF9VSV9TVEFURSA9IHtcbiAgcmVhZE9ubHk6IGZhbHNlLFxuICBhY3RpdmVTaWRlUGFuZWw6IERFRkFVTFRfQUNUSVZFX1NJREVfUEFORUwsXG4gIGN1cnJlbnRNb2RhbDogREVGQVVMVF9NT0RBTCxcbiAgZGF0YXNldEtleVRvUmVtb3ZlOiBudWxsLFxuICB2aXNpYmxlRHJvcGRvd246IG51bGwsXG4gIC8vIGV4cG9ydCBpbWFnZSBtb2RhbCB1aVxuICBleHBvcnRJbWFnZTogREVGQVVMVF9FWFBPUlRfSU1BR0UsXG4gIC8vIGV4cG9ydCBkYXRhIG1vZGFsIHVpXG4gIGV4cG9ydERhdGE6IERFRkFVTFRfRVhQT1JUX0RBVEEsXG4gIC8vIG1hcCBjb250cm9sIHBhbmVsc1xuICBtYXBDb250cm9sczogREVGQVVMVF9NQVBfQ09OVFJPTFNcbn07XG5cbmNvbnN0IGFjdGlvbkhhbmRsZXIgPSB7XG4gIFtBY3Rpb25UeXBlcy5UT0dHTEVfU0lERV9QQU5FTF06IHRvZ2dsZVNpZGVQYW5lbFVwZGF0ZXIsXG4gIFtBY3Rpb25UeXBlcy5UT0dHTEVfTU9EQUxdOiB0b2dnbGVNb2RhbFVwZGF0ZXIsXG4gIFtBY3Rpb25UeXBlcy5TSE9XX0VYUE9SVF9EUk9QRE9XTl06IHNob3dFeHBvcnREcm9wZG93blVwZGF0ZXIsXG4gIFtBY3Rpb25UeXBlcy5ISURFX0VYUE9SVF9EUk9QRE9XTl06IGhpZGVFeHBvcnREcm9wZG93blVwZGF0ZXIsXG4gIFtBY3Rpb25UeXBlcy5PUEVOX0RFTEVURV9NT0RBTF06IG9wZW5EZWxldGVNb2RhbFVwZGF0ZXIsXG4gIFtBY3Rpb25UeXBlcy5UT0dHTEVfTUFQX0NPTlRST0xdOiB0b2dnbGVNYXBDb250cm9sVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0VUX1JBVElPXTogc2V0UmF0aW9VcGRhdGVyLFxuICBbQWN0aW9uVHlwZXMuU0VUX1JFU09MVVRJT05dOiBzZXRSZXNvbHV0aW9uVXBkYXRlcixcbiAgW0FjdGlvblR5cGVzLlRPR0dMRV9MRUdFTkRdOiB0b2dnbGVMZWdlbmRVcGRhdGVyLFxuICBbQWN0aW9uVHlwZXMuU1RBUlRfRVhQT1JUSU5HX0lNQUdFXTogc3RhcnRFeHBvcnRpbmdJbWFnZSxcbiAgW0FjdGlvblR5cGVzLlNFVF9FWFBPUlRfSU1BR0VfREFUQV9VUkldOiBzZXRFeHBvcnRJbWFnZURhdGFVcmksXG4gIFtBY3Rpb25UeXBlcy5DTEVBTlVQX0VYUE9SVF9JTUFHRV06IGNsZWFudXBFeHBvcnRJbWFnZSxcblxuICBbQWN0aW9uVHlwZXMuU0VUX0VYUE9SVF9TRUxFQ1RFRF9EQVRBU0VUXTogc2V0RXhwb3J0U2VsZWN0ZWREYXRhc2V0VXBkYXRlcixcbiAgW0FjdGlvblR5cGVzLlNFVF9FWFBPUlRfREFUQV9UWVBFXTogc2V0RXhwb3J0RGF0YVR5cGVVcGRhdGVyLFxuICBbQWN0aW9uVHlwZXMuU0VUX0VYUE9SVF9GSUxURVJFRF06IHNldEV4cG9ydEZpbHRlcmVkVXBkYXRlcixcbiAgW0FjdGlvblR5cGVzLlNFVF9FWFBPUlRfQ09ORklHXTogc2V0RXhwb3J0Q29uZmlnVXBkYXRlcixcbiAgW0FjdGlvblR5cGVzLlNFVF9FWFBPUlRfREFUQV06IHNldEV4cG9ydERhdGFVcGRhdGVyXG59O1xuXG4vKiBSZWR1Y2VyICovXG5leHBvcnQgY29uc3QgdWlTdGF0ZVJlZHVjZXJGYWN0b3J5ID0gKGluaXRpYWxTdGF0ZSA9IHt9KSA9PlxuICBoYW5kbGVBY3Rpb25zKGFjdGlvbkhhbmRsZXIsIHsuLi5JTklUSUFMX1VJX1NUQVRFLCAuLi5pbml0aWFsU3RhdGUsIGluaXRpYWxTdGF0ZX0pO1xuXG5leHBvcnQgZGVmYXVsdCB1aVN0YXRlUmVkdWNlckZhY3RvcnkoKTtcbiJdfQ==