@pie-lib/graphing-solution-set 4.0.4-next.3 → 4.0.4-next.30

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 (310) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +23 -0
  2. package/dist/autosize-input.d.ts +10 -0
  3. package/dist/autosize-input.js +66 -0
  4. package/dist/axis/arrow.d.ts +13 -0
  5. package/dist/axis/arrow.js +34 -0
  6. package/dist/axis/axes.d.ts +132 -0
  7. package/dist/axis/axes.js +214 -0
  8. package/dist/axis/index.d.ts +10 -0
  9. package/dist/bg.d.ts +51 -0
  10. package/dist/bg.js +44 -0
  11. package/dist/container/actions.d.ts +15 -0
  12. package/dist/container/actions.js +7 -0
  13. package/dist/container/index.d.ts +58 -0
  14. package/dist/container/index.js +48 -0
  15. package/dist/container/marks.d.ts +10 -0
  16. package/dist/container/marks.js +11 -0
  17. package/dist/container/middleware.d.ts +10 -0
  18. package/dist/container/middleware.js +4 -0
  19. package/dist/container/reducer.d.ts +14 -0
  20. package/dist/container/reducer.js +7 -0
  21. package/dist/coordinates-label.d.ts +50 -0
  22. package/dist/coordinates-label.js +46 -0
  23. package/dist/graph-with-controls.d.ts +85 -0
  24. package/dist/graph-with-controls.js +155 -0
  25. package/dist/graph.d.ts +119 -0
  26. package/dist/graph.js +221 -0
  27. package/dist/grid-setup.d.ts +27 -0
  28. package/dist/grid-setup.js +307 -0
  29. package/dist/grid.d.ts +43 -0
  30. package/dist/grid.js +59 -0
  31. package/dist/index.d.ts +14 -0
  32. package/dist/index.js +6 -0
  33. package/dist/labels.d.ts +73 -0
  34. package/dist/labels.js +134 -0
  35. package/dist/mark-label.d.ts +50 -0
  36. package/dist/mark-label.js +84 -0
  37. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/Axis.js +101 -0
  38. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/AxisRenderer.js +63 -0
  39. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/Ticks.js +44 -0
  40. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/constants/orientation.js +9 -0
  41. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/createPoint.js +14 -0
  42. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getAxisRangePaddingConfig.js +21 -0
  43. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getLabelTransform.js +16 -0
  44. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getTickFormatter.js +8 -0
  45. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getTickPosition.js +15 -0
  46. package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/grids/Grid.js +79 -0
  47. package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/grids/GridColumns.js +79 -0
  48. package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/grids/GridRows.js +79 -0
  49. package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/utils/getScaleBandwidth.js +6 -0
  50. package/dist/node_modules/.bun/@visx_group@3.12.0_f4eacebf2041cd4f/node_modules/@visx/group/esm/Group.js +50 -0
  51. package/dist/node_modules/.bun/@visx_point@3.12.0/node_modules/@visx/point/esm/Point.js +18 -0
  52. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/coerceNumber.js +10 -0
  53. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/getTicks.js +9 -0
  54. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/toString.js +6 -0
  55. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/esm/shapes/Line.js +47 -0
  56. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/lib/shapes/Line.js +53 -0
  57. package/dist/node_modules/.bun/@visx_text@3.12.0_f4eacebf2041cd4f/node_modules/@visx/text/esm/Text.js +57 -0
  58. package/dist/node_modules/.bun/@visx_text@3.12.0_f4eacebf2041cd4f/node_modules/@visx/text/esm/hooks/useText.js +91 -0
  59. package/dist/node_modules/.bun/@visx_text@3.12.0_f4eacebf2041cd4f/node_modules/@visx/text/esm/util/getStringWidth.js +21 -0
  60. package/dist/node_modules/.bun/balanced-match@0.4.2/node_modules/balanced-match/index.js +32 -0
  61. package/dist/node_modules/.bun/balanced-match@1.0.2/node_modules/balanced-match/index.js +33 -0
  62. package/dist/node_modules/.bun/classnames@2.5.1/node_modules/classnames/index.js +32 -0
  63. package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +16 -0
  64. package/dist/node_modules/.bun/invariant@2.2.4/node_modules/invariant/browser.js +28 -0
  65. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_Hash.js +21 -0
  66. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_ListCache.js +21 -0
  67. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_Map.js +10 -0
  68. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_MapCache.js +21 -0
  69. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_Symbol.js +9 -0
  70. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_assocIndexOf.js +14 -0
  71. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_baseGetTag.js +15 -0
  72. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_baseIsNative.js +16 -0
  73. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_coreJsData.js +9 -0
  74. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_freeGlobal.js +8 -0
  75. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_getMapData.js +14 -0
  76. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_getNative.js +15 -0
  77. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_getRawTag.js +19 -0
  78. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_getValue.js +11 -0
  79. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashClear.js +13 -0
  80. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashDelete.js +12 -0
  81. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashGet.js +18 -0
  82. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashHas.js +14 -0
  83. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_hashSet.js +14 -0
  84. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_isKeyable.js +12 -0
  85. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_isMasked.js +16 -0
  86. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheClear.js +11 -0
  87. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheDelete.js +14 -0
  88. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheGet.js +14 -0
  89. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheHas.js +13 -0
  90. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_listCacheSet.js +14 -0
  91. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheClear.js +19 -0
  92. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheDelete.js +14 -0
  93. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheGet.js +13 -0
  94. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheHas.js +13 -0
  95. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_mapCacheSet.js +14 -0
  96. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_nativeCreate.js +9 -0
  97. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_objectToString.js +12 -0
  98. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_root.js +10 -0
  99. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/_toSource.js +20 -0
  100. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/eq.js +11 -0
  101. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/isFunction.js +16 -0
  102. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/isObject.js +12 -0
  103. package/dist/node_modules/.bun/lodash@4.18.1/node_modules/lodash/memoize.js +20 -0
  104. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/formula_evaluator.js +37 -0
  105. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/lexer.js +509 -0
  106. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/math_function.js +108 -0
  107. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix.js +31 -0
  108. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix_evaluator.js +45 -0
  109. package/dist/node_modules/.bun/react-redux@9.3.0_9e2203c65d1d5fa1/node_modules/react-redux/dist/react-redux.js +471 -0
  110. package/dist/node_modules/.bun/reduce-css-calc@1.3.0/node_modules/reduce-css-calc/index.js +49 -0
  111. package/dist/node_modules/.bun/reduce-function-call@1.0.3/node_modules/reduce-function-call/index.js +34 -0
  112. package/dist/node_modules/.bun/redux-undo@1.1.0/node_modules/redux-undo/dist/redux-undo.js +185 -0
  113. package/dist/node_modules/.bun/redux@5.0.1/node_modules/redux/dist/redux.js +198 -0
  114. package/dist/node_modules/.bun/use-sync-external-store@1.6.0_f4eacebf2041cd4f/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.development.js +53 -0
  115. package/dist/node_modules/.bun/use-sync-external-store@1.6.0_f4eacebf2041cd4f/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js +51 -0
  116. package/dist/node_modules/.bun/use-sync-external-store@1.6.0_f4eacebf2041cd4f/node_modules/use-sync-external-store/with-selector.js +10 -0
  117. package/dist/toggle-bar.d.ts +40 -0
  118. package/dist/tool-menu.d.ts +21 -0
  119. package/dist/tool-menu.js +188 -0
  120. package/dist/tools/index.d.ts +17 -0
  121. package/dist/tools/index.js +12 -0
  122. package/dist/tools/line/component.d.ts +113 -0
  123. package/dist/tools/line/component.js +58 -0
  124. package/dist/tools/line/index.d.ts +13 -0
  125. package/dist/tools/line/index.js +6 -0
  126. package/dist/tools/polygon/component.d.ts +117 -0
  127. package/dist/tools/polygon/component.js +194 -0
  128. package/dist/tools/polygon/index.d.ts +19 -0
  129. package/dist/tools/polygon/index.js +55 -0
  130. package/dist/tools/polygon/line.d.ts +125 -0
  131. package/dist/tools/polygon/polygon.d.ts +122 -0
  132. package/dist/tools/polygon/polygon.js +62 -0
  133. package/dist/tools/shared/arrow-head.d.ts +43 -0
  134. package/dist/tools/shared/arrow-head.js +37 -0
  135. package/dist/tools/shared/line/index.d.ts +240 -0
  136. package/dist/tools/shared/line/index.js +320 -0
  137. package/dist/tools/shared/line/line-path.d.ts +57 -0
  138. package/dist/tools/shared/line/with-root-edge.d.ts +143 -0
  139. package/dist/tools/shared/point/arrow-point.d.ts +57 -0
  140. package/dist/tools/shared/point/arrow-point.js +47 -0
  141. package/dist/tools/shared/point/arrow.d.ts +46 -0
  142. package/dist/tools/shared/point/arrow.js +36 -0
  143. package/dist/tools/shared/point/base-point.d.ts +50 -0
  144. package/dist/tools/shared/point/base-point.js +88 -0
  145. package/dist/tools/shared/point/index.d.ts +217 -0
  146. package/dist/tools/shared/point/index.js +51 -0
  147. package/dist/tools/shared/styles.d.ts +24 -0
  148. package/dist/tools/shared/styles.js +17 -0
  149. package/dist/tools/shared/types.d.ts +15 -0
  150. package/dist/tools/shared/types.js +10 -0
  151. package/dist/undo-redo.d.ts +20 -0
  152. package/dist/undo-redo.js +33 -0
  153. package/dist/use-debounce.d.ts +9 -0
  154. package/dist/use-debounce.js +13 -0
  155. package/dist/utils.d.ts +58 -0
  156. package/dist/utils.js +72 -0
  157. package/package.json +46 -34
  158. package/CHANGELOG.json +0 -1
  159. package/CHANGELOG.md +0 -449
  160. package/LICENSE.md +0 -5
  161. package/lib/axis/arrow.js +0 -79
  162. package/lib/axis/arrow.js.map +0 -1
  163. package/lib/axis/axes.js +0 -327
  164. package/lib/axis/axes.js.map +0 -1
  165. package/lib/axis/index.js +0 -21
  166. package/lib/axis/index.js.map +0 -1
  167. package/lib/bg.js +0 -114
  168. package/lib/bg.js.map +0 -1
  169. package/lib/container/actions.js +0 -18
  170. package/lib/container/actions.js.map +0 -1
  171. package/lib/container/index.js +0 -120
  172. package/lib/container/index.js.map +0 -1
  173. package/lib/container/marks.js +0 -22
  174. package/lib/container/marks.js.map +0 -1
  175. package/lib/container/middleware.js +0 -19
  176. package/lib/container/middleware.js.map +0 -1
  177. package/lib/container/reducer.js +0 -18
  178. package/lib/container/reducer.js.map +0 -1
  179. package/lib/coordinates-label.js +0 -77
  180. package/lib/coordinates-label.js.map +0 -1
  181. package/lib/graph-with-controls.js +0 -297
  182. package/lib/graph-with-controls.js.map +0 -1
  183. package/lib/graph.js +0 -353
  184. package/lib/graph.js.map +0 -1
  185. package/lib/grid-setup.js +0 -414
  186. package/lib/grid-setup.js.map +0 -1
  187. package/lib/grid.js +0 -131
  188. package/lib/grid.js.map +0 -1
  189. package/lib/index.js +0 -40
  190. package/lib/index.js.map +0 -1
  191. package/lib/labels.js +0 -199
  192. package/lib/labels.js.map +0 -1
  193. package/lib/mark-label.js +0 -159
  194. package/lib/mark-label.js.map +0 -1
  195. package/lib/toggle-bar.js +0 -248
  196. package/lib/toggle-bar.js.map +0 -1
  197. package/lib/tool-menu.js +0 -218
  198. package/lib/tool-menu.js.map +0 -1
  199. package/lib/tools/index.js +0 -24
  200. package/lib/tools/index.js.map +0 -1
  201. package/lib/tools/line/component.js +0 -92
  202. package/lib/tools/line/component.js.map +0 -1
  203. package/lib/tools/line/index.js +0 -11
  204. package/lib/tools/line/index.js.map +0 -1
  205. package/lib/tools/polygon/component.js +0 -358
  206. package/lib/tools/polygon/component.js.map +0 -1
  207. package/lib/tools/polygon/index.js +0 -89
  208. package/lib/tools/polygon/index.js.map +0 -1
  209. package/lib/tools/polygon/line.js +0 -114
  210. package/lib/tools/polygon/line.js.map +0 -1
  211. package/lib/tools/polygon/polygon.js +0 -128
  212. package/lib/tools/polygon/polygon.js.map +0 -1
  213. package/lib/tools/shared/arrow-head.js +0 -62
  214. package/lib/tools/shared/arrow-head.js.map +0 -1
  215. package/lib/tools/shared/line/index.js +0 -539
  216. package/lib/tools/shared/line/index.js.map +0 -1
  217. package/lib/tools/shared/line/line-path.js +0 -121
  218. package/lib/tools/shared/line/line-path.js.map +0 -1
  219. package/lib/tools/shared/line/with-root-edge.js +0 -121
  220. package/lib/tools/shared/line/with-root-edge.js.map +0 -1
  221. package/lib/tools/shared/point/arrow-point.js +0 -86
  222. package/lib/tools/shared/point/arrow-point.js.map +0 -1
  223. package/lib/tools/shared/point/arrow.js +0 -70
  224. package/lib/tools/shared/point/arrow.js.map +0 -1
  225. package/lib/tools/shared/point/base-point.js +0 -137
  226. package/lib/tools/shared/point/base-point.js.map +0 -1
  227. package/lib/tools/shared/point/index.js +0 -80
  228. package/lib/tools/shared/point/index.js.map +0 -1
  229. package/lib/tools/shared/styles.js +0 -26
  230. package/lib/tools/shared/styles.js.map +0 -1
  231. package/lib/tools/shared/types.js +0 -15
  232. package/lib/tools/shared/types.js.map +0 -1
  233. package/lib/undo-redo.js +0 -67
  234. package/lib/undo-redo.js.map +0 -1
  235. package/lib/use-debounce.js +0 -25
  236. package/lib/use-debounce.js.map +0 -1
  237. package/lib/utils.js +0 -235
  238. package/lib/utils.js.map +0 -1
  239. package/src/__tests__/bg.test.jsx +0 -250
  240. package/src/__tests__/coordinates-label.test.jsx +0 -243
  241. package/src/__tests__/graph-with-controls.test.jsx +0 -184
  242. package/src/__tests__/graph.test.jsx +0 -93
  243. package/src/__tests__/grid-setup.test.jsx +0 -645
  244. package/src/__tests__/grid.test.jsx +0 -23
  245. package/src/__tests__/labels.test.jsx +0 -41
  246. package/src/__tests__/mark-label.test.jsx +0 -66
  247. package/src/__tests__/toggle-bar.test.jsx +0 -106
  248. package/src/__tests__/tool-menu.test.jsx +0 -453
  249. package/src/__tests__/undo-redo.test.jsx +0 -26
  250. package/src/__tests__/use-debounce.test.js +0 -21
  251. package/src/__tests__/utils.js +0 -41
  252. package/src/__tests__/utils.test.js +0 -105
  253. package/src/axis/__tests__/arrow.test.jsx +0 -43
  254. package/src/axis/__tests__/axes.test.jsx +0 -182
  255. package/src/axis/arrow.jsx +0 -57
  256. package/src/axis/axes.jsx +0 -284
  257. package/src/axis/index.js +0 -3
  258. package/src/bg.jsx +0 -96
  259. package/src/container/__tests__/actions.test.js +0 -105
  260. package/src/container/__tests__/index.test.jsx +0 -227
  261. package/src/container/__tests__/marks.test.js +0 -172
  262. package/src/container/__tests__/middleware.test.js +0 -235
  263. package/src/container/__tests__/reducer.test.js +0 -324
  264. package/src/container/actions.js +0 -8
  265. package/src/container/index.jsx +0 -85
  266. package/src/container/marks.js +0 -14
  267. package/src/container/middleware.js +0 -7
  268. package/src/container/reducer.js +0 -5
  269. package/src/coordinates-label.jsx +0 -62
  270. package/src/graph-with-controls.jsx +0 -242
  271. package/src/graph.jsx +0 -333
  272. package/src/grid-setup.jsx +0 -432
  273. package/src/grid.jsx +0 -133
  274. package/src/index.js +0 -7
  275. package/src/labels.jsx +0 -173
  276. package/src/mark-label.jsx +0 -125
  277. package/src/toggle-bar.jsx +0 -221
  278. package/src/tool-menu.jsx +0 -235
  279. package/src/tools/index.js +0 -8
  280. package/src/tools/line/__tests__/component.test.jsx +0 -37
  281. package/src/tools/line/component.jsx +0 -77
  282. package/src/tools/line/index.js +0 -4
  283. package/src/tools/polygon/__tests__/component.test.jsx +0 -487
  284. package/src/tools/polygon/__tests__/index.test.js +0 -65
  285. package/src/tools/polygon/__tests__/line.test.jsx +0 -23
  286. package/src/tools/polygon/__tests__/polygon.test.jsx +0 -44
  287. package/src/tools/polygon/component.jsx +0 -324
  288. package/src/tools/polygon/index.js +0 -52
  289. package/src/tools/polygon/line.jsx +0 -80
  290. package/src/tools/polygon/polygon.jsx +0 -93
  291. package/src/tools/shared/__tests__/arrow-head.test.jsx +0 -33
  292. package/src/tools/shared/arrow-head.jsx +0 -46
  293. package/src/tools/shared/line/__tests__/index.test.jsx +0 -553
  294. package/src/tools/shared/line/__tests__/line-path.test.jsx +0 -56
  295. package/src/tools/shared/line/__tests__/with-root-edge.test.jsx +0 -488
  296. package/src/tools/shared/line/index.jsx +0 -471
  297. package/src/tools/shared/line/line-path.jsx +0 -85
  298. package/src/tools/shared/line/with-root-edge.jsx +0 -97
  299. package/src/tools/shared/point/__tests__/arrow-point.test.jsx +0 -91
  300. package/src/tools/shared/point/__tests__/arrow.test.jsx +0 -469
  301. package/src/tools/shared/point/__tests__/base-point.test.jsx +0 -87
  302. package/src/tools/shared/point/arrow-point.jsx +0 -60
  303. package/src/tools/shared/point/arrow.jsx +0 -40
  304. package/src/tools/shared/point/base-point.jsx +0 -113
  305. package/src/tools/shared/point/index.jsx +0 -58
  306. package/src/tools/shared/styles.js +0 -20
  307. package/src/tools/shared/types.js +0 -8
  308. package/src/undo-redo.jsx +0 -37
  309. package/src/use-debounce.js +0 -13
  310. package/src/utils.js +0 -230
@@ -1,539 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.styles = exports.lineToolComponent = exports.lineTool = exports.lineBase = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
- var _react = _interopRequireDefault(require("react"));
16
- var _lodashEs = require("lodash-es");
17
- var _point = require("../point");
18
- var _plot = require("@pie-lib/plot");
19
- var _propTypes = _interopRequireDefault(require("prop-types"));
20
- var _styles = require("../styles");
21
- var _reactDom = _interopRequireDefault(require("react-dom"));
22
- var _markLabel = _interopRequireDefault(require("../../../mark-label"));
23
- var _renderUi = require("@pie-lib/render-ui");
24
- var _utils = require("../../../utils");
25
- function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
26
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
27
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
28
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
29
- var lineTool = exports.lineTool = function lineTool(type, Component) {
30
- return function () {
31
- return {
32
- type: type,
33
- Component: Component,
34
- addPoint: function addPoint(point, mark) {
35
- if (mark && (0, _utils.equalPoints)(mark.root, point)) {
36
- return mark;
37
- }
38
- if (!mark) {
39
- return {
40
- type: type,
41
- building: true,
42
- from: point
43
- };
44
- }
45
- if ((0, _utils.equalPoints)(point, mark.from)) {
46
- return _objectSpread({}, mark);
47
- }
48
- return _objectSpread(_objectSpread({}, mark), {}, {
49
- building: false,
50
- to: point
51
- });
52
- }
53
- };
54
- };
55
- };
56
- var lineToolComponent = exports.lineToolComponent = function lineToolComponent(Component) {
57
- var _LineToolComponent;
58
- return _LineToolComponent = /*#__PURE__*/function (_React$Component) {
59
- function LineToolComponent(props) {
60
- var _this;
61
- (0, _classCallCheck2["default"])(this, LineToolComponent);
62
- _this = _callSuper(this, LineToolComponent, [props]);
63
- (0, _defineProperty2["default"])(_this, "startDrag", function () {
64
- return _this.setState({
65
- mark: _objectSpread({}, _this.props.mark)
66
- });
67
- });
68
- (0, _defineProperty2["default"])(_this, "stopDrag", function () {
69
- var _this$props = _this.props,
70
- onChange = _this$props.onChange,
71
- mark = _this$props.mark;
72
- var update = _objectSpread({}, _this.state.mark);
73
- _this.setState({
74
- mark: undefined
75
- }, function () {
76
- var type = update.type;
77
- var shouldNotChange = type && (type === 'parabola' || type === 'sine' || type === 'absolute' || type === 'exponential') && (0, _utils.sameAxes)(update.from, update.to);
78
- if (!shouldNotChange && type && type === 'exponential' && update.from && update.to) {
79
- shouldNotChange = update.from.y === 0 || update.to.y === 0 || update.from.y * update.to.y < 0;
80
- }
81
- if (!(0, _lodashEs.isEqual)(mark, update) && !shouldNotChange) {
82
- onChange(mark, update);
83
- }
84
- });
85
- });
86
- (0, _defineProperty2["default"])(_this, "changeMark", function (_ref) {
87
- var from = _ref.from,
88
- to = _ref.to,
89
- middle = _ref.middle;
90
- var mark = _objectSpread(_objectSpread({}, _this.state.mark), {}, {
91
- from: from,
92
- to: to
93
- });
94
- if (middle) {
95
- mark = _objectSpread(_objectSpread({}, mark), {}, {
96
- middle: middle
97
- });
98
- }
99
- _this.setState({
100
- mark: mark
101
- });
102
- });
103
- (0, _defineProperty2["default"])(_this, "changeMarkProps", function (_ref2) {
104
- var from = _ref2.from,
105
- to = _ref2.to,
106
- middle = _ref2.middle;
107
- var _this$props2 = _this.props,
108
- onChange = _this$props2.onChange,
109
- mark = _this$props2.mark;
110
- var update = _objectSpread(_objectSpread({}, mark), _this.state.mark);
111
- if (from) {
112
- update = _objectSpread(_objectSpread({}, update), {}, {
113
- from: from
114
- });
115
- }
116
- if (to) {
117
- update = _objectSpread(_objectSpread({}, update), {}, {
118
- to: to
119
- });
120
- }
121
- if (middle) {
122
- update = _objectSpread(_objectSpread({}, update), {}, {
123
- middle: middle
124
- });
125
- }
126
- if (!(0, _lodashEs.isEqual)(mark, update)) {
127
- onChange(mark, update);
128
- }
129
- });
130
- _this.state = {};
131
- return _this;
132
- }
133
- (0, _inherits2["default"])(LineToolComponent, _React$Component);
134
- return (0, _createClass2["default"])(LineToolComponent, [{
135
- key: "render",
136
- value: function render() {
137
- var _this$props3 = this.props,
138
- graphProps = _this$props3.graphProps,
139
- onClick = _this$props3.onClick,
140
- labelNode = _this$props3.labelNode,
141
- labelModeEnabled = _this$props3.labelModeEnabled,
142
- coordinatesOnHover = _this$props3.coordinatesOnHover,
143
- gssLineData = _this$props3.gssLineData;
144
- var mark = this.state.mark ? this.state.mark : this.props.mark;
145
- var from = (0, _lodashEs.cloneDeep)(mark.from);
146
- var to = (0, _lodashEs.cloneDeep)(mark.to);
147
- var middle = (0, _lodashEs.cloneDeep)(mark.middle);
148
-
149
- // SET DISABLED
150
- // if it's a background mark, we need to force disable it
151
- if (from && mark.isBackground) {
152
- from.disabled = true;
153
- }
154
- if (to && mark.isBackground) {
155
- to.disabled = true;
156
- }
157
- if (middle && mark.isBackground) {
158
- middle.disabled = true;
159
- }
160
- return /*#__PURE__*/_react["default"].createElement(Component, {
161
- disabled: mark.disabled,
162
- coordinatesOnHover: coordinatesOnHover,
163
- correctness: mark.correctness,
164
- from: from,
165
- to: to,
166
- middle: middle,
167
- graphProps: graphProps,
168
- fill: mark && mark.fill,
169
- gssLineData: gssLineData,
170
- onChange: this.changeMark,
171
- changeMarkProps: this.changeMarkProps,
172
- onClick: onClick,
173
- onDragStart: this.startDrag,
174
- onDragStop: this.stopDrag,
175
- labelNode: labelNode,
176
- labelModeEnabled: labelModeEnabled
177
- });
178
- }
179
- }]);
180
- }(_react["default"].Component), (0, _defineProperty2["default"])(_LineToolComponent, "propTypes", _objectSpread(_objectSpread({}, _plot.types.ToolPropTypeFields), {}, {
181
- graphProps: _plot.types.GraphPropsType.isRequired
182
- })), _LineToolComponent;
183
- };
184
- var dragOpts = function dragOpts() {
185
- return {
186
- bounds: function bounds(props, _ref3) {
187
- var domain = _ref3.domain,
188
- range = _ref3.range;
189
- var area = _plot.utils.lineToArea(props.from, props.to);
190
- return _plot.utils.bounds(area, domain, range);
191
- },
192
- anchorPoint: function anchorPoint(props) {
193
- var from = props.from;
194
- return from;
195
- },
196
- fromDelta: function fromDelta(props, delta) {
197
- var from = props.from,
198
- to = props.to;
199
- return {
200
- from: _plot.utils.point(from).add(_plot.utils.point(delta)),
201
- to: _plot.utils.point(to).add(_plot.utils.point(delta))
202
- };
203
- }
204
- };
205
- };
206
- var lineBase = exports.lineBase = function lineBase(Comp, opts) {
207
- var DraggableComp = (0, _plot.gridDraggable)(dragOpts())(Comp);
208
- var FromPoint = opts && opts.from ? opts.from : _point.BasePoint;
209
- var ToPoint = opts && opts.to ? opts.to : _point.BasePoint;
210
- var LineBase = /*#__PURE__*/function (_React$Component2) {
211
- function LineBase() {
212
- var _this2;
213
- (0, _classCallCheck2["default"])(this, LineBase);
214
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
215
- args[_key] = arguments[_key];
216
- }
217
- _this2 = _callSuper(this, LineBase, [].concat(args));
218
- (0, _defineProperty2["default"])(_this2, "onChangePoint", function (point) {
219
- var _this2$props = _this2.props,
220
- middle = _this2$props.middle,
221
- onChange = _this2$props.onChange;
222
- var from = point.from,
223
- to = point.to;
224
-
225
- // because point.from.label and point.to.label can be different
226
- if (!(0, _utils.equalPoints)(from, to)) {
227
- if (middle) {
228
- point.middle = _objectSpread(_objectSpread({}, middle), (0, _utils.getMiddleOfTwoPoints)(from, to));
229
- }
230
- onChange(point);
231
- }
232
- });
233
- (0, _defineProperty2["default"])(_this2, "dragComp", function (_ref4) {
234
- var draggedFrom = _ref4.from,
235
- draggedTo = _ref4.to;
236
- var _this2$props2 = _this2.props,
237
- from = _this2$props2.from,
238
- to = _this2$props2.to,
239
- onChange = _this2$props2.onChange,
240
- middle = _this2$props2.middle;
241
- if (from.label) {
242
- draggedFrom.label = from.label;
243
- }
244
- if (to.label) {
245
- draggedTo.label = to.label;
246
- }
247
- var updated = {
248
- from: draggedFrom,
249
- to: draggedTo
250
- };
251
- if (middle) {
252
- updated.middle = _objectSpread(_objectSpread({}, middle), (0, _utils.getMiddleOfTwoPoints)(draggedFrom, draggedTo));
253
- }
254
- onChange(updated);
255
- });
256
- (0, _defineProperty2["default"])(_this2, "dragFrom", function (draggedFrom) {
257
- var _this2$props3 = _this2.props,
258
- from = _this2$props3.from,
259
- to = _this2$props3.to;
260
- if (from.label) {
261
- draggedFrom.label = from.label;
262
- }
263
- if (!(0, _utils.equalPoints)(draggedFrom, to)) {
264
- _this2.onChangePoint({
265
- from: draggedFrom,
266
- to: to
267
- });
268
- }
269
- });
270
- (0, _defineProperty2["default"])(_this2, "dragTo", function (draggedTo) {
271
- var _this2$props4 = _this2.props,
272
- from = _this2$props4.from,
273
- to = _this2$props4.to;
274
- if (to.label) {
275
- draggedTo.label = to.label;
276
- }
277
- if (!(0, _utils.equalPoints)(from, draggedTo)) {
278
- _this2.onChangePoint({
279
- from: from,
280
- to: draggedTo
281
- });
282
- }
283
- });
284
- (0, _defineProperty2["default"])(_this2, "labelChange", function (point, type) {
285
- var changeMarkProps = _this2.props.changeMarkProps;
286
- var update = _objectSpread({}, point);
287
- if (!point.label || (0, _lodashEs.isEmpty)(point.label)) {
288
- delete update.label;
289
- }
290
- changeMarkProps((0, _defineProperty2["default"])({}, type, update));
291
- });
292
- (0, _defineProperty2["default"])(_this2, "clickPoint", function (point, type, data) {
293
- var _this2$props5 = _this2.props,
294
- changeMarkProps = _this2$props5.changeMarkProps,
295
- disabled = _this2$props5.disabled,
296
- from = _this2$props5.from,
297
- to = _this2$props5.to,
298
- labelModeEnabled = _this2$props5.labelModeEnabled,
299
- onClick = _this2$props5.onClick;
300
- if (!labelModeEnabled) {
301
- onClick(point || data);
302
- return;
303
- }
304
- if (disabled) {
305
- return;
306
- }
307
- if (type === 'middle' && !point && from && to) {
308
- point = _objectSpread(_objectSpread({}, point), (0, _utils.getMiddleOfTwoPoints)(from, to));
309
- }
310
- changeMarkProps((0, _defineProperty2["default"])({
311
- from: from,
312
- to: to
313
- }, type, _objectSpread({
314
- label: ''
315
- }, point)));
316
- if (_this2.input[type]) {
317
- _this2.input[type].focus();
318
- }
319
- });
320
- // IMPORTANT, do not remove
321
- (0, _defineProperty2["default"])(_this2, "input", {});
322
- return _this2;
323
- }
324
- (0, _inherits2["default"])(LineBase, _React$Component2);
325
- return (0, _createClass2["default"])(LineBase, [{
326
- key: "render",
327
- value: function render() {
328
- var _this3 = this;
329
- var _this$props4 = this.props,
330
- coordinatesOnHover = _this$props4.coordinatesOnHover,
331
- graphProps = _this$props4.graphProps,
332
- fill = _this$props4.fill,
333
- gssLineData = _this$props4.gssLineData,
334
- onDragStart = _this$props4.onDragStart,
335
- onDragStop = _this$props4.onDragStop,
336
- from = _this$props4.from,
337
- to = _this$props4.to,
338
- middle = _this$props4.middle,
339
- disabled = _this$props4.disabled,
340
- correctness = _this$props4.correctness,
341
- onClick = _this$props4.onClick,
342
- labelNode = _this$props4.labelNode,
343
- labelModeEnabled = _this$props4.labelModeEnabled;
344
- var common = {
345
- graphProps: graphProps,
346
- fill: fill,
347
- onDragStart: onDragStart,
348
- onDragStop: onDragStop,
349
- disabled: disabled,
350
- correctness: correctness,
351
- onClick: onClick
352
- };
353
- if (gssLineData && gssLineData.selectedTool === 'solutionSet') {
354
- //removing dragging option for line if solution set is clicked.
355
- common = {
356
- graphProps: graphProps,
357
- fill: fill,
358
- disabled: disabled,
359
- correctness: correctness,
360
- onClick: onClick
361
- };
362
- }
363
- var angle = to ? _plot.trig.toDegrees(_plot.trig.angle(from, to)) : 0;
364
- var fromLabelNode = null;
365
- var toLabelNode = null;
366
- var lineLabelNode = null;
367
- if (labelNode) {
368
- if (from && Object.prototype.hasOwnProperty.call(from, 'label')) {
369
- fromLabelNode = /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
370
- inputRef: function inputRef(r) {
371
- return _this3.input.from = r;
372
- },
373
- disabled: !labelModeEnabled,
374
- mark: from,
375
- graphProps: graphProps,
376
- onChange: function onChange(label) {
377
- return _this3.labelChange(_objectSpread(_objectSpread({}, from), {}, {
378
- label: label
379
- }), 'from');
380
- }
381
- }), labelNode);
382
- }
383
- if (to && Object.prototype.hasOwnProperty.call(to, 'label')) {
384
- toLabelNode = /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
385
- inputRef: function inputRef(r) {
386
- return _this3.input.to = r;
387
- },
388
- disabled: !labelModeEnabled,
389
- mark: to,
390
- graphProps: graphProps,
391
- onChange: function onChange(label) {
392
- return _this3.labelChange(_objectSpread(_objectSpread({}, to), {}, {
393
- label: label
394
- }), 'to');
395
- }
396
- }), labelNode);
397
- }
398
- if (middle && Object.prototype.hasOwnProperty.call(middle, 'label')) {
399
- lineLabelNode = /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
400
- inputRef: function inputRef(r) {
401
- return _this3.input.middle = r;
402
- },
403
- disabled: !labelModeEnabled,
404
- mark: middle,
405
- graphProps: graphProps,
406
- onChange: function onChange(label) {
407
- return _this3.labelChange(_objectSpread(_objectSpread({}, middle), {}, {
408
- label: label
409
- }), 'middle');
410
- }
411
- }), labelNode);
412
- }
413
- }
414
- if (gssLineData && gssLineData.selectedTool === 'solutionSet') {
415
- //removing dragging feature of line and point if solution set is true.
416
- return /*#__PURE__*/_react["default"].createElement("g", null, to && /*#__PURE__*/_react["default"].createElement(DraggableComp, (0, _extends2["default"])({
417
- from: from,
418
- to: to,
419
- middle: middle
420
- }, common)), lineLabelNode, /*#__PURE__*/_react["default"].createElement(FromPoint, (0, _extends2["default"])({
421
- x: from.x,
422
- y: from.y,
423
- labelNode: labelNode,
424
- coordinatesOnHover: coordinatesOnHover
425
- }, common)), fromLabelNode, to && /*#__PURE__*/_react["default"].createElement(ToPoint, (0, _extends2["default"])({
426
- x: to.x,
427
- y: to.y,
428
- angle: angle //angle + 45}
429
- ,
430
- labelNode: labelNode,
431
- coordinatesOnHover: coordinatesOnHover
432
- }, common)), toLabelNode);
433
- } else {
434
- return /*#__PURE__*/_react["default"].createElement("g", null, to && /*#__PURE__*/_react["default"].createElement(DraggableComp, (0, _extends2["default"])({
435
- from: from,
436
- to: to,
437
- middle: middle,
438
- onDrag: this.dragComp
439
- }, common, {
440
- onClick: function onClick(data) {
441
- return _this3.clickPoint(middle, 'middle', data);
442
- }
443
- })), lineLabelNode, /*#__PURE__*/_react["default"].createElement(FromPoint, (0, _extends2["default"])({
444
- x: from.x,
445
- y: from.y,
446
- labelNode: labelNode,
447
- coordinatesOnHover: coordinatesOnHover,
448
- onDrag: this.dragFrom
449
- }, common, {
450
- onClick: function onClick(data) {
451
- return _this3.clickPoint(from, 'from', data);
452
- }
453
- })), fromLabelNode, to && /*#__PURE__*/_react["default"].createElement(ToPoint, (0, _extends2["default"])({
454
- x: to.x,
455
- y: to.y,
456
- angle: angle //angle + 45}
457
- ,
458
- labelNode: labelNode,
459
- coordinatesOnHover: coordinatesOnHover,
460
- onDrag: this.dragTo
461
- }, common, {
462
- onClick: function onClick(data) {
463
- return _this3.clickPoint(to, 'to', data);
464
- }
465
- })), toLabelNode);
466
- }
467
- }
468
- }]);
469
- }(_react["default"].Component);
470
- (0, _defineProperty2["default"])(LineBase, "propTypes", {
471
- coordinatesOnHover: _propTypes["default"].bool,
472
- graphProps: _plot.types.GraphPropsType,
473
- from: _plot.types.PointType,
474
- to: _plot.types.PointType,
475
- middle: _plot.types.PointType,
476
- onChange: _propTypes["default"].func,
477
- onDragStart: _propTypes["default"].func,
478
- onDragStop: _propTypes["default"].func,
479
- onClick: _propTypes["default"].func,
480
- correctness: _propTypes["default"].string,
481
- fill: _propTypes["default"].string,
482
- gssLineData: _propTypes["default"].object,
483
- disabled: _propTypes["default"].bool,
484
- labelNode: _propTypes["default"].object,
485
- labelModeEnabled: _propTypes["default"].bool,
486
- changeMarkProps: _propTypes["default"].func
487
- });
488
- return LineBase;
489
- };
490
- var styles = exports.styles = {
491
- line: function line() {
492
- return {
493
- fill: 'transparent',
494
- stroke: _renderUi.color.defaults.BLACK,
495
- strokeWidth: 4,
496
- transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',
497
- '&:hover': {
498
- strokeWidth: 6,
499
- stroke: _renderUi.color.defaults.BLACK
500
- }
501
- };
502
- },
503
- dashedLine: function dashedLine() {
504
- return {
505
- fill: 'transparent',
506
- stroke: _renderUi.color.defaults.BLACK,
507
- strokeWidth: 4,
508
- transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',
509
- '&:hover': {
510
- strokeWidth: 6,
511
- stroke: _renderUi.color.defaults.BLACK
512
- },
513
- strokeDasharray: '3,3'
514
- };
515
- },
516
- arrow: function arrow() {
517
- return {
518
- fill: _renderUi.color.defaults.SECONDARY
519
- };
520
- },
521
- disabledArrow: function disabledArrow() {
522
- return _objectSpread({}, (0, _styles.disabled)());
523
- },
524
- disabled: function disabled() {
525
- return _objectSpread(_objectSpread({}, (0, _styles.disabled)('stroke')), {}, {
526
- strokeWidth: 2
527
- });
528
- },
529
- correct: function correct(theme, key) {
530
- return _objectSpread({}, (0, _styles.correct)(key));
531
- },
532
- incorrect: function incorrect(theme, key) {
533
- return _objectSpread({}, (0, _styles.incorrect)(key));
534
- },
535
- missing: function missing(theme, key) {
536
- return _objectSpread({}, (0, _styles.missing)(key));
537
- }
538
- };
539
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_lodashEs","_point","_plot","_propTypes","_styles","_reactDom","_markLabel","_renderUi","_utils","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","lineTool","exports","type","Component","addPoint","point","mark","equalPoints","root","building","from","to","lineToolComponent","_LineToolComponent","_React$Component","LineToolComponent","props","_this","_classCallCheck2","setState","_this$props","onChange","update","state","undefined","shouldNotChange","sameAxes","y","isEqual","_ref","middle","_ref2","_this$props2","_inherits2","_createClass2","key","value","render","_this$props3","graphProps","onClick","labelNode","labelModeEnabled","coordinatesOnHover","gssLineData","cloneDeep","isBackground","disabled","createElement","correctness","fill","changeMark","changeMarkProps","onDragStart","startDrag","onDragStop","stopDrag","React","types","ToolPropTypeFields","GraphPropsType","isRequired","dragOpts","bounds","_ref3","domain","range","area","utils","lineToArea","anchorPoint","fromDelta","delta","add","lineBase","Comp","opts","DraggableComp","gridDraggable","FromPoint","BasePoint","ToPoint","LineBase","_React$Component2","_this2","_len","args","Array","_key","concat","_this2$props","getMiddleOfTwoPoints","_ref4","draggedFrom","draggedTo","_this2$props2","label","updated","_this2$props3","onChangePoint","_this2$props4","isEmpty","data","_this2$props5","input","focus","_this3","_this$props4","common","selectedTool","angle","trig","toDegrees","fromLabelNode","toLabelNode","lineLabelNode","hasOwnProperty","ReactDOM","createPortal","inputRef","labelChange","_extends2","x","onDrag","dragComp","clickPoint","dragFrom","dragTo","PropTypes","bool","PointType","func","string","object","styles","line","stroke","color","defaults","BLACK","strokeWidth","transition","dashedLine","strokeDasharray","arrow","SECONDARY","disabledArrow","correct","theme","incorrect","missing"],"sources":["../../../../src/tools/shared/line/index.jsx"],"sourcesContent":["import React from 'react';\nimport { cloneDeep, isEmpty, isEqual } from 'lodash-es';\nimport { BasePoint } from '../point';\nimport { gridDraggable, trig, types, utils } from '@pie-lib/plot';\nimport PropTypes from 'prop-types';\nimport { correct, disabled, incorrect, missing } from '../styles';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../../mark-label';\nimport { color } from '@pie-lib/render-ui';\nimport { equalPoints, getMiddleOfTwoPoints, sameAxes } from '../../../utils';\n\nexport const lineTool = (type, Component) => () => ({\n type,\n Component,\n addPoint: (point, mark) => {\n if (mark && equalPoints(mark.root, point)) {\n return mark;\n }\n\n if (!mark) {\n return {\n type,\n building: true,\n from: point,\n };\n }\n\n if (equalPoints(point, mark.from)) {\n return { ...mark };\n }\n\n return { ...mark, building: false, to: point };\n },\n});\n\nexport const lineToolComponent = (Component) => {\n return class LineToolComponent extends React.Component {\n static propTypes = {\n ...types.ToolPropTypeFields,\n graphProps: types.GraphPropsType.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n startDrag = () => this.setState({ mark: { ...this.props.mark } });\n\n stopDrag = () => {\n const { onChange, mark } = this.props;\n const update = { ...this.state.mark };\n\n this.setState({ mark: undefined }, () => {\n const { type } = update;\n let shouldNotChange =\n type &&\n (type === 'parabola' || type === 'sine' || type === 'absolute' || type === 'exponential') &&\n sameAxes(update.from, update.to);\n if (!shouldNotChange && type && type === 'exponential' && update.from && update.to) {\n shouldNotChange = update.from.y === 0 || update.to.y === 0 || update.from.y * update.to.y < 0;\n }\n if (!isEqual(mark, update) && !shouldNotChange) {\n onChange(mark, update);\n }\n });\n };\n\n changeMark = ({ from, to, middle }) => {\n let mark = { ...this.state.mark, from, to };\n\n if (middle) {\n mark = { ...mark, middle };\n }\n\n this.setState({ mark });\n };\n\n changeMarkProps = ({ from, to, middle }) => {\n const { onChange, mark } = this.props;\n let update = { ...mark, ...this.state.mark };\n\n if (from) {\n update = { ...update, from };\n }\n\n if (to) {\n update = { ...update, to };\n }\n\n if (middle) {\n update = { ...update, middle };\n }\n\n if (!isEqual(mark, update)) {\n onChange(mark, update);\n }\n };\n\n render() {\n const { graphProps, onClick, labelNode, labelModeEnabled, coordinatesOnHover, gssLineData } = this.props;\n const mark = this.state.mark ? this.state.mark : this.props.mark;\n\n const from = cloneDeep(mark.from);\n const to = cloneDeep(mark.to);\n const middle = cloneDeep(mark.middle);\n\n // SET DISABLED\n // if it's a background mark, we need to force disable it\n if (from && mark.isBackground) {\n from.disabled = true;\n }\n\n if (to && mark.isBackground) {\n to.disabled = true;\n }\n\n if (middle && mark.isBackground) {\n middle.disabled = true;\n }\n\n return (\n <Component\n disabled={mark.disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={mark.correctness}\n from={from}\n to={to}\n middle={middle}\n graphProps={graphProps}\n fill={mark && mark.fill}\n gssLineData={gssLineData}\n onChange={this.changeMark}\n changeMarkProps={this.changeMarkProps}\n onClick={onClick}\n onDragStart={this.startDrag}\n onDragStop={this.stopDrag}\n labelNode={labelNode}\n labelModeEnabled={labelModeEnabled}\n />\n );\n }\n };\n};\n\nconst dragOpts = () => ({\n bounds: (props, { domain, range }) => {\n const area = utils.lineToArea(props.from, props.to);\n return utils.bounds(area, domain, range);\n },\n anchorPoint: (props) => {\n const { from } = props;\n return from;\n },\n fromDelta: (props, delta) => {\n const { from, to } = props;\n return {\n from: utils.point(from).add(utils.point(delta)),\n to: utils.point(to).add(utils.point(delta)),\n };\n },\n});\n\nexport const lineBase = (Comp, opts) => {\n const DraggableComp = gridDraggable(dragOpts())(Comp);\n\n const FromPoint = opts && opts.from ? opts.from : BasePoint;\n const ToPoint = opts && opts.to ? opts.to : BasePoint;\n\n class LineBase extends React.Component {\n static propTypes = {\n coordinatesOnHover: PropTypes.bool,\n graphProps: types.GraphPropsType,\n from: types.PointType,\n to: types.PointType,\n middle: types.PointType,\n onChange: PropTypes.func,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n onClick: PropTypes.func,\n correctness: PropTypes.string,\n fill: PropTypes.string,\n gssLineData: PropTypes.object,\n disabled: PropTypes.bool,\n labelNode: PropTypes.object,\n labelModeEnabled: PropTypes.bool,\n changeMarkProps: PropTypes.func,\n };\n\n onChangePoint = (point) => {\n const { middle, onChange } = this.props;\n const { from, to } = point;\n\n // because point.from.label and point.to.label can be different\n if (!equalPoints(from, to)) {\n if (middle) {\n point.middle = { ...middle, ...getMiddleOfTwoPoints(from, to) };\n }\n\n onChange(point);\n }\n };\n\n dragComp = ({ from: draggedFrom, to: draggedTo }) => {\n const { from, to, onChange, middle } = this.props;\n\n if (from.label) {\n draggedFrom.label = from.label;\n }\n\n if (to.label) {\n draggedTo.label = to.label;\n }\n\n const updated = { from: draggedFrom, to: draggedTo };\n\n if (middle) {\n updated.middle = { ...middle, ...getMiddleOfTwoPoints(draggedFrom, draggedTo) };\n }\n\n onChange(updated);\n };\n\n dragFrom = (draggedFrom) => {\n const { from, to } = this.props;\n\n if (from.label) {\n draggedFrom.label = from.label;\n }\n\n if (!equalPoints(draggedFrom, to)) {\n this.onChangePoint({ from: draggedFrom, to: to });\n }\n };\n\n dragTo = (draggedTo) => {\n const { from, to } = this.props;\n\n if (to.label) {\n draggedTo.label = to.label;\n }\n\n if (!equalPoints(from, draggedTo)) {\n this.onChangePoint({ from: from, to: draggedTo });\n }\n };\n\n labelChange = (point, type) => {\n const { changeMarkProps } = this.props;\n const update = { ...point };\n\n if (!point.label || isEmpty(point.label)) {\n delete update.label;\n }\n\n changeMarkProps({ [type]: update });\n };\n\n clickPoint = (point, type, data) => {\n const { changeMarkProps, disabled, from, to, labelModeEnabled, onClick } = this.props;\n\n if (!labelModeEnabled) {\n onClick(point || data);\n return;\n }\n\n if (disabled) {\n return;\n }\n\n if (type === 'middle' && !point && from && to) {\n point = { ...point, ...getMiddleOfTwoPoints(from, to) };\n }\n\n changeMarkProps({ from, to, [type]: { label: '', ...point } });\n\n if (this.input[type]) {\n this.input[type].focus();\n }\n };\n\n // IMPORTANT, do not remove\n input = {};\n\n render() {\n const {\n coordinatesOnHover,\n graphProps,\n fill,\n gssLineData,\n onDragStart,\n onDragStop,\n from,\n to,\n middle,\n disabled,\n correctness,\n onClick,\n labelNode,\n labelModeEnabled,\n } = this.props;\n let common = { graphProps, fill, onDragStart, onDragStop, disabled, correctness, onClick };\n if (gssLineData && gssLineData.selectedTool === 'solutionSet') {\n //removing dragging option for line if solution set is clicked.\n common = { graphProps, fill, disabled, correctness, onClick };\n }\n const angle = to ? trig.toDegrees(trig.angle(from, to)) : 0;\n\n let fromLabelNode = null;\n let toLabelNode = null;\n let lineLabelNode = null;\n\n if (labelNode) {\n if (from && Object.prototype.hasOwnProperty.call(from, 'label')) {\n fromLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.from = r)}\n disabled={!labelModeEnabled}\n mark={from}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...from, label }, 'from')}\n />,\n labelNode,\n );\n }\n\n if (to && Object.prototype.hasOwnProperty.call(to, 'label')) {\n toLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.to = r)}\n disabled={!labelModeEnabled}\n mark={to}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...to, label }, 'to')}\n />,\n labelNode,\n );\n }\n\n if (middle && Object.prototype.hasOwnProperty.call(middle, 'label')) {\n lineLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input.middle = r)}\n disabled={!labelModeEnabled}\n mark={middle}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...middle, label }, 'middle')}\n />,\n labelNode,\n );\n }\n }\n if (gssLineData && gssLineData.selectedTool === 'solutionSet') {\n //removing dragging feature of line and point if solution set is true.\n return (\n <g>\n {to && <DraggableComp from={from} to={to} middle={middle} {...common} />}\n {lineLabelNode}\n\n <FromPoint\n x={from.x}\n y={from.y}\n labelNode={labelNode}\n coordinatesOnHover={coordinatesOnHover}\n {...common}\n />\n {fromLabelNode}\n\n {to && (\n <ToPoint\n x={to.x}\n y={to.y}\n angle={angle} //angle + 45}\n labelNode={labelNode}\n coordinatesOnHover={coordinatesOnHover}\n {...common}\n />\n )}\n {toLabelNode}\n </g>\n );\n } else {\n return (\n <g>\n {to && (\n <DraggableComp\n from={from}\n to={to}\n middle={middle}\n onDrag={this.dragComp}\n {...common}\n onClick={(data) => this.clickPoint(middle, 'middle', data)}\n />\n )}\n {lineLabelNode}\n\n <FromPoint\n x={from.x}\n y={from.y}\n labelNode={labelNode}\n coordinatesOnHover={coordinatesOnHover}\n onDrag={this.dragFrom}\n {...common}\n onClick={(data) => this.clickPoint(from, 'from', data)}\n />\n {fromLabelNode}\n\n {to && (\n <ToPoint\n x={to.x}\n y={to.y}\n angle={angle} //angle + 45}\n labelNode={labelNode}\n coordinatesOnHover={coordinatesOnHover}\n onDrag={this.dragTo}\n {...common}\n onClick={(data) => this.clickPoint(to, 'to', data)}\n />\n )}\n {toLabelNode}\n </g>\n );\n }\n }\n }\n\n return LineBase;\n};\n\nexport const styles = {\n line: () => ({\n fill: 'transparent',\n stroke: color.defaults.BLACK,\n strokeWidth: 4,\n transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',\n '&:hover': {\n strokeWidth: 6,\n stroke: color.defaults.BLACK,\n },\n }),\n dashedLine: () => ({\n fill: 'transparent',\n stroke: color.defaults.BLACK,\n strokeWidth: 4,\n transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',\n '&:hover': {\n strokeWidth: 6,\n stroke: color.defaults.BLACK,\n },\n strokeDasharray: '3,3',\n }),\n arrow: () => ({\n fill: color.defaults.SECONDARY,\n }),\n disabledArrow: () => ({\n ...disabled(),\n }),\n disabled: () => ({\n ...disabled('stroke'),\n strokeWidth: 2,\n }),\n correct: (theme, key) => ({\n ...correct(key),\n }),\n incorrect: (theme, key) => ({\n ...incorrect(key),\n }),\n missing: (theme, key) => ({\n ...missing(key),\n }),\n};\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,UAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,SAAA,GAAAR,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AAA6E,SAAAU,WAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,WAAAD,CAAA,OAAAE,gBAAA,aAAAF,CAAA,OAAAG,2BAAA,aAAAJ,CAAA,EAAAK,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAN,CAAA,EAAAC,CAAA,YAAAC,gBAAA,aAAAH,CAAA,EAAAQ,WAAA,IAAAP,CAAA,CAAAQ,KAAA,CAAAT,CAAA,EAAAE,CAAA;AAAA,SAAAG,0BAAA,cAAAL,CAAA,IAAAU,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAP,OAAA,CAAAC,SAAA,CAAAG,OAAA,iCAAAV,CAAA,aAAAK,yBAAA,YAAAA,0BAAA,aAAAL,CAAA;AAAA,SAAAc,QAAAZ,CAAA,EAAAa,CAAA,QAAAf,CAAA,GAAAgB,MAAA,CAAAC,IAAA,CAAAf,CAAA,OAAAc,MAAA,CAAAE,qBAAA,QAAAjB,CAAA,GAAAe,MAAA,CAAAE,qBAAA,CAAAhB,CAAA,GAAAa,CAAA,KAAAd,CAAA,GAAAA,CAAA,CAAAkB,MAAA,WAAAJ,CAAA,WAAAC,MAAA,CAAAI,wBAAA,CAAAlB,CAAA,EAAAa,CAAA,EAAAM,UAAA,OAAArB,CAAA,CAAAsB,IAAA,CAAAb,KAAA,CAAAT,CAAA,EAAAC,CAAA,YAAAD,CAAA;AAAA,SAAAuB,cAAArB,CAAA,aAAAa,CAAA,MAAAA,CAAA,GAAAS,SAAA,CAAAC,MAAA,EAAAV,CAAA,UAAAf,CAAA,WAAAwB,SAAA,CAAAT,CAAA,IAAAS,SAAA,CAAAT,CAAA,QAAAA,CAAA,OAAAD,OAAA,CAAAE,MAAA,CAAAhB,CAAA,OAAA0B,OAAA,WAAAX,CAAA,QAAAY,gBAAA,aAAAzB,CAAA,EAAAa,CAAA,EAAAf,CAAA,CAAAe,CAAA,SAAAC,MAAA,CAAAY,yBAAA,GAAAZ,MAAA,CAAAa,gBAAA,CAAA3B,CAAA,EAAAc,MAAA,CAAAY,yBAAA,CAAA5B,CAAA,KAAAc,OAAA,CAAAE,MAAA,CAAAhB,CAAA,GAAA0B,OAAA,WAAAX,CAAA,IAAAC,MAAA,CAAAc,cAAA,CAAA5B,CAAA,EAAAa,CAAA,EAAAC,MAAA,CAAAI,wBAAA,CAAApB,CAAA,EAAAe,CAAA,iBAAAb,CAAA;AAEtE,IAAM6B,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG,SAAXA,QAAQA,CAAIE,IAAI,EAAEC,SAAS;EAAA,OAAK;IAAA,OAAO;MAClDD,IAAI,EAAJA,IAAI;MACJC,SAAS,EAATA,SAAS;MACTC,QAAQ,EAAE,SAAVA,QAAQA,CAAGC,KAAK,EAAEC,IAAI,EAAK;QACzB,IAAIA,IAAI,IAAI,IAAAC,kBAAW,EAACD,IAAI,CAACE,IAAI,EAAEH,KAAK,CAAC,EAAE;UACzC,OAAOC,IAAI;QACb;QAEA,IAAI,CAACA,IAAI,EAAE;UACT,OAAO;YACLJ,IAAI,EAAJA,IAAI;YACJO,QAAQ,EAAE,IAAI;YACdC,IAAI,EAAEL;UACR,CAAC;QACH;QAEA,IAAI,IAAAE,kBAAW,EAACF,KAAK,EAAEC,IAAI,CAACI,IAAI,CAAC,EAAE;UACjC,OAAAlB,aAAA,KAAYc,IAAI;QAClB;QAEA,OAAAd,aAAA,CAAAA,aAAA,KAAYc,IAAI;UAAEG,QAAQ,EAAE,KAAK;UAAEE,EAAE,EAAEN;QAAK;MAC9C;IACF,CAAC;EAAA,CAAC;AAAA;AAEK,IAAMO,iBAAiB,GAAAX,OAAA,CAAAW,iBAAA,GAAG,SAApBA,iBAAiBA,CAAIT,SAAS,EAAK;EAAA,IAAAU,kBAAA;EAC9C,OAAAA,kBAAA,0BAAAC,gBAAA;IAME,SAAAC,kBAAYC,KAAK,EAAE;MAAA,IAAAC,KAAA;MAAA,IAAAC,gBAAA,mBAAAH,iBAAA;MACjBE,KAAA,GAAAjD,UAAA,OAAA+C,iBAAA,GAAMC,KAAK;MAAE,IAAApB,gBAAA,aAAAqB,KAAA,eAIH;QAAA,OAAMA,KAAA,CAAKE,QAAQ,CAAC;UAAEb,IAAI,EAAAd,aAAA,KAAOyB,KAAA,CAAKD,KAAK,CAACV,IAAI;QAAG,CAAC,CAAC;MAAA;MAAA,IAAAV,gBAAA,aAAAqB,KAAA,cAEtD,YAAM;QACf,IAAAG,WAAA,GAA2BH,KAAA,CAAKD,KAAK;UAA7BK,QAAQ,GAAAD,WAAA,CAARC,QAAQ;UAAEf,IAAI,GAAAc,WAAA,CAAJd,IAAI;QACtB,IAAMgB,MAAM,GAAA9B,aAAA,KAAQyB,KAAA,CAAKM,KAAK,CAACjB,IAAI,CAAE;QAErCW,KAAA,CAAKE,QAAQ,CAAC;UAAEb,IAAI,EAAEkB;QAAU,CAAC,EAAE,YAAM;UACvC,IAAQtB,IAAI,GAAKoB,MAAM,CAAfpB,IAAI;UACZ,IAAIuB,eAAe,GACjBvB,IAAI,KACHA,IAAI,KAAK,UAAU,IAAIA,IAAI,KAAK,MAAM,IAAIA,IAAI,KAAK,UAAU,IAAIA,IAAI,KAAK,aAAa,CAAC,IACzF,IAAAwB,eAAQ,EAACJ,MAAM,CAACZ,IAAI,EAAEY,MAAM,CAACX,EAAE,CAAC;UAClC,IAAI,CAACc,eAAe,IAAIvB,IAAI,IAAIA,IAAI,KAAK,aAAa,IAAIoB,MAAM,CAACZ,IAAI,IAAIY,MAAM,CAACX,EAAE,EAAE;YAClFc,eAAe,GAAGH,MAAM,CAACZ,IAAI,CAACiB,CAAC,KAAK,CAAC,IAAIL,MAAM,CAACX,EAAE,CAACgB,CAAC,KAAK,CAAC,IAAIL,MAAM,CAACZ,IAAI,CAACiB,CAAC,GAAGL,MAAM,CAACX,EAAE,CAACgB,CAAC,GAAG,CAAC;UAC/F;UACA,IAAI,CAAC,IAAAC,iBAAO,EAACtB,IAAI,EAAEgB,MAAM,CAAC,IAAI,CAACG,eAAe,EAAE;YAC9CJ,QAAQ,CAACf,IAAI,EAAEgB,MAAM,CAAC;UACxB;QACF,CAAC,CAAC;MACJ,CAAC;MAAA,IAAA1B,gBAAA,aAAAqB,KAAA,gBAEY,UAAAY,IAAA,EAA0B;QAAA,IAAvBnB,IAAI,GAAAmB,IAAA,CAAJnB,IAAI;UAAEC,EAAE,GAAAkB,IAAA,CAAFlB,EAAE;UAAEmB,MAAM,GAAAD,IAAA,CAANC,MAAM;QAC9B,IAAIxB,IAAI,GAAAd,aAAA,CAAAA,aAAA,KAAQyB,KAAA,CAAKM,KAAK,CAACjB,IAAI;UAAEI,IAAI,EAAJA,IAAI;UAAEC,EAAE,EAAFA;QAAE,EAAE;QAE3C,IAAImB,MAAM,EAAE;UACVxB,IAAI,GAAAd,aAAA,CAAAA,aAAA,KAAQc,IAAI;YAAEwB,MAAM,EAANA;UAAM,EAAE;QAC5B;QAEAb,KAAA,CAAKE,QAAQ,CAAC;UAAEb,IAAI,EAAJA;QAAK,CAAC,CAAC;MACzB,CAAC;MAAA,IAAAV,gBAAA,aAAAqB,KAAA,qBAEiB,UAAAc,KAAA,EAA0B;QAAA,IAAvBrB,IAAI,GAAAqB,KAAA,CAAJrB,IAAI;UAAEC,EAAE,GAAAoB,KAAA,CAAFpB,EAAE;UAAEmB,MAAM,GAAAC,KAAA,CAAND,MAAM;QACnC,IAAAE,YAAA,GAA2Bf,KAAA,CAAKD,KAAK;UAA7BK,QAAQ,GAAAW,YAAA,CAARX,QAAQ;UAAEf,IAAI,GAAA0B,YAAA,CAAJ1B,IAAI;QACtB,IAAIgB,MAAM,GAAA9B,aAAA,CAAAA,aAAA,KAAQc,IAAI,GAAKW,KAAA,CAAKM,KAAK,CAACjB,IAAI,CAAE;QAE5C,IAAII,IAAI,EAAE;UACRY,MAAM,GAAA9B,aAAA,CAAAA,aAAA,KAAQ8B,MAAM;YAAEZ,IAAI,EAAJA;UAAI,EAAE;QAC9B;QAEA,IAAIC,EAAE,EAAE;UACNW,MAAM,GAAA9B,aAAA,CAAAA,aAAA,KAAQ8B,MAAM;YAAEX,EAAE,EAAFA;UAAE,EAAE;QAC5B;QAEA,IAAImB,MAAM,EAAE;UACVR,MAAM,GAAA9B,aAAA,CAAAA,aAAA,KAAQ8B,MAAM;YAAEQ,MAAM,EAANA;UAAM,EAAE;QAChC;QAEA,IAAI,CAAC,IAAAF,iBAAO,EAACtB,IAAI,EAAEgB,MAAM,CAAC,EAAE;UAC1BD,QAAQ,CAACf,IAAI,EAAEgB,MAAM,CAAC;QACxB;MACF,CAAC;MArDCL,KAAA,CAAKM,KAAK,GAAG,CAAC,CAAC;MAAC,OAAAN,KAAA;IAClB;IAAC,IAAAgB,UAAA,aAAAlB,iBAAA,EAAAD,gBAAA;IAAA,WAAAoB,aAAA,aAAAnB,iBAAA;MAAAoB,GAAA;MAAAC,KAAA,EAsDD,SAAAC,MAAMA,CAAA,EAAG;QACP,IAAAC,YAAA,GAA8F,IAAI,CAACtB,KAAK;UAAhGuB,UAAU,GAAAD,YAAA,CAAVC,UAAU;UAAEC,OAAO,GAAAF,YAAA,CAAPE,OAAO;UAAEC,SAAS,GAAAH,YAAA,CAATG,SAAS;UAAEC,gBAAgB,GAAAJ,YAAA,CAAhBI,gBAAgB;UAAEC,kBAAkB,GAAAL,YAAA,CAAlBK,kBAAkB;UAAEC,WAAW,GAAAN,YAAA,CAAXM,WAAW;QACzF,IAAMtC,IAAI,GAAG,IAAI,CAACiB,KAAK,CAACjB,IAAI,GAAG,IAAI,CAACiB,KAAK,CAACjB,IAAI,GAAG,IAAI,CAACU,KAAK,CAACV,IAAI;QAEhE,IAAMI,IAAI,GAAG,IAAAmC,mBAAS,EAACvC,IAAI,CAACI,IAAI,CAAC;QACjC,IAAMC,EAAE,GAAG,IAAAkC,mBAAS,EAACvC,IAAI,CAACK,EAAE,CAAC;QAC7B,IAAMmB,MAAM,GAAG,IAAAe,mBAAS,EAACvC,IAAI,CAACwB,MAAM,CAAC;;QAErC;QACA;QACA,IAAIpB,IAAI,IAAIJ,IAAI,CAACwC,YAAY,EAAE;UAC7BpC,IAAI,CAACqC,QAAQ,GAAG,IAAI;QACtB;QAEA,IAAIpC,EAAE,IAAIL,IAAI,CAACwC,YAAY,EAAE;UAC3BnC,EAAE,CAACoC,QAAQ,GAAG,IAAI;QACpB;QAEA,IAAIjB,MAAM,IAAIxB,IAAI,CAACwC,YAAY,EAAE;UAC/BhB,MAAM,CAACiB,QAAQ,GAAG,IAAI;QACxB;QAEA,oBACE3F,MAAA,YAAA4F,aAAA,CAAC7C,SAAS;UACR4C,QAAQ,EAAEzC,IAAI,CAACyC,QAAS;UACxBJ,kBAAkB,EAAEA,kBAAmB;UACvCM,WAAW,EAAE3C,IAAI,CAAC2C,WAAY;UAC9BvC,IAAI,EAAEA,IAAK;UACXC,EAAE,EAAEA,EAAG;UACPmB,MAAM,EAAEA,MAAO;UACfS,UAAU,EAAEA,UAAW;UACvBW,IAAI,EAAE5C,IAAI,IAAIA,IAAI,CAAC4C,IAAK;UACxBN,WAAW,EAAEA,WAAY;UACzBvB,QAAQ,EAAE,IAAI,CAAC8B,UAAW;UAC1BC,eAAe,EAAE,IAAI,CAACA,eAAgB;UACtCZ,OAAO,EAAEA,OAAQ;UACjBa,WAAW,EAAE,IAAI,CAACC,SAAU;UAC5BC,UAAU,EAAE,IAAI,CAACC,QAAS;UAC1Bf,SAAS,EAAEA,SAAU;UACrBC,gBAAgB,EAAEA;QAAiB,CACpC,CAAC;MAEN;IAAC;EAAA,EAzGoCe,iBAAK,CAACtD,SAAS,OAAAP,gBAAA,aAAAiB,kBAAA,eAAArB,aAAA,CAAAA,aAAA,KAE/CkE,WAAK,CAACC,kBAAkB;IAC3BpB,UAAU,EAAEmB,WAAK,CAACE,cAAc,CAACC;EAAU,KAAAhD,kBAAA;AAwGjD,CAAC;AAED,IAAMiD,QAAQ,GAAG,SAAXA,QAAQA,CAAA;EAAA,OAAU;IACtBC,MAAM,EAAE,SAARA,MAAMA,CAAG/C,KAAK,EAAAgD,KAAA,EAAwB;MAAA,IAApBC,MAAM,GAAAD,KAAA,CAANC,MAAM;QAAEC,KAAK,GAAAF,KAAA,CAALE,KAAK;MAC7B,IAAMC,IAAI,GAAGC,WAAK,CAACC,UAAU,CAACrD,KAAK,CAACN,IAAI,EAAEM,KAAK,CAACL,EAAE,CAAC;MACnD,OAAOyD,WAAK,CAACL,MAAM,CAACI,IAAI,EAAEF,MAAM,EAAEC,KAAK,CAAC;IAC1C,CAAC;IACDI,WAAW,EAAE,SAAbA,WAAWA,CAAGtD,KAAK,EAAK;MACtB,IAAQN,IAAI,GAAKM,KAAK,CAAdN,IAAI;MACZ,OAAOA,IAAI;IACb,CAAC;IACD6D,SAAS,EAAE,SAAXA,SAASA,CAAGvD,KAAK,EAAEwD,KAAK,EAAK;MAC3B,IAAQ9D,IAAI,GAASM,KAAK,CAAlBN,IAAI;QAAEC,EAAE,GAAKK,KAAK,CAAZL,EAAE;MAChB,OAAO;QACLD,IAAI,EAAE0D,WAAK,CAAC/D,KAAK,CAACK,IAAI,CAAC,CAAC+D,GAAG,CAACL,WAAK,CAAC/D,KAAK,CAACmE,KAAK,CAAC,CAAC;QAC/C7D,EAAE,EAAEyD,WAAK,CAAC/D,KAAK,CAACM,EAAE,CAAC,CAAC8D,GAAG,CAACL,WAAK,CAAC/D,KAAK,CAACmE,KAAK,CAAC;MAC5C,CAAC;IACH;EACF,CAAC;AAAA,CAAC;AAEK,IAAME,QAAQ,GAAAzE,OAAA,CAAAyE,QAAA,GAAG,SAAXA,QAAQA,CAAIC,IAAI,EAAEC,IAAI,EAAK;EACtC,IAAMC,aAAa,GAAG,IAAAC,mBAAa,EAAChB,QAAQ,CAAC,CAAC,CAAC,CAACa,IAAI,CAAC;EAErD,IAAMI,SAAS,GAAGH,IAAI,IAAIA,IAAI,CAAClE,IAAI,GAAGkE,IAAI,CAAClE,IAAI,GAAGsE,gBAAS;EAC3D,IAAMC,OAAO,GAAGL,IAAI,IAAIA,IAAI,CAACjE,EAAE,GAAGiE,IAAI,CAACjE,EAAE,GAAGqE,gBAAS;EAAC,IAEhDE,QAAQ,0BAAAC,iBAAA;IAAA,SAAAD,SAAA;MAAA,IAAAE,MAAA;MAAA,IAAAlE,gBAAA,mBAAAgE,QAAA;MAAA,SAAAG,IAAA,GAAA5F,SAAA,CAAAC,MAAA,EAAA4F,IAAA,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;QAAAF,IAAA,CAAAE,IAAA,IAAA/F,SAAA,CAAA+F,IAAA;MAAA;MAAAJ,MAAA,GAAApH,UAAA,OAAAkH,QAAA,KAAAO,MAAA,CAAAH,IAAA;MAAA,IAAA1F,gBAAA,aAAAwF,MAAA,mBAoBI,UAAC/E,KAAK,EAAK;QACzB,IAAAqF,YAAA,GAA6BN,MAAA,CAAKpE,KAAK;UAA/Bc,MAAM,GAAA4D,YAAA,CAAN5D,MAAM;UAAET,QAAQ,GAAAqE,YAAA,CAARrE,QAAQ;QACxB,IAAQX,IAAI,GAASL,KAAK,CAAlBK,IAAI;UAAEC,EAAE,GAAKN,KAAK,CAAZM,EAAE;;QAEhB;QACA,IAAI,CAAC,IAAAJ,kBAAW,EAACG,IAAI,EAAEC,EAAE,CAAC,EAAE;UAC1B,IAAImB,MAAM,EAAE;YACVzB,KAAK,CAACyB,MAAM,GAAAtC,aAAA,CAAAA,aAAA,KAAQsC,MAAM,GAAK,IAAA6D,2BAAoB,EAACjF,IAAI,EAAEC,EAAE,CAAC,CAAE;UACjE;UAEAU,QAAQ,CAAChB,KAAK,CAAC;QACjB;MACF,CAAC;MAAA,IAAAT,gBAAA,aAAAwF,MAAA,cAEU,UAAAQ,KAAA,EAA0C;QAAA,IAAjCC,WAAW,GAAAD,KAAA,CAAjBlF,IAAI;UAAmBoF,SAAS,GAAAF,KAAA,CAAbjF,EAAE;QACjC,IAAAoF,aAAA,GAAuCX,MAAA,CAAKpE,KAAK;UAAzCN,IAAI,GAAAqF,aAAA,CAAJrF,IAAI;UAAEC,EAAE,GAAAoF,aAAA,CAAFpF,EAAE;UAAEU,QAAQ,GAAA0E,aAAA,CAAR1E,QAAQ;UAAES,MAAM,GAAAiE,aAAA,CAANjE,MAAM;QAElC,IAAIpB,IAAI,CAACsF,KAAK,EAAE;UACdH,WAAW,CAACG,KAAK,GAAGtF,IAAI,CAACsF,KAAK;QAChC;QAEA,IAAIrF,EAAE,CAACqF,KAAK,EAAE;UACZF,SAAS,CAACE,KAAK,GAAGrF,EAAE,CAACqF,KAAK;QAC5B;QAEA,IAAMC,OAAO,GAAG;UAAEvF,IAAI,EAAEmF,WAAW;UAAElF,EAAE,EAAEmF;QAAU,CAAC;QAEpD,IAAIhE,MAAM,EAAE;UACVmE,OAAO,CAACnE,MAAM,GAAAtC,aAAA,CAAAA,aAAA,KAAQsC,MAAM,GAAK,IAAA6D,2BAAoB,EAACE,WAAW,EAAEC,SAAS,CAAC,CAAE;QACjF;QAEAzE,QAAQ,CAAC4E,OAAO,CAAC;MACnB,CAAC;MAAA,IAAArG,gBAAA,aAAAwF,MAAA,cAEU,UAACS,WAAW,EAAK;QAC1B,IAAAK,aAAA,GAAqBd,MAAA,CAAKpE,KAAK;UAAvBN,IAAI,GAAAwF,aAAA,CAAJxF,IAAI;UAAEC,EAAE,GAAAuF,aAAA,CAAFvF,EAAE;QAEhB,IAAID,IAAI,CAACsF,KAAK,EAAE;UACdH,WAAW,CAACG,KAAK,GAAGtF,IAAI,CAACsF,KAAK;QAChC;QAEA,IAAI,CAAC,IAAAzF,kBAAW,EAACsF,WAAW,EAAElF,EAAE,CAAC,EAAE;UACjCyE,MAAA,CAAKe,aAAa,CAAC;YAAEzF,IAAI,EAAEmF,WAAW;YAAElF,EAAE,EAAEA;UAAG,CAAC,CAAC;QACnD;MACF,CAAC;MAAA,IAAAf,gBAAA,aAAAwF,MAAA,YAEQ,UAACU,SAAS,EAAK;QACtB,IAAAM,aAAA,GAAqBhB,MAAA,CAAKpE,KAAK;UAAvBN,IAAI,GAAA0F,aAAA,CAAJ1F,IAAI;UAAEC,EAAE,GAAAyF,aAAA,CAAFzF,EAAE;QAEhB,IAAIA,EAAE,CAACqF,KAAK,EAAE;UACZF,SAAS,CAACE,KAAK,GAAGrF,EAAE,CAACqF,KAAK;QAC5B;QAEA,IAAI,CAAC,IAAAzF,kBAAW,EAACG,IAAI,EAAEoF,SAAS,CAAC,EAAE;UACjCV,MAAA,CAAKe,aAAa,CAAC;YAAEzF,IAAI,EAAEA,IAAI;YAAEC,EAAE,EAAEmF;UAAU,CAAC,CAAC;QACnD;MACF,CAAC;MAAA,IAAAlG,gBAAA,aAAAwF,MAAA,iBAEa,UAAC/E,KAAK,EAAEH,IAAI,EAAK;QAC7B,IAAQkD,eAAe,GAAKgC,MAAA,CAAKpE,KAAK,CAA9BoC,eAAe;QACvB,IAAM9B,MAAM,GAAA9B,aAAA,KAAQa,KAAK,CAAE;QAE3B,IAAI,CAACA,KAAK,CAAC2F,KAAK,IAAI,IAAAK,iBAAO,EAAChG,KAAK,CAAC2F,KAAK,CAAC,EAAE;UACxC,OAAO1E,MAAM,CAAC0E,KAAK;QACrB;QAEA5C,eAAe,KAAAxD,gBAAA,iBAAIM,IAAI,EAAGoB,MAAM,CAAE,CAAC;MACrC,CAAC;MAAA,IAAA1B,gBAAA,aAAAwF,MAAA,gBAEY,UAAC/E,KAAK,EAAEH,IAAI,EAAEoG,IAAI,EAAK;QAClC,IAAAC,aAAA,GAA2EnB,MAAA,CAAKpE,KAAK;UAA7EoC,eAAe,GAAAmD,aAAA,CAAfnD,eAAe;UAAEL,QAAQ,GAAAwD,aAAA,CAARxD,QAAQ;UAAErC,IAAI,GAAA6F,aAAA,CAAJ7F,IAAI;UAAEC,EAAE,GAAA4F,aAAA,CAAF5F,EAAE;UAAE+B,gBAAgB,GAAA6D,aAAA,CAAhB7D,gBAAgB;UAAEF,OAAO,GAAA+D,aAAA,CAAP/D,OAAO;QAEtE,IAAI,CAACE,gBAAgB,EAAE;UACrBF,OAAO,CAACnC,KAAK,IAAIiG,IAAI,CAAC;UACtB;QACF;QAEA,IAAIvD,QAAQ,EAAE;UACZ;QACF;QAEA,IAAI7C,IAAI,KAAK,QAAQ,IAAI,CAACG,KAAK,IAAIK,IAAI,IAAIC,EAAE,EAAE;UAC7CN,KAAK,GAAAb,aAAA,CAAAA,aAAA,KAAQa,KAAK,GAAK,IAAAsF,2BAAoB,EAACjF,IAAI,EAAEC,EAAE,CAAC,CAAE;QACzD;QAEAyC,eAAe,KAAAxD,gBAAA;UAAGc,IAAI,EAAJA,IAAI;UAAEC,EAAE,EAAFA;QAAE,GAAGT,IAAI,EAAAV,aAAA;UAAKwG,KAAK,EAAE;QAAE,GAAK3F,KAAK,EAAI,CAAC;QAE9D,IAAI+E,MAAA,CAAKoB,KAAK,CAACtG,IAAI,CAAC,EAAE;UACpBkF,MAAA,CAAKoB,KAAK,CAACtG,IAAI,CAAC,CAACuG,KAAK,CAAC,CAAC;QAC1B;MACF,CAAC;MAED;MAAA,IAAA7G,gBAAA,aAAAwF,MAAA,WACQ,CAAC,CAAC;MAAA,OAAAA,MAAA;IAAA;IAAA,IAAAnD,UAAA,aAAAiD,QAAA,EAAAC,iBAAA;IAAA,WAAAjD,aAAA,aAAAgD,QAAA;MAAA/C,GAAA;MAAAC,KAAA,EAEV,SAAAC,MAAMA,CAAA,EAAG;QAAA,IAAAqE,MAAA;QACP,IAAAC,YAAA,GAeI,IAAI,CAAC3F,KAAK;UAdZ2B,kBAAkB,GAAAgE,YAAA,CAAlBhE,kBAAkB;UAClBJ,UAAU,GAAAoE,YAAA,CAAVpE,UAAU;UACVW,IAAI,GAAAyD,YAAA,CAAJzD,IAAI;UACJN,WAAW,GAAA+D,YAAA,CAAX/D,WAAW;UACXS,WAAW,GAAAsD,YAAA,CAAXtD,WAAW;UACXE,UAAU,GAAAoD,YAAA,CAAVpD,UAAU;UACV7C,IAAI,GAAAiG,YAAA,CAAJjG,IAAI;UACJC,EAAE,GAAAgG,YAAA,CAAFhG,EAAE;UACFmB,MAAM,GAAA6E,YAAA,CAAN7E,MAAM;UACNiB,QAAQ,GAAA4D,YAAA,CAAR5D,QAAQ;UACRE,WAAW,GAAA0D,YAAA,CAAX1D,WAAW;UACXT,OAAO,GAAAmE,YAAA,CAAPnE,OAAO;UACPC,SAAS,GAAAkE,YAAA,CAATlE,SAAS;UACTC,gBAAgB,GAAAiE,YAAA,CAAhBjE,gBAAgB;QAElB,IAAIkE,MAAM,GAAG;UAAErE,UAAU,EAAVA,UAAU;UAAEW,IAAI,EAAJA,IAAI;UAAEG,WAAW,EAAXA,WAAW;UAAEE,UAAU,EAAVA,UAAU;UAAER,QAAQ,EAARA,QAAQ;UAAEE,WAAW,EAAXA,WAAW;UAAET,OAAO,EAAPA;QAAQ,CAAC;QAC1F,IAAII,WAAW,IAAIA,WAAW,CAACiE,YAAY,KAAK,aAAa,EAAE;UAC7D;UACAD,MAAM,GAAG;YAAErE,UAAU,EAAVA,UAAU;YAAEW,IAAI,EAAJA,IAAI;YAAEH,QAAQ,EAARA,QAAQ;YAAEE,WAAW,EAAXA,WAAW;YAAET,OAAO,EAAPA;UAAQ,CAAC;QAC/D;QACA,IAAMsE,KAAK,GAAGnG,EAAE,GAAGoG,UAAI,CAACC,SAAS,CAACD,UAAI,CAACD,KAAK,CAACpG,IAAI,EAAEC,EAAE,CAAC,CAAC,GAAG,CAAC;QAE3D,IAAIsG,aAAa,GAAG,IAAI;QACxB,IAAIC,WAAW,GAAG,IAAI;QACtB,IAAIC,aAAa,GAAG,IAAI;QAExB,IAAI1E,SAAS,EAAE;UACb,IAAI/B,IAAI,IAAIzB,MAAM,CAACL,SAAS,CAACwI,cAAc,CAACtI,IAAI,CAAC4B,IAAI,EAAE,OAAO,CAAC,EAAE;YAC/DuG,aAAa,gBAAGI,oBAAQ,CAACC,YAAY,cACnClK,MAAA,YAAA4F,aAAA,CAACnF,UAAA,WAAS;cACR0J,QAAQ,EAAE,SAAVA,QAAQA,CAAGvI,CAAC;gBAAA,OAAM0H,MAAI,CAACF,KAAK,CAAC9F,IAAI,GAAG1B,CAAC;cAAA,CAAE;cACvC+D,QAAQ,EAAE,CAACL,gBAAiB;cAC5BpC,IAAI,EAAEI,IAAK;cACX6B,UAAU,EAAEA,UAAW;cACvBlB,QAAQ,EAAE,SAAVA,QAAQA,CAAG2E,KAAK;gBAAA,OAAKU,MAAI,CAACc,WAAW,CAAAhI,aAAA,CAAAA,aAAA,KAAMkB,IAAI;kBAAEsF,KAAK,EAALA;gBAAK,IAAI,MAAM,CAAC;cAAA;YAAC,CACnE,CAAC,EACFvD,SACF,CAAC;UACH;UAEA,IAAI9B,EAAE,IAAI1B,MAAM,CAACL,SAAS,CAACwI,cAAc,CAACtI,IAAI,CAAC6B,EAAE,EAAE,OAAO,CAAC,EAAE;YAC3DuG,WAAW,gBAAGG,oBAAQ,CAACC,YAAY,cACjClK,MAAA,YAAA4F,aAAA,CAACnF,UAAA,WAAS;cACR0J,QAAQ,EAAE,SAAVA,QAAQA,CAAGvI,CAAC;gBAAA,OAAM0H,MAAI,CAACF,KAAK,CAAC7F,EAAE,GAAG3B,CAAC;cAAA,CAAE;cACrC+D,QAAQ,EAAE,CAACL,gBAAiB;cAC5BpC,IAAI,EAAEK,EAAG;cACT4B,UAAU,EAAEA,UAAW;cACvBlB,QAAQ,EAAE,SAAVA,QAAQA,CAAG2E,KAAK;gBAAA,OAAKU,MAAI,CAACc,WAAW,CAAAhI,aAAA,CAAAA,aAAA,KAAMmB,EAAE;kBAAEqF,KAAK,EAALA;gBAAK,IAAI,IAAI,CAAC;cAAA;YAAC,CAC/D,CAAC,EACFvD,SACF,CAAC;UACH;UAEA,IAAIX,MAAM,IAAI7C,MAAM,CAACL,SAAS,CAACwI,cAAc,CAACtI,IAAI,CAACgD,MAAM,EAAE,OAAO,CAAC,EAAE;YACnEqF,aAAa,gBAAGE,oBAAQ,CAACC,YAAY,cACnClK,MAAA,YAAA4F,aAAA,CAACnF,UAAA,WAAS;cACR0J,QAAQ,EAAE,SAAVA,QAAQA,CAAGvI,CAAC;gBAAA,OAAM0H,MAAI,CAACF,KAAK,CAAC1E,MAAM,GAAG9C,CAAC;cAAA,CAAE;cACzC+D,QAAQ,EAAE,CAACL,gBAAiB;cAC5BpC,IAAI,EAAEwB,MAAO;cACbS,UAAU,EAAEA,UAAW;cACvBlB,QAAQ,EAAE,SAAVA,QAAQA,CAAG2E,KAAK;gBAAA,OAAKU,MAAI,CAACc,WAAW,CAAAhI,aAAA,CAAAA,aAAA,KAAMsC,MAAM;kBAAEkE,KAAK,EAALA;gBAAK,IAAI,QAAQ,CAAC;cAAA;YAAC,CACvE,CAAC,EACFvD,SACF,CAAC;UACH;QACF;QACA,IAAIG,WAAW,IAAIA,WAAW,CAACiE,YAAY,KAAK,aAAa,EAAE;UAC7D;UACA,oBACEzJ,MAAA,YAAA4F,aAAA,YACGrC,EAAE,iBAAIvD,MAAA,YAAA4F,aAAA,CAAC6B,aAAa,MAAA4C,SAAA;YAAC/G,IAAI,EAAEA,IAAK;YAACC,EAAE,EAAEA,EAAG;YAACmB,MAAM,EAAEA;UAAO,GAAK8E,MAAM,CAAG,CAAC,EACvEO,aAAa,eAEd/J,MAAA,YAAA4F,aAAA,CAAC+B,SAAS,MAAA0C,SAAA;YACRC,CAAC,EAAEhH,IAAI,CAACgH,CAAE;YACV/F,CAAC,EAAEjB,IAAI,CAACiB,CAAE;YACVc,SAAS,EAAEA,SAAU;YACrBE,kBAAkB,EAAEA;UAAmB,GACnCiE,MAAM,CACX,CAAC,EACDK,aAAa,EAEbtG,EAAE,iBACDvD,MAAA,YAAA4F,aAAA,CAACiC,OAAO,MAAAwC,SAAA;YACNC,CAAC,EAAE/G,EAAE,CAAC+G,CAAE;YACR/F,CAAC,EAAEhB,EAAE,CAACgB,CAAE;YACRmF,KAAK,EAAEA,KAAM,CAAC;YAAA;YACdrE,SAAS,EAAEA,SAAU;YACrBE,kBAAkB,EAAEA;UAAmB,GACnCiE,MAAM,CACX,CACF,EACAM,WACA,CAAC;QAER,CAAC,MAAM;UACL,oBACE9J,MAAA,YAAA4F,aAAA,YACGrC,EAAE,iBACDvD,MAAA,YAAA4F,aAAA,CAAC6B,aAAa,MAAA4C,SAAA;YACZ/G,IAAI,EAAEA,IAAK;YACXC,EAAE,EAAEA,EAAG;YACPmB,MAAM,EAAEA,MAAO;YACf6F,MAAM,EAAE,IAAI,CAACC;UAAS,GAClBhB,MAAM;YACVpE,OAAO,EAAE,SAATA,OAAOA,CAAG8D,IAAI;cAAA,OAAKI,MAAI,CAACmB,UAAU,CAAC/F,MAAM,EAAE,QAAQ,EAAEwE,IAAI,CAAC;YAAA;UAAC,EAC5D,CACF,EACAa,aAAa,eAEd/J,MAAA,YAAA4F,aAAA,CAAC+B,SAAS,MAAA0C,SAAA;YACRC,CAAC,EAAEhH,IAAI,CAACgH,CAAE;YACV/F,CAAC,EAAEjB,IAAI,CAACiB,CAAE;YACVc,SAAS,EAAEA,SAAU;YACrBE,kBAAkB,EAAEA,kBAAmB;YACvCgF,MAAM,EAAE,IAAI,CAACG;UAAS,GAClBlB,MAAM;YACVpE,OAAO,EAAE,SAATA,OAAOA,CAAG8D,IAAI;cAAA,OAAKI,MAAI,CAACmB,UAAU,CAACnH,IAAI,EAAE,MAAM,EAAE4F,IAAI,CAAC;YAAA;UAAC,EACxD,CAAC,EACDW,aAAa,EAEbtG,EAAE,iBACDvD,MAAA,YAAA4F,aAAA,CAACiC,OAAO,MAAAwC,SAAA;YACNC,CAAC,EAAE/G,EAAE,CAAC+G,CAAE;YACR/F,CAAC,EAAEhB,EAAE,CAACgB,CAAE;YACRmF,KAAK,EAAEA,KAAM,CAAC;YAAA;YACdrE,SAAS,EAAEA,SAAU;YACrBE,kBAAkB,EAAEA,kBAAmB;YACvCgF,MAAM,EAAE,IAAI,CAACI;UAAO,GAChBnB,MAAM;YACVpE,OAAO,EAAE,SAATA,OAAOA,CAAG8D,IAAI;cAAA,OAAKI,MAAI,CAACmB,UAAU,CAAClH,EAAE,EAAE,IAAI,EAAE2F,IAAI,CAAC;YAAA;UAAC,EACpD,CACF,EACAY,WACA,CAAC;QAER;MACF;IAAC;EAAA,EA9PoBzD,iBAAK,CAACtD,SAAS;EAAA,IAAAP,gBAAA,aAAhCsF,QAAQ,eACO;IACjBvC,kBAAkB,EAAEqF,qBAAS,CAACC,IAAI;IAClC1F,UAAU,EAAEmB,WAAK,CAACE,cAAc;IAChClD,IAAI,EAAEgD,WAAK,CAACwE,SAAS;IACrBvH,EAAE,EAAE+C,WAAK,CAACwE,SAAS;IACnBpG,MAAM,EAAE4B,WAAK,CAACwE,SAAS;IACvB7G,QAAQ,EAAE2G,qBAAS,CAACG,IAAI;IACxB9E,WAAW,EAAE2E,qBAAS,CAACG,IAAI;IAC3B5E,UAAU,EAAEyE,qBAAS,CAACG,IAAI;IAC1B3F,OAAO,EAAEwF,qBAAS,CAACG,IAAI;IACvBlF,WAAW,EAAE+E,qBAAS,CAACI,MAAM;IAC7BlF,IAAI,EAAE8E,qBAAS,CAACI,MAAM;IACtBxF,WAAW,EAAEoF,qBAAS,CAACK,MAAM;IAC7BtF,QAAQ,EAAEiF,qBAAS,CAACC,IAAI;IACxBxF,SAAS,EAAEuF,qBAAS,CAACK,MAAM;IAC3B3F,gBAAgB,EAAEsF,qBAAS,CAACC,IAAI;IAChC7E,eAAe,EAAE4E,qBAAS,CAACG;EAC7B,CAAC;EA+OH,OAAOjD,QAAQ;AACjB,CAAC;AAEM,IAAMoD,MAAM,GAAArI,OAAA,CAAAqI,MAAA,GAAG;EACpBC,IAAI,EAAE,SAANA,IAAIA,CAAA;IAAA,OAAS;MACXrF,IAAI,EAAE,aAAa;MACnBsF,MAAM,EAAEC,eAAK,CAACC,QAAQ,CAACC,KAAK;MAC5BC,WAAW,EAAE,CAAC;MACdC,UAAU,EAAE,kDAAkD;MAC9D,SAAS,EAAE;QACTD,WAAW,EAAE,CAAC;QACdJ,MAAM,EAAEC,eAAK,CAACC,QAAQ,CAACC;MACzB;IACF,CAAC;EAAA,CAAC;EACFG,UAAU,EAAE,SAAZA,UAAUA,CAAA;IAAA,OAAS;MACjB5F,IAAI,EAAE,aAAa;MACnBsF,MAAM,EAAEC,eAAK,CAACC,QAAQ,CAACC,KAAK;MAC5BC,WAAW,EAAE,CAAC;MACdC,UAAU,EAAE,kDAAkD;MAC9D,SAAS,EAAE;QACTD,WAAW,EAAE,CAAC;QACdJ,MAAM,EAAEC,eAAK,CAACC,QAAQ,CAACC;MACzB,CAAC;MACDI,eAAe,EAAE;IACnB,CAAC;EAAA,CAAC;EACFC,KAAK,EAAE,SAAPA,KAAKA,CAAA;IAAA,OAAS;MACZ9F,IAAI,EAAEuF,eAAK,CAACC,QAAQ,CAACO;IACvB,CAAC;EAAA,CAAC;EACFC,aAAa,EAAE,SAAfA,aAAaA,CAAA;IAAA,OAAA1J,aAAA,KACR,IAAAuD,gBAAQ,EAAC,CAAC;EAAA,CACb;EACFA,QAAQ,EAAE,SAAVA,QAAQA,CAAA;IAAA,OAAAvD,aAAA,CAAAA,aAAA,KACH,IAAAuD,gBAAQ,EAAC,QAAQ,CAAC;MACrB6F,WAAW,EAAE;IAAC;EAAA,CACd;EACFO,OAAO,EAAE,SAATA,OAAOA,CAAGC,KAAK,EAAEjH,GAAG;IAAA,OAAA3C,aAAA,KACf,IAAA2J,eAAO,EAAChH,GAAG,CAAC;EAAA,CACf;EACFkH,SAAS,EAAE,SAAXA,SAASA,CAAGD,KAAK,EAAEjH,GAAG;IAAA,OAAA3C,aAAA,KACjB,IAAA6J,iBAAS,EAAClH,GAAG,CAAC;EAAA,CACjB;EACFmH,OAAO,EAAE,SAATA,OAAOA,CAAGF,KAAK,EAAEjH,GAAG;IAAA,OAAA3C,aAAA,KACf,IAAA8J,eAAO,EAACnH,GAAG,CAAC;EAAA;AAEnB,CAAC","ignoreList":[]}