@grafana/scenes 6.8.0 → 6.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/esm/index.js +1 -1
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.js +1 -1
  6. package/dist/index.js.map +1 -1
  7. package/package.json +2 -2
  8. package/dist/esm/components/layout/CSSGrid/SceneCSSGridItem.js +0 -33
  9. package/dist/esm/dist/esm/behaviors/CursorSync.js +0 -76
  10. package/dist/esm/dist/esm/behaviors/LiveNowTimer.js +0 -44
  11. package/dist/esm/dist/esm/behaviors/SceneQueryController.js +0 -14
  12. package/dist/esm/dist/esm/components/EmbeddedScene.js +0 -59
  13. package/dist/esm/dist/esm/components/NestedScene.js +0 -95
  14. package/dist/esm/dist/esm/components/SceneApp/SceneApp.js +0 -27
  15. package/dist/esm/dist/esm/components/SceneApp/SceneAppPage.js +0 -176
  16. package/dist/esm/dist/esm/components/SceneApp/SceneAppPageView.js +0 -104
  17. package/dist/esm/dist/esm/components/SceneApp/utils.js +0 -42
  18. package/dist/esm/dist/esm/components/SceneByFrameRepeater.js +0 -41
  19. package/dist/esm/dist/esm/components/SceneByVariableRepeater.js +0 -55
  20. package/dist/esm/dist/esm/components/SceneCanvasText.js +0 -32
  21. package/dist/esm/dist/esm/components/SceneControlsSpacer.js +0 -17
  22. package/dist/esm/dist/esm/components/SceneDebugger/DebugDetails.js +0 -82
  23. package/dist/esm/dist/esm/components/SceneDebugger/DebugTreeNode.js +0 -72
  24. package/dist/esm/dist/esm/components/SceneDebugger/SceneDebugger.js +0 -77
  25. package/dist/esm/dist/esm/components/SceneReactObject.js +0 -34
  26. package/dist/esm/dist/esm/components/SceneRefreshPicker.js +0 -205
  27. package/dist/esm/dist/esm/components/SceneTimePicker.js +0 -139
  28. package/dist/esm/dist/esm/components/SceneTimeRangeCompare.js +0 -240
  29. package/dist/esm/dist/esm/components/SceneToolbarButton.js +0 -33
  30. package/dist/esm/dist/esm/components/VizPanel/VizPanel.js +0 -406
  31. package/dist/esm/dist/esm/components/VizPanel/VizPanelExploreButton.js +0 -44
  32. package/dist/esm/dist/esm/components/VizPanel/VizPanelMenu.js +0 -59
  33. package/dist/esm/dist/esm/components/VizPanel/VizPanelRenderer.js +0 -285
  34. package/dist/esm/dist/esm/components/VizPanel/VizPanelSeriesLimit.js +0 -45
  35. package/dist/esm/dist/esm/components/VizPanel/colorSeriesConfigFactory.js +0 -72
  36. package/dist/esm/dist/esm/components/VizPanel/registerRuntimePanelPlugin.js +0 -11
  37. package/dist/esm/dist/esm/components/VizPanel/seriesVisibilityConfigFactory.js +0 -164
  38. package/dist/esm/dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js +0 -124
  39. package/dist/esm/dist/esm/components/layout/LazyLoader.js +0 -103
  40. package/dist/esm/dist/esm/components/layout/SceneFlexLayout.js +0 -135
  41. package/dist/esm/dist/esm/components/layout/grid/SceneGridItem.js +0 -30
  42. package/dist/esm/dist/esm/components/layout/grid/SceneGridLayout.js +0 -283
  43. package/dist/esm/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js +0 -178
  44. package/dist/esm/dist/esm/components/layout/grid/SceneGridRow.js +0 -190
  45. package/dist/esm/dist/esm/components/layout/grid/constants.js +0 -7
  46. package/dist/esm/dist/esm/components/layout/grid/utils.js +0 -36
  47. package/dist/esm/dist/esm/components/layout/split/SplitLayout.js +0 -17
  48. package/dist/esm/dist/esm/components/layout/split/SplitLayoutRenderer.js +0 -29
  49. package/dist/esm/dist/esm/components/layout/split/Splitter.js +0 -386
  50. package/dist/esm/dist/esm/core/SceneComponentWrapper.js +0 -57
  51. package/dist/esm/dist/esm/core/SceneDataNode.js +0 -43
  52. package/dist/esm/dist/esm/core/SceneObjectBase.js +0 -286
  53. package/dist/esm/dist/esm/core/SceneObjectRef.js +0 -32
  54. package/dist/esm/dist/esm/core/SceneTimeRange.js +0 -231
  55. package/dist/esm/dist/esm/core/events.js +0 -11
  56. package/dist/esm/dist/esm/core/sceneGraph/getTimeRange.js +0 -10
  57. package/dist/esm/dist/esm/core/sceneGraph/index.js +0 -25
  58. package/dist/esm/dist/esm/core/sceneGraph/sceneGraph.js +0 -178
  59. package/dist/esm/dist/esm/core/sceneGraph/utils.js +0 -64
  60. package/dist/esm/dist/esm/core/types.js +0 -15
  61. package/dist/esm/dist/esm/querying/DataLayersMerger.js +0 -46
  62. package/dist/esm/dist/esm/querying/ExtraQueryProvider.js +0 -6
  63. package/dist/esm/dist/esm/querying/RuntimeDataSource.js +0 -6
  64. package/dist/esm/dist/esm/querying/SceneDataLayerSet.js +0 -100
  65. package/dist/esm/dist/esm/querying/SceneQueryRunner.js +0 -468
  66. package/dist/esm/dist/esm/querying/extraQueryProcessingOperator.js +0 -46
  67. package/dist/esm/dist/esm/querying/getEnrichedDataRequest.js +0 -12
  68. package/dist/esm/dist/esm/querying/layers/SceneDataLayerBase.js +0 -112
  69. package/dist/esm/dist/esm/querying/layers/SceneDataLayerControls.js +0 -51
  70. package/dist/esm/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js +0 -130
  71. package/dist/esm/dist/esm/querying/layers/annotations/filterAnnotations.js +0 -85
  72. package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationQuery.js +0 -121
  73. package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationsSupport.js +0 -211
  74. package/dist/esm/dist/esm/querying/layers/annotations/utils.js +0 -77
  75. package/dist/esm/dist/esm/querying/registerQueryWithController.js +0 -41
  76. package/dist/esm/dist/esm/services/SceneObjectUrlSyncConfig.js +0 -30
  77. package/dist/esm/dist/esm/services/UniqueUrlKeyMapper.js +0 -45
  78. package/dist/esm/dist/esm/services/UrlSyncManager.js +0 -167
  79. package/dist/esm/dist/esm/services/useUrlSync.js +0 -29
  80. package/dist/esm/dist/esm/services/utils.js +0 -71
  81. package/dist/esm/dist/esm/utils/ControlsLabel.js +0 -107
  82. package/dist/esm/dist/esm/utils/LoadingIndicator.js +0 -19
  83. package/dist/esm/dist/esm/utils/SafeSerializableSceneObject.js +0 -39
  84. package/dist/esm/dist/esm/utils/compatibility/setWindowGrafanaSceneContext.js +0 -16
  85. package/dist/esm/dist/esm/utils/date.js +0 -15
  86. package/dist/esm/dist/esm/utils/evaluateTimeRange.js +0 -16
  87. package/dist/esm/dist/esm/utils/explore.js +0 -47
  88. package/dist/esm/dist/esm/utils/getCompareSeriesRefId.js +0 -4
  89. package/dist/esm/dist/esm/utils/getDataSource.js +0 -18
  90. package/dist/esm/dist/esm/utils/getMessageFromError.js +0 -24
  91. package/dist/esm/dist/esm/utils/metricTree.js +0 -53
  92. package/dist/esm/dist/esm/utils/parseUrlParam.js +0 -41
  93. package/dist/esm/dist/esm/utils/utils.js +0 -11
  94. package/dist/esm/dist/esm/utils/wrapInSafeSerializableSceneObject.js +0 -30
  95. package/dist/esm/dist/esm/utils/writeSceneLog.js +0 -12
  96. package/dist/esm/dist/esm/variables/VariableDependencyConfig.js +0 -150
  97. package/dist/esm/dist/esm/variables/VariableValueRecorder.js +0 -71
  98. package/dist/esm/dist/esm/variables/adhoc/AdHocFilterBuilder.js +0 -24
  99. package/dist/esm/dist/esm/variables/adhoc/AdHocFilterRenderer.js +0 -303
  100. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +0 -162
  101. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +0 -20
  102. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +0 -640
  103. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +0 -65
  104. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +0 -146
  105. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +0 -114
  106. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +0 -68
  107. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/utils.js +0 -146
  108. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariable.js +0 -289
  109. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +0 -76
  110. package/dist/esm/dist/esm/variables/adhoc/getAdhocOptionSearcher.js +0 -13
  111. package/dist/esm/dist/esm/variables/adhoc/patchGetAdhocFilters.js +0 -47
  112. package/dist/esm/dist/esm/variables/components/VariableValueControl.js +0 -23
  113. package/dist/esm/dist/esm/variables/components/VariableValueInput.js +0 -33
  114. package/dist/esm/dist/esm/variables/components/VariableValueSelect.js +0 -228
  115. package/dist/esm/dist/esm/variables/components/VariableValueSelectors.js +0 -72
  116. package/dist/esm/dist/esm/variables/components/getOptionSearcher.js +0 -15
  117. package/dist/esm/dist/esm/variables/constants.js +0 -9
  118. package/dist/esm/dist/esm/variables/getEnrichedFiltersRequest.js +0 -12
  119. package/dist/esm/dist/esm/variables/groupby/GroupByVariable.js +0 -259
  120. package/dist/esm/dist/esm/variables/groupby/GroupByVariableUrlSyncHandler.js +0 -63
  121. package/dist/esm/dist/esm/variables/groupby/findActiveGroupByVariablesByUid.js +0 -13
  122. package/dist/esm/dist/esm/variables/interpolation/ScopedVarsVariable.js +0 -40
  123. package/dist/esm/dist/esm/variables/interpolation/defaults.js +0 -21
  124. package/dist/esm/dist/esm/variables/interpolation/fieldAccessorCache.js +0 -13
  125. package/dist/esm/dist/esm/variables/interpolation/formatRegistry.js +0 -296
  126. package/dist/esm/dist/esm/variables/interpolation/sceneInterpolator.js +0 -87
  127. package/dist/esm/dist/esm/variables/lookupVariable.js +0 -20
  128. package/dist/esm/dist/esm/variables/macros/AllVariablesMacro.js +0 -57
  129. package/dist/esm/dist/esm/variables/macros/contextMacros.js +0 -43
  130. package/dist/esm/dist/esm/variables/macros/dataMacros.js +0 -134
  131. package/dist/esm/dist/esm/variables/macros/index.js +0 -26
  132. package/dist/esm/dist/esm/variables/macros/templateProxies.js +0 -51
  133. package/dist/esm/dist/esm/variables/macros/timeMacros.js +0 -86
  134. package/dist/esm/dist/esm/variables/macros/types.js +0 -11
  135. package/dist/esm/dist/esm/variables/macros/urlMacros.js +0 -56
  136. package/dist/esm/dist/esm/variables/sets/SceneVariableSet.js +0 -254
  137. package/dist/esm/dist/esm/variables/types.js +0 -11
  138. package/dist/esm/dist/esm/variables/utils.js +0 -172
  139. package/dist/esm/dist/esm/variables/variants/ConstantVariable.js +0 -38
  140. package/dist/esm/dist/esm/variables/variants/CustomVariable.js +0 -60
  141. package/dist/esm/dist/esm/variables/variants/DataSourceVariable.js +0 -88
  142. package/dist/esm/dist/esm/variables/variants/IntervalVariable.js +0 -117
  143. package/dist/esm/dist/esm/variables/variants/MultiValueVariable.js +0 -295
  144. package/dist/esm/dist/esm/variables/variants/TestVariable.js +0 -117
  145. package/dist/esm/dist/esm/variables/variants/TextBoxVariable.js +0 -61
  146. package/dist/esm/dist/esm/variables/variants/query/QueryVariable.js +0 -139
  147. package/dist/esm/dist/esm/variables/variants/query/createQueryVariableRunner.js +0 -129
  148. package/dist/esm/dist/esm/variables/variants/query/guards.js +0 -28
  149. package/dist/esm/dist/esm/variables/variants/query/toMetricFindValues.js +0 -96
  150. package/dist/esm/dist/esm/variables/variants/query/utils.js +0 -124
  151. package/dist/esm/querying/DataProviderSharer.js +0 -39
  152. package/dist/esm/src/behaviors/ActWhenVariableChanged.js +0 -27
  153. package/dist/esm/src/behaviors/CursorSync.js +0 -76
  154. package/dist/esm/src/behaviors/LiveNowTimer.js +0 -44
  155. package/dist/esm/src/behaviors/SceneQueryController.js +0 -60
  156. package/dist/esm/src/behaviors/index.js +0 -5
  157. package/dist/esm/src/components/EmbeddedScene.js +0 -59
  158. package/dist/esm/src/components/NestedScene.js +0 -95
  159. package/dist/esm/src/components/SceneApp/SceneApp.js +0 -37
  160. package/dist/esm/src/components/SceneApp/SceneAppPage.js +0 -176
  161. package/dist/esm/src/components/SceneApp/SceneAppPageView.js +0 -104
  162. package/dist/esm/src/components/SceneApp/utils.js +0 -42
  163. package/dist/esm/src/components/SceneByFrameRepeater.js +0 -41
  164. package/dist/esm/src/components/SceneByVariableRepeater.js +0 -55
  165. package/dist/esm/src/components/SceneCanvasText.js +0 -32
  166. package/dist/esm/src/components/SceneControlsSpacer.js +0 -17
  167. package/dist/esm/src/components/SceneDebugger/DebugDetails.js +0 -82
  168. package/dist/esm/src/components/SceneDebugger/DebugTreeNode.js +0 -72
  169. package/dist/esm/src/components/SceneDebugger/SceneDebugger.js +0 -77
  170. package/dist/esm/src/components/SceneReactObject.js +0 -34
  171. package/dist/esm/src/components/SceneRefreshPicker.js +0 -205
  172. package/dist/esm/src/components/SceneTimePicker.js +0 -139
  173. package/dist/esm/src/components/SceneTimeRangeCompare.js +0 -240
  174. package/dist/esm/src/components/SceneToolbarButton.js +0 -33
  175. package/dist/esm/src/components/VizPanel/VizPanel.js +0 -406
  176. package/dist/esm/src/components/VizPanel/VizPanelExploreButton.js +0 -44
  177. package/dist/esm/src/components/VizPanel/VizPanelMenu.js +0 -59
  178. package/dist/esm/src/components/VizPanel/VizPanelRenderer.js +0 -285
  179. package/dist/esm/src/components/VizPanel/VizPanelSeriesLimit.js +0 -45
  180. package/dist/esm/src/components/VizPanel/colorSeriesConfigFactory.js +0 -72
  181. package/dist/esm/src/components/VizPanel/registerRuntimePanelPlugin.js +0 -56
  182. package/dist/esm/src/components/VizPanel/seriesVisibilityConfigFactory.js +0 -164
  183. package/dist/esm/src/components/layout/CSSGrid/SceneCSSGridLayout.js +0 -124
  184. package/dist/esm/src/components/layout/LazyLoader.js +0 -103
  185. package/dist/esm/src/components/layout/SceneFlexLayout.js +0 -135
  186. package/dist/esm/src/components/layout/grid/SceneGridItem.js +0 -30
  187. package/dist/esm/src/components/layout/grid/SceneGridLayout.js +0 -283
  188. package/dist/esm/src/components/layout/grid/SceneGridLayoutRenderer.js +0 -178
  189. package/dist/esm/src/components/layout/grid/SceneGridRow.js +0 -190
  190. package/dist/esm/src/components/layout/grid/constants.js +0 -7
  191. package/dist/esm/src/components/layout/grid/utils.js +0 -36
  192. package/dist/esm/src/components/layout/split/SplitLayout.js +0 -17
  193. package/dist/esm/src/components/layout/split/SplitLayoutRenderer.js +0 -29
  194. package/dist/esm/src/components/layout/split/Splitter.js +0 -386
  195. package/dist/esm/src/core/PanelBuilders/FieldConfigBuilder.js +0 -100
  196. package/dist/esm/src/core/PanelBuilders/FieldConfigBuilders.js +0 -75
  197. package/dist/esm/src/core/PanelBuilders/FieldConfigOverridesBuilder.js +0 -75
  198. package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilder.js +0 -22
  199. package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilders.js +0 -85
  200. package/dist/esm/src/core/PanelBuilders/StandardFieldConfigBuilders.js +0 -52
  201. package/dist/esm/src/core/PanelBuilders/VizConfigBuilder.js +0 -78
  202. package/dist/esm/src/core/PanelBuilders/VizConfigBuilders.js +0 -114
  203. package/dist/esm/src/core/PanelBuilders/VizPanelBuilder.js +0 -162
  204. package/dist/esm/src/core/PanelBuilders/index.js +0 -116
  205. package/dist/esm/src/core/SceneComponentWrapper.js +0 -57
  206. package/dist/esm/src/core/SceneDataNode.js +0 -43
  207. package/dist/esm/src/core/SceneObjectBase.js +0 -286
  208. package/dist/esm/src/core/SceneObjectRef.js +0 -32
  209. package/dist/esm/src/core/SceneTimeRange.js +0 -231
  210. package/dist/esm/src/core/SceneTimeRangeTransformerBase.js +0 -35
  211. package/dist/esm/src/core/SceneTimeZoneOverride.js +0 -63
  212. package/dist/esm/src/core/events.js +0 -11
  213. package/dist/esm/src/core/sceneGraph/getTimeRange.js +0 -10
  214. package/dist/esm/src/core/sceneGraph/index.js +0 -25
  215. package/dist/esm/src/core/sceneGraph/sceneGraph.js +0 -178
  216. package/dist/esm/src/core/sceneGraph/utils.js +0 -64
  217. package/dist/esm/src/core/types.js +0 -15
  218. package/dist/esm/src/index.js +0 -108
  219. package/dist/esm/src/querying/DataLayersMerger.js +0 -46
  220. package/dist/esm/src/querying/DataProviderProxy.js +0 -37
  221. package/dist/esm/src/querying/DataProviderSharer.js +0 -108
  222. package/dist/esm/src/querying/ExtraQueryProvider.js +0 -6
  223. package/dist/esm/src/querying/RuntimeDataSource.js +0 -49
  224. package/dist/esm/src/querying/SceneDataLayerSet.js +0 -100
  225. package/dist/esm/src/querying/SceneDataTransformer.js +0 -178
  226. package/dist/esm/src/querying/SceneQueryRunner.js +0 -468
  227. package/dist/esm/src/querying/extraQueryProcessingOperator.js +0 -46
  228. package/dist/esm/src/querying/getEnrichedDataRequest.js +0 -12
  229. package/dist/esm/src/querying/layers/SceneDataLayerBase.js +0 -112
  230. package/dist/esm/src/querying/layers/SceneDataLayerControls.js +0 -51
  231. package/dist/esm/src/querying/layers/annotations/AnnotationsDataLayer.js +0 -130
  232. package/dist/esm/src/querying/layers/annotations/filterAnnotations.js +0 -85
  233. package/dist/esm/src/querying/layers/annotations/standardAnnotationQuery.js +0 -121
  234. package/dist/esm/src/querying/layers/annotations/standardAnnotationsSupport.js +0 -211
  235. package/dist/esm/src/querying/layers/annotations/utils.js +0 -77
  236. package/dist/esm/src/querying/layers/index.js +0 -2
  237. package/dist/esm/src/querying/registerQueryWithController.js +0 -41
  238. package/dist/esm/src/services/SceneObjectUrlSyncConfig.js +0 -30
  239. package/dist/esm/src/services/UniqueUrlKeyMapper.js +0 -45
  240. package/dist/esm/src/services/UrlSyncContextProvider.js +0 -17
  241. package/dist/esm/src/services/UrlSyncManager.js +0 -167
  242. package/dist/esm/src/services/useUrlSync.js +0 -29
  243. package/dist/esm/src/services/utils.js +0 -75
  244. package/dist/esm/src/utils/ControlsLabel.js +0 -107
  245. package/dist/esm/src/utils/LoadingIndicator.js +0 -19
  246. package/dist/esm/src/utils/SafeSerializableSceneObject.js +0 -39
  247. package/dist/esm/src/utils/compatibility/setWindowGrafanaSceneContext.js +0 -16
  248. package/dist/esm/src/utils/date.js +0 -15
  249. package/dist/esm/src/utils/evaluateTimeRange.js +0 -16
  250. package/dist/esm/src/utils/explore.js +0 -47
  251. package/dist/esm/src/utils/getCompareSeriesRefId.js +0 -4
  252. package/dist/esm/src/utils/getDataSource.js +0 -18
  253. package/dist/esm/src/utils/getMessageFromError.js +0 -24
  254. package/dist/esm/src/utils/metricTree.js +0 -53
  255. package/dist/esm/src/utils/parseUrlParam.js +0 -41
  256. package/dist/esm/src/utils/utils.js +0 -11
  257. package/dist/esm/src/utils/wrapInSafeSerializableSceneObject.js +0 -30
  258. package/dist/esm/src/utils/writeSceneLog.js +0 -12
  259. package/dist/esm/src/variables/VariableDependencyConfig.js +0 -150
  260. package/dist/esm/src/variables/VariableValueRecorder.js +0 -71
  261. package/dist/esm/src/variables/adhoc/AdHocFilterBuilder.js +0 -24
  262. package/dist/esm/src/variables/adhoc/AdHocFilterRenderer.js +0 -303
  263. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +0 -162
  264. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +0 -20
  265. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +0 -640
  266. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +0 -65
  267. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +0 -146
  268. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +0 -114
  269. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +0 -68
  270. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/utils.js +0 -146
  271. package/dist/esm/src/variables/adhoc/AdHocFiltersVariable.js +0 -289
  272. package/dist/esm/src/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +0 -76
  273. package/dist/esm/src/variables/adhoc/getAdhocOptionSearcher.js +0 -13
  274. package/dist/esm/src/variables/adhoc/patchGetAdhocFilters.js +0 -47
  275. package/dist/esm/src/variables/components/VariableValueControl.js +0 -23
  276. package/dist/esm/src/variables/components/VariableValueInput.js +0 -33
  277. package/dist/esm/src/variables/components/VariableValueSelect.js +0 -228
  278. package/dist/esm/src/variables/components/VariableValueSelectors.js +0 -72
  279. package/dist/esm/src/variables/components/getOptionSearcher.js +0 -15
  280. package/dist/esm/src/variables/constants.js +0 -9
  281. package/dist/esm/src/variables/getEnrichedFiltersRequest.js +0 -12
  282. package/dist/esm/src/variables/groupby/GroupByVariable.js +0 -259
  283. package/dist/esm/src/variables/groupby/GroupByVariableUrlSyncHandler.js +0 -63
  284. package/dist/esm/src/variables/groupby/findActiveGroupByVariablesByUid.js +0 -13
  285. package/dist/esm/src/variables/interpolation/ScopedVarsVariable.js +0 -40
  286. package/dist/esm/src/variables/interpolation/defaults.js +0 -21
  287. package/dist/esm/src/variables/interpolation/fieldAccessorCache.js +0 -13
  288. package/dist/esm/src/variables/interpolation/formatRegistry.js +0 -296
  289. package/dist/esm/src/variables/interpolation/sceneInterpolator.js +0 -87
  290. package/dist/esm/src/variables/lookupVariable.js +0 -20
  291. package/dist/esm/src/variables/macros/AllVariablesMacro.js +0 -57
  292. package/dist/esm/src/variables/macros/contextMacros.js +0 -43
  293. package/dist/esm/src/variables/macros/dataMacros.js +0 -134
  294. package/dist/esm/src/variables/macros/index.js +0 -35
  295. package/dist/esm/src/variables/macros/templateProxies.js +0 -51
  296. package/dist/esm/src/variables/macros/timeMacros.js +0 -86
  297. package/dist/esm/src/variables/macros/types.js +0 -11
  298. package/dist/esm/src/variables/macros/urlMacros.js +0 -56
  299. package/dist/esm/src/variables/sets/SceneVariableSet.js +0 -254
  300. package/dist/esm/src/variables/types.js +0 -11
  301. package/dist/esm/src/variables/utils.js +0 -172
  302. package/dist/esm/src/variables/variants/ConstantVariable.js +0 -38
  303. package/dist/esm/src/variables/variants/CustomVariable.js +0 -60
  304. package/dist/esm/src/variables/variants/DataSourceVariable.js +0 -88
  305. package/dist/esm/src/variables/variants/IntervalVariable.js +0 -117
  306. package/dist/esm/src/variables/variants/JsonVariable.js +0 -193
  307. package/dist/esm/src/variables/variants/LocalValueVariable.js +0 -56
  308. package/dist/esm/src/variables/variants/MultiValueVariable.js +0 -295
  309. package/dist/esm/src/variables/variants/TestVariable.js +0 -117
  310. package/dist/esm/src/variables/variants/TextBoxVariable.js +0 -61
  311. package/dist/esm/src/variables/variants/guards.js +0 -27
  312. package/dist/esm/src/variables/variants/query/QueryVariable.js +0 -139
  313. package/dist/esm/src/variables/variants/query/createQueryVariableRunner.js +0 -129
  314. package/dist/esm/src/variables/variants/query/guards.js +0 -28
  315. package/dist/esm/src/variables/variants/query/toMetricFindValues.js +0 -96
  316. package/dist/esm/src/variables/variants/query/utils.js +0 -124
  317. package/dist/esm/variables/variants/JsonVariable.js +0 -96
  318. package/dist/esm/variables/variants/json/JsonVariable.js +0 -95
  319. package/dist/esm/variables/variants/json/JsonVariableOptionProviders.js +0 -70
@@ -1,254 +0,0 @@
1
- import { VariableRefresh } from '@grafana/data';
2
- import { sceneGraph } from '../../core/sceneGraph/index.js';
3
- import { SceneObjectBase } from '../../core/SceneObjectBase.js';
4
- import { writeSceneLog } from '../../utils/writeSceneLog.js';
5
- import { SceneVariableValueChangedEvent } from '../types.js';
6
- import { VariableValueRecorder } from '../VariableValueRecorder.js';
7
-
8
- class SceneVariableSet extends SceneObjectBase {
9
- constructor(state) {
10
- super(state);
11
- this._variablesThatHaveChanged = /* @__PURE__ */ new Set();
12
- this._variablesToUpdate = /* @__PURE__ */ new Set();
13
- this._updating = /* @__PURE__ */ new Map();
14
- this._variableValueRecorder = new VariableValueRecorder();
15
- this._variableDependency = new SceneVariableSetVariableDependencyHandler(
16
- this._handleParentVariableUpdatesCompleted.bind(this)
17
- );
18
- this._onActivate = () => {
19
- const timeRange = sceneGraph.getTimeRange(this);
20
- this._subs.add(
21
- this.subscribeToEvent(SceneVariableValueChangedEvent, (event) => this._handleVariableValueChanged(event.payload))
22
- );
23
- this._subs.add(
24
- timeRange.subscribeToState(() => {
25
- this._refreshTimeRangeBasedVariables();
26
- })
27
- );
28
- this._subs.add(this.subscribeToState(this._onStateChanged));
29
- this._checkForVariablesThatChangedWhileInactive();
30
- for (const variable of this.state.variables) {
31
- if (this._variableNeedsUpdate(variable)) {
32
- this._variablesToUpdate.add(variable);
33
- }
34
- }
35
- this._updateNextBatch();
36
- return this._onDeactivate;
37
- };
38
- this._onDeactivate = () => {
39
- var _a;
40
- for (const update of this._updating.values()) {
41
- (_a = update.subscription) == null ? void 0 : _a.unsubscribe();
42
- }
43
- for (const variable of this.state.variables) {
44
- if (!this._variablesToUpdate.has(variable) && !this._updating.has(variable)) {
45
- this._variableValueRecorder.recordCurrentValue(variable);
46
- }
47
- }
48
- this._variablesToUpdate.clear();
49
- this._updating.clear();
50
- };
51
- this._onStateChanged = (newState, oldState) => {
52
- const variablesToUpdateCountStart = this._variablesToUpdate.size;
53
- for (const variable of oldState.variables) {
54
- if (!newState.variables.includes(variable)) {
55
- const updating = this._updating.get(variable);
56
- if (updating == null ? void 0 : updating.subscription) {
57
- updating.subscription.unsubscribe();
58
- }
59
- this._updating.delete(variable);
60
- this._variablesToUpdate.delete(variable);
61
- }
62
- }
63
- for (const variable of newState.variables) {
64
- if (!oldState.variables.includes(variable)) {
65
- if (this._variableNeedsUpdate(variable)) {
66
- this._variablesToUpdate.add(variable);
67
- }
68
- }
69
- }
70
- if (variablesToUpdateCountStart === 0 && this._variablesToUpdate.size > 0) {
71
- this._updateNextBatch();
72
- }
73
- };
74
- this.addActivationHandler(this._onActivate);
75
- }
76
- getByName(name) {
77
- return this.state.variables.find((x) => x.state.name === name);
78
- }
79
- _refreshTimeRangeBasedVariables() {
80
- for (const variable of this.state.variables) {
81
- if ("refresh" in variable.state && variable.state.refresh === VariableRefresh.onTimeRangeChanged) {
82
- this._variablesToUpdate.add(variable);
83
- }
84
- }
85
- this._updateNextBatch();
86
- }
87
- _checkForVariablesThatChangedWhileInactive() {
88
- if (!this._variableValueRecorder.hasValues()) {
89
- return;
90
- }
91
- for (const variable of this.state.variables) {
92
- if (this._variableValueRecorder.hasValueChanged(variable)) {
93
- writeVariableTraceLog(variable, "Changed while in-active");
94
- this._addDependentVariablesToUpdateQueue(variable);
95
- }
96
- }
97
- }
98
- _variableNeedsUpdate(variable) {
99
- if (variable.isLazy) {
100
- return false;
101
- }
102
- if (!variable.validateAndUpdate) {
103
- return false;
104
- }
105
- if (this._variableValueRecorder.hasRecordedValue(variable)) {
106
- writeVariableTraceLog(variable, "Skipping updateAndValidate current value valid");
107
- return false;
108
- }
109
- return true;
110
- }
111
- _updateNextBatch() {
112
- for (const variable of this._variablesToUpdate) {
113
- if (!variable.validateAndUpdate) {
114
- throw new Error("Variable added to variablesToUpdate but does not have validateAndUpdate");
115
- }
116
- if (this._updating.has(variable)) {
117
- continue;
118
- }
119
- if (sceneGraph.hasVariableDependencyInLoadingState(variable)) {
120
- continue;
121
- }
122
- const variableToUpdate = {
123
- variable
124
- };
125
- this._updating.set(variable, variableToUpdate);
126
- writeVariableTraceLog(variable, "updateAndValidate started");
127
- variableToUpdate.subscription = variable.validateAndUpdate().subscribe({
128
- next: () => this._validateAndUpdateCompleted(variable),
129
- complete: () => this._validateAndUpdateCompleted(variable),
130
- error: (err) => this._handleVariableError(variable, err)
131
- });
132
- }
133
- }
134
- _validateAndUpdateCompleted(variable) {
135
- var _a;
136
- if (!this._updating.has(variable)) {
137
- return;
138
- }
139
- const update = this._updating.get(variable);
140
- (_a = update == null ? void 0 : update.subscription) == null ? void 0 : _a.unsubscribe();
141
- this._updating.delete(variable);
142
- this._variablesToUpdate.delete(variable);
143
- writeVariableTraceLog(variable, "updateAndValidate completed");
144
- this._notifyDependentSceneObjects(variable);
145
- this._updateNextBatch();
146
- }
147
- cancel(variable) {
148
- var _a;
149
- const update = this._updating.get(variable);
150
- (_a = update == null ? void 0 : update.subscription) == null ? void 0 : _a.unsubscribe();
151
- this._updating.delete(variable);
152
- this._variablesToUpdate.delete(variable);
153
- }
154
- _handleVariableError(variable, err) {
155
- var _a;
156
- const update = this._updating.get(variable);
157
- (_a = update == null ? void 0 : update.subscription) == null ? void 0 : _a.unsubscribe();
158
- this._updating.delete(variable);
159
- this._variablesToUpdate.delete(variable);
160
- variable.setState({ loading: false, error: err.message });
161
- console.error("SceneVariableSet updateAndValidate error", err);
162
- writeVariableTraceLog(variable, "updateAndValidate error", err);
163
- this._notifyDependentSceneObjects(variable);
164
- this._updateNextBatch();
165
- }
166
- _handleVariableValueChanged(variableThatChanged) {
167
- this._variablesThatHaveChanged.add(variableThatChanged);
168
- this._addDependentVariablesToUpdateQueue(variableThatChanged);
169
- if (!this._updating.has(variableThatChanged)) {
170
- this._updateNextBatch();
171
- this._notifyDependentSceneObjects(variableThatChanged);
172
- }
173
- }
174
- _handleParentVariableUpdatesCompleted(variable, hasChanged) {
175
- if (hasChanged) {
176
- this._addDependentVariablesToUpdateQueue(variable);
177
- }
178
- if (this._variablesToUpdate.size > 0 && this._updating.size === 0) {
179
- this._updateNextBatch();
180
- }
181
- }
182
- _addDependentVariablesToUpdateQueue(variableThatChanged) {
183
- for (const otherVariable of this.state.variables) {
184
- if (otherVariable.variableDependency) {
185
- if (otherVariable.variableDependency.hasDependencyOn(variableThatChanged.state.name)) {
186
- writeVariableTraceLog(otherVariable, "Added to update queue, dependant variable value changed");
187
- if (this._updating.has(otherVariable) && otherVariable.onCancel) {
188
- otherVariable.onCancel();
189
- }
190
- this._variablesToUpdate.add(otherVariable);
191
- }
192
- }
193
- }
194
- }
195
- _notifyDependentSceneObjects(variable) {
196
- if (!this.parent) {
197
- return;
198
- }
199
- this._traverseSceneAndNotify(this.parent, variable, this._variablesThatHaveChanged.has(variable));
200
- this._variablesThatHaveChanged.delete(variable);
201
- }
202
- _traverseSceneAndNotify(sceneObject, variable, hasChanged) {
203
- if (this === sceneObject) {
204
- return;
205
- }
206
- if (!sceneObject.isActive) {
207
- return;
208
- }
209
- if (sceneObject.state.$variables && sceneObject.state.$variables !== this) {
210
- const localVar = sceneObject.state.$variables.getByName(variable.state.name);
211
- if (localVar) {
212
- return;
213
- }
214
- }
215
- if (sceneObject.variableDependency) {
216
- sceneObject.variableDependency.variableUpdateCompleted(variable, hasChanged);
217
- }
218
- sceneObject.forEachChild((child) => this._traverseSceneAndNotify(child, variable, hasChanged));
219
- }
220
- isVariableLoadingOrWaitingToUpdate(variable) {
221
- if (variable.isAncestorLoading && variable.isAncestorLoading()) {
222
- return true;
223
- }
224
- if (this._variablesToUpdate.has(variable) || this._updating.has(variable)) {
225
- return true;
226
- }
227
- return sceneGraph.hasVariableDependencyInLoadingState(variable);
228
- }
229
- }
230
- function writeVariableTraceLog(variable, message, err) {
231
- if (err) {
232
- writeSceneLog("SceneVariableSet", `Variable[${variable.state.name}]: ${message}`, err);
233
- } else {
234
- writeSceneLog("SceneVariableSet", `Variable[${variable.state.name}]: ${message}`);
235
- }
236
- }
237
- class SceneVariableSetVariableDependencyHandler {
238
- constructor(_variableUpdatesCompleted) {
239
- this._variableUpdatesCompleted = _variableUpdatesCompleted;
240
- this._emptySet = /* @__PURE__ */ new Set();
241
- }
242
- getNames() {
243
- return this._emptySet;
244
- }
245
- hasDependencyOn(name) {
246
- return false;
247
- }
248
- variableUpdateCompleted(variable, hasChanged) {
249
- this._variableUpdatesCompleted(variable, hasChanged);
250
- }
251
- }
252
-
253
- export { SceneVariableSet };
254
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NlbmVWYXJpYWJsZVNldC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3ZhcmlhYmxlcy9zZXRzL1NjZW5lVmFyaWFibGVTZXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFyaWFibGVSZWZyZXNoIH0gZnJvbSAnQGdyYWZhbmEvZGF0YSc7XG5pbXBvcnQgeyBVbnN1YnNjcmliYWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2NlbmVHcmFwaCB9IGZyb20gJy4uLy4uL2NvcmUvc2NlbmVHcmFwaCc7XG5cbmltcG9ydCB7IFNjZW5lT2JqZWN0QmFzZSB9IGZyb20gJy4uLy4uL2NvcmUvU2NlbmVPYmplY3RCYXNlJztcbmltcG9ydCB7IFNjZW5lT2JqZWN0IH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcyc7XG5pbXBvcnQgeyB3cml0ZVNjZW5lTG9nIH0gZnJvbSAnLi4vLi4vdXRpbHMvd3JpdGVTY2VuZUxvZyc7XG5pbXBvcnQge1xuICBTY2VuZVZhcmlhYmxlLFxuICBTY2VuZVZhcmlhYmxlRGVwZW5kZW5jeUNvbmZpZ0xpa2UsXG4gIFNjZW5lVmFyaWFibGVzLFxuICBTY2VuZVZhcmlhYmxlU2V0U3RhdGUsXG4gIFNjZW5lVmFyaWFibGVWYWx1ZUNoYW5nZWRFdmVudCxcbn0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgVmFyaWFibGVWYWx1ZVJlY29yZGVyIH0gZnJvbSAnLi4vVmFyaWFibGVWYWx1ZVJlY29yZGVyJztcblxuZXhwb3J0IGNsYXNzIFNjZW5lVmFyaWFibGVTZXQgZXh0ZW5kcyBTY2VuZU9iamVjdEJhc2U8U2NlbmVWYXJpYWJsZVNldFN0YXRlPiBpbXBsZW1lbnRzIFNjZW5lVmFyaWFibGVzIHtcbiAgLyoqIFZhcmlhYmxlcyB0aGF0IGhhdmUgY2hhbmdlZCBpbiBzaW5jZSB0aGUgYWN0aXZhdGlvbiBvciBzaW5jZSB0aGUgZmlyc3QgbWFudWFsIHZhbHVlIGNoYW5nZSAqL1xuICBwcml2YXRlIF92YXJpYWJsZXNUaGF0SGF2ZUNoYW5nZWQgPSBuZXcgU2V0PFNjZW5lVmFyaWFibGU+KCk7XG5cbiAgLyoqIFZhcmlhYmxlcyB0aGF0IGFyZSBzY2hlZHVsZWQgdG8gYmUgdmFsaWRhdGVkIGFuZCB1cGRhdGVkICovXG4gIHByaXZhdGUgX3ZhcmlhYmxlc1RvVXBkYXRlID0gbmV3IFNldDxTY2VuZVZhcmlhYmxlPigpO1xuXG4gIC8qKiBWYXJpYWJsZXMgY3VycmVudGx5IHVwZGF0aW5nICAqL1xuICBwcml2YXRlIF91cGRhdGluZyA9IG5ldyBNYXA8U2NlbmVWYXJpYWJsZSwgVmFyaWFibGVVcGRhdGVJblByb2dyZXNzPigpO1xuXG4gIHByaXZhdGUgX3ZhcmlhYmxlVmFsdWVSZWNvcmRlciA9IG5ldyBWYXJpYWJsZVZhbHVlUmVjb3JkZXIoKTtcblxuICAvKipcbiAgICogVGhpcyBtYWtlcyBzdXJlIFNjZW5lVmFyaWFibGVTZXQncyBoaWdoZXIgdXAgaW4gdGhlIGNoYWluIG5vdGlmeSB1cyB3aGVuIHBhcmVudCBsZXZlbCB2YXJpYWJsZXMgY29tcGxldGUgdXBkYXRlIGJhdGNoZXMuXG4gICAqKi9cbiAgcHJvdGVjdGVkIF92YXJpYWJsZURlcGVuZGVuY3kgPSBuZXcgU2NlbmVWYXJpYWJsZVNldFZhcmlhYmxlRGVwZW5kZW5jeUhhbmRsZXIoXG4gICAgdGhpcy5faGFuZGxlUGFyZW50VmFyaWFibGVVcGRhdGVzQ29tcGxldGVkLmJpbmQodGhpcylcbiAgKTtcblxuICBwdWJsaWMgZ2V0QnlOYW1lKG5hbWU6IHN0cmluZyk6IFNjZW5lVmFyaWFibGUgfCB1bmRlZmluZWQge1xuICAgIC8vIFRPRE86IFJlcGxhY2Ugd2l0aCBpbmRleFxuICAgIHJldHVybiB0aGlzLnN0YXRlLnZhcmlhYmxlcy5maW5kKCh4KSA9PiB4LnN0YXRlLm5hbWUgPT09IG5hbWUpO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHN0YXRlOiBTY2VuZVZhcmlhYmxlU2V0U3RhdGUpIHtcbiAgICBzdXBlcihzdGF0ZSk7XG5cbiAgICB0aGlzLmFkZEFjdGl2YXRpb25IYW5kbGVyKHRoaXMuX29uQWN0aXZhdGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN1YnNjcmliZXMgdG8gY2hpbGQgdmFyaWFibGUgdmFsdWUgY2hhbmdlcywgYW5kIHN0YXJ0cyB0aGUgdmFyaWFibGUgdmFsdWUgdmFsaWRhdGlvbiBwcm9jZXNzXG4gICAqL1xuICBwcml2YXRlIF9vbkFjdGl2YXRlID0gKCkgPT4ge1xuICAgIGNvbnN0IHRpbWVSYW5nZSA9IHNjZW5lR3JhcGguZ2V0VGltZVJhbmdlKHRoaXMpO1xuICAgIC8vIFN1YnNjcmliZSB0byBjaGFuZ2VzIHRvIGNoaWxkIHZhcmlhYmxlc1xuICAgIHRoaXMuX3N1YnMuYWRkKFxuICAgICAgdGhpcy5zdWJzY3JpYmVUb0V2ZW50KFNjZW5lVmFyaWFibGVWYWx1ZUNoYW5nZWRFdmVudCwgKGV2ZW50KSA9PiB0aGlzLl9oYW5kbGVWYXJpYWJsZVZhbHVlQ2hhbmdlZChldmVudC5wYXlsb2FkKSlcbiAgICApO1xuXG4gICAgdGhpcy5fc3Vicy5hZGQoXG4gICAgICB0aW1lUmFuZ2Uuc3Vic2NyaWJlVG9TdGF0ZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3JlZnJlc2hUaW1lUmFuZ2VCYXNlZFZhcmlhYmxlcygpO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgLy8gU3Vic2NyaWJlIHRvIHN0YXRlIGNoYW5nZXNcbiAgICB0aGlzLl9zdWJzLmFkZCh0aGlzLnN1YnNjcmliZVRvU3RhdGUodGhpcy5fb25TdGF0ZUNoYW5nZWQpKTtcblxuICAgIHRoaXMuX2NoZWNrRm9yVmFyaWFibGVzVGhhdENoYW5nZWRXaGlsZUluYWN0aXZlKCk7XG5cbiAgICAvLyBBZGQgYWxsIHZhcmlhYmxlcyB0aGF0IG5lZWQgdXBkYXRpbmcgdG8gcXVldWVcbiAgICBmb3IgKGNvbnN0IHZhcmlhYmxlIG9mIHRoaXMuc3RhdGUudmFyaWFibGVzKSB7XG4gICAgICBpZiAodGhpcy5fdmFyaWFibGVOZWVkc1VwZGF0ZSh2YXJpYWJsZSkpIHtcbiAgICAgICAgdGhpcy5fdmFyaWFibGVzVG9VcGRhdGUuYWRkKHZhcmlhYmxlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLl91cGRhdGVOZXh0QmF0Y2goKTtcblxuICAgIC8vIFJldHVybiBkZWFjdGl2YXRpb24gaGFuZGxlcjtcbiAgICByZXR1cm4gdGhpcy5fb25EZWFjdGl2YXRlO1xuICB9O1xuXG4gIC8qKlxuICAgKiBBZGQgYWxsIHZhcmlhYmxlcyB0aGF0IGRlcGVuZCBvbiB0aGUgY2hhbmdlZCB2YXJpYWJsZSB0byB0aGUgdXBkYXRlIHF1ZXVlXG4gICAqL1xuICBwcml2YXRlIF9yZWZyZXNoVGltZVJhbmdlQmFzZWRWYXJpYWJsZXMoKSB7XG4gICAgZm9yIChjb25zdCB2YXJpYWJsZSBvZiB0aGlzLnN0YXRlLnZhcmlhYmxlcykge1xuICAgICAgaWYgKCdyZWZyZXNoJyBpbiB2YXJpYWJsZS5zdGF0ZSAmJiB2YXJpYWJsZS5zdGF0ZS5yZWZyZXNoID09PSBWYXJpYWJsZVJlZnJlc2gub25UaW1lUmFuZ2VDaGFuZ2VkKSB7XG4gICAgICAgIHRoaXMuX3ZhcmlhYmxlc1RvVXBkYXRlLmFkZCh2YXJpYWJsZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuX3VwZGF0ZU5leHRCYXRjaCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbmNlbCBhbGwgY3VycmVudGx5IHJ1bm5pbmcgdXBkYXRlc1xuICAgKi9cbiAgcHJpdmF0ZSBfb25EZWFjdGl2YXRlID0gKCkgPT4ge1xuICAgIGZvciAoY29uc3QgdXBkYXRlIG9mIHRoaXMuX3VwZGF0aW5nLnZhbHVlcygpKSB7XG4gICAgICB1cGRhdGUuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8vIFJlbWVtYmVyIGN1cnJlbnQgdmFyaWFibGUgdmFsdWVzXG4gICAgZm9yIChjb25zdCB2YXJpYWJsZSBvZiB0aGlzLnN0YXRlLnZhcmlhYmxlcykge1xuICAgICAgLy8gaWYgdGhlIGN1cnJlbnQgdmFyaWFibGUgaXMgbm90IGluIHF1ZXVlIHRvIHVwZGF0ZSBhbmQgdmFsaWRhdGUgYW5kIG5vdCBiZWluZyBhY3RpdmVseSB1cGRhdGVkIHRoZW4gdGhlIHZhbHVlIGlzIG9rXG4gICAgICBpZiAoIXRoaXMuX3ZhcmlhYmxlc1RvVXBkYXRlLmhhcyh2YXJpYWJsZSkgJiYgIXRoaXMuX3VwZGF0aW5nLmhhcyh2YXJpYWJsZSkpIHtcbiAgICAgICAgdGhpcy5fdmFyaWFibGVWYWx1ZVJlY29yZGVyLnJlY29yZEN1cnJlbnRWYWx1ZSh2YXJpYWJsZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fdmFyaWFibGVzVG9VcGRhdGUuY2xlYXIoKTtcbiAgICB0aGlzLl91cGRhdGluZy5jbGVhcigpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBMb29rIGZvciBuZXcgdmFyaWFibGVzIHRoYXQgbmVlZCB0byBiZSBpbml0aWFsaXplZFxuICAgKi9cbiAgcHJpdmF0ZSBfb25TdGF0ZUNoYW5nZWQgPSAobmV3U3RhdGU6IFNjZW5lVmFyaWFibGVTZXRTdGF0ZSwgb2xkU3RhdGU6IFNjZW5lVmFyaWFibGVTZXRTdGF0ZSkgPT4ge1xuICAgIGNvbnN0IHZhcmlhYmxlc1RvVXBkYXRlQ291bnRTdGFydCA9IHRoaXMuX3ZhcmlhYmxlc1RvVXBkYXRlLnNpemU7XG5cbiAgICAvLyBDaGVjayBmb3IgcmVtb3ZlZCB2YXJpYWJsZXNcbiAgICBmb3IgKGNvbnN0IHZhcmlhYmxlIG9mIG9sZFN0YXRlLnZhcmlhYmxlcykge1xuICAgICAgaWYgKCFuZXdTdGF0ZS52YXJpYWJsZXMuaW5jbHVkZXModmFyaWFibGUpKSB7XG4gICAgICAgIGNvbnN0IHVwZGF0aW5nID0gdGhpcy5fdXBkYXRpbmcuZ2V0KHZhcmlhYmxlKTtcbiAgICAgICAgaWYgKHVwZGF0aW5nPy5zdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICB1cGRhdGluZy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl91cGRhdGluZy5kZWxldGUodmFyaWFibGUpO1xuICAgICAgICB0aGlzLl92YXJpYWJsZXNUb1VwZGF0ZS5kZWxldGUodmFyaWFibGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENoZWNrIGZvciBuZXcgdmFyaWFibGVzXG4gICAgZm9yIChjb25zdCB2YXJpYWJsZSBvZiBuZXdTdGF0ZS52YXJpYWJsZXMpIHtcbiAgICAgIGlmICghb2xkU3RhdGUudmFyaWFibGVzLmluY2x1ZGVzKHZhcmlhYmxlKSkge1xuICAgICAgICBpZiAodGhpcy5fdmFyaWFibGVOZWVkc1VwZGF0ZSh2YXJpYWJsZSkpIHtcbiAgICAgICAgICB0aGlzLl92YXJpYWJsZXNUb1VwZGF0ZS5hZGQodmFyaWFibGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gT25seSBzdGFydCBhIG5ldyBiYXRjaCBpZiB0aGVyZSB3YXMgbm8gYmF0Y2ggYWxyZWFkeSBydW5uaW5nXG4gICAgaWYgKHZhcmlhYmxlc1RvVXBkYXRlQ291bnRTdGFydCA9PT0gMCAmJiB0aGlzLl92YXJpYWJsZXNUb1VwZGF0ZS5zaXplID4gMCkge1xuICAgICAgdGhpcy5fdXBkYXRlTmV4dEJhdGNoKCk7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBJZiB2YXJpYWJsZXMgY2hhbmdlZCB3aGlsZSBpbiBpbi1hY3RpdmUgc3RhdGUgd2UgZG9uJ3QgZ2V0IGFueSBjaGFuZ2UgZXZlbnRzLCBzbyB3ZSBuZWVkIHRvIGNoZWNrIGZvciB0aGF0IGhlcmUuXG4gICAqL1xuICBwcml2YXRlIF9jaGVja0ZvclZhcmlhYmxlc1RoYXRDaGFuZ2VkV2hpbGVJbmFjdGl2ZSgpIHtcbiAgICBpZiAoIXRoaXMuX3ZhcmlhYmxlVmFsdWVSZWNvcmRlci5oYXNWYWx1ZXMoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgdmFyaWFibGUgb2YgdGhpcy5zdGF0ZS52YXJpYWJsZXMpIHtcbiAgICAgIGlmICh0aGlzLl92YXJpYWJsZVZhbHVlUmVjb3JkZXIuaGFzVmFsdWVDaGFuZ2VkKHZhcmlhYmxlKSkge1xuICAgICAgICB3cml0ZVZhcmlhYmxlVHJhY2VMb2codmFyaWFibGUsICdDaGFuZ2VkIHdoaWxlIGluLWFjdGl2ZScpO1xuICAgICAgICB0aGlzLl9hZGREZXBlbmRlbnRWYXJpYWJsZXNUb1VwZGF0ZVF1ZXVlKHZhcmlhYmxlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF92YXJpYWJsZU5lZWRzVXBkYXRlKHZhcmlhYmxlOiBTY2VuZVZhcmlhYmxlKTogYm9vbGVhbiB7XG4gICAgaWYgKHZhcmlhYmxlLmlzTGF6eSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmICghdmFyaWFibGUudmFsaWRhdGVBbmRVcGRhdGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBJZiB3ZSBoYXZlIHJlY29yZGVkIHZhbGlkIHZhbHVlIChldmVuIGlmIGl0IGhhcyBjaGFuZ2VkIHNpbmNlIHdlIGRvIG5vdCBuZWVkIHRvIHJlLXZhbGlkYXRlIHRoaXMgdmFyaWFibGUpXG4gICAgaWYgKHRoaXMuX3ZhcmlhYmxlVmFsdWVSZWNvcmRlci5oYXNSZWNvcmRlZFZhbHVlKHZhcmlhYmxlKSkge1xuICAgICAgd3JpdGVWYXJpYWJsZVRyYWNlTG9nKHZhcmlhYmxlLCAnU2tpcHBpbmcgdXBkYXRlQW5kVmFsaWRhdGUgY3VycmVudCB2YWx1ZSB2YWxpZCcpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbG9vcHMgdGhyb3VnaCB2YXJpYWJsZXNUb1VwZGF0ZSBhbmQgdXBkYXRlIGFsbCB0aGF0IGNhbi5cbiAgICogSWYgb25lIGhhcyBhIGRlcGVuZGVuY3kgdGhhdCBpcyBjdXJyZW50bHkgaW4gdmFyaWFibGVzVG9VcGRhdGUgaXQgd2lsbCBiZSBza2lwcGVkIGZvciBub3cuXG4gICAqL1xuICBwcml2YXRlIF91cGRhdGVOZXh0QmF0Y2goKSB7XG4gICAgZm9yIChjb25zdCB2YXJpYWJsZSBvZiB0aGlzLl92YXJpYWJsZXNUb1VwZGF0ZSkge1xuICAgICAgaWYgKCF2YXJpYWJsZS52YWxpZGF0ZUFuZFVwZGF0ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1ZhcmlhYmxlIGFkZGVkIHRvIHZhcmlhYmxlc1RvVXBkYXRlIGJ1dCBkb2VzIG5vdCBoYXZlIHZhbGlkYXRlQW5kVXBkYXRlJyk7XG4gICAgICB9XG5cbiAgICAgIC8vIElnbm9yZSBpdCBpZiBpdCdzIGFscmVhZHkgc3RhcnRlZFxuICAgICAgaWYgKHRoaXMuX3VwZGF0aW5nLmhhcyh2YXJpYWJsZSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIC8vIFdhaXQgZm9yIHZhcmlhYmxlcyB0aGF0IGhhcyBkZXBlbmRlbmNpZXMgdGhhdCBhbHNvIG5lZWRzIHVwZGF0ZXNcbiAgICAgIGlmIChzY2VuZUdyYXBoLmhhc1ZhcmlhYmxlRGVwZW5kZW5jeUluTG9hZGluZ1N0YXRlKHZhcmlhYmxlKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdmFyaWFibGVUb1VwZGF0ZTogVmFyaWFibGVVcGRhdGVJblByb2dyZXNzID0ge1xuICAgICAgICB2YXJpYWJsZSxcbiAgICAgIH07XG5cbiAgICAgIHRoaXMuX3VwZGF0aW5nLnNldCh2YXJpYWJsZSwgdmFyaWFibGVUb1VwZGF0ZSk7XG4gICAgICB3cml0ZVZhcmlhYmxlVHJhY2VMb2codmFyaWFibGUsICd1cGRhdGVBbmRWYWxpZGF0ZSBzdGFydGVkJyk7XG5cbiAgICAgIHZhcmlhYmxlVG9VcGRhdGUuc3Vic2NyaXB0aW9uID0gdmFyaWFibGUudmFsaWRhdGVBbmRVcGRhdGUoKS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAoKSA9PiB0aGlzLl92YWxpZGF0ZUFuZFVwZGF0ZUNvbXBsZXRlZCh2YXJpYWJsZSksXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB0aGlzLl92YWxpZGF0ZUFuZFVwZGF0ZUNvbXBsZXRlZCh2YXJpYWJsZSksXG4gICAgICAgIGVycm9yOiAoZXJyKSA9PiB0aGlzLl9oYW5kbGVWYXJpYWJsZUVycm9yKHZhcmlhYmxlLCBlcnIpLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEEgdmFyaWFibGUgaGFzIGNvbXBsZXRlZCBpdHMgdXBkYXRlIHByb2Nlc3MuIFRoaXMgY291bGQgbWVhbiB0aGF0IHZhcmlhYmxlcyB0aGF0IGRlcGVuZCBvbiBpdCBjYW4gbm93IGJlIHVwZGF0ZWQgaW4gdHVybi5cbiAgICovXG4gIHByaXZhdGUgX3ZhbGlkYXRlQW5kVXBkYXRlQ29tcGxldGVkKHZhcmlhYmxlOiBTY2VuZVZhcmlhYmxlKSB7XG4gICAgaWYgKCF0aGlzLl91cGRhdGluZy5oYXModmFyaWFibGUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdXBkYXRlID0gdGhpcy5fdXBkYXRpbmcuZ2V0KHZhcmlhYmxlKTtcbiAgICB1cGRhdGU/LnN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuX3VwZGF0aW5nLmRlbGV0ZSh2YXJpYWJsZSk7XG4gICAgdGhpcy5fdmFyaWFibGVzVG9VcGRhdGUuZGVsZXRlKHZhcmlhYmxlKTtcblxuICAgIHdyaXRlVmFyaWFibGVUcmFjZUxvZyh2YXJpYWJsZSwgJ3VwZGF0ZUFuZFZhbGlkYXRlIGNvbXBsZXRlZCcpO1xuXG4gICAgdGhpcy5fbm90aWZ5RGVwZW5kZW50U2NlbmVPYmplY3RzKHZhcmlhYmxlKTtcbiAgICB0aGlzLl91cGRhdGVOZXh0QmF0Y2goKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5jZWwodmFyaWFibGU6IFNjZW5lVmFyaWFibGUpIHtcbiAgICBjb25zdCB1cGRhdGUgPSB0aGlzLl91cGRhdGluZy5nZXQodmFyaWFibGUpO1xuICAgIHVwZGF0ZT8uc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy5fdXBkYXRpbmcuZGVsZXRlKHZhcmlhYmxlKTtcbiAgICB0aGlzLl92YXJpYWJsZXNUb1VwZGF0ZS5kZWxldGUodmFyaWFibGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlVmFyaWFibGVFcnJvcih2YXJpYWJsZTogU2NlbmVWYXJpYWJsZSwgZXJyOiBFcnJvcikge1xuICAgIGNvbnN0IHVwZGF0ZSA9IHRoaXMuX3VwZGF0aW5nLmdldCh2YXJpYWJsZSk7XG4gICAgdXBkYXRlPy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLl91cGRhdGluZy5kZWxldGUodmFyaWFibGUpO1xuICAgIHRoaXMuX3ZhcmlhYmxlc1RvVXBkYXRlLmRlbGV0ZSh2YXJpYWJsZSk7XG5cbiAgICB2YXJpYWJsZS5zZXRTdGF0ZSh7IGxvYWRpbmc6IGZhbHNlLCBlcnJvcjogZXJyLm1lc3NhZ2UgfSk7XG5cbiAgICBjb25zb2xlLmVycm9yKCdTY2VuZVZhcmlhYmxlU2V0IHVwZGF0ZUFuZFZhbGlkYXRlIGVycm9yJywgZXJyKTtcblxuICAgIHdyaXRlVmFyaWFibGVUcmFjZUxvZyh2YXJpYWJsZSwgJ3VwZGF0ZUFuZFZhbGlkYXRlIGVycm9yJywgZXJyKTtcblxuICAgIHRoaXMuX25vdGlmeURlcGVuZGVudFNjZW5lT2JqZWN0cyh2YXJpYWJsZSk7XG4gICAgdGhpcy5fdXBkYXRlTmV4dEJhdGNoKCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVWYXJpYWJsZVZhbHVlQ2hhbmdlZCh2YXJpYWJsZVRoYXRDaGFuZ2VkOiBTY2VuZVZhcmlhYmxlKSB7XG4gICAgdGhpcy5fdmFyaWFibGVzVGhhdEhhdmVDaGFuZ2VkLmFkZCh2YXJpYWJsZVRoYXRDaGFuZ2VkKTtcbiAgICB0aGlzLl9hZGREZXBlbmRlbnRWYXJpYWJsZXNUb1VwZGF0ZVF1ZXVlKHZhcmlhYmxlVGhhdENoYW5nZWQpO1xuXG4gICAgLy8gSWdub3JlIHRoaXMgY2hhbmdlIGlmIGl0IGlzIGN1cnJlbnRseSB1cGRhdGluZ1xuICAgIGlmICghdGhpcy5fdXBkYXRpbmcuaGFzKHZhcmlhYmxlVGhhdENoYW5nZWQpKSB7XG4gICAgICB0aGlzLl91cGRhdGVOZXh0QmF0Y2goKTtcbiAgICAgIHRoaXMuX25vdGlmeURlcGVuZGVudFNjZW5lT2JqZWN0cyh2YXJpYWJsZVRoYXRDaGFuZ2VkKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBpcyBjYWxsZWQgYnkgYW55IHBhcmVudCBsZXZlbCB2YXJpYWJsZSBzZXQgdG8gbm90aWZ5IHNjZW5lIHRoYXQgYW4gdXBkYXRlIGJhdGNoIGlzIGNvbXBsZXRlZC5cbiAgICogVGhpcyBpcyB0aGUgbWFpbiBtZWNoYW5pc20gbG93ZXIgbGV2ZWwgdmFyaWFibGUgc2V0J3MgcmVhY3QgdG8gY2hhbmdlcyBvbiBoaWdoZXIgbGV2ZWxzLlxuICAgKi9cbiAgcHJpdmF0ZSBfaGFuZGxlUGFyZW50VmFyaWFibGVVcGRhdGVzQ29tcGxldGVkKHZhcmlhYmxlOiBTY2VuZVZhcmlhYmxlLCBoYXNDaGFuZ2VkOiBib29sZWFuKSB7XG4gICAgLy8gRmlyc3QgbG9vcCB0aHJvdWdoIGNoYW5nZWQgdmFyaWFibGVzIGFuZCBhZGQgYW55IG9mIG91ciB2YXJpYWJsZXMgdGhhdCBkZXBlbmQgb24gdGhlIGhpZ2hlciBsZXZlbCB2YXJpYWJsZSB0byB0aGUgdXBkYXRlIHF1ZXVlXG4gICAgaWYgKGhhc0NoYW5nZWQpIHtcbiAgICAgIHRoaXMuX2FkZERlcGVuZGVudFZhcmlhYmxlc1RvVXBkYXRlUXVldWUodmFyaWFibGUpO1xuICAgIH1cblxuICAgIC8vIElmIHdlIGhhdmUgdmFyaWFibGVzIHRvIHVwZGF0ZSBidXQgbm9uZSBhcmUgY3VycmVudGx5IHVwZGF0aW5nIGtpY2sgb2YgYSBuZXcgdXBkYXRlIGJhdGNoXG4gICAgaWYgKHRoaXMuX3ZhcmlhYmxlc1RvVXBkYXRlLnNpemUgPiAwICYmIHRoaXMuX3VwZGF0aW5nLnNpemUgPT09IDApIHtcbiAgICAgIHRoaXMuX3VwZGF0ZU5leHRCYXRjaCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2FkZERlcGVuZGVudFZhcmlhYmxlc1RvVXBkYXRlUXVldWUodmFyaWFibGVUaGF0Q2hhbmdlZDogU2NlbmVWYXJpYWJsZSkge1xuICAgIGZvciAoY29uc3Qgb3RoZXJWYXJpYWJsZSBvZiB0aGlzLnN0YXRlLnZhcmlhYmxlcykge1xuICAgICAgaWYgKG90aGVyVmFyaWFibGUudmFyaWFibGVEZXBlbmRlbmN5KSB7XG4gICAgICAgIGlmIChvdGhlclZhcmlhYmxlLnZhcmlhYmxlRGVwZW5kZW5jeS5oYXNEZXBlbmRlbmN5T24odmFyaWFibGVUaGF0Q2hhbmdlZC5zdGF0ZS5uYW1lKSkge1xuICAgICAgICAgIHdyaXRlVmFyaWFibGVUcmFjZUxvZyhvdGhlclZhcmlhYmxlLCAnQWRkZWQgdG8gdXBkYXRlIHF1ZXVlLCBkZXBlbmRhbnQgdmFyaWFibGUgdmFsdWUgY2hhbmdlZCcpO1xuXG4gICAgICAgICAgaWYgKHRoaXMuX3VwZGF0aW5nLmhhcyhvdGhlclZhcmlhYmxlKSAmJiBvdGhlclZhcmlhYmxlLm9uQ2FuY2VsKSB7XG4gICAgICAgICAgICBvdGhlclZhcmlhYmxlLm9uQ2FuY2VsKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5fdmFyaWFibGVzVG9VcGRhdGUuYWRkKG90aGVyVmFyaWFibGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFdhbGsgc2NlbmUgb2JqZWN0IGdyYXBoIGFuZCB1cGRhdGUgYWxsIG9iamVjdHMgdGhhdCBkZXBlbmQgb24gdmFyaWFibGVzIHRoYXQgaGF2ZSBjaGFuZ2VkXG4gICAqL1xuICBwcml2YXRlIF9ub3RpZnlEZXBlbmRlbnRTY2VuZU9iamVjdHModmFyaWFibGU6IFNjZW5lVmFyaWFibGUpIHtcbiAgICBpZiAoIXRoaXMucGFyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fdHJhdmVyc2VTY2VuZUFuZE5vdGlmeSh0aGlzLnBhcmVudCwgdmFyaWFibGUsIHRoaXMuX3ZhcmlhYmxlc1RoYXRIYXZlQ2hhbmdlZC5oYXModmFyaWFibGUpKTtcbiAgICB0aGlzLl92YXJpYWJsZXNUaGF0SGF2ZUNoYW5nZWQuZGVsZXRlKHZhcmlhYmxlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWN1cnNpdmx5IHdhbGsgdGhlIGZ1bGwgc2NlbmUgb2JqZWN0IGdyYXBoIGFuZCBub3RpZnkgYWxsIG9iamVjdHMgd2l0aCBkZXBlbmRlbmNpZXMgdGhhdCBpbmNsdWRlIGFueSBvZiBjaGFuZ2VkIHZhcmlhYmxlc1xuICAgKi9cbiAgcHJpdmF0ZSBfdHJhdmVyc2VTY2VuZUFuZE5vdGlmeShzY2VuZU9iamVjdDogU2NlbmVPYmplY3QsIHZhcmlhYmxlOiBTY2VuZVZhcmlhYmxlLCBoYXNDaGFuZ2VkOiBib29sZWFuKSB7XG4gICAgLy8gTm8gbmVlZCB0byBub3RpZnkgdmFyaWFibGVzIHVuZGVyIHRoaXMgU2NlbmVWYXJpYWJsZVNldFxuICAgIGlmICh0aGlzID09PSBzY2VuZU9iamVjdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFNraXAgbm9uIGFjdGl2ZSBzY2VuZSBvYmplY3RzXG4gICAgaWYgKCFzY2VuZU9iamVjdC5pc0FjdGl2ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIElmIHdlIGZpbmQgYSBuZXN0ZWQgU2NlbmVWYXJpYWJsZVNldCB0aGF0IGhhcyBhIHZhcmlhYmxlIHdpdGggdGhlIHNhbWUgbmFtZSB3ZSBzdG9wIHRoZSB0cmF2ZXJzYWxcbiAgICBpZiAoc2NlbmVPYmplY3Quc3RhdGUuJHZhcmlhYmxlcyAmJiBzY2VuZU9iamVjdC5zdGF0ZS4kdmFyaWFibGVzICE9PSB0aGlzKSB7XG4gICAgICBjb25zdCBsb2NhbFZhciA9IHNjZW5lT2JqZWN0LnN0YXRlLiR2YXJpYWJsZXMuZ2V0QnlOYW1lKHZhcmlhYmxlLnN0YXRlLm5hbWUpO1xuICAgICAgaWYgKGxvY2FsVmFyKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc2NlbmVPYmplY3QudmFyaWFibGVEZXBlbmRlbmN5KSB7XG4gICAgICBzY2VuZU9iamVjdC52YXJpYWJsZURlcGVuZGVuY3kudmFyaWFibGVVcGRhdGVDb21wbGV0ZWQodmFyaWFibGUsIGhhc0NoYW5nZWQpO1xuICAgIH1cblxuICAgIHNjZW5lT2JqZWN0LmZvckVhY2hDaGlsZCgoY2hpbGQpID0+IHRoaXMuX3RyYXZlcnNlU2NlbmVBbmROb3RpZnkoY2hpbGQsIHZhcmlhYmxlLCBoYXNDaGFuZ2VkKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRydWUgaWYgdmFyaWFibGUgaXMgd2FpdGluZyB0byB1cGRhdGUgb3IgY3VycmVudGx5IHVwZGF0aW5nLlxuICAgKiBJdCBhbHNvIHJldHVybnMgdHJ1ZSBpZiBhIGRlcGVuZGVuY3kgb2YgdGhlIHZhcmlhYmxlIGlzIGxvYWRpbmcuXG4gICAqXG4gICAqIEZvciBleGFtcGxlIGlmIEMgZGVwZW5kcyBvbiB2YXJpYWJsZSBCIHdoaWNoIGRlcGVuZHMgb24gdmFyaWFibGUgQSBhbmQgQSBpcyBsb2FkaW5nIHRoaXMgcmV0dXJucyB0cnVlIGZvciB2YXJpYWJsZSBDIGFuZCBCLlxuICAgKi9cbiAgcHVibGljIGlzVmFyaWFibGVMb2FkaW5nT3JXYWl0aW5nVG9VcGRhdGUodmFyaWFibGU6IFNjZW5lVmFyaWFibGUpIHtcbiAgICBpZiAodmFyaWFibGUuaXNBbmNlc3RvckxvYWRpbmcgJiYgdmFyaWFibGUuaXNBbmNlc3RvckxvYWRpbmcoKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3ZhcmlhYmxlc1RvVXBkYXRlLmhhcyh2YXJpYWJsZSkgfHwgdGhpcy5fdXBkYXRpbmcuaGFzKHZhcmlhYmxlKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy8gTGFzdCBzY2VuYXJpbyBpcyB0byBjaGVjayB0aGUgdmFyaWFibGUncyBvd24gZGVwZW5kZW5jaWVzIGFzIHdlbGxcbiAgICByZXR1cm4gc2NlbmVHcmFwaC5oYXNWYXJpYWJsZURlcGVuZGVuY3lJbkxvYWRpbmdTdGF0ZSh2YXJpYWJsZSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYXJpYWJsZVVwZGF0ZUluUHJvZ3Jlc3Mge1xuICB2YXJpYWJsZTogU2NlbmVWYXJpYWJsZTtcbiAgc3Vic2NyaXB0aW9uPzogVW5zdWJzY3JpYmFibGU7XG59XG5cbmZ1bmN0aW9uIHdyaXRlVmFyaWFibGVUcmFjZUxvZyh2YXJpYWJsZTogU2NlbmVWYXJpYWJsZSwgbWVzc2FnZTogc3RyaW5nLCBlcnI/OiBFcnJvcikge1xuICBpZiAoZXJyKSB7XG4gICAgd3JpdGVTY2VuZUxvZygnU2NlbmVWYXJpYWJsZVNldCcsIGBWYXJpYWJsZVske3ZhcmlhYmxlLnN0YXRlLm5hbWV9XTogJHttZXNzYWdlfWAsIGVycik7XG4gIH0gZWxzZSB7XG4gICAgd3JpdGVTY2VuZUxvZygnU2NlbmVWYXJpYWJsZVNldCcsIGBWYXJpYWJsZVske3ZhcmlhYmxlLnN0YXRlLm5hbWV9XTogJHttZXNzYWdlfWApO1xuICB9XG59XG5cbmNsYXNzIFNjZW5lVmFyaWFibGVTZXRWYXJpYWJsZURlcGVuZGVuY3lIYW5kbGVyIGltcGxlbWVudHMgU2NlbmVWYXJpYWJsZURlcGVuZGVuY3lDb25maWdMaWtlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgX3ZhcmlhYmxlVXBkYXRlc0NvbXBsZXRlZDogKHZhcmlhYmxlOiBTY2VuZVZhcmlhYmxlLCBoYXNDaGFuZ2VkOiBib29sZWFuKSA9PiB2b2lkKSB7fVxuXG4gIHByaXZhdGUgX2VtcHR5U2V0ID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgcHVibGljIGdldE5hbWVzKCk6IFNldDxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5fZW1wdHlTZXQ7XG4gIH1cblxuICBwdWJsaWMgaGFzRGVwZW5kZW5jeU9uKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyB2YXJpYWJsZVVwZGF0ZUNvbXBsZXRlZCh2YXJpYWJsZTogU2NlbmVWYXJpYWJsZSwgaGFzQ2hhbmdlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuX3ZhcmlhYmxlVXBkYXRlc0NvbXBsZXRlZCh2YXJpYWJsZSwgaGFzQ2hhbmdlZCk7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBZ0JPLE1BQU0seUJBQXlCLGVBQWlFLENBQUE7QUFBQSxFQXdCOUYsWUFBWSxLQUE4QixFQUFBO0FBQy9DLElBQUEsS0FBQSxDQUFNLEtBQUssQ0FBQSxDQUFBO0FBdkJiLElBQVEsSUFBQSxDQUFBLHlCQUFBLHVCQUFnQyxHQUFtQixFQUFBLENBQUE7QUFHM0QsSUFBUSxJQUFBLENBQUEsa0JBQUEsdUJBQXlCLEdBQW1CLEVBQUEsQ0FBQTtBQUdwRCxJQUFRLElBQUEsQ0FBQSxTQUFBLHVCQUFnQixHQUE2QyxFQUFBLENBQUE7QUFFckUsSUFBUSxJQUFBLENBQUEsc0JBQUEsR0FBeUIsSUFBSSxxQkFBc0IsRUFBQSxDQUFBO0FBSzNELElBQUEsSUFBQSxDQUFVLHNCQUFzQixJQUFJLHlDQUFBO0FBQUEsTUFDbEMsSUFBQSxDQUFLLHFDQUFzQyxDQUFBLElBQUEsQ0FBSyxJQUFJLENBQUE7QUFBQSxLQUN0RCxDQUFBO0FBZ0JBLElBQUEsSUFBQSxDQUFRLGNBQWMsTUFBTTtBQUMxQixNQUFNLE1BQUEsU0FBQSxHQUFZLFVBQVcsQ0FBQSxZQUFBLENBQWEsSUFBSSxDQUFBLENBQUE7QUFFOUMsTUFBQSxJQUFBLENBQUssS0FBTSxDQUFBLEdBQUE7QUFBQSxRQUNULElBQUEsQ0FBSyxpQkFBaUIsOEJBQWdDLEVBQUEsQ0FBQyxVQUFVLElBQUssQ0FBQSwyQkFBQSxDQUE0QixLQUFNLENBQUEsT0FBTyxDQUFDLENBQUE7QUFBQSxPQUNsSCxDQUFBO0FBRUEsTUFBQSxJQUFBLENBQUssS0FBTSxDQUFBLEdBQUE7QUFBQSxRQUNULFNBQUEsQ0FBVSxpQkFBaUIsTUFBTTtBQUMvQixVQUFBLElBQUEsQ0FBSywrQkFBZ0MsRUFBQSxDQUFBO0FBQUEsU0FDdEMsQ0FBQTtBQUFBLE9BQ0gsQ0FBQTtBQUdBLE1BQUEsSUFBQSxDQUFLLE1BQU0sR0FBSSxDQUFBLElBQUEsQ0FBSyxnQkFBaUIsQ0FBQSxJQUFBLENBQUssZUFBZSxDQUFDLENBQUEsQ0FBQTtBQUUxRCxNQUFBLElBQUEsQ0FBSywwQ0FBMkMsRUFBQSxDQUFBO0FBR2hELE1BQVcsS0FBQSxNQUFBLFFBQUEsSUFBWSxJQUFLLENBQUEsS0FBQSxDQUFNLFNBQVcsRUFBQTtBQUMzQyxRQUFJLElBQUEsSUFBQSxDQUFLLG9CQUFxQixDQUFBLFFBQVEsQ0FBRyxFQUFBO0FBQ3ZDLFVBQUssSUFBQSxDQUFBLGtCQUFBLENBQW1CLElBQUksUUFBUSxDQUFBLENBQUE7QUFBQSxTQUN0QztBQUFBLE9BQ0Y7QUFFQSxNQUFBLElBQUEsQ0FBSyxnQkFBaUIsRUFBQSxDQUFBO0FBR3RCLE1BQUEsT0FBTyxJQUFLLENBQUEsYUFBQSxDQUFBO0FBQUEsS0FDZCxDQUFBO0FBaUJBLElBQUEsSUFBQSxDQUFRLGdCQUFnQixNQUFNO0FBL0ZoQyxNQUFBLElBQUEsRUFBQSxDQUFBO0FBZ0dJLE1BQUEsS0FBQSxNQUFXLE1BQVUsSUFBQSxJQUFBLENBQUssU0FBVSxDQUFBLE1BQUEsRUFBVSxFQUFBO0FBQzVDLFFBQUEsQ0FBQSxFQUFBLEdBQUEsTUFBQSxDQUFPLGlCQUFQLElBQXFCLEdBQUEsS0FBQSxDQUFBLEdBQUEsRUFBQSxDQUFBLFdBQUEsRUFBQSxDQUFBO0FBQUEsT0FDdkI7QUFHQSxNQUFXLEtBQUEsTUFBQSxRQUFBLElBQVksSUFBSyxDQUFBLEtBQUEsQ0FBTSxTQUFXLEVBQUE7QUFFM0MsUUFBSSxJQUFBLENBQUMsSUFBSyxDQUFBLGtCQUFBLENBQW1CLEdBQUksQ0FBQSxRQUFRLENBQUssSUFBQSxDQUFDLElBQUssQ0FBQSxTQUFBLENBQVUsR0FBSSxDQUFBLFFBQVEsQ0FBRyxFQUFBO0FBQzNFLFVBQUssSUFBQSxDQUFBLHNCQUFBLENBQXVCLG1CQUFtQixRQUFRLENBQUEsQ0FBQTtBQUFBLFNBQ3pEO0FBQUEsT0FDRjtBQUVBLE1BQUEsSUFBQSxDQUFLLG1CQUFtQixLQUFNLEVBQUEsQ0FBQTtBQUM5QixNQUFBLElBQUEsQ0FBSyxVQUFVLEtBQU0sRUFBQSxDQUFBO0FBQUEsS0FDdkIsQ0FBQTtBQUtBLElBQVEsSUFBQSxDQUFBLGVBQUEsR0FBa0IsQ0FBQyxRQUFBLEVBQWlDLFFBQW9DLEtBQUE7QUFDOUYsTUFBTSxNQUFBLDJCQUFBLEdBQThCLEtBQUssa0JBQW1CLENBQUEsSUFBQSxDQUFBO0FBRzVELE1BQVcsS0FBQSxNQUFBLFFBQUEsSUFBWSxTQUFTLFNBQVcsRUFBQTtBQUN6QyxRQUFBLElBQUksQ0FBQyxRQUFBLENBQVMsU0FBVSxDQUFBLFFBQUEsQ0FBUyxRQUFRLENBQUcsRUFBQTtBQUMxQyxVQUFBLE1BQU0sUUFBVyxHQUFBLElBQUEsQ0FBSyxTQUFVLENBQUEsR0FBQSxDQUFJLFFBQVEsQ0FBQSxDQUFBO0FBQzVDLFVBQUEsSUFBSSxxQ0FBVSxZQUFjLEVBQUE7QUFDMUIsWUFBQSxRQUFBLENBQVMsYUFBYSxXQUFZLEVBQUEsQ0FBQTtBQUFBLFdBQ3BDO0FBQ0EsVUFBSyxJQUFBLENBQUEsU0FBQSxDQUFVLE9BQU8sUUFBUSxDQUFBLENBQUE7QUFDOUIsVUFBSyxJQUFBLENBQUEsa0JBQUEsQ0FBbUIsT0FBTyxRQUFRLENBQUEsQ0FBQTtBQUFBLFNBQ3pDO0FBQUEsT0FDRjtBQUdBLE1BQVcsS0FBQSxNQUFBLFFBQUEsSUFBWSxTQUFTLFNBQVcsRUFBQTtBQUN6QyxRQUFBLElBQUksQ0FBQyxRQUFBLENBQVMsU0FBVSxDQUFBLFFBQUEsQ0FBUyxRQUFRLENBQUcsRUFBQTtBQUMxQyxVQUFJLElBQUEsSUFBQSxDQUFLLG9CQUFxQixDQUFBLFFBQVEsQ0FBRyxFQUFBO0FBQ3ZDLFlBQUssSUFBQSxDQUFBLGtCQUFBLENBQW1CLElBQUksUUFBUSxDQUFBLENBQUE7QUFBQSxXQUN0QztBQUFBLFNBQ0Y7QUFBQSxPQUNGO0FBR0EsTUFBQSxJQUFJLDJCQUFnQyxLQUFBLENBQUEsSUFBSyxJQUFLLENBQUEsa0JBQUEsQ0FBbUIsT0FBTyxDQUFHLEVBQUE7QUFDekUsUUFBQSxJQUFBLENBQUssZ0JBQWlCLEVBQUEsQ0FBQTtBQUFBLE9BQ3hCO0FBQUEsS0FDRixDQUFBO0FBcEdFLElBQUssSUFBQSxDQUFBLG9CQUFBLENBQXFCLEtBQUssV0FBVyxDQUFBLENBQUE7QUFBQSxHQUM1QztBQUFBLEVBVE8sVUFBVSxJQUF5QyxFQUFBO0FBRXhELElBQU8sT0FBQSxJQUFBLENBQUssTUFBTSxTQUFVLENBQUEsSUFBQSxDQUFLLENBQUMsQ0FBTSxLQUFBLENBQUEsQ0FBRSxLQUFNLENBQUEsSUFBQSxLQUFTLElBQUksQ0FBQSxDQUFBO0FBQUEsR0FDL0Q7QUFBQSxFQTZDUSwrQkFBa0MsR0FBQTtBQUN4QyxJQUFXLEtBQUEsTUFBQSxRQUFBLElBQVksSUFBSyxDQUFBLEtBQUEsQ0FBTSxTQUFXLEVBQUE7QUFDM0MsTUFBQSxJQUFJLGFBQWEsUUFBUyxDQUFBLEtBQUEsSUFBUyxTQUFTLEtBQU0sQ0FBQSxPQUFBLEtBQVksZ0JBQWdCLGtCQUFvQixFQUFBO0FBQ2hHLFFBQUssSUFBQSxDQUFBLGtCQUFBLENBQW1CLElBQUksUUFBUSxDQUFBLENBQUE7QUFBQSxPQUN0QztBQUFBLEtBQ0Y7QUFDQSxJQUFBLElBQUEsQ0FBSyxnQkFBaUIsRUFBQSxDQUFBO0FBQUEsR0FDeEI7QUFBQSxFQTBEUSwwQ0FBNkMsR0FBQTtBQUNuRCxJQUFBLElBQUksQ0FBQyxJQUFBLENBQUssc0JBQXVCLENBQUEsU0FBQSxFQUFhLEVBQUE7QUFDNUMsTUFBQSxPQUFBO0FBQUEsS0FDRjtBQUVBLElBQVcsS0FBQSxNQUFBLFFBQUEsSUFBWSxJQUFLLENBQUEsS0FBQSxDQUFNLFNBQVcsRUFBQTtBQUMzQyxNQUFBLElBQUksSUFBSyxDQUFBLHNCQUFBLENBQXVCLGVBQWdCLENBQUEsUUFBUSxDQUFHLEVBQUE7QUFDekQsUUFBQSxxQkFBQSxDQUFzQixVQUFVLHlCQUF5QixDQUFBLENBQUE7QUFDekQsUUFBQSxJQUFBLENBQUssb0NBQW9DLFFBQVEsQ0FBQSxDQUFBO0FBQUEsT0FDbkQ7QUFBQSxLQUNGO0FBQUEsR0FDRjtBQUFBLEVBRVEscUJBQXFCLFFBQWtDLEVBQUE7QUFDN0QsSUFBQSxJQUFJLFNBQVMsTUFBUSxFQUFBO0FBQ25CLE1BQU8sT0FBQSxLQUFBLENBQUE7QUFBQSxLQUNUO0FBRUEsSUFBSSxJQUFBLENBQUMsU0FBUyxpQkFBbUIsRUFBQTtBQUMvQixNQUFPLE9BQUEsS0FBQSxDQUFBO0FBQUEsS0FDVDtBQUdBLElBQUEsSUFBSSxJQUFLLENBQUEsc0JBQUEsQ0FBdUIsZ0JBQWlCLENBQUEsUUFBUSxDQUFHLEVBQUE7QUFDMUQsTUFBQSxxQkFBQSxDQUFzQixVQUFVLGdEQUFnRCxDQUFBLENBQUE7QUFDaEYsTUFBTyxPQUFBLEtBQUEsQ0FBQTtBQUFBLEtBQ1Q7QUFFQSxJQUFPLE9BQUEsSUFBQSxDQUFBO0FBQUEsR0FDVDtBQUFBLEVBTVEsZ0JBQW1CLEdBQUE7QUFDekIsSUFBVyxLQUFBLE1BQUEsUUFBQSxJQUFZLEtBQUssa0JBQW9CLEVBQUE7QUFDOUMsTUFBSSxJQUFBLENBQUMsU0FBUyxpQkFBbUIsRUFBQTtBQUMvQixRQUFNLE1BQUEsSUFBSSxNQUFNLHlFQUF5RSxDQUFBLENBQUE7QUFBQSxPQUMzRjtBQUdBLE1BQUEsSUFBSSxJQUFLLENBQUEsU0FBQSxDQUFVLEdBQUksQ0FBQSxRQUFRLENBQUcsRUFBQTtBQUNoQyxRQUFBLFNBQUE7QUFBQSxPQUNGO0FBR0EsTUFBSSxJQUFBLFVBQUEsQ0FBVyxtQ0FBb0MsQ0FBQSxRQUFRLENBQUcsRUFBQTtBQUM1RCxRQUFBLFNBQUE7QUFBQSxPQUNGO0FBRUEsTUFBQSxNQUFNLGdCQUE2QyxHQUFBO0FBQUEsUUFDakQsUUFBQTtBQUFBLE9BQ0YsQ0FBQTtBQUVBLE1BQUssSUFBQSxDQUFBLFNBQUEsQ0FBVSxHQUFJLENBQUEsUUFBQSxFQUFVLGdCQUFnQixDQUFBLENBQUE7QUFDN0MsTUFBQSxxQkFBQSxDQUFzQixVQUFVLDJCQUEyQixDQUFBLENBQUE7QUFFM0QsTUFBQSxnQkFBQSxDQUFpQixZQUFlLEdBQUEsUUFBQSxDQUFTLGlCQUFrQixFQUFBLENBQUUsU0FBVSxDQUFBO0FBQUEsUUFDckUsSUFBTSxFQUFBLE1BQU0sSUFBSyxDQUFBLDJCQUFBLENBQTRCLFFBQVEsQ0FBQTtBQUFBLFFBQ3JELFFBQVUsRUFBQSxNQUFNLElBQUssQ0FBQSwyQkFBQSxDQUE0QixRQUFRLENBQUE7QUFBQSxRQUN6RCxPQUFPLENBQUMsR0FBQSxLQUFRLElBQUssQ0FBQSxvQkFBQSxDQUFxQixVQUFVLEdBQUcsQ0FBQTtBQUFBLE9BQ3hELENBQUEsQ0FBQTtBQUFBLEtBQ0g7QUFBQSxHQUNGO0FBQUEsRUFLUSw0QkFBNEIsUUFBeUIsRUFBQTtBQXpOL0QsSUFBQSxJQUFBLEVBQUEsQ0FBQTtBQTBOSSxJQUFBLElBQUksQ0FBQyxJQUFBLENBQUssU0FBVSxDQUFBLEdBQUEsQ0FBSSxRQUFRLENBQUcsRUFBQTtBQUNqQyxNQUFBLE9BQUE7QUFBQSxLQUNGO0FBRUEsSUFBQSxNQUFNLE1BQVMsR0FBQSxJQUFBLENBQUssU0FBVSxDQUFBLEdBQUEsQ0FBSSxRQUFRLENBQUEsQ0FBQTtBQUMxQyxJQUFBLENBQUEsRUFBQSxHQUFBLE1BQUEsSUFBQSxJQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUEsTUFBQSxDQUFRLGlCQUFSLElBQXNCLEdBQUEsS0FBQSxDQUFBLEdBQUEsRUFBQSxDQUFBLFdBQUEsRUFBQSxDQUFBO0FBRXRCLElBQUssSUFBQSxDQUFBLFNBQUEsQ0FBVSxPQUFPLFFBQVEsQ0FBQSxDQUFBO0FBQzlCLElBQUssSUFBQSxDQUFBLGtCQUFBLENBQW1CLE9BQU8sUUFBUSxDQUFBLENBQUE7QUFFdkMsSUFBQSxxQkFBQSxDQUFzQixVQUFVLDZCQUE2QixDQUFBLENBQUE7QUFFN0QsSUFBQSxJQUFBLENBQUssNkJBQTZCLFFBQVEsQ0FBQSxDQUFBO0FBQzFDLElBQUEsSUFBQSxDQUFLLGdCQUFpQixFQUFBLENBQUE7QUFBQSxHQUN4QjtBQUFBLEVBRU8sT0FBTyxRQUF5QixFQUFBO0FBMU96QyxJQUFBLElBQUEsRUFBQSxDQUFBO0FBMk9JLElBQUEsTUFBTSxNQUFTLEdBQUEsSUFBQSxDQUFLLFNBQVUsQ0FBQSxHQUFBLENBQUksUUFBUSxDQUFBLENBQUE7QUFDMUMsSUFBQSxDQUFBLEVBQUEsR0FBQSxNQUFBLElBQUEsSUFBQSxHQUFBLEtBQUEsQ0FBQSxHQUFBLE1BQUEsQ0FBUSxpQkFBUixJQUFzQixHQUFBLEtBQUEsQ0FBQSxHQUFBLEVBQUEsQ0FBQSxXQUFBLEVBQUEsQ0FBQTtBQUV0QixJQUFLLElBQUEsQ0FBQSxTQUFBLENBQVUsT0FBTyxRQUFRLENBQUEsQ0FBQTtBQUM5QixJQUFLLElBQUEsQ0FBQSxrQkFBQSxDQUFtQixPQUFPLFFBQVEsQ0FBQSxDQUFBO0FBQUEsR0FDekM7QUFBQSxFQUVRLG9CQUFBLENBQXFCLFVBQXlCLEdBQVksRUFBQTtBQWxQcEUsSUFBQSxJQUFBLEVBQUEsQ0FBQTtBQW1QSSxJQUFBLE1BQU0sTUFBUyxHQUFBLElBQUEsQ0FBSyxTQUFVLENBQUEsR0FBQSxDQUFJLFFBQVEsQ0FBQSxDQUFBO0FBQzFDLElBQUEsQ0FBQSxFQUFBLEdBQUEsTUFBQSxJQUFBLElBQUEsR0FBQSxLQUFBLENBQUEsR0FBQSxNQUFBLENBQVEsaUJBQVIsSUFBc0IsR0FBQSxLQUFBLENBQUEsR0FBQSxFQUFBLENBQUEsV0FBQSxFQUFBLENBQUE7QUFFdEIsSUFBSyxJQUFBLENBQUEsU0FBQSxDQUFVLE9BQU8sUUFBUSxDQUFBLENBQUE7QUFDOUIsSUFBSyxJQUFBLENBQUEsa0JBQUEsQ0FBbUIsT0FBTyxRQUFRLENBQUEsQ0FBQTtBQUV2QyxJQUFBLFFBQUEsQ0FBUyxTQUFTLEVBQUUsT0FBQSxFQUFTLE9BQU8sS0FBTyxFQUFBLEdBQUEsQ0FBSSxTQUFTLENBQUEsQ0FBQTtBQUV4RCxJQUFRLE9BQUEsQ0FBQSxLQUFBLENBQU0sNENBQTRDLEdBQUcsQ0FBQSxDQUFBO0FBRTdELElBQXNCLHFCQUFBLENBQUEsUUFBQSxFQUFVLDJCQUEyQixHQUFHLENBQUEsQ0FBQTtBQUU5RCxJQUFBLElBQUEsQ0FBSyw2QkFBNkIsUUFBUSxDQUFBLENBQUE7QUFDMUMsSUFBQSxJQUFBLENBQUssZ0JBQWlCLEVBQUEsQ0FBQTtBQUFBLEdBQ3hCO0FBQUEsRUFFUSw0QkFBNEIsbUJBQW9DLEVBQUE7QUFDdEUsSUFBSyxJQUFBLENBQUEseUJBQUEsQ0FBMEIsSUFBSSxtQkFBbUIsQ0FBQSxDQUFBO0FBQ3RELElBQUEsSUFBQSxDQUFLLG9DQUFvQyxtQkFBbUIsQ0FBQSxDQUFBO0FBRzVELElBQUEsSUFBSSxDQUFDLElBQUEsQ0FBSyxTQUFVLENBQUEsR0FBQSxDQUFJLG1CQUFtQixDQUFHLEVBQUE7QUFDNUMsTUFBQSxJQUFBLENBQUssZ0JBQWlCLEVBQUEsQ0FBQTtBQUN0QixNQUFBLElBQUEsQ0FBSyw2QkFBNkIsbUJBQW1CLENBQUEsQ0FBQTtBQUFBLEtBQ3ZEO0FBQUEsR0FDRjtBQUFBLEVBTVEscUNBQUEsQ0FBc0MsVUFBeUIsVUFBcUIsRUFBQTtBQUUxRixJQUFBLElBQUksVUFBWSxFQUFBO0FBQ2QsTUFBQSxJQUFBLENBQUssb0NBQW9DLFFBQVEsQ0FBQSxDQUFBO0FBQUEsS0FDbkQ7QUFHQSxJQUFBLElBQUksS0FBSyxrQkFBbUIsQ0FBQSxJQUFBLEdBQU8sS0FBSyxJQUFLLENBQUEsU0FBQSxDQUFVLFNBQVMsQ0FBRyxFQUFBO0FBQ2pFLE1BQUEsSUFBQSxDQUFLLGdCQUFpQixFQUFBLENBQUE7QUFBQSxLQUN4QjtBQUFBLEdBQ0Y7QUFBQSxFQUVRLG9DQUFvQyxtQkFBb0MsRUFBQTtBQUM5RSxJQUFXLEtBQUEsTUFBQSxhQUFBLElBQWlCLElBQUssQ0FBQSxLQUFBLENBQU0sU0FBVyxFQUFBO0FBQ2hELE1BQUEsSUFBSSxjQUFjLGtCQUFvQixFQUFBO0FBQ3BDLFFBQUEsSUFBSSxjQUFjLGtCQUFtQixDQUFBLGVBQUEsQ0FBZ0IsbUJBQW9CLENBQUEsS0FBQSxDQUFNLElBQUksQ0FBRyxFQUFBO0FBQ3BGLFVBQUEscUJBQUEsQ0FBc0IsZUFBZSx5REFBeUQsQ0FBQSxDQUFBO0FBRTlGLFVBQUEsSUFBSSxLQUFLLFNBQVUsQ0FBQSxHQUFBLENBQUksYUFBYSxDQUFBLElBQUssY0FBYyxRQUFVLEVBQUE7QUFDL0QsWUFBQSxhQUFBLENBQWMsUUFBUyxFQUFBLENBQUE7QUFBQSxXQUN6QjtBQUVBLFVBQUssSUFBQSxDQUFBLGtCQUFBLENBQW1CLElBQUksYUFBYSxDQUFBLENBQUE7QUFBQSxTQUMzQztBQUFBLE9BQ0Y7QUFBQSxLQUNGO0FBQUEsR0FDRjtBQUFBLEVBS1EsNkJBQTZCLFFBQXlCLEVBQUE7QUFDNUQsSUFBSSxJQUFBLENBQUMsS0FBSyxNQUFRLEVBQUE7QUFDaEIsTUFBQSxPQUFBO0FBQUEsS0FDRjtBQUVBLElBQUssSUFBQSxDQUFBLHVCQUFBLENBQXdCLEtBQUssTUFBUSxFQUFBLFFBQUEsRUFBVSxLQUFLLHlCQUEwQixDQUFBLEdBQUEsQ0FBSSxRQUFRLENBQUMsQ0FBQSxDQUFBO0FBQ2hHLElBQUssSUFBQSxDQUFBLHlCQUFBLENBQTBCLE9BQU8sUUFBUSxDQUFBLENBQUE7QUFBQSxHQUNoRDtBQUFBLEVBS1EsdUJBQUEsQ0FBd0IsV0FBMEIsRUFBQSxRQUFBLEVBQXlCLFVBQXFCLEVBQUE7QUFFdEcsSUFBQSxJQUFJLFNBQVMsV0FBYSxFQUFBO0FBQ3hCLE1BQUEsT0FBQTtBQUFBLEtBQ0Y7QUFHQSxJQUFJLElBQUEsQ0FBQyxZQUFZLFFBQVUsRUFBQTtBQUN6QixNQUFBLE9BQUE7QUFBQSxLQUNGO0FBR0EsSUFBQSxJQUFJLFlBQVksS0FBTSxDQUFBLFVBQUEsSUFBYyxXQUFZLENBQUEsS0FBQSxDQUFNLGVBQWUsSUFBTSxFQUFBO0FBQ3pFLE1BQUEsTUFBTSxXQUFXLFdBQVksQ0FBQSxLQUFBLENBQU0sV0FBVyxTQUFVLENBQUEsUUFBQSxDQUFTLE1BQU0sSUFBSSxDQUFBLENBQUE7QUFDM0UsTUFBQSxJQUFJLFFBQVUsRUFBQTtBQUNaLFFBQUEsT0FBQTtBQUFBLE9BQ0Y7QUFBQSxLQUNGO0FBRUEsSUFBQSxJQUFJLFlBQVksa0JBQW9CLEVBQUE7QUFDbEMsTUFBWSxXQUFBLENBQUEsa0JBQUEsQ0FBbUIsdUJBQXdCLENBQUEsUUFBQSxFQUFVLFVBQVUsQ0FBQSxDQUFBO0FBQUEsS0FDN0U7QUFFQSxJQUFZLFdBQUEsQ0FBQSxZQUFBLENBQWEsQ0FBQyxLQUFVLEtBQUEsSUFBQSxDQUFLLHdCQUF3QixLQUFPLEVBQUEsUUFBQSxFQUFVLFVBQVUsQ0FBQyxDQUFBLENBQUE7QUFBQSxHQUMvRjtBQUFBLEVBUU8sbUNBQW1DLFFBQXlCLEVBQUE7QUFDakUsSUFBQSxJQUFJLFFBQVMsQ0FBQSxpQkFBQSxJQUFxQixRQUFTLENBQUEsaUJBQUEsRUFBcUIsRUFBQTtBQUM5RCxNQUFPLE9BQUEsSUFBQSxDQUFBO0FBQUEsS0FDVDtBQUVBLElBQUksSUFBQSxJQUFBLENBQUssbUJBQW1CLEdBQUksQ0FBQSxRQUFRLEtBQUssSUFBSyxDQUFBLFNBQUEsQ0FBVSxHQUFJLENBQUEsUUFBUSxDQUFHLEVBQUE7QUFDekUsTUFBTyxPQUFBLElBQUEsQ0FBQTtBQUFBLEtBQ1Q7QUFHQSxJQUFPLE9BQUEsVUFBQSxDQUFXLG9DQUFvQyxRQUFRLENBQUEsQ0FBQTtBQUFBLEdBQ2hFO0FBQ0YsQ0FBQTtBQU9BLFNBQVMscUJBQUEsQ0FBc0IsUUFBeUIsRUFBQSxPQUFBLEVBQWlCLEdBQWEsRUFBQTtBQUNwRixFQUFBLElBQUksR0FBSyxFQUFBO0FBQ1AsSUFBQSxhQUFBLENBQWMsb0JBQW9CLENBQVksU0FBQSxFQUFBLFFBQUEsQ0FBUyxLQUFNLENBQUEsSUFBQSxDQUFBLEdBQUEsRUFBVSxXQUFXLEdBQUcsQ0FBQSxDQUFBO0FBQUEsR0FDaEYsTUFBQTtBQUNMLElBQUEsYUFBQSxDQUFjLGtCQUFvQixFQUFBLENBQUEsU0FBQSxFQUFZLFFBQVMsQ0FBQSxLQUFBLENBQU0sVUFBVSxPQUFTLENBQUEsQ0FBQSxDQUFBLENBQUE7QUFBQSxHQUNsRjtBQUNGLENBQUE7QUFFQSxNQUFNLHlDQUF1RixDQUFBO0FBQUEsRUFDcEYsWUFBb0IseUJBQW1GLEVBQUE7QUFBbkYsSUFBQSxJQUFBLENBQUEseUJBQUEsR0FBQSx5QkFBQSxDQUFBO0FBRTNCLElBQVEsSUFBQSxDQUFBLFNBQUEsdUJBQWdCLEdBQVksRUFBQSxDQUFBO0FBQUEsR0FGMkU7QUFBQSxFQUl4RyxRQUF3QixHQUFBO0FBQzdCLElBQUEsT0FBTyxJQUFLLENBQUEsU0FBQSxDQUFBO0FBQUEsR0FDZDtBQUFBLEVBRU8sZ0JBQWdCLElBQXVCLEVBQUE7QUFDNUMsSUFBTyxPQUFBLEtBQUEsQ0FBQTtBQUFBLEdBQ1Q7QUFBQSxFQUVPLHVCQUFBLENBQXdCLFVBQXlCLFVBQTJCLEVBQUE7QUFDakYsSUFBSyxJQUFBLENBQUEseUJBQUEsQ0FBMEIsVUFBVSxVQUFVLENBQUEsQ0FBQTtBQUFBLEdBQ3JEO0FBQ0Y7Ozs7In0=
@@ -1,11 +0,0 @@
1
- import { BusEventWithPayload } from '@grafana/data';
2
-
3
- class SceneVariableValueChangedEvent extends BusEventWithPayload {
4
- }
5
- SceneVariableValueChangedEvent.type = "scene-variable-changed-value";
6
- function isCustomVariableValue(value) {
7
- return typeof value === "object" && "formatter" in value;
8
- }
9
-
10
- export { SceneVariableValueChangedEvent, isCustomVariableValue };
11
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy92YXJpYWJsZXMvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBCdXNFdmVudFdpdGhQYXlsb2FkIH0gZnJvbSAnQGdyYWZhbmEvZGF0YSc7XG5pbXBvcnQgeyBWYXJpYWJsZVR5cGUsIFZhcmlhYmxlSGlkZSB9IGZyb20gJ0BncmFmYW5hL3NjaGVtYSc7XG5cbmltcG9ydCB7IFNjZW5lT2JqZWN0LCBTY2VuZU9iamVjdFN0YXRlIH0gZnJvbSAnLi4vY29yZS90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NlbmVWYXJpYWJsZVN0YXRlIGV4dGVuZHMgU2NlbmVPYmplY3RTdGF0ZSB7XG4gIHR5cGU6IFZhcmlhYmxlVHlwZTtcbiAgbmFtZTogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbiAgaGlkZT86IFZhcmlhYmxlSGlkZTtcbiAgc2tpcFVybFN5bmM/OiBib29sZWFuO1xuICBsb2FkaW5nPzogYm9vbGVhbjtcbiAgZXJyb3I/OiBhbnkgfCBudWxsO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NlbmVWYXJpYWJsZTxUU3RhdGUgZXh0ZW5kcyBTY2VuZVZhcmlhYmxlU3RhdGUgPSBTY2VuZVZhcmlhYmxlU3RhdGU+IGV4dGVuZHMgU2NlbmVPYmplY3Q8VFN0YXRlPiB7XG4gIC8qKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBvbiBhY3RpdmF0aW9uIG9yIHdoZW4gYSBkZXBlbmRlbmN5IGNoYW5nZXMuXG4gICAqL1xuICB2YWxpZGF0ZUFuZFVwZGF0ZT8oKTogT2JzZXJ2YWJsZTxWYWxpZGF0ZUFuZFVwZGF0ZVJlc3VsdD47XG5cbiAgLyoqXG4gICAqIFNob3VsZCByZXR1cm4gdGhlIHZhbHVlIGZvciB0aGUgZ2l2ZW4gZmllbGQgcGF0aFxuICAgKi9cbiAgZ2V0VmFsdWUoZmllbGRQYXRoPzogc3RyaW5nKTogVmFyaWFibGVWYWx1ZSB8IHVuZGVmaW5lZCB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFNob3VsZCByZXR1cm4gdGhlIHZhbHVlIGRpc3BsYXkgdGV4dCwgdXNlZCBieSB0aGUgXCJ0ZXh0XCIgZm9ybWF0dGVyXG4gICAqIEV4YW1wbGU6ICR7cG9kSWQ6dGV4dH1cbiAgICogVXNlZnVsIGZvciB2YXJpYWJsZXMgdGhhdCBoYXZlIG5vbiB1c2VyIGZyaWVuZGx5IHZhbHVlcyBidXQgZnJpZW5kbHkgZGlzcGxheSB0ZXh0IG5hbWVzLlxuICAgKi9cbiAgZ2V0VmFsdWVUZXh0PyhmaWVsZFBhdGg/OiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZvciBzcGVjaWFsIGVkZ2UgY2FzZSBzZW5hcmlvcy4gRm9yIGV4YW1wbGUgbG9jYWwgZnVuY3Rpb24gdGhhdCBsb2NhbGx5IHNjb3BlZCB2YXJpYWJsZXMgY2FuIGltcGxlbWVudC5cbiAgICoqL1xuICBpc0FuY2VzdG9yTG9hZGluZz8oKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQWxsb3dzIGNhbmNlbGxpbmcgdmFyaWFibGUgZXhlY3V0aW9uLlxuICAgKi9cbiAgb25DYW5jZWw/KCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEBleHBlcmltZW50YWxcbiAgICogSW5kaWNhdGVzIHRoYXQgYSB2YXJpYWJsZSBsb2FkcyB2YWx1ZXMgbGF6aWx5IHdoZW4gdXNlciBpbnRlcmFjdHMgd2l0aCB0aGUgdmFyaWFibGUgZHJvcGRvd24uXG4gICAqL1xuICBpc0xhenk/OiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBWYXJpYWJsZVZhbHVlID0gVmFyaWFibGVWYWx1ZVNpbmdsZSB8IFZhcmlhYmxlVmFsdWVTaW5nbGVbXTtcblxuZXhwb3J0IHR5cGUgVmFyaWFibGVWYWx1ZVNpbmdsZSA9IHN0cmluZyB8IGJvb2xlYW4gfCBudW1iZXIgfCBDdXN0b21WYXJpYWJsZVZhbHVlO1xuXG4vKipcbiAqIFRoaXMgaXMgZm9yIGVkZ2UgY2FzZSB2YWx1ZXMgbGlrZSB0aGUgY3VzdG9tIFwiYWxsVmFsdWVcIiB0aGF0IHNob3VsZCBub3QgYmUgZXNjYXBlZC9mb3JtYXR0ZWQgbGlrZSBvdGhlciB2YWx1ZXNcbiAqIFRoZSBjdXN0b20gYWxsIHZhbHVlIHVzdWFsbHkgY29udGFpbiB3aWxkY2FyZHMgdGhhdCBzaG91bGQgbm90IGJlIGVzY2FwZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tVmFyaWFibGVWYWx1ZSB7XG4gIC8qKlxuICAgKiBUaGUgZm9ybWF0IG5hbWUgb3IgZnVuY3Rpb24gdXNlZCBpbiB0aGUgZXhwcmVzc2lvblxuICAgKi9cbiAgZm9ybWF0dGVyKGZvcm1hdE5hbWVPckZuPzogc3RyaW5nIHwgVmFyaWFibGVDdXN0b21Gb3JtYXR0ZXJGbik6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0ZUFuZFVwZGF0ZVJlc3VsdCB7fVxuZXhwb3J0IGludGVyZmFjZSBWYXJpYWJsZVZhbHVlT3B0aW9uIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU6IFZhcmlhYmxlVmFsdWVTaW5nbGU7XG4gIGdyb3VwPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjZW5lVmFyaWFibGVTZXRTdGF0ZSBleHRlbmRzIFNjZW5lT2JqZWN0U3RhdGUge1xuICB2YXJpYWJsZXM6IFNjZW5lVmFyaWFibGVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY2VuZVZhcmlhYmxlcyBleHRlbmRzIFNjZW5lT2JqZWN0PFNjZW5lVmFyaWFibGVTZXRTdGF0ZT4ge1xuICAvKipcbiAgICogV2lsbCBsb29rIGZvciBhbmQgcmV0dXJuIHZhcmlhYmxlIG1hdGNoaW5nIG5hbWVcbiAgICovXG4gIGdldEJ5TmFtZShuYW1lOiBzdHJpbmcpOiBTY2VuZVZhcmlhYmxlIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogV2lsbCByZXR1cm4gdHJ1ZSBpZiB0aGUgdmFyaWFibGUgaXMgbG9hZGluZyBvciB3YWl0aW5nIGZvciBhbiB1cGRhdGUgdG8gY29tcGxldGUuXG4gICAqL1xuICBpc1ZhcmlhYmxlTG9hZGluZ09yV2FpdGluZ1RvVXBkYXRlKHZhcmlhYmxlOiBTY2VuZVZhcmlhYmxlKTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIFNjZW5lVmFyaWFibGVWYWx1ZUNoYW5nZWRFdmVudCBleHRlbmRzIEJ1c0V2ZW50V2l0aFBheWxvYWQ8U2NlbmVWYXJpYWJsZT4ge1xuICBwdWJsaWMgc3RhdGljIHR5cGUgPSAnc2NlbmUtdmFyaWFibGUtY2hhbmdlZC12YWx1ZSc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NlbmVWYXJpYWJsZURlcGVuZGVuY3lDb25maWdMaWtlIHtcbiAgLyoqIFJldHVybiBhbGwgdmFyaWFibGUgbmFtZXMgdGhpcyBvYmplY3QgZGVwZW5kIG9uICovXG4gIGdldE5hbWVzKCk6IFNldDxzdHJpbmc+O1xuXG4gIC8qKiBVc2VkIHRvIGNoZWNrIGZvciBkZXBlbmRlbmN5IG9uIGEgc3BlY2lmaWMgdmFyaWFibGUgKi9cbiAgaGFzRGVwZW5kZW5jeU9uKG5hbWU6IHN0cmluZyk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdpbGwgYmUgY2FsbGVkIHdoZW4gdGhlIFZhcmlhYmxlU2V0IGhhdmUgY29tcGxldGVkIGFuIHVwZGF0ZSBwcm9jZXNzIG9yIHdoZW4gYSB2YXJpYWJsZSBoYXMgY2hhbmdlZCB2YWx1ZS5cbiAgICoqL1xuICB2YXJpYWJsZVVwZGF0ZUNvbXBsZXRlZCh2YXJpYWJsZTogU2NlbmVWYXJpYWJsZSwgaGFzQ2hhbmdlZDogYm9vbGVhbik6IHZvaWQ7XG59XG5cbi8qKlxuICogVXNlZCBpbiBDdXN0b21Gb3JtYXR0ZXJGblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbUZvcm1hdHRlclZhcmlhYmxlIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBWYXJpYWJsZVR5cGU7XG4gIG11bHRpPzogYm9vbGVhbjtcbiAgaW5jbHVkZUFsbD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIFZhcmlhYmxlQ3VzdG9tRm9ybWF0dGVyRm4gPSAoXG4gIHZhbHVlOiB1bmtub3duLFxuICBsZWdhY3lWYXJpYWJsZU1vZGVsOiBQYXJ0aWFsPEN1c3RvbUZvcm1hdHRlclZhcmlhYmxlPixcbiAgbGVnYWN5RGVmYXVsdEZvcm1hdHRlcj86IFZhcmlhYmxlQ3VzdG9tRm9ybWF0dGVyRm5cbikgPT4gc3RyaW5nO1xuXG5leHBvcnQgdHlwZSBJbnRlcnBvbGF0aW9uRm9ybWF0UGFyYW1ldGVyID0gc3RyaW5nIHwgVmFyaWFibGVDdXN0b21Gb3JtYXR0ZXJGbiB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ3VzdG9tVmFyaWFibGVWYWx1ZSh2YWx1ZTogVmFyaWFibGVWYWx1ZSk6IHZhbHVlIGlzIEN1c3RvbVZhcmlhYmxlVmFsdWUge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAnZm9ybWF0dGVyJyBpbiB2YWx1ZTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQTBGTyxNQUFNLHVDQUF1QyxtQkFBbUMsQ0FBQTtBQUV2RixDQUFBO0FBRmEsOEJBQUEsQ0FDRyxJQUFPLEdBQUEsOEJBQUEsQ0FBQTtBQWtDaEIsU0FBUyxzQkFBc0IsS0FBb0QsRUFBQTtBQUN4RixFQUFPLE9BQUEsT0FBTyxLQUFVLEtBQUEsUUFBQSxJQUFZLFdBQWUsSUFBQSxLQUFBLENBQUE7QUFDckQ7Ozs7In0=
@@ -1,172 +0,0 @@
1
- import { isEqual } from 'lodash';
2
- import { sceneGraph } from '../core/sceneGraph/index.js';
3
- import { SceneQueryRunner } from '../querying/SceneQueryRunner.js';
4
- import uFuzzy from '@leeoniya/ufuzzy';
5
-
6
- function isVariableValueEqual(a, b) {
7
- if (a === b) {
8
- return true;
9
- }
10
- return isEqual(a, b);
11
- }
12
- function safeStringifyValue(value) {
13
- const getCircularReplacer = () => {
14
- const seen = /* @__PURE__ */ new WeakSet();
15
- return (_, value2) => {
16
- if (typeof value2 === "object" && value2 !== null) {
17
- if (seen.has(value2)) {
18
- return;
19
- }
20
- seen.add(value2);
21
- }
22
- return value2;
23
- };
24
- };
25
- try {
26
- return JSON.stringify(value, getCircularReplacer());
27
- } catch (error) {
28
- console.error(error);
29
- }
30
- return "";
31
- }
32
- function renderPrometheusLabelFilters(filters) {
33
- return filters.map((filter) => renderFilter(filter)).join(",");
34
- }
35
- function renderFilter(filter) {
36
- var _a, _b;
37
- let value = "";
38
- let operator = filter.operator;
39
- if (operator === "=|") {
40
- operator = "=~";
41
- value = (_a = filter.values) == null ? void 0 : _a.map(escapeLabelValueInRegexSelector).join("|");
42
- } else if (operator === "!=|") {
43
- operator = "!~";
44
- value = (_b = filter.values) == null ? void 0 : _b.map(escapeLabelValueInRegexSelector).join("|");
45
- } else if (operator === "=~" || operator === "!~") {
46
- value = escapeLabelValueInRegexSelector(filter.value);
47
- } else {
48
- value = escapeLabelValueInExactSelector(filter.value);
49
- }
50
- return `${filter.key}${operator}"${value}"`;
51
- }
52
- function escapeLabelValueInExactSelector(labelValue) {
53
- return labelValue.replace(/\\/g, "\\\\").replace(/\n/g, "\\n").replace(/"/g, '\\"');
54
- }
55
- function escapeLabelValueInRegexSelector(labelValue) {
56
- return escapeLabelValueInExactSelector(escapeLokiRegexp(labelValue));
57
- }
58
- const RE2_METACHARACTERS = /[*+?()|\\.\[\]{}^$]/g;
59
- function escapeLokiRegexp(value) {
60
- return value.replace(RE2_METACHARACTERS, "\\$&");
61
- }
62
- function getQueriesForVariables(sourceObject) {
63
- const runners = sceneGraph.findAllObjects(
64
- sourceObject.getRoot(),
65
- (o) => o instanceof SceneQueryRunner
66
- );
67
- const applicableRunners = filterOutInactiveRunnerDuplicates(runners).filter((r) => {
68
- var _a, _b;
69
- return ((_a = r.state.datasource) == null ? void 0 : _a.uid) === ((_b = sourceObject.state.datasource) == null ? void 0 : _b.uid);
70
- });
71
- if (applicableRunners.length === 0) {
72
- return [];
73
- }
74
- const result = [];
75
- applicableRunners.forEach((r) => {
76
- result.push(...r.state.queries);
77
- });
78
- return result;
79
- }
80
- function filterOutInactiveRunnerDuplicates(runners) {
81
- const groupedItems = {};
82
- for (const item of runners) {
83
- if (item.state.key) {
84
- if (!(item.state.key in groupedItems)) {
85
- groupedItems[item.state.key] = [];
86
- }
87
- groupedItems[item.state.key].push(item);
88
- }
89
- }
90
- return Object.values(groupedItems).flatMap((group) => {
91
- const activeItems = group.filter((item) => item.isActive);
92
- if (activeItems.length === 0 && group.length === 1) {
93
- return group;
94
- }
95
- return activeItems;
96
- });
97
- }
98
- function escapeUrlPipeDelimiters(value) {
99
- if (value === null || value === void 0) {
100
- return "";
101
- }
102
- return value = /\|/g[Symbol.replace](value, "__gfp__");
103
- }
104
- function escapeUrlCommaDelimiters(value) {
105
- if (value === null || value === void 0) {
106
- return "";
107
- }
108
- return /,/g[Symbol.replace](value, "__gfc__");
109
- }
110
- function unescapeUrlDelimiters(value) {
111
- if (value === null || value === void 0) {
112
- return "";
113
- }
114
- value = /__gfp__/g[Symbol.replace](value, "|");
115
- value = /__gfc__/g[Symbol.replace](value, ",");
116
- return value;
117
- }
118
- function toUrlCommaDelimitedString(key, label) {
119
- if (!label || key === label) {
120
- return escapeUrlCommaDelimiters(key);
121
- }
122
- return [key, label].map(escapeUrlCommaDelimiters).join(",");
123
- }
124
- function dataFromResponse(response) {
125
- return Array.isArray(response) ? response : response.data;
126
- }
127
- function responseHasError(response) {
128
- return !Array.isArray(response) && Boolean(response.error);
129
- }
130
- function handleOptionGroups(values) {
131
- const result = [];
132
- const groupedResults = /* @__PURE__ */ new Map();
133
- for (const value of values) {
134
- const groupLabel = value.group;
135
- if (groupLabel) {
136
- let group = groupedResults.get(groupLabel);
137
- if (!group) {
138
- group = [];
139
- groupedResults.set(groupLabel, group);
140
- result.push({ label: groupLabel, options: group });
141
- }
142
- group.push(value);
143
- } else {
144
- result.push(value);
145
- }
146
- }
147
- return result;
148
- }
149
- function getFuzzySearcher(haystack, limit = 1e4) {
150
- const ufuzzy = new uFuzzy();
151
- const FIRST = Array.from({ length: Math.min(limit, haystack.length) }, (_, i) => i);
152
- return (search) => {
153
- if (search === "") {
154
- return FIRST;
155
- }
156
- const [idxs, info, order] = ufuzzy.search(haystack, search);
157
- if (idxs) {
158
- if (info && order) {
159
- const outIdxs = Array(Math.min(order.length, limit));
160
- for (let i = 0; i < outIdxs.length; i++) {
161
- outIdxs[i] = info.idx[order[i]];
162
- }
163
- return outIdxs;
164
- }
165
- return idxs.slice(0, limit);
166
- }
167
- return [];
168
- };
169
- }
170
-
171
- export { dataFromResponse, escapeLabelValueInExactSelector, escapeLabelValueInRegexSelector, escapeUrlCommaDelimiters, escapeUrlPipeDelimiters, getFuzzySearcher, getQueriesForVariables, handleOptionGroups, isVariableValueEqual, renderPrometheusLabelFilters, responseHasError, safeStringifyValue, toUrlCommaDelimitedString, unescapeUrlDelimiters };
172
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy92YXJpYWJsZXMvdXRpbHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBWYXJpYWJsZVZhbHVlIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBBZEhvY1ZhcmlhYmxlRmlsdGVyLCBEYXRhUXVlcnlFcnJvciwgR2V0VGFnUmVzcG9uc2UsIE1ldHJpY0ZpbmRWYWx1ZSwgU2VsZWN0YWJsZVZhbHVlIH0gZnJvbSAnQGdyYWZhbmEvZGF0YSc7XG5pbXBvcnQgeyBzY2VuZUdyYXBoIH0gZnJvbSAnLi4vY29yZS9zY2VuZUdyYXBoJztcbmltcG9ydCB7IFNjZW5lRGF0YVF1ZXJ5LCBTY2VuZU9iamVjdCwgU2NlbmVPYmplY3RTdGF0ZSB9IGZyb20gJy4uL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHsgU2NlbmVRdWVyeVJ1bm5lciB9IGZyb20gJy4uL3F1ZXJ5aW5nL1NjZW5lUXVlcnlSdW5uZXInO1xuaW1wb3J0IHsgRGF0YVNvdXJjZVJlZiB9IGZyb20gJ0BncmFmYW5hL3NjaGVtYSc7XG5pbXBvcnQgdUZ1enp5IGZyb20gJ0BsZWVvbml5YS91ZnV6enknO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNWYXJpYWJsZVZhbHVlRXF1YWwoYTogVmFyaWFibGVWYWx1ZSB8IG51bGwgfCB1bmRlZmluZWQsIGI6IFZhcmlhYmxlVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gIGlmIChhID09PSBiKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZXR1cm4gaXNFcXVhbChhLCBiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNhZmVTdHJpbmdpZnlWYWx1ZSh2YWx1ZTogdW5rbm93bikge1xuICAvLyBBdm9pZCBjaXJjdWxhciByZWZlcmVuY2VzIGlnbm9yaW5nIHRob3NlIHJlZmVyZW5jZXNcbiAgY29uc3QgZ2V0Q2lyY3VsYXJSZXBsYWNlciA9ICgpID0+IHtcbiAgICBjb25zdCBzZWVuID0gbmV3IFdlYWtTZXQoKTtcbiAgICByZXR1cm4gKF86IHN0cmluZywgdmFsdWU6IG9iamVjdCB8IG51bGwpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgIGlmIChzZWVuLmhhcyh2YWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc2Vlbi5hZGQodmFsdWUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH07XG4gIH07XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUsIGdldENpcmN1bGFyUmVwbGFjZXIoKSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJQcm9tZXRoZXVzTGFiZWxGaWx0ZXJzKGZpbHRlcnM6IEFkSG9jVmFyaWFibGVGaWx0ZXJbXSkge1xuICByZXR1cm4gZmlsdGVycy5tYXAoKGZpbHRlcikgPT4gcmVuZGVyRmlsdGVyKGZpbHRlcikpLmpvaW4oJywnKTtcbn1cblxuZnVuY3Rpb24gcmVuZGVyRmlsdGVyKGZpbHRlcjogQWRIb2NWYXJpYWJsZUZpbHRlcikge1xuICBsZXQgdmFsdWUgPSAnJztcbiAgbGV0IG9wZXJhdG9yID0gZmlsdGVyLm9wZXJhdG9yO1xuXG4gIC8vIG1hcCBcIm9uZSBvZlwiIG9wZXJhdG9yIHRvIHJlZ2V4XG4gIGlmIChvcGVyYXRvciA9PT0gJz18Jykge1xuICAgIG9wZXJhdG9yID0gJz1+JztcbiAgICAvLyBUT0RPIHJlbW92ZSB3aGVuIHdlJ3JlIG9uIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBAZ3JhZmFuYS9kYXRhXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIHZhbHVlID0gZmlsdGVyLnZhbHVlcz8ubWFwKGVzY2FwZUxhYmVsVmFsdWVJblJlZ2V4U2VsZWN0b3IpLmpvaW4oJ3wnKTtcbiAgfSBlbHNlIGlmIChvcGVyYXRvciA9PT0gJyE9fCcpIHtcbiAgICBvcGVyYXRvciA9ICchfic7XG4gICAgLy8gVE9ETyByZW1vdmUgd2hlbiB3ZSdyZSBvbiB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgQGdyYWZhbmEvZGF0YVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICB2YWx1ZSA9IGZpbHRlci52YWx1ZXM/Lm1hcChlc2NhcGVMYWJlbFZhbHVlSW5SZWdleFNlbGVjdG9yKS5qb2luKCd8Jyk7XG4gIH0gZWxzZSBpZiAob3BlcmF0b3IgPT09ICc9ficgfHwgb3BlcmF0b3IgPT09ICchficpIHtcbiAgICB2YWx1ZSA9IGVzY2FwZUxhYmVsVmFsdWVJblJlZ2V4U2VsZWN0b3IoZmlsdGVyLnZhbHVlKTtcbiAgfSBlbHNlIHtcbiAgICB2YWx1ZSA9IGVzY2FwZUxhYmVsVmFsdWVJbkV4YWN0U2VsZWN0b3IoZmlsdGVyLnZhbHVlKTtcbiAgfVxuXG4gIHJldHVybiBgJHtmaWx0ZXIua2V5fSR7b3BlcmF0b3J9XCIke3ZhbHVlfVwiYDtcbn1cblxuLy8gYmFzZWQgb24gdGhlIG9wZW5tZXRyaWNzLWRvY3VtZW50YXRpb24sIHRoZSAzIHN5bWJvbHMgd2UgaGF2ZSB0byBoYW5kbGUgYXJlOlxuLy8gLSBcXG4gLi4uIHRoZSBuZXdsaW5lIGNoYXJhY3RlclxuLy8gLSBcXCAgLi4uIHRoZSBiYWNrc2xhc2ggY2hhcmFjdGVyXG4vLyAtIFwiICAuLi4gdGhlIGRvdWJsZS1xdW90ZSBjaGFyYWN0ZXJcbmV4cG9ydCBmdW5jdGlvbiBlc2NhcGVMYWJlbFZhbHVlSW5FeGFjdFNlbGVjdG9yKGxhYmVsVmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBsYWJlbFZhbHVlLnJlcGxhY2UoL1xcXFwvZywgJ1xcXFxcXFxcJykucmVwbGFjZSgvXFxuL2csICdcXFxcbicpLnJlcGxhY2UoL1wiL2csICdcXFxcXCInKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZUxhYmVsVmFsdWVJblJlZ2V4U2VsZWN0b3IobGFiZWxWYWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGVzY2FwZUxhYmVsVmFsdWVJbkV4YWN0U2VsZWN0b3IoZXNjYXBlTG9raVJlZ2V4cChsYWJlbFZhbHVlKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1JlZ2V4U2VsZWN0b3Ioc2VsZWN0b3I/OiBzdHJpbmcpIHtcbiAgaWYgKHNlbGVjdG9yICYmIChzZWxlY3Rvci5pbmNsdWRlcygnPX4nKSB8fCBzZWxlY3Rvci5pbmNsdWRlcygnIX4nKSkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8vIExva2kgcmVndWxhci1leHByZXNzaW9ucyB1c2UgdGhlIFJFMiBzeW50YXggKGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvcmUyL3dpa2kvU3ludGF4KSxcbi8vIHNvIGV2ZXJ5IGNoYXJhY3RlciB0aGF0IG1hdGNoZXMgc29tZXRoaW5nIGluIHRoYXQgbGlzdCBoYXMgdG8gYmUgZXNjYXBlZC5cbi8vIHRoZSBsaXN0IG9mIG1ldGEgY2hhcmFjdGVycyBpczogKis/KCl8XFwuW117fV4kXG4vLyB3ZSBtYWtlIGEgamF2YXNjcmlwdCByZWd1bGFyIGV4cHJlc3Npb24gdGhhdCBtYXRjaGVzIHRob3NlIGNoYXJhY3RlcnM6XG5jb25zdCBSRTJfTUVUQUNIQVJBQ1RFUlMgPSAvWyorPygpfFxcXFwuXFxbXFxde31eJF0vZztcbmZ1bmN0aW9uIGVzY2FwZUxva2lSZWdleHAodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiB2YWx1ZS5yZXBsYWNlKFJFMl9NRVRBQ0hBUkFDVEVSUywgJ1xcXFwkJicpO1xufVxuXG4vKipcbiAqIEdldCBhbGwgcXVlcmllcyBpbiB0aGUgc2NlbmUgdGhhdCBoYXZlIHRoZSBzYW1lIGRhdGFzb3VyY2UgYXMgcHJvdmlkZWQgc291cmNlIG9iamVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UXVlcmllc0ZvclZhcmlhYmxlcyhcbiAgc291cmNlT2JqZWN0OiBTY2VuZU9iamVjdDxTY2VuZU9iamVjdFN0YXRlICYgeyBkYXRhc291cmNlOiBEYXRhU291cmNlUmVmIHwgbnVsbCB9PlxuKSB7XG4gIGNvbnN0IHJ1bm5lcnMgPSBzY2VuZUdyYXBoLmZpbmRBbGxPYmplY3RzKFxuICAgIHNvdXJjZU9iamVjdC5nZXRSb290KCksXG4gICAgKG8pID0+IG8gaW5zdGFuY2VvZiBTY2VuZVF1ZXJ5UnVubmVyXG4gICkgYXMgU2NlbmVRdWVyeVJ1bm5lcltdO1xuXG4gIGNvbnN0IGFwcGxpY2FibGVSdW5uZXJzID0gZmlsdGVyT3V0SW5hY3RpdmVSdW5uZXJEdXBsaWNhdGVzKHJ1bm5lcnMpLmZpbHRlcigocikgPT4ge1xuICAgIHJldHVybiByLnN0YXRlLmRhdGFzb3VyY2U/LnVpZCA9PT0gc291cmNlT2JqZWN0LnN0YXRlLmRhdGFzb3VyY2U/LnVpZDtcbiAgfSk7XG5cbiAgaWYgKGFwcGxpY2FibGVSdW5uZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdDogU2NlbmVEYXRhUXVlcnlbXSA9IFtdO1xuICBhcHBsaWNhYmxlUnVubmVycy5mb3JFYWNoKChyKSA9PiB7XG4gICAgcmVzdWx0LnB1c2goLi4uci5zdGF0ZS5xdWVyaWVzKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLy8gRmlsdGVycyBvdXQgaW5hY3RpdmUgcnVubmVyIGR1cGxpY2F0ZXMsIGtlZXBpbmcgb25seSB0aGUgb25lcyB0aGF0IGFyZSBjdXJyZW50bHkgYWN0aXZlLlxuLy8gVGhpcyBpcyBuZWVkZWQgZm9yIHNjbmVhcmlvcyB3aGFuIGEgcXVlcnkgcnVubmVyIGlzIGNsb25lZCBhbmQgdGhlIG9yaWdpbmFsIGlzIG5vdCByZW1vdmVkIGJ1dCBkZS1hY3RpdmF0ZWQuXG4vLyBDYW4gaGFwcGVuIGkuZS4gd2hlbiBlZGl0aW5nIGEgcGFuZWwgaW4gR3JhZmFuYSBDb3JlIGRhc2hib2FyZHMuXG5mdW5jdGlvbiBmaWx0ZXJPdXRJbmFjdGl2ZVJ1bm5lckR1cGxpY2F0ZXMocnVubmVyczogU2NlbmVRdWVyeVJ1bm5lcltdKSB7XG4gIC8vIEdyb3VwIGl0ZW1zIGJ5IGtleVxuICBjb25zdCBncm91cGVkSXRlbXM6IHsgW2tleTogc3RyaW5nXTogU2NlbmVRdWVyeVJ1bm5lcltdIH0gPSB7fTtcblxuICBmb3IgKGNvbnN0IGl0ZW0gb2YgcnVubmVycykge1xuICAgIGlmIChpdGVtLnN0YXRlLmtleSkge1xuICAgICAgaWYgKCEoaXRlbS5zdGF0ZS5rZXkgaW4gZ3JvdXBlZEl0ZW1zKSkge1xuICAgICAgICBncm91cGVkSXRlbXNbaXRlbS5zdGF0ZS5rZXldID0gW107XG4gICAgICB9XG4gICAgICBncm91cGVkSXRlbXNbaXRlbS5zdGF0ZS5rZXldLnB1c2goaXRlbSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRmlsdGVyIG91dCBpbmFjdGl2ZSBpdGVtcyBhbmQgY29uY2F0ZW5hdGUgYWN0aXZlIGl0ZW1zXG4gIHJldHVybiBPYmplY3QudmFsdWVzKGdyb3VwZWRJdGVtcykuZmxhdE1hcCgoZ3JvdXApID0+IHtcbiAgICBjb25zdCBhY3RpdmVJdGVtcyA9IGdyb3VwLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5pc0FjdGl2ZSk7XG4gICAgLy8gS2VlcCBpbmFjdGl2ZSBpdGVtcyBpZiB0aGVyZSdzIG9ubHkgb25lIGl0ZW0gd2l0aCB0aGUga2V5XG4gICAgaWYgKGFjdGl2ZUl0ZW1zLmxlbmd0aCA9PT0gMCAmJiBncm91cC5sZW5ndGggPT09IDEpIHtcbiAgICAgIHJldHVybiBncm91cDtcbiAgICB9XG4gICAgcmV0dXJuIGFjdGl2ZUl0ZW1zO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVzY2FwZVVybFBpcGVEZWxpbWl0ZXJzKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIC8vIFJlcGxhY2UgdGhlIHBpcGUgZHVlIHRvIHVzaW5nIGl0IGFzIGEgZmlsdGVyIHNlcGFyYXRvclxuICByZXR1cm4gKHZhbHVlID0gL1xcfC9nW1N5bWJvbC5yZXBsYWNlXSh2YWx1ZSwgJ19fZ2ZwX18nKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlc2NhcGVVcmxDb21tYURlbGltaXRlcnModmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgLy8gUmVwbGFjZSB0aGUgY29tbWEgZHVlIHRvIHVzaW5nIGl0IGFzIGEgdmFsdWUvbGFiZWwgc2VwYXJhdG9yXG4gIHJldHVybiAvLC9nW1N5bWJvbC5yZXBsYWNlXSh2YWx1ZSwgJ19fZ2ZjX18nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuZXNjYXBlVXJsRGVsaW1pdGVycyh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICB2YWx1ZSA9IC9fX2dmcF9fL2dbU3ltYm9sLnJlcGxhY2VdKHZhbHVlLCAnfCcpO1xuICB2YWx1ZSA9IC9fX2dmY19fL2dbU3ltYm9sLnJlcGxhY2VdKHZhbHVlLCAnLCcpO1xuXG4gIHJldHVybiB2YWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvVXJsQ29tbWFEZWxpbWl0ZWRTdHJpbmcoa2V5OiBzdHJpbmcsIGxhYmVsPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgLy8gT21pdCBmb3IgaWRlbnRpY2FsIGtleS9sYWJlbCBvciB3aGVuIGxhYmVsIGlzIG5vdCBzZXQgYXQgYWxsXG4gIGlmICghbGFiZWwgfHwga2V5ID09PSBsYWJlbCkge1xuICAgIHJldHVybiBlc2NhcGVVcmxDb21tYURlbGltaXRlcnMoa2V5KTtcbiAgfVxuXG4gIHJldHVybiBba2V5LCBsYWJlbF0ubWFwKGVzY2FwZVVybENvbW1hRGVsaW1pdGVycykuam9pbignLCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGF0YUZyb21SZXNwb25zZShyZXNwb25zZTogR2V0VGFnUmVzcG9uc2UgfCBNZXRyaWNGaW5kVmFsdWVbXSkge1xuICByZXR1cm4gQXJyYXkuaXNBcnJheShyZXNwb25zZSkgPyByZXNwb25zZSA6IHJlc3BvbnNlLmRhdGE7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNwb25zZUhhc0Vycm9yKFxuICByZXNwb25zZTogR2V0VGFnUmVzcG9uc2UgfCBNZXRyaWNGaW5kVmFsdWVbXVxuKTogcmVzcG9uc2UgaXMgR2V0VGFnUmVzcG9uc2UgJiB7IGVycm9yOiBEYXRhUXVlcnlFcnJvciB9IHtcbiAgcmV0dXJuICFBcnJheS5pc0FycmF5KHJlc3BvbnNlKSAmJiBCb29sZWFuKHJlc3BvbnNlLmVycm9yKTtcbn1cblxuLy8gQ29sbGVjdCBhIGZsYXQgbGlzdCBvZiBTZWxlY3RhYmxlVmFsdWVzIHdpdGggYSBgZ3JvdXBgIHByb3BlcnR5IGludG8gYSBoaWVyYXJjaGljYWwgbGlzdCB3aXRoIGdyb3Vwc1xuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZU9wdGlvbkdyb3Vwcyh2YWx1ZXM6IFNlbGVjdGFibGVWYWx1ZVtdKTogQXJyYXk8U2VsZWN0YWJsZVZhbHVlPHN0cmluZz4+IHtcbiAgY29uc3QgcmVzdWx0OiBBcnJheTxTZWxlY3RhYmxlVmFsdWU8c3RyaW5nPj4gPSBbXTtcbiAgY29uc3QgZ3JvdXBlZFJlc3VsdHMgPSBuZXcgTWFwPHN0cmluZywgQXJyYXk8U2VsZWN0YWJsZVZhbHVlPHN0cmluZz4+PigpO1xuXG4gIGZvciAoY29uc3QgdmFsdWUgb2YgdmFsdWVzKSB7XG4gICAgY29uc3QgZ3JvdXBMYWJlbCA9IHZhbHVlLmdyb3VwO1xuICAgIGlmIChncm91cExhYmVsKSB7XG4gICAgICBsZXQgZ3JvdXAgPSBncm91cGVkUmVzdWx0cy5nZXQoZ3JvdXBMYWJlbCk7XG5cbiAgICAgIGlmICghZ3JvdXApIHtcbiAgICAgICAgZ3JvdXAgPSBbXTtcbiAgICAgICAgZ3JvdXBlZFJlc3VsdHMuc2V0KGdyb3VwTGFiZWwsIGdyb3VwKTtcbiAgICAgICAgcmVzdWx0LnB1c2goeyBsYWJlbDogZ3JvdXBMYWJlbCwgb3B0aW9uczogZ3JvdXAgfSk7XG4gICAgICB9XG5cbiAgICAgIGdyb3VwLnB1c2godmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQucHVzaCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZ1enp5U2VhcmNoZXIoaGF5c3RhY2s6IHN0cmluZ1tdLCBsaW1pdCA9IDEwXzAwMCkge1xuICBjb25zdCB1ZnV6enkgPSBuZXcgdUZ1enp5KCk7XG5cbiAgY29uc3QgRklSU1QgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiBNYXRoLm1pbihsaW1pdCwgaGF5c3RhY2subGVuZ3RoKSB9LCAoXywgaSkgPT4gaSk7XG5cbiAgLy8gcmV0dXJucyBtYXRjaGVkIGluZGljZXMgYnkgcXVhbGl0eVxuICByZXR1cm4gKHNlYXJjaDogc3RyaW5nKTogbnVtYmVyW10gPT4ge1xuICAgIGlmIChzZWFyY2ggPT09ICcnKSB7XG4gICAgICByZXR1cm4gRklSU1Q7XG4gICAgfVxuXG4gICAgY29uc3QgW2lkeHMsIGluZm8sIG9yZGVyXSA9IHVmdXp6eS5zZWFyY2goaGF5c3RhY2ssIHNlYXJjaCk7XG5cbiAgICBpZiAoaWR4cykge1xuICAgICAgaWYgKGluZm8gJiYgb3JkZXIpIHtcbiAgICAgICAgY29uc3Qgb3V0SWR4cyA9IEFycmF5KE1hdGgubWluKG9yZGVyLmxlbmd0aCwgbGltaXQpKTtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG91dElkeHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBvdXRJZHhzW2ldID0gaW5mby5pZHhbb3JkZXJbaV1dO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG91dElkeHM7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpZHhzLnNsaWNlKDAsIGxpbWl0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gW107XG4gIH07XG59XG4iXSwibmFtZXMiOlsidmFsdWUiXSwibWFwcGluZ3MiOiI7Ozs7O0FBU2dCLFNBQUEsb0JBQUEsQ0FBcUIsR0FBcUMsQ0FBcUMsRUFBQTtBQUM3RyxFQUFBLElBQUksTUFBTSxDQUFHLEVBQUE7QUFDWCxJQUFPLE9BQUEsSUFBQSxDQUFBO0FBQUEsR0FDVDtBQUVBLEVBQU8sT0FBQSxPQUFBLENBQVEsR0FBRyxDQUFDLENBQUEsQ0FBQTtBQUNyQixDQUFBO0FBRU8sU0FBUyxtQkFBbUIsS0FBZ0IsRUFBQTtBQUVqRCxFQUFBLE1BQU0sc0JBQXNCLE1BQU07QUFDaEMsSUFBTSxNQUFBLElBQUEsdUJBQVcsT0FBUSxFQUFBLENBQUE7QUFDekIsSUFBTyxPQUFBLENBQUMsR0FBV0EsTUFBeUIsS0FBQTtBQUMxQyxNQUFBLElBQUksT0FBT0EsTUFBQUEsS0FBVSxRQUFZQSxJQUFBQSxNQUFBQSxLQUFVLElBQU0sRUFBQTtBQUMvQyxRQUFJLElBQUEsSUFBQSxDQUFLLEdBQUlBLENBQUFBLE1BQUssQ0FBRyxFQUFBO0FBQ25CLFVBQUEsT0FBQTtBQUFBLFNBQ0Y7QUFDQSxRQUFBLElBQUEsQ0FBSyxJQUFJQSxNQUFLLENBQUEsQ0FBQTtBQUFBLE9BQ2hCO0FBQ0EsTUFBT0EsT0FBQUEsTUFBQUEsQ0FBQUE7QUFBQSxLQUNULENBQUE7QUFBQSxHQUNGLENBQUE7QUFFQSxFQUFJLElBQUE7QUFDRixJQUFBLE9BQU8sSUFBSyxDQUFBLFNBQUEsQ0FBVSxLQUFPLEVBQUEsbUJBQUEsRUFBcUIsQ0FBQSxDQUFBO0FBQUEsV0FDM0MsS0FBUCxFQUFBO0FBQ0EsSUFBQSxPQUFBLENBQVEsTUFB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
@@ -1,38 +0,0 @@
1
- import { SceneObjectBase } from '../../core/SceneObjectBase.js';
2
-
3
- var __defProp = Object.defineProperty;
4
- var __defProps = Object.defineProperties;
5
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
- var __spreadValues = (a, b) => {
11
- for (var prop in b || (b = {}))
12
- if (__hasOwnProp.call(b, prop))
13
- __defNormalProp(a, prop, b[prop]);
14
- if (__getOwnPropSymbols)
15
- for (var prop of __getOwnPropSymbols(b)) {
16
- if (__propIsEnum.call(b, prop))
17
- __defNormalProp(a, prop, b[prop]);
18
- }
19
- return a;
20
- };
21
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
22
- class ConstantVariable extends SceneObjectBase {
23
- constructor(initialState) {
24
- super(__spreadProps(__spreadValues({
25
- type: "constant",
26
- value: "",
27
- name: ""
28
- }, initialState), {
29
- skipUrlSync: true
30
- }));
31
- }
32
- getValue() {
33
- return this.state.value;
34
- }
35
- }
36
-
37
- export { ConstantVariable };
38
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uc3RhbnRWYXJpYWJsZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3ZhcmlhYmxlcy92YXJpYW50cy9Db25zdGFudFZhcmlhYmxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjZW5lT2JqZWN0QmFzZSB9IGZyb20gJy4uLy4uL2NvcmUvU2NlbmVPYmplY3RCYXNlJztcbmltcG9ydCB7IFNjZW5lVmFyaWFibGUsIFNjZW5lVmFyaWFibGVTdGF0ZSwgVmFyaWFibGVWYWx1ZSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBDb25zdGFudFZhcmlhYmxlU3RhdGUgZXh0ZW5kcyBTY2VuZVZhcmlhYmxlU3RhdGUge1xuICB2YWx1ZTogVmFyaWFibGVWYWx1ZTtcbn1cblxuZXhwb3J0IGNsYXNzIENvbnN0YW50VmFyaWFibGVcbiAgZXh0ZW5kcyBTY2VuZU9iamVjdEJhc2U8Q29uc3RhbnRWYXJpYWJsZVN0YXRlPlxuICBpbXBsZW1lbnRzIFNjZW5lVmFyaWFibGU8Q29uc3RhbnRWYXJpYWJsZVN0YXRlPlxue1xuICBwdWJsaWMgY29uc3RydWN0b3IoaW5pdGlhbFN0YXRlOiBQYXJ0aWFsPENvbnN0YW50VmFyaWFibGVTdGF0ZT4pIHtcbiAgICBzdXBlcih7XG4gICAgICB0eXBlOiAnY29uc3RhbnQnLFxuICAgICAgdmFsdWU6ICcnLFxuICAgICAgbmFtZTogJycsXG4gICAgICAuLi5pbml0aWFsU3RhdGUsXG4gICAgICBza2lwVXJsU3luYzogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWYWx1ZSgpOiBWYXJpYWJsZVZhbHVlIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS52YWx1ZTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9PLE1BQU0seUJBQ0gsZUFFVixDQUFBO0FBQUEsRUFDUyxZQUFZLFlBQThDLEVBQUE7QUFDL0QsSUFBTSxLQUFBLENBQUEsYUFBQSxDQUFBLGNBQUEsQ0FBQTtBQUFBLE1BQ0osSUFBTSxFQUFBLFVBQUE7QUFBQSxNQUNOLEtBQU8sRUFBQSxFQUFBO0FBQUEsTUFDUCxJQUFNLEVBQUEsRUFBQTtBQUFBLEtBQUEsRUFDSCxZQUpDLENBQUEsRUFBQTtBQUFBLE1BS0osV0FBYSxFQUFBLElBQUE7QUFBQSxLQUNkLENBQUEsQ0FBQSxDQUFBO0FBQUEsR0FDSDtBQUFBLEVBRU8sUUFBMEIsR0FBQTtBQUMvQixJQUFBLE9BQU8sS0FBSyxLQUFNLENBQUEsS0FBQSxDQUFBO0FBQUEsR0FDcEI7QUFDRjs7OzsifQ==