@new-black/lyra 1.0.21 → 1.0.22

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 (941) hide show
  1. package/dist/components/table/table-pagination.d.ts.map +1 -1
  2. package/dist/components/table/table.d.ts.map +1 -1
  3. package/dist/components/table/table.types.d.ts +2 -1
  4. package/dist/components/table/table.types.d.ts.map +1 -1
  5. package/dist/lyra183.cjs +1 -1
  6. package/dist/lyra183.js +34 -34
  7. package/dist/lyra221.cjs +1 -1
  8. package/dist/lyra221.js +2 -2
  9. package/dist/lyra222.cjs +1 -1
  10. package/dist/lyra222.js +1 -1
  11. package/dist/lyra223.cjs +1 -1
  12. package/dist/lyra223.js +2 -2
  13. package/dist/lyra226.cjs +1 -1
  14. package/dist/lyra226.js +35 -35
  15. package/dist/lyra23.cjs +1 -1
  16. package/dist/lyra23.js +1 -1
  17. package/dist/lyra25.cjs +1 -1
  18. package/dist/lyra25.js +1 -1
  19. package/dist/lyra27.cjs +1 -1
  20. package/dist/lyra27.js +2 -2
  21. package/dist/lyra34.cjs +1 -1
  22. package/dist/lyra34.js +3 -3
  23. package/dist/lyra36.cjs +1 -1
  24. package/dist/lyra36.js +5 -5
  25. package/dist/lyra37.cjs +1 -1
  26. package/dist/lyra37.js +6 -6
  27. package/dist/lyra43.cjs +1 -1
  28. package/dist/lyra43.js +3 -3
  29. package/dist/lyra453.cjs +1 -1
  30. package/dist/lyra453.cjs.map +1 -1
  31. package/dist/lyra453.js +90 -14
  32. package/dist/lyra453.js.map +1 -1
  33. package/dist/lyra454.cjs +1 -1
  34. package/dist/lyra454.cjs.map +1 -1
  35. package/dist/lyra454.js +44 -12
  36. package/dist/lyra454.js.map +1 -1
  37. package/dist/lyra455.cjs +1 -1
  38. package/dist/lyra455.cjs.map +1 -1
  39. package/dist/lyra455.js +14 -90
  40. package/dist/lyra455.js.map +1 -1
  41. package/dist/lyra456.cjs +1 -1
  42. package/dist/lyra456.cjs.map +1 -1
  43. package/dist/lyra456.js +12 -44
  44. package/dist/lyra456.js.map +1 -1
  45. package/dist/lyra457.cjs +1 -1
  46. package/dist/lyra457.cjs.map +1 -1
  47. package/dist/lyra457.js +10 -27
  48. package/dist/lyra457.js.map +1 -1
  49. package/dist/lyra458.cjs +1 -1
  50. package/dist/lyra458.cjs.map +1 -1
  51. package/dist/lyra458.js +30 -51
  52. package/dist/lyra458.js.map +1 -1
  53. package/dist/lyra459.cjs +1 -1
  54. package/dist/lyra459.cjs.map +1 -1
  55. package/dist/lyra459.js +49 -50
  56. package/dist/lyra459.js.map +1 -1
  57. package/dist/lyra460.cjs +1 -1
  58. package/dist/lyra460.cjs.map +1 -1
  59. package/dist/lyra460.js +53 -7
  60. package/dist/lyra460.js.map +1 -1
  61. package/dist/lyra461.cjs +1 -1
  62. package/dist/lyra461.cjs.map +1 -1
  63. package/dist/lyra461.js +6 -61
  64. package/dist/lyra461.js.map +1 -1
  65. package/dist/lyra462.cjs +1 -1
  66. package/dist/lyra462.cjs.map +1 -1
  67. package/dist/lyra462.js +61 -36
  68. package/dist/lyra462.js.map +1 -1
  69. package/dist/lyra463.cjs +1 -5
  70. package/dist/lyra463.cjs.map +1 -1
  71. package/dist/lyra463.js +35 -2556
  72. package/dist/lyra463.js.map +1 -1
  73. package/dist/lyra464.cjs +5 -1
  74. package/dist/lyra464.cjs.map +1 -1
  75. package/dist/lyra464.js +2556 -52
  76. package/dist/lyra464.js.map +1 -1
  77. package/dist/lyra465.cjs +1 -1
  78. package/dist/lyra465.cjs.map +1 -1
  79. package/dist/lyra465.js +53 -13
  80. package/dist/lyra465.js.map +1 -1
  81. package/dist/lyra469.cjs +1 -10
  82. package/dist/lyra469.cjs.map +1 -1
  83. package/dist/lyra469.js +5 -96
  84. package/dist/lyra469.js.map +1 -1
  85. package/dist/lyra470.cjs +1 -1
  86. package/dist/lyra470.cjs.map +1 -1
  87. package/dist/lyra470.js +4 -304
  88. package/dist/lyra470.js.map +1 -1
  89. package/dist/lyra471.cjs +1 -1
  90. package/dist/lyra471.cjs.map +1 -1
  91. package/dist/lyra471.js +5 -56
  92. package/dist/lyra471.js.map +1 -1
  93. package/dist/lyra472.cjs +1 -13
  94. package/dist/lyra472.cjs.map +1 -1
  95. package/dist/lyra472.js +4 -1679
  96. package/dist/lyra472.js.map +1 -1
  97. package/dist/lyra473.cjs +1 -1
  98. package/dist/lyra473.cjs.map +1 -1
  99. package/dist/lyra473.js +5 -9
  100. package/dist/lyra473.js.map +1 -1
  101. package/dist/lyra474.cjs +1 -1
  102. package/dist/lyra474.cjs.map +1 -1
  103. package/dist/lyra474.js +1 -3
  104. package/dist/lyra474.js.map +1 -1
  105. package/dist/lyra475.cjs +1 -1
  106. package/dist/lyra475.cjs.map +1 -1
  107. package/dist/lyra475.js +4 -6
  108. package/dist/lyra475.js.map +1 -1
  109. package/dist/lyra476.cjs +1 -1
  110. package/dist/lyra476.cjs.map +1 -1
  111. package/dist/lyra476.js +4 -6
  112. package/dist/lyra476.js.map +1 -1
  113. package/dist/lyra477.cjs +1 -1
  114. package/dist/lyra477.cjs.map +1 -1
  115. package/dist/lyra477.js +4 -6
  116. package/dist/lyra477.js.map +1 -1
  117. package/dist/lyra478.cjs +1 -1
  118. package/dist/lyra478.cjs.map +1 -1
  119. package/dist/lyra478.js +1 -3
  120. package/dist/lyra478.js.map +1 -1
  121. package/dist/lyra479.cjs +1 -1
  122. package/dist/lyra479.cjs.map +1 -1
  123. package/dist/lyra479.js +4 -6
  124. package/dist/lyra479.js.map +1 -1
  125. package/dist/lyra480.cjs +1 -1
  126. package/dist/lyra480.cjs.map +1 -1
  127. package/dist/lyra480.js +4 -6
  128. package/dist/lyra480.js.map +1 -1
  129. package/dist/lyra481.cjs +1 -1
  130. package/dist/lyra481.cjs.map +1 -1
  131. package/dist/lyra481.js +4 -6
  132. package/dist/lyra481.js.map +1 -1
  133. package/dist/lyra482.cjs +1 -1
  134. package/dist/lyra482.cjs.map +1 -1
  135. package/dist/lyra482.js +1 -3
  136. package/dist/lyra482.js.map +1 -1
  137. package/dist/lyra483.cjs +1 -1
  138. package/dist/lyra483.cjs.map +1 -1
  139. package/dist/lyra483.js +1 -3
  140. package/dist/lyra483.js.map +1 -1
  141. package/dist/lyra484.cjs +1 -1
  142. package/dist/lyra484.cjs.map +1 -1
  143. package/dist/lyra484.js +1 -3
  144. package/dist/lyra484.js.map +1 -1
  145. package/dist/lyra485.cjs +1 -1
  146. package/dist/lyra485.cjs.map +1 -1
  147. package/dist/lyra485.js +1 -3
  148. package/dist/lyra485.js.map +1 -1
  149. package/dist/lyra486.cjs +1 -1
  150. package/dist/lyra486.cjs.map +1 -1
  151. package/dist/lyra486.js +4 -6
  152. package/dist/lyra486.js.map +1 -1
  153. package/dist/lyra487.cjs +1 -1
  154. package/dist/lyra487.cjs.map +1 -1
  155. package/dist/lyra487.js +4 -6
  156. package/dist/lyra487.js.map +1 -1
  157. package/dist/lyra488.cjs +1 -1
  158. package/dist/lyra488.cjs.map +1 -1
  159. package/dist/lyra488.js +4 -6
  160. package/dist/lyra488.js.map +1 -1
  161. package/dist/lyra489.cjs +1 -1
  162. package/dist/lyra489.cjs.map +1 -1
  163. package/dist/lyra489.js +4 -6
  164. package/dist/lyra489.js.map +1 -1
  165. package/dist/lyra49.cjs +1 -1
  166. package/dist/lyra49.js +1 -1
  167. package/dist/lyra490.cjs +1 -1
  168. package/dist/lyra490.cjs.map +1 -1
  169. package/dist/lyra490.js +1 -3
  170. package/dist/lyra490.js.map +1 -1
  171. package/dist/lyra491.cjs +1 -1
  172. package/dist/lyra491.cjs.map +1 -1
  173. package/dist/lyra491.js +4 -6
  174. package/dist/lyra491.js.map +1 -1
  175. package/dist/lyra492.cjs +1 -1
  176. package/dist/lyra492.cjs.map +1 -1
  177. package/dist/lyra492.js +4 -6
  178. package/dist/lyra492.js.map +1 -1
  179. package/dist/lyra493.cjs +1 -1
  180. package/dist/lyra493.cjs.map +1 -1
  181. package/dist/lyra493.js +1 -3
  182. package/dist/lyra493.js.map +1 -1
  183. package/dist/lyra494.cjs +1 -1
  184. package/dist/lyra494.cjs.map +1 -1
  185. package/dist/lyra494.js +4 -6
  186. package/dist/lyra494.js.map +1 -1
  187. package/dist/lyra495.cjs +1 -1
  188. package/dist/lyra495.cjs.map +1 -1
  189. package/dist/lyra495.js +1 -3
  190. package/dist/lyra495.js.map +1 -1
  191. package/dist/lyra496.cjs +1 -1
  192. package/dist/lyra496.cjs.map +1 -1
  193. package/dist/lyra496.js +1 -3
  194. package/dist/lyra496.js.map +1 -1
  195. package/dist/lyra497.cjs +1 -1
  196. package/dist/lyra497.cjs.map +1 -1
  197. package/dist/lyra497.js +4 -6
  198. package/dist/lyra497.js.map +1 -1
  199. package/dist/lyra498.cjs +1 -1
  200. package/dist/lyra498.cjs.map +1 -1
  201. package/dist/lyra498.js +1 -3
  202. package/dist/lyra498.js.map +1 -1
  203. package/dist/lyra499.cjs +1 -1
  204. package/dist/lyra499.cjs.map +1 -1
  205. package/dist/lyra499.js +4 -6
  206. package/dist/lyra499.js.map +1 -1
  207. package/dist/lyra50.cjs +1 -1
  208. package/dist/lyra50.js +2 -2
  209. package/dist/lyra500.cjs +1 -1
  210. package/dist/lyra500.cjs.map +1 -1
  211. package/dist/lyra500.js +4 -6
  212. package/dist/lyra500.js.map +1 -1
  213. package/dist/lyra501.cjs +1 -1
  214. package/dist/lyra501.cjs.map +1 -1
  215. package/dist/lyra501.js +1 -3
  216. package/dist/lyra501.js.map +1 -1
  217. package/dist/lyra502.cjs +1 -1
  218. package/dist/lyra502.cjs.map +1 -1
  219. package/dist/lyra502.js +4 -6
  220. package/dist/lyra502.js.map +1 -1
  221. package/dist/lyra503.cjs +10 -1
  222. package/dist/lyra503.cjs.map +1 -1
  223. package/dist/lyra503.js +96 -7
  224. package/dist/lyra503.js.map +1 -1
  225. package/dist/lyra504.cjs +1 -1
  226. package/dist/lyra504.cjs.map +1 -1
  227. package/dist/lyra504.js +305 -6
  228. package/dist/lyra504.js.map +1 -1
  229. package/dist/lyra505.cjs +1 -1
  230. package/dist/lyra505.cjs.map +1 -1
  231. package/dist/lyra505.js +56 -7
  232. package/dist/lyra505.js.map +1 -1
  233. package/dist/lyra506.cjs +13 -1
  234. package/dist/lyra506.cjs.map +1 -1
  235. package/dist/lyra506.js +1679 -6
  236. package/dist/lyra506.js.map +1 -1
  237. package/dist/lyra507.cjs +1 -1
  238. package/dist/lyra507.cjs.map +1 -1
  239. package/dist/lyra507.js +9 -7
  240. package/dist/lyra507.js.map +1 -1
  241. package/dist/lyra508.cjs +1 -1
  242. package/dist/lyra508.cjs.map +1 -1
  243. package/dist/lyra508.js +7 -6
  244. package/dist/lyra508.js.map +1 -1
  245. package/dist/lyra509.cjs +1 -1
  246. package/dist/lyra509.cjs.map +1 -1
  247. package/dist/lyra509.js +7 -78
  248. package/dist/lyra509.js.map +1 -1
  249. package/dist/lyra51.cjs +1 -1
  250. package/dist/lyra51.js +2 -2
  251. package/dist/lyra510.cjs +1 -1
  252. package/dist/lyra510.cjs.map +1 -1
  253. package/dist/lyra510.js +6 -257
  254. package/dist/lyra510.js.map +1 -1
  255. package/dist/lyra511.cjs +1 -1
  256. package/dist/lyra511.cjs.map +1 -1
  257. package/dist/lyra511.js +7 -27
  258. package/dist/lyra511.js.map +1 -1
  259. package/dist/lyra512.cjs +1 -1
  260. package/dist/lyra512.cjs.map +1 -1
  261. package/dist/lyra512.js +7 -30
  262. package/dist/lyra512.js.map +1 -1
  263. package/dist/lyra513.cjs +1 -1
  264. package/dist/lyra513.cjs.map +1 -1
  265. package/dist/lyra513.js +7 -36
  266. package/dist/lyra513.js.map +1 -1
  267. package/dist/lyra514.cjs +1 -1
  268. package/dist/lyra514.cjs.map +1 -1
  269. package/dist/lyra514.js +7 -357
  270. package/dist/lyra514.js.map +1 -1
  271. package/dist/lyra515.cjs +1 -1
  272. package/dist/lyra515.cjs.map +1 -1
  273. package/dist/lyra515.js +7 -39
  274. package/dist/lyra515.js.map +1 -1
  275. package/dist/lyra516.cjs +1 -1
  276. package/dist/lyra516.cjs.map +1 -1
  277. package/dist/lyra516.js +7 -135
  278. package/dist/lyra516.js.map +1 -1
  279. package/dist/lyra517.cjs +1 -1
  280. package/dist/lyra517.cjs.map +1 -1
  281. package/dist/lyra517.js +6 -1150
  282. package/dist/lyra517.js.map +1 -1
  283. package/dist/lyra518.cjs +1 -1
  284. package/dist/lyra518.cjs.map +1 -1
  285. package/dist/lyra518.js +7 -82
  286. package/dist/lyra518.js.map +1 -1
  287. package/dist/lyra519.cjs +1 -1
  288. package/dist/lyra519.cjs.map +1 -1
  289. package/dist/lyra519.js +7 -106
  290. package/dist/lyra519.js.map +1 -1
  291. package/dist/lyra520.cjs +1 -1
  292. package/dist/lyra520.cjs.map +1 -1
  293. package/dist/lyra520.js +7 -13
  294. package/dist/lyra520.js.map +1 -1
  295. package/dist/lyra521.cjs +1 -1
  296. package/dist/lyra521.cjs.map +1 -1
  297. package/dist/lyra521.js +7 -29
  298. package/dist/lyra521.js.map +1 -1
  299. package/dist/lyra522.cjs +1 -1
  300. package/dist/lyra522.cjs.map +1 -1
  301. package/dist/lyra522.js +3 -1
  302. package/dist/lyra522.js.map +1 -1
  303. package/dist/lyra523.cjs +1 -1
  304. package/dist/lyra523.cjs.map +1 -1
  305. package/dist/lyra523.js +3 -1
  306. package/dist/lyra523.js.map +1 -1
  307. package/dist/lyra524.cjs +1 -1
  308. package/dist/lyra524.cjs.map +1 -1
  309. package/dist/lyra524.js +3 -1
  310. package/dist/lyra524.js.map +1 -1
  311. package/dist/lyra525.cjs +1 -1
  312. package/dist/lyra525.cjs.map +1 -1
  313. package/dist/lyra525.js +6 -4
  314. package/dist/lyra525.js.map +1 -1
  315. package/dist/lyra526.cjs +1 -1
  316. package/dist/lyra526.cjs.map +1 -1
  317. package/dist/lyra526.js +3 -1
  318. package/dist/lyra526.js.map +1 -1
  319. package/dist/lyra527.cjs +1 -1
  320. package/dist/lyra527.cjs.map +1 -1
  321. package/dist/lyra527.js +6 -4
  322. package/dist/lyra527.js.map +1 -1
  323. package/dist/lyra528.cjs +1 -1
  324. package/dist/lyra528.cjs.map +1 -1
  325. package/dist/lyra528.js +3 -1
  326. package/dist/lyra528.js.map +1 -1
  327. package/dist/lyra529.cjs +1 -1
  328. package/dist/lyra529.cjs.map +1 -1
  329. package/dist/lyra529.js +6 -4
  330. package/dist/lyra529.js.map +1 -1
  331. package/dist/lyra530.cjs +1 -1
  332. package/dist/lyra530.cjs.map +1 -1
  333. package/dist/lyra530.js +6 -4
  334. package/dist/lyra530.js.map +1 -1
  335. package/dist/lyra531.cjs +1 -1
  336. package/dist/lyra531.cjs.map +1 -1
  337. package/dist/lyra531.js +3 -1
  338. package/dist/lyra531.js.map +1 -1
  339. package/dist/lyra532.cjs +1 -1
  340. package/dist/lyra532.cjs.map +1 -1
  341. package/dist/lyra532.js +6 -4
  342. package/dist/lyra532.js.map +1 -1
  343. package/dist/lyra533.cjs +1 -1
  344. package/dist/lyra533.cjs.map +1 -1
  345. package/dist/lyra533.js +6 -4
  346. package/dist/lyra533.js.map +1 -1
  347. package/dist/lyra534.cjs +1 -1
  348. package/dist/lyra534.cjs.map +1 -1
  349. package/dist/lyra534.js +6 -4
  350. package/dist/lyra534.js.map +1 -1
  351. package/dist/lyra535.cjs +1 -1
  352. package/dist/lyra535.cjs.map +1 -1
  353. package/dist/lyra535.js +3 -1
  354. package/dist/lyra535.js.map +1 -1
  355. package/dist/lyra536.cjs +1 -1
  356. package/dist/lyra536.cjs.map +1 -1
  357. package/dist/lyra536.js +3 -1
  358. package/dist/lyra536.js.map +1 -1
  359. package/dist/lyra537.cjs +1 -1
  360. package/dist/lyra537.cjs.map +1 -1
  361. package/dist/lyra537.js +3 -1
  362. package/dist/lyra537.js.map +1 -1
  363. package/dist/lyra538.cjs +1 -1
  364. package/dist/lyra538.cjs.map +1 -1
  365. package/dist/lyra538.js +6 -4
  366. package/dist/lyra538.js.map +1 -1
  367. package/dist/lyra539.cjs +1 -1
  368. package/dist/lyra539.cjs.map +1 -1
  369. package/dist/lyra539.js +6 -4
  370. package/dist/lyra539.js.map +1 -1
  371. package/dist/lyra540.cjs +1 -1
  372. package/dist/lyra540.cjs.map +1 -1
  373. package/dist/lyra540.js +6 -4
  374. package/dist/lyra540.js.map +1 -1
  375. package/dist/lyra541.cjs +1 -1
  376. package/dist/lyra541.cjs.map +1 -1
  377. package/dist/lyra541.js +6 -4
  378. package/dist/lyra541.js.map +1 -1
  379. package/dist/lyra542.cjs +1 -1
  380. package/dist/lyra542.cjs.map +1 -1
  381. package/dist/lyra542.js +6 -5
  382. package/dist/lyra542.js.map +1 -1
  383. package/dist/lyra543.cjs +1 -1
  384. package/dist/lyra543.cjs.map +1 -1
  385. package/dist/lyra543.js +78 -5
  386. package/dist/lyra543.js.map +1 -1
  387. package/dist/lyra544.cjs +1 -1
  388. package/dist/lyra544.cjs.map +1 -1
  389. package/dist/lyra544.js +257 -4
  390. package/dist/lyra544.js.map +1 -1
  391. package/dist/lyra545.cjs +1 -1
  392. package/dist/lyra545.cjs.map +1 -1
  393. package/dist/lyra545.js +27 -5
  394. package/dist/lyra545.js.map +1 -1
  395. package/dist/lyra546.cjs +1 -1
  396. package/dist/lyra546.cjs.map +1 -1
  397. package/dist/lyra546.js +30 -5
  398. package/dist/lyra546.js.map +1 -1
  399. package/dist/lyra547.cjs +1 -1
  400. package/dist/lyra547.cjs.map +1 -1
  401. package/dist/lyra547.js +36 -5
  402. package/dist/lyra547.js.map +1 -1
  403. package/dist/lyra548.cjs +1 -1
  404. package/dist/lyra548.cjs.map +1 -1
  405. package/dist/lyra548.js +357 -5
  406. package/dist/lyra548.js.map +1 -1
  407. package/dist/lyra549.cjs +1 -1
  408. package/dist/lyra549.cjs.map +1 -1
  409. package/dist/lyra549.js +39 -5
  410. package/dist/lyra549.js.map +1 -1
  411. package/dist/lyra550.cjs +1 -1
  412. package/dist/lyra550.cjs.map +1 -1
  413. package/dist/lyra550.js +135 -5
  414. package/dist/lyra550.js.map +1 -1
  415. package/dist/lyra551.cjs +1 -1
  416. package/dist/lyra551.cjs.map +1 -1
  417. package/dist/lyra551.js +1150 -4
  418. package/dist/lyra551.js.map +1 -1
  419. package/dist/lyra552.cjs +1 -1
  420. package/dist/lyra552.cjs.map +1 -1
  421. package/dist/lyra552.js +82 -5
  422. package/dist/lyra552.js.map +1 -1
  423. package/dist/lyra553.cjs +1 -1
  424. package/dist/lyra553.cjs.map +1 -1
  425. package/dist/lyra553.js +106 -5
  426. package/dist/lyra553.js.map +1 -1
  427. package/dist/lyra554.cjs +1 -1
  428. package/dist/lyra554.cjs.map +1 -1
  429. package/dist/lyra554.js +13 -5
  430. package/dist/lyra554.js.map +1 -1
  431. package/dist/lyra555.cjs +1 -1
  432. package/dist/lyra555.cjs.map +1 -1
  433. package/dist/lyra555.js +29 -5
  434. package/dist/lyra555.js.map +1 -1
  435. package/dist/lyra557.cjs +1 -1
  436. package/dist/lyra557.cjs.map +1 -1
  437. package/dist/lyra557.js +5 -14
  438. package/dist/lyra557.js.map +1 -1
  439. package/dist/lyra558.cjs +1 -1
  440. package/dist/lyra558.cjs.map +1 -1
  441. package/dist/lyra558.js +7 -14
  442. package/dist/lyra558.js.map +1 -1
  443. package/dist/lyra559.cjs +1 -1
  444. package/dist/lyra559.cjs.map +1 -1
  445. package/dist/lyra559.js +6 -14
  446. package/dist/lyra559.js.map +1 -1
  447. package/dist/lyra560.cjs +1 -1
  448. package/dist/lyra560.cjs.map +1 -1
  449. package/dist/lyra560.js +11 -14
  450. package/dist/lyra560.js.map +1 -1
  451. package/dist/lyra561.cjs +1 -1
  452. package/dist/lyra561.cjs.map +1 -1
  453. package/dist/lyra561.js +12 -12
  454. package/dist/lyra561.js.map +1 -1
  455. package/dist/lyra562.cjs +1 -1
  456. package/dist/lyra562.cjs.map +1 -1
  457. package/dist/lyra562.js +12 -12
  458. package/dist/lyra562.js.map +1 -1
  459. package/dist/lyra563.cjs +1 -1
  460. package/dist/lyra563.cjs.map +1 -1
  461. package/dist/lyra563.js +12 -12
  462. package/dist/lyra563.js.map +1 -1
  463. package/dist/lyra564.cjs +1 -1
  464. package/dist/lyra564.cjs.map +1 -1
  465. package/dist/lyra564.js +9 -9
  466. package/dist/lyra564.js.map +1 -1
  467. package/dist/lyra565.cjs +1 -1
  468. package/dist/lyra565.cjs.map +1 -1
  469. package/dist/lyra565.js +8 -8
  470. package/dist/lyra565.js.map +1 -1
  471. package/dist/lyra566.cjs +1 -1
  472. package/dist/lyra566.cjs.map +1 -1
  473. package/dist/lyra566.js +12 -12
  474. package/dist/lyra566.js.map +1 -1
  475. package/dist/lyra567.cjs +1 -1
  476. package/dist/lyra567.cjs.map +1 -1
  477. package/dist/lyra567.js +9 -9
  478. package/dist/lyra567.js.map +1 -1
  479. package/dist/lyra568.cjs +1 -1
  480. package/dist/lyra568.cjs.map +1 -1
  481. package/dist/lyra568.js +12 -12
  482. package/dist/lyra568.js.map +1 -1
  483. package/dist/lyra569.cjs +1 -1
  484. package/dist/lyra569.cjs.map +1 -1
  485. package/dist/lyra569.js +9 -9
  486. package/dist/lyra569.js.map +1 -1
  487. package/dist/lyra570.cjs +1 -1
  488. package/dist/lyra570.cjs.map +1 -1
  489. package/dist/lyra570.js +12 -12
  490. package/dist/lyra570.js.map +1 -1
  491. package/dist/lyra571.cjs +1 -1
  492. package/dist/lyra571.cjs.map +1 -1
  493. package/dist/lyra571.js +12 -12
  494. package/dist/lyra571.js.map +1 -1
  495. package/dist/lyra572.cjs +1 -1
  496. package/dist/lyra572.cjs.map +1 -1
  497. package/dist/lyra572.js +13 -13
  498. package/dist/lyra572.js.map +1 -1
  499. package/dist/lyra573.cjs +1 -1
  500. package/dist/lyra573.cjs.map +1 -1
  501. package/dist/lyra573.js +12 -12
  502. package/dist/lyra573.js.map +1 -1
  503. package/dist/lyra574.cjs +1 -1
  504. package/dist/lyra574.cjs.map +1 -1
  505. package/dist/lyra574.js +12 -12
  506. package/dist/lyra574.js.map +1 -1
  507. package/dist/lyra575.cjs +1 -1
  508. package/dist/lyra575.cjs.map +1 -1
  509. package/dist/lyra575.js +12 -12
  510. package/dist/lyra575.js.map +1 -1
  511. package/dist/lyra576.cjs +1 -1
  512. package/dist/lyra576.cjs.map +1 -1
  513. package/dist/lyra576.js +13 -13
  514. package/dist/lyra576.js.map +1 -1
  515. package/dist/lyra577.cjs +1 -1
  516. package/dist/lyra577.cjs.map +1 -1
  517. package/dist/lyra577.js +12 -12
  518. package/dist/lyra577.js.map +1 -1
  519. package/dist/lyra578.cjs +1 -1
  520. package/dist/lyra578.cjs.map +1 -1
  521. package/dist/lyra578.js +12 -12
  522. package/dist/lyra578.js.map +1 -1
  523. package/dist/lyra579.cjs +1 -1
  524. package/dist/lyra579.cjs.map +1 -1
  525. package/dist/lyra579.js +12 -12
  526. package/dist/lyra579.js.map +1 -1
  527. package/dist/lyra580.cjs +1 -1
  528. package/dist/lyra580.cjs.map +1 -1
  529. package/dist/lyra580.js +12 -12
  530. package/dist/lyra580.js.map +1 -1
  531. package/dist/lyra581.cjs +1 -1
  532. package/dist/lyra581.cjs.map +1 -1
  533. package/dist/lyra581.js +8 -8
  534. package/dist/lyra581.js.map +1 -1
  535. package/dist/lyra582.cjs +1 -1
  536. package/dist/lyra582.cjs.map +1 -1
  537. package/dist/lyra582.js +12 -12
  538. package/dist/lyra582.js.map +1 -1
  539. package/dist/lyra583.cjs +1 -1
  540. package/dist/lyra583.cjs.map +1 -1
  541. package/dist/lyra583.js +12 -12
  542. package/dist/lyra583.js.map +1 -1
  543. package/dist/lyra584.cjs +1 -1
  544. package/dist/lyra584.cjs.map +1 -1
  545. package/dist/lyra584.js +12 -12
  546. package/dist/lyra584.js.map +1 -1
  547. package/dist/lyra585.cjs +1 -1
  548. package/dist/lyra585.cjs.map +1 -1
  549. package/dist/lyra585.js +12 -12
  550. package/dist/lyra585.js.map +1 -1
  551. package/dist/lyra586.cjs +1 -1
  552. package/dist/lyra586.cjs.map +1 -1
  553. package/dist/lyra586.js +12 -12
  554. package/dist/lyra586.js.map +1 -1
  555. package/dist/lyra587.cjs +1 -1
  556. package/dist/lyra587.cjs.map +1 -1
  557. package/dist/lyra587.js +12 -12
  558. package/dist/lyra587.js.map +1 -1
  559. package/dist/lyra588.cjs +1 -1
  560. package/dist/lyra588.cjs.map +1 -1
  561. package/dist/lyra588.js +12 -12
  562. package/dist/lyra588.js.map +1 -1
  563. package/dist/lyra589.cjs +1 -1
  564. package/dist/lyra589.cjs.map +1 -1
  565. package/dist/lyra589.js +13 -13
  566. package/dist/lyra589.js.map +1 -1
  567. package/dist/lyra59.cjs +1 -1
  568. package/dist/lyra59.js +7 -7
  569. package/dist/lyra590.cjs +1 -1
  570. package/dist/lyra590.cjs.map +1 -1
  571. package/dist/lyra590.js +13 -13
  572. package/dist/lyra590.js.map +1 -1
  573. package/dist/lyra591.cjs +1 -1
  574. package/dist/lyra591.cjs.map +1 -1
  575. package/dist/lyra591.js +14 -144
  576. package/dist/lyra591.js.map +1 -1
  577. package/dist/lyra592.cjs +1 -1
  578. package/dist/lyra592.cjs.map +1 -1
  579. package/dist/lyra592.js +14 -5
  580. package/dist/lyra592.js.map +1 -1
  581. package/dist/lyra593.cjs +1 -1
  582. package/dist/lyra593.cjs.map +1 -1
  583. package/dist/lyra593.js +14 -7
  584. package/dist/lyra593.js.map +1 -1
  585. package/dist/lyra594.cjs +1 -1
  586. package/dist/lyra594.cjs.map +1 -1
  587. package/dist/lyra594.js +14 -6
  588. package/dist/lyra594.js.map +1 -1
  589. package/dist/lyra595.cjs +1 -1
  590. package/dist/lyra595.cjs.map +1 -1
  591. package/dist/lyra595.js +142 -9
  592. package/dist/lyra595.js.map +1 -1
  593. package/dist/lyra60.cjs +1 -1
  594. package/dist/lyra60.js +3 -3
  595. package/dist/lyra606.cjs +1 -1
  596. package/dist/lyra606.cjs.map +1 -1
  597. package/dist/lyra606.js +182 -229
  598. package/dist/lyra606.js.map +1 -1
  599. package/dist/lyra607.cjs +1 -1
  600. package/dist/lyra607.cjs.map +1 -1
  601. package/dist/lyra607.js +77 -14
  602. package/dist/lyra607.js.map +1 -1
  603. package/dist/lyra608.cjs +1 -1
  604. package/dist/lyra608.cjs.map +1 -1
  605. package/dist/lyra608.js +41 -479
  606. package/dist/lyra608.js.map +1 -1
  607. package/dist/lyra609.cjs +1 -1
  608. package/dist/lyra609.cjs.map +1 -1
  609. package/dist/lyra609.js +15 -65
  610. package/dist/lyra609.js.map +1 -1
  611. package/dist/lyra61.cjs +1 -1
  612. package/dist/lyra61.js +9 -9
  613. package/dist/lyra610.cjs +1 -1
  614. package/dist/lyra610.cjs.map +1 -1
  615. package/dist/lyra610.js +3 -13
  616. package/dist/lyra610.js.map +1 -1
  617. package/dist/lyra611.cjs +1 -1
  618. package/dist/lyra611.cjs.map +1 -1
  619. package/dist/lyra611.js +14 -2
  620. package/dist/lyra611.js.map +1 -1
  621. package/dist/lyra612.cjs +1 -9
  622. package/dist/lyra612.cjs.map +1 -1
  623. package/dist/lyra612.js +31 -46
  624. package/dist/lyra612.js.map +1 -1
  625. package/dist/lyra613.cjs +1 -9
  626. package/dist/lyra613.cjs.map +1 -1
  627. package/dist/lyra613.js +7 -83
  628. package/dist/lyra613.js.map +1 -1
  629. package/dist/lyra614.cjs +1 -1
  630. package/dist/lyra614.cjs.map +1 -1
  631. package/dist/lyra614.js +227 -133
  632. package/dist/lyra614.js.map +1 -1
  633. package/dist/lyra615.cjs +1 -1
  634. package/dist/lyra615.cjs.map +1 -1
  635. package/dist/lyra615.js +14 -50
  636. package/dist/lyra615.js.map +1 -1
  637. package/dist/lyra616.cjs +1 -1
  638. package/dist/lyra616.cjs.map +1 -1
  639. package/dist/lyra616.js +477 -181
  640. package/dist/lyra616.js.map +1 -1
  641. package/dist/lyra617.cjs +1 -1
  642. package/dist/lyra617.cjs.map +1 -1
  643. package/dist/lyra617.js +65 -78
  644. package/dist/lyra617.js.map +1 -1
  645. package/dist/lyra618.cjs +1 -1
  646. package/dist/lyra618.cjs.map +1 -1
  647. package/dist/lyra618.js +13 -44
  648. package/dist/lyra618.js.map +1 -1
  649. package/dist/lyra619.cjs +1 -1
  650. package/dist/lyra619.cjs.map +1 -1
  651. package/dist/lyra619.js +51 -15
  652. package/dist/lyra619.js.map +1 -1
  653. package/dist/lyra620.cjs +1 -1
  654. package/dist/lyra620.cjs.map +1 -1
  655. package/dist/lyra620.js +2 -3
  656. package/dist/lyra620.js.map +1 -1
  657. package/dist/lyra621.cjs +9 -1
  658. package/dist/lyra621.cjs.map +1 -1
  659. package/dist/lyra621.js +48 -14
  660. package/dist/lyra621.js.map +1 -1
  661. package/dist/lyra622.cjs +9 -1
  662. package/dist/lyra622.cjs.map +1 -1
  663. package/dist/lyra622.js +83 -7
  664. package/dist/lyra622.js.map +1 -1
  665. package/dist/lyra623.cjs +1 -1
  666. package/dist/lyra623.cjs.map +1 -1
  667. package/dist/lyra623.js +136 -30
  668. package/dist/lyra623.js.map +1 -1
  669. package/dist/lyra67.cjs +1 -1
  670. package/dist/lyra67.cjs.map +1 -1
  671. package/dist/lyra67.js +74 -73
  672. package/dist/lyra67.js.map +1 -1
  673. package/dist/lyra681.cjs +1 -1
  674. package/dist/lyra681.js +2 -2
  675. package/dist/lyra686.cjs +1 -1
  676. package/dist/lyra686.js +1 -1
  677. package/dist/lyra689.cjs +1 -1
  678. package/dist/lyra689.js +1 -1
  679. package/dist/lyra691.cjs +1 -1
  680. package/dist/lyra691.js +1 -1
  681. package/dist/lyra719.cjs +1 -1
  682. package/dist/lyra719.js +4 -4
  683. package/dist/lyra729.cjs +1 -1
  684. package/dist/lyra729.js +1 -1
  685. package/dist/lyra730.cjs +1 -1
  686. package/dist/lyra730.js +1 -1
  687. package/dist/lyra731.cjs +1 -1
  688. package/dist/lyra731.js +1 -1
  689. package/dist/lyra75.cjs +1 -1
  690. package/dist/lyra75.js +2 -2
  691. package/dist/lyra761.cjs +1 -1
  692. package/dist/lyra761.js +1 -1
  693. package/dist/lyra786.cjs +1 -1
  694. package/dist/lyra786.js +1 -1
  695. package/dist/lyra787.cjs +1 -1
  696. package/dist/lyra787.js +1 -1
  697. package/dist/lyra788.cjs +1 -1
  698. package/dist/lyra788.js +1 -1
  699. package/dist/lyra789.cjs +1 -1
  700. package/dist/lyra789.js +2 -2
  701. package/dist/lyra790.cjs +1 -1
  702. package/dist/lyra790.js +5 -5
  703. package/dist/lyra791.cjs +1 -1
  704. package/dist/lyra791.js +2 -2
  705. package/dist/lyra792.cjs +1 -1
  706. package/dist/lyra792.js +4 -4
  707. package/dist/lyra793.cjs +1 -1
  708. package/dist/lyra793.js +2 -2
  709. package/dist/lyra795.cjs +1 -1
  710. package/dist/lyra795.cjs.map +1 -1
  711. package/dist/lyra795.js +371 -50
  712. package/dist/lyra795.js.map +1 -1
  713. package/dist/lyra796.cjs +1 -1
  714. package/dist/lyra796.cjs.map +1 -1
  715. package/dist/lyra796.js +54 -8
  716. package/dist/lyra796.js.map +1 -1
  717. package/dist/lyra797.cjs +1 -1
  718. package/dist/lyra797.cjs.map +1 -1
  719. package/dist/lyra797.js +8 -4
  720. package/dist/lyra797.js.map +1 -1
  721. package/dist/lyra798.cjs +1 -1
  722. package/dist/lyra798.cjs.map +1 -1
  723. package/dist/lyra798.js +4 -13
  724. package/dist/lyra798.js.map +1 -1
  725. package/dist/lyra799.cjs +1 -1
  726. package/dist/lyra799.cjs.map +1 -1
  727. package/dist/lyra799.js +13 -4
  728. package/dist/lyra799.js.map +1 -1
  729. package/dist/lyra800.cjs +1 -1
  730. package/dist/lyra800.cjs.map +1 -1
  731. package/dist/lyra800.js +3 -584
  732. package/dist/lyra800.js.map +1 -1
  733. package/dist/lyra801.cjs +1 -1
  734. package/dist/lyra801.cjs.map +1 -1
  735. package/dist/lyra801.js +585 -11
  736. package/dist/lyra801.js.map +1 -1
  737. package/dist/lyra802.cjs +1 -1
  738. package/dist/lyra802.cjs.map +1 -1
  739. package/dist/lyra802.js +11 -2
  740. package/dist/lyra802.js.map +1 -1
  741. package/dist/lyra803.cjs +1 -1
  742. package/dist/lyra803.cjs.map +1 -1
  743. package/dist/lyra803.js +13 -28
  744. package/dist/lyra803.js.map +1 -1
  745. package/dist/lyra804.cjs +1 -1
  746. package/dist/lyra804.cjs.map +1 -1
  747. package/dist/lyra804.js +2 -6
  748. package/dist/lyra804.js.map +1 -1
  749. package/dist/lyra805.cjs +1 -1
  750. package/dist/lyra805.cjs.map +1 -1
  751. package/dist/lyra805.js +29 -4
  752. package/dist/lyra805.js.map +1 -1
  753. package/dist/lyra806.cjs +1 -1
  754. package/dist/lyra806.cjs.map +1 -1
  755. package/dist/lyra806.js +6 -14
  756. package/dist/lyra806.js.map +1 -1
  757. package/dist/lyra807.cjs +1 -1
  758. package/dist/lyra807.cjs.map +1 -1
  759. package/dist/lyra807.js +3 -14
  760. package/dist/lyra807.js.map +1 -1
  761. package/dist/lyra808.cjs +1 -1
  762. package/dist/lyra808.cjs.map +1 -1
  763. package/dist/lyra808.js +14 -22
  764. package/dist/lyra808.js.map +1 -1
  765. package/dist/lyra809.cjs +1 -1
  766. package/dist/lyra809.cjs.map +1 -1
  767. package/dist/lyra809.js +22 -7
  768. package/dist/lyra809.js.map +1 -1
  769. package/dist/lyra810.cjs +1 -1
  770. package/dist/lyra810.cjs.map +1 -1
  771. package/dist/lyra810.js +7 -50
  772. package/dist/lyra810.js.map +1 -1
  773. package/dist/lyra811.cjs +1 -1
  774. package/dist/lyra811.cjs.map +1 -1
  775. package/dist/lyra811.js +46 -370
  776. package/dist/lyra811.js.map +1 -1
  777. package/dist/lyra816.cjs +1 -1
  778. package/dist/lyra816.js +1 -1
  779. package/dist/lyra817.cjs +1 -1
  780. package/dist/lyra817.js +1 -1
  781. package/dist/lyra820.cjs +1 -1
  782. package/dist/lyra820.js +1 -1
  783. package/dist/lyra822.cjs +1 -1
  784. package/dist/lyra822.js +2 -2
  785. package/dist/lyra825.cjs +1 -1
  786. package/dist/lyra825.js +1 -1
  787. package/dist/lyra829.cjs +1 -1
  788. package/dist/lyra829.cjs.map +1 -1
  789. package/dist/lyra829.js +2 -253
  790. package/dist/lyra829.js.map +1 -1
  791. package/dist/lyra830.cjs +1 -1
  792. package/dist/lyra830.cjs.map +1 -1
  793. package/dist/lyra830.js +16 -79
  794. package/dist/lyra830.js.map +1 -1
  795. package/dist/lyra831.cjs +1 -1
  796. package/dist/lyra831.cjs.map +1 -1
  797. package/dist/lyra831.js +28 -2
  798. package/dist/lyra831.js.map +1 -1
  799. package/dist/lyra832.cjs +1 -1
  800. package/dist/lyra832.cjs.map +1 -1
  801. package/dist/lyra832.js +6 -13
  802. package/dist/lyra832.js.map +1 -1
  803. package/dist/lyra833.cjs +1 -1
  804. package/dist/lyra833.cjs.map +1 -1
  805. package/dist/lyra833.js +10 -18
  806. package/dist/lyra833.js.map +1 -1
  807. package/dist/lyra834.cjs +1 -1
  808. package/dist/lyra834.cjs.map +1 -1
  809. package/dist/lyra834.js +27 -13
  810. package/dist/lyra834.js.map +1 -1
  811. package/dist/lyra835.cjs +1 -1
  812. package/dist/lyra835.cjs.map +1 -1
  813. package/dist/lyra835.js +26 -2
  814. package/dist/lyra835.js.map +1 -1
  815. package/dist/lyra836.cjs +1 -1
  816. package/dist/lyra836.cjs.map +1 -1
  817. package/dist/lyra836.js +251 -17
  818. package/dist/lyra836.js.map +1 -1
  819. package/dist/lyra837.cjs +1 -1
  820. package/dist/lyra837.cjs.map +1 -1
  821. package/dist/lyra837.js +79 -25
  822. package/dist/lyra837.js.map +1 -1
  823. package/dist/lyra838.cjs +1 -1
  824. package/dist/lyra838.cjs.map +1 -1
  825. package/dist/lyra838.js +2 -6
  826. package/dist/lyra838.js.map +1 -1
  827. package/dist/lyra839.cjs +1 -1
  828. package/dist/lyra839.cjs.map +1 -1
  829. package/dist/lyra839.js +13 -11
  830. package/dist/lyra839.js.map +1 -1
  831. package/dist/lyra840.cjs +1 -1
  832. package/dist/lyra840.cjs.map +1 -1
  833. package/dist/lyra840.js +18 -27
  834. package/dist/lyra840.js.map +1 -1
  835. package/dist/lyra841.cjs +1 -1
  836. package/dist/lyra841.cjs.map +1 -1
  837. package/dist/lyra841.js +14 -26
  838. package/dist/lyra841.js.map +1 -1
  839. package/dist/lyra842.cjs +4 -1
  840. package/dist/lyra842.cjs.map +1 -1
  841. package/dist/lyra842.js +45 -103
  842. package/dist/lyra842.js.map +1 -1
  843. package/dist/lyra843.cjs +1 -1
  844. package/dist/lyra843.cjs.map +1 -1
  845. package/dist/lyra843.js +104 -21
  846. package/dist/lyra843.js.map +1 -1
  847. package/dist/lyra844.cjs +1 -1
  848. package/dist/lyra844.cjs.map +1 -1
  849. package/dist/lyra844.js +22 -20
  850. package/dist/lyra844.js.map +1 -1
  851. package/dist/lyra845.cjs +1 -1
  852. package/dist/lyra845.cjs.map +1 -1
  853. package/dist/lyra845.js +20 -5
  854. package/dist/lyra845.js.map +1 -1
  855. package/dist/lyra846.cjs +1 -1
  856. package/dist/lyra846.cjs.map +1 -1
  857. package/dist/lyra846.js +5 -20
  858. package/dist/lyra846.js.map +1 -1
  859. package/dist/lyra847.cjs +1 -1
  860. package/dist/lyra847.cjs.map +1 -1
  861. package/dist/lyra847.js +19 -29
  862. package/dist/lyra847.js.map +1 -1
  863. package/dist/lyra848.cjs +1 -1
  864. package/dist/lyra848.cjs.map +1 -1
  865. package/dist/lyra848.js +28 -6
  866. package/dist/lyra848.js.map +1 -1
  867. package/dist/lyra849.cjs +1 -1
  868. package/dist/lyra849.cjs.map +1 -1
  869. package/dist/lyra849.js +6 -51
  870. package/dist/lyra849.js.map +1 -1
  871. package/dist/lyra850.cjs +1 -1
  872. package/dist/lyra850.cjs.map +1 -1
  873. package/dist/lyra850.js +49 -19
  874. package/dist/lyra850.js.map +1 -1
  875. package/dist/lyra851.cjs +1 -1
  876. package/dist/lyra851.cjs.map +1 -1
  877. package/dist/lyra851.js +19 -16
  878. package/dist/lyra851.js.map +1 -1
  879. package/dist/lyra852.cjs +1 -1
  880. package/dist/lyra852.cjs.map +1 -1
  881. package/dist/lyra852.js +19 -55
  882. package/dist/lyra852.js.map +1 -1
  883. package/dist/lyra853.cjs +1 -1
  884. package/dist/lyra853.cjs.map +1 -1
  885. package/dist/lyra853.js +55 -10
  886. package/dist/lyra853.js.map +1 -1
  887. package/dist/lyra854.cjs +1 -1
  888. package/dist/lyra854.cjs.map +1 -1
  889. package/dist/lyra854.js +10 -3
  890. package/dist/lyra854.js.map +1 -1
  891. package/dist/lyra855.cjs +1 -1
  892. package/dist/lyra855.cjs.map +1 -1
  893. package/dist/lyra855.js +3 -17
  894. package/dist/lyra855.js.map +1 -1
  895. package/dist/lyra856.cjs +1 -1
  896. package/dist/lyra856.cjs.map +1 -1
  897. package/dist/lyra856.js +17 -3
  898. package/dist/lyra856.js.map +1 -1
  899. package/dist/lyra857.cjs +1 -1
  900. package/dist/lyra857.cjs.map +1 -1
  901. package/dist/lyra857.js +3 -3
  902. package/dist/lyra857.js.map +1 -1
  903. package/dist/lyra858.cjs +1 -1
  904. package/dist/lyra858.cjs.map +1 -1
  905. package/dist/lyra858.js +3 -9
  906. package/dist/lyra858.js.map +1 -1
  907. package/dist/lyra859.cjs +1 -1
  908. package/dist/lyra859.cjs.map +1 -1
  909. package/dist/lyra859.js +10 -2
  910. package/dist/lyra859.js.map +1 -1
  911. package/dist/lyra860.cjs +1 -1
  912. package/dist/lyra860.cjs.map +1 -1
  913. package/dist/lyra860.js +2 -5
  914. package/dist/lyra860.js.map +1 -1
  915. package/dist/lyra861.cjs +1 -4
  916. package/dist/lyra861.cjs.map +1 -1
  917. package/dist/lyra861.js +4 -46
  918. package/dist/lyra861.js.map +1 -1
  919. package/dist/lyra863.cjs +1 -1
  920. package/dist/lyra863.cjs.map +1 -1
  921. package/dist/lyra863.js +4 -69
  922. package/dist/lyra863.js.map +1 -1
  923. package/dist/lyra864.cjs +1 -1
  924. package/dist/lyra864.cjs.map +1 -1
  925. package/dist/lyra864.js +69 -4
  926. package/dist/lyra864.js.map +1 -1
  927. package/dist/lyra868.cjs +1 -1
  928. package/dist/lyra868.cjs.map +1 -1
  929. package/dist/lyra868.js +2 -65
  930. package/dist/lyra868.js.map +1 -1
  931. package/dist/lyra870.cjs +1 -1
  932. package/dist/lyra870.cjs.map +1 -1
  933. package/dist/lyra870.js +7 -2
  934. package/dist/lyra870.js.map +1 -1
  935. package/dist/lyra871.cjs +1 -1
  936. package/dist/lyra871.cjs.map +1 -1
  937. package/dist/lyra871.js +65 -7
  938. package/dist/lyra871.js.map +1 -1
  939. package/dist/lyra89.cjs +1 -1
  940. package/dist/lyra89.js +48 -48
  941. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"lyra463.js","sources":["../node_modules/@dnd-kit/core/dist/core.esm.js"],"sourcesContent":["import React, { createContext, useContext, useEffect, useState, useCallback, useMemo, useRef, useReducer, memo, cloneElement, forwardRef } from 'react';\nimport { createPortal, unstable_batchedUpdates } from 'react-dom';\nimport { useUniqueId, getEventCoordinates, getWindow, isDocument, isHTMLElement, isSVGElement, canUseDOM, isWindow, isNode, getOwnerDocument, add, isKeyboardEvent, subtract, useLazyMemo, useInterval, usePrevious, useLatestValue, useEvent, useIsomorphicLayoutEffect, useNodeRef, findFirstFocusableNode, CSS } from '@dnd-kit/utilities';\nimport { useAnnouncement, HiddenText, LiveRegion } from '@dnd-kit/accessibility';\n\nconst DndMonitorContext = /*#__PURE__*/createContext(null);\n\nfunction useDndMonitor(listener) {\n const registerListener = useContext(DndMonitorContext);\n useEffect(() => {\n if (!registerListener) {\n throw new Error('useDndMonitor must be used within a children of <DndContext>');\n }\n\n const unsubscribe = registerListener(listener);\n return unsubscribe;\n }, [listener, registerListener]);\n}\n\nfunction useDndMonitorProvider() {\n const [listeners] = useState(() => new Set());\n const registerListener = useCallback(listener => {\n listeners.add(listener);\n return () => listeners.delete(listener);\n }, [listeners]);\n const dispatch = useCallback(_ref => {\n let {\n type,\n event\n } = _ref;\n listeners.forEach(listener => {\n var _listener$type;\n\n return (_listener$type = listener[type]) == null ? void 0 : _listener$type.call(listener, event);\n });\n }, [listeners]);\n return [dispatch, registerListener];\n}\n\nconst defaultScreenReaderInstructions = {\n draggable: \"\\n To pick up a draggable item, press the space bar.\\n While dragging, use the arrow keys to move the item.\\n Press space again to drop the item in its new position, or press escape to cancel.\\n \"\n};\nconst defaultAnnouncements = {\n onDragStart(_ref) {\n let {\n active\n } = _ref;\n return \"Picked up draggable item \" + active.id + \".\";\n },\n\n onDragOver(_ref2) {\n let {\n active,\n over\n } = _ref2;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was moved over droppable area \" + over.id + \".\";\n }\n\n return \"Draggable item \" + active.id + \" is no longer over a droppable area.\";\n },\n\n onDragEnd(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (over) {\n return \"Draggable item \" + active.id + \" was dropped over droppable area \" + over.id;\n }\n\n return \"Draggable item \" + active.id + \" was dropped.\";\n },\n\n onDragCancel(_ref4) {\n let {\n active\n } = _ref4;\n return \"Dragging was cancelled. Draggable item \" + active.id + \" was dropped.\";\n }\n\n};\n\nfunction Accessibility(_ref) {\n let {\n announcements = defaultAnnouncements,\n container,\n hiddenTextDescribedById,\n screenReaderInstructions = defaultScreenReaderInstructions\n } = _ref;\n const {\n announce,\n announcement\n } = useAnnouncement();\n const liveRegionId = useUniqueId(\"DndLiveRegion\");\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n useDndMonitor(useMemo(() => ({\n onDragStart(_ref2) {\n let {\n active\n } = _ref2;\n announce(announcements.onDragStart({\n active\n }));\n },\n\n onDragMove(_ref3) {\n let {\n active,\n over\n } = _ref3;\n\n if (announcements.onDragMove) {\n announce(announcements.onDragMove({\n active,\n over\n }));\n }\n },\n\n onDragOver(_ref4) {\n let {\n active,\n over\n } = _ref4;\n announce(announcements.onDragOver({\n active,\n over\n }));\n },\n\n onDragEnd(_ref5) {\n let {\n active,\n over\n } = _ref5;\n announce(announcements.onDragEnd({\n active,\n over\n }));\n },\n\n onDragCancel(_ref6) {\n let {\n active,\n over\n } = _ref6;\n announce(announcements.onDragCancel({\n active,\n over\n }));\n }\n\n }), [announce, announcements]));\n\n if (!mounted) {\n return null;\n }\n\n const markup = React.createElement(React.Fragment, null, React.createElement(HiddenText, {\n id: hiddenTextDescribedById,\n value: screenReaderInstructions.draggable\n }), React.createElement(LiveRegion, {\n id: liveRegionId,\n announcement: announcement\n }));\n return container ? createPortal(markup, container) : markup;\n}\n\nvar Action;\n\n(function (Action) {\n Action[\"DragStart\"] = \"dragStart\";\n Action[\"DragMove\"] = \"dragMove\";\n Action[\"DragEnd\"] = \"dragEnd\";\n Action[\"DragCancel\"] = \"dragCancel\";\n Action[\"DragOver\"] = \"dragOver\";\n Action[\"RegisterDroppable\"] = \"registerDroppable\";\n Action[\"SetDroppableDisabled\"] = \"setDroppableDisabled\";\n Action[\"UnregisterDroppable\"] = \"unregisterDroppable\";\n})(Action || (Action = {}));\n\nfunction noop() {}\n\nfunction useSensor(sensor, options) {\n return useMemo(() => ({\n sensor,\n options: options != null ? options : {}\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [sensor, options]);\n}\n\nfunction useSensors() {\n for (var _len = arguments.length, sensors = new Array(_len), _key = 0; _key < _len; _key++) {\n sensors[_key] = arguments[_key];\n }\n\n return useMemo(() => [...sensors].filter(sensor => sensor != null), // eslint-disable-next-line react-hooks/exhaustive-deps\n [...sensors]);\n}\n\nconst defaultCoordinates = /*#__PURE__*/Object.freeze({\n x: 0,\n y: 0\n});\n\n/**\r\n * Returns the distance between two points\r\n */\nfunction distanceBetween(p1, p2) {\n return Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));\n}\n\nfunction getRelativeTransformOrigin(event, rect) {\n const eventCoordinates = getEventCoordinates(event);\n\n if (!eventCoordinates) {\n return '0 0';\n }\n\n const transformOrigin = {\n x: (eventCoordinates.x - rect.left) / rect.width * 100,\n y: (eventCoordinates.y - rect.top) / rect.height * 100\n };\n return transformOrigin.x + \"% \" + transformOrigin.y + \"%\";\n}\n\n/**\r\n * Sort collisions from smallest to greatest value\r\n */\nfunction sortCollisionsAsc(_ref, _ref2) {\n let {\n data: {\n value: a\n }\n } = _ref;\n let {\n data: {\n value: b\n }\n } = _ref2;\n return a - b;\n}\n/**\r\n * Sort collisions from greatest to smallest value\r\n */\n\nfunction sortCollisionsDesc(_ref3, _ref4) {\n let {\n data: {\n value: a\n }\n } = _ref3;\n let {\n data: {\n value: b\n }\n } = _ref4;\n return b - a;\n}\n/**\r\n * Returns the coordinates of the corners of a given rectangle:\r\n * [TopLeft {x, y}, TopRight {x, y}, BottomLeft {x, y}, BottomRight {x, y}]\r\n */\n\nfunction cornersOfRectangle(_ref5) {\n let {\n left,\n top,\n height,\n width\n } = _ref5;\n return [{\n x: left,\n y: top\n }, {\n x: left + width,\n y: top\n }, {\n x: left,\n y: top + height\n }, {\n x: left + width,\n y: top + height\n }];\n}\nfunction getFirstCollision(collisions, property) {\n if (!collisions || collisions.length === 0) {\n return null;\n }\n\n const [firstCollision] = collisions;\n return property ? firstCollision[property] : firstCollision;\n}\n\n/**\r\n * Returns the coordinates of the center of a given ClientRect\r\n */\n\nfunction centerOfRectangle(rect, left, top) {\n if (left === void 0) {\n left = rect.left;\n }\n\n if (top === void 0) {\n top = rect.top;\n }\n\n return {\n x: left + rect.width * 0.5,\n y: top + rect.height * 0.5\n };\n}\n/**\r\n * Returns the closest rectangles from an array of rectangles to the center of a given\r\n * rectangle.\r\n */\n\n\nconst closestCenter = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const centerRect = centerOfRectangle(collisionRect, collisionRect.left, collisionRect.top);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const distBetween = distanceBetween(centerOfRectangle(rect), centerRect);\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: distBetween\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the closest rectangles from an array of rectangles to the corners of\r\n * another rectangle.\r\n */\n\nconst closestCorners = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const corners = cornersOfRectangle(collisionRect);\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const rectCorners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner, index) => {\n return accumulator + distanceBetween(rectCorners[index], corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\n/**\r\n * Returns the intersecting rectangle area between two rectangles\r\n */\n\nfunction getIntersectionRatio(entry, target) {\n const top = Math.max(target.top, entry.top);\n const left = Math.max(target.left, entry.left);\n const right = Math.min(target.left + target.width, entry.left + entry.width);\n const bottom = Math.min(target.top + target.height, entry.top + entry.height);\n const width = right - left;\n const height = bottom - top;\n\n if (left < right && top < bottom) {\n const targetArea = target.width * target.height;\n const entryArea = entry.width * entry.height;\n const intersectionArea = width * height;\n const intersectionRatio = intersectionArea / (targetArea + entryArea - intersectionArea);\n return Number(intersectionRatio.toFixed(4));\n } // Rectangles do not overlap, or overlap has an area of zero (edge/corner overlap)\n\n\n return 0;\n}\n/**\r\n * Returns the rectangles that has the greatest intersection area with a given\r\n * rectangle in an array of rectangles.\r\n */\n\nconst rectIntersection = _ref => {\n let {\n collisionRect,\n droppableRects,\n droppableContainers\n } = _ref;\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect) {\n const intersectionRatio = getIntersectionRatio(rect, collisionRect);\n\n if (intersectionRatio > 0) {\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: intersectionRatio\n }\n });\n }\n }\n }\n\n return collisions.sort(sortCollisionsDesc);\n};\n\n/**\r\n * Check if a given point is contained within a bounding rectangle\r\n */\n\nfunction isPointWithinRect(point, rect) {\n const {\n top,\n left,\n bottom,\n right\n } = rect;\n return top <= point.y && point.y <= bottom && left <= point.x && point.x <= right;\n}\n/**\r\n * Returns the rectangles that the pointer is hovering over\r\n */\n\n\nconst pointerWithin = _ref => {\n let {\n droppableContainers,\n droppableRects,\n pointerCoordinates\n } = _ref;\n\n if (!pointerCoordinates) {\n return [];\n }\n\n const collisions = [];\n\n for (const droppableContainer of droppableContainers) {\n const {\n id\n } = droppableContainer;\n const rect = droppableRects.get(id);\n\n if (rect && isPointWithinRect(pointerCoordinates, rect)) {\n /* There may be more than a single rectangle intersecting\r\n * with the pointer coordinates. In order to sort the\r\n * colliding rectangles, we measure the distance between\r\n * the pointer and the corners of the intersecting rectangle\r\n */\n const corners = cornersOfRectangle(rect);\n const distances = corners.reduce((accumulator, corner) => {\n return accumulator + distanceBetween(pointerCoordinates, corner);\n }, 0);\n const effectiveDistance = Number((distances / 4).toFixed(4));\n collisions.push({\n id,\n data: {\n droppableContainer,\n value: effectiveDistance\n }\n });\n }\n }\n\n return collisions.sort(sortCollisionsAsc);\n};\n\nfunction adjustScale(transform, rect1, rect2) {\n return { ...transform,\n scaleX: rect1 && rect2 ? rect1.width / rect2.width : 1,\n scaleY: rect1 && rect2 ? rect1.height / rect2.height : 1\n };\n}\n\nfunction getRectDelta(rect1, rect2) {\n return rect1 && rect2 ? {\n x: rect1.left - rect2.left,\n y: rect1.top - rect2.top\n } : defaultCoordinates;\n}\n\nfunction createRectAdjustmentFn(modifier) {\n return function adjustClientRect(rect) {\n for (var _len = arguments.length, adjustments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n adjustments[_key - 1] = arguments[_key];\n }\n\n return adjustments.reduce((acc, adjustment) => ({ ...acc,\n top: acc.top + modifier * adjustment.y,\n bottom: acc.bottom + modifier * adjustment.y,\n left: acc.left + modifier * adjustment.x,\n right: acc.right + modifier * adjustment.x\n }), { ...rect\n });\n };\n}\nconst getAdjustedRect = /*#__PURE__*/createRectAdjustmentFn(1);\n\nfunction parseTransform(transform) {\n if (transform.startsWith('matrix3d(')) {\n const transformArray = transform.slice(9, -1).split(/, /);\n return {\n x: +transformArray[12],\n y: +transformArray[13],\n scaleX: +transformArray[0],\n scaleY: +transformArray[5]\n };\n } else if (transform.startsWith('matrix(')) {\n const transformArray = transform.slice(7, -1).split(/, /);\n return {\n x: +transformArray[4],\n y: +transformArray[5],\n scaleX: +transformArray[0],\n scaleY: +transformArray[3]\n };\n }\n\n return null;\n}\n\nfunction inverseTransform(rect, transform, transformOrigin) {\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return rect;\n }\n\n const {\n scaleX,\n scaleY,\n x: translateX,\n y: translateY\n } = parsedTransform;\n const x = rect.left - translateX - (1 - scaleX) * parseFloat(transformOrigin);\n const y = rect.top - translateY - (1 - scaleY) * parseFloat(transformOrigin.slice(transformOrigin.indexOf(' ') + 1));\n const w = scaleX ? rect.width / scaleX : rect.width;\n const h = scaleY ? rect.height / scaleY : rect.height;\n return {\n width: w,\n height: h,\n top: y,\n right: x + w,\n bottom: y + h,\n left: x\n };\n}\n\nconst defaultOptions = {\n ignoreTransform: false\n};\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n */\n\nfunction getClientRect(element, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n let rect = element.getBoundingClientRect();\n\n if (options.ignoreTransform) {\n const {\n transform,\n transformOrigin\n } = getWindow(element).getComputedStyle(element);\n\n if (transform) {\n rect = inverseTransform(rect, transform, transformOrigin);\n }\n }\n\n const {\n top,\n left,\n width,\n height,\n bottom,\n right\n } = rect;\n return {\n top,\n left,\n width,\n height,\n bottom,\n right\n };\n}\n/**\r\n * Returns the bounding client rect of an element relative to the viewport.\r\n *\r\n * @remarks\r\n * The ClientRect returned by this method does not take into account transforms\r\n * applied to the element it measures.\r\n *\r\n */\n\nfunction getTransformAgnosticClientRect(element) {\n return getClientRect(element, {\n ignoreTransform: true\n });\n}\n\nfunction getWindowClientRect(element) {\n const width = element.innerWidth;\n const height = element.innerHeight;\n return {\n top: 0,\n left: 0,\n right: width,\n bottom: height,\n width,\n height\n };\n}\n\nfunction isFixed(node, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(node).getComputedStyle(node);\n }\n\n return computedStyle.position === 'fixed';\n}\n\nfunction isScrollable(element, computedStyle) {\n if (computedStyle === void 0) {\n computedStyle = getWindow(element).getComputedStyle(element);\n }\n\n const overflowRegex = /(auto|scroll|overlay)/;\n const properties = ['overflow', 'overflowX', 'overflowY'];\n return properties.some(property => {\n const value = computedStyle[property];\n return typeof value === 'string' ? overflowRegex.test(value) : false;\n });\n}\n\nfunction getScrollableAncestors(element, limit) {\n const scrollParents = [];\n\n function findScrollableAncestors(node) {\n if (limit != null && scrollParents.length >= limit) {\n return scrollParents;\n }\n\n if (!node) {\n return scrollParents;\n }\n\n if (isDocument(node) && node.scrollingElement != null && !scrollParents.includes(node.scrollingElement)) {\n scrollParents.push(node.scrollingElement);\n return scrollParents;\n }\n\n if (!isHTMLElement(node) || isSVGElement(node)) {\n return scrollParents;\n }\n\n if (scrollParents.includes(node)) {\n return scrollParents;\n }\n\n const computedStyle = getWindow(element).getComputedStyle(node);\n\n if (node !== element) {\n if (isScrollable(node, computedStyle)) {\n scrollParents.push(node);\n }\n }\n\n if (isFixed(node, computedStyle)) {\n return scrollParents;\n }\n\n return findScrollableAncestors(node.parentNode);\n }\n\n if (!element) {\n return scrollParents;\n }\n\n return findScrollableAncestors(element);\n}\nfunction getFirstScrollableAncestor(node) {\n const [firstScrollableAncestor] = getScrollableAncestors(node, 1);\n return firstScrollableAncestor != null ? firstScrollableAncestor : null;\n}\n\nfunction getScrollableElement(element) {\n if (!canUseDOM || !element) {\n return null;\n }\n\n if (isWindow(element)) {\n return element;\n }\n\n if (!isNode(element)) {\n return null;\n }\n\n if (isDocument(element) || element === getOwnerDocument(element).scrollingElement) {\n return window;\n }\n\n if (isHTMLElement(element)) {\n return element;\n }\n\n return null;\n}\n\nfunction getScrollXCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollX;\n }\n\n return element.scrollLeft;\n}\nfunction getScrollYCoordinate(element) {\n if (isWindow(element)) {\n return element.scrollY;\n }\n\n return element.scrollTop;\n}\nfunction getScrollCoordinates(element) {\n return {\n x: getScrollXCoordinate(element),\n y: getScrollYCoordinate(element)\n };\n}\n\nvar Direction;\n\n(function (Direction) {\n Direction[Direction[\"Forward\"] = 1] = \"Forward\";\n Direction[Direction[\"Backward\"] = -1] = \"Backward\";\n})(Direction || (Direction = {}));\n\nfunction isDocumentScrollingElement(element) {\n if (!canUseDOM || !element) {\n return false;\n }\n\n return element === document.scrollingElement;\n}\n\nfunction getScrollPosition(scrollingContainer) {\n const minScroll = {\n x: 0,\n y: 0\n };\n const dimensions = isDocumentScrollingElement(scrollingContainer) ? {\n height: window.innerHeight,\n width: window.innerWidth\n } : {\n height: scrollingContainer.clientHeight,\n width: scrollingContainer.clientWidth\n };\n const maxScroll = {\n x: scrollingContainer.scrollWidth - dimensions.width,\n y: scrollingContainer.scrollHeight - dimensions.height\n };\n const isTop = scrollingContainer.scrollTop <= minScroll.y;\n const isLeft = scrollingContainer.scrollLeft <= minScroll.x;\n const isBottom = scrollingContainer.scrollTop >= maxScroll.y;\n const isRight = scrollingContainer.scrollLeft >= maxScroll.x;\n return {\n isTop,\n isLeft,\n isBottom,\n isRight,\n maxScroll,\n minScroll\n };\n}\n\nconst defaultThreshold = {\n x: 0.2,\n y: 0.2\n};\nfunction getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, _ref, acceleration, thresholdPercentage) {\n let {\n top,\n left,\n right,\n bottom\n } = _ref;\n\n if (acceleration === void 0) {\n acceleration = 10;\n }\n\n if (thresholdPercentage === void 0) {\n thresholdPercentage = defaultThreshold;\n }\n\n const {\n isTop,\n isBottom,\n isLeft,\n isRight\n } = getScrollPosition(scrollContainer);\n const direction = {\n x: 0,\n y: 0\n };\n const speed = {\n x: 0,\n y: 0\n };\n const threshold = {\n height: scrollContainerRect.height * thresholdPercentage.y,\n width: scrollContainerRect.width * thresholdPercentage.x\n };\n\n if (!isTop && top <= scrollContainerRect.top + threshold.height) {\n // Scroll Up\n direction.y = Direction.Backward;\n speed.y = acceleration * Math.abs((scrollContainerRect.top + threshold.height - top) / threshold.height);\n } else if (!isBottom && bottom >= scrollContainerRect.bottom - threshold.height) {\n // Scroll Down\n direction.y = Direction.Forward;\n speed.y = acceleration * Math.abs((scrollContainerRect.bottom - threshold.height - bottom) / threshold.height);\n }\n\n if (!isRight && right >= scrollContainerRect.right - threshold.width) {\n // Scroll Right\n direction.x = Direction.Forward;\n speed.x = acceleration * Math.abs((scrollContainerRect.right - threshold.width - right) / threshold.width);\n } else if (!isLeft && left <= scrollContainerRect.left + threshold.width) {\n // Scroll Left\n direction.x = Direction.Backward;\n speed.x = acceleration * Math.abs((scrollContainerRect.left + threshold.width - left) / threshold.width);\n }\n\n return {\n direction,\n speed\n };\n}\n\nfunction getScrollElementRect(element) {\n if (element === document.scrollingElement) {\n const {\n innerWidth,\n innerHeight\n } = window;\n return {\n top: 0,\n left: 0,\n right: innerWidth,\n bottom: innerHeight,\n width: innerWidth,\n height: innerHeight\n };\n }\n\n const {\n top,\n left,\n right,\n bottom\n } = element.getBoundingClientRect();\n return {\n top,\n left,\n right,\n bottom,\n width: element.clientWidth,\n height: element.clientHeight\n };\n}\n\nfunction getScrollOffsets(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return add(acc, getScrollCoordinates(node));\n }, defaultCoordinates);\n}\nfunction getScrollXOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollXCoordinate(node);\n }, 0);\n}\nfunction getScrollYOffset(scrollableAncestors) {\n return scrollableAncestors.reduce((acc, node) => {\n return acc + getScrollYCoordinate(node);\n }, 0);\n}\n\nfunction scrollIntoViewIfNeeded(element, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n if (!element) {\n return;\n }\n\n const {\n top,\n left,\n bottom,\n right\n } = measure(element);\n const firstScrollableAncestor = getFirstScrollableAncestor(element);\n\n if (!firstScrollableAncestor) {\n return;\n }\n\n if (bottom <= 0 || right <= 0 || top >= window.innerHeight || left >= window.innerWidth) {\n element.scrollIntoView({\n block: 'center',\n inline: 'center'\n });\n }\n}\n\nconst properties = [['x', ['left', 'right'], getScrollXOffset], ['y', ['top', 'bottom'], getScrollYOffset]];\nclass Rect {\n constructor(rect, element) {\n this.rect = void 0;\n this.width = void 0;\n this.height = void 0;\n this.top = void 0;\n this.bottom = void 0;\n this.right = void 0;\n this.left = void 0;\n const scrollableAncestors = getScrollableAncestors(element);\n const scrollOffsets = getScrollOffsets(scrollableAncestors);\n this.rect = { ...rect\n };\n this.width = rect.width;\n this.height = rect.height;\n\n for (const [axis, keys, getScrollOffset] of properties) {\n for (const key of keys) {\n Object.defineProperty(this, key, {\n get: () => {\n const currentOffsets = getScrollOffset(scrollableAncestors);\n const scrollOffsetsDeltla = scrollOffsets[axis] - currentOffsets;\n return this.rect[key] + scrollOffsetsDeltla;\n },\n enumerable: true\n });\n }\n }\n\n Object.defineProperty(this, 'rect', {\n enumerable: false\n });\n }\n\n}\n\nclass Listeners {\n constructor(target) {\n this.target = void 0;\n this.listeners = [];\n\n this.removeAll = () => {\n this.listeners.forEach(listener => {\n var _this$target;\n\n return (_this$target = this.target) == null ? void 0 : _this$target.removeEventListener(...listener);\n });\n };\n\n this.target = target;\n }\n\n add(eventName, handler, options) {\n var _this$target2;\n\n (_this$target2 = this.target) == null ? void 0 : _this$target2.addEventListener(eventName, handler, options);\n this.listeners.push([eventName, handler, options]);\n }\n\n}\n\nfunction getEventListenerTarget(target) {\n // If the `event.target` element is removed from the document events will still be targeted\n // at it, and hence won't always bubble up to the window or document anymore.\n // If there is any risk of an element being removed while it is being dragged,\n // the best practice is to attach the event listeners directly to the target.\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget\n const {\n EventTarget\n } = getWindow(target);\n return target instanceof EventTarget ? target : getOwnerDocument(target);\n}\n\nfunction hasExceededDistance(delta, measurement) {\n const dx = Math.abs(delta.x);\n const dy = Math.abs(delta.y);\n\n if (typeof measurement === 'number') {\n return Math.sqrt(dx ** 2 + dy ** 2) > measurement;\n }\n\n if ('x' in measurement && 'y' in measurement) {\n return dx > measurement.x && dy > measurement.y;\n }\n\n if ('x' in measurement) {\n return dx > measurement.x;\n }\n\n if ('y' in measurement) {\n return dy > measurement.y;\n }\n\n return false;\n}\n\nvar EventName;\n\n(function (EventName) {\n EventName[\"Click\"] = \"click\";\n EventName[\"DragStart\"] = \"dragstart\";\n EventName[\"Keydown\"] = \"keydown\";\n EventName[\"ContextMenu\"] = \"contextmenu\";\n EventName[\"Resize\"] = \"resize\";\n EventName[\"SelectionChange\"] = \"selectionchange\";\n EventName[\"VisibilityChange\"] = \"visibilitychange\";\n})(EventName || (EventName = {}));\n\nfunction preventDefault(event) {\n event.preventDefault();\n}\nfunction stopPropagation(event) {\n event.stopPropagation();\n}\n\nvar KeyboardCode;\n\n(function (KeyboardCode) {\n KeyboardCode[\"Space\"] = \"Space\";\n KeyboardCode[\"Down\"] = \"ArrowDown\";\n KeyboardCode[\"Right\"] = \"ArrowRight\";\n KeyboardCode[\"Left\"] = \"ArrowLeft\";\n KeyboardCode[\"Up\"] = \"ArrowUp\";\n KeyboardCode[\"Esc\"] = \"Escape\";\n KeyboardCode[\"Enter\"] = \"Enter\";\n})(KeyboardCode || (KeyboardCode = {}));\n\nconst defaultKeyboardCodes = {\n start: [KeyboardCode.Space, KeyboardCode.Enter],\n cancel: [KeyboardCode.Esc],\n end: [KeyboardCode.Space, KeyboardCode.Enter]\n};\nconst defaultKeyboardCoordinateGetter = (event, _ref) => {\n let {\n currentCoordinates\n } = _ref;\n\n switch (event.code) {\n case KeyboardCode.Right:\n return { ...currentCoordinates,\n x: currentCoordinates.x + 25\n };\n\n case KeyboardCode.Left:\n return { ...currentCoordinates,\n x: currentCoordinates.x - 25\n };\n\n case KeyboardCode.Down:\n return { ...currentCoordinates,\n y: currentCoordinates.y + 25\n };\n\n case KeyboardCode.Up:\n return { ...currentCoordinates,\n y: currentCoordinates.y - 25\n };\n }\n\n return undefined;\n};\n\nclass KeyboardSensor {\n constructor(props) {\n this.props = void 0;\n this.autoScrollEnabled = false;\n this.referenceCoordinates = void 0;\n this.listeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n const {\n event: {\n target\n }\n } = props;\n this.props = props;\n this.listeners = new Listeners(getOwnerDocument(target));\n this.windowListeners = new Listeners(getWindow(target));\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.attach();\n }\n\n attach() {\n this.handleStart();\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n setTimeout(() => this.listeners.add(EventName.Keydown, this.handleKeyDown));\n }\n\n handleStart() {\n const {\n activeNode,\n onStart\n } = this.props;\n const node = activeNode.node.current;\n\n if (node) {\n scrollIntoViewIfNeeded(node);\n }\n\n onStart(defaultCoordinates);\n }\n\n handleKeyDown(event) {\n if (isKeyboardEvent(event)) {\n const {\n active,\n context,\n options\n } = this.props;\n const {\n keyboardCodes = defaultKeyboardCodes,\n coordinateGetter = defaultKeyboardCoordinateGetter,\n scrollBehavior = 'smooth'\n } = options;\n const {\n code\n } = event;\n\n if (keyboardCodes.end.includes(code)) {\n this.handleEnd(event);\n return;\n }\n\n if (keyboardCodes.cancel.includes(code)) {\n this.handleCancel(event);\n return;\n }\n\n const {\n collisionRect\n } = context.current;\n const currentCoordinates = collisionRect ? {\n x: collisionRect.left,\n y: collisionRect.top\n } : defaultCoordinates;\n\n if (!this.referenceCoordinates) {\n this.referenceCoordinates = currentCoordinates;\n }\n\n const newCoordinates = coordinateGetter(event, {\n active,\n context: context.current,\n currentCoordinates\n });\n\n if (newCoordinates) {\n const coordinatesDelta = subtract(newCoordinates, currentCoordinates);\n const scrollDelta = {\n x: 0,\n y: 0\n };\n const {\n scrollableAncestors\n } = context.current;\n\n for (const scrollContainer of scrollableAncestors) {\n const direction = event.code;\n const {\n isTop,\n isRight,\n isLeft,\n isBottom,\n maxScroll,\n minScroll\n } = getScrollPosition(scrollContainer);\n const scrollElementRect = getScrollElementRect(scrollContainer);\n const clampedCoordinates = {\n x: Math.min(direction === KeyboardCode.Right ? scrollElementRect.right - scrollElementRect.width / 2 : scrollElementRect.right, Math.max(direction === KeyboardCode.Right ? scrollElementRect.left : scrollElementRect.left + scrollElementRect.width / 2, newCoordinates.x)),\n y: Math.min(direction === KeyboardCode.Down ? scrollElementRect.bottom - scrollElementRect.height / 2 : scrollElementRect.bottom, Math.max(direction === KeyboardCode.Down ? scrollElementRect.top : scrollElementRect.top + scrollElementRect.height / 2, newCoordinates.y))\n };\n const canScrollX = direction === KeyboardCode.Right && !isRight || direction === KeyboardCode.Left && !isLeft;\n const canScrollY = direction === KeyboardCode.Down && !isBottom || direction === KeyboardCode.Up && !isTop;\n\n if (canScrollX && clampedCoordinates.x !== newCoordinates.x) {\n const newScrollCoordinates = scrollContainer.scrollLeft + coordinatesDelta.x;\n const canScrollToNewCoordinates = direction === KeyboardCode.Right && newScrollCoordinates <= maxScroll.x || direction === KeyboardCode.Left && newScrollCoordinates >= minScroll.x;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.y) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n left: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.x = scrollContainer.scrollLeft - newScrollCoordinates;\n } else {\n scrollDelta.x = direction === KeyboardCode.Right ? scrollContainer.scrollLeft - maxScroll.x : scrollContainer.scrollLeft - minScroll.x;\n }\n\n if (scrollDelta.x) {\n scrollContainer.scrollBy({\n left: -scrollDelta.x,\n behavior: scrollBehavior\n });\n }\n\n break;\n } else if (canScrollY && clampedCoordinates.y !== newCoordinates.y) {\n const newScrollCoordinates = scrollContainer.scrollTop + coordinatesDelta.y;\n const canScrollToNewCoordinates = direction === KeyboardCode.Down && newScrollCoordinates <= maxScroll.y || direction === KeyboardCode.Up && newScrollCoordinates >= minScroll.y;\n\n if (canScrollToNewCoordinates && !coordinatesDelta.x) {\n // We don't need to update coordinates, the scroll adjustment alone will trigger\n // logic to auto-detect the new container we are over\n scrollContainer.scrollTo({\n top: newScrollCoordinates,\n behavior: scrollBehavior\n });\n return;\n }\n\n if (canScrollToNewCoordinates) {\n scrollDelta.y = scrollContainer.scrollTop - newScrollCoordinates;\n } else {\n scrollDelta.y = direction === KeyboardCode.Down ? scrollContainer.scrollTop - maxScroll.y : scrollContainer.scrollTop - minScroll.y;\n }\n\n if (scrollDelta.y) {\n scrollContainer.scrollBy({\n top: -scrollDelta.y,\n behavior: scrollBehavior\n });\n }\n\n break;\n }\n }\n\n this.handleMove(event, add(subtract(newCoordinates, this.referenceCoordinates), scrollDelta));\n }\n }\n }\n\n handleMove(event, coordinates) {\n const {\n onMove\n } = this.props;\n event.preventDefault();\n onMove(coordinates);\n }\n\n handleEnd(event) {\n const {\n onEnd\n } = this.props;\n event.preventDefault();\n this.detach();\n onEnd();\n }\n\n handleCancel(event) {\n const {\n onCancel\n } = this.props;\n event.preventDefault();\n this.detach();\n onCancel();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll();\n }\n\n}\nKeyboardSensor.activators = [{\n eventName: 'onKeyDown',\n handler: (event, _ref, _ref2) => {\n let {\n keyboardCodes = defaultKeyboardCodes,\n onActivation\n } = _ref;\n let {\n active\n } = _ref2;\n const {\n code\n } = event.nativeEvent;\n\n if (keyboardCodes.start.includes(code)) {\n const activator = active.activatorNode.current;\n\n if (activator && event.target !== activator) {\n return false;\n }\n\n event.preventDefault();\n onActivation == null ? void 0 : onActivation({\n event: event.nativeEvent\n });\n return true;\n }\n\n return false;\n }\n}];\n\nfunction isDistanceConstraint(constraint) {\n return Boolean(constraint && 'distance' in constraint);\n}\n\nfunction isDelayConstraint(constraint) {\n return Boolean(constraint && 'delay' in constraint);\n}\n\nclass AbstractPointerSensor {\n constructor(props, events, listenerTarget) {\n var _getEventCoordinates;\n\n if (listenerTarget === void 0) {\n listenerTarget = getEventListenerTarget(props.event.target);\n }\n\n this.props = void 0;\n this.events = void 0;\n this.autoScrollEnabled = true;\n this.document = void 0;\n this.activated = false;\n this.initialCoordinates = void 0;\n this.timeoutId = null;\n this.listeners = void 0;\n this.documentListeners = void 0;\n this.windowListeners = void 0;\n this.props = props;\n this.events = events;\n const {\n event\n } = props;\n const {\n target\n } = event;\n this.props = props;\n this.events = events;\n this.document = getOwnerDocument(target);\n this.documentListeners = new Listeners(this.document);\n this.listeners = new Listeners(listenerTarget);\n this.windowListeners = new Listeners(getWindow(target));\n this.initialCoordinates = (_getEventCoordinates = getEventCoordinates(event)) != null ? _getEventCoordinates : defaultCoordinates;\n this.handleStart = this.handleStart.bind(this);\n this.handleMove = this.handleMove.bind(this);\n this.handleEnd = this.handleEnd.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.handleKeydown = this.handleKeydown.bind(this);\n this.removeTextSelection = this.removeTextSelection.bind(this);\n this.attach();\n }\n\n attach() {\n const {\n events,\n props: {\n options: {\n activationConstraint,\n bypassActivationConstraint\n }\n }\n } = this;\n this.listeners.add(events.move.name, this.handleMove, {\n passive: false\n });\n this.listeners.add(events.end.name, this.handleEnd);\n this.windowListeners.add(EventName.Resize, this.handleCancel);\n this.windowListeners.add(EventName.DragStart, preventDefault);\n this.windowListeners.add(EventName.VisibilityChange, this.handleCancel);\n this.windowListeners.add(EventName.ContextMenu, preventDefault);\n this.documentListeners.add(EventName.Keydown, this.handleKeydown);\n\n if (activationConstraint) {\n if (bypassActivationConstraint != null && bypassActivationConstraint({\n event: this.props.event,\n activeNode: this.props.activeNode,\n options: this.props.options\n })) {\n return this.handleStart();\n }\n\n if (isDelayConstraint(activationConstraint)) {\n this.timeoutId = setTimeout(this.handleStart, activationConstraint.delay);\n return;\n }\n\n if (isDistanceConstraint(activationConstraint)) {\n return;\n }\n }\n\n this.handleStart();\n }\n\n detach() {\n this.listeners.removeAll();\n this.windowListeners.removeAll(); // Wait until the next event loop before removing document listeners\n // This is necessary because we listen for `click` and `selection` events on the document\n\n setTimeout(this.documentListeners.removeAll, 50);\n\n if (this.timeoutId !== null) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n }\n\n handleStart() {\n const {\n initialCoordinates\n } = this;\n const {\n onStart\n } = this.props;\n\n if (initialCoordinates) {\n this.activated = true; // Stop propagation of click events once activation constraints are met\n\n this.documentListeners.add(EventName.Click, stopPropagation, {\n capture: true\n }); // Remove any text selection from the document\n\n this.removeTextSelection(); // Prevent further text selection while dragging\n\n this.documentListeners.add(EventName.SelectionChange, this.removeTextSelection);\n onStart(initialCoordinates);\n }\n }\n\n handleMove(event) {\n var _getEventCoordinates2;\n\n const {\n activated,\n initialCoordinates,\n props\n } = this;\n const {\n onMove,\n options: {\n activationConstraint\n }\n } = props;\n\n if (!initialCoordinates) {\n return;\n }\n\n const coordinates = (_getEventCoordinates2 = getEventCoordinates(event)) != null ? _getEventCoordinates2 : defaultCoordinates;\n const delta = subtract(initialCoordinates, coordinates); // Constraint validation\n\n if (!activated && activationConstraint) {\n if (isDistanceConstraint(activationConstraint)) {\n if (activationConstraint.tolerance != null && hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n\n if (hasExceededDistance(delta, activationConstraint.distance)) {\n return this.handleStart();\n }\n }\n\n if (isDelayConstraint(activationConstraint)) {\n if (hasExceededDistance(delta, activationConstraint.tolerance)) {\n return this.handleCancel();\n }\n }\n\n return;\n }\n\n if (event.cancelable) {\n event.preventDefault();\n }\n\n onMove(coordinates);\n }\n\n handleEnd() {\n const {\n onEnd\n } = this.props;\n this.detach();\n onEnd();\n }\n\n handleCancel() {\n const {\n onCancel\n } = this.props;\n this.detach();\n onCancel();\n }\n\n handleKeydown(event) {\n if (event.code === KeyboardCode.Esc) {\n this.handleCancel();\n }\n }\n\n removeTextSelection() {\n var _this$document$getSel;\n\n (_this$document$getSel = this.document.getSelection()) == null ? void 0 : _this$document$getSel.removeAllRanges();\n }\n\n}\n\nconst events = {\n move: {\n name: 'pointermove'\n },\n end: {\n name: 'pointerup'\n }\n};\nclass PointerSensor extends AbstractPointerSensor {\n constructor(props) {\n const {\n event\n } = props; // Pointer events stop firing if the target is unmounted while dragging\n // Therefore we attach listeners to the owner document instead\n\n const listenerTarget = getOwnerDocument(event.target);\n super(props, events, listenerTarget);\n }\n\n}\nPointerSensor.activators = [{\n eventName: 'onPointerDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (!event.isPrimary || event.button !== 0) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$1 = {\n move: {\n name: 'mousemove'\n },\n end: {\n name: 'mouseup'\n }\n};\nvar MouseButton;\n\n(function (MouseButton) {\n MouseButton[MouseButton[\"RightClick\"] = 2] = \"RightClick\";\n})(MouseButton || (MouseButton = {}));\n\nclass MouseSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$1, getOwnerDocument(props.event.target));\n }\n\n}\nMouseSensor.activators = [{\n eventName: 'onMouseDown',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n\n if (event.button === MouseButton.RightClick) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nconst events$2 = {\n move: {\n name: 'touchmove'\n },\n end: {\n name: 'touchend'\n }\n};\nclass TouchSensor extends AbstractPointerSensor {\n constructor(props) {\n super(props, events$2);\n }\n\n static setup() {\n // Adding a non-capture and non-passive `touchmove` listener in order\n // to force `event.preventDefault()` calls to work in dynamically added\n // touchmove event handlers. This is required for iOS Safari.\n window.addEventListener(events$2.move.name, noop, {\n capture: false,\n passive: false\n });\n return function teardown() {\n window.removeEventListener(events$2.move.name, noop);\n }; // We create a new handler because the teardown function of another sensor\n // could remove our event listener if we use a referentially equal listener.\n\n function noop() {}\n }\n\n}\nTouchSensor.activators = [{\n eventName: 'onTouchStart',\n handler: (_ref, _ref2) => {\n let {\n nativeEvent: event\n } = _ref;\n let {\n onActivation\n } = _ref2;\n const {\n touches\n } = event;\n\n if (touches.length > 1) {\n return false;\n }\n\n onActivation == null ? void 0 : onActivation({\n event\n });\n return true;\n }\n}];\n\nvar AutoScrollActivator;\n\n(function (AutoScrollActivator) {\n AutoScrollActivator[AutoScrollActivator[\"Pointer\"] = 0] = \"Pointer\";\n AutoScrollActivator[AutoScrollActivator[\"DraggableRect\"] = 1] = \"DraggableRect\";\n})(AutoScrollActivator || (AutoScrollActivator = {}));\n\nvar TraversalOrder;\n\n(function (TraversalOrder) {\n TraversalOrder[TraversalOrder[\"TreeOrder\"] = 0] = \"TreeOrder\";\n TraversalOrder[TraversalOrder[\"ReversedTreeOrder\"] = 1] = \"ReversedTreeOrder\";\n})(TraversalOrder || (TraversalOrder = {}));\n\nfunction useAutoScroller(_ref) {\n let {\n acceleration,\n activator = AutoScrollActivator.Pointer,\n canScroll,\n draggingRect,\n enabled,\n interval = 5,\n order = TraversalOrder.TreeOrder,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects,\n delta,\n threshold\n } = _ref;\n const scrollIntent = useScrollIntent({\n delta,\n disabled: !enabled\n });\n const [setAutoScrollInterval, clearAutoScrollInterval] = useInterval();\n const scrollSpeed = useRef({\n x: 0,\n y: 0\n });\n const scrollDirection = useRef({\n x: 0,\n y: 0\n });\n const rect = useMemo(() => {\n switch (activator) {\n case AutoScrollActivator.Pointer:\n return pointerCoordinates ? {\n top: pointerCoordinates.y,\n bottom: pointerCoordinates.y,\n left: pointerCoordinates.x,\n right: pointerCoordinates.x\n } : null;\n\n case AutoScrollActivator.DraggableRect:\n return draggingRect;\n }\n }, [activator, draggingRect, pointerCoordinates]);\n const scrollContainerRef = useRef(null);\n const autoScroll = useCallback(() => {\n const scrollContainer = scrollContainerRef.current;\n\n if (!scrollContainer) {\n return;\n }\n\n const scrollLeft = scrollSpeed.current.x * scrollDirection.current.x;\n const scrollTop = scrollSpeed.current.y * scrollDirection.current.y;\n scrollContainer.scrollBy(scrollLeft, scrollTop);\n }, []);\n const sortedScrollableAncestors = useMemo(() => order === TraversalOrder.TreeOrder ? [...scrollableAncestors].reverse() : scrollableAncestors, [order, scrollableAncestors]);\n useEffect(() => {\n if (!enabled || !scrollableAncestors.length || !rect) {\n clearAutoScrollInterval();\n return;\n }\n\n for (const scrollContainer of sortedScrollableAncestors) {\n if ((canScroll == null ? void 0 : canScroll(scrollContainer)) === false) {\n continue;\n }\n\n const index = scrollableAncestors.indexOf(scrollContainer);\n const scrollContainerRect = scrollableAncestorRects[index];\n\n if (!scrollContainerRect) {\n continue;\n }\n\n const {\n direction,\n speed\n } = getScrollDirectionAndSpeed(scrollContainer, scrollContainerRect, rect, acceleration, threshold);\n\n for (const axis of ['x', 'y']) {\n if (!scrollIntent[axis][direction[axis]]) {\n speed[axis] = 0;\n direction[axis] = 0;\n }\n }\n\n if (speed.x > 0 || speed.y > 0) {\n clearAutoScrollInterval();\n scrollContainerRef.current = scrollContainer;\n setAutoScrollInterval(autoScroll, interval);\n scrollSpeed.current = speed;\n scrollDirection.current = direction;\n return;\n }\n }\n\n scrollSpeed.current = {\n x: 0,\n y: 0\n };\n scrollDirection.current = {\n x: 0,\n y: 0\n };\n clearAutoScrollInterval();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [acceleration, autoScroll, canScroll, clearAutoScrollInterval, enabled, interval, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(rect), // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(scrollIntent), setAutoScrollInterval, scrollableAncestors, sortedScrollableAncestors, scrollableAncestorRects, // eslint-disable-next-line react-hooks/exhaustive-deps\n JSON.stringify(threshold)]);\n}\nconst defaultScrollIntent = {\n x: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n },\n y: {\n [Direction.Backward]: false,\n [Direction.Forward]: false\n }\n};\n\nfunction useScrollIntent(_ref2) {\n let {\n delta,\n disabled\n } = _ref2;\n const previousDelta = usePrevious(delta);\n return useLazyMemo(previousIntent => {\n if (disabled || !previousDelta || !previousIntent) {\n // Reset scroll intent tracking when auto-scrolling is disabled\n return defaultScrollIntent;\n }\n\n const direction = {\n x: Math.sign(delta.x - previousDelta.x),\n y: Math.sign(delta.y - previousDelta.y)\n }; // Keep track of the user intent to scroll in each direction for both axis\n\n return {\n x: {\n [Direction.Backward]: previousIntent.x[Direction.Backward] || direction.x === -1,\n [Direction.Forward]: previousIntent.x[Direction.Forward] || direction.x === 1\n },\n y: {\n [Direction.Backward]: previousIntent.y[Direction.Backward] || direction.y === -1,\n [Direction.Forward]: previousIntent.y[Direction.Forward] || direction.y === 1\n }\n };\n }, [disabled, delta, previousDelta]);\n}\n\nfunction useCachedNode(draggableNodes, id) {\n const draggableNode = id !== null ? draggableNodes.get(id) : undefined;\n const node = draggableNode ? draggableNode.node.current : null;\n return useLazyMemo(cachedNode => {\n var _ref;\n\n if (id === null) {\n return null;\n } // In some cases, the draggable node can unmount while dragging\n // This is the case for virtualized lists. In those situations,\n // we fall back to the last known value for that node.\n\n\n return (_ref = node != null ? node : cachedNode) != null ? _ref : null;\n }, [node, id]);\n}\n\nfunction useCombineActivators(sensors, getSyntheticHandler) {\n return useMemo(() => sensors.reduce((accumulator, sensor) => {\n const {\n sensor: Sensor\n } = sensor;\n const sensorActivators = Sensor.activators.map(activator => ({\n eventName: activator.eventName,\n handler: getSyntheticHandler(activator.handler, sensor)\n }));\n return [...accumulator, ...sensorActivators];\n }, []), [sensors, getSyntheticHandler]);\n}\n\nvar MeasuringStrategy;\n\n(function (MeasuringStrategy) {\n MeasuringStrategy[MeasuringStrategy[\"Always\"] = 0] = \"Always\";\n MeasuringStrategy[MeasuringStrategy[\"BeforeDragging\"] = 1] = \"BeforeDragging\";\n MeasuringStrategy[MeasuringStrategy[\"WhileDragging\"] = 2] = \"WhileDragging\";\n})(MeasuringStrategy || (MeasuringStrategy = {}));\n\nvar MeasuringFrequency;\n\n(function (MeasuringFrequency) {\n MeasuringFrequency[\"Optimized\"] = \"optimized\";\n})(MeasuringFrequency || (MeasuringFrequency = {}));\n\nconst defaultValue = /*#__PURE__*/new Map();\nfunction useDroppableMeasuring(containers, _ref) {\n let {\n dragging,\n dependencies,\n config\n } = _ref;\n const [queue, setQueue] = useState(null);\n const {\n frequency,\n measure,\n strategy\n } = config;\n const containersRef = useRef(containers);\n const disabled = isDisabled();\n const disabledRef = useLatestValue(disabled);\n const measureDroppableContainers = useCallback(function (ids) {\n if (ids === void 0) {\n ids = [];\n }\n\n if (disabledRef.current) {\n return;\n }\n\n setQueue(value => {\n if (value === null) {\n return ids;\n }\n\n return value.concat(ids.filter(id => !value.includes(id)));\n });\n }, [disabledRef]);\n const timeoutId = useRef(null);\n const droppableRects = useLazyMemo(previousValue => {\n if (disabled && !dragging) {\n return defaultValue;\n }\n\n if (!previousValue || previousValue === defaultValue || containersRef.current !== containers || queue != null) {\n const map = new Map();\n\n for (let container of containers) {\n if (!container) {\n continue;\n }\n\n if (queue && queue.length > 0 && !queue.includes(container.id) && container.rect.current) {\n // This container does not need to be re-measured\n map.set(container.id, container.rect.current);\n continue;\n }\n\n const node = container.node.current;\n const rect = node ? new Rect(measure(node), node) : null;\n container.rect.current = rect;\n\n if (rect) {\n map.set(container.id, rect);\n }\n }\n\n return map;\n }\n\n return previousValue;\n }, [containers, queue, dragging, disabled, measure]);\n useEffect(() => {\n containersRef.current = containers;\n }, [containers]);\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n measureDroppableContainers();\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [dragging, disabled]);\n useEffect(() => {\n if (queue && queue.length > 0) {\n setQueue(null);\n }\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [JSON.stringify(queue)]);\n useEffect(() => {\n if (disabled || typeof frequency !== 'number' || timeoutId.current !== null) {\n return;\n }\n\n timeoutId.current = setTimeout(() => {\n measureDroppableContainers();\n timeoutId.current = null;\n }, frequency);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [frequency, disabled, measureDroppableContainers, ...dependencies]);\n return {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled: queue != null\n };\n\n function isDisabled() {\n switch (strategy) {\n case MeasuringStrategy.Always:\n return false;\n\n case MeasuringStrategy.BeforeDragging:\n return dragging;\n\n default:\n return !dragging;\n }\n }\n}\n\nfunction useInitialValue(value, computeFn) {\n return useLazyMemo(previousValue => {\n if (!value) {\n return null;\n }\n\n if (previousValue) {\n return previousValue;\n }\n\n return typeof computeFn === 'function' ? computeFn(value) : value;\n }, [computeFn, value]);\n}\n\nfunction useInitialRect(node, measure) {\n return useInitialValue(node, measure);\n}\n\n/**\r\n * Returns a new MutationObserver instance.\r\n * If `MutationObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useMutationObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleMutations = useEvent(callback);\n const mutationObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.MutationObserver === 'undefined') {\n return undefined;\n }\n\n const {\n MutationObserver\n } = window;\n return new MutationObserver(handleMutations);\n }, [handleMutations, disabled]);\n useEffect(() => {\n return () => mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }, [mutationObserver]);\n return mutationObserver;\n}\n\n/**\r\n * Returns a new ResizeObserver instance bound to the `onResize` callback.\r\n * If `ResizeObserver` is undefined in the execution environment, returns `undefined`.\r\n */\n\nfunction useResizeObserver(_ref) {\n let {\n callback,\n disabled\n } = _ref;\n const handleResize = useEvent(callback);\n const resizeObserver = useMemo(() => {\n if (disabled || typeof window === 'undefined' || typeof window.ResizeObserver === 'undefined') {\n return undefined;\n }\n\n const {\n ResizeObserver\n } = window;\n return new ResizeObserver(handleResize);\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [disabled]);\n useEffect(() => {\n return () => resizeObserver == null ? void 0 : resizeObserver.disconnect();\n }, [resizeObserver]);\n return resizeObserver;\n}\n\nfunction defaultMeasure(element) {\n return new Rect(getClientRect(element), element);\n}\n\nfunction useRect(element, measure, fallbackRect) {\n if (measure === void 0) {\n measure = defaultMeasure;\n }\n\n const [rect, measureRect] = useReducer(reducer, null);\n const mutationObserver = useMutationObserver({\n callback(records) {\n if (!element) {\n return;\n }\n\n for (const record of records) {\n const {\n type,\n target\n } = record;\n\n if (type === 'childList' && target instanceof HTMLElement && target.contains(element)) {\n measureRect();\n break;\n }\n }\n }\n\n });\n const resizeObserver = useResizeObserver({\n callback: measureRect\n });\n useIsomorphicLayoutEffect(() => {\n measureRect();\n\n if (element) {\n resizeObserver == null ? void 0 : resizeObserver.observe(element);\n mutationObserver == null ? void 0 : mutationObserver.observe(document.body, {\n childList: true,\n subtree: true\n });\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n mutationObserver == null ? void 0 : mutationObserver.disconnect();\n }\n }, [element]);\n return rect;\n\n function reducer(currentRect) {\n if (!element) {\n return null;\n }\n\n if (element.isConnected === false) {\n var _ref;\n\n // Fall back to last rect we measured if the element is\n // no longer connected to the DOM.\n return (_ref = currentRect != null ? currentRect : fallbackRect) != null ? _ref : null;\n }\n\n const newRect = measure(element);\n\n if (JSON.stringify(currentRect) === JSON.stringify(newRect)) {\n return currentRect;\n }\n\n return newRect;\n }\n}\n\nfunction useRectDelta(rect) {\n const initialRect = useInitialValue(rect);\n return getRectDelta(rect, initialRect);\n}\n\nconst defaultValue$1 = [];\nfunction useScrollableAncestors(node) {\n const previousNode = useRef(node);\n const ancestors = useLazyMemo(previousValue => {\n if (!node) {\n return defaultValue$1;\n }\n\n if (previousValue && previousValue !== defaultValue$1 && node && previousNode.current && node.parentNode === previousNode.current.parentNode) {\n return previousValue;\n }\n\n return getScrollableAncestors(node);\n }, [node]);\n useEffect(() => {\n previousNode.current = node;\n }, [node]);\n return ancestors;\n}\n\nfunction useScrollOffsets(elements) {\n const [scrollCoordinates, setScrollCoordinates] = useState(null);\n const prevElements = useRef(elements); // To-do: Throttle the handleScroll callback\n\n const handleScroll = useCallback(event => {\n const scrollingElement = getScrollableElement(event.target);\n\n if (!scrollingElement) {\n return;\n }\n\n setScrollCoordinates(scrollCoordinates => {\n if (!scrollCoordinates) {\n return null;\n }\n\n scrollCoordinates.set(scrollingElement, getScrollCoordinates(scrollingElement));\n return new Map(scrollCoordinates);\n });\n }, []);\n useEffect(() => {\n const previousElements = prevElements.current;\n\n if (elements !== previousElements) {\n cleanup(previousElements);\n const entries = elements.map(element => {\n const scrollableElement = getScrollableElement(element);\n\n if (scrollableElement) {\n scrollableElement.addEventListener('scroll', handleScroll, {\n passive: true\n });\n return [scrollableElement, getScrollCoordinates(scrollableElement)];\n }\n\n return null;\n }).filter(entry => entry != null);\n setScrollCoordinates(entries.length ? new Map(entries) : null);\n prevElements.current = elements;\n }\n\n return () => {\n cleanup(elements);\n cleanup(previousElements);\n };\n\n function cleanup(elements) {\n elements.forEach(element => {\n const scrollableElement = getScrollableElement(element);\n scrollableElement == null ? void 0 : scrollableElement.removeEventListener('scroll', handleScroll);\n });\n }\n }, [handleScroll, elements]);\n return useMemo(() => {\n if (elements.length) {\n return scrollCoordinates ? Array.from(scrollCoordinates.values()).reduce((acc, coordinates) => add(acc, coordinates), defaultCoordinates) : getScrollOffsets(elements);\n }\n\n return defaultCoordinates;\n }, [elements, scrollCoordinates]);\n}\n\nfunction useScrollOffsetsDelta(scrollOffsets, dependencies) {\n if (dependencies === void 0) {\n dependencies = [];\n }\n\n const initialScrollOffsets = useRef(null);\n useEffect(() => {\n initialScrollOffsets.current = null;\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n dependencies);\n useEffect(() => {\n const hasScrollOffsets = scrollOffsets !== defaultCoordinates;\n\n if (hasScrollOffsets && !initialScrollOffsets.current) {\n initialScrollOffsets.current = scrollOffsets;\n }\n\n if (!hasScrollOffsets && initialScrollOffsets.current) {\n initialScrollOffsets.current = null;\n }\n }, [scrollOffsets]);\n return initialScrollOffsets.current ? subtract(scrollOffsets, initialScrollOffsets.current) : defaultCoordinates;\n}\n\nfunction useSensorSetup(sensors) {\n useEffect(() => {\n if (!canUseDOM) {\n return;\n }\n\n const teardownFns = sensors.map(_ref => {\n let {\n sensor\n } = _ref;\n return sensor.setup == null ? void 0 : sensor.setup();\n });\n return () => {\n for (const teardown of teardownFns) {\n teardown == null ? void 0 : teardown();\n }\n };\n }, // TO-DO: Sensors length could theoretically change which would not be a valid dependency\n // eslint-disable-next-line react-hooks/exhaustive-deps\n sensors.map(_ref2 => {\n let {\n sensor\n } = _ref2;\n return sensor;\n }));\n}\n\nfunction useSyntheticListeners(listeners, id) {\n return useMemo(() => {\n return listeners.reduce((acc, _ref) => {\n let {\n eventName,\n handler\n } = _ref;\n\n acc[eventName] = event => {\n handler(event, id);\n };\n\n return acc;\n }, {});\n }, [listeners, id]);\n}\n\nfunction useWindowRect(element) {\n return useMemo(() => element ? getWindowClientRect(element) : null, [element]);\n}\n\nconst defaultValue$2 = [];\nfunction useRects(elements, measure) {\n if (measure === void 0) {\n measure = getClientRect;\n }\n\n const [firstElement] = elements;\n const windowRect = useWindowRect(firstElement ? getWindow(firstElement) : null);\n const [rects, measureRects] = useReducer(reducer, defaultValue$2);\n const resizeObserver = useResizeObserver({\n callback: measureRects\n });\n\n if (elements.length > 0 && rects === defaultValue$2) {\n measureRects();\n }\n\n useIsomorphicLayoutEffect(() => {\n if (elements.length) {\n elements.forEach(element => resizeObserver == null ? void 0 : resizeObserver.observe(element));\n } else {\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n measureRects();\n }\n }, [elements]);\n return rects;\n\n function reducer() {\n if (!elements.length) {\n return defaultValue$2;\n }\n\n return elements.map(element => isDocumentScrollingElement(element) ? windowRect : new Rect(measure(element), element));\n }\n}\n\nfunction getMeasurableNode(node) {\n if (!node) {\n return null;\n }\n\n if (node.children.length > 1) {\n return node;\n }\n\n const firstChild = node.children[0];\n return isHTMLElement(firstChild) ? firstChild : node;\n}\n\nfunction useDragOverlayMeasuring(_ref) {\n let {\n measure\n } = _ref;\n const [rect, setRect] = useState(null);\n const handleResize = useCallback(entries => {\n for (const {\n target\n } of entries) {\n if (isHTMLElement(target)) {\n setRect(rect => {\n const newRect = measure(target);\n return rect ? { ...rect,\n width: newRect.width,\n height: newRect.height\n } : newRect;\n });\n break;\n }\n }\n }, [measure]);\n const resizeObserver = useResizeObserver({\n callback: handleResize\n });\n const handleNodeChange = useCallback(element => {\n const node = getMeasurableNode(element);\n resizeObserver == null ? void 0 : resizeObserver.disconnect();\n\n if (node) {\n resizeObserver == null ? void 0 : resizeObserver.observe(node);\n }\n\n setRect(node ? measure(node) : null);\n }, [measure, resizeObserver]);\n const [nodeRef, setRef] = useNodeRef(handleNodeChange);\n return useMemo(() => ({\n nodeRef,\n rect,\n setRef\n }), [rect, nodeRef, setRef]);\n}\n\nconst defaultSensors = [{\n sensor: PointerSensor,\n options: {}\n}, {\n sensor: KeyboardSensor,\n options: {}\n}];\nconst defaultData = {\n current: {}\n};\nconst defaultMeasuringConfiguration = {\n draggable: {\n measure: getTransformAgnosticClientRect\n },\n droppable: {\n measure: getTransformAgnosticClientRect,\n strategy: MeasuringStrategy.WhileDragging,\n frequency: MeasuringFrequency.Optimized\n },\n dragOverlay: {\n measure: getClientRect\n }\n};\n\nclass DroppableContainersMap extends Map {\n get(id) {\n var _super$get;\n\n return id != null ? (_super$get = super.get(id)) != null ? _super$get : undefined : undefined;\n }\n\n toArray() {\n return Array.from(this.values());\n }\n\n getEnabled() {\n return this.toArray().filter(_ref => {\n let {\n disabled\n } = _ref;\n return !disabled;\n });\n }\n\n getNodeFor(id) {\n var _this$get$node$curren, _this$get;\n\n return (_this$get$node$curren = (_this$get = this.get(id)) == null ? void 0 : _this$get.node.current) != null ? _this$get$node$curren : undefined;\n }\n\n}\n\nconst defaultPublicContext = {\n activatorEvent: null,\n active: null,\n activeNode: null,\n activeNodeRect: null,\n collisions: null,\n containerNodeRect: null,\n draggableNodes: /*#__PURE__*/new Map(),\n droppableRects: /*#__PURE__*/new Map(),\n droppableContainers: /*#__PURE__*/new DroppableContainersMap(),\n over: null,\n dragOverlay: {\n nodeRef: {\n current: null\n },\n rect: null,\n setRef: noop\n },\n scrollableAncestors: [],\n scrollableAncestorRects: [],\n measuringConfiguration: defaultMeasuringConfiguration,\n measureDroppableContainers: noop,\n windowRect: null,\n measuringScheduled: false\n};\nconst defaultInternalContext = {\n activatorEvent: null,\n activators: [],\n active: null,\n activeNodeRect: null,\n ariaDescribedById: {\n draggable: ''\n },\n dispatch: noop,\n draggableNodes: /*#__PURE__*/new Map(),\n over: null,\n measureDroppableContainers: noop\n};\nconst InternalContext = /*#__PURE__*/createContext(defaultInternalContext);\nconst PublicContext = /*#__PURE__*/createContext(defaultPublicContext);\n\nfunction getInitialState() {\n return {\n draggable: {\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n nodes: new Map(),\n translate: {\n x: 0,\n y: 0\n }\n },\n droppable: {\n containers: new DroppableContainersMap()\n }\n };\n}\nfunction reducer(state, action) {\n switch (action.type) {\n case Action.DragStart:\n return { ...state,\n draggable: { ...state.draggable,\n initialCoordinates: action.initialCoordinates,\n active: action.active\n }\n };\n\n case Action.DragMove:\n if (!state.draggable.active) {\n return state;\n }\n\n return { ...state,\n draggable: { ...state.draggable,\n translate: {\n x: action.coordinates.x - state.draggable.initialCoordinates.x,\n y: action.coordinates.y - state.draggable.initialCoordinates.y\n }\n }\n };\n\n case Action.DragEnd:\n case Action.DragCancel:\n return { ...state,\n draggable: { ...state.draggable,\n active: null,\n initialCoordinates: {\n x: 0,\n y: 0\n },\n translate: {\n x: 0,\n y: 0\n }\n }\n };\n\n case Action.RegisterDroppable:\n {\n const {\n element\n } = action;\n const {\n id\n } = element;\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, element);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.SetDroppableDisabled:\n {\n const {\n id,\n key,\n disabled\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.set(id, { ...element,\n disabled\n });\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n case Action.UnregisterDroppable:\n {\n const {\n id,\n key\n } = action;\n const element = state.droppable.containers.get(id);\n\n if (!element || key !== element.key) {\n return state;\n }\n\n const containers = new DroppableContainersMap(state.droppable.containers);\n containers.delete(id);\n return { ...state,\n droppable: { ...state.droppable,\n containers\n }\n };\n }\n\n default:\n {\n return state;\n }\n }\n}\n\nfunction RestoreFocus(_ref) {\n let {\n disabled\n } = _ref;\n const {\n active,\n activatorEvent,\n draggableNodes\n } = useContext(InternalContext);\n const previousActivatorEvent = usePrevious(activatorEvent);\n const previousActiveId = usePrevious(active == null ? void 0 : active.id); // Restore keyboard focus on the activator node\n\n useEffect(() => {\n if (disabled) {\n return;\n }\n\n if (!activatorEvent && previousActivatorEvent && previousActiveId != null) {\n if (!isKeyboardEvent(previousActivatorEvent)) {\n return;\n }\n\n if (document.activeElement === previousActivatorEvent.target) {\n // No need to restore focus\n return;\n }\n\n const draggableNode = draggableNodes.get(previousActiveId);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n activatorNode,\n node\n } = draggableNode;\n\n if (!activatorNode.current && !node.current) {\n return;\n }\n\n requestAnimationFrame(() => {\n for (const element of [activatorNode.current, node.current]) {\n if (!element) {\n continue;\n }\n\n const focusableNode = findFirstFocusableNode(element);\n\n if (focusableNode) {\n focusableNode.focus();\n break;\n }\n }\n });\n }\n }, [activatorEvent, disabled, draggableNodes, previousActiveId, previousActivatorEvent]);\n return null;\n}\n\nfunction applyModifiers(modifiers, _ref) {\n let {\n transform,\n ...args\n } = _ref;\n return modifiers != null && modifiers.length ? modifiers.reduce((accumulator, modifier) => {\n return modifier({\n transform: accumulator,\n ...args\n });\n }, transform) : transform;\n}\n\nfunction useMeasuringConfiguration(config) {\n return useMemo(() => ({\n draggable: { ...defaultMeasuringConfiguration.draggable,\n ...(config == null ? void 0 : config.draggable)\n },\n droppable: { ...defaultMeasuringConfiguration.droppable,\n ...(config == null ? void 0 : config.droppable)\n },\n dragOverlay: { ...defaultMeasuringConfiguration.dragOverlay,\n ...(config == null ? void 0 : config.dragOverlay)\n }\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n [config == null ? void 0 : config.draggable, config == null ? void 0 : config.droppable, config == null ? void 0 : config.dragOverlay]);\n}\n\nfunction useLayoutShiftScrollCompensation(_ref) {\n let {\n activeNode,\n measure,\n initialRect,\n config = true\n } = _ref;\n const initialized = useRef(false);\n const {\n x,\n y\n } = typeof config === 'boolean' ? {\n x: config,\n y: config\n } : config;\n useIsomorphicLayoutEffect(() => {\n const disabled = !x && !y;\n\n if (disabled || !activeNode) {\n initialized.current = false;\n return;\n }\n\n if (initialized.current || !initialRect) {\n // Return early if layout shift scroll compensation was already attempted\n // or if there is no initialRect to compare to.\n return;\n } // Get the most up to date node ref for the active draggable\n\n\n const node = activeNode == null ? void 0 : activeNode.node.current;\n\n if (!node || node.isConnected === false) {\n // Return early if there is no attached node ref or if the node is\n // disconnected from the document.\n return;\n }\n\n const rect = measure(node);\n const rectDelta = getRectDelta(rect, initialRect);\n\n if (!x) {\n rectDelta.x = 0;\n }\n\n if (!y) {\n rectDelta.y = 0;\n } // Only perform layout shift scroll compensation once\n\n\n initialized.current = true;\n\n if (Math.abs(rectDelta.x) > 0 || Math.abs(rectDelta.y) > 0) {\n const firstScrollableAncestor = getFirstScrollableAncestor(node);\n\n if (firstScrollableAncestor) {\n firstScrollableAncestor.scrollBy({\n top: rectDelta.y,\n left: rectDelta.x\n });\n }\n }\n }, [activeNode, x, y, initialRect, measure]);\n}\n\nconst ActiveDraggableContext = /*#__PURE__*/createContext({ ...defaultCoordinates,\n scaleX: 1,\n scaleY: 1\n});\nvar Status;\n\n(function (Status) {\n Status[Status[\"Uninitialized\"] = 0] = \"Uninitialized\";\n Status[Status[\"Initializing\"] = 1] = \"Initializing\";\n Status[Status[\"Initialized\"] = 2] = \"Initialized\";\n})(Status || (Status = {}));\n\nconst DndContext = /*#__PURE__*/memo(function DndContext(_ref) {\n var _sensorContext$curren, _dragOverlay$nodeRef$, _dragOverlay$rect, _over$rect;\n\n let {\n id,\n accessibility,\n autoScroll = true,\n children,\n sensors = defaultSensors,\n collisionDetection = rectIntersection,\n measuring,\n modifiers,\n ...props\n } = _ref;\n const store = useReducer(reducer, undefined, getInitialState);\n const [state, dispatch] = store;\n const [dispatchMonitorEvent, registerMonitorListener] = useDndMonitorProvider();\n const [status, setStatus] = useState(Status.Uninitialized);\n const isInitialized = status === Status.Initialized;\n const {\n draggable: {\n active: activeId,\n nodes: draggableNodes,\n translate\n },\n droppable: {\n containers: droppableContainers\n }\n } = state;\n const node = activeId ? draggableNodes.get(activeId) : null;\n const activeRects = useRef({\n initial: null,\n translated: null\n });\n const active = useMemo(() => {\n var _node$data;\n\n return activeId != null ? {\n id: activeId,\n // It's possible for the active node to unmount while dragging\n data: (_node$data = node == null ? void 0 : node.data) != null ? _node$data : defaultData,\n rect: activeRects\n } : null;\n }, [activeId, node]);\n const activeRef = useRef(null);\n const [activeSensor, setActiveSensor] = useState(null);\n const [activatorEvent, setActivatorEvent] = useState(null);\n const latestProps = useLatestValue(props, Object.values(props));\n const draggableDescribedById = useUniqueId(\"DndDescribedBy\", id);\n const enabledDroppableContainers = useMemo(() => droppableContainers.getEnabled(), [droppableContainers]);\n const measuringConfiguration = useMeasuringConfiguration(measuring);\n const {\n droppableRects,\n measureDroppableContainers,\n measuringScheduled\n } = useDroppableMeasuring(enabledDroppableContainers, {\n dragging: isInitialized,\n dependencies: [translate.x, translate.y],\n config: measuringConfiguration.droppable\n });\n const activeNode = useCachedNode(draggableNodes, activeId);\n const activationCoordinates = useMemo(() => activatorEvent ? getEventCoordinates(activatorEvent) : null, [activatorEvent]);\n const autoScrollOptions = getAutoScrollerOptions();\n const initialActiveNodeRect = useInitialRect(activeNode, measuringConfiguration.draggable.measure);\n useLayoutShiftScrollCompensation({\n activeNode: activeId ? draggableNodes.get(activeId) : null,\n config: autoScrollOptions.layoutShiftCompensation,\n initialRect: initialActiveNodeRect,\n measure: measuringConfiguration.draggable.measure\n });\n const activeNodeRect = useRect(activeNode, measuringConfiguration.draggable.measure, initialActiveNodeRect);\n const containerNodeRect = useRect(activeNode ? activeNode.parentElement : null);\n const sensorContext = useRef({\n activatorEvent: null,\n active: null,\n activeNode,\n collisionRect: null,\n collisions: null,\n droppableRects,\n draggableNodes,\n draggingNode: null,\n draggingNodeRect: null,\n droppableContainers,\n over: null,\n scrollableAncestors: [],\n scrollAdjustedTranslate: null\n });\n const overNode = droppableContainers.getNodeFor((_sensorContext$curren = sensorContext.current.over) == null ? void 0 : _sensorContext$curren.id);\n const dragOverlay = useDragOverlayMeasuring({\n measure: measuringConfiguration.dragOverlay.measure\n }); // Use the rect of the drag overlay if it is mounted\n\n const draggingNode = (_dragOverlay$nodeRef$ = dragOverlay.nodeRef.current) != null ? _dragOverlay$nodeRef$ : activeNode;\n const draggingNodeRect = isInitialized ? (_dragOverlay$rect = dragOverlay.rect) != null ? _dragOverlay$rect : activeNodeRect : null;\n const usesDragOverlay = Boolean(dragOverlay.nodeRef.current && dragOverlay.rect); // The delta between the previous and new position of the draggable node\n // is only relevant when there is no drag overlay\n\n const nodeRectDelta = useRectDelta(usesDragOverlay ? null : activeNodeRect); // Get the window rect of the dragging node\n\n const windowRect = useWindowRect(draggingNode ? getWindow(draggingNode) : null); // Get scrollable ancestors of the dragging node\n\n const scrollableAncestors = useScrollableAncestors(isInitialized ? overNode != null ? overNode : activeNode : null);\n const scrollableAncestorRects = useRects(scrollableAncestors); // Apply modifiers\n\n const modifiedTranslate = applyModifiers(modifiers, {\n transform: {\n x: translate.x - nodeRectDelta.x,\n y: translate.y - nodeRectDelta.y,\n scaleX: 1,\n scaleY: 1\n },\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect,\n over: sensorContext.current.over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n });\n const pointerCoordinates = activationCoordinates ? add(activationCoordinates, translate) : null;\n const scrollOffsets = useScrollOffsets(scrollableAncestors); // Represents the scroll delta since dragging was initiated\n\n const scrollAdjustment = useScrollOffsetsDelta(scrollOffsets); // Represents the scroll delta since the last time the active node rect was measured\n\n const activeNodeScrollDelta = useScrollOffsetsDelta(scrollOffsets, [activeNodeRect]);\n const scrollAdjustedTranslate = add(modifiedTranslate, scrollAdjustment);\n const collisionRect = draggingNodeRect ? getAdjustedRect(draggingNodeRect, modifiedTranslate) : null;\n const collisions = active && collisionRect ? collisionDetection({\n active,\n collisionRect,\n droppableRects,\n droppableContainers: enabledDroppableContainers,\n pointerCoordinates\n }) : null;\n const overId = getFirstCollision(collisions, 'id');\n const [over, setOver] = useState(null); // When there is no drag overlay used, we need to account for the\n // window scroll delta\n\n const appliedTranslate = usesDragOverlay ? modifiedTranslate : add(modifiedTranslate, activeNodeScrollDelta);\n const transform = adjustScale(appliedTranslate, (_over$rect = over == null ? void 0 : over.rect) != null ? _over$rect : null, activeNodeRect);\n const instantiateSensor = useCallback((event, _ref2) => {\n let {\n sensor: Sensor,\n options\n } = _ref2;\n\n if (activeRef.current == null) {\n return;\n }\n\n const activeNode = draggableNodes.get(activeRef.current);\n\n if (!activeNode) {\n return;\n }\n\n const activatorEvent = event.nativeEvent;\n const sensorInstance = new Sensor({\n active: activeRef.current,\n activeNode,\n event: activatorEvent,\n options,\n // Sensors need to be instantiated with refs for arguments that change over time\n // otherwise they are frozen in time with the stale arguments\n context: sensorContext,\n\n onStart(initialCoordinates) {\n const id = activeRef.current;\n\n if (id == null) {\n return;\n }\n\n const draggableNode = draggableNodes.get(id);\n\n if (!draggableNode) {\n return;\n }\n\n const {\n onDragStart\n } = latestProps.current;\n const event = {\n active: {\n id,\n data: draggableNode.data,\n rect: activeRects\n }\n };\n unstable_batchedUpdates(() => {\n onDragStart == null ? void 0 : onDragStart(event);\n setStatus(Status.Initializing);\n dispatch({\n type: Action.DragStart,\n initialCoordinates,\n active: id\n });\n dispatchMonitorEvent({\n type: 'onDragStart',\n event\n });\n });\n },\n\n onMove(coordinates) {\n dispatch({\n type: Action.DragMove,\n coordinates\n });\n },\n\n onEnd: createHandler(Action.DragEnd),\n onCancel: createHandler(Action.DragCancel)\n });\n unstable_batchedUpdates(() => {\n setActiveSensor(sensorInstance);\n setActivatorEvent(event.nativeEvent);\n });\n\n function createHandler(type) {\n return async function handler() {\n const {\n active,\n collisions,\n over,\n scrollAdjustedTranslate\n } = sensorContext.current;\n let event = null;\n\n if (active && scrollAdjustedTranslate) {\n const {\n cancelDrop\n } = latestProps.current;\n event = {\n activatorEvent,\n active: active,\n collisions,\n delta: scrollAdjustedTranslate,\n over\n };\n\n if (type === Action.DragEnd && typeof cancelDrop === 'function') {\n const shouldCancel = await Promise.resolve(cancelDrop(event));\n\n if (shouldCancel) {\n type = Action.DragCancel;\n }\n }\n }\n\n activeRef.current = null;\n unstable_batchedUpdates(() => {\n dispatch({\n type\n });\n setStatus(Status.Uninitialized);\n setOver(null);\n setActiveSensor(null);\n setActivatorEvent(null);\n const eventName = type === Action.DragEnd ? 'onDragEnd' : 'onDragCancel';\n\n if (event) {\n const handler = latestProps.current[eventName];\n handler == null ? void 0 : handler(event);\n dispatchMonitorEvent({\n type: eventName,\n event\n });\n }\n });\n };\n }\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes]);\n const bindActivatorToSensorInstantiator = useCallback((handler, sensor) => {\n return (event, active) => {\n const nativeEvent = event.nativeEvent;\n const activeDraggableNode = draggableNodes.get(active);\n\n if ( // Another sensor is already instantiating\n activeRef.current !== null || // No active draggable\n !activeDraggableNode || // Event has already been captured\n nativeEvent.dndKit || nativeEvent.defaultPrevented) {\n return;\n }\n\n const activationContext = {\n active: activeDraggableNode\n };\n const shouldActivate = handler(event, sensor.options, activationContext);\n\n if (shouldActivate === true) {\n nativeEvent.dndKit = {\n capturedBy: sensor.sensor\n };\n activeRef.current = active;\n instantiateSensor(event, sensor);\n }\n };\n }, [draggableNodes, instantiateSensor]);\n const activators = useCombineActivators(sensors, bindActivatorToSensorInstantiator);\n useSensorSetup(sensors);\n useIsomorphicLayoutEffect(() => {\n if (activeNodeRect && status === Status.Initializing) {\n setStatus(Status.Initialized);\n }\n }, [activeNodeRect, status]);\n useEffect(() => {\n const {\n onDragMove\n } = latestProps.current;\n const {\n active,\n activatorEvent,\n collisions,\n over\n } = sensorContext.current;\n\n if (!active || !activatorEvent) {\n return;\n }\n\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n onDragMove == null ? void 0 : onDragMove(event);\n dispatchMonitorEvent({\n type: 'onDragMove',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [scrollAdjustedTranslate.x, scrollAdjustedTranslate.y]);\n useEffect(() => {\n const {\n active,\n activatorEvent,\n collisions,\n droppableContainers,\n scrollAdjustedTranslate\n } = sensorContext.current;\n\n if (!active || activeRef.current == null || !activatorEvent || !scrollAdjustedTranslate) {\n return;\n }\n\n const {\n onDragOver\n } = latestProps.current;\n const overContainer = droppableContainers.get(overId);\n const over = overContainer && overContainer.rect.current ? {\n id: overContainer.id,\n rect: overContainer.rect.current,\n data: overContainer.data,\n disabled: overContainer.disabled\n } : null;\n const event = {\n active,\n activatorEvent,\n collisions,\n delta: {\n x: scrollAdjustedTranslate.x,\n y: scrollAdjustedTranslate.y\n },\n over\n };\n unstable_batchedUpdates(() => {\n setOver(over);\n onDragOver == null ? void 0 : onDragOver(event);\n dispatchMonitorEvent({\n type: 'onDragOver',\n event\n });\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [overId]);\n useIsomorphicLayoutEffect(() => {\n sensorContext.current = {\n activatorEvent,\n active,\n activeNode,\n collisionRect,\n collisions,\n droppableRects,\n draggableNodes,\n draggingNode,\n draggingNodeRect,\n droppableContainers,\n over,\n scrollableAncestors,\n scrollAdjustedTranslate\n };\n activeRects.current = {\n initial: draggingNodeRect,\n translated: collisionRect\n };\n }, [active, activeNode, collisions, collisionRect, draggableNodes, draggingNode, draggingNodeRect, droppableRects, droppableContainers, over, scrollableAncestors, scrollAdjustedTranslate]);\n useAutoScroller({ ...autoScrollOptions,\n delta: translate,\n draggingRect: collisionRect,\n pointerCoordinates,\n scrollableAncestors,\n scrollableAncestorRects\n });\n const publicContext = useMemo(() => {\n const context = {\n active,\n activeNode,\n activeNodeRect,\n activatorEvent,\n collisions,\n containerNodeRect,\n dragOverlay,\n draggableNodes,\n droppableContainers,\n droppableRects,\n over,\n measureDroppableContainers,\n scrollableAncestors,\n scrollableAncestorRects,\n measuringConfiguration,\n measuringScheduled,\n windowRect\n };\n return context;\n }, [active, activeNode, activeNodeRect, activatorEvent, collisions, containerNodeRect, dragOverlay, draggableNodes, droppableContainers, droppableRects, over, measureDroppableContainers, scrollableAncestors, scrollableAncestorRects, measuringConfiguration, measuringScheduled, windowRect]);\n const internalContext = useMemo(() => {\n const context = {\n activatorEvent,\n activators,\n active,\n activeNodeRect,\n ariaDescribedById: {\n draggable: draggableDescribedById\n },\n dispatch,\n draggableNodes,\n over,\n measureDroppableContainers\n };\n return context;\n }, [activatorEvent, activators, active, activeNodeRect, dispatch, draggableDescribedById, draggableNodes, over, measureDroppableContainers]);\n return React.createElement(DndMonitorContext.Provider, {\n value: registerMonitorListener\n }, React.createElement(InternalContext.Provider, {\n value: internalContext\n }, React.createElement(PublicContext.Provider, {\n value: publicContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: transform\n }, children)), React.createElement(RestoreFocus, {\n disabled: (accessibility == null ? void 0 : accessibility.restoreFocus) === false\n })), React.createElement(Accessibility, { ...accessibility,\n hiddenTextDescribedById: draggableDescribedById\n }));\n\n function getAutoScrollerOptions() {\n const activeSensorDisablesAutoscroll = (activeSensor == null ? void 0 : activeSensor.autoScrollEnabled) === false;\n const autoScrollGloballyDisabled = typeof autoScroll === 'object' ? autoScroll.enabled === false : autoScroll === false;\n const enabled = isInitialized && !activeSensorDisablesAutoscroll && !autoScrollGloballyDisabled;\n\n if (typeof autoScroll === 'object') {\n return { ...autoScroll,\n enabled\n };\n }\n\n return {\n enabled\n };\n }\n});\n\nconst NullContext = /*#__PURE__*/createContext(null);\nconst defaultRole = 'button';\nconst ID_PREFIX = 'Droppable';\nfunction useDraggable(_ref) {\n let {\n id,\n data,\n disabled = false,\n attributes\n } = _ref;\n const key = useUniqueId(ID_PREFIX);\n const {\n activators,\n activatorEvent,\n active,\n activeNodeRect,\n ariaDescribedById,\n draggableNodes,\n over\n } = useContext(InternalContext);\n const {\n role = defaultRole,\n roleDescription = 'draggable',\n tabIndex = 0\n } = attributes != null ? attributes : {};\n const isDragging = (active == null ? void 0 : active.id) === id;\n const transform = useContext(isDragging ? ActiveDraggableContext : NullContext);\n const [node, setNodeRef] = useNodeRef();\n const [activatorNode, setActivatorNodeRef] = useNodeRef();\n const listeners = useSyntheticListeners(activators, id);\n const dataRef = useLatestValue(data);\n useIsomorphicLayoutEffect(() => {\n draggableNodes.set(id, {\n id,\n key,\n node,\n activatorNode,\n data: dataRef\n });\n return () => {\n const node = draggableNodes.get(id);\n\n if (node && node.key === key) {\n draggableNodes.delete(id);\n }\n };\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [draggableNodes, id]);\n const memoizedAttributes = useMemo(() => ({\n role,\n tabIndex,\n 'aria-disabled': disabled,\n 'aria-pressed': isDragging && role === defaultRole ? true : undefined,\n 'aria-roledescription': roleDescription,\n 'aria-describedby': ariaDescribedById.draggable\n }), [disabled, role, tabIndex, isDragging, roleDescription, ariaDescribedById.draggable]);\n return {\n active,\n activatorEvent,\n activeNodeRect,\n attributes: memoizedAttributes,\n isDragging,\n listeners: disabled ? undefined : listeners,\n node,\n over,\n setNodeRef,\n setActivatorNodeRef,\n transform\n };\n}\n\nfunction useDndContext() {\n return useContext(PublicContext);\n}\n\nconst ID_PREFIX$1 = 'Droppable';\nconst defaultResizeObserverConfig = {\n timeout: 25\n};\nfunction useDroppable(_ref) {\n let {\n data,\n disabled = false,\n id,\n resizeObserverConfig\n } = _ref;\n const key = useUniqueId(ID_PREFIX$1);\n const {\n active,\n dispatch,\n over,\n measureDroppableContainers\n } = useContext(InternalContext);\n const previous = useRef({\n disabled\n });\n const resizeObserverConnected = useRef(false);\n const rect = useRef(null);\n const callbackId = useRef(null);\n const {\n disabled: resizeObserverDisabled,\n updateMeasurementsFor,\n timeout: resizeObserverTimeout\n } = { ...defaultResizeObserverConfig,\n ...resizeObserverConfig\n };\n const ids = useLatestValue(updateMeasurementsFor != null ? updateMeasurementsFor : id);\n const handleResize = useCallback(() => {\n if (!resizeObserverConnected.current) {\n // ResizeObserver invokes the `handleResize` callback as soon as `observe` is called,\n // assuming the element is rendered and displayed.\n resizeObserverConnected.current = true;\n return;\n }\n\n if (callbackId.current != null) {\n clearTimeout(callbackId.current);\n }\n\n callbackId.current = setTimeout(() => {\n measureDroppableContainers(Array.isArray(ids.current) ? ids.current : [ids.current]);\n callbackId.current = null;\n }, resizeObserverTimeout);\n }, //eslint-disable-next-line react-hooks/exhaustive-deps\n [resizeObserverTimeout]);\n const resizeObserver = useResizeObserver({\n callback: handleResize,\n disabled: resizeObserverDisabled || !active\n });\n const handleNodeChange = useCallback((newElement, previousElement) => {\n if (!resizeObserver) {\n return;\n }\n\n if (previousElement) {\n resizeObserver.unobserve(previousElement);\n resizeObserverConnected.current = false;\n }\n\n if (newElement) {\n resizeObserver.observe(newElement);\n }\n }, [resizeObserver]);\n const [nodeRef, setNodeRef] = useNodeRef(handleNodeChange);\n const dataRef = useLatestValue(data);\n useEffect(() => {\n if (!resizeObserver || !nodeRef.current) {\n return;\n }\n\n resizeObserver.disconnect();\n resizeObserverConnected.current = false;\n resizeObserver.observe(nodeRef.current);\n }, [nodeRef, resizeObserver]);\n useIsomorphicLayoutEffect(() => {\n dispatch({\n type: Action.RegisterDroppable,\n element: {\n id,\n key,\n disabled,\n node: nodeRef,\n rect,\n data: dataRef\n }\n });\n return () => dispatch({\n type: Action.UnregisterDroppable,\n key,\n id\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [id]);\n useEffect(() => {\n if (disabled !== previous.current.disabled) {\n dispatch({\n type: Action.SetDroppableDisabled,\n id,\n key,\n disabled\n });\n previous.current.disabled = disabled;\n }\n }, [id, key, disabled, dispatch]);\n return {\n active,\n rect,\n isOver: (over == null ? void 0 : over.id) === id,\n node: nodeRef,\n over,\n setNodeRef\n };\n}\n\nfunction AnimationManager(_ref) {\n let {\n animation,\n children\n } = _ref;\n const [clonedChildren, setClonedChildren] = useState(null);\n const [element, setElement] = useState(null);\n const previousChildren = usePrevious(children);\n\n if (!children && !clonedChildren && previousChildren) {\n setClonedChildren(previousChildren);\n }\n\n useIsomorphicLayoutEffect(() => {\n if (!element) {\n return;\n }\n\n const key = clonedChildren == null ? void 0 : clonedChildren.key;\n const id = clonedChildren == null ? void 0 : clonedChildren.props.id;\n\n if (key == null || id == null) {\n setClonedChildren(null);\n return;\n }\n\n Promise.resolve(animation(id, element)).then(() => {\n setClonedChildren(null);\n });\n }, [animation, clonedChildren, element]);\n return React.createElement(React.Fragment, null, children, clonedChildren ? cloneElement(clonedChildren, {\n ref: setElement\n }) : null);\n}\n\nconst defaultTransform = {\n x: 0,\n y: 0,\n scaleX: 1,\n scaleY: 1\n};\nfunction NullifiedContextProvider(_ref) {\n let {\n children\n } = _ref;\n return React.createElement(InternalContext.Provider, {\n value: defaultInternalContext\n }, React.createElement(ActiveDraggableContext.Provider, {\n value: defaultTransform\n }, children));\n}\n\nconst baseStyles = {\n position: 'fixed',\n touchAction: 'none'\n};\n\nconst defaultTransition = activatorEvent => {\n const isKeyboardActivator = isKeyboardEvent(activatorEvent);\n return isKeyboardActivator ? 'transform 250ms ease' : undefined;\n};\n\nconst PositionedOverlay = /*#__PURE__*/forwardRef((_ref, ref) => {\n let {\n as,\n activatorEvent,\n adjustScale,\n children,\n className,\n rect,\n style,\n transform,\n transition = defaultTransition\n } = _ref;\n\n if (!rect) {\n return null;\n }\n\n const scaleAdjustedTransform = adjustScale ? transform : { ...transform,\n scaleX: 1,\n scaleY: 1\n };\n const styles = { ...baseStyles,\n width: rect.width,\n height: rect.height,\n top: rect.top,\n left: rect.left,\n transform: CSS.Transform.toString(scaleAdjustedTransform),\n transformOrigin: adjustScale && activatorEvent ? getRelativeTransformOrigin(activatorEvent, rect) : undefined,\n transition: typeof transition === 'function' ? transition(activatorEvent) : transition,\n ...style\n };\n return React.createElement(as, {\n className,\n style: styles,\n ref\n }, children);\n});\n\nconst defaultDropAnimationSideEffects = options => _ref => {\n let {\n active,\n dragOverlay\n } = _ref;\n const originalStyles = {};\n const {\n styles,\n className\n } = options;\n\n if (styles != null && styles.active) {\n for (const [key, value] of Object.entries(styles.active)) {\n if (value === undefined) {\n continue;\n }\n\n originalStyles[key] = active.node.style.getPropertyValue(key);\n active.node.style.setProperty(key, value);\n }\n }\n\n if (styles != null && styles.dragOverlay) {\n for (const [key, value] of Object.entries(styles.dragOverlay)) {\n if (value === undefined) {\n continue;\n }\n\n dragOverlay.node.style.setProperty(key, value);\n }\n }\n\n if (className != null && className.active) {\n active.node.classList.add(className.active);\n }\n\n if (className != null && className.dragOverlay) {\n dragOverlay.node.classList.add(className.dragOverlay);\n }\n\n return function cleanup() {\n for (const [key, value] of Object.entries(originalStyles)) {\n active.node.style.setProperty(key, value);\n }\n\n if (className != null && className.active) {\n active.node.classList.remove(className.active);\n }\n };\n};\n\nconst defaultKeyframeResolver = _ref2 => {\n let {\n transform: {\n initial,\n final\n }\n } = _ref2;\n return [{\n transform: CSS.Transform.toString(initial)\n }, {\n transform: CSS.Transform.toString(final)\n }];\n};\n\nconst defaultDropAnimationConfiguration = {\n duration: 250,\n easing: 'ease',\n keyframes: defaultKeyframeResolver,\n sideEffects: /*#__PURE__*/defaultDropAnimationSideEffects({\n styles: {\n active: {\n opacity: '0'\n }\n }\n })\n};\nfunction useDropAnimation(_ref3) {\n let {\n config,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n } = _ref3;\n return useEvent((id, node) => {\n if (config === null) {\n return;\n }\n\n const activeDraggable = draggableNodes.get(id);\n\n if (!activeDraggable) {\n return;\n }\n\n const activeNode = activeDraggable.node.current;\n\n if (!activeNode) {\n return;\n }\n\n const measurableNode = getMeasurableNode(node);\n\n if (!measurableNode) {\n return;\n }\n\n const {\n transform\n } = getWindow(node).getComputedStyle(node);\n const parsedTransform = parseTransform(transform);\n\n if (!parsedTransform) {\n return;\n }\n\n const animation = typeof config === 'function' ? config : createDefaultDropAnimation(config);\n scrollIntoViewIfNeeded(activeNode, measuringConfiguration.draggable.measure);\n return animation({\n active: {\n id,\n data: activeDraggable.data,\n node: activeNode,\n rect: measuringConfiguration.draggable.measure(activeNode)\n },\n draggableNodes,\n dragOverlay: {\n node,\n rect: measuringConfiguration.dragOverlay.measure(measurableNode)\n },\n droppableContainers,\n measuringConfiguration,\n transform: parsedTransform\n });\n });\n}\n\nfunction createDefaultDropAnimation(options) {\n const {\n duration,\n easing,\n sideEffects,\n keyframes\n } = { ...defaultDropAnimationConfiguration,\n ...options\n };\n return _ref4 => {\n let {\n active,\n dragOverlay,\n transform,\n ...rest\n } = _ref4;\n\n if (!duration) {\n // Do not animate if animation duration is zero.\n return;\n }\n\n const delta = {\n x: dragOverlay.rect.left - active.rect.left,\n y: dragOverlay.rect.top - active.rect.top\n };\n const scale = {\n scaleX: transform.scaleX !== 1 ? active.rect.width * transform.scaleX / dragOverlay.rect.width : 1,\n scaleY: transform.scaleY !== 1 ? active.rect.height * transform.scaleY / dragOverlay.rect.height : 1\n };\n const finalTransform = {\n x: transform.x - delta.x,\n y: transform.y - delta.y,\n ...scale\n };\n const animationKeyframes = keyframes({ ...rest,\n active,\n dragOverlay,\n transform: {\n initial: transform,\n final: finalTransform\n }\n });\n const [firstKeyframe] = animationKeyframes;\n const lastKeyframe = animationKeyframes[animationKeyframes.length - 1];\n\n if (JSON.stringify(firstKeyframe) === JSON.stringify(lastKeyframe)) {\n // The start and end keyframes are the same, infer that there is no animation needed.\n return;\n }\n\n const cleanup = sideEffects == null ? void 0 : sideEffects({\n active,\n dragOverlay,\n ...rest\n });\n const animation = dragOverlay.node.animate(animationKeyframes, {\n duration,\n easing,\n fill: 'forwards'\n });\n return new Promise(resolve => {\n animation.onfinish = () => {\n cleanup == null ? void 0 : cleanup();\n resolve();\n };\n });\n };\n}\n\nlet key = 0;\nfunction useKey(id) {\n return useMemo(() => {\n if (id == null) {\n return;\n }\n\n key++;\n return key;\n }, [id]);\n}\n\nconst DragOverlay = /*#__PURE__*/React.memo(_ref => {\n let {\n adjustScale = false,\n children,\n dropAnimation: dropAnimationConfig,\n style,\n transition,\n modifiers,\n wrapperElement = 'div',\n className,\n zIndex = 999\n } = _ref;\n const {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggableNodes,\n droppableContainers,\n dragOverlay,\n over,\n measuringConfiguration,\n scrollableAncestors,\n scrollableAncestorRects,\n windowRect\n } = useDndContext();\n const transform = useContext(ActiveDraggableContext);\n const key = useKey(active == null ? void 0 : active.id);\n const modifiedTransform = applyModifiers(modifiers, {\n activatorEvent,\n active,\n activeNodeRect,\n containerNodeRect,\n draggingNodeRect: dragOverlay.rect,\n over,\n overlayNodeRect: dragOverlay.rect,\n scrollableAncestors,\n scrollableAncestorRects,\n transform,\n windowRect\n });\n const initialRect = useInitialValue(activeNodeRect);\n const dropAnimation = useDropAnimation({\n config: dropAnimationConfig,\n draggableNodes,\n droppableContainers,\n measuringConfiguration\n }); // We need to wait for the active node to be measured before connecting the drag overlay ref\n // otherwise collisions can be computed against a mispositioned drag overlay\n\n const ref = initialRect ? dragOverlay.setRef : undefined;\n return React.createElement(NullifiedContextProvider, null, React.createElement(AnimationManager, {\n animation: dropAnimation\n }, active && key ? React.createElement(PositionedOverlay, {\n key: key,\n id: active.id,\n ref: ref,\n as: wrapperElement,\n activatorEvent: activatorEvent,\n adjustScale: adjustScale,\n className: className,\n transition: transition,\n rect: initialRect,\n style: {\n zIndex,\n ...style\n },\n transform: modifiedTransform\n }, children) : null));\n});\n\nexport { AutoScrollActivator, DndContext, DragOverlay, KeyboardCode, KeyboardSensor, MeasuringFrequency, MeasuringStrategy, MouseSensor, PointerSensor, TouchSensor, TraversalOrder, applyModifiers, closestCenter, closestCorners, defaultAnnouncements, defaultCoordinates, defaultDropAnimationConfiguration as defaultDropAnimation, defaultDropAnimationSideEffects, defaultScreenReaderInstructions, getClientRect, getFirstCollision, getScrollableAncestors, pointerWithin, rectIntersection, useDndContext, useDndMonitor, useDraggable, useDroppable, useSensor, useSensors };\n//# sourceMappingURL=core.esm.js.map\n"],"names":["DndMonitorContext","createContext","useDndMonitor","listener","registerListener","useContext","useEffect","useDndMonitorProvider","listeners","useState","useCallback","_ref","type","event","_listener$type","defaultScreenReaderInstructions","defaultAnnouncements","active","_ref2","over","_ref3","_ref4","Accessibility","announcements","container","hiddenTextDescribedById","screenReaderInstructions","announce","announcement","useAnnouncement","liveRegionId","useUniqueId","mounted","setMounted","useMemo","_ref5","_ref6","markup","React","HiddenText","LiveRegion","createPortal","Action","noop","useSensor","sensor","options","useSensors","_len","sensors","_key","defaultCoordinates","distanceBetween","p1","p2","getRelativeTransformOrigin","rect","eventCoordinates","getEventCoordinates","transformOrigin","sortCollisionsAsc","a","b","sortCollisionsDesc","cornersOfRectangle","left","top","height","width","getFirstCollision","collisions","property","firstCollision","closestCorners","collisionRect","droppableRects","droppableContainers","corners","droppableContainer","id","rectCorners","distances","accumulator","corner","index","effectiveDistance","getIntersectionRatio","entry","target","right","bottom","targetArea","entryArea","intersectionArea","intersectionRatio","rectIntersection","adjustScale","transform","rect1","rect2","getRectDelta","createRectAdjustmentFn","modifier","adjustments","acc","adjustment","getAdjustedRect","parseTransform","transformArray","inverseTransform","parsedTransform","scaleX","scaleY","translateX","translateY","x","y","w","h","defaultOptions","getClientRect","element","getWindow","getTransformAgnosticClientRect","getWindowClientRect","isFixed","node","computedStyle","isScrollable","overflowRegex","value","getScrollableAncestors","limit","scrollParents","findScrollableAncestors","isDocument","isHTMLElement","isSVGElement","getFirstScrollableAncestor","firstScrollableAncestor","getScrollableElement","canUseDOM","isWindow","isNode","getOwnerDocument","getScrollXCoordinate","getScrollYCoordinate","getScrollCoordinates","Direction","isDocumentScrollingElement","getScrollPosition","scrollingContainer","minScroll","dimensions","maxScroll","isTop","isLeft","isBottom","isRight","defaultThreshold","getScrollDirectionAndSpeed","scrollContainer","scrollContainerRect","acceleration","thresholdPercentage","direction","speed","threshold","getScrollElementRect","innerWidth","innerHeight","getScrollOffsets","scrollableAncestors","add","getScrollXOffset","getScrollYOffset","scrollIntoViewIfNeeded","measure","properties","Rect","scrollOffsets","axis","keys","getScrollOffset","key","currentOffsets","scrollOffsetsDeltla","Listeners","_this$target","eventName","handler","_this$target2","getEventListenerTarget","EventTarget","hasExceededDistance","delta","measurement","dx","dy","EventName","preventDefault","stopPropagation","KeyboardCode","defaultKeyboardCodes","defaultKeyboardCoordinateGetter","currentCoordinates","KeyboardSensor","props","activeNode","onStart","isKeyboardEvent","context","keyboardCodes","coordinateGetter","scrollBehavior","code","newCoordinates","coordinatesDelta","subtract","scrollDelta","scrollElementRect","clampedCoordinates","canScrollX","canScrollY","newScrollCoordinates","canScrollToNewCoordinates","coordinates","onMove","onEnd","onCancel","onActivation","activator","isDistanceConstraint","constraint","isDelayConstraint","AbstractPointerSensor","events","listenerTarget","_getEventCoordinates","activationConstraint","bypassActivationConstraint","initialCoordinates","_getEventCoordinates2","activated","_this$document$getSel","PointerSensor","events$1","MouseButton","MouseSensor","events$2","TouchSensor","touches","AutoScrollActivator","TraversalOrder","useAutoScroller","canScroll","draggingRect","enabled","interval","order","pointerCoordinates","scrollableAncestorRects","scrollIntent","useScrollIntent","setAutoScrollInterval","clearAutoScrollInterval","useInterval","scrollSpeed","useRef","scrollDirection","scrollContainerRef","autoScroll","scrollLeft","scrollTop","sortedScrollableAncestors","defaultScrollIntent","disabled","previousDelta","usePrevious","useLazyMemo","previousIntent","useCachedNode","draggableNodes","draggableNode","cachedNode","useCombineActivators","getSyntheticHandler","Sensor","sensorActivators","MeasuringStrategy","MeasuringFrequency","defaultValue","useDroppableMeasuring","containers","dragging","dependencies","config","queue","setQueue","frequency","strategy","containersRef","isDisabled","disabledRef","useLatestValue","measureDroppableContainers","ids","timeoutId","previousValue","map","useInitialValue","computeFn","useInitialRect","useMutationObserver","callback","handleMutations","useEvent","mutationObserver","MutationObserver","useResizeObserver","handleResize","resizeObserver","ResizeObserver","defaultMeasure","useRect","fallbackRect","measureRect","useReducer","reducer","records","record","useIsomorphicLayoutEffect","currentRect","newRect","useRectDelta","initialRect","defaultValue$1","useScrollableAncestors","previousNode","ancestors","useScrollOffsets","elements","scrollCoordinates","setScrollCoordinates","prevElements","handleScroll","scrollingElement","previousElements","cleanup","entries","scrollableElement","useScrollOffsetsDelta","initialScrollOffsets","hasScrollOffsets","useSensorSetup","teardownFns","teardown","useSyntheticListeners","useWindowRect","defaultValue$2","useRects","firstElement","windowRect","rects","measureRects","getMeasurableNode","firstChild","useDragOverlayMeasuring","setRect","handleNodeChange","nodeRef","setRef","useNodeRef","defaultSensors","defaultData","defaultMeasuringConfiguration","DroppableContainersMap","_super$get","_this$get$node$curren","_this$get","defaultPublicContext","defaultInternalContext","InternalContext","PublicContext","getInitialState","state","action","RestoreFocus","activatorEvent","previousActivatorEvent","previousActiveId","activatorNode","focusableNode","findFirstFocusableNode","applyModifiers","modifiers","args","useMeasuringConfiguration","useLayoutShiftScrollCompensation","initialized","rectDelta","ActiveDraggableContext","Status","DndContext","memo","_sensorContext$curren","_dragOverlay$nodeRef$","_dragOverlay$rect","_over$rect","accessibility","children","collisionDetection","measuring","store","dispatch","dispatchMonitorEvent","registerMonitorListener","status","setStatus","isInitialized","activeId","translate","activeRects","_node$data","activeRef","activeSensor","setActiveSensor","setActivatorEvent","latestProps","draggableDescribedById","enabledDroppableContainers","measuringConfiguration","measuringScheduled","activationCoordinates","autoScrollOptions","getAutoScrollerOptions","initialActiveNodeRect","activeNodeRect","containerNodeRect","sensorContext","overNode","dragOverlay","draggingNode","draggingNodeRect","usesDragOverlay","nodeRectDelta","modifiedTranslate","scrollAdjustment","activeNodeScrollDelta","scrollAdjustedTranslate","overId","setOver","appliedTranslate","instantiateSensor","sensorInstance","onDragStart","unstable_batchedUpdates","createHandler","cancelDrop","bindActivatorToSensorInstantiator","nativeEvent","activeDraggableNode","activationContext","activators","onDragMove","onDragOver","overContainer","publicContext","internalContext","activeSensorDisablesAutoscroll","autoScrollGloballyDisabled","NullContext","defaultRole","ID_PREFIX","useDraggable","data","attributes","ariaDescribedById","role","roleDescription","tabIndex","isDragging","setNodeRef","setActivatorNodeRef","dataRef","memoizedAttributes","useDndContext","ID_PREFIX$1","defaultResizeObserverConfig","useDroppable","resizeObserverConfig","previous","resizeObserverConnected","callbackId","resizeObserverDisabled","updateMeasurementsFor","resizeObserverTimeout","newElement","previousElement","AnimationManager","animation","clonedChildren","setClonedChildren","setElement","previousChildren","cloneElement","defaultTransform","NullifiedContextProvider","baseStyles","defaultTransition","PositionedOverlay","forwardRef","ref","as","className","style","transition","scaleAdjustedTransform","styles","CSS","defaultDropAnimationSideEffects","originalStyles","defaultKeyframeResolver","initial","final","defaultDropAnimationConfiguration","useDropAnimation","activeDraggable","measurableNode","createDefaultDropAnimation","duration","easing","sideEffects","keyframes","rest","scale","finalTransform","animationKeyframes","firstKeyframe","lastKeyframe","resolve","useKey","DragOverlay","dropAnimationConfig","wrapperElement","zIndex","modifiedTransform","dropAnimation"],"mappings":";;;;AAKA,MAAMA,KAAiC,gBAAAC,GAAc,IAAI;AAEzD,SAASC,GAAcC,GAAU;AAC/B,QAAMC,IAAmBC,GAAWL,EAAiB;AACrD,EAAAM,EAAU,MAAM;AACd,QAAI,CAACF;AACH,YAAM,IAAI,MAAM,8DAA8D;AAIhF,WADoBA,EAAiBD,CAAQ;AAAA,EAEjD,GAAK,CAACA,GAAUC,CAAgB,CAAC;AACjC;AAEA,SAASG,KAAwB;AAC/B,QAAM,CAACC,CAAS,IAAIC,EAAS,MAAM,oBAAI,IAAK,CAAA,GACtCL,IAAmBM,EAAY,CAAAP,OACnCK,EAAU,IAAIL,CAAQ,GACf,MAAMK,EAAU,OAAOL,CAAQ,IACrC,CAACK,CAAS,CAAC;AAYd,SAAO,CAXUE,EAAY,CAAAC,MAAQ;AACnC,QAAI;AAAA,MACF,MAAAC;AAAA,MACA,OAAAC;AAAA,IACD,IAAGF;AACJ,IAAAH,EAAU,QAAQ,CAAAL,MAAY;AAC5B,UAAIW;AAEJ,cAAQA,IAAiBX,EAASS,CAAI,MAAM,OAAO,SAASE,EAAe,KAAKX,GAAUU,CAAK;AAAA,IACrG,CAAK;AAAA,EACL,GAAK,CAACL,CAAS,CAAC,GACIJ,CAAgB;AACpC;AAEK,MAACW,KAAkC;AAAA,EACtC,WAAW;AAAA;AAAA;AAAA;AAAA;AACb,GACMC,KAAuB;AAAA,EAC3B,YAAYL,GAAM;AAChB,QAAI;AAAA,MACF,QAAAM;AAAA,IACD,IAAGN;AACJ,WAAO,8BAA8BM,EAAO,KAAK;AAAA,EAClD;AAAA,EAED,WAAWC,GAAO;AAChB,QAAI;AAAA,MACF,QAAAD;AAAA,MACA,MAAAE;AAAA,IACD,IAAGD;AAEJ,WAAIC,IACK,oBAAoBF,EAAO,KAAK,oCAAoCE,EAAK,KAAK,MAGhF,oBAAoBF,EAAO,KAAK;AAAA,EACxC;AAAA,EAED,UAAUG,GAAO;AACf,QAAI;AAAA,MACF,QAAAH;AAAA,MACA,MAAAE;AAAA,IACD,IAAGC;AAEJ,WAAID,IACK,oBAAoBF,EAAO,KAAK,sCAAsCE,EAAK,KAG7E,oBAAoBF,EAAO,KAAK;AAAA,EACxC;AAAA,EAED,aAAaI,GAAO;AAClB,QAAI;AAAA,MACF,QAAAJ;AAAA,IACD,IAAGI;AACJ,WAAO,4CAA4CJ,EAAO,KAAK;AAAA,EAChE;AAEH;AAEA,SAASK,GAAcX,GAAM;AAC3B,MAAI;AAAA,IACF,eAAAY,IAAgBP;AAAA,IAChB,WAAAQ;AAAA,IACA,yBAAAC;AAAA,IACA,0BAAAC,IAA2BX;AAAA,EAC5B,IAAGJ;AACJ,QAAM;AAAA,IACJ,UAAAgB;AAAA,IACA,cAAAC;AAAA,EACD,IAAGC,GAAe,GACbC,IAAeC,GAAY,eAAe,GAC1C,CAACC,GAASC,CAAU,IAAIxB,EAAS,EAAK;AA+D5C,MA9DAH,EAAU,MAAM;AACd,IAAA2B,EAAW,EAAI;AAAA,EAChB,GAAE,CAAE,CAAA,GACL/B,GAAcgC,EAAQ,OAAO;AAAA,IAC3B,YAAYhB,GAAO;AACjB,UAAI;AAAA,QACF,QAAAD;AAAA,MACD,IAAGC;AACJ,MAAAS,EAASJ,EAAc,YAAY;AAAA,QACjC,QAAAN;AAAA,MACD,CAAA,CAAC;AAAA,IACH;AAAA,IAED,WAAWG,GAAO;AAChB,UAAI;AAAA,QACF,QAAAH;AAAA,QACA,MAAAE;AAAA,MACD,IAAGC;AAEJ,MAAIG,EAAc,cAChBI,EAASJ,EAAc,WAAW;AAAA,QAChC,QAAAN;AAAA,QACA,MAAAE;AAAA,MACD,CAAA,CAAC;AAAA,IAEL;AAAA,IAED,WAAWE,GAAO;AAChB,UAAI;AAAA,QACF,QAAAJ;AAAA,QACA,MAAAE;AAAA,MACD,IAAGE;AACJ,MAAAM,EAASJ,EAAc,WAAW;AAAA,QAChC,QAAAN;AAAA,QACA,MAAAE;AAAA,MACD,CAAA,CAAC;AAAA,IACH;AAAA,IAED,UAAUgB,GAAO;AACf,UAAI;AAAA,QACF,QAAAlB;AAAA,QACA,MAAAE;AAAA,MACD,IAAGgB;AACJ,MAAAR,EAASJ,EAAc,UAAU;AAAA,QAC/B,QAAAN;AAAA,QACA,MAAAE;AAAA,MACD,CAAA,CAAC;AAAA,IACH;AAAA,IAED,aAAaiB,GAAO;AAClB,UAAI;AAAA,QACF,QAAAnB;AAAA,QACA,MAAAE;AAAA,MACD,IAAGiB;AACJ,MAAAT,EAASJ,EAAc,aAAa;AAAA,QAClC,QAAAN;AAAA,QACA,MAAAE;AAAA,MACD,CAAA,CAAC;AAAA,IACH;AAAA,EAEF,IAAG,CAACQ,GAAUJ,CAAa,CAAC,CAAC,GAE1B,CAACS;AACH,WAAO;AAGT,QAAMK,IAASC,EAAM,cAAcA,EAAM,UAAU,MAAMA,EAAM,cAAcC,IAAY;AAAA,IACvF,IAAId;AAAA,IACJ,OAAOC,EAAyB;AAAA,EACpC,CAAG,GAAGY,EAAM,cAAcE,IAAY;AAAA,IAClC,IAAIV;AAAA,IACJ,cAAcF;AAAA,EACf,CAAA,CAAC;AACF,SAAOJ,IAAYiB,GAAaJ,GAAQb,CAAS,IAAIa;AACvD;AAEA,IAAIK;AAAA,CAEH,SAAUA,GAAQ;AACjB,EAAAA,EAAO,YAAe,aACtBA,EAAO,WAAc,YACrBA,EAAO,UAAa,WACpBA,EAAO,aAAgB,cACvBA,EAAO,WAAc,YACrBA,EAAO,oBAAuB,qBAC9BA,EAAO,uBAA0B,wBACjCA,EAAO,sBAAyB;AAClC,GAAGA,MAAWA,IAAS,CAAE,EAAC;AAE1B,SAASC,KAAO;AAAE;AAElB,SAASC,GAAUC,GAAQC,GAAS;AAClC,SAAOZ;AAAA,IAAQ,OAAO;AAAA,MACpB,QAAAW;AAAA,MACA,SAASC,KAA4B,CAAE;AAAA,IAC3C;AAAA;AAAA,IACE,CAACD,GAAQC,CAAO;AAAA,EAAC;AACnB;AAEA,SAASC,KAAa;AACpB,WAASC,IAAO,UAAU,QAAQC,IAAU,IAAI,MAAMD,CAAI,GAAGE,IAAO,GAAGA,IAAOF,GAAME;AAClF,IAAAD,EAAQC,CAAI,IAAI,UAAUA,CAAI;AAGhC,SAAOhB;AAAA,IAAQ,MAAM,CAAC,GAAGe,CAAO,EAAE,OAAO,CAAAJ,MAAUA,KAAU,IAAI;AAAA;AAAA,IACjE,CAAC,GAAGI,CAAO;AAAA,EAAC;AACd;AAEK,MAACE,IAAkC,uBAAO,OAAO;AAAA,EACpD,GAAG;AAAA,EACH,GAAG;AACL,CAAC;AAKD,SAASC,GAAgBC,GAAIC,GAAI;AAC/B,SAAO,KAAK,KAAK,KAAK,IAAID,EAAG,IAAIC,EAAG,GAAG,CAAC,IAAI,KAAK,IAAID,EAAG,IAAIC,EAAG,GAAG,CAAC,CAAC;AACtE;AAEA,SAASC,GAA2B1C,GAAO2C,GAAM;AAC/C,QAAMC,IAAmBC,GAAoB7C,CAAK;AAElD,MAAI,CAAC4C;AACH,WAAO;AAGT,QAAME,IAAkB;AAAA,IACtB,IAAIF,EAAiB,IAAID,EAAK,QAAQA,EAAK,QAAQ;AAAA,IACnD,IAAIC,EAAiB,IAAID,EAAK,OAAOA,EAAK,SAAS;AAAA,EACvD;AACE,SAAOG,EAAgB,IAAI,OAAOA,EAAgB,IAAI;AACxD;AAKA,SAASC,GAAkBjD,GAAMO,GAAO;AACtC,MAAI;AAAA,IACF,MAAM;AAAA,MACJ,OAAO2C;AAAA,IACR;AAAA,EACF,IAAGlD,GACA;AAAA,IACF,MAAM;AAAA,MACJ,OAAOmD;AAAA,IACR;AAAA,EACF,IAAG5C;AACJ,SAAO2C,IAAIC;AACb;AAKA,SAASC,GAAmB3C,GAAOC,GAAO;AACxC,MAAI;AAAA,IACF,MAAM;AAAA,MACJ,OAAOwC;AAAA,IACR;AAAA,EACF,IAAGzC,GACA;AAAA,IACF,MAAM;AAAA,MACJ,OAAO0C;AAAA,IACR;AAAA,EACF,IAAGzC;AACJ,SAAOyC,IAAID;AACb;AAMA,SAASG,GAAmB7B,GAAO;AACjC,MAAI;AAAA,IACF,MAAA8B;AAAA,IACA,KAAAC;AAAA,IACA,QAAAC;AAAA,IACA,OAAAC;AAAA,EACD,IAAGjC;AACJ,SAAO,CAAC;AAAA,IACN,GAAG8B;AAAA,IACH,GAAGC;AAAA,EACP,GAAK;AAAA,IACD,GAAGD,IAAOG;AAAA,IACV,GAAGF;AAAA,EACP,GAAK;AAAA,IACD,GAAGD;AAAA,IACH,GAAGC,IAAMC;AAAA,EACb,GAAK;AAAA,IACD,GAAGF,IAAOG;AAAA,IACV,GAAGF,IAAMC;AAAA,EACb,CAAG;AACH;AACA,SAASE,GAAkBC,GAAYC,GAAU;AAC/C,MAAI,CAACD,KAAcA,EAAW,WAAW;AACvC,WAAO;AAGT,QAAM,CAACE,CAAc,IAAIF;AACzB,SAAOC,IAAWC,EAAeD,CAAQ,IAAIC;AAC/C;AA6DK,MAACC,KAAiB,CAAA9D,MAAQ;AAC7B,MAAI;AAAA,IACF,eAAA+D;AAAA,IACA,gBAAAC;AAAA,IACA,qBAAAC;AAAA,EACD,IAAGjE;AACJ,QAAMkE,IAAUb,GAAmBU,CAAa,GAC1CJ,IAAa,CAAA;AAEnB,aAAWQ,KAAsBF,GAAqB;AACpD,UAAM;AAAA,MACJ,IAAAG;AAAA,IACD,IAAGD,GACEtB,IAAOmB,EAAe,IAAII,CAAE;AAElC,QAAIvB,GAAM;AACR,YAAMwB,IAAchB,GAAmBR,CAAI,GACrCyB,IAAYJ,EAAQ,OAAO,CAACK,GAAaC,GAAQC,MAC9CF,IAAc9B,GAAgB4B,EAAYI,CAAK,GAAGD,CAAM,GAC9D,CAAC,GACEE,IAAoB,QAAQJ,IAAY,GAAG,QAAQ,CAAC,CAAC;AAC3D,MAAAX,EAAW,KAAK;AAAA,QACd,IAAAS;AAAA,QACA,MAAM;AAAA,UACJ,oBAAAD;AAAA,UACA,OAAOO;AAAA,QACR;AAAA,MACT,CAAO;AAAA,IACF;AAAA,EACF;AAED,SAAOf,EAAW,KAAKV,EAAiB;AAC1C;AAMA,SAAS0B,GAAqBC,GAAOC,GAAQ;AAC3C,QAAMtB,IAAM,KAAK,IAAIsB,EAAO,KAAKD,EAAM,GAAG,GACpCtB,IAAO,KAAK,IAAIuB,EAAO,MAAMD,EAAM,IAAI,GACvCE,IAAQ,KAAK,IAAID,EAAO,OAAOA,EAAO,OAAOD,EAAM,OAAOA,EAAM,KAAK,GACrEG,IAAS,KAAK,IAAIF,EAAO,MAAMA,EAAO,QAAQD,EAAM,MAAMA,EAAM,MAAM,GACtEnB,IAAQqB,IAAQxB,GAChBE,IAASuB,IAASxB;AAExB,MAAID,IAAOwB,KAASvB,IAAMwB,GAAQ;AAChC,UAAMC,IAAaH,EAAO,QAAQA,EAAO,QACnCI,IAAYL,EAAM,QAAQA,EAAM,QAChCM,IAAmBzB,IAAQD,GAC3B2B,IAAoBD,KAAoBF,IAAaC,IAAYC;AACvE,WAAO,OAAOC,EAAkB,QAAQ,CAAC,CAAC;AAAA,EAC3C;AAGD,SAAO;AACT;AAMK,MAACC,KAAmB,CAAApF,MAAQ;AAC/B,MAAI;AAAA,IACF,eAAA+D;AAAA,IACA,gBAAAC;AAAA,IACA,qBAAAC;AAAA,EACD,IAAGjE;AACJ,QAAM2D,IAAa,CAAA;AAEnB,aAAWQ,KAAsBF,GAAqB;AACpD,UAAM;AAAA,MACJ,IAAAG;AAAA,IACD,IAAGD,GACEtB,IAAOmB,EAAe,IAAII,CAAE;AAElC,QAAIvB,GAAM;AACR,YAAMsC,IAAoBR,GAAqB9B,GAAMkB,CAAa;AAElE,MAAIoB,IAAoB,KACtBxB,EAAW,KAAK;AAAA,QACd,IAAAS;AAAA,QACA,MAAM;AAAA,UACJ,oBAAAD;AAAA,UACA,OAAOgB;AAAA,QACR;AAAA,MACX,CAAS;AAAA,IAEJ;AAAA,EACF;AAED,SAAOxB,EAAW,KAAKP,EAAkB;AAC3C;AA+DA,SAASiC,GAAYC,GAAWC,GAAOC,GAAO;AAC5C,SAAO;AAAA,IAAE,GAAGF;AAAA,IACV,QAAQC,KAASC,IAAQD,EAAM,QAAQC,EAAM,QAAQ;AAAA,IACrD,QAAQD,KAASC,IAAQD,EAAM,SAASC,EAAM,SAAS;AAAA,EAC3D;AACA;AAEA,SAASC,GAAaF,GAAOC,GAAO;AAClC,SAAOD,KAASC,IAAQ;AAAA,IACtB,GAAGD,EAAM,OAAOC,EAAM;AAAA,IACtB,GAAGD,EAAM,MAAMC,EAAM;AAAA,EACtB,IAAGhD;AACN;AAEA,SAASkD,GAAuBC,GAAU;AACxC,SAAO,SAA0B9C,GAAM;AACrC,aAASR,IAAO,UAAU,QAAQuD,IAAc,IAAI,MAAMvD,IAAO,IAAIA,IAAO,IAAI,CAAC,GAAGE,IAAO,GAAGA,IAAOF,GAAME;AACzG,MAAAqD,EAAYrD,IAAO,CAAC,IAAI,UAAUA,CAAI;AAGxC,WAAOqD,EAAY,OAAO,CAACC,GAAKC,OAAgB;AAAA,MAAE,GAAGD;AAAA,MACnD,KAAKA,EAAI,MAAMF,IAAWG,EAAW;AAAA,MACrC,QAAQD,EAAI,SAASF,IAAWG,EAAW;AAAA,MAC3C,MAAMD,EAAI,OAAOF,IAAWG,EAAW;AAAA,MACvC,OAAOD,EAAI,QAAQF,IAAWG,EAAW;AAAA,IAC/C,IAAQ;AAAA,MAAE,GAAGjD;AAAA,IACb,CAAK;AAAA,EACL;AACA;AACA,MAAMkD,KAA+B,gBAAAL,GAAuB,CAAC;AAE7D,SAASM,GAAeV,GAAW;AACjC,MAAIA,EAAU,WAAW,WAAW,GAAG;AACrC,UAAMW,IAAiBX,EAAU,MAAM,GAAG,EAAE,EAAE,MAAM,IAAI;AACxD,WAAO;AAAA,MACL,GAAG,CAACW,EAAe,EAAE;AAAA,MACrB,GAAG,CAACA,EAAe,EAAE;AAAA,MACrB,QAAQ,CAACA,EAAe,CAAC;AAAA,MACzB,QAAQ,CAACA,EAAe,CAAC;AAAA,IAC/B;AAAA,EACG,WAAUX,EAAU,WAAW,SAAS,GAAG;AAC1C,UAAMW,IAAiBX,EAAU,MAAM,GAAG,EAAE,EAAE,MAAM,IAAI;AACxD,WAAO;AAAA,MACL,GAAG,CAACW,EAAe,CAAC;AAAA,MACpB,GAAG,CAACA,EAAe,CAAC;AAAA,MACpB,QAAQ,CAACA,EAAe,CAAC;AAAA,MACzB,QAAQ,CAACA,EAAe,CAAC;AAAA,IAC/B;AAAA,EACG;AAED,SAAO;AACT;AAEA,SAASC,GAAiBrD,GAAMyC,GAAWtC,GAAiB;AAC1D,QAAMmD,IAAkBH,GAAeV,CAAS;AAEhD,MAAI,CAACa;AACH,WAAOtD;AAGT,QAAM;AAAA,IACJ,QAAAuD;AAAA,IACA,QAAAC;AAAA,IACA,GAAGC;AAAA,IACH,GAAGC;AAAA,EACJ,IAAGJ,GACEK,IAAI3D,EAAK,OAAOyD,KAAc,IAAIF,KAAU,WAAWpD,CAAe,GACtEyD,IAAI5D,EAAK,MAAM0D,KAAc,IAAIF,KAAU,WAAWrD,EAAgB,MAAMA,EAAgB,QAAQ,GAAG,IAAI,CAAC,CAAC,GAC7G0D,IAAIN,IAASvD,EAAK,QAAQuD,IAASvD,EAAK,OACxC8D,IAAIN,IAASxD,EAAK,SAASwD,IAASxD,EAAK;AAC/C,SAAO;AAAA,IACL,OAAO6D;AAAA,IACP,QAAQC;AAAA,IACR,KAAKF;AAAA,IACL,OAAOD,IAAIE;AAAA,IACX,QAAQD,IAAIE;AAAA,IACZ,MAAMH;AAAA,EACV;AACA;AAEA,MAAMI,KAAiB;AAAA,EACrB,iBAAiB;AACnB;AAKA,SAASC,GAAcC,GAAS3E,GAAS;AACvC,EAAIA,MAAY,WACdA,IAAUyE;AAGZ,MAAI/D,IAAOiE,EAAQ;AAEnB,MAAI3E,EAAQ,iBAAiB;AAC3B,UAAM;AAAA,MACJ,WAAAmD;AAAA,MACA,iBAAAtC;AAAA,IACD,IAAG+D,EAAUD,CAAO,EAAE,iBAAiBA,CAAO;AAE/C,IAAIxB,MACFzC,IAAOqD,GAAiBrD,GAAMyC,GAAWtC,CAAe;AAAA,EAE3D;AAED,QAAM;AAAA,IACJ,KAAAO;AAAA,IACA,MAAAD;AAAA,IACA,OAAAG;AAAA,IACA,QAAAD;AAAA,IACA,QAAAuB;AAAA,IACA,OAAAD;AAAA,EACD,IAAGjC;AACJ,SAAO;AAAA,IACL,KAAAU;AAAA,IACA,MAAAD;AAAA,IACA,OAAAG;AAAA,IACA,QAAAD;AAAA,IACA,QAAAuB;AAAA,IACA,OAAAD;AAAA,EACJ;AACA;AAUA,SAASkC,GAA+BF,GAAS;AAC/C,SAAOD,GAAcC,GAAS;AAAA,IAC5B,iBAAiB;AAAA,EACrB,CAAG;AACH;AAEA,SAASG,GAAoBH,GAAS;AACpC,QAAMrD,IAAQqD,EAAQ,YAChBtD,IAASsD,EAAQ;AACvB,SAAO;AAAA,IACL,KAAK;AAAA,IACL,MAAM;AAAA,IACN,OAAOrD;AAAA,IACP,QAAQD;AAAA,IACR,OAAAC;AAAA,IACA,QAAAD;AAAA,EACJ;AACA;AAEA,SAAS0D,GAAQC,GAAMC,GAAe;AACpC,SAAIA,MAAkB,WACpBA,IAAgBL,EAAUI,CAAI,EAAE,iBAAiBA,CAAI,IAGhDC,EAAc,aAAa;AACpC;AAEA,SAASC,GAAaP,GAASM,GAAe;AAC5C,EAAIA,MAAkB,WACpBA,IAAgBL,EAAUD,CAAO,EAAE,iBAAiBA,CAAO;AAG7D,QAAMQ,IAAgB;AAEtB,SADmB,CAAC,YAAY,aAAa,WAAW,EACtC,KAAK,CAAA1D,MAAY;AACjC,UAAM2D,IAAQH,EAAcxD,CAAQ;AACpC,WAAO,OAAO2D,KAAU,WAAWD,EAAc,KAAKC,CAAK,IAAI;AAAA,EACnE,CAAG;AACH;AAEA,SAASC,GAAuBV,GAASW,GAAO;AAC9C,QAAMC,IAAgB,CAAA;AAEtB,WAASC,EAAwBR,GAAM;AAKrC,QAJIM,KAAS,QAAQC,EAAc,UAAUD,KAIzC,CAACN;AACH,aAAOO;AAGT,QAAIE,GAAWT,CAAI,KAAKA,EAAK,oBAAoB,QAAQ,CAACO,EAAc,SAASP,EAAK,gBAAgB;AACpG,aAAAO,EAAc,KAAKP,EAAK,gBAAgB,GACjCO;AAOT,QAJI,CAACG,GAAcV,CAAI,KAAKW,GAAaX,CAAI,KAIzCO,EAAc,SAASP,CAAI;AAC7B,aAAOO;AAGT,UAAMN,IAAgBL,EAAUD,CAAO,EAAE,iBAAiBK,CAAI;AAQ9D,WANIA,MAASL,KACPO,GAAaF,GAAMC,CAAa,KAClCM,EAAc,KAAKP,CAAI,GAIvBD,GAAQC,GAAMC,CAAa,IACtBM,IAGFC,EAAwBR,EAAK,UAAU;AAAA,EAC/C;AAED,SAAKL,IAIEa,EAAwBb,CAAO,IAH7BY;AAIX;AACA,SAASK,GAA2BZ,GAAM;AACxC,QAAM,CAACa,CAAuB,IAAIR,GAAuBL,GAAM,CAAC;AAChE,SAAOa,KAA4D;AACrE;AAEA,SAASC,GAAqBnB,GAAS;AACrC,SAAI,CAACoB,MAAa,CAACpB,IACV,OAGLqB,GAASrB,CAAO,IACXA,IAGJsB,GAAOtB,CAAO,IAIfc,GAAWd,CAAO,KAAKA,MAAYuB,GAAiBvB,CAAO,EAAE,mBACxD,SAGLe,GAAcf,CAAO,IAChBA,IAGF,OAXE;AAYX;AAEA,SAASwB,GAAqBxB,GAAS;AACrC,SAAIqB,GAASrB,CAAO,IACXA,EAAQ,UAGVA,EAAQ;AACjB;AACA,SAASyB,GAAqBzB,GAAS;AACrC,SAAIqB,GAASrB,CAAO,IACXA,EAAQ,UAGVA,EAAQ;AACjB;AACA,SAAS0B,GAAqB1B,GAAS;AACrC,SAAO;AAAA,IACL,GAAGwB,GAAqBxB,CAAO;AAAA,IAC/B,GAAGyB,GAAqBzB,CAAO;AAAA,EACnC;AACA;AAEA,IAAI2B;AAAA,CAEH,SAAUA,GAAW;AACpB,EAAAA,EAAUA,EAAU,UAAa,CAAC,IAAI,WACtCA,EAAUA,EAAU,WAAc,EAAE,IAAI;AAC1C,GAAGA,MAAcA,IAAY,CAAE,EAAC;AAEhC,SAASC,GAA2B5B,GAAS;AAC3C,SAAI,CAACoB,MAAa,CAACpB,IACV,KAGFA,MAAY,SAAS;AAC9B;AAEA,SAAS6B,GAAkBC,GAAoB;AAC7C,QAAMC,IAAY;AAAA,IAChB,GAAG;AAAA,IACH,GAAG;AAAA,EACP,GACQC,IAAaJ,GAA2BE,CAAkB,IAAI;AAAA,IAClE,QAAQ,OAAO;AAAA,IACf,OAAO,OAAO;AAAA,EAClB,IAAM;AAAA,IACF,QAAQA,EAAmB;AAAA,IAC3B,OAAOA,EAAmB;AAAA,EAC9B,GACQG,IAAY;AAAA,IAChB,GAAGH,EAAmB,cAAcE,EAAW;AAAA,IAC/C,GAAGF,EAAmB,eAAeE,EAAW;AAAA,EACpD,GACQE,IAAQJ,EAAmB,aAAaC,EAAU,GAClDI,IAASL,EAAmB,cAAcC,EAAU,GACpDK,IAAWN,EAAmB,aAAaG,EAAU,GACrDI,IAAUP,EAAmB,cAAcG,EAAU;AAC3D,SAAO;AAAA,IACL,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,WAAAJ;AAAA,IACA,WAAAF;AAAA,EACJ;AACA;AAEA,MAAMO,KAAmB;AAAA,EACvB,GAAG;AAAA,EACH,GAAG;AACL;AACA,SAASC,GAA2BC,GAAiBC,GAAqBvJ,GAAMwJ,GAAcC,GAAqB;AACjH,MAAI;AAAA,IACF,KAAAlG;AAAA,IACA,MAAAD;AAAA,IACA,OAAAwB;AAAA,IACA,QAAAC;AAAA,EACD,IAAG/E;AAEJ,EAAIwJ,MAAiB,WACnBA,IAAe,KAGbC,MAAwB,WAC1BA,IAAsBL;AAGxB,QAAM;AAAA,IACJ,OAAAJ;AAAA,IACA,UAAAE;AAAA,IACA,QAAAD;AAAA,IACA,SAAAE;AAAA,EACJ,IAAMR,GAAkBW,CAAe,GAC/BI,IAAY;AAAA,IAChB,GAAG;AAAA,IACH,GAAG;AAAA,EACP,GACQC,IAAQ;AAAA,IACZ,GAAG;AAAA,IACH,GAAG;AAAA,EACP,GACQC,IAAY;AAAA,IAChB,QAAQL,EAAoB,SAASE,EAAoB;AAAA,IACzD,OAAOF,EAAoB,QAAQE,EAAoB;AAAA,EAC3D;AAEE,SAAI,CAACT,KAASzF,KAAOgG,EAAoB,MAAMK,EAAU,UAEvDF,EAAU,IAAIjB,EAAU,UACxBkB,EAAM,IAAIH,IAAe,KAAK,KAAKD,EAAoB,MAAMK,EAAU,SAASrG,KAAOqG,EAAU,MAAM,KAC9F,CAACV,KAAYnE,KAAUwE,EAAoB,SAASK,EAAU,WAEvEF,EAAU,IAAIjB,EAAU,SACxBkB,EAAM,IAAIH,IAAe,KAAK,KAAKD,EAAoB,SAASK,EAAU,SAAS7E,KAAU6E,EAAU,MAAM,IAG3G,CAACT,KAAWrE,KAASyE,EAAoB,QAAQK,EAAU,SAE7DF,EAAU,IAAIjB,EAAU,SACxBkB,EAAM,IAAIH,IAAe,KAAK,KAAKD,EAAoB,QAAQK,EAAU,QAAQ9E,KAAS8E,EAAU,KAAK,KAChG,CAACX,KAAU3F,KAAQiG,EAAoB,OAAOK,EAAU,UAEjEF,EAAU,IAAIjB,EAAU,UACxBkB,EAAM,IAAIH,IAAe,KAAK,KAAKD,EAAoB,OAAOK,EAAU,QAAQtG,KAAQsG,EAAU,KAAK,IAGlG;AAAA,IACL,WAAAF;AAAA,IACA,OAAAC;AAAA,EACJ;AACA;AAEA,SAASE,GAAqB/C,GAAS;AACrC,MAAIA,MAAY,SAAS,kBAAkB;AACzC,UAAM;AAAA,MACJ,YAAAgD;AAAA,MACA,aAAAC;AAAA,IACD,IAAG;AACJ,WAAO;AAAA,MACL,KAAK;AAAA,MACL,MAAM;AAAA,MACN,OAAOD;AAAA,MACP,QAAQC;AAAA,MACR,OAAOD;AAAA,MACP,QAAQC;AAAA,IACd;AAAA,EACG;AAED,QAAM;AAAA,IACJ,KAAAxG;AAAA,IACA,MAAAD;AAAA,IACA,OAAAwB;AAAA,IACA,QAAAC;AAAA,EACJ,IAAM+B,EAAQ;AACZ,SAAO;AAAA,IACL,KAAAvD;AAAA,IACA,MAAAD;AAAA,IACA,OAAAwB;AAAA,IACA,QAAAC;AAAA,IACA,OAAO+B,EAAQ;AAAA,IACf,QAAQA,EAAQ;AAAA,EACpB;AACA;AAEA,SAASkD,GAAiBC,GAAqB;AAC7C,SAAOA,EAAoB,OAAO,CAACpE,GAAKsB,MAC/B+C,GAAIrE,GAAK2C,GAAqBrB,CAAI,CAAC,GACzC3E,CAAkB;AACvB;AACA,SAAS2H,GAAiBF,GAAqB;AAC7C,SAAOA,EAAoB,OAAO,CAACpE,GAAKsB,MAC/BtB,IAAMyC,GAAqBnB,CAAI,GACrC,CAAC;AACN;AACA,SAASiD,GAAiBH,GAAqB;AAC7C,SAAOA,EAAoB,OAAO,CAACpE,GAAKsB,MAC/BtB,IAAM0C,GAAqBpB,CAAI,GACrC,CAAC;AACN;AAEA,SAASkD,GAAuBvD,GAASwD,GAAS;AAKhD,MAJIA,MAAY,WACdA,IAAUzD,KAGR,CAACC;AACH;AAGF,QAAM;AAAA,IACJ,KAAAvD;AAAA,IACA,MAAAD;AAAA,IACA,QAAAyB;AAAA,IACA,OAAAD;AAAA,EACJ,IAAMwF,EAAQxD,CAAO;AAGnB,EAFgCiB,GAA2BjB,CAAO,MAM9D/B,KAAU,KAAKD,KAAS,KAAKvB,KAAO,OAAO,eAAeD,KAAQ,OAAO,eAC3EwD,EAAQ,eAAe;AAAA,IACrB,OAAO;AAAA,IACP,QAAQ;AAAA,EACd,CAAK;AAEL;AAEA,MAAMyD,KAAa,CAAC,CAAC,KAAK,CAAC,QAAQ,OAAO,GAAGJ,EAAgB,GAAG,CAAC,KAAK,CAAC,OAAO,QAAQ,GAAGC,EAAgB,CAAC;AAC1G,MAAMI,GAAK;AAAA,EACT,YAAY3H,GAAMiE,GAAS;AACzB,SAAK,OAAO,QACZ,KAAK,QAAQ,QACb,KAAK,SAAS,QACd,KAAK,MAAM,QACX,KAAK,SAAS,QACd,KAAK,QAAQ,QACb,KAAK,OAAO;AACZ,UAAMmD,IAAsBzC,GAAuBV,CAAO,GACpD2D,IAAgBT,GAAiBC,CAAmB;AAC1D,SAAK,OAAO;AAAA,MAAE,GAAGpH;AAAA,IACrB,GACI,KAAK,QAAQA,EAAK,OAClB,KAAK,SAASA,EAAK;AAEnB,eAAW,CAAC6H,GAAMC,GAAMC,CAAe,KAAKL;AAC1C,iBAAWM,KAAOF;AAChB,eAAO,eAAe,MAAME,GAAK;AAAA,UAC/B,KAAK,MAAM;AACT,kBAAMC,IAAiBF,EAAgBX,CAAmB,GACpDc,IAAsBN,EAAcC,CAAI,IAAII;AAClD,mBAAO,KAAK,KAAKD,CAAG,IAAIE;AAAA,UACzB;AAAA,UACD,YAAY;AAAA,QACtB,CAAS;AAIL,WAAO,eAAe,MAAM,QAAQ;AAAA,MAClC,YAAY;AAAA,IAClB,CAAK;AAAA,EACF;AAEH;AAEA,MAAMC,GAAU;AAAA,EACd,YAAYnG,GAAQ;AAClB,SAAK,SAAS,QACd,KAAK,YAAY,IAEjB,KAAK,YAAY,MAAM;AACrB,WAAK,UAAU,QAAQ,CAAArF,MAAY;AACjC,YAAIyL;AAEJ,gBAAQA,IAAe,KAAK,WAAW,OAAO,SAASA,EAAa,oBAAoB,GAAGzL,CAAQ;AAAA,MAC3G,CAAO;AAAA,IACP,GAEI,KAAK,SAASqF;AAAA,EACf;AAAA,EAED,IAAIqG,GAAWC,GAAShJ,GAAS;AAC/B,QAAIiJ;AAEJ,KAACA,IAAgB,KAAK,WAAW,QAAgBA,EAAc,iBAAiBF,GAAWC,GAAShJ,CAAO,GAC3G,KAAK,UAAU,KAAK,CAAC+I,GAAWC,GAAShJ,CAAO,CAAC;AAAA,EAClD;AAEH;AAEA,SAASkJ,GAAuBxG,GAAQ;AAMtC,QAAM;AAAA,IACJ,aAAAyG;AAAA,EACJ,IAAMvE,EAAUlC,CAAM;AACpB,SAAOA,aAAkByG,IAAczG,IAASwD,GAAiBxD,CAAM;AACzE;AAEA,SAAS0G,GAAoBC,GAAOC,GAAa;AAC/C,QAAMC,IAAK,KAAK,IAAIF,EAAM,CAAC,GACrBG,IAAK,KAAK,IAAIH,EAAM,CAAC;AAE3B,SAAI,OAAOC,KAAgB,WAClB,KAAK,KAAKC,KAAM,IAAIC,KAAM,CAAC,IAAIF,IAGpC,OAAOA,KAAe,OAAOA,IACxBC,IAAKD,EAAY,KAAKE,IAAKF,EAAY,IAG5C,OAAOA,IACFC,IAAKD,EAAY,IAGtB,OAAOA,IACFE,IAAKF,EAAY,IAGnB;AACT;AAEA,IAAIG;AAAA,CAEH,SAAUA,GAAW;AACpB,EAAAA,EAAU,QAAW,SACrBA,EAAU,YAAe,aACzBA,EAAU,UAAa,WACvBA,EAAU,cAAiB,eAC3BA,EAAU,SAAY,UACtBA,EAAU,kBAAqB,mBAC/BA,EAAU,mBAAsB;AAClC,GAAGA,MAAcA,IAAY,CAAE,EAAC;AAEhC,SAASC,GAAe3L,GAAO;AAC7B,EAAAA,EAAM,eAAc;AACtB;AACA,SAAS4L,GAAgB5L,GAAO;AAC9B,EAAAA,EAAM,gBAAe;AACvB;AAEG,IAAC6L;AAAA,CAEH,SAAUA,GAAc;AACvB,EAAAA,EAAa,QAAW,SACxBA,EAAa,OAAU,aACvBA,EAAa,QAAW,cACxBA,EAAa,OAAU,aACvBA,EAAa,KAAQ,WACrBA,EAAa,MAAS,UACtBA,EAAa,QAAW;AAC1B,GAAGA,MAAiBA,IAAe,CAAE,EAAC;AAEtC,MAAMC,KAAuB;AAAA,EAC3B,OAAO,CAACD,EAAa,OAAOA,EAAa,KAAK;AAAA,EAC9C,QAAQ,CAACA,EAAa,GAAG;AAAA,EACzB,KAAK,CAACA,EAAa,OAAOA,EAAa,KAAK;AAC9C,GACME,KAAkC,CAAC/L,GAAOF,MAAS;AACvD,MAAI;AAAA,IACF,oBAAAkM;AAAA,EACD,IAAGlM;AAEJ,UAAQE,EAAM,MAAI;AAAA,IAChB,KAAK6L,EAAa;AAChB,aAAO;AAAA,QAAE,GAAGG;AAAA,QACV,GAAGA,EAAmB,IAAI;AAAA,MAClC;AAAA,IAEI,KAAKH,EAAa;AAChB,aAAO;AAAA,QAAE,GAAGG;AAAA,QACV,GAAGA,EAAmB,IAAI;AAAA,MAClC;AAAA,IAEI,KAAKH,EAAa;AAChB,aAAO;AAAA,QAAE,GAAGG;AAAA,QACV,GAAGA,EAAmB,IAAI;AAAA,MAClC;AAAA,IAEI,KAAKH,EAAa;AAChB,aAAO;AAAA,QAAE,GAAGG;AAAA,QACV,GAAGA,EAAmB,IAAI;AAAA,MAClC;AAAA,EACG;AAGH;AAEA,MAAMC,GAAe;AAAA,EACnB,YAAYC,GAAO;AACjB,SAAK,QAAQ,QACb,KAAK,oBAAoB,IACzB,KAAK,uBAAuB,QAC5B,KAAK,YAAY,QACjB,KAAK,kBAAkB,QACvB,KAAK,QAAQA;AACb,UAAM;AAAA,MACJ,OAAO;AAAA,QACL,QAAAvH;AAAA,MACD;AAAA,IACF,IAAGuH;AACJ,SAAK,QAAQA,GACb,KAAK,YAAY,IAAIpB,GAAU3C,GAAiBxD,CAAM,CAAC,GACvD,KAAK,kBAAkB,IAAImG,GAAUjE,EAAUlC,CAAM,CAAC,GACtD,KAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI,GACjD,KAAK,eAAe,KAAK,aAAa,KAAK,IAAI,GAC/C,KAAK,OAAM;AAAA,EACZ;AAAA,EAED,SAAS;AACP,SAAK,YAAW,GAChB,KAAK,gBAAgB,IAAI+G,EAAU,QAAQ,KAAK,YAAY,GAC5D,KAAK,gBAAgB,IAAIA,EAAU,kBAAkB,KAAK,YAAY,GACtE,WAAW,MAAM,KAAK,UAAU,IAAIA,EAAU,SAAS,KAAK,aAAa,CAAC;AAAA,EAC3E;AAAA,EAED,cAAc;AACZ,UAAM;AAAA,MACJ,YAAAS;AAAA,MACA,SAAAC;AAAA,IACN,IAAQ,KAAK,OACHnF,IAAOkF,EAAW,KAAK;AAE7B,IAAIlF,KACFkD,GAAuBlD,CAAI,GAG7BmF,EAAQ9J,CAAkB;AAAA,EAC3B;AAAA,EAED,cAActC,GAAO;AACnB,QAAIqM,GAAgBrM,CAAK,GAAG;AAC1B,YAAM;AAAA,QACJ,QAAAI;AAAA,QACA,SAAAkM;AAAA,QACA,SAAArK;AAAA,MACR,IAAU,KAAK,OACH;AAAA,QACJ,eAAAsK,IAAgBT;AAAA,QAChB,kBAAAU,IAAmBT;AAAA,QACnB,gBAAAU,IAAiB;AAAA,MAClB,IAAGxK,GACE;AAAA,QACJ,MAAAyK;AAAA,MACD,IAAG1M;AAEJ,UAAIuM,EAAc,IAAI,SAASG,CAAI,GAAG;AACpC,aAAK,UAAU1M,CAAK;AACpB;AAAA,MACD;AAED,UAAIuM,EAAc,OAAO,SAASG,CAAI,GAAG;AACvC,aAAK,aAAa1M,CAAK;AACvB;AAAA,MACD;AAED,YAAM;AAAA,QACJ,eAAA6D;AAAA,MACR,IAAUyI,EAAQ,SACNN,IAAqBnI,IAAgB;AAAA,QACzC,GAAGA,EAAc;AAAA,QACjB,GAAGA,EAAc;AAAA,MAClB,IAAGvB;AAEJ,MAAK,KAAK,yBACR,KAAK,uBAAuB0J;AAG9B,YAAMW,IAAiBH,EAAiBxM,GAAO;AAAA,QAC7C,QAAAI;AAAA,QACA,SAASkM,EAAQ;AAAA,QACjB,oBAAAN;AAAA,MACR,CAAO;AAED,UAAIW,GAAgB;AAClB,cAAMC,IAAmBC,GAASF,GAAgBX,CAAkB,GAC9Dc,IAAc;AAAA,UAClB,GAAG;AAAA,UACH,GAAG;AAAA,QACb,GACc;AAAA,UACJ,qBAAA/C;AAAA,QACV,IAAYuC,EAAQ;AAEZ,mBAAWlD,KAAmBW,GAAqB;AACjD,gBAAMP,IAAYxJ,EAAM,MAClB;AAAA,YACJ,OAAA8I;AAAA,YACA,SAAAG;AAAA,YACA,QAAAF;AAAA,YACA,UAAAC;AAAA,YACA,WAAAH;AAAA,YACA,WAAAF;AAAA,UACZ,IAAcF,GAAkBW,CAAe,GAC/B2D,IAAoBpD,GAAqBP,CAAe,GACxD4D,IAAqB;AAAA,YACzB,GAAG,KAAK,IAAIxD,MAAcqC,EAAa,QAAQkB,EAAkB,QAAQA,EAAkB,QAAQ,IAAIA,EAAkB,OAAO,KAAK,IAAIvD,MAAcqC,EAAa,QAAQkB,EAAkB,OAAOA,EAAkB,OAAOA,EAAkB,QAAQ,GAAGJ,EAAe,CAAC,CAAC;AAAA,YAC5Q,GAAG,KAAK,IAAInD,MAAcqC,EAAa,OAAOkB,EAAkB,SAASA,EAAkB,SAAS,IAAIA,EAAkB,QAAQ,KAAK,IAAIvD,MAAcqC,EAAa,OAAOkB,EAAkB,MAAMA,EAAkB,MAAMA,EAAkB,SAAS,GAAGJ,EAAe,CAAC,CAAC;AAAA,UACxR,GACgBM,IAAazD,MAAcqC,EAAa,SAAS,CAAC5C,KAAWO,MAAcqC,EAAa,QAAQ,CAAC9C,GACjGmE,IAAa1D,MAAcqC,EAAa,QAAQ,CAAC7C,KAAYQ,MAAcqC,EAAa,MAAM,CAAC/C;AAErG,cAAImE,KAAcD,EAAmB,MAAML,EAAe,GAAG;AAC3D,kBAAMQ,IAAuB/D,EAAgB,aAAawD,EAAiB,GACrEQ,IAA4B5D,MAAcqC,EAAa,SAASsB,KAAwBtE,EAAU,KAAKW,MAAcqC,EAAa,QAAQsB,KAAwBxE,EAAU;AAElL,gBAAIyE,KAA6B,CAACR,EAAiB,GAAG;AAGpD,cAAAxD,EAAgB,SAAS;AAAA,gBACvB,MAAM+D;AAAA,gBACN,UAAUV;AAAA,cAC1B,CAAe;AACD;AAAA,YACD;AAED,YAAIW,IACFN,EAAY,IAAI1D,EAAgB,aAAa+D,IAE7CL,EAAY,IAAItD,MAAcqC,EAAa,QAAQzC,EAAgB,aAAaP,EAAU,IAAIO,EAAgB,aAAaT,EAAU,GAGnImE,EAAY,KACd1D,EAAgB,SAAS;AAAA,cACvB,MAAM,CAAC0D,EAAY;AAAA,cACnB,UAAUL;AAAA,YAC1B,CAAe;AAGH;AAAA,UACD,WAAUS,KAAcF,EAAmB,MAAML,EAAe,GAAG;AAClE,kBAAMQ,IAAuB/D,EAAgB,YAAYwD,EAAiB,GACpEQ,IAA4B5D,MAAcqC,EAAa,QAAQsB,KAAwBtE,EAAU,KAAKW,MAAcqC,EAAa,MAAMsB,KAAwBxE,EAAU;AAE/K,gBAAIyE,KAA6B,CAACR,EAAiB,GAAG;AAGpD,cAAAxD,EAAgB,SAAS;AAAA,gBACvB,KAAK+D;AAAA,gBACL,UAAUV;AAAA,cAC1B,CAAe;AACD;AAAA,YACD;AAED,YAAIW,IACFN,EAAY,IAAI1D,EAAgB,YAAY+D,IAE5CL,EAAY,IAAItD,MAAcqC,EAAa,OAAOzC,EAAgB,YAAYP,EAAU,IAAIO,EAAgB,YAAYT,EAAU,GAGhImE,EAAY,KACd1D,EAAgB,SAAS;AAAA,cACvB,KAAK,CAAC0D,EAAY;AAAA,cAClB,UAAUL;AAAA,YAC1B,CAAe;AAGH;AAAA,UACD;AAAA,QACF;AAED,aAAK,WAAWzM,GAAOgK,GAAI6C,GAASF,GAAgB,KAAK,oBAAoB,GAAGG,CAAW,CAAC;AAAA,MAC7F;AAAA,IACF;AAAA,EACF;AAAA,EAED,WAAW9M,GAAOqN,GAAa;AAC7B,UAAM;AAAA,MACJ,QAAAC;AAAA,IACN,IAAQ,KAAK;AACT,IAAAtN,EAAM,eAAc,GACpBsN,EAAOD,CAAW;AAAA,EACnB;AAAA,EAED,UAAUrN,GAAO;AACf,UAAM;AAAA,MACJ,OAAAuN;AAAA,IACN,IAAQ,KAAK;AACT,IAAAvN,EAAM,eAAc,GACpB,KAAK,OAAM,GACXuN;EACD;AAAA,EAED,aAAavN,GAAO;AAClB,UAAM;AAAA,MACJ,UAAAwN;AAAA,IACN,IAAQ,KAAK;AACT,IAAAxN,EAAM,eAAc,GACpB,KAAK,OAAM,GACXwN;EACD;AAAA,EAED,SAAS;AACP,SAAK,UAAU,aACf,KAAK,gBAAgB;EACtB;AAEH;AACAvB,GAAe,aAAa,CAAC;AAAA,EAC3B,WAAW;AAAA,EACX,SAAS,CAACjM,GAAOF,GAAMO,MAAU;AAC/B,QAAI;AAAA,MACF,eAAAkM,IAAgBT;AAAA,MAChB,cAAA2B;AAAA,IACD,IAAG3N,GACA;AAAA,MACF,QAAAM;AAAA,IACD,IAAGC;AACJ,UAAM;AAAA,MACJ,MAAAqM;AAAA,IACN,IAAQ1M,EAAM;AAEV,QAAIuM,EAAc,MAAM,SAASG,CAAI,GAAG;AACtC,YAAMgB,IAAYtN,EAAO,cAAc;AAEvC,aAAIsN,KAAa1N,EAAM,WAAW0N,IACzB,MAGT1N,EAAM,eAAc,GACpByN,KAAgB,QAAgBA,EAAa;AAAA,QAC3C,OAAOzN,EAAM;AAAA,MACrB,CAAO,GACM;AAAA,IACR;AAED,WAAO;AAAA,EACR;AACH,CAAC;AAED,SAAS2N,GAAqBC,GAAY;AACxC,SAAO,GAAQA,KAAc,cAAcA;AAC7C;AAEA,SAASC,GAAkBD,GAAY;AACrC,SAAO,GAAQA,KAAc,WAAWA;AAC1C;AAEA,MAAME,GAAsB;AAAA,EAC1B,YAAY5B,GAAO6B,GAAQC,GAAgB;AACzC,QAAIC;AAEJ,IAAID,MAAmB,WACrBA,IAAiB7C,GAAuBe,EAAM,MAAM,MAAM,IAG5D,KAAK,QAAQ,QACb,KAAK,SAAS,QACd,KAAK,oBAAoB,IACzB,KAAK,WAAW,QAChB,KAAK,YAAY,IACjB,KAAK,qBAAqB,QAC1B,KAAK,YAAY,MACjB,KAAK,YAAY,QACjB,KAAK,oBAAoB,QACzB,KAAK,kBAAkB,QACvB,KAAK,QAAQA,GACb,KAAK,SAAS6B;AACd,UAAM;AAAA,MACJ,OAAA/N;AAAA,IACD,IAAGkM,GACE;AAAA,MACJ,QAAAvH;AAAA,IACD,IAAG3E;AACJ,SAAK,QAAQkM,GACb,KAAK,SAAS6B,GACd,KAAK,WAAW5F,GAAiBxD,CAAM,GACvC,KAAK,oBAAoB,IAAImG,GAAU,KAAK,QAAQ,GACpD,KAAK,YAAY,IAAIA,GAAUkD,CAAc,GAC7C,KAAK,kBAAkB,IAAIlD,GAAUjE,EAAUlC,CAAM,CAAC,GACtD,KAAK,sBAAsBsJ,IAAuBpL,GAAoB7C,CAAK,MAAM,OAAOiO,IAAuB3L,GAC/G,KAAK,cAAc,KAAK,YAAY,KAAK,IAAI,GAC7C,KAAK,aAAa,KAAK,WAAW,KAAK,IAAI,GAC3C,KAAK,YAAY,KAAK,UAAU,KAAK,IAAI,GACzC,KAAK,eAAe,KAAK,aAAa,KAAK,IAAI,GAC/C,KAAK,gBAAgB,KAAK,cAAc,KAAK,IAAI,GACjD,KAAK,sBAAsB,KAAK,oBAAoB,KAAK,IAAI,GAC7D,KAAK,OAAM;AAAA,EACZ;AAAA,EAED,SAAS;AACP,UAAM;AAAA,MACJ,QAAAyL;AAAA,MACA,OAAO;AAAA,QACL,SAAS;AAAA,UACP,sBAAAG;AAAA,UACA,4BAAAC;AAAA,QACD;AAAA,MACF;AAAA,IACF,IAAG;AAWJ,QAVA,KAAK,UAAU,IAAIJ,EAAO,KAAK,MAAM,KAAK,YAAY;AAAA,MACpD,SAAS;AAAA,IACf,CAAK,GACD,KAAK,UAAU,IAAIA,EAAO,IAAI,MAAM,KAAK,SAAS,GAClD,KAAK,gBAAgB,IAAIrC,EAAU,QAAQ,KAAK,YAAY,GAC5D,KAAK,gBAAgB,IAAIA,EAAU,WAAWC,EAAc,GAC5D,KAAK,gBAAgB,IAAID,EAAU,kBAAkB,KAAK,YAAY,GACtE,KAAK,gBAAgB,IAAIA,EAAU,aAAaC,EAAc,GAC9D,KAAK,kBAAkB,IAAID,EAAU,SAAS,KAAK,aAAa,GAE5DwC,GAAsB;AACxB,UAAIC,KAA8B,QAAQA,EAA2B;AAAA,QACnE,OAAO,KAAK,MAAM;AAAA,QAClB,YAAY,KAAK,MAAM;AAAA,QACvB,SAAS,KAAK,MAAM;AAAA,MAC5B,CAAO;AACC,eAAO,KAAK;AAGd,UAAIN,GAAkBK,CAAoB,GAAG;AAC3C,aAAK,YAAY,WAAW,KAAK,aAAaA,EAAqB,KAAK;AACxE;AAAA,MACD;AAED,UAAIP,GAAqBO,CAAoB;AAC3C;AAAA,IAEH;AAED,SAAK,YAAW;AAAA,EACjB;AAAA,EAED,SAAS;AACP,SAAK,UAAU,aACf,KAAK,gBAAgB,aAGrB,WAAW,KAAK,kBAAkB,WAAW,EAAE,GAE3C,KAAK,cAAc,SACrB,aAAa,KAAK,SAAS,GAC3B,KAAK,YAAY;AAAA,EAEpB;AAAA,EAED,cAAc;AACZ,UAAM;AAAA,MACJ,oBAAAE;AAAA,IACD,IAAG,MACE;AAAA,MACJ,SAAAhC;AAAA,IACN,IAAQ,KAAK;AAET,IAAIgC,MACF,KAAK,YAAY,IAEjB,KAAK,kBAAkB,IAAI1C,EAAU,OAAOE,IAAiB;AAAA,MAC3D,SAAS;AAAA,IACjB,CAAO,GAED,KAAK,oBAAmB,GAExB,KAAK,kBAAkB,IAAIF,EAAU,iBAAiB,KAAK,mBAAmB,GAC9EU,EAAQgC,CAAkB;AAAA,EAE7B;AAAA,EAED,WAAWpO,GAAO;AAChB,QAAIqO;AAEJ,UAAM;AAAA,MACJ,WAAAC;AAAA,MACA,oBAAAF;AAAA,MACA,OAAAlC;AAAA,IACD,IAAG,MACE;AAAA,MACJ,QAAAoB;AAAA,MACA,SAAS;AAAA,QACP,sBAAAY;AAAA,MACD;AAAA,IACF,IAAGhC;AAEJ,QAAI,CAACkC;AACH;AAGF,UAAMf,KAAegB,IAAwBxL,GAAoB7C,CAAK,MAAM,OAAOqO,IAAwB/L,GACrGgJ,IAAQuB,GAASuB,GAAoBf,CAAW;AAEtD,QAAI,CAACiB,KAAaJ,GAAsB;AACtC,UAAIP,GAAqBO,CAAoB,GAAG;AAC9C,YAAIA,EAAqB,aAAa,QAAQ7C,GAAoBC,GAAO4C,EAAqB,SAAS;AACrG,iBAAO,KAAK;AAGd,YAAI7C,GAAoBC,GAAO4C,EAAqB,QAAQ;AAC1D,iBAAO,KAAK;MAEf;AAED,aAAIL,GAAkBK,CAAoB,KACpC7C,GAAoBC,GAAO4C,EAAqB,SAAS,IACpD,KAAK,iBAIhB;AAAA,IACD;AAED,IAAIlO,EAAM,cACRA,EAAM,eAAc,GAGtBsN,EAAOD,CAAW;AAAA,EACnB;AAAA,EAED,YAAY;AACV,UAAM;AAAA,MACJ,OAAAE;AAAA,IACN,IAAQ,KAAK;AACT,SAAK,OAAM,GACXA;EACD;AAAA,EAED,eAAe;AACb,UAAM;AAAA,MACJ,UAAAC;AAAA,IACN,IAAQ,KAAK;AACT,SAAK,OAAM,GACXA;EACD;AAAA,EAED,cAAcxN,GAAO;AACnB,IAAIA,EAAM,SAAS6L,EAAa,OAC9B,KAAK,aAAY;AAAA,EAEpB;AAAA,EAED,sBAAsB;AACpB,QAAI0C;AAEJ,KAACA,IAAwB,KAAK,SAAS,aAAY,MAAO,QAAgBA,EAAsB;EACjG;AAEH;AAEA,MAAMR,KAAS;AAAA,EACb,MAAM;AAAA,IACJ,MAAM;AAAA,EACP;AAAA,EACD,KAAK;AAAA,IACH,MAAM;AAAA,EACP;AACH;AACA,MAAMS,WAAsBV,GAAsB;AAAA,EAChD,YAAY5B,GAAO;AACjB,UAAM;AAAA,MACJ,OAAAlM;AAAA,IACD,IAAGkM,GAGE8B,IAAiB7F,GAAiBnI,EAAM,MAAM;AACpD,UAAMkM,GAAO6B,IAAQC,CAAc;AAAA,EACpC;AAEH;AACAQ,GAAc,aAAa,CAAC;AAAA,EAC1B,WAAW;AAAA,EACX,SAAS,CAAC1O,GAAMO,MAAU;AACxB,QAAI;AAAA,MACF,aAAaL;AAAA,IACd,IAAGF,GACA;AAAA,MACF,cAAA2N;AAAA,IACD,IAAGpN;AAEJ,WAAI,CAACL,EAAM,aAAaA,EAAM,WAAW,IAChC,MAGTyN,KAAgB,QAAgBA,EAAa;AAAA,MAC3C,OAAAzN;AAAA,IACN,CAAK,GACM;AAAA,EACR;AACH,CAAC;AAED,MAAMyO,KAAW;AAAA,EACf,MAAM;AAAA,IACJ,MAAM;AAAA,EACP;AAAA,EACD,KAAK;AAAA,IACH,MAAM;AAAA,EACP;AACH;AACA,IAAIC;AAAA,CAEH,SAAUA,GAAa;AACtB,EAAAA,EAAYA,EAAY,aAAgB,CAAC,IAAI;AAC/C,GAAGA,OAAgBA,KAAc,CAAE,EAAC;AAEpC,MAAMC,WAAoBb,GAAsB;AAAA,EAC9C,YAAY5B,GAAO;AACjB,UAAMA,GAAOuC,IAAUtG,GAAiB+D,EAAM,MAAM,MAAM,CAAC;AAAA,EAC5D;AAEH;AACAyC,GAAY,aAAa,CAAC;AAAA,EACxB,WAAW;AAAA,EACX,SAAS,CAAC7O,GAAMO,MAAU;AACxB,QAAI;AAAA,MACF,aAAaL;AAAA,IACd,IAAGF,GACA;AAAA,MACF,cAAA2N;AAAA,IACD,IAAGpN;AAEJ,WAAIL,EAAM,WAAW0O,GAAY,aACxB,MAGTjB,KAAgB,QAAgBA,EAAa;AAAA,MAC3C,OAAAzN;AAAA,IACN,CAAK,GACM;AAAA,EACR;AACH,CAAC;AAED,MAAM4O,KAAW;AAAA,EACf,MAAM;AAAA,IACJ,MAAM;AAAA,EACP;AAAA,EACD,KAAK;AAAA,IACH,MAAM;AAAA,EACP;AACH;AACA,MAAMC,WAAoBf,GAAsB;AAAA,EAC9C,YAAY5B,GAAO;AACjB,UAAMA,GAAO0C,EAAQ;AAAA,EACtB;AAAA,EAED,OAAO,QAAQ;AAIb,kBAAO,iBAAiBA,GAAS,KAAK,MAAM9M,GAAM;AAAA,MAChD,SAAS;AAAA,MACT,SAAS;AAAA,IACf,CAAK,GACM,WAAoB;AACzB,aAAO,oBAAoB8M,GAAS,KAAK,MAAM9M,CAAI;AAAA,IACzD;AAGI,aAASA,IAAO;AAAA,IAAE;AAAA,EACnB;AAEH;AACA+M,GAAY,aAAa,CAAC;AAAA,EACxB,WAAW;AAAA,EACX,SAAS,CAAC/O,GAAMO,MAAU;AACxB,QAAI;AAAA,MACF,aAAaL;AAAA,IACd,IAAGF,GACA;AAAA,MACF,cAAA2N;AAAA,IACD,IAAGpN;AACJ,UAAM;AAAA,MACJ,SAAAyO;AAAA,IACD,IAAG9O;AAEJ,WAAI8O,EAAQ,SAAS,IACZ,MAGTrB,KAAgB,QAAgBA,EAAa;AAAA,MAC3C,OAAAzN;AAAA,IACN,CAAK,GACM;AAAA,EACR;AACH,CAAC;AAEE,IAAC+O;AAAA,CAEH,SAAUA,GAAqB;AAC9B,EAAAA,EAAoBA,EAAoB,UAAa,CAAC,IAAI,WAC1DA,EAAoBA,EAAoB,gBAAmB,CAAC,IAAI;AAClE,GAAGA,OAAwBA,KAAsB,CAAE,EAAC;AAEjD,IAACC;AAAA,CAEH,SAAUA,GAAgB;AACzB,EAAAA,EAAeA,EAAe,YAAe,CAAC,IAAI,aAClDA,EAAeA,EAAe,oBAAuB,CAAC,IAAI;AAC5D,GAAGA,OAAmBA,KAAiB,CAAE,EAAC;AAE1C,SAASC,GAAgBnP,GAAM;AAC7B,MAAI;AAAA,IACF,cAAAwJ;AAAA,IACA,WAAAoE,IAAYqB,GAAoB;AAAA,IAChC,WAAAG;AAAA,IACA,cAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,OAAAC,IAAQN,GAAe;AAAA,IACvB,oBAAAO;AAAA,IACA,qBAAAxF;AAAA,IACA,yBAAAyF;AAAA,IACA,OAAAlE;AAAA,IACA,WAAA5B;AAAA,EACD,IAAG5J;AACJ,QAAM2P,IAAeC,GAAgB;AAAA,IACnC,OAAApE;AAAA,IACA,UAAU,CAAC8D;AAAA,EACf,CAAG,GACK,CAACO,GAAuBC,CAAuB,IAAIC,GAAW,GAC9DC,IAAcC,EAAO;AAAA,IACzB,GAAG;AAAA,IACH,GAAG;AAAA,EACP,CAAG,GACKC,IAAkBD,EAAO;AAAA,IAC7B,GAAG;AAAA,IACH,GAAG;AAAA,EACP,CAAG,GACKpN,IAAOtB,EAAQ,MAAM;AACzB,YAAQqM,GAAS;AAAA,MACf,KAAKqB,GAAoB;AACvB,eAAOQ,IAAqB;AAAA,UAC1B,KAAKA,EAAmB;AAAA,UACxB,QAAQA,EAAmB;AAAA,UAC3B,MAAMA,EAAmB;AAAA,UACzB,OAAOA,EAAmB;AAAA,QAC3B,IAAG;AAAA,MAEN,KAAKR,GAAoB;AACvB,eAAOI;AAAA,IACV;AAAA,EACF,GAAE,CAACzB,GAAWyB,GAAcI,CAAkB,CAAC,GAC1CU,IAAqBF,EAAO,IAAI,GAChCG,IAAarQ,EAAY,MAAM;AACnC,UAAMuJ,IAAkB6G,EAAmB;AAE3C,QAAI,CAAC7G;AACH;AAGF,UAAM+G,IAAaL,EAAY,QAAQ,IAAIE,EAAgB,QAAQ,GAC7DI,IAAYN,EAAY,QAAQ,IAAIE,EAAgB,QAAQ;AAClE,IAAA5G,EAAgB,SAAS+G,GAAYC,CAAS;AAAA,EAC/C,GAAE,CAAE,CAAA,GACCC,IAA4BhP,EAAQ,MAAMiO,MAAUN,GAAe,YAAY,CAAC,GAAGjF,CAAmB,EAAE,QAAS,IAAGA,GAAqB,CAACuF,GAAOvF,CAAmB,CAAC;AAC3K,EAAAtK;AAAA,IAAU,MAAM;AACd,UAAI,CAAC2P,KAAW,CAACrF,EAAoB,UAAU,CAACpH,GAAM;AACpD,QAAAiN;AACA;AAAA,MACD;AAED,iBAAWxG,KAAmBiH,GAA2B;AACvD,aAAKnB,KAAa,OAAO,SAASA,EAAU9F,CAAe,OAAO;AAChE;AAGF,cAAM7E,IAAQwF,EAAoB,QAAQX,CAAe,GACnDC,IAAsBmG,EAAwBjL,CAAK;AAEzD,YAAI,CAAC8E;AACH;AAGF,cAAM;AAAA,UACJ,WAAAG;AAAA,UACA,OAAAC;AAAA,QACR,IAAUN,GAA2BC,GAAiBC,GAAqB1G,GAAM2G,GAAcI,CAAS;AAElG,mBAAWc,KAAQ,CAAC,KAAK,GAAG;AAC1B,UAAKiF,EAAajF,CAAI,EAAEhB,EAAUgB,CAAI,CAAC,MACrCf,EAAMe,CAAI,IAAI,GACdhB,EAAUgB,CAAI,IAAI;AAItB,YAAIf,EAAM,IAAI,KAAKA,EAAM,IAAI,GAAG;AAC9B,UAAAmG,KACAK,EAAmB,UAAU7G,GAC7BuG,EAAsBO,GAAYb,CAAQ,GAC1CS,EAAY,UAAUrG,GACtBuG,EAAgB,UAAUxG;AAC1B;AAAA,QACD;AAAA,MACF;AAED,MAAAsG,EAAY,UAAU;AAAA,QACpB,GAAG;AAAA,QACH,GAAG;AAAA,MACT,GACIE,EAAgB,UAAU;AAAA,QACxB,GAAG;AAAA,QACH,GAAG;AAAA,MACT,GACIJ;IACD;AAAA;AAAA,IACD;AAAA,MAACtG;AAAA,MAAc4G;AAAA,MAAYhB;AAAA,MAAWU;AAAA,MAAyBR;AAAA,MAASC;AAAA;AAAA,MACxE,KAAK,UAAU1M,CAAI;AAAA;AAAA,MACnB,KAAK,UAAU8M,CAAY;AAAA,MAAGE;AAAA,MAAuB5F;AAAA,MAAqBsG;AAAA,MAA2Bb;AAAA;AAAA,MACrG,KAAK,UAAU9F,CAAS;AAAA,IAAC;AAAA,EAAC;AAC5B;AACA,MAAM4G,KAAsB;AAAA,EAC1B,GAAG;AAAA,IACD,CAAC/H,EAAU,QAAQ,GAAG;AAAA,IACtB,CAACA,EAAU,OAAO,GAAG;AAAA,EACtB;AAAA,EACD,GAAG;AAAA,IACD,CAACA,EAAU,QAAQ,GAAG;AAAA,IACtB,CAACA,EAAU,OAAO,GAAG;AAAA,EACtB;AACH;AAEA,SAASmH,GAAgBrP,GAAO;AAC9B,MAAI;AAAA,IACF,OAAAiL;AAAA,IACA,UAAAiF;AAAA,EACD,IAAGlQ;AACJ,QAAMmQ,IAAgBC,GAAYnF,CAAK;AACvC,SAAOoF,GAAY,CAAAC,MAAkB;AACnC,QAAIJ,KAAY,CAACC,KAAiB,CAACG;AAEjC,aAAOL;AAGT,UAAM9G,IAAY;AAAA,MAChB,GAAG,KAAK,KAAK8B,EAAM,IAAIkF,EAAc,CAAC;AAAA,MACtC,GAAG,KAAK,KAAKlF,EAAM,IAAIkF,EAAc,CAAC;AAAA,IAC5C;AAEI,WAAO;AAAA,MACL,GAAG;AAAA,QACD,CAACjI,EAAU,QAAQ,GAAGoI,EAAe,EAAEpI,EAAU,QAAQ,KAAKiB,EAAU,MAAM;AAAA,QAC9E,CAACjB,EAAU,OAAO,GAAGoI,EAAe,EAAEpI,EAAU,OAAO,KAAKiB,EAAU,MAAM;AAAA,MAC7E;AAAA,MACD,GAAG;AAAA,QACD,CAACjB,EAAU,QAAQ,GAAGoI,EAAe,EAAEpI,EAAU,QAAQ,KAAKiB,EAAU,MAAM;AAAA,QAC9E,CAACjB,EAAU,OAAO,GAAGoI,EAAe,EAAEpI,EAAU,OAAO,KAAKiB,EAAU,MAAM;AAAA,MAC7E;AAAA,IACP;AAAA,EACG,GAAE,CAAC+G,GAAUjF,GAAOkF,CAAa,CAAC;AACrC;AAEA,SAASI,GAAcC,GAAgB3M,GAAI;AACzC,QAAM4M,IAAgB5M,MAAO,OAAO2M,EAAe,IAAI3M,CAAE,IAAI,QACvD+C,IAAO6J,IAAgBA,EAAc,KAAK,UAAU;AAC1D,SAAOJ,GAAY,CAAAK,MAAc;AAC/B,QAAIjR;AAEJ,WAAIoE,MAAO,OACF,QAMDpE,IAAOmH,KAAsB8J,MAAe,OAAOjR,IAAO;AAAA,EACtE,GAAK,CAACmH,GAAM/C,CAAE,CAAC;AACf;AAEA,SAAS8M,GAAqB5O,GAAS6O,GAAqB;AAC1D,SAAO5P,EAAQ,MAAMe,EAAQ,OAAO,CAACiC,GAAarC,MAAW;AAC3D,UAAM;AAAA,MACJ,QAAQkP;AAAA,IACT,IAAGlP,GACEmP,IAAmBD,EAAO,WAAW,IAAI,CAAAxD,OAAc;AAAA,MAC3D,WAAWA,EAAU;AAAA,MACrB,SAASuD,EAAoBvD,EAAU,SAAS1L,CAAM;AAAA,IACvD,EAAC;AACF,WAAO,CAAC,GAAGqC,GAAa,GAAG8M,CAAgB;AAAA,EAC5C,GAAE,CAAE,CAAA,GAAG,CAAC/O,GAAS6O,CAAmB,CAAC;AACxC;AAEG,IAACG;AAAA,CAEH,SAAUA,GAAmB;AAC5B,EAAAA,EAAkBA,EAAkB,SAAY,CAAC,IAAI,UACrDA,EAAkBA,EAAkB,iBAAoB,CAAC,IAAI,kBAC7DA,EAAkBA,EAAkB,gBAAmB,CAAC,IAAI;AAC9D,GAAGA,OAAsBA,KAAoB,CAAE,EAAC;AAE7C,IAACC;AAAA,CAEH,SAAUA,GAAoB;AAC7B,EAAAA,EAAmB,YAAe;AACpC,GAAGA,OAAuBA,KAAqB,CAAE,EAAC;AAElD,MAAMC,KAA4B,oBAAI;AACtC,SAASC,GAAsBC,GAAY1R,GAAM;AAC/C,MAAI;AAAA,IACF,UAAA2R;AAAA,IACA,cAAAC;AAAA,IACA,QAAAC;AAAA,EACD,IAAG7R;AACJ,QAAM,CAAC8R,GAAOC,CAAQ,IAAIjS,EAAS,IAAI,GACjC;AAAA,IACJ,WAAAkS;AAAA,IACA,SAAA1H;AAAA,IACA,UAAA2H;AAAA,EACD,IAAGJ,GACEK,IAAgBjC,EAAOyB,CAAU,GACjCjB,IAAW0B,KACXC,IAAcC,GAAe5B,CAAQ,GACrC6B,IAA6BvS,EAAY,SAAUwS,GAAK;AAK5D,IAJIA,MAAQ,WACVA,IAAM,CAAA,IAGJ,CAAAH,EAAY,WAIhBL,EAAS,CAAAxK,MACHA,MAAU,OACLgL,IAGFhL,EAAM,OAAOgL,EAAI,OAAO,CAAAnO,MAAM,CAACmD,EAAM,SAASnD,CAAE,CAAC,CAAC,CAC1D;AAAA,EACL,GAAK,CAACgO,CAAW,CAAC,GACVI,IAAYvC,EAAO,IAAI,GACvBjM,IAAiB4M,GAAY,CAAA6B,MAAiB;AAClD,QAAIhC,KAAY,CAACkB;AACf,aAAOH;AAGT,QAAI,CAACiB,KAAiBA,MAAkBjB,MAAgBU,EAAc,YAAYR,KAAcI,KAAS,MAAM;AAC7G,YAAMY,IAAM,oBAAI;AAEhB,eAAS7R,KAAa6Q,GAAY;AAChC,YAAI,CAAC7Q;AACH;AAGF,YAAIiR,KAASA,EAAM,SAAS,KAAK,CAACA,EAAM,SAASjR,EAAU,EAAE,KAAKA,EAAU,KAAK,SAAS;AAExF,UAAA6R,EAAI,IAAI7R,EAAU,IAAIA,EAAU,KAAK,OAAO;AAC5C;AAAA,QACD;AAED,cAAMsG,IAAOtG,EAAU,KAAK,SACtBgC,IAAOsE,IAAO,IAAIqD,GAAKF,EAAQnD,CAAI,GAAGA,CAAI,IAAI;AACpD,QAAAtG,EAAU,KAAK,UAAUgC,GAErBA,KACF6P,EAAI,IAAI7R,EAAU,IAAIgC,CAAI;AAAA,MAE7B;AAED,aAAO6P;AAAA,IACR;AAED,WAAOD;AAAA,EACX,GAAK,CAACf,GAAYI,GAAOH,GAAUlB,GAAUnG,CAAO,CAAC;AACnD,SAAA3K,EAAU,MAAM;AACd,IAAAuS,EAAc,UAAUR;AAAA,EAC5B,GAAK,CAACA,CAAU,CAAC,GACf/R;AAAA,IAAU,MAAM;AACd,MAAI8Q,KAIJ6B;IACD;AAAA;AAAA,IACD,CAACX,GAAUlB,CAAQ;AAAA,EAAC,GACpB9Q;AAAA,IAAU,MAAM;AACd,MAAImS,KAASA,EAAM,SAAS,KAC1BC,EAAS,IAAI;AAAA,IAEhB;AAAA;AAAA,IACD,CAAC,KAAK,UAAUD,CAAK,CAAC;AAAA,EAAC,GACvBnS;AAAA,IAAU,MAAM;AACd,MAAI8Q,KAAY,OAAOuB,KAAc,YAAYQ,EAAU,YAAY,SAIvEA,EAAU,UAAU,WAAW,MAAM;AACnC,QAAAF,KACAE,EAAU,UAAU;AAAA,MACrB,GAAER,CAAS;AAAA,IACb;AAAA;AAAA,IACD,CAACA,GAAWvB,GAAU6B,GAA4B,GAAGV,CAAY;AAAA,EAAC,GAC3D;AAAA,IACL,gBAAA5N;AAAA,IACA,4BAAAsO;AAAA,IACA,oBAAoBR,KAAS;AAAA,EACjC;AAEE,WAASK,IAAa;AACpB,YAAQF,GAAQ;AAAA,MACd,KAAKX,GAAkB;AACrB,eAAO;AAAA,MAET,KAAKA,GAAkB;AACrB,eAAOK;AAAA,MAET;AACE,eAAO,CAACA;AAAA,IACX;AAAA,EACF;AACH;AAEA,SAASgB,GAAgBpL,GAAOqL,GAAW;AACzC,SAAOhC,GAAY,CAAA6B,MACZlL,IAIDkL,MAIG,OAAOG,KAAc,aAAaA,EAAUrL,CAAK,IAAIA,KAPnD,MAQR,CAACqL,GAAWrL,CAAK,CAAC;AACvB;AAEA,SAASsL,GAAe1L,GAAMmD,GAAS;AACrC,SAAOqI,GAAgBxL,GAAMmD,CAAO;AACtC;AAOA,SAASwI,GAAoB9S,GAAM;AACjC,MAAI;AAAA,IACF,UAAA+S;AAAA,IACA,UAAAtC;AAAA,EACD,IAAGzQ;AACJ,QAAMgT,IAAkBC,GAASF,CAAQ,GACnCG,IAAmB3R,EAAQ,MAAM;AACrC,QAAIkP,KAAY,OAAO,SAAW,OAAe,OAAO,OAAO,mBAAqB;AAClF;AAGF,UAAM;AAAA,MACJ,kBAAA0C;AAAA,IACD,IAAG;AACJ,WAAO,IAAIA,EAAiBH,CAAe;AAAA,EAC/C,GAAK,CAACA,GAAiBvC,CAAQ,CAAC;AAC9B,SAAA9Q,EAAU,MACD,MAAMuT,KAAoB,OAAO,SAASA,EAAiB,cACjE,CAACA,CAAgB,CAAC,GACdA;AACT;AAOA,SAASE,GAAkBpT,GAAM;AAC/B,MAAI;AAAA,IACF,UAAA+S;AAAA,IACA,UAAAtC;AAAA,EACD,IAAGzQ;AACJ,QAAMqT,IAAeJ,GAASF,CAAQ,GAChCO,IAAiB/R;AAAA,IAAQ,MAAM;AACnC,UAAIkP,KAAY,OAAO,SAAW,OAAe,OAAO,OAAO,iBAAmB;AAChF;AAGF,YAAM;AAAA,QACJ,gBAAA8C;AAAA,MACD,IAAG;AACJ,aAAO,IAAIA,EAAeF,CAAY;AAAA,IACvC;AAAA;AAAA,IACD,CAAC5C,CAAQ;AAAA,EAAC;AACV,SAAA9Q,EAAU,MACD,MAAM2T,KAAkB,OAAO,SAASA,EAAe,cAC7D,CAACA,CAAc,CAAC,GACZA;AACT;AAEA,SAASE,GAAe1M,GAAS;AAC/B,SAAO,IAAI0D,GAAK3D,GAAcC,CAAO,GAAGA,CAAO;AACjD;AAEA,SAAS2M,GAAQ3M,GAASwD,GAASoJ,GAAc;AAC/C,EAAIpJ,MAAY,WACdA,IAAUkJ;AAGZ,QAAM,CAAC3Q,GAAM8Q,CAAW,IAAIC,GAAWC,GAAS,IAAI,GAC9CX,IAAmBJ,GAAoB;AAAA,IAC3C,SAASgB,GAAS;AAChB,UAAKhN;AAIL,mBAAWiN,KAAUD,GAAS;AAC5B,gBAAM;AAAA,YACJ,MAAA7T;AAAA,YACA,QAAA4E;AAAA,UACD,IAAGkP;AAEJ,cAAI9T,MAAS,eAAe4E,aAAkB,eAAeA,EAAO,SAASiC,CAAO,GAAG;AACrF,YAAA6M;AACA;AAAA,UACD;AAAA,QACF;AAAA,IACF;AAAA,EAEL,CAAG,GACKL,IAAiBF,GAAkB;AAAA,IACvC,UAAUO;AAAA,EACd,CAAG;AACD,SAAAK,GAA0B,MAAM;AAC9B,IAAAL,KAEI7M,KACFwM,KAAkB,QAAgBA,EAAe,QAAQxM,CAAO,GAChEoM,KAAoB,QAAgBA,EAAiB,QAAQ,SAAS,MAAM;AAAA,MAC1E,WAAW;AAAA,MACX,SAAS;AAAA,IACjB,CAAO,MAEDI,KAAkB,QAAgBA,EAAe,WAAU,GAC3DJ,KAAoB,QAAgBA,EAAiB,WAAU;AAAA,EAErE,GAAK,CAACpM,CAAO,CAAC,GACLjE;AAEP,WAASgR,EAAQI,GAAa;AAC5B,QAAI,CAACnN;AACH,aAAO;AAGT,QAAIA,EAAQ,gBAAgB,IAAO;AACjC,UAAI9G;AAIJ,cAAQA,IAAOiU,KAAoCP,MAAiB,OAAO1T,IAAO;AAAA,IACnF;AAED,UAAMkU,IAAU5J,EAAQxD,CAAO;AAE/B,WAAI,KAAK,UAAUmN,CAAW,MAAM,KAAK,UAAUC,CAAO,IACjDD,IAGFC;AAAA,EACR;AACH;AAEA,SAASC,GAAatR,GAAM;AAC1B,QAAMuR,IAAczB,GAAgB9P,CAAI;AACxC,SAAO4C,GAAa5C,GAAMuR,CAAW;AACvC;AAEA,MAAMC,KAAiB,CAAA;AACvB,SAASC,GAAuBnN,GAAM;AACpC,QAAMoN,IAAetE,EAAO9I,CAAI,GAC1BqN,IAAY5D,GAAY,CAAA6B,MACvBtL,IAIDsL,KAAiBA,MAAkB4B,MAAkBlN,KAAQoN,EAAa,WAAWpN,EAAK,eAAeoN,EAAa,QAAQ,aACzH9B,IAGFjL,GAAuBL,CAAI,IAPzBkN,IAQR,CAAClN,CAAI,CAAC;AACT,SAAAxH,EAAU,MAAM;AACd,IAAA4U,EAAa,UAAUpN;AAAA,EAC3B,GAAK,CAACA,CAAI,CAAC,GACFqN;AACT;AAEA,SAASC,GAAiBC,GAAU;AAClC,QAAM,CAACC,GAAmBC,CAAoB,IAAI9U,EAAS,IAAI,GACzD+U,IAAe5E,EAAOyE,CAAQ,GAE9BI,IAAe/U,EAAY,CAAAG,MAAS;AACxC,UAAM6U,IAAmB9M,GAAqB/H,EAAM,MAAM;AAE1D,IAAK6U,KAILH,EAAqB,CAAAD,MACdA,KAILA,EAAkB,IAAII,GAAkBvM,GAAqBuM,CAAgB,CAAC,GACvE,IAAI,IAAIJ,CAAiB,KAJvB,IAKV;AAAA,EACF,GAAE,CAAE,CAAA;AACL,SAAAhV,EAAU,MAAM;AACd,UAAMqV,IAAmBH,EAAa;AAEtC,QAAIH,MAAaM,GAAkB;AACjC,MAAAC,EAAQD,CAAgB;AACxB,YAAME,IAAUR,EAAS,IAAI,CAAA5N,MAAW;AACtC,cAAMqO,IAAoBlN,GAAqBnB,CAAO;AAEtD,eAAIqO,KACFA,EAAkB,iBAAiB,UAAUL,GAAc;AAAA,UACzD,SAAS;AAAA,QACrB,CAAW,GACM,CAACK,GAAmB3M,GAAqB2M,CAAiB,CAAC,KAG7D;AAAA,MACR,CAAA,EAAE,OAAO,CAAAvQ,MAASA,KAAS,IAAI;AAChC,MAAAgQ,EAAqBM,EAAQ,SAAS,IAAI,IAAIA,CAAO,IAAI,IAAI,GAC7DL,EAAa,UAAUH;AAAA,IACxB;AAED,WAAO,MAAM;AACX,MAAAO,EAAQP,CAAQ,GAChBO,EAAQD,CAAgB;AAAA,IAC9B;AAEI,aAASC,EAAQP,GAAU;AACzB,MAAAA,EAAS,QAAQ,CAAA5N,MAAW;AAC1B,cAAMqO,IAAoBlN,GAAqBnB,CAAO;AACtD,QAAAqO,KAAqB,QAAgBA,EAAkB,oBAAoB,UAAUL,CAAY;AAAA,MACzG,CAAO;AAAA,IACF;AAAA,EACL,GAAK,CAACA,GAAcJ,CAAQ,CAAC,GACpBnT,EAAQ,MACTmT,EAAS,SACJC,IAAoB,MAAM,KAAKA,EAAkB,OAAQ,CAAA,EAAE,OAAO,CAAC9O,GAAK0H,MAAgBrD,GAAIrE,GAAK0H,CAAW,GAAG/K,CAAkB,IAAIwH,GAAiB0K,CAAQ,IAGhKlS,GACN,CAACkS,GAAUC,CAAiB,CAAC;AAClC;AAEA,SAASS,GAAsB3K,GAAemH,GAAc;AAC1D,EAAIA,MAAiB,WACnBA,IAAe,CAAA;AAGjB,QAAMyD,IAAuBpF,EAAO,IAAI;AACxC,SAAAtQ;AAAA,IAAU,MAAM;AACd,MAAA0V,EAAqB,UAAU;AAAA,IAChC;AAAA;AAAA,IACDzD;AAAA,EAAY,GACZjS,EAAU,MAAM;AACd,UAAM2V,IAAmB7K,MAAkBjI;AAE3C,IAAI8S,KAAoB,CAACD,EAAqB,YAC5CA,EAAqB,UAAU5K,IAG7B,CAAC6K,KAAoBD,EAAqB,YAC5CA,EAAqB,UAAU;AAAA,EAErC,GAAK,CAAC5K,CAAa,CAAC,GACX4K,EAAqB,UAAUtI,GAAStC,GAAe4K,EAAqB,OAAO,IAAI7S;AAChG;AAEA,SAAS+S,GAAejT,GAAS;AAC/B,EAAA3C;AAAA,IAAU,MAAM;AACd,UAAI,CAACuI;AACH;AAGF,YAAMsN,IAAclT,EAAQ,IAAI,CAAAtC,MAAQ;AACtC,YAAI;AAAA,UACF,QAAAkC;AAAA,QACD,IAAGlC;AACJ,eAAOkC,EAAO,SAAS,OAAO,SAASA,EAAO;MACpD,CAAK;AACD,aAAO,MAAM;AACX,mBAAWuT,KAAYD;AACrB,UAAAC,KAAY,QAAgBA,EAAQ;AAAA,MAE5C;AAAA,IACG;AAAA;AAAA;AAAA,IAEDnT,EAAQ,IAAI,CAAA/B,MAAS;AACnB,UAAI;AAAA,QACF,QAAA2B;AAAA,MACD,IAAG3B;AACJ,aAAO2B;AAAA,IACR,CAAA;AAAA,EAAC;AACJ;AAEA,SAASwT,GAAsB7V,GAAWuE,GAAI;AAC5C,SAAO7C,EAAQ,MACN1B,EAAU,OAAO,CAACgG,GAAK7F,MAAS;AACrC,QAAI;AAAA,MACF,WAAAkL;AAAA,MACA,SAAAC;AAAA,IACD,IAAGnL;AAEJ,WAAA6F,EAAIqF,CAAS,IAAI,CAAAhL,MAAS;AACxB,MAAAiL,EAAQjL,GAAOkE,CAAE;AAAA,IACzB,GAEayB;AAAA,EACR,GAAE,CAAE,CAAA,GACJ,CAAChG,GAAWuE,CAAE,CAAC;AACpB;AAEA,SAASuR,GAAc7O,GAAS;AAC9B,SAAOvF,EAAQ,MAAMuF,IAAUG,GAAoBH,CAAO,IAAI,MAAM,CAACA,CAAO,CAAC;AAC/E;AAEA,MAAM8O,KAAiB,CAAA;AACvB,SAASC,GAASnB,GAAUpK,GAAS;AACnC,EAAIA,MAAY,WACdA,IAAUzD;AAGZ,QAAM,CAACiP,CAAY,IAAIpB,GACjBqB,IAAaJ,GAAcG,IAAe/O,EAAU+O,CAAY,IAAI,IAAI,GACxE,CAACE,GAAOC,CAAY,IAAIrC,GAAWC,GAAS+B,EAAc,GAC1DtC,IAAiBF,GAAkB;AAAA,IACvC,UAAU6C;AAAA,EACd,CAAG;AAED,SAAIvB,EAAS,SAAS,KAAKsB,MAAUJ,MACnCK,KAGFjC,GAA0B,MAAM;AAC9B,IAAIU,EAAS,SACXA,EAAS,QAAQ,CAAA5N,MAAWwM,KAAkB,OAAO,SAASA,EAAe,QAAQxM,CAAO,CAAC,KAE7FwM,KAAkB,QAAgBA,EAAe,WAAU,GAC3D2C;EAEN,GAAK,CAACvB,CAAQ,CAAC,GACNsB;AAEP,WAASnC,IAAU;AACjB,WAAKa,EAAS,SAIPA,EAAS,IAAI,CAAA5N,MAAW4B,GAA2B5B,CAAO,IAAIiP,IAAa,IAAIvL,GAAKF,EAAQxD,CAAO,GAAGA,CAAO,CAAC,IAH5G8O;AAAA,EAIV;AACH;AAEA,SAASM,GAAkB/O,GAAM;AAC/B,MAAI,CAACA;AACH,WAAO;AAGT,MAAIA,EAAK,SAAS,SAAS;AACzB,WAAOA;AAGT,QAAMgP,IAAahP,EAAK,SAAS,CAAC;AAClC,SAAOU,GAAcsO,CAAU,IAAIA,IAAahP;AAClD;AAEA,SAASiP,GAAwBpW,GAAM;AACrC,MAAI;AAAA,IACF,SAAAsK;AAAA,EACD,IAAGtK;AACJ,QAAM,CAAC6C,GAAMwT,CAAO,IAAIvW,EAAS,IAAI,GAC/BuT,IAAetT,EAAY,CAAAmV,MAAW;AAC1C,eAAW;AAAA,MACT,QAAArQ;AAAA,IACD,KAAIqQ;AACH,UAAIrN,GAAchD,CAAM,GAAG;AACzB,QAAAwR,EAAQ,CAAAxT,MAAQ;AACd,gBAAMqR,IAAU5J,EAAQzF,CAAM;AAC9B,iBAAOhC,IAAO;AAAA,YAAE,GAAGA;AAAA,YACjB,OAAOqR,EAAQ;AAAA,YACf,QAAQA,EAAQ;AAAA,UACjB,IAAGA;AAAA,QACd,CAAS;AACD;AAAA,MACD;AAAA,EAEP,GAAK,CAAC5J,CAAO,CAAC,GACNgJ,IAAiBF,GAAkB;AAAA,IACvC,UAAUC;AAAA,EACd,CAAG,GACKiD,IAAmBvW,EAAY,CAAA+G,MAAW;AAC9C,UAAMK,IAAO+O,GAAkBpP,CAAO;AACtC,IAAAwM,KAAkB,QAAgBA,EAAe,WAAU,GAEvDnM,MACFmM,KAAkB,QAAgBA,EAAe,QAAQnM,CAAI,IAG/DkP,EAAQlP,IAAOmD,EAAQnD,CAAI,IAAI,IAAI;AAAA,EACvC,GAAK,CAACmD,GAASgJ,CAAc,CAAC,GACtB,CAACiD,GAASC,CAAM,IAAIC,GAAWH,CAAgB;AACrD,SAAO/U,EAAQ,OAAO;AAAA,IACpB,SAAAgV;AAAA,IACA,MAAA1T;AAAA,IACA,QAAA2T;AAAA,EACD,IAAG,CAAC3T,GAAM0T,GAASC,CAAM,CAAC;AAC7B;AAEA,MAAME,KAAiB,CAAC;AAAA,EACtB,QAAQhI;AAAA,EACR,SAAS,CAAE;AACb,GAAG;AAAA,EACD,QAAQvC;AAAA,EACR,SAAS,CAAE;AACb,CAAC,GACKwK,KAAc;AAAA,EAClB,SAAS,CAAE;AACb,GACMC,KAAgC;AAAA,EACpC,WAAW;AAAA,IACT,SAAS5P;AAAA,EACV;AAAA,EACD,WAAW;AAAA,IACT,SAASA;AAAA,IACT,UAAUsK,GAAkB;AAAA,IAC5B,WAAWC,GAAmB;AAAA,EAC/B;AAAA,EACD,aAAa;AAAA,IACX,SAAS1K;AAAA,EACV;AACH;AAEA,MAAMgQ,WAA+B,IAAI;AAAA,EACvC,IAAIzS,GAAI;AACN,QAAI0S;AAEJ,WAAO1S,KAAM,SAAQ0S,IAAa,MAAM,IAAI1S,CAAE,MAAM,OAAO0S,IAAyB;AAAA,EACrF;AAAA,EAED,UAAU;AACR,WAAO,MAAM,KAAK,KAAK,OAAQ,CAAA;AAAA,EAChC;AAAA,EAED,aAAa;AACX,WAAO,KAAK,UAAU,OAAO,CAAA9W,MAAQ;AACnC,UAAI;AAAA,QACF,UAAAyQ;AAAA,MACD,IAAGzQ;AACJ,aAAO,CAACyQ;AAAA,IACd,CAAK;AAAA,EACF;AAAA,EAED,WAAWrM,GAAI;AACb,QAAI2S,GAAuBC;AAE3B,YAAQD,KAAyBC,IAAY,KAAK,IAAI5S,CAAE,MAAM,OAAO,SAAS4S,EAAU,KAAK,YAAY,OAAOD,IAAwB;AAAA,EACzI;AAEH;AAEA,MAAME,KAAuB;AAAA,EAC3B,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,mBAAmB;AAAA,EACnB,gBAA6B,oBAAI,IAAK;AAAA,EACtC,gBAA6B,oBAAI,IAAK;AAAA,EACtC,qBAAkC,oBAAIJ,GAAwB;AAAA,EAC9D,MAAM;AAAA,EACN,aAAa;AAAA,IACX,SAAS;AAAA,MACP,SAAS;AAAA,IACV;AAAA,IACD,MAAM;AAAA,IACN,QAAQ7U;AAAA,EACT;AAAA,EACD,qBAAqB,CAAE;AAAA,EACvB,yBAAyB,CAAE;AAAA,EAC3B,wBAAwB4U;AAAA,EACxB,4BAA4B5U;AAAA,EAC5B,YAAY;AAAA,EACZ,oBAAoB;AACtB,GACMkV,KAAyB;AAAA,EAC7B,gBAAgB;AAAA,EAChB,YAAY,CAAE;AAAA,EACd,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,IACjB,WAAW;AAAA,EACZ;AAAA,EACD,UAAUlV;AAAA,EACV,gBAA6B,oBAAI,IAAK;AAAA,EACtC,MAAM;AAAA,EACN,4BAA4BA;AAC9B,GACMmV,KAA+B,gBAAA7X,GAAc4X,EAAsB,GACnEE,KAA6B,gBAAA9X,GAAc2X,EAAoB;AAErE,SAASI,KAAkB;AACzB,SAAO;AAAA,IACL,WAAW;AAAA,MACT,QAAQ;AAAA,MACR,oBAAoB;AAAA,QAClB,GAAG;AAAA,QACH,GAAG;AAAA,MACJ;AAAA,MACD,OAAO,oBAAI,IAAK;AAAA,MAChB,WAAW;AAAA,QACT,GAAG;AAAA,QACH,GAAG;AAAA,MACJ;AAAA,IACF;AAAA,IACD,WAAW;AAAA,MACT,YAAY,IAAIR,GAAwB;AAAA,IACzC;AAAA,EACL;AACA;AACA,SAAShD,GAAQyD,GAAOC,GAAQ;AAC9B,UAAQA,EAAO,MAAI;AAAA,IACjB,KAAKxV,EAAO;AACV,aAAO;AAAA,QAAE,GAAGuV;AAAA,QACV,WAAW;AAAA,UAAE,GAAGA,EAAM;AAAA,UACpB,oBAAoBC,EAAO;AAAA,UAC3B,QAAQA,EAAO;AAAA,QAChB;AAAA,MACT;AAAA,IAEI,KAAKxV,EAAO;AACV,aAAKuV,EAAM,UAAU,SAId;AAAA,QAAE,GAAGA;AAAA,QACV,WAAW;AAAA,UAAE,GAAGA,EAAM;AAAA,UACpB,WAAW;AAAA,YACT,GAAGC,EAAO,YAAY,IAAID,EAAM,UAAU,mBAAmB;AAAA,YAC7D,GAAGC,EAAO,YAAY,IAAID,EAAM,UAAU,mBAAmB;AAAA,UAC9D;AAAA,QACF;AAAA,MACT,IAVeA;AAAA,IAYX,KAAKvV,EAAO;AAAA,IACZ,KAAKA,EAAO;AACV,aAAO;AAAA,QAAE,GAAGuV;AAAA,QACV,WAAW;AAAA,UAAE,GAAGA,EAAM;AAAA,UACpB,QAAQ;AAAA,UACR,oBAAoB;AAAA,YAClB,GAAG;AAAA,YACH,GAAG;AAAA,UACJ;AAAA,UACD,WAAW;AAAA,YACT,GAAG;AAAA,YACH,GAAG;AAAA,UACJ;AAAA,QACF;AAAA,MACT;AAAA,IAEI,KAAKvV,EAAO,mBACV;AACE,YAAM;AAAA,QACJ,SAAA+E;AAAA,MACD,IAAGyQ,GACE;AAAA,QACJ,IAAAnT;AAAA,MACD,IAAG0C,GACE4K,IAAa,IAAImF,GAAuBS,EAAM,UAAU,UAAU;AACxE,aAAA5F,EAAW,IAAItN,GAAI0C,CAAO,GACnB;AAAA,QAAE,GAAGwQ;AAAA,QACV,WAAW;AAAA,UAAE,GAAGA,EAAM;AAAA,UACpB,YAAA5F;AAAA,QACD;AAAA,MACX;AAAA,IACO;AAAA,IAEH,KAAK3P,EAAO,sBACV;AACE,YAAM;AAAA,QACJ,IAAAqC;AAAA,QACA,KAAAyG;AAAA,QACA,UAAA4F;AAAA,MACD,IAAG8G,GACEzQ,IAAUwQ,EAAM,UAAU,WAAW,IAAIlT,CAAE;AAEjD,UAAI,CAAC0C,KAAW+D,MAAQ/D,EAAQ;AAC9B,eAAOwQ;AAGT,YAAM5F,IAAa,IAAImF,GAAuBS,EAAM,UAAU,UAAU;AACxE,aAAA5F,EAAW,IAAItN,GAAI;AAAA,QAAE,GAAG0C;AAAA,QACtB,UAAA2J;AAAA,MACV,CAAS,GACM;AAAA,QAAE,GAAG6G;AAAA,QACV,WAAW;AAAA,UAAE,GAAGA,EAAM;AAAA,UACpB,YAAA5F;AAAA,QACD;AAAA,MACX;AAAA,IACO;AAAA,IAEH,KAAK3P,EAAO,qBACV;AACE,YAAM;AAAA,QACJ,IAAAqC;AAAA,QACA,KAAAyG;AAAA,MACD,IAAG0M,GACEzQ,IAAUwQ,EAAM,UAAU,WAAW,IAAIlT,CAAE;AAEjD,UAAI,CAAC0C,KAAW+D,MAAQ/D,EAAQ;AAC9B,eAAOwQ;AAGT,YAAM5F,IAAa,IAAImF,GAAuBS,EAAM,UAAU,UAAU;AACxE,aAAA5F,EAAW,OAAOtN,CAAE,GACb;AAAA,QAAE,GAAGkT;AAAA,QACV,WAAW;AAAA,UAAE,GAAGA,EAAM;AAAA,UACpB,YAAA5F;AAAA,QACD;AAAA,MACX;AAAA,IACO;AAAA,IAEH;AAEI,aAAO4F;AAAA,EAEZ;AACH;AAEA,SAASE,GAAaxX,GAAM;AAC1B,MAAI;AAAA,IACF,UAAAyQ;AAAA,EACD,IAAGzQ;AACJ,QAAM;AAAA,IACJ,QAAAM;AAAA,IACA,gBAAAmX;AAAA,IACA,gBAAA1G;AAAA,EACJ,IAAMrR,GAAWyX,EAAe,GACxBO,IAAyB/G,GAAY8G,CAAc,GACnDE,IAAmBhH,GAAYrQ,KAAU,OAAO,SAASA,EAAO,EAAE;AAExE,SAAAX,EAAU,MAAM;AACd,QAAI,CAAA8Q,KAIA,CAACgH,KAAkBC,KAA0BC,KAAoB,MAAM;AAKzE,UAJI,CAACpL,GAAgBmL,CAAsB,KAIvC,SAAS,kBAAkBA,EAAuB;AAEpD;AAGF,YAAM1G,IAAgBD,EAAe,IAAI4G,CAAgB;AAEzD,UAAI,CAAC3G;AACH;AAGF,YAAM;AAAA,QACJ,eAAA4G;AAAA,QACA,MAAAzQ;AAAA,MACD,IAAG6J;AAEJ,UAAI,CAAC4G,EAAc,WAAW,CAACzQ,EAAK;AAClC;AAGF,4BAAsB,MAAM;AAC1B,mBAAWL,KAAW,CAAC8Q,EAAc,SAASzQ,EAAK,OAAO,GAAG;AAC3D,cAAI,CAACL;AACH;AAGF,gBAAM+Q,IAAgBC,GAAuBhR,CAAO;AAEpD,cAAI+Q,GAAe;AACjB,YAAAA,EAAc,MAAK;AACnB;AAAA,UACD;AAAA,QACF;AAAA,MACT,CAAO;AAAA,IACF;AAAA,EACL,GAAK,CAACJ,GAAgBhH,GAAUM,GAAgB4G,GAAkBD,CAAsB,CAAC,GAChF;AACT;AAEA,SAASK,GAAeC,GAAWhY,GAAM;AACvC,MAAI;AAAA,IACF,WAAAsF;AAAA,IACA,GAAG2S;AAAA,EACJ,IAAGjY;AACJ,SAAOgY,KAAa,QAAQA,EAAU,SAASA,EAAU,OAAO,CAACzT,GAAaoB,MACrEA,EAAS;AAAA,IACd,WAAWpB;AAAA,IACX,GAAG0T;AAAA,EACT,CAAK,GACA3S,CAAS,IAAIA;AAClB;AAEA,SAAS4S,GAA0BrG,GAAQ;AACzC,SAAOtQ;AAAA,IAAQ,OAAO;AAAA,MACpB,WAAW;AAAA,QAAE,GAAGqV,GAA8B;AAAA,QAC5C,GAAI/E,KAAU,OAAO,SAASA,EAAO;AAAA,MACtC;AAAA,MACD,WAAW;AAAA,QAAE,GAAG+E,GAA8B;AAAA,QAC5C,GAAI/E,KAAU,OAAO,SAASA,EAAO;AAAA,MACtC;AAAA,MACD,aAAa;AAAA,QAAE,GAAG+E,GAA8B;AAAA,QAC9C,GAAI/E,KAAU,OAAO,SAASA,EAAO;AAAA,MACtC;AAAA,IACL;AAAA;AAAA,IACE,CAACA,KAAU,OAAO,SAASA,EAAO,WAAWA,KAAU,OAAO,SAASA,EAAO,WAAWA,KAAU,OAAO,SAASA,EAAO,WAAW;AAAA,EAAC;AACxI;AAEA,SAASsG,GAAiCnY,GAAM;AAC9C,MAAI;AAAA,IACF,YAAAqM;AAAA,IACA,SAAA/B;AAAA,IACA,aAAA8J;AAAA,IACA,QAAAvC,IAAS;AAAA,EACV,IAAG7R;AACJ,QAAMoY,IAAcnI,EAAO,EAAK,GAC1B;AAAA,IACJ,GAAAzJ;AAAA,IACA,GAAAC;AAAA,EACJ,IAAM,OAAOoL,KAAW,YAAY;AAAA,IAChC,GAAGA;AAAA,IACH,GAAGA;AAAA,EACJ,IAAGA;AACJ,EAAAmC,GAA0B,MAAM;AAG9B,QAFiB,CAACxN,KAAK,CAACC,KAER,CAAC4F,GAAY;AAC3B,MAAA+L,EAAY,UAAU;AACtB;AAAA,IACD;AAED,QAAIA,EAAY,WAAW,CAAChE;AAG1B;AAIF,UAAMjN,IAAOkF,KAAc,OAAO,SAASA,EAAW,KAAK;AAE3D,QAAI,CAAClF,KAAQA,EAAK,gBAAgB;AAGhC;AAGF,UAAMtE,IAAOyH,EAAQnD,CAAI,GACnBkR,IAAY5S,GAAa5C,GAAMuR,CAAW;AAahD,QAXK5N,MACH6R,EAAU,IAAI,IAGX5R,MACH4R,EAAU,IAAI,IAIhBD,EAAY,UAAU,IAElB,KAAK,IAAIC,EAAU,CAAC,IAAI,KAAK,KAAK,IAAIA,EAAU,CAAC,IAAI,GAAG;AAC1D,YAAMrQ,IAA0BD,GAA2BZ,CAAI;AAE/D,MAAIa,KACFA,EAAwB,SAAS;AAAA,QAC/B,KAAKqQ,EAAU;AAAA,QACf,MAAMA,EAAU;AAAA,MAC1B,CAAS;AAAA,IAEJ;AAAA,EACL,GAAK,CAAChM,GAAY7F,GAAGC,GAAG2N,GAAa9J,CAAO,CAAC;AAC7C;AAEA,MAAMgO,KAAsC,gBAAAhZ,GAAc;AAAA,EAAE,GAAGkD;AAAA,EAC7D,QAAQ;AAAA,EACR,QAAQ;AACV,CAAC;AACD,IAAI+V;AAAA,CAEH,SAAUA,GAAQ;AACjB,EAAAA,EAAOA,EAAO,gBAAmB,CAAC,IAAI,iBACtCA,EAAOA,EAAO,eAAkB,CAAC,IAAI,gBACrCA,EAAOA,EAAO,cAAiB,CAAC,IAAI;AACtC,GAAGA,OAAWA,KAAS,CAAE,EAAC;AAErB,MAACC,KAA0B,gBAAAC,GAAK,SAAoBzY,GAAM;AAC7D,MAAI0Y,GAAuBC,GAAuBC,GAAmBC;AAErE,MAAI;AAAA,IACF,IAAAzU;AAAA,IACA,eAAA0U;AAAA,IACA,YAAA1I,IAAa;AAAA,IACb,UAAA2I;AAAA,IACA,SAAAzW,IAAUoU;AAAA,IACV,oBAAAsC,IAAqB5T;AAAA,IACrB,WAAA6T;AAAA,IACA,WAAAjB;AAAA,IACA,GAAG5L;AAAA,EACJ,IAAGpM;AACJ,QAAMkZ,IAAQtF,GAAWC,IAAS,QAAWwD,EAAe,GACtD,CAACC,GAAO6B,CAAQ,IAAID,GACpB,CAACE,GAAsBC,CAAuB,IAAIzZ,GAAqB,GACvE,CAAC0Z,GAAQC,CAAS,IAAIzZ,EAASyY,GAAO,aAAa,GACnDiB,IAAgBF,MAAWf,GAAO,aAClC;AAAA,IACJ,WAAW;AAAA,MACT,QAAQkB;AAAA,MACR,OAAO1I;AAAA,MACP,WAAA2I;AAAA,IACD;AAAA,IACD,WAAW;AAAA,MACT,YAAYzV;AAAA,IACb;AAAA,EACF,IAAGqT,GACEnQ,IAAOsS,IAAW1I,EAAe,IAAI0I,CAAQ,IAAI,MACjDE,IAAc1J,EAAO;AAAA,IACzB,SAAS;AAAA,IACT,YAAY;AAAA,EAChB,CAAG,GACK3P,IAASiB,EAAQ,MAAM;AAC3B,QAAIqY;AAEJ,WAAOH,KAAY,OAAO;AAAA,MACxB,IAAIA;AAAA;AAAA,MAEJ,OAAOG,IAAazS,KAAQ,OAAO,SAASA,EAAK,SAAS,OAAOyS,IAAajD;AAAA,MAC9E,MAAMgD;AAAA,IACP,IAAG;AAAA,EACR,GAAK,CAACF,GAAUtS,CAAI,CAAC,GACb0S,IAAY5J,EAAO,IAAI,GACvB,CAAC6J,IAAcC,EAAe,IAAIja,EAAS,IAAI,GAC/C,CAAC2X,GAAgBuC,EAAiB,IAAIla,EAAS,IAAI,GACnDma,KAAc5H,GAAejG,GAAO,OAAO,OAAOA,CAAK,CAAC,GACxD8N,KAAyB9Y,GAAY,kBAAkBgD,CAAE,GACzD+V,KAA6B5Y,EAAQ,MAAM0C,EAAoB,cAAc,CAACA,CAAmB,CAAC,GAClGmW,KAAyBlC,GAA0Be,CAAS,GAC5D;AAAA,IACJ,gBAAAjV;AAAA,IACA,4BAAAsO;AAAA,IACA,oBAAA+H;AAAA,EACJ,IAAM5I,GAAsB0I,IAA4B;AAAA,IACpD,UAAUX;AAAA,IACV,cAAc,CAACE,EAAU,GAAGA,EAAU,CAAC;AAAA,IACvC,QAAQU,GAAuB;AAAA,EACnC,CAAG,GACK/N,IAAayE,GAAcC,GAAgB0I,CAAQ,GACnDa,KAAwB/Y,EAAQ,MAAMkW,IAAiB1U,GAAoB0U,CAAc,IAAI,MAAM,CAACA,CAAc,CAAC,GACnH8C,KAAoBC,MACpBC,KAAwB5H,GAAexG,GAAY+N,GAAuB,UAAU,OAAO;AACjG,EAAAjC,GAAiC;AAAA,IAC/B,YAAYsB,IAAW1I,EAAe,IAAI0I,CAAQ,IAAI;AAAA,IACtD,QAAQc,GAAkB;AAAA,IAC1B,aAAaE;AAAA,IACb,SAASL,GAAuB,UAAU;AAAA,EAC9C,CAAG;AACD,QAAMM,IAAiBjH,GAAQpH,GAAY+N,GAAuB,UAAU,SAASK,EAAqB,GACpGE,KAAoBlH,GAAQpH,IAAaA,EAAW,gBAAgB,IAAI,GACxEuO,KAAgB3K,EAAO;AAAA,IAC3B,gBAAgB;AAAA,IAChB,QAAQ;AAAA,IACR,YAAA5D;AAAA,IACA,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,gBAAArI;AAAA,IACA,gBAAA+M;AAAA,IACA,cAAc;AAAA,IACd,kBAAkB;AAAA,IAClB,qBAAA9M;AAAA,IACA,MAAM;AAAA,IACN,qBAAqB,CAAE;AAAA,IACvB,yBAAyB;AAAA,EAC7B,CAAG,GACK4W,KAAW5W,EAAoB,YAAYyU,IAAwBkC,GAAc,QAAQ,SAAS,OAAO,SAASlC,EAAsB,EAAE,GAC1IoC,KAAc1E,GAAwB;AAAA,IAC1C,SAASgE,GAAuB,YAAY;AAAA,EAChD,CAAG,GAEKW,MAAgBpC,IAAwBmC,GAAY,QAAQ,YAAY,OAAOnC,IAAwBtM,GACvG2O,KAAmBxB,KAAiBZ,IAAoBkC,GAAY,SAAS,OAAOlC,IAAoB8B,IAAiB,MACzHO,KAAkB,GAAQH,GAAY,QAAQ,WAAWA,GAAY,OAGrEI,KAAgB/G,GAAa8G,KAAkB,OAAOP,CAAc,GAEpE3E,KAAaJ,GAAcoF,KAAehU,EAAUgU,EAAY,IAAI,IAAI,GAExE9Q,IAAsBqK,GAAuBkF,IAAgBqB,MAA8BxO,IAAa,IAAI,GAC5GqD,KAA0BmG,GAAS5L,CAAmB,GAEtDkR,KAAoBpD,GAAeC,GAAW;AAAA,IAClD,WAAW;AAAA,MACT,GAAG0B,EAAU,IAAIwB,GAAc;AAAA,MAC/B,GAAGxB,EAAU,IAAIwB,GAAc;AAAA,MAC/B,QAAQ;AAAA,MACR,QAAQ;AAAA,IACT;AAAA,IACD,gBAAAzD;AAAA,IACA,QAAAnX;AAAA,IACA,gBAAAoa;AAAA,IACA,mBAAAC;AAAA,IACA,kBAAAK;AAAA,IACA,MAAMJ,GAAc,QAAQ;AAAA,IAC5B,iBAAiBE,GAAY;AAAA,IAC7B,qBAAA7Q;AAAA,IACA,yBAAAyF;AAAA,IACA,YAAAqG;AAAA,EACJ,CAAG,GACKtG,KAAqB6K,KAAwBpQ,GAAIoQ,IAAuBZ,CAAS,IAAI,MACrFjP,KAAgBgK,GAAiBxK,CAAmB,GAEpDmR,KAAmBhG,GAAsB3K,EAAa,GAEtD4Q,KAAwBjG,GAAsB3K,IAAe,CAACiQ,CAAc,CAAC,GAC7EY,KAA0BpR,GAAIiR,IAAmBC,EAAgB,GACjErX,KAAgBiX,KAAmBjV,GAAgBiV,IAAkBG,EAAiB,IAAI,MAC1FxX,KAAarD,KAAUyD,KAAgBiV,EAAmB;AAAA,IAC9D,QAAA1Y;AAAA,IACA,eAAAyD;AAAA,IACA,gBAAAC;AAAA,IACA,qBAAqBmW;AAAA,IACrB,oBAAA1K;AAAA,EACD,CAAA,IAAI,MACC8L,KAAS7X,GAAkBC,IAAY,IAAI,GAC3C,CAACnD,IAAMgb,EAAO,IAAI1b,EAAS,IAAI,GAG/B2b,KAAmBR,KAAkBE,KAAoBjR,GAAIiR,IAAmBE,EAAqB,GACrG/V,KAAYD,GAAYoW,KAAmB5C,IAAarY,MAAQ,OAAO,SAASA,GAAK,SAAS,OAAOqY,IAAa,MAAM6B,CAAc,GACtIgB,KAAoB3b;AAAA,IAAY,CAACG,GAAOK,MAAU;AACtD,UAAI;AAAA,QACF,QAAQ6Q;AAAA,QACR,SAAAjP;AAAA,MACD,IAAG5B;AAEJ,UAAIsZ,EAAU,WAAW;AACvB;AAGF,YAAMxN,IAAa0E,EAAe,IAAI8I,EAAU,OAAO;AAEvD,UAAI,CAACxN;AACH;AAGF,YAAMoL,IAAiBvX,EAAM,aACvByb,IAAiB,IAAIvK,EAAO;AAAA,QAChC,QAAQyI,EAAU;AAAA,QAClB,YAAAxN;AAAA,QACA,OAAOoL;AAAA,QACP,SAAAtV;AAAA;AAAA;AAAA,QAGA,SAASyY;AAAA,QAET,QAAQtM,GAAoB;AAC1B,gBAAMlK,KAAKyV,EAAU;AAErB,cAAIzV,MAAM;AACR;AAGF,gBAAM4M,KAAgBD,EAAe,IAAI3M,EAAE;AAE3C,cAAI,CAAC4M;AACH;AAGF,gBAAM;AAAA,YACJ,aAAA4K;AAAA,UACV,IAAY3B,GAAY,SACV/Z,KAAQ;AAAA,YACZ,QAAQ;AAAA,cACN,IAAAkE;AAAA,cACA,MAAM4M,GAAc;AAAA,cACpB,MAAM2I;AAAA,YACP;AAAA,UACX;AACQ,UAAAkC,GAAwB,MAAM;AAC5B,YAAAD,MAAe,QAAgBA,GAAY1b,EAAK,GAChDqZ,EAAUhB,GAAO,YAAY,GAC7BY,EAAS;AAAA,cACP,MAAMpX,EAAO;AAAA,cACb,oBAAAuM;AAAA,cACA,QAAQlK;AAAA,YACpB,CAAW,GACDgV,EAAqB;AAAA,cACnB,MAAM;AAAA,cACN,OAAAlZ;AAAA,YACZ,CAAW;AAAA,UACX,CAAS;AAAA,QACF;AAAA,QAED,OAAOqN,GAAa;AAClB,UAAA4L,EAAS;AAAA,YACP,MAAMpX,EAAO;AAAA,YACb,aAAAwL;AAAA,UACV,CAAS;AAAA,QACF;AAAA,QAED,OAAOuO,GAAc/Z,EAAO,OAAO;AAAA,QACnC,UAAU+Z,GAAc/Z,EAAO,UAAU;AAAA,MAC/C,CAAK;AACD,MAAA8Z,GAAwB,MAAM;AAC5B,QAAA9B,GAAgB4B,CAAc,GAC9B3B,GAAkB9Z,EAAM,WAAW;AAAA,MACzC,CAAK;AAED,eAAS4b,GAAc7b,GAAM;AAC3B,eAAO,iBAAyB;AAC9B,gBAAM;AAAA,YACJ,QAAAK;AAAA,YACA,YAAAqD;AAAA,YACA,MAAAnD;AAAA,YACA,yBAAA8a;AAAA,UACV,IAAYV,GAAc;AAClB,cAAI1a,KAAQ;AAEZ,cAAII,MAAUgb,IAAyB;AACrC,kBAAM;AAAA,cACJ,YAAAS;AAAA,YACZ,IAAc9B,GAAY;AAChB,YAAA/Z,KAAQ;AAAA,cACN,gBAAAuX;AAAA,cACA,QAAQnX;AAAA,cACR,YAAAqD;AAAA,cACA,OAAO2X;AAAA,cACP,MAAA9a;AAAA,YACZ,GAEcP,MAAS8B,EAAO,WAAW,OAAOga,MAAe,cAC9B,MAAM,QAAQ,QAAQA,GAAW7b,EAAK,CAAC,MAG1DD,IAAO8B,EAAO;AAAA,UAGnB;AAED,UAAA8X,EAAU,UAAU,MACpBgC,GAAwB,MAAM;AAC5B,YAAA1C,EAAS;AAAA,cACP,MAAAlZ;AAAA,YACZ,CAAW,GACDsZ,EAAUhB,GAAO,aAAa,GAC9BiD,GAAQ,IAAI,GACZzB,GAAgB,IAAI,GACpBC,GAAkB,IAAI;AACtB,kBAAM9O,KAAYjL,MAAS8B,EAAO,UAAU,cAAc;AAE1D,gBAAI7B,IAAO;AACT,oBAAMiL,KAAU8O,GAAY,QAAQ/O,EAAS;AAC7C,cAAAC,MAAW,QAAgBA,GAAQjL,EAAK,GACxCkZ,EAAqB;AAAA,gBACnB,MAAMlO;AAAA,gBACN,OAAAhL;AAAA,cACd,CAAa;AAAA,YACF;AAAA,UACX,CAAS;AAAA,QACT;AAAA,MACK;AAAA,IACF;AAAA;AAAA,IACD,CAAC6Q,CAAc;AAAA,EAAC,GACViL,KAAoCjc,EAAY,CAACoL,GAASjJ,MACvD,CAAChC,GAAOI,OAAW;AACxB,UAAM2b,IAAc/b,EAAM,aACpBgc,IAAsBnL,EAAe,IAAIzQ,EAAM;AAErD;AAAA;AAAA,MACAuZ,EAAU,YAAY;AAAA,MACtB,CAACqC;AAAA,MACDD,EAAY,UAAUA,EAAY;AAAA;AAChC;AAGF,UAAME,IAAoB;AAAA,MACxB,QAAQD;AAAA,IAChB;AAGM,IAFuB/Q,EAAQjL,GAAOgC,EAAO,SAASia,CAAiB,MAEhD,OACrBF,EAAY,SAAS;AAAA,MACnB,YAAY/Z,EAAO;AAAA,IAC7B,GACQ2X,EAAU,UAAUvZ,IACpBob,GAAkBxb,GAAOgC,CAAM;AAAA,EAEvC,GACK,CAAC6O,GAAgB2K,EAAiB,CAAC,GAChCU,KAAalL,GAAqB5O,GAAS0Z,EAAiC;AAClF,EAAAzG,GAAejT,CAAO,GACtB0R,GAA0B,MAAM;AAC9B,IAAI0G,KAAkBpB,MAAWf,GAAO,gBACtCgB,EAAUhB,GAAO,WAAW;AAAA,EAElC,GAAK,CAACmC,GAAgBpB,CAAM,CAAC,GAC3B3Z;AAAA,IAAU,MAAM;AACd,YAAM;AAAA,QACJ,YAAA0c;AAAA,MACN,IAAQpC,GAAY,SACV;AAAA,QACJ,QAAA3Z;AAAA,QACA,gBAAAmX;AAAA,QACA,YAAA9T;AAAA,QACA,MAAAnD;AAAA,MACN,IAAQoa,GAAc;AAElB,UAAI,CAACta,KAAU,CAACmX;AACd;AAGF,YAAMvX,IAAQ;AAAA,QACZ,QAAAI;AAAA,QACA,gBAAAmX;AAAA,QACA,YAAA9T;AAAA,QACA,OAAO;AAAA,UACL,GAAG2X,GAAwB;AAAA,UAC3B,GAAGA,GAAwB;AAAA,QAC5B;AAAA,QACD,MAAA9a;AAAA,MACN;AACI,MAAAqb,GAAwB,MAAM;AAC5B,QAAAQ,KAAc,QAAgBA,EAAWnc,CAAK,GAC9CkZ,EAAqB;AAAA,UACnB,MAAM;AAAA,UACN,OAAAlZ;AAAA,QACR,CAAO;AAAA,MACP,CAAK;AAAA,IACF;AAAA;AAAA,IACD,CAACob,GAAwB,GAAGA,GAAwB,CAAC;AAAA,EAAC,GACtD3b;AAAA,IAAU,MAAM;AACd,YAAM;AAAA,QACJ,QAAAW;AAAA,QACA,gBAAAmX;AAAA,QACA,YAAA9T;AAAA,QACA,qBAAAM;AAAA,QACA,yBAAAqX;AAAA,MACN,IAAQV,GAAc;AAElB,UAAI,CAACta,KAAUuZ,EAAU,WAAW,QAAQ,CAACpC,KAAkB,CAAC6D;AAC9D;AAGF,YAAM;AAAA,QACJ,YAAAgB;AAAA,MACN,IAAQrC,GAAY,SACVsC,IAAgBtY,GAAoB,IAAIsX,EAAM,GAC9C/a,KAAO+b,KAAiBA,EAAc,KAAK,UAAU;AAAA,QACzD,IAAIA,EAAc;AAAA,QAClB,MAAMA,EAAc,KAAK;AAAA,QACzB,MAAMA,EAAc;AAAA,QACpB,UAAUA,EAAc;AAAA,MACzB,IAAG,MACErc,IAAQ;AAAA,QACZ,QAAAI;AAAA,QACA,gBAAAmX;AAAA,QACA,YAAA9T;AAAA,QACA,OAAO;AAAA,UACL,GAAG2X,EAAwB;AAAA,UAC3B,GAAGA,EAAwB;AAAA,QAC5B;AAAA,QACD,MAAA9a;AAAA,MACN;AACI,MAAAqb,GAAwB,MAAM;AAC5B,QAAAL,GAAQhb,EAAI,GACZ8b,KAAc,QAAgBA,EAAWpc,CAAK,GAC9CkZ,EAAqB;AAAA,UACnB,MAAM;AAAA,UACN,OAAAlZ;AAAA,QACR,CAAO;AAAA,MACP,CAAK;AAAA,IACF;AAAA;AAAA,IACD,CAACqb,EAAM;AAAA,EAAC,GACRvH,GAA0B,MAAM;AAC9B,IAAA4G,GAAc,UAAU;AAAA,MACtB,gBAAAnD;AAAA,MACA,QAAAnX;AAAA,MACA,YAAA+L;AAAA,MACA,eAAAtI;AAAA,MACA,YAAAJ;AAAA,MACA,gBAAAK;AAAA,MACA,gBAAA+M;AAAA,MACA,cAAAgK;AAAA,MACA,kBAAAC;AAAA,MACA,qBAAA/W;AAAA,MACA,MAAAzD;AAAA,MACA,qBAAAyJ;AAAA,MACA,yBAAAqR;AAAA,IACN,GACI3B,EAAY,UAAU;AAAA,MACpB,SAASqB;AAAA,MACT,YAAYjX;AAAA,IAClB;AAAA,EACG,GAAE,CAACzD,GAAQ+L,GAAY1I,IAAYI,IAAegN,GAAgBgK,IAAcC,IAAkBhX,IAAgBC,GAAqBzD,IAAMyJ,GAAqBqR,EAAuB,CAAC,GAC3LnM,GAAgB;AAAA,IAAE,GAAGoL;AAAA,IACnB,OAAOb;AAAA,IACP,cAAc3V;AAAA,IACd,oBAAA0L;AAAA,IACA,qBAAAxF;AAAA,IACA,yBAAAyF;AAAA,EACJ,CAAG;AACD,QAAM8M,KAAgBjb,EAAQ,OACZ;AAAA,IACd,QAAAjB;AAAA,IACA,YAAA+L;AAAA,IACA,gBAAAqO;AAAA,IACA,gBAAAjD;AAAA,IACA,YAAA9T;AAAA,IACA,mBAAAgX;AAAA,IACA,aAAAG;AAAA,IACA,gBAAA/J;AAAA,IACA,qBAAA9M;AAAA,IACA,gBAAAD;AAAA,IACA,MAAAxD;AAAA,IACA,4BAAA8R;AAAA,IACA,qBAAArI;AAAA,IACA,yBAAAyF;AAAA,IACA,wBAAA0K;AAAA,IACA,oBAAAC;AAAA,IACA,YAAAtE;AAAA,EACN,IAEK,CAACzV,GAAQ+L,GAAYqO,GAAgBjD,GAAgB9T,IAAYgX,IAAmBG,IAAa/J,GAAgB9M,GAAqBD,IAAgBxD,IAAM8R,IAA4BrI,GAAqByF,IAAyB0K,IAAwBC,IAAoBtE,EAAU,CAAC,GAC1R0G,KAAkBlb,EAAQ,OACd;AAAA,IACd,gBAAAkW;AAAA,IACA,YAAA2E;AAAA,IACA,QAAA9b;AAAA,IACA,gBAAAoa;AAAA,IACA,mBAAmB;AAAA,MACjB,WAAWR;AAAA,IACZ;AAAA,IACD,UAAAf;AAAA,IACA,gBAAApI;AAAA,IACA,MAAAvQ;AAAA,IACA,4BAAA8R;AAAA,EACN,IAEK,CAACmF,GAAgB2E,IAAY9b,GAAQoa,GAAgBvB,GAAUe,IAAwBnJ,GAAgBvQ,IAAM8R,EAA0B,CAAC;AAC3I,SAAO3Q,EAAM,cAActC,GAAkB,UAAU;AAAA,IACrD,OAAOga;AAAA,EACR,GAAE1X,EAAM,cAAcwV,GAAgB,UAAU;AAAA,IAC/C,OAAOsF;AAAA,EACR,GAAE9a,EAAM,cAAcyV,GAAc,UAAU;AAAA,IAC7C,OAAOoF;AAAA,EACR,GAAE7a,EAAM,cAAc2W,GAAuB,UAAU;AAAA,IACtD,OAAOhT;AAAA,EACR,GAAEyT,CAAQ,CAAC,GAAGpX,EAAM,cAAc6V,IAAc;AAAA,IAC/C,WAAWsB,KAAiB,OAAO,SAASA,EAAc,kBAAkB;AAAA,EAC7E,CAAA,CAAC,GAAGnX,EAAM,cAAchB,IAAe;AAAA,IAAE,GAAGmY;AAAA,IAC3C,yBAAyBoB;AAAA,EAC1B,CAAA,CAAC;AAEF,WAASM,KAAyB;AAChC,UAAMkC,KAAkC5C,MAAgB,OAAO,SAASA,GAAa,uBAAuB,IACtG6C,IAA6B,OAAOvM,KAAe,WAAWA,EAAW,YAAY,KAAQA,MAAe,IAC5Gd,IAAUkK,KAAiB,CAACkD,KAAkC,CAACC;AAErE,WAAI,OAAOvM,KAAe,WACjB;AAAA,MAAE,GAAGA;AAAA,MACV,SAAAd;AAAA,IACR,IAGW;AAAA,MACL,SAAAA;AAAA,IACN;AAAA,EACG;AACH,CAAC,GAEKsN,KAA2B,gBAAAtd,GAAc,IAAI,GAC7Cud,KAAc,UACdC,KAAY;AAClB,SAASC,GAAa/c,GAAM;AAC1B,MAAI;AAAA,IACF,IAAAoE;AAAA,IACA,MAAA4Y;AAAA,IACA,UAAAvM,IAAW;AAAA,IACX,YAAAwM;AAAA,EACD,IAAGjd;AACJ,QAAM6K,IAAMzJ,GAAY0b,EAAS,GAC3B;AAAA,IACJ,YAAAV;AAAA,IACA,gBAAA3E;AAAA,IACA,QAAAnX;AAAA,IACA,gBAAAoa;AAAA,IACA,mBAAAwC;AAAA,IACA,gBAAAnM;AAAA,IACA,MAAAvQ;AAAA,EACJ,IAAMd,GAAWyX,EAAe,GACxB;AAAA,IACJ,MAAAgG,IAAON;AAAA,IACP,iBAAAO,IAAkB;AAAA,IAClB,UAAAC,IAAW;AAAA,EACZ,IAAGJ,KAAkC,IAChCK,KAAchd,KAAU,OAAO,SAASA,EAAO,QAAQ8D,GACvDkB,IAAY5F,GAAW4d,IAAahF,KAAyBsE,EAAW,GACxE,CAACzV,GAAMoW,CAAU,IAAI9G,GAAU,GAC/B,CAACmB,GAAe4F,CAAmB,IAAI/G,GAAU,GACjD5W,IAAY6V,GAAsB0G,GAAYhY,CAAE,GAChDqZ,IAAUpL,GAAe2K,CAAI;AACnC,EAAAhJ;AAAA,IAA0B,OACxBjD,EAAe,IAAI3M,GAAI;AAAA,MACrB,IAAAA;AAAA,MACA,KAAAyG;AAAA,MACA,MAAA1D;AAAA,MACA,eAAAyQ;AAAA,MACA,MAAM6F;AAAA,IACZ,CAAK,GACM,MAAM;AACX,YAAMtW,IAAO4J,EAAe,IAAI3M,CAAE;AAElC,MAAI+C,KAAQA,EAAK,QAAQ0D,KACvBkG,EAAe,OAAO3M,CAAE;AAAA,IAEhC;AAAA;AAAA,IAEE,CAAC2M,GAAgB3M,CAAE;AAAA,EAAC;AACpB,QAAMsZ,IAAqBnc,EAAQ,OAAO;AAAA,IACxC,MAAA4b;AAAA,IACA,UAAAE;AAAA,IACA,iBAAiB5M;AAAA,IACjB,gBAAgB6M,KAAcH,MAASN,KAAc,KAAO;AAAA,IAC5D,wBAAwBO;AAAA,IACxB,oBAAoBF,EAAkB;AAAA,EAC1C,IAAM,CAACzM,GAAU0M,GAAME,GAAUC,GAAYF,GAAiBF,EAAkB,SAAS,CAAC;AACxF,SAAO;AAAA,IACL,QAAA5c;AAAA,IACA,gBAAAmX;AAAA,IACA,gBAAAiD;AAAA,IACA,YAAYgD;AAAA,IACZ,YAAAJ;AAAA,IACA,WAAW7M,IAAW,SAAY5Q;AAAA,IAClC,MAAAsH;AAAA,IACA,MAAA3G;AAAA,IACA,YAAA+c;AAAA,IACA,qBAAAC;AAAA,IACA,WAAAlY;AAAA,EACJ;AACA;AAEA,SAASqY,KAAgB;AACvB,SAAOje,GAAW0X,EAAa;AACjC;AAEA,MAAMwG,KAAc,aACdC,KAA8B;AAAA,EAClC,SAAS;AACX;AACA,SAASC,GAAa9d,GAAM;AAC1B,MAAI;AAAA,IACF,MAAAgd;AAAA,IACA,UAAAvM,IAAW;AAAA,IACX,IAAArM;AAAA,IACA,sBAAA2Z;AAAA,EACD,IAAG/d;AACJ,QAAM6K,IAAMzJ,GAAYwc,EAAW,GAC7B;AAAA,IACJ,QAAAtd;AAAA,IACA,UAAA6Y;AAAA,IACA,MAAA3Y;AAAA,IACA,4BAAA8R;AAAA,EACJ,IAAM5S,GAAWyX,EAAe,GACxB6G,IAAW/N,EAAO;AAAA,IACtB,UAAAQ;AAAA,EACJ,CAAG,GACKwN,IAA0BhO,EAAO,EAAK,GACtCpN,IAAOoN,EAAO,IAAI,GAClBiO,IAAajO,EAAO,IAAI,GACxB;AAAA,IACJ,UAAUkO;AAAA,IACV,uBAAAC;AAAA,IACA,SAASC;AAAA,EACV,IAAG;AAAA,IAAE,GAAGR;AAAA,IACP,GAAGE;AAAA,EACP,GACQxL,IAAMF,GAAe+L,KAAwDha,CAAE,GAC/EiP,IAAetT;AAAA,IAAY,MAAM;AACrC,UAAI,CAACke,EAAwB,SAAS;AAGpC,QAAAA,EAAwB,UAAU;AAClC;AAAA,MACD;AAED,MAAIC,EAAW,WAAW,QACxB,aAAaA,EAAW,OAAO,GAGjCA,EAAW,UAAU,WAAW,MAAM;AACpC,QAAA5L,EAA2B,MAAM,QAAQC,EAAI,OAAO,IAAIA,EAAI,UAAU,CAACA,EAAI,OAAO,CAAC,GACnF2L,EAAW,UAAU;AAAA,MACtB,GAAEG,CAAqB;AAAA,IACzB;AAAA;AAAA,IACD,CAACA,CAAqB;AAAA,EAAC,GACjB/K,IAAiBF,GAAkB;AAAA,IACvC,UAAUC;AAAA,IACV,UAAU8K,KAA0B,CAAC7d;AAAA,EACzC,CAAG,GACKgW,IAAmBvW,EAAY,CAACue,GAAYC,MAAoB;AACpE,IAAKjL,MAIDiL,MACFjL,EAAe,UAAUiL,CAAe,GACxCN,EAAwB,UAAU,KAGhCK,KACFhL,EAAe,QAAQgL,CAAU;AAAA,EAEvC,GAAK,CAAChL,CAAc,CAAC,GACb,CAACiD,GAASgH,CAAU,IAAI9G,GAAWH,CAAgB,GACnDmH,IAAUpL,GAAe2K,CAAI;AACnC,SAAArd,EAAU,MAAM;AACd,IAAI,CAAC2T,KAAkB,CAACiD,EAAQ,YAIhCjD,EAAe,WAAU,GACzB2K,EAAwB,UAAU,IAClC3K,EAAe,QAAQiD,EAAQ,OAAO;AAAA,EAC1C,GAAK,CAACA,GAASjD,CAAc,CAAC,GAC5BU;AAAA,IAA0B,OACxBmF,EAAS;AAAA,MACP,MAAMpX,EAAO;AAAA,MACb,SAAS;AAAA,QACP,IAAAqC;AAAA,QACA,KAAAyG;AAAA,QACA,UAAA4F;AAAA,QACA,MAAM8F;AAAA,QACN,MAAA1T;AAAA,QACA,MAAM4a;AAAA,MACP;AAAA,IACP,CAAK,GACM,MAAMtE,EAAS;AAAA,MACpB,MAAMpX,EAAO;AAAA,MACb,KAAA8I;AAAA,MACA,IAAAzG;AAAA,IACN,CAAK;AAAA;AAAA,IAEH,CAACA,CAAE;AAAA,EAAC,GACJzE,EAAU,MAAM;AACd,IAAI8Q,MAAauN,EAAS,QAAQ,aAChC7E,EAAS;AAAA,MACP,MAAMpX,EAAO;AAAA,MACb,IAAAqC;AAAA,MACA,KAAAyG;AAAA,MACA,UAAA4F;AAAA,IACR,CAAO,GACDuN,EAAS,QAAQ,WAAWvN;AAAA,EAE/B,GAAE,CAACrM,GAAIyG,GAAK4F,GAAU0I,CAAQ,CAAC,GACzB;AAAA,IACL,QAAA7Y;AAAA,IACA,MAAAuC;AAAA,IACA,SAASrC,KAAQ,OAAO,SAASA,EAAK,QAAQ4D;AAAA,IAC9C,MAAMmS;AAAA,IACN,MAAA/V;AAAA,IACA,YAAA+c;AAAA,EACJ;AACA;AAEA,SAASiB,GAAiBxe,GAAM;AAC9B,MAAI;AAAA,IACF,WAAAye;AAAA,IACA,UAAA1F;AAAA,EACD,IAAG/Y;AACJ,QAAM,CAAC0e,GAAgBC,CAAiB,IAAI7e,EAAS,IAAI,GACnD,CAACgH,GAAS8X,CAAU,IAAI9e,EAAS,IAAI,GACrC+e,IAAmBlO,GAAYoI,CAAQ;AAE7C,SAAI,CAACA,KAAY,CAAC2F,KAAkBG,KAClCF,EAAkBE,CAAgB,GAGpC7K,GAA0B,MAAM;AAC9B,QAAI,CAAClN;AACH;AAGF,UAAM+D,IAAM6T,KAAkB,OAAO,SAASA,EAAe,KACvDta,IAAKsa,KAAkB,OAAO,SAASA,EAAe,MAAM;AAElE,QAAI7T,KAAO,QAAQzG,KAAM,MAAM;AAC7B,MAAAua,EAAkB,IAAI;AACtB;AAAA,IACD;AAED,YAAQ,QAAQF,EAAUra,GAAI0C,CAAO,CAAC,EAAE,KAAK,MAAM;AACjD,MAAA6X,EAAkB,IAAI;AAAA,IAC5B,CAAK;AAAA,EACF,GAAE,CAACF,GAAWC,GAAgB5X,CAAO,CAAC,GAChCnF,EAAM,cAAcA,EAAM,UAAU,MAAMoX,GAAU2F,IAAiBI,GAAaJ,GAAgB;AAAA,IACvG,KAAKE;AAAA,EACT,CAAG,IAAI,IAAI;AACX;AAEA,MAAMG,KAAmB;AAAA,EACvB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,QAAQ;AAAA,EACR,QAAQ;AACV;AACA,SAASC,GAAyBhf,GAAM;AACtC,MAAI;AAAA,IACF,UAAA+Y;AAAA,EACD,IAAG/Y;AACJ,SAAO2B,EAAM,cAAcwV,GAAgB,UAAU;AAAA,IACnD,OAAOD;AAAA,EACR,GAAEvV,EAAM,cAAc2W,GAAuB,UAAU;AAAA,IACtD,OAAOyG;AAAA,EACX,GAAKhG,CAAQ,CAAC;AACd;AAEA,MAAMkG,KAAa;AAAA,EACjB,UAAU;AAAA,EACV,aAAa;AACf,GAEMC,KAAoB,CAAAzH,MACIlL,GAAgBkL,CAAc,IAC7B,yBAAyB,QAGlD0H,KAAiC,gBAAAC,GAAW,CAACpf,GAAMqf,MAAQ;AAC/D,MAAI;AAAA,IACF,IAAAC;AAAA,IACA,gBAAA7H;AAAA,IACA,aAAApS;AAAA,IACA,UAAA0T;AAAA,IACA,WAAAwG;AAAA,IACA,MAAA1c;AAAA,IACA,OAAA2c;AAAA,IACA,WAAAla;AAAA,IACA,YAAAma,IAAaP;AAAA,EACd,IAAGlf;AAEJ,MAAI,CAAC6C;AACH,WAAO;AAGT,QAAM6c,IAAyBra,IAAcC,IAAY;AAAA,IAAE,GAAGA;AAAA,IAC5D,QAAQ;AAAA,IACR,QAAQ;AAAA,EACZ,GACQqa,IAAS;AAAA,IAAE,GAAGV;AAAA,IAClB,OAAOpc,EAAK;AAAA,IACZ,QAAQA,EAAK;AAAA,IACb,KAAKA,EAAK;AAAA,IACV,MAAMA,EAAK;AAAA,IACX,WAAW+c,GAAI,UAAU,SAASF,CAAsB;AAAA,IACxD,iBAAiBra,KAAeoS,IAAiB7U,GAA2B6U,GAAgB5U,CAAI,IAAI;AAAA,IACpG,YAAY,OAAO4c,KAAe,aAAaA,EAAWhI,CAAc,IAAIgI;AAAA,IAC5E,GAAGD;AAAA,EACP;AACE,SAAO7d,EAAM,cAAc2d,GAAI;AAAA,IAC7B,WAAAC;AAAA,IACA,OAAOI;AAAA,IACP,KAAAN;AAAA,EACD,GAAEtG,CAAQ;AACb,CAAC,GAEK8G,KAAkC,CAAA1d,MAAW,CAAAnC,MAAQ;AACzD,MAAI;AAAA,IACF,QAAAM;AAAA,IACA,aAAAwa;AAAA,EACD,IAAG9a;AACJ,QAAM8f,IAAiB,CAAA,GACjB;AAAA,IACJ,QAAAH;AAAA,IACA,WAAAJ;AAAA,EACD,IAAGpd;AAEJ,MAAIwd,KAAU,QAAQA,EAAO;AAC3B,eAAW,CAAC9U,GAAKtD,CAAK,KAAK,OAAO,QAAQoY,EAAO,MAAM;AACrD,MAAIpY,MAAU,WAIduY,EAAejV,CAAG,IAAIvK,EAAO,KAAK,MAAM,iBAAiBuK,CAAG,GAC5DvK,EAAO,KAAK,MAAM,YAAYuK,GAAKtD,CAAK;AAI5C,MAAIoY,KAAU,QAAQA,EAAO;AAC3B,eAAW,CAAC9U,GAAKtD,CAAK,KAAK,OAAO,QAAQoY,EAAO,WAAW;AAC1D,MAAIpY,MAAU,UAIduT,EAAY,KAAK,MAAM,YAAYjQ,GAAKtD,CAAK;AAIjD,SAAIgY,KAAa,QAAQA,EAAU,UACjCjf,EAAO,KAAK,UAAU,IAAIif,EAAU,MAAM,GAGxCA,KAAa,QAAQA,EAAU,eACjCzE,EAAY,KAAK,UAAU,IAAIyE,EAAU,WAAW,GAG/C,WAAmB;AACxB,eAAW,CAAC1U,GAAKtD,CAAK,KAAK,OAAO,QAAQuY,CAAc;AACtD,MAAAxf,EAAO,KAAK,MAAM,YAAYuK,GAAKtD,CAAK;AAG1C,IAAIgY,KAAa,QAAQA,EAAU,UACjCjf,EAAO,KAAK,UAAU,OAAOif,EAAU,MAAM;AAAA,EAEnD;AACA,GAEMQ,KAA0B,CAAAxf,MAAS;AACvC,MAAI;AAAA,IACF,WAAW;AAAA,MACT,SAAAyf;AAAA,MACA,OAAAC;AAAA,IACD;AAAA,EACF,IAAG1f;AACJ,SAAO,CAAC;AAAA,IACN,WAAWqf,GAAI,UAAU,SAASI,CAAO;AAAA,EAC7C,GAAK;AAAA,IACD,WAAWJ,GAAI,UAAU,SAASK,CAAK;AAAA,EAC3C,CAAG;AACH,GAEMC,KAAoC;AAAA,EACxC,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,WAAWH;AAAA,EACX,aAA0B,gBAAAF,GAAgC;AAAA,IACxD,QAAQ;AAAA,MACN,QAAQ;AAAA,QACN,SAAS;AAAA,MACV;AAAA,IACF;AAAA,EACL,CAAG;AACH;AACA,SAASM,GAAiB1f,GAAO;AAC/B,MAAI;AAAA,IACF,QAAAoR;AAAA,IACA,gBAAAd;AAAA,IACA,qBAAA9M;AAAA,IACA,wBAAAmW;AAAA,EACD,IAAG3Z;AACJ,SAAOwS,GAAS,CAAC7O,GAAI+C,MAAS;AAC5B,QAAI0K,MAAW;AACb;AAGF,UAAMuO,IAAkBrP,EAAe,IAAI3M,CAAE;AAE7C,QAAI,CAACgc;AACH;AAGF,UAAM/T,IAAa+T,EAAgB,KAAK;AAExC,QAAI,CAAC/T;AACH;AAGF,UAAMgU,IAAiBnK,GAAkB/O,CAAI;AAE7C,QAAI,CAACkZ;AACH;AAGF,UAAM;AAAA,MACJ,WAAA/a;AAAA,IACD,IAAGyB,EAAUI,CAAI,EAAE,iBAAiBA,CAAI,GACnChB,IAAkBH,GAAeV,CAAS;AAEhD,QAAI,CAACa;AACH;AAGF,UAAMsY,IAAY,OAAO5M,KAAW,aAAaA,IAASyO,GAA2BzO,CAAM;AAC3F,WAAAxH,GAAuBgC,GAAY+N,EAAuB,UAAU,OAAO,GACpEqE,EAAU;AAAA,MACf,QAAQ;AAAA,QACN,IAAAra;AAAA,QACA,MAAMgc,EAAgB;AAAA,QACtB,MAAM/T;AAAA,QACN,MAAM+N,EAAuB,UAAU,QAAQ/N,CAAU;AAAA,MAC1D;AAAA,MACD,gBAAA0E;AAAA,MACA,aAAa;AAAA,QACX,MAAA5J;AAAA,QACA,MAAMiT,EAAuB,YAAY,QAAQiG,CAAc;AAAA,MAChE;AAAA,MACD,qBAAApc;AAAA,MACA,wBAAAmW;AAAA,MACA,WAAWjU;AAAA,IACjB,CAAK;AAAA,EACL,CAAG;AACH;AAEA,SAASma,GAA2Bne,GAAS;AAC3C,QAAM;AAAA,IACJ,UAAAoe;AAAA,IACA,QAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,EACD,IAAG;AAAA,IAAE,GAAGR;AAAA,IACP,GAAG/d;AAAA,EACP;AACE,SAAO,CAAAzB,MAAS;AACd,QAAI;AAAA,MACF,QAAAJ;AAAA,MACA,aAAAwa;AAAA,MACA,WAAAxV;AAAA,MACA,GAAGqb;AAAA,IACJ,IAAGjgB;AAEJ,QAAI,CAAC6f;AAEH;AAGF,UAAM/U,IAAQ;AAAA,MACZ,GAAGsP,EAAY,KAAK,OAAOxa,EAAO,KAAK;AAAA,MACvC,GAAGwa,EAAY,KAAK,MAAMxa,EAAO,KAAK;AAAA,IAC5C,GACUsgB,IAAQ;AAAA,MACZ,QAAQtb,EAAU,WAAW,IAAIhF,EAAO,KAAK,QAAQgF,EAAU,SAASwV,EAAY,KAAK,QAAQ;AAAA,MACjG,QAAQxV,EAAU,WAAW,IAAIhF,EAAO,KAAK,SAASgF,EAAU,SAASwV,EAAY,KAAK,SAAS;AAAA,IACzG,GACU+F,IAAiB;AAAA,MACrB,GAAGvb,EAAU,IAAIkG,EAAM;AAAA,MACvB,GAAGlG,EAAU,IAAIkG,EAAM;AAAA,MACvB,GAAGoV;AAAA,IACT,GACUE,IAAqBJ,EAAU;AAAA,MAAE,GAAGC;AAAA,MACxC,QAAArgB;AAAA,MACA,aAAAwa;AAAA,MACA,WAAW;AAAA,QACT,SAASxV;AAAA,QACT,OAAOub;AAAA,MACR;AAAA,IACP,CAAK,GACK,CAACE,CAAa,IAAID,GAClBE,IAAeF,EAAmBA,EAAmB,SAAS,CAAC;AAErE,QAAI,KAAK,UAAUC,CAAa,MAAM,KAAK,UAAUC,CAAY;AAE/D;AAGF,UAAM/L,IAAUwL,KAAe,OAAO,SAASA,EAAY;AAAA,MACzD,QAAAngB;AAAA,MACA,aAAAwa;AAAA,MACA,GAAG6F;AAAA,IACT,CAAK,GACKlC,IAAY3D,EAAY,KAAK,QAAQgG,GAAoB;AAAA,MAC7D,UAAAP;AAAA,MACA,QAAAC;AAAA,MACA,MAAM;AAAA,IACZ,CAAK;AACD,WAAO,IAAI,QAAQ,CAAAS,MAAW;AAC5B,MAAAxC,EAAU,WAAW,MAAM;AACzB,QAAAxJ,KAAW,QAAgBA,EAAO,GAClCgM;MACR;AAAA,IACA,CAAK;AAAA,EACL;AACA;AAEA,IAAIpW,KAAM;AACV,SAASqW,GAAO9c,GAAI;AAClB,SAAO7C,EAAQ,MAAM;AACnB,QAAI6C,KAAM;AAIV,aAAAyG,MACOA;AAAA,EACX,GAAK,CAACzG,CAAE,CAAC;AACT;AAEK,MAAC+c,KAA2Bxf,gBAAAA,EAAM,KAAK,CAAA3B,MAAQ;AAClD,MAAI;AAAA,IACF,aAAAqF,IAAc;AAAA,IACd,UAAA0T;AAAA,IACA,eAAeqI;AAAA,IACf,OAAA5B;AAAA,IACA,YAAAC;AAAA,IACA,WAAAzH;AAAA,IACA,gBAAAqJ,IAAiB;AAAA,IACjB,WAAA9B;AAAA,IACA,QAAA+B,IAAS;AAAA,EACV,IAAGthB;AACJ,QAAM;AAAA,IACJ,gBAAAyX;AAAA,IACA,QAAAnX;AAAA,IACA,gBAAAoa;AAAA,IACA,mBAAAC;AAAA,IACA,gBAAA5J;AAAA,IACA,qBAAA9M;AAAA,IACA,aAAA6W;AAAA,IACA,MAAAta;AAAA,IACA,wBAAA4Z;AAAA,IACA,qBAAAnQ;AAAA,IACA,yBAAAyF;AAAA,IACA,YAAAqG;AAAA,EACD,IAAG4H,GAAa,GACXrY,IAAY5F,GAAW4Y,EAAsB,GAC7CzN,IAAMqW,GAAO5gB,KAAU,OAAO,SAASA,EAAO,EAAE,GAChDihB,IAAoBxJ,GAAeC,GAAW;AAAA,IAClD,gBAAAP;AAAA,IACA,QAAAnX;AAAA,IACA,gBAAAoa;AAAA,IACA,mBAAAC;AAAA,IACA,kBAAkBG,EAAY;AAAA,IAC9B,MAAAta;AAAA,IACA,iBAAiBsa,EAAY;AAAA,IAC7B,qBAAA7Q;AAAA,IACA,yBAAAyF;AAAA,IACA,WAAApK;AAAA,IACA,YAAAyQ;AAAA,EACJ,CAAG,GACK3B,IAAczB,GAAgB+H,CAAc,GAC5C8G,IAAgBrB,GAAiB;AAAA,IACrC,QAAQiB;AAAA,IACR,gBAAArQ;AAAA,IACA,qBAAA9M;AAAA,IACA,wBAAAmW;AAAA,EACJ,CAAG,GAGKiF,IAAMjL,IAAc0G,EAAY,SAAS;AAC/C,SAAOnZ,EAAM,cAAcqd,IAA0B,MAAMrd,EAAM,cAAc6c,IAAkB;AAAA,IAC/F,WAAWgD;AAAA,EACZ,GAAElhB,KAAUuK,IAAMlJ,EAAM,cAAcwd,IAAmB;AAAA,IACxD,KAAKtU;AAAA,IACL,IAAIvK,EAAO;AAAA,IACX,KAAK+e;AAAA,IACL,IAAIgC;AAAA,IACJ,gBAAgB5J;AAAA,IAChB,aAAapS;AAAA,IACb,WAAWka;AAAA,IACX,YAAYE;AAAA,IACZ,MAAMrL;AAAA,IACN,OAAO;AAAA,MACL,QAAAkN;AAAA,MACA,GAAG9B;AAAA,IACJ;AAAA,IACD,WAAW+B;AAAA,EACf,GAAKxI,CAAQ,IAAI,IAAI,CAAC;AACtB,CAAC;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"lyra463.js","sources":["../src/components/sortable/sortable-item.tsx"],"sourcesContent":["import { CSSProperties, useMemo } from \"react\";\n\nimport { useDndContext } from \"@dnd-kit/core\";\nimport { useSortable } from \"@dnd-kit/sortable\";\nimport { CSS, isKeyboardEvent } from \"@dnd-kit/utilities\";\n\nimport { SortableItemProps } from \"./sortable.types\";\n\nexport const SortableItem = ({ children, sortableId }: SortableItemProps) => {\n const {\n active,\n activeIndex,\n attributes,\n index,\n isDragging,\n isSorting,\n listeners,\n over,\n setNodeRef,\n transform,\n transition,\n } = useSortable({\n id: sortableId,\n });\n\n const { activatorEvent } = useDndContext();\n const isKeyboardSorting = isKeyboardEvent(activatorEvent);\n const style: CSSProperties = {\n transform: isSorting ? undefined : CSS.Translate.toString(transform),\n transition: transition ?? undefined,\n };\n const insertPosition = useMemo(() => {\n if (active?.id === over?.id && !isKeyboardSorting) return undefined;\n return over?.id === sortableId ? (index > activeIndex ? \"after\" : \"before\") : undefined;\n }, [active?.id, over?.id, isKeyboardSorting, sortableId, index, activeIndex]);\n\n return (\n <div ref={setNodeRef} style={style}>\n {children({\n isDragging,\n attributes,\n isKeyboardSorting,\n insertPosition,\n isSorting,\n listeners,\n })}\n </div>\n );\n};\n"],"names":["SortableItem","children","sortableId","active","activeIndex","attributes","index","isDragging","isSorting","listeners","over","setNodeRef","transform","transition","useSortable","activatorEvent","useDndContext","isKeyboardSorting","isKeyboardEvent","style","CSS","insertPosition","useMemo","jsx"],"mappings":";;;;;AAQO,MAAMA,IAAe,CAAC,EAAE,UAAAC,GAAU,YAAAC,QAAoC;AACrE,QAAA;AAAA,IACJ,QAAAC;AAAA,IACA,aAAAC;AAAA,IACA,YAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,WAAAC;AAAA,IACA,WAAAC;AAAA,IACA,MAAAC;AAAA,IACA,YAAAC;AAAA,IACA,WAAAC;AAAA,IACA,YAAAC;AAAA,MACEC,EAAY;AAAA,IACd,IAAIZ;AAAA,EAAA,CACL,GAEK,EAAE,gBAAAa,MAAmBC,KACrBC,IAAoBC,EAAgBH,CAAc,GAClDI,IAAuB;AAAA,IAC3B,WAAWX,IAAY,SAAYY,EAAI,UAAU,SAASR,CAAS;AAAA,IACnE,YAAYC,KAAc;AAAA,EAAA,GAEtBQ,IAAiBC,EAAQ,MAAM;AACnC,QAAI,GAAAnB,KAAA,gBAAAA,EAAQ,SAAOO,KAAA,gBAAAA,EAAM,OAAM,CAACO;AAChC,cAAOP,KAAA,gBAAAA,EAAM,QAAOR,IAAcI,IAAQF,IAAc,UAAU,WAAY;AAAA,EAAA,GAC7E,CAACD,KAAA,gBAAAA,EAAQ,IAAIO,KAAA,gBAAAA,EAAM,IAAIO,GAAmBf,GAAYI,GAAOF,CAAW,CAAC;AAE5E,SACGmB,gBAAAA,EAAAA,IAAA,OAAA,EAAI,KAAKZ,GAAY,OAAAQ,GACnB,UAASlB,EAAA;AAAA,IACR,YAAAM;AAAA,IACA,YAAAF;AAAA,IACA,mBAAAY;AAAA,IACA,gBAAAI;AAAA,IACA,WAAAb;AAAA,IACA,WAAAC;AAAA,EACD,CAAA,EACH,CAAA;AAEJ;"}
package/dist/lyra464.cjs CHANGED
@@ -1 +1,5 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./lyra463.cjs"),h=require("./lyra606.cjs"),c=(i,{context:{active:b,collisionRect:f,droppableContainers:p,droppableRects:y}})=>{if(!b||!f)return;if([d.KeyboardCode.Down,d.KeyboardCode.Right,d.KeyboardCode.Up,d.KeyboardCode.Left].includes(i.code)){i.preventDefault();const e={x:f.left,y:f.top};let s,a=Number.MAX_SAFE_INTEGER;if(p.getEnabled().forEach(r=>{if(r.id===b.id||r.disabled)return;const t=y.get(r.id);if(!t)return;let o;switch(i.code){case d.KeyboardCode.Right:t.left>e.x&&t.top===e.y&&(o=Math.sqrt(Math.pow(t.left-e.x,2)+Math.pow(t.top-e.y,2)),o<a&&(a=o,s=r));break;case d.KeyboardCode.Left:t.right<e.x&&t.top===e.y&&(o=Math.sqrt(Math.pow(e.x-t.right,2)+Math.pow(e.y-t.top,2)),o<a&&(a=o,s=r));break;case d.KeyboardCode.Down:t.top>e.y&&(o=Math.sqrt(Math.pow(t.left-e.x,2)+Math.pow(t.top-e.y,2)),o<a&&(a=o,s=r));break;case d.KeyboardCode.Up:t.bottom<e.y&&(o=Math.sqrt(Math.pow(e.x-t.left,2)+Math.pow(e.y-t.bottom,2)),o<a&&(a=o,s=r));break}}),s){const r=y.get(s.id);if(r)return u(r)}}};function u(i){return h.subtract({x:i.left,y:i.top},{x:0,y:0})}exports.flexWrappedListKeyboardCoordinates=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),ie=require("react-dom"),u=require("./lyra614.cjs"),Le=require("./lyra619.cjs"),mt=l.createContext(null);function wt(e){const t=l.useContext(mt);l.useEffect(()=>{if(!t)throw new Error("useDndMonitor must be used within a children of <DndContext>");return t(e)},[e,t])}function Qt(){const[e]=l.useState(()=>new Set),t=l.useCallback(r=>(e.add(r),()=>e.delete(r)),[e]);return[l.useCallback(r=>{let{type:i,event:o}=r;e.forEach(s=>{var a;return(a=s[i])==null?void 0:a.call(s,o)})},[e]),t]}const Ct={draggable:`
2
+ To pick up a draggable item, press the space bar.
3
+ While dragging, use the arrow keys to move the item.
4
+ Press space again to drop the item in its new position, or press escape to cancel.
5
+ `},Dt={onDragStart(e){let{active:t}=e;return"Picked up draggable item "+t.id+"."},onDragOver(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was moved over droppable area "+n.id+".":"Draggable item "+t.id+" is no longer over a droppable area."},onDragEnd(e){let{active:t,over:n}=e;return n?"Draggable item "+t.id+" was dropped over droppable area "+n.id:"Draggable item "+t.id+" was dropped."},onDragCancel(e){let{active:t}=e;return"Dragging was cancelled. Draggable item "+t.id+" was dropped."}};function Zt(e){let{announcements:t=Dt,container:n,hiddenTextDescribedById:r,screenReaderInstructions:i=Ct}=e;const{announce:o,announcement:s}=Le.useAnnouncement(),a=u.useUniqueId("DndLiveRegion"),[c,d]=l.useState(!1);if(l.useEffect(()=>{d(!0)},[]),wt(l.useMemo(()=>({onDragStart(f){let{active:v}=f;o(t.onDragStart({active:v}))},onDragMove(f){let{active:v,over:g}=f;t.onDragMove&&o(t.onDragMove({active:v,over:g}))},onDragOver(f){let{active:v,over:g}=f;o(t.onDragOver({active:v,over:g}))},onDragEnd(f){let{active:v,over:g}=f;o(t.onDragEnd({active:v,over:g}))},onDragCancel(f){let{active:v,over:g}=f;o(t.onDragCancel({active:v,over:g}))}}),[o,t])),!c)return null;const h=l.createElement(l.Fragment,null,l.createElement(Le.HiddenText,{id:r,value:i.draggable}),l.createElement(Le.LiveRegion,{id:a,announcement:s}));return n?ie.createPortal(h,n):h}var O;(function(e){e.DragStart="dragStart",e.DragMove="dragMove",e.DragEnd="dragEnd",e.DragCancel="dragCancel",e.DragOver="dragOver",e.RegisterDroppable="registerDroppable",e.SetDroppableDisabled="setDroppableDisabled",e.UnregisterDroppable="unregisterDroppable"})(O||(O={}));function xe(){}function en(e,t){return l.useMemo(()=>({sensor:e,options:t??{}}),[e,t])}function tn(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return l.useMemo(()=>[...t].filter(r=>r!=null),[...t])}const P=Object.freeze({x:0,y:0});function nn(e,t){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function rn(e,t){const n=u.getEventCoordinates(e);if(!n)return"0 0";const r={x:(n.x-t.left)/t.width*100,y:(n.y-t.top)/t.height*100};return r.x+"% "+r.y+"%"}function on(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return n-r}function sn(e,t){let{data:{value:n}}=e,{data:{value:r}}=t;return r-n}function lt(e){let{left:t,top:n,height:r,width:i}=e;return[{x:t,y:n},{x:t+i,y:n},{x:t,y:n+r},{x:t+i,y:n+r}]}function xt(e,t){if(!e||e.length===0)return null;const[n]=e;return t?n[t]:n}const an=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=lt(t),o=[];for(const s of r){const{id:a}=s,c=n.get(a);if(c){const d=lt(c),h=i.reduce((v,g,D)=>v+nn(d[D],g),0),f=Number((h/4).toFixed(4));o.push({id:a,data:{droppableContainer:s,value:f}})}}return o.sort(on)};function ln(e,t){const n=Math.max(t.top,e.top),r=Math.max(t.left,e.left),i=Math.min(t.left+t.width,e.left+e.width),o=Math.min(t.top+t.height,e.top+e.height),s=i-r,a=o-n;if(r<i&&n<o){const c=t.width*t.height,d=e.width*e.height,h=s*a,f=h/(c+d-h);return Number(f.toFixed(4))}return 0}const St=e=>{let{collisionRect:t,droppableRects:n,droppableContainers:r}=e;const i=[];for(const o of r){const{id:s}=o,a=n.get(s);if(a){const c=ln(a,t);c>0&&i.push({id:s,data:{droppableContainer:o,value:c}})}}return i.sort(sn)};function cn(e,t,n){return{...e,scaleX:t&&n?t.width/n.width:1,scaleY:t&&n?t.height/n.height:1}}function Et(e,t){return e&&t?{x:e.left-t.left,y:e.top-t.top}:P}function un(e){return function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];return i.reduce((s,a)=>({...s,top:s.top+e*a.y,bottom:s.bottom+e*a.y,left:s.left+e*a.x,right:s.right+e*a.x}),{...n})}}const dn=un(1);function Rt(e){if(e.startsWith("matrix3d(")){const t=e.slice(9,-1).split(/, /);return{x:+t[12],y:+t[13],scaleX:+t[0],scaleY:+t[5]}}else if(e.startsWith("matrix(")){const t=e.slice(7,-1).split(/, /);return{x:+t[4],y:+t[5],scaleX:+t[0],scaleY:+t[3]}}return null}function fn(e,t,n){const r=Rt(t);if(!r)return e;const{scaleX:i,scaleY:o,x:s,y:a}=r,c=e.left-s-(1-i)*parseFloat(n),d=e.top-a-(1-o)*parseFloat(n.slice(n.indexOf(" ")+1)),h=i?e.width/i:e.width,f=o?e.height/o:e.height;return{width:h,height:f,top:d,right:c+h,bottom:d+f,left:c}}const hn={ignoreTransform:!1};function se(e,t){t===void 0&&(t=hn);let n=e.getBoundingClientRect();if(t.ignoreTransform){const{transform:d,transformOrigin:h}=u.getWindow(e).getComputedStyle(e);d&&(n=fn(n,d,h))}const{top:r,left:i,width:o,height:s,bottom:a,right:c}=n;return{top:r,left:i,width:o,height:s,bottom:a,right:c}}function ct(e){return se(e,{ignoreTransform:!0})}function gn(e){const t=e.innerWidth,n=e.innerHeight;return{top:0,left:0,right:t,bottom:n,width:t,height:n}}function vn(e,t){return t===void 0&&(t=u.getWindow(e).getComputedStyle(e)),t.position==="fixed"}function pn(e,t){t===void 0&&(t=u.getWindow(e).getComputedStyle(e));const n=/(auto|scroll|overlay)/;return["overflow","overflowX","overflowY"].some(i=>{const o=t[i];return typeof o=="string"?n.test(o):!1})}function Se(e,t){const n=[];function r(i){if(t!=null&&n.length>=t||!i)return n;if(u.isDocument(i)&&i.scrollingElement!=null&&!n.includes(i.scrollingElement))return n.push(i.scrollingElement),n;if(!u.isHTMLElement(i)||u.isSVGElement(i)||n.includes(i))return n;const o=u.getWindow(e).getComputedStyle(i);return i!==e&&pn(i,o)&&n.push(i),vn(i,o)?n:r(i.parentNode)}return e?r(e):n}function Mt(e){const[t]=Se(e,1);return t??null}function Te(e){return!u.canUseDOM||!e?null:u.isWindow(e)?e:u.isNode(e)?u.isDocument(e)||e===u.getOwnerDocument(e).scrollingElement?window:u.isHTMLElement(e)?e:null:null}function Ot(e){return u.isWindow(e)?e.scrollX:e.scrollLeft}function At(e){return u.isWindow(e)?e.scrollY:e.scrollTop}function ze(e){return{x:Ot(e),y:At(e)}}var N;(function(e){e[e.Forward=1]="Forward",e[e.Backward=-1]="Backward"})(N||(N={}));function Nt(e){return!u.canUseDOM||!e?!1:e===document.scrollingElement}function Lt(e){const t={x:0,y:0},n=Nt(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},r={x:e.scrollWidth-n.width,y:e.scrollHeight-n.height},i=e.scrollTop<=t.y,o=e.scrollLeft<=t.x,s=e.scrollTop>=r.y,a=e.scrollLeft>=r.x;return{isTop:i,isLeft:o,isBottom:s,isRight:a,maxScroll:r,minScroll:t}}const bn={x:.2,y:.2};function yn(e,t,n,r,i){let{top:o,left:s,right:a,bottom:c}=n;r===void 0&&(r=10),i===void 0&&(i=bn);const{isTop:d,isBottom:h,isLeft:f,isRight:v}=Lt(e),g={x:0,y:0},D={x:0,y:0},p={height:t.height*i.y,width:t.width*i.x};return!d&&o<=t.top+p.height?(g.y=N.Backward,D.y=r*Math.abs((t.top+p.height-o)/p.height)):!h&&c>=t.bottom-p.height&&(g.y=N.Forward,D.y=r*Math.abs((t.bottom-p.height-c)/p.height)),!v&&a>=t.right-p.width?(g.x=N.Forward,D.x=r*Math.abs((t.right-p.width-a)/p.width)):!f&&s<=t.left+p.width&&(g.x=N.Backward,D.x=r*Math.abs((t.left+p.width-s)/p.width)),{direction:g,speed:D}}function mn(e){if(e===document.scrollingElement){const{innerWidth:o,innerHeight:s}=window;return{top:0,left:0,right:o,bottom:s,width:o,height:s}}const{top:t,left:n,right:r,bottom:i}=e.getBoundingClientRect();return{top:t,left:n,right:r,bottom:i,width:e.clientWidth,height:e.clientHeight}}function Tt(e){return e.reduce((t,n)=>u.add(t,ze(n)),P)}function wn(e){return e.reduce((t,n)=>t+Ot(n),0)}function Cn(e){return e.reduce((t,n)=>t+At(n),0)}function It(e,t){if(t===void 0&&(t=se),!e)return;const{top:n,left:r,bottom:i,right:o}=t(e);Mt(e)&&(i<=0||o<=0||n>=window.innerHeight||r>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}const Dn=[["x",["left","right"],wn],["y",["top","bottom"],Cn]];class Be{constructor(t,n){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const r=Se(n),i=Tt(r);this.rect={...t},this.width=t.width,this.height=t.height;for(const[o,s,a]of Dn)for(const c of s)Object.defineProperty(this,c,{get:()=>{const d=a(r),h=i[o]-d;return this.rect[c]+h},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class he{constructor(t){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(n=>{var r;return(r=this.target)==null?void 0:r.removeEventListener(...n)})},this.target=t}add(t,n,r){var i;(i=this.target)==null||i.addEventListener(t,n,r),this.listeners.push([t,n,r])}}function xn(e){const{EventTarget:t}=u.getWindow(e);return e instanceof t?e:u.getOwnerDocument(e)}function Ie(e,t){const n=Math.abs(e.x),r=Math.abs(e.y);return typeof t=="number"?Math.sqrt(n**2+r**2)>t:"x"in t&&"y"in t?n>t.x&&r>t.y:"x"in t?n>t.x:"y"in t?r>t.y:!1}var z;(function(e){e.Click="click",e.DragStart="dragstart",e.Keydown="keydown",e.ContextMenu="contextmenu",e.Resize="resize",e.SelectionChange="selectionchange",e.VisibilityChange="visibilitychange"})(z||(z={}));function ut(e){e.preventDefault()}function Sn(e){e.stopPropagation()}exports.KeyboardCode=void 0;(function(e){e.Space="Space",e.Down="ArrowDown",e.Right="ArrowRight",e.Left="ArrowLeft",e.Up="ArrowUp",e.Esc="Escape",e.Enter="Enter"})(exports.KeyboardCode||(exports.KeyboardCode={}));const kt={start:[exports.KeyboardCode.Space,exports.KeyboardCode.Enter],cancel:[exports.KeyboardCode.Esc],end:[exports.KeyboardCode.Space,exports.KeyboardCode.Enter]},En=(e,t)=>{let{currentCoordinates:n}=t;switch(e.code){case exports.KeyboardCode.Right:return{...n,x:n.x+25};case exports.KeyboardCode.Left:return{...n,x:n.x-25};case exports.KeyboardCode.Down:return{...n,y:n.y+25};case exports.KeyboardCode.Up:return{...n,y:n.y-25}}};class Fe{constructor(t){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=t;const{event:{target:n}}=t;this.props=t,this.listeners=new he(u.getOwnerDocument(n)),this.windowListeners=new he(u.getWindow(n)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(z.Resize,this.handleCancel),this.windowListeners.add(z.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(z.Keydown,this.handleKeyDown))}handleStart(){const{activeNode:t,onStart:n}=this.props,r=t.node.current;r&&It(r),n(P)}handleKeyDown(t){if(u.isKeyboardEvent(t)){const{active:n,context:r,options:i}=this.props,{keyboardCodes:o=kt,coordinateGetter:s=En,scrollBehavior:a="smooth"}=i,{code:c}=t;if(o.end.includes(c)){this.handleEnd(t);return}if(o.cancel.includes(c)){this.handleCancel(t);return}const{collisionRect:d}=r.current,h=d?{x:d.left,y:d.top}:P;this.referenceCoordinates||(this.referenceCoordinates=h);const f=s(t,{active:n,context:r.current,currentCoordinates:h});if(f){const v=u.subtract(f,h),g={x:0,y:0},{scrollableAncestors:D}=r.current;for(const p of D){const b=t.code,{isTop:m,isRight:x,isLeft:w,isBottom:A,maxScroll:S,minScroll:E}=Lt(p),y=mn(p),C={x:Math.min(b===exports.KeyboardCode.Right?y.right-y.width/2:y.right,Math.max(b===exports.KeyboardCode.Right?y.left:y.left+y.width/2,f.x)),y:Math.min(b===exports.KeyboardCode.Down?y.bottom-y.height/2:y.bottom,Math.max(b===exports.KeyboardCode.Down?y.top:y.top+y.height/2,f.y))},R=b===exports.KeyboardCode.Right&&!x||b===exports.KeyboardCode.Left&&!w,L=b===exports.KeyboardCode.Down&&!A||b===exports.KeyboardCode.Up&&!m;if(R&&C.x!==f.x){const M=p.scrollLeft+v.x,j=b===exports.KeyboardCode.Right&&M<=S.x||b===exports.KeyboardCode.Left&&M>=E.x;if(j&&!v.y){p.scrollTo({left:M,behavior:a});return}j?g.x=p.scrollLeft-M:g.x=b===exports.KeyboardCode.Right?p.scrollLeft-S.x:p.scrollLeft-E.x,g.x&&p.scrollBy({left:-g.x,behavior:a});break}else if(L&&C.y!==f.y){const M=p.scrollTop+v.y,j=b===exports.KeyboardCode.Down&&M<=S.y||b===exports.KeyboardCode.Up&&M>=E.y;if(j&&!v.x){p.scrollTo({top:M,behavior:a});return}j?g.y=p.scrollTop-M:g.y=b===exports.KeyboardCode.Down?p.scrollTop-S.y:p.scrollTop-E.y,g.y&&p.scrollBy({top:-g.y,behavior:a});break}}this.handleMove(t,u.add(u.subtract(f,this.referenceCoordinates),g))}}}handleMove(t,n){const{onMove:r}=this.props;t.preventDefault(),r(n)}handleEnd(t){const{onEnd:n}=this.props;t.preventDefault(),this.detach(),n()}handleCancel(t){const{onCancel:n}=this.props;t.preventDefault(),this.detach(),n()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}Fe.activators=[{eventName:"onKeyDown",handler:(e,t,n)=>{let{keyboardCodes:r=kt,onActivation:i}=t,{active:o}=n;const{code:s}=e.nativeEvent;if(r.start.includes(s)){const a=o.activatorNode.current;return a&&e.target!==a?!1:(e.preventDefault(),i==null||i({event:e.nativeEvent}),!0)}return!1}}];function dt(e){return!!(e&&"distance"in e)}function ft(e){return!!(e&&"delay"in e)}class We{constructor(t,n,r){var i;r===void 0&&(r=xn(t.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=t,this.events=n;const{event:o}=t,{target:s}=o;this.props=t,this.events=n,this.document=u.getOwnerDocument(s),this.documentListeners=new he(this.document),this.listeners=new he(r),this.windowListeners=new he(u.getWindow(s)),this.initialCoordinates=(i=u.getEventCoordinates(o))!=null?i:P,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){const{events:t,props:{options:{activationConstraint:n,bypassActivationConstraint:r}}}=this;if(this.listeners.add(t.move.name,this.handleMove,{passive:!1}),this.listeners.add(t.end.name,this.handleEnd),this.windowListeners.add(z.Resize,this.handleCancel),this.windowListeners.add(z.DragStart,ut),this.windowListeners.add(z.VisibilityChange,this.handleCancel),this.windowListeners.add(z.ContextMenu,ut),this.documentListeners.add(z.Keydown,this.handleKeydown),n){if(r!=null&&r({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(ft(n)){this.timeoutId=setTimeout(this.handleStart,n.delay);return}if(dt(n))return}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),this.timeoutId!==null&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handleStart(){const{initialCoordinates:t}=this,{onStart:n}=this.props;t&&(this.activated=!0,this.documentListeners.add(z.Click,Sn,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(z.SelectionChange,this.removeTextSelection),n(t))}handleMove(t){var n;const{activated:r,initialCoordinates:i,props:o}=this,{onMove:s,options:{activationConstraint:a}}=o;if(!i)return;const c=(n=u.getEventCoordinates(t))!=null?n:P,d=u.subtract(i,c);if(!r&&a){if(dt(a)){if(a.tolerance!=null&&Ie(d,a.tolerance))return this.handleCancel();if(Ie(d,a.distance))return this.handleStart()}return ft(a)&&Ie(d,a.tolerance)?this.handleCancel():void 0}t.cancelable&&t.preventDefault(),s(c)}handleEnd(){const{onEnd:t}=this.props;this.detach(),t()}handleCancel(){const{onCancel:t}=this.props;this.detach(),t()}handleKeydown(t){t.code===exports.KeyboardCode.Esc&&this.handleCancel()}removeTextSelection(){var t;(t=this.document.getSelection())==null||t.removeAllRanges()}}const Rn={move:{name:"pointermove"},end:{name:"pointerup"}};class Ue extends We{constructor(t){const{event:n}=t,r=u.getOwnerDocument(n.target);super(t,Rn,r)}}Ue.activators=[{eventName:"onPointerDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return!n.isPrimary||n.button!==0?!1:(r==null||r({event:n}),!0)}}];const Mn={move:{name:"mousemove"},end:{name:"mouseup"}};var Pe;(function(e){e[e.RightClick=2]="RightClick"})(Pe||(Pe={}));class Kt extends We{constructor(t){super(t,Mn,u.getOwnerDocument(t.event.target))}}Kt.activators=[{eventName:"onMouseDown",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;return n.button===Pe.RightClick?!1:(r==null||r({event:n}),!0)}}];const ke={move:{name:"touchmove"},end:{name:"touchend"}};class zt extends We{constructor(t){super(t,ke)}static setup(){return window.addEventListener(ke.move.name,t,{capture:!1,passive:!1}),function(){window.removeEventListener(ke.move.name,t)};function t(){}}}zt.activators=[{eventName:"onTouchStart",handler:(e,t)=>{let{nativeEvent:n}=e,{onActivation:r}=t;const{touches:i}=n;return i.length>1?!1:(r==null||r({event:n}),!0)}}];exports.AutoScrollActivator=void 0;(function(e){e[e.Pointer=0]="Pointer",e[e.DraggableRect=1]="DraggableRect"})(exports.AutoScrollActivator||(exports.AutoScrollActivator={}));exports.TraversalOrder=void 0;(function(e){e[e.TreeOrder=0]="TreeOrder",e[e.ReversedTreeOrder=1]="ReversedTreeOrder"})(exports.TraversalOrder||(exports.TraversalOrder={}));function On(e){let{acceleration:t,activator:n=exports.AutoScrollActivator.Pointer,canScroll:r,draggingRect:i,enabled:o,interval:s=5,order:a=exports.TraversalOrder.TreeOrder,pointerCoordinates:c,scrollableAncestors:d,scrollableAncestorRects:h,delta:f,threshold:v}=e;const g=Nn({delta:f,disabled:!o}),[D,p]=u.useInterval(),b=l.useRef({x:0,y:0}),m=l.useRef({x:0,y:0}),x=l.useMemo(()=>{switch(n){case exports.AutoScrollActivator.Pointer:return c?{top:c.y,bottom:c.y,left:c.x,right:c.x}:null;case exports.AutoScrollActivator.DraggableRect:return i}},[n,i,c]),w=l.useRef(null),A=l.useCallback(()=>{const E=w.current;if(!E)return;const y=b.current.x*m.current.x,C=b.current.y*m.current.y;E.scrollBy(y,C)},[]),S=l.useMemo(()=>a===exports.TraversalOrder.TreeOrder?[...d].reverse():d,[a,d]);l.useEffect(()=>{if(!o||!d.length||!x){p();return}for(const E of S){if((r==null?void 0:r(E))===!1)continue;const y=d.indexOf(E),C=h[y];if(!C)continue;const{direction:R,speed:L}=yn(E,C,x,t,v);for(const M of["x","y"])g[M][R[M]]||(L[M]=0,R[M]=0);if(L.x>0||L.y>0){p(),w.current=E,D(A,s),b.current=L,m.current=R;return}}b.current={x:0,y:0},m.current={x:0,y:0},p()},[t,A,r,p,o,s,JSON.stringify(x),JSON.stringify(g),D,d,S,h,JSON.stringify(v)])}const An={x:{[N.Backward]:!1,[N.Forward]:!1},y:{[N.Backward]:!1,[N.Forward]:!1}};function Nn(e){let{delta:t,disabled:n}=e;const r=u.usePrevious(t);return u.useLazyMemo(i=>{if(n||!r||!i)return An;const o={x:Math.sign(t.x-r.x),y:Math.sign(t.y-r.y)};return{x:{[N.Backward]:i.x[N.Backward]||o.x===-1,[N.Forward]:i.x[N.Forward]||o.x===1},y:{[N.Backward]:i.y[N.Backward]||o.y===-1,[N.Forward]:i.y[N.Forward]||o.y===1}}},[n,t,r])}function Ln(e,t){const n=t!==null?e.get(t):void 0,r=n?n.node.current:null;return u.useLazyMemo(i=>{var o;return t===null?null:(o=r??i)!=null?o:null},[r,t])}function Tn(e,t){return l.useMemo(()=>e.reduce((n,r)=>{const{sensor:i}=r,o=i.activators.map(s=>({eventName:s.eventName,handler:t(s.handler,r)}));return[...n,...o]},[]),[e,t])}exports.MeasuringStrategy=void 0;(function(e){e[e.Always=0]="Always",e[e.BeforeDragging=1]="BeforeDragging",e[e.WhileDragging=2]="WhileDragging"})(exports.MeasuringStrategy||(exports.MeasuringStrategy={}));exports.MeasuringFrequency=void 0;(function(e){e.Optimized="optimized"})(exports.MeasuringFrequency||(exports.MeasuringFrequency={}));const ht=new Map;function In(e,t){let{dragging:n,dependencies:r,config:i}=t;const[o,s]=l.useState(null),{frequency:a,measure:c,strategy:d}=i,h=l.useRef(e),f=b(),v=u.useLatestValue(f),g=l.useCallback(function(m){m===void 0&&(m=[]),!v.current&&s(x=>x===null?m:x.concat(m.filter(w=>!x.includes(w))))},[v]),D=l.useRef(null),p=u.useLazyMemo(m=>{if(f&&!n)return ht;if(!m||m===ht||h.current!==e||o!=null){const x=new Map;for(let w of e){if(!w)continue;if(o&&o.length>0&&!o.includes(w.id)&&w.rect.current){x.set(w.id,w.rect.current);continue}const A=w.node.current,S=A?new Be(c(A),A):null;w.rect.current=S,S&&x.set(w.id,S)}return x}return m},[e,o,n,f,c]);return l.useEffect(()=>{h.current=e},[e]),l.useEffect(()=>{f||g()},[n,f]),l.useEffect(()=>{o&&o.length>0&&s(null)},[JSON.stringify(o)]),l.useEffect(()=>{f||typeof a!="number"||D.current!==null||(D.current=setTimeout(()=>{g(),D.current=null},a))},[a,f,g,...r]),{droppableRects:p,measureDroppableContainers:g,measuringScheduled:o!=null};function b(){switch(d){case exports.MeasuringStrategy.Always:return!1;case exports.MeasuringStrategy.BeforeDragging:return n;default:return!n}}}function $e(e,t){return u.useLazyMemo(n=>e?n||(typeof t=="function"?t(e):e):null,[t,e])}function kn(e,t){return $e(e,t)}function Kn(e){let{callback:t,disabled:n}=e;const r=u.useEvent(t),i=l.useMemo(()=>{if(n||typeof window>"u"||typeof window.MutationObserver>"u")return;const{MutationObserver:o}=window;return new o(r)},[r,n]);return l.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function Ee(e){let{callback:t,disabled:n}=e;const r=u.useEvent(t),i=l.useMemo(()=>{if(n||typeof window>"u"||typeof window.ResizeObserver>"u")return;const{ResizeObserver:o}=window;return new o(r)},[n]);return l.useEffect(()=>()=>i==null?void 0:i.disconnect(),[i]),i}function zn(e){return new Be(se(e),e)}function gt(e,t,n){t===void 0&&(t=zn);const[r,i]=l.useReducer(a,null),o=Kn({callback(c){if(e)for(const d of c){const{type:h,target:f}=d;if(h==="childList"&&f instanceof HTMLElement&&f.contains(e)){i();break}}}}),s=Ee({callback:i});return u.useIsomorphicLayoutEffect(()=>{i(),e?(s==null||s.observe(e),o==null||o.observe(document.body,{childList:!0,subtree:!0})):(s==null||s.disconnect(),o==null||o.disconnect())},[e]),r;function a(c){if(!e)return null;if(e.isConnected===!1){var d;return(d=c??n)!=null?d:null}const h=t(e);return JSON.stringify(c)===JSON.stringify(h)?c:h}}function Pn(e){const t=$e(e);return Et(e,t)}const vt=[];function Bn(e){const t=l.useRef(e),n=u.useLazyMemo(r=>e?r&&r!==vt&&e&&t.current&&e.parentNode===t.current.parentNode?r:Se(e):vt,[e]);return l.useEffect(()=>{t.current=e},[e]),n}function Fn(e){const[t,n]=l.useState(null),r=l.useRef(e),i=l.useCallback(o=>{const s=Te(o.target);s&&n(a=>a?(a.set(s,ze(s)),new Map(a)):null)},[]);return l.useEffect(()=>{const o=r.current;if(e!==o){s(o);const a=e.map(c=>{const d=Te(c);return d?(d.addEventListener("scroll",i,{passive:!0}),[d,ze(d)]):null}).filter(c=>c!=null);n(a.length?new Map(a):null),r.current=e}return()=>{s(e),s(o)};function s(a){a.forEach(c=>{const d=Te(c);d==null||d.removeEventListener("scroll",i)})}},[i,e]),l.useMemo(()=>e.length?t?Array.from(t.values()).reduce((o,s)=>u.add(o,s),P):Tt(e):P,[e,t])}function pt(e,t){t===void 0&&(t=[]);const n=l.useRef(null);return l.useEffect(()=>{n.current=null},t),l.useEffect(()=>{const r=e!==P;r&&!n.current&&(n.current=e),!r&&n.current&&(n.current=null)},[e]),n.current?u.subtract(e,n.current):P}function Wn(e){l.useEffect(()=>{if(!u.canUseDOM)return;const t=e.map(n=>{let{sensor:r}=n;return r.setup==null?void 0:r.setup()});return()=>{for(const n of t)n==null||n()}},e.map(t=>{let{sensor:n}=t;return n}))}function Un(e,t){return l.useMemo(()=>e.reduce((n,r)=>{let{eventName:i,handler:o}=r;return n[i]=s=>{o(s,t)},n},{}),[e,t])}function Pt(e){return l.useMemo(()=>e?gn(e):null,[e])}const Ke=[];function $n(e,t){t===void 0&&(t=se);const[n]=e,r=Pt(n?u.getWindow(n):null),[i,o]=l.useReducer(a,Ke),s=Ee({callback:o});return e.length>0&&i===Ke&&o(),u.useIsomorphicLayoutEffect(()=>{e.length?e.forEach(c=>s==null?void 0:s.observe(c)):(s==null||s.disconnect(),o())},[e]),i;function a(){return e.length?e.map(c=>Nt(c)?r:new Be(t(c),c)):Ke}}function Bt(e){if(!e)return null;if(e.children.length>1)return e;const t=e.children[0];return u.isHTMLElement(t)?t:e}function jn(e){let{measure:t}=e;const[n,r]=l.useState(null),i=l.useCallback(d=>{for(const{target:h}of d)if(u.isHTMLElement(h)){r(f=>{const v=t(h);return f?{...f,width:v.width,height:v.height}:v});break}},[t]),o=Ee({callback:i}),s=l.useCallback(d=>{const h=Bt(d);o==null||o.disconnect(),h&&(o==null||o.observe(h)),r(h?t(h):null)},[t,o]),[a,c]=u.useNodeRef(s);return l.useMemo(()=>({nodeRef:a,rect:n,setRef:c}),[n,a,c])}const qn=[{sensor:Ue,options:{}},{sensor:Fe,options:{}}],Xn={current:{}},De={draggable:{measure:ct},droppable:{measure:ct,strategy:exports.MeasuringStrategy.WhileDragging,frequency:exports.MeasuringFrequency.Optimized},dragOverlay:{measure:se}};class ge extends Map{get(t){var n;return t!=null&&(n=super.get(t))!=null?n:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(t=>{let{disabled:n}=t;return!n})}getNodeFor(t){var n,r;return(n=(r=this.get(t))==null?void 0:r.node.current)!=null?n:void 0}}const Yn={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new ge,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:xe},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:De,measureDroppableContainers:xe,windowRect:null,measuringScheduled:!1},Ft={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:xe,draggableNodes:new Map,over:null,measureDroppableContainers:xe},ve=l.createContext(Ft),Wt=l.createContext(Yn);function _n(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new ge}}}function Hn(e,t){switch(t.type){case O.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:t.initialCoordinates,active:t.active}};case O.DragMove:return e.draggable.active?{...e,draggable:{...e.draggable,translate:{x:t.coordinates.x-e.draggable.initialCoordinates.x,y:t.coordinates.y-e.draggable.initialCoordinates.y}}}:e;case O.DragEnd:case O.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case O.RegisterDroppable:{const{element:n}=t,{id:r}=n,i=new ge(e.droppable.containers);return i.set(r,n),{...e,droppable:{...e.droppable,containers:i}}}case O.SetDroppableDisabled:{const{id:n,key:r,disabled:i}=t,o=e.droppable.containers.get(n);if(!o||r!==o.key)return e;const s=new ge(e.droppable.containers);return s.set(n,{...o,disabled:i}),{...e,droppable:{...e.droppable,containers:s}}}case O.UnregisterDroppable:{const{id:n,key:r}=t,i=e.droppable.containers.get(n);if(!i||r!==i.key)return e;const o=new ge(e.droppable.containers);return o.delete(n),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function Vn(e){let{disabled:t}=e;const{active:n,activatorEvent:r,draggableNodes:i}=l.useContext(ve),o=u.usePrevious(r),s=u.usePrevious(n==null?void 0:n.id);return l.useEffect(()=>{if(!t&&!r&&o&&s!=null){if(!u.isKeyboardEvent(o)||document.activeElement===o.target)return;const a=i.get(s);if(!a)return;const{activatorNode:c,node:d}=a;if(!c.current&&!d.current)return;requestAnimationFrame(()=>{for(const h of[c.current,d.current]){if(!h)continue;const f=u.findFirstFocusableNode(h);if(f){f.focus();break}}})}},[r,t,i,s,o]),null}function je(e,t){let{transform:n,...r}=t;return e!=null&&e.length?e.reduce((i,o)=>o({transform:i,...r}),n):n}function Jn(e){return l.useMemo(()=>({draggable:{...De.draggable,...e==null?void 0:e.draggable},droppable:{...De.droppable,...e==null?void 0:e.droppable},dragOverlay:{...De.dragOverlay,...e==null?void 0:e.dragOverlay}}),[e==null?void 0:e.draggable,e==null?void 0:e.droppable,e==null?void 0:e.dragOverlay])}function Gn(e){let{activeNode:t,measure:n,initialRect:r,config:i=!0}=e;const o=l.useRef(!1),{x:s,y:a}=typeof i=="boolean"?{x:i,y:i}:i;u.useIsomorphicLayoutEffect(()=>{if(!s&&!a||!t){o.current=!1;return}if(o.current||!r)return;const d=t==null?void 0:t.node.current;if(!d||d.isConnected===!1)return;const h=n(d),f=Et(h,r);if(s||(f.x=0),a||(f.y=0),o.current=!0,Math.abs(f.x)>0||Math.abs(f.y)>0){const v=Mt(d);v&&v.scrollBy({top:f.y,left:f.x})}},[t,s,a,r,n])}const Re=l.createContext({...P,scaleX:1,scaleY:1});var J;(function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Initializing=1]="Initializing",e[e.Initialized=2]="Initialized"})(J||(J={}));const Qn=l.memo(function(t){var n,r,i,o;let{id:s,accessibility:a,autoScroll:c=!0,children:d,sensors:h=qn,collisionDetection:f=St,measuring:v,modifiers:g,...D}=t;const p=l.useReducer(Hn,void 0,_n),[b,m]=p,[x,w]=Qt(),[A,S]=l.useState(J.Uninitialized),E=A===J.Initialized,{draggable:{active:y,nodes:C,translate:R},droppable:{containers:L}}=b,M=y?C.get(y):null,j=l.useRef({initial:null,translated:null}),q=l.useMemo(()=>{var T;return y!=null?{id:y,data:(T=M==null?void 0:M.data)!=null?T:Xn,rect:j}:null},[y,M]),Y=l.useRef(null),[qe,Xe]=l.useState(null),[X,Ye]=l.useState(null),ae=u.useLatestValue(D,Object.values(D)),Me=u.useUniqueId("DndDescribedBy",s),_e=l.useMemo(()=>L.getEnabled(),[L]),G=Jn(v),{droppableRects:ee,measureDroppableContainers:pe,measuringScheduled:He}=In(_e,{dragging:E,dependencies:[R.x,R.y],config:G.droppable}),B=Ln(C,y),Ve=l.useMemo(()=>X?u.getEventCoordinates(X):null,[X]),Je=Gt(),Ge=kn(B,G.draggable.measure);Gn({activeNode:y?C.get(y):null,config:Je.layoutShiftCompensation,initialRect:Ge,measure:G.draggable.measure});const F=gt(B,G.draggable.measure,Ge),Oe=gt(B?B.parentElement:null),Q=l.useRef({activatorEvent:null,active:null,activeNode:B,collisionRect:null,collisions:null,droppableRects:ee,draggableNodes:C,draggingNode:null,draggingNodeRect:null,droppableContainers:L,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),Qe=L.getNodeFor((n=Q.current.over)==null?void 0:n.id),Z=jn({measure:G.dragOverlay.measure}),be=(r=Z.nodeRef.current)!=null?r:B,te=E?(i=Z.rect)!=null?i:F:null,Ze=!!(Z.nodeRef.current&&Z.rect),et=Pn(Ze?null:F),Ae=Pt(be?u.getWindow(be):null),_=Bn(E?Qe??B:null),ye=$n(_),me=je(g,{transform:{x:R.x-et.x,y:R.y-et.y,scaleX:1,scaleY:1},activatorEvent:X,active:q,activeNodeRect:F,containerNodeRect:Oe,draggingNodeRect:te,over:Q.current.over,overlayNodeRect:Z.rect,scrollableAncestors:_,scrollableAncestorRects:ye,windowRect:Ae}),tt=Ve?u.add(Ve,R):null,nt=Fn(_),qt=pt(nt),Xt=pt(nt,[F]),ne=u.add(me,qt),re=te?dn(te,me):null,le=q&&re?f({active:q,collisionRect:re,droppableRects:ee,droppableContainers:_e,pointerCoordinates:tt}):null,rt=xt(le,"id"),[H,ot]=l.useState(null),Yt=Ze?me:u.add(me,Xt),_t=cn(Yt,(o=H==null?void 0:H.rect)!=null?o:null,F),it=l.useCallback((T,I)=>{let{sensor:k,options:V}=I;if(Y.current==null)return;const K=C.get(Y.current);if(!K)return;const W=T.nativeEvent,$=new k({active:Y.current,activeNode:K,event:W,options:V,context:Q,onStart(U){const ce=Y.current;if(ce==null)return;const ue=C.get(ce);if(!ue)return;const{onDragStart:we}=ae.current,Ce={active:{id:ce,data:ue.data,rect:j}};ie.unstable_batchedUpdates(()=>{we==null||we(Ce),S(J.Initializing),m({type:O.DragStart,initialCoordinates:U,active:ce}),x({type:"onDragStart",event:Ce})})},onMove(U){m({type:O.DragMove,coordinates:U})},onEnd:oe(O.DragEnd),onCancel:oe(O.DragCancel)});ie.unstable_batchedUpdates(()=>{Xe($),Ye(T.nativeEvent)});function oe(U){return async function(){const{active:ue,collisions:we,over:Ce,scrollAdjustedTranslate:at}=Q.current;let de=null;if(ue&&at){const{cancelDrop:fe}=ae.current;de={activatorEvent:W,active:ue,collisions:we,delta:at,over:Ce},U===O.DragEnd&&typeof fe=="function"&&await Promise.resolve(fe(de))&&(U=O.DragCancel)}Y.current=null,ie.unstable_batchedUpdates(()=>{m({type:U}),S(J.Uninitialized),ot(null),Xe(null),Ye(null);const fe=U===O.DragEnd?"onDragEnd":"onDragCancel";if(de){const Ne=ae.current[fe];Ne==null||Ne(de),x({type:fe,event:de})}})}}},[C]),Ht=l.useCallback((T,I)=>(k,V)=>{const K=k.nativeEvent,W=C.get(V);if(Y.current!==null||!W||K.dndKit||K.defaultPrevented)return;const $={active:W};T(k,I.options,$)===!0&&(K.dndKit={capturedBy:I.sensor},Y.current=V,it(k,I))},[C,it]),st=Tn(h,Ht);Wn(h),u.useIsomorphicLayoutEffect(()=>{F&&A===J.Initializing&&S(J.Initialized)},[F,A]),l.useEffect(()=>{const{onDragMove:T}=ae.current,{active:I,activatorEvent:k,collisions:V,over:K}=Q.current;if(!I||!k)return;const W={active:I,activatorEvent:k,collisions:V,delta:{x:ne.x,y:ne.y},over:K};ie.unstable_batchedUpdates(()=>{T==null||T(W),x({type:"onDragMove",event:W})})},[ne.x,ne.y]),l.useEffect(()=>{const{active:T,activatorEvent:I,collisions:k,droppableContainers:V,scrollAdjustedTranslate:K}=Q.current;if(!T||Y.current==null||!I||!K)return;const{onDragOver:W}=ae.current,$=V.get(rt),oe=$&&$.rect.current?{id:$.id,rect:$.rect.current,data:$.data,disabled:$.disabled}:null,U={active:T,activatorEvent:I,collisions:k,delta:{x:K.x,y:K.y},over:oe};ie.unstable_batchedUpdates(()=>{ot(oe),W==null||W(U),x({type:"onDragOver",event:U})})},[rt]),u.useIsomorphicLayoutEffect(()=>{Q.current={activatorEvent:X,active:q,activeNode:B,collisionRect:re,collisions:le,droppableRects:ee,draggableNodes:C,draggingNode:be,draggingNodeRect:te,droppableContainers:L,over:H,scrollableAncestors:_,scrollAdjustedTranslate:ne},j.current={initial:te,translated:re}},[q,B,le,re,C,be,te,ee,L,H,_,ne]),On({...Je,delta:R,draggingRect:re,pointerCoordinates:tt,scrollableAncestors:_,scrollableAncestorRects:ye});const Vt=l.useMemo(()=>({active:q,activeNode:B,activeNodeRect:F,activatorEvent:X,collisions:le,containerNodeRect:Oe,dragOverlay:Z,draggableNodes:C,droppableContainers:L,droppableRects:ee,over:H,measureDroppableContainers:pe,scrollableAncestors:_,scrollableAncestorRects:ye,measuringConfiguration:G,measuringScheduled:He,windowRect:Ae}),[q,B,F,X,le,Oe,Z,C,L,ee,H,pe,_,ye,G,He,Ae]),Jt=l.useMemo(()=>({activatorEvent:X,activators:st,active:q,activeNodeRect:F,ariaDescribedById:{draggable:Me},dispatch:m,draggableNodes:C,over:H,measureDroppableContainers:pe}),[X,st,q,F,m,Me,C,H,pe]);return l.createElement(mt.Provider,{value:w},l.createElement(ve.Provider,{value:Jt},l.createElement(Wt.Provider,{value:Vt},l.createElement(Re.Provider,{value:_t},d)),l.createElement(Vn,{disabled:(a==null?void 0:a.restoreFocus)===!1})),l.createElement(Zt,{...a,hiddenTextDescribedById:Me}));function Gt(){const T=(qe==null?void 0:qe.autoScrollEnabled)===!1,I=typeof c=="object"?c.enabled===!1:c===!1,k=E&&!T&&!I;return typeof c=="object"?{...c,enabled:k}:{enabled:k}}}),Zn=l.createContext(null),bt="button",er="Droppable";function tr(e){let{id:t,data:n,disabled:r=!1,attributes:i}=e;const o=u.useUniqueId(er),{activators:s,activatorEvent:a,active:c,activeNodeRect:d,ariaDescribedById:h,draggableNodes:f,over:v}=l.useContext(ve),{role:g=bt,roleDescription:D="draggable",tabIndex:p=0}=i??{},b=(c==null?void 0:c.id)===t,m=l.useContext(b?Re:Zn),[x,w]=u.useNodeRef(),[A,S]=u.useNodeRef(),E=Un(s,t),y=u.useLatestValue(n);u.useIsomorphicLayoutEffect(()=>(f.set(t,{id:t,key:o,node:x,activatorNode:A,data:y}),()=>{const R=f.get(t);R&&R.key===o&&f.delete(t)}),[f,t]);const C=l.useMemo(()=>({role:g,tabIndex:p,"aria-disabled":r,"aria-pressed":b&&g===bt?!0:void 0,"aria-roledescription":D,"aria-describedby":h.draggable}),[r,g,p,b,D,h.draggable]);return{active:c,activatorEvent:a,activeNodeRect:d,attributes:C,isDragging:b,listeners:r?void 0:E,node:x,over:v,setNodeRef:w,setActivatorNodeRef:S,transform:m}}function Ut(){return l.useContext(Wt)}const nr="Droppable",rr={timeout:25};function or(e){let{data:t,disabled:n=!1,id:r,resizeObserverConfig:i}=e;const o=u.useUniqueId(nr),{active:s,dispatch:a,over:c,measureDroppableContainers:d}=l.useContext(ve),h=l.useRef({disabled:n}),f=l.useRef(!1),v=l.useRef(null),g=l.useRef(null),{disabled:D,updateMeasurementsFor:p,timeout:b}={...rr,...i},m=u.useLatestValue(p??r),x=l.useCallback(()=>{if(!f.current){f.current=!0;return}g.current!=null&&clearTimeout(g.current),g.current=setTimeout(()=>{d(Array.isArray(m.current)?m.current:[m.current]),g.current=null},b)},[b]),w=Ee({callback:x,disabled:D||!s}),A=l.useCallback((C,R)=>{w&&(R&&(w.unobserve(R),f.current=!1),C&&w.observe(C))},[w]),[S,E]=u.useNodeRef(A),y=u.useLatestValue(t);return l.useEffect(()=>{!w||!S.current||(w.disconnect(),f.current=!1,w.observe(S.current))},[S,w]),u.useIsomorphicLayoutEffect(()=>(a({type:O.RegisterDroppable,element:{id:r,key:o,disabled:n,node:S,rect:v,data:y}}),()=>a({type:O.UnregisterDroppable,key:o,id:r})),[r]),l.useEffect(()=>{n!==h.current.disabled&&(a({type:O.SetDroppableDisabled,id:r,key:o,disabled:n}),h.current.disabled=n)},[r,o,n,a]),{active:s,rect:v,isOver:(c==null?void 0:c.id)===r,node:S,over:c,setNodeRef:E}}function ir(e){let{animation:t,children:n}=e;const[r,i]=l.useState(null),[o,s]=l.useState(null),a=u.usePrevious(n);return!n&&!r&&a&&i(a),u.useIsomorphicLayoutEffect(()=>{if(!o)return;const c=r==null?void 0:r.key,d=r==null?void 0:r.props.id;if(c==null||d==null){i(null);return}Promise.resolve(t(d,o)).then(()=>{i(null)})},[t,r,o]),l.createElement(l.Fragment,null,n,r?l.cloneElement(r,{ref:s}):null)}const sr={x:0,y:0,scaleX:1,scaleY:1};function ar(e){let{children:t}=e;return l.createElement(ve.Provider,{value:Ft},l.createElement(Re.Provider,{value:sr},t))}const lr={position:"fixed",touchAction:"none"},cr=e=>u.isKeyboardEvent(e)?"transform 250ms ease":void 0,ur=l.forwardRef((e,t)=>{let{as:n,activatorEvent:r,adjustScale:i,children:o,className:s,rect:a,style:c,transform:d,transition:h=cr}=e;if(!a)return null;const f=i?d:{...d,scaleX:1,scaleY:1},v={...lr,width:a.width,height:a.height,top:a.top,left:a.left,transform:u.CSS.Transform.toString(f),transformOrigin:i&&r?rn(r,a):void 0,transition:typeof h=="function"?h(r):h,...c};return l.createElement(n,{className:s,style:v,ref:t},o)}),$t=e=>t=>{let{active:n,dragOverlay:r}=t;const i={},{styles:o,className:s}=e;if(o!=null&&o.active)for(const[a,c]of Object.entries(o.active))c!==void 0&&(i[a]=n.node.style.getPropertyValue(a),n.node.style.setProperty(a,c));if(o!=null&&o.dragOverlay)for(const[a,c]of Object.entries(o.dragOverlay))c!==void 0&&r.node.style.setProperty(a,c);return s!=null&&s.active&&n.node.classList.add(s.active),s!=null&&s.dragOverlay&&r.node.classList.add(s.dragOverlay),function(){for(const[c,d]of Object.entries(i))n.node.style.setProperty(c,d);s!=null&&s.active&&n.node.classList.remove(s.active)}},dr=e=>{let{transform:{initial:t,final:n}}=e;return[{transform:u.CSS.Transform.toString(t)},{transform:u.CSS.Transform.toString(n)}]},jt={duration:250,easing:"ease",keyframes:dr,sideEffects:$t({styles:{active:{opacity:"0"}}})};function fr(e){let{config:t,draggableNodes:n,droppableContainers:r,measuringConfiguration:i}=e;return u.useEvent((o,s)=>{if(t===null)return;const a=n.get(o);if(!a)return;const c=a.node.current;if(!c)return;const d=Bt(s);if(!d)return;const{transform:h}=u.getWindow(s).getComputedStyle(s),f=Rt(h);if(!f)return;const v=typeof t=="function"?t:hr(t);return It(c,i.draggable.measure),v({active:{id:o,data:a.data,node:c,rect:i.draggable.measure(c)},draggableNodes:n,dragOverlay:{node:s,rect:i.dragOverlay.measure(d)},droppableContainers:r,measuringConfiguration:i,transform:f})})}function hr(e){const{duration:t,easing:n,sideEffects:r,keyframes:i}={...jt,...e};return o=>{let{active:s,dragOverlay:a,transform:c,...d}=o;if(!t)return;const h={x:a.rect.left-s.rect.left,y:a.rect.top-s.rect.top},f={scaleX:c.scaleX!==1?s.rect.width*c.scaleX/a.rect.width:1,scaleY:c.scaleY!==1?s.rect.height*c.scaleY/a.rect.height:1},v={x:c.x-h.x,y:c.y-h.y,...f},g=i({...d,active:s,dragOverlay:a,transform:{initial:c,final:v}}),[D]=g,p=g[g.length-1];if(JSON.stringify(D)===JSON.stringify(p))return;const b=r==null?void 0:r({active:s,dragOverlay:a,...d}),m=a.node.animate(g,{duration:t,easing:n,fill:"forwards"});return new Promise(x=>{m.onfinish=()=>{b==null||b(),x()}})}}let yt=0;function gr(e){return l.useMemo(()=>{if(e!=null)return yt++,yt},[e])}const vr=l.memo(e=>{let{adjustScale:t=!1,children:n,dropAnimation:r,style:i,transition:o,modifiers:s,wrapperElement:a="div",className:c,zIndex:d=999}=e;const{activatorEvent:h,active:f,activeNodeRect:v,containerNodeRect:g,draggableNodes:D,droppableContainers:p,dragOverlay:b,over:m,measuringConfiguration:x,scrollableAncestors:w,scrollableAncestorRects:A,windowRect:S}=Ut(),E=l.useContext(Re),y=gr(f==null?void 0:f.id),C=je(s,{activatorEvent:h,active:f,activeNodeRect:v,containerNodeRect:g,draggingNodeRect:b.rect,over:m,overlayNodeRect:b.rect,scrollableAncestors:w,scrollableAncestorRects:A,transform:E,windowRect:S}),R=$e(v),L=fr({config:r,draggableNodes:D,droppableContainers:p,measuringConfiguration:x}),M=R?b.setRef:void 0;return l.createElement(ar,null,l.createElement(ir,{animation:L},f&&y?l.createElement(ur,{key:y,id:f.id,ref:M,as:a,activatorEvent:h,adjustScale:t,className:c,transition:o,rect:R,style:{zIndex:d,...i},transform:C},n):null))});exports.DndContext=Qn;exports.DragOverlay=vr;exports.KeyboardSensor=Fe;exports.MouseSensor=Kt;exports.PointerSensor=Ue;exports.TouchSensor=zt;exports.applyModifiers=je;exports.closestCorners=an;exports.defaultAnnouncements=Dt;exports.defaultCoordinates=P;exports.defaultDropAnimation=jt;exports.defaultDropAnimationSideEffects=$t;exports.defaultScreenReaderInstructions=Ct;exports.getClientRect=se;exports.getFirstCollision=xt;exports.getScrollableAncestors=Se;exports.rectIntersection=St;exports.useDndContext=Ut;exports.useDndMonitor=wt;exports.useDraggable=tr;exports.useDroppable=or;exports.useSensor=en;exports.useSensors=tn;