@undp/data-viz 2.6.0 → 2.6.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 (1559) hide show
  1. package/dist/AnimatePresence-CE6xBsMZ.js +175 -0
  2. package/dist/AnimatePresence-CE6xBsMZ.js.map +1 -0
  3. package/dist/AnimatePresence-CapU-Sxd.cjs +10 -0
  4. package/dist/AnimatePresence-CapU-Sxd.cjs.map +1 -0
  5. package/dist/AreaChart.cjs +1 -2
  6. package/dist/AreaChart.d.ts +2 -231
  7. package/dist/AreaChart.js +2 -441
  8. package/dist/Axis-B3ai1eeP.js +31 -0
  9. package/dist/Axis-B3ai1eeP.js.map +1 -0
  10. package/dist/Axis-BbfI4T5K.cjs +2 -0
  11. package/dist/Axis-BbfI4T5K.cjs.map +1 -0
  12. package/dist/AxisTitle-Co2DmqOy.cjs +2 -0
  13. package/dist/AxisTitle-Co2DmqOy.cjs.map +1 -0
  14. package/dist/AxisTitle-DqJw_G-f.js +20 -0
  15. package/dist/AxisTitle-DqJw_G-f.js.map +1 -0
  16. package/dist/BarGraph-DE7tJ52k.cjs +2 -0
  17. package/dist/BarGraph-DE7tJ52k.cjs.map +1 -0
  18. package/dist/BarGraph-DQogcvkF.js +2177 -0
  19. package/dist/BarGraph-DQogcvkF.js.map +1 -0
  20. package/dist/BarGraph.cjs +1 -2
  21. package/dist/BarGraph.d.ts +2 -473
  22. package/dist/BarGraph.js +2 -2457
  23. package/dist/BasicStatCard.cjs +2 -2
  24. package/dist/BasicStatCard.cjs.map +1 -1
  25. package/dist/BasicStatCard.d.ts +2 -115
  26. package/dist/BasicStatCard.js +136 -122
  27. package/dist/BasicStatCard.js.map +1 -1
  28. package/dist/BeeSwarmChart--7HARz1J.cjs +2 -0
  29. package/dist/BeeSwarmChart--7HARz1J.cjs.map +1 -0
  30. package/dist/BeeSwarmChart-skEHc8uH.js +468 -0
  31. package/dist/BeeSwarmChart-skEHc8uH.js.map +1 -0
  32. package/dist/BeeSwarmChart.cjs +1 -2
  33. package/dist/BeeSwarmChart.d.ts +2 -194
  34. package/dist/BeeSwarmChart.js +2 -537
  35. package/dist/BiVariateChoroplethMap.cjs +1 -2
  36. package/dist/BiVariateChoroplethMap.d.ts +2 -221
  37. package/dist/BiVariateChoroplethMap.js +2 -473
  38. package/dist/BiVariateMap-DXLWC3wL.cjs +2 -0
  39. package/dist/BiVariateMap-DXLWC3wL.cjs.map +1 -0
  40. package/dist/BiVariateMap-Dkppk8YD.js +505 -0
  41. package/dist/BiVariateMap-Dkppk8YD.js.map +1 -0
  42. package/dist/BulletChart-Du9F0JhJ.js +799 -0
  43. package/dist/BulletChart-Du9F0JhJ.js.map +1 -0
  44. package/dist/BulletChart-ElYRyO07.cjs +2 -0
  45. package/dist/BulletChart-ElYRyO07.cjs.map +1 -0
  46. package/dist/BulletChart.cjs +1 -2
  47. package/dist/BulletChart.d.ts +2 -245
  48. package/dist/BulletChart.js +2 -981
  49. package/dist/ButterflyChart-BBWBZXEc.cjs +2 -0
  50. package/dist/ButterflyChart-BBWBZXEc.cjs.map +1 -0
  51. package/dist/ButterflyChart-CHMH57WF.js +514 -0
  52. package/dist/ButterflyChart-CHMH57WF.js.map +1 -0
  53. package/dist/ButterflyChart.cjs +1 -2
  54. package/dist/ButterflyChart.d.ts +2 -210
  55. package/dist/ButterflyChart.js +2 -510
  56. package/dist/ChoroplethMap-BwKqlRYF.cjs +2 -0
  57. package/dist/ChoroplethMap-BwKqlRYF.cjs.map +1 -0
  58. package/dist/ChoroplethMap-CBnFBOj8.js +557 -0
  59. package/dist/ChoroplethMap-CBnFBOj8.js.map +1 -0
  60. package/dist/ChoroplethMap.cjs +1 -2
  61. package/dist/ChoroplethMap.d.ts +2 -218
  62. package/dist/ChoroplethMap.js +2 -500
  63. package/dist/CirclePackingGraph-Rl84B8C1.cjs +2 -0
  64. package/dist/CirclePackingGraph-Rl84B8C1.cjs.map +1 -0
  65. package/dist/CirclePackingGraph-uSZwfRvW.js +320 -0
  66. package/dist/CirclePackingGraph-uSZwfRvW.js.map +1 -0
  67. package/dist/CirclePackingGraph.cjs +1 -2
  68. package/dist/CirclePackingGraph.d.ts +2 -162
  69. package/dist/CirclePackingGraph.js +2 -14
  70. package/dist/ColorLegend.cjs +2 -2
  71. package/dist/ColorLegend.cjs.map +1 -1
  72. package/dist/ColorLegend.d.ts +2 -17
  73. package/dist/ColorLegend.js +45 -61
  74. package/dist/ColorLegend.js.map +1 -1
  75. package/dist/ColorLegendWithMouseOver.cjs +2 -2
  76. package/dist/ColorLegendWithMouseOver.cjs.map +1 -1
  77. package/dist/ColorLegendWithMouseOver.d.ts +2 -16
  78. package/dist/ColorLegendWithMouseOver.js +63 -66
  79. package/dist/ColorLegendWithMouseOver.js.map +1 -1
  80. package/dist/Colors.cjs +2 -2
  81. package/dist/Colors.cjs.map +1 -1
  82. package/dist/Colors.d.ts +2 -190
  83. package/dist/Colors.js +988 -191
  84. package/dist/Colors.js.map +1 -1
  85. package/dist/CompareMaps-BFz1TfXL.cjs +2 -0
  86. package/dist/CompareMaps-BFz1TfXL.cjs.map +1 -0
  87. package/dist/CompareMaps-DaZgF5Pf.js +265 -0
  88. package/dist/CompareMaps-DaZgF5Pf.js.map +1 -0
  89. package/dist/Components/Actions/CopyTextButton.d.ts +10 -0
  90. package/dist/Components/Actions/CopyTextButton.d.ts.map +1 -0
  91. package/dist/Components/Actions/CsvDownloadButton.d.ts +18 -0
  92. package/dist/Components/Actions/CsvDownloadButton.d.ts.map +1 -0
  93. package/dist/Components/Actions/ExcelDownloadButton.d.ts +18 -0
  94. package/dist/Components/Actions/ExcelDownloadButton.d.ts.map +1 -0
  95. package/dist/Components/Actions/ImageDownloadButton.d.ts +12 -0
  96. package/dist/Components/Actions/ImageDownloadButton.d.ts.map +1 -0
  97. package/dist/Components/Actions/SVGDownloadButton.d.ts +12 -0
  98. package/dist/Components/Actions/SVGDownloadButton.d.ts.map +1 -0
  99. package/dist/Components/ColorPalette/index.d.ts +189 -0
  100. package/dist/Components/ColorPalette/index.d.ts.map +1 -0
  101. package/dist/Components/Dashboard/GraphEl.d.ts +16 -0
  102. package/dist/Components/Dashboard/GraphEl.d.ts.map +1 -0
  103. package/dist/Components/Dashboard/GriddedGraphs.d.ts +31 -0
  104. package/dist/Components/Dashboard/GriddedGraphs.d.ts.map +1 -0
  105. package/dist/Components/Dashboard/GriddedGraphsFromConfig.d.ts +33 -0
  106. package/dist/Components/Dashboard/GriddedGraphsFromConfig.d.ts.map +1 -0
  107. package/dist/Components/Dashboard/MultiGraphDashboard.d.ts +22 -0
  108. package/dist/Components/Dashboard/MultiGraphDashboard.d.ts.map +1 -0
  109. package/dist/Components/Dashboard/MultiGraphDashboardFromConfig.d.ts +25 -0
  110. package/dist/Components/Dashboard/MultiGraphDashboardFromConfig.d.ts.map +1 -0
  111. package/dist/Components/Dashboard/MultiGraphDashboardWideToLongFormat.d.ts +19 -0
  112. package/dist/Components/Dashboard/MultiGraphDashboardWideToLongFormat.d.ts.map +1 -0
  113. package/dist/Components/Dashboard/MultiGraphDashboardWideToLongFormatFromConfig.d.ts +23 -0
  114. package/dist/Components/Dashboard/MultiGraphDashboardWideToLongFormatFromConfig.d.ts.map +1 -0
  115. package/dist/Components/Dashboard/PerformanceIntensive/GeoHubMapsEl.d.ts +9 -0
  116. package/dist/Components/Dashboard/PerformanceIntensive/GeoHubMapsEl.d.ts.map +1 -0
  117. package/dist/Components/Dashboard/PerformanceIntensive/MultiGraphDashboard.d.ts +22 -0
  118. package/dist/Components/Dashboard/PerformanceIntensive/MultiGraphDashboard.d.ts.map +1 -0
  119. package/dist/Components/Dashboard/PerformanceIntensive/MultiGraphDashboardFromConfig.d.ts +25 -0
  120. package/dist/Components/Dashboard/PerformanceIntensive/MultiGraphDashboardFromConfig.d.ts.map +1 -0
  121. package/dist/Components/Dashboard/PerformanceIntensive/ScrollStory.d.ts +19 -0
  122. package/dist/Components/Dashboard/PerformanceIntensive/ScrollStory.d.ts.map +1 -0
  123. package/dist/Components/Dashboard/PerformanceIntensive/SingleGraphDashboardGeoHubMaps.d.ts +10 -0
  124. package/dist/Components/Dashboard/PerformanceIntensive/SingleGraphDashboardGeoHubMaps.d.ts.map +1 -0
  125. package/dist/Components/Dashboard/PerformanceIntensive/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +13 -0
  126. package/dist/Components/Dashboard/PerformanceIntensive/SingleGraphDashboardGeoHubMapsFromConfig.d.ts.map +1 -0
  127. package/dist/Components/Dashboard/PerformanceIntensive/SingleGraphDashboardThreeDGraphs.d.ts +27 -0
  128. package/dist/Components/Dashboard/PerformanceIntensive/SingleGraphDashboardThreeDGraphs.d.ts.map +1 -0
  129. package/dist/Components/Dashboard/PerformanceIntensive/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +29 -0
  130. package/dist/Components/Dashboard/PerformanceIntensive/SingleGraphDashboardThreeDGraphsFromConfig.d.ts.map +1 -0
  131. package/dist/Components/Dashboard/PerformanceIntensive/ThreeDGraphEl.d.ts +16 -0
  132. package/dist/Components/Dashboard/PerformanceIntensive/ThreeDGraphEl.d.ts.map +1 -0
  133. package/dist/Components/Dashboard/ScrollStory.d.ts +19 -0
  134. package/dist/Components/Dashboard/ScrollStory.d.ts.map +1 -0
  135. package/dist/Components/Dashboard/SingleGraphDashboard.d.ts +27 -0
  136. package/dist/Components/Dashboard/SingleGraphDashboard.d.ts.map +1 -0
  137. package/dist/Components/Dashboard/SingleGraphDashboardFromConfig.d.ts +29 -0
  138. package/dist/Components/Dashboard/SingleGraphDashboardFromConfig.d.ts.map +1 -0
  139. package/dist/Components/Elements/Annotations.d.ts +36 -0
  140. package/dist/Components/Elements/Annotations.d.ts.map +1 -0
  141. package/dist/Components/Elements/Axes/Axis.d.ts +25 -0
  142. package/dist/Components/Elements/Axes/Axis.d.ts.map +1 -0
  143. package/dist/Components/Elements/Axes/AxisTitle.d.ts +11 -0
  144. package/dist/Components/Elements/Axes/AxisTitle.d.ts.map +1 -0
  145. package/dist/Components/Elements/Axes/XAxesLabels.d.ts +16 -0
  146. package/dist/Components/Elements/Axes/XAxesLabels.d.ts.map +1 -0
  147. package/dist/Components/Elements/Axes/XTicksAndGridLines.d.ts +25 -0
  148. package/dist/Components/Elements/Axes/XTicksAndGridLines.d.ts.map +1 -0
  149. package/dist/Components/Elements/Axes/YAxesLabels.d.ts +16 -0
  150. package/dist/Components/Elements/Axes/YAxesLabels.d.ts.map +1 -0
  151. package/dist/Components/Elements/Axes/YTicksAndGridLines.d.ts +25 -0
  152. package/dist/Components/Elements/Axes/YTicksAndGridLines.d.ts.map +1 -0
  153. package/dist/Components/Elements/ColorLegend.d.ts +14 -0
  154. package/dist/Components/Elements/ColorLegend.d.ts.map +1 -0
  155. package/dist/Components/Elements/ColorLegendWithMouseOver.d.ts +13 -0
  156. package/dist/Components/Elements/ColorLegendWithMouseOver.d.ts.map +1 -0
  157. package/dist/Components/Elements/DetailsModal.d.ts +9 -0
  158. package/dist/Components/Elements/DetailsModal.d.ts.map +1 -0
  159. package/dist/Components/Elements/EmptyState.d.ts +2 -0
  160. package/dist/Components/Elements/EmptyState.d.ts.map +1 -0
  161. package/dist/Components/Elements/GraphContainer.d.ts +18 -0
  162. package/dist/Components/Elements/GraphContainer.d.ts.map +1 -0
  163. package/dist/Components/Elements/GraphFooter.d.ts +17 -0
  164. package/dist/Components/Elements/GraphFooter.d.ts.map +1 -0
  165. package/dist/Components/Elements/GraphHeader.d.ts +20 -0
  166. package/dist/Components/Elements/GraphHeader.d.ts.map +1 -0
  167. package/dist/Components/Elements/HighlightArea/customArea.d.ts +19 -0
  168. package/dist/Components/Elements/HighlightArea/customArea.d.ts.map +1 -0
  169. package/dist/Components/Elements/HighlightArea/index.d.ts +35 -0
  170. package/dist/Components/Elements/HighlightArea/index.d.ts.map +1 -0
  171. package/dist/Components/Elements/LinearColorLegend.d.ts +11 -0
  172. package/dist/Components/Elements/LinearColorLegend.d.ts.map +1 -0
  173. package/dist/Components/Elements/ReferenceLine.d.ts +40 -0
  174. package/dist/Components/Elements/ReferenceLine.d.ts.map +1 -0
  175. package/dist/Components/Elements/RegressionLine.d.ts +17 -0
  176. package/dist/Components/Elements/RegressionLine.d.ts.map +1 -0
  177. package/dist/Components/Elements/ThresholdColorLegendWithMouseOver.d.ts +15 -0
  178. package/dist/Components/Elements/ThresholdColorLegendWithMouseOver.d.ts.map +1 -0
  179. package/dist/Components/Elements/Tooltip.d.ts +12 -0
  180. package/dist/Components/Elements/Tooltip.d.ts.map +1 -0
  181. package/dist/Components/Graphs/BarGraph/GroupedBarGraph/Graph.d.ts +47 -0
  182. package/dist/Components/Graphs/BarGraph/GroupedBarGraph/Graph.d.ts.map +1 -0
  183. package/dist/Components/Graphs/BarGraph/GroupedBarGraph/index.d.ts +65 -0
  184. package/dist/Components/Graphs/BarGraph/GroupedBarGraph/index.d.ts.map +1 -0
  185. package/dist/Components/Graphs/BarGraph/SimpleBarGraph/Graph.d.ts +51 -0
  186. package/dist/Components/Graphs/BarGraph/SimpleBarGraph/Graph.d.ts.map +1 -0
  187. package/dist/Components/Graphs/BarGraph/SimpleBarGraph/index.d.ts +70 -0
  188. package/dist/Components/Graphs/BarGraph/SimpleBarGraph/index.d.ts.map +1 -0
  189. package/dist/Components/Graphs/BarGraph/StackedBarGraph/Graph.d.ts +47 -0
  190. package/dist/Components/Graphs/BarGraph/StackedBarGraph/Graph.d.ts.map +1 -0
  191. package/dist/Components/Graphs/BarGraph/StackedBarGraph/index.d.ts +66 -0
  192. package/dist/Components/Graphs/BarGraph/StackedBarGraph/index.d.ts.map +1 -0
  193. package/dist/Components/Graphs/BarGraph/index.d.ts +354 -0
  194. package/dist/Components/Graphs/BarGraph/index.d.ts.map +1 -0
  195. package/dist/Components/Graphs/BeeSwarmChart/Graph.d.ts +43 -0
  196. package/dist/Components/Graphs/BeeSwarmChart/Graph.d.ts.map +1 -0
  197. package/dist/Components/Graphs/BeeSwarmChart/index.d.ts +100 -0
  198. package/dist/Components/Graphs/BeeSwarmChart/index.d.ts.map +1 -0
  199. package/dist/Components/Graphs/BulletChart/Graph.d.ts +53 -0
  200. package/dist/Components/Graphs/BulletChart/Graph.d.ts.map +1 -0
  201. package/dist/Components/Graphs/BulletChart/index.d.ts +136 -0
  202. package/dist/Components/Graphs/BulletChart/index.d.ts.map +1 -0
  203. package/dist/Components/Graphs/ButterflyChart/Graph.d.ts +42 -0
  204. package/dist/Components/Graphs/ButterflyChart/Graph.d.ts.map +1 -0
  205. package/dist/Components/Graphs/ButterflyChart/index.d.ts +102 -0
  206. package/dist/Components/Graphs/ButterflyChart/index.d.ts.map +1 -0
  207. package/dist/Components/Graphs/CirclePackingGraph/Graph.d.ts +35 -0
  208. package/dist/Components/Graphs/CirclePackingGraph/Graph.d.ts.map +1 -0
  209. package/dist/Components/Graphs/CirclePackingGraph/getMaxCircleRadius.d.ts +2 -0
  210. package/dist/Components/Graphs/CirclePackingGraph/getMaxCircleRadius.d.ts.map +1 -0
  211. package/dist/Components/Graphs/CirclePackingGraph/index.d.ts +88 -0
  212. package/dist/Components/Graphs/CirclePackingGraph/index.d.ts.map +1 -0
  213. package/dist/Components/Graphs/DataCards/Graph.d.ts +26 -0
  214. package/dist/Components/Graphs/DataCards/Graph.d.ts.map +1 -0
  215. package/dist/Components/Graphs/DataCards/index.d.ts +74 -0
  216. package/dist/Components/Graphs/DataCards/index.d.ts.map +1 -0
  217. package/dist/Components/Graphs/DataTable/index.d.ts +46 -0
  218. package/dist/Components/Graphs/DataTable/index.d.ts.map +1 -0
  219. package/dist/Components/Graphs/DonutChart/Graph.d.ts +31 -0
  220. package/dist/Components/Graphs/DonutChart/Graph.d.ts.map +1 -0
  221. package/dist/Components/Graphs/DonutChart/index.d.ts +88 -0
  222. package/dist/Components/Graphs/DonutChart/index.d.ts.map +1 -0
  223. package/dist/Components/Graphs/DumbbellChart/Graph.d.ts +51 -0
  224. package/dist/Components/Graphs/DumbbellChart/Graph.d.ts.map +1 -0
  225. package/dist/Components/Graphs/DumbbellChart/index.d.ts +128 -0
  226. package/dist/Components/Graphs/DumbbellChart/index.d.ts.map +1 -0
  227. package/dist/Components/Graphs/HeatMap/Graph.d.ts +35 -0
  228. package/dist/Components/Graphs/HeatMap/Graph.d.ts.map +1 -0
  229. package/dist/Components/Graphs/HeatMap/index.d.ts +93 -0
  230. package/dist/Components/Graphs/HeatMap/index.d.ts.map +1 -0
  231. package/dist/Components/Graphs/Histogram/index.d.ts +92 -0
  232. package/dist/Components/Graphs/Histogram/index.d.ts.map +1 -0
  233. package/dist/Components/Graphs/LineCharts/DifferenceLineChart/Graph.d.ts +47 -0
  234. package/dist/Components/Graphs/LineCharts/DifferenceLineChart/Graph.d.ts.map +1 -0
  235. package/dist/Components/Graphs/LineCharts/DifferenceLineChart/index.d.ts +106 -0
  236. package/dist/Components/Graphs/LineCharts/DifferenceLineChart/index.d.ts.map +1 -0
  237. package/dist/Components/Graphs/LineCharts/DualAxisLineChart/Graph.d.ts +36 -0
  238. package/dist/Components/Graphs/LineCharts/DualAxisLineChart/Graph.d.ts.map +1 -0
  239. package/dist/Components/Graphs/LineCharts/DualAxisLineChart/index.d.ts +98 -0
  240. package/dist/Components/Graphs/LineCharts/DualAxisLineChart/index.d.ts.map +1 -0
  241. package/dist/Components/Graphs/LineCharts/LineChart/Graph.d.ts +43 -0
  242. package/dist/Components/Graphs/LineCharts/LineChart/Graph.d.ts.map +1 -0
  243. package/dist/Components/Graphs/LineCharts/LineChart/index.d.ts +98 -0
  244. package/dist/Components/Graphs/LineCharts/LineChart/index.d.ts.map +1 -0
  245. package/dist/Components/Graphs/LineCharts/LineChartWithConfidenceInterval/Graph.d.ts +49 -0
  246. package/dist/Components/Graphs/LineCharts/LineChartWithConfidenceInterval/Graph.d.ts.map +1 -0
  247. package/dist/Components/Graphs/LineCharts/LineChartWithConfidenceInterval/index.d.ts +116 -0
  248. package/dist/Components/Graphs/LineCharts/LineChartWithConfidenceInterval/index.d.ts.map +1 -0
  249. package/dist/Components/Graphs/LineCharts/MultiLineAltChart/Graph.d.ts +50 -0
  250. package/dist/Components/Graphs/LineCharts/MultiLineAltChart/Graph.d.ts.map +1 -0
  251. package/dist/Components/Graphs/LineCharts/MultiLineAltChart/index.d.ts +114 -0
  252. package/dist/Components/Graphs/LineCharts/MultiLineAltChart/index.d.ts.map +1 -0
  253. package/dist/Components/Graphs/LineCharts/MultiLineChart/Graph.d.ts +52 -0
  254. package/dist/Components/Graphs/LineCharts/MultiLineChart/Graph.d.ts.map +1 -0
  255. package/dist/Components/Graphs/LineCharts/MultiLineChart/index.d.ts +116 -0
  256. package/dist/Components/Graphs/LineCharts/MultiLineChart/index.d.ts.map +1 -0
  257. package/dist/Components/Graphs/LineCharts/SparkLine/Graph.d.ts +24 -0
  258. package/dist/Components/Graphs/LineCharts/SparkLine/Graph.d.ts.map +1 -0
  259. package/dist/Components/Graphs/LineCharts/SparkLine/index.d.ts +70 -0
  260. package/dist/Components/Graphs/LineCharts/SparkLine/index.d.ts.map +1 -0
  261. package/dist/Components/Graphs/Maps/BiVariateMap/Graph.d.ts +51 -0
  262. package/dist/Components/Graphs/Maps/BiVariateMap/Graph.d.ts.map +1 -0
  263. package/dist/Components/Graphs/Maps/BiVariateMap/index.d.ts +117 -0
  264. package/dist/Components/Graphs/Maps/BiVariateMap/index.d.ts.map +1 -0
  265. package/dist/Components/Graphs/Maps/ChoroplethMap/Graph.d.ts +49 -0
  266. package/dist/Components/Graphs/Maps/ChoroplethMap/Graph.d.ts.map +1 -0
  267. package/dist/Components/Graphs/Maps/ChoroplethMap/index.d.ts +113 -0
  268. package/dist/Components/Graphs/Maps/ChoroplethMap/index.d.ts.map +1 -0
  269. package/dist/Components/Graphs/Maps/DotDensityMap/Graph.d.ts +48 -0
  270. package/dist/Components/Graphs/Maps/DotDensityMap/Graph.d.ts.map +1 -0
  271. package/dist/Components/Graphs/Maps/DotDensityMap/index.d.ts +111 -0
  272. package/dist/Components/Graphs/Maps/DotDensityMap/index.d.ts.map +1 -0
  273. package/dist/Components/Graphs/Maps/GeoHubMaps/CompareMaps/Graph.d.ts +12 -0
  274. package/dist/Components/Graphs/Maps/GeoHubMaps/CompareMaps/Graph.d.ts.map +1 -0
  275. package/dist/Components/Graphs/Maps/GeoHubMaps/CompareMaps/index.d.ts +47 -0
  276. package/dist/Components/Graphs/Maps/GeoHubMaps/CompareMaps/index.d.ts.map +1 -0
  277. package/dist/Components/Graphs/Maps/GeoHubMaps/MapWithLayerSelection/MapEl.d.ts +13 -0
  278. package/dist/Components/Graphs/Maps/GeoHubMaps/MapWithLayerSelection/MapEl.d.ts.map +1 -0
  279. package/dist/Components/Graphs/Maps/GeoHubMaps/MapWithLayerSelection/index.d.ts +56 -0
  280. package/dist/Components/Graphs/Maps/GeoHubMaps/MapWithLayerSelection/index.d.ts.map +1 -0
  281. package/dist/Components/Graphs/Maps/GeoHubMaps/SimpleMap/GeoHubMultipleMap.d.ts +12 -0
  282. package/dist/Components/Graphs/Maps/GeoHubMaps/SimpleMap/GeoHubMultipleMap.d.ts.map +1 -0
  283. package/dist/Components/Graphs/Maps/GeoHubMaps/SimpleMap/GeoHubSingleMap.d.ts +12 -0
  284. package/dist/Components/Graphs/Maps/GeoHubMaps/SimpleMap/GeoHubSingleMap.d.ts.map +1 -0
  285. package/dist/Components/Graphs/Maps/GeoHubMaps/SimpleMap/index.d.ts +57 -0
  286. package/dist/Components/Graphs/Maps/GeoHubMaps/SimpleMap/index.d.ts.map +1 -0
  287. package/dist/Components/Graphs/Maps/HybridMap/Graph.d.ts +56 -0
  288. package/dist/Components/Graphs/Maps/HybridMap/Graph.d.ts.map +1 -0
  289. package/dist/Components/Graphs/Maps/HybridMap/index.d.ts +127 -0
  290. package/dist/Components/Graphs/Maps/HybridMap/index.d.ts.map +1 -0
  291. package/dist/Components/Graphs/Maps/ThreeDGlobe/Graph.d.ts +46 -0
  292. package/dist/Components/Graphs/Maps/ThreeDGlobe/Graph.d.ts.map +1 -0
  293. package/dist/Components/Graphs/Maps/ThreeDGlobe/index.d.ts +109 -0
  294. package/dist/Components/Graphs/Maps/ThreeDGlobe/index.d.ts.map +1 -0
  295. package/dist/Components/Graphs/ParetoChart/Graph.d.ts +36 -0
  296. package/dist/Components/Graphs/ParetoChart/Graph.d.ts.map +1 -0
  297. package/dist/Components/Graphs/ParetoChart/index.d.ts +100 -0
  298. package/dist/Components/Graphs/ParetoChart/index.d.ts.map +1 -0
  299. package/dist/Components/Graphs/RadarChart/Graph.d.ts +38 -0
  300. package/dist/Components/Graphs/RadarChart/Graph.d.ts.map +1 -0
  301. package/dist/Components/Graphs/RadarChart/index.d.ts +102 -0
  302. package/dist/Components/Graphs/RadarChart/index.d.ts.map +1 -0
  303. package/dist/Components/Graphs/SankeyChart/Graph.d.ts +39 -0
  304. package/dist/Components/Graphs/SankeyChart/Graph.d.ts.map +1 -0
  305. package/dist/Components/Graphs/SankeyChart/index.d.ts +100 -0
  306. package/dist/Components/Graphs/SankeyChart/index.d.ts.map +1 -0
  307. package/dist/Components/Graphs/ScatterPlot/Graph.d.ts +52 -0
  308. package/dist/Components/Graphs/ScatterPlot/Graph.d.ts.map +1 -0
  309. package/dist/Components/Graphs/ScatterPlot/index.d.ts +130 -0
  310. package/dist/Components/Graphs/ScatterPlot/index.d.ts.map +1 -0
  311. package/dist/Components/Graphs/SlopeChart/Graph.d.ts +32 -0
  312. package/dist/Components/Graphs/SlopeChart/Graph.d.ts.map +1 -0
  313. package/dist/Components/Graphs/SlopeChart/index.d.ts +92 -0
  314. package/dist/Components/Graphs/SlopeChart/index.d.ts.map +1 -0
  315. package/dist/Components/Graphs/StackedAreaChart/Graph.d.ts +37 -0
  316. package/dist/Components/Graphs/StackedAreaChart/Graph.d.ts.map +1 -0
  317. package/dist/Components/Graphs/StackedAreaChart/index.d.ts +92 -0
  318. package/dist/Components/Graphs/StackedAreaChart/index.d.ts.map +1 -0
  319. package/dist/Components/Graphs/StatCard/StatCardFromData.d.ts +50 -0
  320. package/dist/Components/Graphs/StatCard/StatCardFromData.d.ts.map +1 -0
  321. package/dist/Components/Graphs/StatCard/index.d.ts +46 -0
  322. package/dist/Components/Graphs/StatCard/index.d.ts.map +1 -0
  323. package/dist/Components/Graphs/StripChart/Graph.d.ts +42 -0
  324. package/dist/Components/Graphs/StripChart/Graph.d.ts.map +1 -0
  325. package/dist/Components/Graphs/StripChart/index.d.ts +102 -0
  326. package/dist/Components/Graphs/StripChart/index.d.ts.map +1 -0
  327. package/dist/Components/Graphs/TreeMapGraph/Graph.d.ts +34 -0
  328. package/dist/Components/Graphs/TreeMapGraph/Graph.d.ts.map +1 -0
  329. package/dist/Components/Graphs/TreeMapGraph/index.d.ts +85 -0
  330. package/dist/Components/Graphs/TreeMapGraph/index.d.ts.map +1 -0
  331. package/dist/Components/Graphs/UnitChart/index.d.ts +66 -0
  332. package/dist/Components/Graphs/UnitChart/index.d.ts.map +1 -0
  333. package/dist/Components/Graphs/WaterfallChart/Graph.d.ts +47 -0
  334. package/dist/Components/Graphs/WaterfallChart/Graph.d.ts.map +1 -0
  335. package/dist/Components/Graphs/WaterfallChart/index.d.ts +114 -0
  336. package/dist/Components/Graphs/WaterfallChart/index.d.ts.map +1 -0
  337. package/dist/Components/Icons/index.d.ts +19 -0
  338. package/dist/Components/Icons/index.d.ts.map +1 -0
  339. package/dist/Components/Typography/FootNote.d.ts +9 -0
  340. package/dist/Components/Typography/FootNote.d.ts.map +1 -0
  341. package/dist/Components/Typography/GraphDescription.d.ts +9 -0
  342. package/dist/Components/Typography/GraphDescription.d.ts.map +1 -0
  343. package/dist/Components/Typography/GraphTitle.d.ts +10 -0
  344. package/dist/Components/Typography/GraphTitle.d.ts.map +1 -0
  345. package/dist/Components/Typography/Source.d.ts +9 -0
  346. package/dist/Components/Typography/Source.d.ts.map +1 -0
  347. package/dist/CopyTextButton.cjs +2 -2
  348. package/dist/CopyTextButton.cjs.map +1 -1
  349. package/dist/CopyTextButton.d.ts +2 -13
  350. package/dist/CopyTextButton.js +27 -45
  351. package/dist/CopyTextButton.js.map +1 -1
  352. package/dist/CsvDownloadButton-BZ7Zr0Gz.js +664 -0
  353. package/dist/CsvDownloadButton-BZ7Zr0Gz.js.map +1 -0
  354. package/dist/CsvDownloadButton-web25aO3.cjs +5 -0
  355. package/dist/CsvDownloadButton-web25aO3.cjs.map +1 -0
  356. package/dist/CsvDownloadButton.cjs +1 -5
  357. package/dist/CsvDownloadButton.d.ts +2 -22
  358. package/dist/CsvDownloadButton.js +2 -846
  359. package/dist/DataCards-BOpanQhW.js +254 -0
  360. package/dist/DataCards-BOpanQhW.js.map +1 -0
  361. package/dist/DataCards-C4lwQNit.cjs +2 -0
  362. package/dist/DataCards-C4lwQNit.cjs.map +1 -0
  363. package/dist/DataCards.cjs +1 -2
  364. package/dist/DataCards.d.ts +2 -134
  365. package/dist/DataCards.js +2 -253
  366. package/dist/DataTable.cjs +2 -2
  367. package/dist/DataTable.cjs.map +1 -1
  368. package/dist/DataTable.d.ts +2 -126
  369. package/dist/DataTable.js +220 -186
  370. package/dist/DataTable.js.map +1 -1
  371. package/dist/DetailsModal-CtGqGcX9.cjs +2 -0
  372. package/dist/DetailsModal-CtGqGcX9.cjs.map +1 -0
  373. package/dist/DetailsModal-DxUowfkg.js +24 -0
  374. package/dist/DetailsModal-DxUowfkg.js.map +1 -0
  375. package/dist/DifferenceLineChart-BVSQviFB.js +653 -0
  376. package/dist/DifferenceLineChart-BVSQviFB.js.map +1 -0
  377. package/dist/DifferenceLineChart-D15cYo7N.cjs +2 -0
  378. package/dist/DifferenceLineChart-D15cYo7N.cjs.map +1 -0
  379. package/dist/DifferenceLineChart.cjs +1 -2
  380. package/dist/DifferenceLineChart.d.ts +2 -246
  381. package/dist/DifferenceLineChart.js +2 -756
  382. package/dist/DonutChart-BoMyev28.js +316 -0
  383. package/dist/DonutChart-BoMyev28.js.map +1 -0
  384. package/dist/DonutChart-CeJOD4Me.cjs +2 -0
  385. package/dist/DonutChart-CeJOD4Me.cjs.map +1 -0
  386. package/dist/DonutChart.cjs +1 -2
  387. package/dist/DonutChart.d.ts +2 -167
  388. package/dist/DonutChart.js +2 -260
  389. package/dist/DotDensityMap-Bx_8p5wJ.cjs +2 -0
  390. package/dist/DotDensityMap-Bx_8p5wJ.cjs.map +1 -0
  391. package/dist/DotDensityMap-F0i_P_SE.js +463 -0
  392. package/dist/DotDensityMap-F0i_P_SE.js.map +1 -0
  393. package/dist/DotDensityMap.cjs +1 -2
  394. package/dist/DotDensityMap.d.ts +2 -209
  395. package/dist/DotDensityMap.js +2 -449
  396. package/dist/DualAxisLineChart-CUD-jRfN.cjs +2 -0
  397. package/dist/DualAxisLineChart-CUD-jRfN.cjs.map +1 -0
  398. package/dist/DualAxisLineChart-DzVs-ftM.js +518 -0
  399. package/dist/DualAxisLineChart-DzVs-ftM.js.map +1 -0
  400. package/dist/DualAxisLineChart.cjs +1 -2
  401. package/dist/DualAxisLineChart.d.ts +2 -193
  402. package/dist/DualAxisLineChart.js +2 -633
  403. package/dist/DumbbellChart-7Dh8xtYv.cjs +2 -0
  404. package/dist/DumbbellChart-7Dh8xtYv.cjs.map +1 -0
  405. package/dist/DumbbellChart-bqOnq8ZF.js +784 -0
  406. package/dist/DumbbellChart-bqOnq8ZF.js.map +1 -0
  407. package/dist/DumbbellChart.cjs +1 -2
  408. package/dist/DumbbellChart.d.ts +2 -235
  409. package/dist/DumbbellChart.js +2 -861
  410. package/dist/EmptyState-Bq7ZJmZB.cjs +2 -0
  411. package/dist/EmptyState-Bq7ZJmZB.cjs.map +1 -0
  412. package/dist/EmptyState-DBmT1Adf.js +21 -0
  413. package/dist/EmptyState-DBmT1Adf.js.map +1 -0
  414. package/dist/ExcelDownloadButton.cjs +2 -2
  415. package/dist/ExcelDownloadButton.cjs.map +1 -1
  416. package/dist/ExcelDownloadButton.d.ts +2 -22
  417. package/dist/ExcelDownloadButton.js +20 -29
  418. package/dist/ExcelDownloadButton.js.map +1 -1
  419. package/dist/FootNote.cjs +2 -2
  420. package/dist/FootNote.cjs.map +1 -1
  421. package/dist/FootNote.d.ts +2 -12
  422. package/dist/FootNote.js +24 -30
  423. package/dist/FootNote.js.map +1 -1
  424. package/dist/GeoHubCompareMaps.cjs +1 -2
  425. package/dist/GeoHubCompareMaps.d.ts +2 -106
  426. package/dist/GeoHubCompareMaps.js +2 -282
  427. package/dist/GeoHubMap.cjs +1 -2
  428. package/dist/GeoHubMap.d.ts +2 -121
  429. package/dist/GeoHubMap.js +2 -236
  430. package/dist/GeoHubMapWithLayerSelection.cjs +1 -2
  431. package/dist/GeoHubMapWithLayerSelection.d.ts +2 -120
  432. package/dist/GeoHubMapWithLayerSelection.js +2 -208
  433. package/dist/GraphContainer-7xAPK4Tb.cjs +2 -0
  434. package/dist/GraphContainer-7xAPK4Tb.cjs.map +1 -0
  435. package/dist/GraphContainer-DgEB1AVN.js +33 -0
  436. package/dist/GraphContainer-DgEB1AVN.js.map +1 -0
  437. package/dist/GraphDescription.cjs +2 -2
  438. package/dist/GraphDescription.cjs.map +1 -1
  439. package/dist/GraphDescription.d.ts +2 -12
  440. package/dist/GraphDescription.js +24 -27
  441. package/dist/GraphDescription.js.map +1 -1
  442. package/dist/GraphEl-DKWanDSW.cjs +2 -0
  443. package/dist/GraphEl-DKWanDSW.cjs.map +1 -0
  444. package/dist/GraphEl-YjxZ25y6.js +1781 -0
  445. package/dist/GraphEl-YjxZ25y6.js.map +1 -0
  446. package/dist/GraphFooter.cjs +2 -2
  447. package/dist/GraphFooter.cjs.map +1 -1
  448. package/dist/GraphFooter.d.ts +2 -24
  449. package/dist/GraphFooter.js +24 -31
  450. package/dist/GraphFooter.js.map +1 -1
  451. package/dist/GraphHeader.cjs +2 -2
  452. package/dist/GraphHeader.cjs.map +1 -1
  453. package/dist/GraphHeader.d.ts +2 -23
  454. package/dist/GraphHeader.js +43 -49
  455. package/dist/GraphHeader.js.map +1 -1
  456. package/dist/GraphTitle.cjs +2 -2
  457. package/dist/GraphTitle.cjs.map +1 -1
  458. package/dist/GraphTitle.d.ts +2 -13
  459. package/dist/GraphTitle.js +29 -34
  460. package/dist/GraphTitle.js.map +1 -1
  461. package/dist/GriddedGraphs.cjs +2 -2
  462. package/dist/GriddedGraphs.cjs.map +1 -1
  463. package/dist/GriddedGraphs.d.ts +2 -641
  464. package/dist/GriddedGraphs.js +355 -264
  465. package/dist/GriddedGraphs.js.map +1 -1
  466. package/dist/GriddedGraphsFromConfig.cjs +2 -2
  467. package/dist/GriddedGraphsFromConfig.cjs.map +1 -1
  468. package/dist/GriddedGraphsFromConfig.d.ts +2 -644
  469. package/dist/GriddedGraphsFromConfig.js +40 -28
  470. package/dist/GriddedGraphsFromConfig.js.map +1 -1
  471. package/dist/HeatMap-CpWBTEmB.cjs +2 -0
  472. package/dist/HeatMap-CpWBTEmB.cjs.map +1 -0
  473. package/dist/HeatMap-V6VFVvJv.js +338 -0
  474. package/dist/HeatMap-V6VFVvJv.js.map +1 -0
  475. package/dist/HeatMap.cjs +1 -2
  476. package/dist/HeatMap.d.ts +2 -175
  477. package/dist/HeatMap.js +2 -289
  478. package/dist/HighlightArea-BljOOgRP.js +76 -0
  479. package/dist/HighlightArea-BljOOgRP.js.map +1 -0
  480. package/dist/HighlightArea-CJ2XwY67.cjs +2 -0
  481. package/dist/HighlightArea-CJ2XwY67.cjs.map +1 -0
  482. package/dist/Histogram-B995-qQB.cjs +2 -0
  483. package/dist/Histogram-B995-qQB.cjs.map +1 -0
  484. package/dist/Histogram-B9crdM0i.js +250 -0
  485. package/dist/Histogram-B9crdM0i.js.map +1 -0
  486. package/dist/Histogram.cjs +1 -2
  487. package/dist/Histogram.d.ts +2 -178
  488. package/dist/Histogram.js +2 -179
  489. package/dist/HybridMap-B2wu6VbK.cjs +2 -0
  490. package/dist/HybridMap-B2wu6VbK.cjs.map +1 -0
  491. package/dist/HybridMap-D_faTI4N.js +664 -0
  492. package/dist/HybridMap-D_faTI4N.js.map +1 -0
  493. package/dist/HybridMap.cjs +1 -2
  494. package/dist/HybridMap.d.ts +2 -236
  495. package/dist/HybridMap.js +2 -593
  496. package/dist/Icons-BLXwPP3h.js +289 -0
  497. package/dist/Icons-BLXwPP3h.js.map +1 -0
  498. package/dist/Icons-DXw7FqJ_.cjs +2 -0
  499. package/dist/Icons-DXw7FqJ_.cjs.map +1 -0
  500. package/dist/ImageDownloadButton.cjs +2 -2
  501. package/dist/ImageDownloadButton.cjs.map +1 -1
  502. package/dist/ImageDownloadButton.d.ts +2 -16
  503. package/dist/ImageDownloadButton.js +22 -28
  504. package/dist/ImageDownloadButton.js.map +1 -1
  505. package/dist/LineChart-BEUT_K-o.js +458 -0
  506. package/dist/LineChart-BEUT_K-o.js.map +1 -0
  507. package/dist/LineChart-Do_hKdIv.cjs +2 -0
  508. package/dist/LineChart-Do_hKdIv.cjs.map +1 -0
  509. package/dist/LineChartWithConfidenceInterval-BiSJpLry.js +657 -0
  510. package/dist/LineChartWithConfidenceInterval-BiSJpLry.js.map +1 -0
  511. package/dist/LineChartWithConfidenceInterval-D4aZ2CEy.cjs +2 -0
  512. package/dist/LineChartWithConfidenceInterval-D4aZ2CEy.cjs.map +1 -0
  513. package/dist/LineChartWithConfidenceInterval.cjs +1 -2
  514. package/dist/LineChartWithConfidenceInterval.d.ts +2 -257
  515. package/dist/LineChartWithConfidenceInterval.js +2 -699
  516. package/dist/LinearColorLegend.cjs +2 -2
  517. package/dist/LinearColorLegend.cjs.map +1 -1
  518. package/dist/LinearColorLegend.d.ts +2 -14
  519. package/dist/LinearColorLegend.js +39 -54
  520. package/dist/LinearColorLegend.js.map +1 -1
  521. package/dist/MapWithLayerSelection-BVxg3gYq.cjs +2 -0
  522. package/dist/MapWithLayerSelection-BVxg3gYq.cjs.map +1 -0
  523. package/dist/MapWithLayerSelection-D67zxor8.js +210 -0
  524. package/dist/MapWithLayerSelection-D67zxor8.js.map +1 -0
  525. package/dist/MultiGraphDashboard.cjs +2 -2
  526. package/dist/MultiGraphDashboard.cjs.map +1 -1
  527. package/dist/MultiGraphDashboard.d.ts +2 -665
  528. package/dist/MultiGraphDashboard.js +209 -144
  529. package/dist/MultiGraphDashboard.js.map +1 -1
  530. package/dist/MultiGraphDashboardFromConfig.cjs +2 -2
  531. package/dist/MultiGraphDashboardFromConfig.cjs.map +1 -1
  532. package/dist/MultiGraphDashboardFromConfig.d.ts +2 -669
  533. package/dist/MultiGraphDashboardFromConfig.js +35 -28
  534. package/dist/MultiGraphDashboardFromConfig.js.map +1 -1
  535. package/dist/MultiGraphDashboardWideToLongFormat-BPwP5bx2.cjs +2 -0
  536. package/dist/MultiGraphDashboardWideToLongFormat-BPwP5bx2.cjs.map +1 -0
  537. package/dist/MultiGraphDashboardWideToLongFormat-Ds7V2gxg.js +168 -0
  538. package/dist/MultiGraphDashboardWideToLongFormat-Ds7V2gxg.js.map +1 -0
  539. package/dist/MultiGraphDashboardWideToLongFormat.cjs +1 -2
  540. package/dist/MultiGraphDashboardWideToLongFormat.d.ts +2 -131
  541. package/dist/MultiGraphDashboardWideToLongFormat.js +2 -160
  542. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs +2 -2
  543. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs.map +1 -1
  544. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.d.ts +2 -136
  545. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js +32 -28
  546. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js.map +1 -1
  547. package/dist/MultiLineAltChart-BkEze7t7.cjs +2 -0
  548. package/dist/MultiLineAltChart-BkEze7t7.cjs.map +1 -0
  549. package/dist/MultiLineAltChart-CZGWeSsV.js +532 -0
  550. package/dist/MultiLineAltChart-CZGWeSsV.js.map +1 -0
  551. package/dist/MultiLineAltChart.cjs +1 -2
  552. package/dist/MultiLineAltChart.d.ts +2 -255
  553. package/dist/MultiLineAltChart.js +2 -647
  554. package/dist/MultiLineChart-BB13IJLX.js +531 -0
  555. package/dist/MultiLineChart-BB13IJLX.js.map +1 -0
  556. package/dist/MultiLineChart-CQK9Ovk8.cjs +2 -0
  557. package/dist/MultiLineChart-CQK9Ovk8.cjs.map +1 -0
  558. package/dist/MultiLineChart.cjs +1 -2
  559. package/dist/MultiLineChart.d.ts +2 -255
  560. package/dist/MultiLineChart.js +2 -636
  561. package/dist/ParetoChart-BB89ZG8n.js +467 -0
  562. package/dist/ParetoChart-BB89ZG8n.js.map +1 -0
  563. package/dist/ParetoChart-sZCTqhIt.cjs +2 -0
  564. package/dist/ParetoChart-sZCTqhIt.cjs.map +1 -0
  565. package/dist/ParetoChart.cjs +1 -2
  566. package/dist/ParetoChart.d.ts +2 -187
  567. package/dist/ParetoChart.js +2 -540
  568. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs +2 -2
  569. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs.map +1 -1
  570. package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +2 -669
  571. package/dist/PerformanceIntensiveMultiGraphDashboard.js +253 -169
  572. package/dist/PerformanceIntensiveMultiGraphDashboard.js.map +1 -1
  573. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs +2 -2
  574. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs.map +1 -1
  575. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +2 -673
  576. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js +35 -28
  577. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js.map +1 -1
  578. package/dist/PerformanceIntensiveScrollStory.cjs +2 -2
  579. package/dist/PerformanceIntensiveScrollStory.cjs.map +1 -1
  580. package/dist/PerformanceIntensiveScrollStory.d.ts +2 -595
  581. package/dist/PerformanceIntensiveScrollStory.js +88 -99
  582. package/dist/PerformanceIntensiveScrollStory.js.map +1 -1
  583. package/dist/RadarChart-5VC51Iv8.cjs +2 -0
  584. package/dist/RadarChart-5VC51Iv8.cjs.map +1 -0
  585. package/dist/RadarChart-DaID9Q1F.js +491 -0
  586. package/dist/RadarChart-DaID9Q1F.js.map +1 -0
  587. package/dist/RadarChart.cjs +1 -2
  588. package/dist/RadarChart.d.ts +2 -187
  589. package/dist/RadarChart.js +2 -535
  590. package/dist/ReferenceLine-C8owKJx1.js +90 -0
  591. package/dist/ReferenceLine-C8owKJx1.js.map +1 -0
  592. package/dist/ReferenceLine-Dltt-xtO.cjs +2 -0
  593. package/dist/ReferenceLine-Dltt-xtO.cjs.map +1 -0
  594. package/dist/RegressionLine-B-3HbVf4.js +53 -0
  595. package/dist/RegressionLine-B-3HbVf4.js.map +1 -0
  596. package/dist/RegressionLine-Cju7e0DE.cjs +2 -0
  597. package/dist/RegressionLine-Cju7e0DE.cjs.map +1 -0
  598. package/dist/SVGDownloadButton.cjs +2 -2
  599. package/dist/SVGDownloadButton.cjs.map +1 -1
  600. package/dist/SVGDownloadButton.d.ts +2 -15
  601. package/dist/SVGDownloadButton.js +22 -28
  602. package/dist/SVGDownloadButton.js.map +1 -1
  603. package/dist/SankeyChart-Cj7ihF_-.js +786 -0
  604. package/dist/SankeyChart-Cj7ihF_-.js.map +1 -0
  605. package/dist/SankeyChart-DbMoZmbh.cjs +2 -0
  606. package/dist/SankeyChart-DbMoZmbh.cjs.map +1 -0
  607. package/dist/SankeyChart.cjs +1 -2
  608. package/dist/SankeyChart.d.ts +2 -185
  609. package/dist/SankeyChart.js +2 -793
  610. package/dist/ScatterPlot-DGv-CLx8.js +588 -0
  611. package/dist/ScatterPlot-DGv-CLx8.js.map +1 -0
  612. package/dist/ScatterPlot-zfJrQptW.cjs +2 -0
  613. package/dist/ScatterPlot-zfJrQptW.cjs.map +1 -0
  614. package/dist/ScatterPlot.cjs +1 -2
  615. package/dist/ScatterPlot.d.ts +2 -279
  616. package/dist/ScatterPlot.js +2 -706
  617. package/dist/ScrollStory.cjs +2 -2
  618. package/dist/ScrollStory.cjs.map +1 -1
  619. package/dist/ScrollStory.d.ts +2 -591
  620. package/dist/ScrollStory.js +74 -92
  621. package/dist/ScrollStory.js.map +1 -1
  622. package/dist/SimpleLineChart.cjs +1 -2
  623. package/dist/SimpleLineChart.d.ts +2 -237
  624. package/dist/SimpleLineChart.js +2 -527
  625. package/dist/SimpleMap-DKkJMa4X.cjs +2 -0
  626. package/dist/SimpleMap-DKkJMa4X.cjs.map +1 -0
  627. package/dist/SimpleMap-Q5Ax5xNq.js +279 -0
  628. package/dist/SimpleMap-Q5Ax5xNq.js.map +1 -0
  629. package/dist/SingleGraphDashboard.cjs +2 -2
  630. package/dist/SingleGraphDashboard.cjs.map +1 -1
  631. package/dist/SingleGraphDashboard.d.ts +2 -645
  632. package/dist/SingleGraphDashboard.js +386 -303
  633. package/dist/SingleGraphDashboard.js.map +1 -1
  634. package/dist/SingleGraphDashboardFromConfig.cjs +2 -2
  635. package/dist/SingleGraphDashboardFromConfig.cjs.map +1 -1
  636. package/dist/SingleGraphDashboardFromConfig.d.ts +2 -648
  637. package/dist/SingleGraphDashboardFromConfig.js +36 -28
  638. package/dist/SingleGraphDashboardFromConfig.js.map +1 -1
  639. package/dist/SingleGraphDashboardGeoHubMaps-BNKMBM5-.js +158 -0
  640. package/dist/SingleGraphDashboardGeoHubMaps-BNKMBM5-.js.map +1 -0
  641. package/dist/SingleGraphDashboardGeoHubMaps-DGbbjY5J.cjs +2 -0
  642. package/dist/SingleGraphDashboardGeoHubMaps-DGbbjY5J.cjs.map +1 -0
  643. package/dist/SingleGraphDashboardGeoHubMaps.cjs +1 -2
  644. package/dist/SingleGraphDashboardGeoHubMaps.d.ts +2 -530
  645. package/dist/SingleGraphDashboardGeoHubMaps.js +2 -167
  646. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs +2 -2
  647. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs.map +1 -1
  648. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +2 -534
  649. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js +26 -28
  650. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js.map +1 -1
  651. package/dist/SingleGraphDashboardThreeDGraphs-BsCgN8DA.js +461 -0
  652. package/dist/SingleGraphDashboardThreeDGraphs-BsCgN8DA.js.map +1 -0
  653. package/dist/SingleGraphDashboardThreeDGraphs-qstwmomC.cjs +2 -0
  654. package/dist/SingleGraphDashboardThreeDGraphs-qstwmomC.cjs.map +1 -0
  655. package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -2
  656. package/dist/SingleGraphDashboardThreeDGraphs.d.ts +2 -643
  657. package/dist/SingleGraphDashboardThreeDGraphs.js +2 -387
  658. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs +2 -2
  659. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs.map +1 -1
  660. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +2 -646
  661. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js +36 -28
  662. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js.map +1 -1
  663. package/dist/SlopeChart-BgzrVFpf.js +431 -0
  664. package/dist/SlopeChart-BgzrVFpf.js.map +1 -0
  665. package/dist/SlopeChart-BwQY7GJl.cjs +2 -0
  666. package/dist/SlopeChart-BwQY7GJl.cjs.map +1 -0
  667. package/dist/SlopeChart.cjs +1 -2
  668. package/dist/SlopeChart.d.ts +2 -170
  669. package/dist/SlopeChart.js +2 -548
  670. package/dist/Source.cjs +2 -2
  671. package/dist/Source.cjs.map +1 -1
  672. package/dist/Source.d.ts +2 -16
  673. package/dist/Source.js +34 -40
  674. package/dist/Source.js.map +1 -1
  675. package/dist/SparkLine-DTNx2kjz.js +216 -0
  676. package/dist/SparkLine-DTNx2kjz.js.map +1 -0
  677. package/dist/SparkLine-cHaN4VYd.cjs +2 -0
  678. package/dist/SparkLine-cHaN4VYd.cjs.map +1 -0
  679. package/dist/SparkLine.cjs +1 -2
  680. package/dist/SparkLine.d.ts +2 -142
  681. package/dist/SparkLine.js +2 -296
  682. package/dist/StackedAreaChart-CtlLKKP4.js +381 -0
  683. package/dist/StackedAreaChart-CtlLKKP4.js.map +1 -0
  684. package/dist/StackedAreaChart-Du-YaLNf.cjs +2 -0
  685. package/dist/StackedAreaChart-Du-YaLNf.cjs.map +1 -0
  686. package/dist/StatCardFromData.cjs +2 -2
  687. package/dist/StatCardFromData.cjs.map +1 -1
  688. package/dist/StatCardFromData.d.ts +2 -124
  689. package/dist/StatCardFromData.js +138 -167
  690. package/dist/StatCardFromData.js.map +1 -1
  691. package/dist/StripChart-BG2FqiBD.js +564 -0
  692. package/dist/StripChart-BG2FqiBD.js.map +1 -0
  693. package/dist/StripChart-C2Px5GnZ.cjs +2 -0
  694. package/dist/StripChart-C2Px5GnZ.cjs.map +1 -0
  695. package/dist/StripChart.cjs +1 -2
  696. package/dist/StripChart.d.ts +2 -187
  697. package/dist/StripChart.js +2 -790
  698. package/dist/ThreeDGlobe-7eJdMW-R.cjs +2 -0
  699. package/dist/ThreeDGlobe-7eJdMW-R.cjs.map +1 -0
  700. package/dist/ThreeDGlobe-DXL9WkNi.js +441 -0
  701. package/dist/ThreeDGlobe-DXL9WkNi.js.map +1 -0
  702. package/dist/ThreeDGlobe.cjs +1 -2
  703. package/dist/ThreeDGlobe.d.ts +2 -247
  704. package/dist/ThreeDGlobe.js +2 -419
  705. package/dist/ThresholdColorLegendWithMouseOver.cjs +2 -2
  706. package/dist/ThresholdColorLegendWithMouseOver.cjs.map +1 -1
  707. package/dist/ThresholdColorLegendWithMouseOver.d.ts +2 -18
  708. package/dist/ThresholdColorLegendWithMouseOver.js +109 -103
  709. package/dist/ThresholdColorLegendWithMouseOver.js.map +1 -1
  710. package/dist/Tooltip-CO_iOj_w.cjs +2 -0
  711. package/dist/Tooltip-CO_iOj_w.cjs.map +1 -0
  712. package/dist/Tooltip-Y6uTGwkF.js +33 -0
  713. package/dist/Tooltip-Y6uTGwkF.js.map +1 -0
  714. package/dist/TreeMapGraph-BL2-s-r1.cjs +2 -0
  715. package/dist/TreeMapGraph-BL2-s-r1.cjs.map +1 -0
  716. package/dist/TreeMapGraph-C9G05WWG.js +598 -0
  717. package/dist/TreeMapGraph-C9G05WWG.js.map +1 -0
  718. package/dist/TreeMapGraph.cjs +1 -2
  719. package/dist/TreeMapGraph.d.ts +2 -165
  720. package/dist/TreeMapGraph.js +2 -618
  721. package/dist/Types.cjs +1 -2
  722. package/dist/Types.d.ts +935 -1033
  723. package/dist/Types.d.ts.map +1 -0
  724. package/dist/Types.js +0 -2
  725. package/dist/UnitChart.cjs +2 -2
  726. package/dist/UnitChart.cjs.map +1 -1
  727. package/dist/UnitChart.d.ts +2 -145
  728. package/dist/UnitChart.js +148 -165
  729. package/dist/UnitChart.js.map +1 -1
  730. package/dist/Utils/checkDataValidity.d.ts +6 -0
  731. package/dist/Utils/checkDataValidity.d.ts.map +1 -0
  732. package/dist/Utils/checkIfMultiple.d.ts +3 -0
  733. package/dist/Utils/checkIfMultiple.d.ts.map +1 -0
  734. package/dist/Utils/checkIfNullOrUndefined.d.ts +14 -0
  735. package/dist/Utils/checkIfNullOrUndefined.d.ts.map +1 -0
  736. package/dist/Utils/ensureCompleteData.d.ts +8 -0
  737. package/dist/Utils/ensureCompleteData.d.ts.map +1 -0
  738. package/dist/Utils/excelDownload.d.ts +30 -0
  739. package/dist/Utils/excelDownload.d.ts.map +1 -0
  740. package/dist/Utils/fetchAndParseData.d.ts +65 -0
  741. package/dist/Utils/fetchAndParseData.d.ts.map +1 -0
  742. package/dist/Utils/generateCodes.d.ts +23 -0
  743. package/dist/Utils/generateCodes.d.ts.map +1 -0
  744. package/dist/Utils/generateRandomString.d.ts +2 -0
  745. package/dist/Utils/generateRandomString.d.ts.map +1 -0
  746. package/dist/Utils/getArc.d.ts +2 -0
  747. package/dist/Utils/getArc.d.ts.map +1 -0
  748. package/dist/Utils/getCentroidCoordinates.d.ts +3 -0
  749. package/dist/Utils/getCentroidCoordinates.d.ts.map +1 -0
  750. package/dist/Utils/getGraphList.d.ts +8 -0
  751. package/dist/Utils/getGraphList.d.ts.map +1 -0
  752. package/dist/Utils/getJenks.d.ts +16 -0
  753. package/dist/Utils/getJenks.d.ts.map +1 -0
  754. package/dist/Utils/getLineEndPoint.d.ts +10 -0
  755. package/dist/Utils/getLineEndPoint.d.ts.map +1 -0
  756. package/dist/Utils/getNoOfTicks.d.ts +2 -0
  757. package/dist/Utils/getNoOfTicks.d.ts.map +1 -0
  758. package/dist/Utils/getPathFromPoints.d.ts +2 -0
  759. package/dist/Utils/getPathFromPoints.d.ts.map +1 -0
  760. package/dist/Utils/getPercentileValue.d.ts +12 -0
  761. package/dist/Utils/getPercentileValue.d.ts.map +1 -0
  762. package/dist/Utils/getQueryParamsFromLink.d.ts +17 -0
  763. package/dist/Utils/getQueryParamsFromLink.d.ts.map +1 -0
  764. package/dist/Utils/getSliderMarks.d.ts +2 -0
  765. package/dist/Utils/getSliderMarks.d.ts.map +1 -0
  766. package/dist/Utils/getTextColorBasedOnBgColor.d.ts +12 -0
  767. package/dist/Utils/getTextColorBasedOnBgColor.d.ts.map +1 -0
  768. package/dist/Utils/getTickPosition.d.ts +2 -0
  769. package/dist/Utils/getTickPosition.d.ts.map +1 -0
  770. package/dist/Utils/getUniqValue.d.ts +17 -0
  771. package/dist/Utils/getUniqValue.d.ts.map +1 -0
  772. package/dist/Utils/getValues.d.ts +6 -0
  773. package/dist/Utils/getValues.d.ts.map +1 -0
  774. package/dist/Utils/imageDownload.d.ts +15 -0
  775. package/dist/Utils/imageDownload.d.ts.map +1 -0
  776. package/dist/Utils/index.d.ts +15 -0
  777. package/dist/Utils/index.d.ts.map +1 -0
  778. package/dist/Utils/numberFormattingFunction.d.ts +12 -0
  779. package/dist/Utils/numberFormattingFunction.d.ts.map +1 -0
  780. package/dist/Utils/padArray.d.ts +3 -0
  781. package/dist/Utils/padArray.d.ts.map +1 -0
  782. package/dist/Utils/removeOutliers.d.ts +15 -0
  783. package/dist/Utils/removeOutliers.d.ts.map +1 -0
  784. package/dist/Utils/string2HTML.d.ts +2 -0
  785. package/dist/Utils/string2HTML.d.ts.map +1 -0
  786. package/dist/Utils/svgDownload.d.ts +15 -0
  787. package/dist/Utils/svgDownload.d.ts.map +1 -0
  788. package/dist/Utils/transformData/filterData.d.ts +3 -0
  789. package/dist/Utils/transformData/filterData.d.ts.map +1 -0
  790. package/dist/Utils/transformData/graphConfig.d.ts +10 -0
  791. package/dist/Utils/transformData/graphConfig.d.ts.map +1 -0
  792. package/dist/Utils/transformData/index.d.ts +5 -0
  793. package/dist/Utils/transformData/index.d.ts.map +1 -0
  794. package/dist/Utils/transformData/mergeMultipleData.d.ts +5 -0
  795. package/dist/Utils/transformData/mergeMultipleData.d.ts.map +1 -0
  796. package/dist/Utils/transformData/transformColumnsToArray.d.ts +33 -0
  797. package/dist/Utils/transformData/transformColumnsToArray.d.ts.map +1 -0
  798. package/dist/Utils/transformData/transformDataForAggregation.d.ts +33 -0
  799. package/dist/Utils/transformData/transformDataForAggregation.d.ts.map +1 -0
  800. package/dist/Utils/transformData/transformDataForGraph.d.ts +36 -0
  801. package/dist/Utils/transformData/transformDataForGraph.d.ts.map +1 -0
  802. package/dist/Utils/transformData/transformDataForGraphFromFile.d.ts +40 -0
  803. package/dist/Utils/transformData/transformDataForGraphFromFile.d.ts.map +1 -0
  804. package/dist/Utils/transformDataForSelect.d.ts +8 -0
  805. package/dist/Utils/transformDataForSelect.d.ts.map +1 -0
  806. package/dist/Utils/uniqBy.d.ts +2 -0
  807. package/dist/Utils/uniqBy.d.ts.map +1 -0
  808. package/dist/Utils/wideToLongTranformation.d.ts +5 -0
  809. package/dist/Utils/wideToLongTranformation.d.ts.map +1 -0
  810. package/dist/Utils-C5kfxVL2.js +56 -0
  811. package/dist/Utils-C5kfxVL2.js.map +1 -0
  812. package/dist/Utils-HrtbRBIa.cjs +2 -0
  813. package/dist/Utils-HrtbRBIa.cjs.map +1 -0
  814. package/dist/WaterfallChart-BKpFUJdY.js +380 -0
  815. package/dist/WaterfallChart-BKpFUJdY.js.map +1 -0
  816. package/dist/WaterfallChart-cJ5pGsDu.cjs +2 -0
  817. package/dist/WaterfallChart-cJ5pGsDu.cjs.map +1 -0
  818. package/dist/WaterfallChart.cjs +1 -2
  819. package/dist/WaterfallChart.d.ts +2 -213
  820. package/dist/WaterfallChart.js +2 -427
  821. package/dist/XAxesLabels-BvzqZwll.cjs +2 -0
  822. package/dist/XAxesLabels-BvzqZwll.cjs.map +1 -0
  823. package/dist/XAxesLabels-DIs04SK7.js +45 -0
  824. package/dist/XAxesLabels-DIs04SK7.js.map +1 -0
  825. package/dist/XTicksAndGridLines-8v1W02Pd.cjs +2 -0
  826. package/dist/XTicksAndGridLines-8v1W02Pd.cjs.map +1 -0
  827. package/dist/XTicksAndGridLines-B2XZgwzW.js +31 -0
  828. package/dist/XTicksAndGridLines-B2XZgwzW.js.map +1 -0
  829. package/dist/YAxesLabels-DKRDxuHA.cjs +2 -0
  830. package/dist/YAxesLabels-DKRDxuHA.cjs.map +1 -0
  831. package/dist/YAxesLabels-voV_CThY.js +45 -0
  832. package/dist/YAxesLabels-voV_CThY.js.map +1 -0
  833. package/dist/YTicksAndGridLines-CRW_R845.cjs +2 -0
  834. package/dist/YTicksAndGridLines-CRW_R845.cjs.map +1 -0
  835. package/dist/YTicksAndGridLines-CVTzNJYP.js +31 -0
  836. package/dist/YTicksAndGridLines-CVTzNJYP.js.map +1 -0
  837. package/dist/area-BLagdTXz.js +51 -0
  838. package/dist/area-BLagdTXz.js.map +1 -0
  839. package/dist/area-Cwt2IPSp.cjs +2 -0
  840. package/dist/area-Cwt2IPSp.cjs.map +1 -0
  841. package/dist/array-BBVF08DC.cjs +2 -0
  842. package/dist/array-BBVF08DC.cjs.map +1 -0
  843. package/dist/array-ZS2WLXqD.js +14 -0
  844. package/dist/array-ZS2WLXqD.js.map +1 -0
  845. package/dist/band-BWpW41la.cjs +2 -0
  846. package/dist/band-BWpW41la.cjs.map +1 -0
  847. package/dist/band-XivI9IHG.js +49 -0
  848. package/dist/band-XivI9IHG.js.map +1 -0
  849. package/dist/checkIfNullOrUndefined-C5gqSAtF.js +8 -0
  850. package/dist/checkIfNullOrUndefined-C5gqSAtF.js.map +1 -0
  851. package/dist/checkIfNullOrUndefined-DYvc3fz_.cjs +2 -0
  852. package/dist/checkIfNullOrUndefined-DYvc3fz_.cjs.map +1 -0
  853. package/dist/chunk-foFoljWS.js +23 -0
  854. package/dist/chunk-gGpyby2o.cjs +1 -0
  855. package/dist/defaultLocale-DOietvnG.js +203 -0
  856. package/dist/defaultLocale-DOietvnG.js.map +1 -0
  857. package/dist/defaultLocale-DQoNc1A3.cjs +2 -0
  858. package/dist/defaultLocale-DQoNc1A3.cjs.map +1 -0
  859. package/dist/delaunay-M1ErmNzW.cjs +2 -0
  860. package/dist/delaunay-M1ErmNzW.cjs.map +1 -0
  861. package/dist/delaunay-ZuH6I4Fh.js +679 -0
  862. package/dist/delaunay-ZuH6I4Fh.js.map +1 -0
  863. package/dist/ensureCompleteData-CqLz7Btq.cjs +2 -0
  864. package/dist/ensureCompleteData-CqLz7Btq.cjs.map +1 -0
  865. package/dist/ensureCompleteData-VxAHq-s7.js +100 -0
  866. package/dist/ensureCompleteData-VxAHq-s7.js.map +1 -0
  867. package/dist/esm-BwfGJUcL.cjs +2 -0
  868. package/dist/esm-BwfGJUcL.cjs.map +1 -0
  869. package/dist/esm-D23XoYrV.js +653 -0
  870. package/dist/esm-D23XoYrV.js.map +1 -0
  871. package/dist/excelDownload-CVpK5TPY.cjs +2 -0
  872. package/dist/excelDownload-CVpK5TPY.cjs.map +1 -0
  873. package/dist/excelDownload-lQy9nEu2.js +26 -0
  874. package/dist/excelDownload-lQy9nEu2.js.map +1 -0
  875. package/dist/fast-deep-equal--80N92KJ.js +31 -0
  876. package/dist/fast-deep-equal--80N92KJ.js.map +1 -0
  877. package/dist/fast-deep-equal-DN3ilkVq.cjs +2 -0
  878. package/dist/fast-deep-equal-DN3ilkVq.cjs.map +1 -0
  879. package/dist/fetchAndParseData-C50SqMPu.js +633 -0
  880. package/dist/fetchAndParseData-C50SqMPu.js.map +1 -0
  881. package/dist/fetchAndParseData-Dlq4UzdG.cjs +11 -0
  882. package/dist/fetchAndParseData-Dlq4UzdG.cjs.map +1 -0
  883. package/dist/fetchAndParseData.cjs +1 -2
  884. package/dist/fetchAndParseData.d.ts +2 -84
  885. package/dist/fetchAndParseData.js +2 -10
  886. package/dist/filterData-B2pPOkwy.cjs +2 -0
  887. package/dist/filterData-B2pPOkwy.cjs.map +1 -0
  888. package/dist/filterData-Dp_HZ71j.js +12 -0
  889. package/dist/filterData-Dp_HZ71j.js.map +1 -0
  890. package/dist/generateRandomString-BaDYvqHT.js +10 -0
  891. package/dist/generateRandomString-BaDYvqHT.js.map +1 -0
  892. package/dist/generateRandomString-GzIwYnol.cjs +2 -0
  893. package/dist/generateRandomString-GzIwYnol.cjs.map +1 -0
  894. package/dist/getCentroidCoordinates-BxK8C2EL.js +64 -0
  895. package/dist/getCentroidCoordinates-BxK8C2EL.js.map +1 -0
  896. package/dist/getCentroidCoordinates-DWO-SCXv.cjs +2 -0
  897. package/dist/getCentroidCoordinates-DWO-SCXv.cjs.map +1 -0
  898. package/dist/getGraphList-BIaPQiZ0.js +280 -0
  899. package/dist/getGraphList-BIaPQiZ0.js.map +1 -0
  900. package/dist/getGraphList-DnwJeVCr.cjs +2 -0
  901. package/dist/getGraphList-DnwJeVCr.cjs.map +1 -0
  902. package/dist/getJenks-49NAtnQV.js +21 -0
  903. package/dist/getJenks-49NAtnQV.js.map +1 -0
  904. package/dist/getJenks-D0stlcvY.cjs +2 -0
  905. package/dist/getJenks-D0stlcvY.cjs.map +1 -0
  906. package/dist/getLineEndPoint-BkKmq-KI.js +130 -0
  907. package/dist/getLineEndPoint-BkKmq-KI.js.map +1 -0
  908. package/dist/getLineEndPoint-CahgY2dz.cjs +2 -0
  909. package/dist/getLineEndPoint-CahgY2dz.cjs.map +1 -0
  910. package/dist/getNoOfTicks-Bz_9Xmc6.js +8 -0
  911. package/dist/getNoOfTicks-Bz_9Xmc6.js.map +1 -0
  912. package/dist/getNoOfTicks-CwG9lMmQ.cjs +2 -0
  913. package/dist/getNoOfTicks-CwG9lMmQ.cjs.map +1 -0
  914. package/dist/getSliderMarks-CTKVxOEm.js +19 -0
  915. package/dist/getSliderMarks-CTKVxOEm.js.map +1 -0
  916. package/dist/getSliderMarks-DCEGtxIl.cjs +2 -0
  917. package/dist/getSliderMarks-DCEGtxIl.cjs.map +1 -0
  918. package/dist/getTextColorBasedOnBgColor-B0B-azeJ.cjs +2 -0
  919. package/dist/getTextColorBasedOnBgColor-B0B-azeJ.cjs.map +1 -0
  920. package/dist/getTextColorBasedOnBgColor-Ch7uw_Px.js +34 -0
  921. package/dist/getTextColorBasedOnBgColor-Ch7uw_Px.js.map +1 -0
  922. package/dist/getUniqValue-BItnnZEr.cjs +2 -0
  923. package/dist/getUniqValue-BItnnZEr.cjs.map +1 -0
  924. package/dist/getUniqValue-DZTOHgt8.js +11 -0
  925. package/dist/getUniqValue-DZTOHgt8.js.map +1 -0
  926. package/dist/getValues-Bt73vs_w.js +13 -0
  927. package/dist/getValues-Bt73vs_w.js.map +1 -0
  928. package/dist/getValues-CX_V1GcA.cjs +2 -0
  929. package/dist/getValues-CX_V1GcA.cjs.map +1 -0
  930. package/dist/imageDownload-B8Pd4gTs.cjs +15 -0
  931. package/dist/imageDownload-B8Pd4gTs.cjs.map +1 -0
  932. package/dist/imageDownload-DFFsgajo.js +804 -0
  933. package/dist/imageDownload-DFFsgajo.js.map +1 -0
  934. package/dist/index.cjs +1 -2
  935. package/dist/index.d.ts +91 -5918
  936. package/dist/index.d.ts.map +1 -0
  937. package/dist/index.js +85 -183
  938. package/dist/init-BTypmXMF.cjs +2 -0
  939. package/dist/init-BTypmXMF.cjs.map +1 -0
  940. package/dist/init-CT6uqW57.js +75 -0
  941. package/dist/init-CT6uqW57.js.map +1 -0
  942. package/dist/jsx-runtime-C76bEyh7.js +182 -0
  943. package/dist/jsx-runtime-C76bEyh7.js.map +1 -0
  944. package/dist/jsx-runtime-Cd1vCQjn.cjs +7 -0
  945. package/dist/jsx-runtime-Cd1vCQjn.cjs.map +1 -0
  946. package/dist/line-6wslDyQb.js +144 -0
  947. package/dist/line-6wslDyQb.js.map +1 -0
  948. package/dist/line-DoUnRqpS.cjs +2 -0
  949. package/dist/line-DoUnRqpS.cjs.map +1 -0
  950. package/dist/linear-B93YyHf_.cjs +2 -0
  951. package/dist/linear-B93YyHf_.cjs.map +1 -0
  952. package/dist/linear-BkosG4OK.js +234 -0
  953. package/dist/linear-BkosG4OK.js.map +1 -0
  954. package/dist/lodash.flattendeep-_PlS_1wX.cjs +2 -0
  955. package/dist/lodash.flattendeep-_PlS_1wX.cjs.map +1 -0
  956. package/dist/lodash.flattendeep-a__mQ60W.js +53 -0
  957. package/dist/lodash.flattendeep-a__mQ60W.js.map +1 -0
  958. package/dist/lodash.intersection-BDR4j58n.cjs +2 -0
  959. package/dist/lodash.intersection-BDR4j58n.cjs.map +1 -0
  960. package/dist/lodash.intersection-C9QFuAQj.js +248 -0
  961. package/dist/lodash.intersection-C9QFuAQj.js.map +1 -0
  962. package/dist/lodash.orderby-Dn2sr3tw.js +583 -0
  963. package/dist/lodash.orderby-Dn2sr3tw.js.map +1 -0
  964. package/dist/lodash.orderby-Us2PHq2D.cjs +2 -0
  965. package/dist/lodash.orderby-Us2PHq2D.cjs.map +1 -0
  966. package/dist/lodash.sum-CX6zs3_n.js +22 -0
  967. package/dist/lodash.sum-CX6zs3_n.js.map +1 -0
  968. package/dist/lodash.sum-bWhlZLUV.cjs +2 -0
  969. package/dist/lodash.sum-bWhlZLUV.cjs.map +1 -0
  970. package/dist/numberFormattingFunction-Caf5NyIo.cjs +2 -0
  971. package/dist/numberFormattingFunction-Caf5NyIo.cjs.map +1 -0
  972. package/dist/numberFormattingFunction-Cha8dhHc.js +29 -0
  973. package/dist/numberFormattingFunction-Cha8dhHc.js.map +1 -0
  974. package/dist/ordinal-Dq1sg8_s.js +67 -0
  975. package/dist/ordinal-Dq1sg8_s.js.map +1 -0
  976. package/dist/ordinal-FQwO0oQx.cjs +2 -0
  977. package/dist/ordinal-FQwO0oQx.cjs.map +1 -0
  978. package/dist/parse-5MWhaq6h.js +2508 -0
  979. package/dist/parse-5MWhaq6h.js.map +1 -0
  980. package/dist/parse-C718o4YM.cjs +2 -0
  981. package/dist/parse-C718o4YM.cjs.map +1 -0
  982. package/dist/pointer-CoEekBJE.js +26 -0
  983. package/dist/pointer-CoEekBJE.js.map +1 -0
  984. package/dist/pointer-nSSkgdlX.cjs +2 -0
  985. package/dist/pointer-nSSkgdlX.cjs.map +1 -0
  986. package/dist/pow-CISbw8TV.js +36 -0
  987. package/dist/pow-CISbw8TV.js.map +1 -0
  988. package/dist/pow-DXd5n928.cjs +2 -0
  989. package/dist/pow-DXd5n928.cjs.map +1 -0
  990. package/dist/proxy-BiRrIImK.js +4656 -0
  991. package/dist/proxy-BiRrIImK.js.map +1 -0
  992. package/dist/proxy-DaRMphjR.cjs +2 -0
  993. package/dist/proxy-DaRMphjR.cjs.map +1 -0
  994. package/dist/select-0Z0HV7nm.js +649 -0
  995. package/dist/select-0Z0HV7nm.js.map +1 -0
  996. package/dist/select-CZVfejpg.cjs +2 -0
  997. package/dist/select-CZVfejpg.cjs.map +1 -0
  998. package/dist/simple-statistics-B4XnKTMF.cjs +2 -0
  999. package/dist/simple-statistics-B4XnKTMF.cjs.map +1 -0
  1000. package/dist/simple-statistics-BlsBuRxU.js +97 -0
  1001. package/dist/simple-statistics-BlsBuRxU.js.map +1 -0
  1002. package/dist/src-2DIiCwTd.js +2377 -0
  1003. package/dist/src-2DIiCwTd.js.map +1 -0
  1004. package/dist/src-BstANsLK.cjs +2 -0
  1005. package/dist/src-BstANsLK.cjs.map +1 -0
  1006. package/dist/step-Bxl4gFpO.js +135 -0
  1007. package/dist/step-Bxl4gFpO.js.map +1 -0
  1008. package/dist/step-C_FLQezZ.cjs +2 -0
  1009. package/dist/step-C_FLQezZ.cjs.map +1 -0
  1010. package/dist/stories/Dashboards/Elements/ChartConfigDropdown.d.ts +6 -0
  1011. package/dist/stories/Dashboards/Elements/ChartConfigDropdown.d.ts.map +1 -0
  1012. package/dist/stories/Graph+Maps+Charts/BarGraph/BarGraph.stories.d.ts +9 -0
  1013. package/dist/stories/Graph+Maps+Charts/BarGraph/BarGraph.stories.d.ts.map +1 -0
  1014. package/dist/stories/Graph+Maps+Charts/BarGraph/BarGraphAnimated.stories.d.ts +9 -0
  1015. package/dist/stories/Graph+Maps+Charts/BarGraph/BarGraphAnimated.stories.d.ts.map +1 -0
  1016. package/dist/stories/Graph+Maps+Charts/BarGraph/GroupedBarGraph.stories.d.ts +9 -0
  1017. package/dist/stories/Graph+Maps+Charts/BarGraph/GroupedBarGraph.stories.d.ts.map +1 -0
  1018. package/dist/stories/Graph+Maps+Charts/BarGraph/GroupedBarGraphAnimated.stories.d.ts +9 -0
  1019. package/dist/stories/Graph+Maps+Charts/BarGraph/GroupedBarGraphAnimated.stories.d.ts.map +1 -0
  1020. package/dist/stories/Graph+Maps+Charts/BarGraph/StackedBarGraph.stories.d.ts +9 -0
  1021. package/dist/stories/Graph+Maps+Charts/BarGraph/StackedBarGraph.stories.d.ts.map +1 -0
  1022. package/dist/stories/Graph+Maps+Charts/BarGraph/StackedBarGraphAnimated.stories.d.ts +9 -0
  1023. package/dist/stories/Graph+Maps+Charts/BarGraph/StackedBarGraphAnimated.stories.d.ts.map +1 -0
  1024. package/dist/stories/Graph+Maps+Charts/BeeSwarmChart.stories.d.ts +9 -0
  1025. package/dist/stories/Graph+Maps+Charts/BeeSwarmChart.stories.d.ts.map +1 -0
  1026. package/dist/stories/Graph+Maps+Charts/BulletChart.stories.d.ts +9 -0
  1027. package/dist/stories/Graph+Maps+Charts/BulletChart.stories.d.ts.map +1 -0
  1028. package/dist/stories/Graph+Maps+Charts/BulletChartAnimated.stories.d.ts +9 -0
  1029. package/dist/stories/Graph+Maps+Charts/BulletChartAnimated.stories.d.ts.map +1 -0
  1030. package/dist/stories/Graph+Maps+Charts/ButterflyChart.stories.d.ts +9 -0
  1031. package/dist/stories/Graph+Maps+Charts/ButterflyChart.stories.d.ts.map +1 -0
  1032. package/dist/stories/Graph+Maps+Charts/ButterflyChartAnimated.stories.d.ts +9 -0
  1033. package/dist/stories/Graph+Maps+Charts/ButterflyChartAnimated.stories.d.ts.map +1 -0
  1034. package/dist/stories/Graph+Maps+Charts/CirclePacking.stories.d.ts +9 -0
  1035. package/dist/stories/Graph+Maps+Charts/CirclePacking.stories.d.ts.map +1 -0
  1036. package/dist/stories/Graph+Maps+Charts/DataCards.stories.d.ts +9 -0
  1037. package/dist/stories/Graph+Maps+Charts/DataCards.stories.d.ts.map +1 -0
  1038. package/dist/stories/Graph+Maps+Charts/DataTables.stories.d.ts +9 -0
  1039. package/dist/stories/Graph+Maps+Charts/DataTables.stories.d.ts.map +1 -0
  1040. package/dist/stories/Graph+Maps+Charts/DonutChart.stories.d.ts +9 -0
  1041. package/dist/stories/Graph+Maps+Charts/DonutChart.stories.d.ts.map +1 -0
  1042. package/dist/stories/Graph+Maps+Charts/DumbbellChart.stories.d.ts +9 -0
  1043. package/dist/stories/Graph+Maps+Charts/DumbbellChart.stories.d.ts.map +1 -0
  1044. package/dist/stories/Graph+Maps+Charts/DumbbellChartAnimated.stories.d.ts +9 -0
  1045. package/dist/stories/Graph+Maps+Charts/DumbbellChartAnimated.stories.d.ts.map +1 -0
  1046. package/dist/stories/Graph+Maps+Charts/HeatMap.stories.d.ts +9 -0
  1047. package/dist/stories/Graph+Maps+Charts/HeatMap.stories.d.ts.map +1 -0
  1048. package/dist/stories/Graph+Maps+Charts/Histogram.stories.d.ts +9 -0
  1049. package/dist/stories/Graph+Maps+Charts/Histogram.stories.d.ts.map +1 -0
  1050. package/dist/stories/Graph+Maps+Charts/LineCharts/DifferenceLineChart.stories.d.ts +9 -0
  1051. package/dist/stories/Graph+Maps+Charts/LineCharts/DifferenceLineChart.stories.d.ts.map +1 -0
  1052. package/dist/stories/Graph+Maps+Charts/LineCharts/DualAxesLineChart.stories.d.ts +9 -0
  1053. package/dist/stories/Graph+Maps+Charts/LineCharts/DualAxesLineChart.stories.d.ts.map +1 -0
  1054. package/dist/stories/Graph+Maps+Charts/LineCharts/LineChart.stories.d.ts +9 -0
  1055. package/dist/stories/Graph+Maps+Charts/LineCharts/LineChart.stories.d.ts.map +1 -0
  1056. package/dist/stories/Graph+Maps+Charts/LineCharts/LineChartWithInterval.stories.d.ts +9 -0
  1057. package/dist/stories/Graph+Maps+Charts/LineCharts/LineChartWithInterval.stories.d.ts.map +1 -0
  1058. package/dist/stories/Graph+Maps+Charts/LineCharts/MultiLineAltChart.stories.d.ts +9 -0
  1059. package/dist/stories/Graph+Maps+Charts/LineCharts/MultiLineAltChart.stories.d.ts.map +1 -0
  1060. package/dist/stories/Graph+Maps+Charts/LineCharts/MultiLineChart.stories.d.ts +9 -0
  1061. package/dist/stories/Graph+Maps+Charts/LineCharts/MultiLineChart.stories.d.ts.map +1 -0
  1062. package/dist/stories/Graph+Maps+Charts/LineCharts/Sparkline.stories.d.ts +9 -0
  1063. package/dist/stories/Graph+Maps+Charts/LineCharts/Sparkline.stories.d.ts.map +1 -0
  1064. package/dist/stories/Graph+Maps+Charts/Maps/BiVariateChroplethMap.stories.d.ts +9 -0
  1065. package/dist/stories/Graph+Maps+Charts/Maps/BiVariateChroplethMap.stories.d.ts.map +1 -0
  1066. package/dist/stories/Graph+Maps+Charts/Maps/BiVariateChroplethMapAnimated.stories.d.ts +9 -0
  1067. package/dist/stories/Graph+Maps+Charts/Maps/BiVariateChroplethMapAnimated.stories.d.ts.map +1 -0
  1068. package/dist/stories/Graph+Maps+Charts/Maps/ChroplethMap.stories.d.ts +9 -0
  1069. package/dist/stories/Graph+Maps+Charts/Maps/ChroplethMap.stories.d.ts.map +1 -0
  1070. package/dist/stories/Graph+Maps+Charts/Maps/ChroplethMapAnimated.stories.d.ts +9 -0
  1071. package/dist/stories/Graph+Maps+Charts/Maps/ChroplethMapAnimated.stories.d.ts.map +1 -0
  1072. package/dist/stories/Graph+Maps+Charts/Maps/DotDensityMap.stories.d.ts +9 -0
  1073. package/dist/stories/Graph+Maps+Charts/Maps/DotDensityMap.stories.d.ts.map +1 -0
  1074. package/dist/stories/Graph+Maps+Charts/Maps/DotDensityMapAnimated.stories.d.ts +9 -0
  1075. package/dist/stories/Graph+Maps+Charts/Maps/DotDensityMapAnimated.stories.d.ts.map +1 -0
  1076. package/dist/stories/Graph+Maps+Charts/Maps/GeoHubCompareMaps.stories.d.ts +9 -0
  1077. package/dist/stories/Graph+Maps+Charts/Maps/GeoHubCompareMaps.stories.d.ts.map +1 -0
  1078. package/dist/stories/Graph+Maps+Charts/Maps/GeoHubMultiLayerSelectMap.stories.d.ts +9 -0
  1079. package/dist/stories/Graph+Maps+Charts/Maps/GeoHubMultiLayerSelectMap.stories.d.ts.map +1 -0
  1080. package/dist/stories/Graph+Maps+Charts/Maps/GeoHubSimpleMap.stories.d.ts +9 -0
  1081. package/dist/stories/Graph+Maps+Charts/Maps/GeoHubSimpleMap.stories.d.ts.map +1 -0
  1082. package/dist/stories/Graph+Maps+Charts/Maps/HybridMap.stories.d.ts +9 -0
  1083. package/dist/stories/Graph+Maps+Charts/Maps/HybridMap.stories.d.ts.map +1 -0
  1084. package/dist/stories/Graph+Maps+Charts/Maps/HybridMapAnimated.stories.d.ts +9 -0
  1085. package/dist/stories/Graph+Maps+Charts/Maps/HybridMapAnimated.stories.d.ts.map +1 -0
  1086. package/dist/stories/Graph+Maps+Charts/Maps/ThreeDGlobe.stories.d.ts +9 -0
  1087. package/dist/stories/Graph+Maps+Charts/Maps/ThreeDGlobe.stories.d.ts.map +1 -0
  1088. package/dist/stories/Graph+Maps+Charts/ParetoChart.stories.d.ts +9 -0
  1089. package/dist/stories/Graph+Maps+Charts/ParetoChart.stories.d.ts.map +1 -0
  1090. package/dist/stories/Graph+Maps+Charts/RadarChart.stories.d.ts +9 -0
  1091. package/dist/stories/Graph+Maps+Charts/RadarChart.stories.d.ts.map +1 -0
  1092. package/dist/stories/Graph+Maps+Charts/SankeyChart.stories.d.ts +9 -0
  1093. package/dist/stories/Graph+Maps+Charts/SankeyChart.stories.d.ts.map +1 -0
  1094. package/dist/stories/Graph+Maps+Charts/ScatterPlot.stories.d.ts +9 -0
  1095. package/dist/stories/Graph+Maps+Charts/ScatterPlot.stories.d.ts.map +1 -0
  1096. package/dist/stories/Graph+Maps+Charts/ScatterPlotAnimated.stories.d.ts +9 -0
  1097. package/dist/stories/Graph+Maps+Charts/ScatterPlotAnimated.stories.d.ts.map +1 -0
  1098. package/dist/stories/Graph+Maps+Charts/SlopeChart.stories.d.ts +9 -0
  1099. package/dist/stories/Graph+Maps+Charts/SlopeChart.stories.d.ts.map +1 -0
  1100. package/dist/stories/Graph+Maps+Charts/StackedAreaChart.stories.d.ts +9 -0
  1101. package/dist/stories/Graph+Maps+Charts/StackedAreaChart.stories.d.ts.map +1 -0
  1102. package/dist/stories/Graph+Maps+Charts/StatCards/BasicStatCard.stories.d.ts +9 -0
  1103. package/dist/stories/Graph+Maps+Charts/StatCards/BasicStatCard.stories.d.ts.map +1 -0
  1104. package/dist/stories/Graph+Maps+Charts/StatCards/StatCardFromData.stories.d.ts +9 -0
  1105. package/dist/stories/Graph+Maps+Charts/StatCards/StatCardFromData.stories.d.ts.map +1 -0
  1106. package/dist/stories/Graph+Maps+Charts/StripChart.stories.d.ts +9 -0
  1107. package/dist/stories/Graph+Maps+Charts/StripChart.stories.d.ts.map +1 -0
  1108. package/dist/stories/Graph+Maps+Charts/TreeMap.stories.d.ts +9 -0
  1109. package/dist/stories/Graph+Maps+Charts/TreeMap.stories.d.ts.map +1 -0
  1110. package/dist/stories/Graph+Maps+Charts/UnitChart.stories.d.ts +9 -0
  1111. package/dist/stories/Graph+Maps+Charts/UnitChart.stories.d.ts.map +1 -0
  1112. package/dist/stories/Graph+Maps+Charts/WaterfallChart.stories.d.ts +9 -0
  1113. package/dist/stories/Graph+Maps+Charts/WaterfallChart.stories.d.ts.map +1 -0
  1114. package/dist/stories/Utilities/Color Palette/DataVizDarkMode.stories.d.ts +5 -0
  1115. package/dist/stories/Utilities/Color Palette/DataVizDarkMode.stories.d.ts.map +1 -0
  1116. package/dist/stories/Utilities/Color Palette/DataVizLightMode.stories.d.ts +5 -0
  1117. package/dist/stories/Utilities/Color Palette/DataVizLightMode.stories.d.ts.map +1 -0
  1118. package/dist/stories/Utilities/Color Palette/Palette Component/index.d.ts +6 -0
  1119. package/dist/stories/Utilities/Color Palette/Palette Component/index.d.ts.map +1 -0
  1120. package/dist/stories/Utilities/Color Palette/Primary.stories.d.ts +5 -0
  1121. package/dist/stories/Utilities/Color Palette/Primary.stories.d.ts.map +1 -0
  1122. package/dist/stories/assets/constants.d.ts +14 -0
  1123. package/dist/stories/assets/constants.d.ts.map +1 -0
  1124. package/dist/stories/assets/graphDataConfigSelect.d.ts +2 -0
  1125. package/dist/stories/assets/graphDataConfigSelect.d.ts.map +1 -0
  1126. package/dist/stories/assets/graphSettingsSelect.d.ts +2 -0
  1127. package/dist/stories/assets/graphSettingsSelect.d.ts.map +1 -0
  1128. package/dist/stories/assets/parseValue.d.ts +2 -0
  1129. package/dist/stories/assets/parseValue.d.ts.map +1 -0
  1130. package/dist/string-C0cfWwsg.cjs +2 -0
  1131. package/dist/string-C0cfWwsg.cjs.map +1 -0
  1132. package/dist/string-ChkwXRLb.js +367 -0
  1133. package/dist/string-ChkwXRLb.js.map +1 -0
  1134. package/dist/string2HTML-CvbtZnul.js +893 -0
  1135. package/dist/string2HTML-CvbtZnul.js.map +1 -0
  1136. package/dist/string2HTML-CyL1MYMB.cjs +3 -0
  1137. package/dist/string2HTML-CyL1MYMB.cjs.map +1 -0
  1138. package/dist/style.css +2 -1
  1139. package/dist/svgDownload-B47CWa3n.js +10 -0
  1140. package/dist/svgDownload-B47CWa3n.js.map +1 -0
  1141. package/dist/svgDownload-BfClOPfh.cjs +2 -0
  1142. package/dist/svgDownload-BfClOPfh.cjs.map +1 -0
  1143. package/dist/threshold-BXJz-mv7.cjs +2 -0
  1144. package/dist/threshold-BXJz-mv7.cjs.map +1 -0
  1145. package/dist/threshold-j3AJep9l.js +24 -0
  1146. package/dist/threshold-j3AJep9l.js.map +1 -0
  1147. package/dist/time-B9tsaA4g.cjs +2 -0
  1148. package/dist/time-B9tsaA4g.cjs.map +1 -0
  1149. package/dist/time-BSWvT9ln.js +840 -0
  1150. package/dist/time-BSWvT9ln.js.map +1 -0
  1151. package/dist/timer-BSVEY28v.js +119 -0
  1152. package/dist/timer-BSVEY28v.js.map +1 -0
  1153. package/dist/timer-D4OWClu3.cjs +2 -0
  1154. package/dist/timer-D4OWClu3.cjs.map +1 -0
  1155. package/dist/transformData.cjs +1 -2
  1156. package/dist/transformData.d.ts +2 -170
  1157. package/dist/transformData.js +4 -10
  1158. package/dist/transformDataForGraph-CiaG24wJ.cjs +2 -0
  1159. package/dist/transformDataForGraph-CiaG24wJ.cjs.map +1 -0
  1160. package/dist/transformDataForGraph-DKYRsjv8.js +766 -0
  1161. package/dist/transformDataForGraph-DKYRsjv8.js.map +1 -0
  1162. package/dist/transformDataForGraphFromFile-BZGRv4KM.js +14 -0
  1163. package/dist/transformDataForGraphFromFile-BZGRv4KM.js.map +1 -0
  1164. package/dist/transformDataForGraphFromFile-kjckJjiV.cjs +2 -0
  1165. package/dist/transformDataForGraphFromFile-kjckJjiV.cjs.map +1 -0
  1166. package/dist/transformDataForSelect-Bmaowc2Z.cjs +2 -0
  1167. package/dist/transformDataForSelect-Bmaowc2Z.cjs.map +1 -0
  1168. package/dist/transformDataForSelect-DRC8qPt4.js +14 -0
  1169. package/dist/transformDataForSelect-DRC8qPt4.js.map +1 -0
  1170. package/dist/uniqBy-DTdieuuc.cjs +2 -0
  1171. package/dist/uniqBy-DTdieuuc.cjs.map +1 -0
  1172. package/dist/uniqBy-feeqYuys.js +9 -0
  1173. package/dist/uniqBy-feeqYuys.js.map +1 -0
  1174. package/dist/use-in-view-C4EPQfwM.cjs +2 -0
  1175. package/dist/use-in-view-C4EPQfwM.cjs.map +1 -0
  1176. package/dist/use-in-view-CjlKdln1.js +47 -0
  1177. package/dist/use-in-view-CjlKdln1.js.map +1 -0
  1178. package/dist/utils.cjs +1 -2
  1179. package/dist/utils.d.ts +2 -216
  1180. package/dist/utils.js +12 -29
  1181. package/dist/y-B6sP7d7V.cjs +2 -0
  1182. package/dist/y-B6sP7d7V.cjs.map +1 -0
  1183. package/dist/y-C3UBwapx.js +450 -0
  1184. package/dist/y-C3UBwapx.js.map +1 -0
  1185. package/package.json +605 -620
  1186. package/dist/AreaChart.cjs.map +0 -1
  1187. package/dist/AreaChart.js.map +0 -1
  1188. package/dist/Axis-DY7jsk1Y.cjs +0 -2
  1189. package/dist/Axis-DY7jsk1Y.cjs.map +0 -1
  1190. package/dist/Axis-RRx-0Rlw.js +0 -32
  1191. package/dist/Axis-RRx-0Rlw.js.map +0 -1
  1192. package/dist/AxisTitle-B9F80_Z0.js +0 -30
  1193. package/dist/AxisTitle-B9F80_Z0.js.map +0 -1
  1194. package/dist/AxisTitle-CyFFbdNU.cjs +0 -2
  1195. package/dist/AxisTitle-CyFFbdNU.cjs.map +0 -1
  1196. package/dist/BarGraph.cjs.map +0 -1
  1197. package/dist/BarGraph.js.map +0 -1
  1198. package/dist/BeeSwarmChart.cjs.map +0 -1
  1199. package/dist/BeeSwarmChart.js.map +0 -1
  1200. package/dist/BiVariateChoroplethMap.cjs.map +0 -1
  1201. package/dist/BiVariateChoroplethMap.js.map +0 -1
  1202. package/dist/BulletChart.cjs.map +0 -1
  1203. package/dist/BulletChart.js.map +0 -1
  1204. package/dist/ButterflyChart.cjs.map +0 -1
  1205. package/dist/ButterflyChart.js.map +0 -1
  1206. package/dist/ChoroplethMap.cjs.map +0 -1
  1207. package/dist/ChoroplethMap.js.map +0 -1
  1208. package/dist/CirclePackingGraph.cjs.map +0 -1
  1209. package/dist/CirclePackingGraph.js.map +0 -1
  1210. package/dist/CsvDownloadButton.cjs.map +0 -1
  1211. package/dist/CsvDownloadButton.js.map +0 -1
  1212. package/dist/DataCards.cjs.map +0 -1
  1213. package/dist/DataCards.js.map +0 -1
  1214. package/dist/DetailsModal-BmjtLqrZ.cjs +0 -2
  1215. package/dist/DetailsModal-BmjtLqrZ.cjs.map +0 -1
  1216. package/dist/DetailsModal-k-Me_U_T.js +0 -32
  1217. package/dist/DetailsModal-k-Me_U_T.js.map +0 -1
  1218. package/dist/DifferenceLineChart.cjs.map +0 -1
  1219. package/dist/DifferenceLineChart.js.map +0 -1
  1220. package/dist/DonutChart.cjs.map +0 -1
  1221. package/dist/DonutChart.js.map +0 -1
  1222. package/dist/DotDensityMap.cjs.map +0 -1
  1223. package/dist/DotDensityMap.js.map +0 -1
  1224. package/dist/DualAxisLineChart.cjs.map +0 -1
  1225. package/dist/DualAxisLineChart.js.map +0 -1
  1226. package/dist/DumbbellChart.cjs.map +0 -1
  1227. package/dist/DumbbellChart.js.map +0 -1
  1228. package/dist/EmptyState-BoaUUuo6.cjs +0 -2
  1229. package/dist/EmptyState-BoaUUuo6.cjs.map +0 -1
  1230. package/dist/EmptyState-prZ8OnEs.js +0 -15
  1231. package/dist/EmptyState-prZ8OnEs.js.map +0 -1
  1232. package/dist/GeoHubCompareMaps.cjs.map +0 -1
  1233. package/dist/GeoHubCompareMaps.js.map +0 -1
  1234. package/dist/GeoHubMap.cjs.map +0 -1
  1235. package/dist/GeoHubMap.js.map +0 -1
  1236. package/dist/GeoHubMapWithLayerSelection.cjs.map +0 -1
  1237. package/dist/GeoHubMapWithLayerSelection.js.map +0 -1
  1238. package/dist/GraphContainer-DcOM2CI6.js +0 -79
  1239. package/dist/GraphContainer-DcOM2CI6.js.map +0 -1
  1240. package/dist/GraphContainer-gaG9TSy4.cjs +0 -2
  1241. package/dist/GraphContainer-gaG9TSy4.cjs.map +0 -1
  1242. package/dist/GraphEl-C7KBBHvB.js +0 -1830
  1243. package/dist/GraphEl-C7KBBHvB.js.map +0 -1
  1244. package/dist/GraphEl-CGALp07K.cjs +0 -2
  1245. package/dist/GraphEl-CGALp07K.cjs.map +0 -1
  1246. package/dist/HeatMap.cjs.map +0 -1
  1247. package/dist/HeatMap.js.map +0 -1
  1248. package/dist/Histogram.cjs.map +0 -1
  1249. package/dist/Histogram.js.map +0 -1
  1250. package/dist/HybridMap.cjs.map +0 -1
  1251. package/dist/HybridMap.js.map +0 -1
  1252. package/dist/LineChartWithConfidenceInterval.cjs.map +0 -1
  1253. package/dist/LineChartWithConfidenceInterval.js.map +0 -1
  1254. package/dist/MultiGraphDashboardWideToLongFormat.cjs.map +0 -1
  1255. package/dist/MultiGraphDashboardWideToLongFormat.js.map +0 -1
  1256. package/dist/MultiLineAltChart.cjs.map +0 -1
  1257. package/dist/MultiLineAltChart.js.map +0 -1
  1258. package/dist/MultiLineChart.cjs.map +0 -1
  1259. package/dist/MultiLineChart.js.map +0 -1
  1260. package/dist/ParetoChart.cjs.map +0 -1
  1261. package/dist/ParetoChart.js.map +0 -1
  1262. package/dist/RadarChart.cjs.map +0 -1
  1263. package/dist/RadarChart.js.map +0 -1
  1264. package/dist/ReferenceLine-CxITVT1K.cjs +0 -2
  1265. package/dist/ReferenceLine-CxITVT1K.cjs.map +0 -1
  1266. package/dist/ReferenceLine-NF4g3Reh.js +0 -163
  1267. package/dist/ReferenceLine-NF4g3Reh.js.map +0 -1
  1268. package/dist/RegressionLine-BQ6h-NZP.js +0 -88
  1269. package/dist/RegressionLine-BQ6h-NZP.js.map +0 -1
  1270. package/dist/RegressionLine-BpcVBjL0.cjs +0 -2
  1271. package/dist/RegressionLine-BpcVBjL0.cjs.map +0 -1
  1272. package/dist/SankeyChart.cjs.map +0 -1
  1273. package/dist/SankeyChart.js.map +0 -1
  1274. package/dist/ScatterPlot.cjs.map +0 -1
  1275. package/dist/ScatterPlot.js.map +0 -1
  1276. package/dist/SimpleLineChart.cjs.map +0 -1
  1277. package/dist/SimpleLineChart.js.map +0 -1
  1278. package/dist/SingleGraphDashboardGeoHubMaps.cjs.map +0 -1
  1279. package/dist/SingleGraphDashboardGeoHubMaps.js.map +0 -1
  1280. package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +0 -1
  1281. package/dist/SingleGraphDashboardThreeDGraphs.js.map +0 -1
  1282. package/dist/SlopeChart.cjs.map +0 -1
  1283. package/dist/SlopeChart.js.map +0 -1
  1284. package/dist/SparkLine.cjs.map +0 -1
  1285. package/dist/SparkLine.js.map +0 -1
  1286. package/dist/StripChart.cjs.map +0 -1
  1287. package/dist/StripChart.js.map +0 -1
  1288. package/dist/ThreeDGlobe.cjs.map +0 -1
  1289. package/dist/ThreeDGlobe.js.map +0 -1
  1290. package/dist/Tooltip-DO56mY4b.js +0 -46
  1291. package/dist/Tooltip-DO56mY4b.js.map +0 -1
  1292. package/dist/Tooltip-DwUFLDrj.cjs +0 -2
  1293. package/dist/Tooltip-DwUFLDrj.cjs.map +0 -1
  1294. package/dist/TreeMapGraph.cjs.map +0 -1
  1295. package/dist/TreeMapGraph.js.map +0 -1
  1296. package/dist/Types.cjs.map +0 -1
  1297. package/dist/Types.js.map +0 -1
  1298. package/dist/WaterfallChart.cjs.map +0 -1
  1299. package/dist/WaterfallChart.js.map +0 -1
  1300. package/dist/XAxesLabels-0ROJnigy.cjs +0 -2
  1301. package/dist/XAxesLabels-0ROJnigy.cjs.map +0 -1
  1302. package/dist/XAxesLabels-CPZX3OJN.js +0 -64
  1303. package/dist/XAxesLabels-CPZX3OJN.js.map +0 -1
  1304. package/dist/XTicksAndGridLines-BO6KJc8d.cjs +0 -2
  1305. package/dist/XTicksAndGridLines-BO6KJc8d.cjs.map +0 -1
  1306. package/dist/XTicksAndGridLines-obTK2e7G.js +0 -41
  1307. package/dist/XTicksAndGridLines-obTK2e7G.js.map +0 -1
  1308. package/dist/YAxesLabels-CwVnFG2a.js +0 -62
  1309. package/dist/YAxesLabels-CwVnFG2a.js.map +0 -1
  1310. package/dist/YAxesLabels-DIa2cEXL.cjs +0 -2
  1311. package/dist/YAxesLabels-DIa2cEXL.cjs.map +0 -1
  1312. package/dist/YTicksAndGridLines-C7glLI5b.cjs +0 -2
  1313. package/dist/YTicksAndGridLines-C7glLI5b.cjs.map +0 -1
  1314. package/dist/YTicksAndGridLines-wtuAKNeT.js +0 -41
  1315. package/dist/YTicksAndGridLines-wtuAKNeT.js.map +0 -1
  1316. package/dist/_commonjsHelpers-BH3jXuIh.cjs +0 -2
  1317. package/dist/_commonjsHelpers-BH3jXuIh.cjs.map +0 -1
  1318. package/dist/_commonjsHelpers-ByX85dGu.js +0 -34
  1319. package/dist/_commonjsHelpers-ByX85dGu.js.map +0 -1
  1320. package/dist/area-B6r7cv2o.js +0 -53
  1321. package/dist/area-B6r7cv2o.js.map +0 -1
  1322. package/dist/area-C1gxfNGD.cjs +0 -2
  1323. package/dist/area-C1gxfNGD.cjs.map +0 -1
  1324. package/dist/array-DMyR1sql.cjs +0 -2
  1325. package/dist/array-DMyR1sql.cjs.map +0 -1
  1326. package/dist/array-USo-Szhp.js +0 -13
  1327. package/dist/array-USo-Szhp.js.map +0 -1
  1328. package/dist/band-DYty33LD.js +0 -47
  1329. package/dist/band-DYty33LD.js.map +0 -1
  1330. package/dist/band-VYfcZeJ2.cjs +0 -2
  1331. package/dist/band-VYfcZeJ2.cjs.map +0 -1
  1332. package/dist/checkIfMultiple-BIEQDuA3.cjs +0 -2
  1333. package/dist/checkIfMultiple-BIEQDuA3.cjs.map +0 -1
  1334. package/dist/checkIfMultiple-D2tgEnYM.js +0 -11
  1335. package/dist/checkIfMultiple-D2tgEnYM.js.map +0 -1
  1336. package/dist/checkIfNullOrUndefined-BCW3Y1ML.cjs +0 -2
  1337. package/dist/checkIfNullOrUndefined-BCW3Y1ML.cjs.map +0 -1
  1338. package/dist/checkIfNullOrUndefined-DmfiKkNw.js +0 -7
  1339. package/dist/checkIfNullOrUndefined-DmfiKkNw.js.map +0 -1
  1340. package/dist/compiler-runtime-oPPev21o.cjs +0 -11
  1341. package/dist/compiler-runtime-oPPev21o.cjs.map +0 -1
  1342. package/dist/compiler-runtime-qHgugrLy.js +0 -297
  1343. package/dist/compiler-runtime-qHgugrLy.js.map +0 -1
  1344. package/dist/customArea-BCGIYDQa.cjs +0 -2
  1345. package/dist/customArea-BCGIYDQa.cjs.map +0 -1
  1346. package/dist/customArea-Dixg0NtQ.js +0 -164
  1347. package/dist/customArea-Dixg0NtQ.js.map +0 -1
  1348. package/dist/defaultLocale-C4wbwF1n.cjs +0 -2
  1349. package/dist/defaultLocale-C4wbwF1n.cjs.map +0 -1
  1350. package/dist/defaultLocale-CPy_WVtp.js +0 -172
  1351. package/dist/defaultLocale-CPy_WVtp.js.map +0 -1
  1352. package/dist/delaunay-C1uAf38t.js +0 -684
  1353. package/dist/delaunay-C1uAf38t.js.map +0 -1
  1354. package/dist/delaunay-rcy0HhZi.cjs +0 -2
  1355. package/dist/delaunay-rcy0HhZi.cjs.map +0 -1
  1356. package/dist/ensureCompleteData-CDIukSG6.js +0 -122
  1357. package/dist/ensureCompleteData-CDIukSG6.js.map +0 -1
  1358. package/dist/ensureCompleteData-D9bQTiVS.cjs +0 -2
  1359. package/dist/ensureCompleteData-D9bQTiVS.cjs.map +0 -1
  1360. package/dist/excelDownload-BEC1AyQW.js +0 -29
  1361. package/dist/excelDownload-BEC1AyQW.js.map +0 -1
  1362. package/dist/excelDownload-BQpsCa62.cjs +0 -2
  1363. package/dist/excelDownload-BQpsCa62.cjs.map +0 -1
  1364. package/dist/fetchAndParseData-CDjQZ1fL.js +0 -564
  1365. package/dist/fetchAndParseData-CDjQZ1fL.js.map +0 -1
  1366. package/dist/fetchAndParseData-QTF6tjij.cjs +0 -11
  1367. package/dist/fetchAndParseData-QTF6tjij.cjs.map +0 -1
  1368. package/dist/fetchAndParseData.cjs.map +0 -1
  1369. package/dist/fetchAndParseData.js.map +0 -1
  1370. package/dist/filterData-DsAiFzKY.js +0 -12
  1371. package/dist/filterData-DsAiFzKY.js.map +0 -1
  1372. package/dist/filterData-T5DQBE9b.cjs +0 -2
  1373. package/dist/filterData-T5DQBE9b.cjs.map +0 -1
  1374. package/dist/generateRandomString-B5zBiJzS.cjs +0 -2
  1375. package/dist/generateRandomString-B5zBiJzS.cjs.map +0 -1
  1376. package/dist/generateRandomString-za3IQGfQ.js +0 -11
  1377. package/dist/generateRandomString-za3IQGfQ.js.map +0 -1
  1378. package/dist/getCentroidCoordinates-CtBGrNC8.cjs +0 -2
  1379. package/dist/getCentroidCoordinates-CtBGrNC8.cjs.map +0 -1
  1380. package/dist/getCentroidCoordinates-s0OOUjLF.js +0 -70
  1381. package/dist/getCentroidCoordinates-s0OOUjLF.js.map +0 -1
  1382. package/dist/getGraphList-Bpd3PVmF.js +0 -239
  1383. package/dist/getGraphList-Bpd3PVmF.js.map +0 -1
  1384. package/dist/getGraphList-DQ24IzAn.cjs +0 -2
  1385. package/dist/getGraphList-DQ24IzAn.cjs.map +0 -1
  1386. package/dist/getJenks-BzJvhy_H.cjs +0 -2
  1387. package/dist/getJenks-BzJvhy_H.cjs.map +0 -1
  1388. package/dist/getJenks-DTCcQSDi.js +0 -19
  1389. package/dist/getJenks-DTCcQSDi.js.map +0 -1
  1390. package/dist/getNoOfTicks-C_1CFXv_.cjs +0 -2
  1391. package/dist/getNoOfTicks-C_1CFXv_.cjs.map +0 -1
  1392. package/dist/getNoOfTicks-CpmRjcRF.js +0 -7
  1393. package/dist/getNoOfTicks-CpmRjcRF.js.map +0 -1
  1394. package/dist/getSliderMarks-Bj_JJTtX.cjs +0 -2
  1395. package/dist/getSliderMarks-Bj_JJTtX.cjs.map +0 -1
  1396. package/dist/getSliderMarks-DSxFGb1f.js +0 -21
  1397. package/dist/getSliderMarks-DSxFGb1f.js.map +0 -1
  1398. package/dist/getTextColorBasedOnBgColor-CDY808zi.js +0 -36
  1399. package/dist/getTextColorBasedOnBgColor-CDY808zi.js.map +0 -1
  1400. package/dist/getTextColorBasedOnBgColor-nqY-bsM_.cjs +0 -2
  1401. package/dist/getTextColorBasedOnBgColor-nqY-bsM_.cjs.map +0 -1
  1402. package/dist/getUniqValue-DsqSii6M.js +0 -11
  1403. package/dist/getUniqValue-DsqSii6M.js.map +0 -1
  1404. package/dist/getUniqValue-NX8DgwND.cjs +0 -2
  1405. package/dist/getUniqValue-NX8DgwND.cjs.map +0 -1
  1406. package/dist/imageDownload-BYsNEtMS.js +0 -990
  1407. package/dist/imageDownload-BYsNEtMS.js.map +0 -1
  1408. package/dist/imageDownload-CkMwA7Cw.cjs +0 -15
  1409. package/dist/imageDownload-CkMwA7Cw.cjs.map +0 -1
  1410. package/dist/index-5BQWR1Z8.cjs +0 -10
  1411. package/dist/index-5BQWR1Z8.cjs.map +0 -1
  1412. package/dist/index-BS2TADPj.cjs +0 -2
  1413. package/dist/index-BS2TADPj.cjs.map +0 -1
  1414. package/dist/index-BZQYSqar.js +0 -658
  1415. package/dist/index-BZQYSqar.js.map +0 -1
  1416. package/dist/index-BaXzoD4r.cjs +0 -2
  1417. package/dist/index-BaXzoD4r.cjs.map +0 -1
  1418. package/dist/index-BuwmuDFJ.js +0 -273
  1419. package/dist/index-BuwmuDFJ.js.map +0 -1
  1420. package/dist/index-Bwrro8-q.js +0 -35
  1421. package/dist/index-Bwrro8-q.js.map +0 -1
  1422. package/dist/index-C5K--w8d.cjs +0 -2
  1423. package/dist/index-C5K--w8d.cjs.map +0 -1
  1424. package/dist/index-CKpKc9DR.js +0 -2344
  1425. package/dist/index-CKpKc9DR.js.map +0 -1
  1426. package/dist/index-CNUlPiEL.js +0 -148
  1427. package/dist/index-CNUlPiEL.js.map +0 -1
  1428. package/dist/index-CSNtgibC.cjs +0 -2
  1429. package/dist/index-CSNtgibC.cjs.map +0 -1
  1430. package/dist/index-CeVNqhMO.js +0 -26
  1431. package/dist/index-CeVNqhMO.js.map +0 -1
  1432. package/dist/index-CmkqqFRG.js +0 -99
  1433. package/dist/index-CmkqqFRG.js.map +0 -1
  1434. package/dist/index-Cno4Q0YE.cjs +0 -2
  1435. package/dist/index-Cno4Q0YE.cjs.map +0 -1
  1436. package/dist/index-CyZ1lmi_.cjs +0 -2
  1437. package/dist/index-CyZ1lmi_.cjs.map +0 -1
  1438. package/dist/index-DCsFBfJ_.js +0 -808
  1439. package/dist/index-DCsFBfJ_.js.map +0 -1
  1440. package/dist/index-DLFt97gy.cjs +0 -2
  1441. package/dist/index-DLFt97gy.cjs.map +0 -1
  1442. package/dist/index-DQA8q5sC.cjs +0 -2
  1443. package/dist/index-DQA8q5sC.cjs.map +0 -1
  1444. package/dist/index-D_ls5oK8.js +0 -142
  1445. package/dist/index-D_ls5oK8.js.map +0 -1
  1446. package/dist/index-DbSnila_.cjs +0 -2
  1447. package/dist/index-DbSnila_.cjs.map +0 -1
  1448. package/dist/index-EArKRVKg.js +0 -53
  1449. package/dist/index-EArKRVKg.js.map +0 -1
  1450. package/dist/index-_w-CQAbR.js +0 -376
  1451. package/dist/index-_w-CQAbR.js.map +0 -1
  1452. package/dist/index-dN3wiQgD.cjs +0 -2
  1453. package/dist/index-dN3wiQgD.cjs.map +0 -1
  1454. package/dist/index.cjs.map +0 -1
  1455. package/dist/index.js.map +0 -1
  1456. package/dist/init-BhZylTFx.js +0 -63
  1457. package/dist/init-BhZylTFx.js.map +0 -1
  1458. package/dist/init-DU0ybBc_.cjs +0 -2
  1459. package/dist/init-DU0ybBc_.cjs.map +0 -1
  1460. package/dist/line-DFlZsxI1.js +0 -144
  1461. package/dist/line-DFlZsxI1.js.map +0 -1
  1462. package/dist/line-DaEMhXmx.cjs +0 -2
  1463. package/dist/line-DaEMhXmx.cjs.map +0 -1
  1464. package/dist/linear-CgUCbw9F.cjs +0 -2
  1465. package/dist/linear-CgUCbw9F.cjs.map +0 -1
  1466. package/dist/linear-DNXM5Pdl.js +0 -221
  1467. package/dist/linear-DNXM5Pdl.js.map +0 -1
  1468. package/dist/numberFormattingFunction-BUUV_luR.js +0 -28
  1469. package/dist/numberFormattingFunction-BUUV_luR.js.map +0 -1
  1470. package/dist/numberFormattingFunction-u2iNHL_c.cjs +0 -2
  1471. package/dist/numberFormattingFunction-u2iNHL_c.cjs.map +0 -1
  1472. package/dist/ordinal-CHaxGJ_l.js +0 -62
  1473. package/dist/ordinal-CHaxGJ_l.js.map +0 -1
  1474. package/dist/ordinal-CrsysVE-.cjs +0 -2
  1475. package/dist/ordinal-CrsysVE-.cjs.map +0 -1
  1476. package/dist/parse-Dv4of-PN.js +0 -2703
  1477. package/dist/parse-Dv4of-PN.js.map +0 -1
  1478. package/dist/parse-xYI9yrvL.cjs +0 -2
  1479. package/dist/parse-xYI9yrvL.cjs.map +0 -1
  1480. package/dist/pointer-CWRWOsrb.js +0 -23
  1481. package/dist/pointer-CWRWOsrb.js.map +0 -1
  1482. package/dist/pointer-Dkq5NV1q.cjs +0 -2
  1483. package/dist/pointer-Dkq5NV1q.cjs.map +0 -1
  1484. package/dist/pow-BXYLJHCq.js +0 -35
  1485. package/dist/pow-BXYLJHCq.js.map +0 -1
  1486. package/dist/pow-BnyPO-NX.cjs +0 -2
  1487. package/dist/pow-BnyPO-NX.cjs.map +0 -1
  1488. package/dist/proxy-D31SA_aE.js +0 -4781
  1489. package/dist/proxy-D31SA_aE.js.map +0 -1
  1490. package/dist/proxy-QMeVVqam.cjs +0 -2
  1491. package/dist/proxy-QMeVVqam.cjs.map +0 -1
  1492. package/dist/removeOutliers-BqW0sPqj.js +0 -54
  1493. package/dist/removeOutliers-BqW0sPqj.js.map +0 -1
  1494. package/dist/removeOutliers-WELHHqiI.cjs +0 -2
  1495. package/dist/removeOutliers-WELHHqiI.cjs.map +0 -1
  1496. package/dist/select-Bnfk0lJx.cjs +0 -2
  1497. package/dist/select-Bnfk0lJx.cjs.map +0 -1
  1498. package/dist/select-DKy99ogv.js +0 -584
  1499. package/dist/select-DKy99ogv.js.map +0 -1
  1500. package/dist/simple-statistics-flVzqVtt.js +0 -65
  1501. package/dist/simple-statistics-flVzqVtt.js.map +0 -1
  1502. package/dist/simple-statistics-xm8c0LQQ.cjs +0 -2
  1503. package/dist/simple-statistics-xm8c0LQQ.cjs.map +0 -1
  1504. package/dist/step-BZ3C8QFW.cjs +0 -2
  1505. package/dist/step-BZ3C8QFW.cjs.map +0 -1
  1506. package/dist/step-BrDul-H4.js +0 -119
  1507. package/dist/step-BrDul-H4.js.map +0 -1
  1508. package/dist/string-C-kRh1bQ.cjs +0 -2
  1509. package/dist/string-C-kRh1bQ.cjs.map +0 -1
  1510. package/dist/string-CbaFIsiV.js +0 -364
  1511. package/dist/string-CbaFIsiV.js.map +0 -1
  1512. package/dist/string2HTML-30nfIm8R.cjs +0 -3
  1513. package/dist/string2HTML-30nfIm8R.cjs.map +0 -1
  1514. package/dist/string2HTML-DL-pInUB.js +0 -764
  1515. package/dist/string2HTML-DL-pInUB.js.map +0 -1
  1516. package/dist/svgDownload-BAoarWNt.js +0 -11
  1517. package/dist/svgDownload-BAoarWNt.js.map +0 -1
  1518. package/dist/svgDownload-D9zEGjTF.cjs +0 -2
  1519. package/dist/svgDownload-D9zEGjTF.cjs.map +0 -1
  1520. package/dist/threshold-DFfqcDMa.js +0 -23
  1521. package/dist/threshold-DFfqcDMa.js.map +0 -1
  1522. package/dist/threshold-DNsSUf8Q.cjs +0 -2
  1523. package/dist/threshold-DNsSUf8Q.cjs.map +0 -1
  1524. package/dist/time-CkcKbhwe.cjs +0 -2
  1525. package/dist/time-CkcKbhwe.cjs.map +0 -1
  1526. package/dist/time-vyz6Y89P.js +0 -715
  1527. package/dist/time-vyz6Y89P.js.map +0 -1
  1528. package/dist/timer-B39XOBYL.js +0 -124
  1529. package/dist/timer-B39XOBYL.js.map +0 -1
  1530. package/dist/timer-CKyBCVzT.cjs +0 -2
  1531. package/dist/timer-CKyBCVzT.cjs.map +0 -1
  1532. package/dist/transformData.cjs.map +0 -1
  1533. package/dist/transformData.js.map +0 -1
  1534. package/dist/transformDataForAggregation-BFdha9Dx.cjs +0 -2
  1535. package/dist/transformDataForAggregation-BFdha9Dx.cjs.map +0 -1
  1536. package/dist/transformDataForAggregation-wdPf8bNt.js +0 -635
  1537. package/dist/transformDataForAggregation-wdPf8bNt.js.map +0 -1
  1538. package/dist/transformDataForGraphFromFile-COZC6A0_.js +0 -14
  1539. package/dist/transformDataForGraphFromFile-COZC6A0_.js.map +0 -1
  1540. package/dist/transformDataForGraphFromFile-DOhp1qrp.cjs +0 -2
  1541. package/dist/transformDataForGraphFromFile-DOhp1qrp.cjs.map +0 -1
  1542. package/dist/transformDataForSelect-D8AuvYdf.js +0 -14
  1543. package/dist/transformDataForSelect-D8AuvYdf.js.map +0 -1
  1544. package/dist/transformDataForSelect-YmStusCI.cjs +0 -2
  1545. package/dist/transformDataForSelect-YmStusCI.cjs.map +0 -1
  1546. package/dist/uniqBy-BHy4I8PK.js +0 -8
  1547. package/dist/uniqBy-BHy4I8PK.js.map +0 -1
  1548. package/dist/uniqBy-O05lp2S5.cjs +0 -2
  1549. package/dist/uniqBy-O05lp2S5.cjs.map +0 -1
  1550. package/dist/use-in-view-Co5SmzfT.js +0 -40
  1551. package/dist/use-in-view-Co5SmzfT.js.map +0 -1
  1552. package/dist/use-in-view-DjR_gqJP.cjs +0 -2
  1553. package/dist/use-in-view-DjR_gqJP.cjs.map +0 -1
  1554. package/dist/utils.cjs.map +0 -1
  1555. package/dist/utils.js.map +0 -1
  1556. package/dist/y-BqfogMAB.js +0 -421
  1557. package/dist/y-BqfogMAB.js.map +0 -1
  1558. package/dist/y-QcCbqrzx.cjs +0 -2
  1559. package/dist/y-QcCbqrzx.cjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-CKpKc9DR.js","sources":["../node_modules/d3-array/src/fsum.js","../node_modules/d3-array/src/merge.js","../node_modules/d3-interpolate/src/transform/decompose.js","../node_modules/d3-interpolate/src/transform/parse.js","../node_modules/d3-interpolate/src/transform/index.js","../node_modules/d3-interpolate/src/zoom.js","../node_modules/d3-timer/src/timeout.js","../node_modules/@turf/bbox/dist/esm/index.js","../node_modules/d3-geo/src/math.js","../node_modules/d3-geo/src/noop.js","../node_modules/d3-geo/src/stream.js","../node_modules/d3-geo/src/cartesian.js","../node_modules/d3-geo/src/compose.js","../node_modules/d3-geo/src/rotation.js","../node_modules/d3-geo/src/circle.js","../node_modules/d3-geo/src/clip/buffer.js","../node_modules/d3-geo/src/pointEqual.js","../node_modules/d3-geo/src/clip/rejoin.js","../node_modules/d3-geo/src/polygonContains.js","../node_modules/d3-geo/src/clip/index.js","../node_modules/d3-geo/src/clip/antimeridian.js","../node_modules/d3-geo/src/clip/circle.js","../node_modules/d3-geo/src/clip/line.js","../node_modules/d3-geo/src/clip/rectangle.js","../node_modules/d3-geo/src/identity.js","../node_modules/d3-geo/src/path/area.js","../node_modules/d3-geo/src/path/bounds.js","../node_modules/d3-geo/src/path/centroid.js","../node_modules/d3-geo/src/path/context.js","../node_modules/d3-geo/src/path/measure.js","../node_modules/d3-geo/src/path/string.js","../node_modules/d3-geo/src/path/index.js","../node_modules/d3-geo/src/transform.js","../node_modules/d3-geo/src/projection/fit.js","../node_modules/d3-geo/src/projection/resample.js","../node_modules/d3-geo/src/projection/index.js","../node_modules/d3-geo/src/projection/conic.js","../node_modules/d3-geo/src/projection/cylindricalEqualArea.js","../node_modules/d3-geo/src/projection/conicEqualArea.js","../node_modules/d3-geo/src/projection/albers.js","../node_modules/d3-geo/src/projection/albersUsa.js","../node_modules/d3-geo/src/projection/azimuthal.js","../node_modules/d3-geo/src/projection/mercator.js","../node_modules/d3-geo/src/projection/equalEarth.js","../node_modules/d3-geo/src/projection/naturalEarth1.js","../node_modules/d3-geo/src/projection/orthographic.js","../node_modules/d3-drag/src/noevent.js","../node_modules/d3-drag/src/nodrag.js","../node_modules/d3-transition/src/transition/schedule.js","../node_modules/d3-transition/src/interrupt.js","../node_modules/d3-transition/src/selection/interrupt.js","../node_modules/d3-transition/src/transition/tween.js","../node_modules/d3-transition/src/transition/interpolate.js","../node_modules/d3-transition/src/transition/attr.js","../node_modules/d3-transition/src/transition/attrTween.js","../node_modules/d3-transition/src/transition/delay.js","../node_modules/d3-transition/src/transition/duration.js","../node_modules/d3-transition/src/transition/ease.js","../node_modules/d3-transition/src/transition/easeVarying.js","../node_modules/d3-transition/src/transition/filter.js","../node_modules/d3-transition/src/transition/merge.js","../node_modules/d3-transition/src/transition/on.js","../node_modules/d3-transition/src/transition/remove.js","../node_modules/d3-transition/src/transition/select.js","../node_modules/d3-transition/src/transition/selectAll.js","../node_modules/d3-transition/src/transition/selection.js","../node_modules/d3-transition/src/transition/style.js","../node_modules/d3-transition/src/transition/styleTween.js","../node_modules/d3-transition/src/transition/text.js","../node_modules/d3-transition/src/transition/textTween.js","../node_modules/d3-transition/src/transition/transition.js","../node_modules/d3-transition/src/transition/end.js","../node_modules/d3-transition/src/transition/index.js","../node_modules/d3-ease/src/cubic.js","../node_modules/d3-transition/src/selection/transition.js","../node_modules/d3-transition/src/selection/index.js","../node_modules/d3-zoom/src/constant.js","../node_modules/d3-zoom/src/event.js","../node_modules/d3-zoom/src/transform.js","../node_modules/d3-zoom/src/noevent.js","../node_modules/d3-zoom/src/zoom.js","../node_modules/@turf/clone/dist/esm/index.js","../node_modules/@turf/boolean-clockwise/node_modules/@turf/invariant/dist/esm/index.js","../node_modules/@turf/boolean-clockwise/dist/esm/index.js","../node_modules/@turf/rewind/node_modules/@turf/helpers/dist/esm/index.js","../node_modules/@turf/rewind/node_modules/@turf/meta/dist/esm/index.js","../node_modules/@turf/rewind/node_modules/@turf/invariant/dist/esm/index.js","../node_modules/@turf/rewind/dist/esm/index.js"],"sourcesContent":["// https://github.com/python/cpython/blob/a74eea238f5baba15797e2e8b570d153bc8690a7/Modules/mathmodule.c#L1423\nexport class Adder {\n constructor() {\n this._partials = new Float64Array(32);\n this._n = 0;\n }\n add(x) {\n const p = this._partials;\n let i = 0;\n for (let j = 0; j < this._n && j < 32; j++) {\n const y = p[j],\n hi = x + y,\n lo = Math.abs(x) < Math.abs(y) ? x - (hi - y) : y - (hi - x);\n if (lo) p[i++] = lo;\n x = hi;\n }\n p[i] = x;\n this._n = i + 1;\n return this;\n }\n valueOf() {\n const p = this._partials;\n let n = this._n, x, y, lo, hi = 0;\n if (n > 0) {\n hi = p[--n];\n while (n > 0) {\n x = hi;\n y = p[--n];\n hi = x + y;\n lo = y - (hi - x);\n if (lo) break;\n }\n if (n > 0 && ((lo < 0 && p[n - 1] < 0) || (lo > 0 && p[n - 1] > 0))) {\n y = lo * 2;\n x = hi + y;\n if (y == x - hi) hi = x;\n }\n }\n return hi;\n }\n}\n\nexport function fsum(values, valueof) {\n const adder = new Adder();\n if (valueof === undefined) {\n for (let value of values) {\n if (value = +value) {\n adder.add(value);\n }\n }\n } else {\n let index = -1;\n for (let value of values) {\n if (value = +valueof(value, ++index, values)) {\n adder.add(value);\n }\n }\n }\n return +adder;\n}\n\nexport function fcumsum(values, valueof) {\n const adder = new Adder();\n let index = -1;\n return Float64Array.from(values, valueof === undefined\n ? v => adder.add(+v || 0)\n : v => adder.add(+valueof(v, ++index, values) || 0)\n );\n}\n","function* flatten(arrays) {\n for (const array of arrays) {\n yield* array;\n }\n}\n\nexport default function merge(arrays) {\n return Array.from(flatten(arrays));\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","var epsilon2 = 1e-12;\n\nfunction cosh(x) {\n return ((x = Math.exp(x)) + 1 / x) / 2;\n}\n\nfunction sinh(x) {\n return ((x = Math.exp(x)) - 1 / x) / 2;\n}\n\nfunction tanh(x) {\n return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n}\n\nexport default (function zoomRho(rho, rho2, rho4) {\n\n // p0 = [ux0, uy0, w0]\n // p1 = [ux1, uy1, w1]\n function zoom(p0, p1) {\n var ux0 = p0[0], uy0 = p0[1], w0 = p0[2],\n ux1 = p1[0], uy1 = p1[1], w1 = p1[2],\n dx = ux1 - ux0,\n dy = uy1 - uy0,\n d2 = dx * dx + dy * dy,\n i,\n S;\n\n // Special case for u0 ≅ u1.\n if (d2 < epsilon2) {\n S = Math.log(w1 / w0) / rho;\n i = function(t) {\n return [\n ux0 + t * dx,\n uy0 + t * dy,\n w0 * Math.exp(rho * t * S)\n ];\n }\n }\n\n // General case.\n else {\n var d1 = Math.sqrt(d2),\n b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1),\n b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1),\n r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),\n r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n S = (r1 - r0) / rho;\n i = function(t) {\n var s = t * S,\n coshr0 = cosh(r0),\n u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));\n return [\n ux0 + u * dx,\n uy0 + u * dy,\n w0 * coshr0 / cosh(rho * s + r0)\n ];\n }\n }\n\n i.duration = S * 1000 * rho / Math.SQRT2;\n\n return i;\n }\n\n zoom.rho = function(_) {\n var _1 = Math.max(1e-3, +_), _2 = _1 * _1, _4 = _2 * _2;\n return zoomRho(_1, _2, _4);\n };\n\n return zoom;\n})(Math.SQRT2, 2, 4);\n","import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(elapsed => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","// index.ts\nimport { coordEach } from \"@turf/meta\";\nfunction bbox(geojson, options = {}) {\n if (geojson.bbox != null && true !== options.recompute) {\n return geojson.bbox;\n }\n const result = [Infinity, Infinity, -Infinity, -Infinity];\n coordEach(geojson, (coord) => {\n if (result[0] > coord[0]) {\n result[0] = coord[0];\n }\n if (result[1] > coord[1]) {\n result[1] = coord[1];\n }\n if (result[2] < coord[0]) {\n result[2] = coord[0];\n }\n if (result[3] < coord[1]) {\n result[3] = coord[1];\n }\n });\n return result;\n}\nvar index_default = bbox;\nexport {\n bbox,\n index_default as default\n};\n//# sourceMappingURL=index.js.map","export var epsilon = 1e-6;\nexport var epsilon2 = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var quarterPi = pi / 4;\nexport var tau = pi * 2;\n\nexport var degrees = 180 / pi;\nexport var radians = pi / 180;\n\nexport var abs = Math.abs;\nexport var atan = Math.atan;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var ceil = Math.ceil;\nexport var exp = Math.exp;\nexport var floor = Math.floor;\nexport var hypot = Math.hypot;\nexport var log = Math.log;\nexport var pow = Math.pow;\nexport var sin = Math.sin;\nexport var sign = Math.sign || function(x) { return x > 0 ? 1 : x < 0 ? -1 : 0; };\nexport var sqrt = Math.sqrt;\nexport var tan = Math.tan;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x > 1 ? halfPi : x < -1 ? -halfPi : Math.asin(x);\n}\n\nexport function haversin(x) {\n return (x = sin(x / 2)) * x;\n}\n","export default function noop() {}\n","function streamGeometry(geometry, stream) {\n if (geometry && streamGeometryType.hasOwnProperty(geometry.type)) {\n streamGeometryType[geometry.type](geometry, stream);\n }\n}\n\nvar streamObjectType = {\n Feature: function(object, stream) {\n streamGeometry(object.geometry, stream);\n },\n FeatureCollection: function(object, stream) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) streamGeometry(features[i].geometry, stream);\n }\n};\n\nvar streamGeometryType = {\n Sphere: function(object, stream) {\n stream.sphere();\n },\n Point: function(object, stream) {\n object = object.coordinates;\n stream.point(object[0], object[1], object[2]);\n },\n MultiPoint: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) object = coordinates[i], stream.point(object[0], object[1], object[2]);\n },\n LineString: function(object, stream) {\n streamLine(object.coordinates, stream, 0);\n },\n MultiLineString: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamLine(coordinates[i], stream, 0);\n },\n Polygon: function(object, stream) {\n streamPolygon(object.coordinates, stream);\n },\n MultiPolygon: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamPolygon(coordinates[i], stream);\n },\n GeometryCollection: function(object, stream) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) streamGeometry(geometries[i], stream);\n }\n};\n\nfunction streamLine(coordinates, stream, closed) {\n var i = -1, n = coordinates.length - closed, coordinate;\n stream.lineStart();\n while (++i < n) coordinate = coordinates[i], stream.point(coordinate[0], coordinate[1], coordinate[2]);\n stream.lineEnd();\n}\n\nfunction streamPolygon(coordinates, stream) {\n var i = -1, n = coordinates.length;\n stream.polygonStart();\n while (++i < n) streamLine(coordinates[i], stream, 1);\n stream.polygonEnd();\n}\n\nexport default function(object, stream) {\n if (object && streamObjectType.hasOwnProperty(object.type)) {\n streamObjectType[object.type](object, stream);\n } else {\n streamGeometry(object, stream);\n }\n}\n","import {asin, atan2, cos, sin, sqrt} from \"./math.js\";\n\nexport function spherical(cartesian) {\n return [atan2(cartesian[1], cartesian[0]), asin(cartesian[2])];\n}\n\nexport function cartesian(spherical) {\n var lambda = spherical[0], phi = spherical[1], cosPhi = cos(phi);\n return [cosPhi * cos(lambda), cosPhi * sin(lambda), sin(phi)];\n}\n\nexport function cartesianDot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n}\n\nexport function cartesianCross(a, b) {\n return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];\n}\n\n// TODO return a\nexport function cartesianAddInPlace(a, b) {\n a[0] += b[0], a[1] += b[1], a[2] += b[2];\n}\n\nexport function cartesianScale(vector, k) {\n return [vector[0] * k, vector[1] * k, vector[2] * k];\n}\n\n// TODO return d\nexport function cartesianNormalizeInPlace(d) {\n var l = sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);\n d[0] /= l, d[1] /= l, d[2] /= l;\n}\n","export default function(a, b) {\n\n function compose(x, y) {\n return x = a(x, y), b(x[0], x[1]);\n }\n\n if (a.invert && b.invert) compose.invert = function(x, y) {\n return x = b.invert(x, y), x && a.invert(x[0], x[1]);\n };\n\n return compose;\n}\n","import compose from \"./compose.js\";\nimport {abs, asin, atan2, cos, degrees, pi, radians, sin, tau} from \"./math.js\";\n\nfunction rotationIdentity(lambda, phi) {\n if (abs(lambda) > pi) lambda -= Math.round(lambda / tau) * tau;\n return [lambda, phi];\n}\n\nrotationIdentity.invert = rotationIdentity;\n\nexport function rotateRadians(deltaLambda, deltaPhi, deltaGamma) {\n return (deltaLambda %= tau) ? (deltaPhi || deltaGamma ? compose(rotationLambda(deltaLambda), rotationPhiGamma(deltaPhi, deltaGamma))\n : rotationLambda(deltaLambda))\n : (deltaPhi || deltaGamma ? rotationPhiGamma(deltaPhi, deltaGamma)\n : rotationIdentity);\n}\n\nfunction forwardRotationLambda(deltaLambda) {\n return function(lambda, phi) {\n lambda += deltaLambda;\n if (abs(lambda) > pi) lambda -= Math.round(lambda / tau) * tau;\n return [lambda, phi];\n };\n}\n\nfunction rotationLambda(deltaLambda) {\n var rotation = forwardRotationLambda(deltaLambda);\n rotation.invert = forwardRotationLambda(-deltaLambda);\n return rotation;\n}\n\nfunction rotationPhiGamma(deltaPhi, deltaGamma) {\n var cosDeltaPhi = cos(deltaPhi),\n sinDeltaPhi = sin(deltaPhi),\n cosDeltaGamma = cos(deltaGamma),\n sinDeltaGamma = sin(deltaGamma);\n\n function rotation(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaPhi + x * sinDeltaPhi;\n return [\n atan2(y * cosDeltaGamma - k * sinDeltaGamma, x * cosDeltaPhi - z * sinDeltaPhi),\n asin(k * cosDeltaGamma + y * sinDeltaGamma)\n ];\n }\n\n rotation.invert = function(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaGamma - y * sinDeltaGamma;\n return [\n atan2(y * cosDeltaGamma + z * sinDeltaGamma, x * cosDeltaPhi + k * sinDeltaPhi),\n asin(k * cosDeltaPhi - x * sinDeltaPhi)\n ];\n };\n\n return rotation;\n}\n\nexport default function(rotate) {\n rotate = rotateRadians(rotate[0] * radians, rotate[1] * radians, rotate.length > 2 ? rotate[2] * radians : 0);\n\n function forward(coordinates) {\n coordinates = rotate(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n }\n\n forward.invert = function(coordinates) {\n coordinates = rotate.invert(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n };\n\n return forward;\n}\n","import {cartesian, cartesianNormalizeInPlace, spherical} from \"./cartesian.js\";\nimport constant from \"./constant.js\";\nimport {acos, cos, degrees, epsilon, radians, sin, tau} from \"./math.js\";\nimport {rotateRadians} from \"./rotation.js\";\n\n// Generates a circle centered at [0°, 0°], with a given radius and precision.\nexport function circleStream(stream, radius, delta, direction, t0, t1) {\n if (!delta) return;\n var cosRadius = cos(radius),\n sinRadius = sin(radius),\n step = direction * delta;\n if (t0 == null) {\n t0 = radius + direction * tau;\n t1 = radius - step / 2;\n } else {\n t0 = circleRadius(cosRadius, t0);\n t1 = circleRadius(cosRadius, t1);\n if (direction > 0 ? t0 < t1 : t0 > t1) t0 += direction * tau;\n }\n for (var point, t = t0; direction > 0 ? t > t1 : t < t1; t -= step) {\n point = spherical([cosRadius, -sinRadius * cos(t), -sinRadius * sin(t)]);\n stream.point(point[0], point[1]);\n }\n}\n\n// Returns the signed angle of a cartesian point relative to [cosRadius, 0, 0].\nfunction circleRadius(cosRadius, point) {\n point = cartesian(point), point[0] -= cosRadius;\n cartesianNormalizeInPlace(point);\n var radius = acos(-point[1]);\n return ((-point[2] < 0 ? -radius : radius) + tau - epsilon) % tau;\n}\n\nexport default function() {\n var center = constant([0, 0]),\n radius = constant(90),\n precision = constant(2),\n ring,\n rotate,\n stream = {point: point};\n\n function point(x, y) {\n ring.push(x = rotate(x, y));\n x[0] *= degrees, x[1] *= degrees;\n }\n\n function circle() {\n var c = center.apply(this, arguments),\n r = radius.apply(this, arguments) * radians,\n p = precision.apply(this, arguments) * radians;\n ring = [];\n rotate = rotateRadians(-c[0] * radians, -c[1] * radians, 0).invert;\n circleStream(stream, r, p, 1);\n c = {type: \"Polygon\", coordinates: [ring]};\n ring = rotate = null;\n return c;\n }\n\n circle.center = function(_) {\n return arguments.length ? (center = typeof _ === \"function\" ? _ : constant([+_[0], +_[1]]), circle) : center;\n };\n\n circle.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), circle) : radius;\n };\n\n circle.precision = function(_) {\n return arguments.length ? (precision = typeof _ === \"function\" ? _ : constant(+_), circle) : precision;\n };\n\n return circle;\n}\n","import noop from \"../noop.js\";\n\nexport default function() {\n var lines = [],\n line;\n return {\n point: function(x, y, m) {\n line.push([x, y, m]);\n },\n lineStart: function() {\n lines.push(line = []);\n },\n lineEnd: noop,\n rejoin: function() {\n if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));\n },\n result: function() {\n var result = lines;\n lines = [];\n line = null;\n return result;\n }\n };\n}\n","import {abs, epsilon} from \"./math.js\";\n\nexport default function(a, b) {\n return abs(a[0] - b[0]) < epsilon && abs(a[1] - b[1]) < epsilon;\n}\n","import pointEqual from \"../pointEqual.js\";\nimport {epsilon} from \"../math.js\";\n\nfunction Intersection(point, points, other, entry) {\n this.x = point;\n this.z = points;\n this.o = other; // another intersection\n this.e = entry; // is an entry?\n this.v = false; // visited\n this.n = this.p = null; // next & previous\n}\n\n// A generalized polygon clipping algorithm: given a polygon that has been cut\n// into its visible line segments, and rejoins the segments by interpolating\n// along the clip edge.\nexport default function(segments, compareIntersection, startInside, interpolate, stream) {\n var subject = [],\n clip = [],\n i,\n n;\n\n segments.forEach(function(segment) {\n if ((n = segment.length - 1) <= 0) return;\n var n, p0 = segment[0], p1 = segment[n], x;\n\n if (pointEqual(p0, p1)) {\n if (!p0[2] && !p1[2]) {\n stream.lineStart();\n for (i = 0; i < n; ++i) stream.point((p0 = segment[i])[0], p0[1]);\n stream.lineEnd();\n return;\n }\n // handle degenerate cases by moving the point\n p1[0] += 2 * epsilon;\n }\n\n subject.push(x = new Intersection(p0, segment, null, true));\n clip.push(x.o = new Intersection(p0, null, x, false));\n subject.push(x = new Intersection(p1, segment, null, false));\n clip.push(x.o = new Intersection(p1, null, x, true));\n });\n\n if (!subject.length) return;\n\n clip.sort(compareIntersection);\n link(subject);\n link(clip);\n\n for (i = 0, n = clip.length; i < n; ++i) {\n clip[i].e = startInside = !startInside;\n }\n\n var start = subject[0],\n points,\n point;\n\n while (1) {\n // Find first unvisited intersection.\n var current = start,\n isSubject = true;\n while (current.v) if ((current = current.n) === start) return;\n points = current.z;\n stream.lineStart();\n do {\n current.v = current.o.v = true;\n if (current.e) {\n if (isSubject) {\n for (i = 0, n = points.length; i < n; ++i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.n.x, 1, stream);\n }\n current = current.n;\n } else {\n if (isSubject) {\n points = current.p.z;\n for (i = points.length - 1; i >= 0; --i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.p.x, -1, stream);\n }\n current = current.p;\n }\n current = current.o;\n points = current.z;\n isSubject = !isSubject;\n } while (!current.v);\n stream.lineEnd();\n }\n}\n\nfunction link(array) {\n if (!(n = array.length)) return;\n var n,\n i = 0,\n a = array[0],\n b;\n while (++i < n) {\n a.n = b = array[i];\n b.p = a;\n a = b;\n }\n a.n = b = array[0];\n b.p = a;\n}\n","import {Adder} from \"d3-array\";\nimport {cartesian, cartesianCross, cartesianNormalizeInPlace} from \"./cartesian.js\";\nimport {abs, asin, atan2, cos, epsilon, epsilon2, halfPi, pi, quarterPi, sign, sin, tau} from \"./math.js\";\n\nfunction longitude(point) {\n return abs(point[0]) <= pi ? point[0] : sign(point[0]) * ((abs(point[0]) + pi) % tau - pi);\n}\n\nexport default function(polygon, point) {\n var lambda = longitude(point),\n phi = point[1],\n sinPhi = sin(phi),\n normal = [sin(lambda), -cos(lambda), 0],\n angle = 0,\n winding = 0;\n\n var sum = new Adder();\n\n if (sinPhi === 1) phi = halfPi + epsilon;\n else if (sinPhi === -1) phi = -halfPi - epsilon;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n if (!(m = (ring = polygon[i]).length)) continue;\n var ring,\n m,\n point0 = ring[m - 1],\n lambda0 = longitude(point0),\n phi0 = point0[1] / 2 + quarterPi,\n sinPhi0 = sin(phi0),\n cosPhi0 = cos(phi0);\n\n for (var j = 0; j < m; ++j, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1) {\n var point1 = ring[j],\n lambda1 = longitude(point1),\n phi1 = point1[1] / 2 + quarterPi,\n sinPhi1 = sin(phi1),\n cosPhi1 = cos(phi1),\n delta = lambda1 - lambda0,\n sign = delta >= 0 ? 1 : -1,\n absDelta = sign * delta,\n antimeridian = absDelta > pi,\n k = sinPhi0 * sinPhi1;\n\n sum.add(atan2(k * sign * sin(absDelta), cosPhi0 * cosPhi1 + k * cos(absDelta)));\n angle += antimeridian ? delta + sign * tau : delta;\n\n // Are the longitudes either side of the point’s meridian (lambda),\n // and are the latitudes smaller than the parallel (phi)?\n if (antimeridian ^ lambda0 >= lambda ^ lambda1 >= lambda) {\n var arc = cartesianCross(cartesian(point0), cartesian(point1));\n cartesianNormalizeInPlace(arc);\n var intersection = cartesianCross(normal, arc);\n cartesianNormalizeInPlace(intersection);\n var phiArc = (antimeridian ^ delta >= 0 ? -1 : 1) * asin(intersection[2]);\n if (phi > phiArc || phi === phiArc && (arc[0] || arc[1])) {\n winding += antimeridian ^ delta >= 0 ? 1 : -1;\n }\n }\n }\n }\n\n // First, determine whether the South pole is inside or outside:\n //\n // It is inside if:\n // * the polygon winds around it in a clockwise direction.\n // * the polygon does not (cumulatively) wind around it, but has a negative\n // (counter-clockwise) area.\n //\n // Second, count the (signed) number of times a segment crosses a lambda\n // from the point to the South pole. If it is zero, then the point is the\n // same side as the South pole.\n\n return (angle < -epsilon || angle < epsilon && sum < -epsilon2) ^ (winding & 1);\n}\n","import clipBuffer from \"./buffer.js\";\nimport clipRejoin from \"./rejoin.js\";\nimport {epsilon, halfPi} from \"../math.js\";\nimport polygonContains from \"../polygonContains.js\";\nimport {merge} from \"d3-array\";\n\nexport default function(pointVisible, clipLine, interpolate, start) {\n return function(sink) {\n var line = clipLine(sink),\n ringBuffer = clipBuffer(),\n ringSink = clipLine(ringBuffer),\n polygonStarted = false,\n polygon,\n segments,\n ring;\n\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n clip.point = pointRing;\n clip.lineStart = ringStart;\n clip.lineEnd = ringEnd;\n segments = [];\n polygon = [];\n },\n polygonEnd: function() {\n clip.point = point;\n clip.lineStart = lineStart;\n clip.lineEnd = lineEnd;\n segments = merge(segments);\n var startInside = polygonContains(polygon, start);\n if (segments.length) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n clipRejoin(segments, compareIntersection, startInside, interpolate, sink);\n } else if (startInside) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n }\n if (polygonStarted) sink.polygonEnd(), polygonStarted = false;\n segments = polygon = null;\n },\n sphere: function() {\n sink.polygonStart();\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n sink.polygonEnd();\n }\n };\n\n function point(lambda, phi) {\n if (pointVisible(lambda, phi)) sink.point(lambda, phi);\n }\n\n function pointLine(lambda, phi) {\n line.point(lambda, phi);\n }\n\n function lineStart() {\n clip.point = pointLine;\n line.lineStart();\n }\n\n function lineEnd() {\n clip.point = point;\n line.lineEnd();\n }\n\n function pointRing(lambda, phi) {\n ring.push([lambda, phi]);\n ringSink.point(lambda, phi);\n }\n\n function ringStart() {\n ringSink.lineStart();\n ring = [];\n }\n\n function ringEnd() {\n pointRing(ring[0][0], ring[0][1]);\n ringSink.lineEnd();\n\n var clean = ringSink.clean(),\n ringSegments = ringBuffer.result(),\n i, n = ringSegments.length, m,\n segment,\n point;\n\n ring.pop();\n polygon.push(ring);\n ring = null;\n\n if (!n) return;\n\n // No intersections.\n if (clean & 1) {\n segment = ringSegments[0];\n if ((m = segment.length - 1) > 0) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n for (i = 0; i < m; ++i) sink.point((point = segment[i])[0], point[1]);\n sink.lineEnd();\n }\n return;\n }\n\n // Rejoin connected segments.\n // TODO reuse ringBuffer.rejoin()?\n if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));\n\n segments.push(ringSegments.filter(validSegment));\n }\n\n return clip;\n };\n}\n\nfunction validSegment(segment) {\n return segment.length > 1;\n}\n\n// Intersections are sorted along the clip edge. For both antimeridian cutting\n// and circle clipping, the same comparison is used.\nfunction compareIntersection(a, b) {\n return ((a = a.x)[0] < 0 ? a[1] - halfPi - epsilon : halfPi - a[1])\n - ((b = b.x)[0] < 0 ? b[1] - halfPi - epsilon : halfPi - b[1]);\n}\n","import clip from \"./index.js\";\nimport {abs, atan, cos, epsilon, halfPi, pi, sin} from \"../math.js\";\n\nexport default clip(\n function() { return true; },\n clipAntimeridianLine,\n clipAntimeridianInterpolate,\n [-pi, -halfPi]\n);\n\n// Takes a line and cuts into visible segments. Return values: 0 - there were\n// intersections or the line was empty; 1 - no intersections; 2 - there were\n// intersections, and the first and last segments should be rejoined.\nfunction clipAntimeridianLine(stream) {\n var lambda0 = NaN,\n phi0 = NaN,\n sign0 = NaN,\n clean; // no intersections\n\n return {\n lineStart: function() {\n stream.lineStart();\n clean = 1;\n },\n point: function(lambda1, phi1) {\n var sign1 = lambda1 > 0 ? pi : -pi,\n delta = abs(lambda1 - lambda0);\n if (abs(delta - pi) < epsilon) { // line crosses a pole\n stream.point(lambda0, phi0 = (phi0 + phi1) / 2 > 0 ? halfPi : -halfPi);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n stream.point(lambda1, phi0);\n clean = 0;\n } else if (sign0 !== sign1 && delta >= pi) { // line crosses antimeridian\n if (abs(lambda0 - sign0) < epsilon) lambda0 -= sign0 * epsilon; // handle degeneracies\n if (abs(lambda1 - sign1) < epsilon) lambda1 -= sign1 * epsilon;\n phi0 = clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n clean = 0;\n }\n stream.point(lambda0 = lambda1, phi0 = phi1);\n sign0 = sign1;\n },\n lineEnd: function() {\n stream.lineEnd();\n lambda0 = phi0 = NaN;\n },\n clean: function() {\n return 2 - clean; // if intersections, rejoin first and last segments\n }\n };\n}\n\nfunction clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1) {\n var cosPhi0,\n cosPhi1,\n sinLambda0Lambda1 = sin(lambda0 - lambda1);\n return abs(sinLambda0Lambda1) > epsilon\n ? atan((sin(phi0) * (cosPhi1 = cos(phi1)) * sin(lambda1)\n - sin(phi1) * (cosPhi0 = cos(phi0)) * sin(lambda0))\n / (cosPhi0 * cosPhi1 * sinLambda0Lambda1))\n : (phi0 + phi1) / 2;\n}\n\nfunction clipAntimeridianInterpolate(from, to, direction, stream) {\n var phi;\n if (from == null) {\n phi = direction * halfPi;\n stream.point(-pi, phi);\n stream.point(0, phi);\n stream.point(pi, phi);\n stream.point(pi, 0);\n stream.point(pi, -phi);\n stream.point(0, -phi);\n stream.point(-pi, -phi);\n stream.point(-pi, 0);\n stream.point(-pi, phi);\n } else if (abs(from[0] - to[0]) > epsilon) {\n var lambda = from[0] < to[0] ? pi : -pi;\n phi = direction * lambda / 2;\n stream.point(-lambda, phi);\n stream.point(0, phi);\n stream.point(lambda, phi);\n } else {\n stream.point(to[0], to[1]);\n }\n}\n","import {cartesian, cartesianAddInPlace, cartesianCross, cartesianDot, cartesianScale, spherical} from \"../cartesian.js\";\nimport {circleStream} from \"../circle.js\";\nimport {abs, cos, epsilon, pi, radians, sqrt} from \"../math.js\";\nimport pointEqual from \"../pointEqual.js\";\nimport clip from \"./index.js\";\n\nexport default function(radius) {\n var cr = cos(radius),\n delta = 2 * radians,\n smallRadius = cr > 0,\n notHemisphere = abs(cr) > epsilon; // TODO optimise for this common case\n\n function interpolate(from, to, direction, stream) {\n circleStream(stream, radius, delta, direction, from, to);\n }\n\n function visible(lambda, phi) {\n return cos(lambda) * cos(phi) > cr;\n }\n\n // Takes a line and cuts into visible segments. Return values used for polygon\n // clipping: 0 - there were intersections or the line was empty; 1 - no\n // intersections 2 - there were intersections, and the first and last segments\n // should be rejoined.\n function clipLine(stream) {\n var point0, // previous point\n c0, // code for previous point\n v0, // visibility of previous point\n v00, // visibility of first point\n clean; // no intersections\n return {\n lineStart: function() {\n v00 = v0 = false;\n clean = 1;\n },\n point: function(lambda, phi) {\n var point1 = [lambda, phi],\n point2,\n v = visible(lambda, phi),\n c = smallRadius\n ? v ? 0 : code(lambda, phi)\n : v ? code(lambda + (lambda < 0 ? pi : -pi), phi) : 0;\n if (!point0 && (v00 = v0 = v)) stream.lineStart();\n if (v !== v0) {\n point2 = intersect(point0, point1);\n if (!point2 || pointEqual(point0, point2) || pointEqual(point1, point2))\n point1[2] = 1;\n }\n if (v !== v0) {\n clean = 0;\n if (v) {\n // outside going in\n stream.lineStart();\n point2 = intersect(point1, point0);\n stream.point(point2[0], point2[1]);\n } else {\n // inside going out\n point2 = intersect(point0, point1);\n stream.point(point2[0], point2[1], 2);\n stream.lineEnd();\n }\n point0 = point2;\n } else if (notHemisphere && point0 && smallRadius ^ v) {\n var t;\n // If the codes for two points are different, or are both zero,\n // and there this segment intersects with the small circle.\n if (!(c & c0) && (t = intersect(point1, point0, true))) {\n clean = 0;\n if (smallRadius) {\n stream.lineStart();\n stream.point(t[0][0], t[0][1]);\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n } else {\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n stream.lineStart();\n stream.point(t[0][0], t[0][1], 3);\n }\n }\n }\n if (v && (!point0 || !pointEqual(point0, point1))) {\n stream.point(point1[0], point1[1]);\n }\n point0 = point1, v0 = v, c0 = c;\n },\n lineEnd: function() {\n if (v0) stream.lineEnd();\n point0 = null;\n },\n // Rejoin first and last segments if there were intersections and the first\n // and last points were visible.\n clean: function() {\n return clean | ((v00 && v0) << 1);\n }\n };\n }\n\n // Intersects the great circle between a and b with the clip circle.\n function intersect(a, b, two) {\n var pa = cartesian(a),\n pb = cartesian(b);\n\n // We have two planes, n1.p = d1 and n2.p = d2.\n // Find intersection line p(t) = c1 n1 + c2 n2 + t (n1 ⨯ n2).\n var n1 = [1, 0, 0], // normal\n n2 = cartesianCross(pa, pb),\n n2n2 = cartesianDot(n2, n2),\n n1n2 = n2[0], // cartesianDot(n1, n2),\n determinant = n2n2 - n1n2 * n1n2;\n\n // Two polar points.\n if (!determinant) return !two && a;\n\n var c1 = cr * n2n2 / determinant,\n c2 = -cr * n1n2 / determinant,\n n1xn2 = cartesianCross(n1, n2),\n A = cartesianScale(n1, c1),\n B = cartesianScale(n2, c2);\n cartesianAddInPlace(A, B);\n\n // Solve |p(t)|^2 = 1.\n var u = n1xn2,\n w = cartesianDot(A, u),\n uu = cartesianDot(u, u),\n t2 = w * w - uu * (cartesianDot(A, A) - 1);\n\n if (t2 < 0) return;\n\n var t = sqrt(t2),\n q = cartesianScale(u, (-w - t) / uu);\n cartesianAddInPlace(q, A);\n q = spherical(q);\n\n if (!two) return q;\n\n // Two intersection points.\n var lambda0 = a[0],\n lambda1 = b[0],\n phi0 = a[1],\n phi1 = b[1],\n z;\n\n if (lambda1 < lambda0) z = lambda0, lambda0 = lambda1, lambda1 = z;\n\n var delta = lambda1 - lambda0,\n polar = abs(delta - pi) < epsilon,\n meridian = polar || delta < epsilon;\n\n if (!polar && phi1 < phi0) z = phi0, phi0 = phi1, phi1 = z;\n\n // Check that the first point is between a and b.\n if (meridian\n ? polar\n ? phi0 + phi1 > 0 ^ q[1] < (abs(q[0] - lambda0) < epsilon ? phi0 : phi1)\n : phi0 <= q[1] && q[1] <= phi1\n : delta > pi ^ (lambda0 <= q[0] && q[0] <= lambda1)) {\n var q1 = cartesianScale(u, (-w + t) / uu);\n cartesianAddInPlace(q1, A);\n return [q, spherical(q1)];\n }\n }\n\n // Generates a 4-bit vector representing the location of a point relative to\n // the small circle's bounding box.\n function code(lambda, phi) {\n var r = smallRadius ? radius : pi - radius,\n code = 0;\n if (lambda < -r) code |= 1; // left\n else if (lambda > r) code |= 2; // right\n if (phi < -r) code |= 4; // below\n else if (phi > r) code |= 8; // above\n return code;\n }\n\n return clip(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-pi, radius - pi]);\n}\n","export default function(a, b, x0, y0, x1, y1) {\n var ax = a[0],\n ay = a[1],\n bx = b[0],\n by = b[1],\n t0 = 0,\n t1 = 1,\n dx = bx - ax,\n dy = by - ay,\n r;\n\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n if (t0 > 0) a[0] = ax + t0 * dx, a[1] = ay + t0 * dy;\n if (t1 < 1) b[0] = ax + t1 * dx, b[1] = ay + t1 * dy;\n return true;\n}\n","import {abs, epsilon} from \"../math.js\";\nimport clipBuffer from \"./buffer.js\";\nimport clipLine from \"./line.js\";\nimport clipRejoin from \"./rejoin.js\";\nimport {merge} from \"d3-array\";\n\nvar clipMax = 1e9, clipMin = -clipMax;\n\n// TODO Use d3-polygon’s polygonContains here for the ring check?\n// TODO Eliminate duplicate buffering in clipBuffer and polygon.push?\n\nexport default function clipRectangle(x0, y0, x1, y1) {\n\n function visible(x, y) {\n return x0 <= x && x <= x1 && y0 <= y && y <= y1;\n }\n\n function interpolate(from, to, direction, stream) {\n var a = 0, a1 = 0;\n if (from == null\n || (a = corner(from, direction)) !== (a1 = corner(to, direction))\n || comparePoint(from, to) < 0 ^ direction > 0) {\n do stream.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);\n while ((a = (a + direction + 4) % 4) !== a1);\n } else {\n stream.point(to[0], to[1]);\n }\n }\n\n function corner(p, direction) {\n return abs(p[0] - x0) < epsilon ? direction > 0 ? 0 : 3\n : abs(p[0] - x1) < epsilon ? direction > 0 ? 2 : 1\n : abs(p[1] - y0) < epsilon ? direction > 0 ? 1 : 0\n : direction > 0 ? 3 : 2; // abs(p[1] - y1) < epsilon\n }\n\n function compareIntersection(a, b) {\n return comparePoint(a.x, b.x);\n }\n\n function comparePoint(a, b) {\n var ca = corner(a, 1),\n cb = corner(b, 1);\n return ca !== cb ? ca - cb\n : ca === 0 ? b[1] - a[1]\n : ca === 1 ? a[0] - b[0]\n : ca === 2 ? a[1] - b[1]\n : b[0] - a[0];\n }\n\n return function(stream) {\n var activeStream = stream,\n bufferStream = clipBuffer(),\n segments,\n polygon,\n ring,\n x__, y__, v__, // first point\n x_, y_, v_, // previous point\n first,\n clean;\n\n var clipStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: polygonStart,\n polygonEnd: polygonEnd\n };\n\n function point(x, y) {\n if (visible(x, y)) activeStream.point(x, y);\n }\n\n function polygonInside() {\n var winding = 0;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n for (var ring = polygon[i], j = 1, m = ring.length, point = ring[0], a0, a1, b0 = point[0], b1 = point[1]; j < m; ++j) {\n a0 = b0, a1 = b1, point = ring[j], b0 = point[0], b1 = point[1];\n if (a1 <= y1) { if (b1 > y1 && (b0 - a0) * (y1 - a1) > (b1 - a1) * (x0 - a0)) ++winding; }\n else { if (b1 <= y1 && (b0 - a0) * (y1 - a1) < (b1 - a1) * (x0 - a0)) --winding; }\n }\n }\n\n return winding;\n }\n\n // Buffer geometry within a polygon and then clip it en masse.\n function polygonStart() {\n activeStream = bufferStream, segments = [], polygon = [], clean = true;\n }\n\n function polygonEnd() {\n var startInside = polygonInside(),\n cleanInside = clean && startInside,\n visible = (segments = merge(segments)).length;\n if (cleanInside || visible) {\n stream.polygonStart();\n if (cleanInside) {\n stream.lineStart();\n interpolate(null, null, 1, stream);\n stream.lineEnd();\n }\n if (visible) {\n clipRejoin(segments, compareIntersection, startInside, interpolate, stream);\n }\n stream.polygonEnd();\n }\n activeStream = stream, segments = polygon = ring = null;\n }\n\n function lineStart() {\n clipStream.point = linePoint;\n if (polygon) polygon.push(ring = []);\n first = true;\n v_ = false;\n x_ = y_ = NaN;\n }\n\n // TODO rather than special-case polygons, simply handle them separately.\n // Ideally, coincident intersection points should be jittered to avoid\n // clipping issues.\n function lineEnd() {\n if (segments) {\n linePoint(x__, y__);\n if (v__ && v_) bufferStream.rejoin();\n segments.push(bufferStream.result());\n }\n clipStream.point = point;\n if (v_) activeStream.lineEnd();\n }\n\n function linePoint(x, y) {\n var v = visible(x, y);\n if (polygon) ring.push([x, y]);\n if (first) {\n x__ = x, y__ = y, v__ = v;\n first = false;\n if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n }\n } else {\n if (v && v_) activeStream.point(x, y);\n else {\n var a = [x_ = Math.max(clipMin, Math.min(clipMax, x_)), y_ = Math.max(clipMin, Math.min(clipMax, y_))],\n b = [x = Math.max(clipMin, Math.min(clipMax, x)), y = Math.max(clipMin, Math.min(clipMax, y))];\n if (clipLine(a, b, x0, y0, x1, y1)) {\n if (!v_) {\n activeStream.lineStart();\n activeStream.point(a[0], a[1]);\n }\n activeStream.point(b[0], b[1]);\n if (!v) activeStream.lineEnd();\n clean = false;\n } else if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n clean = false;\n }\n }\n }\n x_ = x, y_ = y, v_ = v;\n }\n\n return clipStream;\n };\n}\n","export default x => x;\n","import {Adder} from \"d3-array\";\nimport {abs} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nvar areaSum = new Adder(),\n areaRingSum = new Adder(),\n x00,\n y00,\n x0,\n y0;\n\nvar areaStream = {\n point: noop,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: function() {\n areaStream.lineStart = areaRingStart;\n areaStream.lineEnd = areaRingEnd;\n },\n polygonEnd: function() {\n areaStream.lineStart = areaStream.lineEnd = areaStream.point = noop;\n areaSum.add(abs(areaRingSum));\n areaRingSum = new Adder();\n },\n result: function() {\n var area = areaSum / 2;\n areaSum = new Adder();\n return area;\n }\n};\n\nfunction areaRingStart() {\n areaStream.point = areaPointFirst;\n}\n\nfunction areaPointFirst(x, y) {\n areaStream.point = areaPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction areaPoint(x, y) {\n areaRingSum.add(y0 * x - x0 * y);\n x0 = x, y0 = y;\n}\n\nfunction areaRingEnd() {\n areaPoint(x00, y00);\n}\n\nexport default areaStream;\n","import noop from \"../noop.js\";\n\nvar x0 = Infinity,\n y0 = x0,\n x1 = -x0,\n y1 = x1;\n\nvar boundsStream = {\n point: boundsPoint,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: noop,\n polygonEnd: noop,\n result: function() {\n var bounds = [[x0, y0], [x1, y1]];\n x1 = y1 = -(y0 = x0 = Infinity);\n return bounds;\n }\n};\n\nfunction boundsPoint(x, y) {\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n}\n\nexport default boundsStream;\n","import {sqrt} from \"../math.js\";\n\n// TODO Enforce positive area for exterior, negative area for interior?\n\nvar X0 = 0,\n Y0 = 0,\n Z0 = 0,\n X1 = 0,\n Y1 = 0,\n Z1 = 0,\n X2 = 0,\n Y2 = 0,\n Z2 = 0,\n x00,\n y00,\n x0,\n y0;\n\nvar centroidStream = {\n point: centroidPoint,\n lineStart: centroidLineStart,\n lineEnd: centroidLineEnd,\n polygonStart: function() {\n centroidStream.lineStart = centroidRingStart;\n centroidStream.lineEnd = centroidRingEnd;\n },\n polygonEnd: function() {\n centroidStream.point = centroidPoint;\n centroidStream.lineStart = centroidLineStart;\n centroidStream.lineEnd = centroidLineEnd;\n },\n result: function() {\n var centroid = Z2 ? [X2 / Z2, Y2 / Z2]\n : Z1 ? [X1 / Z1, Y1 / Z1]\n : Z0 ? [X0 / Z0, Y0 / Z0]\n : [NaN, NaN];\n X0 = Y0 = Z0 =\n X1 = Y1 = Z1 =\n X2 = Y2 = Z2 = 0;\n return centroid;\n }\n};\n\nfunction centroidPoint(x, y) {\n X0 += x;\n Y0 += y;\n ++Z0;\n}\n\nfunction centroidLineStart() {\n centroidStream.point = centroidPointFirstLine;\n}\n\nfunction centroidPointFirstLine(x, y) {\n centroidStream.point = centroidPointLine;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidPointLine(x, y) {\n var dx = x - x0, dy = y - y0, z = sqrt(dx * dx + dy * dy);\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidLineEnd() {\n centroidStream.point = centroidPoint;\n}\n\nfunction centroidRingStart() {\n centroidStream.point = centroidPointFirstRing;\n}\n\nfunction centroidRingEnd() {\n centroidPointRing(x00, y00);\n}\n\nfunction centroidPointFirstRing(x, y) {\n centroidStream.point = centroidPointRing;\n centroidPoint(x00 = x0 = x, y00 = y0 = y);\n}\n\nfunction centroidPointRing(x, y) {\n var dx = x - x0,\n dy = y - y0,\n z = sqrt(dx * dx + dy * dy);\n\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n\n z = y0 * x - x0 * y;\n X2 += z * (x0 + x);\n Y2 += z * (y0 + y);\n Z2 += z * 3;\n centroidPoint(x0 = x, y0 = y);\n}\n\nexport default centroidStream;\n","import {tau} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nexport default function PathContext(context) {\n this._context = context;\n}\n\nPathContext.prototype = {\n _radius: 4.5,\n pointRadius: function(_) {\n return this._radius = _, this;\n },\n polygonStart: function() {\n this._line = 0;\n },\n polygonEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line === 0) this._context.closePath();\n this._point = NaN;\n },\n point: function(x, y) {\n switch (this._point) {\n case 0: {\n this._context.moveTo(x, y);\n this._point = 1;\n break;\n }\n case 1: {\n this._context.lineTo(x, y);\n break;\n }\n default: {\n this._context.moveTo(x + this._radius, y);\n this._context.arc(x, y, this._radius, 0, tau);\n break;\n }\n }\n },\n result: noop\n};\n","import {Adder} from \"d3-array\";\nimport {sqrt} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nvar lengthSum = new Adder(),\n lengthRing,\n x00,\n y00,\n x0,\n y0;\n\nvar lengthStream = {\n point: noop,\n lineStart: function() {\n lengthStream.point = lengthPointFirst;\n },\n lineEnd: function() {\n if (lengthRing) lengthPoint(x00, y00);\n lengthStream.point = noop;\n },\n polygonStart: function() {\n lengthRing = true;\n },\n polygonEnd: function() {\n lengthRing = null;\n },\n result: function() {\n var length = +lengthSum;\n lengthSum = new Adder();\n return length;\n }\n};\n\nfunction lengthPointFirst(x, y) {\n lengthStream.point = lengthPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction lengthPoint(x, y) {\n x0 -= x, y0 -= y;\n lengthSum.add(sqrt(x0 * x0 + y0 * y0));\n x0 = x, y0 = y;\n}\n\nexport default lengthStream;\n","// Simple caching for constant-radius points.\nlet cacheDigits, cacheAppend, cacheRadius, cacheCircle;\n\nexport default class PathString {\n constructor(digits) {\n this._append = digits == null ? append : appendRound(digits);\n this._radius = 4.5;\n this._ = \"\";\n }\n pointRadius(_) {\n this._radius = +_;\n return this;\n }\n polygonStart() {\n this._line = 0;\n }\n polygonEnd() {\n this._line = NaN;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {\n if (this._line === 0) this._ += \"Z\";\n this._point = NaN;\n }\n point(x, y) {\n switch (this._point) {\n case 0: {\n this._append`M${x},${y}`;\n this._point = 1;\n break;\n }\n case 1: {\n this._append`L${x},${y}`;\n break;\n }\n default: {\n this._append`M${x},${y}`;\n if (this._radius !== cacheRadius || this._append !== cacheAppend) {\n const r = this._radius;\n const s = this._;\n this._ = \"\"; // stash the old string so we can cache the circle path fragment\n this._append`m0,${r}a${r},${r} 0 1,1 0,${-2 * r}a${r},${r} 0 1,1 0,${2 * r}z`;\n cacheRadius = r;\n cacheAppend = this._append;\n cacheCircle = this._;\n this._ = s;\n }\n this._ += cacheCircle;\n break;\n }\n }\n }\n result() {\n const result = this._;\n this._ = \"\";\n return result.length ? result : null;\n }\n}\n\nfunction append(strings) {\n let i = 1;\n this._ += strings[0];\n for (const j = strings.length; i < j; ++i) {\n this._ += arguments[i] + strings[i];\n }\n}\n\nfunction appendRound(digits) {\n const d = Math.floor(digits);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${digits}`);\n if (d > 15) return append;\n if (d !== cacheDigits) {\n const k = 10 ** d;\n cacheDigits = d;\n cacheAppend = function append(strings) {\n let i = 1;\n this._ += strings[0];\n for (const j = strings.length; i < j; ++i) {\n this._ += Math.round(arguments[i] * k) / k + strings[i];\n }\n };\n }\n return cacheAppend;\n}\n","import identity from \"../identity.js\";\nimport stream from \"../stream.js\";\nimport pathArea from \"./area.js\";\nimport pathBounds from \"./bounds.js\";\nimport pathCentroid from \"./centroid.js\";\nimport PathContext from \"./context.js\";\nimport pathMeasure from \"./measure.js\";\nimport PathString from \"./string.js\";\n\nexport default function(projection, context) {\n let digits = 3,\n pointRadius = 4.5,\n projectionStream,\n contextStream;\n\n function path(object) {\n if (object) {\n if (typeof pointRadius === \"function\") contextStream.pointRadius(+pointRadius.apply(this, arguments));\n stream(object, projectionStream(contextStream));\n }\n return contextStream.result();\n }\n\n path.area = function(object) {\n stream(object, projectionStream(pathArea));\n return pathArea.result();\n };\n\n path.measure = function(object) {\n stream(object, projectionStream(pathMeasure));\n return pathMeasure.result();\n };\n\n path.bounds = function(object) {\n stream(object, projectionStream(pathBounds));\n return pathBounds.result();\n };\n\n path.centroid = function(object) {\n stream(object, projectionStream(pathCentroid));\n return pathCentroid.result();\n };\n\n path.projection = function(_) {\n if (!arguments.length) return projection;\n projectionStream = _ == null ? (projection = null, identity) : (projection = _).stream;\n return path;\n };\n\n path.context = function(_) {\n if (!arguments.length) return context;\n contextStream = _ == null ? (context = null, new PathString(digits)) : new PathContext(context = _);\n if (typeof pointRadius !== \"function\") contextStream.pointRadius(pointRadius);\n return path;\n };\n\n path.pointRadius = function(_) {\n if (!arguments.length) return pointRadius;\n pointRadius = typeof _ === \"function\" ? _ : (contextStream.pointRadius(+_), +_);\n return path;\n };\n\n path.digits = function(_) {\n if (!arguments.length) return digits;\n if (_ == null) digits = null;\n else {\n const d = Math.floor(_);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${_}`);\n digits = d;\n }\n if (context === null) contextStream = new PathString(digits);\n return path;\n };\n\n return path.projection(projection).digits(digits).context(context);\n}\n","export default function(methods) {\n return {\n stream: transformer(methods)\n };\n}\n\nexport function transformer(methods) {\n return function(stream) {\n var s = new TransformStream;\n for (var key in methods) s[key] = methods[key];\n s.stream = stream;\n return s;\n };\n}\n\nfunction TransformStream() {}\n\nTransformStream.prototype = {\n constructor: TransformStream,\n point: function(x, y) { this.stream.point(x, y); },\n sphere: function() { this.stream.sphere(); },\n lineStart: function() { this.stream.lineStart(); },\n lineEnd: function() { this.stream.lineEnd(); },\n polygonStart: function() { this.stream.polygonStart(); },\n polygonEnd: function() { this.stream.polygonEnd(); }\n};\n","import {default as geoStream} from \"../stream.js\";\nimport boundsStream from \"../path/bounds.js\";\n\nfunction fit(projection, fitBounds, object) {\n var clip = projection.clipExtent && projection.clipExtent();\n projection.scale(150).translate([0, 0]);\n if (clip != null) projection.clipExtent(null);\n geoStream(object, projection.stream(boundsStream));\n fitBounds(boundsStream.result());\n if (clip != null) projection.clipExtent(clip);\n return projection;\n}\n\nexport function fitExtent(projection, extent, object) {\n return fit(projection, function(b) {\n var w = extent[1][0] - extent[0][0],\n h = extent[1][1] - extent[0][1],\n k = Math.min(w / (b[1][0] - b[0][0]), h / (b[1][1] - b[0][1])),\n x = +extent[0][0] + (w - k * (b[1][0] + b[0][0])) / 2,\n y = +extent[0][1] + (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitSize(projection, size, object) {\n return fitExtent(projection, [[0, 0], size], object);\n}\n\nexport function fitWidth(projection, width, object) {\n return fit(projection, function(b) {\n var w = +width,\n k = w / (b[1][0] - b[0][0]),\n x = (w - k * (b[1][0] + b[0][0])) / 2,\n y = -k * b[0][1];\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitHeight(projection, height, object) {\n return fit(projection, function(b) {\n var h = +height,\n k = h / (b[1][1] - b[0][1]),\n x = -k * b[0][0],\n y = (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n","import {cartesian} from \"../cartesian.js\";\nimport {abs, asin, atan2, cos, epsilon, radians, sqrt} from \"../math.js\";\nimport {transformer} from \"../transform.js\";\n\nvar maxDepth = 16, // maximum depth of subdivision\n cosMinDistance = cos(30 * radians); // cos(minimum angular distance)\n\nexport default function(project, delta2) {\n return +delta2 ? resample(project, delta2) : resampleNone(project);\n}\n\nfunction resampleNone(project) {\n return transformer({\n point: function(x, y) {\n x = project(x, y);\n this.stream.point(x[0], x[1]);\n }\n });\n}\n\nfunction resample(project, delta2) {\n\n function resampleLineTo(x0, y0, lambda0, a0, b0, c0, x1, y1, lambda1, a1, b1, c1, depth, stream) {\n var dx = x1 - x0,\n dy = y1 - y0,\n d2 = dx * dx + dy * dy;\n if (d2 > 4 * delta2 && depth--) {\n var a = a0 + a1,\n b = b0 + b1,\n c = c0 + c1,\n m = sqrt(a * a + b * b + c * c),\n phi2 = asin(c /= m),\n lambda2 = abs(abs(c) - 1) < epsilon || abs(lambda0 - lambda1) < epsilon ? (lambda0 + lambda1) / 2 : atan2(b, a),\n p = project(lambda2, phi2),\n x2 = p[0],\n y2 = p[1],\n dx2 = x2 - x0,\n dy2 = y2 - y0,\n dz = dy * dx2 - dx * dy2;\n if (dz * dz / d2 > delta2 // perpendicular projected distance\n || abs((dx * dx2 + dy * dy2) / d2 - 0.5) > 0.3 // midpoint close to an end\n || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { // angular distance\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x2, y2, lambda2, a /= m, b /= m, c, depth, stream);\n stream.point(x2, y2);\n resampleLineTo(x2, y2, lambda2, a, b, c, x1, y1, lambda1, a1, b1, c1, depth, stream);\n }\n }\n }\n return function(stream) {\n var lambda00, x00, y00, a00, b00, c00, // first point\n lambda0, x0, y0, a0, b0, c0; // previous point\n\n var resampleStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() { stream.polygonStart(); resampleStream.lineStart = ringStart; },\n polygonEnd: function() { stream.polygonEnd(); resampleStream.lineStart = lineStart; }\n };\n\n function point(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n }\n\n function lineStart() {\n x0 = NaN;\n resampleStream.point = linePoint;\n stream.lineStart();\n }\n\n function linePoint(lambda, phi) {\n var c = cartesian([lambda, phi]), p = project(lambda, phi);\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x0 = p[0], y0 = p[1], lambda0 = lambda, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);\n stream.point(x0, y0);\n }\n\n function lineEnd() {\n resampleStream.point = point;\n stream.lineEnd();\n }\n\n function ringStart() {\n lineStart();\n resampleStream.point = ringPoint;\n resampleStream.lineEnd = ringEnd;\n }\n\n function ringPoint(lambda, phi) {\n linePoint(lambda00 = lambda, phi), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;\n resampleStream.point = linePoint;\n }\n\n function ringEnd() {\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x00, y00, lambda00, a00, b00, c00, maxDepth, stream);\n resampleStream.lineEnd = lineEnd;\n lineEnd();\n }\n\n return resampleStream;\n };\n}\n","import clipAntimeridian from \"../clip/antimeridian.js\";\nimport clipCircle from \"../clip/circle.js\";\nimport clipRectangle from \"../clip/rectangle.js\";\nimport compose from \"../compose.js\";\nimport identity from \"../identity.js\";\nimport {cos, degrees, radians, sin, sqrt} from \"../math.js\";\nimport {rotateRadians} from \"../rotation.js\";\nimport {transformer} from \"../transform.js\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit.js\";\nimport resample from \"./resample.js\";\n\nvar transformRadians = transformer({\n point: function(x, y) {\n this.stream.point(x * radians, y * radians);\n }\n});\n\nfunction transformRotate(rotate) {\n return transformer({\n point: function(x, y) {\n var r = rotate(x, y);\n return this.stream.point(r[0], r[1]);\n }\n });\n}\n\nfunction scaleTranslate(k, dx, dy, sx, sy) {\n function transform(x, y) {\n x *= sx; y *= sy;\n return [dx + k * x, dy - k * y];\n }\n transform.invert = function(x, y) {\n return [(x - dx) / k * sx, (dy - y) / k * sy];\n };\n return transform;\n}\n\nfunction scaleTranslateRotate(k, dx, dy, sx, sy, alpha) {\n if (!alpha) return scaleTranslate(k, dx, dy, sx, sy);\n var cosAlpha = cos(alpha),\n sinAlpha = sin(alpha),\n a = cosAlpha * k,\n b = sinAlpha * k,\n ai = cosAlpha / k,\n bi = sinAlpha / k,\n ci = (sinAlpha * dy - cosAlpha * dx) / k,\n fi = (sinAlpha * dx + cosAlpha * dy) / k;\n function transform(x, y) {\n x *= sx; y *= sy;\n return [a * x - b * y + dx, dy - b * x - a * y];\n }\n transform.invert = function(x, y) {\n return [sx * (ai * x - bi * y + ci), sy * (fi - bi * x - ai * y)];\n };\n return transform;\n}\n\nexport default function projection(project) {\n return projectionMutator(function() { return project; })();\n}\n\nexport function projectionMutator(projectAt) {\n var project,\n k = 150, // scale\n x = 480, y = 250, // translate\n lambda = 0, phi = 0, // center\n deltaLambda = 0, deltaPhi = 0, deltaGamma = 0, rotate, // pre-rotate\n alpha = 0, // post-rotate angle\n sx = 1, // reflectX\n sy = 1, // reflectX\n theta = null, preclip = clipAntimeridian, // pre-clip angle\n x0 = null, y0, x1, y1, postclip = identity, // post-clip extent\n delta2 = 0.5, // precision\n projectResample,\n projectTransform,\n projectRotateTransform,\n cache,\n cacheStream;\n\n function projection(point) {\n return projectRotateTransform(point[0] * radians, point[1] * radians);\n }\n\n function invert(point) {\n point = projectRotateTransform.invert(point[0], point[1]);\n return point && [point[0] * degrees, point[1] * degrees];\n }\n\n projection.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream = stream)))));\n };\n\n projection.preclip = function(_) {\n return arguments.length ? (preclip = _, theta = undefined, reset()) : preclip;\n };\n\n projection.postclip = function(_) {\n return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;\n };\n\n projection.clipAngle = function(_) {\n return arguments.length ? (preclip = +_ ? clipCircle(theta = _ * radians) : (theta = null, clipAntimeridian), reset()) : theta * degrees;\n };\n\n projection.clipExtent = function(_) {\n return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n projection.scale = function(_) {\n return arguments.length ? (k = +_, recenter()) : k;\n };\n\n projection.translate = function(_) {\n return arguments.length ? (x = +_[0], y = +_[1], recenter()) : [x, y];\n };\n\n projection.center = function(_) {\n return arguments.length ? (lambda = _[0] % 360 * radians, phi = _[1] % 360 * radians, recenter()) : [lambda * degrees, phi * degrees];\n };\n\n projection.rotate = function(_) {\n return arguments.length ? (deltaLambda = _[0] % 360 * radians, deltaPhi = _[1] % 360 * radians, deltaGamma = _.length > 2 ? _[2] % 360 * radians : 0, recenter()) : [deltaLambda * degrees, deltaPhi * degrees, deltaGamma * degrees];\n };\n\n projection.angle = function(_) {\n return arguments.length ? (alpha = _ % 360 * radians, recenter()) : alpha * degrees;\n };\n\n projection.reflectX = function(_) {\n return arguments.length ? (sx = _ ? -1 : 1, recenter()) : sx < 0;\n };\n\n projection.reflectY = function(_) {\n return arguments.length ? (sy = _ ? -1 : 1, recenter()) : sy < 0;\n };\n\n projection.precision = function(_) {\n return arguments.length ? (projectResample = resample(projectTransform, delta2 = _ * _), reset()) : sqrt(delta2);\n };\n\n projection.fitExtent = function(extent, object) {\n return fitExtent(projection, extent, object);\n };\n\n projection.fitSize = function(size, object) {\n return fitSize(projection, size, object);\n };\n\n projection.fitWidth = function(width, object) {\n return fitWidth(projection, width, object);\n };\n\n projection.fitHeight = function(height, object) {\n return fitHeight(projection, height, object);\n };\n\n function recenter() {\n var center = scaleTranslateRotate(k, 0, 0, sx, sy, alpha).apply(null, project(lambda, phi)),\n transform = scaleTranslateRotate(k, x - center[0], y - center[1], sx, sy, alpha);\n rotate = rotateRadians(deltaLambda, deltaPhi, deltaGamma);\n projectTransform = compose(project, transform);\n projectRotateTransform = compose(rotate, projectTransform);\n projectResample = resample(projectTransform, delta2);\n return reset();\n }\n\n function reset() {\n cache = cacheStream = null;\n return projection;\n }\n\n return function() {\n project = projectAt.apply(this, arguments);\n projection.invert = project.invert && invert;\n return recenter();\n };\n}\n","import {degrees, pi, radians} from \"../math.js\";\nimport {projectionMutator} from \"./index.js\";\n\nexport function conicProjection(projectAt) {\n var phi0 = 0,\n phi1 = pi / 3,\n m = projectionMutator(projectAt),\n p = m(phi0, phi1);\n\n p.parallels = function(_) {\n return arguments.length ? m(phi0 = _[0] * radians, phi1 = _[1] * radians) : [phi0 * degrees, phi1 * degrees];\n };\n\n return p;\n}\n","import {asin, cos, sin} from \"../math.js\";\n\nexport function cylindricalEqualAreaRaw(phi0) {\n var cosPhi0 = cos(phi0);\n\n function forward(lambda, phi) {\n return [lambda * cosPhi0, sin(phi) / cosPhi0];\n }\n\n forward.invert = function(x, y) {\n return [x / cosPhi0, asin(y * cosPhi0)];\n };\n\n return forward;\n}\n","import {abs, asin, atan2, cos, epsilon, pi, sign, sin, sqrt} from \"../math.js\";\nimport {conicProjection} from \"./conic.js\";\nimport {cylindricalEqualAreaRaw} from \"./cylindricalEqualArea.js\";\n\nexport function conicEqualAreaRaw(y0, y1) {\n var sy0 = sin(y0), n = (sy0 + sin(y1)) / 2;\n\n // Are the parallels symmetrical around the Equator?\n if (abs(n) < epsilon) return cylindricalEqualAreaRaw(y0);\n\n var c = 1 + sy0 * (2 * n - sy0), r0 = sqrt(c) / n;\n\n function project(x, y) {\n var r = sqrt(c - 2 * n * sin(y)) / n;\n return [r * sin(x *= n), r0 - r * cos(x)];\n }\n\n project.invert = function(x, y) {\n var r0y = r0 - y,\n l = atan2(x, abs(r0y)) * sign(r0y);\n if (r0y * n < 0)\n l -= pi * sign(x) * sign(r0y);\n return [l / n, asin((c - (x * x + r0y * r0y) * n * n) / (2 * n))];\n };\n\n return project;\n}\n\nexport default function() {\n return conicProjection(conicEqualAreaRaw)\n .scale(155.424)\n .center([0, 33.6442]);\n}\n","import conicEqualArea from \"./conicEqualArea.js\";\n\nexport default function() {\n return conicEqualArea()\n .parallels([29.5, 45.5])\n .scale(1070)\n .translate([480, 250])\n .rotate([96, 0])\n .center([-0.6, 38.7]);\n}\n","import {epsilon} from \"../math.js\";\nimport albers from \"./albers.js\";\nimport conicEqualArea from \"./conicEqualArea.js\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit.js\";\n\n// The projections must have mutually exclusive clip regions on the sphere,\n// as this will avoid emitting interleaving lines and polygons.\nfunction multiplex(streams) {\n var n = streams.length;\n return {\n point: function(x, y) { var i = -1; while (++i < n) streams[i].point(x, y); },\n sphere: function() { var i = -1; while (++i < n) streams[i].sphere(); },\n lineStart: function() { var i = -1; while (++i < n) streams[i].lineStart(); },\n lineEnd: function() { var i = -1; while (++i < n) streams[i].lineEnd(); },\n polygonStart: function() { var i = -1; while (++i < n) streams[i].polygonStart(); },\n polygonEnd: function() { var i = -1; while (++i < n) streams[i].polygonEnd(); }\n };\n}\n\n// A composite projection for the United States, configured by default for\n// 960×500. The projection also works quite well at 960×600 if you change the\n// scale to 1285 and adjust the translate accordingly. The set of standard\n// parallels for each region comes from USGS, which is published here:\n// http://egsc.usgs.gov/isb/pubs/MapProjections/projections.html#albers\nexport default function() {\n var cache,\n cacheStream,\n lower48 = albers(), lower48Point,\n alaska = conicEqualArea().rotate([154, 0]).center([-2, 58.5]).parallels([55, 65]), alaskaPoint, // EPSG:3338\n hawaii = conicEqualArea().rotate([157, 0]).center([-3, 19.9]).parallels([8, 18]), hawaiiPoint, // ESRI:102007\n point, pointStream = {point: function(x, y) { point = [x, y]; }};\n\n function albersUsa(coordinates) {\n var x = coordinates[0], y = coordinates[1];\n return point = null,\n (lower48Point.point(x, y), point)\n || (alaskaPoint.point(x, y), point)\n || (hawaiiPoint.point(x, y), point);\n }\n\n albersUsa.invert = function(coordinates) {\n var k = lower48.scale(),\n t = lower48.translate(),\n x = (coordinates[0] - t[0]) / k,\n y = (coordinates[1] - t[1]) / k;\n return (y >= 0.120 && y < 0.234 && x >= -0.425 && x < -0.214 ? alaska\n : y >= 0.166 && y < 0.234 && x >= -0.214 && x < -0.115 ? hawaii\n : lower48).invert(coordinates);\n };\n\n albersUsa.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = multiplex([lower48.stream(cacheStream = stream), alaska.stream(stream), hawaii.stream(stream)]);\n };\n\n albersUsa.precision = function(_) {\n if (!arguments.length) return lower48.precision();\n lower48.precision(_), alaska.precision(_), hawaii.precision(_);\n return reset();\n };\n\n albersUsa.scale = function(_) {\n if (!arguments.length) return lower48.scale();\n lower48.scale(_), alaska.scale(_ * 0.35), hawaii.scale(_);\n return albersUsa.translate(lower48.translate());\n };\n\n albersUsa.translate = function(_) {\n if (!arguments.length) return lower48.translate();\n var k = lower48.scale(), x = +_[0], y = +_[1];\n\n lower48Point = lower48\n .translate(_)\n .clipExtent([[x - 0.455 * k, y - 0.238 * k], [x + 0.455 * k, y + 0.238 * k]])\n .stream(pointStream);\n\n alaskaPoint = alaska\n .translate([x - 0.307 * k, y + 0.201 * k])\n .clipExtent([[x - 0.425 * k + epsilon, y + 0.120 * k + epsilon], [x - 0.214 * k - epsilon, y + 0.234 * k - epsilon]])\n .stream(pointStream);\n\n hawaiiPoint = hawaii\n .translate([x - 0.205 * k, y + 0.212 * k])\n .clipExtent([[x - 0.214 * k + epsilon, y + 0.166 * k + epsilon], [x - 0.115 * k - epsilon, y + 0.234 * k - epsilon]])\n .stream(pointStream);\n\n return reset();\n };\n\n albersUsa.fitExtent = function(extent, object) {\n return fitExtent(albersUsa, extent, object);\n };\n\n albersUsa.fitSize = function(size, object) {\n return fitSize(albersUsa, size, object);\n };\n\n albersUsa.fitWidth = function(width, object) {\n return fitWidth(albersUsa, width, object);\n };\n\n albersUsa.fitHeight = function(height, object) {\n return fitHeight(albersUsa, height, object);\n };\n\n function reset() {\n cache = cacheStream = null;\n return albersUsa;\n }\n\n return albersUsa.scale(1070);\n}\n","import {asin, atan2, cos, sin, sqrt} from \"../math.js\";\n\nexport function azimuthalRaw(scale) {\n return function(x, y) {\n var cx = cos(x),\n cy = cos(y),\n k = scale(cx * cy);\n if (k === Infinity) return [2, 0];\n return [\n k * cy * sin(x),\n k * sin(y)\n ];\n }\n}\n\nexport function azimuthalInvert(angle) {\n return function(x, y) {\n var z = sqrt(x * x + y * y),\n c = angle(z),\n sc = sin(c),\n cc = cos(c);\n return [\n atan2(x * sc, z * cc),\n asin(z && y * sc / z)\n ];\n }\n}\n","import {atan, exp, halfPi, log, pi, tan, tau} from \"../math.js\";\nimport rotation from \"../rotation.js\";\nimport projection from \"./index.js\";\n\nexport function mercatorRaw(lambda, phi) {\n return [lambda, log(tan((halfPi + phi) / 2))];\n}\n\nmercatorRaw.invert = function(x, y) {\n return [x, 2 * atan(exp(y)) - halfPi];\n};\n\nexport default function() {\n return mercatorProjection(mercatorRaw)\n .scale(961 / tau);\n}\n\nexport function mercatorProjection(project) {\n var m = projection(project),\n center = m.center,\n scale = m.scale,\n translate = m.translate,\n clipExtent = m.clipExtent,\n x0 = null, y0, x1, y1; // clip extent\n\n m.scale = function(_) {\n return arguments.length ? (scale(_), reclip()) : scale();\n };\n\n m.translate = function(_) {\n return arguments.length ? (translate(_), reclip()) : translate();\n };\n\n m.center = function(_) {\n return arguments.length ? (center(_), reclip()) : center();\n };\n\n m.clipExtent = function(_) {\n return arguments.length ? ((_ == null ? x0 = y0 = x1 = y1 = null : (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1])), reclip()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n function reclip() {\n var k = pi * scale(),\n t = m(rotation(m.rotate()).invert([0, 0]));\n return clipExtent(x0 == null\n ? [[t[0] - k, t[1] - k], [t[0] + k, t[1] + k]] : project === mercatorRaw\n ? [[Math.max(t[0] - k, x0), y0], [Math.min(t[0] + k, x1), y1]]\n : [[x0, Math.max(t[1] - k, y0)], [x1, Math.min(t[1] + k, y1)]]);\n }\n\n return reclip();\n}\n","import projection from \"./index.js\";\nimport {abs, asin, cos, epsilon2, sin, sqrt} from \"../math.js\";\n\nvar A1 = 1.340264,\n A2 = -0.081106,\n A3 = 0.000893,\n A4 = 0.003796,\n M = sqrt(3) / 2,\n iterations = 12;\n\nexport function equalEarthRaw(lambda, phi) {\n var l = asin(M * sin(phi)), l2 = l * l, l6 = l2 * l2 * l2;\n return [\n lambda * cos(l) / (M * (A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2))),\n l * (A1 + A2 * l2 + l6 * (A3 + A4 * l2))\n ];\n}\n\nequalEarthRaw.invert = function(x, y) {\n var l = y, l2 = l * l, l6 = l2 * l2 * l2;\n for (var i = 0, delta, fy, fpy; i < iterations; ++i) {\n fy = l * (A1 + A2 * l2 + l6 * (A3 + A4 * l2)) - y;\n fpy = A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2);\n l -= delta = fy / fpy, l2 = l * l, l6 = l2 * l2 * l2;\n if (abs(delta) < epsilon2) break;\n }\n return [\n M * x * (A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2)) / cos(l),\n asin(sin(l) / M)\n ];\n};\n\nexport default function() {\n return projection(equalEarthRaw)\n .scale(177.158);\n}\n","import projection from \"./index.js\";\nimport {abs, epsilon} from \"../math.js\";\n\nexport function naturalEarth1Raw(lambda, phi) {\n var phi2 = phi * phi, phi4 = phi2 * phi2;\n return [\n lambda * (0.8707 - 0.131979 * phi2 + phi4 * (-0.013791 + phi4 * (0.003971 * phi2 - 0.001529 * phi4))),\n phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4)))\n ];\n}\n\nnaturalEarth1Raw.invert = function(x, y) {\n var phi = y, i = 25, delta;\n do {\n var phi2 = phi * phi, phi4 = phi2 * phi2;\n phi -= delta = (phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4))) - y) /\n (1.007226 + phi2 * (0.015085 * 3 + phi4 * (-0.044475 * 7 + 0.028874 * 9 * phi2 - 0.005916 * 11 * phi4)));\n } while (abs(delta) > epsilon && --i > 0);\n return [\n x / (0.8707 + (phi2 = phi * phi) * (-0.131979 + phi2 * (-0.013791 + phi2 * phi2 * phi2 * (0.003971 - 0.001529 * phi2)))),\n phi\n ];\n};\n\nexport default function() {\n return projection(naturalEarth1Raw)\n .scale(175.295);\n}\n","import {asin, cos, epsilon, sin} from \"../math.js\";\nimport {azimuthalInvert} from \"./azimuthal.js\";\nimport projection from \"./index.js\";\n\nexport function orthographicRaw(x, y) {\n return [cos(y) * sin(x), sin(y)];\n}\n\northographicRaw.invert = azimuthalInvert(asin);\n\nexport default function() {\n return projection(orthographicRaw)\n .scale(249.5)\n .clipAngle(90 + epsilon);\n}\n","// These are typically used in conjunction with noevent to ensure that we can\n// preventDefault on the event.\nexport const nonpassive = {passive: false};\nexport const nonpassivecapture = {capture: true, passive: false};\n\nexport function nopropagation(event) {\n event.stopImmediatePropagation();\n}\n\nexport default function(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {select} from \"d3-selection\";\nimport noevent, {nonpassivecapture} from \"./noevent.js\";\n\nexport default function(view) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", noevent, nonpassivecapture);\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", noevent, nonpassivecapture);\n } else {\n root.__noselect = root.style.MozUserSelect;\n root.style.MozUserSelect = \"none\";\n }\n}\n\nexport function yesdrag(view, noclick) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", null);\n if (noclick) {\n selection.on(\"click.drag\", noevent, nonpassivecapture);\n setTimeout(function() { selection.on(\"click.drag\", null); }, 0);\n }\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", null);\n } else {\n root.style.MozUserSelect = root.__noselect;\n delete root.__noselect;\n }\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error;\n set(this, id).ease = v;\n };\n}\n\nexport default function(value) {\n if (typeof value !== \"function\") throw new Error;\n return this.each(easeVarying(this._id, value));\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n","function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n","import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n\n // The selection was empty, resolve end immediately\n if (size === 0) resolve();\n });\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n selectChild: selection_prototype.selectChild,\n selectChildren: selection_prototype.selectChildren,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(`transition ${id} not found`);\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","export default x => () => x;\n","export default function ZoomEvent(type, {\n sourceEvent,\n target,\n transform,\n dispatch\n}) {\n Object.defineProperties(this, {\n type: {value: type, enumerable: true, configurable: true},\n sourceEvent: {value: sourceEvent, enumerable: true, configurable: true},\n target: {value: target, enumerable: true, configurable: true},\n transform: {value: transform, enumerable: true, configurable: true},\n _: {value: dispatch}\n });\n}\n","export function Transform(k, x, y) {\n this.k = k;\n this.x = x;\n this.y = y;\n}\n\nTransform.prototype = {\n constructor: Transform,\n scale: function(k) {\n return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n },\n translate: function(x, y) {\n return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n },\n apply: function(point) {\n return [point[0] * this.k + this.x, point[1] * this.k + this.y];\n },\n applyX: function(x) {\n return x * this.k + this.x;\n },\n applyY: function(y) {\n return y * this.k + this.y;\n },\n invert: function(location) {\n return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n },\n invertX: function(x) {\n return (x - this.x) / this.k;\n },\n invertY: function(y) {\n return (y - this.y) / this.k;\n },\n rescaleX: function(x) {\n return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n },\n rescaleY: function(y) {\n return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n },\n toString: function() {\n return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n }\n};\n\nexport var identity = new Transform(1, 0, 0);\n\ntransform.prototype = Transform.prototype;\n\nexport default function transform(node) {\n while (!node.__zoom) if (!(node = node.parentNode)) return identity;\n return node.__zoom;\n}\n","export function nopropagation(event) {\n event.stopImmediatePropagation();\n}\n\nexport default function(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolateZoom} from \"d3-interpolate\";\nimport {select, pointer} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant.js\";\nimport ZoomEvent from \"./event.js\";\nimport {Transform, identity} from \"./transform.js\";\nimport noevent, {nopropagation} from \"./noevent.js\";\n\n// Ignore right-click, since that should open the context menu.\n// except for pinch-to-zoom, which is sent as a wheel+ctrlKey event\nfunction defaultFilter(event) {\n return (!event.ctrlKey || event.type === 'wheel') && !event.button;\n}\n\nfunction defaultExtent() {\n var e = this;\n if (e instanceof SVGElement) {\n e = e.ownerSVGElement || e;\n if (e.hasAttribute(\"viewBox\")) {\n e = e.viewBox.baseVal;\n return [[e.x, e.y], [e.x + e.width, e.y + e.height]];\n }\n return [[0, 0], [e.width.baseVal.value, e.height.baseVal.value]];\n }\n return [[0, 0], [e.clientWidth, e.clientHeight]];\n}\n\nfunction defaultTransform() {\n return this.__zoom || identity;\n}\n\nfunction defaultWheelDelta(event) {\n return -event.deltaY * (event.deltaMode === 1 ? 0.05 : event.deltaMode ? 1 : 0.002) * (event.ctrlKey ? 10 : 1);\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\nfunction defaultConstrain(transform, extent, translateExtent) {\n var dx0 = transform.invertX(extent[0][0]) - translateExtent[0][0],\n dx1 = transform.invertX(extent[1][0]) - translateExtent[1][0],\n dy0 = transform.invertY(extent[0][1]) - translateExtent[0][1],\n dy1 = transform.invertY(extent[1][1]) - translateExtent[1][1];\n return transform.translate(\n dx1 > dx0 ? (dx0 + dx1) / 2 : Math.min(0, dx0) || Math.max(0, dx1),\n dy1 > dy0 ? (dy0 + dy1) / 2 : Math.min(0, dy0) || Math.max(0, dy1)\n );\n}\n\nexport default function() {\n var filter = defaultFilter,\n extent = defaultExtent,\n constrain = defaultConstrain,\n wheelDelta = defaultWheelDelta,\n touchable = defaultTouchable,\n scaleExtent = [0, Infinity],\n translateExtent = [[-Infinity, -Infinity], [Infinity, Infinity]],\n duration = 250,\n interpolate = interpolateZoom,\n listeners = dispatch(\"start\", \"zoom\", \"end\"),\n touchstarting,\n touchfirst,\n touchending,\n touchDelay = 500,\n wheelDelay = 150,\n clickDistance2 = 0,\n tapDistance = 10;\n\n function zoom(selection) {\n selection\n .property(\"__zoom\", defaultTransform)\n .on(\"wheel.zoom\", wheeled, {passive: false})\n .on(\"mousedown.zoom\", mousedowned)\n .on(\"dblclick.zoom\", dblclicked)\n .filter(touchable)\n .on(\"touchstart.zoom\", touchstarted)\n .on(\"touchmove.zoom\", touchmoved)\n .on(\"touchend.zoom touchcancel.zoom\", touchended)\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n zoom.transform = function(collection, transform, point, event) {\n var selection = collection.selection ? collection.selection() : collection;\n selection.property(\"__zoom\", defaultTransform);\n if (collection !== selection) {\n schedule(collection, transform, point, event);\n } else {\n selection.interrupt().each(function() {\n gesture(this, arguments)\n .event(event)\n .start()\n .zoom(null, typeof transform === \"function\" ? transform.apply(this, arguments) : transform)\n .end();\n });\n }\n };\n\n zoom.scaleBy = function(selection, k, p, event) {\n zoom.scaleTo(selection, function() {\n var k0 = this.__zoom.k,\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return k0 * k1;\n }, p, event);\n };\n\n zoom.scaleTo = function(selection, k, p, event) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t0 = this.__zoom,\n p0 = p == null ? centroid(e) : typeof p === \"function\" ? p.apply(this, arguments) : p,\n p1 = t0.invert(p0),\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return constrain(translate(scale(t0, k1), p0, p1), e, translateExtent);\n }, p, event);\n };\n\n zoom.translateBy = function(selection, x, y, event) {\n zoom.transform(selection, function() {\n return constrain(this.__zoom.translate(\n typeof x === \"function\" ? x.apply(this, arguments) : x,\n typeof y === \"function\" ? y.apply(this, arguments) : y\n ), extent.apply(this, arguments), translateExtent);\n }, null, event);\n };\n\n zoom.translateTo = function(selection, x, y, p, event) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t = this.__zoom,\n p0 = p == null ? centroid(e) : typeof p === \"function\" ? p.apply(this, arguments) : p;\n return constrain(identity.translate(p0[0], p0[1]).scale(t.k).translate(\n typeof x === \"function\" ? -x.apply(this, arguments) : -x,\n typeof y === \"function\" ? -y.apply(this, arguments) : -y\n ), e, translateExtent);\n }, p, event);\n };\n\n function scale(transform, k) {\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], k));\n return k === transform.k ? transform : new Transform(k, transform.x, transform.y);\n }\n\n function translate(transform, p0, p1) {\n var x = p0[0] - p1[0] * transform.k, y = p0[1] - p1[1] * transform.k;\n return x === transform.x && y === transform.y ? transform : new Transform(transform.k, x, y);\n }\n\n function centroid(extent) {\n return [(+extent[0][0] + +extent[1][0]) / 2, (+extent[0][1] + +extent[1][1]) / 2];\n }\n\n function schedule(transition, transform, point, event) {\n transition\n .on(\"start.zoom\", function() { gesture(this, arguments).event(event).start(); })\n .on(\"interrupt.zoom end.zoom\", function() { gesture(this, arguments).event(event).end(); })\n .tween(\"zoom\", function() {\n var that = this,\n args = arguments,\n g = gesture(that, args).event(event),\n e = extent.apply(that, args),\n p = point == null ? centroid(e) : typeof point === \"function\" ? point.apply(that, args) : point,\n w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]),\n a = that.__zoom,\n b = typeof transform === \"function\" ? transform.apply(that, args) : transform,\n i = interpolate(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k));\n return function(t) {\n if (t === 1) t = b; // Avoid rounding error on end.\n else { var l = i(t), k = w / l[2]; t = new Transform(k, p[0] - l[0] * k, p[1] - l[1] * k); }\n g.zoom(null, t);\n };\n });\n }\n\n function gesture(that, args, clean) {\n return (!clean && that.__zooming) || new Gesture(that, args);\n }\n\n function Gesture(that, args) {\n this.that = that;\n this.args = args;\n this.active = 0;\n this.sourceEvent = null;\n this.extent = extent.apply(that, args);\n this.taps = 0;\n }\n\n Gesture.prototype = {\n event: function(event) {\n if (event) this.sourceEvent = event;\n return this;\n },\n start: function() {\n if (++this.active === 1) {\n this.that.__zooming = this;\n this.emit(\"start\");\n }\n return this;\n },\n zoom: function(key, transform) {\n if (this.mouse && key !== \"mouse\") this.mouse[1] = transform.invert(this.mouse[0]);\n if (this.touch0 && key !== \"touch\") this.touch0[1] = transform.invert(this.touch0[0]);\n if (this.touch1 && key !== \"touch\") this.touch1[1] = transform.invert(this.touch1[0]);\n this.that.__zoom = transform;\n this.emit(\"zoom\");\n return this;\n },\n end: function() {\n if (--this.active === 0) {\n delete this.that.__zooming;\n this.emit(\"end\");\n }\n return this;\n },\n emit: function(type) {\n var d = select(this.that).datum();\n listeners.call(\n type,\n this.that,\n new ZoomEvent(type, {\n sourceEvent: this.sourceEvent,\n target: zoom,\n type,\n transform: this.that.__zoom,\n dispatch: listeners\n }),\n d\n );\n }\n };\n\n function wheeled(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var g = gesture(this, args).event(event),\n t = this.__zoom,\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], t.k * Math.pow(2, wheelDelta.apply(this, arguments)))),\n p = pointer(event);\n\n // If the mouse is in the same location as before, reuse it.\n // If there were recent wheel events, reset the wheel idle timeout.\n if (g.wheel) {\n if (g.mouse[0][0] !== p[0] || g.mouse[0][1] !== p[1]) {\n g.mouse[1] = t.invert(g.mouse[0] = p);\n }\n clearTimeout(g.wheel);\n }\n\n // If this wheel event won’t trigger a transform change, ignore it.\n else if (t.k === k) return;\n\n // Otherwise, capture the mouse point and location at the start.\n else {\n g.mouse = [p, t.invert(p)];\n interrupt(this);\n g.start();\n }\n\n noevent(event);\n g.wheel = setTimeout(wheelidled, wheelDelay);\n g.zoom(\"mouse\", constrain(translate(scale(t, k), g.mouse[0], g.mouse[1]), g.extent, translateExtent));\n\n function wheelidled() {\n g.wheel = null;\n g.end();\n }\n }\n\n function mousedowned(event, ...args) {\n if (touchending || !filter.apply(this, arguments)) return;\n var currentTarget = event.currentTarget,\n g = gesture(this, args, true).event(event),\n v = select(event.view).on(\"mousemove.zoom\", mousemoved, true).on(\"mouseup.zoom\", mouseupped, true),\n p = pointer(event, currentTarget),\n x0 = event.clientX,\n y0 = event.clientY;\n\n dragDisable(event.view);\n nopropagation(event);\n g.mouse = [p, this.__zoom.invert(p)];\n interrupt(this);\n g.start();\n\n function mousemoved(event) {\n noevent(event);\n if (!g.moved) {\n var dx = event.clientX - x0, dy = event.clientY - y0;\n g.moved = dx * dx + dy * dy > clickDistance2;\n }\n g.event(event)\n .zoom(\"mouse\", constrain(translate(g.that.__zoom, g.mouse[0] = pointer(event, currentTarget), g.mouse[1]), g.extent, translateExtent));\n }\n\n function mouseupped(event) {\n v.on(\"mousemove.zoom mouseup.zoom\", null);\n dragEnable(event.view, g.moved);\n noevent(event);\n g.event(event).end();\n }\n }\n\n function dblclicked(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var t0 = this.__zoom,\n p0 = pointer(event.changedTouches ? event.changedTouches[0] : event, this),\n p1 = t0.invert(p0),\n k1 = t0.k * (event.shiftKey ? 0.5 : 2),\n t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, args), translateExtent);\n\n noevent(event);\n if (duration > 0) select(this).transition().duration(duration).call(schedule, t1, p0, event);\n else select(this).call(zoom.transform, t1, p0, event);\n }\n\n function touchstarted(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var touches = event.touches,\n n = touches.length,\n g = gesture(this, args, event.changedTouches.length === n).event(event),\n started, i, t, p;\n\n nopropagation(event);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = pointer(t, this);\n p = [p, this.__zoom.invert(p), t.identifier];\n if (!g.touch0) g.touch0 = p, started = true, g.taps = 1 + !!touchstarting;\n else if (!g.touch1 && g.touch0[2] !== p[2]) g.touch1 = p, g.taps = 0;\n }\n\n if (touchstarting) touchstarting = clearTimeout(touchstarting);\n\n if (started) {\n if (g.taps < 2) touchfirst = p[0], touchstarting = setTimeout(function() { touchstarting = null; }, touchDelay);\n interrupt(this);\n g.start();\n }\n }\n\n function touchmoved(event, ...args) {\n if (!this.__zooming) return;\n var g = gesture(this, args).event(event),\n touches = event.changedTouches,\n n = touches.length, i, t, p, l;\n\n noevent(event);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = pointer(t, this);\n if (g.touch0 && g.touch0[2] === t.identifier) g.touch0[0] = p;\n else if (g.touch1 && g.touch1[2] === t.identifier) g.touch1[0] = p;\n }\n t = g.that.__zoom;\n if (g.touch1) {\n var p0 = g.touch0[0], l0 = g.touch0[1],\n p1 = g.touch1[0], l1 = g.touch1[1],\n dp = (dp = p1[0] - p0[0]) * dp + (dp = p1[1] - p0[1]) * dp,\n dl = (dl = l1[0] - l0[0]) * dl + (dl = l1[1] - l0[1]) * dl;\n t = scale(t, Math.sqrt(dp / dl));\n p = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2];\n l = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2];\n }\n else if (g.touch0) p = g.touch0[0], l = g.touch0[1];\n else return;\n\n g.zoom(\"touch\", constrain(translate(t, p, l), g.extent, translateExtent));\n }\n\n function touchended(event, ...args) {\n if (!this.__zooming) return;\n var g = gesture(this, args).event(event),\n touches = event.changedTouches,\n n = touches.length, i, t;\n\n nopropagation(event);\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, touchDelay);\n for (i = 0; i < n; ++i) {\n t = touches[i];\n if (g.touch0 && g.touch0[2] === t.identifier) delete g.touch0;\n else if (g.touch1 && g.touch1[2] === t.identifier) delete g.touch1;\n }\n if (g.touch1 && !g.touch0) g.touch0 = g.touch1, delete g.touch1;\n if (g.touch0) g.touch0[1] = this.__zoom.invert(g.touch0[0]);\n else {\n g.end();\n // If this was a dbltap, reroute to the (optional) dblclick.zoom handler.\n if (g.taps === 2) {\n t = pointer(t, this);\n if (Math.hypot(touchfirst[0] - t[0], touchfirst[1] - t[1]) < tapDistance) {\n var p = select(this).on(\"dblclick.zoom\");\n if (p) p.apply(this, arguments);\n }\n }\n }\n }\n\n zoom.wheelDelta = function(_) {\n return arguments.length ? (wheelDelta = typeof _ === \"function\" ? _ : constant(+_), zoom) : wheelDelta;\n };\n\n zoom.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), zoom) : filter;\n };\n\n zoom.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), zoom) : touchable;\n };\n\n zoom.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent;\n };\n\n zoom.scaleExtent = function(_) {\n return arguments.length ? (scaleExtent[0] = +_[0], scaleExtent[1] = +_[1], zoom) : [scaleExtent[0], scaleExtent[1]];\n };\n\n zoom.translateExtent = function(_) {\n return arguments.length ? (translateExtent[0][0] = +_[0][0], translateExtent[1][0] = +_[1][0], translateExtent[0][1] = +_[0][1], translateExtent[1][1] = +_[1][1], zoom) : [[translateExtent[0][0], translateExtent[0][1]], [translateExtent[1][0], translateExtent[1][1]]];\n };\n\n zoom.constrain = function(_) {\n return arguments.length ? (constrain = _, zoom) : constrain;\n };\n\n zoom.duration = function(_) {\n return arguments.length ? (duration = +_, zoom) : duration;\n };\n\n zoom.interpolate = function(_) {\n return arguments.length ? (interpolate = _, zoom) : interpolate;\n };\n\n zoom.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? zoom : value;\n };\n\n zoom.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, zoom) : Math.sqrt(clickDistance2);\n };\n\n zoom.tapDistance = function(_) {\n return arguments.length ? (tapDistance = +_, zoom) : tapDistance;\n };\n\n return zoom;\n}\n","// index.ts\nfunction clone(geojson) {\n if (!geojson) {\n throw new Error(\"geojson is required\");\n }\n switch (geojson.type) {\n case \"Feature\":\n return cloneFeature(geojson);\n case \"FeatureCollection\":\n return cloneFeatureCollection(geojson);\n case \"Point\":\n case \"LineString\":\n case \"Polygon\":\n case \"MultiPoint\":\n case \"MultiLineString\":\n case \"MultiPolygon\":\n case \"GeometryCollection\":\n return cloneGeometry(geojson);\n default:\n throw new Error(\"unknown GeoJSON type\");\n }\n}\nfunction cloneFeature(geojson) {\n const cloned = { type: \"Feature\" };\n Object.keys(geojson).forEach((key) => {\n switch (key) {\n case \"type\":\n case \"properties\":\n case \"geometry\":\n return;\n default:\n cloned[key] = geojson[key];\n }\n });\n cloned.properties = cloneProperties(geojson.properties);\n if (geojson.geometry == null) {\n cloned.geometry = null;\n } else {\n cloned.geometry = cloneGeometry(geojson.geometry);\n }\n return cloned;\n}\nfunction cloneProperties(properties) {\n const cloned = {};\n if (!properties) {\n return cloned;\n }\n Object.keys(properties).forEach((key) => {\n const value = properties[key];\n if (typeof value === \"object\") {\n if (value === null) {\n cloned[key] = null;\n } else if (Array.isArray(value)) {\n cloned[key] = value.map((item) => {\n return item;\n });\n } else {\n cloned[key] = cloneProperties(value);\n }\n } else {\n cloned[key] = value;\n }\n });\n return cloned;\n}\nfunction cloneFeatureCollection(geojson) {\n const cloned = { type: \"FeatureCollection\" };\n Object.keys(geojson).forEach((key) => {\n switch (key) {\n case \"type\":\n case \"features\":\n return;\n default:\n cloned[key] = geojson[key];\n }\n });\n cloned.features = geojson.features.map((feature) => {\n return cloneFeature(feature);\n });\n return cloned;\n}\nfunction cloneGeometry(geometry) {\n const geom = { type: geometry.type };\n if (geometry.bbox) {\n geom.bbox = geometry.bbox;\n }\n if (geometry.type === \"GeometryCollection\") {\n geom.geometries = geometry.geometries.map((g) => {\n return cloneGeometry(g);\n });\n return geom;\n }\n geom.coordinates = deepSlice(geometry.coordinates);\n return geom;\n}\nfunction deepSlice(coords) {\n const cloned = coords;\n if (typeof cloned[0] !== \"object\") {\n return cloned.slice();\n }\n return cloned.map((coord) => {\n return deepSlice(coord);\n });\n}\nvar index_default = clone;\nexport {\n clone,\n cloneProperties,\n index_default as default\n};\n//# sourceMappingURL=index.js.map","// index.ts\nimport { isNumber } from \"@turf/helpers\";\nfunction getCoord(coord) {\n if (!coord) {\n throw new Error(\"coord is required\");\n }\n if (!Array.isArray(coord)) {\n if (coord.type === \"Feature\" && coord.geometry !== null && coord.geometry.type === \"Point\") {\n return [...coord.geometry.coordinates];\n }\n if (coord.type === \"Point\") {\n return [...coord.coordinates];\n }\n }\n if (Array.isArray(coord) && coord.length >= 2 && !Array.isArray(coord[0]) && !Array.isArray(coord[1])) {\n return [...coord];\n }\n throw new Error(\"coord must be GeoJSON Point or an Array of numbers\");\n}\nfunction getCoords(coords) {\n if (Array.isArray(coords)) {\n return coords;\n }\n if (coords.type === \"Feature\") {\n if (coords.geometry !== null) {\n return coords.geometry.coordinates;\n }\n } else {\n if (coords.coordinates) {\n return coords.coordinates;\n }\n }\n throw new Error(\n \"coords must be GeoJSON Feature, Geometry Object or an Array\"\n );\n}\nfunction containsNumber(coordinates) {\n if (coordinates.length > 1 && isNumber(coordinates[0]) && isNumber(coordinates[1])) {\n return true;\n }\n if (Array.isArray(coordinates[0]) && coordinates[0].length) {\n return containsNumber(coordinates[0]);\n }\n throw new Error(\"coordinates must only contain numbers\");\n}\nfunction geojsonType(value, type, name) {\n if (!type || !name) {\n throw new Error(\"type and name required\");\n }\n if (!value || value.type !== type) {\n throw new Error(\n \"Invalid input to \" + name + \": must be a \" + type + \", given \" + value.type\n );\n }\n}\nfunction featureOf(feature, type, name) {\n if (!feature) {\n throw new Error(\"No feature passed\");\n }\n if (!name) {\n throw new Error(\".featureOf() requires a name\");\n }\n if (!feature || feature.type !== \"Feature\" || !feature.geometry) {\n throw new Error(\n \"Invalid input to \" + name + \", Feature with geometry required\"\n );\n }\n if (!feature.geometry || feature.geometry.type !== type) {\n throw new Error(\n \"Invalid input to \" + name + \": must be a \" + type + \", given \" + feature.geometry.type\n );\n }\n}\nfunction collectionOf(featureCollection, type, name) {\n if (!featureCollection) {\n throw new Error(\"No featureCollection passed\");\n }\n if (!name) {\n throw new Error(\".collectionOf() requires a name\");\n }\n if (!featureCollection || featureCollection.type !== \"FeatureCollection\") {\n throw new Error(\n \"Invalid input to \" + name + \", FeatureCollection required\"\n );\n }\n for (const feature of featureCollection.features) {\n if (!feature || feature.type !== \"Feature\" || !feature.geometry) {\n throw new Error(\n \"Invalid input to \" + name + \", Feature with geometry required\"\n );\n }\n if (!feature.geometry || feature.geometry.type !== type) {\n throw new Error(\n \"Invalid input to \" + name + \": must be a \" + type + \", given \" + feature.geometry.type\n );\n }\n }\n}\nfunction getGeom(geojson) {\n if (geojson.type === \"Feature\") {\n return geojson.geometry;\n }\n return geojson;\n}\nfunction getType(geojson, _name) {\n if (geojson.type === \"FeatureCollection\") {\n return \"FeatureCollection\";\n }\n if (geojson.type === \"GeometryCollection\") {\n return \"GeometryCollection\";\n }\n if (geojson.type === \"Feature\" && geojson.geometry !== null) {\n return geojson.geometry.type;\n }\n return geojson.type;\n}\nexport {\n collectionOf,\n containsNumber,\n featureOf,\n geojsonType,\n getCoord,\n getCoords,\n getGeom,\n getType\n};\n//# sourceMappingURL=index.js.map","// index.ts\nimport { getCoords } from \"@turf/invariant\";\nfunction booleanClockwise(line) {\n const ring = getCoords(line);\n let sum = 0;\n let i = 1;\n let prev;\n let cur;\n while (i < ring.length) {\n prev = cur || ring[0];\n cur = ring[i];\n sum += (cur[0] - prev[0]) * (cur[1] + prev[1]);\n i++;\n }\n return sum > 0;\n}\nvar index_default = booleanClockwise;\nexport {\n booleanClockwise,\n index_default as default\n};\n//# sourceMappingURL=index.js.map","// index.ts\nvar earthRadius = 63710088e-1;\nvar factors = {\n centimeters: earthRadius * 100,\n centimetres: earthRadius * 100,\n degrees: 360 / (2 * Math.PI),\n feet: earthRadius * 3.28084,\n inches: earthRadius * 39.37,\n kilometers: earthRadius / 1e3,\n kilometres: earthRadius / 1e3,\n meters: earthRadius,\n metres: earthRadius,\n miles: earthRadius / 1609.344,\n millimeters: earthRadius * 1e3,\n millimetres: earthRadius * 1e3,\n nauticalmiles: earthRadius / 1852,\n radians: 1,\n yards: earthRadius * 1.0936\n};\nvar areaFactors = {\n acres: 247105e-9,\n centimeters: 1e4,\n centimetres: 1e4,\n feet: 10.763910417,\n hectares: 1e-4,\n inches: 1550.003100006,\n kilometers: 1e-6,\n kilometres: 1e-6,\n meters: 1,\n metres: 1,\n miles: 386e-9,\n nauticalmiles: 29155334959812285e-23,\n millimeters: 1e6,\n millimetres: 1e6,\n yards: 1.195990046\n};\nfunction feature(geom, properties, options = {}) {\n const feat = { type: \"Feature\" };\n if (options.id === 0 || options.id) {\n feat.id = options.id;\n }\n if (options.bbox) {\n feat.bbox = options.bbox;\n }\n feat.properties = properties || {};\n feat.geometry = geom;\n return feat;\n}\nfunction geometry(type, coordinates, _options = {}) {\n switch (type) {\n case \"Point\":\n return point(coordinates).geometry;\n case \"LineString\":\n return lineString(coordinates).geometry;\n case \"Polygon\":\n return polygon(coordinates).geometry;\n case \"MultiPoint\":\n return multiPoint(coordinates).geometry;\n case \"MultiLineString\":\n return multiLineString(coordinates).geometry;\n case \"MultiPolygon\":\n return multiPolygon(coordinates).geometry;\n default:\n throw new Error(type + \" is invalid\");\n }\n}\nfunction point(coordinates, properties, options = {}) {\n if (!coordinates) {\n throw new Error(\"coordinates is required\");\n }\n if (!Array.isArray(coordinates)) {\n throw new Error(\"coordinates must be an Array\");\n }\n if (coordinates.length < 2) {\n throw new Error(\"coordinates must be at least 2 numbers long\");\n }\n if (!isNumber(coordinates[0]) || !isNumber(coordinates[1])) {\n throw new Error(\"coordinates must contain numbers\");\n }\n const geom = {\n type: \"Point\",\n coordinates\n };\n return feature(geom, properties, options);\n}\nfunction points(coordinates, properties, options = {}) {\n return featureCollection(\n coordinates.map((coords) => {\n return point(coords, properties);\n }),\n options\n );\n}\nfunction polygon(coordinates, properties, options = {}) {\n for (const ring of coordinates) {\n if (ring.length < 4) {\n throw new Error(\n \"Each LinearRing of a Polygon must have 4 or more Positions.\"\n );\n }\n if (ring[ring.length - 1].length !== ring[0].length) {\n throw new Error(\"First and last Position are not equivalent.\");\n }\n for (let j = 0; j < ring[ring.length - 1].length; j++) {\n if (ring[ring.length - 1][j] !== ring[0][j]) {\n throw new Error(\"First and last Position are not equivalent.\");\n }\n }\n }\n const geom = {\n type: \"Polygon\",\n coordinates\n };\n return feature(geom, properties, options);\n}\nfunction polygons(coordinates, properties, options = {}) {\n return featureCollection(\n coordinates.map((coords) => {\n return polygon(coords, properties);\n }),\n options\n );\n}\nfunction lineString(coordinates, properties, options = {}) {\n if (coordinates.length < 2) {\n throw new Error(\"coordinates must be an array of two or more positions\");\n }\n const geom = {\n type: \"LineString\",\n coordinates\n };\n return feature(geom, properties, options);\n}\nfunction lineStrings(coordinates, properties, options = {}) {\n return featureCollection(\n coordinates.map((coords) => {\n return lineString(coords, properties);\n }),\n options\n );\n}\nfunction featureCollection(features, options = {}) {\n const fc = { type: \"FeatureCollection\" };\n if (options.id) {\n fc.id = options.id;\n }\n if (options.bbox) {\n fc.bbox = options.bbox;\n }\n fc.features = features;\n return fc;\n}\nfunction multiLineString(coordinates, properties, options = {}) {\n const geom = {\n type: \"MultiLineString\",\n coordinates\n };\n return feature(geom, properties, options);\n}\nfunction multiPoint(coordinates, properties, options = {}) {\n const geom = {\n type: \"MultiPoint\",\n coordinates\n };\n return feature(geom, properties, options);\n}\nfunction multiPolygon(coordinates, properties, options = {}) {\n const geom = {\n type: \"MultiPolygon\",\n coordinates\n };\n return feature(geom, properties, options);\n}\nfunction geometryCollection(geometries, properties, options = {}) {\n const geom = {\n type: \"GeometryCollection\",\n geometries\n };\n return feature(geom, properties, options);\n}\nfunction round(num, precision = 0) {\n if (precision && !(precision >= 0)) {\n throw new Error(\"precision must be a positive number\");\n }\n const multiplier = Math.pow(10, precision || 0);\n return Math.round(num * multiplier) / multiplier;\n}\nfunction radiansToLength(radians, units = \"kilometers\") {\n const factor = factors[units];\n if (!factor) {\n throw new Error(units + \" units is invalid\");\n }\n return radians * factor;\n}\nfunction lengthToRadians(distance, units = \"kilometers\") {\n const factor = factors[units];\n if (!factor) {\n throw new Error(units + \" units is invalid\");\n }\n return distance / factor;\n}\nfunction lengthToDegrees(distance, units) {\n return radiansToDegrees(lengthToRadians(distance, units));\n}\nfunction bearingToAzimuth(bearing) {\n let angle = bearing % 360;\n if (angle < 0) {\n angle += 360;\n }\n return angle;\n}\nfunction azimuthToBearing(angle) {\n angle = angle % 360;\n if (angle > 180) {\n return angle - 360;\n } else if (angle < -180) {\n return angle + 360;\n }\n return angle;\n}\nfunction radiansToDegrees(radians) {\n const normalisedRadians = radians % (2 * Math.PI);\n return normalisedRadians * 180 / Math.PI;\n}\nfunction degreesToRadians(degrees) {\n const normalisedDegrees = degrees % 360;\n return normalisedDegrees * Math.PI / 180;\n}\nfunction convertLength(length, originalUnit = \"kilometers\", finalUnit = \"kilometers\") {\n if (!(length >= 0)) {\n throw new Error(\"length must be a positive number\");\n }\n return radiansToLength(lengthToRadians(length, originalUnit), finalUnit);\n}\nfunction convertArea(area, originalUnit = \"meters\", finalUnit = \"kilometers\") {\n if (!(area >= 0)) {\n throw new Error(\"area must be a positive number\");\n }\n const startFactor = areaFactors[originalUnit];\n if (!startFactor) {\n throw new Error(\"invalid original units\");\n }\n const finalFactor = areaFactors[finalUnit];\n if (!finalFactor) {\n throw new Error(\"invalid final units\");\n }\n return area / startFactor * finalFactor;\n}\nfunction isNumber(num) {\n return !isNaN(num) && num !== null && !Array.isArray(num);\n}\nfunction isObject(input) {\n return input !== null && typeof input === \"object\" && !Array.isArray(input);\n}\nfunction validateBBox(bbox) {\n if (!bbox) {\n throw new Error(\"bbox is required\");\n }\n if (!Array.isArray(bbox)) {\n throw new Error(\"bbox must be an Array\");\n }\n if (bbox.length !== 4 && bbox.length !== 6) {\n throw new Error(\"bbox must be an Array of 4 or 6 numbers\");\n }\n bbox.forEach((num) => {\n if (!isNumber(num)) {\n throw new Error(\"bbox must only contain numbers\");\n }\n });\n}\nfunction validateId(id) {\n if (!id) {\n throw new Error(\"id is required\");\n }\n if ([\"string\", \"number\"].indexOf(typeof id) === -1) {\n throw new Error(\"id must be a number or a string\");\n }\n}\nexport {\n areaFactors,\n azimuthToBearing,\n bearingToAzimuth,\n convertArea,\n convertLength,\n degreesToRadians,\n earthRadius,\n factors,\n feature,\n featureCollection,\n geometry,\n geometryCollection,\n isNumber,\n isObject,\n lengthToDegrees,\n lengthToRadians,\n lineString,\n lineStrings,\n multiLineString,\n multiPoint,\n multiPolygon,\n point,\n points,\n polygon,\n polygons,\n radiansToDegrees,\n radiansToLength,\n round,\n validateBBox,\n validateId\n};\n//# sourceMappingURL=index.js.map","// index.ts\nimport { feature, point, lineString, isObject } from \"@turf/helpers\";\nfunction coordEach(geojson, callback, excludeWrapCoord) {\n if (geojson === null) return;\n var j, k, l, geometry, stopG, coords, geometryMaybeCollection, wrapShrink = 0, coordIndex = 0, isGeometryCollection, type = geojson.type, isFeatureCollection = type === \"FeatureCollection\", isFeature = type === \"Feature\", stop = isFeatureCollection ? geojson.features.length : 1;\n for (var featureIndex = 0; featureIndex < stop; featureIndex++) {\n geometryMaybeCollection = isFeatureCollection ? (\n // @ts-expect-error: Known type conflict\n geojson.features[featureIndex].geometry\n ) : isFeature ? (\n // @ts-expect-error: Known type conflict\n geojson.geometry\n ) : geojson;\n isGeometryCollection = geometryMaybeCollection ? geometryMaybeCollection.type === \"GeometryCollection\" : false;\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n for (var geomIndex = 0; geomIndex < stopG; geomIndex++) {\n var multiFeatureIndex = 0;\n var geometryIndex = 0;\n geometry = isGeometryCollection ? geometryMaybeCollection.geometries[geomIndex] : geometryMaybeCollection;\n if (geometry === null) continue;\n coords = geometry.coordinates;\n var geomType = geometry.type;\n wrapShrink = excludeWrapCoord && (geomType === \"Polygon\" || geomType === \"MultiPolygon\") ? 1 : 0;\n switch (geomType) {\n case null:\n break;\n case \"Point\":\n if (\n // @ts-expect-error: Known type conflict\n callback(\n coords,\n coordIndex,\n featureIndex,\n multiFeatureIndex,\n geometryIndex\n ) === false\n )\n return false;\n coordIndex++;\n multiFeatureIndex++;\n break;\n case \"LineString\":\n case \"MultiPoint\":\n for (j = 0; j < coords.length; j++) {\n if (\n // @ts-expect-error: Known type conflict\n callback(\n coords[j],\n coordIndex,\n featureIndex,\n multiFeatureIndex,\n geometryIndex\n ) === false\n )\n return false;\n coordIndex++;\n if (geomType === \"MultiPoint\") multiFeatureIndex++;\n }\n if (geomType === \"LineString\") multiFeatureIndex++;\n break;\n case \"Polygon\":\n case \"MultiLineString\":\n for (j = 0; j < coords.length; j++) {\n for (k = 0; k < coords[j].length - wrapShrink; k++) {\n if (\n // @ts-expect-error: Known type conflict\n callback(\n coords[j][k],\n coordIndex,\n featureIndex,\n multiFeatureIndex,\n geometryIndex\n ) === false\n )\n return false;\n coordIndex++;\n }\n if (geomType === \"MultiLineString\") multiFeatureIndex++;\n if (geomType === \"Polygon\") geometryIndex++;\n }\n if (geomType === \"Polygon\") multiFeatureIndex++;\n break;\n case \"MultiPolygon\":\n for (j = 0; j < coords.length; j++) {\n geometryIndex = 0;\n for (k = 0; k < coords[j].length; k++) {\n for (l = 0; l < coords[j][k].length - wrapShrink; l++) {\n if (\n // @ts-expect-error: Known type conflict\n callback(\n coords[j][k][l],\n coordIndex,\n featureIndex,\n multiFeatureIndex,\n geometryIndex\n ) === false\n )\n return false;\n coordIndex++;\n }\n geometryIndex++;\n }\n multiFeatureIndex++;\n }\n break;\n case \"GeometryCollection\":\n for (j = 0; j < geometry.geometries.length; j++)\n if (\n // @ts-expect-error: Known type conflict\n coordEach(geometry.geometries[j], callback, excludeWrapCoord) === false\n )\n return false;\n break;\n default:\n throw new Error(\"Unknown Geometry Type\");\n }\n }\n }\n}\nfunction coordReduce(geojson, callback, initialValue, excludeWrapCoord) {\n var previousValue = initialValue;\n coordEach(\n geojson,\n function(currentCoord, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) {\n if (coordIndex === 0 && initialValue === void 0)\n previousValue = currentCoord;\n else\n previousValue = callback(\n // @ts-expect-error: Known type conflict\n previousValue,\n currentCoord,\n coordIndex,\n featureIndex,\n multiFeatureIndex,\n geometryIndex\n );\n },\n excludeWrapCoord\n );\n return previousValue;\n}\nfunction propEach(geojson, callback) {\n var i;\n switch (geojson.type) {\n case \"FeatureCollection\":\n for (i = 0; i < geojson.features.length; i++) {\n if (callback(geojson.features[i].properties, i) === false) break;\n }\n break;\n case \"Feature\":\n callback(geojson.properties, 0);\n break;\n }\n}\nfunction propReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n propEach(geojson, function(currentProperties, featureIndex) {\n if (featureIndex === 0 && initialValue === void 0)\n previousValue = currentProperties;\n else\n previousValue = callback(previousValue, currentProperties, featureIndex);\n });\n return previousValue;\n}\nfunction featureEach(geojson, callback) {\n if (geojson.type === \"Feature\") {\n callback(geojson, 0);\n } else if (geojson.type === \"FeatureCollection\") {\n for (var i = 0; i < geojson.features.length; i++) {\n if (callback(geojson.features[i], i) === false) break;\n }\n }\n}\nfunction featureReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n featureEach(geojson, function(currentFeature, featureIndex) {\n if (featureIndex === 0 && initialValue === void 0)\n previousValue = currentFeature;\n else previousValue = callback(previousValue, currentFeature, featureIndex);\n });\n return previousValue;\n}\nfunction coordAll(geojson) {\n var coords = [];\n coordEach(geojson, function(coord) {\n coords.push(coord);\n });\n return coords;\n}\nfunction geomEach(geojson, callback) {\n var i, j, g, geometry, stopG, geometryMaybeCollection, isGeometryCollection, featureProperties, featureBBox, featureId, featureIndex = 0, isFeatureCollection = geojson.type === \"FeatureCollection\", isFeature = geojson.type === \"Feature\", stop = isFeatureCollection ? geojson.features.length : 1;\n for (i = 0; i < stop; i++) {\n geometryMaybeCollection = isFeatureCollection ? (\n // @ts-expect-error: Known type conflict\n geojson.features[i].geometry\n ) : isFeature ? (\n // @ts-expect-error: Known type conflict\n geojson.geometry\n ) : geojson;\n featureProperties = isFeatureCollection ? (\n // @ts-expect-error: Known type conflict\n geojson.features[i].properties\n ) : isFeature ? (\n // @ts-expect-error: Known type conflict\n geojson.properties\n ) : {};\n featureBBox = isFeatureCollection ? (\n // @ts-expect-error: Known type conflict\n geojson.features[i].bbox\n ) : isFeature ? (\n // @ts-expect-error: Known type conflict\n geojson.bbox\n ) : void 0;\n featureId = isFeatureCollection ? (\n // @ts-expect-error: Known type conflict\n geojson.features[i].id\n ) : isFeature ? (\n // @ts-expect-error: Known type conflict\n geojson.id\n ) : void 0;\n isGeometryCollection = geometryMaybeCollection ? geometryMaybeCollection.type === \"GeometryCollection\" : false;\n stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;\n for (g = 0; g < stopG; g++) {\n geometry = isGeometryCollection ? geometryMaybeCollection.geometries[g] : geometryMaybeCollection;\n if (geometry === null) {\n if (\n // @ts-expect-error: Known type conflict\n callback(\n // @ts-expect-error: Known type conflict\n null,\n featureIndex,\n featureProperties,\n featureBBox,\n featureId\n ) === false\n )\n return false;\n continue;\n }\n switch (geometry.type) {\n case \"Point\":\n case \"LineString\":\n case \"MultiPoint\":\n case \"Polygon\":\n case \"MultiLineString\":\n case \"MultiPolygon\": {\n if (\n // @ts-expect-error: Known type conflict\n callback(\n geometry,\n featureIndex,\n featureProperties,\n featureBBox,\n featureId\n ) === false\n )\n return false;\n break;\n }\n case \"GeometryCollection\": {\n for (j = 0; j < geometry.geometries.length; j++) {\n if (\n // @ts-expect-error: Known type conflict\n callback(\n geometry.geometries[j],\n featureIndex,\n featureProperties,\n featureBBox,\n featureId\n ) === false\n )\n return false;\n }\n break;\n }\n default:\n throw new Error(\"Unknown Geometry Type\");\n }\n }\n featureIndex++;\n }\n}\nfunction geomReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n geomEach(\n geojson,\n function(currentGeometry, featureIndex, featureProperties, featureBBox, featureId) {\n if (featureIndex === 0 && initialValue === void 0)\n previousValue = currentGeometry;\n else\n previousValue = callback(\n // @ts-expect-error: Known type conflict\n previousValue,\n currentGeometry,\n featureIndex,\n featureProperties,\n featureBBox,\n featureId\n );\n }\n );\n return previousValue;\n}\nfunction flattenEach(geojson, callback) {\n geomEach(geojson, function(geometry, featureIndex, properties, bbox, id) {\n var type = geometry === null ? null : geometry.type;\n switch (type) {\n case null:\n case \"Point\":\n case \"LineString\":\n case \"Polygon\":\n if (\n // @ts-expect-error: Known type conflict\n callback(\n feature(geometry, properties, { bbox, id }),\n featureIndex,\n 0\n ) === false\n )\n return false;\n return;\n }\n var geomType;\n switch (type) {\n case \"MultiPoint\":\n geomType = \"Point\";\n break;\n case \"MultiLineString\":\n geomType = \"LineString\";\n break;\n case \"MultiPolygon\":\n geomType = \"Polygon\";\n break;\n }\n for (\n var multiFeatureIndex = 0;\n // @ts-expect-error: Known type conflict\n multiFeatureIndex < geometry.coordinates.length;\n multiFeatureIndex++\n ) {\n var coordinate = geometry.coordinates[multiFeatureIndex];\n var geom = {\n type: geomType,\n coordinates: coordinate\n };\n if (\n // @ts-expect-error: Known type conflict\n callback(feature(geom, properties), featureIndex, multiFeatureIndex) === false\n )\n return false;\n }\n });\n}\nfunction flattenReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n flattenEach(\n geojson,\n function(currentFeature, featureIndex, multiFeatureIndex) {\n if (featureIndex === 0 && multiFeatureIndex === 0 && initialValue === void 0)\n previousValue = currentFeature;\n else\n previousValue = callback(\n // @ts-expect-error: Known type conflict\n previousValue,\n currentFeature,\n featureIndex,\n multiFeatureIndex\n );\n }\n );\n return previousValue;\n}\nfunction segmentEach(geojson, callback) {\n flattenEach(geojson, function(feature2, featureIndex, multiFeatureIndex) {\n var segmentIndex = 0;\n if (!feature2.geometry) return;\n var type = feature2.geometry.type;\n if (type === \"Point\" || type === \"MultiPoint\") return;\n var previousCoords;\n var previousFeatureIndex = 0;\n var previousMultiIndex = 0;\n var prevGeomIndex = 0;\n if (\n // @ts-expect-error: Known type conflict\n coordEach(\n feature2,\n function(currentCoord, coordIndex, featureIndexCoord, multiPartIndexCoord, geometryIndex) {\n if (\n // @ts-expect-error: Known type conflict\n previousCoords === void 0 || featureIndex > previousFeatureIndex || multiPartIndexCoord > previousMultiIndex || geometryIndex > prevGeomIndex\n ) {\n previousCoords = currentCoord;\n previousFeatureIndex = featureIndex;\n previousMultiIndex = multiPartIndexCoord;\n prevGeomIndex = geometryIndex;\n segmentIndex = 0;\n return;\n }\n var currentSegment = lineString(\n // @ts-expect-error: Known type conflict\n [previousCoords, currentCoord],\n feature2.properties\n );\n if (\n // @ts-expect-error: Known type conflict\n callback(\n // @ts-expect-error: Known type conflict\n currentSegment,\n featureIndex,\n multiFeatureIndex,\n geometryIndex,\n segmentIndex\n ) === false\n )\n return false;\n segmentIndex++;\n previousCoords = currentCoord;\n }\n ) === false\n )\n return false;\n });\n}\nfunction segmentReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n var started = false;\n segmentEach(\n geojson,\n function(currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) {\n if (started === false && initialValue === void 0)\n previousValue = currentSegment;\n else\n previousValue = callback(\n previousValue,\n // @ts-expect-error: Known type conflict\n currentSegment,\n featureIndex,\n multiFeatureIndex,\n geometryIndex,\n segmentIndex\n );\n started = true;\n }\n );\n return previousValue;\n}\nfunction lineEach(geojson, callback) {\n if (!geojson) throw new Error(\"geojson is required\");\n flattenEach(geojson, function(feature2, featureIndex, multiFeatureIndex) {\n if (feature2.geometry === null) return;\n var type = feature2.geometry.type;\n var coords = feature2.geometry.coordinates;\n switch (type) {\n case \"LineString\":\n if (callback(feature2, featureIndex, multiFeatureIndex, 0, 0) === false)\n return false;\n break;\n case \"Polygon\":\n for (var geometryIndex = 0; geometryIndex < coords.length; geometryIndex++) {\n if (\n // @ts-expect-error: Known type conflict\n callback(\n // @ts-expect-error: Known type conflict\n lineString(coords[geometryIndex], feature2.properties),\n featureIndex,\n multiFeatureIndex,\n geometryIndex\n ) === false\n )\n return false;\n }\n break;\n }\n });\n}\nfunction lineReduce(geojson, callback, initialValue) {\n var previousValue = initialValue;\n lineEach(\n geojson,\n function(currentLine, featureIndex, multiFeatureIndex, geometryIndex) {\n if (featureIndex === 0 && initialValue === void 0)\n previousValue = currentLine;\n else\n previousValue = callback(\n previousValue,\n currentLine,\n featureIndex,\n multiFeatureIndex,\n geometryIndex\n );\n }\n );\n return previousValue;\n}\nfunction findSegment(geojson, options) {\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n var featureIndex = options.featureIndex || 0;\n var multiFeatureIndex = options.multiFeatureIndex || 0;\n var geometryIndex = options.geometryIndex || 0;\n var segmentIndex = options.segmentIndex || 0;\n var properties = options.properties;\n var geometry;\n switch (geojson.type) {\n case \"FeatureCollection\":\n if (featureIndex < 0)\n featureIndex = geojson.features.length + featureIndex;\n properties = properties || geojson.features[featureIndex].properties;\n geometry = geojson.features[featureIndex].geometry;\n break;\n case \"Feature\":\n properties = properties || geojson.properties;\n geometry = geojson.geometry;\n break;\n case \"Point\":\n case \"MultiPoint\":\n return null;\n case \"LineString\":\n case \"Polygon\":\n case \"MultiLineString\":\n case \"MultiPolygon\":\n geometry = geojson;\n break;\n default:\n throw new Error(\"geojson is invalid\");\n }\n if (geometry === null) return null;\n var coords = geometry.coordinates;\n switch (geometry.type) {\n case \"Point\":\n case \"MultiPoint\":\n return null;\n case \"LineString\":\n if (segmentIndex < 0) segmentIndex = coords.length + segmentIndex - 1;\n return lineString(\n // @ts-expect-error: Known type conflict\n [coords[segmentIndex], coords[segmentIndex + 1]],\n properties,\n options\n );\n case \"Polygon\":\n if (geometryIndex < 0) geometryIndex = coords.length + geometryIndex;\n if (segmentIndex < 0)\n segmentIndex = coords[geometryIndex].length + segmentIndex - 1;\n return lineString(\n [\n // @ts-expect-error: Known type conflict\n coords[geometryIndex][segmentIndex],\n // @ts-expect-error: Known type conflict\n coords[geometryIndex][segmentIndex + 1]\n ],\n properties,\n options\n );\n case \"MultiLineString\":\n if (multiFeatureIndex < 0)\n multiFeatureIndex = coords.length + multiFeatureIndex;\n if (segmentIndex < 0)\n segmentIndex = coords[multiFeatureIndex].length + segmentIndex - 1;\n return lineString(\n [\n // @ts-expect-error: Known type conflict\n coords[multiFeatureIndex][segmentIndex],\n // @ts-expect-error: Known type conflict\n coords[multiFeatureIndex][segmentIndex + 1]\n ],\n properties,\n options\n );\n case \"MultiPolygon\":\n if (multiFeatureIndex < 0)\n multiFeatureIndex = coords.length + multiFeatureIndex;\n if (geometryIndex < 0)\n geometryIndex = coords[multiFeatureIndex].length + geometryIndex;\n if (segmentIndex < 0)\n segmentIndex = // @ts-expect-error: Known type conflict\n coords[multiFeatureIndex][geometryIndex].length - segmentIndex - 1;\n return lineString(\n [\n // @ts-expect-error: Known type conflict\n coords[multiFeatureIndex][geometryIndex][segmentIndex],\n // @ts-expect-error: Known type conflict\n coords[multiFeatureIndex][geometryIndex][segmentIndex + 1]\n ],\n properties,\n options\n );\n }\n throw new Error(\"geojson is invalid\");\n}\nfunction findPoint(geojson, options) {\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n var featureIndex = options.featureIndex || 0;\n var multiFeatureIndex = options.multiFeatureIndex || 0;\n var geometryIndex = options.geometryIndex || 0;\n var coordIndex = options.coordIndex || 0;\n var properties = options.properties;\n var geometry;\n switch (geojson.type) {\n case \"FeatureCollection\":\n if (featureIndex < 0)\n featureIndex = geojson.features.length + featureIndex;\n properties = properties || geojson.features[featureIndex].properties;\n geometry = geojson.features[featureIndex].geometry;\n break;\n case \"Feature\":\n properties = properties || geojson.properties;\n geometry = geojson.geometry;\n break;\n case \"Point\":\n case \"MultiPoint\":\n return null;\n case \"LineString\":\n case \"Polygon\":\n case \"MultiLineString\":\n case \"MultiPolygon\":\n geometry = geojson;\n break;\n default:\n throw new Error(\"geojson is invalid\");\n }\n if (geometry === null) return null;\n var coords = geometry.coordinates;\n switch (geometry.type) {\n case \"Point\":\n return point(coords, properties, options);\n case \"MultiPoint\":\n if (multiFeatureIndex < 0)\n multiFeatureIndex = coords.length + multiFeatureIndex;\n return point(coords[multiFeatureIndex], properties, options);\n case \"LineString\":\n if (coordIndex < 0) coordIndex = coords.length + coordIndex;\n return point(coords[coordIndex], properties, options);\n case \"Polygon\":\n if (geometryIndex < 0) geometryIndex = coords.length + geometryIndex;\n if (coordIndex < 0)\n coordIndex = coords[geometryIndex].length + coordIndex;\n return point(coords[geometryIndex][coordIndex], properties, options);\n case \"MultiLineString\":\n if (multiFeatureIndex < 0)\n multiFeatureIndex = coords.length + multiFeatureIndex;\n if (coordIndex < 0)\n coordIndex = coords[multiFeatureIndex].length + coordIndex;\n return point(coords[multiFeatureIndex][coordIndex], properties, options);\n case \"MultiPolygon\":\n if (multiFeatureIndex < 0)\n multiFeatureIndex = coords.length + multiFeatureIndex;\n if (geometryIndex < 0)\n geometryIndex = coords[multiFeatureIndex].length + geometryIndex;\n if (coordIndex < 0)\n coordIndex = coords[multiFeatureIndex][geometryIndex].length - coordIndex;\n return point(\n coords[multiFeatureIndex][geometryIndex][coordIndex],\n properties,\n options\n );\n }\n throw new Error(\"geojson is invalid\");\n}\nexport {\n coordAll,\n coordEach,\n coordReduce,\n featureEach,\n featureReduce,\n findPoint,\n findSegment,\n flattenEach,\n flattenReduce,\n geomEach,\n geomReduce,\n lineEach,\n lineReduce,\n propEach,\n propReduce,\n segmentEach,\n segmentReduce\n};\n//# sourceMappingURL=index.js.map","// index.ts\nimport { isNumber } from \"@turf/helpers\";\nfunction getCoord(coord) {\n if (!coord) {\n throw new Error(\"coord is required\");\n }\n if (!Array.isArray(coord)) {\n if (coord.type === \"Feature\" && coord.geometry !== null && coord.geometry.type === \"Point\") {\n return [...coord.geometry.coordinates];\n }\n if (coord.type === \"Point\") {\n return [...coord.coordinates];\n }\n }\n if (Array.isArray(coord) && coord.length >= 2 && !Array.isArray(coord[0]) && !Array.isArray(coord[1])) {\n return [...coord];\n }\n throw new Error(\"coord must be GeoJSON Point or an Array of numbers\");\n}\nfunction getCoords(coords) {\n if (Array.isArray(coords)) {\n return coords;\n }\n if (coords.type === \"Feature\") {\n if (coords.geometry !== null) {\n return coords.geometry.coordinates;\n }\n } else {\n if (coords.coordinates) {\n return coords.coordinates;\n }\n }\n throw new Error(\n \"coords must be GeoJSON Feature, Geometry Object or an Array\"\n );\n}\nfunction containsNumber(coordinates) {\n if (coordinates.length > 1 && isNumber(coordinates[0]) && isNumber(coordinates[1])) {\n return true;\n }\n if (Array.isArray(coordinates[0]) && coordinates[0].length) {\n return containsNumber(coordinates[0]);\n }\n throw new Error(\"coordinates must only contain numbers\");\n}\nfunction geojsonType(value, type, name) {\n if (!type || !name) {\n throw new Error(\"type and name required\");\n }\n if (!value || value.type !== type) {\n throw new Error(\n \"Invalid input to \" + name + \": must be a \" + type + \", given \" + value.type\n );\n }\n}\nfunction featureOf(feature, type, name) {\n if (!feature) {\n throw new Error(\"No feature passed\");\n }\n if (!name) {\n throw new Error(\".featureOf() requires a name\");\n }\n if (!feature || feature.type !== \"Feature\" || !feature.geometry) {\n throw new Error(\n \"Invalid input to \" + name + \", Feature with geometry required\"\n );\n }\n if (!feature.geometry || feature.geometry.type !== type) {\n throw new Error(\n \"Invalid input to \" + name + \": must be a \" + type + \", given \" + feature.geometry.type\n );\n }\n}\nfunction collectionOf(featureCollection, type, name) {\n if (!featureCollection) {\n throw new Error(\"No featureCollection passed\");\n }\n if (!name) {\n throw new Error(\".collectionOf() requires a name\");\n }\n if (!featureCollection || featureCollection.type !== \"FeatureCollection\") {\n throw new Error(\n \"Invalid input to \" + name + \", FeatureCollection required\"\n );\n }\n for (const feature of featureCollection.features) {\n if (!feature || feature.type !== \"Feature\" || !feature.geometry) {\n throw new Error(\n \"Invalid input to \" + name + \", Feature with geometry required\"\n );\n }\n if (!feature.geometry || feature.geometry.type !== type) {\n throw new Error(\n \"Invalid input to \" + name + \": must be a \" + type + \", given \" + feature.geometry.type\n );\n }\n }\n}\nfunction getGeom(geojson) {\n if (geojson.type === \"Feature\") {\n return geojson.geometry;\n }\n return geojson;\n}\nfunction getType(geojson, _name) {\n if (geojson.type === \"FeatureCollection\") {\n return \"FeatureCollection\";\n }\n if (geojson.type === \"GeometryCollection\") {\n return \"GeometryCollection\";\n }\n if (geojson.type === \"Feature\" && geojson.geometry !== null) {\n return geojson.geometry.type;\n }\n return geojson.type;\n}\nexport {\n collectionOf,\n containsNumber,\n featureOf,\n geojsonType,\n getCoord,\n getCoords,\n getGeom,\n getType\n};\n//# sourceMappingURL=index.js.map","// index.ts\nimport { clone } from \"@turf/clone\";\nimport { booleanClockwise } from \"@turf/boolean-clockwise\";\nimport { geomEach, featureEach } from \"@turf/meta\";\nimport { getCoords } from \"@turf/invariant\";\nimport { featureCollection, isObject } from \"@turf/helpers\";\nfunction rewind(geojson, options = {}) {\n var _a, _b;\n options = options || {};\n if (!isObject(options)) throw new Error(\"options is invalid\");\n const mutate = (_a = options.mutate) != null ? _a : false;\n const reverse = (_b = options.reverse) != null ? _b : false;\n if (!geojson) throw new Error(\"<geojson> is required\");\n if (typeof reverse !== \"boolean\")\n throw new Error(\"<reverse> must be a boolean\");\n if (typeof mutate !== \"boolean\")\n throw new Error(\"<mutate> must be a boolean\");\n if (!mutate && geojson.type !== \"Point\" && geojson.type !== \"MultiPoint\") {\n geojson = clone(geojson);\n }\n const results = [];\n switch (geojson.type) {\n case \"GeometryCollection\":\n geomEach(geojson, function(geometry) {\n rewindFeature(geometry, reverse);\n });\n return geojson;\n case \"FeatureCollection\":\n featureEach(geojson, function(feature) {\n const rewoundFeature = rewindFeature(feature, reverse);\n featureEach(rewoundFeature, function(result) {\n results.push(result);\n });\n });\n return featureCollection(results);\n }\n return rewindFeature(geojson, reverse);\n}\nfunction rewindFeature(geojson, reverse) {\n const type = geojson.type === \"Feature\" ? geojson.geometry.type : geojson.type;\n switch (type) {\n case \"GeometryCollection\":\n geomEach(geojson, function(geometry) {\n rewindFeature(geometry, reverse);\n });\n return geojson;\n case \"LineString\":\n rewindLineString(getCoords(geojson), reverse);\n return geojson;\n case \"Polygon\":\n rewindPolygon(getCoords(geojson), reverse);\n return geojson;\n case \"MultiLineString\":\n getCoords(geojson).forEach(function(lineCoords) {\n rewindLineString(lineCoords, reverse);\n });\n return geojson;\n case \"MultiPolygon\":\n getCoords(geojson).forEach(function(lineCoords) {\n rewindPolygon(lineCoords, reverse);\n });\n return geojson;\n case \"Point\":\n case \"MultiPoint\":\n return geojson;\n }\n}\nfunction rewindLineString(coords, reverse) {\n if (booleanClockwise(coords) === reverse) coords.reverse();\n}\nfunction rewindPolygon(coords, reverse) {\n if (booleanClockwise(coords[0]) !== reverse) {\n coords[0].reverse();\n }\n for (let i = 1; i < coords.length; i++) {\n if (booleanClockwise(coords[i]) === reverse) {\n coords[i].reverse();\n }\n }\n}\nvar index_default = rewind;\nexport {\n index_default as default,\n rewind\n};\n//# sourceMappingURL=index.js.map"],"names":["Adder","x","p","j","y","hi","lo","n","flatten","arrays","array","merge","degrees","identity","decompose","a","b","c","d","e","f","scaleX","scaleY","skewX","svgNode","parseCss","value","m","parseSvg","interpolateTransform","parse","pxComma","pxParen","degParen","pop","translate","xa","ya","xb","yb","s","q","i","number","rotate","scale","t","o","interpolateTransformCss","interpolateTransformSvg","epsilon2","cosh","sinh","tanh","interpolateZoom","zoomRho","rho","rho2","rho4","zoom","p0","p1","ux0","uy0","w0","ux1","uy1","w1","dx","dy","d2","S","d1","b0","b1","r0","r1","coshr0","u","_","_1","_2","_4","timeout","callback","delay","time","Timer","elapsed","bbox","geojson","options","result","coordEach","coord","index_default","epsilon","pi","halfPi","quarterPi","tau","radians","abs","atan","atan2","cos","exp","log","sin","sign","sqrt","tan","acos","asin","noop","streamGeometry","geometry","stream","streamGeometryType","streamObjectType","object","features","coordinates","streamLine","streamPolygon","geometries","closed","coordinate","geoStream","spherical","cartesian","lambda","phi","cosPhi","cartesianDot","cartesianCross","cartesianAddInPlace","cartesianScale","vector","k","cartesianNormalizeInPlace","l","compose","rotationIdentity","rotateRadians","deltaLambda","deltaPhi","deltaGamma","rotationLambda","rotationPhiGamma","forwardRotationLambda","rotation","cosDeltaPhi","sinDeltaPhi","cosDeltaGamma","sinDeltaGamma","z","forward","circleStream","radius","delta","direction","t0","t1","cosRadius","sinRadius","step","circleRadius","point","clipBuffer","lines","line","pointEqual","Intersection","points","other","entry","clipRejoin","segments","compareIntersection","startInside","interpolate","subject","clip","segment","link","start","current","isSubject","longitude","polygonContains","polygon","sinPhi","normal","angle","winding","sum","ring","point0","lambda0","phi0","sinPhi0","cosPhi0","lambda1","sinPhi1","cosPhi1","point1","phi1","absDelta","antimeridian","arc","intersection","phiArc","pointVisible","clipLine","sink","ringBuffer","ringSink","polygonStarted","lineStart","lineEnd","pointRing","ringStart","ringEnd","pointLine","clean","ringSegments","validSegment","clipAntimeridian","clipAntimeridianLine","clipAntimeridianInterpolate","sign0","sign1","clipAntimeridianIntersect","sinLambda0Lambda1","from","to","clipCircle","cr","smallRadius","notHemisphere","visible","c0","v0","v00","point2","v","code","intersect","two","pa","pb","n1","n2","n2n2","n1n2","determinant","c1","c2","n1xn2","A","B","w","uu","t2","polar","meridian","q1","r","x0","y0","x1","y1","ax","ay","bx","by","clipMax","clipMin","clipRectangle","a1","corner","comparePoint","ca","cb","activeStream","bufferStream","x__","y__","v__","x_","y_","v_","first","clipStream","polygonStart","polygonEnd","polygonInside","a0","cleanInside","linePoint","identity$1","areaSum","areaRingSum","x00","y00","areaStream","areaRingStart","areaRingEnd","area","areaPointFirst","areaPoint","boundsStream","boundsPoint","bounds","X0","Y0","Z0","X1","Y1","Z1","X2","Y2","Z2","centroidStream","centroidPoint","centroidLineStart","centroidLineEnd","centroidRingStart","centroidRingEnd","centroid","centroidPointFirstLine","centroidPointLine","centroidPointFirstRing","centroidPointRing","PathContext","context","lengthSum","lengthRing","lengthStream","lengthPointFirst","lengthPoint","length","cacheDigits","cacheAppend","cacheRadius","cacheCircle","PathString","digits","append","appendRound","strings","geoPath","projection","pointRadius","projectionStream","contextStream","path","pathArea","pathMeasure","pathBounds","pathCentroid","transformer","methods","TransformStream","key","fit","fitBounds","fitExtent","extent","h","fitSize","size","fitWidth","width","fitHeight","height","maxDepth","cosMinDistance","resample","project","delta2","resampleNone","resampleLineTo","depth","phi2","lambda2","x2","y2","dx2","dy2","dz","lambda00","a00","b00","c00","resampleStream","ringPoint","transformRadians","transformRotate","scaleTranslate","sx","sy","transform","scaleTranslateRotate","alpha","cosAlpha","sinAlpha","ai","bi","ci","fi","projectionMutator","projectAt","theta","preclip","postclip","projectResample","projectTransform","projectRotateTransform","cache","cacheStream","invert","reset","recenter","center","conicProjection","cylindricalEqualAreaRaw","conicEqualAreaRaw","sy0","r0y","conicEqualArea","albers","multiplex","streams","geoAlbersUsa","lower48","lower48Point","alaska","alaskaPoint","hawaii","hawaiiPoint","pointStream","albersUsa","azimuthalInvert","sc","cc","mercatorRaw","geoMercator","mercatorProjection","clipExtent","reclip","A1","A2","A3","A4","M","iterations","equalEarthRaw","l2","l6","fy","fpy","geoEqualEarth","naturalEarth1Raw","phi4","geoNaturalEarth1","orthographicRaw","geoOrthographic","nonpassivecapture","noevent$1","event","dragDisable","view","root","selection","select","noevent","yesdrag","noclick","emptyOn","dispatch","emptyTween","CREATED","SCHEDULED","STARTING","STARTED","RUNNING","ENDING","ENDED","schedule","node","name","id","index","group","timing","schedules","create","init","get","set","self","tween","timer","stop","tick","interrupt","active","empty","selection_interrupt","tweenRemove","tween0","tween1","tweenFunction","transition_tween","tweenValue","transition","interpolateNumber","color","interpolateRgb","interpolateString","attrRemove","attrRemoveNS","fullname","attrConstant","value1","string00","string1","interpolate0","string0","attrConstantNS","attrFunction","string10","attrFunctionNS","transition_attr","namespace","attrInterpolate","attrInterpolateNS","attrTweenNS","i0","attrTween","transition_attrTween","delayFunction","delayConstant","transition_delay","durationFunction","durationConstant","transition_duration","easeConstant","transition_ease","easeVarying","transition_easeVarying","transition_filter","match","matcher","groups","subgroups","subgroup","Transition","transition_merge","groups0","groups1","m0","m1","merges","group0","group1","onFunction","listener","on0","on1","sit","on","transition_on","removeFunction","parent","transition_remove","transition_select","selector","subnode","transition_selectAll","selectorAll","parents","children","child","inherit","Selection","transition_selection","styleNull","style","styleRemove","styleConstant","styleFunction","styleMaybeRemove","listener0","remove","transition_style","priority","styleInterpolate","styleTween","transition_styleTween","textConstant","textFunction","transition_text","textInterpolate","textTween","transition_textTween","transition_transition","id0","id1","newId","transition_end","that","resolve","reject","cancel","end","selection_prototype","cubicInOut","defaultTiming","easeCubicInOut","selection_transition","now","constant","ZoomEvent","type","sourceEvent","target","Transform","location","nopropagation","defaultFilter","defaultExtent","defaultTransform","defaultWheelDelta","defaultTouchable","defaultConstrain","translateExtent","dx0","dx1","dy0","dy1","filter","constrain","wheelDelta","touchable","scaleExtent","duration","listeners","touchstarting","touchfirst","touchending","touchDelay","wheelDelay","clickDistance2","tapDistance","wheeled","mousedowned","dblclicked","touchstarted","touchmoved","touchended","collection","gesture","k0","k1","args","g","Gesture","pointer","wheelidled","currentTarget","mousemoved","mouseupped","dragEnable","touches","started","l0","l1","dp","dl","clone","cloneFeature","cloneFeatureCollection","cloneGeometry","cloned","cloneProperties","properties","item","feature","geom","deepSlice","coords","getCoords","booleanClockwise","prev","cur","featureCollection","fc","isObject","input","featureEach","geomEach","stopG","geometryMaybeCollection","isGeometryCollection","featureProperties","featureBBox","featureId","featureIndex","isFeatureCollection","isFeature","rewind","_a","_b","mutate","reverse","results","rewindFeature","rewoundFeature","rewindLineString","rewindPolygon","lineCoords"],"mappings":";;;;;AACO,MAAMA,GAAM;AAAA,EACjB,cAAc;AACZ,SAAK,YAAY,IAAI,aAAa,EAAE,GACpC,KAAK,KAAK;AAAA,EACZ;AAAA,EACA,IAAIC,GAAG;AACL,UAAMC,IAAI,KAAK;AACf,QAAI,IAAI;AACR,aAASC,IAAI,GAAGA,IAAI,KAAK,MAAMA,IAAI,IAAIA,KAAK;AAC1C,YAAMC,IAAIF,EAAEC,CAAC,GACXE,IAAKJ,IAAIG,GACTE,IAAK,KAAK,IAAIL,CAAC,IAAI,KAAK,IAAIG,CAAC,IAAIH,KAAKI,IAAKD,KAAKA,KAAKC,IAAKJ;AAC5D,MAAIK,MAAIJ,EAAE,GAAG,IAAII,IACjBL,IAAII;AAAA,IACN;AACA,WAAAH,EAAE,CAAC,IAAID,GACP,KAAK,KAAK,IAAI,GACP;AAAA,EACT;AAAA,EACA,UAAU;AACR,UAAMC,IAAI,KAAK;AACf,QAAIK,IAAI,KAAK,IAAIN,GAAGG,GAAGE,GAAID,IAAK;AAChC,QAAIE,IAAI,GAAG;AAET,WADAF,IAAKH,EAAE,EAAEK,CAAC,GACHA,IAAI,MACTN,IAAII,GACJD,IAAIF,EAAE,EAAEK,CAAC,GACTF,IAAKJ,IAAIG,GACTE,IAAKF,KAAKC,IAAKJ,IACX,CAAAK;AAAJ;AAEF,MAAIC,IAAI,MAAOD,IAAK,KAAKJ,EAAEK,IAAI,CAAC,IAAI,KAAOD,IAAK,KAAKJ,EAAEK,IAAI,CAAC,IAAI,OAC9DH,IAAIE,IAAK,GACTL,IAAII,IAAKD,GACLA,KAAKH,IAAII,MAAIA,IAAKJ;AAAA,IAE1B;AACA,WAAOI;AAAA,EACT;AACF;ACxCA,UAAUG,GAAQC,GAAQ;AACxB,aAAWC,KAASD;AAClB,WAAOC;AAEX;AAEe,SAASC,GAAMF,GAAQ;AACpC,SAAO,MAAM,KAAKD,GAAQC,CAAM,CAAC;AACnC;ACRA,IAAIG,KAAU,MAAM,KAAK,IAEdC,KAAW;AAAA,EACpB,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AACV;AAEe,SAAAC,GAASC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAG;AACxC,MAAIC,GAAQC,GAAQC;AACpB,UAAIF,IAAS,KAAK,KAAKN,IAAIA,IAAIC,IAAIA,CAAC,OAAGD,KAAKM,GAAQL,KAAKK,KACrDE,IAAQR,IAAIE,IAAID,IAAIE,OAAGD,KAAKF,IAAIQ,GAAOL,KAAKF,IAAIO,KAChDD,IAAS,KAAK,KAAKL,IAAIA,IAAIC,IAAIA,CAAC,OAAGD,KAAKK,GAAQJ,KAAKI,GAAQC,KAASD,IACtEP,IAAIG,IAAIF,IAAIC,MAAGF,IAAI,CAACA,GAAGC,IAAI,CAACA,GAAGO,IAAQ,CAACA,GAAOF,IAAS,CAACA,IACtD;AAAA,IACL,YAAYF;AAAA,IACZ,YAAYC;AAAA,IACZ,QAAQ,KAAK,MAAMJ,GAAGD,CAAC,IAAIH;AAAAA,IAC3B,OAAO,KAAK,KAAKW,CAAK,IAAIX;AAAAA,IAC1B,QAAQS;AAAA,IACR,QAAQC;AAAA,EACZ;AACA;ACvBA,IAAIE;AAGG,SAASC,GAASC,GAAO;AAC9B,QAAMC,IAAI,KAAK,OAAO,aAAc,aAAa,YAAY,iBAAiBD,IAAQ,EAAE;AACxF,SAAOC,EAAE,aAAad,KAAWC,GAAUa,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,GAAGA,EAAE,CAAC;AACzE;AAEO,SAASC,GAASF,GAAO;AAI9B,SAHIA,KAAS,SACRF,OAASA,KAAU,SAAS,gBAAgB,8BAA8B,GAAG,IAClFA,GAAQ,aAAa,aAAaE,CAAK,GACnC,EAAEA,IAAQF,GAAQ,UAAU,QAAQ,YAAW,MAAYX,MAC/Da,IAAQA,EAAM,QACPZ,GAAUY,EAAM,GAAGA,EAAM,GAAGA,EAAM,GAAGA,EAAM,GAAGA,EAAM,GAAGA,EAAM,CAAC;AACvE;ACdA,SAASG,GAAqBC,GAAOC,GAASC,GAASC,GAAU;AAE/D,WAASC,EAAI,GAAG;AACd,WAAO,EAAE,SAAS,EAAE,IAAG,IAAK,MAAM;AAAA,EACpC;AAEA,WAASC,EAAUC,GAAIC,GAAIC,GAAIC,GAAIC,GAAGC,GAAG;AACvC,QAAIL,MAAOE,KAAMD,MAAOE,GAAI;AAC1B,UAAIG,IAAIF,EAAE,KAAK,cAAc,MAAMT,GAAS,MAAMC,CAAO;AACzD,MAAAS,EAAE,KAAK,EAAC,GAAGC,IAAI,GAAG,GAAGC,GAAOP,GAAIE,CAAE,EAAC,GAAG,EAAC,GAAGI,IAAI,GAAG,GAAGC,GAAON,GAAIE,CAAE,EAAC,CAAC;AAAA,IACrE,MAAO,EAAID,KAAMC,MACfC,EAAE,KAAK,eAAeF,IAAKP,IAAUQ,IAAKP,CAAO;AAAA,EAErD;AAEA,WAASY,EAAO7B,GAAGC,GAAGwB,GAAGC,GAAG;AAC1B,IAAI1B,MAAMC,KACJD,IAAIC,IAAI,MAAKA,KAAK,MAAcA,IAAID,IAAI,QAAKA,KAAK,MACtD0B,EAAE,KAAK,EAAC,GAAGD,EAAE,KAAKN,EAAIM,CAAC,IAAI,WAAW,MAAMP,CAAQ,IAAI,GAAG,GAAGU,GAAO5B,GAAGC,CAAC,EAAC,CAAC,KAClEA,KACTwB,EAAE,KAAKN,EAAIM,CAAC,IAAI,YAAYxB,IAAIiB,CAAQ;AAAA,EAE5C;AAEA,WAASV,EAAMR,GAAGC,GAAGwB,GAAGC,GAAG;AACzB,IAAI1B,MAAMC,IACRyB,EAAE,KAAK,EAAC,GAAGD,EAAE,KAAKN,EAAIM,CAAC,IAAI,UAAU,MAAMP,CAAQ,IAAI,GAAG,GAAGU,GAAO5B,GAAGC,CAAC,EAAC,CAAC,IACjEA,KACTwB,EAAE,KAAKN,EAAIM,CAAC,IAAI,WAAWxB,IAAIiB,CAAQ;AAAA,EAE3C;AAEA,WAASY,EAAMT,GAAIC,GAAIC,GAAIC,GAAIC,GAAGC,GAAG;AACnC,QAAIL,MAAOE,KAAMD,MAAOE,GAAI;AAC1B,UAAIG,IAAIF,EAAE,KAAKN,EAAIM,CAAC,IAAI,UAAU,MAAM,KAAK,MAAM,GAAG;AACtD,MAAAC,EAAE,KAAK,EAAC,GAAGC,IAAI,GAAG,GAAGC,GAAOP,GAAIE,CAAE,EAAC,GAAG,EAAC,GAAGI,IAAI,GAAG,GAAGC,GAAON,GAAIE,CAAE,EAAC,CAAC;AAAA,IACrE,MAAO,EAAID,MAAO,KAAKC,MAAO,MAC5BC,EAAE,KAAKN,EAAIM,CAAC,IAAI,WAAWF,IAAK,MAAMC,IAAK,GAAG;AAAA,EAElD;AAEA,SAAO,SAASxB,GAAGC,GAAG;AACpB,QAAIwB,IAAI,CAAA,GACJC,IAAI,CAAA;AACR,WAAA1B,IAAIe,EAAMf,CAAC,GAAGC,IAAIc,EAAMd,CAAC,GACzBmB,EAAUpB,EAAE,YAAYA,EAAE,YAAYC,EAAE,YAAYA,EAAE,YAAYwB,GAAGC,CAAC,GACtEG,EAAO7B,EAAE,QAAQC,EAAE,QAAQwB,GAAGC,CAAC,GAC/BlB,EAAMR,EAAE,OAAOC,EAAE,OAAOwB,GAAGC,CAAC,GAC5BI,EAAM9B,EAAE,QAAQA,EAAE,QAAQC,EAAE,QAAQA,EAAE,QAAQwB,GAAGC,CAAC,GAClD1B,IAAIC,IAAI,MACD,SAAS8B,GAAG;AAEjB,eADIJ,IAAI,IAAInC,IAAIkC,EAAE,QAAQM,GACnB,EAAEL,IAAInC,IAAG,CAAAiC,GAAGO,IAAIN,EAAEC,CAAC,GAAG,CAAC,IAAIK,EAAE,EAAED,CAAC;AACvC,aAAON,EAAE,KAAK,EAAE;AAAA,IAClB;AAAA,EACF;AACF;AAEO,IAAIQ,KAA0BnB,GAAqBJ,IAAU,QAAQ,OAAO,MAAM,GAC9EwB,KAA0BpB,GAAqBD,IAAU,MAAM,KAAK,GAAG,GC9D9EsB,KAAW;AAEf,SAASC,GAAKlD,GAAG;AACf,WAASA,IAAI,KAAK,IAAIA,CAAC,KAAK,IAAIA,KAAK;AACvC;AAEA,SAASmD,GAAKnD,GAAG;AACf,WAASA,IAAI,KAAK,IAAIA,CAAC,KAAK,IAAIA,KAAK;AACvC;AAEA,SAASoD,GAAKpD,GAAG;AACf,WAASA,IAAI,KAAK,IAAI,IAAIA,CAAC,KAAK,MAAMA,IAAI;AAC5C;AAEA,MAAAqD,MAAgB,SAASC,EAAQC,GAAKC,GAAMC,GAAM;AAIhD,WAASC,EAAKC,GAAIC,GAAI;AACpB,QAAIC,IAAMF,EAAG,CAAC,GAAGG,IAAMH,EAAG,CAAC,GAAGI,IAAKJ,EAAG,CAAC,GACnCK,IAAMJ,EAAG,CAAC,GAAGK,IAAML,EAAG,CAAC,GAAGM,IAAKN,EAAG,CAAC,GACnCO,IAAKH,IAAMH,GACXO,IAAKH,IAAMH,GACXO,IAAKF,IAAKA,IAAKC,IAAKA,GACpB3B,GACA6B;AAGJ,QAAID,IAAKpB;AACP,MAAAqB,IAAI,KAAK,IAAIJ,IAAKH,CAAE,IAAIR,GACxBd,IAAI,SAASI,GAAG;AACd,eAAO;AAAA,UACLgB,IAAMhB,IAAIsB;AAAA,UACVL,IAAMjB,IAAIuB;AAAA,UACVL,IAAK,KAAK,IAAIR,IAAMV,IAAIyB,CAAC;AAAA,QACnC;AAAA,MACM;AAAA,SAIG;AACH,UAAIC,IAAK,KAAK,KAAKF,CAAE,GACjBG,KAAMN,IAAKA,IAAKH,IAAKA,IAAKN,IAAOY,MAAO,IAAIN,IAAKP,IAAOe,IACxDE,KAAMP,IAAKA,IAAKH,IAAKA,IAAKN,IAAOY,MAAO,IAAIH,IAAKV,IAAOe,IACxDG,IAAK,KAAK,IAAI,KAAK,KAAKF,IAAKA,IAAK,CAAC,IAAIA,CAAE,GACzCG,IAAK,KAAK,IAAI,KAAK,KAAKF,IAAKA,IAAK,CAAC,IAAIA,CAAE;AAC7C,MAAAH,KAAKK,IAAKD,KAAMnB,GAChBd,IAAI,SAASI,GAAG;AACd,YAAIN,IAAIM,IAAIyB,GACRM,IAAS1B,GAAKwB,CAAE,GAChBG,IAAId,KAAMP,IAAOe,MAAOK,IAASxB,GAAKG,IAAMhB,IAAImC,CAAE,IAAIvB,GAAKuB,CAAE;AACjE,eAAO;AAAA,UACLb,IAAMgB,IAAIV;AAAA,UACVL,IAAMe,IAAIT;AAAA,UACVL,IAAKa,IAAS1B,GAAKK,IAAMhB,IAAImC,CAAE;AAAA,QACzC;AAAA,MACM;AAAA,IACF;AAEA,WAAAjC,EAAE,WAAW6B,IAAI,MAAOf,IAAM,KAAK,OAE5Bd;AAAA,EACT;AAEA,SAAAiB,EAAK,MAAM,SAASoB,GAAG;AACrB,QAAIC,IAAK,KAAK,IAAI,MAAM,CAACD,CAAC,GAAGE,IAAKD,IAAKA,GAAIE,IAAKD,IAAKA;AACrD,WAAO1B,EAAQyB,GAAIC,GAAIC,CAAE;AAAA,EAC3B,GAEOvB;AACT,GAAG,KAAK,OAAO,GAAG,CAAC;ACpEJ,SAAAwB,GAASC,GAAUC,GAAOC,GAAM;AAC7C,MAAIxC,IAAI,IAAIyC;AACZ,SAAAF,IAAQA,KAAS,OAAO,IAAI,CAACA,GAC7BvC,EAAE,QAAQ,CAAA0C,MAAW;AACnB,IAAA1C,EAAE,KAAI,GACNsC,EAASI,IAAUH,CAAK;AAAA,EAC1B,GAAGA,GAAOC,CAAI,GACPxC;AACT;ACRA,SAAS2C,GAAKC,GAASC,IAAU,IAAI;AACnC,MAAID,EAAQ,QAAQ,QAAiBC,EAAQ,cAAjB;AAC1B,WAAOD,EAAQ;AAEjB,QAAME,IAAS,CAAC,OAAU,OAAU,QAAW,MAAS;AACxD,SAAAC,GAAUH,GAAS,CAACI,MAAU;AAC5B,IAAIF,EAAO,CAAC,IAAIE,EAAM,CAAC,MACrBF,EAAO,CAAC,IAAIE,EAAM,CAAC,IAEjBF,EAAO,CAAC,IAAIE,EAAM,CAAC,MACrBF,EAAO,CAAC,IAAIE,EAAM,CAAC,IAEjBF,EAAO,CAAC,IAAIE,EAAM,CAAC,MACrBF,EAAO,CAAC,IAAIE,EAAM,CAAC,IAEjBF,EAAO,CAAC,IAAIE,EAAM,CAAC,MACrBF,EAAO,CAAC,IAAIE,EAAM,CAAC;AAAA,EAEvB,CAAC,GACMF;AACT;AACG,IAACG,KAAgBN,ICvBTO,IAAU,MACV9C,KAAW,OACX+C,IAAK,KAAK,IACVC,IAASD,IAAK,GACdE,KAAYF,IAAK,GACjBG,IAAMH,IAAK,GAEXrF,IAAU,MAAMqF,GAChBI,IAAUJ,IAAK,KAEfK,IAAM,KAAK,KACXC,KAAO,KAAK,MACZC,KAAQ,KAAK,OACbC,IAAM,KAAK,KAEXC,KAAM,KAAK,KAGXC,KAAM,KAAK,KAEXC,IAAM,KAAK,KACXC,KAAO,KAAK,QAAQ,SAAS5G,GAAG;AAAE,SAAOA,IAAI,IAAI,IAAIA,IAAI,IAAI,KAAK;AAAG,GACrE6G,KAAO,KAAK,MACZC,KAAM,KAAK;AAEf,SAASC,GAAK/G,GAAG;AACtB,SAAOA,IAAI,IAAI,IAAIA,IAAI,KAAKgG,IAAK,KAAK,KAAKhG,CAAC;AAC9C;AAEO,SAASgH,GAAKhH,GAAG;AACtB,SAAOA,IAAI,IAAIiG,IAASjG,IAAI,KAAK,CAACiG,IAAS,KAAK,KAAKjG,CAAC;AACxD;AC/Be,SAASiH,IAAO;AAAC;ACAhC,SAASC,GAAeC,GAAUC,GAAQ;AACxC,EAAID,KAAYE,GAAmB,eAAeF,EAAS,IAAI,KAC7DE,GAAmBF,EAAS,IAAI,EAAEA,GAAUC,CAAM;AAEtD;AAEA,IAAIE,KAAmB;AAAA,EACrB,SAAS,SAASC,GAAQH,GAAQ;AAChC,IAAAF,GAAeK,EAAO,UAAUH,CAAM;AAAA,EACxC;AAAA,EACA,mBAAmB,SAASG,GAAQH,GAAQ;AAE1C,aADII,IAAWD,EAAO,UAAU,IAAI,IAAIjH,IAAIkH,EAAS,QAC9C,EAAE,IAAIlH,IAAG,CAAA4G,GAAeM,EAAS,CAAC,EAAE,UAAUJ,CAAM;AAAA,EAC7D;AACF,GAEIC,KAAqB;AAAA,EACvB,QAAQ,SAASE,GAAQH,GAAQ;AAC/B,IAAAA,EAAO,OAAM;AAAA,EACf;AAAA,EACA,OAAO,SAASG,GAAQH,GAAQ;AAC9B,IAAAG,IAASA,EAAO,aAChBH,EAAO,MAAMG,EAAO,CAAC,GAAGA,EAAO,CAAC,GAAGA,EAAO,CAAC,CAAC;AAAA,EAC9C;AAAA,EACA,YAAY,SAASA,GAAQH,GAAQ;AAEnC,aADIK,IAAcF,EAAO,aAAa,IAAI,IAAIjH,IAAImH,EAAY,QACvD,EAAE,IAAInH,IAAG,CAAAiH,IAASE,EAAY,CAAC,GAAGL,EAAO,MAAMG,EAAO,CAAC,GAAGA,EAAO,CAAC,GAAGA,EAAO,CAAC,CAAC;AAAA,EACvF;AAAA,EACA,YAAY,SAASA,GAAQH,GAAQ;AACnC,IAAAM,GAAWH,EAAO,aAAaH,GAAQ,CAAC;AAAA,EAC1C;AAAA,EACA,iBAAiB,SAASG,GAAQH,GAAQ;AAExC,aADIK,IAAcF,EAAO,aAAa,IAAI,IAAIjH,IAAImH,EAAY,QACvD,EAAE,IAAInH,IAAG,CAAAoH,GAAWD,EAAY,CAAC,GAAGL,GAAQ,CAAC;AAAA,EACtD;AAAA,EACA,SAAS,SAASG,GAAQH,GAAQ;AAChC,IAAAO,GAAcJ,EAAO,aAAaH,CAAM;AAAA,EAC1C;AAAA,EACA,cAAc,SAASG,GAAQH,GAAQ;AAErC,aADIK,IAAcF,EAAO,aAAa,IAAI,IAAIjH,IAAImH,EAAY,QACvD,EAAE,IAAInH,IAAG,CAAAqH,GAAcF,EAAY,CAAC,GAAGL,CAAM;AAAA,EACtD;AAAA,EACA,oBAAoB,SAASG,GAAQH,GAAQ;AAE3C,aADIQ,IAAaL,EAAO,YAAY,IAAI,IAAIjH,IAAIsH,EAAW,QACpD,EAAE,IAAItH,IAAG,CAAA4G,GAAeU,EAAW,CAAC,GAAGR,CAAM;AAAA,EACtD;AACF;AAEA,SAASM,GAAWD,GAAaL,GAAQS,GAAQ;AAC/C,MAAI,IAAI,IAAIvH,IAAImH,EAAY,SAASI,GAAQC;AAE7C,OADAV,EAAO,UAAS,GACT,EAAE,IAAI9G,IAAG,CAAAwH,IAAaL,EAAY,CAAC,GAAGL,EAAO,MAAMU,EAAW,CAAC,GAAGA,EAAW,CAAC,GAAGA,EAAW,CAAC,CAAC;AACrG,EAAAV,EAAO,QAAO;AAChB;AAEA,SAASO,GAAcF,GAAaL,GAAQ;AAC1C,MAAI3E,IAAI,IAAInC,IAAImH,EAAY;AAE5B,OADAL,EAAO,aAAY,GACZ,EAAE3E,IAAInC,IAAG,CAAAoH,GAAWD,EAAYhF,CAAC,GAAG2E,GAAQ,CAAC;AACpD,EAAAA,EAAO,WAAU;AACnB;AAEe,SAAAW,GAASR,GAAQH,GAAQ;AACtC,EAAIG,KAAUD,GAAiB,eAAeC,EAAO,IAAI,IACvDD,GAAiBC,EAAO,IAAI,EAAEA,GAAQH,CAAM,IAE5CF,GAAeK,GAAQH,CAAM;AAEjC;AClEO,SAASY,GAAUC,GAAW;AACnC,SAAO,CAAC1B,GAAM0B,EAAU,CAAC,GAAGA,EAAU,CAAC,CAAC,GAAGjB,GAAKiB,EAAU,CAAC,CAAC,CAAC;AAC/D;AAEO,SAASA,GAAUD,GAAW;AACnC,MAAIE,IAASF,EAAU,CAAC,GAAGG,IAAMH,EAAU,CAAC,GAAGI,IAAS5B,EAAI2B,CAAG;AAC/D,SAAO,CAACC,IAAS5B,EAAI0B,CAAM,GAAGE,IAASzB,EAAIuB,CAAM,GAAGvB,EAAIwB,CAAG,CAAC;AAC9D;AAEO,SAASE,GAAavH,GAAGC,GAAG;AACjC,SAAOD,EAAE,CAAC,IAAIC,EAAE,CAAC,IAAID,EAAE,CAAC,IAAIC,EAAE,CAAC,IAAID,EAAE,CAAC,IAAIC,EAAE,CAAC;AAC/C;AAEO,SAASuH,GAAexH,GAAGC,GAAG;AACnC,SAAO,CAACD,EAAE,CAAC,IAAIC,EAAE,CAAC,IAAID,EAAE,CAAC,IAAIC,EAAE,CAAC,GAAGD,EAAE,CAAC,IAAIC,EAAE,CAAC,IAAID,EAAE,CAAC,IAAIC,EAAE,CAAC,GAAGD,EAAE,CAAC,IAAIC,EAAE,CAAC,IAAID,EAAE,CAAC,IAAIC,EAAE,CAAC,CAAC;AACzF;AAGO,SAASwH,GAAoBzH,GAAGC,GAAG;AACxC,EAAAD,EAAE,CAAC,KAAKC,EAAE,CAAC,GAAGD,EAAE,CAAC,KAAKC,EAAE,CAAC,GAAGD,EAAE,CAAC,KAAKC,EAAE,CAAC;AACzC;AAEO,SAASyH,GAAeC,GAAQC,GAAG;AACxC,SAAO,CAACD,EAAO,CAAC,IAAIC,GAAGD,EAAO,CAAC,IAAIC,GAAGD,EAAO,CAAC,IAAIC,CAAC;AACrD;AAGO,SAASC,GAA0B1H,GAAG;AAC3C,MAAI2H,IAAI/B,GAAK5F,EAAE,CAAC,IAAIA,EAAE,CAAC,IAAIA,EAAE,CAAC,IAAIA,EAAE,CAAC,IAAIA,EAAE,CAAC,IAAIA,EAAE,CAAC,CAAC;AACpD,EAAAA,EAAE,CAAC,KAAK2H,GAAG3H,EAAE,CAAC,KAAK2H,GAAG3H,EAAE,CAAC,KAAK2H;AAChC;AChCe,SAAAC,GAAS/H,GAAGC,GAAG;AAE5B,WAAS8H,EAAQ7I,GAAGG,GAAG;AACrB,WAAOH,IAAIc,EAAEd,GAAGG,CAAC,GAAGY,EAAEf,EAAE,CAAC,GAAGA,EAAE,CAAC,CAAC;AAAA,EAClC;AAEA,SAAIc,EAAE,UAAUC,EAAE,WAAQ8H,EAAQ,SAAS,SAAS7I,GAAGG,GAAG;AACxD,WAAOH,IAAIe,EAAE,OAAOf,GAAGG,CAAC,GAAGH,KAAKc,EAAE,OAAOd,EAAE,CAAC,GAAGA,EAAE,CAAC,CAAC;AAAA,EACrD,IAEO6I;AACT;ACRA,SAASC,GAAiBZ,GAAQC,GAAK;AACrC,SAAI9B,EAAI6B,CAAM,IAAIlC,MAAIkC,KAAU,KAAK,MAAMA,IAAS/B,CAAG,IAAIA,IACpD,CAAC+B,GAAQC,CAAG;AACrB;AAEAW,GAAiB,SAASA;AAEnB,SAASC,GAAcC,GAAaC,GAAUC,GAAY;AAC/D,UAAQF,KAAe7C,KAAQ8C,KAAYC,IAAaL,GAAQM,GAAeH,CAAW,GAAGI,GAAiBH,GAAUC,CAAU,CAAC,IAC/HC,GAAeH,CAAW,IACzBC,KAAYC,IAAaE,GAAiBH,GAAUC,CAAU,IAC/DJ;AACN;AAEA,SAASO,GAAsBL,GAAa;AAC1C,SAAO,SAASd,GAAQC,GAAK;AAC3B,WAAAD,KAAUc,GACN3C,EAAI6B,CAAM,IAAIlC,MAAIkC,KAAU,KAAK,MAAMA,IAAS/B,CAAG,IAAIA,IACpD,CAAC+B,GAAQC,CAAG;AAAA,EACrB;AACF;AAEA,SAASgB,GAAeH,GAAa;AACnC,MAAIM,IAAWD,GAAsBL,CAAW;AAChD,SAAAM,EAAS,SAASD,GAAsB,CAACL,CAAW,GAC7CM;AACT;AAEA,SAASF,GAAiBH,GAAUC,GAAY;AAC9C,MAAIK,IAAc/C,EAAIyC,CAAQ,GAC1BO,IAAc7C,EAAIsC,CAAQ,GAC1BQ,IAAgBjD,EAAI0C,CAAU,GAC9BQ,IAAgB/C,EAAIuC,CAAU;AAElC,WAASI,EAASpB,GAAQC,GAAK;AAC7B,QAAIC,IAAS5B,EAAI2B,CAAG,GAChBnI,IAAIwG,EAAI0B,CAAM,IAAIE,GAClBjI,IAAIwG,EAAIuB,CAAM,IAAIE,GAClBuB,IAAIhD,EAAIwB,CAAG,GACXO,IAAIiB,IAAIJ,IAAcvJ,IAAIwJ;AAC9B,WAAO;AAAA,MACLjD,GAAMpG,IAAIsJ,IAAgBf,IAAIgB,GAAe1J,IAAIuJ,IAAcI,IAAIH,CAAW;AAAA,MAC9ExC,GAAK0B,IAAIe,IAAgBtJ,IAAIuJ,CAAa;AAAA,IAChD;AAAA,EACE;AAEA,SAAAJ,EAAS,SAAS,SAASpB,GAAQC,GAAK;AACtC,QAAIC,IAAS5B,EAAI2B,CAAG,GAChBnI,IAAIwG,EAAI0B,CAAM,IAAIE,GAClBjI,IAAIwG,EAAIuB,CAAM,IAAIE,GAClBuB,IAAIhD,EAAIwB,CAAG,GACXO,IAAIiB,IAAIF,IAAgBtJ,IAAIuJ;AAChC,WAAO;AAAA,MACLnD,GAAMpG,IAAIsJ,IAAgBE,IAAID,GAAe1J,IAAIuJ,IAAcb,IAAIc,CAAW;AAAA,MAC9ExC,GAAK0B,IAAIa,IAAcvJ,IAAIwJ,CAAW;AAAA,IAC5C;AAAA,EACE,GAEOF;AACT;AAEe,SAAAA,GAAS3G,GAAQ;AAC9B,EAAAA,IAASoG,GAAcpG,EAAO,CAAC,IAAIyD,GAASzD,EAAO,CAAC,IAAIyD,GAASzD,EAAO,SAAS,IAAIA,EAAO,CAAC,IAAIyD,IAAU,CAAC;AAE5G,WAASwD,EAAQnC,GAAa;AAC5B,WAAAA,IAAc9E,EAAO8E,EAAY,CAAC,IAAIrB,GAASqB,EAAY,CAAC,IAAIrB,CAAO,GAChEqB,EAAY,CAAC,KAAK9G,GAAS8G,EAAY,CAAC,KAAK9G,GAAS8G;AAAA,EAC/D;AAEA,SAAAmC,EAAQ,SAAS,SAASnC,GAAa;AACrC,WAAAA,IAAc9E,EAAO,OAAO8E,EAAY,CAAC,IAAIrB,GAASqB,EAAY,CAAC,IAAIrB,CAAO,GACvEqB,EAAY,CAAC,KAAK9G,GAAS8G,EAAY,CAAC,KAAK9G,GAAS8G;AAAA,EAC/D,GAEOmC;AACT;ACxEO,SAASC,GAAazC,GAAQ0C,GAAQC,GAAOC,GAAWC,GAAIC,GAAI;AACrE,MAAKH,GACL;AAAA,QAAII,IAAY3D,EAAIsD,CAAM,GACtBM,IAAYzD,EAAImD,CAAM,GACtBO,IAAOL,IAAYD;AACvB,IAAIE,KAAM,QACRA,IAAKH,IAASE,IAAY7D,GAC1B+D,IAAKJ,IAASO,IAAO,MAErBJ,IAAKK,GAAaH,GAAWF,CAAE,GAC/BC,IAAKI,GAAaH,GAAWD,CAAE,IAC3BF,IAAY,IAAIC,IAAKC,IAAKD,IAAKC,OAAID,KAAMD,IAAY7D;AAE3D,aAASoE,GAAO1H,IAAIoH,GAAID,IAAY,IAAInH,IAAIqH,IAAKrH,IAAIqH,GAAIrH,KAAKwH;AAC5D,MAAAE,IAAQvC,GAAU,CAACmC,GAAW,CAACC,IAAY5D,EAAI3D,CAAC,GAAG,CAACuH,IAAYzD,EAAI9D,CAAC,CAAC,CAAC,GACvEuE,EAAO,MAAMmD,EAAM,CAAC,GAAGA,EAAM,CAAC,CAAC;AAAA;AAEnC;AAGA,SAASD,GAAaH,GAAWI,GAAO;AACtC,EAAAA,IAAQtC,GAAUsC,CAAK,GAAGA,EAAM,CAAC,KAAKJ,GACtCxB,GAA0B4B,CAAK;AAC/B,MAAIT,IAAS/C,GAAK,CAACwD,EAAM,CAAC,CAAC;AAC3B,WAAS,CAACA,EAAM,CAAC,IAAI,IAAI,CAACT,IAASA,KAAU3D,IAAMJ,KAAWI;AAChE;AC7Be,SAAAqE,KAAW;AACxB,MAAIC,IAAQ,CAAA,GACRC;AACJ,SAAO;AAAA,IACL,OAAO,SAAS1K,GAAGG,GAAGuB,GAAG;AACvB,MAAAgJ,EAAK,KAAK,CAAC1K,GAAGG,GAAGuB,CAAC,CAAC;AAAA,IACrB;AAAA,IACA,WAAW,WAAW;AACpB,MAAA+I,EAAM,KAAKC,IAAO,EAAE;AAAA,IACtB;AAAA,IACA,SAASzD;AAAA,IACT,QAAQ,WAAW;AACjB,MAAIwD,EAAM,SAAS,KAAGA,EAAM,KAAKA,EAAM,IAAG,EAAG,OAAOA,EAAM,MAAK,CAAE,CAAC;AAAA,IACpE;AAAA,IACA,QAAQ,WAAW;AACjB,UAAI9E,IAAS8E;AACb,aAAAA,IAAQ,CAAA,GACRC,IAAO,MACA/E;AAAA,IACT;AAAA,EACJ;AACA;ACrBe,SAAAgF,GAAS7J,GAAGC,GAAG;AAC5B,SAAOsF,EAAIvF,EAAE,CAAC,IAAIC,EAAE,CAAC,CAAC,IAAIgF,KAAWM,EAAIvF,EAAE,CAAC,IAAIC,EAAE,CAAC,CAAC,IAAIgF;AAC1D;ACDA,SAAS6E,GAAaL,GAAOM,GAAQC,GAAOC,GAAO;AACjD,OAAK,IAAIR,GACT,KAAK,IAAIM,GACT,KAAK,IAAIC,GACT,KAAK,IAAIC,GACT,KAAK,IAAI,IACT,KAAK,IAAI,KAAK,IAAI;AACpB;AAKe,SAAAC,GAASC,GAAUC,GAAqBC,GAAaC,GAAahE,GAAQ;AACvF,MAAIiE,IAAU,CAAA,GACVC,IAAO,CAAA,GACP7I,GACAnC;AAuBJ,MArBA2K,EAAS,QAAQ,SAASM,GAAS;AACjC,QAAK,GAAAjL,IAAIiL,EAAQ,SAAS,MAAM,IAChC;AAAA,UAAIjL,GAAGqD,IAAK4H,EAAQ,CAAC,GAAG3H,IAAK2H,EAAQjL,CAAC,GAAGN;AAEzC,UAAI2K,GAAWhH,GAAIC,CAAE,GAAG;AACtB,YAAI,CAACD,EAAG,CAAC,KAAK,CAACC,EAAG,CAAC,GAAG;AAEpB,eADAwD,EAAO,UAAS,GACX3E,IAAI,GAAGA,IAAInC,GAAG,EAAEmC,EAAG,CAAA2E,EAAO,OAAOzD,IAAK4H,EAAQ9I,CAAC,GAAG,CAAC,GAAGkB,EAAG,CAAC,CAAC;AAChE,UAAAyD,EAAO,QAAO;AACd;AAAA,QACF;AAEA,QAAAxD,EAAG,CAAC,KAAK,IAAImC;AAAA,MACf;AAEA,MAAAsF,EAAQ,KAAKrL,IAAI,IAAI4K,GAAajH,GAAI4H,GAAS,MAAM,EAAI,CAAC,GAC1DD,EAAK,KAAKtL,EAAE,IAAI,IAAI4K,GAAajH,GAAI,MAAM3D,GAAG,EAAK,CAAC,GACpDqL,EAAQ,KAAKrL,IAAI,IAAI4K,GAAahH,GAAI2H,GAAS,MAAM,EAAK,CAAC,GAC3DD,EAAK,KAAKtL,EAAE,IAAI,IAAI4K,GAAahH,GAAI,MAAM5D,GAAG,EAAI,CAAC;AAAA;AAAA,EACrD,CAAC,GAEG,EAACqL,EAAQ,QAMb;AAAA,SAJAC,EAAK,KAAKJ,CAAmB,GAC7BM,GAAKH,CAAO,GACZG,GAAKF,CAAI,GAEJ7I,IAAI,GAAGnC,IAAIgL,EAAK,QAAQ7I,IAAInC,GAAG,EAAEmC;AACpC,MAAA6I,EAAK7I,CAAC,EAAE,IAAI0I,IAAc,CAACA;AAO7B,aAJIM,IAAQJ,EAAQ,CAAC,GACjBR,GACAN,OAEM;AAIR,eAFImB,IAAUD,GACVE,IAAY,IACTD,EAAQ,IAAG,MAAKA,IAAUA,EAAQ,OAAOD,EAAO;AACvD,MAAAZ,IAASa,EAAQ,GACjBtE,EAAO,UAAS;AAChB,SAAG;AAED,YADAsE,EAAQ,IAAIA,EAAQ,EAAE,IAAI,IACtBA,EAAQ,GAAG;AACb,cAAIC;AACF,iBAAKlJ,IAAI,GAAGnC,IAAIuK,EAAO,QAAQpI,IAAInC,GAAG,EAAEmC,EAAG,CAAA2E,EAAO,OAAOmD,IAAQM,EAAOpI,CAAC,GAAG,CAAC,GAAG8H,EAAM,CAAC,CAAC;AAAA;AAExF,YAAAa,EAAYM,EAAQ,GAAGA,EAAQ,EAAE,GAAG,GAAGtE,CAAM;AAE/C,UAAAsE,IAAUA,EAAQ;AAAA,QACpB,OAAO;AACL,cAAIC;AAEF,iBADAd,IAASa,EAAQ,EAAE,GACdjJ,IAAIoI,EAAO,SAAS,GAAGpI,KAAK,GAAG,EAAEA,EAAG,CAAA2E,EAAO,OAAOmD,IAAQM,EAAOpI,CAAC,GAAG,CAAC,GAAG8H,EAAM,CAAC,CAAC;AAAA;AAEtF,YAAAa,EAAYM,EAAQ,GAAGA,EAAQ,EAAE,GAAG,IAAItE,CAAM;AAEhD,UAAAsE,IAAUA,EAAQ;AAAA,QACpB;AACA,QAAAA,IAAUA,EAAQ,GAClBb,IAASa,EAAQ,GACjBC,IAAY,CAACA;AAAA,MACf,SAAS,CAACD,EAAQ;AAClB,MAAAtE,EAAO,QAAO;AAAA,IAChB;AAAA;AACF;AAEA,SAASoE,GAAK/K,GAAO;AACnB,MAAM,IAAIA,EAAM,QAKhB;AAAA,aAJI,GACAgC,IAAI,GACJ3B,IAAIL,EAAM,CAAC,GACXM,GACG,EAAE0B,IAAI;AACX,MAAA3B,EAAE,IAAIC,IAAIN,EAAMgC,CAAC,GACjB1B,EAAE,IAAID,GACNA,IAAIC;AAEN,IAAAD,EAAE,IAAIC,IAAIN,EAAM,CAAC,GACjBM,EAAE,IAAID;AAAA;AACR;AClGA,SAAS8K,GAAUrB,GAAO;AACxB,SAAOlE,EAAIkE,EAAM,CAAC,CAAC,KAAKvE,IAAKuE,EAAM,CAAC,IAAI3D,GAAK2D,EAAM,CAAC,CAAC,MAAMlE,EAAIkE,EAAM,CAAC,CAAC,IAAIvE,KAAMG,IAAMH;AACzF;AAEe,SAAA6F,GAASC,GAASvB,GAAO;AACtC,MAAIrC,IAAS0D,GAAUrB,CAAK,GACxBpC,IAAMoC,EAAM,CAAC,GACbwB,IAASpF,EAAIwB,CAAG,GAChB6D,IAAS,CAACrF,EAAIuB,CAAM,GAAG,CAAC1B,EAAI0B,CAAM,GAAG,CAAC,GACtC+D,IAAQ,GACRC,IAAU,GAEVC,IAAM,IAAIpM,GAAK;AAEnB,EAAIgM,MAAW,IAAG5D,IAAMlC,IAASF,IACxBgG,MAAW,OAAI5D,IAAM,CAAClC,IAASF;AAExC,WAAStD,IAAI,GAAGnC,IAAIwL,EAAQ,QAAQrJ,IAAInC,GAAG,EAAEmC;AAC3C,QAAMf,KAAK0K,IAAON,EAAQrJ,CAAC,GAAG;AAS9B,eARI2J,GACA1K,GACA2K,IAASD,EAAK1K,IAAI,CAAC,GACnB4K,IAAUV,GAAUS,CAAM,GAC1BE,IAAOF,EAAO,CAAC,IAAI,IAAInG,IACvBsG,IAAU7F,EAAI4F,CAAI,GAClBE,IAAUjG,EAAI+F,CAAI,GAEbrM,IAAI,GAAGA,IAAIwB,GAAG,EAAExB,GAAGoM,IAAUI,GAASF,IAAUG,GAASF,IAAUG,GAASP,IAASQ,GAAQ;AACpG,YAAIA,IAAST,EAAKlM,CAAC,GACfwM,IAAUd,GAAUiB,CAAM,GAC1BC,IAAOD,EAAO,CAAC,IAAI,IAAI3G,IACvByG,IAAUhG,EAAImG,CAAI,GAClBF,IAAUpG,EAAIsG,CAAI,GAClB/C,IAAQ2C,IAAUJ,GAClB1F,IAAOmD,KAAS,IAAI,IAAI,IACxBgD,IAAWnG,IAAOmD,GAClBiD,IAAeD,IAAW/G,GAC1B0C,IAAI8D,IAAUG;AAOlB,YALAR,EAAI,IAAI5F,GAAMmC,IAAI9B,IAAOD,EAAIoG,CAAQ,GAAGN,IAAUG,IAAUlE,IAAIlC,EAAIuG,CAAQ,CAAC,CAAC,GAC9Ed,KAASe,IAAejD,IAAQnD,IAAOT,IAAM4D,GAIzCiD,IAAeV,KAAWpE,IAASwE,KAAWxE,GAAQ;AACxD,cAAI+E,IAAM3E,GAAeL,GAAUoE,CAAM,GAAGpE,GAAU4E,CAAM,CAAC;AAC7D,UAAAlE,GAA0BsE,CAAG;AAC7B,cAAIC,IAAe5E,GAAe0D,GAAQiB,CAAG;AAC7C,UAAAtE,GAA0BuE,CAAY;AACtC,cAAIC,KAAUH,IAAejD,KAAS,IAAI,KAAK,KAAK/C,GAAKkG,EAAa,CAAC,CAAC;AACxE,WAAI/E,IAAMgF,KAAUhF,MAAQgF,MAAWF,EAAI,CAAC,KAAKA,EAAI,CAAC,QACpDf,KAAWc,IAAejD,KAAS,IAAI,IAAI;AAAA,QAE/C;AAAA,MACF;AAcF,UAAQkC,IAAQ,CAAClG,KAAWkG,IAAQlG,KAAWoG,IAAM,CAAClJ,MAAaiJ,IAAU;AAC/E;ACnEe,SAAAZ,GAAS8B,GAAcC,GAAUjC,GAAaK,GAAO;AAClE,SAAO,SAAS6B,GAAM;AACpB,QAAI5C,IAAO2C,EAASC,CAAI,GACpBC,IAAa/C,GAAU,GACvBgD,IAAWH,EAASE,CAAU,GAC9BE,IAAiB,IACjB3B,GACAb,GACAmB,GAEAd,IAAO;AAAA,MACT,OAAOf;AAAA,MACP,WAAWmD;AAAA,MACX,SAASC;AAAA,MACT,cAAc,WAAW;AACvB,QAAArC,EAAK,QAAQsC,GACbtC,EAAK,YAAYuC,GACjBvC,EAAK,UAAUwC,GACf7C,IAAW,CAAA,GACXa,IAAU,CAAA;AAAA,MACZ;AAAA,MACA,YAAY,WAAW;AACrB,QAAAR,EAAK,QAAQf,GACbe,EAAK,YAAYoC,GACjBpC,EAAK,UAAUqC,GACf1C,IAAWvK,GAAMuK,CAAQ;AACzB,YAAIE,IAAcU,GAAgBC,GAASL,CAAK;AAChD,QAAIR,EAAS,UACNwC,MAAgBH,EAAK,aAAY,GAAIG,IAAiB,KAC3DzC,GAAWC,GAAUC,IAAqBC,GAAaC,GAAakC,CAAI,KAC/DnC,MACJsC,MAAgBH,EAAK,aAAY,GAAIG,IAAiB,KAC3DH,EAAK,UAAS,GACdlC,EAAY,MAAM,MAAM,GAAGkC,CAAI,GAC/BA,EAAK,QAAO,IAEVG,MAAgBH,EAAK,WAAU,GAAIG,IAAiB,KACxDxC,IAAWa,IAAU;AAAA,MACvB;AAAA,MACA,QAAQ,WAAW;AACjB,QAAAwB,EAAK,aAAY,GACjBA,EAAK,UAAS,GACdlC,EAAY,MAAM,MAAM,GAAGkC,CAAI,GAC/BA,EAAK,QAAO,GACZA,EAAK,WAAU;AAAA,MACjB;AAAA,IACN;AAEI,aAAS/C,EAAMrC,GAAQC,GAAK;AAC1B,MAAIiF,EAAalF,GAAQC,CAAG,KAAGmF,EAAK,MAAMpF,GAAQC,CAAG;AAAA,IACvD;AAEA,aAAS4F,EAAU7F,GAAQC,GAAK;AAC9B,MAAAuC,EAAK,MAAMxC,GAAQC,CAAG;AAAA,IACxB;AAEA,aAASuF,IAAY;AACnB,MAAApC,EAAK,QAAQyC,GACbrD,EAAK,UAAS;AAAA,IAChB;AAEA,aAASiD,IAAU;AACjB,MAAArC,EAAK,QAAQf,GACbG,EAAK,QAAO;AAAA,IACd;AAEA,aAASkD,EAAU1F,GAAQC,GAAK;AAC9B,MAAAiE,EAAK,KAAK,CAAClE,GAAQC,CAAG,CAAC,GACvBqF,EAAS,MAAMtF,GAAQC,CAAG;AAAA,IAC5B;AAEA,aAAS0F,IAAY;AACnB,MAAAL,EAAS,UAAS,GAClBpB,IAAO,CAAA;AAAA,IACT;AAEA,aAAS0B,IAAU;AACjB,MAAAF,EAAUxB,EAAK,CAAC,EAAE,CAAC,GAAGA,EAAK,CAAC,EAAE,CAAC,CAAC,GAChCoB,EAAS,QAAO;AAEhB,UAAIQ,IAAQR,EAAS,MAAK,GACtBS,IAAeV,EAAW,OAAM,GAChC9K,GAAGnC,IAAI2N,EAAa,QAAQvM,GAC5B6J,GACAhB;AAMJ,UAJA6B,EAAK,IAAG,GACRN,EAAQ,KAAKM,CAAI,GACjBA,IAAO,MAEH,EAAC9L,GAGL;AAAA,YAAI0N,IAAQ,GAAG;AAEb,cADAzC,IAAU0C,EAAa,CAAC,IACnBvM,IAAI6J,EAAQ,SAAS,KAAK,GAAG;AAGhC,iBAFKkC,MAAgBH,EAAK,aAAY,GAAIG,IAAiB,KAC3DH,EAAK,UAAS,GACT7K,IAAI,GAAGA,IAAIf,GAAG,EAAEe,EAAG,CAAA6K,EAAK,OAAO/C,IAAQgB,EAAQ9I,CAAC,GAAG,CAAC,GAAG8H,EAAM,CAAC,CAAC;AACpE,YAAA+C,EAAK,QAAO;AAAA,UACd;AACA;AAAA,QACF;AAIA,QAAIhN,IAAI,KAAK0N,IAAQ,KAAGC,EAAa,KAAKA,EAAa,IAAG,EAAG,OAAOA,EAAa,MAAK,CAAE,CAAC,GAEzFhD,EAAS,KAAKgD,EAAa,OAAOC,EAAY,CAAC;AAAA;AAAA,IACjD;AAEA,WAAO5C;AAAA,EACT;AACF;AAEA,SAAS4C,GAAa3C,GAAS;AAC7B,SAAOA,EAAQ,SAAS;AAC1B;AAIA,SAASL,GAAoBpK,GAAGC,GAAG;AACjC,WAASD,IAAIA,EAAE,GAAG,CAAC,IAAI,IAAIA,EAAE,CAAC,IAAImF,IAASF,IAAUE,IAASnF,EAAE,CAAC,OACxDC,IAAIA,EAAE,GAAG,CAAC,IAAI,IAAIA,EAAE,CAAC,IAAIkF,IAASF,IAAUE,IAASlF,EAAE,CAAC;AACnE;AC/HA,MAAAoN,KAAe7C;AAAA,EACb,WAAW;AAAE,WAAO;AAAA,EAAM;AAAA,EAC1B8C;AAAA,EACAC;AAAA,EACA,CAAC,CAACrI,GAAI,CAACC,CAAM;AACf;AAKA,SAASmI,GAAqBhH,GAAQ;AACpC,MAAIkF,IAAU,KACVC,IAAO,KACP+B,IAAQ,KACRN;AAEJ,SAAO;AAAA,IACL,WAAW,WAAW;AACpB,MAAA5G,EAAO,UAAS,GAChB4G,IAAQ;AAAA,IACV;AAAA,IACA,OAAO,SAAStB,GAASI,GAAM;AAC7B,UAAIyB,IAAQ7B,IAAU,IAAI1G,IAAK,CAACA,GAC5B+D,IAAQ1D,EAAIqG,IAAUJ,CAAO;AACjC,MAAIjG,EAAI0D,IAAQ/D,CAAE,IAAID,KACpBqB,EAAO,MAAMkF,GAASC,KAAQA,IAAOO,KAAQ,IAAI,IAAI7G,IAAS,CAACA,CAAM,GACrEmB,EAAO,MAAMkH,GAAO/B,CAAI,GACxBnF,EAAO,QAAO,GACdA,EAAO,UAAS,GAChBA,EAAO,MAAMmH,GAAOhC,CAAI,GACxBnF,EAAO,MAAMsF,GAASH,CAAI,GAC1ByB,IAAQ,KACCM,MAAUC,KAASxE,KAAS/D,MACjCK,EAAIiG,IAAUgC,CAAK,IAAIvI,MAASuG,KAAWgC,IAAQvI,IACnDM,EAAIqG,IAAU6B,CAAK,IAAIxI,MAAS2G,KAAW6B,IAAQxI,IACvDwG,IAAOiC,GAA0BlC,GAASC,GAAMG,GAASI,CAAI,GAC7D1F,EAAO,MAAMkH,GAAO/B,CAAI,GACxBnF,EAAO,QAAO,GACdA,EAAO,UAAS,GAChBA,EAAO,MAAMmH,GAAOhC,CAAI,GACxByB,IAAQ,IAEV5G,EAAO,MAAMkF,IAAUI,GAASH,IAAOO,CAAI,GAC3CwB,IAAQC;AAAA,IACV;AAAA,IACA,SAAS,WAAW;AAClB,MAAAnH,EAAO,QAAO,GACdkF,IAAUC,IAAO;AAAA,IACnB;AAAA,IACA,OAAO,WAAW;AAChB,aAAO,IAAIyB;AAAA,IACb;AAAA,EACJ;AACA;AAEA,SAASQ,GAA0BlC,GAASC,GAAMG,GAASI,GAAM;AAC/D,MAAIL,GACAG,GACA6B,IAAoB9H,EAAI2F,IAAUI,CAAO;AAC7C,SAAOrG,EAAIoI,CAAiB,IAAI1I,IAC1BO,IAAMK,EAAI4F,CAAI,KAAKK,IAAUpG,EAAIsG,CAAI,KAAKnG,EAAI+F,CAAO,IACjD/F,EAAImG,CAAI,KAAKL,IAAUjG,EAAI+F,CAAI,KAAK5F,EAAI2F,CAAO,MAC9CG,IAAUG,IAAU6B,EAAkB,KAC1ClC,IAAOO,KAAQ;AACxB;AAEA,SAASuB,GAA4BK,GAAMC,GAAI3E,GAAW5C,GAAQ;AAChE,MAAIe;AACJ,MAAIuG,KAAQ;AACV,IAAAvG,IAAM6B,IAAY/D,GAClBmB,EAAO,MAAM,CAACpB,GAAImC,CAAG,GACrBf,EAAO,MAAM,GAAGe,CAAG,GACnBf,EAAO,MAAMpB,GAAImC,CAAG,GACpBf,EAAO,MAAMpB,GAAI,CAAC,GAClBoB,EAAO,MAAMpB,GAAI,CAACmC,CAAG,GACrBf,EAAO,MAAM,GAAG,CAACe,CAAG,GACpBf,EAAO,MAAM,CAACpB,GAAI,CAACmC,CAAG,GACtBf,EAAO,MAAM,CAACpB,GAAI,CAAC,GACnBoB,EAAO,MAAM,CAACpB,GAAImC,CAAG;AAAA,WACZ9B,EAAIqI,EAAK,CAAC,IAAIC,EAAG,CAAC,CAAC,IAAI5I,GAAS;AACzC,QAAImC,IAASwG,EAAK,CAAC,IAAIC,EAAG,CAAC,IAAI3I,IAAK,CAACA;AACrC,IAAAmC,IAAM6B,IAAY9B,IAAS,GAC3Bd,EAAO,MAAM,CAACc,GAAQC,CAAG,GACzBf,EAAO,MAAM,GAAGe,CAAG,GACnBf,EAAO,MAAMc,GAAQC,CAAG;AAAA,EAC1B;AACE,IAAAf,EAAO,MAAMuH,EAAG,CAAC,GAAGA,EAAG,CAAC,CAAC;AAE7B;ACrFe,SAAAC,GAAS9E,GAAQ;AAC9B,MAAI+E,IAAKrI,EAAIsD,CAAM,GACfC,IAAQ,IAAI3D,GACZ0I,IAAcD,IAAK,GACnBE,IAAgB1I,EAAIwI,CAAE,IAAI9I;AAE9B,WAASqF,EAAYsD,GAAMC,GAAI3E,GAAW5C,GAAQ;AAChD,IAAAyC,GAAazC,GAAQ0C,GAAQC,GAAOC,GAAW0E,GAAMC,CAAE;AAAA,EACzD;AAEA,WAASK,EAAQ9G,GAAQC,GAAK;AAC5B,WAAO3B,EAAI0B,CAAM,IAAI1B,EAAI2B,CAAG,IAAI0G;AAAA,EAClC;AAMA,WAASxB,EAASjG,GAAQ;AACxB,QAAIiF,GACA4C,GACAC,GACAC,GACAnB;AACJ,WAAO;AAAA,MACL,WAAW,WAAW;AACpB,QAAAmB,IAAMD,IAAK,IACXlB,IAAQ;AAAA,MACV;AAAA,MACA,OAAO,SAAS9F,GAAQC,GAAK;AAC3B,YAAI0E,IAAS,CAAC3E,GAAQC,CAAG,GACrBiH,GACAC,IAAIL,EAAQ9G,GAAQC,CAAG,GACvBnH,IAAI8N,IACAO,IAAI,IAAIC,EAAKpH,GAAQC,CAAG,IACxBkH,IAAIC,EAAKpH,KAAUA,IAAS,IAAIlC,IAAK,CAACA,IAAKmC,CAAG,IAAI;AAO1D,YANI,CAACkE,MAAW8C,IAAMD,IAAKG,MAAIjI,EAAO,UAAS,GAC3CiI,MAAMH,MACRE,IAASG,EAAUlD,GAAQQ,CAAM,IAC7B,CAACuC,KAAUzE,GAAW0B,GAAQ+C,CAAM,KAAKzE,GAAWkC,GAAQuC,CAAM,OACpEvC,EAAO,CAAC,IAAI,KAEZwC,MAAMH;AACR,UAAAlB,IAAQ,GACJqB,KAEFjI,EAAO,UAAS,GAChBgI,IAASG,EAAU1C,GAAQR,CAAM,GACjCjF,EAAO,MAAMgI,EAAO,CAAC,GAAGA,EAAO,CAAC,CAAC,MAGjCA,IAASG,EAAUlD,GAAQQ,CAAM,GACjCzF,EAAO,MAAMgI,EAAO,CAAC,GAAGA,EAAO,CAAC,GAAG,CAAC,GACpChI,EAAO,QAAO,IAEhBiF,IAAS+C;AAAA,iBACAL,KAAiB1C,KAAUyC,IAAcO,GAAG;AACrD,cAAIxM;AAGJ,UAAI,EAAE7B,IAAIiO,OAAQpM,IAAI0M,EAAU1C,GAAQR,GAAQ,EAAI,OAClD2B,IAAQ,GACJc,KACF1H,EAAO,UAAS,GAChBA,EAAO,MAAMvE,EAAE,CAAC,EAAE,CAAC,GAAGA,EAAE,CAAC,EAAE,CAAC,CAAC,GAC7BuE,EAAO,MAAMvE,EAAE,CAAC,EAAE,CAAC,GAAGA,EAAE,CAAC,EAAE,CAAC,CAAC,GAC7BuE,EAAO,QAAO,MAEdA,EAAO,MAAMvE,EAAE,CAAC,EAAE,CAAC,GAAGA,EAAE,CAAC,EAAE,CAAC,CAAC,GAC7BuE,EAAO,QAAO,GACdA,EAAO,UAAS,GAChBA,EAAO,MAAMvE,EAAE,CAAC,EAAE,CAAC,GAAGA,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;AAAA,QAGtC;AACA,QAAIwM,MAAM,CAAChD,KAAU,CAAC1B,GAAW0B,GAAQQ,CAAM,MAC7CzF,EAAO,MAAMyF,EAAO,CAAC,GAAGA,EAAO,CAAC,CAAC,GAEnCR,IAASQ,GAAQqC,IAAKG,GAAGJ,IAAKjO;AAAA,MAChC;AAAA,MACA,SAAS,WAAW;AAClB,QAAIkO,KAAI9H,EAAO,QAAO,GACtBiF,IAAS;AAAA,MACX;AAAA;AAAA;AAAA,MAGA,OAAO,WAAW;AAChB,eAAO2B,KAAUmB,KAAOD,MAAO;AAAA,MACjC;AAAA,IACN;AAAA,EACE;AAGA,WAASK,EAAU,GAAGxO,GAAGyO,GAAK;AAC5B,QAAIC,IAAKxH,GAAU,CAAC,GAChByH,IAAKzH,GAAUlH,CAAC,GAIhB4O,IAAK,CAAC,GAAG,GAAG,CAAC,GACbC,IAAKtH,GAAemH,GAAIC,CAAE,GAC1BG,IAAOxH,GAAauH,GAAIA,CAAE,GAC1BE,IAAOF,EAAG,CAAC,GACXG,IAAcF,IAAOC,IAAOA;AAGhC,QAAI,CAACC,EAAa,QAAO,CAACP,KAAO;AAEjC,QAAIQ,IAAMnB,IAAKgB,IAAOE,GAClBE,IAAK,CAACpB,IAAKiB,IAAOC,GAClBG,IAAQ5H,GAAeqH,GAAIC,CAAE,GAC7BO,IAAI3H,GAAemH,GAAIK,CAAE,GACzBI,IAAI5H,GAAeoH,GAAIK,CAAE;AAC7B,IAAA1H,GAAoB4H,GAAGC,CAAC;AAGxB,QAAIvL,IAAIqL,GACJG,IAAIhI,GAAa8H,GAAGtL,CAAC,GACrByL,IAAKjI,GAAaxD,GAAGA,CAAC,GACtB0L,IAAKF,IAAIA,IAAIC,KAAMjI,GAAa8H,GAAGA,CAAC,IAAI;AAE5C,QAAI,EAAAI,IAAK,IAET;AAAA,UAAI1N,IAAIgE,GAAK0J,CAAE,GACX/N,IAAIgG,GAAe3D,IAAI,CAACwL,IAAIxN,KAAKyN,CAAE;AAIvC,UAHA/H,GAAoB/F,GAAG2N,CAAC,GACxB3N,IAAIwF,GAAUxF,CAAC,GAEX,CAACgN,EAAK,QAAOhN;AAGjB,UAAI8J,IAAU,EAAE,CAAC,GACbI,IAAU3L,EAAE,CAAC,GACbwL,IAAO,EAAE,CAAC,GACVO,IAAO/L,EAAE,CAAC,GACV4I;AAEJ,MAAI+C,IAAUJ,MAAS3C,IAAI2C,GAASA,IAAUI,GAASA,IAAU/C;AAEjE,UAAII,IAAQ2C,IAAUJ,GAClBkE,IAAQnK,EAAI0D,IAAQ/D,CAAE,IAAID,GAC1B0K,IAAWD,KAASzG,IAAQhE;AAKhC,UAHI,CAACyK,KAAS1D,IAAOP,MAAM5C,IAAI4C,GAAMA,IAAOO,GAAMA,IAAOnD,IAGrD8G,IACED,IACEjE,IAAOO,IAAO,IAAItK,EAAE,CAAC,KAAK6D,EAAI7D,EAAE,CAAC,IAAI8J,CAAO,IAAIvG,IAAUwG,IAAOO,KACjEP,KAAQ/J,EAAE,CAAC,KAAKA,EAAE,CAAC,KAAKsK,IAC1B/C,IAAQ/D,KAAMsG,KAAW9J,EAAE,CAAC,KAAKA,EAAE,CAAC,KAAKkK,IAAU;AACvD,YAAIgE,IAAKlI,GAAe3D,IAAI,CAACwL,IAAIxN,KAAKyN,CAAE;AACxC,eAAA/H,GAAoBmI,GAAIP,CAAC,GAClB,CAAC3N,GAAGwF,GAAU0I,CAAE,CAAC;AAAA,MAC1B;AAAA;AAAA,EACF;AAIA,WAASpB,EAAKpH,GAAQC,GAAK;AACzB,QAAIwI,IAAI7B,IAAchF,IAAS9D,IAAK8D,GAChCwF,IAAO;AACX,WAAIpH,IAAS,CAACyI,IAAGrB,KAAQ,IAChBpH,IAASyI,MAAGrB,KAAQ,IACzBnH,IAAM,CAACwI,IAAGrB,KAAQ,IACbnH,IAAMwI,MAAGrB,KAAQ,IACnBA;AAAA,EACT;AAEA,SAAOhE,GAAK0D,GAAS3B,GAAUjC,GAAa0D,IAAc,CAAC,GAAG,CAAChF,CAAM,IAAI,CAAC,CAAC9D,GAAI8D,IAAS9D,CAAE,CAAC;AAC7F;AChLe,SAAAqH,GAASvM,GAAGC,GAAG6P,GAAIC,GAAIC,GAAIC,GAAI;AAC5C,MAAIC,IAAKlQ,EAAE,CAAC,GACRmQ,IAAKnQ,EAAE,CAAC,GACRoQ,IAAKnQ,EAAE,CAAC,GACRoQ,IAAKpQ,EAAE,CAAC,GACRkJ,IAAK,GACLC,IAAK,GACL/F,IAAK+M,IAAKF,GACV5M,IAAK+M,IAAKF,GACVN;AAGJ,MADAA,IAAIC,IAAKI,GACL,GAAC7M,KAAMwM,IAAI,IAEf;AAAA,QADAA,KAAKxM,GACDA,IAAK,GAAG;AACV,UAAIwM,IAAI1G,EAAI;AACZ,MAAI0G,IAAIzG,MAAIA,IAAKyG;AAAA,IACnB,WAAWxM,IAAK,GAAG;AACjB,UAAIwM,IAAIzG,EAAI;AACZ,MAAIyG,IAAI1G,MAAIA,IAAK0G;AAAA,IACnB;AAGA,QADAA,IAAIG,IAAKE,GACL,GAAC7M,KAAMwM,IAAI,IAEf;AAAA,UADAA,KAAKxM,GACDA,IAAK,GAAG;AACV,YAAIwM,IAAIzG,EAAI;AACZ,QAAIyG,IAAI1G,MAAIA,IAAK0G;AAAA,MACnB,WAAWxM,IAAK,GAAG;AACjB,YAAIwM,IAAI1G,EAAI;AACZ,QAAI0G,IAAIzG,MAAIA,IAAKyG;AAAA,MACnB;AAGA,UADAA,IAAIE,IAAKI,GACL,GAAC7M,KAAMuM,IAAI,IAEf;AAAA,YADAA,KAAKvM,GACDA,IAAK,GAAG;AACV,cAAIuM,IAAI1G,EAAI;AACZ,UAAI0G,IAAIzG,MAAIA,IAAKyG;AAAA,QACnB,WAAWvM,IAAK,GAAG;AACjB,cAAIuM,IAAIzG,EAAI;AACZ,UAAIyG,IAAI1G,MAAIA,IAAK0G;AAAA,QACnB;AAGA,YADAA,IAAII,IAAKE,GACL,GAAC7M,KAAMuM,IAAI,IAEf;AAAA,cADAA,KAAKvM,GACDA,IAAK,GAAG;AACV,gBAAIuM,IAAIzG,EAAI;AACZ,YAAIyG,IAAI1G,MAAIA,IAAK0G;AAAA,UACnB,WAAWvM,IAAK,GAAG;AACjB,gBAAIuM,IAAI1G,EAAI;AACZ,YAAI0G,IAAIzG,MAAIA,IAAKyG;AAAA,UACnB;AAEA,iBAAI1G,IAAK,MAAGnJ,EAAE,CAAC,IAAIkQ,IAAK/G,IAAK9F,GAAIrD,EAAE,CAAC,IAAImQ,IAAKhH,IAAK7F,IAC9C8F,IAAK,MAAGnJ,EAAE,CAAC,IAAIiQ,IAAK9G,IAAK/F,GAAIpD,EAAE,CAAC,IAAIkQ,IAAK/G,IAAK9F,IAC3C;AAAA;AAAA;AAAA;AAAA;AACT;ACpDA,IAAIgN,KAAU,KAAKC,KAAU,CAACD;AAKf,SAASE,GAAcV,GAAIC,GAAIC,GAAIC,GAAI;AAEpD,WAAS/B,EAAQhP,GAAGG,GAAG;AACrB,WAAOyQ,KAAM5Q,KAAKA,KAAK8Q,KAAMD,KAAM1Q,KAAKA,KAAK4Q;AAAA,EAC/C;AAEA,WAAS3F,EAAYsD,GAAMC,GAAI3E,GAAW5C,GAAQ;AAChD,QAAItG,IAAI,GAAGyQ,IAAK;AAChB,QAAI7C,KAAQ,SACJ5N,IAAI0Q,EAAO9C,GAAM1E,CAAS,QAAQuH,IAAKC,EAAO7C,GAAI3E,CAAS,MAC5DyH,EAAa/C,GAAMC,CAAE,IAAI,IAAI3E,IAAY;AAC9C;AAAG,QAAA5C,EAAO,MAAMtG,MAAM,KAAKA,MAAM,IAAI8P,IAAKE,GAAIhQ,IAAI,IAAIiQ,IAAKF,CAAE;AAAA,cACrD/P,KAAKA,IAAIkJ,IAAY,KAAK,OAAOuH;AAAA;AAEzC,MAAAnK,EAAO,MAAMuH,EAAG,CAAC,GAAGA,EAAG,CAAC,CAAC;AAAA,EAE7B;AAEA,WAAS6C,EAAOvR,GAAG+J,GAAW;AAC5B,WAAO3D,EAAIpG,EAAE,CAAC,IAAI2Q,CAAE,IAAI7K,IAAUiE,IAAY,IAAI,IAAI,IAChD3D,EAAIpG,EAAE,CAAC,IAAI6Q,CAAE,IAAI/K,IAAUiE,IAAY,IAAI,IAAI,IAC/C3D,EAAIpG,EAAE,CAAC,IAAI4Q,CAAE,IAAI9K,IAAUiE,IAAY,IAAI,IAAI,IAC/CA,IAAY,IAAI,IAAI;AAAA,EAC5B;AAEA,WAASkB,EAAoBpK,GAAGC,GAAG;AACjC,WAAO0Q,EAAa3Q,EAAE,GAAGC,EAAE,CAAC;AAAA,EAC9B;AAEA,WAAS0Q,EAAa3Q,GAAGC,GAAG;AAC1B,QAAI2Q,IAAKF,EAAO1Q,GAAG,CAAC,GAChB6Q,IAAKH,EAAOzQ,GAAG,CAAC;AACpB,WAAO2Q,MAAOC,IAAKD,IAAKC,IAClBD,MAAO,IAAI3Q,EAAE,CAAC,IAAID,EAAE,CAAC,IACrB4Q,MAAO,IAAI5Q,EAAE,CAAC,IAAIC,EAAE,CAAC,IACrB2Q,MAAO,IAAI5Q,EAAE,CAAC,IAAIC,EAAE,CAAC,IACrBA,EAAE,CAAC,IAAID,EAAE,CAAC;AAAA,EAClB;AAEA,SAAO,SAASsG,GAAQ;AACtB,QAAIwK,IAAexK,GACfyK,IAAerH,GAAU,GACzBS,GACAa,GACAM,GACA0F,GAAKC,GAAKC,GACVC,GAAIC,GAAIC,GACRC,GACApE,GAEAqE,IAAa;AAAA,MACf,OAAO9H;AAAA,MACP,WAAWmD;AAAA,MACX,SAASC;AAAA,MACT,cAAc2E;AAAA,MACd,YAAYC;AAAA,IAClB;AAEI,aAAShI,EAAMvK,GAAGG,GAAG;AACnB,MAAI6O,EAAQhP,GAAGG,CAAC,KAAGyR,EAAa,MAAM5R,GAAGG,CAAC;AAAA,IAC5C;AAEA,aAASqS,IAAgB;AAGvB,eAFItG,IAAU,GAELzJ,IAAI,GAAGnC,IAAIwL,EAAQ,QAAQrJ,IAAInC,GAAG,EAAEmC;AAC3C,iBAAS2J,IAAON,EAAQrJ,CAAC,GAAGvC,IAAI,GAAGwB,IAAI0K,EAAK,QAAQ7B,IAAQ6B,EAAK,CAAC,GAAGqG,GAAIlB,GAAI/M,IAAK+F,EAAM,CAAC,GAAG9F,IAAK8F,EAAM,CAAC,GAAGrK,IAAIwB,GAAG,EAAExB;AAClH,UAAAuS,IAAKjO,GAAI+M,IAAK9M,GAAI8F,IAAQ6B,EAAKlM,CAAC,GAAGsE,IAAK+F,EAAM,CAAC,GAAG9F,IAAK8F,EAAM,CAAC,GAC1DgH,KAAMR,IAAUtM,IAAKsM,MAAOvM,IAAKiO,MAAO1B,IAAKQ,MAAO9M,IAAK8M,MAAOX,IAAK6B,MAAK,EAAEvG,IACrEzH,KAAMsM,MAAOvM,IAAKiO,MAAO1B,IAAKQ,MAAO9M,IAAK8M,MAAOX,IAAK6B,MAAK,EAAEvG;AAI5E,aAAOA;AAAA,IACT;AAGA,aAASoG,IAAe;AACtB,MAAAV,IAAeC,GAAc5G,IAAW,CAAA,GAAIa,IAAU,CAAA,GAAIkC,IAAQ;AAAA,IACpE;AAEA,aAASuE,IAAa;AACpB,UAAIpH,IAAcqH,EAAa,GAC3BE,IAAc1E,KAAS7C,GACvB6D,KAAW/D,IAAWvK,GAAMuK,CAAQ,GAAG;AAC3C,OAAIyH,KAAe1D,OACjB5H,EAAO,aAAY,GACfsL,MACFtL,EAAO,UAAS,GAChBgE,EAAY,MAAM,MAAM,GAAGhE,CAAM,GACjCA,EAAO,QAAO,IAEZ4H,KACFhE,GAAWC,GAAUC,GAAqBC,GAAaC,GAAahE,CAAM,GAE5EA,EAAO,WAAU,IAEnBwK,IAAexK,GAAQ6D,IAAWa,IAAUM,IAAO;AAAA,IACrD;AAEA,aAASsB,IAAY;AACnB,MAAA2E,EAAW,QAAQM,GACf7G,KAASA,EAAQ,KAAKM,IAAO,CAAA,CAAE,GACnCgG,IAAQ,IACRD,IAAK,IACLF,IAAKC,IAAK;AAAA,IACZ;AAKA,aAASvE,IAAU;AACjB,MAAI1C,MACF0H,EAAUb,GAAKC,CAAG,GACdC,KAAOG,KAAIN,EAAa,OAAM,GAClC5G,EAAS,KAAK4G,EAAa,QAAQ,IAErCQ,EAAW,QAAQ9H,GACf4H,KAAIP,EAAa,QAAO;AAAA,IAC9B;AAEA,aAASe,EAAU3S,GAAGG,GAAG;AACvB,UAAIkP,IAAIL,EAAQhP,GAAGG,CAAC;AAEpB,UADI2L,KAASM,EAAK,KAAK,CAACpM,GAAGG,CAAC,CAAC,GACzBiS;AACF,QAAAN,IAAM9R,GAAG+R,IAAM5R,GAAG6R,IAAM3C,GACxB+C,IAAQ,IACJ/C,MACFuC,EAAa,UAAS,GACtBA,EAAa,MAAM5R,GAAGG,CAAC;AAAA,eAGrBkP,KAAK8C,EAAI,CAAAP,EAAa,MAAM5R,GAAGG,CAAC;AAAA,WAC/B;AACH,YAAIW,IAAI,CAACmR,IAAK,KAAK,IAAIZ,IAAS,KAAK,IAAID,IAASa,CAAE,CAAC,GAAGC,IAAK,KAAK,IAAIb,IAAS,KAAK,IAAID,IAASc,CAAE,CAAC,CAAC,GACjGnR,IAAI,CAACf,IAAI,KAAK,IAAIqR,IAAS,KAAK,IAAID,IAASpR,CAAC,CAAC,GAAGG,IAAI,KAAK,IAAIkR,IAAS,KAAK,IAAID,IAASjR,CAAC,CAAC,CAAC;AACjG,QAAIkN,GAASvM,GAAGC,GAAG6P,GAAIC,GAAIC,GAAIC,CAAE,KAC1BoB,MACHP,EAAa,UAAS,GACtBA,EAAa,MAAM9Q,EAAE,CAAC,GAAGA,EAAE,CAAC,CAAC,IAE/B8Q,EAAa,MAAM7Q,EAAE,CAAC,GAAGA,EAAE,CAAC,CAAC,GACxBsO,KAAGuC,EAAa,QAAO,GAC5B5D,IAAQ,MACCqB,MACTuC,EAAa,UAAS,GACtBA,EAAa,MAAM5R,GAAGG,CAAC,GACvB6N,IAAQ;AAAA,MAEZ;AAEF,MAAAiE,IAAKjS,GAAGkS,IAAK/R,GAAGgS,IAAK9C;AAAA,IACvB;AAEA,WAAOgD;AAAA,EACT;AACF;ACvKA,MAAAO,KAAe,CAAA5S,MAAKA;ACIpB,IAAI6S,KAAU,IAAI9S,GAAK,GACnB+S,KAAc,IAAI/S,GAAK,GACvBgT,IACAC,IACApC,IACAC,IAEAoC,KAAa;AAAA,EACf,OAAOhM;AAAA,EACP,WAAWA;AAAA,EACX,SAASA;AAAA,EACT,cAAc,WAAW;AACvB,IAAAgM,GAAW,YAAYC,IACvBD,GAAW,UAAUE;AAAA,EACvB;AAAA,EACA,YAAY,WAAW;AACrB,IAAAF,GAAW,YAAYA,GAAW,UAAUA,GAAW,QAAQhM,GAC/D4L,GAAQ,IAAIxM,EAAIyM,EAAW,CAAC,GAC5BA,KAAc,IAAI/S,GAAK;AAAA,EACzB;AAAA,EACA,QAAQ,WAAW;AACjB,QAAIqT,IAAOP,KAAU;AACrB,WAAAA,KAAU,IAAI9S,GAAK,GACZqT;AAAA,EACT;AACF;AAEA,SAASF,KAAgB;AACvB,EAAAD,GAAW,QAAQI;AACrB;AAEA,SAASA,GAAerT,GAAGG,GAAG;AAC5B,EAAA8S,GAAW,QAAQK,IACnBP,KAAMnC,KAAK5Q,GAAGgT,KAAMnC,KAAK1Q;AAC3B;AAEA,SAASmT,GAAUtT,GAAGG,GAAG;AACvB,EAAA2S,GAAY,IAAIjC,KAAK7Q,IAAI4Q,KAAKzQ,CAAC,GAC/ByQ,KAAK5Q,GAAG6Q,KAAK1Q;AACf;AAEA,SAASgT,KAAc;AACrB,EAAAG,GAAUP,IAAKC,EAAG;AACpB;AC7CA,IAAIpC,KAAK,OACLC,KAAKD,IACLE,KAAK,CAACF,IACNG,KAAKD,IAELyC,KAAe;AAAA,EACjB,OAAOC;AAAA,EACP,WAAWvM;AAAA,EACX,SAASA;AAAA,EACT,cAAcA;AAAA,EACd,YAAYA;AAAA,EACZ,QAAQ,WAAW;AACjB,QAAIwM,IAAS,CAAC,CAAC7C,IAAIC,EAAE,GAAG,CAACC,IAAIC,EAAE,CAAC;AAChC,WAAAD,KAAKC,KAAK,EAAEF,KAAKD,KAAK,QACf6C;AAAA,EACT;AACF;AAEA,SAASD,GAAYxT,GAAGG,GAAG;AACzB,EAAIH,IAAI4Q,OAAIA,KAAK5Q,IACbA,IAAI8Q,OAAIA,KAAK9Q,IACbG,IAAI0Q,OAAIA,KAAK1Q,IACbA,IAAI4Q,OAAIA,KAAK5Q;AACnB;ACrBA,IAAIuT,KAAK,GACLC,KAAK,GACLC,KAAK,GACLC,KAAK,GACLC,KAAK,GACLC,KAAK,GACLC,KAAK,GACLC,KAAK,GACLC,KAAK,GACLnB,IACAC,IACApC,IACAC,IAEAsD,IAAiB;AAAA,EACnB,OAAOC;AAAA,EACP,WAAWC;AAAA,EACX,SAASC;AAAA,EACT,cAAc,WAAW;AACvB,IAAAH,EAAe,YAAYI,IAC3BJ,EAAe,UAAUK;AAAA,EAC3B;AAAA,EACA,YAAY,WAAW;AACrB,IAAAL,EAAe,QAAQC,IACvBD,EAAe,YAAYE,IAC3BF,EAAe,UAAUG;AAAA,EAC3B;AAAA,EACA,QAAQ,WAAW;AACjB,QAAIG,IAAWP,KAAK,CAACF,KAAKE,IAAID,KAAKC,EAAE,IAC/BH,KAAK,CAACF,KAAKE,IAAID,KAAKC,EAAE,IACtBH,KAAK,CAACF,KAAKE,IAAID,KAAKC,EAAE,IACtB,CAAC,KAAK,GAAG;AACf,WAAAF,KAAKC,KAAKC,KACVC,KAAKC,KAAKC,KACVC,KAAKC,KAAKC,KAAK,GACRO;AAAA,EACT;AACF;AAEA,SAASL,GAAcpU,GAAGG,GAAG;AAC3B,EAAAuT,MAAM1T,GACN2T,MAAMxT,GACN,EAAEyT;AACJ;AAEA,SAASS,KAAoB;AAC3B,EAAAF,EAAe,QAAQO;AACzB;AAEA,SAASA,GAAuB1U,GAAGG,GAAG;AACpC,EAAAgU,EAAe,QAAQQ,IACvBP,GAAcxD,KAAK5Q,GAAG6Q,KAAK1Q,CAAC;AAC9B;AAEA,SAASwU,GAAkB3U,GAAGG,GAAG;AAC/B,MAAIgE,IAAKnE,IAAI4Q,IAAIxM,IAAKjE,IAAI0Q,IAAIlH,IAAI9C,GAAK1C,IAAKA,IAAKC,IAAKA,CAAE;AACxD,EAAAyP,MAAMlK,KAAKiH,KAAK5Q,KAAK,GACrB8T,MAAMnK,KAAKkH,KAAK1Q,KAAK,GACrB4T,MAAMpK,GACNyK,GAAcxD,KAAK5Q,GAAG6Q,KAAK1Q,CAAC;AAC9B;AAEA,SAASmU,KAAkB;AACzB,EAAAH,EAAe,QAAQC;AACzB;AAEA,SAASG,KAAoB;AAC3B,EAAAJ,EAAe,QAAQS;AACzB;AAEA,SAASJ,KAAkB;AACzB,EAAAK,GAAkB9B,IAAKC,EAAG;AAC5B;AAEA,SAAS4B,GAAuB5U,GAAGG,GAAG;AACpC,EAAAgU,EAAe,QAAQU,IACvBT,GAAcrB,KAAMnC,KAAK5Q,GAAGgT,KAAMnC,KAAK1Q,CAAC;AAC1C;AAEA,SAAS0U,GAAkB7U,GAAGG,GAAG;AAC/B,MAAIgE,IAAKnE,IAAI4Q,IACTxM,IAAKjE,IAAI0Q,IACTlH,IAAI9C,GAAK1C,IAAKA,IAAKC,IAAKA,CAAE;AAE9B,EAAAyP,MAAMlK,KAAKiH,KAAK5Q,KAAK,GACrB8T,MAAMnK,KAAKkH,KAAK1Q,KAAK,GACrB4T,MAAMpK,GAENA,IAAIkH,KAAK7Q,IAAI4Q,KAAKzQ,GAClB6T,MAAMrK,KAAKiH,KAAK5Q,IAChBiU,MAAMtK,KAAKkH,KAAK1Q,IAChB+T,MAAMvK,IAAI,GACVyK,GAAcxD,KAAK5Q,GAAG6Q,KAAK1Q,CAAC;AAC9B;AC9Fe,SAAS2U,GAAYC,GAAS;AAC3C,OAAK,WAAWA;AAClB;AAEAD,GAAY,YAAY;AAAA,EACtB,SAAS;AAAA,EACT,aAAa,SAAShQ,GAAG;AACvB,WAAO,KAAK,UAAUA,GAAG;AAAA,EAC3B;AAAA,EACA,cAAc,WAAW;AACvB,SAAK,QAAQ;AAAA,EACf;AAAA,EACA,YAAY,WAAW;AACrB,SAAK,QAAQ;AAAA,EACf;AAAA,EACA,WAAW,WAAW;AACpB,SAAK,SAAS;AAAA,EAChB;AAAA,EACA,SAAS,WAAW;AAClB,IAAI,KAAK,UAAU,KAAG,KAAK,SAAS,UAAS,GAC7C,KAAK,SAAS;AAAA,EAChB;AAAA,EACA,OAAO,SAAS9E,GAAGG,GAAG;AACpB,YAAQ,KAAK,QAAM;AAAA,MACjB,KAAK,GAAG;AACN,aAAK,SAAS,OAAOH,GAAGG,CAAC,GACzB,KAAK,SAAS;AACd;AAAA,MACF;AAAA,MACA,KAAK,GAAG;AACN,aAAK,SAAS,OAAOH,GAAGG,CAAC;AACzB;AAAA,MACF;AAAA,MACA,SAAS;AACP,aAAK,SAAS,OAAOH,IAAI,KAAK,SAASG,CAAC,GACxC,KAAK,SAAS,IAAIH,GAAGG,GAAG,KAAK,SAAS,GAAGgG,CAAG;AAC5C;AAAA,MACF;AAAA,IACN;AAAA,EACE;AAAA,EACA,QAAQc;AACV;ACxCA,IAAI+N,KAAY,IAAIjV,GAAK,GACrBkV,IACAlC,IACAC,IACApC,IACAC,IAEAqE,KAAe;AAAA,EACjB,OAAOjO;AAAA,EACP,WAAW,WAAW;AACpB,IAAAiO,GAAa,QAAQC;AAAA,EACvB;AAAA,EACA,SAAS,WAAW;AAClB,IAAIF,MAAYG,GAAYrC,IAAKC,EAAG,GACpCkC,GAAa,QAAQjO;AAAA,EACvB;AAAA,EACA,cAAc,WAAW;AACvB,IAAAgO,KAAa;AAAA,EACf;AAAA,EACA,YAAY,WAAW;AACrB,IAAAA,KAAa;AAAA,EACf;AAAA,EACA,QAAQ,WAAW;AACjB,QAAII,IAAS,CAACL;AACd,WAAAA,KAAY,IAAIjV,GAAK,GACdsV;AAAA,EACT;AACF;AAEA,SAASF,GAAiBnV,GAAGG,GAAG;AAC9B,EAAA+U,GAAa,QAAQE,IACrBrC,KAAMnC,KAAK5Q,GAAGgT,KAAMnC,KAAK1Q;AAC3B;AAEA,SAASiV,GAAYpV,GAAGG,GAAG;AACzB,EAAAyQ,MAAM5Q,GAAG6Q,MAAM1Q,GACf6U,GAAU,IAAInO,GAAK+J,KAAKA,KAAKC,KAAKA,EAAE,CAAC,GACrCD,KAAK5Q,GAAG6Q,KAAK1Q;AACf;ACzCA,IAAImV,IAAaC,IAAaC,IAAaC;AAE5B,MAAMC,GAAW;AAAA,EAC9B,YAAYC,GAAQ;AAClB,SAAK,UAAUA,KAAU,OAAOC,KAASC,GAAYF,CAAM,GAC3D,KAAK,UAAU,KACf,KAAK,IAAI;AAAA,EACX;AAAA,EACA,YAAY7Q,GAAG;AACb,gBAAK,UAAU,CAACA,GACT;AAAA,EACT;AAAA,EACA,eAAe;AACb,SAAK,QAAQ;AAAA,EACf;AAAA,EACA,aAAa;AACX,SAAK,QAAQ;AAAA,EACf;AAAA,EACA,YAAY;AACV,SAAK,SAAS;AAAA,EAChB;AAAA,EACA,UAAU;AACR,IAAI,KAAK,UAAU,MAAG,KAAK,KAAK,MAChC,KAAK,SAAS;AAAA,EAChB;AAAA,EACA,MAAM9E,GAAGG,GAAG;AACV,YAAQ,KAAK,QAAM;AAAA,MACjB,KAAK,GAAG;AACN,aAAK,WAAWH,CAAC,IAAIG,CAAC,IACtB,KAAK,SAAS;AACd;AAAA,MACF;AAAA,MACA,KAAK,GAAG;AACN,aAAK,WAAWH,CAAC,IAAIG,CAAC;AACtB;AAAA,MACF;AAAA,MACA,SAAS;AAEP,YADA,KAAK,WAAWH,CAAC,IAAIG,CAAC,IAClB,KAAK,YAAYqV,MAAe,KAAK,YAAYD,IAAa;AAChE,gBAAM5E,IAAI,KAAK,SACTpO,IAAI,KAAK;AACf,eAAK,IAAI,IACT,KAAK,aAAaoO,CAAC,IAAIA,CAAC,IAAIA,CAAC,YAAY,KAAKA,CAAC,IAAIA,CAAC,IAAIA,CAAC,YAAY,IAAIA,CAAC,KAC1E6E,KAAc7E,GACd4E,KAAc,KAAK,SACnBE,KAAc,KAAK,GACnB,KAAK,IAAIlT;AAAA,QACX;AACA,aAAK,KAAKkT;AACV;AAAA,MACF;AAAA,IACN;AAAA,EACE;AAAA,EACA,SAAS;AACP,UAAM9P,IAAS,KAAK;AACpB,gBAAK,IAAI,IACFA,EAAO,SAASA,IAAS;AAAA,EAClC;AACF;AAEA,SAASiQ,GAAOE,GAAS;AACvB,MAAIrT,IAAI;AACR,OAAK,KAAKqT,EAAQ,CAAC;AACnB,aAAW5V,IAAI4V,EAAQ,QAAQrT,IAAIvC,GAAG,EAAEuC;AACtC,SAAK,KAAK,UAAUA,CAAC,IAAIqT,EAAQrT,CAAC;AAEtC;AAEA,SAASoT,GAAYF,GAAQ;AAC3B,QAAM1U,IAAI,KAAK,MAAM0U,CAAM;AAC3B,MAAI,EAAE1U,KAAK,GAAI,OAAM,IAAI,WAAW,mBAAmB0U,CAAM,EAAE;AAC/D,MAAI1U,IAAI,GAAI,QAAO2U;AACnB,MAAI3U,MAAMqU,IAAa;AACrB,UAAM5M,IAAI,MAAMzH;AAChB,IAAAqU,KAAcrU,GACdsU,KAAc,SAAgBO,GAAS;AACrC,UAAIrT,IAAI;AACR,WAAK,KAAKqT,EAAQ,CAAC;AACnB,iBAAW5V,IAAI4V,EAAQ,QAAQrT,IAAIvC,GAAG,EAAEuC;AACtC,aAAK,KAAK,KAAK,MAAM,UAAUA,CAAC,IAAIiG,CAAC,IAAIA,IAAIoN,EAAQrT,CAAC;AAAA,IAE1D;AAAA,EACF;AACA,SAAO8S;AACT;AC5Ee,SAAAQ,GAASC,GAAYjB,GAAS;AAC3C,MAAIY,IAAS,GACTM,IAAc,KACdC,GACAC;AAEJ,WAASC,EAAK7O,GAAQ;AACpB,WAAIA,MACE,OAAO0O,KAAgB,cAAYE,EAAc,YAAY,CAACF,EAAY,MAAM,MAAM,SAAS,CAAC,GACpG7O,GAAOG,GAAQ2O,EAAiBC,CAAa,CAAC,IAEzCA,EAAc,OAAM;AAAA,EAC7B;AAEA,SAAAC,EAAK,OAAO,SAAS7O,GAAQ;AAC3BH,WAAAA,GAAOG,GAAQ2O,EAAiBG,EAAQ,CAAC,GAClCA,GAAS,OAAM;AAAA,EACxB,GAEAD,EAAK,UAAU,SAAS7O,GAAQ;AAC9BH,WAAAA,GAAOG,GAAQ2O,EAAiBI,EAAW,CAAC,GACrCA,GAAY,OAAM;AAAA,EAC3B,GAEAF,EAAK,SAAS,SAAS7O,GAAQ;AAC7BH,WAAAA,GAAOG,GAAQ2O,EAAiBK,EAAU,CAAC,GACpCA,GAAW,OAAM;AAAA,EAC1B,GAEAH,EAAK,WAAW,SAAS7O,GAAQ;AAC/BH,WAAAA,GAAOG,GAAQ2O,EAAiBM,CAAY,CAAC,GACtCA,EAAa,OAAM;AAAA,EAC5B,GAEAJ,EAAK,aAAa,SAAStR,GAAG;AAC5B,WAAK,UAAU,UACfoR,IAAmBpR,KAAK,QAAQkR,IAAa,MAAMpV,OAAaoV,IAAalR,GAAG,QACzEsR,KAFuBJ;AAAA,EAGhC,GAEAI,EAAK,UAAU,SAAStR,GAAG;AACzB,WAAK,UAAU,UACfqR,IAAgBrR,KAAK,QAAQiQ,IAAU,MAAM,IAAIW,GAAWC,CAAM,KAAK,IAAIb,GAAYC,IAAUjQ,CAAC,GAC9F,OAAOmR,KAAgB,cAAYE,EAAc,YAAYF,CAAW,GACrEG,KAHuBrB;AAAA,EAIhC,GAEAqB,EAAK,cAAc,SAAStR,GAAG;AAC7B,WAAK,UAAU,UACfmR,IAAc,OAAOnR,KAAM,aAAaA,KAAKqR,EAAc,YAAY,CAACrR,CAAC,GAAG,CAACA,IACtEsR,KAFuBH;AAAA,EAGhC,GAEAG,EAAK,SAAS,SAAStR,GAAG;AACxB,QAAI,CAAC,UAAU,OAAQ,QAAO6Q;AAC9B,QAAI7Q,KAAK,KAAM,CAAA6Q,IAAS;AAAA,SACnB;AACH,YAAM1U,IAAI,KAAK,MAAM6D,CAAC;AACtB,UAAI,EAAE7D,KAAK,GAAI,OAAM,IAAI,WAAW,mBAAmB6D,CAAC,EAAE;AAC1D,MAAA6Q,IAAS1U;AAAA,IACX;AACA,WAAI8T,MAAY,SAAMoB,IAAgB,IAAIT,GAAWC,CAAM,IACpDS;AAAA,EACT,GAEOA,EAAK,WAAWJ,CAAU,EAAE,OAAOL,CAAM,EAAE,QAAQZ,CAAO;AACnE;ACrEO,SAAS0B,GAAYC,GAAS;AACnC,SAAO,SAAStP,GAAQ;AACtB,QAAI7E,IAAI,IAAIoU;AACZ,aAASC,KAAOF,EAAS,CAAAnU,EAAEqU,CAAG,IAAIF,EAAQE,CAAG;AAC7C,WAAArU,EAAE,SAAS6E,GACJ7E;AAAA,EACT;AACF;AAEA,SAASoU,KAAkB;AAAC;AAE5BA,GAAgB,YAAY;AAAA,EAC1B,aAAaA;AAAA,EACb,OAAO,SAAS3W,GAAGG,GAAG;AAAE,SAAK,OAAO,MAAMH,GAAGG,CAAC;AAAA,EAAG;AAAA,EACjD,QAAQ,WAAW;AAAE,SAAK,OAAO,OAAM;AAAA,EAAI;AAAA,EAC3C,WAAW,WAAW;AAAE,SAAK,OAAO,UAAS;AAAA,EAAI;AAAA,EACjD,SAAS,WAAW;AAAE,SAAK,OAAO,QAAO;AAAA,EAAI;AAAA,EAC7C,cAAc,WAAW;AAAE,SAAK,OAAO,aAAY;AAAA,EAAI;AAAA,EACvD,YAAY,WAAW;AAAE,SAAK,OAAO,WAAU;AAAA,EAAI;AACrD;ACtBA,SAAS0W,GAAIb,GAAYc,GAAWvP,GAAQ;AAC1C,MAAI+D,IAAO0K,EAAW,cAAcA,EAAW,WAAU;AACzD,SAAAA,EAAW,MAAM,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,GAClC1K,KAAQ,QAAM0K,EAAW,WAAW,IAAI,GAC5CjO,GAAUR,GAAQyO,EAAW,OAAOzC,EAAY,CAAC,GACjDuD,EAAUvD,GAAa,QAAQ,GAC3BjI,KAAQ,QAAM0K,EAAW,WAAW1K,CAAI,GACrC0K;AACT;AAEO,SAASe,GAAUf,GAAYgB,GAAQzP,GAAQ;AACpD,SAAOsP,GAAIb,GAAY,SAASjV,GAAG;AACjC,QAAIsP,IAAI2G,EAAO,CAAC,EAAE,CAAC,IAAIA,EAAO,CAAC,EAAE,CAAC,GAC9BC,IAAID,EAAO,CAAC,EAAE,CAAC,IAAIA,EAAO,CAAC,EAAE,CAAC,GAC9BtO,IAAI,KAAK,IAAI2H,KAAKtP,EAAE,CAAC,EAAE,CAAC,IAAIA,EAAE,CAAC,EAAE,CAAC,IAAIkW,KAAKlW,EAAE,CAAC,EAAE,CAAC,IAAIA,EAAE,CAAC,EAAE,CAAC,EAAE,GAC7Df,IAAI,CAACgX,EAAO,CAAC,EAAE,CAAC,KAAK3G,IAAI3H,KAAK3H,EAAE,CAAC,EAAE,CAAC,IAAIA,EAAE,CAAC,EAAE,CAAC,MAAM,GACpDZ,IAAI,CAAC6W,EAAO,CAAC,EAAE,CAAC,KAAKC,IAAIvO,KAAK3H,EAAE,CAAC,EAAE,CAAC,IAAIA,EAAE,CAAC,EAAE,CAAC,MAAM;AACxD,IAAAiV,EAAW,MAAM,MAAMtN,CAAC,EAAE,UAAU,CAAC1I,GAAGG,CAAC,CAAC;AAAA,EAC5C,GAAGoH,CAAM;AACX;AAEO,SAAS2P,GAAQlB,GAAYmB,GAAM5P,GAAQ;AAChD,SAAOwP,GAAUf,GAAY,CAAC,CAAC,GAAG,CAAC,GAAGmB,CAAI,GAAG5P,CAAM;AACrD;AAEO,SAAS6P,GAASpB,GAAYqB,GAAO9P,GAAQ;AAClD,SAAOsP,GAAIb,GAAY,SAASjV,GAAG;AACjC,QAAIsP,IAAI,CAACgH,GACL3O,IAAI2H,KAAKtP,EAAE,CAAC,EAAE,CAAC,IAAIA,EAAE,CAAC,EAAE,CAAC,IACzBf,KAAKqQ,IAAI3H,KAAK3H,EAAE,CAAC,EAAE,CAAC,IAAIA,EAAE,CAAC,EAAE,CAAC,MAAM,GACpCZ,IAAI,CAACuI,IAAI3H,EAAE,CAAC,EAAE,CAAC;AACnB,IAAAiV,EAAW,MAAM,MAAMtN,CAAC,EAAE,UAAU,CAAC1I,GAAGG,CAAC,CAAC;AAAA,EAC5C,GAAGoH,CAAM;AACX;AAEO,SAAS+P,GAAUtB,GAAYuB,GAAQhQ,GAAQ;AACpD,SAAOsP,GAAIb,GAAY,SAASjV,GAAG;AACjC,QAAIkW,IAAI,CAACM,GACL7O,IAAIuO,KAAKlW,EAAE,CAAC,EAAE,CAAC,IAAIA,EAAE,CAAC,EAAE,CAAC,IACzBf,IAAI,CAAC0I,IAAI3H,EAAE,CAAC,EAAE,CAAC,GACfZ,KAAK8W,IAAIvO,KAAK3H,EAAE,CAAC,EAAE,CAAC,IAAIA,EAAE,CAAC,EAAE,CAAC,MAAM;AACxC,IAAAiV,EAAW,MAAM,MAAMtN,CAAC,EAAE,UAAU,CAAC1I,GAAGG,CAAC,CAAC;AAAA,EAC5C,GAAGoH,CAAM;AACX;AC1CA,IAAIiQ,KAAW,IACXC,KAAiBjR,EAAI,KAAKJ,CAAO;AAEtB,SAAAsR,GAASC,GAASC,GAAQ;AACvC,SAAO,CAACA,IAASF,GAASC,GAASC,CAAM,IAAIC,GAAaF,CAAO;AACnE;AAEA,SAASE,GAAaF,GAAS;AAC7B,SAAOlB,GAAY;AAAA,IACjB,OAAO,SAASzW,GAAGG,GAAG;AACpB,MAAAH,IAAI2X,EAAQ3X,GAAGG,CAAC,GAChB,KAAK,OAAO,MAAMH,EAAE,CAAC,GAAGA,EAAE,CAAC,CAAC;AAAA,IAC9B;AAAA,EACJ,CAAG;AACH;AAEA,SAAS0X,GAASC,GAASC,GAAQ;AAEjC,WAASE,EAAelH,GAAIC,GAAIvE,GAASmG,GAAIjO,GAAIyK,GAAI6B,GAAIC,GAAIrE,GAAS6E,GAAI9M,GAAIuL,GAAI+H,GAAO3Q,GAAQ;AAC/F,QAAIjD,IAAK2M,IAAKF,GACVxM,IAAK2M,IAAKF,GACVxM,IAAKF,IAAKA,IAAKC,IAAKA;AACxB,QAAIC,IAAK,IAAIuT,KAAUG,KAAS;AAC9B,UAAIjX,IAAI2R,IAAKlB,GACTxQ,IAAIyD,IAAKC,GACTzD,IAAIiO,IAAKe,GACTtO,IAAImF,GAAK/F,IAAIA,IAAIC,IAAIA,IAAIC,IAAIA,CAAC,GAC9BgX,IAAOhR,GAAKhG,KAAKU,CAAC,GAClBuW,IAAU5R,EAAIA,EAAIrF,CAAC,IAAI,CAAC,IAAI+E,KAAWM,EAAIiG,IAAUI,CAAO,IAAI3G,KAAWuG,IAAUI,KAAW,IAAInG,GAAMxF,GAAGD,CAAC,GAC9Gb,IAAI0X,EAAQM,GAASD,CAAI,GACzBE,IAAKjY,EAAE,CAAC,GACRkY,IAAKlY,EAAE,CAAC,GACRmY,IAAMF,IAAKtH,GACXyH,IAAMF,IAAKtH,GACXyH,IAAKlU,IAAKgU,IAAMjU,IAAKkU;AACzB,OAAIC,IAAKA,IAAKjU,IAAKuT,KACZvR,GAAKlC,IAAKiU,IAAMhU,IAAKiU,KAAOhU,IAAK,GAAG,IAAI,OACxCoO,IAAKlB,IAAK/M,IAAKC,IAAKwK,IAAKe,IAAKyH,QACnCK,EAAelH,GAAIC,GAAIvE,GAASmG,GAAIjO,GAAIyK,GAAIiJ,GAAIC,GAAIF,GAASnX,KAAKY,GAAGX,KAAKW,GAAGV,GAAG+W,GAAO3Q,CAAM,GAC7FA,EAAO,MAAM8Q,GAAIC,CAAE,GACnBL,EAAeI,GAAIC,GAAIF,GAASnX,GAAGC,GAAGC,GAAG8P,GAAIC,GAAIrE,GAAS6E,GAAI9M,GAAIuL,GAAI+H,GAAO3Q,CAAM;AAAA,IAEvF;AAAA,EACF;AACA,SAAO,SAASA,GAAQ;AACtB,QAAImR,GAAUxF,GAAKC,GAAKwF,GAAKC,GAAKC,GAC9BpM,GAASsE,GAAIC,GAAI4B,GAAIjO,GAAIyK,GAEzB0J,IAAiB;AAAA,MACnB,OAAOpO;AAAA,MACP,WAAWmD;AAAA,MACX,SAASC;AAAA,MACT,cAAc,WAAW;AAAE,QAAAvG,EAAO,aAAY,GAAIuR,EAAe,YAAY9K;AAAA,MAAW;AAAA,MACxF,YAAY,WAAW;AAAE,QAAAzG,EAAO,WAAU,GAAIuR,EAAe,YAAYjL;AAAA,MAAW;AAAA,IAC1F;AAEI,aAASnD,EAAMvK,GAAGG,GAAG;AACnB,MAAAH,IAAI2X,EAAQ3X,GAAGG,CAAC,GAChBiH,EAAO,MAAMpH,EAAE,CAAC,GAAGA,EAAE,CAAC,CAAC;AAAA,IACzB;AAEA,aAAS0N,IAAY;AACnB,MAAAkD,IAAK,KACL+H,EAAe,QAAQhG,GACvBvL,EAAO,UAAS;AAAA,IAClB;AAEA,aAASuL,EAAUzK,GAAQC,GAAK;AAC9B,UAAInH,IAAIiH,GAAU,CAACC,GAAQC,CAAG,CAAC,GAAGlI,IAAI0X,EAAQzP,GAAQC,CAAG;AACzD,MAAA2P,EAAelH,GAAIC,GAAIvE,GAASmG,GAAIjO,GAAIyK,GAAI2B,IAAK3Q,EAAE,CAAC,GAAG4Q,IAAK5Q,EAAE,CAAC,GAAGqM,IAAUpE,GAAQuK,IAAKzR,EAAE,CAAC,GAAGwD,IAAKxD,EAAE,CAAC,GAAGiO,IAAKjO,EAAE,CAAC,GAAGwW,IAAUpQ,CAAM,GACrIA,EAAO,MAAMwJ,GAAIC,CAAE;AAAA,IACrB;AAEA,aAASlD,IAAU;AACjB,MAAAgL,EAAe,QAAQpO,GACvBnD,EAAO,QAAO;AAAA,IAChB;AAEA,aAASyG,IAAY;AACnB,MAAAH,EAAS,GACTiL,EAAe,QAAQC,GACvBD,EAAe,UAAU7K;AAAA,IAC3B;AAEA,aAAS8K,EAAU1Q,GAAQC,GAAK;AAC9B,MAAAwK,EAAU4F,IAAWrQ,GAAQC,CAAG,GAAG4K,IAAMnC,GAAIoC,IAAMnC,GAAI2H,IAAM/F,GAAIgG,IAAMjU,GAAIkU,IAAMzJ,GACjF0J,EAAe,QAAQhG;AAAA,IACzB;AAEA,aAAS7E,IAAU;AACjB,MAAAgK,EAAelH,GAAIC,GAAIvE,GAASmG,GAAIjO,GAAIyK,GAAI8D,GAAKC,GAAKuF,GAAUC,GAAKC,GAAKC,GAAKlB,IAAUpQ,CAAM,GAC/FuR,EAAe,UAAUhL,GACzBA,EAAO;AAAA,IACT;AAEA,WAAOgL;AAAA,EACT;AACF;AC1FA,IAAIE,KAAmBpC,GAAY;AAAA,EACjC,OAAO,SAASzW,GAAGG,GAAG;AACpB,SAAK,OAAO,MAAMH,IAAIoG,GAASjG,IAAIiG,CAAO;AAAA,EAC5C;AACF,CAAC;AAED,SAAS0S,GAAgBnW,GAAQ;AAC/B,SAAO8T,GAAY;AAAA,IACjB,OAAO,SAASzW,GAAGG,GAAG;AACpB,UAAIwQ,IAAIhO,EAAO3C,GAAGG,CAAC;AACnB,aAAO,KAAK,OAAO,MAAMwQ,EAAE,CAAC,GAAGA,EAAE,CAAC,CAAC;AAAA,IACrC;AAAA,EACJ,CAAG;AACH;AAEA,SAASoI,GAAerQ,GAAGvE,GAAIC,GAAI4U,GAAIC,GAAI;AACzC,WAASC,EAAUlZ,GAAGG,GAAG;AACvB,WAAAH,KAAKgZ,GAAI7Y,KAAK8Y,GACP,CAAC9U,IAAKuE,IAAI1I,GAAGoE,IAAKsE,IAAIvI,CAAC;AAAA,EAChC;AACA,SAAA+Y,EAAU,SAAS,SAASlZ,GAAGG,GAAG;AAChC,WAAO,EAAEH,IAAImE,KAAMuE,IAAIsQ,IAAK5U,IAAKjE,KAAKuI,IAAIuQ,CAAE;AAAA,EAC9C,GACOC;AACT;AAEA,SAASC,GAAqBzQ,GAAGvE,GAAIC,GAAI4U,GAAIC,GAAIG,GAAO;AACtD,MAAI,CAACA,EAAO,QAAOL,GAAerQ,GAAGvE,GAAIC,GAAI4U,GAAIC,CAAE;AACnD,MAAII,IAAW7S,EAAI4S,CAAK,GACpBE,IAAW3S,EAAIyS,CAAK,GACpBtY,IAAIuY,IAAW3Q,GACf3H,IAAIuY,IAAW5Q,GACf6Q,IAAKF,IAAW3Q,GAChB8Q,IAAKF,IAAW5Q,GAChB+Q,KAAMH,IAAWlV,IAAKiV,IAAWlV,KAAMuE,GACvCgR,KAAMJ,IAAWnV,IAAKkV,IAAWjV,KAAMsE;AAC3C,WAASwQ,EAAUlZ,GAAGG,GAAG;AACvB,WAAAH,KAAKgZ,GAAI7Y,KAAK8Y,GACP,CAACnY,IAAId,IAAIe,IAAIZ,IAAIgE,GAAIC,IAAKrD,IAAIf,IAAIc,IAAIX,CAAC;AAAA,EAChD;AACA,SAAA+Y,EAAU,SAAS,SAASlZ,GAAGG,GAAG;AAChC,WAAO,CAAC6Y,KAAMO,IAAKvZ,IAAIwZ,IAAKrZ,IAAIsZ,IAAKR,KAAMS,IAAKF,IAAKxZ,IAAIuZ,IAAKpZ,EAAE;AAAA,EAClE,GACO+Y;AACT;AAEe,SAASlD,GAAW2B,GAAS;AAC1C,SAAOgC,GAAkB,WAAW;AAAE,WAAOhC;AAAA,EAAS,CAAC,EAAC;AAC1D;AAEO,SAASgC,GAAkBC,GAAW;AAC3C,MAAIjC,GACAjP,IAAI,KACJ1I,IAAI,KAAKG,IAAI,KACb+H,IAAS,GAAGC,IAAM,GAClBa,IAAc,GAAGC,IAAW,GAAGC,IAAa,GAAGvG,GAC/CyW,IAAQ,GACRJ,IAAK,GACLC,IAAK,GACLY,IAAQ,MAAMC,IAAU3L,IACxByC,IAAK,MAAMC,GAAIC,GAAIC,GAAIgJ,IAAWnZ,IAClCgX,IAAS,KACToC,GACAC,GACAC,GACAC,GACAC;AAEJ,WAASpE,EAAWzL,GAAO;AACzB,WAAO2P,EAAuB3P,EAAM,CAAC,IAAInE,GAASmE,EAAM,CAAC,IAAInE,CAAO;AAAA,EACtE;AAEA,WAASiU,EAAO9P,GAAO;AACrB,WAAAA,IAAQ2P,EAAuB,OAAO3P,EAAM,CAAC,GAAGA,EAAM,CAAC,CAAC,GACjDA,KAAS,CAACA,EAAM,CAAC,IAAI5J,GAAS4J,EAAM,CAAC,IAAI5J,CAAO;AAAA,EACzD;AAEA,EAAAqV,EAAW,SAAS,SAAS5O,GAAQ;AACnC,WAAO+S,KAASC,MAAgBhT,IAAS+S,IAAQA,IAAQtB,GAAiBC,GAAgBnW,CAAM,EAAEmX,EAAQE,EAAgBD,EAASK,IAAchT,CAAM,CAAC,CAAC,CAAC,CAAC;AAAA,EAC7J,GAEA4O,EAAW,UAAU,SAASlR,GAAG;AAC/B,WAAO,UAAU,UAAUgV,IAAUhV,GAAG+U,IAAQ,QAAWS,EAAK,KAAMR;AAAA,EACxE,GAEA9D,EAAW,WAAW,SAASlR,GAAG;AAChC,WAAO,UAAU,UAAUiV,IAAWjV,GAAG8L,IAAKC,IAAKC,IAAKC,IAAK,MAAMuJ,EAAK,KAAMP;AAAA,EAChF,GAEA/D,EAAW,YAAY,SAASlR,GAAG;AACjC,WAAO,UAAU,UAAUgV,IAAU,CAAChV,IAAI8J,GAAWiL,IAAQ/U,IAAIsB,CAAO,KAAKyT,IAAQ,MAAM1L,KAAmBmM,EAAK,KAAMT,IAAQlZ;AAAA,EACnI,GAEAqV,EAAW,aAAa,SAASlR,GAAG;AAClC,WAAO,UAAU,UAAUiV,IAAWjV,KAAK,QAAQ8L,IAAKC,IAAKC,IAAKC,IAAK,MAAMnQ,MAAY0Q,GAAcV,IAAK,CAAC9L,EAAE,CAAC,EAAE,CAAC,GAAG+L,IAAK,CAAC/L,EAAE,CAAC,EAAE,CAAC,GAAGgM,IAAK,CAAChM,EAAE,CAAC,EAAE,CAAC,GAAGiM,IAAK,CAACjM,EAAE,CAAC,EAAE,CAAC,CAAC,GAAGwV,EAAK,KAAM1J,KAAM,OAAO,OAAO,CAAC,CAACA,GAAIC,CAAE,GAAG,CAACC,GAAIC,CAAE,CAAC;AAAA,EACxN,GAEAiF,EAAW,QAAQ,SAASlR,GAAG;AAC7B,WAAO,UAAU,UAAU4D,IAAI,CAAC5D,GAAGyV,EAAQ,KAAM7R;AAAA,EACnD,GAEAsN,EAAW,YAAY,SAASlR,GAAG;AACjC,WAAO,UAAU,UAAU9E,IAAI,CAAC8E,EAAE,CAAC,GAAG3E,IAAI,CAAC2E,EAAE,CAAC,GAAGyV,EAAQ,KAAM,CAACva,GAAGG,CAAC;AAAA,EACtE,GAEA6V,EAAW,SAAS,SAASlR,GAAG;AAC9B,WAAO,UAAU,UAAUoD,IAASpD,EAAE,CAAC,IAAI,MAAMsB,GAAS+B,IAAMrD,EAAE,CAAC,IAAI,MAAMsB,GAASmU,EAAQ,KAAM,CAACrS,IAASvH,GAASwH,IAAMxH,CAAO;AAAA,EACtI,GAEAqV,EAAW,SAAS,SAASlR,GAAG;AAC9B,WAAO,UAAU,UAAUkE,IAAclE,EAAE,CAAC,IAAI,MAAMsB,GAAS6C,IAAWnE,EAAE,CAAC,IAAI,MAAMsB,GAAS8C,IAAapE,EAAE,SAAS,IAAIA,EAAE,CAAC,IAAI,MAAMsB,IAAU,GAAGmU,EAAQ,KAAM,CAACvR,IAAcrI,GAASsI,IAAWtI,GAASuI,IAAavI,CAAO;AAAA,EACtO,GAEAqV,EAAW,QAAQ,SAASlR,GAAG;AAC7B,WAAO,UAAU,UAAUsU,IAAQtU,IAAI,MAAMsB,GAASmU,OAAcnB,IAAQzY;AAAA,EAC9E,GAEAqV,EAAW,WAAW,SAASlR,GAAG;AAChC,WAAO,UAAU,UAAUkU,IAAKlU,IAAI,KAAK,GAAGyV,OAAcvB,IAAK;AAAA,EACjE,GAEAhD,EAAW,WAAW,SAASlR,GAAG;AAChC,WAAO,UAAU,UAAUmU,IAAKnU,IAAI,KAAK,GAAGyV,OAActB,IAAK;AAAA,EACjE,GAEAjD,EAAW,YAAY,SAASlR,GAAG;AACjC,WAAO,UAAU,UAAUkV,IAAkBtC,GAASuC,GAAkBrC,IAAS9S,IAAIA,CAAC,GAAGwV,OAAWzT,GAAK+Q,CAAM;AAAA,EACjH,GAEA5B,EAAW,YAAY,SAASgB,GAAQzP,GAAQ;AAC9C,WAAOwP,GAAUf,GAAYgB,GAAQzP,CAAM;AAAA,EAC7C,GAEAyO,EAAW,UAAU,SAASmB,GAAM5P,GAAQ;AAC1C,WAAO2P,GAAQlB,GAAYmB,GAAM5P,CAAM;AAAA,EACzC,GAEAyO,EAAW,WAAW,SAASqB,GAAO9P,GAAQ;AAC5C,WAAO6P,GAASpB,GAAYqB,GAAO9P,CAAM;AAAA,EAC3C,GAEAyO,EAAW,YAAY,SAASuB,GAAQhQ,GAAQ;AAC9C,WAAO+P,GAAUtB,GAAYuB,GAAQhQ,CAAM;AAAA,EAC7C;AAEA,WAASgT,IAAW;AAClB,QAAIC,IAASrB,GAAqBzQ,GAAG,GAAG,GAAGsQ,GAAIC,GAAIG,CAAK,EAAE,MAAM,MAAMzB,EAAQzP,GAAQC,CAAG,CAAC,GACtF+Q,IAAYC,GAAqBzQ,GAAG1I,IAAIwa,EAAO,CAAC,GAAGra,IAAIqa,EAAO,CAAC,GAAGxB,GAAIC,GAAIG,CAAK;AACnF,WAAAzW,IAASoG,GAAcC,GAAaC,GAAUC,CAAU,GACxD+Q,IAAmBpR,GAAQ8O,GAASuB,CAAS,GAC7CgB,IAAyBrR,GAAQlG,GAAQsX,CAAgB,GACzDD,IAAkBtC,GAASuC,GAAkBrC,CAAM,GAC5C0C,EAAK;AAAA,EACd;AAEA,WAASA,IAAQ;AACf,WAAAH,IAAQC,IAAc,MACfpE;AAAA,EACT;AAEA,SAAO,WAAW;AAChB,WAAA2B,IAAUiC,EAAU,MAAM,MAAM,SAAS,GACzC5D,EAAW,SAAS2B,EAAQ,UAAU0C,GAC/BE,EAAQ;AAAA,EACjB;AACF;AC7KO,SAASE,GAAgBb,GAAW;AACzC,MAAIrN,IAAO,GACPO,IAAO9G,IAAK,GACZtE,IAAIiY,GAAkBC,CAAS,GAC/B3Z,IAAIyB,EAAE6K,GAAMO,CAAI;AAEpB,SAAA7M,EAAE,YAAY,SAAS6E,GAAG;AACxB,WAAO,UAAU,SAASpD,EAAE6K,IAAOzH,EAAE,CAAC,IAAIsB,GAAS0G,IAAOhI,EAAE,CAAC,IAAIsB,CAAO,IAAI,CAACmG,IAAO5L,GAASmM,IAAOnM,CAAO;AAAA,EAC7G,GAEOV;AACT;ACZO,SAASya,GAAwBnO,GAAM;AAC5C,MAAIE,IAAUjG,EAAI+F,CAAI;AAEtB,WAAS3C,EAAQ1B,GAAQC,GAAK;AAC5B,WAAO,CAACD,IAASuE,GAAS9F,EAAIwB,CAAG,IAAIsE,CAAO;AAAA,EAC9C;AAEA,SAAA7C,EAAQ,SAAS,SAAS5J,GAAGG,GAAG;AAC9B,WAAO,CAACH,IAAIyM,GAASzF,GAAK7G,IAAIsM,CAAO,CAAC;AAAA,EACxC,GAEO7C;AACT;ACVO,SAAS+Q,GAAkB9J,GAAIE,GAAI;AACxC,MAAI6J,IAAMjU,EAAIkK,CAAE,GAAGvQ,KAAKsa,IAAMjU,EAAIoK,CAAE,KAAK;AAGzC,MAAI1K,EAAI/F,CAAC,IAAIyF,EAAS,QAAO2U,GAAwB7J,CAAE;AAEvD,MAAI7P,IAAI,IAAI4Z,KAAO,IAAIta,IAAIsa,IAAMlW,IAAKmC,GAAK7F,CAAC,IAAIV;AAEhD,WAASqX,EAAQ3X,GAAGG,GAAG;AACrB,QAAIwQ,IAAI9J,GAAK7F,IAAI,IAAIV,IAAIqG,EAAIxG,CAAC,CAAC,IAAIG;AACnC,WAAO,CAACqQ,IAAIhK,EAAI3G,KAAKM,CAAC,GAAGoE,IAAKiM,IAAInK,EAAIxG,CAAC,CAAC;AAAA,EAC1C;AAEA,SAAA2X,EAAQ,SAAS,SAAS3X,GAAGG,GAAG;AAC9B,QAAI0a,IAAMnW,IAAKvE,GACXyI,IAAIrC,GAAMvG,GAAGqG,EAAIwU,CAAG,CAAC,IAAIjU,GAAKiU,CAAG;AACrC,WAAIA,IAAMva,IAAI,MACZsI,KAAK5C,IAAKY,GAAK5G,CAAC,IAAI4G,GAAKiU,CAAG,IACvB,CAACjS,IAAItI,GAAG0G,IAAMhG,KAAKhB,IAAIA,IAAI6a,IAAMA,KAAOva,IAAIA,MAAM,IAAIA,EAAE,CAAC;AAAA,EAClE,GAEOqX;AACT;AAEe,SAAAmD,KAAW;AACxB,SAAOL,GAAgBE,EAAiB,EACnC,MAAM,OAAO,EACb,OAAO,CAAC,GAAG,OAAO,CAAC;AAC1B;AC9Be,SAAAI,KAAW;AACxB,SAAOD,GAAc,EAChB,UAAU,CAAC,MAAM,IAAI,CAAC,EACtB,MAAM,IAAI,EACV,UAAU,CAAC,KAAK,GAAG,CAAC,EACpB,OAAO,CAAC,IAAI,CAAC,CAAC,EACd,OAAO,CAAC,MAAM,IAAI,CAAC;AAC1B;ACFA,SAASE,GAAUC,GAAS;AAC1B,MAAI,IAAIA,EAAQ;AAChB,SAAO;AAAA,IACL,OAAO,SAASjb,GAAGG,GAAG;AAAc,eAARsC,IAAI,IAAW,EAAEA,IAAI,IAAG,CAAAwY,EAAQxY,CAAC,EAAE,MAAMzC,GAAGG,CAAC;AAAA,IAAG;AAAA,IAC5E,QAAQ,WAAW;AAAc,eAARsC,IAAI,IAAW,EAAEA,IAAI,IAAG,CAAAwY,EAAQxY,CAAC,EAAE,OAAM;AAAA,IAAI;AAAA,IACtE,WAAW,WAAW;AAAc,eAARA,IAAI,IAAW,EAAEA,IAAI,IAAG,CAAAwY,EAAQxY,CAAC,EAAE,UAAS;AAAA,IAAI;AAAA,IAC5E,SAAS,WAAW;AAAc,eAARA,IAAI,IAAW,EAAEA,IAAI,IAAG,CAAAwY,EAAQxY,CAAC,EAAE,QAAO;AAAA,IAAI;AAAA,IACxE,cAAc,WAAW;AAAc,eAARA,IAAI,IAAW,EAAEA,IAAI,IAAG,CAAAwY,EAAQxY,CAAC,EAAE,aAAY;AAAA,IAAI;AAAA,IAClF,YAAY,WAAW;AAAc,eAARA,IAAI,IAAW,EAAEA,IAAI,IAAG,CAAAwY,EAAQxY,CAAC,EAAE,WAAU;AAAA,IAAI;AAAA,EAClF;AACA;AAOe,SAAAyY,KAAW;AACxB,MAAIf,GACAC,GACAe,IAAUJ,GAAM,GAAIK,GACpBC,IAASP,GAAc,EAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,GAAGQ,GACnFC,IAAST,GAAc,EAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,GAAGU,GAClFjR,GAAOkR,IAAc,EAAC,OAAO,SAASzb,GAAGG,GAAG;AAAE,IAAAoK,IAAQ,CAACvK,GAAGG,CAAC;AAAA,EAAG,EAAC;AAEnE,WAASub,EAAUjU,GAAa;AAC9B,QAAIzH,IAAIyH,EAAY,CAAC,GAAG,IAAIA,EAAY,CAAC;AACzC,WAAO8C,IAAQ,MACV6Q,EAAa,MAAMpb,GAAG,CAAC,GAAGuK,MACvB+Q,EAAY,MAAMtb,GAAG,CAAC,GAAGuK,OACzBiR,EAAY,MAAMxb,GAAG,CAAC,GAAGuK;AAAA,EACnC;AAEA,EAAAmR,EAAU,SAAS,SAASjU,GAAa;AACvC,QAAIiB,IAAIyS,EAAQ,MAAK,GACjBtY,IAAIsY,EAAQ,UAAS,GACrBnb,KAAKyH,EAAY,CAAC,IAAI5E,EAAE,CAAC,KAAK6F,GAC9BvI,KAAKsH,EAAY,CAAC,IAAI5E,EAAE,CAAC,KAAK6F;AAClC,YAAQvI,KAAK,QAASA,IAAI,SAASH,KAAK,UAAUA,IAAI,SAASqb,IACzDlb,KAAK,SAASA,IAAI,SAASH,KAAK,UAAUA,IAAI,SAASub,IACvDJ,GAAS,OAAO1T,CAAW;AAAA,EACnC,GAEAiU,EAAU,SAAS,SAAStU,GAAQ;AAClC,WAAO+S,KAASC,MAAgBhT,IAAS+S,IAAQA,IAAQa,GAAU,CAACG,EAAQ,OAAOf,IAAchT,CAAM,GAAGiU,EAAO,OAAOjU,CAAM,GAAGmU,EAAO,OAAOnU,CAAM,CAAC,CAAC;AAAA,EACzJ,GAEAsU,EAAU,YAAY,SAAS5W,GAAG;AAChC,WAAK,UAAU,UACfqW,EAAQ,UAAUrW,CAAC,GAAGuW,EAAO,UAAUvW,CAAC,GAAGyW,EAAO,UAAUzW,CAAC,GACtDwV,EAAK,KAFkBa,EAAQ,UAAS;AAAA,EAGjD,GAEAO,EAAU,QAAQ,SAAS5W,GAAG;AAC5B,WAAK,UAAU,UACfqW,EAAQ,MAAMrW,CAAC,GAAGuW,EAAO,MAAMvW,IAAI,IAAI,GAAGyW,EAAO,MAAMzW,CAAC,GACjD4W,EAAU,UAAUP,EAAQ,UAAS,CAAE,KAFhBA,EAAQ,MAAK;AAAA,EAG7C,GAEAO,EAAU,YAAY,SAAS5W,GAAG;AAChC,QAAI,CAAC,UAAU,OAAQ,QAAOqW,EAAQ,UAAS;AAC/C,QAAIzS,IAAIyS,EAAQ,MAAK,GAAInb,IAAI,CAAC8E,EAAE,CAAC,GAAG3E,IAAI,CAAC2E,EAAE,CAAC;AAE5C,WAAAsW,IAAeD,EACV,UAAUrW,CAAC,EACX,WAAW,CAAC,CAAC9E,IAAI,QAAQ0I,GAAGvI,IAAI,QAAQuI,CAAC,GAAG,CAAC1I,IAAI,QAAQ0I,GAAGvI,IAAI,QAAQuI,CAAC,CAAC,CAAC,EAC3E,OAAO+S,CAAW,GAEvBH,IAAcD,EACT,UAAU,CAACrb,IAAI,QAAQ0I,GAAGvI,IAAI,QAAQuI,CAAC,CAAC,EACxC,WAAW,CAAC,CAAC1I,IAAI,QAAQ0I,IAAI3C,GAAS5F,IAAI,OAAQuI,IAAI3C,CAAO,GAAG,CAAC/F,IAAI,QAAQ0I,IAAI3C,GAAS5F,IAAI,QAAQuI,IAAI3C,CAAO,CAAC,CAAC,EACnH,OAAO0V,CAAW,GAEvBD,IAAcD,EACT,UAAU,CAACvb,IAAI,QAAQ0I,GAAGvI,IAAI,QAAQuI,CAAC,CAAC,EACxC,WAAW,CAAC,CAAC1I,IAAI,QAAQ0I,IAAI3C,GAAS5F,IAAI,QAAQuI,IAAI3C,CAAO,GAAG,CAAC/F,IAAI,QAAQ0I,IAAI3C,GAAS5F,IAAI,QAAQuI,IAAI3C,CAAO,CAAC,CAAC,EACnH,OAAO0V,CAAW,GAEhBnB,EAAK;AAAA,EACd,GAEAoB,EAAU,YAAY,SAAS1E,GAAQzP,GAAQ;AAC7C,WAAOwP,GAAU2E,GAAW1E,GAAQzP,CAAM;AAAA,EAC5C,GAEAmU,EAAU,UAAU,SAASvE,GAAM5P,GAAQ;AACzC,WAAO2P,GAAQwE,GAAWvE,GAAM5P,CAAM;AAAA,EACxC,GAEAmU,EAAU,WAAW,SAASrE,GAAO9P,GAAQ;AAC3C,WAAO6P,GAASsE,GAAWrE,GAAO9P,CAAM;AAAA,EAC1C,GAEAmU,EAAU,YAAY,SAASnE,GAAQhQ,GAAQ;AAC7C,WAAO+P,GAAUoE,GAAWnE,GAAQhQ,CAAM;AAAA,EAC5C;AAEA,WAAS+S,IAAQ;AACf,WAAAH,IAAQC,IAAc,MACfsB;AAAA,EACT;AAEA,SAAOA,EAAU,MAAM,IAAI;AAC7B;AC/FO,SAASC,GAAgB1P,GAAO;AACrC,SAAO,SAASjM,GAAGG,GAAG;AACpB,QAAIwJ,IAAI9C,GAAK7G,IAAIA,IAAIG,IAAIA,CAAC,GACtBa,IAAIiL,EAAMtC,CAAC,GACXiS,IAAKjV,EAAI3F,CAAC,GACV6a,IAAKrV,EAAIxF,CAAC;AACd,WAAO;AAAA,MACLuF,GAAMvG,IAAI4b,GAAIjS,IAAIkS,CAAE;AAAA,MACpB7U,GAAK2C,KAAKxJ,IAAIyb,IAAKjS,CAAC;AAAA,IAC1B;AAAA,EACE;AACF;ACtBO,SAASmS,GAAY5T,GAAQC,GAAK;AACvC,SAAO,CAACD,GAAQxB,GAAII,IAAKb,IAASkC,KAAO,CAAC,CAAC,CAAC;AAC9C;AAEA2T,GAAY,SAAS,SAAS9b,GAAGG,GAAG;AAClC,SAAO,CAACH,GAAG,IAAIsG,GAAKG,GAAItG,CAAC,CAAC,IAAI8F,CAAM;AACtC;AAEe,SAAA8V,KAAW;AACxB,SAAOC,GAAmBF,EAAW,EAChC,MAAM,MAAM3V,CAAG;AACtB;AAEO,SAAS6V,GAAmBrE,GAAS;AAC1C,MAAIjW,IAAIsU,GAAW2B,CAAO,GACtB6C,IAAS9Y,EAAE,QACXkB,IAAQlB,EAAE,OACVQ,IAAYR,EAAE,WACdua,IAAava,EAAE,YACfkP,IAAK,MAAMC,GAAIC,GAAIC;AAEvB,EAAArP,EAAE,QAAQ,SAASoD,GAAG;AACpB,WAAO,UAAU,UAAUlC,EAAMkC,CAAC,GAAGoX,EAAM,KAAMtZ,EAAK;AAAA,EACxD,GAEAlB,EAAE,YAAY,SAASoD,GAAG;AACxB,WAAO,UAAU,UAAU5C,EAAU4C,CAAC,GAAGoX,EAAM,KAAMha,EAAS;AAAA,EAChE,GAEAR,EAAE,SAAS,SAASoD,GAAG;AACrB,WAAO,UAAU,UAAU0V,EAAO1V,CAAC,GAAGoX,EAAM,KAAM1B,EAAM;AAAA,EAC1D,GAEA9Y,EAAE,aAAa,SAASoD,GAAG;AACzB,WAAO,UAAU,UAAWA,KAAK,OAAO8L,IAAKC,IAAKC,IAAKC,IAAK,QAAQH,IAAK,CAAC9L,EAAE,CAAC,EAAE,CAAC,GAAG+L,IAAK,CAAC/L,EAAE,CAAC,EAAE,CAAC,GAAGgM,IAAK,CAAChM,EAAE,CAAC,EAAE,CAAC,GAAGiM,IAAK,CAACjM,EAAE,CAAC,EAAE,CAAC,IAAKoX,EAAM,KAAMtL,KAAM,OAAO,OAAO,CAAC,CAACA,GAAIC,CAAE,GAAG,CAACC,GAAIC,CAAE,CAAC;AAAA,EACvL;AAEA,WAASmL,IAAS;AAChB,QAAIxT,IAAI1C,IAAKpD,EAAK,GACdC,IAAInB,EAAE4H,GAAS5H,EAAE,OAAM,CAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7C,WAAOua,EAAWrL,KAAM,OAClB,CAAC,CAAC/N,EAAE,CAAC,IAAI6F,GAAG7F,EAAE,CAAC,IAAI6F,CAAC,GAAG,CAAC7F,EAAE,CAAC,IAAI6F,GAAG7F,EAAE,CAAC,IAAI6F,CAAC,CAAC,IAAIiP,MAAYmE,KAC3D,CAAC,CAAC,KAAK,IAAIjZ,EAAE,CAAC,IAAI6F,GAAGkI,CAAE,GAAGC,CAAE,GAAG,CAAC,KAAK,IAAIhO,EAAE,CAAC,IAAI6F,GAAGoI,CAAE,GAAGC,CAAE,CAAC,IAC3D,CAAC,CAACH,GAAI,KAAK,IAAI/N,EAAE,CAAC,IAAI6F,GAAGmI,CAAE,CAAC,GAAG,CAACC,GAAI,KAAK,IAAIjO,EAAE,CAAC,IAAI6F,GAAGqI,CAAE,CAAC,CAAC,CAAC;AAAA,EACpE;AAEA,SAAOmL,EAAM;AACf;AChDA,IAAIC,KAAK,UACLC,KAAK,WACLC,KAAK,QACLC,KAAK,SACLC,KAAI1V,GAAK,CAAC,IAAI,GACd2V,KAAa;AAEV,SAASC,GAAcvU,GAAQC,GAAK;AACzC,MAAIS,IAAI5B,GAAKuV,KAAI5V,EAAIwB,CAAG,CAAC,GAAGuU,IAAK9T,IAAIA,GAAG+T,IAAKD,IAAKA,IAAKA;AACvD,SAAO;AAAA,IACLxU,IAAS1B,EAAIoC,CAAC,KAAK2T,MAAKJ,KAAK,IAAIC,KAAKM,IAAKC,KAAM,IAAIN,KAAK,IAAIC,KAAKI;AAAA,IACnE9T,KAAKuT,KAAKC,KAAKM,IAAKC,KAAMN,KAAKC,KAAKI;AAAA,EACxC;AACA;AAEAD,GAAc,SAAS,SAASzc,GAAGG,GAAG;AAEpC,WADIyI,IAAIzI,GAAGuc,IAAK9T,IAAIA,GAAG+T,IAAKD,IAAKA,IAAKA,GAC7Bja,IAAI,GAAGsH,GAAO6S,GAAIC,GAAKpa,IAAI+Z,OAClCI,IAAKhU,KAAKuT,KAAKC,KAAKM,IAAKC,KAAMN,KAAKC,KAAKI,MAAOvc,GAChD0c,IAAMV,KAAK,IAAIC,KAAKM,IAAKC,KAAM,IAAIN,KAAK,IAAIC,KAAKI,IACjD9T,KAAKmB,IAAQ6S,IAAKC,GAAKH,IAAK9T,IAAIA,GAAG+T,IAAKD,IAAKA,IAAKA,GAC9C,EAAArW,EAAI0D,CAAK,IAAI9G,MAJ6B,EAAER;AAIhD;AAEF,SAAO;AAAA,IACL8Z,KAAIvc,KAAKmc,KAAK,IAAIC,KAAKM,IAAKC,KAAM,IAAIN,KAAK,IAAIC,KAAKI,MAAOlW,EAAIoC,CAAC;AAAA,IAChE5B,GAAKL,EAAIiC,CAAC,IAAI2T,EAAC;AAAA,EACnB;AACA;AAEe,SAAAO,KAAW;AACxB,SAAO9G,GAAWyG,EAAa,EAC1B,MAAM,OAAO;AACpB;AChCO,SAASM,GAAiB7U,GAAQC,GAAK;AAC5C,MAAI6P,IAAO7P,IAAMA,GAAK6U,IAAOhF,IAAOA;AACpC,SAAO;AAAA,IACL9P,KAAU,SAAS,WAAW8P,IAAOgF,KAAQ,YAAYA,KAAQ,UAAWhF,IAAO,UAAWgF;AAAA,IAC9F7U,KAAO,WAAW6P,KAAQ,WAAWgF,KAAQ,YAAY,WAAWhF,IAAO,UAAWgF;AAAA,EAC1F;AACA;AAEAD,GAAiB,SAAS,SAAS/c,GAAGG,GAAG;AACvC,MAAIgI,IAAMhI,GAAG,IAAI,IAAI4J;AACrB,KAAG;AACD,QAAIiO,IAAO7P,IAAMA,GAAK6U,IAAOhF,IAAOA;AACpC,IAAA7P,KAAO4B,KAAS5B,KAAO,WAAW6P,KAAQ,WAAWgF,KAAQ,YAAY,WAAWhF,IAAO,UAAWgF,OAAU7c,MAC3G,WAAW6X,KAAQ,WAAW,IAAIgF,KAAQ,YAAY,IAAI,WAAW,IAAIhF,IAAO,UAAW,KAAKgF;AAAA,EACvG,SAAS3W,EAAI0D,CAAK,IAAIhE,KAAW,EAAE,IAAI;AACvC,SAAO;AAAA,IACL/F,KAAK,UAAUgY,IAAO7P,IAAMA,MAAQ,YAAY6P,KAAQ,YAAYA,IAAOA,IAAOA,KAAQ,UAAW,UAAWA;AAAA,IAChH7P;AAAA,EACJ;AACA;AAEe,SAAA8U,KAAW;AACxB,SAAOjH,GAAW+G,EAAgB,EAC7B,MAAM,OAAO;AACpB;ACvBO,SAASG,GAAgBld,GAAGG,GAAG;AACpC,SAAO,CAACqG,EAAIrG,CAAC,IAAIwG,EAAI3G,CAAC,GAAG2G,EAAIxG,CAAC,CAAC;AACjC;AAEA+c,GAAgB,SAASvB,GAAgB3U,EAAI;AAE9B,SAAAmW,KAAW;AACxB,SAAOnH,GAAWkH,EAAe,EAC5B,MAAM,KAAK,EACX,UAAU,KAAKnX,CAAO;AAC7B;ACXO,MAAMqX,KAAoB,EAAC,SAAS,IAAM,SAAS,GAAK;AAMhD,SAAAC,GAASC,GAAO;AAC7B,EAAAA,EAAM,eAAc,GACpBA,EAAM,yBAAwB;AAChC;ACTe,SAAAC,GAASC,GAAM;AAC5B,MAAIC,IAAOD,EAAK,SAAS,iBACrBE,IAAYC,GAAOH,CAAI,EAAE,GAAG,kBAAkBI,IAASR,EAAiB;AAC5E,EAAI,mBAAmBK,IACrBC,EAAU,GAAG,oBAAoBE,IAASR,EAAiB,KAE3DK,EAAK,aAAaA,EAAK,MAAM,eAC7BA,EAAK,MAAM,gBAAgB;AAE/B;AAEO,SAASI,GAAQL,GAAMM,GAAS;AACrC,MAAIL,IAAOD,EAAK,SAAS,iBACrBE,IAAYC,GAAOH,CAAI,EAAE,GAAG,kBAAkB,IAAI;AACtD,EAAIM,MACFJ,EAAU,GAAG,cAAcE,IAASR,EAAiB,GACrD,WAAW,WAAW;AAAE,IAAAM,EAAU,GAAG,cAAc,IAAI;AAAA,EAAG,GAAG,CAAC,IAE5D,mBAAmBD,IACrBC,EAAU,GAAG,oBAAoB,IAAI,KAErCD,EAAK,MAAM,gBAAgBA,EAAK,YAChC,OAAOA,EAAK;AAEhB;ACxBA,IAAIM,KAAUC,GAAS,SAAS,OAAO,UAAU,WAAW,GACxDC,KAAa,CAAA,GAENC,KAAU,GACVC,KAAY,GACZC,KAAW,GACXC,KAAU,GACVC,KAAU,GACVC,KAAS,GACTC,KAAQ;AAEJ,SAAAC,GAASC,GAAMC,GAAMC,GAAIC,GAAOC,GAAOC,GAAQ;AAC5D,MAAIC,IAAYN,EAAK;AACrB,MAAI,CAACM,EAAW,CAAAN,EAAK,eAAe,CAAA;AAAA,WAC3BE,KAAMI,EAAW;AAC1B,EAAAC,GAAOP,GAAME,GAAI;AAAA,IACf,MAAMD;AAAA,IACN,OAAOE;AAAA;AAAA,IACP,OAAOC;AAAA;AAAA,IACP,IAAIf;AAAA,IACJ,OAAOE;AAAA,IACP,MAAMc,EAAO;AAAA,IACb,OAAOA,EAAO;AAAA,IACd,UAAUA,EAAO;AAAA,IACjB,MAAMA,EAAO;AAAA,IACb,OAAO;AAAA,IACP,OAAOb;AAAA,EACX,CAAG;AACH;AAEO,SAASgB,GAAKR,GAAME,GAAI;AAC7B,MAAIH,IAAWU,GAAIT,GAAME,CAAE;AAC3B,MAAIH,EAAS,QAAQP,GAAS,OAAM,IAAI,MAAM,6BAA6B;AAC3E,SAAOO;AACT;AAEO,SAASW,GAAIV,GAAME,GAAI;AAC5B,MAAIH,IAAWU,GAAIT,GAAME,CAAE;AAC3B,MAAIH,EAAS,QAAQJ,GAAS,OAAM,IAAI,MAAM,2BAA2B;AACzE,SAAOI;AACT;AAEO,SAASU,GAAIT,GAAME,GAAI;AAC5B,MAAIH,IAAWC,EAAK;AACpB,MAAI,CAACD,KAAY,EAAEA,IAAWA,EAASG,CAAE,GAAI,OAAM,IAAI,MAAM,sBAAsB;AACnF,SAAOH;AACT;AAEA,SAASQ,GAAOP,GAAME,GAAIS,GAAM;AAC9B,MAAIL,IAAYN,EAAK,cACjBY;AAIJ,EAAAN,EAAUJ,CAAE,IAAIS,GAChBA,EAAK,QAAQE,GAAMd,GAAU,GAAGY,EAAK,IAAI;AAEzC,WAASZ,EAASlZ,GAAS;AACzB,IAAA8Z,EAAK,QAAQlB,IACbkB,EAAK,MAAM,QAAQ5T,GAAO4T,EAAK,OAAOA,EAAK,IAAI,GAG3CA,EAAK,SAAS9Z,KAASkG,EAAMlG,IAAU8Z,EAAK,KAAK;AAAA,EACvD;AAEA,WAAS5T,EAAMlG,GAAS;AACtB,QAAI9C,GAAGvC,GAAGI,GAAGwC;AAGb,QAAIuc,EAAK,UAAUlB,GAAW,QAAOqB,EAAI;AAEzC,SAAK/c,KAAKuc;AAER,UADAlc,IAAIkc,EAAUvc,CAAC,GACXK,EAAE,SAASuc,EAAK,MAKpB;AAAA,YAAIvc,EAAE,UAAUub,GAAS,QAAOnZ,GAAQuG,CAAK;AAG7C,QAAI3I,EAAE,UAAUwb,MACdxb,EAAE,QAAQ0b,IACV1b,EAAE,MAAM,KAAI,GACZA,EAAE,GAAG,KAAK,aAAa4b,GAAMA,EAAK,UAAU5b,EAAE,OAAOA,EAAE,KAAK,GAC5D,OAAOkc,EAAUvc,CAAC,KAIX,CAACA,IAAImc,MACZ9b,EAAE,QAAQ0b,IACV1b,EAAE,MAAM,KAAI,GACZA,EAAE,GAAG,KAAK,UAAU4b,GAAMA,EAAK,UAAU5b,EAAE,OAAOA,EAAE,KAAK,GACzD,OAAOkc,EAAUvc,CAAC;AAAA;AAoBtB,QAZAyC,GAAQ,WAAW;AACjB,MAAIma,EAAK,UAAUhB,OACjBgB,EAAK,QAAQf,IACbe,EAAK,MAAM,QAAQI,GAAMJ,EAAK,OAAOA,EAAK,IAAI,GAC9CI,EAAKla,CAAO;AAAA,IAEhB,CAAC,GAID8Z,EAAK,QAAQjB,IACbiB,EAAK,GAAG,KAAK,SAASX,GAAMA,EAAK,UAAUW,EAAK,OAAOA,EAAK,KAAK,GAC7DA,EAAK,UAAUjB,IAKnB;AAAA,WAJAiB,EAAK,QAAQhB,IAGbiB,IAAQ,IAAI,MAAMhf,IAAI+e,EAAK,MAAM,MAAM,GAClC5c,IAAI,GAAGvC,IAAI,IAAIuC,IAAInC,GAAG,EAAEmC;AAC3B,SAAIK,IAAIuc,EAAK,MAAM5c,CAAC,EAAE,MAAM,KAAKic,GAAMA,EAAK,UAAUW,EAAK,OAAOA,EAAK,KAAK,OAC1EC,EAAM,EAAEpf,CAAC,IAAI4C;AAGjB,MAAAwc,EAAM,SAASpf,IAAI;AAAA;AAAA,EACrB;AAEA,WAASuf,EAAKla,GAAS;AAKrB,aAJI1C,IAAI0C,IAAU8Z,EAAK,WAAWA,EAAK,KAAK,KAAK,MAAM9Z,IAAU8Z,EAAK,QAAQ,KAAKA,EAAK,MAAM,QAAQG,CAAI,GAAGH,EAAK,QAAQd,IAAQ,IAC9H9b,IAAI,IACJnC,IAAIgf,EAAM,QAEP,EAAE7c,IAAInC;AACX,MAAAgf,EAAM7c,CAAC,EAAE,KAAKic,GAAM7b,CAAC;AAIvB,IAAIwc,EAAK,UAAUd,OACjBc,EAAK,GAAG,KAAK,OAAOX,GAAMA,EAAK,UAAUW,EAAK,OAAOA,EAAK,KAAK,GAC/DG,EAAI;AAAA,EAER;AAEA,WAASA,IAAO;AACd,IAAAH,EAAK,QAAQb,IACba,EAAK,MAAM,KAAI,GACf,OAAOL,EAAUJ,CAAE;AACnB,aAASnc,KAAKuc,EAAW;AACzB,WAAON,EAAK;AAAA,EACd;AACF;ACtJe,SAAAgB,GAAShB,GAAMC,GAAM;AAClC,MAAIK,IAAYN,EAAK,cACjBD,GACAkB,GACAC,IAAQ,IACRnd;AAEJ,MAAKuc,GAEL;AAAA,IAAAL,IAAOA,KAAQ,OAAO,OAAOA,IAAO;AAEpC,SAAKlc,KAAKuc,GAAW;AACnB,WAAKP,IAAWO,EAAUvc,CAAC,GAAG,SAASkc,GAAM;AAAE,QAAAiB,IAAQ;AAAO;AAAA,MAAU;AACxE,MAAAD,IAASlB,EAAS,QAAQL,MAAYK,EAAS,QAAQF,IACvDE,EAAS,QAAQD,IACjBC,EAAS,MAAM,KAAI,GACnBA,EAAS,GAAG,KAAKkB,IAAS,cAAc,UAAUjB,GAAMA,EAAK,UAAUD,EAAS,OAAOA,EAAS,KAAK,GACrG,OAAOO,EAAUvc,CAAC;AAAA,IACpB;AAEA,IAAImd,KAAO,OAAOlB,EAAK;AAAA;AACzB;ACrBe,SAAAmB,GAASlB,GAAM;AAC5B,SAAO,KAAK,KAAK,WAAW;AAC1B,IAAAe,GAAU,MAAMf,CAAI;AAAA,EACtB,CAAC;AACH;ACJA,SAASmB,GAAYlB,GAAID,GAAM;AAC7B,MAAIoB,GAAQC;AACZ,SAAO,WAAW;AAChB,QAAIvB,IAAWW,GAAI,MAAMR,CAAE,GACvBU,IAAQb,EAAS;AAKrB,QAAIa,MAAUS,GAAQ;AACpB,MAAAC,IAASD,IAAST;AAClB,eAAS7c,IAAI,GAAGnC,IAAI0f,EAAO,QAAQvd,IAAInC,GAAG,EAAEmC;AAC1C,YAAIud,EAAOvd,CAAC,EAAE,SAASkc,GAAM;AAC3B,UAAAqB,IAASA,EAAO,MAAK,GACrBA,EAAO,OAAOvd,GAAG,CAAC;AAClB;AAAA,QACF;AAAA,IAEJ;AAEA,IAAAgc,EAAS,QAAQuB;AAAA,EACnB;AACF;AAEA,SAASC,GAAcrB,GAAID,GAAMld,GAAO;AACtC,MAAIse,GAAQC;AACZ,MAAI,OAAOve,KAAU,WAAY,OAAM,IAAI;AAC3C,SAAO,WAAW;AAChB,QAAIgd,IAAWW,GAAI,MAAMR,CAAE,GACvBU,IAAQb,EAAS;AAKrB,QAAIa,MAAUS,GAAQ;AACpB,MAAAC,KAAUD,IAAST,GAAO,MAAK;AAC/B,eAASzc,IAAI,EAAC,MAAM8b,GAAM,OAAOld,EAAK,GAAGgB,IAAI,GAAGnC,IAAI0f,EAAO,QAAQvd,IAAInC,GAAG,EAAEmC;AAC1E,YAAIud,EAAOvd,CAAC,EAAE,SAASkc,GAAM;AAC3B,UAAAqB,EAAOvd,CAAC,IAAII;AACZ;AAAA,QACF;AAEF,MAAIJ,MAAMnC,KAAG0f,EAAO,KAAKnd,CAAC;AAAA,IAC5B;AAEA,IAAA4b,EAAS,QAAQuB;AAAA,EACnB;AACF;AAEe,SAAAE,GAASvB,GAAMld,GAAO;AACnC,MAAImd,IAAK,KAAK;AAId,MAFAD,KAAQ,IAEJ,UAAU,SAAS,GAAG;AAExB,aADIW,IAAQH,GAAI,KAAK,KAAI,GAAIP,CAAE,EAAE,OACxBnc,IAAI,GAAGnC,IAAIgf,EAAM,QAAQzc,GAAGJ,IAAInC,GAAG,EAAEmC;AAC5C,WAAKI,IAAIyc,EAAM7c,CAAC,GAAG,SAASkc;AAC1B,eAAO9b,EAAE;AAGb,WAAO;AAAA,EACT;AAEA,SAAO,KAAK,MAAMpB,KAAS,OAAOqe,KAAcG,IAAerB,GAAID,GAAMld,CAAK,CAAC;AACjF;AAEO,SAAS0e,GAAWC,GAAYzB,GAAMld,GAAO;AAClD,MAAImd,IAAKwB,EAAW;AAEpB,SAAAA,EAAW,KAAK,WAAW;AACzB,QAAI3B,IAAWW,GAAI,MAAMR,CAAE;AAC3B,KAACH,EAAS,UAAUA,EAAS,QAAQ,CAAA,IAAKE,CAAI,IAAIld,EAAM,MAAM,MAAM,SAAS;AAAA,EAC/E,CAAC,GAEM,SAASid,GAAM;AACpB,WAAOS,GAAIT,GAAME,CAAE,EAAE,MAAMD,CAAI;AAAA,EACjC;AACF;AC7Ee,SAAAvT,GAAStK,GAAGC,GAAG;AAC5B,MAAIC;AACJ,UAAQ,OAAOD,KAAM,WAAWsf,KAC1Btf,aAAauf,KAAQC,MACpBvf,IAAIsf,GAAMvf,CAAC,MAAMA,IAAIC,GAAGuf,MACzBC,IAAmB1f,GAAGC,CAAC;AAC/B;ACJA,SAAS0f,GAAW9B,GAAM;AACxB,SAAO,WAAW;AAChB,SAAK,gBAAgBA,CAAI;AAAA,EAC3B;AACF;AAEA,SAAS+B,GAAaC,GAAU;AAC9B,SAAO,WAAW;AAChB,SAAK,kBAAkBA,EAAS,OAAOA,EAAS,KAAK;AAAA,EACvD;AACF;AAEA,SAASC,GAAajC,GAAMvT,GAAayV,GAAQ;AAC/C,MAAIC,GACAC,IAAUF,IAAS,IACnBG;AACJ,SAAO,WAAW;AAChB,QAAIC,IAAU,KAAK,aAAatC,CAAI;AACpC,WAAOsC,MAAYF,IAAU,OACvBE,MAAYH,IAAWE,IACvBA,IAAe5V,EAAY0V,IAAWG,GAASJ,CAAM;AAAA,EAC7D;AACF;AAEA,SAASK,GAAeP,GAAUvV,GAAayV,GAAQ;AACrD,MAAIC,GACAC,IAAUF,IAAS,IACnBG;AACJ,SAAO,WAAW;AAChB,QAAIC,IAAU,KAAK,eAAeN,EAAS,OAAOA,EAAS,KAAK;AAChE,WAAOM,MAAYF,IAAU,OACvBE,MAAYH,IAAWE,IACvBA,IAAe5V,EAAY0V,IAAWG,GAASJ,CAAM;AAAA,EAC7D;AACF;AAEA,SAASM,GAAaxC,GAAMvT,GAAa3J,GAAO;AAC9C,MAAIqf,GACAM,GACAJ;AACJ,SAAO,WAAW;AAChB,QAAIC,GAASJ,IAASpf,EAAM,IAAI,GAAGsf;AACnC,WAAIF,KAAU,OAAa,KAAK,KAAK,gBAAgBlC,CAAI,KACzDsC,IAAU,KAAK,aAAatC,CAAI,GAChCoC,IAAUF,IAAS,IACZI,MAAYF,IAAU,OACvBE,MAAYH,KAAYC,MAAYK,IAAWJ,KAC9CI,IAAWL,GAASC,IAAe5V,EAAY0V,IAAWG,GAASJ,CAAM;AAAA,EAClF;AACF;AAEA,SAASQ,GAAeV,GAAUvV,GAAa3J,GAAO;AACpD,MAAIqf,GACAM,GACAJ;AACJ,SAAO,WAAW;AAChB,QAAIC,GAASJ,IAASpf,EAAM,IAAI,GAAGsf;AACnC,WAAIF,KAAU,OAAa,KAAK,KAAK,kBAAkBF,EAAS,OAAOA,EAAS,KAAK,KACrFM,IAAU,KAAK,eAAeN,EAAS,OAAOA,EAAS,KAAK,GAC5DI,IAAUF,IAAS,IACZI,MAAYF,IAAU,OACvBE,MAAYH,KAAYC,MAAYK,IAAWJ,KAC9CI,IAAWL,GAASC,IAAe5V,EAAY0V,IAAWG,GAASJ,CAAM;AAAA,EAClF;AACF;AAEe,SAAAS,GAAS3C,GAAMld,GAAO;AACnC,MAAIkf,IAAWY,GAAU5C,CAAI,GAAG,IAAIgC,MAAa,cAAc/e,KAAuBwJ;AACtF,SAAO,KAAK,UAAUuT,GAAM,OAAOld,KAAU,cACtCkf,EAAS,QAAQU,KAAiBF,IAAcR,GAAU,GAAGR,GAAW,MAAM,UAAUxB,GAAMld,CAAK,CAAC,IACrGA,KAAS,QAAQkf,EAAS,QAAQD,KAAeD,IAAYE,CAAQ,KACpEA,EAAS,QAAQO,KAAiBN,IAAcD,GAAU,GAAGlf,CAAK,CAAC;AAC5E;AC3EA,SAAS+f,GAAgB7C,GAAMlc,GAAG;AAChC,SAAO,SAASI,GAAG;AACjB,SAAK,aAAa8b,GAAMlc,EAAE,KAAK,MAAMI,CAAC,CAAC;AAAA,EACzC;AACF;AAEA,SAAS4e,GAAkBd,GAAUle,GAAG;AACtC,SAAO,SAASI,GAAG;AACjB,SAAK,eAAe8d,EAAS,OAAOA,EAAS,OAAOle,EAAE,KAAK,MAAMI,CAAC,CAAC;AAAA,EACrE;AACF;AAEA,SAAS6e,GAAYf,GAAUlf,GAAO;AACpC,MAAIwI,GAAI0X;AACR,WAASrC,IAAQ;AACf,QAAI7c,IAAIhB,EAAM,MAAM,MAAM,SAAS;AACnC,WAAIgB,MAAMkf,MAAI1X,KAAM0X,IAAKlf,MAAMgf,GAAkBd,GAAUle,CAAC,IACrDwH;AAAA,EACT;AACA,SAAAqV,EAAM,SAAS7d,GACR6d;AACT;AAEA,SAASsC,GAAUjD,GAAMld,GAAO;AAC9B,MAAIwI,GAAI0X;AACR,WAASrC,IAAQ;AACf,QAAI7c,IAAIhB,EAAM,MAAM,MAAM,SAAS;AACnC,WAAIgB,MAAMkf,MAAI1X,KAAM0X,IAAKlf,MAAM+e,GAAgB7C,GAAMlc,CAAC,IAC/CwH;AAAA,EACT;AACA,SAAAqV,EAAM,SAAS7d,GACR6d;AACT;AAEe,SAAAuC,GAASlD,GAAMld,GAAO;AACnC,MAAImV,IAAM,UAAU+H;AACpB,MAAI,UAAU,SAAS,EAAG,SAAQ/H,IAAM,KAAK,MAAMA,CAAG,MAAMA,EAAI;AAChE,MAAInV,KAAS,KAAM,QAAO,KAAK,MAAMmV,GAAK,IAAI;AAC9C,MAAI,OAAOnV,KAAU,WAAY,OAAM,IAAI;AAC3C,MAAIkf,IAAWY,GAAU5C,CAAI;AAC7B,SAAO,KAAK,MAAM/H,IAAM+J,EAAS,QAAQe,KAAcE,IAAWjB,GAAUlf,CAAK,CAAC;AACpF;ACzCA,SAASqgB,GAAclD,GAAInd,GAAO;AAChC,SAAO,WAAW;AAChB,IAAAyd,GAAK,MAAMN,CAAE,EAAE,QAAQ,CAACnd,EAAM,MAAM,MAAM,SAAS;AAAA,EACrD;AACF;AAEA,SAASsgB,GAAcnD,GAAInd,GAAO;AAChC,SAAOA,IAAQ,CAACA,GAAO,WAAW;AAChC,IAAAyd,GAAK,MAAMN,CAAE,EAAE,QAAQnd;AAAA,EACzB;AACF;AAEe,SAAAugB,GAASvgB,GAAO;AAC7B,MAAImd,IAAK,KAAK;AAEd,SAAO,UAAU,SACX,KAAK,MAAM,OAAOnd,KAAU,aACxBqgB,KACAC,IAAenD,GAAInd,CAAK,CAAC,IAC7B0d,GAAI,KAAK,QAAQP,CAAE,EAAE;AAC7B;ACpBA,SAASqD,GAAiBrD,GAAInd,GAAO;AACnC,SAAO,WAAW;AAChB,IAAA2d,GAAI,MAAMR,CAAE,EAAE,WAAW,CAACnd,EAAM,MAAM,MAAM,SAAS;AAAA,EACvD;AACF;AAEA,SAASygB,GAAiBtD,GAAInd,GAAO;AACnC,SAAOA,IAAQ,CAACA,GAAO,WAAW;AAChC,IAAA2d,GAAI,MAAMR,CAAE,EAAE,WAAWnd;AAAA,EAC3B;AACF;AAEe,SAAA0gB,GAAS1gB,GAAO;AAC7B,MAAImd,IAAK,KAAK;AAEd,SAAO,UAAU,SACX,KAAK,MAAM,OAAOnd,KAAU,aACxBwgB,KACAC,IAAkBtD,GAAInd,CAAK,CAAC,IAChC0d,GAAI,KAAK,QAAQP,CAAE,EAAE;AAC7B;ACpBA,SAASwD,GAAaxD,GAAInd,GAAO;AAC/B,MAAI,OAAOA,KAAU,WAAY,OAAM,IAAI;AAC3C,SAAO,WAAW;AAChB,IAAA2d,GAAI,MAAMR,CAAE,EAAE,OAAOnd;AAAA,EACvB;AACF;AAEe,SAAA4gB,GAAS5gB,GAAO;AAC7B,MAAImd,IAAK,KAAK;AAEd,SAAO,UAAU,SACX,KAAK,KAAKwD,GAAaxD,GAAInd,CAAK,CAAC,IACjC0d,GAAI,KAAK,QAAQP,CAAE,EAAE;AAC7B;ACbA,SAAS0D,GAAY1D,GAAInd,GAAO;AAC9B,SAAO,WAAW;AAChB,QAAI4N,IAAI5N,EAAM,MAAM,MAAM,SAAS;AACnC,QAAI,OAAO4N,KAAM,WAAY,OAAM,IAAI;AACvC,IAAA+P,GAAI,MAAMR,CAAE,EAAE,OAAOvP;AAAA,EACvB;AACF;AAEe,SAAAkT,GAAS9gB,GAAO;AAC7B,MAAI,OAAOA,KAAU,WAAY,OAAM,IAAI;AAC3C,SAAO,KAAK,KAAK6gB,GAAY,KAAK,KAAK7gB,CAAK,CAAC;AAC/C;ACVe,SAAA+gB,GAASC,GAAO;AAC7B,EAAI,OAAOA,KAAU,eAAYA,IAAQC,GAAQD,CAAK;AAEtD,WAASE,IAAS,KAAK,SAASjhB,IAAIihB,EAAO,QAAQC,IAAY,IAAI,MAAMlhB,CAAC,GAAGxB,IAAI,GAAGA,IAAIwB,GAAG,EAAExB;AAC3F,aAAS4e,IAAQ6D,EAAOziB,CAAC,GAAGI,IAAIwe,EAAM,QAAQ+D,IAAWD,EAAU1iB,CAAC,IAAI,CAAA,GAAIwe,GAAMjc,IAAI,GAAGA,IAAInC,GAAG,EAAEmC;AAChG,OAAKic,IAAOI,EAAMrc,CAAC,MAAMggB,EAAM,KAAK/D,GAAMA,EAAK,UAAUjc,GAAGqc,CAAK,KAC/D+D,EAAS,KAAKnE,CAAI;AAKxB,SAAO,IAAIoE,GAAWF,GAAW,KAAK,UAAU,KAAK,OAAO,KAAK,GAAG;AACtE;ACbe,SAAAG,GAAS3C,GAAY;AAClC,MAAIA,EAAW,QAAQ,KAAK,IAAK,OAAM,IAAI;AAE3C,WAAS4C,IAAU,KAAK,SAASC,IAAU7C,EAAW,SAAS8C,IAAKF,EAAQ,QAAQG,IAAKF,EAAQ,QAAQvhB,IAAI,KAAK,IAAIwhB,GAAIC,CAAE,GAAGC,IAAS,IAAI,MAAMF,CAAE,GAAGhjB,IAAI,GAAGA,IAAIwB,GAAG,EAAExB;AACrK,aAASmjB,IAASL,EAAQ9iB,CAAC,GAAGojB,IAASL,EAAQ/iB,CAAC,GAAGI,IAAI+iB,EAAO,QAAQ3iB,IAAQ0iB,EAAOljB,CAAC,IAAI,IAAI,MAAMI,CAAC,GAAGoe,GAAMjc,IAAI,GAAGA,IAAInC,GAAG,EAAEmC;AAC5H,OAAIic,IAAO2E,EAAO5gB,CAAC,KAAK6gB,EAAO7gB,CAAC,OAC9B/B,EAAM+B,CAAC,IAAIic;AAKjB,SAAOxe,IAAIgjB,GAAI,EAAEhjB;AACf,IAAAkjB,EAAOljB,CAAC,IAAI8iB,EAAQ9iB,CAAC;AAGvB,SAAO,IAAI4iB,GAAWM,GAAQ,KAAK,UAAU,KAAK,OAAO,KAAK,GAAG;AACnE;AChBA,SAAS3X,GAAMkT,GAAM;AACnB,UAAQA,IAAO,IAAI,KAAI,EAAG,MAAM,OAAO,EAAE,MAAM,SAAS9b,GAAG;AACzD,QAAIJ,IAAII,EAAE,QAAQ,GAAG;AACrB,WAAIJ,KAAK,MAAGI,IAAIA,EAAE,MAAM,GAAGJ,CAAC,IACrB,CAACI,KAAKA,MAAM;AAAA,EACrB,CAAC;AACH;AAEA,SAAS0gB,GAAW3E,GAAID,GAAM6E,GAAU;AACtC,MAAIC,GAAKC,GAAKC,IAAMlY,GAAMkT,CAAI,IAAIO,KAAOE;AACzC,SAAO,WAAW;AAChB,QAAIX,IAAWkF,EAAI,MAAM/E,CAAE,GACvBgF,IAAKnF,EAAS;AAKlB,IAAImF,MAAOH,MAAMC,KAAOD,IAAMG,GAAI,KAAI,GAAI,GAAGjF,GAAM6E,CAAQ,GAE3D/E,EAAS,KAAKiF;AAAA,EAChB;AACF;AAEe,SAAAG,GAASlF,GAAM6E,GAAU;AACtC,MAAI5E,IAAK,KAAK;AAEd,SAAO,UAAU,SAAS,IACpBO,GAAI,KAAK,KAAI,GAAIP,CAAE,EAAE,GAAG,GAAGD,CAAI,IAC/B,KAAK,KAAK4E,GAAW3E,GAAID,GAAM6E,CAAQ,CAAC;AAChD;AC/BA,SAASM,GAAelF,GAAI;AAC1B,SAAO,WAAW;AAChB,QAAImF,IAAS,KAAK;AAClB,aAASthB,KAAK,KAAK,aAAc,KAAI,CAACA,MAAMmc,EAAI;AAChD,IAAImF,KAAQA,EAAO,YAAY,IAAI;AAAA,EACrC;AACF;AAEe,SAAAC,KAAW;AACxB,SAAO,KAAK,GAAG,cAAcF,GAAe,KAAK,GAAG,CAAC;AACvD;ACNe,SAAAG,GAAStG,GAAQ;AAC9B,MAAIgB,IAAO,KAAK,OACZC,IAAK,KAAK;AAEd,EAAI,OAAOjB,KAAW,eAAYA,IAASuG,GAASvG,CAAM;AAE1D,WAASgF,IAAS,KAAK,SAASjhB,IAAIihB,EAAO,QAAQC,IAAY,IAAI,MAAMlhB,CAAC,GAAGxB,IAAI,GAAGA,IAAIwB,GAAG,EAAExB;AAC3F,aAAS4e,IAAQ6D,EAAOziB,CAAC,GAAGI,IAAIwe,EAAM,QAAQ+D,IAAWD,EAAU1iB,CAAC,IAAI,IAAI,MAAMI,CAAC,GAAGoe,GAAMyF,GAAS1hB,IAAI,GAAGA,IAAInC,GAAG,EAAEmC;AACnH,OAAKic,IAAOI,EAAMrc,CAAC,OAAO0hB,IAAUxG,EAAO,KAAKe,GAAMA,EAAK,UAAUjc,GAAGqc,CAAK,OACvE,cAAcJ,MAAMyF,EAAQ,WAAWzF,EAAK,WAChDmE,EAASpgB,CAAC,IAAI0hB,GACd1F,GAASoE,EAASpgB,CAAC,GAAGkc,GAAMC,GAAInc,GAAGogB,GAAU1D,GAAIT,GAAME,CAAE,CAAC;AAKhE,SAAO,IAAIkE,GAAWF,GAAW,KAAK,UAAUjE,GAAMC,CAAE;AAC1D;ACjBe,SAAAwF,GAASzG,GAAQ;AAC9B,MAAIgB,IAAO,KAAK,OACZC,IAAK,KAAK;AAEd,EAAI,OAAOjB,KAAW,eAAYA,IAAS0G,GAAY1G,CAAM;AAE7D,WAASgF,IAAS,KAAK,SAASjhB,IAAIihB,EAAO,QAAQC,IAAY,CAAA,GAAI0B,IAAU,CAAA,GAAIpkB,IAAI,GAAGA,IAAIwB,GAAG,EAAExB;AAC/F,aAAS4e,IAAQ6D,EAAOziB,CAAC,GAAGI,IAAIwe,EAAM,QAAQJ,GAAMjc,IAAI,GAAGA,IAAInC,GAAG,EAAEmC;AAClE,UAAIic,IAAOI,EAAMrc,CAAC,GAAG;AACnB,iBAAS8hB,IAAW5G,EAAO,KAAKe,GAAMA,EAAK,UAAUjc,GAAGqc,CAAK,GAAG0F,GAAOC,IAAUtF,GAAIT,GAAME,CAAE,GAAGlW,IAAI,GAAGE,IAAI2b,EAAS,QAAQ7b,IAAIE,GAAG,EAAEF;AACnI,WAAI8b,IAAQD,EAAS7b,CAAC,MACpB+V,GAAS+F,GAAO7F,GAAMC,GAAIlW,GAAG6b,GAAUE,CAAO;AAGlD,QAAA7B,EAAU,KAAK2B,CAAQ,GACvBD,EAAQ,KAAK5F,CAAI;AAAA,MACnB;AAIJ,SAAO,IAAIoE,GAAWF,GAAW0B,GAAS3F,GAAMC,CAAE;AACpD;ACvBA,IAAI8F,KAAYhH,GAAU,UAAU;AAErB,SAAAiH,KAAW;AACxB,SAAO,IAAID,GAAU,KAAK,SAAS,KAAK,QAAQ;AAClD;ACAA,SAASE,GAAUjG,GAAMvT,GAAa;AACpC,MAAI0V,GACAM,GACAJ;AACJ,SAAO,WAAW;AAChB,QAAIC,IAAU4D,GAAM,MAAMlG,CAAI,GAC1BoC,KAAW,KAAK,MAAM,eAAepC,CAAI,GAAGkG,GAAM,MAAMlG,CAAI;AAChE,WAAOsC,MAAYF,IAAU,OACvBE,MAAYH,KAAYC,MAAYK,IAAWJ,IAC/CA,IAAe5V,EAAY0V,IAAWG,GAASG,IAAWL,CAAO;AAAA,EACzE;AACF;AAEA,SAAS+D,GAAYnG,GAAM;AACzB,SAAO,WAAW;AAChB,SAAK,MAAM,eAAeA,CAAI;AAAA,EAChC;AACF;AAEA,SAASoG,GAAcpG,GAAMvT,GAAayV,GAAQ;AAChD,MAAIC,GACAC,IAAUF,IAAS,IACnBG;AACJ,SAAO,WAAW;AAChB,QAAIC,IAAU4D,GAAM,MAAMlG,CAAI;AAC9B,WAAOsC,MAAYF,IAAU,OACvBE,MAAYH,IAAWE,IACvBA,IAAe5V,EAAY0V,IAAWG,GAASJ,CAAM;AAAA,EAC7D;AACF;AAEA,SAASmE,GAAcrG,GAAMvT,GAAa3J,GAAO;AAC/C,MAAIqf,GACAM,GACAJ;AACJ,SAAO,WAAW;AAChB,QAAIC,IAAU4D,GAAM,MAAMlG,CAAI,GAC1BkC,IAASpf,EAAM,IAAI,GACnBsf,IAAUF,IAAS;AACvB,WAAIA,KAAU,SAAME,IAAUF,KAAU,KAAK,MAAM,eAAelC,CAAI,GAAGkG,GAAM,MAAMlG,CAAI,KAClFsC,MAAYF,IAAU,OACvBE,MAAYH,KAAYC,MAAYK,IAAWJ,KAC9CI,IAAWL,GAASC,IAAe5V,EAAY0V,IAAWG,GAASJ,CAAM;AAAA,EAClF;AACF;AAEA,SAASoE,GAAiBrG,GAAID,GAAM;AAClC,MAAI8E,GAAKC,GAAKwB,GAAWtO,IAAM,WAAW+H,GAAMrB,IAAQ,SAAS1G,GAAKuO;AACtE,SAAO,WAAW;AAChB,QAAI1G,IAAWW,GAAI,MAAMR,CAAE,GACvBgF,IAAKnF,EAAS,IACd+E,IAAW/E,EAAS,MAAM7H,CAAG,KAAK,OAAOuO,MAAWA,IAASL,GAAYnG,CAAI,KAAK;AAKtF,KAAIiF,MAAOH,KAAOyB,MAAc1B,OAAWE,KAAOD,IAAMG,GAAI,KAAI,GAAI,GAAGtG,GAAO4H,IAAY1B,CAAQ,GAElG/E,EAAS,KAAKiF;AAAA,EAChB;AACF;AAEe,SAAA0B,GAASzG,GAAMld,GAAO4jB,GAAU;AAC7C,MAAI,KAAK1G,KAAQ,OAAQ,cAAc/c,KAAuBwJ;AAC9D,SAAO3J,KAAS,OAAO,KAClB,WAAWkd,GAAMiG,GAAUjG,GAAM,CAAC,CAAC,EACnC,GAAG,eAAeA,GAAMmG,GAAYnG,CAAI,CAAC,IAC1C,OAAOld,KAAU,aAAa,KAC7B,WAAWkd,GAAMqG,GAAcrG,GAAM,GAAGwB,GAAW,MAAM,WAAWxB,GAAMld,CAAK,CAAC,CAAC,EACjF,KAAKwjB,GAAiB,KAAK,KAAKtG,CAAI,CAAC,IACtC,KACC,WAAWA,GAAMoG,GAAcpG,GAAM,GAAGld,CAAK,GAAG4jB,CAAQ,EACxD,GAAG,eAAe1G,GAAM,IAAI;AACnC;AC/EA,SAAS2G,GAAiB3G,GAAMlc,GAAG4iB,GAAU;AAC3C,SAAO,SAASxiB,GAAG;AACjB,SAAK,MAAM,YAAY8b,GAAMlc,EAAE,KAAK,MAAMI,CAAC,GAAGwiB,CAAQ;AAAA,EACxD;AACF;AAEA,SAASE,GAAW5G,GAAMld,GAAO4jB,GAAU;AACzC,MAAIxiB,GAAG8e;AACP,WAASrC,IAAQ;AACf,QAAI7c,IAAIhB,EAAM,MAAM,MAAM,SAAS;AACnC,WAAIgB,MAAMkf,MAAI9e,KAAK8e,IAAKlf,MAAM6iB,GAAiB3G,GAAMlc,GAAG4iB,CAAQ,IACzDxiB;AAAA,EACT;AACA,SAAAyc,EAAM,SAAS7d,GACR6d;AACT;AAEe,SAAAkG,GAAS7G,GAAMld,GAAO4jB,GAAU;AAC7C,MAAIzO,IAAM,YAAY+H,KAAQ;AAC9B,MAAI,UAAU,SAAS,EAAG,SAAQ/H,IAAM,KAAK,MAAMA,CAAG,MAAMA,EAAI;AAChE,MAAInV,KAAS,KAAM,QAAO,KAAK,MAAMmV,GAAK,IAAI;AAC9C,MAAI,OAAOnV,KAAU,WAAY,OAAM,IAAI;AAC3C,SAAO,KAAK,MAAMmV,GAAK2O,GAAW5G,GAAMld,GAAO4jB,KAAmB,EAAa,CAAC;AAClF;ACrBA,SAASI,GAAahkB,GAAO;AAC3B,SAAO,WAAW;AAChB,SAAK,cAAcA;AAAA,EACrB;AACF;AAEA,SAASikB,GAAajkB,GAAO;AAC3B,SAAO,WAAW;AAChB,QAAIof,IAASpf,EAAM,IAAI;AACvB,SAAK,cAAcof,KAAiB;AAAA,EACtC;AACF;AAEe,SAAA8E,GAASlkB,GAAO;AAC7B,SAAO,KAAK,MAAM,QAAQ,OAAOA,KAAU,aACrCikB,GAAavF,GAAW,MAAM,QAAQ1e,CAAK,CAAC,IAC5CgkB,GAAahkB,KAAS,OAAO,KAAKA,IAAQ,EAAE,CAAC;AACrD;ACnBA,SAASmkB,GAAgBnjB,GAAG;AAC1B,SAAO,SAASI,GAAG;AACjB,SAAK,cAAcJ,EAAE,KAAK,MAAMI,CAAC;AAAA,EACnC;AACF;AAEA,SAASgjB,GAAUpkB,GAAO;AACxB,MAAIwI,GAAI0X;AACR,WAASrC,IAAQ;AACf,QAAI7c,IAAIhB,EAAM,MAAM,MAAM,SAAS;AACnC,WAAIgB,MAAMkf,MAAI1X,KAAM0X,IAAKlf,MAAMmjB,GAAgBnjB,CAAC,IACzCwH;AAAA,EACT;AACA,SAAAqV,EAAM,SAAS7d,GACR6d;AACT;AAEe,SAAAwG,GAASrkB,GAAO;AAC7B,MAAImV,IAAM;AACV,MAAI,UAAU,SAAS,EAAG,SAAQA,IAAM,KAAK,MAAMA,CAAG,MAAMA,EAAI;AAChE,MAAInV,KAAS,KAAM,QAAO,KAAK,MAAMmV,GAAK,IAAI;AAC9C,MAAI,OAAOnV,KAAU,WAAY,OAAM,IAAI;AAC3C,SAAO,KAAK,MAAMmV,GAAKiP,GAAUpkB,CAAK,CAAC;AACzC;ACpBe,SAAAskB,KAAW;AAKxB,WAJIpH,IAAO,KAAK,OACZqH,IAAM,KAAK,KACXC,IAAMC,GAAK,GAENvD,IAAS,KAAK,SAASjhB,IAAIihB,EAAO,QAAQziB,IAAI,GAAGA,IAAIwB,GAAG,EAAExB;AACjE,aAAS4e,IAAQ6D,EAAOziB,CAAC,GAAGI,IAAIwe,EAAM,QAAQJ,GAAMjc,IAAI,GAAGA,IAAInC,GAAG,EAAEmC;AAClE,UAAIic,IAAOI,EAAMrc,CAAC,GAAG;AACnB,YAAIgiB,IAAUtF,GAAIT,GAAMsH,CAAG;AAC3B,QAAAvH,GAASC,GAAMC,GAAMsH,GAAKxjB,GAAGqc,GAAO;AAAA,UAClC,MAAM2F,EAAQ,OAAOA,EAAQ,QAAQA,EAAQ;AAAA,UAC7C,OAAO;AAAA,UACP,UAAUA,EAAQ;AAAA,UAClB,MAAMA,EAAQ;AAAA,QACxB,CAAS;AAAA,MACH;AAIJ,SAAO,IAAI3B,GAAWH,GAAQ,KAAK,UAAUhE,GAAMsH,CAAG;AACxD;ACrBe,SAAAE,KAAW;AACxB,MAAI1C,GAAKC,GAAK0C,IAAO,MAAMxH,IAAKwH,EAAK,KAAKjP,IAAOiP,EAAK,KAAI;AAC1D,SAAO,IAAI,QAAQ,SAASC,GAASC,GAAQ;AAC3C,QAAIC,IAAS,EAAC,OAAOD,EAAM,GACvBE,IAAM,EAAC,OAAO,WAAW;AAAE,MAAI,EAAErP,MAAS,KAAGkP;IAAW,EAAC;AAE7D,IAAAD,EAAK,KAAK,WAAW;AACnB,UAAI3H,IAAWW,GAAI,MAAMR,CAAE,GACvBgF,IAAKnF,EAAS;AAKlB,MAAImF,MAAOH,MACTC,KAAOD,IAAMG,GAAI,KAAI,GACrBF,EAAI,EAAE,OAAO,KAAK6C,CAAM,GACxB7C,EAAI,EAAE,UAAU,KAAK6C,CAAM,GAC3B7C,EAAI,EAAE,IAAI,KAAK8C,CAAG,IAGpB/H,EAAS,KAAKiF;AAAA,IAChB,CAAC,GAGGvM,MAAS,KAAGkP,EAAO;AAAA,EACzB,CAAC;AACH;ACNA,IAAIzH,KAAK;AAEF,SAASkE,GAAWH,GAAQ2B,GAAS3F,GAAMC,GAAI;AACpD,OAAK,UAAU+D,GACf,KAAK,WAAW2B,GAChB,KAAK,QAAQ3F,GACb,KAAK,MAAMC;AACb;AAMO,SAASsH,KAAQ;AACtB,SAAO,EAAEtH;AACX;AAEA,IAAI6H,KAAsB/I,GAAU;AAEpCoF,GAAW,YAAmC;AAAA,EAC5C,aAAaA;AAAA,EACb,QAAQmB;AAAA,EACR,WAAWG;AAAA,EACX,aAAaqC,GAAoB;AAAA,EACjC,gBAAgBA,GAAoB;AAAA,EACpC,QAAQjE;AAAA,EACR,OAAOO;AAAA,EACP,WAAW4B;AAAA,EACX,YAAYoB;AAAA,EACZ,MAAMU,GAAoB;AAAA,EAC1B,OAAOA,GAAoB;AAAA,EAC3B,MAAMA,GAAoB;AAAA,EAC1B,MAAMA,GAAoB;AAAA,EAC1B,OAAOA,GAAoB;AAAA,EAC3B,MAAMA,GAAoB;AAAA,EAC1B,IAAI5C;AAAA,EACJ,MAAMvC;AAAA,EACN,WAAWO;AAAA,EACX,OAAOuD;AAAA,EACP,YAAYI;AAAA,EACZ,MAAMG;AAAA,EACN,WAAWG;AAAA,EACX,QAAQ9B;AAAA,EACR,OAAO9D;AAAA,EACP,OAAO8B;AAAA,EACP,UAAUG;AAAA,EACV,MAAME;AAAA,EACN,aAAaE;AAAA,EACb,KAAK4D;AAAA,EACL,CAAC,OAAO,QAAQ,GAAGM,GAAoB,OAAO,QAAQ;AACxD;AChEO,SAASC,GAAW,GAAG;AAC5B,WAAS,KAAK,MAAM,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK;AAC9D;ACLA,IAAIC,KAAgB;AAAA,EAClB,MAAM;AAAA;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,MAAMC;AACR;AAEA,SAASnC,GAAQ/F,GAAME,GAAI;AAEzB,WADIG,GACG,EAAEA,IAASL,EAAK,iBAAiB,EAAEK,IAASA,EAAOH,CAAE;AAC1D,QAAI,EAAEF,IAAOA,EAAK;AAChB,YAAM,IAAI,MAAM,cAAcE,CAAE,YAAY;AAGhD,SAAOG;AACT;AAEe,SAAA8H,GAASlI,GAAM;AAC5B,MAAIC,GACAG;AAEJ,EAAIJ,aAAgBmE,MAClBlE,IAAKD,EAAK,KAAKA,IAAOA,EAAK,UAE3BC,IAAKsH,GAAK,IAAKnH,IAAS4H,IAAe,OAAOG,GAAG,GAAInI,IAAOA,KAAQ,OAAO,OAAOA,IAAO;AAG3F,WAASgE,IAAS,KAAK,SAASjhB,IAAIihB,EAAO,QAAQziB,IAAI,GAAGA,IAAIwB,GAAG,EAAExB;AACjE,aAAS4e,IAAQ6D,EAAOziB,CAAC,GAAGI,IAAIwe,EAAM,QAAQJ,GAAMjc,IAAI,GAAGA,IAAInC,GAAG,EAAEmC;AAClE,OAAIic,IAAOI,EAAMrc,CAAC,MAChBgc,GAASC,GAAMC,GAAMC,GAAInc,GAAGqc,GAAOC,KAAU0F,GAAQ/F,GAAME,CAAE,CAAC;AAKpE,SAAO,IAAIkE,GAAWH,GAAQ,KAAK,UAAUhE,GAAMC,CAAE;AACvD;ACrCAlB,GAAU,UAAU,YAAYmC;AAChCnC,GAAU,UAAU,aAAamJ;ACLjC,MAAAE,KAAe,CAAA/mB,MAAK,MAAMA;ACAX,SAASgnB,GAAUC,GAAM;AAAA,EACtC,aAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAjO;AAAA,EACA,UAAA8E;AACF,GAAG;AACD,SAAO,iBAAiB,MAAM;AAAA,IAC5B,MAAM,EAAC,OAAOiJ,GAAM,YAAY,IAAM,cAAc,GAAI;AAAA,IACxD,aAAa,EAAC,OAAOC,GAAa,YAAY,IAAM,cAAc,GAAI;AAAA,IACtE,QAAQ,EAAC,OAAOC,GAAQ,YAAY,IAAM,cAAc,GAAI;AAAA,IAC5D,WAAW,EAAC,OAAOjO,GAAW,YAAY,IAAM,cAAc,GAAI;AAAA,IAClE,GAAG,EAAC,OAAO8E,EAAQ;AAAA,EACvB,CAAG;AACH;ACbO,SAASoJ,GAAU1e,GAAG1I,GAAGG,GAAG;AACjC,OAAK,IAAIuI,GACT,KAAK,IAAI1I,GACT,KAAK,IAAIG;AACX;AAEAinB,GAAU,YAAY;AAAA,EACpB,aAAaA;AAAA,EACb,OAAO,SAAS1e,GAAG;AACjB,WAAOA,MAAM,IAAI,OAAO,IAAI0e,GAAU,KAAK,IAAI1e,GAAG,KAAK,GAAG,KAAK,CAAC;AAAA,EAClE;AAAA,EACA,WAAW,SAAS1I,GAAGG,GAAG;AACxB,WAAOH,MAAM,IAAIG,MAAM,IAAI,OAAO,IAAIinB,GAAU,KAAK,GAAG,KAAK,IAAI,KAAK,IAAIpnB,GAAG,KAAK,IAAI,KAAK,IAAIG,CAAC;AAAA,EAClG;AAAA,EACA,OAAO,SAASoK,GAAO;AACrB,WAAO,CAACA,EAAM,CAAC,IAAI,KAAK,IAAI,KAAK,GAAGA,EAAM,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC;AAAA,EAChE;AAAA,EACA,QAAQ,SAASvK,GAAG;AAClB,WAAOA,IAAI,KAAK,IAAI,KAAK;AAAA,EAC3B;AAAA,EACA,QAAQ,SAASG,GAAG;AAClB,WAAOA,IAAI,KAAK,IAAI,KAAK;AAAA,EAC3B;AAAA,EACA,QAAQ,SAASknB,GAAU;AACzB,WAAO,EAAEA,EAAS,CAAC,IAAI,KAAK,KAAK,KAAK,IAAIA,EAAS,CAAC,IAAI,KAAK,KAAK,KAAK,CAAC;AAAA,EAC1E;AAAA,EACA,SAAS,SAASrnB,GAAG;AACnB,YAAQA,IAAI,KAAK,KAAK,KAAK;AAAA,EAC7B;AAAA,EACA,SAAS,SAASG,GAAG;AACnB,YAAQA,IAAI,KAAK,KAAK,KAAK;AAAA,EAC7B;AAAA,EACA,UAAU,SAASH,GAAG;AACpB,WAAOA,EAAE,KAAI,EAAG,OAAOA,EAAE,MAAK,EAAG,IAAI,KAAK,SAAS,IAAI,EAAE,IAAIA,EAAE,QAAQA,CAAC,CAAC;AAAA,EAC3E;AAAA,EACA,UAAU,SAASG,GAAG;AACpB,WAAOA,EAAE,KAAI,EAAG,OAAOA,EAAE,MAAK,EAAG,IAAI,KAAK,SAAS,IAAI,EAAE,IAAIA,EAAE,QAAQA,CAAC,CAAC;AAAA,EAC3E;AAAA,EACA,UAAU,WAAW;AACnB,WAAO,eAAe,KAAK,IAAI,MAAM,KAAK,IAAI,aAAa,KAAK,IAAI;AAAA,EACtE;AACF;AAEO,IAAIS,KAAW,IAAIwmB,GAAU,GAAG,GAAG,CAAC;AAErBA,GAAU;AC7CzB,SAASE,GAAchK,GAAO;AACnC,EAAAA,EAAM,yBAAwB;AAChC;AAEe,SAAAM,GAASN,GAAO;AAC7B,EAAAA,EAAM,eAAc,GACpBA,EAAM,yBAAwB;AAChC;ACKA,SAASiK,GAAcjK,GAAO;AAC5B,UAAQ,CAACA,EAAM,WAAWA,EAAM,SAAS,YAAY,CAACA,EAAM;AAC9D;AAEA,SAASkK,KAAgB;AACvB,MAAItmB,IAAI;AACR,SAAIA,aAAa,cACfA,IAAIA,EAAE,mBAAmBA,GACrBA,EAAE,aAAa,SAAS,KAC1BA,IAAIA,EAAE,QAAQ,SACP,CAAC,CAACA,EAAE,GAAGA,EAAE,CAAC,GAAG,CAACA,EAAE,IAAIA,EAAE,OAAOA,EAAE,IAAIA,EAAE,MAAM,CAAC,KAE9C,CAAC,CAAC,GAAG,CAAC,GAAG,CAACA,EAAE,MAAM,QAAQ,OAAOA,EAAE,OAAO,QAAQ,KAAK,CAAC,KAE1D,CAAC,CAAC,GAAG,CAAC,GAAG,CAACA,EAAE,aAAaA,EAAE,YAAY,CAAC;AACjD;AAEA,SAASumB,KAAmB;AAC1B,SAAO,KAAK,UAAU7mB;AACxB;AAEA,SAAS8mB,GAAkBpK,GAAO;AAChC,SAAO,CAACA,EAAM,UAAUA,EAAM,cAAc,IAAI,OAAOA,EAAM,YAAY,IAAI,SAAUA,EAAM,UAAU,KAAK;AAC9G;AAEA,SAASqK,KAAmB;AAC1B,SAAO,UAAU,kBAAmB,kBAAkB;AACxD;AAEA,SAASC,GAAiB1O,GAAWlC,GAAQ6Q,GAAiB;AAC5D,MAAIC,IAAM5O,EAAU,QAAQlC,EAAO,CAAC,EAAE,CAAC,CAAC,IAAI6Q,EAAgB,CAAC,EAAE,CAAC,GAC5DE,IAAM7O,EAAU,QAAQlC,EAAO,CAAC,EAAE,CAAC,CAAC,IAAI6Q,EAAgB,CAAC,EAAE,CAAC,GAC5DG,IAAM9O,EAAU,QAAQlC,EAAO,CAAC,EAAE,CAAC,CAAC,IAAI6Q,EAAgB,CAAC,EAAE,CAAC,GAC5DI,IAAM/O,EAAU,QAAQlC,EAAO,CAAC,EAAE,CAAC,CAAC,IAAI6Q,EAAgB,CAAC,EAAE,CAAC;AAChE,SAAO3O,EAAU;AAAA,IACf6O,IAAMD,KAAOA,IAAMC,KAAO,IAAI,KAAK,IAAI,GAAGD,CAAG,KAAK,KAAK,IAAI,GAAGC,CAAG;AAAA,IACjEE,IAAMD,KAAOA,IAAMC,KAAO,IAAI,KAAK,IAAI,GAAGD,CAAG,KAAK,KAAK,IAAI,GAAGC,CAAG;AAAA,EACrE;AACA;AAEe,SAAAvkB,KAAW;AACxB,MAAIwkB,IAASX,IACTvQ,IAASwQ,IACTW,IAAYP,IACZQ,IAAaV,IACbW,IAAYV,IACZW,IAAc,CAAC,GAAG,KAAQ,GAC1BT,IAAkB,CAAC,CAAC,QAAW,MAAS,GAAG,CAAC,OAAU,KAAQ,CAAC,GAC/DU,IAAW,KACXnd,IAAc/H,IACdmlB,IAAYxK,GAAS,SAAS,QAAQ,KAAK,GAC3CyK,GACAC,GACAC,GACAC,IAAa,KACbC,IAAa,KACbC,IAAiB,GACjBC,IAAc;AAElB,WAASrlB,EAAKga,GAAW;AACvB,IAAAA,EACK,SAAS,UAAU+J,EAAgB,EACnC,GAAG,cAAcuB,GAAS,EAAC,SAAS,GAAK,CAAC,EAC1C,GAAG,kBAAkBC,CAAW,EAChC,GAAG,iBAAiBC,CAAU,EAChC,OAAOb,CAAS,EACd,GAAG,mBAAmBc,CAAY,EAClC,GAAG,kBAAkBC,CAAU,EAC/B,GAAG,kCAAkCC,CAAU,EAC/C,MAAM,+BAA+B,eAAe;AAAA,EAC3D;AAEA,EAAA3lB,EAAK,YAAY,SAAS4lB,GAAYpQ,GAAW3O,GAAO+S,GAAO;AAC7D,QAAII,IAAY4L,EAAW,YAAYA,EAAW,UAAS,IAAKA;AAChE,IAAA5L,EAAU,SAAS,UAAU+J,EAAgB,GACzC6B,MAAe5L,IACjBe,EAAS6K,GAAYpQ,GAAW3O,GAAO+S,CAAK,IAE5CI,EAAU,YAAY,KAAK,WAAW;AACpC,MAAA6L,EAAQ,MAAM,SAAS,EACpB,MAAMjM,CAAK,EACX,MAAK,EACL,KAAK,MAAM,OAAOpE,KAAc,aAAaA,EAAU,MAAM,MAAM,SAAS,IAAIA,CAAS,EACzF,IAAG;AAAA,IACR,CAAC;AAAA,EAEL,GAEAxV,EAAK,UAAU,SAASga,GAAWhV,GAAGzI,GAAGqd,GAAO;AAC9C,IAAA5Z,EAAK,QAAQga,GAAW,WAAW;AACjC,UAAI8L,IAAK,KAAK,OAAO,GACjBC,IAAK,OAAO/gB,KAAM,aAAaA,EAAE,MAAM,MAAM,SAAS,IAAIA;AAC9D,aAAO8gB,IAAKC;AAAA,IACd,GAAGxpB,GAAGqd,CAAK;AAAA,EACb,GAEA5Z,EAAK,UAAU,SAASga,GAAWhV,GAAGzI,GAAGqd,GAAO;AAC9C,IAAA5Z,EAAK,UAAUga,GAAW,WAAW;AACnC,UAAIxc,IAAI8V,EAAO,MAAM,MAAM,SAAS,GAChC/M,IAAK,KAAK,QACVtG,IAAK1D,KAAK,OAAOwU,EAASvT,CAAC,IAAI,OAAOjB,KAAM,aAAaA,EAAE,MAAM,MAAM,SAAS,IAAIA,GACpF2D,IAAKqG,EAAG,OAAOtG,CAAE,GACjB8lB,IAAK,OAAO/gB,KAAM,aAAaA,EAAE,MAAM,MAAM,SAAS,IAAIA;AAC9D,aAAOyf,EAAUjmB,EAAUU,EAAMqH,GAAIwf,CAAE,GAAG9lB,GAAIC,CAAE,GAAG1C,GAAG2mB,CAAe;AAAA,IACvE,GAAG5nB,GAAGqd,CAAK;AAAA,EACb,GAEA5Z,EAAK,cAAc,SAASga,GAAW1d,GAAGG,GAAGmd,GAAO;AAClD,IAAA5Z,EAAK,UAAUga,GAAW,WAAW;AACnC,aAAOyK,EAAU,KAAK,OAAO;AAAA,QAC3B,OAAOnoB,KAAM,aAAaA,EAAE,MAAM,MAAM,SAAS,IAAIA;AAAA,QACrD,OAAOG,KAAM,aAAaA,EAAE,MAAM,MAAM,SAAS,IAAIA;AAAA,MAC7D,GAAS6W,EAAO,MAAM,MAAM,SAAS,GAAG6Q,CAAe;AAAA,IACnD,GAAG,MAAMvK,CAAK;AAAA,EAChB,GAEA5Z,EAAK,cAAc,SAASga,GAAW1d,GAAGG,GAAGF,GAAGqd,GAAO;AACrD,IAAA5Z,EAAK,UAAUga,GAAW,WAAW;AACnC,UAAIxc,IAAI8V,EAAO,MAAM,MAAM,SAAS,GAChCnU,IAAI,KAAK,QACTc,IAAK1D,KAAK,OAAOwU,EAASvT,CAAC,IAAI,OAAOjB,KAAM,aAAaA,EAAE,MAAM,MAAM,SAAS,IAAIA;AACxF,aAAOkoB,EAAUvnB,GAAS,UAAU+C,EAAG,CAAC,GAAGA,EAAG,CAAC,CAAC,EAAE,MAAMd,EAAE,CAAC,EAAE;AAAA,QAC3D,OAAO7C,KAAM,aAAa,CAACA,EAAE,MAAM,MAAM,SAAS,IAAI,CAACA;AAAA,QACvD,OAAOG,KAAM,aAAa,CAACA,EAAE,MAAM,MAAM,SAAS,IAAI,CAACA;AAAA,MAC/D,GAASe,GAAG2mB,CAAe;AAAA,IACvB,GAAG5nB,GAAGqd,CAAK;AAAA,EACb;AAEA,WAAS1a,EAAMsW,GAAWxQ,GAAG;AAC3B,WAAAA,IAAI,KAAK,IAAI4f,EAAY,CAAC,GAAG,KAAK,IAAIA,EAAY,CAAC,GAAG5f,CAAC,CAAC,GACjDA,MAAMwQ,EAAU,IAAIA,IAAY,IAAIkO,GAAU1e,GAAGwQ,EAAU,GAAGA,EAAU,CAAC;AAAA,EAClF;AAEA,WAAShX,EAAUgX,GAAWvV,GAAIC,GAAI;AACpC,QAAI5D,IAAI2D,EAAG,CAAC,IAAIC,EAAG,CAAC,IAAIsV,EAAU,GAAG/Y,IAAIwD,EAAG,CAAC,IAAIC,EAAG,CAAC,IAAIsV,EAAU;AACnE,WAAOlZ,MAAMkZ,EAAU,KAAK/Y,MAAM+Y,EAAU,IAAIA,IAAY,IAAIkO,GAAUlO,EAAU,GAAGlZ,GAAGG,CAAC;AAAA,EAC7F;AAEA,WAASsU,EAASuC,GAAQ;AACxB,WAAO,EAAE,CAACA,EAAO,CAAC,EAAE,CAAC,IAAI,CAACA,EAAO,CAAC,EAAE,CAAC,KAAK,IAAI,CAACA,EAAO,CAAC,EAAE,CAAC,IAAI,CAACA,EAAO,CAAC,EAAE,CAAC,KAAK,CAAC;AAAA,EAClF;AAEA,WAASyH,EAAS2B,GAAYlH,GAAW3O,GAAO+S,GAAO;AACrD,IAAA8C,EACK,GAAG,cAAc,WAAW;AAAE,MAAAmJ,EAAQ,MAAM,SAAS,EAAE,MAAMjM,CAAK,EAAE,MAAK;AAAA,IAAI,CAAC,EAC9E,GAAG,2BAA2B,WAAW;AAAE,MAAAiM,EAAQ,MAAM,SAAS,EAAE,MAAMjM,CAAK,EAAE,IAAG;AAAA,IAAI,CAAC,EACzF,MAAM,QAAQ,WAAW;AACxB,UAAI8I,IAAO,MACPsD,IAAO,WACPC,IAAIJ,EAAQnD,GAAMsD,CAAI,EAAE,MAAMpM,CAAK,GACnCpc,IAAI8V,EAAO,MAAMoP,GAAMsD,CAAI,GAC3BzpB,IAAIsK,KAAS,OAAOkK,EAASvT,CAAC,IAAI,OAAOqJ,KAAU,aAAaA,EAAM,MAAM6b,GAAMsD,CAAI,IAAInf,GAC1F8F,IAAI,KAAK,IAAInP,EAAE,CAAC,EAAE,CAAC,IAAIA,EAAE,CAAC,EAAE,CAAC,GAAGA,EAAE,CAAC,EAAE,CAAC,IAAIA,EAAE,CAAC,EAAE,CAAC,CAAC,GACjDJ,IAAIslB,EAAK,QACTrlB,IAAI,OAAOmY,KAAc,aAAaA,EAAU,MAAMkN,GAAMsD,CAAI,IAAIxQ,GACpEzW,KAAI2I,EAAYtK,EAAE,OAAOb,CAAC,EAAE,OAAOoQ,IAAIvP,EAAE,CAAC,GAAGC,EAAE,OAAOd,CAAC,EAAE,OAAOoQ,IAAItP,EAAE,CAAC,CAAC;AAC5E,aAAO,SAAS8B,GAAG;AACjB,YAAIA,MAAM,EAAG,CAAAA,IAAI9B;AAAA,aACZ;AAAE,cAAI6H,KAAInG,GAAEI,CAAC,GAAG6F,KAAI2H,IAAIzH,GAAE,CAAC;AAAG,UAAA/F,IAAI,IAAIukB,GAAU1e,IAAGzI,EAAE,CAAC,IAAI2I,GAAE,CAAC,IAAIF,IAAGzI,EAAE,CAAC,IAAI2I,GAAE,CAAC,IAAIF,EAAC;AAAA,QAAG;AAC3F,QAAAihB,EAAE,KAAK,MAAM9mB,CAAC;AAAA,MAChB;AAAA,IACF,CAAC;AAAA,EACP;AAEA,WAAS0mB,EAAQnD,GAAMsD,GAAM1b,GAAO;AAClC,WAAQ,CAACA,KAASoY,EAAK,aAAc,IAAIwD,EAAQxD,GAAMsD,CAAI;AAAA,EAC7D;AAEA,WAASE,EAAQxD,GAAMsD,GAAM;AAC3B,SAAK,OAAOtD,GACZ,KAAK,OAAOsD,GACZ,KAAK,SAAS,GACd,KAAK,cAAc,MACnB,KAAK,SAAS1S,EAAO,MAAMoP,GAAMsD,CAAI,GACrC,KAAK,OAAO;AAAA,EACd;AAEA,EAAAE,EAAQ,YAAY;AAAA,IAClB,OAAO,SAAStM,GAAO;AACrB,aAAIA,MAAO,KAAK,cAAcA,IACvB;AAAA,IACT;AAAA,IACA,OAAO,WAAW;AAChB,aAAI,EAAE,KAAK,WAAW,MACpB,KAAK,KAAK,YAAY,MACtB,KAAK,KAAK,OAAO,IAEZ;AAAA,IACT;AAAA,IACA,MAAM,SAAS1G,GAAKsC,GAAW;AAC7B,aAAI,KAAK,SAAStC,MAAQ,YAAS,KAAK,MAAM,CAAC,IAAIsC,EAAU,OAAO,KAAK,MAAM,CAAC,CAAC,IAC7E,KAAK,UAAUtC,MAAQ,YAAS,KAAK,OAAO,CAAC,IAAIsC,EAAU,OAAO,KAAK,OAAO,CAAC,CAAC,IAChF,KAAK,UAAUtC,MAAQ,YAAS,KAAK,OAAO,CAAC,IAAIsC,EAAU,OAAO,KAAK,OAAO,CAAC,CAAC,IACpF,KAAK,KAAK,SAASA,GACnB,KAAK,KAAK,MAAM,GACT;AAAA,IACT;AAAA,IACA,KAAK,WAAW;AACd,aAAI,EAAE,KAAK,WAAW,MACpB,OAAO,KAAK,KAAK,WACjB,KAAK,KAAK,KAAK,IAEV;AAAA,IACT;AAAA,IACA,MAAM,SAAS+N,GAAM;AACnB,UAAIhmB,IAAI0c,GAAO,KAAK,IAAI,EAAE,MAAK;AAC/B,MAAA6K,EAAU;AAAA,QACRvB;AAAA,QACA,KAAK;AAAA,QACL,IAAID,GAAUC,GAAM;AAAA,UAClB,aAAa,KAAK;AAAA,UAClB,QAAQvjB;AAAA,UAER,WAAW,KAAK,KAAK;AAAA,UACrB,UAAU8kB;AAAA,QACpB,CAAS;AAAA,QACDvnB;AAAA,MACR;AAAA,IACI;AAAA,EACJ;AAEE,WAAS+nB,EAAQ1L,MAAUoM,GAAM;AAC/B,QAAI,CAACxB,EAAO,MAAM,MAAM,SAAS,EAAG;AACpC,QAAIyB,IAAIJ,EAAQ,MAAMG,CAAI,EAAE,MAAMpM,CAAK,GACnCza,IAAI,KAAK,QACT6F,IAAI,KAAK,IAAI4f,EAAY,CAAC,GAAG,KAAK,IAAIA,EAAY,CAAC,GAAGzlB,EAAE,IAAI,KAAK,IAAI,GAAGulB,EAAW,MAAM,MAAM,SAAS,CAAC,CAAC,CAAC,GAC3GnoB,IAAI4pB,GAAQvM,CAAK;AAIrB,QAAIqM,EAAE;AACJ,OAAIA,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM1pB,EAAE,CAAC,KAAK0pB,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM1pB,EAAE,CAAC,OACjD0pB,EAAE,MAAM,CAAC,IAAI9mB,EAAE,OAAO8mB,EAAE,MAAM,CAAC,IAAI1pB,CAAC,IAEtC,aAAa0pB,EAAE,KAAK;AAAA,SAIjB;AAAA,UAAI9mB,EAAE,MAAM6F,EAAG;AAIlB,MAAAihB,EAAE,QAAQ,CAAC1pB,GAAG4C,EAAE,OAAO5C,CAAC,CAAC,GACzByf,GAAU,IAAI,GACdiK,EAAE,MAAK;AAAA;AAGT,IAAA/L,GAAQN,CAAK,GACbqM,EAAE,QAAQ,WAAWG,GAAYjB,CAAU,GAC3Cc,EAAE,KAAK,SAASxB,EAAUjmB,EAAUU,EAAMC,GAAG6F,CAAC,GAAGihB,EAAE,MAAM,CAAC,GAAGA,EAAE,MAAM,CAAC,CAAC,GAAGA,EAAE,QAAQ9B,CAAe,CAAC;AAEpG,aAASiC,IAAa;AACpB,MAAAH,EAAE,QAAQ,MACVA,EAAE,IAAG;AAAA,IACP;AAAA,EACF;AAEA,WAASV,EAAY3L,MAAUoM,GAAM;AACnC,QAAIf,KAAe,CAACT,EAAO,MAAM,MAAM,SAAS,EAAG;AACnD,QAAI6B,IAAgBzM,EAAM,eACtBqM,IAAIJ,EAAQ,MAAMG,GAAM,EAAI,EAAE,MAAMpM,CAAK,GACzCjO,IAAIsO,GAAOL,EAAM,IAAI,EAAE,GAAG,kBAAkB0M,GAAY,EAAI,EAAE,GAAG,gBAAgBC,GAAY,EAAI,GACjGhqB,IAAI4pB,GAAQvM,GAAOyM,CAAa,GAChCnZ,IAAK0M,EAAM,SACXzM,IAAKyM,EAAM;AAEf,IAAAC,GAAYD,EAAM,IAAI,GACtBgK,GAAchK,CAAK,GACnBqM,EAAE,QAAQ,CAAC1pB,GAAG,KAAK,OAAO,OAAOA,CAAC,CAAC,GACnCyf,GAAU,IAAI,GACdiK,EAAE,MAAK;AAEP,aAASK,EAAW1M,GAAO;AAEzB,UADAM,GAAQN,CAAK,GACT,CAACqM,EAAE,OAAO;AACZ,YAAIxlB,IAAKmZ,EAAM,UAAU1M,GAAIxM,KAAKkZ,EAAM,UAAUzM;AAClD,QAAA8Y,EAAE,QAAQxlB,IAAKA,IAAKC,KAAKA,KAAK0kB;AAAA,MAChC;AACA,MAAAa,EAAE,MAAMrM,CAAK,EACX,KAAK,SAAS6K,EAAUjmB,EAAUynB,EAAE,KAAK,QAAQA,EAAE,MAAM,CAAC,IAAIE,GAAQvM,GAAOyM,CAAa,GAAGJ,EAAE,MAAM,CAAC,CAAC,GAAGA,EAAE,QAAQ9B,CAAe,CAAC;AAAA,IACxI;AAEA,aAASoC,EAAW3M,GAAO;AACzB,MAAAjO,EAAE,GAAG,+BAA+B,IAAI,GACxC6a,GAAW5M,EAAM,MAAMqM,EAAE,KAAK,GAC9B/L,GAAQN,CAAK,GACbqM,EAAE,MAAMrM,CAAK,EAAE,IAAG;AAAA,IACpB;AAAA,EACF;AAEA,WAAS4L,EAAW5L,MAAUoM,GAAM;AAClC,QAAKxB,EAAO,MAAM,MAAM,SAAS,GACjC;AAAA,UAAIje,IAAK,KAAK,QACVtG,IAAKkmB,GAAQvM,EAAM,iBAAiBA,EAAM,eAAe,CAAC,IAAIA,GAAO,IAAI,GACzE1Z,IAAKqG,EAAG,OAAOtG,CAAE,GACjB8lB,IAAKxf,EAAG,KAAKqT,EAAM,WAAW,MAAM,IACpCpT,IAAKie,EAAUjmB,EAAUU,EAAMqH,GAAIwf,CAAE,GAAG9lB,GAAIC,CAAE,GAAGoT,EAAO,MAAM,MAAM0S,CAAI,GAAG7B,CAAe;AAE9F,MAAAjK,GAAQN,CAAK,GACTiL,IAAW,IAAG5K,GAAO,IAAI,EAAE,WAAU,EAAG,SAAS4K,CAAQ,EAAE,KAAK9J,GAAUvU,GAAIvG,GAAI2Z,CAAK,IACtFK,GAAO,IAAI,EAAE,KAAKja,EAAK,WAAWwG,GAAIvG,GAAI2Z,CAAK;AAAA;AAAA,EACtD;AAEA,WAAS6L,EAAa7L,MAAUoM,GAAM;AACpC,QAAKxB,EAAO,MAAM,MAAM,SAAS,GACjC;AAAA,UAAIiC,IAAU7M,EAAM,SAChBhd,IAAI6pB,EAAQ,QACZR,IAAIJ,EAAQ,MAAMG,GAAMpM,EAAM,eAAe,WAAWhd,CAAC,EAAE,MAAMgd,CAAK,GACtE8M,GAAS3nB,GAAGI,GAAG5C;AAGnB,WADAqnB,GAAchK,CAAK,GACd7a,IAAI,GAAGA,IAAInC,GAAG,EAAEmC;AACnB,QAAAI,IAAIsnB,EAAQ1nB,CAAC,GAAGxC,IAAI4pB,GAAQhnB,GAAG,IAAI,GACnC5C,IAAI,CAACA,GAAG,KAAK,OAAO,OAAOA,CAAC,GAAG4C,EAAE,UAAU,GACtC8mB,EAAE,SACE,CAACA,EAAE,UAAUA,EAAE,OAAO,CAAC,MAAM1pB,EAAE,CAAC,MAAG0pB,EAAE,SAAS1pB,GAAG0pB,EAAE,OAAO,MADpDA,EAAE,SAAS1pB,GAAGmqB,IAAU,IAAMT,EAAE,OAAO,IAAI,CAAC,CAAClB;AAI9D,MAAIA,MAAeA,IAAgB,aAAaA,CAAa,IAEzD2B,MACET,EAAE,OAAO,MAAGjB,IAAazoB,EAAE,CAAC,GAAGwoB,IAAgB,WAAW,WAAW;AAAE,QAAAA,IAAgB;AAAA,MAAM,GAAGG,CAAU,IAC9GlJ,GAAU,IAAI,GACdiK,EAAE,MAAK;AAAA;AAAA,EAEX;AAEA,WAASP,EAAW9L,MAAUoM,GAAM;AAClC,QAAK,KAAK,WACV;AAAA,UAAIC,IAAIJ,EAAQ,MAAMG,CAAI,EAAE,MAAMpM,CAAK,GACnC6M,IAAU7M,EAAM,gBAChBhd,IAAI6pB,EAAQ,QAAQ1nB,GAAGI,GAAG5C,GAAG2I;AAGjC,WADAgV,GAAQN,CAAK,GACR7a,IAAI,GAAGA,IAAInC,GAAG,EAAEmC;AACnB,QAAAI,IAAIsnB,EAAQ1nB,CAAC,GAAGxC,IAAI4pB,GAAQhnB,GAAG,IAAI,GAC/B8mB,EAAE,UAAUA,EAAE,OAAO,CAAC,MAAM9mB,EAAE,aAAY8mB,EAAE,OAAO,CAAC,IAAI1pB,IACnD0pB,EAAE,UAAUA,EAAE,OAAO,CAAC,MAAM9mB,EAAE,eAAY8mB,EAAE,OAAO,CAAC,IAAI1pB;AAGnE,UADA4C,IAAI8mB,EAAE,KAAK,QACPA,EAAE,QAAQ;AACZ,YAAIhmB,IAAKgmB,EAAE,OAAO,CAAC,GAAGU,IAAKV,EAAE,OAAO,CAAC,GACjC/lB,IAAK+lB,EAAE,OAAO,CAAC,GAAGW,KAAKX,EAAE,OAAO,CAAC,GACjCY,KAAMA,IAAK3mB,EAAG,CAAC,IAAID,EAAG,CAAC,KAAK4mB,KAAMA,IAAK3mB,EAAG,CAAC,IAAID,EAAG,CAAC,KAAK4mB,GACxDC,MAAMA,KAAKF,GAAG,CAAC,IAAID,EAAG,CAAC,KAAKG,MAAMA,KAAKF,GAAG,CAAC,IAAID,EAAG,CAAC,KAAKG;AAC5D,QAAA3nB,IAAID,EAAMC,GAAG,KAAK,KAAK0nB,IAAKC,EAAE,CAAC,GAC/BvqB,IAAI,EAAE0D,EAAG,CAAC,IAAIC,EAAG,CAAC,KAAK,IAAID,EAAG,CAAC,IAAIC,EAAG,CAAC,KAAK,CAAC,GAC7CgF,IAAI,EAAEyhB,EAAG,CAAC,IAAIC,GAAG,CAAC,KAAK,IAAID,EAAG,CAAC,IAAIC,GAAG,CAAC,KAAK,CAAC;AAAA,MAC/C,WACSX,EAAE,OAAQ,CAAA1pB,IAAI0pB,EAAE,OAAO,CAAC,GAAG/gB,IAAI+gB,EAAE,OAAO,CAAC;AAAA,UAC7C;AAEL,MAAAA,EAAE,KAAK,SAASxB,EAAUjmB,EAAUW,GAAG5C,GAAG2I,CAAC,GAAG+gB,EAAE,QAAQ9B,CAAe,CAAC;AAAA;AAAA,EAC1E;AAEA,WAASwB,EAAW/L,MAAUoM,GAAM;AAClC,QAAK,KAAK,WACV;AAAA,UAAIC,IAAIJ,EAAQ,MAAMG,CAAI,EAAE,MAAMpM,CAAK,GACnC6M,IAAU7M,EAAM,gBAChBhd,IAAI6pB,EAAQ,QAAQ1nB,GAAGI;AAK3B,WAHAykB,GAAchK,CAAK,GACfqL,KAAa,aAAaA,CAAW,GACzCA,IAAc,WAAW,WAAW;AAAE,QAAAA,IAAc;AAAA,MAAM,GAAGC,CAAU,GAClEnmB,IAAI,GAAGA,IAAInC,GAAG,EAAEmC;AACnB,QAAAI,IAAIsnB,EAAQ1nB,CAAC,GACTknB,EAAE,UAAUA,EAAE,OAAO,CAAC,MAAM9mB,EAAE,aAAY,OAAO8mB,EAAE,SAC9CA,EAAE,UAAUA,EAAE,OAAO,CAAC,MAAM9mB,EAAE,cAAY,OAAO8mB,EAAE;AAG9D,UADIA,EAAE,UAAU,CAACA,EAAE,WAAQA,EAAE,SAASA,EAAE,QAAQ,OAAOA,EAAE,SACrDA,EAAE,OAAQ,CAAAA,EAAE,OAAO,CAAC,IAAI,KAAK,OAAO,OAAOA,EAAE,OAAO,CAAC,CAAC;AAAA,eAExDA,EAAE,IAAG,GAEDA,EAAE,SAAS,MACb9mB,IAAIgnB,GAAQhnB,GAAG,IAAI,GACf,KAAK,MAAM6lB,EAAW,CAAC,IAAI7lB,EAAE,CAAC,GAAG6lB,EAAW,CAAC,IAAI7lB,EAAE,CAAC,CAAC,IAAIkmB,IAAa;AACxE,YAAI9oB,IAAI0d,GAAO,IAAI,EAAE,GAAG,eAAe;AACvC,QAAI1d,KAAGA,EAAE,MAAM,MAAM,SAAS;AAAA,MAChC;AAAA;AAAA,EAGN;AAEA,SAAAyD,EAAK,aAAa,SAASoB,GAAG;AAC5B,WAAO,UAAU,UAAUsjB,IAAa,OAAOtjB,KAAM,aAAaA,IAAIiiB,GAAS,CAACjiB,CAAC,GAAGpB,KAAQ0kB;AAAA,EAC9F,GAEA1kB,EAAK,SAAS,SAASoB,GAAG;AACxB,WAAO,UAAU,UAAUojB,IAAS,OAAOpjB,KAAM,aAAaA,IAAIiiB,GAAS,CAAC,CAACjiB,CAAC,GAAGpB,KAAQwkB;AAAA,EAC3F,GAEAxkB,EAAK,YAAY,SAASoB,GAAG;AAC3B,WAAO,UAAU,UAAUujB,IAAY,OAAOvjB,KAAM,aAAaA,IAAIiiB,GAAS,CAAC,CAACjiB,CAAC,GAAGpB,KAAQ2kB;AAAA,EAC9F,GAEA3kB,EAAK,SAAS,SAASoB,GAAG;AACxB,WAAO,UAAU,UAAUkS,IAAS,OAAOlS,KAAM,aAAaA,IAAIiiB,GAAS,CAAC,CAAC,CAACjiB,EAAE,CAAC,EAAE,CAAC,GAAG,CAACA,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAACA,EAAE,CAAC,EAAE,CAAC,GAAG,CAACA,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAGpB,KAAQsT;AAAA,EACpI,GAEAtT,EAAK,cAAc,SAASoB,GAAG;AAC7B,WAAO,UAAU,UAAUwjB,EAAY,CAAC,IAAI,CAACxjB,EAAE,CAAC,GAAGwjB,EAAY,CAAC,IAAI,CAACxjB,EAAE,CAAC,GAAGpB,KAAQ,CAAC4kB,EAAY,CAAC,GAAGA,EAAY,CAAC,CAAC;AAAA,EACpH,GAEA5kB,EAAK,kBAAkB,SAASoB,GAAG;AACjC,WAAO,UAAU,UAAU+iB,EAAgB,CAAC,EAAE,CAAC,IAAI,CAAC/iB,EAAE,CAAC,EAAE,CAAC,GAAG+iB,EAAgB,CAAC,EAAE,CAAC,IAAI,CAAC/iB,EAAE,CAAC,EAAE,CAAC,GAAG+iB,EAAgB,CAAC,EAAE,CAAC,IAAI,CAAC/iB,EAAE,CAAC,EAAE,CAAC,GAAG+iB,EAAgB,CAAC,EAAE,CAAC,IAAI,CAAC/iB,EAAE,CAAC,EAAE,CAAC,GAAGpB,KAAQ,CAAC,CAACmkB,EAAgB,CAAC,EAAE,CAAC,GAAGA,EAAgB,CAAC,EAAE,CAAC,CAAC,GAAG,CAACA,EAAgB,CAAC,EAAE,CAAC,GAAGA,EAAgB,CAAC,EAAE,CAAC,CAAC,CAAC;AAAA,EAC5Q,GAEAnkB,EAAK,YAAY,SAASoB,GAAG;AAC3B,WAAO,UAAU,UAAUqjB,IAAYrjB,GAAGpB,KAAQykB;AAAA,EACpD,GAEAzkB,EAAK,WAAW,SAASoB,GAAG;AAC1B,WAAO,UAAU,UAAUyjB,IAAW,CAACzjB,GAAGpB,KAAQ6kB;AAAA,EACpD,GAEA7kB,EAAK,cAAc,SAASoB,GAAG;AAC7B,WAAO,UAAU,UAAUsG,IAActG,GAAGpB,KAAQ0H;AAAA,EACtD,GAEA1H,EAAK,KAAK,WAAW;AACnB,QAAIjC,IAAQ+mB,EAAU,GAAG,MAAMA,GAAW,SAAS;AACnD,WAAO/mB,MAAU+mB,IAAY9kB,IAAOjC;AAAA,EACtC,GAEAiC,EAAK,gBAAgB,SAASoB,GAAG;AAC/B,WAAO,UAAU,UAAUgkB,KAAkBhkB,IAAI,CAACA,KAAKA,GAAGpB,KAAQ,KAAK,KAAKolB,CAAc;AAAA,EAC5F,GAEAplB,EAAK,cAAc,SAASoB,GAAG;AAC7B,WAAO,UAAU,UAAUikB,IAAc,CAACjkB,GAAGpB,KAAQqlB;AAAA,EACvD,GAEOrlB;AACT;AC7bA,SAAS+mB,GAAMhlB,GAAS;AACtB,MAAI,CAACA;AACH,UAAM,IAAI,MAAM,qBAAqB;AAEvC,UAAQA,EAAQ,MAAI;AAAA,IAClB,KAAK;AACH,aAAOilB,GAAajlB,CAAO;AAAA,IAC7B,KAAK;AACH,aAAOklB,GAAuBllB,CAAO;AAAA,IACvC,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAOmlB,GAAcnlB,CAAO;AAAA,IAC9B;AACE,YAAM,IAAI,MAAM,sBAAsB;AAAA,EAC5C;AACA;AACA,SAASilB,GAAajlB,GAAS;AAC7B,QAAMolB,IAAS,EAAE,MAAM,UAAS;AAChC,gBAAO,KAAKplB,CAAO,EAAE,QAAQ,CAACmR,MAAQ;AACpC,YAAQA,GAAG;AAAA,MACT,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH;AAAA,MACF;AACE,QAAAiU,EAAOjU,CAAG,IAAInR,EAAQmR,CAAG;AAAA,IACjC;AAAA,EACE,CAAC,GACDiU,EAAO,aAAaC,GAAgBrlB,EAAQ,UAAU,GAClDA,EAAQ,YAAY,OACtBolB,EAAO,WAAW,OAElBA,EAAO,WAAWD,GAAcnlB,EAAQ,QAAQ,GAE3ColB;AACT;AACA,SAASC,GAAgBC,GAAY;AACnC,QAAMF,IAAS,CAAA;AACf,SAAKE,KAGL,OAAO,KAAKA,CAAU,EAAE,QAAQ,CAACnU,MAAQ;AACvC,UAAMnV,IAAQspB,EAAWnU,CAAG;AAC5B,IAAI,OAAOnV,KAAU,WACfA,MAAU,OACZopB,EAAOjU,CAAG,IAAI,OACL,MAAM,QAAQnV,CAAK,IAC5BopB,EAAOjU,CAAG,IAAInV,EAAM,IAAI,CAACupB,MAChBA,CACR,IAEDH,EAAOjU,CAAG,IAAIkU,GAAgBrpB,CAAK,IAGrCopB,EAAOjU,CAAG,IAAInV;AAAA,EAElB,CAAC,GACMopB;AACT;AACA,SAASF,GAAuBllB,GAAS;AACvC,QAAMolB,IAAS,EAAE,MAAM,oBAAmB;AAC1C,gBAAO,KAAKplB,CAAO,EAAE,QAAQ,CAACmR,MAAQ;AACpC,YAAQA,GAAG;AAAA,MACT,KAAK;AAAA,MACL,KAAK;AACH;AAAA,MACF;AACE,QAAAiU,EAAOjU,CAAG,IAAInR,EAAQmR,CAAG;AAAA,IACjC;AAAA,EACE,CAAC,GACDiU,EAAO,WAAWplB,EAAQ,SAAS,IAAI,CAACwlB,MAC/BP,GAAaO,CAAO,CAC5B,GACMJ;AACT;AACA,SAASD,GAAczjB,GAAU;AAC/B,QAAM+jB,IAAO,EAAE,MAAM/jB,EAAS,KAAI;AAIlC,SAHIA,EAAS,SACX+jB,EAAK,OAAO/jB,EAAS,OAEnBA,EAAS,SAAS,wBACpB+jB,EAAK,aAAa/jB,EAAS,WAAW,IAAI,CAACwiB,MAClCiB,GAAcjB,CAAC,CACvB,GACMuB,MAETA,EAAK,cAAcC,GAAUhkB,EAAS,WAAW,GAC1C+jB;AACT;AACA,SAASC,GAAUC,GAAQ;AACzB,QAAMP,IAASO;AACf,SAAI,OAAOP,EAAO,CAAC,KAAM,WAChBA,EAAO,MAAK,IAEdA,EAAO,IAAI,CAAChlB,MACVslB,GAAUtlB,CAAK,CACvB;AACH;ACpFA,SAASwlB,GAAUD,GAAQ;AACzB,MAAI,MAAM,QAAQA,CAAM;AACtB,WAAOA;AAET,MAAIA,EAAO,SAAS;AAClB,QAAIA,EAAO,aAAa;AACtB,aAAOA,EAAO,SAAS;AAAA,aAGrBA,EAAO;AACT,WAAOA,EAAO;AAGlB,QAAM,IAAI;AAAA,IACR;AAAA,EACJ;AACA;ACjCA,SAASE,GAAiB5gB,GAAM;AAC9B,QAAM0B,IAAOif,GAAU3gB,CAAI;AAC3B,MAAIyB,IAAM,GACN,IAAI,GACJof,GACAC;AACJ,SAAO,IAAIpf,EAAK;AACd,IAAAmf,IAAOC,KAAOpf,EAAK,CAAC,GACpBof,IAAMpf,EAAK,CAAC,GACZD,MAAQqf,EAAI,CAAC,IAAID,EAAK,CAAC,MAAMC,EAAI,CAAC,IAAID,EAAK,CAAC,IAC5C;AAEF,SAAOpf,IAAM;AACf;AC8HA,SAASsf,GAAkBjkB,GAAU9B,IAAU,IAAI;AACjD,QAAMgmB,IAAK,EAAE,MAAM,oBAAmB;AACtC,SAAIhmB,EAAQ,OACVgmB,EAAG,KAAKhmB,EAAQ,KAEdA,EAAQ,SACVgmB,EAAG,OAAOhmB,EAAQ,OAEpBgmB,EAAG,WAAWlkB,GACPkkB;AACT;AAoGA,SAASC,GAASC,GAAO;AACvB,SAAOA,MAAU,QAAQ,OAAOA,KAAU,YAAY,CAAC,MAAM,QAAQA,CAAK;AAC5E;ACzFA,SAASC,GAAYpmB,GAASN,GAAU;AACtC,MAAIM,EAAQ,SAAS;AACnB,IAAAN,EAASM,GAAS,CAAC;AAAA,WACVA,EAAQ,SAAS;AAC1B,aAAShD,IAAI,GAAGA,IAAIgD,EAAQ,SAAS,UAC/BN,EAASM,EAAQ,SAAShD,CAAC,GAAGA,CAAC,MAAM,IADEA;AAC3C;AAGN;AAiBA,SAASqpB,GAASrmB,GAASN,GAAU;AACnC,MAAI1C,GAAGvC,GAAGypB,GAAGxiB,GAAU4kB,GAAOC,GAAyBC,GAAsBC,GAAmBC,GAAaC,GAAWC,IAAe,GAAGC,IAAsB7mB,EAAQ,SAAS,qBAAqB8mB,IAAY9mB,EAAQ,SAAS,WAAW+Z,IAAO8M,IAAsB7mB,EAAQ,SAAS,SAAS;AACrS,OAAKhD,IAAI,GAAGA,IAAI+c,GAAM/c,KAAK;AA+BzB,SA9BAupB,IAA0BM;AAAA;AAAA,MAExB7mB,EAAQ,SAAShD,CAAC,EAAE;AAAA,QAClB8pB;AAAA;AAAA,MAEF9mB,EAAQ;AAAA,QACNA,GACJymB,IAAoBI;AAAA;AAAA,MAElB7mB,EAAQ,SAAShD,CAAC,EAAE;AAAA,QAClB8pB;AAAA;AAAA,MAEF9mB,EAAQ;AAAA,QACN,CAAA,GACJ0mB,IAAcG;AAAA;AAAA,MAEZ7mB,EAAQ,SAAShD,CAAC,EAAE;AAAA,QAClB8pB;AAAA;AAAA,MAEF9mB,EAAQ;AAAA,QACN,QACJ2mB,IAAYE;AAAA;AAAA,MAEV7mB,EAAQ,SAAShD,CAAC,EAAE;AAAA,QAClB8pB;AAAA;AAAA,MAEF9mB,EAAQ;AAAA,QACN,QACJwmB,IAAuBD,IAA0BA,EAAwB,SAAS,uBAAuB,IACzGD,IAAQE,IAAuBD,EAAwB,WAAW,SAAS,GACtErC,IAAI,GAAGA,IAAIoC,GAAOpC,KAAK;AAE1B,UADAxiB,IAAW8kB,IAAuBD,EAAwB,WAAWrC,CAAC,IAAIqC,GACtE7kB,MAAa,MAAM;AACrB;AAAA;AAAA,UAEEhC;AAAA;AAAA,YAEE;AAAA,YACAknB;AAAA,YACAH;AAAA,YACAC;AAAA,YACAC;AAAA,UACZ,MAAgB;AAAA;AAEN,iBAAO;AACT;AAAA,MACF;AACA,cAAQjlB,EAAS,MAAI;AAAA,QACnB,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,KAAK,gBAAgB;AACnB;AAAA;AAAA,YAEEhC;AAAA,cACEgC;AAAA,cACAklB;AAAA,cACAH;AAAA,cACAC;AAAA,cACAC;AAAA,YACd,MAAkB;AAAA;AAEN,mBAAO;AACT;AAAA,QACF;AAAA,QACA,KAAK,sBAAsB;AACzB,eAAKlsB,IAAI,GAAGA,IAAIiH,EAAS,WAAW,QAAQjH;AAC1C;AAAA;AAAA,cAEEiF;AAAA,gBACEgC,EAAS,WAAWjH,CAAC;AAAA,gBACrBmsB;AAAA,gBACAH;AAAA,gBACAC;AAAA,gBACAC;AAAA,cAChB,MAAoB;AAAA;AAEN,qBAAO;AAEX;AAAA,QACF;AAAA,QACA;AACE,gBAAM,IAAI,MAAM,uBAAuB;AAAA,MACjD;AAAA,IACI;AACA,IAAAC;AAAA,EACF;AACF;ACtQA,SAAShB,GAAUD,GAAQ;AACzB,MAAI,MAAM,QAAQA,CAAM;AACtB,WAAOA;AAET,MAAIA,EAAO,SAAS;AAClB,QAAIA,EAAO,aAAa;AACtB,aAAOA,EAAO,SAAS;AAAA,aAGrBA,EAAO;AACT,WAAOA,EAAO;AAGlB,QAAM,IAAI;AAAA,IACR;AAAA,EACJ;AACA;AC7BA,SAASoB,GAAO/mB,GAASC,IAAU,IAAI;AACrC,MAAI+mB,GAAIC;AAER,MADAhnB,IAAUA,KAAW,CAAA,GACjB,CAACimB,GAASjmB,CAAO,EAAG,OAAM,IAAI,MAAM,oBAAoB;AAC5D,QAAMinB,KAAUF,IAAK/mB,EAAQ,WAAW,OAAO+mB,IAAK,IAC9CG,KAAWF,IAAKhnB,EAAQ,YAAY,OAAOgnB,IAAK;AACtD,MAAI,CAACjnB,EAAS,OAAM,IAAI,MAAM,uBAAuB;AACrD,MAAI,OAAOmnB,KAAY;AACrB,UAAM,IAAI,MAAM,6BAA6B;AAC/C,MAAI,OAAOD,KAAW;AACpB,UAAM,IAAI,MAAM,4BAA4B;AAC9C,EAAI,CAACA,KAAUlnB,EAAQ,SAAS,WAAWA,EAAQ,SAAS,iBAC1DA,IAAUglB,GAAMhlB,CAAO;AAEzB,QAAMonB,IAAU,CAAA;AAChB,UAAQpnB,EAAQ,MAAI;AAAA,IAClB,KAAK;AACH,aAAAqmB,GAASrmB,GAAS,SAAS0B,GAAU;AACnC,QAAA2lB,GAAc3lB,GAAUylB,CAAO;AAAA,MACjC,CAAC,GACMnnB;AAAA,IACT,KAAK;AACH,aAAAomB,GAAYpmB,GAAS,SAASwlB,GAAS;AACrC,cAAM8B,IAAiBD,GAAc7B,GAAS2B,CAAO;AACrD,QAAAf,GAAYkB,GAAgB,SAASpnB,GAAQ;AAC3C,UAAAknB,EAAQ,KAAKlnB,CAAM;AAAA,QACrB,CAAC;AAAA,MACH,CAAC,GACM8lB,GAAkBoB,CAAO;AAAA,EACtC;AACE,SAAOC,GAAcrnB,GAASmnB,CAAO;AACvC;AACA,SAASE,GAAcrnB,GAASmnB,GAAS;AAEvC,UADannB,EAAQ,SAAS,YAAYA,EAAQ,SAAS,OAAOA,EAAQ,MAC9D;AAAA,IACV,KAAK;AACH,aAAAqmB,GAASrmB,GAAS,SAAS0B,GAAU;AACnC,QAAA2lB,GAAc3lB,GAAUylB,CAAO;AAAA,MACjC,CAAC,GACMnnB;AAAA,IACT,KAAK;AACH,aAAAunB,GAAiB3B,GAAU5lB,CAAO,GAAGmnB,CAAO,GACrCnnB;AAAA,IACT,KAAK;AACH,aAAAwnB,GAAc5B,GAAU5lB,CAAO,GAAGmnB,CAAO,GAClCnnB;AAAA,IACT,KAAK;AACH,aAAA4lB,GAAU5lB,CAAO,EAAE,QAAQ,SAASynB,GAAY;AAC9C,QAAAF,GAAiBE,GAAYN,CAAO;AAAA,MACtC,CAAC,GACMnnB;AAAA,IACT,KAAK;AACH,aAAA4lB,GAAU5lB,CAAO,EAAE,QAAQ,SAASynB,GAAY;AAC9C,QAAAD,GAAcC,GAAYN,CAAO;AAAA,MACnC,CAAC,GACMnnB;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AACH,aAAOA;AAAA,EACb;AACA;AACA,SAASunB,GAAiB5B,GAAQwB,GAAS;AACzC,EAAItB,GAAiBF,CAAM,MAAMwB,KAASxB,EAAO,QAAO;AAC1D;AACA,SAAS6B,GAAc7B,GAAQwB,GAAS;AACtC,EAAItB,GAAiBF,EAAO,CAAC,CAAC,MAAMwB,KAClCxB,EAAO,CAAC,EAAE,QAAO;AAEnB,WAAS3oB,IAAI,GAAGA,IAAI2oB,EAAO,QAAQ3oB;AACjC,IAAI6oB,GAAiBF,EAAO3oB,CAAC,CAAC,MAAMmqB,KAClCxB,EAAO3oB,CAAC,EAAE,QAAO;AAGvB;AACG,IAACqD,KAAgB0mB;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87]}