@forsion/unit 2.12.2

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 (791) hide show
  1. package/LICENSE +223 -0
  2. package/README.md +101 -0
  3. package/backendWorker.mjs +273 -0
  4. package/main.mjs +3434 -0
  5. package/package.json +26 -0
  6. package/release.json +11 -0
  7. package/web/assets/ArtificialView-B4ESD4iK.js +1 -0
  8. package/web/assets/AutomationBuilder-sxWdUa0L.js +1 -0
  9. package/web/assets/CalendarConfigView-cCfo_EvZ.js +1 -0
  10. package/web/assets/CalendarView-wgLapctk.js +1 -0
  11. package/web/assets/CapabilityMenu-BQBsM638.js +1 -0
  12. package/web/assets/CapabilityMenu-CTIzmTJB.css +1 -0
  13. package/web/assets/ChatView-BIUk0OJd.css +1 -0
  14. package/web/assets/ChatView-C-jCJnyS.js +47 -0
  15. package/web/assets/CheckboxInput-BsaoUHZ0.js +1 -0
  16. package/web/assets/Chrome-CwFiDmre.js +1 -0
  17. package/web/assets/CodeView-j065KtVh.js +15 -0
  18. package/web/assets/DancingScript-Bold-latin-CWNX0RqN.woff2 +0 -0
  19. package/web/assets/DashboardGridView-Ck3LKkOb.css +1 -0
  20. package/web/assets/DashboardGridView-DXqe0vPd.js +17 -0
  21. package/web/assets/EventCard-BmDQkEj9.js +1 -0
  22. package/web/assets/ExcalidrawCanvas-4uYrLYin.css +1 -0
  23. package/web/assets/ExcalidrawCanvas-C3egkikA.js +1 -0
  24. package/web/assets/FloatingToc-CENybkAA.js +1 -0
  25. package/web/assets/HomepageView-BNabJQfP.css +1 -0
  26. package/web/assets/HomepageView-CRdhjLXu.js +1 -0
  27. package/web/assets/ImageStudioPanels-Dke7xf8E.js +3 -0
  28. package/web/assets/ImageStudioView-g38V8gaj.js +1 -0
  29. package/web/assets/InlineFiles-C_hjvn3u.js +1 -0
  30. package/web/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  31. package/web/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  32. package/web/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  33. package/web/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  34. package/web/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  35. package/web/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  36. package/web/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  37. package/web/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  38. package/web/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  39. package/web/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  40. package/web/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  41. package/web/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  42. package/web/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  43. package/web/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  44. package/web/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  45. package/web/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  46. package/web/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  47. package/web/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  48. package/web/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  49. package/web/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  50. package/web/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  51. package/web/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  52. package/web/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  53. package/web/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  54. package/web/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  55. package/web/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  56. package/web/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  57. package/web/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  58. package/web/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  59. package/web/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  60. package/web/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  61. package/web/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  62. package/web/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  63. package/web/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  64. package/web/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  65. package/web/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  66. package/web/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  67. package/web/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  68. package/web/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  69. package/web/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  70. package/web/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  71. package/web/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  72. package/web/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  73. package/web/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  74. package/web/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  75. package/web/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  76. package/web/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  77. package/web/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  78. package/web/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  79. package/web/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  80. package/web/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  81. package/web/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  82. package/web/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  83. package/web/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  84. package/web/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  85. package/web/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  86. package/web/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  87. package/web/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  88. package/web/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  89. package/web/assets/MarkdownBlock-DIjYEhTK.js +56 -0
  90. package/web/assets/ModelPill-BPlgovPo.js +1 -0
  91. package/web/assets/ModelPill-CzdNh7Mt.css +1 -0
  92. package/web/assets/MuseLibraryView-CenyTTim.js +2 -0
  93. package/web/assets/MuseView-d-iBk3sc.js +6 -0
  94. package/web/assets/PageHistoryPanel-CR-k1AM7.js +2 -0
  95. package/web/assets/PageHistoryPanel-DFjh0pWs.css +1 -0
  96. package/web/assets/PdfAnnotator-CGzC_o1Q.css +1 -0
  97. package/web/assets/PdfAnnotator-D79ip27w.js +560 -0
  98. package/web/assets/ProductView-u2aezVsl.js +1 -0
  99. package/web/assets/RightPanel-C3OJTIqT.js +4 -0
  100. package/web/assets/RunLocationPicker-BNcZ7KKF.css +1 -0
  101. package/web/assets/RunLocationPicker-CTYXUH2z.js +34 -0
  102. package/web/assets/SidebarRow-BuSkKH5q.js +9 -0
  103. package/web/assets/SidebarRow-CsWEqPKX.css +1 -0
  104. package/web/assets/SketchCard-D87GADyG.js +437 -0
  105. package/web/assets/StudioGuestSurface-BijU_EEb.js +1 -0
  106. package/web/assets/TodoListView-DPPVpPUn.js +1 -0
  107. package/web/assets/Tooltip-DY4ISA-e.js +1 -0
  108. package/web/assets/UnifiedPage-CKNtVD_n.js +57 -0
  109. package/web/assets/UnifiedPage-DX_sTpyZ.css +1 -0
  110. package/web/assets/amadeus-manual.en-DWaN2fPs.js +3515 -0
  111. package/web/assets/amadeus-manual.zh--7D5TS8X.js +3515 -0
  112. package/web/assets/apl-B4CMkyY2.js +1 -0
  113. package/web/assets/appStore-Dg9WALEA.js +3080 -0
  114. package/web/assets/appStore-Di8LXuJ9.css +1 -0
  115. package/web/assets/approvalText-Cy2UAUAQ.js +2 -0
  116. package/web/assets/arrow-up-right-CpQs92mu.js +1 -0
  117. package/web/assets/artificial-BzLFkChP.css +1 -0
  118. package/web/assets/asciiarmor-Df11BRmG.js +1 -0
  119. package/web/assets/asn1-EdZsLKOL.js +1 -0
  120. package/web/assets/asterisk-B-8jnY81.js +1 -0
  121. package/web/assets/astryxBridge-BZhaZPs4.js +70 -0
  122. package/web/assets/astryxBridge-CF_hpqC2.css +1 -0
  123. package/web/assets/automationListSource-DP5xZBxo.js +1 -0
  124. package/web/assets/brainfuck-C4LP7Hcl.js +1 -0
  125. package/web/assets/calendarNavStore-C7fGRpoH.js +1 -0
  126. package/web/assets/canvasPrefs-BeG4oEgP.js +1 -0
  127. package/web/assets/chatBoxSurface-zvcyfrxE.js +1 -0
  128. package/web/assets/circle-question-mark-WL3vbp-Z.js +1 -0
  129. package/web/assets/circle-x-D7s-M5sB.js +1 -0
  130. package/web/assets/client-BSKpsyAw.js +9 -0
  131. package/web/assets/clike-B9uivgTg.js +1 -0
  132. package/web/assets/clojure-BMjYHr_A.js +1 -0
  133. package/web/assets/cmake-BQqOBYOt.js +1 -0
  134. package/web/assets/cobol-CWcv1MsR.js +1 -0
  135. package/web/assets/code-xml-BALV9u_c.js +1 -0
  136. package/web/assets/codeStudioStore-C2mWfm32.js +22 -0
  137. package/web/assets/coffeescript-S37ZYGWr.js +1 -0
  138. package/web/assets/commonlisp-DBKNyK5s.js +1 -0
  139. package/web/assets/create-4xUyKtAF.js +14 -0
  140. package/web/assets/create-BgE3edmZ.css +1 -0
  141. package/web/assets/crystal-SjHAIU92.js +1 -0
  142. package/web/assets/css-BnMrqG3P.js +1 -0
  143. package/web/assets/cursor-editorTextHighlight-kG3uUOwL.svg +8 -0
  144. package/web/assets/cypher-C_CwsFkJ.js +1 -0
  145. package/web/assets/d-pRatUO7H.js +1 -0
  146. package/web/assets/dashboardSurface-CFTH5z4c.js +1 -0
  147. package/web/assets/deskCapture-Df701U8L.js +1 -0
  148. package/web/assets/diff-DbItnlRl.js +1 -0
  149. package/web/assets/diff2html-BV-zCH4d.js +111 -0
  150. package/web/assets/dockerfile-BKs6k2Af.js +1 -0
  151. package/web/assets/docx-preview-DW4IyU_Q.js +22 -0
  152. package/web/assets/dtd-DF_7sFjM.js +1 -0
  153. package/web/assets/dylan-DwRh75JA.js +1 -0
  154. package/web/assets/ebnf-CDyGwa7X.js +1 -0
  155. package/web/assets/ecl-Cabwm37j.js +1 -0
  156. package/web/assets/eiffel-CnydiIhH.js +1 -0
  157. package/web/assets/ellipsis-r1EcXsFq.js +1 -0
  158. package/web/assets/elm-vLlmbW-K.js +1 -0
  159. package/web/assets/emoji-DGaxpCIu.js +1 -0
  160. package/web/assets/erlang-BNw1qcRV.js +1 -0
  161. package/web/assets/factor-kuTfRLto.js +1 -0
  162. package/web/assets/fcl-Kvtd6kyn.js +1 -0
  163. package/web/assets/floatingTocSurface-C6RJ6i41.js +1 -0
  164. package/web/assets/foldActions-B7KByFdN.js +1 -0
  165. package/web/assets/folder-DlxnPmWY.js +1 -0
  166. package/web/assets/folder-plus-D1TDb7k9.js +1 -0
  167. package/web/assets/forsion-logo-dark-DnB9JTdv.svg +5 -0
  168. package/web/assets/forsion-logo-light-DhkEeB4V.svg +11 -0
  169. package/web/assets/forth-Ffai-XNe.js +1 -0
  170. package/web/assets/fortran-DYz_wnZ1.js +1 -0
  171. package/web/assets/frame-_xBVYe3P.js +1 -0
  172. package/web/assets/gas-Bneqetm1.js +1 -0
  173. package/web/assets/gestures-CkW1Kfs9.js +1 -0
  174. package/web/assets/gherkin-heZmZLOM.js +1 -0
  175. package/web/assets/groovy-D9Dt4D0W.js +1 -0
  176. package/web/assets/hack2gate-dark-Dx2RtDRI.jpg +0 -0
  177. package/web/assets/hack2gate-light-DRKq9tyS.jpg +0 -0
  178. package/web/assets/hand-Crrw-nSn.js +1 -0
  179. package/web/assets/hard-drive-BbyVSbfP.js +1 -0
  180. package/web/assets/haskell-Cw1EW3IL.js +1 -0
  181. package/web/assets/haxe-H-WmDvRZ.js +1 -0
  182. package/web/assets/http-DBlCnlav.js +1 -0
  183. package/web/assets/i18n-D-eU58uw.css +1 -0
  184. package/web/assets/i18n.generated-Bbsz16cl.js +15 -0
  185. package/web/assets/idl-BEugSyMb.js +1 -0
  186. package/web/assets/imageStudio-BqbNOvpu.css +1 -0
  187. package/web/assets/imageStudio-C_Rs630L.js +2 -0
  188. package/web/assets/index--drOLtq7.js +1 -0
  189. package/web/assets/index-BCZZVJ_w.js +1 -0
  190. package/web/assets/index-BCubCwdT.js +1 -0
  191. package/web/assets/index-BRW82CsP.js +6 -0
  192. package/web/assets/index-BYsdKR_1.js +1 -0
  193. package/web/assets/index-Brik2pf9.js +1 -0
  194. package/web/assets/index-C6GJulug.js +13 -0
  195. package/web/assets/index-C7U6T-k8.js +1 -0
  196. package/web/assets/index-CF4RV4mh.js +298 -0
  197. package/web/assets/index-CflzrdSt.js +1 -0
  198. package/web/assets/index-Cmr7gVZQ.js +1 -0
  199. package/web/assets/index-CqyM6tQ0.js +1 -0
  200. package/web/assets/index-CzM-C2Sd.js +1 -0
  201. package/web/assets/index-Czu_bbDM.js +1 -0
  202. package/web/assets/index-D1f_JwPH.js +1 -0
  203. package/web/assets/index-DKhyDkGB.js +7 -0
  204. package/web/assets/index-DUWR2nZi.js +1 -0
  205. package/web/assets/index-DZfZTksa.js +1 -0
  206. package/web/assets/index-Dg9oixs4.js +1 -0
  207. package/web/assets/index-DjzSBM0U.js +2 -0
  208. package/web/assets/index-KL5Rj9kP.js +1 -0
  209. package/web/assets/index-OHi69jDq.js +3 -0
  210. package/web/assets/index-SZ5waGAq.js +1 -0
  211. package/web/assets/index-gPSbFSUn.js +1 -0
  212. package/web/assets/index-tAXBa_fN.js +1 -0
  213. package/web/assets/invitePage-lLQ-e0pj.js +19 -0
  214. package/web/assets/ipc-DQOD2UKk.js +1 -0
  215. package/web/assets/javascript-iXu5QeM3.js +1 -0
  216. package/web/assets/jszip.min-DZxV9uZ_.js +2 -0
  217. package/web/assets/julia-DuME0IfC.js +1 -0
  218. package/web/assets/layout-grid-B_pjJwz4.js +1 -0
  219. package/web/assets/linkFollow-C0_3k_PC.js +8 -0
  220. package/web/assets/list-tree-DkAJYEXd.js +1 -0
  221. package/web/assets/listFold-BsOVn9UZ.js +1 -0
  222. package/web/assets/livescript-BwQOo05w.js +1 -0
  223. package/web/assets/lock-BnGHxjeE.js +1 -0
  224. package/web/assets/log-out-DBuMeqik.js +1 -0
  225. package/web/assets/lua-VAEuO923.js +1 -0
  226. package/web/assets/main-Dki8NlsT.js +21 -0
  227. package/web/assets/main-NgUPPqDn.css +1 -0
  228. package/web/assets/markdownEditorSurface-B4PeUzed.js +3 -0
  229. package/web/assets/markdownEditorSurface-Bql20IAf.css +1 -0
  230. package/web/assets/mathematica-DTrFuWx2.js +1 -0
  231. package/web/assets/mbox-CNhZ1qSd.js +1 -0
  232. package/web/assets/mdMarkStore-CsKl7C8O.js +2 -0
  233. package/web/assets/mdMarks-Bq7Hl-4C.js +1 -0
  234. package/web/assets/message-square-plus-BiAZAvcw.js +1 -0
  235. package/web/assets/messages-BH5MfQdZ.js +1 -0
  236. package/web/assets/minus-Cyv1YzOU.js +1 -0
  237. package/web/assets/mirc-CjQqDB4T.js +1 -0
  238. package/web/assets/mllike-CXdrOF99.js +1 -0
  239. package/web/assets/mobileEntry-Bd_nKr0D.js +13 -0
  240. package/web/assets/mobileEntry-DS1vohuL.css +1 -0
  241. package/web/assets/modelica-Dc1JOy9r.js +1 -0
  242. package/web/assets/mscgen-BA5vi2Kp.js +1 -0
  243. package/web/assets/mumps-BT43cFF4.js +1 -0
  244. package/web/assets/nativeDownload-D-f1_L2S.js +1 -0
  245. package/web/assets/nginx-DdIZxoE0.js +1 -0
  246. package/web/assets/nsis-LdVXkNf5.js +1 -0
  247. package/web/assets/ntriples-BfvgReVJ.js +1 -0
  248. package/web/assets/octave-Ck1zUtKM.js +1 -0
  249. package/web/assets/oz-BzwKVEFT.js +1 -0
  250. package/web/assets/pageChrome-C9_azUYW.js +1 -0
  251. package/web/assets/pageChrome-xLNdFaSg.css +1 -0
  252. package/web/assets/pageTree-CZH2J6cc.js +7 -0
  253. package/web/assets/panel-left-rOc8As0s.js +1 -0
  254. package/web/assets/pascal--L3eBynH.js +1 -0
  255. package/web/assets/pdf-C2_sJa3b.js +57 -0
  256. package/web/assets/pdf.worker.min-CGb3BKV9.js +1 -0
  257. package/web/assets/pdf.worker.min-Dr1KORA9.mjs +31 -0
  258. package/web/assets/pen-line-m6_HvWZ9.js +1 -0
  259. package/web/assets/pen-tool-lkmBqliH.js +1 -0
  260. package/web/assets/pencil-Cvk91P_Z.js +1 -0
  261. package/web/assets/perl-CdXCOZ3F.js +1 -0
  262. package/web/assets/pig-CevX1Tat.js +1 -0
  263. package/web/assets/pluginExt-Byb64tQO.js +1 -0
  264. package/web/assets/powershell-CFHJl5sT.js +1 -0
  265. package/web/assets/properties-C78fOPTZ.js +1 -0
  266. package/web/assets/protobuf-ChK-085T.js +1 -0
  267. package/web/assets/pug-DeIclll2.js +1 -0
  268. package/web/assets/puppet-DMA9R1ak.js +1 -0
  269. package/web/assets/python-BuPzkPfP.js +1 -0
  270. package/web/assets/q-pXgVlZs6.js +1 -0
  271. package/web/assets/r-B6wPVr8A.js +1 -0
  272. package/web/assets/redo-2-DSi54z4e.js +1 -0
  273. package/web/assets/rotate-ccw-CUlnplr0.js +1 -0
  274. package/web/assets/rpm-CTu-6PCP.js +1 -0
  275. package/web/assets/ruby-B2Rjki9n.js +1 -0
  276. package/web/assets/sas-B4kiWyti.js +1 -0
  277. package/web/assets/scheme-C41bIUwD.js +1 -0
  278. package/web/assets/sharePage-MM6UpPJ9.js +2 -0
  279. package/web/assets/shareViewer-CDZ8lTdy.js +345 -0
  280. package/web/assets/shareViewer-DLVrwanO.css +1 -0
  281. package/web/assets/shell-CjFT_Tl9.js +1 -0
  282. package/web/assets/sieve-C3Gn_uJK.js +1 -0
  283. package/web/assets/simple-mode-GW_nhZxv.js +1 -0
  284. package/web/assets/smalltalk-CnHTOXQT.js +1 -0
  285. package/web/assets/solr-DehyRSwq.js +1 -0
  286. package/web/assets/sparql-DkYu6x3z.js +1 -0
  287. package/web/assets/spreadsheet-BCZA_wO0.js +1 -0
  288. package/web/assets/sql-D0XecflT.js +1 -0
  289. package/web/assets/star-CwDiGyUW.js +1 -0
  290. package/web/assets/stex-C3f8Ysf7.js +1 -0
  291. package/web/assets/sticky-note-BIuPUSOU.js +1 -0
  292. package/web/assets/stylus-B533Al4x.js +1 -0
  293. package/web/assets/swift-BzpIVaGY.js +1 -0
  294. package/web/assets/tableSurface-CDNa0QFp.css +1 -0
  295. package/web/assets/tableSurface-Y_JBQsuz.js +1 -0
  296. package/web/assets/tcl-DVfN8rqt.js +1 -0
  297. package/web/assets/terminal-DIXogYJY.js +1 -0
  298. package/web/assets/terminalView-B3aZSsrQ.js +12 -0
  299. package/web/assets/terminalView-DFuMZ0ql.css +1 -0
  300. package/web/assets/textile-CnDTJFAw.js +1 -0
  301. package/web/assets/theme-DfEi_DND.css +1 -0
  302. package/web/assets/theme-OMpAfNto.css +1 -0
  303. package/web/assets/tiddlywiki-DO-Gjzrf.js +1 -0
  304. package/web/assets/tiki-DGYXhP31.js +1 -0
  305. package/web/assets/toml-Bm5Em-hy.js +1 -0
  306. package/web/assets/troff-wAsdV37c.js +1 -0
  307. package/web/assets/ttcn-CfJYG6tj.js +1 -0
  308. package/web/assets/ttcn-cfg-B9xdYoR4.js +1 -0
  309. package/web/assets/turtle-B1tBg_DP.js +1 -0
  310. package/web/assets/type-Cqoabh7H.js +1 -0
  311. package/web/assets/undo-2-tUKCv5Gs.js +1 -0
  312. package/web/assets/unitAccount-D8lVwaaT.js +1 -0
  313. package/web/assets/unitBridge-D547ublk.js +1 -0
  314. package/web/assets/unitCloudTransport-BVF6lVp4.js +1 -0
  315. package/web/assets/unitOwnerAccess-BfnEjsZb.js +1 -0
  316. package/web/assets/unitShim-DxetRgmP.js +5 -0
  317. package/web/assets/upload-BbeAsMuD.js +1 -0
  318. package/web/assets/userSpaces-DyyAn7vj.js +1 -0
  319. package/web/assets/vb-CmGdzxic.js +1 -0
  320. package/web/assets/vbscript-BuJXcnF6.js +1 -0
  321. package/web/assets/velocity-D8B20fx6.js +1 -0
  322. package/web/assets/verilog-C6RDOZhf.js +1 -0
  323. package/web/assets/vhdl-lSbBsy5d.js +1 -0
  324. package/web/assets/viewportLock-C4SX-9PO.js +103 -0
  325. package/web/assets/viewportLock-DYSe7Jsn.css +1 -0
  326. package/web/assets/waves-horizontal-B8ZpHQ5H.js +1 -0
  327. package/web/assets/webidl-ZXfAyPTL.js +1 -0
  328. package/web/assets/workflow-DuoVRSSX.js +1 -0
  329. package/web/assets/xlsx-CNerDvZX.js +105 -0
  330. package/web/assets/xquery-DzFWVndE.js +1 -0
  331. package/web/assets/yacas-BJ4BC0dw.js +1 -0
  332. package/web/assets/z80-Hz9HOZM7.js +1 -0
  333. package/web/assets/zoom-in-hr5bRpDL.js +1 -0
  334. package/web/excalidraw/excalidraw.css +1 -0
  335. package/web/excalidraw/excalidraw.js +579 -0
  336. package/web/excalidraw/fonts/Assistant/Assistant-Bold.woff2 +0 -0
  337. package/web/excalidraw/fonts/Assistant/Assistant-Medium.woff2 +0 -0
  338. package/web/excalidraw/fonts/Assistant/Assistant-Regular.woff2 +0 -0
  339. package/web/excalidraw/fonts/Assistant/Assistant-SemiBold.woff2 +0 -0
  340. package/web/excalidraw/fonts/Cascadia/CascadiaCode-Regular.woff2 +0 -0
  341. package/web/excalidraw/fonts/ComicShanns/ComicShanns-Regular-279a7b317d12eb88de06167bd672b4b4.woff2 +0 -0
  342. package/web/excalidraw/fonts/ComicShanns/ComicShanns-Regular-6e066e8de2ac57ea9283adb9c24d7f0c.woff2 +0 -0
  343. package/web/excalidraw/fonts/ComicShanns/ComicShanns-Regular-dc6a8806fa96795d7b3be5026f989a17.woff2 +0 -0
  344. package/web/excalidraw/fonts/ComicShanns/ComicShanns-Regular-fcb0fc02dcbee4c9846b3e2508668039.woff2 +0 -0
  345. package/web/excalidraw/fonts/Excalifont/Excalifont-Regular-349fac6ca4700ffec595a7150a0d1e1d.woff2 +0 -0
  346. package/web/excalidraw/fonts/Excalifont/Excalifont-Regular-3f2c5db56cc93c5a6873b1361d730c16.woff2 +0 -0
  347. package/web/excalidraw/fonts/Excalifont/Excalifont-Regular-41b173a47b57366892116a575a43e2b6.woff2 +0 -0
  348. package/web/excalidraw/fonts/Excalifont/Excalifont-Regular-623ccf21b21ef6b3a0d87738f77eb071.woff2 +0 -0
  349. package/web/excalidraw/fonts/Excalifont/Excalifont-Regular-a88b72a24fb54c9f94e3b5fdaa7481c9.woff2 +0 -0
  350. package/web/excalidraw/fonts/Excalifont/Excalifont-Regular-b9dcf9d2e50a1eaf42fc664b50a3fd0d.woff2 +0 -0
  351. package/web/excalidraw/fonts/Excalifont/Excalifont-Regular-be310b9bcd4f1a43f571c46df7809174.woff2 +0 -0
  352. package/web/excalidraw/fonts/Liberation/LiberationSans-Regular.woff2 +0 -0
  353. package/web/excalidraw/fonts/Lilita/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYE98RXi4EwSsbg.woff2 +0 -0
  354. package/web/excalidraw/fonts/Lilita/Lilita-Regular-i7dPIFZ9Zz-WBtRtedDbYEF8RXi4EwQ.woff2 +0 -0
  355. package/web/excalidraw/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTA3j6zbXWjgevT5.woff2 +0 -0
  356. package/web/excalidraw/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTQ3j6zbXWjgeg.woff2 +0 -0
  357. package/web/excalidraw/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTk3j6zbXWjgevT5.woff2 +0 -0
  358. package/web/excalidraw/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTo3j6zbXWjgevT5.woff2 +0 -0
  359. package/web/excalidraw/fonts/Nunito/Nunito-Regular-XRXI3I6Li01BKofiOc5wtlZ2di8HDIkhdTs3j6zbXWjgevT5.woff2 +0 -0
  360. package/web/excalidraw/fonts/Virgil/Virgil-Regular.woff2 +0 -0
  361. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-019d66dcad46dc156b162d267f981c20.woff2 +0 -0
  362. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-04b718e5623574919c8b0dea5f301444.woff2 +0 -0
  363. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-069e77aac84590e2e991d0a0176d34f2.woff2 +0 -0
  364. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-06c77b8c66e51ed6c63ccb502dd8b8af.woff2 +0 -0
  365. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-08e0dc436ad0ad61ba5558db0674d762.woff2 +0 -0
  366. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-093b9ef39a46ceae95a1df18a0a3a326.woff2 +0 -0
  367. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-095c169f3314805276f603a362766abd.woff2 +0 -0
  368. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-09850c4077f3fffe707905872e0e2460.woff2 +0 -0
  369. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-0986d134c05864f5025962eef9f994a0.woff2 +0 -0
  370. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-0b5d723fdc4e249c140f0909e87d03b4.woff2 +0 -0
  371. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-0f626226ba1272e832aea87bafd9720e.woff2 +0 -0
  372. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-0f7fb1e0d5015bb1371343153ecf7ce3.woff2 +0 -0
  373. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-0fa55a080fcd0f9dc2e0b0058b793df8.woff2 +0 -0
  374. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-0facdf1ea213ba40261022f5d5ed4493.woff2 +0 -0
  375. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-10a7ae9a371830a80c3d844acf1c02d7.woff2 +0 -0
  376. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-112c051027b2d766c19a519f6ee1f4f7.woff2 +0 -0
  377. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-11c345711937f0ba4b8f7b6b919c8440.woff2 +0 -0
  378. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-12b52b58eb3df36804b9a654ec9ee194.woff2 +0 -0
  379. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-13ae07ed2e272d26d59bc0691cd7117a.woff2 +0 -0
  380. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-13d2887ec8ee73c43acdabc52a05af7b.woff2 +0 -0
  381. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-145aa02cdd91946e67dc934e1acffe75.woff2 +0 -0
  382. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-15dc6d811c9cd078f9086a740d5a1038.woff2 +0 -0
  383. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-173945821411c09f70c95f98d590e697.woff2 +0 -0
  384. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-1b611157cd46bb184d4fa4dae2d6a2b8.woff2 +0 -0
  385. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-1e6fd68f1f3902ce48ce8c69df385622.woff2 +0 -0
  386. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-1ee544f0f1dac422545c505baa788992.woff2 +0 -0
  387. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-1fdc0c67ed57263a80fd108c1f6ccf24.woff2 +0 -0
  388. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-203b0e569e3b14aac86a003dc3fa523e.woff2 +0 -0
  389. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-20cc1bbf50e7efb442756cb605672c1f.woff2 +0 -0
  390. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-20e7bf72fa05de9adf7dbcc7bf51dde6.woff2 +0 -0
  391. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-21430ee05a1248901da8d0de08744d47.woff2 +0 -0
  392. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-23686f7f29da6e8008c36dd3a80c83d6.woff2 +0 -0
  393. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-23ad2d71b280f00b1363b95b7bea94eb.woff2 +0 -0
  394. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-23f228f3999c01983860012330e4be08.woff2 +0 -0
  395. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-24476a126f129212beb33f66853ea151.woff2 +0 -0
  396. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-24a21c1e4449222e8d1898d69ff3a404.woff2 +0 -0
  397. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-25b7f38e18f035f96cb5e547bd2bd08c.woff2 +0 -0
  398. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-29cec36cd205b211da97acabaa62f055.woff2 +0 -0
  399. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-2a26d20a23b00898ce82f09d2ee47c3f.woff2 +0 -0
  400. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-2adbc89c11e65905393d3dfc468b9d5b.woff2 +0 -0
  401. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-2b7441d46298788ac94e610ffcc709b6.woff2 +0 -0
  402. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-2b77e8ebfb2367ab2662396a60e7d320.woff2 +0 -0
  403. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-2cf96d082d35ea3d8106851223ad0d16.woff2 +0 -0
  404. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-2d43040e86ff03ba677f6f9c04cd0805.woff2 +0 -0
  405. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-2e33e8dc771ef5e1d9127d60a6b73679.woff2 +0 -0
  406. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-33432927cd87d40cfe393c7482bf221f.woff2 +0 -0
  407. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-353f33792a8f60dc69323ddf635a269e.woff2 +0 -0
  408. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-36925dfe329a45086cbb7fc5c20d45ac.woff2 +0 -0
  409. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-3717077e38f98d89eae729b6c14e56dc.woff2 +0 -0
  410. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-3756e81d3e149cf6099163ee79944fec.woff2 +0 -0
  411. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-395c35dd584b56b0789f58a0559beaf1.woff2 +0 -0
  412. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-3c9de2ae0ea4bc91a510942dfa4be8d2.woff2 +0 -0
  413. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-3cc70dbb64df5b21f1326cc24dee2195.woff2 +0 -0
  414. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-3e1f8f654357353bf0e04ba5c34b5f7f.woff2 +0 -0
  415. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-3e63ed8162808a9e425ed80a8bc79114.woff2 +0 -0
  416. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-3eaa538115d76932653c21d8dc28f207.woff2 +0 -0
  417. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-4095eb84ef3874e2600247bee0b04026.woff2 +0 -0
  418. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-41521fade99856108931b4768b1b2648.woff2 +0 -0
  419. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-450da755d5bcb70906e1295e559b9602.woff2 +0 -0
  420. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-452225341522a7942f0f6aab1a5c91a3.woff2 +0 -0
  421. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-4535823663ad81405188a528d8f2b1a2.woff2 +0 -0
  422. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-4806e761d750087c2d734fc64596eaff.woff2 +0 -0
  423. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-4a0fdb40036e87b40aa08dd30584cb85.woff2 +0 -0
  424. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-4a38cc3e9cf104e69ba246d37f8cf135.woff2 +0 -0
  425. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-4aca6a43e59aceee2166b0c7e4e85ef1.woff2 +0 -0
  426. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-4bfaa8ffa64c5ee560aa2daba7c9cbd3.woff2 +0 -0
  427. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-4dc6d5f188d5c96d44815cd1e81aa885.woff2 +0 -0
  428. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-4ddc14ed3eb0c3e46364317dfc0144a3.woff2 +0 -0
  429. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-4ee10ae43505e2e0bc62656ced49c0fa.woff2 +0 -0
  430. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-4f50e5136e136527280bc902c5817561.woff2 +0 -0
  431. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-51502f1206be09c565f1547c406e9558.woff2 +0 -0
  432. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-51a0e808bbc8361236ac521a119758a3.woff2 +0 -0
  433. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-52a84a22fd1369bffeaf21da2d6158dc.woff2 +0 -0
  434. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-5330a2119a716e4e7224ed108b085dac.woff2 +0 -0
  435. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-543fa46ace099a7099dad69123399400.woff2 +0 -0
  436. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-544fc28abe2c5c30e62383fd4dac255f.woff2 +0 -0
  437. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-54acdfc2166ad7fcbd074f75fd4a56ba.woff2 +0 -0
  438. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-5572b3513ba8df57a3d5d7303ee6b11b.woff2 +0 -0
  439. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-56467a5c8840c4d23a60b2f935114848.woff2 +0 -0
  440. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-56a32a7689abd0326e57c10c6c069bb4.woff2 +0 -0
  441. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-57862b464a55b18c7bf234ce22907d73.woff2 +0 -0
  442. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-583d166e56ba0de4b77eabb47ef67839.woff2 +0 -0
  443. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-5882ffa04f32584d26109137e2da4352.woff2 +0 -0
  444. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-58fd02350d0bc52cf1ca3bb32ce9766e.woff2 +0 -0
  445. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-5935a5775af3d5c6307ac667bd9ae74e.woff2 +0 -0
  446. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-59e9ff77b0efaf684bc09274fb6908c9.woff2 +0 -0
  447. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-5a1ce3117cfe90c48e8fb4a9a00f694d.woff2 +0 -0
  448. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-5a45d991244d4c7140217e1e5f5ca4f4.woff2 +0 -0
  449. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-5a7fac4b8b23a6e4e5ba0c9bf1756c91.woff2 +0 -0
  450. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-5b0ed6971aaab9c8ad563230bd5471a7.woff2 +0 -0
  451. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-5d2898fbc097a7e24c6f38d80587621e.woff2 +0 -0
  452. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-603aefd23e350ba7eb124273e3c9bcf1.woff2 +0 -0
  453. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-60a3089806700d379f11827ee9843b6b.woff2 +0 -0
  454. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-60a41c7e1c68f22424e6d22df544bc82.woff2 +0 -0
  455. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-642b26e2e5f5fb780b51b593dbc8c851.woff2 +0 -0
  456. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-66493ba5a8367f2928812f446f47b56a.woff2 +0 -0
  457. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-670ba603758d94268e8606f240a42e12.woff2 +0 -0
  458. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-671a2c20b1eb9e4ef8a192833940e319.woff2 +0 -0
  459. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-684d65f1793cac449dde5d59cb3c47fb.woff2 +0 -0
  460. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-69c09cc5fa3e55c74fc4821f76909cc3.woff2 +0 -0
  461. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-6ae5b42180ad70b971c91e7eefb8eba2.woff2 +0 -0
  462. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-6e092f71c1e634059ada0e52abadce67.woff2 +0 -0
  463. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-6f3256af8454371776bc46670d33cc65.woff2 +0 -0
  464. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-6fe5c5973cc06f74b2387a631ea36b88.woff2 +0 -0
  465. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-70c2eb8d64e71a42a834eb857ea9df51.woff2 +0 -0
  466. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-70e811fd7994e61f408c923de6ddd078.woff2 +0 -0
  467. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-7197d6fda6cba7c3874c53d6381ca239.woff2 +0 -0
  468. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-72252d73220fa3cd856677888cee1635.woff2 +0 -0
  469. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-72536a3d71b694a0d53dd90ddceae41e.woff2 +0 -0
  470. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-726303e0774b4e678bff8c2deb6ca603.woff2 +0 -0
  471. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-733171b4ffcd17ea1fe1c0ba627173bf.woff2 +0 -0
  472. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-739bc1a567439c7cffcd1614644593d2.woff2 +0 -0
  473. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-73e309718fd16cea44b4d54a33581811.woff2 +0 -0
  474. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-7494dc504ae00ee9cd0505f990f88c5d.woff2 +0 -0
  475. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-74e2263a91439c25b91d5132ce9f4d62.woff2 +0 -0
  476. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-761d05e3cd968cf574166867998ef06a.woff2 +0 -0
  477. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-7718fe60986d8b42b1be9c5ace5ccf25.woff2 +0 -0
  478. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-774d4f764a1299da5d28ec2f2ffe0d69.woff2 +0 -0
  479. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-79d494361ae093b69e74ee9dbe65bfd4.woff2 +0 -0
  480. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-79f007c1c6d07557120982951ea67998.woff2 +0 -0
  481. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-7a07ddc0f0c0f5f4a9bad6ee3dda66b5.woff2 +0 -0
  482. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-7ab2bed91166a9dca83a5ebfbe2a7f38.woff2 +0 -0
  483. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-7ccce86603f80a099ddb0cb21d4ae3e3.woff2 +0 -0
  484. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-7e4bde7e9c7f84cd34d8a845e384c746.woff2 +0 -0
  485. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-7e929f262f30c8ee78bf398150b1a7cd.woff2 +0 -0
  486. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-7eb9fffd1aa890d07d0f88cc82e6cfe4.woff2 +0 -0
  487. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-7f855356ab893b0d2b9c1c83b8116f0e.woff2 +0 -0
  488. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-829615148e6357d826b9242eb7fbbd1e.woff2 +0 -0
  489. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-866fa7613df6b3fd272bcfd4530c0bb9.woff2 +0 -0
  490. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-87599f94b6cc129d505b375798d0d751.woff2 +0 -0
  491. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-8c2f33cee3993174f7e87c28e4bf42ee.woff2 +0 -0
  492. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-8d3bcabb847b56243b16afe62adaaf21.woff2 +0 -0
  493. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-8de5b863cb50dfefdd07cb11c774d579.woff2 +0 -0
  494. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-8e9f97f01034820170065b2921b4fb5e.woff2 +0 -0
  495. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-8f476c4c99813d57cbe6eca4727388ad.woff2 +0 -0
  496. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-903bb6865f3452e2fda42e3a25547bc5.woff2 +0 -0
  497. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-91ddb2969bf2d31ba02ad82998d1314c.woff2 +0 -0
  498. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-938d90c10ff8c20386af7f242c05d6b0.woff2 +0 -0
  499. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-93fc8f28a33234bcadf1527cafabd502.woff2 +0 -0
  500. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-95429962233afd82db1c27df1500a28c.woff2 +0 -0
  501. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-9544732d2e62d1a429674f8ee41b5d3a.woff2 +0 -0
  502. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-9592bfc861f07bcb8d75c196b370e548.woff2 +0 -0
  503. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-95bfd249da4902577b4b7d76ebdd0b44.woff2 +0 -0
  504. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-968cffdc8ee679da094e77ebf50f58ef.woff2 +0 -0
  505. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-97f7f48ce90c9429bf32ae51469db74d.woff2 +0 -0
  506. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-982b630266d87db93d2539affb1275c6.woff2 +0 -0
  507. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-98f2ad84457de7f3740d9920b8fa8667.woff2 +0 -0
  508. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-99a16ef6a64934d5781933dbd9c46b2e.woff2 +0 -0
  509. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-9cfb2a77a4e45025105ad29a1748b90d.woff2 +0 -0
  510. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-9d81066dd2b337c938df6e90380a00dc.woff2 +0 -0
  511. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-9eb5a99df4e76ac3363453ac9ca288b1.woff2 +0 -0
  512. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-a004ddfcb26e67bd6e678c8ed19e25ce.woff2 +0 -0
  513. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-a0ca5df4258213d7fc9fce80f65ce760.woff2 +0 -0
  514. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-a1f916d6039285c4ffb900cd654e418f.woff2 +0 -0
  515. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-a203b91dad570bf05a58c3c3ddb529bf.woff2 +0 -0
  516. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-a365e82ed54697a52f27adcea1315fe8.woff2 +0 -0
  517. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-a4c34be6d42152e64b0df90bc4607f64.woff2 +0 -0
  518. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-a7accba310e821da5505f71c03b76bdb.woff2 +0 -0
  519. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-aa0d470430e6391eca720c7cfa44446f.woff2 +0 -0
  520. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-aa5c9ca6cf4fba00433b7aa3fa10671a.woff2 +0 -0
  521. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-ac9ceb44437becc3e9c4dbfebab7fc2d.woff2 +0 -0
  522. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-b1220a3c61f85cc0408deedb4c5f57a2.woff2 +0 -0
  523. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-b358f7a51ece39a3247942b1feabdb29.woff2 +0 -0
  524. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-b57aaedfd8ebdf3931f25119dc6a5eb2.woff2 +0 -0
  525. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-b5c1596551c256e0e9cf02028595b092.woff2 +0 -0
  526. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-b6d128682ee29e471486354d486a1b90.woff2 +0 -0
  527. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-b6fd38ca30869792244804b04bc058da.woff2 +0 -0
  528. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-b7d203b051eff504ff59ddca7576b6a9.woff2 +0 -0
  529. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-b96d9226ce77ec94ceca043d712182e6.woff2 +0 -0
  530. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-ba3de316d63c7e339987b16f41a0b879.woff2 +0 -0
  531. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-bafff7a14c27403dcc6cf1432e8ea836.woff2 +0 -0
  532. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-bd77e3c7f9e0b072d96af37f73d1aa32.woff2 +0 -0
  533. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-be549ab72f0719d606a5c01e2c0219b6.woff2 +0 -0
  534. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-c16ed9740b85badf16e86ea782a3062f.woff2 +0 -0
  535. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-c1f94158256bb1f3bf665b053d895af9.woff2 +0 -0
  536. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-c40533fdf4cc57177b12803598af7e59.woff2 +0 -0
  537. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-c4a687ac4f0c2766eefc9f77ed99cddf.woff2 +0 -0
  538. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-c69f61a4ab18d0488c8d1fc12e7028e8.woff2 +0 -0
  539. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-c8b71798409ccc126ee264a00aadcf21.woff2 +0 -0
  540. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-c99eda15fc26a2941579560f76c3a5cf.woff2 +0 -0
  541. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-cb17fc3db95f6d139afc9d31a8e93293.woff2 +0 -0
  542. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-cbaaefaaf326668277aa24dfa93c4d28.woff2 +0 -0
  543. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-cd145ce4a0ea18469358df53c207bc1b.woff2 +0 -0
  544. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-cdbce89e82cc1ab53a2decbf5819278f.woff2 +0 -0
  545. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-ce4884f96f11589608b76b726a755803.woff2 +0 -0
  546. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-cf2cc71752631e579e35b0e423bf2638.woff2 +0 -0
  547. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-cf6ff4e0f491ca0cf3038187a997b9b4.woff2 +0 -0
  548. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-cfb211578629b7e8153b37240de6a9d5.woff2 +0 -0
  549. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-d0cf73942fea1c74edbdf0b3011f4656.woff2 +0 -0
  550. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-d2666cbed13462c5dc36fa2f15c202ca.woff2 +0 -0
  551. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-d3716376641d615e2995605b29bca7b6.woff2 +0 -0
  552. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-dac48066b5883d8b4551fc584f0c2a3e.woff2 +0 -0
  553. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-dbea1af6dcd9860be40c3d18254338f5.woff2 +0 -0
  554. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-e11567fd2accf9957cd0d3c2be937d87.woff2 +0 -0
  555. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-e2ead7ea7da0437f085f42ffc05f8d13.woff2 +0 -0
  556. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-e3fcf5180fd466c8915c4e8069491054.woff2 +0 -0
  557. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-e480d9c614742d05f0e78f274f1e69e6.woff2 +0 -0
  558. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-e4bca6cfa53e499cae0a6be4894a90e9.woff2 +0 -0
  559. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-e51ef413167c6e14e0c0fdcc585f2fc9.woff2 +0 -0
  560. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-e5f453bb04da18eed01675eeebd88bf8.woff2 +0 -0
  561. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-e656f091b9dc4709722c9f4b84d3c797.woff2 +0 -0
  562. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-ec181b795ac1fb5a50d700b6e996d745.woff2 +0 -0
  563. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-ee8bae97908d5147b423f77ad0d3c1bb.woff2 +0 -0
  564. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-f0f13b5c60e0af5553bd359f5513be1b.woff2 +0 -0
  565. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-f2b54d4e7be0eaefe1c2c56836fa5368.woff2 +0 -0
  566. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-f56414bf9bced67990def8660e306759.woff2 +0 -0
  567. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-f5d079153c99a25b9be5b8583c4cc8a7.woff2 +0 -0
  568. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-f6032fc06eb20480f096199713f70885.woff2 +0 -0
  569. package/web/excalidraw/fonts/Xiaolai/Xiaolai-Regular-f8ee5d36068a42b51d0e4a1116cfcec1.woff2 +0 -0
  570. package/web/fonts/LICENSE-_fontsource-variable_inter.txt +93 -0
  571. package/web/fonts/LICENSE-_fontsource-variable_jetbrains-mono.txt +93 -0
  572. package/web/fonts/LICENSE-_fontsource_lxgw-wenkai.txt +94 -0
  573. package/web/fonts/LICENSE-_fontsource_noto-sans-sc.txt +93 -0
  574. package/web/fonts/files/inter-cyrillic-ext-wght-normal.woff2 +0 -0
  575. package/web/fonts/files/inter-cyrillic-wght-normal.woff2 +0 -0
  576. package/web/fonts/files/inter-greek-ext-wght-normal.woff2 +0 -0
  577. package/web/fonts/files/inter-greek-wght-normal.woff2 +0 -0
  578. package/web/fonts/files/inter-latin-ext-wght-normal.woff2 +0 -0
  579. package/web/fonts/files/inter-latin-wght-normal.woff2 +0 -0
  580. package/web/fonts/files/inter-vietnamese-wght-normal.woff2 +0 -0
  581. package/web/fonts/files/jetbrains-mono-cyrillic-ext-wght-normal.woff2 +0 -0
  582. package/web/fonts/files/jetbrains-mono-cyrillic-wght-normal.woff2 +0 -0
  583. package/web/fonts/files/jetbrains-mono-greek-wght-normal.woff2 +0 -0
  584. package/web/fonts/files/jetbrains-mono-latin-ext-wght-normal.woff2 +0 -0
  585. package/web/fonts/files/jetbrains-mono-latin-wght-normal.woff2 +0 -0
  586. package/web/fonts/files/jetbrains-mono-vietnamese-wght-normal.woff2 +0 -0
  587. package/web/fonts/files/lxgw-wenkai-latin-500-normal.woff2 +0 -0
  588. package/web/fonts/files/noto-sans-sc-100-400-normal.woff2 +0 -0
  589. package/web/fonts/files/noto-sans-sc-100-700-normal.woff2 +0 -0
  590. package/web/fonts/files/noto-sans-sc-101-400-normal.woff2 +0 -0
  591. package/web/fonts/files/noto-sans-sc-101-700-normal.woff2 +0 -0
  592. package/web/fonts/files/noto-sans-sc-102-400-normal.woff2 +0 -0
  593. package/web/fonts/files/noto-sans-sc-102-700-normal.woff2 +0 -0
  594. package/web/fonts/files/noto-sans-sc-103-400-normal.woff2 +0 -0
  595. package/web/fonts/files/noto-sans-sc-103-700-normal.woff2 +0 -0
  596. package/web/fonts/files/noto-sans-sc-104-400-normal.woff2 +0 -0
  597. package/web/fonts/files/noto-sans-sc-104-700-normal.woff2 +0 -0
  598. package/web/fonts/files/noto-sans-sc-105-400-normal.woff2 +0 -0
  599. package/web/fonts/files/noto-sans-sc-105-700-normal.woff2 +0 -0
  600. package/web/fonts/files/noto-sans-sc-106-400-normal.woff2 +0 -0
  601. package/web/fonts/files/noto-sans-sc-106-700-normal.woff2 +0 -0
  602. package/web/fonts/files/noto-sans-sc-107-400-normal.woff2 +0 -0
  603. package/web/fonts/files/noto-sans-sc-107-700-normal.woff2 +0 -0
  604. package/web/fonts/files/noto-sans-sc-108-400-normal.woff2 +0 -0
  605. package/web/fonts/files/noto-sans-sc-108-700-normal.woff2 +0 -0
  606. package/web/fonts/files/noto-sans-sc-109-400-normal.woff2 +0 -0
  607. package/web/fonts/files/noto-sans-sc-109-700-normal.woff2 +0 -0
  608. package/web/fonts/files/noto-sans-sc-110-400-normal.woff2 +0 -0
  609. package/web/fonts/files/noto-sans-sc-110-700-normal.woff2 +0 -0
  610. package/web/fonts/files/noto-sans-sc-111-400-normal.woff2 +0 -0
  611. package/web/fonts/files/noto-sans-sc-111-700-normal.woff2 +0 -0
  612. package/web/fonts/files/noto-sans-sc-112-400-normal.woff2 +0 -0
  613. package/web/fonts/files/noto-sans-sc-112-700-normal.woff2 +0 -0
  614. package/web/fonts/files/noto-sans-sc-113-400-normal.woff2 +0 -0
  615. package/web/fonts/files/noto-sans-sc-113-700-normal.woff2 +0 -0
  616. package/web/fonts/files/noto-sans-sc-114-400-normal.woff2 +0 -0
  617. package/web/fonts/files/noto-sans-sc-114-700-normal.woff2 +0 -0
  618. package/web/fonts/files/noto-sans-sc-115-400-normal.woff2 +0 -0
  619. package/web/fonts/files/noto-sans-sc-115-700-normal.woff2 +0 -0
  620. package/web/fonts/files/noto-sans-sc-116-400-normal.woff2 +0 -0
  621. package/web/fonts/files/noto-sans-sc-116-700-normal.woff2 +0 -0
  622. package/web/fonts/files/noto-sans-sc-117-400-normal.woff2 +0 -0
  623. package/web/fonts/files/noto-sans-sc-117-700-normal.woff2 +0 -0
  624. package/web/fonts/files/noto-sans-sc-118-400-normal.woff2 +0 -0
  625. package/web/fonts/files/noto-sans-sc-118-700-normal.woff2 +0 -0
  626. package/web/fonts/files/noto-sans-sc-119-400-normal.woff2 +0 -0
  627. package/web/fonts/files/noto-sans-sc-119-700-normal.woff2 +0 -0
  628. package/web/fonts/files/noto-sans-sc-21-400-normal.woff2 +0 -0
  629. package/web/fonts/files/noto-sans-sc-21-700-normal.woff2 +0 -0
  630. package/web/fonts/files/noto-sans-sc-22-400-normal.woff2 +0 -0
  631. package/web/fonts/files/noto-sans-sc-22-700-normal.woff2 +0 -0
  632. package/web/fonts/files/noto-sans-sc-23-400-normal.woff2 +0 -0
  633. package/web/fonts/files/noto-sans-sc-23-700-normal.woff2 +0 -0
  634. package/web/fonts/files/noto-sans-sc-24-400-normal.woff2 +0 -0
  635. package/web/fonts/files/noto-sans-sc-24-700-normal.woff2 +0 -0
  636. package/web/fonts/files/noto-sans-sc-25-400-normal.woff2 +0 -0
  637. package/web/fonts/files/noto-sans-sc-25-700-normal.woff2 +0 -0
  638. package/web/fonts/files/noto-sans-sc-26-400-normal.woff2 +0 -0
  639. package/web/fonts/files/noto-sans-sc-26-700-normal.woff2 +0 -0
  640. package/web/fonts/files/noto-sans-sc-27-400-normal.woff2 +0 -0
  641. package/web/fonts/files/noto-sans-sc-27-700-normal.woff2 +0 -0
  642. package/web/fonts/files/noto-sans-sc-28-400-normal.woff2 +0 -0
  643. package/web/fonts/files/noto-sans-sc-28-700-normal.woff2 +0 -0
  644. package/web/fonts/files/noto-sans-sc-29-400-normal.woff2 +0 -0
  645. package/web/fonts/files/noto-sans-sc-29-700-normal.woff2 +0 -0
  646. package/web/fonts/files/noto-sans-sc-30-400-normal.woff2 +0 -0
  647. package/web/fonts/files/noto-sans-sc-30-700-normal.woff2 +0 -0
  648. package/web/fonts/files/noto-sans-sc-31-400-normal.woff2 +0 -0
  649. package/web/fonts/files/noto-sans-sc-31-700-normal.woff2 +0 -0
  650. package/web/fonts/files/noto-sans-sc-32-400-normal.woff2 +0 -0
  651. package/web/fonts/files/noto-sans-sc-32-700-normal.woff2 +0 -0
  652. package/web/fonts/files/noto-sans-sc-33-400-normal.woff2 +0 -0
  653. package/web/fonts/files/noto-sans-sc-33-700-normal.woff2 +0 -0
  654. package/web/fonts/files/noto-sans-sc-34-400-normal.woff2 +0 -0
  655. package/web/fonts/files/noto-sans-sc-34-700-normal.woff2 +0 -0
  656. package/web/fonts/files/noto-sans-sc-35-400-normal.woff2 +0 -0
  657. package/web/fonts/files/noto-sans-sc-35-700-normal.woff2 +0 -0
  658. package/web/fonts/files/noto-sans-sc-36-400-normal.woff2 +0 -0
  659. package/web/fonts/files/noto-sans-sc-36-700-normal.woff2 +0 -0
  660. package/web/fonts/files/noto-sans-sc-37-400-normal.woff2 +0 -0
  661. package/web/fonts/files/noto-sans-sc-37-700-normal.woff2 +0 -0
  662. package/web/fonts/files/noto-sans-sc-38-400-normal.woff2 +0 -0
  663. package/web/fonts/files/noto-sans-sc-38-700-normal.woff2 +0 -0
  664. package/web/fonts/files/noto-sans-sc-39-400-normal.woff2 +0 -0
  665. package/web/fonts/files/noto-sans-sc-39-700-normal.woff2 +0 -0
  666. package/web/fonts/files/noto-sans-sc-4-400-normal.woff2 +0 -0
  667. package/web/fonts/files/noto-sans-sc-4-700-normal.woff2 +0 -0
  668. package/web/fonts/files/noto-sans-sc-40-400-normal.woff2 +0 -0
  669. package/web/fonts/files/noto-sans-sc-40-700-normal.woff2 +0 -0
  670. package/web/fonts/files/noto-sans-sc-41-400-normal.woff2 +0 -0
  671. package/web/fonts/files/noto-sans-sc-41-700-normal.woff2 +0 -0
  672. package/web/fonts/files/noto-sans-sc-42-400-normal.woff2 +0 -0
  673. package/web/fonts/files/noto-sans-sc-42-700-normal.woff2 +0 -0
  674. package/web/fonts/files/noto-sans-sc-43-400-normal.woff2 +0 -0
  675. package/web/fonts/files/noto-sans-sc-43-700-normal.woff2 +0 -0
  676. package/web/fonts/files/noto-sans-sc-44-400-normal.woff2 +0 -0
  677. package/web/fonts/files/noto-sans-sc-44-700-normal.woff2 +0 -0
  678. package/web/fonts/files/noto-sans-sc-45-400-normal.woff2 +0 -0
  679. package/web/fonts/files/noto-sans-sc-45-700-normal.woff2 +0 -0
  680. package/web/fonts/files/noto-sans-sc-46-400-normal.woff2 +0 -0
  681. package/web/fonts/files/noto-sans-sc-46-700-normal.woff2 +0 -0
  682. package/web/fonts/files/noto-sans-sc-47-400-normal.woff2 +0 -0
  683. package/web/fonts/files/noto-sans-sc-47-700-normal.woff2 +0 -0
  684. package/web/fonts/files/noto-sans-sc-48-400-normal.woff2 +0 -0
  685. package/web/fonts/files/noto-sans-sc-48-700-normal.woff2 +0 -0
  686. package/web/fonts/files/noto-sans-sc-49-400-normal.woff2 +0 -0
  687. package/web/fonts/files/noto-sans-sc-49-700-normal.woff2 +0 -0
  688. package/web/fonts/files/noto-sans-sc-5-400-normal.woff2 +0 -0
  689. package/web/fonts/files/noto-sans-sc-5-700-normal.woff2 +0 -0
  690. package/web/fonts/files/noto-sans-sc-50-400-normal.woff2 +0 -0
  691. package/web/fonts/files/noto-sans-sc-50-700-normal.woff2 +0 -0
  692. package/web/fonts/files/noto-sans-sc-51-400-normal.woff2 +0 -0
  693. package/web/fonts/files/noto-sans-sc-51-700-normal.woff2 +0 -0
  694. package/web/fonts/files/noto-sans-sc-52-400-normal.woff2 +0 -0
  695. package/web/fonts/files/noto-sans-sc-52-700-normal.woff2 +0 -0
  696. package/web/fonts/files/noto-sans-sc-53-400-normal.woff2 +0 -0
  697. package/web/fonts/files/noto-sans-sc-53-700-normal.woff2 +0 -0
  698. package/web/fonts/files/noto-sans-sc-54-400-normal.woff2 +0 -0
  699. package/web/fonts/files/noto-sans-sc-54-700-normal.woff2 +0 -0
  700. package/web/fonts/files/noto-sans-sc-55-400-normal.woff2 +0 -0
  701. package/web/fonts/files/noto-sans-sc-55-700-normal.woff2 +0 -0
  702. package/web/fonts/files/noto-sans-sc-56-400-normal.woff2 +0 -0
  703. package/web/fonts/files/noto-sans-sc-56-700-normal.woff2 +0 -0
  704. package/web/fonts/files/noto-sans-sc-57-400-normal.woff2 +0 -0
  705. package/web/fonts/files/noto-sans-sc-57-700-normal.woff2 +0 -0
  706. package/web/fonts/files/noto-sans-sc-58-400-normal.woff2 +0 -0
  707. package/web/fonts/files/noto-sans-sc-58-700-normal.woff2 +0 -0
  708. package/web/fonts/files/noto-sans-sc-59-400-normal.woff2 +0 -0
  709. package/web/fonts/files/noto-sans-sc-59-700-normal.woff2 +0 -0
  710. package/web/fonts/files/noto-sans-sc-6-400-normal.woff2 +0 -0
  711. package/web/fonts/files/noto-sans-sc-6-700-normal.woff2 +0 -0
  712. package/web/fonts/files/noto-sans-sc-60-400-normal.woff2 +0 -0
  713. package/web/fonts/files/noto-sans-sc-60-700-normal.woff2 +0 -0
  714. package/web/fonts/files/noto-sans-sc-61-400-normal.woff2 +0 -0
  715. package/web/fonts/files/noto-sans-sc-61-700-normal.woff2 +0 -0
  716. package/web/fonts/files/noto-sans-sc-62-400-normal.woff2 +0 -0
  717. package/web/fonts/files/noto-sans-sc-62-700-normal.woff2 +0 -0
  718. package/web/fonts/files/noto-sans-sc-63-400-normal.woff2 +0 -0
  719. package/web/fonts/files/noto-sans-sc-63-700-normal.woff2 +0 -0
  720. package/web/fonts/files/noto-sans-sc-64-400-normal.woff2 +0 -0
  721. package/web/fonts/files/noto-sans-sc-64-700-normal.woff2 +0 -0
  722. package/web/fonts/files/noto-sans-sc-65-400-normal.woff2 +0 -0
  723. package/web/fonts/files/noto-sans-sc-65-700-normal.woff2 +0 -0
  724. package/web/fonts/files/noto-sans-sc-66-400-normal.woff2 +0 -0
  725. package/web/fonts/files/noto-sans-sc-66-700-normal.woff2 +0 -0
  726. package/web/fonts/files/noto-sans-sc-67-400-normal.woff2 +0 -0
  727. package/web/fonts/files/noto-sans-sc-67-700-normal.woff2 +0 -0
  728. package/web/fonts/files/noto-sans-sc-68-400-normal.woff2 +0 -0
  729. package/web/fonts/files/noto-sans-sc-68-700-normal.woff2 +0 -0
  730. package/web/fonts/files/noto-sans-sc-69-400-normal.woff2 +0 -0
  731. package/web/fonts/files/noto-sans-sc-69-700-normal.woff2 +0 -0
  732. package/web/fonts/files/noto-sans-sc-70-400-normal.woff2 +0 -0
  733. package/web/fonts/files/noto-sans-sc-70-700-normal.woff2 +0 -0
  734. package/web/fonts/files/noto-sans-sc-71-400-normal.woff2 +0 -0
  735. package/web/fonts/files/noto-sans-sc-71-700-normal.woff2 +0 -0
  736. package/web/fonts/files/noto-sans-sc-72-400-normal.woff2 +0 -0
  737. package/web/fonts/files/noto-sans-sc-72-700-normal.woff2 +0 -0
  738. package/web/fonts/files/noto-sans-sc-73-400-normal.woff2 +0 -0
  739. package/web/fonts/files/noto-sans-sc-73-700-normal.woff2 +0 -0
  740. package/web/fonts/files/noto-sans-sc-74-400-normal.woff2 +0 -0
  741. package/web/fonts/files/noto-sans-sc-74-700-normal.woff2 +0 -0
  742. package/web/fonts/files/noto-sans-sc-75-400-normal.woff2 +0 -0
  743. package/web/fonts/files/noto-sans-sc-75-700-normal.woff2 +0 -0
  744. package/web/fonts/files/noto-sans-sc-76-400-normal.woff2 +0 -0
  745. package/web/fonts/files/noto-sans-sc-76-700-normal.woff2 +0 -0
  746. package/web/fonts/files/noto-sans-sc-77-400-normal.woff2 +0 -0
  747. package/web/fonts/files/noto-sans-sc-77-700-normal.woff2 +0 -0
  748. package/web/fonts/files/noto-sans-sc-78-400-normal.woff2 +0 -0
  749. package/web/fonts/files/noto-sans-sc-78-700-normal.woff2 +0 -0
  750. package/web/fonts/files/noto-sans-sc-79-400-normal.woff2 +0 -0
  751. package/web/fonts/files/noto-sans-sc-79-700-normal.woff2 +0 -0
  752. package/web/fonts/files/noto-sans-sc-80-400-normal.woff2 +0 -0
  753. package/web/fonts/files/noto-sans-sc-80-700-normal.woff2 +0 -0
  754. package/web/fonts/files/noto-sans-sc-81-400-normal.woff2 +0 -0
  755. package/web/fonts/files/noto-sans-sc-81-700-normal.woff2 +0 -0
  756. package/web/fonts/files/noto-sans-sc-82-400-normal.woff2 +0 -0
  757. package/web/fonts/files/noto-sans-sc-82-700-normal.woff2 +0 -0
  758. package/web/fonts/files/noto-sans-sc-83-400-normal.woff2 +0 -0
  759. package/web/fonts/files/noto-sans-sc-83-700-normal.woff2 +0 -0
  760. package/web/fonts/files/noto-sans-sc-84-400-normal.woff2 +0 -0
  761. package/web/fonts/files/noto-sans-sc-84-700-normal.woff2 +0 -0
  762. package/web/fonts/files/noto-sans-sc-85-400-normal.woff2 +0 -0
  763. package/web/fonts/files/noto-sans-sc-85-700-normal.woff2 +0 -0
  764. package/web/fonts/files/noto-sans-sc-86-400-normal.woff2 +0 -0
  765. package/web/fonts/files/noto-sans-sc-86-700-normal.woff2 +0 -0
  766. package/web/fonts/files/noto-sans-sc-87-400-normal.woff2 +0 -0
  767. package/web/fonts/files/noto-sans-sc-87-700-normal.woff2 +0 -0
  768. package/web/fonts/files/noto-sans-sc-88-400-normal.woff2 +0 -0
  769. package/web/fonts/files/noto-sans-sc-88-700-normal.woff2 +0 -0
  770. package/web/fonts/files/noto-sans-sc-89-400-normal.woff2 +0 -0
  771. package/web/fonts/files/noto-sans-sc-89-700-normal.woff2 +0 -0
  772. package/web/fonts/files/noto-sans-sc-90-400-normal.woff2 +0 -0
  773. package/web/fonts/files/noto-sans-sc-90-700-normal.woff2 +0 -0
  774. package/web/fonts/files/noto-sans-sc-91-400-normal.woff2 +0 -0
  775. package/web/fonts/files/noto-sans-sc-91-700-normal.woff2 +0 -0
  776. package/web/fonts/files/noto-sans-sc-97-400-normal.woff2 +0 -0
  777. package/web/fonts/files/noto-sans-sc-97-700-normal.woff2 +0 -0
  778. package/web/fonts/files/noto-sans-sc-98-400-normal.woff2 +0 -0
  779. package/web/fonts/files/noto-sans-sc-98-700-normal.woff2 +0 -0
  780. package/web/fonts/files/noto-sans-sc-99-400-normal.woff2 +0 -0
  781. package/web/fonts/files/noto-sans-sc-99-700-normal.woff2 +0 -0
  782. package/web/fonts/files/noto-sans-sc-cyrillic-400-normal.woff2 +0 -0
  783. package/web/fonts/files/noto-sans-sc-cyrillic-700-normal.woff2 +0 -0
  784. package/web/fonts/files/noto-sans-sc-latin-400-normal.woff2 +0 -0
  785. package/web/fonts/files/noto-sans-sc-latin-700-normal.woff2 +0 -0
  786. package/web/fonts/files/noto-sans-sc-latin-ext-400-normal.woff2 +0 -0
  787. package/web/fonts/files/noto-sans-sc-latin-ext-700-normal.woff2 +0 -0
  788. package/web/fonts/files/noto-sans-sc-vietnamese-400-normal.woff2 +0 -0
  789. package/web/fonts/files/noto-sans-sc-vietnamese-700-normal.woff2 +0 -0
  790. package/web/fonts/fonts.css +2163 -0
  791. package/web/index.html +266 -0
@@ -0,0 +1 @@
1
+ import{u as C,d as e,j as t}from"./index-CF4RV4mh.js";import{lC as k,an as y,ar as E,lD as R,i as P,a2 as A,gD as I,at as z,aO as O,hA as q,hB as B}from"./appStore-Dg9WALEA.js";import{S as F}from"./StudioGuestSurface-BijU_EEb.js";import{u as L}from"./codeStudioStore-C2mWfm32.js";/* empty css */import{C as T}from"./code-xml-BALV9u_c.js";import"./nativeDownload-D-f1_L2S.js";import"./ipc-DQOD2UKk.js";import"./client-BSKpsyAw.js";function K({leaf:d,params:N}){const{t:a}=C(),r=k(N),[i,u]=e.useState("loading"),[p,S]=e.useState(""),[c,f]=e.useState(null),x=e.useRef(null),v=e.useRef(null),l=e.useRef(0),h=y(s=>s.spaces.some(o=>o.id==="coding"))&&!!E("code-studio"),b=e.useCallback(async s=>{const o=window.tangu?.productsGet;if(!(!r||!o))try{const n=await o(r);s===l.current&&n&&f(n)}catch{}},[r]),m=e.useCallback(async()=>{const s=window.tangu?.productsServe;if(!r||!s){u("gone");return}const o=++l.current;u("loading");try{const n=await s(r);if(o!==l.current)return;S(n.url),f(n.product),u("ready")}catch(n){if(o!==l.current)return;const g=R(n);u(g),g==="unservable"&&b(o)}},[r,b]);e.useEffect(()=>(m(),()=>{l.current++}),[m]),e.useEffect(()=>{c&&d.setTitle(c.name)},[d,c]);const w=e.useCallback(()=>P.getState().activateLeaf(d.id),[d.id]),j=e.useCallback(s=>{A("coding"),requestAnimationFrame(()=>{L.getState().openProject(s.root,s.name)})},[]);return t.jsxs("div",{className:"art-product","data-product-view":!0,"data-product-id":r??"","data-status":i,children:[t.jsxs("div",{className:"art-bar",children:[t.jsx("span",{className:"art-bar-name",children:c?.name??a("view.product")}),t.jsx("button",{className:"btn ghost sm","data-action":"reload",title:a("artificial.product.reload"),"aria-label":a("artificial.product.reload"),disabled:i==="unservable",onClick:()=>i==="ready"?v.current?.reload():void m(),children:t.jsx(I,{size:14})}),t.jsx("button",{className:"btn ghost sm","data-action":"external",title:a("artificial.product.openExternal"),"aria-label":a("artificial.product.openExternal"),disabled:!p,onClick:()=>{window.tangu?.openExternal?.(p)},children:t.jsx(z,{size:14})}),h&&c&&t.jsx("button",{className:"btn ghost sm","data-action":"edit",title:a("artificial.action.edit"),"aria-label":a("artificial.action.edit"),onClick:()=>j(c),children:t.jsx(T,{size:14})})]}),i==="loading"&&t.jsxs("div",{className:"art-state",role:"status","data-state":"loading",children:[t.jsx(O,{size:16,className:"spin"})," ",a("artificial.product.loading")]}),i==="gone"&&t.jsx("div",{className:"art-state",role:"alert","data-state":"gone",children:t.jsx("div",{className:"art-state-title",children:a("artificial.product.gone")})}),i==="unservable"&&t.jsxs("div",{className:"art-state",role:"alert","data-state":"unservable",children:[t.jsx("div",{className:"art-state-title",children:a("artificial.product.unservable")}),t.jsx("p",{children:a("artificial.product.unservableBody")}),h&&c&&t.jsx("button",{className:"btn sm","data-action":"edit-instead",onClick:()=>j(c),children:a("artificial.action.edit")})]}),i==="error"&&t.jsxs("div",{className:"art-state",role:"alert","data-state":"error",children:[t.jsx("div",{className:"art-state-title",children:a("artificial.product.failed")}),t.jsx("button",{className:"btn sm","data-action":"retry",onClick:()=>{m()},children:a("common.retry")})]}),i==="ready"&&t.jsxs(t.Fragment,{children:[t.jsx("div",{ref:x,className:"art-anchor"}),t.jsx(F,{anchorRef:x,onActivate:w,children:t.jsx("div",{className:"art-guest",children:t.jsx(q,{ref:s=>{v.current=s},className:"art-frame","data-product-id":r??"",src:p,partition:B,allowpopups:"true"})})})]})]})}export{K as ProductView};
@@ -0,0 +1,4 @@
1
+ import{z as pe,b3 as Pe,fG as Le,U as $e,B as Oe,aO as $,lt as Be,cd as T,aJ as X,bp as Re,a8 as _e,Y as He,lu as Ue,C as We,at as ie,aF as he,aI as Ge,au as qe,K as me,N as fe,jL as ge,k6 as Ke,lv as Ve,k as U,fW as Ye,lw as Xe,ag as Je,cp as Qe,cn as xe,aQ as ye,lx as Ze,k7 as le,k8 as et,k9 as ve,aP as tt,ly as nt,kc as st}from"./appStore-Dg9WALEA.js";import{c as at}from"./nativeDownload-D-f1_L2S.js";import{u as P,d as g,j as o,R as rt,O as ot}from"./index-CF4RV4mh.js";import{B as it,F as ce}from"./folder-DlxnPmWY.js";import{F as lt}from"./folder-plus-D1TDb7k9.js";import{U as ct}from"./upload-BbeAsMuD.js";import{P as dt}from"./pencil-Cvk91P_Z.js";const ut=[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]],Gt=pe("check-check",ut);const pt=[["path",{d:"M14 9 9 4 4 9",key:"1af5af"}],["path",{d:"M20 20h-7a4 4 0 0 1-4-4V4",key:"1blwi3"}]],ht=pe("corner-left-up",pt),we=new Set(["image/png","image/jpeg","image/webp","image/gif"]),mt=20*1024*1024;function ft(e){return{version:2,id:crypto.randomUUID(),name:e,updatedAt:Date.now(),sessionId:null,images:[],elements:[],order:[],collected:[]}}function qt(e,s,n){const a=Math.min(1,360/Math.max(e,s));return{x:n.length?Math.max(...n.map(t=>t.x+t.w))+32:0,y:0,w:e*a,h:s*a}}function Kt(e){const s=new Map;let n="";for(const a of e){a.role==="user"&&(n=a.content);for(const[t,r]of(a.displayFiles||[]).entries()){if(!we.has(r.mime||"")&&!/\.(png|jpe?g|webp|gif)$/i.test(r.name)||!r.path&&!r.dataUrl)continue;const l=r.path?`${r.sourceSessionId||""}:${r.path}`:`${a.id}:${t}:${r.name}`;s.set(l,{key:l,file:r,prompt:n})}}return[...s.values()]}function Vt(e){const s=Math.max(1,Math.ceil(Math.sqrt(e.length)));return e.map((n,a)=>{const t=G(n),r=300/Math.max(t.w,t.h);return{...n,x:a%s*340,y:Math.floor(a/s)*360,w:t.w*r,h:t.h*r}})}function Yt(e){return`brightness(${e.brightness}%) contrast(${e.contrast}%) saturate(${e.saturation}%)`}function gt(e){const s=e;if(!s||s.version!==1&&s.version!==2||typeof s.id!="string"||typeof s.name!="string"||!((s.sessionId===null||typeof s.sessionId=="string")&&Number.isFinite(s.updatedAt)&&Array.isArray(s.collected)&&s.collected.every(t=>typeof t=="string")&&Array.isArray(s.images)&&s.images.every(t=>be(t)&&t.blob instanceof Blob&&we.has(t.blob.type)&&t.blob.size<=mt&&[t.x,t.y,t.w,t.h,t.width,t.height,t.brightness,t.contrast,t.saturation].every(Number.isFinite)&&t.w>0&&t.h>0&&t.width>0&&t.height>0&&[t.brightness,t.contrast,t.saturation].every(r=>r>=0&&r<=200)&&(t.crop===void 0||xt(t.crop,t.width,t.height))&&(t.rotation===void 0||Number.isFinite(t.rotation)&&t.rotation>=0&&t.rotation<360)&&(t.parentId===void 0||typeof t.parentId=="string")&&[t.flipX,t.flipY].every(r=>r===void 0||typeof r=="boolean"))&&(s.elements===void 0||Array.isArray(s.elements)&&s.elements.every(yt))&&(s.order===void 0||Array.isArray(s.order)&&s.order.every(t=>typeof t=="string"))))return!1;const a=[...s.images,...s.elements||[]].map(t=>t.id);return new Set(a).size===a.length}const J=e=>"blob"in e&&e.blob instanceof Blob,W=e=>!J(e)&&e.kind==="frame",be=e=>!!e&&typeof e.id=="string"&&typeof e.name=="string"&&[e.x,e.y,e.w,e.h].every(s=>Number.isFinite(s)&&Math.abs(s)<=1e6)&&e.w>0&&e.h>0&&[e.locked,e.hidden].every(s=>s===void 0||typeof s=="boolean"),xt=(e,s,n)=>!!e&&[e.x,e.y,e.w,e.h].every(Number.isFinite)&&e.x>=0&&e.y>=0&&e.w>=1&&e.h>=1&&e.x+e.w<=s&&e.y+e.h<=n;function yt(e){return be(e)&&!("blob"in e)&&["text","rectangle","ellipse","frame"].includes(e.kind)&&[e.fill,e.stroke].every(s=>typeof s=="string"&&/^(#[\da-f]{6}|transparent)$/i.test(s))&&[e.strokeWidth,e.radius,e.fontSize].every(Number.isFinite)&&e.strokeWidth>=0&&e.strokeWidth<=100&&e.radius>=0&&e.radius<=1e3&&e.fontSize>=6&&e.fontSize<=500&&typeof e.text=="string"&&e.text.length<=1e4&&["sans-serif","serif","monospace"].includes(e.fontFamily)&&typeof e.bold=="boolean"&&["left","center","right"].includes(e.align)}function G(e){const s=e.crop||{w:e.width,h:e.height},n=(e.rotation||0)*Math.PI/180;return{w:Math.round((Math.abs(s.w*Math.cos(n))+Math.abs(s.h*Math.sin(n)))*1e8)/1e8,h:Math.round((Math.abs(s.w*Math.sin(n))+Math.abs(s.h*Math.cos(n)))*1e8)/1e8}}function Xt(e,s){const n={...e,...s},a=G(n),t=G(e),r=e.w/t.w,l=a.w*r,c=a.h*r;return{...n,x:e.x+(e.w-l)/2,y:e.y+(e.h-c)/2,w:l,h:c}}function q(e){const s=[...e.images,...e.elements||[]],n=new Map((e.order||[]).map((a,t)=>[a,t]));return s.sort((a,t)=>Number(W(t))-Number(W(a))||(n.get(a.id)??1e9)-(n.get(t.id)??1e9))}function Q(e,s){return{...e,version:2,images:s.filter(J),elements:s.filter(n=>!J(n)),order:s.map(n=>n.id)}}function vt(e,s){return Q(e,q(e).map(s))}const wt=(e,s)=>s.x>=e.x&&s.y>=e.y&&s.x+s.w<=e.x+e.w+.01&&s.y+s.h<=e.y+e.h+.01;function Jt(e,s){const n=q(e),a=new Map(s);for(const t of n.filter(W)){const r=s.get(t.id);if(!(!r||t.locked||r.x===t.x&&r.y===t.y))for(const l of n)!W(l)&&!l.locked&&!a.has(l.id)&&wt(t,l)&&a.set(l.id,{...l,x:l.x+r.x-t.x,y:l.y+r.y-t.y})}return vt(e,t=>t.locked||!a.has(t.id)?t:{...t,...a.get(t.id)})}function Qt(e,s,n=0,a=0){return{id:crypto.randomUUID(),kind:e,name:s,x:n,y:a,w:e==="frame"?1080:320,h:e==="frame"?1080:e==="text"?120:240,fill:e==="frame"?"#ffffff":e==="text"?"#242424":"#c9c4b8",stroke:"#242424",strokeWidth:0,radius:0,text:e==="text"?s:"",fontSize:40,fontFamily:"sans-serif",bold:!1,align:"left"}}function Zt(e,s=32,n=32){return e.map(a=>({...a,id:crypto.randomUUID(),locked:!1,x:a.x+s,y:a.y+n}))}function en(e,s,n){const a=q(e),t=new Set(s);if(n==="front"||n==="back"){const l=a.filter(x=>t.has(x.id)),c=a.filter(x=>!t.has(x.id));return Q(e,n==="front"?[...c,...l]:[...l,...c])}const r=n==="up"?1:-1;for(let l=r===1?a.length-2:1;l>=0&&l<a.length;l-=r)t.has(a[l].id)&&a[l+r]&&!t.has(a[l+r].id)&&([a[l],a[l+r]]=[a[l+r],a[l]]);return Q(e,a)}const bt=["1:1","4:5","5:4","2:3","3:2","16:9","9:16"],jt=["1:1","2:3","3:2","16:9","9:16"],R=e=>{const[s,n]=e.split(":").map(Number);return s>0&&n>0?s/n:1};function kt(e,s){const n=e>0&&s>0?e/s:1,a=bt.find(t=>Math.abs(Math.log(R(t)/n))<.012);return a||(n>=1?`${Number(n.toFixed(2))}:1`:`1:${Number((1/n).toFixed(2))}`)}function tn(e,s){const n=G(e),a=kt(n.w,n.h),t=s==="original"?a:s,r=s==="original"?n.w/n.h:R(t),l=jt.reduce((c,x)=>Math.abs(Math.log(R(x)/r))<Math.abs(Math.log(R(c)/r))?x:c);return{aspect:r,requested:t,engine:l,originalLabel:a}}function nn(e,s,n){if(!(e>0&&s>0&&n>0))return;const a=e/s;if(Math.abs(Math.log(a/n))<.001)return;if(a>n){const r=s*n;return{x:(e-r)/2,y:0,w:r,h:s}}const t=e/n;return{x:0,y:(s-t)/2,w:e,h:t}}function St(e,s,n=[]){const a=new Set(s.sourceIds||[]),t=e.images.filter(d=>a.has(d.id)),r=[...q(e),...n],l=t.length?Math.min(360,Math.max(t[0].w,t[0].h)):320,c=Math.max(.2,Math.min(5,s.aspect||1)),x=c>=1?l:l*c,m=c>=1?l/c:l,h=t.length?Math.max(...t.map(d=>d.x+d.w)):r.length?Math.max(...r.map(d=>d.x+d.w)):-32,u=t.length?Math.min(...t.map(d=>d.y)):0;return Array.from({length:Math.max(1,Math.min(4,Math.round(s.count)||1))},(d,f)=>({x:h+32+f*(x+32),y:u,w:x,h:m}))}function sn(e,s){if(e!=="generate_image"&&e!=="edit_image")return null;let n={};try{n=s?JSON.parse(s):{}}catch{}const a=typeof n.size=="string"&&/^\d+(?:\.\d+)?:\d+(?:\.\d+)?$/.test(n.size)?n.size:"1:1",t=Number.isInteger(n.n)?Number(n.n):1;return{count:Math.max(1,Math.min(4,t)),aspect:R(a),ratio:a,kind:e==="edit_image"?"edit":"generate"}}let V;function je(){return V??=new Promise((e,s)=>{const n=indexedDB.open("forsion-image-studio",1);n.onupgradeneeded=()=>n.result.createObjectStore("boards",{keyPath:"id"}),n.onsuccess=()=>e(n.result),n.onerror=()=>{V=void 0,s(n.error)},n.onblocked=()=>{V=void 0,s(new Error("Image Studio storage is blocked by another window"))}})}async function Nt(){const e=await je();return new Promise((s,n)=>{const a=e.transaction("boards").objectStore("boards").getAll();a.onsuccess=()=>{if(!a.result.every(gt)){n(new Error("Image Studio contains an unreadable project"));return}s(a.result)},a.onerror=()=>n(a.error)})}async function Dt(e){const s=await je();return new Promise((n,a)=>{const t=s.transaction("boards","readwrite");t.objectStore("boards").put(e),t.oncomplete=()=>n(),t.onerror=()=>a(t.error),t.onabort=()=>a(t.error||new Error("Image Studio save was interrupted"))})}let de,Z,Mt=0;const B=new Set;let O;function Y(e){B.add(e),ue.setState({saving:!0}),clearTimeout(Z),Z=setTimeout(()=>{ue.getState().flush()},250)}const ue=at((e,s)=>({boards:{},activeId:null,ready:!1,error:"",saving:!1,selection:[],past:{},future:{},placeholders:{},generationTools:{},pending:null,hydrate:()=>de??=(async()=>{try{const n=await Nt();let a=null;try{a=localStorage.getItem("image-studio.active")}catch{}e({boards:Object.fromEntries(n.map(t=>[t.id,t])),activeId:n.find(t=>t.id===a)?.id||n.sort((t,r)=>r.updatedAt-t.updatedAt)[0]?.id||null,ready:!0,error:""})}catch(n){e({error:String(n),ready:!1}),de=void 0}})(),create:n=>{if(!s().ready)return"";const a=ft(n);return e(t=>({boards:{...t.boards,[a.id]:a}})),s().open(a.id),Y(a.id),a.id},open:n=>{if(s().boards[n]){e({activeId:n,selection:[],pending:null});try{localStorage.setItem("image-studio.active",n)}catch{}}},update:(n,a,t=!0)=>{const r=s().boards[n];if(!r)return;const l=a(r);l!==r&&(e(c=>({boards:{...c.boards,[n]:{...l,updatedAt:Date.now()}},...t?{past:{...c.past,[n]:[...(c.past[n]||[]).slice(-29),r]},future:{...c.future,[n]:[]}}:{}})),Y(n))},undo:(n,a=!1)=>{const t=a?"future":"past",r=a?"past":"future",l=s()[t][n]||[],c=s().boards[n],x=l.at(-1);!c||!x||(e(m=>({boards:{...m.boards,[n]:{...x,sessionId:c.sessionId,collected:c.collected,updatedAt:Date.now()}},[t]:{...m[t],[n]:l.slice(0,-1)},[r]:{...m[r],[n]:[...m[r][n]||[],c]},selection:[]})),Y(n))},flush:async()=>{if(clearTimeout(Z),O)return O;O=(async()=>{try{for(;B.size;){const n=B.values().next().value,a=s().boards[n];B.delete(n);try{a&&await Dt(a)}catch(t){throw B.add(n),t}}e({saving:!1,error:""})}catch(n){e({saving:!1,error:String(n)})}})();try{await O}finally{O=void 0}},queue:(n,a,t=[])=>e(r=>({pending:{sessionId:n,text:r.pending?.sessionId===n?`${r.pending.text}
2
+
3
+ ${a}`:a,attachments:[...r.pending?.sessionId===n?r.pending.attachments:[],...t],seq:++Mt}})),consume:n=>s().pending?.seq!==n?!1:(e({pending:null}),!0),beginGeneration:(n,a,t)=>{const r=s().boards[n];if(!r)return[];const l=s().placeholders[n]||[],c=St(r,t,l),x=crypto.randomUUID(),m=Date.now(),h=c.map((u,d)=>({...u,id:crypto.randomUUID(),generationId:x,boardId:n,sessionId:a,sourceIds:t.sourceIds||[],kind:t.kind,status:"preparing",aspect:t.aspect,ratio:t.ratio,index:d,count:c.length,createdAt:m}));return e(u=>({placeholders:{...u.placeholders,[n]:[...u.placeholders[n]||[],...h]}})),h.map(u=>u.id)},activateGeneration:n=>{const a=new Set(n);e(t=>({placeholders:Object.fromEntries(Object.entries(t.placeholders).map(([r,l])=>[r,l.map(c=>a.has(c.id)&&c.status==="preparing"?{...c,status:"running"}:c)]))}))},bindGenerationTool:(n,a,t,r)=>{if((s().generationTools[n]||[]).includes(t))return;e(h=>({generationTools:{...h.generationTools,[n]:[...(h.generationTools[n]||[]).slice(-199),t]}}));const c=(s().placeholders[n]||[]).find(h=>h.sessionId===a&&!h.toolId&&h.status!=="failed");if(c){e(h=>({placeholders:{...h.placeholders,[n]:(h.placeholders[n]||[]).map(u=>u.generationId===c.generationId?{...u,toolId:t,status:"running"}:u)}}));return}const x=s().beginGeneration(n,a,r),m=new Set(x);e(h=>({placeholders:{...h.placeholders,[n]:(h.placeholders[n]||[]).map(u=>m.has(u.id)?{...u,toolId:t,status:"running"}:u)}}))},failGeneration:(n,a)=>{const t=a.ids?new Set(a.ids):null;e(r=>({placeholders:{...r.placeholders,[n]:(r.placeholders[n]||[]).map(l=>(!t||t.has(l.id))&&(!a.sessionId||l.sessionId===a.sessionId)&&(!a.toolId||l.toolId===a.toolId)?{...l,status:"failed"}:l)}}))},takeGeneration:(n,a)=>{const r=(s().placeholders[n]||[]).filter(l=>l.sessionId===a&&l.status!=="failed").sort((l,c)=>l.createdAt-c.createdAt||l.index-c.index)[0];if(r)return e(l=>({placeholders:{...l.placeholders,[n]:(l.placeholders[n]||[]).filter(c=>c.id!==r.id)}})),r},removeGeneration:(n,a)=>e(t=>({placeholders:{...t.placeholders,[n]:(t.placeholders[n]||[]).filter(r=>r.id!==a)}}))})),zt=({containerRef:e,scanTrigger:s})=>{const{t:n}=P(),[a,t]=g.useState([]),[r,l]=g.useState(null),c=g.useCallback(()=>{const m=e.current;if(!m){t(d=>d.length?[]:d);return}const h=m.querySelectorAll('[data-toc-msg-role="user"], [data-toc-level]'),u=[];h.forEach(d=>{if(d.id){if(d.dataset.tocMsgRole==="user"){const f=(d.dataset.tocTitle||d.textContent||"").trim();f&&u.push({id:d.id,level:0,kind:"user",text:f})}else if(d.dataset.tocLevel){const f=(d.textContent||"").trim();f&&u.push({id:d.id,level:Number(d.dataset.tocLevel)||1,kind:"heading",text:f})}}}),t(d=>d.length===u.length&&d.every((f,w)=>f.id===u[w].id&&f.text===u[w].text)?d:u)},[e]);g.useEffect(()=>{c();const m=e.current;if(!m)return;let h=0;const u=new MutationObserver(()=>{cancelAnimationFrame(h),h=requestAnimationFrame(c)});return u.observe(m,{childList:!0,subtree:!0,characterData:!0}),()=>{cancelAnimationFrame(h),u.disconnect()}},[c,e,s]),g.useEffect(()=>{const m=e.current;if(!m||a.length===0)return;const h=new Set,u=new IntersectionObserver(d=>{for(const w of d)w.isIntersecting?h.add(w.target.id):h.delete(w.target.id);const f=a.find(w=>h.has(w.id));f&&l(f.id)},{root:m,rootMargin:"0px 0px -65% 0px",threshold:0});for(const d of a)try{const f=m.querySelector(`#${CSS.escape(d.id)}`);f&&u.observe(f)}catch{}return()=>u.disconnect()},[a,e]);const x=g.useCallback(m=>{const h=e.current;if(!h)return;let u=null;try{u=h.querySelector(`#${CSS.escape(m)}`)}catch{return}if(!u)return;const d=u.getBoundingClientRect().top-h.getBoundingClientRect().top+h.scrollTop;h.scrollTo({top:Math.max(0,d-16),behavior:"smooth"}),l(m)},[e]);return a.length===0?o.jsx("div",{className:"panel-note",children:n("toc.emptyNote")}):o.jsx("div",{className:"toc-list",children:a.map(m=>o.jsxs("button",{type:"button",className:`toc-item${m.kind==="user"?" user":""}${r===m.id?" active":""}`,style:{paddingLeft:6+m.level*14},title:m.text,onClick:()=>x(m.id),children:[m.kind==="user"?o.jsx(Pe,{size:12,className:"toc-ico"}):o.jsx(Le,{size:11,className:"toc-ico"}),o.jsx("span",{className:"toc-text",children:m.text})]},m.id))})};function Ft(e){if(e==="__host__")return"#b8860b";let s=0;for(let n=0;n<e.length;n++)s=s*31+e.charCodeAt(n)>>>0;return`hsl(${s%360} 62% 45%)`}const ke=({segs:e})=>o.jsx("div",{style:{display:"flex",flexDirection:"column",gap:8},children:e.map((s,n)=>s.t==="tool"?o.jsxs("div",{className:"panel-note",style:{fontSize:"var(--ui-font-caption, 11px)",opacity:s.error?.95:.7},children:["🔧 ",o.jsx("b",{children:s.name}),s.preview?` — ${s.preview.slice(0,200)}`:""]},n):s.t==="vote"?o.jsxs("div",{className:"panel-note",style:{fontSize:"var(--ui-font-caption, 11px)"},children:["🗳 ",s.text]},n):o.jsxs("div",{children:[s.speaker&&o.jsxs("div",{className:"msg-role-with-avatar",style:{color:s.color,fontSize:12,fontWeight:600,marginBottom:2,display:"flex",alignItems:"center",gap:4},children:[o.jsx("span",{className:"msg-avatar fallback",style:{background:s.color,width:16,height:16,fontSize:10},children:s.speaker.slice(0,1)}),o.jsx("span",{children:s.speaker})]}),o.jsx("div",{className:"msg-content",style:{fontSize:"var(--ui-font-meta, 12px)"},children:o.jsx(X,{content:s.text||""})})]},n))}),Ct=({sessionId:e,runId:s})=>{const{t:n}=P(),[a,t]=g.useState([]),[r,l]=g.useState(!0),c=g.useRef(null);return g.useEffect(()=>{const x=new AbortController;t([]),l(!0);let m="",h="";const u=d=>t(f=>{const w=f[f.length-1];return w&&w.t==="text"?[...f.slice(0,-1),{...w,text:w.text+d}]:[...f,{t:"text",speaker:m,color:h,text:d}]});return Be(T(e),s,d=>{const f=d.payload||{};switch(d.type){case"group_speaker":f.phase==="start"&&(m=f.name||f.slug||"",h=Ft(String(f.slug||"")),t(w=>[...w,{t:"text",speaker:m,color:h,text:""}]));break;case"token":f.delta&&u(String(f.delta));break;case"tool_call":t(w=>[...w,{t:"tool",name:String(f.name||"")}]);break;case"group_vote":t(w=>[...w,{t:"vote",text:`${f.endCount}/${f.total} ${n("panel.subchats.voteEnd")}`}]);break;case"group_ended":case"done":case"error":l(!1);break}},x.signal).catch(()=>l(!1)),()=>x.abort()},[e,s,n]),g.useEffect(()=>{c.current?.scrollIntoView({block:"end"})},[a]),o.jsxs("div",{children:[a.length===0&&r&&o.jsxs("div",{className:"panel-note",style:{fontSize:11.5},children:[o.jsx($,{size:12,className:"spin"})," ",n("panel.subchats.connecting")]}),o.jsx(ke,{segs:a}),r&&a.length>0&&o.jsxs("div",{className:"panel-note",style:{fontSize:11.5,marginTop:6},children:[o.jsx($,{size:12,className:"spin"})," ",n("panel.subchats.live")]}),o.jsx("div",{ref:c})]})},Et=({sessionId:e,subChats:s})=>{const{t:n}=P(),a=s||[],[t,r]=g.useState(null),l=a.find(c=>c.id===t)||a[a.length-1]||null;return a.length?o.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:8},children:[o.jsx("div",{style:{display:"flex",flexDirection:"column",gap:2,maxHeight:140,overflowY:"auto"},children:a.map(c=>o.jsxs("div",{role:"button",tabIndex:0,className:`file-row${l?.id===c.id?" selected":""}`,onClick:()=>r(c.id),children:[c.kind==="discussion"?o.jsx($e,{size:13}):o.jsx(Oe,{size:13}),o.jsx("span",{className:"file-name",title:c.title,children:c.title||c.id.slice(0,8)}),c.streaming&&o.jsx($,{size:12,className:"spin",style:{opacity:.6}})]},c.id))}),o.jsx("div",{style:{height:1,background:"var(--border)"}}),l&&o.jsx("div",{style:{padding:"0 4px"},children:l.kind==="discussion"&&l.runId?o.jsx(Ct,{sessionId:e,runId:l.runId}):o.jsxs(o.Fragment,{children:[o.jsx(ke,{segs:l.segs}),l.segs.length===0&&o.jsx("div",{className:"panel-note",style:{fontSize:"var(--ui-font-caption, 11px)"},children:n("panel.subchats.starting")}),l.streaming&&l.segs.length>0&&o.jsxs("div",{className:"panel-note",style:{fontSize:11.5,marginTop:6},children:[o.jsx($,{size:12,className:"spin"})," ",n("panel.subchats.live")]})]})})]}):o.jsx("div",{className:"panel-note",children:n("panel.subchats.empty")})},It="application/x-tangu-paths",an=e=>{const{t:s}=P(),[n,a]=g.useState("workspace"),t=e.view??n,r=o.jsxs(o.Fragment,{children:[t==="workspace"&&o.jsx(At,{...e}),t==="toc"&&o.jsx(zt,{containerRef:e.chatScrollRef,scanTrigger:e.messages.length}),t==="memory"&&o.jsx(Lt,{...e}),t==="subchats"&&o.jsx(Et,{sessionId:e.sessionId,subChats:e.subChats})]});return e.view?o.jsx("div",{className:"right-panel-body",children:r}):o.jsxs("aside",{className:"right-panel",children:[o.jsxs("div",{className:"right-panel-tabs",children:[o.jsxs("button",{className:n==="workspace"?"active":"",onClick:()=>a("workspace"),children:[o.jsx(He,{size:13})," ",s("panel.tab.workspace")]}),o.jsxs("button",{className:n==="toc"?"active":"",onClick:()=>a("toc"),children:[o.jsx(Ue,{size:13})," ",s("panel.tab.toc")]}),o.jsxs("button",{className:n==="memory"?"active":"",onClick:()=>a("memory"),children:[o.jsx(it,{size:13})," ",s("panel.tab.memory")]}),o.jsxs("button",{className:n==="subchats"?"active":"",onClick:()=>a("subchats"),children:[o.jsx(We,{size:13})," ",s("panel.tab.subchats"),e.subChats&&e.subChats.length>0&&o.jsx("span",{style:{marginLeft:3,fontSize:"var(--ui-font-caption, 11px)",fontWeight:700,background:"var(--accent)",color:"var(--on-accent)",borderRadius:"var(--radius-sm, 6px)",padding:"0 4px",lineHeight:"14px"},children:e.subChats.length})]})]}),o.jsx("div",{className:"right-panel-body",children:r})]})};function Se(e){const[s,n]=g.useState(new Set),a=g.useRef(null),t=e.join(`
4
+ `);g.useEffect(()=>{n(x=>{const m=new Set([...x].filter(h=>e.includes(h)));return m.size===x.size?x:m})},[t]);const r=x=>{n(new Set([x])),a.current=x};return{selected:s,onClick:(x,m)=>{if(m.metaKey||m.ctrlKey)n(h=>{const u=new Set(h);return u.has(x)?u.delete(x):u.add(x),u}),a.current=x;else if(m.shiftKey&&a.current){const h=e.indexOf(a.current),u=e.indexOf(x);if(h>=0&&u>=0){const[d,f]=h<u?[h,u]:[u,h];n(new Set(e.slice(d,f+1)))}else r(x)}else r(x)},only:r,clear:()=>{n(new Set),a.current=null}}}const Ne=({menu:e,onClose:s,autoFocus:n=!1})=>{const a=g.useRef(null);return g.useEffect(()=>{n&&a.current?.focus({preventScroll:!0})},[n,e.x,e.y]),g.useEffect(()=>{const t=()=>s(),r=l=>{l.key==="Escape"&&s()};return window.addEventListener("pointerdown",t),window.addEventListener("contextmenu",t),window.addEventListener("keydown",r),window.addEventListener("blur",t),()=>{window.removeEventListener("pointerdown",t),window.removeEventListener("contextmenu",t),window.removeEventListener("keydown",r),window.removeEventListener("blur",t)}},[s]),Re.createPortal(o.jsx(_e,{className:"ctx-menu",role:"menu",x:e.x,y:e.y,onPointerDown:t=>t.stopPropagation(),onContextMenu:t=>{t.preventDefault(),t.stopPropagation()},onKeyDown:t=>{if(t.key==="Escape"||t.key==="Tab"){t.preventDefault(),t.stopPropagation(),s();return}if(!["ArrowDown","ArrowUp","Home","End"].includes(t.key))return;t.preventDefault(),t.stopPropagation();const r=Array.from(t.currentTarget.querySelectorAll("button:not(:disabled)")),l=r.indexOf(document.activeElement),c=t.key==="Home"?0:t.key==="End"?r.length-1:(l+(t.key==="ArrowDown"?1:-1)+r.length)%r.length;r[c]?.focus()},children:e.items.map((t,r)=>o.jsxs(rt.Fragment,{children:[t.separatorBefore&&o.jsx("div",{className:"ctx-separator",role:"separator"}),o.jsxs("button",{ref:r===e.items.findIndex(l=>!l.disabled)?a:void 0,role:"menuitem","aria-label":t.label,disabled:t.disabled,className:`ctx-item${t.danger?" danger":""}`,onClick:()=>{s(),t.run()},children:[t.icon,o.jsx("span",{children:t.label}),t.shortcut&&o.jsx("kbd",{className:"ctx-shortcut","aria-hidden":"true",children:t.shortcut})]})]},r))}),document.body)},De=(e,s)=>({x:e.clientX,y:e.clientY}),At=e=>e.sessionConfig?.execMode==="host"&&e.sessionConfig.cwd&&window.tangu?.listDir?o.jsx(Tt,{cwd:e.sessionConfig.cwd,running:e.running,onToast:e.onToast,onOpenPreview:e.onOpenPreview}):o.jsx(Pt,{...e}),Tt=({cwd:e,running:s,onToast:n,onOpenPreview:a})=>{const{t}=P(),[r,l]=g.useState(e),[c,x]=g.useState([]),[m,h]=g.useState(!1),[u,d]=g.useState(null),[f,w]=g.useState(""),[I,k]=g.useState(!1),[N,D]=g.useState(""),[p,S]=g.useState(null),[b,C]=g.useState(null),[M,z]=g.useState(null),[Me,_]=g.useState(!1),F=Se(c.map(i=>i.path)),L=!!window.tangu?.mkdirHost,K=!!window.tangu?.revealHostPath;g.useEffect(()=>{l(e),d(null),k(!1)},[e]);const E=g.useCallback(async()=>{if(window.tangu?.listDir){h(!0);try{x(await window.tangu.listDir(r))}catch(i){n(t("panel.toast.listDirFail",{err:i?.message||i}),!0)}finally{h(!1)}}},[r,n]);g.useEffect(()=>{E()},[E,s]);const H=i=>{const y=Math.max(i.lastIndexOf("/"),i.lastIndexOf("\\"));return y>0?i.slice(0,y):i},ze=r===e,ee=r.startsWith(e)?r.slice(e.length).replace(/^[/\\]+/,""):r,te=i=>{i.isDir||!window.tangu?.readHostFile||a({name:i.name,path:i.path,load:async()=>{const y=await window.tangu.readHostFile(i.path);return y.tooLarge?{tooLarge:!0,size:y.size}:{mimeType:y.mimeType,bytes:ve(y.content),size:y.size,mtimeMs:y.mtimeMs}},download:K?()=>{window.tangu?.revealHostPath?.(i.path)}:void 0})},ne=i=>{i.isDir?l(i.path):te(i)},Fe=i=>{d(i.path),w(i.name)},Ce=async i=>{const y=f.trim();if(d(null),!(!y||y===i.name||!window.tangu?.renameHostPath))try{await window.tangu.renameHostPath(i.path,y),E()}catch(j){n(t("panel.toast.renameFail",{err:j?.message||j}),!0)}},se=async()=>{const i=N.trim();if(k(!1),D(""),!(!i||!window.tangu?.mkdirHost))try{await window.tangu.mkdirHost(r,i),E()}catch(y){n(t("panel.toast.mkdirFail",{err:y?.message||y}),!0)}},Ee=async i=>{if(!(!i.length||!window.tangu?.trashHostPath||!window.confirm(i.length===1?t("panel.confirm.trash",{name:i[0].split(/[/\\]/).pop()||""}):t("panel.confirm.trashN",{n:String(i.length)}))))try{for(const j of i)await window.tangu.trashHostPath(j);F.clear(),E()}catch(j){n(t("panel.toast.deleteFail",{err:j?.message||j}),!0)}},Ie=async(i,y)=>{const j=y.filter(v=>v!==i);if(!(!j.length||!window.tangu?.moveHostPath))try{for(const v of j)await window.tangu.moveHostPath(v,i);F.clear(),E()}catch(v){n(t("panel.toast.moveFail",{err:v?.message||v}),!0)}},ae=async(i,y)=>{if(!window.tangu?.copyHostFiles||!window.tangu?.getPathForFile)return;const j=Array.from(i).map(v=>{try{return window.tangu.getPathForFile(v)}catch{return""}}).filter(Boolean);if(j.length)try{const v=await window.tangu.copyHostFiles(j,y);n(t("panel.toast.copied",{n:String(v.copied)})),E()}catch(v){n(t("panel.toast.copyFail",{err:v?.message||v}),!0)}},Ae=(i,y)=>{i.preventDefault(),i.stopPropagation();const j=F.selected.has(y.path)?[...F.selected]:[y.path];F.selected.has(y.path)||F.only(y.path);const v=j.length>1,A=[];!v&&!y.isDir&&A.push({label:t("panel.action.preview"),icon:o.jsx(xe,{size:13}),run:()=>te(y)}),!v&&L&&A.push({label:t("panel.action.rename"),icon:o.jsx(dt,{size:13}),run:()=>Fe(y)}),!v&&K&&A.push({label:t("panel.action.revealInFileManager"),icon:o.jsx(ie,{size:13}),run:()=>window.tangu?.revealHostPath?.(y.path)}),L&&A.push({label:v?t("panel.action.deleteN",{n:String(j.length)}):t("panel.action.moveToTrash"),icon:o.jsx(ye,{size:13}),danger:!0,run:()=>{Ee(j)}}),A.length&&S({...De(i,A.length),items:A})},Te=(i,y)=>{if(i.altKey&&window.tangu?.startHostDrag){i.preventDefault(),window.tangu.startHostDrag(y.path);return}const j=F.selected.has(y.path)?[...F.selected]:[y.path];C(j),i.dataTransfer.setData(It,JSON.stringify(j)),i.dataTransfer.effectAllowed="copyMove"},re=(i,y)=>{const j=L&&i.dataTransfer.types.includes("Files");!b&&!j||b?.includes(y)||(i.preventDefault(),i.stopPropagation(),z(y),_(!1))},oe=(i,y)=>{i.preventDefault(),i.stopPropagation();const j=i.dataTransfer.files,v=b;z(null),C(null),j?.length?ae(j,y):v?.length&&Ie(y,v)};return o.jsxs("div",{className:Me?"wsfiles dragover":"wsfiles",onClick:i=>{i.target===i.currentTarget&&F.clear()},onDragOver:i=>{L&&i.dataTransfer.types.includes("Files")&&!b&&(i.preventDefault(),_(!0))},onDragLeave:i=>{i.currentTarget.contains(i.relatedTarget)||_(!1)},onDrop:i=>{i.preventDefault(),_(!1),z(null),i.dataTransfer.files?.length&&!b&&ae(i.dataTransfer.files,r)},children:[o.jsxs("div",{style:{display:"flex",alignItems:"center",gap:4,marginBottom:6},children:[o.jsx("span",{className:"panel-section-title",style:{flex:1,padding:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:r,children:ee?`…/${ee}`:e.split(/[/\\]/).filter(Boolean).pop()||e}),L&&o.jsx("button",{className:"icon-btn",style:{width:24,height:24},onClick:()=>{k(!0),D("")},title:t("panel.action.newFolder"),children:o.jsx(lt,{size:13})}),K&&o.jsx("button",{className:"icon-btn",style:{width:24,height:24},onClick:()=>window.tangu?.revealHostPath?.(r),title:t("panel.action.openCurDirInFileManager"),children:o.jsx(ie,{size:13})}),o.jsx("button",{className:"icon-btn",style:{width:24,height:24},onClick:()=>{E()},title:t("panel.action.refresh"),children:m?o.jsx($,{size:13,className:"spin"}):o.jsx(he,{size:13})})]}),I&&o.jsxs("div",{className:"file-row",style:{cursor:"default"},children:[o.jsx(ce,{size:13,style:{color:"var(--accent-ink)"}}),o.jsx("input",{autoFocus:!0,className:"file-rename-input",value:N,placeholder:t("panel.placeholder.newFolderName"),onChange:i=>D(i.target.value),onKeyDown:i=>{i.key==="Enter"?se():i.key==="Escape"&&(k(!1),D(""))},onBlur:()=>{k(!1),D("")}}),o.jsxs("span",{className:"file-act",style:{opacity:1},children:[o.jsx("button",{className:"icon-btn",style:{width:22,height:22},title:t("panel.action.create"),onMouseDown:i=>{i.preventDefault(),se()},children:o.jsx(Ge,{size:12})}),o.jsx("button",{className:"icon-btn",style:{width:22,height:22},title:t("panel.action.cancel"),onMouseDown:i=>{i.preventDefault(),k(!1),D("")},children:o.jsx(qe,{size:12})})]})]}),!ze&&o.jsxs("div",{className:`file-row${M===H(r)?" drop-target":""}`,role:"button",tabIndex:0,onClick:()=>l(H(r)),onDragOver:i=>re(i,H(r)),onDragLeave:()=>z(null),onDrop:i=>oe(i,H(r)),children:[o.jsx(ht,{size:13}),o.jsx("span",{className:"file-name",children:t("panel.parentDir")})]}),c.length===0&&!m&&!I&&o.jsx("div",{className:"panel-note",children:t("panel.emptyDir")}),c.map(i=>{const y=F.selected.has(i.path),j=i.isDir&&M===i.path;return o.jsxs("div",{className:`file-row${y?" selected":""}${j?" drop-target":""}`,role:"button",tabIndex:0,draggable:L&&u!==i.path,onDragStart:v=>Te(v,i),onDragEnd:()=>{C(null),z(null)},onDragOver:i.isDir?v=>re(v,i.path):void 0,onDragLeave:i.isDir?()=>z(null):void 0,onDrop:i.isDir?v=>oe(v,i.path):void 0,onClick:v=>{u!==i.path&&F.onClick(i.path,v)},onDoubleClick:()=>{u!==i.path&&ne(i)},onContextMenu:v=>Ae(v,i),onKeyDown:v=>{u!==i.path&&v.key==="Enter"&&(v.preventDefault(),ne(i))},children:[i.isDir?o.jsx(ce,{size:13,style:{color:"var(--accent-ink)"}}):/\.(png|jpe?g|gif|webp|svg|bmp)$/i.test(i.name)?o.jsx(me,{size:13}):o.jsx(fe,{size:13}),u===i.path?o.jsx("input",{autoFocus:!0,className:"file-rename-input",value:f,onClick:v=>v.stopPropagation(),onChange:v=>w(v.target.value),onKeyDown:v=>{v.stopPropagation(),v.key==="Enter"?Ce(i):v.key==="Escape"&&d(null)},onBlur:()=>d(null)}):o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"file-name",children:i.name}),!i.isDir&&o.jsx("span",{className:"file-size",children:ge(i.size)})]})]},i.path)}),p&&o.jsx(Ne,{menu:p,onClose:()=>S(null)})]})},Pt=({cfg:e,sessionId:s,running:n,onToast:a,onOpenPreview:t})=>{const{t:r}=P(),[l,c]=g.useState([]),[x,m]=g.useState(!1),[h,u]=g.useState(null),d=Se(l.map(p=>p.path)),f=g.useCallback(async()=>{m(!0);try{c(await Ke(T(s),s))}catch(p){a(r("panel.toast.workspaceLoadFail",{err:p?.message||p}),!0)}finally{m(!1)}},[e,s,a]);g.useEffect(()=>{f()},[f,n]);const w=p=>{t({name:p.path,load:async()=>{const S=await et(T(s),s,p.path);return{mimeType:S.mimeType,bytes:ve(S.content),size:S.size}},download:()=>{le(T(s),s,p.path).catch(S=>a(S.message,!0))}})},I=p=>{le(T(s),s,p).catch(S=>a(S.message,!0))},k=async p=>{if(!(!p.length||!window.confirm(p.length===1?r("panel.confirm.delete",{name:p[0].replace(/^\//,"")}):r("panel.confirm.deleteN",{n:String(p.length)}))))try{for(const b of p)await st(T(s),s,b);d.clear(),f()}catch(b){a(b.message,!0)}},N=async p=>{if(!p?.length)return;const S=await Promise.all(Array.from(p).map(async b=>{const C=new Uint8Array(await b.arrayBuffer());let M="";for(let z=0;z<C.length;z+=32768)M+=String.fromCharCode(...C.subarray(z,z+32768));return{path:b.name,content:btoa(M),encoding:"base64",mimeType:b.type}}));try{const b=await Ze(T(s),s,S);a(r("panel.toast.uploaded",{saved:b.saved,total:b.total})),f()}catch(b){a(r("panel.toast.uploadFail",{err:b?.message||b}),!0)}},D=(p,S)=>{p.preventDefault(),p.stopPropagation();const b=d.selected.has(S.path)?[...d.selected]:[S.path];d.selected.has(S.path)||d.only(S.path);const C=b.length>1,M=[];C||M.push({label:r("panel.action.preview"),icon:o.jsx(xe,{size:13}),run:()=>w(S)}),C||M.push({label:r("panel.action.download"),icon:o.jsx(tt,{size:13}),run:()=>I(S.path)}),M.push({label:C?r("panel.action.deleteN",{n:String(b.length)}):r("panel.action.delete"),icon:o.jsx(ye,{size:13}),danger:!0,run:()=>{k(b)}}),u({...De(p,M.length),items:M})};return o.jsxs("div",{onClick:p=>{p.target===p.currentTarget&&d.clear()},onDragOver:p=>p.preventDefault(),onDrop:p=>{p.preventDefault(),N(p.dataTransfer.files)},children:[o.jsxs("div",{style:{display:"flex",gap:4,marginBottom:6},children:[o.jsx("span",{className:"panel-section-title",style:{flex:1,padding:0},children:r("panel.sessionFiles")}),o.jsxs("label",{className:"icon-btn",style:{width:24,height:24},title:r("panel.action.uploadFile"),children:[o.jsx(ct,{size:13}),o.jsx("input",{type:"file",multiple:!0,hidden:!0,onChange:p=>{N(p.target.files),p.target.value=""}})]}),o.jsx("button",{className:"icon-btn",style:{width:24,height:24},onClick:()=>{f()},title:r("panel.action.refresh"),children:x?o.jsx($,{size:13,className:"spin"}):o.jsx(he,{size:13})})]}),l.length===0&&o.jsx("div",{className:"panel-note",children:r("panel.noFilesYet")}),l.map(p=>{const S=d.selected.has(p.path);return o.jsxs("div",{className:`file-row${S?" selected":""}`,role:"button",tabIndex:0,onClick:b=>d.onClick(p.path,b),onDoubleClick:()=>w(p),onContextMenu:b=>D(b,p),onKeyDown:b=>{b.key==="Enter"&&(b.preventDefault(),w(p))},children:[p.mimeType.startsWith("image/")?o.jsx(me,{size:13}):o.jsx(fe,{size:13}),o.jsx("span",{className:"file-name",children:p.path.replace(/^\//,"")}),o.jsx("span",{className:"file-size",children:ge(p.size)})]},p.path)}),h&&o.jsx(Ne,{menu:h,onClose:()=>u(null)})]})},Lt=({cfg:e,sessionConfig:s,onToast:n})=>{const a=s?.groupChat&&s.groupAgents?.length?Array.from(new Set(s.groupAgents)):[s?.agentSlug||ot];return o.jsx("div",{children:a.map(t=>o.jsx($t,{cfg:e,slug:t,onToast:n,showName:a.length>1,canAppend:a.length===1},t))})},$t=({cfg:e,slug:s,onToast:n,showName:a,canAppend:t})=>{const{t:r}=P(),[l,c]=g.useState(null),[x,m]=g.useState([]),[h,u]=g.useState(null),[d,f]=g.useState(""),w=g.useCallback(async()=>{try{c(await Ve(U(),s))}catch(k){c(null),n(r("panel.toast.memoryLoadFail",{err:k?.message||k}),!0)}try{const k=(await Ye(U(),s)).slice().sort((p,S)=>S.localeCompare(p)).slice(0,3),D=(await Promise.all(k.map(async p=>({date:p,content:await Xe(U(),s,p)})))).filter(p=>p.content.trim());m(D),u(p=>p??D[0]?.date??null)}catch{m([])}},[e,s,n,r]);g.useEffect(()=>{w()},[w]);const I=async()=>{const k=d.trim();if(k)try{const N=await nt(U(),k,s);n(N.appended?r("panel.toast.memorySaved"):r("panel.toast.memoryNotWritten")),f(""),w()}catch(N){n(r("panel.toast.appendFail",{err:N?.message||N}),!0)}};return o.jsxs("div",{className:"agentmem",children:[a&&o.jsx("div",{className:"agentmem-agent",children:s}),o.jsx("div",{className:"panel-section-title",children:r("panel.memory.currentAgent")}),l===null&&o.jsx("div",{className:"panel-note",children:r("panel.memory.notConnected")}),l!==null&&(l.trim()?o.jsx("div",{style:{fontSize:"var(--ui-font-meta, 12px)",padding:"0 8px"},className:"msg-content",children:o.jsx(X,{content:l})}):o.jsx("div",{className:"panel-note",children:r("panel.memory.empty")})),t&&o.jsxs("div",{style:{display:"flex",gap:6,padding:"8px 8px 0"},children:[o.jsx("input",{type:"text",value:d,placeholder:r("panel.memory.appendPlaceholder"),onChange:k=>f(k.target.value),onKeyDown:k=>k.key==="Enter"&&void I(),style:{flex:1,fontSize:"var(--ui-font-meta, 12px)",padding:"5px 8px",background:"var(--bg-card)",border:"var(--border-width) solid var(--border)",borderRadius:"var(--radius-sm)",outline:"none"}}),o.jsx("button",{className:"btn ghost sm",onClick:()=>{I()},children:r("panel.memory.append")})]}),o.jsx("div",{className:"panel-section-title",style:{marginTop:14},children:r("panel.memory.recentLogs")}),x.length===0&&o.jsx("div",{className:"panel-note",children:r("panel.log.none")}),x.map(k=>{const N=h===k.date;return o.jsxs("div",{className:"agentmem-log",children:[o.jsxs("button",{className:"agentmem-log-head",onClick:()=>u(N?null:k.date),children:[N?o.jsx(Je,{size:12}):o.jsx(Qe,{size:12}),o.jsx("span",{children:k.date})]}),N&&o.jsx("div",{className:"agentmem-log-body msg-content",children:o.jsx(X,{content:k.content})})]},k.date)})]})};export{Ne as C,bt as E,we as I,mt as M,an as R,Gt as a,q as b,Q as c,G as d,Jt as e,Vt as f,qt as g,De as h,J as i,W as j,Yt as k,ft as l,vt as m,Qt as n,tn as o,gt as p,sn as q,en as r,Kt as s,Xt as t,ue as u,xt as v,nn as w,Zt as x,wt as y};
@@ -0,0 +1 @@
1
+ .t2c{position:relative;width:100%}.dv-groupview:has(.wb-tab--icon) .t2-chat-view{--t2c-card-surface: var(--bg)}.t2c-inner{max-width:880px;margin:0 auto;width:100%;box-sizing:border-box;padding:8px 28px 16px;display:flex;flex-direction:column;gap:8px}.t2c-iconbtn{width:28px;height:28px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);border-radius:var(--radius-pill, 999px);cursor:pointer;transition:background var(--duration-fast, .15s),color var(--duration-fast, .15s)}.t2c-iconbtn:hover:not(:disabled){background:var(--overlay-light, rgba(127, 127, 127, .1));color:var(--text)}.t2c-iconbtn:disabled{opacity:.4;cursor:default}.t2c-stop{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 12px;flex-shrink:0;border:none;border-radius:var(--radius-pill, 999px);background:color-mix(in srgb,var(--danger, #e0564b) 14%,transparent);color:var(--danger, #e0564b);font-size:var(--ui-font-caption, 11px);font-family:var(--font-ui);cursor:pointer}.t2c-stop:hover{background:color-mix(in srgb,var(--danger, #e0564b) 22%,transparent)}.t2c-quote{display:flex;gap:8px;align-items:flex-start;margin-bottom:8px;padding:6px 10px;background:var(--overlay-light, rgba(127, 127, 127, .08));border-left:3px solid var(--accent-ink);border-radius:var(--radius-sm, 8px)}.t2c-quote-text{flex:1;min-width:0;font-size:var(--ui-font-caption, 11px);color:var(--text-muted);white-space:pre-wrap;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.t2c-quote-x{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--text-faint, var(--text-muted));padding:2px;line-height:0}.t2c-hint{font-size:var(--ui-font-caption, 11px);color:var(--danger, #e0564b);margin-bottom:6px}.t2c-chiprow{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.t2c-refrow{align-items:center}.t2c-reflabel{font-size:var(--ui-font-meta, 12px);color:var(--text-faint);flex-shrink:0}.t2c-menu{position:absolute;bottom:100%;left:0;right:0;margin-bottom:6px;background:var(--bg-card, var(--bg));border:var(--border-width, 1px) solid var(--border);border-radius:var(--radius-md, 12px);max-height:260px;overflow-y:auto;z-index:30;box-shadow:var(--card-shadow, 0 8px 28px rgba(0, 0, 0, .18));padding:6px}.t2c-menu-item{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border:none;background:transparent;color:var(--text);text-align:left;border-radius:var(--radius-sm, 8px);cursor:pointer}.t2c-menu-item[data-active]{background:var(--menu-hover, rgba(127, 127, 127, .12))}.t2c-menu-cmd{font-size:var(--ui-font-caption, 11px);font-weight:600;white-space:nowrap}.t2c-menu-desc{font-size:var(--ui-font-caption, 11px);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t2c-menu-sec{padding:5px 10px 3px;font-size:var(--ui-font-caption, 11px);color:var(--text-faint, var(--text-muted))}.t2c-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border:none;border-radius:var(--radius-pill, 999px);background:var(--overlay-light, rgba(127, 127, 127, .1));color:var(--text);font-size:var(--t2c-font-control, 12px);font-family:var(--font-ui);cursor:pointer;transition:background var(--duration-fast, .15s)}.t2c-row .composer-chip{font-size:var(--t2c-font-control, 12px)}.t2c-pill:hover{background:var(--overlay-medium, rgba(127, 127, 127, .18))}.t2c-pill.active{background:color-mix(in srgb,var(--accent-ink) 16%,transparent);color:var(--accent-ink)}.t2c-pill-label{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mode-pill-wrap{position:relative;display:inline-flex}.t2c-pill.mode-pill-btn{min-width:0;interpolate-size:allow-keywords;width:fit-content;transition:background var(--duration-fast, .15s),width .18s var(--ease-spring)}.t2c-pill.mode-pill-btn.is-open{display:grid;grid-template-columns:16px minmax(0,1fr) 16px;width:224px;background:var(--overlay-medium, rgba(127, 127, 127, .18))}.mode-pill-wrap.is-open{width:224px;flex-shrink:0}.mode-pill-btn.is-open>svg{justify-self:center}.mode-pill-btn.is-open .t2c-pill-label{width:100%;max-width:none;text-align:center}.add-pill-wrap{position:relative;display:inline-flex}.t2c-pill.add-pill-btn{box-sizing:border-box;display:grid;grid-template-columns:16px minmax(0,0fr) 0;justify-content:center;gap:0;width:28px;height:28px;min-width:0;padding:0;overflow:hidden;color:var(--text-muted);transition:background var(--duration-fast, .15s),color var(--duration-fast, .15s),width .18s var(--ease-spring),grid-template-columns .18s var(--ease-spring),gap .18s var(--ease-spring),padding .18s var(--ease-spring)}.t2c-pill.add-pill-btn.is-open{grid-template-columns:16px minmax(0,1fr) 16px;justify-content:stretch;gap:4px;width:224px;padding:4px 9px;color:var(--text);background:var(--overlay-medium, rgba(127, 127, 127, .18))}.add-pill-plus{justify-self:center;transition:transform .2s var(--ease-spring)}.add-pill-btn.is-open .add-pill-plus{transform:rotate(45deg)}.add-pill-label{min-width:0;overflow:hidden;color:var(--text);text-align:center;white-space:nowrap;opacity:0;transition:opacity .12s ease}.add-pill-btn.is-open .add-pill-label{opacity:1;transition-delay:.04s}.add-pill-chevron{justify-self:center;opacity:0;transition:opacity .12s ease}.add-pill-btn.is-open .add-pill-chevron{opacity:1;transition-delay:.04s}.composer-menu--add{left:0;width:224px;min-width:0;max-width:none;max-height:none;overflow:visible}.composer-menu--add .menu-item{font-size:var(--t2c-font-control, 12px)}.composer-menu--add .menu-item .grow{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-menu--add .add-menu-parent>svg:last-child{flex:none;color:var(--text-faint)}.add-menu-sub{position:absolute;bottom:100%;left:calc(100% + 6px);width:min(268px,calc(100cqw - 16px));min-width:0;max-width:calc(100cqw - 16px);padding:5px;background:var(--bg-card, var(--bg));border:var(--border-width, 1px) solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);animation:pop .16s var(--ease-spring)}.add-menu-sub.left{left:auto;right:calc(100% + 6px)}.add-menu-sub.stacked{left:0;right:auto}.add-menu-search{display:flex;align-items:center;gap:7px;margin:1px 1px 4px;padding:7px 8px;border-radius:var(--radius-md);background:var(--overlay-light, rgba(127, 127, 127, .08));color:var(--text-faint)}.add-menu-search:focus-within{box-shadow:0 0 0 var(--focus-ring) var(--sel-line)}.add-menu-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:var(--t2c-font-control, 12px)}.add-menu-search input::placeholder{color:var(--text-faint)}.add-menu-sub-scroll{max-height:286px;overflow-y:auto;overscroll-behavior:contain}.add-menu-result{align-items:flex-start!important}.add-menu-result>svg{flex:none;margin-top:1px;color:var(--text-muted)}.add-menu-result-main{display:flex;min-width:0;flex-direction:column;gap:1px}.add-menu-result-title,.add-menu-result-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-menu-result-title{color:inherit}.add-menu-result-meta{color:var(--text-faint);font-size:var(--t2c-font-meta, 11px)}.add-menu-empty{padding:10px 9px;color:var(--text-faint);font-size:var(--t2c-font-meta, 11px)}.add-menu-section-gap{margin-top:4px;border-top:var(--border-width, 1px) solid var(--border)}.composer-menu--mode .mode-normal-row{display:flex;align-items:center;gap:2px}.composer-menu--mode .mode-normal-row>.menu-item{width:auto;flex:1 1 auto;min-width:0}.composer-menu--mode .mode-normal-row>.mode-agent-trigger{flex:0 1 auto;max-width:50%;gap:3px;color:var(--text-faint)}.composer-menu--mode .mode-normal-row>.mode-agent-trigger[aria-expanded=true]{background:var(--menu-hover);color:var(--text)}.mode-agent-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t2c-row [data-cmenu],.t2c-row .t2c-pill,.t2c-row .composer-chip,.t2c-pill-label,.t2c-row .composer-chip .pill-marquee{min-width:0}.t2c-pill svg{flex-shrink:0}@container (max-width: 480px){.t2c-pill-label,.t2c-row .composer-chip .pill-marquee,.t2c-row .composer-chip .pill-ultra-tag{display:none}.mode-pill-btn.is-open .t2c-pill-label,.model-pill-btn.is-open .pill-marquee{display:block}.model-pill-btn.is-open .pill-ultra-tag{display:inline}}@container (max-width: 600px){.t2c-row:has(>.add-pill-wrap.is-open)>.t2c-capsule-peer:not(.add-pill-wrap),.t2c-row:has(>.mode-pill-wrap.is-open)>.t2c-capsule-peer:not(.mode-pill-wrap),.t2c-row:has(>.model-pill-wrap.is-open)>.t2c-capsule-peer:not(.model-pill-wrap),.t2c-row:has(>.add-pill-wrap.is-open)>.t2c-collapse-on-capsule-open,.t2c-row:has(>.mode-pill-wrap.is-open)>.t2c-collapse-on-capsule-open,.t2c-row:has(>.model-pill-wrap.is-open)>.t2c-collapse-on-capsule-open{display:none}}@media(prefers-reduced-motion:reduce){.t2c-pill.mode-pill-btn,.t2c-pill.add-pill-btn{transition:background var(--duration-fast, .15s)}.add-pill-plus,.add-pill-label,.add-pill-chevron{transition:none}.add-menu-sub{animation:none}}.t2c-ctxring{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}.t2c-ctxring-btn{display:inline-flex;padding:0;border:none;background:none;color:inherit;cursor:pointer}.t2c-ctxring svg{transform:rotate(-90deg)}.t2c-ctxring-track{fill:none;stroke:var(--overlay-light, rgba(127, 127, 127, .2));stroke-width:3}.t2c-ctxring-fill{fill:none;stroke:var(--accent-ink);stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset .35s var(--ease-out, ease)}.t2c-ctxring[data-warn] .t2c-ctxring-fill{stroke:var(--danger, #e0564b)}.t2c-ctxring-pop span[data-warn]{color:var(--danger, #e0564b)}.t2c-ctxring-pop{position:absolute;bottom:calc(100% + 8px);left:0;z-index:30;display:none;flex-direction:column;gap:7px;padding:11px 12px;width:300px;max-width:calc(100vw - 32px);box-sizing:border-box;background:var(--bg-card, var(--bg));border:var(--border-width, 1px) solid var(--border);border-radius:var(--radius-md, 12px);box-shadow:var(--card-shadow, 0 8px 28px rgba(0, 0, 0, .18));font-size:var(--ui-font-meta, 12px);font-family:var(--font-ui);color:var(--text-muted);text-align:left}.t2c-ctxring.is-open .t2c-ctxring-pop{display:flex}.t2c-cu-head{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;width:100%;padding:0;border:none;background:none;font:inherit;color:var(--text-muted);cursor:pointer}.t2c-cu-title{color:var(--text-muted)}.t2c-cu-num{margin-left:auto;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.t2c-ctxring .t2c-cu-chev{flex-shrink:0;color:var(--text-faint);transform:none;transition:transform .15s var(--ease-out, ease)}.t2c-cu-head[aria-expanded=true] .t2c-cu-chev{transform:rotate(90deg)}.t2c-cu-bar{display:flex;height:6px;border-radius:var(--radius-pill, 999px);overflow:hidden;background:var(--overlay-light, rgba(127, 127, 127, .16))}.t2c-cu-bar>span{flex-shrink:0;height:100%}.t2c-cu-bar>span+span:not(.t2c-cu-buffer){margin-left:1px}.t2c-cu-bar>.t2c-cu-buffer{margin-left:auto}.t2c-cu-buffer{background:repeating-linear-gradient(-45deg,var(--overlay-medium, rgba(127, 127, 127, .3)) 0 2px,transparent 2px 4px)}.t2c-cu-detail{display:flex;flex-direction:column;gap:6px}.t2c-cu-legend{max-height:clamp(140px,calc(100vh - 420px),360px);overflow-y:auto}.t2c-ctxring-pop .t2c-ctxinfo-files{max-height:120px;overflow-y:auto}.t2c-cu-legend{display:flex;flex-direction:column;gap:3px}.t2c-cu-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto 44px;align-items:center;gap:7px}.t2c-cu-row>i{width:9px;height:9px;border-radius:2px}.t2c-cu-row>i.is-free{border:var(--border-width, 1px) solid var(--border);box-sizing:border-box}.t2c-cu-row>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.t2c-cu-row>span:nth-child(n+3){text-align:right;font-variant-numeric:tabular-nums;color:var(--text-faint);white-space:nowrap}.t2c-cu-row.is-sub{font-size:var(--ui-font-caption, 11px)}.t2c-cu-row.is-sub>span:nth-child(2){padding-left:8px;color:var(--text-faint)}.t2c-cu-foot{display:flex;align-items:center;gap:8px}.t2c-cu-foot>.t2c-ctxring-compact{margin-left:auto}.t2c-ctxinfo-src{color:var(--text-faint);font-size:var(--ui-font-caption, 11px)}.t2c-ctxinfo-files{display:flex;flex-direction:column;gap:2px;padding-top:6px;border-top:var(--border-width, 1px) solid var(--border);font-size:var(--ui-font-caption, 11px)}.t2c-ctxinfo-label{color:var(--text-faint)}.t2c-ctxinfo-file{font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t2c-ctxinfo-file.dim{font-family:inherit;opacity:.6}.t2c-ctxring-compact{flex-shrink:0;padding:3px 9px;border:none;border-radius:var(--radius-pill, 999px);background:var(--overlay-light, rgba(127, 127, 127, .12));color:var(--text);font-size:var(--ui-font-caption, 11px);font-family:var(--font-ui);cursor:pointer}.t2c-ctxring-compact:hover{background:var(--overlay-medium, rgba(127, 127, 127, .2))}.t2c-cu-limits{display:flex;flex-direction:column;gap:8px;padding-top:9px;border-top:var(--border-width, 1px) solid var(--border)}.t2c-cu-limits-title{display:flex;align-items:center;gap:6px;color:var(--text-faint)}.t2c-cu-limit{display:flex;flex-direction:column;gap:5px}.t2c-cu-limit-line{display:flex;align-items:baseline;gap:8px;white-space:nowrap;font-variant-numeric:tabular-nums}.t2c-cu-limit-line>:nth-child(2){margin-left:auto}.t2c-cu-limit-name{color:var(--text)}.t2c-cu-limit-reset{color:var(--text-faint);overflow:hidden;text-overflow:ellipsis}.t2c-cu-limit .t2c-cu-bar{height:5px}.t2c-cu-limit .t2c-cu-bar>span{background:var(--model-tag-blue)}.t2c-cu-limit .t2c-cu-bar[data-warn]>span{background:var(--danger, #e0564b)}.t2c-iconbtn.recording{color:var(--danger, #e5484d);animation:t2c-mic-pulse 1s ease-in-out infinite}@keyframes t2c-mic-pulse{0%,to{opacity:1}50%{opacity:.45}}.t2c-voicebar{display:flex;align-items:center;gap:8px;flex:1;min-width:0;animation:t2c-voicebar-in .22s var(--ease-out, ease)}@keyframes t2c-voicebar-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:none}}.t2c-voicewave{flex:1;min-width:0;height:30px;display:block}.t2c-voicelabel{flex-shrink:0;font-size:var(--ui-font-meta, 12px);color:var(--text-muted);font-family:var(--font-ui)}.t2c-voicetime{flex-shrink:0;min-width:34px;text-align:right;font-size:var(--ui-font-caption, 11px);color:var(--text-muted);font-variant-numeric:tabular-nums}.t2c-voicestop{flex-shrink:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-pill, 999px);background:var(--overlay-light, rgba(127, 127, 127, .1));color:var(--text);cursor:pointer;transition:background var(--duration-fast, .15s)}.t2c-voicestop:hover{background:var(--overlay-medium, rgba(127, 127, 127, .2))}.t2c-steer{display:flex;flex-direction:column;gap:2px;padding:6px 10px;border-radius:var(--radius-md, 12px);background:var(--overlay-light, rgba(127, 127, 127, .07));border:1px dashed var(--overlay-medium, rgba(127, 127, 127, .16));animation:t2c-steer-in .18s var(--ease-out, ease)}@keyframes t2c-steer-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.t2c-steer{animation:none}}.t2c-steer-item{display:flex;align-items:center;gap:7px;min-width:0;padding:2px 0}.t2c-steer-ic{flex-shrink:0;color:var(--text-faint, var(--text-muted))}.t2c-steer-text{flex:1;min-width:0;font-size:var(--ui-font-meta, 12px);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t2c-steer-x{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--text-faint, var(--text-muted));padding:2px;line-height:0;border-radius:var(--radius-pill, 999px)}.t2c-steer-x:hover{color:var(--text);background:var(--overlay-light, rgba(127, 127, 127, .1))}.t2c-steer-foot{display:flex;align-items:center;gap:8px;margin-top:2px}.t2c-steer-hint{flex:1;min-width:0;font-size:var(--ui-font-caption, 11px);color:var(--text-faint, var(--text-muted));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t2c-steer-now{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:none;border-radius:var(--radius-pill, 999px);cursor:pointer;background:var(--overlay-light, rgba(127, 127, 127, .12));color:var(--text);font-size:var(--ui-font-caption, 11px);font-family:var(--font-ui);transition:background var(--duration-fast, .15s)}.t2c-steer-now:hover{background:var(--overlay-medium, rgba(127, 127, 127, .2))}@container (max-width: 360px){.t2c-refrow{margin-bottom:6px}.t2c-reflabel{display:none}.t2c-refrow .attach-chip{min-width:0;max-width:min(100%,240px)}.t2c-stop{width:32px;padding-inline:0;justify-content:center}.t2c-stop-label{display:none}}.t2c-pill.mode-pill-btn[data-danger]{color:var(--danger);background:var(--danger-light)}.t2c-pill.mode-pill-btn[data-danger]:hover,.t2c-pill.mode-pill-btn[data-danger].is-open{background:color-mix(in srgb,var(--danger) 16%,transparent)}.t2c-apv{position:relative;display:flex;flex-direction:column;padding:4px 12px 10px;background:var(--t2c-card-surface, var(--bg-card, var(--bg)));border:var(--border-width, 1px) solid var(--border);border-radius:var(--radius-md, 12px);box-shadow:var(--card-shadow, 0 6px 22px rgba(0, 0, 0, .08));animation:t2c-steer-in .18s var(--ease-out, ease)}@media(prefers-reduced-motion:reduce){.t2c-apv{animation:none}}.t2c-apv-head{display:flex;align-items:center;gap:6px;width:100%;padding:6px 0;border:none;background:none;cursor:pointer;text-align:left;color:var(--text-muted);font-family:var(--font-ui);font-size:var(--ui-font-meta, 12px)}.t2c-apv-ic{flex-shrink:0;color:var(--accent-ink)}.t2c-apv-title{flex:1;min-width:0;font-weight:600;color:var(--text)}.t2c-apv-chev{flex-shrink:0;transition:transform var(--duration-fast, .15s)}.t2c-apv-chev.is-collapsed{transform:rotate(-90deg)}.t2c-apv-head:has(.is-collapsed){padding-bottom:0}.t2c-apv-body{max-height:min(40vh,400px);overflow-y:auto}.t2c-apv .t2c-apv-body>.approval-card,.t2c-apv .t2c-apv-body>.inquiry-card,.t2c-apv .t2c-apv-body>.plan-decision{border-color:transparent;box-shadow:none;background:transparent;padding:0;opacity:1}.t2c-apv .approval-card .approval-title{margin-bottom:6px}.t2c-apv .approval-diff{max-height:min(24vh,220px)}.t2c-apv .approval-actions{position:sticky;bottom:0;z-index:1;padding:8px 0 2px;margin-top:-2px;background:var(--t2c-card-surface, var(--bg-card, var(--bg)));transition:opacity var(--duration-fast, .15s)}.t2c-apv-body:is(.is-arming,.is-sent) :is(.approval-actions,.inquiry-opts,.inquiry-input){pointer-events:none;opacity:.55}.t2c-apv .inquiry-opts,.t2c-apv .inquiry-input{transition:opacity var(--duration-fast, .15s)}.t2c-apv .plan-decision-title{display:flex;align-items:center;gap:7px;margin-bottom:8px;font-size:var(--ui-font-body, 13px);font-weight:600;color:var(--text)}.t2c-apv .plan-decision-title svg{flex-shrink:0;color:var(--accent-ink)}.t2c-apv textarea.plan-edit{display:block;width:100%;box-sizing:border-box;min-height:140px;max-height:30vh;margin-bottom:8px;padding:8px 10px;font-family:var(--font-mono);font-size:var(--ui-font-meta, 12px);color:var(--text);background:var(--bg-card);border:var(--border-width, 1px) solid var(--border);border-radius:var(--radius-sm, 8px);resize:vertical;outline:none}.t2c-apv textarea.plan-edit:focus{border-color:var(--accent-ink)}.t2c-apv .plan-decision .inquiry-input{margin-top:8px}.t2c-apv-from{font-size:var(--ui-font-caption, 11px);color:var(--text-faint, var(--text-muted));margin-bottom:2px}.t2c-apv-rest{display:flex;flex-direction:column;gap:1px;max-height:108px;overflow-y:auto;margin:0 -6px 8px;padding-bottom:6px;border-bottom:var(--border-width, 1px) solid var(--overlay-medium, rgba(127, 127, 127, .16))}.t2c-apv-row{display:flex;align-items:center;gap:8px;min-width:0;width:100%;padding:4px 6px;border:none;border-radius:var(--radius-sm, 8px);background:none;cursor:pointer;text-align:left;font-family:var(--font-ui);font-size:var(--ui-font-meta, 12px);color:var(--text-muted)}.t2c-apv-row:hover{background:var(--overlay-light, rgba(127, 127, 127, .1));color:var(--text)}.t2c-apv-row-from{flex-shrink:0;color:var(--text-faint, var(--text-muted))}.t2c-apv-row-name{flex-shrink:0;font-weight:600;color:var(--text)}.t2c-apv-row-preview{flex:1;min-width:0;font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t2c-apv-row-ic{flex-shrink:0;color:var(--accent-ink)}.t2c-apv-row-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-chat-picker{display:none}@container (max-width: 520px){.t2-chat-col .newchat-pickers{flex-direction:row;align-items:stretch;gap:8px;padding-inline:12px}.newchat-pickers>.engine-picker{flex:1 1 0;min-width:0;animation:none}.newchat-pickers>.engine-picker>.engine-picker-bar,.newchat-pickers>.engine-picker>.engine-picker-hint{display:none}.newchat-pickers .compact-chat-picker{position:relative;display:flex;align-items:center;gap:7px;width:100%;min-width:0;min-height:38px;padding:8px 10px;box-sizing:border-box;border-radius:var(--radius-md, 12px);background:var(--bg-card);color:var(--text);font-size:var(--ui-font-body, 13px);line-height:1.4;cursor:pointer}.compact-chat-picker:hover{background:var(--overlay-medium)}.compact-chat-picker:focus-within{outline:var(--focus-ring) solid var(--accent-ink);outline-offset:2px}.compact-chat-picker-kind{flex:none;color:var(--text-muted);font-size:var(--ui-font-meta, 12px)}.compact-chat-picker-icon{display:inline-flex;flex:none}.compact-chat-picker-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.compact-chat-picker>svg{flex:none;color:var(--text-muted)}.compact-chat-picker select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}}@container (max-width: 360px){.t2-chat-col .newchat-pickers{flex-direction:column;gap:6px}}.agent-avatar-initial{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:600;line-height:1;-webkit-user-select:none;user-select:none}.agent-avatar-glyph{display:block}.agent-avatar-fill{width:100%;height:100%;container-type:size;color:var(--text-muted)}.agent-avatar-fill .agent-avatar-glyph{font-size:42cqmin;font-weight:500}.agent-avatar-initial.agent-avatar-mini,img.agent-avatar-mini{display:inline-flex;flex:0 0 auto;width:16px;height:16px;border-radius:var(--radius-sm, 6px);object-fit:cover}.agent-avatar-initial.agent-avatar-mini{background:var(--overlay-medium);color:var(--text-muted);font-size:var(--ui-font-caption, 11px)}.agent-select-strip .agent-pill-index{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:14px;height:14px;margin-right:4px;padding:0 3px;border-radius:var(--radius-pill, 999px);background:var(--overlay-medium);color:var(--text-muted);font-size:var(--ui-font-caption, 11px);font-weight:600;line-height:1}.agent-select-strip .agent-select-sep{flex:none;width:1px;height:20px;margin:0 4px;background:var(--border)}.t2d-sections{display:flex;flex-direction:column;margin-top:4.5px}.t2d-toggle{gap:6px}.t2d-name{flex:0 1 auto}.t2d-status{flex:0 1 auto;min-width:0;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ui-font-caption, 11px);font-weight:400;letter-spacing:0;text-transform:none;color:var(--text-faint, var(--text-muted))}.t2d-status[data-tone=warn]{color:var(--warning, var(--text-muted))}.t2d-emoji{display:inline-flex;width:1em;justify-content:center;font-size:var(--ui-font-body, 13px);line-height:1}.t2d-empty{padding:4.5px 6px 6px 30px;color:var(--text-faint, var(--text-muted));font-size:var(--ui-font-meta, 12px)}@media(pointer:coarse){.t2d-section .t2s-srow-menu{opacity:.7}}.runloc-pill:disabled{cursor:default;opacity:1}.runloc-status{flex:none;font-size:var(--ui-font-caption, 11px);color:var(--text-faint, var(--text-muted));white-space:nowrap}.runloc-status[data-tone=warn]{color:var(--warning, var(--text-muted))}.newchat-projectbar-inner:has(>.runloc),.hp-projectbar:has(>.runloc){flex-wrap:wrap;gap:6px}