@kepler.gl/components 3.1.0 → 3.1.2

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.
Files changed (74) hide show
  1. package/dist/common/checkbox.js +14 -5
  2. package/dist/common/data-table/header-cell.d.ts +1 -0
  3. package/dist/common/data-table/header-cell.js +2 -2
  4. package/dist/common/data-table/index.d.ts +1 -0
  5. package/dist/common/data-table/index.js +5 -1
  6. package/dist/common/file-uploader/file-drop.d.ts +1 -32
  7. package/dist/common/file-uploader/file-drop.js +152 -167
  8. package/dist/common/histogram-plot.js +13 -13
  9. package/dist/common/icons/index.js +1 -1
  10. package/dist/common/index.d.ts +1 -1
  11. package/dist/common/index.js +3 -3
  12. package/dist/common/item-selector/chickleted-input.js +5 -2
  13. package/dist/common/item-selector/dropdown-list.d.ts +3 -3
  14. package/dist/common/item-selector/dropdown-list.js +6 -7
  15. package/dist/common/item-selector/dropdown-select.js +8 -3
  16. package/dist/common/item-selector/item-selector.d.ts +1 -1
  17. package/dist/common/item-selector/item-selector.js +5 -2
  18. package/dist/common/item-selector/typeahead.d.ts +1 -1
  19. package/dist/common/item-selector/typeahead.js +8 -3
  20. package/dist/common/range-brush.js +6 -6
  21. package/dist/common/range-slider.js +7 -7
  22. package/dist/common/slider/slider-bar-handle.d.ts +2 -2
  23. package/dist/common/slider/slider-bar-handle.js +4 -4
  24. package/dist/common/slider/slider-handle.d.ts +3 -3
  25. package/dist/common/slider/slider-handle.js +11 -11
  26. package/dist/common/slider/slider.d.ts +3 -3
  27. package/dist/common/slider/slider.js +6 -6
  28. package/dist/common/styled-components.d.ts +4 -3
  29. package/dist/common/styled-components.js +47 -12
  30. package/dist/geocoder/geocoder.d.ts +7 -0
  31. package/dist/geocoder/geocoder.js +19 -11
  32. package/dist/geocoder-panel.d.ts +2 -2
  33. package/dist/geocoder-panel.js +64 -91
  34. package/dist/hooks/use-fetch-vector-tile-metadata.d.ts +4 -3
  35. package/dist/hooks/use-fetch-vector-tile-metadata.js +35 -26
  36. package/dist/hooks/use-legend-position.d.ts +2 -10
  37. package/dist/hooks/use-legend-position.js +12 -6
  38. package/dist/index.d.ts +1 -1
  39. package/dist/index.js +4 -4
  40. package/dist/kepler-gl.js +3 -13
  41. package/dist/loading-indicator.d.ts +2 -2
  42. package/dist/loading-indicator.js +5 -5
  43. package/dist/map/map-control.d.ts +2 -0
  44. package/dist/map/map-control.js +3 -3
  45. package/dist/map/map-legend-panel.d.ts +3 -1
  46. package/dist/map/map-legend-panel.js +23 -30
  47. package/dist/map-container.js +12 -10
  48. package/dist/modal-container.js +8 -8
  49. package/dist/modals/tilesets-modals/tileset-vector-form.js +31 -12
  50. package/dist/side-panel/common/dataset-title.js +4 -4
  51. package/dist/side-panel/common/types.d.ts +1 -1
  52. package/dist/side-panel/common/types.js +1 -1
  53. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +3 -3
  54. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +7 -7
  55. package/dist/side-panel/layer-manager.js +84 -108
  56. package/dist/side-panel/layer-panel/color-palette-preset.js +2 -2
  57. package/dist/side-panel/layer-panel/color-palette.d.ts +2 -2
  58. package/dist/side-panel/layer-panel/color-palette.js +6 -6
  59. package/dist/side-panel/layer-panel/color-range-selector.js +10 -11
  60. package/dist/side-panel/layer-panel/color-selector.js +9 -5
  61. package/dist/side-panel/layer-panel/custom-palette.js +7 -4
  62. package/dist/side-panel/layer-panel/dataset-section.js +3 -3
  63. package/dist/side-panel/layer-panel/layer-config-group.js +5 -2
  64. package/dist/side-panel/layer-panel/layer-configurator.js +6 -8
  65. package/dist/side-panel/layer-panel/layer-list.js +5 -5
  66. package/dist/side-panel/layer-panel/layer-panel-header.js +9 -5
  67. package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +1 -2
  68. package/dist/side-panel/map-manager.js +76 -101
  69. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +3 -3
  70. package/dist/side-panel/map-style-panel/map-layer-group-item.js +4 -4
  71. package/dist/side-panel/panel-header-action.js +8 -8
  72. package/dist/side-panel/panel-view-list-toggle.d.ts +1 -1
  73. package/dist/side-panel/panel-view-list-toggle.js +3 -3
  74. package/package.json +16 -16
@@ -20,6 +20,7 @@ var _viewportMercatorProject = require("viewport-mercator-project");
20
20
  var _constants = require("@kepler.gl/constants");
21
21
  var _styledComponents2 = require("../common/styled-components");
22
22
  var _icons = require("../common/icons");
23
+ var _utils = require("@kepler.gl/utils");
23
24
  var _templateObject; // SPDX-License-Identifier: MIT
24
25
  // Copyright contributors to the kepler.gl project
25
26
  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); }
@@ -27,17 +28,27 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
27
28
  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; }
28
29
  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; }
29
30
  // matches only valid coordinates
30
- var COORDINATE_REGEX_STRING = '^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)';
31
+ var COORDINATE_REGEX_STRING = '(^[-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$';
31
32
  var COORDINATE_REGEX = RegExp(COORDINATE_REGEX_STRING);
32
33
  var PLACEHOLDER = 'Enter an address or coordinates, ex 37.79,-122.40';
33
34
  var debounceTimeout = null;
35
+
36
+ /**
37
+ * Tests if a given query string contains valid coordinates.
38
+ * @param query The input string to test for coordinates.
39
+ * @returns A tuple where:
40
+ * - If valid, returns `[true, longitude, latitude]`.
41
+ * - If invalid, returns `[false, query]`.
42
+ */
34
43
  var testForCoordinates = exports.testForCoordinates = function testForCoordinates(query) {
35
44
  var isValid = COORDINATE_REGEX.test(query.trim());
36
45
  if (!isValid) {
37
46
  return [isValid, query];
38
47
  }
39
48
  var tokens = query.trim().split(',');
40
- return [isValid, Number(tokens[0]), Number(tokens[1])];
49
+ var latitude = Number(tokens[0]);
50
+ var longitude = Number(tokens[1]);
51
+ return [isValid, longitude, latitude];
41
52
  };
42
53
  var StyledContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n color: ", ";\n\n .geocoder-input {\n box-shadow: ", ";\n\n .geocoder-input__search {\n position: absolute;\n height: ", "px;\n width: 30px;\n padding-left: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ", ";\n }\n\n input {\n padding: 4px 36px;\n height: ", "px;\n caret-color: unset;\n }\n }\n\n .geocoder-results {\n box-shadow: ", ";\n background-color: ", ";\n position: absolute;\n width: ", "px;\n margin-top: ", "px;\n }\n\n .geocoder-item {\n ", ";\n ", ";\n\n &.active {\n background-color: ", ";\n }\n }\n\n .remove-result {\n position: absolute;\n right: 16px;\n top: 0px;\n height: ", "px;\n display: flex;\n align-items: center;\n\n &:hover {\n cursor: pointer;\n color: ", ";\n }\n }\n"])), function (props) {
43
54
  return props.theme.textColor;
@@ -68,7 +79,6 @@ var StyledContainer = _styledComponents["default"].div(_templateObject || (_temp
68
79
  }, function (props) {
69
80
  return props.theme.textColorHl;
70
81
  });
71
- /** @type {import('./geocoder').GeocoderComponent} */
72
82
  var GeoCoder = function GeoCoder(_ref) {
73
83
  var mapboxApiAccessToken = _ref.mapboxApiAccessToken,
74
84
  _ref$className = _ref.className,
@@ -100,7 +110,6 @@ var GeoCoder = function GeoCoder(_ref) {
100
110
  _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
101
111
  showDelete = _useState6[0],
102
112
  setShowDelete = _useState6[1];
103
- /** @type {import('./geocoder').Results} */
104
113
  var initialResults = [];
105
114
  var _useState7 = (0, _react.useState)(initialResults),
106
115
  _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
@@ -111,7 +120,7 @@ var GeoCoder = function GeoCoder(_ref) {
111
120
  selectedIndex = _useState10[0],
112
121
  setSelectedIndex = _useState10[1];
113
122
  var client = (0, _react.useMemo)(function () {
114
- return (0, _geocoding["default"])({
123
+ return (0, _utils.isTest)() ? null : (0, _geocoding["default"])({
115
124
  accessToken: mapboxApiAccessToken
116
125
  });
117
126
  }, [mapboxApiAccessToken]);
@@ -120,13 +129,12 @@ var GeoCoder = function GeoCoder(_ref) {
120
129
  setInputValue(queryString);
121
130
  var resultCoordinates = testForCoordinates(queryString);
122
131
  if (resultCoordinates[0]) {
123
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
124
132
  var _resultCoordinates = (0, _slicedToArray2["default"])(resultCoordinates, 3),
125
- _ = _resultCoordinates[0],
126
- latitude = _resultCoordinates[1],
127
- longitude = _resultCoordinates[2];
133
+ _isValid = _resultCoordinates[0],
134
+ longitude = _resultCoordinates[1],
135
+ latitude = _resultCoordinates[2];
128
136
  setResults([{
129
- center: [latitude, longitude],
137
+ center: [longitude, latitude],
130
138
  place_name: queryString
131
139
  }]);
132
140
  } else {
@@ -266,4 +274,4 @@ var GeoCoder = function GeoCoder(_ref) {
266
274
  })) : null);
267
275
  };
268
276
  var _default = exports["default"] = (0, _reactIntl.injectIntl)(GeoCoder);
269
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY2xhc3NuYW1lcyIsIl9nZW9jb2RpbmciLCJfcmVhY3RJbnRsIiwiX3ZpZXdwb3J0TWVyY2F0b3JQcm9qZWN0IiwiX2NvbnN0YW50cyIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl9pY29ucyIsIl90ZW1wbGF0ZU9iamVjdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIkNPT1JESU5BVEVfUkVHRVhfU1RSSU5HIiwiQ09PUkRJTkFURV9SRUdFWCIsIlJlZ0V4cCIsIlBMQUNFSE9MREVSIiwiZGVib3VuY2VUaW1lb3V0IiwidGVzdEZvckNvb3JkaW5hdGVzIiwiZXhwb3J0cyIsInF1ZXJ5IiwiaXNWYWxpZCIsInRlc3QiLCJ0cmltIiwidG9rZW5zIiwic3BsaXQiLCJOdW1iZXIiLCJTdHlsZWRDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJ0ZXh0Q29sb3IiLCJib3hTaGFkb3ciLCJnZW9jb2RlcklucHV0SGVpZ2h0Iiwic3VidGV4dENvbG9yIiwicGFuZWxCYWNrZ3JvdW5kIiwiaXNGaW5pdGUiLCJ3aWR0aCIsImdlb2NvZGVyV2lkdGgiLCJkcm9wZG93bldhcHBlck1hcmdpbiIsImRyb3Bkb3duTGlzdEl0ZW0iLCJ0ZXh0VHJ1bmNhdGUiLCJkcm9wZG93bkxpc3RIaWdobGlnaHRCZyIsInRleHRDb2xvckhsIiwiR2VvQ29kZXIiLCJfcmVmIiwibWFwYm94QXBpQWNjZXNzVG9rZW4iLCJfcmVmJGNsYXNzTmFtZSIsImNsYXNzTmFtZSIsIl9yZWYkbGltaXQiLCJsaW1pdCIsIl9yZWYkdGltZW91dCIsInRpbWVvdXQiLCJfcmVmJGZvcm1hdEl0ZW0iLCJmb3JtYXRJdGVtIiwiaXRlbSIsInBsYWNlX25hbWUiLCJ2aWV3cG9ydCIsIm9uU2VsZWN0ZWQiLCJvbkRlbGV0ZU1hcmtlciIsInRyYW5zaXRpb25EdXJhdGlvbiIsInBvaW50Wm9vbSIsImludGwiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJpbnB1dFZhbHVlIiwic2V0SW5wdXRWYWx1ZSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0Iiwic2hvd1Jlc3VsdHMiLCJzZXRTaG93UmVzdWx0cyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2Iiwic2hvd0RlbGV0ZSIsInNldFNob3dEZWxldGUiLCJpbml0aWFsUmVzdWx0cyIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwicmVzdWx0cyIsInNldFJlc3VsdHMiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMTAiLCJzZWxlY3RlZEluZGV4Iiwic2V0U2VsZWN0ZWRJbmRleCIsImNsaWVudCIsInVzZU1lbW8iLCJnZW9jb2RlclNlcnZpY2UiLCJhY2Nlc3NUb2tlbiIsIm9uQ2hhbmdlIiwidXNlQ2FsbGJhY2siLCJldmVudCIsInF1ZXJ5U3RyaW5nIiwidGFyZ2V0IiwidmFsdWUiLCJyZXN1bHRDb29yZGluYXRlcyIsIl9yZXN1bHRDb29yZGluYXRlcyIsIl8iLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsImNlbnRlciIsImNsZWFyVGltZW91dCIsInNldFRpbWVvdXQiLCJfYXN5bmNUb0dlbmVyYXRvcjIiLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsInJlc3BvbnNlIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsIkJvb2xlYW4iLCJmb3J3YXJkR2VvY29kZSIsInNlbmQiLCJzZW50IiwiYm9keSIsImZlYXR1cmVzIiwidDAiLCJjb25zb2xlIiwibG9nIiwic3RvcCIsIm9uQmx1ciIsIm9uRm9jdXMiLCJvbkl0ZW1TZWxlY3RlZCIsIm5ld1ZpZXdwb3J0IiwiV2ViTWVyY2F0b3JWaWV3cG9ydCIsImJib3giLCJnb3RvVmlld3BvcnQiLCJmaXRCb3VuZHMiLCJ6b29tIiwib25NYXJrRGVsZXRlZCIsIm9uS2V5RG93biIsImtleUNvZGUiLCJLZXlFdmVudCIsIkRPTV9WS19VUCIsIkRPTV9WS19ET1dOIiwiRE9NX1ZLX0VOVEVSIiwiRE9NX1ZLX1JFVFVSTiIsImNyZWF0ZUVsZW1lbnQiLCJTZWFyY2giLCJoZWlnaHQiLCJJbnB1dCIsInR5cGUiLCJwbGFjZWhvbGRlciIsImZvcm1hdE1lc3NhZ2UiLCJpZCIsImRlZmF1bHRNZXNzYWdlIiwiRGVsZXRlIiwib25DbGljayIsIm1hcCIsImluZGV4Iiwia2V5IiwiY2xhc3NuYW1lcyIsImFjdGl2ZSIsIl9kZWZhdWx0IiwiaW5qZWN0SW50bCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZW9jb2Rlci9nZW9jb2Rlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZU1lbW8sIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IGdlb2NvZGVyU2VydmljZSBmcm9tICdAbWFwYm94L21hcGJveC1zZGsvc2VydmljZXMvZ2VvY29kaW5nJztcbmltcG9ydCB7aW5qZWN0SW50bCwgSW50bFNoYXBlfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7V2ViTWVyY2F0b3JWaWV3cG9ydH0gZnJvbSAndmlld3BvcnQtbWVyY2F0b3ItcHJvamVjdCc7XG5pbXBvcnQge0tleUV2ZW50fSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge0lucHV0fSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtTZWFyY2gsIERlbGV0ZX0gZnJvbSAnLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCB7Vmlld3BvcnR9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG50eXBlIFN0eWxlZENvbnRhaW5lclByb3BzID0ge1xuICB3aWR0aD86IG51bWJlcjtcbn07XG5cbi8vIG1hdGNoZXMgb25seSB2YWxpZCBjb29yZGluYXRlc1xuY29uc3QgQ09PUkRJTkFURV9SRUdFWF9TVFJJTkcgPVxuICAnXlstK10/KFsxLThdP1xcXFxkKFxcXFwuXFxcXGQrKT98OTAoXFxcXC4wKyk/KSxcXFxccypbLStdPygxODAoXFxcXC4wKyk/fCgoMVswLTddXFxcXGQpfChbMS05XT9cXFxcZCkpKFxcXFwuXFxcXGQrKT8pJztcbmNvbnN0IENPT1JESU5BVEVfUkVHRVggPSBSZWdFeHAoQ09PUkRJTkFURV9SRUdFWF9TVFJJTkcpO1xuXG5jb25zdCBQTEFDRUhPTERFUiA9ICdFbnRlciBhbiBhZGRyZXNzIG9yIGNvb3JkaW5hdGVzLCBleCAzNy43OSwtMTIyLjQwJztcblxubGV0IGRlYm91bmNlVGltZW91dDogTm9kZUpTLlRpbWVvdXQgfCBudWxsID0gbnVsbDtcblxuZXhwb3J0IGNvbnN0IHRlc3RGb3JDb29yZGluYXRlcyA9IChxdWVyeTogc3RyaW5nKTogW3RydWUsIG51bWJlciwgbnVtYmVyXSB8IFtmYWxzZSwgc3RyaW5nXSA9PiB7XG4gIGNvbnN0IGlzVmFsaWQgPSBDT09SRElOQVRFX1JFR0VYLnRlc3QocXVlcnkudHJpbSgpKTtcblxuICBpZiAoIWlzVmFsaWQpIHtcbiAgICByZXR1cm4gW2lzVmFsaWQsIHF1ZXJ5XTtcbiAgfVxuXG4gIGNvbnN0IHRva2VucyA9IHF1ZXJ5LnRyaW0oKS5zcGxpdCgnLCcpO1xuXG4gIHJldHVybiBbaXNWYWxpZCwgTnVtYmVyKHRva2Vuc1swXSksIE51bWJlcih0b2tlbnNbMV0pXTtcbn07XG5cbmNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXY8U3R5bGVkQ29udGFpbmVyUHJvcHM+YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG5cbiAgLmdlb2NvZGVyLWlucHV0IHtcbiAgICBib3gtc2hhZG93OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJveFNoYWRvd307XG5cbiAgICAuZ2VvY29kZXItaW5wdXRfX3NlYXJjaCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZ2VvY29kZXJJbnB1dEhlaWdodH1weDtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICBwYWRkaW5nOiA0cHggMzZweDtcbiAgICAgIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5nZW9jb2RlcklucHV0SGVpZ2h0fXB4O1xuICAgICAgY2FyZXQtY29sb3I6IHVuc2V0O1xuICAgIH1cbiAgfVxuXG4gIC5nZW9jb2Rlci1yZXN1bHRzIHtcbiAgICBib3gtc2hhZG93OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJveFNoYWRvd307XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmR9O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogJHtwcm9wcyA9PiAoTnVtYmVyLmlzRmluaXRlKHByb3BzLndpZHRoKSA/IHByb3BzLndpZHRoIDogcHJvcHMudGhlbWUuZ2VvY29kZXJXaWR0aCl9cHg7XG4gICAgbWFyZ2luLXRvcDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bldhcHBlck1hcmdpbn1weDtcbiAgfVxuXG4gIC5nZW9jb2Rlci1pdGVtIHtcbiAgICAke3Byb3BzID0+IHByb3BzLnRoZW1lLmRyb3Bkb3duTGlzdEl0ZW19O1xuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dFRydW5jYXRlfTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0SGlnaGxpZ2h0Qmd9O1xuICAgIH1cbiAgfVxuXG4gIC5yZW1vdmUtcmVzdWx0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDE2cHg7XG4gICAgdG9wOiAwcHg7XG4gICAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmdlb2NvZGVySW5wdXRIZWlnaHR9cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlc3VsdCB7XG4gIGNlbnRlcjogW251bWJlciwgbnVtYmVyXTtcbiAgcGxhY2VfbmFtZTogc3RyaW5nO1xuICBiYm94PzogW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG4gIHRleHQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFJlc3VsdHMgPSBSZWFkb25seUFycmF5PFJlc3VsdD47XG5cbnR5cGUgR2VvY29kZXJQcm9wcyA9IHtcbiAgbWFwYm94QXBpQWNjZXNzVG9rZW46IHN0cmluZztcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBsaW1pdD86IG51bWJlcjtcbiAgdGltZW91dD86IG51bWJlcjtcbiAgZm9ybWF0SXRlbT86IChpdGVtOiBSZXN1bHQpID0+IHN0cmluZztcbiAgdmlld3BvcnQ/OiBWaWV3cG9ydDtcbiAgb25TZWxlY3RlZDogKHZpZXdwb3J0OiBWaWV3cG9ydCB8IG51bGwsIGl0ZW06IFJlc3VsdCkgPT4gdm9pZDtcbiAgb25EZWxldGVNYXJrZXI/OiAoKSA9PiB2b2lkO1xuICB0cmFuc2l0aW9uRHVyYXRpb24/OiBudW1iZXI7XG4gIHBvaW50Wm9vbT86IG51bWJlcjtcbiAgd2lkdGg/OiBudW1iZXI7XG59O1xuXG50eXBlIEludGxQcm9wcyA9IHtcbiAgaW50bDogSW50bFNoYXBlO1xufTtcblxuLyoqIEB0eXBlIHtpbXBvcnQoJy4vZ2VvY29kZXInKS5HZW9jb2RlckNvbXBvbmVudH0gKi9cbmNvbnN0IEdlb0NvZGVyOiBSZWFjdC5GQzxHZW9jb2RlclByb3BzICYgSW50bFByb3BzPiA9ICh7XG4gIG1hcGJveEFwaUFjY2Vzc1Rva2VuLFxuICBjbGFzc05hbWUgPSAnJyxcbiAgbGltaXQgPSA1LFxuICB0aW1lb3V0ID0gMzAwLFxuICBmb3JtYXRJdGVtID0gaXRlbSA9PiBpdGVtLnBsYWNlX25hbWUsXG4gIHZpZXdwb3J0LFxuICBvblNlbGVjdGVkLFxuICBvbkRlbGV0ZU1hcmtlcixcbiAgdHJhbnNpdGlvbkR1cmF0aW9uLFxuICBwb2ludFpvb20sXG4gIHdpZHRoLFxuICBpbnRsXG59KSA9PiB7XG4gIGNvbnN0IFtpbnB1dFZhbHVlLCBzZXRJbnB1dFZhbHVlXSA9IHVzZVN0YXRlKCcnKTtcbiAgY29uc3QgW3Nob3dSZXN1bHRzLCBzZXRTaG93UmVzdWx0c10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzaG93RGVsZXRlLCBzZXRTaG93RGVsZXRlXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgLyoqIEB0eXBlIHtpbXBvcnQoJy4vZ2VvY29kZXInKS5SZXN1bHRzfSAqL1xuICBjb25zdCBpbml0aWFsUmVzdWx0czogUmVzdWx0W10gPSBbXTtcbiAgY29uc3QgW3Jlc3VsdHMsIHNldFJlc3VsdHNdID0gdXNlU3RhdGUoaW5pdGlhbFJlc3VsdHMpO1xuICBjb25zdCBbc2VsZWN0ZWRJbmRleCwgc2V0U2VsZWN0ZWRJbmRleF0gPSB1c2VTdGF0ZSgwKTtcblxuICBjb25zdCBjbGllbnQgPSB1c2VNZW1vKFxuICAgICgpID0+IGdlb2NvZGVyU2VydmljZSh7YWNjZXNzVG9rZW46IG1hcGJveEFwaUFjY2Vzc1Rva2VufSksXG4gICAgW21hcGJveEFwaUFjY2Vzc1Rva2VuXVxuICApO1xuXG4gIGNvbnN0IG9uQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgZXZlbnQgPT4ge1xuICAgICAgY29uc3QgcXVlcnlTdHJpbmcgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICBzZXRJbnB1dFZhbHVlKHF1ZXJ5U3RyaW5nKTtcbiAgICAgIGNvbnN0IHJlc3VsdENvb3JkaW5hdGVzID0gdGVzdEZvckNvb3JkaW5hdGVzKHF1ZXJ5U3RyaW5nKTtcbiAgICAgIGlmIChyZXN1bHRDb29yZGluYXRlc1swXSkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgICAgIGNvbnN0IFtfLCBsYXRpdHVkZSwgbG9uZ2l0dWRlXSA9IHJlc3VsdENvb3JkaW5hdGVzO1xuICAgICAgICBzZXRSZXN1bHRzKFt7Y2VudGVyOiBbbGF0aXR1ZGUsIGxvbmdpdHVkZV0sIHBsYWNlX25hbWU6IHF1ZXJ5U3RyaW5nfV0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGRlYm91bmNlVGltZW91dCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dChkZWJvdW5jZVRpbWVvdXQpO1xuICAgICAgICB9XG4gICAgICAgIGRlYm91bmNlVGltZW91dCA9IHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIGlmIChsaW1pdCA+IDAgJiYgQm9vbGVhbihxdWVyeVN0cmluZykpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50XG4gICAgICAgICAgICAgICAgLmZvcndhcmRHZW9jb2RlKHtcbiAgICAgICAgICAgICAgICAgIHF1ZXJ5OiBxdWVyeVN0cmluZyxcbiAgICAgICAgICAgICAgICAgIGxpbWl0XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuc2VuZCgpO1xuICAgICAgICAgICAgICBpZiAocmVzcG9uc2UuYm9keS5mZWF0dXJlcykge1xuICAgICAgICAgICAgICAgIHNldFNob3dSZXN1bHRzKHRydWUpO1xuICAgICAgICAgICAgICAgIHNldFJlc3VsdHMocmVzcG9uc2UuYm9keS5mZWF0dXJlcyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgLy8gVE9ETzogc2hvdyBnZW9jb2RlIGVycm9yXG4gICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSwgdGltZW91dCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbY2xpZW50LCBsaW1pdCwgdGltZW91dCwgc2V0UmVzdWx0cywgc2V0U2hvd1Jlc3VsdHNdXG4gICk7XG5cbiAgY29uc3Qgb25CbHVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgc2V0U2hvd1Jlc3VsdHMoZmFsc2UpO1xuICAgIH0sIHRpbWVvdXQpO1xuICB9LCBbc2V0U2hvd1Jlc3VsdHMsIHRpbWVvdXRdKTtcblxuICBjb25zdCBvbkZvY3VzID0gdXNlQ2FsbGJhY2soKCkgPT4gc2V0U2hvd1Jlc3VsdHModHJ1ZSksIFtzZXRTaG93UmVzdWx0c10pO1xuXG4gIGNvbnN0IG9uSXRlbVNlbGVjdGVkID0gdXNlQ2FsbGJhY2soXG4gICAgaXRlbSA9PiB7XG4gICAgICBjb25zdCBuZXdWaWV3cG9ydCA9IG5ldyBXZWJNZXJjYXRvclZpZXdwb3J0KHZpZXdwb3J0KTtcbiAgICAgIGNvbnN0IHtiYm94LCBjZW50ZXJ9ID0gaXRlbTtcblxuICAgICAgY29uc3QgZ290b1ZpZXdwb3J0ID0gYmJveFxuICAgICAgICA/IG5ld1ZpZXdwb3J0LmZpdEJvdW5kcyhbXG4gICAgICAgICAgICBbYmJveFswXSwgYmJveFsxXV0sXG4gICAgICAgICAgICBbYmJveFsyXSwgYmJveFszXV1cbiAgICAgICAgICBdKVxuICAgICAgICA6IHtcbiAgICAgICAgICAgIGxvbmdpdHVkZTogY2VudGVyWzBdLFxuICAgICAgICAgICAgbGF0aXR1ZGU6IGNlbnRlclsxXSxcbiAgICAgICAgICAgIHpvb206IHBvaW50Wm9vbVxuICAgICAgICAgIH07XG5cbiAgICAgIGNvbnN0IHtsb25naXR1ZGUsIGxhdGl0dWRlLCB6b29tfSA9IGdvdG9WaWV3cG9ydDtcblxuICAgICAgb25TZWxlY3RlZCh7Li4udmlld3BvcnQsIC4uLntsb25naXR1ZGUsIGxhdGl0dWRlLCB6b29tLCB0cmFuc2l0aW9uRHVyYXRpb259fSwgaXRlbSk7XG5cbiAgICAgIHNldFNob3dSZXN1bHRzKGZhbHNlKTtcbiAgICAgIHNldElucHV0VmFsdWUoZm9ybWF0SXRlbShpdGVtKSk7XG4gICAgICBzZXRTaG93RGVsZXRlKHRydWUpO1xuICAgIH0sXG4gICAgW3ZpZXdwb3J0LCBvblNlbGVjdGVkLCB0cmFuc2l0aW9uRHVyYXRpb24sIHBvaW50Wm9vbSwgZm9ybWF0SXRlbV1cbiAgKTtcblxuICBjb25zdCBvbk1hcmtEZWxldGVkID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFNob3dEZWxldGUoZmFsc2UpO1xuICAgIHNldElucHV0VmFsdWUoJycpO1xuICAgIG9uRGVsZXRlTWFya2VyPy4oKTtcbiAgfSwgW29uRGVsZXRlTWFya2VyXSk7XG5cbiAgY29uc3Qgb25LZXlEb3duID0gdXNlQ2FsbGJhY2soXG4gICAgZSA9PiB7XG4gICAgICBpZiAoIXJlc3VsdHMgfHwgcmVzdWx0cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgc3dpdGNoIChlLmtleUNvZGUpIHtcbiAgICAgICAgY2FzZSBLZXlFdmVudC5ET01fVktfVVA6XG4gICAgICAgICAgc2V0U2VsZWN0ZWRJbmRleChzZWxlY3RlZEluZGV4ID4gMCA/IHNlbGVjdGVkSW5kZXggLSAxIDogc2VsZWN0ZWRJbmRleCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgS2V5RXZlbnQuRE9NX1ZLX0RPV046XG4gICAgICAgICAgc2V0U2VsZWN0ZWRJbmRleChzZWxlY3RlZEluZGV4IDwgcmVzdWx0cy5sZW5ndGggLSAxID8gc2VsZWN0ZWRJbmRleCArIDEgOiBzZWxlY3RlZEluZGV4KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBLZXlFdmVudC5ET01fVktfRU5URVI6XG4gICAgICAgIGNhc2UgS2V5RXZlbnQuRE9NX1ZLX1JFVFVSTjpcbiAgICAgICAgICBpZiAocmVzdWx0c1tzZWxlY3RlZEluZGV4XSkge1xuICAgICAgICAgICAgb25JdGVtU2VsZWN0ZWQocmVzdWx0c1tzZWxlY3RlZEluZGV4XSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0sXG4gICAgW3Jlc3VsdHMsIHNlbGVjdGVkSW5kZXgsIHNldFNlbGVjdGVkSW5kZXgsIG9uSXRlbVNlbGVjdGVkXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lciBjbGFzc05hbWU9e2NsYXNzTmFtZX0gd2lkdGg9e3dpZHRofT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ2VvY29kZXItaW5wdXRcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJnZW9jb2Rlci1pbnB1dF9fc2VhcmNoXCI+XG4gICAgICAgICAgPFNlYXJjaCBoZWlnaHQ9XCIyMHB4XCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxJbnB1dFxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICAgICAgICB2YWx1ZT17aW5wdXRWYWx1ZX1cbiAgICAgICAgICBwbGFjZWhvbGRlcj17XG4gICAgICAgICAgICBpbnRsXG4gICAgICAgICAgICAgID8gaW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ2dlb2NvZGVyLnRpdGxlJywgZGVmYXVsdE1lc3NhZ2U6IFBMQUNFSE9MREVSfSlcbiAgICAgICAgICAgICAgOiBQTEFDRUhPTERFUlxuICAgICAgICAgIH1cbiAgICAgICAgLz5cbiAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZW1vdmUtcmVzdWx0XCI+XG4gICAgICAgICAgICA8RGVsZXRlIGhlaWdodD1cIjEycHhcIiBvbkNsaWNrPXtvbk1hcmtEZWxldGVkfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvZGl2PlxuXG4gICAgICB7c2hvd1Jlc3VsdHMgPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ2VvY29kZXItcmVzdWx0c1wiPlxuICAgICAgICAgIHtyZXN1bHRzLm1hcCgoaXRlbSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdnZW9jb2Rlci1pdGVtJywge2FjdGl2ZTogc2VsZWN0ZWRJbmRleCA9PT0gaW5kZXh9KX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25JdGVtU2VsZWN0ZWQoaXRlbSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtmb3JtYXRJdGVtKGl0ZW0pfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBpbmplY3RJbnRsKEdlb0NvZGVyKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSxVQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSyxVQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSx3QkFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sVUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsa0JBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLE1BQUEsR0FBQVQsT0FBQTtBQUErQyxJQUFBVSxlQUFBLEVBWC9DO0FBQ0E7QUFBQSxTQUFB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
277
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY2xhc3NuYW1lcyIsIl9nZW9jb2RpbmciLCJfcmVhY3RJbnRsIiwiX3ZpZXdwb3J0TWVyY2F0b3JQcm9qZWN0IiwiX2NvbnN0YW50cyIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl9pY29ucyIsIl91dGlscyIsIl90ZW1wbGF0ZU9iamVjdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIkNPT1JESU5BVEVfUkVHRVhfU1RSSU5HIiwiQ09PUkRJTkFURV9SRUdFWCIsIlJlZ0V4cCIsIlBMQUNFSE9MREVSIiwiZGVib3VuY2VUaW1lb3V0IiwidGVzdEZvckNvb3JkaW5hdGVzIiwiZXhwb3J0cyIsInF1ZXJ5IiwiaXNWYWxpZCIsInRlc3QiLCJ0cmltIiwidG9rZW5zIiwic3BsaXQiLCJsYXRpdHVkZSIsIk51bWJlciIsImxvbmdpdHVkZSIsIlN0eWxlZENvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsInRleHRDb2xvciIsImJveFNoYWRvdyIsImdlb2NvZGVySW5wdXRIZWlnaHQiLCJzdWJ0ZXh0Q29sb3IiLCJwYW5lbEJhY2tncm91bmQiLCJpc0Zpbml0ZSIsIndpZHRoIiwiZ2VvY29kZXJXaWR0aCIsImRyb3Bkb3duV2FwcGVyTWFyZ2luIiwiZHJvcGRvd25MaXN0SXRlbSIsInRleHRUcnVuY2F0ZSIsImRyb3Bkb3duTGlzdEhpZ2hsaWdodEJnIiwidGV4dENvbG9ySGwiLCJHZW9Db2RlciIsIl9yZWYiLCJtYXBib3hBcGlBY2Nlc3NUb2tlbiIsIl9yZWYkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwiX3JlZiRsaW1pdCIsImxpbWl0IiwiX3JlZiR0aW1lb3V0IiwidGltZW91dCIsIl9yZWYkZm9ybWF0SXRlbSIsImZvcm1hdEl0ZW0iLCJpdGVtIiwicGxhY2VfbmFtZSIsInZpZXdwb3J0Iiwib25TZWxlY3RlZCIsIm9uRGVsZXRlTWFya2VyIiwidHJhbnNpdGlvbkR1cmF0aW9uIiwicG9pbnRab29tIiwiaW50bCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImlucHV0VmFsdWUiLCJzZXRJbnB1dFZhbHVlIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzaG93UmVzdWx0cyIsInNldFNob3dSZXN1bHRzIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzaG93RGVsZXRlIiwic2V0U2hvd0RlbGV0ZSIsImluaXRpYWxSZXN1bHRzIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJyZXN1bHRzIiwic2V0UmVzdWx0cyIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUxMCIsInNlbGVjdGVkSW5kZXgiLCJzZXRTZWxlY3RlZEluZGV4IiwiY2xpZW50IiwidXNlTWVtbyIsImlzVGVzdCIsImdlb2NvZGVyU2VydmljZSIsImFjY2Vzc1Rva2VuIiwib25DaGFuZ2UiLCJ1c2VDYWxsYmFjayIsImV2ZW50IiwicXVlcnlTdHJpbmciLCJ0YXJnZXQiLCJ2YWx1ZSIsInJlc3VsdENvb3JkaW5hdGVzIiwiX3Jlc3VsdENvb3JkaW5hdGVzIiwiX2lzVmFsaWQiLCJjZW50ZXIiLCJjbGVhclRpbWVvdXQiLCJzZXRUaW1lb3V0IiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJyZXNwb25zZSIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJCb29sZWFuIiwiZm9yd2FyZEdlb2NvZGUiLCJzZW5kIiwic2VudCIsImJvZHkiLCJmZWF0dXJlcyIsInQwIiwiY29uc29sZSIsImxvZyIsInN0b3AiLCJvbkJsdXIiLCJvbkZvY3VzIiwib25JdGVtU2VsZWN0ZWQiLCJuZXdWaWV3cG9ydCIsIldlYk1lcmNhdG9yVmlld3BvcnQiLCJiYm94IiwiZ290b1ZpZXdwb3J0IiwiZml0Qm91bmRzIiwiem9vbSIsIm9uTWFya0RlbGV0ZWQiLCJvbktleURvd24iLCJrZXlDb2RlIiwiS2V5RXZlbnQiLCJET01fVktfVVAiLCJET01fVktfRE9XTiIsIkRPTV9WS19FTlRFUiIsIkRPTV9WS19SRVRVUk4iLCJjcmVhdGVFbGVtZW50IiwiU2VhcmNoIiwiaGVpZ2h0IiwiSW5wdXQiLCJ0eXBlIiwicGxhY2Vob2xkZXIiLCJmb3JtYXRNZXNzYWdlIiwiaWQiLCJkZWZhdWx0TWVzc2FnZSIsIkRlbGV0ZSIsIm9uQ2xpY2siLCJtYXAiLCJpbmRleCIsImtleSIsImNsYXNzbmFtZXMiLCJhY3RpdmUiLCJfZGVmYXVsdCIsImluamVjdEludGwiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2VvY29kZXIvZ2VvY29kZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VNZW1vLCB1c2VTdGF0ZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBnZW9jb2RlclNlcnZpY2UgZnJvbSAnQG1hcGJveC9tYXBib3gtc2RrL3NlcnZpY2VzL2dlb2NvZGluZyc7XG5pbXBvcnQge2luamVjdEludGwsIEludGxTaGFwZX0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQge1dlYk1lcmNhdG9yVmlld3BvcnR9IGZyb20gJ3ZpZXdwb3J0LW1lcmNhdG9yLXByb2plY3QnO1xuaW1wb3J0IHtLZXlFdmVudH0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtJbnB1dH0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7U2VhcmNoLCBEZWxldGV9IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge1ZpZXdwb3J0fSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7aXNUZXN0fSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcblxudHlwZSBTdHlsZWRDb250YWluZXJQcm9wcyA9IHtcbiAgd2lkdGg/OiBudW1iZXI7XG59O1xuXG4vLyBtYXRjaGVzIG9ubHkgdmFsaWQgY29vcmRpbmF0ZXNcbmNvbnN0IENPT1JESU5BVEVfUkVHRVhfU1RSSU5HID1cbiAgJyheWy0rXT8oPzpbMS04XT9cXFxcZCg/OlxcXFwuXFxcXGQrKT98OTAoPzpcXFxcLjArKT8pKSxcXFxccyooWy0rXT8oPzoxODAoPzpcXFxcLjArKT98KD86KD86MVswLTddXFxcXGQpfCg/OlsxLTldP1xcXFxkKSkoPzpcXFxcLlxcXFxkKyk/KSkkJztcblxuY29uc3QgQ09PUkRJTkFURV9SRUdFWCA9IFJlZ0V4cChDT09SRElOQVRFX1JFR0VYX1NUUklORyk7XG5cbmNvbnN0IFBMQUNFSE9MREVSID0gJ0VudGVyIGFuIGFkZHJlc3Mgb3IgY29vcmRpbmF0ZXMsIGV4IDM3Ljc5LC0xMjIuNDAnO1xuXG5sZXQgZGVib3VuY2VUaW1lb3V0OiBOb2RlSlMuVGltZW91dCB8IG51bGwgPSBudWxsO1xuXG4vKipcbiAqIFRlc3RzIGlmIGEgZ2l2ZW4gcXVlcnkgc3RyaW5nIGNvbnRhaW5zIHZhbGlkIGNvb3JkaW5hdGVzLlxuICogQHBhcmFtIHF1ZXJ5IFRoZSBpbnB1dCBzdHJpbmcgdG8gdGVzdCBmb3IgY29vcmRpbmF0ZXMuXG4gKiBAcmV0dXJucyBBIHR1cGxlIHdoZXJlOlxuICogICAtIElmIHZhbGlkLCByZXR1cm5zIGBbdHJ1ZSwgbG9uZ2l0dWRlLCBsYXRpdHVkZV1gLlxuICogICAtIElmIGludmFsaWQsIHJldHVybnMgYFtmYWxzZSwgcXVlcnldYC5cbiAqL1xuZXhwb3J0IGNvbnN0IHRlc3RGb3JDb29yZGluYXRlcyA9IChxdWVyeTogc3RyaW5nKTogW3RydWUsIG51bWJlciwgbnVtYmVyXSB8IFtmYWxzZSwgc3RyaW5nXSA9PiB7XG4gIGNvbnN0IGlzVmFsaWQgPSBDT09SRElOQVRFX1JFR0VYLnRlc3QocXVlcnkudHJpbSgpKTtcblxuICBpZiAoIWlzVmFsaWQpIHtcbiAgICByZXR1cm4gW2lzVmFsaWQsIHF1ZXJ5XTtcbiAgfVxuXG4gIGNvbnN0IHRva2VucyA9IHF1ZXJ5LnRyaW0oKS5zcGxpdCgnLCcpO1xuICBjb25zdCBsYXRpdHVkZSA9IE51bWJlcih0b2tlbnNbMF0pO1xuICBjb25zdCBsb25naXR1ZGUgPSBOdW1iZXIodG9rZW5zWzFdKTtcblxuICByZXR1cm4gW2lzVmFsaWQsIGxvbmdpdHVkZSwgbGF0aXR1ZGVdO1xufTtcblxuY29uc3QgU3R5bGVkQ29udGFpbmVyID0gc3R5bGVkLmRpdjxTdHlsZWRDb250YWluZXJQcm9wcz5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcblxuICAuZ2VvY29kZXItaW5wdXQge1xuICAgIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm94U2hhZG93fTtcblxuICAgIC5nZW9jb2Rlci1pbnB1dF9fc2VhcmNoIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5nZW9jb2RlcklucHV0SGVpZ2h0fXB4O1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3J9O1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgIHBhZGRpbmc6IDRweCAzNnB4O1xuICAgICAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmdlb2NvZGVySW5wdXRIZWlnaHR9cHg7XG4gICAgICBjYXJldC1jb2xvcjogdW5zZXQ7XG4gICAgfVxuICB9XG5cbiAgLmdlb2NvZGVyLXJlc3VsdHMge1xuICAgIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm94U2hhZG93fTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZH07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAke3Byb3BzID0+IChOdW1iZXIuaXNGaW5pdGUocHJvcHMud2lkdGgpID8gcHJvcHMud2lkdGggOiBwcm9wcy50aGVtZS5nZW9jb2RlcldpZHRoKX1weDtcbiAgICBtYXJnaW4tdG9wOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmRyb3Bkb3duV2FwcGVyTWFyZ2lufXB4O1xuICB9XG5cbiAgLmdlb2NvZGVyLWl0ZW0ge1xuICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0SXRlbX07XG4gICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0VHJ1bmNhdGV9O1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RIaWdobGlnaHRCZ307XG4gICAgfVxuICB9XG5cbiAgLnJlbW92ZS1yZXN1bHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTZweDtcbiAgICB0b3A6IDBweDtcbiAgICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZ2VvY29kZXJJbnB1dEhlaWdodH1weDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzdWx0IHtcbiAgY2VudGVyOiBbbnVtYmVyLCBudW1iZXJdO1xuICBwbGFjZV9uYW1lOiBzdHJpbmc7XG4gIGJib3g/OiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcbiAgdGV4dD86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgUmVzdWx0cyA9IFJlYWRvbmx5QXJyYXk8UmVzdWx0PjtcblxudHlwZSBHZW9jb2RlclByb3BzID0ge1xuICBtYXBib3hBcGlBY2Nlc3NUb2tlbjogc3RyaW5nO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIGxpbWl0PzogbnVtYmVyO1xuICB0aW1lb3V0PzogbnVtYmVyO1xuICBmb3JtYXRJdGVtPzogKGl0ZW06IFJlc3VsdCkgPT4gc3RyaW5nO1xuICB2aWV3cG9ydD86IFZpZXdwb3J0O1xuICBvblNlbGVjdGVkOiAodmlld3BvcnQ6IFZpZXdwb3J0IHwgbnVsbCwgaXRlbTogUmVzdWx0KSA9PiB2b2lkO1xuICBvbkRlbGV0ZU1hcmtlcj86ICgpID0+IHZvaWQ7XG4gIHRyYW5zaXRpb25EdXJhdGlvbj86IG51bWJlcjtcbiAgcG9pbnRab29tPzogbnVtYmVyO1xuICB3aWR0aD86IG51bWJlcjtcbn07XG5cbnR5cGUgSW50bFByb3BzID0ge1xuICBpbnRsOiBJbnRsU2hhcGU7XG59O1xuXG5jb25zdCBHZW9Db2RlcjogUmVhY3QuRkM8R2VvY29kZXJQcm9wcyAmIEludGxQcm9wcz4gPSAoe1xuICBtYXBib3hBcGlBY2Nlc3NUb2tlbixcbiAgY2xhc3NOYW1lID0gJycsXG4gIGxpbWl0ID0gNSxcbiAgdGltZW91dCA9IDMwMCxcbiAgZm9ybWF0SXRlbSA9IGl0ZW0gPT4gaXRlbS5wbGFjZV9uYW1lLFxuICB2aWV3cG9ydCxcbiAgb25TZWxlY3RlZCxcbiAgb25EZWxldGVNYXJrZXIsXG4gIHRyYW5zaXRpb25EdXJhdGlvbixcbiAgcG9pbnRab29tLFxuICB3aWR0aCxcbiAgaW50bFxufSkgPT4ge1xuICBjb25zdCBbaW5wdXRWYWx1ZSwgc2V0SW5wdXRWYWx1ZV0gPSB1c2VTdGF0ZSgnJyk7XG4gIGNvbnN0IFtzaG93UmVzdWx0cywgc2V0U2hvd1Jlc3VsdHNdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbc2hvd0RlbGV0ZSwgc2V0U2hvd0RlbGV0ZV0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGluaXRpYWxSZXN1bHRzOiBSZXN1bHRbXSA9IFtdO1xuICBjb25zdCBbcmVzdWx0cywgc2V0UmVzdWx0c10gPSB1c2VTdGF0ZShpbml0aWFsUmVzdWx0cyk7XG4gIGNvbnN0IFtzZWxlY3RlZEluZGV4LCBzZXRTZWxlY3RlZEluZGV4XSA9IHVzZVN0YXRlKDApO1xuXG4gIGNvbnN0IGNsaWVudCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKGlzVGVzdCgpID8gbnVsbCA6IGdlb2NvZGVyU2VydmljZSh7YWNjZXNzVG9rZW46IG1hcGJveEFwaUFjY2Vzc1Rva2VufSkpLFxuICAgIFttYXBib3hBcGlBY2Nlc3NUb2tlbl1cbiAgKTtcblxuICBjb25zdCBvbkNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgIGV2ZW50ID0+IHtcbiAgICAgIGNvbnN0IHF1ZXJ5U3RyaW5nID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgICAgc2V0SW5wdXRWYWx1ZShxdWVyeVN0cmluZyk7XG4gICAgICBjb25zdCByZXN1bHRDb29yZGluYXRlcyA9IHRlc3RGb3JDb29yZGluYXRlcyhxdWVyeVN0cmluZyk7XG4gICAgICBpZiAocmVzdWx0Q29vcmRpbmF0ZXNbMF0pIHtcbiAgICAgICAgY29uc3QgW19pc1ZhbGlkLCBsb25naXR1ZGUsIGxhdGl0dWRlXSA9IHJlc3VsdENvb3JkaW5hdGVzO1xuICAgICAgICBzZXRSZXN1bHRzKFt7Y2VudGVyOiBbbG9uZ2l0dWRlLCBsYXRpdHVkZV0sIHBsYWNlX25hbWU6IHF1ZXJ5U3RyaW5nfV0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGRlYm91bmNlVGltZW91dCkge1xuICAgICAgICAgIGNsZWFyVGltZW91dChkZWJvdW5jZVRpbWVvdXQpO1xuICAgICAgICB9XG4gICAgICAgIGRlYm91bmNlVGltZW91dCA9IHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIGlmIChsaW1pdCA+IDAgJiYgQm9vbGVhbihxdWVyeVN0cmluZykpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgY2xpZW50XG4gICAgICAgICAgICAgICAgLmZvcndhcmRHZW9jb2RlKHtcbiAgICAgICAgICAgICAgICAgIHF1ZXJ5OiBxdWVyeVN0cmluZyxcbiAgICAgICAgICAgICAgICAgIGxpbWl0XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuc2VuZCgpO1xuICAgICAgICAgICAgICBpZiAocmVzcG9uc2UuYm9keS5mZWF0dXJlcykge1xuICAgICAgICAgICAgICAgIHNldFNob3dSZXN1bHRzKHRydWUpO1xuICAgICAgICAgICAgICAgIHNldFJlc3VsdHMocmVzcG9uc2UuYm9keS5mZWF0dXJlcyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgLy8gVE9ETzogc2hvdyBnZW9jb2RlIGVycm9yXG4gICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSwgdGltZW91dCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbY2xpZW50LCBsaW1pdCwgdGltZW91dCwgc2V0UmVzdWx0cywgc2V0U2hvd1Jlc3VsdHNdXG4gICk7XG5cbiAgY29uc3Qgb25CbHVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgc2V0U2hvd1Jlc3VsdHMoZmFsc2UpO1xuICAgIH0sIHRpbWVvdXQpO1xuICB9LCBbc2V0U2hvd1Jlc3VsdHMsIHRpbWVvdXRdKTtcblxuICBjb25zdCBvbkZvY3VzID0gdXNlQ2FsbGJhY2soKCkgPT4gc2V0U2hvd1Jlc3VsdHModHJ1ZSksIFtzZXRTaG93UmVzdWx0c10pO1xuXG4gIGNvbnN0IG9uSXRlbVNlbGVjdGVkID0gdXNlQ2FsbGJhY2soXG4gICAgaXRlbSA9PiB7XG4gICAgICBjb25zdCBuZXdWaWV3cG9ydCA9IG5ldyBXZWJNZXJjYXRvclZpZXdwb3J0KHZpZXdwb3J0KTtcbiAgICAgIGNvbnN0IHtiYm94LCBjZW50ZXJ9ID0gaXRlbTtcblxuICAgICAgY29uc3QgZ290b1ZpZXdwb3J0ID0gYmJveFxuICAgICAgICA/IG5ld1ZpZXdwb3J0LmZpdEJvdW5kcyhbXG4gICAgICAgICAgICBbYmJveFswXSwgYmJveFsxXV0sXG4gICAgICAgICAgICBbYmJveFsyXSwgYmJveFszXV1cbiAgICAgICAgICBdKVxuICAgICAgICA6IHtcbiAgICAgICAgICAgIGxvbmdpdHVkZTogY2VudGVyWzBdLFxuICAgICAgICAgICAgbGF0aXR1ZGU6IGNlbnRlclsxXSxcbiAgICAgICAgICAgIHpvb206IHBvaW50Wm9vbVxuICAgICAgICAgIH07XG5cbiAgICAgIGNvbnN0IHtsb25naXR1ZGUsIGxhdGl0dWRlLCB6b29tfSA9IGdvdG9WaWV3cG9ydDtcblxuICAgICAgb25TZWxlY3RlZCh7Li4udmlld3BvcnQsIC4uLntsb25naXR1ZGUsIGxhdGl0dWRlLCB6b29tLCB0cmFuc2l0aW9uRHVyYXRpb259fSwgaXRlbSk7XG5cbiAgICAgIHNldFNob3dSZXN1bHRzKGZhbHNlKTtcbiAgICAgIHNldElucHV0VmFsdWUoZm9ybWF0SXRlbShpdGVtKSk7XG4gICAgICBzZXRTaG93RGVsZXRlKHRydWUpO1xuICAgIH0sXG4gICAgW3ZpZXdwb3J0LCBvblNlbGVjdGVkLCB0cmFuc2l0aW9uRHVyYXRpb24sIHBvaW50Wm9vbSwgZm9ybWF0SXRlbV1cbiAgKTtcblxuICBjb25zdCBvbk1hcmtEZWxldGVkID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldFNob3dEZWxldGUoZmFsc2UpO1xuICAgIHNldElucHV0VmFsdWUoJycpO1xuICAgIG9uRGVsZXRlTWFya2VyPy4oKTtcbiAgfSwgW29uRGVsZXRlTWFya2VyXSk7XG5cbiAgY29uc3Qgb25LZXlEb3duID0gdXNlQ2FsbGJhY2soXG4gICAgZSA9PiB7XG4gICAgICBpZiAoIXJlc3VsdHMgfHwgcmVzdWx0cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgc3dpdGNoIChlLmtleUNvZGUpIHtcbiAgICAgICAgY2FzZSBLZXlFdmVudC5ET01fVktfVVA6XG4gICAgICAgICAgc2V0U2VsZWN0ZWRJbmRleChzZWxlY3RlZEluZGV4ID4gMCA/IHNlbGVjdGVkSW5kZXggLSAxIDogc2VsZWN0ZWRJbmRleCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgS2V5RXZlbnQuRE9NX1ZLX0RPV046XG4gICAgICAgICAgc2V0U2VsZWN0ZWRJbmRleChzZWxlY3RlZEluZGV4IDwgcmVzdWx0cy5sZW5ndGggLSAxID8gc2VsZWN0ZWRJbmRleCArIDEgOiBzZWxlY3RlZEluZGV4KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBLZXlFdmVudC5ET01fVktfRU5URVI6XG4gICAgICAgIGNhc2UgS2V5RXZlbnQuRE9NX1ZLX1JFVFVSTjpcbiAgICAgICAgICBpZiAocmVzdWx0c1tzZWxlY3RlZEluZGV4XSkge1xuICAgICAgICAgICAgb25JdGVtU2VsZWN0ZWQocmVzdWx0c1tzZWxlY3RlZEluZGV4XSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0sXG4gICAgW3Jlc3VsdHMsIHNlbGVjdGVkSW5kZXgsIHNldFNlbGVjdGVkSW5kZXgsIG9uSXRlbVNlbGVjdGVkXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lciBjbGFzc05hbWU9e2NsYXNzTmFtZX0gd2lkdGg9e3dpZHRofT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ2VvY29kZXItaW5wdXRcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJnZW9jb2Rlci1pbnB1dF9fc2VhcmNoXCI+XG4gICAgICAgICAgPFNlYXJjaCBoZWlnaHQ9XCIyMHB4XCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxJbnB1dFxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgICAgICBvbktleURvd249e29uS2V5RG93bn1cbiAgICAgICAgICB2YWx1ZT17aW5wdXRWYWx1ZX1cbiAgICAgICAgICBwbGFjZWhvbGRlcj17XG4gICAgICAgICAgICBpbnRsXG4gICAgICAgICAgICAgID8gaW50bC5mb3JtYXRNZXNzYWdlKHtpZDogJ2dlb2NvZGVyLnRpdGxlJywgZGVmYXVsdE1lc3NhZ2U6IFBMQUNFSE9MREVSfSlcbiAgICAgICAgICAgICAgOiBQTEFDRUhPTERFUlxuICAgICAgICAgIH1cbiAgICAgICAgLz5cbiAgICAgICAge3Nob3dEZWxldGUgPyAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZW1vdmUtcmVzdWx0XCI+XG4gICAgICAgICAgICA8RGVsZXRlIGhlaWdodD1cIjEycHhcIiBvbkNsaWNrPXtvbk1hcmtEZWxldGVkfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvZGl2PlxuXG4gICAgICB7c2hvd1Jlc3VsdHMgPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZ2VvY29kZXItcmVzdWx0c1wiPlxuICAgICAgICAgIHtyZXN1bHRzLm1hcCgoaXRlbSwgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdnZW9jb2Rlci1pdGVtJywge2FjdGl2ZTogc2VsZWN0ZWRJbmRleCA9PT0gaW5kZXh9KX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25JdGVtU2VsZWN0ZWQoaXRlbSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtmb3JtYXRJdGVtKGl0ZW0pfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IG51bGx9XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBpbmplY3RJbnRsKEdlb0NvZGVyKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFD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
@@ -1,4 +1,4 @@
1
- import { ComponentType } from 'react';
1
+ import React from 'react';
2
2
  import { AddDataToMapOptions, MapState, ProtoDataset, UiState } from '@kepler.gl/types';
3
3
  import { ActionHandler, removeDataset, updateMap, updateVisData } from '@kepler.gl/actions';
4
4
  import { MapViewState } from '@deck.gl/core/typed';
@@ -24,5 +24,5 @@ interface GeocoderPanelProps {
24
24
  index: number;
25
25
  unsyncedViewports: boolean;
26
26
  }
27
- export default function GeocoderPanelFactory(): ComponentType<GeocoderPanelProps>;
27
+ export default function GeocoderPanelFactory(): React.FC<GeocoderPanelProps>;
28
28
  export {};
@@ -7,13 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports["default"] = GeocoderPanelFactory;
9
9
  exports.getUpdateVisDataPayload = getUpdateVisDataPayload;
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
16
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
12
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
18
13
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
19
14
  var _react = _interopRequireWildcard(require("react"));
@@ -30,8 +25,6 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
30
25
  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; }
31
26
  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; }
32
27
  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; }
33
- function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
34
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
35
28
  var ICON_LAYER = {
36
29
  id: _constants.GEOCODER_LAYER_ID,
37
30
  type: 'icon',
@@ -106,92 +99,72 @@ function getUpdateVisDataPayload(lat, lon, text) {
106
99
  }];
107
100
  }
108
101
  function GeocoderPanelFactory() {
109
- var GeocoderPanel = /*#__PURE__*/function (_Component) {
110
- function GeocoderPanel() {
111
- var _this;
112
- (0, _classCallCheck2["default"])(this, GeocoderPanel);
113
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
114
- args[_key] = arguments[_key];
102
+ var GeocoderPanel = function GeocoderPanel(_ref) {
103
+ var isGeocoderEnabled = _ref.isGeocoderEnabled,
104
+ mapState = _ref.mapState,
105
+ mapboxApiAccessToken = _ref.mapboxApiAccessToken,
106
+ updateVisData = _ref.updateVisData,
107
+ removeDataset = _ref.removeDataset,
108
+ updateMap = _ref.updateMap,
109
+ layerOrder = _ref.layerOrder,
110
+ _ref$transitionDurati = _ref.transitionDuration,
111
+ transitionDuration = _ref$transitionDurati === void 0 ? 3000 : _ref$transitionDurati,
112
+ width = _ref.width,
113
+ className = _ref.className,
114
+ index = _ref.index,
115
+ unsyncedViewports = _ref.unsyncedViewports;
116
+ var removeGeocoderDataset = (0, _react.useCallback)(function () {
117
+ removeDataset(_constants.GEOCODER_DATASET_NAME);
118
+ }, [removeDataset]);
119
+ var onSelected = (0, _react.useCallback)(function () {
120
+ var _viewport = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
121
+ var geoItem = arguments.length > 1 ? arguments[1] : undefined;
122
+ var _geoItem$center = (0, _slicedToArray2["default"])(geoItem.center, 2),
123
+ lon = _geoItem$center[0],
124
+ lat = _geoItem$center[1],
125
+ text = geoItem.text,
126
+ bbox = geoItem.bbox;
127
+ var updateVisDataPayload = getUpdateVisDataPayload(lat, lon, text);
128
+ if (updateVisDataPayload) {
129
+ removeGeocoderDataset();
130
+ updateVisData.apply(void 0, (0, _toConsumableArray2["default"])(updateVisDataPayload).concat([generateConfig(layerOrder)]));
115
131
  }
116
- _this = _callSuper(this, GeocoderPanel, [].concat(args));
117
- (0, _defineProperty2["default"])(_this, "defaultProps", {
118
- transitionDuration: 3000
119
- });
120
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
121
- (0, _defineProperty2["default"])(_this, "onSelected", function () {
122
- var viewport = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
123
- var geoItem = arguments.length > 1 ? arguments[1] : undefined;
124
- var _geoItem$center = (0, _slicedToArray2["default"])(geoItem.center, 2),
125
- lon = _geoItem$center[0],
126
- lat = _geoItem$center[1],
127
- text = geoItem.text,
128
- bbox = geoItem.bbox;
129
- var layerOrder = _this.props.layerOrder;
130
- var updateVisDataPayload = getUpdateVisDataPayload(lat, lon, text);
131
- if (updateVisDataPayload) {
132
- var _this$props;
133
- _this.removeGeocoderDataset();
134
- (_this$props = _this.props).updateVisData.apply(_this$props, (0, _toConsumableArray2["default"])(updateVisDataPayload).concat([generateConfig(layerOrder)]));
135
- }
136
- var bounds = bbox || [lon - _constants.GEOCODER_GEO_OFFSET, lat - _constants.GEOCODER_GEO_OFFSET, lon + _constants.GEOCODER_GEO_OFFSET, lat + _constants.GEOCODER_GEO_OFFSET];
137
- var centerAndZoom = (0, _utils.getCenterAndZoomFromBounds)(bounds, {
138
- width: _this.props.mapState.width,
139
- height: _this.props.mapState.height
140
- });
141
- if (!centerAndZoom) {
142
- // failed to fit bounds
143
- return;
144
- }
145
- _this.props.updateMap(_objectSpread(_objectSpread({
146
- latitude: centerAndZoom.center[1],
147
- longitude: centerAndZoom.center[0]
148
- }, Number.isFinite(centerAndZoom.zoom) ? {
149
- zoom: centerAndZoom.zoom
150
- } : {}), {}, {
151
- pitch: 0,
152
- bearing: 0,
153
- transitionDuration: _this.props.transitionDuration,
154
- transitionInterpolator: new _typed.FlyToInterpolator()
155
- }), _this.props.index);
132
+ var bounds = bbox || [lon - _constants.GEOCODER_GEO_OFFSET, lat - _constants.GEOCODER_GEO_OFFSET, lon + _constants.GEOCODER_GEO_OFFSET, lat + _constants.GEOCODER_GEO_OFFSET];
133
+ var centerAndZoom = (0, _utils.getCenterAndZoomFromBounds)(bounds, {
134
+ width: mapState.width,
135
+ height: mapState.height
156
136
  });
157
- (0, _defineProperty2["default"])(_this, "removeMarker", function () {
158
- _this.removeGeocoderDataset();
159
- });
160
- return _this;
161
- }
162
- (0, _inherits2["default"])(GeocoderPanel, _Component);
163
- return (0, _createClass2["default"])(GeocoderPanel, [{
164
- key: "removeGeocoderDataset",
165
- value: function removeGeocoderDataset() {
166
- this.props.removeDataset(_constants.GEOCODER_DATASET_NAME);
137
+ if (!centerAndZoom) {
138
+ // failed to fit bounds
139
+ return;
167
140
  }
168
- }, {
169
- key: "render",
170
- value: function render() {
171
- var _this$props2 = this.props,
172
- className = _this$props2.className,
173
- isGeocoderEnabled = _this$props2.isGeocoderEnabled,
174
- mapboxApiAccessToken = _this$props2.mapboxApiAccessToken,
175
- width = _this$props2.width,
176
- index = _this$props2.index,
177
- unsyncedViewports = _this$props2.unsyncedViewports;
178
- return /*#__PURE__*/_react["default"].createElement(StyledGeocoderPanel, {
179
- className: (0, _classnames["default"])('geocoder-panel', className),
180
- width: width,
181
- index: index,
182
- unsyncedViewports: unsyncedViewports,
183
- style: {
184
- display: isGeocoderEnabled ? 'block' : 'none'
185
- }
186
- }, isValid(mapboxApiAccessToken) && /*#__PURE__*/_react["default"].createElement(_geocoder["default"], {
187
- mapboxApiAccessToken: mapboxApiAccessToken,
188
- onSelected: this.onSelected,
189
- onDeleteMarker: this.removeMarker,
190
- width: width
191
- }));
141
+ updateMap(_objectSpread(_objectSpread({
142
+ latitude: centerAndZoom.center[1],
143
+ longitude: centerAndZoom.center[0]
144
+ }, Number.isFinite(centerAndZoom.zoom) ? {
145
+ zoom: centerAndZoom.zoom
146
+ } : {}), {}, {
147
+ pitch: 0,
148
+ bearing: 0,
149
+ transitionDuration: transitionDuration,
150
+ transitionInterpolator: new _typed.FlyToInterpolator()
151
+ }), index);
152
+ }, [index, layerOrder, mapState, removeGeocoderDataset, transitionDuration, updateMap, updateVisData]);
153
+ return /*#__PURE__*/_react["default"].createElement(StyledGeocoderPanel, {
154
+ className: (0, _classnames["default"])('geocoder-panel', className),
155
+ width: width,
156
+ index: index,
157
+ unsyncedViewports: unsyncedViewports,
158
+ style: {
159
+ display: isGeocoderEnabled ? 'block' : 'none'
192
160
  }
193
- }]);
194
- }(_react.Component);
161
+ }, isValid(mapboxApiAccessToken) && /*#__PURE__*/_react["default"].createElement(_geocoder["default"], {
162
+ mapboxApiAccessToken: mapboxApiAccessToken,
163
+ onSelected: onSelected,
164
+ onDeleteMarker: removeGeocoderDataset,
165
+ width: width
166
+ }));
167
+ };
195
168
  return GeocoderPanel;
196
169
  }
197
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY2xhc3NuYW1lcyIsIl9wcm9jZXNzb3JzIiwiX3R5cGVkIiwiX3V0aWxzIiwiX2NvbnN0YW50cyIsIl9nZW9jb2RlciIsIl90ZW1wbGF0ZU9iamVjdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiSUNPTl9MQVlFUiIsImlkIiwiR0VPQ09ERVJfTEFZRVJfSUQiLCJ0eXBlIiwiY29uZmlnIiwibGFiZWwiLCJjb2xvciIsIkdFT0NPREVSX0lDT05fQ09MT1IiLCJkYXRhSWQiLCJHRU9DT0RFUl9EQVRBU0VUX05BTUUiLCJjb2x1bW5zIiwibGF0IiwibG5nIiwiaWNvbiIsImlzVmlzaWJsZSIsImhpZGRlbiIsInZpc0NvbmZpZyIsInJhZGl1cyIsIkdFT0NPREVSX0lDT05fU0laRSIsImdlbmVyYXRlQ29uZmlnIiwibGF5ZXJPcmRlciIsInZpc1N0YXRlIiwibGF5ZXJzIiwiY29uY2F0IiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsIlN0eWxlZEdlb2NvZGVyUGFuZWwiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJnZW9jb2RlclRvcCIsInVuc3luY2VkVmlld3BvcnRzIiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJpbmRleCIsImdlb2NvZGVyUmlnaHQiLCJ3aWR0aCIsImdlb2NvZGVyV2lkdGgiLCJib3hTaGFkb3ciLCJnZW5lcmF0ZUdlb2NvZGVyRGF0YXNldCIsImxvbiIsInRleHQiLCJkYXRhIiwicHJvY2Vzc1Jvd09iamVjdCIsImx0IiwibG4iLCJpbmZvIiwiaXNWYWxpZCIsImtleSIsInRlc3QiLCJnZXRVcGRhdGVWaXNEYXRhUGF5bG9hZCIsImRhdGFzZXQiLCJrZWVwRXhpc3RpbmdDb25maWciLCJHZW9jb2RlclBhbmVsRmFjdG9yeSIsIkdlb2NvZGVyUGFuZWwiLCJfQ29tcG9uZW50IiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2xlbiIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJ0cmFuc2l0aW9uRHVyYXRpb24iLCJ2aWV3cG9ydCIsInVuZGVmaW5lZCIsImdlb0l0ZW0iLCJfZ2VvSXRlbSRjZW50ZXIiLCJfc2xpY2VkVG9BcnJheTIiLCJjZW50ZXIiLCJiYm94IiwidXBkYXRlVmlzRGF0YVBheWxvYWQiLCJfdGhpcyRwcm9wcyIsInJlbW92ZUdlb2NvZGVyRGF0YXNldCIsInVwZGF0ZVZpc0RhdGEiLCJib3VuZHMiLCJHRU9DT0RFUl9HRU9fT0ZGU0VUIiwiY2VudGVyQW5kWm9vbSIsImdldENlbnRlckFuZFpvb21Gcm9tQm91bmRzIiwibWFwU3RhdGUiLCJoZWlnaHQiLCJ1cGRhdGVNYXAiLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsInpvb20iLCJwaXRjaCIsImJlYXJpbmciLCJ0cmFuc2l0aW9uSW50ZXJwb2xhdG9yIiwiRmx5VG9JbnRlcnBvbGF0b3IiLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsInZhbHVlIiwicmVtb3ZlRGF0YXNldCIsInJlbmRlciIsIl90aGlzJHByb3BzMiIsImNsYXNzTmFtZSIsImlzR2VvY29kZXJFbmFibGVkIiwibWFwYm94QXBpQWNjZXNzVG9rZW4iLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NuYW1lcyIsInN0eWxlIiwiZGlzcGxheSIsIm9uU2VsZWN0ZWQiLCJvbkRlbGV0ZU1hcmtlciIsInJlbW92ZU1hcmtlciIsIkNvbXBvbmVudCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9nZW9jb2Rlci1wYW5lbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBDb21wb25lbnRUeXBlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkLCB7SVN0eWxlZENvbXBvbmVudH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQge3Byb2Nlc3NSb3dPYmplY3R9IGZyb20gJ0BrZXBsZXIuZ2wvcHJvY2Vzc29ycyc7XG5pbXBvcnQge0ZseVRvSW50ZXJwb2xhdG9yfSBmcm9tICdAZGVjay5nbC9jb3JlL3R5cGVkJztcbmltcG9ydCB7Z2V0Q2VudGVyQW5kWm9vbUZyb21Cb3VuZHN9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHtcbiAgR0VPQ09ERVJfREFUQVNFVF9OQU1FLFxuICBHRU9DT0RFUl9MQVlFUl9JRCxcbiAgR0VPQ09ERVJfR0VPX09GRlNFVCxcbiAgR0VPQ09ERVJfSUNPTl9DT0xPUixcbiAgR0VPQ09ERVJfSUNPTl9TSVpFXG59IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7QWRkRGF0YVRvTWFwT3B0aW9ucywgTWFwU3RhdGUsIFByb3RvRGF0YXNldCwgVWlTdGF0ZSwgVmlld3BvcnR9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtBY3Rpb25IYW5kbGVyLCByZW1vdmVEYXRhc2V0LCB1cGRhdGVNYXAsIHVwZGF0ZVZpc0RhdGF9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5cbmltcG9ydCBHZW9jb2Rlciwge1Jlc3VsdH0gZnJvbSAnLi9nZW9jb2Rlci9nZW9jb2Rlcic7XG5pbXBvcnQge01hcFZpZXdTdGF0ZX0gZnJvbSAnQGRlY2suZ2wvY29yZS90eXBlZCc7XG5cbmltcG9ydCB7QmFzZUNvbXBvbmVudFByb3BzfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgSUNPTl9MQVlFUiA9IHtcbiAgaWQ6IEdFT0NPREVSX0xBWUVSX0lELFxuICB0eXBlOiAnaWNvbicsXG4gIGNvbmZpZzoge1xuICAgIGxhYmVsOiAnR2VvY29kZXIgTGF5ZXInLFxuICAgIGNvbG9yOiBHRU9DT0RFUl9JQ09OX0NPTE9SLFxuICAgIGRhdGFJZDogR0VPQ09ERVJfREFUQVNFVF9OQU1FLFxuICAgIGNvbHVtbnM6IHtcbiAgICAgIGxhdDogJ2x0JyxcbiAgICAgIGxuZzogJ2xuJyxcbiAgICAgIGljb246ICdpY29uJyxcbiAgICAgIGxhYmVsOiAndGV4dCdcbiAgICB9LFxuICAgIGlzVmlzaWJsZTogdHJ1ZSxcbiAgICBoaWRkZW46IHRydWUsXG4gICAgdmlzQ29uZmlnOiB7XG4gICAgICByYWRpdXM6IEdFT0NPREVSX0lDT05fU0laRVxuICAgIH1cbiAgfVxufTtcblxuZnVuY3Rpb24gZ2VuZXJhdGVDb25maWcobGF5ZXJPcmRlcikge1xuICByZXR1cm4ge1xuICAgIHZpc1N0YXRlOiB7XG4gICAgICBsYXllcnM6IFtJQ09OX0xBWUVSXSxcbiAgICAgIGxheWVyT3JkZXI6IFtJQ09OX0xBWUVSLmlkLCAuLi5sYXllck9yZGVyXVxuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IHR5cGUgU3R5bGVkR2VvY29kZXJQYW5lbFByb3BzID0gQmFzZUNvbXBvbmVudFByb3BzICYge1xuICB1bnN5bmNlZFZpZXdwb3J0cz86IGJvb2xlYW47XG4gIGluZGV4PzogbnVtYmVyO1xuICB3aWR0aD86IG51bWJlcjtcbn07XG5cbmNvbnN0IFN0eWxlZEdlb2NvZGVyUGFuZWw6IElTdHlsZWRDb21wb25lbnQ8XG4gICd3ZWInLFxuICBTdHlsZWRHZW9jb2RlclBhbmVsUHJvcHNcbj4gPSBzdHlsZWQuZGl2PFN0eWxlZEdlb2NvZGVyUGFuZWxQcm9wcz5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmdlb2NvZGVyVG9wfXB4O1xuICByaWdodDogJHtwcm9wcyA9PlxuICAgIHByb3BzLnVuc3luY2VkVmlld3BvcnRzXG4gICAgICA/IC8vIDIgZ2VvY29kZXJzOiBzcGxpdCBtb2RlIGFuZCB1bnN5bmNlZCB2aWV3cG9ydHNcbiAgICAgICAgTnVtYmVyLmlzRmluaXRlKHByb3BzLmluZGV4KSAmJiBwcm9wcy5pbmRleCA9PT0gMFxuICAgICAgICA/IGBjYWxjKDUwJSArICR7cHJvcHMudGhlbWUuZ2VvY29kZXJSaWdodH1weClgIC8vIHVuc3luY2VkIGxlZnQgZ2VvY29kZXIgKGluZGV4IDApXG4gICAgICAgIDogYCR7cHJvcHMudGhlbWUuZ2VvY29kZXJSaWdodH1weGAgLy8gdW5zeW5jZWQgcmlnaHQgZ2VvY29kZXIgKGluZGV4IDEpXG4gICAgICA6IC8vIDEgZ2VvY29kZXI6IHNpbmdsZSBtb2RlIE9SIHNwbGl0IG1vZGUgYW5kIHN5bmNlZCB2aWV3cG9ydHNcbiAgICAgICAgYCR7cHJvcHMudGhlbWUuZ2VvY29kZXJSaWdodH1weGB9O1xuICB3aWR0aDogJHtwcm9wcyA9PiAoTnVtYmVyLmlzRmluaXRlKHByb3BzLndpZHRoKSA/IHByb3BzLndpZHRoIDogcHJvcHMudGhlbWUuZ2VvY29kZXJXaWR0aCl9cHg7XG4gIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm94U2hhZG93fTtcbiAgei1pbmRleDogMTAwO1xuYDtcblxuZnVuY3Rpb24gZ2VuZXJhdGVHZW9jb2RlckRhdGFzZXQobGF0OiBudW1iZXIsIGxvbjogbnVtYmVyLCB0ZXh0Pzogc3RyaW5nKTogUHJvdG9EYXRhc2V0IHwgbnVsbCB7XG4gIGNvbnN0IGRhdGEgPSBwcm9jZXNzUm93T2JqZWN0KFtcbiAgICB7XG4gICAgICBsdDogbGF0LFxuICAgICAgbG46IGxvbixcbiAgICAgIGljb246ICdwbGFjZScsXG4gICAgICB0ZXh0XG4gICAgfVxuICBdKTtcbiAgaWYgKCFkYXRhKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGRhdGEsXG4gICAgaW5mbzoge1xuICAgICAgaGlkZGVuOiB0cnVlLFxuICAgICAgaWQ6IEdFT0NPREVSX0RBVEFTRVRfTkFNRSxcbiAgICAgIGxhYmVsOiBHRU9DT0RFUl9EQVRBU0VUX05BTUVcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzVmFsaWQoa2V5KSB7XG4gIHJldHVybiAvcGtcXC4uKlxcLi4qLy50ZXN0KGtleSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRVcGRhdGVWaXNEYXRhUGF5bG9hZChcbiAgbGF0OiBudW1iZXIsXG4gIGxvbjogbnVtYmVyLFxuICB0ZXh0Pzogc3RyaW5nXG4pOiBbUHJvdG9EYXRhc2V0W10sIEFkZERhdGFUb01hcE9wdGlvbnNdIHwgbnVsbCB7XG4gIGNvbnN0IGRhdGFzZXQgPSBnZW5lcmF0ZUdlb2NvZGVyRGF0YXNldChsYXQsIGxvbiwgdGV4dCk7XG4gIGlmICghZGF0YXNldCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiBbXG4gICAgW2RhdGFzZXRdLFxuICAgIHtcbiAgICAgIGtlZXBFeGlzdGluZ0NvbmZpZzogdHJ1ZVxuICAgIH1cbiAgXTtcbn1cblxuaW50ZXJmYWNlIEdlb2NvZGVyUGFuZWxQcm9wcyB7XG4gIGlzR2VvY29kZXJFbmFibGVkOiBib29sZWFuO1xuICBtYXBTdGF0ZTogTWFwU3RhdGU7XG4gIHVpU3RhdGU6IFVpU3RhdGU7XG4gIG1hcGJveEFwaUFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIHVwZGF0ZVZpc0RhdGE6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIHVwZGF0ZVZpc0RhdGE+O1xuICByZW1vdmVEYXRhc2V0OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiByZW1vdmVEYXRhc2V0PjtcbiAgdXBkYXRlTWFwOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiB1cGRhdGVNYXA+O1xuICBsYXllck9yZGVyOiBzdHJpbmdbXTtcblxuICB0cmFuc2l0aW9uRHVyYXRpb24/OiBNYXBWaWV3U3RhdGVbJ3RyYW5zaXRpb25EdXJhdGlvbiddO1xuICB3aWR0aD86IG51bWJlcjtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBpbmRleDogbnVtYmVyO1xuICB1bnN5bmNlZFZpZXdwb3J0czogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gR2VvY29kZXJQYW5lbEZhY3RvcnkoKTogQ29tcG9uZW50VHlwZTxHZW9jb2RlclBhbmVsUHJvcHM+IHtcbiAgY2xhc3MgR2VvY29kZXJQYW5lbCBleHRlbmRzIENvbXBvbmVudDxHZW9jb2RlclBhbmVsUHJvcHM+IHtcbiAgICBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICB0cmFuc2l0aW9uRHVyYXRpb246IDMwMDBcbiAgICB9O1xuXG4gICAgcmVtb3ZlR2VvY29kZXJEYXRhc2V0KCkge1xuICAgICAgdGhpcy5wcm9wcy5yZW1vdmVEYXRhc2V0KEdFT0NPREVSX0RBVEFTRVRfTkFNRSk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIG9uU2VsZWN0ZWQgPSAodmlld3BvcnQ6IFZpZXdwb3J0IHwgbnVsbCA9IG51bGwsIGdlb0l0ZW06IFJlc3VsdCkgPT4ge1xuICAgICAgY29uc3Qge1xuICAgICAgICBjZW50ZXI6IFtsb24sIGxhdF0sXG4gICAgICAgIHRleHQsXG4gICAgICAgIGJib3hcbiAgICAgIH0gPSBnZW9JdGVtO1xuICAgICAgY29uc3Qge2xheWVyT3JkZXJ9ID0gdGhpcy5wcm9wcztcblxuICAgICAgY29uc3QgdXBkYXRlVmlzRGF0YVBheWxvYWQgPSBnZXRVcGRhdGVWaXNEYXRhUGF5bG9hZChsYXQsIGxvbiwgdGV4dCk7XG4gICAgICBpZiAodXBkYXRlVmlzRGF0YVBheWxvYWQpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVHZW9jb2RlckRhdGFzZXQoKTtcbiAgICAgICAgdGhpcy5wcm9wcy51cGRhdGVWaXNEYXRhKC4uLnVwZGF0ZVZpc0RhdGFQYXlsb2FkLCBnZW5lcmF0ZUNvbmZpZyhsYXllck9yZGVyKSk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGJvdW5kcyA9IGJib3ggfHwgW1xuICAgICAgICBsb24gLSBHRU9DT0RFUl9HRU9fT0ZGU0VULFxuICAgICAgICBsYXQgLSBHRU9DT0RFUl9HRU9fT0ZGU0VULFxuICAgICAgICBsb24gKyBHRU9DT0RFUl9HRU9fT0ZGU0VULFxuICAgICAgICBsYXQgKyBHRU9DT0RFUl9HRU9fT0ZGU0VUXG4gICAgICBdO1xuICAgICAgY29uc3QgY2VudGVyQW5kWm9vbSA9IGdldENlbnRlckFuZFpvb21Gcm9tQm91bmRzKGJvdW5kcywge1xuICAgICAgICB3aWR0aDogdGhpcy5wcm9wcy5tYXBTdGF0ZS53aWR0aCxcbiAgICAgICAgaGVpZ2h0OiB0aGlzLnByb3BzLm1hcFN0YXRlLmhlaWdodFxuICAgICAgfSk7XG5cbiAgICAgIGlmICghY2VudGVyQW5kWm9vbSkge1xuICAgICAgICAvLyBmYWlsZWQgdG8gZml0IGJvdW5kc1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMucHJvcHMudXBkYXRlTWFwKFxuICAgICAgICB7XG4gICAgICAgICAgbGF0aXR1ZGU6IGNlbnRlckFuZFpvb20uY2VudGVyWzFdLFxuICAgICAgICAgIGxvbmdpdHVkZTogY2VudGVyQW5kWm9vbS5jZW50ZXJbMF0sXG4gICAgICAgICAgLy8gRm9yIG1hcmdpbmFsIG9yIGludmFsaWQgYm91bmRzLCB6b29tIG1heSBiZSBOYU4uIE1ha2Ugc3VyZSB0byBwcm92aWRlIGEgdmFsaWQgdmFsdWUgaW4gb3JkZXJcbiAgICAgICAgICAvLyB0byBhdm9pZCBjb3JydXB0IHN0YXRlIGFuZCBwb3RlbnRpYWwgY3Jhc2hlcyBhcyB6b29tIGlzIGV4cGVjdGVkIHRvIGJlIGEgbnVtYmVyXG4gICAgICAgICAgLi4uKE51bWJlci5pc0Zpbml0ZShjZW50ZXJBbmRab29tLnpvb20pID8ge3pvb206IGNlbnRlckFuZFpvb20uem9vbX0gOiB7fSksXG4gICAgICAgICAgcGl0Y2g6IDAsXG4gICAgICAgICAgYmVhcmluZzogMCxcbiAgICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb246IHRoaXMucHJvcHMudHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgICAgIHRyYW5zaXRpb25JbnRlcnBvbGF0b3I6IG5ldyBGbHlUb0ludGVycG9sYXRvcigpXG4gICAgICAgIH0sXG4gICAgICAgIHRoaXMucHJvcHMuaW5kZXhcbiAgICAgICk7XG4gICAgfTtcblxuICAgIHJlbW92ZU1hcmtlciA9ICgpID0+IHtcbiAgICAgIHRoaXMucmVtb3ZlR2VvY29kZXJEYXRhc2V0KCk7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHtjbGFzc05hbWUsIGlzR2VvY29kZXJFbmFibGVkLCBtYXBib3hBcGlBY2Nlc3NUb2tlbiwgd2lkdGgsIGluZGV4LCB1bnN5bmNlZFZpZXdwb3J0c30gPVxuICAgICAgICB0aGlzLnByb3BzO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFN0eWxlZEdlb2NvZGVyUGFuZWxcbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2dlb2NvZGVyLXBhbmVsJywgY2xhc3NOYW1lKX1cbiAgICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgIHVuc3luY2VkVmlld3BvcnRzPXt1bnN5bmNlZFZpZXdwb3J0c31cbiAgICAgICAgICBzdHlsZT17e2Rpc3BsYXk6IGlzR2VvY29kZXJFbmFibGVkID8gJ2Jsb2NrJyA6ICdub25lJ319XG4gICAgICAgID5cbiAgICAgICAgICB7aXNWYWxpZChtYXBib3hBcGlBY2Nlc3NUb2tlbikgJiYgKFxuICAgICAgICAgICAgPEdlb2NvZGVyXG4gICAgICAgICAgICAgIG1hcGJveEFwaUFjY2Vzc1Rva2VuPXttYXBib3hBcGlBY2Nlc3NUb2tlbn1cbiAgICAgICAgICAgICAgb25TZWxlY3RlZD17dGhpcy5vblNlbGVjdGVkfVxuICAgICAgICAgICAgICBvbkRlbGV0ZU1hcmtlcj17dGhpcy5yZW1vdmVNYXJrZXJ9XG4gICAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TdHlsZWRHZW9jb2RlclBhbmVsPlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gR2VvY29kZXJQYW5lbDtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFdBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLFdBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLE1BQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFVBQUEsR0FBQVAsT0FBQTtBQVVBLElBQUFRLFNBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUFx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
170
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY2xhc3NuYW1lcyIsIl9wcm9jZXNzb3JzIiwiX3R5cGVkIiwiX3V0aWxzIiwiX2NvbnN0YW50cyIsIl9nZW9jb2RlciIsIl90ZW1wbGF0ZU9iamVjdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIklDT05fTEFZRVIiLCJpZCIsIkdFT0NPREVSX0xBWUVSX0lEIiwidHlwZSIsImNvbmZpZyIsImxhYmVsIiwiY29sb3IiLCJHRU9DT0RFUl9JQ09OX0NPTE9SIiwiZGF0YUlkIiwiR0VPQ09ERVJfREFUQVNFVF9OQU1FIiwiY29sdW1ucyIsImxhdCIsImxuZyIsImljb24iLCJpc1Zpc2libGUiLCJoaWRkZW4iLCJ2aXNDb25maWciLCJyYWRpdXMiLCJHRU9DT0RFUl9JQ09OX1NJWkUiLCJnZW5lcmF0ZUNvbmZpZyIsImxheWVyT3JkZXIiLCJ2aXNTdGF0ZSIsImxheWVycyIsImNvbmNhdCIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJTdHlsZWRHZW9jb2RlclBhbmVsIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwiZ2VvY29kZXJUb3AiLCJ1bnN5bmNlZFZpZXdwb3J0cyIsIk51bWJlciIsImlzRmluaXRlIiwiaW5kZXgiLCJnZW9jb2RlclJpZ2h0Iiwid2lkdGgiLCJnZW9jb2RlcldpZHRoIiwiYm94U2hhZG93IiwiZ2VuZXJhdGVHZW9jb2RlckRhdGFzZXQiLCJsb24iLCJ0ZXh0IiwiZGF0YSIsInByb2Nlc3NSb3dPYmplY3QiLCJsdCIsImxuIiwiaW5mbyIsImlzVmFsaWQiLCJrZXkiLCJ0ZXN0IiwiZ2V0VXBkYXRlVmlzRGF0YVBheWxvYWQiLCJkYXRhc2V0Iiwia2VlcEV4aXN0aW5nQ29uZmlnIiwiR2VvY29kZXJQYW5lbEZhY3RvcnkiLCJHZW9jb2RlclBhbmVsIiwiX3JlZiIsImlzR2VvY29kZXJFbmFibGVkIiwibWFwU3RhdGUiLCJtYXBib3hBcGlBY2Nlc3NUb2tlbiIsInVwZGF0ZVZpc0RhdGEiLCJyZW1vdmVEYXRhc2V0IiwidXBkYXRlTWFwIiwiX3JlZiR0cmFuc2l0aW9uRHVyYXRpIiwidHJhbnNpdGlvbkR1cmF0aW9uIiwiY2xhc3NOYW1lIiwicmVtb3ZlR2VvY29kZXJEYXRhc2V0IiwidXNlQ2FsbGJhY2siLCJvblNlbGVjdGVkIiwiX3ZpZXdwb3J0IiwidW5kZWZpbmVkIiwiZ2VvSXRlbSIsIl9nZW9JdGVtJGNlbnRlciIsIl9zbGljZWRUb0FycmF5MiIsImNlbnRlciIsImJib3giLCJ1cGRhdGVWaXNEYXRhUGF5bG9hZCIsImJvdW5kcyIsIkdFT0NPREVSX0dFT19PRkZTRVQiLCJjZW50ZXJBbmRab29tIiwiZ2V0Q2VudGVyQW5kWm9vbUZyb21Cb3VuZHMiLCJoZWlnaHQiLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsInpvb20iLCJwaXRjaCIsImJlYXJpbmciLCJ0cmFuc2l0aW9uSW50ZXJwb2xhdG9yIiwiRmx5VG9JbnRlcnBvbGF0b3IiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NuYW1lcyIsInN0eWxlIiwiZGlzcGxheSIsIm9uRGVsZXRlTWFya2VyIl0sInNvdXJjZXMiOlsiLi4vc3JjL2dlb2NvZGVyLXBhbmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFja30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCwge0lTdHlsZWRDb21wb25lbnR9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHtwcm9jZXNzUm93T2JqZWN0fSBmcm9tICdAa2VwbGVyLmdsL3Byb2Nlc3NvcnMnO1xuaW1wb3J0IHtGbHlUb0ludGVycG9sYXRvcn0gZnJvbSAnQGRlY2suZ2wvY29yZS90eXBlZCc7XG5pbXBvcnQge2dldENlbnRlckFuZFpvb21Gcm9tQm91bmRzfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7XG4gIEdFT0NPREVSX0RBVEFTRVRfTkFNRSxcbiAgR0VPQ09ERVJfTEFZRVJfSUQsXG4gIEdFT0NPREVSX0dFT19PRkZTRVQsXG4gIEdFT0NPREVSX0lDT05fQ09MT1IsXG4gIEdFT0NPREVSX0lDT05fU0laRVxufSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge0FkZERhdGFUb01hcE9wdGlvbnMsIE1hcFN0YXRlLCBQcm90b0RhdGFzZXQsIFVpU3RhdGUsIFZpZXdwb3J0fSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7QWN0aW9uSGFuZGxlciwgcmVtb3ZlRGF0YXNldCwgdXBkYXRlTWFwLCB1cGRhdGVWaXNEYXRhfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuXG5pbXBvcnQgR2VvY29kZXIsIHtSZXN1bHR9IGZyb20gJy4vZ2VvY29kZXIvZ2VvY29kZXInO1xuaW1wb3J0IHtNYXBWaWV3U3RhdGV9IGZyb20gJ0BkZWNrLmdsL2NvcmUvdHlwZWQnO1xuXG5pbXBvcnQge0Jhc2VDb21wb25lbnRQcm9wc30gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IElDT05fTEFZRVIgPSB7XG4gIGlkOiBHRU9DT0RFUl9MQVlFUl9JRCxcbiAgdHlwZTogJ2ljb24nLFxuICBjb25maWc6IHtcbiAgICBsYWJlbDogJ0dlb2NvZGVyIExheWVyJyxcbiAgICBjb2xvcjogR0VPQ09ERVJfSUNPTl9DT0xPUixcbiAgICBkYXRhSWQ6IEdFT0NPREVSX0RBVEFTRVRfTkFNRSxcbiAgICBjb2x1bW5zOiB7XG4gICAgICBsYXQ6ICdsdCcsXG4gICAgICBsbmc6ICdsbicsXG4gICAgICBpY29uOiAnaWNvbicsXG4gICAgICBsYWJlbDogJ3RleHQnXG4gICAgfSxcbiAgICBpc1Zpc2libGU6IHRydWUsXG4gICAgaGlkZGVuOiB0cnVlLFxuICAgIHZpc0NvbmZpZzoge1xuICAgICAgcmFkaXVzOiBHRU9DT0RFUl9JQ09OX1NJWkVcbiAgICB9XG4gIH1cbn07XG5cbmZ1bmN0aW9uIGdlbmVyYXRlQ29uZmlnKGxheWVyT3JkZXIpIHtcbiAgcmV0dXJuIHtcbiAgICB2aXNTdGF0ZToge1xuICAgICAgbGF5ZXJzOiBbSUNPTl9MQVlFUl0sXG4gICAgICBsYXllck9yZGVyOiBbSUNPTl9MQVlFUi5pZCwgLi4ubGF5ZXJPcmRlcl1cbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIFN0eWxlZEdlb2NvZGVyUGFuZWxQcm9wcyA9IEJhc2VDb21wb25lbnRQcm9wcyAmIHtcbiAgdW5zeW5jZWRWaWV3cG9ydHM/OiBib29sZWFuO1xuICBpbmRleD86IG51bWJlcjtcbiAgd2lkdGg/OiBudW1iZXI7XG59O1xuXG5jb25zdCBTdHlsZWRHZW9jb2RlclBhbmVsOiBJU3R5bGVkQ29tcG9uZW50PFxuICAnd2ViJyxcbiAgU3R5bGVkR2VvY29kZXJQYW5lbFByb3BzXG4+ID0gc3R5bGVkLmRpdjxTdHlsZWRHZW9jb2RlclBhbmVsUHJvcHM+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5nZW9jb2RlclRvcH1weDtcbiAgcmlnaHQ6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy51bnN5bmNlZFZpZXdwb3J0c1xuICAgICAgPyAvLyAyIGdlb2NvZGVyczogc3BsaXQgbW9kZSBhbmQgdW5zeW5jZWQgdmlld3BvcnRzXG4gICAgICAgIE51bWJlci5pc0Zpbml0ZShwcm9wcy5pbmRleCkgJiYgcHJvcHMuaW5kZXggPT09IDBcbiAgICAgICAgPyBgY2FsYyg1MCUgKyAke3Byb3BzLnRoZW1lLmdlb2NvZGVyUmlnaHR9cHgpYCAvLyB1bnN5bmNlZCBsZWZ0IGdlb2NvZGVyIChpbmRleCAwKVxuICAgICAgICA6IGAke3Byb3BzLnRoZW1lLmdlb2NvZGVyUmlnaHR9cHhgIC8vIHVuc3luY2VkIHJpZ2h0IGdlb2NvZGVyIChpbmRleCAxKVxuICAgICAgOiAvLyAxIGdlb2NvZGVyOiBzaW5nbGUgbW9kZSBPUiBzcGxpdCBtb2RlIGFuZCBzeW5jZWQgdmlld3BvcnRzXG4gICAgICAgIGAke3Byb3BzLnRoZW1lLmdlb2NvZGVyUmlnaHR9cHhgfTtcbiAgd2lkdGg6ICR7cHJvcHMgPT4gKE51bWJlci5pc0Zpbml0ZShwcm9wcy53aWR0aCkgPyBwcm9wcy53aWR0aCA6IHByb3BzLnRoZW1lLmdlb2NvZGVyV2lkdGgpfXB4O1xuICBib3gtc2hhZG93OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJveFNoYWRvd307XG4gIHotaW5kZXg6IDEwMDtcbmA7XG5cbmZ1bmN0aW9uIGdlbmVyYXRlR2VvY29kZXJEYXRhc2V0KGxhdDogbnVtYmVyLCBsb246IG51bWJlciwgdGV4dD86IHN0cmluZyk6IFByb3RvRGF0YXNldCB8IG51bGwge1xuICBjb25zdCBkYXRhID0gcHJvY2Vzc1Jvd09iamVjdChbXG4gICAge1xuICAgICAgbHQ6IGxhdCxcbiAgICAgIGxuOiBsb24sXG4gICAgICBpY29uOiAncGxhY2UnLFxuICAgICAgdGV4dFxuICAgIH1cbiAgXSk7XG4gIGlmICghZGF0YSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBkYXRhLFxuICAgIGluZm86IHtcbiAgICAgIGhpZGRlbjogdHJ1ZSxcbiAgICAgIGlkOiBHRU9DT0RFUl9EQVRBU0VUX05BTUUsXG4gICAgICBsYWJlbDogR0VPQ09ERVJfREFUQVNFVF9OQU1FXG4gICAgfVxuICB9O1xufVxuXG5mdW5jdGlvbiBpc1ZhbGlkKGtleSkge1xuICByZXR1cm4gL3BrXFwuLipcXC4uKi8udGVzdChrZXkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VXBkYXRlVmlzRGF0YVBheWxvYWQoXG4gIGxhdDogbnVtYmVyLFxuICBsb246IG51bWJlcixcbiAgdGV4dD86IHN0cmluZ1xuKTogW1Byb3RvRGF0YXNldFtdLCBBZGREYXRhVG9NYXBPcHRpb25zXSB8IG51bGwge1xuICBjb25zdCBkYXRhc2V0ID0gZ2VuZXJhdGVHZW9jb2RlckRhdGFzZXQobGF0LCBsb24sIHRleHQpO1xuICBpZiAoIWRhdGFzZXQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICByZXR1cm4gW1xuICAgIFtkYXRhc2V0XSxcbiAgICB7XG4gICAgICBrZWVwRXhpc3RpbmdDb25maWc6IHRydWVcbiAgICB9XG4gIF07XG59XG5cbmludGVyZmFjZSBHZW9jb2RlclBhbmVsUHJvcHMge1xuICBpc0dlb2NvZGVyRW5hYmxlZDogYm9vbGVhbjtcbiAgbWFwU3RhdGU6IE1hcFN0YXRlO1xuICB1aVN0YXRlOiBVaVN0YXRlO1xuICBtYXBib3hBcGlBY2Nlc3NUb2tlbjogc3RyaW5nO1xuICB1cGRhdGVWaXNEYXRhOiBBY3Rpb25IYW5kbGVyPHR5cGVvZiB1cGRhdGVWaXNEYXRhPjtcbiAgcmVtb3ZlRGF0YXNldDogQWN0aW9uSGFuZGxlcjx0eXBlb2YgcmVtb3ZlRGF0YXNldD47XG4gIHVwZGF0ZU1hcDogQWN0aW9uSGFuZGxlcjx0eXBlb2YgdXBkYXRlTWFwPjtcbiAgbGF5ZXJPcmRlcjogc3RyaW5nW107XG5cbiAgdHJhbnNpdGlvbkR1cmF0aW9uPzogTWFwVmlld1N0YXRlWyd0cmFuc2l0aW9uRHVyYXRpb24nXTtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgaW5kZXg6IG51bWJlcjtcbiAgdW5zeW5jZWRWaWV3cG9ydHM6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEdlb2NvZGVyUGFuZWxGYWN0b3J5KCk6IFJlYWN0LkZDPEdlb2NvZGVyUGFuZWxQcm9wcz4ge1xuICBjb25zdCBHZW9jb2RlclBhbmVsID0gKHtcbiAgICBpc0dlb2NvZGVyRW5hYmxlZCxcbiAgICBtYXBTdGF0ZSxcbiAgICBtYXBib3hBcGlBY2Nlc3NUb2tlbixcbiAgICB1cGRhdGVWaXNEYXRhLFxuICAgIHJlbW92ZURhdGFzZXQsXG4gICAgdXBkYXRlTWFwLFxuICAgIGxheWVyT3JkZXIsXG4gICAgdHJhbnNpdGlvbkR1cmF0aW9uID0gMzAwMCxcbiAgICB3aWR0aCxcbiAgICBjbGFzc05hbWUsXG4gICAgaW5kZXgsXG4gICAgdW5zeW5jZWRWaWV3cG9ydHNcbiAgfTogR2VvY29kZXJQYW5lbFByb3BzKSA9PiB7XG4gICAgY29uc3QgcmVtb3ZlR2VvY29kZXJEYXRhc2V0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgcmVtb3ZlRGF0YXNldChHRU9DT0RFUl9EQVRBU0VUX05BTUUpO1xuICAgIH0sIFtyZW1vdmVEYXRhc2V0XSk7XG5cbiAgICBjb25zdCBvblNlbGVjdGVkID0gdXNlQ2FsbGJhY2soXG4gICAgICAoX3ZpZXdwb3J0OiBWaWV3cG9ydCB8IG51bGwgPSBudWxsLCBnZW9JdGVtOiBSZXN1bHQpID0+IHtcbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgIGNlbnRlcjogW2xvbiwgbGF0XSxcbiAgICAgICAgICB0ZXh0LFxuICAgICAgICAgIGJib3hcbiAgICAgICAgfSA9IGdlb0l0ZW07XG5cbiAgICAgICAgY29uc3QgdXBkYXRlVmlzRGF0YVBheWxvYWQgPSBnZXRVcGRhdGVWaXNEYXRhUGF5bG9hZChsYXQsIGxvbiwgdGV4dCk7XG4gICAgICAgIGlmICh1cGRhdGVWaXNEYXRhUGF5bG9hZCkge1xuICAgICAgICAgIHJlbW92ZUdlb2NvZGVyRGF0YXNldCgpO1xuICAgICAgICAgIHVwZGF0ZVZpc0RhdGEoLi4udXBkYXRlVmlzRGF0YVBheWxvYWQsIGdlbmVyYXRlQ29uZmlnKGxheWVyT3JkZXIpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGJvdW5kcyA9IGJib3ggfHwgW1xuICAgICAgICAgIGxvbiAtIEdFT0NPREVSX0dFT19PRkZTRVQsXG4gICAgICAgICAgbGF0IC0gR0VPQ09ERVJfR0VPX09GRlNFVCxcbiAgICAgICAgICBsb24gKyBHRU9DT0RFUl9HRU9fT0ZGU0VULFxuICAgICAgICAgIGxhdCArIEdFT0NPREVSX0dFT19PRkZTRVRcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgY2VudGVyQW5kWm9vbSA9IGdldENlbnRlckFuZFpvb21Gcm9tQm91bmRzKGJvdW5kcywge1xuICAgICAgICAgIHdpZHRoOiBtYXBTdGF0ZS53aWR0aCxcbiAgICAgICAgICBoZWlnaHQ6IG1hcFN0YXRlLmhlaWdodFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIWNlbnRlckFuZFpvb20pIHtcbiAgICAgICAgICAvLyBmYWlsZWQgdG8gZml0IGJvdW5kc1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHVwZGF0ZU1hcChcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYXRpdHVkZTogY2VudGVyQW5kWm9vbS5jZW50ZXJbMV0sXG4gICAgICAgICAgICBsb25naXR1ZGU6IGNlbnRlckFuZFpvb20uY2VudGVyWzBdLFxuICAgICAgICAgICAgLy8gRm9yIG1hcmdpbmFsIG9yIGludmFsaWQgYm91bmRzLCB6b29tIG1heSBiZSBOYU4uIE1ha2Ugc3VyZSB0byBwcm92aWRlIGEgdmFsaWQgdmFsdWUgaW4gb3JkZXJcbiAgICAgICAgICAgIC8vIHRvIGF2b2lkIGNvcnJ1cHQgc3RhdGUgYW5kIHBvdGVudGlhbCBjcmFzaGVzIGFzIHpvb20gaXMgZXhwZWN0ZWQgdG8gYmUgYSBudW1iZXJcbiAgICAgICAgICAgIC4uLihOdW1iZXIuaXNGaW5pdGUoY2VudGVyQW5kWm9vbS56b29tKSA/IHt6b29tOiBjZW50ZXJBbmRab29tLnpvb219IDoge30pLFxuICAgICAgICAgICAgcGl0Y2g6IDAsXG4gICAgICAgICAgICBiZWFyaW5nOiAwLFxuICAgICAgICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgICAgICAgdHJhbnNpdGlvbkludGVycG9sYXRvcjogbmV3IEZseVRvSW50ZXJwb2xhdG9yKClcbiAgICAgICAgICB9LFxuICAgICAgICAgIGluZGV4XG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgW1xuICAgICAgICBpbmRleCxcbiAgICAgICAgbGF5ZXJPcmRlcixcbiAgICAgICAgbWFwU3RhdGUsXG4gICAgICAgIHJlbW92ZUdlb2NvZGVyRGF0YXNldCxcbiAgICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uLFxuICAgICAgICB1cGRhdGVNYXAsXG4gICAgICAgIHVwZGF0ZVZpc0RhdGFcbiAgICAgIF1cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRHZW9jb2RlclBhbmVsXG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnZ2VvY29kZXItcGFuZWwnLCBjbGFzc05hbWUpfVxuICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgdW5zeW5jZWRWaWV3cG9ydHM9e3Vuc3luY2VkVmlld3BvcnRzfVxuICAgICAgICBzdHlsZT17e2Rpc3BsYXk6IGlzR2VvY29kZXJFbmFibGVkID8gJ2Jsb2NrJyA6ICdub25lJ319XG4gICAgICA+XG4gICAgICAgIHtpc1ZhbGlkKG1hcGJveEFwaUFjY2Vzc1Rva2VuKSAmJiAoXG4gICAgICAgICAgPEdlb2NvZGVyXG4gICAgICAgICAgICBtYXBib3hBcGlBY2Nlc3NUb2tlbj17bWFwYm94QXBpQWNjZXNzVG9rZW59XG4gICAgICAgICAgICBvblNlbGVjdGVkPXtvblNlbGVjdGVkfVxuICAgICAgICAgICAgb25EZWxldGVNYXJrZXI9e3JlbW92ZUdlb2NvZGVyRGF0YXNldH1cbiAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9TdHlsZWRHZW9jb2RlclBhbmVsPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIEdlb2NvZGVyUGFuZWw7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sVUFBQSxHQUFBUCxPQUFBO0FBVUEsSUFBQVEsU0FBQSxHQUFBTixzQkFBQSxDQUFBRixPQUFBO0FBQXFELElBQUFTLGVBQUEsRUFuQnJEO0FBQ0E7QUFBQSxTQUFBQyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQVosd0JBQUFZLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFB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
@@ -1,9 +1,10 @@
1
- import { /* MVTSource,*/ TileJSON } from '@loaders.gl/mvt';
1
+ import { TileJSON } from '@loaders.gl/mvt';
2
2
  import { PMTilesMetadata } from '@loaders.gl/pmtiles';
3
3
  import { RemoteTileFormat } from '@kepler.gl/constants';
4
4
  import { VectorTileMetadata } from '@kepler.gl/table';
5
5
  declare type FetchVectorTileMetadataProps = {
6
- url: string | null;
6
+ metadataUrl: string | null;
7
+ tilesetUrl: string | null;
7
8
  remoteTileFormat: RemoteTileFormat;
8
9
  process?: (json: PMTilesMetadata | TileJSON) => VectorTileMetadata | Error | null;
9
10
  };
@@ -13,5 +14,5 @@ declare type FetchVectorTileMetadataReturn = {
13
14
  error: Error | null;
14
15
  };
15
16
  /** Hook to fetch and return mvt or pmtiles metadata. */
16
- export default function useFetchVectorTileMetadata({ remoteTileFormat, url, process }: FetchVectorTileMetadataProps): FetchVectorTileMetadataReturn;
17
+ export default function useFetchVectorTileMetadata({ remoteTileFormat, tilesetUrl, metadataUrl, process }: FetchVectorTileMetadataProps): FetchVectorTileMetadataReturn;
17
18
  export {};