@backstage-community/plugin-cost-insights 0.12.24 → 0.12.26

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 (231) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +6 -6
  3. package/dist/alerts/ProjectGrowthAlert.esm.js +24 -0
  4. package/dist/alerts/ProjectGrowthAlert.esm.js.map +1 -0
  5. package/dist/alerts/UnlabeledDataflowAlert.esm.js +25 -0
  6. package/dist/alerts/UnlabeledDataflowAlert.esm.js.map +1 -0
  7. package/dist/api/CostInsightsApi.esm.js +8 -0
  8. package/dist/api/CostInsightsApi.esm.js.map +1 -0
  9. package/dist/components/ActionItems/ActionItemCard.esm.js +46 -0
  10. package/dist/components/ActionItems/ActionItemCard.esm.js.map +1 -0
  11. package/dist/components/ActionItems/ActionItems.esm.js +90 -0
  12. package/dist/components/ActionItems/ActionItems.esm.js.map +1 -0
  13. package/dist/components/AlertInsights/AlertDialog.esm.js +123 -0
  14. package/dist/components/AlertInsights/AlertDialog.esm.js.map +1 -0
  15. package/dist/components/AlertInsights/AlertInsights.esm.js +157 -0
  16. package/dist/components/AlertInsights/AlertInsights.esm.js.map +1 -0
  17. package/dist/components/AlertInsights/AlertInsightsHeader.esm.js +17 -0
  18. package/dist/components/AlertInsights/AlertInsightsHeader.esm.js.map +1 -0
  19. package/dist/components/AlertInsights/AlertInsightsSection.esm.js +57 -0
  20. package/dist/components/AlertInsights/AlertInsightsSection.esm.js.map +1 -0
  21. package/dist/components/AlertInsights/AlertInsightsSectionHeader.esm.js +30 -0
  22. package/dist/components/AlertInsights/AlertInsightsSectionHeader.esm.js.map +1 -0
  23. package/dist/components/AlertInsights/AlertStatusSummary.esm.js +93 -0
  24. package/dist/components/AlertInsights/AlertStatusSummary.esm.js.map +1 -0
  25. package/dist/components/AlertInsights/AlertStatusSummaryButton.esm.js +35 -0
  26. package/dist/components/AlertInsights/AlertStatusSummaryButton.esm.js.map +1 -0
  27. package/dist/components/AlertInstructionsLayout/AlertInstructionsLayout.esm.js +47 -0
  28. package/dist/components/AlertInstructionsLayout/AlertInstructionsLayout.esm.js.map +1 -0
  29. package/dist/components/BarChart/BarChart.esm.js +167 -0
  30. package/dist/components/BarChart/BarChart.esm.js.map +1 -0
  31. package/dist/components/BarChart/BarChartLabel.esm.js +31 -0
  32. package/dist/components/BarChart/BarChartLabel.esm.js.map +1 -0
  33. package/dist/components/BarChart/BarChartLegend.esm.js +47 -0
  34. package/dist/components/BarChart/BarChartLegend.esm.js.map +1 -0
  35. package/dist/components/BarChart/BarChartStepper.esm.js +91 -0
  36. package/dist/components/BarChart/BarChartStepper.esm.js.map +1 -0
  37. package/dist/components/BarChart/BarChartStepperButton.esm.js +27 -0
  38. package/dist/components/BarChart/BarChartStepperButton.esm.js.map +1 -0
  39. package/dist/components/BarChart/BarChartSteps.esm.js +25 -0
  40. package/dist/components/BarChart/BarChartSteps.esm.js.map +1 -0
  41. package/dist/components/BarChart/BarChartTick.esm.js +29 -0
  42. package/dist/components/BarChart/BarChartTick.esm.js.map +1 -0
  43. package/dist/components/BarChart/BarChartTooltip.esm.js +30 -0
  44. package/dist/components/BarChart/BarChartTooltip.esm.js.map +1 -0
  45. package/dist/components/BarChart/BarChartTooltipItem.esm.js +24 -0
  46. package/dist/components/BarChart/BarChartTooltipItem.esm.js.map +1 -0
  47. package/dist/components/CopyUrlToClipboard/CopyUrlToClipboard.esm.js +44 -0
  48. package/dist/components/CopyUrlToClipboard/CopyUrlToClipboard.esm.js.map +1 -0
  49. package/dist/components/CostGrowth/CostGrowth.esm.js +55 -0
  50. package/dist/components/CostGrowth/CostGrowth.esm.js.map +1 -0
  51. package/dist/components/CostGrowth/CostGrowthIndicator.esm.js +31 -0
  52. package/dist/components/CostGrowth/CostGrowthIndicator.esm.js.map +1 -0
  53. package/dist/components/CostInsightsHeader/CostInsightsHeader.esm.js +57 -0
  54. package/dist/components/CostInsightsHeader/CostInsightsHeader.esm.js.map +1 -0
  55. package/dist/components/CostInsightsLayout/CostInsightsLayout.esm.js +35 -0
  56. package/dist/components/CostInsightsLayout/CostInsightsLayout.esm.js.map +1 -0
  57. package/dist/components/CostInsightsNavigation/CostInsightsNavigation.esm.js +87 -0
  58. package/dist/components/CostInsightsNavigation/CostInsightsNavigation.esm.js.map +1 -0
  59. package/dist/components/CostInsightsPage/CostInsightsPage.esm.js +229 -0
  60. package/dist/components/CostInsightsPage/CostInsightsPage.esm.js.map +1 -0
  61. package/dist/components/CostInsightsPage/CostInsightsPageRoot.esm.js +15 -0
  62. package/dist/components/CostInsightsPage/CostInsightsPageRoot.esm.js.map +1 -0
  63. package/dist/components/CostInsightsPage/CostInsightsThemeProvider.esm.js +24 -0
  64. package/dist/components/CostInsightsPage/CostInsightsThemeProvider.esm.js.map +1 -0
  65. package/dist/components/CostInsightsPage/index.esm.js +2 -0
  66. package/dist/components/CostInsightsPage/index.esm.js.map +1 -0
  67. package/dist/components/CostInsightsPage/selector.esm.js +15 -0
  68. package/dist/components/CostInsightsPage/selector.esm.js.map +1 -0
  69. package/dist/components/CostInsightsTabs/CostInsightsTabs.esm.js +89 -0
  70. package/dist/components/CostInsightsTabs/CostInsightsTabs.esm.js.map +1 -0
  71. package/dist/components/CostInsightsTabs/selector.esm.js +17 -0
  72. package/dist/components/CostInsightsTabs/selector.esm.js.map +1 -0
  73. package/dist/components/CostOverviewCard/CostOverviewBreakdownChart.esm.js +196 -0
  74. package/dist/components/CostOverviewCard/CostOverviewBreakdownChart.esm.js.map +1 -0
  75. package/dist/components/CostOverviewCard/CostOverviewCard.esm.js +99 -0
  76. package/dist/components/CostOverviewCard/CostOverviewCard.esm.js.map +1 -0
  77. package/dist/components/CostOverviewCard/CostOverviewChart.esm.js +157 -0
  78. package/dist/components/CostOverviewCard/CostOverviewChart.esm.js.map +1 -0
  79. package/dist/components/CostOverviewCard/CostOverviewHeader.esm.js +25 -0
  80. package/dist/components/CostOverviewCard/CostOverviewHeader.esm.js.map +1 -0
  81. package/dist/components/CostOverviewCard/CostOverviewLegend.esm.js +54 -0
  82. package/dist/components/CostOverviewCard/CostOverviewLegend.esm.js.map +1 -0
  83. package/dist/components/CostOverviewCard/selector.esm.js +22 -0
  84. package/dist/components/CostOverviewCard/selector.esm.js.map +1 -0
  85. package/dist/components/CurrencySelect/CurrencySelect.esm.js +52 -0
  86. package/dist/components/CurrencySelect/CurrencySelect.esm.js.map +1 -0
  87. package/dist/{esm/index-BPzWHt3A.esm.js → components/EntityCosts/EntityCosts.esm.js} +14 -80
  88. package/dist/{esm/index-BPzWHt3A.esm.js.map → components/EntityCosts/EntityCosts.esm.js.map} +1 -1
  89. package/dist/components/EntityCosts/index.esm.js +2 -0
  90. package/dist/components/EntityCosts/index.esm.js.map +1 -0
  91. package/dist/{esm/index-BA6m_qFS.esm.js → components/LabelDataflowInstructionsPage/LabelDataflowInstructionsPage.esm.js} +2 -79
  92. package/dist/components/LabelDataflowInstructionsPage/LabelDataflowInstructionsPage.esm.js.map +1 -0
  93. package/dist/components/LabelDataflowInstructionsPage/index.esm.js +2 -0
  94. package/dist/components/LabelDataflowInstructionsPage/index.esm.js.map +1 -0
  95. package/dist/components/LegendItem/LegendItem.esm.js +44 -0
  96. package/dist/components/LegendItem/LegendItem.esm.js.map +1 -0
  97. package/dist/components/MetricSelect/MetricSelect.esm.js +37 -0
  98. package/dist/components/MetricSelect/MetricSelect.esm.js.map +1 -0
  99. package/dist/components/PeriodSelect/PeriodSelect.esm.js +72 -0
  100. package/dist/components/PeriodSelect/PeriodSelect.esm.js.map +1 -0
  101. package/dist/components/ProductInsights/ProductInsights.esm.js +98 -0
  102. package/dist/components/ProductInsights/ProductInsights.esm.js.map +1 -0
  103. package/dist/components/ProductInsightsCard/ProductEntityDialog.esm.js +42 -0
  104. package/dist/components/ProductInsightsCard/ProductEntityDialog.esm.js.map +1 -0
  105. package/dist/components/ProductInsightsCard/ProductEntityTable.esm.js +139 -0
  106. package/dist/components/ProductInsightsCard/ProductEntityTable.esm.js.map +1 -0
  107. package/dist/components/ProductInsightsCard/ProductInsightsCard.esm.js +83 -0
  108. package/dist/components/ProductInsightsCard/ProductInsightsCard.esm.js.map +1 -0
  109. package/dist/components/ProductInsightsCard/ProductInsightsCardList.esm.js +34 -0
  110. package/dist/components/ProductInsightsCard/ProductInsightsCardList.esm.js.map +1 -0
  111. package/dist/components/ProductInsightsCard/ProductInsightsChart.esm.js +148 -0
  112. package/dist/components/ProductInsightsCard/ProductInsightsChart.esm.js.map +1 -0
  113. package/dist/components/ProjectGrowthAlertCard/ProjectGrowthAlertCard.esm.js +20 -0
  114. package/dist/components/ProjectGrowthAlertCard/ProjectGrowthAlertCard.esm.js.map +1 -0
  115. package/dist/components/ProjectGrowthAlertCard/ProjectGrowthAlertChart.esm.js +46 -0
  116. package/dist/components/ProjectGrowthAlertCard/ProjectGrowthAlertChart.esm.js.map +1 -0
  117. package/dist/components/ProjectGrowthInstructionsPage/ProjectGrowthInstructionsPage.esm.js +111 -0
  118. package/dist/components/ProjectGrowthInstructionsPage/ProjectGrowthInstructionsPage.esm.js.map +1 -0
  119. package/dist/components/ProjectGrowthInstructionsPage/index.esm.js +2 -0
  120. package/dist/components/ProjectGrowthInstructionsPage/index.esm.js.map +1 -0
  121. package/dist/components/ProjectSelect/ProjectSelect.esm.js +47 -0
  122. package/dist/components/ProjectSelect/ProjectSelect.esm.js.map +1 -0
  123. package/dist/components/UnlabeledDataflowAlertCard/UnlabeledDataflowAlertCard.esm.js +41 -0
  124. package/dist/components/UnlabeledDataflowAlertCard/UnlabeledDataflowAlertCard.esm.js.map +1 -0
  125. package/dist/components/WhyCostsMatter/WhyCostsMatter.esm.js +21 -0
  126. package/dist/components/WhyCostsMatter/WhyCostsMatter.esm.js.map +1 -0
  127. package/dist/example/alerts/KubernetesMigrationAlert.esm.js +86 -0
  128. package/dist/example/alerts/KubernetesMigrationAlert.esm.js.map +1 -0
  129. package/dist/example/client.esm.js +194 -0
  130. package/dist/example/client.esm.js.map +1 -0
  131. package/dist/example/components/KubernetesMigrationAlertCard/KubernetesMigrationAlertCard.esm.js +33 -0
  132. package/dist/example/components/KubernetesMigrationAlertCard/KubernetesMigrationAlertCard.esm.js.map +1 -0
  133. package/dist/{esm/index-BTIHr4n_.esm.js → example/components/KubernetesMigrationAlertCard/KubernetesMigrationBarChart.esm.js} +69 -48
  134. package/dist/example/components/KubernetesMigrationAlertCard/KubernetesMigrationBarChart.esm.js.map +1 -0
  135. package/dist/example/components/KubernetesMigrationAlertCard/KubernetesMigrationBarChartLegend.esm.js +107 -0
  136. package/dist/example/components/KubernetesMigrationAlertCard/KubernetesMigrationBarChartLegend.esm.js.map +1 -0
  137. package/dist/example/forms/KubernetesMigrationDismissForm.esm.js +57 -0
  138. package/dist/example/forms/KubernetesMigrationDismissForm.esm.js.map +1 -0
  139. package/dist/forms/AlertAcceptForm.esm.js +27 -0
  140. package/dist/forms/AlertAcceptForm.esm.js.map +1 -0
  141. package/dist/forms/AlertDismissForm.esm.js +100 -0
  142. package/dist/forms/AlertDismissForm.esm.js.map +1 -0
  143. package/dist/forms/AlertSnoozeForm.esm.js +52 -0
  144. package/dist/forms/AlertSnoozeForm.esm.js.map +1 -0
  145. package/dist/hooks/useConfig.esm.js +153 -0
  146. package/dist/hooks/useConfig.esm.js.map +1 -0
  147. package/dist/hooks/useCurrency.esm.js +26 -0
  148. package/dist/hooks/useCurrency.esm.js.map +1 -0
  149. package/dist/hooks/useFilters.esm.js +67 -0
  150. package/dist/hooks/useFilters.esm.js.map +1 -0
  151. package/dist/hooks/useGroups.esm.js +55 -0
  152. package/dist/hooks/useGroups.esm.js.map +1 -0
  153. package/dist/hooks/useLastCompleteBillingDate.esm.js +65 -0
  154. package/dist/hooks/useLastCompleteBillingDate.esm.js.map +1 -0
  155. package/dist/hooks/useLoading.esm.js +54 -0
  156. package/dist/hooks/useLoading.esm.js.map +1 -0
  157. package/dist/hooks/useScroll.esm.js +24 -0
  158. package/dist/hooks/useScroll.esm.js.map +1 -0
  159. package/dist/index.esm.js +37 -22
  160. package/dist/index.esm.js.map +1 -1
  161. package/dist/plugin.esm.js +55 -0
  162. package/dist/plugin.esm.js.map +1 -0
  163. package/dist/testUtils/filters.esm.js +8 -0
  164. package/dist/testUtils/filters.esm.js.map +1 -0
  165. package/dist/testUtils/loading.esm.js +14 -0
  166. package/dist/testUtils/loading.esm.js.map +1 -0
  167. package/dist/testUtils/mockData.esm.js +485 -0
  168. package/dist/testUtils/mockData.esm.js.map +1 -0
  169. package/dist/testUtils/products.esm.js +49 -0
  170. package/dist/testUtils/products.esm.js.map +1 -0
  171. package/dist/testUtils/providers.esm.js +41 -0
  172. package/dist/testUtils/providers.esm.js.map +1 -0
  173. package/dist/testUtils/testUtils.esm.js +142 -0
  174. package/dist/testUtils/testUtils.esm.js.map +1 -0
  175. package/dist/types/Alert.esm.js +66 -0
  176. package/dist/types/Alert.esm.js.map +1 -0
  177. package/dist/types/ChangeStatistic.esm.js +15 -0
  178. package/dist/types/ChangeStatistic.esm.js.map +1 -0
  179. package/dist/types/CurrencyType.esm.js +10 -0
  180. package/dist/types/CurrencyType.esm.js.map +1 -0
  181. package/dist/types/DateFormat.esm.js +4 -0
  182. package/dist/types/DateFormat.esm.js.map +1 -0
  183. package/dist/types/Duration.esm.js +10 -0
  184. package/dist/types/Duration.esm.js.map +1 -0
  185. package/dist/types/Icon.esm.js +12 -0
  186. package/dist/types/Icon.esm.js.map +1 -0
  187. package/dist/utils/alerts.esm.js +72 -0
  188. package/dist/utils/alerts.esm.js.map +1 -0
  189. package/dist/utils/assert.esm.js +29 -0
  190. package/dist/utils/assert.esm.js.map +1 -0
  191. package/dist/utils/change.esm.js +58 -0
  192. package/dist/utils/change.esm.js.map +1 -0
  193. package/dist/utils/charts.esm.js +9 -0
  194. package/dist/utils/charts.esm.js.map +1 -0
  195. package/dist/utils/config.esm.js +19 -0
  196. package/dist/utils/config.esm.js.map +1 -0
  197. package/dist/utils/currency.esm.js +56 -0
  198. package/dist/utils/currency.esm.js.map +1 -0
  199. package/dist/utils/duration.esm.js +55 -0
  200. package/dist/utils/duration.esm.js.map +1 -0
  201. package/dist/utils/filters.esm.js +14 -0
  202. package/dist/utils/filters.esm.js.map +1 -0
  203. package/dist/utils/formatters.esm.js +103 -0
  204. package/dist/utils/formatters.esm.js.map +1 -0
  205. package/dist/utils/grammar.esm.js +14 -0
  206. package/dist/utils/grammar.esm.js.map +1 -0
  207. package/dist/utils/graphs.esm.js +48 -0
  208. package/dist/utils/graphs.esm.js.map +1 -0
  209. package/dist/utils/history.esm.js +32 -0
  210. package/dist/utils/history.esm.js.map +1 -0
  211. package/dist/utils/loading.esm.js +51 -0
  212. package/dist/utils/loading.esm.js.map +1 -0
  213. package/dist/utils/navigation.esm.js +56 -0
  214. package/dist/utils/navigation.esm.js.map +1 -0
  215. package/dist/utils/scroll.esm.js +38 -0
  216. package/dist/utils/scroll.esm.js.map +1 -0
  217. package/dist/utils/sort.esm.js +10 -0
  218. package/dist/utils/sort.esm.js.map +1 -0
  219. package/dist/utils/styles.esm.js +562 -0
  220. package/dist/utils/styles.esm.js.map +1 -0
  221. package/dist/utils/sum.esm.js +4 -0
  222. package/dist/utils/sum.esm.js.map +1 -0
  223. package/package.json +17 -12
  224. package/dist/esm/index-BA6m_qFS.esm.js.map +0 -1
  225. package/dist/esm/index-BFM2mP6Z.esm.js +0 -4084
  226. package/dist/esm/index-BFM2mP6Z.esm.js.map +0 -1
  227. package/dist/esm/index-BTIHr4n_.esm.js.map +0 -1
  228. package/dist/esm/index-DaitkcPN.esm.js +0 -1136
  229. package/dist/esm/index-DaitkcPN.esm.js.map +0 -1
  230. package/dist/esm/selector-D7iXJwd9.esm.js +0 -594
  231. package/dist/esm/selector-D7iXJwd9.esm.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-BA6m_qFS.esm.js","sources":["../../src/components/LabelDataflowInstructionsPage/LabelDataflowInstructionsPage.tsx"],"sourcesContent":["/*\n * Copyright 2020 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport React from 'react';\nimport Box from '@material-ui/core/Box';\nimport Typography from '@material-ui/core/Typography';\nimport { AlertInstructionsLayout } from '../AlertInstructionsLayout';\nimport { CodeSnippet, Link } from '@backstage/core-components';\n\nexport const LabelDataflowInstructionsPage = () => {\n return (\n <AlertInstructionsLayout title=\"Investigating Growth\">\n <Typography variant=\"h1\">Labeling Dataflow Jobs</Typography>\n <Typography paragraph>\n Labels in Google Cloud Platform are key-value pairs that can be added to\n most types of cloud resources. Since these labels are also exported in\n billing data, adding labels allows a granular breakdown of cloud cost by\n software entity.\n </Typography>\n <Typography paragraph>\n In Cloud Dataflow, labels can be added to a job either programmatically\n or via the command-line when launching a job. Note that GCP has{' '}\n <Link to=\"https://cloud.google.com/compute/docs/labeling-resources#restrictions\">\n restrictions\n </Link>{' '}\n on the length and characters that can be used in labels.\n </Typography>\n <Typography paragraph>\n Labels are not retroactive, so cost tracking is only possible from when\n the labels are first added to a Dataflow job.\n </Typography>\n\n <Box mt={4}>\n <Typography variant=\"h3\">DataflowPipelineOptions</Typography>\n <Typography paragraph>\n Dataflow jobs using Beam's{' '}\n <Link to=\"https://beam.apache.org/releases/javadoc/2.3.0/org/apache/beam/runners/dataflow/options/DataflowPipelineOptions.html\">\n DataflowPipelineOptions\n </Link>{' '}\n directly can use the <b>setLabels</b> function to add one or more\n labels:\n <CodeSnippet\n language=\"java\"\n text={`private DataflowPipelineOptions options = PipelineOptionsFactory.fromArgs(args).as(DataflowPipelineOptionsImpl.class); \noptions.setLabels(ImmutableMap.of(\"job-id\", \"my-dataflow-job\"));`}\n />\n </Typography>\n <Typography paragraph>\n Dataflow jobs using Scio can similarly set options on the ScioContext:\n <CodeSnippet\n language=\"scala\"\n text={`val (sc: ScioContext, args: Args) = ContextAndArgs(cmdLineArgs)\nsc.optionsAs[DataflowPipelineOptions].setLabels(Map(\"job-id\" -> \"my-dataflow-job\").asJava)`}\n />\n </Typography>\n </Box>\n\n <Box mt={4}>\n <Typography variant=\"h3\">Command-line</Typography>\n <Typography paragraph>\n Dataflow jobs launched from the command-line can add labels as an\n argument:\n <CodeSnippet\n language=\"shell\"\n text={`--labels={\"job-id\": \"my-dataflow-job\", \"date-argument\": \"2020-09-16\"}`}\n />\n </Typography>\n <Typography paragraph>\n For more information on specifying options, see the{' '}\n <Link to=\"https://cloud.google.com/dataflow/docs/guides/specifying-exec-params\">\n Dataflow documentation\n </Link>{' '}\n or{' '}\n <Link to=\"https://spotify.github.io/scio/api/com/spotify/scio/ScioContext.html\">\n Scio Scaladoc\n </Link>\n .\n </Typography>\n </Box>\n </AlertInstructionsLayout>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBO,MAAM,gCAAgC,MAAM;AACjD,EAAA,uBACG,KAAA,CAAA,aAAA,CAAA,uBAAA,EAAA,EAAwB,KAAM,EAAA,sBAAA,EAAA,kBAC5B,KAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,OAAQ,EAAA,IAAA,EAAA,EAAK,wBAAsB,CAAA,kBAC9C,KAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,WAAS,IAAC,EAAA,EAAA,2OAKtB,CACA,kBAAA,KAAA,CAAA,aAAA,CAAC,UAAW,EAAA,EAAA,SAAA,EAAS,IAAC,EAAA,EAAA,yIAAA,EAE4C,GAChE,kBAAA,KAAA,CAAA,aAAA,CAAC,IAAK,EAAA,EAAA,EAAA,EAAG,uEAAwE,EAAA,EAAA,cAEjF,CAAQ,EAAA,GAAA,EAAI,0DAEd,CACA,kBAAA,KAAA,CAAA,aAAA,CAAC,UAAW,EAAA,EAAA,SAAA,EAAS,IAAC,EAAA,EAAA,uHAGtB,CAEA,kBAAA,KAAA,CAAA,aAAA,CAAC,GAAI,EAAA,EAAA,EAAA,EAAI,CACP,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,UAAW,EAAA,EAAA,OAAA,EAAQ,IAAK,EAAA,EAAA,yBAAuB,mBAC/C,KAAA,CAAA,aAAA,CAAA,UAAA,EAAA,EAAW,SAAS,EAAA,IAAA,EAAA,EAAC,4BACO,EAAA,GAAA,kBAC1B,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,IAAG,sHAAuH,EAAA,EAAA,yBAEhI,CAAQ,EAAA,GAAA,EAAI,uBACS,kBAAA,KAAA,CAAA,aAAA,CAAC,GAAE,EAAA,IAAA,EAAA,WAAS,GAAI,sCAErC,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACC,QAAS,EAAA,MAAA;AAAA,MACT,IAAM,EAAA,CAAA;AAAA,gEAAA,CAAA;AAAA,KAAA;AAAA,GAGV,CACA,kBAAA,KAAA,CAAA,aAAA,CAAC,UAAW,EAAA,EAAA,SAAA,EAAS,QAAC,wEAEpB,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACC,QAAS,EAAA,OAAA;AAAA,MACT,IAAM,EAAA,CAAA;AAAA,0FAAA,CAAA;AAAA,KAAA;AAAA,GAGV,CACF,CAAA,kBAEC,KAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAI,IAAI,CACP,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,UAAW,EAAA,EAAA,OAAA,EAAQ,QAAK,cAAY,CAAA,sCACpC,UAAW,EAAA,EAAA,SAAA,EAAS,QAAC,6EAGpB,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACC,QAAS,EAAA,OAAA;AAAA,MACT,IAAM,EAAA,CAAA,qEAAA,CAAA;AAAA,KAAA;AAAA,GAEV,CACA,kBAAA,KAAA,CAAA,aAAA,CAAC,UAAW,EAAA,EAAA,SAAA,EAAS,QAAC,qDACgC,EAAA,GAAA,kBACnD,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,EAAG,EAAA,sEAAA,EAAA,EAAuE,wBAEhF,CAAQ,EAAA,GAAA,EAAI,IACT,EAAA,GAAA,kBACF,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAK,EAAG,EAAA,sEAAA,EAAA,EAAuE,eAEhF,CAAA,EAAO,GAET,CACF,CACF,CAAA,CAAA;AAEJ;;;;"}