@grafana/scenes 6.8.0 → 6.9.0--canary.1093.14409340532.0

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 (321) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/esm/components/VizPanel/VizPanelRenderer.js +4 -3
  3. package/dist/esm/components/VizPanel/VizPanelRenderer.js.map +1 -1
  4. package/dist/esm/index.js +1 -1
  5. package/dist/esm/index.js.map +1 -1
  6. package/dist/index.d.ts +1 -1
  7. package/dist/index.js +5 -4
  8. package/dist/index.js.map +1 -1
  9. package/package.json +2 -2
  10. package/dist/esm/components/layout/CSSGrid/SceneCSSGridItem.js +0 -33
  11. package/dist/esm/dist/esm/behaviors/CursorSync.js +0 -76
  12. package/dist/esm/dist/esm/behaviors/LiveNowTimer.js +0 -44
  13. package/dist/esm/dist/esm/behaviors/SceneQueryController.js +0 -14
  14. package/dist/esm/dist/esm/components/EmbeddedScene.js +0 -59
  15. package/dist/esm/dist/esm/components/NestedScene.js +0 -95
  16. package/dist/esm/dist/esm/components/SceneApp/SceneApp.js +0 -27
  17. package/dist/esm/dist/esm/components/SceneApp/SceneAppPage.js +0 -176
  18. package/dist/esm/dist/esm/components/SceneApp/SceneAppPageView.js +0 -104
  19. package/dist/esm/dist/esm/components/SceneApp/utils.js +0 -42
  20. package/dist/esm/dist/esm/components/SceneByFrameRepeater.js +0 -41
  21. package/dist/esm/dist/esm/components/SceneByVariableRepeater.js +0 -55
  22. package/dist/esm/dist/esm/components/SceneCanvasText.js +0 -32
  23. package/dist/esm/dist/esm/components/SceneControlsSpacer.js +0 -17
  24. package/dist/esm/dist/esm/components/SceneDebugger/DebugDetails.js +0 -82
  25. package/dist/esm/dist/esm/components/SceneDebugger/DebugTreeNode.js +0 -72
  26. package/dist/esm/dist/esm/components/SceneDebugger/SceneDebugger.js +0 -77
  27. package/dist/esm/dist/esm/components/SceneReactObject.js +0 -34
  28. package/dist/esm/dist/esm/components/SceneRefreshPicker.js +0 -205
  29. package/dist/esm/dist/esm/components/SceneTimePicker.js +0 -139
  30. package/dist/esm/dist/esm/components/SceneTimeRangeCompare.js +0 -240
  31. package/dist/esm/dist/esm/components/SceneToolbarButton.js +0 -33
  32. package/dist/esm/dist/esm/components/VizPanel/VizPanel.js +0 -406
  33. package/dist/esm/dist/esm/components/VizPanel/VizPanelExploreButton.js +0 -44
  34. package/dist/esm/dist/esm/components/VizPanel/VizPanelMenu.js +0 -59
  35. package/dist/esm/dist/esm/components/VizPanel/VizPanelRenderer.js +0 -285
  36. package/dist/esm/dist/esm/components/VizPanel/VizPanelSeriesLimit.js +0 -45
  37. package/dist/esm/dist/esm/components/VizPanel/colorSeriesConfigFactory.js +0 -72
  38. package/dist/esm/dist/esm/components/VizPanel/registerRuntimePanelPlugin.js +0 -11
  39. package/dist/esm/dist/esm/components/VizPanel/seriesVisibilityConfigFactory.js +0 -164
  40. package/dist/esm/dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js +0 -124
  41. package/dist/esm/dist/esm/components/layout/LazyLoader.js +0 -103
  42. package/dist/esm/dist/esm/components/layout/SceneFlexLayout.js +0 -135
  43. package/dist/esm/dist/esm/components/layout/grid/SceneGridItem.js +0 -30
  44. package/dist/esm/dist/esm/components/layout/grid/SceneGridLayout.js +0 -283
  45. package/dist/esm/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js +0 -178
  46. package/dist/esm/dist/esm/components/layout/grid/SceneGridRow.js +0 -190
  47. package/dist/esm/dist/esm/components/layout/grid/constants.js +0 -7
  48. package/dist/esm/dist/esm/components/layout/grid/utils.js +0 -36
  49. package/dist/esm/dist/esm/components/layout/split/SplitLayout.js +0 -17
  50. package/dist/esm/dist/esm/components/layout/split/SplitLayoutRenderer.js +0 -29
  51. package/dist/esm/dist/esm/components/layout/split/Splitter.js +0 -386
  52. package/dist/esm/dist/esm/core/SceneComponentWrapper.js +0 -57
  53. package/dist/esm/dist/esm/core/SceneDataNode.js +0 -43
  54. package/dist/esm/dist/esm/core/SceneObjectBase.js +0 -286
  55. package/dist/esm/dist/esm/core/SceneObjectRef.js +0 -32
  56. package/dist/esm/dist/esm/core/SceneTimeRange.js +0 -231
  57. package/dist/esm/dist/esm/core/events.js +0 -11
  58. package/dist/esm/dist/esm/core/sceneGraph/getTimeRange.js +0 -10
  59. package/dist/esm/dist/esm/core/sceneGraph/index.js +0 -25
  60. package/dist/esm/dist/esm/core/sceneGraph/sceneGraph.js +0 -178
  61. package/dist/esm/dist/esm/core/sceneGraph/utils.js +0 -64
  62. package/dist/esm/dist/esm/core/types.js +0 -15
  63. package/dist/esm/dist/esm/querying/DataLayersMerger.js +0 -46
  64. package/dist/esm/dist/esm/querying/ExtraQueryProvider.js +0 -6
  65. package/dist/esm/dist/esm/querying/RuntimeDataSource.js +0 -6
  66. package/dist/esm/dist/esm/querying/SceneDataLayerSet.js +0 -100
  67. package/dist/esm/dist/esm/querying/SceneQueryRunner.js +0 -468
  68. package/dist/esm/dist/esm/querying/extraQueryProcessingOperator.js +0 -46
  69. package/dist/esm/dist/esm/querying/getEnrichedDataRequest.js +0 -12
  70. package/dist/esm/dist/esm/querying/layers/SceneDataLayerBase.js +0 -112
  71. package/dist/esm/dist/esm/querying/layers/SceneDataLayerControls.js +0 -51
  72. package/dist/esm/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js +0 -130
  73. package/dist/esm/dist/esm/querying/layers/annotations/filterAnnotations.js +0 -85
  74. package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationQuery.js +0 -121
  75. package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationsSupport.js +0 -211
  76. package/dist/esm/dist/esm/querying/layers/annotations/utils.js +0 -77
  77. package/dist/esm/dist/esm/querying/registerQueryWithController.js +0 -41
  78. package/dist/esm/dist/esm/services/SceneObjectUrlSyncConfig.js +0 -30
  79. package/dist/esm/dist/esm/services/UniqueUrlKeyMapper.js +0 -45
  80. package/dist/esm/dist/esm/services/UrlSyncManager.js +0 -167
  81. package/dist/esm/dist/esm/services/useUrlSync.js +0 -29
  82. package/dist/esm/dist/esm/services/utils.js +0 -71
  83. package/dist/esm/dist/esm/utils/ControlsLabel.js +0 -107
  84. package/dist/esm/dist/esm/utils/LoadingIndicator.js +0 -19
  85. package/dist/esm/dist/esm/utils/SafeSerializableSceneObject.js +0 -39
  86. package/dist/esm/dist/esm/utils/compatibility/setWindowGrafanaSceneContext.js +0 -16
  87. package/dist/esm/dist/esm/utils/date.js +0 -15
  88. package/dist/esm/dist/esm/utils/evaluateTimeRange.js +0 -16
  89. package/dist/esm/dist/esm/utils/explore.js +0 -47
  90. package/dist/esm/dist/esm/utils/getCompareSeriesRefId.js +0 -4
  91. package/dist/esm/dist/esm/utils/getDataSource.js +0 -18
  92. package/dist/esm/dist/esm/utils/getMessageFromError.js +0 -24
  93. package/dist/esm/dist/esm/utils/metricTree.js +0 -53
  94. package/dist/esm/dist/esm/utils/parseUrlParam.js +0 -41
  95. package/dist/esm/dist/esm/utils/utils.js +0 -11
  96. package/dist/esm/dist/esm/utils/wrapInSafeSerializableSceneObject.js +0 -30
  97. package/dist/esm/dist/esm/utils/writeSceneLog.js +0 -12
  98. package/dist/esm/dist/esm/variables/VariableDependencyConfig.js +0 -150
  99. package/dist/esm/dist/esm/variables/VariableValueRecorder.js +0 -71
  100. package/dist/esm/dist/esm/variables/adhoc/AdHocFilterBuilder.js +0 -24
  101. package/dist/esm/dist/esm/variables/adhoc/AdHocFilterRenderer.js +0 -303
  102. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +0 -162
  103. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +0 -20
  104. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +0 -640
  105. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +0 -65
  106. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +0 -146
  107. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +0 -114
  108. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +0 -68
  109. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/utils.js +0 -146
  110. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariable.js +0 -289
  111. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +0 -76
  112. package/dist/esm/dist/esm/variables/adhoc/getAdhocOptionSearcher.js +0 -13
  113. package/dist/esm/dist/esm/variables/adhoc/patchGetAdhocFilters.js +0 -47
  114. package/dist/esm/dist/esm/variables/components/VariableValueControl.js +0 -23
  115. package/dist/esm/dist/esm/variables/components/VariableValueInput.js +0 -33
  116. package/dist/esm/dist/esm/variables/components/VariableValueSelect.js +0 -228
  117. package/dist/esm/dist/esm/variables/components/VariableValueSelectors.js +0 -72
  118. package/dist/esm/dist/esm/variables/components/getOptionSearcher.js +0 -15
  119. package/dist/esm/dist/esm/variables/constants.js +0 -9
  120. package/dist/esm/dist/esm/variables/getEnrichedFiltersRequest.js +0 -12
  121. package/dist/esm/dist/esm/variables/groupby/GroupByVariable.js +0 -259
  122. package/dist/esm/dist/esm/variables/groupby/GroupByVariableUrlSyncHandler.js +0 -63
  123. package/dist/esm/dist/esm/variables/groupby/findActiveGroupByVariablesByUid.js +0 -13
  124. package/dist/esm/dist/esm/variables/interpolation/ScopedVarsVariable.js +0 -40
  125. package/dist/esm/dist/esm/variables/interpolation/defaults.js +0 -21
  126. package/dist/esm/dist/esm/variables/interpolation/fieldAccessorCache.js +0 -13
  127. package/dist/esm/dist/esm/variables/interpolation/formatRegistry.js +0 -296
  128. package/dist/esm/dist/esm/variables/interpolation/sceneInterpolator.js +0 -87
  129. package/dist/esm/dist/esm/variables/lookupVariable.js +0 -20
  130. package/dist/esm/dist/esm/variables/macros/AllVariablesMacro.js +0 -57
  131. package/dist/esm/dist/esm/variables/macros/contextMacros.js +0 -43
  132. package/dist/esm/dist/esm/variables/macros/dataMacros.js +0 -134
  133. package/dist/esm/dist/esm/variables/macros/index.js +0 -26
  134. package/dist/esm/dist/esm/variables/macros/templateProxies.js +0 -51
  135. package/dist/esm/dist/esm/variables/macros/timeMacros.js +0 -86
  136. package/dist/esm/dist/esm/variables/macros/types.js +0 -11
  137. package/dist/esm/dist/esm/variables/macros/urlMacros.js +0 -56
  138. package/dist/esm/dist/esm/variables/sets/SceneVariableSet.js +0 -254
  139. package/dist/esm/dist/esm/variables/types.js +0 -11
  140. package/dist/esm/dist/esm/variables/utils.js +0 -172
  141. package/dist/esm/dist/esm/variables/variants/ConstantVariable.js +0 -38
  142. package/dist/esm/dist/esm/variables/variants/CustomVariable.js +0 -60
  143. package/dist/esm/dist/esm/variables/variants/DataSourceVariable.js +0 -88
  144. package/dist/esm/dist/esm/variables/variants/IntervalVariable.js +0 -117
  145. package/dist/esm/dist/esm/variables/variants/MultiValueVariable.js +0 -295
  146. package/dist/esm/dist/esm/variables/variants/TestVariable.js +0 -117
  147. package/dist/esm/dist/esm/variables/variants/TextBoxVariable.js +0 -61
  148. package/dist/esm/dist/esm/variables/variants/query/QueryVariable.js +0 -139
  149. package/dist/esm/dist/esm/variables/variants/query/createQueryVariableRunner.js +0 -129
  150. package/dist/esm/dist/esm/variables/variants/query/guards.js +0 -28
  151. package/dist/esm/dist/esm/variables/variants/query/toMetricFindValues.js +0 -96
  152. package/dist/esm/dist/esm/variables/variants/query/utils.js +0 -124
  153. package/dist/esm/querying/DataProviderSharer.js +0 -39
  154. package/dist/esm/src/behaviors/ActWhenVariableChanged.js +0 -27
  155. package/dist/esm/src/behaviors/CursorSync.js +0 -76
  156. package/dist/esm/src/behaviors/LiveNowTimer.js +0 -44
  157. package/dist/esm/src/behaviors/SceneQueryController.js +0 -60
  158. package/dist/esm/src/behaviors/index.js +0 -5
  159. package/dist/esm/src/components/EmbeddedScene.js +0 -59
  160. package/dist/esm/src/components/NestedScene.js +0 -95
  161. package/dist/esm/src/components/SceneApp/SceneApp.js +0 -37
  162. package/dist/esm/src/components/SceneApp/SceneAppPage.js +0 -176
  163. package/dist/esm/src/components/SceneApp/SceneAppPageView.js +0 -104
  164. package/dist/esm/src/components/SceneApp/utils.js +0 -42
  165. package/dist/esm/src/components/SceneByFrameRepeater.js +0 -41
  166. package/dist/esm/src/components/SceneByVariableRepeater.js +0 -55
  167. package/dist/esm/src/components/SceneCanvasText.js +0 -32
  168. package/dist/esm/src/components/SceneControlsSpacer.js +0 -17
  169. package/dist/esm/src/components/SceneDebugger/DebugDetails.js +0 -82
  170. package/dist/esm/src/components/SceneDebugger/DebugTreeNode.js +0 -72
  171. package/dist/esm/src/components/SceneDebugger/SceneDebugger.js +0 -77
  172. package/dist/esm/src/components/SceneReactObject.js +0 -34
  173. package/dist/esm/src/components/SceneRefreshPicker.js +0 -205
  174. package/dist/esm/src/components/SceneTimePicker.js +0 -139
  175. package/dist/esm/src/components/SceneTimeRangeCompare.js +0 -240
  176. package/dist/esm/src/components/SceneToolbarButton.js +0 -33
  177. package/dist/esm/src/components/VizPanel/VizPanel.js +0 -406
  178. package/dist/esm/src/components/VizPanel/VizPanelExploreButton.js +0 -44
  179. package/dist/esm/src/components/VizPanel/VizPanelMenu.js +0 -59
  180. package/dist/esm/src/components/VizPanel/VizPanelRenderer.js +0 -285
  181. package/dist/esm/src/components/VizPanel/VizPanelSeriesLimit.js +0 -45
  182. package/dist/esm/src/components/VizPanel/colorSeriesConfigFactory.js +0 -72
  183. package/dist/esm/src/components/VizPanel/registerRuntimePanelPlugin.js +0 -56
  184. package/dist/esm/src/components/VizPanel/seriesVisibilityConfigFactory.js +0 -164
  185. package/dist/esm/src/components/layout/CSSGrid/SceneCSSGridLayout.js +0 -124
  186. package/dist/esm/src/components/layout/LazyLoader.js +0 -103
  187. package/dist/esm/src/components/layout/SceneFlexLayout.js +0 -135
  188. package/dist/esm/src/components/layout/grid/SceneGridItem.js +0 -30
  189. package/dist/esm/src/components/layout/grid/SceneGridLayout.js +0 -283
  190. package/dist/esm/src/components/layout/grid/SceneGridLayoutRenderer.js +0 -178
  191. package/dist/esm/src/components/layout/grid/SceneGridRow.js +0 -190
  192. package/dist/esm/src/components/layout/grid/constants.js +0 -7
  193. package/dist/esm/src/components/layout/grid/utils.js +0 -36
  194. package/dist/esm/src/components/layout/split/SplitLayout.js +0 -17
  195. package/dist/esm/src/components/layout/split/SplitLayoutRenderer.js +0 -29
  196. package/dist/esm/src/components/layout/split/Splitter.js +0 -386
  197. package/dist/esm/src/core/PanelBuilders/FieldConfigBuilder.js +0 -100
  198. package/dist/esm/src/core/PanelBuilders/FieldConfigBuilders.js +0 -75
  199. package/dist/esm/src/core/PanelBuilders/FieldConfigOverridesBuilder.js +0 -75
  200. package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilder.js +0 -22
  201. package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilders.js +0 -85
  202. package/dist/esm/src/core/PanelBuilders/StandardFieldConfigBuilders.js +0 -52
  203. package/dist/esm/src/core/PanelBuilders/VizConfigBuilder.js +0 -78
  204. package/dist/esm/src/core/PanelBuilders/VizConfigBuilders.js +0 -114
  205. package/dist/esm/src/core/PanelBuilders/VizPanelBuilder.js +0 -162
  206. package/dist/esm/src/core/PanelBuilders/index.js +0 -116
  207. package/dist/esm/src/core/SceneComponentWrapper.js +0 -57
  208. package/dist/esm/src/core/SceneDataNode.js +0 -43
  209. package/dist/esm/src/core/SceneObjectBase.js +0 -286
  210. package/dist/esm/src/core/SceneObjectRef.js +0 -32
  211. package/dist/esm/src/core/SceneTimeRange.js +0 -231
  212. package/dist/esm/src/core/SceneTimeRangeTransformerBase.js +0 -35
  213. package/dist/esm/src/core/SceneTimeZoneOverride.js +0 -63
  214. package/dist/esm/src/core/events.js +0 -11
  215. package/dist/esm/src/core/sceneGraph/getTimeRange.js +0 -10
  216. package/dist/esm/src/core/sceneGraph/index.js +0 -25
  217. package/dist/esm/src/core/sceneGraph/sceneGraph.js +0 -178
  218. package/dist/esm/src/core/sceneGraph/utils.js +0 -64
  219. package/dist/esm/src/core/types.js +0 -15
  220. package/dist/esm/src/index.js +0 -108
  221. package/dist/esm/src/querying/DataLayersMerger.js +0 -46
  222. package/dist/esm/src/querying/DataProviderProxy.js +0 -37
  223. package/dist/esm/src/querying/DataProviderSharer.js +0 -108
  224. package/dist/esm/src/querying/ExtraQueryProvider.js +0 -6
  225. package/dist/esm/src/querying/RuntimeDataSource.js +0 -49
  226. package/dist/esm/src/querying/SceneDataLayerSet.js +0 -100
  227. package/dist/esm/src/querying/SceneDataTransformer.js +0 -178
  228. package/dist/esm/src/querying/SceneQueryRunner.js +0 -468
  229. package/dist/esm/src/querying/extraQueryProcessingOperator.js +0 -46
  230. package/dist/esm/src/querying/getEnrichedDataRequest.js +0 -12
  231. package/dist/esm/src/querying/layers/SceneDataLayerBase.js +0 -112
  232. package/dist/esm/src/querying/layers/SceneDataLayerControls.js +0 -51
  233. package/dist/esm/src/querying/layers/annotations/AnnotationsDataLayer.js +0 -130
  234. package/dist/esm/src/querying/layers/annotations/filterAnnotations.js +0 -85
  235. package/dist/esm/src/querying/layers/annotations/standardAnnotationQuery.js +0 -121
  236. package/dist/esm/src/querying/layers/annotations/standardAnnotationsSupport.js +0 -211
  237. package/dist/esm/src/querying/layers/annotations/utils.js +0 -77
  238. package/dist/esm/src/querying/layers/index.js +0 -2
  239. package/dist/esm/src/querying/registerQueryWithController.js +0 -41
  240. package/dist/esm/src/services/SceneObjectUrlSyncConfig.js +0 -30
  241. package/dist/esm/src/services/UniqueUrlKeyMapper.js +0 -45
  242. package/dist/esm/src/services/UrlSyncContextProvider.js +0 -17
  243. package/dist/esm/src/services/UrlSyncManager.js +0 -167
  244. package/dist/esm/src/services/useUrlSync.js +0 -29
  245. package/dist/esm/src/services/utils.js +0 -75
  246. package/dist/esm/src/utils/ControlsLabel.js +0 -107
  247. package/dist/esm/src/utils/LoadingIndicator.js +0 -19
  248. package/dist/esm/src/utils/SafeSerializableSceneObject.js +0 -39
  249. package/dist/esm/src/utils/compatibility/setWindowGrafanaSceneContext.js +0 -16
  250. package/dist/esm/src/utils/date.js +0 -15
  251. package/dist/esm/src/utils/evaluateTimeRange.js +0 -16
  252. package/dist/esm/src/utils/explore.js +0 -47
  253. package/dist/esm/src/utils/getCompareSeriesRefId.js +0 -4
  254. package/dist/esm/src/utils/getDataSource.js +0 -18
  255. package/dist/esm/src/utils/getMessageFromError.js +0 -24
  256. package/dist/esm/src/utils/metricTree.js +0 -53
  257. package/dist/esm/src/utils/parseUrlParam.js +0 -41
  258. package/dist/esm/src/utils/utils.js +0 -11
  259. package/dist/esm/src/utils/wrapInSafeSerializableSceneObject.js +0 -30
  260. package/dist/esm/src/utils/writeSceneLog.js +0 -12
  261. package/dist/esm/src/variables/VariableDependencyConfig.js +0 -150
  262. package/dist/esm/src/variables/VariableValueRecorder.js +0 -71
  263. package/dist/esm/src/variables/adhoc/AdHocFilterBuilder.js +0 -24
  264. package/dist/esm/src/variables/adhoc/AdHocFilterRenderer.js +0 -303
  265. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +0 -162
  266. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +0 -20
  267. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +0 -640
  268. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +0 -65
  269. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +0 -146
  270. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +0 -114
  271. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +0 -68
  272. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/utils.js +0 -146
  273. package/dist/esm/src/variables/adhoc/AdHocFiltersVariable.js +0 -289
  274. package/dist/esm/src/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +0 -76
  275. package/dist/esm/src/variables/adhoc/getAdhocOptionSearcher.js +0 -13
  276. package/dist/esm/src/variables/adhoc/patchGetAdhocFilters.js +0 -47
  277. package/dist/esm/src/variables/components/VariableValueControl.js +0 -23
  278. package/dist/esm/src/variables/components/VariableValueInput.js +0 -33
  279. package/dist/esm/src/variables/components/VariableValueSelect.js +0 -228
  280. package/dist/esm/src/variables/components/VariableValueSelectors.js +0 -72
  281. package/dist/esm/src/variables/components/getOptionSearcher.js +0 -15
  282. package/dist/esm/src/variables/constants.js +0 -9
  283. package/dist/esm/src/variables/getEnrichedFiltersRequest.js +0 -12
  284. package/dist/esm/src/variables/groupby/GroupByVariable.js +0 -259
  285. package/dist/esm/src/variables/groupby/GroupByVariableUrlSyncHandler.js +0 -63
  286. package/dist/esm/src/variables/groupby/findActiveGroupByVariablesByUid.js +0 -13
  287. package/dist/esm/src/variables/interpolation/ScopedVarsVariable.js +0 -40
  288. package/dist/esm/src/variables/interpolation/defaults.js +0 -21
  289. package/dist/esm/src/variables/interpolation/fieldAccessorCache.js +0 -13
  290. package/dist/esm/src/variables/interpolation/formatRegistry.js +0 -296
  291. package/dist/esm/src/variables/interpolation/sceneInterpolator.js +0 -87
  292. package/dist/esm/src/variables/lookupVariable.js +0 -20
  293. package/dist/esm/src/variables/macros/AllVariablesMacro.js +0 -57
  294. package/dist/esm/src/variables/macros/contextMacros.js +0 -43
  295. package/dist/esm/src/variables/macros/dataMacros.js +0 -134
  296. package/dist/esm/src/variables/macros/index.js +0 -35
  297. package/dist/esm/src/variables/macros/templateProxies.js +0 -51
  298. package/dist/esm/src/variables/macros/timeMacros.js +0 -86
  299. package/dist/esm/src/variables/macros/types.js +0 -11
  300. package/dist/esm/src/variables/macros/urlMacros.js +0 -56
  301. package/dist/esm/src/variables/sets/SceneVariableSet.js +0 -254
  302. package/dist/esm/src/variables/types.js +0 -11
  303. package/dist/esm/src/variables/utils.js +0 -172
  304. package/dist/esm/src/variables/variants/ConstantVariable.js +0 -38
  305. package/dist/esm/src/variables/variants/CustomVariable.js +0 -60
  306. package/dist/esm/src/variables/variants/DataSourceVariable.js +0 -88
  307. package/dist/esm/src/variables/variants/IntervalVariable.js +0 -117
  308. package/dist/esm/src/variables/variants/JsonVariable.js +0 -193
  309. package/dist/esm/src/variables/variants/LocalValueVariable.js +0 -56
  310. package/dist/esm/src/variables/variants/MultiValueVariable.js +0 -295
  311. package/dist/esm/src/variables/variants/TestVariable.js +0 -117
  312. package/dist/esm/src/variables/variants/TextBoxVariable.js +0 -61
  313. package/dist/esm/src/variables/variants/guards.js +0 -27
  314. package/dist/esm/src/variables/variants/query/QueryVariable.js +0 -139
  315. package/dist/esm/src/variables/variants/query/createQueryVariableRunner.js +0 -129
  316. package/dist/esm/src/variables/variants/query/guards.js +0 -28
  317. package/dist/esm/src/variables/variants/query/toMetricFindValues.js +0 -96
  318. package/dist/esm/src/variables/variants/query/utils.js +0 -124
  319. package/dist/esm/variables/variants/JsonVariable.js +0 -96
  320. package/dist/esm/variables/variants/json/JsonVariable.js +0 -95
  321. package/dist/esm/variables/variants/json/JsonVariableOptionProviders.js +0 -70
@@ -1,44 +0,0 @@
1
- import React from 'react';
2
- import { LinkButton } from '@grafana/ui';
3
- import { useAsync } from 'react-use';
4
- import { SceneObjectBase } from '../../core/SceneObjectBase.js';
5
- import { sceneGraph } from '../../core/sceneGraph/index.js';
6
- import { getExploreURL } from '../../utils/explore.js';
7
- import { useReturnToPrevious } from '@grafana/runtime';
8
-
9
- class VizPanelExploreButton extends SceneObjectBase {
10
- constructor(options = {}) {
11
- super({ options });
12
- }
13
- }
14
- VizPanelExploreButton.Component = VizPanelExploreButtonComponent;
15
- function VizPanelExploreButtonComponent({ model }) {
16
- const { options } = model.useState();
17
- const { data } = sceneGraph.getData(model).useState();
18
- const { from, to } = sceneGraph.getTimeRange(model).useState();
19
- const { value: exploreLink } = useAsync(
20
- async () => data ? getExploreURL(data, model, { from, to }, options.transform) : "",
21
- [data, model, from, to]
22
- );
23
- const returnToPrevious = useReturnToPrevious();
24
- if (exploreLink) {
25
- return /* @__PURE__ */ React.createElement(LinkButton, {
26
- key: "explore",
27
- icon: "compass",
28
- size: "sm",
29
- variant: "secondary",
30
- href: exploreLink,
31
- onClick: () => {
32
- var _a;
33
- if (options.returnToPrevious) {
34
- returnToPrevious(options.returnToPrevious.title, options.returnToPrevious.href);
35
- }
36
- (_a = options.onClick) == null ? void 0 : _a.call(options);
37
- }
38
- }, "Explore");
39
- }
40
- return null;
41
- }
42
-
43
- export { VizPanelExploreButton };
44
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVml6UGFuZWxFeHBsb3JlQnV0dG9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21wb25lbnRzL1ZpelBhbmVsL1ZpelBhbmVsRXhwbG9yZUJ1dHRvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTGlua0J1dHRvbiB9IGZyb20gJ0BncmFmYW5hL3VpJztcbmltcG9ydCB7IHVzZUFzeW5jIH0gZnJvbSAncmVhY3QtdXNlJztcbmltcG9ydCB7IFNjZW5lT2JqZWN0QmFzZSB9IGZyb20gJy4uLy4uL2NvcmUvU2NlbmVPYmplY3RCYXNlLmpzJztcbmltcG9ydCB7IHNjZW5lR3JhcGggfSBmcm9tICcuLi8uLi9jb3JlL3NjZW5lR3JhcGgvaW5kZXguanMnO1xuaW1wb3J0IHsgZ2V0RXhwbG9yZVVSTCB9IGZyb20gJy4uLy4uL3V0aWxzL2V4cGxvcmUuanMnO1xuaW1wb3J0IHsgdXNlUmV0dXJuVG9QcmV2aW91cyB9IGZyb20gJ0BncmFmYW5hL3J1bnRpbWUnO1xuXG5jbGFzcyBWaXpQYW5lbEV4cGxvcmVCdXR0b24gZXh0ZW5kcyBTY2VuZU9iamVjdEJhc2Uge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zID0ge30pIHtcbiAgICBzdXBlcih7IG9wdGlvbnMgfSk7XG4gIH1cbn1cblZpelBhbmVsRXhwbG9yZUJ1dHRvbi5Db21wb25lbnQgPSBWaXpQYW5lbEV4cGxvcmVCdXR0b25Db21wb25lbnQ7XG5mdW5jdGlvbiBWaXpQYW5lbEV4cGxvcmVCdXR0b25Db21wb25lbnQoeyBtb2RlbCB9KSB7XG4gIGNvbnN0IHsgb3B0aW9ucyB9ID0gbW9kZWwudXNlU3RhdGUoKTtcbiAgY29uc3QgeyBkYXRhIH0gPSBzY2VuZUdyYXBoLmdldERhdGEobW9kZWwpLnVzZVN0YXRlKCk7XG4gIGNvbnN0IHsgZnJvbSwgdG8gfSA9IHNjZW5lR3JhcGguZ2V0VGltZVJhbmdlKG1vZGVsKS51c2VTdGF0ZSgpO1xuICBjb25zdCB7IHZhbHVlOiBleHBsb3JlTGluayB9ID0gdXNlQXN5bmMoXG4gICAgYXN5bmMgKCkgPT4gZGF0YSA/IGdldEV4cGxvcmVVUkwoZGF0YSwgbW9kZWwsIHsgZnJvbSwgdG8gfSwgb3B0aW9ucy50cmFuc2Zvcm0pIDogXCJcIixcbiAgICBbZGF0YSwgbW9kZWwsIGZyb20sIHRvXVxuICApO1xuICBjb25zdCByZXR1cm5Ub1ByZXZpb3VzID0gdXNlUmV0dXJuVG9QcmV2aW91cygpO1xuICBpZiAoZXhwbG9yZUxpbmspIHtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoTGlua0J1dHRvbiwge1xuICAgICAga2V5OiBcImV4cGxvcmVcIixcbiAgICAgIGljb246IFwiY29tcGFzc1wiLFxuICAgICAgc2l6ZTogXCJzbVwiLFxuICAgICAgdmFyaWFudDogXCJzZWNvbmRhcnlcIixcbiAgICAgIGhyZWY6IGV4cGxvcmVMaW5rLFxuICAgICAgb25DbGljazogKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmIChvcHRpb25zLnJldHVyblRvUHJldmlvdXMpIHtcbiAgICAgICAgICByZXR1cm5Ub1ByZXZpb3VzKG9wdGlvbnMucmV0dXJuVG9QcmV2aW91cy50aXRsZSwgb3B0aW9ucy5yZXR1cm5Ub1ByZXZpb3VzLmhyZWYpO1xuICAgICAgICB9XG4gICAgICAgIChfYSA9IG9wdGlvbnMub25DbGljaykgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLmNhbGwob3B0aW9ucyk7XG4gICAgICB9XG4gICAgfSwgXCJFeHBsb3JlXCIpO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgeyBWaXpQYW5lbEV4cGxvcmVCdXR0b24gfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pVm1sNlVHRnVaV3hGZUhCc2IzSmxRblYwZEc5dUxtcHpJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk4dUxpOXpjbU12WTI5dGNHOXVaVzUwY3k5V2FYcFFZVzVsYkM5V2FYcFFZVzVsYkVWNGNHeHZjbVZDZFhSMGIyNHVkSE40SWwwc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYkltbHRjRzl5ZENCU1pXRmpkQ0JtY205dElDZHlaV0ZqZENjN1hHNWNibWx0Y0c5eWRDQjdJRXhwYm10Q2RYUjBiMjRnZlNCbWNtOXRJQ2RBWjNKaFptRnVZUzkxYVNjN1hHNXBiWEJ2Y25RZ2V5QkVZWFJoVVhWbGNua2dmU0JtY205dElDZEFaM0poWm1GdVlTOXpZMmhsYldFbk8xeHVhVzF3YjNKMElIc2dkWE5sUVhONWJtTWdmU0JtY205dElDZHlaV0ZqZEMxMWMyVW5PMXh1YVcxd2IzSjBJSHNnVTJObGJtVkRiMjF3YjI1bGJuUlFjbTl3Y3l3Z1UyTmxibVZQWW1wbFkzUlRkR0YwWlNCOUlHWnliMjBnSnk0dUx5NHVMMk52Y21VdmRIbHdaWE1uTzF4dWFXMXdiM0owSUhzZ1UyTmxibVZQWW1wbFkzUkNZWE5sSUgwZ1puSnZiU0FuTGk0dkxpNHZZMjl5WlM5VFkyVnVaVTlpYW1WamRFSmhjMlVuTzF4dWFXMXdiM0owSUhzZ2MyTmxibVZIY21Gd2FDQjlJR1p5YjIwZ0p5NHVMeTR1TDJOdmNtVXZjMk5sYm1WSGNtRndhQ2M3WEc1cGJYQnZjblFnZXlCblpYUkZlSEJzYjNKbFZWSk1JSDBnWm5KdmJTQW5MaTR2TGk0dmRYUnBiSE12Wlhod2JHOXlaU2M3WEc1cGJYQnZjblFnZXlCMWMyVlNaWFIxY201VWIxQnlaWFpwYjNWeklIMGdabkp2YlNBblFHZHlZV1poYm1FdmNuVnVkR2x0WlNjN1hHNWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdSWGh3Ykc5eVpVSjFkSFJ2Yms5d2RHbHZibk1nZTF4dUlDQXZMeUJEWVd4c1ltRmpheUIwYnlCb2IyOXJJR2x1SUhSeVlXTnJhVzVuSUM4Z1lXNWhiSGwwYVdOelhHNGdJRzl1UTJ4cFkycy9PaUFvS1NBOVBpQjJiMmxrTzF4dVhHNGdJQzh2SUVOaGJHeGlZV05ySUhSdklHMXZaR2xtZVNCcGJuUmxjbkJ2YkdGMFpXUWdjWFZsY25rZ1ltVm1iM0psSUhCaGMzTnBibWNnYVhRZ2RHOGdaWGh3Ykc5eVpWeHVJQ0IwY21GdWMyWnZjbTAvT2lBb2NYVmxjbms2SUVSaGRHRlJkV1Z5ZVNrZ1BUNGdSR0YwWVZGMVpYSjVPMXh1WEc0Z0lDOHZJRlJwZEd4bElHRnVaQ0JvY21WbUlHWnZjaUIwYUdVZ2NtVjBkWEp1SUhSdklIQnlaWFpwYjNWeklHSjFkSFJ2Ymx4dUlDQnlaWFIxY201VWIxQnlaWFpwYjNWelB6b2dlMXh1SUNBZ0lIUnBkR3hsT2lCemRISnBibWM3WEc0Z0lDQWdhSEpsWmo4NklITjBjbWx1Wnp0Y2JpQWdmVHRjYm4xY2JseHVhVzUwWlhKbVlXTmxJRVY0Y0d4dmNtVkNkWFIwYjI1VGRHRjBaU0JsZUhSbGJtUnpJRk5qWlc1bFQySnFaV04wVTNSaGRHVWdlMXh1SUNCdmNIUnBiMjV6T2lCRmVIQnNiM0psUW5WMGRHOXVUM0IwYVc5dWN6dGNibjFjYmx4dVpYaHdiM0owSUdOc1lYTnpJRlpwZWxCaGJtVnNSWGh3Ykc5eVpVSjFkSFJ2YmlCbGVIUmxibVJ6SUZOalpXNWxUMkpxWldOMFFtRnpaVHhGZUhCc2IzSmxRblYwZEc5dVUzUmhkR1UrSUh0Y2JpQWdjM1JoZEdsaklFTnZiWEJ2Ym1WdWRDQTlJRlpwZWxCaGJtVnNSWGh3Ykc5eVpVSjFkSFJ2YmtOdmJYQnZibVZ1ZER0Y2JseHVJQ0J3ZFdKc2FXTWdZMjl1YzNSeWRXTjBiM0lvYjNCMGFXOXVjem9nUlhod2JHOXlaVUoxZEhSdmJrOXdkR2x2Ym5NZ1BTQjdmU2tnZTF4dUlDQWdJSE4xY0dWeUtIc2diM0IwYVc5dWN5QjlLVHRjYmlBZ2ZWeHVmVnh1WEc1bWRXNWpkR2x2YmlCV2FYcFFZVzVsYkVWNGNHeHZjbVZDZFhSMGIyNURiMjF3YjI1bGJuUW9leUJ0YjJSbGJDQjlPaUJUWTJWdVpVTnZiWEJ2Ym1WdWRGQnliM0J6UEZacGVsQmhibVZzUlhod2JHOXlaVUoxZEhSdmJqNHBJSHRjYmlBZ1kyOXVjM1FnZXlCdmNIUnBiMjV6SUgwZ1BTQnRiMlJsYkM1MWMyVlRkR0YwWlNncE8xeHVYRzRnSUdOdmJuTjBJSHNnWkdGMFlTQjlJRDBnYzJObGJtVkhjbUZ3YUM1blpYUkVZWFJoS0cxdlpHVnNLUzUxYzJWVGRHRjBaU2dwTzF4dVhHNGdJR052Ym5OMElIc2dabkp2YlN3Z2RHOGdmU0E5SUhOalpXNWxSM0poY0dndVoyVjBWR2x0WlZKaGJtZGxLRzF2WkdWc0tTNTFjMlZUZEdGMFpTZ3BPMXh1WEc0Z0lHTnZibk4wSUhzZ2RtRnNkV1U2SUdWNGNHeHZjbVZNYVc1cklIMGdQU0IxYzJWQmMzbHVZeWhjYmlBZ0lDQmhjM2x1WXlBb0tTQTlQaUFvWkdGMFlTQS9JR2RsZEVWNGNHeHZjbVZWVWt3b1pHRjBZU3dnYlc5a1pXd3NJSHNnWm5KdmJTd2dkRzhnZlN3Z2IzQjBhVzl1Y3k1MGNtRnVjMlp2Y20wcElEb2dKeWNwTEZ4dUlDQWdJRnRrWVhSaExDQnRiMlJsYkN3Z1puSnZiU3dnZEc5ZFhHNGdJQ2s3WEc1Y2JpQWdZMjl1YzNRZ2NtVjBkWEp1Vkc5UWNtVjJhVzkxY3lBOUlIVnpaVkpsZEhWeWJsUnZVSEpsZG1sdmRYTW9LVHRjYmx4dUlDQnBaaUFvWlhod2JHOXlaVXhwYm1zcElIdGNiaUFnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnUEV4cGJtdENkWFIwYjI1Y2JpQWdJQ0FnSUNBZ2EyVjVQVndpWlhod2JHOXlaVndpWEc0Z0lDQWdJQ0FnSUdsamIyNDlYQ0pqYjIxd1lYTnpYQ0pjYmlBZ0lDQWdJQ0FnYzJsNlpUMWNJbk50WENKY2JpQWdJQ0FnSUNBZ2RtRnlhV0Z1ZEQxY0luTmxZMjl1WkdGeWVWd2lYRzRnSUNBZ0lDQWdJR2h5WldZOWUyVjRjR3h2Y21WTWFXNXJmVnh1SUNBZ0lDQWdJQ0J2YmtOc2FXTnJQWHNvS1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnYVdZZ0tHOXdkR2x2Ym5NdWNtVjBkWEp1Vkc5UWNtVjJhVzkxY3lrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVWRzlRY21WMmFXOTFjeWh2Y0hScGIyNXpMbkpsZEhWeWJsUnZVSEpsZG1sdmRYTXVkR2wwYkdVc0lHOXdkR2x2Ym5NdWNtVjBkWEp1Vkc5UWNtVjJhVzkxY3k1b2NtVm1LVHRjYmlBZ0lDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBZ0lDQWdiM0IwYVc5dWN5NXZia05zYVdOclB5NG9LVHRjYmlBZ0lDQWdJQ0FnZlgxY2JpQWdJQ0FnSUQ1Y2JpQWdJQ0FnSUNBZ1JYaHdiRzl5WlZ4dUlDQWdJQ0FnUEM5TWFXNXJRblYwZEc5dVBseHVJQ0FnSUNrN1hHNGdJSDFjYmlBZ2NtVjBkWEp1SUc1MWJHdzdYRzU5WEc0aVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWpzN096czdPenM3UVVFMlFrOHNUVUZCVFN3NFFrRkJPRUlzWlVGQmIwTXNRMEZCUVR0QlFVRkJMRVZCUjNSRkxGZEJRVUVzUTBGQldTeFBRVUZuUXl4SFFVRkJMRVZCUVVrc1JVRkJRVHRCUVVOeVJDeEpRVUZOTEV0QlFVRXNRMEZCUVN4RlFVRkZMRk5CUVZNc1EwRkJRU3hEUVVGQk8wRkJRVUVzUjBGRGJrSTdRVUZEUml4RFFVRkJPMEZCVG1Fc2NVSkJRVUVzUTBGRFNpeFRRVUZaTEVkQlFVRXNPRUpCUVVFc1EwRkJRVHRCUVU5eVFpeFRRVUZUTERoQ1FVRkJMRU5CUVN0Q0xFVkJRVVVzUzBGQlFTeEZRVUZ4UkN4RlFVRkJPMEZCUXpkR0xFVkJRVUVzVFVGQlRTeEZRVUZGTEU5QlFVRXNSVUZCV1N4SFFVRkJMRXRCUVVFc1EwRkJUU3hSUVVGVExFVkJRVUVzUTBGQlFUdEJRVVZ1UXl4RlFVRkJMRTFCUVUwc1JVRkJSU3hKUVVGTExFVkJRVUVzUjBGQlNTeFhRVUZYTEU5QlFWRXNRMEZCUVN4TFFVRkxMRVZCUVVVc1VVRkJVeXhGUVVGQkxFTkJRVUU3UVVGRmNFUXNSVUZCVFN4TlFVRkJMRVZCUVVVc1RVRkJUU3hGUVVGSExFVkJRVUVzUjBGQlNTeFhRVUZYTEZsQlFXRXNRMEZCUVN4TFFVRkxMRVZCUVVVc1VVRkJVeXhGUVVGQkxFTkJRVUU3UVVGRk4wUXNSVUZCVFN4TlFVRkJMRVZCUVVVc1MwRkJUeXhGUVVGQkxGZEJRVUVzUlVGQlowSXNSMEZCUVN4UlFVRkJPMEZCUVVFc1NVRkROMElzV1VGQllTeEpRVUZQTEVkQlFVRXNZVUZCUVN4RFFVRmpMRWxCUVUwc1JVRkJRU3hMUVVGQkxFVkJRVThzUlVGQlJTeEpRVUZCTEVWQlFVMHNSVUZCUnl4RlFVRkJMRVZCUVVjc1QwRkJVU3hEUVVGQkxGTkJRVk1zUTBGQlNTeEhRVUZCTEVWQlFVRTdRVUZCUVN4SlFVTnNSaXhEUVVGRExFbEJRVUVzUlVGQlRTeExRVUZQTEVWQlFVRXNTVUZCUVN4RlFVRk5MRVZCUVVVc1EwRkJRVHRCUVVGQkxFZEJRM2hDTEVOQlFVRTdRVUZGUVN4RlFVRkJMRTFCUVUwc2JVSkJRVzFDTEcxQ1FVRnZRaXhGUVVGQkxFTkJRVUU3UVVGRk4wTXNSVUZCUVN4SlFVRkpMRmRCUVdFc1JVRkJRVHRCUVVObUxFbEJRVUVzZFVKQlEwY3NTMEZCUVN4RFFVRkJMR0ZCUVVFc1EwRkJRU3hWUVVGQkxFVkJRVUU3UVVGQlFTeE5RVU5ETEVkQlFVa3NSVUZCUVN4VFFVRkJPMEZCUVVFc1RVRkRTaXhKUVVGTExFVkJRVUVzVTBGQlFUdEJRVUZCTEUxQlEwd3NTVUZCU3l4RlFVRkJMRWxCUVVFN1FVRkJRU3hOUVVOTUxFOUJRVkVzUlVGQlFTeFhRVUZCTzBGQlFVRXNUVUZEVWl4SlFVRk5MRVZCUVVFc1YwRkJRVHRCUVVGQkxFMUJRMDRzVTBGQlV5eE5RVUZOTzBGQk0wUjJRaXhSUVVGQkxFbEJRVUVzUlVGQlFTeERRVUZCTzBGQk5FUlZMRkZCUVVFc1NVRkJTU3hSUVVGUkxHZENRVUZyUWl4RlFVRkJPMEZCUXpWQ0xGVkJRVUVzWjBKQlFVRXNRMEZCYVVJc1QwRkJVU3hEUVVGQkxHZENRVUZCTEVOQlFXbENMRXRCUVU4c1JVRkJRU3hQUVVGQkxFTkJRVkVzYVVKQlFXbENMRWxCUVVrc1EwRkJRU3hEUVVGQk8wRkJRVUVzVTBGRGFFWTdRVUZEUVN4UlFVRkJMRU5CUVVFc1JVRkJRU3hIUVVGQkxFOUJRVUVzUTBGQlVTeFBRVUZTTEV0QlFVRXNTVUZCUVN4SFFVRkJMRXRCUVVFc1EwRkJRU3hIUVVGQkxFVkJRVUVzUTBGQlFTeEpRVUZCTEVOQlFVRXNUMEZCUVN4RFFVRkJMRU5CUVVFN1FVRkJRU3hQUVVOR08wRkJRVUVzUzBGQlFTeEZRVU5FTEZOQlJVUXNRMEZCUVN4RFFVRkJPMEZCUVVFc1IwRkZTanRCUVVOQkxFVkJRVThzVDBGQlFTeEpRVUZCTEVOQlFVRTdRVUZEVkRzN096c2lmUT09XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUE2Qk8sTUFBTSw4QkFBOEIsZUFBb0MsQ0FBQTtFQUd0RSxXQUFZLENBQUEsT0FBQSxHQUFnQyxFQUFJLEVBQUE7QUFDL0MsSUFBQSxLQUFBLENBQUEsRUFBRSxTQUFTLENBQUEsQ0FBQTtBQUFBLEdBQUE7QUFFckIsQ0FBQTtBQU5hLHFCQUFBLENBQ0osU0FBWSxHQUFBLDhCQUFBLENBQUE7QUFPckIsU0FBUyw4QkFBQSxDQUErQixFQUFFLEtBQUEsRUFBcUQsRUFBQTtBQUM3RixFQUFBLE1BQU0sRUFBRSxPQUFBLEVBQVksR0FBQSxLQUFBLENBQU0sUUFBUyxFQUFBLENBQUE7QUFFbkMsRUFBQSxNQUFNLEVBQUUsSUFBSyxFQUFBLEdBQUksV0FBVyxPQUFRLENBQUEsS0FBSyxFQUFFLFFBQVMsRUFBQSxDQUFBO0FBRTlDLEVBQUEsTUFBQSxFQUFFLE1BQU0sRUFBRyxFQUFBLEdBQUksV0FBVyxZQUFhLENBQUEsS0FBSyxFQUFFLFFBQVMsRUFBQSxDQUFBO0FBRXZELEVBQUEsTUFBQSxFQUFFLEtBQU8sRUFBQSxXQUFBLEVBQWdCLEdBQUEsUUFBQTtJQUM3QixZQUFhLElBQUEsR0FBTyxhQUFjLENBQUEsSUFBQSxFQUFNLEtBQU8sRUFBQSxFQUFFLE1BQU0sRUFBRyxFQUFBLEVBQUcsT0FBUSxDQUFBLFNBQVMsQ0FBSSxHQUFBLEVBQUE7SUFDbEYsQ0FBQyxJQUFBLEVBQU0sS0FBTyxFQUFBLElBQUEsRUFBTSxFQUFFLENBQUE7QUFBQSxHQUFBLENBQUE7QUFHeEIsRUFBQSxNQUFNLG1CQUFtQixtQkFBb0IsRUFBQSxDQUFBO0FBRTdDLEVBQUEsSUFBSSxXQUFhLEVBQUE7QUFDZixJQUNHLHVCQUFBLEtBQUEsQ0FBQSxjQUFBLFVBQUEsRUFBQTtNQUNDLEdBQUksRUFBQSxTQUFBO01BQ0osSUFBSyxFQUFBLFNBQUE7TUFDTCxJQUFLLEVBQUEsSUFBQTtNQUNMLE9BQVEsRUFBQSxXQUFBO01BQ1IsSUFBTSxFQUFBLFdBQUE7QUFDTixNQUFBLE9BQUEsRUFBUyxNQUFNO0FBM0R2QixRQUFBLElBQUEsRUFBQSxDQUFBO0FBNERVLFFBQUEsSUFBSSxRQUFRLGdCQUFrQixFQUFBO0FBQzVCLFVBQUEsZ0JBQUEsQ0FBaUIsT0FBUSxDQUFBLGdCQUFBLENBQWlCLEtBQU8sRUFBQSxPQUFBLENBQVEsaUJBQWlCLElBQUksQ0FBQSxDQUFBO0FBQUEsU0FBQTtBQUVoRixRQUFBLENBQUEsS0FBQSxPQUFRLENBQUEsT0FBQSxLQUFSLE9BQUEsS0FBQSxDQUFBLEdBQUEsRUFBQSxDQUFBLEtBQUEsT0FBQSxDQUFBLENBQUE7QUFBQSxPQUFBO0FBQ0YsS0FBQSxFQUNELFNBRUQsQ0FBQSxDQUFBO0FBQUEsR0FBQTtBQUdHLEVBQUEsT0FBQSxJQUFBLENBQUE7QUFDVDs7OzsifQ==
@@ -1,59 +0,0 @@
1
- import React, { useEffect } from 'react';
2
- import { Menu } from '@grafana/ui';
3
- import { SceneObjectBase } from '../../core/SceneObjectBase.js';
4
- import { selectors } from '@grafana/e2e-selectors';
5
-
6
- class VizPanelMenu extends SceneObjectBase {
7
- addItem(item) {
8
- this.setState({
9
- items: this.state.items ? [...this.state.items, item] : [item]
10
- });
11
- }
12
- setItems(items) {
13
- this.setState({
14
- items
15
- });
16
- }
17
- }
18
- VizPanelMenu.Component = VizPanelMenuRenderer;
19
- function VizPanelMenuRenderer({ model }) {
20
- const { items = [] } = model.useState();
21
- const ref = React.useRef(null);
22
- useEffect(() => {
23
- if (ref.current) {
24
- ref.current.focus();
25
- }
26
- }, []);
27
- const renderItems = (items2) => {
28
- return items2.map((item) => {
29
- switch (item.type) {
30
- case "divider":
31
- return /* @__PURE__ */ React.createElement(Menu.Divider, {
32
- key: item.text
33
- });
34
- case "group":
35
- return /* @__PURE__ */ React.createElement(Menu.Group, {
36
- key: item.text,
37
- label: item.text
38
- }, item.subMenu ? renderItems(item.subMenu) : void 0);
39
- default:
40
- return /* @__PURE__ */ React.createElement(Menu.Item, {
41
- key: item.text,
42
- label: item.text,
43
- icon: item.iconClassName,
44
- childItems: item.subMenu ? renderItems(item.subMenu) : void 0,
45
- url: item.href,
46
- onClick: item.onClick,
47
- shortcut: item.shortcut,
48
- testId: selectors.components.Panels.Panel.menuItems(item.text)
49
- });
50
- }
51
- });
52
- };
53
- return /* @__PURE__ */ React.createElement(Menu, {
54
- ref
55
- }, renderItems(items));
56
- }
57
-
58
- export { VizPanelMenu };
59
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVml6UGFuZWxNZW51LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21wb25lbnRzL1ZpelBhbmVsL1ZpelBhbmVsTWVudS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTWVudSB9IGZyb20gJ0BncmFmYW5hL3VpJztcbmltcG9ydCB7IFNjZW5lT2JqZWN0QmFzZSB9IGZyb20gJy4uLy4uL2NvcmUvU2NlbmVPYmplY3RCYXNlLmpzJztcbmltcG9ydCB7IHNlbGVjdG9ycyB9IGZyb20gJ0BncmFmYW5hL2UyZS1zZWxlY3RvcnMnO1xuXG5jbGFzcyBWaXpQYW5lbE1lbnUgZXh0ZW5kcyBTY2VuZU9iamVjdEJhc2Uge1xuICBhZGRJdGVtKGl0ZW0pIHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGl0ZW1zOiB0aGlzLnN0YXRlLml0ZW1zID8gWy4uLnRoaXMuc3RhdGUuaXRlbXMsIGl0ZW1dIDogW2l0ZW1dXG4gICAgfSk7XG4gIH1cbiAgc2V0SXRlbXMoaXRlbXMpIHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGl0ZW1zXG4gICAgfSk7XG4gIH1cbn1cblZpelBhbmVsTWVudS5Db21wb25lbnQgPSBWaXpQYW5lbE1lbnVSZW5kZXJlcjtcbmZ1bmN0aW9uIFZpelBhbmVsTWVudVJlbmRlcmVyKHsgbW9kZWwgfSkge1xuICBjb25zdCB7IGl0ZW1zID0gW10gfSA9IG1vZGVsLnVzZVN0YXRlKCk7XG4gIGNvbnN0IHJlZiA9IFJlYWN0LnVzZVJlZihudWxsKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocmVmLmN1cnJlbnQpIHtcbiAgICAgIHJlZi5jdXJyZW50LmZvY3VzKCk7XG4gICAgfVxuICB9LCBbXSk7XG4gIGNvbnN0IHJlbmRlckl0ZW1zID0gKGl0ZW1zMikgPT4ge1xuICAgIHJldHVybiBpdGVtczIubWFwKChpdGVtKSA9PiB7XG4gICAgICBzd2l0Y2ggKGl0ZW0udHlwZSkge1xuICAgICAgICBjYXNlIFwiZGl2aWRlclwiOlxuICAgICAgICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3QuY3JlYXRlRWxlbWVudChNZW51LkRpdmlkZXIsIHtcbiAgICAgICAgICAgIGtleTogaXRlbS50ZXh0XG4gICAgICAgICAgfSk7XG4gICAgICAgIGNhc2UgXCJncm91cFwiOlxuICAgICAgICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3QuY3JlYXRlRWxlbWVudChNZW51Lkdyb3VwLCB7XG4gICAgICAgICAgICBrZXk6IGl0ZW0udGV4dCxcbiAgICAgICAgICAgIGxhYmVsOiBpdGVtLnRleHRcbiAgICAgICAgICB9LCBpdGVtLnN1Yk1lbnUgPyByZW5kZXJJdGVtcyhpdGVtLnN1Yk1lbnUpIDogdm9pZCAwKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoTWVudS5JdGVtLCB7XG4gICAgICAgICAgICBrZXk6IGl0ZW0udGV4dCxcbiAgICAgICAgICAgIGxhYmVsOiBpdGVtLnRleHQsXG4gICAgICAgICAgICBpY29uOiBpdGVtLmljb25DbGFzc05hbWUsXG4gICAgICAgICAgICBjaGlsZEl0ZW1zOiBpdGVtLnN1Yk1lbnUgPyByZW5kZXJJdGVtcyhpdGVtLnN1Yk1lbnUpIDogdm9pZCAwLFxuICAgICAgICAgICAgdXJsOiBpdGVtLmhyZWYsXG4gICAgICAgICAgICBvbkNsaWNrOiBpdGVtLm9uQ2xpY2ssXG4gICAgICAgICAgICBzaG9ydGN1dDogaXRlbS5zaG9ydGN1dCxcbiAgICAgICAgICAgIHRlc3RJZDogc2VsZWN0b3JzLmNvbXBvbmVudHMuUGFuZWxzLlBhbmVsLm1lbnVJdGVtcyhpdGVtLnRleHQpXG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3QuY3JlYXRlRWxlbWVudChNZW51LCB7XG4gICAgcmVmXG4gIH0sIHJlbmRlckl0ZW1zKGl0ZW1zKSk7XG59XG5cbmV4cG9ydCB7IFZpelBhbmVsTWVudSB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lWbWw2VUdGdVpXeE5aVzUxTG1weklpd2ljMjkxY21ObGN5STZXeUl1TGk4dUxpOHVMaTh1TGk5emNtTXZZMjl0Y0c5dVpXNTBjeTlXYVhwUVlXNWxiQzlXYVhwUVlXNWxiRTFsYm5VdWRITjRJbDBzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0JTWldGamRDd2dleUIxYzJWRlptWmxZM1FnZlNCbWNtOXRJQ2R5WldGamRDYzdYRzVwYlhCdmNuUWdleUJRWVc1bGJFMWxiblZKZEdWdElIMGdabkp2YlNBblFHZHlZV1poYm1FdlpHRjBZU2M3WEc1cGJYQnZjblFnZXlCTlpXNTFJSDBnWm5KdmJTQW5RR2R5WVdaaGJtRXZkV2tuTzF4dWFXMXdiM0owSUhzZ1UyTmxibVZQWW1wbFkzUkNZWE5sSUgwZ1puSnZiU0FuTGk0dkxpNHZZMjl5WlM5VFkyVnVaVTlpYW1WamRFSmhjMlVuTzF4dWFXMXdiM0owSUhzZ1UyTmxibVZEYjIxd2IyNWxiblJRY205d2N5d2dVMk5sYm1WUFltcGxZM1JUZEdGMFpTQjlJR1p5YjIwZ0p5NHVMeTR1TDJOdmNtVXZkSGx3WlhNbk8xeHVhVzF3YjNKMElIc2djMlZzWldOMGIzSnpJSDBnWm5KdmJTQW5RR2R5WVdaaGJtRXZaVEpsTFhObGJHVmpkRzl5Y3ljN1hHNWNibWx1ZEdWeVptRmpaU0JXYVhwUVlXNWxiRTFsYm5WVGRHRjBaU0JsZUhSbGJtUnpJRk5qWlc1bFQySnFaV04wVTNSaGRHVWdlMXh1SUNCcGRHVnRjejg2SUZCaGJtVnNUV1Z1ZFVsMFpXMWJYVHRjYm4xY2JseHVaWGh3YjNKMElHTnNZWE56SUZacGVsQmhibVZzVFdWdWRTQmxlSFJsYm1SeklGTmpaVzVsVDJKcVpXTjBRbUZ6WlR4V2FYcFFZVzVsYkUxbGJuVlRkR0YwWlQ0Z2UxeHVJQ0J6ZEdGMGFXTWdRMjl0Y0c5dVpXNTBJRDBnVm1sNlVHRnVaV3hOWlc1MVVtVnVaR1Z5WlhJN1hHNWNiaUFnTHk4Z1FXeHNiM2R6SUdGa1pHbHVaeUJ0Wlc1MUlHbDBaVzF6SUdSNWJtRnRhV05oYkd4NVhHNGdJSEIxWW14cFl5QmhaR1JKZEdWdEtHbDBaVzA2SUZCaGJtVnNUV1Z1ZFVsMFpXMHBJSHRjYmlBZ0lDQjBhR2x6TG5ObGRGTjBZWFJsS0h0Y2JpQWdJQ0FnSUdsMFpXMXpPaUIwYUdsekxuTjBZWFJsTG1sMFpXMXpJRDhnV3k0dUxuUm9hWE11YzNSaGRHVXVhWFJsYlhNc0lHbDBaVzFkSURvZ1cybDBaVzFkTEZ4dUlDQWdJSDBwTzF4dUlDQjlYRzVjYmlBZ0x5OGdRV3hzYjNkeklISmxjR3hoWTJsdVp5QmhiR3dnYldWdWRTQnBkR1Z0YzF4dUlDQndkV0pzYVdNZ2MyVjBTWFJsYlhNb2FYUmxiWE02SUZCaGJtVnNUV1Z1ZFVsMFpXMWJYU2tnZTF4dUlDQWdJSFJvYVhNdWMyVjBVM1JoZEdVb2UxeHVJQ0FnSUNBZ2FYUmxiWE1zWEc0Z0lDQWdmU2s3WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z1ZtbDZVR0Z1Wld4TlpXNTFVbVZ1WkdWeVpYSW9leUJ0YjJSbGJDQjlPaUJUWTJWdVpVTnZiWEJ2Ym1WdWRGQnliM0J6UEZacGVsQmhibVZzVFdWdWRUNHBJSHRjYmlBZ1kyOXVjM1FnZXlCcGRHVnRjeUE5SUZ0ZElIMGdQU0J0YjJSbGJDNTFjMlZUZEdGMFpTZ3BPMXh1SUNCamIyNXpkQ0J5WldZZ1BTQlNaV0ZqZEM1MWMyVlNaV1k4U0ZSTlRFUnBka1ZzWlcxbGJuUStLRzUxYkd3cE8xeHVYRzRnSUhWelpVVm1abVZqZENnb0tTQTlQaUI3WEc0Z0lDQWdhV1lnS0hKbFppNWpkWEp5Wlc1MEtTQjdYRzRnSUNBZ0lDQnlaV1l1WTNWeWNtVnVkQzVtYjJOMWN5Z3BPMXh1SUNBZ0lIMWNiaUFnZlN3Z1cxMHBPMXh1WEc0Z0lHTnZibk4wSUhKbGJtUmxja2wwWlcxeklEMGdLR2wwWlcxek9pQlFZVzVsYkUxbGJuVkpkR1Z0VzEwcElEMCtJSHRjYmlBZ0lDQnlaWFIxY200Z2FYUmxiWE11YldGd0tDaHBkR1Z0S1NBOVBpQjdYRzRnSUNBZ0lDQnpkMmwwWTJnZ0tHbDBaVzB1ZEhsd1pTa2dlMXh1SUNBZ0lDQWdJQ0JqWVhObElDZGthWFpwWkdWeUp6cGNiaUFnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdQRTFsYm5VdVJHbDJhV1JsY2lCclpYazllMmwwWlcwdWRHVjRkSDBnTHo0N1hHNGdJQ0FnSUNBZ0lHTmhjMlVnSjJkeWIzVndKenBjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnS0Z4dUlDQWdJQ0FnSUNBZ0lDQWdQRTFsYm5VdVIzSnZkWEFnYTJWNVBYdHBkR1Z0TG5SbGVIUjlJR3hoWW1Wc1BYdHBkR1Z0TG5SbGVIUjlQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjdhWFJsYlM1emRXSk5aVzUxSUQ4Z2NtVnVaR1Z5U1hSbGJYTW9hWFJsYlM1emRXSk5aVzUxS1NBNklIVnVaR1ZtYVc1bFpIMWNiaUFnSUNBZ0lDQWdJQ0FnSUR3dlRXVnVkUzVIY205MWNENWNiaUFnSUNBZ0lDQWdJQ0FwTzF4dUlDQWdJQ0FnSUNCa1pXWmhkV3gwT2x4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0E4VFdWdWRTNUpkR1Z0WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR3RsZVQxN2FYUmxiUzUwWlhoMGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNCc1lXSmxiRDE3YVhSbGJTNTBaWGgwZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0JwWTI5dVBYdHBkR1Z0TG1samIyNURiR0Z6YzA1aGJXVjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHTm9hV3hrU1hSbGJYTTllMmwwWlcwdWMzVmlUV1Z1ZFNBL0lISmxibVJsY2tsMFpXMXpLR2wwWlcwdWMzVmlUV1Z1ZFNrZ09pQjFibVJsWm1sdVpXUjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lIVnliRDE3YVhSbGJTNW9jbVZtZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtOc2FXTnJQWHRwZEdWdExtOXVRMnhwWTJ0OVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhOb2IzSjBZM1YwUFh0cGRHVnRMbk5vYjNKMFkzVjBmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjBaWE4wU1dROWUzTmxiR1ZqZEc5eWN5NWpiMjF3YjI1bGJuUnpMbEJoYm1Wc2N5NVFZVzVsYkM1dFpXNTFTWFJsYlhNb2FYUmxiUzUwWlhoMEtYMWNiaUFnSUNBZ0lDQWdJQ0FnSUM4K1hHNGdJQ0FnSUNBZ0lDQWdLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlLVHRjYmlBZ2ZUdGNibHh1SUNCeVpYUjFjbTRnUEUxbGJuVWdjbVZtUFh0eVpXWjlQbnR5Wlc1a1pYSkpkR1Z0Y3locGRHVnRjeWw5UEM5TlpXNTFQanRjYm4xY2JpSmRMQ0p1WVcxbGN5STZXeUpwZEdWdGN5SmRMQ0p0WVhCd2FXNW5jeUk2SWpzN096czdRVUZYVHl4TlFVRk5MSEZDUVVGeFFpeGxRVUZ0UXl4RFFVRkJPMEZCUVVFc1JVRkpOVVFzVVVGQlVTeEpRVUZ4UWl4RlFVRkJPMEZCUTJ4RExFbEJRVUVzU1VGQlFTeERRVUZMTEZGQlFWTXNRMEZCUVR0QlFVRkJMRTFCUTFvc1MwRkJUeXhGUVVGQkxFbEJRVUVzUTBGQlN5eExRVUZOTEVOQlFVRXNTMEZCUVN4SFFVRlJMRU5CUVVNc1IwRkJSeXhKUVVGTExFTkJRVUVzUzBGQlFTeERRVUZOTEV0QlFVOHNSVUZCUVN4SlFVRkpMRU5CUVVrc1IwRkJRU3hEUVVGRExFbEJRVWtzUTBGQlFUdEJRVUZCTEV0QlF6bEVMRU5CUVVFc1EwRkJRVHRCUVVGQkxFZEJRMGc3UVVGQlFTeEZRVWRQTEZOQlFWTXNTMEZCZDBJc1JVRkJRVHRCUVVOMFF5eEpRVUZCTEVsQlFVRXNRMEZCU3l4UlFVRlRMRU5CUVVFN1FVRkJRU3hOUVVOYUxFdEJRVUU3UVVGQlFTeExRVU5FTEVOQlFVRXNRMEZCUVR0QlFVRkJMRWRCUTBnN1FVRkRSaXhEUVVGQk8wRkJhRUpoTEZsQlFVRXNRMEZEU2l4VFFVRlpMRWRCUVVFc2IwSkJRVUVzUTBGQlFUdEJRV2xDY2tJc1UwRkJVeXh2UWtGQlFTeERRVUZ4UWl4RlFVRkZMRXRCUVVFc1JVRkJORU1zUlVGQlFUdEJRVU14UlN4RlFVRkJMRTFCUVUwc1JVRkJSU3hMUVVGUkxFZEJRVUVzUlVGQlJ5eEZRVUZCTEVkQlFVa3NUVUZCVFN4UlFVRlRMRVZCUVVFc1EwRkJRVHRCUVVOMFF5eEZRVUZOTEUxQlFVRXNSMEZCUVN4SFFVRk5MRXRCUVUwc1EwRkJRU3hOUVVGQkxFTkJRWFZDTEVsQlFVa3NRMEZCUVN4RFFVRkJPMEZCUlRkRExFVkJRVUVzVTBGQlFTeERRVUZWTEUxQlFVMDdRVUZEWkN4SlFVRkJMRWxCUVVrc1NVRkJTU3hQUVVGVExFVkJRVUU3UVVGRFppeE5RVUZCTEVkQlFVRXNRMEZCU1N4UlFVRlJMRXRCUVUwc1JVRkJRU3hEUVVGQk8wRkJRVUVzUzBGRGNFSTdRVUZCUVN4SFFVTkdMRVZCUVVjc1JVRkJSU3hEUVVGQkxFTkJRVUU3UVVGRlRDeEZRVUZOTEUxQlFVRXNWMEZCUVN4SFFVRmpMRU5CUVVOQkxFMUJRVEpDTEV0QlFVRTdRVUZET1VNc1NVRkJUMEVzVDBGQlFVRXNUVUZCUVVFc1EwRkJUU3hIUVVGSkxFTkJRVUVzUTBGQlF5eEpRVUZUTEV0QlFVRTdRVUZEZWtJc1RVRkJRU3hSUVVGUkxFbEJRVXNzUTBGQlFTeEpRVUZCTzBGQlFVRXNVVUZEVGl4TFFVRkJMRk5CUVVFN1FVRkRTQ3hWUVVGUExIVkNRVUZCTEV0QlFVRXNRMEZCUVN4aFFVRkJMRU5CUVVNc1MwRkJTeXhQUVVGTUxFVkJRVUU3UVVGQlFTeFpRVUZoTEV0QlFVc3NTVUZCU3l4RFFVRkJMRWxCUVVFN1FVRkJRU3hYUVVGTkxFTkJRVUVzUTBGQlFUdEJRVUZCTEZGQlEyeERMRXRCUVVFc1QwRkJRVHRCUVVOSUxGVkJRMFVzZFVKQlFVRXNTMEZCUVN4RFFVRkJMR0ZCUVVFc1EwRkJReXhMUVVGTExFdEJRVXdzUlVGQlFUdEJRVUZCTEZsQlFWY3NTMEZCU3l4SlFVRkxMRU5CUVVFc1NVRkJRVHRCUVVGQkxGbEJRVTBzVDBGQlR5eEpRVUZMTEVOQlFVRXNTVUZCUVR0QlFVRkJMRmRCUVVFc1JVRkRja01zUzBGQlN5eFBRVUZWTEVkQlFVRXNWMEZCUVN4RFFVRlpMRWxCUVVzc1EwRkJRU3hQUVVGUExFbEJRVWtzUzBGRE9VTXNRMEZCUVN4RFFVRkJMRU5CUVVFN1FVRkJRU3hSUVVGQk8wRkJSMFlzVlVGRFJTeDFRa0ZCUVN4TFFVRkJMRU5CUVVFc1lVRkJRU3hEUVVGRExFdEJRVXNzU1VGQlRDeEZRVUZCTzBGQlFVRXNXVUZEUXl4TFFVRkxMRWxCUVVzc1EwRkJRU3hKUVVGQk8wRkJRVUVzV1VGRFZpeFBRVUZQTEVsQlFVc3NRMEZCUVN4SlFVRkJPMEZCUVVFc1dVRkRXaXhOUVVGTkxFbEJRVXNzUTBGQlFTeGhRVUZCTzBGQlFVRXNXVUZEV0N4WlFVRlpMRWxCUVVzc1EwRkJRU3hQUVVGQkxFZEJRVlVzVjBGQldTeERRVUZCTEVsQlFVRXNRMEZCU3l4UFFVRlBMRU5CUVVrc1IwRkJRU3hMUVVGQkxFTkJRVUU3UVVGQlFTeFpRVU4yUkN4TFFVRkxMRWxCUVVzc1EwRkJRU3hKUVVGQk8wRkJRVUVzV1VGRFZpeFRRVUZUTEVsQlFVc3NRMEZCUVN4UFFVRkJPMEZCUVVFc1dVRkRaQ3hWUVVGVkxFbEJRVXNzUTBGQlFTeFJRVUZCTzBGQlFVRXNXVUZEWml4UlFVRlJMRk5CUVZVc1EwRkJRU3hWUVVGQkxFTkJRVmNzVDBGQlR5eExRVUZOTEVOQlFVRXNVMEZCUVN4RFFVRlZMRXRCUVVzc1NVRkJTU3hEUVVGQk8wRkJRVUVzVjBGREwwUXNRMEZCUVN4RFFVRkJPMEZCUVVFc1QwRkJRVHRCUVVGQkxFdEJSMUFzUTBGQlFTeERRVUZCTzBGQlFVRXNSMEZEU0N4RFFVRkJPMEZCUlVFc1JVRkJRU3gxUWtGQlVTeExRVUZCTEVOQlFVRXNZVUZCUVN4RFFVRkJMRWxCUVVFc1JVRkJRVHRCUVVGQkxFbEJRVXNzUjBGQlFUdEJRVUZCTEVkQlFWY3NSVUZCUVN4WFFVRkJMRU5CUVZrc1MwRkJTeXhEUVVGRkxFTkJRVUVzUTBGQlFUdEJRVU0zUXpzN096c2lmUT09XG4iXSwibmFtZXMiOlsiaXRlbXMiXSwibWFwcGluZ3MiOiI7Ozs7O0FBV08sTUFBTSxxQkFBcUIsZUFBbUMsQ0FBQTtBQUk1RCxFQUFBLE9BQUEsQ0FBUSxJQUFxQixFQUFBO0FBQ2xDLElBQUEsSUFBQSxDQUFLLFFBQVMsQ0FBQTtNQUNaLEtBQU8sRUFBQSxJQUFBLENBQUssS0FBTSxDQUFBLEtBQUEsR0FBUSxDQUFDLEdBQUcsSUFBSyxDQUFBLEtBQUEsQ0FBTSxLQUFPLEVBQUEsSUFBSSxDQUFJLEdBQUEsQ0FBQyxJQUFJLENBQUE7S0FDOUQsQ0FBQSxDQUFBO0FBQUEsR0FBQTtBQUlJLEVBQUEsUUFBQSxDQUFTLEtBQXdCLEVBQUE7QUFDdEMsSUFBQSxJQUFBLENBQUssUUFBUyxDQUFBO0FBQ1osTUFBQSxLQUFBO0tBQ0QsQ0FBQSxDQUFBO0FBQUEsR0FBQTtBQUVMLENBQUE7QUFoQmEsWUFBQSxDQUNKLFNBQVksR0FBQSxvQkFBQSxDQUFBO0FBaUJyQixTQUFTLG9CQUFBLENBQXFCLEVBQUUsS0FBQSxFQUE0QyxFQUFBO0FBQzFFLEVBQUEsTUFBTSxFQUFFLEtBQVEsR0FBQSxFQUFHLEVBQUEsR0FBSSxNQUFNLFFBQVMsRUFBQSxDQUFBO0FBQ2hDLEVBQUEsTUFBQSxHQUFBLEdBQU0sS0FBTSxDQUFBLE1BQUEsQ0FBdUIsSUFBSSxDQUFBLENBQUE7QUFFN0MsRUFBQSxTQUFBLENBQVUsTUFBTTtBQUNkLElBQUEsSUFBSSxJQUFJLE9BQVMsRUFBQTtBQUNmLE1BQUEsR0FBQSxDQUFJLFFBQVEsS0FBTSxFQUFBLENBQUE7QUFBQSxLQUFBO0FBQ3BCLEdBQUEsRUFDQyxFQUFFLENBQUEsQ0FBQTtBQUVDLEVBQUEsTUFBQSxXQUFBLEdBQWMsQ0FBQ0EsTUFBMkIsS0FBQTtBQUN2Q0EsSUFBQUEsT0FBQUEsTUFBQUEsQ0FBTSxHQUFJLENBQUEsQ0FBQyxJQUFTLEtBQUE7QUFDekIsTUFBQSxRQUFRLElBQUssQ0FBQSxJQUFBO0FBQ04sUUFBQSxLQUFBLFNBQUE7QUFDSSxVQUFBLHVCQUFBLEtBQUEsQ0FBQSxhQUFDLENBQUEsSUFBQSxDQUFLLE9BQUwsRUFBQTtBQUFhLFlBQUEsR0FBQSxFQUFLLElBQUssQ0FBQSxJQUFBO1dBQU0sQ0FBQSxDQUFBO0FBQ2xDLFFBQUEsS0FBQSxPQUFBO0FBRUQsVUFBQSx1QkFBQSxLQUFBLENBQUEsYUFBQyxDQUFBLElBQUEsQ0FBSyxLQUFMLEVBQUE7QUFBVyxZQUFBLEdBQUEsRUFBSyxJQUFLLENBQUEsSUFBQTtBQUFNLFlBQUEsS0FBQSxFQUFPLElBQUssQ0FBQSxJQUFBO0FBQUEsV0FBQSxFQUNyQyxLQUFLLE9BQVUsR0FBQSxXQUFBLENBQVksSUFBSyxDQUFBLE9BQU8sSUFBSSxLQUM5QyxDQUFBLENBQUEsQ0FBQTs7QUFJQSxVQUFBLHVCQUFBLEtBQUEsQ0FBQSxhQUFDLENBQUEsSUFBQSxDQUFLLElBQUwsRUFBQTtBQUNDLFlBQUEsR0FBQSxFQUFLLElBQUssQ0FBQSxJQUFBO0FBQ1YsWUFBQSxLQUFBLEVBQU8sSUFBSyxDQUFBLElBQUE7QUFDWixZQUFBLElBQUEsRUFBTSxJQUFLLENBQUEsYUFBQTtBQUNYLFlBQUEsVUFBQSxFQUFZLElBQUssQ0FBQSxPQUFBLEdBQVUsV0FBWSxDQUFBLElBQUEsQ0FBSyxPQUFPLENBQUksR0FBQSxLQUFBLENBQUE7QUFDdkQsWUFBQSxHQUFBLEVBQUssSUFBSyxDQUFBLElBQUE7QUFDVixZQUFBLE9BQUEsRUFBUyxJQUFLLENBQUEsT0FBQTtBQUNkLFlBQUEsUUFBQSxFQUFVLElBQUssQ0FBQSxRQUFBO0FBQ2YsWUFBQSxNQUFBLEVBQVEsVUFBVSxVQUFXLENBQUEsTUFBQSxDQUFPLEtBQU0sQ0FBQSxTQUFBLENBQVUsS0FBSyxJQUFJLENBQUE7V0FDL0QsQ0FBQSxDQUFBOztLQUdQLENBQUEsQ0FBQTtBQUFBLEdBQUEsQ0FBQTtBQUdILEVBQVEsdUJBQUEsS0FBQSxDQUFBLGNBQUEsSUFBQSxFQUFBO0FBQUssSUFBQSxHQUFBO0dBQVcsRUFBQSxXQUFBLENBQVksS0FBSyxDQUFFLENBQUEsQ0FBQTtBQUM3Qzs7OzsifQ==
@@ -1,285 +0,0 @@
1
- import React, { useMemo, useCallback } from 'react';
2
- import { useMeasure } from 'react-use';
3
- import { SetPanelAttentionEvent, AlertState, PluginContextProvider } from '@grafana/data';
4
- import { getAppEvents } from '@grafana/runtime';
5
- import { useStyles2, Tooltip, PanelChrome, Icon, ErrorBoundaryAlert, PanelContextProvider } from '@grafana/ui';
6
- import { sceneGraph } from '../../core/sceneGraph/index.js';
7
- import { isSceneObject } from '../../core/types.js';
8
- import { css, cx } from '@emotion/css';
9
- import { debounce } from 'lodash';
10
- import { VizPanelSeriesLimit } from './VizPanelSeriesLimit.js';
11
-
12
- var __defProp = Object.defineProperty;
13
- var __defProps = Object.defineProperties;
14
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
15
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
16
- var __hasOwnProp = Object.prototype.hasOwnProperty;
17
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
18
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
19
- var __spreadValues = (a, b) => {
20
- for (var prop in b || (b = {}))
21
- if (__hasOwnProp.call(b, prop))
22
- __defNormalProp(a, prop, b[prop]);
23
- if (__getOwnPropSymbols)
24
- for (var prop of __getOwnPropSymbols(b)) {
25
- if (__propIsEnum.call(b, prop))
26
- __defNormalProp(a, prop, b[prop]);
27
- }
28
- return a;
29
- };
30
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
31
- function VizPanelRenderer({ model }) {
32
- var _a;
33
- const {
34
- title,
35
- options,
36
- fieldConfig,
37
- _pluginLoadError,
38
- displayMode,
39
- hoverHeader,
40
- showMenuAlways,
41
- hoverHeaderOffset,
42
- menu,
43
- headerActions,
44
- titleItems,
45
- seriesLimit,
46
- seriesLimitShowAll,
47
- description,
48
- collapsible,
49
- collapsed,
50
- _renderCounter = 0
51
- } = model.useState();
52
- const [ref, { width, height }] = useMeasure();
53
- const appEvents = useMemo(() => getAppEvents(), []);
54
- const setPanelAttention = useCallback(() => {
55
- if (model.state.key) {
56
- appEvents.publish(new SetPanelAttentionEvent({ panelId: model.state.key }));
57
- }
58
- }, [model.state.key, appEvents]);
59
- const debouncedMouseMove = useMemo(
60
- () => debounce(setPanelAttention, 100, { leading: true, trailing: false }),
61
- [setPanelAttention]
62
- );
63
- const plugin = model.getPlugin();
64
- const { dragClass, dragClassCancel } = getDragClasses(model);
65
- const dataObject = sceneGraph.getData(model);
66
- const rawData = dataObject.useState();
67
- const dataWithSeriesLimit = useDataWithSeriesLimit(rawData.data, seriesLimit, seriesLimitShowAll);
68
- const dataWithFieldConfig = model.applyFieldConfig(dataWithSeriesLimit);
69
- const sceneTimeRange = sceneGraph.getTimeRange(model);
70
- const timeZone = sceneTimeRange.getTimeZone();
71
- const timeRange = model.getTimeRange(dataWithFieldConfig);
72
- const titleInterpolated = model.interpolate(title, void 0, "text");
73
- const alertStateStyles = useStyles2(getAlertStateStyles);
74
- if (!plugin) {
75
- return /* @__PURE__ */ React.createElement("div", null, "Loading plugin panel...");
76
- }
77
- if (!plugin.panel) {
78
- return /* @__PURE__ */ React.createElement("div", null, "Panel plugin has no panel component");
79
- }
80
- const PanelComponent = plugin.panel;
81
- if (dataObject && dataObject.setContainerWidth) {
82
- dataObject.setContainerWidth(Math.round(width));
83
- }
84
- let titleItemsElement = [];
85
- if (titleItems) {
86
- if (Array.isArray(titleItems)) {
87
- titleItemsElement = titleItemsElement.concat(
88
- titleItems.map((titleItem) => {
89
- return /* @__PURE__ */ React.createElement(titleItem.Component, {
90
- model: titleItem,
91
- key: `${titleItem.state.key}`
92
- });
93
- })
94
- );
95
- } else if (isSceneObject(titleItems)) {
96
- titleItemsElement.push(/* @__PURE__ */ React.createElement(titleItems.Component, {
97
- model: titleItems
98
- }));
99
- } else {
100
- titleItemsElement.push(titleItems);
101
- }
102
- }
103
- if (seriesLimit) {
104
- titleItemsElement.push(
105
- /* @__PURE__ */ React.createElement(VizPanelSeriesLimit, {
106
- key: "series-limit",
107
- data: rawData.data,
108
- seriesLimit,
109
- showAll: seriesLimitShowAll,
110
- onShowAllSeries: () => model.setState({ seriesLimitShowAll: !seriesLimitShowAll })
111
- })
112
- );
113
- }
114
- if (model.state.$timeRange) {
115
- titleItemsElement.push(/* @__PURE__ */ React.createElement(model.state.$timeRange.Component, {
116
- model: model.state.$timeRange,
117
- key: model.state.key
118
- }));
119
- }
120
- if (dataWithFieldConfig.alertState) {
121
- titleItemsElement.push(
122
- /* @__PURE__ */ React.createElement(Tooltip, {
123
- content: (_a = dataWithFieldConfig.alertState.state) != null ? _a : "unknown",
124
- key: `alert-states-icon-${model.state.key}`
125
- }, /* @__PURE__ */ React.createElement(PanelChrome.TitleItem, {
126
- className: cx({
127
- [alertStateStyles.ok]: dataWithFieldConfig.alertState.state === AlertState.OK,
128
- [alertStateStyles.pending]: dataWithFieldConfig.alertState.state === AlertState.Pending,
129
- [alertStateStyles.alerting]: dataWithFieldConfig.alertState.state === AlertState.Alerting
130
- })
131
- }, /* @__PURE__ */ React.createElement(Icon, {
132
- name: dataWithFieldConfig.alertState.state === "alerting" ? "heart-break" : "heart",
133
- className: "panel-alert-icon",
134
- size: "md"
135
- })))
136
- );
137
- }
138
- let panelMenu;
139
- if (menu) {
140
- panelMenu = /* @__PURE__ */ React.createElement(menu.Component, {
141
- model: menu
142
- });
143
- }
144
- let actionsElement;
145
- if (headerActions) {
146
- if (Array.isArray(headerActions)) {
147
- actionsElement = /* @__PURE__ */ React.createElement(React.Fragment, null, headerActions.map((action) => {
148
- return /* @__PURE__ */ React.createElement(action.Component, {
149
- model: action,
150
- key: `${action.state.key}`
151
- });
152
- }));
153
- } else if (isSceneObject(headerActions)) {
154
- actionsElement = /* @__PURE__ */ React.createElement(headerActions.Component, {
155
- model: headerActions
156
- });
157
- } else {
158
- actionsElement = headerActions;
159
- }
160
- }
161
- const data = dataWithFieldConfig;
162
- const isReadyToRender = dataObject.isDataReadyToDisplay ? dataObject.isDataReadyToDisplay() : true;
163
- const context = model.getPanelContext();
164
- const panelId = model.getLegacyPanelId();
165
- return /* @__PURE__ */ React.createElement("div", {
166
- className: relativeWrapper
167
- }, /* @__PURE__ */ React.createElement("div", {
168
- ref,
169
- className: absoluteWrapper,
170
- "data-viz-panel-key": model.state.key
171
- }, width > 0 && height > 0 && /* @__PURE__ */ React.createElement(PanelChrome, {
172
- title: titleInterpolated,
173
- description: (description == null ? void 0 : description.trim()) ? model.getDescription : void 0,
174
- loadingState: data.state,
175
- statusMessage: getChromeStatusMessage(data, _pluginLoadError),
176
- statusMessageOnClick: model.onStatusMessageClick,
177
- width,
178
- height,
179
- displayMode,
180
- showMenuAlways,
181
- hoverHeader,
182
- hoverHeaderOffset,
183
- titleItems: titleItemsElement,
184
- dragClass,
185
- actions: actionsElement,
186
- dragClassCancel,
187
- padding: plugin.noPadding ? "none" : "md",
188
- menu: panelMenu,
189
- onCancelQuery: model.onCancelQuery,
190
- onFocus: setPanelAttention,
191
- onMouseEnter: setPanelAttention,
192
- onMouseMove: debouncedMouseMove,
193
- collapsible,
194
- collapsed,
195
- onToggleCollapse: model.onToggleCollapse
196
- }, (innerWidth, innerHeight) => /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(ErrorBoundaryAlert, {
197
- dependencies: [plugin, data]
198
- }, /* @__PURE__ */ React.createElement(PluginContextProvider, {
199
- meta: plugin.meta
200
- }, /* @__PURE__ */ React.createElement(PanelContextProvider, {
201
- value: context
202
- }, isReadyToRender && /* @__PURE__ */ React.createElement(PanelComponent, {
203
- id: panelId,
204
- data,
205
- title,
206
- timeRange,
207
- timeZone,
208
- options,
209
- fieldConfig,
210
- transparent: false,
211
- width: innerWidth,
212
- height: innerHeight,
213
- renderCounter: _renderCounter,
214
- replaceVariables: model.interpolate,
215
- onOptionsChange: model.onOptionsChange,
216
- onFieldConfigChange: model.onFieldConfigChange,
217
- onChangeTimeRange: model.onTimeRangeChange,
218
- eventBus: context.eventBus
219
- }))))))));
220
- }
221
- function useDataWithSeriesLimit(data, seriesLimit, showAllSeries) {
222
- return useMemo(() => {
223
- if (!(data == null ? void 0 : data.series) || !seriesLimit || showAllSeries) {
224
- return data;
225
- }
226
- return __spreadProps(__spreadValues({}, data), {
227
- series: data.series.slice(0, seriesLimit)
228
- });
229
- }, [data, seriesLimit, showAllSeries]);
230
- }
231
- function getDragClasses(panel) {
232
- var _a, _b;
233
- const parentLayout = sceneGraph.getLayout(panel);
234
- const isDraggable = parentLayout == null ? void 0 : parentLayout.isDraggable();
235
- if (!parentLayout || !isDraggable || itemDraggingDisabled(panel, parentLayout)) {
236
- return { dragClass: "", dragClassCancel: "" };
237
- }
238
- return { dragClass: (_a = parentLayout.getDragClass) == null ? void 0 : _a.call(parentLayout), dragClassCancel: (_b = parentLayout == null ? void 0 : parentLayout.getDragClassCancel) == null ? void 0 : _b.call(parentLayout) };
239
- }
240
- function itemDraggingDisabled(item, layout) {
241
- let ancestor = item.parent;
242
- while (ancestor && ancestor !== layout) {
243
- if ("isDraggable" in ancestor.state && ancestor.state.isDraggable === false) {
244
- return true;
245
- }
246
- ancestor = ancestor.parent;
247
- }
248
- return false;
249
- }
250
- function getChromeStatusMessage(data, pluginLoadingError) {
251
- if (pluginLoadingError) {
252
- return pluginLoadingError;
253
- }
254
- let message = data.error ? data.error.message : void 0;
255
- if (data.errors) {
256
- message = data.errors.map((e) => e.message).join(", ");
257
- }
258
- return message;
259
- }
260
- const relativeWrapper = css({
261
- position: "relative",
262
- width: "100%",
263
- height: "100%"
264
- });
265
- const absoluteWrapper = css({
266
- position: "absolute",
267
- width: "100%",
268
- height: "100%"
269
- });
270
- const getAlertStateStyles = (theme) => {
271
- return {
272
- ok: css({
273
- color: theme.colors.success.text
274
- }),
275
- pending: css({
276
- color: theme.colors.warning.text
277
- }),
278
- alerting: css({
279
- color: theme.colors.error.text
280
- })
281
- };
282
- };
283
-
284
- export { VizPanelRenderer };
285
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVml6UGFuZWxSZW5kZXJlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29tcG9uZW50cy9WaXpQYW5lbC9WaXpQYW5lbFJlbmRlcmVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VNZW1vLCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZU1lYXN1cmUgfSBmcm9tICdyZWFjdC11c2UnO1xuaW1wb3J0IHsgU2V0UGFuZWxBdHRlbnRpb25FdmVudCwgQWxlcnRTdGF0ZSwgUGx1Z2luQ29udGV4dFByb3ZpZGVyIH0gZnJvbSAnQGdyYWZhbmEvZGF0YSc7XG5pbXBvcnQgeyBnZXRBcHBFdmVudHMgfSBmcm9tICdAZ3JhZmFuYS9ydW50aW1lJztcbmltcG9ydCB7IHVzZVN0eWxlczIsIFRvb2x0aXAsIFBhbmVsQ2hyb21lLCBJY29uLCBFcnJvckJvdW5kYXJ5QWxlcnQsIFBhbmVsQ29udGV4dFByb3ZpZGVyIH0gZnJvbSAnQGdyYWZhbmEvdWknO1xuaW1wb3J0IHsgc2NlbmVHcmFwaCB9IGZyb20gJy4uLy4uL2NvcmUvc2NlbmVHcmFwaC9pbmRleC5qcyc7XG5pbXBvcnQgeyBpc1NjZW5lT2JqZWN0IH0gZnJvbSAnLi4vLi4vY29yZS90eXBlcy5qcyc7XG5pbXBvcnQgeyBjc3MsIGN4IH0gZnJvbSAnQGVtb3Rpb24vY3NzJztcbmltcG9ydCB7IGRlYm91bmNlIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFZpelBhbmVsU2VyaWVzTGltaXQgfSBmcm9tICcuL1ZpelBhbmVsU2VyaWVzTGltaXQuanMnO1xuXG52YXIgX19kZWZQcm9wID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xudmFyIF9fZGVmUHJvcHMgPSBPYmplY3QuZGVmaW5lUHJvcGVydGllcztcbnZhciBfX2dldE93blByb3BEZXNjcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzO1xudmFyIF9fZ2V0T3duUHJvcFN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzO1xudmFyIF9faGFzT3duUHJvcCA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgX19wcm9wSXNFbnVtID0gT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZTtcbnZhciBfX2RlZk5vcm1hbFByb3AgPSAob2JqLCBrZXksIHZhbHVlKSA9PiBrZXkgaW4gb2JqID8gX19kZWZQcm9wKG9iaiwga2V5LCB7IGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUsIHZhbHVlIH0pIDogb2JqW2tleV0gPSB2YWx1ZTtcbnZhciBfX3NwcmVhZFZhbHVlcyA9IChhLCBiKSA9PiB7XG4gIGZvciAodmFyIHByb3AgaW4gYiB8fCAoYiA9IHt9KSlcbiAgICBpZiAoX19oYXNPd25Qcm9wLmNhbGwoYiwgcHJvcCkpXG4gICAgICBfX2RlZk5vcm1hbFByb3AoYSwgcHJvcCwgYltwcm9wXSk7XG4gIGlmIChfX2dldE93blByb3BTeW1ib2xzKVxuICAgIGZvciAodmFyIHByb3Agb2YgX19nZXRPd25Qcm9wU3ltYm9scyhiKSkge1xuICAgICAgaWYgKF9fcHJvcElzRW51bS5jYWxsKGIsIHByb3ApKVxuICAgICAgICBfX2RlZk5vcm1hbFByb3AoYSwgcHJvcCwgYltwcm9wXSk7XG4gICAgfVxuICByZXR1cm4gYTtcbn07XG52YXIgX19zcHJlYWRQcm9wcyA9IChhLCBiKSA9PiBfX2RlZlByb3BzKGEsIF9fZ2V0T3duUHJvcERlc2NzKGIpKTtcbmZ1bmN0aW9uIFZpelBhbmVsUmVuZGVyZXIoeyBtb2RlbCB9KSB7XG4gIHZhciBfYTtcbiAgY29uc3Qge1xuICAgIHRpdGxlLFxuICAgIG9wdGlvbnMsXG4gICAgZmllbGRDb25maWcsXG4gICAgX3BsdWdpbkxvYWRFcnJvcixcbiAgICBkaXNwbGF5TW9kZSxcbiAgICBob3ZlckhlYWRlcixcbiAgICBzaG93TWVudUFsd2F5cyxcbiAgICBob3ZlckhlYWRlck9mZnNldCxcbiAgICBtZW51LFxuICAgIGhlYWRlckFjdGlvbnMsXG4gICAgdGl0bGVJdGVtcyxcbiAgICBzZXJpZXNMaW1pdCxcbiAgICBzZXJpZXNMaW1pdFNob3dBbGwsXG4gICAgZGVzY3JpcHRpb24sXG4gICAgY29sbGFwc2libGUsXG4gICAgY29sbGFwc2VkLFxuICAgIF9yZW5kZXJDb3VudGVyID0gMFxuICB9ID0gbW9kZWwudXNlU3RhdGUoKTtcbiAgY29uc3QgW3JlZiwgeyB3aWR0aCwgaGVpZ2h0IH1dID0gdXNlTWVhc3VyZSgpO1xuICBjb25zdCBhcHBFdmVudHMgPSB1c2VNZW1vKCgpID0+IGdldEFwcEV2ZW50cygpLCBbXSk7XG4gIGNvbnN0IHNldFBhbmVsQXR0ZW50aW9uID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChtb2RlbC5zdGF0ZS5rZXkpIHtcbiAgICAgIGFwcEV2ZW50cy5wdWJsaXNoKG5ldyBTZXRQYW5lbEF0dGVudGlvbkV2ZW50KHsgcGFuZWxJZDogbW9kZWwuc3RhdGUua2V5IH0pKTtcbiAgICB9XG4gIH0sIFttb2RlbC5zdGF0ZS5rZXksIGFwcEV2ZW50c10pO1xuICBjb25zdCBkZWJvdW5jZWRNb3VzZU1vdmUgPSB1c2VNZW1vKFxuICAgICgpID0+IGRlYm91bmNlKHNldFBhbmVsQXR0ZW50aW9uLCAxMDAsIHsgbGVhZGluZzogdHJ1ZSwgdHJhaWxpbmc6IGZhbHNlIH0pLFxuICAgIFtzZXRQYW5lbEF0dGVudGlvbl1cbiAgKTtcbiAgY29uc3QgcGx1Z2luID0gbW9kZWwuZ2V0UGx1Z2luKCk7XG4gIGNvbnN0IHsgZHJhZ0NsYXNzLCBkcmFnQ2xhc3NDYW5jZWwgfSA9IGdldERyYWdDbGFzc2VzKG1vZGVsKTtcbiAgY29uc3QgZGF0YU9iamVjdCA9IHNjZW5lR3JhcGguZ2V0RGF0YShtb2RlbCk7XG4gIGNvbnN0IHJhd0RhdGEgPSBkYXRhT2JqZWN0LnVzZVN0YXRlKCk7XG4gIGNvbnN0IGRhdGFXaXRoU2VyaWVzTGltaXQgPSB1c2VEYXRhV2l0aFNlcmllc0xpbWl0KHJhd0RhdGEuZGF0YSwgc2VyaWVzTGltaXQsIHNlcmllc0xpbWl0U2hvd0FsbCk7XG4gIGNvbnN0IGRhdGFXaXRoRmllbGRDb25maWcgPSBtb2RlbC5hcHBseUZpZWxkQ29uZmlnKGRhdGFXaXRoU2VyaWVzTGltaXQpO1xuICBjb25zdCBzY2VuZVRpbWVSYW5nZSA9IHNjZW5lR3JhcGguZ2V0VGltZVJhbmdlKG1vZGVsKTtcbiAgY29uc3QgdGltZVpvbmUgPSBzY2VuZVRpbWVSYW5nZS5nZXRUaW1lWm9uZSgpO1xuICBjb25zdCB0aW1lUmFuZ2UgPSBtb2RlbC5nZXRUaW1lUmFuZ2UoZGF0YVdpdGhGaWVsZENvbmZpZyk7XG4gIGNvbnN0IHRpdGxlSW50ZXJwb2xhdGVkID0gbW9kZWwuaW50ZXJwb2xhdGUodGl0bGUsIHZvaWQgMCwgXCJ0ZXh0XCIpO1xuICBjb25zdCBhbGVydFN0YXRlU3R5bGVzID0gdXNlU3R5bGVzMihnZXRBbGVydFN0YXRlU3R5bGVzKTtcbiAgaWYgKCFwbHVnaW4pIHtcbiAgICByZXR1cm4gLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgbnVsbCwgXCJMb2FkaW5nIHBsdWdpbiBwYW5lbC4uLlwiKTtcbiAgfVxuICBpZiAoIXBsdWdpbi5wYW5lbCkge1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCBudWxsLCBcIlBhbmVsIHBsdWdpbiBoYXMgbm8gcGFuZWwgY29tcG9uZW50XCIpO1xuICB9XG4gIGNvbnN0IFBhbmVsQ29tcG9uZW50ID0gcGx1Z2luLnBhbmVsO1xuICBpZiAoZGF0YU9iamVjdCAmJiBkYXRhT2JqZWN0LnNldENvbnRhaW5lcldpZHRoKSB7XG4gICAgZGF0YU9iamVjdC5zZXRDb250YWluZXJXaWR0aChNYXRoLnJvdW5kKHdpZHRoKSk7XG4gIH1cbiAgbGV0IHRpdGxlSXRlbXNFbGVtZW50ID0gW107XG4gIGlmICh0aXRsZUl0ZW1zKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGl0bGVJdGVtcykpIHtcbiAgICAgIHRpdGxlSXRlbXNFbGVtZW50ID0gdGl0bGVJdGVtc0VsZW1lbnQuY29uY2F0KFxuICAgICAgICB0aXRsZUl0ZW1zLm1hcCgodGl0bGVJdGVtKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdC5jcmVhdGVFbGVtZW50KHRpdGxlSXRlbS5Db21wb25lbnQsIHtcbiAgICAgICAgICAgIG1vZGVsOiB0aXRsZUl0ZW0sXG4gICAgICAgICAgICBrZXk6IGAke3RpdGxlSXRlbS5zdGF0ZS5rZXl9YFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGlzU2NlbmVPYmplY3QodGl0bGVJdGVtcykpIHtcbiAgICAgIHRpdGxlSXRlbXNFbGVtZW50LnB1c2goLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQodGl0bGVJdGVtcy5Db21wb25lbnQsIHtcbiAgICAgICAgbW9kZWw6IHRpdGxlSXRlbXNcbiAgICAgIH0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGl0bGVJdGVtc0VsZW1lbnQucHVzaCh0aXRsZUl0ZW1zKTtcbiAgICB9XG4gIH1cbiAgaWYgKHNlcmllc0xpbWl0KSB7XG4gICAgdGl0bGVJdGVtc0VsZW1lbnQucHVzaChcbiAgICAgIC8qIEBfX1BVUkVfXyAqLyBSZWFjdC5jcmVhdGVFbGVtZW50KFZpelBhbmVsU2VyaWVzTGltaXQsIHtcbiAgICAgICAga2V5OiBcInNlcmllcy1saW1pdFwiLFxuICAgICAgICBkYXRhOiByYXdEYXRhLmRhdGEsXG4gICAgICAgIHNlcmllc0xpbWl0LFxuICAgICAgICBzaG93QWxsOiBzZXJpZXNMaW1pdFNob3dBbGwsXG4gICAgICAgIG9uU2hvd0FsbFNlcmllczogKCkgPT4gbW9kZWwuc2V0U3RhdGUoeyBzZXJpZXNMaW1pdFNob3dBbGw6ICFzZXJpZXNMaW1pdFNob3dBbGwgfSlcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuICBpZiAobW9kZWwuc3RhdGUuJHRpbWVSYW5nZSkge1xuICAgIHRpdGxlSXRlbXNFbGVtZW50LnB1c2goLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQobW9kZWwuc3RhdGUuJHRpbWVSYW5nZS5Db21wb25lbnQsIHtcbiAgICAgIG1vZGVsOiBtb2RlbC5zdGF0ZS4kdGltZVJhbmdlLFxuICAgICAga2V5OiBtb2RlbC5zdGF0ZS5rZXlcbiAgICB9KSk7XG4gIH1cbiAgaWYgKGRhdGFXaXRoRmllbGRDb25maWcuYWxlcnRTdGF0ZSkge1xuICAgIHRpdGxlSXRlbXNFbGVtZW50LnB1c2goXG4gICAgICAvKiBAX19QVVJFX18gKi8gUmVhY3QuY3JlYXRlRWxlbWVudChUb29sdGlwLCB7XG4gICAgICAgIGNvbnRlbnQ6IChfYSA9IGRhdGFXaXRoRmllbGRDb25maWcuYWxlcnRTdGF0ZS5zdGF0ZSkgIT0gbnVsbCA/IF9hIDogXCJ1bmtub3duXCIsXG4gICAgICAgIGtleTogYGFsZXJ0LXN0YXRlcy1pY29uLSR7bW9kZWwuc3RhdGUua2V5fWBcbiAgICAgIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdC5jcmVhdGVFbGVtZW50KFBhbmVsQ2hyb21lLlRpdGxlSXRlbSwge1xuICAgICAgICBjbGFzc05hbWU6IGN4KHtcbiAgICAgICAgICBbYWxlcnRTdGF0ZVN0eWxlcy5va106IGRhdGFXaXRoRmllbGRDb25maWcuYWxlcnRTdGF0ZS5zdGF0ZSA9PT0gQWxlcnRTdGF0ZS5PSyxcbiAgICAgICAgICBbYWxlcnRTdGF0ZVN0eWxlcy5wZW5kaW5nXTogZGF0YVdpdGhGaWVsZENvbmZpZy5hbGVydFN0YXRlLnN0YXRlID09PSBBbGVydFN0YXRlLlBlbmRpbmcsXG4gICAgICAgICAgW2FsZXJ0U3RhdGVTdHlsZXMuYWxlcnRpbmddOiBkYXRhV2l0aEZpZWxkQ29uZmlnLmFsZXJ0U3RhdGUuc3RhdGUgPT09IEFsZXJ0U3RhdGUuQWxlcnRpbmdcbiAgICAgICAgfSlcbiAgICAgIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdC5jcmVhdGVFbGVtZW50KEljb24sIHtcbiAgICAgICAgbmFtZTogZGF0YVdpdGhGaWVsZENvbmZpZy5hbGVydFN0YXRlLnN0YXRlID09PSBcImFsZXJ0aW5nXCIgPyBcImhlYXJ0LWJyZWFrXCIgOiBcImhlYXJ0XCIsXG4gICAgICAgIGNsYXNzTmFtZTogXCJwYW5lbC1hbGVydC1pY29uXCIsXG4gICAgICAgIHNpemU6IFwibWRcIlxuICAgICAgfSkpKVxuICAgICk7XG4gIH1cbiAgbGV0IHBhbmVsTWVudTtcbiAgaWYgKG1lbnUpIHtcbiAgICBwYW5lbE1lbnUgPSAvKiBAX19QVVJFX18gKi8gUmVhY3QuY3JlYXRlRWxlbWVudChtZW51LkNvbXBvbmVudCwge1xuICAgICAgbW9kZWw6IG1lbnVcbiAgICB9KTtcbiAgfVxuICBsZXQgYWN0aW9uc0VsZW1lbnQ7XG4gIGlmIChoZWFkZXJBY3Rpb25zKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoaGVhZGVyQWN0aW9ucykpIHtcbiAgICAgIGFjdGlvbnNFbGVtZW50ID0gLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVhY3QuRnJhZ21lbnQsIG51bGwsIGhlYWRlckFjdGlvbnMubWFwKChhY3Rpb24pID0+IHtcbiAgICAgICAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdC5jcmVhdGVFbGVtZW50KGFjdGlvbi5Db21wb25lbnQsIHtcbiAgICAgICAgICBtb2RlbDogYWN0aW9uLFxuICAgICAgICAgIGtleTogYCR7YWN0aW9uLnN0YXRlLmtleX1gXG4gICAgICAgIH0pO1xuICAgICAgfSkpO1xuICAgIH0gZWxzZSBpZiAoaXNTY2VuZU9iamVjdChoZWFkZXJBY3Rpb25zKSkge1xuICAgICAgYWN0aW9uc0VsZW1lbnQgPSAvKiBAX19QVVJFX18gKi8gUmVhY3QuY3JlYXRlRWxlbWVudChoZWFkZXJBY3Rpb25zLkNvbXBvbmVudCwge1xuICAgICAgICBtb2RlbDogaGVhZGVyQWN0aW9uc1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFjdGlvbnNFbGVtZW50ID0gaGVhZGVyQWN0aW9ucztcbiAgICB9XG4gIH1cbiAgY29uc3QgZGF0YSA9IGRhdGFXaXRoRmllbGRDb25maWc7XG4gIGNvbnN0IGlzUmVhZHlUb1JlbmRlciA9IGRhdGFPYmplY3QuaXNEYXRhUmVhZHlUb0Rpc3BsYXkgPyBkYXRhT2JqZWN0LmlzRGF0YVJlYWR5VG9EaXNwbGF5KCkgOiB0cnVlO1xuICBjb25zdCBjb250ZXh0ID0gbW9kZWwuZ2V0UGFuZWxDb250ZXh0KCk7XG4gIGNvbnN0IHBhbmVsSWQgPSBtb2RlbC5nZXRMZWdhY3lQYW5lbElkKCk7XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgY2xhc3NOYW1lOiByZWxhdGl2ZVdyYXBwZXJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xuICAgIHJlZixcbiAgICBjbGFzc05hbWU6IGFic29sdXRlV3JhcHBlcixcbiAgICBcImRhdGEtdml6LXBhbmVsLWtleVwiOiBtb2RlbC5zdGF0ZS5rZXlcbiAgfSwgd2lkdGggPiAwICYmIGhlaWdodCA+IDAgJiYgLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFuZWxDaHJvbWUsIHtcbiAgICB0aXRsZTogdGl0bGVJbnRlcnBvbGF0ZWQsXG4gICAgZGVzY3JpcHRpb246IChkZXNjcmlwdGlvbiA9PSBudWxsID8gdm9pZCAwIDogZGVzY3JpcHRpb24udHJpbSgpKSA/IG1vZGVsLmdldERlc2NyaXB0aW9uIDogdm9pZCAwLFxuICAgIGxvYWRpbmdTdGF0ZTogZGF0YS5zdGF0ZSxcbiAgICBzdGF0dXNNZXNzYWdlOiBnZXRDaHJvbWVTdGF0dXNNZXNzYWdlKGRhdGEsIF9wbHVnaW5Mb2FkRXJyb3IpLFxuICAgIHN0YXR1c01lc3NhZ2VPbkNsaWNrOiBtb2RlbC5vblN0YXR1c01lc3NhZ2VDbGljayxcbiAgICB3aWR0aCxcbiAgICBoZWlnaHQsXG4gICAgZGlzcGxheU1vZGUsXG4gICAgc2hvd01lbnVBbHdheXMsXG4gICAgaG92ZXJIZWFkZXIsXG4gICAgaG92ZXJIZWFkZXJPZmZzZXQsXG4gICAgdGl0bGVJdGVtczogdGl0bGVJdGVtc0VsZW1lbnQsXG4gICAgZHJhZ0NsYXNzLFxuICAgIGFjdGlvbnM6IGFjdGlvbnNFbGVtZW50LFxuICAgIGRyYWdDbGFzc0NhbmNlbCxcbiAgICBwYWRkaW5nOiBwbHVnaW4ubm9QYWRkaW5nID8gXCJub25lXCIgOiBcIm1kXCIsXG4gICAgbWVudTogcGFuZWxNZW51LFxuICAgIG9uQ2FuY2VsUXVlcnk6IG1vZGVsLm9uQ2FuY2VsUXVlcnksXG4gICAgb25Gb2N1czogc2V0UGFuZWxBdHRlbnRpb24sXG4gICAgb25Nb3VzZUVudGVyOiBzZXRQYW5lbEF0dGVudGlvbixcbiAgICBvbk1vdXNlTW92ZTogZGVib3VuY2VkTW91c2VNb3ZlLFxuICAgIGNvbGxhcHNpYmxlLFxuICAgIGNvbGxhcHNlZCxcbiAgICBvblRvZ2dsZUNvbGxhcHNlOiBtb2RlbC5vblRvZ2dsZUNvbGxhcHNlXG4gIH0sIChpbm5lcldpZHRoLCBpbm5lckhlaWdodCkgPT4gLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVhY3QuRnJhZ21lbnQsIG51bGwsIC8qIEBfX1BVUkVfXyAqLyBSZWFjdC5jcmVhdGVFbGVtZW50KEVycm9yQm91bmRhcnlBbGVydCwge1xuICAgIGRlcGVuZGVuY2llczogW3BsdWdpbiwgZGF0YV1cbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGx1Z2luQ29udGV4dFByb3ZpZGVyLCB7XG4gICAgbWV0YTogcGx1Z2luLm1ldGFcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFuZWxDb250ZXh0UHJvdmlkZXIsIHtcbiAgICB2YWx1ZTogY29udGV4dFxuICB9LCBpc1JlYWR5VG9SZW5kZXIgJiYgLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoUGFuZWxDb21wb25lbnQsIHtcbiAgICBpZDogcGFuZWxJZCxcbiAgICBkYXRhLFxuICAgIHRpdGxlLFxuICAgIHRpbWVSYW5nZSxcbiAgICB0aW1lWm9uZSxcbiAgICBvcHRpb25zLFxuICAgIGZpZWxkQ29uZmlnLFxuICAgIHRyYW5zcGFyZW50OiBmYWxzZSxcbiAgICB3aWR0aDogaW5uZXJXaWR0aCxcbiAgICBoZWlnaHQ6IGlubmVySGVpZ2h0LFxuICAgIHJlbmRlckNvdW50ZXI6IF9yZW5kZXJDb3VudGVyLFxuICAgIHJlcGxhY2VWYXJpYWJsZXM6IG1vZGVsLmludGVycG9sYXRlLFxuICAgIG9uT3B0aW9uc0NoYW5nZTogbW9kZWwub25PcHRpb25zQ2hhbmdlLFxuICAgIG9uRmllbGRDb25maWdDaGFuZ2U6IG1vZGVsLm9uRmllbGRDb25maWdDaGFuZ2UsXG4gICAgb25DaGFuZ2VUaW1lUmFuZ2U6IG1vZGVsLm9uVGltZVJhbmdlQ2hhbmdlLFxuICAgIGV2ZW50QnVzOiBjb250ZXh0LmV2ZW50QnVzXG4gIH0pKSkpKSkpKTtcbn1cbmZ1bmN0aW9uIHVzZURhdGFXaXRoU2VyaWVzTGltaXQoZGF0YSwgc2VyaWVzTGltaXQsIHNob3dBbGxTZXJpZXMpIHtcbiAgcmV0dXJuIHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghKGRhdGEgPT0gbnVsbCA/IHZvaWQgMCA6IGRhdGEuc2VyaWVzKSB8fCAhc2VyaWVzTGltaXQgfHwgc2hvd0FsbFNlcmllcykge1xuICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuICAgIHJldHVybiBfX3NwcmVhZFByb3BzKF9fc3ByZWFkVmFsdWVzKHt9LCBkYXRhKSwge1xuICAgICAgc2VyaWVzOiBkYXRhLnNlcmllcy5zbGljZSgwLCBzZXJpZXNMaW1pdClcbiAgICB9KTtcbiAgfSwgW2RhdGEsIHNlcmllc0xpbWl0LCBzaG93QWxsU2VyaWVzXSk7XG59XG5mdW5jdGlvbiBnZXREcmFnQ2xhc3NlcyhwYW5lbCkge1xuICB2YXIgX2EsIF9iO1xuICBjb25zdCBwYXJlbnRMYXlvdXQgPSBzY2VuZUdyYXBoLmdldExheW91dChwYW5lbCk7XG4gIGNvbnN0IGlzRHJhZ2dhYmxlID0gcGFyZW50TGF5b3V0ID09IG51bGwgPyB2b2lkIDAgOiBwYXJlbnRMYXlvdXQuaXNEcmFnZ2FibGUoKTtcbiAgaWYgKCFwYXJlbnRMYXlvdXQgfHwgIWlzRHJhZ2dhYmxlIHx8IGl0ZW1EcmFnZ2luZ0Rpc2FibGVkKHBhbmVsLCBwYXJlbnRMYXlvdXQpKSB7XG4gICAgcmV0dXJuIHsgZHJhZ0NsYXNzOiBcIlwiLCBkcmFnQ2xhc3NDYW5jZWw6IFwiXCIgfTtcbiAgfVxuICByZXR1cm4geyBkcmFnQ2xhc3M6IChfYSA9IHBhcmVudExheW91dC5nZXREcmFnQ2xhc3MpID09IG51bGwgPyB2b2lkIDAgOiBfYS5jYWxsKHBhcmVudExheW91dCksIGRyYWdDbGFzc0NhbmNlbDogKF9iID0gcGFyZW50TGF5b3V0ID09IG51bGwgPyB2b2lkIDAgOiBwYXJlbnRMYXlvdXQuZ2V0RHJhZ0NsYXNzQ2FuY2VsKSA9PSBudWxsID8gdm9pZCAwIDogX2IuY2FsbChwYXJlbnRMYXlvdXQpIH07XG59XG5mdW5jdGlvbiBpdGVtRHJhZ2dpbmdEaXNhYmxlZChpdGVtLCBsYXlvdXQpIHtcbiAgbGV0IGFuY2VzdG9yID0gaXRlbS5wYXJlbnQ7XG4gIHdoaWxlIChhbmNlc3RvciAmJiBhbmNlc3RvciAhPT0gbGF5b3V0KSB7XG4gICAgaWYgKFwiaXNEcmFnZ2FibGVcIiBpbiBhbmNlc3Rvci5zdGF0ZSAmJiBhbmNlc3Rvci5zdGF0ZS5pc0RyYWdnYWJsZSA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBhbmNlc3RvciA9IGFuY2VzdG9yLnBhcmVudDtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiBnZXRDaHJvbWVTdGF0dXNNZXNzYWdlKGRhdGEsIHBsdWdpbkxvYWRpbmdFcnJvcikge1xuICBpZiAocGx1Z2luTG9hZGluZ0Vycm9yKSB7XG4gICAgcmV0dXJuIHBsdWdpbkxvYWRpbmdFcnJvcjtcbiAgfVxuICBsZXQgbWVzc2FnZSA9IGRhdGEuZXJyb3IgPyBkYXRhLmVycm9yLm1lc3NhZ2UgOiB2b2lkIDA7XG4gIGlmIChkYXRhLmVycm9ycykge1xuICAgIG1lc3NhZ2UgPSBkYXRhLmVycm9ycy5tYXAoKGUpID0+IGUubWVzc2FnZSkuam9pbihcIiwgXCIpO1xuICB9XG4gIHJldHVybiBtZXNzYWdlO1xufVxuY29uc3QgcmVsYXRpdmVXcmFwcGVyID0gY3NzKHtcbiAgcG9zaXRpb246IFwicmVsYXRpdmVcIixcbiAgd2lkdGg6IFwiMTAwJVwiLFxuICBoZWlnaHQ6IFwiMTAwJVwiXG59KTtcbmNvbnN0IGFic29sdXRlV3JhcHBlciA9IGNzcyh7XG4gIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gIHdpZHRoOiBcIjEwMCVcIixcbiAgaGVpZ2h0OiBcIjEwMCVcIlxufSk7XG5jb25zdCBnZXRBbGVydFN0YXRlU3R5bGVzID0gKHRoZW1lKSA9PiB7XG4gIHJldHVybiB7XG4gICAgb2s6IGNzcyh7XG4gICAgICBjb2xvcjogdGhlbWUuY29sb3JzLnN1Y2Nlc3MudGV4dFxuICAgIH0pLFxuICAgIHBlbmRpbmc6IGNzcyh7XG4gICAgICBjb2xvcjogdGhlbWUuY29sb3JzLndhcm5pbmcudGV4dFxuICAgIH0pLFxuICAgIGFsZXJ0aW5nOiBjc3Moe1xuICAgICAgY29sb3I6IHRoZW1lLmNvbG9ycy5lcnJvci50ZXh0XG4gICAgfSlcbiAgfTtcbn07XG5cbmV4cG9ydCB7IFZpelBhbmVsUmVuZGVyZXIgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pVm1sNlVHRnVaV3hTWlc1a1pYSmxjaTVxY3lJc0luTnZkWEpqWlhNaU9sc2lMaTR2TGk0dkxpNHZMaTR2YzNKakwyTnZiWEJ2Ym1WdWRITXZWbWw2VUdGdVpXd3ZWbWw2VUdGdVpXeFNaVzVrWlhKbGNpNTBjM2dpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUZKbFlXTjBMQ0I3SUZKbFprTmhiR3hpWVdOckxDQjFjMlZEWVd4c1ltRmpheXdnZFhObFRXVnRieUI5SUdaeWIyMGdKM0psWVdOMEp6dGNibWx0Y0c5eWRDQjdJSFZ6WlUxbFlYTjFjbVVnZlNCbWNtOXRJQ2R5WldGamRDMTFjMlVuTzF4dVhHNHZMeUJBZEhNdGFXZHViM0psWEc1cGJYQnZjblFnZXlCQmJHVnlkRk4wWVhSbExDQkhjbUZtWVc1aFZHaGxiV1V5TENCUVlXNWxiRVJoZEdFc0lGQnNkV2RwYmtOdmJuUmxlSFJRY205MmFXUmxjaXdnVTJWMFVHRnVaV3hCZEhSbGJuUnBiMjVGZG1WdWRDQjlJR1p5YjIwZ0owQm5jbUZtWVc1aEwyUmhkR0VuTzF4dVhHNXBiWEJ2Y25RZ2V5Qm5aWFJCY0hCRmRtVnVkSE1nZlNCbWNtOXRJQ2RBWjNKaFptRnVZUzl5ZFc1MGFXMWxKenRjYm1sdGNHOXlkQ0I3SUZCaGJtVnNRMmh5YjIxbExDQkZjbkp2Y2tKdmRXNWtZWEo1UVd4bGNuUXNJRkJoYm1Wc1EyOXVkR1Y0ZEZCeWIzWnBaR1Z5TENCVWIyOXNkR2x3TENCMWMyVlRkSGxzWlhNeUxDQkpZMjl1SUgwZ1puSnZiU0FuUUdkeVlXWmhibUV2ZFdrbk8xeHVYRzVwYlhCdmNuUWdleUJ6WTJWdVpVZHlZWEJvSUgwZ1puSnZiU0FuTGk0dkxpNHZZMjl5WlM5elkyVnVaVWR5WVhCb0p6dGNibWx0Y0c5eWRDQjdJR2x6VTJObGJtVlBZbXBsWTNRc0lGTmpaVzVsUTI5dGNHOXVaVzUwVUhKdmNITXNJRk5qWlc1bFRHRjViM1YwTENCVFkyVnVaVTlpYW1WamRDQjlJR1p5YjIwZ0p5NHVMeTR1TDJOdmNtVXZkSGx3WlhNbk8xeHVYRzVwYlhCdmNuUWdleUJXYVhwUVlXNWxiQ0I5SUdaeWIyMGdKeTR2Vm1sNlVHRnVaV3duTzF4dWFXMXdiM0owSUhzZ1kzTnpMQ0JqZUNCOUlHWnliMjBnSjBCbGJXOTBhVzl1TDJOemN5YzdYRzVwYlhCdmNuUWdleUJrWldKdmRXNWpaU0I5SUdaeWIyMGdKMnh2WkdGemFDYzdYRzVwYlhCdmNuUWdleUJXYVhwUVlXNWxiRk5sY21sbGMweHBiV2wwSUgwZ1puSnZiU0FuTGk5V2FYcFFZVzVsYkZObGNtbGxjMHhwYldsMEp6dGNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJRlpwZWxCaGJtVnNVbVZ1WkdWeVpYSW9leUJ0YjJSbGJDQjlPaUJUWTJWdVpVTnZiWEJ2Ym1WdWRGQnliM0J6UEZacGVsQmhibVZzUGlrZ2UxeHVJQ0JqYjI1emRDQjdYRzRnSUNBZ2RHbDBiR1VzWEc0Z0lDQWdiM0IwYVc5dWN5eGNiaUFnSUNCbWFXVnNaRU52Ym1acFp5eGNiaUFnSUNCZmNHeDFaMmx1VEc5aFpFVnljbTl5TEZ4dUlDQWdJR1JwYzNCc1lYbE5iMlJsTEZ4dUlDQWdJR2h2ZG1WeVNHVmhaR1Z5TEZ4dUlDQWdJSE5vYjNkTlpXNTFRV3gzWVhsekxGeHVJQ0FnSUdodmRtVnlTR1ZoWkdWeVQyWm1jMlYwTEZ4dUlDQWdJRzFsYm5Vc1hHNGdJQ0FnYUdWaFpHVnlRV04wYVc5dWN5eGNiaUFnSUNCMGFYUnNaVWwwWlcxekxGeHVJQ0FnSUhObGNtbGxjMHhwYldsMExGeHVJQ0FnSUhObGNtbGxjMHhwYldsMFUyaHZkMEZzYkN4Y2JpQWdJQ0JrWlhOamNtbHdkR2x2Yml4Y2JpQWdJQ0JqYjJ4c1lYQnphV0pzWlN4Y2JpQWdJQ0JqYjJ4c1lYQnpaV1FzWEc0Z0lDQWdYM0psYm1SbGNrTnZkVzUwWlhJZ1BTQXdMRnh1SUNCOUlEMGdiVzlrWld3dWRYTmxVM1JoZEdVb0tUdGNiaUFnWTI5dWMzUWdXM0psWml3Z2V5QjNhV1IwYUN3Z2FHVnBaMmgwSUgxZElEMGdkWE5sVFdWaGMzVnlaU2dwTzF4dUlDQmpiMjV6ZENCaGNIQkZkbVZ1ZEhNZ1BTQjFjMlZOWlcxdktDZ3BJRDArSUdkbGRFRndjRVYyWlc1MGN5Z3BMQ0JiWFNrN1hHNWNiaUFnWTI5dWMzUWdjMlYwVUdGdVpXeEJkSFJsYm5ScGIyNGdQU0IxYzJWRFlXeHNZbUZqYXlnb0tTQTlQaUI3WEc0Z0lDQWdhV1lnS0cxdlpHVnNMbk4wWVhSbExtdGxlU2tnZTF4dUlDQWdJQ0FnWVhCd1JYWmxiblJ6TG5CMVlteHBjMmdvYm1WM0lGTmxkRkJoYm1Wc1FYUjBaVzUwYVc5dVJYWmxiblFvZXlCd1lXNWxiRWxrT2lCdGIyUmxiQzV6ZEdGMFpTNXJaWGtnZlNrcE8xeHVJQ0FnSUgxY2JpQWdmU3dnVzIxdlpHVnNMbk4wWVhSbExtdGxlU3dnWVhCd1JYWmxiblJ6WFNrN1hHNGdJR052Ym5OMElHUmxZbTkxYm1ObFpFMXZkWE5sVFc5MlpTQTlJSFZ6WlUxbGJXOG9YRzRnSUNBZ0tDa2dQVDRnWkdWaWIzVnVZMlVvYzJWMFVHRnVaV3hCZEhSbGJuUnBiMjRzSURFd01Dd2dleUJzWldGa2FXNW5PaUIwY25WbExDQjBjbUZwYkdsdVp6b2dabUZzYzJVZ2ZTa3NYRzRnSUNBZ1czTmxkRkJoYm1Wc1FYUjBaVzUwYVc5dVhWeHVJQ0FwTzF4dVhHNGdJR052Ym5OMElIQnNkV2RwYmlBOUlHMXZaR1ZzTG1kbGRGQnNkV2RwYmlncE8xeHVYRzRnSUdOdmJuTjBJSHNnWkhKaFowTnNZWE56TENCa2NtRm5RMnhoYzNORFlXNWpaV3dnZlNBOUlHZGxkRVJ5WVdkRGJHRnpjMlZ6S0cxdlpHVnNLVHRjYmlBZ1kyOXVjM1FnWkdGMFlVOWlhbVZqZENBOUlITmpaVzVsUjNKaGNHZ3VaMlYwUkdGMFlTaHRiMlJsYkNrN1hHNWNiaUFnWTI5dWMzUWdjbUYzUkdGMFlTQTlJR1JoZEdGUFltcGxZM1F1ZFhObFUzUmhkR1VvS1R0Y2JpQWdZMjl1YzNRZ1pHRjBZVmRwZEdoVFpYSnBaWE5NYVcxcGRDQTlJSFZ6WlVSaGRHRlhhWFJvVTJWeWFXVnpUR2x0YVhRb2NtRjNSR0YwWVM1a1lYUmhMQ0J6WlhKcFpYTk1hVzFwZEN3Z2MyVnlhV1Z6VEdsdGFYUlRhRzkzUVd4c0tUdGNiaUFnWTI5dWMzUWdaR0YwWVZkcGRHaEdhV1ZzWkVOdmJtWnBaeUE5SUcxdlpHVnNMbUZ3Y0d4NVJtbGxiR1JEYjI1bWFXY29aR0YwWVZkcGRHaFRaWEpwWlhOTWFXMXBkQ2s3WEc0Z0lHTnZibk4wSUhOalpXNWxWR2x0WlZKaGJtZGxJRDBnYzJObGJtVkhjbUZ3YUM1blpYUlVhVzFsVW1GdVoyVW9iVzlrWld3cE8xeHVJQ0JqYjI1emRDQjBhVzFsV205dVpTQTlJSE5qWlc1bFZHbHRaVkpoYm1kbExtZGxkRlJwYldWYWIyNWxLQ2s3WEc0Z0lHTnZibk4wSUhScGJXVlNZVzVuWlNBOUlHMXZaR1ZzTG1kbGRGUnBiV1ZTWVc1blpTaGtZWFJoVjJsMGFFWnBaV3hrUTI5dVptbG5LVHRjYmx4dUlDQXZMeUJKYm5SbGNuQnZiR0YwWlNCMGFYUnNaVnh1SUNCamIyNXpkQ0IwYVhSc1pVbHVkR1Z5Y0c5c1lYUmxaQ0E5SUcxdlpHVnNMbWx1ZEdWeWNHOXNZWFJsS0hScGRHeGxMQ0IxYm1SbFptbHVaV1FzSUNkMFpYaDBKeWs3WEc1Y2JpQWdZMjl1YzNRZ1lXeGxjblJUZEdGMFpWTjBlV3hsY3lBOUlIVnpaVk4wZVd4bGN6SW9aMlYwUVd4bGNuUlRkR0YwWlZOMGVXeGxjeWs3WEc1Y2JpQWdhV1lnS0NGd2JIVm5hVzRwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdQR1JwZGo1TWIyRmthVzVuSUhCc2RXZHBiaUJ3WVc1bGJDNHVMand2WkdsMlBqdGNiaUFnZlZ4dVhHNGdJR2xtSUNnaGNHeDFaMmx1TG5CaGJtVnNLU0I3WEc0Z0lDQWdjbVYwZFhKdUlEeGthWFkrVUdGdVpXd2djR3gxWjJsdUlHaGhjeUJ1YnlCd1lXNWxiQ0JqYjIxd2IyNWxiblE4TDJScGRqNDdYRzRnSUgxY2JseHVJQ0JqYjI1emRDQlFZVzVsYkVOdmJYQnZibVZ1ZENBOUlIQnNkV2RwYmk1d1lXNWxiRHRjYmx4dUlDQXZMeUJKWmlCM1pTQm9ZWFpsSUdFZ2NYVmxjbmtnY25WdWJtVnlJRzl1SUc5MWNpQnNaWFpsYkNCcGJtWnZjbTBnYVhRZ2IyWWdkR2hsSUdOdmJuUmhhVzVsY2lCM2FXUjBhQ0FvZFhObFpDQjBieUJ6WlhRZ1lYVjBieUJ0WVhnZ1pHRjBZU0J3YjJsdWRITXBYRzRnSUdsbUlDaGtZWFJoVDJKcVpXTjBJQ1ltSUdSaGRHRlBZbXBsWTNRdWMyVjBRMjl1ZEdGcGJtVnlWMmxrZEdncElIdGNiaUFnSUNCa1lYUmhUMkpxWldOMExuTmxkRU52Ym5SaGFXNWxjbGRwWkhSb0tFMWhkR2d1Y205MWJtUW9kMmxrZEdncEtUdGNiaUFnZlZ4dVhHNGdJR3hsZENCMGFYUnNaVWwwWlcxelJXeGxiV1Z1ZERvZ1VtVmhZM1F1VW1WaFkzUk9iMlJsVzEwZ1BTQmJYVHRjYmx4dUlDQnBaaUFvZEdsMGJHVkpkR1Z0Y3lrZ2UxeHVJQ0FnSUdsbUlDaEJjbkpoZVM1cGMwRnljbUY1S0hScGRHeGxTWFJsYlhNcEtTQjdYRzRnSUNBZ0lDQjBhWFJzWlVsMFpXMXpSV3hsYldWdWRDQTlJSFJwZEd4bFNYUmxiWE5GYkdWdFpXNTBMbU52Ym1OaGRDaGNiaUFnSUNBZ0lDQWdkR2wwYkdWSmRHVnRjeTV0WVhBb0tIUnBkR3hsU1hSbGJTa2dQVDRnZTF4dUlDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlBOGRHbDBiR1ZKZEdWdExrTnZiWEJ2Ym1WdWRDQnRiMlJsYkQxN2RHbDBiR1ZKZEdWdGZTQnJaWGs5ZTJBa2UzUnBkR3hsU1hSbGJTNXpkR0YwWlM1clpYbDlZSDBnTHo0N1hHNGdJQ0FnSUNBZ0lIMHBYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMGdaV3h6WlNCcFppQW9hWE5UWTJWdVpVOWlhbVZqZENoMGFYUnNaVWwwWlcxektTa2dlMXh1SUNBZ0lDQWdkR2wwYkdWSmRHVnRjMFZzWlcxbGJuUXVjSFZ6YUNnOGRHbDBiR1ZKZEdWdGN5NURiMjF3YjI1bGJuUWdiVzlrWld3OWUzUnBkR3hsU1hSbGJYTjlJQzgrS1R0Y2JpQWdJQ0I5SUdWc2MyVWdlMXh1SUNBZ0lDQWdkR2wwYkdWSmRHVnRjMFZzWlcxbGJuUXVjSFZ6YUNoMGFYUnNaVWwwWlcxektUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQnBaaUFvYzJWeWFXVnpUR2x0YVhRcElIdGNiaUFnSUNCMGFYUnNaVWwwWlcxelJXeGxiV1Z1ZEM1d2RYTm9LRnh1SUNBZ0lDQWdQRlpwZWxCaGJtVnNVMlZ5YVdWelRHbHRhWFJjYmlBZ0lDQWdJQ0FnYTJWNVBWd2ljMlZ5YVdWekxXeHBiV2wwWENKY2JpQWdJQ0FnSUNBZ1pHRjBZVDE3Y21GM1JHRjBZUzVrWVhSaGZWeHVJQ0FnSUNBZ0lDQnpaWEpwWlhOTWFXMXBkRDE3YzJWeWFXVnpUR2x0YVhSOVhHNGdJQ0FnSUNBZ0lITm9iM2RCYkd3OWUzTmxjbWxsYzB4cGJXbDBVMmh2ZDBGc2JIMWNiaUFnSUNBZ0lDQWdiMjVUYUc5M1FXeHNVMlZ5YVdWelBYc29LU0E5UGlCdGIyUmxiQzV6WlhSVGRHRjBaU2g3SUhObGNtbGxjMHhwYldsMFUyaHZkMEZzYkRvZ0lYTmxjbWxsYzB4cGJXbDBVMmh2ZDBGc2JDQjlLWDFjYmlBZ0lDQWdJQzgrWEc0Z0lDQWdLVHRjYmlBZ2ZWeHVYRzRnSUM4dklFbG1JSGRsSUdoaGRtVWdiRzlqWVd3Z2RHbHRaU0J5WVc1blpTQnphRzkzSUhSb1lYUWdhVzRnY0dGdVpXd2dhR1ZoWkdWeVhHNGdJR2xtSUNodGIyUmxiQzV6ZEdGMFpTNGtkR2x0WlZKaGJtZGxLU0I3WEc0Z0lDQWdkR2wwYkdWSmRHVnRjMFZzWlcxbGJuUXVjSFZ6YUNnOGJXOWtaV3d1YzNSaGRHVXVKSFJwYldWU1lXNW5aUzVEYjIxd2IyNWxiblFnYlc5a1pXdzllMjF2WkdWc0xuTjBZWFJsTGlSMGFXMWxVbUZ1WjJWOUlHdGxlVDE3Ylc5a1pXd3VjM1JoZEdVdWEyVjVmU0F2UGlrN1hHNGdJSDFjYmx4dUlDQnBaaUFvWkdGMFlWZHBkR2hHYVdWc1pFTnZibVpwWnk1aGJHVnlkRk4wWVhSbEtTQjdYRzRnSUNBZ2RHbDBiR1ZKZEdWdGMwVnNaVzFsYm5RdWNIVnphQ2hjYmlBZ0lDQWdJRHhVYjI5c2RHbHdJR052Ym5SbGJuUTllMlJoZEdGWGFYUm9SbWxsYkdSRGIyNW1hV2N1WVd4bGNuUlRkR0YwWlM1emRHRjBaU0EvUHlBbmRXNXJibTkzYmlkOUlHdGxlVDE3WUdGc1pYSjBMWE4wWVhSbGN5MXBZMjl1TFNSN2JXOWtaV3d1YzNSaGRHVXVhMlY1ZldCOVBseHVJQ0FnSUNBZ0lDQThVR0Z1Wld4RGFISnZiV1V1VkdsMGJHVkpkR1Z0WEc0Z0lDQWdJQ0FnSUNBZ1kyeGhjM05PWVcxbFBYdGplQ2g3WEc0Z0lDQWdJQ0FnSUNBZ0lDQmJZV3hsY25SVGRHRjBaVk4wZVd4bGN5NXZhMTA2SUdSaGRHRlhhWFJvUm1sbGJHUkRiMjVtYVdjdVlXeGxjblJUZEdGMFpTNXpkR0YwWlNBOVBUMGdRV3hsY25SVGRHRjBaUzVQU3l4Y2JpQWdJQ0FnSUNBZ0lDQWdJRnRoYkdWeWRGTjBZWFJsVTNSNWJHVnpMbkJsYm1ScGJtZGRPaUJrWVhSaFYybDBhRVpwWld4a1EyOXVabWxuTG1Gc1pYSjBVM1JoZEdVdWMzUmhkR1VnUFQwOUlFRnNaWEowVTNSaGRHVXVVR1Z1WkdsdVp5eGNiaUFnSUNBZ0lDQWdJQ0FnSUZ0aGJHVnlkRk4wWVhSbFUzUjViR1Z6TG1Gc1pYSjBhVzVuWFRvZ1pHRjBZVmRwZEdoR2FXVnNaRU52Ym1acFp5NWhiR1Z5ZEZOMFlYUmxMbk4wWVhSbElEMDlQU0JCYkdWeWRGTjBZWFJsTGtGc1pYSjBhVzVuTEZ4dUlDQWdJQ0FnSUNBZ0lIMHBmVnh1SUNBZ0lDQWdJQ0ErWEc0Z0lDQWdJQ0FnSUNBZ1BFbGpiMjVjYmlBZ0lDQWdJQ0FnSUNBZ0lHNWhiV1U5ZTJSaGRHRlhhWFJvUm1sbGJHUkRiMjVtYVdjdVlXeGxjblJUZEdGMFpTNXpkR0YwWlNBOVBUMGdKMkZzWlhKMGFXNW5KeUEvSUNkb1pXRnlkQzFpY21WaGF5Y2dPaUFuYUdWaGNuUW5mVnh1SUNBZ0lDQWdJQ0FnSUNBZ1kyeGhjM05PWVcxbFBWd2ljR0Z1Wld3dFlXeGxjblF0YVdOdmJsd2lYRzRnSUNBZ0lDQWdJQ0FnSUNCemFYcGxQVndpYldSY0lseHVJQ0FnSUNBZ0lDQWdJQzgrWEc0Z0lDQWdJQ0FnSUR3dlVHRnVaV3hEYUhKdmJXVXVWR2wwYkdWSmRHVnRQbHh1SUNBZ0lDQWdQQzlVYjI5c2RHbHdQbHh1SUNBZ0lDazdYRzRnSUgxY2JseHVJQ0JzWlhRZ2NHRnVaV3hOWlc1MU8xeHVJQ0JwWmlBb2JXVnVkU2tnZTF4dUlDQWdJSEJoYm1Wc1RXVnVkU0E5SUR4dFpXNTFMa052YlhCdmJtVnVkQ0J0YjJSbGJEMTdiV1Z1ZFgwZ0x6NDdYRzRnSUgxY2JseHVJQ0JzWlhRZ1lXTjBhVzl1YzBWc1pXMWxiblE2SUZKbFlXTjBMbEpsWVdOMFRtOWtaU0I4SUhWdVpHVm1hVzVsWkR0Y2JseHVJQ0JwWmlBb2FHVmhaR1Z5UVdOMGFXOXVjeWtnZTF4dUlDQWdJR2xtSUNoQmNuSmhlUzVwYzBGeWNtRjVLR2hsWVdSbGNrRmpkR2x2Ym5NcEtTQjdYRzRnSUNBZ0lDQmhZM1JwYjI1elJXeGxiV1Z1ZENBOUlDaGNiaUFnSUNBZ0lDQWdQRDVjYmlBZ0lDQWdJQ0FnSUNCN2FHVmhaR1Z5UVdOMGFXOXVjeTV0WVhBb0tHRmpkR2x2YmlrZ1BUNGdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUR4aFkzUnBiMjR1UTI5dGNHOXVaVzUwSUcxdlpHVnNQWHRoWTNScGIyNTlJR3RsZVQxN1lDUjdZV04wYVc5dUxuTjBZWFJsTG10bGVYMWdmU0F2UGp0Y2JpQWdJQ0FnSUNBZ0lDQjlLWDFjYmlBZ0lDQWdJQ0FnUEM4K1hHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgwZ1pXeHpaU0JwWmlBb2FYTlRZMlZ1WlU5aWFtVmpkQ2hvWldGa1pYSkJZM1JwYjI1ektTa2dlMXh1SUNBZ0lDQWdZV04wYVc5dWMwVnNaVzFsYm5RZ1BTQThhR1ZoWkdWeVFXTjBhVzl1Y3k1RGIyMXdiMjVsYm5RZ2JXOWtaV3c5ZTJobFlXUmxja0ZqZEdsdmJuTjlJQzgrTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQmhZM1JwYjI1elJXeGxiV1Z1ZENBOUlHaGxZV1JsY2tGamRHbHZibk03WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnTHk4Z1JHRjBZU0JwY3lCaGJIZGhlWE1nY21WMGRYSnVaV1F1SUVadmNpQnViMjR0WkdGMFlTQndZVzVsYkhNc0lHVnRjSFI1SUZCaGJtVnNSR0YwWVNCcGN5QnlaWFIxY201bFpDNWNiaUFnWTI5dWMzUWdaR0YwWVNBOUlHUmhkR0ZYYVhSb1JtbGxiR1JEYjI1bWFXY2hPMXh1WEc0Z0lHTnZibk4wSUdselVtVmhaSGxVYjFKbGJtUmxjaUE5SUdSaGRHRlBZbXBsWTNRdWFYTkVZWFJoVW1WaFpIbFViMFJwYzNCc1lYa2dQeUJrWVhSaFQySnFaV04wTG1selJHRjBZVkpsWVdSNVZHOUVhWE53YkdGNUtDa2dPaUIwY25WbE8xeHVYRzRnSUdOdmJuTjBJR052Ym5SbGVIUWdQU0J0YjJSbGJDNW5aWFJRWVc1bGJFTnZiblJsZUhRb0tUdGNiaUFnWTI5dWMzUWdjR0Z1Wld4SlpDQTlJRzF2WkdWc0xtZGxkRXhsWjJGamVWQmhibVZzU1dRb0tUdGNibHh1SUNCeVpYUjFjbTRnS0Z4dUlDQWdJRHhrYVhZZ1kyeGhjM05PWVcxbFBYdHlaV3hoZEdsMlpWZHlZWEJ3WlhKOVBseHVJQ0FnSUNBZ1BHUnBkaUJ5WldZOWUzSmxaaUJoY3lCU1pXWkRZV3hzWW1GamF6eElWRTFNUkdsMlJXeGxiV1Z1ZEQ1OUlHTnNZWE56VG1GdFpUMTdZV0p6YjJ4MWRHVlhjbUZ3Y0dWeWZTQmtZWFJoTFhacGVpMXdZVzVsYkMxclpYazllMjF2WkdWc0xuTjBZWFJsTG10bGVYMCtYRzRnSUNBZ0lDQWdJSHQzYVdSMGFDQStJREFnSmlZZ2FHVnBaMmgwSUQ0Z01DQW1KaUFvWEc0Z0lDQWdJQ0FnSUNBZ1BGQmhibVZzUTJoeWIyMWxYRzRnSUNBZ0lDQWdJQ0FnSUNCMGFYUnNaVDE3ZEdsMGJHVkpiblJsY25CdmJHRjBaV1I5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWE5qY21sd2RHbHZiajE3WkdWelkzSnBjSFJwYjI0L0xuUnlhVzBvS1NBL0lHMXZaR1ZzTG1kbGRFUmxjMk55YVhCMGFXOXVJRG9nZFc1a1pXWnBibVZrZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdiRzloWkdsdVoxTjBZWFJsUFh0a1lYUmhMbk4wWVhSbGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnYzNSaGRIVnpUV1Z6YzJGblpUMTdaMlYwUTJoeWIyMWxVM1JoZEhWelRXVnpjMkZuWlNoa1lYUmhMQ0JmY0d4MVoybHVURzloWkVWeWNtOXlLWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lITjBZWFIxYzAxbGMzTmhaMlZQYmtOc2FXTnJQWHR0YjJSbGJDNXZibE4wWVhSMWMwMWxjM05oWjJWRGJHbGphMzFjYmlBZ0lDQWdJQ0FnSUNBZ0lIZHBaSFJvUFh0M2FXUjBhSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lHaGxhV2RvZEQxN2FHVnBaMmgwZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdaR2x6Y0d4aGVVMXZaR1U5ZTJScGMzQnNZWGxOYjJSbGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnTHk5QWRITXRaWGh3WldOMExXVnljbTl5SUZKbGJXOTJaU0IzYUdWdUlERXhMalFnYVhNZ2NtVnNaV0Z6WldRNklHaDBkSEJ6T2k4dloybDBhSFZpTG1OdmJTOW5jbUZtWVc1aEwyZHlZV1poYm1FdmNIVnNiQzg1TmpnMk9GeHVJQ0FnSUNBZ0lDQWdJQ0FnYzJodmQwMWxiblZCYkhkaGVYTTllM05vYjNkTlpXNTFRV3gzWVhsemZWeHVJQ0FnSUNBZ0lDQWdJQ0FnYUc5MlpYSklaV0ZrWlhJOWUyaHZkbVZ5U0dWaFpHVnlmVnh1SUNBZ0lDQWdJQ0FnSUNBZ2FHOTJaWEpJWldGa1pYSlBabVp6WlhROWUyaHZkbVZ5U0dWaFpHVnlUMlptYzJWMGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnZEdsMGJHVkpkR1Z0Y3oxN2RHbDBiR1ZKZEdWdGMwVnNaVzFsYm5SOVhHNGdJQ0FnSUNBZ0lDQWdJQ0JrY21GblEyeGhjM005ZTJSeVlXZERiR0Z6YzMxY2JpQWdJQ0FnSUNBZ0lDQWdJR0ZqZEdsdmJuTTllMkZqZEdsdmJuTkZiR1Z0Wlc1MGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnWkhKaFowTnNZWE56UTJGdVkyVnNQWHRrY21GblEyeGhjM05EWVc1alpXeDlYRzRnSUNBZ0lDQWdJQ0FnSUNCd1lXUmthVzVuUFh0d2JIVm5hVzR1Ym05UVlXUmthVzVuSUQ4Z0oyNXZibVVuSURvZ0oyMWtKMzFjYmlBZ0lDQWdJQ0FnSUNBZ0lHMWxiblU5ZTNCaGJtVnNUV1Z1ZFgxY2JpQWdJQ0FnSUNBZ0lDQWdJRzl1UTJGdVkyVnNVWFZsY25rOWUyMXZaR1ZzTG05dVEyRnVZMlZzVVhWbGNubDlYRzRnSUNBZ0lDQWdJQ0FnSUNBdkx5QkFkSE10YVdkdWIzSmxYRzRnSUNBZ0lDQWdJQ0FnSUNCdmJrWnZZM1Z6UFh0elpYUlFZVzVsYkVGMGRHVnVkR2x2Ym4xY2JpQWdJQ0FnSUNBZ0lDQWdJRzl1VFc5MWMyVkZiblJsY2oxN2MyVjBVR0Z1Wld4QmRIUmxiblJwYjI1OVhHNGdJQ0FnSUNBZ0lDQWdJQ0J2YmsxdmRYTmxUVzkyWlQxN1pHVmliM1Z1WTJWa1RXOTFjMlZOYjNabGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5c2JHRndjMmxpYkdVOWUyTnZiR3hoY0hOcFlteGxmVnh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXNiR0Z3YzJWa1BYdGpiMnhzWVhCelpXUjlYRzRnSUNBZ0lDQWdJQ0FnSUNCdmJsUnZaMmRzWlVOdmJHeGhjSE5sUFh0dGIyUmxiQzV2YmxSdloyZHNaVU52Ykd4aGNITmxmVnh1SUNBZ0lDQWdJQ0FnSUQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJSHNvYVc1dVpYSlhhV1IwYUN3Z2FXNXVaWEpJWldsbmFIUXBJRDArSUNoY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnUEQ1Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFJYSnliM0pDYjNWdVpHRnllVUZzWlhKMElHUmxjR1Z1WkdWdVkybGxjejE3VzNCc2RXZHBiaXdnWkdGMFlWMTlQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEZCc2RXZHBia052Ym5SbGVIUlFjbTkyYVdSbGNpQnRaWFJoUFh0d2JIVm5hVzR1YldWMFlYMCtYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4UVlXNWxiRU52Ym5SbGVIUlFjbTkyYVdSbGNpQjJZV3gxWlQxN1kyOXVkR1Y0ZEgwK1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZTJselVtVmhaSGxVYjFKbGJtUmxjaUFtSmlBb1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFVHRnVaV3hEYjIxd2IyNWxiblJjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdROWUzQmhibVZzU1dSOVhHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHUmhkR0U5ZTJSaGRHRjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJwZEd4bFBYdDBhWFJzWlgxY2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2RHbHRaVkpoYm1kbFBYdDBhVzFsVW1GdVoyVjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSFJwYldWYWIyNWxQWHQwYVcxbFdtOXVaWDFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYjNCMGFXOXVjejE3YjNCMGFXOXVjMzFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWm1sbGJHUkRiMjVtYVdjOWUyWnBaV3hrUTI5dVptbG5mVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0IwY21GdWMzQmhjbVZ1ZEQxN1ptRnNjMlY5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhkcFpIUm9QWHRwYm01bGNsZHBaSFJvZlZ4dUlDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCb1pXbG5hSFE5ZTJsdWJtVnlTR1ZwWjJoMGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaVzVrWlhKRGIzVnVkR1Z5UFh0ZmNtVnVaR1Z5UTI5MWJuUmxjbjFjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21Wd2JHRmpaVlpoY21saFlteGxjejE3Ylc5a1pXd3VhVzUwWlhKd2IyeGhkR1Y5WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUc5dVQzQjBhVzl1YzBOb1lXNW5aVDE3Ylc5a1pXd3ViMjVQY0hScGIyNXpRMmhoYm1kbGZWeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnZia1pwWld4a1EyOXVabWxuUTJoaGJtZGxQWHR0YjJSbGJDNXZia1pwWld4a1EyOXVabWxuUTJoaGJtZGxmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J2YmtOb1lXNW5aVlJwYldWU1lXNW5aVDE3Ylc5a1pXd3ViMjVVYVcxbFVtRnVaMlZEYUdGdVoyVjlYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR1YyWlc1MFFuVnpQWHRqYjI1MFpYaDBMbVYyWlc1MFFuVnpmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdMejVjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQXBmVnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOEwxQmhibVZzUTI5dWRHVjRkRkJ5YjNacFpHVnlQbHh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5UWJIVm5hVzVEYjI1MFpYaDBVSEp2ZG1sa1pYSStYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlGY25KdmNrSnZkVzVrWVhKNVFXeGxjblErWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRHd2UGx4dUlDQWdJQ0FnSUNBZ0lDQWdLWDFjYmlBZ0lDQWdJQ0FnSUNBOEwxQmhibVZzUTJoeWIyMWxQbHh1SUNBZ0lDQWdJQ0FwZlZ4dUlDQWdJQ0FnUEM5a2FYWStYRzRnSUNBZ1BDOWthWFkrWEc0Z0lDazdYRzU5WEc1Y2JtWjFibU4wYVc5dUlIVnpaVVJoZEdGWGFYUm9VMlZ5YVdWelRHbHRhWFFvWkdGMFlUb2dVR0Z1Wld4RVlYUmhJSHdnZFc1a1pXWnBibVZrTENCelpYSnBaWE5NYVcxcGREODZJRzUxYldKbGNpd2djMmh2ZDBGc2JGTmxjbWxsY3o4NklHSnZiMnhsWVc0cElIdGNiaUFnY21WMGRYSnVJSFZ6WlUxbGJXOG9LQ2tnUFQ0Z2UxeHVJQ0FnSUdsbUlDZ2haR0YwWVQ4dWMyVnlhV1Z6SUh4OElDRnpaWEpwWlhOTWFXMXBkQ0I4ZkNCemFHOTNRV3hzVTJWeWFXVnpLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdaR0YwWVR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0J5WlhSMWNtNGdlMXh1SUNBZ0lDQWdMaTR1WkdGMFlTeGNiaUFnSUNBZ0lITmxjbWxsY3pvZ1pHRjBZUzV6WlhKcFpYTXVjMnhwWTJVb01Dd2djMlZ5YVdWelRHbHRhWFFwTEZ4dUlDQWdJSDA3WEc0Z0lIMHNJRnRrWVhSaExDQnpaWEpwWlhOTWFXMXBkQ3dnYzJodmQwRnNiRk5sY21sbGMxMHBPMXh1ZlZ4dVhHNW1kVzVqZEdsdmJpQm5aWFJFY21GblEyeGhjM05sY3lod1lXNWxiRG9nVm1sNlVHRnVaV3dwSUh0Y2JpQWdZMjl1YzNRZ2NHRnlaVzUwVEdGNWIzVjBJRDBnYzJObGJtVkhjbUZ3YUM1blpYUk1ZWGx2ZFhRb2NHRnVaV3dwTzF4dUlDQmpiMjV6ZENCcGMwUnlZV2RuWVdKc1pTQTlJSEJoY21WdWRFeGhlVzkxZEQ4dWFYTkVjbUZuWjJGaWJHVW9LVHRjYmx4dUlDQnBaaUFvSVhCaGNtVnVkRXhoZVc5MWRDQjhmQ0FoYVhORWNtRm5aMkZpYkdVZ2ZId2dhWFJsYlVSeVlXZG5hVzVuUkdsellXSnNaV1FvY0dGdVpXd3NJSEJoY21WdWRFeGhlVzkxZENrcElIdGNiaUFnSUNCeVpYUjFjbTRnZXlCa2NtRm5RMnhoYzNNNklDY25MQ0JrY21GblEyeGhjM05EWVc1alpXdzZJQ2NuSUgwN1hHNGdJSDFjYmx4dUlDQnlaWFIxY200Z2V5QmtjbUZuUTJ4aGMzTTZJSEJoY21WdWRFeGhlVzkxZEM1blpYUkVjbUZuUTJ4aGMzTS9MaWdwTENCa2NtRm5RMnhoYzNORFlXNWpaV3c2SUhCaGNtVnVkRXhoZVc5MWREOHVaMlYwUkhKaFowTnNZWE56UTJGdVkyVnNQeTRvS1NCOU8xeHVmVnh1WEc0dktpcGNiaUFxSUZkaGJHdHpJSFZ3SUhSb1pTQndZWEpsYm5RZ1kyaGhhVzRnZFc1MGFXd2dhWFFnYUdsMGN5QjBhR1VnYkdGNWIzVjBJRzlpYW1WamRDd2dkSEo1YVc1bklIUnZJR1pwYm1RZ2RHaGxJR05zYjNObGMzUWdVMk5sYm1WSGNtbGtTWFJsYlV4cGEyVWdZVzVqWlhOMGIzSXVYRzRnS2lCSmRDQnBjeUJ1YjNRZ1lXeDNZWGx6SUhSb1pTQmthWEpsWTNRZ2NHRnlaVzUwTENCaVpXTmhkWE5sSUhSb1pTQldhWHBRWVc1bGJDQmpZVzRnWW1VZ2QzSmhjSEJsWkNCcGJpQnZkR2hsY2lCdlltcGxZM1J6TGx4dUlDb3ZYRzVtZFc1amRHbHZiaUJwZEdWdFJISmhaMmRwYm1kRWFYTmhZbXhsWkNocGRHVnRPaUJUWTJWdVpVOWlhbVZqZEN3Z2JHRjViM1YwT2lCVFkyVnVaVXhoZVc5MWRDa2dlMXh1SUNCc1pYUWdZVzVqWlhOMGIzSWdQU0JwZEdWdExuQmhjbVZ1ZER0Y2JseHVJQ0IzYUdsc1pTQW9ZVzVqWlhOMGIzSWdKaVlnWVc1alpYTjBiM0lnSVQwOUlHeGhlVzkxZENrZ2UxeHVJQ0FnSUdsbUlDZ25hWE5FY21GbloyRmliR1VuSUdsdUlHRnVZMlZ6ZEc5eUxuTjBZWFJsSUNZbUlHRnVZMlZ6ZEc5eUxuTjBZWFJsTG1selJISmhaMmRoWW14bElEMDlQU0JtWVd4elpTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlIUnlkV1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZVzVqWlhOMGIzSWdQU0JoYm1ObGMzUnZjaTV3WVhKbGJuUTdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdabUZzYzJVN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdkbGRFTm9jbTl0WlZOMFlYUjFjMDFsYzNOaFoyVW9aR0YwWVRvZ1VHRnVaV3hFWVhSaExDQndiSFZuYVc1TWIyRmthVzVuUlhKeWIzSTZJSE4wY21sdVp5QjhJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQnBaaUFvY0d4MVoybHVURzloWkdsdVowVnljbTl5S1NCN1hHNGdJQ0FnY21WMGRYSnVJSEJzZFdkcGJreHZZV1JwYm1kRmNuSnZjanRjYmlBZ2ZWeHVYRzRnSUd4bGRDQnRaWE56WVdkbElEMGdaR0YwWVM1bGNuSnZjaUEvSUdSaGRHRXVaWEp5YjNJdWJXVnpjMkZuWlNBNklIVnVaR1ZtYVc1bFpEdGNibHh1SUNBdkx5QklZVzVrYkdsdVp5QnRkV3gwYVhCc1pTQmxjbkp2Y25NZ2QybDBhQ0JoSUhOcGJtZHNaU0J6ZEhKcGJtY2dkVzUwYVd3Z2QyVWdhVzUwWldkeVlYUmxJRlpwZWxCaGJtVnNJSGRwZEdnZ2FXNXpjR1ZqZEc5eVhHNGdJR2xtSUNoa1lYUmhMbVZ5Y205eWN5a2dlMXh1SUNBZ0lHMWxjM05oWjJVZ1BTQmtZWFJoTG1WeWNtOXljeTV0WVhBb0tHVXBJRDArSUdVdWJXVnpjMkZuWlNrdWFtOXBiaWduTENBbktUdGNiaUFnZlZ4dUlDQnlaWFIxY200Z2JXVnpjMkZuWlR0Y2JuMWNibHh1WTI5dWMzUWdjbVZzWVhScGRtVlhjbUZ3Y0dWeUlEMGdZM056S0h0Y2JpQWdjRzl6YVhScGIyNDZJQ2R5Wld4aGRHbDJaU2NzWEc0Z0lIZHBaSFJvT2lBbk1UQXdKU2NzWEc0Z0lHaGxhV2RvZERvZ0p6RXdNQ1VuTEZ4dWZTazdYRzVjYmk4cUtseHVJQ29nVTJGa2JIa2dkR2hwY3lCMGFHbHpJR0ZpYzI5c2RYUmxJSGR5WVhCd1pYSWdhWE1nYm1WbFpHVmtJR1p2Y2lCMGFHVWdjR0Z1Wld3Z2RHOGdZV1J2Y0hRZ2MyMWhiR3hsY2lCemFYcGxjeTVjYmlBcUlGUm9aU0JqYjIxaWJ5QnZaaUIxYzJWTlpXRnpkWEpsSUdGdVpDQlFZVzVsYkVOb2NtOXRaU0J0WVd0bGN5QjBhR1VnY0dGdVpXd2dkR0ZyWlNCMWNDQjBhR1VnZDJsa2RHZ2dhWFFnWjJWMEozTWdZblYwSUhSb1lYUWdiV0ZyWlhNZ2FYUWdhVzF3YjNOemFXSnNaU0IwYjF4dUlDb2dWR2hsYmlCaFpHRndkQ0IwYnlCemJXRnNiR1Z5SUhOd1lXTmxJQ2h6WVhrZ2NtVnphWHBwYm1jZ2RHaGxJR0p5YjNkelpYSWdkMmx1Wkc5M0lHOXlJSFZ1Wkc5amEybHVaeUJ0Wlc1MUtTNWNiaUFxTDF4dVkyOXVjM1FnWVdKemIyeDFkR1ZYY21Gd2NHVnlJRDBnWTNOektIdGNiaUFnY0c5emFYUnBiMjQ2SUNkaFluTnZiSFYwWlNjc1hHNGdJSGRwWkhSb09pQW5NVEF3SlNjc1hHNGdJR2hsYVdkb2REb2dKekV3TUNVbkxGeHVmU2s3WEc1Y2JtTnZibk4wSUdkbGRFRnNaWEowVTNSaGRHVlRkSGxzWlhNZ1BTQW9kR2hsYldVNklFZHlZV1poYm1GVWFHVnRaVElwSUQwK0lIdGNiaUFnY21WMGRYSnVJSHRjYmlBZ0lDQnZhem9nWTNOektIdGNiaUFnSUNBZ0lHTnZiRzl5T2lCMGFHVnRaUzVqYjJ4dmNuTXVjM1ZqWTJWemN5NTBaWGgwTEZ4dUlDQWdJSDBwTEZ4dUlDQWdJSEJsYm1ScGJtYzZJR056Y3loN1hHNGdJQ0FnSUNCamIyeHZjam9nZEdobGJXVXVZMjlzYjNKekxuZGhjbTVwYm1jdWRHVjRkQ3hjYmlBZ0lDQjlLU3hjYmlBZ0lDQmhiR1Z5ZEdsdVp6b2dZM056S0h0Y2JpQWdJQ0FnSUdOdmJHOXlPaUIwYUdWdFpTNWpiMnh2Y25NdVpYSnliM0l1ZEdWNGRDeGNiaUFnSUNCOUtTeGNiaUFnZlR0Y2JuMDdYRzRpWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJanM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3TzBGQmFVSm5RaXhUUVVGQkxHZENRVUZCTEVOQlFXbENMRVZCUVVVc1MwRkJRU3hGUVVGM1F5eEZRVUZCTzBGQmFrSXpSU3hGUVVGQkxFbEJRVUVzUlVGQlFTeERRVUZCTzBGQmEwSkZMRVZCUVUwc1RVRkJRVHRCUVVGQkxFbEJRMG9zUzBGQlFUdEJRVUZCTEVsQlEwRXNUMEZCUVR0QlFVRkJMRWxCUTBFc1YwRkJRVHRCUVVGQkxFbEJRMEVzWjBKQlFVRTdRVUZCUVN4SlFVTkJMRmRCUVVFN1FVRkJRU3hKUVVOQkxGZEJRVUU3UVVGQlFTeEpRVU5CTEdOQlFVRTdRVUZCUVN4SlFVTkJMR2xDUVVGQk8wRkJRVUVzU1VGRFFTeEpRVUZCTzBGQlFVRXNTVUZEUVN4aFFVRkJPMEZCUVVFc1NVRkRRU3hWUVVGQk8wRkJRVUVzU1VGRFFTeFhRVUZCTzBGQlFVRXNTVUZEUVN4clFrRkJRVHRCUVVGQkxFbEJRMEVzVjBGQlFUdEJRVUZCTEVsQlEwRXNWMEZCUVR0QlFVRkJMRWxCUTBFc1UwRkJRVHRCUVVGQkxFbEJRMEVzWTBGQmFVSXNSMEZCUVN4RFFVRkJPMEZCUVVFc1IwRkRia0lzUjBGQlNTeE5RVUZOTEZGQlFWTXNSVUZCUVN4RFFVRkJPMEZCUTI1Q0xFVkJRVUVzVFVGQlRTeERRVUZETEVkQlFVc3NSVUZCUVN4RlFVRkZMRTlCUVU4c1RVRkJUeXhGUVVGRExFbEJRVWtzVlVGQlZ5eEZRVUZCTEVOQlFVRTdRVUZETlVNc1JVRkJRU3hOUVVGTkxGbEJRVmtzVDBGQlVTeERRVUZCTEUxQlFVMHNXVUZCWVN4RlFVRkJMRVZCUVVjc1JVRkJSU3hEUVVGQkxFTkJRVUU3UVVGRmJFUXNSVUZCVFN4TlFVRkJMR2xDUVVGQkxFZEJRVzlDTEZsQlFWa3NUVUZCVFR0QlFVTXhReXhKUVVGSkxFbEJRVUVzUzBGQlFTeERRVUZOTEUxQlFVMHNSMEZCU3l4RlFVRkJPMEZCUTI1Q0xFMUJRVlVzVTBGQlFTeERRVUZCTEU5QlFVRXNRMEZCVVN4SlFVRkpMSE5DUVVGMVFpeERRVUZCTEVWQlFVVXNVMEZCVXl4TFFVRk5MRU5CUVVFc1MwRkJRU3hEUVVGTkxFZEJRVWtzUlVGQlF5eERRVUZETEVOQlFVRXNRMEZCUVR0QlFVRkJMRXRCUXpWRk8wRkJRVUVzUzBGRFF5eERRVUZETEV0QlFVRXNRMEZCVFN4TFFVRk5MRU5CUVVFc1IwRkJRU3hGUVVGTExGTkJRVk1zUTBGQlF5eERRVUZCTEVOQlFVRTdRVUZETDBJc1JVRkJRU3hOUVVGTkxHdENRVUZ4UWl4SFFVRkJMRTlCUVVFN1FVRkJRU3hKUVVONlFpeE5RVUZOTEZOQlFWTXNhVUpCUVcxQ0xFVkJRVUVzUjBGQlFTeEZRVUZMTEVWQlFVVXNUMEZCVXl4RlFVRkJMRWxCUVVFc1JVRkJUU3hSUVVGVkxFVkJRVUVzUzBGQlFTeEZRVUZQTEVOQlFVRTdRVUZCUVN4SlFVTjZSU3hEUVVGRExHbENRVUZwUWl4RFFVRkJPMEZCUVVFc1IwRkRjRUlzUTBGQlFUdEJRVVZCTEVWQlFVMHNUVUZCUVN4TlFVRkJMRWRCUVZNc1RVRkJUU3hUUVVGVkxFVkJRVUVzUTBGQlFUdEJRVVV2UWl4RlFVRkJMRTFCUVUwc1JVRkJSU3hUUVVGQkxFVkJRVmNzWlVGQlowSXNSVUZCUVN4SFFVRkpMR1ZCUVdVc1MwRkJTeXhEUVVGQkxFTkJRVUU3UVVGRE0wUXNSVUZCVFN4TlFVRkJMRlZCUVVFc1IwRkJZU3hWUVVGWExFTkJRVUVzVDBGQlFTeERRVUZSTEV0QlFVc3NRMEZCUVN4RFFVRkJPMEZCUlRORExFVkJRVTBzVFVGQlFTeFBRVUZCTEVkQlFWVXNWMEZCVnl4UlFVRlRMRVZCUVVFc1EwRkJRVHRCUVVOd1F5eEZRVUZCTEUxQlFVMHNiVUpCUVhOQ0xFZEJRVUVzYzBKQlFVRXNRMEZCZFVJc1QwRkJVU3hEUVVGQkxFbEJRVUVzUlVGQlRTeGhRVUZoTEd0Q1FVRnJRaXhEUVVGQkxFTkJRVUU3UVVGRGFFY3NSVUZCVFN4TlFVRkJMRzFDUVVGQkxFZEJRWE5DTEV0QlFVMHNRMEZCUVN4blFrRkJRU3hEUVVGcFFpeHRRa0ZCYlVJc1EwRkJRU3hEUVVGQk8wRkJRM1JGTEVWQlFVMHNUVUZCUVN4alFVRkJMRWRCUVdsQ0xGVkJRVmNzUTBGQlFTeFpRVUZCTEVOQlFXRXNTMEZCU3l4RFFVRkJMRU5CUVVFN1FVRkRjRVFzUlVGQlRTeE5RVUZCTEZGQlFVRXNSMEZCVnl4bFFVRmxMRmRCUVZrc1JVRkJRU3hEUVVGQk8wRkJRelZETEVWQlFVMHNUVUZCUVN4VFFVRkJMRWRCUVZrc1MwRkJUU3hEUVVGQkxGbEJRVUVzUTBGQllTeHRRa0ZCYlVJc1EwRkJRU3hEUVVGQk8wRkJSM2hFTEVWQlFVRXNUVUZCVFN4cFFrRkJiMElzUjBGQlFTeExRVUZCTEVOQlFVMHNWMEZCV1N4RFFVRkJMRXRCUVVFc1JVRkJUeXhSUVVGWExFMUJRVTBzUTBGQlFTeERRVUZCTzBGQlJYQkZMRVZCUVUwc1RVRkJRU3huUWtGQlFTeEhRVUZ0UWl4WFFVRlhMRzFDUVVGdFFpeERRVUZCTEVOQlFVRTdRVUZGZGtRc1JVRkJRU3hKUVVGSkxFTkJRVU1zVFVGQlVTeEZRVUZCTzBGQlExZ3NTVUZCVHl4MVFrRkJRU3hMUVVGQkxFTkJRVUVzWVVGQlFTeERRVUZETEdGQlFVa3NlVUpCUVhWQ0xFTkJRVUVzUTBGQlFUdEJRVUZCTEVkQlEzSkRPMEZCUlVFc1JVRkJTU3hKUVVGQkxFTkJRVU1zVDBGQlR5eExRVUZQTEVWQlFVRTdRVUZEYWtJc1NVRkJUeXgxUWtGQlFTeExRVUZCTEVOQlFVRXNZVUZCUVN4RFFVRkRMR0ZCUVVrc2NVTkJRVzFETEVOQlFVRXNRMEZCUVR0QlFVRkJMRWRCUTJwRU8wRkJSVUVzUlVGQlFTeE5RVUZOTEdsQ1FVRnBRaXhOUVVGUExFTkJRVUVzUzBGQlFTeERRVUZCTzBGQlJ6bENMRVZCUVVrc1NVRkJRU3hWUVVGQkxFbEJRV01zVjBGQlZ5eHBRa0ZCYlVJc1JVRkJRVHRCUVVNNVF5eEpRVUZCTEZWQlFVRXNRMEZCVnl4cFFrRkJhMElzUTBGQlFTeEpRVUZCTEVOQlFVc3NTMEZCVFN4RFFVRkJMRXRCUVVzc1EwRkJReXhEUVVGQkxFTkJRVUU3UVVGQlFTeEhRVU5vUkR0QlFVVkJMRVZCUVVFc1NVRkJTU3h2UWtGQmRVTXNSVUZCUXl4RFFVRkJPMEZCUlRWRExFVkJRVUVzU1VGQlNTeFZRVUZaTEVWQlFVRTdRVUZEWkN4SlFVRkpMRWxCUVVFc1MwRkJRU3hEUVVGTkxFOUJRVkVzUTBGQlFTeFZRVUZWTEVOQlFVY3NSVUZCUVR0QlFVTTNRaXhOUVVGQkxHbENRVUZCTEVkQlFXOUNMR2xDUVVGclFpeERRVUZCTEUxQlFVRTdRVUZCUVN4UlFVTndReXhWUVVGQkxFTkJRVmNzUjBGQlNTeERRVUZCTEVOQlFVTXNVMEZCWXl4TFFVRkJPMEZCUXpWQ0xGVkJRVThzZFVKQlFVRXNTMEZCUVN4RFFVRkJMR0ZCUVVFc1EwRkJReXhWUVVGVkxGTkJRVllzUlVGQlFUdEJRVUZCTEZsQlFXOUNMRXRCUVU4c1JVRkJRU3hUUVVGQk8wRkJRVUVzV1VGQlZ5eEhRVUZCTEVWQlFVc3NRMEZCUnl4RlFVRkJMRk5CUVVFc1EwRkJWU3hMUVVGTkxFTkJRVUVzUjBGQlFTeERRVUZCTEVOQlFVRTdRVUZCUVN4WFFVRlBMRU5CUVVFc1EwRkJRVHRCUVVGQkxGTkJRemxGTEVOQlFVRTdRVUZCUVN4UFFVTklMRU5CUVVFN1FVRkJRU3hMUVVOR0xFMUJRVUVzU1VGQlZ5eGhRVUZqTEVOQlFVRXNWVUZCVlN4RFFVRkhMRVZCUVVFN1FVRkRjRU1zVFVGQmEwSXNhVUpCUVVFc1EwRkJRU3hKUVVGQkxHbENRVUZOTEV0QlFVRXNRMEZCUVN4aFFVRkJMRU5CUVVFc1ZVRkJRU3hEUVVGWExGTkJRVmdzUlVGQlFUdEJRVUZCTEZGQlFYRkNMRXRCUVU4c1JVRkJRU3hWUVVGQk8wRkJRVUVzVDBGQldTeERRVUZGTEVOQlFVRXNRMEZCUVR0QlFVRkJMRXRCUXpkRUxFMUJRVUU3UVVGRFRDeE5RVUZCTEdsQ1FVRkJMRU5CUVd0Q0xFdEJRVXNzVlVGQlZTeERRVUZCTEVOQlFVRTdRVUZCUVN4TFFVTnVRenRCUVVGQkxFZEJRMFk3UVVGRlFTeEZRVUZCTEVsQlFVa3NWMEZCWVN4RlFVRkJPMEZCUTJZc1NVRkJhMElzYVVKQlFVRXNRMEZCUVN4SlFVRkJPMEZCUVVFc2MwSkJRMllzUzBGQlFTeERRVUZCTEdGQlFVRXNRMEZCUVN4dFFrRkJRU3hGUVVGQk8wRkJRVUVzVVVGRFF5eEhRVUZKTEVWQlFVRXNZMEZCUVR0QlFVRkJMRkZCUTBvc1RVRkJUU3hQUVVGUkxFTkJRVUVzU1VGQlFUdEJRVUZCTEZGQlEyUXNWMEZCUVR0QlFVRkJMRkZCUTBFc1QwRkJVeXhGUVVGQkxHdENRVUZCTzBGQlFVRXNVVUZEVkN4bFFVRkJMRVZCUVdsQ0xFMUJRVTBzUzBGQlRTeERRVUZCTEZGQlFVRXNRMEZCVXl4RlFVRkZMR3RDUVVGdlFpeEZRVUZCTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVUU3UVVGQlFTeFBRVU51Uml4RFFVRkJPMEZCUVVFc1MwRkRSaXhEUVVGQk8wRkJRVUVzUjBGRFJqdEJRVWRCTEVWQlFVa3NTVUZCUVN4TFFVRkJMRU5CUVUwc1RVRkJUU3hWUVVGWkxFVkJRVUU3UVVGRE1VSXNTVUZCUVN4cFFrRkJRU3hEUVVGclFpeEpRVUZMTEdsQ1FVRkJMRXRCUVVFc1EwRkJRU3hoUVVGQkxFTkJRVU1zUzBGQlRTeERRVUZCTEV0QlFVRXNRMEZCVFN4WFFVRlhMRk5CUVhaQ0xFVkJRVUU3UVVGQlFTeE5RVUZwUXl4TFFVRkJMRVZCUVU4c1RVRkJUU3hMUVVGTkxFTkJRVUVzVlVGQlFUdEJRVUZCTEUxQlFWa3NSMEZCUVN4RlFVRkxMRTFCUVUwc1MwRkJUU3hEUVVGQkxFZEJRVUU3UVVGQlFTeExRVUZMTEVOQlFVVXNRMEZCUVN4RFFVRkJPMEZCUVVFc1IwRkRiRWc3UVVGRlFTeEZRVUZCTEVsQlFVa3NiMEpCUVc5Q0xGVkJRVmtzUlVGQlFUdEJRVU5zUXl4SlFVRnJRaXhwUWtGQlFTeERRVUZCTEVsQlFVRTdRVUZCUVN4elFrRkRaaXhMUVVGQkxFTkJRVUVzWVVGQlFTeERRVUZCTEU5QlFVRXNSVUZCUVR0QlFVRkJMRkZCUVZFc1QwRkJVeXhGUVVGQkxFTkJRVUVzUlVGQlFTeEhRVUZCTEcxQ1FVRkJMRU5CUVc5Q0xGVkJRVmNzUTBGQlFTeExRVUZCTEV0QlFTOUNMRWxCUVhkRExFZEJRVUVzUlVGQlFTeEhRVUZCTEZOQlFVRTdRVUZCUVN4UlFVRlhMRWRCUVVFc1JVRkJTeXhEUVVGeFFpeHJRa0ZCUVN4RlFVRkJMRXRCUVVFc1EwRkJUU3hMUVVGTkxFTkJRVUVzUjBGQlFTeERRVUZCTEVOQlFVRTdRVUZCUVN4UFFVTjZSeXhyUWtGQlFTeExRVUZCTEVOQlFVRXNZVUZCUVN4RFFVRkRMRmxCUVZrc1UwRkJXaXhGUVVGQk8wRkJRVUVzVVVGRFF5eFhRVUZYTEVWQlFVY3NRMEZCUVR0QlFVRkJMRlZCUTFvc1EwRkJReXhuUWtGQmFVSXNRMEZCUVN4RlFVRkJMRWRCUVVzc2JVSkJRVzlDTEVOQlFVRXNWVUZCUVN4RFFVRlhMRlZCUVZVc1ZVRkJWeXhEUVVGQkxFVkJRVUU3UVVGQlFTeFZRVU16UlN4RFFVRkRMR2RDUVVGcFFpeERRVUZCTEU5QlFVRXNSMEZCVlN4dFFrRkJiMElzUTBGQlFTeFZRVUZCTEVOQlFWY3NWVUZCVlN4VlFVRlhMRU5CUVVFc1QwRkJRVHRCUVVGQkxGVkJRMmhHTEVOQlFVTXNaMEpCUVdsQ0xFTkJRVUVzVVVGQlFTeEhRVUZYTEcxQ1FVRnZRaXhEUVVGQkxGVkJRVUVzUTBGQlZ5eFZRVUZWTEZWQlFWY3NRMEZCUVN4UlFVRkJPMEZCUVVFc1UwRkRiRVlzUTBGQlFUdEJRVUZCTEU5QlFVRXNhMEpCUlVFc1MwRkJRU3hEUVVGQkxHRkJRVUVzUTBGQlFTeEpRVUZCTEVWQlFVRTdRVUZCUVN4UlFVTkRMRWxCUVUwc1JVRkJRU3h0UWtGQlFTeERRVUZ2UWl4VlFVRlhMRU5CUVVFc1MwRkJRU3hMUVVGVkxHRkJRV0VzWVVGQlowSXNSMEZCUVN4UFFVRkJPMEZCUVVFc1VVRkROVVVzVTBGQlZTeEZRVUZCTEd0Q1FVRkJPMEZCUVVFc1VVRkRWaXhKUVVGTExFVkJRVUVzU1VGQlFUdEJRVUZCTEU5QlExQXNRMEZEUml4RFFVTkdMRU5CUVVFN1FVRkJRU3hMUVVOR0xFTkJRVUU3UVVGQlFTeEhRVU5HTzBGQlJVRXNSVUZCU1N4SlFVRkJMRk5CUVVFc1EwRkJRVHRCUVVOS0xFVkJRVUVzU1VGQlNTeEpRVUZOTEVWQlFVRTdRVUZEVWl4SlFVRlpMRk5CUVVFc2JVSkJRVUVzUzBGQlFTeERRVUZCTEdGQlFVRXNRMEZCUXl4TFFVRkxMRk5CUVV3c1JVRkJRVHRCUVVGQkxFMUJRV1VzUzBGQlR5eEZRVUZCTEVsQlFVRTdRVUZCUVN4TFFVRk5MRU5CUVVFc1EwRkJRVHRCUVVGQkxFZEJRek5ETzBGQlJVRXNSVUZCU1N4SlFVRkJMR05CUVVFc1EwRkJRVHRCUVVWS0xFVkJRVUVzU1VGQlNTeGhRVUZsTEVWQlFVRTdRVUZEYWtJc1NVRkJTU3hKUVVGQkxFdEJRVUVzUTBGQlRTeFBRVUZSTEVOQlFVRXNZVUZCWVN4RFFVRkhMRVZCUVVFN1FVRkRhRU1zVFVGQlFTeGpRVUZCTEcxQ1FVVkxMRXRCUVVFc1EwRkJRU3hoUVVGQkxFTkJRVUVzUzBGQlFTeERRVUZCTEZGQlFVRXNSVUZCUVN4SlFVRkJMRVZCUVVFc1lVRkJRU3hEUVVGakxFZEJRVWtzUTBGQlFTeERRVUZETEUxQlFWY3NTMEZCUVR0QlFVTTNRaXhSUVVGUExIVkNRVUZCTEV0QlFVRXNRMEZCUVN4aFFVRkJMRU5CUVVNc1QwRkJUeXhUUVVGUUxFVkJRVUU3UVVGQlFTeFZRVUZwUWl4TFFVRlBMRVZCUVVFc1RVRkJRVHRCUVVGQkxGVkJRVkVzUjBGQlFTeEZRVUZMTEVOQlFVY3NSVUZCUVN4TlFVRkJMRU5CUVU4c1MwRkJUU3hEUVVGQkxFZEJRVUVzUTBGQlFTeERRVUZCTzBGQlFVRXNVMEZCVHl4RFFVRkJMRU5CUVVFN1FVRkJRU3hQUVVOeVJTeERRVU5JTEVOQlFVRXNRMEZCUVR0QlFVRkJMRXRCUlVvc1RVRkJRU3hKUVVGWExHRkJRV01zUTBGQlFTeGhRVUZoTEVOQlFVY3NSVUZCUVR0QlFVTjJReXhOUVVGcFFpeGpRVUZCTEcxQ1FVRkJMRXRCUVVFc1EwRkJRU3hoUVVGQkxFTkJRVU1zWTBGQll5eFRRVUZrTEVWQlFVRTdRVUZCUVN4UlFVRjNRaXhMUVVGUExFVkJRVUVzWVVGQlFUdEJRVUZCTEU5QlFXVXNRMEZCUVN4RFFVRkJPMEZCUVVFc1MwRkRNMFFzVFVGQlFUdEJRVU5NTEUxQlFXbENMR05CUVVFc1IwRkJRU3hoUVVGQkxFTkJRVUU3UVVGQlFTeExRVU51UWp0QlFVRkJMRWRCUTBZN1FVRkhRU3hGUVVGQkxFMUJRVTBzU1VGQlR5eEhRVUZCTEcxQ1FVRkJMRU5CUVVFN1FVRkZZaXhGUVVGQkxFMUJRVTBzWlVGQmEwSXNSMEZCUVN4VlFVRkJMRU5CUVZjc2IwSkJRWFZDTEVkQlFVRXNWVUZCUVN4RFFVRlhMSE5DUVVGNVFpeEhRVUZCTEVsQlFVRXNRMEZCUVR0QlFVVTVSaXhGUVVGTkxFMUJRVUVzVDBGQlFTeEhRVUZWTEUxQlFVMHNaVUZCWjBJc1JVRkJRU3hEUVVGQk8wRkJRM1JETEVWQlFVMHNUVUZCUVN4UFFVRkJMRWRCUVZVc1RVRkJUU3huUWtGQmFVSXNSVUZCUVN4RFFVRkJPMEZCUlhaRExFVkJRVUVzZFVKQlEwY3NTMEZCUVN4RFFVRkJMR0ZCUVVFc1EwRkJRU3hMUVVGQkxFVkJRVUU3UVVGQlFTeEpRVUZKTEZOQlFWY3NSVUZCUVN4bFFVRkJPMEZCUVVFc1IwRkJRU3hyUWtGRFlpeExRVUZCTEVOQlFVRXNZVUZCUVN4RFFVRkJMRXRCUVVFc1JVRkJRVHRCUVVGQkxFbEJRVWtzUjBGQlFUdEJRVUZCTEVsQlFYbERMRk5CUVZjc1JVRkJRU3hsUVVGQk8wRkJRVUVzU1VGQmFVSXNiMEpCUVVFc1JVRkJiMElzVFVGQlRTeExRVUZOTEVOQlFVRXNSMEZCUVR0QlFVRkJMRWRCUVVFc1JVRkRka2NzUzBGQlVTeEhRVUZCTEVOQlFVRXNTVUZCU3l4TlFVRlRMRWRCUVVFc1EwRkJRU3h2UWtGRGNFSXNTMEZCUVN4RFFVRkJMR0ZCUVVFc1EwRkJRU3hYUVVGQkxFVkJRVUU3UVVGQlFTeEpRVU5ETEV0QlFVOHNSVUZCUVN4cFFrRkJRVHRCUVVGQkxFbEJRMUFzVjBGQllTeEZRVUZCTEVOQlFVRXNWMEZCUVN4SlFVRkJMRWxCUVVFc1IwRkJRU3hMUVVGQkxFTkJRVUVzUjBGQlFTeFhRVUZCTEVOQlFXRXNTVUZCVXl4RlFVRkJMRWxCUVVFc1MwRkJRU3hEUVVGTkxHTkJRV2xDTEVkQlFVRXNTMEZCUVN4RFFVRkJPMEZCUVVFc1NVRkRNVVFzWTBGQll5eEpRVUZMTEVOQlFVRXNTMEZCUVR0QlFVRkJMRWxCUTI1Q0xHRkJRVUVzUlVGQlpTeHpRa0ZCZFVJc1EwRkJRU3hKUVVGQkxFVkJRVTBzWjBKQlFXZENMRU5CUVVFN1FVRkJRU3hKUVVNMVJDeHpRa0ZCYzBJc1MwRkJUU3hEUVVGQkxHOUNRVUZCTzBGQlFVRXNTVUZETlVJc1MwRkJRVHRCUVVGQkxFbEJRMEVzVFVGQlFUdEJRVUZCTEVsQlEwRXNWMEZCUVR0QlFVRkJMRWxCUlVFc1kwRkJRVHRCUVVGQkxFbEJRMEVzVjBGQlFUdEJRVUZCTEVsQlEwRXNhVUpCUVVFN1FVRkJRU3hKUVVOQkxGVkJRVmtzUlVGQlFTeHBRa0ZCUVR0QlFVRkJMRWxCUTFvc1UwRkJRVHRCUVVGQkxFbEJRMEVzVDBGQlV5eEZRVUZCTEdOQlFVRTdRVUZCUVN4SlFVTlVMR1ZCUVVFN1FVRkJRU3hKUVVOQkxFOUJRVUVzUlVGQlV5eE5RVUZQTEVOQlFVRXNVMEZCUVN4SFFVRlpMRTFCUVZNc1IwRkJRU3hKUVVGQk8wRkJRVUVzU1VGRGNrTXNTVUZCVFN4RlFVRkJMRk5CUVVFN1FVRkJRU3hKUVVOT0xHVkJRV1VzUzBGQlRTeERRVUZCTEdGQlFVRTdRVUZCUVN4SlFVVnlRaXhQUVVGVExFVkJRVUVzYVVKQlFVRTdRVUZCUVN4SlFVTlVMRmxCUVdNc1JVRkJRU3hwUWtGQlFUdEJRVUZCTEVsQlEyUXNWMEZCWVN4RlFVRkJMR3RDUVVGQk8wRkJRVUVzU1VGRFlpeFhRVUZCTzBGQlFVRXNTVUZEUVN4VFFVRkJPMEZCUVVFc1NVRkRRU3hyUWtGQmEwSXNTMEZCVFN4RFFVRkJMR2RDUVVGQk8wRkJRVUVzUjBGQlFTeEZRVVYyUWl4RFFVRkRMRlZCUVVFc1JVRkJXU3hYUVVOYUxIRkNRVUZCTEV0QlFVRXNRMEZCUVN4aFFVRkJMRU5CUVVFc1MwRkJRU3hEUVVGQkxGRkJRVUVzUlVGQlFTeEpRVUZCTEd0Q1FVTkhMRXRCUVVFc1EwRkJRU3hoUVVGQkxFTkJRVUVzYTBKQlFVRXNSVUZCUVR0QlFVRkJMRWxCUVcxQ0xGbEJRVUVzUlVGQll5eERRVUZETEUxQlFVRXNSVUZCVVN4SlFVRkpMRU5CUVVFN1FVRkJRU3hIUVVGQkxHdENRVU0xUXl4TFFVRkJMRU5CUVVFc1lVRkJRU3hEUVVGQkxIRkNRVUZCTEVWQlFVRTdRVUZCUVN4SlFVRnpRaXhOUVVGTkxFMUJRVThzUTBGQlFTeEpRVUZCTzBGQlFVRXNSMEZCUVN4clFrRkRha01zUzBGQlFTeERRVUZCTEdGQlFVRXNRMEZCUVN4dlFrRkJRU3hGUVVGQk8wRkJRVUVzU1VGQmNVSXNTMEZCVHl4RlFVRkJMRTlCUVVFN1FVRkJRU3hIUVVGQkxFVkJRekZDTEcxRFFVTkZMRXRCUVVFc1EwRkJRU3hoUVVGQkxFTkJRVUVzWTBGQlFTeEZRVUZCTzBGQlFVRXNTVUZEUXl4RlFVRkpMRVZCUVVFc1QwRkJRVHRCUVVGQkxFbEJRMG9zU1VGQlFUdEJRVUZCTEVsQlEwRXNTMEZCUVR0QlFVRkJMRWxCUTBFc1UwRkJRVHRCUVVGQkxFbEJRMEVzVVVGQlFUdEJRVUZCTEVsQlEwRXNUMEZCUVR0QlFVRkJMRWxCUTBFc1YwRkJRVHRCUVVGQkxFbEJRMEVzVjBGQllTeEZRVUZCTEV0QlFVRTdRVUZCUVN4SlFVTmlMRXRCUVU4c1JVRkJRU3hWUVVGQk8wRkJRVUVzU1VGRFVDeE5RVUZSTEVWQlFVRXNWMEZCUVR0QlFVRkJMRWxCUTFJc1lVRkJaU3hGUVVGQkxHTkJRVUU3UVVGQlFTeEpRVU5tTEd0Q1FVRnJRaXhMUVVGTkxFTkJRVUVzVjBGQlFUdEJRVUZCTEVsQlEzaENMR2xDUVVGcFFpeExRVUZOTEVOQlFVRXNaVUZCUVR0QlFVRkJMRWxCUTNaQ0xIRkNRVUZ4UWl4TFFVRk5MRU5CUVVFc2JVSkJRVUU3UVVGQlFTeEpRVU16UWl4dFFrRkJiVUlzUzBGQlRTeERRVUZCTEdsQ1FVRkJPMEZCUVVFc1NVRkRla0lzVlVGQlZTeFBRVUZSTEVOQlFVRXNVVUZCUVR0QlFVRkJMRWRCUTNCQ0xFTkJSVW9zUTBGRFJpeERRVU5HTEVOQlEwWXNRMEZGU2l4RFFVVktMRU5CUTBZc1EwRkJRU3hEUVVGQk8wRkJSVW9zUTBGQlFUdEJRVVZCTEZOQlFWTXNjMEpCUVVFc1EwRkJkVUlzU1VGQk5rSXNSVUZCUVN4WFFVRkJMRVZCUVhOQ0xHRkJRWGxDTEVWQlFVRTdRVUZETVVjc1JVRkJRU3hQUVVGUExGRkJRVkVzVFVGQlRUdEJRVU51UWl4SlFVRkJMRWxCUVVrc1JVRkJReXhKUVVGQkxFbEJRVUVzU1VGQlFTeEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRWxCUVVFc1EwRkJUU3hOUVVGVkxFTkJRVUVzU1VGQlFTeERRVUZETEdWQlFXVXNZVUZCWlN4RlFVRkJPMEZCUTJ4RUxFMUJRVThzVDBGQlFTeEpRVUZCTEVOQlFVRTdRVUZCUVN4TFFVTlVPMEZCUlVFc1NVRkJRU3hQUVVGUExHbERRVU5HTEVsQlJFVXNRMEZCUVN4RlFVRkJPMEZCUVVFc1RVRkZUQ3hOUVVGUkxFVkJRVUVzU1VGQlFTeERRVUZMTEUxQlFVOHNRMEZCUVN4TFFVRkJMRU5CUVUwc1IwRkJSeXhYUVVGWExFTkJRVUU3UVVGQlFTeExRVU14UXl4RFFVRkJMRU5CUVVFN1FVRkJRU3hIUVVORExFVkJRVUVzUTBGQlF5eEpRVUZOTEVWQlFVRXNWMEZCUVN4RlFVRmhMR0ZCUVdFc1EwRkJReXhEUVVGQkxFTkJRVUU3UVVGRGRrTXNRMEZCUVR0QlFVVkJMRk5CUVZNc1pVRkJaU3hMUVVGcFFpeEZRVUZCTzBGQmVGQjZReXhGUVVGQkxFbEJRVUVzUlVGQlFTeEZRVUZCTEVWQlFVRXNRMEZCUVR0QlFYbFFSU3hGUVVGTkxFMUJRVUVzV1VGQlFTeEhRVUZsTEZWQlFWY3NRMEZCUVN4VFFVRkJMRU5CUVZVc1MwRkJTeXhEUVVGQkxFTkJRVUU3UVVGREwwTXNSVUZCUVN4TlFVRk5MR05CUVdNc1dVRkJZeXhKUVVGQkxFbEJRVUVzUjBGQlFTeExRVUZCTEVOQlFVRXNSMEZCUVN4WlFVRkJMRU5CUVVFc1YwRkJRU3hGUVVGQkxFTkJRVUU3UVVGRmJFTXNSVUZCUVN4SlFVRkpMRU5CUVVNc1dVRkJaMElzU1VGQlFTeERRVUZETEdWQlFXVXNiMEpCUVhGQ0xFTkJRVUVzUzBGQlFTeEZRVUZQTEZsQlFWa3NRMEZCUnl4RlFVRkJPMEZCUXpsRkxFbEJRVUVzVDBGQlR5eEZRVUZGTEZOQlFVRXNSVUZCVnl4RlFVRkpMRVZCUVVFc1pVRkJRU3hGUVVGcFFpeEZRVUZITEVWQlFVRXNRMEZCUVR0QlFVRkJMRWRCUXpsRE8wRkJSVUVzUlVGQlR5eFBRVUZCTEVWQlFVVXNXVUZCVnl4RlFVRmhMRWRCUVVFc1dVRkJRU3hEUVVGQkxGbEJRVUVzUzBGQllpeDFRMEZCSzBJc1pVRkJhVUlzUlVGQlFTeERRVUZCTEVWQlFVRXNSMEZCUVN4WlFVRkJMRWxCUVVFc1NVRkJRU3hIUVVGQkxFdEJRVUVzUTBGQlFTeEhRVUZCTEZsQlFVRXNRMEZCWXl4MVFrRkJaQ3hKUVVGeFF5eEhRVUZCTEV0QlFVRXNRMEZCUVN4SFFVRkJMRVZCUVVFc1EwRkJRU3hKUVVGQkxFTkJRVUVzV1VGQlFTeERRVUZCTEVWQlFVRXNRMEZCUVR0QlFVTXpSeXhEUVVGQk8wRkJUVUVzVTBGQlV5eHZRa0ZCUVN4RFFVRnhRaXhOUVVGdFFpeE5RVUZ4UWl4RlFVRkJPMEZCUTNCRkxFVkJRVUVzU1VGQlNTeFhRVUZYTEVsQlFVc3NRMEZCUVN4TlFVRkJMRU5CUVVFN1FVRkZjRUlzUlVGQlR5eFBRVUZCTEZGQlFVRXNTVUZCV1N4aFFVRmhMRTFCUVZFc1JVRkJRVHRCUVVOMFF5eEpRVUZCTEVsQlFVa3NhVUpCUVdsQ0xGRkJRVk1zUTBGQlFTeExRVUZCTEVsQlFWTXNVVUZCVXl4RFFVRkJMRXRCUVVFc1EwRkJUU3huUWtGQlowSXNTMEZCVHl4RlFVRkJPMEZCUXpORkxFMUJRVThzVDBGQlFTeEpRVUZCTEVOQlFVRTdRVUZCUVN4TFFVTlVPMEZCUlVFc1NVRkJRU3hSUVVGQkxFZEJRVmNzVVVGQlV5eERRVUZCTEUxQlFVRXNRMEZCUVR0QlFVRkJMRWRCUTNSQ08wRkJSVUVzUlVGQlR5eFBRVUZCTEV0QlFVRXNRMEZCUVR0QlFVTlVMRU5CUVVFN1FVRkZRU3hUUVVGVExITkNRVUZCTEVOQlFYVkNMRTFCUVdsQ0xHdENRVUYzUXl4RlFVRkJPMEZCUTNaR0xFVkJRVUVzU1VGQlNTeHJRa0ZCYjBJc1JVRkJRVHRCUVVOMFFpeEpRVUZQTEU5QlFVRXNhMEpCUVVFc1EwRkJRVHRCUVVGQkxFZEJRMVE3UVVGRlFTeEZRVUZCTEVsQlFVa3NUMEZCVlN4SFFVRkJMRWxCUVVFc1EwRkJTeXhMUVVGUkxFZEJRVUVzU1VGQlFTeERRVUZMTEUxQlFVMHNUMEZCVlN4SFFVRkJMRXRCUVVFc1EwRkJRU3hEUVVGQk8wRkJSMmhFTEVWQlFVRXNTVUZCU1N4TFFVRkxMRTFCUVZFc1JVRkJRVHRCUVVObUxFbEJRVlVzVDBGQlFTeEhRVUZCTEVsQlFVRXNRMEZCU3l4UFFVRlBMRWRCUVVrc1EwRkJRU3hEUVVGRExFMUJRVTBzUTBGQlJTeERRVUZCTEU5QlFVOHNRMEZCUlN4RFFVRkJMRWxCUVVFc1EwRkJTeXhKUVVGSkxFTkJRVUVzUTBGQlFUdEJRVUZCTEVkQlEzWkVPMEZCUTBFc1JVRkJUeXhQUVVGQkxFOUJRVUVzUTBGQlFUdEJRVU5VTEVOQlFVRTdRVUZGUVN4TlFVRk5MR3RDUVVGclFpeEhRVUZKTEVOQlFVRTdRVUZCUVN4RlFVTXhRaXhSUVVGVkxFVkJRVUVzVlVGQlFUdEJRVUZCTEVWQlExWXNTMEZCVHl4RlFVRkJMRTFCUVVFN1FVRkJRU3hGUVVOUUxFMUJRVkVzUlVGQlFTeE5RVUZCTzBGQlExWXNRMEZCUXl4RFFVRkJMRU5CUVVFN1FVRlBSQ3hOUVVGTkxHdENRVUZyUWl4SFFVRkpMRU5CUVVFN1FVRkJRU3hGUVVNeFFpeFJRVUZWTEVWQlFVRXNWVUZCUVR0QlFVRkJMRVZCUTFZc1MwRkJUeXhGUVVGQkxFMUJRVUU3UVVGQlFTeEZRVU5RTEUxQlFWRXNSVUZCUVN4TlFVRkJPMEZCUTFZc1EwRkJReXhEUVVGQkxFTkJRVUU3UVVGRlJDeE5RVUZOTEcxQ1FVRkJMRWRCUVhOQ0xFTkJRVU1zUzBGQmVVSXNTMEZCUVR0QlFVTndSQ3hGUVVGUExFOUJRVUU3UVVGQlFTeEpRVU5NTEVsQlFVa3NSMEZCU1N4RFFVRkJPMEZCUVVFc1RVRkRUaXhMUVVGQkxFVkJRVThzUzBGQlRTeERRVUZCTEUxQlFVRXNRMEZCVHl4UFFVRlJMRU5CUVVFc1NVRkJRVHRCUVVGQkxFdEJRemRDTEVOQlFVRTdRVUZCUVN4SlFVTkVMRk5CUVZNc1IwRkJTU3hEUVVGQk8wRkJRVUVzVFVGRFdDeExRVUZCTEVWQlFVOHNTMEZCVFN4RFFVRkJMRTFCUVVFc1EwRkJUeXhQUVVGUkxFTkJRVUVzU1VGQlFUdEJRVUZCTEV0QlF6ZENMRU5CUVVFN1FVRkJRU3hKUVVORUxGVkJRVlVzUjBGQlNTeERRVUZCTzBGQlFVRXNUVUZEV2l4TFFVRkJMRVZCUVU4c1MwRkJUU3hEUVVGQkxFMUJRVUVzUTBGQlR5eExRVUZOTEVOQlFVRXNTVUZCUVR0QlFVRkJMRXRCUXpOQ0xFTkJRVUU3UVVGQlFTeEhRVU5JTEVOQlFVRTdRVUZEUml4RFFVRkJPenM3T3lKOVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlCZ0IsU0FBQSxnQkFBQSxDQUFpQixFQUFFLEtBQUEsRUFBd0MsRUFBQTtBQWpCM0UsRUFBQSxJQUFBLEVBQUEsQ0FBQTtBQWtCUSxFQUFBLE1BQUE7QUFDSixJQUFBLEtBQUE7QUFDQSxJQUFBLE9BQUE7QUFDQSxJQUFBLFdBQUE7QUFDQSxJQUFBLGdCQUFBO0FBQ0EsSUFBQSxXQUFBO0FBQ0EsSUFBQSxXQUFBO0FBQ0EsSUFBQSxjQUFBO0FBQ0EsSUFBQSxpQkFBQTtBQUNBLElBQUEsSUFBQTtBQUNBLElBQUEsYUFBQTtBQUNBLElBQUEsVUFBQTtBQUNBLElBQUEsV0FBQTtBQUNBLElBQUEsa0JBQUE7QUFDQSxJQUFBLFdBQUE7QUFDQSxJQUFBLFdBQUE7QUFDQSxJQUFBLFNBQUE7SUFDQSxjQUFpQixHQUFBLENBQUE7QUFBQSxHQUFBLEdBQ2YsTUFBTSxRQUFTLEVBQUEsQ0FBQTtBQUNuQixFQUFBLE1BQU0sQ0FBQyxHQUFLLEVBQUEsRUFBRSxPQUFPLE1BQU8sRUFBQyxJQUFJLFVBQVcsRUFBQSxDQUFBO0FBQzVDLEVBQUEsTUFBTSxZQUFZLE9BQVEsQ0FBQSxNQUFNLFlBQWEsRUFBQSxFQUFHLEVBQUUsQ0FBQSxDQUFBO0FBRTVDLEVBQUEsTUFBQSxpQkFBQSxHQUFvQixZQUFZLE1BQU07QUFDdEMsSUFBQSxJQUFBLEtBQUEsQ0FBTSxNQUFNLEdBQUssRUFBQTtBQUNULE1BQUEsU0FBQSxDQUFBLE9BQUEsQ0FBUSxJQUFJLHNCQUF1QixDQUFBLEVBQUUsU0FBUyxLQUFNLENBQUEsS0FBQSxDQUFNLEdBQUksRUFBQyxDQUFDLENBQUEsQ0FBQTtBQUFBLEtBQUE7QUFDNUUsR0FBQSxFQUNDLENBQUMsS0FBQSxDQUFNLEtBQU0sQ0FBQSxHQUFBLEVBQUssU0FBUyxD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
@@ -1,45 +0,0 @@
1
- import { css } from '@emotion/css';
2
- import { useStyles2, Icon, Tooltip, Button } from '@grafana/ui';
3
- import React from 'react';
4
-
5
- function VizPanelSeriesLimit({ data, showAll, seriesLimit, onShowAllSeries }) {
6
- const styles = useStyles2(getStyles);
7
- const seriesCount = data == null ? void 0 : data.series.length;
8
- if (seriesCount === void 0 || seriesCount < seriesLimit) {
9
- return null;
10
- }
11
- const buttonText = showAll ? "Restore limit" : `Show all ${seriesCount}`;
12
- return /* @__PURE__ */ React.createElement("div", {
13
- className: styles.timeSeriesDisclaimer
14
- }, !showAll && /* @__PURE__ */ React.createElement("span", {
15
- className: styles.warningMessage
16
- }, /* @__PURE__ */ React.createElement(Icon, {
17
- title: `Showing only ${seriesLimit} series`,
18
- name: "exclamation-triangle",
19
- "aria-hidden": "true"
20
- })), /* @__PURE__ */ React.createElement(Tooltip, {
21
- content: "Rendering too many series in a single panel may impact performance and make data harder to read."
22
- }, /* @__PURE__ */ React.createElement(Button, {
23
- variant: "secondary",
24
- size: "sm",
25
- onClick: onShowAllSeries
26
- }, buttonText)));
27
- }
28
- const getStyles = (theme) => ({
29
- timeSeriesDisclaimer: css({
30
- label: "time-series-disclaimer",
31
- display: "flex",
32
- alignItems: "center",
33
- gap: theme.spacing(1)
34
- }),
35
- warningMessage: css({
36
- display: "flex",
37
- alignItems: "center",
38
- gap: theme.spacing(0.5),
39
- color: theme.colors.warning.main,
40
- fontSize: theme.typography.bodySmall.fontSize
41
- })
42
- });
43
-
44
- export { VizPanelSeriesLimit };
45
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVml6UGFuZWxTZXJpZXNMaW1pdC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29tcG9uZW50cy9WaXpQYW5lbC9WaXpQYW5lbFNlcmllc0xpbWl0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyB1c2VTdHlsZXMyLCBJY29uLCBUb29sdGlwLCBCdXR0b24gfSBmcm9tICdAZ3JhZmFuYS91aSc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5mdW5jdGlvbiBWaXpQYW5lbFNlcmllc0xpbWl0KHsgZGF0YSwgc2hvd0FsbCwgc2VyaWVzTGltaXQsIG9uU2hvd0FsbFNlcmllcyB9KSB7XG4gIGNvbnN0IHN0eWxlcyA9IHVzZVN0eWxlczIoZ2V0U3R5bGVzKTtcbiAgY29uc3Qgc2VyaWVzQ291bnQgPSBkYXRhID09IG51bGwgPyB2b2lkIDAgOiBkYXRhLnNlcmllcy5sZW5ndGg7XG4gIGlmIChzZXJpZXNDb3VudCA9PT0gdm9pZCAwIHx8IHNlcmllc0NvdW50IDwgc2VyaWVzTGltaXQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBidXR0b25UZXh0ID0gc2hvd0FsbCA/IFwiUmVzdG9yZSBsaW1pdFwiIDogYFNob3cgYWxsICR7c2VyaWVzQ291bnR9YDtcbiAgcmV0dXJuIC8qIEBfX1BVUkVfXyAqLyBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcbiAgICBjbGFzc05hbWU6IHN0eWxlcy50aW1lU2VyaWVzRGlzY2xhaW1lclxuICB9LCAhc2hvd0FsbCAmJiAvKiBAX19QVVJFX18gKi8gUmVhY3QuY3JlYXRlRWxlbWVudChcInNwYW5cIiwge1xuICAgIGNsYXNzTmFtZTogc3R5bGVzLndhcm5pbmdNZXNzYWdlXG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdC5jcmVhdGVFbGVtZW50KEljb24sIHtcbiAgICB0aXRsZTogYFNob3dpbmcgb25seSAke3Nlcmllc0xpbWl0fSBzZXJpZXNgLFxuICAgIG5hbWU6IFwiZXhjbGFtYXRpb24tdHJpYW5nbGVcIixcbiAgICBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiXG4gIH0pKSwgLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoVG9vbHRpcCwge1xuICAgIGNvbnRlbnQ6IFwiUmVuZGVyaW5nIHRvbyBtYW55IHNlcmllcyBpbiBhIHNpbmdsZSBwYW5lbCBtYXkgaW1wYWN0IHBlcmZvcm1hbmNlIGFuZCBtYWtlIGRhdGEgaGFyZGVyIHRvIHJlYWQuXCJcbiAgfSwgLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQnV0dG9uLCB7XG4gICAgdmFyaWFudDogXCJzZWNvbmRhcnlcIixcbiAgICBzaXplOiBcInNtXCIsXG4gICAgb25DbGljazogb25TaG93QWxsU2VyaWVzXG4gIH0sIGJ1dHRvblRleHQpKSk7XG59XG5jb25zdCBnZXRTdHlsZXMgPSAodGhlbWUpID0+ICh7XG4gIHRpbWVTZXJpZXNEaXNjbGFpbWVyOiBjc3Moe1xuICAgIGxhYmVsOiBcInRpbWUtc2VyaWVzLWRpc2NsYWltZXJcIixcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgIGdhcDogdGhlbWUuc3BhY2luZygxKVxuICB9KSxcbiAgd2FybmluZ01lc3NhZ2U6IGNzcyh7XG4gICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICBnYXA6IHRoZW1lLnNwYWNpbmcoMC41KSxcbiAgICBjb2xvcjogdGhlbWUuY29sb3JzLndhcm5pbmcubWFpbixcbiAgICBmb250U2l6ZTogdGhlbWUudHlwb2dyYXBoeS5ib2R5U21hbGwuZm9udFNpemVcbiAgfSlcbn0pO1xuXG5leHBvcnQgeyBWaXpQYW5lbFNlcmllc0xpbWl0IH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVZtbDZVR0Z1Wld4VFpYSnBaWE5NYVcxcGRDNXFjeUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZMaTR2TGk0dkxpNHZjM0pqTDJOdmJYQnZibVZ1ZEhNdlZtbDZVR0Z1Wld3dlZtbDZVR0Z1Wld4VFpYSnBaWE5NYVcxcGRDNTBjM2dpWFN3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaWFXMXdiM0owSUhzZ1kzTnpJSDBnWm5KdmJTQW5RR1Z0YjNScGIyNHZZM056Snp0Y2JtbHRjRzl5ZENCN0lFZHlZV1poYm1GVWFHVnRaVElzSUZCaGJtVnNSR0YwWVNCOUlHWnliMjBnSjBCbmNtRm1ZVzVoTDJSaGRHRW5PMXh1YVcxd2IzSjBJSHNnUW5WMGRHOXVMQ0JKWTI5dUxDQlViMjlzZEdsd0xDQjFjMlZUZEhsc1pYTXlJSDBnWm5KdmJTQW5RR2R5WVdaaGJtRXZkV2tuTzF4dWFXMXdiM0owSUZKbFlXTjBJR1p5YjIwZ0ozSmxZV04wSnp0Y2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQlFjbTl3Y3lCN1hHNGdJSE5vYjNkQmJHdy9PaUJpYjI5c1pXRnVPMXh1SUNCelpYSnBaWE5NYVcxcGREb2diblZ0WW1WeU8xeHVJQ0JrWVhSaFB6b2dVR0Z1Wld4RVlYUmhPMXh1SUNCdmJsTm9iM2RCYkd4VFpYSnBaWE02SUNncElEMCtJSFp2YVdRN1hHNTlYRzVjYm1WNGNHOXlkQ0JtZFc1amRHbHZiaUJXYVhwUVlXNWxiRk5sY21sbGMweHBiV2wwS0hzZ1pHRjBZU3dnYzJodmQwRnNiQ3dnYzJWeWFXVnpUR2x0YVhRc0lHOXVVMmh2ZDBGc2JGTmxjbWxsY3lCOU9pQlFjbTl3Y3lrZ2UxeHVJQ0JqYjI1emRDQnpkSGxzWlhNZ1BTQjFjMlZUZEhsc1pYTXlLR2RsZEZOMGVXeGxjeWs3WEc0Z0lHTnZibk4wSUhObGNtbGxjME52ZFc1MElEMGdaR0YwWVQ4dWMyVnlhV1Z6TG14bGJtZDBhRHRjYmx4dUlDQnBaaUFvYzJWeWFXVnpRMjkxYm5RZ1BUMDlJSFZ1WkdWbWFXNWxaQ0I4ZkNCelpYSnBaWE5EYjNWdWRDQThJSE5sY21sbGMweHBiV2wwS1NCN1hHNGdJQ0FnY21WMGRYSnVJRzUxYkd3N1hHNGdJSDFjYmx4dUlDQmpiMjV6ZENCaWRYUjBiMjVVWlhoMElEMGdjMmh2ZDBGc2JDQS9JQ2RTWlhOMGIzSmxJR3hwYldsMEp5QTZJR0JUYUc5M0lHRnNiQ0FrZTNObGNtbGxjME52ZFc1MGZXQTdYRzVjYmlBZ2NtVjBkWEp1SUNoY2JpQWdJQ0E4WkdsMklHTnNZWE56VG1GdFpUMTdjM1I1YkdWekxuUnBiV1ZUWlhKcFpYTkVhWE5qYkdGcGJXVnlmVDVjYmlBZ0lDQWdJSHNoYzJodmQwRnNiQ0FtSmlBb1hHNGdJQ0FnSUNBZ0lEeHpjR0Z1SUdOc1lYTnpUbUZ0WlQxN2MzUjViR1Z6TG5kaGNtNXBibWROWlhOellXZGxmVDVjYmlBZ0lDQWdJQ0FnSUNBOFNXTnZiaUIwYVhSc1pUMTdZRk5vYjNkcGJtY2diMjVzZVNBa2UzTmxjbWxsYzB4cGJXbDBmU0J6WlhKcFpYTmdmU0J1WVcxbFBWd2laWGhqYkdGdFlYUnBiMjR0ZEhKcFlXNW5iR1ZjSWlCaGNtbGhMV2hwWkdSbGJqMWNJblJ5ZFdWY0lpQXZQbHh1SUNBZ0lDQWdJQ0E4TDNOd1lXNCtYRzRnSUNBZ0lDQXBmVnh1SUNBZ0lDQWdQRlJ2YjJ4MGFYQmNiaUFnSUNBZ0lDQWdZMjl1ZEdWdWREMTdKMUpsYm1SbGNtbHVaeUIwYjI4Z2JXRnVlU0J6WlhKcFpYTWdhVzRnWVNCemFXNW5iR1VnY0dGdVpXd2diV0Y1SUdsdGNHRmpkQ0J3WlhKbWIzSnRZVzVqWlNCaGJtUWdiV0ZyWlNCa1lYUmhJR2hoY21SbGNpQjBieUJ5WldGa0xpZDlYRzRnSUNBZ0lDQStYRzRnSUNBZ0lDQWdJRHhDZFhSMGIyNGdkbUZ5YVdGdWREMWNJbk5sWTI5dVpHRnllVndpSUhOcGVtVTlYQ0p6YlZ3aUlHOXVRMnhwWTJzOWUyOXVVMmh2ZDBGc2JGTmxjbWxsYzMwK1hHNGdJQ0FnSUNBZ0lDQWdlMkoxZEhSdmJsUmxlSFI5WEc0Z0lDQWdJQ0FnSUR3dlFuVjBkRzl1UGx4dUlDQWdJQ0FnUEM5VWIyOXNkR2x3UGx4dUlDQWdJRHd2WkdsMlBseHVJQ0FwTzF4dWZWeHVYRzVqYjI1emRDQm5aWFJUZEhsc1pYTWdQU0FvZEdobGJXVTZJRWR5WVdaaGJtRlVhR1Z0WlRJcElEMCtJQ2g3WEc0Z0lIUnBiV1ZUWlhKcFpYTkVhWE5qYkdGcGJXVnlPaUJqYzNNb2UxeHVJQ0FnSUd4aFltVnNPaUFuZEdsdFpTMXpaWEpwWlhNdFpHbHpZMnhoYVcxbGNpY3NYRzRnSUNBZ1pHbHpjR3hoZVRvZ0oyWnNaWGduTEZ4dUlDQWdJR0ZzYVdkdVNYUmxiWE02SUNkalpXNTBaWEluTEZ4dUlDQWdJR2RoY0RvZ2RHaGxiV1V1YzNCaFkybHVaeWd4S1N4Y2JpQWdmU2tzWEc0Z0lIZGhjbTVwYm1kTlpYTnpZV2RsT2lCamMzTW9lMXh1SUNBZ0lHUnBjM0JzWVhrNklDZG1iR1Y0Snl4Y2JpQWdJQ0JoYkdsbmJrbDBaVzF6T2lBblkyVnVkR1Z5Snl4Y2JpQWdJQ0JuWVhBNklIUm9aVzFsTG5Od1lXTnBibWNvTUM0MUtTeGNiaUFnSUNCamIyeHZjam9nZEdobGJXVXVZMjlzYjNKekxuZGhjbTVwYm1jdWJXRnBiaXhjYmlBZ0lDQm1iMjUwVTJsNlpUb2dkR2hsYldVdWRIbHdiMmR5WVhCb2VTNWliMlI1VTIxaGJHd3VabTl1ZEZOcGVtVXNYRzRnSUgwcExGeHVmU2s3WEc0aVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWpzN096dEJRVmxQTEZOQlFWTXNiMEpCUVc5Q0xFVkJRVVVzU1VGQlFTeEZRVUZOTEU5QlFWTXNSVUZCUVN4WFFVRkJMRVZCUVdFc2FVSkJRVEJDTEVWQlFVRTdRVUZETVVZc1JVRkJUU3hOUVVGQkxFMUJRVUVzUjBGQlV5eFhRVUZYTEZOQlFWTXNRMEZCUVN4RFFVRkJPMEZCUTI1RExFVkJRVTBzVFVGQlFTeFhRVUZCTEVkQlFXTXNOa0pCUVUwc1RVRkJUeXhEUVVGQkxFMUJRVUVzUTBGQlFUdEJRVVZxUXl4RlFVRkpMRWxCUVVFc1YwRkJRU3hMUVVGblFpeExRVUZoTEVOQlFVRXNTVUZCUVN4WFFVRkJMRWRCUVdNc1YwRkJZU3hGUVVGQk8wRkJRekZFTEVsQlFVOHNUMEZCUVN4SlFVRkJMRU5CUVVFN1FVRkJRU3hIUVVOVU8wRkJSVUVzUlVGQlRTeE5RVUZCTEZWQlFVRXNSMEZCWVN4UFFVRlZMRWRCUVVFc1pVRkJRU3hIUVVGclFpeERRVUZaTEZOQlFVRXNSVUZCUVN4WFFVRkJMRU5CUVVFc1EwRkJRU3hEUVVGQk8wRkJSVE5FTEVWQlFVRXNkVUpCUTBjc1MwRkJRU3hEUVVGQkxHRkJRVUVzUTBGQlFTeExRVUZCTEVWQlFVRTdRVUZCUVN4SlFVRkpMRmRCUVZjc1RVRkJUeXhEUVVGQkxHOUNRVUZCTzBGQlFVRXNSMEZEY0VJc1JVRkJRU3hEUVVGRExESkNRVU5ETEV0QlFVRXNRMEZCUVN4aFFVRkJMRU5CUVVFc1RVRkJRU3hGUVVGQk8wRkJRVUVzU1VGQlN5eFhRVUZYTEUxQlFVOHNRMEZCUVN4alFVRkJPMEZCUVVFc1IwRkJRU3hyUWtGRGNrSXNTMEZCUVN4RFFVRkJMR0ZCUVVFc1EwRkJRU3hKUVVGQkxFVkJRVUU3UVVGQlFTeEpRVUZMTEU5QlFVOHNRMEZCWjBJc1lVRkJRU3hGUVVGQkxGZEJRVUVzUTBGQlFTeFBRVUZCTEVOQlFVRTdRVUZCUVN4SlFVRnpRaXhKUVVGTExFVkJRVUVzYzBKQlFVRTdRVUZCUVN4SlFVRjFRaXhoUVVGWkxFVkJRVUVzVFVGQlFUdEJRVUZCTEVkQlFVOHNRMEZEY0Vjc2JVSkJSVVFzUzBGQlFTeERRVUZCTEdGQlFVRXNRMEZCUVN4UFFVRkJMRVZCUVVFN1FVRkJRU3hKUVVORExFOUJRVk1zUlVGQlFTeHJSMEZCUVR0QlFVRkJMRWRCUVVFc2EwSkJSVklzUzBGQlFTeERRVUZCTEdGQlFVRXNRMEZCUVN4TlFVRkJMRVZCUVVFN1FVRkJRU3hKUVVGUExFOUJRVkVzUlVGQlFTeFhRVUZCTzBGQlFVRXNTVUZCV1N4SlFVRkxMRVZCUVVFc1NVRkJRVHRCUVVGQkxFbEJRVXNzVDBGQlV5eEZRVUZCTEdWQlFVRTdRVUZCUVN4SFFVTTFReXhGUVVGQkxGVkJRMGdzUTBGRFJpeERRVU5HTEVOQlFVRXNRMEZCUVR0QlFVVktMRU5CUVVFN1FVRkZRU3hOUVVGTkxGTkJRVUVzUjBGQldTeERRVUZETEV0QlFUQkNMRTFCUVVFN1FVRkJRU3hGUVVNelF5eHpRa0ZCYzBJc1IwRkJTU3hEUVVGQk8wRkJRVUVzU1VGRGVFSXNTMEZCVHl4RlFVRkJMSGRDUVVGQk8wRkJRVUVzU1VGRFVDeFBRVUZUTEVWQlFVRXNUVUZCUVR0QlFVRkJMRWxCUTFRc1ZVRkJXU3hGUVVGQkxGRkJRVUU3UVVGQlFTeEpRVU5hTEVkQlFVRXNSVUZCU3l4TFFVRk5MRU5CUVVFc1QwRkJRU3hEUVVGUkxFTkJRVU1zUTBGQlFUdEJRVUZCTEVkQlEzSkNMRU5CUVVFN1FVRkJRU3hGUVVORUxHZENRVUZuUWl4SFFVRkpMRU5CUVVFN1FVRkJRU3hKUVVOc1FpeFBRVUZUTEVWQlFVRXNUVUZCUVR0QlFVRkJMRWxCUTFRc1ZVRkJXU3hGUVVGQkxGRkJRVUU3UVVGQlFTeEpRVU5hTEVkQlFVRXNSVUZCU3l4TFFVRk5MRU5CUVVFc1QwRkJRU3hEUVVGUkxFZEJRVWNzUTBGQlFUdEJRVUZCTEVsQlEzUkNMRXRCUVVFc1JVRkJUeXhMUVVGTkxFTkJRVUVzVFVGQlFTeERRVUZQTEU5QlFWRXNRMEZCUVN4SlFVRkJPMEZCUVVFc1NVRkROVUlzVVVGQlFTeEZRVUZWTEV0QlFVMHNRMEZCUVN4VlFVRkJMRU5CUVZjc1UwRkJWU3hEUVVGQkxGRkJRVUU3UVVGQlFTeEhRVU4wUXl4RFFVRkJPMEZCUTBnc1EwRkJRU3hEUVVGQk96czdPeUo5XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQVlPLFNBQVMsb0JBQW9CLEVBQUUsSUFBQSxFQUFNLE9BQVMsRUFBQSxXQUFBLEVBQWEsaUJBQTBCLEVBQUE7QUFDcEYsRUFBQSxNQUFBLE1BQUEsR0FBUyxXQUFXLFNBQVMsQ0FBQSxDQUFBO0FBQzdCLEVBQUEsTUFBQSxXQUFjLEdBQUEsSUFBQSxJQUFBLElBQUEsR0FBQSxLQUFBLENBQUEsR0FBQSxLQUFNLE1BQU8sQ0FBQSxNQUFBLENBQUE7QUFFN0IsRUFBQSxJQUFBLFdBQUEsS0FBZ0IsS0FBYSxDQUFBLElBQUEsV0FBQSxHQUFjLFdBQWEsRUFBQTtBQUNuRCxJQUFBLE9BQUEsSUFBQSxDQUFBO0FBQUEsR0FBQTtBQUdILEVBQUEsTUFBQSxVQUFBLEdBQWEsT0FBVSxHQUFBLGVBQUEsR0FBa0IsQ0FBWSxTQUFBLEVBQUEsV0FBQSxDQUFBLENBQUEsQ0FBQTtBQUUzRCxFQUNHLHVCQUFBLEtBQUEsQ0FBQSxjQUFBLEtBQUEsRUFBQTtBQUFJLElBQUEsU0FBQSxFQUFXLE1BQU8sQ0FBQSxvQkFBQTtBQUFBLEdBQUEsRUFDcEIsQ0FBQyxPQUFBLG9CQUNDLEtBQUEsQ0FBQSxhQUFBLENBQUEsTUFBQSxFQUFBO0FBQUssSUFBQSxTQUFBLEVBQVcsTUFBTyxDQUFBLGNBQUE7R0FDckIsa0JBQUEsS0FBQSxDQUFBLGNBQUEsSUFBQSxFQUFBO0FBQUssSUFBQSxLQUFBLEVBQU8sQ0FBZ0IsYUFBQSxFQUFBLFdBQUEsQ0FBQSxPQUFBLENBQUE7SUFBc0IsSUFBSyxFQUFBLHNCQUFBO0lBQXVCLGFBQVksRUFBQSxNQUFBO0FBQUEsR0FBTyxDQUNwRyxDQUFBLGtCQUVELEtBQUEsQ0FBQSxhQUFBLENBQUEsT0FBQSxFQUFBO0lBQ0MsT0FBUyxFQUFBLGtHQUFBO0dBRVIsa0JBQUEsS0FBQSxDQUFBLGNBQUEsTUFBQSxFQUFBO0lBQU8sT0FBUSxFQUFBLFdBQUE7SUFBWSxJQUFLLEVBQUEsSUFBQTtJQUFLLE9BQVMsRUFBQSxlQUFBO0dBQzVDLEVBQUEsVUFDSCxDQUNGLENBQ0YsQ0FBQSxDQUFBO0FBRUosQ0FBQTtBQUVBLE1BQU0sU0FBQSxHQUFZLENBQUMsS0FBMEIsTUFBQTtBQUMzQyxFQUFBLG9CQUFBLEVBQXNCLEdBQUksQ0FBQTtJQUN4QixLQUFPLEVBQUEsd0JBQUE7SUFDUCxPQUFTLEVBQUEsTUFBQTtJQUNULFVBQVksRUFBQSxRQUFBO0lBQ1osR0FBSyxFQUFBLEtBQUEsQ0FBTSxRQUFRLENBQUMsQ0FBQTtHQUNyQixDQUFBO0FBQ0QsRUFBQSxjQUFBLEVBQWdCLEdBQUksQ0FBQTtJQUNsQixPQUFTLEVBQUEsTUFBQTtJQUNULFVBQVksRUFBQSxRQUFBO0lBQ1osR0FBSyxFQUFBLEtBQUEsQ0FBTSxRQUFRLEdBQUcsQ0FBQTtJQUN0QixLQUFPLEVBQUEsS0FBQSxDQUFNLE9BQU8sT0FBUSxDQUFBLElBQUE7SUFDNUIsUUFBVSxFQUFBLEtBQUEsQ0FBTSxXQUFXLFNBQVUsQ0FBQSxRQUFBO0dBQ3RDLENBQUE7QUFDSCxDQUFBLENBQUE7Ozs7In0=