@kepler.gl/duckdb 3.1.0-alpha.6 → 3.1.0-alpha.7

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.
@@ -42,8 +42,6 @@ var PreviewDataPanelWOTheme = function PreviewDataPanelWOTheme(_ref) {
42
42
  return (0, _processors.arrowSchemaToFields)(result.schema);
43
43
  }, [result.schema]);
44
44
  var dataContainer = (0, _react.useMemo)(function () {
45
- // const fields = arrowSchemaToFields(result.schema);
46
-
47
45
  var cols = (0, _toConsumableArray2["default"])(Array(result.numCols).keys()).map(function (i) {
48
46
  return result.getChildAt(i);
49
47
  });
@@ -135,4 +133,4 @@ var PreviewDataPanelWOTheme = function PreviewDataPanelWOTheme(_ref) {
135
133
  });
136
134
  };
137
135
  var PreviewDataPanel = exports.PreviewDataPanel = (0, _styledComponents.withTheme)(PreviewDataPanelWOTheme);
138
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY29tcG9uZW50cyIsIl91dGlscyIsIl9wcm9jZXNzb3JzIiwiX3N0eWxlZENvbXBvbmVudHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJERUZBVUxUX1JPV1NfVE9fQ0FMQ1VMQVRFX1BSRVZJRVciLCJtaW5DZWxsU2l6ZSIsIm9wdGlvbkJ1dHRvbldpZHRoIiwicGluQnV0dG9uIiwiY2VsbFBhZGRpbmciLCJQcmV2aWV3RGF0YVBhbmVsV09UaGVtZSIsIl9yZWYiLCJyZXN1bHQiLCJfcmVmJHJvd3NUb0NhbGN1bGF0ZVAiLCJyb3dzVG9DYWxjdWxhdGVQcmV2aWV3Iiwic2V0Q29sdW1uRGlzcGxheUZvcm1hdCIsIl9yZWYkZGVmYXVsdFBpbm5lZENvbCIsImRlZmF1bHRQaW5uZWRDb2x1bW5zIiwidGhlbWUiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJwaW5uZWRDb2x1bW5zIiwic2V0UGlubmVkQ29sdW1ucyIsImZpZWxkcyIsInVzZU1lbW8iLCJhcnJvd1NjaGVtYVRvRmllbGRzIiwic2NoZW1hIiwiZGF0YUNvbnRhaW5lciIsImNvbHMiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiQXJyYXkiLCJudW1Db2xzIiwibWFwIiwiZ2V0Q2hpbGRBdCIsImNyZWF0ZURhdGFDb250YWluZXIiLCJpbnB1dERhdGFGb3JtYXQiLCJEYXRhRm9ybSIsIkNPTFNfQVJSQVkiLCJjb2x1bW5zIiwiZiIsIm5hbWUiLCJjb2xNZXRhIiwicmVkdWNlIiwiYWNjIiwiX3JlZjIiLCJjb2xJZHgiLCJkaXNwbGF5TmFtZSIsInR5cGUiLCJkaXNwbGF5Rm9ybWF0IiwidW5kZWZpbmVkIiwiY29weVRhYmxlQ29sdW1uIiwidXNlQ2FsbGJhY2siLCJjb2x1bW4iLCJfbmF2aWdhdG9yIiwiX2NvbE1ldGEkY29sdW1uIiwidGV4dCIsIm1hcEluZGV4Iiwicm93IiwicGFyc2VGaWVsZFZhbHVlIiwidmFsdWVBdCIsImluZGV4Iiwiam9pbiIsIm5hdmlnYXRvciIsImNsaXBib2FyZCIsIndyaXRlVGV4dCIsInBpblRhYmxlQ29sdW1uIiwiaW5jbHVkZXMiLCJjIiwiY29uY2F0IiwiZGF0YVRhYmxlU3R5bGUiLCJvcHRpb25zQnV0dG9uIiwiZmllbGRUb2tlbldpZHRoIiwiZmllbGRUb2tlblJpZ2h0TWFyZ2luIiwiZm9udFNpemUiLCJjZWxsRm9udFNpemUiLCJmb250IiwiZm9udEZhbWlseSIsImNlbGxTaXplQ2FjaGUiLCJfY29sTWV0YSRjb2x1bW4yIiwicmVuZGVyZWRTaXplIiwibnVtUm93c1RvQ2FsY3VsYXRlIiwiY3JlYXRlRWxlbWVudCIsIkRhdGFUYWJsZSIsIlByZXZpZXdEYXRhUGFuZWwiLCJleHBvcnRzIiwid2l0aFRoZW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJldmlldy1kYXRhLXBhbmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlTWVtbywgdXNlU3RhdGUsIENTU1Byb3BlcnRpZXN9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHtEYXRhVGFibGUsIHJlbmRlcmVkU2l6ZX0gZnJvbSAnQGtlcGxlci5nbC9jb21wb25lbnRzJztcbmltcG9ydCB7cGFyc2VGaWVsZFZhbHVlLCBjcmVhdGVEYXRhQ29udGFpbmVyfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7YXJyb3dTY2hlbWFUb0ZpZWxkc30gZnJvbSAnQGtlcGxlci5nbC9wcm9jZXNzb3JzJztcbmltcG9ydCB7RGF0YUZvcm19IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHt3aXRoVGhlbWV9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxudHlwZSBCYXNlQ29tcG9uZW50UHJvcHMgPSB7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgc3R5bGU/OiBDU1NQcm9wZXJ0aWVzO1xufTtcblxuY29uc3QgREVGQVVMVF9ST1dTX1RPX0NBTENVTEFURV9QUkVWSUVXID0gMTAwO1xuLy8gbWluIENlbGxzaXplIHNob3VsZCB0YWtlIGludG8gYWNjb3VudCBvcHRpb24gYnV0dG9uIGFuZCBmaWVsZCB0b2tlblxuY29uc3QgbWluQ2VsbFNpemUgPSA4MDtcbi8vIG9wdGlvbiBidXR0b25zIGFuZCBmaWVsZCB0b2tlblxuY29uc3Qgb3B0aW9uQnV0dG9uV2lkdGggPSAyMDtcbmNvbnN0IHBpbkJ1dHRvbiA9IDIwO1xuY29uc3QgY2VsbFBhZGRpbmcgPSAyMDtcblxuZXhwb3J0IHR5cGUgQ29sTWV0YSA9IHtcbiAgW2tleTogc3RyaW5nXToge1xuICAgIGNvbElkeDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIERhdGFUYWJsZVN0eWxlID0ge1xuICBtaW5DZWxsU2l6ZT86IG51bWJlcjtcbiAgY2VsbFBhZGRpbmc/OiBudW1iZXI7XG4gIGZvbnRTaXplPzogbnVtYmVyO1xuICBmb250Pzogc3RyaW5nO1xuICBvcHRpb25zQnV0dG9uPzogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgUHJldmlld0RhdGFQYW5lbFByb3BzID0gQmFzZUNvbXBvbmVudFByb3BzICYge1xuICByZXN1bHQ6IGFueTtcbiAgcm93c1RvQ2FsY3VsYXRlUHJldmlldz86IG51bWJlcjtcbiAgdGhlbWU/OiBhbnk7XG4gIHNldENvbHVtbkRpc3BsYXlGb3JtYXQ/OiAoZm9ybWF0czoge1trZXk6IHN0cmluZ106IHN0cmluZ30pID0+IHZvaWQ7XG4gIGRlZmF1bHRQaW5uZWRDb2x1bW5zPzogc3RyaW5nW107XG4gIGRhdGFUYWJsZVN0eWxlOiBEYXRhVGFibGVTdHlsZTtcbiAgb25BZGRSZXN1bHRUb01hcDogKHJlc3VsdDogYW55KSA9PiB2b2lkO1xufTtcblxuY29uc3QgUHJldmlld0RhdGFQYW5lbFdPVGhlbWU6IFJlYWN0LkZDPFByZXZpZXdEYXRhUGFuZWxQcm9wcz4gPSAoe1xuICByZXN1bHQsXG4gIHJvd3NUb0NhbGN1bGF0ZVByZXZpZXcgPSBERUZBVUxUX1JPV1NfVE9fQ0FMQ1VMQVRFX1BSRVZJRVcsXG4gIHNldENvbHVtbkRpc3BsYXlGb3JtYXQsXG4gIGRlZmF1bHRQaW5uZWRDb2x1bW5zID0gW10sXG4gIHRoZW1lXG59KSA9PiB7XG4gIGNvbnN0IFtwaW5uZWRDb2x1bW5zLCBzZXRQaW5uZWRDb2x1bW5zXSA9IHVzZVN0YXRlPHN0cmluZ1tdPihkZWZhdWx0UGlubmVkQ29sdW1ucyk7XG4gIGNvbnN0IGZpZWxkcyA9IHVzZU1lbW8oKCkgPT4gYXJyb3dTY2hlbWFUb0ZpZWxkcyhyZXN1bHQuc2NoZW1hKSwgW3Jlc3VsdC5zY2hlbWFdKTtcbiAgY29uc3QgZGF0YUNvbnRhaW5lciA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIC8vIGNvbnN0IGZpZWxkcyA9IGFycm93U2NoZW1hVG9GaWVsZHMocmVzdWx0LnNjaGVtYSk7XG5cbiAgICBjb25zdCBjb2xzID0gWy4uLkFycmF5KHJlc3VsdC5udW1Db2xzKS5rZXlzKCldLm1hcChpID0+IHJlc3VsdC5nZXRDaGlsZEF0KGkpKTtcblxuICAgIGNvbnN0IGRhdGFDb250YWluZXIgPSBjcmVhdGVEYXRhQ29udGFpbmVyKGNvbHMsIHtcbiAgICAgIGZpZWxkcyxcbiAgICAgIGlucHV0RGF0YUZvcm1hdDogRGF0YUZvcm0uQ09MU19BUlJBWVxuICAgIH0pO1xuICAgIHJldHVybiBkYXRhQ29udGFpbmVyO1xuICB9LCBbcmVzdWx0LCBmaWVsZHNdKTtcblxuICBjb25zdCBjb2x1bW5zID0gdXNlTWVtbygoKSA9PiBmaWVsZHMubWFwKGYgPT4gZi5uYW1lKSwgW2ZpZWxkc10pO1xuICBjb25zdCBjb2xNZXRhID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgZmllbGRzLnJlZHVjZShcbiAgICAgICAgKGFjYywge25hbWUsIGRpc3BsYXlOYW1lLCB0eXBlLCBkaXNwbGF5Rm9ybWF0fSwgY29sSWR4KSA9PiAoe1xuICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICBbbmFtZV06IHtcbiAgICAgICAgICAgIC8vIGJlY2F1c2UgJycgfHwgJ2FhYScgPSAnYWFhJ1xuICAgICAgICAgICAgbmFtZTogZGlzcGxheU5hbWUgIT09IHVuZGVmaW5lZCA/IGRpc3BsYXlOYW1lIDogbmFtZSxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lLFxuICAgICAgICAgICAgZGlzcGxheUZvcm1hdCxcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICBjb2xJZHhcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICB7fVxuICAgICAgKSxcbiAgICBbZmllbGRzXVxuICApO1xuICBjb25zdCBjb3B5VGFibGVDb2x1bW4gPSB1c2VDYWxsYmFjayhcbiAgICBjb2x1bW4gPT4ge1xuICAgICAgY29uc3Qge2NvbElkeCwgdHlwZX0gPSBjb2xNZXRhW2NvbHVtbl07XG4gICAgICBjb25zdCB0ZXh0ID0gZGF0YUNvbnRhaW5lclxuICAgICAgICAubWFwSW5kZXgocm93ID0+IHBhcnNlRmllbGRWYWx1ZShkYXRhQ29udGFpbmVyLnZhbHVlQXQocm93LmluZGV4LCBjb2xJZHgpLCB0eXBlKSlcbiAgICAgICAgLmpvaW4oJ1xcbicpO1xuICAgICAgbmF2aWdhdG9yPy5jbGlwYm9hcmQud3JpdGVUZXh0KHRleHQpO1xuICAgIH0sXG4gICAgW2NvbE1ldGEsIGRhdGFDb250YWluZXJdXG4gICk7XG4gIGNvbnN0IHBpblRhYmxlQ29sdW1uID0gdXNlQ2FsbGJhY2soXG4gICAgY29sdW1uID0+XG4gICAgICBwaW5uZWRDb2x1bW5zLmluY2x1ZGVzKGNvbHVtbilcbiAgICAgICAgPyBzZXRQaW5uZWRDb2x1bW5zKHBpbm5lZENvbHVtbnMuZmlsdGVyKGMgPT4gYyAhPT0gY29sdW1uKSlcbiAgICAgICAgOiBzZXRQaW5uZWRDb2x1bW5zKFsuLi5waW5uZWRDb2x1bW5zLCBjb2x1bW5dKSxcbiAgICBbcGlubmVkQ29sdW1uc11cbiAgKTtcblxuICAvLyBUT0RPIFBvdGVudGlhbGx5IGNvc3RseSBvcGVyYXRpb24gZm9yIG5vbiByb3cgYmFzZWQgZGF0YSBjb250YWluZXJzLiBSZXZpc2l0IHNvcnRpbmcgYmVsb3cuXG4gIGNvbnN0IGRhdGFUYWJsZVN0eWxlID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgbWluQ2VsbFNpemUsXG4gICAgICBjZWxsUGFkZGluZyxcbiAgICAgIG9wdGlvbnNCdXR0b246XG4gICAgICAgIHRoZW1lLmZpZWxkVG9rZW5XaWR0aCArIHRoZW1lLmZpZWxkVG9rZW5SaWdodE1hcmdpbiArIG9wdGlvbkJ1dHRvbldpZHRoICsgcGluQnV0dG9uLFxuICAgICAgZm9udFNpemU6IHRoZW1lLmNlbGxGb250U2l6ZSxcbiAgICAgIGZvbnQ6IHRoZW1lLmZvbnRGYW1pbHlcbiAgICB9KSxcbiAgICBbdGhlbWVdXG4gICk7XG4gIGNvbnN0IGNlbGxTaXplQ2FjaGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gY29sdW1ucy5yZWR1Y2UoKGFjYywgY29sdW1uKSA9PiB7XG4gICAgICBjb25zdCB7Y29sSWR4LCBkaXNwbGF5TmFtZSwgdHlwZX0gPSBjb2xNZXRhW2NvbHVtbl07XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5hY2MsXG4gICAgICAgIFtjb2x1bW5dOiByZW5kZXJlZFNpemUoe1xuICAgICAgICAgIHRleHQ6IHtcbiAgICAgICAgICAgIGRhdGFDb250YWluZXIsXG4gICAgICAgICAgICBjb2x1bW46IGRpc3BsYXlOYW1lXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjb2xJZHgsXG4gICAgICAgICAgdHlwZSxcbiAgICAgICAgICBudW1Sb3dzVG9DYWxjdWxhdGU6IHJvd3NUb0NhbGN1bGF0ZVByZXZpZXcsXG4gICAgICAgICAgLi4uZGF0YVRhYmxlU3R5bGVcbiAgICAgICAgfSlcbiAgICAgIH07XG4gICAgfSwge30pO1xuICB9LCBbY29sdW1ucywgY29sTWV0YSwgZGF0YUNvbnRhaW5lciwgcm93c1RvQ2FsY3VsYXRlUHJldmlldywgZGF0YVRhYmxlU3R5bGVdKTtcblxuICByZXR1cm4gKFxuICAgIDxEYXRhVGFibGVcbiAgICAgIGNvbE1ldGE9e2NvbE1ldGF9XG4gICAgICBjb2x1bW5zPXtjb2x1bW5zfVxuICAgICAgY2VsbFNpemVDYWNoZT17Y2VsbFNpemVDYWNoZX1cbiAgICAgIGRhdGFDb250YWluZXI9e2RhdGFDb250YWluZXJ9XG4gICAgICBwaW5uZWRDb2x1bW5zPXtwaW5uZWRDb2x1bW5zfVxuICAgICAgLy8gICBzb3J0Q29sdW1uPXtzb3J0Q29sdW1uQ29uZmlnfVxuICAgICAgY29weVRhYmxlQ29sdW1uPXtjb3B5VGFibGVDb2x1bW59XG4gICAgICBwaW5UYWJsZUNvbHVtbj17cGluVGFibGVDb2x1bW59XG4gICAgICAvLyAgIHNvcnRUYWJsZUNvbHVtbj17c2V0VGFibGVTb3J0Q29sdW1ufVxuICAgICAgc2V0Q29sdW1uRGlzcGxheUZvcm1hdD17c2V0Q29sdW1uRGlzcGxheUZvcm1hdCA/PyAoKCkgPT4gbnVsbCl9XG4gICAgLz5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBQcmV2aWV3RGF0YVBhbmVsID0gd2l0aFRoZW1lKFxuICBQcmV2aWV3RGF0YVBhbmVsV09UaGVtZVxuKSBhcyBSZWFjdC5GQzxQcmV2aWV3RGF0YVBhbmVsUHJvcHM+O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQUVBLElBQUFJLGlCQUFBLEdBQUFKLE9BQUE7QUFBNEMsU0FBQUsseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFQLHdCQUFBTyxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLE9BQUEsQ0FBQUwsQ0FBQSwwQkFBQUEsQ0FBQSxzQkFBQUEsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtBQUFDLFNBQUEsVUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxDQUFBLElBQUFkLENBQUEs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
136
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY29tcG9uZW50cyIsIl91dGlscyIsIl9wcm9jZXNzb3JzIiwiX3N0eWxlZENvbXBvbmVudHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJERUZBVUxUX1JPV1NfVE9fQ0FMQ1VMQVRFX1BSRVZJRVciLCJtaW5DZWxsU2l6ZSIsIm9wdGlvbkJ1dHRvbldpZHRoIiwicGluQnV0dG9uIiwiY2VsbFBhZGRpbmciLCJQcmV2aWV3RGF0YVBhbmVsV09UaGVtZSIsIl9yZWYiLCJyZXN1bHQiLCJfcmVmJHJvd3NUb0NhbGN1bGF0ZVAiLCJyb3dzVG9DYWxjdWxhdGVQcmV2aWV3Iiwic2V0Q29sdW1uRGlzcGxheUZvcm1hdCIsIl9yZWYkZGVmYXVsdFBpbm5lZENvbCIsImRlZmF1bHRQaW5uZWRDb2x1bW5zIiwidGhlbWUiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJwaW5uZWRDb2x1bW5zIiwic2V0UGlubmVkQ29sdW1ucyIsImZpZWxkcyIsInVzZU1lbW8iLCJhcnJvd1NjaGVtYVRvRmllbGRzIiwic2NoZW1hIiwiZGF0YUNvbnRhaW5lciIsImNvbHMiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiQXJyYXkiLCJudW1Db2xzIiwibWFwIiwiZ2V0Q2hpbGRBdCIsImNyZWF0ZURhdGFDb250YWluZXIiLCJpbnB1dERhdGFGb3JtYXQiLCJEYXRhRm9ybSIsIkNPTFNfQVJSQVkiLCJjb2x1bW5zIiwiZiIsIm5hbWUiLCJjb2xNZXRhIiwicmVkdWNlIiwiYWNjIiwiX3JlZjIiLCJjb2xJZHgiLCJkaXNwbGF5TmFtZSIsInR5cGUiLCJkaXNwbGF5Rm9ybWF0IiwidW5kZWZpbmVkIiwiY29weVRhYmxlQ29sdW1uIiwidXNlQ2FsbGJhY2siLCJjb2x1bW4iLCJfbmF2aWdhdG9yIiwiX2NvbE1ldGEkY29sdW1uIiwidGV4dCIsIm1hcEluZGV4Iiwicm93IiwicGFyc2VGaWVsZFZhbHVlIiwidmFsdWVBdCIsImluZGV4Iiwiam9pbiIsIm5hdmlnYXRvciIsImNsaXBib2FyZCIsIndyaXRlVGV4dCIsInBpblRhYmxlQ29sdW1uIiwiaW5jbHVkZXMiLCJjIiwiY29uY2F0IiwiZGF0YVRhYmxlU3R5bGUiLCJvcHRpb25zQnV0dG9uIiwiZmllbGRUb2tlbldpZHRoIiwiZmllbGRUb2tlblJpZ2h0TWFyZ2luIiwiZm9udFNpemUiLCJjZWxsRm9udFNpemUiLCJmb250IiwiZm9udEZhbWlseSIsImNlbGxTaXplQ2FjaGUiLCJfY29sTWV0YSRjb2x1bW4yIiwicmVuZGVyZWRTaXplIiwibnVtUm93c1RvQ2FsY3VsYXRlIiwiY3JlYXRlRWxlbWVudCIsIkRhdGFUYWJsZSIsIlByZXZpZXdEYXRhUGFuZWwiLCJleHBvcnRzIiwid2l0aFRoZW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJldmlldy1kYXRhLXBhbmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlTWVtbywgdXNlU3RhdGUsIENTU1Byb3BlcnRpZXN9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHtEYXRhVGFibGUsIHJlbmRlcmVkU2l6ZX0gZnJvbSAnQGtlcGxlci5nbC9jb21wb25lbnRzJztcbmltcG9ydCB7cGFyc2VGaWVsZFZhbHVlLCBjcmVhdGVEYXRhQ29udGFpbmVyfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7YXJyb3dTY2hlbWFUb0ZpZWxkc30gZnJvbSAnQGtlcGxlci5nbC9wcm9jZXNzb3JzJztcbmltcG9ydCB7RGF0YUZvcm19IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHt3aXRoVGhlbWV9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxudHlwZSBCYXNlQ29tcG9uZW50UHJvcHMgPSB7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgc3R5bGU/OiBDU1NQcm9wZXJ0aWVzO1xufTtcblxuY29uc3QgREVGQVVMVF9ST1dTX1RPX0NBTENVTEFURV9QUkVWSUVXID0gMTAwO1xuLy8gbWluIENlbGxzaXplIHNob3VsZCB0YWtlIGludG8gYWNjb3VudCBvcHRpb24gYnV0dG9uIGFuZCBmaWVsZCB0b2tlblxuY29uc3QgbWluQ2VsbFNpemUgPSA4MDtcbi8vIG9wdGlvbiBidXR0b25zIGFuZCBmaWVsZCB0b2tlblxuY29uc3Qgb3B0aW9uQnV0dG9uV2lkdGggPSAyMDtcbmNvbnN0IHBpbkJ1dHRvbiA9IDIwO1xuY29uc3QgY2VsbFBhZGRpbmcgPSAyMDtcblxuZXhwb3J0IHR5cGUgQ29sTWV0YSA9IHtcbiAgW2tleTogc3RyaW5nXToge1xuICAgIGNvbElkeDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIERhdGFUYWJsZVN0eWxlID0ge1xuICBtaW5DZWxsU2l6ZT86IG51bWJlcjtcbiAgY2VsbFBhZGRpbmc/OiBudW1iZXI7XG4gIGZvbnRTaXplPzogbnVtYmVyO1xuICBmb250Pzogc3RyaW5nO1xuICBvcHRpb25zQnV0dG9uPzogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgUHJldmlld0RhdGFQYW5lbFByb3BzID0gQmFzZUNvbXBvbmVudFByb3BzICYge1xuICByZXN1bHQ6IGFueTtcbiAgcm93c1RvQ2FsY3VsYXRlUHJldmlldz86IG51bWJlcjtcbiAgdGhlbWU/OiBhbnk7XG4gIHNldENvbHVtbkRpc3BsYXlGb3JtYXQ/OiAoZm9ybWF0czoge1trZXk6IHN0cmluZ106IHN0cmluZ30pID0+IHZvaWQ7XG4gIGRlZmF1bHRQaW5uZWRDb2x1bW5zPzogc3RyaW5nW107XG4gIGRhdGFUYWJsZVN0eWxlOiBEYXRhVGFibGVTdHlsZTtcbiAgb25BZGRSZXN1bHRUb01hcDogKHJlc3VsdDogYW55KSA9PiB2b2lkO1xufTtcblxuY29uc3QgUHJldmlld0RhdGFQYW5lbFdPVGhlbWU6IFJlYWN0LkZDPFByZXZpZXdEYXRhUGFuZWxQcm9wcz4gPSAoe1xuICByZXN1bHQsXG4gIHJvd3NUb0NhbGN1bGF0ZVByZXZpZXcgPSBERUZBVUxUX1JPV1NfVE9fQ0FMQ1VMQVRFX1BSRVZJRVcsXG4gIHNldENvbHVtbkRpc3BsYXlGb3JtYXQsXG4gIGRlZmF1bHRQaW5uZWRDb2x1bW5zID0gW10sXG4gIHRoZW1lXG59KSA9PiB7XG4gIGNvbnN0IFtwaW5uZWRDb2x1bW5zLCBzZXRQaW5uZWRDb2x1bW5zXSA9IHVzZVN0YXRlPHN0cmluZ1tdPihkZWZhdWx0UGlubmVkQ29sdW1ucyk7XG4gIGNvbnN0IGZpZWxkcyA9IHVzZU1lbW8oKCkgPT4gYXJyb3dTY2hlbWFUb0ZpZWxkcyhyZXN1bHQuc2NoZW1hKSwgW3Jlc3VsdC5zY2hlbWFdKTtcbiAgY29uc3QgZGF0YUNvbnRhaW5lciA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGNvbHMgPSBbLi4uQXJyYXkocmVzdWx0Lm51bUNvbHMpLmtleXMoKV0ubWFwKGkgPT4gcmVzdWx0LmdldENoaWxkQXQoaSkpO1xuXG4gICAgY29uc3QgZGF0YUNvbnRhaW5lciA9IGNyZWF0ZURhdGFDb250YWluZXIoY29scywge1xuICAgICAgZmllbGRzLFxuICAgICAgaW5wdXREYXRhRm9ybWF0OiBEYXRhRm9ybS5DT0xTX0FSUkFZXG4gICAgfSk7XG4gICAgcmV0dXJuIGRhdGFDb250YWluZXI7XG4gIH0sIFtyZXN1bHQsIGZpZWxkc10pO1xuXG4gIGNvbnN0IGNvbHVtbnMgPSB1c2VNZW1vKCgpID0+IGZpZWxkcy5tYXAoZiA9PiBmLm5hbWUpLCBbZmllbGRzXSk7XG4gIGNvbnN0IGNvbE1ldGEgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBmaWVsZHMucmVkdWNlKFxuICAgICAgICAoYWNjLCB7bmFtZSwgZGlzcGxheU5hbWUsIHR5cGUsIGRpc3BsYXlGb3JtYXR9LCBjb2xJZHgpID0+ICh7XG4gICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgIFtuYW1lXToge1xuICAgICAgICAgICAgLy8gYmVjYXVzZSAnJyB8fCAnYWFhJyA9ICdhYWEnXG4gICAgICAgICAgICBuYW1lOiBkaXNwbGF5TmFtZSAhPT0gdW5kZWZpbmVkID8gZGlzcGxheU5hbWUgOiBuYW1lLFxuICAgICAgICAgICAgZGlzcGxheU5hbWUsXG4gICAgICAgICAgICBkaXNwbGF5Rm9ybWF0LFxuICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgIGNvbElkeFxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIHt9XG4gICAgICApLFxuICAgIFtmaWVsZHNdXG4gICk7XG4gIGNvbnN0IGNvcHlUYWJsZUNvbHVtbiA9IHVzZUNhbGxiYWNrKFxuICAgIGNvbHVtbiA9PiB7XG4gICAgICBjb25zdCB7Y29sSWR4LCB0eXBlfSA9IGNvbE1ldGFbY29sdW1uXTtcbiAgICAgIGNvbnN0IHRleHQgPSBkYXRhQ29udGFpbmVyXG4gICAgICAgIC5tYXBJbmRleChyb3cgPT4gcGFyc2VGaWVsZFZhbHVlKGRhdGFDb250YWluZXIudmFsdWVBdChyb3cuaW5kZXgsIGNvbElkeCksIHR5cGUpKVxuICAgICAgICAuam9pbignXFxuJyk7XG4gICAgICBuYXZpZ2F0b3I/LmNsaXBib2FyZC53cml0ZVRleHQodGV4dCk7XG4gICAgfSxcbiAgICBbY29sTWV0YSwgZGF0YUNvbnRhaW5lcl1cbiAgKTtcbiAgY29uc3QgcGluVGFibGVDb2x1bW4gPSB1c2VDYWxsYmFjayhcbiAgICBjb2x1bW4gPT5cbiAgICAgIHBpbm5lZENvbHVtbnMuaW5jbHVkZXMoY29sdW1uKVxuICAgICAgICA/IHNldFBpbm5lZENvbHVtbnMocGlubmVkQ29sdW1ucy5maWx0ZXIoYyA9PiBjICE9PSBjb2x1bW4pKVxuICAgICAgICA6IHNldFBpbm5lZENvbHVtbnMoWy4uLnBpbm5lZENvbHVtbnMsIGNvbHVtbl0pLFxuICAgIFtwaW5uZWRDb2x1bW5zXVxuICApO1xuXG4gIC8vIFRPRE8gUG90ZW50aWFsbHkgY29zdGx5IG9wZXJhdGlvbiBmb3Igbm9uIHJvdyBiYXNlZCBkYXRhIGNvbnRhaW5lcnMuIFJldmlzaXQgc29ydGluZyBiZWxvdy5cbiAgY29uc3QgZGF0YVRhYmxlU3R5bGUgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBtaW5DZWxsU2l6ZSxcbiAgICAgIGNlbGxQYWRkaW5nLFxuICAgICAgb3B0aW9uc0J1dHRvbjpcbiAgICAgICAgdGhlbWUuZmllbGRUb2tlbldpZHRoICsgdGhlbWUuZmllbGRUb2tlblJpZ2h0TWFyZ2luICsgb3B0aW9uQnV0dG9uV2lkdGggKyBwaW5CdXR0b24sXG4gICAgICBmb250U2l6ZTogdGhlbWUuY2VsbEZvbnRTaXplLFxuICAgICAgZm9udDogdGhlbWUuZm9udEZhbWlseVxuICAgIH0pLFxuICAgIFt0aGVtZV1cbiAgKTtcbiAgY29uc3QgY2VsbFNpemVDYWNoZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBjb2x1bW5zLnJlZHVjZSgoYWNjLCBjb2x1bW4pID0+IHtcbiAgICAgIGNvbnN0IHtjb2xJZHgsIGRpc3BsYXlOYW1lLCB0eXBlfSA9IGNvbE1ldGFbY29sdW1uXTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmFjYyxcbiAgICAgICAgW2NvbHVtbl06IHJlbmRlcmVkU2l6ZSh7XG4gICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgZGF0YUNvbnRhaW5lcixcbiAgICAgICAgICAgIGNvbHVtbjogZGlzcGxheU5hbWVcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNvbElkeCxcbiAgICAgICAgICB0eXBlLFxuICAgICAgICAgIG51bVJvd3NUb0NhbGN1bGF0ZTogcm93c1RvQ2FsY3VsYXRlUHJldmlldyxcbiAgICAgICAgICAuLi5kYXRhVGFibGVTdHlsZVxuICAgICAgICB9KVxuICAgICAgfTtcbiAgICB9LCB7fSk7XG4gIH0sIFtjb2x1bW5zLCBjb2xNZXRhLCBkYXRhQ29udGFpbmVyLCByb3dzVG9DYWxjdWxhdGVQcmV2aWV3LCBkYXRhVGFibGVTdHlsZV0pO1xuXG4gIHJldHVybiAoXG4gICAgPERhdGFUYWJsZVxuICAgICAgY29sTWV0YT17Y29sTWV0YX1cbiAgICAgIGNvbHVtbnM9e2NvbHVtbnN9XG4gICAgICBjZWxsU2l6ZUNhY2hlPXtjZWxsU2l6ZUNhY2hlfVxuICAgICAgZGF0YUNvbnRhaW5lcj17ZGF0YUNvbnRhaW5lcn1cbiAgICAgIHBpbm5lZENvbHVtbnM9e3Bpbm5lZENvbHVtbnN9XG4gICAgICAvLyAgIHNvcnRDb2x1bW49e3NvcnRDb2x1bW5Db25maWd9XG4gICAgICBjb3B5VGFibGVDb2x1bW49e2NvcHlUYWJsZUNvbHVtbn1cbiAgICAgIHBpblRhYmxlQ29sdW1uPXtwaW5UYWJsZUNvbHVtbn1cbiAgICAgIC8vICAgc29ydFRhYmxlQ29sdW1uPXtzZXRUYWJsZVNvcnRDb2x1bW59XG4gICAgICBzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0PXtzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0ID8/ICgoKSA9PiBudWxsKX1cbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IFByZXZpZXdEYXRhUGFuZWwgPSB3aXRoVGhlbWUoXG4gIFByZXZpZXdEYXRhUGFuZWxXT1RoZW1lXG4pIGFzIFJlYWN0LkZDPFByZXZpZXdEYXRhUGFuZWxQcm9wcz47XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBRUEsSUFBQUksaUJBQUEsR0FBQUosT0FBQTtBQUE0QyxTQUFBSyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQVAsd0JBQUFPLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBUCxDQUFBLE9BQUFRLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLENBQUEsSUFBQWQsQ0FBQSxvQkFBQWMsQ0FBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsQ0FBQSxTQUFB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
@@ -41,6 +41,9 @@ var StyledResizeHandle = (0, _styledComponents["default"])(_reactResizablePanels
41
41
  var StyledVerticalResizeHandle = (0, _styledComponents["default"])(_reactResizablePanels.PanelResizeHandle)(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n height: 4px;\n cursor: row-resize;\n\n &:hover {\n background-color: #555;\n }\n"])), _styles.panelBorderColor);
42
42
  var StyledLoadingContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: center;\n align-items: center;\n height: 100%;\n"])));
43
43
  var StyledErrorContainer = _styledComponents["default"].pre(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 12px;\n color: red;\n font-size: 12px;\n background-color: ", ";\n height: 100%;\n overflow: auto;\n"])), _styles.sidePanelBg);
44
+ var SCHEMA_PANEL_STYLE = {
45
+ overflow: 'auto'
46
+ };
44
47
  var SqlPanel = exports.SqlPanel = function SqlPanel(_ref) {
45
48
  var _ref$initialSql = _ref.initialSql,
46
49
  initialSql = _ref$initialSql === void 0 ? '' : _ref$initialSql;
@@ -158,7 +161,8 @@ var SqlPanel = exports.SqlPanel = function SqlPanel(_ref) {
158
161
  direction: "horizontal"
159
162
  }, /*#__PURE__*/_react["default"].createElement(_reactResizablePanels.Panel, {
160
163
  defaultSize: 20,
161
- minSize: 15
164
+ minSize: 15,
165
+ style: SCHEMA_PANEL_STYLE
162
166
  }, /*#__PURE__*/_react["default"].createElement(_schemaPanel.SchemaPanel, {
163
167
  setTableSchema: setTableSchema
164
168
  })), /*#__PURE__*/_react["default"].createElement(StyledResizeHandle, null), /*#__PURE__*/_react["default"].createElement(_reactResizablePanels.Panel, {
@@ -196,4 +200,4 @@ var SqlPanel = exports.SqlPanel = function SqlPanel(_ref) {
196
200
  onAddResultToMap: onAddResultToMap
197
201
  })) : null))))));
198
202
  };
199
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9yZWFjdFJlc2l6YWJsZVBhbmVscyIsIl9tb25hY29FZGl0b3IiLCJfc2NoZW1hUGFuZWwiLCJfcHJldmlld0RhdGFQYW5lbCIsIl9pbml0IiwiX2NvbXBvbmVudHMiLCJfY29tbW9uVXRpbHMiLCJfYWN0aW9ucyIsIl9zdHlsZXMiLCJfdXRpbHMiLCJfcHJvY2Vzc29ycyIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX3RlbXBsYXRlT2JqZWN0NCIsIl90ZW1wbGF0ZU9iamVjdDUiLCJfdGVtcGxhdGVPYmplY3Q2IiwiX3RlbXBsYXRlT2JqZWN0NyIsIl90ZW1wbGF0ZU9iamVjdDgiLCJfdGVtcGxhdGVPYmplY3Q5IiwiX3RlbXBsYXRlT2JqZWN0MTAiLCJfdGVtcGxhdGVPYmplY3QxMSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIlN0eWxlZFNxbFBhbmVsIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJzaWRlUGFuZWxCZyIsIlN0eWxlZFNxbEFjdGlvbnMiLCJTdHlsZWRTcWxFZGl0b3IiLCJTdHlsZWRFZGl0b3JQYW5lbCIsIlN0eWxlZERhdGFQYW5lbCIsIlN0eWxlZEVkaXRvciIsInByb3BzIiwiaXNSdW5uaW5nIiwiU3R5bGVkUmVzdWx0QWN0aW9ucyIsIlN0eWxlZFJlc2l6ZUhhbmRsZSIsIlBhbmVsUmVzaXplSGFuZGxlIiwicGFuZWxCb3JkZXJDb2xvciIsIlN0eWxlZFZlcnRpY2FsUmVzaXplSGFuZGxlIiwiU3R5bGVkTG9hZGluZ0NvbnRhaW5lciIsIlN0eWxlZEVycm9yQ29udGFpbmVyIiwicHJlIiwiU3FsUGFuZWwiLCJleHBvcnRzIiwiX3JlZiIsIl9yZWYkaW5pdGlhbFNxbCIsImluaXRpYWxTcWwiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsInBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsIndpbmRvdyIsImxvY2F0aW9uIiwic2VhcmNoIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNxbCIsInNldFNxbCIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwicmVzdWx0Iiwic2V0UmVzdWx0IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJlcnJvciIsInNldEVycm9yIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJjb3VudGVyIiwic2V0Q291bnRlciIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUxMCIsInRhYmxlU2NoZW1hIiwic2V0VGFibGVTY2hlbWEiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwic2V0SXNSdW5uaW5nIiwiX3VzZVN0YXRlMTMiLCJpc0FwcGxlRGV2aWNlIiwiX3VzZVN0YXRlMTQiLCJpc01hYyIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJ1c2VFZmZlY3QiLCJjdXJyZW50VXJsIiwiVVJMIiwiaHJlZiIsInNlYXJjaFBhcmFtcyIsImhpc3RvcnkiLCJyZXBsYWNlU3RhdGUiLCJ0b1N0cmluZyIsInJ1blF1ZXJ5IiwidXNlQ2FsbGJhY2siLCJfYXN5bmNUb0dlbmVyYXRvcjIiLCJfcmVnZW5lcmF0b3IiLCJtYXJrIiwiX2NhbGxlZSIsImRiIiwiY29ubmVjdGlvbiIsImFycm93UmVzdWx0Iiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInRyaW0iLCJFcnJvciIsImFicnVwdCIsImdldER1Y2tEQiIsInNlbnQiLCJjb25uZWN0IiwicXVlcnkiLCJjbG9zZSIsInQwIiwiZmluaXNoIiwic3RvcCIsIm9uQ2hhbmdlIiwidmFsdWUiLCJvbkFkZFJlc3VsdFRvTWFwIiwia2VwbGVyRmllbGRzIiwiYXJyb3dTY2hlbWFUb0ZpZWxkcyIsInNjaGVtYSIsImRhdGFzZXRUb0FkZCIsImRhdGEiLCJmaWVsZHMiLCJyb3dzIiwiaW5mbyIsImlkIiwiZ2VuZXJhdGVIYXNoSWQiLCJsYWJlbCIsImNvbmNhdCIsImZvcm1hdCIsImFkZERhdGFUb01hcCIsImRhdGFzZXRzIiwiY3JlYXRlRWxlbWVudCIsIlBhbmVsR3JvdXAiLCJkaXJlY3Rpb24iLCJQYW5lbCIsImRlZmF1bHRTaXplIiwibWluU2l6ZSIsIlNjaGVtYVBhbmVsIiwiY2xhc3NOYW1lIiwiSWNvbkJ1dHRvbiIsIm9uQ2xpY2siLCJkaXNhYmxlZCIsIkljb25zIiwiUGxheSIsImhlaWdodCIsIlRvb2x0aXAiLCJwbGFjZSIsImVmZmVjdCIsImlzUmVhZE9ubHkiLCJvblJ1blF1ZXJ5IiwiY29kZSIsIkxvYWRpbmdTcGlubmVyIiwibWVzc2FnZSIsIkJ1dHRvbiIsInNlY29uZGFyeSIsIm51bVJvd3MiLCJQcmV2aWV3RGF0YVBhbmVsIiwiZGF0YVRhYmxlU3R5bGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9zcWwtcGFuZWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCAqIGFzIGFycm93IGZyb20gJ2FwYWNoZS1hcnJvdyc7XG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlU3RhdGUsIHVzZUVmZmVjdH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHt1c2VEaXNwYXRjaH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge1BhbmVsLCBQYW5lbEdyb3VwLCBQYW5lbFJlc2l6ZUhhbmRsZX0gZnJvbSAncmVhY3QtcmVzaXphYmxlLXBhbmVscyc7XG5pbXBvcnQgTW9uYWNvRWRpdG9yIGZyb20gJy4vbW9uYWNvLWVkaXRvcic7XG5pbXBvcnQge1NjaGVtYVBhbmVsfSBmcm9tICcuL3NjaGVtYS1wYW5lbCc7XG5pbXBvcnQge1ByZXZpZXdEYXRhUGFuZWx9IGZyb20gJy4vcHJldmlldy1kYXRhLXBhbmVsJztcbmltcG9ydCB7Z2V0RHVja0RCfSBmcm9tICcuLi9pbml0JztcbmltcG9ydCB7QnV0dG9uLCBJY29uQnV0dG9uLCBUb29sdGlwfSBmcm9tICdAa2VwbGVyLmdsL2NvbXBvbmVudHMnO1xuaW1wb3J0IHtnZW5lcmF0ZUhhc2hJZH0gZnJvbSAnQGtlcGxlci5nbC9jb21tb24tdXRpbHMnO1xuaW1wb3J0IHthZGREYXRhVG9NYXB9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge0ljb25zLCBMb2FkaW5nU3Bpbm5lcn0gZnJvbSAnQGtlcGxlci5nbC9jb21wb25lbnRzJztcbmltcG9ydCB7c2lkZVBhbmVsQmcsIHBhbmVsQm9yZGVyQ29sb3J9IGZyb20gJ0BrZXBsZXIuZ2wvc3R5bGVzJztcbmltcG9ydCB7aXNBcHBsZURldmljZX0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge2Fycm93U2NoZW1hVG9GaWVsZHN9IGZyb20gJ0BrZXBsZXIuZ2wvcHJvY2Vzc29ycyc7XG5cbmNvbnN0IFN0eWxlZFNxbFBhbmVsID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3NpZGVQYW5lbEJnfTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjMzMzO1xuYDtcblxuY29uc3QgU3R5bGVkU3FsQWN0aW9ucyA9IHN0eWxlZC5kaXZgXG4gIGZsZXg6IDAgMCA1MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogMTJweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzMztcbmA7XG5cbmNvbnN0IFN0eWxlZFNxbEVkaXRvciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDsgLy8gUHJldmVudHMgZmxleCBjaGlsZCBmcm9tIG92ZXJmbG93aW5nXG4gIGhlaWdodDogMTAwJTtcbmA7XG5cbmNvbnN0IFN0eWxlZEVkaXRvclBhbmVsID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtzaWRlUGFuZWxCZ307XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiA1cHg7XG4gIGZsZXgtZ3JvdzogMTtcbmA7XG5cbmNvbnN0IFN0eWxlZERhdGFQYW5lbCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG5gO1xuXG5jb25zdCBTdHlsZWRFZGl0b3IgPSBzdHlsZWQuZGl2PHtpc1J1bm5pbmc6IGJvb2xlYW59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMTJweCAxMnB4IDEycHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDMwLCAzMCwgMzApO1xuICBvcGFjaXR5OiAke3Byb3BzID0+IChwcm9wcy5pc1J1bm5pbmcgPyAwLjUgOiAxKX07XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDA7IC8vIFByZXZlbnRzIGZsZXggY2hpbGQgZnJvbSBvdmVyZmxvd2luZ1xuYDtcblxuY29uc3QgU3R5bGVkUmVzdWx0QWN0aW9ucyA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAycHggMTJweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDEycHg7XG5gO1xuXG5jb25zdCBTdHlsZWRSZXNpemVIYW5kbGUgPSBzdHlsZWQoUGFuZWxSZXNpemVIYW5kbGUpYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3BhbmVsQm9yZGVyQ29sb3J9O1xuICB3aWR0aDogNHB4O1xuICBjdXJzb3I6IGNvbC1yZXNpemU7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkVmVydGljYWxSZXNpemVIYW5kbGUgPSBzdHlsZWQoUGFuZWxSZXNpemVIYW5kbGUpYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3BhbmVsQm9yZGVyQ29sb3J9O1xuICBoZWlnaHQ6IDRweDtcbiAgY3Vyc29yOiByb3ctcmVzaXplO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTU7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZExvYWRpbmdDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuYDtcblxuY29uc3QgU3R5bGVkRXJyb3JDb250YWluZXIgPSBzdHlsZWQucHJlYFxuICBwYWRkaW5nOiAxMnB4O1xuICBjb2xvcjogcmVkO1xuICBmb250LXNpemU6IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7c2lkZVBhbmVsQmd9O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuYDtcblxudHlwZSBTcWxQYW5lbFByb3BzID0ge1xuICBpbml0aWFsU3FsPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IFNxbFBhbmVsOiBSZWFjdC5GQzxTcWxQYW5lbFByb3BzPiA9ICh7aW5pdGlhbFNxbCA9ICcnfSkgPT4ge1xuICBjb25zdCBbc3FsLCBzZXRTcWxdID0gdXNlU3RhdGUoKCkgPT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XG4gICAgcmV0dXJuIHBhcmFtcy5nZXQoJ3NxbCcpIHx8IGluaXRpYWxTcWw7XG4gIH0pO1xuICBjb25zdCBbcmVzdWx0LCBzZXRSZXN1bHRdID0gdXNlU3RhdGU8bnVsbCB8IGFycm93LlRhYmxlPihudWxsKTtcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxFcnJvciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbY291bnRlciwgc2V0Q291bnRlcl0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW3RhYmxlU2NoZW1hLCBzZXRUYWJsZVNjaGVtYV0gPSB1c2VTdGF0ZShbXSk7XG4gIGNvbnN0IFtpc1J1bm5pbmcsIHNldElzUnVubmluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtpc01hY10gPSB1c2VTdGF0ZSgoKSA9PiBpc0FwcGxlRGV2aWNlKCkpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBjdXJyZW50VXJsID0gbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZik7XG4gICAgaWYgKHNxbCkge1xuICAgICAgY3VycmVudFVybC5zZWFyY2hQYXJhbXMuc2V0KCdzcWwnLCBzcWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjdXJyZW50VXJsLnNlYXJjaFBhcmFtcy5kZWxldGUoJ3NxbCcpO1xuICAgIH1cbiAgICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoe30sICcnLCBjdXJyZW50VXJsLnRvU3RyaW5nKCkpO1xuICB9LCBbc3FsXSk7XG5cbiAgY29uc3QgcnVuUXVlcnkgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgc2V0SXNSdW5uaW5nKHRydWUpO1xuICAgIHRyeSB7XG4gICAgICBpZiAoIXNxbD8udHJpbSgpKSB7XG4gICAgICAgIHNldEVycm9yKG5ldyBFcnJvcignUXVlcnkgaXMgZW1wdHknKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZGIgPSBhd2FpdCBnZXREdWNrREIoKTtcbiAgICAgIGNvbnN0IGNvbm5lY3Rpb24gPSBhd2FpdCBkYi5jb25uZWN0KCk7XG5cbiAgICAgIGNvbnN0IGFycm93UmVzdWx0ID0gYXdhaXQgY29ubmVjdGlvbi5xdWVyeShzcWwpO1xuICAgICAgc2V0UmVzdWx0KGFycm93UmVzdWx0KTtcbiAgICAgIHNldEVycm9yKG51bGwpO1xuXG4gICAgICBjb25uZWN0aW9uLmNsb3NlKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgc2V0RXJyb3IoZSBhcyBFcnJvcik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldElzUnVubmluZyhmYWxzZSk7XG4gICAgfVxuICB9LCBbc3FsXSk7XG5cbiAgY29uc3Qgb25DaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICB2YWx1ZSA9PiB7XG4gICAgICBzZXRTcWwodmFsdWUpO1xuICAgIH0sXG4gICAgW3NldFNxbF1cbiAgKTtcblxuICBjb25zdCBvbkFkZFJlc3VsdFRvTWFwID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmICghcmVzdWx0KSByZXR1cm47XG5cbiAgICBjb25zdCBrZXBsZXJGaWVsZHMgPSBhcnJvd1NjaGVtYVRvRmllbGRzKHJlc3VsdC5zY2hlbWEpO1xuXG4gICAgY29uc3QgZGF0YXNldFRvQWRkID0ge1xuICAgICAgZGF0YToge1xuICAgICAgICBmaWVsZHM6IGtlcGxlckZpZWxkcyxcbiAgICAgICAgLy8gVE9ETyB0eXBlIEFkZERhdGFUb01hcFBheWxvYWQgLT4gcm93cyAtPiArIGFycm93LlRhYmxlXG4gICAgICAgIHJvd3M6IHJlc3VsdCBhcyBhbnlcbiAgICAgIH0sXG4gICAgICBpbmZvOiB7XG4gICAgICAgIGlkOiBnZW5lcmF0ZUhhc2hJZCgpLFxuICAgICAgICBsYWJlbDogYFF1ZXJ5IFJlc3VsdCR7Y291bnRlciA+IDAgPyBgICgke2NvdW50ZXJ9KWAgOiAnJ31gLFxuICAgICAgICBmb3JtYXQ6ICdhcnJvdydcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZGlzcGF0Y2goYWRkRGF0YVRvTWFwKHtkYXRhc2V0czogW2RhdGFzZXRUb0FkZF19KSk7XG4gICAgc2V0Q291bnRlcihjb3VudGVyICsgMSk7XG4gIH0sIFtyZXN1bHQsIGNvdW50ZXIsIGRpc3BhdGNoXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkU3FsUGFuZWw+XG4gICAgICA8UGFuZWxHcm91cCBkaXJlY3Rpb249XCJob3Jpem9udGFsXCI+XG4gICAgICAgIDxQYW5lbCBkZWZhdWx0U2l6ZT17MjB9IG1pblNpemU9ezE1fT5cbiAgICAgICAgICA8U2NoZW1hUGFuZWwgc2V0VGFibGVTY2hlbWE9e3NldFRhYmxlU2NoZW1hfSAvPlxuICAgICAgICA8L1BhbmVsPlxuXG4gICAgICAgIDxTdHlsZWRSZXNpemVIYW5kbGUgLz5cblxuICAgICAgICA8UGFuZWwgbWluU2l6ZT17NDB9PlxuICAgICAgICAgIDxTdHlsZWRTcWxFZGl0b3I+XG4gICAgICAgICAgICA8UGFuZWxHcm91cCBkaXJlY3Rpb249XCJ2ZXJ0aWNhbFwiPlxuICAgICAgICAgICAgICA8UGFuZWwgZGVmYXVsdFNpemU9ezMwfSBjbGFzc05hbWU9XCJlZGl0b3ItcGFuZWxcIj5cbiAgICAgICAgICAgICAgICA8U3R5bGVkRWRpdG9yUGFuZWw+XG4gICAgICAgICAgICAgICAgICA8U3R5bGVkU3FsQWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRpcFxuICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZm9yPVwicnVuLXF1ZXJ5LXRvb2x0aXBcIlxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3J1blF1ZXJ5fVxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc1J1bm5pbmcgfHwgIXNxbH1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxJY29ucy5QbGF5IGhlaWdodD1cIjE4cHhcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxUb29sdGlwIGlkPVwicnVuLXF1ZXJ5LXRvb2x0aXBcIiBwbGFjZT1cInRvcFwiIGVmZmVjdD1cInNvbGlkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBSdW4gUXVlcnkgKHtpc01hYyA/ICfijJhFbnRlcicgOiAnQ3RybCtFbnRlcid9IG9yIFNoaWZ0K0VudGVyKVxuICAgICAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9TdHlsZWRTcWxBY3Rpb25zPlxuICAgICAgICAgICAgICAgICAgPFN0eWxlZEVkaXRvciBpc1J1bm5pbmc9e2lzUnVubmluZ30+XG4gICAgICAgICAgICAgICAgICAgIDxNb25hY29FZGl0b3JcbiAgICAgICAgICAgICAgICAgICAgICBpc1JlYWRPbmx5PXtpc1J1bm5pbmd9XG4gICAgICAgICAgICAgICAgICAgICAgb25SdW5RdWVyeT17cnVuUXVlcnl9XG4gICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgIHRhYmxlU2NoZW1hPXt0YWJsZVNjaGVtYX1cbiAgICAgICAgICAgICAgICAgICAgICBjb2RlPXtzcWx9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZEVkaXRvcj5cbiAgICAgICAgICAgICAgICA8L1N0eWxlZEVkaXRvclBhbmVsPlxuICAgICAgICAgICAgICA8L1BhbmVsPlxuXG4gICAgICAgICAgICAgIDxTdHlsZWRWZXJ0aWNhbFJlc2l6ZUhhbmRsZSAvPlxuICAgICAgICAgICAgICA8UGFuZWw+XG4gICAgICAgICAgICAgICAge2lzUnVubmluZyA/IChcbiAgICAgICAgICAgICAgICAgIDxTdHlsZWRMb2FkaW5nQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8TG9hZGluZ1NwaW5uZXIgLz5cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkTG9hZGluZ0NvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICApIDogZXJyb3IgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkRXJyb3JDb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e2Vycm9yLm1lc3NhZ2V9PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZEVycm9yQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICkgOiByZXN1bHQgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkRGF0YVBhbmVsPlxuICAgICAgICAgICAgICAgICAgICA8U3R5bGVkUmVzdWx0QWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHNlY29uZGFyeSBvbkNsaWNrPXtvbkFkZFJlc3VsdFRvTWFwfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIEFkZCB0byBNYXBcbiAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2PntyZXN1bHQubnVtUm93c30gcm93czwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZFJlc3VsdEFjdGlvbnM+XG4gICAgICAgICAgICAgICAgICAgIDxQcmV2aWV3RGF0YVBhbmVsXG4gICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PXtyZXN1bHR9XG4gICAgICAgICAgICAgICAgICAgICAgZGF0YVRhYmxlU3R5bGU9e3t9fVxuICAgICAgICAgICAgICAgICAgICAgIG9uQWRkUmVzdWx0VG9NYXA9e29uQWRkUmVzdWx0VG9NYXB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZERhdGFQYW5lbD5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9QYW5lbD5cbiAgICAgICAgICAgIDwvUGFuZWxHcm91cD5cbiAgICAgICAgICA8L1N0eWxlZFNxbEVkaXRvcj5cbiAgICAgICAgPC9QYW5lbD5cbiAgICAgIDwvUGFuZWxHcm91cD5cbiAgICA8L1N0eWxlZFNxbFBhbmVsPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBSUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLHFCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxhQUFBLEdBQUFGLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBTSxZQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxpQkFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsS0FBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsV0FBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsWUFBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsUUFBQSxHQUFBWCxPQUFBO0FBRUEsSUFBQVksT0FBQSxHQUFBWixPQUFBO0FBQ0EsSUFBQWEsTUFBQSxHQUFBYixPQUFBO0FBQ0EsSUFBQWMsV0FBQSxHQUFBZCxPQUFBO0FBQTBELElBQUFlLGVBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JB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
203
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9yZWFjdFJlc2l6YWJsZVBhbmVscyIsIl9tb25hY29FZGl0b3IiLCJfc2NoZW1hUGFuZWwiLCJfcHJldmlld0RhdGFQYW5lbCIsIl9pbml0IiwiX2NvbXBvbmVudHMiLCJfY29tbW9uVXRpbHMiLCJfYWN0aW9ucyIsIl9zdHlsZXMiLCJfdXRpbHMiLCJfcHJvY2Vzc29ycyIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX3RlbXBsYXRlT2JqZWN0NCIsIl90ZW1wbGF0ZU9iamVjdDUiLCJfdGVtcGxhdGVPYmplY3Q2IiwiX3RlbXBsYXRlT2JqZWN0NyIsIl90ZW1wbGF0ZU9iamVjdDgiLCJfdGVtcGxhdGVPYmplY3Q5IiwiX3RlbXBsYXRlT2JqZWN0MTAiLCJfdGVtcGxhdGVPYmplY3QxMSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIlN0eWxlZFNxbFBhbmVsIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJzaWRlUGFuZWxCZyIsIlN0eWxlZFNxbEFjdGlvbnMiLCJTdHlsZWRTcWxFZGl0b3IiLCJTdHlsZWRFZGl0b3JQYW5lbCIsIlN0eWxlZERhdGFQYW5lbCIsIlN0eWxlZEVkaXRvciIsInByb3BzIiwiaXNSdW5uaW5nIiwiU3R5bGVkUmVzdWx0QWN0aW9ucyIsIlN0eWxlZFJlc2l6ZUhhbmRsZSIsIlBhbmVsUmVzaXplSGFuZGxlIiwicGFuZWxCb3JkZXJDb2xvciIsIlN0eWxlZFZlcnRpY2FsUmVzaXplSGFuZGxlIiwiU3R5bGVkTG9hZGluZ0NvbnRhaW5lciIsIlN0eWxlZEVycm9yQ29udGFpbmVyIiwicHJlIiwiU0NIRU1BX1BBTkVMX1NUWUxFIiwib3ZlcmZsb3ciLCJTcWxQYW5lbCIsImV4cG9ydHMiLCJfcmVmIiwiX3JlZiRpbml0aWFsU3FsIiwiaW5pdGlhbFNxbCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwicGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwid2luZG93IiwibG9jYXRpb24iLCJzZWFyY2giLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic3FsIiwic2V0U3FsIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJyZXN1bHQiLCJzZXRSZXN1bHQiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImVycm9yIiwic2V0RXJyb3IiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsImNvdW50ZXIiLCJzZXRDb3VudGVyIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTEwIiwidGFibGVTY2hlbWEiLCJzZXRUYWJsZVNjaGVtYSIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJzZXRJc1J1bm5pbmciLCJfdXNlU3RhdGUxMyIsImlzQXBwbGVEZXZpY2UiLCJfdXNlU3RhdGUxNCIsImlzTWFjIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsInVzZUVmZmVjdCIsImN1cnJlbnRVcmwiLCJVUkwiLCJocmVmIiwic2VhcmNoUGFyYW1zIiwiaGlzdG9yeSIsInJlcGxhY2VTdGF0ZSIsInRvU3RyaW5nIiwicnVuUXVlcnkiLCJ1c2VDYWxsYmFjayIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwiZGIiLCJjb25uZWN0aW9uIiwiYXJyb3dSZXN1bHQiLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwidHJpbSIsIkVycm9yIiwiYWJydXB0IiwiZ2V0RHVja0RCIiwic2VudCIsImNvbm5lY3QiLCJxdWVyeSIsImNsb3NlIiwidDAiLCJmaW5pc2giLCJzdG9wIiwib25DaGFuZ2UiLCJ2YWx1ZSIsIm9uQWRkUmVzdWx0VG9NYXAiLCJrZXBsZXJGaWVsZHMiLCJhcnJvd1NjaGVtYVRvRmllbGRzIiwic2NoZW1hIiwiZGF0YXNldFRvQWRkIiwiZGF0YSIsImZpZWxkcyIsInJvd3MiLCJpbmZvIiwiaWQiLCJnZW5lcmF0ZUhhc2hJZCIsImxhYmVsIiwiY29uY2F0IiwiZm9ybWF0IiwiYWRkRGF0YVRvTWFwIiwiZGF0YXNldHMiLCJjcmVhdGVFbGVtZW50IiwiUGFuZWxHcm91cCIsImRpcmVjdGlvbiIsIlBhbmVsIiwiZGVmYXVsdFNpemUiLCJtaW5TaXplIiwic3R5bGUiLCJTY2hlbWFQYW5lbCIsImNsYXNzTmFtZSIsIkljb25CdXR0b24iLCJvbkNsaWNrIiwiZGlzYWJsZWQiLCJJY29ucyIsIlBsYXkiLCJoZWlnaHQiLCJUb29sdGlwIiwicGxhY2UiLCJlZmZlY3QiLCJpc1JlYWRPbmx5Iiwib25SdW5RdWVyeSIsImNvZGUiLCJMb2FkaW5nU3Bpbm5lciIsIm1lc3NhZ2UiLCJCdXR0b24iLCJzZWNvbmRhcnkiLCJudW1Sb3dzIiwiUHJldmlld0RhdGFQYW5lbCIsImRhdGFUYWJsZVN0eWxlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbXBvbmVudHMvc3FsLXBhbmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgKiBhcyBhcnJvdyBmcm9tICdhcGFjaGUtYXJyb3cnO1xuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZVN0YXRlLCB1c2VFZmZlY3R9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7dXNlRGlzcGF0Y2h9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtQYW5lbCwgUGFuZWxHcm91cCwgUGFuZWxSZXNpemVIYW5kbGV9IGZyb20gJ3JlYWN0LXJlc2l6YWJsZS1wYW5lbHMnO1xuaW1wb3J0IE1vbmFjb0VkaXRvciBmcm9tICcuL21vbmFjby1lZGl0b3InO1xuaW1wb3J0IHtTY2hlbWFQYW5lbH0gZnJvbSAnLi9zY2hlbWEtcGFuZWwnO1xuaW1wb3J0IHtQcmV2aWV3RGF0YVBhbmVsfSBmcm9tICcuL3ByZXZpZXctZGF0YS1wYW5lbCc7XG5pbXBvcnQge2dldER1Y2tEQn0gZnJvbSAnLi4vaW5pdCc7XG5pbXBvcnQge0J1dHRvbiwgSWNvbkJ1dHRvbiwgVG9vbHRpcH0gZnJvbSAnQGtlcGxlci5nbC9jb21wb25lbnRzJztcbmltcG9ydCB7Z2VuZXJhdGVIYXNoSWR9IGZyb20gJ0BrZXBsZXIuZ2wvY29tbW9uLXV0aWxzJztcbmltcG9ydCB7YWRkRGF0YVRvTWFwfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtJY29ucywgTG9hZGluZ1NwaW5uZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvY29tcG9uZW50cyc7XG5pbXBvcnQge3NpZGVQYW5lbEJnLCBwYW5lbEJvcmRlckNvbG9yfSBmcm9tICdAa2VwbGVyLmdsL3N0eWxlcyc7XG5pbXBvcnQge2lzQXBwbGVEZXZpY2V9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHthcnJvd1NjaGVtYVRvRmllbGRzfSBmcm9tICdAa2VwbGVyLmdsL3Byb2Nlc3NvcnMnO1xuXG5jb25zdCBTdHlsZWRTcWxQYW5lbCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtzaWRlUGFuZWxCZ307XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzMzMztcbmA7XG5cbmNvbnN0IFN0eWxlZFNxbEFjdGlvbnMgPSBzdHlsZWQuZGl2YFxuICBmbGV4OiAwIDAgNTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6IDEycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMzM7XG5gO1xuXG5jb25zdCBTdHlsZWRTcWxFZGl0b3IgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7IC8vIFByZXZlbnRzIGZsZXggY2hpbGQgZnJvbSBvdmVyZmxvd2luZ1xuICBoZWlnaHQ6IDEwMCU7XG5gO1xuXG5jb25zdCBTdHlsZWRFZGl0b3JQYW5lbCA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7c2lkZVBhbmVsQmd9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogNXB4O1xuICBmbGV4LWdyb3c6IDE7XG5gO1xuXG5jb25zdCBTdHlsZWREYXRhUGFuZWwgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuYDtcblxuY29uc3QgU3R5bGVkRWRpdG9yID0gc3R5bGVkLmRpdjx7aXNSdW5uaW5nOiBib29sZWFufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDEycHggMTJweCAxMnB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigzMCwgMzAsIDMwKTtcbiAgb3BhY2l0eTogJHtwcm9wcyA9PiAocHJvcHMuaXNSdW5uaW5nID8gMC41IDogMSl9O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAwOyAvLyBQcmV2ZW50cyBmbGV4IGNoaWxkIGZyb20gb3ZlcmZsb3dpbmdcbmA7XG5cbmNvbnN0IFN0eWxlZFJlc3VsdEFjdGlvbnMgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMnB4IDEycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxMnB4O1xuYDtcblxuY29uc3QgU3R5bGVkUmVzaXplSGFuZGxlID0gc3R5bGVkKFBhbmVsUmVzaXplSGFuZGxlKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwYW5lbEJvcmRlckNvbG9yfTtcbiAgd2lkdGg6IDRweDtcbiAgY3Vyc29yOiBjb2wtcmVzaXplO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTU7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZFZlcnRpY2FsUmVzaXplSGFuZGxlID0gc3R5bGVkKFBhbmVsUmVzaXplSGFuZGxlKWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwYW5lbEJvcmRlckNvbG9yfTtcbiAgaGVpZ2h0OiA0cHg7XG4gIGN1cnNvcjogcm93LXJlc2l6ZTtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRMb2FkaW5nQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbmA7XG5cbmNvbnN0IFN0eWxlZEVycm9yQ29udGFpbmVyID0gc3R5bGVkLnByZWBcbiAgcGFkZGluZzogMTJweDtcbiAgY29sb3I6IHJlZDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3NpZGVQYW5lbEJnfTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogYXV0bztcbmA7XG5cbnR5cGUgU3FsUGFuZWxQcm9wcyA9IHtcbiAgaW5pdGlhbFNxbD86IHN0cmluZztcbn07XG5cbmNvbnN0IFNDSEVNQV9QQU5FTF9TVFlMRSA9IHtvdmVyZmxvdzogJ2F1dG8nfTtcblxuZXhwb3J0IGNvbnN0IFNxbFBhbmVsOiBSZWFjdC5GQzxTcWxQYW5lbFByb3BzPiA9ICh7aW5pdGlhbFNxbCA9ICcnfSkgPT4ge1xuICBjb25zdCBbc3FsLCBzZXRTcWxdID0gdXNlU3RhdGUoKCkgPT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7XG4gICAgcmV0dXJuIHBhcmFtcy5nZXQoJ3NxbCcpIHx8IGluaXRpYWxTcWw7XG4gIH0pO1xuICBjb25zdCBbcmVzdWx0LCBzZXRSZXN1bHRdID0gdXNlU3RhdGU8bnVsbCB8IGFycm93LlRhYmxlPihudWxsKTtcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxFcnJvciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbY291bnRlciwgc2V0Q291bnRlcl0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW3RhYmxlU2NoZW1hLCBzZXRUYWJsZVNjaGVtYV0gPSB1c2VTdGF0ZShbXSk7XG4gIGNvbnN0IFtpc1J1bm5pbmcsIHNldElzUnVubmluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtpc01hY10gPSB1c2VTdGF0ZSgoKSA9PiBpc0FwcGxlRGV2aWNlKCkpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBjdXJyZW50VXJsID0gbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZik7XG4gICAgaWYgKHNxbCkge1xuICAgICAgY3VycmVudFVybC5zZWFyY2hQYXJhbXMuc2V0KCdzcWwnLCBzcWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjdXJyZW50VXJsLnNlYXJjaFBhcmFtcy5kZWxldGUoJ3NxbCcpO1xuICAgIH1cbiAgICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoe30sICcnLCBjdXJyZW50VXJsLnRvU3RyaW5nKCkpO1xuICB9LCBbc3FsXSk7XG5cbiAgY29uc3QgcnVuUXVlcnkgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgc2V0SXNSdW5uaW5nKHRydWUpO1xuICAgIHRyeSB7XG4gICAgICBpZiAoIXNxbD8udHJpbSgpKSB7XG4gICAgICAgIHNldEVycm9yKG5ldyBFcnJvcignUXVlcnkgaXMgZW1wdHknKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZGIgPSBhd2FpdCBnZXREdWNrREIoKTtcbiAgICAgIGNvbnN0IGNvbm5lY3Rpb24gPSBhd2FpdCBkYi5jb25uZWN0KCk7XG5cbiAgICAgIGNvbnN0IGFycm93UmVzdWx0ID0gYXdhaXQgY29ubmVjdGlvbi5xdWVyeShzcWwpO1xuICAgICAgc2V0UmVzdWx0KGFycm93UmVzdWx0KTtcbiAgICAgIHNldEVycm9yKG51bGwpO1xuXG4gICAgICBjb25uZWN0aW9uLmNsb3NlKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgc2V0RXJyb3IoZSBhcyBFcnJvcik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldElzUnVubmluZyhmYWxzZSk7XG4gICAgfVxuICB9LCBbc3FsXSk7XG5cbiAgY29uc3Qgb25DaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICB2YWx1ZSA9PiB7XG4gICAgICBzZXRTcWwodmFsdWUpO1xuICAgIH0sXG4gICAgW3NldFNxbF1cbiAgKTtcblxuICBjb25zdCBvbkFkZFJlc3VsdFRvTWFwID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmICghcmVzdWx0KSByZXR1cm47XG5cbiAgICBjb25zdCBrZXBsZXJGaWVsZHMgPSBhcnJvd1NjaGVtYVRvRmllbGRzKHJlc3VsdC5zY2hlbWEpO1xuXG4gICAgY29uc3QgZGF0YXNldFRvQWRkID0ge1xuICAgICAgZGF0YToge1xuICAgICAgICBmaWVsZHM6IGtlcGxlckZpZWxkcyxcbiAgICAgICAgLy8gVE9ETyB0eXBlIEFkZERhdGFUb01hcFBheWxvYWQgLT4gcm93cyAtPiArIGFycm93LlRhYmxlXG4gICAgICAgIHJvd3M6IHJlc3VsdCBhcyBhbnlcbiAgICAgIH0sXG4gICAgICBpbmZvOiB7XG4gICAgICAgIGlkOiBnZW5lcmF0ZUhhc2hJZCgpLFxuICAgICAgICBsYWJlbDogYFF1ZXJ5IFJlc3VsdCR7Y291bnRlciA+IDAgPyBgICgke2NvdW50ZXJ9KWAgOiAnJ31gLFxuICAgICAgICBmb3JtYXQ6ICdhcnJvdydcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZGlzcGF0Y2goYWRkRGF0YVRvTWFwKHtkYXRhc2V0czogW2RhdGFzZXRUb0FkZF19KSk7XG4gICAgc2V0Q291bnRlcihjb3VudGVyICsgMSk7XG4gIH0sIFtyZXN1bHQsIGNvdW50ZXIsIGRpc3BhdGNoXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkU3FsUGFuZWw+XG4gICAgICA8UGFuZWxHcm91cCBkaXJlY3Rpb249XCJob3Jpem9udGFsXCI+XG4gICAgICAgIDxQYW5lbCBkZWZhdWx0U2l6ZT17MjB9IG1pblNpemU9ezE1fSBzdHlsZT17U0NIRU1BX1BBTkVMX1NUWUxFfT5cbiAgICAgICAgICA8U2NoZW1hUGFuZWwgc2V0VGFibGVTY2hlbWE9e3NldFRhYmxlU2NoZW1hfSAvPlxuICAgICAgICA8L1BhbmVsPlxuXG4gICAgICAgIDxTdHlsZWRSZXNpemVIYW5kbGUgLz5cblxuICAgICAgICA8UGFuZWwgbWluU2l6ZT17NDB9PlxuICAgICAgICAgIDxTdHlsZWRTcWxFZGl0b3I+XG4gICAgICAgICAgICA8UGFuZWxHcm91cCBkaXJlY3Rpb249XCJ2ZXJ0aWNhbFwiPlxuICAgICAgICAgICAgICA8UGFuZWwgZGVmYXVsdFNpemU9ezMwfSBjbGFzc05hbWU9XCJlZGl0b3ItcGFuZWxcIj5cbiAgICAgICAgICAgICAgICA8U3R5bGVkRWRpdG9yUGFuZWw+XG4gICAgICAgICAgICAgICAgICA8U3R5bGVkU3FsQWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICBkYXRhLXRpcFxuICAgICAgICAgICAgICAgICAgICAgIGRhdGEtZm9yPVwicnVuLXF1ZXJ5LXRvb2x0aXBcIlxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3J1blF1ZXJ5fVxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc1J1bm5pbmcgfHwgIXNxbH1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxJY29ucy5QbGF5IGhlaWdodD1cIjE4cHhcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgIDxUb29sdGlwIGlkPVwicnVuLXF1ZXJ5LXRvb2x0aXBcIiBwbGFjZT1cInRvcFwiIGVmZmVjdD1cInNvbGlkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBSdW4gUXVlcnkgKHtpc01hYyA/ICfijJhFbnRlcicgOiAnQ3RybCtFbnRlcid9IG9yIFNoaWZ0K0VudGVyKVxuICAgICAgICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9TdHlsZWRTcWxBY3Rpb25zPlxuICAgICAgICAgICAgICAgICAgPFN0eWxlZEVkaXRvciBpc1J1bm5pbmc9e2lzUnVubmluZ30+XG4gICAgICAgICAgICAgICAgICAgIDxNb25hY29FZGl0b3JcbiAgICAgICAgICAgICAgICAgICAgICBpc1JlYWRPbmx5PXtpc1J1bm5pbmd9XG4gICAgICAgICAgICAgICAgICAgICAgb25SdW5RdWVyeT17cnVuUXVlcnl9XG4gICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgIHRhYmxlU2NoZW1hPXt0YWJsZVNjaGVtYX1cbiAgICAgICAgICAgICAgICAgICAgICBjb2RlPXtzcWx9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZEVkaXRvcj5cbiAgICAgICAgICAgICAgICA8L1N0eWxlZEVkaXRvclBhbmVsPlxuICAgICAgICAgICAgICA8L1BhbmVsPlxuXG4gICAgICAgICAgICAgIDxTdHlsZWRWZXJ0aWNhbFJlc2l6ZUhhbmRsZSAvPlxuICAgICAgICAgICAgICA8UGFuZWw+XG4gICAgICAgICAgICAgICAge2lzUnVubmluZyA/IChcbiAgICAgICAgICAgICAgICAgIDxTdHlsZWRMb2FkaW5nQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8TG9hZGluZ1NwaW5uZXIgLz5cbiAgICAgICAgICAgICAgICAgIDwvU3R5bGVkTG9hZGluZ0NvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICApIDogZXJyb3IgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkRXJyb3JDb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e2Vycm9yLm1lc3NhZ2V9PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZEVycm9yQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgICkgOiByZXN1bHQgPyAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkRGF0YVBhbmVsPlxuICAgICAgICAgICAgICAgICAgICA8U3R5bGVkUmVzdWx0QWN0aW9ucz5cbiAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uIHNlY29uZGFyeSBvbkNsaWNrPXtvbkFkZFJlc3VsdFRvTWFwfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIEFkZCB0byBNYXBcbiAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2PntyZXN1bHQubnVtUm93c30gcm93czwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L1N0eWxlZFJlc3VsdEFjdGlvbnM+XG4gICAgICAgICAgICAgICAgICAgIDxQcmV2aWV3RGF0YVBhbmVsXG4gICAgICAgICAgICAgICAgICAgICAgcmVzdWx0PXtyZXN1bHR9XG4gICAgICAgICAgICAgICAgICAgICAgZGF0YVRhYmxlU3R5bGU9e3t9fVxuICAgICAgICAgICAgICAgICAgICAgIG9uQWRkUmVzdWx0VG9NYXA9e29uQWRkUmVzdWx0VG9NYXB9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZERhdGFQYW5lbD5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPC9QYW5lbD5cbiAgICAgICAgICAgIDwvUGFuZWxHcm91cD5cbiAgICAgICAgICA8L1N0eWxlZFNxbEVkaXRvcj5cbiAgICAgICAgPC9QYW5lbD5cbiAgICAgIDwvUGFuZWxHcm91cD5cbiAgICA8L1N0eWxlZFNxbFBhbmVsPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBSUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLHFCQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxhQUFBLEdBQUFGLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBTSxZQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxpQkFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsS0FBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsV0FBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsWUFBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsUUFBQSxHQUFBWCxPQUFBO0FBRUEsSUFBQVksT0FBQSxHQUFBWixPQUFBO0FBQ0EsSUFBQWEsTUFBQSxHQUFBYixPQUFBO0FBQ0EsSUFB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
@@ -14,7 +14,7 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
  var _classnames = _interopRequireDefault(require("classnames"));
16
16
  var _components = require("@kepler.gl/components");
17
- var _templateObject, _templateObject2; // SPDX-License-Identifier: MIT
17
+ var _templateObject, _templateObject2, _templateObject3; // SPDX-License-Identifier: MIT
18
18
  // Copyright contributors to the kepler.gl project
19
19
  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); }
20
20
  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; }
@@ -74,11 +74,12 @@ function TreeNode(props) {
74
74
  });
75
75
  }) : null));
76
76
  }
77
+ var StyledDatasetNode = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: bold;\n"])));
77
78
  var DatasetNode = exports.DatasetNode = function DatasetNode(_ref) {
78
79
  var node = _ref.node;
79
- return /*#__PURE__*/_react["default"].createElement("div", null, node.object.tableName);
80
+ return /*#__PURE__*/_react["default"].createElement(StyledDatasetNode, null, node.object.tableName);
80
81
  };
81
- var StyledColumnNode = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n padding: 4px 0;\n margin-left: 16px;\n\n .column-name {\n margin-left: 8px;\n }\n"])));
82
+ var StyledColumnNode = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n padding: 4px 0;\n margin-left: 16px;\n\n .column-name {\n margin-left: 8px;\n }\n"])));
82
83
  var ColumnNode = exports.ColumnNode = function ColumnNode(_ref2) {
83
84
  var node = _ref2.node;
84
85
  return /*#__PURE__*/_react["default"].createElement(StyledColumnNode, null, /*#__PURE__*/_react["default"].createElement(_components.FieldToken, {
@@ -87,4 +88,4 @@ var ColumnNode = exports.ColumnNode = function ColumnNode(_ref2) {
87
88
  className: "column-name"
88
89
  }, node.object.name));
89
90
  };
90
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RDb2xsYXBzaWJsZSIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9jbGFzc25hbWVzIiwiX2NvbXBvbmVudHMiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiVHJlZSIsInByb3BzIiwidHJlZURhdGEiLCJyZW5kZXJOb2RlIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsIlRyZWVOb2RlIiwiU3R5bGVkQ29sbGFwc2libGVUcmlnZ2VyQ29udGVudCIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwiY2hpbGRyZW4iLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIkJvb2xlYW4iLCJpc09wZW4iLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2V0SXNPcGVuIiwidXNlRWZmZWN0IiwiQ29sbGFwc2libGUiLCJvcGVuIiwib25PcGVuQ2hhbmdlIiwiQ29sbGFwc2libGVUcmlnZ2VyIiwiYXNDaGlsZCIsIkljb25zIiwiQXJyb3dSaWdodCIsImNsYXNzTmFtZXMiLCJoZWlnaHQiLCJDb2xsYXBzaWJsZUNvbnRlbnQiLCJtYXAiLCJjaGlsZCIsImtleSIsIkRhdGFzZXROb2RlIiwiZXhwb3J0cyIsIl9yZWYiLCJub2RlIiwib2JqZWN0IiwidGFibGVOYW1lIiwiU3R5bGVkQ29sdW1uTm9kZSIsIkNvbHVtbk5vZGUiLCJfcmVmMiIsIkZpZWxkVG9rZW4iLCJ0eXBlIiwiZmllbGRUeXBlIiwibmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3RyZWUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7Q29sbGFwc2libGUsIENvbGxhcHNpYmxlVHJpZ2dlciwgQ29sbGFwc2libGVDb250ZW50fSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29sbGFwc2libGUnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgUmVhY3QsIHt1c2VFZmZlY3QsIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuaW1wb3J0IHtJY29ucywgRmllbGRUb2tlbn0gZnJvbSAnQGtlcGxlci5nbC9jb21wb25lbnRzJztcblxuZXhwb3J0IHR5cGUgVHJlZU5vZGVEYXRhPFQ+ID0ge1xuICBrZXk6IHN0cmluZztcbiAgb2JqZWN0OiBUO1xuICBjaGlsZHJlbj86IFRyZWVOb2RlRGF0YTxUPltdO1xuICBpc09wZW4/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgVHJlZVByb3BzPFQ+ID0ge1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIHRyZWVEYXRhOiBUcmVlTm9kZURhdGE8VD47XG4gIHJlbmRlck5vZGU6IFRyZWVOb2RlUHJvcHM8VD5bJ3JlbmRlck5vZGUnXTtcbn07XG5cbi8vIFRPRE86IGNvbnNpZGVyIHVzaW5nIHJlYWN0LXZ0cmVlL3JlYWN0LXdpbmRvdyBmb3IgdmlydHVhbGl6YXRpb25cblxuLyoqXG4gKiBDb21wb25lbnQgdGhhdCByZW5kZXJzIGEgZ2VuZXJpYyB0cmVlLlxuICogQHBhcmFtIHRyZWVEYXRhIC0gVGhlIHRyZWUgZGF0YS5cbiAqIEBwYXJhbSByZW5kZXJOb2RlIC0gQSBmdW5jdGlvbiB0aGF0IHJlbmRlcnMgYSB0cmVlIG5vZGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBUcmVlPFQ+KHByb3BzOiBUcmVlUHJvcHM8VD4pOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCB7dHJlZURhdGEsIHJlbmRlck5vZGV9ID0gcHJvcHM7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sXCI+XG4gICAgICA8VHJlZU5vZGU8VD4gdHJlZURhdGE9e3RyZWVEYXRhfSByZW5kZXJOb2RlPXtyZW5kZXJOb2RlfSAvPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5leHBvcnQgdHlwZSBUcmVlTm9kZVByb3BzPFQ+ID0ge1xuICB0cmVlRGF0YTogVHJlZU5vZGVEYXRhPFQ+O1xuICByZW5kZXJOb2RlOiAobm9kZTogVHJlZU5vZGVEYXRhPFQ+LCBpc09wZW46IGJvb2xlYW4pID0+IEpTWC5FbGVtZW50IHwgbnVsbDtcbn07XG5cbmNvbnN0IFN0eWxlZENvbGxhcHNpYmxlVHJpZ2dlckNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcbi8qKlxuICogQ29tcG9uZW50IHRoYXQgcmVuZGVycyBhIHRyZWUgbm9kZS5cbiAqL1xuZnVuY3Rpb24gVHJlZU5vZGU8VD4ocHJvcHM6IFRyZWVOb2RlUHJvcHM8VD4pOiBKU1guRWxlbWVudCB8IG51bGwge1xuICBjb25zdCB7dHJlZURhdGEsIHJlbmRlck5vZGV9ID0gcHJvcHM7XG4gIGNvbnN0IHtjaGlsZHJlbn0gPSB0cmVlRGF0YTtcbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKEJvb2xlYW4odHJlZURhdGEuaXNPcGVuKSk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0SXNPcGVuKEJvb2xlYW4odHJlZURhdGEuaXNPcGVuKSk7XG4gIH0sIFt0cmVlRGF0YS5pc09wZW5dKTtcbiAgaWYgKCFjaGlsZHJlbikge1xuICAgIHJldHVybiByZW5kZXJOb2RlKHRyZWVEYXRhLCBpc09wZW4pO1xuICB9XG4gIHJldHVybiAoXG4gICAgPENvbGxhcHNpYmxlIG9wZW49e2lzT3Blbn0gb25PcGVuQ2hhbmdlPXtzZXRJc09wZW59PlxuICAgICAgPENvbGxhcHNpYmxlVHJpZ2dlciBjbGFzc05hbWU9XCJ3LWZ1bGxcIiBhc0NoaWxkPlxuICAgICAgICA8U3R5bGVkQ29sbGFwc2libGVUcmlnZ2VyQ29udGVudD5cbiAgICAgICAgICA8SWNvbnMuQXJyb3dSaWdodFxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCdmbGV4LXNocmluay0wIHRleHQtZ3JheS01MDAnLCB7J3JvdGF0ZS05MCB0cmFuc2Zvcm0nOiBpc09wZW59KX1cbiAgICAgICAgICAgIGhlaWdodD1cIjE4cHhcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAge3JlbmRlck5vZGUodHJlZURhdGEsIGlzT3Blbil9XG4gICAgICAgIDwvU3R5bGVkQ29sbGFwc2libGVUcmlnZ2VyQ29udGVudD5cbiAgICAgIDwvQ29sbGFwc2libGVUcmlnZ2VyPlxuICAgICAgPENvbGxhcHNpYmxlQ29udGVudCBjbGFzc05hbWU9XCJwbC00XCI+XG4gICAgICAgIHtpc09wZW5cbiAgICAgICAgICA/IGNoaWxkcmVuLm1hcChjaGlsZCA9PiAoXG4gICAgICAgICAgICAgIDxUcmVlTm9kZTxUPiBrZXk9e2NoaWxkLmtleX0gdHJlZURhdGE9e2NoaWxkfSByZW5kZXJOb2RlPXtyZW5kZXJOb2RlfSAvPlxuICAgICAgICAgICAgKSlcbiAgICAgICAgICA6IG51bGx9XG4gICAgICA8L0NvbGxhcHNpYmxlQ29udGVudD5cbiAgICA8L0NvbGxhcHNpYmxlPlxuICApO1xufVxuXG5leHBvcnQgY29uc3QgRGF0YXNldE5vZGUgPSAoe25vZGV9KSA9PiB7XG4gIHJldHVybiA8ZGl2Pntub2RlLm9iamVjdC50YWJsZU5hbWV9PC9kaXY+O1xufTtcblxuY29uc3QgU3R5bGVkQ29sdW1uTm9kZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDRweCAwO1xuICBtYXJnaW4tbGVmdDogMTZweDtcblxuICAuY29sdW1uLW5hbWUge1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIH1cbmA7XG5leHBvcnQgY29uc3QgQ29sdW1uTm9kZSA9ICh7bm9kZX0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ29sdW1uTm9kZT5cbiAgICAgIDxGaWVsZFRva2VuIHR5cGU9e25vZGUub2JqZWN0LmZpZWxkVHlwZX0gLz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sdW1uLW5hbWVcIj57bm9kZS5vYmplY3QubmFtZX08L2Rpdj5cbiAgICA8L1N0eWxlZENvbHVtbk5vZGU+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUdBLElBQUFBLGlCQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsTUFBQSxHQUFBQyx1QkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQUssV0FBQSxHQUFBSCxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQU0sV0FBQSxHQUFBTixPQUFBO0FBQXdELElBQUFPLGVBQUEsRUFBQUMsZ0JBQUEsRUFSeEQ7QUFDQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBTix3QkFBQU0sQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFB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
91
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RDb2xsYXBzaWJsZSIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9jbGFzc25hbWVzIiwiX2NvbXBvbmVudHMiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIlRyZWUiLCJwcm9wcyIsInRyZWVEYXRhIiwicmVuZGVyTm9kZSIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJUcmVlTm9kZSIsIlN0eWxlZENvbGxhcHNpYmxlVHJpZ2dlckNvbnRlbnQiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsImNoaWxkcmVuIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJCb29sZWFuIiwiaXNPcGVuIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNldElzT3BlbiIsInVzZUVmZmVjdCIsIkNvbGxhcHNpYmxlIiwib3BlbiIsIm9uT3BlbkNoYW5nZSIsIkNvbGxhcHNpYmxlVHJpZ2dlciIsImFzQ2hpbGQiLCJJY29ucyIsIkFycm93UmlnaHQiLCJjbGFzc05hbWVzIiwiaGVpZ2h0IiwiQ29sbGFwc2libGVDb250ZW50IiwibWFwIiwiY2hpbGQiLCJrZXkiLCJTdHlsZWREYXRhc2V0Tm9kZSIsIkRhdGFzZXROb2RlIiwiZXhwb3J0cyIsIl9yZWYiLCJub2RlIiwib2JqZWN0IiwidGFibGVOYW1lIiwiU3R5bGVkQ29sdW1uTm9kZSIsIkNvbHVtbk5vZGUiLCJfcmVmMiIsIkZpZWxkVG9rZW4iLCJ0eXBlIiwiZmllbGRUeXBlIiwibmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3RyZWUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7Q29sbGFwc2libGUsIENvbGxhcHNpYmxlVHJpZ2dlciwgQ29sbGFwc2libGVDb250ZW50fSBmcm9tICdAcmFkaXgtdWkvcmVhY3QtY29sbGFwc2libGUnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgUmVhY3QsIHt1c2VFZmZlY3QsIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuaW1wb3J0IHtJY29ucywgRmllbGRUb2tlbn0gZnJvbSAnQGtlcGxlci5nbC9jb21wb25lbnRzJztcblxuZXhwb3J0IHR5cGUgVHJlZU5vZGVEYXRhPFQ+ID0ge1xuICBrZXk6IHN0cmluZztcbiAgb2JqZWN0OiBUO1xuICBjaGlsZHJlbj86IFRyZWVOb2RlRGF0YTxUPltdO1xuICBpc09wZW4/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgVHJlZVByb3BzPFQ+ID0ge1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIHRyZWVEYXRhOiBUcmVlTm9kZURhdGE8VD47XG4gIHJlbmRlck5vZGU6IFRyZWVOb2RlUHJvcHM8VD5bJ3JlbmRlck5vZGUnXTtcbn07XG5cbi8vIFRPRE86IGNvbnNpZGVyIHVzaW5nIHJlYWN0LXZ0cmVlL3JlYWN0LXdpbmRvdyBmb3IgdmlydHVhbGl6YXRpb25cblxuLyoqXG4gKiBDb21wb25lbnQgdGhhdCByZW5kZXJzIGEgZ2VuZXJpYyB0cmVlLlxuICogQHBhcmFtIHRyZWVEYXRhIC0gVGhlIHRyZWUgZGF0YS5cbiAqIEBwYXJhbSByZW5kZXJOb2RlIC0gQSBmdW5jdGlvbiB0aGF0IHJlbmRlcnMgYSB0cmVlIG5vZGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBUcmVlPFQ+KHByb3BzOiBUcmVlUHJvcHM8VD4pOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICBjb25zdCB7dHJlZURhdGEsIHJlbmRlck5vZGV9ID0gcHJvcHM7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sXCI+XG4gICAgICA8VHJlZU5vZGU8VD4gdHJlZURhdGE9e3RyZWVEYXRhfSByZW5kZXJOb2RlPXtyZW5kZXJOb2RlfSAvPlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5leHBvcnQgdHlwZSBUcmVlTm9kZVByb3BzPFQ+ID0ge1xuICB0cmVlRGF0YTogVHJlZU5vZGVEYXRhPFQ+O1xuICByZW5kZXJOb2RlOiAobm9kZTogVHJlZU5vZGVEYXRhPFQ+LCBpc09wZW46IGJvb2xlYW4pID0+IEpTWC5FbGVtZW50IHwgbnVsbDtcbn07XG5cbmNvbnN0IFN0eWxlZENvbGxhcHNpYmxlVHJpZ2dlckNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcbi8qKlxuICogQ29tcG9uZW50IHRoYXQgcmVuZGVycyBhIHRyZWUgbm9kZS5cbiAqL1xuZnVuY3Rpb24gVHJlZU5vZGU8VD4ocHJvcHM6IFRyZWVOb2RlUHJvcHM8VD4pOiBKU1guRWxlbWVudCB8IG51bGwge1xuICBjb25zdCB7dHJlZURhdGEsIHJlbmRlck5vZGV9ID0gcHJvcHM7XG4gIGNvbnN0IHtjaGlsZHJlbn0gPSB0cmVlRGF0YTtcbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKEJvb2xlYW4odHJlZURhdGEuaXNPcGVuKSk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0SXNPcGVuKEJvb2xlYW4odHJlZURhdGEuaXNPcGVuKSk7XG4gIH0sIFt0cmVlRGF0YS5pc09wZW5dKTtcbiAgaWYgKCFjaGlsZHJlbikge1xuICAgIHJldHVybiByZW5kZXJOb2RlKHRyZWVEYXRhLCBpc09wZW4pO1xuICB9XG4gIHJldHVybiAoXG4gICAgPENvbGxhcHNpYmxlIG9wZW49e2lzT3Blbn0gb25PcGVuQ2hhbmdlPXtzZXRJc09wZW59PlxuICAgICAgPENvbGxhcHNpYmxlVHJpZ2dlciBjbGFzc05hbWU9XCJ3LWZ1bGxcIiBhc0NoaWxkPlxuICAgICAgICA8U3R5bGVkQ29sbGFwc2libGVUcmlnZ2VyQ29udGVudD5cbiAgICAgICAgICA8SWNvbnMuQXJyb3dSaWdodFxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCdmbGV4LXNocmluay0wIHRleHQtZ3JheS01MDAnLCB7J3JvdGF0ZS05MCB0cmFuc2Zvcm0nOiBpc09wZW59KX1cbiAgICAgICAgICAgIGhlaWdodD1cIjE4cHhcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAge3JlbmRlck5vZGUodHJlZURhdGEsIGlzT3Blbil9XG4gICAgICAgIDwvU3R5bGVkQ29sbGFwc2libGVUcmlnZ2VyQ29udGVudD5cbiAgICAgIDwvQ29sbGFwc2libGVUcmlnZ2VyPlxuICAgICAgPENvbGxhcHNpYmxlQ29udGVudCBjbGFzc05hbWU9XCJwbC00XCI+XG4gICAgICAgIHtpc09wZW5cbiAgICAgICAgICA/IGNoaWxkcmVuLm1hcChjaGlsZCA9PiAoXG4gICAgICAgICAgICAgIDxUcmVlTm9kZTxUPiBrZXk9e2NoaWxkLmtleX0gdHJlZURhdGE9e2NoaWxkfSByZW5kZXJOb2RlPXtyZW5kZXJOb2RlfSAvPlxuICAgICAgICAgICAgKSlcbiAgICAgICAgICA6IG51bGx9XG4gICAgICA8L0NvbGxhcHNpYmxlQ29udGVudD5cbiAgICA8L0NvbGxhcHNpYmxlPlxuICApO1xufVxuXG5jb25zdCBTdHlsZWREYXRhc2V0Tm9kZSA9IHN0eWxlZC5kaXZgXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuYDtcblxuZXhwb3J0IGNvbnN0IERhdGFzZXROb2RlID0gKHtub2RlfSkgPT4ge1xuICByZXR1cm4gPFN0eWxlZERhdGFzZXROb2RlPntub2RlLm9iamVjdC50YWJsZU5hbWV9PC9TdHlsZWREYXRhc2V0Tm9kZT47XG59O1xuXG5jb25zdCBTdHlsZWRDb2x1bW5Ob2RlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogNHB4IDA7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xuXG4gIC5jb2x1bW4tbmFtZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgfVxuYDtcbmV4cG9ydCBjb25zdCBDb2x1bW5Ob2RlID0gKHtub2RlfSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxTdHlsZWRDb2x1bW5Ob2RlPlxuICAgICAgPEZpZWxkVG9rZW4gdHlwZT17bm9kZS5vYmplY3QuZmllbGRUeXBlfSAvPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2x1bW4tbmFtZVwiPntub2RlLm9iamVjdC5uYW1lfTwvZGl2PlxuICAgIDwvU3R5bGVkQ29sdW1uTm9kZT5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsaUJBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFDLHVCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxXQUFBLEdBQUFILHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBTSxXQUFBLEdBQUFOLE9BQUE7QUFBd0QsSUFBQU8sZUFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQVJ4RDtBQUNBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFB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
package/dist/plugin.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export declare const keplerGlDuckDBPlugin: {
2
+ name: string;
2
3
  init(): Promise<void>;
3
4
  };
package/dist/plugin.js CHANGED
@@ -12,6 +12,7 @@ var _init = require("./init");
12
12
  // Copyright contributors to the kepler.gl project
13
13
 
14
14
  var keplerGlDuckDBPlugin = exports.keplerGlDuckDBPlugin = {
15
+ name: 'duckdb',
15
16
  init: function init() {
16
17
  return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
17
18
  return _regenerator["default"].wrap(function _callee$(_context) {
@@ -29,4 +30,4 @@ var keplerGlDuckDBPlugin = exports.keplerGlDuckDBPlugin = {
29
30
  }))();
30
31
  }
31
32
  };
32
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW5pdCIsInJlcXVpcmUiLCJrZXBsZXJHbER1Y2tEQlBsdWdpbiIsImV4cG9ydHMiLCJpbml0IiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiaW5pdGlhbGl6ZUR1Y2tEYiIsImNvbnNvbGUiLCJsb2ciLCJzdG9wIl0sInNvdXJjZXMiOlsiLi4vc3JjL3BsdWdpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQge2luaXRpYWxpemVEdWNrRGJ9IGZyb20gJy4vaW5pdCc7XG5cbmV4cG9ydCBjb25zdCBrZXBsZXJHbER1Y2tEQlBsdWdpbiA9IHtcbiAgYXN5bmMgaW5pdCgpIHtcbiAgICBhd2FpdCBpbml0aWFsaXplRHVja0RiKCk7XG4gICAgY29uc29sZS5sb2coJ2tlcGxlci5nbCBEdWNrREIgUGx1Z2luIGluaXRpYWxpemVkJyk7XG4gIH1cbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUdBLElBQUFBLEtBQUEsR0FBQUMsT0FBQTtBQUhBO0FBQ0E7O0FBSU8sSUFBTUMsb0JBQW9CLEdBQUFDLE9BQUEsQ0FBQUQsb0JBQUEsR0FBRztFQUM1QkUsSUFBSSxXQUFKQSxJQUFJQSxDQUFBLEVBQUc7SUFBQSxXQUFBQyxrQkFBQSwyQkFBQUMsWUFBQSxZQUFBQyxJQUFBLFVBQUFDLFFBQUE7TUFBQSxPQUFBRixZQUFBLFlBQUFHLElBQUEsVUFBQUMsU0FBQUMsUUFBQTtRQUFBLGtCQUFBQSxRQUFBLENBQUFDLElBQUEsR0FBQUQsUUFBQSxDQUFBRSxJQUFBO1VBQUE7WUFBQUYsUUFBQSxDQUFBRSxJQUFBO1lBQUEsT0FDTCxJQUFBQyxzQkFBZ0IsRUFBQyxDQUFDO1VBQUE7WUFDeEJDLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLHFDQUFxQyxDQUFDO1VBQUM7VUFBQTtZQUFBLE9BQUFMLFFBQUEsQ0FBQU0sSUFBQTtRQUFBO01BQUEsR0FBQVQsT0FBQTtJQUFBO0VBQ3JEO0FBQ0YsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
33
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW5pdCIsInJlcXVpcmUiLCJrZXBsZXJHbER1Y2tEQlBsdWdpbiIsImV4cG9ydHMiLCJuYW1lIiwiaW5pdCIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImluaXRpYWxpemVEdWNrRGIiLCJjb25zb2xlIiwibG9nIiwic3RvcCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9wbHVnaW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtpbml0aWFsaXplRHVja0RifSBmcm9tICcuL2luaXQnO1xuXG5leHBvcnQgY29uc3Qga2VwbGVyR2xEdWNrREJQbHVnaW4gPSB7XG4gIG5hbWU6ICdkdWNrZGInLFxuICBhc3luYyBpbml0KCkge1xuICAgIGF3YWl0IGluaXRpYWxpemVEdWNrRGIoKTtcbiAgICBjb25zb2xlLmxvZygna2VwbGVyLmdsIER1Y2tEQiBQbHVnaW4gaW5pdGlhbGl6ZWQnKTtcbiAgfVxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR0EsSUFBQUEsS0FBQSxHQUFBQyxPQUFBO0FBSEE7QUFDQTs7QUFJTyxJQUFNQyxvQkFBb0IsR0FBQUMsT0FBQSxDQUFBRCxvQkFBQSxHQUFHO0VBQ2xDRSxJQUFJLEVBQUUsUUFBUTtFQUNSQyxJQUFJLFdBQUpBLElBQUlBLENBQUEsRUFBRztJQUFBLFdBQUFDLGtCQUFBLDJCQUFBQyxZQUFBLFlBQUFDLElBQUEsVUFBQUMsUUFBQTtNQUFBLE9BQUFGLFlBQUEsWUFBQUcsSUFBQSxVQUFBQyxTQUFBQyxRQUFBO1FBQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7VUFBQTtZQUFBRixRQUFBLENBQUFFLElBQUE7WUFBQSxPQUNMLElBQUFDLHNCQUFnQixFQUFDLENBQUM7VUFBQTtZQUN4QkMsT0FBTyxDQUFDQyxHQUFHLENBQUMscUNBQXFDLENBQUM7VUFBQztVQUFBO1lBQUEsT0FBQUwsUUFBQSxDQUFBTSxJQUFBO1FBQUE7TUFBQSxHQUFBVCxPQUFBO0lBQUE7RUFDckQ7QUFDRixDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -315,14 +315,13 @@ function processGeojson(rawData) {
315
315
  if (!normalizedGeojson || !Array.isArray(normalizedGeojson.features)) {
316
316
  var error = new Error("Read File Failed: File is not a valid GeoJSON. Read more about [supported file format](".concat(_constants.GUIDES_FILE_FORMAT_DOC, ")"));
317
317
  throw error;
318
- // fail to normalize geojson
319
318
  }
320
- // console.log(normalizedGeojson);
321
319
 
320
+ // @ts-expect-error Don't pass empty fields, as duck db outputs an empty dataset
322
321
  return {
323
- rows: normalizedGeojson,
322
+ rows: normalizedGeojson
324
323
  // TODO get fields to preserve field names?
325
- fields: []
324
+ // fields: []
326
325
  };
327
326
  }
328
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ2VvanNvbk5vcm1hbGl6ZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2NvbW1vblV0aWxzIiwiX2NvbnN0YW50cyIsIl9wcm9jZXNzb3JzIiwiX2luaXQiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsInIiLCJlIiwidCIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwibGVuZ3RoIiwiX24iLCJGIiwicyIsIm4iLCJkb25lIiwidmFsdWUiLCJmIiwiVHlwZUVycm9yIiwibyIsImEiLCJ1IiwiY2FsbCIsIm5leHQiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJmcm9tIiwidGVzdCIsIm93bktleXMiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJDU1ZfTlVMTFMiLCJleHBvcnRzIiwiQ09MVU1OX1RZUEVTIiwiQ09MVU1OX1RZUEVTX1BSSU9SSVRJRVMiLCJjb2x1bW5UeXBlVG9GaWVsZFR5cGUiLCJjb2x1bW5UeXBlIiwiQk9PTEVBTiIsIkFMTF9GSUVMRF9UWVBFUyIsIkRBVEUiLCJkYXRlIiwiSU5URUdFUiIsImludGVnZXIiLCJGTE9BVCIsInJlYWwiLCJWQVJDSEFSIiwic3RyaW5nIiwiVElNRVNUQU1QIiwidGltZXN0YW1wIiwiR0VPTUVUUlkiLCJnZW9qc29uIiwiY29uc29sZSIsIndhcm4iLCJjb25jYXQiLCJmaWVsZFR5cGVUb0NvbHVtblR5cGUiLCJmaWVsZFR5cGUiLCJwcm9jZXNzS2VwbGVyZ2xKU09OZm9yRHVja0RiIiwiX3giLCJfcHJvY2Vzc0tlcGxlcmdsSlNPTmZvckR1Y2tEYiIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwia2VwbGVySnNvbiIsInJlcyIsImRhdGFzZXRzIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJfbG9vcDIiLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dDIiLCJwcmV2IiwicHJvY2Vzc0tlcGxlcmdsSlNPTiIsImRhdGFzZXQiLCJyb3dzQWxsIiwiZmllbGRzQWxsIiwiaGVhZGVyIiwic2FtcGxlIiwic2NoZW1hIiwiZmllbGRzVXBkIiwiX2xvb3AyJCIsIl9jb250ZXh0IiwiZGF0YSIsInJvd3MiLCJmaWVsZHMiLCJtYXAiLCJnZXRTYW1wbGVGb3JUeXBlQW5hbHl6ZSIsInNuaWZmQ3N2U2NoZW1hIiwidDAiLCJzZW50IiwicmVkdWNlIiwiYWNjIiwiZmllbGQiLCJ0eXBlIiwiY29uc29saWRhdGVGaWVsZFR5cGVzIiwiaSIsInN0b3AiLCJkZWxlZ2F0ZVlpZWxkIiwidDEiLCJmaW5pc2giLCJhYnJ1cHQiLCJwcm9jZXNzQ3N2Um93T2JqZWN0IiwiX3gyIiwiX3Byb2Nlc3NDc3ZSb3dPYmplY3QiLCJfY2FsbGVlMiIsInJhd0RhdGEiLCJmaWVsZHNXQW5hbHl6ZXJUeXBlIiwiX2NhbGxlZTIkIiwiX2NvbnRleHQzIiwiY2xlYW5VcEZhbHN5Q3N2VmFsdWUiLCJnZXRGaWVsZHNGcm9tRGF0YSIsInJlIiwiUmVnRXhwIiwiX2xvb3AiLCJrZXkiLCJtYXRjaCIsImNvbHVtbk5hbWUiLCJkZXRlY3RlZENvbHVtblR5cGUiLCJkdWNrREJDb2x1bW5UeXBlIiwidG9DU1ZSb3ciLCJyb3ciLCJyVG9TdHIiLCJub3ROdWxsb3JVbmRlZmluZWQiLCJTdHJpbmciLCJyZXBsYWNlIiwiaW5jbHVkZXMiLCJqb2luIiwiX3gzIiwiX3NuaWZmQ3N2U2NoZW1hIiwiX2NhbGxlZTMiLCJoZWFkZXJSb3ciLCJjc3ZDb250ZW50IiwiZGIiLCJjIiwiZmlsZU5hbWUiLCJyZXN1bHQiLCJzY2hlbWFSZXN1bHQiLCJjb2x1bW5zIiwiX2NhbGxlZTMkIiwiX2NvbnRleHQ0IiwiYWNjdSIsInZhbHVlcyIsImdldER1Y2tEQiIsImNvbm5lY3QiLCJnZW5lcmF0ZUhhc2hJZCIsInJlZ2lzdGVyRmlsZVRleHQiLCJxdWVyeSIsInRvQXJyYXkiLCJ0b0pTT04iLCJDb2x1bW5zIiwiZ2V0IiwicHJvY2Vzc0dlb2pzb24iLCJub3JtYWxpemVkR2VvanNvbiIsIm5vcm1hbGl6ZSIsImZlYXR1cmVzIiwiZXJyb3IiLCJFcnJvciIsIkdVSURFU19GSUxFX0ZPUk1BVF9ET0MiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvY2Vzc29ycy9kYXRhLXByb2Nlc3Nvci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgKiBhcyBhcnJvdyBmcm9tICdhcGFjaGUtYXJyb3cnO1xuaW1wb3J0IG5vcm1hbGl6ZSBmcm9tICdAbWFwYm94L2dlb2pzb24tbm9ybWFsaXplJztcblxuaW1wb3J0IHtcbiAgZ2V0U2FtcGxlRm9yVHlwZUFuYWx5emUsXG4gIGdldEZpZWxkc0Zyb21EYXRhLFxuICBnZW5lcmF0ZUhhc2hJZCxcbiAgbm90TnVsbG9yVW5kZWZpbmVkXG59IGZyb20gJ0BrZXBsZXIuZ2wvY29tbW9uLXV0aWxzJztcbmltcG9ydCB7UHJvdG9EYXRhc2V0RmllbGR9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtBTExfRklFTERfVFlQRVMsIEdVSURFU19GSUxFX0ZPUk1BVF9ET0N9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7cHJvY2Vzc0tlcGxlcmdsSlNPTn0gZnJvbSAnQGtlcGxlci5nbC9wcm9jZXNzb3JzJztcblxuaW1wb3J0IHtnZXREdWNrREJ9IGZyb20gJy4uL2luaXQnO1xuXG5leHBvcnQgY29uc3QgQ1NWX05VTExTID0gL14obnVsbHxOVUxMfE51bGx8TmFOfFxcL058fCkkLztcblxudHlwZSBSb3dzQXNBcnJheSA9IGFueVtdW107XG50eXBlIFJvd3NBc09iamVjdCA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+W107XG50eXBlIFJvd0RhdGEgPSBSb3dzQXNBcnJheSB8IFJvd3NBc09iamVjdDtcblxuZXhwb3J0IHR5cGUgUHJvY2Vzc29yUmVzdWx0ID0ge1xuICBjb2xzPzogYXJyb3cuVmVjdG9yW107XG4gIHJvd3M6IFJvd0RhdGE7XG4gIGZpZWxkczogUHJvdG9EYXRhc2V0RmllbGRbXTtcbn07XG5cbmVudW0gQ09MVU1OX1RZUEVTIHtcbiAgR0VPTUVUUlkgPSAnR0VPTUVUUlknLFxuICBCT09MRUFOID0gJ0JPT0xFQU4nLFxuICBJTlRFR0VSID0gJ0lOVEVHRVInLFxuICBGTE9BVCA9ICdGTE9BVCcsXG4gIFRJTUUgPSAnVElNRScsXG4gIERBVEUgPSAnREFURScsXG4gIFRJTUVTVEFNUCA9ICdUSU1FU1RBTVAnLFxuICBWQVJDSEFSID0gJ1ZBUkNIQVInXG59XG4vLyBAdHMtZXhwZWN0LWVycm9yIGh0dHBzOi8vZHVja2RiLm9yZy9kb2NzL2RhdGEvY3N2L2F1dG9fZGV0ZWN0aW9uLmh0bWwjdHlwZS1kZXRlY3Rpb25cbmNvbnN0IENPTFVNTl9UWVBFU19QUklPUklUSUVTID0gW1xuICAnR0VPTUVUUlknLFxuICAnQk9PTEVBTicsXG4gICdJTlRFR0VSJyxcbiAgJ0ZMT0FUJyxcbiAgJ1RJTUUnLFxuICAnREFURScsXG4gICdUSU1FU1RBTVAnLFxuICAnVkFSQ0hBUidcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiBjb2x1bW5UeXBlVG9GaWVsZFR5cGUoY29sdW1uVHlwZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gIHN3aXRjaCAoY29sdW1uVHlwZSkge1xuICAgIGNhc2UgQ09MVU1OX1RZUEVTLkJPT0xFQU46XG4gICAgICByZXR1cm4gQUxMX0ZJRUxEX1RZUEVTLmJvb2xlYW47XG4gICAgY2FzZSBDT0xVTU5fVFlQRVMuREFURTpcbiAgICAgIHJldHVybiBBTExfRklFTERfVFlQRVMuZGF0ZTtcbiAgICBjYXNlIENPTFVNTl9UWVBFUy5JTlRFR0VSOlxuICAgICAgcmV0dXJuIEFMTF9GSUVMRF9UWVBFUy5pbnRlZ2VyO1xuICAgIGNhc2UgQ09MVU1OX1RZUEVTLkZMT0FUOlxuICAgICAgcmV0dXJuIEFMTF9GSUVMRF9UWVBFUy5yZWFsO1xuICAgIGNhc2UgQ09MVU1OX1RZUEVTLlZBUkNIQVI6XG4gICAgICByZXR1cm4gQUxMX0ZJRUxEX1RZUEVTLnN0cmluZztcbiAgICBjYXNlIENPTFVNTl9UWVBFUy5USU1FU1RBTVA6XG4gICAgICByZXR1cm4gQUxMX0ZJRUxEX1RZUEVTLnRpbWVzdGFtcDtcbiAgICBjYXNlIENPTFVNTl9UWVBFUy5HRU9NRVRSWTpcbiAgICAgIHJldHVybiBBTExfRklFTERfVFlQRVMuZ2VvanNvbjtcbiAgICBkZWZhdWx0OlxuICAgICAgLy8gaXMgdGhlcmUgYW55IG90aGVyIHR5cGUgd2UgZGlkbid0IGNvdmVyP1xuICAgICAgY29uc29sZS53YXJuKGBVbnN1cHBvcnRlZCBEdWNrREIgQ29sdW1uIHR5cGU6ICR7Y29sdW1uVHlwZX1gKTtcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZFR5cGVUb0NvbHVtblR5cGUoZmllbGRUeXBlOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgc3dpdGNoIChmaWVsZFR5cGUpIHtcbiAgICBjYXNlIEFMTF9GSUVMRF9UWVBFUy5ib29sZWFuOlxuICAgICAgcmV0dXJuIENPTFVNTl9UWVBFUy5CT09MRUFOO1xuICAgIGNhc2UgQUxMX0ZJRUxEX1RZUEVTLmRhdGU6XG4gICAgICByZXR1cm4gQ09MVU1OX1RZUEVTLkRBVEU7XG4gICAgY2FzZSBBTExfRklFTERfVFlQRVMuaW50ZWdlcjpcbiAgICAgIHJldHVybiBDT0xVTU5fVFlQRVMuSU5URUdFUjtcbiAgICBjYXNlIEFMTF9GSUVMRF9UWVBFUy5yZWFsOlxuICAgICAgcmV0dXJuIENPTFVNTl9UWVBFUy5GTE9BVDtcbiAgICBjYXNlIEFMTF9GSUVMRF9UWVBFUy5zdHJpbmc6XG4gICAgICByZXR1cm4gQ09MVU1OX1RZUEVTLlZBUkNIQVI7XG4gICAgY2FzZSBBTExfRklFTERfVFlQRVMudGltZXN0YW1wOlxuICAgICAgcmV0dXJuIENPTFVNTl9UWVBFUy5USU1FU1RBTVA7XG4gICAgY2FzZSBBTExfRklFTERfVFlQRVMuZ2VvanNvbjpcbiAgICAgIHJldHVybiBDT0xVTU5fVFlQRVMuR0VPTUVUUlk7XG4gICAgZGVmYXVsdDpcbiAgICAgIC8vIGlzIHRoZXJlIGFueSBvdGhlciB0eXBlIHdlIGRpZG4ndCBjb3Zlcj9cbiAgICAgIGNvbnNvbGUud2FybihgVW5zdXBwb3J0ZWQgRmllbGQgdHlwZSBmb3IgRHVja0RiOiAke2ZpZWxkVHlwZX1gKTtcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbi8qXG4gKiBQcm9jZXNzIHVwbG9hZGVkIGV4cG9ydGVkIEtlcGxlcmdsIGpzb24gbWFwLlxuICogV2UgbmVlZCB0byBwb3B1bGF0ZSBmaWVsZCB3aXRoIHByb3BlciBEdWNrRGIgY29tcGF0aWJsZSB0eXBlLlxuICovXG4vLyBUT0RPOiBtZXJnZSB3aXRoIGxvZ2ljIGZyb20gcHJvY2Vzc0NzdlJvd09iamVjdC4gRGlmZmVyZW50IGZvcm1hdHM6IFtbXV0gdnMgW3t9XVxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByb2Nlc3NLZXBsZXJnbEpTT05mb3JEdWNrRGIoXG4gIGtlcGxlckpzb25cbik6IFByb21pc2U8UmV0dXJuVHlwZTx0eXBlb2YgcHJvY2Vzc0tlcGxlcmdsSlNPTj4+IHtcbiAgY29uc3QgcmVzID0gcHJvY2Vzc0tlcGxlcmdsSlNPTihrZXBsZXJKc29uKTtcblxuICBjb25zdCBkYXRhc2V0cyA9IHJlcz8uZGF0YXNldHMgfHwgW107XG4gIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cykge1xuICAgIGNvbnN0IHJvd3NBbGwgPSBkYXRhc2V0LmRhdGEucm93cztcbiAgICBjb25zdCBmaWVsZHNBbGwgPSBkYXRhc2V0LmRhdGEuZmllbGRzO1xuXG4gICAgY29uc3QgaGVhZGVyID0gZmllbGRzQWxsLm1hcChmID0+IGYubmFtZSk7XG4gICAgY29uc3Qgc2FtcGxlID0gZ2V0U2FtcGxlRm9yVHlwZUFuYWx5emUoe2ZpZWxkczogaGVhZGVyLCByb3dzOiByb3dzQWxsfSk7XG5cbiAgICBjb25zdCBzY2hlbWEgPVxuICAgICAgc2FtcGxlLmxlbmd0aCA+IDBcbiAgICAgICAgPyBhd2FpdCBzbmlmZkNzdlNjaGVtYShzYW1wbGUpXG4gICAgICAgIDogZmllbGRzQWxsLnJlZHVjZSgoYWNjLCBmaWVsZCkgPT4ge1xuICAgICAgICAgICAgYWNjW2ZpZWxkLm5hbWVdID0gZmllbGRUeXBlVG9Db2x1bW5UeXBlKGZpZWxkLnR5cGUpO1xuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICB9LCB7fSk7XG4gICAgY29uc3QgZmllbGRzVXBkID0gY29uc29saWRhdGVGaWVsZFR5cGVzKGRhdGFzZXQuZGF0YS5maWVsZHMsIHNjaGVtYSk7XG5cbiAgICBkYXRhc2V0LmRhdGEuZmllbGRzID0gZmllbGRzQWxsLm1hcCgoZiwgaSkgPT4ge1xuICAgICAgcmV0dXJuIHsuLi5maWVsZHNVcGRbaV0sIC4uLmZ9O1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHJlcztcbn1cblxuLypcbiAqIFByb2Nlc3MgdXBsb2FkZWQgY3N2IHJldHVybmVkIGJ5IGxvYWRlcnMuZ2wgYXMgcm93IG9iamVjdCBhbmQgc3RyaW5nIHZhbHVlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9jZXNzQ3N2Um93T2JqZWN0KFxuICByYXdEYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudWxsPltdXG4pOiBQcm9taXNlPFByb2Nlc3NvclJlc3VsdD4ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkocmF3RGF0YSkgfHwgIXJhd0RhdGEubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZpZWxkczogW10sXG4gICAgICByb3dzOiBbXVxuICAgIH07XG4gIH1cblxuICBjb25zdCBoZWFkZXIgPSBPYmplY3Qua2V5cyhyYXdEYXRhWzBdKTsgLy8gW2xhdCwgbG5nLCB2YWx1ZV1cblxuICAvLyByb3cgb2JqZWN0IGNhbiBzdGlsbCBjb250YWluIHZhbHVlcyBsaWtlIGBOdWxsYCBvciBgTi9BYFxuICBjbGVhblVwRmFsc3lDc3ZWYWx1ZShyYXdEYXRhKTtcbiAgY29uc3Qgc2FtcGxlID0gZ2V0U2FtcGxlRm9yVHlwZUFuYWx5emUoe2ZpZWxkczogaGVhZGVyLCByb3dzOiByYXdEYXRhfSk7XG4gIC8vIGFkZCBzYW1wbGUgZGF0YSB0byBkdWNrZGIgYW5kIGdldCBzY2hlbWFcbiAgY29uc3Qgc2NoZW1hID0gYXdhaXQgc25pZmZDc3ZTY2hlbWEoc2FtcGxlKTtcblxuICBjb25zdCBmaWVsZHNXQW5hbHl6ZXJUeXBlID0gZ2V0RmllbGRzRnJvbURhdGEoc2FtcGxlLCBoZWFkZXIpO1xuXG4gIGNvbnN0IGZpZWxkcyA9IGNvbnNvbGlkYXRlRmllbGRUeXBlcyhmaWVsZHNXQW5hbHl6ZXJUeXBlLCBzY2hlbWEpO1xuXG4gIHJldHVybiB7cm93czogcmF3RGF0YSwgZmllbGRzfTtcbn1cblxuZnVuY3Rpb24gY2xlYW5VcEZhbHN5Q3N2VmFsdWUocm93czogUm93RGF0YSk6IHZvaWQge1xuICBjb25zdCByZSA9IG5ldyBSZWdFeHAoQ1NWX05VTExTLCAnZycpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHJvd3MubGVuZ3RoOyBpKyspIHtcbiAgICBPYmplY3Qua2V5cyhyb3dzW2ldKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAvLyBoZXJlIHdlIHBhcnNlIGVtcHR5IGRhdGEgYXMgbnVsbFxuICAgICAgaWYgKHR5cGVvZiByb3dzW2ldW2tleV0gPT09ICdzdHJpbmcnICYmIChyb3dzW2ldW2tleV0gYXMgc3RyaW5nKS5tYXRjaChyZSkpIHtcbiAgICAgICAgcm93c1tpXVtrZXldID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuXG4vLyBhbGlnbiB0eXBlIGFuYWx5emVyIHR5cGVzIHdpdGggRHVja0RCIGNzdiBhdXRvIGRldGVjdGVkIGNvbHVtbiB0eXBlc1xuZnVuY3Rpb24gY29uc29saWRhdGVGaWVsZFR5cGVzKGZpZWxkcywgc2NoZW1hKSB7XG4gIHJldHVybiBmaWVsZHMubWFwKGZpZWxkID0+IHtcbiAgICBjb25zdCBjb2x1bW5OYW1lID0gZmllbGQubmFtZTtcblxuICAgIGNvbnN0IGRldGVjdGVkQ29sdW1uVHlwZSA9IHNjaGVtYVtjb2x1bW5OYW1lXTtcblxuICAgIC8vIFRPRE8gY29sdW1uVHlwZVRvRmllbGRUeXBlIHRyYW5mb3JtcyBkZXRlY3RlZCB0aW1lc3RhbXBzIHRvIHN0cmluZyxcbiAgICAvLyBjb21wbGV0ZWx5IGJyZWFraW5nIHRpbWUgZmlsdGVyIGxvZ2ljLlxuICAgIC8vIGNvbnN0IGZpZWxkVHlwZSA9IGNvbHVtblR5cGVUb0ZpZWxkVHlwZShkZXRlY3RlZENvbHVtblR5cGUpIHx8IGZpZWxkLnR5cGU7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uZmllbGQsXG4gICAgICAvLyB0eXBlOiBmaWVsZFR5cGUsXG4gICAgICBkdWNrREJDb2x1bW5UeXBlOiBkZXRlY3RlZENvbHVtblR5cGVcbiAgICB9O1xuICB9KTtcbn1cblxuZnVuY3Rpb24gdG9DU1ZSb3cocm93OiB1bmtub3duW10pOiBzdHJpbmcge1xuICByZXR1cm4gYCR7cm93XG4gICAgLm1hcChyID0+IHtcbiAgICAgIGNvbnN0IHJUb1N0ciA9IG5vdE51bGxvclVuZGVmaW5lZChyKSA/IFN0cmluZyhyKS5yZXBsYWNlKC9cIi9nLCAnXFxcXFwiJykgOiAnJztcbiAgICAgIHJldHVybiByVG9TdHIuaW5jbHVkZXMoJywnKSA/IGBcIiR7clRvU3RyfVwiYCA6IHJUb1N0cjtcbiAgICB9KVxuICAgIC5qb2luKCcsJyl9XFxuYDtcbn1cblxuLy8gVXNlIER1Y2NrREIgdG8gZGV0ZWN0IGNzdiBjb2x1bW4gc2NoZW1hXG5hc3luYyBmdW5jdGlvbiBzbmlmZkNzdlNjaGVtYShzYW1wbGU6IFJvd0RhdGEpIHtcbiAgaWYgKCFBcnJheS5pc0FycmF5KHNhbXBsZSkgfHwgc2FtcGxlLmxlbmd0aCA8IDApIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgaGVhZGVyUm93ID0gdG9DU1ZSb3coT2JqZWN0LmtleXMoc2FtcGxlWzBdKSk7XG5cbiAgY29uc3QgY3N2Q29udGVudCA9IChzYW1wbGUgYXMgKGFueVtdIHwgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW10pLnJlZHVjZShcbiAgICAoYWNjdTogc3RyaW5nLCByb3cpID0+IGAke2FjY3V9JHt0b0NTVlJvdyhPYmplY3QudmFsdWVzKHJvdykpfWAsXG4gICAgaGVhZGVyUm93XG4gICk7XG5cbiAgY29uc3QgZGIgPSBhd2FpdCBnZXREdWNrREIoKTtcbiAgY29uc3QgYyA9IGF3YWl0IGRiLmNvbm5lY3QoKTtcblxuICBjb25zdCBmaWxlTmFtZSA9IGdlbmVyYXRlSGFzaElkKCk7XG4gIGF3YWl0IGRiLnJlZ2lzdGVyRmlsZVRleHQoYCR7ZmlsZU5hbWV9LSR7Z2VuZXJhdGVIYXNoSWR9LmNzdmAsIGNzdkNvbnRlbnQpO1xuXG4gIC8vIGh0dHBzOi8vZHVja2RiLm9yZy9kb2NzL2RhdGEvY3N2L2F1dG9fZGV0ZWN0aW9uLmh0bWxcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYy5xdWVyeShgXG4gICAgICAgIEZST00gc25pZmZfY3N2KCcke2ZpbGVOYW1lfS0ke2dlbmVyYXRlSGFzaElkfS5jc3YnLCBcbiAgICAgICAgc2FtcGxlX3NpemUgPSA1MDAsXG4gICAgICAgIGF1dG9fdHlwZV9jYW5kaWRhdGVzID0gWydGTE9BVCcsICdJTlRFR0VSJywgJ1RJTUVTVEFNUCcsICdEQVRFJywgJ1RJTUUnLCAnVkFSQ0hBUicsICdCT09MRUFOJ10pO1xuICAgIGApO1xuXG4gIGNvbnN0IHNjaGVtYVJlc3VsdCA9IHJlc3VsdC50b0FycmF5KCkubWFwKHJvdyA9PiByb3cudG9KU09OKCkpO1xuXG4gIGNvbnN0IGNvbHVtbnMgPSBzY2hlbWFSZXN1bHRbMF0uQ29sdW1ucztcbiAgY29uc3Qgc2NoZW1hID0ge307XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29sdW1ucy5sZW5ndGg7IGkrKykge1xuICAgIHNjaGVtYVtjb2x1bW5zLmdldChpKS5uYW1lXSA9IGNvbHVtbnMuZ2V0KGkpLnR5cGU7XG4gIH1cblxuICByZXR1cm4gc2NoZW1hO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2Vzc0dlb2pzb24ocmF3RGF0YTogdW5rbm93bik6IFByb2Nlc3NvclJlc3VsdCB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRHZW9qc29uID0gbm9ybWFsaXplKHJhd0RhdGEpO1xuXG4gIGlmICghbm9ybWFsaXplZEdlb2pzb24gfHwgIUFycmF5LmlzQXJyYXkobm9ybWFsaXplZEdlb2pzb24uZmVhdHVyZXMpKSB7XG4gICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoXG4gICAgICBgUmVhZCBGaWxlIEZhaWxlZDogRmlsZSBpcyBub3QgYSB2YWxpZCBHZW9KU09OLiBSZWFkIG1vcmUgYWJvdXQgW3N1cHBvcnRlZCBmaWxlIGZvcm1hdF0oJHtHVUlERVNfRklMRV9GT1JNQVRfRE9DfSlgXG4gICAgKTtcbiAgICB0aHJvdyBlcnJvcjtcbiAgICAvLyBmYWlsIHRvIG5vcm1hbGl6ZSBnZW9qc29uXG4gIH1cbiAgLy8gY29uc29sZS5sb2cobm9ybWFsaXplZEdlb2pzb24pO1xuXG4gIHJldHVybiB7XG4gICAgcm93czogbm9ybWFsaXplZEdlb2pzb24sXG4gICAgLy8gVE9ETyBnZXQgZmllbGRzIHRvIHByZXNlcnZlIGZpZWxkIG5hbWVzP1xuICAgIGZpZWxkczogW11cbiAgfTtcbn1cbiJd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LE1BQUEsQ0FBSTRGLDJCQUFjLFdBQVFiLFVBQVUsQ0FBQztRQUFBO1VBQUFRLFNBQUEsQ0FBQXJJLElBQUE7VUFBQSxPQUdyRCtILENBQUMsQ0FBQ2EsS0FBSyw4QkFBQTlGLE1BQUEsQ0FDSmtGLFFBQVEsT0FBQWxGLE1BQUEsQ0FBSTRGLDJCQUFjLHdKQUcvQyxDQUFDO1FBQUE7VUFKRVQsTUFBTSxHQUFBSSxTQUFBLENBQUFsRCxJQUFBO1VBTU4rQyxZQUFZLEdBQUdELE1BQU0sQ0FBQ1ksT0FBTyxDQUFDLENBQUMsQ0FBQzlELEdBQUcsQ0FBQyxVQUFBbUMsR0FBRztZQUFBLE9BQUlBLEdBQUcsQ0FBQzRCLE1BQU0sQ0FBQyxDQUFDO1VBQUEsRUFBQztVQUV4RFgsT0FBTyxHQUFHRCxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUNhLE9BQU87VUFDakN2RSxNQUFNLEdBQUcsQ0FBQyxDQUFDO1VBQ2pCLEtBQVNpQixDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUcwQyxPQUFPLENBQUNoSixNQUFNLEVBQUVzRyxDQUFDLEVBQUUsRUFBRTtZQUN2Q2pCLE1BQU0sQ0FBQzJELE9BQU8sQ0FBQ2EsR0FBRyxDQUFDdkQsQ0FBQyxDQUFDLENBQUNwRixJQUFJLENBQUMsR0FBRzhILE9BQU8sQ0FBQ2EsR0FBRyxDQUFDdkQsQ0FBQyxDQUFDLENBQUNGLElBQUk7VUFDbkQ7VUFBQyxPQUFBOEMsU0FBQSxDQUFBdkMsTUFBQSxXQUVNdEIsTUFBTTtRQUFBO1FBQUE7VUFBQSxPQUFBNkQsU0FBQSxDQUFBM0MsSUFBQTtNQUFBO0lBQUEsR0FBQWlDLFFBQUE7RUFBQSxDQUNkO0VBQUEsT0FBQUQsZUFBQSxDQUFBMUcsS0FBQSxPQUFBRSxTQUFBO0FBQUE7QUFFTSxTQUFTK0gsY0FBY0EsQ0FBQzlDLE9BQWdCLEVBQW1CO0VBQ2hFLElBQU0rQyxpQkFBaUIsR0FBRyxJQUFBQyw0QkFBUyxFQUFDaEQsT0FBTyxDQUFDO0VBRTVDLElBQUksQ0FBQytDLGlCQUFpQixJQUFJLENBQUNsSyxLQUFLLENBQUNDLE9BQU8sQ0FBQ2lLLGlCQUFpQixDQUFDRSxRQUFRLENBQUMsRUFBRTtJQUNwRSxJQUFNQyxLQUFLLEdBQUcsSUFBSUMsS0FBSywyRkFBQXhHLE1BQUEsQ0FDcUV5RyxpQ0FBc0IsTUFDbEgsQ0FBQztJQUNELE1BQU1GLEtBQUs7SUFDWDtFQUNGO0VBQ0E7O0VBRUEsT0FBTztJQUNMeEUsSUFBSSxFQUFFcUUsaUJBQWlCO0lBQ3ZCO0lBQ0FwRSxNQUFNLEVBQUU7RUFDVixDQUFDO0FBQ0giLCJpZ25vcmVMaXN0IjpbXX0=
327
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ2VvanNvbk5vcm1hbGl6ZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2NvbW1vblV0aWxzIiwiX2NvbnN0YW50cyIsIl9wcm9jZXNzb3JzIiwiX2luaXQiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsInIiLCJlIiwidCIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwibGVuZ3RoIiwiX24iLCJGIiwicyIsIm4iLCJkb25lIiwidmFsdWUiLCJmIiwiVHlwZUVycm9yIiwibyIsImEiLCJ1IiwiY2FsbCIsIm5leHQiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJmcm9tIiwidGVzdCIsIm93bktleXMiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJDU1ZfTlVMTFMiLCJleHBvcnRzIiwiQ09MVU1OX1RZUEVTIiwiQ09MVU1OX1RZUEVTX1BSSU9SSVRJRVMiLCJjb2x1bW5UeXBlVG9GaWVsZFR5cGUiLCJjb2x1bW5UeXBlIiwiQk9PTEVBTiIsIkFMTF9GSUVMRF9UWVBFUyIsIkRBVEUiLCJkYXRlIiwiSU5URUdFUiIsImludGVnZXIiLCJGTE9BVCIsInJlYWwiLCJWQVJDSEFSIiwic3RyaW5nIiwiVElNRVNUQU1QIiwidGltZXN0YW1wIiwiR0VPTUVUUlkiLCJnZW9qc29uIiwiY29uc29sZSIsIndhcm4iLCJjb25jYXQiLCJmaWVsZFR5cGVUb0NvbHVtblR5cGUiLCJmaWVsZFR5cGUiLCJwcm9jZXNzS2VwbGVyZ2xKU09OZm9yRHVja0RiIiwiX3giLCJfcHJvY2Vzc0tlcGxlcmdsSlNPTmZvckR1Y2tEYiIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwia2VwbGVySnNvbiIsInJlcyIsImRhdGFzZXRzIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJfbG9vcDIiLCJ3cmFwIiwiX2NhbGxlZSQiLCJfY29udGV4dDIiLCJwcmV2IiwicHJvY2Vzc0tlcGxlcmdsSlNPTiIsImRhdGFzZXQiLCJyb3dzQWxsIiwiZmllbGRzQWxsIiwiaGVhZGVyIiwic2FtcGxlIiwic2NoZW1hIiwiZmllbGRzVXBkIiwiX2xvb3AyJCIsIl9jb250ZXh0IiwiZGF0YSIsInJvd3MiLCJmaWVsZHMiLCJtYXAiLCJnZXRTYW1wbGVGb3JUeXBlQW5hbHl6ZSIsInNuaWZmQ3N2U2NoZW1hIiwidDAiLCJzZW50IiwicmVkdWNlIiwiYWNjIiwiZmllbGQiLCJ0eXBlIiwiY29uc29saWRhdGVGaWVsZFR5cGVzIiwiaSIsInN0b3AiLCJkZWxlZ2F0ZVlpZWxkIiwidDEiLCJmaW5pc2giLCJhYnJ1cHQiLCJwcm9jZXNzQ3N2Um93T2JqZWN0IiwiX3gyIiwiX3Byb2Nlc3NDc3ZSb3dPYmplY3QiLCJfY2FsbGVlMiIsInJhd0RhdGEiLCJmaWVsZHNXQW5hbHl6ZXJUeXBlIiwiX2NhbGxlZTIkIiwiX2NvbnRleHQzIiwiY2xlYW5VcEZhbHN5Q3N2VmFsdWUiLCJnZXRGaWVsZHNGcm9tRGF0YSIsInJlIiwiUmVnRXhwIiwiX2xvb3AiLCJrZXkiLCJtYXRjaCIsImNvbHVtbk5hbWUiLCJkZXRlY3RlZENvbHVtblR5cGUiLCJkdWNrREJDb2x1bW5UeXBlIiwidG9DU1ZSb3ciLCJyb3ciLCJyVG9TdHIiLCJub3ROdWxsb3JVbmRlZmluZWQiLCJTdHJpbmciLCJyZXBsYWNlIiwiaW5jbHVkZXMiLCJqb2luIiwiX3gzIiwiX3NuaWZmQ3N2U2NoZW1hIiwiX2NhbGxlZTMiLCJoZWFkZXJSb3ciLCJjc3ZDb250ZW50IiwiZGIiLCJjIiwiZmlsZU5hbWUiLCJyZXN1bHQiLCJzY2hlbWFSZXN1bHQiLCJjb2x1bW5zIiwiX2NhbGxlZTMkIiwiX2NvbnRleHQ0IiwiYWNjdSIsInZhbHVlcyIsImdldER1Y2tEQiIsImNvbm5lY3QiLCJnZW5lcmF0ZUhhc2hJZCIsInJlZ2lzdGVyRmlsZVRleHQiLCJxdWVyeSIsInRvQXJyYXkiLCJ0b0pTT04iLCJDb2x1bW5zIiwiZ2V0IiwicHJvY2Vzc0dlb2pzb24iLCJub3JtYWxpemVkR2VvanNvbiIsIm5vcm1hbGl6ZSIsImZlYXR1cmVzIiwiZXJyb3IiLCJFcnJvciIsIkdVSURFU19GSUxFX0ZPUk1BVF9ET0MiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvY2Vzc29ycy9kYXRhLXByb2Nlc3Nvci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgKiBhcyBhcnJvdyBmcm9tICdhcGFjaGUtYXJyb3cnO1xuaW1wb3J0IG5vcm1hbGl6ZSBmcm9tICdAbWFwYm94L2dlb2pzb24tbm9ybWFsaXplJztcblxuaW1wb3J0IHtcbiAgZ2V0U2FtcGxlRm9yVHlwZUFuYWx5emUsXG4gIGdldEZpZWxkc0Zyb21EYXRhLFxuICBnZW5lcmF0ZUhhc2hJZCxcbiAgbm90TnVsbG9yVW5kZWZpbmVkXG59IGZyb20gJ0BrZXBsZXIuZ2wvY29tbW9uLXV0aWxzJztcbmltcG9ydCB7UHJvdG9EYXRhc2V0RmllbGR9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtBTExfRklFTERfVFlQRVMsIEdVSURFU19GSUxFX0ZPUk1BVF9ET0N9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7cHJvY2Vzc0tlcGxlcmdsSlNPTn0gZnJvbSAnQGtlcGxlci5nbC9wcm9jZXNzb3JzJztcblxuaW1wb3J0IHtnZXREdWNrREJ9IGZyb20gJy4uL2luaXQnO1xuXG5leHBvcnQgY29uc3QgQ1NWX05VTExTID0gL14obnVsbHxOVUxMfE51bGx8TmFOfFxcL058fCkkLztcblxudHlwZSBSb3dzQXNBcnJheSA9IGFueVtdW107XG50eXBlIFJvd3NBc09iamVjdCA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+W107XG50eXBlIFJvd0RhdGEgPSBSb3dzQXNBcnJheSB8IFJvd3NBc09iamVjdDtcblxuZXhwb3J0IHR5cGUgUHJvY2Vzc29yUmVzdWx0ID0ge1xuICBjb2xzPzogYXJyb3cuVmVjdG9yW107XG4gIHJvd3M6IFJvd0RhdGE7XG4gIGZpZWxkczogUHJvdG9EYXRhc2V0RmllbGRbXTtcbn07XG5cbmVudW0gQ09MVU1OX1RZUEVTIHtcbiAgR0VPTUVUUlkgPSAnR0VPTUVUUlknLFxuICBCT09MRUFOID0gJ0JPT0xFQU4nLFxuICBJTlRFR0VSID0gJ0lOVEVHRVInLFxuICBGTE9BVCA9ICdGTE9BVCcsXG4gIFRJTUUgPSAnVElNRScsXG4gIERBVEUgPSAnREFURScsXG4gIFRJTUVTVEFNUCA9ICdUSU1FU1RBTVAnLFxuICBWQVJDSEFSID0gJ1ZBUkNIQVInXG59XG4vLyBAdHMtZXhwZWN0LWVycm9yIGh0dHBzOi8vZHVja2RiLm9yZy9kb2NzL2RhdGEvY3N2L2F1dG9fZGV0ZWN0aW9uLmh0bWwjdHlwZS1kZXRlY3Rpb25cbmNvbnN0IENPTFVNTl9UWVBFU19QUklPUklUSUVTID0gW1xuICAnR0VPTUVUUlknLFxuICAnQk9PTEVBTicsXG4gICdJTlRFR0VSJyxcbiAgJ0ZMT0FUJyxcbiAgJ1RJTUUnLFxuICAnREFURScsXG4gICdUSU1FU1RBTVAnLFxuICAnVkFSQ0hBUidcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiBjb2x1bW5UeXBlVG9GaWVsZFR5cGUoY29sdW1uVHlwZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gIHN3aXRjaCAoY29sdW1uVHlwZSkge1xuICAgIGNhc2UgQ09MVU1OX1RZUEVTLkJPT0xFQU46XG4gICAgICByZXR1cm4gQUxMX0ZJRUxEX1RZUEVTLmJvb2xlYW47XG4gICAgY2FzZSBDT0xVTU5fVFlQRVMuREFURTpcbiAgICAgIHJldHVybiBBTExfRklFTERfVFlQRVMuZGF0ZTtcbiAgICBjYXNlIENPTFVNTl9UWVBFUy5JTlRFR0VSOlxuICAgICAgcmV0dXJuIEFMTF9GSUVMRF9UWVBFUy5pbnRlZ2VyO1xuICAgIGNhc2UgQ09MVU1OX1RZUEVTLkZMT0FUOlxuICAgICAgcmV0dXJuIEFMTF9GSUVMRF9UWVBFUy5yZWFsO1xuICAgIGNhc2UgQ09MVU1OX1RZUEVTLlZBUkNIQVI6XG4gICAgICByZXR1cm4gQUxMX0ZJRUxEX1RZUEVTLnN0cmluZztcbiAgICBjYXNlIENPTFVNTl9UWVBFUy5USU1FU1RBTVA6XG4gICAgICByZXR1cm4gQUxMX0ZJRUxEX1RZUEVTLnRpbWVzdGFtcDtcbiAgICBjYXNlIENPTFVNTl9UWVBFUy5HRU9NRVRSWTpcbiAgICAgIHJldHVybiBBTExfRklFTERfVFlQRVMuZ2VvanNvbjtcbiAgICBkZWZhdWx0OlxuICAgICAgLy8gaXMgdGhlcmUgYW55IG90aGVyIHR5cGUgd2UgZGlkbid0IGNvdmVyP1xuICAgICAgY29uc29sZS53YXJuKGBVbnN1cHBvcnRlZCBEdWNrREIgQ29sdW1uIHR5cGU6ICR7Y29sdW1uVHlwZX1gKTtcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWVsZFR5cGVUb0NvbHVtblR5cGUoZmllbGRUeXBlOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgc3dpdGNoIChmaWVsZFR5cGUpIHtcbiAgICBjYXNlIEFMTF9GSUVMRF9UWVBFUy5ib29sZWFuOlxuICAgICAgcmV0dXJuIENPTFVNTl9UWVBFUy5CT09MRUFOO1xuICAgIGNhc2UgQUxMX0ZJRUxEX1RZUEVTLmRhdGU6XG4gICAgICByZXR1cm4gQ09MVU1OX1RZUEVTLkRBVEU7XG4gICAgY2FzZSBBTExfRklFTERfVFlQRVMuaW50ZWdlcjpcbiAgICAgIHJldHVybiBDT0xVTU5fVFlQRVMuSU5URUdFUjtcbiAgICBjYXNlIEFMTF9GSUVMRF9UWVBFUy5yZWFsOlxuICAgICAgcmV0dXJuIENPTFVNTl9UWVBFUy5GTE9BVDtcbiAgICBjYXNlIEFMTF9GSUVMRF9UWVBFUy5zdHJpbmc6XG4gICAgICByZXR1cm4gQ09MVU1OX1RZUEVTLlZBUkNIQVI7XG4gICAgY2FzZSBBTExfRklFTERfVFlQRVMudGltZXN0YW1wOlxuICAgICAgcmV0dXJuIENPTFVNTl9UWVBFUy5USU1FU1RBTVA7XG4gICAgY2FzZSBBTExfRklFTERfVFlQRVMuZ2VvanNvbjpcbiAgICAgIHJldHVybiBDT0xVTU5fVFlQRVMuR0VPTUVUUlk7XG4gICAgZGVmYXVsdDpcbiAgICAgIC8vIGlzIHRoZXJlIGFueSBvdGhlciB0eXBlIHdlIGRpZG4ndCBjb3Zlcj9cbiAgICAgIGNvbnNvbGUud2FybihgVW5zdXBwb3J0ZWQgRmllbGQgdHlwZSBmb3IgRHVja0RiOiAke2ZpZWxkVHlwZX1gKTtcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbi8qXG4gKiBQcm9jZXNzIHVwbG9hZGVkIGV4cG9ydGVkIEtlcGxlcmdsIGpzb24gbWFwLlxuICogV2UgbmVlZCB0byBwb3B1bGF0ZSBmaWVsZCB3aXRoIHByb3BlciBEdWNrRGIgY29tcGF0aWJsZSB0eXBlLlxuICovXG4vLyBUT0RPOiBtZXJnZSB3aXRoIGxvZ2ljIGZyb20gcHJvY2Vzc0NzdlJvd09iamVjdC4gRGlmZmVyZW50IGZvcm1hdHM6IFtbXV0gdnMgW3t9XVxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByb2Nlc3NLZXBsZXJnbEpTT05mb3JEdWNrRGIoXG4gIGtlcGxlckpzb25cbik6IFByb21pc2U8UmV0dXJuVHlwZTx0eXBlb2YgcHJvY2Vzc0tlcGxlcmdsSlNPTj4+IHtcbiAgY29uc3QgcmVzID0gcHJvY2Vzc0tlcGxlcmdsSlNPTihrZXBsZXJKc29uKTtcblxuICBjb25zdCBkYXRhc2V0cyA9IHJlcz8uZGF0YXNldHMgfHwgW107XG4gIGZvciAoY29uc3QgZGF0YXNldCBvZiBkYXRhc2V0cykge1xuICAgIGNvbnN0IHJvd3NBbGwgPSBkYXRhc2V0LmRhdGEucm93cztcbiAgICBjb25zdCBmaWVsZHNBbGwgPSBkYXRhc2V0LmRhdGEuZmllbGRzO1xuXG4gICAgY29uc3QgaGVhZGVyID0gZmllbGRzQWxsLm1hcChmID0+IGYubmFtZSk7XG4gICAgY29uc3Qgc2FtcGxlID0gZ2V0U2FtcGxlRm9yVHlwZUFuYWx5emUoe2ZpZWxkczogaGVhZGVyLCByb3dzOiByb3dzQWxsfSk7XG5cbiAgICBjb25zdCBzY2hlbWEgPVxuICAgICAgc2FtcGxlLmxlbmd0aCA+IDBcbiAgICAgICAgPyBhd2FpdCBzbmlmZkNzdlNjaGVtYShzYW1wbGUpXG4gICAgICAgIDogZmllbGRzQWxsLnJlZHVjZSgoYWNjLCBmaWVsZCkgPT4ge1xuICAgICAgICAgICAgYWNjW2ZpZWxkLm5hbWVdID0gZmllbGRUeXBlVG9Db2x1bW5UeXBlKGZpZWxkLnR5cGUpO1xuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICB9LCB7fSk7XG4gICAgY29uc3QgZmllbGRzVXBkID0gY29uc29saWRhdGVGaWVsZFR5cGVzKGRhdGFzZXQuZGF0YS5maWVsZHMsIHNjaGVtYSk7XG5cbiAgICBkYXRhc2V0LmRhdGEuZmllbGRzID0gZmllbGRzQWxsLm1hcCgoZiwgaSkgPT4ge1xuICAgICAgcmV0dXJuIHsuLi5maWVsZHNVcGRbaV0sIC4uLmZ9O1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHJlcztcbn1cblxuLypcbiAqIFByb2Nlc3MgdXBsb2FkZWQgY3N2IHJldHVybmVkIGJ5IGxvYWRlcnMuZ2wgYXMgcm93IG9iamVjdCBhbmQgc3RyaW5nIHZhbHVlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9jZXNzQ3N2Um93T2JqZWN0KFxuICByYXdEYXRhOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudWxsPltdXG4pOiBQcm9taXNlPFByb2Nlc3NvclJlc3VsdD4ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkocmF3RGF0YSkgfHwgIXJhd0RhdGEubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZpZWxkczogW10sXG4gICAgICByb3dzOiBbXVxuICAgIH07XG4gIH1cblxuICBjb25zdCBoZWFkZXIgPSBPYmplY3Qua2V5cyhyYXdEYXRhWzBdKTsgLy8gW2xhdCwgbG5nLCB2YWx1ZV1cblxuICAvLyByb3cgb2JqZWN0IGNhbiBzdGlsbCBjb250YWluIHZhbHVlcyBsaWtlIGBOdWxsYCBvciBgTi9BYFxuICBjbGVhblVwRmFsc3lDc3ZWYWx1ZShyYXdEYXRhKTtcbiAgY29uc3Qgc2FtcGxlID0gZ2V0U2FtcGxlRm9yVHlwZUFuYWx5emUoe2ZpZWxkczogaGVhZGVyLCByb3dzOiByYXdEYXRhfSk7XG4gIC8vIGFkZCBzYW1wbGUgZGF0YSB0byBkdWNrZGIgYW5kIGdldCBzY2hlbWFcbiAgY29uc3Qgc2NoZW1hID0gYXdhaXQgc25pZmZDc3ZTY2hlbWEoc2FtcGxlKTtcblxuICBjb25zdCBmaWVsZHNXQW5hbHl6ZXJUeXBlID0gZ2V0RmllbGRzRnJvbURhdGEoc2FtcGxlLCBoZWFkZXIpO1xuXG4gIGNvbnN0IGZpZWxkcyA9IGNvbnNvbGlkYXRlRmllbGRUeXBlcyhmaWVsZHNXQW5hbHl6ZXJUeXBlLCBzY2hlbWEpO1xuXG4gIHJldHVybiB7cm93czogcmF3RGF0YSwgZmllbGRzfTtcbn1cblxuZnVuY3Rpb24gY2xlYW5VcEZhbHN5Q3N2VmFsdWUocm93czogUm93RGF0YSk6IHZvaWQge1xuICBjb25zdCByZSA9IG5ldyBSZWdFeHAoQ1NWX05VTExTLCAnZycpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHJvd3MubGVuZ3RoOyBpKyspIHtcbiAgICBPYmplY3Qua2V5cyhyb3dzW2ldKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAvLyBoZXJlIHdlIHBhcnNlIGVtcHR5IGRhdGEgYXMgbnVsbFxuICAgICAgaWYgKHR5cGVvZiByb3dzW2ldW2tleV0gPT09ICdzdHJpbmcnICYmIChyb3dzW2ldW2tleV0gYXMgc3RyaW5nKS5tYXRjaChyZSkpIHtcbiAgICAgICAgcm93c1tpXVtrZXldID0gbnVsbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuXG4vLyBhbGlnbiB0eXBlIGFuYWx5emVyIHR5cGVzIHdpdGggRHVja0RCIGNzdiBhdXRvIGRldGVjdGVkIGNvbHVtbiB0eXBlc1xuZnVuY3Rpb24gY29uc29saWRhdGVGaWVsZFR5cGVzKGZpZWxkcywgc2NoZW1hKSB7XG4gIHJldHVybiBmaWVsZHMubWFwKGZpZWxkID0+IHtcbiAgICBjb25zdCBjb2x1bW5OYW1lID0gZmllbGQubmFtZTtcblxuICAgIGNvbnN0IGRldGVjdGVkQ29sdW1uVHlwZSA9IHNjaGVtYVtjb2x1bW5OYW1lXTtcblxuICAgIC8vIFRPRE8gY29sdW1uVHlwZVRvRmllbGRUeXBlIHRyYW5mb3JtcyBkZXRlY3RlZCB0aW1lc3RhbXBzIHRvIHN0cmluZyxcbiAgICAvLyBjb21wbGV0ZWx5IGJyZWFraW5nIHRpbWUgZmlsdGVyIGxvZ2ljLlxuICAgIC8vIGNvbnN0IGZpZWxkVHlwZSA9IGNvbHVtblR5cGVUb0ZpZWxkVHlwZShkZXRlY3RlZENvbHVtblR5cGUpIHx8IGZpZWxkLnR5cGU7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uZmllbGQsXG4gICAgICAvLyB0eXBlOiBmaWVsZFR5cGUsXG4gICAgICBkdWNrREJDb2x1bW5UeXBlOiBkZXRlY3RlZENvbHVtblR5cGVcbiAgICB9O1xuICB9KTtcbn1cblxuZnVuY3Rpb24gdG9DU1ZSb3cocm93OiB1bmtub3duW10pOiBzdHJpbmcge1xuICByZXR1cm4gYCR7cm93XG4gICAgLm1hcChyID0+IHtcbiAgICAgIGNvbnN0IHJUb1N0ciA9IG5vdE51bGxvclVuZGVmaW5lZChyKSA/IFN0cmluZyhyKS5yZXBsYWNlKC9cIi9nLCAnXFxcXFwiJykgOiAnJztcbiAgICAgIHJldHVybiByVG9TdHIuaW5jbHVkZXMoJywnKSA/IGBcIiR7clRvU3RyfVwiYCA6IHJUb1N0cjtcbiAgICB9KVxuICAgIC5qb2luKCcsJyl9XFxuYDtcbn1cblxuLy8gVXNlIER1Y2NrREIgdG8gZGV0ZWN0IGNzdiBjb2x1bW4gc2NoZW1hXG5hc3luYyBmdW5jdGlvbiBzbmlmZkNzdlNjaGVtYShzYW1wbGU6IFJvd0RhdGEpIHtcbiAgaWYgKCFBcnJheS5pc0FycmF5KHNhbXBsZSkgfHwgc2FtcGxlLmxlbmd0aCA8IDApIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgaGVhZGVyUm93ID0gdG9DU1ZSb3coT2JqZWN0LmtleXMoc2FtcGxlWzBdKSk7XG5cbiAgY29uc3QgY3N2Q29udGVudCA9IChzYW1wbGUgYXMgKGFueVtdIHwgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW10pLnJlZHVjZShcbiAgICAoYWNjdTogc3RyaW5nLCByb3cpID0+IGAke2FjY3V9JHt0b0NTVlJvdyhPYmplY3QudmFsdWVzKHJvdykpfWAsXG4gICAgaGVhZGVyUm93XG4gICk7XG5cbiAgY29uc3QgZGIgPSBhd2FpdCBnZXREdWNrREIoKTtcbiAgY29uc3QgYyA9IGF3YWl0IGRiLmNvbm5lY3QoKTtcblxuICBjb25zdCBmaWxlTmFtZSA9IGdlbmVyYXRlSGFzaElkKCk7XG4gIGF3YWl0IGRiLnJlZ2lzdGVyRmlsZVRleHQoYCR7ZmlsZU5hbWV9LSR7Z2VuZXJhdGVIYXNoSWR9LmNzdmAsIGNzdkNvbnRlbnQpO1xuXG4gIC8vIGh0dHBzOi8vZHVja2RiLm9yZy9kb2NzL2RhdGEvY3N2L2F1dG9fZGV0ZWN0aW9uLmh0bWxcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYy5xdWVyeShgXG4gICAgICAgIEZST00gc25pZmZfY3N2KCcke2ZpbGVOYW1lfS0ke2dlbmVyYXRlSGFzaElkfS5jc3YnLCBcbiAgICAgICAgc2FtcGxlX3NpemUgPSA1MDAsXG4gICAgICAgIGF1dG9fdHlwZV9jYW5kaWRhdGVzID0gWydGTE9BVCcsICdJTlRFR0VSJywgJ1RJTUVTVEFNUCcsICdEQVRFJywgJ1RJTUUnLCAnVkFSQ0hBUicsICdCT09MRUFOJ10pO1xuICAgIGApO1xuXG4gIGNvbnN0IHNjaGVtYVJlc3VsdCA9IHJlc3VsdC50b0FycmF5KCkubWFwKHJvdyA9PiByb3cudG9KU09OKCkpO1xuXG4gIGNvbnN0IGNvbHVtbnMgPSBzY2hlbWFSZXN1bHRbMF0uQ29sdW1ucztcbiAgY29uc3Qgc2NoZW1hID0ge307XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29sdW1ucy5sZW5ndGg7IGkrKykge1xuICAgIHNjaGVtYVtjb2x1bW5zLmdldChpKS5uYW1lXSA9IGNvbHVtbnMuZ2V0KGkpLnR5cGU7XG4gIH1cblxuICByZXR1cm4gc2NoZW1hO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2Vzc0dlb2pzb24ocmF3RGF0YTogdW5rbm93bik6IFByb2Nlc3NvclJlc3VsdCB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRHZW9qc29uID0gbm9ybWFsaXplKHJhd0RhdGEpO1xuXG4gIGlmICghbm9ybWFsaXplZEdlb2pzb24gfHwgIUFycmF5LmlzQXJyYXkobm9ybWFsaXplZEdlb2pzb24uZmVhdHVyZXMpKSB7XG4gICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoXG4gICAgICBgUmVhZCBGaWxlIEZhaWxlZDogRmlsZSBpcyBub3QgYSB2YWxpZCBHZW9KU09OLiBSZWFkIG1vcmUgYWJvdXQgW3N1cHBvcnRlZCBmaWxlIGZvcm1hdF0oJHtHVUlERVNfRklMRV9GT1JNQVRfRE9DfSlgXG4gICAgKTtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxuXG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgRG9uJ3QgcGFzcyBlbXB0eSBmaWVsZHMsIGFzIGR1Y2sgZGIgb3V0cHV0cyBhbiBlbXB0eSBkYXRhc2V0XG4gIHJldHVybiB7XG4gICAgcm93czogbm9ybWFsaXplZEdlb2pzb25cbiAgICAvLyBUT0RPIGdldCBmaWVsZHMgdG8gcHJlc2VydmUgZmllbGQgbmFtZXM/XG4gICAgLy8gZmllbGRzOiBb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a0YsUUFBUSxPQUFBbEYsTUFBQSxDQUFJNEYsMkJBQWMsV0FBUWIsVUFBVSxDQUFDO1FBQUE7VUFBQVEsU0FBQSxDQUFBckksSUFBQTtVQUFBLE9BR3JEK0gsQ0FBQyxDQUFDYSxLQUFLLDhCQUFBOUYsTUFBQSxDQUNKa0YsUUFBUSxPQUFBbEYsTUFBQSxDQUFJNEYsMkJBQWMsd0pBRy9DLENBQUM7UUFBQTtVQUpFVCxNQUFNLEdBQUFJLFNBQUEsQ0FBQWxELElBQUE7VUFNTitDLFlBQVksR0FBR0QsTUFBTSxDQUFDWSxPQUFPLENBQUMsQ0FBQyxDQUFDOUQsR0FBRyxDQUFDLFVBQUFtQyxHQUFHO1lBQUEsT0FBSUEsR0FBRyxDQUFDNEIsTUFBTSxDQUFDLENBQUM7VUFBQSxFQUFDO1VBRXhEWCxPQUFPLEdBQUdELFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQ2EsT0FBTztVQUNqQ3ZFLE1BQU0sR0FBRyxDQUFDLENBQUM7VUFDakIsS0FBU2lCLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBRzBDLE9BQU8sQ0FBQ2hKLE1BQU0sRUFBRXNHLENBQUMsRUFBRSxFQUFFO1lBQ3ZDakIsTUFBTSxDQUFDMkQsT0FBTyxDQUFDYSxHQUFHLENBQUN2RCxDQUFDLENBQUMsQ0FBQ3BGLElBQUksQ0FBQyxHQUFHOEgsT0FBTyxDQUFDYSxHQUFHLENBQUN2RCxDQUFDLENBQUMsQ0FBQ0YsSUFBSTtVQUNuRDtVQUFDLE9BQUE4QyxTQUFBLENBQUF2QyxNQUFBLFdBRU10QixNQUFNO1FBQUE7UUFBQTtVQUFBLE9BQUE2RCxTQUFBLENBQUEzQyxJQUFBO01BQUE7SUFBQSxHQUFBaUMsUUFBQTtFQUFBLENBQ2Q7RUFBQSxPQUFBRCxlQUFBLENBQUExRyxLQUFBLE9BQUFFLFNBQUE7QUFBQTtBQUVNLFNBQVMrSCxjQUFjQSxDQUFDOUMsT0FBZ0IsRUFBbUI7RUFDaEUsSUFBTStDLGlCQUFpQixHQUFHLElBQUFDLDRCQUFTLEVBQUNoRCxPQUFPLENBQUM7RUFFNUMsSUFBSSxDQUFDK0MsaUJBQWlCLElBQUksQ0FBQ2xLLEtBQUssQ0FBQ0MsT0FBTyxDQUFDaUssaUJBQWlCLENBQUNFLFFBQVEsQ0FBQyxFQUFFO0lBQ3BFLElBQU1DLEtBQUssR0FBRyxJQUFJQyxLQUFLLDJGQUFBeEcsTUFBQSxDQUNxRXlHLGlDQUFzQixNQUNsSCxDQUFDO0lBQ0QsTUFBTUYsS0FBSztFQUNiOztFQUVBO0VBQ0EsT0FBTztJQUNMeEUsSUFBSSxFQUFFcUU7SUFDTjtJQUNBO0VBQ0YsQ0FBQztBQUNIIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,13 @@
1
+ import { DataType } from 'apache-arrow/type';
2
+ /** Checks whether the given Apache Arrow JS type is a Point data type */
3
+ export declare function isGeoArrowPoint(type: DataType): boolean;
4
+ /** Checks whether the given Apache Arrow JS type is a Point data type */
5
+ export declare function isGeoArrowLineString(type: DataType): boolean;
6
+ /** Checks whether the given Apache Arrow JS type is a Polygon data type */
7
+ export declare function isGeoArrowPolygon(type: DataType): boolean;
8
+ /** Checks whether the given Apache Arrow JS type is a Polygon data type */
9
+ export declare function isGeoArrowMultiPoint(type: DataType): boolean;
10
+ /** Checks whether the given Apache Arrow JS type is a Polygon data type */
11
+ export declare function isGeoArrowMultiLineString(type: DataType): boolean;
12
+ /** Checks whether the given Apache Arrow JS type is a Polygon data type */
13
+ export declare function isGeoArrowMultiPolygon(type: DataType): boolean;
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isGeoArrowLineString = isGeoArrowLineString;
7
+ exports.isGeoArrowMultiLineString = isGeoArrowMultiLineString;
8
+ exports.isGeoArrowMultiPoint = isGeoArrowMultiPoint;
9
+ exports.isGeoArrowMultiPolygon = isGeoArrowMultiPolygon;
10
+ exports.isGeoArrowPoint = isGeoArrowPoint;
11
+ exports.isGeoArrowPolygon = isGeoArrowPolygon;
12
+ var _type = require("apache-arrow/type");
13
+ // SPDX-License-Identifier: MIT
14
+ // Copyright contributors to the kepler.gl project
15
+
16
+ // loaders.gl
17
+ // SPDX-License-Identifier: MIT
18
+ // Copyright (c) vis.gl contributors
19
+
20
+ // Copied from loaders.gl/geoarrow
21
+
22
+ // TODO: Remove once Kepler.gl is upgraded to loaders.gl 4.4+
23
+
24
+ /** Checks whether the given Apache Arrow JS type is a Point data type */
25
+ function isGeoArrowPoint(type) {
26
+ if (_type.DataType.isFixedSizeList(type)) {
27
+ // Check list size
28
+ if (![2, 3, 4].includes(type.listSize)) {
29
+ return false;
30
+ }
31
+
32
+ // Check child of FixedSizeList is floating type
33
+ if (!_type.DataType.isFloat(type.children[0])) {
34
+ return false;
35
+ }
36
+ return true;
37
+ }
38
+ return false;
39
+ }
40
+
41
+ /** Checks whether the given Apache Arrow JS type is a Point data type */
42
+ function isGeoArrowLineString(type) {
43
+ // Check the outer type is a List
44
+ if (!_type.DataType.isList(type)) {
45
+ return false;
46
+ }
47
+
48
+ // Check the child is a point type
49
+ if (!isGeoArrowPoint(type.children[0].type)) {
50
+ return false;
51
+ }
52
+ return true;
53
+ }
54
+
55
+ /** Checks whether the given Apache Arrow JS type is a Polygon data type */
56
+ function isGeoArrowPolygon(type) {
57
+ // Check the outer vector is a List
58
+ if (!_type.DataType.isList(type)) {
59
+ return false;
60
+ }
61
+
62
+ // Check the child is a linestring vector
63
+ if (!isGeoArrowLineString(type.children[0].type)) {
64
+ return false;
65
+ }
66
+ return true;
67
+ }
68
+
69
+ /** Checks whether the given Apache Arrow JS type is a Polygon data type */
70
+ function isGeoArrowMultiPoint(type) {
71
+ // Check the outer vector is a List
72
+ if (!_type.DataType.isList(type)) {
73
+ return false;
74
+ }
75
+
76
+ // Check the child is a point vector
77
+ if (!isGeoArrowPoint(type.children[0].type)) {
78
+ return false;
79
+ }
80
+ return true;
81
+ }
82
+
83
+ /** Checks whether the given Apache Arrow JS type is a Polygon data type */
84
+ function isGeoArrowMultiLineString(type) {
85
+ // Check the outer vector is a List
86
+ if (!_type.DataType.isList(type)) {
87
+ return false;
88
+ }
89
+
90
+ // Check the child is a linestring vector
91
+ if (!isGeoArrowLineString(type.children[0].type)) {
92
+ return false;
93
+ }
94
+ return true;
95
+ }
96
+
97
+ /** Checks whether the given Apache Arrow JS type is a Polygon data type */
98
+ function isGeoArrowMultiPolygon(type) {
99
+ // Check the outer vector is a List
100
+ if (!_type.DataType.isList(type)) {
101
+ return false;
102
+ }
103
+
104
+ // Check the child is a polygon vector
105
+ if (!isGeoArrowPolygon(type.children[0].type)) {
106
+ return false;
107
+ }
108
+ return true;
109
+ }
110
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZSIsInJlcXVpcmUiLCJpc0dlb0Fycm93UG9pbnQiLCJ0eXBlIiwiRGF0YVR5cGUiLCJpc0ZpeGVkU2l6ZUxpc3QiLCJpbmNsdWRlcyIsImxpc3RTaXplIiwiaXNGbG9hdCIsImNoaWxkcmVuIiwiaXNHZW9BcnJvd0xpbmVTdHJpbmciLCJpc0xpc3QiLCJpc0dlb0Fycm93UG9seWdvbiIsImlzR2VvQXJyb3dNdWx0aVBvaW50IiwiaXNHZW9BcnJvd011bHRpTGluZVN0cmluZyIsImlzR2VvQXJyb3dNdWx0aVBvbHlnb24iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdGFibGUvZHVja2RiLXRhYmxlLXV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbi8vIGxvYWRlcnMuZ2xcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCAoYykgdmlzLmdsIGNvbnRyaWJ1dG9yc1xuXG4vLyBDb3BpZWQgZnJvbSBsb2FkZXJzLmdsL2dlb2Fycm93XG5cbi8vIFRPRE86IFJlbW92ZSBvbmNlIEtlcGxlci5nbCBpcyB1cGdyYWRlZCB0byBsb2FkZXJzLmdsIDQuNCtcblxuaW1wb3J0IHtEYXRhVHlwZX0gZnJvbSAnYXBhY2hlLWFycm93L3R5cGUnO1xuXG4vKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIEFwYWNoZSBBcnJvdyBKUyB0eXBlIGlzIGEgUG9pbnQgZGF0YSB0eXBlICovXG5leHBvcnQgZnVuY3Rpb24gaXNHZW9BcnJvd1BvaW50KHR5cGU6IERhdGFUeXBlKSB7XG4gIGlmIChEYXRhVHlwZS5pc0ZpeGVkU2l6ZUxpc3QodHlwZSkpIHtcbiAgICAvLyBDaGVjayBsaXN0IHNpemVcbiAgICBpZiAoIVsyLCAzLCA0XS5pbmNsdWRlcyh0eXBlLmxpc3RTaXplKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGNoaWxkIG9mIEZpeGVkU2l6ZUxpc3QgaXMgZmxvYXRpbmcgdHlwZVxuICAgIGlmICghRGF0YVR5cGUuaXNGbG9hdCh0eXBlLmNoaWxkcmVuWzBdKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIEFwYWNoZSBBcnJvdyBKUyB0eXBlIGlzIGEgUG9pbnQgZGF0YSB0eXBlICovXG5leHBvcnQgZnVuY3Rpb24gaXNHZW9BcnJvd0xpbmVTdHJpbmcodHlwZTogRGF0YVR5cGUpIHtcbiAgLy8gQ2hlY2sgdGhlIG91dGVyIHR5cGUgaXMgYSBMaXN0XG4gIGlmICghRGF0YVR5cGUuaXNMaXN0KHR5cGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gQ2hlY2sgdGhlIGNoaWxkIGlzIGEgcG9pbnQgdHlwZVxuICBpZiAoIWlzR2VvQXJyb3dQb2ludCh0eXBlLmNoaWxkcmVuWzBdLnR5cGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKiBDaGVja3Mgd2hldGhlciB0aGUgZ2l2ZW4gQXBhY2hlIEFycm93IEpTIHR5cGUgaXMgYSBQb2x5Z29uIGRhdGEgdHlwZSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzR2VvQXJyb3dQb2x5Z29uKHR5cGU6IERhdGFUeXBlKSB7XG4gIC8vIENoZWNrIHRoZSBvdXRlciB2ZWN0b3IgaXMgYSBMaXN0XG4gIGlmICghRGF0YVR5cGUuaXNMaXN0KHR5cGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gQ2hlY2sgdGhlIGNoaWxkIGlzIGEgbGluZXN0cmluZyB2ZWN0b3JcbiAgaWYgKCFpc0dlb0Fycm93TGluZVN0cmluZyh0eXBlLmNoaWxkcmVuWzBdLnR5cGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKiBDaGVja3Mgd2hldGhlciB0aGUgZ2l2ZW4gQXBhY2hlIEFycm93IEpTIHR5cGUgaXMgYSBQb2x5Z29uIGRhdGEgdHlwZSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzR2VvQXJyb3dNdWx0aVBvaW50KHR5cGU6IERhdGFUeXBlKSB7XG4gIC8vIENoZWNrIHRoZSBvdXRlciB2ZWN0b3IgaXMgYSBMaXN0XG4gIGlmICghRGF0YVR5cGUuaXNMaXN0KHR5cGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gQ2hlY2sgdGhlIGNoaWxkIGlzIGEgcG9pbnQgdmVjdG9yXG4gIGlmICghaXNHZW9BcnJvd1BvaW50KHR5cGUuY2hpbGRyZW5bMF0udHlwZSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuLyoqIENoZWNrcyB3aGV0aGVyIHRoZSBnaXZlbiBBcGFjaGUgQXJyb3cgSlMgdHlwZSBpcyBhIFBvbHlnb24gZGF0YSB0eXBlICovXG5leHBvcnQgZnVuY3Rpb24gaXNHZW9BcnJvd011bHRpTGluZVN0cmluZyh0eXBlOiBEYXRhVHlwZSkge1xuICAvLyBDaGVjayB0aGUgb3V0ZXIgdmVjdG9yIGlzIGEgTGlzdFxuICBpZiAoIURhdGFUeXBlLmlzTGlzdCh0eXBlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8vIENoZWNrIHRoZSBjaGlsZCBpcyBhIGxpbmVzdHJpbmcgdmVjdG9yXG4gIGlmICghaXNHZW9BcnJvd0xpbmVTdHJpbmcodHlwZS5jaGlsZHJlblswXS50eXBlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG4vKiogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIEFwYWNoZSBBcnJvdyBKUyB0eXBlIGlzIGEgUG9seWdvbiBkYXRhIHR5cGUgKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0dlb0Fycm93TXVsdGlQb2x5Z29uKHR5cGU6IERhdGFUeXBlKSB7XG4gIC8vIENoZWNrIHRoZSBvdXRlciB2ZWN0b3IgaXMgYSBMaXN0XG4gIGlmICghRGF0YVR5cGUuaXNMaXN0KHR5cGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gQ2hlY2sgdGhlIGNoaWxkIGlzIGEgcG9seWdvbiB2ZWN0b3JcbiAgaWYgKCFpc0dlb0Fycm93UG9seWdvbih0eXBlLmNoaWxkcmVuWzBdLnR5cGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBV0EsSUFBQUEsS0FBQSxHQUFBQyxPQUFBO0FBWEE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBSUE7QUFDTyxTQUFTQyxlQUFlQSxDQUFDQyxJQUFjLEVBQUU7RUFDOUMsSUFBSUMsY0FBUSxDQUFDQyxlQUFlLENBQUNGLElBQUksQ0FBQyxFQUFFO0lBQ2xDO0lBQ0EsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQ0csUUFBUSxDQUFDSCxJQUFJLENBQUNJLFFBQVEsQ0FBQyxFQUFFO01BQ3RDLE9BQU8sS0FBSztJQUNkOztJQUVBO0lBQ0EsSUFBSSxDQUFDSCxjQUFRLENBQUNJLE9BQU8sQ0FBQ0wsSUFBSSxDQUFDTSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtNQUN2QyxPQUFPLEtBQUs7SUFDZDtJQUVBLE9BQU8sSUFBSTtFQUNiO0VBRUEsT0FBTyxLQUFLO0FBQ2Q7O0FBRUE7QUFDTyxTQUFTQyxvQkFBb0JBLENBQUNQLElBQWMsRUFBRTtFQUNuRDtFQUNBLElBQUksQ0FBQ0MsY0FBUSxDQUFDTyxNQUFNLENBQUNSLElBQUksQ0FBQyxFQUFFO0lBQzFCLE9BQU8sS0FBSztFQUNkOztFQUVBO0VBQ0EsSUFBSSxDQUFDRCxlQUFlLENBQUNDLElBQUksQ0FBQ00sUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDTixJQUFJLENBQUMsRUFBRTtJQUMzQyxPQUFPLEtBQUs7RUFDZDtFQUVBLE9BQU8sSUFBSTtBQUNiOztBQUVBO0FBQ08sU0FBU1MsaUJBQWlCQSxDQUFDVCxJQUFjLEVBQUU7RUFDaEQ7RUFDQSxJQUFJLENBQUNDLGNBQVEsQ0FBQ08sTUFBTSxDQUFDUixJQUFJLENBQUMsRUFBRTtJQUMxQixPQUFPLEtBQUs7RUFDZDs7RUFFQTtFQUNBLElBQUksQ0FBQ08sb0JBQW9CLENBQUNQLElBQUksQ0FBQ00sUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDTixJQUFJLENBQUMsRUFBRTtJQUNoRCxPQUFPLEtBQUs7RUFDZDtFQUVBLE9BQU8sSUFBSTtBQUNiOztBQUVBO0FBQ08sU0FBU1Usb0JBQW9CQSxDQUFDVixJQUFjLEVBQUU7RUFDbkQ7RUFDQSxJQUFJLENBQUNDLGNBQVEsQ0FBQ08sTUFBTSxDQUFDUixJQUFJLENBQUMsRUFBRTtJQUMxQixPQUFPLEtBQUs7RUFDZDs7RUFFQTtFQUNBLElBQUksQ0FBQ0QsZUFBZSxDQUFDQyxJQUFJLENBQUNNLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQ04sSUFBSSxDQUFDLEVBQUU7SUFDM0MsT0FBTyxLQUFLO0VBQ2Q7RUFFQSxPQUFPLElBQUk7QUFDYjs7QUFFQTtBQUNPLFNBQVNXLHlCQUF5QkEsQ0FBQ1gsSUFBYyxFQUFFO0VBQ3hEO0VBQ0EsSUFBSSxDQUFDQyxjQUFRLENBQUNPLE1BQU0sQ0FBQ1IsSUFBSSxDQUFDLEVBQUU7SUFDMUIsT0FBTyxLQUFLO0VBQ2Q7O0VBRUE7RUFDQSxJQUFJLENBQUNPLG9CQUFvQixDQUFDUCxJQUFJLENBQUNNLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQ04sSUFBSSxDQUFDLEVBQUU7SUFDaEQsT0FBTyxLQUFLO0VBQ2Q7RUFFQSxPQUFPLElBQUk7QUFDYjs7QUFFQTtBQUNPLFNBQVNZLHNCQUFzQkEsQ0FBQ1osSUFBYyxFQUFFO0VBQ3JEO0VBQ0EsSUFBSSxDQUFDQyxjQUFRLENBQUNPLE1BQU0sQ0FBQ1IsSUFBSSxDQUFDLEVBQUU7SUFDMUIsT0FBTyxLQUFLO0VBQ2Q7O0VBRUE7RUFDQSxJQUFJLENBQUNTLGlCQUFpQixDQUFDVCxJQUFJLENBQUNNLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQ04sSUFBSSxDQUFDLEVBQUU7SUFDN0MsT0FBTyxLQUFLO0VBQ2Q7RUFFQSxPQUFPLElBQUk7QUFDYiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -7,6 +7,10 @@ declare type ImportDataToDuckProps = {
7
7
  db: AsyncDuckDB;
8
8
  c: AsyncDuckDBConnection;
9
9
  };
10
+ declare type ImportDataToDuckResult = {
11
+ addWKBMetadata?: Record<string, boolean>;
12
+ useNewFields?: boolean;
13
+ };
10
14
  export declare class KeplerGlDuckDbTable extends KeplerTable {
11
15
  readonly id: string;
12
16
  label: string;
@@ -14,8 +18,8 @@ export declare class KeplerGlDuckDbTable extends KeplerTable {
14
18
  metadata: Record<string, any>;
15
19
  constructor(props: any);
16
20
  importRowData({ data, db, c }: ImportDataToDuckProps): Promise<void>;
17
- importGeoJsonData({ data, db, c }: ImportDataToDuckProps): Promise<void>;
18
- importArrowData({ data, db, c }: ImportDataToDuckProps): Promise<void>;
21
+ importGeoJsonData({ data, db, c }: ImportDataToDuckProps): Promise<ImportDataToDuckResult>;
22
+ importArrowData({ data, db, c }: ImportDataToDuckProps): Promise<ImportDataToDuckResult>;
19
23
  /**
20
24
  * Creates a table from data, returns an arrow table with the data
21
25
  * @param data
@@ -33,5 +37,6 @@ export declare class KeplerGlDuckDbTable extends KeplerTable {
33
37
  processor: any;
34
38
  format: any;
35
39
  };
40
+ static getInputDataValidator: () => (d: any) => any;
36
41
  }
37
42
  export {};
@@ -15,24 +15,45 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
15
15
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16
16
  var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
17
17
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
18
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
18
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
19
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
20
20
  var arrow = _interopRequireWildcard(require("apache-arrow"));
21
21
  var _constants = require("@kepler.gl/constants");
22
22
  var _table = require("@kepler.gl/table");
23
23
  var _processors = require("@kepler.gl/processors");
24
24
  var _init = require("../init");
25
25
  var _dataProcessor = require("../processors/data-processor");
26
+ var _duckdbTableUtils = require("./duckdb-table-utils");
26
27
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
27
28
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(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; }
29
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
30
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
31
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
28
32
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
29
33
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
30
34
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
31
35
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
32
36
  function _superPropGet(t, e, r, o) { var p = (0, _get2["default"])((0, _getPrototypeOf2["default"])(1 & o ? t.prototype : t), e, r); return 2 & o ? function (t) { return p.apply(r, t); } : p; } // SPDX-License-Identifier: MIT
33
37
  // Copyright contributors to the kepler.gl project
34
- // TODO format geojson, all binary geogson columns should be tranformed to wkb
35
- var GEOMETRY_COLUMN = 'geom';
38
+ // TODO use files from disk or url directly, without parsing by loaders and then ingection into DeckDb
39
+
40
+ /**
41
+ * Default DuckDb geometry columns created by ST_READ
42
+ */
43
+ var DUCKDB_GEOM_COLUMN = 'geom';
44
+ var DUCKDB_WKB_COLUMN = 'wkb_geometry';
45
+
46
+ /**
47
+ Default column name for processed geojson in Kepler.
48
+ Use this name to rename default 'geom' column from DuckDb
49
+ in order to support Kepler maps saved before introduction of DuckDb plugin.
50
+ */
51
+ var KEPLER_GEOM_FROM_GEOJSON_COLUMN = '_geojson';
52
+
53
+ /**
54
+ * Names of columns that most likely contain binary wkb geometry
55
+ */
56
+ var SUGGESTED_GEOM_COLUMNS = (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, KEPLER_GEOM_FROM_GEOJSON_COLUMN, true), DUCKDB_GEOM_COLUMN, true), "geometry", true);
36
57
  /**
37
58
  * Creates an arrow table from arrow vectors and fields.
38
59
  * @param columns An array of arrow vectors.
@@ -139,7 +160,7 @@ var KeplerGlDuckDbTable = exports.KeplerGlDuckDbTable = /*#__PURE__*/function (_
139
160
  _context3.next = 5;
140
161
  return db.registerFileText(this.id, JSON.stringify(rows));
141
162
  case 5:
142
- createTableSql = "\n install spatial;\n load spatial;\n CREATE TABLE '".concat(this.label, "' AS \n SELECT *\n FROM ST_READ('").concat(this.id, "');\n ");
163
+ createTableSql = "\n install spatial;\n load spatial;\n CREATE TABLE '".concat(this.label, "' AS \n SELECT *\n FROM ST_READ('").concat(this.id, "', keep_wkb = TRUE);\n ALTER TABLE '").concat(this.label, "' RENAME '").concat(DUCKDB_WKB_COLUMN, "' TO '").concat(KEPLER_GEOM_FROM_GEOJSON_COLUMN, "';\n ");
143
164
  _context3.next = 8;
144
165
  return c.query(createTableSql);
145
166
  case 8:
@@ -150,6 +171,10 @@ var KeplerGlDuckDbTable = exports.KeplerGlDuckDbTable = /*#__PURE__*/function (_
150
171
  _context3.t0 = _context3["catch"](1);
151
172
  console.error('importGeoJsonData', _context3.t0);
152
173
  case 13:
174
+ return _context3.abrupt("return", {
175
+ addWKBMetadata: (0, _defineProperty2["default"])({}, KEPLER_GEOM_FROM_GEOJSON_COLUMN, true)
176
+ });
177
+ case 14:
153
178
  case "end":
154
179
  return _context3.stop();
155
180
  }
@@ -191,6 +216,12 @@ var KeplerGlDuckDbTable = exports.KeplerGlDuckDbTable = /*#__PURE__*/function (_
191
216
  // 1) Arrow Type with extension name: geoarrow.point and format: +w:2 is not currently supported in DuckDB.
192
217
  console.error('importArrowData', _context4.t0);
193
218
  case 13:
219
+ return _context4.abrupt("return", {
220
+ addWKBMetadata: _objectSpread({}, SUGGESTED_GEOM_COLUMNS),
221
+ // use metadata from arrow table
222
+ useNewFields: true
223
+ });
224
+ case 14:
194
225
  case "end":
195
226
  return _context4.stop();
196
227
  }
@@ -210,7 +241,7 @@ var KeplerGlDuckDbTable = exports.KeplerGlDuckDbTable = /*#__PURE__*/function (_
210
241
  key: "createTableAndGetArrow",
211
242
  value: (function () {
212
243
  var _createTableAndGetArrow = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(data) {
213
- var db, c, tableName, format, _data$rows, _data$rows2, _data$rows3, _data$cols, fields, cols, _data$fields, dummyResult, hasBinaryGeoField, arrowResult, geoField;
244
+ var db, c, tableName, format, _data$rows, _data$rows2, _data$rows3, _data$cols, importDetails, fields, cols, _data$fields, _ref5, _ref5$addWKBMetadata, addWKBMetadata, _ref5$useNewFields, useNewFields, canCastST_asWKB, getArrowQuery, arrowResult;
214
245
  return _regenerator["default"].wrap(function _callee5$(_context5) {
215
246
  while (1) switch (_context5.prev = _context5.next) {
216
247
  case 0:
@@ -248,11 +279,11 @@ var KeplerGlDuckDbTable = exports.KeplerGlDuckDbTable = /*#__PURE__*/function (_
248
279
  c: c
249
280
  });
250
281
  case 14:
251
- _context5.next = 27;
282
+ _context5.next = 29;
252
283
  break;
253
284
  case 16:
254
285
  if (!(format === _constants.DATASET_FORMATS.geojson)) {
255
- _context5.next = 21;
286
+ _context5.next = 22;
256
287
  break;
257
288
  }
258
289
  _context5.next = 19;
@@ -262,71 +293,72 @@ var KeplerGlDuckDbTable = exports.KeplerGlDuckDbTable = /*#__PURE__*/function (_
262
293
  c: c
263
294
  });
264
295
  case 19:
265
- _context5.next = 27;
296
+ importDetails = _context5.sent;
297
+ _context5.next = 29;
266
298
  break;
267
- case 21:
299
+ case 22:
268
300
  if (!(format === _constants.DATASET_FORMATS.arrow)) {
269
- _context5.next = 26;
301
+ _context5.next = 28;
270
302
  break;
271
303
  }
272
- _context5.next = 24;
304
+ _context5.next = 25;
273
305
  return this.importArrowData({
274
306
  data: data,
275
307
  db: db,
276
308
  c: c
277
309
  });
278
- case 24:
279
- _context5.next = 27;
310
+ case 25:
311
+ importDetails = _context5.sent;
312
+ _context5.next = 29;
280
313
  break;
281
- case 26:
314
+ case 28:
282
315
  console.error('Unrecognized format', format);
283
- case 27:
316
+ case 29:
284
317
  fields = [];
285
318
  cols = [];
286
- _context5.prev = 29;
287
- _context5.next = 32;
288
- return c.query("\n SELECT * FROM '".concat(tableName, "' LIMIT 0;\n "));
289
- case 32:
290
- dummyResult = _context5.sent;
291
- hasBinaryGeoField = Boolean(dummyResult.schema.fields.find(function (f) {
292
- return f.name === GEOMETRY_COLUMN && arrow.DataType.isBinary(f.type);
293
- })); // TODO don't do this for all columns named 'geom', check whether it's a wkb and not something else!
294
- // query and transform geometry column to wkb
295
- _context5.next = 36;
296
- return c.query("SELECT * ".concat(hasBinaryGeoField ? "EXCLUDE ".concat(GEOMETRY_COLUMN, ", ST_AsWKB(").concat(GEOMETRY_COLUMN, ") as ").concat(GEOMETRY_COLUMN) : '', " FROM '").concat(tableName, "';"));
297
- case 36:
298
- arrowResult = _context5.sent;
299
- geoField = arrowResult.schema.fields.find(function (f) {
300
- return f.name === GEOMETRY_COLUMN && arrow.DataType.isBinary(f.type);
319
+ _context5.prev = 31;
320
+ _ref5 = importDetails || {}, _ref5$addWKBMetadata = _ref5.addWKBMetadata, addWKBMetadata = _ref5$addWKBMetadata === void 0 ? {} : _ref5$addWKBMetadata, _ref5$useNewFields = _ref5.useNewFields, useNewFields = _ref5$useNewFields === void 0 ? false : _ref5$useNewFields; // Try to figure out whether geometry should be transformed by ST_AsWKB
321
+ // TODO if canCastST_asWKB contains any keys then add ST_AsWKB to the following query
322
+ _context5.next = 35;
323
+ return tryST_AsWKB({
324
+ tableName: tableName,
325
+ c: c
301
326
  });
302
- geoField === null || geoField === void 0 || geoField.metadata.set('ARROW:extension:name', 'geoarrow.wkb');
303
- fields = (_data$fields = data.fields) !== null && _data$fields !== void 0 ? _data$fields : (0, _processors.arrowSchemaToFields)(arrowResult.schema);
327
+ case 35:
328
+ canCastST_asWKB = _context5.sent;
329
+ getArrowQuery = "SELECT * FROM '".concat(tableName, "';");
330
+ _context5.next = 39;
331
+ return c.query(getArrowQuery);
332
+ case 39:
333
+ arrowResult = _context5.sent;
334
+ restoreGeoarrowMetadata(arrowResult, canCastST_asWKB, addWKBMetadata);
335
+ fields = useNewFields ? (0, _processors.arrowSchemaToFields)(arrowResult.schema) : (_data$fields = data.fields) !== null && _data$fields !== void 0 ? _data$fields : (0, _processors.arrowSchemaToFields)(arrowResult.schema);
304
336
  cols = (0, _toConsumableArray2["default"])(Array(arrowResult.numCols).keys()).map(function (i) {
305
337
  return arrowResult.getChildAt(i);
306
338
  }).filter(function (col) {
307
339
  return col;
308
340
  });
309
- _context5.next = 46;
341
+ _context5.next = 48;
310
342
  break;
311
- case 43:
312
- _context5.prev = 43;
313
- _context5.t0 = _context5["catch"](29);
343
+ case 45:
344
+ _context5.prev = 45;
345
+ _context5.t0 = _context5["catch"](31);
314
346
  // Known issues:
315
347
  // 1) ST_AsWKB binder error, no type match
316
348
  console.error('DuckDb table: binary geometry column to wkb', _context5.t0);
317
- case 46:
318
- _context5.next = 48;
319
- return c.close();
320
349
  case 48:
350
+ _context5.next = 50;
351
+ return c.close();
352
+ case 50:
321
353
  return _context5.abrupt("return", {
322
354
  fields: fields,
323
355
  cols: cols
324
356
  });
325
- case 49:
357
+ case 51:
326
358
  case "end":
327
359
  return _context5.stop();
328
360
  }
329
- }, _callee5, this, [[29, 43]]);
361
+ }, _callee5, this, [[31, 45]]);
330
362
  }));
331
363
  function createTableAndGetArrow(_x6) {
332
364
  return _createTableAndGetArrow.apply(this, arguments);
@@ -336,12 +368,12 @@ var KeplerGlDuckDbTable = exports.KeplerGlDuckDbTable = /*#__PURE__*/function (_
336
368
  }, {
337
369
  key: "importData",
338
370
  value: function () {
339
- var _importData = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(_ref5) {
371
+ var _importData = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(_ref6) {
340
372
  var data, _yield$this$createTab, fields, cols;
341
373
  return _regenerator["default"].wrap(function _callee6$(_context6) {
342
374
  while (1) switch (_context6.prev = _context6.next) {
343
375
  case 0:
344
- data = _ref5.data;
376
+ data = _ref6.data;
345
377
  if (!(this.type === _constants.DatasetType.VECTOR_TILE)) {
346
378
  _context6.next = 4;
347
379
  break;
@@ -417,6 +449,13 @@ var KeplerGlDuckDbTable = exports.KeplerGlDuckDbTable = /*#__PURE__*/function (_
417
449
  }()
418
450
  }]);
419
451
  }(_table.KeplerTable);
452
+ /**
453
+ * Try to restore geoarrow metadata lost during DuckDb ingestion.
454
+ * Note that this function can generate wrong geometry types.
455
+ * @param arrowTable Arrow table to update.
456
+ * @param canCastST_asWKB A map with fields that are likely in DeckDB's internal WBK format.
457
+ * @param addWKBMetadata A map with field names that usually used to store WKB geometry.
458
+ */
420
459
  (0, _defineProperty2["default"])(KeplerGlDuckDbTable, "getFileProcessor", function (data, inputFormat) {
421
460
  var processor;
422
461
  var format;
@@ -440,4 +479,110 @@ var KeplerGlDuckDbTable = exports.KeplerGlDuckDbTable = /*#__PURE__*/function (_
440
479
  format: format
441
480
  };
442
481
  });
443
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhcnJvdyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9jb25zdGFudHMiLCJfdGFibGUiLCJfcHJvY2Vzc29ycyIsIl9pbml0IiwiX2RhdGFQcm9jZXNzb3IiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YzIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJfc3VwZXJQcm9wR2V0IiwicCIsIl9nZXQyIiwiR0VPTUVUUllfQ09MVU1OIiwicmVzdG9yZUFycm93VGFibGUiLCJjb2x1bW5zIiwiZmllbGRzIiwiY3JlYU9wdHMiLCJtYXAiLCJmaWVsZCIsImluZGV4IiwibmFtZSIsIlRhYmxlIiwiZHJvcElmVGFibGVFeGlzdHMiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJjIiwidGFibGVOYW1lIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInF1ZXJ5IiwiY29uY2F0IiwidDAiLCJjb25zb2xlIiwiZXJyb3IiLCJzdG9wIiwiX3giLCJfeDIiLCJLZXBsZXJHbER1Y2tEYlRhYmxlIiwiZXhwb3J0cyIsIl9LZXBsZXJUYWJsZSIsInByb3BzIiwiX2NsYXNzQ2FsbENoZWNrMiIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwidmFsdWUiLCJfaW1wb3J0Um93RGF0YSIsIl9jYWxsZWUyIiwiX3JlZjIiLCJkYXRhIiwiZGIiLCJyb3dzIiwicm93c0ZvckRiIiwiY3JlYXRlVGFibGVTcWwiLCJfY2FsbGVlMiQiLCJfY29udGV4dDIiLCJBcnJheSIsImlzQXJyYXkiLCJyb3ciLCJuZXdSb3ciLCJyZWdpc3RlckZpbGVUZXh0IiwiaWQiLCJKU09OIiwic3RyaW5naWZ5IiwicmVkdWNlIiwiYWNjIiwiZHVja0RCQ29sdW1uVHlwZSIsImxhYmVsIiwibG9nIiwiaW1wb3J0Um93RGF0YSIsIl94MyIsIl9pbXBvcnRHZW9Kc29uRGF0YSIsIl9jYWxsZWUzIiwiX3JlZjMiLCJfY2FsbGVlMyQiLCJfY29udGV4dDMiLCJpbXBvcnRHZW9Kc29uRGF0YSIsIl94NCIsIl9pbXBvcnRBcnJvd0RhdGEiLCJfY2FsbGVlNCIsIl9yZWY0IiwiYXJyb3dUYWJsZSIsInNldHVwU3FsIiwiX2NhbGxlZTQkIiwiX2NvbnRleHQ0IiwiY29scyIsImluc2VydEFycm93VGFibGUiLCJpbXBvcnRBcnJvd0RhdGEiLCJfeDUiLCJfY3JlYXRlVGFibGVBbmRHZXRBcnJvdyIsIl9jYWxsZWU1IiwiZm9ybWF0IiwiX2RhdGEkcm93cyIsIl9kYXRhJHJvd3MyIiwiX2RhdGEkcm93czMiLCJfZGF0YSRjb2xzIiwiX2RhdGEkZmllbGRzIiwiZHVtbXlSZXN1bHQiLCJoYXNCaW5hcnlHZW9GaWVsZCIsImFycm93UmVzdWx0IiwiZ2VvRmllbGQiLCJfY2FsbGVlNSQiLCJfY29udGV4dDUiLCJnZXREdWNrREIiLCJzZW50IiwiY29ubmVjdCIsIm1ldGFkYXRhIiwiX3R5cGVvZjIiLCJEQVRBU0VUX0ZPUk1BVFMiLCJ0eXBlIiwiZ2VvanNvbiIsIlZlY3RvciIsInNjaGVtYSIsImZpbmQiLCJmIiwiRGF0YVR5cGUiLCJpc0JpbmFyeSIsImFycm93U2NoZW1hVG9GaWVsZHMiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwibnVtQ29scyIsImdldENoaWxkQXQiLCJjb2wiLCJjbG9zZSIsImFicnVwdCIsImNyZWF0ZVRhYmxlQW5kR2V0QXJyb3ciLCJfeDYiLCJfaW1wb3J0RGF0YSIsIl9jYWxsZWU2IiwiX3JlZjUiLCJfeWllbGQkdGhpcyRjcmVhdGVUYWIiLCJfY2FsbGVlNiQiLCJfY29udGV4dDYiLCJEYXRhc2V0VHlwZSIsIlZFQ1RPUl9USUxFIiwiaW1wb3J0RGF0YSIsIl94NyIsIl91cGRhdGUiLCJfY2FsbGVlNyIsIl95aWVsZCR0aGlzJGNyZWF0ZVRhYjIiLCJfY2FsbGVlNyQiLCJfY29udGV4dDciLCJ1cGRhdGUiLCJfeDgiLCJLZXBsZXJUYWJsZSIsImlucHV0Rm9ybWF0IiwicHJvY2Vzc29yIiwiaXNBcnJvd0RhdGEiLCJwcm9jZXNzQXJyb3dCYXRjaGVzIiwia2VwbGVyZ2wiLCJpc0tlcGxlckdsTWFwIiwicHJvY2Vzc0tlcGxlcmdsSlNPTmZvckR1Y2tEYiIsImlzUm93T2JqZWN0IiwicHJvY2Vzc0NzdlJvd09iamVjdCIsImlzR2VvSnNvbiIsInByb2Nlc3NHZW9qc29uIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3RhYmxlL2R1Y2tkYi10YWJsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgKiBhcyBhcnJvdyBmcm9tICdhcGFjaGUtYXJyb3cnO1xuaW1wb3J0IHtBc3luY0R1Y2tEQiwgQXN5bmNEdWNrREJDb25uZWN0aW9ufSBmcm9tICdAZHVja2RiL2R1Y2tkYi13YXNtJztcblxuaW1wb3J0IHtEYXRhc2V0VHlwZSwgREFUQVNFVF9GT1JNQVRTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge0tlcGxlclRhYmxlfSBmcm9tICdAa2VwbGVyLmdsL3RhYmxlJztcbmltcG9ydCB7RmllbGQsIFByb3RvRGF0YXNldEZpZWxkfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7XG4gIGFycm93U2NoZW1hVG9GaWVsZHMsXG4gIGlzQXJyb3dEYXRhLFxuICBpc0dlb0pzb24sXG4gIGlzS2VwbGVyR2xNYXAsXG4gIGlzUm93T2JqZWN0LFxuICBwcm9jZXNzQXJyb3dCYXRjaGVzXG59IGZyb20gJ0BrZXBsZXIuZ2wvcHJvY2Vzc29ycyc7XG5cbmltcG9ydCB7Z2V0RHVja0RCfSBmcm9tICcuLi9pbml0JztcbmltcG9ydCB7XG4gIHByb2Nlc3NDc3ZSb3dPYmplY3QsXG4gIHByb2Nlc3NHZW9qc29uLFxuICBwcm9jZXNzS2VwbGVyZ2xKU09OZm9yRHVja0RiLFxuICBQcm9jZXNzb3JSZXN1bHRcbn0gZnJvbSAnLi4vcHJvY2Vzc29ycy9kYXRhLXByb2Nlc3Nvcic7XG5cbi8vIFRPRE8gZm9ybWF0IGdlb2pzb24sIGFsbCBiaW5hcnkgZ2VvZ3NvbiBjb2x1bW5zIHNob3VsZCBiZSB0cmFuZm9ybWVkIHRvIHdrYlxuY29uc3QgR0VPTUVUUllfQ09MVU1OID0gJ2dlb20nO1xuXG50eXBlIEltcG9ydERhdGFUb0R1Y2tQcm9wcyA9IHtcbiAgZGF0YTogUHJvY2Vzc29yUmVzdWx0O1xuICBkYjogQXN5bmNEdWNrREI7XG4gIGM6IEFzeW5jRHVja0RCQ29ubmVjdGlvbjtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBhcnJvdyB0YWJsZSBmcm9tIGFycm93IHZlY3RvcnMgYW5kIGZpZWxkcy5cbiAqIEBwYXJhbSBjb2x1bW5zIEFuIGFycmF5IG9mIGFycm93IHZlY3RvcnMuXG4gKiBAcGFyYW0gZmllbGRzIEFuIGFycmF5IG9mIGZpZWxkcyBwZXIgYXJyb3cgdmVjdG9yLlxuICogQHJldHVybnMgQW4gYXJyb3cgdGFibGUuXG4gKi9cbi8vIFRPRE86IGNvbnNpZGVyIHVzaW5nIG9yaWdpbmFsIGRyYWcmZHJvcHBlZCBhcnJvdyB0YWJsZSwgYXMgaXQgY291bGQgY29udGFpbiBleHRyYSBtZXRhZGF0YSwgbm90IHBhc3NlZCB0byB0aGUgZmllbGRzLlxuY29uc3QgcmVzdG9yZUFycm93VGFibGUgPSAoY29sdW1uczogYXJyb3cuVmVjdG9yW10sIGZpZWxkczogUHJvdG9EYXRhc2V0RmllbGRbXSkgPT4ge1xuICBjb25zdCBjcmVhT3B0cyA9IHt9O1xuICBmaWVsZHMubWFwKChmaWVsZCwgaW5kZXgpID0+IHtcbiAgICBjcmVhT3B0c1tmaWVsZC5uYW1lXSA9IGNvbHVtbnNbaW5kZXhdO1xuICB9KTtcbiAgcmV0dXJuIG5ldyBhcnJvdy5UYWJsZShjcmVhT3B0cyk7XG59O1xuXG5jb25zdCBkcm9wSWZUYWJsZUV4aXN0cyA9IGFzeW5jIChjOiBBc3luY0R1Y2tEQkNvbm5lY3Rpb24sIHRhYmxlTmFtZTogc3RyaW5nKSA9PiB7XG4gIHRyeSB7XG4gICAgYXdhaXQgYy5xdWVyeShgRFJPUCBUQUJMRSBJRiBFWElTVFMgXCIke3RhYmxlTmFtZX1cIjtgKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKCdEcm9wcGluZyB0YWJsZSBmYWlsZWQnLCB0YWJsZU5hbWUsIGVycm9yKTtcbiAgfVxufTtcblxuZXhwb3J0IGNsYXNzIEtlcGxlckdsRHVja0RiVGFibGUgZXh0ZW5kcyBLZXBsZXJUYWJsZSB7XG4gIGRlY2xhcmUgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgZGVjbGFyZSBsYWJlbDogc3RyaW5nO1xuICBkZWNsYXJlIHR5cGU6IHN0cmluZztcbiAgZGVjbGFyZSBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgYW55PjtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgfVxuXG4gIGFzeW5jIGltcG9ydFJvd0RhdGEoe2RhdGEsIGRiLCBjfTogSW1wb3J0RGF0YVRvRHVja1Byb3BzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHtmaWVsZHMsIHJvd3N9ID0gZGF0YTtcblxuICAgICAgLy8gREFUQVNFVF9GT1JNQVRTLmtlcGxlcmdsIGxvYWRzIGRhdGEgYXMgYW55W11bXSBpbnN0ZWFkIG9mIFt7fV1cbiAgICAgIC8vIFRPRE8gcG90ZW50aWFsIG1lbW9yeSB1c2FnZSBleHBsb3Npb246IG9yaWdpbmFsIGRhdGEsIG5ldyBvYmplY3QgYW5kIHRoZW4gRHVja0RiIHRhYmxlXG4gICAgICBjb25zdCByb3dzRm9yRGIgPSBBcnJheS5pc0FycmF5KHJvd3NbMF0pXG4gICAgICAgID8gcm93cy5tYXAocm93ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1JvdyA9IHt9O1xuICAgICAgICAgICAgcm93LmZvckVhY2goKHZhbHVlLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICBuZXdSb3dbZmllbGRzW2luZGV4XS5uYW1lXSA9IHZhbHVlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gbmV3Um93O1xuICAgICAgICAgIH0pXG4gICAgICAgIDogcm93cztcblxuICAgICAgYXdhaXQgZGIucmVnaXN0ZXJGaWxlVGV4dCh0aGlzLmlkLCBKU09OLnN0cmluZ2lmeShyb3dzRm9yRGIpKTtcblxuICAgICAgY29uc3QgY29sdW1ucyA9IGZpZWxkcy5yZWR1Y2UoKGFjYywgZmllbGQsIGluZGV4KSA9PiB7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETyBleHRlbmQgZmllbGRzIHRvIGNvbnRhaW4gZHVja0RCQ29sdW1uVHlwZVxuICAgICAgICByZXR1cm4gYCR7YWNjfSR7aW5kZXggPiAwID8gJywnIDogJyd9ICcke2ZpZWxkLm5hbWV9JzogJyR7ZmllbGQuZHVja0RCQ29sdW1uVHlwZX0nYDtcbiAgICAgIH0sICcnKTtcblxuICAgICAgY29uc3QgY3JlYXRlVGFibGVTcWwgPSBgXG4gICAgICAgIENSRUFURSBUQUJMRSAnJHt0aGlzLmxhYmVsfScgQVNcbiAgICAgICAgU0VMRUNUICpcbiAgICAgICAgRlJPTSByZWFkX2pzb24oJyR7dGhpcy5pZH0nLFxuICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5zID0geyR7Y29sdW1uc319KTtcbiAgICAgIGA7XG4gICAgICBhd2FpdCBjLnF1ZXJ5KGNyZWF0ZVRhYmxlU3FsKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5sb2coJ2ltcG9ydFJvd0RhdGEnLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgaW1wb3J0R2VvSnNvbkRhdGEoe2RhdGEsIGRiLCBjfTogSW1wb3J0RGF0YVRvRHVja1Byb3BzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHtyb3dzfSA9IGRhdGE7XG4gICAgICBhd2FpdCBkYi5yZWdpc3RlckZpbGVUZXh0KHRoaXMuaWQsIEpTT04uc3RyaW5naWZ5KHJvd3MpKTtcblxuICAgICAgY29uc3QgY3JlYXRlVGFibGVTcWwgPSBgXG4gICAgICAgIGluc3RhbGwgc3BhdGlhbDtcbiAgICAgICAgbG9hZCBzcGF0aWFsO1xuICAgICAgICBDUkVBVEUgVEFCTEUgJyR7dGhpcy5sYWJlbH0nIEFTIFxuICAgICAgICBTRUxFQ1QgKlxuICAgICAgICBGUk9NIFNUX1JFQUQoJyR7dGhpcy5pZH0nKTtcbiAgICAgIGA7XG4gICAgICBhd2FpdCBjLnF1ZXJ5KGNyZWF0ZVRhYmxlU3FsKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignaW1wb3J0R2VvSnNvbkRhdGEnLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgaW1wb3J0QXJyb3dEYXRhKHtkYXRhLCBkYiwgY306IEltcG9ydERhdGFUb0R1Y2tQcm9wcyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICAvLyAxKSBkYXRhLnJvd3MgY29udGFpbnMgYW4gYXJyb3cgdGFibGUgY3JlYXRlZCBieSBBZGQgdG8gTWFwIGRhdGEgZnJvbSBEdWNrRGIgcXVlcnkuXG4gICAgICAvLyAyKSBhcnJvdyB0YWJsZSBpcyBpbiBjb2xzICYgZmllbGRzIHdoZW4gYSBmaWxlIGlzIGRyYWdnZWQgJiBkcm9wcGVkIGludG8gQWRkIERhdGEgVG8gTWFwIGRpYWxvZy5cbiAgICAgIGNvbnN0IGFycm93VGFibGUgPVxuICAgICAgICBkYXRhLnJvd3MgaW5zdGFuY2VvZiBhcnJvdy5UYWJsZVxuICAgICAgICAgID8gZGF0YS5yb3dzXG4gICAgICAgICAgOiByZXN0b3JlQXJyb3dUYWJsZShkYXRhLmNvbHMgfHwgW10sIGRhdGEuZmllbGRzKTtcblxuICAgICAgY29uc3Qgc2V0dXBTcWwgPSBgXG4gICAgICAgIGluc3RhbGwgc3BhdGlhbDtcbiAgICAgICAgbG9hZCBzcGF0aWFsO1xuICAgICAgYDtcbiAgICAgIGF3YWl0IGMucXVlcnkoc2V0dXBTcWwpO1xuICAgICAgYXdhaXQgYy5pbnNlcnRBcnJvd1RhYmxlKGFycm93VGFibGUsIHtuYW1lOiB0aGlzLmxhYmVsfSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIEtub3duIGlzc3VlczpcbiAgICAgIC8vIDEpIEFycm93IFR5cGUgd2l0aCBleHRlbnNpb24gbmFtZTogZ2VvYXJyb3cucG9pbnQgYW5kIGZvcm1hdDogK3c6MiBpcyBub3QgY3VycmVudGx5IHN1cHBvcnRlZCBpbiBEdWNrREIuXG4gICAgICBjb25zb2xlLmVycm9yKCdpbXBvcnRBcnJvd0RhdGEnLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSB0YWJsZSBmcm9tIGRhdGEsIHJldHVybnMgYW4gYXJyb3cgdGFibGUgd2l0aCB0aGUgZGF0YVxuICAgKiBAcGFyYW0gZGF0YVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx7ZmllbGRzOiBGaWVsZFtdLCBjb2xzOiBhbnlbXX0+fVxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGNyZWF0ZVRhYmxlQW5kR2V0QXJyb3coZGF0YSk6IFByb21pc2U8e2ZpZWxkczogYW55W107IGNvbHM6IGFycm93LlZlY3RvcltdfT4ge1xuICAgIGNvbnN0IGRiID0gYXdhaXQgZ2V0RHVja0RCKCk7XG4gICAgY29uc3QgYyA9IGF3YWl0IGRiLmNvbm5lY3QoKTtcblxuICAgIGNvbnN0IHRhYmxlTmFtZSA9IHRoaXMubGFiZWw7XG4gICAgYXdhaXQgZHJvcElmVGFibGVFeGlzdHMoYywgdGFibGVOYW1lKTtcblxuICAgIGxldCBmb3JtYXQgPSB0aGlzLm1ldGFkYXRhLmZvcm1hdDtcbiAgICBpZiAoIWZvcm1hdCkge1xuICAgICAgLy8gZm9ybWF0IGlzIG1pc3Npbmcgd2hlbiB3ZSBsb2FkIEtlcGxlci5nbCBleGFtcGxlc1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YS5yb3dzPy5bMF0pIHx8IHR5cGVvZiBkYXRhLnJvd3M/LlswXSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgZm9ybWF0ID0gREFUQVNFVF9GT1JNQVRTLnJvdztcbiAgICAgIH0gZWxzZSBpZiAoZGF0YS5yb3dzPy50eXBlID09PSAnRmVhdHVyZUNvbGxlY3Rpb24nKSB7XG4gICAgICAgIGZvcm1hdCA9IERBVEFTRVRfRk9STUFUUy5nZW9qc29uO1xuICAgICAgfSBlbHNlIGlmIChkYXRhLmNvbHM/LlswXSBpbnN0YW5jZW9mIGFycm93LlZlY3Rvcikge1xuICAgICAgICBmb3JtYXQgPSBEQVRBU0VUX0ZPUk1BVFMuYXJyb3c7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGZvcm1hdCA9PT0gREFUQVNFVF9GT1JNQVRTLnJvdykge1xuICAgICAgYXdhaXQgdGhpcy5pbXBvcnRSb3dEYXRhKHtkYXRhLCBkYiwgY30pO1xuICAgIH0gZWxzZSBpZiAoZm9ybWF0ID09PSBEQVRBU0VUX0ZPUk1BVFMuZ2VvanNvbikge1xuICAgICAgYXdhaXQgdGhpcy5pbXBvcnRHZW9Kc29uRGF0YSh7ZGF0YSwgZGIsIGN9KTtcbiAgICB9IGVsc2UgaWYgKGZvcm1hdCA9PT0gREFUQVNFVF9GT1JNQVRTLmFycm93KSB7XG4gICAgICBhd2FpdCB0aGlzLmltcG9ydEFycm93RGF0YSh7ZGF0YSwgZGIsIGN9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcignVW5yZWNvZ25pemVkIGZvcm1hdCcsIGZvcm1hdCk7XG4gICAgfVxuXG4gICAgbGV0IGZpZWxkczogRmllbGRbXSA9IFtdO1xuICAgIGxldCBjb2xzOiBhcnJvdy5WZWN0b3JbXSA9IFtdO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIFdlIG5lZWQgdG8gdHJhbnNmb3JtIHRoZSBiaW5hcnkgZ2VvbWV0cnkgY29sdW1uIHRvIHByb3BlciB3a2IuXG4gICAgICAvLyBGaXJzdCBjaGVjayB3aGV0aGVyIHN1Y2ggYSBjb2x1bW4gZXhpc3RzLCB0aGVuIHF1ZXJ5IHdpdGggU1RfQXNXS0IuXG4gICAgICBjb25zdCBkdW1teVJlc3VsdCA9IGF3YWl0IGMucXVlcnkoYFxuICAgICAgICBTRUxFQ1QgKiBGUk9NICcke3RhYmxlTmFtZX0nIExJTUlUIDA7XG4gICAgICBgKTtcbiAgICAgIGNvbnN0IGhhc0JpbmFyeUdlb0ZpZWxkID0gQm9vbGVhbihcbiAgICAgICAgZHVtbXlSZXN1bHQuc2NoZW1hLmZpZWxkcy5maW5kKFxuICAgICAgICAgIGYgPT4gZi5uYW1lID09PSBHRU9NRVRSWV9DT0xVTU4gJiYgYXJyb3cuRGF0YVR5cGUuaXNCaW5hcnkoZi50eXBlKVxuICAgICAgICApXG4gICAgICApO1xuXG4gICAgICAvLyBUT0RPIGRvbid0IGRvIHRoaXMgZm9yIGFsbCBjb2x1bW5zIG5hbWVkICdnZW9tJywgY2hlY2sgd2hldGhlciBpdCdzIGEgd2tiIGFuZCBub3Qgc29tZXRoaW5nIGVsc2UhXG4gICAgICAvLyBxdWVyeSBhbmQgdHJhbnNmb3JtIGdlb21ldHJ5IGNvbHVtbiB0byB3a2JcbiAgICAgIGNvbnN0IGFycm93UmVzdWx0ID0gYXdhaXQgYy5xdWVyeShcbiAgICAgICAgYFNFTEVDVCAqICR7XG4gICAgICAgICAgaGFzQmluYXJ5R2VvRmllbGRcbiAgICAgICAgICAgID8gYEVYQ0xVREUgJHtHRU9NRVRSWV9DT0xVTU59LCBTVF9Bc1dLQigke0dFT01FVFJZX0NPTFVNTn0pIGFzICR7R0VPTUVUUllfQ09MVU1OfWBcbiAgICAgICAgICAgIDogJydcbiAgICAgICAgfSBGUk9NICcke3RhYmxlTmFtZX0nO2BcbiAgICAgICk7XG4gICAgICBjb25zdCBnZW9GaWVsZCA9IGFycm93UmVzdWx0LnNjaGVtYS5maWVsZHMuZmluZChcbiAgICAgICAgZiA9PiBmLm5hbWUgPT09IEdFT01FVFJZX0NPTFVNTiAmJiBhcnJvdy5EYXRhVHlwZS5pc0JpbmFyeShmLnR5cGUpXG4gICAgICApO1xuICAgICAgZ2VvRmllbGQ/Lm1ldGFkYXRhLnNldCgnQVJST1c6ZXh0ZW5zaW9uOm5hbWUnLCAnZ2VvYXJyb3cud2tiJyk7XG5cbiAgICAgIGZpZWxkcyA9IGRhdGEuZmllbGRzID8/IGFycm93U2NoZW1hVG9GaWVsZHMoYXJyb3dSZXN1bHQuc2NoZW1hKTtcbiAgICAgIGNvbHMgPSBbLi4uQXJyYXkoYXJyb3dSZXN1bHQubnVtQ29scykua2V5cygpXVxuICAgICAgICAubWFwKGkgPT4gYXJyb3dSZXN1bHQuZ2V0Q2hpbGRBdChpKSlcbiAgICAgICAgLmZpbHRlcihjb2wgPT4gY29sKSBhcyBhcnJvdy5WZWN0b3JbXTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gS25vd24gaXNzdWVzOlxuICAgICAgLy8gMSkgU1RfQXNXS0IgYmluZGVyIGVycm9yLCBubyB0eXBlIG1hdGNoXG4gICAgICBjb25zb2xlLmVycm9yKCdEdWNrRGIgdGFibGU6IGJpbmFyeSBnZW9tZXRyeSBjb2x1bW4gdG8gd2tiJywgZXJyb3IpO1xuICAgIH1cblxuICAgIGF3YWl0IGMuY2xvc2UoKTtcblxuICAgIHJldHVybiB7ZmllbGRzLCBjb2xzfTtcbiAgfVxuXG4gIGFzeW5jIGltcG9ydERhdGEoe2RhdGF9OiB7ZGF0YTogUHJvY2Vzc29yUmVzdWx0fSk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIFZlY3RvclRpbGUgaXMgYSBzcGVjaWFsIGNhc2UsIGlnbm9yZSBmb3Igbm93XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gRGF0YXNldFR5cGUuVkVDVE9SX1RJTEUpIHtcbiAgICAgIHN1cGVyLmltcG9ydERhdGEoe2RhdGE6IHsuLi5kYXRhLCByb3dzOiBbXX19KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7ZmllbGRzLCBjb2xzfSA9IGF3YWl0IHRoaXMuY3JlYXRlVGFibGVBbmRHZXRBcnJvdyhkYXRhKTtcblxuICAgIHN1cGVyLmltcG9ydERhdGEoe2RhdGE6IHtmaWVsZHMsIGNvbHMsIHJvd3M6IFtdfX0pO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlKGRhdGEpIHtcbiAgICAvLyBWZWN0b3JUaWxlIGlzIGEgc3BlY2lhbCBjYXNlLCBpZ25vcmUgZm9yIG5vd1xuICAgIGlmICh0aGlzLnR5cGUgPT09IERhdGFzZXRUeXBlLlZFQ1RPUl9USUxFKSB7XG4gICAgICBzdXBlci5pbXBvcnREYXRhKHtkYXRhfSk7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBjb25zdCB7Y29sc30gPSBhd2FpdCB0aGlzLmNyZWF0ZVRhYmxlQW5kR2V0QXJyb3coZGF0YSk7XG5cbiAgICByZXR1cm4gc3VwZXIudXBkYXRlKHtjb2xzLCByb3dzOiBbXSwgZmllbGRzOiBbXX0pO1xuICB9XG5cbiAgc3RhdGljIGdldEZpbGVQcm9jZXNzb3IgPSBmdW5jdGlvbiAoZGF0YTogYW55LCBpbnB1dEZvcm1hdD86IHN0cmluZykge1xuICAgIGxldCBwcm9jZXNzb3I7XG4gICAgbGV0IGZvcm1hdDtcbiAgICBpZiAoaW5wdXRGb3JtYXQgPT09IERBVEFTRVRfRk9STUFUUy5hcnJvdyB8fCBpc0Fycm93RGF0YShkYXRhKSkge1xuICAgICAgZm9ybWF0ID0gREFUQVNFVF9GT1JNQVRTLmFycm93O1xuICAgICAgLy8gVE9ETyBpbmplc3QgYXJyb3cgZmlsZXMgZnJvbSBkaXNrIHdpdGhvdXQgbG9hZGVyc1xuICAgICAgcHJvY2Vzc29yID0gcHJvY2Vzc0Fycm93QmF0Y2hlcztcbiAgICB9IGVsc2UgaWYgKGlucHV0Rm9ybWF0ID09PSBEQVRBU0VUX0ZPUk1BVFMua2VwbGVyZ2wgfHwgaXNLZXBsZXJHbE1hcChkYXRhKSkge1xuICAgICAgZm9ybWF0ID0gREFUQVNFVF9GT1JNQVRTLmtlcGxlcmdsO1xuICAgICAgcHJvY2Vzc29yID0gcHJvY2Vzc0tlcGxlcmdsSlNPTmZvckR1Y2tEYjtcbiAgICB9IGVsc2UgaWYgKGlucHV0Rm9ybWF0ID09PSBEQVRBU0VUX0ZPUk1BVFMucm93IHx8IGlzUm93T2JqZWN0KGRhdGEpKSB7XG4gICAgICAvLyBjc3YgZmlsZSBnb2VzIGhlcmVcbiAgICAgIGZvcm1hdCA9IERBVEFTRVRfRk9STUFUUy5yb3c7XG4gICAgICBwcm9jZXNzb3IgPSBwcm9jZXNzQ3N2Um93T2JqZWN0OyAvLyBkaXJlY3RseSBpbXBvcnQganNvbiBvYmplY3QgaW50byBkdWNrZGItd2FzbVxuICAgIH0gZWxzZSBpZiAoaW5wdXRGb3JtYXQgPT09IERBVEFTRVRfRk9STUFUUy5nZW9qc29uIHx8IGlzR2VvSnNvbihkYXRhKSkge1xuICAgICAgZm9ybWF0ID0gREFUQVNFVF9GT1JNQVRTLmdlb2pzb247XG4gICAgICBwcm9jZXNzb3IgPSBwcm9jZXNzR2VvanNvbjtcbiAgICB9XG4gICAgcmV0dXJuIHtwcm9jZXNzb3IsIGZvcm1hdH07XG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxLQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFHQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxXQUFBLEdBQUFILE9BQUE7QUFTQSxJQUFBSSxLQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxjQUFBLEdBQUFMLE9BQUE7QUFLc0MsU0FBQU0seUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFSLHdCQUFBUSxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLFFBQUEsQ0FBQUwsQ0FBQSwwQkFBQUEsQ0FBQSxzQkFBQUEsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtBQUFDLFNBQUEsVUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxDQUFBLElBQUFkLENBQUEsb0JBQUFjLENBQUEsT0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFoQixDQUFBLEVBQUFjLENBQUEsU0FBQUcsQ0FBQSxHQUFBUCxDQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWIsQ0FBQSxFQUFBYyxDQUFBLFVBQUFHLENBQUEsS0FBQUEsQ0FBQSxDQUFBVixHQUFBLElBQUFVLENBQUEsQ0FBQUMsR0FBQSxJQUFBUCxNQUFBLENBQUFDLGNBQUEsQ0FBQUosQ0FBQSxFQUFBTSxDQUFBLEVBQUFHLENBQUEsSUFBQVQsQ0FBQSxDQUFBTSxDQUFBLElBQUFkLENBQUEsQ0FBQWMsQ0FBQSxZQUFBTixDQUFBLGNBQUFSLENBQUEsRUFBQUcsQ0FBQSxJQUFBQSxDQUFBLENBQUFlLEdBQUEsQ0FBQWxCLENBQUEsRUFBQVEsQ0FBQSxHQUFBQSxDQUFBO0FBQUEsU0FBQVcsUUFBQW5CLENBQUEsRUFBQUUsQ0FBQSxRQUFBQyxDQUFBLEdBQUFRLE1BQUEsQ0FBQVMsSUFBQSxDQUFBcEIsQ0FBQSxPQUFBVyxNQUFBLENBQUFVLHFCQUFBLFFBQUFDLENBQUEsR0FBQVgsTUFBQSxDQUFBVSxxQkFBQSxDQUFBckIsQ0FBQSxHQUFBRSxDQUFBLEtBQUFvQixDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBckIsQ0FBQSxXQUFBUyxNQUFBLENBQUFFLHdCQUFBLENBQUFiLENBQUEsRUFBQUUsQ0FBQSxFQUFBc0IsVUFBQSxPQUFBckIsQ0FBQSxDQUFBc0IsSUFBQSxDQUFBQyxLQUFBLENBQUF2QixDQUFBLEVBQUFtQixDQUFBLFlBQUFuQixDQUFBO0FBQUEsU0FBQXdCLGNBQUEzQixDQUFBLGFBQUFFLENBQUEsTUFBQUEsQ0FBQSxHQUFBMEIsU0FBQSxDQUFBQyxNQUFBLEVBQUEzQixDQUFBLFVBQUFDLENBQUEsV0FBQXlCLFNBQUEsQ0FBQTFCLENBQUEsSUFBQTBCLFNBQUEsQ0FBQTFCLENBQUEsUUFBQUEsQ0FBQSxPQUFBaUIsT0FBQSxDQUFBUixNQUFBLENBQUFSLENBQUEsT0FBQTJCLE9BQUEsV0FBQTVCLENBQUEsUUFBQTZCLGdCQUFBLGFBQUEvQixDQUFBLEVBQUFFLENBQUEsRUFBQUMsQ0FBQSxDQUFBRCxDQUFBLFNBQUFTLE1BQUEsQ0FBQXFCLHlCQUFBLEdBQUFyQixNQUFBLENBQUFzQixnQkFBQSxDQUFBakMsQ0FBQSxFQUFBVyxNQUFBLENBQUFxQix5QkFBQSxDQUFBN0IsQ0FBQSxLQUFBZ0IsT0FBQSxDQUFBUixNQUFBLENBQUFSLENBQUEsR0FBQTJCLE9BQUEsV0FBQTVCLENBQUEsSUFBQVMsTUFBQSxDQUFBQyxjQUFBLENBQUFaLENBQUEsRUFBQUUsQ0FBQSxFQUFBUyxNQUFBLENBQUFFLHdCQUFBLENBQUFWLENBQUEsRUFBQUQsQ0FBQSxpQkFBQUYsQ0FBQTtBQUFBLFNBQUFrQyxXQUFBL0IsQ0FBQSxFQUFBbUIsQ0FBQSxFQUFBdEIsQ0FBQSxXQUFBc0IsQ0FBQSxPQUFBYSxnQkFBQSxhQUFBYixDQUFBLE9BQUFjLDJCQUFBLGFBQUFqQyxDQUFBLEVBQUFrQyx5QkFBQSxLQUFBQyxPQUFBLENBQUFDLFNBQUEsQ0FBQWpCLENBQUEsRUFBQXRCLENBQUEsWUFBQW1DLGdCQUFBLGFBQUFoQyxDQUFBLEVBQUFxQyxXQUFBLElBQUFsQixDQUFBLENBQUFJLEtBQUEsQ0FBQXZCLENBQUEsRUFBQUgsQ0FBQTtBQUFBLFNBQUFxQywwQkFBQSxjQUFBbEMsQ0FBQSxJQUFBc0MsT0FBQSxDQUFBQyxTQUFBLENBQUFDLE9BQUEsQ0FBQTNCLElBQUEsQ0FBQXNCLE9BQUEsQ0FBQUMsU0FBQSxDQUFBRSxPQUFBLGlDQUFBdEMsQ0FBQSxhQUFBa0MseUJBQUEsWUFBQUEsMEJBQUEsYUFBQWxDLENBQUE7QUFBQSxTQUFBeUMsY0FBQXpDLENBQUEsRUFBQUgsQ0FBQSxFQUFBRSxDQUFBLEVBQUFvQixDQUFBLFFBQUF1QixDQUFBLE9BQUFDLEtBQUEsaUJBQUFYLGdCQUFBLGlCQUFBYixDQUFBLEdBQUFuQixDQUFBLENBQUF1QyxTQUFBLEdBQUF2QyxDQUFBLEdBQUFILENBQUEsRUFBQUUsQ0FBQSxjQUFBb0IsQ0FBQSxhQUFBbkIsQ0FBQSxXQUFBMEMsQ0FBQSxDQUFBbkIsS0FBQSxDQUFBeEIsQ0FBQSxFQUFBQyxDQUFBLE9BQUEwQyxDQUFBLElBeEJ0QztBQUNBO0FBeUJBO0FBQ0EsSUFBTUUsZUFBZSxHQUFHLE1BQU07QUFROUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFNQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFJQyxPQUF1QixFQUFFQyxNQUEyQixFQUFLO0VBQ2xGLElBQU1DLFFBQVEsR0FBRyxDQUFDLENBQUM7RUFDbkJELE1BQU0sQ0FBQ0UsR0FBRyxDQUFDLFVBQUNDLEtBQUssRUFBRUMsS0FBSyxFQUFLO0lBQzNCSCxRQUFRLENBQUNFLEtBQUssQ0FBQ0UsSUFBSSxDQUFDLEdBQUdOLE9BQU8sQ0FBQ0ssS0FBSyxDQUFDO0VBQ3ZDLENBQUMsQ0FBQztFQUNGLE9BQU8sSUFBSS9ELEtBQUssQ0FBQ2lFLEtBQUssQ0FBQ0wsUUFBUSxDQUFDO0FBQ2xDLENBQUM7QUFFRCxJQUFNTSxpQkFBaUI7RUFBQSxJQUFBQyxJQUFBLE9BQUFDLGtCQUFBLDJCQUFBQyxZQUFBLFlBQUFDLElBQUEsQ0FBRyxTQUFBQyxRQUFPQyxDQUF3QixFQUFFQyxTQUFpQjtJQUFBLE9BQUFKLFlBQUEsWUFBQUssSUFBQSxVQUFBQyxTQUFBQyxRQUFBO01BQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7UUFBQTtVQUFBRixRQUFBLENBQUFDLElBQUE7VUFBQUQsUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FFbEVOLENBQUMsQ0FBQ08sS0FBSywyQkFBQUMsTUFBQSxDQUEwQlAsU0FBUyxRQUFJLENBQUM7UUFBQTtVQUFBRyxRQUFBLENBQUFFLElBQUE7VUFBQTtRQUFBO1VBQUFGLFFBQUEsQ0FBQUMsSUFBQTtVQUFBRCxRQUFBLENBQUFLLEVBQUEsR0FBQUwsUUFBQTtVQUVyRE0sT0FBTyxDQUFDQyxLQUFLLENBQUMsdUJBQXVCLEVBQUVWLFNBQVMsRUFBQUcsUUFBQSxDQUFBSyxFQUFPLENBQUM7UUFBQztRQUFBO1VBQUEsT0FBQUwsUUFBQSxDQUFBUSxJQUFBO01BQUE7SUFBQSxHQUFBYixPQUFBO0VBQUEsQ0FFNUQ7RUFBQSxnQkFOS0wsaUJBQWlCQSxDQUFBbUIsRUFBQSxFQUFBQyxHQUFBO0lBQUEsT0FBQW5CLElBQUEsQ0FBQWhDLEtBQUEsT0FBQUUsU0FBQTtFQUFBO0FBQUEsR0FNdEI7QUFBQyxJQUVXa0QsbUJBQW1CLEdBQUFDLE9BQUEsQ0FBQUQsbUJBQUEsMEJBQUFFLFlBQUE7RUFNOUIsU0FBQUYsb0JBQVlHLEtBQUssRUFBRTtJQUFBLElBQUFDLGdCQUFBLG1CQUFBSixtQkFBQTtJQUFBLE9BQUE1QyxVQUFBLE9BQUE0QyxtQkFBQSxHQUNYRyxLQUFLO0VBQ2I7RUFBQyxJQUFBRSxVQUFBLGFBQUFMLG1CQUFBLEVBQUFFLFlBQUE7RUFBQSxXQUFBSSxhQUFBLGFBQUFOLG1CQUFBO0lBQUFPLEdBQUE7SUFBQUMsS0FBQTtNQUFBLElBQUFDLGNBQUEsT0FBQTVCLGtCQUFBLDJCQUFBQyxZQUFBLFlBQUFDLElBQUEsQ0FFRCxTQUFBMkIsU0FBQUMsS0FBQTtRQUFBLElBQUFDLElBQUEsRUFBQUMsRUFBQSxFQUFBNUIsQ0FBQSxFQUFBYixNQUFBLEVBQUEwQyxJQUFBLEVBQUFDLFNBQUEsRUFBQTVDLE9BQUEsRUFBQTZDLGNBQUE7UUFBQSxPQUFBbEMsWUFBQSxZQUFBSyxJQUFBLFVBQUE4QixVQUFBQyxTQUFBO1VBQUEsa0JBQUFBLFNBQUEsQ0FBQTVCLElBQUEsR0FBQTRCLFNBQUEsQ0FBQTNCLElBQUE7WUFBQTtjQUFxQnFCLElBQUksR0FBQUQsS0FBQSxDQUFKQyxJQUFJLEVBQUVDLEVBQUUsR0FBQUYsS0FBQSxDQUFGRSxFQUFFLEVBQUU1QixDQUFDLEdBQUEwQixLQUFBLENBQUQxQixDQUFDO2NBQUFpQyxTQUFBLENBQUE1QixJQUFBO2NBRXJCbEIsTUFBTSxHQUFVd0MsSUFBSSxDQUFwQnhDLE1BQU0sRUFBRTBDLElBQUksR0FBSUYsSUFBSSxDQUFaRSxJQUFJLEVBRW5CO2NBQ0E7Y0FDTUMsU0FBUyxHQUFHSSxLQUFLLENBQUNDLE9BQU8sQ0FBQ04sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQ3BDQSxJQUFJLENBQUN4QyxHQUFHLENBQUMsVUFBQStDLEdBQUcsRUFBSTtnQkFDZCxJQUFNQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQkQsR0FBRyxDQUFDckUsT0FBTyxDQUFDLFVBQUN3RCxLQUFLLEVBQUVoQyxLQUFLLEVBQUs7a0JBQzVCOEMsTUFBTSxDQUFDbEQsTUFBTSxDQUFDSSxLQUFLLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLEdBQUcrQixLQUFLO2dCQUNwQyxDQUFDLENBQUM7Z0JBQ0YsT0FBT2MsTUFBTTtjQUNmLENBQUMsQ0FBQyxHQUNGUixJQUFJO2NBQUFJLFNBQUEsQ0FBQTNCLElBQUE7Y0FBQSxPQUVGc0IsRUFBRSxDQUFDVSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUNDLEVBQUUsRUFBRUMsSUFBSSxDQUFDQyxTQUFTLENBQUNYLFNBQVMsQ0FBQyxDQUFDO1lBQUE7Y0FFdkQ1QyxPQUFPLEdBQUdDLE1BQU0sQ0FBQ3VELE1BQU0sQ0FBQyxVQUFDQyxHQUFHLEVBQUVyRCxLQUFLLEVBQUVDLEtBQUssRUFBSztnQkFDbkQ7Z0JBQ0EsVUFBQWlCLE1BQUEsQ0FBVW1DLEdBQUcsRUFBQW5DLE1BQUEsQ0FBR2pCLEtBQUssR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsUUFBQWlCLE1BQUEsQ0FBS2xCLEtBQUssQ0FBQ0UsSUFBSSxVQUFBZ0IsTUFBQSxDQUFPbEIsS0FBSyxDQUFDc0QsZ0JBQWdCO2NBQ2xGLENBQUMsRUFBRSxFQUFFLENBQUM7Y0FFQWIsY0FBYyw4QkFBQXZCLE1BQUEsQ0FDRixJQUFJLENBQUNxQyxLQUFLLHNEQUFBckMsTUFBQSxDQUVSLElBQUksQ0FBQytCLEVBQUUsNENBQUEvQixNQUFBLENBQ0d0QixPQUFPO2NBQUErQyxTQUFBLENBQUEzQixJQUFBO2NBQUEsT0FFL0JOLENBQUMsQ0FBQ08sS0FBSyxDQUFDd0IsY0FBYyxDQUFDO1lBQUE7Y0FBQUUsU0FBQSxDQUFBM0IsSUFBQTtjQUFBO1lBQUE7Y0FBQTJCLFNBQUEsQ0FBQTVCLElBQUE7Y0FBQTRCLFNBQUEsQ0FBQXhCLEVBQUEsR0FBQXdCLFNBQUE7Y0FFN0J2QixPQUFPLENBQUNvQyxHQUFHLENBQUMsZUFBZSxFQUFBYixTQUFBLENBQUF4QixFQUFPLENBQUM7WUFBQztZQUFBO2NBQUEsT0FBQXdCLFNBQUEsQ0FBQXJCLElBQUE7VUFBQTtRQUFBLEdBQUFhLFFBQUE7TUFBQSxDQUV2QztNQUFBLFNBakNLc0IsYUFBYUEsQ0FBQUMsR0FBQTtRQUFBLE9BQUF4QixjQUFBLENBQUE3RCxLQUFBLE9BQUFFLFNBQUE7TUFBQTtNQUFBLE9BQWJrRixhQUFhO0lBQUE7RUFBQTtJQUFBekIsR0FBQTtJQUFBQyxLQUFBO01BQUEsSUFBQTBCLGtCQUFBLE9BQUFyRCxrQkFBQSwyQkFBQUMsWUFBQSxZQUFBQyxJQUFBLENBbUNuQixTQUFBb0QsU0FBQUMsS0FBQTtRQUFBLElBQUF4QixJQUFBLEVBQUFDLEVBQUEsRUFBQTVCLENBQUEsRUFBQTZCLElBQUEsRUFBQUUsY0FBQTtRQUFBLE9BQUFsQyxZQUFBLFlBQUFLLElBQUEsVUFBQWtELFVBQUFDLFNBQUE7VUFBQSxrQkFBQUEsU0FBQSxDQUFBaEQsSUFBQSxHQUFBZ0QsU0FBQSxDQUFBL0MsSUFBQTtZQUFBO2NBQXlCcUIsSUFBSSxHQUFBd0IsS0FBQSxDQUFKeEIsSUFBSSxFQUFFQyxFQUFFLEdBQUF1QixLQUFBLENBQUZ2QixFQUFFLEVBQUU1QixDQUFDLEdBQUFtRCxLQUFBLENBQURuRCxDQUFDO2NBQUFxRCxTQUFBLENBQUFoRCxJQUFBO2NBRXpCd0IsSUFBSSxHQUFJRixJQUFJLENBQVpFLElBQUk7Y0FBQXdCLFNBQUEsQ0FBQS9DLElBQUE7Y0FBQSxPQUNMc0IsRUFBRSxDQUFDVSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUNDLEVBQUUsRUFBRUMsSUFBSSxDQUFDQyxTQUFTLENBQUNaLElBQUksQ0FBQyxDQUFDO1lBQUE7Y0FFbERFLGNBQWMsK0VBQUF2QixNQUFBLENBR0YsSUFBSSxDQUFDcUMsS0FBSyxxREFBQXJDLE1BQUEsQ0FFVixJQUFJLENBQUMrQixFQUFFO2NBQUFjLFNBQUEsQ0FBQS9DLElBQUE7Y0FBQSxPQUVuQk4sQ0FBQyxDQUFDTyxLQUFLLENBQUN3QixjQUFjLENBQUM7WUFBQTtjQUFBc0IsU0FBQSxDQUFBL0MsSUFBQTtjQUFBO1lBQUE7Y0FBQStDLFNBQUEsQ0FBQWhELElBQUE7Y0FBQWdELFNBQUEsQ0FBQTVDLEVBQUEsR0FBQTRDLFNBQUE7Y0FFN0IzQyxPQUFPLENBQUNDLEtBQUssQ0FBQyxtQkFBbUIsRUFBQTBDLFNBQUEsQ0FBQTVDLEVBQU8sQ0FBQztZQUFDO1lBQUE7Y0FBQSxPQUFBNEMsU0FBQSxDQUFBekMsSUFBQTtVQUFBO1FBQUEsR0FBQXNDLFFBQUE7TUFBQSxDQUU3QztNQUFBLFNBaEJLSSxpQkFBaUJBLENBQUFDLEdBQUE7UUFBQSxPQUFBTixrQkFBQSxDQUFBdEYsS0FBQSxPQUFBRSxTQUFBO01BQUE7TUFBQSxPQUFqQnlGLGlCQUFpQjtJQUFBO0VBQUE7SUFBQWhDLEdBQUE7SUFBQUMsS0FBQTtNQUFBLElBQUFpQyxnQkFBQSxPQUFBNUQsa0JBQUEsMkJBQUFDLFlBQUEsWUFBQUMsSUFBQSxDQWtCdkIsU0FBQTJELFNBQUFDLEtBQUE7UUFBQSxJQUFBL0IsSUFBQSxFQUFBQyxFQUFBLEVBQUE1QixDQUFBLEVBQUEyRCxVQUFBLEVBQUFDLFFBQUE7UUFBQSxPQUFBL0QsWUFBQSxZQUFBSyxJQUFBLFVBQUEyRCxVQUFBQyxTQUFBO1VBQUEsa0JBQUFBLFNBQUEsQ0FBQXpELElBQUEsR0FBQXlELFNBQUEsQ0FBQXhELElBQUE7WUFBQTtjQUF1QnFCLElBQUksR0FBQStCLEtBQUEsQ0FBSi9CLElBQUksRUFBRUMsRUFBRSxHQUFBOEIsS0FBQSxDQUFGOUIsRUFBRSxFQUFFNUIsQ0FBQyxHQUFBMEQsS0FBQSxDQUFEMUQsQ0FBQztjQUFBOEQsU0FBQSxDQUFBekQsSUFBQTtjQUU5QjtjQUNBO2NBQ01zRCxVQUFVLEdBQ2RoQyxJQUFJLENBQUNFLElBQUksWUFBWXJHLEtBQUssQ0FBQ2lFLEtBQUssR0FDNUJrQyxJQUFJLENBQUNFLElBQUksR0FDVDVDLGlCQUFpQixDQUFDMEMsSUFBSSxDQUFDb0MsSUFBSSxJQUFJLEVBQUUsRUFBRXBDLElBQUksQ0FBQ3hDLE1BQU0sQ0FBQztjQUUvQ3lFLFFBQVE7Y0FBQUUsU0FBQSxDQUFBeEQsSUFBQTtjQUFBLE9BSVJOLENBQUMsQ0FBQ08sS0FBSyxDQUFDcUQsUUFBUSxDQUFDO1lBQUE7Y0FBQUUsU0FBQSxDQUFBeEQsSUFBQTtjQUFBLE9BQ2pCTixDQUFDLENBQUNnRSxnQkFBZ0IsQ0FBQ0wsVUFBVSxFQUFFO2dCQUFDbkUsSUFBSSxFQUFFLElBQUksQ0FBQ3FEO2NBQUssQ0FBQyxDQUFDO1lBQUE7Y0FBQWlCLFNBQUEsQ0FBQXhELElBQUE7Y0FBQTtZQUFBO2NBQUF3RCxTQUFBLENBQUF6RCxJQUFBO2NBQUF5RCxTQUFBLENBQUFyRCxFQUFBLEdBQUFxRCxTQUFBO2NBRXhEO2NBQ0E7Y0FDQXBELE9BQU8sQ0FBQ0MsS0FBSyxDQUFDLGlCQUFpQixFQUFBbUQsU0FBQSxDQUFBckQsRUFBTyxDQUFDO1lBQUM7WUFBQTtjQUFBLE9BQUFxRCxTQUFBLENBQUFsRCxJQUFBO1VBQUE7UUFBQSxHQUFBNkMsUUFBQTtNQUFBLENBRTNDO01BQUEsU0FwQktRLGVBQWVBLENBQUFDLEdBQUE7UUFBQSxPQUFBVixnQkFBQSxDQUFBN0YsS0FBQSxPQUFBRSxTQUFBO01BQUE7TUFBQSxPQUFmb0csZUFBZTtJQUFBO0lBc0JyQjtBQUNGO0FBQ0E7QUFDQTtBQUNBO0VBSkU7SUFBQTNDLEdBQUE7SUFBQUMsS0FBQTtNQUFBLElBQUE0Qyx1QkFBQSxPQUFBdkUsa0JBQUEsMkJBQUFDLFlBQUEsWUFBQUMsSUFBQSxDQUtBLFNBQUFzRSxTQUF1Q3pDLElBQUk7UUFBQSxJQUFBQyxFQUFBLEVBQUE1QixDQUFBLEVBQUFDLFNBQUEsRUFBQW9FLE1BQUEsRUFBQUMsVUFBQSxFQUFBQyxXQUFBLEVBQUFDLFdBQUEsRUFBQUMsVUFBQSxFQUFBdEYsTUFBQSxFQUFBNEUsSUFBQSxFQUFBVyxZQUFBLEVBQUFDLFdBQUEsRUFBQUMsaUJBQUEsRUFBQUMsV0FBQSxFQUFBQyxRQUFBO1FBQUEsT0FBQWpGLFlBQUEsWUFBQUssSUFBQSxVQUFBNkUsVUFBQUMsU0FBQTtVQUFBLGtCQUFBQSxTQUFBLENBQUEzRSxJQUFBLEdBQUEyRSxTQUFBLENBQUExRSxJQUFBO1lBQUE7Y0FBQTBFLFNBQUEsQ0FBQTFFLElBQUE7Y0FBQSxPQUN4QixJQUFBMkUsZUFBUyxFQUFDLENBQUM7WUFBQTtjQUF0QnJELEVBQUUsR0FBQW9ELFNBQUEsQ0FBQUUsSUFBQTtjQUFBRixTQUFBLENBQUExRSxJQUFBO2NBQUEsT0FDUXNCLEVBQUUsQ0FBQ3VELE9BQU8sQ0FBQyxDQUFDO1lBQUE7Y0FBdEJuRixDQUFDLEdBQUFnRixTQUFBLENBQUFFLElBQUE7Y0FFRGpGLFNBQVMsR0FBRyxJQUFJLENBQUM0QyxLQUFLO2NBQUFtQyxTQUFBLENBQUExRSxJQUFBO2NBQUEsT0FDdEJaLGlCQUFpQixDQUFDTSxDQUFDLEVBQUVDLFNBQVMsQ0FBQztZQUFBO2NBRWpDb0UsTUFBTSxHQUFHLElBQUksQ0FBQ2UsUUFBUSxDQUFDZixNQUFNO2NBQ2pDLElBQUksQ0FBQ0EsTUFBTSxFQUFFO2dCQUNYO2dCQUNBLElBQUluQyxLQUFLLENBQUNDLE9BQU8sRUFBQW1DLFVBQUEsR0FBQzNDLElBQUksQ0FBQ0UsSUFBSSxjQUFBeUMsVUFBQSx1QkFBVEEsVUFBQSxDQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBQWUsUUFBQSxjQUFBZCxXQUFBLEdBQU81QyxJQUFJLENBQUNFLElBQUksY0FBQTBDLFdBQUEsdUJBQVRBLFdBQUEsQ0FBWSxDQUFDLENBQUMsTUFBSyxRQUFRLEVBQUU7a0JBQ3ZFRixNQUFNLEdBQUdpQiwwQkFBZSxDQUFDbEQsR0FBRztnQkFDOUIsQ0FBQyxNQUFNLElBQUksRUFBQW9DLFdBQUEsR0FBQTdDLElBQUksQ0FBQ0UsSUFBSSxjQUFBMkMsV0FBQSx1QkFBVEEsV0FBQSxDQUFXZSxJQUFJLE1BQUssbUJBQW1CLEVBQUU7a0JBQ2xEbEIsTUFBTSxHQUFHaUIsMEJBQWUsQ0FBQ0UsT0FBTztnQkFDbEMsQ0FBQyxNQUFNLElBQUksRUFBQWYsVUFBQSxHQUFBOUMsSUFBSSxDQUFDb0MsSUFBSSxjQUFBVSxVQUFBLHVCQUFUQSxVQUFBLENBQVksQ0FBQyxDQUFDLGFBQVlqSixLQUFLLENBQUNpSyxNQUFNLEVBQUU7a0JBQ2pEcEIsTUFBTSxHQUFHaUIsMEJBQWUsQ0FBQzlKLEtBQUs7Z0JBQ2hDO2NBQ0Y7Y0FBQyxNQUVHNkksTUFBTSxLQUFLaUIsMEJBQWUsQ0FBQ2xELEdBQUc7Z0JBQUE0QyxTQUFBLENBQUExRSxJQUFBO2dCQUFBO2NBQUE7Y0FBQTBFLFNBQUEsQ0FBQTFFLElBQUE7Y0FBQSxPQUMxQixJQUFJLENBQUN5QyxhQUFhLENBQUM7Z0JBQUNwQixJQUFJLEVBQUpBLElBQUk7Z0JBQUVDLEVBQUUsRUFBRkEsRUFBRTtnQkFBRTVCLENBQUMsRUFBREE7Y0FBQyxDQUFDLENBQUM7WUFBQTtjQUFBZ0YsU0FBQSxDQUFBMUUsSUFBQTtjQUFBO1lBQUE7Y0FBQSxNQUM5QitELE1BQU0sS0FBS2lCLDBCQUFlLENBQUNFLE9BQU87Z0JBQUFSLFNBQUEsQ0FBQTFFLElBQUE7Z0JBQUE7Y0FBQTtjQUFBMEUsU0FBQSxDQUFBMUUsSUFBQTtjQUFBLE9BQ3JDLElBQUksQ0FBQ2dELGlCQUFpQixDQUFDO2dCQUFDM0IsSUFBSSxFQUFKQSxJQUFJO2dCQUFFQyxFQUFFLEVBQUZBLEVBQUU7Z0JBQUU1QixDQUFDLEVBQURBO2NBQUMsQ0FBQyxDQUFDO1lBQUE7Y0FBQWdGLFNBQUEsQ0FBQTFFLElBQUE7Y0FBQTtZQUFBO2NBQUEsTUFDbEMrRCxNQUFNLEtBQUtpQiwwQkFBZSxDQUFDOUosS0FBSztnQkFBQXdKLFNBQUEsQ0FBQTFFLElBQUE7Z0JBQUE7Y0FBQTtjQUFBMEUsU0FBQSxDQUFBMUUsSUFBQTtjQUFBLE9BQ25DLElBQUksQ0FBQzJELGVBQWUsQ0FBQztnQkFBQ3RDLElBQUksRUFBSkEsSUFBSTtnQkFBRUMsRUFBRSxFQUFGQSxFQUFFO2dCQUFFNUIsQ0FBQyxFQUFEQTtjQUFDLENBQUMsQ0FBQztZQUFBO2NBQUFnRixTQUFBLENBQUExRSxJQUFBO2NBQUE7WUFBQTtjQUV6Q0ksT0FBTyxDQUFDQyxLQUFLLENBQUMscUJBQXFCLEVBQUUwRCxNQUFNLENBQUM7WUFBQztjQUczQ2xGLE1BQWUsR0FBRyxFQUFFO2NBQ3BCNEUsSUFBb0IsR0FBRyxFQUFFO2NBQUFpQixTQUFBLENBQUEzRSxJQUFBO2NBQUEyRSxTQUFBLENBQUExRSxJQUFBO2NBQUEsT0FLRE4sQ0FBQyxDQUFDTyxLQUFLLDZCQUFBQyxNQUFBLENBQ2RQLFNBQVMsdUJBQzNCLENBQUM7WUFBQTtjQUZJMEUsV0FBVyxHQUFBSyxTQUFBLENBQUFFLElBQUE7Y0FHWE4saUJBQWlCLEdBQUdsRyxPQUFPLENBQy9CaUcsV0FBVyxDQUFDZSxNQUFNLENBQUN2RyxNQUFNLENBQUN3RyxJQUFJLENBQzVCLFVBQUFDLENBQUM7Z0JBQUEsT0FBSUEsQ0FBQyxDQUFDcEcsSUFBSSxLQUFLUixlQUFlLElBQUl4RCxLQUFLLENBQUNxSyxRQUFRLENBQUNDLFFBQVEsQ0FBQ0YsQ0FBQyxDQUFDTCxJQUFJLENBQUM7Y0FBQSxDQUNwRSxDQUNGLENBQUMsRUFFRDtjQUNBO2NBQUFQLFNBQUEsQ0FBQTFFLElBQUE7Y0FBQSxPQUMwQk4sQ0FBQyxDQUFDTyxLQUFLLGFBQUFDLE1BQUEsQ0FFN0JvRSxpQkFBaUIsY0FBQXBFLE1BQUEsQ0FDRnhCLGVBQWUsaUJBQUF3QixNQUFBLENBQWN4QixlQUFlLFdBQUF3QixNQUFBLENBQVF4QixlQUFlLElBQzlFLEVBQUUsYUFBQXdCLE1BQUEsQ0FDRVAsU0FBUyxPQUNyQixDQUFDO1lBQUE7Y0FOSzRFLFdBQVcsR0FBQUcsU0FBQSxDQUFBRSxJQUFBO2NBT1hKLFFBQVEsR0FBR0QsV0FBVyxDQUFDYSxNQUFNLENBQUN2RyxNQUFNLENBQUN3RyxJQUFJLENBQzdDLFVBQUFDLENBQUM7Z0JBQUEsT0FBSUEsQ0FBQyxDQUFDcEcsSUFBSSxLQUFLUixlQUFlLElBQUl4RCxLQUFLLENBQUNxSyxRQUFRLENBQUNDLFFBQVEsQ0FBQ0YsQ0FBQyxDQUFDTCxJQUFJLENBQUM7Y0FBQSxDQUNwRSxDQUFDO2NBQ0RULFFBQVEsYUFBUkEsUUFBUSxlQUFSQSxRQUFRLENBQUVNLFFBQVEsQ0FBQ2pJLEdBQUcsQ0FBQyxzQkFBc0IsRUFBRSxjQUFjLENBQUM7Y0FFOURnQyxNQUFNLElBQUF1RixZQUFBLEdBQUcvQyxJQUFJLENBQUN4QyxNQUFNLGNBQUF1RixZQUFBLGNBQUFBLFlBQUEsR0FBSSxJQUFBcUIsK0JBQW1CLEVBQUNsQixXQUFXLENBQUNhLE1BQU0sQ0FBQztjQUMvRDNCLElBQUksR0FBRyxJQUFBaUMsbUJBQUEsYUFBSTlELEtBQUssQ0FBQzJDLFdBQVcsQ0FBQ29CLE9BQU8sQ0FBQyxDQUFDNUksSUFBSSxDQUFDLENBQUMsRUFDekNnQyxHQUFHLENBQUMsVUFBQW5DLENBQUM7Z0JBQUEsT0FBSTJILFdBQVcsQ0FBQ3FCLFVBQVUsQ0FBQ2hKLENBQUMsQ0FBQztjQUFBLEVBQUMsQ0FDbkNNLE1BQU0sQ0FBQyxVQUFBMkksR0FBRztnQkFBQSxPQUFJQSxHQUFHO2NBQUEsRUFBbUI7Y0FBQ25CLFNBQUEsQ0FBQTFFLElBQUE7Y0FBQTtZQUFBO2NBQUEwRSxTQUFBLENBQUEzRSxJQUFBO2NBQUEyRSxTQUFBLENBQUF2RSxFQUFBLEdBQUF1RSxTQUFBO2NBRXhDO2NBQ0E7Y0FDQXRFLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDLDZDQUE2QyxFQUFBcUUsU0FBQSxDQUFBdkUsRUFBTyxDQUFDO1lBQUM7Y0FBQXVFLFNBQUEsQ0FBQTFFLElBQUE7Y0FBQSxPQUdoRU4sQ0FBQyxDQUFDb0csS0FBSyxDQUFDLENBQUM7WUFBQTtjQUFBLE9BQUFwQixTQUFBLENBQUFxQixNQUFBLFdBRVI7Z0JBQUNsSCxNQUFNLEVBQU5BLE1BQU07Z0JBQUU0RSxJQUFJLEVBQUpBO2NBQUksQ0FBQztZQUFBO1lBQUE7Y0FBQSxPQUFBaUIsU0FBQSxDQUFBcEUsSUFBQTtVQUFBO1FBQUEsR0FBQXdELFFBQUE7TUFBQSxDQUN0QjtNQUFBLFNBdkVla0Msc0JBQXNCQSxDQUFBQyxHQUFBO1FBQUEsT0FBQXBDLHVCQUFBLENBQUF4RyxLQUFBLE9BQUFFLFNBQUE7TUFBQTtNQUFBLE9BQXRCeUksc0JBQXNCO0lBQUE7RUFBQTtJQUFBaEYsR0FBQTtJQUFBQyxLQUFBO01BQUEsSUFBQWlGLFdBQUEsT0FBQTVHLGtCQUFBLDJCQUFBQyxZQUFBLFlBQUFDLElBQUEsQ0F5RXRDLFNBQUEyRyxTQUFBQyxLQUFBO1FBQUEsSUFBQS9FLElBQUEsRUFBQWdGLHFCQUFBLEVBQUF4SCxNQUFBLEVBQUE0RSxJQUFBO1FBQUEsT0FBQWxFLFlBQUEsWUFBQUssSUFBQSxVQUFBMEcsVUFBQUMsU0FBQTtVQUFBLGtCQUFBQSxTQUFBLENBQUF4RyxJQUFBLEdBQUF3RyxTQUFBLENBQUF2RyxJQUFBO1lBQUE7Y0FBa0JxQixJQUFJLEdBQUErRSxLQUFBLENBQUovRSxJQUFJO2NBQUEsTUFFaEIsSUFBSSxDQUFDNEQsSUFBSSxLQUFLdUIsc0JBQVcsQ0FBQ0MsV0FBVztnQkFBQUYsU0FBQSxDQUFBdkcsSUFBQTtnQkFBQTtjQUFBO2NBQ3ZDekIsYUFBQSxDQUFBa0MsbUJBQUEsMEJBQWlCO2dCQUFDWSxJQUFJLEVBQUEvRCxhQUFBLENBQUFBLGFBQUEsS0FBTStELElBQUk7a0JBQUVFLElBQUksRUFBRTtnQkFBRTtjQUFDLENBQUM7Y0FBRSxPQUFBZ0YsU0FBQSxDQUFBUixNQUFBO1lBQUE7Y0FBQVEsU0FBQSxDQUFBdkcsSUFBQTtjQUFBLE9BSW5CLElBQUksQ0FBQ2dHLHNCQUFzQixDQUFDM0UsSUFBSSxDQUFDO1lBQUE7Y0FBQWdGLHFCQUFBLEdBQUFFLFNBQUEsQ0FBQTNCLElBQUE7Y0FBdkQvRixNQUFNLEdBQUF3SCxxQkFBQSxDQUFOeEgsTUFBTTtjQUFFNEUsSUFBSSxHQUFBNEMscUJBQUEsQ0FBSjVDLElBQUk7Y0FFbkJsRixhQUFBLENBQUFrQyxtQkFBQSwwQkFBaUI7Z0JBQUNZLElBQUksRUFBRTtrQkFBQ3hDLE1BQU0sRUFBTkEsTUFBTTtrQkFBRTRFLElBQUksRUFBSkEsSUFBSTtrQkFBRWxDLElBQUksRUFBRTtnQkFBRTtjQUFDLENBQUM7WUFBRTtZQUFBO2NBQUEsT0FBQWdGLFNBQUEsQ0FBQWpHLElBQUE7VUFBQTtRQUFBLEdBQUE2RixRQUFBO01BQUEsQ0FDcEQ7TUFBQSxTQVZLTyxVQUFVQSxDQUFBQyxHQUFBO1FBQUEsT0FBQVQsV0FBQSxDQUFBN0ksS0FBQSxPQUFBRSxTQUFBO01BQUE7TUFBQSxPQUFWbUosVUFBVTtJQUFBO0VBQUE7SUFBQTFGLEdBQUE7SUFBQUMsS0FBQTtNQUFBLElBQUEyRixPQUFBLE9BQUF0SCxrQkFBQSwyQkFBQUMsWUFBQSxZQUFBQyxJQUFBLENBWWhCLFNBQUFxSCxTQUFheEYsSUFBSTtRQUFBLElBQUF5RixzQkFBQSxFQUFBckQsSUFBQTtRQUFBLE9BQUFsRSxZQUFBLFlBQUFLLElBQUEsVUFBQW1ILFVBQUFDLFNBQUE7VUFBQSxrQkFBQUEsU0FBQSxDQUFBakgsSUFBQSxHQUFBaUgsU0FBQSxDQUFBaEgsSUFBQTtZQUFBO2NBQUEsTUFFWCxJQUFJLENBQUNpRixJQUFJLEtBQUt1QixzQkFBVyxDQUFDQyxXQUFXO2dCQUFBTyxTQUFBLENBQUFoSCxJQUFBO2dCQUFBO2NBQUE7Y0FDdkN6QixhQUFBLENBQUFrQyxtQkFBQSwwQkFBaUI7Z0JBQUNZLElBQUksRUFBSkE7Y0FBSSxDQUFDO2NBQUUsT0FBQTJGLFNBQUEsQ0FBQWpCLE1BQUEsV0FDbEIsSUFBSTtZQUFBO2NBQUFpQixTQUFBLENBQUFoSCxJQUFBO2NBQUEsT0FHUSxJQUFJLENBQUNnRyxzQkFBc0IsQ0FBQzNFLElBQUksQ0FBQztZQUFBO2NBQUF5RixzQkFBQSxHQUFBRSxTQUFBLENBQUFwQyxJQUFBO2NBQS9DbkIsSUFBSSxHQUFBcUQsc0JBQUEsQ0FBSnJELElBQUk7Y0FBQSxPQUFBdUQsU0FBQSxDQUFBakIsTUFBQSxXQUFBeEgsYUFBQSxDQUFBa0MsbUJBQUEsc0JBRVM7Z0JBQUNnRCxJQUFJLEVBQUpBLElBQUk7Z0JBQUVsQyxJQUFJLEVBQUUsRUFBRTtnQkFBRTFDLE1BQU0sRUFBRTtjQUFFLENBQUM7WUFBQTtZQUFBO2NBQUEsT0FBQW1JLFNBQUEsQ0FBQTFHLElBQUE7VUFBQTtRQUFBLEdBQUF1RyxRQUFBO01BQUEsQ0FDakQ7TUFBQSxTQVZLSSxNQUFNQSxDQUFBQyxHQUFBO1FBQUEsT0FBQU4sT0FBQSxDQUFBdkosS0FBQSxPQUFBRSxTQUFBO01BQUE7TUFBQSxPQUFOMEosTUFBTTtJQUFBO0VBQUE7QUFBQSxFQS9LMkJFLGtCQUFXO0FBQUEsSUFBQXpKLGdCQUFBLGFBQXZDK0MsbUJBQW1CLHNCQTJMSixVQUFVWSxJQUFTLEVBQUUrRixXQUFvQixFQUFFO0VBQ25FLElBQUlDLFNBQVM7RUFDYixJQUFJdEQsTUFBTTtFQUNWLElBQUlxRCxXQUFXLEtBQUtwQywwQkFBZSxDQUFDOUosS0FBSyxJQUFJLElBQUFvTSx1QkFBVyxFQUFDakcsSUFBSSxDQUFDLEVBQUU7SUFDOUQwQyxNQUFNLEdBQUdpQiwwQkFBZSxDQUFDOUosS0FBSztJQUM5QjtJQUNBbU0sU0FBUyxHQUFHRSwrQkFBbUI7RUFDakMsQ0FBQyxNQUFNLElBQUlILFdBQVcsS0FBS3BDLDBCQUFlLENBQUN3QyxRQUFRLElBQUksSUFBQUMseUJBQWEsRUFBQ3BHLElBQUksQ0FBQyxFQUFFO0lBQzFFMEMsTUFBTSxHQUFHaUIsMEJBQWUsQ0FBQ3dDLFFBQVE7SUFDakNILFNBQVMsR0FBR0ssMkNBQTRCO0VBQzFDLENBQUMsTUFBTSxJQUFJTixXQUFXLEtBQUtwQywwQkFBZSxDQUFDbEQsR0FBRyxJQUFJLElBQUE2Rix1QkFBVyxFQUFDdEcsSUFBSSxDQUFDLEVBQUU7SUFDbkU7SUFDQTBDLE1BQU0sR0FBR2lCLDBCQUFlLENBQUNsRCxHQUFHO0lBQzVCdUYsU0FBUyxHQUFHTyxrQ0FBbUIsQ0FBQyxDQUFDO0VBQ25DLENBQUMsTUFBTSxJQUFJUixXQUFXLEtBQUtwQywwQkFBZSxDQUFDRSxPQUFPLElBQUksSUFBQTJDLHFCQUFTLEVBQUN4RyxJQUFJLENBQUMsRUFBRTtJQUNyRTBDLE1BQU0sR0FBR2lCLDBCQUFlLENBQUNFLE9BQU87SUFDaENtQyxTQUFTLEdBQUdTLDZCQUFjO0VBQzVCO0VBQ0EsT0FBTztJQUFDVCxTQUFTLEVBQVRBLFNBQVM7SUFBRXRELE1BQU0sRUFBTkE7RUFBTSxDQUFDO0FBQzVCLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
482
+ (0, _defineProperty2["default"])(KeplerGlDuckDbTable, "getInputDataValidator", function () {
483
+ return function (d) {
484
+ return d;
485
+ };
486
+ });
487
+ var restoreGeoarrowMetadata = /*#__PURE__*/function () {
488
+ var _ref7 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8(arrowTable, canCastST_asWKB, addWKBMetadata) {
489
+ return _regenerator["default"].wrap(function _callee8$(_context8) {
490
+ while (1) switch (_context8.prev = _context8.next) {
491
+ case 0:
492
+ arrowTable.schema.fields.forEach(function (f) {
493
+ if (arrow.DataType.isBinary(f.type) && (addWKBMetadata[f.name] || canCastST_asWKB[f.name])) {
494
+ f.metadata.set('ARROW:extension:name', 'geoarrow.wkb');
495
+ } else if ((0, _duckdbTableUtils.isGeoArrowPoint)(f.type)) {
496
+ f.metadata.set('ARROW:extension:name', 'geoarrow.point');
497
+ } else if ((0, _duckdbTableUtils.isGeoArrowLineString)(f.type)) {
498
+ f.metadata.set('ARROW:extension:name', 'geoarrow.linestring');
499
+ } else if ((0, _duckdbTableUtils.isGeoArrowPolygon)(f.type)) {
500
+ f.metadata.set('ARROW:extension:name', 'geoarrow.polygon');
501
+ } else if ((0, _duckdbTableUtils.isGeoArrowMultiPoint)(f.type)) {
502
+ f.metadata.set('ARROW:extension:name', 'geoarrow.multipoint');
503
+ } else if ((0, _duckdbTableUtils.isGeoArrowMultiLineString)(f.type)) {
504
+ f.metadata.set('ARROW:extension:name', 'geoarrow.multilinestring');
505
+ } else if ((0, _duckdbTableUtils.isGeoArrowMultiPolygon)(f.type)) {
506
+ f.metadata.set('ARROW:extension:name', 'geoarrow.multipolygon');
507
+ }
508
+ });
509
+ case 1:
510
+ case "end":
511
+ return _context8.stop();
512
+ }
513
+ }, _callee8);
514
+ }));
515
+ return function restoreGeoarrowMetadata(_x9, _x10, _x11) {
516
+ return _ref7.apply(this, arguments);
517
+ };
518
+ }();
519
+
520
+ /**
521
+ * For all binary columns tries to transform geometry from DuckDB's internal format into proper WKB.
522
+ * @param props
523
+ * @returns A map of fields that should be transformed to valid WKB.
524
+ */
525
+ var tryST_AsWKB = /*#__PURE__*/function () {
526
+ var _ref8 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee9(props) {
527
+ var c, tableName, resultWithSchema, binaryColumns, canCastST_asWKB, _iterator, _step, column, columnName, query;
528
+ return _regenerator["default"].wrap(function _callee9$(_context9) {
529
+ while (1) switch (_context9.prev = _context9.next) {
530
+ case 0:
531
+ c = props.c, tableName = props.tableName;
532
+ _context9.next = 3;
533
+ return c.query("\n SELECT * FROM '".concat(tableName, "' LIMIT 0;\n "));
534
+ case 3:
535
+ resultWithSchema = _context9.sent;
536
+ binaryColumns = resultWithSchema.schema.fields.filter(function (f) {
537
+ return arrow.DataType.isBinary(f.type);
538
+ });
539
+ canCastST_asWKB = {};
540
+ _iterator = _createForOfIteratorHelper(binaryColumns);
541
+ _context9.prev = 7;
542
+ _iterator.s();
543
+ case 9:
544
+ if ((_step = _iterator.n()).done) {
545
+ _context9.next = 24;
546
+ break;
547
+ }
548
+ column = _step.value;
549
+ _context9.prev = 11;
550
+ columnName = column.name;
551
+ query = "SELECT * EXCLUDE ".concat(columnName, ", ST_AsWKB(").concat(columnName, ") as ").concat(columnName, " FROM '").concat(tableName, "' LIMIT 1;");
552
+ _context9.next = 16;
553
+ return c.query(query);
554
+ case 16:
555
+ canCastST_asWKB[column.name] = true;
556
+ _context9.next = 22;
557
+ break;
558
+ case 19:
559
+ _context9.prev = 19;
560
+ _context9.t0 = _context9["catch"](11);
561
+ canCastST_asWKB[column.name] = false;
562
+ case 22:
563
+ _context9.next = 9;
564
+ break;
565
+ case 24:
566
+ _context9.next = 29;
567
+ break;
568
+ case 26:
569
+ _context9.prev = 26;
570
+ _context9.t1 = _context9["catch"](7);
571
+ _iterator.e(_context9.t1);
572
+ case 29:
573
+ _context9.prev = 29;
574
+ _iterator.f();
575
+ return _context9.finish(29);
576
+ case 32:
577
+ return _context9.abrupt("return", canCastST_asWKB);
578
+ case 33:
579
+ case "end":
580
+ return _context9.stop();
581
+ }
582
+ }, _callee9, null, [[7, 26, 29, 32], [11, 19]]);
583
+ }));
584
+ return function tryST_AsWKB(_x12) {
585
+ return _ref8.apply(this, arguments);
586
+ };
587
+ }();
588
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhcnJvdyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9jb25zdGFudHMiLCJfdGFibGUiLCJfcHJvY2Vzc29ycyIsIl9pbml0IiwiX2RhdGFQcm9jZXNzb3IiLCJfZHVja2RiVGFibGVVdGlscyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZjMiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwibGVuZ3RoIiwiX24iLCJGIiwicyIsImRvbmUiLCJ2YWx1ZSIsImYiLCJUeXBlRXJyb3IiLCJvIiwibmV4dCIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsImZyb20iLCJ0ZXN0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJfY2FsbFN1cGVyIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJfc3VwZXJQcm9wR2V0IiwicCIsIl9nZXQyIiwiRFVDS0RCX0dFT01fQ09MVU1OIiwiRFVDS0RCX1dLQl9DT0xVTU4iLCJLRVBMRVJfR0VPTV9GUk9NX0dFT0pTT05fQ09MVU1OIiwiU1VHR0VTVEVEX0dFT01fQ09MVU1OUyIsInJlc3RvcmVBcnJvd1RhYmxlIiwiY29sdW1ucyIsImZpZWxkcyIsImNyZWFPcHRzIiwibWFwIiwiZmllbGQiLCJpbmRleCIsIlRhYmxlIiwiZHJvcElmVGFibGVFeGlzdHMiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJjIiwidGFibGVOYW1lIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwicXVlcnkiLCJjb25jYXQiLCJ0MCIsImNvbnNvbGUiLCJlcnJvciIsInN0b3AiLCJfeCIsIl94MiIsIktlcGxlckdsRHVja0RiVGFibGUiLCJleHBvcnRzIiwiX0tlcGxlclRhYmxlIiwicHJvcHMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJfaW1wb3J0Um93RGF0YSIsIl9jYWxsZWUyIiwiX3JlZjIiLCJkYXRhIiwiZGIiLCJyb3dzIiwicm93c0ZvckRiIiwiY3JlYXRlVGFibGVTcWwiLCJfY2FsbGVlMiQiLCJfY29udGV4dDIiLCJyb3ciLCJuZXdSb3ciLCJyZWdpc3RlckZpbGVUZXh0IiwiaWQiLCJKU09OIiwic3RyaW5naWZ5IiwicmVkdWNlIiwiYWNjIiwiZHVja0RCQ29sdW1uVHlwZSIsImxhYmVsIiwibG9nIiwiaW1wb3J0Um93RGF0YSIsIl94MyIsIl9pbXBvcnRHZW9Kc29uRGF0YSIsIl9jYWxsZWUzIiwiX3JlZjMiLCJfY2FsbGVlMyQiLCJfY29udGV4dDMiLCJhYnJ1cHQiLCJhZGRXS0JNZXRhZGF0YSIsImltcG9ydEdlb0pzb25EYXRhIiwiX3g0IiwiX2ltcG9ydEFycm93RGF0YSIsIl9jYWxsZWU0IiwiX3JlZjQiLCJhcnJvd1RhYmxlIiwic2V0dXBTcWwiLCJfY2FsbGVlNCQiLCJfY29udGV4dDQiLCJjb2xzIiwiaW5zZXJ0QXJyb3dUYWJsZSIsInVzZU5ld0ZpZWxkcyIsImltcG9ydEFycm93RGF0YSIsIl94NSIsIl9jcmVhdGVUYWJsZUFuZEdldEFycm93IiwiX2NhbGxlZTUiLCJmb3JtYXQiLCJfZGF0YSRyb3dzIiwiX2RhdGEkcm93czIiLCJfZGF0YSRyb3dzMyIsIl9kYXRhJGNvbHMiLCJpbXBvcnREZXRhaWxzIiwiX2RhdGEkZmllbGRzIiwiX3JlZjUiLCJfcmVmNSRhZGRXS0JNZXRhZGF0YSIsIl9yZWY1JHVzZU5ld0ZpZWxkcyIsImNhbkNhc3RTVF9hc1dLQiIsImdldEFycm93UXVlcnkiLCJhcnJvd1Jlc3VsdCIsIl9jYWxsZWU1JCIsIl9jb250ZXh0NSIsImdldER1Y2tEQiIsInNlbnQiLCJjb25uZWN0IiwibWV0YWRhdGEiLCJfdHlwZW9mMiIsIkRBVEFTRVRfRk9STUFUUyIsInR5cGUiLCJnZW9qc29uIiwiVmVjdG9yIiwidHJ5U1RfQXNXS0IiLCJyZXN0b3JlR2VvYXJyb3dNZXRhZGF0YSIsImFycm93U2NoZW1hVG9GaWVsZHMiLCJzY2hlbWEiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwibnVtQ29scyIsImdldENoaWxkQXQiLCJjb2wiLCJjbG9zZSIsImNyZWF0ZVRhYmxlQW5kR2V0QXJyb3ciLCJfeDYiLCJfaW1wb3J0RGF0YSIsIl9jYWxsZWU2IiwiX3JlZjYiLCJfeWllbGQkdGhpcyRjcmVhdGVUYWIiLCJfY2FsbGVlNiQiLCJfY29udGV4dDYiLCJEYXRhc2V0VHlwZSIsIlZFQ1RPUl9USUxFIiwiaW1wb3J0RGF0YSIsIl94NyIsIl91cGRhdGUiLCJfY2FsbGVlNyIsIl95aWVsZCR0aGlzJGNyZWF0ZVRhYjIiLCJfY2FsbGVlNyQiLCJfY29udGV4dDciLCJ1cGRhdGUiLCJfeDgiLCJLZXBsZXJUYWJsZSIsImlucHV0Rm9ybWF0IiwicHJvY2Vzc29yIiwiaXNBcnJvd0RhdGEiLCJwcm9jZXNzQXJyb3dCYXRjaGVzIiwia2VwbGVyZ2wiLCJpc0tlcGxlckdsTWFwIiwicHJvY2Vzc0tlcGxlcmdsSlNPTmZvckR1Y2tEYiIsImlzUm93T2JqZWN0IiwicHJvY2Vzc0NzdlJvd09iamVjdCIsImlzR2VvSnNvbiIsInByb2Nlc3NHZW9qc29uIiwiZCIsIl9yZWY3IiwiX2NhbGxlZTgiLCJfY2FsbGVlOCQiLCJfY29udGV4dDgiLCJEYXRhVHlwZSIsImlzQmluYXJ5IiwiaXNHZW9BcnJvd1BvaW50IiwiaXNHZW9BcnJvd0xpbmVTdHJpbmciLCJpc0dlb0Fycm93UG9seWdvbiIsImlzR2VvQXJyb3dNdWx0aVBvaW50IiwiaXNHZW9BcnJvd011bHRpTGluZVN0cmluZyIsImlzR2VvQXJyb3dNdWx0aVBvbHlnb24iLCJfeDkiLCJfeDEwIiwiX3gxMSIsIl9yZWY4IiwiX2NhbGxlZTkiLCJyZXN1bHRXaXRoU2NoZW1hIiwiYmluYXJ5Q29sdW1ucyIsIl9pdGVyYXRvciIsIl9zdGVwIiwiY29sdW1uIiwiY29sdW1uTmFtZSIsIl9jYWxsZWU5JCIsIl9jb250ZXh0OSIsInQxIiwiZmluaXNoIiwiX3gxMiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90YWJsZS9kdWNrZGItdGFibGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0ICogYXMgYXJyb3cgZnJvbSAnYXBhY2hlLWFycm93JztcbmltcG9ydCB7QXN5bmNEdWNrREIsIEFzeW5jRHVja0RCQ29ubmVjdGlvbn0gZnJvbSAnQGR1Y2tkYi9kdWNrZGItd2FzbSc7XG5cbmltcG9ydCB7RGF0YXNldFR5cGUsIERBVEFTRVRfRk9STUFUU30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtLZXBsZXJUYWJsZX0gZnJvbSAnQGtlcGxlci5nbC90YWJsZSc7XG5pbXBvcnQge0ZpZWxkLCBQcm90b0RhdGFzZXRGaWVsZH0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge1xuICBhcnJvd1NjaGVtYVRvRmllbGRzLFxuICBpc0Fycm93RGF0YSxcbiAgaXNHZW9Kc29uLFxuICBpc0tlcGxlckdsTWFwLFxuICBpc1Jvd09iamVjdCxcbiAgcHJvY2Vzc0Fycm93QmF0Y2hlc1xufSBmcm9tICdAa2VwbGVyLmdsL3Byb2Nlc3NvcnMnO1xuXG5pbXBvcnQge2dldER1Y2tEQn0gZnJvbSAnLi4vaW5pdCc7XG5pbXBvcnQge1xuICBwcm9jZXNzQ3N2Um93T2JqZWN0LFxuICBwcm9jZXNzR2VvanNvbixcbiAgcHJvY2Vzc0tlcGxlcmdsSlNPTmZvckR1Y2tEYixcbiAgUHJvY2Vzc29yUmVzdWx0XG59IGZyb20gJy4uL3Byb2Nlc3NvcnMvZGF0YS1wcm9jZXNzb3InO1xuXG5pbXBvcnQge1xuICBpc0dlb0Fycm93UG9pbnQsXG4gIGlzR2VvQXJyb3dMaW5lU3RyaW5nLFxuICBpc0dlb0Fycm93UG9seWdvbixcbiAgaXNHZW9BcnJvd011bHRpUG9pbnQsXG4gIGlzR2VvQXJyb3dNdWx0aUxpbmVTdHJpbmcsXG4gIGlzR2VvQXJyb3dNdWx0aVBvbHlnb25cbn0gZnJvbSAnLi9kdWNrZGItdGFibGUtdXRpbHMnO1xuXG4vLyBUT0RPIHVzZSBmaWxlcyBmcm9tIGRpc2sgb3IgdXJsIGRpcmVjdGx5LCB3aXRob3V0IHBhcnNpbmcgYnkgbG9hZGVycyBhbmQgdGhlbiBpbmdlY3Rpb24gaW50byBEZWNrRGJcblxuLyoqXG4gKiBEZWZhdWx0IER1Y2tEYiBnZW9tZXRyeSBjb2x1bW5zIGNyZWF0ZWQgYnkgU1RfUkVBRFxuICovXG5jb25zdCBEVUNLREJfR0VPTV9DT0xVTU4gPSAnZ2VvbSc7XG5jb25zdCBEVUNLREJfV0tCX0NPTFVNTiA9ICd3a2JfZ2VvbWV0cnknO1xuXG4vKipcbiBEZWZhdWx0IGNvbHVtbiBuYW1lIGZvciBwcm9jZXNzZWQgZ2VvanNvbiBpbiBLZXBsZXIuXG4gVXNlIHRoaXMgbmFtZSB0byByZW5hbWUgZGVmYXVsdCAnZ2VvbScgY29sdW1uIGZyb20gRHVja0RiXG4gaW4gb3JkZXIgdG8gc3VwcG9ydCBLZXBsZXIgbWFwcyBzYXZlZCBiZWZvcmUgaW50cm9kdWN0aW9uIG9mIER1Y2tEYiBwbHVnaW4uXG4gKi9cbmNvbnN0IEtFUExFUl9HRU9NX0ZST01fR0VPSlNPTl9DT0xVTU4gPSAnX2dlb2pzb24nO1xuXG4vKipcbiAqIE5hbWVzIG9mIGNvbHVtbnMgdGhhdCBtb3N0IGxpa2VseSBjb250YWluIGJpbmFyeSB3a2IgZ2VvbWV0cnlcbiAqL1xuY29uc3QgU1VHR0VTVEVEX0dFT01fQ09MVU1OUyA9IHtcbiAgW0tFUExFUl9HRU9NX0ZST01fR0VPSlNPTl9DT0xVTU5dOiB0cnVlLFxuICBbRFVDS0RCX0dFT01fQ09MVU1OXTogdHJ1ZSxcbiAgZ2VvbWV0cnk6IHRydWVcbn07XG5cbnR5cGUgSW1wb3J0RGF0YVRvRHVja1Byb3BzID0ge1xuICBkYXRhOiBQcm9jZXNzb3JSZXN1bHQ7XG4gIGRiOiBBc3luY0R1Y2tEQjtcbiAgYzogQXN5bmNEdWNrREJDb25uZWN0aW9uO1xufTtcblxudHlwZSBJbXBvcnREYXRhVG9EdWNrUmVzdWx0ID0ge1xuICAvLyBEdWNrRGIgZHJvcHMgZ2VvYXJyb3cgbWV0YWRhdGEsIHNvIHRyeSB0byBwcmVzZXJ2ZSBzb21ldGluZ1xuICBhZGRXS0JNZXRhZGF0YT86IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+O1xuICAvLyBVc2UgZmllbGRzIGZyb20gYXJyb3cgdGFibGUgZXZlbiBpZiBmaWVsZHMgYXJlIHByb3ZpZGVkXG4gIHVzZU5ld0ZpZWxkcz86IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gYXJyb3cgdGFibGUgZnJvbSBhcnJvdyB2ZWN0b3JzIGFuZCBmaWVsZHMuXG4gKiBAcGFyYW0gY29sdW1ucyBBbiBhcnJheSBvZiBhcnJvdyB2ZWN0b3JzLlxuICogQHBhcmFtIGZpZWxkcyBBbiBhcnJheSBvZiBmaWVsZHMgcGVyIGFycm93IHZlY3Rvci5cbiAqIEByZXR1cm5zIEFuIGFycm93IHRhYmxlLlxuICovXG4vLyBUT0RPOiBjb25zaWRlciB1c2luZyBvcmlnaW5hbCBkcmFnJmRyb3BwZWQgYXJyb3cgdGFibGUsIGFzIGl0IGNvdWxkIGNvbnRhaW4gZXh0cmEgbWV0YWRhdGEsIG5vdCBwYXNzZWQgdG8gdGhlIGZpZWxkcy5cbmNvbnN0IHJlc3RvcmVBcnJvd1RhYmxlID0gKGNvbHVtbnM6IGFycm93LlZlY3RvcltdLCBmaWVsZHM6IFByb3RvRGF0YXNldEZpZWxkW10pID0+IHtcbiAgY29uc3QgY3JlYU9wdHMgPSB7fTtcbiAgZmllbGRzLm1hcCgoZmllbGQsIGluZGV4KSA9PiB7XG4gICAgY3JlYU9wdHNbZmllbGQubmFtZV0gPSBjb2x1bW5zW2luZGV4XTtcbiAgfSk7XG4gIHJldHVybiBuZXcgYXJyb3cuVGFibGUoY3JlYU9wdHMpO1xufTtcblxuY29uc3QgZHJvcElmVGFibGVFeGlzdHMgPSBhc3luYyAoYzogQXN5bmNEdWNrREJDb25uZWN0aW9uLCB0YWJsZU5hbWU6IHN0cmluZykgPT4ge1xuICB0cnkge1xuICAgIGF3YWl0IGMucXVlcnkoYERST1AgVEFCTEUgSUYgRVhJU1RTIFwiJHt0YWJsZU5hbWV9XCI7YCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcignRHJvcHBpbmcgdGFibGUgZmFpbGVkJywgdGFibGVOYW1lLCBlcnJvcik7XG4gIH1cbn07XG5cbmV4cG9ydCBjbGFzcyBLZXBsZXJHbER1Y2tEYlRhYmxlIGV4dGVuZHMgS2VwbGVyVGFibGUge1xuICBkZWNsYXJlIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIGRlY2xhcmUgbGFiZWw6IHN0cmluZztcbiAgZGVjbGFyZSB0eXBlOiBzdHJpbmc7XG4gIGRlY2xhcmUgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gIH1cblxuICBhc3luYyBpbXBvcnRSb3dEYXRhKHtkYXRhLCBkYiwgY306IEltcG9ydERhdGFUb0R1Y2tQcm9wcyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7ZmllbGRzLCByb3dzfSA9IGRhdGE7XG5cbiAgICAgIC8vIERBVEFTRVRfRk9STUFUUy5rZXBsZXJnbCBsb2FkcyBkYXRhIGFzIGFueVtdW10gaW5zdGVhZCBvZiBbe31dXG4gICAgICAvLyBUT0RPIHBvdGVudGlhbCBtZW1vcnkgdXNhZ2UgZXhwbG9zaW9uOiBvcmlnaW5hbCBkYXRhLCBuZXcgb2JqZWN0IGFuZCB0aGVuIER1Y2tEYiB0YWJsZVxuICAgICAgY29uc3Qgcm93c0ZvckRiID0gQXJyYXkuaXNBcnJheShyb3dzWzBdKVxuICAgICAgICA/IHJvd3MubWFwKHJvdyA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXdSb3cgPSB7fTtcbiAgICAgICAgICAgIHJvdy5mb3JFYWNoKCh2YWx1ZSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgbmV3Um93W2ZpZWxkc1tpbmRleF0ubmFtZV0gPSB2YWx1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIG5ld1JvdztcbiAgICAgICAgICB9KVxuICAgICAgICA6IHJvd3M7XG5cbiAgICAgIGF3YWl0IGRiLnJlZ2lzdGVyRmlsZVRleHQodGhpcy5pZCwgSlNPTi5zdHJpbmdpZnkocm93c0ZvckRiKSk7XG5cbiAgICAgIGNvbnN0IGNvbHVtbnMgPSBmaWVsZHMucmVkdWNlKChhY2MsIGZpZWxkLCBpbmRleCkgPT4ge1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE8gZXh0ZW5kIGZpZWxkcyB0byBjb250YWluIGR1Y2tEQkNvbHVtblR5cGVcbiAgICAgICAgcmV0dXJuIGAke2FjY30ke2luZGV4ID4gMCA/ICcsJyA6ICcnfSAnJHtmaWVsZC5uYW1lfSc6ICcke2ZpZWxkLmR1Y2tEQkNvbHVtblR5cGV9J2A7XG4gICAgICB9LCAnJyk7XG5cbiAgICAgIGNvbnN0IGNyZWF0ZVRhYmxlU3FsID0gYFxuICAgICAgICBDUkVBVEUgVEFCTEUgJyR7dGhpcy5sYWJlbH0nIEFTXG4gICAgICAgIFNFTEVDVCAqXG4gICAgICAgIEZST00gcmVhZF9qc29uKCcke3RoaXMuaWR9JyxcbiAgICAgICAgICAgICAgICAgICAgICAgY29sdW1ucyA9IHske2NvbHVtbnN9fSk7XG4gICAgICBgO1xuICAgICAgYXdhaXQgYy5xdWVyeShjcmVhdGVUYWJsZVNxbCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdpbXBvcnRSb3dEYXRhJywgZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGltcG9ydEdlb0pzb25EYXRhKHtkYXRhLCBkYiwgY306IEltcG9ydERhdGFUb0R1Y2tQcm9wcyk6IFByb21pc2U8SW1wb3J0RGF0YVRvRHVja1Jlc3VsdD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7cm93c30gPSBkYXRhO1xuICAgICAgYXdhaXQgZGIucmVnaXN0ZXJGaWxlVGV4dCh0aGlzLmlkLCBKU09OLnN0cmluZ2lmeShyb3dzKSk7XG5cbiAgICAgIGNvbnN0IGNyZWF0ZVRhYmxlU3FsID0gYFxuICAgICAgICBpbnN0YWxsIHNwYXRpYWw7XG4gICAgICAgIGxvYWQgc3BhdGlhbDtcbiAgICAgICAgQ1JFQVRFIFRBQkxFICcke3RoaXMubGFiZWx9JyBBUyBcbiAgICAgICAgU0VMRUNUICpcbiAgICAgICAgRlJPTSBTVF9SRUFEKCcke3RoaXMuaWR9Jywga2VlcF93a2IgPSBUUlVFKTtcbiAgICAgICAgQUxURVIgVEFCTEUgJyR7dGhpcy5sYWJlbH0nIFJFTkFNRSAnJHtEVUNLREJfV0tCX0NPTFVNTn0nIFRPICcke0tFUExFUl9HRU9NX0ZST01fR0VPSlNPTl9DT0xVTU59JztcbiAgICAgIGA7XG4gICAgICBhd2FpdCBjLnF1ZXJ5KGNyZWF0ZVRhYmxlU3FsKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignaW1wb3J0R2VvSnNvbkRhdGEnLCBlcnJvcik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGFkZFdLQk1ldGFkYXRhOiB7W0tFUExFUl9HRU9NX0ZST01fR0VPSlNPTl9DT0xVTU5dOiB0cnVlfVxuICAgIH07XG4gIH1cblxuICBhc3luYyBpbXBvcnRBcnJvd0RhdGEoe2RhdGEsIGRiLCBjfTogSW1wb3J0RGF0YVRvRHVja1Byb3BzKTogUHJvbWlzZTxJbXBvcnREYXRhVG9EdWNrUmVzdWx0PiB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIDEpIGRhdGEucm93cyBjb250YWlucyBhbiBhcnJvdyB0YWJsZSBjcmVhdGVkIGJ5IEFkZCB0byBNYXAgZGF0YSBmcm9tIER1Y2tEYiBxdWVyeS5cbiAgICAgIC8vIDIpIGFycm93IHRhYmxlIGlzIGluIGNvbHMgJiBmaWVsZHMgd2hlbiBhIGZpbGUgaXMgZHJhZ2dlZCAmIGRyb3BwZWQgaW50byBBZGQgRGF0YSBUbyBNYXAgZGlhbG9nLlxuICAgICAgY29uc3QgYXJyb3dUYWJsZSA9XG4gICAgICAgIGRhdGEucm93cyBpbnN0YW5jZW9mIGFycm93LlRhYmxlXG4gICAgICAgICAgPyBkYXRhLnJvd3NcbiAgICAgICAgICA6IHJlc3RvcmVBcnJvd1RhYmxlKGRhdGEuY29scyB8fCBbXSwgZGF0YS5maWVsZHMpO1xuXG4gICAgICBjb25zdCBzZXR1cFNxbCA9IGBcbiAgICAgICAgaW5zdGFsbCBzcGF0aWFsO1xuICAgICAgICBsb2FkIHNwYXRpYWw7XG4gICAgICBgO1xuICAgICAgYXdhaXQgYy5xdWVyeShzZXR1cFNxbCk7XG4gICAgICBhd2FpdCBjLmluc2VydEFycm93VGFibGUoYXJyb3dUYWJsZSwge25hbWU6IHRoaXMubGFiZWx9KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gS25vd24gaXNzdWVzOlxuICAgICAgLy8gMSkgQXJyb3cgVHlwZSB3aXRoIGV4dGVuc2lvbiBuYW1lOiBnZW9hcnJvdy5wb2ludCBhbmQgZm9ybWF0OiArdzoyIGlzIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkIGluIER1Y2tEQi5cbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2ltcG9ydEFycm93RGF0YScsIGVycm9yKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgYWRkV0tCTWV0YWRhdGE6IHsuLi5TVUdHRVNURURfR0VPTV9DT0xVTU5TfSxcbiAgICAgIC8vIHVzZSBtZXRhZGF0YSBmcm9tIGFycm93IHRhYmxlXG4gICAgICB1c2VOZXdGaWVsZHM6IHRydWVcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSB0YWJsZSBmcm9tIGRhdGEsIHJldHVybnMgYW4gYXJyb3cgdGFibGUgd2l0aCB0aGUgZGF0YVxuICAgKiBAcGFyYW0gZGF0YVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx7ZmllbGRzOiBGaWVsZFtdLCBjb2xzOiBhbnlbXX0+fVxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGNyZWF0ZVRhYmxlQW5kR2V0QXJyb3coZGF0YSk6IFByb21pc2U8e2ZpZWxkczogYW55W107IGNvbHM6IGFycm93LlZlY3RvcltdfT4ge1xuICAgIGNvbnN0IGRiID0gYXdhaXQgZ2V0RHVja0RCKCk7XG4gICAgY29uc3QgYyA9IGF3YWl0IGRiLmNvbm5lY3QoKTtcblxuICAgIGNvbnN0IHRhYmxlTmFtZSA9IHRoaXMubGFiZWw7XG4gICAgYXdhaXQgZHJvcElmVGFibGVFeGlzdHMoYywgdGFibGVOYW1lKTtcblxuICAgIGxldCBmb3JtYXQgPSB0aGlzLm1ldGFkYXRhLmZvcm1hdDtcbiAgICBpZiAoIWZvcm1hdCkge1xuICAgICAgLy8gZm9ybWF0IGlzIG1pc3Npbmcgd2hlbiB3ZSBsb2FkIEtlcGxlci5nbCBleGFtcGxlc1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YS5yb3dzPy5bMF0pIHx8IHR5cGVvZiBkYXRhLnJvd3M/LlswXSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgZm9ybWF0ID0gREFUQVNFVF9GT1JNQVRTLnJvdztcbiAgICAgIH0gZWxzZSBpZiAoZGF0YS5yb3dzPy50eXBlID09PSAnRmVhdHVyZUNvbGxlY3Rpb24nKSB7XG4gICAgICAgIGZvcm1hdCA9IERBVEFTRVRfRk9STUFUUy5nZW9qc29uO1xuICAgICAgfSBlbHNlIGlmIChkYXRhLmNvbHM/LlswXSBpbnN0YW5jZW9mIGFycm93LlZlY3Rvcikge1xuICAgICAgICBmb3JtYXQgPSBEQVRBU0VUX0ZPUk1BVFMuYXJyb3c7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGV0IGltcG9ydERldGFpbHM6IEltcG9ydERhdGFUb0R1Y2tSZXN1bHQgfCB1bmRlZmluZWQ7XG4gICAgaWYgKGZvcm1hdCA9PT0gREFUQVNFVF9GT1JNQVRTLnJvdykge1xuICAgICAgYXdhaXQgdGhpcy5pbXBvcnRSb3dEYXRhKHtkYXRhLCBkYiwgY30pO1xuICAgIH0gZWxzZSBpZiAoZm9ybWF0ID09PSBEQVRBU0VUX0ZPUk1BVFMuZ2VvanNvbikge1xuICAgICAgaW1wb3J0RGV0YWlscyA9IGF3YWl0IHRoaXMuaW1wb3J0R2VvSnNvbkRhdGEoe2RhdGEsIGRiLCBjfSk7XG4gICAgfSBlbHNlIGlmIChmb3JtYXQgPT09IERBVEFTRVRfRk9STUFUUy5hcnJvdykge1xuICAgICAgaW1wb3J0RGV0YWlscyA9IGF3YWl0IHRoaXMuaW1wb3J0QXJyb3dEYXRhKHtkYXRhLCBkYiwgY30pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdVbnJlY29nbml6ZWQgZm9ybWF0JywgZm9ybWF0KTtcbiAgICB9XG5cbiAgICBsZXQgZmllbGRzOiBGaWVsZFtdID0gW107XG4gICAgbGV0IGNvbHM6IGFycm93LlZlY3RvcltdID0gW107XG5cbiAgICB0cnkge1xuICAgICAgY29uc3Qge2FkZFdLQk1ldGFkYXRhID0ge30sIHVzZU5ld0ZpZWxkcyA9IGZhbHNlfSA9IGltcG9ydERldGFpbHMgfHwge307XG5cbiAgICAgIC8vIFRyeSB0byBmaWd1cmUgb3V0IHdoZXRoZXIgZ2VvbWV0cnkgc2hvdWxkIGJlIHRyYW5zZm9ybWVkIGJ5IFNUX0FzV0tCXG4gICAgICAvLyBUT0RPIGlmIGNhbkNhc3RTVF9hc1dLQiBjb250YWlucyBhbnkga2V5cyB0aGVuIGFkZCBTVF9Bc1dLQiB0byB0aGUgZm9sbG93aW5nIHF1ZXJ5XG4gICAgICBjb25zdCBjYW5DYXN0U1RfYXNXS0IgPSBhd2FpdCB0cnlTVF9Bc1dLQih7dGFibGVOYW1lLCBjfSk7XG5cbiAgICAgIGNvbnN0IGdldEFycm93UXVlcnkgPSBgU0VMRUNUICogRlJPTSAnJHt0YWJsZU5hbWV9JztgO1xuICAgICAgY29uc3QgYXJyb3dSZXN1bHQgPSBhd2FpdCBjLnF1ZXJ5KGdldEFycm93UXVlcnkpO1xuXG4gICAgICByZXN0b3JlR2VvYXJyb3dNZXRhZGF0YShhcnJvd1Jlc3VsdCwgY2FuQ2FzdFNUX2FzV0tCLCBhZGRXS0JNZXRhZGF0YSk7XG5cbiAgICAgIGZpZWxkcyA9IHVzZU5ld0ZpZWxkc1xuICAgICAgICA/IGFycm93U2NoZW1hVG9GaWVsZHMoYXJyb3dSZXN1bHQuc2NoZW1hKVxuICAgICAgICA6IGRhdGEuZmllbGRzID8/IGFycm93U2NoZW1hVG9GaWVsZHMoYXJyb3dSZXN1bHQuc2NoZW1hKTtcbiAgICAgIGNvbHMgPSBbLi4uQXJyYXkoYXJyb3dSZXN1bHQubnVtQ29scykua2V5cygpXVxuICAgICAgICAubWFwKGkgPT4gYXJyb3dSZXN1bHQuZ2V0Q2hpbGRBdChpKSlcbiAgICAgICAgLmZpbHRlcihjb2wgPT4gY29sKSBhcyBhcnJvdy5WZWN0b3JbXTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gS25vd24gaXNzdWVzOlxuICAgICAgLy8gMSkgU1RfQXNXS0IgYmluZGVyIGVycm9yLCBubyB0eXBlIG1hdGNoXG4gICAgICBjb25zb2xlLmVycm9yKCdEdWNrRGIgdGFibGU6IGJpbmFyeSBnZW9tZXRyeSBjb2x1bW4gdG8gd2tiJywgZXJyb3IpO1xuICAgIH1cblxuICAgIGF3YWl0IGMuY2xvc2UoKTtcblxuICAgIHJldHVybiB7ZmllbGRzLCBjb2xzfTtcbiAgfVxuXG4gIGFzeW5jIGltcG9ydERhdGEoe2RhdGF9OiB7ZGF0YTogUHJvY2Vzc29yUmVzdWx0fSk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIFZlY3RvclRpbGUgaXMgYSBzcGVjaWFsIGNhc2UsIGlnbm9yZSBmb3Igbm93XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gRGF0YXNldFR5cGUuVkVDVE9SX1RJTEUpIHtcbiAgICAgIHN1cGVyLmltcG9ydERhdGEoe2RhdGE6IHsuLi5kYXRhLCByb3dzOiBbXX19KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7ZmllbGRzLCBjb2xzfSA9IGF3YWl0IHRoaXMuY3JlYXRlVGFibGVBbmRHZXRBcnJvdyhkYXRhKTtcblxuICAgIHN1cGVyLmltcG9ydERhdGEoe2RhdGE6IHtmaWVsZHMsIGNvbHMsIHJvd3M6IFtdfX0pO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlKGRhdGEpIHtcbiAgICAvLyBWZWN0b3JUaWxlIGlzIGEgc3BlY2lhbCBjYXNlLCBpZ25vcmUgZm9yIG5vd1xuICAgIGlmICh0aGlzLnR5cGUgPT09IERhdGFzZXRUeXBlLlZFQ1RPUl9USUxFKSB7XG4gICAgICBzdXBlci5pbXBvcnREYXRhKHtkYXRhfSk7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBjb25zdCB7Y29sc30gPSBhd2FpdCB0aGlzLmNyZWF0ZVRhYmxlQW5kR2V0QXJyb3coZGF0YSk7XG5cbiAgICByZXR1cm4gc3VwZXIudXBkYXRlKHtjb2xzLCByb3dzOiBbXSwgZmllbGRzOiBbXX0pO1xuICB9XG5cbiAgc3RhdGljIGdldEZpbGVQcm9jZXNzb3IgPSBmdW5jdGlvbiAoZGF0YTogYW55LCBpbnB1dEZvcm1hdD86IHN0cmluZykge1xuICAgIGxldCBwcm9jZXNzb3I7XG4gICAgbGV0IGZvcm1hdDtcbiAgICBpZiAoaW5wdXRGb3JtYXQgPT09IERBVEFTRVRfRk9STUFUUy5hcnJvdyB8fCBpc0Fycm93RGF0YShkYXRhKSkge1xuICAgICAgZm9ybWF0ID0gREFUQVNFVF9GT1JNQVRTLmFycm93O1xuICAgICAgLy8gVE9ETyBpbmplc3QgYXJyb3cgZmlsZXMgZnJvbSBkaXNrIHdpdGhvdXQgbG9hZGVyc1xuICAgICAgcHJvY2Vzc29yID0gcHJvY2Vzc0Fycm93QmF0Y2hlcztcbiAgICB9IGVsc2UgaWYgKGlucHV0Rm9ybWF0ID09PSBEQVRBU0VUX0ZPUk1BVFMua2VwbGVyZ2wgfHwgaXNLZXBsZXJHbE1hcChkYXRhKSkge1xuICAgICAgZm9ybWF0ID0gREFUQVNFVF9GT1JNQVRTLmtlcGxlcmdsO1xuICAgICAgcHJvY2Vzc29yID0gcHJvY2Vzc0tlcGxlcmdsSlNPTmZvckR1Y2tEYjtcbiAgICB9IGVsc2UgaWYgKGlucHV0Rm9ybWF0ID09PSBEQVRBU0VUX0ZPUk1BVFMucm93IHx8IGlzUm93T2JqZWN0KGRhdGEpKSB7XG4gICAgICAvLyBjc3YgZmlsZSBnb2VzIGhlcmVcbiAgICAgIGZvcm1hdCA9IERBVEFTRVRfRk9STUFUUy5yb3c7XG4gICAgICBwcm9jZXNzb3IgPSBwcm9jZXNzQ3N2Um93T2JqZWN0OyAvLyBkaXJlY3RseSBpbXBvcnQganNvbiBvYmplY3QgaW50byBkdWNrZGItd2FzbVxuICAgIH0gZWxzZSBpZiAoaW5wdXRGb3JtYXQgPT09IERBVEFTRVRfRk9STUFUUy5nZW9qc29uIHx8IGlzR2VvSnNvbihkYXRhKSkge1xuICAgICAgZm9ybWF0ID0gREFUQVNFVF9GT1JNQVRTLmdlb2pzb247XG4gICAgICBwcm9jZXNzb3IgPSBwcm9jZXNzR2VvanNvbjtcbiAgICB9XG4gICAgcmV0dXJuIHtwcm9jZXNzb3IsIGZvcm1hdH07XG4gIH07XG5cbiAgc3RhdGljIGdldElucHV0RGF0YVZhbGlkYXRvciA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gZCA9PiBkO1xuICB9O1xufVxuXG4vKipcbiAqIFRyeSB0byByZXN0b3JlIGdlb2Fycm93IG1ldGFkYXRhIGxvc3QgZHVyaW5nIER1Y2tEYiBpbmdlc3Rpb24uXG4gKiBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBjYW4gZ2VuZXJhdGUgd3JvbmcgZ2VvbWV0cnkgdHlwZXMuXG4gKiBAcGFyYW0gYXJyb3dUYWJsZSBBcnJvdyB0YWJsZSB0byB1cGRhdGUuXG4gKiBAcGFyYW0gY2FuQ2FzdFNUX2FzV0tCIEEgbWFwIHdpdGggZmllbGRzIHRoYXQgYXJlIGxpa2VseSBpbiBEZWNrREIncyBpbnRlcm5hbCBXQksgZm9ybWF0LlxuICogQHBhcmFtIGFkZFdLQk1ldGFkYXRhIEEgbWFwIHdpdGggZmllbGQgbmFtZXMgdGhhdCB1c3VhbGx5IHVzZWQgdG8gc3RvcmUgV0tCIGdlb21ldHJ5LlxuICovXG5jb25zdCByZXN0b3JlR2VvYXJyb3dNZXRhZGF0YSA9IGFzeW5jIChcbiAgYXJyb3dUYWJsZTogYXJyb3cuVGFibGUsXG4gIGNhbkNhc3RTVF9hc1dLQjogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4sXG4gIGFkZFdLQk1ldGFkYXRhOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPlxuKSA9PiB7XG4gIGFycm93VGFibGUuc2NoZW1hLmZpZWxkcy5mb3JFYWNoKGYgPT4ge1xuICAgIGlmIChhcnJvdy5EYXRhVHlwZS5pc0JpbmFyeShmLnR5cGUpICYmIChhZGRXS0JNZXRhZGF0YVtmLm5hbWVdIHx8IGNhbkNhc3RTVF9hc1dLQltmLm5hbWVdKSkge1xuICAgICAgZi5tZXRhZGF0YS5zZXQoJ0FSUk9XOmV4dGVuc2lvbjpuYW1lJywgJ2dlb2Fycm93LndrYicpO1xuICAgIH0gZWxzZSBpZiAoaXNHZW9BcnJvd1BvaW50KGYudHlwZSkpIHtcbiAgICAgIGYubWV0YWRhdGEuc2V0KCdBUlJPVzpleHRlbnNpb246bmFtZScsICdnZW9hcnJvdy5wb2ludCcpO1xuICAgIH0gZWxzZSBpZiAoaXNHZW9BcnJvd0xpbmVTdHJpbmcoZi50eXBlKSkge1xuICAgICAgZi5tZXRhZGF0YS5zZXQoJ0FSUk9XOmV4dGVuc2lvbjpuYW1lJywgJ2dlb2Fycm93LmxpbmVzdHJpbmcnKTtcbiAgICB9IGVsc2UgaWYgKGlzR2VvQXJyb3dQb2x5Z29uKGYudHlwZSkpIHtcbiAgICAgIGYubWV0YWRhdGEuc2V0KCdBUlJPVzpleHRlbnNpb246bmFtZScsICdnZW9hcnJvdy5wb2x5Z29uJyk7XG4gICAgfSBlbHNlIGlmIChpc0dlb0Fycm93TXVsdGlQb2ludChmLnR5cGUpKSB7XG4gICAgICBmLm1ldGFkYXRhLnNldCgnQVJST1c6ZXh0ZW5zaW9uOm5hbWUnLCAnZ2VvYXJyb3cubXVsdGlwb2ludCcpO1xuICAgIH0gZWxzZSBpZiAoaXNHZW9BcnJvd011bHRpTGluZVN0cmluZyhmLnR5cGUpKSB7XG4gICAgICBmLm1ldGFkYXRhLnNldCgnQVJST1c6ZXh0ZW5zaW9uOm5hbWUnLCAnZ2VvYXJyb3cubXVsdGlsaW5lc3RyaW5nJyk7XG4gICAgfSBlbHNlIGlmIChpc0dlb0Fycm93TXVsdGlQb2x5Z29uKGYudHlwZSkpIHtcbiAgICAgIGYubWV0YWRhdGEuc2V0KCdBUlJPVzpleHRlbnNpb246bmFtZScsICdnZW9hcnJvdy5tdWx0aXBvbHlnb24nKTtcbiAgICB9XG4gIH0pO1xufTtcblxuLyoqXG4gKiBGb3IgYWxsIGJpbmFyeSBjb2x1bW5zIHRyaWVzIHRvIHRyYW5zZm9ybSBnZW9tZXRyeSBmcm9tIER1Y2tEQidzIGludGVybmFsIGZvcm1hdCBpbnRvIHByb3BlciBXS0IuXG4gKiBAcGFyYW0gcHJvcHNcbiAqIEByZXR1cm5zIEEgbWFwIG9mIGZpZWxkcyB0aGF0IHNob3VsZCBiZSB0cmFuc2Zvcm1lZCB0byB2YWxpZCBXS0IuXG4gKi9cbmNvbnN0IHRyeVNUX0FzV0tCID0gYXN5bmMgKHByb3BzOiB7dGFibGVOYW1lOiBzdHJpbmc7IGM6IEFzeW5jRHVja0RCQ29ubmVjdGlvbn0pID0+IHtcbiAgY29uc3Qge2MsIHRhYmxlTmFtZX0gPSBwcm9wcztcblxuICBjb25zdCByZXN1bHRXaXRoU2NoZW1hID0gYXdhaXQgYy5xdWVyeShgXG4gICAgICAgIFNFTEVDVCAqIEZST00gJyR7dGFibGVOYW1lfScgTElNSVQgMDtcbiAgICAgIGApO1xuICBjb25zdCBiaW5hcnlDb2x1bW5zID0gcmVzdWx0V2l0aFNjaGVtYS5zY2hlbWEuZmllbGRzLmZpbHRlcihmID0+IGFycm93LkRhdGFUeXBlLmlzQmluYXJ5KGYudHlwZSkpO1xuXG4gIGNvbnN0IGNhbkNhc3RTVF9hc1dLQjogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSB7fTtcbiAgZm9yIChjb25zdCBjb2x1bW4gb2YgYmluYXJ5Q29sdW1ucykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBjb2x1bW5OYW1lID0gY29sdW1uLm5hbWU7XG4gICAgICBjb25zdCBxdWVyeSA9IGBTRUxFQ1QgKiBFWENMVURFICR7Y29sdW1uTmFtZX0sIFNUX0FzV0tCKCR7Y29sdW1uTmFtZX0pIGFzICR7Y29sdW1uTmFtZX0gRlJPTSAnJHt0YWJsZU5hbWV9JyBMSU1JVCAxO2A7XG4gICAgICBhd2FpdCBjLnF1ZXJ5KHF1ZXJ5KTtcblxuICAgICAgY2FuQ2FzdFNUX2FzV0tCW2NvbHVtbi5uYW1lXSA9IHRydWU7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNhbkNhc3RTVF9hc1dLQltjb2x1bW4ubmFtZV0gPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2FuQ2FzdFNUX2FzV0tCO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLEtBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUdBLElBQUFDLFVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQVNBLElBQUFJLEtBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGNBQUEsR0FBQUwsT0FBQTtBQU9BLElBQUFNLGlCQUFBLEdBQUFOLE9BQUE7QUFPOEIsU0FBQU8seUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEs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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kepler.gl/duckdb",
3
3
  "author": "Shan He <heshan0131@gmail.com>",
4
- "version": "3.1.0-alpha.6",
4
+ "version": "3.1.0-alpha.7",
5
5
  "description": "DuckDB plugin for Kepler.gl",
6
6
  "license": "MIT",
7
7
  "main": "dist/index.js",
@@ -26,11 +26,11 @@
26
26
  ],
27
27
  "dependencies": {
28
28
  "@duckdb/duckdb-wasm": "^1.28.0",
29
- "@kepler.gl/common-utils": "3.1.0-alpha.6",
30
- "@kepler.gl/constants": "3.1.0-alpha.6",
31
- "@kepler.gl/processors": "3.1.0-alpha.6",
32
- "@kepler.gl/table": "3.1.0-alpha.6",
33
- "@kepler.gl/types": "3.1.0-alpha.6",
29
+ "@kepler.gl/common-utils": "3.1.0-alpha.7",
30
+ "@kepler.gl/constants": "3.1.0-alpha.7",
31
+ "@kepler.gl/processors": "3.1.0-alpha.7",
32
+ "@kepler.gl/table": "3.1.0-alpha.7",
33
+ "@kepler.gl/types": "3.1.0-alpha.7",
34
34
  "@monaco-editor/react": "^4.6.0",
35
35
  "@radix-ui/react-collapsible": "^1.1.0",
36
36
  "apache-arrow": ">=15.0.0",