kepler.gl 3.1.7 → 3.1.8

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 (136) hide show
  1. package/dist/src/actions/src/ui-state-actions.d.ts +0 -16
  2. package/dist/src/actions/src/vis-state-actions.d.ts +26 -0
  3. package/dist/src/ai-assistant/src/constants.d.ts +2 -5
  4. package/dist/src/ai-assistant/src/tools/geo-tools.d.ts +76 -25
  5. package/dist/src/ai-assistant/src/tools/tools.d.ts +76 -25
  6. package/dist/src/components/src/side-panel/add-by-dataset-button.d.ts +0 -1
  7. package/dist/src/duckdb/src/table/duckdb-table-utils.d.ts +8 -9
  8. package/dist/src/localization/src/translations/ca.d.ts +2 -0
  9. package/dist/src/localization/src/translations/cn.d.ts +2 -0
  10. package/dist/src/localization/src/translations/en.d.ts +2 -0
  11. package/dist/src/localization/src/translations/es.d.ts +2 -0
  12. package/dist/src/localization/src/translations/fi.d.ts +2 -0
  13. package/dist/src/localization/src/translations/ja.d.ts +2 -0
  14. package/dist/src/localization/src/translations/pt.d.ts +2 -0
  15. package/dist/src/localization/src/translations/ru.d.ts +2 -0
  16. package/dist/src/reducers/src/ui-state-updaters.d.ts +0 -10
  17. package/dist/src/reducers/src/vis-state-updaters.d.ts +16 -1
  18. package/dist/src/reducers/src/vis-state.d.ts +4 -0
  19. package/dist/src/schemas/src/vis-state-schema.d.ts +1 -0
  20. package/package.json +2 -2
  21. package/src/actions/dist/ui-state-actions.d.ts +0 -16
  22. package/src/actions/dist/ui-state-actions.js +2 -17
  23. package/src/actions/dist/vis-state-actions.d.ts +26 -0
  24. package/src/actions/dist/vis-state-actions.js +25 -1
  25. package/src/actions/package.json +8 -8
  26. package/src/actions/src/ui-state-actions.ts +0 -22
  27. package/src/actions/src/vis-state-actions.ts +30 -0
  28. package/src/ai-assistant/dist/components/ai-assistant-component.js +63 -4
  29. package/src/ai-assistant/dist/components/ai-assistant-config.js +55 -17
  30. package/src/ai-assistant/dist/constants.d.ts +2 -5
  31. package/src/ai-assistant/dist/constants.js +3 -21
  32. package/src/ai-assistant/dist/reducers/index.js +2 -2
  33. package/src/ai-assistant/dist/tools/geo-tools.d.ts +76 -25
  34. package/src/ai-assistant/dist/tools/geo-tools.js +44 -8
  35. package/src/ai-assistant/dist/tools/lisa-tool.js +17 -6
  36. package/src/ai-assistant/dist/tools/tools.d.ts +76 -25
  37. package/src/ai-assistant/package.json +19 -14
  38. package/src/ai-assistant/src/components/ai-assistant-component.tsx +34 -4
  39. package/src/ai-assistant/src/components/ai-assistant-config.tsx +64 -18
  40. package/src/ai-assistant/src/config/models.json +5 -24
  41. package/src/ai-assistant/src/constants.ts +21 -26
  42. package/src/ai-assistant/src/reducers/index.ts +1 -1
  43. package/src/ai-assistant/src/tools/geo-tools.tsx +70 -9
  44. package/src/ai-assistant/src/tools/lisa-tool.tsx +15 -4
  45. package/src/cloud-providers/package.json +2 -2
  46. package/src/common-utils/package.json +3 -3
  47. package/src/components/dist/kepler-gl.js +2 -2
  48. package/src/components/dist/map/map-popover.js +2 -2
  49. package/src/components/dist/map-container.js +2 -2
  50. package/src/components/dist/side-panel/add-by-dataset-button.d.ts +0 -1
  51. package/src/components/dist/side-panel/add-by-dataset-button.js +1 -3
  52. package/src/components/dist/side-panel/filter-panel/add-filter-button.js +1 -2
  53. package/src/components/dist/side-panel/layer-panel/add-layer-button.js +1 -2
  54. package/src/components/dist/side-panel/layer-panel/custom-picker.js +18 -5
  55. package/src/components/package.json +15 -15
  56. package/src/components/src/kepler-gl.tsx +1 -1
  57. package/src/components/src/map/map-popover.tsx +1 -1
  58. package/src/components/src/map-container.tsx +1 -1
  59. package/src/components/src/side-panel/add-by-dataset-button.tsx +0 -3
  60. package/src/components/src/side-panel/filter-panel/add-filter-button.tsx +0 -1
  61. package/src/components/src/side-panel/layer-panel/add-layer-button.tsx +0 -1
  62. package/src/components/src/side-panel/layer-panel/custom-picker.tsx +15 -1
  63. package/src/constants/dist/default-settings.js +1 -1
  64. package/src/constants/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/e6/16/9fd3750f7cfc51cf980ec6937f88e24e5b03b144d0439efabdec6a028ce7442883abce42b76f97bffa8d37bfb65c10508e48d68a2b019c4b750a48374080 +1 -0
  65. package/src/constants/node_modules/.cache/terser-webpack-plugin/index-v5/b6/51/9b3488269917e0404a46b4db6235f226deef2d5b5b5ffb7414dafaa60b52 +2 -0
  66. package/src/constants/package.json +2 -2
  67. package/src/constants/umd/keplergl.min.js +1 -1
  68. package/src/deckgl-arrow-layers/package.json +2 -2
  69. package/src/deckgl-layers/package.json +4 -4
  70. package/src/duckdb/dist/components/sql-panel.js +34 -33
  71. package/src/duckdb/dist/table/duckdb-table-utils.d.ts +8 -9
  72. package/src/duckdb/dist/table/duckdb-table-utils.js +21 -23
  73. package/src/duckdb/dist/table/duckdb-table.js +20 -17
  74. package/src/duckdb/package.json +6 -6
  75. package/src/duckdb/src/components/sql-panel.tsx +3 -5
  76. package/src/duckdb/src/table/duckdb-table-utils.ts +19 -18
  77. package/src/duckdb/src/table/duckdb-table.ts +7 -4
  78. package/src/effects/package.json +5 -5
  79. package/src/layers/dist/geojson-layer/geojson-layer.js +5 -2
  80. package/src/layers/package.json +9 -9
  81. package/src/layers/src/geojson-layer/geojson-layer.ts +4 -1
  82. package/src/localization/dist/translations/ca.d.ts +2 -0
  83. package/src/localization/dist/translations/ca.js +3 -1
  84. package/src/localization/dist/translations/cn.d.ts +2 -0
  85. package/src/localization/dist/translations/cn.js +3 -1
  86. package/src/localization/dist/translations/en.d.ts +2 -0
  87. package/src/localization/dist/translations/en.js +4 -2
  88. package/src/localization/dist/translations/es.d.ts +2 -0
  89. package/src/localization/dist/translations/es.js +3 -1
  90. package/src/localization/dist/translations/fi.d.ts +2 -0
  91. package/src/localization/dist/translations/fi.js +3 -1
  92. package/src/localization/dist/translations/ja.d.ts +2 -0
  93. package/src/localization/dist/translations/ja.js +3 -1
  94. package/src/localization/dist/translations/pt.d.ts +2 -0
  95. package/src/localization/dist/translations/pt.js +3 -1
  96. package/src/localization/dist/translations/ru.d.ts +2 -0
  97. package/src/localization/dist/translations/ru.js +3 -1
  98. package/src/localization/package.json +1 -1
  99. package/src/localization/src/translations/ca.ts +2 -0
  100. package/src/localization/src/translations/cn.ts +2 -0
  101. package/src/localization/src/translations/en.ts +4 -2
  102. package/src/localization/src/translations/es.ts +2 -0
  103. package/src/localization/src/translations/fi.ts +2 -0
  104. package/src/localization/src/translations/ja.ts +2 -0
  105. package/src/localization/src/translations/pt.ts +2 -0
  106. package/src/localization/src/translations/ru.ts +2 -0
  107. package/src/processors/dist/file-handler.js +13 -14
  108. package/src/processors/package.json +7 -7
  109. package/src/processors/src/file-handler.ts +0 -1
  110. package/src/reducers/dist/combined-updaters.js +4 -2
  111. package/src/reducers/dist/ui-state-updaters.d.ts +0 -10
  112. package/src/reducers/dist/ui-state-updaters.js +2 -22
  113. package/src/reducers/dist/ui-state.js +2 -2
  114. package/src/reducers/dist/vis-state-updaters.d.ts +16 -1
  115. package/src/reducers/dist/vis-state-updaters.js +79 -45
  116. package/src/reducers/dist/vis-state.d.ts +4 -0
  117. package/src/reducers/dist/vis-state.js +2 -2
  118. package/src/reducers/package.json +16 -16
  119. package/src/reducers/src/combined-updaters.ts +1 -0
  120. package/src/reducers/src/ui-state-updaters.ts +0 -24
  121. package/src/reducers/src/ui-state.ts +1 -3
  122. package/src/reducers/src/vis-state-updaters.ts +74 -22
  123. package/src/reducers/src/vis-state.ts +3 -1
  124. package/src/schemas/dist/vis-state-schema.d.ts +1 -0
  125. package/src/schemas/dist/vis-state-schema.js +1 -1
  126. package/src/schemas/package.json +7 -7
  127. package/src/schemas/src/vis-state-schema.ts +1 -0
  128. package/src/styles/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/f9/fc/86ccce4fa2c3e73042785814bc24476cb7cc9531d16a7c2ecb66bfc154f7b35d7416d852faa175d172da177931675cd2ba82e3b7898e8f4bf499921b00c2 +1 -0
  129. package/src/styles/node_modules/.cache/terser-webpack-plugin/index-v5/ba/31/d609a3a75657c3640471d5a925a4a64689ea3853d9379bdcd675dba816a2 +2 -0
  130. package/src/styles/package.json +2 -2
  131. package/src/styles/umd/keplergl.min.js +1 -1
  132. package/src/table/package.json +5 -5
  133. package/src/tasks/package.json +2 -2
  134. package/src/types/package.json +1 -1
  135. package/src/utils/package.json +4 -4
  136. package/umd/keplergl.min.js +1350 -1312
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.toggleSidePanelCloseButton = exports.toggleSidePanel = exports.togglePanelListView = exports.toggleModal = exports.toggleMapControl = exports.startExportingImage = exports.showExportDropdown = exports.setUserMapboxAccessToken = exports.setMapControlVisibility = exports.setMapControlSettings = exports.setLocale = exports.setLoadingIndicator = exports.setExportSelectedDataset = exports.setExportMapFormat = exports.setExportImageSetting = exports.setExportImageError = exports.setExportImageDataUri = exports.setExportHTMLMapMode = exports.setExportFiltered = exports.setExportDataType = exports.setExportData = exports.removeNotification = exports.openDeleteModal = exports.hideExportDropdown = exports.cleanupExportImage = exports.addNotification = void 0;
7
+ exports.toggleSidePanelCloseButton = exports.toggleSidePanel = exports.togglePanelListView = exports.toggleModal = exports.toggleMapControl = exports.startExportingImage = exports.showExportDropdown = exports.setUserMapboxAccessToken = exports.setMapControlVisibility = exports.setMapControlSettings = exports.setLocale = exports.setExportSelectedDataset = exports.setExportMapFormat = exports.setExportImageSetting = exports.setExportImageError = exports.setExportImageDataUri = exports.setExportHTMLMapMode = exports.setExportFiltered = exports.setExportDataType = exports.setExportData = exports.removeNotification = exports.openDeleteModal = exports.hideExportDropdown = exports.cleanupExportImage = exports.addNotification = void 0;
8
8
  var _toolkit = require("@reduxjs/toolkit");
9
9
  var _actionTypes = _interopRequireDefault(require("./action-types"));
10
10
  // SPDX-License-Identifier: MIT
@@ -371,19 +371,4 @@ var togglePanelListView = exports.togglePanelListView = (0, _toolkit.createActio
371
371
  // @ts-ignore
372
372
  var uiStateActions = null;
373
373
  /* eslint-enable @typescript-eslint/no-unused-vars */
374
-
375
- /** SET_LOADING_INDICATOR */
376
-
377
- /**
378
- * Change of number of active loading actions.
379
- * @memberof uiStateActions
380
- * @param payload
381
- * @param payload.change Change of number of active loading actions.
382
- * @public
383
- */
384
- var setLoadingIndicator = exports.setLoadingIndicator = (0, _toolkit.createAction)(_actionTypes["default"].SET_LOADING_INDICATOR, function (payload) {
385
- return {
386
- payload: payload
387
- };
388
- });
389
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9vbGtpdCIsInJlcXVpcmUiLCJfYWN0aW9uVHlwZXMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwidG9nZ2xlU2lkZVBhbmVsIiwiZXhwb3J0cyIsImNyZWF0ZUFjdGlvbiIsIkFjdGlvblR5cGVzIiwiVE9HR0xFX1NJREVfUEFORUwiLCJpZCIsInBheWxvYWQiLCJ0b2dnbGVNb2RhbCIsIlRPR0dMRV9NT0RBTCIsInNob3dFeHBvcnREcm9wZG93biIsIlNIT1dfRVhQT1JUX0RST1BET1dOIiwiaGlkZUV4cG9ydERyb3Bkb3duIiwiSElERV9FWFBPUlRfRFJPUERPV04iLCJ0b2dnbGVTaWRlUGFuZWxDbG9zZUJ1dHRvbiIsIlRPR0dMRV9TSURFX1BBTkVMX0NMT1NFX0JVVFRPTiIsInNob3ciLCJ0b2dnbGVNYXBDb250cm9sIiwiVE9HR0xFX01BUF9DT05UUk9MIiwicGFuZWxJZCIsImluZGV4Iiwic2V0TWFwQ29udHJvbFZpc2liaWxpdHkiLCJTRVRfTUFQX0NPTlRST0xfVklTSUJJTElUWSIsInNldE1hcENvbnRyb2xTZXR0aW5ncyIsIlNFVF9NQVBfQ09OVFJPTF9TRVRUSU5HUyIsInNldHRpbmdzIiwib3BlbkRlbGV0ZU1vZGFsIiwiT1BFTl9ERUxFVEVfTU9EQUwiLCJkYXRhc2V0SWQiLCJhZGROb3RpZmljYXRpb24iLCJBRERfTk9USUZJQ0FUSU9OIiwibm90aWZpY2F0aW9uIiwicmVtb3ZlTm90aWZpY2F0aW9uIiwiUkVNT1ZFX05PVElGSUNBVElPTiIsInNldEV4cG9ydEltYWdlU2V0dGluZyIsIlNFVF9FWFBPUlRfSU1BR0VfU0VUVElORyIsIm5ld1NldHRpbmciLCJzdGFydEV4cG9ydGluZ0ltYWdlIiwiU1RBUlRfRVhQT1JUSU5HX0lNQUdFIiwic2V0RXhwb3J0SW1hZ2VEYXRhVXJpIiwiU0VUX0VYUE9SVF9JTUFHRV9EQVRBX1VSSSIsImRhdGFVcmkiLCJzZXRFeHBvcnRJbWFnZUVycm9yIiwiU0VUX0VYUE9SVF9JTUFHRV9FUlJPUiIsImVycm9yIiwiY2xlYW51cEV4cG9ydEltYWdlIiwiQ0xFQU5VUF9FWFBPUlRfSU1BR0UiLCJzZXRFeHBvcnRTZWxlY3RlZERhdGFzZXQiLCJTRVRfRVhQT1JUX1NFTEVDVEVEX0RBVEFTRVQiLCJzZXRFeHBvcnREYXRhVHlwZSIsIlNFVF9FWFBPUlRfREFUQV9UWVBFIiwiZGF0YVR5cGUiLCJzZXRFeHBvcnRGaWx0ZXJlZCIsIlNFVF9FWFBPUlRfRklMVEVSRUQiLCJzZXRFeHBvcnREYXRhIiwiU0VUX0VYUE9SVF9EQVRBIiwic2V0VXNlck1hcGJveEFjY2Vzc1Rva2VuIiwiU0VUX1VTRVJfTUFQQk9YX0FDQ0VTU19UT0tFTiIsInNldEV4cG9ydE1hcEZvcm1hdCIsIlNFVF9FWFBPUlRfTUFQX0ZPUk1BVCIsInNldEV4cG9ydEhUTUxNYXBNb2RlIiwiU0VUX0VYUE9SVF9NQVBfSFRNTF9NT0RFIiwic2V0TG9jYWxlIiwiU0VUX0xPQ0FMRSIsImxvY2FsZSIsInRvZ2dsZVBhbmVsTGlzdFZpZXciLCJUT0dHTEVfUEFORUxfTElTVF9WSUVXIiwidWlTdGF0ZUFjdGlvbnMiLCJzZXRMb2FkaW5nSW5kaWNhdG9yIiwiU0VUX0xPQURJTkdfSU5ESUNBVE9SIl0sInNvdXJjZXMiOlsiLi4vc3JjL3VpLXN0YXRlLWFjdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHtjcmVhdGVBY3Rpb259IGZyb20gJ0ByZWR1eGpzL3Rvb2xraXQnO1xuaW1wb3J0IHtkZWZhdWx0IGFzIEFjdGlvblR5cGVzfSBmcm9tICcuL2FjdGlvbi10eXBlcyc7XG5pbXBvcnQge01lcmdlfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7RXhwb3J0SW1hZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcblxuLyoqIFRPR0dMRV9TSURFX1BBTkVMICovXG5leHBvcnQgdHlwZSBUb2dnbGVTaWRlUGFuZWxVcGRhdGVyQWN0aW9uID0ge1xuICBwYXlsb2FkOiBzdHJpbmcgfCBudWxsO1xufTtcbi8qKlxuICogVG9nZ2xlIGFjdGl2ZSBzaWRlIHBhbmVsXG4gKiBAbWVtYmVyb2YgdWlTdGF0ZUFjdGlvbnNcbiAqIEBwYXJhbSBpZCAgaWQgb2Ygc2lkZSBwYW5lbCB0byBiZSBzaG93biwgb25lIG9mIGBsYXllcmAsIGBmaWx0ZXJgLCBgaW50ZXJhY3Rpb25gLCBgbWFwYFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgdG9nZ2xlU2lkZVBhbmVsOiAoXG4gIGlkOiBUb2dnbGVTaWRlUGFuZWxVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ11cbikgPT4gTWVyZ2U8VG9nZ2xlU2lkZVBhbmVsVXBkYXRlckFjdGlvbiwge3R5cGU6IHR5cGVvZiBBY3Rpb25UeXBlcy5UT0dHTEVfU0lERV9QQU5FTH0+ID1cbiAgY3JlYXRlQWN0aW9uKEFjdGlvblR5cGVzLlRPR0dMRV9TSURFX1BBTkVMLCAoaWQ6IHN0cmluZyB8IG51bGwpID0+ICh7cGF5bG9hZDogaWR9KSk7XG5cbi8qKiBUT0dHTEVfTU9EQUwgKi9cbmV4cG9ydCB0eXBlIFRvZ2dsZU1vZGFsVXBkYXRlckFjdGlvbiA9IHtcbiAgcGF5bG9hZDogc3RyaW5nIHwgbnVsbDtcbn07XG4vKipcbiAqIFNob3cgYW5kIGhpZGUgbW9kYWwgZGlhbG9nXG4gKiBAbWVtYmVyb2YgdWlTdGF0ZUFjdGlvbnNcbiAqIEBwYXJhbSBpZCAtIGlkIG9mIG1vZGFsIHRvIGJlIHNob3duLCBudWxsIHRvIGhpZGUgbW9kYWxzLiBPbmUgb2Y6XG4gKiAgLSBbYERBVEFfVEFCTEVfSURgXSguLi9jb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncy5tZCNkYXRhX3RhYmxlX2lkKVxuICogIC0gW2BERUxFVEVfREFUQV9JRGBdKC4uL2NvbnN0YW50cy9kZWZhdWx0LXNldHRpbmdzLm1kI2RlbGV0ZV9kYXRhX2lkKVxuICogIC0gW2BBRERfREFUQV9JRGBdKC4uL2NvbnN0YW50cy9kZWZhdWx0LXNldHRpbmdzLm1kI2FkZF9kYXRhX2lkKVxuICogIC0gW2BFWFBPUlRfSU1BR0VfSURgXSguLi9jb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncy5tZCNleHBvcnRfaW1hZ2VfaWQpXG4gKiAgLSBbYEVYUE9SVF9EQVRBX0lEYF0oLi4vY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MubWQjZXhwb3J0X2RhdGFfaWQpXG4gKiAgLSBbYEFERF9NQVBfU1RZTEVfSURgXSguLi9jb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncy5tZCNhZGRfbWFwX3N0eWxlX2lkKVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgdG9nZ2xlTW9kYWw6IChcbiAgaWQ6IFRvZ2dsZU1vZGFsVXBkYXRlckFjdGlvblsncGF5bG9hZCddXG4pID0+IE1lcmdlPFRvZ2dsZU1vZGFsVXBkYXRlckFjdGlvbiwge3R5cGU6IHR5cGVvZiBBY3Rpb25UeXBlcy5UT0dHTEVfTU9EQUx9PiA9IGNyZWF0ZUFjdGlvbihcbiAgQWN0aW9uVHlwZXMuVE9HR0xFX01PREFMLFxuICAoaWQ6IFRvZ2dsZU1vZGFsVXBkYXRlckFjdGlvblsncGF5bG9hZCddKSA9PiAoe1xuICAgIHBheWxvYWQ6IGlkXG4gIH0pXG4pO1xuXG4vKiogU0hPV19FWFBPUlRfRFJPUERPV04gKi9cbmV4cG9ydCB0eXBlIFNob3dFeHBvcnREcm9wZG93blVwZGF0ZXJBY3Rpb24gPSB7XG4gIHBheWxvYWQ6IHN0cmluZztcbn07XG4vKipcbiAqIEhpZGUgYW5kIHNob3cgc2lkZSBwYW5lbCBoZWFkZXIgZHJvcGRvd24sIGFjdGl2YXRlZCBieSBjbGlja2luZyB0aGUgc2hhcmUgbGluayBvbiB0b3Agb2YgdGhlIHNpZGUgcGFuZWxcbiAqIEBtZW1iZXJvZiB1aVN0YXRlQWN0aW9uc1xuICogQHBhcmFtIGlkIC0gaWQgb2YgdGhlIGRyb3Bkb3duXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBzaG93RXhwb3J0RHJvcGRvd246IChcbiAgaWQ6IFNob3dFeHBvcnREcm9wZG93blVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXVxuKSA9PiBNZXJnZTxTaG93RXhwb3J0RHJvcGRvd25VcGRhdGVyQWN0aW9uLCB7dHlwZTogdHlwZW9mIEFjdGlvblR5cGVzLlNIT1dfRVhQT1JUX0RST1BET1dOfT4gPVxuICBjcmVhdGVBY3Rpb24oXG4gICAgQWN0aW9uVHlwZXMuU0hPV19FWFBPUlRfRFJPUERPV04sXG4gICAgKGlkOiBTaG93RXhwb3J0RHJvcGRvd25VcGRhdGVyQWN0aW9uWydwYXlsb2FkJ10pID0+ICh7cGF5bG9hZDogaWR9KVxuICApO1xuXG4vKipcbiAqIEhpZGUgc2lkZSBwYW5lbCBoZWFkZXIgZHJvcGRvd24sIGFjdGl2YXRlZCBieSBjbGlja2luZyB0aGUgc2hhcmUgbGluayBvbiB0b3Agb2YgdGhlIHNpZGUgcGFuZWxcbiAqIEBtZW1iZXJvZiB1aVN0YXRlQWN0aW9uc1xuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgaGlkZUV4cG9ydERyb3Bkb3duOiAoKSA9PiB7XG4gIHR5cGU6IHR5cGVvZiBBY3Rpb25UeXBlcy5ISURFX0VYUE9SVF9EUk9QRE9XTjtcbn0gPSBjcmVhdGVBY3Rpb24oQWN0aW9uVHlwZXMuSElERV9FWFBPUlRfRFJPUERPV04pO1xuXG4vKiogVE9HR0xFX1NJREVfUEFORUxfQ0xPU0VfQlVUVE9OKi9cbmV4cG9ydCB0eXBlIFRvZ2dsZVNpZGVQYW5lbENsb3NlQnV0dG9uVXBkYXRlckFjdGlvbiA9IHtcbiAgcGF5bG9hZDoge1xuICAgIHNob3c6IGJvb2xlYW47XG4gIH07XG59O1xuXG4vKipcbiAqIFRvZ2dsZSBzaWRlIHBhbmVsIGNsb3NlIGJ1dHRvblxuICogQG1lbWJlcm9mIHVpU3RhdGVBY3Rpb25zXG4gKiBAcGFyYW0gc2hvdyAtIGlmIHNpZGUgcGFuZWwgYnV0dG9uIHZpc2libGVcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IHRvZ2dsZVNpZGVQYW5lbENsb3NlQnV0dG9uOiAoXG4gIHNob3c6IGJvb2xlYW5cbikgPT4gTWVyZ2U8XG4gIFRvZ2dsZVNpZGVQYW5lbENsb3NlQnV0dG9uVXBkYXRlckFjdGlvbixcbiAge3R5cGU6IHR5cGVvZiBBY3Rpb25UeXBlcy5UT0dHTEVfU0lERV9QQU5FTF9DTE9TRV9CVVRUT059XG4+ID0gY3JlYXRlQWN0aW9uKEFjdGlvblR5cGVzLlRPR0dMRV9TSURFX1BBTkVMX0NMT1NFX0JVVFRPTiwgc2hvdyA9PiAoe3BheWxvYWQ6IHtzaG93fX0pKTtcblxuLyoqIFRPR0dMRV9NQVBfQ09OVFJPTCAqL1xuZXhwb3J0IHR5cGUgVG9nZ2xlTWFwQ29udHJvbFVwZGF0ZXJBY3Rpb24gPSB7XG4gIHBheWxvYWQ6IHtcbiAgICBwYW5lbElkOiBzdHJpbmc7XG4gICAgaW5kZXg6IG51bWJlcjtcbiAgfTtcbn07XG4vKipcbiAqIFRvZ2dsZSBhY3RpdmUgbWFwIGNvbnRyb2wgcGFuZWxcbiAqIEBtZW1iZXJvZiB1aVN0YXRlQWN0aW9uc1xuICogQHBhcmFtIHBhbmVsSWQgLSBtYXAgY29udHJvbCBwYW5lbCBpZCwgb25lIG9mIHRoZSBrZXlzIG9mOiBbYERFRkFVTFRfTUFQX0NPTlRST0xTYF0oI2RlZmF1bHRfbWFwX2NvbnRyb2xzKVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgdG9nZ2xlTWFwQ29udHJvbDogKFxuICBwYW5lbElkOiBUb2dnbGVNYXBDb250cm9sVXBkYXRlckFjdGlvblsncGF5bG9hZCddWydwYW5lbElkJ10sXG4gIGluZGV4OiBUb2dnbGVNYXBDb250cm9sVXBkYXRlckFjdGlvblsncGF5bG9hZCddWydpbmRleCddXG4pID0+IE1lcmdlPFRvZ2dsZU1hcENvbnRyb2xVcGRhdGVyQWN0aW9uLCB7dHlwZTogdHlwZW9mIEFjdGlvblR5cGVzLlRPR0dMRV9NQVBfQ09OVFJPTH0+ID1cbiAgY3JlYXRlQWN0aW9uKFxuICAgIEFjdGlvblR5cGVzLlRPR0dMRV9NQVBfQ09OVFJPTCxcbiAgICAoXG4gICAgICBwYW5lbElkOiBUb2dnbGVNYXBDb250cm9sVXBkYXRlckFjdGlvblsncGF5bG9hZCddWydwYW5lbElkJ10sXG4gICAgICBpbmRleDogVG9nZ2xlTWFwQ29udHJvbFVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXVsnaW5kZXgnXVxuICAgICkgPT4gKHtcbiAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgcGFuZWxJZCxcbiAgICAgICAgaW5kZXhcbiAgICAgIH1cbiAgICB9KVxuICApO1xuXG4vKiogU0VUX01BUF9DT05UUk9MX1ZJU0lCSUxJVFkgKi9cbmV4cG9ydCB0eXBlIHNldE1hcENvbnRyb2xWaXNpYmlsaXR5VXBkYXRlckFjdGlvbiA9IHtcbiAgcGF5bG9hZDoge1xuICAgIHBhbmVsSWQ6IHN0cmluZztcbiAgICBzaG93OiBib29sZWFuO1xuICB9O1xufTtcbi8qKlxuICogVG9nZ2xlIGFjdGl2ZSBtYXAgY29udHJvbCBwYW5lbFxuICogQG1lbWJlcm9mIHVpU3RhdGVBY3Rpb25zXG4gKiBAcGFyYW0gcGFuZWxJZCAtIG1hcCBjb250cm9sIHBhbmVsIGlkLCBvbmUgb2YgdGhlIGtleXMgb2Y6IFtgREVGQVVMVF9NQVBfQ09OVFJPTFNgXSgjZGVmYXVsdF9tYXBfY29udHJvbHMpXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBzZXRNYXBDb250cm9sVmlzaWJpbGl0eTogKFxuICBwYW5lbElkOiBzZXRNYXBDb250cm9sVmlzaWJpbGl0eVVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXVsncGFuZWxJZCddLFxuICBzaG93OiBzZXRNYXBDb250cm9sVmlzaWJpbGl0eVVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXVsnc2hvdyddXG4pID0+IE1lcmdlPFxuICBzZXRNYXBDb250cm9sVmlzaWJpbGl0eVVwZGF0ZXJBY3Rpb24sXG4gIHt0eXBlOiB0eXBlb2YgQWN0aW9uVHlwZXMuU0VUX01BUF9DT05UUk9MX1ZJU0lCSUxJVFl9XG4+ID0gY3JlYXRlQWN0aW9uKFxuICBBY3Rpb25UeXBlcy5TRVRfTUFQX0NPTlRST0xfVklTSUJJTElUWSxcbiAgKFxuICAgIHBhbmVsSWQ6IHNldE1hcENvbnRyb2xWaXNpYmlsaXR5VXBkYXRlckFjdGlvblsncGF5bG9hZCddWydwYW5lbElkJ10sXG4gICAgc2hvdzogc2V0TWFwQ29udHJvbFZpc2liaWxpdHlVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ11bJ3Nob3cnXVxuICApID0+ICh7XG4gICAgcGF5bG9hZDoge1xuICAgICAgcGFuZWxJZCxcbiAgICAgIHNob3dcbiAgICB9XG4gIH0pXG4pO1xuXG4vKiogU0VUX01BUF9DT05UUk9MX1NFVFRJTkdTICovXG5leHBvcnQgdHlwZSBzZXRNYXBDb250cm9sU2V0dGluZ3NVcGRhdGVyQWN0aW9uID0ge1xuICBwYXlsb2FkOiB7XG4gICAgcGFuZWxJZDogc3RyaW5nO1xuICAgIHNldHRpbmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgfTtcbn07XG5cbi8qKlxuICogU2V0IG1hcCBjb250cm9sIHNldHRpbmdzXG4gKiBAbWVtYmVyb2YgdWlTdGF0ZUFjdGlvbnNcbiAqIEBwYXJhbSBwYW5lbElkIC0gbWFwIGNvbnRyb2wgcGFuZWwgaWQsIG9uZSBvZiB0aGUga2V5cyBvZjogW2BERUZBVUxUX01BUF9DT05UUk9MU2BdKCNkZWZhdWx0X21hcF9jb250cm9scylcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IHNldE1hcENvbnRyb2xTZXR0aW5nczogKFxuICBwYW5lbElkOiBzdHJpbmcsXG4gIHNldHRpbmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuKSA9PiBNZXJnZTxcbiAgc2V0TWFwQ29udHJvbFNldHRpbmdzVXBkYXRlckFjdGlvbixcbiAge3R5cGU6IHR5cGVvZiBBY3Rpb25UeXBlcy5TRVRfTUFQX0NPTlRST0xfU0VUVElOR1N9XG4+ID0gY3JlYXRlQWN0aW9uKEFjdGlvblR5cGVzLlNFVF9NQVBfQ09OVFJPTF9TRVRUSU5HUywgKHBhbmVsSWQsIHNldHRpbmdzKSA9PiAoe1xuICBwYXlsb2FkOiB7cGFuZWxJZCwgc2V0dGluZ3N9XG59KSk7XG5cbi8qKiBPUEVOX0RFTEVURV9NT0RBTCAqL1xuZXhwb3J0IHR5cGUgT3BlbkRlbGV0ZU1vZGFsVXBkYXRlckFjdGlvbiA9IHtcbiAgcGF5bG9hZDogc3RyaW5nO1xufTtcbi8qKlxuICogVG9nZ2xlIGFjdGl2ZSBtYXAgY29udHJvbCBwYW5lbFxuICogQG1lbWJlcm9mIHVpU3RhdGVBY3Rpb25zXG4gKiBAcGFyYW0gZGF0YXNldElkIC0gYGlkYCBvZiB0aGUgZGF0YXNldCB0byBiZSBkZWxldGVkXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBvcGVuRGVsZXRlTW9kYWw6IChcbiAgZGF0YXNldElkOiBPcGVuRGVsZXRlTW9kYWxVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ11cbikgPT4gTWVyZ2U8T3BlbkRlbGV0ZU1vZGFsVXBkYXRlckFjdGlvbiwge3R5cGU6IHR5cGVvZiBBY3Rpb25UeXBlcy5PUEVOX0RFTEVURV9NT0RBTH0+ID1cbiAgY3JlYXRlQWN0aW9uKFxuICAgIEFjdGlvblR5cGVzLk9QRU5fREVMRVRFX01PREFMLFxuICAgIChkYXRhc2V0SWQ6IE9wZW5EZWxldGVNb2RhbFVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXSkgPT4gKHtwYXlsb2FkOiBkYXRhc2V0SWR9KVxuICApO1xuXG4vKiogQUREX05PVElGSUNBVElPTiAqL1xuZXhwb3J0IHR5cGUgQWRkTm90aWZpY2F0aW9uVXBkYXRlckFjdGlvbiA9IHtcbiAgcGF5bG9hZDogb2JqZWN0O1xufTtcbi8qKlxuICogQWRkIGEgbm90aWZpY2F0aW9uIHRvIGJlIGRpc3BsYXllZC5cbiAqIEV4aXN0aW5nIG5vdGlmaWNhdGlvbiB3aWxsIGJlIHVwZGF0ZWQgaW4gY2FzZSBvZiBtYXRjaGluZyBpZC5cbiAqIEBtZW1iZXJvZiB1aVN0YXRlQWN0aW9uc1xuICogQHBhcmFtIG5vdGlmaWNhdGlvbiAtIFRoZSBgbm90aWZpY2F0aW9uYCBvYmplY3QgdG8gYmUgYWRkZWQgb3IgdXBkYXRlZFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgYWRkTm90aWZpY2F0aW9uOiAobm90aWZpY2F0aW9uOiBBZGROb3RpZmljYXRpb25VcGRhdGVyQWN0aW9uWydwYXlsb2FkJ10pID0+IE1lcmdlPFxuICBBZGROb3RpZmljYXRpb25VcGRhdGVyQWN0aW9uLFxuICB7XG4gICAgdHlwZTogdHlwZW9mIEFjdGlvblR5cGVzLkFERF9OT1RJRklDQVRJT047XG4gIH1cbj4gPSBjcmVhdGVBY3Rpb24oXG4gIEFjdGlvblR5cGVzLkFERF9OT1RJRklDQVRJT04sXG4gIChub3RpZmljYXRpb246IEFkZE5vdGlmaWNhdGlvblVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXSkgPT4gKHtwYXlsb2FkOiBub3RpZmljYXRpb259KVxuKTtcblxuLyoqIFJFTU9WRV9OT1RJRklDQVRJT04gKi9cbmV4cG9ydCB0eXBlIFJlbW92ZU5vdGlmaWNhdGlvblVwZGF0ZXJBY3Rpb24gPSB7XG4gIHBheWxvYWQ6IHN0cmluZztcbn07XG4vKipcbiAqIFJlbW92ZSBhIG5vdGlmaWNhdGlvblxuICogQG1lbWJlcm9mIHVpU3RhdGVBY3Rpb25zXG4gKiBAcGFyYW0gaWQgLSBgaWRgIG9mIHRoZSBub3RpZmljYXRpb24gdG8gYmUgcmVtb3ZlZFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgcmVtb3ZlTm90aWZpY2F0aW9uOiAoXG4gIGlkOiBSZW1vdmVOb3RpZmljYXRpb25VcGRhdGVyQWN0aW9uWydwYXlsb2FkJ11cbikgPT4gTWVyZ2U8UmVtb3ZlTm90aWZpY2F0aW9uVXBkYXRlckFjdGlvbiwge3R5cGU6IHR5cGVvZiBBY3Rpb25UeXBlcy5SRU1PVkVfTk9USUZJQ0FUSU9OfT4gPVxuICBjcmVhdGVBY3Rpb24oXG4gICAgQWN0aW9uVHlwZXMuUkVNT1ZFX05PVElGSUNBVElPTixcbiAgICAoaWQ6IFJlbW92ZU5vdGlmaWNhdGlvblVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXSkgPT4gKHtwYXlsb2FkOiBpZH0pXG4gICk7XG5cbi8qKiBTRVRfRVhQT1JUX0lNQUdFX1NFVFRJTkcgKi9cbmV4cG9ydCB0eXBlIFNldEV4cG9ydEltYWdlU2V0dGluZ1VwZGF0ZXJBY3Rpb24gPSB7XG4gIHBheWxvYWQ6IFBhcnRpYWw8RXhwb3J0SW1hZ2U+O1xufTtcbi8qKlxuICogU2V0IGBleHBvcnRJbWFnZWAgc2V0dGluZ3M6IHJhdGlvLCByZXNvbHV0aW9uLCBsZWdlbmRcbiAqIEBtZW1iZXJvZiB1aVN0YXRlQWN0aW9uc1xuICogQHBhcmFtIG5ld1NldHRpbmcgLSB7cmF0aW86ICcxeCd9XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBzZXRFeHBvcnRJbWFnZVNldHRpbmc6IChcbiAgbmV3U2V0dGluZzogU2V0RXhwb3J0SW1hZ2VTZXR0aW5nVXBkYXRlckFjdGlvblsncGF5bG9hZCddXG4pID0+IE1lcmdlPFxuICBTZXRFeHBvcnRJbWFnZVNldHRpbmdVcGRhdGVyQWN0aW9uLFxuICB7dHlwZTogdHlwZW9mIEFjdGlvblR5cGVzLlNFVF9FWFBPUlRfSU1BR0VfU0VUVElOR31cbj4gPSBjcmVhdGVBY3Rpb24oXG4gIEFjdGlvblR5cGVzLlNFVF9FWFBPUlRfSU1BR0VfU0VUVElORyxcbiAgKG5ld1NldHRpbmc6IFNldEV4cG9ydEltYWdlU2V0dGluZ1VwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXSkgPT4gKHtwYXlsb2FkOiBuZXdTZXR0aW5nfSlcbik7XG5cbi8qKlxuICogU3RhcnQgZXhwb3J0aW5nIGltYWdlIGZsb3dcbiAqIEBtZW1iZXJvZiB1aVN0YXRlQWN0aW9uc1xuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3Qgc3RhcnRFeHBvcnRpbmdJbWFnZTogKG9wdGlvbnM/OiB7XG4gIHJhdGlvPzogc3RyaW5nO1xuICByZXNvbHV0aW9uPzogc3RyaW5nO1xuICBsZWdlbmQ/OiBzdHJpbmc7XG4gIGNlbnRlcj86IGJvb2xlYW47XG59KSA9PiBNZXJnZTxTZXRFeHBvcnRJbWFnZVNldHRpbmdVcGRhdGVyQWN0aW9uLCB7dHlwZTogdHlwZW9mIEFjdGlvblR5cGVzLlNUQVJUX0VYUE9SVElOR19JTUFHRX0+ID1cbiAgY3JlYXRlQWN0aW9uKEFjdGlvblR5cGVzLlNUQVJUX0VYUE9SVElOR19JTUFHRSwgKHBheWxvYWQ6IGFueSkgPT4gKHtwYXlsb2FkfSkpO1xuXG4vKiogU0VUX0VYUE9SVF9JTUFHRV9EQVRBX1VSSSAqL1xuZXhwb3J0IHR5cGUgU2V0RXhwb3J0SW1hZ2VEYXRhVXJpVXBkYXRlckFjdGlvbiA9IHtcbiAgcGF5bG9hZDogc3RyaW5nO1xufTtcbi8qKlxuICogU2V0IGBleHBvcnRJbWFnZS5zZXRFeHBvcnRJbWFnZURhdGFVcmlgIHRvIGEgZGF0YVVyaVxuICogQG1lbWJlcm9mIHVpU3RhdGVBY3Rpb25zXG4gKiBAcGFyYW0gZGF0YVVyaSAtIGV4cG9ydCBpbWFnZSBkYXRhIHVyaVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3Qgc2V0RXhwb3J0SW1hZ2VEYXRhVXJpOiAoXG4gIGRhdGFVcmk6IFNldEV4cG9ydEltYWdlRGF0YVVyaVVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXVxuKSA9PiBNZXJnZTxcbiAgU2V0RXhwb3J0SW1hZ2VEYXRhVXJpVXBkYXRlckFjdGlvbixcbiAge3R5cGU6IHR5cGVvZiBBY3Rpb25UeXBlcy5TRVRfRVhQT1JUX0lNQUdFX0RBVEFfVVJJfVxuPiA9IGNyZWF0ZUFjdGlvbihcbiAgQWN0aW9uVHlwZXMuU0VUX0VYUE9SVF9JTUFHRV9EQVRBX1VSSSxcbiAgKGRhdGFVcmk6IFNldEV4cG9ydEltYWdlRGF0YVVyaVVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXSkgPT4gKHtwYXlsb2FkOiBkYXRhVXJpfSlcbik7XG5cbi8qKiBTRVRfRVhQT1JUX0lNQUdFX0VSUk9SICovXG5leHBvcnQgdHlwZSBTZXRFeHBvcnRJbWFnZUVycm9yVXBkYXRlckFjdGlvbiA9IHtcbiAgcGF5bG9hZDogRXJyb3I7XG59O1xuLyoqXG4gKiBTZXQgRXhwb3J0IGltYWdlIGVycm9yXG4gKiBAbWVtYmVyb2YgdWlTdGF0ZUFjdGlvbnNcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IHNldEV4cG9ydEltYWdlRXJyb3I6IChcbiAgZXJyb3I6IFNldEV4cG9ydEltYWdlRXJyb3JVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ11cbikgPT4gTWVyZ2U8U2V0RXhwb3J0SW1hZ2VFcnJvclVwZGF0ZXJBY3Rpb24sIHt0eXBlOiB0eXBlb2YgQWN0aW9uVHlwZXMuU0VUX0VYUE9SVF9JTUFHRV9FUlJPUn0+ID1cbiAgY3JlYXRlQWN0aW9uKFxuICAgIEFjdGlvblR5cGVzLlNFVF9FWFBPUlRfSU1BR0VfRVJST1IsXG4gICAgKGVycm9yOiBTZXRFeHBvcnRJbWFnZUVycm9yVXBkYXRlckFjdGlvblsncGF5bG9hZCddKSA9PiAoe3BheWxvYWQ6IGVycm9yfSlcbiAgKTtcblxuLyoqXG4gKiBEZWxldGUgY2FjaGVkIGV4cG9ydCBpbWFnZVxuICogQG1lbWJlcm9mIHVpU3RhdGVBY3Rpb25zXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBjbGVhbnVwRXhwb3J0SW1hZ2U6ICgpID0+IHtcbiAgdHlwZTogdHlwZW9mIEFjdGlvblR5cGVzLkNMRUFOVVBfRVhQT1JUX0lNQUdFO1xufSA9IGNyZWF0ZUFjdGlvbihBY3Rpb25UeXBlcy5DTEVBTlVQX0VYUE9SVF9JTUFHRSk7XG5cbi8qKiBTRVRfRVhQT1JUX1NFTEVDVEVEX0RBVEFTRVQgKi9cbmV4cG9ydCB0eXBlIFNldEV4cG9ydFNlbGVjdGVkRGF0YXNldFVwZGF0ZXJBY3Rpb24gPSB7XG4gIHBheWxvYWQ6IHN0cmluZztcbn07XG4vKipcbiAqIFNldCBzZWxlY3RlZCBkYXRhc2V0IGZvciBleHBvcnRcbiAqIEBtZW1iZXJvZiB1aVN0YXRlQWN0aW9uc1xuICogQHBhcmFtIGRhdGFzZXRJZCAtIGRhdGFzZXQgaWRcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IHNldEV4cG9ydFNlbGVjdGVkRGF0YXNldDogKFxuICBkYXRhc2V0SWQ6IFNldEV4cG9ydFNlbGVjdGVkRGF0YXNldFVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXVxuKSA9PiBNZXJnZTxcbiAgU2V0RXhwb3J0U2VsZWN0ZWREYXRhc2V0VXBkYXRlckFjdGlvbixcbiAge3R5cGU6IHR5cGVvZiBBY3Rpb25UeXBlcy5TRVRfRVhQT1JUX1NFTEVDVEVEX0RBVEFTRVR9XG4+ID0gY3JlYXRlQWN0aW9uKFxuICBBY3Rpb25UeXBlcy5TRVRfRVhQT1JUX1NFTEVDVEVEX0RBVEFTRVQsXG4gIChkYXRhc2V0SWQ6IFNldEV4cG9ydFNlbGVjdGVkRGF0YXNldFVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXSkgPT4gKHtwYXlsb2FkOiBkYXRhc2V0SWR9KVxuKTtcblxuLyoqIFNFVF9FWFBPUlRfREFUQV9UWVBFICovXG5leHBvcnQgdHlwZSBTZXRFeHBvcnREYXRhVHlwZVVwZGF0ZXJBY3Rpb24gPSB7XG4gIHBheWxvYWQ6IHN0cmluZztcbn07XG4vKipcbiAqIFNldCBkYXRhIGZvcm1hdCBmb3IgZXhwb3J0aW5nIGRhdGFcbiAqIEBtZW1iZXJvZiB1aVN0YXRlQWN0aW9uc1xuICogQHBhcmFtIGRhdGFUeXBlIC0gb25lIG9mIGAndGV4dC9jc3YnYFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3Qgc2V0RXhwb3J0RGF0YVR5cGU6IChcbiAgZGF0YVR5cGU6IFNldEV4cG9ydERhdGFUeXBlVXBkYXRlckFjdGlvblsncGF5bG9hZCddXG4pID0+IE1lcmdlPFNldEV4cG9ydERhdGFUeXBlVXBkYXRlckFjdGlvbiwge3R5cGU6IHR5cGVvZiBBY3Rpb25UeXBlcy5TRVRfRVhQT1JUX0RBVEFfVFlQRX0+ID1cbiAgY3JlYXRlQWN0aW9uKFxuICAgIEFjdGlvblR5cGVzLlNFVF9FWFBPUlRfREFUQV9UWVBFLFxuICAgIChkYXRhVHlwZTogU2V0RXhwb3J0RGF0YVR5cGVVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ10pID0+ICh7cGF5bG9hZDogZGF0YVR5cGV9KVxuICApO1xuXG4vKiogU0VUX0VYUE9SVF9GSUxURVJFRCAqL1xuZXhwb3J0IHR5cGUgU2V0RXhwb3J0RmlsdGVyZWRVcGRhdGVyQWN0aW9uID0ge1xuICBwYXlsb2FkOiBib29sZWFuO1xufTtcbi8qKlxuICogV2hldGhlciB0byBleHBvcnQgZmlsdGVyZWQgZGF0YSwgYHRydWVgIG9yIGBmYWxzZWBcbiAqIEBtZW1iZXJvZiB1aVN0YXRlQWN0aW9uc1xuICogQHBhcmFtIHBheWxvYWQgLSBzZXQgYHRydWVgIHRvIG9ueSBleHBvcnQgZmlsdGVyZWQgZGF0YVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3Qgc2V0RXhwb3J0RmlsdGVyZWQ6IChcbiAgZXhwb3J0RmlsdGVyZWQ6IFNldEV4cG9ydEZpbHRlcmVkVXBkYXRlckFjdGlvblsncGF5bG9hZCddXG4pID0+IE1lcmdlPFNldEV4cG9ydEZpbHRlcmVkVXBkYXRlckFjdGlvbiwge3R5cGU6IHR5cGVvZiBBY3Rpb25UeXBlcy5TRVRfRVhQT1JUX0ZJTFRFUkVEfT4gPVxuICBjcmVhdGVBY3Rpb24oXG4gICAgQWN0aW9uVHlwZXMuU0VUX0VYUE9SVF9GSUxURVJFRCxcbiAgICAocGF5bG9hZDogU2V0RXhwb3J0RmlsdGVyZWRVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ10pID0+ICh7cGF5bG9hZH0pXG4gICk7XG5cbi8qKlxuICogV2hldGhlciB0byBpbmNsdWRpbmcgZGF0YSBpbiBtYXAgY29uZmlnLCB0b2dnbGUgYmV0d2VlbiBgdHJ1ZWAgb3IgYGZhbHNlYFxuICogQG1lbWJlcm9mIHVpU3RhdGVBY3Rpb25zXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBzZXRFeHBvcnREYXRhOiAoKSA9PiB7dHlwZTogdHlwZW9mIEFjdGlvblR5cGVzLlNFVF9FWFBPUlRfREFUQX0gPSBjcmVhdGVBY3Rpb24oXG4gIEFjdGlvblR5cGVzLlNFVF9FWFBPUlRfREFUQVxuKTtcblxuLyoqIFNFVF9VU0VSX01BUEJPWF9BQ0NFU1NfVE9LRU4gKi9cbmV4cG9ydCB0eXBlIFNldFVzZXJNYXBib3hBY2Nlc3NUb2tlblVwZGF0ZXJBY3Rpb24gPSB7XG4gIHBheWxvYWQ6IHN0cmluZztcbn07XG4vKipcbiAqIFdoZXRoZXIgd2UgZXhwb3J0IGEgbWFwYm94IGFjY2VzcyB0b2tlbiB1c2VkIHRvIGNyZWF0ZSBhIHNpbmdsZSBtYXAgaHRtbCBmaWxlXG4gKiBAbWVtYmVyb2YgdWlTdGF0ZUFjdGlvbnNcbiAqIEBwYXJhbSBwYXlsb2FkIC0gbWFwYm94IGFjY2VzcyB0b2tlblxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3Qgc2V0VXNlck1hcGJveEFjY2Vzc1Rva2VuOiAoXG4gIHBheWxvYWQ6IFNldFVzZXJNYXBib3hBY2Nlc3NUb2tlblVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXVxuKSA9PiBNZXJnZTxcbiAgU2V0VXNlck1hcGJveEFjY2Vzc1Rva2VuVXBkYXRlckFjdGlvbixcbiAge3R5cGU6IHR5cGVvZiBBY3Rpb25UeXBlcy5TRVRfVVNFUl9NQVBCT1hfQUNDRVNTX1RPS0VOfVxuPiA9IGNyZWF0ZUFjdGlvbihcbiAgQWN0aW9uVHlwZXMuU0VUX1VTRVJfTUFQQk9YX0FDQ0VTU19UT0tFTixcbiAgKHBheWxvYWQ6IFNldFVzZXJNYXBib3hBY2Nlc3NUb2tlblVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXSkgPT4gKHtwYXlsb2FkfSlcbik7XG5cbi8qKiBTRVRfRVhQT1JUX01BUF9GT1JNQVQgKi9cbmV4cG9ydCB0eXBlIFNldEV4cG9ydE1hcEZvcm1hdFVwZGF0ZXJBY3Rpb24gPSB7XG4gIHBheWxvYWQ6IHN0cmluZztcbn07XG4vKipcbiAqIFNldCB0aGUgZXhwb3J0IG1hcCBmb3JtYXQgKGh0bWwsIGpzb24pXG4gKiBAbWVtYmVyT2YgdWlTdGF0ZUFjdGlvbnNcbiAqIEBwYXJhbSBwYXlsb2FkIC0gbWFwIGZvcm1hdFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3Qgc2V0RXhwb3J0TWFwRm9ybWF0OiAoXG4gIG1hcEZvcm1hdDogU2V0RXhwb3J0TWFwRm9ybWF0VXBkYXRlckFjdGlvblsncGF5bG9hZCddXG4pID0+IE1lcmdlPFNldEV4cG9ydE1hcEZvcm1hdFVwZGF0ZXJBY3Rpb24sIHt0eXBlOiB0eXBlb2YgQWN0aW9uVHlwZXMuU0VUX0VYUE9SVF9NQVBfRk9STUFUfT4gPVxuICBjcmVhdGVBY3Rpb24oXG4gICAgQWN0aW9uVHlwZXMuU0VUX0VYUE9SVF9NQVBfRk9STUFULFxuICAgIChwYXlsb2FkOiBTZXRFeHBvcnRNYXBGb3JtYXRVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ10pID0+ICh7cGF5bG9hZH0pXG4gICk7XG5cbi8qKiBTRVRfRVhQT1JUX01BUF9IVE1MX01PREUgKi9cbmV4cG9ydCB0eXBlIFNldEV4cG9ydEhUTUxNYXBNb2RlVXBkYXRlckFjdGlvbiA9IHtcbiAgcGF5bG9hZDogc3RyaW5nO1xufTtcbi8qKlxuICogU2V0IHRoZSBIVE1MIG1vZGUgdG8gdXNlIHRvIGV4cG9ydCBIVE1MIG1vZGVcbiAqIEBtZW1iZXJPZiB1aVN0YXRlQWN0aW9uc1xuICogQHBhcmFtIHBheWxvYWQgLSBtYXAgbW9kZVxuICovXG5leHBvcnQgY29uc3Qgc2V0RXhwb3J0SFRNTE1hcE1vZGU6IChcbiAgbW9kZTogU2V0RXhwb3J0SFRNTE1hcE1vZGVVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ11cbikgPT4gTWVyZ2U8U2V0RXhwb3J0SFRNTE1hcE1vZGVVcGRhdGVyQWN0aW9uLCB7dHlwZTogdHlwZW9mIEFjdGlvblR5cGVzLlNFVF9FWFBPUlRfTUFQX0hUTUxfTU9ERX0+ID1cbiAgY3JlYXRlQWN0aW9uKFxuICAgIEFjdGlvblR5cGVzLlNFVF9FWFBPUlRfTUFQX0hUTUxfTU9ERSxcbiAgICAocGF5bG9hZDogU2V0RXhwb3J0SFRNTE1hcE1vZGVVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ10pID0+ICh7cGF5bG9hZH0pXG4gICk7XG5cbi8qKiBTRVRfTE9DQUxFICovXG5leHBvcnQgdHlwZSBTZXRMb2NhbGVVcGRhdGVyQWN0aW9uID0ge1xuICBwYXlsb2FkOiB7bG9jYWxlOiBzdHJpbmd9O1xufTtcbi8qKlxuICogU2V0IGBsb2NhbGVgIHZhbHVlXG4gKiBAbWVtYmVyb2YgdWlTdGF0ZUFjdGlvbnNcbiAqIEBwYXJhbSBsb2NhbGUgLSBsb2NhbGUgb2YgdGhlIFVJXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBzZXRMb2NhbGU6IChcbiAgbG9jYWxlOiBTZXRMb2NhbGVVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ11bJ2xvY2FsZSddXG4pID0+IE1lcmdlPFNldExvY2FsZVVwZGF0ZXJBY3Rpb24sIHt0eXBlOiB0eXBlb2YgQWN0aW9uVHlwZXMuU0VUX0xPQ0FMRX0+ID0gY3JlYXRlQWN0aW9uKFxuICBBY3Rpb25UeXBlcy5TRVRfTE9DQUxFLFxuICAobG9jYWxlOiBTZXRMb2NhbGVVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ11bJ2xvY2FsZSddKSA9PiAoe1xuICAgIHBheWxvYWQ6IHtcbiAgICAgIGxvY2FsZVxuICAgIH1cbiAgfSlcbik7XG5cbi8qKiBUT0dHTEVfUEFORUxfTElTVF9WSUVXICovXG5leHBvcnQgdHlwZSBUb2dnbGVQYW5lbExpc3RWaWV3QWN0aW9uID0ge1xuICBwYXlsb2FkOiB7XG4gICAgcGFuZWxJZDogc3RyaW5nO1xuICAgIGxpc3RWaWV3OiBzdHJpbmc7XG4gIH07XG59O1xuXG4vKipcbiAqIFRvZ2dsZSBsYXllciBwYW5lbCBsaXN0IHZpZXdcbiAqIEBtZW1iZXJvZiB1aVN0YXRlQWN0aW9uc1xuICogQHBhcmFtIHBheWxvYWRcbiAqIEBwYXJhbSBwYXlsb2FkLnBhbmVsSWQgcGFuZWwgaWQuXG4gKiBAcGFyYW0gcGF5bG9hZC5saXN0VmlldyBsYXllciBwYW5lbCBsaXN0VmlldyB2YWx1ZS4gQ2FuIGJlICdsaXN0JyBvciAnc29ydEJ5RGF0YXNldCdcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IHRvZ2dsZVBhbmVsTGlzdFZpZXc6IChcbiAgcGF5bG9hZDogVG9nZ2xlUGFuZWxMaXN0Vmlld0FjdGlvblsncGF5bG9hZCddXG4pID0+IE1lcmdlPFRvZ2dsZVBhbmVsTGlzdFZpZXdBY3Rpb24sIHt0eXBlOiB0eXBlb2YgQWN0aW9uVHlwZXMuVE9HR0xFX1BBTkVMX0xJU1RfVklFV30+ID1cbiAgY3JlYXRlQWN0aW9uKFxuICAgIEFjdGlvblR5cGVzLlRPR0dMRV9QQU5FTF9MSVNUX1ZJRVcsXG4gICAgKHBheWxvYWQ6IFRvZ2dsZVBhbmVsTGlzdFZpZXdBY3Rpb25bJ3BheWxvYWQnXSkgPT4gKHtwYXlsb2FkfSlcbiAgKTtcblxuLyoqXG4gKiBUaGlzIGRlY2xhcmF0aW9uIGlzIG5lZWRlZCB0byBncm91cCBhY3Rpb25zIGluIGRvY3NcbiAqL1xuLyoqXG4gKiBBY3Rpb25zIGhhbmRsZWQgbW9zdGx5IGJ5ICBgdWlTdGF0ZWAgcmVkdWNlci5cbiAqIFRoZXkgbWFuYWdlIFVJIGNoYW5nZXMgaW4gdGhhIGFwcCwgc3VjaCBhcyBvcGVuIGFuZCBjbG9zZSBzaWRlIHBhbmVsLFxuICogc3dpdGNoIGJldHdlZW4gdGFicyBpbiB0aGUgc2lkZSBwYW5lbCwgb3BlbiBhbmQgY2xvc2UgbW9kYWwgZGlhbG9nIGZvciBleHBvcnRpbmcgZGF0YSAvIGltYWdlcyBldGMuXG4gKiBJdCBhbHNvIG1hbmdlcyB3aGljaCBzZXR0aW5ncyBhcmUgc2VsZWN0ZWQgZHVyaW5nIGltYWdlIGFuZCBtYXAgZXhwb3J0XG4gKlxuICogQHB1YmxpY1xuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cbi8vIEB0cy1pZ25vcmVcbmNvbnN0IHVpU3RhdGVBY3Rpb25zID0gbnVsbDtcbi8qIGVzbGludC1lbmFibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzICovXG5cbi8qKiBTRVRfTE9BRElOR19JTkRJQ0FUT1IgKi9cbmV4cG9ydCB0eXBlIFNldExvYWRpbmdJbmRpY2F0b3JBY3Rpb24gPSB7XG4gIHBheWxvYWQ6IHtcbiAgICBjaGFuZ2U6IG51bWJlcjtcbiAgfTtcbn07XG5cbi8qKlxuICogQ2hhbmdlIG9mIG51bWJlciBvZiBhY3RpdmUgbG9hZGluZyBhY3Rpb25zLlxuICogQG1lbWJlcm9mIHVpU3RhdGVBY3Rpb25zXG4gKiBAcGFyYW0gcGF5bG9hZFxuICogQHBhcmFtIHBheWxvYWQuY2hhbmdlIENoYW5nZSBvZiBudW1iZXIgb2YgYWN0aXZlIGxvYWRpbmcgYWN0aW9ucy5cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IHNldExvYWRpbmdJbmRpY2F0b3I6IChcbiAgcGF5bG9hZDogU2V0TG9hZGluZ0luZGljYXRvckFjdGlvblsncGF5bG9hZCddXG4pID0+IE1lcmdlPFNldExvYWRpbmdJbmRpY2F0b3JBY3Rpb24sIHt0eXBlOiB0eXBlb2YgQWN0aW9uVHlwZXMuU0VUX0xPQURJTkdfSU5ESUNBVE9SfT4gPVxuICBjcmVhdGVBY3Rpb24oXG4gICAgQWN0aW9uVHlwZXMuU0VUX0xPQURJTkdfSU5ESUNBVE9SLFxuICAgIChwYXlsb2FkOiBTZXRMb2FkaW5nSW5kaWNhdG9yQWN0aW9uWydwYXlsb2FkJ10pID0+ICh7cGF5bG9hZH0pXG4gICk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQSxJQUFBQSxRQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxZQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFKQTtBQUNBOztBQU9BOztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLElBQU1HLGVBRXlFLEdBQUFDLE9BQUEsQ0FBQUQsZUFBQSxHQUNwRixJQUFBRSxxQkFBWSxFQUFDQyx1QkFBVyxDQUFDQyxpQkFBaUIsRUFBRSxVQUFDQyxFQUFpQjtFQUFBLE9BQU07SUFBQ0MsT0FBTyxFQUFFRDtFQUFFLENBQUM7QUFBQSxDQUFDLENBQUM7O0FBRXJGOztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLElBQU1FLFdBRWdFLEdBQUFOLE9BQUEsQ0FBQU0sV0FBQSxHQUFHLElBQUFMLHFCQUFZLEVBQzFGQyx1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
374
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdG9vbGtpdCIsInJlcXVpcmUiLCJfYWN0aW9uVHlwZXMiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwidG9nZ2xlU2lkZVBhbmVsIiwiZXhwb3J0cyIsImNyZWF0ZUFjdGlvbiIsIkFjdGlvblR5cGVzIiwiVE9HR0xFX1NJREVfUEFORUwiLCJpZCIsInBheWxvYWQiLCJ0b2dnbGVNb2RhbCIsIlRPR0dMRV9NT0RBTCIsInNob3dFeHBvcnREcm9wZG93biIsIlNIT1dfRVhQT1JUX0RST1BET1dOIiwiaGlkZUV4cG9ydERyb3Bkb3duIiwiSElERV9FWFBPUlRfRFJPUERPV04iLCJ0b2dnbGVTaWRlUGFuZWxDbG9zZUJ1dHRvbiIsIlRPR0dMRV9TSURFX1BBTkVMX0NMT1NFX0JVVFRPTiIsInNob3ciLCJ0b2dnbGVNYXBDb250cm9sIiwiVE9HR0xFX01BUF9DT05UUk9MIiwicGFuZWxJZCIsImluZGV4Iiwic2V0TWFwQ29udHJvbFZpc2liaWxpdHkiLCJTRVRfTUFQX0NPTlRST0xfVklTSUJJTElUWSIsInNldE1hcENvbnRyb2xTZXR0aW5ncyIsIlNFVF9NQVBfQ09OVFJPTF9TRVRUSU5HUyIsInNldHRpbmdzIiwib3BlbkRlbGV0ZU1vZGFsIiwiT1BFTl9ERUxFVEVfTU9EQUwiLCJkYXRhc2V0SWQiLCJhZGROb3RpZmljYXRpb24iLCJBRERfTk9USUZJQ0FUSU9OIiwibm90aWZpY2F0aW9uIiwicmVtb3ZlTm90aWZpY2F0aW9uIiwiUkVNT1ZFX05PVElGSUNBVElPTiIsInNldEV4cG9ydEltYWdlU2V0dGluZyIsIlNFVF9FWFBPUlRfSU1BR0VfU0VUVElORyIsIm5ld1NldHRpbmciLCJzdGFydEV4cG9ydGluZ0ltYWdlIiwiU1RBUlRfRVhQT1JUSU5HX0lNQUdFIiwic2V0RXhwb3J0SW1hZ2VEYXRhVXJpIiwiU0VUX0VYUE9SVF9JTUFHRV9EQVRBX1VSSSIsImRhdGFVcmkiLCJzZXRFeHBvcnRJbWFnZUVycm9yIiwiU0VUX0VYUE9SVF9JTUFHRV9FUlJPUiIsImVycm9yIiwiY2xlYW51cEV4cG9ydEltYWdlIiwiQ0xFQU5VUF9FWFBPUlRfSU1BR0UiLCJzZXRFeHBvcnRTZWxlY3RlZERhdGFzZXQiLCJTRVRfRVhQT1JUX1NFTEVDVEVEX0RBVEFTRVQiLCJzZXRFeHBvcnREYXRhVHlwZSIsIlNFVF9FWFBPUlRfREFUQV9UWVBFIiwiZGF0YVR5cGUiLCJzZXRFeHBvcnRGaWx0ZXJlZCIsIlNFVF9FWFBPUlRfRklMVEVSRUQiLCJzZXRFeHBvcnREYXRhIiwiU0VUX0VYUE9SVF9EQVRBIiwic2V0VXNlck1hcGJveEFjY2Vzc1Rva2VuIiwiU0VUX1VTRVJfTUFQQk9YX0FDQ0VTU19UT0tFTiIsInNldEV4cG9ydE1hcEZvcm1hdCIsIlNFVF9FWFBPUlRfTUFQX0ZPUk1BVCIsInNldEV4cG9ydEhUTUxNYXBNb2RlIiwiU0VUX0VYUE9SVF9NQVBfSFRNTF9NT0RFIiwic2V0TG9jYWxlIiwiU0VUX0xPQ0FMRSIsImxvY2FsZSIsInRvZ2dsZVBhbmVsTGlzdFZpZXciLCJUT0dHTEVfUEFORUxfTElTVF9WSUVXIiwidWlTdGF0ZUFjdGlvbnMiXSwic291cmNlcyI6WyIuLi9zcmMvdWktc3RhdGUtYWN0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQge2NyZWF0ZUFjdGlvbn0gZnJvbSAnQHJlZHV4anMvdG9vbGtpdCc7XG5pbXBvcnQge2RlZmF1bHQgYXMgQWN0aW9uVHlwZXN9IGZyb20gJy4vYWN0aW9uLXR5cGVzJztcbmltcG9ydCB7TWVyZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtFeHBvcnRJbWFnZX0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuXG4vKiogVE9HR0xFX1NJREVfUEFORUwgKi9cbmV4cG9ydCB0eXBlIFRvZ2dsZVNpZGVQYW5lbFVwZGF0ZXJBY3Rpb24gPSB7XG4gIHBheWxvYWQ6IHN0cmluZyB8IG51bGw7XG59O1xuLyoqXG4gKiBUb2dnbGUgYWN0aXZlIHNpZGUgcGFuZWxcbiAqIEBtZW1iZXJvZiB1aVN0YXRlQWN0aW9uc1xuICogQHBhcmFtIGlkICBpZCBvZiBzaWRlIHBhbmVsIHRvIGJlIHNob3duLCBvbmUgb2YgYGxheWVyYCwgYGZpbHRlcmAsIGBpbnRlcmFjdGlvbmAsIGBtYXBgXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCB0b2dnbGVTaWRlUGFuZWw6IChcbiAgaWQ6IFRvZ2dsZVNpZGVQYW5lbFVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXVxuKSA9PiBNZXJnZTxUb2dnbGVTaWRlUGFuZWxVcGRhdGVyQWN0aW9uLCB7dHlwZTogdHlwZW9mIEFjdGlvblR5cGVzLlRPR0dMRV9TSURFX1BBTkVMfT4gPVxuICBjcmVhdGVBY3Rpb24oQWN0aW9uVHlwZXMuVE9HR0xFX1NJREVfUEFORUwsIChpZDogc3RyaW5nIHwgbnVsbCkgPT4gKHtwYXlsb2FkOiBpZH0pKTtcblxuLyoqIFRPR0dMRV9NT0RBTCAqL1xuZXhwb3J0IHR5cGUgVG9nZ2xlTW9kYWxVcGRhdGVyQWN0aW9uID0ge1xuICBwYXlsb2FkOiBzdHJpbmcgfCBudWxsO1xufTtcbi8qKlxuICogU2hvdyBhbmQgaGlkZSBtb2RhbCBkaWFsb2dcbiAqIEBtZW1iZXJvZiB1aVN0YXRlQWN0aW9uc1xuICogQHBhcmFtIGlkIC0gaWQgb2YgbW9kYWwgdG8gYmUgc2hvd24sIG51bGwgdG8gaGlkZSBtb2RhbHMuIE9uZSBvZjpcbiAqICAtIFtgREFUQV9UQUJMRV9JRGBdKC4uL2NvbnN0YW50cy9kZWZhdWx0LXNldHRpbmdzLm1kI2RhdGFfdGFibGVfaWQpXG4gKiAgLSBbYERFTEVURV9EQVRBX0lEYF0oLi4vY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MubWQjZGVsZXRlX2RhdGFfaWQpXG4gKiAgLSBbYEFERF9EQVRBX0lEYF0oLi4vY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MubWQjYWRkX2RhdGFfaWQpXG4gKiAgLSBbYEVYUE9SVF9JTUFHRV9JRGBdKC4uL2NvbnN0YW50cy9kZWZhdWx0LXNldHRpbmdzLm1kI2V4cG9ydF9pbWFnZV9pZClcbiAqICAtIFtgRVhQT1JUX0RBVEFfSURgXSguLi9jb25zdGFudHMvZGVmYXVsdC1zZXR0aW5ncy5tZCNleHBvcnRfZGF0YV9pZClcbiAqICAtIFtgQUREX01BUF9TVFlMRV9JRGBdKC4uL2NvbnN0YW50cy9kZWZhdWx0LXNldHRpbmdzLm1kI2FkZF9tYXBfc3R5bGVfaWQpXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCB0b2dnbGVNb2RhbDogKFxuICBpZDogVG9nZ2xlTW9kYWxVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ11cbikgPT4gTWVyZ2U8VG9nZ2xlTW9kYWxVcGRhdGVyQWN0aW9uLCB7dHlwZTogdHlwZW9mIEFjdGlvblR5cGVzLlRPR0dMRV9NT0RBTH0+ID0gY3JlYXRlQWN0aW9uKFxuICBBY3Rpb25UeXBlcy5UT0dHTEVfTU9EQUwsXG4gIChpZDogVG9nZ2xlTW9kYWxVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ10pID0+ICh7XG4gICAgcGF5bG9hZDogaWRcbiAgfSlcbik7XG5cbi8qKiBTSE9XX0VYUE9SVF9EUk9QRE9XTiAqL1xuZXhwb3J0IHR5cGUgU2hvd0V4cG9ydERyb3Bkb3duVXBkYXRlckFjdGlvbiA9IHtcbiAgcGF5bG9hZDogc3RyaW5nO1xufTtcbi8qKlxuICogSGlkZSBhbmQgc2hvdyBzaWRlIHBhbmVsIGhlYWRlciBkcm9wZG93biwgYWN0aXZhdGVkIGJ5IGNsaWNraW5nIHRoZSBzaGFyZSBsaW5rIG9uIHRvcCBvZiB0aGUgc2lkZSBwYW5lbFxuICogQG1lbWJlcm9mIHVpU3RhdGVBY3Rpb25zXG4gKiBAcGFyYW0gaWQgLSBpZCBvZiB0aGUgZHJvcGRvd25cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IHNob3dFeHBvcnREcm9wZG93bjogKFxuICBpZDogU2hvd0V4cG9ydERyb3Bkb3duVXBkYXRlckFjdGlvblsncGF5bG9hZCddXG4pID0+IE1lcmdlPFNob3dFeHBvcnREcm9wZG93blVwZGF0ZXJBY3Rpb24sIHt0eXBlOiB0eXBlb2YgQWN0aW9uVHlwZXMuU0hPV19FWFBPUlRfRFJPUERPV059PiA9XG4gIGNyZWF0ZUFjdGlvbihcbiAgICBBY3Rpb25UeXBlcy5TSE9XX0VYUE9SVF9EUk9QRE9XTixcbiAgICAoaWQ6IFNob3dFeHBvcnREcm9wZG93blVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXSkgPT4gKHtwYXlsb2FkOiBpZH0pXG4gICk7XG5cbi8qKlxuICogSGlkZSBzaWRlIHBhbmVsIGhlYWRlciBkcm9wZG93biwgYWN0aXZhdGVkIGJ5IGNsaWNraW5nIHRoZSBzaGFyZSBsaW5rIG9uIHRvcCBvZiB0aGUgc2lkZSBwYW5lbFxuICogQG1lbWJlcm9mIHVpU3RhdGVBY3Rpb25zXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBoaWRlRXhwb3J0RHJvcGRvd246ICgpID0+IHtcbiAgdHlwZTogdHlwZW9mIEFjdGlvblR5cGVzLkhJREVfRVhQT1JUX0RST1BET1dOO1xufSA9IGNyZWF0ZUFjdGlvbihBY3Rpb25UeXBlcy5ISURFX0VYUE9SVF9EUk9QRE9XTik7XG5cbi8qKiBUT0dHTEVfU0lERV9QQU5FTF9DTE9TRV9CVVRUT04qL1xuZXhwb3J0IHR5cGUgVG9nZ2xlU2lkZVBhbmVsQ2xvc2VCdXR0b25VcGRhdGVyQWN0aW9uID0ge1xuICBwYXlsb2FkOiB7XG4gICAgc2hvdzogYm9vbGVhbjtcbiAgfTtcbn07XG5cbi8qKlxuICogVG9nZ2xlIHNpZGUgcGFuZWwgY2xvc2UgYnV0dG9uXG4gKiBAbWVtYmVyb2YgdWlTdGF0ZUFjdGlvbnNcbiAqIEBwYXJhbSBzaG93IC0gaWYgc2lkZSBwYW5lbCBidXR0b24gdmlzaWJsZVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgdG9nZ2xlU2lkZVBhbmVsQ2xvc2VCdXR0b246IChcbiAgc2hvdzogYm9vbGVhblxuKSA9PiBNZXJnZTxcbiAgVG9nZ2xlU2lkZVBhbmVsQ2xvc2VCdXR0b25VcGRhdGVyQWN0aW9uLFxuICB7dHlwZTogdHlwZW9mIEFjdGlvblR5cGVzLlRPR0dMRV9TSURFX1BBTkVMX0NMT1NFX0JVVFRPTn1cbj4gPSBjcmVhdGVBY3Rpb24oQWN0aW9uVHlwZXMuVE9HR0xFX1NJREVfUEFORUxfQ0xPU0VfQlVUVE9OLCBzaG93ID0+ICh7cGF5bG9hZDoge3Nob3d9fSkpO1xuXG4vKiogVE9HR0xFX01BUF9DT05UUk9MICovXG5leHBvcnQgdHlwZSBUb2dnbGVNYXBDb250cm9sVXBkYXRlckFjdGlvbiA9IHtcbiAgcGF5bG9hZDoge1xuICAgIHBhbmVsSWQ6IHN0cmluZztcbiAgICBpbmRleDogbnVtYmVyO1xuICB9O1xufTtcbi8qKlxuICogVG9nZ2xlIGFjdGl2ZSBtYXAgY29udHJvbCBwYW5lbFxuICogQG1lbWJlcm9mIHVpU3RhdGVBY3Rpb25zXG4gKiBAcGFyYW0gcGFuZWxJZCAtIG1hcCBjb250cm9sIHBhbmVsIGlkLCBvbmUgb2YgdGhlIGtleXMgb2Y6IFtgREVGQVVMVF9NQVBfQ09OVFJPTFNgXSgjZGVmYXVsdF9tYXBfY29udHJvbHMpXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCB0b2dnbGVNYXBDb250cm9sOiAoXG4gIHBhbmVsSWQ6IFRvZ2dsZU1hcENvbnRyb2xVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ11bJ3BhbmVsSWQnXSxcbiAgaW5kZXg6IFRvZ2dsZU1hcENvbnRyb2xVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ11bJ2luZGV4J11cbikgPT4gTWVyZ2U8VG9nZ2xlTWFwQ29udHJvbFVwZGF0ZXJBY3Rpb24sIHt0eXBlOiB0eXBlb2YgQWN0aW9uVHlwZXMuVE9HR0xFX01BUF9DT05UUk9MfT4gPVxuICBjcmVhdGVBY3Rpb24oXG4gICAgQWN0aW9uVHlwZXMuVE9HR0xFX01BUF9DT05UUk9MLFxuICAgIChcbiAgICAgIHBhbmVsSWQ6IFRvZ2dsZU1hcENvbnRyb2xVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ11bJ3BhbmVsSWQnXSxcbiAgICAgIGluZGV4OiBUb2dnbGVNYXBDb250cm9sVXBkYXRlckFjdGlvblsncGF5bG9hZCddWydpbmRleCddXG4gICAgKSA9PiAoe1xuICAgICAgcGF5bG9hZDoge1xuICAgICAgICBwYW5lbElkLFxuICAgICAgICBpbmRleFxuICAgICAgfVxuICAgIH0pXG4gICk7XG5cbi8qKiBTRVRfTUFQX0NPTlRST0xfVklTSUJJTElUWSAqL1xuZXhwb3J0IHR5cGUgc2V0TWFwQ29udHJvbFZpc2liaWxpdHlVcGRhdGVyQWN0aW9uID0ge1xuICBwYXlsb2FkOiB7XG4gICAgcGFuZWxJZDogc3RyaW5nO1xuICAgIHNob3c6IGJvb2xlYW47XG4gIH07XG59O1xuLyoqXG4gKiBUb2dnbGUgYWN0aXZlIG1hcCBjb250cm9sIHBhbmVsXG4gKiBAbWVtYmVyb2YgdWlTdGF0ZUFjdGlvbnNcbiAqIEBwYXJhbSBwYW5lbElkIC0gbWFwIGNvbnRyb2wgcGFuZWwgaWQsIG9uZSBvZiB0aGUga2V5cyBvZjogW2BERUZBVUxUX01BUF9DT05UUk9MU2BdKCNkZWZhdWx0X21hcF9jb250cm9scylcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IHNldE1hcENvbnRyb2xWaXNpYmlsaXR5OiAoXG4gIHBhbmVsSWQ6IHNldE1hcENvbnRyb2xWaXNpYmlsaXR5VXBkYXRlckFjdGlvblsncGF5bG9hZCddWydwYW5lbElkJ10sXG4gIHNob3c6IHNldE1hcENvbnRyb2xWaXNpYmlsaXR5VXBkYXRlckFjdGlvblsncGF5bG9hZCddWydzaG93J11cbikgPT4gTWVyZ2U8XG4gIHNldE1hcENvbnRyb2xWaXNpYmlsaXR5VXBkYXRlckFjdGlvbixcbiAge3R5cGU6IHR5cGVvZiBBY3Rpb25UeXBlcy5TRVRfTUFQX0NPTlRST0xfVklTSUJJTElUWX1cbj4gPSBjcmVhdGVBY3Rpb24oXG4gIEFjdGlvblR5cGVzLlNFVF9NQVBfQ09OVFJPTF9WSVNJQklMSVRZLFxuICAoXG4gICAgcGFuZWxJZDogc2V0TWFwQ29udHJvbFZpc2liaWxpdHlVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ11bJ3BhbmVsSWQnXSxcbiAgICBzaG93OiBzZXRNYXBDb250cm9sVmlzaWJpbGl0eVVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXVsnc2hvdyddXG4gICkgPT4gKHtcbiAgICBwYXlsb2FkOiB7XG4gICAgICBwYW5lbElkLFxuICAgICAgc2hvd1xuICAgIH1cbiAgfSlcbik7XG5cbi8qKiBTRVRfTUFQX0NPTlRST0xfU0VUVElOR1MgKi9cbmV4cG9ydCB0eXBlIHNldE1hcENvbnRyb2xTZXR0aW5nc1VwZGF0ZXJBY3Rpb24gPSB7XG4gIHBheWxvYWQ6IHtcbiAgICBwYW5lbElkOiBzdHJpbmc7XG4gICAgc2V0dGluZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICB9O1xufTtcblxuLyoqXG4gKiBTZXQgbWFwIGNvbnRyb2wgc2V0dGluZ3NcbiAqIEBtZW1iZXJvZiB1aVN0YXRlQWN0aW9uc1xuICogQHBhcmFtIHBhbmVsSWQgLSBtYXAgY29udHJvbCBwYW5lbCBpZCwgb25lIG9mIHRoZSBrZXlzIG9mOiBbYERFRkFVTFRfTUFQX0NPTlRST0xTYF0oI2RlZmF1bHRfbWFwX2NvbnRyb2xzKVxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3Qgc2V0TWFwQ29udHJvbFNldHRpbmdzOiAoXG4gIHBhbmVsSWQ6IHN0cmluZyxcbiAgc2V0dGluZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4pID0+IE1lcmdlPFxuICBzZXRNYXBDb250cm9sU2V0dGluZ3NVcGRhdGVyQWN0aW9uLFxuICB7dHlwZTogdHlwZW9mIEFjdGlvblR5cGVzLlNFVF9NQVBfQ09OVFJPTF9TRVRUSU5HU31cbj4gPSBjcmVhdGVBY3Rpb24oQWN0aW9uVHlwZXMuU0VUX01BUF9DT05UUk9MX1NFVFRJTkdTLCAocGFuZWxJZCwgc2V0dGluZ3MpID0+ICh7XG4gIHBheWxvYWQ6IHtwYW5lbElkLCBzZXR0aW5nc31cbn0pKTtcblxuLyoqIE9QRU5fREVMRVRFX01PREFMICovXG5leHBvcnQgdHlwZSBPcGVuRGVsZXRlTW9kYWxVcGRhdGVyQWN0aW9uID0ge1xuICBwYXlsb2FkOiBzdHJpbmc7XG59O1xuLyoqXG4gKiBUb2dnbGUgYWN0aXZlIG1hcCBjb250cm9sIHBhbmVsXG4gKiBAbWVtYmVyb2YgdWlTdGF0ZUFjdGlvbnNcbiAqIEBwYXJhbSBkYXRhc2V0SWQgLSBgaWRgIG9mIHRoZSBkYXRhc2V0IHRvIGJlIGRlbGV0ZWRcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IG9wZW5EZWxldGVNb2RhbDogKFxuICBkYXRhc2V0SWQ6IE9wZW5EZWxldGVNb2RhbFVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXVxuKSA9PiBNZXJnZTxPcGVuRGVsZXRlTW9kYWxVcGRhdGVyQWN0aW9uLCB7dHlwZTogdHlwZW9mIEFjdGlvblR5cGVzLk9QRU5fREVMRVRFX01PREFMfT4gPVxuICBjcmVhdGVBY3Rpb24oXG4gICAgQWN0aW9uVHlwZXMuT1BFTl9ERUxFVEVfTU9EQUwsXG4gICAgKGRhdGFzZXRJZDogT3BlbkRlbGV0ZU1vZGFsVXBkYXRlckFjdGlvblsncGF5bG9hZCddKSA9PiAoe3BheWxvYWQ6IGRhdGFzZXRJZH0pXG4gICk7XG5cbi8qKiBBRERfTk9USUZJQ0FUSU9OICovXG5leHBvcnQgdHlwZSBBZGROb3RpZmljYXRpb25VcGRhdGVyQWN0aW9uID0ge1xuICBwYXlsb2FkOiBvYmplY3Q7XG59O1xuLyoqXG4gKiBBZGQgYSBub3RpZmljYXRpb24gdG8gYmUgZGlzcGxheWVkLlxuICogRXhpc3Rpbmcgbm90aWZpY2F0aW9uIHdpbGwgYmUgdXBkYXRlZCBpbiBjYXNlIG9mIG1hdGNoaW5nIGlkLlxuICogQG1lbWJlcm9mIHVpU3RhdGVBY3Rpb25zXG4gKiBAcGFyYW0gbm90aWZpY2F0aW9uIC0gVGhlIGBub3RpZmljYXRpb25gIG9iamVjdCB0byBiZSBhZGRlZCBvciB1cGRhdGVkXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBhZGROb3RpZmljYXRpb246IChub3RpZmljYXRpb246IEFkZE5vdGlmaWNhdGlvblVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXSkgPT4gTWVyZ2U8XG4gIEFkZE5vdGlmaWNhdGlvblVwZGF0ZXJBY3Rpb24sXG4gIHtcbiAgICB0eXBlOiB0eXBlb2YgQWN0aW9uVHlwZXMuQUREX05PVElGSUNBVElPTjtcbiAgfVxuPiA9IGNyZWF0ZUFjdGlvbihcbiAgQWN0aW9uVHlwZXMuQUREX05PVElGSUNBVElPTixcbiAgKG5vdGlmaWNhdGlvbjogQWRkTm90aWZpY2F0aW9uVXBkYXRlckFjdGlvblsncGF5bG9hZCddKSA9PiAoe3BheWxvYWQ6IG5vdGlmaWNhdGlvbn0pXG4pO1xuXG4vKiogUkVNT1ZFX05PVElGSUNBVElPTiAqL1xuZXhwb3J0IHR5cGUgUmVtb3ZlTm90aWZpY2F0aW9uVXBkYXRlckFjdGlvbiA9IHtcbiAgcGF5bG9hZDogc3RyaW5nO1xufTtcbi8qKlxuICogUmVtb3ZlIGEgbm90aWZpY2F0aW9uXG4gKiBAbWVtYmVyb2YgdWlTdGF0ZUFjdGlvbnNcbiAqIEBwYXJhbSBpZCAtIGBpZGAgb2YgdGhlIG5vdGlmaWNhdGlvbiB0byBiZSByZW1vdmVkXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCByZW1vdmVOb3RpZmljYXRpb246IChcbiAgaWQ6IFJlbW92ZU5vdGlmaWNhdGlvblVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXVxuKSA9PiBNZXJnZTxSZW1vdmVOb3RpZmljYXRpb25VcGRhdGVyQWN0aW9uLCB7dHlwZTogdHlwZW9mIEFjdGlvblR5cGVzLlJFTU9WRV9OT1RJRklDQVRJT059PiA9XG4gIGNyZWF0ZUFjdGlvbihcbiAgICBBY3Rpb25UeXBlcy5SRU1PVkVfTk9USUZJQ0FUSU9OLFxuICAgIChpZDogUmVtb3ZlTm90aWZpY2F0aW9uVXBkYXRlckFjdGlvblsncGF5bG9hZCddKSA9PiAoe3BheWxvYWQ6IGlkfSlcbiAgKTtcblxuLyoqIFNFVF9FWFBPUlRfSU1BR0VfU0VUVElORyAqL1xuZXhwb3J0IHR5cGUgU2V0RXhwb3J0SW1hZ2VTZXR0aW5nVXBkYXRlckFjdGlvbiA9IHtcbiAgcGF5bG9hZDogUGFydGlhbDxFeHBvcnRJbWFnZT47XG59O1xuLyoqXG4gKiBTZXQgYGV4cG9ydEltYWdlYCBzZXR0aW5nczogcmF0aW8sIHJlc29sdXRpb24sIGxlZ2VuZFxuICogQG1lbWJlcm9mIHVpU3RhdGVBY3Rpb25zXG4gKiBAcGFyYW0gbmV3U2V0dGluZyAtIHtyYXRpbzogJzF4J31cbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IHNldEV4cG9ydEltYWdlU2V0dGluZzogKFxuICBuZXdTZXR0aW5nOiBTZXRFeHBvcnRJbWFnZVNldHRpbmdVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ11cbikgPT4gTWVyZ2U8XG4gIFNldEV4cG9ydEltYWdlU2V0dGluZ1VwZGF0ZXJBY3Rpb24sXG4gIHt0eXBlOiB0eXBlb2YgQWN0aW9uVHlwZXMuU0VUX0VYUE9SVF9JTUFHRV9TRVRUSU5HfVxuPiA9IGNyZWF0ZUFjdGlvbihcbiAgQWN0aW9uVHlwZXMuU0VUX0VYUE9SVF9JTUFHRV9TRVRUSU5HLFxuICAobmV3U2V0dGluZzogU2V0RXhwb3J0SW1hZ2VTZXR0aW5nVXBkYXRlckFjdGlvblsncGF5bG9hZCddKSA9PiAoe3BheWxvYWQ6IG5ld1NldHRpbmd9KVxuKTtcblxuLyoqXG4gKiBTdGFydCBleHBvcnRpbmcgaW1hZ2UgZmxvd1xuICogQG1lbWJlcm9mIHVpU3RhdGVBY3Rpb25zXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBzdGFydEV4cG9ydGluZ0ltYWdlOiAob3B0aW9ucz86IHtcbiAgcmF0aW8/OiBzdHJpbmc7XG4gIHJlc29sdXRpb24/OiBzdHJpbmc7XG4gIGxlZ2VuZD86IHN0cmluZztcbiAgY2VudGVyPzogYm9vbGVhbjtcbn0pID0+IE1lcmdlPFNldEV4cG9ydEltYWdlU2V0dGluZ1VwZGF0ZXJBY3Rpb24sIHt0eXBlOiB0eXBlb2YgQWN0aW9uVHlwZXMuU1RBUlRfRVhQT1JUSU5HX0lNQUdFfT4gPVxuICBjcmVhdGVBY3Rpb24oQWN0aW9uVHlwZXMuU1RBUlRfRVhQT1JUSU5HX0lNQUdFLCAocGF5bG9hZDogYW55KSA9PiAoe3BheWxvYWR9KSk7XG5cbi8qKiBTRVRfRVhQT1JUX0lNQUdFX0RBVEFfVVJJICovXG5leHBvcnQgdHlwZSBTZXRFeHBvcnRJbWFnZURhdGFVcmlVcGRhdGVyQWN0aW9uID0ge1xuICBwYXlsb2FkOiBzdHJpbmc7XG59O1xuLyoqXG4gKiBTZXQgYGV4cG9ydEltYWdlLnNldEV4cG9ydEltYWdlRGF0YVVyaWAgdG8gYSBkYXRhVXJpXG4gKiBAbWVtYmVyb2YgdWlTdGF0ZUFjdGlvbnNcbiAqIEBwYXJhbSBkYXRhVXJpIC0gZXhwb3J0IGltYWdlIGRhdGEgdXJpXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBzZXRFeHBvcnRJbWFnZURhdGFVcmk6IChcbiAgZGF0YVVyaTogU2V0RXhwb3J0SW1hZ2VEYXRhVXJpVXBkYXRlckFjdGlvblsncGF5bG9hZCddXG4pID0+IE1lcmdlPFxuICBTZXRFeHBvcnRJbWFnZURhdGFVcmlVcGRhdGVyQWN0aW9uLFxuICB7dHlwZTogdHlwZW9mIEFjdGlvblR5cGVzLlNFVF9FWFBPUlRfSU1BR0VfREFUQV9VUkl9XG4+ID0gY3JlYXRlQWN0aW9uKFxuICBBY3Rpb25UeXBlcy5TRVRfRVhQT1JUX0lNQUdFX0RBVEFfVVJJLFxuICAoZGF0YVVyaTogU2V0RXhwb3J0SW1hZ2VEYXRhVXJpVXBkYXRlckFjdGlvblsncGF5bG9hZCddKSA9PiAoe3BheWxvYWQ6IGRhdGFVcml9KVxuKTtcblxuLyoqIFNFVF9FWFBPUlRfSU1BR0VfRVJST1IgKi9cbmV4cG9ydCB0eXBlIFNldEV4cG9ydEltYWdlRXJyb3JVcGRhdGVyQWN0aW9uID0ge1xuICBwYXlsb2FkOiBFcnJvcjtcbn07XG4vKipcbiAqIFNldCBFeHBvcnQgaW1hZ2UgZXJyb3JcbiAqIEBtZW1iZXJvZiB1aVN0YXRlQWN0aW9uc1xuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3Qgc2V0RXhwb3J0SW1hZ2VFcnJvcjogKFxuICBlcnJvcjogU2V0RXhwb3J0SW1hZ2VFcnJvclVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXVxuKSA9PiBNZXJnZTxTZXRFeHBvcnRJbWFnZUVycm9yVXBkYXRlckFjdGlvbiwge3R5cGU6IHR5cGVvZiBBY3Rpb25UeXBlcy5TRVRfRVhQT1JUX0lNQUdFX0VSUk9SfT4gPVxuICBjcmVhdGVBY3Rpb24oXG4gICAgQWN0aW9uVHlwZXMuU0VUX0VYUE9SVF9JTUFHRV9FUlJPUixcbiAgICAoZXJyb3I6IFNldEV4cG9ydEltYWdlRXJyb3JVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ10pID0+ICh7cGF5bG9hZDogZXJyb3J9KVxuICApO1xuXG4vKipcbiAqIERlbGV0ZSBjYWNoZWQgZXhwb3J0IGltYWdlXG4gKiBAbWVtYmVyb2YgdWlTdGF0ZUFjdGlvbnNcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IGNsZWFudXBFeHBvcnRJbWFnZTogKCkgPT4ge1xuICB0eXBlOiB0eXBlb2YgQWN0aW9uVHlwZXMuQ0xFQU5VUF9FWFBPUlRfSU1BR0U7XG59ID0gY3JlYXRlQWN0aW9uKEFjdGlvblR5cGVzLkNMRUFOVVBfRVhQT1JUX0lNQUdFKTtcblxuLyoqIFNFVF9FWFBPUlRfU0VMRUNURURfREFUQVNFVCAqL1xuZXhwb3J0IHR5cGUgU2V0RXhwb3J0U2VsZWN0ZWREYXRhc2V0VXBkYXRlckFjdGlvbiA9IHtcbiAgcGF5bG9hZDogc3RyaW5nO1xufTtcbi8qKlxuICogU2V0IHNlbGVjdGVkIGRhdGFzZXQgZm9yIGV4cG9ydFxuICogQG1lbWJlcm9mIHVpU3RhdGVBY3Rpb25zXG4gKiBAcGFyYW0gZGF0YXNldElkIC0gZGF0YXNldCBpZFxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3Qgc2V0RXhwb3J0U2VsZWN0ZWREYXRhc2V0OiAoXG4gIGRhdGFzZXRJZDogU2V0RXhwb3J0U2VsZWN0ZWREYXRhc2V0VXBkYXRlckFjdGlvblsncGF5bG9hZCddXG4pID0+IE1lcmdlPFxuICBTZXRFeHBvcnRTZWxlY3RlZERhdGFzZXRVcGRhdGVyQWN0aW9uLFxuICB7dHlwZTogdHlwZW9mIEFjdGlvblR5cGVzLlNFVF9FWFBPUlRfU0VMRUNURURfREFUQVNFVH1cbj4gPSBjcmVhdGVBY3Rpb24oXG4gIEFjdGlvblR5cGVzLlNFVF9FWFBPUlRfU0VMRUNURURfREFUQVNFVCxcbiAgKGRhdGFzZXRJZDogU2V0RXhwb3J0U2VsZWN0ZWREYXRhc2V0VXBkYXRlckFjdGlvblsncGF5bG9hZCddKSA9PiAoe3BheWxvYWQ6IGRhdGFzZXRJZH0pXG4pO1xuXG4vKiogU0VUX0VYUE9SVF9EQVRBX1RZUEUgKi9cbmV4cG9ydCB0eXBlIFNldEV4cG9ydERhdGFUeXBlVXBkYXRlckFjdGlvbiA9IHtcbiAgcGF5bG9hZDogc3RyaW5nO1xufTtcbi8qKlxuICogU2V0IGRhdGEgZm9ybWF0IGZvciBleHBvcnRpbmcgZGF0YVxuICogQG1lbWJlcm9mIHVpU3RhdGVBY3Rpb25zXG4gKiBAcGFyYW0gZGF0YVR5cGUgLSBvbmUgb2YgYCd0ZXh0L2NzdidgXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBzZXRFeHBvcnREYXRhVHlwZTogKFxuICBkYXRhVHlwZTogU2V0RXhwb3J0RGF0YVR5cGVVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ11cbikgPT4gTWVyZ2U8U2V0RXhwb3J0RGF0YVR5cGVVcGRhdGVyQWN0aW9uLCB7dHlwZTogdHlwZW9mIEFjdGlvblR5cGVzLlNFVF9FWFBPUlRfREFUQV9UWVBFfT4gPVxuICBjcmVhdGVBY3Rpb24oXG4gICAgQWN0aW9uVHlwZXMuU0VUX0VYUE9SVF9EQVRBX1RZUEUsXG4gICAgKGRhdGFUeXBlOiBTZXRFeHBvcnREYXRhVHlwZVVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXSkgPT4gKHtwYXlsb2FkOiBkYXRhVHlwZX0pXG4gICk7XG5cbi8qKiBTRVRfRVhQT1JUX0ZJTFRFUkVEICovXG5leHBvcnQgdHlwZSBTZXRFeHBvcnRGaWx0ZXJlZFVwZGF0ZXJBY3Rpb24gPSB7XG4gIHBheWxvYWQ6IGJvb2xlYW47XG59O1xuLyoqXG4gKiBXaGV0aGVyIHRvIGV4cG9ydCBmaWx0ZXJlZCBkYXRhLCBgdHJ1ZWAgb3IgYGZhbHNlYFxuICogQG1lbWJlcm9mIHVpU3RhdGVBY3Rpb25zXG4gKiBAcGFyYW0gcGF5bG9hZCAtIHNldCBgdHJ1ZWAgdG8gb255IGV4cG9ydCBmaWx0ZXJlZCBkYXRhXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBzZXRFeHBvcnRGaWx0ZXJlZDogKFxuICBleHBvcnRGaWx0ZXJlZDogU2V0RXhwb3J0RmlsdGVyZWRVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ11cbikgPT4gTWVyZ2U8U2V0RXhwb3J0RmlsdGVyZWRVcGRhdGVyQWN0aW9uLCB7dHlwZTogdHlwZW9mIEFjdGlvblR5cGVzLlNFVF9FWFBPUlRfRklMVEVSRUR9PiA9XG4gIGNyZWF0ZUFjdGlvbihcbiAgICBBY3Rpb25UeXBlcy5TRVRfRVhQT1JUX0ZJTFRFUkVELFxuICAgIChwYXlsb2FkOiBTZXRFeHBvcnRGaWx0ZXJlZFVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXSkgPT4gKHtwYXlsb2FkfSlcbiAgKTtcblxuLyoqXG4gKiBXaGV0aGVyIHRvIGluY2x1ZGluZyBkYXRhIGluIG1hcCBjb25maWcsIHRvZ2dsZSBiZXR3ZWVuIGB0cnVlYCBvciBgZmFsc2VgXG4gKiBAbWVtYmVyb2YgdWlTdGF0ZUFjdGlvbnNcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IHNldEV4cG9ydERhdGE6ICgpID0+IHt0eXBlOiB0eXBlb2YgQWN0aW9uVHlwZXMuU0VUX0VYUE9SVF9EQVRBfSA9IGNyZWF0ZUFjdGlvbihcbiAgQWN0aW9uVHlwZXMuU0VUX0VYUE9SVF9EQVRBXG4pO1xuXG4vKiogU0VUX1VTRVJfTUFQQk9YX0FDQ0VTU19UT0tFTiAqL1xuZXhwb3J0IHR5cGUgU2V0VXNlck1hcGJveEFjY2Vzc1Rva2VuVXBkYXRlckFjdGlvbiA9IHtcbiAgcGF5bG9hZDogc3RyaW5nO1xufTtcbi8qKlxuICogV2hldGhlciB3ZSBleHBvcnQgYSBtYXBib3ggYWNjZXNzIHRva2VuIHVzZWQgdG8gY3JlYXRlIGEgc2luZ2xlIG1hcCBodG1sIGZpbGVcbiAqIEBtZW1iZXJvZiB1aVN0YXRlQWN0aW9uc1xuICogQHBhcmFtIHBheWxvYWQgLSBtYXBib3ggYWNjZXNzIHRva2VuXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBzZXRVc2VyTWFwYm94QWNjZXNzVG9rZW46IChcbiAgcGF5bG9hZDogU2V0VXNlck1hcGJveEFjY2Vzc1Rva2VuVXBkYXRlckFjdGlvblsncGF5bG9hZCddXG4pID0+IE1lcmdlPFxuICBTZXRVc2VyTWFwYm94QWNjZXNzVG9rZW5VcGRhdGVyQWN0aW9uLFxuICB7dHlwZTogdHlwZW9mIEFjdGlvblR5cGVzLlNFVF9VU0VSX01BUEJPWF9BQ0NFU1NfVE9LRU59XG4+ID0gY3JlYXRlQWN0aW9uKFxuICBBY3Rpb25UeXBlcy5TRVRfVVNFUl9NQVBCT1hfQUNDRVNTX1RPS0VOLFxuICAocGF5bG9hZDogU2V0VXNlck1hcGJveEFjY2Vzc1Rva2VuVXBkYXRlckFjdGlvblsncGF5bG9hZCddKSA9PiAoe3BheWxvYWR9KVxuKTtcblxuLyoqIFNFVF9FWFBPUlRfTUFQX0ZPUk1BVCAqL1xuZXhwb3J0IHR5cGUgU2V0RXhwb3J0TWFwRm9ybWF0VXBkYXRlckFjdGlvbiA9IHtcbiAgcGF5bG9hZDogc3RyaW5nO1xufTtcbi8qKlxuICogU2V0IHRoZSBleHBvcnQgbWFwIGZvcm1hdCAoaHRtbCwganNvbilcbiAqIEBtZW1iZXJPZiB1aVN0YXRlQWN0aW9uc1xuICogQHBhcmFtIHBheWxvYWQgLSBtYXAgZm9ybWF0XG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjb25zdCBzZXRFeHBvcnRNYXBGb3JtYXQ6IChcbiAgbWFwRm9ybWF0OiBTZXRFeHBvcnRNYXBGb3JtYXRVcGRhdGVyQWN0aW9uWydwYXlsb2FkJ11cbikgPT4gTWVyZ2U8U2V0RXhwb3J0TWFwRm9ybWF0VXBkYXRlckFjdGlvbiwge3R5cGU6IHR5cGVvZiBBY3Rpb25UeXBlcy5TRVRfRVhQT1JUX01BUF9GT1JNQVR9PiA9XG4gIGNyZWF0ZUFjdGlvbihcbiAgICBBY3Rpb25UeXBlcy5TRVRfRVhQT1JUX01BUF9GT1JNQVQsXG4gICAgKHBheWxvYWQ6IFNldEV4cG9ydE1hcEZvcm1hdFVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXSkgPT4gKHtwYXlsb2FkfSlcbiAgKTtcblxuLyoqIFNFVF9FWFBPUlRfTUFQX0hUTUxfTU9ERSAqL1xuZXhwb3J0IHR5cGUgU2V0RXhwb3J0SFRNTE1hcE1vZGVVcGRhdGVyQWN0aW9uID0ge1xuICBwYXlsb2FkOiBzdHJpbmc7XG59O1xuLyoqXG4gKiBTZXQgdGhlIEhUTUwgbW9kZSB0byB1c2UgdG8gZXhwb3J0IEhUTUwgbW9kZVxuICogQG1lbWJlck9mIHVpU3RhdGVBY3Rpb25zXG4gKiBAcGFyYW0gcGF5bG9hZCAtIG1hcCBtb2RlXG4gKi9cbmV4cG9ydCBjb25zdCBzZXRFeHBvcnRIVE1MTWFwTW9kZTogKFxuICBtb2RlOiBTZXRFeHBvcnRIVE1MTWFwTW9kZVVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXVxuKSA9PiBNZXJnZTxTZXRFeHBvcnRIVE1MTWFwTW9kZVVwZGF0ZXJBY3Rpb24sIHt0eXBlOiB0eXBlb2YgQWN0aW9uVHlwZXMuU0VUX0VYUE9SVF9NQVBfSFRNTF9NT0RFfT4gPVxuICBjcmVhdGVBY3Rpb24oXG4gICAgQWN0aW9uVHlwZXMuU0VUX0VYUE9SVF9NQVBfSFRNTF9NT0RFLFxuICAgIChwYXlsb2FkOiBTZXRFeHBvcnRIVE1MTWFwTW9kZVVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXSkgPT4gKHtwYXlsb2FkfSlcbiAgKTtcblxuLyoqIFNFVF9MT0NBTEUgKi9cbmV4cG9ydCB0eXBlIFNldExvY2FsZVVwZGF0ZXJBY3Rpb24gPSB7XG4gIHBheWxvYWQ6IHtsb2NhbGU6IHN0cmluZ307XG59O1xuLyoqXG4gKiBTZXQgYGxvY2FsZWAgdmFsdWVcbiAqIEBtZW1iZXJvZiB1aVN0YXRlQWN0aW9uc1xuICogQHBhcmFtIGxvY2FsZSAtIGxvY2FsZSBvZiB0aGUgVUlcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNvbnN0IHNldExvY2FsZTogKFxuICBsb2NhbGU6IFNldExvY2FsZVVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXVsnbG9jYWxlJ11cbikgPT4gTWVyZ2U8U2V0TG9jYWxlVXBkYXRlckFjdGlvbiwge3R5cGU6IHR5cGVvZiBBY3Rpb25UeXBlcy5TRVRfTE9DQUxFfT4gPSBjcmVhdGVBY3Rpb24oXG4gIEFjdGlvblR5cGVzLlNFVF9MT0NBTEUsXG4gIChsb2NhbGU6IFNldExvY2FsZVVwZGF0ZXJBY3Rpb25bJ3BheWxvYWQnXVsnbG9jYWxlJ10pID0+ICh7XG4gICAgcGF5bG9hZDoge1xuICAgICAgbG9jYWxlXG4gICAgfVxuICB9KVxuKTtcblxuLyoqIFRPR0dMRV9QQU5FTF9MSVNUX1ZJRVcgKi9cbmV4cG9ydCB0eXBlIFRvZ2dsZVBhbmVsTGlzdFZpZXdBY3Rpb24gPSB7XG4gIHBheWxvYWQ6IHtcbiAgICBwYW5lbElkOiBzdHJpbmc7XG4gICAgbGlzdFZpZXc6IHN0cmluZztcbiAgfTtcbn07XG5cbi8qKlxuICogVG9nZ2xlIGxheWVyIHBhbmVsIGxpc3Qgdmlld1xuICogQG1lbWJlcm9mIHVpU3RhdGVBY3Rpb25zXG4gKiBAcGFyYW0gcGF5bG9hZFxuICogQHBhcmFtIHBheWxvYWQucGFuZWxJZCBwYW5lbCBpZC5cbiAqIEBwYXJhbSBwYXlsb2FkLmxpc3RWaWV3IGxheWVyIHBhbmVsIGxpc3RWaWV3IHZhbHVlLiBDYW4gYmUgJ2xpc3QnIG9yICdzb3J0QnlEYXRhc2V0J1xuICogQHB1YmxpY1xuICovXG5leHBvcnQgY29uc3QgdG9nZ2xlUGFuZWxMaXN0VmlldzogKFxuICBwYXlsb2FkOiBUb2dnbGVQYW5lbExpc3RWaWV3QWN0aW9uWydwYXlsb2FkJ11cbikgPT4gTWVyZ2U8VG9nZ2xlUGFuZWxMaXN0Vmlld0FjdGlvbiwge3R5cGU6IHR5cGVvZiBBY3Rpb25UeXBlcy5UT0dHTEVfUEFORUxfTElTVF9WSUVXfT4gPVxuICBjcmVhdGVBY3Rpb24oXG4gICAgQWN0aW9uVHlwZXMuVE9HR0xFX1BBTkVMX0xJU1RfVklFVyxcbiAgICAocGF5bG9hZDogVG9nZ2xlUGFuZWxMaXN0Vmlld0FjdGlvblsncGF5bG9hZCddKSA9PiAoe3BheWxvYWR9KVxuICApO1xuXG4vKipcbiAqIFRoaXMgZGVjbGFyYXRpb24gaXMgbmVlZGVkIHRvIGdyb3VwIGFjdGlvbnMgaW4gZG9jc1xuICovXG4vKipcbiAqIEFjdGlvbnMgaGFuZGxlZCBtb3N0bHkgYnkgIGB1aVN0YXRlYCByZWR1Y2VyLlxuICogVGhleSBtYW5hZ2UgVUkgY2hhbmdlcyBpbiB0aGEgYXBwLCBzdWNoIGFzIG9wZW4gYW5kIGNsb3NlIHNpZGUgcGFuZWwsXG4gKiBzd2l0Y2ggYmV0d2VlbiB0YWJzIGluIHRoZSBzaWRlIHBhbmVsLCBvcGVuIGFuZCBjbG9zZSBtb2RhbCBkaWFsb2cgZm9yIGV4cG9ydGluZyBkYXRhIC8gaW1hZ2VzIGV0Yy5cbiAqIEl0IGFsc28gbWFuZ2VzIHdoaWNoIHNldHRpbmdzIGFyZSBzZWxlY3RlZCBkdXJpbmcgaW1hZ2UgYW5kIG1hcCBleHBvcnRcbiAqXG4gKiBAcHVibGljXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAqL1xuLy8gQHRzLWlnbm9yZVxuY29uc3QgdWlTdGF0ZUFjdGlvbnMgPSBudWxsO1xuLyogZXNsaW50LWVuYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBLElBQUFBLFFBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLFlBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUpBO0FBQ0E7O0FBT0E7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sSUFBTUcsZUFFeUUsR0FBQUMsT0FBQSxDQUFBRCxlQUFBLEdBQ3BGLElB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
@@ -1040,6 +1040,13 @@ export declare type SyncTimeFilterWithLayerTimelineAction = {
1040
1040
  idx: number;
1041
1041
  enable: boolean;
1042
1042
  };
1043
+ /**
1044
+ * Sync time filter with layer timeline
1045
+ * @memberof visStateActions
1046
+ * @param idx
1047
+ * @param enable
1048
+ * @return action
1049
+ */
1043
1050
  export declare function syncTimeFilterWithLayerTimeline(idx: SyncTimeFilterWithLayerTimelineAction['idx'], enable: SyncTimeFilterWithLayerTimelineAction['enable']): Merge<SyncTimeFilterWithLayerTimelineAction, {
1044
1051
  type: typeof ActionTypes.SYNC_TIME_FILTER_WITH_LAYER_TIMELINE;
1045
1052
  }>;
@@ -1047,6 +1054,13 @@ export declare type setTimeFilterSyncTimelineModeAction = {
1047
1054
  id: string;
1048
1055
  mode: SyncTimelineMode;
1049
1056
  };
1057
+ /**
1058
+ * Set time filter sync timeline mode
1059
+ * @memberof visStateActions
1060
+ * @param id
1061
+ * @param mode
1062
+ * @return action
1063
+ */
1050
1064
  export declare function setTimeFilterSyncTimelineMode({ id, mode }: setTimeFilterSyncTimelineModeAction): Merge<setTimeFilterSyncTimelineModeAction, {
1051
1065
  type: typeof ActionTypes.SYNC_TIME_FILTER_TIMELINE_MODE;
1052
1066
  }>;
@@ -1056,9 +1070,21 @@ export declare type CreateNewDatasetSuccessPayload = {
1056
1070
  };
1057
1071
  /**
1058
1072
  * Called when a new dataset is created successfully via async table methods
1073
+ * @memberof visStateActions
1059
1074
  * @param payload
1060
1075
  * @param payload.results - results of promises.allSettlted
1061
1076
  * @returns
1062
1077
  */
1063
1078
  export declare const createNewDatasetSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<CreateNewDatasetSuccessPayload, string>;
1079
+ export declare type SetLoadingIndicatorPayload = {
1080
+ change: number;
1081
+ };
1082
+ /**
1083
+ * Change of number of active loading items, used to render loading indicator.
1084
+ * @memberof visStateActions
1085
+ * @param payload
1086
+ * @param payload.change Change of number of active loading actions.
1087
+ * @public
1088
+ */
1089
+ export declare const setLoadingIndicator: import("@reduxjs/toolkit").ActionCreatorWithPayload<SetLoadingIndicatorPayload, string>;
1064
1090
  export {};