@kepler.gl/reducers 3.1.0-alpha.2 → 3.1.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -92,7 +92,7 @@ function hasPropsToMerge(state, mergerProps) {
92
92
  })) : typeof mergerProps === 'string' && Object.prototype.hasOwnProperty.call(state, mergerProps);
93
93
  }
94
94
  function getPropValueToMerger(state, mergerProps, toMergeProps) {
95
- return Array.isArray(mergerProps) ? mergerProps.reduce(function (accu, p, i) {
95
+ return Array.isArray(mergerProps) && Array.isArray(toMergeProps) ? mergerProps.reduce(function (accu, p, i) {
96
96
  if (!toMergeProps) return accu;
97
97
  return _objectSpread(_objectSpread({}, accu), {}, (0, _defineProperty2["default"])({}, toMergeProps[i], state[p]));
98
98
  }, {}) : state[mergerProps];
@@ -102,4 +102,4 @@ function resetStateToMergeProps(state, initialState, mergerProps) {
102
102
  return _objectSpread(_objectSpread({}, accu), {}, (0, _defineProperty2["default"])({}, prop, initialState[prop]));
103
103
  }, state);
104
104
  }
105
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGFza3MiLCJyZXF1aXJlIiwiX3V0aWxzIiwiX2NvbW1vblV0aWxzIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJpc1ZhbGlkTWVyZ2VyIiwibWVyZ2VyIiwiaXNPYmplY3QiLCJtZXJnZSIsInByb3AiLCJBcnJheSIsImlzQXJyYXkiLCJjYWxsRnVuY3Rpb25HZXRUYXNrIiwiZm4iLCJiZWZvcmUiLCJnZXRHbG9iYWxUYXNrUXVldWUiLCJyZXQiLCJhZnRlciIsImRpZmYiLCJpbmNsdWRlcyIsIm1lcmdlU3RhdGVGcm9tTWVyZ2VycyIsInN0YXRlIiwiaW5pdGlhbFN0YXRlIiwibWVyZ2VycyIsInBvc3RNZXJnZXJQYXlsb2FkIiwibWVyZ2VkU3RhdGUiLCJtZXJnZXJRdWV1ZSIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJfbG9vcCIsInNoaWZ0IiwidG9NZXJnZVByb3AiLCJoYXNQcm9wc1RvTWVyZ2UiLCJtZXJnZXJBY3Rpb25QYXlsb2FkIiwidG9NZXJnZSIsImdldFByb3BWYWx1ZVRvTWVyZ2VyIiwicmVzZXRTdGF0ZVRvTWVyZ2VQcm9wcyIsIm1lcmdlRnVuYyIsIl9jYWxsRnVuY3Rpb25HZXRUYXNrIiwiX2NhbGxGdW5jdGlvbkdldFRhc2syIiwiX3NsaWNlZFRvQXJyYXkyIiwidXBkYXRlZFN0YXRlIiwibmV3VGFza3MiLCJ3YWl0VG9GaW5pc2giLCJ2IiwiYWxsTWVyZ2VkIiwiX3JldCIsIm1lcmdlclByb3BzIiwiQm9vbGVhbiIsInNvbWUiLCJwIiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwidG9NZXJnZVByb3BzIiwicmVkdWNlIiwiYWNjdSIsImkiLCJ0b0FycmF5Il0sInNvdXJjZXMiOlsiLi4vc3JjL21lcmdlci1oYW5kbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7Z2V0R2xvYmFsVGFza1F1ZXVlfSBmcm9tICdyZWFjdC1wYWxtL3Rhc2tzJztcbmltcG9ydCB7aXNPYmplY3R9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHt0b0FycmF5fSBmcm9tICdAa2VwbGVyLmdsL2NvbW1vbi11dGlscyc7XG5pbXBvcnQge1ZhbHVlT2Z9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtWaXNTdGF0ZSwgTWVyZ2VyLCBQb3N0TWVyZ2VyUGF5bG9hZH0gZnJvbSAnQGtlcGxlci5nbC9zY2hlbWFzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRNZXJnZXIobWVyZ2VyOiBNZXJnZXI8YW55Pik6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIGlzT2JqZWN0KG1lcmdlcikgJiZcbiAgICB0eXBlb2YgbWVyZ2VyLm1lcmdlID09PSAnZnVuY3Rpb24nICYmXG4gICAgKHR5cGVvZiBtZXJnZXIucHJvcCA9PT0gJ3N0cmluZycgfHwgQXJyYXkuaXNBcnJheShtZXJnZXIucHJvcCkpXG4gICk7XG59XG5cbi8qKlxuICogQ2FsbCBzdGF0ZSB1cGRhdGVyLCByZXR1cm4gdGhlIHRhc2tzIGNyZWF0ZWQgYnkgdGhlIHN0YXRlIHVwZGF0ZSB3aXRoIHdpdGhUYXNrKClcbiAqL1xuZnVuY3Rpb24gY2FsbEZ1bmN0aW9uR2V0VGFzayhmbjogKCkgPT4gYW55KTogW2FueSwgYW55XSB7XG4gIGNvbnN0IGJlZm9yZSA9IGdldEdsb2JhbFRhc2tRdWV1ZSgpO1xuICBjb25zdCByZXQgPSBmbigpO1xuICBjb25zdCBhZnRlciA9IGdldEdsb2JhbFRhc2tRdWV1ZSgpO1xuICBjb25zdCBkaWZmID0gYWZ0ZXIuZmlsdGVyKHQgPT4gIWJlZm9yZS5pbmNsdWRlcyh0KSk7XG4gIHJldHVybiBbcmV0LCBkaWZmXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlU3RhdGVGcm9tTWVyZ2VyczxTdGF0ZSBleHRlbmRzIFZpc1N0YXRlPihcbiAgc3RhdGU6IFN0YXRlLFxuICBpbml0aWFsU3RhdGU6IFN0YXRlLFxuICBtZXJnZXJzOiBNZXJnZXI8YW55PltdLFxuICBwb3N0TWVyZ2VyUGF5bG9hZDogUG9zdE1lcmdlclBheWxvYWRcbik6IHtcbiAgbWVyZ2VkU3RhdGU6IFN0YXRlO1xuICBhbGxNZXJnZWQ6IGJvb2xlYW47XG59IHtcbiAgLy8gY29uc3QgbmV3RGF0YUlkcyA9IE9iamVjdC5rZXlzKHBvc3RNZXJnZXJQYXlsb2FkLm5ld0RhdGFFbnRyaWVzKTtcbiAgbGV0IG1lcmdlZFN0YXRlID0gc3RhdGU7XG4gIC8vIG1lcmdlIHN0YXRlIHdpdGggY29uZmlnIHRvIGJlIG1lcmdlZFxuICBjb25zdCBtZXJnZXJRdWV1ZSA9IFsuLi5tZXJnZXJzXTtcblxuICB3aGlsZSAobWVyZ2VyUXVldWUubGVuZ3RoKSB7XG4gICAgY29uc3QgbWVyZ2VyID0gbWVyZ2VyUXVldWUuc2hpZnQoKTtcblxuICAgIGlmIChcbiAgICAgIG1lcmdlciAmJlxuICAgICAgaXNWYWxpZE1lcmdlcihtZXJnZXIpICYmXG4gICAgICBtZXJnZXIudG9NZXJnZVByb3AgJiZcbiAgICAgIGhhc1Byb3BzVG9NZXJnZShzdGF0ZSwgbWVyZ2VyLnRvTWVyZ2VQcm9wKVxuICAgICkge1xuICAgICAgLy8gcHV0IHRoZSByZXN0IG9mIG1lcmdlcnMgYW5kIHBheWxvYWQgZm9yIHBvc3RNZXJnZVVwZGF0ZXIgaW4gbWVyZ2VyQWN0aW9uUGF5bG9hZFxuICAgICAgLy8gYW5kIHBhc3MgaXQgdG8gY3VycmVudCBtZXJnZXIsIHdoaWNoIChpZiBhc3luYykga25vd3MgdG8gY29udGludWUgbWVyZ2luZ1xuICAgICAgY29uc3QgbWVyZ2VyQWN0aW9uUGF5bG9hZCA9IHtcbiAgICAgICAgbWVyZ2VyczogbWVyZ2VyUXVldWUsXG4gICAgICAgIHBvc3RNZXJnZXJQYXlsb2FkXG4gICAgICB9O1xuICAgICAgLy8gcmVzZXQgdG9NZXJnZVxuICAgICAgY29uc3QgdG9NZXJnZSA9IGdldFByb3BWYWx1ZVRvTWVyZ2VyKG1lcmdlZFN0YXRlLCBtZXJnZXIudG9NZXJnZVByb3AsIG1lcmdlci50b01lcmdlUHJvcCk7XG5cbiAgICAgIG1lcmdlZFN0YXRlID0gcmVzZXRTdGF0ZVRvTWVyZ2VQcm9wcyhtZXJnZWRTdGF0ZSwgaW5pdGlhbFN0YXRlLCBtZXJnZXIudG9NZXJnZVByb3ApO1xuICAgICAgLy8gY2FsbCBtZXJnZXJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1sb29wLWZ1bmNcbiAgICAgIGNvbnN0IG1lcmdlRnVuYyA9ICgpID0+IG1lcmdlci5tZXJnZShtZXJnZWRTdGF0ZSwgdG9NZXJnZSwgZmFsc2UsIG1lcmdlckFjdGlvblBheWxvYWQpO1xuICAgICAgY29uc3QgW3VwZGF0ZWRTdGF0ZSwgbmV3VGFza3NdID0gY2FsbEZ1bmN0aW9uR2V0VGFzayhtZXJnZUZ1bmMpO1xuXG4gICAgICBtZXJnZWRTdGF0ZSA9IHVwZGF0ZWRTdGF0ZTtcblxuICAgICAgLy8gY2hlY2sgaWYgYXN5bmNUYXNrIHdhcyBjcmVhdGVkICh0aW1lIGNvbnN1bWluZyB0YXNrcylcbiAgICAgIGlmIChuZXdUYXNrcy5sZW5ndGggJiYgbWVyZ2VyLndhaXRUb0ZpbmlzaCkge1xuICAgICAgICAvLyBza2lwIHJlc3QsIHRoZSBhc3luYyBtZXJnZXIgd2lsbCBjYWxsIGFwcGx5TWVyZ2VyVXBkYXRlcigpIHRvIGNvbnRpbnVlXG4gICAgICAgIHJldHVybiB7bWVyZ2VkU3RhdGUsIGFsbE1lcmdlZDogZmFsc2V9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHdlIG1lcmdlZCBhbGwgbWVyZ2VycyBpbiB0aGUgcXVldWUsIGFuZCB3ZSBjYW4gY2FsbCBwb3N0IG1lcmdlciBub3dcbiAgcmV0dXJuIHttZXJnZWRTdGF0ZSwgYWxsTWVyZ2VkOiB0cnVlfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc1Byb3BzVG9NZXJnZTxTdGF0ZSBleHRlbmRzIG9iamVjdD4oXG4gIHN0YXRlOiBTdGF0ZSxcbiAgbWVyZ2VyUHJvcHM6IHN0cmluZyB8IHN0cmluZ1tdXG4pOiBib29sZWFuIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkobWVyZ2VyUHJvcHMpXG4gICAgPyBCb29sZWFuKG1lcmdlclByb3BzLnNvbWUocCA9PiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc3RhdGUsIHApKSlcbiAgICA6IHR5cGVvZiBtZXJnZXJQcm9wcyA9PT0gJ3N0cmluZycgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHN0YXRlLCBtZXJnZXJQcm9wcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQcm9wVmFsdWVUb01lcmdlcjxTdGF0ZSBleHRlbmRzIG9iamVjdD4oXG4gIHN0YXRlOiBTdGF0ZSxcbiAgbWVyZ2VyUHJvcHM6IHN0cmluZyB8IHN0cmluZ1tdLFxuICB0b01lcmdlUHJvcHM/OiBzdHJpbmcgfCBzdHJpbmdbXVxuKTogUGFydGlhbDxTdGF0ZT4gfCBWYWx1ZU9mPFN0YXRlPiB7XG4gIHJldHVybiBBcnJheS5pc0FycmF5KG1lcmdlclByb3BzKVxuICAgID8gbWVyZ2VyUHJvcHMucmVkdWNlKChhY2N1LCBwLCBpKSA9PiB7XG4gICAgICAgIGlmICghdG9NZXJnZVByb3BzKSByZXR1cm4gYWNjdTtcbiAgICAgICAgcmV0dXJuIHsuLi5hY2N1LCBbdG9NZXJnZVByb3BzW2ldXTogc3RhdGVbcF19O1xuICAgICAgfSwge30pXG4gICAgOiBzdGF0ZVttZXJnZXJQcm9wc107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNldFN0YXRlVG9NZXJnZVByb3BzPFN0YXRlIGV4dGVuZHMgVmlzU3RhdGU+KFxuICBzdGF0ZTogU3RhdGUsXG4gIGluaXRpYWxTdGF0ZTogU3RhdGUsXG4gIG1lcmdlclByb3BzOiBzdHJpbmcgfCBzdHJpbmdbXVxuKSB7XG4gIHJldHVybiB0b0FycmF5KG1lcmdlclByb3BzKS5yZWR1Y2UoXG4gICAgKGFjY3UsIHByb3ApID0+ICh7XG4gICAgICAuLi5hY2N1LFxuICAgICAgW3Byb3BdOiBpbml0aWFsU3RhdGVbcHJvcF1cbiAgICB9KSxcbiAgICBzdGF0ZVxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFlBQUEsR0FBQUYsT0FBQTtBQUFnRCxTQUFBRyxRQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosQ0FBQSxPQUFBRyxNQUFBLENBQUFFLHFCQUFBLFFBQUFDLENBQUEsR0FBQUgsTUFBQSxDQUFBRSxxQkFBQSxDQUFBTCxDQUFBLEdBQUFDLENBQUEsS0FBQUssQ0FBQSxHQUFBQSxDQUFBLENBQUFDLE1BQUEsV0FBQU4sQ0FBQSxXQUFBRSxNQUFBLENBQUFLLHdCQUFBLENBQUFSLENBQUEsRUFBQUMsQ0FBQSxFQUFBUSxVQUFBLE9BQUFQLENBQUEsQ0FBQVEsSUFBQSxDQUFBQyxLQUFBLENBQUFULENBQUEsRUFBQUksQ0FBQSxZQUFBSixDQUFBO0FBQUEsU0FBQVUsY0FBQVosQ0FBQSxhQUFBQyxDQUFBLE1BQUFBLENBQUEsR0FBQVksU0FBQSxDQUFBQyxNQUFBLEVBQUFiLENBQUEsVUFBQUMsQ0FBQSxXQUFBVyxTQUFBLENBQUFaLENBQUEsSUFBQVksU0FBQSxDQUFBWixDQUFBLFFBQUFBLENBQUEsT0FBQUYsT0FBQSxD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
105
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGFza3MiLCJyZXF1aXJlIiwiX3V0aWxzIiwiX2NvbW1vblV0aWxzIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJpc1ZhbGlkTWVyZ2VyIiwibWVyZ2VyIiwiaXNPYmplY3QiLCJtZXJnZSIsInByb3AiLCJBcnJheSIsImlzQXJyYXkiLCJjYWxsRnVuY3Rpb25HZXRUYXNrIiwiZm4iLCJiZWZvcmUiLCJnZXRHbG9iYWxUYXNrUXVldWUiLCJyZXQiLCJhZnRlciIsImRpZmYiLCJpbmNsdWRlcyIsIm1lcmdlU3RhdGVGcm9tTWVyZ2VycyIsInN0YXRlIiwiaW5pdGlhbFN0YXRlIiwibWVyZ2VycyIsInBvc3RNZXJnZXJQYXlsb2FkIiwibWVyZ2VkU3RhdGUiLCJtZXJnZXJRdWV1ZSIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJfbG9vcCIsInNoaWZ0IiwidG9NZXJnZVByb3AiLCJoYXNQcm9wc1RvTWVyZ2UiLCJtZXJnZXJBY3Rpb25QYXlsb2FkIiwidG9NZXJnZSIsImdldFByb3BWYWx1ZVRvTWVyZ2VyIiwicmVzZXRTdGF0ZVRvTWVyZ2VQcm9wcyIsIm1lcmdlRnVuYyIsIl9jYWxsRnVuY3Rpb25HZXRUYXNrIiwiX2NhbGxGdW5jdGlvbkdldFRhc2syIiwiX3NsaWNlZFRvQXJyYXkyIiwidXBkYXRlZFN0YXRlIiwibmV3VGFza3MiLCJ3YWl0VG9GaW5pc2giLCJ2IiwiYWxsTWVyZ2VkIiwiX3JldCIsIm1lcmdlclByb3BzIiwiQm9vbGVhbiIsInNvbWUiLCJwIiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwidG9NZXJnZVByb3BzIiwicmVkdWNlIiwiYWNjdSIsImkiLCJ0b0FycmF5Il0sInNvdXJjZXMiOlsiLi4vc3JjL21lcmdlci1oYW5kbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7Z2V0R2xvYmFsVGFza1F1ZXVlfSBmcm9tICdyZWFjdC1wYWxtL3Rhc2tzJztcbmltcG9ydCB7aXNPYmplY3R9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHt0b0FycmF5fSBmcm9tICdAa2VwbGVyLmdsL2NvbW1vbi11dGlscyc7XG5pbXBvcnQge1ZhbHVlT2Z9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtWaXNTdGF0ZSwgTWVyZ2VyLCBQb3N0TWVyZ2VyUGF5bG9hZH0gZnJvbSAnQGtlcGxlci5nbC9zY2hlbWFzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRNZXJnZXIobWVyZ2VyOiBNZXJnZXI8YW55Pik6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIGlzT2JqZWN0KG1lcmdlcikgJiZcbiAgICB0eXBlb2YgbWVyZ2VyLm1lcmdlID09PSAnZnVuY3Rpb24nICYmXG4gICAgKHR5cGVvZiBtZXJnZXIucHJvcCA9PT0gJ3N0cmluZycgfHwgQXJyYXkuaXNBcnJheShtZXJnZXIucHJvcCkpXG4gICk7XG59XG5cbi8qKlxuICogQ2FsbCBzdGF0ZSB1cGRhdGVyLCByZXR1cm4gdGhlIHRhc2tzIGNyZWF0ZWQgYnkgdGhlIHN0YXRlIHVwZGF0ZSB3aXRoIHdpdGhUYXNrKClcbiAqL1xuZnVuY3Rpb24gY2FsbEZ1bmN0aW9uR2V0VGFzayhmbjogKCkgPT4gYW55KTogW2FueSwgYW55XSB7XG4gIGNvbnN0IGJlZm9yZSA9IGdldEdsb2JhbFRhc2tRdWV1ZSgpO1xuICBjb25zdCByZXQgPSBmbigpO1xuICBjb25zdCBhZnRlciA9IGdldEdsb2JhbFRhc2tRdWV1ZSgpO1xuICBjb25zdCBkaWZmID0gYWZ0ZXIuZmlsdGVyKHQgPT4gIWJlZm9yZS5pbmNsdWRlcyh0KSk7XG4gIHJldHVybiBbcmV0LCBkaWZmXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlU3RhdGVGcm9tTWVyZ2VyczxTdGF0ZSBleHRlbmRzIFZpc1N0YXRlPihcbiAgc3RhdGU6IFN0YXRlLFxuICBpbml0aWFsU3RhdGU6IFN0YXRlLFxuICBtZXJnZXJzOiBNZXJnZXI8U3RhdGU+W10sXG4gIHBvc3RNZXJnZXJQYXlsb2FkOiBQb3N0TWVyZ2VyUGF5bG9hZFxuKToge1xuICBtZXJnZWRTdGF0ZTogU3RhdGU7XG4gIGFsbE1lcmdlZDogYm9vbGVhbjtcbn0ge1xuICAvLyBjb25zdCBuZXdEYXRhSWRzID0gT2JqZWN0LmtleXMocG9zdE1lcmdlclBheWxvYWQubmV3RGF0YUVudHJpZXMpO1xuICBsZXQgbWVyZ2VkU3RhdGUgPSBzdGF0ZTtcbiAgLy8gbWVyZ2Ugc3RhdGUgd2l0aCBjb25maWcgdG8gYmUgbWVyZ2VkXG4gIGNvbnN0IG1lcmdlclF1ZXVlID0gWy4uLm1lcmdlcnNdO1xuXG4gIHdoaWxlIChtZXJnZXJRdWV1ZS5sZW5ndGgpIHtcbiAgICBjb25zdCBtZXJnZXIgPSBtZXJnZXJRdWV1ZS5zaGlmdCgpO1xuXG4gICAgaWYgKFxuICAgICAgbWVyZ2VyICYmXG4gICAgICBpc1ZhbGlkTWVyZ2VyKG1lcmdlcikgJiZcbiAgICAgIG1lcmdlci50b01lcmdlUHJvcCAmJlxuICAgICAgaGFzUHJvcHNUb01lcmdlKHN0YXRlLCBtZXJnZXIudG9NZXJnZVByb3ApXG4gICAgKSB7XG4gICAgICAvLyBwdXQgdGhlIHJlc3Qgb2YgbWVyZ2VycyBhbmQgcGF5bG9hZCBmb3IgcG9zdE1lcmdlVXBkYXRlciBpbiBtZXJnZXJBY3Rpb25QYXlsb2FkXG4gICAgICAvLyBhbmQgcGFzcyBpdCB0byBjdXJyZW50IG1lcmdlciwgd2hpY2ggKGlmIGFzeW5jKSBrbm93cyB0byBjb250aW51ZSBtZXJnaW5nXG4gICAgICBjb25zdCBtZXJnZXJBY3Rpb25QYXlsb2FkID0ge1xuICAgICAgICBtZXJnZXJzOiBtZXJnZXJRdWV1ZSxcbiAgICAgICAgcG9zdE1lcmdlclBheWxvYWRcbiAgICAgIH07XG4gICAgICAvLyByZXNldCB0b01lcmdlXG4gICAgICBjb25zdCB0b01lcmdlID0gZ2V0UHJvcFZhbHVlVG9NZXJnZXIobWVyZ2VkU3RhdGUsIG1lcmdlci50b01lcmdlUHJvcCwgbWVyZ2VyLnRvTWVyZ2VQcm9wKTtcblxuICAgICAgbWVyZ2VkU3RhdGUgPSByZXNldFN0YXRlVG9NZXJnZVByb3BzKG1lcmdlZFN0YXRlLCBpbml0aWFsU3RhdGUsIG1lcmdlci50b01lcmdlUHJvcCk7XG4gICAgICAvLyBjYWxsIG1lcmdlclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWxvb3AtZnVuY1xuICAgICAgY29uc3QgbWVyZ2VGdW5jID0gKCkgPT4gbWVyZ2VyLm1lcmdlKG1lcmdlZFN0YXRlLCB0b01lcmdlLCBmYWxzZSwgbWVyZ2VyQWN0aW9uUGF5bG9hZCk7XG4gICAgICBjb25zdCBbdXBkYXRlZFN0YXRlLCBuZXdUYXNrc10gPSBjYWxsRnVuY3Rpb25HZXRUYXNrKG1lcmdlRnVuYyk7XG5cbiAgICAgIG1lcmdlZFN0YXRlID0gdXBkYXRlZFN0YXRlO1xuXG4gICAgICAvLyBjaGVjayBpZiBhc3luY1Rhc2sgd2FzIGNyZWF0ZWQgKHRpbWUgY29uc3VtaW5nIHRhc2tzKVxuICAgICAgaWYgKG5ld1Rhc2tzLmxlbmd0aCAmJiBtZXJnZXIud2FpdFRvRmluaXNoKSB7XG4gICAgICAgIC8vIHNraXAgcmVzdCwgdGhlIGFzeW5jIG1lcmdlciB3aWxsIGNhbGwgYXBwbHlNZXJnZXJVcGRhdGVyKCkgdG8gY29udGludWVcbiAgICAgICAgcmV0dXJuIHttZXJnZWRTdGF0ZSwgYWxsTWVyZ2VkOiBmYWxzZX07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gd2UgbWVyZ2VkIGFsbCBtZXJnZXJzIGluIHRoZSBxdWV1ZSwgYW5kIHdlIGNhbiBjYWxsIHBvc3QgbWVyZ2VyIG5vd1xuICByZXR1cm4ge21lcmdlZFN0YXRlLCBhbGxNZXJnZWQ6IHRydWV9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzUHJvcHNUb01lcmdlPFN0YXRlIGV4dGVuZHMgb2JqZWN0PihcbiAgc3RhdGU6IFN0YXRlLFxuICBtZXJnZXJQcm9wcz86IHN0cmluZyB8IHN0cmluZ1tdXG4pOiBib29sZWFuIHtcbiAgcmV0dXJuIEFycmF5LmlzQXJyYXkobWVyZ2VyUHJvcHMpXG4gICAgPyBCb29sZWFuKG1lcmdlclByb3BzLnNvbWUocCA9PiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc3RhdGUsIHApKSlcbiAgICA6IHR5cGVvZiBtZXJnZXJQcm9wcyA9PT0gJ3N0cmluZycgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHN0YXRlLCBtZXJnZXJQcm9wcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQcm9wVmFsdWVUb01lcmdlcjxTdGF0ZSBleHRlbmRzIG9iamVjdD4oXG4gIHN0YXRlOiBTdGF0ZSxcbiAgbWVyZ2VyUHJvcHM/OiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgdG9NZXJnZVByb3BzPzogc3RyaW5nIHwgc3RyaW5nW11cbik6IFBhcnRpYWw8U3RhdGU+IHwgVmFsdWVPZjxTdGF0ZT4ge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheShtZXJnZXJQcm9wcykgJiYgQXJyYXkuaXNBcnJheSh0b01lcmdlUHJvcHMpXG4gICAgPyBtZXJnZXJQcm9wcy5yZWR1Y2UoKGFjY3UsIHAsIGkpID0+IHtcbiAgICAgICAgaWYgKCF0b01lcmdlUHJvcHMpIHJldHVybiBhY2N1O1xuICAgICAgICByZXR1cm4gey4uLmFjY3UsIFt0b01lcmdlUHJvcHNbaV1dOiBzdGF0ZVtwXX07XG4gICAgICB9LCB7fSlcbiAgICA6IHN0YXRlW21lcmdlclByb3BzIGFzIHN0cmluZ107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNldFN0YXRlVG9NZXJnZVByb3BzPFN0YXRlIGV4dGVuZHMgVmlzU3RhdGU+KFxuICBzdGF0ZTogU3RhdGUsXG4gIGluaXRpYWxTdGF0ZTogU3RhdGUsXG4gIG1lcmdlclByb3BzOiBzdHJpbmcgfCBzdHJpbmdbXVxuKSB7XG4gIHJldHVybiB0b0FycmF5KG1lcmdlclByb3BzKS5yZWR1Y2UoXG4gICAgKGFjY3UsIHByb3ApID0+ICh7XG4gICAgICAuLi5hY2N1LFxuICAgICAgW3Byb3BdOiBpbml0aWFsU3RhdGVbcHJvcF1cbiAgICB9KSxcbiAgICBzdGF0ZVxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFlBQUEsR0FBQUYsT0FBQTtBQUFnRCxTQUFBRyxRQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosQ0FBQSxPQUFBRyxNQUFBLENBQUFFLHFCQUFBLFFBQUFDLENBQUEsR0FBQUgsTUFBQSxDQUFBRSxxQkFBQSxDQUFBTCxDQUFBLEdBQUFDLENBQUEsS0FBQUssQ0FBQSxHQUFBQSxDQUFBLENBQUFDLE1BQUEsV0FBQU4sQ0FBQSxXQUFBRSxNQUFBLENBQUFLLHdCQUFBLENBQUFSLENBQUEsRUFBQUMsQ0FBQSxFQUFBUSxVQUFBLE9BQUFQLENBQUEsQ0FBQVEsSUFBQSxDQUFBQyxLQUFBLENBQUFULENBQUEsRUFBQUksQ0FBQSxZQUFBSixDQUFBO0FBQUEsU0FBQVUsY0FBQVosQ0FBQSxhQUFBQyxDQUFBLE1BQUFBLENBQUEsR0FBQVksU0FBQSxDQUFBQyxNQUFBLEVBQUFiLENBQUEsVUFBQUMsQ0FBQSxXQUFBVyxTQUFBLENBQUFaLENBQUEs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
package/dist/root.d.ts CHANGED
@@ -1,4 +1,8 @@
1
- export declare function provideInitialState(initialState: any, extraReducers?: any): (state: {} | undefined, action: any) => any;
1
+ import { KeplerGlState } from './core';
2
+ declare type KeplerGlStateMap = {
3
+ [id: string]: Partial<KeplerGlState>;
4
+ };
5
+ export declare function provideInitialState(initialState: any, extraReducers?: any): (state: {} | undefined, action: any) => KeplerGlStateMap;
2
6
  /**
3
7
  * Kepler.gl reducer to be mounted to your store. You can mount `keplerGlReducer` at property `keplerGl`, if you choose
4
8
  * to mount it at another address e.g. `foo` you will need to specify it when you mount `KeplerGl` component in your app with `getState: state => state.foo`
package/dist/root.js CHANGED
@@ -15,6 +15,8 @@ var _core = require("./core");
15
15
  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; }
16
16
  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; } // SPDX-License-Identifier: MIT
17
17
  // Copyright contributors to the kepler.gl project
18
+ // Extend this type with additional actions to enforce strict typings
19
+
18
20
  // INITIAL_STATE
19
21
  var initialCoreState = {};
20
22
  function provideInitialState(initialState, extraReducers) {
@@ -38,7 +40,7 @@ function provideInitialState(initialState, extraReducers) {
38
40
  }))));
39
41
  };
40
42
  var handleDeleteEntry = function handleDeleteEntry(state, _ref2) {
41
- var id = _ref2.payload;
43
+ var id = _ref2.payload.id;
42
44
  return Object.keys(state).reduce(function (accu, curr) {
43
45
  return _objectSpread(_objectSpread({}, accu), curr === id ? {} : (0, _defineProperty2["default"])({}, curr, state[curr]));
44
46
  }, {});
@@ -62,8 +64,6 @@ function provideInitialState(initialState, extraReducers) {
62
64
 
63
65
  // perform additional state reducing (e.g. switch action.type etc...)
64
66
  var handlers = (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, _actions.ActionTypes.REGISTER_ENTRY, handleRegisterEntry), _actions.ActionTypes.DELETE_ENTRY, handleDeleteEntry), _actions.ActionTypes.RENAME_ENTRY, handleRenameEntry);
65
-
66
- // TODO: Understand why the Lint sees an error here, while the IDE does not.
67
67
  return (0, _reduxActions.handleActions)(handlers, initialCoreState)(state, action);
68
68
  };
69
69
  }
@@ -203,4 +203,4 @@ function decorate(target) {
203
203
  */
204
204
  var keplerGlReducer = decorate(_keplerGlReducer);
205
205
  var _default = exports["default"] = keplerGlReducer;
206
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYWN0aW9ucyIsInJlcXVpcmUiLCJfcmVkdXhBY3Rpb25zIiwiX2NvcmUiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsImluaXRpYWxDb3JlU3RhdGUiLCJwcm92aWRlSW5pdGlhbFN0YXRlIiwiaW5pdGlhbFN0YXRlIiwiZXh0cmFSZWR1Y2VycyIsImNvcmVSZWR1Y2VyIiwiY29yZVJlZHVjZXJGYWN0b3J5IiwiaGFuZGxlUmVnaXN0ZXJFbnRyeSIsInN0YXRlIiwiX3JlZiIsIl9yZWYkcGF5bG9hZCIsInBheWxvYWQiLCJpZCIsIm1pbnQiLCJtYXBib3hBcGlBY2Nlc3NUb2tlbiIsIm1hcGJveEFwaVVybCIsIm1hcFN0eWxlc1JlcGxhY2VEZWZhdWx0IiwiaW5pdGlhbFVpU3RhdGUiLCJwcmV2aW91c1N0YXRlIiwidW5kZWZpbmVkIiwia2VwbGVyR2xJbml0IiwiaGFuZGxlRGVsZXRlRW50cnkiLCJfcmVmMiIsInJlZHVjZSIsImFjY3UiLCJjdXJyIiwiaGFuZGxlUmVuYW1lRW50cnkiLCJfcmVmNCIsIl9yZWY0JHBheWxvYWQiLCJvbGRJZCIsIm5ld0lkIiwiYWN0aW9uIiwidXBkYXRlSXRlbVN0YXRlIiwiX2FjdGlvbkZvciIsIl91cGRhdGVQcm9wZXJ0eSIsImhhbmRsZXJzIiwiQWN0aW9uVHlwZXMiLCJSRUdJU1RFUl9FTlRSWSIsIkRFTEVURV9FTlRSWSIsIlJFTkFNRV9FTlRSWSIsImhhbmRsZUFjdGlvbnMiLCJfa2VwbGVyR2xSZWR1Y2VyIiwibWVyZ2VJbml0aWFsU3RhdGUiLCJzYXZlZCIsInByb3ZpZGVkIiwiZXh0cmFJbml0aWFsU3RhdGVLZXlzIiwiY29uY2F0IiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsIm5ld1N0YXRlIiwia2V5IiwiZGVjb3JhdGUiLCJ0YXJnZXQiLCJzYXZlZEluaXRpYWxTdGF0ZSIsInRhcmdldEluaXRpYWxTdGF0ZSIsInBsdWdpbiIsImN1c3RvbVJlZHVjZXIiLCJvcHRpb25zIiwiX3RoaXMiLCJfdHlwZW9mMiIsIl9vcHRpb25zJG92ZXJyaWRlIiwibmV4dFN0YXRlIiwidHlwZSIsIm92ZXJyaWRlIiwiaW5pU3QiLCJtZXJnZWQiLCJ0YXJnZXRSZWR1Y2VyIiwia2VwbGVyR2xSZWR1Y2VyIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vc3JjL3Jvb3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtBY3Rpb25UeXBlcywga2VwbGVyR2xJbml0LCBfYWN0aW9uRm9yLCBfdXBkYXRlUHJvcGVydHl9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge2hhbmRsZUFjdGlvbnN9IGZyb20gJ3JlZHV4LWFjdGlvbnMnO1xuXG5pbXBvcnQge2NvcmVSZWR1Y2VyRmFjdG9yeX0gZnJvbSAnLi9jb3JlJztcblxuLy8gSU5JVElBTF9TVEFURVxuY29uc3QgaW5pdGlhbENvcmVTdGF0ZSA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUluaXRpYWxTdGF0ZShpbml0aWFsU3RhdGUsIGV4dHJhUmVkdWNlcnM/KSB7XG4gIGNvbnN0IGNvcmVSZWR1Y2VyID0gY29yZVJlZHVjZXJGYWN0b3J5KGluaXRpYWxTdGF0ZSwgZXh0cmFSZWR1Y2Vycyk7XG5cbiAgY29uc3QgaGFuZGxlUmVnaXN0ZXJFbnRyeSA9IChcbiAgICBzdGF0ZSxcbiAgICB7XG4gICAgICBwYXlsb2FkOiB7XG4gICAgICAgIGlkLFxuICAgICAgICBtaW50LFxuICAgICAgICBtYXBib3hBcGlBY2Nlc3NUb2tlbixcbiAgICAgICAgbWFwYm94QXBpVXJsLFxuICAgICAgICBtYXBTdHlsZXNSZXBsYWNlRGVmYXVsdCxcbiAgICAgICAgaW5pdGlhbFVpU3RhdGVcbiAgICAgIH1cbiAgICB9XG4gICkgPT4ge1xuICAgIC8vIGJ5IGRlZmF1bHQsIGFsd2F5cyBjcmVhdGUgYSBtaW50IHN0YXRlIGV2ZW4gaWYgdGhlIHNhbWUgaWQgYWxyZWFkeSBleGlzdFxuICAgIC8vIGlmIHN0YXRlLmlkIGV4aXN0IGFuZCBtaW50PWZhbHNlLCBrZWVwIHRoZSBleGlzdGluZyBzdGF0ZVxuICAgIGNvbnN0IHByZXZpb3VzU3RhdGUgPSBzdGF0ZVtpZF0gJiYgbWludCA9PT0gZmFsc2UgPyBzdGF0ZVtpZF0gOiB1bmRlZmluZWQ7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLy8gcmVnaXN0ZXIgZW50cnkgdG8ga2VwbGVyLmdsIHBhc3NpbmcgaW4gbWFwYm94IGNvbmZpZyB0byBtYXBTdHlsZVxuICAgICAgLi4uc3RhdGUsXG4gICAgICBbaWRdOiBjb3JlUmVkdWNlcihcbiAgICAgICAgcHJldmlvdXNTdGF0ZSxcbiAgICAgICAga2VwbGVyR2xJbml0KHttYXBib3hBcGlBY2Nlc3NUb2tlbiwgbWFwYm94QXBpVXJsLCBtYXBTdHlsZXNSZXBsYWNlRGVmYXVsdCwgaW5pdGlhbFVpU3RhdGV9KVxuICAgICAgKVxuICAgIH07XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRGVsZXRlRW50cnkgPSAoc3RhdGUsIHtwYXlsb2FkOiBpZH0pID0+XG4gICAgT2JqZWN0LmtleXMoc3RhdGUpLnJlZHVjZShcbiAgICAgIChhY2N1LCBjdXJyKSA9PiAoe1xuICAgICAgICAuLi5hY2N1LFxuICAgICAgICAuLi4oY3VyciA9PT0gaWQgPyB7fSA6IHtbY3Vycl06IHN0YXRlW2N1cnJdfSlcbiAgICAgIH0pLFxuICAgICAge31cbiAgICApO1xuXG4gIGNvbnN0IGhhbmRsZVJlbmFtZUVudHJ5ID0gKHN0YXRlLCB7cGF5bG9hZDoge29sZElkLCBuZXdJZH19KSA9PlxuICAgIE9iamVjdC5rZXlzKHN0YXRlKS5yZWR1Y2UoXG4gICAgICAoYWNjdSwgY3VycikgPT4gKHtcbiAgICAgICAgLi4uYWNjdSxcbiAgICAgICAgLi4ue1tjdXJyID09PSBvbGRJZCA/IG5ld0lkIDogY3Vycl06IHN0YXRlW2N1cnJdfVxuICAgICAgfSksXG4gICAgICB7fVxuICAgICk7XG5cbiAgcmV0dXJuIChzdGF0ZSA9IGluaXRpYWxDb3JlU3RhdGUsIGFjdGlvbikgPT4ge1xuICAgIC8vIHVwZGF0ZSBjaGlsZCBzdGF0ZXNcbiAgICBPYmplY3Qua2V5cyhzdGF0ZSkuZm9yRWFjaChpZCA9PiB7XG4gICAgICBjb25zdCB1cGRhdGVJdGVtU3RhdGUgPSBjb3JlUmVkdWNlcihzdGF0ZVtpZF0sIF9hY3Rpb25Gb3IoaWQsIGFjdGlvbikpO1xuICAgICAgc3RhdGUgPSBfdXBkYXRlUHJvcGVydHkoc3RhdGUsIGlkLCB1cGRhdGVJdGVtU3RhdGUpO1xuICAgIH0pO1xuXG4gICAgLy8gcGVyZm9ybSBhZGRpdGlvbmFsIHN0YXRlIHJlZHVjaW5nIChlLmcuIHN3aXRjaCBhY3Rpb24udHlwZSBldGMuLi4pXG4gICAgY29uc3QgaGFuZGxlcnMgPSB7XG4gICAgICBbQWN0aW9uVHlwZXMuUkVHSVNURVJfRU5UUlldOiBoYW5kbGVSZWdpc3RlckVudHJ5LFxuICAgICAgW0FjdGlvblR5cGVzLkRFTEVURV9FTlRSWV06IGhhbmRsZURlbGV0ZUVudHJ5LFxuICAgICAgW0FjdGlvblR5cGVzLlJFTkFNRV9FTlRSWV06IGhhbmRsZVJlbmFtZUVudHJ5XG4gICAgfTtcblxuICAgIC8vIFRPRE86IFVuZGVyc3RhbmQgd2h5IHRoZSBMaW50IHNlZXMgYW4gZXJyb3IgaGVyZSwgd2hpbGUgdGhlIElERSBkb2VzIG5vdC5cbiAgICByZXR1cm4gaGFuZGxlQWN0aW9ucyhoYW5kbGVycywgaW5pdGlhbENvcmVTdGF0ZSkoc3RhdGUsIGFjdGlvbik7XG4gIH07XG59XG5cbmNvbnN0IF9rZXBsZXJHbFJlZHVjZXIgPSBwcm92aWRlSW5pdGlhbFN0YXRlKGluaXRpYWxDb3JlU3RhdGUpO1xuXG5mdW5jdGlvbiBtZXJnZUluaXRpYWxTdGF0ZShzYXZlZCA9IHt9LCBwcm92aWRlZCA9IHt9LCBleHRyYUluaXRpYWxTdGF0ZUtleXM6IHN0cmluZ1tdID0gW10pIHtcbiAgY29uc3Qga2V5cyA9IFsnbWFwU3RhdGUnLCAnbWFwU3R5bGUnLCAndmlzU3RhdGUnLCAndWlTdGF0ZScsIC4uLmV4dHJhSW5pdGlhbFN0YXRlS2V5c107XG5cbiAgLy8gc2hhbGxvdyBtZXJnZSBlYWNoIHJlZHVjZXJcbiAgY29uc3QgbmV3U3RhdGUgPSBrZXlzLnJlZHVjZShcbiAgICAoYWNjdSwga2V5KSA9PiAoe1xuICAgICAgLi4uYWNjdSxcbiAgICAgIC4uLihzYXZlZFtrZXldICYmIHByb3ZpZGVkW2tleV1cbiAgICAgICAgPyB7W2tleV06IHsuLi5zYXZlZFtrZXldLCAuLi5wcm92aWRlZFtrZXldfX1cbiAgICAgICAgOiB7W2tleV06IHNhdmVkW2tleV0gfHwgcHJvdmlkZWRba2V5XSB8fCB7fX0pXG4gICAgfSksXG4gICAge31cbiAgKTtcblxuICByZXR1cm4gbmV3U3RhdGU7XG59XG5cbmZ1bmN0aW9uIGRlY29yYXRlKHRhcmdldCwgc2F2ZWRJbml0aWFsU3RhdGUgPSB7fSkge1xuICBjb25zdCB0YXJnZXRJbml0aWFsU3RhdGUgPSBzYXZlZEluaXRpYWxTdGF0ZTtcblxuICAvKipcbiAgICogUmV0dXJucyBhIGtlcGxlci5nbCByZWR1Y2VyIHRoYXQgd2lsbCBhbHNvIHBhc3MgZWFjaCBhY3Rpb24gdGhyb3VnaCBhZGRpdGlvbmFsIHJlZHVjZXJzIHNwaWVjaWZpZWQuXG4gICAqIFRoZSBwYXJhbWV0ZXIgc2hvdWxkIGJlIGVpdGhlciBhIHJlZHVjZXIgbWFwIG9yIGEgcmVkdWNlciBmdW5jdGlvbi5cbiAgICogVGhlIHN0YXRlIHBhc3NlZCBpbnRvIHRoZSBhZGRpdGlvbmFsIGFjdGlvbiBoYW5kbGVyIGlzIHRoZSBpbnN0YW5jZSBzdGF0ZS5cbiAgICogSXQgd2lsbCBpbmNsdWRlIGFsbCB0aGUgc3VicmVkdWNlcnMgYHZpc1N0YXRlYCwgYHVpU3RhdGVgLCBgbWFwU3RhdGVgIGFuZCBgbWFwU3R5bGVgLlxuICAgKiBgLnBsdWdpbmAgaXMgb25seSBtZWFudCB0byBiZSBjYWxsZWQgb25jZSB3aGVuIG1vdW50aW5nIHRoZSBrZXBsZXJHbFJlZHVjZXIgdG8gdGhlIHN0b3JlLlxuICAgKiAqKk5vdGUqKiBUaGlzIGlzIGFuIGFkdmFuY2VkIG9wdGlvbiB0byBnaXZlIHlvdSBtb3JlIGZyZWVkb20gdG8gbW9kaWZ5IHRoZSBpbnRlcm5hbCBzdGF0ZSBvZiB0aGUga2VwbGVyLmdsIGluc3RhbmNlLlxuICAgKiBZb3Ugc2hvdWxkIG9ubHkgdXNlIHRoaXMgdG8gYWRkaW5nIGFkZGl0aW9uYWwgYWN0aW9ucyBpbnN0ZWFkIG9mIHJlcGxhY2luZyBkZWZhdWx0IGFjdGlvbnMuXG4gICAqXG4gICAqIEBtaXhpbiBrZXBsZXJHbFJlZHVjZXIucGx1Z2luXG4gICAqIEBtZW1iZXJvZiBrZXBsZXJHbFJlZHVjZXJcbiAgICogQHBhcmFtIHtPYmplY3R8RnVuY3Rpb259IGN1c3RvbVJlZHVjZXIgLSBBIHJlZHVjZXIgbWFwIG9yIGEgcmVkdWNlclxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIG9wdGlvbnMgdG8gYmUgYXBwbGllZCB0byBjdXN0b20gcmVkdWNlciBsb2dpY1xuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucy5vdmVycmlkZSAtIG9iamVjdHMgdGhhdCBkZXNjcmliZSB3aGljaCBhY3Rpb24gdG8gb3ZlcnJpZGUsIGUuZy4ge1tBY3Rpb25UeXBlcy5MQVlFUl9UWVBFX0NIQU5HRV06IHRydWV9XG4gICAqIEBwdWJsaWNcbiAgICogQGV4YW1wbGVcbiAgICogY29uc3QgbXlLZXBsZXJHbFJlZHVjZXIgPSBrZXBsZXJHbFJlZHVjZXJcbiAgICogIC5wbHVnaW4oe1xuICAgKiAgICAvLyAxLiBhcyByZWR1Y2VyIG1hcFxuICAgKiAgICBISURFX0FORF9TSE9XX1NJREVfUEFORUw6IChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgKiAgICAgIC4uLnN0YXRlLFxuICAgKiAgICAgIHVpU3RhdGU6IHtcbiAgICogICAgICAgIC4uLnN0YXRlLnVpU3RhdGUsXG4gICAqICAgICAgICByZWFkT25seTogIXN0YXRlLnVpU3RhdGUucmVhZE9ubHlcbiAgICogICAgICB9XG4gICAqICAgIH0pXG4gICAqICB9KVxuICAgKiAucGx1Z2luKGhhbmRsZUFjdGlvbnMoe1xuICAgKiAgIC8vIDIuIGFzIHJlZHVjZXJcbiAgICogICAnSElERV9NQVBfQ09OVFJPTFMnOiAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICogICAgIC4uLnN0YXRlLFxuICAgKiAgICAgdWlTdGF0ZToge1xuICAgKiAgICAgICAuLi5zdGF0ZS51aVN0YXRlLFxuICAgKiAgICAgICBtYXBDb250cm9sczogaGlkZGVuTWFwQ29udHJvbFxuICAgKiAgICAgfVxuICAgKiAgIH0pXG4gICAqIH0sIHt9KSk7XG4gICAqL1xuICB0YXJnZXQucGx1Z2luID0gZnVuY3Rpb24gcGx1Z2luKGN1c3RvbVJlZHVjZXIsIG9wdGlvbnMpIHtcbiAgICBpZiAodHlwZW9mIGN1c3RvbVJlZHVjZXIgPT09ICdvYmplY3QnKSB7XG4gICAgICAvLyBpZiBvbmx5IHByb3ZpZGVkIGEgcmVkdWNlck1hcCwgd3JhcCBpdCBpbiBhIHJlZHVjZXJcbiAgICAgIGN1c3RvbVJlZHVjZXIgPSBoYW5kbGVBY3Rpb25zKGN1c3RvbVJlZHVjZXIsIHt9KTtcbiAgICB9XG5cbiAgICAvLyB1c2UgJ2Z1bmN0aW9uJyBrZXl3b3JkIHRvIGVuYWJsZSAndGhpcydcbiAgICByZXR1cm4gZGVjb3JhdGUoKHN0YXRlID0ge30sIGFjdGlvbjoge3R5cGU/OiBzdHJpbmd9ID0ge30pID0+IHtcbiAgICAgIGxldCBuZXh0U3RhdGUgPSBzdGF0ZTtcbiAgICAgIGlmIChhY3Rpb24udHlwZSAmJiAhb3B0aW9ucz8ub3ZlcnJpZGU/LlthY3Rpb24udHlwZV0pIHtcbiAgICAgICAgbmV4dFN0YXRlID0gdGhpcyhzdGF0ZSwgYWN0aW9uKTtcbiAgICAgIH1cblxuICAgICAgLy8gZm9yIGVhY2ggZW50cnkgaW4gdGhlIHN0YXRlblxuICAgICAgT2JqZWN0LmtleXMobmV4dFN0YXRlKS5mb3JFYWNoKGlkID0+IHtcbiAgICAgICAgLy8gdXBkYXRlIGNoaWxkIHN0YXRlc1xuICAgICAgICBuZXh0U3RhdGUgPSBfdXBkYXRlUHJvcGVydHkoXG4gICAgICAgICAgbmV4dFN0YXRlLFxuICAgICAgICAgIGlkLFxuICAgICAgICAgIGN1c3RvbVJlZHVjZXIobmV4dFN0YXRlW2lkXSwgX2FjdGlvbkZvcihpZCwgYWN0aW9uKSlcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIG5leHRTdGF0ZTtcbiAgICB9KTtcbiAgfTtcblxuICAvKipcbiAgICogUmV0dXJuIGEgcmVkdWNlciB0aGF0IGluaXRpYXRlZCB3aXRoIGN1c3RvbSBpbml0aWFsIHN0YXRlLlxuICAgKiBUaGUgcGFyYW1ldGVyIHNob3VsZCBiZSBhbiBvYmplY3QgbWFwcGluZyBmcm9tIGBzdWJyZWR1Y2VyYCBuYW1lIHRvIGN1c3RvbSBzdWJyZWR1Y2VyIHN0YXRlLFxuICAgKiB3aGljaCB3aWxsIGJlIHNoYWxsb3cgKiptZXJnZWQqKiB3aXRoIGRlZmF1bHQgaW5pdGlhbCBzdGF0ZS5cbiAgICpcbiAgICogRGVmYXVsdCBzdWJyZWR1Y2VyIHN0YXRlOlxuICAgKiAgLSBbYHZpc1N0YXRlYF0oLi92aXMtc3RhdGUubWQjSU5JVElBTF9WSVNfU1RBVEUpXG4gICAqICAtIFtgbWFwU3RhdGVgXSguL21hcC1zdGF0ZS5tZCNJTklUSUFMX01BUF9TVEFURSlcbiAgICogIC0gW2BtYXBTdHlsZWBdKC4vbWFwLXN0eWxlLm1kI0lOSVRJQUxfTUFQX1NUWUxFKVxuICAgKiAgLSBbYHVpU3RhdGVgXSguL3VpLXN0YXRlLm1kI0lOSVRJQUxfVUlfU1RBVEUpXG4gICAqIEBtaXhpbiBrZXBsZXJHbFJlZHVjZXIuaW5pdGlhbFN0YXRlXG4gICAqIEBtZW1iZXJvZiBrZXBsZXJHbFJlZHVjZXJcbiAgICogQHBhcmFtIHtPYmplY3R9IGluaVN0IC0gY3VzdG9tIHN0YXRlIHRvIGJlIG1lcmdlZCB3aXRoIGRlZmF1bHQgaW5pdGlhbCBzdGF0ZVxuICAgKiBAcGFyYW0ge09iamVjdH0gZXh0cmFSZWR1Y2VycyAtIG9wdGlvbmFsIGN1c3RvbSByZWR1Y2VycyBpbiBhZGRpdGlvbiB0byB0aGUgZGVmYXVsdCBgdmlzU3RhdGVgLCBgbWFwU3RhdGVgLCBgbWFwU3R5bGVgLCBhbmQgYHVpU3RhdGVgXG4gICAqIEBwdWJsaWNcbiAgICogQGV4YW1wbGVcbiAgICogY29uc3QgbXlLZXBsZXJHbFJlZHVjZXIgPSBrZXBsZXJHbFJlZHVjZXJcbiAgICogIC5pbml0aWFsU3RhdGUoe1xuICAgKiAgICB1aVN0YXRlOiB7cmVhZE9ubHk6IHRydWV9XG4gICAqICB9KTtcbiAgICovXG4gIHRhcmdldC5pbml0aWFsU3RhdGUgPSBmdW5jdGlvbiBpbml0aWFsU3RhdGUoaW5pU3QsIGV4dHJhUmVkdWNlcnMgPSB7fSkge1xuICAgIC8vIHBhc3NpbmcgdGhyb3VnaCBleHRyYUluaXRpYWxTdGF0ZUtleXMgYW5kIGV4dHJhUmVkdWNlcnMgYWxsb3dzIGV4dGVybmFsIGN1c3RvbWl6YXRpb24gYnkgYWRkaW5nIGFkZGl0aW9uYWwgc3VicmVkdWNlcnMgYW5kIHN0YXRlIGJleW9uZCB0aGUgZGVmYXVsdCBgdmlzU3RhdGVgLCBgbWFwU3RhdGVgLCBgbWFwU3R5bGVgLCBhbmQgYHVpU3RhdGVgXG4gICAgY29uc3QgZXh0cmFJbml0aWFsU3RhdGVLZXlzID0gT2JqZWN0LmtleXMoZXh0cmFSZWR1Y2Vycyk7XG4gICAgY29uc3QgbWVyZ2VkID0gbWVyZ2VJbml0aWFsU3RhdGUodGFyZ2V0SW5pdGlhbFN0YXRlLCBpbmlTdCwgZXh0cmFJbml0aWFsU3RhdGVLZXlzKTtcbiAgICBjb25zdCB0YXJnZXRSZWR1Y2VyID0gcHJvdmlkZUluaXRpYWxTdGF0ZShtZXJnZWQsIGV4dHJhUmVkdWNlcnMpO1xuXG4gICAgcmV0dXJuIGRlY29yYXRlKHRhcmdldFJlZHVjZXIsIG1lcmdlZCk7XG4gIH07XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxuLyoqXG4gKiBLZXBsZXIuZ2wgcmVkdWNlciB0byBiZSBtb3VudGVkIHRvIHlvdXIgc3RvcmUuIFlvdSBjYW4gbW91bnQgYGtlcGxlckdsUmVkdWNlcmAgYXQgcHJvcGVydHkgYGtlcGxlckdsYCwgaWYgeW91IGNob29zZVxuICogdG8gbW91bnQgaXQgYXQgYW5vdGhlciBhZGRyZXNzIGUuZy4gYGZvb2AgeW91IHdpbGwgbmVlZCB0byBzcGVjaWZ5IGl0IHdoZW4geW91IG1vdW50IGBLZXBsZXJHbGAgY29tcG9uZW50IGluIHlvdXIgYXBwIHdpdGggYGdldFN0YXRlOiBzdGF0ZSA9PiBzdGF0ZS5mb29gXG4gKiBAcHVibGljXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IGtlcGxlckdsUmVkdWNlciBmcm9tICdrZXBsZXIuZ2wvcmVkdWNlcnMnO1xuICogaW1wb3J0IHtjcmVhdGVTdG9yZSwgY29tYmluZVJlZHVjZXJzLCBhcHBseU1pZGRsZXdhcmUsIGNvbXBvc2V9IGZyb20gJ3JlZHV4JztcbiAqIGltcG9ydCB7dGFza01pZGRsZXdhcmV9IGZyb20gJ3JlYWN0LXBhbG0vdGFza3MnO1xuICpcbiAqIGNvbnN0IGluaXRpYWxTdGF0ZSA9IHt9O1xuICogY29uc3QgcmVkdWNlcnMgPSBjb21iaW5lUmVkdWNlcnMoe1xuICogICAvLyA8LS0gbW91bnQga2VwbGVyLmdsIHJlZHVjZXIgaW4geW91ciBhcHBcbiAqICAga2VwbGVyR2w6IGtlcGxlckdsUmVkdWNlcixcbiAqXG4gKiAgIC8vIFlvdXIgb3RoZXIgcmVkdWNlcnMgaGVyZVxuICogICBhcHA6IGFwcFJlZHVjZXJcbiAqIH0pO1xuICpcbiAqIC8vIHVzaW5nIGNyZWF0ZVN0b3JlXG4gKiBleHBvcnQgZGVmYXVsdCBjcmVhdGVTdG9yZShyZWR1Y2VyLCBpbml0aWFsU3RhdGUsIGFwcGx5TWlkZGxld2FyZSh0YXNrTWlkZGxld2FyZSkpO1xuICovXG5jb25zdCBrZXBsZXJHbFJlZHVjZXIgPSBkZWNvcmF0ZShfa2VwbGVyR2xSZWR1Y2VyKTtcbmV4cG9ydCBkZWZhdWx0IGtlcGxlckdsUmVkdWNlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxRQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxhQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxLQUFBLEdBQUFGLE9BQUE7QUFBMEMsU0FBQUcsUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLENBQUEsT0FBQUcsTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FBQUwsQ0FBQSxHQUFBQyxDQUFBLEtBQUFLLENBQUEsR0FBQUEsQ0FBQSxDQUFBQyxNQUFBLFdBQUFOLENBQUEsV0FBQUUsTUFBQSxDQUFBSyx3QkFBQSxDQUFBUixDQUFBLEVBQUFDLENBQUEsRUFBQVEsVUFBQSxPQUFBUCxDQUFBLENBQUFRLElBQUEsQ0FBQUMsS0FBQSxDQUFBVCxDQUFBLEVBQUFJLENBQUEsWUFBQUosQ0FBQTtBQUFBLFNBQUFVLGNBQUFaLENBQUEsYUFBQUMsQ0FBQSxNQUFBQSxDQUFBLEdBQUFZLFNBQUEsQ0FBQUMsTUFBQSxFQUFBYixDQUFBLFVBQUFDLENBQUEsV0FBQVcsU0FBQSxDQUFBWixDQUFBLElBQUFZLFNBQUEsQ0FBQVosQ0FBQSxRQUFBQSxDQUFBLE9BQUFGLE9BQUEsQ0FBQUksTUFBQSxDQUFBRCxDQUFBLE9BQUFhLE9BQUEsV0FBQWQsQ0FBQSxRQUFBZSxnQkFBQSxhQUFBaEIsQ0FB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
206
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYWN0aW9ucyIsInJlcXVpcmUiLCJfcmVkdXhBY3Rpb25zIiwiX2NvcmUiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsImluaXRpYWxDb3JlU3RhdGUiLCJwcm92aWRlSW5pdGlhbFN0YXRlIiwiaW5pdGlhbFN0YXRlIiwiZXh0cmFSZWR1Y2VycyIsImNvcmVSZWR1Y2VyIiwiY29yZVJlZHVjZXJGYWN0b3J5IiwiaGFuZGxlUmVnaXN0ZXJFbnRyeSIsInN0YXRlIiwiX3JlZiIsIl9yZWYkcGF5bG9hZCIsInBheWxvYWQiLCJpZCIsIm1pbnQiLCJtYXBib3hBcGlBY2Nlc3NUb2tlbiIsIm1hcGJveEFwaVVybCIsIm1hcFN0eWxlc1JlcGxhY2VEZWZhdWx0IiwiaW5pdGlhbFVpU3RhdGUiLCJwcmV2aW91c1N0YXRlIiwidW5kZWZpbmVkIiwia2VwbGVyR2xJbml0IiwiaGFuZGxlRGVsZXRlRW50cnkiLCJfcmVmMiIsInJlZHVjZSIsImFjY3UiLCJjdXJyIiwiaGFuZGxlUmVuYW1lRW50cnkiLCJfcmVmNCIsIl9yZWY0JHBheWxvYWQiLCJvbGRJZCIsIm5ld0lkIiwiYWN0aW9uIiwidXBkYXRlSXRlbVN0YXRlIiwiX2FjdGlvbkZvciIsIl91cGRhdGVQcm9wZXJ0eSIsImhhbmRsZXJzIiwiQWN0aW9uVHlwZXMiLCJSRUdJU1RFUl9FTlRSWSIsIkRFTEVURV9FTlRSWSIsIlJFTkFNRV9FTlRSWSIsImhhbmRsZUFjdGlvbnMiLCJfa2VwbGVyR2xSZWR1Y2VyIiwibWVyZ2VJbml0aWFsU3RhdGUiLCJzYXZlZCIsInByb3ZpZGVkIiwiZXh0cmFJbml0aWFsU3RhdGVLZXlzIiwiY29uY2F0IiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsIm5ld1N0YXRlIiwia2V5IiwiZGVjb3JhdGUiLCJ0YXJnZXQiLCJzYXZlZEluaXRpYWxTdGF0ZSIsInRhcmdldEluaXRpYWxTdGF0ZSIsInBsdWdpbiIsImN1c3RvbVJlZHVjZXIiLCJvcHRpb25zIiwiX3RoaXMiLCJfdHlwZW9mMiIsIl9vcHRpb25zJG92ZXJyaWRlIiwibmV4dFN0YXRlIiwidHlwZSIsIm92ZXJyaWRlIiwiaW5pU3QiLCJtZXJnZWQiLCJ0YXJnZXRSZWR1Y2VyIiwia2VwbGVyR2xSZWR1Y2VyIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vc3JjL3Jvb3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtcbiAgQWN0aW9uVHlwZXMsXG4gIGtlcGxlckdsSW5pdCxcbiAgX2FjdGlvbkZvcixcbiAgX3VwZGF0ZVByb3BlcnR5LFxuICBSZWdpc3RlckVudHJ5VXBkYXRlckFjdGlvbixcbiAgUmVuYW1lRW50cnlVcGRhdGVyQWN0aW9uXG59IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge2hhbmRsZUFjdGlvbnN9IGZyb20gJ3JlZHV4LWFjdGlvbnMnO1xuXG5pbXBvcnQge2NvcmVSZWR1Y2VyRmFjdG9yeSwgS2VwbGVyR2xTdGF0ZX0gZnJvbSAnLi9jb3JlJztcblxudHlwZSBLZXBsZXJHbFN0YXRlTWFwID0ge1xuICBbaWQ6IHN0cmluZ106IFBhcnRpYWw8S2VwbGVyR2xTdGF0ZT47XG59O1xuXG50eXBlIENvbWJpbmVSZWdpc3RlclVwZGF0ZUFjdGlvbnMgPSBSZWdpc3RlckVudHJ5VXBkYXRlckFjdGlvblsncGF5bG9hZCddICZcbiAgUmVuYW1lRW50cnlVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ107IC8vIEV4dGVuZCB0aGlzIHR5cGUgd2l0aCBhZGRpdGlvbmFsIGFjdGlvbnMgdG8gZW5mb3JjZSBzdHJpY3QgdHlwaW5nc1xuXG4vLyBJTklUSUFMX1NUQVRFXG5jb25zdCBpbml0aWFsQ29yZVN0YXRlID0ge307XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlSW5pdGlhbFN0YXRlKGluaXRpYWxTdGF0ZSwgZXh0cmFSZWR1Y2Vycz8pIHtcbiAgY29uc3QgY29yZVJlZHVjZXIgPSBjb3JlUmVkdWNlckZhY3RvcnkoaW5pdGlhbFN0YXRlLCBleHRyYVJlZHVjZXJzKTtcblxuICBjb25zdCBoYW5kbGVSZWdpc3RlckVudHJ5ID0gKFxuICAgIHN0YXRlOiBLZXBsZXJHbFN0YXRlTWFwLFxuICAgIHtcbiAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgaWQsXG4gICAgICAgIG1pbnQsXG4gICAgICAgIG1hcGJveEFwaUFjY2Vzc1Rva2VuLFxuICAgICAgICBtYXBib3hBcGlVcmwsXG4gICAgICAgIG1hcFN0eWxlc1JlcGxhY2VEZWZhdWx0LFxuICAgICAgICBpbml0aWFsVWlTdGF0ZVxuICAgICAgfVxuICAgIH06IHtcbiAgICAgIHBheWxvYWQ6IFJlZ2lzdGVyRW50cnlVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ107XG4gICAgfVxuICApOiBLZXBsZXJHbFN0YXRlTWFwID0+IHtcbiAgICAvLyBieSBkZWZhdWx0LCBhbHdheXMgY3JlYXRlIGEgbWludCBzdGF0ZSBldmVuIGlmIHRoZSBzYW1lIGlkIGFscmVhZHkgZXhpc3RcbiAgICAvLyBpZiBzdGF0ZS5pZCBleGlzdCBhbmQgbWludD1mYWxzZSwga2VlcCB0aGUgZXhpc3Rpbmcgc3RhdGVcbiAgICBjb25zdCBwcmV2aW91c1N0YXRlID0gc3RhdGVbaWRdICYmIG1pbnQgPT09IGZhbHNlID8gc3RhdGVbaWRdIDogdW5kZWZpbmVkO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC8vIHJlZ2lzdGVyIGVudHJ5IHRvIGtlcGxlci5nbCBwYXNzaW5nIGluIG1hcGJveCBjb25maWcgdG8gbWFwU3R5bGVcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgW2lkXTogY29yZVJlZHVjZXIoXG4gICAgICAgIHByZXZpb3VzU3RhdGUsXG4gICAgICAgIGtlcGxlckdsSW5pdCh7bWFwYm94QXBpQWNjZXNzVG9rZW4sIG1hcGJveEFwaVVybCwgbWFwU3R5bGVzUmVwbGFjZURlZmF1bHQsIGluaXRpYWxVaVN0YXRlfSlcbiAgICAgIClcbiAgICB9O1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZUVudHJ5ID0gKFxuICAgIHN0YXRlOiBLZXBsZXJHbFN0YXRlTWFwLFxuICAgIHtwYXlsb2FkOiB7aWR9fToge3BheWxvYWQ6IHtpZDogc3RyaW5nfX1cbiAgKTogS2VwbGVyR2xTdGF0ZU1hcCA9PlxuICAgIE9iamVjdC5rZXlzKHN0YXRlKS5yZWR1Y2UoXG4gICAgICAoYWNjdSwgY3VycikgPT4gKHtcbiAgICAgICAgLi4uYWNjdSxcbiAgICAgICAgLi4uKGN1cnIgPT09IGlkID8ge30gOiB7W2N1cnJdOiBzdGF0ZVtjdXJyXX0pXG4gICAgICB9KSxcbiAgICAgIHt9XG4gICAgKTtcblxuICBjb25zdCBoYW5kbGVSZW5hbWVFbnRyeSA9IChcbiAgICBzdGF0ZTogS2VwbGVyR2xTdGF0ZU1hcCxcbiAgICB7XG4gICAgICBwYXlsb2FkOiB7b2xkSWQsIG5ld0lkfVxuICAgIH06IHtcbiAgICAgIHBheWxvYWQ6IFJlbmFtZUVudHJ5VXBkYXRlckFjdGlvblsncGF5bG9hZCddO1xuICAgIH1cbiAgKTogS2VwbGVyR2xTdGF0ZU1hcCA9PlxuICAgIE9iamVjdC5rZXlzKHN0YXRlKS5yZWR1Y2UoXG4gICAgICAoYWNjdSwgY3VycikgPT4gKHtcbiAgICAgICAgLi4uYWNjdSxcbiAgICAgICAgLi4ue1tjdXJyID09PSBvbGRJZCA/IG5ld0lkIDogY3Vycl06IHN0YXRlW2N1cnJdfVxuICAgICAgfSksXG4gICAgICB7fVxuICAgICk7XG5cbiAgcmV0dXJuIChzdGF0ZSA9IGluaXRpYWxDb3JlU3RhdGUsIGFjdGlvbikgPT4ge1xuICAgIC8vIHVwZGF0ZSBjaGlsZCBzdGF0ZXNcbiAgICBPYmplY3Qua2V5cyhzdGF0ZSkuZm9yRWFjaChpZCA9PiB7XG4gICAgICBjb25zdCB1cGRhdGVJdGVtU3RhdGUgPSBjb3JlUmVkdWNlcihzdGF0ZVtpZF0sIF9hY3Rpb25Gb3IoaWQsIGFjdGlvbikpO1xuICAgICAgc3RhdGUgPSBfdXBkYXRlUHJvcGVydHkoc3RhdGUsIGlkLCB1cGRhdGVJdGVtU3RhdGUpO1xuICAgIH0pO1xuXG4gICAgLy8gcGVyZm9ybSBhZGRpdGlvbmFsIHN0YXRlIHJlZHVjaW5nIChlLmcuIHN3aXRjaCBhY3Rpb24udHlwZSBldGMuLi4pXG4gICAgY29uc3QgaGFuZGxlcnMgPSB7XG4gICAgICBbQWN0aW9uVHlwZXMuUkVHSVNURVJfRU5UUlldOiBoYW5kbGVSZWdpc3RlckVudHJ5LFxuICAgICAgW0FjdGlvblR5cGVzLkRFTEVURV9FTlRSWV06IGhhbmRsZURlbGV0ZUVudHJ5LFxuICAgICAgW0FjdGlvblR5cGVzLlJFTkFNRV9FTlRSWV06IGhhbmRsZVJlbmFtZUVudHJ5XG4gICAgfTtcblxuICAgIHJldHVybiBoYW5kbGVBY3Rpb25zPEtlcGxlckdsU3RhdGVNYXAsIENvbWJpbmVSZWdpc3RlclVwZGF0ZUFjdGlvbnM+KFxuICAgICAgaGFuZGxlcnMsXG4gICAgICBpbml0aWFsQ29yZVN0YXRlXG4gICAgKShzdGF0ZSwgYWN0aW9uKTtcbiAgfTtcbn1cblxuY29uc3QgX2tlcGxlckdsUmVkdWNlciA9IHByb3ZpZGVJbml0aWFsU3RhdGUoaW5pdGlhbENvcmVTdGF0ZSk7XG5cbmZ1bmN0aW9uIG1lcmdlSW5pdGlhbFN0YXRlKHNhdmVkID0ge30sIHByb3ZpZGVkID0ge30sIGV4dHJhSW5pdGlhbFN0YXRlS2V5czogc3RyaW5nW10gPSBbXSkge1xuICBjb25zdCBrZXlzID0gWydtYXBTdGF0ZScsICdtYXBTdHlsZScsICd2aXNTdGF0ZScsICd1aVN0YXRlJywgLi4uZXh0cmFJbml0aWFsU3RhdGVLZXlzXTtcblxuICAvLyBzaGFsbG93IG1lcmdlIGVhY2ggcmVkdWNlclxuICBjb25zdCBuZXdTdGF0ZSA9IGtleXMucmVkdWNlKFxuICAgIChhY2N1LCBrZXkpID0+ICh7XG4gICAgICAuLi5hY2N1LFxuICAgICAgLi4uKHNhdmVkW2tleV0gJiYgcHJvdmlkZWRba2V5XVxuICAgICAgICA/IHtba2V5XTogey4uLnNhdmVkW2tleV0sIC4uLnByb3ZpZGVkW2tleV19fVxuICAgICAgICA6IHtba2V5XTogc2F2ZWRba2V5XSB8fCBwcm92aWRlZFtrZXldIHx8IHt9fSlcbiAgICB9KSxcbiAgICB7fVxuICApO1xuXG4gIHJldHVybiBuZXdTdGF0ZTtcbn1cblxuZnVuY3Rpb24gZGVjb3JhdGUodGFyZ2V0LCBzYXZlZEluaXRpYWxTdGF0ZSA9IHt9KSB7XG4gIGNvbnN0IHRhcmdldEluaXRpYWxTdGF0ZSA9IHNhdmVkSW5pdGlhbFN0YXRlO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEga2VwbGVyLmdsIHJlZHVjZXIgdGhhdCB3aWxsIGFsc28gcGFzcyBlYWNoIGFjdGlvbiB0aHJvdWdoIGFkZGl0aW9uYWwgcmVkdWNlcnMgc3BpZWNpZmllZC5cbiAgICogVGhlIHBhcmFtZXRlciBzaG91bGQgYmUgZWl0aGVyIGEgcmVkdWNlciBtYXAgb3IgYSByZWR1Y2VyIGZ1bmN0aW9uLlxuICAgKiBUaGUgc3RhdGUgcGFzc2VkIGludG8gdGhlIGFkZGl0aW9uYWwgYWN0aW9uIGhhbmRsZXIgaXMgdGhlIGluc3RhbmNlIHN0YXRlLlxuICAgKiBJdCB3aWxsIGluY2x1ZGUgYWxsIHRoZSBzdWJyZWR1Y2VycyBgdmlzU3RhdGVgLCBgdWlTdGF0ZWAsIGBtYXBTdGF0ZWAgYW5kIGBtYXBTdHlsZWAuXG4gICAqIGAucGx1Z2luYCBpcyBvbmx5IG1lYW50IHRvIGJlIGNhbGxlZCBvbmNlIHdoZW4gbW91bnRpbmcgdGhlIGtlcGxlckdsUmVkdWNlciB0byB0aGUgc3RvcmUuXG4gICAqICoqTm90ZSoqIFRoaXMgaXMgYW4gYWR2YW5jZWQgb3B0aW9uIHRvIGdpdmUgeW91IG1vcmUgZnJlZWRvbSB0byBtb2RpZnkgdGhlIGludGVybmFsIHN0YXRlIG9mIHRoZSBrZXBsZXIuZ2wgaW5zdGFuY2UuXG4gICAqIFlvdSBzaG91bGQgb25seSB1c2UgdGhpcyB0byBhZGRpbmcgYWRkaXRpb25hbCBhY3Rpb25zIGluc3RlYWQgb2YgcmVwbGFjaW5nIGRlZmF1bHQgYWN0aW9ucy5cbiAgICpcbiAgICogQG1peGluIGtlcGxlckdsUmVkdWNlci5wbHVnaW5cbiAgICogQG1lbWJlcm9mIGtlcGxlckdsUmVkdWNlclxuICAgKiBAcGFyYW0ge09iamVjdHxGdW5jdGlvbn0gY3VzdG9tUmVkdWNlciAtIEEgcmVkdWNlciBtYXAgb3IgYSByZWR1Y2VyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gb3B0aW9ucyB0byBiZSBhcHBsaWVkIHRvIGN1c3RvbSByZWR1Y2VyIGxvZ2ljXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zLm92ZXJyaWRlIC0gb2JqZWN0cyB0aGF0IGRlc2NyaWJlIHdoaWNoIGFjdGlvbiB0byBvdmVycmlkZSwgZS5nLiB7W0FjdGlvblR5cGVzLkxBWUVSX1RZUEVfQ0hBTkdFXTogdHJ1ZX1cbiAgICogQHB1YmxpY1xuICAgKiBAZXhhbXBsZVxuICAgKiBjb25zdCBteUtlcGxlckdsUmVkdWNlciA9IGtlcGxlckdsUmVkdWNlclxuICAgKiAgLnBsdWdpbih7XG4gICAqICAgIC8vIDEuIGFzIHJlZHVjZXIgbWFwXG4gICAqICAgIEhJREVfQU5EX1NIT1dfU0lERV9QQU5FTDogKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAqICAgICAgLi4uc3RhdGUsXG4gICAqICAgICAgdWlTdGF0ZToge1xuICAgKiAgICAgICAgLi4uc3RhdGUudWlTdGF0ZSxcbiAgICogICAgICAgIHJlYWRPbmx5OiAhc3RhdGUudWlTdGF0ZS5yZWFkT25seVxuICAgKiAgICAgIH1cbiAgICogICAgfSlcbiAgICogIH0pXG4gICAqIC5wbHVnaW4oaGFuZGxlQWN0aW9ucyh7XG4gICAqICAgLy8gMi4gYXMgcmVkdWNlclxuICAgKiAgICdISURFX01BUF9DT05UUk9MUyc6IChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgKiAgICAgLi4uc3RhdGUsXG4gICAqICAgICB1aVN0YXRlOiB7XG4gICAqICAgICAgIC4uLnN0YXRlLnVpU3RhdGUsXG4gICAqICAgICAgIG1hcENvbnRyb2xzOiBoaWRkZW5NYXBDb250cm9sXG4gICAqICAgICB9XG4gICAqICAgfSlcbiAgICogfSwge30pKTtcbiAgICovXG4gIHRhcmdldC5wbHVnaW4gPSBmdW5jdGlvbiBwbHVnaW4oY3VzdG9tUmVkdWNlciwgb3B0aW9ucykge1xuICAgIGlmICh0eXBlb2YgY3VzdG9tUmVkdWNlciA9PT0gJ29iamVjdCcpIHtcbiAgICAgIC8vIGlmIG9ubHkgcHJvdmlkZWQgYSByZWR1Y2VyTWFwLCB3cmFwIGl0IGluIGEgcmVkdWNlclxuICAgICAgY3VzdG9tUmVkdWNlciA9IGhhbmRsZUFjdGlvbnMoY3VzdG9tUmVkdWNlciwge30pO1xuICAgIH1cblxuICAgIC8vIHVzZSAnZnVuY3Rpb24nIGtleXdvcmQgdG8gZW5hYmxlICd0aGlzJ1xuICAgIHJldHVybiBkZWNvcmF0ZSgoc3RhdGUgPSB7fSwgYWN0aW9uOiB7dHlwZT86IHN0cmluZ30gPSB7fSkgPT4ge1xuICAgICAgbGV0IG5leHRTdGF0ZSA9IHN0YXRlO1xuICAgICAgaWYgKGFjdGlvbi50eXBlICYmICFvcHRpb25zPy5vdmVycmlkZT8uW2FjdGlvbi50eXBlXSkge1xuICAgICAgICBuZXh0U3RhdGUgPSB0aGlzKHN0YXRlLCBhY3Rpb24pO1xuICAgICAgfVxuXG4gICAgICAvLyBmb3IgZWFjaCBlbnRyeSBpbiB0aGUgc3RhdGVuXG4gICAgICBPYmplY3Qua2V5cyhuZXh0U3RhdGUpLmZvckVhY2goaWQgPT4ge1xuICAgICAgICAvLyB1cGRhdGUgY2hpbGQgc3RhdGVzXG4gICAgICAgIG5leHRTdGF0ZSA9IF91cGRhdGVQcm9wZXJ0eShcbiAgICAgICAgICBuZXh0U3RhdGUsXG4gICAgICAgICAgaWQsXG4gICAgICAgICAgY3VzdG9tUmVkdWNlcihuZXh0U3RhdGVbaWRdLCBfYWN0aW9uRm9yKGlkLCBhY3Rpb24pKVxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gbmV4dFN0YXRlO1xuICAgIH0pO1xuICB9O1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSByZWR1Y2VyIHRoYXQgaW5pdGlhdGVkIHdpdGggY3VzdG9tIGluaXRpYWwgc3RhdGUuXG4gICAqIFRoZSBwYXJhbWV0ZXIgc2hvdWxkIGJlIGFuIG9iamVjdCBtYXBwaW5nIGZyb20gYHN1YnJlZHVjZXJgIG5hbWUgdG8gY3VzdG9tIHN1YnJlZHVjZXIgc3RhdGUsXG4gICAqIHdoaWNoIHdpbGwgYmUgc2hhbGxvdyAqKm1lcmdlZCoqIHdpdGggZGVmYXVsdCBpbml0aWFsIHN0YXRlLlxuICAgKlxuICAgKiBEZWZhdWx0IHN1YnJlZHVjZXIgc3RhdGU6XG4gICAqICAtIFtgdmlzU3RhdGVgXSguL3Zpcy1zdGF0ZS5tZCNJTklUSUFMX1ZJU19TVEFURSlcbiAgICogIC0gW2BtYXBTdGF0ZWBdKC4vbWFwLXN0YXRlLm1kI0lOSVRJQUxfTUFQX1NUQVRFKVxuICAgKiAgLSBbYG1hcFN0eWxlYF0oLi9tYXAtc3R5bGUubWQjSU5JVElBTF9NQVBfU1RZTEUpXG4gICAqICAtIFtgdWlTdGF0ZWBdKC4vdWktc3RhdGUubWQjSU5JVElBTF9VSV9TVEFURSlcbiAgICogQG1peGluIGtlcGxlckdsUmVkdWNlci5pbml0aWFsU3RhdGVcbiAgICogQG1lbWJlcm9mIGtlcGxlckdsUmVkdWNlclxuICAgKiBAcGFyYW0ge09iamVjdH0gaW5pU3QgLSBjdXN0b20gc3RhdGUgdG8gYmUgbWVyZ2VkIHdpdGggZGVmYXVsdCBpbml0aWFsIHN0YXRlXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBleHRyYVJlZHVjZXJzIC0gb3B0aW9uYWwgY3VzdG9tIHJlZHVjZXJzIGluIGFkZGl0aW9uIHRvIHRoZSBkZWZhdWx0IGB2aXNTdGF0ZWAsIGBtYXBTdGF0ZWAsIGBtYXBTdHlsZWAsIGFuZCBgdWlTdGF0ZWBcbiAgICogQHB1YmxpY1xuICAgKiBAZXhhbXBsZVxuICAgKiBjb25zdCBteUtlcGxlckdsUmVkdWNlciA9IGtlcGxlckdsUmVkdWNlclxuICAgKiAgLmluaXRpYWxTdGF0ZSh7XG4gICAqICAgIHVpU3RhdGU6IHtyZWFkT25seTogdHJ1ZX1cbiAgICogIH0pO1xuICAgKi9cbiAgdGFyZ2V0LmluaXRpYWxTdGF0ZSA9IGZ1bmN0aW9uIGluaXRpYWxTdGF0ZShpbmlTdCwgZXh0cmFSZWR1Y2VycyA9IHt9KSB7XG4gICAgLy8gcGFzc2luZyB0aHJvdWdoIGV4dHJhSW5pdGlhbFN0YXRlS2V5cyBhbmQgZXh0cmFSZWR1Y2VycyBhbGxvd3MgZXh0ZXJuYWwgY3VzdG9taXphdGlvbiBieSBhZGRpbmcgYWRkaXRpb25hbCBzdWJyZWR1Y2VycyBhbmQgc3RhdGUgYmV5b25kIHRoZSBkZWZhdWx0IGB2aXNTdGF0ZWAsIGBtYXBTdGF0ZWAsIGBtYXBTdHlsZWAsIGFuZCBgdWlTdGF0ZWBcbiAgICBjb25zdCBleHRyYUluaXRpYWxTdGF0ZUtleXMgPSBPYmplY3Qua2V5cyhleHRyYVJlZHVjZXJzKTtcbiAgICBjb25zdCBtZXJnZWQgPSBtZXJnZUluaXRpYWxTdGF0ZSh0YXJnZXRJbml0aWFsU3RhdGUsIGluaVN0LCBleHRyYUluaXRpYWxTdGF0ZUtleXMpO1xuICAgIGNvbnN0IHRhcmdldFJlZHVjZXIgPSBwcm92aWRlSW5pdGlhbFN0YXRlKG1lcmdlZCwgZXh0cmFSZWR1Y2Vycyk7XG5cbiAgICByZXR1cm4gZGVjb3JhdGUodGFyZ2V0UmVkdWNlciwgbWVyZ2VkKTtcbiAgfTtcblxuICByZXR1cm4gdGFyZ2V0O1xufVxuXG4vKipcbiAqIEtlcGxlci5nbCByZWR1Y2VyIHRvIGJlIG1vdW50ZWQgdG8geW91ciBzdG9yZS4gWW91IGNhbiBtb3VudCBga2VwbGVyR2xSZWR1Y2VyYCBhdCBwcm9wZXJ0eSBga2VwbGVyR2xgLCBpZiB5b3UgY2hvb3NlXG4gKiB0byBtb3VudCBpdCBhdCBhbm90aGVyIGFkZHJlc3MgZS5nLiBgZm9vYCB5b3Ugd2lsbCBuZWVkIHRvIHNwZWNpZnkgaXQgd2hlbiB5b3UgbW91bnQgYEtlcGxlckdsYCBjb21wb25lbnQgaW4geW91ciBhcHAgd2l0aCBgZ2V0U3RhdGU6IHN0YXRlID0+IHN0YXRlLmZvb2BcbiAqIEBwdWJsaWNcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQga2VwbGVyR2xSZWR1Y2VyIGZyb20gJ2tlcGxlci5nbC9yZWR1Y2Vycyc7XG4gKiBpbXBvcnQge2NyZWF0ZVN0b3JlLCBjb21iaW5lUmVkdWNlcnMsIGFwcGx5TWlkZGxld2FyZSwgY29tcG9zZX0gZnJvbSAncmVkdXgnO1xuICogaW1wb3J0IHt0YXNrTWlkZGxld2FyZX0gZnJvbSAncmVhY3QtcGFsbS90YXNrcyc7XG4gKlxuICogY29uc3QgaW5pdGlhbFN0YXRlID0ge307XG4gKiBjb25zdCByZWR1Y2VycyA9IGNvbWJpbmVSZWR1Y2Vycyh7XG4gKiAgIC8vIDwtLSBtb3VudCBrZXBsZXIuZ2wgcmVkdWNlciBpbiB5b3VyIGFwcFxuICogICBrZXBsZXJHbDoga2VwbGVyR2xSZWR1Y2VyLFxuICpcbiAqICAgLy8gWW91ciBvdGhlciByZWR1Y2VycyBoZXJlXG4gKiAgIGFwcDogYXBwUmVkdWNlclxuICogfSk7XG4gKlxuICogLy8gdXNpbmcgY3JlYXRlU3RvcmVcbiAqIGV4cG9ydCBkZWZhdWx0IGNyZWF0ZVN0b3JlKHJlZHVjZXIsIGluaXRpYWxTdGF0ZSwgYXBwbHlNaWRkbGV3YXJlKHRhc2tNaWRkbGV3YXJlKSk7XG4gKi9cbmNvbnN0IGtlcGxlckdsUmVkdWNlciA9IGRlY29yYXRlKF9rZXBsZXJHbFJlZHVjZXIpO1xuZXhwb3J0IGRlZmF1bHQga2VwbGVyR2xSZWR1Y2VyO1xuIl0s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
@@ -164,6 +164,16 @@ export declare const toggleMapControlUpdater: (state: UiState, { payload: { pane
164
164
  * @public
165
165
  */
166
166
  export declare const setMapControlVisibilityUpdater: (state: UiState, { payload: { panelId, show } }: UIStateActions.setMapControlVisibilityUpdaterAction) => UiState;
167
+ /**
168
+ * Toggle map control settings
169
+ * @memberof uiStateUpdaters
170
+ * @param state `uiState`
171
+ * @param action action
172
+ * @param action.payload map control panel id, one of the keys of: [`DEFAULT_MAP_CONTROLS`](#default_map_controls)
173
+ * @returns nextState
174
+ * @public
175
+ */
176
+ export declare const setMapControlSettingsUpdater: (state: UiState, { payload: { panelId, settings } }: UIStateActions.setMapControlSettingsUpdaterAction) => UiState;
167
177
  /**
168
178
  * Toggle active map control panel
169
179
  * @memberof uiStateUpdaters