kepler.gl.geoiq
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
44 lines (29 loc) • 27.6 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.visStateReducerFactory = exports["default"] = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _actionTypes = _interopRequireDefault(require("../constants/action-types"));
var _reduxActions = require("redux-actions");
var visStateUpdaters = _interopRequireWildcard(require("./vis-state-updaters"));
var _actionHandler;
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
/**
* Important: Do not rename `actionHandler` or the assignment pattern of property value.
* It is used to generate documentation
*/
var actionHandler = (_actionHandler = {}, (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].ADD_FILTER, visStateUpdaters.addFilterUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].ADD_WIDGET, visStateUpdaters.addWidgetUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].ADD_LAYER, visStateUpdaters.addLayerUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].ENLARGE_FILTER, visStateUpdaters.enlargeFilterUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].INTERACTION_CONFIG_CHANGE, visStateUpdaters.interactionConfigChangeUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].LAYER_CLICK, visStateUpdaters.layerClickUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].LAYER_CONFIG_CHANGE, visStateUpdaters.layerConfigChangeUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].LAYER_HOVER, visStateUpdaters.layerHoverUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].LAYER_TYPE_CHANGE, visStateUpdaters.layerTypeChangeUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].WIDGET_CLICK, visStateUpdaters.widgetClickUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].WIDGET_CONFIG_CHANGE, visStateUpdaters.widgetConfigChangeUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].WIDGET_HOVER, visStateUpdaters.widgetHoverUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].WIDGET_TYPE_CHANGE, visStateUpdaters.widgetTypeChangeUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].WIDGET_VIS_CONFIG_CHANGE, visStateUpdaters.widgetVisConfigChangeUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].WIDGET_VISUAL_CHANNEL_CHANGE, visStateUpdaters.widgetVisualChannelChangeUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].LAYER_VIS_CONFIG_CHANGE, visStateUpdaters.layerVisConfigChangeUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].LAYER_TEXT_LABEL_CHANGE, visStateUpdaters.layerTextLabelChangeUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].LAYER_VISUAL_CHANNEL_CHANGE, visStateUpdaters.layerVisualChannelChangeUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].LAYER_COLOR_UI_CHANGE, visStateUpdaters.layerColorUIChangeUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].LOAD_FILES, visStateUpdaters.loadFilesUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].LOAD_FILES_ERR, visStateUpdaters.loadFilesErrUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].MAP_CLICK, visStateUpdaters.mapClickUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].MOUSE_MOVE, visStateUpdaters.mouseMoveUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].RECEIVE_MAP_CONFIG, visStateUpdaters.receiveMapConfigUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].REMOVE_DATASET, visStateUpdaters.removeDatasetUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].REMOVE_FILTER, visStateUpdaters.removeFilterUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].REMOVE_LAYER, visStateUpdaters.removeLayerUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].REMOVE_WIDGET, visStateUpdaters.removeWidgetUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].REORDER_WIDGET, visStateUpdaters.reorderWidgetUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].LOAD_URL, visStateUpdaters.loadURLUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].LOAD_ED_LINK, visStateUpdaters.loadEDLinkData), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].MAP_CLICK, visStateUpdaters.mapClickUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].REORDER_LAYER, visStateUpdaters.reorderLayerUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].RESET_MAP_CONFIG, visStateUpdaters.resetMapConfigUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].SET_FILTER, visStateUpdaters.setFilterUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].SET_FILTER_API, visStateUpdaters.setFilterAPIUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].SET_FILTER_PLOT, visStateUpdaters.setFilterPlotUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].SET_VISIBLE_LAYERS_FOR_MAP, visStateUpdaters.setVisibleLayersForMapUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].SHOW_DATASET_TABLE, visStateUpdaters.showDatasetTableUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].TOGGLE_FILTER_ANIMATION, visStateUpdaters.toggleFilterAnimationUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].UPDATE_FILTER_ANIMATION_SPEED, visStateUpdaters.updateFilterAnimationSpeedUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].UPDATE_ANIMATION_TIME, visStateUpdaters.updateAnimationTimeUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].UPDATE_LAYER_ANIMATION_SPEED, visStateUpdaters.updateLayerAnimationSpeedUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].TOGGLE_LAYER_FOR_MAP, visStateUpdaters.toggleLayerForMapUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].TOGGLE_SPLIT_MAP, visStateUpdaters.toggleSplitMapUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].UPDATE_LAYER_BLENDING, visStateUpdaters.updateLayerBlendingUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].UPDATE_STATE_LAYER_DATA, visStateUpdaters.updateStateWithLayerDataUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].ASYNC_API_CALL, visStateUpdaters.apiCallData), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].UPDATE_VIS_DATA, visStateUpdaters.updateVisDataUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].SET_FEATURES, visStateUpdaters.setFeaturesUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].DELETE_FEATURE, visStateUpdaters.deleteFeatureUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].SET_POLYGON_FILTER_LAYER, visStateUpdaters.setPolygonFilterLayerUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].SET_SELECTED_FEATURE, visStateUpdaters.setSelectedFeatureUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].SET_EDITOR_MODE, visStateUpdaters.setEditorModeUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].TOGGLE_EDITOR_VISIBILITY, visStateUpdaters.toggleEditorVisibility), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].TOGGLE_FILTER_FEATURE, visStateUpdaters.toggleFilterFeatureUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].APPLY_CPU_FILTER, visStateUpdaters.applyCPUFilterUpdater), (0, _defineProperty2["default"])(_actionHandler, _actionTypes["default"].UPDATE_DATASET_INFO, visStateUpdaters.updateDatasetInfo), _actionHandler); // construct vis-state reducer
var visStateReducerFactory = exports.visStateReducerFactory = function visStateReducerFactory() {
var initialState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
return (0, _reduxActions.handleActions)(actionHandler, _objectSpread(_objectSpread(_objectSpread({}, visStateUpdaters.INITIAL_VIS_STATE), initialState), {}, {
initialState: initialState
}));
};
var _default = exports["default"] = visStateReducerFactory();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZWR1Y2Vycy92aXMtc3RhdGUuanMiXSwibmFtZXMiOlsiYWN0aW9uSGFuZGxlciIsIkFjdGlvblR5cGVzIiwiQUREX0ZJTFRFUiIsInZpc1N0YXRlVXBkYXRlcnMiLCJhZGRGaWx0ZXJVcGRhdGVyIiwiQUREX1dJREdFVCIsImFkZFdpZGdldFVwZGF0ZXIiLCJBRERfTEFZRVIiLCJhZGRMYXllclVwZGF0ZXIiLCJFTkxBUkdFX0ZJTFRFUiIsImVubGFyZ2VGaWx0ZXJVcGRhdGVyIiwiSU5URVJBQ1RJT05fQ09ORklHX0NIQU5HRSIsImludGVyYWN0aW9uQ29uZmlnQ2hhbmdlVXBkYXRlciIsIkxBWUVSX0NMSUNLIiwibGF5ZXJDbGlja1VwZGF0ZXIiLCJMQVlFUl9DT05GSUdfQ0hBTkdFIiwibGF5ZXJDb25maWdDaGFuZ2VVcGRhdGVyIiwiTEFZRVJfSE9WRVIiLCJsYXllckhvdmVyVXBkYXRlciIsIkxBWUVSX1RZUEVfQ0hBTkdFIiwibGF5ZXJUeXBlQ2hhbmdlVXBkYXRlciIsIldJREdFVF9DTElDSyIsIndpZGdldENsaWNrVXBkYXRlciIsIldJREdFVF9DT05GSUdfQ0hBTkdFIiwid2lkZ2V0Q29uZmlnQ2hhbmdlVXBkYXRlciIsIldJREdFVF9IT1ZFUiIsIndpZGdldEhvdmVyVXBkYXRlciIsIldJREdFVF9UWVBFX0NIQU5HRSIsIndpZGdldFR5cGVDaGFuZ2VVcGRhdGVyIiwiV0lER0VUX1ZJU19DT05GSUdfQ0hBTkdFIiwid2lkZ2V0VmlzQ29uZmlnQ2hhbmdlVXBkYXRlciIsIldJREdFVF9WSVNVQUxfQ0hBTk5FTF9DSEFOR0UiLCJ3aWRnZXRWaXN1YWxDaGFubmVsQ2hhbmdlVXBkYXRlciIsIkxBWUVSX1ZJU19DT05GSUdfQ0hBTkdFIiwibGF5ZXJWaXNDb25maWdDaGFuZ2VVcGRhdGVyIiwiTEFZRVJfVEVYVF9MQUJFTF9DSEFOR0UiLCJsYXllclRleHRMYWJlbENoYW5nZVVwZGF0ZXIiLCJMQVlFUl9WSVNVQUxfQ0hBTk5FTF9DSEFOR0UiLCJsYXllclZpc3VhbENoYW5uZWxDaGFuZ2VVcGRhdGVyIiwiTEFZRVJfQ09MT1JfVUlfQ0hBTkdFIiwibGF5ZXJDb2xvclVJQ2hhbmdlVXBkYXRlciIsIkxPQURfRklMRVMiLCJsb2FkRmlsZXNVcGRhdGVyIiwiTE9BRF9GSUxFU19FUlIiLCJsb2FkRmlsZXNFcnJVcGRhdGVyIiwiTUFQX0NMSUNLIiwibWFwQ2xpY2tVcGRhdGVyIiwiTU9VU0VfTU9WRSIsIm1vdXNlTW92ZVVwZGF0ZXIiLCJSRUNFSVZFX01BUF9DT05GSUciLCJyZWNlaXZlTWFwQ29uZmlnVXBkYXRlciIsIlJFTU9WRV9EQVRBU0VUIiwicmVtb3ZlRGF0YXNldFVwZGF0ZXIiLCJSRU1PVkVfRklMVEVSIiwicmVtb3ZlRmlsdGVyVXBkYXRlciIsIlJFTU9WRV9MQVlFUiIsInJlbW92ZUxheWVyVXBkYXRlciIsIlJFTU9WRV9XSURHRVQiLCJyZW1vdmVXaWRnZXRVcGRhdGVyIiwiUkVPUkRFUl9XSURHRVQiLCJyZW9yZGVyV2lkZ2V0VXBkYXRlciIsIkxPQURfVVJMIiwibG9hZFVSTFVwZGF0ZXIiLCJMT0FEX0VEX0xJTksiLCJsb2FkRURMaW5rRGF0YSIsIlJFT1JERVJfTEFZRVIiLCJyZW9yZGVyTGF5ZXJVcGRhdGVyIiwiUkVTRVRfTUFQX0NPTkZJRyIsInJlc2V0TWFwQ29uZmlnVXBkYXRlciIsIlNFVF9GSUxURVIiLCJzZXRGaWx0ZXJVcGRhdGVyIiwiU0VUX0ZJTFRFUl9BUEkiLCJzZXRGaWx0ZXJBUElVcGRhdGVyIiwiU0VUX0ZJTFRFUl9QTE9UIiwic2V0RmlsdGVyUGxvdFVwZGF0ZXIiLCJTRVRfVklTSUJMRV9MQVlFUlNfRk9SX01BUCIsInNldFZpc2libGVMYXllcnNGb3JNYXBVcGRhdGVyIiwiU0hPV19EQVRBU0VUX1RBQkxFIiwic2hvd0RhdGFzZXRUYWJsZVVwZGF0ZXIiLCJUT0dHTEVfRklMVEVSX0FOSU1BVElPTiIsInRvZ2dsZUZpbHRlckFuaW1hdGlvblVwZGF0ZXIiLCJVUERBVEVfRklMVEVSX0FOSU1BVElPTl9TUEVFRCIsInVwZGF0ZUZpbHRlckFuaW1hdGlvblNwZWVkVXBkYXRlciIsIlVQREFURV9BTklNQVRJT05fVElNRSIsInVwZGF0ZUFuaW1hdGlvblRpbWVVcGRhdGVyIiwiVVBEQVRFX0xBWUVSX0FOSU1BVElPTl9TUEVFRCIsInVwZGF0ZUxheWVyQW5pbWF0aW9uU3BlZWRVcGRhdGVyIiwiVE9HR0xFX0xBWUVSX0ZPUl9NQVAiLCJ0b2dnbGVMYXllckZvck1hcFVwZGF0ZXIiLCJUT0dHTEVfU1BMSVRfTUFQIiwidG9nZ2xlU3BsaXRNYXBVcGRhdGVyIiwiVVBEQVRFX0xBWUVSX0JMRU5ESU5HIiwidXBkYXRlTGF5ZXJCbGVuZGluZ1VwZGF0ZXIiLCJVUERBVEVfU1RBVEVfTEFZRVJfREFUQSIsInVwZGF0ZVN0YXRlV2l0aExheWVyRGF0YVVwZGF0ZXIiLCJBU1lOQ19BUElfQ0FMTCIsImFwaUNhbGxEYXRhIiwiVVBEQVRFX1ZJU19EQVRBIiwidXBkYXRlVmlzRGF0YVVwZGF0ZXIiLCJTRVRfRkVBVFVSRVMiLCJzZXRGZWF0dXJlc1VwZGF0ZXIiLCJERUxFVEVfRkVBVFVSRSIsImRlbGV0ZUZlYXR1cmVVcGRhdGVyIiwiU0VUX1BPTFlHT05fRklMVEVSX0xBWUVSIiwic2V0UG9seWdvbkZpbHRlckxheWVyVXBkYXRlciIsIlNFVF9TRUxFQ1RFRF9GRUFUVVJFIiwic2V0U2VsZWN0ZWRGZWF0dXJlVXBkYXRlciIsIlNFVF9FRElUT1JfTU9ERSIsInNldEVkaXRvck1vZGVVcGRhdGVyIiwiVE9HR0xFX0VESVRPUl9WSVNJQklMSVRZIiwidG9nZ2xlRWRpdG9yVmlzaWJpbGl0eSIsIlRPR0dMRV9GSUxURVJfRkVBVFVSRSIsInRvZ2dsZUZpbHRlckZlYXR1cmVVcGRhdGVyIiwiQVBQTFlfQ1BVX0ZJTFRFUiIsImFwcGx5Q1BVRmlsdGVyVXBkYXRlciIsIlVQREFURV9EQVRBU0VUX0lORk8iLCJ1cGRhdGVEYXRhc2V0SW5mbyIsInZpc1N0YXRlUmVkdWNlckZhY3RvcnkiLCJpbml0aWFs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LG9EQWlIaEJqRyx3QkFBWWtHLFlBakhJLEVBaUhXaEcsZ0JBQWdCLENBQUNpRyxrQkFqSDVCLG9EQW1IaEJuRyx3QkFBWW9HLGNBbkhJLEVBbUhhbEcsZ0JBQWdCLENBQUNtRyxvQkFuSDlCLG9EQXFIaEJyRyx3QkFBWXNHLHdCQXJISSxFQXNIZnBHLGdCQUFnQixDQUFDcUcsNEJBdEhGLG9EQXdIaEJ2Ryx3QkFBWXdHLG9CQXhISSxFQXlIZnRHLGdCQUFnQixDQUFDdUcseUJBekhGLG9EQTJIaEJ6Ryx3QkFBWTBHLGVBM0hJLEVBMkhjeEcsZ0JBQWdCLENBQUN5RyxvQkEzSC9CLG9EQTZIaEIzRyx3QkFBWTRHLHdCQTdISSxFQThIZjFHLGdCQUFnQixDQUFDMkcsc0JBOUhGLG9EQWdJaEI3Ryx3QkFBWThHLHFCQWhJSSxFQWlJZjVHLGdCQUFnQixDQUFDNkcsMEJBaklGLG9EQW1JaEIvRyx3QkFBWWdILGdCQW5JSSxFQW1JZTlHLGdCQUFnQixDQUFDK0cscUJBbkloQyxvREFxSWhCakgsd0JBQVlrSCxtQkFySUksRUFxSWtCaEgsZ0JBQWdCLENBQUNpSCxpQkFySW5DLGtCQUFuQixDLENBd0lBOztBQUNPLElBQU1DLHNCQUFzQixvQ0FBRyxTQUF6QkEsc0JBQXlCO0FBQUEsTUFBQ0MsWUFBRCx1RUFBZ0IsRUFBaEI7QUFBQSxTQUNwQyxpQ0FBY3RILGFBQWQsZ0RBQ0tHLGdCQUFnQixDQUFDb0gsaUJBRHRCLEdBRUtELFlBRkw7QUFHRUEsSUFBQUEsWUFBWSxFQUFaQTtBQUhGLEtBRG9DO0FBQUEsQ0FBL0I7O29DQU9RRCxzQkFBc0IsRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBBY3Rpb25UeXBlcyBmcm9tICdjb25zdGFudHMvYWN0aW9uLXR5cGVzJztcbmltcG9ydCB7aGFuZGxlQWN0aW9uc30gZnJvbSAncmVkdXgtYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyB2aXNTdGF0ZVVwZGF0ZXJzIGZyb20gJy4vdmlzLXN0YXRlLXVwZGF0ZXJzJztcblxuLyoqXG4gKiBJbXBvcnRhbnQ6IERvIG5vdCByZW5hbWUgYGFjdGlvbkhhbmRsZXJgIG9yIHRoZSBhc3NpZ25tZW50IHBhdHRlcm4gb2YgcHJvcGVydHkgdmFsdWUuXG4gKiBJdCBpcyB1c2VkIHRvIGdlbmVyYXRlIGRvY3VtZW50YXRpb25cbiAqL1xuY29uc3QgYWN0aW9uSGFuZGxlciA9IHtcbiAgW0FjdGlvblR5cGVzLkFERF9GSUxURVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLmFkZEZpbHRlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkFERF9XSURHRVRdOiB2aXNTdGF0ZVVwZGF0ZXJzLmFkZFdpZGdldFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkFERF9MQVlFUl06IHZpc1N0YXRlVXBkYXRlcnMuYWRkTGF5ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5FTkxBUkdFX0ZJTFRFUl06IHZpc1N0YXRlVXBkYXRlcnMuZW5sYXJnZUZpbHRlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLklOVEVSQUNUSU9OX0NPTkZJR19DSEFOR0VdOlxuICAgIHZpc1N0YXRlVXBkYXRlcnMuaW50ZXJhY3Rpb25Db25maWdDaGFuZ2VVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9DTElDS106IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJDbGlja1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX0NPTkZJR19DSEFOR0VdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVyQ29uZmlnQ2hhbmdlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTEFZRVJfSE9WRVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxheWVySG92ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9UWVBFX0NIQU5HRV06IHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJUeXBlQ2hhbmdlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuV0lER0VUX0NMSUNLXTogdmlzU3RhdGVVcGRhdGVycy53aWRnZXRDbGlja1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLldJREdFVF9DT05GSUdfQ0hBTkdFXTpcbiAgICB2aXNTdGF0ZVVwZGF0ZXJzLndpZGdldENvbmZpZ0NoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLldJREdFVF9IT1ZFUl06IHZpc1N0YXRlVXBkYXRlcnMud2lkZ2V0SG92ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5XSURHRVRfVFlQRV9DSEFOR0VdOiB2aXNTdGF0ZVVwZGF0ZXJzLndpZGdldFR5cGVDaGFuZ2VVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5XSURHRVRfVklTX0NPTkZJR19DSEFOR0VdOlxuICAgIHZpc1N0YXRlVXBkYXRlcnMud2lkZ2V0VmlzQ29uZmlnQ2hhbmdlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuV0lER0VUX1ZJU1VBTF9DSEFOTkVMX0NIQU5HRV06XG4gICAgdmlzU3RhdGVVcGRhdGVycy53aWRnZXRWaXN1YWxDaGFubmVsQ2hhbmdlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTEFZRVJfVklTX0NPTkZJR19DSEFOR0VdOlxuICAgIHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJWaXNDb25maWdDaGFuZ2VVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9URVhUX0xBQkVMX0NIQU5HRV06XG4gICAgdmlzU3RhdGVVcGRhdGVycy5sYXllclRleHRMYWJlbENoYW5nZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxBWUVSX1ZJU1VBTF9DSEFOTkVMX0NIQU5HRV06XG4gICAgdmlzU3RhdGVVcGRhdGVycy5sYXllclZpc3VhbENoYW5uZWxDaGFuZ2VVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5MQVlFUl9DT0xPUl9VSV9DSEFOR0VdOlxuICAgIHZpc1N0YXRlVXBkYXRlcnMubGF5ZXJDb2xvclVJQ2hhbmdlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTE9BRF9GSUxFU106IHZpc1N0YXRlVXBkYXRlcnMubG9hZEZpbGVzVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuTE9BRF9GSUxFU19FUlJdOiB2aXNTdGF0ZVVwZGF0ZXJzLmxvYWRGaWxlc0VyclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLk1BUF9DTElDS106IHZpc1N0YXRlVXBkYXRlcnMubWFwQ2xpY2tVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5NT1VTRV9NT1ZFXTogdmlzU3RhdGVVcGRhdGVycy5tb3VzZU1vdmVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRUNFSVZFX01BUF9DT05GSUddOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlY2VpdmVNYXBDb25maWdVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU1PVkVfREFUQVNFVF06IHZpc1N0YXRlVXBkYXRlcnMucmVtb3ZlRGF0YXNldFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFTU9WRV9GSUxURVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLnJlbW92ZUZpbHRlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlJFTU9WRV9MQVlFUl06IHZpc1N0YXRlVXBkYXRlcnMucmVtb3ZlTGF5ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU1PVkVfV0lER0VUXTogdmlzU3RhdGVVcGRhdGVycy5yZW1vdmVXaWRnZXRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU9SREVSX1dJREdFVF06IHZpc1N0YXRlVXBkYXRlcnMucmVvcmRlcldpZGdldFVwZGF0ZXIsXG4gIFtBY3Rpb25UeXBlcy5MT0FEX1VSTF06IHZpc1N0YXRlVXBkYXRlcnMubG9hZFVSTFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLkxPQURfRURfTElOS106IHZpc1N0YXRlVXBkYXRlcnMubG9hZEVETGlua0RhdGEsXG5cbiAgW0FjdGlvblR5cGVzLk1BUF9DTElDS106IHZpc1N0YXRlVXBkYXRlcnMubWFwQ2xpY2tVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRU9SREVSX0xBWUVSXTogdmlzU3RhdGVVcGRhdGVycy5yZW9yZGVyTGF5ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5SRVNFVF9NQVBfQ09ORklHXTogdmlzU3RhdGVVcGRhdGVycy5yZXNldE1hcENvbmZpZ1VwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9GSUxURVJdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZpbHRlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9GSUxURVJfQVBJXTogdmlzU3RhdGVVcGRhdGVycy5zZXRGaWx0ZXJBUElVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfRklMVEVSX1BMT1RdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEZpbHRlclBsb3RVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfVklTSUJMRV9MQVlFUlNfRk9SX01BUF06XG4gICAgdmlzU3RhdGVVcGRhdGVycy5zZXRWaXNpYmxlTGF5ZXJzRm9yTWFwVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuU0hPV19EQVRBU0VUX1RBQkxFXTogdmlzU3RhdGVVcGRhdGVycy5zaG93RGF0YXNldFRhYmxlVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVE9HR0xFX0ZJTFRFUl9BTklNQVRJT05dOlxuICAgIHZpc1N0YXRlVXBkYXRlcnMudG9nZ2xlRmlsdGVyQW5pbWF0aW9uVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX0ZJTFRFUl9BTklNQVRJT05fU1BFRURdOlxuICAgIHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlRmlsdGVyQW5pbWF0aW9uU3BlZWRVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfQU5JTUFUSU9OX1RJTUVdOlxuICAgIHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlQW5pbWF0aW9uVGltZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlVQREFURV9MQVlFUl9BTklNQVRJT05fU1BFRURdOlxuICAgIHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlTGF5ZXJBbmltYXRpb25TcGVlZFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlRPR0dMRV9MQVlFUl9GT1JfTUFQXTogdmlzU3RhdGVVcGRhdGVycy50b2dnbGVMYXllckZvck1hcFVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlRPR0dMRV9TUExJVF9NQVBdOiB2aXNTdGF0ZVVwZGF0ZXJzLnRvZ2dsZVNwbGl0TWFwVXBkYXRlcixcblxuICBbQWN0aW9uVHlwZXMuVVBEQVRFX0xBWUVSX0JMRU5ESU5HXTpcbiAgICB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZUxheWVyQmxlbmRpbmdVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5VUERBVEVfU1RBVEVfTEFZRVJfREFUQV06XG4gICAgdmlzU3RhdGVVcGRhdGVycy51cGRhdGVTdGF0ZVdpdGhMYXllckRhdGFVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5BU1lOQ19BUElfQ0FMTF06IHZpc1N0YXRlVXBkYXRlcnMuYXBpQ2FsbERhdGEsXG5cbiAgW0FjdGlvblR5cGVzLlVQREFURV9WSVNfREFUQV06IHZpc1N0YXRlVXBkYXRlcnMudXBkYXRlVmlzRGF0YVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9GRUFUVVJFU106IHZpc1N0YXRlVXBkYXRlcnMuc2V0RmVhdHVyZXNVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5ERUxFVEVfRkVBVFVSRV06IHZpc1N0YXRlVXBkYXRlcnMuZGVsZXRlRmVhdHVyZVVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlNFVF9QT0xZR09OX0ZJTFRFUl9MQVlFUl06XG4gICAgdmlzU3RhdGVVcGRhdGVycy5zZXRQb2x5Z29uRmlsdGVyTGF5ZXJVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfU0VMRUNURURfRkVBVFVSRV06XG4gICAgdmlzU3RhdGVVcGRhdGVycy5zZXRTZWxlY3RlZEZlYXR1cmVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5TRVRfRURJVE9SX01PREVdOiB2aXNTdGF0ZVVwZGF0ZXJzLnNldEVkaXRvck1vZGVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5UT0dHTEVfRURJVE9SX1ZJU0lCSUxJVFldOlxuICAgIHZpc1N0YXRlVXBkYXRlcnMudG9nZ2xlRWRpdG9yVmlzaWJpbGl0eSxcblxuICBbQWN0aW9uVHlwZXMuVE9HR0xFX0ZJTFRFUl9GRUFUVVJFXTpcbiAgICB2aXNTdGF0ZVVwZGF0ZXJzLnRvZ2dsZUZpbHRlckZlYXR1cmVVcGRhdGVyLFxuXG4gIFtBY3Rpb25UeXBlcy5BUFBMWV9DUFVfRklMVEVSXTogdmlzU3RhdGVVcGRhdGVycy5hcHBseUNQVUZpbHRlclVwZGF0ZXIsXG5cbiAgW0FjdGlvblR5cGVzLlVQREFURV9EQVRBU0VUX0lORk9dOiB2aXNTdGF0ZVVwZGF0ZXJzLnVwZGF0ZURhdGFzZXRJbmZvXG59O1xuXG4vLyBjb25zdHJ1Y3QgdmlzLXN0YXRlIHJlZHVjZXJcbmV4cG9ydCBjb25zdCB2aXNTdGF0ZVJlZHVjZXJGYWN0b3J5ID0gKGluaXRpYWxTdGF0ZSA9IHt9KSA9PlxuICBoYW5kbGVBY3Rpb25zKGFjdGlvbkhhbmRsZXIsIHtcbiAgICAuLi52aXNTdGF0ZVVwZGF0ZXJzLklOSVRJQUxfVklTX1NUQVRFLFxuICAgIC4uLmluaXRpYWxTdGF0ZSxcbiAgICBpbml0aWFsU3RhdGVcbiAgfSk7XG5cbmV4cG9ydCBkZWZhdWx0IHZpc1N0YXRlUmVkdWNlckZhY3RvcnkoKTtcbiJdfQ==