@kepler.gl/components 3.1.0-alpha.7 → 3.1.1

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 (32) hide show
  1. package/dist/common/data-table/header-cell.d.ts +1 -0
  2. package/dist/common/data-table/header-cell.js +10 -10
  3. package/dist/common/data-table/index.d.ts +2 -1
  4. package/dist/common/data-table/index.js +5 -1
  5. package/dist/common/data-table/option-dropdown.d.ts +3 -3
  6. package/dist/common/data-table/option-dropdown.js +5 -5
  7. package/dist/common/file-uploader/file-drop.d.ts +1 -32
  8. package/dist/common/file-uploader/file-drop.js +152 -167
  9. package/dist/common/item-selector/dropdown-list.d.ts +2 -2
  10. package/dist/common/item-selector/dropdown-list.js +2 -3
  11. package/dist/common/item-selector/item-selector.d.ts +1 -1
  12. package/dist/common/item-selector/typeahead.d.ts +1 -1
  13. package/dist/common/range-brush.js +3 -3
  14. package/dist/geocoder/geocoder.d.ts +7 -0
  15. package/dist/geocoder/geocoder.js +19 -11
  16. package/dist/geocoder-panel.d.ts +2 -2
  17. package/dist/geocoder-panel.js +64 -91
  18. package/dist/hooks/use-fetch-vector-tile-metadata.d.ts +4 -3
  19. package/dist/hooks/use-fetch-vector-tile-metadata.js +35 -26
  20. package/dist/hooks/use-legend-position.js +8 -4
  21. package/dist/kepler-gl.d.ts +1 -0
  22. package/dist/map/map-legend-panel.js +2 -3
  23. package/dist/modal-container.js +8 -8
  24. package/dist/modals/save-map-modal.js +4 -3
  25. package/dist/modals/tilesets-modals/tileset-vector-form.js +31 -12
  26. package/dist/side-panel/layer-panel/color-palette-preset.js +2 -2
  27. package/dist/side-panel/layer-panel/color-range-selector.js +10 -11
  28. package/dist/side-panel/layer-panel/color-selector.js +3 -3
  29. package/dist/side-panel/layer-panel/custom-palette.js +1 -2
  30. package/dist/side-panel/layer-panel/layer-configurator.js +6 -8
  31. package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +1 -2
  32. package/package.json +16 -16
@@ -20,13 +20,14 @@ var _imagePreview = _interopRequireDefault(require("../common/image-preview"));
20
20
  var _localization = require("@kepler.gl/localization");
21
21
  var _modal = require("../common/modal");
22
22
  var _useCloudListProvider2 = require("../hooks/use-cloud-list-provider");
23
- var _templateObject; // SPDX-License-Identifier: MIT
23
+ var _templateObject, _templateObject2; // SPDX-License-Identifier: MIT
24
24
  // Copyright contributors to the kepler.gl project
25
25
  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); }
26
26
  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; }
27
27
  var StyledSaveMapModal = _styledComponents["default"].div.attrs({
28
28
  className: 'save-map-modal'
29
29
  })(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n .save-map-modal-content {\n min-height: 400px;\n flex-direction: column;\n }\n\n .description {\n width: 300px;\n }\n\n .image-preview-panel {\n width: 300px;\n\n .image-preview {\n padding: 0;\n }\n }\n\n .map-info-panel {\n flex-direction: column;\n }\n\n .save-map-modal-description {\n .modal-section-subtitle {\n margin-left: 6px;\n }\n }\n"])));
30
+ var StyledCompactExportSection = (0, _styledComponents["default"])(_styledComponents2.StyledExportSection)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 5px 0;\n"])));
30
31
  var nop = function nop() {
31
32
  return;
32
33
  };
@@ -148,7 +149,7 @@ function SaveMapModalFactory() {
148
149
  target: "_blank",
149
150
  rel: "noopener noreferrer",
150
151
  style: PROVIDER_MANAGER_URL_STYLE
151
- }, "Go to your Kepler.gl ", provider.displayName, " page"))) : null, /*#__PURE__*/_react["default"].createElement(_styledComponents2.StyledExportSection, null, /*#__PURE__*/_react["default"].createElement("div", {
152
+ }, "Go to your Kepler.gl ", provider.displayName, " page"))) : null, /*#__PURE__*/_react["default"].createElement(StyledCompactExportSection, null, /*#__PURE__*/_react["default"].createElement("div", {
152
153
  className: "description image-preview-panel"
153
154
  }, /*#__PURE__*/_react["default"].createElement(_imagePreview["default"], {
154
155
  exportImage: exportImage,
@@ -176,4 +177,4 @@ function SaveMapModalFactory() {
176
177
  return SaveMapModal;
177
178
  }
178
179
  var _default = exports["default"] = SaveMapModalFactory;
179
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfaW1hZ2VNb2RhbENvbnRhaW5lciIsIl9mbGV4Q29udGFpbmVyIiwiX3N0YXR1c1BhbmVsIiwiX3Byb3ZpZGVyU2VsZWN0IiwiX2NvbnN0YW50cyIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl9pbWFnZVByZXZpZXciLCJfbG9jYWxpemF0aW9uIiwiX21vZGFsIiwiX3VzZUNsb3VkTGlzdFByb3ZpZGVyMiIsIl90ZW1wbGF0ZU9iamVjdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIlN0eWxlZFNhdmVNYXBNb2RhbCIsInN0eWxlZCIsImRpdiIsImF0dHJzIiwiY2xhc3NOYW1lIiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJub3AiLCJURVhUX0FSRUFfTElHSFRfU1RZTEUiLCJyZXNpemUiLCJNYXBJbmZvUGFuZWwiLCJleHBvcnRzIiwiX3JlZiIsIm1hcEluZm8iLCJjaGFyYWN0ZXJMaW1pdHMiLCJvbkNoYW5nZUlucHV0IiwiX21hcEluZm8kZGVzY3JpcHRpb24iLCJkZXNjcmlwdGlvbiIsIl9tYXBJbmZvJHRpdGxlIiwidGl0bGUiLCJjcmVhdGVFbGVtZW50IiwiZGF0YVRlc3RJZHMiLCJwcm92aWRlck1hcEluZm9QYW5lbCIsIlN0eWxlZE1vZGFsU2VjdGlvbiIsIklucHV0TGlnaHQiLCJpZCIsInR5cGUiLCJ2YWx1ZSIsIm9uQ2hhbmdlIiwicGxhY2Vob2xkZXIiLCJGbGV4Q29udGFpbmVyIiwiVGV4dEFyZWFMaWdodCIsInJvd3MiLCJzdHlsZSIsIlN0eWxlZE1vZGFsSW5wdXRGb290bm90ZSIsImVycm9yIiwiQm9vbGVhbiIsImxlbmd0aCIsIk51bWJlciIsIk1BUF9JTkZPX0NIQVJBQ1RFUiIsIlNhdmVNYXBIZWFkZXIiLCJfcmVmMiIsImNsb3VkUHJvdmlkZXJzIiwiU3R5bGVkRXhwb3J0U2VjdGlvbiIsIkZvcm1hdHRlZE1lc3NhZ2UiLCJQcm92aWRlclNlbGVjdCIsIlNUWUxFRF9FWFBPUlRfU0VDVElPTl9TVFlMRSIsIm1hcmdpbiIsIlBST1ZJREVSX01BTkFHRVJfVVJMX1NUWUxFIiwidGV4dERlY29yYXRpb24iLCJTYXZlTWFwTW9kYWxGYWN0b3J5IiwiU2F2ZU1hcE1vZGFsIiwiX3JlZjMiLCJleHBvcnRJbWFnZSIsIl9yZWYzJGNoYXJhY3RlckxpbWl0cyIsImlzUHJvdmlkZXJMb2FkaW5nIiwicHJvdmlkZXJFcnJvciIsIl9yZWYzJG9uVXBkYXRlSW1hZ2VTZSIsIm9uVXBkYXRlSW1hZ2VTZXR0aW5nIiwiY2xlYW51cEV4cG9ydEltYWdlIiwib25TZXRNYXBJbmZvIiwib25DYW5jZWwiLCJvbkNvbmZpcm0iLCJfdXNlQ2xvdWRMaXN0UHJvdmlkZXIiLCJ1c2VDbG91ZExpc3RQcm92aWRlciIsInByb3ZpZGVyIiwia2V5IiwiX3JlZjQiLCJ0YXJnZXQiLCJfZGVmaW5lUHJvcGVydHkyIiwiY29uZmlybUJ1dHRvbiIsInVzZU1lbW8iLCJsYXJnZSIsImRpc2FibGVkIiwiY2hpbGRyZW4iLCJjb25maXJtIiwidXNlQ2FsbGJhY2siLCJTdHlsZWRNb2RhbENvbnRlbnQiLCJGcmFnbWVudCIsImdldE1hbmFnZW1lbnRVcmwiLCJocmVmIiwicmVsIiwiZGlzcGxheU5hbWUiLCJ3aWR0aCIsIk1BUF9USFVNQk5BSUxfRElNRU5TSU9OIiwic2hvd0RpbWVuc2lvbiIsInByb3ZpZGVyTG9hZGluZyIsIlVwbG9hZEFuaW1hdGlvbiIsImljb24iLCJpc0xvYWRpbmciLCJtZXNzYWdlIiwicHJvdmlkZXJJY29uIiwiTW9kYWxGb290ZXIiLCJjYW5jZWwiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RhbHMvc2F2ZS1tYXAtbW9kYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBJbWFnZU1vZGFsQ29udGFpbmVyLCB7SW1hZ2VNb2RhbENvbnRhaW5lclByb3BzfSBmcm9tICcuL2ltYWdlLW1vZGFsLWNvbnRhaW5lcic7XG5pbXBvcnQge0ZsZXhDb250YWluZXJ9IGZyb20gJy4uL2NvbW1vbi9mbGV4LWNvbnRhaW5lcic7XG5pbXBvcnQgU3RhdHVzUGFuZWwsIHtVcGxvYWRBbmltYXRpb259IGZyb20gJy4vc3RhdHVzLXBhbmVsJztcbmltcG9ydCB7UHJvdmlkZXJTZWxlY3R9IGZyb20gJy4vY2xvdWQtY29tcG9uZW50cy9wcm92aWRlci1zZWxlY3QnO1xuaW1wb3J0IHtcbiAgTUFQX1RIVU1CTkFJTF9ESU1FTlNJT04sXG4gIE1BUF9JTkZPX0NIQVJBQ1RFUixcbiAgRXhwb3J0SW1hZ2UsXG4gIGRhdGFUZXN0SWRzXG59IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcblxuaW1wb3J0IHtcbiAgU3R5bGVkTW9kYWxDb250ZW50LFxuICBJbnB1dExpZ2h0LFxuICBUZXh0QXJlYUxpZ2h0LFxuICBTdHlsZWRFeHBvcnRTZWN0aW9uLFxuICBTdHlsZWRNb2RhbFNlY3Rpb24sXG4gIFN0eWxlZE1vZGFsSW5wdXRGb290bm90ZVxufSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IEltYWdlUHJldmlldyBmcm9tICcuLi9jb21tb24vaW1hZ2UtcHJldmlldyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcbmltcG9ydCB7TWFwSW5mb30gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge1Byb3ZpZGVyfSBmcm9tICdAa2VwbGVyLmdsL2Nsb3VkLXByb3ZpZGVycyc7XG5pbXBvcnQge3NldE1hcEluZm8sIGNsZWFudXBFeHBvcnRJbWFnZSBhcyBjbGVhbnVwRXhwb3J0SW1hZ2VBY3Rpb259IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge01vZGFsRm9vdGVyfSBmcm9tICcuLi9jb21tb24vbW9kYWwnO1xuaW1wb3J0IHt1c2VDbG91ZExpc3RQcm92aWRlcn0gZnJvbSAnLi4vaG9va3MvdXNlLWNsb3VkLWxpc3QtcHJvdmlkZXInO1xuXG5jb25zdCBTdHlsZWRTYXZlTWFwTW9kYWwgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnc2F2ZS1tYXAtbW9kYWwnXG59KWBcbiAgLnNhdmUtbWFwLW1vZGFsLWNvbnRlbnQge1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAuZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgfVxuXG4gIC5pbWFnZS1wcmV2aWV3LXBhbmVsIHtcbiAgICB3aWR0aDogMzAwcHg7XG5cbiAgICAuaW1hZ2UtcHJldmlldyB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5tYXAtaW5mby1wYW5lbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIC5zYXZlLW1hcC1tb2RhbC1kZXNjcmlwdGlvbiB7XG4gICAgLm1vZGFsLXNlY3Rpb24tc3VidGl0bGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IG5vcCA9ICgpID0+IHtcbiAgcmV0dXJuO1xufTtcbmNvbnN0IFRFWFRfQVJFQV9MSUdIVF9TVFlMRSA9IHtyZXNpemU6ICdub25lJ307XG5cbnR5cGUgQ2hhcmFjdGVyTGltaXRzID0ge1xuICB0aXRsZT86IG51bWJlcjtcbiAgZGVzY3JpcHRpb24/OiBudW1iZXI7XG59O1xuXG50eXBlIFNhdmVNYXBNb2RhbFByb3BzID0ge1xuICBtYXBJbmZvOiBNYXBJbmZvO1xuICBleHBvcnRJbWFnZTogRXhwb3J0SW1hZ2U7XG4gIGlzUHJvdmlkZXJMb2FkaW5nOiBib29sZWFuO1xuICBwcm92aWRlckVycm9yPzogRXJyb3I7XG4gIGNoYXJhY3RlckxpbWl0cz86IENoYXJhY3RlckxpbWl0cztcblxuICAvLyBjYWxsYmFja3NcbiAgb25VcGRhdGVJbWFnZVNldHRpbmc6IEltYWdlTW9kYWxDb250YWluZXJQcm9wc1snb25VcGRhdGVJbWFnZVNldHRpbmcnXTtcbiAgY2xlYW51cEV4cG9ydEltYWdlOiB0eXBlb2YgY2xlYW51cEV4cG9ydEltYWdlQWN0aW9uO1xuICBvblNldE1hcEluZm86IHR5cGVvZiBzZXRNYXBJbmZvO1xuICBvbkNvbmZpcm06IChwcm92aWRlcjogUHJvdmlkZXIpID0+IHZvaWQ7XG4gIG9uQ2FuY2VsOiAoKSA9PiB2b2lkO1xufTtcblxudHlwZSBNYXBJbmZvUGFuZWxQcm9wcyA9IFBpY2s8U2F2ZU1hcE1vZGFsUHJvcHMsICdtYXBJbmZvJyB8ICdjaGFyYWN0ZXJMaW1pdHMnPiAmIHtcbiAgb25DaGFuZ2VJbnB1dDogKFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBldmVudDogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTFRleHRBcmVhRWxlbWVudCB8IEhUTUxJbnB1dEVsZW1lbnQ+XG4gICkgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCBjb25zdCBNYXBJbmZvUGFuZWw6IFJlYWN0LkZDPE1hcEluZm9QYW5lbFByb3BzPiA9ICh7XG4gIG1hcEluZm8sXG4gIGNoYXJhY3RlckxpbWl0cyxcbiAgb25DaGFuZ2VJbnB1dFxufSkgPT4ge1xuICBjb25zdCB7ZGVzY3JpcHRpb24gPSAnJywgdGl0bGUgPSAnJ30gPSBtYXBJbmZvO1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwic2VsZWN0aW9uIG1hcC1pbmZvLXBhbmVsXCIgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWRzLnByb3ZpZGVyTWFwSW5mb1BhbmVsfT5cbiAgICAgIDxTdHlsZWRNb2RhbFNlY3Rpb24gY2xhc3NOYW1lPVwic2F2ZS1tYXAtbW9kYWwtbmFtZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLXNlY3Rpb24tdGl0bGVcIj5OYW1lKjwvZGl2PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxJbnB1dExpZ2h0XG4gICAgICAgICAgICBpZD1cIm1hcC10aXRsZVwiXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICB2YWx1ZT17dGl0bGV9XG4gICAgICAgICAgICBvbkNoYW5nZT17ZSA9PiBvbkNoYW5nZUlucHV0KCd0aXRsZScsIGUpfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJUeXBlIG1hcCB0aXRsZVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L1N0eWxlZE1vZGFsU2VjdGlvbj5cbiAgICAgIDxTdHlsZWRNb2RhbFNlY3Rpb24+XG4gICAgICAgIDxGbGV4Q29udGFpbmVyIGNsYXNzTmFtZT1cInNhdmUtbWFwLW1vZGFsLWRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb2RhbC1zZWN0aW9uLXRpdGxlXCI+RGVzY3JpcHRpb248L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLXNlY3Rpb24tc3VidGl0bGVcIj4ob3B0aW9uYWwpPC9kaXY+XG4gICAgICAgIDwvRmxleENvbnRhaW5lcj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8VGV4dEFyZWFMaWdodFxuICAgICAgICAgICAgcm93cz17M31cbiAgICAgICAgICAgIGlkPVwibWFwLWRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgIHN0eWxlPXtURVhUX0FSRUFfTElHSFRfU1RZTEUgYXMgUmVhY3QuQ1NTUHJvcGVydGllc31cbiAgICAgICAgICAgIHZhbHVlPXtkZXNjcmlwdGlvbn1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IG9uQ2hhbmdlSW5wdXQoJ2Rlc2NyaXB0aW9uJywgZSl9XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlR5cGUgbWFwIGRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPFN0eWxlZE1vZGFsSW5wdXRGb290bm90ZVxuICAgICAgICAgIGVycm9yPXtcbiAgICAgICAgICAgIEJvb2xlYW4oY2hhcmFjdGVyTGltaXRzPy5kZXNjcmlwdGlvbikgJiZcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uLmxlbmd0aCA+IE51bWJlcihjaGFyYWN0ZXJMaW1pdHM/LmRlc2NyaXB0aW9uKVxuICAgICAgICAgIH1cbiAgICAgICAgPlxuICAgICAgICAgIHtkZXNjcmlwdGlvbi5sZW5ndGh9L3tjaGFyYWN0ZXJMaW1pdHM/LmRlc2NyaXB0aW9uIHx8IE1BUF9JTkZPX0NIQVJBQ1RFUi5kZXNjcmlwdGlvbn17JyAnfVxuICAgICAgICAgIGNoYXJhY3RlcnNcbiAgICAgICAgPC9TdHlsZWRNb2RhbElucHV0Rm9vdG5vdGU+XG4gICAgICA8L1N0eWxlZE1vZGFsU2VjdGlvbj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmNvbnN0IFNhdmVNYXBIZWFkZXIgPSAoe2Nsb3VkUHJvdmlkZXJzfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxTdHlsZWRFeHBvcnRTZWN0aW9uPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXNjcmlwdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpdGxlXCI+XG4gICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydtb2RhbC5zYXZlTWFwLnRpdGxlJ30gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3VidGl0bGVcIj5cbiAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J21vZGFsLnNhdmVNYXAuc3VidGl0bGUnfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPFByb3ZpZGVyU2VsZWN0IGNsb3VkUHJvdmlkZXJzPXtjbG91ZFByb3ZpZGVyc30gLz5cbiAgICA8L1N0eWxlZEV4cG9ydFNlY3Rpb24+XG4gICk7XG59O1xuXG5jb25zdCBTVFlMRURfRVhQT1JUX1NFQ1RJT05fU1RZTEUgPSB7bWFyZ2luOiAnMnB4IDAnfTtcbmNvbnN0IFBST1ZJREVSX01BTkFHRVJfVVJMX1NUWUxFID0ge3RleHREZWNvcmF0aW9uOiAndW5kZXJsaW5lJ307XG5cbmZ1bmN0aW9uIFNhdmVNYXBNb2RhbEZhY3RvcnkoKSB7XG4gIGNvbnN0IFNhdmVNYXBNb2RhbDogUmVhY3QuRkM8U2F2ZU1hcE1vZGFsUHJvcHM+ID0gKHtcbiAgICBtYXBJbmZvLFxuICAgIGV4cG9ydEltYWdlLFxuICAgIGNoYXJhY3RlckxpbWl0cyA9IE1BUF9JTkZPX0NIQVJBQ1RFUixcbiAgICBpc1Byb3ZpZGVyTG9hZGluZyxcbiAgICBwcm92aWRlckVycm9yLFxuICAgIG9uVXBkYXRlSW1hZ2VTZXR0aW5nID0gbm9wLFxuICAgIGNsZWFudXBFeHBvcnRJbWFnZSxcbiAgICBvblNldE1hcEluZm8sXG4gICAgb25DYW5jZWwsXG4gICAgb25Db25maXJtXG4gIH0pID0+IHtcbiAgICBjb25zdCB7cHJvdmlkZXIsIGNsb3VkUHJvdmlkZXJzfSA9IHVzZUNsb3VkTGlzdFByb3ZpZGVyKCk7XG5cbiAgICBjb25zdCBvbkNoYW5nZUlucHV0ID0gKFxuICAgICAga2V5OiBzdHJpbmcsXG4gICAgICB7dGFyZ2V0OiB7dmFsdWV9fTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTFRleHRBcmVhRWxlbWVudCB8IEhUTUxJbnB1dEVsZW1lbnQ+XG4gICAgKSA9PiB7XG4gICAgICBvblNldE1hcEluZm8oe1trZXldOiB2YWx1ZX0pO1xuICAgIH07XG5cbiAgICBjb25zdCBjb25maXJtQnV0dG9uID0gdXNlTWVtbyhcbiAgICAgICgpID0+ICh7XG4gICAgICAgIGxhcmdlOiB0cnVlLFxuICAgICAgICBkaXNhYmxlZDogQm9vbGVhbighKHByb3ZpZGVyICYmIG1hcEluZm8udGl0bGUpKSxcbiAgICAgICAgY2hpbGRyZW46ICdtb2RhbC5idXR0b24uc2F2ZSdcbiAgICAgIH0pLFxuICAgICAgW3Byb3ZpZGVyLCBtYXBJbmZvXVxuICAgICk7XG5cbiAgICBjb25zdCBjb25maXJtID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgaWYgKHByb3ZpZGVyKSB7XG4gICAgICAgIG9uQ29uZmlybShwcm92aWRlcik7XG4gICAgICB9XG4gICAgfSwgW29uQ29uZmlybSwgcHJvdmlkZXJdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8SW1hZ2VNb2RhbENvbnRhaW5lclxuICAgICAgICBwcm92aWRlcj17cHJvdmlkZXJ9XG4gICAgICAgIG9uVXBkYXRlSW1hZ2VTZXR0aW5nPXtvblVwZGF0ZUltYWdlU2V0dGluZ31cbiAgICAgICAgY2xlYW51cEV4cG9ydEltYWdlPXtjbGVhbnVwRXhwb3J0SW1hZ2V9XG4gICAgICA+XG4gICAgICAgIDxTdHlsZWRTYXZlTWFwTW9kYWw+XG4gICAgICAgICAgPFN0eWxlZE1vZGFsQ29udGVudCBjbGFzc05hbWU9XCJzYXZlLW1hcC1tb2RhbC1jb250ZW50XCI+XG4gICAgICAgICAgICA8U2F2ZU1hcEhlYWRlciBjbG91ZFByb3ZpZGVycz17Y2xvdWRQcm92aWRlcnN9IC8+XG4gICAgICAgICAgICB7cHJvdmlkZXIgJiYgKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHtwcm92aWRlci5nZXRNYW5hZ2VtZW50VXJsID8gKFxuICAgICAgICAgICAgICAgICAgPFN0eWxlZEV4cG9ydFNlY3Rpb24gc3R5bGU9e1NUWUxFRF9FWFBPUlRfU0VDVElPTl9TVFlMRX0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic2VsZWN0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17MX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9e3Byb3ZpZGVyLmdldE1hbmFnZW1lbnRVcmwoKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXtQUk9WSURFUl9NQU5BR0VSX1VSTF9TVFlMRX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBHbyB0byB5b3VyIEtlcGxlci5nbCB7cHJvdmlkZXIuZGlzcGxheU5hbWV9IHBhZ2VcbiAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9TdHlsZWRFeHBvcnRTZWN0aW9uPlxuICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgIDxTdHlsZWRFeHBvcnRTZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXNjcmlwdGlvbiBpbWFnZS1wcmV2aWV3LXBhbmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxJbWFnZVByZXZpZXdcbiAgICAgICAgICAgICAgICAgICAgICBleHBvcnRJbWFnZT17ZXhwb3J0SW1hZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg9e01BUF9USFVNQk5BSUxfRElNRU5TSU9OLndpZHRofVxuICAgICAgICAgICAgICAgICAgICAgIHNob3dEaW1lbnNpb249e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICB7aXNQcm92aWRlckxvYWRpbmcgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZHMucHJvdmlkZXJMb2FkaW5nfVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInNlbGVjdGlvbiBtYXAtc2F2aW5nLWFuaW1hdGlvblwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8VXBsb2FkQW5pbWF0aW9uIGljb249e3Byb3ZpZGVyICYmIHByb3ZpZGVyLmljb259IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgPE1hcEluZm9QYW5lbFxuICAgICAgICAgICAgICAgICAgICAgIG1hcEluZm89e21hcEluZm99XG4gICAgICAgICAgICAgICAgICAgICAgY2hhcmFjdGVyTGltaXRzPXtjaGFyYWN0ZXJMaW1pdHN9XG4gICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2VJbnB1dD17b25DaGFuZ2VJbnB1dH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRFeHBvcnRTZWN0aW9uPlxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7cHJvdmlkZXJFcnJvciA/IChcbiAgICAgICAgICAgICAgPFN0YXR1c1BhbmVsXG4gICAgICAgICAgICAgICAgaXNMb2FkaW5nPXtmYWxzZX1cbiAgICAgICAgICAgICAgICBlcnJvcj17cHJvdmlkZXJFcnJvci5tZXNzYWdlfVxuICAgICAgICAgICAgICAgIHByb3ZpZGVySWNvbj17cHJvdmlkZXIgJiYgcHJvdmlkZXIuaWNvbn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDwvU3R5bGVkTW9kYWxDb250ZW50PlxuICAgICAgICA8L1N0eWxlZFNhdmVNYXBNb2RhbD5cbiAgICAgICAgPE1vZGFsRm9vdGVyIGNhbmNlbD17b25DYW5jZWx9IGNvbmZpcm09e2NvbmZpcm19IGNvbmZpcm1CdXR0b249e2NvbmZpcm1CdXR0b259IC8+XG4gICAgICA8L0ltYWdlTW9kYWxDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gU2F2ZU1hcE1vZGFsO1xufVxuXG5leHBvcnQgZGVmYXVsdCBTYXZlTWFwTW9kYWxGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLG9CQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSxjQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxZQUFBLEdBQUFOLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTSxlQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxVQUFBLEdBQUFQLE9BQUE7QUFPQSxJQUFBUSxrQkFBQSxHQUFBUixPQUFBO0FBUUEsSUFBQVMsYUFBQSxHQUFBUCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVUsYUFBQSxHQUFBVixPQUFBO0FBSUEsSUFBQVcsTUFBQSxHQUFBWCxPQUFBO0FBQ0EsSUFBQVksc0JBQUEsR0FBQVosT0FBQTtBQUFzRSxJQUFBYSxlQUFBLEVBOUJ0RTtBQUNBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FB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
180
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfaW1hZ2VNb2RhbENvbnRhaW5lciIsIl9mbGV4Q29udGFpbmVyIiwiX3N0YXR1c1BhbmVsIiwiX3Byb3ZpZGVyU2VsZWN0IiwiX2NvbnN0YW50cyIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl9pbWFnZVByZXZpZXciLCJfbG9jYWxpemF0aW9uIiwiX21vZGFsIiwiX3VzZUNsb3VkTGlzdFByb3ZpZGVyMiIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJTdHlsZWRTYXZlTWFwTW9kYWwiLCJzdHlsZWQiLCJkaXYiLCJhdHRycyIsImNsYXNzTmFtZSIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwiU3R5bGVkQ29tcGFjdEV4cG9ydFNlY3Rpb24iLCJTdHlsZWRFeHBvcnRTZWN0aW9uIiwibm9wIiwiVEVYVF9BUkVBX0xJR0hUX1NUWUxFIiwicmVzaXplIiwiTWFwSW5mb1BhbmVsIiwiZXhwb3J0cyIsIl9yZWYiLCJtYXBJbmZvIiwiY2hhcmFjdGVyTGltaXRzIiwib25DaGFuZ2VJbnB1dCIsIl9tYXBJbmZvJGRlc2NyaXB0aW9uIiwiZGVzY3JpcHRpb24iLCJfbWFwSW5mbyR0aXRsZSIsInRpdGxlIiwiY3JlYXRlRWxlbWVudCIsImRhdGFUZXN0SWRzIiwicHJvdmlkZXJNYXBJbmZvUGFuZWwiLCJTdHlsZWRNb2RhbFNlY3Rpb24iLCJJbnB1dExpZ2h0IiwiaWQiLCJ0eXBlIiwidmFsdWUiLCJvbkNoYW5nZSIsInBsYWNlaG9sZGVyIiwiRmxleENvbnRhaW5lciIsIlRleHRBcmVhTGlnaHQiLCJyb3dzIiwic3R5bGUiLCJTdHlsZWRNb2RhbElucHV0Rm9vdG5vdGUiLCJlcnJvciIsIkJvb2xlYW4iLCJsZW5ndGgiLCJOdW1iZXIiLCJNQVBfSU5GT19DSEFSQUNURVIiLCJTYXZlTWFwSGVhZGVyIiwiX3JlZjIiLCJjbG91ZFByb3ZpZGVycyIsIkZvcm1hdHRlZE1lc3NhZ2UiLCJQcm92aWRlclNlbGVjdCIsIlNUWUxFRF9FWFBPUlRfU0VDVElPTl9TVFlMRSIsIm1hcmdpbiIsIlBST1ZJREVSX01BTkFHRVJfVVJMX1NUWUxFIiwidGV4dERlY29yYXRpb24iLCJTYXZlTWFwTW9kYWxGYWN0b3J5IiwiU2F2ZU1hcE1vZGFsIiwiX3JlZjMiLCJleHBvcnRJbWFnZSIsIl9yZWYzJGNoYXJhY3RlckxpbWl0cyIsImlzUHJvdmlkZXJMb2FkaW5nIiwicHJvdmlkZXJFcnJvciIsIl9yZWYzJG9uVXBkYXRlSW1hZ2VTZSIsIm9uVXBkYXRlSW1hZ2VTZXR0aW5nIiwiY2xlYW51cEV4cG9ydEltYWdlIiwib25TZXRNYXBJbmZvIiwib25DYW5jZWwiLCJvbkNvbmZpcm0iLCJfdXNlQ2xvdWRMaXN0UHJvdmlkZXIiLCJ1c2VDbG91ZExpc3RQcm92aWRlciIsInByb3ZpZGVyIiwia2V5IiwiX3JlZjQiLCJ0YXJnZXQiLCJfZGVmaW5lUHJvcGVydHkyIiwiY29uZmlybUJ1dHRvbiIsInVzZU1lbW8iLCJsYXJnZSIsImRpc2FibGVkIiwiY2hpbGRyZW4iLCJjb25maXJtIiwidXNlQ2FsbGJhY2siLCJTdHlsZWRNb2RhbENvbnRlbnQiLCJGcmFnbWVudCIsImdldE1hbmFnZW1lbnRVcmwiLCJocmVmIiwicmVsIiwiZGlzcGxheU5hbWUiLCJ3aWR0aCIsIk1BUF9USFVNQk5BSUxfRElNRU5TSU9OIiwic2hvd0RpbWVuc2lvbiIsInByb3ZpZGVyTG9hZGluZyIsIlVwbG9hZEFuaW1hdGlvbiIsImljb24iLCJpc0xvYWRpbmciLCJtZXNzYWdlIiwicHJvdmlkZXJJY29uIiwiTW9kYWxGb290ZXIiLCJjYW5jZWwiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RhbHMvc2F2ZS1tYXAtbW9kYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBJbWFnZU1vZGFsQ29udGFpbmVyLCB7SW1hZ2VNb2RhbENvbnRhaW5lclByb3BzfSBmcm9tICcuL2ltYWdlLW1vZGFsLWNvbnRhaW5lcic7XG5pbXBvcnQge0ZsZXhDb250YWluZXJ9IGZyb20gJy4uL2NvbW1vbi9mbGV4LWNvbnRhaW5lcic7XG5pbXBvcnQgU3RhdHVzUGFuZWwsIHtVcGxvYWRBbmltYXRpb259IGZyb20gJy4vc3RhdHVzLXBhbmVsJztcbmltcG9ydCB7UHJvdmlkZXJTZWxlY3R9IGZyb20gJy4vY2xvdWQtY29tcG9uZW50cy9wcm92aWRlci1zZWxlY3QnO1xuaW1wb3J0IHtcbiAgTUFQX1RIVU1CTkFJTF9ESU1FTlNJT04sXG4gIE1BUF9JTkZPX0NIQVJBQ1RFUixcbiAgRXhwb3J0SW1hZ2UsXG4gIGRhdGFUZXN0SWRzXG59IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcblxuaW1wb3J0IHtcbiAgU3R5bGVkTW9kYWxDb250ZW50LFxuICBJbnB1dExpZ2h0LFxuICBUZXh0QXJlYUxpZ2h0LFxuICBTdHlsZWRFeHBvcnRTZWN0aW9uLFxuICBTdHlsZWRNb2RhbFNlY3Rpb24sXG4gIFN0eWxlZE1vZGFsSW5wdXRGb290bm90ZVxufSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IEltYWdlUHJldmlldyBmcm9tICcuLi9jb21tb24vaW1hZ2UtcHJldmlldyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcbmltcG9ydCB7TWFwSW5mb30gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge1Byb3ZpZGVyfSBmcm9tICdAa2VwbGVyLmdsL2Nsb3VkLXByb3ZpZGVycyc7XG5pbXBvcnQge3NldE1hcEluZm8sIGNsZWFudXBFeHBvcnRJbWFnZSBhcyBjbGVhbnVwRXhwb3J0SW1hZ2VBY3Rpb259IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge01vZGFsRm9vdGVyfSBmcm9tICcuLi9jb21tb24vbW9kYWwnO1xuaW1wb3J0IHt1c2VDbG91ZExpc3RQcm92aWRlcn0gZnJvbSAnLi4vaG9va3MvdXNlLWNsb3VkLWxpc3QtcHJvdmlkZXInO1xuXG5jb25zdCBTdHlsZWRTYXZlTWFwTW9kYWwgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnc2F2ZS1tYXAtbW9kYWwnXG59KWBcbiAgLnNhdmUtbWFwLW1vZGFsLWNvbnRlbnQge1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAuZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgfVxuXG4gIC5pbWFnZS1wcmV2aWV3LXBhbmVsIHtcbiAgICB3aWR0aDogMzAwcHg7XG5cbiAgICAuaW1hZ2UtcHJldmlldyB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5tYXAtaW5mby1wYW5lbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIC5zYXZlLW1hcC1tb2RhbC1kZXNjcmlwdGlvbiB7XG4gICAgLm1vZGFsLXNlY3Rpb24tc3VidGl0bGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZENvbXBhY3RFeHBvcnRTZWN0aW9uID0gc3R5bGVkKFN0eWxlZEV4cG9ydFNlY3Rpb24pYFxuICBtYXJnaW46IDVweCAwO1xuYDtcblxuY29uc3Qgbm9wID0gKCkgPT4ge1xuICByZXR1cm47XG59O1xuY29uc3QgVEVYVF9BUkVBX0xJR0hUX1NUWUxFID0ge3Jlc2l6ZTogJ25vbmUnfTtcblxudHlwZSBDaGFyYWN0ZXJMaW1pdHMgPSB7XG4gIHRpdGxlPzogbnVtYmVyO1xuICBkZXNjcmlwdGlvbj86IG51bWJlcjtcbn07XG5cbnR5cGUgU2F2ZU1hcE1vZGFsUHJvcHMgPSB7XG4gIG1hcEluZm86IE1hcEluZm87XG4gIGV4cG9ydEltYWdlOiBFeHBvcnRJbWFnZTtcbiAgaXNQcm92aWRlckxvYWRpbmc6IGJvb2xlYW47XG4gIHByb3ZpZGVyRXJyb3I/OiBFcnJvcjtcbiAgY2hhcmFjdGVyTGltaXRzPzogQ2hhcmFjdGVyTGltaXRzO1xuXG4gIC8vIGNhbGxiYWNrc1xuICBvblVwZGF0ZUltYWdlU2V0dGluZzogSW1hZ2VNb2RhbENvbnRhaW5lclByb3BzWydvblVwZGF0ZUltYWdlU2V0dGluZyddO1xuICBjbGVhbnVwRXhwb3J0SW1hZ2U6IHR5cGVvZiBjbGVhbnVwRXhwb3J0SW1hZ2VBY3Rpb247XG4gIG9uU2V0TWFwSW5mbzogdHlwZW9mIHNldE1hcEluZm87XG4gIG9uQ29uZmlybTogKHByb3ZpZGVyOiBQcm92aWRlcikgPT4gdm9pZDtcbiAgb25DYW5jZWw6ICgpID0+IHZvaWQ7XG59O1xuXG50eXBlIE1hcEluZm9QYW5lbFByb3BzID0gUGljazxTYXZlTWFwTW9kYWxQcm9wcywgJ21hcEluZm8nIHwgJ2NoYXJhY3RlckxpbWl0cyc+ICYge1xuICBvbkNoYW5nZUlucHV0OiAoXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGV2ZW50OiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MVGV4dEFyZWFFbGVtZW50IHwgSFRNTElucHV0RWxlbWVudD5cbiAgKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IGNvbnN0IE1hcEluZm9QYW5lbDogUmVhY3QuRkM8TWFwSW5mb1BhbmVsUHJvcHM+ID0gKHtcbiAgbWFwSW5mbyxcbiAgY2hhcmFjdGVyTGltaXRzLFxuICBvbkNoYW5nZUlucHV0XG59KSA9PiB7XG4gIGNvbnN0IHtkZXNjcmlwdGlvbiA9ICcnLCB0aXRsZSA9ICcnfSA9IG1hcEluZm87XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJzZWxlY3Rpb24gbWFwLWluZm8tcGFuZWxcIiBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZHMucHJvdmlkZXJNYXBJbmZvUGFuZWx9PlxuICAgICAgPFN0eWxlZE1vZGFsU2VjdGlvbiBjbGFzc05hbWU9XCJzYXZlLW1hcC1tb2RhbC1uYW1lXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibW9kYWwtc2VjdGlvbi10aXRsZVwiPk5hbWUqPC9kaXY+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPElucHV0TGlnaHRcbiAgICAgICAgICAgIGlkPVwibWFwLXRpdGxlXCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIHZhbHVlPXt0aXRsZX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IG9uQ2hhbmdlSW5wdXQoJ3RpdGxlJywgZSl9XG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlR5cGUgbWFwIHRpdGxlXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvU3R5bGVkTW9kYWxTZWN0aW9uPlxuICAgICAgPFN0eWxlZE1vZGFsU2VjdGlvbj5cbiAgICAgICAgPEZsZXhDb250YWluZXIgY2xhc3NOYW1lPVwic2F2ZS1tYXAtbW9kYWwtZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vZGFsLXNlY3Rpb24tdGl0bGVcIj5EZXNjcmlwdGlvbjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibW9kYWwtc2VjdGlvbi1zdWJ0aXRsZVwiPihvcHRpb25hbCk8L2Rpdj5cbiAgICAgICAgPC9GbGV4Q29udGFpbmVyPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxUZXh0QXJlYUxpZ2h0XG4gICAgICAgICAgICByb3dzPXszfVxuICAgICAgICAgICAgaWQ9XCJtYXAtZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgc3R5bGU9e1RFWFRfQVJFQV9MSUdIVF9TVFlMRSBhcyBSZWFjdC5DU1NQcm9wZXJ0aWVzfVxuICAgICAgICAgICAgdmFsdWU9e2Rlc2NyaXB0aW9ufVxuICAgICAgICAgICAgb25DaGFuZ2U9e2UgPT4gb25DaGFuZ2VJbnB1dCgnZGVzY3JpcHRpb24nLCBlKX1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiVHlwZSBtYXAgZGVzY3JpcHRpb25cIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8U3R5bGVkTW9kYWxJbnB1dEZvb3Rub3RlXG4gICAgICAgICAgZXJyb3I9e1xuICAgICAgICAgICAgQm9vbGVhbihjaGFyYWN0ZXJMaW1pdHM/LmRlc2NyaXB0aW9uKSAmJlxuICAgICAgICAgICAgZGVzY3JpcHRpb24ubGVuZ3RoID4gTnVtYmVyKGNoYXJhY3RlckxpbWl0cz8uZGVzY3JpcHRpb24pXG4gICAgICAgICAgfVxuICAgICAgICA+XG4gICAgICAgICAge2Rlc2NyaXB0aW9uLmxlbmd0aH0ve2NoYXJhY3RlckxpbWl0cz8uZGVzY3JpcHRpb24gfHwgTUFQX0lORk9fQ0hBUkFDVEVSLmRlc2NyaXB0aW9ufXsnICd9XG4gICAgICAgICAgY2hhcmFjdGVyc1xuICAgICAgICA8L1N0eWxlZE1vZGFsSW5wdXRGb290bm90ZT5cbiAgICAgIDwvU3R5bGVkTW9kYWxTZWN0aW9uPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgU2F2ZU1hcEhlYWRlciA9ICh7Y2xvdWRQcm92aWRlcnN9KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEV4cG9ydFNlY3Rpb24+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImRlc2NyaXB0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGl0bGVcIj5cbiAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J21vZGFsLnNhdmVNYXAudGl0bGUnfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdWJ0aXRsZVwiPlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbW9kYWwuc2F2ZU1hcC5zdWJ0aXRsZSd9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8UHJvdmlkZXJTZWxlY3QgY2xvdWRQcm92aWRlcnM9e2Nsb3VkUHJvdmlkZXJzfSAvPlxuICAgIDwvU3R5bGVkRXhwb3J0U2VjdGlvbj5cbiAgKTtcbn07XG5cbmNvbnN0IFNUWUxFRF9FWFBPUlRfU0VDVElPTl9TVFlMRSA9IHttYXJnaW46ICcycHggMCd9O1xuY29uc3QgUFJPVklERVJfTUFOQUdFUl9VUkxfU1RZTEUgPSB7dGV4dERlY29yYXRpb246ICd1bmRlcmxpbmUnfTtcblxuZnVuY3Rpb24gU2F2ZU1hcE1vZGFsRmFjdG9yeSgpIHtcbiAgY29uc3QgU2F2ZU1hcE1vZGFsOiBSZWFjdC5GQzxTYXZlTWFwTW9kYWxQcm9wcz4gPSAoe1xuICAgIG1hcEluZm8sXG4gICAgZXhwb3J0SW1hZ2UsXG4gICAgY2hhcmFjdGVyTGltaXRzID0gTUFQX0lORk9fQ0hBUkFDVEVSLFxuICAgIGlzUHJvdmlkZXJMb2FkaW5nLFxuICAgIHByb3ZpZGVyRXJyb3IsXG4gICAgb25VcGRhdGVJbWFnZVNldHRpbmcgPSBub3AsXG4gICAgY2xlYW51cEV4cG9ydEltYWdlLFxuICAgIG9uU2V0TWFwSW5mbyxcbiAgICBvbkNhbmNlbCxcbiAgICBvbkNvbmZpcm1cbiAgfSkgPT4ge1xuICAgIGNvbnN0IHtwcm92aWRlciwgY2xvdWRQcm92aWRlcnN9ID0gdXNlQ2xvdWRMaXN0UHJvdmlkZXIoKTtcblxuICAgIGNvbnN0IG9uQ2hhbmdlSW5wdXQgPSAoXG4gICAgICBrZXk6IHN0cmluZyxcbiAgICAgIHt0YXJnZXQ6IHt2YWx1ZX19OiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MVGV4dEFyZWFFbGVtZW50IHwgSFRNTElucHV0RWxlbWVudD5cbiAgICApID0+IHtcbiAgICAgIG9uU2V0TWFwSW5mbyh7W2tleV06IHZhbHVlfSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGNvbmZpcm1CdXR0b24gPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKHtcbiAgICAgICAgbGFyZ2U6IHRydWUsXG4gICAgICAgIGRpc2FibGVkOiBCb29sZWFuKCEocHJvdmlkZXIgJiYgbWFwSW5mby50aXRsZSkpLFxuICAgICAgICBjaGlsZHJlbjogJ21vZGFsLmJ1dHRvbi5zYXZlJ1xuICAgICAgfSksXG4gICAgICBbcHJvdmlkZXIsIG1hcEluZm9dXG4gICAgKTtcblxuICAgIGNvbnN0IGNvbmZpcm0gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAocHJvdmlkZXIpIHtcbiAgICAgICAgb25Db25maXJtKHByb3ZpZGVyKTtcbiAgICAgIH1cbiAgICB9LCBbb25Db25maXJtLCBwcm92aWRlcl0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxJbWFnZU1vZGFsQ29udGFpbmVyXG4gICAgICAgIHByb3ZpZGVyPXtwcm92aWRlcn1cbiAgICAgICAgb25VcGRhdGVJbWFnZVNldHRpbmc9e29uVXBkYXRlSW1hZ2VTZXR0aW5nfVxuICAgICAgICBjbGVhbnVwRXhwb3J0SW1hZ2U9e2NsZWFudXBFeHBvcnRJbWFnZX1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZFNhdmVNYXBNb2RhbD5cbiAgICAgICAgICA8U3R5bGVkTW9kYWxDb250ZW50IGNsYXNzTmFtZT1cInNhdmUtbWFwLW1vZGFsLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxTYXZlTWFwSGVhZGVyIGNsb3VkUHJvdmlkZXJzPXtjbG91ZFByb3ZpZGVyc30gLz5cbiAgICAgICAgICAgIHtwcm92aWRlciAmJiAoXG4gICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAge3Byb3ZpZGVyLmdldE1hbmFnZW1lbnRVcmwgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkRXhwb3J0U2VjdGlvbiBzdHlsZT17U1RZTEVEX0VYUE9SVF9TRUNUSU9OX1NUWUxFfT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzZWxlY3Rpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXsxfVxuICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj17cHJvdmlkZXIuZ2V0TWFuYWdlbWVudFVybCgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e1BST1ZJREVSX01BTkFHRVJfVVJMX1NUWUxFfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIHlvdXIgS2VwbGVyLmdsIHtwcm92aWRlci5kaXNwbGF5TmFtZX0gcGFnZVxuICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZEV4cG9ydFNlY3Rpb24+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgPFN0eWxlZENvbXBhY3RFeHBvcnRTZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXNjcmlwdGlvbiBpbWFnZS1wcmV2aWV3LXBhbmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxJbWFnZVByZXZpZXdcbiAgICAgICAgICAgICAgICAgICAgICBleHBvcnRJbWFnZT17ZXhwb3J0SW1hZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg9e01BUF9USFVNQk5BSUxfRElNRU5TSU9OLndpZHRofVxuICAgICAgICAgICAgICAgICAgICAgIHNob3dEaW1lbnNpb249e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICB7aXNQcm92aWRlckxvYWRpbmcgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZHMucHJvdmlkZXJMb2FkaW5nfVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInNlbGVjdGlvbiBtYXAtc2F2aW5nLWFuaW1hdGlvblwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8VXBsb2FkQW5pbWF0aW9uIGljb249e3Byb3ZpZGVyICYmIHByb3ZpZGVyLmljb259IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgPE1hcEluZm9QYW5lbFxuICAgICAgICAgICAgICAgICAgICAgIG1hcEluZm89e21hcEluZm99XG4gICAgICAgICAgICAgICAgICAgICAgY2hhcmFjdGVyTGltaXRzPXtjaGFyYWN0ZXJMaW1pdHN9XG4gICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2VJbnB1dD17b25DaGFuZ2VJbnB1dH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRDb21wYWN0RXhwb3J0U2VjdGlvbj5cbiAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAge3Byb3ZpZGVyRXJyb3IgPyAoXG4gICAgICAgICAgICAgIDxTdGF0dXNQYW5lbFxuICAgICAgICAgICAgICAgIGlzTG9hZGluZz17ZmFsc2V9XG4gICAgICAgICAgICAgICAgZXJyb3I9e3Byb3ZpZGVyRXJyb3IubWVzc2FnZX1cbiAgICAgICAgICAgICAgICBwcm92aWRlckljb249e3Byb3ZpZGVyICYmIHByb3ZpZGVyLmljb259XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L1N0eWxlZE1vZGFsQ29udGVudD5cbiAgICAgICAgPC9TdHlsZWRTYXZlTWFwTW9kYWw+XG4gICAgICAgIDxNb2RhbEZvb3RlciBjYW5jZWw9e29uQ2FuY2VsfSBjb25maXJtPXtjb25maXJtfSBjb25maXJtQnV0dG9uPXtjb25maXJtQnV0dG9ufSAvPlxuICAgICAgPC9JbWFnZU1vZGFsQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIFNhdmVNYXBNb2RhbDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgU2F2ZU1hcE1vZGFsRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxvQkFBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksY0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssWUFBQSxHQUFBTix1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU0sZUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sVUFBQSxHQUFBUCxPQUFBO0FBT0EsSUFBQVEsa0JBQUEsR0FBQVIsT0FBQTtBQVFBLElBQUFTLGFBQUEsR0FBQVAsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFVLGFBQUEsR0FBQVYsT0FBQTtBQUlBLElBQUFXLE1BQUEsR0FBQVgsT0FBQTtBQUNBLElBQUFZLHNCQUFBLEdBQUFaLE9BQUE7QUFBc0UsSUFBQWEsZUFBQSxFQUFBQyxnQkFBQSxF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
@@ -71,37 +71,50 @@ var TilesetVectorForm = function TilesetVectorForm(_ref2) {
71
71
  }, [setMetadataUrl]);
72
72
  var onTileUrlChange = (0, _react.useCallback)( /*#__PURE__*/function () {
73
73
  var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(event) {
74
- var newTileUrl, potentialMetadataUrl, resp;
74
+ var newTileUrl, usePMTiles, potentialMetadataUrl, resp;
75
75
  return _regenerator["default"].wrap(function _callee$(_context) {
76
76
  while (1) switch (_context.prev = _context.next) {
77
77
  case 0:
78
78
  event.preventDefault();
79
79
  newTileUrl = event.target.value;
80
80
  setTileUrl(newTileUrl);
81
- potentialMetadataUrl = isPMTilesUrl(newTileUrl) ? newTileUrl : (0, _table.getMetaUrl)(newTileUrl);
81
+ usePMTiles = isPMTilesUrl(newTileUrl);
82
+ potentialMetadataUrl = usePMTiles ? newTileUrl : (0, _table.getMetaUrl)(newTileUrl);
82
83
  if (!(!metadataUrl && potentialMetadataUrl)) {
83
- _context.next = 11;
84
+ _context.next = 17;
84
85
  break;
85
86
  }
86
- _context.next = 7;
87
+ if (!usePMTiles) {
88
+ _context.next = 10;
89
+ break;
90
+ }
91
+ _context.t0 = {
92
+ ok: true
93
+ };
94
+ _context.next = 13;
95
+ break;
96
+ case 10:
97
+ _context.next = 12;
87
98
  return fetch(potentialMetadataUrl);
88
- case 7:
89
- resp = _context.sent;
99
+ case 12:
100
+ _context.t0 = _context.sent;
101
+ case 13:
102
+ resp = _context.t0;
90
103
  if (resp.ok) {
91
104
  setInitialFetchError(null);
92
105
  setMetadataUrl(potentialMetadataUrl);
93
106
  } else {
94
107
  setInitialFetchError(new Error("Metadata loading failed: ".concat(resp.status, " ").concat(resp.statusText)));
95
108
  }
96
- _context.next = 12;
109
+ _context.next = 18;
97
110
  break;
98
- case 11:
111
+ case 17:
99
112
  setInitialFetchError(null);
100
- case 12:
113
+ case 18:
101
114
  if (!tileName) {
102
115
  setTileName(newTileUrl.split('/').pop() || newTileUrl);
103
116
  }
104
- case 13:
117
+ case 19:
105
118
  case "end":
106
119
  return _context.stop();
107
120
  }
@@ -119,13 +132,19 @@ var TilesetVectorForm = function TilesetVectorForm(_ref2) {
119
132
  };
120
133
  }, [metadataUrl]);
121
134
  var _useFetchVectorTileMe = (0, _useFetchVectorTileMetadata["default"])({
122
- url: metadataUrl,
135
+ metadataUrl: metadataUrl,
136
+ tilesetUrl: tileUrl,
123
137
  remoteTileFormat: isPMTilesUrl(metadataUrl) ? _constants.RemoteTileFormat.PMTILES : _constants.RemoteTileFormat.MVT,
124
138
  process: process
125
139
  }),
126
140
  metadata = _useFetchVectorTileMe.data,
127
141
  loading = _useFetchVectorTileMe.loading,
128
142
  metaError = _useFetchVectorTileMe.error;
143
+
144
+ // reset initial fetch error if the metadata is available
145
+ if (metadata && initialFetchError) {
146
+ setInitialFetchError(null);
147
+ }
129
148
  (0, _react.useEffect)(function () {
130
149
  if (tileName && tileUrl) {
131
150
  var dataset = getDatasetAttributesFromVectorTile({
@@ -177,4 +196,4 @@ var TilesetVectorForm = function TilesetVectorForm(_ref2) {
177
196
  }), /*#__PURE__*/_react["default"].createElement(TilesetInputDescription, null, "Optional, but recommended. Supports json, txt")));
178
197
  };
179
198
  var _default = exports["default"] = TilesetVectorForm;
180
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY29uc3RhbnRzIiwiX3RhYmxlIiwiX3VzZUZldGNoVmVjdG9yVGlsZU1ldGFkYXRhIiwiX2NvbW1vbiIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJUaWxlc2V0SW5wdXRDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIlRpbGVzZXRJbnB1dERlc2NyaXB0aW9uIiwicHJvcHMiLCJ0aGVtZSIsIkFaVVJFMjAwIiwiaXNQTVRpbGVzVXJsIiwidXJsIiwiaW5jbHVkZXMiLCJnZXREYXRhc2V0QXR0cmlidXRlc0Zyb21WZWN0b3JUaWxlIiwiX3JlZiIsIm5hbWUiLCJkYXRhVXJsIiwibWV0YWRhdGFVcmwiLCJ0eXBlIiwiRGF0YXNldFR5cGUiLCJWRUNUT1JfVElMRSIsIm1ldGFkYXRhIiwiUkVNT1RFX1RJTEUiLCJyZW1vdGVUaWxlRm9ybWF0IiwiUmVtb3RlVGlsZUZvcm1hdCIsIlBNVElMRVMiLCJNVlQiLCJ0aWxlc2V0RGF0YVVybCIsInRpbGVzZXRNZXRhZGF0YVVybCIsIlRpbGVzZXRWZWN0b3JGb3JtIiwiX3JlZjIiLCJzZXRSZXNwb25zZSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInRpbGVOYW1lIiwic2V0VGlsZU5hbWUiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInRpbGVVcmwiLCJzZXRUaWxlVXJsIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzZXRNZXRhZGF0YVVybCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiaW5pdGlhbEZldGNoRXJyb3IiLCJzZXRJbml0aWFsRmV0Y2hFcnJvciIsIm9uVGlsZU5hbWVDaGFuZ2UiLCJ1c2VDYWxsYmFjayIsImV2ZW50IiwicHJldmVudERlZmF1bHQiLCJ0YXJnZXQiLCJ2YWx1ZSIsIm9uVGlsZU1ldGFVcmxDaGFuZ2UiLCJvblRpbGVVcmxDaGFuZ2UiLCJfcmVmMyIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwibmV3VGlsZVVybCIsInBvdGVudGlhbE1ldGFkYXRhVXJsIiwicmVzcCIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJnZXRNZXRhVXJsIiwiZmV0Y2giLCJzZW50Iiwib2siLCJFcnJvciIsImNvbmNhdCIsInN0YXR1cyIsInN0YXR1c1RleHQiLCJzcGxpdCIsInBvcCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwicHJvY2VzcyIsInVzZU1lbW8iLCJwYXJzZVZlY3Rvck1ldGFkYXRhIiwiX3VzZUZldGNoVmVjdG9yVGlsZU1lIiwidXNlRmV0Y2hWZWN0b3JUaWxlTWV0YWRhdGEiLCJkYXRhIiwibG9hZGluZyIsIm1ldGFFcnJvciIsImVycm9yIiwidXNlRWZmZWN0IiwiZGF0YXNldCIsInVuZGVmaW5lZCIsImNyZWF0ZUVsZW1lbnQiLCJodG1sRm9yIiwiSW5wdXRMaWdodCIsImlkIiwicGxhY2Vob2xkZXIiLCJvbkNoYW5nZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbHMvdGlsZXNldHMtbW9kYWxzL3RpbGVzZXQtdmVjdG9yLWZvcm0udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVN0YXRlLCB1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IHtcbiAgRGF0YXNldFR5cGUsXG4gIFJlbW90ZVRpbGVGb3JtYXQsXG4gIFZlY3RvclRpbGVEYXRhc2V0TWV0YWRhdGEsXG4gIFJFTU9URV9USUxFXG59IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7VGlsZUpTT059IGZyb20gJ0Bsb2FkZXJzLmdsL212dCc7XG5pbXBvcnQge1BNVGlsZXNNZXRhZGF0YX0gZnJvbSAnQGxvYWRlcnMuZ2wvcG10aWxlcyc7XG5pbXBvcnQge2dldE1ldGFVcmwsIHBhcnNlVmVjdG9yTWV0YWRhdGEsIFZlY3RvclRpbGVNZXRhZGF0YX0gZnJvbSAnQGtlcGxlci5nbC90YWJsZSc7XG5pbXBvcnQge01lcmdlfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuaW1wb3J0IHtkZWZhdWx0IGFzIHVzZUZldGNoVmVjdG9yVGlsZU1ldGFkYXRhfSBmcm9tICcuLi8uLi9ob29rcy91c2UtZmV0Y2gtdmVjdG9yLXRpbGUtbWV0YWRhdGEnO1xuaW1wb3J0IHtEYXRhc2V0Q3JlYXRpb25BdHRyaWJ1dGVzLCBNZXRhUmVzcG9uc2V9IGZyb20gJy4vY29tbW9uJztcbmltcG9ydCB7SW5wdXRMaWdodH0gZnJvbSAnLi4vLi4vY29tbW9uJztcblxuY29uc3QgVGlsZXNldElucHV0Q29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMywgMWZyKTtcbiAgcm93LWdhcDogMThweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuYDtcblxuY29uc3QgVGlsZXNldElucHV0RGVzY3JpcHRpb24gPSBzdHlsZWQuZGl2YFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLkFaVVJFMjAwfTtcbiAgZm9udC1zaXplOiAxMXB4O1xuYDtcblxuZXhwb3J0IHR5cGUgVmVjdG9yVGlsZXNldEZvcm1EYXRhID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRhdGFVcmw6IHN0cmluZztcbiAgbWV0YWRhdGFVcmw/OiBzdHJpbmc7XG59O1xuXG5jb25zdCBpc1BNVGlsZXNVcmwgPSAodXJsPzogc3RyaW5nIHwgbnVsbCkgPT4gdXJsPy5pbmNsdWRlcygnLnBtdGlsZXMnKTtcblxuZXhwb3J0IHR5cGUgVmVjdG9yVGlsZURhdGFzZXRDcmVhdGlvbkF0dHJpYnV0ZXMgPSBNZXJnZTxcbiAgRGF0YXNldENyZWF0aW9uQXR0cmlidXRlcyxcbiAge1xuICAgIG1ldGFkYXRhOiBWZWN0b3JUaWxlRGF0YXNldE1ldGFkYXRhO1xuICB9XG4+O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGF0YXNldEF0dHJpYnV0ZXNGcm9tVmVjdG9yVGlsZSh7XG4gIG5hbWUsXG4gIGRhdGFVcmwsXG4gIG1ldGFkYXRhVXJsXG59OiBWZWN0b3JUaWxlc2V0Rm9ybURhdGEpOiBWZWN0b3JUaWxlRGF0YXNldENyZWF0aW9uQXR0cmlidXRlcyB7XG4gIHJldHVybiB7XG4gICAgbmFtZSxcbiAgICB0eXBlOiBEYXRhc2V0VHlwZS5WRUNUT1JfVElMRSxcbiAgICBtZXRhZGF0YToge1xuICAgICAgdHlwZTogUkVNT1RFX1RJTEUsXG4gICAgICByZW1vdGVUaWxlRm9ybWF0OiBpc1BNVGlsZXNVcmwoZGF0YVVybCkgPyBSZW1vdGVUaWxlRm9ybWF0LlBNVElMRVMgOiBSZW1vdGVUaWxlRm9ybWF0Lk1WVCxcbiAgICAgIHRpbGVzZXREYXRhVXJsOiBkYXRhVXJsLFxuICAgICAgdGlsZXNldE1ldGFkYXRhVXJsOiBtZXRhZGF0YVVybFxuICAgIH1cbiAgfTtcbn1cblxudHlwZSBUaWxlc2V0VmVjdG9yRm9ybVByb3BzID0ge1xuICBzZXRSZXNwb25zZTogKHJlc3BvbnNlOiBNZXRhUmVzcG9uc2UpID0+IHZvaWQ7XG59O1xuXG5jb25zdCBUaWxlc2V0VmVjdG9yRm9ybTogUmVhY3QuRkM8VGlsZXNldFZlY3RvckZvcm1Qcm9wcz4gPSAoe3NldFJlc3BvbnNlfSkgPT4ge1xuICBjb25zdCBbdGlsZU5hbWUsIHNldFRpbGVOYW1lXSA9IHVzZVN0YXRlPHN0cmluZz4oJycpO1xuICBjb25zdCBbdGlsZVVybCwgc2V0VGlsZVVybF0gPSB1c2VTdGF0ZTxzdHJpbmc+KCcnKTtcbiAgY29uc3QgW21ldGFkYXRhVXJsLCBzZXRNZXRhZGF0YVVybF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPignJyk7XG4gIGNvbnN0IFtpbml0aWFsRmV0Y2hFcnJvciwgc2V0SW5pdGlhbEZldGNoRXJyb3JdID0gdXNlU3RhdGU8RXJyb3IgfCBudWxsPihudWxsKTtcblxuICBjb25zdCBvblRpbGVOYW1lQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50OiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHNldFRpbGVOYW1lKGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gICAgfSxcbiAgICBbc2V0VGlsZU5hbWVdXG4gICk7XG5cbiAgY29uc3Qgb25UaWxlTWV0YVVybENoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBzZXRNZXRhZGF0YVVybChldmVudC50YXJnZXQudmFsdWUpO1xuICAgIH0sXG4gICAgW3NldE1ldGFkYXRhVXJsXVxuICApO1xuXG4gIGNvbnN0IG9uVGlsZVVybENoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChldmVudDogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCBuZXdUaWxlVXJsID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgICAgc2V0VGlsZVVybChuZXdUaWxlVXJsKTtcbiAgICAgIGNvbnN0IHBvdGVudGlhbE1ldGFkYXRhVXJsID0gaXNQTVRpbGVzVXJsKG5ld1RpbGVVcmwpID8gbmV3VGlsZVVybCA6IGdldE1ldGFVcmwobmV3VGlsZVVybCk7XG4gICAgICBpZiAoIW1ldGFkYXRhVXJsICYmIHBvdGVudGlhbE1ldGFkYXRhVXJsKSB7XG4gICAgICAgIC8vIGNoZWNrIGlmIFVSTCBleGlzdHMgYmVmb3JlIHNldHRpbmcgaXQgYXMgdGhlIG1ldGFkYXRhIFVSTFxuICAgICAgICBjb25zdCByZXNwID0gYXdhaXQgZmV0Y2gocG90ZW50aWFsTWV0YWRhdGFVcmwpO1xuICAgICAgICBpZiAocmVzcC5vaykge1xuICAgICAgICAgIHNldEluaXRpYWxGZXRjaEVycm9yKG51bGwpO1xuICAgICAgICAgIHNldE1ldGFkYXRhVXJsKHBvdGVudGlhbE1ldGFkYXRhVXJsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZXRJbml0aWFsRmV0Y2hFcnJvcihcbiAgICAgICAgICAgIG5ldyBFcnJvcihgTWV0YWRhdGEgbG9hZGluZyBmYWlsZWQ6ICR7cmVzcC5zdGF0dXN9ICR7cmVzcC5zdGF0dXNUZXh0fWApXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0SW5pdGlhbEZldGNoRXJyb3IobnVsbCk7XG4gICAgICB9XG4gICAgICBpZiAoIXRpbGVOYW1lKSB7XG4gICAgICAgIHNldFRpbGVOYW1lKG5ld1RpbGVVcmwuc3BsaXQoJy8nKS5wb3AoKSB8fCBuZXdUaWxlVXJsKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzZXRUaWxlVXJsLCB0aWxlTmFtZSwgc2V0TWV0YWRhdGFVcmwsIG1ldGFkYXRhVXJsXVxuICApO1xuXG4gIGNvbnN0IHByb2Nlc3MgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gKHZhbHVlOiBQTVRpbGVzTWV0YWRhdGEgfCBUaWxlSlNPTikgPT5cbiAgICAgIHBhcnNlVmVjdG9yTWV0YWRhdGEodmFsdWUsIHt0aWxlVXJsOiBtZXRhZGF0YVVybH0pO1xuICB9LCBbbWV0YWRhdGFVcmxdKTtcblxuICBjb25zdCB7XG4gICAgZGF0YTogbWV0YWRhdGEsXG4gICAgbG9hZGluZyxcbiAgICBlcnJvcjogbWV0YUVycm9yXG4gIH0gPSB1c2VGZXRjaFZlY3RvclRpbGVNZXRhZGF0YSh7XG4gICAgdXJsOiBtZXRhZGF0YVVybCxcbiAgICByZW1vdGVUaWxlRm9ybWF0OiBpc1BNVGlsZXNVcmwobWV0YWRhdGFVcmwpID8gUmVtb3RlVGlsZUZvcm1hdC5QTVRJTEVTIDogUmVtb3RlVGlsZUZvcm1hdC5NVlQsXG4gICAgcHJvY2Vzc1xuICB9KTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0aWxlTmFtZSAmJiB0aWxlVXJsKSB7XG4gICAgICBjb25zdCBkYXRhc2V0ID0gZ2V0RGF0YXNldEF0dHJpYnV0ZXNGcm9tVmVjdG9yVGlsZSh7XG4gICAgICAgIG5hbWU6IHRpbGVOYW1lLFxuICAgICAgICBkYXRhVXJsOiB0aWxlVXJsLFxuICAgICAgICBtZXRhZGF0YVVybDogbWV0YWRhdGFVcmwgPz8gdW5kZWZpbmVkXG4gICAgICB9KTtcbiAgICAgIHNldFJlc3BvbnNlKHtcbiAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgIGRhdGFzZXQsXG4gICAgICAgIGxvYWRpbmcsXG4gICAgICAgIGVycm9yOiBtZXRhRXJyb3IgfHwgaW5pdGlhbEZldGNoRXJyb3JcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRSZXNwb25zZSh7XG4gICAgICAgIG1ldGFkYXRhLFxuICAgICAgICBkYXRhc2V0OiBudWxsLFxuICAgICAgICBsb2FkaW5nLFxuICAgICAgICBlcnJvcjogbWV0YUVycm9yIHx8IGluaXRpYWxGZXRjaEVycm9yXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtcbiAgICBzZXRSZXNwb25zZSxcbiAgICBtZXRhZGF0YSxcbiAgICBsb2FkaW5nLFxuICAgIG1ldGFFcnJvcixcbiAgICBpbml0aWFsRmV0Y2hFcnJvcixcbiAgICB0aWxlVXJsLFxuICAgIHRpbGVOYW1lLFxuICAgIG1ldGFkYXRhVXJsXG4gIF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG1ldGFkYXRhKSB7XG4gICAgICBzZXRUaWxlTmFtZSgobWV0YWRhdGEgYXMgVmVjdG9yVGlsZU1ldGFkYXRhKS5uYW1lIHx8ICcnKTtcbiAgICB9XG4gIH0sIFttZXRhZGF0YV0pO1xuXG4gIHJldHVybiAoXG4gICAgPFRpbGVzZXRJbnB1dENvbnRhaW5lcj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxsYWJlbCBodG1sRm9yPVwidGlsZXNldC1uYW1lXCI+TmFtZTwvbGFiZWw+XG4gICAgICAgIDxJbnB1dExpZ2h0XG4gICAgICAgICAgaWQ9XCJ0aWxlLW5hbWVcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTmFtZSB5b3VyIHRpbGVzZXRcIlxuICAgICAgICAgIHZhbHVlPXt0aWxlTmFtZX1cbiAgICAgICAgICBvbkNoYW5nZT17b25UaWxlTmFtZUNoYW5nZX1cbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGxhYmVsIGh0bWxGb3I9XCJ0aWxlLXVybFwiPlRpbGVzZXQgVVJMPC9sYWJlbD5cbiAgICAgICAgPElucHV0TGlnaHRcbiAgICAgICAgICBpZD1cInRpbGUtdXJsXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIlRpbGVzZXQgVVJMXCJcbiAgICAgICAgICB2YWx1ZT17dGlsZVVybH1cbiAgICAgICAgICBvbkNoYW5nZT17b25UaWxlVXJsQ2hhbmdlfVxuICAgICAgICAvPlxuICAgICAgICA8VGlsZXNldElucHV0RGVzY3JpcHRpb24+XG4gICAgICAgICAgUmVxdWlyZXMgJiMxMjM7eCYjMTI1OywgJiMxMjM7eSYjMTI1OywgJiMxMjM7eiYjMTI1OyBwbGFjZWhvbGRlcnMgaW4gVVJMIG9yIC5wbXRpbGVcbiAgICAgICAgICBleHRlbnNpb24uXG4gICAgICAgIDwvVGlsZXNldElucHV0RGVzY3JpcHRpb24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxsYWJlbCBodG1sRm9yPVwidGlsZS1tZXRhZGF0YVwiPlRpbGVzZXQgbWV0YWRhdGEgVVJMPC9sYWJlbD5cbiAgICAgICAgPElucHV0TGlnaHRcbiAgICAgICAgICBpZD1cInRpbGUtbWV0YWRhdGFcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiVGlsZXNldCBtZXRhZGF0YVwiXG4gICAgICAgICAgdmFsdWU9e21ldGFkYXRhVXJsID8/IHVuZGVmaW5lZH1cbiAgICAgICAgICBvbkNoYW5nZT17b25UaWxlTWV0YVVybENoYW5nZX1cbiAgICAgICAgLz5cbiAgICAgICAgPFRpbGVzZXRJbnB1dERlc2NyaXB0aW9uPlxuICAgICAgICAgIE9wdGlvbmFsLCBidXQgcmVjb21tZW5kZWQuIFN1cHBvcnRzIGpzb24sIHR4dFxuICAgICAgICA8L1RpbGVzZXRJbnB1dERlc2NyaXB0aW9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9UaWxlc2V0SW5wdXRDb250YWluZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBUaWxlc2V0VmVjdG9yRm9ybTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBRyxVQUFBLEdBQUFILE9BQUE7QUFRQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFHQSxJQUFBSywyQkFBQSxHQUFBSCxzQkFBQSxD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
199
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY29uc3RhbnRzIiwiX3RhYmxlIiwiX3VzZUZldGNoVmVjdG9yVGlsZU1ldGFkYXRhIiwiX2NvbW1vbiIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJUaWxlc2V0SW5wdXRDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIlRpbGVzZXRJbnB1dERlc2NyaXB0aW9uIiwicHJvcHMiLCJ0aGVtZSIsIkFaVVJFMjAwIiwiaXNQTVRpbGVzVXJsIiwidXJsIiwiaW5jbHVkZXMiLCJnZXREYXRhc2V0QXR0cmlidXRlc0Zyb21WZWN0b3JUaWxlIiwiX3JlZiIsIm5hbWUiLCJkYXRhVXJsIiwibWV0YWRhdGFVcmwiLCJ0eXBlIiwiRGF0YXNldFR5cGUiLCJWRUNUT1JfVElMRSIsIm1ldGFkYXRhIiwiUkVNT1RFX1RJTEUiLCJyZW1vdGVUaWxlRm9ybWF0IiwiUmVtb3RlVGlsZUZvcm1hdCIsIlBNVElMRVMiLCJNVlQiLCJ0aWxlc2V0RGF0YVVybCIsInRpbGVzZXRNZXRhZGF0YVVybCIsIlRpbGVzZXRWZWN0b3JGb3JtIiwiX3JlZjIiLCJzZXRSZXNwb25zZSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInRpbGVOYW1lIiwic2V0VGlsZU5hbWUiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInRpbGVVcmwiLCJzZXRUaWxlVXJsIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJzZXRNZXRhZGF0YVVybCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiaW5pdGlhbEZldGNoRXJyb3IiLCJzZXRJbml0aWFsRmV0Y2hFcnJvciIsIm9uVGlsZU5hbWVDaGFuZ2UiLCJ1c2VDYWxsYmFjayIsImV2ZW50IiwicHJldmVudERlZmF1bHQiLCJ0YXJnZXQiLCJ2YWx1ZSIsIm9uVGlsZU1ldGFVcmxDaGFuZ2UiLCJvblRpbGVVcmxDaGFuZ2UiLCJfcmVmMyIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwibmV3VGlsZVVybCIsInVzZVBNVGlsZXMiLCJwb3RlbnRpYWxNZXRhZGF0YVVybCIsInJlc3AiLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiZ2V0TWV0YVVybCIsInQwIiwib2siLCJmZXRjaCIsInNlbnQiLCJFcnJvciIsImNvbmNhdCIsInN0YXR1cyIsInN0YXR1c1RleHQiLCJzcGxpdCIsInBvcCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwicHJvY2VzcyIsInVzZU1lbW8iLCJwYXJzZVZlY3Rvck1ldGFkYXRhIiwiX3VzZUZldGNoVmVjdG9yVGlsZU1lIiwidXNlRmV0Y2hWZWN0b3JUaWxlTWV0YWRhdGEiLCJ0aWxlc2V0VXJsIiwiZGF0YSIsImxvYWRpbmciLCJtZXRhRXJyb3IiLCJlcnJvciIsInVzZUVmZmVjdCIsImRhdGFzZXQiLCJ1bmRlZmluZWQiLCJjcmVhdGVFbGVtZW50IiwiaHRtbEZvciIsIklucHV0TGlnaHQiLCJpZCIsInBsYWNlaG9sZGVyIiwib25DaGFuZ2UiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kYWxzL3RpbGVzZXRzLW1vZGFscy90aWxlc2V0LXZlY3Rvci1mb3JtLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VTdGF0ZSwgdXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCB7XG4gIERhdGFzZXRUeXBlLFxuICBSZW1vdGVUaWxlRm9ybWF0LFxuICBWZWN0b3JUaWxlRGF0YXNldE1ldGFkYXRhLFxuICBSRU1PVEVfVElMRVxufSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge1RpbGVKU09OfSBmcm9tICdAbG9hZGVycy5nbC9tdnQnO1xuaW1wb3J0IHtQTVRpbGVzTWV0YWRhdGF9IGZyb20gJ0Bsb2FkZXJzLmdsL3BtdGlsZXMnO1xuaW1wb3J0IHtnZXRNZXRhVXJsLCBwYXJzZVZlY3Rvck1ldGFkYXRhLCBWZWN0b3JUaWxlTWV0YWRhdGF9IGZyb20gJ0BrZXBsZXIuZ2wvdGFibGUnO1xuaW1wb3J0IHtNZXJnZX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cbmltcG9ydCB7ZGVmYXVsdCBhcyB1c2VGZXRjaFZlY3RvclRpbGVNZXRhZGF0YX0gZnJvbSAnLi4vLi4vaG9va3MvdXNlLWZldGNoLXZlY3Rvci10aWxlLW1ldGFkYXRhJztcbmltcG9ydCB7RGF0YXNldENyZWF0aW9uQXR0cmlidXRlcywgTWV0YVJlc3BvbnNlfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQge0lucHV0TGlnaHR9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5cbmNvbnN0IFRpbGVzZXRJbnB1dENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDMsIDFmcik7XG4gIHJvdy1nYXA6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbmA7XG5cbmNvbnN0IFRpbGVzZXRJbnB1dERlc2NyaXB0aW9uID0gc3R5bGVkLmRpdmBcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5BWlVSRTIwMH07XG4gIGZvbnQtc2l6ZTogMTFweDtcbmA7XG5cbmV4cG9ydCB0eXBlIFZlY3RvclRpbGVzZXRGb3JtRGF0YSA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBkYXRhVXJsOiBzdHJpbmc7XG4gIG1ldGFkYXRhVXJsPzogc3RyaW5nO1xufTtcblxuY29uc3QgaXNQTVRpbGVzVXJsID0gKHVybD86IHN0cmluZyB8IG51bGwpID0+IHVybD8uaW5jbHVkZXMoJy5wbXRpbGVzJyk7XG5cbmV4cG9ydCB0eXBlIFZlY3RvclRpbGVEYXRhc2V0Q3JlYXRpb25BdHRyaWJ1dGVzID0gTWVyZ2U8XG4gIERhdGFzZXRDcmVhdGlvbkF0dHJpYnV0ZXMsXG4gIHtcbiAgICBtZXRhZGF0YTogVmVjdG9yVGlsZURhdGFzZXRNZXRhZGF0YTtcbiAgfVxuPjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldERhdGFzZXRBdHRyaWJ1dGVzRnJvbVZlY3RvclRpbGUoe1xuICBuYW1lLFxuICBkYXRhVXJsLFxuICBtZXRhZGF0YVVybFxufTogVmVjdG9yVGlsZXNldEZvcm1EYXRhKTogVmVjdG9yVGlsZURhdGFzZXRDcmVhdGlvbkF0dHJpYnV0ZXMge1xuICByZXR1cm4ge1xuICAgIG5hbWUsXG4gICAgdHlwZTogRGF0YXNldFR5cGUuVkVDVE9SX1RJTEUsXG4gICAgbWV0YWRhdGE6IHtcbiAgICAgIHR5cGU6IFJFTU9URV9USUxFLFxuICAgICAgcmVtb3RlVGlsZUZvcm1hdDogaXNQTVRpbGVzVXJsKGRhdGFVcmwpID8gUmVtb3RlVGlsZUZvcm1hdC5QTVRJTEVTIDogUmVtb3RlVGlsZUZvcm1hdC5NVlQsXG4gICAgICB0aWxlc2V0RGF0YVVybDogZGF0YVVybCxcbiAgICAgIHRpbGVzZXRNZXRhZGF0YVVybDogbWV0YWRhdGFVcmxcbiAgICB9XG4gIH07XG59XG5cbnR5cGUgVGlsZXNldFZlY3RvckZvcm1Qcm9wcyA9IHtcbiAgc2V0UmVzcG9uc2U6IChyZXNwb25zZTogTWV0YVJlc3BvbnNlKSA9PiB2b2lkO1xufTtcblxuY29uc3QgVGlsZXNldFZlY3RvckZvcm06IFJlYWN0LkZDPFRpbGVzZXRWZWN0b3JGb3JtUHJvcHM+ID0gKHtzZXRSZXNwb25zZX0pID0+IHtcbiAgY29uc3QgW3RpbGVOYW1lLCBzZXRUaWxlTmFtZV0gPSB1c2VTdGF0ZTxzdHJpbmc+KCcnKTtcbiAgY29uc3QgW3RpbGVVcmwsIHNldFRpbGVVcmxdID0gdXNlU3RhdGU8c3RyaW5nPignJyk7XG4gIGNvbnN0IFttZXRhZGF0YVVybCwgc2V0TWV0YWRhdGFVcmxdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4oJycpO1xuICBjb25zdCBbaW5pdGlhbEZldGNoRXJyb3IsIHNldEluaXRpYWxGZXRjaEVycm9yXSA9IHVzZVN0YXRlPEVycm9yIHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3Qgb25UaWxlTmFtZUNoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBzZXRUaWxlTmFtZShldmVudC50YXJnZXQudmFsdWUpO1xuICAgIH0sXG4gICAgW3NldFRpbGVOYW1lXVxuICApO1xuXG4gIGNvbnN0IG9uVGlsZU1ldGFVcmxDaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgc2V0TWV0YWRhdGFVcmwoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB9LFxuICAgIFtzZXRNZXRhZGF0YVVybF1cbiAgKTtcblxuICBjb25zdCBvblRpbGVVcmxDaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgY29uc3QgbmV3VGlsZVVybCA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgIHNldFRpbGVVcmwobmV3VGlsZVVybCk7XG5cbiAgICAgIGNvbnN0IHVzZVBNVGlsZXMgPSBpc1BNVGlsZXNVcmwobmV3VGlsZVVybCk7XG4gICAgICBjb25zdCBwb3RlbnRpYWxNZXRhZGF0YVVybCA9IHVzZVBNVGlsZXMgPyBuZXdUaWxlVXJsIDogZ2V0TWV0YVVybChuZXdUaWxlVXJsKTtcbiAgICAgIGlmICghbWV0YWRhdGFVcmwgJiYgcG90ZW50aWFsTWV0YWRhdGFVcmwpIHtcbiAgICAgICAgLy8gY2hlY2sgaWYgVVJMIGV4aXN0cyBiZWZvcmUgc2V0dGluZyBpdCBhcyB0aGUgbWV0YWRhdGEgVVJMXG4gICAgICAgIC8vIE5vdGU6IFRoZSB7bWV0aG9kOiBIRUFEfSByZXF1ZXN0IG9mdGVuIGZhaWxzLCBsaWtlbHkgZHVlIHRvIGluZGl2aWR1YWwgc3RvcmFnZSBzZXR0aW5ncy5cbiAgICAgICAgY29uc3QgcmVzcCA9IHVzZVBNVGlsZXMgPyAoe29rOiB0cnVlfSBhcyBSZXNwb25zZSkgOiBhd2FpdCBmZXRjaChwb3RlbnRpYWxNZXRhZGF0YVVybCk7XG4gICAgICAgIGlmIChyZXNwLm9rKSB7XG4gICAgICAgICAgc2V0SW5pdGlhbEZldGNoRXJyb3IobnVsbCk7XG4gICAgICAgICAgc2V0TWV0YWRhdGFVcmwocG90ZW50aWFsTWV0YWRhdGFVcmwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNldEluaXRpYWxGZXRjaEVycm9yKFxuICAgICAgICAgICAgbmV3IEVycm9yKGBNZXRhZGF0YSBsb2FkaW5nIGZhaWxlZDogJHtyZXNwLnN0YXR1c30gJHtyZXNwLnN0YXR1c1RleHR9YClcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZXRJbml0aWFsRmV0Y2hFcnJvcihudWxsKTtcbiAgICAgIH1cbiAgICAgIGlmICghdGlsZU5hbWUpIHtcbiAgICAgICAgc2V0VGlsZU5hbWUobmV3VGlsZVVybC5zcGxpdCgnLycpLnBvcCgpIHx8IG5ld1RpbGVVcmwpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW3NldFRpbGVVcmwsIHRpbGVOYW1lLCBzZXRNZXRhZGF0YVVybCwgbWV0YWRhdGFVcmxdXG4gICk7XG5cbiAgY29uc3QgcHJvY2VzcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiAodmFsdWU6IFBNVGlsZXNNZXRhZGF0YSB8IFRpbGVKU09OKSA9PlxuICAgICAgcGFyc2VWZWN0b3JNZXRhZGF0YSh2YWx1ZSwge3RpbGVVcmw6IG1ldGFkYXRhVXJsfSk7XG4gIH0sIFttZXRhZGF0YVVybF0pO1xuXG4gIGNvbnN0IHtcbiAgICBkYXRhOiBtZXRhZGF0YSxcbiAgICBsb2FkaW5nLFxuICAgIGVycm9yOiBtZXRhRXJyb3JcbiAgfSA9IHVzZUZldGNoVmVjdG9yVGlsZU1ldGFkYXRhKHtcbiAgICBtZXRhZGF0YVVybCxcbiAgICB0aWxlc2V0VXJsOiB0aWxlVXJsLFxuICAgIHJlbW90ZVRpbGVGb3JtYXQ6IGlzUE1UaWxlc1VybChtZXRhZGF0YVVybCkgPyBSZW1vdGVUaWxlRm9ybWF0LlBNVElMRVMgOiBSZW1vdGVUaWxlRm9ybWF0Lk1WVCxcbiAgICBwcm9jZXNzXG4gIH0pO1xuXG4gIC8vIHJlc2V0IGluaXRpYWwgZmV0Y2ggZXJyb3IgaWYgdGhlIG1ldGFkYXRhIGlzIGF2YWlsYWJsZVxuICBpZiAobWV0YWRhdGEgJiYgaW5pdGlhbEZldGNoRXJyb3IpIHtcbiAgICBzZXRJbml0aWFsRmV0Y2hFcnJvcihudWxsKTtcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHRpbGVOYW1lICYmIHRpbGVVcmwpIHtcbiAgICAgIGNvbnN0IGRhdGFzZXQgPSBnZXREYXRhc2V0QXR0cmlidXRlc0Zyb21WZWN0b3JUaWxlKHtcbiAgICAgICAgbmFtZTogdGlsZU5hbWUsXG4gICAgICAgIGRhdGFVcmw6IHRpbGVVcmwsXG4gICAgICAgIG1ldGFkYXRhVXJsOiBtZXRhZGF0YVVybCA/PyB1bmRlZmluZWRcbiAgICAgIH0pO1xuICAgICAgc2V0UmVzcG9uc2Uoe1xuICAgICAgICBtZXRhZGF0YSxcbiAgICAgICAgZGF0YXNldCxcbiAgICAgICAgbG9hZGluZyxcbiAgICAgICAgZXJyb3I6IG1ldGFFcnJvciB8fCBpbml0aWFsRmV0Y2hFcnJvclxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFJlc3BvbnNlKHtcbiAgICAgICAgbWV0YWRhdGEsXG4gICAgICAgIGRhdGFzZXQ6IG51bGwsXG4gICAgICAgIGxvYWRpbmcsXG4gICAgICAgIGVycm9yOiBtZXRhRXJyb3IgfHwgaW5pdGlhbEZldGNoRXJyb3JcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW1xuICAgIHNldFJlc3BvbnNlLFxuICAgIG1ldGFkYXRhLFxuICAgIGxvYWRpbmcsXG4gICAgbWV0YUVycm9yLFxuICAgIGluaXRpYWxGZXRjaEVycm9yLFxuICAgIHRpbGVVcmwsXG4gICAgdGlsZU5hbWUsXG4gICAgbWV0YWRhdGFVcmxcbiAgXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobWV0YWRhdGEpIHtcbiAgICAgIHNldFRpbGVOYW1lKChtZXRhZGF0YSBhcyBWZWN0b3JUaWxlTWV0YWRhdGEpLm5hbWUgfHwgJycpO1xuICAgIH1cbiAgfSwgW21ldGFkYXRhXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8VGlsZXNldElucHV0Q29udGFpbmVyPlxuICAgICAgPGRpdj5cbiAgICAgICAgPGxhYmVsIGh0bWxGb3I9XCJ0aWxlc2V0LW5hbWVcIj5OYW1lPC9sYWJlbD5cbiAgICAgICAgPElucHV0TGlnaHRcbiAgICAgICAgICBpZD1cInRpbGUtbmFtZVwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJOYW1lIHlvdXIgdGlsZXNldFwiXG4gICAgICAgICAgdmFsdWU9e3RpbGVOYW1lfVxuICAgICAgICAgIG9uQ2hhbmdlPXtvblRpbGVOYW1lQ2hhbmdlfVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8bGFiZWwgaHRtbEZvcj1cInRpbGUtdXJsXCI+VGlsZXNldCBVUkw8L2xhYmVsPlxuICAgICAgICA8SW5wdXRMaWdodFxuICAgICAgICAgIGlkPVwidGlsZS11cmxcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiVGlsZXNldCBVUkxcIlxuICAgICAgICAgIHZhbHVlPXt0aWxlVXJsfVxuICAgICAgICAgIG9uQ2hhbmdlPXtvblRpbGVVcmxDaGFuZ2V9XG4gICAgICAgIC8+XG4gICAgICAgIDxUaWxlc2V0SW5wdXREZXNjcmlwdGlvbj5cbiAgICAgICAgICBSZXF1aXJlcyAmIzEyMzt4JiMxMjU7LCAmIzEyMzt5JiMxMjU7LCAmIzEyMzt6JiMxMjU7IHBsYWNlaG9sZGVycyBpbiBVUkwgb3IgLnBtdGlsZVxuICAgICAgICAgIGV4dGVuc2lvbi5cbiAgICAgICAgPC9UaWxlc2V0SW5wdXREZXNjcmlwdGlvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdj5cbiAgICAgICAgPGxhYmVsIGh0bWxGb3I9XCJ0aWxlLW1ldGFkYXRhXCI+VGlsZXNldCBtZXRhZGF0YSBVUkw8L2xhYmVsPlxuICAgICAgICA8SW5wdXRMaWdodFxuICAgICAgICAgIGlkPVwidGlsZS1tZXRhZGF0YVwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJUaWxlc2V0IG1ldGFkYXRhXCJcbiAgICAgICAgICB2YWx1ZT17bWV0YWRhdGFVcmwgPz8gdW5kZWZpbmVkfVxuICAgICAgICAgIG9uQ2hhbmdlPXtvblRpbGVNZXRhVXJsQ2hhbmdlfVxuICAgICAgICAvPlxuICAgICAgICA8VGlsZXNldElucHV0RGVzY3JpcHRpb24+XG4gICAgICAgICAgT3B0aW9uYWwsIGJ1dCByZWNvbW1lbmRlZC4gU3VwcG9ydHMganNvbiwgdHh0XG4gICAgICAgIDwvVGlsZXNldElucHV0RGVzY3JpcHRpb24+XG4gICAgICA8L2Rpdj5cbiAgICA8L1RpbGVzZXRJbnB1dENvbnRhaW5lcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFRpbGVzZXRWZWN0b3JGb3JtO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFHLFVBQUEsR0FBQUgsT0FBQTtBQVFBLElBQUFJLE1BQUEsR0FBQUosT0FBQTtBQUdBLElBQUFLLDJCQUFBLEdBQUFILHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBTSxPQUFBLEdBQUFOLE9BQUE7QUFBd0MsSUFBQU8sZUFBQSxFQUFBQyxnQkFBQSxFQW5CeEM7QUFDQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBWCx3QkFBQVcsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FB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
@@ -25,7 +25,7 @@ var PresetColorPalette = function PresetColorPalette(_ref) {
25
25
  return /*#__PURE__*/_react["default"].createElement(StyledColorColumn, {
26
26
  key: theme,
27
27
  className: "single-color-palette__column"
28
- }, (0, _d3Array.range)(1, ROWS + 1, 1).map(function (key, i) {
28
+ }, (0, _d3Array.range)(1, ROWS + 1, 1).map(function (key) {
29
29
  return /*#__PURE__*/_react["default"].createElement(StyledColorBlock, {
30
30
  className: "single-color-palette__block",
31
31
  style: {
@@ -42,4 +42,4 @@ var PresetColorPalette = function PresetColorPalette(_ref) {
42
42
  }));
43
43
  };
44
44
  var _default = exports["default"] = PresetColorPalette;
45
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2QzQXJyYXkiLCJfY29uc3RhbnRzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJQQUxFVFRFX0hFSUdIVCIsIlJPV1MiLCJTdHlsZWRDb2xvclBhbGV0dGUiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIlN0eWxlZENvbG9yQ29sdW1uIiwiU3R5bGVkQ29sb3JCbG9jayIsIlByZXNldENvbG9yUGFsZXR0ZSIsIl9yZWYiLCJ0aGVtZXMiLCJvblNlbGVjdENvbG9yIiwic2VsZWN0ZWRDb2xvciIsImNyZWF0ZUVsZW1lbnQiLCJtYXAiLCJ0aGVtZSIsImtleSIsImNsYXNzTmFtZSIsInJhbmdlIiwiaSIsInN0eWxlIiwiYmFja2dyb3VuZENvbG9yIiwiQ29sb3JzQnlUaGVtZSIsImJvcmRlckNvbG9yIiwidG9VcHBlckNhc2UiLCJjb25jYXQiLCJzZWxlY3RlZCIsIm9uQ2xpY2siLCJlIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvY29sb3ItcGFsZXR0ZS1wcmVzZXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7cmFuZ2V9IGZyb20gJ2QzLWFycmF5JztcblxuaW1wb3J0IHtDb2xvcnNCeVRoZW1lfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge0hleENvbG9yfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuY29uc3QgUEFMRVRURV9IRUlHSFQgPSAnOHB4JztcbmNvbnN0IFJPV1MgPSAyMjtcblxuY29uc3QgU3R5bGVkQ29sb3JQYWxldHRlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAxMnB4O1xuXG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkQ29sb3JDb2x1bW4gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbnR5cGUgU3R5bGVkQ29sb3JCbG9ja1Byb3BzID0ge1xuICBzZWxlY3RlZD86IGJvb2xlYW47XG59O1xuXG5jb25zdCBTdHlsZWRDb2xvckJsb2NrID0gc3R5bGVkLmRpdjxTdHlsZWRDb2xvckJsb2NrUHJvcHM+YFxuICBmbGV4LWdyb3c6IDE7XG4gIGhlaWdodDogJHtQQUxFVFRFX0hFSUdIVH07XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuYDtcblxuZXhwb3J0IHR5cGUgUHJlc2V0Q29sb3JQYWxldHRlUHJvcHMgPSB7XG4gIHRoZW1lczogc3RyaW5nW107XG4gIHNlbGVjdGVkQ29sb3I6IEhleENvbG9yO1xuICBvblNlbGVjdENvbG9yOiAoYzogSGV4Q29sb3IsIGU/OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxEaXZFbGVtZW50LCBNb3VzZUV2ZW50PikgPT4gdm9pZDtcbn07XG5cbmNvbnN0IFByZXNldENvbG9yUGFsZXR0ZTogUmVhY3QuRkM8UHJlc2V0Q29sb3JQYWxldHRlUHJvcHM+ID0gKHtcbiAgdGhlbWVzLFxuICBvblNlbGVjdENvbG9yLFxuICBzZWxlY3RlZENvbG9yXG59OiBQcmVzZXRDb2xvclBhbGV0dGVQcm9wcykgPT4gKFxuICA8U3R5bGVkQ29sb3JQYWxldHRlPlxuICAgIHt0aGVtZXMubWFwKHRoZW1lID0+IChcbiAgICAgIDxTdHlsZWRDb2xvckNvbHVtbiBrZXk9e3RoZW1lfSBjbGFzc05hbWU9XCJzaW5nbGUtY29sb3ItcGFsZXR0ZV9fY29sdW1uXCI+XG4gICAgICAgIHtyYW5nZSgxLCBST1dTICsgMSwgMSkubWFwKChrZXksIGkpID0+IChcbiAgICAgICAgICA8U3R5bGVkQ29sb3JCbG9ja1xuICAgICAgICAgICAgY2xhc3NOYW1lPVwic2luZ2xlLWNvbG9yLXBhbGV0dGVfX2Jsb2NrXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogQ29sb3JzQnlUaGVtZVt0aGVtZV1ba2V5XSxcbiAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRDb2xvciA9PT0gQ29sb3JzQnlUaGVtZVt0aGVtZV1ba2V5XS50b1VwcGVyQ2FzZSgpXG4gICAgICAgICAgICAgICAgICA/ICd3aGl0ZSdcbiAgICAgICAgICAgICAgICAgIDogQ29sb3JzQnlUaGVtZVt0aGVtZV1ba2V5XVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGtleT17YCR7dGhlbWV9XyR7a2V5fWB9XG4gICAgICAgICAgICBzZWxlY3RlZD17c2VsZWN0ZWRDb2xvciA9PT0gQ29sb3JzQnlUaGVtZVt0aGVtZV1ba2V5XS50b1VwcGVyQ2FzZSgpfVxuICAgICAgICAgICAgb25DbGljaz17ZSA9PiBvblNlbGVjdENvbG9yKENvbG9yc0J5VGhlbWVbdGhlbWVdW2tleV0sIGUpfVxuICAgICAgICAgIC8+XG4gICAgICAgICkpfVxuICAgICAgPC9TdHlsZWRDb2xvckNvbHVtbj5cbiAgICApKX1cbiAgPC9TdHlsZWRDb2xvclBhbGV0dGU+XG4pO1xuXG5leHBvcnQgZGVm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
45
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2QzQXJyYXkiLCJfY29uc3RhbnRzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJQQUxFVFRFX0hFSUdIVCIsIlJPV1MiLCJTdHlsZWRDb2xvclBhbGV0dGUiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIlN0eWxlZENvbG9yQ29sdW1uIiwiU3R5bGVkQ29sb3JCbG9jayIsIlByZXNldENvbG9yUGFsZXR0ZSIsIl9yZWYiLCJ0aGVtZXMiLCJvblNlbGVjdENvbG9yIiwic2VsZWN0ZWRDb2xvciIsImNyZWF0ZUVsZW1lbnQiLCJtYXAiLCJ0aGVtZSIsImtleSIsImNsYXNzTmFtZSIsInJhbmdlIiwic3R5bGUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJDb2xvcnNCeVRoZW1lIiwiYm9yZGVyQ29sb3IiLCJ0b1VwcGVyQ2FzZSIsImNvbmNhdCIsInNlbGVjdGVkIiwib25DbGljayIsImUiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2lkZS1wYW5lbC9sYXllci1wYW5lbC9jb2xvci1wYWxldHRlLXByZXNldC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtyYW5nZX0gZnJvbSAnZDMtYXJyYXknO1xuXG5pbXBvcnQge0NvbG9yc0J5VGhlbWV9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7SGV4Q29sb3J9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5jb25zdCBQQUxFVFRFX0hFSUdIVCA9ICc4cHgnO1xuY29uc3QgUk9XUyA9IDIyO1xuXG5jb25zdCBTdHlsZWRDb2xvclBhbGV0dGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDEycHg7XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRDb2xvckNvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxudHlwZSBTdHlsZWRDb2xvckJsb2NrUHJvcHMgPSB7XG4gIHNlbGVjdGVkPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFN0eWxlZENvbG9yQmxvY2sgPSBzdHlsZWQuZGl2PFN0eWxlZENvbG9yQmxvY2tQcm9wcz5gXG4gIGZsZXgtZ3JvdzogMTtcbiAgaGVpZ2h0OiAke1BBTEVUVEVfSEVJR0hUfTtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG5gO1xuXG5leHBvcnQgdHlwZSBQcmVzZXRDb2xvclBhbGV0dGVQcm9wcyA9IHtcbiAgdGhlbWVzOiBzdHJpbmdbXTtcbiAgc2VsZWN0ZWRDb2xvcjogSGV4Q29sb3I7XG4gIG9uU2VsZWN0Q29sb3I6IChjOiBIZXhDb2xvciwgZT86IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTERpdkVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB2b2lkO1xufTtcblxuY29uc3QgUHJlc2V0Q29sb3JQYWxldHRlOiBSZWFjdC5GQzxQcmVzZXRDb2xvclBhbGV0dGVQcm9wcz4gPSAoe1xuICB0aGVtZXMsXG4gIG9uU2VsZWN0Q29sb3IsXG4gIHNlbGVjdGVkQ29sb3Jcbn06IFByZXNldENvbG9yUGFsZXR0ZVByb3BzKSA9PiAoXG4gIDxTdHlsZWRDb2xvclBhbGV0dGU+XG4gICAge3RoZW1lcy5tYXAodGhlbWUgPT4gKFxuICAgICAgPFN0eWxlZENvbG9yQ29sdW1uIGtleT17dGhlbWV9IGNsYXNzTmFtZT1cInNpbmdsZS1jb2xvci1wYWxldHRlX19jb2x1bW5cIj5cbiAgICAgICAge3JhbmdlKDEsIFJPV1MgKyAxLCAxKS5tYXAoa2V5ID0+IChcbiAgICAgICAgICA8U3R5bGVkQ29sb3JCbG9ja1xuICAgICAgICAgICAgY2xhc3NOYW1lPVwic2luZ2xlLWNvbG9yLXBhbGV0dGVfX2Jsb2NrXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogQ29sb3JzQnlUaGVtZVt0aGVtZV1ba2V5XSxcbiAgICAgICAgICAgICAgYm9yZGVyQ29sb3I6XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRDb2xvciA9PT0gQ29sb3JzQnlUaGVtZVt0aGVtZV1ba2V5XS50b1VwcGVyQ2FzZSgpXG4gICAgICAgICAgICAgICAgICA/ICd3aGl0ZSdcbiAgICAgICAgICAgICAgICAgIDogQ29sb3JzQnlUaGVtZVt0aGVtZV1ba2V5XVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGtleT17YCR7dGhlbWV9XyR7a2V5fWB9XG4gICAgICAgICAgICBzZWxlY3RlZD17c2VsZWN0ZWRDb2xvciA9PT0gQ29sb3JzQnlUaGVtZVt0aGVtZV1ba2V5XS50b1VwcGVyQ2FzZSgpfVxuICAgICAgICAgICAgb25DbGljaz17ZSA9PiBvblNlbGVjdENvbG9yKENvbG9yc0J5VGhlbWVbdGhlbWVdW2tleV0sIGUpfVxuICAgICAgICAgIC8+XG4gICAgICAgICkpfVxuICAgICAgPC9TdHlsZWRDb2xvckNvbHVtbj5cbiAgICApKX1cbiAgPC9TdHlsZWRDb2xvclBhbGV0dGU+XG4pO1xuXG5leHBvcnQgZGVmYXVsdCBQcmVz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
@@ -66,13 +66,19 @@ var displayOption = function displayOption(d) {
66
66
  var getOptionValue = function getOptionValue(d) {
67
67
  return d;
68
68
  };
69
+ var noop = function noop() {
70
+ // do nothing
71
+ };
69
72
  ColorRangeSelectorFactory.deps = [_customPalette["default"]];
70
73
  function ColorRangeSelectorFactory(CustomPalette) {
71
74
  var ColorRangeSelector = function ColorRangeSelector(_ref) {
72
- var colorPalettes = _ref.colorPalettes,
75
+ var _ref$colorPalettes = _ref.colorPalettes,
76
+ colorPalettes = _ref$colorPalettes === void 0 ? _constants.KEPLER_COLOR_PALETTES : _ref$colorPalettes,
73
77
  colorPaletteUI = _ref.colorPaletteUI,
74
- setColorPaletteUI = _ref.setColorPaletteUI,
75
- onSelectColorRange = _ref.onSelectColorRange,
78
+ _ref$setColorPaletteU = _ref.setColorPaletteUI,
79
+ setColorPaletteUI = _ref$setColorPaletteU === void 0 ? noop : _ref$setColorPaletteU,
80
+ _ref$onSelectColorRan = _ref.onSelectColorRange,
81
+ onSelectColorRange = _ref$onSelectColorRan === void 0 ? noop : _ref$onSelectColorRan,
76
82
  selectedColorRange = _ref.selectedColorRange;
77
83
  var customPalette = colorPaletteUI.customPalette,
78
84
  showSketcher = colorPaletteUI.showSketcher,
@@ -144,13 +150,6 @@ function ColorRangeSelectorFactory(CustomPalette) {
144
150
  });
145
151
  })));
146
152
  };
147
- ColorRangeSelector.defaultProps = {
148
- colorPalettes: _constants.KEPLER_COLOR_PALETTES,
149
- // eslint-disable-next-line @typescript-eslint/no-empty-function
150
- onSelectColorRange: function onSelectColorRange() {},
151
- // eslint-disable-next-line @typescript-eslint/no-empty-function
152
- setColorPaletteUI: function setColorPaletteUI() {}
153
- };
154
153
  return ColorRangeSelector;
155
154
  }
156
155
  var PaletteConfig = exports.PaletteConfig = function PaletteConfig(_ref3) {
@@ -241,4 +240,4 @@ var ColorPaletteItem = exports.ColorPaletteItem = function ColorPaletteItem(_ref
241
240
  }));
242
241
  };
243
242
  var _default = exports["default"] = ColorRangeSelectorFactory;
244
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY29uc3RhbnRzIiwiX2xvY2FsaXphdGlvbiIsIl91dGlscyIsIl9pdGVtU2VsZWN0b3IiLCJfc3R5bGVkQ29tcG9uZW50czIiLCJfc3dpdGNoIiwiX2NvbG9yUGFsZXR0ZSIsIl9jdXN0b21QYWxldHRlIiwiX2QzQXJyYXkiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIl90ZW1wbGF0ZU9iamVjdDQiLCJfdGVtcGxhdGVPYmplY3Q1IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiQUxMX1RZUEVTIiwiZXhwb3J0cyIsInZhbHVlcyIsIlBBTEVUVEVfVFlQRVMiLCJjb25jYXQiLCJNQVhfU1RFUFMiLCJBTExfU1RFUFMiLCJyYW5nZSIsIlN0eWxlZENvbG9yQ29uZmlnIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJTdHlsZWRDb2xvclJhbmdlU2VsZWN0b3IiLCJhdHRycyIsImNsYXNzTmFtZSIsIlN0eWxlZENvbG9yUGFsZXR0ZSIsIlN0eWxlZFBhbGV0dGVDb25maWciLCJDT05GSUdfU0VUVElOR1MiLCJ0eXBlIiwib3B0aW9ucyIsInN0ZXBzIiwiZGlzYWJsZWQiLCJjb2xvclJhbmdlIiwiaGFzQ29sb3JNYXAiLCJyZWFzb24iLCJyZXZlcnNlZCIsImNvbG9yQmxpbmRTYWZlIiwiY3VzdG9tIiwibGFiZWwiLCJkaXNwbGF5T3B0aW9uIiwiZCIsImNhcGl0YWxpemVGaXJzdExldHRlciIsImdldE9wdGlvblZhbHVlIiwiQ29sb3JSYW5nZVNlbGVjdG9yRmFjdG9yeSIsImRlcHMiLCJDdXN0b21QYWxldHRlRmFjdG9yeSIsIkN1c3RvbVBhbGV0dGUiLCJDb2xvclJhbmdlU2VsZWN0b3IiLCJfcmVmIiwiY29sb3JQYWxldHRlcyIsImNvbG9yUGFsZXR0ZVVJIiwic2V0Q29sb3JQYWxldHRlVUkiLCJvblNlbGVjdENvbG9yUmFuZ2UiLCJzZWxlY3RlZENvbG9yUmFuZ2UiLCJjdXN0b21QYWxldHRlIiwic2hvd1NrZXRjaGVyIiwiY29sb3JSYW5nZUNvbmZpZyIsImZpbHRlcmVkQ29sb3JQYWxldHRlcyIsInVzZU1lbW8iLCJfY29sb3JQYWxldHRlcyRmaWx0ZXIiLCJmaWx0ZXIiLCJwYWxldHRlIiwicGFsZXR0ZUlzVHlwZSIsInBhbGV0dGVJc1N0ZXBzIiwicGFsZXR0ZUlzQ29sb3JCbGluZFNhZmUiLCJfdXBkYXRlQ29uZmlnIiwidXNlQ2FsbGJhY2siLCJfcmVmMiIsImtleSIsInZhbHVlIiwiX2RlZmluZVByb3BlcnR5MiIsIl9vbkN1c3RvbVBhbGV0dGVDYW5jZWwiLCJfb25BcHBseSIsIl9vblNlbGVjdFBhbGV0dGUiLCJjb2xvclBhbGV0dGUiLCJuZXdDb2xvclJhbmdlIiwidXBkYXRlQ29sb3JSYW5nZUJ5U2VsZWN0ZWRQYWxldHRlIiwiY3JlYXRlRWxlbWVudCIsImtleXMiLCJtYXAiLCJQYWxldHRlQ29uZmlnIiwicHJvcCIsImNvbmZpZyIsIm9uQ2hhbmdlIiwiRnJhZ21lbnQiLCJjb2xvcnMiLCJvbkFwcGx5Iiwib25DYW5jZWwiLCJDb2xvclBhbGV0dGVJdGVtIiwibmFtZSIsIm9uU2VsZWN0IiwiZGVmYXVsdFByb3BzIiwiS0VQTEVSX0NPTE9SX1BBTEVUVEVTIiwiX3JlZjMiLCJfcmVmMyRjb25maWciLCJ1cGRhdGVTZWxlY3QiLCJ2YWwiLCJ1cGRhdGVTd2l0Y2giLCJvbkNsaWNrIiwic3RvcFByb3BhZ2F0aW9uIiwiUGFuZWxMYWJlbCIsIkZvcm1hdHRlZE1lc3NhZ2UiLCJpZCIsInNlbGVjdGVkSXRlbXMiLCJtdWx0aVNlbGVjdCIsInNlYXJjaGFibGUiLCJpbnB1dFRoZW1lIiwiY2hlY2tlZCIsIkJvb2xlYW4iLCJzZWNvbmRhcnkiLCJUb29sdGlwIiwicGxhY2UiLCJzdHlsZSIsIm1heFdpZHRoIiwiU3R5bGVkQ29sb3JSYW5nZSIsInByb3BzIiwidGhlbWUiLCJwYW5lbEJhY2tncm91bmRIb3ZlciIsIl9yZWY0IiwiaXNSZXZlcnNlZCIsImlzU2VsZWN0ZWQiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2NvbG9yLXJhbmdlLXNlbGVjdG9yLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHtNb3VzZUV2ZW50LCB1c2VDYWxsYmFjaywgdXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0tFUExFUl9DT0xPUl9QQUxFVFRFUywgUEFMRVRURV9UWVBFUywgQ29sb3JQYWxldHRlfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcbmltcG9ydCB7Q29sb3JSYW5nZSwgQ29sb3JVSSwgTmVzdGVkUGFydGlhbH0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge1xuICBoYXNDb2xvck1hcCxcbiAgdXBkYXRlQ29sb3JSYW5nZUJ5U2VsZWN0ZWRQYWxldHRlLFxuICBwYWxldHRlSXNTdGVwcyxcbiAgcGFsZXR0ZUlzVHlwZSxcbiAgcGFsZXR0ZUlzQ29sb3JCbGluZFNhZmVcbn0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQgSXRlbVNlbGVjdG9yIGZyb20gJy4uLy4uL2NvbW1vbi9pdGVtLXNlbGVjdG9yL2l0ZW0tc2VsZWN0b3InO1xuaW1wb3J0IHtQYW5lbExhYmVsLCBUb29sdGlwfSBmcm9tICcuLi8uLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IFN3aXRjaCBmcm9tICcuLi8uLi9jb21tb24vc3dpdGNoJztcbmltcG9ydCBDb2xvclBhbGV0dGVQYW5lbCBmcm9tICcuL2NvbG9yLXBhbGV0dGUnO1xuaW1wb3J0IEN1c3RvbVBhbGV0dGVGYWN0b3J5IGZyb20gJy4vY3VzdG9tLXBhbGV0dGUnO1xuXG5pbXBvcnQge2NhcGl0YWxpemVGaXJzdExldHRlcn0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge3JhbmdlfSBmcm9tICdkMy1hcnJheSc7XG5cbnR5cGUgQ29sb3JSYW5nZVNlbGVjdG9yUHJvcHMgPSB7XG4gIGNvbG9yUGFsZXR0ZXM/OiBDb2xvclBhbGV0dGVbXTtcbiAgY29sb3JQYWxldHRlVUk6IENvbG9yVUk7XG4gIHNlbGVjdGVkQ29sb3JSYW5nZTogQ29sb3JSYW5nZTtcbiAgb25TZWxlY3RDb2xvclJhbmdlOiAocDogQ29sb3JSYW5nZSwgZTogTW91c2VFdmVudCkgPT4gdm9pZDtcbiAgc2V0Q29sb3JQYWxldHRlVUk6IChuZXdDb25maWc6IE5lc3RlZFBhcnRpYWw8Q29sb3JVST4pID0+IHZvaWQ7XG59O1xuXG50eXBlIFBhbGV0dGVDb25maWdQcm9wcyA9IHtcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW47XG4gIGNvbmZpZzoge1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBvcHRpb25zOiAoc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbilbXTtcbiAgfTtcbiAgb25DaGFuZ2U6ICh2OiBhbnkpID0+IHZvaWQ7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgcHJvcDogc3RyaW5nO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuXG4vLyBAdHMtaWdub3JlIGNhbnQgY29uY2F0ICdhbGwnIHRvIFBBTEVUVEVfVFlQRVMgdmFsdWVzXG5leHBvcnQgY29uc3QgQUxMX1RZUEVTID0gT2JqZWN0LnZhbHVlcyhQQUxFVFRFX1RZUEVTKS5jb25jYXQoWydhbGwnXSk7XG5jb25zdCBNQVhfU1RFUFMgPSAyMDtcbmNvbnN0IEFMTF9TVEVQUyA9IHJhbmdlKDIsIE1BWF9TVEVQUyArIDEsIDEpO1xuXG5jb25zdCBTdHlsZWRDb2xvckNvbmZpZyA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDEycHggMTJweCAwIDEycHg7XG5gO1xuXG5jb25zdCBTdHlsZWRDb2xvclJhbmdlU2VsZWN0b3IgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY29sb3ItcmFuZ2Utc2VsZWN0b3InXG59KWBcbiAgcGFkZGluZy1ib3R0b206IDEycHg7XG5gO1xuY29uc3QgU3R5bGVkQ29sb3JQYWxldHRlID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMCA4cHggOHB4IDhweDtcbmA7XG5cbmNvbnN0IFN0eWxlZFBhbGV0dGVDb25maWcgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAuY29sb3ItcGFsZXR0ZV9fY29uZmlnX19zZWxlY3Qge1xuICAgIHdpZHRoOiA0MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG5cbiAgICAuaXRlbS1zZWxlY3RvciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IENPTkZJR19TRVRUSU5HUyA9IHtcbiAgdHlwZToge1xuICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIG9wdGlvbnM6IEFMTF9UWVBFU1xuICB9LFxuICBzdGVwczoge1xuICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIG9wdGlvbnM6IEFMTF9TVEVQUyxcbiAgICBkaXNhYmxlZDogY29sb3JSYW5nZSA9PiBoYXNDb2xvck1hcChjb2xvclJhbmdlKSxcbiAgICByZWFzb246ICdjb2xvci5kaXNhYmxlU3RlcFJlYXNvbidcbiAgfSxcbiAgcmV2ZXJzZWQ6IHtcbiAgICB0eXBlOiAnc3dpdGNoJyxcbiAgICBvcHRpb25zOiBbdHJ1ZSwgZmFsc2VdXG4gIH0sXG4gIGNvbG9yQmxpbmRTYWZlOiB7XG4gICAgdHlwZTogJ3N3aXRjaCcsXG4gICAgb3B0aW9uczogW3RydWUsIGZhbHNlXVxuICB9LFxuICBjdXN0b206IHtcbiAgICBsYWJlbDogJ2N1c3RvbVBhbGV0dGUnLFxuICAgIHR5cGU6ICdzd2l0Y2gnLFxuICAgIG9wdGlvbnM6IFt0cnVlLCBmYWxzZV1cbiAgfVxufTtcbmNvbnN0IGRpc3BsYXlPcHRpb24gPSBkID0+IGNhcGl0YWxpemVGaXJzdExldHRlcihkKTtcbmNvbnN0IGdldE9wdGlvblZhbHVlID0gZCA9PiBkO1xuXG5Db2xvclJhbmdlU2VsZWN0b3JGYWN0b3J5LmRlcHMgPSBbQ3VzdG9tUGFsZXR0ZUZhY3RvcnldO1xuZnVuY3Rpb24gQ29sb3JSYW5nZVNlbGVjdG9yRmFjdG9yeShcbiAgQ3VzdG9tUGFsZXR0ZTogUmV0dXJuVHlwZTx0eXBlb2YgQ3VzdG9tUGFsZXR0ZUZhY3Rvcnk+XG4pOiBSZWFjdC5GQzxDb2xvclJhbmdlU2VsZWN0b3JQcm9wcz4ge1xuICBjb25zdCBDb2xvclJhbmdlU2VsZWN0b3I6IFJlYWN0LkZDPENvbG9yUmFuZ2VTZWxlY3RvclByb3BzPiA9ICh7XG4gICAgY29sb3JQYWxldHRlcyxcbiAgICBjb2xvclBhbGV0dGVVSSxcbiAgICBzZXRDb2xvclBhbGV0dGVVSSxcbiAgICBvblNlbGVjdENvbG9yUmFuZ2UsXG4gICAgc2VsZWN0ZWRDb2xvclJhbmdlXG4gIH0pID0+IHtcbiAgICBjb25zdCB7Y3VzdG9tUGFsZXR0ZSwgc2hvd1NrZXRjaGVyLCBjb2xvclJhbmdlQ29uZmlnfSA9IGNvbG9yUGFsZXR0ZVVJO1xuICAgIGNvbnN0IHt0eXBlLCBzdGVwcywgY29sb3JCbGluZFNhZmUsIHJldmVyc2VkfSA9IGNvbG9yUmFuZ2VDb25maWc7XG5cbiAgICBjb25zdCBmaWx0ZXJlZENvbG9yUGFsZXR0ZXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGNvbG9yUGFsZXR0ZXM/LmZpbHRlcihcbiAgICAgICAgICBwYWxldHRlID0+XG4gICAgICAgICAgICBwYWxldHRlSXNUeXBlKHBhbGV0dGUsIHR5cGUpICYmXG4gICAgICAgICAgICBwYWxldHRlSXNTdGVwcyhwYWxldHRlLCBzdGVwcykgJiZcbiAgICAgICAgICAgIHBhbGV0dGVJc0NvbG9yQmxpbmRTYWZlKHBhbGV0dGUsIGNvbG9yQmxpbmRTYWZlKVxuICAgICAgICApID8/IFtdXG4gICAgICApO1xuICAgIH0sIFtjb2xvclBhbGV0dGVzLCBjb2xvckJsaW5kU2FmZSwgc3RlcHMsIHR5cGVdKTtcblxuICAgIGNvbnN0IF91cGRhdGVDb25maWcgPSB1c2VDYWxsYmFjayhcbiAgICAgICh7a2V5LCB2YWx1ZX0pID0+IHtcbiAgICAgICAgc2V0Q29sb3JQYWxldHRlVUkoe2NvbG9yUmFuZ2VDb25maWc6IHtba2V5XTogdmFsdWV9fSk7XG4gICAgICB9LFxuICAgICAgW3NldENvbG9yUGFsZXR0ZVVJXVxuICAgICk7XG5cbiAgICBjb25zdCBfb25DdXN0b21QYWxldHRlQ2FuY2VsID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0Q29sb3JQYWxldHRlVUkoe1xuICAgICAgICBzaG93U2tldGNoZXI6IGZhbHNlLFxuICAgICAgICBjb2xvclJhbmdlQ29uZmlnOiB7Y3VzdG9tOiBmYWxzZX1cbiAgICAgIH0pO1xuICAgIH0sIFtzZXRDb2xvclBhbGV0dGVVSV0pO1xuXG4gICAgY29uc3QgX29uQXBwbHkgPSB1c2VDYWxsYmFjayhcbiAgICAgIGUgPT4gb25TZWxlY3RDb2xvclJhbmdlKGN1c3RvbVBhbGV0dGUsIGUpLFxuICAgICAgW2N1c3RvbVBhbGV0dGUsIG9uU2VsZWN0Q29sb3JSYW5nZV1cbiAgICApO1xuXG4gICAgY29uc3QgX29uU2VsZWN0UGFsZXR0ZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGNvbG9yUGFsZXR0ZSwgZSkgPT4ge1xuICAgICAgICBjb25zdCBuZXdDb2xvclJhbmdlID0gdXBkYXRlQ29sb3JSYW5nZUJ5U2VsZWN0ZWRQYWxldHRlKHNlbGVjdGVkQ29sb3JSYW5nZSwgY29sb3JQYWxldHRlLCB7XG4gICAgICAgICAgc3RlcHMsXG4gICAgICAgICAgcmV2ZXJzZWRcbiAgICAgICAgfSk7XG5cbiAgICAgICAgb25TZWxlY3RDb2xvclJhbmdlKG5ld0NvbG9yUmFuZ2UsIGUpO1xuICAgICAgfSxcbiAgICAgIFtzZWxlY3RlZENvbG9yUmFuZ2UsIHJldmVyc2VkLCBzdGVwcywgb25TZWxlY3RDb2xvclJhbmdlXVxuICAgICk7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRDb2xvclJhbmdlU2VsZWN0b3I+XG4gICAgICAgIDxTdHlsZWRDb2xvckNvbmZpZz5cbiAgICAgICAgICB7KGNvbG9yUmFuZ2VDb25maWcuY3VzdG9tID8gWydjdXN0b20nXSA6IE9iamVjdC5rZXlzKGNvbG9yUmFuZ2VDb25maWcpKS5tYXAoa2V5ID0+XG4gICAgICAgICAgICBDT05GSUdfU0VUVElOR1Nba2V5XSA/IChcbiAgICAgICAgICAgICAgPFBhbGV0dGVDb25maWdcbiAgICAgICAgICAgICAgICBrZXk9e2tleX1cbiAgICAgICAgICAgICAgICBwcm9wPXtrZXl9XG4gICAgICAgICAgICAgICAgbGFiZWw9e0NPTkZJR19TRVRUSU5HU1trZXldLmxhYmVsIHx8IGtleX1cbiAgICAgICAgICAgICAgICBjb25maWc9e0NPTkZJR19TRVRUSU5HU1trZXldfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtjb2xvclJhbmdlQ29uZmlnW2tleV19XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e191cGRhdGVDb25maWd9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e1xuICAgICAgICAgICAgICAgICAgQ09ORklHX1NFVFRJTkdTW2tleV0uZGlzYWJsZWRcbiAgICAgICAgICAgICAgICAgICAgPyBDT05GSUdfU0VUVElOR1Nba2V5XS5kaXNhYmxlZChzZWxlY3RlZENvbG9yUmFuZ2UpXG4gICAgICAgICAgICAgICAgICAgIDogZmFsc2VcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVhc29uPXtDT05GSUdfU0VUVElOR1Nba2V5XS5yZWFzb259XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogbnVsbFxuICAgICAgICAgICl9XG4gICAgICAgIDwvU3R5bGVkQ29sb3JDb25maWc+XG4gICAgICAgIHtjb2xvclJhbmdlQ29uZmlnLmN1c3RvbSA/IChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPFN0eWxlZENvbG9yUGFsZXR0ZT5cbiAgICAgICAgICAgICAgPENvbG9yUGFsZXR0ZVBhbmVsIGNvbG9ycz17Y3VzdG9tUGFsZXR0ZS5jb2xvcnN9IC8+XG4gICAgICAgICAgICA8L1N0eWxlZENvbG9yUGFsZXR0ZT5cbiAgICAgICAgICAgIDxDdXN0b21QYWxldHRlXG4gICAgICAgICAgICAgIGN1c3RvbVBhbGV0dGU9e2N1c3RvbVBhbGV0dGV9XG4gICAgICAgICAgICAgIHNob3dTa2V0Y2hlcj17c2hvd1NrZXRjaGVyfVxuICAgICAgICAgICAgICBvbkFwcGx5PXtfb25BcHBseX1cbiAgICAgICAgICAgICAgc2V0Q29sb3JQYWxldHRlVUk9e3NldENvbG9yUGFsZXR0ZVVJfVxuICAgICAgICAgICAgICBvbkNhbmNlbD17X29uQ3VzdG9tUGFsZXR0ZUNhbmNlbH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xvci1wYWxldHRlX19ncm91cFwiPlxuICAgICAgICAgICAge2ZpbHRlcmVkQ29sb3JQYWxldHRlcy5tYXAoKGNvbG9yUGFsZXR0ZSwgaSkgPT4gKFxuICAgICAgICAgICAgICA8Q29sb3JQYWxldHRlSXRlbVxuICAgICAgICAgICAgICAgIGtleT17YCR7Y29sb3JQYWxldHRlLm5hbWV9LSR7aX1gfVxuICAgICAgICAgICAgICAgIGNvbG9yUGFsZXR0ZT17Y29sb3JQYWxldHRlfVxuICAgICAgICAgICAgICAgIHNlbGVjdGVkQ29sb3JSYW5nZT17c2VsZWN0ZWRDb2xvclJhbmdlfVxuICAgICAgICAgICAgICAgIG9uU2VsZWN0PXtfb25TZWxlY3RQYWxldHRlfVxuICAgICAgICAgICAgICAgIHJldmVyc2VkPXtyZXZlcnNlZH1cbiAgICAgICAgICAgICAgICBzdGVwcz17c3RlcHN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvU3R5bGVkQ29sb3JSYW5nZVNlbGVjdG9yPlxuICAgICk7XG4gIH07XG5cbiAgQ29sb3JSYW5nZVNlbGVjdG9yLmRlZmF1bHRQcm9wcyA9IHtcbiAgICBjb2xvclBhbGV0dGVzOiBLRVBMRVJfQ09MT1JfUEFMRVRURVMsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgIG9uU2VsZWN0Q29sb3JSYW5nZTogKCkgPT4ge30sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgIHNldENvbG9yUGFsZXR0ZVVJOiAoKSA9PiB7fVxuICB9O1xuXG4gIHJldHVybiBDb2xvclJhbmdlU2VsZWN0b3I7XG59XG5cbmV4cG9ydCBjb25zdCBQYWxldHRlQ29uZmlnOiBSZWFjdC5GQzxQYWxldHRlQ29uZmlnUHJvcHM+ID0gKHtcbiAgcHJvcCxcbiAgbGFiZWwsXG4gIHZhbHVlLFxuICBjb25maWc6IHt0eXBlLCBvcHRpb25zfSxcbiAgb25DaGFuZ2UsXG4gIGRpc2FibGVkLFxuICByZWFzb25cbn0pID0+IHtcbiAgY29uc3QgdXBkYXRlU2VsZWN0ID0gdXNlQ2FsbGJhY2sodmFsID0+IG9uQ2hhbmdlKHtrZXk6IHByb3AsIHZhbHVlOiB2YWx9KSwgW29uQ2hhbmdlLCBwcm9wXSk7XG4gIGNvbnN0IHVwZGF0ZVN3aXRjaCA9IHVzZUNhbGxiYWNrKFxuICAgICgpID0+IG9uQ2hhbmdlKHtrZXk6IHByb3AsIHZhbHVlOiAhdmFsdWV9KSxcbiAgICBbb25DaGFuZ2UsIHByb3AsIHZhbHVlXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFBhbGV0dGVDb25maWcgY2xhc3NOYW1lPVwiY29sb3ItcGFsZXR0ZV9fY29uZmlnXCIgb25DbGljaz17ZSA9PiBlLnN0b3BQcm9wYWdhdGlvbigpfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sb3ItcGFsZXR0ZV9fY29uZmlnX19sYWJlbFwiPlxuICAgICAgICA8UGFuZWxMYWJlbD5cbiAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17YGNvbG9yLiR7bGFiZWx9YH0gLz5cbiAgICAgICAgPC9QYW5lbExhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT1cImNvbG9yLXBhbGV0dGVfX2NvbmZpZ19fc2VsZWN0XCJcbiAgICAgICAgZGF0YS10aXBcbiAgICAgICAgZGF0YS1mb3I9e2Bjb2xvci1yYW5nZS1jb25maWctJHtwcm9wfWB9XG4gICAgICA+XG4gICAgICAgIHt0eXBlID09PSAnc2VsZWN0JyAmJiAoXG4gICAgICAgICAgPEl0ZW1TZWxlY3RvclxuICAgICAgICAgICAgc2VsZWN0ZWRJdGVtcz17dmFsdWV9XG4gICAgICAgICAgICBvcHRpb25zPXtvcHRpb25zfVxuICAgICAgICAgICAgbXVsdGlTZWxlY3Q9e2ZhbHNlfVxuICAgICAgICAgICAgc2VhcmNoYWJsZT17ZmFsc2V9XG4gICAgICAgICAgICBvbkNoYW5nZT17dXBkYXRlU2VsZWN0fVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgaW5wdXRUaGVtZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICBkaXNwbGF5T3B0aW9uPXtkaXNwbGF5T3B0aW9ufVxuICAgICAgICAgICAgZ2V0T3B0aW9uVmFsdWU9e2dldE9wdGlvblZhbHVlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHt0eXBlID09PSAnc3dpdGNoJyAmJiAoXG4gICAgICAgICAgPFN3aXRjaFxuICAgICAgICAgICAgY2hlY2tlZD17Qm9vbGVhbih2YWx1ZSl9XG4gICAgICAgICAgICBpZD17YCR7bGFiZWx9LXRvZ2dsZWB9XG4gICAgICAgICAgICBvbkNoYW5nZT17dXBkYXRlU3dpdGNofVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgc2Vjb25kYXJ5XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgICAge2Rpc2FibGVkICYmIHJlYXNvbiA/IChcbiAgICAgICAgICA8VG9vbHRpcCBpZD17YGNvbG9yLXJhbmdlLWNvbmZpZy0ke3Byb3B9YH0gcGxhY2U9XCJyaWdodFwiPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT17e21heFdpZHRoOiAnMjE0cHgnfX0+XG4gICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtyZWFzb259IC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9kaXY+XG4gICAgPC9TdHlsZWRQYWxldHRlQ29uZmlnPlxuICApO1xufTtcbmNvbnN0IFN0eWxlZENvbG9yUmFuZ2UgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY29sb3ItcGFsZXR0ZS1vdXRlcidcbn0pYFxuICBwYWRkaW5nOiAwIDhweDtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5gO1xuXG50eXBlIENvbG9yUGFsZXR0ZUl0ZW1Qcm9wcyA9IHtcbiAgcmV2ZXJzZWQ/OiBib29sZWFuO1xuICBzZWxlY3RlZD86IENvbG9yUmFuZ2U7XG4gIGNvbG9yUGFsZXR0ZTogQ29sb3JQYWxldHRlO1xuICBzZWxlY3RlZENvbG9yUmFuZ2U6IENvbG9yUmFuZ2U7XG4gIG9uU2VsZWN0OiAoY29sb3JQYWxldHRlOiBDb2xvclBhbGV0dGUsIGU6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gIHN0ZXBzOiBudW1iZXI7XG59O1xuXG5leHBvcnQgY29uc3QgQ29sb3JQYWxldHRlSXRlbTogUmVhY3QuRkM8Q29sb3JQYWxldHRlSXRlbVByb3BzPiA9ICh7XG4gIGNvbG9yUGFsZXR0ZSxcbiAgc3RlcHMsXG4gIHNlbGVjdGVkQ29sb3JSYW5nZSxcbiAgb25TZWxlY3QsXG4gIHJldmVyc2VkXG59KSA9PiB7XG4gIGNvbnN0IGNvbG9ycyA9IHVzZU1lbW8oKCkgPT4gY29sb3JQYWxldHRlLmNvbG9ycyhzdGVwcyksIFtjb2xvclBhbGV0dGUsIHN0ZXBzXSk7XG4gIGNvbnN0IG9uQ2xpY2sgPSB1c2VDYWxsYmFjayhlID0+IG9uU2VsZWN0KGNvbG9yUGFsZXR0ZSwgZSksIFtjb2xvclBhbGV0dGUsIG9uU2VsZWN0XSk7XG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbG9yUmFuZ2Ugb25DbGljaz17b25DbGlja30+XG4gICAgICA8Q29sb3JQYWxldHRlUGFuZWxcbiAgICAgICAgY29sb3JzPXtjb2xvcnN9XG4gICAgICAgIGlzUmV2ZXJzZWQ9e3JldmVyc2VkfVxuICAgICAgICBpc1NlbGVjdGVkPXtjb2xvclBhbGV0dGUubmFtZSA9PT0gc2VsZWN0ZWRDb2xvclJhbmdlLm5hbWV9XG4gICAgICAvPlxuICAgIDwvU3R5bGVkQ29sb3JSYW5nZT5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvbG9yUmFuZ2VTZWxlY3RvckZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsVUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksYUFBQSxHQUFBSixPQUFBO0FBRUEsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBT0EsSUFBQU0sYUFBQSxHQUFBSixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU8sa0JBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLE9BQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFTLGFBQUEsR0FBQVAsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFVLGNBQUEsR0FBQVIsc0JBQUEsQ0FBQUYsT0FBQTtBQUdBLElBQUFXLFFBQUEsR0FBQVgsT0FBQTtBQUErQixJQUFBWSxlQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBdEIvQjtBQUNBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFuQix3QkFBQW1CLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEs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
243
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY29uc3RhbnRzIiwiX2xvY2FsaXphdGlvbiIsIl91dGlscyIsIl9pdGVtU2VsZWN0b3IiLCJfc3R5bGVkQ29tcG9uZW50czIiLCJfc3dpdGNoIiwiX2NvbG9yUGFsZXR0ZSIsIl9jdXN0b21QYWxldHRlIiwiX2QzQXJyYXkiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIl90ZW1wbGF0ZU9iamVjdDQiLCJfdGVtcGxhdGVPYmplY3Q1IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiQUxMX1RZUEVTIiwiZXhwb3J0cyIsInZhbHVlcyIsIlBBTEVUVEVfVFlQRVMiLCJjb25jYXQiLCJNQVhfU1RFUFMiLCJBTExfU1RFUFMiLCJyYW5nZSIsIlN0eWxlZENvbG9yQ29uZmlnIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJTdHlsZWRDb2xvclJhbmdlU2VsZWN0b3IiLCJhdHRycyIsImNsYXNzTmFtZSIsIlN0eWxlZENvbG9yUGFsZXR0ZSIsIlN0eWxlZFBhbGV0dGVDb25maWciLCJDT05GSUdfU0VUVElOR1MiLCJ0eXBlIiwib3B0aW9ucyIsInN0ZXBzIiwiZGlzYWJsZWQiLCJjb2xvclJhbmdlIiwiaGFzQ29sb3JNYXAiLCJyZWFzb24iLCJyZXZlcnNlZCIsImNvbG9yQmxpbmRTYWZlIiwiY3VzdG9tIiwibGFiZWwiLCJkaXNwbGF5T3B0aW9uIiwiZCIsImNhcGl0YWxpemVGaXJzdExldHRlciIsImdldE9wdGlvblZhbHVlIiwibm9vcCIsIkNvbG9yUmFuZ2VTZWxlY3RvckZhY3RvcnkiLCJkZXBzIiwiQ3VzdG9tUGFsZXR0ZUZhY3RvcnkiLCJDdXN0b21QYWxldHRlIiwiQ29sb3JSYW5nZVNlbGVjdG9yIiwiX3JlZiIsIl9yZWYkY29sb3JQYWxldHRlcyIsImNvbG9yUGFsZXR0ZXMiLCJLRVBMRVJfQ09MT1JfUEFMRVRURVMiLCJjb2xvclBhbGV0dGVVSSIsIl9yZWYkc2V0Q29sb3JQYWxldHRlVSIsInNldENvbG9yUGFsZXR0ZVVJIiwiX3JlZiRvblNlbGVjdENvbG9yUmFuIiwib25TZWxlY3RDb2xvclJhbmdlIiwic2VsZWN0ZWRDb2xvclJhbmdlIiwiY3VzdG9tUGFsZXR0ZSIsInNob3dTa2V0Y2hlciIsImNvbG9yUmFuZ2VDb25maWciLCJmaWx0ZXJlZENvbG9yUGFsZXR0ZXMiLCJ1c2VNZW1vIiwiX2NvbG9yUGFsZXR0ZXMkZmlsdGVyIiwiZmlsdGVyIiwicGFsZXR0ZSIsInBhbGV0dGVJc1R5cGUiLCJwYWxldHRlSXNTdGVwcyIsInBhbGV0dGVJc0NvbG9yQmxpbmRTYWZlIiwiX3VwZGF0ZUNvbmZpZyIsInVzZUNhbGxiYWNrIiwiX3JlZjIiLCJrZXkiLCJ2YWx1ZSIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJfb25DdXN0b21QYWxldHRlQ2FuY2VsIiwiX29uQXBwbHkiLCJfb25TZWxlY3RQYWxldHRlIiwiY29sb3JQYWxldHRlIiwibmV3Q29sb3JSYW5nZSIsInVwZGF0ZUNvbG9yUmFuZ2VCeVNlbGVjdGVkUGFsZXR0ZSIsImNyZWF0ZUVsZW1lbnQiLCJrZXlzIiwibWFwIiwiUGFsZXR0ZUNvbmZpZyIsInByb3AiLCJjb25maWciLCJvbkNoYW5nZSIsIkZyYWdtZW50IiwiY29sb3JzIiwib25BcHBseSIsIm9uQ2FuY2VsIiwiQ29sb3JQYWxldHRlSXRlbSIsIm5hbWUiLCJvblNlbGVjdCIsIl9yZWYzIiwiX3JlZjMkY29uZmlnIiwidXBkYXRlU2VsZWN0IiwidmFsIiwidXBkYXRlU3dpdGNoIiwib25DbGljayIsInN0b3BQcm9wYWdhdGlvbiIsIlBhbmVsTGFiZWwiLCJGb3JtYXR0ZWRNZXNzYWdlIiwiaWQiLCJzZWxlY3RlZEl0ZW1zIiwibXVsdGlTZWxlY3QiLCJzZWFyY2hhYmxlIiwiaW5wdXRUaGVtZSIsImNoZWNrZWQiLCJCb29sZWFuIiwic2Vjb25kYXJ5IiwiVG9vbHRpcCIsInBsYWNlIiwic3R5bGUiLCJtYXhXaWR0aCIsIlN0eWxlZENvbG9yUmFuZ2UiLCJwcm9wcyIsInRoZW1lIiwicGFuZWxCYWNrZ3JvdW5kSG92ZXIiLCJfcmVmNCIsImlzUmV2ZXJzZWQiLCJpc1NlbGVjdGVkIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2lkZS1wYW5lbC9sYXllci1wYW5lbC9jb2xvci1yYW5nZS1zZWxlY3Rvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7TW91c2VFdmVudCwgdXNlQ2FsbGJhY2ssIHVzZU1lbW99IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtLRVBMRVJfQ09MT1JfUEFMRVRURVMsIFBBTEVUVEVfVFlQRVMsIENvbG9yUGFsZXR0ZX0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge0NvbG9yUmFuZ2UsIENvbG9yVUksIE5lc3RlZFBhcnRpYWx9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtcbiAgaGFzQ29sb3JNYXAsXG4gIHVwZGF0ZUNvbG9yUmFuZ2VCeVNlbGVjdGVkUGFsZXR0ZSxcbiAgcGFsZXR0ZUlzU3RlcHMsXG4gIHBhbGV0dGVJc1R5cGUsXG4gIHBhbGV0dGVJc0NvbG9yQmxpbmRTYWZlXG59IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IEl0ZW1TZWxlY3RvciBmcm9tICcuLi8uLi9jb21tb24vaXRlbS1zZWxlY3Rvci9pdGVtLXNlbGVjdG9yJztcbmltcG9ydCB7UGFuZWxMYWJlbCwgVG9vbHRpcH0gZnJvbSAnLi4vLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBTd2l0Y2ggZnJvbSAnLi4vLi4vY29tbW9uL3N3aXRjaCc7XG5pbXBvcnQgQ29sb3JQYWxldHRlUGFuZWwgZnJvbSAnLi9jb2xvci1wYWxldHRlJztcbmltcG9ydCBDdXN0b21QYWxldHRlRmFjdG9yeSBmcm9tICcuL2N1c3RvbS1wYWxldHRlJztcblxuaW1wb3J0IHtjYXBpdGFsaXplRmlyc3RMZXR0ZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHtyYW5nZX0gZnJvbSAnZDMtYXJyYXknO1xuXG50eXBlIENvbG9yUmFuZ2VTZWxlY3RvclByb3BzID0ge1xuICBjb2xvclBhbGV0dGVzPzogQ29sb3JQYWxldHRlW107XG4gIGNvbG9yUGFsZXR0ZVVJOiBDb2xvclVJO1xuICBzZWxlY3RlZENvbG9yUmFuZ2U6IENvbG9yUmFuZ2U7XG4gIG9uU2VsZWN0Q29sb3JSYW5nZTogKHA6IENvbG9yUmFuZ2UsIGU6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gIHNldENvbG9yUGFsZXR0ZVVJOiAobmV3Q29uZmlnOiBOZXN0ZWRQYXJ0aWFsPENvbG9yVUk+KSA9PiB2b2lkO1xufTtcblxudHlwZSBQYWxldHRlQ29uZmlnUHJvcHMgPSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuO1xuICBjb25maWc6IHtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgb3B0aW9uczogKHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4pW107XG4gIH07XG4gIG9uQ2hhbmdlOiAodjogYW55KSA9PiB2b2lkO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIHByb3A6IHN0cmluZztcbiAgcmVhc29uPzogc3RyaW5nO1xufTtcblxuLy8gQHRzLWlnbm9yZSBjYW50IGNvbmNhdCAnYWxsJyB0byBQQUxFVFRFX1RZUEVTIHZhbHVlc1xuZXhwb3J0IGNvbnN0IEFMTF9UWVBFUyA9IE9iamVjdC52YWx1ZXMoUEFMRVRURV9UWVBFUykuY29uY2F0KFsnYWxsJ10pO1xuY29uc3QgTUFYX1NURVBTID0gMjA7XG5jb25zdCBBTExfU1RFUFMgPSByYW5nZSgyLCBNQVhfU1RFUFMgKyAxLCAxKTtcblxuY29uc3QgU3R5bGVkQ29sb3JDb25maWcgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAxMnB4IDEycHggMCAxMnB4O1xuYDtcblxuY29uc3QgU3R5bGVkQ29sb3JSYW5nZVNlbGVjdG9yID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2NvbG9yLXJhbmdlLXNlbGVjdG9yJ1xufSlgXG4gIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuYDtcbmNvbnN0IFN0eWxlZENvbG9yUGFsZXR0ZSA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDAgOHB4IDhweCA4cHg7XG5gO1xuXG5jb25zdCBTdHlsZWRQYWxldHRlQ29uZmlnID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgLmNvbG9yLXBhbGV0dGVfX2NvbmZpZ19fc2VsZWN0IHtcbiAgICB3aWR0aDogNDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICAgLml0ZW0tc2VsZWN0b3Ige1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBDT05GSUdfU0VUVElOR1MgPSB7XG4gIHR5cGU6IHtcbiAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICBvcHRpb25zOiBBTExfVFlQRVNcbiAgfSxcbiAgc3RlcHM6IHtcbiAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICBvcHRpb25zOiBBTExfU1RFUFMsXG4gICAgZGlzYWJsZWQ6IGNvbG9yUmFuZ2UgPT4gaGFzQ29sb3JNYXAoY29sb3JSYW5nZSksXG4gICAgcmVhc29uOiAnY29sb3IuZGlzYWJsZVN0ZXBSZWFzb24nXG4gIH0sXG4gIHJldmVyc2VkOiB7XG4gICAgdHlwZTogJ3N3aXRjaCcsXG4gICAgb3B0aW9uczogW3RydWUsIGZhbHNlXVxuICB9LFxuICBjb2xvckJsaW5kU2FmZToge1xuICAgIHR5cGU6ICdzd2l0Y2gnLFxuICAgIG9wdGlvbnM6IFt0cnVlLCBmYWxzZV1cbiAgfSxcbiAgY3VzdG9tOiB7XG4gICAgbGFiZWw6ICdjdXN0b21QYWxldHRlJyxcbiAgICB0eXBlOiAnc3dpdGNoJyxcbiAgICBvcHRpb25zOiBbdHJ1ZSwgZmFsc2VdXG4gIH1cbn07XG5jb25zdCBkaXNwbGF5T3B0aW9uID0gZCA9PiBjYXBpdGFsaXplRmlyc3RMZXR0ZXIoZCk7XG5jb25zdCBnZXRPcHRpb25WYWx1ZSA9IGQgPT4gZDtcbmNvbnN0IG5vb3AgPSAoKSA9PiB7XG4gIC8vIGRvIG5vdGhpbmdcbn07XG5cbkNvbG9yUmFuZ2VTZWxlY3RvckZhY3RvcnkuZGVwcyA9IFtDdXN0b21QYWxldHRlRmFjdG9yeV07XG5mdW5jdGlvbiBDb2xvclJhbmdlU2VsZWN0b3JGYWN0b3J5KFxuICBDdXN0b21QYWxldHRlOiBSZXR1cm5UeXBlPHR5cGVvZiBDdXN0b21QYWxldHRlRmFjdG9yeT5cbik6IFJlYWN0LkZDPENvbG9yUmFuZ2VTZWxlY3RvclByb3BzPiB7XG4gIGNvbnN0IENvbG9yUmFuZ2VTZWxlY3RvcjogUmVhY3QuRkM8Q29sb3JSYW5nZVNlbGVjdG9yUHJvcHM+ID0gKHtcbiAgICBjb2xvclBhbGV0dGVzID0gS0VQTEVSX0NPTE9SX1BBTEVUVEVTLFxuICAgIGNvbG9yUGFsZXR0ZVVJLFxuICAgIHNldENvbG9yUGFsZXR0ZVVJID0gbm9vcCxcbiAgICBvblNlbGVjdENvbG9yUmFuZ2UgPSBub29wLFxuICAgIHNlbGVjdGVkQ29sb3JSYW5nZVxuICB9KSA9PiB7XG4gICAgY29uc3Qge2N1c3RvbVBhbGV0dGUsIHNob3dTa2V0Y2hlciwgY29sb3JSYW5nZUNvbmZpZ30gPSBjb2xvclBhbGV0dGVVSTtcbiAgICBjb25zdCB7dHlwZSwgc3RlcHMsIGNvbG9yQmxpbmRTYWZlLCByZXZlcnNlZH0gPSBjb2xvclJhbmdlQ29uZmlnO1xuXG4gICAgY29uc3QgZmlsdGVyZWRDb2xvclBhbGV0dGVzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBjb2xvclBhbGV0dGVzPy5maWx0ZXIoXG4gICAgICAgICAgcGFsZXR0ZSA9PlxuICAgICAgICAgICAgcGFsZXR0ZUlzVHlwZShwYWxldHRlLCB0eXBlKSAmJlxuICAgICAgICAgICAgcGFsZXR0ZUlzU3RlcHMocGFsZXR0ZSwgc3RlcHMpICYmXG4gICAgICAgICAgICBwYWxldHRlSXNDb2xvckJsaW5kU2FmZShwYWxldHRlLCBjb2xvckJsaW5kU2FmZSlcbiAgICAgICAgKSA/PyBbXVxuICAgICAgKTtcbiAgICB9LCBbY29sb3JQYWxldHRlcywgY29sb3JCbGluZFNhZmUsIHN0ZXBzLCB0eXBlXSk7XG5cbiAgICBjb25zdCBfdXBkYXRlQ29uZmlnID0gdXNlQ2FsbGJhY2soXG4gICAgICAoe2tleSwgdmFsdWV9KSA9PiB7XG4gICAgICAgIHNldENvbG9yUGFsZXR0ZVVJKHtjb2xvclJhbmdlQ29uZmlnOiB7W2tleV06IHZhbHVlfX0pO1xuICAgICAgfSxcbiAgICAgIFtzZXRDb2xvclBhbGV0dGVVSV1cbiAgICApO1xuXG4gICAgY29uc3QgX29uQ3VzdG9tUGFsZXR0ZUNhbmNlbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldENvbG9yUGFsZXR0ZVVJKHtcbiAgICAgICAgc2hvd1NrZXRjaGVyOiBmYWxzZSxcbiAgICAgICAgY29sb3JSYW5nZUNvbmZpZzoge2N1c3RvbTogZmFsc2V9XG4gICAgICB9KTtcbiAgICB9LCBbc2V0Q29sb3JQYWxldHRlVUldKTtcblxuICAgIGNvbnN0IF9vbkFwcGx5ID0gdXNlQ2FsbGJhY2soXG4gICAgICBlID0+IG9uU2VsZWN0Q29sb3JSYW5nZShjdXN0b21QYWxldHRlLCBlKSxcbiAgICAgIFtjdXN0b21QYWxldHRlLCBvblNlbGVjdENvbG9yUmFuZ2VdXG4gICAgKTtcblxuICAgIGNvbnN0IF9vblNlbGVjdFBhbGV0dGUgPSB1c2VDYWxsYmFjayhcbiAgICAgIChjb2xvclBhbGV0dGUsIGUpID0+IHtcbiAgICAgICAgY29uc3QgbmV3Q29sb3JSYW5nZSA9IHVwZGF0ZUNvbG9yUmFuZ2VCeVNlbGVjdGVkUGFsZXR0ZShzZWxlY3RlZENvbG9yUmFuZ2UsIGNvbG9yUGFsZXR0ZSwge1xuICAgICAgICAgIHN0ZXBzLFxuICAgICAgICAgIHJldmVyc2VkXG4gICAgICAgIH0pO1xuXG4gICAgICAgIG9uU2VsZWN0Q29sb3JSYW5nZShuZXdDb2xvclJhbmdlLCBlKTtcbiAgICAgIH0sXG4gICAgICBbc2VsZWN0ZWRDb2xvclJhbmdlLCByZXZlcnNlZCwgc3RlcHMsIG9uU2VsZWN0Q29sb3JSYW5nZV1cbiAgICApO1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkQ29sb3JSYW5nZVNlbGVjdG9yPlxuICAgICAgICA8U3R5bGVkQ29sb3JDb25maWc+XG4gICAgICAgICAgeyhjb2xvclJhbmdlQ29uZmlnLmN1c3RvbSA/IFsnY3VzdG9tJ10gOiBPYmplY3Qua2V5cyhjb2xvclJhbmdlQ29uZmlnKSkubWFwKGtleSA9PlxuICAgICAgICAgICAgQ09ORklHX1NFVFRJTkdTW2tleV0gPyAoXG4gICAgICAgICAgICAgIDxQYWxldHRlQ29uZmlnXG4gICAgICAgICAgICAgICAga2V5PXtrZXl9XG4gICAgICAgICAgICAgICAgcHJvcD17a2V5fVxuICAgICAgICAgICAgICAgIGxhYmVsPXtDT05GSUdfU0VUVElOR1Nba2V5XS5sYWJlbCB8fCBrZXl9XG4gICAgICAgICAgICAgICAgY29uZmlnPXtDT05GSUdfU0VUVElOR1Nba2V5XX1cbiAgICAgICAgICAgICAgICB2YWx1ZT17Y29sb3JSYW5nZUNvbmZpZ1trZXldfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtfdXBkYXRlQ29uZmlnfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtcbiAgICAgICAgICAgICAgICAgIENPTkZJR19TRVRUSU5HU1trZXldLmRpc2FibGVkXG4gICAgICAgICAgICAgICAgICAgID8gQ09ORklHX1NFVFRJTkdTW2tleV0uZGlzYWJsZWQoc2VsZWN0ZWRDb2xvclJhbmdlKVxuICAgICAgICAgICAgICAgICAgICA6IGZhbHNlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlYXNvbj17Q09ORklHX1NFVFRJTkdTW2tleV0ucmVhc29ufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGxcbiAgICAgICAgICApfVxuICAgICAgICA8L1N0eWxlZENvbG9yQ29uZmlnPlxuICAgICAgICB7Y29sb3JSYW5nZUNvbmZpZy5jdXN0b20gPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxTdHlsZWRDb2xvclBhbGV0dGU+XG4gICAgICAgICAgICAgIDxDb2xvclBhbGV0dGVQYW5lbCBjb2xvcnM9e2N1c3RvbVBhbGV0dGUuY29sb3JzfSAvPlxuICAgICAgICAgICAgPC9TdHlsZWRDb2xvclBhbGV0dGU+XG4gICAgICAgICAgICA8Q3VzdG9tUGFsZXR0ZVxuICAgICAgICAgICAgICBjdXN0b21QYWxldHRlPXtjdXN0b21QYWxldHRlfVxuICAgICAgICAgICAgICBzaG93U2tldGNoZXI9e3Nob3dTa2V0Y2hlcn1cbiAgICAgICAgICAgICAgb25BcHBseT17X29uQXBwbHl9XG4gICAgICAgICAgICAgIHNldENvbG9yUGFsZXR0ZVVJPXtzZXRDb2xvclBhbGV0dGVVSX1cbiAgICAgICAgICAgICAgb25DYW5jZWw9e19vbkN1c3RvbVBhbGV0dGVDYW5jZWx9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sb3ItcGFsZXR0ZV9fZ3JvdXBcIj5cbiAgICAgICAgICAgIHtmaWx0ZXJlZENvbG9yUGFsZXR0ZXMubWFwKChjb2xvclBhbGV0dGUsIGkpID0+IChcbiAgICAgICAgICAgICAgPENvbG9yUGFsZXR0ZUl0ZW1cbiAgICAgICAgICAgICAgICBrZXk9e2Ake2NvbG9yUGFsZXR0ZS5uYW1lfS0ke2l9YH1cbiAgICAgICAgICAgICAgICBjb2xvclBhbGV0dGU9e2NvbG9yUGFsZXR0ZX1cbiAgICAgICAgICAgICAgICBzZWxlY3RlZENvbG9yUmFuZ2U9e3NlbGVjdGVkQ29sb3JSYW5nZX1cbiAgICAgICAgICAgICAgICBvblNlbGVjdD17X29uU2VsZWN0UGFsZXR0ZX1cbiAgICAgICAgICAgICAgICByZXZlcnNlZD17cmV2ZXJzZWR9XG4gICAgICAgICAgICAgICAgc3RlcHM9e3N0ZXBzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZENvbG9yUmFuZ2VTZWxlY3Rvcj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBDb2xvclJhbmdlU2VsZWN0b3I7XG59XG5cbmV4cG9ydCBjb25zdCBQYWxldHRlQ29uZmlnOiBSZWFjdC5GQzxQYWxldHRlQ29uZmlnUHJvcHM+ID0gKHtcbiAgcHJvcCxcbiAgbGFiZWwsXG4gIHZhbHVlLFxuICBjb25maWc6IHt0eXBlLCBvcHRpb25zfSxcbiAgb25DaGFuZ2UsXG4gIGRpc2FibGVkLFxuICByZWFzb25cbn0pID0+IHtcbiAgY29uc3QgdXBkYXRlU2VsZWN0ID0gdXNlQ2FsbGJhY2sodmFsID0+IG9uQ2hhbmdlKHtrZXk6IHByb3AsIHZhbHVlOiB2YWx9KSwgW29uQ2hhbmdlLCBwcm9wXSk7XG4gIGNvbnN0IHVwZGF0ZVN3aXRjaCA9IHVzZUNhbGxiYWNrKFxuICAgICgpID0+IG9uQ2hhbmdlKHtrZXk6IHByb3AsIHZhbHVlOiAhdmFsdWV9KSxcbiAgICBbb25DaGFuZ2UsIHByb3AsIHZhbHVlXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFBhbGV0dGVDb25maWcgY2xhc3NOYW1lPVwiY29sb3ItcGFsZXR0ZV9fY29uZmlnXCIgb25DbGljaz17ZSA9PiBlLnN0b3BQcm9wYWdhdGlvbigpfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sb3ItcGFsZXR0ZV9fY29uZmlnX19sYWJlbFwiPlxuICAgICAgICA8UGFuZWxMYWJlbD5cbiAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17YGNvbG9yLiR7bGFiZWx9YH0gLz5cbiAgICAgICAgPC9QYW5lbExhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT1cImNvbG9yLXBhbGV0dGVfX2NvbmZpZ19fc2VsZWN0XCJcbiAgICAgICAgZGF0YS10aXBcbiAgICAgICAgZGF0YS1mb3I9e2Bjb2xvci1yYW5nZS1jb25maWctJHtwcm9wfWB9XG4gICAgICA+XG4gICAgICAgIHt0eXBlID09PSAnc2VsZWN0JyAmJiAoXG4gICAgICAgICAgPEl0ZW1TZWxlY3RvclxuICAgICAgICAgICAgc2VsZWN0ZWRJdGVtcz17dmFsdWV9XG4gICAgICAgICAgICBvcHRpb25zPXtvcHRpb25zfVxuICAgICAgICAgICAgbXVsdGlTZWxlY3Q9e2ZhbHNlfVxuICAgICAgICAgICAgc2VhcmNoYWJsZT17ZmFsc2V9XG4gICAgICAgICAgICBvbkNoYW5nZT17dXBkYXRlU2VsZWN0fVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgaW5wdXRUaGVtZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICBkaXNwbGF5T3B0aW9uPXtkaXNwbGF5T3B0aW9ufVxuICAgICAgICAgICAgZ2V0T3B0aW9uVmFsdWU9e2dldE9wdGlvblZhbHVlfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHt0eXBlID09PSAnc3dpdGNoJyAmJiAoXG4gICAgICAgICAgPFN3aXRjaFxuICAgICAgICAgICAgY2hlY2tlZD17Qm9vbGVhbih2YWx1ZSl9XG4gICAgICAgICAgICBpZD17YCR7bGFiZWx9LXRvZ2dsZWB9XG4gICAgICAgICAgICBvbkNoYW5nZT17dXBkYXRlU3dpdGNofVxuICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgc2Vjb25kYXJ5XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgICAge2Rpc2FibGVkICYmIHJlYXNvbiA/IChcbiAgICAgICAgICA8VG9vbHRpcCBpZD17YGNvbG9yLXJhbmdlLWNvbmZpZy0ke3Byb3B9YH0gcGxhY2U9XCJyaWdodFwiPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT17e21heFdpZHRoOiAnMjE0cHgnfX0+XG4gICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtyZWFzb259IC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9kaXY+XG4gICAgPC9TdHlsZWRQYWxldHRlQ29uZmlnPlxuICApO1xufTtcbmNvbnN0IFN0eWxlZENvbG9yUmFuZ2UgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnY29sb3ItcGFsZXR0ZS1vdXRlcidcbn0pYFxuICBwYWRkaW5nOiAwIDhweDtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5gO1xuXG50eXBlIENvbG9yUGFsZXR0ZUl0ZW1Qcm9wcyA9IHtcbiAgcmV2ZXJzZWQ/OiBib29sZWFuO1xuICBzZWxlY3RlZD86IENvbG9yUmFuZ2U7XG4gIGNvbG9yUGFsZXR0ZTogQ29sb3JQYWxldHRlO1xuICBzZWxlY3RlZENvbG9yUmFuZ2U6IENvbG9yUmFuZ2U7XG4gIG9uU2VsZWN0OiAoY29sb3JQYWxldHRlOiBDb2xvclBhbGV0dGUsIGU6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gIHN0ZXBzOiBudW1iZXI7XG59O1xuXG5leHBvcnQgY29uc3QgQ29sb3JQYWxldHRlSXRlbTogUmVhY3QuRkM8Q29sb3JQYWxldHRlSXRlbVByb3BzPiA9ICh7XG4gIGNvbG9yUGFsZXR0ZSxcbiAgc3RlcHMsXG4gIHNlbGVjdGVkQ29sb3JSYW5nZSxcbiAgb25TZWxlY3QsXG4gIHJldmVyc2VkXG59KSA9PiB7XG4gIGNvbnN0IGNvbG9ycyA9IHVzZU1lbW8oKCkgPT4gY29sb3JQYWxldHRlLmNvbG9ycyhzdGVwcyksIFtjb2xvclBhbGV0dGUsIHN0ZXBzXSk7XG4gIGNvbnN0IG9uQ2xpY2sgPSB1c2VDYWxsYmFjayhlID0+IG9uU2VsZWN0KGNvbG9yUGFsZXR0ZSwgZSksIFtjb2xvclBhbGV0dGUsIG9uU2VsZWN0XSk7XG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbG9yUmFuZ2Ugb25DbGljaz17b25DbGlja30+XG4gICAgICA8Q29sb3JQYWxldHRlUGFuZWxcbiAgICAgICAgY29sb3JzPXtjb2xvcnN9XG4gICAgICAgIGlzUmV2ZXJzZWQ9e3JldmVyc2VkfVxuICAgICAgICBpc1NlbGVjdGVkPXtjb2xvclBhbGV0dGUubmFtZSA9PT0gc2VsZWN0ZWRDb2xvclJhbmdlLm5hbWV9XG4gICAgICAvPlxuICAgIDwvU3R5bGVkQ29sb3JSYW5nZT5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvbG9yUmFuZ2VTZWxlY3RvckZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxNQUFBLEdB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