@grafana/scenes 6.8.0 → 6.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/esm/index.js +1 -1
  3. package/dist/esm/index.js.map +1 -1
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.js +1 -1
  6. package/dist/index.js.map +1 -1
  7. package/package.json +2 -2
  8. package/dist/esm/components/layout/CSSGrid/SceneCSSGridItem.js +0 -33
  9. package/dist/esm/dist/esm/behaviors/CursorSync.js +0 -76
  10. package/dist/esm/dist/esm/behaviors/LiveNowTimer.js +0 -44
  11. package/dist/esm/dist/esm/behaviors/SceneQueryController.js +0 -14
  12. package/dist/esm/dist/esm/components/EmbeddedScene.js +0 -59
  13. package/dist/esm/dist/esm/components/NestedScene.js +0 -95
  14. package/dist/esm/dist/esm/components/SceneApp/SceneApp.js +0 -27
  15. package/dist/esm/dist/esm/components/SceneApp/SceneAppPage.js +0 -176
  16. package/dist/esm/dist/esm/components/SceneApp/SceneAppPageView.js +0 -104
  17. package/dist/esm/dist/esm/components/SceneApp/utils.js +0 -42
  18. package/dist/esm/dist/esm/components/SceneByFrameRepeater.js +0 -41
  19. package/dist/esm/dist/esm/components/SceneByVariableRepeater.js +0 -55
  20. package/dist/esm/dist/esm/components/SceneCanvasText.js +0 -32
  21. package/dist/esm/dist/esm/components/SceneControlsSpacer.js +0 -17
  22. package/dist/esm/dist/esm/components/SceneDebugger/DebugDetails.js +0 -82
  23. package/dist/esm/dist/esm/components/SceneDebugger/DebugTreeNode.js +0 -72
  24. package/dist/esm/dist/esm/components/SceneDebugger/SceneDebugger.js +0 -77
  25. package/dist/esm/dist/esm/components/SceneReactObject.js +0 -34
  26. package/dist/esm/dist/esm/components/SceneRefreshPicker.js +0 -205
  27. package/dist/esm/dist/esm/components/SceneTimePicker.js +0 -139
  28. package/dist/esm/dist/esm/components/SceneTimeRangeCompare.js +0 -240
  29. package/dist/esm/dist/esm/components/SceneToolbarButton.js +0 -33
  30. package/dist/esm/dist/esm/components/VizPanel/VizPanel.js +0 -406
  31. package/dist/esm/dist/esm/components/VizPanel/VizPanelExploreButton.js +0 -44
  32. package/dist/esm/dist/esm/components/VizPanel/VizPanelMenu.js +0 -59
  33. package/dist/esm/dist/esm/components/VizPanel/VizPanelRenderer.js +0 -285
  34. package/dist/esm/dist/esm/components/VizPanel/VizPanelSeriesLimit.js +0 -45
  35. package/dist/esm/dist/esm/components/VizPanel/colorSeriesConfigFactory.js +0 -72
  36. package/dist/esm/dist/esm/components/VizPanel/registerRuntimePanelPlugin.js +0 -11
  37. package/dist/esm/dist/esm/components/VizPanel/seriesVisibilityConfigFactory.js +0 -164
  38. package/dist/esm/dist/esm/components/layout/CSSGrid/SceneCSSGridLayout.js +0 -124
  39. package/dist/esm/dist/esm/components/layout/LazyLoader.js +0 -103
  40. package/dist/esm/dist/esm/components/layout/SceneFlexLayout.js +0 -135
  41. package/dist/esm/dist/esm/components/layout/grid/SceneGridItem.js +0 -30
  42. package/dist/esm/dist/esm/components/layout/grid/SceneGridLayout.js +0 -283
  43. package/dist/esm/dist/esm/components/layout/grid/SceneGridLayoutRenderer.js +0 -178
  44. package/dist/esm/dist/esm/components/layout/grid/SceneGridRow.js +0 -190
  45. package/dist/esm/dist/esm/components/layout/grid/constants.js +0 -7
  46. package/dist/esm/dist/esm/components/layout/grid/utils.js +0 -36
  47. package/dist/esm/dist/esm/components/layout/split/SplitLayout.js +0 -17
  48. package/dist/esm/dist/esm/components/layout/split/SplitLayoutRenderer.js +0 -29
  49. package/dist/esm/dist/esm/components/layout/split/Splitter.js +0 -386
  50. package/dist/esm/dist/esm/core/SceneComponentWrapper.js +0 -57
  51. package/dist/esm/dist/esm/core/SceneDataNode.js +0 -43
  52. package/dist/esm/dist/esm/core/SceneObjectBase.js +0 -286
  53. package/dist/esm/dist/esm/core/SceneObjectRef.js +0 -32
  54. package/dist/esm/dist/esm/core/SceneTimeRange.js +0 -231
  55. package/dist/esm/dist/esm/core/events.js +0 -11
  56. package/dist/esm/dist/esm/core/sceneGraph/getTimeRange.js +0 -10
  57. package/dist/esm/dist/esm/core/sceneGraph/index.js +0 -25
  58. package/dist/esm/dist/esm/core/sceneGraph/sceneGraph.js +0 -178
  59. package/dist/esm/dist/esm/core/sceneGraph/utils.js +0 -64
  60. package/dist/esm/dist/esm/core/types.js +0 -15
  61. package/dist/esm/dist/esm/querying/DataLayersMerger.js +0 -46
  62. package/dist/esm/dist/esm/querying/ExtraQueryProvider.js +0 -6
  63. package/dist/esm/dist/esm/querying/RuntimeDataSource.js +0 -6
  64. package/dist/esm/dist/esm/querying/SceneDataLayerSet.js +0 -100
  65. package/dist/esm/dist/esm/querying/SceneQueryRunner.js +0 -468
  66. package/dist/esm/dist/esm/querying/extraQueryProcessingOperator.js +0 -46
  67. package/dist/esm/dist/esm/querying/getEnrichedDataRequest.js +0 -12
  68. package/dist/esm/dist/esm/querying/layers/SceneDataLayerBase.js +0 -112
  69. package/dist/esm/dist/esm/querying/layers/SceneDataLayerControls.js +0 -51
  70. package/dist/esm/dist/esm/querying/layers/annotations/AnnotationsDataLayer.js +0 -130
  71. package/dist/esm/dist/esm/querying/layers/annotations/filterAnnotations.js +0 -85
  72. package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationQuery.js +0 -121
  73. package/dist/esm/dist/esm/querying/layers/annotations/standardAnnotationsSupport.js +0 -211
  74. package/dist/esm/dist/esm/querying/layers/annotations/utils.js +0 -77
  75. package/dist/esm/dist/esm/querying/registerQueryWithController.js +0 -41
  76. package/dist/esm/dist/esm/services/SceneObjectUrlSyncConfig.js +0 -30
  77. package/dist/esm/dist/esm/services/UniqueUrlKeyMapper.js +0 -45
  78. package/dist/esm/dist/esm/services/UrlSyncManager.js +0 -167
  79. package/dist/esm/dist/esm/services/useUrlSync.js +0 -29
  80. package/dist/esm/dist/esm/services/utils.js +0 -71
  81. package/dist/esm/dist/esm/utils/ControlsLabel.js +0 -107
  82. package/dist/esm/dist/esm/utils/LoadingIndicator.js +0 -19
  83. package/dist/esm/dist/esm/utils/SafeSerializableSceneObject.js +0 -39
  84. package/dist/esm/dist/esm/utils/compatibility/setWindowGrafanaSceneContext.js +0 -16
  85. package/dist/esm/dist/esm/utils/date.js +0 -15
  86. package/dist/esm/dist/esm/utils/evaluateTimeRange.js +0 -16
  87. package/dist/esm/dist/esm/utils/explore.js +0 -47
  88. package/dist/esm/dist/esm/utils/getCompareSeriesRefId.js +0 -4
  89. package/dist/esm/dist/esm/utils/getDataSource.js +0 -18
  90. package/dist/esm/dist/esm/utils/getMessageFromError.js +0 -24
  91. package/dist/esm/dist/esm/utils/metricTree.js +0 -53
  92. package/dist/esm/dist/esm/utils/parseUrlParam.js +0 -41
  93. package/dist/esm/dist/esm/utils/utils.js +0 -11
  94. package/dist/esm/dist/esm/utils/wrapInSafeSerializableSceneObject.js +0 -30
  95. package/dist/esm/dist/esm/utils/writeSceneLog.js +0 -12
  96. package/dist/esm/dist/esm/variables/VariableDependencyConfig.js +0 -150
  97. package/dist/esm/dist/esm/variables/VariableValueRecorder.js +0 -71
  98. package/dist/esm/dist/esm/variables/adhoc/AdHocFilterBuilder.js +0 -24
  99. package/dist/esm/dist/esm/variables/adhoc/AdHocFilterRenderer.js +0 -303
  100. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +0 -162
  101. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +0 -20
  102. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +0 -640
  103. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +0 -65
  104. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +0 -146
  105. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +0 -114
  106. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +0 -68
  107. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersCombobox/utils.js +0 -146
  108. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariable.js +0 -289
  109. package/dist/esm/dist/esm/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +0 -76
  110. package/dist/esm/dist/esm/variables/adhoc/getAdhocOptionSearcher.js +0 -13
  111. package/dist/esm/dist/esm/variables/adhoc/patchGetAdhocFilters.js +0 -47
  112. package/dist/esm/dist/esm/variables/components/VariableValueControl.js +0 -23
  113. package/dist/esm/dist/esm/variables/components/VariableValueInput.js +0 -33
  114. package/dist/esm/dist/esm/variables/components/VariableValueSelect.js +0 -228
  115. package/dist/esm/dist/esm/variables/components/VariableValueSelectors.js +0 -72
  116. package/dist/esm/dist/esm/variables/components/getOptionSearcher.js +0 -15
  117. package/dist/esm/dist/esm/variables/constants.js +0 -9
  118. package/dist/esm/dist/esm/variables/getEnrichedFiltersRequest.js +0 -12
  119. package/dist/esm/dist/esm/variables/groupby/GroupByVariable.js +0 -259
  120. package/dist/esm/dist/esm/variables/groupby/GroupByVariableUrlSyncHandler.js +0 -63
  121. package/dist/esm/dist/esm/variables/groupby/findActiveGroupByVariablesByUid.js +0 -13
  122. package/dist/esm/dist/esm/variables/interpolation/ScopedVarsVariable.js +0 -40
  123. package/dist/esm/dist/esm/variables/interpolation/defaults.js +0 -21
  124. package/dist/esm/dist/esm/variables/interpolation/fieldAccessorCache.js +0 -13
  125. package/dist/esm/dist/esm/variables/interpolation/formatRegistry.js +0 -296
  126. package/dist/esm/dist/esm/variables/interpolation/sceneInterpolator.js +0 -87
  127. package/dist/esm/dist/esm/variables/lookupVariable.js +0 -20
  128. package/dist/esm/dist/esm/variables/macros/AllVariablesMacro.js +0 -57
  129. package/dist/esm/dist/esm/variables/macros/contextMacros.js +0 -43
  130. package/dist/esm/dist/esm/variables/macros/dataMacros.js +0 -134
  131. package/dist/esm/dist/esm/variables/macros/index.js +0 -26
  132. package/dist/esm/dist/esm/variables/macros/templateProxies.js +0 -51
  133. package/dist/esm/dist/esm/variables/macros/timeMacros.js +0 -86
  134. package/dist/esm/dist/esm/variables/macros/types.js +0 -11
  135. package/dist/esm/dist/esm/variables/macros/urlMacros.js +0 -56
  136. package/dist/esm/dist/esm/variables/sets/SceneVariableSet.js +0 -254
  137. package/dist/esm/dist/esm/variables/types.js +0 -11
  138. package/dist/esm/dist/esm/variables/utils.js +0 -172
  139. package/dist/esm/dist/esm/variables/variants/ConstantVariable.js +0 -38
  140. package/dist/esm/dist/esm/variables/variants/CustomVariable.js +0 -60
  141. package/dist/esm/dist/esm/variables/variants/DataSourceVariable.js +0 -88
  142. package/dist/esm/dist/esm/variables/variants/IntervalVariable.js +0 -117
  143. package/dist/esm/dist/esm/variables/variants/MultiValueVariable.js +0 -295
  144. package/dist/esm/dist/esm/variables/variants/TestVariable.js +0 -117
  145. package/dist/esm/dist/esm/variables/variants/TextBoxVariable.js +0 -61
  146. package/dist/esm/dist/esm/variables/variants/query/QueryVariable.js +0 -139
  147. package/dist/esm/dist/esm/variables/variants/query/createQueryVariableRunner.js +0 -129
  148. package/dist/esm/dist/esm/variables/variants/query/guards.js +0 -28
  149. package/dist/esm/dist/esm/variables/variants/query/toMetricFindValues.js +0 -96
  150. package/dist/esm/dist/esm/variables/variants/query/utils.js +0 -124
  151. package/dist/esm/querying/DataProviderSharer.js +0 -39
  152. package/dist/esm/src/behaviors/ActWhenVariableChanged.js +0 -27
  153. package/dist/esm/src/behaviors/CursorSync.js +0 -76
  154. package/dist/esm/src/behaviors/LiveNowTimer.js +0 -44
  155. package/dist/esm/src/behaviors/SceneQueryController.js +0 -60
  156. package/dist/esm/src/behaviors/index.js +0 -5
  157. package/dist/esm/src/components/EmbeddedScene.js +0 -59
  158. package/dist/esm/src/components/NestedScene.js +0 -95
  159. package/dist/esm/src/components/SceneApp/SceneApp.js +0 -37
  160. package/dist/esm/src/components/SceneApp/SceneAppPage.js +0 -176
  161. package/dist/esm/src/components/SceneApp/SceneAppPageView.js +0 -104
  162. package/dist/esm/src/components/SceneApp/utils.js +0 -42
  163. package/dist/esm/src/components/SceneByFrameRepeater.js +0 -41
  164. package/dist/esm/src/components/SceneByVariableRepeater.js +0 -55
  165. package/dist/esm/src/components/SceneCanvasText.js +0 -32
  166. package/dist/esm/src/components/SceneControlsSpacer.js +0 -17
  167. package/dist/esm/src/components/SceneDebugger/DebugDetails.js +0 -82
  168. package/dist/esm/src/components/SceneDebugger/DebugTreeNode.js +0 -72
  169. package/dist/esm/src/components/SceneDebugger/SceneDebugger.js +0 -77
  170. package/dist/esm/src/components/SceneReactObject.js +0 -34
  171. package/dist/esm/src/components/SceneRefreshPicker.js +0 -205
  172. package/dist/esm/src/components/SceneTimePicker.js +0 -139
  173. package/dist/esm/src/components/SceneTimeRangeCompare.js +0 -240
  174. package/dist/esm/src/components/SceneToolbarButton.js +0 -33
  175. package/dist/esm/src/components/VizPanel/VizPanel.js +0 -406
  176. package/dist/esm/src/components/VizPanel/VizPanelExploreButton.js +0 -44
  177. package/dist/esm/src/components/VizPanel/VizPanelMenu.js +0 -59
  178. package/dist/esm/src/components/VizPanel/VizPanelRenderer.js +0 -285
  179. package/dist/esm/src/components/VizPanel/VizPanelSeriesLimit.js +0 -45
  180. package/dist/esm/src/components/VizPanel/colorSeriesConfigFactory.js +0 -72
  181. package/dist/esm/src/components/VizPanel/registerRuntimePanelPlugin.js +0 -56
  182. package/dist/esm/src/components/VizPanel/seriesVisibilityConfigFactory.js +0 -164
  183. package/dist/esm/src/components/layout/CSSGrid/SceneCSSGridLayout.js +0 -124
  184. package/dist/esm/src/components/layout/LazyLoader.js +0 -103
  185. package/dist/esm/src/components/layout/SceneFlexLayout.js +0 -135
  186. package/dist/esm/src/components/layout/grid/SceneGridItem.js +0 -30
  187. package/dist/esm/src/components/layout/grid/SceneGridLayout.js +0 -283
  188. package/dist/esm/src/components/layout/grid/SceneGridLayoutRenderer.js +0 -178
  189. package/dist/esm/src/components/layout/grid/SceneGridRow.js +0 -190
  190. package/dist/esm/src/components/layout/grid/constants.js +0 -7
  191. package/dist/esm/src/components/layout/grid/utils.js +0 -36
  192. package/dist/esm/src/components/layout/split/SplitLayout.js +0 -17
  193. package/dist/esm/src/components/layout/split/SplitLayoutRenderer.js +0 -29
  194. package/dist/esm/src/components/layout/split/Splitter.js +0 -386
  195. package/dist/esm/src/core/PanelBuilders/FieldConfigBuilder.js +0 -100
  196. package/dist/esm/src/core/PanelBuilders/FieldConfigBuilders.js +0 -75
  197. package/dist/esm/src/core/PanelBuilders/FieldConfigOverridesBuilder.js +0 -75
  198. package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilder.js +0 -22
  199. package/dist/esm/src/core/PanelBuilders/PanelOptionsBuilders.js +0 -85
  200. package/dist/esm/src/core/PanelBuilders/StandardFieldConfigBuilders.js +0 -52
  201. package/dist/esm/src/core/PanelBuilders/VizConfigBuilder.js +0 -78
  202. package/dist/esm/src/core/PanelBuilders/VizConfigBuilders.js +0 -114
  203. package/dist/esm/src/core/PanelBuilders/VizPanelBuilder.js +0 -162
  204. package/dist/esm/src/core/PanelBuilders/index.js +0 -116
  205. package/dist/esm/src/core/SceneComponentWrapper.js +0 -57
  206. package/dist/esm/src/core/SceneDataNode.js +0 -43
  207. package/dist/esm/src/core/SceneObjectBase.js +0 -286
  208. package/dist/esm/src/core/SceneObjectRef.js +0 -32
  209. package/dist/esm/src/core/SceneTimeRange.js +0 -231
  210. package/dist/esm/src/core/SceneTimeRangeTransformerBase.js +0 -35
  211. package/dist/esm/src/core/SceneTimeZoneOverride.js +0 -63
  212. package/dist/esm/src/core/events.js +0 -11
  213. package/dist/esm/src/core/sceneGraph/getTimeRange.js +0 -10
  214. package/dist/esm/src/core/sceneGraph/index.js +0 -25
  215. package/dist/esm/src/core/sceneGraph/sceneGraph.js +0 -178
  216. package/dist/esm/src/core/sceneGraph/utils.js +0 -64
  217. package/dist/esm/src/core/types.js +0 -15
  218. package/dist/esm/src/index.js +0 -108
  219. package/dist/esm/src/querying/DataLayersMerger.js +0 -46
  220. package/dist/esm/src/querying/DataProviderProxy.js +0 -37
  221. package/dist/esm/src/querying/DataProviderSharer.js +0 -108
  222. package/dist/esm/src/querying/ExtraQueryProvider.js +0 -6
  223. package/dist/esm/src/querying/RuntimeDataSource.js +0 -49
  224. package/dist/esm/src/querying/SceneDataLayerSet.js +0 -100
  225. package/dist/esm/src/querying/SceneDataTransformer.js +0 -178
  226. package/dist/esm/src/querying/SceneQueryRunner.js +0 -468
  227. package/dist/esm/src/querying/extraQueryProcessingOperator.js +0 -46
  228. package/dist/esm/src/querying/getEnrichedDataRequest.js +0 -12
  229. package/dist/esm/src/querying/layers/SceneDataLayerBase.js +0 -112
  230. package/dist/esm/src/querying/layers/SceneDataLayerControls.js +0 -51
  231. package/dist/esm/src/querying/layers/annotations/AnnotationsDataLayer.js +0 -130
  232. package/dist/esm/src/querying/layers/annotations/filterAnnotations.js +0 -85
  233. package/dist/esm/src/querying/layers/annotations/standardAnnotationQuery.js +0 -121
  234. package/dist/esm/src/querying/layers/annotations/standardAnnotationsSupport.js +0 -211
  235. package/dist/esm/src/querying/layers/annotations/utils.js +0 -77
  236. package/dist/esm/src/querying/layers/index.js +0 -2
  237. package/dist/esm/src/querying/registerQueryWithController.js +0 -41
  238. package/dist/esm/src/services/SceneObjectUrlSyncConfig.js +0 -30
  239. package/dist/esm/src/services/UniqueUrlKeyMapper.js +0 -45
  240. package/dist/esm/src/services/UrlSyncContextProvider.js +0 -17
  241. package/dist/esm/src/services/UrlSyncManager.js +0 -167
  242. package/dist/esm/src/services/useUrlSync.js +0 -29
  243. package/dist/esm/src/services/utils.js +0 -75
  244. package/dist/esm/src/utils/ControlsLabel.js +0 -107
  245. package/dist/esm/src/utils/LoadingIndicator.js +0 -19
  246. package/dist/esm/src/utils/SafeSerializableSceneObject.js +0 -39
  247. package/dist/esm/src/utils/compatibility/setWindowGrafanaSceneContext.js +0 -16
  248. package/dist/esm/src/utils/date.js +0 -15
  249. package/dist/esm/src/utils/evaluateTimeRange.js +0 -16
  250. package/dist/esm/src/utils/explore.js +0 -47
  251. package/dist/esm/src/utils/getCompareSeriesRefId.js +0 -4
  252. package/dist/esm/src/utils/getDataSource.js +0 -18
  253. package/dist/esm/src/utils/getMessageFromError.js +0 -24
  254. package/dist/esm/src/utils/metricTree.js +0 -53
  255. package/dist/esm/src/utils/parseUrlParam.js +0 -41
  256. package/dist/esm/src/utils/utils.js +0 -11
  257. package/dist/esm/src/utils/wrapInSafeSerializableSceneObject.js +0 -30
  258. package/dist/esm/src/utils/writeSceneLog.js +0 -12
  259. package/dist/esm/src/variables/VariableDependencyConfig.js +0 -150
  260. package/dist/esm/src/variables/VariableValueRecorder.js +0 -71
  261. package/dist/esm/src/variables/adhoc/AdHocFilterBuilder.js +0 -24
  262. package/dist/esm/src/variables/adhoc/AdHocFilterRenderer.js +0 -303
  263. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFilterPill.js +0 -162
  264. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersAlwaysWipCombobox.js +0 -20
  265. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +0 -640
  266. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js +0 -65
  267. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/DropdownItem.js +0 -146
  268. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/MultiValuePill.js +0 -114
  269. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/useFloatingInteractions.js +0 -68
  270. package/dist/esm/src/variables/adhoc/AdHocFiltersCombobox/utils.js +0 -146
  271. package/dist/esm/src/variables/adhoc/AdHocFiltersVariable.js +0 -289
  272. package/dist/esm/src/variables/adhoc/AdHocFiltersVariableUrlSyncHandler.js +0 -76
  273. package/dist/esm/src/variables/adhoc/getAdhocOptionSearcher.js +0 -13
  274. package/dist/esm/src/variables/adhoc/patchGetAdhocFilters.js +0 -47
  275. package/dist/esm/src/variables/components/VariableValueControl.js +0 -23
  276. package/dist/esm/src/variables/components/VariableValueInput.js +0 -33
  277. package/dist/esm/src/variables/components/VariableValueSelect.js +0 -228
  278. package/dist/esm/src/variables/components/VariableValueSelectors.js +0 -72
  279. package/dist/esm/src/variables/components/getOptionSearcher.js +0 -15
  280. package/dist/esm/src/variables/constants.js +0 -9
  281. package/dist/esm/src/variables/getEnrichedFiltersRequest.js +0 -12
  282. package/dist/esm/src/variables/groupby/GroupByVariable.js +0 -259
  283. package/dist/esm/src/variables/groupby/GroupByVariableUrlSyncHandler.js +0 -63
  284. package/dist/esm/src/variables/groupby/findActiveGroupByVariablesByUid.js +0 -13
  285. package/dist/esm/src/variables/interpolation/ScopedVarsVariable.js +0 -40
  286. package/dist/esm/src/variables/interpolation/defaults.js +0 -21
  287. package/dist/esm/src/variables/interpolation/fieldAccessorCache.js +0 -13
  288. package/dist/esm/src/variables/interpolation/formatRegistry.js +0 -296
  289. package/dist/esm/src/variables/interpolation/sceneInterpolator.js +0 -87
  290. package/dist/esm/src/variables/lookupVariable.js +0 -20
  291. package/dist/esm/src/variables/macros/AllVariablesMacro.js +0 -57
  292. package/dist/esm/src/variables/macros/contextMacros.js +0 -43
  293. package/dist/esm/src/variables/macros/dataMacros.js +0 -134
  294. package/dist/esm/src/variables/macros/index.js +0 -35
  295. package/dist/esm/src/variables/macros/templateProxies.js +0 -51
  296. package/dist/esm/src/variables/macros/timeMacros.js +0 -86
  297. package/dist/esm/src/variables/macros/types.js +0 -11
  298. package/dist/esm/src/variables/macros/urlMacros.js +0 -56
  299. package/dist/esm/src/variables/sets/SceneVariableSet.js +0 -254
  300. package/dist/esm/src/variables/types.js +0 -11
  301. package/dist/esm/src/variables/utils.js +0 -172
  302. package/dist/esm/src/variables/variants/ConstantVariable.js +0 -38
  303. package/dist/esm/src/variables/variants/CustomVariable.js +0 -60
  304. package/dist/esm/src/variables/variants/DataSourceVariable.js +0 -88
  305. package/dist/esm/src/variables/variants/IntervalVariable.js +0 -117
  306. package/dist/esm/src/variables/variants/JsonVariable.js +0 -193
  307. package/dist/esm/src/variables/variants/LocalValueVariable.js +0 -56
  308. package/dist/esm/src/variables/variants/MultiValueVariable.js +0 -295
  309. package/dist/esm/src/variables/variants/TestVariable.js +0 -117
  310. package/dist/esm/src/variables/variants/TextBoxVariable.js +0 -61
  311. package/dist/esm/src/variables/variants/guards.js +0 -27
  312. package/dist/esm/src/variables/variants/query/QueryVariable.js +0 -139
  313. package/dist/esm/src/variables/variants/query/createQueryVariableRunner.js +0 -129
  314. package/dist/esm/src/variables/variants/query/guards.js +0 -28
  315. package/dist/esm/src/variables/variants/query/toMetricFindValues.js +0 -96
  316. package/dist/esm/src/variables/variants/query/utils.js +0 -124
  317. package/dist/esm/variables/variants/JsonVariable.js +0 -96
  318. package/dist/esm/variables/variants/json/JsonVariable.js +0 -95
  319. package/dist/esm/variables/variants/json/JsonVariableOptionProviders.js +0 -70
@@ -1,289 +0,0 @@
1
- import React from 'react';
2
- import { SceneObjectBase } from '../../core/SceneObjectBase.js';
3
- import { SceneVariableValueChangedEvent } from '../types.js';
4
- import { dataFromResponse, getQueriesForVariables, responseHasError, renderPrometheusLabelFilters } from '../utils.js';
5
- import { patchGetAdhocFilters } from './patchGetAdhocFilters.js';
6
- import { useStyles2 } from '@grafana/ui';
7
- import { sceneGraph } from '../../core/sceneGraph/index.js';
8
- import { AdHocFilterBuilder } from './AdHocFilterBuilder.js';
9
- import { AdHocFilterRenderer } from './AdHocFilterRenderer.js';
10
- import { getDataSourceSrv } from '@grafana/runtime';
11
- import { AdHocFiltersVariableUrlSyncHandler } from './AdHocFiltersVariableUrlSyncHandler.js';
12
- import { css } from '@emotion/css';
13
- import { getEnrichedFiltersRequest } from '../getEnrichedFiltersRequest.js';
14
- import { AdHocFiltersComboboxRenderer } from './AdHocFiltersCombobox/AdHocFiltersComboboxRenderer.js';
15
- import { wrapInSafeSerializableSceneObject } from '../../utils/wrapInSafeSerializableSceneObject.js';
16
-
17
- var __defProp = Object.defineProperty;
18
- var __defProps = Object.defineProperties;
19
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
20
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
21
- var __hasOwnProp = Object.prototype.hasOwnProperty;
22
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
23
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
24
- var __spreadValues = (a, b) => {
25
- for (var prop in b || (b = {}))
26
- if (__hasOwnProp.call(b, prop))
27
- __defNormalProp(a, prop, b[prop]);
28
- if (__getOwnPropSymbols)
29
- for (var prop of __getOwnPropSymbols(b)) {
30
- if (__propIsEnum.call(b, prop))
31
- __defNormalProp(a, prop, b[prop]);
32
- }
33
- return a;
34
- };
35
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
36
- const OPERATORS = [
37
- {
38
- value: "=",
39
- description: "Equals"
40
- },
41
- {
42
- value: "!=",
43
- description: "Not equal"
44
- },
45
- {
46
- value: "=|",
47
- description: "One of. Use to filter on multiple values.",
48
- isMulti: true
49
- },
50
- {
51
- value: "!=|",
52
- description: "Not one of. Use to exclude multiple values.",
53
- isMulti: true
54
- },
55
- {
56
- value: "=~",
57
- description: "Matches regex"
58
- },
59
- {
60
- value: "!~",
61
- description: "Does not match regex"
62
- },
63
- {
64
- value: "<",
65
- description: "Less than"
66
- },
67
- {
68
- value: ">",
69
- description: "Greater than"
70
- }
71
- ];
72
- class AdHocFiltersVariable extends SceneObjectBase {
73
- constructor(state) {
74
- var _a, _b;
75
- super(__spreadValues({
76
- type: "adhoc",
77
- name: (_a = state.name) != null ? _a : "Filters",
78
- filters: [],
79
- datasource: null,
80
- applyMode: "auto",
81
- filterExpression: (_b = state.filterExpression) != null ? _b : renderExpression(state.expressionBuilder, state.filters)
82
- }, state));
83
- this._scopedVars = { __sceneObject: wrapInSafeSerializableSceneObject(this) };
84
- this._dataSourceSrv = getDataSourceSrv();
85
- this._urlSync = new AdHocFiltersVariableUrlSyncHandler(this);
86
- if (this.state.applyMode === "auto") {
87
- patchGetAdhocFilters(this);
88
- }
89
- }
90
- setState(update) {
91
- let filterExpressionChanged = false;
92
- if (update.filters && update.filters !== this.state.filters && !update.filterExpression) {
93
- update.filterExpression = renderExpression(this.state.expressionBuilder, update.filters);
94
- filterExpressionChanged = update.filterExpression !== this.state.filterExpression;
95
- }
96
- super.setState(update);
97
- if (filterExpressionChanged) {
98
- this.publishEvent(new SceneVariableValueChangedEvent(this), true);
99
- }
100
- }
101
- getValue() {
102
- return this.state.filterExpression;
103
- }
104
- _updateFilter(filter, update) {
105
- const { filters, _wip } = this.state;
106
- if (filter === _wip) {
107
- if ("value" in update && update["value"] !== "") {
108
- this.setState({ filters: [...filters, __spreadValues(__spreadValues({}, _wip), update)], _wip: void 0 });
109
- } else {
110
- this.setState({ _wip: __spreadValues(__spreadValues({}, filter), update) });
111
- }
112
- return;
113
- }
114
- const updatedFilters = this.state.filters.map((f) => {
115
- return f === filter ? __spreadValues(__spreadValues({}, f), update) : f;
116
- });
117
- this.setState({ filters: updatedFilters });
118
- }
119
- _removeFilter(filter) {
120
- if (filter === this.state._wip) {
121
- this.setState({ _wip: void 0 });
122
- return;
123
- }
124
- this.setState({ filters: this.state.filters.filter((f) => f !== filter) });
125
- }
126
- _removeLastFilter() {
127
- const filterToRemove = this.state.filters.at(-1);
128
- if (filterToRemove) {
129
- this._removeFilter(filterToRemove);
130
- }
131
- }
132
- _handleComboboxBackspace(filter) {
133
- if (this.state.filters.length) {
134
- let filterToForceIndex = this.state.filters.length - 1;
135
- if (filter !== this.state._wip) {
136
- filterToForceIndex = -1;
137
- }
138
- this.setState({
139
- filters: this.state.filters.reduce((acc, f, index) => {
140
- if (index === filterToForceIndex) {
141
- return [
142
- ...acc,
143
- __spreadProps(__spreadValues({}, f), {
144
- forceEdit: true
145
- })
146
- ];
147
- }
148
- if (f === filter) {
149
- return acc;
150
- }
151
- return [...acc, f];
152
- }, [])
153
- });
154
- }
155
- }
156
- async _getKeys(currentKey) {
157
- var _a, _b, _c;
158
- const override = await ((_b = (_a = this.state).getTagKeysProvider) == null ? void 0 : _b.call(_a, this, currentKey));
159
- if (override && override.replace) {
160
- return dataFromResponse(override.values).map(toSelectableValue);
161
- }
162
- if (this.state.defaultKeys) {
163
- return this.state.defaultKeys.map(toSelectableValue);
164
- }
165
- const ds = await this._dataSourceSrv.get(this.state.datasource, this._scopedVars);
166
- if (!ds || !ds.getTagKeys) {
167
- return [];
168
- }
169
- const otherFilters = this.state.filters.filter((f) => f.key !== currentKey).concat((_c = this.state.baseFilters) != null ? _c : []);
170
- const timeRange = sceneGraph.getTimeRange(this).state.value;
171
- const queries = this.state.useQueriesAsFilterForOptions ? getQueriesForVariables(this) : void 0;
172
- const response = await ds.getTagKeys(__spreadValues({
173
- filters: otherFilters,
174
- queries,
175
- timeRange
176
- }, getEnrichedFiltersRequest(this)));
177
- if (responseHasError(response)) {
178
- this.setState({ error: response.error.message });
179
- }
180
- let keys = dataFromResponse(response);
181
- if (override) {
182
- keys = keys.concat(dataFromResponse(override.values));
183
- }
184
- const tagKeyRegexFilter = this.state.tagKeyRegexFilter;
185
- if (tagKeyRegexFilter) {
186
- keys = keys.filter((f) => f.text.match(tagKeyRegexFilter));
187
- }
188
- return keys.map(toSelectableValue);
189
- }
190
- async _getValuesFor(filter) {
191
- var _a, _b, _c;
192
- const override = await ((_b = (_a = this.state).getTagValuesProvider) == null ? void 0 : _b.call(_a, this, filter));
193
- if (override && override.replace) {
194
- return dataFromResponse(override.values).map(toSelectableValue);
195
- }
196
- const ds = await this._dataSourceSrv.get(this.state.datasource, this._scopedVars);
197
- if (!ds || !ds.getTagValues) {
198
- return [];
199
- }
200
- const otherFilters = this.state.filters.filter((f) => f.key !== filter.key).concat((_c = this.state.baseFilters) != null ? _c : []);
201
- const timeRange = sceneGraph.getTimeRange(this).state.value;
202
- const queries = this.state.useQueriesAsFilterForOptions ? getQueriesForVariables(this) : void 0;
203
- const response = await ds.getTagValues(__spreadValues({
204
- key: filter.key,
205
- filters: otherFilters,
206
- timeRange,
207
- queries
208
- }, getEnrichedFiltersRequest(this)));
209
- if (responseHasError(response)) {
210
- this.setState({ error: response.error.message });
211
- }
212
- let values = dataFromResponse(response);
213
- if (override) {
214
- values = values.concat(dataFromResponse(override.values));
215
- }
216
- return values.map(toSelectableValue);
217
- }
218
- _addWip() {
219
- this.setState({
220
- _wip: { key: "", value: "", operator: "=", condition: "" }
221
- });
222
- }
223
- _getOperators() {
224
- const filteredOperators = this.state.supportsMultiValueOperators ? OPERATORS : OPERATORS.filter((operator) => !operator.isMulti);
225
- return filteredOperators.map(({ value, description }) => ({
226
- label: value,
227
- value,
228
- description
229
- }));
230
- }
231
- }
232
- AdHocFiltersVariable.Component = AdHocFiltersVariableRenderer;
233
- function renderExpression(builder, filters) {
234
- return (builder != null ? builder : renderPrometheusLabelFilters)(filters != null ? filters : []);
235
- }
236
- function AdHocFiltersVariableRenderer({ model }) {
237
- const { filters, readOnly, addFilterButtonText } = model.useState();
238
- const styles = useStyles2(getStyles);
239
- if (model.state.layout === "combobox") {
240
- return /* @__PURE__ */ React.createElement(AdHocFiltersComboboxRenderer, {
241
- model
242
- });
243
- }
244
- return /* @__PURE__ */ React.createElement("div", {
245
- className: styles.wrapper
246
- }, filters.map((filter, index) => /* @__PURE__ */ React.createElement(React.Fragment, {
247
- key: index
248
- }, /* @__PURE__ */ React.createElement(AdHocFilterRenderer, {
249
- filter,
250
- model
251
- }))), !readOnly && /* @__PURE__ */ React.createElement(AdHocFilterBuilder, {
252
- model,
253
- key: "'builder",
254
- addFilterButtonText
255
- }));
256
- }
257
- const getStyles = (theme) => ({
258
- wrapper: css({
259
- display: "flex",
260
- flexWrap: "wrap",
261
- alignItems: "flex-end",
262
- columnGap: theme.spacing(2),
263
- rowGap: theme.spacing(1)
264
- })
265
- });
266
- function toSelectableValue(input) {
267
- const { text, value } = input;
268
- const result = {
269
- label: text,
270
- value: String(value != null ? value : text)
271
- };
272
- if ("group" in input) {
273
- result.group = input.group;
274
- }
275
- return result;
276
- }
277
- function isFilterComplete(filter) {
278
- return filter.key !== "" && filter.operator !== "" && filter.value !== "";
279
- }
280
- function isMultiValueOperator(operatorValue) {
281
- const operator = OPERATORS.find((o) => o.value === operatorValue);
282
- if (!operator) {
283
- return false;
284
- }
285
- return Boolean(operator.isMulti);
286
- }
287
-
288
- export { AdHocFiltersVariable, AdHocFiltersVariableRenderer, OPERATORS, isFilterComplete, isMultiValueOperator, toSelectableValue };
289
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRIb2NGaWx0ZXJzVmFyaWFibGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3ZhcmlhYmxlcy9hZGhvYy9BZEhvY0ZpbHRlcnNWYXJpYWJsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgU2NlbmVPYmplY3RCYXNlIH0gZnJvbSAnLi4vLi4vY29yZS9TY2VuZU9iamVjdEJhc2UuanMnO1xuaW1wb3J0IHsgU2NlbmVWYXJpYWJsZVZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuaW1wb3J0IHsgZGF0YUZyb21SZXNwb25zZSwgZ2V0UXVlcmllc0ZvclZhcmlhYmxlcywgcmVzcG9uc2VIYXNFcnJvciwgcmVuZGVyUHJvbWV0aGV1c0xhYmVsRmlsdGVycyB9IGZyb20gJy4uL3V0aWxzLmpzJztcbmltcG9ydCB7IHBhdGNoR2V0QWRob2NGaWx0ZXJzIH0gZnJvbSAnLi9wYXRjaEdldEFkaG9jRmlsdGVycy5qcyc7XG5pbXBvcnQgeyB1c2VTdHlsZXMyIH0gZnJvbSAnQGdyYWZhbmEvdWknO1xuaW1wb3J0IHsgc2NlbmVHcmFwaCB9IGZyb20gJy4uLy4uL2NvcmUvc2NlbmVHcmFwaC9pbmRleC5qcyc7XG5pbXBvcnQgeyBBZEhvY0ZpbHRlckJ1aWxkZXIgfSBmcm9tICcuL0FkSG9jRmlsdGVyQnVpbGRlci5qcyc7XG5pbXBvcnQgeyBBZEhvY0ZpbHRlclJlbmRlcmVyIH0gZnJvbSAnLi9BZEhvY0ZpbHRlclJlbmRlcmVyLmpzJztcbmltcG9ydCB7IGdldERhdGFTb3VyY2VTcnYgfSBmcm9tICdAZ3JhZmFuYS9ydW50aW1lJztcbmltcG9ydCB7IEFkSG9jRmlsdGVyc1ZhcmlhYmxlVXJsU3luY0hhbmRsZXIgfSBmcm9tICcuL0FkSG9jRmlsdGVyc1ZhcmlhYmxlVXJsU3luY0hhbmRsZXIuanMnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzJztcbmltcG9ydCB7IGdldEVucmljaGVkRmlsdGVyc1JlcXVlc3QgfSBmcm9tICcuLi9nZXRFbnJpY2hlZEZpbHRlcnNSZXF1ZXN0LmpzJztcbmltcG9ydCB7IEFkSG9jRmlsdGVyc0NvbWJvYm94UmVuZGVyZXIgfSBmcm9tICcuL0FkSG9jRmlsdGVyc0NvbWJvYm94L0FkSG9jRmlsdGVyc0NvbWJvYm94UmVuZGVyZXIuanMnO1xuaW1wb3J0IHsgd3JhcEluU2FmZVNlcmlhbGl6YWJsZVNjZW5lT2JqZWN0IH0gZnJvbSAnLi4vLi4vdXRpbHMvd3JhcEluU2FmZVNlcmlhbGl6YWJsZVNjZW5lT2JqZWN0LmpzJztcblxudmFyIF9fZGVmUHJvcCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcbnZhciBfX2RlZlByb3BzID0gT2JqZWN0LmRlZmluZVByb3BlcnRpZXM7XG52YXIgX19nZXRPd25Qcm9wRGVzY3MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycztcbnZhciBfX2dldE93blByb3BTeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztcbnZhciBfX2hhc093blByb3AgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xudmFyIF9fcHJvcElzRW51bSA9IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGU7XG52YXIgX19kZWZOb3JtYWxQcm9wID0gKG9iaiwga2V5LCB2YWx1ZSkgPT4ga2V5IGluIG9iaiA/IF9fZGVmUHJvcChvYmosIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlLCB2YWx1ZSB9KSA6IG9ialtrZXldID0gdmFsdWU7XG52YXIgX19zcHJlYWRWYWx1ZXMgPSAoYSwgYikgPT4ge1xuICBmb3IgKHZhciBwcm9wIGluIGIgfHwgKGIgPSB7fSkpXG4gICAgaWYgKF9faGFzT3duUHJvcC5jYWxsKGIsIHByb3ApKVxuICAgICAgX19kZWZOb3JtYWxQcm9wKGEsIHByb3AsIGJbcHJvcF0pO1xuICBpZiAoX19nZXRPd25Qcm9wU3ltYm9scylcbiAgICBmb3IgKHZhciBwcm9wIG9mIF9fZ2V0T3duUHJvcFN5bWJvbHMoYikpIHtcbiAgICAgIGlmIChfX3Byb3BJc0VudW0uY2FsbChiLCBwcm9wKSlcbiAgICAgICAgX19kZWZOb3JtYWxQcm9wKGEsIHByb3AsIGJbcHJvcF0pO1xuICAgIH1cbiAgcmV0dXJuIGE7XG59O1xudmFyIF9fc3ByZWFkUHJvcHMgPSAoYSwgYikgPT4gX19kZWZQcm9wcyhhLCBfX2dldE93blByb3BEZXNjcyhiKSk7XG5jb25zdCBPUEVSQVRPUlMgPSBbXG4gIHtcbiAgICB2YWx1ZTogXCI9XCIsXG4gICAgZGVzY3JpcHRpb246IFwiRXF1YWxzXCJcbiAgfSxcbiAge1xuICAgIHZhbHVlOiBcIiE9XCIsXG4gICAgZGVzY3JpcHRpb246IFwiTm90IGVxdWFsXCJcbiAgfSxcbiAge1xuICAgIHZhbHVlOiBcIj18XCIsXG4gICAgZGVzY3JpcHRpb246IFwiT25lIG9mLiBVc2UgdG8gZmlsdGVyIG9uIG11bHRpcGxlIHZhbHVlcy5cIixcbiAgICBpc011bHRpOiB0cnVlXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogXCIhPXxcIixcbiAgICBkZXNjcmlwdGlvbjogXCJOb3Qgb25lIG9mLiBVc2UgdG8gZXhjbHVkZSBtdWx0aXBsZSB2YWx1ZXMuXCIsXG4gICAgaXNNdWx0aTogdHJ1ZVxuICB9LFxuICB7XG4gICAgdmFsdWU6IFwiPX5cIixcbiAgICBkZXNjcmlwdGlvbjogXCJNYXRjaGVzIHJlZ2V4XCJcbiAgfSxcbiAge1xuICAgIHZhbHVlOiBcIiF+XCIsXG4gICAgZGVzY3JpcHRpb246IFwiRG9lcyBub3QgbWF0Y2ggcmVnZXhcIlxuICB9LFxuICB7XG4gICAgdmFsdWU6IFwiPFwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIkxlc3MgdGhhblwiXG4gIH0sXG4gIHtcbiAgICB2YWx1ZTogXCI+XCIsXG4gICAgZGVzY3JpcHRpb246IFwiR3JlYXRlciB0aGFuXCJcbiAgfVxuXTtcbmNsYXNzIEFkSG9jRmlsdGVyc1ZhcmlhYmxlIGV4dGVuZHMgU2NlbmVPYmplY3RCYXNlIHtcbiAgY29uc3RydWN0b3Ioc3RhdGUpIHtcbiAgICB2YXIgX2EsIF9iO1xuICAgIHN1cGVyKF9fc3ByZWFkVmFsdWVzKHtcbiAgICAgIHR5cGU6IFwiYWRob2NcIixcbiAgICAgIG5hbWU6IChfYSA9IHN0YXRlLm5hbWUpICE9IG51bGwgPyBfYSA6IFwiRmlsdGVyc1wiLFxuICAgICAgZmlsdGVyczogW10sXG4gICAgICBkYXRhc291cmNlOiBudWxsLFxuICAgICAgYXBwbHlNb2RlOiBcImF1dG9cIixcbiAgICAgIGZpbHRlckV4cHJlc3Npb246IChfYiA9IHN0YXRlLmZpbHRlckV4cHJlc3Npb24pICE9IG51bGwgPyBfYiA6IHJlbmRlckV4cHJlc3Npb24oc3RhdGUuZXhwcmVzc2lvbkJ1aWxkZXIsIHN0YXRlLmZpbHRlcnMpXG4gICAgfSwgc3RhdGUpKTtcbiAgICB0aGlzLl9zY29wZWRWYXJzID0geyBfX3NjZW5lT2JqZWN0OiB3cmFwSW5TYWZlU2VyaWFsaXphYmxlU2NlbmVPYmplY3QodGhpcykgfTtcbiAgICB0aGlzLl9kYXRhU291cmNlU3J2ID0gZ2V0RGF0YVNvdXJjZVNydigpO1xuICAgIHRoaXMuX3VybFN5bmMgPSBuZXcgQWRIb2NGaWx0ZXJzVmFyaWFibGVVcmxTeW5jSGFuZGxlcih0aGlzKTtcbiAgICBpZiAodGhpcy5zdGF0ZS5hcHBseU1vZGUgPT09IFwiYXV0b1wiKSB7XG4gICAgICBwYXRjaEdldEFkaG9jRmlsdGVycyh0aGlzKTtcbiAgICB9XG4gIH1cbiAgc2V0U3RhdGUodXBkYXRlKSB7XG4gICAgbGV0IGZpbHRlckV4cHJlc3Npb25DaGFuZ2VkID0gZmFsc2U7XG4gICAgaWYgKHVwZGF0ZS5maWx0ZXJzICYmIHVwZGF0ZS5maWx0ZXJzICE9PSB0aGlzLnN0YXRlLmZpbHRlcnMgJiYgIXVwZGF0ZS5maWx0ZXJFeHByZXNzaW9uKSB7XG4gICAgICB1cGRhdGUuZmlsdGVyRXhwcmVzc2lvbiA9IHJlbmRlckV4cHJlc3Npb24odGhpcy5zdGF0ZS5leHByZXNzaW9uQnVpbGRlciwgdXBkYXRlLmZpbHRlcnMpO1xuICAgICAgZmlsdGVyRXhwcmVzc2lvbkNoYW5nZWQgPSB1cGRhdGUuZmlsdGVyRXhwcmVzc2lvbiAhPT0gdGhpcy5zdGF0ZS5maWx0ZXJFeHByZXNzaW9uO1xuICAgIH1cbiAgICBzdXBlci5zZXRTdGF0ZSh1cGRhdGUpO1xuICAgIGlmIChmaWx0ZXJFeHByZXNzaW9uQ2hhbmdlZCkge1xuICAgICAgdGhpcy5wdWJsaXNoRXZlbnQobmV3IFNjZW5lVmFyaWFibGVWYWx1ZUNoYW5nZWRFdmVudCh0aGlzKSwgdHJ1ZSk7XG4gICAgfVxuICB9XG4gIGdldFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLmZpbHRlckV4cHJlc3Npb247XG4gIH1cbiAgX3VwZGF0ZUZpbHRlcihmaWx0ZXIsIHVwZGF0ZSkge1xuICAgIGNvbnN0IHsgZmlsdGVycywgX3dpcCB9ID0gdGhpcy5zdGF0ZTtcbiAgICBpZiAoZmlsdGVyID09PSBfd2lwKSB7XG4gICAgICBpZiAoXCJ2YWx1ZVwiIGluIHVwZGF0ZSAmJiB1cGRhdGVbXCJ2YWx1ZVwiXSAhPT0gXCJcIikge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHsgZmlsdGVyczogWy4uLmZpbHRlcnMsIF9fc3ByZWFkVmFsdWVzKF9fc3ByZWFkVmFsdWVzKHt9LCBfd2lwKSwgdXBkYXRlKV0sIF93aXA6IHZvaWQgMCB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBfd2lwOiBfX3NwcmVhZFZhbHVlcyhfX3NwcmVhZFZhbHVlcyh7fSwgZmlsdGVyKSwgdXBkYXRlKSB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdXBkYXRlZEZpbHRlcnMgPSB0aGlzLnN0YXRlLmZpbHRlcnMubWFwKChmKSA9PiB7XG4gICAgICByZXR1cm4gZiA9PT0gZmlsdGVyID8gX19zcHJlYWRWYWx1ZXMoX19zcHJlYWRWYWx1ZXMoe30sIGYpLCB1cGRhdGUpIDogZjtcbiAgICB9KTtcbiAgICB0aGlzLnNldFN0YXRlKHsgZmlsdGVyczogdXBkYXRlZEZpbHRlcnMgfSk7XG4gIH1cbiAgX3JlbW92ZUZpbHRlcihmaWx0ZXIpIHtcbiAgICBpZiAoZmlsdGVyID09PSB0aGlzLnN0YXRlLl93aXApIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBfd2lwOiB2b2lkIDAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2V0U3RhdGUoeyBmaWx0ZXJzOiB0aGlzLnN0YXRlLmZpbHRlcnMuZmlsdGVyKChmKSA9PiBmICE9PSBmaWx0ZXIpIH0pO1xuICB9XG4gIF9yZW1vdmVMYXN0RmlsdGVyKCkge1xuICAgIGNvbnN0IGZpbHRlclRvUmVtb3ZlID0gdGhpcy5zdGF0ZS5maWx0ZXJzLmF0KC0xKTtcbiAgICBpZiAoZmlsdGVyVG9SZW1vdmUpIHtcbiAgICAgIHRoaXMuX3JlbW92ZUZpbHRlcihmaWx0ZXJUb1JlbW92ZSk7XG4gICAgfVxuICB9XG4gIF9oYW5kbGVDb21ib2JveEJhY2tzcGFjZShmaWx0ZXIpIHtcbiAgICBpZiAodGhpcy5zdGF0ZS5maWx0ZXJzLmxlbmd0aCkge1xuICAgICAgbGV0IGZpbHRlclRvRm9yY2VJbmRleCA9IHRoaXMuc3RhdGUuZmlsdGVycy5sZW5ndGggLSAxO1xuICAgICAgaWYgKGZpbHRlciAhPT0gdGhpcy5zdGF0ZS5fd2lwKSB7XG4gICAgICAgIGZpbHRlclRvRm9yY2VJbmRleCA9IC0xO1xuICAgICAgfVxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIGZpbHRlcnM6IHRoaXMuc3RhdGUuZmlsdGVycy5yZWR1Y2UoKGFjYywgZiwgaW5kZXgpID0+IHtcbiAgICAgICAgICBpZiAoaW5kZXggPT09IGZpbHRlclRvRm9yY2VJbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgLi4uYWNjLFxuICAgICAgICAgICAgICBfX3NwcmVhZFByb3BzKF9fc3ByZWFkVmFsdWVzKHt9LCBmKSwge1xuICAgICAgICAgICAgICAgIGZvcmNlRWRpdDogdHJ1ZVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGYgPT09IGZpbHRlcikge1xuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIFsuLi5hY2MsIGZdO1xuICAgICAgICB9LCBbXSlcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBhc3luYyBfZ2V0S2V5cyhjdXJyZW50S2V5KSB7XG4gICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgY29uc3Qgb3ZlcnJpZGUgPSBhd2FpdCAoKF9iID0gKF9hID0gdGhpcy5zdGF0ZSkuZ2V0VGFnS2V5c1Byb3ZpZGVyKSA9PSBudWxsID8gdm9pZCAwIDogX2IuY2FsbChfYSwgdGhpcywgY3VycmVudEtleSkpO1xuICAgIGlmIChvdmVycmlkZSAmJiBvdmVycmlkZS5yZXBsYWNlKSB7XG4gICAgICByZXR1cm4gZGF0YUZyb21SZXNwb25zZShvdmVycmlkZS52YWx1ZXMpLm1hcCh0b1NlbGVjdGFibGVWYWx1ZSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnN0YXRlLmRlZmF1bHRLZXlzKSB7XG4gICAgICByZXR1cm4gdGhpcy5zdGF0ZS5kZWZhdWx0S2V5cy5tYXAodG9TZWxlY3RhYmxlVmFsdWUpO1xuICAgIH1cbiAgICBjb25zdCBkcyA9IGF3YWl0IHRoaXMuX2RhdGFTb3VyY2VTcnYuZ2V0KHRoaXMuc3RhdGUuZGF0YXNvdXJjZSwgdGhpcy5fc2NvcGVkVmFycyk7XG4gICAgaWYgKCFkcyB8fCAhZHMuZ2V0VGFnS2V5cykge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBjb25zdCBvdGhlckZpbHRlcnMgPSB0aGlzLnN0YXRlLmZpbHRlcnMuZmlsdGVyKChmKSA9PiBmLmtleSAhPT0gY3VycmVudEtleSkuY29uY2F0KChfYyA9IHRoaXMuc3RhdGUuYmFzZUZpbHRlcnMpICE9IG51bGwgPyBfYyA6IFtdKTtcbiAgICBjb25zdCB0aW1lUmFuZ2UgPSBzY2VuZUdyYXBoLmdldFRpbWVSYW5nZSh0aGlzKS5zdGF0ZS52YWx1ZTtcbiAgICBjb25zdCBxdWVyaWVzID0gdGhpcy5zdGF0ZS51c2VRdWVyaWVzQXNGaWx0ZXJGb3JPcHRpb25zID8gZ2V0UXVlcmllc0ZvclZhcmlhYmxlcyh0aGlzKSA6IHZvaWQgMDtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGRzLmdldFRhZ0tleXMoX19zcHJlYWRWYWx1ZXMoe1xuICAgICAgZmlsdGVyczogb3RoZXJGaWx0ZXJzLFxuICAgICAgcXVlcmllcyxcbiAgICAgIHRpbWVSYW5nZVxuICAgIH0sIGdldEVucmljaGVkRmlsdGVyc1JlcXVlc3QodGhpcykpKTtcbiAgICBpZiAocmVzcG9uc2VIYXNFcnJvcihyZXNwb25zZSkpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBlcnJvcjogcmVzcG9uc2UuZXJyb3IubWVzc2FnZSB9KTtcbiAgICB9XG4gICAgbGV0IGtleXMgPSBkYXRhRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcbiAgICBpZiAob3ZlcnJpZGUpIHtcbiAgICAgIGtleXMgPSBrZXlzLmNvbmNhdChkYXRhRnJvbVJlc3BvbnNlKG92ZXJyaWRlLnZhbHVlcykpO1xuICAgIH1cbiAgICBjb25zdCB0YWdLZXlSZWdleEZpbHRlciA9IHRoaXMuc3RhdGUudGFnS2V5UmVnZXhGaWx0ZXI7XG4gICAgaWYgKHRhZ0tleVJlZ2V4RmlsdGVyKSB7XG4gICAgICBrZXlzID0ga2V5cy5maWx0ZXIoKGYpID0+IGYudGV4dC5tYXRjaCh0YWdLZXlSZWdleEZpbHRlcikpO1xuICAgIH1cbiAgICByZXR1cm4ga2V5cy5tYXAodG9TZWxlY3RhYmxlVmFsdWUpO1xuICB9XG4gIGFzeW5jIF9nZXRWYWx1ZXNGb3IoZmlsdGVyKSB7XG4gICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgY29uc3Qgb3ZlcnJpZGUgPSBhd2FpdCAoKF9iID0gKF9hID0gdGhpcy5zdGF0ZSkuZ2V0VGFnVmFsdWVzUHJvdmlkZXIpID09IG51bGwgPyB2b2lkIDAgOiBfYi5jYWxsKF9hLCB0aGlzLCBmaWx0ZXIpKTtcbiAgICBpZiAob3ZlcnJpZGUgJiYgb3ZlcnJpZGUucmVwbGFjZSkge1xuICAgICAgcmV0dXJuIGRhdGFGcm9tUmVzcG9uc2Uob3ZlcnJpZGUudmFsdWVzKS5tYXAodG9TZWxlY3RhYmxlVmFsdWUpO1xuICAgIH1cbiAgICBjb25zdCBkcyA9IGF3YWl0IHRoaXMuX2RhdGFTb3VyY2VTcnYuZ2V0KHRoaXMuc3RhdGUuZGF0YXNvdXJjZSwgdGhpcy5fc2NvcGVkVmFycyk7XG4gICAgaWYgKCFkcyB8fCAhZHMuZ2V0VGFnVmFsdWVzKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIGNvbnN0IG90aGVyRmlsdGVycyA9IHRoaXMuc3RhdGUuZmlsdGVycy5maWx0ZXIoKGYpID0+IGYua2V5ICE9PSBmaWx0ZXIua2V5KS5jb25jYXQoKF9jID0gdGhpcy5zdGF0ZS5iYXNlRmlsdGVycykgIT0gbnVsbCA/IF9jIDogW10pO1xuICAgIGNvbnN0IHRpbWVSYW5nZSA9IHNjZW5lR3JhcGguZ2V0VGltZVJhbmdlKHRoaXMpLnN0YXRlLnZhbHVlO1xuICAgIGNvbnN0IHF1ZXJpZXMgPSB0aGlzLnN0YXRlLnVzZVF1ZXJpZXNBc0ZpbHRlckZvck9wdGlvbnMgPyBnZXRRdWVyaWVzRm9yVmFyaWFibGVzKHRoaXMpIDogdm9pZCAwO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZHMuZ2V0VGFnVmFsdWVzKF9fc3ByZWFkVmFsdWVzKHtcbiAgICAgIGtleTogZmlsdGVyLmtleSxcbiAgICAgIGZpbHRlcnM6IG90aGVyRmlsdGVycyxcbiAgICAgIHRpbWVSYW5nZSxcbiAgICAgIHF1ZXJpZXNcbiAgICB9LCBnZXRFbnJpY2hlZEZpbHRlcnNSZXF1ZXN0KHRoaXMpKSk7XG4gICAgaWYgKHJlc3BvbnNlSGFzRXJyb3IocmVzcG9uc2UpKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgZXJyb3I6IHJlc3BvbnNlLmVycm9yLm1lc3NhZ2UgfSk7XG4gICAgfVxuICAgIGxldCB2YWx1ZXMgPSBkYXRhRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcbiAgICBpZiAob3ZlcnJpZGUpIHtcbiAgICAgIHZhbHVlcyA9IHZhbHVlcy5jb25jYXQoZGF0YUZyb21SZXNwb25zZShvdmVycmlkZS52YWx1ZXMpKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlcy5tYXAodG9TZWxlY3RhYmxlVmFsdWUpO1xuICB9XG4gIF9hZGRXaXAoKSB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBfd2lwOiB7IGtleTogXCJcIiwgdmFsdWU6IFwiXCIsIG9wZXJhdG9yOiBcIj1cIiwgY29uZGl0aW9uOiBcIlwiIH1cbiAgICB9KTtcbiAgfVxuICBfZ2V0T3BlcmF0b3JzKCkge1xuICAgIGNvbnN0IGZpbHRlcmVkT3BlcmF0b3JzID0gdGhpcy5zdGF0ZS5zdXBwb3J0c011bHRpVmFsdWVPcGVyYXRvcnMgPyBPUEVSQVRPUlMgOiBPUEVSQVRPUlMuZmlsdGVyKChvcGVyYXRvcikgPT4gIW9wZXJhdG9yLmlzTXVsdGkpO1xuICAgIHJldHVybiBmaWx0ZXJlZE9wZXJhdG9ycy5tYXAoKHsgdmFsdWUsIGRlc2NyaXB0aW9uIH0pID0+ICh7XG4gICAgICBsYWJlbDogdmFsdWUsXG4gICAgICB2YWx1ZSxcbiAgICAgIGRlc2NyaXB0aW9uXG4gICAgfSkpO1xuICB9XG59XG5BZEhvY0ZpbHRlcnNWYXJpYWJsZS5Db21wb25lbnQgPSBBZEhvY0ZpbHRlcnNWYXJpYWJsZVJlbmRlcmVyO1xuZnVuY3Rpb24gcmVuZGVyRXhwcmVzc2lvbihidWlsZGVyLCBmaWx0ZXJzKSB7XG4gIHJldHVybiAoYnVpbGRlciAhPSBudWxsID8gYnVpbGRlciA6IHJlbmRlclByb21ldGhldXNMYWJlbEZpbHRlcnMpKGZpbHRlcnMgIT0gbnVsbCA/IGZpbHRlcnMgOiBbXSk7XG59XG5mdW5jdGlvbiBBZEhvY0ZpbHRlcnNWYXJpYWJsZVJlbmRlcmVyKHsgbW9kZWwgfSkge1xuICBjb25zdCB7IGZpbHRlcnMsIHJlYWRPbmx5LCBhZGRGaWx0ZXJCdXR0b25UZXh0IH0gPSBtb2RlbC51c2VTdGF0ZSgpO1xuICBjb25zdCBzdHlsZXMgPSB1c2VTdHlsZXMyKGdldFN0eWxlcyk7XG4gIGlmIChtb2RlbC5zdGF0ZS5sYXlvdXQgPT09IFwiY29tYm9ib3hcIikge1xuICAgIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3QuY3JlYXRlRWxlbWVudChBZEhvY0ZpbHRlcnNDb21ib2JveFJlbmRlcmVyLCB7XG4gICAgICBtb2RlbFxuICAgIH0pO1xuICB9XG4gIHJldHVybiAvKiBAX19QVVJFX18gKi8gUmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XG4gICAgY2xhc3NOYW1lOiBzdHlsZXMud3JhcHBlclxuICB9LCBmaWx0ZXJzLm1hcCgoZmlsdGVyLCBpbmRleCkgPT4gLyogQF9fUFVSRV9fICovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVhY3QuRnJhZ21lbnQsIHtcbiAgICBrZXk6IGluZGV4XG4gIH0sIC8qIEBfX1BVUkVfXyAqLyBSZWFjdC5jcmVhdGVFbGVtZW50KEFkSG9jRmlsdGVyUmVuZGVyZXIsIHtcbiAgICBmaWx0ZXIsXG4gICAgbW9kZWxcbiAgfSkpKSwgIXJlYWRPbmx5ICYmIC8qIEBfX1BVUkVfXyAqLyBSZWFjdC5jcmVhdGVFbGVtZW50KEFkSG9jRmlsdGVyQnVpbGRlciwge1xuICAgIG1vZGVsLFxuICAgIGtleTogXCInYnVpbGRlclwiLFxuICAgIGFkZEZpbHRlckJ1dHRvblRleHRcbiAgfSkpO1xufVxuY29uc3QgZ2V0U3R5bGVzID0gKHRoZW1lKSA9PiAoe1xuICB3cmFwcGVyOiBjc3Moe1xuICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgIGZsZXhXcmFwOiBcIndyYXBcIixcbiAgICBhbGlnbkl0ZW1zOiBcImZsZXgtZW5kXCIsXG4gICAgY29sdW1uR2FwOiB0aGVtZS5zcGFjaW5nKDIpLFxuICAgIHJvd0dhcDogdGhlbWUuc3BhY2luZygxKVxuICB9KVxufSk7XG5mdW5jdGlvbiB0b1NlbGVjdGFibGVWYWx1ZShpbnB1dCkge1xuICBjb25zdCB7IHRleHQsIHZhbHVlIH0gPSBpbnB1dDtcbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgIGxhYmVsOiB0ZXh0LFxuICAgIHZhbHVlOiBTdHJpbmcodmFsdWUgIT0gbnVsbCA/IHZhbHVlIDogdGV4dClcbiAgfTtcbiAgaWYgKFwiZ3JvdXBcIiBpbiBpbnB1dCkge1xuICAgIHJlc3VsdC5ncm91cCA9IGlucHV0Lmdyb3VwO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBpc0ZpbHRlckNvbXBsZXRlKGZpbHRlcikge1xuICByZXR1cm4gZmlsdGVyLmtleSAhPT0gXCJcIiAmJiBmaWx0ZXIub3BlcmF0b3IgIT09IFwiXCIgJiYgZmlsdGVyLnZhbHVlICE9PSBcIlwiO1xufVxuZnVuY3Rpb24gaXNNdWx0aVZhbHVlT3BlcmF0b3Iob3BlcmF0b3JWYWx1ZSkge1xuICBjb25zdCBvcGVyYXRvciA9IE9QRVJBVE9SUy5maW5kKChvKSA9PiBvLnZhbHVlID09PSBvcGVyYXRvclZhbHVlKTtcbiAgaWYgKCFvcGVyYXRvcikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gQm9vbGVhbihvcGVyYXRvci5pc011bHRpKTtcbn1cblxuZXhwb3J0IHsgQWRIb2NGaWx0ZXJzVmFyaWFibGUsIEFkSG9jRmlsdGVyc1ZhcmlhYmxlUmVuZGVyZXIsIE9QRVJBVE9SUywgaXNGaWx0ZXJDb21wbGV0ZSwgaXNNdWx0aVZhbHVlT3BlcmF0b3IsIHRvU2VsZWN0YWJsZVZhbHVlIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVFXUkliMk5HYVd4MFpYSnpWbUZ5YVdGaWJHVXVhbk1pTENKemIzVnlZMlZ6SWpwYklpNHVMeTR1THk0dUx5NHVMM055WXk5MllYSnBZV0pzWlhNdllXUm9iMk12UVdSSWIyTkdhV3gwWlhKelZtRnlhV0ZpYkdVdWRITjRJbDBzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0JTWldGamRDQm1jbTl0SUNkeVpXRmpkQ2M3WEc1cGJYQnZjblFnZXlCQlpFaHZZMVpoY21saFlteGxSbWxzZEdWeUxDQkhaWFJVWVdkU1pYTndiMjV6WlN3Z1IzSmhabUZ1WVZSb1pXMWxNaXdnVFdWMGNtbGpSbWx1WkZaaGJIVmxMQ0JUWld4bFkzUmhZbXhsVm1Gc2RXVWdmU0JtY205dElDZEFaM0poWm1GdVlTOWtZWFJoSnp0Y2JtbHRjRzl5ZENCN0lGTmpaVzVsVDJKcVpXTjBRbUZ6WlNCOUlHWnliMjBnSnk0dUx5NHVMMk52Y21VdlUyTmxibVZQWW1wbFkzUkNZWE5sSnp0Y2JtbHRjRzl5ZENCN0lGTmpaVzVsVm1GeWFXRmliR1VzSUZOalpXNWxWbUZ5YVdGaWJHVlRkR0YwWlN3Z1UyTmxibVZXWVhKcFlXSnNaVlpoYkhWbFEyaGhibWRsWkVWMlpXNTBMQ0JXWVhKcFlXSnNaVlpoYkhWbElIMGdabkp2YlNBbkxpNHZkSGx3WlhNbk8xeHVhVzF3YjNKMElIc2dRMjl1ZEhKdmJITk1ZWGx2ZFhRc0lGTmpaVzVsUTI5dGNHOXVaVzUwVUhKdmNITWdmU0JtY205dElDY3VMaTh1TGk5amIzSmxMM1I1Y0dWekp6dGNibWx0Y0c5eWRDQjdJRVJoZEdGVGIzVnlZMlZTWldZZ2ZTQm1jbTl0SUNkQVozSmhabUZ1WVM5elkyaGxiV0VuTzF4dWFXMXdiM0owSUhzZ1pHRjBZVVp5YjIxU1pYTndiMjV6WlN3Z1oyVjBVWFZsY21sbGMwWnZjbFpoY21saFlteGxjeXdnY21WdVpHVnlVSEp2YldWMGFHVjFjMHhoWW1Wc1JtbHNkR1Z5Y3l3Z2NtVnpjRzl1YzJWSVlYTkZjbkp2Y2lCOUlHWnliMjBnSnk0dUwzVjBhV3h6Snp0Y2JtbHRjRzl5ZENCN0lIQmhkR05vUjJWMFFXUm9iMk5HYVd4MFpYSnpJSDBnWm5KdmJTQW5MaTl3WVhSamFFZGxkRUZrYUc5alJtbHNkR1Z5Y3ljN1hHNXBiWEJ2Y25RZ2V5QjFjMlZUZEhsc1pYTXlJSDBnWm5KdmJTQW5RR2R5WVdaaGJtRXZkV2tuTzF4dWFXMXdiM0owSUhzZ2MyTmxibVZIY21Gd2FDQjlJR1p5YjIwZ0p5NHVMeTR1TDJOdmNtVXZjMk5sYm1WSGNtRndhQ2M3WEc1cGJYQnZjblFnZXlCQlpFaHZZMFpwYkhSbGNrSjFhV3hrWlhJZ2ZTQm1jbTl0SUNjdUwwRmtTRzlqUm1sc2RHVnlRblZwYkdSbGNpYzdYRzVwYlhCdmNuUWdleUJCWkVodlkwWnBiSFJsY2xKbGJtUmxjbVZ5SUgwZ1puSnZiU0FuTGk5QlpFaHZZMFpwYkhSbGNsSmxibVJsY21WeUp6dGNibWx0Y0c5eWRDQjdJR2RsZEVSaGRHRlRiM1Z5WTJWVGNuWWdmU0JtY205dElDZEFaM0poWm1GdVlTOXlkVzUwYVcxbEp6dGNibWx0Y0c5eWRDQjdJRUZrU0c5alJtbHNkR1Z5YzFaaGNtbGhZbXhsVlhKc1UzbHVZMGhoYm1Sc1pYSWdmU0JtY205dElDY3VMMEZrU0c5alJtbHNkR1Z5YzFaaGNtbGhZbXhsVlhKc1UzbHVZMGhoYm1Sc1pYSW5PMXh1YVcxd2IzSjBJSHNnWTNOeklIMGdabkp2YlNBblFHVnRiM1JwYjI0dlkzTnpKenRjYm1sdGNHOXlkQ0I3SUdkbGRFVnVjbWxqYUdWa1JtbHNkR1Z5YzFKbGNYVmxjM1FnZlNCbWNtOXRJQ2N1TGk5blpYUkZibkpwWTJobFpFWnBiSFJsY25OU1pYRjFaWE4wSnp0Y2JtbHRjRzl5ZENCN0lFRmtTRzlqUm1sc2RHVnljME52YldKdlltOTRVbVZ1WkdWeVpYSWdmU0JtY205dElDY3VMMEZrU0c5alJtbHNkR1Z5YzBOdmJXSnZZbTk0TDBGa1NHOWpSbWxzZEdWeWMwTnZiV0p2WW05NFVtVnVaR1Z5WlhJbk8xeHVhVzF3YjNKMElIc2dkM0poY0VsdVUyRm1aVk5sY21saGJHbDZZV0pzWlZOalpXNWxUMkpxWldOMElIMGdabkp2YlNBbkxpNHZMaTR2ZFhScGJITXZkM0poY0VsdVUyRm1aVk5sY21saGJHbDZZV0pzWlZOalpXNWxUMkpxWldOMEp6dGNibHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JCWkVodlkwWnBiSFJsY2xkcGRHaE1ZV0psYkhNZ1pYaDBaVzVrY3lCQlpFaHZZMVpoY21saFlteGxSbWxzZEdWeUlIdGNiaUFnYTJWNVRHRmlaV3cvT2lCemRISnBibWM3WEc0Z0lIWmhiSFZsVEdGaVpXeHpQem9nYzNSeWFXNW5XMTA3WEc0Z0lDOHZJSFJvYVhNZ2FYTWdkWE5sWkNCMGJ5QmxlSFJsY201aGJHeDVJSFJ5YVdkblpYSWdaV1JwZENCdGIyUmxJR2x1SUdOdmJXSnZZbTk0SUdacGJIUmxjaUJWU1Z4dUlDQm1iM0pqWlVWa2FYUS9PaUJpYjI5c1pXRnVPMXh1ZlZ4dVhHNWxlSEJ2Y25RZ2RIbHdaU0JCWkVodlkwTnZiblJ5YjJ4elRHRjViM1YwSUQwZ1EyOXVkSEp2YkhOTVlYbHZkWFFnZkNBblkyOXRZbTlpYjNnbk8xeHVYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRUZrU0c5alJtbHNkR1Z5YzFaaGNtbGhZbXhsVTNSaGRHVWdaWGgwWlc1a2N5QlRZMlZ1WlZaaGNtbGhZbXhsVTNSaGRHVWdlMXh1SUNBdktpb2dUM0IwYVc5dVlXd2dkR1Y0ZENCMGJ5QmthWE53YkdGNUlHOXVJSFJvWlNBbllXUmtJR1pwYkhSbGNpY2dZblYwZEc5dUlDb3ZYRzRnSUdGa1pFWnBiSFJsY2tKMWRIUnZibFJsZUhRL09pQnpkSEpwYm1jN1hHNGdJQzhxS2lCVWFHVWdkbWx6YVdKc1pTQm1hV3gwWlhKeklDb3ZYRzRnSUdacGJIUmxjbk02SUVGa1NHOWpSbWxzZEdWeVYybDBhRXhoWW1Wc2MxdGRPMXh1SUNBdktpb2dRbUZ6WlNCbWFXeDBaWEp6SUhSdklHRnNkMkY1Y3lCaGNIQnNlU0IzYUdWdUlHeHZiMnRwYm1jZ2RYQWdhMlY1Y3lvdlhHNGdJR0poYzJWR2FXeDBaWEp6UHpvZ1FXUkliMk5HYVd4MFpYSlhhWFJvVEdGaVpXeHpXMTA3WEc0Z0lDOHFLaUJFWVhSaGMyOTFjbU5sSUhSdklIVnpaU0JtYjNJZ1oyVjBWR0ZuUzJWNWN5QmhibVFnWjJWMFZHRm5WbUZzZFdWeklHRnVaQ0JoYkhOdklHTnZiblJ5YjJ4eklIZG9hV05vSUhOalpXNWxJSEYxWlhKcFpYTWdkR2hsSUdacGJIUmxjbk1nYzJodmRXeGtJR0Z3Y0d4NUlIUnZJQ292WEc0Z0lHUmhkR0Z6YjNWeVkyVTZJRVJoZEdGVGIzVnlZMlZTWldZZ2ZDQnVkV3hzTzF4dUlDQXZLaW9nUTI5dWRISnZiSE1nYVdZZ2RHaGxJR1pwYkhSbGNuTWdZMkZ1SUdKbElHTm9ZVzVuWldRZ0tpOWNiaUFnY21WaFpFOXViSGsvT2lCaWIyOXNaV0Z1TzF4dUlDQXZLaXBjYmlBZ0lDb2dRR1Y0Y0dWeWFXMWxiblJoYkZ4dUlDQWdLaUJEYjI1MGNtOXNjeUIwYUdVZ2JHRjViM1YwSUdGdVpDQmtaWE5wWjI0Z2IyWWdkR2hsSUd4aFltVnNMbHh1SUNBZ0tpOWNiaUFnYkdGNWIzVjBQem9nUVdSSWIyTkRiMjUwY205c2MweGhlVzkxZER0Y2JpQWdMeW9xWEc0Z0lDQXFJRVJsWm1GMWJIUnpJSFJ2SUdGMWRHOXRZWFJwWXlCM2FHbGphQ0J0WldGdWN5Qm1hV3gwWlhKeklIZHBiR3dnWVhWMGIyMWhkR2xqWVd4c2VTQmlaU0JoY0hCc2FXVmtJSFJ2SUdGc2JDQnhkV1Z5YVdWeklIZHBkR2dnZEdobElITmhiV1VnWkdGMFlTQnpiM1Z5WTJVZ1lYTWdkR2hwY3lCQlpFaHZZMFpwYkhSbGNsTmxkQzVjYmlBZ0lDb2dTVzRnYldGdWRXRnNJRzF2WkdVZ2VXOTFJR1ZwZEdobGNpQm9ZWFpsSUhSdklIVnpaU0IwYUdVZ1ptbHNkR1Z5Y3lCd2NtOW5jbUZ0YldGMGFXTmhiR3g1SUc5eUlHRnpJR0VnZG1GeWFXRmliR1VnYVc1emFXUmxJSEYxWlhKNUlHVjRjSEpsYzNOcGIyNXpMbHh1SUNBZ0tpOWNiaUFnWVhCd2JIbE5iMlJsT2lBbllYVjBieWNnZkNBbmJXRnVkV0ZzSnp0Y2JpQWdMeW9xWEc0Z0lDQXFJRVpwYkhSbGNpQnZkWFFnZEdobElHdGxlWE1nZEdoaGRDQmtieUJ1YjNRZ2JXRjBZMmdnZEdobElISmxaMlY0TGx4dUlDQWdLaTljYmlBZ2RHRm5TMlY1VW1WblpYaEdhV3gwWlhJL09pQlNaV2RGZUhBN1hHNGdJQzhxS2x4dUlDQWdLaUJGZUhSbGJuTnBiMjRnYUc5dmF5Qm1iM0lnWTNWemRHOXRhWHBwYm1jZ2RHaGxJR3RsZVNCc2IyOXJkWEF1WEc0Z0lDQXFJRkpsZEhWeWJpQnlaWEJzWVdObE9pQjBjblZsSUdsbUlIbHZkU0IzWVc1MElIUnZJRzkyWlhKeWFXUmxJSFJvWlNCa1pXWmhkV3gwSUd4dmIydDFjRnh1SUNBZ0tpQlNaWFIxY200Z2NtVndiR0ZqWlRvZ1ptRnNjMlVnYVdZZ2VXOTFJSGRoYm5RZ2RHOGdZMjl0WW1sdVpTQjBhR1VnY21WemRXeDBjeUIzYVhSb0lIUm9aU0JrWldaaGRXeDBJR3h2YjJ0MWNGeHVJQ0FnS2k5Y2JpQWdaMlYwVkdGblMyVjVjMUJ5YjNacFpHVnlQem9nWjJWMFZHRm5TMlY1YzFCeWIzWnBaR1Z5TzF4dUlDQXZLaXBjYmlBZ0lDb2dSWGgwWlc1emFXOXVJR2h2YjJzZ1ptOXlJR04xYzNSdmJXbDZhVzVuSUhSb1pTQjJZV3gxWlNCc2IyOXJkWEF1WEc0Z0lDQXFJRkpsZEhWeWJpQnlaWEJzWVdObE9pQjBjblZsSUdsbUlIbHZkU0IzWVc1MElIUnZJRzkyWlhKeWFXUmxJSFJvWlNCa1pXWmhkV3gwSUd4dmIydDFjQzVjYmlBZ0lDb2dVbVYwZFhKdUlISmxjR3hoWTJVNklHWmhiSE5sSUdsbUlIbHZkU0IzWVc1MElIUnZJR052YldKcGJtVWdkR2hsSUhKbGMzVnNkSE1nZDJsMGFDQjBhR1VnWkdWbVlYVnNkQ0JzYjI5cmRYQmNiaUFnSUNvdlhHNGdJR2RsZEZSaFoxWmhiSFZsYzFCeWIzWnBaR1Z5UHpvZ1oyVjBWR0ZuVm1Gc2RXVnpVSEp2ZG1sa1pYSTdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFOXdkR2x2Ym1Gc2JIa2djSEp2ZG1sa1pTQmhiaUJoY25KaGVTQnZaaUJ6ZEdGMGFXTWdhMlY1Y3lCMGFHRjBJRzkyWlhKeWFXUmxJR2RsZEZSaFowdGxlWE5jYmlBZ0lDb3ZYRzRnSUdSbFptRjFiSFJMWlhselB6b2dUV1YwY21salJtbHVaRlpoYkhWbFcxMDdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGUm9hWE1nYVhNZ2RHaGxJR1Y0Y0hKbGMzTnBiMjRnZEdoaGRDQjBhR1VnWm1sc2RHVnljeUJ5WlhOMWJIUmxaQ0JwYmk0Z1JHVm1ZWFZzZEhNZ2RHOWNiaUFnSUNvZ1VISnZiV1YwYUdWMWN5QXZJRXh2YTJrZ1kyOXRjR0YwYVdKc1pTQnNZV0psYkNCbWFXeDBaWElnWlhod2NtVnpjMmx2Ymx4dUlDQWdLaTljYmlBZ1ptbHNkR1Z5Ulhod2NtVnpjMmx2Ymo4NklITjBjbWx1Wnp0Y2JseHVJQ0F2S2lwY2JpQWdJQ29nVkdobElHUmxabUYxYkhRZ1luVnBiR1JsY2lCamNtVmhkR1Z6SUdFZ1VISnZiV1YwYUdWMWN5OU1iMnRwSUdOdmJYQmhkR2xpYkdVZ1ptbHNkR1Z5SUdWNGNISmxjM05wYjI0c1hHNGdJQ0FxSUhSb2FYTWdZMkZ1SUdKbElHOTJaWEp5YVdSa1pXNGdkRzhnWTNKbFlYUmxJR0VnWkdsbVptVnlaVzUwSUdWNGNISmxjM05wYjI0Z1ltRnpaV1FnYjI0Z2RHaGxJR04xY25KbGJuUWdabWxzZEdWeWN5NWNiaUFnSUNvdlhHNGdJR1Y0Y0hKbGMzTnBiMjVDZFdsc1pHVnlQem9nUVdSSWIyTldZWEpwWVdKc1pVVjRjSEpsYzNOcGIyNUNkV2xzWkdWeVJtNDdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlGZG9aWFJvWlhJZ2RHaGxJR1pwYkhSbGNpQnpkWEJ3YjNKMGN5QnVaWGNnYlhWc2RHa3RkbUZzZFdVZ2IzQmxjbUYwYjNKeklHeHBhMlVnUFh3Z1lXNWtJQ0U5ZkZ4dUlDQWdLaTljYmlBZ2MzVndjRzl5ZEhOTmRXeDBhVlpoYkhWbFQzQmxjbUYwYjNKelB6b2dZbTl2YkdWaGJqdGNibHh1SUNBdktpcGNiaUFnSUNvZ1YyaGxiaUJ4ZFdWeWVXbHVaeUIwYUdVZ1pHRjBZWE52ZFhKalpTQm1iM0lnYkdGaVpXd2dibUZ0WlhNZ1lXNWtJSFpoYkhWbGN5QjBieUJrWlhSbGNtMXBibVVnYTJWNWN5QmhibVFnZG1Gc2RXVnpYRzRnSUNBcUlHWnZjaUIwYUdseklHRmtJR2h2WXlCbWFXeDBaWElzSUdOdmJuTnBaR1Z5SUhSb1pTQnhkV1Z5YVdWeklHbHVJSFJvWlNCelkyVnVaU0JoYm1RZ2RYTmxJSFJvWlcwZ1lYTWdZU0JtYVd4MFpYSXVYRzRnSUNBcUlGUm9hWE1nY1hWbGNtbGxjeUJtYVd4MFpYSWdZMkZ1SUdKbElIVnpaV1FnZEc4Z1pXNXpkWEpsSUhSb1lYUWdiMjVzZVNCaFpDQm9iMk1nWm1sc2RHVnlJRzl3ZEdsdmJuTWdkR2hoZENCM2IzVnNaRnh1SUNBZ0tpQnBiWEJoWTNRZ2RHaGxJR04xY25KbGJuUWdjWFZsY21sbGN5QmhjbVVnY0hKbGMyVnVkR1ZrSUhSdklIUm9aU0IxYzJWeUxseHVJQ0FnS2k5Y2JpQWdkWE5sVVhWbGNtbGxjMEZ6Um1sc2RHVnlSbTl5VDNCMGFXOXVjejg2SUdKdmIyeGxZVzQ3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRVpzWVdjZ2RHaGhkQ0JrWldOcFpHVnpJSGRvWlhSb1pYSWdZM1Z6ZEc5dElIWmhiSFZsY3lCallXNGdZbVVnWVdSa1pXUWdkRzhnZEdobElHWnBiSFJsY2x4dUlDQWdLaTljYmlBZ1lXeHNiM2REZFhOMGIyMVdZV3gxWlQ4NklHSnZiMnhsWVc0N1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUVCcGJuUmxjbTVoYkNCemRHRjBaU0J2WmlCMGFHVWdibVYzSUdacGJIUmxjaUJpWldsdVp5QmhaR1JsWkZ4dUlDQWdLaTljYmlBZ1gzZHBjRDg2SUVGa1NHOWpSbWxzZEdWeVYybDBhRXhoWW1Wc2N6dGNibjFjYmx4dVpYaHdiM0owSUhSNWNHVWdRV1JJYjJOV1lYSnBZV0pzWlVWNGNISmxjM05wYjI1Q2RXbHNaR1Z5Um00Z1BTQW9abWxzZEdWeWN6b2dRV1JJYjJOR2FXeDBaWEpYYVhSb1RHRmlaV3h6VzEwcElEMCtJSE4wY21sdVp6dGNibHh1Wlhod2IzSjBJSFI1Y0dVZ1oyVjBWR0ZuUzJWNWMxQnliM1pwWkdWeUlEMGdLRnh1SUNCMllYSnBZV0pzWlRvZ1FXUkliMk5HYVd4MFpYSnpWbUZ5YVdGaWJHVXNYRzRnSUdOMWNuSmxiblJMWlhrNklITjBjbWx1WnlCOElHNTFiR3hjYmlrZ1BUNGdVSEp2YldselpUeDdJSEpsY0d4aFkyVS9PaUJpYjI5c1pXRnVPeUIyWVd4MVpYTTZJRWRsZEZSaFoxSmxjM0J2Ym5ObElId2dUV1YwY21salJtbHVaRlpoYkhWbFcxMGdmVDQ3WEc1Y2JtVjRjRzl5ZENCMGVYQmxJR2RsZEZSaFoxWmhiSFZsYzFCeWIzWnBaR1Z5SUQwZ0tGeHVJQ0IyWVhKcFlXSnNaVG9nUVdSSWIyTkdhV3gwWlhKelZtRnlhV0ZpYkdVc1hHNGdJR1pwYkhSbGNqb2dRV1JJYjJOR2FXeDBaWEpYYVhSb1RHRmlaV3h6WEc0cElEMCtJRkJ5YjIxcGMyVThleUJ5WlhCc1lXTmxQem9nWW05dmJHVmhianNnZG1Gc2RXVnpPaUJIWlhSVVlXZFNaWE53YjI1elpTQjhJRTFsZEhKcFkwWnBibVJXWVd4MVpWdGRJSDArTzF4dVhHNWxlSEJ2Y25RZ2RIbHdaU0JCWkVodlkwWnBiSFJsY25OV1lYSnBZV0pzWlVOeVpXRjBaVWhsYkhCbGNrRnlaM01nUFNCQlpFaHZZMFpwYkhSbGNuTldZWEpwWVdKc1pWTjBZWFJsTzF4dVhHNWxlSEJ2Y25RZ2RIbHdaU0JQY0dWeVlYUnZja1JsWm1sdWFYUnBiMjRnUFNCN1hHNGdJSFpoYkhWbE9pQnpkSEpwYm1jN1hHNGdJR1JsYzJOeWFYQjBhVzl1UHpvZ2MzUnlhVzVuTzF4dUlDQnBjMDExYkhScFB6b2dRbTl2YkdWaGJqdGNibjA3WEc1Y2JtVjRjRzl5ZENCamIyNXpkQ0JQVUVWU1FWUlBVbE02SUU5d1pYSmhkRzl5UkdWbWFXNXBkR2x2Ymx0ZElEMGdXMXh1SUNCN1hHNGdJQ0FnZG1Gc2RXVTZJQ2M5Snl4Y2JpQWdJQ0JrWlhOamNtbHdkR2x2YmpvZ0owVnhkV0ZzY3ljc1hHNGdJSDBzWEc0Z0lIdGNiaUFnSUNCMllXeDFaVG9nSnlFOUp5eGNiaUFnSUNCa1pYTmpjbWx3ZEdsdmJqb2dKMDV2ZENCbGNYVmhiQ2NzWEc0Z0lIMHNYRzRnSUh0Y2JpQWdJQ0IyWVd4MVpUb2dKejE4Snl4Y2JpQWdJQ0JrWlhOamNtbHdkR2x2YmpvZ0owOXVaU0J2Wmk0Z1ZYTmxJSFJ2SUdacGJIUmxjaUJ2YmlCdGRXeDBhWEJzWlNCMllXeDFaWE11Snl4Y2JpQWdJQ0JwYzAxMWJIUnBPaUIwY25WbExGeHVJQ0I5TEZ4dUlDQjdYRzRnSUNBZ2RtRnNkV1U2SUNjaFBYd25MRnh1SUNBZ0lHUmxjMk55YVhCMGFXOXVPaUFuVG05MElHOXVaU0J2Wmk0Z1ZYTmxJSFJ2SUdWNFkyeDFaR1VnYlhWc2RHbHdiR1VnZG1Gc2RXVnpMaWNzWEc0Z0lDQWdhWE5OZFd4MGFUb2dkSEoxWlN4Y2JpQWdmU3hjYmlBZ2UxeHVJQ0FnSUhaaGJIVmxPaUFuUFg0bkxGeHVJQ0FnSUdSbGMyTnlhWEIwYVc5dU9pQW5UV0YwWTJobGN5QnlaV2RsZUNjc1hHNGdJSDBzWEc0Z0lIdGNiaUFnSUNCMllXeDFaVG9nSnlGK0p5eGNiaUFnSUNCa1pYTmpjbWx3ZEdsdmJqb2dKMFJ2WlhNZ2JtOTBJRzFoZEdOb0lISmxaMlY0Snl4Y2JpQWdmU3hjYmlBZ2UxeHVJQ0FnSUhaaGJIVmxPaUFuUENjc1hHNGdJQ0FnWkdWelkzSnBjSFJwYjI0NklDZE1aWE56SUhSb1lXNG5MRnh1SUNCOUxGeHVJQ0I3WEc0Z0lDQWdkbUZzZFdVNklDYytKeXhjYmlBZ0lDQmtaWE5qY21sd2RHbHZiam9nSjBkeVpXRjBaWElnZEdoaGJpY3NYRzRnSUgwc1hHNWRPMXh1WEc1bGVIQnZjblFnWTJ4aGMzTWdRV1JJYjJOR2FXeDBaWEp6Vm1GeWFXRmliR1ZjYmlBZ1pYaDBaVzVrY3lCVFkyVnVaVTlpYW1WamRFSmhjMlU4UVdSSWIyTkdhV3gwWlhKelZtRnlhV0ZpYkdWVGRHRjBaVDVjYmlBZ2FXMXdiR1Z0Wlc1MGN5QlRZMlZ1WlZaaGNtbGhZbXhsUEVGa1NHOWpSbWxzZEdWeWMxWmhjbWxoWW14bFUzUmhkR1UrWEc1N1hHNGdJSE4wWVhScFl5QkRiMjF3YjI1bGJuUWdQU0JCWkVodlkwWnBiSFJsY25OV1lYSnBZV0pzWlZKbGJtUmxjbVZ5TzF4dVhHNGdJSEJ5YVhaaGRHVWdYM05qYjNCbFpGWmhjbk1nUFNCN0lGOWZjMk5sYm1WUFltcGxZM1E2SUhkeVlYQkpibE5oWm1WVFpYSnBZV3hwZW1GaWJHVlRZMlZ1WlU5aWFtVmpkQ2gwYUdsektTQjlPMXh1SUNCd2NtbDJZWFJsSUY5a1lYUmhVMjkxY21ObFUzSjJJRDBnWjJWMFJHRjBZVk52ZFhKalpWTnlkaWdwTzF4dVhHNGdJSEJ5YjNSbFkzUmxaQ0JmZFhKc1UzbHVZeUE5SUc1bGR5QkJaRWh2WTBacGJIUmxjbk5XWVhKcFlXSnNaVlZ5YkZONWJtTklZVzVrYkdWeUtIUm9hWE1wTzF4dVhHNGdJSEIxWW14cFl5QmpiMjV6ZEhKMVkzUnZjaWh6ZEdGMFpUb2dVR0Z5ZEdsaGJEeEJaRWh2WTBacGJIUmxjbk5XWVhKcFlXSnNaVk4wWVhSbFBpa2dlMXh1SUNBZ0lITjFjR1Z5S0h0Y2JpQWdJQ0FnSUhSNWNHVTZJQ2RoWkdodll5Y3NYRzRnSUNBZ0lDQnVZVzFsT2lCemRHRjBaUzV1WVcxbElEOC9JQ2RHYVd4MFpYSnpKeXhjYmlBZ0lDQWdJR1pwYkhSbGNuTTZJRnRkTEZ4dUlDQWdJQ0FnWkdGMFlYTnZkWEpqWlRvZ2JuVnNiQ3hjYmlBZ0lDQWdJR0Z3Y0d4NVRXOWtaVG9nSjJGMWRHOG5MRnh1SUNBZ0lDQWdabWxzZEdWeVJYaHdjbVZ6YzJsdmJqb2djM1JoZEdVdVptbHNkR1Z5Ulhod2NtVnpjMmx2YmlBL1B5QnlaVzVrWlhKRmVIQnlaWE56YVc5dUtITjBZWFJsTG1WNGNISmxjM05wYjI1Q2RXbHNaR1Z5TENCemRHRjBaUzVtYVd4MFpYSnpLU3hjYmlBZ0lDQWdJQzR1TG5OMFlYUmxMRnh1SUNBZ0lIMHBPMXh1WEc0Z0lDQWdhV1lnS0hSb2FYTXVjM1JoZEdVdVlYQndiSGxOYjJSbElEMDlQU0FuWVhWMGJ5Y3BJSHRjYmlBZ0lDQWdJSEJoZEdOb1IyVjBRV1JvYjJOR2FXeDBaWEp6S0hSb2FYTXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QnpaWFJUZEdGMFpTaDFjR1JoZEdVNklGQmhjblJwWVd3OFFXUkliMk5HYVd4MFpYSnpWbUZ5YVdGaWJHVlRkR0YwWlQ0cE9pQjJiMmxrSUh0Y2JpQWdJQ0JzWlhRZ1ptbHNkR1Z5Ulhod2NtVnpjMmx2YmtOb1lXNW5aV1FnUFNCbVlXeHpaVHRjYmx4dUlDQWdJR2xtSUNoMWNHUmhkR1V1Wm1sc2RHVnljeUFtSmlCMWNHUmhkR1V1Wm1sc2RHVnljeUFoUFQwZ2RHaHBjeTV6ZEdGMFpTNW1hV3gwWlhKeklDWW1JQ0YxY0dSaGRHVXVabWxzZEdWeVJYaHdjbVZ6YzJsdmJpa2dlMXh1SUNBZ0lDQWdkWEJrWVhSbExtWnBiSFJsY2tWNGNISmxjM05wYjI0Z1BTQnlaVzVrWlhKRmVIQnlaWE56YVc5dUtIUm9hWE11YzNSaGRHVXVaWGh3Y21WemMybHZia0oxYVd4a1pYSXNJSFZ3WkdGMFpTNW1hV3gwWlhKektUdGNiaUFnSUNBZ0lHWnBiSFJsY2tWNGNISmxjM05wYjI1RGFHRnVaMlZrSUQwZ2RYQmtZWFJsTG1acGJIUmxja1Y0Y0hKbGMzTnBiMjRnSVQwOUlIUm9hWE11YzNSaGRHVXVabWxzZEdWeVJYaHdjbVZ6YzJsdmJqdGNiaUFnSUNCOVhHNWNiaUFnSUNCemRYQmxjaTV6WlhSVGRHRjBaU2gxY0dSaGRHVXBPMXh1WEc0Z0lDQWdhV1lnS0dacGJIUmxja1Y0Y0hKbGMzTnBiMjVEYUdGdVoyVmtLU0I3WEc0Z0lDQWdJQ0IwYUdsekxuQjFZbXhwYzJoRmRtVnVkQ2h1WlhjZ1UyTmxibVZXWVhKcFlXSnNaVlpoYkhWbFEyaGhibWRsWkVWMlpXNTBLSFJvYVhNcExDQjBjblZsS1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWjJWMFZtRnNkV1VvS1RvZ1ZtRnlhV0ZpYkdWV1lXeDFaU0I4SUhWdVpHVm1hVzVsWkNCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdWMzUmhkR1V1Wm1sc2RHVnlSWGh3Y21WemMybHZianRjYmlBZ2ZWeHVYRzRnSUhCMVlteHBZeUJmZFhCa1lYUmxSbWxzZEdWeUtHWnBiSFJsY2pvZ1FXUkliMk5HYVd4MFpYSlhhWFJvVEdGaVpXeHpMQ0IxY0dSaGRHVTZJRkJoY25ScFlXdzhRV1JJYjJOR2FXeDBaWEpYYVhSb1RHRmlaV3h6UGlrZ2UxeHVJQ0FnSUdOdmJuTjBJSHNnWm1sc2RHVnljeXdnWDNkcGNDQjlJRDBnZEdocGN5NXpkR0YwWlR0Y2JseHVJQ0FnSUdsbUlDaG1hV3gwWlhJZ1BUMDlJRjkzYVhBcElIdGNiaUFnSUNBZ0lDOHZJRWxtSUhkbElITmxkQ0IyWVd4MVpTQjNaU0JoY21VZ1pHOXVaU0IzYVhSb0lIUm9hWE1nWENKM2IzSnJJR2x1SUhCeWIyZHlaWE56WENJZ1ptbHNkR1Z5SUdGdVpDQjNaU0JqWVc0Z1lXUmtJR2wwWEc0Z0lDQWdJQ0JwWmlBb0ozWmhiSFZsSnlCcGJpQjFjR1JoZEdVZ0ppWWdkWEJrWVhSbFd5ZDJZV3gxWlNkZElDRTlQU0FuSnlrZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TG5ObGRGTjBZWFJsS0hzZ1ptbHNkR1Z5Y3pvZ1d5NHVMbVpwYkhSbGNuTXNJSHNnTGk0dVgzZHBjQ3dnTGk0dWRYQmtZWFJsSUgxZExDQmZkMmx3T2lCMWJtUmxabWx1WldRZ2ZTazdYRzRnSUNBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ0lDQjBhR2x6TG5ObGRGTjBZWFJsS0hzZ1gzZHBjRG9nZXlBdUxpNW1hV3gwWlhJc0lDNHVMblZ3WkdGMFpTQjlJSDBwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUhWd1pHRjBaV1JHYVd4MFpYSnpJRDBnZEdocGN5NXpkR0YwWlM1bWFXeDBaWEp6TG0xaGNDZ29aaWtnUFQ0Z2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUdZZ1BUMDlJR1pwYkhSbGNpQS9JSHNnTGk0dVppd2dMaTR1ZFhCa1lYUmxJSDBnT2lCbU8xeHVJQ0FnSUgwcE8xeHVYRzRnSUNBZ2RHaHBjeTV6WlhSVGRHRjBaU2g3SUdacGJIUmxjbk02SUhWd1pHRjBaV1JHYVd4MFpYSnpJSDBwTzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUY5eVpXMXZkbVZHYVd4MFpYSW9abWxzZEdWeU9pQkJaRWh2WTBacGJIUmxjbGRwZEdoTVlXSmxiSE1wSUh0Y2JpQWdJQ0JwWmlBb1ptbHNkR1Z5SUQwOVBTQjBhR2x6TG5OMFlYUmxMbDkzYVhBcElIdGNiaUFnSUNBZ0lIUm9hWE11YzJWMFUzUmhkR1VvZXlCZmQybHdPaUIxYm1SbFptbHVaV1FnZlNrN1hHNGdJQ0FnSUNCeVpYUjFjbTQ3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkR2hwY3k1elpYUlRkR0YwWlNoN0lHWnBiSFJsY25NNklIUm9hWE11YzNSaGRHVXVabWxzZEdWeWN5NW1hV3gwWlhJb0tHWXBJRDArSUdZZ0lUMDlJR1pwYkhSbGNpa2dmU2s3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWDNKbGJXOTJaVXhoYzNSR2FXeDBaWElvS1NCN1hHNGdJQ0FnWTI5dWMzUWdabWxzZEdWeVZHOVNaVzF2ZG1VZ1BTQjBhR2x6TG5OMFlYUmxMbVpwYkhSbGNuTXVZWFFvTFRFcE8xeHVYRzRnSUNBZ2FXWWdLR1pwYkhSbGNsUnZVbVZ0YjNabEtTQjdYRzRnSUNBZ0lDQjBhR2x6TGw5eVpXMXZkbVZHYVd4MFpYSW9abWxzZEdWeVZHOVNaVzF2ZG1VcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCZmFHRnVaR3hsUTI5dFltOWliM2hDWVdOcmMzQmhZMlVvWm1sc2RHVnlPaUJCWkVodlkwWnBiSFJsY2xkcGRHaE1ZV0psYkhNcElIdGNiaUFnSUNCcFppQW9kR2hwY3k1emRHRjBaUzVtYVd4MFpYSnpMbXhsYm1kMGFDa2dlMXh1SUNBZ0lDQWdMeThnWkdWbVlYVnNkQ0JtYjNKalpVVmthWFFnYkdGemRDQm1hV3gwWlhJZ0tIZG9aVzRnZEhKcFoyZGxjbWx1WnlCbWNtOXRJSGRwY0NCbWFXeDBaWElwWEc0Z0lDQWdJQ0JzWlhRZ1ptbHNkR1Z5Vkc5R2IzSmpaVWx1WkdWNElEMGdkR2hwY3k1emRHRjBaUzVtYVd4MFpYSnpMbXhsYm1kMGFDQXRJREU3WEc1Y2JpQWdJQ0FnSUM4dklHRmthblZ6ZENCbWFXeDBaWEpVYjBadmNtTmxTVzVrWlhnZ2FXNWtaWGdnZEc4Z0xURWdhV1lnWW1GamEzTndZV05sSUhSeWFXZG5aWEpsWkNCbWNtOXRJRzV2YmlCM2FYQWdabWxzZEdWeVhHNGdJQ0FnSUNBdkx5QWdkRzhnWVhadmFXUWdkSEpwWjJkbGNtbHVaeUJtYjNKalpVVmthWFFnYkc5bmFXTmNiaUFnSUNBZ0lHbG1JQ2htYVd4MFpYSWdJVDA5SUhSb2FYTXVjM1JoZEdVdVgzZHBjQ2tnZTF4dUlDQWdJQ0FnSUNCbWFXeDBaWEpVYjBadmNtTmxTVzVrWlhnZ1BTQXRNVHRjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnZEdocGN5NXpaWFJUZEdGMFpTaDdYRzRnSUNBZ0lDQWdJR1pwYkhSbGNuTTZJSFJvYVhNdWMzUmhkR1V1Wm1sc2RHVnljeTV5WldSMVkyVThRV1JJYjJOR2FXeDBaWEpYYVhSb1RHRmlaV3h6VzEwK0tDaGhZMk1zSUdZc0lHbHVaR1Y0S1NBOVBpQjdYRzRnSUNBZ0lDQWdJQ0FnTHk4Z1lXUnFkWE4wSUdadmNtTmxSV1JwZENCdlppQndjbVZqWldScGJtY2dabWxzZEdWeVhHNGdJQ0FnSUNBZ0lDQWdhV1lnS0dsdVpHVjRJRDA5UFNCbWFXeDBaWEpVYjBadmNtTmxTVzVrWlhncElIdGNiaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJiWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQzR1TG1Gall5eGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDNHVMbVlzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWm05eVkyVkZaR2wwT2lCMGNuVmxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdJQ0FnSUNBZ1hUdGNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUNBZ0x5OGdjbVZ0YjNabElHTjFjbkpsYm5RZ1ptbHNkR1Z5WEc0Z0lDQWdJQ0FnSUNBZ2FXWWdLR1lnUFQwOUlHWnBiSFJsY2lrZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR0ZqWXp0Y2JpQWdJQ0FnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnV3k0dUxtRmpZeXdnWmwwN1hHNGdJQ0FnSUNBZ0lIMHNJRnRkS1N4Y2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkhaWFFnY0c5emMybGliR1VnYTJWNWN5Qm5hWFpsYmlCamRYSnlaVzUwSUdacGJIUmxjbk11SUVSdklHNXZkQ0JqWVd4c0lHWnliMjBnY0d4MVoybHVjeUJrYVhKbFkzUnNlVnh1SUNBZ0tpOWNiaUFnY0hWaWJHbGpJR0Z6ZVc1aklGOW5aWFJMWlhsektHTjFjbkpsYm5STFpYazZJSE4wY21sdVp5QjhJRzUxYkd3cE9pQlFjbTl0YVhObFBFRnljbUY1UEZObGJHVmpkR0ZpYkdWV1lXeDFaVHh6ZEhKcGJtYytQajRnZTF4dUlDQWdJR052Ym5OMElHOTJaWEp5YVdSbElEMGdZWGRoYVhRZ2RHaHBjeTV6ZEdGMFpTNW5aWFJVWVdkTFpYbHpVSEp2ZG1sa1pYSS9MaWgwYUdsekxDQmpkWEp5Wlc1MFMyVjVLVHRjYmx4dUlDQWdJR2xtSUNodmRtVnljbWxrWlNBbUppQnZkbVZ5Y21sa1pTNXlaWEJzWVdObEtTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z1pHRjBZVVp5YjIxU1pYTndiMjV6WlNodmRtVnljbWxrWlM1MllXeDFaWE1wTG0xaGNDaDBiMU5sYkdWamRHRmliR1ZXWVd4MVpTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLSFJvYVhNdWMzUmhkR1V1WkdWbVlYVnNkRXRsZVhNcElIdGNiaUFnSUNBZ0lISmxkSFZ5YmlCMGFHbHpMbk4wWVhSbExtUmxabUYxYkhSTFpYbHpMbTFoY0NoMGIxTmxiR1ZqZEdGaWJHVldZV3gxWlNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdaSE1nUFNCaGQyRnBkQ0IwYUdsekxsOWtZWFJoVTI5MWNtTmxVM0oyTG1kbGRDaDBhR2x6TG5OMFlYUmxMbVJoZEdGemIzVnlZMlVzSUhSb2FYTXVYM05qYjNCbFpGWmhjbk1wTzF4dUlDQWdJR2xtSUNnaFpITWdmSHdnSVdSekxtZGxkRlJoWjB0bGVYTXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQmJYVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpiMjV6ZENCdmRHaGxja1pwYkhSbGNuTWdQU0IwYUdsekxuTjBZWFJsTG1acGJIUmxjbk11Wm1sc2RHVnlLQ2htS1NBOVBpQm1MbXRsZVNBaFBUMGdZM1Z5Y21WdWRFdGxlU2t1WTI5dVkyRjBLSFJvYVhNdWMzUmhkR1V1WW1GelpVWnBiSFJsY25NZ1B6OGdXMTBwTzF4dUlDQWdJR052Ym5OMElIUnBiV1ZTWVc1blpTQTlJSE5qWlc1bFIzSmhjR2d1WjJWMFZHbHRaVkpoYm1kbEtIUm9hWE1wTG5OMFlYUmxMblpoYkhWbE8xeHVJQ0FnSUdOdmJuTjBJSEYxWlhKcFpYTWdQU0IwYUdsekxuTjBZWFJsTG5WelpWRjFaWEpwWlhOQmMwWnBiSFJsY2tadmNrOXdkR2x2Ym5NZ1B5Qm5aWFJSZFdWeWFXVnpSbTl5Vm1GeWFXRmliR1Z6S0hSb2FYTXBJRG9nZFc1a1pXWnBibVZrTzF4dUlDQWdJR052Ym5OMElISmxjM0J2Ym5ObElEMGdZWGRoYVhRZ1pITXVaMlYwVkdGblMyVjVjeWg3WEc0Z0lDQWdJQ0JtYVd4MFpYSnpPaUJ2ZEdobGNrWnBiSFJsY25Nc1hHNGdJQ0FnSUNCeGRXVnlhV1Z6TEZ4dUlDQWdJQ0FnZEdsdFpWSmhibWRsTEZ4dUlDQWdJQ0FnTGk0dVoyVjBSVzV5YVdOb1pXUkdhV3gwWlhKelVtVnhkV1Z6ZENoMGFHbHpLU3hjYmlBZ0lDQjlLVHRjYmx4dUlDQWdJR2xtSUNoeVpYTndiMjV6WlVoaGMwVnljbTl5S0hKbGMzQnZibk5sS1NrZ2UxeHVJQ0FnSUNBZ2RHaHBjeTV6WlhSVGRHRjBaU2g3SUdWeWNtOXlPaUJ5WlhOd2IyNXpaUzVsY25KdmNpNXRaWE56WVdkbElIMHBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHeGxkQ0JyWlhseklEMGdaR0YwWVVaeWIyMVNaWE53YjI1elpTaHlaWE53YjI1elpTazdYRzRnSUNBZ2FXWWdLRzkyWlhKeWFXUmxLU0I3WEc0Z0lDQWdJQ0JyWlhseklEMGdhMlY1Y3k1amIyNWpZWFFvWkdGMFlVWnliMjFTWlhOd2IyNXpaU2h2ZG1WeWNtbGtaUzUyWVd4MVpYTXBLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQmpiMjV6ZENCMFlXZExaWGxTWldkbGVFWnBiSFJsY2lBOUlIUm9hWE11YzNSaGRHVXVkR0ZuUzJWNVVtVm5aWGhHYVd4MFpYSTdYRzRnSUNBZ2FXWWdLSFJoWjB0bGVWSmxaMlY0Um1sc2RHVnlLU0I3WEc0Z0lDQWdJQ0JyWlhseklEMGdhMlY1Y3k1bWFXeDBaWElvS0dZcElEMCtJR1l1ZEdWNGRDNXRZWFJqYUNoMFlXZExaWGxTWldkbGVFWnBiSFJsY2lrcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhKbGRIVnliaUJyWlhsekxtMWhjQ2gwYjFObGJHVmpkR0ZpYkdWV1lXeDFaU2s3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1IyVjBJSEJ2YzNOcFlteGxJR3RsZVNCMllXeDFaWE1nWm05eUlHRWdjM0JsWTJsbWFXTWdhMlY1SUdkcGRtVnVJR04xY25KbGJuUWdabWxzZEdWeWN5NGdSRzhnYm05MElHTmhiR3dnWm5KdmJTQndiSFZuYVc1eklHUnBjbVZqZEd4NVhHNGdJQ0FxTDF4dUlDQndkV0pzYVdNZ1lYTjVibU1nWDJkbGRGWmhiSFZsYzBadmNpaG1hV3gwWlhJNklFRmtTRzlqUm1sc2RHVnlWMmwwYUV4aFltVnNjeWs2SUZCeWIyMXBjMlU4UVhKeVlYazhVMlZzWldOMFlXSnNaVlpoYkhWbFBITjBjbWx1Wno0K1BpQjdYRzRnSUNBZ1kyOXVjM1FnYjNabGNuSnBaR1VnUFNCaGQyRnBkQ0IwYUdsekxuTjBZWFJsTG1kbGRGUmhaMVpoYkhWbGMxQnliM1pwWkdWeVB5NG9kR2hwY3l3Z1ptbHNkR1Z5S1R0Y2JseHVJQ0FnSUdsbUlDaHZkbVZ5Y21sa1pTQW1KaUJ2ZG1WeWNtbGtaUzV5WlhCc1lXTmxLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdaR0YwWVVaeWIyMVNaWE53YjI1elpTaHZkbVZ5Y21sa1pTNTJZV3gxWlhNcExtMWhjQ2gwYjFObGJHVmpkR0ZpYkdWV1lXeDFaU2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ1pITWdQU0JoZDJGcGRDQjBhR2x6TGw5a1lYUmhVMjkxY21ObFUzSjJMbWRsZENoMGFHbHpMbk4wWVhSbExtUmhkR0Z6YjNWeVkyVXNJSFJvYVhNdVgzTmpiM0JsWkZaaGNuTXBPMXh1WEc0Z0lDQWdhV1lnS0NGa2N5QjhmQ0FoWkhNdVoyVjBWR0ZuVm1Gc2RXVnpLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdXMTA3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdMeThnUm1sc2RHVnlJRzkxZENCMGFHVWdZM1Z5Y21WdWRDQm1hV3gwWlhJZ2EyVjVJR1p5YjIwZ2RHaGxJR3hwYzNRZ2IyWWdZV3hzSUdacGJIUmxjbk5jYmlBZ0lDQmpiMjV6ZENCdmRHaGxja1pwYkhSbGNuTWdQU0IwYUdsekxuTjBZWFJsTG1acGJIUmxjbk11Wm1sc2RHVnlLQ2htS1NBOVBpQm1MbXRsZVNBaFBUMGdabWxzZEdWeUxtdGxlU2t1WTI5dVkyRjBLSFJvYVhNdWMzUmhkR1V1WW1GelpVWnBiSFJsY25NZ1B6OGdXMTBwTzF4dVhHNGdJQ0FnWTI5dWMzUWdkR2x0WlZKaGJtZGxJRDBnYzJObGJtVkhjbUZ3YUM1blpYUlVhVzFsVW1GdVoyVW9kR2hwY3lrdWMzUmhkR1V1ZG1Gc2RXVTdYRzRnSUNBZ1kyOXVjM1FnY1hWbGNtbGxjeUE5SUhSb2FYTXVjM1JoZEdVdWRYTmxVWFZsY21sbGMwRnpSbWxzZEdWeVJtOXlUM0IwYVc5dWN5QS9JR2RsZEZGMVpYSnBaWE5HYjNKV1lYSnBZV0pzWlhNb2RHaHBjeWtnT2lCMWJtUmxabWx1WldRN1hHNWNiaUFnSUNCamIyNXpkQ0J5WlhOd2IyNXpaU0E5SUdGM1lXbDBJR1J6TG1kbGRGUmhaMVpoYkhWbGN5aDdYRzRnSUNBZ0lDQnJaWGs2SUdacGJIUmxjaTVyWlhrc1hHNGdJQ0FnSUNCbWFXeDBaWEp6T2lCdmRHaGxja1pwYkhSbGNuTXNYRzRnSUNBZ0lDQjBhVzFsVW1GdVoyVXNYRzRnSUNBZ0lDQnhkV1Z5YVdWekxGeHVJQ0FnSUNBZ0xpNHVaMlYwUlc1eWFXTm9aV1JHYVd4MFpYSnpVbVZ4ZFdWemRDaDBhR2x6S1N4Y2JpQWdJQ0I5S1R0Y2JseHVJQ0FnSUdsbUlDaHlaWE53YjI1elpVaGhjMFZ5Y205eUtISmxjM0J2Ym5ObEtTa2dlMXh1SUNBZ0lDQWdkR2hwY3k1elpYUlRkR0YwWlNoN0lHVnljbTl5T2lCeVpYTndiMjV6WlM1bGNuSnZjaTV0WlhOellXZGxJSDBwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR3hsZENCMllXeDFaWE1nUFNCa1lYUmhSbkp2YlZKbGMzQnZibk5sS0hKbGMzQnZibk5sS1R0Y2JpQWdJQ0JwWmlBb2IzWmxjbkpwWkdVcElIdGNiaUFnSUNBZ0lIWmhiSFZsY3lBOUlIWmhiSFZsY3k1amIyNWpZWFFvWkdGMFlVWnliMjFTWlhOd2IyNXpaU2h2ZG1WeWNtbGtaUzUyWVd4MVpYTXBLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnlaWFIxY200Z2RtRnNkV1Z6TG0xaGNDaDBiMU5sYkdWamRHRmliR1ZXWVd4MVpTazdYRzRnSUgxY2JseHVJQ0J3ZFdKc2FXTWdYMkZrWkZkcGNDZ3BJSHRjYmlBZ0lDQjBhR2x6TG5ObGRGTjBZWFJsS0h0Y2JpQWdJQ0FnSUY5M2FYQTZJSHNnYTJWNU9pQW5KeXdnZG1Gc2RXVTZJQ2NuTENCdmNHVnlZWFJ2Y2pvZ0p6MG5MQ0JqYjI1a2FYUnBiMjQ2SUNjbklIMHNYRzRnSUNBZ2ZTazdYRzRnSUgxY2JseHVJQ0J3ZFdKc2FXTWdYMmRsZEU5d1pYSmhkRzl5Y3lncElIdGNiaUFnSUNCamIyNXpkQ0JtYVd4MFpYSmxaRTl3WlhKaGRHOXljeUE5SUhSb2FYTXVjM1JoZEdVdWMzVndjRzl5ZEhOTmRXeDBhVlpoYkhWbFQzQmxjbUYwYjNKelhHNGdJQ0FnSUNBL0lFOVFSVkpCVkU5U1UxeHVJQ0FnSUNBZ09pQlBVRVZTUVZSUFVsTXVabWxzZEdWeUtDaHZjR1Z5WVhSdmNpa2dQVDRnSVc5d1pYSmhkRzl5TG1selRYVnNkR2twTzF4dUlDQWdJSEpsZEhWeWJpQm1hV3gwWlhKbFpFOXdaWEpoZEc5eWN5NXRZWEE4VTJWc1pXTjBZV0pzWlZaaGJIVmxQSE4wY21sdVp6NCtLQ2g3SUhaaGJIVmxMQ0JrWlhOamNtbHdkR2x2YmlCOUtTQTlQaUFvZTF4dUlDQWdJQ0FnYkdGaVpXdzZJSFpoYkhWbExGeHVJQ0FnSUNBZ2RtRnNkV1VzWEc0Z0lDQWdJQ0JrWlhOamNtbHdkR2x2Yml4Y2JpQWdJQ0I5S1NrN1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdjbVZ1WkdWeVJYaHdjbVZ6YzJsdmJpaGNiaUFnWW5WcGJHUmxjam9nUVdSSWIyTldZWEpwWVdKc1pVVjRjSEpsYzNOcGIyNUNkV2xzWkdWeVJtNGdmQ0IxYm1SbFptbHVaV1FzWEc0Z0lHWnBiSFJsY25NNklFRmtTRzlqUm1sc2RHVnlWMmwwYUV4aFltVnNjMXRkSUh3Z2RXNWtaV1pwYm1Wa1hHNHBJSHRjYmlBZ2NtVjBkWEp1SUNoaWRXbHNaR1Z5SUQ4L0lISmxibVJsY2xCeWIyMWxkR2hsZFhOTVlXSmxiRVpwYkhSbGNuTXBLR1pwYkhSbGNuTWdQejhnVzEwcE8xeHVmVnh1WEc1bGVIQnZjblFnWm5WdVkzUnBiMjRnUVdSSWIyTkdhV3gwWlhKelZtRnlhV0ZpYkdWU1pXNWtaWEpsY2loN0lHMXZaR1ZzSUgwNklGTmpaVzVsUTI5dGNHOXVaVzUwVUhKdmNITThRV1JJYjJOR2FXeDBaWEp6Vm1GeWFXRmliR1UrS1NCN1hHNGdJR052Ym5OMElIc2dabWxzZEdWeWN5d2djbVZoWkU5dWJIa3NJR0ZrWkVacGJIUmxja0oxZEhSdmJsUmxlSFFnZlNBOUlHMXZaR1ZzTG5WelpWTjBZWFJsS0NrN1hHNGdJR052Ym5OMElITjBlV3hsY3lBOUlIVnpaVk4wZVd4bGN6SW9aMlYwVTNSNWJHVnpLVHRjYmx4dUlDQnBaaUFvYlc5a1pXd3VjM1JoZEdVdWJHRjViM1YwSUQwOVBTQW5ZMjl0WW05aWIzZ25LU0I3WEc0Z0lDQWdjbVYwZFhKdUlEeEJaRWh2WTBacGJIUmxjbk5EYjIxaWIySnZlRkpsYm1SbGNtVnlJRzF2WkdWc1BYdHRiMlJsYkgwZ0x6NDdYRzRnSUgxY2JseHVJQ0J5WlhSMWNtNGdLRnh1SUNBZ0lEeGthWFlnWTJ4aGMzTk9ZVzFsUFh0emRIbHNaWE11ZDNKaGNIQmxjbjArWEc0Z0lDQWdJQ0I3Wm1sc2RHVnljeTV0WVhBb0tHWnBiSFJsY2l3Z2FXNWtaWGdwSUQwK0lDaGNiaUFnSUNBZ0lDQWdQRkpsWVdOMExrWnlZV2R0Wlc1MElHdGxlVDE3YVc1a1pYaDlQbHh1SUNBZ0lDQWdJQ0FnSUR4QlpFaHZZMFpwYkhSbGNsSmxibVJsY21WeUlHWnBiSFJsY2oxN1ptbHNkR1Z5ZlNCdGIyUmxiRDE3Ylc5a1pXeDlJQzgrWEc0Z0lDQWdJQ0FnSUR3dlVtVmhZM1F1Um5KaFoyMWxiblErWEc0Z0lDQWdJQ0FwS1gxY2JseHVJQ0FnSUNBZ2V5RnlaV0ZrVDI1c2VTQW1KaUE4UVdSSWIyTkdhV3gwWlhKQ2RXbHNaR1Z5SUcxdlpHVnNQWHR0YjJSbGJIMGdhMlY1UFZ3aUoySjFhV3hrWlhKY0lpQmhaR1JHYVd4MFpYSkNkWFIwYjI1VVpYaDBQWHRoWkdSR2FXeDBaWEpDZFhSMGIyNVVaWGgwZlNBdlBuMWNiaUFnSUNBOEwyUnBkajVjYmlBZ0tUdGNibjFjYmx4dVkyOXVjM1FnWjJWMFUzUjViR1Z6SUQwZ0tIUm9aVzFsT2lCSGNtRm1ZVzVoVkdobGJXVXlLU0E5UGlBb2UxeHVJQ0IzY21Gd2NHVnlPaUJqYzNNb2UxeHVJQ0FnSUdScGMzQnNZWGs2SUNkbWJHVjRKeXhjYmlBZ0lDQm1iR1Y0VjNKaGNEb2dKM2R5WVhBbkxGeHVJQ0FnSUdGc2FXZHVTWFJsYlhNNklDZG1iR1Y0TFdWdVpDY3NYRzRnSUNBZ1kyOXNkVzF1UjJGd09pQjBhR1Z0WlM1emNHRmphVzVuS0RJcExGeHVJQ0FnSUhKdmQwZGhjRG9nZEdobGJXVXVjM0JoWTJsdVp5Z3hLU3hjYmlBZ2ZTa3NYRzU5S1R0Y2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlIUnZVMlZzWldOMFlXSnNaVlpoYkhWbEtHbHVjSFYwT2lCTlpYUnlhV05HYVc1a1ZtRnNkV1VwT2lCVFpXeGxZM1JoWW14bFZtRnNkV1U4YzNSeWFXNW5QaUI3WEc0Z0lHTnZibk4wSUhzZ2RHVjRkQ3dnZG1Gc2RXVWdmU0E5SUdsdWNIVjBPMXh1SUNCamIyNXpkQ0J5WlhOMWJIUTZJRk5sYkdWamRHRmliR1ZXWVd4MVpUeHpkSEpwYm1jK0lEMGdlMXh1SUNBZ0lHeGhZbVZzT2lCMFpYaDBMRnh1SUNBZ0lIWmhiSFZsT2lCVGRISnBibWNvZG1Gc2RXVWdQejhnZEdWNGRDa3NYRzRnSUgwN1hHNWNiaUFnYVdZZ0tDZG5jbTkxY0NjZ2FXNGdhVzV3ZFhRcElIdGNiaUFnSUNCeVpYTjFiSFF1WjNKdmRYQWdQU0JwYm5CMWRDNW5jbTkxY0R0Y2JpQWdmVnh1WEc0Z0lISmxkSFZ5YmlCeVpYTjFiSFE3WEc1OVhHNWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQnBjMFpwYkhSbGNrTnZiWEJzWlhSbEtHWnBiSFJsY2pvZ1FXUkliMk5HYVd4MFpYSlhhWFJvVEdGaVpXeHpLVG9nWW05dmJHVmhiaUI3WEc0Z0lISmxkSFZ5YmlCbWFXeDBaWEl1YTJWNUlDRTlQU0FuSnlBbUppQm1hV3gwWlhJdWIzQmxjbUYwYjNJZ0lUMDlJQ2NuSUNZbUlHWnBiSFJsY2k1MllXeDFaU0FoUFQwZ0p5YzdYRzU5WEc1Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCcGMwMTFiSFJwVm1Gc2RXVlBjR1Z5WVhSdmNpaHZjR1Z5WVhSdmNsWmhiSFZsT2lCemRISnBibWNwT2lCaWIyOXNaV0Z1SUh0Y2JpQWdZMjl1YzNRZ2IzQmxjbUYwYjNJZ1BTQlBVRVZTUVZSUFVsTXVabWx1WkNnb2J5a2dQVDRnYnk1MllXeDFaU0E5UFQwZ2IzQmxjbUYwYjNKV1lXeDFaU2s3WEc0Z0lHbG1JQ2doYjNCbGNtRjBiM0lwSUh0Y2JpQWdJQ0F2THlCa1pXWmhkV3gwSUhSdklHWmhiSE5sSUdsbUlHOXdaWEpoZEc5eUlHbHpJRzV2ZENCbWIzVnVaRnh1SUNBZ0lISmxkSFZ5YmlCbVlXeHpaVHRjYmlBZ2ZWeHVJQ0J5WlhSMWNtNGdRbTl2YkdWaGJpaHZjR1Z5WVhSdmNpNXBjMDExYkhScEtUdGNibjFjYmlKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pT3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenRCUVN0SVR5eE5RVUZOTEZOQlFXdERMRWRCUVVFN1FVRkJRU3hGUVVNM1F6dEJRVUZCTEVsQlEwVXNTMEZCVHl4RlFVRkJMRWRCUVVFN1FVRkJRU3hKUVVOUUxGZEJRV0VzUlVGQlFTeFJRVUZCTzBGQlFVRXNSMEZEWmp0QlFVRkJMRVZCUTBFN1FVRkJRU3hKUVVORkxFdEJRVThzUlVGQlFTeEpRVUZCTzBGQlFVRXNTVUZEVUN4WFFVRmhMRVZCUVVFc1YwRkJRVHRCUVVGQkxFZEJRMlk3UVVGQlFTeEZRVU5CTzBGQlFVRXNTVUZEUlN4TFFVRlBMRVZCUVVFc1NVRkJRVHRCUVVGQkxFbEJRMUFzVjBGQllTeEZRVUZCTERKRFFVRkJPMEZCUVVFc1NVRkRZaXhQUVVGVExFVkJRVUVzU1VGQlFUdEJRVUZCTEVkQlExZzdRVUZCUVN4RlFVTkJPMEZCUVVFc1NVRkRSU3hMUVVGUExFVkJRVUVzUzBGQlFUdEJRVUZCTEVsQlExQXNWMEZCWVN4RlFVRkJMRFpEUVVGQk8wRkJRVUVzU1VGRFlpeFBRVUZUTEVWQlFVRXNTVUZCUVR0QlFVRkJMRWRCUTFnN1FVRkJRU3hGUVVOQk8wRkJRVUVzU1VGRFJTeExRVUZQTEVWQlFVRXNTVUZCUVR0QlFVRkJMRWxCUTFBc1YwRkJZU3hGUVVGQkxHVkJRVUU3UVVGQlFTeEhRVU5tTzBGQlFVRXNSVUZEUVR0QlFVRkJMRWxCUTBVc1MwRkJUeXhGUVVGQkxFbEJRVUU3UVVGQlFTeEpRVU5RTEZkQlFXRXNSVUZCUVN4elFrRkJRVHRCUVVGQkxFZEJRMlk3UVVGQlFTeEZRVU5CTzBGQlFVRXNTVUZEUlN4TFFVRlBMRVZCUVVFc1IwRkJRVHRCUVVGQkxFbEJRMUFzVjBGQllTeEZRVUZCTEZkQlFVRTdRVUZCUVN4SFFVTm1PMEZCUVVFc1JVRkRRVHRCUVVGQkxFbEJRMFVzUzBGQlR5eEZRVUZCTEVkQlFVRTdRVUZCUVN4SlFVTlFMRmRCUVdFc1JVRkJRU3hqUVVGQk8wRkJRVUVzUjBGRFpqdEJRVU5HTEVWQlFVRTdRVUZGVHl4TlFVRk5MRFpDUVVOSUxHVkJSVllzUTBGQlFUdEJRVUZCTEVWQlVWTXNXVUZCV1N4TFFVRXlReXhGUVVGQk8wRkJMMHRvUlN4SlFVRkJMRWxCUVVFc1JVRkJRU3hGUVVGQkxFVkJRVUVzUTBGQlFUdEJRV2RNU1N4SlFVRk5MRXRCUVVFc1EwRkJRU3hqUVVGQkxFTkJRVUU3UVVGQlFTeE5RVU5LTEVsQlFVMHNSVUZCUVN4UFFVRkJPMEZCUVVFc1RVRkRUaXhKUVVGQkxFVkJRVUVzUTBGQlRTeEZRVUZOTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWxCUVVFc1MwRkJUaXhKUVVGakxFZEJRVUVzUlVGQlFTeEhRVUZCTEZOQlFVRTdRVUZCUVN4TlFVTndRaXhUUVVGVExFVkJRVU03UVVGQlFTeE5RVU5XTEZWQlFWa3NSVUZCUVN4SlFVRkJPMEZCUVVFc1RVRkRXaXhUUVVGWExFVkJRVUVzVFVGQlFUdEJRVUZCTEUxQlExZ3NaMEpCUVVFc1JVRkJRU3hEUVVGclFpeFhRVUZOTEdkQ1FVRk9MRXRCUVVFc1NVRkJRU3hIUVVGQkxFVkJRVUVzUjBGQk1FSXNhVUpCUVdsQ0xFdEJRVTBzUTBGQlFTeHBRa0ZCUVN4RlFVRnRRaXhOUVVGTkxFOUJRVThzUTBGQlFUdEJRVUZCTEV0QlFVRXNSVUZEYUVjc1MwRkRTaXhEUVVGQkxFTkJRVUVzUTBGQlFUdEJRV1JJTEVsQlFVRXNTVUZCUVN4RFFVRlJMRmRCUVdNc1IwRkJRU3hGUVVGRkxHRkJRV1VzUlVGQlFTeHBRMEZCUVN4RFFVRnJReXhKUVVGSkxFTkJRVVVzUlVGQlFTeERRVUZCTzBGQlF5OUZMRWxCUVVFc1NVRkJRU3hEUVVGUkxHbENRVUZwUWl4blFrRkJhVUlzUlVGQlFTeERRVUZCTzBGQlJURkRMRWxCUVZVc1NVRkJRU3hEUVVGQkxGRkJRVUVzUjBGQlZ5eEpRVUZKTEd0RFFVRkJMRU5CUVcxRExFbEJRVWtzUTBGQlFTeERRVUZCTzBGQllUbEVMRWxCUVVrc1NVRkJRU3hKUVVGQkxFTkJRVXNzUzBGQlRTeERRVUZCTEZOQlFVRXNTMEZCWXl4TlFVRlJMRVZCUVVFN1FVRkRia01zVFVGQlFTeHZRa0ZCUVN4RFFVRnhRaXhKUVVGSkxFTkJRVUVzUTBGQlFUdEJRVUZCTEV0QlF6TkNPMEZCUVVFc1IwRkRSanRCUVVGQkxFVkJSVThzVTBGQlV5eE5RVUZyUkN4RlFVRkJPMEZCUTJoRkxFbEJRVUVzU1VGQlNTeDFRa0ZCTUVJc1IwRkJRU3hMUVVGQkxFTkJRVUU3UVVGRk9VSXNTVUZCU1N4SlFVRkJMRTFCUVVFc1EwRkJUeXhYUVVGWExFMUJRVThzUTBGQlFTeFBRVUZCTEV0QlFWa3NTMEZCU3l4TFFVRk5MRU5CUVVFc1QwRkJRU3hKUVVGWExFTkJRVU1zVFVGQlFTeERRVUZQTEdkQ1FVRnJRaXhGUVVGQk8wRkJRM1pHTEUxQlFVRXNUVUZCUVN4RFFVRlBMRzFDUVVGdFFpeG5Ra0ZCYVVJc1EwRkJRU3hKUVVGQkxFTkJRVXNzUzBGQlRTeERRVUZCTEdsQ1FVRkJMRVZCUVcxQ0xFOUJRVThzVDBGQlR5eERRVUZCTEVOQlFVRTdRVUZEZGtZc1RVRkJNRUlzZFVKQlFVRXNSMEZCUVN4TlFVRkJMRU5CUVU4c1owSkJRWEZDTEV0QlFVRXNTVUZCUVN4RFFVRkxMRXRCUVUwc1EwRkJRU3huUWtGQlFTeERRVUZCTzBGQlFVRXNTMEZEYmtVN1FVRkZRU3hKUVVGQkxFdEJRVUVzUTBGQlRTeFRRVUZUTEUxQlFVMHNRMEZCUVN4RFFVRkJPMEZCUlhKQ0xFbEJRVUVzU1VGQlNTeDFRa0ZCZVVJc1JVRkJRVHRCUVVNelFpeE5RVUZCTEVsQlFVRXNRMEZCU3l4WlFVRmhMRU5CUVVFc1NVRkJTU3c0UWtGQkswSXNRMEZCUVN4SlFVRkpMRWRCUVVjc1NVRkJTU3hEUVVGQkxFTkJRVUU3UVVGQlFTeExRVU5zUlR0QlFVRkJMRWRCUTBZN1FVRkJRU3hGUVVWUExGRkJRWE5ETEVkQlFVRTdRVUZETTBNc1NVRkJRU3hQUVVGUExFdEJRVXNzUzBGQlRTeERRVUZCTEdkQ1FVRkJMRU5CUVVFN1FVRkJRU3hIUVVOd1FqdEJRVUZCTEVWQlJVOHNZVUZCUVN4RFFVRmpMRkZCUVN0Q0xFMUJRWGRETEVWQlFVRTdRVUZETVVZc1NVRkJRU3hOUVVGTkxFVkJRVVVzVDBGQlFTeEZRVUZUTEVsQlFVc3NSVUZCUVN4SFFVRkpMRWxCUVVzc1EwRkJRU3hMUVVGQkxFTkJRVUU3UVVGRkwwSXNTVUZCUVN4SlFVRkpMRmRCUVZjc1NVRkJUU3hGUVVGQk8wRkJSVzVDTEUxQlFVRXNTVUZCU1N4UFFVRlhMRWxCUVVFc1RVRkJRU3hKUVVGVkxFMUJRVThzUTBGQlFTeFBRVUZCTEVOQlFVRXNTMEZCWVN4RlFVRkpMRVZCUVVFN1FVRkRMME1zVVVGQlFTeEpRVUZCTEVOQlFVc3NVVUZCVXl4RFFVRkJMRVZCUVVVc1QwRkJVeXhGUVVGQkxFTkJRVU1zUjBGQlJ5eFBRVUZCTEVWQlFWTXNZMEZCU3l4RFFVRkJMR05CUVVFc1EwRkJRU3hGUVVGQkxFVkJRVUVzU1VGQlFTeERRVUZCTEVWQlFWTXNUVUZCVVN4RFFVRkJMRU5CUVVFc1JVRkJSeXhKUVVGTkxFVkJRVUVzUzBGQlFTeERRVUZCTEVWQlFWY3NRMEZCUVN4RFFVRkJPMEZCUVVFc1QwRkRNMFVzVFVGQlFUdEJRVU5NTEZGQlFVRXNTVUZCUVN4RFFVRkxMRk5CUVZNc1JVRkJSU3hKUVVGQkxFVkJRVTBzWTBGQlN5eERRVUZCTEdOQlFVRXNRMEZCUVN4RlFVRkJMRVZCUVVFc1RVRkJRU3hEUVVGQkxFVkJRVmNzVTBGQlZTeERRVUZCTEVOQlFVRTdRVUZCUVN4UFFVTnNSRHRCUVVOQkxFMUJRVUVzVDBGQlFUdEJRVUZCTEV0QlEwWTdRVUZGUVN4SlFVRkJMRTFCUVUwc2FVSkJRV2xDTEVsQlFVc3NRMEZCUVN4TFFVRkJMRU5CUVUwc1QwRkJVU3hEUVVGQkxFZEJRVUVzUTBGQlNTeERRVUZETEVOQlFVMHNTMEZCUVR0QlFVTnVSQ3hOUVVGQkxFOUJRVThzUTBGQlRTeExRVUZCTEUxQlFVRXNSMEZCVXl4alFVRkxMRU5CUVVFc1kwRkJRU3hEUVVGQkxFVkJRVUVzUlVGQlFTeERRVUZCTEVOQlFVRXNSVUZCVFN4TlFVRlhMRU5CUVVFc1IwRkJRU3hEUVVGQkxFTkJRVUU3UVVGQlFTeExRVU0zUXl4RFFVRkJMRU5CUVVFN1FVRkZSQ3hKUVVGQkxFbEJRVUVzUTBGQlN5eFJRVUZUTEVOQlFVRXNSVUZCUlN4UFFVRlRMRVZCUVVFc1kwRkJRU3hGUVVGblFpeERRVUZCTEVOQlFVRTdRVUZCUVN4SFFVTXpRenRCUVVGQkxFVkJSVThzWTBGQll5eE5RVUVyUWl4RlFVRkJPMEZCUTJ4RUxFbEJRVWtzU1VGQlFTeE5RVUZCTEV0QlFWY3NTVUZCU3l4RFFVRkJMRXRCUVVFc1EwRkJUU3hKUVVGTkxFVkJRVUU3UVVGRE9VSXNUVUZCUVN4SlFVRkJMRU5CUVVzc1VVRkJVeXhEUVVGQkxFVkJRVVVzU1VGQlRTeEZRVUZCTEV0QlFVRXNRMEZCUVN4RlFVRlhMRU5CUVVFc1EwRkJRVHRCUVVOcVF5eE5RVUZCTEU5QlFVRTdRVUZCUVN4TFFVTkdPMEZCUlVFc1NVRkJRU3hKUVVGQkxFTkJRVXNzVVVGQlV5eERRVUZCTEVWQlFVVXNUMEZCVXl4RlFVRkJMRWxCUVVFc1EwRkJTeXhMUVVGTkxFTkJRVUVzVDBGQlFTeERRVUZSTEUxQlFVOHNRMEZCUVN4RFFVRkRMRU5CUVUwc1MwRkJRU3hEUVVGQkxFdEJRVTBzVFVGQlRTeERRVUZCTEVWQlFVY3NRMEZCUVN4RFFVRkJPMEZCUVVFc1IwRkRNMFU3UVVGQlFTeEZRVVZQTEdsQ1FVRnZRaXhIUVVGQk8wRkJRM3BDTEVsQlFVRXNUVUZCVFN4alFVRnBRaXhIUVVGQkxFbEJRVUVzUTBGQlN5eExRVUZOTEVOQlFVRXNUMEZCUVN4RFFVRlJMRWRCUVVjc1EwRkJSU3hEUVVGQkxFTkJRVUVzUTBGQlFUdEJRVVV2UXl4SlFVRkJMRWxCUVVrc1kwRkJaMElzUlVGQlFUdEJRVU5zUWl4TlFVRkJMRWxCUVVFc1EwRkJTeXhqUVVGakxHTkJRV01zUTBGQlFTeERRVUZCTzBGQlFVRXNTMEZEYmtNN1FVRkJRU3hIUVVOR08wRkJRVUVzUlVGRlR5eDVRa0ZCZVVJc1RVRkJLMElzUlVGQlFUdEJRVU0zUkN4SlFVRkpMRWxCUVVFc1NVRkJRU3hEUVVGTExFdEJRVTBzUTBGQlFTeFBRVUZCTEVOQlFWRXNUVUZCVVN4RlFVRkJPMEZCUlRkQ0xFMUJRVUVzU1VGQlNTeHJRa0ZCY1VJc1IwRkJRU3hKUVVGQkxFTkJRVXNzUzBGQlRTeERRVUZCTEU5QlFVRXNRMEZCVVN4TlFVRlRMRWRCUVVFc1EwRkJRU3hEUVVGQk8wRkJTWEpFTEUxQlFVa3NTVUZCUVN4TlFVRkJMRXRCUVZjc1NVRkJTeXhEUVVGQkxFdEJRVUVzUTBGQlRTeEpRVUZOTEVWQlFVRTdRVUZET1VJc1VVRkJjVUlzYTBKQlFVRXNSMEZCUVN4RFFVRkJMRU5CUVVFc1EwRkJRVHRCUVVGQkxFOUJRM1pDTzBGQlJVRXNUVUZCUVN4SlFVRkJMRU5CUVVzc1VVRkJVeXhEUVVGQk8wRkJRVUVzVVVGRFdpeFBRVUZCTEVWQlFWTXNTMEZCU3l4TFFVRk5MRU5CUVVFc1QwRkJRU3hEUVVGUkxFOUJRV2RETEVOQlFVTXNSMEZCUVN4RlFVRkxMRWRCUVVjc1MwRkJWU3hMUVVGQk8wRkJSVGRGTEZWQlFVRXNTVUZCU1N4VlFVRlZMR3RDUVVGdlFpeEZRVUZCTzBGQlEyaERMRmxCUVU4c1QwRkJRVHRCUVVGQkxHTkJRMHdzUjBGQlJ5eEhRVUZCTzBGQlFVRXNZMEZEU0N4cFEwRkRTeXhEUVVSTUxFTkJRVUVzUlVGQlFUdEJRVUZCTEdkQ1FVVkZMRk5CUVZjc1JVRkJRU3hKUVVGQk8wRkJRVUVzWlVGRFlpeERRVUZCTzBGQlFVRXNZVUZEUml4RFFVRkJPMEZCUVVFc1YwRkRSanRCUVVWQkxGVkJRVUVzU1VGQlNTeE5RVUZOTEUxQlFWRXNSVUZCUVR0QlFVTm9RaXhaUVVGUExFOUJRVUVzUjBGQlFTeERRVUZCTzBGQlFVRXNWMEZEVkR0QlFVVkJMRlZCUVU4c1QwRkJRU3hEUVVGRExFZEJRVWNzUjBGQlFTeEZRVUZMTEVOQlFVTXNRMEZCUVN4RFFVRkJPMEZCUVVFc1UwRkRia0lzUlVGQlJ5eEZRVUZGTEVOQlFVRTdRVUZCUVN4UFFVTk9MRU5CUVVFc1EwRkJRVHRCUVVGQkxFdEJRMGc3UVVGQlFTeEhRVU5HTzBGQlFVRXNSVUZMUVN4TlFVRmhMRk5CUVZNc1ZVRkJiMFVzUlVGQlFUdEJRVFZTTlVZc1NVRkJRU3hKUVVGQkxFVkJRVUVzUlVGQlFTeEZRVUZCTEVWQlFVRXNSVUZCUVN4RFFVRkJPMEZCTmxKSkxFbEJRVUVzVFVGQlRTeFhRVUZYTEU5QlFVMHNRMEZCUVN4RlFVRkJMRWRCUVVFc1EwRkJRU3hGUVVGQkxFZEJRVUVzU1VGQlFTeERRVUZMTEV0QlFVMHNSVUZCUVN4clFrRkJRU3hMUVVGWUxEUkNRVUZuUXl4SlFVRk5MRVZCUVVFc1ZVRkJRU3hEUVVGQkxFTkJRVUVzUTBGQlFUdEJRVVUzUkN4SlFVRkpMRWxCUVVFc1VVRkJRU3hKUVVGWkxGTkJRVk1zVDBGQlV5eEZRVUZCTzBGQlEyaERMRTFCUVVFc1QwRkJUeXhuUWtGQmFVSXNRMEZCUVN4UlFVRkJMRU5CUVZNc1RVRkJUU3hEUVVGQkxFTkJRVVVzU1VGQlNTeHBRa0ZCYVVJc1EwRkJRU3hEUVVGQk8wRkJRVUVzUzBGRGFFVTdRVUZGUVN4SlFVRkpMRWxCUVVFc1NVRkJRU3hEUVVGTExFMUJRVTBzVjBGQllTeEZRVUZCTzBGQlF6RkNMRTFCUVVFc1QwRkJUeXhKUVVGTExFTkJRVUVzUzBGQlFTeERRVUZOTEZkQlFWa3NRMEZCUVN4SFFVRkJMRU5CUVVrc2FVSkJRV2xDTEVOQlFVRXNRMEZCUVR0QlFVRkJMRXRCUTNKRU8wRkJSVUVzU1VGQlRTeE5RVUZCTEVWQlFVRXNSMEZCU3l4TlFVRk5MRWxCUVVzc1EwRkJRU3hqUVVGQkxFTkJRV1VzU1VGQlNTeEpRVUZMTEVOQlFVRXNTMEZCUVN4RFFVRk5MRlZCUVZrc1JVRkJRU3hKUVVGQkxFTkJRVXNzVjBGQlZ5eERRVUZCTEVOQlFVRTdRVUZEYUVZc1NVRkJRU3hKUVVGSkxFTkJRVU1zUlVGQlFTeEpRVUZOTEVOQlFVTXNSVUZCUVN4RFFVRkhMRlZCUVZrc1JVRkJRVHRCUVVONlFpeE5RVUZCTEU5QlFVOHNSVUZCUXl4RFFVRkJPMEZCUVVFc1MwRkRWanRCUVVWQkxFbEJRVUVzVFVGQlRTeGxRVUZsTEVsQlFVc3NRMEZCUVN4TFFVRkJMRU5CUVUwc1QwRkJVU3hEUVVGQkxFMUJRVUVzUTBGQlR5eERRVUZETEVOQlFVMHNTMEZCUVN4RFFVRkJMRU5CUVVVc1IwRkJVU3hMUVVGQkxGVkJRVlVzUlVGQlJTeE5RVUZQTEVOQlFVRXNRMEZCUVN4RlFVRkJMRWRCUVVFc1NVRkJRU3hEUVVGTExFMUJRVTBzVjBGQldDeExRVUZCTEVsQlFVRXNSMEZCUVN4RlFVRkJMRWRCUVRCQ0xFVkJRVVVzUTBGQlFTeERRVUZCTzBGQlF5OUhMRWxCUVVFc1RVRkJUU3hUUVVGWkxFZEJRVUVzVlVGQlFTeERRVUZYTEZsQlFXRXNRMEZCUVN4SlFVRkpMRVZCUVVVc1MwRkJUU3hEUVVGQkxFdEJRVUVzUTBGQlFUdEJRVU4wUkN4SlFVRkJMRTFCUVUwc1ZVRkJWU3hKUVVGTExFTkJRVUVzUzBGQlFTeERRVUZOTERSQ1FVRXJRaXhIUVVGQkxITkNRVUZCTEVOQlFYVkNMRWxCUVVrc1EwRkJTU3hIUVVGQkxFdEJRVUVzUTBGQlFTeERRVUZCTzBGQlEzcEdMRWxCUVUwc1RVRkJRU3hSUVVGQkxFZEJRVmNzVFVGQlRTeEZRVUZCTEVOQlFVY3NWVUZCVnl4RFFVRkJMR05CUVVFc1EwRkJRVHRCUVVGQkxFMUJRMjVETEU5QlFWTXNSVUZCUVN4WlFVRkJPMEZCUVVFc1RVRkRWQ3hQUVVGQk8wRkJRVUVzVFVGRFFTeFRRVUZCTzBGQlFVRXNTMEZEUnl4RlFVRkJMSGxDUVVGQkxFTkJRVEJDTEVsQlFVa3NRMEZEYkVNc1EwRkJRU3hEUVVGQkxFTkJRVUU3UVVGRlJDeEpRVUZKTEVsQlFVRXNaMEpCUVVFc1EwRkJhVUlzVVVGQlVTeERRVUZITEVWQlFVRTdRVUZET1VJc1RVRkJRU3hKUVVGQkxFTkJRVXNzVTBGQlV5eEZRVUZGTEV0QlFVRXNSVUZCVHl4UlFVRlRMRU5CUVVFc1MwRkJRU3hEUVVGTkxGTkJRVk1zUTBGQlFTeERRVUZCTzBGQlFVRXNTMEZEYWtRN1FVRkZRU3hKUVVGSkxFbEJRVUVzU1VGQlFTeEhRVUZQTEdsQ1FVRnBRaXhSUVVGUkxFTkJRVUVzUTBGQlFUdEJRVU53UXl4SlFVRkJMRWxCUVVrc1VVRkJWU3hGUVVGQk8wRkJRMW9zVFVGQlFTeEpRVUZCTEVkQlFVOHNTVUZCU3l4RFFVRkJMRTFCUVVFc1EwRkJUeXhuUWtGQmFVSXNRMEZCUVN4UlFVRkJMRU5CUVZNc1RVRkJUU3hEUVVGRExFTkJRVUVzUTBGQlFUdEJRVUZCTEV0QlEzUkVPMEZCUlVFc1NVRkJUU3hOUVVGQkxHbENRVUZCTEVkQlFXOUNMRXRCUVVzc1MwRkJUU3hEUVVGQkxHbENRVUZCTEVOQlFVRTdRVUZEY2tNc1NVRkJRU3hKUVVGSkxHbENRVUZ0UWl4RlFVRkJPMEZCUTNKQ0xFMUJRVThzU1VGQlFTeEhRVUZCTEVsQlFVRXNRMEZCU3l4UFFVRlBMRU5CUVVNc1EwRkJRU3hMUVVGTkxFVkJRVVVzU1VGQlN5eERRVUZCTEV0QlFVRXNRMEZCVFN4cFFrRkJhVUlzUTBGQlF5eERRVUZCTEVOQlFVRTdRVUZCUVN4TFFVTXpSRHRCUVVWQkxFbEJRVThzVDBGQlFTeEpRVUZCTEVOQlFVc3NTVUZCU1N4cFFrRkJhVUlzUTBGQlFTeERRVUZCTzBGQlFVRXNSMEZEYmtNN1FVRkJRU3hGUVV0QkxFMUJRV0VzWTBGQll5eE5RVUYzUlN4RlFVRkJPMEZCTVZWeVJ5eEpRVUZCTEVsQlFVRXNSVUZCUVN4RlFVRkJMRVZCUVVFc1JVRkJRU3hGUVVGQkxFTkJRVUU3UVVFeVZVa3NTVUZCUVN4TlFVRk5MRmRCUVZjc1QwRkJUU3hEUVVGQkxFVkJRVUVzUjBGQlFTeERRVUZCTEVWQlFVRXNSMEZCUVN4SlFVRkJMRU5CUVVzc1MwRkJUU3hGUVVGQkxHOUNRVUZCTEV0QlFWZ3NORUpCUVd0RExFbEJRVTBzUlVGQlFTeE5RVUZCTEVOQlFVRXNRMEZCUVN4RFFVRkJPMEZCUlM5RUxFbEJRVWtzU1VGQlFTeFJRVUZCTEVsQlFWa3NVMEZCVXl4UFFVRlRMRVZCUVVFN1FVRkRhRU1zVFVGQlFTeFBRVUZQTEdkQ1FVRnBRaXhEUVVGQkxGRkJRVUVzUTBGQlV5eE5RVUZOTEVOQlFVRXNRMEZCUlN4SlFVRkpMR2xDUVVGcFFpeERRVUZCTEVOQlFVRTdRVUZCUVN4TFFVTm9SVHRCUVVWQkxFbEJRVTBzVFVGQlFTeEZRVUZCTEVkQlFVc3NUVUZCVFN4SlFVRkxMRU5CUVVFc1kwRkJRU3hEUVVGbExFbEJRVWtzU1VGQlN5eERRVUZCTEV0QlFVRXNRMEZCVFN4VlFVRlpMRVZCUVVFc1NVRkJRU3hEUVVGTExGZEJRVmNzUTBGQlFTeERRVUZCTzBGQlJXaEdMRWxCUVVFc1NVRkJTU3hEUVVGRExFVkJRVUVzU1VGQlRTeERRVUZETEVWQlFVRXNRMEZCUnl4WlFVRmpMRVZCUVVFN1FVRkRNMElzVFVGQlFTeFBRVUZQTEVWQlFVTXNRMEZCUVR0QlFVRkJMRXRCUTFZN1FVRkhRU3hKUVVGQkxFMUJRVTBzWlVGQlpTeEpRVUZMTEVOQlFVRXNTMEZCUVN4RFFVRk5MRkZCUVZFc1RVRkJUeXhEUVVGQkxFTkJRVU1zVFVGQlRTeERRVUZGTEVOQlFVRXNSMEZCUVN4TFFVRlJMRTFCUVU4c1EwRkJRU3hIUVVGSExFVkJRVVVzVFVGQlR5eERRVUZCTEVOQlFVRXNSVUZCUVN4SFFVRkJMRWxCUVVFc1EwRkJTeXhOUVVGTkxGZEJRVmdzUzBGQlFTeEpRVUZCTEVkQlFVRXNSVUZCUVN4SFFVRXdRaXhGUVVGRkxFTkJRVUVzUTBGQlFUdEJRVVV2Unl4SlFVRkJMRTFCUVUwc1UwRkJXU3hIUVVGQkxGVkJRVUVzUTBGQlZ5eFpRVUZoTEVOQlFVRXNTVUZCU1N4RlFVRkZMRXRCUVUwc1EwRkJRU3hMUVVGQkxFTkJRVUU3UVVGRGRFUXNTVUZCUVN4TlFVRk5MRlZCUVZVc1NVRkJTeXhEUVVGQkxFdEJRVUVzUTBGQlRTdzBRa0ZCSzBJc1IwRkJRU3h6UWtGQlFTeERRVUYxUWl4SlFVRkpMRU5CUVVrc1IwRkJRU3hMUVVGQkxFTkJRVUVzUTBGQlFUdEJRVVY2Uml4SlFVRk5MRTFCUVVFc1VVRkJRU3hIUVVGWExFMUJRVTBzUlVGQlFTeERRVUZITEZsQlFXRXNRMEZCUVN4alFVRkJMRU5CUVVFN1FVRkJRU3hOUVVOeVF5eExRVUZMTEUxQlFVOHNRMEZCUVN4SFFVRkJPMEZCUVVFc1RVRkRXaXhQUVVGVExFVkJRVUVzV1VGQlFUdEJRVUZCTEUxQlExUXNVMEZCUVR0QlFVRkJMRTFCUTBFc1QwRkJRVHRCUVVGQkxFdEJRMGNzUlVGQlFTeDVRa0ZCUVN4RFFVRXdRaXhKUVVGSkxFTkJRMnhETEVOQlFVRXNRMEZCUVN4RFFVRkJPMEZCUlVRc1NVRkJTU3hKUVVGQkxHZENRVUZCTEVOQlFXbENMRkZCUVZFc1EwRkJSeXhGUVVGQk8wRkJRemxDTEUxQlFVRXNTVUZCUVN4RFFVRkxMRk5CUVZNc1JVRkJSU3hMUVVGQkxFVkJRVThzVVVGQlV5eERRVUZCTEV0QlFVRXNRMEZCVFN4VFFVRlRMRU5CUVVFc1EwRkJRVHRCUVVGQkxFdEJRMnBFTzBGQlJVRXNTVUZCU1N4SlFVRkJMRTFCUVVFc1IwRkJVeXhwUWtGQmFVSXNVVUZCVVN4RFFVRkJMRU5CUVVFN1FVRkRkRU1zU1VGQlFTeEpRVUZKTEZGQlFWVXNSVUZCUVR0QlFVTmFMRTFCUVVFc1RVRkJRU3hIUVVGVExFMUJRVThzUTBGQlFTeE5RVUZCTEVOQlFVOHNaMEpCUVdsQ0xFTkJRVUVzVVVGQlFTeERRVUZUTEUxQlFVMHNRMEZCUXl4RFFVRkJMRU5CUVVFN1FVRkJRU3hMUVVNeFJEdEJRVVZCTEVsQlFVOHNUMEZCUVN4TlFVRkJMRU5CUVU4c1NVRkJTU3hwUWtGQmFVSXNRMEZCUVN4RFFVRkJPMEZCUVVFc1IwRkRja003UVVGQlFTeEZRVVZQTEU5QlFWVXNSMEZCUVR0QlFVTm1MRWxCUVVFc1NVRkJRU3hEUVVGTExGRkJRVk1zUTBGQlFUdEJRVUZCTEUxQlExb3NTVUZCUVN4RlFVRk5MRVZCUVVVc1IwRkJTeXhGUVVGQkxFVkJRVUVzUlVGQlNTeFBRVUZQTEVWQlFVa3NSVUZCUVN4UlFVRkJMRVZCUVZVc1IwRkJTeXhGUVVGQkxGTkJRVUVzUlVGQlZ5eEZRVUZITEVWQlFVRTdRVUZCUVN4TFFVTXhSQ3hEUVVGQkxFTkJRVUU3UVVGQlFTeEhRVU5JTzBGQlFVRXNSVUZGVHl4aFFVRm5RaXhIUVVGQk8wRkJRM0pDTEVsQlFVMHNUVUZCUVN4cFFrRkJRU3hIUVVGdlFpeEpRVUZMTEVOQlFVRXNTMEZCUVN4RFFVRk5MREpDUVVOcVF5eEhRVUZCTEZOQlFVRXNSMEZEUVN4VFFVRlZMRU5CUVVFc1RVRkJRU3hEUVVGUExFTkJRVU1zVVVGQlFTeExRVUZoTEVOQlFVTXNVVUZCUVN4RFFVRlRMRTlCUVU4c1EwRkJRU3hEUVVGQk8wRkJRM0JFTEVsQlFVRXNUMEZCVHl4clFrRkJhMElzUjBGQk5rSXNRMEZCUVN4RFFVRkRMRVZCUVVVc1MwRkJRU3hGUVVGUExHRkJRVzFDTEUxQlFVRTdRVUZCUVN4TlFVTnFSaXhMUVVGUExFVkJRVUVzUzBGQlFUdEJRVUZCTEUxQlExQXNTMEZCUVR0QlFVRkJMRTFCUTBFc1YwRkJRVHRCUVVGQkxFdEJRMEVzUTBGQlFTeERRVUZCTEVOQlFVRTdRVUZCUVN4SFFVTktPMEZCUTBZc1EwRkJRVHRCUVRkT1lTeHZRa0ZCUVN4RFFVbEtMRk5CUVZrc1IwRkJRU3cwUWtGQlFTeERRVUZCTzBGQk1rNXlRaXhUUVVGVExHZENRVUZCTEVOQlExQXNVMEZEUVN4UFFVTkJMRVZCUVVFN1FVRkRRU3hGUVVGQkxFOUJRVUVzUTBGQlVTeFBRVUZYTEVsQlFVRXNTVUZCUVN4SFFVRkJMRTlCUVVFc1IwRkJRU3cwUWtGQlFTeEZRVUU0UWl4UFFVRlhMRWxCUVVFc1NVRkJRU3hIUVVGQkxFOUJRVUVzUjBGQlFTeEZRVUZGTEVOQlFVRXNRMEZCUVR0QlFVTm9SU3hEUVVGQk8wRkJSV2RDTEZOQlFVRXNORUpCUVVFc1EwRkJOa0lzUlVGQlJTeExRVUZCTEVWQlFXOUVMRVZCUVVFN1FVRkRha2NzUlVGQlFTeE5RVUZOTEVWQlFVVXNUMEZCVXl4RlFVRkJMRkZCUVVFc1JVRkJWU3h0UWtGQmIwSXNSVUZCUVN4SFFVRkpMRTFCUVUwc1VVRkJVeXhGUVVGQkxFTkJRVUU3UVVGRGJFVXNSVUZCVFN4TlFVRkJMRTFCUVVFc1IwRkJVeXhYUVVGWExGTkJRVk1zUTBGQlFTeERRVUZCTzBGQlJXNURMRVZCUVVrc1NVRkJRU3hMUVVGQkxFTkJRVTBzUzBGQlRTeERRVUZCTEUxQlFVRXNTMEZCVnl4VlFVRlpMRVZCUVVFN1FVRkRja01zU1VGQlFTeDFRa0ZCVVN4TFFVRkJMRU5CUVVFc1lVRkJRU3hEUVVGQkxEUkNRVUZCTEVWQlFVRTdRVUZCUVN4TlFVRTJRaXhMUVVGQk8wRkJRVUVzUzBGQll5eERRVUZCTEVOQlFVRTdRVUZCUVN4SFFVTnlSRHRCUVVWQkxFVkJRVUVzZFVKQlEwY3NTMEZCUVN4RFFVRkJMR0ZCUVVFc1EwRkJRU3hMUVVGQkxFVkJRVUU3UVVGQlFTeEpRVUZKTEZkQlFWY3NUVUZCVHl4RFFVRkJMRTlCUVVFN1FVRkJRU3hIUVVGQkxFVkJRM0JDTEZGQlFWRXNSMEZCU1N4RFFVRkJMRU5CUVVNc1VVRkJVU3hMUVVOd1FpeHhRa0ZCUVN4TFFVRkJMRU5CUVVFc1lVRkJRU3hEUVVGRExFMUJRVTBzVVVGQlRpeEZRVUZCTzBGQlFVRXNTVUZCWlN4SFFVRkxMRVZCUVVFc1MwRkJRVHRCUVVGQkxFZEJRVUVzYTBKQlEyeENMRXRCUVVFc1EwRkJRU3hoUVVGQkxFTkJRVUVzYlVKQlFVRXNSVUZCUVR0QlFVRkJMRWxCUVc5Q0xFMUJRVUU3UVVGQlFTeEpRVUZuUWl4TFFVRkJPMEZCUVVFc1IwRkJZeXhEUVVOeVJDeERRVU5FTEVOQlJVRXNSVUZCUVN4RFFVRkRMRFJDUVVGaExFdEJRVUVzUTBGQlFTeGhRVUZCTEVOQlFVRXNhMEpCUVVFc1JVRkJRVHRCUVVGQkxFbEJRVzFDTEV0QlFVRTdRVUZCUVN4SlFVRmpMRWRCUVVrc1JVRkJRU3hWUVVGQk8wRkJRVUVzU1VGQlZ5eHRRa0ZCUVR0QlFVRkJMRWRCUVRCRExFTkJRek5ITEVOQlFVRXNRMEZCUVR0QlFVVktMRU5CUVVFN1FVRkZRU3hOUVVGTkxGTkJRVUVzUjBGQldTeERRVUZETEV0QlFUQkNMRTFCUVVFN1FVRkJRU3hGUVVNelF5eFRRVUZUTEVkQlFVa3NRMEZCUVR0QlFVRkJMRWxCUTFnc1QwRkJVeXhGUVVGQkxFMUJRVUU3UVVGQlFTeEpRVU5VTEZGQlFWVXNSVUZCUVN4TlFVRkJPMEZCUVVFc1NVRkRWaXhWUVVGWkxFVkJRVUVzVlVGQlFUdEJRVUZCTEVsQlExb3NVMEZCUVN4RlFVRlhMRXRCUVUwc1EwRkJRU3hQUVVGQkxFTkJRVkVzUTBGQlF5eERRVUZCTzBGQlFVRXNTVUZETVVJc1RVRkJRU3hGUVVGUkxFdEJRVTBzUTBGQlFTeFBRVUZCTEVOQlFWRXNRMEZCUXl4RFFVRkJPMEZCUVVFc1IwRkRlRUlzUTBGQlFUdEJRVU5JTEVOQlFVRXNRMEZCUVN4RFFVRkJPMEZCUlU4c1UwRkJVeXhyUWtGQmEwSXNTMEZCYVVRc1JVRkJRVHRCUVVOcVJpeEZRVUZOTEUxQlFVRXNSVUZCUlN4SlFVRk5MRVZCUVVFc1MwRkJRU3hGUVVGVkxFZEJRVUVzUzBGQlFTeERRVUZCTzBGQlEzaENMRVZCUVVFc1RVRkJUU3hOUVVGclF5eEhRVUZCTzBGQlFVRXNTVUZEZEVNc1MwRkJUeXhGUVVGQkxFbEJRVUU3UVVGQlFTeEpRVU5RTEV0QlFVRXNSVUZCVHl4TlFVRlBMRU5CUVVFc1MwRkJRU3hKUVVGQkxFbEJRVUVzUjBGQlFTeExRVUZCTEVkQlFWTXNTVUZCU1N4RFFVRkJPMEZCUVVFc1IwRkROMElzUTBGQlFUdEJRVVZCTEVWQlFVRXNTVUZCU1N4WFFVRlhMRXRCUVU4c1JVRkJRVHRCUVVOd1FpeEpRVUZCTEUxQlFVRXNRMEZCVHl4UlFVRlJMRXRCUVUwc1EwRkJRU3hMUVVGQkxFTkJRVUU3UVVGQlFTeEhRVU4yUWp0QlFVVkJMRVZCUVU4c1QwRkJRU3hOUVVGQkxFTkJRVUU3UVVGRFZDeERRVUZCTzBGQlJVOHNVMEZCVXl4cFFrRkJhVUlzVFVGQmQwTXNSVUZCUVR0QlFVTjJSU3hGUVVGQkxFOUJRVThzVDBGQlR5eEhRVUZSTEV0QlFVRXNSVUZCUVN4SlFVRk5MRTlCUVU4c1VVRkJZU3hMUVVGQkxFVkJRVUVzU1VGQlRTeFBRVUZQTEV0QlFWVXNTMEZCUVN4RlFVRkJMRU5CUVVFN1FVRkRla1VzUTBGQlFUdEJRVVZQTEZOQlFWTXNjVUpCUVhGQ0xHRkJRV2RETEVWQlFVRTdRVUZEYmtVc1JVRkJRU3hOUVVGTkxGZEJRVmNzVTBGQlZTeERRVUZCTEVsQlFVRXNRMEZCU3l4RFFVRkRMRU5CUVUwc1MwRkJRU3hEUVVGQkxFTkJRVVVzVlVGQlZTeGhRVUZoTEVOQlFVRXNRMEZCUVR0QlFVTm9SU3hGUVVGQkxFbEJRVWtzUTBGQlF5eFJRVUZWTEVWQlFVRTdRVUZGWWl4SlFVRlBMRTlCUVVFc1MwRkJRU3hEUVVGQk8wRkJRVUVzUjBGRFZEdEJRVU5CTEVWQlFVOHNUMEZCUVN4UFFVRkJMRU5CUVZFc1UwRkJVeXhQUVVGUExFTkJRVUVzUTBGQlFUdEJRVU5xUXpzN096c2lmUT09XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUErSE8sTUFBTSxTQUFrQyxHQUFBO0FBQzdDLEVBQUE7SUFDRSxLQUFPLEVBQUEsR0FBQTtJQUNQLFdBQWEsRUFBQSxRQUFBO0FBQUEsR0FBQTtBQUVmLEVBQUE7SUFDRSxLQUFPLEVBQUEsSUFBQTtJQUNQLFdBQWEsRUFBQSxXQUFBO0FBQUEsR0FBQTtBQUVmLEVBQUE7SUFDRSxLQUFPLEVBQUEsSUFBQTtJQUNQLFdBQWEsRUFBQSwyQ0FBQTtJQUNiLE9BQVMsRUFBQSxJQUFBO0FBQUEsR0FBQTtBQUVYLEVBQUE7SUFDRSxLQUFPLEVBQUEsS0FBQTtJQUNQLFdBQWEsRUFBQSw2Q0FBQTtJQUNiLE9BQVMsRUFBQSxJQUFBO0FBQUEsR0FBQTtBQUVYLEVBQUE7SUFDRSxLQUFPLEVBQUEsSUFBQTtJQUNQLFdBQWEsRUFBQSxlQUFBO0FBQUEsR0FBQTtBQUVmLEVBQUE7SUFDRSxLQUFPLEVBQUEsSUFBQTtJQUNQLFdBQWEsRUFBQSxzQkFBQTtBQUFB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
@@ -1,76 +0,0 @@
1
- import { isFilterComplete, isMultiValueOperator } from './AdHocFiltersVariable.js';
2
- import { escapeUrlPipeDelimiters, toUrlCommaDelimitedString, unescapeUrlDelimiters } from '../utils.js';
3
-
4
- class AdHocFiltersVariableUrlSyncHandler {
5
- constructor(_variable) {
6
- this._variable = _variable;
7
- }
8
- getKey() {
9
- return `var-${this._variable.state.name}`;
10
- }
11
- getKeys() {
12
- return [this.getKey()];
13
- }
14
- getUrlState() {
15
- const filters = this._variable.state.filters;
16
- if (filters.length === 0) {
17
- return { [this.getKey()]: [""] };
18
- }
19
- const value = filters.filter(isFilterComplete).map((filter) => toArray(filter).map(escapeUrlPipeDelimiters).join("|"));
20
- return { [this.getKey()]: value };
21
- }
22
- updateFromUrl(values) {
23
- const urlValue = values[this.getKey()];
24
- if (urlValue == null) {
25
- return;
26
- }
27
- const filters = deserializeUrlToFilters(urlValue);
28
- this._variable.setState({ filters });
29
- }
30
- }
31
- function deserializeUrlToFilters(value) {
32
- if (Array.isArray(value)) {
33
- const values = value;
34
- return values.map(toFilter).filter(isFilter);
35
- }
36
- const filter = toFilter(value);
37
- return filter === null ? [] : [filter];
38
- }
39
- function toArray(filter) {
40
- var _a;
41
- const result = [toUrlCommaDelimitedString(filter.key, filter.keyLabel), filter.operator];
42
- if (isMultiValueOperator(filter.operator)) {
43
- filter.values.forEach((value, index) => {
44
- var _a2;
45
- result.push(toUrlCommaDelimitedString(value, (_a2 = filter.valueLabels) == null ? void 0 : _a2[index]));
46
- });
47
- } else {
48
- result.push(toUrlCommaDelimitedString(filter.value, (_a = filter.valueLabels) == null ? void 0 : _a[0]));
49
- }
50
- return result;
51
- }
52
- function toFilter(urlValue) {
53
- if (typeof urlValue !== "string" || urlValue.length === 0) {
54
- return null;
55
- }
56
- const [key, keyLabel, operator, _operatorLabel, ...values] = urlValue.split("|").reduce((acc, v) => {
57
- const [key2, label] = v.split(",");
58
- acc.push(key2, label != null ? label : key2);
59
- return acc;
60
- }, []).map(unescapeUrlDelimiters);
61
- return {
62
- key,
63
- keyLabel,
64
- operator,
65
- value: values[0],
66
- values: isMultiValueOperator(operator) ? values.filter((_, index) => index % 2 === 0) : void 0,
67
- valueLabels: values.filter((_, index) => index % 2 === 1),
68
- condition: ""
69
- };
70
- }
71
- function isFilter(filter) {
72
- return filter !== null && typeof filter.key === "string" && typeof filter.value === "string";
73
- }
74
-
75
- export { AdHocFiltersVariableUrlSyncHandler };
76
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRIb2NGaWx0ZXJzVmFyaWFibGVVcmxTeW5jSGFuZGxlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdmFyaWFibGVzL2FkaG9jL0FkSG9jRmlsdGVyc1ZhcmlhYmxlVXJsU3luY0hhbmRsZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNGaWx0ZXJDb21wbGV0ZSwgaXNNdWx0aVZhbHVlT3BlcmF0b3IgfSBmcm9tICcuL0FkSG9jRmlsdGVyc1ZhcmlhYmxlLmpzJztcbmltcG9ydCB7IGVzY2FwZVVybFBpcGVEZWxpbWl0ZXJzLCB0b1VybENvbW1hRGVsaW1pdGVkU3RyaW5nLCB1bmVzY2FwZVVybERlbGltaXRlcnMgfSBmcm9tICcuLi91dGlscy5qcyc7XG5cbmNsYXNzIEFkSG9jRmlsdGVyc1ZhcmlhYmxlVXJsU3luY0hhbmRsZXIge1xuICBjb25zdHJ1Y3RvcihfdmFyaWFibGUpIHtcbiAgICB0aGlzLl92YXJpYWJsZSA9IF92YXJpYWJsZTtcbiAgfVxuICBnZXRLZXkoKSB7XG4gICAgcmV0dXJuIGB2YXItJHt0aGlzLl92YXJpYWJsZS5zdGF0ZS5uYW1lfWA7XG4gIH1cbiAgZ2V0S2V5cygpIHtcbiAgICByZXR1cm4gW3RoaXMuZ2V0S2V5KCldO1xuICB9XG4gIGdldFVybFN0YXRlKCkge1xuICAgIGNvbnN0IGZpbHRlcnMgPSB0aGlzLl92YXJpYWJsZS5zdGF0ZS5maWx0ZXJzO1xuICAgIGlmIChmaWx0ZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHsgW3RoaXMuZ2V0S2V5KCldOiBbXCJcIl0gfTtcbiAgICB9XG4gICAgY29uc3QgdmFsdWUgPSBmaWx0ZXJzLmZpbHRlcihpc0ZpbHRlckNvbXBsZXRlKS5tYXAoKGZpbHRlcikgPT4gdG9BcnJheShmaWx0ZXIpLm1hcChlc2NhcGVVcmxQaXBlRGVsaW1pdGVycykuam9pbihcInxcIikpO1xuICAgIHJldHVybiB7IFt0aGlzLmdldEtleSgpXTogdmFsdWUgfTtcbiAgfVxuICB1cGRhdGVGcm9tVXJsKHZhbHVlcykge1xuICAgIGNvbnN0IHVybFZhbHVlID0gdmFsdWVzW3RoaXMuZ2V0S2V5KCldO1xuICAgIGlmICh1cmxWYWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGZpbHRlcnMgPSBkZXNlcmlhbGl6ZVVybFRvRmlsdGVycyh1cmxWYWx1ZSk7XG4gICAgdGhpcy5fdmFyaWFibGUuc2V0U3RhdGUoeyBmaWx0ZXJzIH0pO1xuICB9XG59XG5mdW5jdGlvbiBkZXNlcmlhbGl6ZVVybFRvRmlsdGVycyh2YWx1ZSkge1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICBjb25zdCB2YWx1ZXMgPSB2YWx1ZTtcbiAgICByZXR1cm4gdmFsdWVzLm1hcCh0b0ZpbHRlcikuZmlsdGVyKGlzRmlsdGVyKTtcbiAgfVxuICBjb25zdCBmaWx0ZXIgPSB0b0ZpbHRlcih2YWx1ZSk7XG4gIHJldHVybiBmaWx0ZXIgPT09IG51bGwgPyBbXSA6IFtmaWx0ZXJdO1xufVxuZnVuY3Rpb24gdG9BcnJheShmaWx0ZXIpIHtcbiAgdmFyIF9hO1xuICBjb25zdCByZXN1bHQgPSBbdG9VcmxDb21tYURlbGltaXRlZFN0cmluZyhmaWx0ZXIua2V5LCBmaWx0ZXIua2V5TGFiZWwpLCBmaWx0ZXIub3BlcmF0b3JdO1xuICBpZiAoaXNNdWx0aVZhbHVlT3BlcmF0b3IoZmlsdGVyLm9wZXJhdG9yKSkge1xuICAgIGZpbHRlci52YWx1ZXMuZm9yRWFjaCgodmFsdWUsIGluZGV4KSA9PiB7XG4gICAgICB2YXIgX2EyO1xuICAgICAgcmVzdWx0LnB1c2godG9VcmxDb21tYURlbGltaXRlZFN0cmluZyh2YWx1ZSwgKF9hMiA9IGZpbHRlci52YWx1ZUxhYmVscykgPT0gbnVsbCA/IHZvaWQgMCA6IF9hMltpbmRleF0pKTtcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICByZXN1bHQucHVzaCh0b1VybENvbW1hRGVsaW1pdGVkU3RyaW5nKGZpbHRlci52YWx1ZSwgKF9hID0gZmlsdGVyLnZhbHVlTGFiZWxzKSA9PSBudWxsID8gdm9pZCAwIDogX2FbMF0pKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gdG9GaWx0ZXIodXJsVmFsdWUpIHtcbiAgaWYgKHR5cGVvZiB1cmxWYWx1ZSAhPT0gXCJzdHJpbmdcIiB8fCB1cmxWYWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBba2V5LCBrZXlMYWJlbCwgb3BlcmF0b3IsIF9vcGVyYXRvckxhYmVsLCAuLi52YWx1ZXNdID0gdXJsVmFsdWUuc3BsaXQoXCJ8XCIpLnJlZHVjZSgoYWNjLCB2KSA9PiB7XG4gICAgY29uc3QgW2tleTIsIGxhYmVsXSA9IHYuc3BsaXQoXCIsXCIpO1xuICAgIGFjYy5wdXNoKGtleTIsIGxhYmVsICE9IG51bGwgPyBsYWJlbCA6IGtleTIpO1xuICAgIHJldHVybiBhY2M7XG4gIH0sIFtdKS5tYXAodW5lc2NhcGVVcmxEZWxpbWl0ZXJzKTtcbiAgcmV0dXJuIHtcbiAgICBrZXksXG4gICAga2V5TGFiZWwsXG4gICAgb3BlcmF0b3IsXG4gICAgdmFsdWU6IHZhbHVlc1swXSxcbiAgICB2YWx1ZXM6IGlzTXVsdGlWYWx1ZU9wZXJhdG9yKG9wZXJhdG9yKSA/IHZhbHVlcy5maWx0ZXIoKF8sIGluZGV4KSA9PiBpbmRleCAlIDIgPT09IDApIDogdm9pZCAwLFxuICAgIHZhbHVlTGFiZWxzOiB2YWx1ZXMuZmlsdGVyKChfLCBpbmRleCkgPT4gaW5kZXggJSAyID09PSAxKSxcbiAgICBjb25kaXRpb246IFwiXCJcbiAgfTtcbn1cbmZ1bmN0aW9uIGlzRmlsdGVyKGZpbHRlcikge1xuICByZXR1cm4gZmlsdGVyICE9PSBudWxsICYmIHR5cGVvZiBmaWx0ZXIua2V5ID09PSBcInN0cmluZ1wiICYmIHR5cGVvZiBmaWx0ZXIudmFsdWUgPT09IFwic3RyaW5nXCI7XG59XG5cbmV4cG9ydCB7IEFkSG9jRmlsdGVyc1ZhcmlhYmxlVXJsU3luY0hhbmRsZXIgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pUVdSSWIyTkdhV3gwWlhKelZtRnlhV0ZpYkdWVmNteFRlVzVqU0dGdVpHeGxjaTVxY3lJc0luTnZkWEpqWlhNaU9sc2lMaTR2TGk0dkxpNHZMaTR2YzNKakwzWmhjbWxoWW14bGN5OWhaR2h2WXk5QlpFaHZZMFpwYkhSbGNuTldZWEpwWVdKc1pWVnliRk41Ym1OSVlXNWtiR1Z5TG5SeklsMHNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdJRk5qWlc1bFQySnFaV04wVlhKc1UzbHVZMGhoYm1Sc1pYSXNJRk5qWlc1bFQySnFaV04wVlhKc1ZtRnNkV1VzSUZOalpXNWxUMkpxWldOMFZYSnNWbUZzZFdWeklIMGdabkp2YlNBbkxpNHZMaTR2WTI5eVpTOTBlWEJsY3ljN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JCWkVodlkwWnBiSFJsY25OV1lYSnBZV0pzWlN4Y2JpQWdRV1JJYjJOR2FXeDBaWEpYYVhSb1RHRmlaV3h6TEZ4dUlDQnBjMFpwYkhSbGNrTnZiWEJzWlhSbExGeHVJQ0JwYzAxMWJIUnBWbUZzZFdWUGNHVnlZWFJ2Y2l4Y2JuMGdabkp2YlNBbkxpOUJaRWh2WTBacGJIUmxjbk5XWVhKcFlXSnNaU2M3WEc1cGJYQnZjblFnZXlCbGMyTmhjR1ZWY214UWFYQmxSR1ZzYVcxcGRHVnljeXdnZEc5VmNteERiMjF0WVVSbGJHbHRhWFJsWkZOMGNtbHVaeXdnZFc1bGMyTmhjR1ZWY214RVpXeHBiV2wwWlhKeklIMGdabkp2YlNBbkxpNHZkWFJwYkhNbk8xeHVYRzVsZUhCdmNuUWdZMnhoYzNNZ1FXUkliMk5HYVd4MFpYSnpWbUZ5YVdGaWJHVlZjbXhUZVc1alNHRnVaR3hsY2lCcGJYQnNaVzFsYm5SeklGTmpaVzVsVDJKcVpXTjBWWEpzVTNsdVkwaGhibVJzWlhJZ2UxeHVJQ0J3ZFdKc2FXTWdZMjl1YzNSeWRXTjBiM0lvY0hKcGRtRjBaU0JmZG1GeWFXRmliR1U2SUVGa1NHOWpSbWxzZEdWeWMxWmhjbWxoWW14bEtTQjdmVnh1WEc0Z0lIQnlhWFpoZEdVZ1oyVjBTMlY1S0NrNklITjBjbWx1WnlCN1hHNGdJQ0FnY21WMGRYSnVJR0IyWVhJdEpIdDBhR2x6TGw5MllYSnBZV0pzWlM1emRHRjBaUzV1WVcxbGZXQTdYRzRnSUgxY2JseHVJQ0J3ZFdKc2FXTWdaMlYwUzJWNWN5Z3BPaUJ6ZEhKcGJtZGJYU0I3WEc0Z0lDQWdjbVYwZFhKdUlGdDBhR2x6TG1kbGRFdGxlU2dwWFR0Y2JpQWdmVnh1WEc0Z0lIQjFZbXhwWXlCblpYUlZjbXhUZEdGMFpTZ3BPaUJUWTJWdVpVOWlhbVZqZEZWeWJGWmhiSFZsY3lCN1hHNGdJQ0FnWTI5dWMzUWdabWxzZEdWeWN5QTlJSFJvYVhNdVgzWmhjbWxoWW14bExuTjBZWFJsTG1acGJIUmxjbk03WEc1Y2JpQWdJQ0JwWmlBb1ptbHNkR1Z5Y3k1c1pXNW5kR2dnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJSEpsZEhWeWJpQjdJRnQwYUdsekxtZGxkRXRsZVNncFhUb2dXeWNuWFNCOU8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdOdmJuTjBJSFpoYkhWbElEMGdabWxzZEdWeWMxeHVJQ0FnSUNBZ0xtWnBiSFJsY2locGMwWnBiSFJsY2tOdmJYQnNaWFJsS1Z4dUlDQWdJQ0FnTG0xaGNDZ29abWxzZEdWeUtTQTlQaUIwYjBGeWNtRjVLR1pwYkhSbGNpa3ViV0Z3S0dWelkyRndaVlZ5YkZCcGNHVkVaV3hwYldsMFpYSnpLUzVxYjJsdUtDZDhKeWtwTzF4dUlDQWdJSEpsZEhWeWJpQjdJRnQwYUdsekxtZGxkRXRsZVNncFhUb2dkbUZzZFdVZ2ZUdGNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QjFjR1JoZEdWR2NtOXRWWEpzS0haaGJIVmxjem9nVTJObGJtVlBZbXBsWTNSVmNteFdZV3gxWlhNcE9pQjJiMmxrSUh0Y2JpQWdJQ0JqYjI1emRDQjFjbXhXWVd4MVpTQTlJSFpoYkhWbGMxdDBhR2x6TG1kbGRFdGxlU2dwWFR0Y2JseHVJQ0FnSUdsbUlDaDFjbXhXWVd4MVpTQTlQU0J1ZFd4c0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdabWxzZEdWeWN5QTlJR1JsYzJWeWFXRnNhWHBsVlhKc1ZHOUdhV3gwWlhKektIVnliRlpoYkhWbEtUdGNiaUFnSUNCMGFHbHpMbDkyWVhKcFlXSnNaUzV6WlhSVGRHRjBaU2g3SUdacGJIUmxjbk1nZlNrN1hHNGdJSDFjYm4xY2JseHVablZ1WTNScGIyNGdaR1Z6WlhKcFlXeHBlbVZWY214VWIwWnBiSFJsY25Nb2RtRnNkV1U2SUZOalpXNWxUMkpxWldOMFZYSnNWbUZzZFdVcE9pQkJaRWh2WTBacGJIUmxjbGRwZEdoTVlXSmxiSE5iWFNCN1hHNGdJR2xtSUNoQmNuSmhlUzVwYzBGeWNtRjVLSFpoYkhWbEtTa2dlMXh1SUNBZ0lHTnZibk4wSUhaaGJIVmxjeUE5SUhaaGJIVmxPMXh1SUNBZ0lISmxkSFZ5YmlCMllXeDFaWE11YldGd0tIUnZSbWxzZEdWeUtTNW1hV3gwWlhJb2FYTkdhV3gwWlhJcE8xeHVJQ0I5WEc1Y2JpQWdZMjl1YzNRZ1ptbHNkR1Z5SUQwZ2RHOUdhV3gwWlhJb2RtRnNkV1VwTzF4dUlDQnlaWFIxY200Z1ptbHNkR1Z5SUQwOVBTQnVkV3hzSUQ4Z1cxMGdPaUJiWm1sc2RHVnlYVHRjYm4xY2JseHVablZ1WTNScGIyNGdkRzlCY25KaGVTaG1hV3gwWlhJNklFRmtTRzlqUm1sc2RHVnlWMmwwYUV4aFltVnNjeWs2SUhOMGNtbHVaMXRkSUh0Y2JpQWdZMjl1YzNRZ2NtVnpkV3gwSUQwZ1czUnZWWEpzUTI5dGJXRkVaV3hwYldsMFpXUlRkSEpwYm1jb1ptbHNkR1Z5TG10bGVTd2dabWxzZEdWeUxtdGxlVXhoWW1Wc0tTd2dabWxzZEdWeUxtOXdaWEpoZEc5eVhUdGNiaUFnYVdZZ0tHbHpUWFZzZEdsV1lXeDFaVTl3WlhKaGRHOXlLR1pwYkhSbGNpNXZjR1Z5WVhSdmNpa3BJSHRjYmlBZ0lDQXZMeUJVVDBSUElISmxiVzkyWlNCbGVIQmxZM1F0WlhKeWIzSWdkMmhsYmlCM1pTZHlaU0J2YmlCMGFHVWdiR0YwWlhOMElIWmxjbk5wYjI0Z2IyWWdRR2R5WVdaaGJtRXZaR0YwWVZ4dUlDQWdJQzh2SUVCMGN5MWxlSEJsWTNRdFpYSnliM0pjYmlBZ0lDQm1hV3gwWlhJdWRtRnNkV1Z6TG1admNrVmhZMmdvS0haaGJIVmxMQ0JwYm1SbGVDa2dQVDRnZTF4dUlDQWdJQ0FnY21WemRXeDBMbkIxYzJnb2RHOVZjbXhEYjIxdFlVUmxiR2x0YVhSbFpGTjBjbWx1WnloMllXeDFaU3dnWm1sc2RHVnlMblpoYkhWbFRHRmlaV3h6UHk1YmFXNWtaWGhkS1NrN1hHNGdJQ0FnZlNrN1hHNGdJSDBnWld4elpTQjdYRzRnSUNBZ2NtVnpkV3gwTG5CMWMyZ29kRzlWY214RGIyMXRZVVJsYkdsdGFYUmxaRk4wY21sdVp5aG1hV3gwWlhJdWRtRnNkV1VzSUdacGJIUmxjaTUyWVd4MVpVeGhZbVZzY3o4dVd6QmRLU2s3WEc0Z0lIMWNiaUFnY21WMGRYSnVJSEpsYzNWc2REdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2RHOUdhV3gwWlhJb2RYSnNWbUZzZFdVNklITjBjbWx1WnlCOElHNTFiV0psY2lCOElHSnZiMnhsWVc0Z2ZDQjFibVJsWm1sdVpXUWdmQ0J1ZFd4c0tUb2dRV1JJYjJOR2FXeDBaWEpYYVhSb1RHRmlaV3h6SUh3Z2JuVnNiQ0I3WEc0Z0lHbG1JQ2gwZVhCbGIyWWdkWEpzVm1Gc2RXVWdJVDA5SUNkemRISnBibWNuSUh4OElIVnliRlpoYkhWbExteGxibWQwYUNBOVBUMGdNQ2tnZTF4dUlDQWdJSEpsZEhWeWJpQnVkV3hzTzF4dUlDQjlYRzVjYmlBZ1kyOXVjM1FnVzJ0bGVTd2dhMlY1VEdGaVpXd3NJRzl3WlhKaGRHOXlMQ0JmYjNCbGNtRjBiM0pNWVdKbGJDd2dMaTR1ZG1Gc2RXVnpYU0E5SUhWeWJGWmhiSFZsWEc0Z0lDQWdMbk53YkdsMEtDZDhKeWxjYmlBZ0lDQXVjbVZrZFdObFBITjBjbWx1WjF0ZFBpZ29ZV05qTENCMktTQTlQaUI3WEc0Z0lDQWdJQ0JqYjI1emRDQmJhMlY1TENCc1lXSmxiRjBnUFNCMkxuTndiR2wwS0Njc0p5azdYRzVjYmlBZ0lDQWdJR0ZqWXk1d2RYTm9LR3RsZVN3Z2JHRmlaV3dnUHo4Z2EyVjVLVHRjYmx4dUlDQWdJQ0FnY21WMGRYSnVJR0ZqWXp0Y2JpQWdJQ0I5TENCYlhTbGNiaUFnSUNBdWJXRndLSFZ1WlhOallYQmxWWEpzUkdWc2FXMXBkR1Z5Y3lrN1hHNWNiaUFnY21WMGRYSnVJSHRjYmlBZ0lDQnJaWGtzWEc0Z0lDQWdhMlY1VEdGaVpXd3NYRzRnSUNBZ2IzQmxjbUYwYjNJc1hHNGdJQ0FnZG1Gc2RXVTZJSFpoYkhWbGMxc3dYU3hjYmlBZ0lDQjJZV3gxWlhNNklHbHpUWFZzZEdsV1lXeDFaVTl3WlhKaGRHOXlLRzl3WlhKaGRHOXlLU0EvSUhaaGJIVmxjeTVtYVd4MFpYSW9LRjhzSUdsdVpHVjRLU0E5UGlCcGJtUmxlQ0FsSURJZ1BUMDlJREFwSURvZ2RXNWtaV1pwYm1Wa0xGeHVJQ0FnSUhaaGJIVmxUR0ZpWld4ek9pQjJZV3gxWlhNdVptbHNkR1Z5S0NoZkxDQnBibVJsZUNrZ1BUNGdhVzVrWlhnZ0pTQXlJRDA5UFNBeEtTeGNiaUFnSUNCamIyNWthWFJwYjI0NklDY25MRnh1SUNCOU8xeHVmVnh1WEc1bWRXNWpkR2x2YmlCcGMwWnBiSFJsY2lobWFXeDBaWEk2SUVGa1NHOWpSbWxzZEdWeVYybDBhRXhoWW1Wc2N5QjhJRzUxYkd3cE9pQm1hV3gwWlhJZ2FYTWdRV1JJYjJOR2FXeDBaWEpYYVhSb1RHRmlaV3h6SUh0Y2JpQWdjbVYwZFhKdUlHWnBiSFJsY2lBaFBUMGdiblZzYkNBbUppQjBlWEJsYjJZZ1ptbHNkR1Z5TG10bGVTQTlQVDBnSjNOMGNtbHVaeWNnSmlZZ2RIbHdaVzltSUdacGJIUmxjaTUyWVd4MVpTQTlQVDBnSjNOMGNtbHVaeWM3WEc1OVhHNGlYU3dpYm1GdFpYTWlPbHNpWDJFaUxDSnJaWGtpWFN3aWJXRndjR2x1WjNNaU9pSTdPenRCUVZOUExFMUJRVTBzYTBOQlFYZEZMRU5CUVVFN1FVRkJRU3hGUVVNMVJTeFpRVUZ2UWl4VFFVRnBReXhGUVVGQk8wRkJRV3BETEVsQlFVRXNTVUZCUVN4RFFVRkJMRk5CUVVFc1IwRkJRU3hUUVVGQkxFTkJRVUU3UVVGQlFTeEhRVUZyUXp0QlFVRkJMRVZCUlhKRUxFMUJRV2xDTEVkQlFVRTdRVUZEZGtJc1NVRkJUeXhQUVVGQkxFTkJRVUVzU1VGQlFTeEZRVUZQTEVsQlFVc3NRMEZCUVN4VFFVRkJMRU5CUVZVc1MwRkJUU3hEUVVGQkxFbEJRVUVzUTBGQlFTeERRVUZCTEVOQlFVRTdRVUZCUVN4SFFVTnlRenRCUVVGQkxFVkJSVThzVDBGQmIwSXNSMEZCUVR0QlFVTjZRaXhKUVVGUExFOUJRVUVzUTBGQlF5eEpRVUZMTEVOQlFVRXNUVUZCUVN4RlFVRlJMRU5CUVVFc1EwRkJRVHRCUVVGQkxFZEJRM1pDTzBGQlFVRXNSVUZGVHl4WFFVRnZReXhIUVVGQk8wRkJRM3BETEVsQlFVMHNUVUZCUVN4UFFVRkJMRWRCUVZVc1NVRkJTeXhEUVVGQkxGTkJRVUVzUTBGQlZTeExRVUZOTEVOQlFVRXNUMEZCUVN4RFFVRkJPMEZCUlhKRExFbEJRVWtzU1VGQlFTeFBRVUZCTEVOQlFWRXNWMEZCVnl4RFFVRkhMRVZCUVVFN1FVRkRlRUlzVFVGQlFTeFBRVUZQTEVWQlFVVXNRMEZCUXl4SlFVRkJMRU5CUVVzc1VVRkJWeXhIUVVGQkxFTkJRVU1zUlVGQlJTeERRVUZGTEVWQlFVRXNRMEZCUVR0QlFVRkJMRXRCUTJwRE8wRkJSVUVzU1VGQlFTeE5RVUZOTEZGQlFWRXNUMEZEV0N4RFFVRkJMRTFCUVVFc1EwRkJUeXhuUWtGQlowSXNRMEZCUVN4RFFVTjJRaXhKUVVGSkxFTkJRVU1zVFVGQlFTeExRVUZYTEU5QlFWRXNRMEZCUVN4TlFVRk5MRVZCUVVVc1IwRkJTU3hEUVVGQkxIVkNRVUYxUWl4RFFVRkZMRU5CUVVFc1NVRkJRU3hEUVVGTExFZEJRVWNzUTBGQlF5eERRVUZCTEVOQlFVRTdRVUZEZWtVc1NVRkJRU3hQUVVGUExFVkJRVVVzUTBGQlF5eEpRVUZMTEVOQlFVRXNUVUZCUVN4TFFVRlhMRXRCUVUwc1JVRkJRU3hEUVVGQk8wRkJRVUVzUjBGRGJFTTdRVUZCUVN4RlFVVlBMR05CUVdNc1RVRkJiME1zUlVGQlFUdEJRVU4yUkN4SlFVRk5MRTFCUVVFc1VVRkJRU3hIUVVGWExFMUJRVThzUTBGQlFTeEpRVUZCTEVOQlFVc3NUVUZCVHl4RlFVRkJMRU5CUVVFc1EwRkJRVHRCUVVWd1F5eEpRVUZCTEVsQlFVa3NXVUZCV1N4SlFVRk5MRVZCUVVFN1FVRkRjRUlzVFVGQlFTeFBRVUZCTzBGQlFVRXNTMEZEUmp0QlFVVkJMRWxCUVUwc1RVRkJRU3hQUVVGQkxFZEJRVlVzZDBKQlFYZENMRkZCUVZFc1EwRkJRU3hEUVVGQk8wRkJRMmhFTEVsQlFVRXNTVUZCUVN4RFFVRkxMRk5CUVZVc1EwRkJRU3hSUVVGQkxFTkJRVk1zUlVGQlJTeFBRVUZCTEVWQlFWTXNRMEZCUVN4RFFVRkJPMEZCUVVFc1IwRkRja003UVVGRFJpeERRVUZCTzBGQlJVRXNVMEZCVXl4M1FrRkJkMElzUzBGQmNVUXNSVUZCUVR0QlFVTndSaXhGUVVGSkxFbEJRVUVzUzBGQlFTeERRVUZOTEU5QlFWRXNRMEZCUVN4TFFVRkxMRU5CUVVjc1JVRkJRVHRCUVVONFFpeEpRVUZCTEUxQlFVMHNUVUZCVXl4SFFVRkJMRXRCUVVFc1EwRkJRVHRCUVVObUxFbEJRVUVzVDBGQlR5eE5RVUZQTEVOQlFVRXNSMEZCUVN4RFFVRkpMRkZCUVZFc1EwRkJRU3hEUVVGRkxFOUJRVThzVVVGQlVTeERRVUZCTEVOQlFVRTdRVUZCUVN4SFFVTTNRenRCUVVWQkxFVkJRVTBzVFVGQlFTeE5RVUZCTEVkQlFWTXNVMEZCVXl4TFFVRkxMRU5CUVVFc1EwRkJRVHRCUVVNM1FpeEZRVUZCTEU5QlFVOHNUVUZCVnl4TFFVRkJMRWxCUVVFc1IwRkJUeXhGUVVGRExFZEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVRXNRMEZCUVR0QlFVTjJReXhEUVVGQk8wRkJSVUVzVTBGQlV5eFJRVUZSTEUxQlFYbERMRVZCUVVFN1FVRjJSREZFTEVWQlFVRXNTVUZCUVN4RlFVRkJMRU5CUVVFN1FVRjNSRVVzUlVGQlRTeE5RVUZCTEUxQlFVRXNSMEZCVXl4RFFVRkRMSGxDUVVFd1FpeERRVUZCTEUxQlFVRXNRMEZCVHl4TFFVRkxMRTFCUVU4c1EwRkJRU3hSUVVGUkxFTkJRVWNzUlVGQlFTeE5RVUZCTEVOQlFVOHNVVUZCVVN4RFFVRkJMRU5CUVVFN1FVRkRka1lzUlVGQlNTeEpRVUZCTEc5Q1FVRkJMRU5CUVhGQ0xFMUJRVThzUTBGQlFTeFJRVUZSTEVOQlFVY3NSVUZCUVR0QlFVZDZReXhKUVVGQkxFMUJRVUVzUTBGQlR5eE5RVUZQTEVOQlFVRXNUMEZCUVN4RFFVRlJMRU5CUVVNc1MwRkJRU3hGUVVGUExFdEJRVlVzUzBGQlFUdEJRVFZFTlVNc1RVRkJRVUVzU1VGQlFVRXNSMEZCUVVFc1EwRkJRVUU3UVVFMlJFMHNUVUZCVHl4TlFVRkJMRU5CUVVFc1NVRkJRU3hEUVVGTExEQkNRVUV3UWl4TFFVRlBRU3hGUVVGQlFTeERRVUZCUVN4SFFVRkJRU3hIUVVGQkxFOUJRVThzVjBGQlVDeExRVUZCTEVsQlFVRXNSMEZCUVN4TFFVRkJMRU5CUVVFc1IwRkJRVUVzUjBGQmNVSXNRMEZCUVN4TFFVRkJMRU5CUVUwc1EwRkJReXhEUVVGQkxFTkJRVUU3UVVGQlFTeExRVU14UlN4RFFVRkJMRU5CUVVFN1FVRkJRU3hIUVVOSkxFMUJRVUU3UVVGRFRDeEpRVUZQTEUxQlFVRXNRMEZCUVN4SlFVRkJMRU5CUVVzc01FSkJRVEJDTEUxQlFVOHNRMEZCUVN4TFFVRkJMRVZCUVVFc1EwRkJUeXhaUVVGUExGZEJRVkFzUzBGQlFTeEpRVUZCTEVkQlFVRXNTMEZCUVN4RFFVRkJMRWRCUVVFc1JVRkJRU3hEUVVGeFFpeEZRVUZGTEVOQlFVTXNRMEZCUVN4RFFVRkJPMEZCUVVFc1IwRkRPVVU3UVVGRFFTeEZRVUZQTEU5QlFVRXNUVUZCUVN4RFFVRkJPMEZCUTFRc1EwRkJRVHRCUVVWQkxGTkJRVk1zVTBGQlV5eFJRVUZ6Uml4RlFVRkJPMEZCUTNSSExFVkJRVUVzU1VGQlNTeFBRVUZQTEZGQlFVRXNTMEZCWVN4UlFVRlpMRWxCUVVFc1VVRkJRU3hEUVVGVExGZEJRVmNzUTBGQlJ5eEZRVUZCTzBGQlEzcEVMRWxCUVU4c1QwRkJRU3hKUVVGQkxFTkJRVUU3UVVGQlFTeEhRVU5VTzBGQlJVRXNSVUZCUVN4TlFVRk5MRU5CUVVNc1IwRkJRU3hGUVVGTExGRkJRVlVzUlVGQlFTeFJRVUZCTEVWQlFWVXNiVUpCUVcxQ0xFMUJRVTBzUTBGQlFTeEhRVUZKTEZGQlF6RkVMRU5CUVVFc1MwRkJRU3hEUVVGTkxFZEJRVWNzUTBGQlFTeERRVU5VTEUxQlFXbENMRU5CUVVFc1EwRkJReXhMUVVGTExFTkJRVTBzUzBGQlFUdEJRVU0xUWl4SlFVRkJMRTFCUVUwc1EwRkJRME1zU1VGQlN5eEZRVUZCTEV0QlFVc3NRMEZCU1N4SFFVRkJMRU5CUVVFc1EwRkJSU3hOUVVGTkxFZEJRVWNzUTBGQlFTeERRVUZCTzBGQlJXaERMRWxCUVVrc1IwRkJRU3hEUVVGQkxFbEJRVUVzUTBGQlMwRXNTVUZCU3l4RlFVRkJMRXRCUVVFc1NVRkJRU3hKUVVGQkxFZEJRVUVzUzBGQlFTeEhRVUZUUVN4SlFVRkhMRU5CUVVFc1EwRkJRVHRCUVVVeFFpeEpRVUZQTEU5QlFVRXNSMEZCUVN4RFFVRkJPMEZCUVVFc1IwRkRUaXhGUVVGQkxFVkJRVVVzUTBGQlFTeERRVU5LTEVsQlFVa3NjVUpCUVhGQ0xFTkJRVUVzUTBGQlFUdEJRVVUxUWl4RlFVRlBMRTlCUVVFN1FVRkJRU3hKUVVOTUxFZEJRVUU3UVVGQlFTeEpRVU5CTEZGQlFVRTdRVUZCUVN4SlFVTkJMRkZCUVVFN1FVRkJRU3hKUVVOQkxFOUJRVThzVFVGQlR5eERRVUZCTEVOQlFVRXNRMEZCUVR0QlFVRkJMRWxCUTJRc1RVRkJVU3hGUVVGQkxHOUNRVUZCTEVOQlFYRkNMRkZCUVZFc1EwRkJRU3hIUVVGSkxFMUJRVThzUTBGQlFTeE5RVUZCTEVOQlFVOHNRMEZCUXl4RFFVRkJMRVZCUVVjc1MwRkJWU3hMUVVGQkxFdEJRVUVzUjBGQlVTeERRVUZOTEV0QlFVRXNRMEZCUXl4RFFVRkpMRWRCUVVFc1MwRkJRU3hEUVVGQk8wRkJRVUVzU1VGRGVFWXNWMEZCUVN4RlFVRmhMRTlCUVU4c1RVRkJUeXhEUVVGQkxFTkJRVU1zUjBGQlJ5eExRVUZWTEV0QlFVRXNTMEZCUVN4SFFVRlJMRTFCUVUwc1EwRkJReXhEUVVGQk8wRkJRVUVzU1VGRGVFUXNVMEZCVnl4RlFVRkJMRVZCUVVFN1FVRkJRU3hIUVVOaUxFTkJRVUU3UVVGRFJpeERRVUZCTzBGQlJVRXNVMEZCVXl4VFFVRlRMRTFCUVhWRkxFVkJRVUU3UVVGRGRrWXNSVUZCVHl4UFFVRkJMRTFCUVVFc1MwRkJWeXhSUVVGUkxFOUJRVThzVFVGQlFTeERRVUZQTEZGQlFWRXNVVUZCV1N4SlFVRkJMRTlCUVU4c1QwRkJUeXhMUVVGVkxFdEJRVUVzVVVGQlFTeERRVUZCTzBGQlEzUkdPenM3T3lKOVxuIl0sIm5hbWVzIjpbIl9hIiwia2V5Il0sIm1hcHBpbmdzIjoiOzs7QUFTTyxNQUFNLGtDQUF3RSxDQUFBO0FBQzVFLEVBQUEsV0FBQSxDQUFvQixTQUFpQyxFQUFBO0FBQWpDLElBQUEsSUFBQSxDQUFBLFNBQUEsR0FBQSxTQUFBLENBQUE7QUFBQSxHQUFBO0VBRW5CLE1BQWlCLEdBQUE7QUFDaEIsSUFBQSxPQUFBLENBQUEsSUFBQSxFQUFPLElBQUssQ0FBQSxTQUFBLENBQVUsS0FBTSxDQUFBLElBQUEsQ0FBQSxDQUFBLENBQUE7QUFBQSxHQUFBO0VBRzlCLE9BQW9CLEdBQUE7QUFDbEIsSUFBQSxPQUFBLENBQUMsSUFBSyxDQUFBLE1BQUEsRUFBUSxDQUFBLENBQUE7QUFBQSxHQUFBO0VBR2hCLFdBQW9DLEdBQUE7QUFDbkMsSUFBQSxNQUFBLE9BQUEsR0FBVSxJQUFLLENBQUEsU0FBQSxDQUFVLEtBQU0sQ0FBQSxPQUFBLENBQUE7QUFFakMsSUFBQSxJQUFBLE9BQUEsQ0FBUSxXQUFXLENBQUcsRUFBQTtBQUN4QixNQUFBLE9BQU8sRUFBRSxDQUFDLElBQUEsQ0FBSyxRQUFXLEdBQUEs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
@@ -1,13 +0,0 @@
1
- import { getFuzzySearcher } from '../utils.js';
2
-
3
- function getAdhocOptionSearcher(options) {
4
- const haystack = options.map((o) => {
5
- var _a;
6
- return (_a = o.label) != null ? _a : String(o.value);
7
- });
8
- const fuzzySearch = getFuzzySearcher(haystack);
9
- return (search) => fuzzySearch(search).map((i) => options[i]);
10
- }
11
-
12
- export { getAdhocOptionSearcher };
13
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0QWRob2NPcHRpb25TZWFyY2hlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdmFyaWFibGVzL2FkaG9jL2dldEFkaG9jT3B0aW9uU2VhcmNoZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0RnV6enlTZWFyY2hlciB9IGZyb20gJy4uL3V0aWxzLmpzJztcblxuZnVuY3Rpb24gZ2V0QWRob2NPcHRpb25TZWFyY2hlcihvcHRpb25zKSB7XG4gIGNvbnN0IGhheXN0YWNrID0gb3B0aW9ucy5tYXAoKG8pID0+IHtcbiAgICB2YXIgX2E7XG4gICAgcmV0dXJuIChfYSA9IG8ubGFiZWwpICE9IG51bGwgPyBfYSA6IFN0cmluZyhvLnZhbHVlKTtcbiAgfSk7XG4gIGNvbnN0IGZ1enp5U2VhcmNoID0gZ2V0RnV6enlTZWFyY2hlcihoYXlzdGFjayk7XG4gIHJldHVybiAoc2VhcmNoKSA9PiBmdXp6eVNlYXJjaChzZWFyY2gpLm1hcCgoaSkgPT4gb3B0aW9uc1tpXSk7XG59XG5cbmV4cG9ydCB7IGdldEFkaG9jT3B0aW9uU2VhcmNoZXIgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pWjJWMFFXUm9iMk5QY0hScGIyNVRaV0Z5WTJobGNpNXFjeUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZMaTR2TGk0dkxpNHZjM0pqTDNaaGNtbGhZbXhsY3k5aFpHaHZZeTluWlhSQlpHaHZZMDl3ZEdsdmJsTmxZWEpqYUdWeUxuUnpJbDBzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3SUZObGJHVmpkR0ZpYkdWV1lXeDFaU0I5SUdaeWIyMGdKMEJuY21GbVlXNWhMMlJoZEdFbk8xeHVhVzF3YjNKMElIc2daMlYwUm5WNmVubFRaV0Z5WTJobGNpQjlJR1p5YjIwZ0p5NHVMM1YwYVd4ekp6dGNibHh1Wlhod2IzSjBJR1oxYm1OMGFXOXVJR2RsZEVGa2FHOWpUM0IwYVc5dVUyVmhjbU5vWlhJb2IzQjBhVzl1Y3pvZ1UyVnNaV04wWVdKc1pWWmhiSFZsVzEwcElIdGNiaUFnWTI5dWMzUWdhR0Y1YzNSaFkyc2dQU0J2Y0hScGIyNXpMbTFoY0Nnb2J5a2dQVDRnYnk1c1lXSmxiQ0EvUHlCVGRISnBibWNvYnk1MllXeDFaU2twTzF4dUlDQmpiMjV6ZENCbWRYcDZlVk5sWVhKamFDQTlJR2RsZEVaMWVucDVVMlZoY21Ob1pYSW9hR0Y1YzNSaFkyc3BPMXh1WEc0Z0lISmxkSFZ5YmlBb2MyVmhjbU5vT2lCemRISnBibWNwSUQwK0lHWjFlbnA1VTJWaGNtTm9LSE5sWVhKamFDa3ViV0Z3S0NocEtTQTlQaUJ2Y0hScGIyNXpXMmxkS1R0Y2JuMWNiaUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lPenRCUVVkUExGTkJRVk1zZFVKQlFYVkNMRTlCUVRSQ0xFVkJRVUU3UVVGRGFrVXNSVUZCUVN4TlFVRk5MRkZCUVZjc1IwRkJRU3hQUVVGQkxFTkJRVkVzUjBGQlNTeERRVUZCTEVOQlFVTXNRMEZCUnl4TFFVRkJPMEZCU201RExFbEJRVUVzU1VGQlFTeEZRVUZCTEVOQlFVRTdRVUZKYzBNc1NVRkJRU3hQUVVGQkxFTkJRVUVzUlVGQlFTeEhRVUZCTEVOQlFVRXNRMEZCUlN4TFFVRkdMRXRCUVVFc1NVRkJRU3hIUVVGQkxFVkJRVUVzUjBGQlZ5eE5RVUZQTEVOQlFVRXNRMEZCUVN4RFFVRkZMRXRCUVVzc1EwRkJRU3hEUVVGQk8wRkJRVUVzUjBGQlF5eERRVUZCTEVOQlFVRTdRVUZET1VRc1JVRkJUU3hOUVVGQkxGZEJRVUVzUjBGQll5eHBRa0ZCYVVJc1VVRkJVU3hEUVVGQkxFTkJRVUU3UVVGRk4wTXNSVUZCVHl4UFFVRkJMRU5CUVVNc1YwRkJiVUlzVjBGQldTeERRVUZCTEUxQlFVMHNSVUZCUlN4SFFVRkpMRU5CUVVFc1EwRkJReXhEUVVGTkxFdEJRVUVzVDBGQlFTeERRVUZSTEVOQlFVVXNRMEZCUVN4RFFVRkJMRU5CUVVFN1FVRkRkRVU3T3pzN0luMD1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdPLFNBQVMsdUJBQXVCLE9BQTRCLEVBQUE7QUFDakUsRUFBQSxNQUFNLFFBQVcsR0FBQSxPQUFBLENBQVEsR0FBSSxDQUFBLENBQUMsQ0FBRyxLQUFBO0FBSm5DLElBQUEsSUFBQSxFQUFBLENBQUE7QUFJc0MsSUFBQSxPQUFBLENBQUEsS0FBQSxDQUFFLENBQUEsS0FBQSxLQUFGLE9BQUEsRUFBVyxHQUFBLE1BQUEsQ0FBTyxFQUFFLEtBQUssQ0FBQSxDQUFBO0dBQUMsQ0FBQSxDQUFBO0FBQ3hELEVBQUEsTUFBQSxXQUFBLEdBQWMsaUJBQWlCLFFBQVEsQ0FBQSxDQUFBO0FBRXRDLEVBQUEsT0FBQSxDQUFDLFdBQW1CLFdBQVksQ0FBQSxNQUFNLEVBQUUsR0FBSSxDQUFBLENBQUMsQ0FBTSxLQUFBLE9BQUEsQ0FBUSxDQUFFLENBQUEsQ0FBQSxDQUFBO0FBQ3RFOzs7OyJ9