@kepler.gl/mcp 0.0.0-stage → 3.3.0-alpha.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/cjs/commands/add-column-command.js +192 -0
  2. package/dist/cjs/commands/basemap-command.js +80 -0
  3. package/dist/cjs/commands/boundary-command.js +81 -0
  4. package/dist/cjs/commands/command-wrappers.js +122 -0
  5. package/dist/cjs/commands/dataset-context-command.js +87 -0
  6. package/dist/cjs/commands/index.js +230 -0
  7. package/dist/cjs/commands/layer-creation-command.js +534 -0
  8. package/dist/cjs/commands/layer-style-command.js +136 -0
  9. package/dist/cjs/commands/load-data-command.js +270 -0
  10. package/dist/cjs/commands/save-data-command.js +118 -0
  11. package/dist/cjs/commands/split-view-command.js +261 -0
  12. package/dist/cjs/commands/table-command.js +199 -0
  13. package/dist/cjs/commands/time-filter-command.js +289 -0
  14. package/dist/cjs/commands/toggle-time-filter-command.js +155 -0
  15. package/dist/cjs/commands/types.js +6 -0
  16. package/dist/cjs/commands/utils.js +536 -0
  17. package/dist/cjs/commands/view-mode-command.js +94 -0
  18. package/dist/cjs/index.js +39 -0
  19. package/dist/cjs/map-contract.js +6 -0
  20. package/dist/cjs/server/bridge-server.js +435 -0
  21. package/dist/cjs/server/index.js +31 -0
  22. package/dist/cjs/server/stdio.js +201 -0
  23. package/dist/cjs/types.js +30 -0
  24. package/dist/commands/add-column-command.d.ts +4 -0
  25. package/dist/commands/basemap-command.d.ts +4 -0
  26. package/dist/commands/boundary-command.d.ts +4 -0
  27. package/dist/commands/command-wrappers.d.ts +52 -0
  28. package/dist/commands/dataset-context-command.d.ts +4 -0
  29. package/dist/commands/index.d.ts +31 -0
  30. package/dist/commands/layer-creation-command.d.ts +8 -0
  31. package/dist/commands/layer-style-command.d.ts +4 -0
  32. package/dist/commands/load-data-command.d.ts +4 -0
  33. package/dist/commands/save-data-command.d.ts +4 -0
  34. package/dist/commands/split-view-command.d.ts +4 -0
  35. package/dist/commands/table-command.d.ts +4 -0
  36. package/dist/commands/time-filter-command.d.ts +13 -0
  37. package/dist/commands/toggle-time-filter-command.d.ts +4 -0
  38. package/dist/commands/types.d.ts +132 -0
  39. package/dist/commands/utils.d.ts +138 -0
  40. package/dist/commands/view-mode-command.d.ts +4 -0
  41. package/dist/esm/commands/add-column-command.js +185 -0
  42. package/dist/esm/commands/basemap-command.js +72 -0
  43. package/dist/esm/commands/boundary-command.js +73 -0
  44. package/dist/esm/commands/command-wrappers.js +114 -0
  45. package/dist/esm/commands/dataset-context-command.js +79 -0
  46. package/dist/esm/commands/index.js +51 -0
  47. package/dist/esm/commands/layer-creation-command.js +527 -0
  48. package/dist/esm/commands/layer-style-command.js +130 -0
  49. package/dist/esm/commands/load-data-command.js +264 -0
  50. package/dist/esm/commands/save-data-command.js +112 -0
  51. package/dist/esm/commands/split-view-command.js +255 -0
  52. package/dist/esm/commands/table-command.js +194 -0
  53. package/dist/esm/commands/time-filter-command.js +280 -0
  54. package/dist/esm/commands/toggle-time-filter-command.js +147 -0
  55. package/dist/esm/commands/types.js +3 -0
  56. package/dist/esm/commands/utils.js +521 -0
  57. package/dist/esm/commands/view-mode-command.js +86 -0
  58. package/dist/esm/index.js +20 -0
  59. package/dist/esm/map-contract.js +3 -0
  60. package/dist/esm/server/bridge-server.js +428 -0
  61. package/dist/esm/server/index.js +13 -0
  62. package/dist/esm/server/stdio.js +198 -0
  63. package/dist/esm/types.js +24 -0
  64. package/dist/index.d.ts +15 -0
  65. package/dist/map-contract.d.ts +31 -0
  66. package/dist/server/bridge-server.d.ts +53 -0
  67. package/dist/server/index.d.ts +9 -0
  68. package/dist/server/stdio.d.ts +2 -0
  69. package/dist/types.d.ts +24 -0
  70. package/package.json +84 -4
  71. package/skill/kepler/SKILL.md +438 -0
  72. package/skill/kepler/skill.yaml +4 -0
  73. package/README.md +0 -3
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.datasetContextCommandId = void 0;
8
+ exports.getDatasetContextCommand = getDatasetContextCommand;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+ var _zod = require("zod");
12
+ // SPDX-License-Identifier: MIT
13
+ // Copyright contributors to the kepler.gl project
14
+
15
+ var datasetContextCommandId = exports.datasetContextCommandId = 'map.get-dataset-context';
16
+ function getDatasetContextCommand(ctx) {
17
+ return {
18
+ id: datasetContextCommandId,
19
+ name: 'Get dataset context',
20
+ group: 'Map',
21
+ description: 'Get all loaded kepler.gl datasets with their fields and layer configurations. ' + 'Returns each dataset name, id, field name→type mappings, and the layers ' + '(id, label, type, geometryMode, geometryColumns) bound to it.',
22
+ metadata: {
23
+ readOnly: true,
24
+ riskLevel: 'low',
25
+ idempotent: true
26
+ },
27
+ inputSchema: _zod.z.object({}),
28
+ execute: function () {
29
+ var _execute = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
30
+ var context, trimmed, datasets, count;
31
+ return _regenerator["default"].wrap(function _callee$(_context) {
32
+ while (1) switch (_context.prev = _context.next) {
33
+ case 0:
34
+ _context.prev = 0;
35
+ context = ctx.getDatasetContext();
36
+ if (context) {
37
+ _context.next = 4;
38
+ break;
39
+ }
40
+ return _context.abrupt("return", {
41
+ success: false,
42
+ commandId: datasetContextCommandId,
43
+ error: 'No datasets or layers available.',
44
+ data: {
45
+ instruction: 'Please ensure the kepler.gl map has loaded datasets and try again.'
46
+ }
47
+ });
48
+ case 4:
49
+ // Accept either a pure-JSON context or the two-part "human line + JSON"
50
+ // format: hosts may return either, so don't assume the first line is a
51
+ // preface.
52
+ trimmed = context.trim();
53
+ datasets = JSON.parse(trimmed.startsWith('[') || trimmed.startsWith('{') ? trimmed : context.split('\n').slice(1).join('\n'));
54
+ count = Array.isArray(datasets) ? datasets.length : Object.keys(datasets).length;
55
+ return _context.abrupt("return", {
56
+ success: true,
57
+ commandId: datasetContextCommandId,
58
+ data: {
59
+ details: "".concat(count, " dataset(s) loaded."),
60
+ datasets: datasets
61
+ }
62
+ });
63
+ case 10:
64
+ _context.prev = 10;
65
+ _context.t0 = _context["catch"](0);
66
+ return _context.abrupt("return", {
67
+ success: false,
68
+ commandId: datasetContextCommandId,
69
+ error: _context.t0 instanceof Error ? _context.t0.message : 'Unknown error',
70
+ data: {
71
+ instruction: 'Please ensure the kepler.gl map is properly loaded and try again.'
72
+ }
73
+ });
74
+ case 13:
75
+ case "end":
76
+ return _context.stop();
77
+ }
78
+ }, _callee, null, [[0, 10]]);
79
+ }));
80
+ function execute() {
81
+ return _execute.apply(this, arguments);
82
+ }
83
+ return execute;
84
+ }()
85
+ };
86
+ }
87
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfem9kIiwicmVxdWlyZSIsImRhdGFzZXRDb250ZXh0Q29tbWFuZElkIiwiZXhwb3J0cyIsImdldERhdGFzZXRDb250ZXh0Q29tbWFuZCIsImN0eCIsImlkIiwibmFtZSIsImdyb3VwIiwiZGVzY3JpcHRpb24iLCJtZXRhZGF0YSIsInJlYWRPbmx5Iiwicmlza0xldmVsIiwiaWRlbXBvdGVudCIsImlucHV0U2NoZW1hIiwieiIsIm9iamVjdCIsImV4ZWN1dGUiLCJfZXhlY3V0ZSIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwiY29udGV4dCIsInRyaW1tZWQiLCJkYXRhc2V0cyIsImNvdW50Iiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImdldERhdGFzZXRDb250ZXh0IiwiYWJydXB0Iiwic3VjY2VzcyIsImNvbW1hbmRJZCIsImVycm9yIiwiZGF0YSIsImluc3RydWN0aW9uIiwidHJpbSIsIkpTT04iLCJwYXJzZSIsInN0YXJ0c1dpdGgiLCJzcGxpdCIsInNsaWNlIiwiam9pbiIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsIk9iamVjdCIsImtleXMiLCJkZXRhaWxzIiwiY29uY2F0IiwidDAiLCJFcnJvciIsIm1lc3NhZ2UiLCJzdG9wIiwiYXBwbHkiLCJhcmd1bWVudHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvZGF0YXNldC1jb250ZXh0LWNvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHR5cGUge1Jvb21Db21tYW5kfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7en0gZnJvbSAnem9kJztcbmltcG9ydCB0eXBlIHtLZXBsZXJDb250ZXh0fSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IGRhdGFzZXRDb250ZXh0Q29tbWFuZElkID0gJ21hcC5nZXQtZGF0YXNldC1jb250ZXh0JyBhcyBjb25zdDtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldERhdGFzZXRDb250ZXh0Q29tbWFuZChjdHg6IEtlcGxlckNvbnRleHQpOiBSb29tQ29tbWFuZCB7XG4gIHJldHVybiB7XG4gICAgaWQ6IGRhdGFzZXRDb250ZXh0Q29tbWFuZElkLFxuICAgIG5hbWU6ICdHZXQgZGF0YXNldCBjb250ZXh0JyxcbiAgICBncm91cDogJ01hcCcsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICAnR2V0IGFsbCBsb2FkZWQga2VwbGVyLmdsIGRhdGFzZXRzIHdpdGggdGhlaXIgZmllbGRzIGFuZCBsYXllciBjb25maWd1cmF0aW9ucy4gJyArXG4gICAgICAnUmV0dXJucyBlYWNoIGRhdGFzZXQgbmFtZSwgaWQsIGZpZWxkIG5hbWXihpJ0eXBlIG1hcHBpbmdzLCBhbmQgdGhlIGxheWVycyAnICtcbiAgICAgICcoaWQsIGxhYmVsLCB0eXBlLCBnZW9tZXRyeU1vZGUsIGdlb21ldHJ5Q29sdW1ucykgYm91bmQgdG8gaXQuJyxcbiAgICBtZXRhZGF0YToge3JlYWRPbmx5OiB0cnVlLCByaXNrTGV2ZWw6ICdsb3cnLCBpZGVtcG90ZW50OiB0cnVlfSxcbiAgICBpbnB1dFNjaGVtYTogei5vYmplY3Qoe30pIGFzIGFueSxcbiAgICBleGVjdXRlOiBhc3luYyAoKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBjb250ZXh0ID0gY3R4LmdldERhdGFzZXRDb250ZXh0KCk7XG4gICAgICAgIGlmICghY29udGV4dCkge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgICAgIGNvbW1hbmRJZDogZGF0YXNldENvbnRleHRDb21tYW5kSWQsXG4gICAgICAgICAgICBlcnJvcjogJ05vIGRhdGFzZXRzIG9yIGxheWVycyBhdmFpbGFibGUuJyxcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgaW5zdHJ1Y3Rpb246ICdQbGVhc2UgZW5zdXJlIHRoZSBrZXBsZXIuZ2wgbWFwIGhhcyBsb2FkZWQgZGF0YXNldHMgYW5kIHRyeSBhZ2Fpbi4nXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICAvLyBBY2NlcHQgZWl0aGVyIGEgcHVyZS1KU09OIGNvbnRleHQgb3IgdGhlIHR3by1wYXJ0IFwiaHVtYW4gbGluZSArIEpTT05cIlxuICAgICAgICAvLyBmb3JtYXQ6IGhvc3RzIG1heSByZXR1cm4gZWl0aGVyLCBzbyBkb24ndCBhc3N1bWUgdGhlIGZpcnN0IGxpbmUgaXMgYVxuICAgICAgICAvLyBwcmVmYWNlLlxuICAgICAgICBjb25zdCB0cmltbWVkID0gY29udGV4dC50cmltKCk7XG4gICAgICAgIGNvbnN0IGRhdGFzZXRzID0gSlNPTi5wYXJzZShcbiAgICAgICAgICB0cmltbWVkLnN0YXJ0c1dpdGgoJ1snKSB8fCB0cmltbWVkLnN0YXJ0c1dpdGgoJ3snKVxuICAgICAgICAgICAgPyB0cmltbWVkXG4gICAgICAgICAgICA6IGNvbnRleHQuc3BsaXQoJ1xcbicpLnNsaWNlKDEpLmpvaW4oJ1xcbicpXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGNvdW50ID0gQXJyYXkuaXNBcnJheShkYXRhc2V0cykgPyBkYXRhc2V0cy5sZW5ndGggOiBPYmplY3Qua2V5cyhkYXRhc2V0cykubGVuZ3RoO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgICAgY29tbWFuZElkOiBkYXRhc2V0Q29udGV4dENvbW1hbmRJZCxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICBkZXRhaWxzOiBgJHtjb3VudH0gZGF0YXNldChzKSBsb2FkZWQuYCxcbiAgICAgICAgICAgIGRhdGFzZXRzXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgICBjb21tYW5kSWQ6IGRhdGFzZXRDb250ZXh0Q29tbWFuZElkLFxuICAgICAgICAgIGVycm9yOiBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJyxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICBpbnN0cnVjdGlvbjogJ1BsZWFzZSBlbnN1cmUgdGhlIGtlcGxlci5nbCBtYXAgaXMgcHJvcGVybHkgbG9hZGVkIGFuZCB0cnkgYWdhaW4uJ1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFJQSxJQUFBQSxJQUFBLEdBQUFDLE9BQUE7QUFKQTtBQUNBOztBQU1PLElBQU1DLHVCQUF1QixHQUFBQyxPQUFBLENBQUFELHVCQUFBLEdBQUcseUJBQWtDO0FBRWxFLFNBQVNFLHdCQUF3QkEsQ0FBQ0MsR0FBa0IsRUFBZTtFQUN4RSxPQUFPO0lBQ0xDLEVBQUUsRUFBRUosdUJBQXVCO0lBQzNCSyxJQUFJLEVBQUUscUJBQXFCO0lBQzNCQyxLQUFLLEVBQUUsS0FBSztJQUNaQyxXQUFXLEVBQ1QsZ0ZBQWdGLEdBQ2hGLDBFQUEwRSxHQUMxRSwrREFBK0Q7SUFDakVDLFFBQVEsRUFBRTtNQUFDQyxRQUFRLEVBQUUsSUFBSTtNQUFFQyxTQUFTLEVBQUUsS0FBSztNQUFFQyxVQUFVLEVBQUU7SUFBSSxDQUFDO0lBQzlEQyxXQUFXLEVBQUVDLE1BQUMsQ0FBQ0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFRO0lBQ2hDQyxPQUFPO01BQUEsSUFBQUMsUUFBQSxPQUFBQyxrQkFBQSwwQkFBQUMsWUFBQSxZQUFBQyxJQUFBLENBQUUsU0FBQUMsUUFBQTtRQUFBLElBQUFDLE9BQUEsRUFBQUMsT0FBQSxFQUFBQyxRQUFBLEVBQUFDLEtBQUE7UUFBQSxPQUFBTixZQUFBLFlBQUFPLElBQUEsVUFBQUMsU0FBQUMsUUFBQTtVQUFBLGtCQUFBQSxRQUFBLENBQUFDLElBQUEsR0FBQUQsUUFBQSxDQUFBRSxJQUFBO1lBQUE7Y0FBQUYsUUFBQSxDQUFBQyxJQUFBO2NBRUNQLE9BQU8sR0FBR2xCLEdBQUcsQ0FBQzJCLGlCQUFpQixDQUFDLENBQUM7Y0FBQSxJQUNsQ1QsT0FBTztnQkFBQU0sUUFBQSxDQUFBRSxJQUFBO2dCQUFBO2NBQUE7Y0FBQSxPQUFBRixRQUFBLENBQUFJLE1BQUEsV0FDSDtnQkFDTEMsT0FBTyxFQUFFLEtBQUs7Z0JBQ2RDLFNBQVMsRUFBRWpDLHVCQUF1QjtnQkFDbENrQyxLQUFLLEVBQUUsa0NBQWtDO2dCQUN6Q0MsSUFBSSxFQUFFO2tCQUNKQyxXQUFXLEVBQUU7Z0JBQ2Y7Y0FDRixDQUFDO1lBQUE7Y0FFSDtjQUNBO2NBQ0E7Y0FDTWQsT0FBTyxHQUFHRCxPQUFPLENBQUNnQixJQUFJLENBQUMsQ0FBQztjQUN4QmQsUUFBUSxHQUFHZSxJQUFJLENBQUNDLEtBQUssQ0FDekJqQixPQUFPLENBQUNrQixVQUFVLENBQUMsR0FBRyxDQUFDLElBQUlsQixPQUFPLENBQUNrQixVQUFVLENBQUMsR0FBRyxDQUFDLEdBQzlDbEIsT0FBTyxHQUNQRCxPQUFPLENBQUNvQixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUNDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLElBQUksQ0FDNUMsQ0FBQztjQUNLbkIsS0FBSyxHQUFHb0IsS0FBSyxDQUFDQyxPQUFPLENBQUN0QixRQUFRLENBQUMsR0FBR0EsUUFBUSxDQUFDdUIsTUFBTSxHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQ3pCLFFBQVEsQ0FBQyxDQUFDdUIsTUFBTTtjQUFBLE9BQUFuQixRQUFBLENBQUFJLE1BQUEsV0FDL0U7Z0JBQ0xDLE9BQU8sRUFBRSxJQUFJO2dCQUNiQyxTQUFTLEVBQUVqQyx1QkFBdUI7Z0JBQ2xDbUMsSUFBSSxFQUFFO2tCQUNKYyxPQUFPLEtBQUFDLE1BQUEsQ0FBSzFCLEtBQUssd0JBQXFCO2tCQUN0Q0QsUUFBUSxFQUFSQTtnQkFDRjtjQUNGLENBQUM7WUFBQTtjQUFBSSxRQUFBLENBQUFDLElBQUE7Y0FBQUQsUUFBQSxDQUFBd0IsRUFBQSxHQUFBeEIsUUFBQTtjQUFBLE9BQUFBLFFBQUEsQ0FBQUksTUFBQSxXQUVNO2dCQUNMQyxPQUFPLEVBQUUsS0FBSztnQkFDZEMsU0FBUyxFQUFFakMsdUJBQXVCO2dCQUNsQ2tDLEtBQUssRUFBRVAsUUFBQSxDQUFBd0IsRUFBQSxZQUFpQkMsS0FBSyxHQUFHekIsUUFBQSxDQUFBd0IsRUFBQSxDQUFNRSxPQUFPLEdBQUcsZUFBZTtnQkFDL0RsQixJQUFJLEVBQUU7a0JBQ0pDLFdBQVcsRUFBRTtnQkFDZjtjQUNGLENBQUM7WUFBQTtZQUFBO2NBQUEsT0FBQVQsUUFBQSxDQUFBMkIsSUFBQTtVQUFBO1FBQUEsR0FBQWxDLE9BQUE7TUFBQSxDQUVKO01BQUEsU0F6Q0RMLE9BQU9BLENBQUE7UUFBQSxPQUFBQyxRQUFBLENBQUF1QyxLQUFBLE9BQUFDLFNBQUE7TUFBQTtNQUFBLE9BQVB6QyxPQUFPO0lBQUE7RUEwQ1QsQ0FBQztBQUNIIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.KEPLER_COMMAND_OWNER = void 0;
7
+ Object.defineProperty(exports, "LLM_PREVIEW_MAX_TOTAL_LENGTH", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _utils.LLM_PREVIEW_MAX_TOTAL_LENGTH;
11
+ }
12
+ });
13
+ Object.defineProperty(exports, "LLM_PREVIEW_MAX_VALUE_LENGTH", {
14
+ enumerable: true,
15
+ get: function get() {
16
+ return _utils.LLM_PREVIEW_MAX_VALUE_LENGTH;
17
+ }
18
+ });
19
+ Object.defineProperty(exports, "NUMBER_OF_ROWS_RETURN_TO_LLM", {
20
+ enumerable: true,
21
+ get: function get() {
22
+ return _utils.NUMBER_OF_ROWS_RETURN_TO_LLM;
23
+ }
24
+ });
25
+ Object.defineProperty(exports, "arrowTableToObjects", {
26
+ enumerable: true,
27
+ get: function get() {
28
+ return _utils.arrowTableToObjects;
29
+ }
30
+ });
31
+ Object.defineProperty(exports, "asInputSchema", {
32
+ enumerable: true,
33
+ get: function get() {
34
+ return _commandWrappers.asInputSchema;
35
+ }
36
+ });
37
+ Object.defineProperty(exports, "buildAddColumnPayload", {
38
+ enumerable: true,
39
+ get: function get() {
40
+ return _utils.buildAddColumnPayload;
41
+ }
42
+ });
43
+ Object.defineProperty(exports, "convertArrowRowToObject", {
44
+ enumerable: true,
45
+ get: function get() {
46
+ return _utils.convertArrowRowToObject;
47
+ }
48
+ });
49
+ Object.defineProperty(exports, "datasetNameToTableName", {
50
+ enumerable: true,
51
+ get: function get() {
52
+ return _utils.datasetNameToTableName;
53
+ }
54
+ });
55
+ Object.defineProperty(exports, "formatResultsForLLM", {
56
+ enumerable: true,
57
+ get: function get() {
58
+ return _utils.formatResultsForLLM;
59
+ }
60
+ });
61
+ Object.defineProperty(exports, "getAddColumnCommand", {
62
+ enumerable: true,
63
+ get: function get() {
64
+ return _addColumnCommand.getAddColumnCommand;
65
+ }
66
+ });
67
+ Object.defineProperty(exports, "getAddLayerCommand", {
68
+ enumerable: true,
69
+ get: function get() {
70
+ return _layerCreationCommand.getAddLayerCommand;
71
+ }
72
+ });
73
+ Object.defineProperty(exports, "getAddTimeFilterCommand", {
74
+ enumerable: true,
75
+ get: function get() {
76
+ return _timeFilterCommand.getAddTimeFilterCommand;
77
+ }
78
+ });
79
+ Object.defineProperty(exports, "getBasemapCommand", {
80
+ enumerable: true,
81
+ get: function get() {
82
+ return _basemapCommand.getBasemapCommand;
83
+ }
84
+ });
85
+ Object.defineProperty(exports, "getDatasetContextCommand", {
86
+ enumerable: true,
87
+ get: function get() {
88
+ return _datasetContextCommand.getDatasetContextCommand;
89
+ }
90
+ });
91
+ exports.getKeplerCommands = getKeplerCommands;
92
+ Object.defineProperty(exports, "getLoadDataCommand", {
93
+ enumerable: true,
94
+ get: function get() {
95
+ return _loadDataCommand.getLoadDataCommand;
96
+ }
97
+ });
98
+ Object.defineProperty(exports, "getMapBoundaryCommand", {
99
+ enumerable: true,
100
+ get: function get() {
101
+ return _boundaryCommand.getMapBoundaryCommand;
102
+ }
103
+ });
104
+ Object.defineProperty(exports, "getSaveDataCommand", {
105
+ enumerable: true,
106
+ get: function get() {
107
+ return _saveDataCommand.getSaveDataCommand;
108
+ }
109
+ });
110
+ Object.defineProperty(exports, "getSplitViewCommand", {
111
+ enumerable: true,
112
+ get: function get() {
113
+ return _splitViewCommand.getSplitViewCommand;
114
+ }
115
+ });
116
+ Object.defineProperty(exports, "getTableCommand", {
117
+ enumerable: true,
118
+ get: function get() {
119
+ return _tableCommand.getTableCommand;
120
+ }
121
+ });
122
+ Object.defineProperty(exports, "getToggleTimeFilterCommand", {
123
+ enumerable: true,
124
+ get: function get() {
125
+ return _toggleTimeFilterCommand.getToggleTimeFilterCommand;
126
+ }
127
+ });
128
+ Object.defineProperty(exports, "getUpdateLayerColorCommand", {
129
+ enumerable: true,
130
+ get: function get() {
131
+ return _layerStyleCommand.getUpdateLayerColorCommand;
132
+ }
133
+ });
134
+ Object.defineProperty(exports, "getValuesFromDataset", {
135
+ enumerable: true,
136
+ get: function get() {
137
+ return _utils.getValuesFromDataset;
138
+ }
139
+ });
140
+ Object.defineProperty(exports, "getValuesFromVectorTileLayer", {
141
+ enumerable: true,
142
+ get: function get() {
143
+ return _utils.getValuesFromVectorTileLayer;
144
+ }
145
+ });
146
+ Object.defineProperty(exports, "getViewModeCommand", {
147
+ enumerable: true,
148
+ get: function get() {
149
+ return _viewModeCommand.getViewModeCommand;
150
+ }
151
+ });
152
+ Object.defineProperty(exports, "guessDefaultLayer", {
153
+ enumerable: true,
154
+ get: function get() {
155
+ return _layerCreationCommand.guessDefaultLayer;
156
+ }
157
+ });
158
+ Object.defineProperty(exports, "isObjectColumn", {
159
+ enumerable: true,
160
+ get: function get() {
161
+ return _utils.isObjectColumn;
162
+ }
163
+ });
164
+ Object.defineProperty(exports, "isVectorTileLayer", {
165
+ enumerable: true,
166
+ get: function get() {
167
+ return _utils.isVectorTileLayer;
168
+ }
169
+ });
170
+ Object.defineProperty(exports, "restoreObjectColumns", {
171
+ enumerable: true,
172
+ get: function get() {
173
+ return _utils.restoreObjectColumns;
174
+ }
175
+ });
176
+ Object.defineProperty(exports, "stringifyObjectColumn", {
177
+ enumerable: true,
178
+ get: function get() {
179
+ return _utils.stringifyObjectColumn;
180
+ }
181
+ });
182
+ Object.defineProperty(exports, "tableToLLMResult", {
183
+ enumerable: true,
184
+ get: function get() {
185
+ return _utils.tableToLLMResult;
186
+ }
187
+ });
188
+ Object.defineProperty(exports, "toolToCommand", {
189
+ enumerable: true,
190
+ get: function get() {
191
+ return _commandWrappers.toolToCommand;
192
+ }
193
+ });
194
+ var _basemapCommand = require("./basemap-command");
195
+ var _viewModeCommand = require("./view-mode-command");
196
+ var _boundaryCommand = require("./boundary-command");
197
+ var _layerCreationCommand = require("./layer-creation-command");
198
+ var _layerStyleCommand = require("./layer-style-command");
199
+ var _loadDataCommand = require("./load-data-command");
200
+ var _saveDataCommand = require("./save-data-command");
201
+ var _tableCommand = require("./table-command");
202
+ var _addColumnCommand = require("./add-column-command");
203
+ var _timeFilterCommand = require("./time-filter-command");
204
+ var _toggleTimeFilterCommand = require("./toggle-time-filter-command");
205
+ var _splitViewCommand = require("./split-view-command");
206
+ var _datasetContextCommand = require("./dataset-context-command");
207
+ var _commandWrappers = require("./command-wrappers");
208
+ var _utils = require("./utils");
209
+ // SPDX-License-Identifier: MIT
210
+ // Copyright contributors to the kepler.gl project
211
+
212
+ /**
213
+ * Owner string under which all kepler-ai commands are registered in the
214
+ * room-store command registry. Used by `registerCommandsForOwner` /
215
+ * `unregisterCommandsForOwner` in the host's store wiring.
216
+ */
217
+ var KEPLER_COMMAND_OWNER = exports.KEPLER_COMMAND_OWNER = 'kepler-ai';
218
+
219
+ /**
220
+ * Build the kepler-gl map-mutation commands for a given `KeplerContext`.
221
+ * Returns a map keyed by command id (e.g. `map.set-basemap`) so the registry
222
+ * registration is a flat merge.
223
+ */
224
+ function getKeplerCommands(ctx) {
225
+ var commands = [(0, _basemapCommand.getBasemapCommand)(ctx), (0, _viewModeCommand.getViewModeCommand)(ctx), (0, _boundaryCommand.getMapBoundaryCommand)(ctx), (0, _layerCreationCommand.getAddLayerCommand)(ctx), (0, _layerStyleCommand.getUpdateLayerColorCommand)(ctx), (0, _loadDataCommand.getLoadDataCommand)(ctx), (0, _saveDataCommand.getSaveDataCommand)(ctx), (0, _tableCommand.getTableCommand)(ctx), (0, _addColumnCommand.getAddColumnCommand)(ctx), (0, _timeFilterCommand.getAddTimeFilterCommand)(ctx), (0, _toggleTimeFilterCommand.getToggleTimeFilterCommand)(ctx), (0, _splitViewCommand.getSplitViewCommand)(ctx), (0, _datasetContextCommand.getDatasetContextCommand)(ctx)];
226
+ return Object.fromEntries(commands.map(function (c) {
227
+ return [c.id, c];
228
+ }));
229
+ }
230
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfYmFzZW1hcENvbW1hbmQiLCJyZXF1aXJlIiwiX3ZpZXdNb2RlQ29tbWFuZCIsIl9ib3VuZGFyeUNvbW1hbmQiLCJfbGF5ZXJDcmVhdGlvbkNvbW1hbmQiLCJfbGF5ZXJTdHlsZUNvbW1hbmQiLCJfbG9hZERhdGFDb21tYW5kIiwiX3NhdmVEYXRhQ29tbWFuZCIsIl90YWJsZUNvbW1hbmQiLCJfYWRkQ29sdW1uQ29tbWFuZCIsIl90aW1lRmlsdGVyQ29tbWFuZCIsIl90b2dnbGVUaW1lRmlsdGVyQ29tbWFuZCIsIl9zcGxpdFZpZXdDb21tYW5kIiwiX2RhdGFzZXRDb250ZXh0Q29tbWFuZCIsIl9jb21tYW5kV3JhcHBlcnMiLCJfdXRpbHMiLCJLRVBMRVJfQ09NTUFORF9PV05FUiIsImV4cG9ydHMiLCJnZXRLZXBsZXJDb21tYW5kcyIsImN0eCIsImNvbW1hbmRzIiwiZ2V0QmFzZW1hcENvbW1hbmQiLCJnZXRWaWV3TW9kZUNvbW1hbmQiLCJnZXRNYXBCb3VuZGFyeUNvbW1hbmQiLCJnZXRBZGRMYXllckNvbW1hbmQiLCJnZXRVcGRhdGVMYXllckNvbG9yQ29tbWFuZCIsImdldExvYWREYXRhQ29tbWFuZCIsImdldFNhdmVEYXRhQ29tbWFuZCIsImdldFRhYmxlQ29tbWFuZCIsImdldEFkZENvbHVtbkNvbW1hbmQiLCJnZXRBZGRUaW1lRmlsdGVyQ29tbWFuZCIsImdldFRvZ2dsZVRpbWVGaWx0ZXJDb21tYW5kIiwiZ2V0U3BsaXRWaWV3Q29tbWFuZCIsImdldERhdGFzZXRDb250ZXh0Q29tbWFuZCIsIk9iamVjdCIsImZyb21FbnRyaWVzIiwibWFwIiwiYyIsImlkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB0eXBlIHtSb29tQ29tbWFuZH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgdHlwZSB7S2VwbGVyQ29udGV4dH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQge2dldEJhc2VtYXBDb21tYW5kfSBmcm9tICcuL2Jhc2VtYXAtY29tbWFuZCc7XG5pbXBvcnQge2dldFZpZXdNb2RlQ29tbWFuZH0gZnJvbSAnLi92aWV3LW1vZGUtY29tbWFuZCc7XG5pbXBvcnQge2dldE1hcEJvdW5kYXJ5Q29tbWFuZH0gZnJvbSAnLi9ib3VuZGFyeS1jb21tYW5kJztcbmltcG9ydCB7Z2V0QWRkTGF5ZXJDb21tYW5kfSBmcm9tICcuL2xheWVyLWNyZWF0aW9uLWNvbW1hbmQnO1xuaW1wb3J0IHtnZXRVcGRhdGVMYXllckNvbG9yQ29tbWFuZH0gZnJvbSAnLi9sYXllci1zdHlsZS1jb21tYW5kJztcbmltcG9ydCB7Z2V0TG9hZERhdGFDb21tYW5kfSBmcm9tICcuL2xvYWQtZGF0YS1jb21tYW5kJztcbmltcG9ydCB7Z2V0U2F2ZURhdGFDb21tYW5kfSBmcm9tICcuL3NhdmUtZGF0YS1jb21tYW5kJztcbmltcG9ydCB7Z2V0VGFibGVDb21tYW5kfSBmcm9tICcuL3RhYmxlLWNvbW1hbmQnO1xuaW1wb3J0IHtnZXRBZGRDb2x1bW5Db21tYW5kfSBmcm9tICcuL2FkZC1jb2x1bW4tY29tbWFuZCc7XG5pbXBvcnQge2dldEFkZFRpbWVGaWx0ZXJDb21tYW5kfSBmcm9tICcuL3RpbWUtZmlsdGVyLWNvbW1hbmQnO1xuaW1wb3J0IHtnZXRUb2dnbGVUaW1lRmlsdGVyQ29tbWFuZH0gZnJvbSAnLi90b2dnbGUtdGltZS1maWx0ZXItY29tbWFuZCc7XG5pbXBvcnQge2dldFNwbGl0Vmlld0NvbW1hbmR9IGZyb20gJy4vc3BsaXQtdmlldy1jb21tYW5kJztcbmltcG9ydCB7Z2V0RGF0YXNldENvbnRleHRDb21tYW5kfSBmcm9tICcuL2RhdGFzZXQtY29udGV4dC1jb21tYW5kJztcblxuLyoqXG4gKiBPd25lciBzdHJpbmcgdW5kZXIgd2hpY2ggYWxsIGtlcGxlci1haSBjb21tYW5kcyBhcmUgcmVnaXN0ZXJlZCBpbiB0aGVcbiAqIHJvb20tc3RvcmUgY29tbWFuZCByZWdpc3RyeS4gVXNlZCBieSBgcmVnaXN0ZXJDb21tYW5kc0Zvck93bmVyYCAvXG4gKiBgdW5yZWdpc3RlckNvbW1hbmRzRm9yT3duZXJgIGluIHRoZSBob3N0J3Mgc3RvcmUgd2lyaW5nLlxuICovXG5leHBvcnQgY29uc3QgS0VQTEVSX0NPTU1BTkRfT1dORVIgPSAna2VwbGVyLWFpJztcblxuLyoqXG4gKiBCdWlsZCB0aGUga2VwbGVyLWdsIG1hcC1tdXRhdGlvbiBjb21tYW5kcyBmb3IgYSBnaXZlbiBgS2VwbGVyQ29udGV4dGAuXG4gKiBSZXR1cm5zIGEgbWFwIGtleWVkIGJ5IGNvbW1hbmQgaWQgKGUuZy4gYG1hcC5zZXQtYmFzZW1hcGApIHNvIHRoZSByZWdpc3RyeVxuICogcmVnaXN0cmF0aW9uIGlzIGEgZmxhdCBtZXJnZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEtlcGxlckNvbW1hbmRzKGN0eDogS2VwbGVyQ29udGV4dCk6IFJlY29yZDxzdHJpbmcsIFJvb21Db21tYW5kPiB7XG4gIGNvbnN0IGNvbW1hbmRzID0gW1xuICAgIGdldEJhc2VtYXBDb21tYW5kKGN0eCksXG4gICAgZ2V0Vmlld01vZGVDb21tYW5kKGN0eCksXG4gICAgZ2V0TWFwQm91bmRhcnlDb21tYW5kKGN0eCksXG4gICAgZ2V0QWRkTGF5ZXJDb21tYW5kKGN0eCksXG4gICAgZ2V0VXBkYXRlTGF5ZXJDb2xvckNvbW1hbmQoY3R4KSxcbiAgICBnZXRMb2FkRGF0YUNvbW1hbmQoY3R4KSxcbiAgICBnZXRTYXZlRGF0YUNvbW1hbmQoY3R4KSxcbiAgICBnZXRUYWJsZUNvbW1hbmQoY3R4KSxcbiAgICBnZXRBZGRDb2x1bW5Db21tYW5kKGN0eCksXG4gICAgZ2V0QWRkVGltZUZpbHRlckNvbW1hbmQoY3R4KSxcbiAgICBnZXRUb2dnbGVUaW1lRmlsdGVyQ29tbWFuZChjdHgpLFxuICAgIGdldFNwbGl0Vmlld0NvbW1hbmQoY3R4KSxcbiAgICBnZXREYXRhc2V0Q29udGV4dENvbW1hbmQoY3R4KVxuICBdO1xuICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKGNvbW1hbmRzLm1hcChjID0+IFtjLmlkLCBjXSkpO1xufVxuXG5leHBvcnQge2dldEJhc2VtYXBDb21tYW5kfSBmcm9tICcuL2Jhc2VtYXAtY29tbWFuZCc7XG5leHBvcnQge2dldFZpZXdNb2RlQ29tbWFuZH0gZnJvbSAnLi92aWV3LW1vZGUtY29tbWFuZCc7XG5leHBvcnQge2dldE1hcEJvdW5kYXJ5Q29tbWFuZH0gZnJvbSAnLi9ib3VuZGFyeS1jb21tYW5kJztcbmV4cG9ydCB7Z2V0QWRkTGF5ZXJDb21tYW5kLCBndWVzc0RlZmF1bHRMYXllcn0gZnJvbSAnLi9sYXllci1jcmVhdGlvbi1jb21tYW5kJztcbmV4cG9ydCB7Z2V0VXBkYXRlTGF5ZXJDb2xvckNvbW1hbmR9IGZyb20gJy4vbGF5ZXItc3R5bGUtY29tbWFuZCc7XG5leHBvcnQge2dldExvYWREYXRhQ29tbWFuZH0gZnJvbSAnLi9sb2FkLWRhdGEtY29tbWFuZCc7XG5leHBvcnQge2dldFNhdmVEYXRhQ29tbWFuZH0gZnJvbSAnLi9zYXZlLWRhdGEtY29tbWFuZCc7XG5leHBvcnQge2dldFRhYmxlQ29tbWFuZH0gZnJvbSAnLi90YWJsZS1jb21tYW5kJztcbmV4cG9ydCB7Z2V0QWRkQ29sdW1uQ29tbWFuZH0gZnJvbSAnLi9hZGQtY29sdW1uLWNvbW1hbmQnO1xuZXhwb3J0IHtnZXRBZGRUaW1lRmlsdGVyQ29tbWFuZH0gZnJvbSAnLi90aW1lLWZpbHRlci1jb21tYW5kJztcbmV4cG9ydCB7Z2V0VG9nZ2xlVGltZUZpbHRlckNvbW1hbmR9IGZyb20gJy4vdG9nZ2xlLXRpbWUtZmlsdGVyLWNvbW1hbmQnO1xuZXhwb3J0IHtnZXRTcGxpdFZpZXdDb21tYW5kfSBmcm9tICcuL3NwbGl0LXZpZXctY29tbWFuZCc7XG5leHBvcnQge2dldERhdGFzZXRDb250ZXh0Q29tbWFuZH0gZnJvbSAnLi9kYXRhc2V0LWNvbnRleHQtY29tbWFuZCc7XG5leHBvcnQge3Rvb2xUb0NvbW1hbmQsIGFzSW5wdXRTY2hlbWF9IGZyb20gJy4vY29tbWFuZC13cmFwcGVycyc7XG5leHBvcnQgdHlwZSB7QW55VG9vbCwgQ29tbWFuZE1ldGF9IGZyb20gJy4vY29tbWFuZC13cmFwcGVycyc7XG5leHBvcnQgdHlwZSB7XG4gIEtlcGxlckNvbnRleHQsXG4gIEtlcGxlclN0YXRlQWNjZXNzb3JzLFxuICBWaXNTdGF0ZSxcbiAgUm9vbUNvbW1hbmRSZXN1bHQsXG4gIFJvb21Db21tYW5kRXhlY3V0ZU91dHB1dCxcbiAgVG9vbERlc2NyaXB0b3Jcbn0gZnJvbSAnLi90eXBlcyc7XG5leHBvcnQge1xuICBkYXRhc2V0TmFtZVRvVGFibGVOYW1lLFxuICBjb252ZXJ0QXJyb3dSb3dUb09iamVjdCxcbiAgYXJyb3dUYWJsZVRvT2JqZWN0cyxcbiAgdGFibGVUb0xMTVJlc3VsdCxcbiAgZm9ybWF0UmVzdWx0c0ZvckxMTSxcbiAgTlVNQkVSX09GX1JPV1NfUkVUVVJOX1RPX0xMTSxcbiAgTExNX1BSRVZJRVdfTUFYX1RPVEFMX0xFTkdUSCxcbiAgTExNX1BSRVZJRVdfTUFYX1ZBTFVFX0xFTkdUSCxcbiAgZ2V0VmFsdWVzRnJvbURhdGFzZXQsXG4gIGdldFZhbHVlc0Zyb21WZWN0b3JUaWxlTGF5ZXIsXG4gIGlzT2JqZWN0Q29sdW1uLFxuICBpc1ZlY3RvclRpbGVMYXllcixcbiAgc3RyaW5naWZ5T2JqZWN0Q29sdW1uLFxuICByZXN0b3JlT2JqZWN0Q29sdW1ucyxcbiAgYnVpbGRBZGRDb2x1bW5QYXlsb2FkXG59IGZyb20gJy4vdXRpbHMnO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBS0EsSUFBQUEsZUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZ0JBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGdCQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxxQkFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksa0JBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGdCQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxnQkFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sYUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsaUJBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLGtCQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSx3QkFBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsaUJBQUEsR0FBQVgsT0FBQTtBQUNBLElBQUFZLHNCQUFBLEdBQUFaLE9BQUE7QUE4Q0EsSUFBQWEsZ0JBQUEsR0FBQWIsT0FBQTtBQVVBLElBQUFjLE1BQUEsR0FBQWQsT0FBQTtBQXpFQTtBQUNBOztBQWtCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sSUFBTWUsb0JBQW9CLEdBQUFDLE9BQUEsQ0FBQUQsb0JBQUEsR0FBRyxXQUFXOztBQUUvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sU0FBU0UsaUJBQWlCQSxDQUFDQyxHQUFrQixFQUErQjtFQUNqRixJQUFNQyxRQUFRLEdBQUcsQ0FDZixJQUFBQyxpQ0FBaUIsRUFBQ0YsR0FBRyxDQUFDLEVBQ3RCLElBQUFHLG1DQUFrQixFQUFDSCxHQUFHLENBQUMsRUFDdkIsSUFBQUksc0NBQXFCLEVBQUNKLEdBQUcsQ0FBQyxFQUMxQixJQUFBSyx3Q0FBa0IsRUFBQ0wsR0FBRyxDQUFDLEVBQ3ZCLElBQUFNLDZDQUEwQixFQUFDTixHQUFHLENBQUMsRUFDL0IsSUFBQU8sbUNBQWtCLEVBQUNQLEdBQUcsQ0FBQyxFQUN2QixJQUFBUSxtQ0FBa0IsRUFBQ1IsR0FBRyxDQUFDLEVBQ3ZCLElBQUFTLDZCQUFlLEVBQUNULEdBQUcsQ0FBQyxFQUNwQixJQUFBVSxxQ0FBbUIsRUFBQ1YsR0FBRyxDQUFDLEVBQ3hCLElBQUFXLDBDQUF1QixFQUFDWCxHQUFHLENBQUMsRUFDNUIsSUFBQVksbURBQTBCLEVBQUNaLEdBQUcsQ0FBQyxFQUMvQixJQUFBYSxxQ0FBbUIsRUFBQ2IsR0FBRyxDQUFDLEVBQ3hCLElBQUFjLCtDQUF3QixFQUFDZCxHQUFHLENBQUMsQ0FDOUI7RUFDRCxPQUFPZSxNQUFNLENBQUNDLFdBQVcsQ0FBQ2YsUUFBUSxDQUFDZ0IsR0FBRyxDQUFDLFVBQUFDLENBQUM7SUFBQSxPQUFJLENBQUNBLENBQUMsQ0FBQ0MsRUFBRSxFQUFFRCxDQUFDLENBQUM7RUFBQSxFQUFDLENBQUM7QUFDekQiLCJpZ25vcmVMaXN0IjpbXX0=